Commit Graph

4788 Commits

Author SHA1 Message Date
Sanne Grinovero cf4eeef40b HHH-13531 Some more opportunities to reuse the constants pool in AliasConstantsHelperMore opportunities to reuse the int_ constant pools 2019-08-07 14:43:50 -07:00
Sanne Grinovero 8c515f0cf6 HHH-13534 AbstractLoadPlanBasedLoader never needs a List of AfterLoadAction 2019-08-07 14:43:50 -07:00
Sanne Grinovero 5d097a627a HHH-13527 Minimize captured state in lambdas used for Statistics 2019-08-07 09:02:39 +01:00
Sanne Grinovero 3ea09791eb HHH-13527 Fix contention in StatisticsImpl#getDomainDataRegionStatistics() 2019-08-07 09:02:39 +01:00
Sanne Grinovero eb1ab2cd9b HHH-13527 Optimise DefaultLoadEventListener#getFromSharedCache hot path 2019-08-07 09:02:39 +01:00
Sanne Grinovero 3dbf0166fe HHH-13525 Make test SessionDelegatorBaseImplTest more resilient to previously existing alias definition
(cherry picked from commit d6abbe5124)
2019-08-02 15:48:25 -07:00
Andrea Boriero 81d7be0ad3 HHH-13514 - Calling the wrong method inside SessionDelegatorBaseImpl#createStoredProcedureQuery
(cherry picked from commit 65fa9cb1e7)
2019-08-02 15:48:25 -07:00
Andrea Boriero 497f17e251 HHH-13514 - Add test for issue
(cherry picked from commit 7eaf4904d8)
2019-08-02 15:48:25 -07:00
Yoann Rodière 791b64f63f HHH-13379 Test storage of java.time type representing an instant near the end of DST
(cherry picked from commit 0387090bba)
2019-08-02 15:44:24 -07:00
Yoann Rodière 4f02f4e5ee HHH-13379 Do not change the instant when storing a java.time type representing an instant at DST end in the default JVM timezone
Note problems can still occur in the JDBC driver if the JDBC timezone is
not forced to GMT/UTC.

(cherry picked from commit 89d304a00e)
2019-08-02 15:44:24 -07:00
Yoann Rodière f4fd801c3e HHH-13379 Enhance date/time tests to allow testing certain values only when forcing the JDBC timezone
(cherry picked from commit de8e965cc8)
2019-08-02 15:44:24 -07:00
Scott Marlow 330b5da305 HHH-13505 : NullPointerException thrown by StatisticsImpl#getCacheRegionStatistics 2019-08-02 15:41:20 -07:00
Gail Badner f7498b2340 HHH-13466 : ClassCastException when changing a Collection association to a Set if @PreUpdate listener exists
(cherry picked from commit 7d54b59743)
2019-08-02 15:38:53 -07:00
Gail Badner 1d316e6452 HHH-13466 : Test cases
(cherry picked from commit 80828eba43)
2019-08-02 15:38:53 -07:00
Sanne Grinovero 98ee32415d HHH-13521 Avoid excessive validation of enabled filters 2019-08-01 11:20:54 +01:00
Andrea Boriero ef242b283a HHH-13528 Remove call to resourceRegistry.release(ResultSet resultSet, Statement statement) from AbstractLoadPlanBasedLoader#executeLoad() 2019-08-01 11:20:54 +01:00
Sanne Grinovero 8d6fa83e59 HHH-13529 Specifically optimise Dialect retrieval from DefaultEntityAliases 2019-08-01 11:20:54 +01:00
Sanne Grinovero 460ff8c125 HHH-13529 Dot not access hot JdbcServices over ServiceRegistry 2019-08-01 11:20:54 +01:00
Sanne Grinovero 6147c6120a HHH-13528 Invoke afterStatements only at the end of releasing all statements for a batch 2019-08-01 11:20:54 +01:00
Sanne Grinovero 65ab8a0ec6 HHH-13526 Avoid repeated lookups for the same component 2019-08-01 11:20:54 +01:00
Sanne Grinovero 5699258aa2 HHH-13526 Optimise HashMap lookup operations on ResourceRegistryStandardImpl xref 2019-08-01 11:20:54 +01:00
Sanne Grinovero 0f523c195a HHH-13522 Optimise LoadQueryInfluencers by making maps lazily initialized 2019-08-01 11:20:54 +01:00
Sanne Grinovero 93e882a427 HHH-13524 Remove unused fields xref,unassociatedResultSets from JdbcCoordinatorImpl 2019-08-01 11:20:54 +01:00
Sanne Grinovero 701bd1ff7e HHH-13523 Remove an additional field from JdbcCoordinatorImpl 2019-08-01 11:20:54 +01:00
Andrea Boriero 16ca846143 HHH-13523 StatementPreparerImpl should not need to retrieve the JDBCService as often 2019-08-01 11:20:54 +01:00
Sanne Grinovero 99398753c6 HHH-13520 Deprecate mutators on SqlStatementLogger 2019-08-01 11:20:54 +01:00
Gail Badner 095dd38223 HHH-11032 : performance improvements of PersistentBag.equalsSnapshot
(cherry picked from commit fa2f03593a)
2019-07-30 13:44:06 -07:00
Gail Badner b99160d12f HHH-11032 performance improvements of PersistentBag.equalsSnapshot
(cherry picked from commit f096445ccc)
2019-07-30 13:44:06 -07:00
Filip Nguyen 3aeb7719d7 HHH-11032 performance improvements of PersistentBag.equalsSnapshot
(cherry picked from commit 4c2a43b86f)
2019-07-30 13:44:06 -07:00
Gail Badner d40232cf3c HHH-13492 : OptimisticLockException after locking, refreshing, and updating an entity 2019-07-30 13:35:53 -07:00
Gail Badner 5078d3e52e HHH-13492 : test cases 2019-07-30 13:35:53 -07:00
Gail Badner 46944d4412 HHH-13424 : Table nullability should not depend on JpaCompliance.isJpaCacheComplianceEnabled()
(cherry picked from commit 18f9c142e3)
2019-07-25 23:08:46 -07:00
Gail Badner d7020cb4b3 HHH-13424 : test cases 2019-07-25 23:08:46 -07:00
Yoann Rodière 3bf81fb066 HHH-13357 Fix OffsetDateTime ending up with a different offset than the JVM default when loading from a Timestamp
This bug only affects users that override the type descriptor for
OffsetDateTime, and only affects reading.

