Commit Graph

13648 Commits

Author SHA1 Message Date
Lukas Eder
2f60f47282 [jOOQ/jOOQ#14402] Add support for Databricks SQL - WIP
This includes:

- Support backslash escaping in string literals
- Support inline COMMENT syntax for CREATE TABLE
- Support DISTINCT ON
- Support GENERATE_SERIES
- Support CTAS and SELECT .. INTO
- Support CREATE MATERIALIZED VIEW with column renames
- Support H2 style MERGE
- Avoid exists(selectOne()), as selectOne() aliases its column and
Databricks has a bug here
- TIMESTAMP datatype (ignore precision)
- Support LIMIT (subquery)
- Use TIME -> TIMESTAMP emulation
- Support INSERT .. DEFAULT VALUES
- Support DELETE .. USING
- Fix CHOOSE (index can't be out of bounds, unlike in MySQL)
2025-02-07 07:57:18 +01:00
Lukas Eder
f4acecfce8 [jOOQ/jOOQ#14402] Add support for Databricks SQL - WIP
This includes:

- Computed column support
- Loader ON DUPLICATE KEY .. UPDATE support
2025-02-06 14:54:23 +01:00
Lukas Eder
db80b8e516 [jOOQ/jOOQ#17966] Add more Javadoc related to reference vs declaration to relevant API, such as Field::as and Table::as 2025-02-06 13:26:43 +01:00
Lukas Eder
219a13b9bd [jOOQ/jOOQ#14402] Add support for Databricks SQL - WIP
This includes:

- Support OFFSET
- Support WITH TIES
- Update SchemaMappingListener tests
- Support WITH ORDINALITY
- Support DIVIDE BY
- Fix MERGE
- Support INSERT .. ON DUPLICATE KEY UPDATE
- Support INSERT .. ON CONFLICT .. DO UPDATE
- Support REGEXP operator
- Support LIKE .. ESCAPE
2025-02-06 10:15:02 +01:00
Lukas Eder
d167cfc9d5 [jOOQ/jOOQ#17960] DefaultConverterProvider should attempt to load Jackson's JavaTimeModule, if found on the classpath 2025-02-06 09:00:21 +01:00
Lukas Eder
31839ce5fc [jOOQ/jOOQ#17954] Do use HAVING when QUALIFY contains aggregates 2025-02-05 16:38:08 +01:00
Lukas Eder
b4486c4209 [jOOQ/jOOQ#17785] Revert change for most dialects
The change was introduced because some dialects (BIGQUERY, SQLDATAWAREHOUSE) don't have LIKE .. ESCAPE support, which is a requirement for the historic implementation of CONTAINS, STARTS_WITH, ENDS_WITH. For other dialects, switching to POSITION() is a risk, especially when case insensitive string types are involved, such as PostgreSQL's citext type.
2025-02-05 16:10:59 +01:00
Lukas Eder
44ef3b2f22 [jOOQ/jOOQ#17954] QUALIFY emulation shouldn't use HAVING in the absence of aggregate functions 2025-02-05 15:23:54 +01:00
Lukas Eder
ecd65dbe73 [jOOQ/jOOQ#17947] Nesting row 3 times in a SELECT .. ORDER BY .. LIMIT
query leads to wrong results with dialects that emulate LIMIT or LIMIT
.. WITH TIES with NestedCollectionEmulation.XML
2025-02-05 12:41:56 +01:00
Lukas Eder
7ae77990d9 [jOOQ/jOOQ#17939] ALTER TABLE .. DROP DEFAULT doesn't work for SQL Server quoted column identifiers 2025-01-31 14:04:24 +01:00
Lukas Eder
37d93db16f [jOOQ/jOOQ#17928] Generated Javadoc should reference qualified output name of generated objects, not input name 2025-01-31 12:58:30 +01:00
Lukas Eder
695151320b [jOOQ/jOOQ#17932] Outdated manual section "for update clause" regarding
SQL Server implementation
2025-01-31 12:58:14 +01:00
Lukas Eder
6ac0e77f73 [jOOQ/jOOQ#14490] Add a jOOQ-reactor-extensions module offering reactor
specific extensions
2025-01-31 09:45:30 +01:00
Lukas Eder
203a32cdb4 [jOOQ/jOOQ#17920] Wrap also internal subscribers 2025-01-30 19:00:51 +01:00
Lukas Eder
195dc10149 [jOOQ/jOOQ#17823] Do downgrade only for JDK 17+ 2025-01-30 13:14:20 +01:00
Lukas Eder
f9465c0fec [jOOQ/jOOQ#17920] Remove Pro annotation from SubscriberProvider SPI 2025-01-30 10:07:05 +01:00
Lukas Eder
34f0d1518a [jOOQ/jOOQ#14402] Add support for Databricks SQL - WIP 2025-01-30 10:04:18 +01:00
Lukas Eder
b59a96fbee [jOOQ/jOOQ#14402] Add support for Databricks SQL - WIP 2025-01-24 19:22:29 +01:00
Lukas Eder
78afbdfe12 [jOOQ/jOOQ#14402] Add support for Databricks SQL - WIP 2025-01-24 19:09:23 +01:00
Lukas Eder
e8a43a7352 [jOOQ/jOOQ#17920] Remove wrong annotation 2025-01-24 17:30:22 +01:00
Lukas Eder
d8a72ce86b [jOOQ/jOOQ#17922] Add new AbstractDelegatingResultQuery internal type to avoid excessive default method bytecode generation at JVM startup time 2025-01-24 09:28:51 +01:00
Lukas Eder
3edeb46ae3 [jOOQ/jOOQ#17922] Add new AbstractDelegatingResultQuery internal type to avoid excessive default method bytecode generation at JVM startup time 2025-01-24 09:28:35 +01:00
Lukas Eder
7d30dd24e5 Upgrade Spring dependency 2025-01-24 09:28:31 +01:00
Lukas Eder
a455e01fa2 [jOOQ/jOOQ#17920] Add a new SubscriberProvider SPI that allows for overriding the way jOOQ internals creates reactive streams Subscribers, to allow for making them context aware 2025-01-23 12:22:44 +01:00
Lukas Eder
0a6ec105c6 [jOOQ/jOOQ#17916] Link to manual section from warning log 2025-01-22 17:22:03 +01:00
Lukas Eder
63953b2ea6 [jOOQ/jOOQ#14402] Add SQLDialect.DATABRICKS 2025-01-22 16:41:39 +01:00
Lukas Eder
cfc8c15e5a [jOOQ/jOOQ#14402] Add SQLDialect.DATABRICKS 2025-01-22 16:41:30 +01:00
Lukas Eder
d1bc140020 [jOOQ/jOOQ#9574] Emulate DROP SYNONYM IF EXISTS on HANA 2025-01-21 09:37:08 +01:00
Lukas Eder
72e518f65e [jOOQ/jOOQ#17842] More fixes for H2, Hana, Oracle, SQL Data Warehouse 2025-01-20 19:39:30 +01:00
Lukas Eder
d159affba0 [jOOQ/jOOQ#15906] Fix exception message 2025-01-20 10:33:53 +01:00
Lukas Eder
278a16e3fa [jOOQ/jOOQ#15906] Finish MergeImpl:: and mutators 2025-01-20 10:31:46 +01:00
Lukas Eder
cccff82030 [jOOQ/jOOQ#15906] Add QOM.Merge - WIP
It is not yet clear how to modify NOT MATCHED clauses, as well as how to
add additional clauses. Changing and removing clauses is fine, though.
2025-01-17 18:02:10 +01:00
Lukas Eder
6aad460342 [jOOQ/jOOQ#17910] Fix generics
We cannot use rawtypes in the Merge type hierarchy because of the Publisher<Integer> supertype
2025-01-17 14:44:21 +01:00
Lukas Eder
7264659832 [jOOQ/jOOQ#17910] Factor out deprecated H2 MERGE statement logic from
standard SQL MergeImpl
2025-01-17 14:15:18 +01:00
Lukas Eder
53bb2aaa52 [jOOQ/jOOQ#17910] Factor out deprecated H2 MERGE statement logic from
standard SQL MergeImpl
2025-01-17 14:15:00 +01:00
Lukas Eder
4c8c03fc84 [jOOQ/jOOQ#16409] Move some logic to OSS edition 2025-01-17 08:56:06 +01:00
Lukas Eder
46c0a3760f [jOOQ/jOOQ#16409] Improve Javadoc and log DEBUG message on RETURNING clauses, stressing that they can't return any rows for tables without identity in some dialects 2025-01-17 08:44:31 +01:00
Lukas Eder
71e1a06781 [jOOQ/jOOQ#10574] Add PascalCaseGeneratorStrategy to improve user experience for T-SQL schemas implemented in PascalCase 2025-01-16 14:34:22 +01:00
Lukas Eder
841983c9a7 [jOOQ/jOOQ#17842] Fix MySQL/MariaDB NCLOB mapping 2025-01-16 13:24:59 +01:00
Lukas Eder
e839f966ae [jOOQ/jOOQ#15159] SQLExceptionLoggerListener logs wrong message on table with IDENTITY column and UNIQUE key 2025-01-16 13:18:00 +01:00
Lukas Eder
75b5ad811d [jOOQ/jOOQ#17842] Incomplete dialect support for SQLDialect.LONGVARCHAR
and similar esoteric String / binary types
2025-01-16 11:27:46 +01:00
Lukas Eder
a256f6db53 [jOOQ/jOOQ#9085] SQLDialect.DEFAULT should render * EXCEPT syntax 2025-01-16 08:58:49 +01:00
Lukas Eder
c34fd07c47 [jOOQ/jOOQ#17899] Javadoc for JooqLogger should be java.util.logging and not jav.util.logging 2025-01-15 17:28:17 +01:00
Lukas Eder
5ee8a18e9c [jOOQ/jOOQ#17861] ORA-22848 thrown if a BLOB or CLOB field is used in IN
and NOT IN list predicates

This includes:

- [jOOQ/jOOQ#17890] ORA-22848 thrown if a BLOB or CLOB field is used row
value comparison predicates
2025-01-15 15:17:20 +01:00
Lukas Eder
2b34dbaa0f [jOOQ/jOOQ#9085] Reverse default rendering of COUNT(table) 2025-01-15 12:48:45 +01:00
Lukas Eder
924298c6b6 [jOOQ/jOOQ#17873] Avoid case sensitive access to PgDatabaseMetaData
columns due to regressions after driver version 42.7.5
2025-01-15 10:33:10 +01:00
Lukas Eder
011382f043 [jOOQ/jOOQ#17868] StackOverflowError when resolving asterisk in parsed
query using derived table with unsuccessful meta lookups
2025-01-15 09:39:13 +01:00
Lukas Eder
7d5b31d7e8 [jOOQ/jOOQ#16567] Better play safe in DefaultJavaTypeResolver 2025-01-10 17:04:54 +01:00
Lukas Eder
0eb5a08016 [jOOQ/jOOQ#16567] Restore caching of resolvedType in AbstractTypedElementDefinition 2025-01-10 15:14:31 +01:00
Lukas Eder
d69db14a0f I deleted my account on this terrible hate platform 2025-01-10 10:35:18 +01:00