Commit Graph

262 Commits

Author SHA1 Message Date
Christian Beikov 7f10a48469 HHH-17335 Add array_position function 2023-10-25 18:58:44 +02:00
Christian Beikov 65fb449776 HHH-17335 Add array_contains function 2023-10-25 18:58:44 +02:00
Christian Beikov 2cb4652688 HHH-16780 Add array_agg and array constructor function 2023-10-18 17:38:25 +02:00
Christian Beikov f13264d71d Fix HANA test failures 2023-10-13 14:23:22 +02:00
Jan Schatteman ed84eddcb6 HHH-17090 - Remove support for Oracle versions older than 19
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-10-13 12:36:57 +02:00
Jan Schatteman ec639cd1f7 HHH-17097 - Remove support for MariaDB versions older than 10.4
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-10-13 12:36:57 +02:00
Jan Schatteman 1a1604be2f HHH-17095 - Remove support for SQL Server versions older than 2012
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-10-13 12:36:57 +02:00
Jan Schatteman f12ef0fa79 HHH-17094 - Remove support for MySQL versions older than 8.0
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-10-13 12:36:57 +02:00
Christian Beikov 5bab35eb96 HHH-17176 Map SDO_ORDINATE_ARRAY to BigDecimal[] for Oracle 2023-10-10 09:50:57 +02:00
Christian Beikov bc02c7781d HHH-17276 Be more forgiving when determining lobness 2023-10-09 18:30:18 +02:00
Christian Beikov cb0aad7c7c HHH-17276 Expose size based lob-ness in DdlType and retain info in runtime model 2023-10-05 22:31:54 +02:00
Hendrik Schreiber 9db13eed69 HHH-17245 Removed author tag for Vlad Mihalcea, as he is not one of the authors of this class.
See https://github.com/hibernate/hibernate-orm/pull/7363#issuecomment-1732135727
2023-09-26 17:30:05 +02:00
Hendrik Schreiber 82d5d07750 HHH-17245 Better conform to SQLite/Xerial driver limitations.
Added getAlterTableToAddUniqueKeyCommand(), which always returns "", 
because SQLite does not support unique constraints in ALTER TABLE 
statements (see here). 
Added getDefaultUseGetGeneratedKey(), which always returns false, as the 
Xerial driver does support GET_GENERATED_KEYS.
2023-09-26 17:30:05 +02:00
Christian Beikov 59d254cae1 HHH-17242 Partly revert original solution to retain correct expression types 2023-09-26 15:45:04 +02:00
Christian Beikov 47316da04b HHH-17242 Improve temporal arithmetic SQL rendering 2023-09-22 16:38:06 +02:00
Christian Beikov dd9a51a53a Implement sane collection of skip/require dialect annotations 2023-09-07 14:43:31 +02:00
Christian Beikov d4accd0233 Make use of connection pooling in most tests 2023-09-06 14:57:05 +02:00
Christian Beikov e73a1cdccb HHH-16945 Cast to varbinary for tuple distinct count on SQL Server to avoid collation issues 2023-09-06 10:06:05 +02:00
Jan Schatteman 213660001c HHH-15177 - Remove support for PostgreSQL versions older than 11
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-08-28 14:37:40 +02:00
Gavin King 72e092f67f HHH-16989 fix 'cast(string as String(10))', 'cast(string as Binary(10))' on MySQL 2023-08-19 10:40:05 +02:00
Christian Beikov b2fda37773 Use try-with-resources to ensure scroll and stream tests close underlying resources 2023-08-15 19:36:43 +02:00
marko-bekhta 3365c6f585 HHH-17016 Cast to the correct MySQL dialect 2023-08-01 10:32:35 +02:00
Christian Beikov e83008e75d Fix DB2 10.5 testsuite issues 2023-07-25 15:47:08 +02:00
Christian Beikov eb562d5078 HHH-16984 Disable use of arrays for batch and multi-loader on H2 2023-07-24 17:15:19 +02:00
Gavin King 49f890d781 move NullOrdering to the Dialect package where its usages are 2023-07-05 13:23:15 +02:00
Christian Beikov a098abff42 Handle timeout exception for older H2 versions and igonre a test for Cockroach 2023-06-26 17:49:18 +02:00
Sanne Grinovero 0fb5895d08 Automated cleanup: suboptimal string handling (thanks IntelliJ) 2023-06-26 14:38:59 +01:00
Christian Beikov 98e028c51d HHH-14483 Split insert-values statement if dialect doesn't support values lists 2023-06-21 18:24:33 +02:00
Marco Belladelli cbac1b82c0 HHH-16773 Fix functional dependency support for TiDB and Cockroach 2023-06-20 14:21:23 +02:00
Marco Belladelli e5d59b64fd HHH-16773 Introduce support for group/order by PK functional dependency 2023-06-16 14:06:54 +02:00
Christian Beikov 2fb7cdd08b HHH-16697 Fix auto type discovery for aggregate functions on Oracle 2023-06-13 20:59:58 +02:00
Gavin 37c071fa20 better formatting for 'merge' and 'case' 2023-06-06 16:08:05 +02:00
Christian Beikov 2cc1362df7 HHH-15929 Handle the possibility of different JdbcMappings for the same column 2023-06-05 16:49:04 +02:00
Gavin eb959722f9 HHH-16651 introduce new setting to globally enable the use of subselect fetching
and lay foundation for making this settable on the Session
2023-05-22 18:45:28 +02:00
Jarkko Hyöty 6c8bb03c93 HHH-16433 Fix forced follow on locking with order by 2023-05-19 11:31:49 +02:00
Christian Beikov bee160e9f2 HHH-16541 Don't report supportsSkipLocked() for Sybase 2023-05-17 16:22:31 +02:00
Christian Beikov 7823b48a3a HHH-16541 Fix Sybase test issues and HSQLDB hanging 2023-05-17 11:41:18 +02:00
Christian Beikov 031098a248 HHH-16541 Don't consider uninitialized LazyTableGroup for follow-on locking emulation. Fix lock mode upgrade for follow-on locking 2023-05-16 12:58:25 -05:00
Christian Beikov eb6e848de3 HHH-15726 Fix treat disjunction handling and improve pushdown 2023-05-15 10:07:08 +02:00
Marco Belladelli 4e9a643346 Fix several tests failing on Oracle 11 and some others on older dbs 2023-05-15 09:27:35 +02:00
Jan Schatteman 2e97374660 HHH-16567 - Remove support for CockroachDB versions older than 22.1
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-05-09 20:40:05 +02:00
Gavin a56942ce3b HHH-16535 introduce @Array annotation 2023-05-02 14:40:00 +03:00
Christian Beikov 53c7ef470a HHH-16533 Fix issues with jConnect driver related to temporal literals. Also improve truncation and casting SQL 2023-05-02 11:16:04 +02:00
Gavin 473984f1eb HHH-16125 introduce JdbcTypeConstructor instead of using JdbcTypes as their own factories
previously, there was a global instance of ArrayJdbcType registered by the Dialects, in
an inconsistent state, that acted as a factory for correctly-initialized instances
2023-05-02 10:47:28 +03:00
Gavin 07268d6568 HHH-16125 Oracle array support using varray types 2023-05-01 17:37:19 +02:00
Gavin 783e0772e6 fix rendering of in (...) lists
they are not function calls
2023-05-01 17:24:15 +03:00
Gavin 7514f8ad00 HHH-16125 introduce SqlTypes.NAMED_ENUM to make pg enums non-default
and clean up the impl of enums
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
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 c86c2b8300 HHH-16392 Add column qualifier support to Dialect 2023-04-28 10:22:26 +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
Christian Beikov 31f1a30c7d Fix issues with nightly tests 2023-03-30 15:43:51 +02:00
Christian Beikov e1d926356f HHH-16404 SkipFirstLimitHandler calls insertAfterSelect with parameter in wrong order 2023-03-30 14:26:23 +02:00
Christian Beikov eb9e16c83f HHH-16317 Don't use InstantAsTimestampWithTimeZoneJdbcType for PG-JDBC and MSSQL due to a bug 2023-03-23 11:59:53 +01:00
Christian Beikov 41bec6d5f9 HHH-16287 Consider hibernate.timezone.default_storage for OffsetTime typing and storage 2023-03-23 11:59:53 +01:00
Christian Beikov 0b68a36f8b HHH-16333 Handle converters properly in BasicPluralType 2023-03-22 17:27:26 +01:00
Marco Belladelli c3fa3ae777 HHH-16320 Handle json columns with native ddl type on H2 2023-03-17 10:21:41 +01:00
Christian Beikov 39f4fdda5e HHH-16316 Move version specific dialects of unsupported versions to hibernate-community-dialects 2023-03-17 10:12:34 +01:00
Christian Beikov 2c666c3835 HHH-15766 Add query spec parenthesis also when order by is used within query group 2023-03-06 09:43:11 +01:00
Christian Beikov 8d93c0ca33 HHH-16224 Refactor discovery of exact JDBC drivers, avoid static state in specialized types 2023-03-03 15:13:01 +01:00
Sanne Grinovero cf2e723d6f HHH-16228 Dialect instance might be wrapped when doing instanceof checks for capabilities
To properly support the idea of wrapping the Dialect, we need
to take this into account whenever an `instanceof` is used
to check for Dialect capabilities.
Also some code is casting to the expected Dialect.
2023-02-27 22:53:31 +00:00
Marco Belladelli b16ad226ba HHH-16185 Custom trunc/truncate implementation that handles both numeric and datetimes 2023-02-27 17:01:45 +01:00
Marco Belladelli 789c131c2d HHH-16185 Implement portable date_trunc function emulation and tests 2023-02-27 17:01:45 +01:00
Sanne Grinovero b328b1a3fb HHH-16221 Improve extensibility of CockroachDB and PostgreSQL dialects 2023-02-23 14:58:53 +00:00
Gavin King 958cdfb09f remove an obsolete constructor no longer called by Quarkus
and delete the stupid InformixDialectTestCase
2023-02-08 21:39:56 +01:00
Christian Beikov 16ca1a0595 HHH-15443 Allow JdbcType to wrap read and write expressions 2023-01-27 14:26:42 -06:00
Marco Belladelli 12c69c8528 Fix wrong version check in from dual for select only for MySQL 2023-01-24 09:05:04 +01:00
Gavin 8f29ae95c9 more javadoc for Dialect.getFractionalSecondPrecisionInNanos() 2023-01-14 15:14:04 +01:00
Gavin 56774f80d7 fix handling of typestamp arithmetic on Sybase
this was a total inconsistent mess that made no sense
2023-01-14 15:14:04 +01:00
Christian Beikov 80b638aeca Introduce getSingleJdbcMapping() and getJdbcMapping(int) to improve JdbcMappingContainer accesses 2023-01-13 09:04:15 +01:00
Marco Belladelli b5d58e69ae HHH-15928 Check distinct and sub-queries for SQLServer fetch / offset 2023-01-12 17:22:58 +01:00
Marco Belladelli 73da49626d Fix select without from in old versions of MySQL and MariaDB 2023-01-12 17:21:05 +01:00
Marco Belladelli ab86055565 HHH-15890 Fix shouldEmulateFetchClause method for DB2(i)SqlAstTranslator 2023-01-09 19:01:44 +01:00
Marco Belladelli 54402da721 HHH-15985 Custom trunc and round function for PostgreSQL and Cockroach 2023-01-06 15:48:09 +01:00
Gavin ab48dc9ba1 remove an email address I missed 2023-01-05 20:21:01 +01:00
Gavin 1fd45b607c thorough jdoc review and trivial changes to Dialect 2023-01-05 11:19:16 +01:00
Gavin ecf4d30c50 make Dialect implement TypeContributor and FunctionContributor
there is little *concrete* benefit to this change, and it's slightly break-y but:

