Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 359689

Summary: JPAAdvancedTestModel failed to setup with Foreign key violation on Sybase
Product: z_Archived Reporter: Praba Vijayaratnam <prabaharan.vijayaratnam>
Component: EclipselinkAssignee: Nobody - feel free to take it <nobody>
Status: NEW --- QA Contact:
Severity: normal    
Priority: P3 CC: martin.grebac, tom.ware
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard: sybase

Description Praba Vijayaratnam CLA 2011-10-03 07:39:08 EDT
On clean schema, JPAAdvancedTestModel (jpa out of container test run) throws foreign key constraint violation error for both Jconnect7 and DataDirect on Sybase 15.5.
Eclipse Persistence Services - 2.4.0.v20110929-r10189
--------------------

Internal Exception: java.sql.SQLException: Foreign key constraint violation occurred, dbname = 'qa4', table name = 'CMP3_EMPLOYEE', constraint name = 'CMP3_EMPLOYEE_ADDR_ID'. Error Code: 546 Call: INSERT INTO CMP3_EMPLOYEE (EMP_ID, F_NAME, GENDER, L_NAME, PAY_SCALE, ROOM_NUM, STATUS, VERSION, START_TIME, END_TIME, START_OVERTIME, END_OVERTIME, FORMER_COMPANY, FORMER_END_DATE, FORMER_START_DATE, END_DATE, START_DATE, ADDR_ID, DEPT_ID, MANAGER_EMP_ID, HUGE_PROJ_ID) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) bind => [21 parameters bound] Query: InsertObjectQuery(Employee: 160)

Local Exception Stack:
Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.4.0.v20110929-r10189): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: Foreign key constraint violation occurred, dbname = 'qa4', table name = 'CMP3_EMPLOYEE', constraint name = 'CMP3_EMPLOYEE_ADDR_ID'.

Error Code: 546
Call: INSERT INTO CMP3_EMPLOYEE (EMP_ID, F_NAME, GENDER, L_NAME, PAY_SCALE, ROOM_NUM, STATUS, VERSION, START_TIME, END_TIME, START_OVERTIME, END_OVERTIME, FORMER_COMPANY, FORMER_END_DATE, FORMER_START_DATE, END_DATE, START_DATE, ADDR_ID, DEPT_ID, MANAGER_EMP_ID, HUGE_PROJ_ID) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
bind => [21 parameters bound]
Query: InsertObjectQuery(Employee: 160)
at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:324)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:840)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeNoSelect(DatabaseAccessor.java:906)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:592)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:535)
at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:1716)
at org.eclipse.persistence.sessions.server.ClientSession.executeCall(ClientSession.java:253)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:207)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.insertObject(DatasourceCallQueryMechanism.java:328)
at org.eclipse.persistence.internal.queries.StatementQueryMechanism.insertObject(StatementQueryMechanism.java:162)
at org.eclipse.persistence.internal.queries.StatementQueryMechanism.insertObject(StatementQueryMechanism.java:177)
at org.eclipse.persistence.internal.queries.DatabaseQueryMechanism.insertObjectForWrite(DatabaseQueryMechanism.java:472)
at org.eclipse.persistence.queries.InsertObjectQuery.executeCommit(InsertObjectQuery.java:80)
at org.eclipse.persistence.queries.InsertObjectQuery.executeCommitWithChangeSet(InsertObjectQuery.java:90)
at org.eclipse.persistence.internal.queries.DatabaseQueryMechanism.executeWriteWithChangeSet(DatabaseQueryMechanism.java:287)
at org.eclipse.persistence.queries.WriteObjectQuery.executeDatabaseQuery(WriteObjectQuery.java:58)
at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:844)
at org.eclipse.persistence.queries.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:743)
at org.eclipse.persistence.queries.ObjectLevelModifyQuery.executeInUnitOfWorkObjectLevelModifyQuery(ObjectLevelModifyQuery.java:108)
at org.eclipse.persistence.queries.ObjectLevelModifyQuery.executeInUnitOfWork(ObjectLevelModifyQuery.java:85)
at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2871)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1515)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1497)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1448)
at org.eclipse.persistence.internal.sessions.CommitManager.commitNewObjectsForClassWithChangeSet(CommitManager.java:224)
at org.eclipse.persistence.internal.sessions.CommitManager.commitAllObjectsForClassWithChangeSet(CommitManager.java:191)
at org.eclipse.persistence.internal.sessions.CommitManager.commitAllObjectsWithChangeSet(CommitManager.java:136)
at org.eclipse.persistence.internal.sessions.AbstractSession.writeAllObjectsWithChangeSet(AbstractSession.java:3798)
at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitToDatabase(UnitOfWorkImpl.java:1415)
at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitToDatabaseWithChangeSet(UnitOfWorkImpl.java:1505)
at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitRootUnitOfWork(UnitOfWorkImpl.java:1325)
at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commit(UnitOfWorkImpl.java:1087)
at org.eclipse.persistence.testing.models.jpa.advanced.EmployeePopulator.persistExample(EmployeePopulator.java:956)
at org.eclipse.persistence.testing.tests.jpa.advanced.JPAAdvancedTestModel.setup(JPAAdvancedTestModel.java:37)
at org.eclipse.persistence.testing.framework.TestModel.setupEntity(TestModel.java:417)
at org.eclipse.persistence.testing.framework.TestModel.execute(TestModel.java:203)
at org.eclipse.persistence.testing.framework.TestCollection.run(TestCollection.java:313)
at org.eclipse.persistence.testing.framework.TestExecutor.execute(TestExecutor.java:248)
at org.eclipse.persistence.testing.framework.TestModel.execute(TestModel.java:211)
at org.eclipse.persistence.testing.framework.TestCollection.run(TestCollection.java:313)
Caused by: java.sql.SQLException: Foreign key constraint violation occurred, dbname = 'qa4', table name = 'CMP3_EMPLOYEE', constraint name = 'CMP3_EMPLOYEE_ADDR_ID'.

at com.sybase.jdbc4.jdbc.SybConnection.getAllExceptions(Unknown Source)
Comment 1 Eclipse Webmaster CLA 2022-06-09 10:27:58 EDT
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink