persistence@glassfish.java.net

entity-persistence-test failure on derby

From: Michael Bouschen <Michael.Bouschen_at_Sun.COM>
Date: Fri, 08 Dec 2006 16:34:13 +0100

Hi,

I experience a failure with
EntityManagerJUnitTestSuite.testUpdateUsingTempStorage when running the
entity-persistence-test on derby:
Testcase: testUpdateUsingTempStorage took 0,125 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.testUpdateUsingTempStorage(EntityManagerJUnitTestSuite.java:3187)
        ...

On line 3181 test method testUpdateUsingTempStorage executes a bulk
update query:
  UPDATE Employee e set e.salary = e.roomNumber, e.roomNumber =
e.salary, e.address = null where e.firstName = '" + firstName + "'"
This results in a DatabaseException:
    [junit] Internal Exception: org.apache.derby.client.am.SqlException:
Syntax error: Encountered "NULL" at line 1, coumn 111.Error Code: -1
    [junit] Call:INSERT INTO session.TL_CMP3_EMPLOYEE (EMP_ID, VERSION,
ADDR_ID, ROOM_NUM) SELECT t0.EMP_ID, (t0.VERSIO + 1), NULL, t1.SALARY
FROM CMP3_EMPLOYEE t0, CMP3_SALARY t1 WHERE ((t0.F_NAME =
'testUpdateUsingTempStorage') AND (t1.MP_ID = t0.EMP_ID))

All the tests succeed when running on oracle. Any idea?

Regards Michael