- it removes a dependence on the @Incubating type QueryEngine from Dialect
- we eat our own dogfood, that is, use our own abstractions
- it appears that this was how it was *originally* intended to be
2023-01-04 19:38:24 +01:00
Gavin 196d7a1b5a resolve an issue with ArgumentsValidator and access to the MappingMetamodel
(ideally we should never access the MappingMetamodel from ArgumentsValidator)
2023-01-04 17:05:32 +01:00
Gavin e3ed3028c4 Revert "disable fragile test"
This reverts commit 2d3b787fc0.
2023-01-04 17:05:32 +01:00
Marco Belladelli 9369fbd597 Fix date_trunc function for DB2 10 2023-01-04 16:41:14 +01:00
Gavin 2d3b787fc0 disable fragile test 2023-01-03 21:06:49 +01:00
Gavin b7b5fb7559 avoid the use of TypeConfiguration.getServiceRegistry() 2023-01-03 21:06:49 +01:00
Gavin e8f899ffbc avoid the use of TypeConfiguration.getSessionFactory() which is not very typesafe
continue sorting out issues with lifecycle of SessionFactoryImpl and friends
2023-01-03 21:06:49 +01:00
Gavin 91c69d72a7 work on jdoc of Dialect (mostly just formatting) 2023-01-03 21:06:49 +01:00
Gavin 1991e7d6a7 clean imports 2022-12-30 00:46:36 +01:00
Gavin c6f0be990c yet more work on the API documentation
- and get rid of people's email addresses, they don't belong in the code
2022-12-29 15:03:09 +01:00
Gavin 2355f98586 HHH-14526 tolerate dupe tables in JOINED inheritance with discriminator
and also support @DiscriminatorOptions for JOINED inheritance
2022-12-26 18:22:06 +01:00
Christian Beikov 4901d2bb61 HHH-15464 Allow JdbcType to expose the type code to use for DDL 2022-12-22 17:25:13 +01:00
Christian Beikov a094d4c5d5 HHH-15463 Adjust JdbcType based on DDL capacity for varchar/varbinary like types 2022-12-22 17:25:13 +01:00
Gavin 023e73cb46 promote trunc() / truncate() to the list of standard HQL functions
also support the single-argument form of round() for consistency
2022-12-21 14:25:35 +01:00
Marco Belladelli d862f2d52e HHH-15868 Fix db2's atan2 function requiring inverted argument order 2022-12-21 13:38:43 +01:00
Christian Beikov 7007bafe55 HHH-15872 Add ColumnOrderingStrategy SPI and handle record structs specially 2022-12-20 20:17:23 +01:00
Andrea Boriero 1f630e4a5d HHH-15805 Subquery with where condition on a column with columnDefinition results in wrong SQL grammer 2022-12-20 18:55:17 +01:00
Gavin 679ed3bbee add select generator test for Postgres, MySQL, EDB 2022-12-20 01:38:55 +01:00
Marco Belladelli 8bbb1edb30 Fix some failing tests 2022-12-16 16:18:08 +01:00
Marco Belladelli fc7bdce2c8 HHH-15736 Add escape logic to cockroach and fix mysql 5.7 2022-12-15 12:14:39 +01:00
Sanne Grinovero cacba9a205 HHH-15867 Avoid runtime services lookup for JdbcServices and BatchBuilder 2022-12-14 21:48:06 +00:00
Christian Beikov bc36eb3eeb HHH-15327 Support mapping aggregate embeddables as struct/json 2022-12-14 19:02:43 +01:00