Commit Graph

11219 Commits

Author SHA1 Message Date
Lukas Eder
9b571dabd5 [jOOQ/jOOQ#13502] Added JDBC implementations of reactive transactions 2022-04-28 15:36:07 +02:00
Lukas Eder
63a27fe1ba [jOOQ/jOOQ#13502] Add nested transaction support 2022-04-28 14:11:43 +02:00
Lukas Eder
403a57bf98 [jOOQ/jOOQ#13502] Add a reactive transaction API - Draft implementation
- API added
- Basic implementation added
2022-04-27 18:07:59 +02:00
Lukas Eder
8be64b191b [jOOQ/jOOQ#12875] More @Blocking annotations 2022-04-27 14:44:53 +02:00
Lukas Eder
eba5c5b895 [jOOQ/jOOQ#13496] Specify the Scope subtype lifecycles in their Javadoc
- Context
- DSLContext
- ExecuteContext
- GeneratorContext
- Meta
- Migration
- MigrationContext
- RecordContext
- ResourceManagingScope
- TransactionContext
- VisitContext
2022-04-27 14:05:40 +02:00
Lukas Eder
32c8db054b [jOOQ/jOOQ#13499] Improve implementation of QualifiedName.hashCode() 2022-04-27 12:17:38 +02:00
Lukas Eder
80ff2e3444 [jOOQ/jOOQ#13496] Specify CacheContext lifecycle in Javadoc 2022-04-27 10:44:41 +02:00
Lukas Eder
fb61cdbc3d [jOOQ/jOOQ#13496] Specify BindingScope lifecycle in Javadoc 2022-04-27 10:30:08 +02:00
Lukas Eder
c88983b371 [jOOQ/jOOQ#13497] Add BindingScope, a common super type of the various BindingXYZContext types 2022-04-27 10:21:38 +02:00
Lukas Eder
eac85746c9 [jOOQ/jOOQ#13496] Improve Scope Javadoc 2022-04-27 10:03:41 +02:00
Lukas Eder
cde20a9c77 [jOOQ/jOOQ#13488] org.jooq.SQL and manual should document plain SQL templating's capability of recognising :named parameters 2022-04-26 16:50:27 +02:00
Lukas Eder
b8acfd658d [jOOQ/jOOQ#13489] ArrayIndexOutOfBoundsException when rendering PostgreSQL plain SQL template containing ?@ 2022-04-26 16:37:01 +02:00
Lukas Eder
15fc42b979 [jOOQ/jOOQ#13486] Replace internal ConstantSortField by noField() 2022-04-26 14:28:27 +02:00
Lukas Eder
50bcf05986 [jOOQ/jOOQ#13485] Add a QOM.UOpaque marker interface for non-traversable QueryPart types 2022-04-26 14:01:13 +02:00
Lukas Eder
bbb2dec695 [jOOQ/jOOQ#9879] Take into account MySQL's SET clause order sensitivity 2022-04-26 12:47:56 +02:00
Lukas Eder
06cca93aa1 [jOOQ/jOOQ#9879] Prevent correlation trouble when using SET c = c + 1
The emulation using SET ROW = (SELECT ...) is very generic and avoids repeating potentially non-deterministic expressions, but it suffers from the fact that it requires support for correlated derived tables, which aren't supported in at least Db2, H2, MariaDB, MySQL 5.7, Oracle 11g

A more pragmatic emulation uses QueryPart:: to substitute all references to 'c' by 'c + 1' in computed column expressions, avoiding the correlated subquery.
2022-04-26 12:28:25 +02:00
Lukas Eder
5236080692 [jOOQ/jOOQ#13482] Upgrade H2 dependency to 2.1.212 2022-04-26 10:03:23 +02:00
Lukas Eder
521a364010 [jOOQ/jOOQ#13014] Document the /S, /schema, -S, --schema flag 2022-04-25 16:42:53 +02:00
Lukas Eder
b5b9acc2a0
Merge pull request #13479 from jOOQ/dependabot/maven/org.springframework-spring-core-5.3.19
Bump spring-core from 5.3.18 to 5.3.19
2022-04-25 16:07:48 +02:00
Lukas Eder
65d2396cb2 [jOOQ/jOOQ#9981] Add improvement and apply it to
- SimpleDataKey.DATA_WINDOW_DEFINITIONS
2022-04-25 16:04:53 +02:00
Lukas Eder
1bc9f81217 [jOOQ/jOOQ#9981] Add improvement and apply it to
- BooleanDataKey.DATA_AS_REQUIRED
- BooleanDataKey.DATA_MANDATORY_WHERE_CLAUSE
2022-04-25 15:28:40 +02:00
dependabot[bot]
ec8ef4241c
Bump spring-core from 5.3.18 to 5.3.19
Bumps [spring-core](https://github.com/spring-projects/spring-framework) from 5.3.18 to 5.3.19.
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v5.3.18...v5.3.19)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-22 22:10:20 +00:00
Lukas Eder
033ba61598 [jOOQ/jOOQ#11731] Emulate Oracle INSERT .. SELECT.. RETURNING 2022-04-22 20:31:32 +02:00
Lukas Eder
abd9e5b7fc [jOOQ/jOOQ#9879] Prevent writing to virtual client side computed columns 2022-04-22 14:28:27 +02:00
Lukas Eder
a3635b4aa8 [jOOQ/jOOQ#13473] SQLException when calling oracle.jdbc.driver.ArrayDataResultSet.getMetaData() 2022-04-22 10:52:42 +02:00
Lukas Eder
ad66537fe9 [jOOQ/jOOQ#13471] Add Scope.creationTime() and make it available through GeneratorContext.renderTime() 2022-04-21 15:36:32 +02:00
Lukas Eder
be023ec8bf [jOOQ/jOOQ#13468] Work around SQLite INSERT .. SELECT .. ON CONFLICT bug 2022-04-21 14:48:41 +02:00
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