Commit Graph

11822 Commits

Author SHA1 Message Date
Christian Beikov c8aa4f39da HHH-17375 Introduce array_includes() and INCLUDES predicate for checking if array contains all elements of subarray as replacement to array_contains() overload 2024-05-13 22:11:15 +02:00
Christian Beikov dcedc5cf18 HHH-17375 Support array on RHS of in predicate 2024-05-13 22:11:15 +02:00
Christian Beikov 5c6a2f4a7d HHH-17375 Introduce intersects predicate for easy array_intersects, the replacement of array_overlaps 2024-05-13 22:11:15 +02:00
Christian Beikov 6c34a0a4a6 HHH-17375 Introduce contains predicate for easy array containment checking 2024-05-13 22:11:15 +02:00
Christian Beikov 64dd9e657c HHH-17375 Support casting array to string and add optional third argument to array_to_string for null element handling 2024-05-13 22:11:15 +02:00
Christian Beikov 8ec90b8fb1 HHH-17375 Overload position function with array_position semantics on array input 2024-05-13 22:11:15 +02:00
Christian Beikov 35102836c7 HHH-17375 Overload length function with array_length semantics on array input 2024-05-13 22:11:15 +02:00
Christian Beikov b74992198c HHH-17375 Shorthand bracket syntax for array slicing 2024-05-13 22:11:15 +02:00
Christian Beikov 67d04577be HHH-17375 Shorthand bracket syntax for array construction 2024-05-13 22:11:15 +02:00
Cedomir Igaly 9f06bbb69e HHH-18102 Patch fixing the problem 2024-05-13 18:37:45 +02:00
Cedomir Igaly fd3cb949a7 HHH-18102 Little bit of cosmetics to allow merging with PR 8095; it is not affecting any logic 2024-05-13 18:37:45 +02:00
Yanming Zhou df7f104689 HHH-18033 Fix LimitHandler detect wrong statement end if sql contains quoted semicolon 2024-05-13 10:20:16 +02:00
Gavin King 7b0d66782d HHH-18098 don't write to cache when entity extends with @Cacheable(false)
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-11 16:42:12 +02:00
Gavin King 47da22183b HHH-18098 improve test for @Cacheable(false)
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-11 16:42:12 +02:00
Marco Belladelli 77f6af42e7 Tests for `order by` expression(s) not included in `select` clause 2024-05-10 14:11:36 +02:00
Sanne Grinovero 08028be1e9 HHH-18094 Bytebuddy enhancer: make better use of constants and memory 2024-05-10 10:01:04 +01:00
Marco Belladelli b051936204 Use round in CockroachDB timestampdiff pattern to avoid rounding errors 2024-05-09 08:49:00 +02:00
Yoann Rodière fa35e99543 HHH-18080 Fix default version handling in dialects when not using JDBC metadata
* Use the minimum supported version instead of '0.0.0'
* Don't warn about version '0.0.0'
2024-05-08 07:08:14 -05:00
Gavin King dc0ca6382f HHH-18077 extremely minor cleanup after fix
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-07 22:11:39 +02:00
Marco Belladelli 5512281a5e Fix TiDB timestampdiff pattern 2024-05-07 21:10:20 +02:00
Christian Beikov d1b30e1ab8 HHH-15862 Support basic array values in aggregate components 2024-05-07 21:00:12 +02:00
Gavin King ccaefc168a introduce include/exclude options for HibernateProcessor
and rename @Suppress -> @Exclude

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-07 20:20:16 +02:00
Jere Penttinen 4ae64eeb3f HHH-18077 Fix key selection paging to previous pages 2024-05-07 20:17:49 +02:00
Jere Penttinen eef5cc2536 HHH-18077 Add test for issue 2024-05-07 20:17:49 +02:00
Marco Belladelli 4c9b8b1e04 Fix Oracle test missing order by expression in select distinct 2024-05-07 11:10:11 +02:00
Yoann Rodière 1441504c3b HHH-18079 Default to minimum supported DB version in more cases
In particular when using hibernate.boot.allow_jdbc_metadata_access=false with jakarta.persistence.database-product-name
2024-05-07 10:52:30 +02:00
Christian Beikov 3ce6a1351a HHH-17421 Ensure that no follow-on locking happens on SQL Server and Sybase ASE 2024-05-07 08:16:49 +02:00
Simon StJohn-Green e18bf7b6b4 HHH-17421 Test that no follow-on locking happens on SQL Server and Sybase ASE 2024-05-07 08:16:49 +02:00
Christian Thiel e8426692e4 HHH-17305 Test and fix for keeping order of tables in polymorphic queries 2024-05-06 17:48:48 +02:00
Gavin King 0c7c81cce7 enable test on cockroach
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-06 17:17:21 +02:00
Christian Beikov a81fae743c HHH-17229 Test and fix for handling negative milliseconds from java.sql.Time 2024-05-06 17:08:54 +02:00
Christian Beikov b21d70ef74 HHH-17385 Missing table for superclass when joining subclass association 2024-05-06 16:18:41 +02:00
Andrea Boriero 9d54924c79 HHH-18032 CompositeId, when the id assigned by PrePersist method an HibernateException: identifier of an instance of _ was altered is thrown 2024-05-06 14:51:55 +02:00
Andrea Boriero 480e09fc4c HHH-18032 Add test for issue 2024-05-06 14:51:55 +02:00
Gavin King f7708d59ac mark an unused deprecated method for removal
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-06 14:35:12 +02:00
Marco Belladelli 43f9d20773 HHH-17827 Fix check for Map dynamic entity classes 2024-05-06 14:29:11 +02:00
Marco Belladelli 041bedd70a HHH-17827 Add test for issue 2024-05-06 14:29:11 +02:00
Marco Belladelli 3bbc90fb9b HHH-17834 Force version increment for the correct inheritance table 2024-05-06 14:27:10 +02:00
Marco Belladelli fa9e87c675 HHH-17834 Add test for issue 2024-05-06 14:27:10 +02:00
Christian Beikov 538e208866 HHH-18046 Fix Hana issue with binary arithmetic parameter 2024-05-06 12:16:52 +02:00
Gavin King 79c1bf2cd7 more tests for literals in duration arithmetic 2024-05-06 12:07:58 +02:00
Gavin King 5220e82e83 fix bug parsing date literals
and make related code more typesafe so this doesn't happen again

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-06 12:07:58 +02:00
Marco Belladelli 7f00e1a59d HHH-18053 Fix CockroachDB `TemporalUnit.NATIVE` interval pattern 2024-05-06 10:37:37 +02:00
Marco Belladelli 5e9223ee5c HHH-18053 TiDB timestampadd/diff pattern for fractional seconds 2024-05-06 10:37:37 +02:00
Gavin King b982bf54b5 fix addition of fractional second duration on SQL Server
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-03 23:14:58 +02:00
Christian Beikov 9011d22315 HHH-18043 Change the temporal arithmetic to use nanoseconds 2024-05-03 23:14:58 +02:00
Gavin King 14216fc267 test for adding duration to a LocalTime
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-03 23:14:58 +02:00
Gavin King 37018d2570 enable some commented tests in FunctionTests
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-03 23:14:58 +02:00
Gavin King ac40e37700 fix for datetime subtraction on DB2
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-03 23:14:58 +02:00
Gavin King 064526a5c6 disable test for extract() on SQL Server
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-03 23:14:58 +02:00
Gavin King 98b014c789 assertions for extract(offset hour/minute)
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-03 23:14:58 +02:00
Gavin King 8c6241a7d7 add a test for datetime subtraction with fractional seconds
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-03 23:14:58 +02:00
Gavin King 5941aca7ac make adding fractional seconds work on h2 and HSQL
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-03 23:14:58 +02:00
Gavin King 87516a77b7 tests for adding fractional seconds to timestamp
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-03 23:14:58 +02:00
Gavin King 0cfb52d127 HHH-18067 get rid of a typecast to AbstractPersistentCollection
and code cleanups

(Note that this typecast has actually been there since 2012,
though it only used to happen when batching was enabled.)

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-03 22:11:32 +02:00
Gavin King 138e0bba01 HHH-18023 treat LockMode.WRITE as similar to PESSIMISTIC_FORCE_INCREMENT
consistent with the similar levels they have

cc @beikov

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-03 20:52:00 +02:00
Gavin King 8a133ac120 HHH-18068 fix case-insensitive Order
can't use ordinal column refs inside lower()

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-03 20:51:51 +02:00
Gavin King bea5e4cf3d HHH-18068 tests for case-insensitive Order
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-03 20:51:51 +02:00
Christian Beikov 2932933c43 HHH-18066 Support de-referencing function invocation with dot and bracket syntax 2024-05-03 18:10:38 +02:00
Christian Beikov 940c898ecf Various improvements:
* Sprinkle some @Nullable annotations to better understand nullness guarantees
* Fix some potential NPEs
* Improve Oracle array_agg emulation
* Prepare for aggregate component array support
2024-05-03 16:49:39 +02:00
Christian Beikov 75e1f17139 HHH-18065 Truncate date related milliseconds from value passed to java.sql.Time 2024-05-03 16:10:54 +02:00
Christian Beikov 17fec64fd7 Make the JDBC type to use for array/collection types configurable 2024-05-03 16:07:19 +02:00
Marco Belladelli b273c17592 Skip binary arithmetic parameter inference test for CockroachDB 2024-05-03 15:12:31 +02:00
Marco Belladelli 2769fd1b3c Set `serial_normalization` to avoid Integer overflow 2024-05-03 15:12:31 +02:00
Marco Belladelli f5de1972e7 Fix java 17 bytecode-enhanced test missing imports 2024-05-03 10:37:45 +02:00
Marco Belladelli b16b891be0 HHH-17837 Render target-side key for explicit plural joins when needed
Also, change how we determine whether we need to use the target-side to only the strictly needed cases (non-optimizable joins, `group by` or `order by` clauses)
2024-05-03 08:48:20 +02:00
Marco Belladelli 21bfc5c19f HHH-17837 Add test for issue 2024-05-03 08:48:20 +02:00
Gavin King d0ed4d01f2 squash some compiler warnings
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-02 20:18:27 +02:00
Gavin King 72261fd806 HHH-18020 realign behavior of ClobJdbcType with BlobJdbcType
there was some organic divergence here
2024-05-02 20:18:27 +02:00
Gavin King c955150b27 minor code cleanups
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-02 20:18:27 +02:00
Christian Beikov 88bdfbfbd4 HHH-18046 Cast parameters used as arithmetic operands on DB2 2024-05-02 18:18:49 +02:00
Christian Beikov 5d4ffac58d HHH-18018 Use NO_PLAIN_PARAMETER for Derby functions that use the length function 2024-05-01 10:33:24 -05:00
marko-bekhta 19e495d8da Convert bytecodeenhanced tests to use JUnit 5 extensions 2024-05-01 07:36:14 -05:00
Sanne Grinovero 85364a2c53 HHH-18011 Extract reusable constants from EnhancerImpl 2024-05-01 11:59:35 +01:00
Sanne Grinovero a92bf606a9 HHH-18011 Extract DefaultEnhancerClassFileLocator and allow using a different implementation 2024-05-01 11:59:35 +01:00
Christian Beikov 3578ed845f HHH-18036 Truncate time-related milliseconds when creating a java.sql.Date 2024-05-01 00:08:25 +02:00
Yanming Zhou ecaeea414d HHH-18034 Configuration property `hibernate.event.listener.eventType` should be more lenient against spaces 2024-04-30 11:57:12 +01:00
Gavin King fe7b3c9e7e HHH-18023 fix questionable test
PESSIMISTIC_READ is not really a "more exclusive" lock than UPGRADE_NOWAIT

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-28 20:37:18 +02:00
Gavin King 1e0e0ac02b HHH-18023 fix wrong test assertions
OPTIMISTIC means the version gets checked at end of tx,
this lock mode is never acquired implicitly

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-28 20:37:18 +02:00
Gavin King 1657702015 HHH-18024 fix getLockMode() on read-only entity
it resulted in spurious exception claiming entity was deleted

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-28 20:37:18 +02:00
Gavin King 789cc12b8e HHH-18023 fix bugs with versioned LockModes
- NPE at commit time for OPTIMISTIC on entity with no version
- LockMode.OPTIMISTIC treated as equivalent to LockModeType.OPTIMISTIC

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-28 20:37:18 +02:00
Gavin King 39a6f9880b clean up CacheModeHelper
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-28 20:37:18 +02:00
Gavin King 60a732152f clean an unused import
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-27 01:29:56 +02:00
Jan Schatteman 1b057b8f1f HHH-17967 - Add test for issue (already fixed on main, fails pre-6.5)
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2024-04-25 16:39:21 +02:00
Andrea Boriero 2202487633 HHH-17964 Hibernate using wrong column order for ElementCollection query when composite ID is present 2024-04-25 09:59:13 +02:00
Andrea Boriero a1739979d1 HHH-17964 Add test for issue 2024-04-25 09:59:13 +02:00
Gavin King b102a6e2c9 slightly improve format of error message
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-24 22:41:02 +02:00
Marco Belladelli 181399f84c HHH-17983 Remove entity keys from batch queue before loading 2024-04-24 11:37:53 +02:00
Marco Belladelli 882709bdf8 HHH-17983 Add test for issue 2024-04-24 11:37:53 +02:00
Marco Belladelli ce56234857 HHH-17883 Correct original column order for primary keys 2024-04-24 11:36:46 +02:00
Marco Belladelli 0c8bfefd1c HHH-17883 Add test for issue 2024-04-24 11:36:46 +02:00
Christian Beikov bda95dfbe7 Fix HANA dialect doesRoundTemporalOnOverflow 2024-04-23 17:59:12 +02:00
Christian Beikov 969ecaae58 Fix SybaseASEDialect column length resolution 2024-04-23 17:08:18 +02:00
Marco Belladelli 7adab31924 HHH-17818 Add a UG paragraph and examples for `@ConcreteProxy` 2024-04-23 15:37:22 +02:00
Marco Belladelli 84cb94b990 HHH-17818 Introduce new `@ConcreteProxy` annotation
Also, preserve laziness for optional + ConcreteType associations
2024-04-23 15:37:22 +02:00
Gavin King 2bc78d50b0 HHH-17999 use Supplier instead of Constructor
this is quite a lot cleaner

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-23 15:28:38 +02:00
Gavin King 0468e04955 HHH-17999 use Constructor<Expectation> instead of Class<Expectation>
for Quarkus

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-23 15:28:38 +02:00
Andrea Boriero 42cbbc3a0c HHH-17965 @ElementCollection with @CollectionTable throws o.h.MappingException Foreign key must have same number of columns as the referenced primary key 2024-04-23 13:51:10 +02:00
Andrea Boriero a3690b1e68 HHH-17965 Add test for issue 2024-04-23 13:51:10 +02:00
Sanne Grinovero 8f277d4b1c HHH-17993 Metamodel processing on bootstrap: avoid retrying same metamodel class name multiple times 2024-04-22 21:26:33 +01:00