jakartaredhat / hibernate-data-tck-gf

Hibernate Jakarta Data TCK Runner for GlassFish
Apache License 2.0
0 stars 0 forks source link

Some Derby dialect issue? #1

Open starksm64 opened 1 month ago

starksm64 commented 1 month ago

The repo is setup to run the Jakarta Data TCK using Hibernate 6.6.0.Alpha1 and the GlassFish web-7.0.14.zip dist. It passes most tests, but there seems to be some Hibernate/Derby issue that is causing column index out of range failures:

starksm@Scotts-Mac-Studio runner-web % mvn -Pstaging test
[INFO] Scanning for projects...
[INFO] 
[INFO] --------< org.hibernate:hiberate-data-tck-web-glassfish-runner >--------
[INFO] Building Hibernate Jakarta Data TCK Web Runner for GlassFish 1.0
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- dependency:3.6.1:copy-dependencies (copy-dependencies) @ hiberate-data-tck-web-glassfish-runner ---
[INFO] org.hibernate.orm:hibernate-core:jar:6.6.0.Alpha1 already exists in destination.
[INFO] org.hibernate.common:hibernate-commons-annotations:jar:6.0.6.Final already exists in destination.
[INFO] org.glassfish.data:data-osgi-bundle:jar:1.0.0 already exists in destination.
[INFO] io.smallrye:jandex:jar:3.1.2 already exists in destination.
[INFO] net.bytebuddy:byte-buddy:jar:1.14.12 already exists in destination.
[INFO] org.antlr:antlr4-runtime:jar:4.13.0 already exists in destination.
[INFO] 
[INFO] --- resources:3.3.1:resources (default-resources) @ hiberate-data-tck-web-glassfish-runner ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /Users/starksm/Dev/Jakarta/hibernate-data-tck-gf/runner-web/src/main/resources
[INFO] 
[INFO] --- compiler:3.13.0:compile (default-compile) @ hiberate-data-tck-web-glassfish-runner ---
[INFO] No sources to compile
[INFO] 
[INFO] --- resources:3.3.1:testResources (default-testResources) @ hiberate-data-tck-web-glassfish-runner ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 3 resources from src/test/resources to target/test-classes
[INFO] 
[INFO] --- compiler:3.13.0:testCompile (default-testCompile) @ hiberate-data-tck-web-glassfish-runner ---
[INFO] Recompiling the module because of changed source code.
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 3 source files with javac [debug release 17] to target/test-classes
[INFO] Annotation processing is enabled because one or more processors were found
  on the class path. A future release of javac may disable annotation processing
  unless at least one processor is specified by name (-processor), or a search
  path is specified (--processor-path, --processor-module-path), or annotation
  processing is enabled explicitly (-proc:only, -proc:full).
  Use -Xlint:-options to suppress this message.
  Use -proc:none to disable annotation processing.
[INFO] Hibernate compile-time tooling 6.6.0.Alpha1
[INFO] 
[INFO] --- surefire:3.2.5:test (default-test) @ hiberate-data-tck-web-glassfish-runner ---
[INFO] Using auto detected provider org.apache.maven.surefire.junitplatform.JUnitPlatformProvider
[INFO] 
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running ee.jakarta.tck.data.core.cdi.CDITests
Processing archive 8e0a77cf-e92c-480c-8bf5-936126f4dfe0.war, test=ee.jakarta.tck.data.core.cdi.CDITests
Added ee.jakarta.tck.data.core.cdi.Person_
Starting database using command: [/Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home/bin/java, -jar, /Users/starksm/Dev/Jakarta/hibernate-data-tck-gf/runner-web/target/glassfish7/glassfish/modules/admin-cli.jar, start-database, -t]
Starting database in the background.
Log redirected to /Users/starksm/Dev/Jakarta/hibernate-data-tck-gf/runner-web/target/glassfish7/glassfish/databases/derby.log.
Starting container using command: [/Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home/bin/java, -jar, /Users/starksm/Dev/Jakarta/hibernate-data-tck-gf/runner-web/target/glassfish7/glassfish/modules/admin-cli.jar, start-domain, --debug, -t]
Waiting finished after 1,783 ms.
Successfully started the domain : domain1
domain  Location: /Users/starksm/Dev/Jakarta/hibernate-data-tck-gf/runner-web/target/glassfish7/glassfish/domains/domain1
Log File: /Users/starksm/Dev/Jakarta/hibernate-data-tck-gf/runner-web/target/glassfish7/glassfish/domains/domain1/logs/server.log
Admin Port: 4,848
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.951 s -- in ee.jakarta.tck.data.core.cdi.CDITests
[INFO] Running ee.jakarta.tck.data.standalone.signature.SignatureTests
Processing archive a83a9f65-fc37-4ab3-ab1c-a6c64e36da7c.war, test=ee.jakarta.tck.data.standalone.signature.SignatureTests
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.899 s -- in ee.jakarta.tck.data.standalone.signature.SignatureTests
[INFO] Running ee.jakarta.tck.data.standalone.entity.EntityTests
Processing archive 2f6231e0-20d7-463d-8f4f-8c1bb037db3f.war, test=ee.jakarta.tck.data.standalone.entity.EntityTests
Added ee.jakarta.tck.data.standalone.entity.Box_
Added ee.jakarta.tck.data.standalone.entity.Boxes_
[INFO] Tests run: 73, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.832 s -- in ee.jakarta.tck.data.standalone.entity.EntityTests
[INFO] Running ee.jakarta.tck.data.standalone.persistence.PersistenceEntityTests
Processing archive 686f1839-7400-47a4-94b3-61535ced6215.war, test=ee.jakarta.tck.data.standalone.persistence.PersistenceEntityTests
Added ee.jakarta.tck.data.standalone.persistence.Product_
Added ee.jakarta.tck.data.standalone.persistence.Catalog_
[2024-05-15 13:42:55] W ee.jakarta.tck.data.framework.junit.extensions.AssertionExtension testLike failed 
 @Assertion.id: #133
 @Assertion.strategy: Use a repository method with the Like keyword.
 Throwable.cause: Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)] 
