Commit Graph

11136 Commits

Author SHA1 Message Date
Lukas Eder
d1b3f33072 [jOOQ/jOOQ#13341] Avoid asTable() from MergeImpl::getStandardMerge 2022-03-30 16:12:42 +02:00
Lukas Eder
4eb94c4216 [jOOQ/jOOQ#13341] Avoid asTable() from InsertQueryImpl::toInsertSelect 2022-03-30 14:55:40 +02:00
Lukas Eder
0ba49dd1ab [jOOQ/jOOQ#10523] Derby doesn't support correlated derived tables 2022-03-30 14:49:24 +02:00
Lukas Eder
1f61ab5d97 [jOOQ/jOOQ#10523] Move the dialect support to DerivedTable 2022-03-30 14:18:02 +02:00
Lukas Eder
6f0e558c3e [jOOQ/jOOQ#10523] Fix this for dialects that do not support correlated derived tables 2022-03-30 14:02:55 +02:00
Lukas Eder
1d659422d8 [jOOQ/jOOQ#13349] Select.asTable() should delay slow call to
Tools::autoAlias
2022-03-30 11:18:54 +02:00
Lukas Eder
23222356eb [jOOQ/jOOQ#11114] Fix DataType.getTypeName() and getCastTypeName()
These two methods did not produce quoted identifiers before. Changing that in patch releases seems a bit risky, given that users may depend on the previous behaviour, especially for UDTs
2022-03-30 10:08:21 +02:00
Lukas Eder
b3c1a86f1a [jOOQ/jOOQ#11114] CAST should generate qualified type when casting to
Table::getDataType or UDT::getDataType
2022-03-29 17:01:17 +02:00
Lukas Eder
81fe169614 [jOOQ/jOOQ#13364] Result::formatXML does not escape type names
This is a bug exposed as a regression by [jOOQ/jOOQ#10277]
2022-03-29 15:58:26 +02:00
Lukas Eder
91234dd779 [jOOQ/jOOQ#10277] Fixed some initialisation errors 2022-03-29 15:01:23 +02:00
Lukas Eder
8fc7748af0 [jOOQ/jOOQ#10277] CAST to PostgreSQL enum type lacks type qualification
This includes:

- [jOOQ/jOOQ#9347] DataType#getCastTypeName() does not respect rendering settings
2022-03-29 14:05:14 +02:00
Lukas Eder
9e55e636bc [jOOQ/jOOQ#13341] Avoid asTable() in Interpreter 2022-03-29 11:58:39 +02:00
Lukas Eder
95bd4ecce8 [jOOQ/jOOQ#13355] Invalid code generated when pojosEqualsAndHashCode option is enabled and column name is 'other' 2022-03-28 15:50:33 +02:00
Lukas Eder
27d529db23 [jOOQ/jOOQ#5612] Inline enum values should be cast to their enum type just like inline bind variables 2022-03-28 14:57:30 +02:00
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