persistence@glassfish.java.net

Re: 2 failures of entity-persistence-tests on Derby

From: Wonseok Kim <guruwons_at_gmail.com>
Date: Sun, 11 Mar 2007 10:55:42 +0900

Hello, Marina

Of course I'm running on Derby Network Server. :-)

Yes, it's strange the same exception is being thrown as the issue 1451 with
1451 fix.
Here is the root cause exception:

oracle.toplink.essentials.exceptions.DatabaseException
Internal Exception: org.apache.derby.client.am.SqlException: Syntax error:
Encountered "NULL" at line 1, column 111.Error Code: -1
Call:INSERT INTO session.TL_CMP3_EMPLOYEE (EMP_ID, VERSION, ADDR_ID,
ROOM_NUM) SELECT t0.EMP_ID, (t0.VERSION + 1), NULL, t1.SALARY FROM
CMP3_EMPLOYEE t0, CMP3_SALARY t1 WHERE ((t0.F_NAME =
'testUpdateUsingTempStorage') AND (t1.EMP_ID = t0.EMP_ID))
Query:UpdateAllQuery()
    at oracle.toplink.essentials.exceptions.DatabaseException.sqlException(
DatabaseException.java:295)
    at
oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect
(DatabaseAccessor.java:639)
    at
oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.executeNoSelect
(DatabaseAccessor.java:688)
    at
oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.basicExecuteCall
(DatabaseAccessor.java:477)
    at
oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.executeCall
(DatabaseAccessor.java:437)
    at
oracle.toplink.essentials.internal.sessions.AbstractSession.executeCall(
AbstractSession.java:675)
    at
oracle.toplink.essentials.internal.sessions.IsolatedClientSession.executeCall
(IsolatedClientSession.java:135)
    at
oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeCall
(DatasourceCallQueryMechanism.java:213)
    at
oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.updateAllUsingTempTables
(DatasourceCallQueryMechanism.java:749)
    at
oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.updateAll
(DatasourceCallQueryMechanism.java:711)
    at
oracle.toplink.essentials.queryframework.UpdateAllQuery.executeDatabaseQuery
(UpdateAllQuery.java:165)
    at oracle.toplink.essentials.queryframework.DatabaseQuery.execute(
DatabaseQuery.java:609)
    at
oracle.toplink.essentials.queryframework.DatabaseQuery.executeInUnitOfWork(
DatabaseQuery.java:536)
    at
oracle.toplink.essentials.queryframework.ModifyAllQuery.executeInUnitOfWork(
ModifyAllQuery.java:153)
    at
oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.internalExecuteQuery
(UnitOfWorkImpl.java:2219)
    at
oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery(
AbstractSession.java:937)
    at
oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery(
AbstractSession.java:909)
    at
oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.executeUpdate(
EJBQueryImpl.java:372)
    at
oracle.toplink.essentials.testing.tests.cmp3.advanced.EntityManagerJUnitTestSuite.internalUpdateUsingTempStorage
(EntityManagerJUnitTestSuite.java:3204)
Caused by: org.apache.derby.client.am.SqlException: Syntax error:
Encountered "NULL" at line 1, column 111.
    at org.apache.derby.client.am.Statement.completeSqlca(Unknown Source)
    at org.apache.derby.client.am.Statement.completeExecuteImmediate(Unknown
Source)
    at org.apache.derby.client.net.NetStatementReply.parseEXCSQLIMMreply(Unknown
Source)
    at org.apache.derby.client.net.NetStatementReply.readExecuteImmediate(Unknown
Source)
    at org.apache.derby.client.net.StatementReply.readExecuteImmediate(Unknown
Source)
    at org.apache.derby.client.net.NetStatement.readExecuteImmediate_(Unknown
Source)
    at org.apache.derby.client.am.Statement.readExecuteImmediate(Unknown
Source)
    at org.apache.derby.client.am.Statement.flowExecute(Unknown Source)
    at org.apache.derby.client.am.Statement.executeUpdateX(Unknown Source)
    at org.apache.derby.client.am.Statement.executeUpdate(Unknown Source)
    at
oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect
(DatabaseAccessor.java:630)


On 3/11/07, Marina Vatkina <Marina.Vatkina_at_sun.com> wrote:
>
> This is really strange as the issue 1451 was a fix for Derby.
>
> Wonseok, are you using an embedded or a server mode for Derby?
>
> thanks,
> -marina
>
> Wonseok Kim wrote:
> > Hi, Andrei and Chris
> >
> > On Derby I'm hitting 2 failures which seem to be derived from recent
> > changes.
> >
> > Testcase: testUpdateUsingTempStorageWithParameter took 0.15 sec
> > FAILED
> > Exception thrown: class
> > oracle.toplink.essentials.exceptions.DatabaseException
> > junit.framework.AssertionFailedError: Exception thrown: class
> > oracle.toplink.essentials.exceptions.DatabaseException
> > at
> >
> oracle.toplink.essentials.testing.tests.cmp3.advanced.EntityManagerJUnitTestSuite.internalUpdateUsingTempStorage
> > (EntityManagerJUnitTestSuite.java:3213)
> > at
> >
> oracle.toplink.essentials.testing.tests.cmp3.advanced.EntityManagerJUnitTestSuite.testUpdateUsingTempStorageWithParameter
> (EntityManagerJUnitTestSuite.java:3159)
> > at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> > at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> > at junit.extensions.TestSetup.run(TestSetup.java:23)
> >
> > Testcase: unknown took 0 sec
> > FAILED
> > Warning, RAW type used for Primary keys only supported on Oracle
> > junit.framework.AssertionFailedError: Warning, RAW type used for Primary
> > keys only supported on Oracle
> > at
> >
> oracle.toplink.essentials.testing.tests.cmp3.datatypes.arraypks.PrimitiveArrayPKCachingJUnitTestCase$1.setUp
> > (PrimitiveArrayPKCachingJUnitTestCase.java:46)
> > at junit.extensions.TestSetup$1.protect(TestSetup.java:18)
> > at junit.extensions.TestSetup.run(TestSetup.java:23)
> >
> > The first test was added with the fix of issue 1451 by Andrei. Is this
> > test expected to work on Derby?
> >
> > The second test appears to be intended only for Oracle, but which was
> > added to FullRegressionTestSuite like below. Shouldn't this test skip in
> > case of other database?
> >
> http://fisheye5.cenqua.com/changelog/glassfish/entity-persistence-tests?cs=MAIN:chris_delahunt:20070309151945
> >
> > Thanks,
> > -Wonseok
>