[2024-05-15 13:42:55] W ee.jakarta.tck.data.framework.junit.extensions.AssertionExtension testNull failed 
 @Assertion.id: #133
 @Assertion.strategy: Use a repository method with the Null keyword.
 Throwable.cause: Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)] 
[2024-05-15 13:42:55] W ee.jakarta.tck.data.framework.junit.extensions.AssertionExtension testIdAttributeWithDifferentName failed 
 @Assertion.id: #133
 @Assertion.strategy: Use a repository method findByIdBetween where the entity's Id attribute is named something other than id.
 Throwable.cause: Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)] 
[2024-05-15 13:42:55] W ee.jakarta.tck.data.framework.junit.extensions.AssertionExtension testQueryWithNamedParameters failed 
 @Assertion.id: #133
 @Assertion.strategy: Use a repository method that is annotated with Query and includes JPQL with named parameters.
 Throwable.cause: Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)] 
[2024-05-15 13:42:55] W ee.jakarta.tck.data.framework.junit.extensions.AssertionExtension testEntityManager failed 
 @Assertion.id: #133
 @Assertion.strategy: Use a repository method that obtains the Entity Manager.
 Throwable.cause: Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)] 
[2024-05-15 13:42:55] W ee.jakarta.tck.data.framework.junit.extensions.AssertionExtension testQueryWithPositionalParameters failed 
 @Assertion.id: #133
 @Assertion.strategy: Use a repository method that is annotated with Query and includes JPQL with positional parameters.
 Throwable.cause: Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)] 
[2024-05-15 13:42:55] W ee.jakarta.tck.data.framework.junit.extensions.AssertionExtension testNotRunOnNOSQL failed 
 @Assertion.id: #119
 @Assertion.strategy: Ensure that this test is only run when provider supports persistence entities
 Throwable.cause: Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)] 
[ERROR] Tests run: 10, Failures: 0, Errors: 7, Skipped: 0, Time elapsed: 2.014 s <<< FAILURE! -- in ee.jakarta.tck.data.standalone.persistence.PersistenceEntityTests
[ERROR] ee.jakarta.tck.data.standalone.persistence.PersistenceEntityTests.testLike -- Time elapsed: 0.526 s <<< ERROR!
jakarta.data.exceptions.DataException: Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)]
        at ee.jakarta.tck.data.standalone.persistence.Catalog_.save(Catalog_.java:303)
        at ee.jakarta.tck.data.standalone.persistence.Catalog_$Proxy$_$$_WeldClientProxy.save(Unknown Source)
        at ee.jakarta.tck.data.standalone.persistence.PersistenceEntityTests.testLike(PersistenceEntityTests.java:125)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at org.jboss.arquillian.junit5.ArquillianExtension.interceptTestMethod(ArquillianExtension.java:87)
        at ee.jakarta.tck.data.framework.junit.extensions.StandaloneExtension.interceptTestMethod(StandaloneExtension.java:98)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
Caused by: org.hibernate.exception.GenericJDBCException: Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)]
        at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:63)
        at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.lambda$performInsert$0(OptionalTableUpdateOperation.java:399)
        at java.base/java.lang.Iterable.forEach(Iterable.java:75)
        at org.hibernate.engine.jdbc.mutation.spi.BindingGroup.forEachBinding(BindingGroup.java:51)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.performInsert(OptionalTableUpdateOperation.java:389)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.performMutation(OptionalTableUpdateOperation.java:162)
        at org.hibernate.engine.jdbc.mutation.internal.MutationExecutorSingleSelfExecuting.performSelfExecutingOperations(MutationExecutorSingleSelfExecuting.java:58)
        at org.hibernate.engine.jdbc.mutation.internal.AbstractMutationExecutor.execute(AbstractMutationExecutor.java:62)
        at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.doStaticUpdate(UpdateCoordinatorStandard.java:781)
        at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.performUpdate(UpdateCoordinatorStandard.java:328)
        at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.update(UpdateCoordinatorStandard.java:245)
        at org.hibernate.internal.StatelessSessionImpl.upsert(StatelessSessionImpl.java:266)
        at org.hibernate.internal.StatelessSessionImpl.upsert(StatelessSessionImpl.java:215)
        at ee.jakarta.tck.data.standalone.persistence.Catalog_.save(Catalog_.java:297)
        ... 7 more
Caused by: java.sql.SQLException: The column position '5' is out of range.  The number of columns for this ResultSet is '4'.
        at org.apache.derby.client.am.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:123)
        at org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:325)
        at org.apache.derby.client.am.ColumnMetaData.getColumnType(ColumnMetaData.java:524)
        at org.apache.derby.client.am.ClientPreparedStatement.setLong(ClientPreparedStatement.java:614)
        at com.sun.gjc.spi.base.PreparedStatementWrapper.setLong(PreparedStatementWrapper.java:197)
        at org.hibernate.type.descriptor.jdbc.BigIntJdbcType$1.doBind(BigIntJdbcType.java:62)
        at org.hibernate.type.descriptor.jdbc.BasicBinder.bind(BasicBinder.java:61)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.lambda$performInsert$0(OptionalTableUpdateOperation.java:391)
        ... 19 more
Caused by: ERROR XCL14: The column position '5' is out of range.  The number of columns for this ResultSet is '4'.
        at org.apache.derby.client.am.ColumnMetaData.checkForValidColumnIndex(ColumnMetaData.java:747)
        at org.apache.derby.client.am.ColumnMetaData.getColumnType(ColumnMetaData.java:518)
        ... 24 more