Since I had to change how we extract the local time from the timestamp,
I also took this opportunity to apply the fix for HHH-13266,
which should make data loading more resilient when databases contain
weird values representing time, like 1650-04-15T14:45:49 or
0000-00-00T14:45:49.

(cherry picked from commit 0f4c7ec0f2)
2019-07-25 23:06:42 -07:00
Gail Badner 7756af7ed2 Revert "HHH-13266 HHH-13357 : Skip OffsetTimeTest#nativeWriteThenRead and #writeThenRead in some cases due to HHH-13357"
This reverts commit b7b8f44298.

(cherry picked from commit 352b029404)
2019-07-25 23:06:42 -07:00
Sanne Grinovero a6ed3bb0c1 HHH-13508 Reuse alias names generated by BasicLoader#generateSuffixes 2019-07-25 12:57:30 +01:00
Sanne Grinovero cb3cb89ffa HHH-13513 Only intern fields of DefaultEntityAliases when the object is not short lived 2019-07-25 12:57:23 +01:00
Sanne Grinovero 8743b7dced HHH-13513 Do not intern sql aliases in QueryLoader and BasicLoader 2019-07-25 12:57:15 +01:00
Sanne Grinovero 60015afd85 HHH-13511 Remove interning of aliases in org.hibernate.loader.DefaultEntityAliases 2019-07-25 10:47:35 +01:00
Sanne Grinovero 4c90b9fee7 HHH-13478 Make CascadeStyles a final class 2019-07-02 14:21:41 +01:00
Sanne Grinovero 330bc62d83 HHH-13478 Micro optimisations in DefaultLoadEventListener 2019-07-02 14:21:41 +01:00
Sanne Grinovero d330b150b6 HHH-13478 BytecodeEnhancementMetadataPojoImpl : Micro optimisations 2019-07-02 14:14:34 +01:00
Sanne Grinovero 48cac1276d HHH-13478 Code style fixes in LoadEvent 2019-07-02 14:14:28 +01:00
Sanne Grinovero 8e3660b736 HHH-13478 Avoiding some duplicate getter executions in DynamicBatchingEntityLoaderBuilder 2019-07-02 14:14:21 +01:00
Sanne Grinovero 727dac4772 HHH-13478 Minor dead code cleanup in StatefulPersistenceContext 2019-07-02 14:14:12 +01:00
Sanne Grinovero fe6056b67c HHH-13478 AbstractEntityTuplizer: loop extraction and code cleanup 2019-07-02 14:13:56 +01:00
Sanne Grinovero 8341c92034 HHH-13458 Update Hibernate's custom IdentityMap to better match its use 2019-07-02 13:55:50 +01:00
Sanne Grinovero c320c6e8dd HHH-13447 Minimize number of EventListenerRegistry lookups within a Session use 2019-07-02 13:39:13 +01:00
Sanne Grinovero 6ad8eaa896 HHH-13477 Make heavily invoked method final: EventListenerGroupImpl#listeners() 2019-07-02 12:43:10 +01:00
Andrea Boriero 663bbc81d7 HHH-11147 Fix initializing an entity that does not exist 2019-07-02 12:25:22 +01:00
Gail Badner ac7fcbb465 HHH-11147 Add failing test for initializing an entity that does not exist 2019-07-02 12:22:05 +01:00
Sanne Grinovero 3225e9744c HHH-13476 Micro-optimisations of TwoPhaseLoad#getOverridingEager 2019-07-02 10:48:52 +01:00
Sanne Grinovero b3cb35e7cb HHH-13448 Optimise implementation of TwoPhaseLoad#doInitializeEntity 2019-07-02 10:38:56 +01:00
Sanne Grinovero 078c0df460 HHH-13475 SessionImpl#applyQuerySettingsAndHints should not rely on defensive copies to just read properties 2019-07-02 10:21:18 +01:00
Sanne Grinovero e044397df2 HHH-13471 Avoid invoking delayedAfterCompletion() multiple times from the same SessionImpl method 2019-07-01 20:40:00 +01:00
Sanne Grinovero a9d4c13d86 HHH-13462 Introduce a fastpath for SessionImpl#fireLoad to be used by internal loops 2019-07-01 20:39:59 +01:00
Gail Badner a49b7902cc HHH-11147 - Add back assertions to BatchFetchProxyTest checking that batches are
initialized as expected. Also add a test that ensures that entities
            loaded from a batch can be modified.
