Commit Graph

11150 Commits

Author SHA1 Message Date
Lukas Eder
5ceedce7e7 [jOOQ/jOOQ#13408] Can't generate xsi:nil attribute, just generate nil 2022-04-04 11:54:30 +02:00
Lukas Eder
3582e1a8cc [jOOQ/jOOQ#13326] Added more specific error message
Trivial UPDATE .. FROM to MERGE transformations (FROM <table reference>) are available in all editions. Only when there are derived tables, etc. in the FROM clause, then we need commercial SQL transformation capabilities.
2022-04-04 11:53:48 +02:00
Lukas Eder
c1af0c701a [jOOQ/jOOQ#13403] MULTISET and ROW generated nested records should not
have their changed flags set to true

This includes:

- [jOOQ/jOOQ#12269] Records detached when converting nested multiset
2022-04-01 17:39:32 +02:00
Lukas Eder
67442cae5f [jOOQ/jOOQ#13400] Add native Informix MULTISET and nested ROW support 2022-04-01 15:15:41 +02:00
Lukas Eder
471c56b5f8
Merge pull request #13395 from jOOQ/dependabot/maven/org.springframework-spring-core-5.3.18
Bump spring-core from 5.3.16 to 5.3.18
2022-04-01 08:35:21 +02:00
dependabot[bot]
5a707075c2
Bump spring-core from 5.3.16 to 5.3.18
Bumps [spring-core](https://github.com/spring-projects/spring-framework) from 5.3.16 to 5.3.18.
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v5.3.16...v5.3.18)

---
updated-dependencies:
- dependency-name: org.springframework:spring-core
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-31 20:04:57 +00:00
Lukas Eder
4849513ddb [jOOQ/jOOQ#12134] Let JSONReader distinguish between multiset and other
Only the MULTISET usage of JSONReader should parse different binary formats depending on dialects (e.g. base64, hex, text, etc.). Ordinary usage should continue parsing base64 irrespective of the used dialect, as that's what had been used by the Loader, for example.
2022-03-31 17:22:01 +02:00
Lukas Eder
ce4115dac9 [jOOQ/jOOQ#12134] Support deserialising binary data in MULTISET
emulations

- Added SQL/JSON emulation support for H2, SQLite, MySQL, MariaDB
- Added SQL/XML emulation support for Db2, Oracle
2022-03-31 16:50:52 +02:00
Lukas Eder
fd05a97f92 [jOOQ/jOOQ#13393] Replace internal usage of
DatatypeConverter::parseBase64Binary by java.util.Base64
2022-03-31 14:53:49 +02:00
Lukas Eder
ddcff2b86f [jOOQ/jOOQ#12134] Support deserialising binary data in MULTISET
emulations

Added SQL/XML emulation support
2022-03-31 14:24:19 +02:00
Lukas Eder
a6f619354d [jOOQ/jOOQ#13391] Add support for the FOR XML BINARY BASE64 clause 2022-03-31 12:29:16 +02:00
Lukas Eder
6cabed8eec [jOOQ/jOOQ#13383] Invalid SQL generated in Oracle 11g when query has
LIMIT clause and scalar subqueries without explicit aliases
2022-03-31 11:08:51 +02:00
Lukas Eder
29f561efb1 Updated maven-compiler-plugin 2022-03-31 11:08:42 +02:00
Lukas Eder
befb89b9d1 [jOOQ/jOOQ#13326] Emulate UPDATE .. FROM with MERGE, where available 2022-03-30 17:44:19 +02:00
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