[ERROR] ee.jakarta.tck.data.standalone.persistence.PersistenceEntityTests.testNull -- Time elapsed: 0.017 s <<< ERROR!
jakarta.data.exceptions.DataException: Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)]
        at ee.jakarta.tck.data.standalone.persistence.Catalog_.save(Catalog_.java:303)
        at ee.jakarta.tck.data.standalone.persistence.Catalog_$Proxy$_$$_WeldClientProxy.save(Unknown Source)
        at ee.jakarta.tck.data.standalone.persistence.PersistenceEntityTests.testNull(PersistenceEntityTests.java:221)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at org.jboss.arquillian.junit5.ArquillianExtension.interceptTestMethod(ArquillianExtension.java:87)
        at ee.jakarta.tck.data.framework.junit.extensions.StandaloneExtension.interceptTestMethod(StandaloneExtension.java:98)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
Caused by: org.hibernate.exception.GenericJDBCException: Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)]
        at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:63)
        at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.lambda$performInsert$0(OptionalTableUpdateOperation.java:399)
        at java.base/java.lang.Iterable.forEach(Iterable.java:75)
        at org.hibernate.engine.jdbc.mutation.spi.BindingGroup.forEachBinding(BindingGroup.java:51)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.performInsert(OptionalTableUpdateOperation.java:389)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.performMutation(OptionalTableUpdateOperation.java:162)
        at org.hibernate.engine.jdbc.mutation.internal.MutationExecutorSingleSelfExecuting.performSelfExecutingOperations(MutationExecutorSingleSelfExecuting.java:58)
        at org.hibernate.engine.jdbc.mutation.internal.AbstractMutationExecutor.execute(AbstractMutationExecutor.java:62)
        at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.doStaticUpdate(UpdateCoordinatorStandard.java:781)
        at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.performUpdate(UpdateCoordinatorStandard.java:328)
        at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.update(UpdateCoordinatorStandard.java:245)
        at org.hibernate.internal.StatelessSessionImpl.upsert(StatelessSessionImpl.java:266)
        at org.hibernate.internal.StatelessSessionImpl.upsert(StatelessSessionImpl.java:215)
        at ee.jakarta.tck.data.standalone.persistence.Catalog_.save(Catalog_.java:297)
        ... 7 more
Caused by: java.sql.SQLException: The column position '5' is out of range.  The number of columns for this ResultSet is '4'.
        at org.apache.derby.client.am.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:123)
        at org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:325)
        at org.apache.derby.client.am.ColumnMetaData.getColumnType(ColumnMetaData.java:524)
        at org.apache.derby.client.am.ClientPreparedStatement.setLong(ClientPreparedStatement.java:614)
        at com.sun.gjc.spi.base.PreparedStatementWrapper.setLong(PreparedStatementWrapper.java:197)
        at org.hibernate.type.descriptor.jdbc.BigIntJdbcType$1.doBind(BigIntJdbcType.java:62)
        at org.hibernate.type.descriptor.jdbc.BasicBinder.bind(BasicBinder.java:61)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.lambda$performInsert$0(OptionalTableUpdateOperation.java:391)
        ... 19 more
Caused by: ERROR XCL14: The column position '5' is out of range.  The number of columns for this ResultSet is '4'.
        at org.apache.derby.client.am.ColumnMetaData.checkForValidColumnIndex(ColumnMetaData.java:747)
        at org.apache.derby.client.am.ColumnMetaData.getColumnType(ColumnMetaData.java:518)
        ... 24 more

[ERROR] ee.jakarta.tck.data.standalone.persistence.PersistenceEntityTests.testIdAttributeWithDifferentName -- Time elapsed: 0.015 s <<< ERROR!
jakarta.data.exceptions.DataException: Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)]
        at ee.jakarta.tck.data.standalone.persistence.Catalog_.save(Catalog_.java:303)
        at ee.jakarta.tck.data.standalone.persistence.Catalog_$Proxy$_$$_WeldClientProxy.save(Unknown Source)
        at ee.jakarta.tck.data.standalone.persistence.PersistenceEntityTests.testIdAttributeWithDifferentName(PersistenceEntityTests.java:79)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at org.jboss.arquillian.junit5.ArquillianExtension.interceptTestMethod(ArquillianExtension.java:87)
        at ee.jakarta.tck.data.framework.junit.extensions.StandaloneExtension.interceptTestMethod(StandaloneExtension.java:98)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
Caused by: org.hibernate.exception.GenericJDBCException: Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)]
        at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:63)
        at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.lambda$performInsert$0(OptionalTableUpdateOperation.java:399)
        at java.base/java.lang.Iterable.forEach(Iterable.java:75)
        at org.hibernate.engine.jdbc.mutation.spi.BindingGroup.forEachBinding(BindingGroup.java:51)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.performInsert(OptionalTableUpdateOperation.java:389)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.performMutation(OptionalTableUpdateOperation.java:162)
        at org.hibernate.engine.jdbc.mutation.internal.MutationExecutorSingleSelfExecuting.performSelfExecutingOperations(MutationExecutorSingleSelfExecuting.java:58)
        at org.hibernate.engine.jdbc.mutation.internal.AbstractMutationExecutor.execute(AbstractMutationExecutor.java:62)
        at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.doStaticUpdate(UpdateCoordinatorStandard.java:781)
        at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.performUpdate(UpdateCoordinatorStandard.java:328)
        at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.update(UpdateCoordinatorStandard.java:245)
        at org.hibernate.internal.StatelessSessionImpl.upsert(StatelessSessionImpl.java:266)
        at org.hibernate.internal.StatelessSessionImpl.upsert(StatelessSessionImpl.java:215)
        at ee.jakarta.tck.data.standalone.persistence.Catalog_.save(Catalog_.java:297)
        ... 7 more
