10578 Commits

Author SHA1 Message Date
Gavin King
9dd2d94afb HHH-14153 further optimization for single-table HQL update
This extends the optimization for single-table HQL bulk
updates to the case where the where clause touches multiple
tables and we can use a subselect to collect the ids that
we need to update.
2020-08-27 09:56:22 +01:00
Gavin King
f182b3b366 HHH-14153 clean up BasicExecutor and friends
introduces InsertExecutor and UpdateExecutor since we're
going to be introducing specific optimizations relating
to single-table updates

relates to HHH-14153
2020-08-27 09:56:15 +01:00
Gavin King
564c05a65a HHH-14153 optimize away temp table for single-table HQL update
When a HQL bulk update query only touches a single table,
use BasicExecutor instead of MultiTableUpdateExecutor.

This is an alternate implementation to the one proposed by
@NathanQingyangXu in #3508 and loosely based on that work.
2020-08-27 09:56:05 +01:00
Sanne Grinovero
b1dea1b17a HHH-14193 MultipleLinesSqlCommandExtractor should tolerate empty input scripts 2020-08-26 22:19:44 +01:00
Steve Ebersole
b4afea78b5 HHH-14152 sql-script.g fix for antlr non deterministic warning
- Added "system"-style SqlScriptLogging
- Added rule trace logging through SqlScriptLogging
2020-08-26 15:08:26 +01:00
Andrea Boriero
8beb1a2c65 HHH-14152 sql-script.g fix for antlr non deterministic warning 2020-08-26 15:08:17 +01:00
Sanne Grinovero
b7c871db41 HHH-14190 Method StringHelper#moveAndToBeginning could benefit from using the improved helper too 2020-08-26 13:20:52 +01:00
Sanne Grinovero
4fe81f22ec HHH-14190 Improve efficiency of StringHelper#isBlank 2020-08-26 13:20:46 +01:00
Gavin King
c6728684bb HHH-14190 Rename isEmptyOrWhitespace() to isBlank()
and use it in more places
2020-08-26 13:20:40 +01:00
Andrea Boriero
3b32bb9ecd HHH-14187 Add test for issue 2020-08-26 11:25:23 +01:00
Andrea Boriero
8650e2734c HHH-14187 Lazy loading fails if an entity appears twice in the object graph when enhancement as proxy is enabled 2020-08-26 11:25:23 +01:00
Gavin King
c7792af01c HHH-14181 Fix bug where HQL update/delete query resulted in same table being updated twice
for HQL bulk update/delete against union-subclass mapping

also clean up iterator usage in that section of code
2020-08-24 21:39:43 +01:00
Falko Modler
2f64fb1db2 HHH-14179 fix MultiLineImportExtractorTest on Windows 2020-08-24 20:25:45 +01:00
Gavin King
b48d9668b7 HHH-14183 LocalTimeJavaDescriptor attempts casting to LocalDate 2020-08-24 19:29:53 +01:00
Nathan Xu
429bcdb27c HHH-14159 update 'hibernate.cache.query_cache_factory' config 2020-08-21 11:34:27 +01:00
Nathan Xu
4b97be39db HHH-14154 Incorrect SQL generated from Criteria API when concat() and function() methods are used together 2020-08-21 11:34:27 +01:00
Nathan Xu
4716262645 HHH-14152 Preserve end-of-line chars in MultiLineImportExtractor 2020-08-21 11:33:55 +01:00
Christian Beikov
b49c333198 Update the maven-repo-auth gradle plugin 2020-08-21 11:23:07 +01:00
Nathan Xu
6243dca71a HHH-14156 IN subquery predicate with entity aliases produces wrong SQL "too few columns in subquery" 2020-08-21 11:22:56 +01:00
Nathan Xu
aa8d4361f5 HHH-3326 fix temp table collation issue for SQLServer dialect 2020-08-21 11:22:47 +01:00
Jezza
1cdb205ac3 HHH-14175 StatefulPersistenceContext#getLoadedCollectionOwnerOrNull could NPE on missing CollectionEntry
Avoids NPE, as the collection entry could not exist.
2020-08-21 10:57:27 +01:00
Gavin King
354fc08a5e expose some private fields via getters for Hibernate Reactive
needed for https://github.com/hibernate/hibernate-reactive/issues/237
2020-08-20 15:40:34 +01:00
Guillaume Smet
0e5cb4d705 HHH-14160 Use a runtime used class for testing Bean Validation presence 2020-08-20 15:28:14 +01:00
Sanne Grinovero
9ea3a936fb HHH-14149 Improve efficiency of LazyAttributesMetadata#getLazyAttributeNames 2020-08-12 11:31:35 +02:00
Sanne Grinovero
4957792ecd HHH-14150 Upgrade to Byteman 4.0.13 2020-08-12 10:40:30 +02:00
Jay Paulsen
194293330b HHH-13380 Test for the issue 2020-08-12 10:09:49 +02:00
Sanne Grinovero
c1f9b9dda4 HHH-13380 Bytecode enhanced entities might throw LazyInitializationException from custom equals/hashcode implementations
Apparently we trigger the need to invoke equals/hashcode methods on managed entities just before the Session is attached to the BytecodeLazyAttributeInterceptor
2020-08-12 10:09:49 +02:00
Hibernate-CI
e73b05100d 5.4.21-SNAPSHOT 2020-08-10 15:51:28 +00:00
Hibernate-CI
16ec2ee167 5.4.20.Final 5.4.20 2020-08-10 15:43:53 +00:00
Falko Modler
74126b7537 HHH-14144 Explicitly set localization assumptions for the build and testsuite 2020-08-10 17:26:44 +02:00
Andrea Boriero
5d38bf5eea HHH-14126 Add CockroachDB to DefaultDialectSelector and update documentation to mention the new dialect 2020-08-10 15:18:44 +02:00
Oliver Breidenbach
80a59af39f HHH-14109 Use 'in expression count limit' if calculated count is greather than 'in expression count limit' 2020-08-10 13:05:15 +02:00
Nathan Xu
da77ef948c HHH-14133 fix obvious example code error for 'second level cache' in user guide 2020-08-10 12:11:36 +02:00
Andrea Boriero
1f09db3c1c HHH-14129 Bidirectional relationship with @NotNull fails to save 2020-08-10 12:09:56 +02:00
Andrea Boriero
2f575f7e04 HHH-14129 Add test for issue 2020-08-10 12:09:47 +02:00
Sanne Grinovero
2587709603 HHH-14143 Detect illegal concurrent usage of LogicalConnectionManagedImpl 2020-08-10 11:54:10 +02:00
Gavin King
96bc705d9a HHH-14142 Make constructor of StatelessSessionImpl public
needed by Hibernate Reactive, see:

https://github.com/hibernate/hibernate-reactive/pull/310
https://hibernate.atlassian.net/browse/HHH-14142
2020-08-09 08:52:58 +02:00
Sanne Grinovero
6392de46d0 HHH-14137 Some more string check performnance optimisations 2020-08-06 17:57:42 +02:00
Ihar Sadounikau
ea333d23b6 HHH-14137 Empty String check performance improvements 2020-08-06 17:18:15 +02:00
Sanne Grinovero
60a063bce2 HHH-13974 Test efficiency improvements 2020-08-05 17:06:16 +02:00
Michael Spahn
68edfadc65 HHH-13974 FlushMode set through SessionBuilder was never applied 2020-08-05 17:06:11 +02:00
Steve Ebersole
c1254cc205 HHH-14033 SQL script parsing problem with multi-line comments
- Better handling of multi-line comments
- Restructured some internal classes to consolidate packages
- Added "system"-style SchemaToolingLogging
2020-08-05 15:40:10 +02:00
Yoann Rodière
00989d28d8 HHH-14124 Test that the FETCH entitygraph semantic overrides EAGER associations to LAZY for all results 2020-07-30 13:37:28 +01:00
Yoann Rodière
b15835788b HHH-14124 Test that the FETCH entitygraph semantic overrides EAGER associations to LAZY 2020-07-30 13:37:22 +01:00
Yoann Rodière
2c98ab236d HHH-14124 Avoid too many list allocations when hydrating query results
I suspect the original goal of having a single list of hydrated objects
for all rows was to avoid instantiating one list per row, but we did
just that in the fix in the last commit.

This introduces a hack to signal that we're starting to process a new
row while still keeping a flat, single-list structure: we inserting
null elements in the list of hydrated objects.

This is admittedly very ugly, but it's the only solution I can come up
with if we want to keep the number of memory allocations similar to what
we used to have. And hopefully this code will disappear in ORM 6.0.
2020-07-30 13:37:11 +01:00
Yoann Rodière
3bdc5af63d HHH-14124 Work around side-effects of TwoPhaseLoad.initializeEntity 2020-07-30 13:36:58 +01:00
Hibernate-CI
1f99fbc0aa 5.4.20-SNAPSHOT 2020-07-27 15:29:57 +00:00
Hibernate-CI
18026e0dd5 5.4.19.Final 5.4.19 2020-07-27 15:22:16 +00:00
Gail Badner
b050a7c1bc HHH-14103 : Add test cases showing that an entity's transient attribute can be overridden to be persistent in entity subclasses 2020-07-27 14:21:22 +01:00
Andrea Boriero
b57ad86500 HHH-13724 Fix failing tests 2020-07-27 13:52:40 +01:00