Commit Graph

9863 Commits

Author SHA1 Message Date
Lukas Eder
7b7cd0e79f [jOOQ/jOOQ#11694] Parse TO_DATE(string) and TO_TIMESTAMP(string) 2021-03-22 17:55:13 +01:00
Lukas Eder
50825f5e1b [jOOQ/jOOQ#8334] Documented caching of ParsingConnection 2021-03-22 12:06:08 +01:00
Lukas Eder
8f7b51808e [jOOQ/jOOQ#11688] Remove experimental remarks from all parser API 2021-03-22 11:30:37 +01:00
Lukas Eder
733ad5c210 [jOOQ/jOOQ#11031] Add another comment regarding some tables not knowing their fields 2021-03-22 09:54:10 +01:00
Lukas Eder
0545969e8b [jOOQ/jOOQ#11684] Restore lazy Cache.key() behaviour 2021-03-21 19:59:43 +01:00
Lukas Eder
dda4215190 [jOOQ/jOOQ#11684] Cannot use ConcurrentHashMap.computeIfAbsent()
Because that would prevent calling it recursively due to an implementation flaw in the JDK method.
2021-03-21 19:31:25 +01:00
Lukas Eder
32b2170830 [jOOQ/jOOQ#11684] Lazy Cache.key() calculation to prevent allocations 2021-03-21 11:36:10 +01:00
Lukas Eder
6206129ddd [jOOQ/jOOQ#8334] ParsingConnection should cache frequent input / output SQL string pairs
This includes:
- [jOOQ/jOOQ#11684] Add a CacheProvider SPI to allow for overriding the default ConcurrentHashMap
2021-03-21 11:31:16 +01:00
Lukas Eder
b0ff984619 [jOOQ/jOOQ#11683] REPLACE should inline empty string parameter 2021-03-20 23:36:33 +01:00
Lukas Eder
8378c35e21 [jOOQ/jOOQ#11683] REPLACE should inline empty string parameter 2021-03-20 23:32:45 +01:00
Lukas Eder
c4d6560f6f [jOOQ/jOOQ#11660] Emulate CONNECT BY LEVEL < x - WIP 2021-03-19 20:53:42 +01:00
Lukas Eder
49db2f1fed [jOOQ/jOOQ#10572] [jOOQ/jOOQ#11232] Support parsing the STDDEV alias 2021-03-19 16:48:26 +01:00
Lukas Eder
cf16992b0e [jOOQ/jOOQ#11658] PostgresDatabase doesn't produce CHAR type length for CHAR(n)[] array types 2021-03-19 15:56:01 +01:00
Lukas Eder
436c2ed393 [jOOQ/jOOQ#11672] Function formatting improvements 2021-03-19 13:58:10 +01:00
Lukas Eder
d802105da7 [jOOQ/jOOQ#11672] Function formatting
improvements

This includes:
- [jOOQ/jOOQ#11674] Add native support for NVL2 where supported
- [jOOQ/jOOQ9085] NVL2 should generate NVL2 for the DEFAULT dialect
2021-03-19 11:36:20 +01:00
Lukas Eder
d43fc234ef [jOOQ/jOOQ#11672] Function and QueryPartCollectionView formatting
improvements

This includes:
- [jOOQ/jOOQ#11673] Emulate NVL using COALESCE instead of CASE, where possible
- [jOOQ/jOOQ9085] NVL should generate NVL for the DEFAULT dialect
2021-03-19 11:07:11 +01:00
Lukas Eder
fadd3aa05a [jOOQ/jOOQ#11667] Oracle MetaTable fields do not have identity information 2021-03-18 18:18:57 +01:00
Lukas Eder
22f0b7e8d5 [jOOQ/jOOQ#11367] Oracle triggers require DECLARE keyword 2021-03-18 17:50:35 +01:00
Lukas Eder
304d4fb4c9 [jOOQ/jOOQ#11666] Do this also for Firebird 2021-03-18 16:55:42 +01:00
Lukas Eder
d3f9928ff0 [jOOQ/jOOQ#5810] Emulate QUALIFY
This includes:
- [jOOQ/jOOQ#11666] Expand unqualified asterisk when combined with other
projection expressions and when not supported

The current QUALIFY emulation works with unqualified asterisks in the
synthetic derived table, which may need to be expanded again in some
dialects.
2021-03-18 16:48:26 +01:00
Lukas Eder
f25596ff19 [jOOQ/jOOQ#5810] Fix splitter problems 2021-03-18 16:15:53 +01:00
Lukas Eder
a912917b3f [jOOQ/jOOQ#5810] Emulate QUALIFY
- Remove nest() methods from OSS edition
- Don't extract window functions from QUALIFY. Project QUALIFY instead
- Derived table projects * if columns are not ambiguous
- It aliases columns if they are (TODO: Unaliasing)
2021-03-18 16:09:34 +01:00
Lukas Eder
c43ec348d6 [jOOQ/jOOQ#5810] Log a warning if OSS edition tries to emulate QUALIFY 2021-03-18 12:17:10 +01:00
Lukas Eder
f4f42de123 [jOOQ/jOOQ#5810] Refactor copyTo() and nestTo() methods for better reuse 2021-03-18 12:01:02 +01:00
Lukas Eder
66d875a922 [jOOQ/jOOQ#5810] Emulate QUALIFY where not supported - WIP 2021-03-18 10:33:30 +01:00
Lukas Eder
4febe602d8 [jOOQ/jOOQ#5810] Emulate QUALIFY where not supported
This includes:
- [jOOQ/jOOQ#11663] Wrong order of WINDOW / QUALIFY clauses
2021-03-17 18:07:05 +01:00
Lukas Eder
71f26063df [jOOQ/jOOQ#10716] Fix known issues of Settings.transformRownum
This includes:
- [jOOQ/jOOQ#11661] ROWNUM with DISTINCT
2021-03-17 15:37:54 +01:00
Lukas Eder
a540ba8264 [jOOQ/jOOQ#11650] Get SQLDialect.VERTICA up to date
This includes:
- [jOOQ/jOOQ#11655] Emulate statistical window functions in Vertica
2021-03-16 16:59:10 +01:00
Lukas Eder
9224872be9 [jOOQ/jOOQ#11650] Get SQLDialect.VERTICA up to date
This includes:
- [jOOQ/jOOQ#11655] Emulate statistical window functions in Vertica
2021-03-16 16:28:06 +01:00
Lukas Eder
dfd5cca3d2 [jOOQ/jOOQ#10644] Make better use of internal operators 2021-03-16 15:54:33 +01:00
Lukas Eder
3e03273170 [jOOQ/jOOQ#11645] Added DDL support 2021-03-16 15:17:44 +01:00
Lukas Eder
bc5b3a4c25 [jOOQ/jOOQ#11268] [jOOQ/jOOQ#11650] Create dummy column if needed 2021-03-16 11:04:14 +01:00
Lukas Eder
7157c2e5ac [jOOQ/jOOQ#11651] Add parser support for VERTICA IDENTITY column type 2021-03-16 11:03:59 +01:00
Lukas Eder
fde3cb20ba [jOOQ/jOOQ#11649] Add parser support for Db2's LOCATE_IN_STRING function 2021-03-16 09:49:19 +01:00
Lukas Eder
f34e6cb805 [jOOQ/jOOQ#11648] Add Db2, Derby, H2 support for POSITION(in, search, startIndex) via LOCATE 2021-03-15 23:07:29 +01:00
Lukas Eder
809467c601 [jOOQ/jOOQ#11641] Fix Db2, Oracle emulations 2021-03-15 22:42:36 +01:00
Lukas Eder
7f6e94610f [jOOQ/jOOQ#11647] Add MySQL SUBSTRING_INDEX() support 2021-03-15 21:56:25 +01:00
Lukas Eder
ed1167c84f [jOOQ/jOOQ#11641] MySQL and MariaDB SPLIT_PART 2021-03-15 21:02:20 +01:00
Lukas Eder
5acd6374e1 [jOOQ/jOOQ#11643] Emulate CTE in scalar subquery using CTE in derived table, when only the latter is supported 2021-03-15 18:10:51 +01:00
Lukas Eder
72b5751ca1 [jOOQ/jOOQ#11641] Make sure generated switches have braces when needed 2021-03-15 17:30:38 +01:00
Lukas Eder
0e0cb694d4 [jOOQ/jOOQ#11641] More SPLIT_PART fixes and tests 2021-03-15 17:12:02 +01:00
Lukas Eder
7c2e851b14 [jOOQ/jOOQ#11641] Emulate SPLIT_PART (draft)
This includes:
- [jOOQ/jOOQ#11644] Invert Tools.visitSubquery() parentheses flag
2021-03-15 15:22:01 +01:00
Lukas Eder
15648f719a [jOOQ/jOOQ#11642] Emulate OVERLAY in H2 using INSERT 2021-03-15 10:09:33 +01:00
Lukas Eder
518020d0cb [jOOQ/jOOQ#11639] Support parsing DROP SEQUENCE .. RESTRICT 2021-03-12 20:37:56 +01:00
Lukas Eder
657a3e43ca [jOOQ/jOOQ#11638] Missing DERBY @Support on DSL.date(), DSL.time(), DSL.timestamp() methods 2021-03-12 20:32:03 +01:00
Lukas Eder
50b7ba5e76 [jOOQ/jOOQ#11341] intoXML() throws NPE exception
This includes:
- [jOOQ/jOOQ#11634] XMLFormat.quoteNested() is not being considered in Result.intoXML()
2021-03-12 17:23:04 +01:00
Lukas Eder
aa0bbc2641 [jOOQ/jOOQ#11631] Only Field<Object> can be a Condition 2021-03-12 16:05:42 +01:00
Lukas Eder
9a80696a0c [jOOQ/jOOQ#5757] Support batch in DSLContext.parsingConnection() 2021-03-12 15:57:15 +01:00
Lukas Eder
4ff9c51178 [jOOQ/jOOQ#11631] Boolean field expected when parsing NOT(?) 2021-03-12 15:02:44 +01:00
Lukas Eder
69202a227a [jOOQ/jOOQ#11632] Parser fails when parsing nested not unary operator
without parentheses
2021-03-12 14:57:42 +01:00