Caused by: java.sql.SQLException: The column position '5' is out of range.  The number of columns for this ResultSet is '4'.
        at org.apache.derby.client.am.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:123)
        at org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:325)
        at org.apache.derby.client.am.ColumnMetaData.getColumnType(ColumnMetaData.java:524)
        at org.apache.derby.client.am.ClientPreparedStatement.setLong(ClientPreparedStatement.java:614)
        at com.sun.gjc.spi.base.PreparedStatementWrapper.setLong(PreparedStatementWrapper.java:197)
        at org.hibernate.type.descriptor.jdbc.BigIntJdbcType$1.doBind(BigIntJdbcType.java:62)
        at org.hibernate.type.descriptor.jdbc.BasicBinder.bind(BasicBinder.java:61)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.lambda$performInsert$0(OptionalTableUpdateOperation.java:391)
        ... 19 more
Caused by: ERROR XCL14: The column position '5' is out of range.  The number of columns for this ResultSet is '4'.
        at org.apache.derby.client.am.ColumnMetaData.checkForValidColumnIndex(ColumnMetaData.java:747)
        at org.apache.derby.client.am.ColumnMetaData.getColumnType(ColumnMetaData.java:518)
        ... 24 more

[ERROR] ee.jakarta.tck.data.standalone.persistence.PersistenceEntityTests.testQueryWithNamedParameters -- Time elapsed: 0.014 s <<< ERROR!
jakarta.data.exceptions.DataException: Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)]
        at ee.jakarta.tck.data.standalone.persistence.Catalog_.save(Catalog_.java:303)
        at ee.jakarta.tck.data.standalone.persistence.Catalog_$Proxy$_$$_WeldClientProxy.save(Unknown Source)
        at ee.jakarta.tck.data.standalone.persistence.PersistenceEntityTests.testQueryWithNamedParameters(PersistenceEntityTests.java:243)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at org.jboss.arquillian.junit5.ArquillianExtension.interceptTestMethod(ArquillianExtension.java:87)
        at ee.jakarta.tck.data.framework.junit.extensions.StandaloneExtension.interceptTestMethod(StandaloneExtension.java:98)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
Caused by: org.hibernate.exception.GenericJDBCException: Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)]
        at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:63)
        at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.lambda$performInsert$0(OptionalTableUpdateOperation.java:399)
        at java.base/java.lang.Iterable.forEach(Iterable.java:75)
        at org.hibernate.engine.jdbc.mutation.spi.BindingGroup.forEachBinding(BindingGroup.java:51)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.performInsert(OptionalTableUpdateOperation.java:389)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.performMutation(OptionalTableUpdateOperation.java:162)
        at org.hibernate.engine.jdbc.mutation.internal.MutationExecutorSingleSelfExecuting.performSelfExecutingOperations(MutationExecutorSingleSelfExecuting.java:58)
        at org.hibernate.engine.jdbc.mutation.internal.AbstractMutationExecutor.execute(AbstractMutationExecutor.java:62)
        at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.doStaticUpdate(UpdateCoordinatorStandard.java:781)
        at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.performUpdate(UpdateCoordinatorStandard.java:328)
        at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.update(UpdateCoordinatorStandard.java:245)
        at org.hibernate.internal.StatelessSessionImpl.upsert(StatelessSessionImpl.java:266)
        at org.hibernate.internal.StatelessSessionImpl.upsert(StatelessSessionImpl.java:215)
        at ee.jakarta.tck.data.standalone.persistence.Catalog_.save(Catalog_.java:297)
        ... 7 more
Caused by: java.sql.SQLException: The column position '5' is out of range.  The number of columns for this ResultSet is '4'.
        at org.apache.derby.client.am.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:123)
        at org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:325)
        at org.apache.derby.client.am.ColumnMetaData.getColumnType(ColumnMetaData.java:524)
        at org.apache.derby.client.am.ClientPreparedStatement.setLong(ClientPreparedStatement.java:614)
        at com.sun.gjc.spi.base.PreparedStatementWrapper.setLong(PreparedStatementWrapper.java:197)
        at org.hibernate.type.descriptor.jdbc.BigIntJdbcType$1.doBind(BigIntJdbcType.java:62)
        at org.hibernate.type.descriptor.jdbc.BasicBinder.bind(BasicBinder.java:61)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.lambda$performInsert$0(OptionalTableUpdateOperation.java:391)
        ... 19 more
Caused by: ERROR XCL14: The column position '5' is out of range.  The number of columns for this ResultSet is '4'.
        at org.apache.derby.client.am.ColumnMetaData.checkForValidColumnIndex(ColumnMetaData.java:747)
        at org.apache.derby.client.am.ColumnMetaData.getColumnType(ColumnMetaData.java:518)
        ... 24 more

[ERROR] ee.jakarta.tck.data.standalone.persistence.PersistenceEntityTests.testEntityManager -- Time elapsed: 0.014 s <<< ERROR!
jakarta.data.exceptions.DataException: Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)]
        at ee.jakarta.tck.data.standalone.persistence.Catalog_.save(Catalog_.java:303)
        at ee.jakarta.tck.data.standalone.persistence.Catalog_$Proxy$_$$_WeldClientProxy.save(Unknown Source)
        at ee.jakarta.tck.data.standalone.persistence.PersistenceEntityTests.testEntityManager(PersistenceEntityTests.java:65)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at org.jboss.arquillian.junit5.ArquillianExtension.interceptTestMethod(ArquillianExtension.java:87)
        at ee.jakarta.tck.data.framework.junit.extensions.StandaloneExtension.interceptTestMethod(StandaloneExtension.java:98)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
