Commit Graph

11122 Commits

Author SHA1 Message Date
Lukas Eder
6283f55824 [jOOQ/jOOQ#13348] Internal deprecation note on FieldsTrait::field leaks into generated code 2022-03-28 14:30:37 +02:00
Lukas Eder
1900ba7a11 [jOOQ/jOOQ#13341] Avoid asTable() from WithImpl::as with field name fn 2022-03-28 14:05:25 +02:00
Lukas Eder
f037b878b7 [jOOQ/jOOQ#13341] Avoid asTable() from CommonTableExpressionImpl::new 2022-03-28 12:11:02 +02:00
Lukas Eder
5cc94b715f [jOOQ/jOOQ#13341] Avoid asTable() call when checking projection degree 2022-03-28 11:59:10 +02:00
Lukas Eder
0984e36834 [jOOQ/jOOQ#13341] Avoid asTable() call when creating scalar subqueries 2022-03-28 11:47:46 +02:00
Lukas Eder
5a2d5885af [jOOQ/jOOQ#13341] Avoid unnamed derived table in Multiset XML emulation 2022-03-28 11:15:24 +02:00
Lukas Eder
70c6903386 [jOOQ/jOOQ#13341] Avoid unnamed derived table from Multiset emulation 2022-03-28 11:03:36 +02:00
Lukas Eder
f2f748675b [jOOQ/jOOQ#13342] Refactor Multiset::jsonxArrayaggEmulation 2022-03-28 10:21:46 +02:00
Lukas Eder
e071dd217c [jOOQ/jOOQ#9879] Fixed broken imports for OSS edition 2022-03-28 09:41:22 +02:00
Lukas Eder
ca0427d10d [jOOQ/jOOQ#9879] Support SET ROW = (SELECT ..) for single selects 2022-03-25 11:23:43 +01:00
Lukas Eder
1e1723a06b [jOOQ/jOOQ#9879] Re-order SET clause contents for MySQL
Ordinary UPDATE statements can emulate client side computed columns using the usual UPDATE .. SET ROW = (SELECT ..) syntax. But this syntax can't be emulated in INSERT .. ON DUPLICATE KEY UPDATE, where we need to re-order the SET clause contents to leverage a peculiar MySQL feature, where the SET clause content order matters in terms of execution order.
2022-03-25 10:05:01 +01:00
Lukas Eder
1fba4f822b [jOOQ/jOOQ#13336] Re-generated example code 2022-03-24 16:15:09 +01:00
Lukas Eder
10b8a6176d [jOOQ/jOOQ#13336] Generate covariant overrides for Table.rename(Table) and Table.as(Table) methods 2022-03-24 15:59:26 +01:00
Lukas Eder
d2e6fda89c [jOOQ/jOOQ#13335] Fix new overloads
Some new aliasing overloads must not be overridden, but delegate to the version that has ubiquitous overrides: as(Name) and as(Name, Name...). Otherwise, there might be missing parentheses and other rendering errors in derived tables, etc.
2022-03-24 15:06:31 +01:00
Lukas Eder
ec55af2b81 [jOOQ/jOOQ#13335] Refactor internals 2022-03-24 14:51:23 +01:00
Lukas Eder
bce4e68e51 [jOOQ/jOOQ#13335] Add Table::as and TableLike::asTable overloads
accepting Collection<? extends X> for derived column lists
2022-03-24 14:48:21 +01:00
Lukas Eder
4561d1607c [jOOQ/jOOQ#9879] Support ON CONFLICT DO UPDATE native implementation 2022-03-24 14:14:10 +01:00
Lukas Eder
57359f0af1 [jOOQ/jOOQ#9879] Re-compute all columns on UPDATE for now
The previous implementation was wrong. It re-computed columns only if one of the computed columns was part of the SET clause (which they shouldn't be in the first place). So, the feature effectively didn't work for the common case.
2022-03-24 14:07:00 +01:00
Lukas Eder
f377b36786 [jOOQ/jOOQ#13334] Add native support for MySQL's derived column lists
starting from SQLDialect.MYSQL8_0_19
2022-03-24 12:07:24 +01:00
Lukas Eder
bf07b2e663 [jOOQ/jOOQ#10521] Push down derived column list aliases to derived table's SELECT clause instead of using UNION ALL emulation, if possible 2022-03-24 11:19:29 +01:00
Lukas Eder
2ffd6f4246 [jOOQ/jOOQ#10523] Emulate UPDATE .. SET row = (SELECT ...) for dialects
with no native support
2022-03-23 16:20:08 +01:00
Lukas Eder
0a1181b460 [jOOQ/jOOQ#9879] Support INSERT .. SELECT 2022-03-23 14:04:26 +01:00
Lukas Eder
193a4b57ec [jOOQ/jOOQ#13325] Fix VisitContext::clause behaviour 2022-03-23 13:14:44 +01:00
Lukas Eder
ba78e2b081 [jOOQ/jOOQ#13325] Fix formatting 2022-03-23 13:12:29 +01:00
Lukas Eder
c93aa4b840 [jOOQ/jOOQ#13325] Refactor internal FieldMapForUpdate to support the row assignments, too
This includes:

- [jOOQ/jOOQ#13329] Add a FieldOrRowOrSelect nominal union type
2022-03-23 12:37:06 +01:00
Lukas Eder
953501b380 [jOOQ/jOOQ#13324] Code generation output shouldn't print table mapping output, if it's the same as the input 2022-03-23 10:08:22 +01:00
Lukas Eder
02df3dced5 [jOOQ/jOOQ#9879] Add support for client side GENERATED ALWAYS AS - WIP 2022-03-23 10:03:44 +01:00
Lukas Eder
11dbdbb75e [jOOQ/jOOQ#13319] Generated records shouldn't have a @ConstructorProperties annotation on their POJO constructor 2022-03-22 08:56:25 +01:00
Lukas Eder
a8b4fa6231 [jOOQ/jOOQ#13315] Compilation error in generated UDTRecord's POJO constructor if the UDT contains arrays of table records 2022-03-21 16:33:39 +01:00
Lukas Eder
a1a4caf59f [jOOQ/jOOQ#10407] Add support for FIREBIRD 4 RETURNING * syntax 2022-03-21 14:03:09 +01:00
Lukas Eder
af4c3396ea [jOOQ/jOOQ#11424] Improve the alignment of GenerationTool INFO log 2022-03-21 12:38:38 +01:00
Lukas Eder
1104cc808b [jOOQ/jOOQ#11441] Inlining PostgreSQL CHAR(len)[] types produces
VARCHAR[] instead
2022-03-21 12:37:45 +01:00
Lukas Eder
91e0e8eb08 [jOOQ/jOOQ#13311] QOM API mutators on Select type don't copy OFFSET ..
LIMIT and a few other clauses
2022-03-21 11:35:43 +01:00
Lukas Eder
26413079ce [jOOQ/jOOQ#13307] Change () arguments in experimental QOM function types to () 2022-03-18 17:06:07 +01:00
Lukas Eder
3a4369e59b [jOOQ/jOQO#7284] Replace common patterns in query object model
- Some negation transformations
2022-03-18 15:42:57 +01:00
Lukas Eder
f69ae22257 [jOOQ/jOQO#7284] Replace common patterns in query object model
- Some LOG10 transformations
2022-03-18 14:57:14 +01:00
Lukas Eder
c703a89248 [jOOQ/jOOQ#13306] Separate QOM.Ln (natural logarithm) from QOM.Log (logarithm with base) 2022-03-18 14:44:19 +01:00
Lukas Eder
c718693d8f [jOOQ/jOQO#7284] Replace common patterns in query object model
- Some ASINH and ACOSH transformations
2022-03-18 13:55:55 +01:00
Lukas Eder
d096b1c64c [jOOQ/jOQO#7284] Replace common patterns in query object model
- Some SQUARE transformations
2022-03-18 13:35:25 +01:00
Lukas Eder
fd04bb9e47 [jOOQ/jOQO#7284] Replace common patterns in query object model
- Some ATANH, ACOTH transformations
2022-03-18 13:31:06 +01:00
Lukas Eder
1b4dc05ef7 [jOOQ/jOQO#7284] Replace common patterns in query object model
- Some LOG, LN, and EXP transformations
2022-03-18 11:17:44 +01:00
Lukas Eder
660a16ce30 [jOOQ/jOQO#7284] Replace common patterns in query object model
- Some TAN, COT transformations
2022-03-18 09:37:53 +01:00
Lukas Eder
6e2603c7b1 [jOOQ/jOOQ#13302] H2TableDefinition with H2 2.0+ produces wrong code generation output when the run mode is Oracle 2022-03-18 09:35:48 +01:00
Lukas Eder
c3a739680b [jOOQ/jOQO#7284] Replace common patterns in query object model
- Some TANH, COTH transformations
2022-03-17 16:20:36 +01:00
Lukas Eder
e135d6e57b [jOOQ/jOQO#7284] Replace common patterns in query object model
- Added some transformPatternsArithmeticExpressions
- Added some transformPatternsHyperbolicFunctions
2022-03-17 14:48:07 +01:00
Lukas Eder
1eff19ed6d [jOOQ/jOOQ#13290] Result.formatHTML() is also affected 2022-03-16 17:21:12 +01:00
Lukas Eder
b88d393bd1 [jOOQ/jOOQ#7803] Support ArrayRecord.formatHTML() 2022-03-16 17:21:02 +01:00
Lukas Eder
3d8516117e [jOOQ/jOOQ#13290] Result.formatCSV() is also affected 2022-03-16 16:31:10 +01:00
Lukas Eder
33aea42499 [jOOQ/jOOQ#7803] Support ArrayRecord.formatXML() 2022-03-16 15:56:47 +01:00
Lukas Eder
b97bfe7d80 [jOOQ/jOOQ#13290] Result.formatXML() is also affected 2022-03-16 15:50:48 +01:00