I filed an issue.
https://glassfish.dev.java.net/issues/show_bug.cgi?id=2589
I think we need to delve into each test and find what's wrong with MySQL
platform. If required, separate issue can be filed.
-Wonseok
On 3/10/07, Tom Ware <tom.ware_at_oracle.com> wrote:
>
> Hi,
>
> I suspect we should do some more JPA testing on MySQL and make some
> updates to the Platform. The reason some platforms have issues is that
> the platforms were part of the original TopLink code and were initially
> tested prior to the JPA implementation. Not all of these platforms have
> yet been cerified on JPA - and as a result some of the extensions we
> made to implement JPA may not have been fully tested on those platforms.
>
> I suggest you enter a bug for the issues you are seeing on MySQL. I
> beleive MySQL should be one of the platforms we certify on fairly soon
> due to its popularity.
>
> -Tom
>
> Michael Bouschen wrote:
>
> >Hi Wonseok,
> >
> >I see a lot of failures come from JPQL queries using the TRIM function.
> >It looks like we have to double check what kind of TRIM support MySQL
> >provides and maybe we need to adapt the MySQL database platform
> >accordingly. What do you think?
> >
> >Regards Michael
> >
> >
> >
> >>Hi Tom, Michael, and others
> >>
> >>I'm trying to run latest entity-persistence-tests on MySQL database,
> >>but I'm having problems like below. Is this known issue?
> >>
> >>MySQL version: 5.0.24a, Driver: Connector/J 5.0.5
> >>
> >>test:
> >> [echo] Running test with mysql.properties on
> >>jdbc:mysql://localhost/test
> >> [junit] Running
> >>oracle.toplink.essentials.testing.tests.FullRegressionTestSuite
> >> [junit] Internal Exception:
> >>com.mysql.jdbc.exceptions.MySQLSyntaxErrorException : You have an
> >>error in your SQL syntax; check the manual that corresponds to your
> >>MySQL server version for the right syntax to use near ' 'M') =
> >>'anotick')' at line 1Error Code: 1064
> >> [junit] Call:SELECT CUST_ID, NAME, CUST_VERSION, CITY FROM
> >>CMP3_CUSTOMER WHERE (LTRIM(CITY, ?) = ?)
> >> [junit] bind => [M, anotick]
> >> [junit]
> >>Query:ReadAllQuery(
> oracle.toplink.essentials.testing.models.cmp3.relationships.Customer))
> >> [junit] [TopLink Info]: 2007.03.09
> >>09:00:34.042--ServerSession(32316171)--TopLink, version: Oracle
> >>TopLink Essentials - 2.0 (Build SNAPSHOT (03/09/2007))
> >> [junit] [TopLink Info]: 2007.03.09
> >>09:00:34.068--ServerSession(4212068)--TopLink, version: Oracle TopLink
> >>Essentials - 2.0 (Build SNAPSHOT (03/09/2007))
> >> [junit] Internal Exception:
> >>com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error
> >>in your SQL syntax; check the manual that corresponds to your MySQL
> >>server version for the right syntax to use near ' 'M') = 'anotick')'
> >>at line 1Error Code: 1064
> >> [junit] Call:SELECT CUST_ID, CITY, NAME, CUST_VERSION FROM
> >>CMP3_FIELDACCESS_CUSTOMER WHERE (LTRIM(CITY, ?) = ?)
> >> [junit] bind => [M, anotick]
> >> [junit]
> >>Query:ReadAllQuery(
> oracle.toplink.essentials.testing.models.cmp3.fieldaccess.relationships.Customer
> >>))
> >> [junit] Internal Exception:
> >>com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException:
> >>Duplicate entry '518' for key 1Error Code: 1062
> >> [junit] Call:INSERT INTO TL_CMP3_EMPLOYEE (EMP_ID, VERSION,
> >>F_NAME) SELECT t2.EMP_ID, (t0.VERSION + ?), ? FROM CMP3_SALARY t3,
> >>CMP3_EMPLOYEE t2, CMP3_SALARY t1, CMP3_EMPLOYEE t0 WHERE (((t2.F_NAME
> >>= ?) AND (t3.EMP_ID = t2.EMP_ID)) AND (t1.EMP_ID = t0.EMP_ID))
> >> [junit] bind => [1, CHANGED, Bob]
> >> [junit] Query:UpdateAllQuery())
> >> [junit] Tests run: 612, Failures: 7, Errors: 3, Time elapsed:
> >>36.15 sec
> >> [junit] Test
> >>oracle.toplink.essentials.testing.tests.FullRegressionTestSuite FAILED
> >>
> >>Testsuite:
> oracle.toplink.essentials.testing.tests.FullRegressionTestSuite
> >>Tests run: 612, Failures: 7, Errors: 3, Time elapsed: 36.15 sec
> >>------------- Standard Output ---------------
> >>[TopLink Info]: 2007.03.09 09:00:34.068--ServerSession
> >>(4212068)--TopLink, version: Oracle TopLink Essentials - 2.0 (Build
> >>SNAPSHOT (03/09/2007))
> >>------------- ---------------- ---------------
> >>
> >>Testcase: testPersistRemoved took 0.371 sec
> >> FAILED
> >>i=10: Transaction secondFlush RolledBack employeeReadFromCache ==
> >>null; employeeReadFromDB == null; i=16: firstFlush secondFlush
> >>thirdFlush RolledBack employeeReadFromDB != null; i=20: firstFlush
> >>thirdFlush RolledBack employeeReadFromDB != null; i=22: firstFlush
> >>RolledBack employeeReadFromDB != null; i=24: secondFlush thirdFlush
> >>RolledBack employeeReadFromDB != null; i=28: thirdFlush RolledBack
> >>employeeReadFromDB != null;
> >>junit.framework.AssertionFailedError: i=10: Transaction secondFlush
> >>RolledBack employeeReadFromCache == null; employeeReadFromDB == null;
> >>i=16: firstFlush secondFlush thirdFlush RolledBack employeeReadFromDB
> >>!= null; i=20: firstFlush thirdFlush RolledBack employeeReadFromDB !=
> >>null; i=22: firstFlush RolledBack employeeReadFromDB != null; i=24:
> >>secondFlush thirdFlush RolledBack employeeReadFromDB != null; i=28:
> >>thirdFlush RolledBack employeeReadFromDB != null;
> >> at
> >>
> oracle.toplink.essentials.testing.tests.cmp3.advanced.EntityManagerJUnitTestSuite.testPersistRemoved
> (EntityManagerJUnitTestSuite.java:849)
> >> 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: testExtendedPersistenceContext took 0.085 sec
> >> FAILED
> >>empNew is in the db after the third transaction rolled back
> >>junit.framework.AssertionFailedError: empNew is in the db after the
> >>third transaction rolled back
> >> at
> >>
> oracle.toplink.essentials.testing.tests.cmp3.advanced.EntityManagerJUnitTestSuite.testExtendedPersistenceContext
> >>(EntityManagerJUnitTestSuite.java:1466)
> >> 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)
> >>
> >>Testcase: testLeftTrimWithTrimChar took 0.116 sec
> >> Caused an ERROR
> >>
> >>Internal Exception:
> >>com.mysql.jdbc.exceptions.MySQLSyntaxErrorException : You have an
> >>error in your SQL syntax; check the manual that corresponds to your
> >>MySQL server version for the right syntax to use near ' 'M') =
> >>'anotick')' at line 1Error Code: 1064
> >>Call:SELECT CUST_ID, NAME, CUST_VERSION, CITY FROM CMP3_CUSTOMER WHERE
> >>(LTRIM(CITY, ?) = ?)
> >> bind => [M, anotick]
> >>Query:ReadAllQuery(
> oracle.toplink.essentials.testing.models.cmp3.relationships.Customer)
> >>Local Exception Stack:
> >>Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0 (Build
> >>SNAPSHOT (03/09/2007))):
> >>oracle.toplink.essentials.exceptions.DatabaseException
> >>Internal Exception:
> >>com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error
> >>in your SQL syntax; check the manual that corresponds to your MySQL
> >>server version for the right syntax to use near ' 'M') = 'anotick')'
> >>at line 1Error Code: 1064
> >>Call:SELECT CUST_ID, NAME, CUST_VERSION, CITY FROM CMP3_CUSTOMER WHERE
> >>(LTRIM(CITY, ?) = ?)
> >> bind => [M, anotick]
> >>Query:ReadAllQuery(
> oracle.toplink.essentials.testing.models.cmp3.relationships.Customer)
> >> at
> >>oracle.toplink.essentials.exceptions.DatabaseException.sqlException(
> DatabaseException.java:303)
> >> at
> >>
> oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.basicExecuteCall
> (DatabaseAccessor.java:551)
> >>
> >> at
> >>
> oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.executeCall
> (DatabaseAccessor.java:437)
> >> at
> >>oracle.toplink.essentials.threetier.ServerSession.executeCall(
> ServerSession.java:465)
> >> at
> >>
> oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeCall
> (DatasourceCallQueryMechanism.java:213)
> >> at
> >>
> oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeCall
> >>(DatasourceCallQueryMechanism.java:199)
> >> at
> >>
> oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeSelectCall
> (DatasourceCallQueryMechanism.java:270)
> >> at
> >>
> oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.selectAllRows
> >>(DatasourceCallQueryMechanism.java:600)
> >> at
> >>
> oracle.toplink.essentials.internal.queryframework.ExpressionQueryMechanism.selectAllRowsFromTable
> (ExpressionQueryMechanism.java:2217)
> >> at
> >>
> oracle.toplink.essentials.internal.queryframework.ExpressionQueryMechanism.selectAllRows
> >>(ExpressionQueryMechanism.java:2195)
> >> at
> >>
> oracle.toplink.essentials.queryframework.ReadAllQuery.executeObjectLevelReadQuery
> (ReadAllQuery.java:302)
> >> at
> >>
> oracle.toplink.essentials.queryframework.ObjectLevelReadQuery.executeDatabaseQuery
> >>(ObjectLevelReadQuery.java:709)
> >> at
> >>oracle.toplink.essentials.queryframework.DatabaseQuery.execute(
> DatabaseQuery.java:609)
> >> at
> >>oracle.toplink.essentials.queryframework.ObjectLevelReadQuery.execute(
> ObjectLevelReadQuery.java
> >>:677)
> >> at
> >>
> oracle.toplink.essentials.internal.sessions.AbstractSession.internalExecuteQuery
> (AbstractSession.java:1815)
> >> at
> >>oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery
> (AbstractSession.java
> >>:937)
> >> at
> >>oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery
> (AbstractSession.java:894)
> >> at
> >>
> oracle.toplink.essentials.testing.tests.cmp3.relationships.ExpressionJUnitTestSuite.testLeftTrimWithTrimChar
> >>(ExpressionJUnitTestSuite.java:87)
> >>Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You
> >>have an error in your SQL syntax; check the manual that corresponds to
> >>your MySQL server version for the right syntax to use near ' 'M') =
> >>'anotick')' at line 1
> >> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
> >> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2941)
> >> at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1623)
> >> at com.mysql.jdbc.MysqlIO.sqlQueryDirect (MysqlIO.java:1715)
> >> at com.mysql.jdbc.Connection.execSQL(Connection.java:3249)
> >> at
> >>com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java
> :1268)
> >> at com.mysql.jdbc.PreparedStatement.executeQuery
> >>(PreparedStatement.java:1403)
> >> at
> >>
> oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.executeSelect
> (DatabaseAccessor.java:711)
> >> at
> >>
> oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.basicExecuteCall
> >>(DatabaseAccessor.java:486)
> >>
> >>Testcase: testLeftTrimWithTrimChar took 0.111 sec
> >> Caused an ERROR
> >>
> >>Internal Exception:
> >>com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error
> >>in your SQL syntax; check the manual that corresponds to your MySQL
> >>server version for the right syntax to use near ' 'M') = 'anotick')'
> >>at line 1Error Code: 1064
> >>Call:SELECT CUST_ID, CITY, NAME, CUST_VERSION FROM
> >>CMP3_FIELDACCESS_CUSTOMER WHERE (LTRIM(CITY, ?) = ?)
> >> bind => [M, anotick]
> >>Query:ReadAllQuery(
> oracle.toplink.essentials.testing.models.cmp3.fieldaccess.relationships.Customer
> >>)
> >>Local Exception Stack:
> >>Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0 (Build
> >>SNAPSHOT (03/09/2007))):
> >>oracle.toplink.essentials.exceptions.DatabaseException
> >>Internal Exception:
> >>com.mysql.jdbc.exceptions.MySQLSyntaxErrorException : You have an
> >>error in your SQL syntax; check the manual that corresponds to your
> >>MySQL server version for the right syntax to use near ' 'M') =
> >>'anotick')' at line 1Error Code: 1064
> >>Call:SELECT CUST_ID, CITY, NAME, CUST_VERSION FROM
> >>CMP3_FIELDACCESS_CUSTOMER WHERE (LTRIM(CITY, ?) = ?)
> >> bind => [M, anotick]
> >>Query:ReadAllQuery(
> oracle.toplink.essentials.testing.models.cmp3.fieldaccess.relationships.Customer
> )
> >> at
> >>oracle.toplink.essentials.exceptions.DatabaseException.sqlException(
> DatabaseException.java
> >>:303)
> >> at
> >>
> oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.basicExecuteCall
> (DatabaseAccessor.java:551)
> >> at
> >>
> oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.executeCall
> (DatabaseAccessor.java
> >>:437)
> >> at
> >>oracle.toplink.essentials.threetier.ServerSession.executeCall(
> ServerSession.java:465)
> >> at
> >>
> oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeCall
> (DatasourceCallQueryMechanism.java
> >>:213)
> >> at
> >>
> oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeCall
> (DatasourceCallQueryMechanism.java:199)
> >> at
> >>
> oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeSelectCall
> >>(DatasourceCallQueryMechanism.java:270)
> >> at
> >>
> oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.selectAllRows
> (DatasourceCallQueryMechanism.java:600)
> >> at
> >>
> oracle.toplink.essentials.internal.queryframework.ExpressionQueryMechanism.selectAllRowsFromTable
> >>(ExpressionQueryMechanism.java:2217)
> >> at
> >>
> oracle.toplink.essentials.internal.queryframework.ExpressionQueryMechanism.selectAllRows
> (ExpressionQueryMechanism.java:2195)
> >> at
> >>
> oracle.toplink.essentials.queryframework.ReadAllQuery.executeObjectLevelReadQuery
> >>(ReadAllQuery.java:302)
> >> at
> >>
> oracle.toplink.essentials.queryframework.ObjectLevelReadQuery.executeDatabaseQuery
> (ObjectLevelReadQuery.java:709)
> >> at oracle.toplink.essentials.queryframework.DatabaseQuery.execute(
> >>DatabaseQuery.java:609)
> >> at
> >>oracle.toplink.essentials.queryframework.ObjectLevelReadQuery.execute(
> ObjectLevelReadQuery.java:677)
> >> at
> >>
> oracle.toplink.essentials.internal.sessions.AbstractSession.internalExecuteQuery
> >>(AbstractSession.java:1815)
> >> at
> >>oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery
> (AbstractSession.java:937)
> >> at
> >>oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery
> (AbstractSession.java
> >>:894)
> >> at
> >>
> oracle.toplink.essentials.testing.tests.cmp3.fieldaccess.relationships.ExpressionJUnitTestSuite.testLeftTrimWithTrimChar
> (ExpressionJUnitTestSuite.java:87)
> >>Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException : You
> >>have an error in your SQL syntax; check the manual that corresponds to
> >>your MySQL server version for the right syntax to use near ' 'M') =
> >>'anotick')' at line 1
> >> at com.mysql.jdbc.SQLError.createSQLException (SQLError.java:936)
> >> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2941)
> >> at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1623)
> >> at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1715)
> >> at com.mysql.jdbc.Connection.execSQL(Connection.java:3249)
> >> at
> >>com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java
> :1268)
> >> at
> >>com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java
> >>:1403)
> >> at
> >>
> oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.executeSelect
> (DatabaseAccessor.java:711)
> >> at
> >>
> oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.basicExecuteCall
> (DatabaseAccessor.java
> >>:486)
> >>
> >>Testcase: testSelectPhoneNumberAreaCode took 0.004 sec
> >> FAILED
> >>SimpleSelectPhoneNumberAreaCode test failed !
> >>junit.framework.AssertionFailedError: SimpleSelectPhoneNumberAreaCode
> >>test failed !
> >> at
> >>
> oracle.toplink.essentials.testing.tests.ejb.ejbqltesting.JUnitEJBQLUnitTestSuite.testSelectPhoneNumberAreaCode
> (JUnitEJBQLUnitTestSuite.java:246)
> >> 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: testOrderByExpressionWithSelect took 0.005 sec
> >> FAILED
> >>OrderBy expression test failed: data validation error expected:<13>
> >>but was:<5>
> >>junit.framework.AssertionFailedError: OrderBy expression test failed:
> >>data validation error expected:<13> but was:<5>
> >> at
> >>
> oracle.toplink.essentials.testing.tests.ejb.ejbqltesting.JUnitEJBQLExamplesTestSuite.testOrderByExpressionWithSelect
> >>(JUnitEJBQLExamplesTestSuite.java:697)
> >> 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: testDeleteExpression took 0.003 sec
> >>Testcase: testComplexDeleteExpression took 0.004 sec
> >> FAILED
> >>Complex Delete Expression test failed: customer to delete not found
> >>expected:<1> but was:<0>
> >>junit.framework.AssertionFailedError: Complex Delete Expression test
> >>failed: customer to delete not found expected:<1> but was:<0>
> >> at
> >>
> oracle.toplink.essentials.testing.tests.ejb.ejbqltesting.JUnitEJBQLExamplesTestSuite.testComplexDeleteExpression
> >>(JUnitEJBQLExamplesTestSuite.java:731)
> >> 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: updateAllTest took 0.013 sec
> >>Testcase: namedQueryCloneTest took 0.004 sec
> >> FAILED
> >>Named query clone test failed: the first result should be 4
> >>expected:<3> but was:<4>
> >>junit.framework.AssertionFailedError : Named query clone test failed:
> >>the first result should be 4 expected:<3> but was:<4>
> >> at
> >>
> oracle.toplink.essentials.testing.tests.ejb.ejbqltesting.JUnitEJBQLExamplesTestSuite.namedQueryCloneTest
> (JUnitEJBQLExamplesTestSuite.java
> >>:840)
> >> 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: updateUnqualifiedAttributeInWhere took 0.568 sec
> >> Caused an ERROR
> >>
> >>Internal Exception:
> >>com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException:
> >>Duplicate entry '518' for key 1Error Code: 1062
> >>Call:INSERT INTO TL_CMP3_EMPLOYEE (EMP_ID, VERSION, F_NAME) SELECT
> >>t2.EMP_ID, (t0.VERSION + ?), ? FROM CMP3_SALARY t3, CMP3_EMPLOYEE t2,
> >>CMP3_SALARY t1, CMP3_EMPLOYEE t0 WHERE (((t2.F_NAME = ?) AND
> >>(t3.EMP_ID = t2.EMP_ID)) AND (t1.EMP_ID = t0.EMP_ID))
> >> bind => [1, CHANGED, Bob]
> >>Query:UpdateAllQuery()
> >>Local Exception Stack:
> >>Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0 (Build
> >>SNAPSHOT (03/09/2007))):
> >>oracle.toplink.essentials.exceptions.DatabaseException
> >>Internal Exception:
> >>com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException:
> >>Duplicate entry '518' for key 1Error Code: 1062
> >>Call:INSERT INTO TL_CMP3_EMPLOYEE (EMP_ID, VERSION, F_NAME) SELECT
> >>t2.EMP_ID, (t0.VERSION + ?), ? FROM CMP3_SALARY t3, CMP3_EMPLOYEE t2,
> >>CMP3_SALARY t1, CMP3_EMPLOYEE t0 WHERE ((( t2.F_NAME = ?) AND
> >>(t3.EMP_ID = t2.EMP_ID)) AND (t1.EMP_ID = t0.EMP_ID))
> >> bind => [1, CHANGED, Bob]
> >>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.ejb.ejbqltesting.JUnitEJBQLModifyTestSuite.updateUnqualifiedAttributeInWhere
> >>(JUnitEJBQLModifyTestSuite.java:320)
> >> 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)
> >>Caused by:
> >>com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException:
> >>Duplicate entry '518' for key 1
> >> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:931)
> >> at com.mysql.jdbc.MysqlIO.checkErrorPacket (MysqlIO.java:2941)
> >> at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1623)
> >> at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1715)
> >> at com.mysql.jdbc.Connection.execSQL(Connection.java:3249)
> >> at
> >>com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java
> :1268)
> >> at
> >>com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java
> :1541)
> >> at com.mysql.jdbc.PreparedStatement.executeUpdate(
> >>PreparedStatement.java:1455)
> >> at
> >>com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java
> :1440)
> >> at
> >>
> oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect
> (DatabaseAccessor.java
> >>:632)
> >>
> >>
> >>
> >>
>