Caused by: org.hibernate.exception.GenericJDBCException: Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)]
        at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:63)
        at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.lambda$performInsert$0(OptionalTableUpdateOperation.java:399)
        at java.base/java.lang.Iterable.forEach(Iterable.java:75)
        at org.hibernate.engine.jdbc.mutation.spi.BindingGroup.forEachBinding(BindingGroup.java:51)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.performInsert(OptionalTableUpdateOperation.java:389)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.performMutation(OptionalTableUpdateOperation.java:162)
        at org.hibernate.engine.jdbc.mutation.internal.MutationExecutorSingleSelfExecuting.performSelfExecutingOperations(MutationExecutorSingleSelfExecuting.java:58)
        at org.hibernate.engine.jdbc.mutation.internal.AbstractMutationExecutor.execute(AbstractMutationExecutor.java:62)
        at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.doStaticUpdate(UpdateCoordinatorStandard.java:781)
        at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.performUpdate(UpdateCoordinatorStandard.java:328)
        at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.update(UpdateCoordinatorStandard.java:245)
        at org.hibernate.internal.StatelessSessionImpl.upsert(StatelessSessionImpl.java:266)
        at org.hibernate.internal.StatelessSessionImpl.upsert(StatelessSessionImpl.java:215)
        at ee.jakarta.tck.data.standalone.persistence.Catalog_.save(Catalog_.java:297)
        ... 7 more
Caused by: java.sql.SQLException: The column position '5' is out of range.  The number of columns for this ResultSet is '4'.
        at org.apache.derby.client.am.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:123)
        at org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:325)
        at org.apache.derby.client.am.ColumnMetaData.getColumnType(ColumnMetaData.java:524)
        at org.apache.derby.client.am.ClientPreparedStatement.setLong(ClientPreparedStatement.java:614)
        at com.sun.gjc.spi.base.PreparedStatementWrapper.setLong(PreparedStatementWrapper.java:197)
        at org.hibernate.type.descriptor.jdbc.BigIntJdbcType$1.doBind(BigIntJdbcType.java:62)
        at org.hibernate.type.descriptor.jdbc.BasicBinder.bind(BasicBinder.java:61)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.lambda$performInsert$0(OptionalTableUpdateOperation.java:391)
        ... 19 more
Caused by: ERROR XCL14: The column position '5' is out of range.  The number of columns for this ResultSet is '4'.
        at org.apache.derby.client.am.ColumnMetaData.checkForValidColumnIndex(ColumnMetaData.java:747)
        at org.apache.derby.client.am.ColumnMetaData.getColumnType(ColumnMetaData.java:518)
        ... 24 more

[ERROR] ee.jakarta.tck.data.standalone.persistence.PersistenceEntityTests.testQueryWithPositionalParameters -- Time elapsed: 0.014 s <<< ERROR!
jakarta.data.exceptions.DataException: Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)]
        at ee.jakarta.tck.data.standalone.persistence.Catalog_.save(Catalog_.java:303)
        at ee.jakarta.tck.data.standalone.persistence.Catalog_$Proxy$_$$_WeldClientProxy.save(Unknown Source)
        at ee.jakarta.tck.data.standalone.persistence.PersistenceEntityTests.testQueryWithPositionalParameters(PersistenceEntityTests.java:262)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at org.jboss.arquillian.junit5.ArquillianExtension.interceptTestMethod(ArquillianExtension.java:87)
        at ee.jakarta.tck.data.framework.junit.extensions.StandaloneExtension.interceptTestMethod(StandaloneExtension.java:98)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
Caused by: org.hibernate.exception.GenericJDBCException: Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)]
        at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:63)
        at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.lambda$performInsert$0(OptionalTableUpdateOperation.java:399)
        at java.base/java.lang.Iterable.forEach(Iterable.java:75)
        at org.hibernate.engine.jdbc.mutation.spi.BindingGroup.forEachBinding(BindingGroup.java:51)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.performInsert(OptionalTableUpdateOperation.java:389)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.performMutation(OptionalTableUpdateOperation.java:162)
        at org.hibernate.engine.jdbc.mutation.internal.MutationExecutorSingleSelfExecuting.performSelfExecutingOperations(MutationExecutorSingleSelfExecuting.java:58)
        at org.hibernate.engine.jdbc.mutation.internal.AbstractMutationExecutor.execute(AbstractMutationExecutor.java:62)
        at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.doStaticUpdate(UpdateCoordinatorStandard.java:781)
        at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.performUpdate(UpdateCoordinatorStandard.java:328)
        at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.update(UpdateCoordinatorStandard.java:245)
        at org.hibernate.internal.StatelessSessionImpl.upsert(StatelessSessionImpl.java:266)
        at org.hibernate.internal.StatelessSessionImpl.upsert(StatelessSessionImpl.java:215)
        at ee.jakarta.tck.data.standalone.persistence.Catalog_.save(Catalog_.java:297)
        ... 7 more
Caused by: java.sql.SQLException: The column position '5' is out of range.  The number of columns for this ResultSet is '4'.
        at org.apache.derby.client.am.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:123)
        at org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:325)
        at org.apache.derby.client.am.ColumnMetaData.getColumnType(ColumnMetaData.java:524)
        at org.apache.derby.client.am.ClientPreparedStatement.setLong(ClientPreparedStatement.java:614)
        at com.sun.gjc.spi.base.PreparedStatementWrapper.setLong(PreparedStatementWrapper.java:197)
        at org.hibernate.type.descriptor.jdbc.BigIntJdbcType$1.doBind(BigIntJdbcType.java:62)
        at org.hibernate.type.descriptor.jdbc.BasicBinder.bind(BasicBinder.java:61)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.lambda$performInsert$0(OptionalTableUpdateOperation.java:391)
        ... 19 more
