Community
Participate
Working Groups
org.eclipse.persistence.testing.tests.jpa.jpql.JUnitJPQLComplexTestSuite.variableReferencedOnlyInParameterTest newly added by Andrei in revision 6761 failed on Derby. Stack Trace: ============ Internal Exception: java.sql.SQLDataException: The second or third argument of the SUBSTR function is out of range. Error Code: -1 Call: SELECT SUBSTR(t0.F_NAME, 0, 2) FROM CMP3_EMPLOYEE t0, CMP3_SALARY t1 WHERE (t1.EMP_ID = t0.EMP_ID) Query: ReportQuery(referenceClass=Employee sql="SELECT SUBSTR(t0.F_NAME, ?, ?) FROM CMP3_EMPLOYEE t0, CMP3_SALARY t1 WHERE (t1.EMP_ID = t0.EMP_ID)") Local Exception Stack: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.1.0.v20100313-r6796): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.SQLDataException: The second or third argument of the SUBSTR function is out of range. Error Code: -1 Call: SELECT SUBSTR(t0.F_NAME, 0, 2) FROM CMP3_EMPLOYEE t0, CMP3_SALARY t1 WHERE (t1.EMP_ID = t0.EMP_ID) Query: ReportQuery(referenceClass=Employee sql="SELECT SUBSTR(t0.F_NAME, ?, ?) FROM CMP3_EMPLOYEE t0, CMP3_SALARY t1 WHERE (t1.EMP_ID = t0.EMP_ID)") at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:333) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:687) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:530) at org.eclipse.persistence.sessions.server.ServerSession.executeCall(ServerSession.java:529) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:206) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:192) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:263) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:619) at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2538) at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllReportQueryRows(ExpressionQueryMechanism.java:2481) at org.eclipse.persistence.queries.ReportQuery.executeDatabaseQuery(ReportQuery.java:838) at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:728) at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:949) at org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:382) at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1013) at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2869) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1225) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1207) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1181) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.executeReadQuery(EJBQueryImpl.java:460) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.getResultList(EJBQueryImpl.java:687) at org.eclipse.persistence.testing.tests.jpa.jpql.JUnitJPQLComplexTestSuite.variableReferencedOnlyInParameterTest(JUnitJPQLComplexTestSuite.java:2673) at org.eclipse.persistence.testing.framework.junit.JUnitTestCase.runBare(JUnitTestCase.java:457) at org.eclipse.persistence.testing.framework.TestExecutor.execute(TestExecutor.java:248) at org.eclipse.persistence.testing.framework.TestModel.execute(TestModel.java:208) at org.eclipse.persistence.testing.framework.TestCollection.run(TestCollection.java:313) Caused by: java.sql.SQLDataException: The second or third argument of the SUBSTR function is out of range. at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source) at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source) at org.apache.derby.client.am.Statement.executeQuery(Unknown Source) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeSelect(DatabaseAccessor.java:890) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:602) Caused by: org.apache.derby.client.am.SqlException: The second or third argument of the SUBSTR function is out of range. at org.apache.derby.client.am.Statement.completeSqlca(Unknown Source) at org.apache.derby.client.net.NetStatementReply.parseOpenQueryError(Unknown Source) at org.apache.derby.client.net.NetStatementReply.parseOPNQRYreply(Unknown Source) at org.apache.derby.client.net.NetStatementReply.readOpenQuery(Unknown Source) at org.apache.derby.client.net.StatementReply.readOpenQuery(Unknown Source) at org.apache.derby.client.net.NetStatement.readOpenQuery_(Unknown Source) at org.apache.derby.client.am.Statement.readOpenQuery(Unknown Source) at org.apache.derby.client.am.Statement.flowExecute(Unknown Source) at org.apache.derby.client.am.Statement.executeQueryX(Unknown Source)
SUBSTR(t0.F_NAME, 0, 2) on Derby is invalid, valid one might be SUBSTR(t0.F_NAME, 1, 3)? The test needs to be fixed or skipped on Derby.
Changed to SUBSTR(t0.F_NAME, 1, 2)
The original error message is gone, but get different error. Reopening this bug. Stack Trace: ============ Internal Exception: java.sql.SQLSyntaxErrorException: Syntax error: Encountered "," at line 1, column 23. Error Code: -1 Local Exception Stack: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.1.0.v20100317-r6827): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.SQLSyntaxErrorException: Syntax error: Encountered "," at line 1, column 23. Error Code: -1 at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:333) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:687) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:530) at org.eclipse.persistence.sessions.server.ServerSession.executeCall(ServerSession.java:529) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:206) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:192) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:263) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:619) at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2538) at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllReportQueryRows(ExpressionQueryMechanism.java:2481) at org.eclipse.persistence.queries.ReportQuery.executeDatabaseQuery(ReportQuery.java:838) at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:728) at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:949) at org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:382) at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1013) at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2914) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1225) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1207) at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.executeQuery(UnitOfWorkImpl.java:1856) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1181) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.executeReadQuery(EJBQueryImpl.java:460) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.getResultList(EJBQueryImpl.java:687) at weblogic.deployment.TransactionalEntityManagerProxyImpl$QueryImpl.getResultList(TransactionalEntityManagerProxyImpl.java:225) at org.eclipse.persistence.testing.tests.jpa.jpql.JUnitJPQLComplexTestSuite.variableReferencedOnlyInParameterTest(JUnitJPQLComplexTestSuite.java:2679) at org.eclipse.persistence.testing.framework.junit.JUnitTestCase.runBareServer(JUnitTestCase.java:489) at org.eclipse.persistence.testing.framework.server.TestRunnerBean.runTest(TestRunnerBean.java:87) at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37) at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54) at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy117.runTest(Unknown Source) at org.eclipse.persistence.testing.framework.server.TestRunner_q0mh0s_TestRunnerImpl.runTest(TestRunner_q0mh0s_TestRunnerImpl.java:56) at org.eclipse.persistence.testing.framework.server.TestRunner_q0mh0s_TestRunnerImpl_WLSkel.invoke(Unknown Source) at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589) at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230) at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147) at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473) at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) Caused by: java.sql.SQLSyntaxErrorException: Syntax error: Encountered "," at line 1, column 23. at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source) at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source) at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source) at org.apache.derby.client.am.LogicalConnection.prepareStatement(Unknown Source) at weblogic.jdbc.wrapper.XAConnection.prepareStatement(XAConnection.java:622) at weblogic.jdbc.common.internal.ConnectionEnv.makeStatement(ConnectionEnv.java:1428) at weblogic.jdbc.common.internal.ConnectionEnv.getCachedStatement(ConnectionEnv.java:1171) at weblogic.jdbc.common.internal.ConnectionEnv.getCachedStatement(ConnectionEnv.java:1085) at weblogic.jdbc.common.internal.ConnectionEnv.getCachedStatement(ConnectionEnv.java:1078) at weblogic.jdbc.wrapper.Connection.prepareStatement(Connection.java:485) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1404) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1353) at org.eclipse.persistence.internal.databaseaccess.DatabaseCall.prepareStatement(DatabaseCall.java:652) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:580) Caused by: org.apache.derby.client.am.SqlException: Syntax error: Encountered "," at line 1, column 23. at org.apache.derby.client.am.Statement.completeSqlca(Unknown Source) at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source) at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source) at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source) at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source) at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source) at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source) at org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown Source) at org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown Source) at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source) at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)
The error message with SQL statement. Stack Trace: ============ Internal Exception: java.sql.SQLSyntaxErrorException: Syntax error: Encountered "," at line 1, column 23. Error Code: -1 Call: SELECT LTRIM(t0.F_NAME, ?) FROM CMP3_EMPLOYEE t0, CMP3_SALARY t1 WHERE (t1.EMP_ID = t0.EMP_ID) bind => [A] Query: ReportQuery(referenceClass=Employee sql="SELECT LTRIM(t0.F_NAME, ?) FROM CMP3_EMPLOYEE t0, CMP3_SALARY t1 WHERE (t1.EMP_ID = t0.EMP_ID)") Local Exception Stack: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.1.0.v20100317-r6827): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.SQLSyntaxErrorException: Syntax error: Encountered "," at line 1, column 23. Error Code: -1 Call: SELECT LTRIM(t0.F_NAME, ?) FROM CMP3_EMPLOYEE t0, CMP3_SALARY t1 WHERE (t1.EMP_ID = t0.EMP_ID) bind => [A] Query: ReportQuery(referenceClass=Employee sql="SELECT LTRIM(t0.F_NAME, ?) FROM CMP3_EMPLOYEE t0, CMP3_SALARY t1 WHERE (t1.EMP_ID = t0.EMP_ID)") at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:333) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:687) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:530) at org.eclipse.persistence.sessions.server.ServerSession.executeCall(ServerSession.java:529) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:206) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:192) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:263) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:619) at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2538) at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllReportQueryRows(ExpressionQueryMechanism.java:2481) at org.eclipse.persistence.queries.ReportQuery.executeDatabaseQuery(ReportQuery.java:838) at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:728) at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:949) at org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:382) at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1013) at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2914) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1225) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1207) at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.executeQuery(UnitOfWorkImpl.java:1856) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1181) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.executeReadQuery(EJBQueryImpl.java:460) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.getResultList(EJBQueryImpl.java:687) at org.eclipse.persistence.testing.tests.jpa.jpql.JUnitJPQLComplexTestSuite.variableReferencedOnlyInParameterTest(JUnitJPQLComplexTestSuite.java:2679) at org.eclipse.persistence.testing.framework.junit.JUnitTestCase.runBare(JUnitTestCase.java:457) at org.eclipse.persistence.testing.framework.TestExecutor.execute(TestExecutor.java:248) at org.eclipse.persistence.testing.framework.TestModel.execute(TestModel.java:208) at org.eclipse.persistence.testing.framework.TestCollection.run(TestCollection.java:313) Caused by: java.sql.SQLSyntaxErrorException: Syntax error: Encountered "," at line 1, column 23. at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source) at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source) at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1404) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1353) at org.eclipse.persistence.internal.databaseaccess.DatabaseCall.prepareStatement(DatabaseCall.java:652) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:580) Caused by: org.apache.derby.client.am.SqlException: Syntax error: Encountered "," at line 1, column 23. at org.apache.derby.client.am.Statement.completeSqlca(Unknown Source) at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source) at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source) at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source) at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source) at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source) at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source) at org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown Source) at org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown Source) at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source) at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)
Note: it failed on DB2 as well.
*** Bug 306268 has been marked as a duplicate of this bug. ***
For DB2, as for today's result (2010-03-17), it still failed with SUBSTR as following message: Internal Exception: java.sql.SQLDataException: [OWLS][DB2 JDBC Driver][DB2]SECOND OR THIRD ARGUMENT OF SUBSTR FUNCTION OUT OF RANGE Error Code: -138 Call: SELECT SUBSTR(t0.F_NAME, 0, 2) FROM CMP3_EMPLOYEE t0, CMP3_SALARY t1 WHERE (t1.EMP_ID = t0.EMP_ID) Query: ReportQuery(referenceClass=Employee sql="SELECT SUBSTR(t0.F_NAME, ?, ?) FROM CMP3_EMPLOYEE t0, CMP3_SALARY t1 WHERE (t1.EMP_ID = t0.EMP_ID)") Local Exception Stack: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.1.0.v20100310-r6769): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.SQLDataException: [OWLS][DB2 JDBC Driver][DB2]SECOND OR THIRD ARGUMENT OF SUBSTR FUNCTION OUT OF RANGE Error Code: -138 Call: SELECT SUBSTR(t0.F_NAME, 0, 2) FROM CMP3_EMPLOYEE t0, CMP3_SALARY t1 WHERE (t1.EMP_ID = t0.EMP_ID) Query: ReportQuery(referenceClass=Employee sql="SELECT SUBSTR(t0.F_NAME, ?, ?) FROM CMP3_EMPLOYEE t0, CMP3_SALARY t1 WHERE (t1.EMP_ID = t0.EMP_ID)") at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:333) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:687) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:530) at org.eclipse.persistence.sessions.server.ServerSession.executeCall(ServerSession.java:529) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:206) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:192) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:263) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:619) at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2538) at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllReportQueryRows(ExpressionQueryMechanism.java:2481) at org.eclipse.persistence.queries.ReportQuery.executeDatabaseQuery(ReportQuery.java:838) at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:728) at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:949) at org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:382) at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1013) at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2869) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1225) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1207) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1181) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.executeReadQuery(EJBQueryImpl.java:460) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.getResultList(EJBQueryImpl.java:687) at org.eclipse.persistence.testing.tests.jpa.jpql.JUnitJPQLComplexTestSuite.variableReferencedOnlyInParameterTest(JUnitJPQLComplexTestSuite.java:2672) at org.eclipse.persistence.testing.framework.junit.JUnitTestCase.runBare(JUnitTestCase.java:457) at org.eclipse.persistence.testing.framework.TestExecutor.execute(TestExecutor.java:248) at org.eclipse.persistence.testing.framework.TestModel.execute(TestModel.java:208) at org.eclipse.persistence.testing.framework.TestCollection.run(TestCollection.java:313) Caused by: java.sql.SQLDataException: [OWLS][DB2 JDBC Driver][DB2]SECOND OR THIRD ARGUMENT OF SUBSTR FUNCTION OUT OF RANGE at weblogic.jdbc.db2base.BaseExceptions40.createAppropriateSQLExceptionInstance(Unknown Source) at weblogic.jdbc.db2base.BaseExceptions40.createSQLException(Unknown Source) at weblogic.jdbc.db2base.BaseExceptions.createException(Unknown Source) at weblogic.jdbc.db2base.BaseExceptions.getException(Unknown Source) at weblogic.jdbc.db2.drda.DRDARequest.processSQLCA(Unknown Source) at weblogic.jdbc.db2.drda.DRDARequest.processCodePoint(Unknown Source) at weblogic.jdbc.db2.drda.DRDAStatementRequest.processCodePoint(Unknown Source) at weblogic.jdbc.db2.drda.DRDAQueryStatementRequest.processCodePoint(Unknown Source) at weblogic.jdbc.db2.drda.DRDARequest.processReply(Unknown Source) at weblogic.jdbc.db2.DB2ImplStatement.execute(Unknown Source) at weblogic.jdbc.db2base.BaseStatement.commonExecute(Unknown Source) at weblogic.jdbc.db2base.BaseStatement.executeQueryInternal(Unknown Source) at weblogic.jdbc.db2base.BaseStatement.executeQuery(Unknown Source) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeSelect(DatabaseAccessor.java:890) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:602)
You got this DB2 error in 2.1.0.v20100310-r6769. The test was changed to SUBSTR(t0.F_NAME, 1, 2) on March 15th. The substring error should no longer be there for both DB2 and Derby.
As for latest test reult(http://stame02.us.oracle.com/eclipselink-database-certification/main/2010-05-14/jpa-eclipselink.jpa.test-test-lrg-jdk16-derby-10-client.html#AllCMP3TestRunModel),the current error message on DB2 and Derby are: Internal Exception: java.sql.SQLSyntaxErrorException: Syntax error: Encountered "," at line 1, column 23. Error Code: -1 Call: SELECT LTRIM(t0.F_NAME, ?) FROM CMP3_EMPLOYEE t0, CMP3_SALARY t1 WHERE (t1.EMP_ID = t0.EMP_ID) bind => [A] Query: ReportQuery(referenceClass=Employee sql="SELECT LTRIM(t0.F_NAME, ?) FROM CMP3_EMPLOYEE t0, CMP3_SALARY t1 WHERE (t1.EMP_ID = t0.EMP_ID)") Local Exception Stack: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.1.0.v20100514-r7224): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.SQLSyntaxErrorException: Syntax error: Encountered "," at line 1, column 23. Error Code: -1 Call: SELECT LTRIM(t0.F_NAME, ?) FROM CMP3_EMPLOYEE t0, CMP3_SALARY t1 WHERE (t1.EMP_ID = t0.EMP_ID) bind => [A] Query: ReportQuery(referenceClass=Employee sql="SELECT LTRIM(t0.F_NAME, ?) FROM CMP3_EMPLOYEE t0, CMP3_SALARY t1 WHERE (t1.EMP_ID = t0.EMP_ID)") at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:333) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:683) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:526) at org.eclipse.persistence.sessions.server.ServerSession.executeCall(ServerSession.java:529) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:206) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:192) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:263) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:644) at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2540) at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllReportQueryRows(ExpressionQueryMechanism.java:2483) at org.eclipse.persistence.queries.ReportQuery.executeDatabaseQuery(ReportQuery.java:838) at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:736) at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:949) at org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:380) at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1013) at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2909) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1225) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1207) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1181) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.executeReadQuery(EJBQueryImpl.java:479) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.getResultList(EJBQueryImpl.java:714) at org.eclipse.persistence.testing.tests.jpa.jpql.JUnitJPQLComplexTestSuite.variableReferencedOnlyInParameterTest(JUnitJPQLComplexTestSuite.java:2697) at org.eclipse.persistence.testing.framework.junit.JUnitTestCase.runBare(JUnitTestCase.java:454) at org.eclipse.persistence.testing.framework.TestExecutor.execute(TestExecutor.java:248) at org.eclipse.persistence.testing.framework.TestModel.execute(TestModel.java:208) at org.eclipse.persistence.testing.framework.TestCollection.run(TestCollection.java:313) Caused by: java.sql.SQLSyntaxErrorException: Syntax error: Encountered "," at line 1, column 23. at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source) at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source) at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1401) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1350) at org.eclipse.persistence.internal.databaseaccess.DatabaseCall.prepareStatement(DatabaseCall.java:652) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:576) Caused by: org.apache.derby.client.am.SqlException: Syntax error: Encountered "," at line 1, column 23. at org.apache.derby.client.am.Statement.completeSqlca(Unknown Source) at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source) at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source) at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source) at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source) at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source) at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source) at org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown Source) at org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown Source) at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source) at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)
Fixed. Was a bug in our DB2 and Derby support we map TRIM LEADING to LTRIM, but in DB2 it should be just TRIM LEADING.
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink