Commit Graph

11192 Commits

Author SHA1 Message Date
Lukas Eder
3d4ce31d8b [jOOQ/jOOQ#9879] DefaultGenerator must override supports() 2022-04-21 12:27:34 +02:00
Lukas Eder
e17d2c26f8 [jOOQ/jOOQ#9879] Implement exactly once Generator semantics 2022-04-21 11:13:26 +02:00
Lukas Eder
dae248ac3e [jOOQ/jOOQ#13467] Generate @Suppress(INAPPLICABLE_JVM_NAME) everywhere 2022-04-21 10:02:28 +02:00
Lukas Eder
0b3c99e00a [jOOQ/jOOQ#13467] KotlinGenerator should generate open properties in generated records 2022-04-21 09:48:26 +02:00
Lukas Eder
2f064052e8 [jOOQ/jOOQ#9879] Support client side computed embeddables in UPSERT 2022-04-20 17:42:52 +02:00
Lukas Eder
b17ec92d98 [jOOQ/jOOQ#13465] Parameters and UDTFields can also be defaulted 2022-04-20 15:21:13 +02:00
Lukas Eder
825e698455 [jOOQ/jOOQ#13465] Expressions based on computed columns must not retain computation reference 2022-04-20 14:21:23 +02:00
Lukas Eder
93ad14f891 [jOOQ/jOOQ#13464] Add ExecuteContext.executionTime():Instant 2022-04-20 13:20:50 +02:00
Lukas Eder
33b383b0a3 [jOOQ/jOOQ#1592] Added support for audit columns in embeddables
- AuditProvider callbacks should receive GeneratorContext, not DataType
- Added code generation tests (some still fail)
- Added integration tests (still fail)
- Flatten embeddables
  - in Tools::anyComputedOnClientStoredFields
  - in FieldMapsForInsert::keysFlattenedAndComputedOnClientStored

This includes:

- [jOOQ/jOOQ#9879] Retain aliasing of computed columns in projection
2022-04-20 13:19:54 +02:00
Lukas Eder
7740ce2ecd Remove codeql-analysis again 2022-04-20 13:19:31 +02:00
Lukas Eder
318fccae97 Merge branch 'main' of github.com:jOOQ/jOOQ 2022-04-19 16:51:24 +02:00
Lukas Eder
b87e1d360b [jOOQ/jOOQ#13461] ResultQueryTrait::getFields should accept Supplier<ResultSetMetaData> instead of ResultSetMetaData 2022-04-19 16:50:11 +02:00
Lukas Eder
fee2d124fc
Create codeql-analysis.yml 2022-04-19 10:55:05 +02:00
Lukas Eder
551b8576e1
Create SECURITY.md 2022-04-19 10:53:35 +02:00
Lukas Eder
153762132f [jOOQ/jOOQ#9879] Added more generics to Generator and GeneratorContext
In order to implement pure functions of type Generator, we must make the GeneratorContext::table available to Generator implementations, including the usual type safety that allows for binding to the generated table type, which gives access to columns. This prevents having to capture this from the Generator, which isn't too clean (though it's still possible for those people who don't care)
2022-04-19 10:26:45 +02:00
Lukas Eder
4717560baa [jOOQ/jOOQ#1592] [jOOQ/jOOQ#9879] AuditGenerator improvements
- Added DataType::computedOnClientStoredOn
- Improved DataType Javadoc
- AuditGenerator can accept multiple GeneratorStatementType
- Made GeneratorContext<T> generic
- Added GeneratorContext.field()
2022-04-14 14:26:11 +02:00
Lukas Eder
1b4f2ba690 [jOOQ/jOOQ#1592] [jOOQ/jOOQ#9879] AuditGenerator improvements
- Added DataType::computedOnClientStoredOn
- Improved DataType Javadoc
- AuditGenerator can accept multiple GeneratorStatementType
- Made GeneratorContext<T> generic
- Added GeneratorContext.field()
2022-04-14 14:26:01 +02:00
Lukas Eder
bd064a7be9 [jOOQ/jOOQ#9879] Added GeneratorStatementType 2022-04-13 14:35:59 +02:00
Lukas Eder
69d2708080 [jOOQ/jOOQ#1592] Added SPI 2022-04-13 14:20:14 +02:00
Lukas Eder
fb99f8b05a [jOOQ/jOOQ#9879] Added a GeneratorContext
Generators may require access to a Configuration, so they should be
Function<Generator, Field<T>>, not Supplier<Field<T>>

Fixed issues and added many more tests for virtual client side computed
columns.
2022-04-13 12:02:28 +02:00
Lukas Eder
779d67338a [jOOQ/jOOQ#13446] Add H2_2_0_202 support for UPDATE .. RETURNING and DELETE .. RETURNING 2022-04-13 12:01:54 +02:00
Lukas Eder
90f0a01c91 [jOOQ/jOOQ#13434] Log unused synthetic columns 2022-04-11 11:13:12 +02:00
Lukas Eder
124368ce3e [jOOQ/jOOQ#13439] No warning is logged when readonly columns or rowids are not used 2022-04-11 11:07:24 +02:00
Lukas Eder
c812e30b6f [jOOQ/jOOQ#9864] checkReadonly() always throws 2022-04-11 10:26:28 +02:00
Lukas Eder
d3b700685d [jOOQ/jOOQ#9879] Support VIRTUAL client side computed columns 2022-04-08 17:04:34 +02:00
Lukas Eder
3291bc007a [jOOQ/jOOQ#13437] Add Definition.isSynthetic() to indicate that a jOOQ-meta object has been created synthetically 2022-04-08 14:51:56 +02:00
Lukas Eder
dae57e01cd [jOOQ/jOOQ#13434] Add <columns/> to <syntheticObjects/> to generate
synthetic columns
2022-04-08 14:39:26 +02:00
Lukas Eder
c47ce55f61 [jOOQ/jOOQ#2333] Update API generator 2022-04-07 15:45:52 +02:00
Lukas Eder
f7e72cd17d [jOOQ/jOOQ#13432] Add <visibilityModifier/> code generation option to <forcedType/> 2022-04-07 14:56:07 +02:00
Lukas Eder
59be6f5f23 [jOOQ/jOOQ#13429] DSL.noCondition() isn't applied correctly to aggregate FILTER WHERE clause 2022-04-07 11:41:46 +02:00
Lukas Eder
f59c3b8d8c [jOOQ/jOOQ#2333] Add DSL.noField() for "conditional" LIMIT, OFFSET, GROUP BY, ORDER BY support when creating dynamic SQL 2022-04-07 10:53:28 +02:00
Lukas Eder
b0674b341e [jOOQ/jOOQ#12905] Check for ScalarSubquery, not Select 2022-04-06 13:59:21 +02:00
Lukas Eder
a60f5df8fb [jOOQ/jOOQ#13399] Updated a few dependencies 2022-04-06 11:44:16 +02:00
Lukas Eder
c92a542d4d [jOOQ/jOOQ#13426] DSLContext::fetchFromJSON and ::fetchFromXML wrongly
assume dialect specific data types in header
2022-04-06 11:44:05 +02:00
Lukas Eder
8dd9c76a48 [jOOQ/jOOQ#13425] Fix MERGE .. SET clause emulation
This includes: [jOOQ/jOOQ#13326] An attempt at fixing ORDER BY emulation, which is currently wrong
2022-04-05 16:28:29 +02:00
Lukas Eder
4a982641be [jOOQ/jOOQ#12905] Emulate expressions in LIMIT .. OFFSET where not natively supported 2022-04-05 12:29:34 +02:00
Lukas Eder
aa2708e5a9 [jOOQ/jOOQ#11575] Stop using versioned dialect switch in SelectQueryImpl 2022-04-05 10:31:21 +02:00
Lukas Eder
d3c6bdd5a8 [jOOQ/jOOQ#11575] Stop using versioned dialect switch in InsertQueryImpl 2022-04-05 09:08:25 +02:00
Lukas Eder
57a652f4f4 [jOOQ/jOOQ#11575] Stop using versioned dialect switch in Limit 2022-04-05 09:03:20 +02:00
Lukas Eder
cf31bdc273 [jOOQ/jOOQ#13014] Add support for providing a --schema to the ParserCLI 2022-04-05 09:01:56 +02:00
Lukas Eder
3adc50590b [jOOQ/jOOQ#13415] GroupConcat renders string_agg separator argument within wrong parentheses in EXASOL 2022-04-04 15:04:43 +02:00
Lukas Eder
04bd61869c [jOOQ/jOOQ#13392] Generated column name for binary bind values shouldn't
use Java's byte[].toString()
2022-04-04 12:44:02 +02:00
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