Bug 305908 - Newly added jpa.jpql.JUnitJPQLComplexTestSuite.variableReferencedOnlyInParameterTest failed on Derby
Summary: Newly added jpa.jpql.JUnitJPQLComplexTestSuite.variableReferencedOnlyInParame...
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: Nobody - feel free to take it CLA
QA Contact:
URL:
Whiteboard: derby
Keywords: test
: 306268 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-03-15 14:35 EDT by Edwin Tang CLA
Modified: 2022-06-09 10:28 EDT (History)
4 users (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 2010-03-15 14:35:51 EDT
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)
Comment 1 Edwin Tang CLA 2010-03-15 14:40:32 EDT
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.
Comment 2 Andrei Ilitchev CLA 2010-03-15 15:22:53 EDT
Changed to SUBSTR(t0.F_NAME, 1, 2)
Comment 3 Edwin Tang CLA 2010-03-17 11:51:47 EDT
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)
Comment 4 Edwin Tang CLA 2010-03-17 11:55:36 EDT
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)
Comment 5 Yiping Zhao CLA 2010-03-17 16:43:24 EDT
Note: it failed on DB2 as well.
Comment 6 Yiping Zhao CLA 2010-03-17 16:44:03 EDT
*** Bug 306268 has been marked as a duplicate of this bug. ***
Comment 7 Yiping Zhao CLA 2010-03-17 16:56:45 EDT
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)
Comment 8 Andrei Ilitchev CLA 2010-03-18 09:10:56 EDT
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.
Comment 9 Yiping Zhao CLA 2010-05-17 15:45:43 EDT
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)
Comment 10 James Sutherland CLA 2010-05-19 15:59:48 EDT
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.
Comment 11 Eclipse Webmaster CLA 2022-06-09 10:28:36 EDT
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink