Bug 274582 - testUpdateUsingTempStorageWithParameter failed on DB2
Summary: testUpdateUsingTempStorageWithParameter failed on DB2
Status: RESOLVED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Eclipselink (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: James Sutherland CLA
QA Contact:
URL:
Whiteboard:
Keywords: test
Depends on:
Blocks:
 
Reported: 2009-04-30 16:02 EDT by Edwin Tang CLA
Modified: 2022-06-09 10:10 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Edwin Tang CLA 2009-04-30 16:02:27 EDT
jpa.advanced.EntityManagerJUnitTestSuite.testUpdateUsingTempStorageWithParameter failed on DB2.

Stack Trace:
============
Internal Exception: com.ibm.db2.jcc.c.SqlException: DB2 SQL error: SQLCODE: -206, SQLSTATE: 42703, SQLERRMC: NULL Error Code: -206 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(referenceClass=Employee sql="DECLARE GLOBAL TEMPORARY TABLE session.TL_CMP3_SALARY LIKE CMP3_SALARY ON COMMIT DELETE ROWS NOT LOGGED")

Local Exception Stack:
Exception [EclipseLink-4002] (Eclipse Persistence Services - 1.1.1.qualifier): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.ibm.db2.jcc.c.SqlException: DB2 SQL error: SQLCODE: -206, SQLSTATE: 42703, SQLERRMC: NULL
Error Code: -206
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(referenceClass=Employee sql="DECLARE GLOBAL TEMPORARY TABLE session.TL_CMP3_SALARY LIKE CMP3_SALARY ON COMMIT DELETE ROWS NOT LOGGED")
at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:323)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:767)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeNoSelect(DatabaseAccessor.java:833)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:558)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:501)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeCall(AbstractSession.java:872)
at org.eclipse.persistence.internal.sessions.IsolatedClientSession.executeCall(IsolatedClientSession.java:132)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:205)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.updateAllUsingTempTables(DatasourceCallQueryMechanism.java:751)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.updateAll(DatasourceCallQueryMechanism.java:713)
at org.eclipse.persistence.queries.UpdateAllQuery.executeDatabaseQuery(UpdateAllQuery.java:153)
at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:664)
at org.eclipse.persistence.queries.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:583)
at org.eclipse.persistence.queries.ModifyAllQuery.executeInUnitOfWork(ModifyAllQuery.java:144)
at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2755)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1181)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1165)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1139)
at org.eclipse.persistence.internal.jpa.EJBQueryImpl.executeUpdate(EJBQueryImpl.java:424)
at org.eclipse.persistence.testing.tests.jpa.advanced.EntityManagerJUnitTestSuite.internalUpdateUsingTempStorage(EntityManagerJUnitTestSuite.java:5485)
at org.eclipse.persistence.testing.tests.jpa.advanced.EntityManagerJUnitTestSuite.testUpdateUsingTempStorageWithParameter(EntityManagerJUnitTestSuite.java:5440)
at org.eclipse.persistence.testing.framework.junit.JUnitTestCase.runBare(JUnitTestCase.java:359)
Caused by: com.ibm.db2.jcc.c.SqlException: DB2 SQL error: SQLCODE: -206, SQLSTATE: 42703, SQLERRMC: NULL
at com.ibm.db2.jcc.c.fg.e(fg.java:1596)
at com.ibm.db2.jcc.c.fg.b(fg.java:1160)
at com.ibm.db2.jcc.b.gb.h(gb.java:217)
at com.ibm.db2.jcc.b.gb.b(gb.java:46)
at com.ibm.db2.jcc.b.w.b(w.java:40)
at com.ibm.db2.jcc.b.vb.f(vb.java:118)
at com.ibm.db2.jcc.c.fg.m(fg.java:1155)
at com.ibm.db2.jcc.c.fg.a(fg.java:1865)
at com.ibm.db2.jcc.c.fg.c(fg.java:517)
at com.ibm.db2.jcc.c.fg.executeUpdate(fg.java:501)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:756)
Comment 1 James Sutherland CLA 2009-11-11 15:28:22 EST
Andrei fixed this to cast the null, but then I rebroke it in using dynamic SQL instead of casting, so I refixed it to still cast for update-all queries.

See bug#244125 for patch file.
Comment 2 James Sutherland CLA 2009-11-16 11:30:39 EST
Fixed.
Comment 3 Eclipse Webmaster CLA 2022-06-09 10:02:53 EDT
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink
Comment 4 Eclipse Webmaster CLA 2022-06-09 10:10:42 EDT
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink