Commit Graph

6565 Commits

Author SHA1 Message Date
Christian Beikov de1524df68 Merge remote-tracking branch 'upstream/master' into wip/6.0 2021-02-10 11:28:58 +01:00
Christian Beikov 15caff9cbc Fix PostgreSQL cleanup wrt extensions, fix Oracle cleanup wrt sys objects, always drop id tables in tests, fix global temp table tests, add on commit delete rows for hana dialects 2021-02-10 09:30:48 +01:00
Sanne Grinovero 2eaa0f8c67 HHH-14447 Remove unneccessary type check 2021-02-09 13:35:44 +01:00
Sanne Grinovero 81a9b87ec1 HHH-14447 Add missing EventGroupListeners into FastSessionService and take advantage of them 2021-02-09 13:00:45 +01:00
Yoann Rodière 14e181806f HHH-14444 Encapsulate ID generation in GenerationState for PooledLoThreadLocalOptimizer
This is just a cosmetic change, it doesn't change the behavior at all.

Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-02-09 09:17:44 +00:00
Yoann Rodière 511dda7dee HHH-14444 Avoid synchronization for multi-tenant generation in PooledLoThreadLocalOptimizer
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-02-09 09:17:44 +00:00
Yoann Rodière 5c155f3f8d HHH-14444 Avoid synchronization for single-tenant generation in PooledLoThreadLocalOptimizer
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-02-09 09:17:44 +00:00
Yoann Rodière 04a40f8397 HHH-14444 Test concurrent usage of ID generator optimizers
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-02-09 09:17:44 +00:00
Andrea Boriero a094e17d2a HHH-14445 Javassist skip EntityWithMutableAttributesTest, LoadAndUpdateEntitiesWithCollectionsTest, SimpleDynamicUpdateTest, SimpleDynamicUpdateTest 2021-02-08 16:26:09 +01:00
Andrea Boriero b1951f5c26 Migrate tests from org.hibernate.jpa.test to org.hibernate.orm.test.jpa (#5) 2021-02-05 01:17:29 +01:00
Jan Schatteman 470af28795 Migrate tests from org.hibernate.jpa.test to org.hibernate.orm.test.jpa (2)
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2021-02-05 01:17:29 +01:00
Andrea Boriero cfc7b97250 HHH-14424 When enhanced as a proxy is enabled with dirty checking, on flush uninitialized entities containing collections are updated and all the fields are set to null 2021-02-04 14:09:25 +01:00
Andrea Boriero 26a46b2010 HHH-14424 Add test for issue 2021-02-04 14:09:25 +01:00
Gavin King 0ecb05614f use localtime/localtimestamp on HSQL and Postgres
Since we don't need the TIME ZONE for our current_time
and current_timestamp functions, these are cleaner
mappings to SQL for these functions.
2021-02-04 12:02:20 +01:00
Gavin King fbba9ed4a8 Javadoc for the current date/time/timestamp functions
Explain the difference between these various functions, and
how to correctly map them to SQL.
2021-02-04 12:02:20 +01:00
Gavin King 9d33bc39fb prefer localtime, localtimestamp on H2 1.4.200
As suggested by @famod we need to use localtime instead
or current_time because of changes in H2.

See https://github.com/hibernate/hibernate-orm/pull/3412
2021-02-04 12:02:20 +01:00
Nathan Xu 2cf9ec856c HHH-14384 Fix QueryProducer.createNativeQuery documentation 2021-02-04 11:16:26 +01:00
Gavin King ab5d350805 generate sensibly-lengthed columns for UUIDs
Previously, Hibernate generated column definitions of
type 255 for BINARY/CHAR columns that will have UUIDs
stored in them. It should be:

- length 16 for BINARY
- length 36 for CHAR
2021-02-04 10:59:30 +01:00
Gavin King 377ca5c073 use proper bullet list in Dialect javadoc
This is Javadoc, not a comment, so I should have
formatted it properly when I originally wrote this.
2021-02-04 10:45:34 +01:00
Gavin King d5b0c167c8 on H2 after 2.0 don't need column type workaround
Apparently H2 correctly reports column types via JDBC metadata
since 2.0, so this workaround is unnecessary.

Also add a default mapping for DECIMAL in superclass, just for
completeness.

cc @famod
2021-02-04 10:34:18 +01:00
Gavin King 34cb6d50d9 on H2 prior to 2.0 map NUMERIC to DECIMAL
This is helpful the schema update tool.

This workaround was lost during my work on Dialects.
2021-02-04 10:30:04 +01:00
Christian Beikov b3ab4c2299 Fix newly added tests for derby 2021-02-03 17:03:47 +01:00
Christian Beikov 1983123d72 Use a shared connection provider for most tests to reduce test time significantly 2021-02-03 17:03:47 +01:00
Christian Beikov 709ac039d1 Drop TypeConfigurationRegistry which was leaking session factories that had a bootstrap error
As far as I can tell, the purpose of TypeConfigurationRegistry was only for serialization, but since the TypeConfiguration UUID is always random, this won't work anyway.
2021-02-03 17:03:47 +01:00
Christian Beikov ffe45ccdd6 Register transaction coordinator as observer when session is waiting for auto close but coordinator is not shared 2021-02-03 17:03:47 +01:00
Christian Beikov 9f460e1c30 HHH-14432 Implement cleanup for EntityManagerFactoryBuilderImpl to close connections on bootstrap errors 2021-02-03 17:03:47 +01:00
Christian Beikov 21c89240d0 HHH-14435 Improve table information extraction (especially for Oracle with enableSynonyms)
Previously Oracle with enableSynonyms ran into a timeout on CI because the JDBC driver issues a rather expensive query. The new implementation issues a dummy query and uses the result set metadata as suggested in various online articles about schema introspection
2021-02-03 17:03:47 +01:00
Christian Beikov a8cddb93e8 HHH-14434 Fix autocommit reset for connection used in DdlTransactionIsolatorNonJtaImpl 2021-02-03 17:03:47 +01:00
Christian Beikov 9135f69c91 HHH-14433 Add possibility to drop local temporary tables to enable connection pooling in tests 2021-02-03 17:03:47 +01:00
Christian Beikov d767d46d05 Fix most tests to work on all DBs and fix a bunch of connection leaks 2021-02-03 17:03:47 +01:00
Christian Beikov 5d9f6936ff HHH-14351 Fix order by type discriminator rendering issue 2021-02-03 17:02:59 +01:00
Christian Beikov d2036cb11a HHH-14351 Test showing that order by type discriminator desc fails 2021-02-03 17:02:59 +01:00
Christian Beikov 52785ce0ed HHH-14408 Defer property type access until integrators ran 2021-02-03 15:18:50 +01:00
Christian Beikov 6fcb83c90d HHH-14408 Test that user type provided by integrator is properly registered 2021-02-03 15:18:50 +01:00
Andrea Boriero d213d675ce HHH-13658 fix failing test on Oracle 2021-02-03 10:11:53 +01:00
Andrea Boriero f48dd846f8 fix checkstyle erroe 2021-02-02 12:00:15 +01:00
Andrea Boriero e861604805 Merge remote-tracking branch 'upstream/master' into wip/6.0 2021-02-02 11:34:47 +01:00
Sanne Grinovero 22f858c68b HHH-14428 Could avoid allocating an org.hibernate.internal.SessionFactoryImpl when no options are set 2021-02-01 22:26:38 +00:00
Sanne Grinovero 15d418c332 HHH-14386 Fails to boot if provided CurrentTenantIdentifierResolver is unable to operate during bootstrap 2021-02-01 22:26:38 +00:00
Gail Badner 0e75b4f3b5 HHH-13944 : Added "join fetch" and one-to-many test cases 2021-02-01 14:05:10 -08:00
Andrea Boriero 20008b19bc HHH-13944 HQL/JPQL size() does not work (anymore) with nested expression 2021-02-01 14:05:10 -08:00
Andrea Boriero c99904a606 HHH-13944 Add test for issue 2021-02-01 14:05:10 -08:00
Alexander Iskuskov 19d46d2fed HHH-14421 Fix javadoc for Query.stream() method 2021-02-01 21:43:40 +00:00
Steve Ebersole 6371835dce More natural-id work
- preliminary work for natural-id caching support
- re-worked the previous NaturalIdHelper, NaturalIdXRefDelegate, etc
- minor fixes/improvements to previous commit
2021-02-01 08:38:20 -06:00
Sanne Grinovero 5881b88173 HHH-14418 Revert to previous semantics: EventListenerGroup#clear() to also get rid of the default DuplicationStrategy 2021-01-28 22:20:33 +00:00
Steve Ebersole 70baa0b659 More natural-id work
- preliminary work for natural-id caching support
- re-worked the previous NaturalIdHelper, NaturalIdXRefDelegate, etc
- minor fixes/improvements to previous commit
2021-01-28 11:53:30 -06:00
Andrea Boriero 270fba830a Fix checkstyle errors 2021-01-27 18:40:13 +01:00
Andrea Boriero 0659c9f4ce HHH-14409 : Fix issue with Proxies 2021-01-27 18:24:43 +01:00
Steve Ebersole 9849ea5a1f - HHH-14409 : Internal format of natural-id values
- org.hibernate.loader.access
- `ModelPart.breakDownJdbcValues`
- build/keep natural-id loaders per entity (inheritance)
- changes to NotImplementedYetExtension
- tests
2021-01-27 10:38:20 -06:00
Andrea Boriero 7e34535cfe Fix initializer post load call timing 2021-01-27 15:20:19 +01:00
Andrea Boriero e9e81eeda3 Applied changes based on review suggestions 2021-01-26 17:24:31 +01:00
Andrea Boriero 84523cd0d9 fix issue with EmbeddableFKDescriptor 2021-01-26 15:26:41 +01:00
Andrea Boriero e97aa81916 Fix EntitiyInitialization returning a Proxy, NPE for InferredBasicValueResolution, Fix issue issue with loading by Unique key, Fix FkDescriptor for Embeddable 2021-01-26 15:25:58 +01:00
Christian Beikov e1aa2d941f Allow implicit casting of types if implied and actual type are both numeric and change floor/ceil to return argument type 2021-01-26 14:55:40 +01:00
Sanne Grinovero 6fa09dd4db HHH-14418 Reduce memory retention of each EventListenerGroup 2021-01-26 10:02:27 +00:00
Jan Schatteman 5d768af983 Some more adjustments for commit f9937f6
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2021-01-25 23:38:02 +01:00
Andrea Boriero 24b79133f2 Created a ClassLoadingIsolaterExtension to remove the need of @Rule in tests using ClassLoadingIsolater 2021-01-25 22:38:53 +01:00
Andrea Boriero e0e44433a9 Fix some issues with tests migration 2021-01-25 18:40:59 +01:00
Andrea Boriero 491cbabc6c Added Junit5 extention to use LoggerInspection without @Rule annotation 2021-01-25 18:40:59 +01:00
Jan Schatteman d714fd047a Switch tests over to @Jpa from @DomainModel where possible and some other minor changes
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2021-01-25 16:20:45 +01:00
Andrea Boriero a5d60b3b7e Add @BaseUnitTest annotation and minor changes 2021-01-25 16:20:45 +01:00
Jan Schatteman f9937f66be Migrate tests from org.hibernate.jpa.test to org.hibernate.orm.test.jpa
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2021-01-25 16:20:45 +01:00
Andrea Boriero b761cfddd3 Merge remote-tracking branch 'upstream/master' into wip/6.0 2021-01-20 17:48:43 +01:00
Yoann Rodière 4c9c2a809a HHH-14404 Remove check for concurrent execution of LogicalConnectionManagedImpl#releaseConnection
It's unlikely to ever happen, and even if it happened, the resulting
exception would probably be rather clear about the fact that the problem
is related to concurrent execution (ConcurrentModificationException
thrown by a Map of resources, for example).

See
https://github.com/hibernate/hibernate-orm/pull/3693#discussion_r560393293

Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-01-20 09:26:51 +00:00
Yoann Rodière 8210bc220b HHH-14404 Test setting the connection handling mode through SessionBuilder
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-01-20 09:26:51 +00:00
Yoann Rodière d0b44c48ef HHH-14404 Take into account the connectionHandlingMode passed through SessionBuilder
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-01-20 09:26:51 +00:00
Yoann Rodière d726dcb394 HHH-14326 Test JDBC resources are released before closing the connection
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-01-20 09:26:51 +00:00
Yoann Rodière e5c830da19 HHH-14326 Always close the connection even if releasing JDBC resources fails
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-01-20 09:26:51 +00:00
Yoann Rodière 74433cdec3 HHH-14326 Release JDBC resources before closing the connection
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-01-20 09:26:51 +00:00
Nathan Xu 1e5d64cf79 HHH-14407 NPE in Column.getSqlTypeCode(Mapping mapping) for column 'hib_sess_id' when using PersistentTableBulkIdStrategy 2021-01-15 08:08:14 +01:00
Andrea Boriero 90f18b3137 Merge branch master into wip/6.0 2021-01-14 17:39:16 +01:00
Andrea Boriero ef36b4faa2 Move new InstrumentedProxyLazyToOneTest and InstrumentedLazyToOneTest to org.hibernate.test package, bytecode not yet working properly 2021-01-14 17:36:49 +01:00
Andrea Boriero 3e6e5a4e8f Added FailureExpected to InstrumentedProxyLazyToOneTest 2021-01-14 16:11:01 +01:00
Steve Ebersole 3ecc2550df HHH-14409 : Internal format of natural-id values
At the moment, internally the value of a natural-id is always kept as an array.  For simple natural-ids that means creating an unnecessary array to wrap the simple value.  Change this to allow Object to allow for these simple values
2021-01-14 08:52:15 -06:00
Andrea Boriero 6d124a7c6d Merge remote-tracking branch 'upstream/master' into wip/6.0 2021-01-14 11:34:06 +01:00
Christian Beikov 0196911c8d Throw ParsingException on tokenization or parsing error for HQL instead of just logging to console and fix test issues 2021-01-14 08:00:17 +01:00
Gail Badner 602926bf9b HHH-13658 : Remove @LazyToOne(NO_PROXY) from classes used with bytecode-proxies enabled. FetchGraphTest#testRandomAccess failed so it was marked @FailureExpected. 2021-01-13 16:13:54 -08:00
Steve Ebersole 0c974991f7 HHH-13658 : make NO_PROXY unnecessary
- Better handle `FetchModeType#LAZY` for to-one associations based on whether bytecode-enhancement-as-proxy is enabled.  Minimize the cases a user is likely to need to use `@LazyToOne`
- See also EAP7-1402
2021-01-13 12:03:44 -06:00
Steve Ebersole e5c40e3af7 more changes for id type as Object instead of Serializable 2021-01-13 11:38:42 -06:00
Christian Beikov 4efffca23b Add support for FETCH clause, CTEs and set operations 2021-01-13 17:24:45 +01:00
Steve Ebersole f54072df4e HHH-14398 : AttributeMapping order
- Also, marked 3 `org.hibernate.orm.test.sql.exec.onetoone.bidirectional.EntityWithBidirectionalOneToOneTest` tests as expected failures due to https://hibernate.atlassian.net/browse/HHH-14403
2021-01-13 10:07:22 -06:00
Nathan Xu d5a6774cd2 reuse ArrayHelper's empty array constant to avoid object creation 2021-01-13 14:35:08 +01:00
Yanming Zhou 633d0f08d6 HHH-14229 Fix unexpected foreign key creation
before this commit, foreign key is created even ConstraintMode.NO_CONSTRAINT present on the @ManyToOne side
2021-01-11 14:23:35 -08:00
Gail Badner b40d1251e3 HHH-14390 : Added test cases 2021-01-05 19:47:14 -08:00
Gail Badner 30fcb05795 HHH-14389 : Added test case. OneToOneWithDerivedIdentityTest#testFindById reproduces the bug and is annotated with @FailureExpected 2021-01-05 12:32:29 -08:00
Sanne Grinovero 016625eb5d HHH-14385 Allow specifying a target JVM version for compatibility of generated proxies via ByteBuddy 2020-12-22 18:01:27 +00:00
Jan Schatteman 2e835c47cd New Test annotation @NotImplementedYet
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2020-12-21 19:45:20 +01:00
Christian Beikov 9c69ddc8f1 HHH-14380 - Only reorder destination from elements from the same from clause 2020-12-20 10:52:20 +01:00
Jan-Willem Gmelig Meyling 34bacba59e HHH-14380 Test case from https://github.com/Blazebit/blaze-persistence/pull/1237 for subquery in on-clause 2020-12-20 10:52:20 +01:00
Christian Beikov 4de1870785 HHH-14318 Introduce column mapping abstract to support formulas easily 2020-12-17 17:44:25 +01:00
Christian Beikov cb7c65e49d Use new parent PostgreSQLDialect for @RequiresDialect rather than subclass 2020-12-17 17:44:25 +01:00
jiangHZ cc14c785b9 HHH-13913 An SQL Dialect for PostgreSQL 10 and later. Adds support for Partition table. 2020-12-16 14:39:17 +01:00
Yanming Zhou c9ade2affe HHH-14356 Avoid NPE when booting with xml_mapping_enabled=false
Introduced by HHH-14334
when use Envers with hibernate.xml_mapping_enabled=false
see 34151a9660 (r44735539)
2020-12-14 16:26:12 +00:00
Yoann Rodière 6396cd17a2 HHH-14371 Open java.base/java.lang to the unnamed module in javassist tests
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2020-12-14 14:02:18 +00:00
Yoann Rodière 7f518cddb3 HHH-14371 Move tests specific to Javassist to the appropriate source set
Otherwise they won't be executed with the appropriate JVM args.

Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2020-12-14 14:02:18 +00:00
Yoann Rodière 8e3bf43a18 HHH-14371 Open java.base/java.security and java/base/java.lang to the unnamed module in tests
Weld needs this, in CDI tests.

Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2020-12-14 14:02:18 +00:00
Yoann Rodière 27c5980a20 HHH-14371 Open java.base/java.nio.charset to the unnamed module in tests
NamingHelper test needs access to Charset.defaultCharset.

Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2020-12-14 14:02:18 +00:00
Yoann Rodière f6a9338f97 HHH-14371 Correctly set JVM args in the JVM running tests
Turns out getJvmArgs() returns a copy, so modifying that copy won't
change the JVM args.

Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2020-12-14 14:02:18 +00:00
Andrea Boriero f468666b6d HHH-14360 Fix failure on Oracle db 2020-12-11 17:16:29 +01:00
Andrea Boriero 9770b49c4b Fix compilation errors 2020-12-11 10:30:18 +01:00