You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by pc...@apache.org on 2026/05/13 12:16:02 UTC

(openjpa) branch OPENJPA-2940 updated (2e9b0cdd1 -> bda14fe54)

This is an automated email from the ASF dual-hosted git repository.

cristof pushed a change to branch OPENJPA-2940
in repository https://gitbox.apache.org/repos/asf/openjpa.git


    from 2e9b0cdd1 [WIP][OPENJPA-2940] Implements version JPQL function
     add 44d0d7f5c [WIP][OPENJPA-2940] Implements CONCAT operator
     add f90549c15 [WIP][OPENJPA-2940] Implements NULLS FIRST / LAST
     add ba0a2d688 [WIP][OPENJPA-2940] Implements set operations
     add 8d373a3d6 [WIP][OPENJPA-2940] Make identification variables and SELECT clause optional in JPQL" implementation
     add c138b83dd [WIP][OPENJPA-2940] More work on the JPQL / Criteria side
     add bc8926baf [WIP][OPENJPA-2940] Embed Records
     add a5d724993 [WIP][OPENJPA-2940]   ORDER BY alias regression (JPQL fix)
     add 7ebc02030 Fix Java 21 build
     add 5051dc732 [WIP][OPENJPA-2940] Add additional tests for emebeddable records
     add 06cd8ec59 [WIP][OPENJPA-2940] Add additional tests for emebeddable records and fixes
     add 8753ab6b7 [WIP][OPENJPA-2940] Adds support for java.time.Instant and java.time.Year a
     add b11656c19 [WIP][OPENJPA-2940] Adds support for Instant and LocalDateTime versions
     add bf3d2b1d9 [WIP][OPENJPA-2940] Primary key classes are no longer required to be public and serializable
     add d4ac0a5fa [WIP][OPENJPA-2940] Static inner classes as entities/embeddables (already working)
     add f732f5117 [WIP][OPENJPA-2940] Handle jakarta.persistence.dataSource
     add 1db745306 [WIP][OPENJPA-2940] Add secondPrecision to @Column annotation support
     add d99b28db6 [WIP][OPENJPA-2940] Adds entities(), classes() and columns() to NamedNativeQuery
     add 00441cae5 [WIP][OPENJPA-2940] Adds options member to elements which result in DDL generation
     add b147889df [WIP][OPENJPA-2940] Adds constants for managed types, named queries and named result set mappings to generated StaticMetamodel
     add 52db2f091 [WIP][OPENJPA-2940] Adds constants for managed types, named queries and named result set mappings to generated StaticMetamodel
     add 816bed1ec [WIP][OPENJPA-2940] Adds javax.annotation.processing.Generated to the list of defined annotations on StaticMetamodel
     add 95f73af98 [WIP][OPENJPA-2940] Adds EnumeratedValue allowing custom mapping of fields of Java enums
     add 3788f6f8c [WIP][OPENJPA-2940] Make the TCK runnable
     add 0777e1ff1 [WIP][OPENJPA-2940] Implement JPA 2.1 ConstructorResult
     add 88ff98e6a [WIP][OPENJPA-2940] Make TCK runnable
     add d488eab97 [WIP][OPENJPA-2940] TCK: Fix Field/Property Access Type on TCK. If we have Property access only Getter/Setters according to Java Bean Style should work.
     add 2382fcbce [WIP][OPENJPA-2940] TCK: JPA 3.2 spec Section 7.7: if close() is called when a  resource-local transaction is active, roll it back before closing.  For managed transactions, defer closing until the transaction completes.
     add d98a02c11 [WIP][OPENJPA-2940] TCK: Flush order for pre-existing FK keys in non OpenJPA created schema
     add 6168a418c [WIP][OPENJPA-2940] TCK: Fix inherited property access
     add cba446ad5 [WIP][OPENJPA-2940] TCK: Fix metamodel (non-persistent class listed in PU)
     add 5ff64cf76 [WIP][OPENJPA-2940] Fix a regression in code from tCK changes
     add 6bdaa4824 [WIP][OPENJPA-2940] TCK / JPA 3.2: Allow Calendar as ID
     add 7ccedb303 [WIP][OPENJPA-2940] TCK / JPA 3.2: Allow Calendar as ID
     add 614f8332e [WIP][OPENJPA-2940] Fix protected ctor in superclass in PCEnhancer
     add 02908ed87 [WIP][OPENJPA-2940] TCK: Fix NPE on lazy @ElementCollection fields with runtime enhancement
     add 99bcfd4b9 [WIP][OPENJPA-2940] TCK: Fix mixed access mode
     add fbae29f8f [WIP][OPENJPA-2940] PostgreSQL: Handle OID columns
     add b65651ab5 [WIP][OPENJPA-2940] PostgreSQL: Has native CHAR support now. No need to store as number
     add 666765786 [WIP][OPENJPA-2940] TCK: Fix listener callback issues
     add cb7fb24ab [WIP][OPENJPA-2940] TCK:   1. Root cause: When both setRedefine(true) and setCreateSubclass(true) are active, replaceAndValidateFieldAccess() only processed pc (the empty subclass) methods, missing the managedType (original class) methods. PUTFIELD interception was never injected into the original class bytecode that gets retransformed. 2. addNotifyMutation bug: insns.getLast() returned null after insert() because ASM empties the source InsnList when moving nodes. Fixed [...]
     add c76e9f251 [WIP][OPENJPA-2940] TCK: Closed EntityManager throws
     add 350965613 [WIP][OPENJPA-2940] TCK: Closed EntityManager throws
     add 3e8d7ea43 [WIP][OPENJPA-2940] Apply some fixes on general test suite after TCK changes
     add 15605a403 [WIP][OPENJPA-2940] TCK: Reader/Writer Support for Schema Actions
     add ccefdb270 [WIP][OPENJPA-2940] TCK: Schema generation improvements
     add 61e6a848c [WIP][OPENJPA-2940] TCK: Schema generation improvements
     add 9d5766d7c  [WIP][OPENJPA-2940] Fix Query parameter API and add getSingleResultOrNull()
     add b966f3db9 [WIP][OPENJPA-2940] Implement CriteriaUpdate/Delete and fix query/criteria API gaps
     add 95ee03d70 [OPENJPA-2940] Implement JPA 3.2 stubs: extract(), lock/refresh options, query cache/timeout
     add cd4a95ac4 [OPENJPA-2940] Implement JPA 3.2 stubs: extract(), lock/refresh options, query cache/timeout
     add 10526cc93 [OPENJPA-2940] Fix corrupt jar reads by disabling URL caching for metadata resources
     add 023a35c42 [OPENJPA-2940] TCK:  Allow @Basic to coexist with specific persistence strategy annotations                          getPersistenceStrategy() no longer rejects fields annotated with both                          @Basic and a more specific strategy like @ElementCollection. The                          specific strategy wins. This matches TCK entities like Customer.phones                          which have @Basic + @ElementCollection on the same field.
     add cf0166feb [OPENJPA-2940] Fix PostgreSQL OID Large Object reads in auto-commit mode
     add 5e8685d47 [OPENJPA-2940] Mark transaction for rollback on EM RuntimeExceptions
     add b53766529 [OPENJPA-2940] Allow mixed FIELD+PROPERTY annotation placement without @Access
     add ffa487e10  [OPENJPA-2940] Deduplicate default entity listeners across orm.xml files
     add 682c7229c [OPENJPA-2940] Fix schema gen drop scripts and SchemaAction property parsing
     add df5fa43cf [OPENJPA-2940] Keep broker alive on EM close for reuse after begin()
     add 1722233c7 [OPENJPA-2940] Revert: Keep broker alive on EM close for reuse after begin()
     add f3b8dda7e [OPENJPA-2940] Fix PostgreSQL identifier quoting creating duplicate tables
     add 65afdd447 [OPENJPA-2940] Fx PostgreSQL identifier quoting creating duplicate tables
     add 45c193e25 [OPENJPA-2940] Fix Date/Calendar ClassCastException in @Temporal fields
     add 92e66c9bf  [OPENJPA-2940] Implement EntityGraph API and fix access-duplicate for dual-annotated entities
     add 9a0e05ac3   [OPENJPA-2940] Fix StoredProcedureQuery for PostgreSQL TCK compliance
     add 3f4f1bca0  [OPENJPA-2940] Fix StoredProcedureQuery REF_CURSOR handling and parameterless procedures
     add 85192e8c5   [OPENJPA-2940] Fix StoredProcedureQuery parameter handling, parameterless procedures, and Calendar temporal support
     add b13f451c8   [OPENJPA-2940] Comprehensive Criteria API fixes for JPA 3.2 TCK compliance
     add 3651acf1d   [OPENJPA-2940] Add @Convert annotation parsing, @SequenceGenerators/@TableGenerators support, and fix derived identity cast
     add b6c6c3346 [OPENJPA-2940] Fix derived identity bytecode for unenhanced entities   - PCEnhancer.addExtractObjectIdFieldValueCode(): Replace CHECKCAST PersistenceCapable + INVOKEINTERFACE pcFetchObjectId/pcNewObjectIdInstance with   INVOKESTATIC ApplicationIds.getRelatedObjectId(). Avoids ClassCastException for unenhanced entities during derived identity PK extraction.   - ApplicationIds.getRelatedObjectId(Object): New static method that handles both enhanced and unenhanced entities [...]
     add 338aed518 [OPENJPA-2940] Fix Metamodel API isAssociation, getBindableType, getId strict type checking
     add be7ee514b  [OPENJPA-2940] Fix EntityManager spec compliance, PersistenceUnitUtil for unenhanced entities, and JPQL TREAT/JOIN ON support
     add 033b9962f  [OPENJPA-2940] Fix OrderBy @AttributeOverride, EMF addNamedQuery/getMetamodel, and MapKey unqualified overrides
     add 7eba99b9d [OPENJPA-2940] Fix entity API validation, constructor expressions, temporal parameters, and cascade lifecycle
     add e9ade055c   [OPENJPA-2940] Fix eager collection loading, query lock/flush, EMF lifecycle, Short arithmetic, and read-only join cascade
     add 954cec901  [OPENJPA-2940] Fix metamodel mixed access setup, BigDecimal/UUID/DateTime types, XML callback dedup, and embeddable recognition
     add d5e02d2bf   [OPENJPA-2940] Fix BigDecimal/BigInteger shared table, EMF addNamedQuery criteria, detach remove IAE, and schema gen annotations
     add 8e4ccc892  [OPENJPA-2940] Fix TREAT JOIN discriminator, UUID binding, schema gen drop scripts, enum/temporal column tolerance, and @SequenceGenerators parsing
     add c8e397d49  [OPENJPA-2940] Fix StoredProcedureQuery XML overrides, @Convert runtime execution, and getSingleResult exceptions
     add a12642b9c   [OPENJPA-2940] Fix EM close/rollback spec compliance, OrderBy dot notation, and cascade ManyToOne
     add 58ffe9c53   [OPENJPA-2940] Fix AccessDefiningFilter for dual-annotated entities and mappedBy resolution
     add 6171fe181   [OPENJPA-2940] Fix find/getReference PK validation and RuntimeException rollback marking
     add 4b654cb38 [OPENJPA-2940] Fix @Convert TCK failures: embedded converters, MappedSuperclass override, exception wrapping, auto-apply char[]
     add 4c00f6c2f [OPENJPA-2940] Fix @Transient field + getter access type for @MapKeyEnumerated/@MapKeyTemporal TCK failures
     add f3da5ee3c [OPENJPA-2940] Fix derived identity (@IdClass, @EmbeddedId, @MapsId) for runtime-enhanced entities
     add 44d4a33f7 [OPENJPA-2940] Fix derived identity regressions for composite parent IdClass/EmbeddedId
     add 68671e667 [OPENJPA-2940] Support lowercase property names after get/set prefix for runtime-enhanced entities
     add 4d4fe6514 [OPENJPA-2940] Fix @MapKeyColumn persistence for @OneToMany(mappedBy) maps and NPE in delete
     add e3265b436 [OPENJPA-2940] Fix shared column type conflict for ORDINAL/STRING @MapKeyEnumerated
     add 8f34efc1e [OPENJPA-2940] Fix dirty tracking for property-access entities with differing field/property names during class redefinition
     add a5eb08d93 [OPENJPA-2940] Fix getClass() mismatch in runtime-enhanced entity equals/hashCode and DoesNotExist table auto-creation
     add c2a4de4d0   [OPENJPA-2940] Fix SyncMappingsExcludeTypes as standalone config property
     add 682623b6d [OPENJPA-2940] Fix CriteriaUpdate/Delete rollback marking and excluded type table cleanup
     add 3486d29f3 [OPENJPA-2940] Fix ON DELETE CASCADE tolerance, JoinColumn updatable=false flush, and secondary table FK drop script
     add ca904090d [OPENJPA-2940] Drop stale PostgreSQL tables before TCK run
     add 00771962c   [OPENJPA-2940] Fix @Transient mixed access, default map key column naming, and shared entity/collection table handling
     add 9d5233a05 [OPENJPA-2940] Fix @MapsId FK column naming for @EmbeddedId derived identity
     add e786904cf [OPENJPA-2940] Fix @SecondaryTable FK constraint in schema generation scripts
     add 98214ac26 [OPENJPA-2940] Fix @EmbeddedId with non-@Embeddable @IdClass derived identity (JPA 2.4.1.3 ex2b)
     add 6c4f511f8 [OPENJPA-2940] Simplify TCK runner: PostgreSQL-only, add README
     add b7a1bbfc1 [OPENJPA-2940] Fix checkstyle line length in PostgresDictionary
     add 13e8fbe75   [OPENJPA-2940] Add license header to docker-compose.yml
     add bd4139bab  [OPENJPA-2940] Clean up TCK module: remove legacy JPA 1.0/2.0 profiles   Remove obsolete tck-profile (JPA 1.0b), tck2-profile (JPA 2.0), and test-db2-jcc profiles. Only the JPA 3.2 TCK profile remains.
     add 155c3ff3a  [OPENJPA-2940] Update README
     add ff390ba1d [OPENJPA-2940] Update tests for JPA 3.2 spec compliance
     add 48a0132ff [OPENJPA-2940] Fix NPE in RelationFieldStrategy.setMapKey for shared-table entities
     add fbdad2bdc [OPENJPA-2940] Fix @ManyToMany(mappedBy) map insert writing to wrong table
     add b09d10f6d [OPENJPA-2940] Fix em.find() PK validation for OpenJPA identity objects
     add 03ee2a4f9 [OPENJPA-2940] Fix temporal type conversion and Filters.canConvert gaps
     add a8f50583f [OPENJPA-2940] Gate SchemaTool dropped-table tracking on SpecCompliantSchemaGeneration
     add d59ce9704 [OPENJPA-2940] Gate @MapsId FK column renaming on SpecCompliantSchemaGeneration
     add 31a2d9657 [OPENJPA-2940] Update tests for ArrayList-backed getResultList() (JPA 3.2)
     add 1c3534fee [OPENJPA-2940] Allow positional access for named stored procedure parameters
     add 8ebd9f0ac [OPENJPA-2940] Fix getId(Class) for IdClass entities with multiple ID attributes
     add cc94f81b6 [OPENJPA-2940] Re-throw XML validation errors in parseResources()
     add 7aee48e82 [OPENJPA-2940] Fix access type, bulk DELETE, and QBE regressions
     add 99111bf1a [OPENJPA-2940] Fix non-standard accessor test and schema drop tracking
     add d0a607e73 [OPENJPA-2940] Deduplicate code in BrokerFactory, EmbedValueHandler, and MetaDataDefaults
     add 4e2f357c0 [OPENJPA-2940] Remove duplicate BigDecimal/BigInteger shared-table tests from TestIdTypeFixes
     add 8f84f06d0 [OPENJPA-2940] Fix PostgreSQL UUID binding, null char handling, and schema drop tracking
     add 124fa0158 [OPENJPA-2940] Fix PostgreSQL UUID parameter binding for both native UUID and VARCHAR columns
     add 10598c41d [OPENJPA-2940] Guard SchemaTool dropped-table tracking with SpecCompliantSchemaGeneration
     add 116ea2050 [OPENJPA-2940] Fix PostgresDictionary.toDBName() stripping required quotes from numeric identifiers
     add 62a7a5e4d [OPENJPA-2940] Fix toDBName() to validate entire identifier before stripping quotes
     add b6fde0b29 [OPENJPA-2940] Guard PostgresDictionary delimitedCase=LOWER with SpecCompliantSchemaGeneration
     add 4cb9af0db [OPENJPA-2940] Remove TestPostgresIdentifiers, no longer applicable
     add 35db95b01 [OPENJPA-2940] Bump xbean-asm9-shaded 4.26 -> 4.30 for JDK 25 classfile support
     add 81942b7aa Upgrading Apache XBean to allow JDK compatibility up to 26 (#139)
     add 3a708ad3c Merge branch 'master' into OPENJPA-2940
     add 5d597eed0 [OPENJPA-2940] Relax FK constraint syntax assertions for MySQL/MariaDB
     add b044ec7ff [OPENJPA-2940] Rename TCustomer @Table to avoid TCUSTOMER collision
     add 83e933a63 [OPENJPA-2940] Fix TestBatchLimitException MariaDB branch assertion
     add 76e829393 [OPENJPA-2940] Request 6 fractional digits for temporal @Version columns
     add 0970b7642 Revert "[OPENJPA-2940] Request 6 fractional digits for temporal @Version columns"
     add c938650a9 [OPENJPA-2940] Enable microsecond temporal precision on modern MariaDB/MySQL
     add db1af672c [OPENJPA-2940] Tolerate Calendar<->Date mismatch in SingleFieldManager.proxy
     add ae5072b1e [OPENJPA-2940] Keep connection open during runWithConnection/callWithConnection when tx is active
     add 09d1d1a95 [OPENJPA-2940] Emulate NULLS FIRST/LAST on MySQL/MariaDB
     add 61e93dd0a [OPENJPA-2940] Fork JVM for generate-standard-sco-proxies antrun on JDK 24+
     add 6613f8d9f [OPENJPA-2940] Add docker-compose test environments + fix MySQL driver config
     add 24ebf7142 [OPENJPA-2940] Add transformedBitIsBoolean=true to MySQL JDBC test URL
     add 12f833f78 [OPENJPA-2940] Fix SchemaManager.validate() and truncate() on PostgreSQL
     add 2a24744d3 [OPENJPA-2940] Make SchemaTool.deleteTableContents() best-effort
     add 7a6d43459 [OPENJPA-2940] Expose MySQL docker on host port 3307 for parallel-DB testing
     add e05eee7f7 [OPENJPA-2940] Accept both per-row and first-row-of-batch failure reports on MariaDB
     add d93cb5214 [OPENJPA-2940] Bump docker-compose MariaDB image to 11.8
     add 589ea8c15 [OPENJPA-2940] Add allowPublicKeyRetrieval=true to MySQL test JDBC URL
     add c0742b573 [OPENJPA-2940] Fix PG17/PG18 CUSTMAPPC boolean binding and pin TZ in build matrix
     add a928f5a0e  [OPENJPA-2940] Fix matrix build script
     add a0674cd11 [OPENJPA-2940] Fix TestPessimisticLocks fragility on PG17
     add 3c345cc82 [OPENJPA-2940] Clean up stray jdbc: artifact dirs after matrix runs
     add 5706ece38 [OPENJPA-2940] Move Criteria tests to TestTypesafeCriteria, tag new public API @since 4.2.0
     add 2a918f9a7 [OPENJPA-2940] Reactivate TestClearableScheduler#testBasic
     add 889df96bb [OPENJPA-2940] Gate PostgreSQL storeCharsAsNumbers=false on server version
     add ca637d87c [OPENJPA-2940] Make moved Criteria tests SELECT-only to avoid PK collision
     add ee642211c [OPENJPA-2940] Cap getSingleResultOrNull row scan to detect non-uniqueness
     new bda14fe54 [OPENJPA-2940] Minor fixes so CriteriaTests work on pg

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .DS_Store                                          |  Bin 0 -> 8196 bytes
 .gitignore                                         |    5 +
 README.adoc                                        |    2 +-
 docker-compose-test-mariadb.yml                    |   46 +
 docker-compose-test-mysql.yml                      |   47 +
 docker-compose-test-pg17.yml                       |   34 +
 docker-compose-test-pg18.yml                       |   34 +
 docker-compose.yml                                 |   27 +
 openjpa-integration/tck/README.md                  |  130 ++
 openjpa-integration/tck/pom.xml                    |  491 +---
 openjpa-integration/tck/run-tck32.sh               |  191 ++
 openjpa-integration/tck/sql/create.openjpa.sql.xml |   65 -
 openjpa-integration/tck/sql/db2.sql                |  207 --
 openjpa-integration/tck/sql/derby.sql              |   36 -
 openjpa-integration/tck/tck2-20091209.xml          |  411 ----
 openjpa-integration/tck/tck2-20101205.xml          |  377 ---
 openjpa-integration/tck/tck2-20110815.xml          |  443 ----
 openjpa-integration/tck/tck32-openjpa-profile.xml  |   78 +
 .../tck/windows-replacefilter.properties           |   18 -
 .../openjpa/jdbc/conf/JDBCConfiguration.java       |   16 +
 .../openjpa/jdbc/conf/JDBCConfigurationImpl.java   |   13 +
 .../BatchingPreparedStatementManagerImpl.java      |   31 +-
 .../openjpa/jdbc/kernel/JDBCBrokerFactory.java     |  227 +-
 .../openjpa/jdbc/kernel/JDBCStoreManager.java      |   29 +-
 .../apache/openjpa/jdbc/kernel/JDBCStoreQuery.java |  101 +-
 .../kernel/MappedQueryResultObjectProvider.java    |  138 +-
 .../apache/openjpa/jdbc/kernel/NativeJDBCSeq.java  |   11 +-
 .../jdbc/kernel/PreparedStatementManagerImpl.java  |   23 +-
 .../openjpa/jdbc/kernel/StoredProcedureQuery.java  |   71 +-
 .../java/org/apache/openjpa/jdbc/kernel/XROP.java  |   43 +
 .../kernel/exps/BindVariableAndExpression.java     |    8 +-
 .../jdbc/kernel/exps/BindVariableExpression.java   |   51 +-
 .../org/apache/openjpa/jdbc/kernel/exps/Left.java  |    1 +
 .../apache/openjpa/jdbc/kernel/exps/Replace.java   |    1 +
 .../org/apache/openjpa/jdbc/kernel/exps/Right.java |    1 +
 .../jdbc/kernel/exps/SelectConstructor.java        |    6 +-
 .../openjpa/jdbc/kernel/exps/TypecastAsNumber.java |    1 +
 .../openjpa/jdbc/kernel/exps/TypecastAsString.java |    1 +
 .../org/apache/openjpa/jdbc/meta/ClassMapping.java |  133 ++
 .../apache/openjpa/jdbc/meta/ClassMappingInfo.java |   32 +
 .../org/apache/openjpa/jdbc/meta/FieldMapping.java |   23 +-
 .../openjpa/jdbc/meta/MappingDefaultsImpl.java     |    6 +-
 .../org/apache/openjpa/jdbc/meta/MappingInfo.java  |  139 +-
 .../openjpa/jdbc/meta/MappingRepository.java       |  110 +
 .../org/apache/openjpa/jdbc/meta/MappingTool.java  |  135 +-
 .../openjpa/jdbc/meta/QueryResultMapping.java      |   70 +
 .../jdbc/meta/strats/ConverterElementHandler.java  |  142 ++
 .../jdbc/meta/strats/ConverterValueHandler.java    |   82 +
 .../jdbc/meta/strats/EmbedFieldStrategy.java       |   45 +-
 .../jdbc/meta/strats/EmbedValueHandler.java        |  140 +-
 .../openjpa/jdbc/meta/strats/EnumValueHandler.java |  131 +-
 .../jdbc/meta/strats/FullClassStrategy.java        |   11 +
 .../HandlerHandlerMapTableFieldStrategy.java       |   52 +-
 .../HandlerRelationMapTableFieldStrategy.java      |   47 +-
 .../jdbc/meta/strats/HandlerStrategies.java        |   20 +-
 .../jdbc/meta/strats/ImmutableValueHandler.java    |   44 +
 .../jdbc/meta/strats/InstantVersionStrategy.java   |   64 +
 .../meta/strats/LocalDateTimeVersionStrategy.java  |   64 +
 .../jdbc/meta/strats/RelationFieldStrategy.java    |   31 +
 .../RelationRelationMapTableFieldStrategy.java     |    4 +-
 .../org/apache/openjpa/jdbc/schema/Column.java     |   20 +
 .../org/apache/openjpa/jdbc/schema/ForeignKey.java |   39 +-
 .../java/org/apache/openjpa/jdbc/schema/Index.java |   30 +
 .../org/apache/openjpa/jdbc/schema/SchemaTool.java |  214 +-
 .../org/apache/openjpa/jdbc/schema/Schemas.java    |   14 +
 .../java/org/apache/openjpa/jdbc/schema/Table.java |    9 +
 .../apache/openjpa/jdbc/sql/AbstractResult.java    |   34 +
 .../org/apache/openjpa/jdbc/sql/DBDictionary.java  |  241 +-
 .../org/apache/openjpa/jdbc/sql/LogicalUnion.java  |   15 +
 .../apache/openjpa/jdbc/sql/MariaDBDictionary.java |   62 +-
 .../org/apache/openjpa/jdbc/sql/MergedResult.java  |   12 +
 .../apache/openjpa/jdbc/sql/MySQLDictionary.java   |   59 +
 .../openjpa/jdbc/sql/PostgresDictionary.java       |  315 ++-
 .../org/apache/openjpa/jdbc/sql/PrimaryRow.java    |   33 +-
 .../java/org/apache/openjpa/jdbc/sql/Result.java   |   14 +
 .../apache/openjpa/jdbc/sql/ResultSetResult.java   |   18 +
 .../java/org/apache/openjpa/jdbc/sql/Select.java   |   19 +
 .../org/apache/openjpa/jdbc/sql/SelectImpl.java    |  202 +-
 .../apache/openjpa/jdbc/sql/StoredProcedure.java   |   22 +-
 .../openjpa/jdbc/meta/strats/localizer.properties  |    4 +
 openjpa-kernel/pom.xml                             |    7 +-
 .../org/apache/openjpa/conf/Compatibility.java     |   23 +
 .../apache/openjpa/conf/OpenJPAConfiguration.java  |   52 +
 .../openjpa/conf/OpenJPAConfigurationImpl.java     |  106 +-
 .../org/apache/openjpa/enhance/ClassRedefiner.java |   41 +-
 .../openjpa/enhance/ManagedClassSubclasser.java    |   71 +-
 .../openjpa/enhance/PCClassFileTransformer.java    |    8 +
 .../org/apache/openjpa/enhance/PCEnhancer.java     |  477 +++-
 .../openjpa/enhance/PCSubclassValidator.java       |   27 +-
 .../openjpa/enhance/RecordPersistenceCapable.java  |  495 ++++
 .../apache/openjpa/enhance/RedefinitionHelper.java |   49 +-
 .../enhance/ReflectingPersistenceCapable.java      |  145 +-
 .../org/apache/openjpa/enhance/Reflection.java     |   18 +
 .../openjpa/event/MethodLifecycleCallbacks.java    |    8 +-
 .../openjpa/kernel/AbstractBrokerFactory.java      |    3 +
 .../org/apache/openjpa/kernel/AttachStrategy.java  |    2 +
 .../org/apache/openjpa/kernel/BrokerFactory.java   |   38 +-
 .../java/org/apache/openjpa/kernel/BrokerImpl.java |   83 +-
 .../openjpa/kernel/ExpressionStoreQuery.java       |   11 +-
 .../org/apache/openjpa/kernel/FillStrategy.java    |   24 +-
 .../java/org/apache/openjpa/kernel/Filters.java    |    4 +-
 .../java/org/apache/openjpa/kernel/QueryImpl.java  |  395 ++--
 .../apache/openjpa/kernel/SingleFieldManager.java  |   67 +-
 .../apache/openjpa/kernel/StateManagerImpl.java    |   38 +-
 .../java/org/apache/openjpa/kernel/StoreQuery.java |    1 +
 .../openjpa/kernel/VersionAttachStrategy.java      |    7 +
 .../kernel/exps/AbstractExpressionBuilder.java     |   81 +
 .../apache/openjpa/kernel/exps/CandidatePath.java  |   16 +-
 .../openjpa/kernel/exps/ExpressionFactory.java     |   35 +-
 .../openjpa/kernel/exps/QueryExpressions.java      |   15 +
 .../openjpa/kernel/exps/TypecastAsNumberPart.java  |    2 +
 .../openjpa/kernel/jpql/JPQLExpressionBuilder.java |  237 +-
 .../openjpa/meta/AbstractMetaDataDefaults.java     |    1 +
 .../java/org/apache/openjpa/meta/AccessCode.java   |    8 +-
 .../org/apache/openjpa/meta/ClassMetaData.java     |   69 +-
 .../apache/openjpa/meta/EntityGraphMetaData.java   |  108 +
 .../org/apache/openjpa/meta/FieldMetaData.java     |  322 ++-
 .../java/org/apache/openjpa/meta/JavaTypes.java    |   10 +
 .../apache/openjpa/meta/MetaDataRepository.java    |  123 +-
 .../org/apache/openjpa/meta/QueryMetaData.java     |   51 +-
 .../org/apache/openjpa/util/ApplicationIds.java    |   60 +-
 .../main/java/org/apache/openjpa/util/DateId.java  |    7 +-
 .../java/org/apache/openjpa/util/ImplHelper.java   |   25 +
 .../org/apache/openjpa/util/ProxyManagerImpl.java  |    2 +-
 .../openjpa/util/proxy/DelayedArrayListProxy.java  |   38 +
 .../util/proxy/DelayedLinkedHashSetProxy.java      |   61 +
 .../openjpa/util/proxy/DelayedLinkedListProxy.java |   29 +-
 .../openjpa/util/proxy/DelayedTreeSetProxy.java    |   43 +
 .../openjpa/util/proxy/DelayedVectorProxy.java     |   38 +
 .../jjtree/org/apache/openjpa/kernel/jpql/JPQL.jjt |  103 +-
 .../org/apache/openjpa/meta/localizer.properties   |    4 +-
 .../event/TestMethodLifecycleCallbacks.java        |  104 +
 .../apache/openjpa/kernel/jpql/TestJPQLParser.java |  239 ++
 .../openjpa/lib/meta/URLMetaDataIterator.java      |    5 +-
 .../apache/openjpa/lib/util/J2DoPrivHelper.java    |    4 +-
 .../jdbc/AnnotationPersistenceMappingParser.java   |  241 +-
 .../openjpa/persistence/jdbc/MappingTag.java       |    3 +
 .../jdbc/XMLPersistenceMappingParser.java          |  287 ++-
 .../procedure/TestStoredProcedureQueryFixes.java   |  217 ++
 .../procedure/TestStoredProcedureXmlOverride.java  |   88 +
 .../access/FieldAccessColumnOnGetter.java          |  105 +
 .../access/FieldAccessColumnOnGetterEntity.java    |   69 +
 .../access/PropertyAccessCapitalization.java       |   18 +-
 .../access/TestFieldAccessColumnOnGetter.java      |  176 ++
 .../access/TestPropertyAccessCapitalization.java   |    6 +-
 .../batch/exception/TestBatchLimitException.java   |   21 +-
 .../openjpa/persistence/callbacks/ListenerA.java   |   34 +-
 .../openjpa/persistence/callbacks/ListenerB.java   |   29 +-
 .../openjpa/persistence/callbacks/ListenerC.java   |   29 +-
 .../callbacks/TestListenerOverride.java            |   99 +
 .../callbacks/TestXmlCallbackDedup.java            |   83 +
 .../UnenhancedListenerOverrideEntity.java}         |   59 +-
 .../persistence/callbacks/XmlCallbackEntity.java   |   81 +
 .../persistence/callbacks/XmlCallbackListener.java |   34 +-
 .../mx1/CascadeMx1A.java}                          |   71 +-
 .../cascade/mx1/CascadeMx1BCascadeAll.java         |   84 +
 .../cascade/mx1/CascadeMx1BCascadePersist.java     |   84 +
 .../cascade/mx1/TestCascadePersistManyToOne.java   |  133 ++
 .../cascade/mx1/TestUnenhancedCascadeMx1.java      |   79 +
 .../mx1/UnenhancedCascadeA.java}                   |   71 +-
 .../cascade/mx1/UnenhancedCascadeB.java            |   86 +
 .../TestContainerSpecCompatibilityOptions.java     |    9 +-
 .../compat/TestSpecCompatibilityOptions.java       |    9 +-
 .../persistence/convert/CharArrayConverter.java    |   50 +
 .../persistence/convert/CommaSepConverter.java     |   40 +-
 .../persistence/convert/ConvertAddress.java        |   75 +
 .../convert/ConvertCollectionEntity.java           |   75 +
 .../persistence/convert/ConvertEmbedEntity.java    |  107 +
 .../openjpa/persistence/convert/ConvertEntity.java |   81 +
 .../ConvertFailEntity.java}                        |   76 +-
 .../persistence/convert/ConvertFullTimeEmp.java    |   90 +
 .../persistence/convert/ConvertFullTimeEmp2.java   |   87 +
 .../persistence/convert/ConvertMappedSuper.java    |   72 +
 .../persistence/convert/ConvertMappedSuper2.java   |   70 +
 .../convert/ConvertRepeatableEntity.java           |   96 +
 .../openjpa/persistence/convert/DotConverter.java  |   37 +-
 .../openjpa/persistence/convert/DotConverter2.java |   37 +-
 .../persistence/convert/FailingConverter.java      |   49 +
 .../convert/NumberToStateConverter.java            |   58 +
 .../persistence/convert/SalaryConverter.java       |   38 +-
 .../persistence/convert/StringPrefixConverter.java |   43 +-
 .../persistence/convert/StringToIntConverter.java  |   40 +-
 .../convert/TestAttributeConverter.java            |  166 ++
 .../persistence/convert/TestConvertTck.java        |  261 +++
 .../criteria/AbstractCriteriaTestCase.java         |    2 +-
 .../openjpa/persistence/criteria/CriteriaTest.java |    7 +-
 .../openjpa/persistence/criteria/TestEdit.java     |    2 +-
 .../persistence/criteria/TestJPQLSubquery.java     |    5 +-
 .../persistence/criteria/TestMapJoinQuery.java     |  198 ++
 .../persistence/criteria/TestSubqueries.java       |    5 +-
 .../persistence/criteria/TestTypesafeCriteria.java |  113 +-
 .../criteria/results/TestMultiselect.java          |   48 +-
 .../criteria/results/TestTypedResults.java         |    4 +-
 .../datacache/TestBulkJPQLAndDataCache.java        |    9 +
 .../openjpa/persistence/embed/DID2bDependent.java  |   59 +
 .../persistence/embed/DID2bDependentId.java        |   56 +
 .../TimeKeeper.java => embed/DID2bEmployee.java}   |   61 +-
 .../openjpa/persistence/embed/DID2bEmployeeId.java |   54 +
 .../persistence/embed/TestDerivedIdEx2b.java       |  110 +
 .../persistence/embed/record/AddressRecord.java    |   27 +-
 .../persistence/embed/record/CoordinateRecord.java |   31 +-
 .../persistence/embed/record/LocationEntity.java   |   71 +
 .../embed/record/PersonWithRecordAddress.java      |   73 +
 .../embed/record/TestRecordEmbeddable.java         |  214 ++
 .../TestRecordEmbeddableAttributeOverride.java     |  174 ++
 .../record/TestRecordEmbeddableWithTypes.java      |  159 ++
 .../persistence/embed/record/WarehouseEntity.java  |  103 +
 .../embed/xmloverride/ComplaintEntity.java         |   72 +
 .../xmloverride/TestXmlEmbeddableOverride.java     |   85 +
 .../embed/xmloverride/XmlApplicant.java            |   53 +-
 .../enhance/fieldaccess/FieldAccessOrder.java      |   79 +
 .../TestFieldAccessWithNonStandardAccessors.java   |  112 +
 .../persistence/entitygraph/EGDepartment.java      |   46 +-
 .../persistence/entitygraph/EGEmployee.java        |   52 +
 .../persistence/entitygraph/EGEmployee2.java       |   55 +
 .../persistence/entitygraph/EGEmployee3.java       |   88 +
 .../persistence/entitygraph/TestEntityGraph.java   |  306 +++
 .../TestEntityManagerSpecCompliance.java           |  374 +++
 .../entitymanager/UnenhancedCoffee.java            |   80 +
 .../UnenhancedDoesNotExist.java}                   |   72 +-
 .../persistence/entitymanager/UnenhancedOrder.java |   93 +
 .../flush/TestFlushModeAutoNavigation.java         |  132 ++
 .../persistence/flush/UnenhancedFlushCustomer.java |   90 +
 .../persistence/flush/UnenhancedFlushOrder.java    |   81 +
 .../persistence/flush/UnenhancedFlushSpouse.java   |   88 +
 .../persistence/identity/DateTimeTypesEntity.java  |  122 +
 .../identity/PropertyBigDecimalIdEntity.java       |   67 +
 .../identity/PropertyBigIntegerIdEntity.java       |   67 +
 .../identity/SharedTableBigDecimalId.java          |   67 +
 .../SharedTableBigIntegerId.java}                  |   73 +-
 .../identity/TestBigDecimalIdSharedTable.java      |  182 ++
 .../persistence/identity/TestIdTypeFixes.java      |  190 ++
 .../TimeKeeper.java => identity/UUIDIdEntity.java} |   71 +-
 .../jdbc/annotations/AttrOverrideEmbed.java        |   67 +
 .../jdbc/annotations/AttrOverrideEntity.java       |   98 +
 .../TestAttributeOverrideOnOwnField.java           |  100 +
 .../mapping/bidi/TestBiDirectionalJoinTable.java   |    8 +-
 .../query/TestTemporalTypeParameterConversion.java |  203 ++
 .../TestTemporalTypeQueryParameterBinding.java     |    4 +-
 .../{TimeKeeper.java => HireDateEmployee.java}     |   67 +-
 .../persistence/jdbc/query/domain/TimeKeeper.java  |    6 +-
 .../jdbc/sqlcache/TestExternalizedParameter.java   |   48 +-
 .../jpql/clauses/TestEJBDeleteUpdateImpl.java      |    6 +-
 .../jpql/functions/TestEJBQLFunction.java          |  269 ++-
 .../treatjoinon/SeqGenEntity.java}                 |   59 +-
 .../persistence/jpql/treatjoinon/TCountry.java     |   33 +-
 .../treatjoinon/TCustomer.java}                    |   54 +-
 .../treatjoinon/TLineItem.java}                    |   59 +-
 .../treatjoinon/TOrder.java}                       |   55 +-
 .../treatjoinon/TProduct.java}                     |   58 +-
 .../jpql/treatjoinon/TSoftwareProduct.java         |   36 +-
 .../treatjoinon/TestSequenceGeneratorsParsing.java |   53 +
 .../persistence/jpql/treatjoinon/TestTckFixes.java |  217 ++
 .../treatjoinon/TestTreatJoinOnEmbeddable.java     |  254 ++
 .../lifecycle/TestEntityLifecycleTCK.java          |  457 ++++
 .../lifecycle/entity/CascadeManyToOneA.java        |   67 +
 .../lifecycle/entity/CascadeManyToOneB.java        |  102 +
 .../lifecycle/entity/CascadeOneToOneA.java         |   91 +
 .../lifecycle/entity/CascadeOneToOneB.java         |  104 +
 .../entity/PersistManyToOneA.java}                 |   78 +-
 .../lifecycle/entity/PersistManyToOneB.java        |  102 +
 .../lifecycle/entity/PersistOneToOneA.java         |   71 +
 .../lifecycle/entity/PersistOneToOneB.java         |   94 +
 .../openjpa/persistence/mapkey/MKEDepartment.java  |   78 +
 .../openjpa/persistence/mapkey/MKEDepartment4.java |   94 +
 .../openjpa/persistence/mapkey/MKEEmployee.java    |   97 +
 .../openjpa/persistence/mapkey/MKENumbers.java     |   26 +-
 .../openjpa/persistence/mapkey/MKEOffices.java     |   26 +-
 .../persistence/mapkey/MKEmbeddedEmployee.java     |   40 +-
 .../openjpa/persistence/mapkey/MKTDepartment.java  |   79 +
 .../openjpa/persistence/mapkey/MKTDepartment4.java |   97 +
 .../persistence/mapkey/MKTEmbeddedEmployee.java    |   40 +-
 .../openjpa/persistence/mapkey/MKTEmployee.java    |   86 +
 .../persistence/mapkey/SharedColDeptOrdinal.java   |   74 +
 .../persistence/mapkey/SharedColDeptString.java    |   75 +
 .../persistence/mapkey/SharedColEmpOrdinal.java    |   67 +
 .../persistence/mapkey/SharedColEmpString.java     |   67 +
 .../persistence/mapkey/SharedColOffices.java       |   30 +-
 .../mapkey/TestMapKeyEnumeratedTemporal.java       |  311 +++
 .../mapkey/TestSharedColumnEnumMapKey.java         |  217 ++
 .../mapkey/TestUnenhancedEntityGraphPattern.java   |   74 +
 .../mapkey/TestUnenhancedMapKeyEnumTemporal.java   |  307 +++
 .../persistence/mapkey/TestUnenhancedMappedBy.java |   70 +
 .../persistence/mapkey/UnenhancedEGDepartment.java |   83 +
 .../mapkey/UnenhancedEGDepartmentSimple.java       |   78 +
 .../persistence/mapkey/UnenhancedEGEmployee.java   |  103 +
 .../persistence/mapkey/UnenhancedMBDepartment.java |   77 +
 .../persistence/mapkey/UnenhancedMBEmployee.java   |  103 +
 .../persistence/mapkey/UnenhancedMKEDept.java      |   84 +
 .../persistence/mapkey/UnenhancedMKEDept4.java     |  100 +
 .../persistence/mapkey/UnenhancedMKEEmp.java       |  102 +
 .../persistence/mapkey/UnenhancedMKENumbers.java   |   26 +-
 .../persistence/mapkey/UnenhancedMKEOffices.java   |   26 +-
 .../persistence/mapkey/UnenhancedMKEmbedEmp.java   |   39 +-
 .../persistence/mapkey/UnenhancedMKTDept.java      |   85 +
 .../persistence/mapkey/UnenhancedMKTDept4.java     |  101 +
 .../persistence/mapkey/UnenhancedMKTEmp.java       |   91 +
 .../openjpa/persistence/meta/TestMetamodel.java    |  125 +-
 .../orderby/TestOrderByDotNotation.java            |  145 ++
 .../persistence/orderby/UnenhancedObAddress.java   |  106 +
 .../orderby/UnenhancedObOwnerField.java            |   93 +
 .../orderby/UnenhancedObOwnerProperty.java         |   87 +
 .../persistence/orderby/UnenhancedObZipCode.java   |   44 +-
 .../delayed/DelayedProxyCollectionsTestCase.java   |   14 +
 .../persistence/query/EagerChildEntity.java        |   74 +
 .../persistence/query/EagerParentEntity.java       |   85 +
 .../ReadOnlyJoinDept.java}                         |   71 +-
 .../persistence/query/ReadOnlyJoinEmployee.java    |   76 +
 .../persistence/query/ShortFieldEntity.java        |   68 +
 .../persistence/query/TestEJBDeleteUpdateImpl.java |    1 +
 .../persistence/query/TestFlushModeAutoQuery.java  |  113 +
 .../query/TestOverrideAnnotationFixes.java         |  239 ++
 .../openjpa/persistence/query/TestQueryLock.java   |   71 +
 .../persistence/query/TestQueryResults.java        |   30 +-
 .../results/constructorresult/CrDto.java           |   45 +-
 .../results/constructorresult/CrEntity.java        |   76 +
 .../constructorresult/TestConstructorResult.java   |  106 +
 .../CalendarIdEntity.java}                         |   75 +-
 .../persistence/simple/CallbackTracker.java        |   29 +-
 .../TimeKeeper.java => simple/CascadeAEntity.java} |   60 +-
 .../persistence/simple/CascadeBAllEntity.java      |   65 +
 .../persistence/simple/CascadeBPersistEntity.java  |   65 +
 .../openjpa/persistence/simple/CoffeeBean.java     |   77 +
 .../openjpa/persistence/simple/CoffeeBeanDTO.java  |   49 +-
 .../persistence/simple/EnumeratedValueEntity.java  |   49 +-
 .../persistence/simple/EnumeratedValueStatus.java  |   39 +-
 .../TimeKeeper.java => simple/IndexedEntity.java}  |   77 +-
 .../persistence/simple/InstantVersionEntity.java   |   59 +-
 .../openjpa/persistence/simple/Java8TimeTypes.java |   22 +-
 .../simple/LocalDateTimeVersionEntity.java         |   59 +-
 .../openjpa/persistence/simple/MapKeyEnum.java     |   25 +-
 .../persistence/simple/MapKeyEnumEntity.java       |   99 +
 .../persistence/simple/MapKeyTemporalEntity.java   |  102 +
 .../persistence/simple/MapValueEmbeddable.java     |   43 +-
 .../simple/MetamodelConstantsEntity.java           |   63 +
 .../simple/MetamodelConstantsEntity_.java          |   48 +
 .../persistence/simple/MixedAccessBase.java        |   66 +
 .../persistence/simple/MixedAccessChild.java       |   43 +-
 .../openjpa/persistence/simple/MkeDepartment.java  |   81 +
 .../persistence/simple/MkeDepartmentOrdinal.java   |   81 +
 .../openjpa/persistence/simple/MkeEmployee.java    |   76 +
 .../persistence/simple/MkeEmployeeOrdinal.java     |   76 +
 .../openjpa/persistence/simple/MktDepartment.java  |   82 +
 .../openjpa/persistence/simple/MktDeptShared.java  |   81 +
 .../openjpa/persistence/simple/MktDeptShared2.java |   87 +
 .../openjpa/persistence/simple/MktEmpShared.java   |   75 +
 .../openjpa/persistence/simple/MktEmpShared2.java  |   75 +
 .../openjpa/persistence/simple/MktEmployee.java    |   76 +
 .../openjpa/persistence/simple/MxOneChild.java     |   90 +
 .../TimeKeeper.java => simple/MxOneParent.java}    |   78 +-
 .../simple/NativeQueryResultEntity.java            |   70 +
 .../openjpa/persistence/simple/NonPublicId.java    |   49 +-
 .../persistence/simple/NonPublicIdEntity.java      |   37 +-
 .../openjpa/persistence/simple/NotAnEntity.java    |   34 +-
 .../openjpa/persistence/simple/OptionsEntity.java  |   51 +-
 .../persistence/simple/PropertyAccessMember.java   |   95 +
 .../persistence/simple/PropertyAccessOrder.java    |   93 +
 .../persistence/simple/SchemaGenCourse.java        |   61 +
 .../openjpa/persistence/simple/SchemaGenDept.java  |   54 +
 .../openjpa/persistence/simple/SchemaGenEmp.java   |   63 +
 .../SchemaGenSecondary.java}                       |   65 +-
 .../SchemaGenSeqEntity.java}                       |   58 +-
 .../SchemaGenStudent.java}                         |   56 +-
 .../persistence/simple/SecondPrecisionEntity.java  |   83 +
 .../persistence/simple/SimpleOrderEntity.java      |   63 +
 .../persistence/simple/StaticInnerEntity.java      |   96 +
 .../openjpa/persistence/simple/TckMkDept.java      |   63 +
 .../openjpa/persistence/simple/TckMkEmp.java       |   79 +
 .../openjpa/persistence/simple/TckMkEmp2.java      |   80 +
 .../openjpa/persistence/simple/TckMktDept.java     |   66 +
 .../openjpa/persistence/simple/TckMktDept2.java    |   71 +
 .../openjpa/persistence/simple/TckMktDept4.java    |   81 +
 .../openjpa/persistence/simple/TckMktEmbEmp.java   |   38 +-
 .../openjpa/persistence/simple/TckMktEmp.java      |   60 +
 .../openjpa/persistence/simple/TckMktEmp2.java     |   60 +
 .../openjpa/persistence/simple/TckMktEmp4.java     |   60 +
 .../persistence/simple/TestCalendarIdEntity.java   |   65 +
 .../simple/TestCallbackWithRuntimeEnhancement.java |  114 +
 .../simple/TestCascadeManyToOneAndEM2.java         |  246 ++
 .../simple/TestCascadeOneToOneFlushOrder.java      |  261 +++
 .../simple/TestCriteriaAPIValidation.java          |  119 +
 .../simple/TestCriteriaUpdateDelete.java           |  185 ++
 .../openjpa/persistence/simple/TestDdlOptions.java |   85 +
 .../simple/TestElementCollectionBasic.java         |   76 +
 .../simple/TestEntityAPIValidation.java            |  215 ++
 .../simple/TestEntityLifecycleSpec.java            |  178 ++
 .../simple/TestEntityManagerAfterClose.java        |  215 ++
 ...estEntityManagerCloseWithActiveTransaction.java |  111 +
 .../simple/TestEntityManagerFactoryLifecycle.java  |  195 ++
 .../simple/TestEntityManagerFactoryTCK.java        |  494 ++++
 .../simple/TestEntityManagerTCKCompliance.java     |  242 ++
 .../persistence/simple/TestEnumeratedValue.java    |   95 +
 .../simple/TestGetSingleResultOrNull.java          |  124 +
 .../persistence/simple/TestIndexColumnParsing.java |   88 +
 .../simple/TestInheritedPropertyAccessPersist.java |  125 +
 .../persistence/simple/TestJava8TimeTypes.java     |   57 +
 .../simple/TestJoinColumnUpdatable.java            |  111 +
 .../simple/TestMapKeyAttributeOverride.java        |  122 +
 .../simple/TestMapKeyEnumeratedTemporal.java       |  301 +++
 .../TestMergeAfterSetWithRuntimeEnhancement.java   |  172 ++
 .../persistence/simple/TestMetamodelConstants.java |   97 +
 .../persistence/simple/TestMissingMetaData.java    |   18 +-
 .../persistence/simple/TestMixedAccess.java        |   64 +
 .../persistence/simple/TestMixedAccessRuntime.java |   78 +
 .../simple/TestNamedNativeQueryResultMapping.java  |   75 +
 .../TestNamedNativeQueryResultMappingXml.java      |   78 +
 .../simple/TestNonEntityInPersistenceUnit.java     |  119 +
 .../persistence/simple/TestNonPublicIdClass.java   |   83 +
 .../persistence/simple/TestQueryParameterAPI.java  |  164 ++
 .../simple/TestRuntimeEnhanceWithEmbeddable.java   |  123 +
 .../simple/TestRuntimeExceptionCausesRollback.java |  286 +++
 .../simple/TestSchemaGenAnnotations.java           |  210 ++
 .../persistence/simple/TestSchemaGenDrop.java      |  124 +
 .../simple/TestSchemaGenerationScripts.java        |  786 +++++++
 .../persistence/simple/TestSecondPrecision.java    |   89 +
 .../persistence/simple/TestStaticInnerClasses.java |   79 +
 .../persistence/simple/TestTckMapKeyFixes.java     |  192 ++
 .../persistence/simple/TestTimeVersionTypes.java   |  200 ++
 .../simple/TestUnenhancedCalendarId.java           |   72 +
 .../simple/TestUnenhancedCascadeAndEM2.java        |  262 +++
 .../simple/TestUnenhancedDerivedId.java            |  366 +++
 .../simple/TestUnenhancedDerivedIdEx2b.java        |   99 +
 .../simple/TestUnenhancedLowercaseGetter.java      |   84 +
 .../simple/TestUnenhancedProtectedConstructor.java |  152 ++
 .../TestUnenhancedRollbackOnNonExistentTable.java  |  124 +
 .../simple/UnenhancedCalendarIdPropertyEntity.java |   75 +
 .../simple/UnenhancedCallbackEntity.java           |   81 +
 .../simple/UnenhancedCallbackListener.java         |   55 +
 .../UnenhancedCascadeAEntity.java}                 |   60 +-
 .../simple/UnenhancedCascadeBAllEntity.java        |   65 +
 .../simple/UnenhancedCascadeBPersistEntity.java    |   65 +
 .../persistence/simple/UnenhancedCoffeeEntity.java |   67 +
 .../simple/UnenhancedDID1Dependent.java            |   86 +
 .../simple/UnenhancedDID1DependentId.java          |   72 +
 .../persistence/simple/UnenhancedDID1Employee.java |   78 +
 .../simple/UnenhancedDID1bDependent.java           |   60 +
 .../simple/UnenhancedDID1bDependentId.java         |   75 +
 .../simple/UnenhancedDID1bEmployee.java            |   78 +
 .../simple/UnenhancedDID2aDependent.java           |   80 +
 .../simple/UnenhancedDID2aDependentId.java         |   79 +
 .../simple/UnenhancedDID2aEmployee.java            |   71 +
 .../simple/UnenhancedDID2aEmployeeId.java          |   79 +
 .../simple/UnenhancedDID2bDependent.java           |   75 +
 .../simple/UnenhancedDID2bDependentId.java         |   81 +
 .../simple/UnenhancedDID2bEmployee.java            |   81 +
 .../simple/UnenhancedDID2bEmployeeId.java          |   78 +
 .../simple/UnenhancedDID3Dependent.java            |  104 +
 .../simple/UnenhancedDID3DependentId.java          |   80 +
 .../UnenhancedDID3Employee.java}                   |   64 +-
 .../simple/UnenhancedDID3EmployeeId.java           |   81 +
 .../UnenhancedDoesNotExistEntity.java}             |   61 +-
 .../simple/UnenhancedElementCollectionEntity.java  |  113 +
 .../UnenhancedJCDepartment.java}                   |   62 +-
 .../persistence/simple/UnenhancedJCEmployee.java   |   65 +
 .../UnenhancedLowercaseGetterOrder.java}           |   72 +-
 .../UnenhancedMappedSuperclass.java}               |   66 +-
 .../simple/UnenhancedMixedAccessEntity.java        |  174 ++
 .../simple/UnenhancedProductEntity.java            |   81 +
 .../simple/UnenhancedPropertyOrderEntity.java      |   71 +
 .../persistence/simple/UnenhancedShelfLife.java    |   63 +
 .../simple/UnenhancedSimpleOrderEntity.java        |   68 +
 .../persistence/simple/UnenhancedTCKAddress.java   |   98 +
 .../persistence/simple/UnenhancedTCKCountry.java   |   58 +-
 .../persistence/simple/UnenhancedTCKCustomer.java  |  108 +
 .../UnenhancedTCKHardwareProduct.java}             |   59 +-
 .../persistence/simple/UnenhancedTCKProduct.java   |   93 +
 .../persistence/util/TestPersistenceUnitUtil.java  |  119 +-
 .../persistence/xml/TestToOneLazyXmlOverride.java  |    2 +-
 .../resources/META-INF/listener-override-orm.xml   |   40 +
 .../META-INF/native-query-inline-result-orm.xml    |   40 +
 .../src/test/resources/META-INF/persistence.xml    |   38 +
 .../test/resources/META-INF/xml-callback-orm.xml   |   32 +
 .../test/resources/META-INF/xml-embeddable-orm.xml |   26 +
 .../org/apache/openjpa/jdbc/procedure/sp-orm.xml   |   42 +
 .../persistence/jdbc/schema/create-postgresql.sql  |    2 +-
 .../persistence/lockmgr/TestPessimisticLocks.java  |   13 +-
 .../apache/openjpa/persistence/AbstractQuery.java  |   85 +-
 .../AnnotationPersistenceMetaDataParser.java       |  282 ++-
 .../openjpa/persistence/AttributeNodeImpl.java     |   72 +
 .../openjpa/persistence/EntityGraphImpl.java       |  392 ++++
 .../persistence/EntityManagerFactoryImpl.java      |  397 +++-
 .../openjpa/persistence/EntityManagerImpl.java     |  615 ++++-
 .../apache/openjpa/persistence/MetaDataTag.java    |    7 +-
 .../persistence/OpenJPAPersistenceUtil.java        |  155 +-
 .../persistence/PersistenceMetaDataDefaults.java   |  398 +++-
 .../persistence/PersistenceMetaDataFactory.java    |   87 +-
 .../persistence/PersistenceProductDerivation.java  |   41 +-
 .../persistence/PersistenceProviderImpl.java       |   32 +-
 .../persistence/PersistenceUnitInfoImpl.java       |    6 +
 .../org/apache/openjpa/persistence/QueryImpl.java  |  112 +-
 .../openjpa/persistence/SchemaManagerImpl.java     |    5 +-
 .../persistence/StoredProcedureQueryImpl.java      |  141 +-
 .../apache/openjpa/persistence/SubgraphImpl.java   |  316 +++
 .../persistence/XMLPersistenceMetaDataParser.java  |   83 +-
 .../persistence/criteria/CompareByExample.java     |   26 +-
 .../persistence/criteria/CriteriaBuilderImpl.java  |  186 +-
 .../persistence/criteria/CriteriaDeleteImpl.java   |  214 ++
 .../criteria/CriteriaExpressionBuilder.java        |   41 +-
 .../persistence/criteria/CriteriaQueryImpl.java    |  132 +-
 .../persistence/criteria/CriteriaSelectImpl.java   |  180 ++
 .../persistence/criteria/CriteriaUpdateImpl.java   |  278 +++
 .../persistence/criteria/ExpressionImpl.java       |   26 +-
 .../openjpa/persistence/criteria/Expressions.java  |  117 +-
 .../openjpa/persistence/criteria/FromImpl.java     |   76 +-
 .../apache/openjpa/persistence/criteria/Joins.java |  135 +-
 .../openjpa/persistence/criteria/OrderImpl.java    |   10 +-
 .../criteria/ParameterExpressionImpl.java          |   39 +-
 .../openjpa/persistence/criteria/PathImpl.java     |   48 +-
 .../persistence/criteria/PredicateImpl.java        |   29 -
 .../openjpa/persistence/criteria/RootImpl.java     |   89 +
 .../openjpa/persistence/criteria/SubqueryImpl.java |   38 +-
 .../persistence/meta/AbstractManagedType.java      |   65 +-
 .../persistence/meta/AnnotationProcessor6.java     |  114 +-
 .../apache/openjpa/persistence/meta/Members.java   |   18 +-
 .../openjpa/persistence/meta/MetamodelImpl.java    |   26 +-
 .../openjpa/persistence/util/SourceCode.java       |   12 +-
 .../openjpa/persistence/localizer.properties       |  277 +--
 .../openjpa/persistence/meta/localizer.properties  |    3 +
 .../apache/openjpa/persistence/orm_3_2.xsd.rsrc    | 2449 ++++++++++++++++++++
 pom.xml                                            |   12 +-
 scripts/run-build-matrix.sh                        |  167 ++
 521 files changed, 43735 insertions(+), 6045 deletions(-)
 create mode 100644 .DS_Store
 create mode 100644 docker-compose-test-mariadb.yml
 create mode 100644 docker-compose-test-mysql.yml
 create mode 100644 docker-compose-test-pg17.yml
 create mode 100644 docker-compose-test-pg18.yml
 create mode 100644 docker-compose.yml
 create mode 100644 openjpa-integration/tck/README.md
 create mode 100755 openjpa-integration/tck/run-tck32.sh
 delete mode 100644 openjpa-integration/tck/sql/create.openjpa.sql.xml
 delete mode 100644 openjpa-integration/tck/sql/db2.sql
 delete mode 100644 openjpa-integration/tck/sql/derby.sql
 delete mode 100644 openjpa-integration/tck/tck2-20091209.xml
 delete mode 100644 openjpa-integration/tck/tck2-20101205.xml
 delete mode 100644 openjpa-integration/tck/tck2-20110815.xml
 create mode 100644 openjpa-integration/tck/tck32-openjpa-profile.xml
 delete mode 100644 openjpa-integration/tck/windows-replacefilter.properties
 create mode 100644 openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/ConverterElementHandler.java
 create mode 100644 openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/ConverterValueHandler.java
 create mode 100644 openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/InstantVersionStrategy.java
 create mode 100644 openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/LocalDateTimeVersionStrategy.java
 create mode 100644 openjpa-kernel/src/main/java/org/apache/openjpa/enhance/RecordPersistenceCapable.java
 create mode 100644 openjpa-kernel/src/main/java/org/apache/openjpa/meta/EntityGraphMetaData.java
 create mode 100644 openjpa-kernel/src/test/java/org/apache/openjpa/event/TestMethodLifecycleCallbacks.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/procedure/TestStoredProcedureQueryFixes.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/procedure/TestStoredProcedureXmlOverride.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldAccessColumnOnGetter.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldAccessColumnOnGetterEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/TestFieldAccessColumnOnGetter.java
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/callbacks/ListenerA.java (71%)
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/callbacks/ListenerB.java (72%)
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/callbacks/ListenerC.java (72%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/callbacks/TestListenerOverride.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/callbacks/TestXmlCallbackDedup.java
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => callbacks/UnenhancedListenerOverrideEntity.java} (53%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/callbacks/XmlCallbackEntity.java
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/callbacks/XmlCallbackListener.java (58%)
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => cascade/mx1/CascadeMx1A.java} (53%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/cascade/mx1/CascadeMx1BCascadeAll.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/cascade/mx1/CascadeMx1BCascadePersist.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/cascade/mx1/TestCascadePersistManyToOne.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/cascade/mx1/TestUnenhancedCascadeMx1.java
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => cascade/mx1/UnenhancedCascadeA.java} (53%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/cascade/mx1/UnenhancedCascadeB.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/convert/CharArrayConverter.java
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/convert/CommaSepConverter.java (54%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/convert/ConvertAddress.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/convert/ConvertCollectionEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/convert/ConvertEmbedEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/convert/ConvertEntity.java
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => convert/ConvertFailEntity.java} (50%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/convert/ConvertFullTimeEmp.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/convert/ConvertFullTimeEmp2.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/convert/ConvertMappedSuper.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/convert/ConvertMappedSuper2.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/convert/ConvertRepeatableEntity.java
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/convert/DotConverter.java (58%)
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/convert/DotConverter2.java (57%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/convert/FailingConverter.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/convert/NumberToStateConverter.java
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/convert/SalaryConverter.java (58%)
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/convert/StringPrefixConverter.java (52%)
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/convert/StringToIntConverter.java (53%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/convert/TestAttributeConverter.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/convert/TestConvertTck.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestMapJoinQuery.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/DID2bDependent.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/DID2bDependentId.java
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => embed/DID2bEmployee.java} (52%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/DID2bEmployeeId.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/TestDerivedIdEx2b.java
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/record/AddressRecord.java (72%)
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/record/CoordinateRecord.java (67%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/record/LocationEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/record/PersonWithRecordAddress.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/record/TestRecordEmbeddable.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/record/TestRecordEmbeddableAttributeOverride.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/record/TestRecordEmbeddableWithTypes.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/record/WarehouseEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/xmloverride/ComplaintEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/xmloverride/TestXmlEmbeddableOverride.java
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/xmloverride/XmlApplicant.java (53%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/fieldaccess/FieldAccessOrder.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/fieldaccess/TestFieldAccessWithNonStandardAccessors.java
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/entitygraph/EGDepartment.java (57%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/entitygraph/EGEmployee.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/entitygraph/EGEmployee2.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/entitygraph/EGEmployee3.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/entitygraph/TestEntityGraph.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/entitymanager/TestEntityManagerSpecCompliance.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/entitymanager/UnenhancedCoffee.java
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => entitymanager/UnenhancedDoesNotExist.java} (50%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/entitymanager/UnenhancedOrder.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/flush/TestFlushModeAutoNavigation.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/flush/UnenhancedFlushCustomer.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/flush/UnenhancedFlushOrder.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/flush/UnenhancedFlushSpouse.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/identity/DateTimeTypesEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/identity/PropertyBigDecimalIdEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/identity/PropertyBigIntegerIdEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/identity/SharedTableBigDecimalId.java
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => identity/SharedTableBigIntegerId.java} (50%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/identity/TestBigDecimalIdSharedTable.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/identity/TestIdTypeFixes.java
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => identity/UUIDIdEntity.java} (53%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/annotations/AttrOverrideEmbed.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/annotations/AttrOverrideEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/annotations/TestAttributeOverrideOnOwnField.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/query/TestTemporalTypeParameterConversion.java
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/query/domain/{TimeKeeper.java => HireDateEmployee.java} (58%)
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => jpql/treatjoinon/SeqGenEntity.java} (53%)
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/treatjoinon/TCountry.java (66%)
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => jpql/treatjoinon/TCustomer.java} (56%)
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => jpql/treatjoinon/TLineItem.java} (54%)
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => jpql/treatjoinon/TOrder.java} (56%)
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => jpql/treatjoinon/TProduct.java} (53%)
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/treatjoinon/TSoftwareProduct.java (62%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/treatjoinon/TestSequenceGeneratorsParsing.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/treatjoinon/TestTckFixes.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/treatjoinon/TestTreatJoinOnEmbeddable.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lifecycle/TestEntityLifecycleTCK.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lifecycle/entity/CascadeManyToOneA.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lifecycle/entity/CascadeManyToOneB.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lifecycle/entity/CascadeOneToOneA.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lifecycle/entity/CascadeOneToOneB.java
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => lifecycle/entity/PersistManyToOneA.java} (50%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lifecycle/entity/PersistManyToOneB.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lifecycle/entity/PersistOneToOneA.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lifecycle/entity/PersistOneToOneB.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/MKEDepartment.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/MKEDepartment4.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/MKEEmployee.java
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/MKENumbers.java (72%)
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/MKEOffices.java (72%)
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/MKEmbeddedEmployee.java (63%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/MKTDepartment.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/MKTDepartment4.java
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/MKTEmbeddedEmployee.java (63%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/MKTEmployee.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/SharedColDeptOrdinal.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/SharedColDeptString.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/SharedColEmpOrdinal.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/SharedColEmpString.java
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/SharedColOffices.java (72%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/TestMapKeyEnumeratedTemporal.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/TestSharedColumnEnumMapKey.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/TestUnenhancedEntityGraphPattern.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/TestUnenhancedMapKeyEnumTemporal.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/TestUnenhancedMappedBy.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/UnenhancedEGDepartment.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/UnenhancedEGDepartmentSimple.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/UnenhancedEGEmployee.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/UnenhancedMBDepartment.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/UnenhancedMBEmployee.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/UnenhancedMKEDept.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/UnenhancedMKEDept4.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/UnenhancedMKEEmp.java
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/UnenhancedMKENumbers.java (72%)
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/UnenhancedMKEOffices.java (72%)
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/UnenhancedMKEmbedEmp.java (61%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/UnenhancedMKTDept.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/UnenhancedMKTDept4.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/mapkey/UnenhancedMKTEmp.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/orderby/TestOrderByDotNotation.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/orderby/UnenhancedObAddress.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/orderby/UnenhancedObOwnerField.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/orderby/UnenhancedObOwnerProperty.java
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/orderby/UnenhancedObZipCode.java (62%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/EagerChildEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/EagerParentEntity.java
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => query/ReadOnlyJoinDept.java} (53%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/ReadOnlyJoinEmployee.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/ShortFieldEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/TestFlushModeAutoQuery.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/TestOverrideAnnotationFixes.java
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/results/constructorresult/CrDto.java (62%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/results/constructorresult/CrEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/results/constructorresult/TestConstructorResult.java
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => simple/CalendarIdEntity.java} (50%)
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/CallbackTracker.java (72%)
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => simple/CascadeAEntity.java} (53%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/CascadeBAllEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/CascadeBPersistEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/CoffeeBean.java
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/CoffeeBeanDTO.java (53%)
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/EnumeratedValueEntity.java (58%)
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/EnumeratedValueStatus.java (65%)
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => simple/IndexedEntity.java} (50%)
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/InstantVersionEntity.java (56%)
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/LocalDateTimeVersionEntity.java (55%)
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/MapKeyEnum.java (72%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/MapKeyEnumEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/MapKeyTemporalEntity.java
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/MapValueEmbeddable.java (60%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/MetamodelConstantsEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/MetamodelConstantsEntity_.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/MixedAccessBase.java
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/MixedAccessChild.java (55%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/MkeDepartment.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/MkeDepartmentOrdinal.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/MkeEmployee.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/MkeEmployeeOrdinal.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/MktDepartment.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/MktDeptShared.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/MktDeptShared2.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/MktEmpShared.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/MktEmpShared2.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/MktEmployee.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/MxOneChild.java
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => simple/MxOneParent.java} (51%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/NativeQueryResultEntity.java
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/NonPublicId.java (52%)
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/NonPublicIdEntity.java (72%)
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/NotAnEntity.java (64%)
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/OptionsEntity.java (58%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/PropertyAccessMember.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/PropertyAccessOrder.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/SchemaGenCourse.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/SchemaGenDept.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/SchemaGenEmp.java
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => simple/SchemaGenSecondary.java} (50%)
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => simple/SchemaGenSeqEntity.java} (54%)
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => simple/SchemaGenStudent.java} (51%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/SecondPrecisionEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/SimpleOrderEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/StaticInnerEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TckMkDept.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TckMkEmp.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TckMkEmp2.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TckMktDept.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TckMktDept2.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TckMktDept4.java
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TckMktEmbEmp.java (62%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TckMktEmp.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TckMktEmp2.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TckMktEmp4.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestCalendarIdEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestCallbackWithRuntimeEnhancement.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestCascadeManyToOneAndEM2.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestCascadeOneToOneFlushOrder.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestCriteriaAPIValidation.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestCriteriaUpdateDelete.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestDdlOptions.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestElementCollectionBasic.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestEntityAPIValidation.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestEntityLifecycleSpec.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestEntityManagerAfterClose.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestEntityManagerCloseWithActiveTransaction.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestEntityManagerFactoryLifecycle.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestEntityManagerFactoryTCK.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestEntityManagerTCKCompliance.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestEnumeratedValue.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestGetSingleResultOrNull.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestIndexColumnParsing.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestInheritedPropertyAccessPersist.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestJoinColumnUpdatable.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestMapKeyAttributeOverride.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestMapKeyEnumeratedTemporal.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestMergeAfterSetWithRuntimeEnhancement.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestMetamodelConstants.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestMixedAccess.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestMixedAccessRuntime.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestNamedNativeQueryResultMapping.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestNamedNativeQueryResultMappingXml.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestNonEntityInPersistenceUnit.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestNonPublicIdClass.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestQueryParameterAPI.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestRuntimeEnhanceWithEmbeddable.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestRuntimeExceptionCausesRollback.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestSchemaGenAnnotations.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestSchemaGenDrop.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestSchemaGenerationScripts.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestSecondPrecision.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestStaticInnerClasses.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestTckMapKeyFixes.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestTimeVersionTypes.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestUnenhancedCalendarId.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestUnenhancedCascadeAndEM2.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestUnenhancedDerivedId.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestUnenhancedDerivedIdEx2b.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestUnenhancedLowercaseGetter.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestUnenhancedProtectedConstructor.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestUnenhancedRollbackOnNonExistentTable.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedCalendarIdPropertyEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedCallbackEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedCallbackListener.java
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => simple/UnenhancedCascadeAEntity.java} (53%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedCascadeBAllEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedCascadeBPersistEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedCoffeeEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedDID1Dependent.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedDID1DependentId.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedDID1Employee.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedDID1bDependent.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedDID1bDependentId.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedDID1bEmployee.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedDID2aDependent.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedDID2aDependentId.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedDID2aEmployee.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedDID2aEmployeeId.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedDID2bDependent.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedDID2bDependentId.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedDID2bEmployee.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedDID2bEmployeeId.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedDID3Dependent.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedDID3DependentId.java
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => simple/UnenhancedDID3Employee.java} (52%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedDID3EmployeeId.java
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => simple/UnenhancedDoesNotExistEntity.java} (50%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedElementCollectionEntity.java
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => simple/UnenhancedJCDepartment.java} (53%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedJCEmployee.java
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => simple/UnenhancedLowercaseGetterOrder.java} (50%)
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => simple/UnenhancedMappedSuperclass.java} (50%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedMixedAccessEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedProductEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedPropertyOrderEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedShelfLife.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedSimpleOrderEntity.java
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedTCKAddress.java
 copy openjpa-kernel/src/main/java/org/apache/openjpa/kernel/exps/TypecastAsNumberPart.java => openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedTCKCountry.java (50%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedTCKCustomer.java
 copy openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/{jdbc/query/domain/TimeKeeper.java => simple/UnenhancedTCKHardwareProduct.java} (54%)
 create mode 100644 openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/UnenhancedTCKProduct.java
 create mode 100644 openjpa-persistence-jdbc/src/test/resources/META-INF/listener-override-orm.xml
 create mode 100644 openjpa-persistence-jdbc/src/test/resources/META-INF/native-query-inline-result-orm.xml
 create mode 100644 openjpa-persistence-jdbc/src/test/resources/META-INF/xml-callback-orm.xml
 create mode 100644 openjpa-persistence-jdbc/src/test/resources/META-INF/xml-embeddable-orm.xml
 create mode 100644 openjpa-persistence-jdbc/src/test/resources/org/apache/openjpa/jdbc/procedure/sp-orm.xml
 create mode 100644 openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AttributeNodeImpl.java
 create mode 100644 openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityGraphImpl.java
 create mode 100644 openjpa-persistence/src/main/java/org/apache/openjpa/persistence/SubgraphImpl.java
 create mode 100644 openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/CriteriaDeleteImpl.java
 create mode 100644 openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/CriteriaSelectImpl.java
 create mode 100644 openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/CriteriaUpdateImpl.java
 create mode 100644 openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/orm_3_2.xsd.rsrc
 create mode 100755 scripts/run-build-matrix.sh


(openjpa) 01/01: [OPENJPA-2940] Minor fixes so CriteriaTests work on pg

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

cristof pushed a commit to branch OPENJPA-2940
in repository https://gitbox.apache.org/repos/asf/openjpa.git

commit bda14fe5420818ad1a27026998d1a268a035b5c0
Author: Paulo Cristovão de Araújo Silva Filho <pc...@gmail.com>
AuthorDate: Wed May 13 07:49:47 2026 -0300

    [OPENJPA-2940] Minor fixes so CriteriaTests work on pg
---
 .../openjpa/persistence/criteria/AbstractCriteriaTestCase.java    | 2 +-
 .../org/apache/openjpa/persistence/criteria/CriteriaTest.java     | 7 +++++--
 .../org/apache/openjpa/persistence/criteria/TestJPQLSubquery.java | 5 +++--
 .../org/apache/openjpa/persistence/criteria/TestSubqueries.java   | 5 +++--
 .../openjpa/persistence/criteria/results/TestMultiselect.java     | 8 ++------
 5 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/AbstractCriteriaTestCase.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/AbstractCriteriaTestCase.java
index 8649db281..8db426de4 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/AbstractCriteriaTestCase.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/AbstractCriteriaTestCase.java
@@ -84,7 +84,7 @@ public abstract class AbstractCriteriaTestCase extends TestCase {
      */
     protected OpenJPAEntityManagerFactorySPI createNamedEMF(Class<?>... types) {
         Map<Object, Object> map = new HashMap<>();
-        map.put("openjpa.jdbc.SynchronizeMappings", "buildSchema(ForeignKeys=true," + "SchemaAction='add')");
+        map.put("openjpa.jdbc.SynchronizeMappings", "buildSchema(ForeignKeys=true," + "SchemaAction='drop,add')");
         map.put("openjpa.jdbc.QuerySQLCache", "false");
         map.put("openjpa.DynamicEnhancementAgent", "false");
         map.put("openjpa.RuntimeUnenhancedClasses", "unsupported");
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/CriteriaTest.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/CriteriaTest.java
index a4f52caae..4bd604bdf 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/CriteriaTest.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/CriteriaTest.java
@@ -66,16 +66,19 @@ public abstract class CriteriaTest extends AbstractCriteriaTestCase {
     @Override
     public void tearDown() throws Exception {
         if (em != null && em.isOpen()) {
+        	if (em.getTransaction().isActive()) {
+        		em.getTransaction().rollback();
+        	}
             em.close();
-            em = null;
         }
         cb = null;
         auditor.clear();
         auditor = null;
+        em = null;
         if (emf != null && emf.isOpen()) {
             emf.close();
-            emf = null;
         }
+        emf = null;
         super.tearDown();
     }
 
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestJPQLSubquery.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestJPQLSubquery.java
index 3eade3e85..d349d02aa 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestJPQLSubquery.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestJPQLSubquery.java
@@ -35,6 +35,7 @@ import jakarta.persistence.criteria.SetJoin;
 import jakarta.persistence.criteria.Subquery;
 
 import org.apache.openjpa.jdbc.sql.DerbyDictionary;
+import org.apache.openjpa.jdbc.sql.PostgresDictionary;
 
 /**
  * Tests type-strict version of Criteria API.
@@ -1156,7 +1157,7 @@ public class TestJPQLSubquery extends CriteriaTest {
             + " where o.customer.id = o2.customer.id)";
 
         String expectedSQL = "SELECT t0.id FROM CR_ODR t0 WHERE (t0.delivered = ("
-            + "SELECT  CASE  WHEN t1.quantity > ? THEN 1 WHEN t1.quantity = ? THEN 0 ELSE 0 END  "
+            + "SELECT  CASE  WHEN t1.quantity > ? THEN true WHEN t1.quantity = ? THEN false ELSE false END  "
             + "FROM CR_ODR t1 WHERE (t0.CUSTOMER_ID = t1.CUSTOMER_ID)))";
         executeAndCompareSQL(jpql, expectedSQL);
 
@@ -1291,7 +1292,7 @@ public class TestJPQLSubquery extends CriteriaTest {
             + " where o.quantity > 10)";
         String useCast = getDictionary() instanceof DerbyDictionary
            ? "(CAST(t1.name AS VARCHAR(1000)) || CAST(? AS VARCHAR(1000))) "
-           : "CONCAT(t1.name,?) ";
+           : ((getDictionary() instanceof PostgresDictionary) ? "(t1.name||?) " :  "CONCAT(t1.name,?) ");
         String expectedSQL = "SELECT t2.id FROM CR_ODR t2 "
             + "INNER JOIN CR_CUST t3 ON t2.CUSTOMER_ID = t3.id WHERE (t3.name IN ("
             + "SELECT " + useCast
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestSubqueries.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestSubqueries.java
index 5e3a61b77..1602aacc7 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestSubqueries.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestSubqueries.java
@@ -687,8 +687,9 @@ public class TestSubqueries extends CriteriaTest {
         em.createQuery("delete from Customer c where c.name = 'Capricorn'").executeUpdate();
 
         em.flush();
-        if (!txActive) {
-            em.getTransaction().commit();
+        em.getTransaction().commit();
+        if (txActive) {
+            em.getTransaction().begin();
         }
     }
 
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/results/TestMultiselect.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/results/TestMultiselect.java
index 04485e702..79e052ccc 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/results/TestMultiselect.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/results/TestMultiselect.java
@@ -40,16 +40,12 @@ import org.apache.openjpa.persistence.criteria.Person_;
  */
 
 public class TestMultiselect extends CriteriaTest {
-    private static boolean initialized = false;
 
     @Override
     public void setUp() throws Exception {
         super.setUp();
-        if (!initialized) {
-            clearData();
-            createData();
-            initialized = true;
-        }
+        clearData();
+        createData();
     }
 
     void clearData() {