2019-07-01 20:39:59 +01:00
Sanne Grinovero 1b4eea59b6 HHH-13467 Make average BatchFetchQueue consume less memory 2019-07-01 20:39:59 +01:00
Sanne Grinovero 4bd5ca85da HHH-11147 Avoid allocating a BatchFetchQueue if batching was not enabled 2019-07-01 20:39:59 +01:00
Sanne Grinovero d968b0a3a5 HHH-11147 micro optimisation: avoid looking up the same object multiple times 2019-07-01 20:39:59 +01:00
Steve Ebersole 272dbefac5 HHH-11147 - Integrate enhanced-proxy support with BatchFetchQueue 2019-07-01 20:39:59 +01:00
Steve Ebersole 8148847ee1 HHH-11147 - Integrate enhanced-proxy support with BatchFetchQueue 2019-07-01 20:39:59 +01:00
Sanne Grinovero 71b22a3258 HHH-13448 Avoid retrieving PRE_LOAD and POST_LOAD Event listeners within the inner loops of TwoPhaseLoad 2019-07-01 20:23:57 +01:00
Sanne Grinovero 9e9154cb5e HHH-13444 Remove ignored EntityMode field from CollectionKey 2019-06-24 15:23:11 +01:00
Sanne Grinovero a01929c5b8 HHH-13453 Optimise CascadingActions for the most likely case 2019-06-24 14:58:24 +01:00
Sanne Grinovero 007ab2f479 HHH-13452 Missing log level guard on formatting in DefaultPersistEventListener#entityIsDeleted 2019-06-24 14:58:24 +01:00
Sanne Grinovero deb06eaa0b HHH-13451 Logging typo in CascadingActions causing significant allocations 2019-06-24 14:58:24 +01:00
Sanne Grinovero 7309cdeb66 HHH-13450 Do not compute the full role name of a collection unless necessary 2019-06-24 14:58:24 +01:00
Andrea Boriero e13386769c HHH-13442 CollectionType#getCollection() method improvements 2019-06-24 14:58:24 +01:00
Andrea Boriero 2c1d862137 HHH-11147 - Fix Oracle failing test 2019-06-17 13:21:14 +01:00
Andrea Boriero 3d74724b81 HHH-11147 - Add test case LazyCollectionDeletedAllowProxyTest 2019-06-17 13:20:41 +01:00
Andrea Boriero f96eb35f97 HHH-11147 - Allow enhanced entities to be returned in a completely uninitialized state
- Add test using IdClass