Caused by: ERROR XCL14: The column position '5' is out of range.  The number of columns for this ResultSet is '4'.
        at org.apache.derby.client.am.ColumnMetaData.checkForValidColumnIndex(ColumnMetaData.java:747)
        at org.apache.derby.client.am.ColumnMetaData.getColumnType(ColumnMetaData.java:518)
        ... 24 more

[ERROR] ee.jakarta.tck.data.standalone.persistence.PersistenceEntityTests.testNotRunOnNOSQL -- Time elapsed: 0.016 s <<< ERROR!
jakarta.data.exceptions.DataException: Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)]
        at ee.jakarta.tck.data.standalone.persistence.Catalog_.save(Catalog_.java:303)
        at ee.jakarta.tck.data.standalone.persistence.Catalog_$Proxy$_$$_WeldClientProxy.save(Unknown Source)
        at ee.jakarta.tck.data.standalone.persistence.PersistenceEntityTests.lambda$testNotRunOnNOSQL$0(PersistenceEntityTests.java:147)
        at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708)
        at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
        at ee.jakarta.tck.data.standalone.persistence.PersistenceEntityTests.testNotRunOnNOSQL(PersistenceEntityTests.java:147)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at org.jboss.arquillian.junit5.ArquillianExtension.interceptTestMethod(ArquillianExtension.java:87)
        at ee.jakarta.tck.data.framework.junit.extensions.StandaloneExtension.interceptTestMethod(StandaloneExtension.java:98)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
Caused by: org.hibernate.exception.GenericJDBCException: Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)]
        at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:63)
        at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.lambda$performInsert$0(OptionalTableUpdateOperation.java:399)
        at java.base/java.lang.Iterable.forEach(Iterable.java:75)
        at org.hibernate.engine.jdbc.mutation.spi.BindingGroup.forEachBinding(BindingGroup.java:51)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.performInsert(OptionalTableUpdateOperation.java:389)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.performMutation(OptionalTableUpdateOperation.java:162)
        at org.hibernate.engine.jdbc.mutation.internal.MutationExecutorSingleSelfExecuting.performSelfExecutingOperations(MutationExecutorSingleSelfExecuting.java:58)
        at org.hibernate.engine.jdbc.mutation.internal.AbstractMutationExecutor.execute(AbstractMutationExecutor.java:62)
        at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.doStaticUpdate(UpdateCoordinatorStandard.java:781)
        at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.performUpdate(UpdateCoordinatorStandard.java:328)
        at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.update(UpdateCoordinatorStandard.java:245)
        at org.hibernate.internal.StatelessSessionImpl.upsert(StatelessSessionImpl.java:266)
        at org.hibernate.internal.StatelessSessionImpl.upsert(StatelessSessionImpl.java:215)
        at ee.jakarta.tck.data.standalone.persistence.Catalog_.save(Catalog_.java:297)
        ... 10 more
Caused by: java.sql.SQLException: The column position '5' is out of range.  The number of columns for this ResultSet is '4'.
        at org.apache.derby.client.am.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:123)
        at org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:325)
        at org.apache.derby.client.am.ColumnMetaData.getColumnType(ColumnMetaData.java:524)
        at org.apache.derby.client.am.ClientPreparedStatement.setLong(ClientPreparedStatement.java:614)
        at com.sun.gjc.spi.base.PreparedStatementWrapper.setLong(PreparedStatementWrapper.java:197)
        at org.hibernate.type.descriptor.jdbc.BigIntJdbcType$1.doBind(BigIntJdbcType.java:62)
        at org.hibernate.type.descriptor.jdbc.BasicBinder.bind(BasicBinder.java:61)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.lambda$performInsert$0(OptionalTableUpdateOperation.java:391)
        ... 22 more
Caused by: ERROR XCL14: The column position '5' is out of range.  The number of columns for this ResultSet is '4'.
        at org.apache.derby.client.am.ColumnMetaData.checkForValidColumnIndex(ColumnMetaData.java:747)
        at org.apache.derby.client.am.ColumnMetaData.getColumnType(ColumnMetaData.java:518)
        ... 27 more

[INFO] Running ee.jakarta.tck.data.web.transaction.PersistenceTests
Processing archive 709b721e-7065-49da-859d-a0c3c2c57454.war, test=ee.jakarta.tck.data.web.transaction.PersistenceTests
Added ee.jakarta.tck.data.standalone.persistence.Catalog_
Added ee.jakarta.tck.data.standalone.persistence.Product_
[2024-05-15 13:42:56] W ee.jakarta.tck.data.framework.junit.extensions.AssertionExtension testRollback failed 
 @Assertion.id: #133
 @Assertion.strategy: Verify that data is not persisted to repository when a transaction is rolled back
 Throwable.cause: Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)] 
[2024-05-15 13:42:56] W ee.jakarta.tck.data.framework.junit.extensions.AssertionExtension testCommit failed 
 @Assertion.id: #133
 @Assertion.strategy: Verify that data is persisted to repository when a transaction is committed
 Throwable.cause: Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)] 
[ERROR] Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 1.314 s <<< FAILURE! -- in ee.jakarta.tck.data.web.transaction.PersistenceTests
[ERROR] ee.jakarta.tck.data.web.transaction.PersistenceTests.testRollback -- Time elapsed: 0.213 s <<< ERROR!
jakarta.data.exceptions.DataException: Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)]
        at ee.jakarta.tck.data.standalone.persistence.Catalog_.save(Catalog_.java:303)
        at ee.jakarta.tck.data.standalone.persistence.Catalog_$Proxy$_$$_WeldClientProxy.save(Unknown Source)
        at ee.jakarta.tck.data.web.transaction.PersistenceTests.testRollback(PersistenceTests.java:88)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at org.jboss.arquillian.junit5.ArquillianExtension.interceptTestMethod(ArquillianExtension.java:87)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
Caused by: org.hibernate.exception.GenericJDBCException: Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)]
        at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:63)
        at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.lambda$performInsert$0(OptionalTableUpdateOperation.java:399)
        at java.base/java.lang.Iterable.forEach(Iterable.java:75)
        at org.hibernate.engine.jdbc.mutation.spi.BindingGroup.forEachBinding(BindingGroup.java:51)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.performInsert(OptionalTableUpdateOperation.java:389)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.performMutation(OptionalTableUpdateOperation.java:162)
        at org.hibernate.engine.jdbc.mutation.internal.MutationExecutorSingleSelfExecuting.performSelfExecutingOperations(MutationExecutorSingleSelfExecuting.java:58)
        at org.hibernate.engine.jdbc.mutation.internal.AbstractMutationExecutor.execute(AbstractMutationExecutor.java:62)
        at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.doStaticUpdate(UpdateCoordinatorStandard.java:781)
        at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.performUpdate(UpdateCoordinatorStandard.java:328)
        at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.update(UpdateCoordinatorStandard.java:245)
        at org.hibernate.internal.StatelessSessionImpl.upsert(StatelessSessionImpl.java:266)
        at org.hibernate.internal.StatelessSessionImpl.upsert(StatelessSessionImpl.java:215)
        at ee.jakarta.tck.data.standalone.persistence.Catalog_.save(Catalog_.java:297)
        ... 6 more
Caused by: java.sql.SQLException: The column position '5' is out of range.  The number of columns for this ResultSet is '4'.
        at org.apache.derby.client.am.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:123)
        at org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:325)
        at org.apache.derby.client.am.ColumnMetaData.getColumnType(ColumnMetaData.java:524)
        at org.apache.derby.client.am.ClientPreparedStatement.setLong(ClientPreparedStatement.java:614)
        at com.sun.gjc.spi.base.PreparedStatementWrapper.setLong(PreparedStatementWrapper.java:197)
        at org.hibernate.type.descriptor.jdbc.BigIntJdbcType$1.doBind(BigIntJdbcType.java:62)
        at org.hibernate.type.descriptor.jdbc.BasicBinder.bind(BasicBinder.java:61)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.lambda$performInsert$0(OptionalTableUpdateOperation.java:391)
        ... 18 more
Caused by: ERROR XCL14: The column position '5' is out of range.  The number of columns for this ResultSet is '4'.
        at org.apache.derby.client.am.ColumnMetaData.checkForValidColumnIndex(ColumnMetaData.java:747)
        at org.apache.derby.client.am.ColumnMetaData.getColumnType(ColumnMetaData.java:518)
        ... 23 more

[ERROR] ee.jakarta.tck.data.web.transaction.PersistenceTests.testCommit -- Time elapsed: 0.013 s <<< ERROR!
jakarta.data.exceptions.DataException: Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)]
        at ee.jakarta.tck.data.standalone.persistence.Catalog_.save(Catalog_.java:303)
        at ee.jakarta.tck.data.standalone.persistence.Catalog_$Proxy$_$$_WeldClientProxy.save(Unknown Source)
        at ee.jakarta.tck.data.web.transaction.PersistenceTests.testCommit(PersistenceTests.java:63)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at org.jboss.arquillian.junit5.ArquillianExtension.interceptTestMethod(ArquillianExtension.java:87)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
Caused by: org.hibernate.exception.GenericJDBCException: Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)]
        at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:63)
        at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.lambda$performInsert$0(OptionalTableUpdateOperation.java:399)
        at java.base/java.lang.Iterable.forEach(Iterable.java:75)
        at org.hibernate.engine.jdbc.mutation.spi.BindingGroup.forEachBinding(BindingGroup.java:51)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.performInsert(OptionalTableUpdateOperation.java:389)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.performMutation(OptionalTableUpdateOperation.java:162)
        at org.hibernate.engine.jdbc.mutation.internal.MutationExecutorSingleSelfExecuting.performSelfExecutingOperations(MutationExecutorSingleSelfExecuting.java:58)
        at org.hibernate.engine.jdbc.mutation.internal.AbstractMutationExecutor.execute(AbstractMutationExecutor.java:62)
        at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.doStaticUpdate(UpdateCoordinatorStandard.java:781)
        at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.performUpdate(UpdateCoordinatorStandard.java:328)
        at org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.update(UpdateCoordinatorStandard.java:245)
        at org.hibernate.internal.StatelessSessionImpl.upsert(StatelessSessionImpl.java:266)
        at org.hibernate.internal.StatelessSessionImpl.upsert(StatelessSessionImpl.java:215)
        at ee.jakarta.tck.data.standalone.persistence.Catalog_.save(Catalog_.java:297)
        ... 6 more
Caused by: java.sql.SQLException: The column position '5' is out of range.  The number of columns for this ResultSet is '4'.
        at org.apache.derby.client.am.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:123)
        at org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:325)
        at org.apache.derby.client.am.ColumnMetaData.getColumnType(ColumnMetaData.java:524)
        at org.apache.derby.client.am.ClientPreparedStatement.setLong(ClientPreparedStatement.java:614)
        at com.sun.gjc.spi.base.PreparedStatementWrapper.setLong(PreparedStatementWrapper.java:197)
        at org.hibernate.type.descriptor.jdbc.BigIntJdbcType$1.doBind(BigIntJdbcType.java:62)
        at org.hibernate.type.descriptor.jdbc.BasicBinder.bind(BasicBinder.java:61)
        at org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation.lambda$performInsert$0(OptionalTableUpdateOperation.java:391)
        ... 18 more
