Commit Graph

10142 Commits

Author SHA1 Message Date
Gavin 9c6c3eba81 HHH-16125 fix enums in embeddable types on postgres
fixes allowing correct serialization/deserialization of enums
includes workaround for StructJdbcType sending us a BigDecimal (need better solution)
2023-04-29 15:42:56 +02:00
Gavin db4a1bb6ef HHH-16125 remove DDL generation stuff from converters
it never belonged there!
2023-04-29 15:42:56 +02:00
Gavin d075093ebf HHH-16125 clean up legacy EnumType 2023-04-29 15:42:56 +02:00
Gavin febf39cc55 HHH-16125 complete redesign of how enum mappings work
- introduce SqlTypes.ENUM
- no more converters!
- finish of Potgres enum support
- disable BIND for enums in Criteria on PostgreSQL
  (PostgreSQL doesn't do the needed type conversion to the enum type)
2023-04-29 15:42:56 +02:00
Gavin d348ae2d8c workaround issue on postgres
this is probably a pre-existing hole in the logic,
not related really related to my work
2023-04-29 15:42:56 +02:00
Gavin fb9c007bdd HHH-16125 attempt to support PostgreSQL enum types 2023-04-29 15:42:56 +02:00
Gavin 1d7be9512a cleanups to InFlightMetadataCollector[Impl]
incl attempt to fix PK to FK copying
2023-04-29 15:42:56 +02:00
Gavin eefa1d9365 improve an error message 2023-04-29 11:29:39 +02:00
Gavin cebef1618d clean up of VarcharJdbcType 2023-04-29 09:05:23 +02:00
Gavin aa9bb26498 fix some javadoc 2023-04-29 09:05:23 +02:00
Gavin c36fdc4d06 fix bug in SQL formatting on MySQL 2023-04-29 08:50:11 +02:00
Jan Schatteman 784bc3463e Remove the unused o.h.stat.internal.CategorizedStatistics
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-04-28 21:08:54 +02:00
Jan Schatteman 4a8c51f14f HHH-16515 - Add o.h.pretty to nullness checking
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-04-28 14:10:32 +02:00
Karel Maesen 559fbe77ce HHH-15160 - Add SPATIAL FunctionParameterType
This enables us to validate spatial arguments in functions.
2023-04-28 13:50:36 +02:00
Marco Belladelli 0854cd9408
Fix test failing on H2 version < 2 2023-04-28 11:19:26 +02:00
Marco Belladelli f7eb58341e Fix in-array predicate rendering for cockroachdb 2023-04-28 11:11:26 +02:00
Christian Beikov 203f28e14c HHH-16528 Revert SybaseDialect NameQualifierSupport to CATALOG only and fix ansinull option for jconnect 2023-04-28 10:30:43 +02:00
Christian Beikov aad0c55f9b HHH-15833 Disable named parameters for jConnect JDBC driver 2023-04-28 10:30:43 +02:00
Marco Belladelli e60d2c878b HHH-16397 Allow fk optimization for correlated paths in subqueries 2023-04-28 10:26:00 +02:00
Marco Belladelli 3fe9ac9e32 HHH-16397 Add test for issue 2023-04-28 10:26:00 +02:00
Marco Belladelli c86c2b8300 HHH-16392 Add column qualifier support to Dialect 2023-04-28 10:22:26 +02:00
Marco Belladelli a9080f5f7d HHH-16392 Fix where clause in collection cleanup subqueries 2023-04-28 10:22:26 +02:00
Marco Belladelli c16cedf327 HHH-16392 Add test for issue 2023-04-28 10:22:26 +02:00
Jan Schatteman 5e4ca03260 Correction to remove the main method from H2Dialect
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-04-28 00:06:55 +02:00
Steve Ebersole c6389efb1b Add a Dialect report
Also added
* H2Dialect#getMinimumSupportedVersion
* DerbyDialect#getMinimumSupportedVersion
2023-04-27 11:28:35 -05:00
Christian Beikov 3ae07666ab HHH-16304 Default unquotedCaseStrategy to MIXED with Sybase 2023-04-27 09:54:17 +02:00
Christian Beikov 8ce01de60c Fix build issues with JDK17+ 2023-04-27 09:52:33 +02:00
Sven Strickroth f8379eefe1 HHH-16507 Use subsystem logger instead of hard-coded "SQL dialect"
Signed-off-by: Sven Strickroth <email@cs-ware.de>
2023-04-26 22:15:17 -05:00
Steve Ebersole 25a23fd1c0 HHH-16441 - Improve support for @BatchSize
HHH-16466 - ARRAY parameter support for multi-key loads
HHH-16509 - Split parameter limit and IN element limit
2023-04-26 13:58:15 -05:00
Marco Belladelli e94d030458 Fix some tests failing for older DBs 2023-04-26 20:56:50 +02:00
Jan Schatteman d8b44d071e HHH-16515 - Add @Nullable annotations to org.hibernate.spi
Signed-off-by: Jan Schatteman <jschatte@redhat.com>

Correction to gradle/java-module.gradle for the checkerframework
Co-authored-by: Christian Beikov <christian.beikov@gmail.com>

Add @Nullable annotations to org.hibernate.spi
2023-04-26 18:28:07 +02:00
Marco Belladelli 3543186ec7 HHH-16409 Rework entity valued path expansion for group by and order by 2023-04-26 13:57:05 +02:00
Marco Belladelli 80988300a6 HHH-16409 Add test for issue 2023-04-26 13:57:05 +02:00
Staffan Hörke c18391e226 HHH-16473 Add test for issue 2023-04-26 13:55:02 +02:00
Marco Belladelli cdec63199d HHH-16363 Add test for issue 2023-04-26 13:55:02 +02:00
Marco Belladelli 0542257f15 HHH-16488 Add test for issue 2023-04-26 13:53:23 +02:00
Christian Beikov 199201482d HHH-16271 Fix generated keys issues with Sybase JConn and insert-select statements 2023-04-26 11:51:15 +02:00
Steve Ebersole 06381d2dd2 HHH-16321 - Hibernate maps NCLOB to ntext on Sybase 2023-04-25 20:54:22 -05:00
Steve Ebersole 48c59392f6 HHH-16314 - Skip NativeQueryResultTypeAutoDiscoveryTest#dateTimeTypes for Sybase 2023-04-25 20:28:35 -05:00
Steve Ebersole c3ddd869c9 HHH-16270 - Support for null Query parameters on Sybase 2023-04-25 08:14:07 -05:00
Christian Beikov 4342b9832b Skip intermittently failing test on Sybase due to the driver/db omitting trailing zero bytes in varbinary 2023-04-25 13:23:09 +02:00
Christian Beikov d64c533f2b HHH-16382 Make sure joins are adapted to inner if non-FK parts of a path are de-referenced 2023-04-25 13:23:09 +02:00
Yoann Rodière 9a9f027f82 HHH-16458 Close JDBC statement when DeferredResultSetAccess fails to execute a query 2023-04-25 10:33:09 +02:00
Christian Beikov c73f4e26a1 Ignore some random UUID tests on Sybase to reduce trailing zero bytes related failures 2023-04-25 09:34:15 +02:00
Christian Beikov 48b34b004a HHH-15602 Fix small typo 2023-04-25 09:34:14 +02:00
Christian Beikov fc069afed7 HHH-16485 Insert ordering doesn't consider root entity names 2023-04-25 09:34:14 +02:00
Christian Beikov 982b132213 HHH-15602 Fix bidirectional association management code 2023-04-25 06:50:53 +02:00
Christoph Dreis a5ae8737a6 HHH-16500 Remove unnecessary reflection from JpaStreamTest 2023-04-24 20:06:47 +02:00
Christoph Dreis a8b1dfd7be HHH-16508 Remove StreamDecorators 2023-04-24 20:06:47 +02:00
Christian Beikov 75caf15e6b HHH-16382 Fix resolving table references especially for self-referential associations 2023-04-24 20:02:44 +02:00
Gavin 540fb0c996 minor fixes to the SQL highlighter 2023-04-24 14:38:21 +02:00
Andrea Boriero 99f45f042e HHH-16492 Hibernate 6 does not auto flush when calling Query.stream() with NativeQuery 2023-04-24 14:32:34 +02:00
Andrea Boriero 309cafbf93 HHH-16492 Add test for issue 2023-04-24 14:32:34 +02:00
Andrea Boriero 5a49d04255 HHH-16479 Generic enum in @MappedSuperclass fails with java.lang.IllegalArgumentException: Named type [...] did not implement BasicType nor UserType 2023-04-24 14:24:51 +02:00
Andrea Boriero 962d483684 HHH-16479 Add test for issue 2023-04-24 14:24:51 +02:00
Gavin 642959dc75 clean up two SQL queries in OracleDialect 2023-04-24 12:49:11 +02:00
Gavin 106dc33a18 proof of concept for auto-detection of Oracle MAX_STRING_SIZE 2023-04-24 12:49:11 +02:00
Gavin 3aa47ad423 fix test 2023-04-22 22:53:03 +02:00
Gavin b2883fd9a2 log highlighted SQL from tests 2023-04-22 20:48:27 +02:00
Gavin 19e2f1ce22 HHH-16501 allow referencedColumnName to column mapped by superclass of target entity 2023-04-22 20:40:52 +02:00
Marco Belladelli 6a03676c9f HHH-16362 Don't set fetched on nested non-terminal attribute joins 2023-04-21 16:27:34 +02:00
Marco Belladelli ff4bcafd52 HHH-16362 Add test for issue 2023-04-21 16:27:34 +02:00
Marco Belladelli 0addc00d10 HHH-16347 Disable alias and positional order-by items in OVER and WITHIN GROUP clauses 2023-04-21 16:24:08 +02:00
Marco Belladelli 1b3209f38a HHH-16347 Add test for issue 2023-04-21 16:24:08 +02:00
Andrea Boriero add6d84310 HHH-16471 Entities serialized in QueryKey causes java.lang.ClassCastException 2023-04-21 13:55:08 +02:00
Andrea Boriero b1a4890c3e HHH-16471 Add test for issue 2023-04-21 13:55:08 +02:00
Gavin 2c16e25a71 add some examples of interpretation of column Length 2023-04-21 11:57:15 +02:00
Andrea Boriero 6c69c45af8 HHH-16477 LAZY @ManyToOne may again break EAGER @ManyToOne with Bytecode Enhancement 2023-04-20 11:38:27 +02:00
Tomas Cerskus 98e12e541f HHH-16477 LAZY @ManyToOne may again break EAGER @ManyToOne with Bytecode Enhancement 2023-04-20 11:38:27 +02:00
Andrea Boriero 9b85afc88c HHH-16457 Values returned in ValueAccess.getValues() and getValue(…) not alphabetical for Java records 2023-04-20 11:33:53 +02:00
Andrea Boriero 6e4b5cc0a0 HHH-16457 Add test for issue 2023-04-20 11:33:53 +02:00
Andrea Boriero 6188eeb681 HHH-16493 OneToManyCollectionPart doesn't disassemble properly embeddable IdClass 2023-04-20 11:28:51 +02:00
Andrea Boriero 60b209e6ee HHH-16493 Add test for issue 2023-04-20 11:28:51 +02:00
Steve Ebersole 959858f8bc HHH-16481 - Add a new WrapperArrayHandling for enabled JPA compliance 2023-04-19 23:43:11 -04:00
Steve Ebersole d7c5db47f6 HHH-16482 - Convert Functions in StandardConverters to static methods that can be used as method references 2023-04-19 23:29:19 -04:00
Jan Schatteman 85a636c856 HHH-16438 - Apply some suggestions from Christian's code review
Co-authored-by: Christian Beikov <christian.beikov@gmail.com>
2023-04-19 18:52:42 +02:00
Jan Schatteman 6b21d436ce HHH-16438 - fix for issue
- move the discriminator condition from the where clause to the join clause
- add another test to JoinWithSingleTableInheritanceTest

Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-04-19 18:52:42 +02:00
Jan Schatteman 11012ea2c8 HHH-16438 - Add test for issue where left outer joins do not work with single table polymorphic entities because of the discriminator in the where clause
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-04-19 18:52:42 +02:00
Christian Beikov 19da8f3e7c HHH-16468 Simplify embeddable key handling 2023-04-17 15:31:53 +02:00
Andrea Boriero d95b800d15 HHH-16468 Don't create fetch for _identifierMapper anymore 2023-04-17 15:31:53 +02:00
Christian Beikov 9a12cae280 HHH-16468 Don't create fetch for _identifierMapper anymore 2023-04-17 15:31:53 +02:00
Gavin cb413fe134 squash 3 warnings by adding wildcard 2023-04-16 13:40:21 +02:00
Gavin 61696189f5 minor changes 2023-04-15 16:19:36 +02:00
Marco Belladelli 98f8e7ecfa Fix fragile tests 2023-04-14 13:55:33 +02:00
Marco Belladelli 787eaf5f60 HHH-16349 Correct entity valued path selectable expansion 2023-04-14 08:57:27 +02:00
Marco Belladelli 54619fd536 HHH-16349 Add test for issue 2023-04-14 08:57:27 +02:00
Marco Belladelli a69dec8ecf HHH-16459 Fix inline dirty checking with generics and inheritance 2023-04-14 08:45:13 +02:00
Yoann Rodière 634d590e72 HHH-16459 Test bytecode-enhanced inline dirty tracking for generic associations from mapped superclasses 2023-04-14 08:45:13 +02:00
Yoann Rodière 33ed78df5b HHH-16459 Expand existing test of generic associations to ToOne associations 2023-04-14 08:45:13 +02:00
Gavin 2fd6f548e4 minor cleanups following from HR review 2023-04-13 20:28:22 +02:00
Gavin 8f5d5fd14c make some methods protected for the benefit of HR
misc minor changes
2023-04-13 15:26:41 +02:00
Gavin 577b6b1403 clean up GraphSemantic 2023-04-13 15:26:41 +02:00
Andrea Boriero 0b54c1d083 HHH-16394 Statement Batch + Version + Dirty Collection leads to OptimisticLockException: Batch update returned unexpected row count from update 2023-04-13 10:09:29 +02:00
Andrea Boriero b2f2547d3c HHH-16394 Add test for issue 2023-04-13 10:09:29 +02:00
Andrea Boriero c498bf376d HHH-16387 Entity in key not returned when querying 2023-04-13 10:00:22 +02:00
Andrea Boriero cceac9bda3 HHH-16387 Add test for issue 2023-04-13 10:00:22 +02:00
Gavin 8415ffefda minor code changes to SessionImpl and supertype 2023-04-13 09:50:14 +02:00
Gavin e5c9b2a865 test for trunc() with timezone offset 2023-04-11 21:55:26 +02:00
Gavin a6f355a78c add a space 2023-04-11 20:58:35 +02:00
Gavin 969eb9fb5a fix some slightly misleading javadoc about the @Where annotation 2023-04-11 20:58:35 +02:00
Gavin 176978cc42 add toString()s to DialectResolutionInfo
to fix an ugly log message
2023-04-11 20:14:13 +02:00
Gavin dd370313f2 add test showing how to use gen_random_uuid() on postgres 2023-04-11 17:37:24 +02:00
Gavin c70d9853c7 clarify some logic around @GeneratedValue 2023-04-11 17:37:24 +02:00
Gavin 91eb9e1f20 clean up SequenceStyleGenerator + StandardOptimizerDescriptor 2023-04-11 11:33:58 +02:00
Gavin b682a1036c improve javadoc fo @Subselect 2023-04-10 16:05:15 +02:00
Gavin 86d924787d whitespace changes 2023-04-10 16:03:28 +02:00
Gavin 7bfab04e63 expose some methods for HR 2023-04-10 12:22:50 +02:00
Gavin af25660720 expose some methods of EntityDeleteAction to HR 2023-04-10 03:37:28 +02:00
Gavin 49fb2dce8a misc cleanups to default events listeners 2023-04-10 03:37:28 +02:00
Gavin bd57af6d97 HHH-16449 accept underscores in HQL integer and long literals 2023-04-09 19:35:37 +02:00
Gavin 34f05d183a cast DateTimes to Instants and vice versa 2023-04-09 19:33:27 +02:00
Gavin 77b96a6b4b cast integers to Durations 2023-04-09 19:33:27 +02:00
Gavin 511399c152 update the docs to reflect the new @SQL annotations 2023-04-09 19:32:59 +02:00
Gavin d34a0899a2 add a hyphen 2023-04-08 18:05:46 +02:00
Gavin 559c325759 add @DialectOverride.SQLSelect 2023-04-08 13:10:46 +02:00
Gavin adffa890b1 HHH-16163 replace @OrderBy and @Where by @SQLOrder and @SQLRestriction 2023-04-08 13:10:46 +02:00
Gavin 7b8cd14052 HHH-16163 update tests to use new annotations 2023-04-08 13:10:46 +02:00
Davide D'Alto e6c8fbc7af HHH-16443 Convert SqlStatementLogger into a Service
This way is possible to get the logger without having
to initialize the JdbcServices service.

Without this change, in Hibernate Reactive, we have a cyclic
dependency during the initialization of the services between
JdbcEnvironment and JdbcServices.
2023-04-08 10:48:18 +01:00
Gavin 07a9cee923 fix inconsistently-formatted log message 2023-04-08 03:09:50 +02:00
Gavin e5545492cc proper logging and documentation for semi-deprecation of 'hibernate.dialect'
and code cleanup
2023-04-08 00:14:08 +02:00
Gavin d8c300dcf1 add two missing keywords to the list of "soft" keywords 2023-04-07 13:13:34 +02:00
Andrea Boriero 5902d0b4db HHH-16429 WF SessionFactoryTestCase test fails 2023-04-07 10:53:58 +02:00
Gavin King 543226087f add a test for round-tripping Instant 2023-04-07 01:11:49 +02:00
Jan Schatteman 53f752d138 Remove some unnecessary code duplications in AbstractSelectionQuery and AbstractQuery
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-04-06 20:21:28 +02:00
Davide D'Alto 1de4a76008 HHH-16444 When logging the selected dialect, log the db version too
The db version used by the dialect makes a huge different on the
sql queries used.

The log before this commit:
```
INFO SQL dialect [vert.x-worker-thread-0] HHH000400: Using dialect: org.hibernate.dialect.MariaDBDialect
```

The log after this commit:
```
INFO SQL dialect [vert.x-worker-thread-0] HHH000400: Using dialect: org.hibernate.dialect.MariaDBDialect, version: 10.11
```

I've also updated the HANADialectTestCase because now the error message
contains the db version
2023-04-06 16:54:40 +01:00
Jan Schatteman 4eef64f81e HHH-16435 - Fix for issue (combine filterpredicates with potential already existing ones)
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-04-06 17:26:46 +02:00
Jan Schatteman 7f6b054a14 HHH-16435 - Added test for issue
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-04-06 17:26:46 +02:00
Gavin 1b2107e7b4 make a code comment even clearer b/c apparently some don't get it 2023-04-06 10:56:19 +02:00
Gavin 2927c006b2 allow @UuidGenerator to be applied to a non-@Id field 2023-04-06 10:11:24 +02:00
Christian Beikov 783da2a906 HHH-16389 Introduce checkerframework for nullness marking/checking and null check the JPA metamodel generator 2023-04-05 19:14:37 +02:00
Marco Belladelli 169757d5b1 HHH-16340 Avoid checking discriminator duplication when not insertable 2023-04-05 18:37:24 +02:00
Marco Belladelli 814cddfeb4 HHH-16340 Add test for issue 2023-04-05 18:37:24 +02:00
Jan Schatteman 7452319807 HHH-16418 - Improve error message
Co-authored-by: Christian Beikov <christian.beikov@gmail.com>
2023-04-05 15:57:12 +02:00
Jan Schatteman 76ea320cdb HHH-16418 - Added test and improvement for issue
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-04-05 15:57:12 +02:00
Yoann Rodière 9884afe78b HHH-16403 Avoid unnecessary wrapping for exceptions/errors thrown by getters/setters 2023-04-05 15:22:42 +02:00
Yoann Rodière 01b0ff7940 HHH-16403 Upgrade to assertj 3.22.0 2023-04-05 15:22:42 +02:00
Gavin 0bf50ae3f5 improve tests for truncate(datetime) function 2023-04-05 15:03:52 +02:00
Sanne Grinovero e38b85ea86 Retained memory analysis: ReflectHelper#JAVA_CONSTANT_PATTERN 2023-04-04 12:51:17 +02:00
Sanne Grinovero 2ab56b3ece Retained memory analysis: remove unused field JdbcTypeNameMapper#JDBC_TYPE_NAME_MAP 2023-04-04 12:51:17 +02:00
Sanne Grinovero a5315c7e50 HHH-16430 Small optimisation in Dialect initializations 2023-04-04 12:51:17 +02:00
Sanne Grinovero 845e9770d5 HHH-16430 Avoid AnsiSqlKeywords to retain all keywords as static constants 2023-04-04 12:51:17 +02:00
Sanne Grinovero ca3e69a4f6 HHH-16430 Strictly define ansiSQL2003 as lowercase 2023-04-04 12:51:17 +02:00
Sanne Grinovero 049a25aa66 HHH-16430 Simplify construction of set of ansiSQL2003 keywords 2023-04-04 12:51:17 +02:00
Steve Ebersole 8e1247c909 HHH-16012 - Develop an abstraction for domain model Class refs 2023-04-03 19:54:41 -05:00
Andreas Asplund f6e3a56b8e HHH-16413 Add test for issue 2023-04-03 15:18:38 +02:00
Marco Belladelli 288242a10f HHH-16414 Improve TableGroup resolution for get or create 2023-04-03 15:18:38 +02:00
Marco Belladelli bc31a9532a Fix failing tests on CockroachDB and Oracle 11 2023-04-03 15:14:20 +02:00
Jan Schatteman 9991b9d32c HHH-16406 - Fix error in PaginationTest for Sybase
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-03-31 17:32:20 +02:00
Steve Ebersole 7db9bc83c1 HHH-16407 - EntityPersister and CollectionPersister deprecations 2023-03-30 17:10:41 -05:00
Andrea Boriero 6b8efd01fa HHH-16368 UnsupportedOperationException: compare() not implemented for EntityType 2023-03-30 17:08:13 -05:00