(cherry picked from commit 2e1d602f68)
2019-06-14 09:33:38 -05:00
Steve Ebersole 0a17f5ba6d HHH-11147 - Allow enhanced entities to be returned in a completely uninitialized state
(cherry picked from commit 94c49aaaa6)
2019-06-14 08:31:42 -05:00
Andrea Boriero 6d2c4aad29 HHH-11147 - Add failing test
(cherry picked from commit 48d88cfef6)
2019-06-14 08:31:21 -05:00
Steve Ebersole 6d5f7dd77c HHH-11147 - Allow enhanced entities to be returned in a completely uninitialized state
- checkstyle fix
2019-06-13 13:52:15 -05:00
Steve Ebersole 5d518cb673 HHH-11147 - Allow enhanced entities to be returned in a completely uninitialized state 2019-06-13 13:37:55 -05:00
Sanne Grinovero 784341682d HHH-13416 Unguarded debug message being rendered in org.hibernate.engine.internal.Collections.processReachableCollection 2019-05-27 16:33:28 +01:00
Gail Badner 664d435b27 HHH-13266 : Skip OffsetTimeTest#nativeWriteThenRead and #writeThenRead in some cases due to HHH-13357
when Time is remapped as Timestamp and default JVM is not GMT
2019-04-19 00:48:08 -07:00
Yoann Rodière b328544dc5 HHH-13266 Skip some tests that apparently trigger bugs in HANA 2019-04-19 00:48:08 -07:00
Yoann Rodière ccb6a9ab50 HHH-13266 Skip tests that involve timestamps before epoch with MySQL/Mariadb 2019-04-19 00:48:08 -07:00
Yoann Rodière 9380520681 HHH-13266 Mark most databases as not supporting nanosecond-precision storage for timestamps
At least PostgreSQL, Oracle, MySQL and HANA don't support it.
2019-04-19 00:48:08 -07:00
Yoann Rodière 34b4284484 HHH-13266 Test serialization of java.time types when hibernate.jdbc.time_zone is set 2019-04-19 00:48:08 -07:00
Yoann Rodière 09618a2174 HHH-13266 Test OffsetTime serialization 2019-04-19 00:48:08 -07:00
Yoann Rodière 759237fb9f HHH-13266 Test LocalTime serialization 2019-04-19 00:48:08 -07:00
Yoann Rodière 1293b5bf70 HHH-13266 Fix LocalDate serialization by using the proper conversion methods between LocalDate and Timestamp 2019-04-19 00:48:08 -07:00
Yoann Rodière 9a8d4f0e5d HHH-13266 Test LocalDate serialization when dates are remapped as Timestamp, in particular around 1900-01-01 2019-04-19 00:48:08 -07:00
Yoann Rodière a3c318523d HHH-13266 Allow to override the SQL type mappings in AbstractJavaTimeTypeTest 2019-04-19 00:48:08 -07:00
Yoann Rodière a065bffe90 HHH-13266 Test reading of values written without Hibernate ORM in AbstractJavaTimeTypeTest 2019-04-19 00:48:08 -07:00
Yoann Rodière ece5f1a180 HHH-13266 Add an abstract class for all java.time tests for this ticket
So that we can hopefully factorize the upcoming additions.
2019-04-19 00:48:08 -07:00
Yoann Rodière a17e9fc494 HHH-13266 Fix Instant serialization by using the proper conversion methods between Instant and Timestamp 2019-04-19 00:48:08 -07:00
Yoann Rodière c6cea4ce3d HHH-13266 Test Instant serialization, in particular around 1900-01-01 2019-04-19 00:48:08 -07:00
Yoann Rodière 6085310025 HHH-13266 Fix ZonedDateTime serialization by using the proper conversion methods between ZonedDateTime and Timestamp 2019-04-19 00:48:08 -07:00
Yoann Rodière 8a782b1759 HHH-13266 Test ZonedDateTime serialization, in particular around 1900-01-01 2019-04-19 00:48:08 -07:00
Yoann Rodière 527e3a25ca HHH-13266 Fix OffsetDateTime serialization by using the proper conversion methods between OffsetDateTime and Timestamp 2019-04-19 00:48:08 -07:00
Yoann Rodière 08bb8e149f HHH-13266 Test OffsetDateTime serialization, in particular around 1900-01-01 2019-04-19 00:48:08 -07:00
Yoann Rodière c409c3305f HHH-13266 Test LocalDate serialization, in particular around 1900-01-01 2019-04-19 00:48:08 -07:00
Gail Badner a19a4d3340 HHH-13266 Change test to use raw JDBC for executing native query 2019-04-19 00:48:08 -07:00
Yoann Rodière bc4553b44e HHH-13266 Fix LocalDateTime serialization by using the proper conversion methods between LocalDateTime and Timestamp 2019-04-19 00:48:08 -07:00
Yoann Rodière 0add2d42ba HHH-13266 Test LocalDateTime serialization, in particular around 1900-01-01T00:00:00 2019-04-19 00:48:08 -07:00
Gail Badner 78a593b05b HHH-13364 : Added a test using a named query
(cherry picked from commit 800b60e648)
2019-04-19 00:36:16 -07:00