Caused by: ERROR XCL14: The column position '5' is out of range.  The number of columns for this ResultSet is '4'.
        at org.apache.derby.client.am.ColumnMetaData.checkForValidColumnIndex(ColumnMetaData.java:747)
        at org.apache.derby.client.am.ColumnMetaData.getColumnType(ColumnMetaData.java:518)
        ... 23 more

[INFO] Running ee.jakarta.tck.data.web.example.ComplexServletTests
Processing archive 4139d6c0-e368-4d74-9fa4-4eb42ddef603.war, test=ee.jakarta.tck.data.web.example.ComplexServletTests
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.990 s -- in ee.jakarta.tck.data.web.example.ComplexServletTests
[INFO] Running ee.jakarta.tck.data.web.validation.ValidationTests
Processing archive e650839a-966a-4b7e-9cc7-5d2ad7dbc46a.war, test=ee.jakarta.tck.data.web.validation.ValidationTests
Added ee.jakarta.tck.data.web.validation.Rectangle_
Added ee.jakarta.tck.data.web.validation.Rectangles_
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.549 s -- in ee.jakarta.tck.data.web.validation.ValidationTests
Stopping container using command: [/Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home/bin/java, -jar, /Users/starksm/Dev/Jakarta/hibernate-data-tck-gf/runner-web/target/glassfish7/glassfish/modules/admin-cli.jar, stop-domain, -t]
Waiting finished after 31 ms.
Stopping database using command: [/Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home/bin/java, -jar, /Users/starksm/Dev/Jakarta/hibernate-data-tck-gf/runner-web/target/glassfish7/glassfish/modules/admin-cli.jar, stop-database, -t]
Wed May 15 13:43:00 CST 2024 : Connection obtained for host: 0.0.0.0, port number 1527.
Wed May 15 13:43:00 CST 2024 : Apache Derby Network Server - 10.15.2.0 - (1873585) shutdown
[INFO] 
[INFO] Results:
[INFO] 
[ERROR] Errors: 
[ERROR]   PersistenceEntityTests.testEntityManager:65 » Data Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)]
[ERROR]   PersistenceEntityTests.testIdAttributeWithDifferentName:79 » Data Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)]
[ERROR]   PersistenceEntityTests.testLike:125 » Data Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)]
[ERROR]   PersistenceEntityTests.testNotRunOnNOSQL:147->lambda$testNotRunOnNOSQL$0:147 » Data Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)]
[ERROR]   PersistenceEntityTests.testNull:221 » Data Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)]
[ERROR]   PersistenceEntityTests.testQueryWithNamedParameters:243 » Data Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)]
[ERROR]   PersistenceEntityTests.testQueryWithPositionalParameters:262 » Data Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)]
[ERROR]   PersistenceTests.testCommit:63 » Data Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)]
[ERROR]   PersistenceTests.testRollback:88 » Data Unable to bind parameter for upsert insert [The column position '5' is out of range.  The number of columns for this ResultSet is '4'.] [insert into Product (name,price,versionNum,productNum) values (?,?,?,?)]
[INFO] 
[ERROR] Tests run: 99, Failures: 0, Errors: 9, Skipped: 0
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  26.598 s
[INFO] Finished at: 2024-05-15T13:43:00-06:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.2.5:test (default-test) on project hiberate-data-tck-web-glassfish-runner: 
[ERROR] 
[ERROR] Please refer to /Users/starksm/Dev/Jakarta/hibernate-data-tck-gf/runner-web/target/surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
starksm64 commented 1 month ago

@arjantijms see if you know anything about this issue. I found a couple of references to it, but no solution. It is either a dialect configuration issue or some bug between Hibernate and Derby.

arjantijms commented 1 month ago

Hi, maybe it's an option to look at embedding an H2 database and use that for the tests. This is what the Security TCK does as well:

https://github.com/jakartaee/security/tree/master/tck/app-db

It can be done externally as well of course by defining the datasource in a GF specific way. It does depend on the TCK having the option to specify a data source for use by persistence.xml.

scottmarlow commented 1 month ago

runner-web/src/test/java/org/hibernate/data/tck/ext/JPAProcessor.java seems to have the right dialect for Derby:

"org.hibernate.dialect.DerbyDialect"

If we are only running initially on Java 21, perhaps try updating runner-web/pom.xml to use the 10.17.1.0 version of Derby instead of 10.16.1.1. That probably will not help based on the error message but mentioning anyway.

If we could run on Java 17, that might be a better thing to try first as Derby 10.16.1.1 should work on Java 17.

scottmarlow commented 1 month ago

I wonder if it could help to update https://github.com/jakartaredhat/hibernate-data-tck-gf/blob/master/runner-web/pom.xml#L35 to reference 6.6.0.Alpha2</hibernate.data.version> which is now available as well.

starksm64 commented 1 month ago

I was not able to embed the h2 db because in an EE environment Hibernate is configured vi the JPA SPI and expects a JCA pool resource. With the latest changes to configure an h2 based connection pool, all tests are passing:

starksm@Scotts-Mac-Studio runner-web % mvn -Pstaging test
...
[INFO] Results:
[INFO] 
[INFO] Tests run: 99, Failures: 0, Errors: 0, Skipped: 0
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  24.948 s
[INFO] Finished at: 2024-06-03T17:29:32-06:00
[INFO] ------------------------------------------------------------------------
arjantijms commented 1 month ago

I was not able to embed the h2 db because in an EE environment Hibernate is configured vi the JPA SPI and expects a JCA pool resource.

Although it's not necessary anymore now, potentially it may have worked by creating a data source using @DataSourceDefinition?