Commit Graph

11313 Commits

Author SHA1 Message Date
Lukas Eder
6b03c3f0de [jOOQ/jOOQ#13560] Use MULTISET emulation for nested rows with LIMIT
In older Oracle versions, we emulate LIMIT with ROWNUM calculations in derived tables. In those cases, it seems very hard to keep the flattening nested record emulation working. Better work with the MULTISET emulation of nested records, instead.

This includes parts of the implementation of [jOOQ/jOOQ#13599]
2022-05-24 12:29:41 +02:00
Lukas Eder
a3a3b94592 [jOOQ/jOOQ#13594] Change the Java 17 distribution to --release 17 2022-05-23 17:02:57 +02:00
Lukas Eder
e63719fad0 [jOOQ/jOOQ#12430] Make Java 17 the baseline for the jOOQ Open Source Edition 2022-05-23 16:45:35 +02:00
Lukas Eder
5371c335dd [jOOQ/jOOQ#13573] Add parser support for the PostgreSQL EXCLUDED pseudo table and MySQL VALUES() syntax 2022-05-23 15:26:41 +02:00
Lukas Eder
2fa0495ec7 [jOOQ/jOOQ#12721] Add more startup tips to be logged with the jOOQ logo 2022-05-23 13:31:12 +02:00
Lukas Eder
37d023621d [jOOQ/jOOQ#13591] Add a new ColumnElement type 2022-05-23 12:11:55 +02:00
Lukas Eder
bd1e672ff3 [jOOQ/jOOQ#2333] noField() support in UPDATE and DELETE 2022-05-23 11:25:12 +02:00
Lukas Eder
14538ec894 [jOOQ/jOOQ#13581] Remove more unnecessary unary op parentheses
- For more functions with some default emulations
2022-05-20 17:39:49 +02:00
Lukas Eder
2da6648520 [jOOQ/jOOQ#11071] Fix for Java < 16
Before Java 16, static classes couldn't be nested in inner classes!
2022-05-20 17:11:23 +02:00
Lukas Eder
9d166fd99c [jOOQ/jOOQ#13581] Remove more unnecessary unary op parentheses
- For functions with some default emulations
2022-05-20 16:52:38 +02:00
Lukas Eder
aa68778250 Work around random compiler trip-up because of rawtypes
This time, the JDK 11 compiler seems to have suddenly tripped because of these rawtypes (I think)? The only change that was made prior to this was completely unreleated, in DefaultRecordMapper...
2022-05-20 15:44:45 +02:00
Lukas Eder
eb94c888d3 Update generated RowImpl[N] class formatting 2022-05-20 15:41:15 +02:00
Lukas Eder
7e942071e4 [jOOQ/jOOQ#8681] [jOOQ/jOOQ#13581] Fix CONNECT_BY_ROOT parentheses 2022-05-20 11:17:46 +02:00
Lukas Eder
700d5499ea [jOOQ/jOOQ#13581] Remove more unnecessary unary op parentheses
- For functions with only default emulations
2022-05-20 10:25:11 +02:00
Lukas Eder
4fe70c0767 [jOOQ/jOOQ#13581] Remove more unnecessary unary op parentheses
- For bind values of internal types (non-custom Binding)
- For TableField
- For functions without emulations
2022-05-20 09:59:35 +02:00
Lukas Eder
0e1bfcfa46 [jOOQ/jOOQ#11071] Fix nested record backports
Nested records are implicitly static and final. We only made them final, but not static, which can cause issues when using DefaultRecordMapper on those records (mapping(R::new) isn't a problem, because the Java compiler can work with both static and inner classes, this way)
2022-05-20 09:22:50 +02:00
Lukas Eder
6e8c6c6243 [jOOQ/jOOQ#13582] DefaultRecordMapper should check whether user is attempting to map into an inner class 2022-05-20 08:50:15 +02:00
Lukas Eder
d5d95a8e5c [jOOQ/jOOQ#13581] Re-generate QOM API 2022-05-19 21:30:14 +02:00
Lukas Eder
fa6c71daeb [jOOQ/jOOQ#13581] Excess parentheses generated in unary ~ or - operators
This includes marking these as parenthesised:

- QOM.Add
- QOM.Sub
- QOM.Mul
- QOM.Div
2022-05-19 21:25:48 +02:00
Lukas Eder
1340f23008 [jOOQ/jOOQ#11071] Java 8 fix 2022-05-19 21:00:48 +02:00
Lukas Eder
d54a522af8 [jOOQ/jOOQ#9817] Generate text blocks for views 2022-05-19 20:40:24 +02:00
Lukas Eder
c8729c9349 [jOOQ/jOQO#7284] Replace common patterns in query object model
- transformPatternsBitNotNand
- transformPatternsBitNotNor
- transformPatternsBitNotXNor
2022-05-19 20:40:15 +02:00
Lukas Eder
0d60fd887f [jOOQ/jOOQ#9817] Added config 2022-05-19 15:46:17 +02:00
Lukas Eder
65e3a39f2b [jOOQ/jOOQ#11071] First prototype committed
- Added code generation configuration
- Simple code generation implementation
- Simple integration tests
2022-05-19 15:28:46 +02:00
Lukas Eder
d1664b74ad [jOOQ/jOOQ#7912] Re-generated API 2022-05-19 11:27:29 +02:00
Lukas Eder
7f8a2ed549 [jOOQ/jOOQ#5214] Remove pro-only check from OSS edition 2022-05-19 11:17:25 +02:00
Lukas Eder
aa6d988ae4 [jOOQ/jOOQ#13578] Add native support for BITXNOR in H2 2022-05-19 11:14:36 +02:00
Lukas Eder
59d507bea7 [jOOQ/jOOQ#12688] Add support for H2's BIT_NAND_AGG, BIT_NOR_AGG, BIT_XNOR_AGG aggregate functions 2022-05-19 11:14:27 +02:00
Lukas Eder
f366b4976e [jOOQ/jOOQ#12688] Add support for H2's BIT_NAND_AGG, BIT_NOR_AGG, BIT_XNOR_AGG aggregate functions 2022-05-19 10:58:33 +02:00
Lukas Eder
6ccb0aee8b [jOOQ/jOOQ#11969] [jOOQ/jOOQ#12721] Condition <: Field<Boolean> as a tip 2022-05-19 10:06:20 +02:00
Lukas Eder
28f3a4f3ce [jOOQ/jOOQ#5214] MySQL 8.0.20 EXCLUDED emulation should name the table t
In various emulations, we're already calling auxiliary tables t, so this alias should also be applied to the EXCLUDED emulation, which benefits cases where INSERT .. SELECT is used and stored client side computed columns are involved. Re-wrapping the SELECT query to generate an EXCLUDED alias would only further complicate the logic.
2022-05-18 16:24:54 +02:00
Lukas Eder
939ce28117 [jOOQ/jOOQ#13574] Correct order of excluded and computed logic
EXCLUDED logic should happen before the stored client side computed column logic because the former can be implemented in the OSS edition if we don't have to traverse the entire update map using QOM traversal
2022-05-18 15:41:32 +02:00
Lukas Eder
a39f95a117 [jOOQ/jOOQ#12868] The DATA_RENDERING_DATA_CHANGE_DELTA_TABLE qualification omission doesn't work correctly in the presence of scalar subqueries 2022-05-18 15:34:15 +02:00
Lukas Eder
7aeed2e41f [jOOQ/jOOQ#13555] More casts are required for likeIgnoreCase() 2022-05-18 14:33:01 +02:00
Lukas Eder
524c153261 [jOOQ/jOOQ#13574] UpdatableRecord::merge might produce wrong update count if generated keys can't be fetched 2022-05-18 14:17:22 +02:00
Lukas Eder
2761c8efdb [jOOQ/jOOQ#11770] UpdatableRecord::merge should use new EXCLUDED semantics to avoid repeating bind values 2022-05-18 14:05:29 +02:00
Lukas Eder
9053bd8857 [jOOQ/jOOQ#7912] Support parsing SET ALL TO EXCLUDED 2022-05-18 12:51:46 +02:00
Lukas Eder
b8fcf22fb9 [jOOQ/jOOQ#7912] Add InsertOnDuplicateSetStep::setAllToExcluded to auto-set all insert column list columns to their EXCLUDED value 2022-05-18 12:36:00 +02:00
Lukas Eder
b650db1f0d [jOOQ/jOOQ#5214] Updated MySQL emulation of EXCLUDED for INSERT SELECT 2022-05-18 11:17:51 +02:00
Lukas Eder
8ad020c55b [jOOQ/jOOQ#5214] Updated MySQL emulation of EXCLUDED
For INSERT .. VALUES, we now generate the new syntax starting from MySQL 8.0.20, which is using VALUES (...) AS EXCLUDED. This doesn't work yet for INSERT .. SELECT, which I'll fix right away.
2022-05-18 11:01:46 +02:00
Lukas Eder
e62218ac9a [jOOQ/jOOQ#13571] Added Derby emulation 2022-05-18 10:22:22 +02:00
Lukas Eder
8a4d33519d [jOOQ/jOOQ#13571] Fixed instanceof pattern backport 2022-05-18 09:59:38 +02:00
Lukas Eder
f11d60d67b [jOOQ/jOOQ#13572] Add SQLDialect.MYSQL_8_0_20 2022-05-18 09:21:09 +02:00
Lukas Eder
8d668b00b5 [jOOQ/jOOQ#13571] Emulate the PostgreSQL ON CONFLICT .. EXCLUDED pseudo table in MERGE emulation 2022-05-18 09:17:47 +02:00
Lukas Eder
7cb60cf8ce [jOOQ/jOOQ#5214] Add support for PostgreSQL's EXCLUDED table 2022-05-17 17:45:50 +02:00
Lukas Eder
38493f7ca1 [jOOQ/jOOQ#11969] Restore NotField patch 2022-05-17 16:36:18 +02:00
Lukas Eder
9bbf43fba6 [jOOQ/jOOQ#13557] MySQL / MariaDB generated columns with enum type are
not generated as readonly
2022-05-17 16:23:40 +02:00
Lukas Eder
0b7e91c18b [jOOQ/jOOQ#13563] INSERT .. RETURNING emulations shouldn't acquire
multiple connections from ConnectionProvider when using
ThreadLocalTransactionProvider
2022-05-17 16:23:25 +02:00
Lukas Eder
3d4af4f206 [jOOQ/jOOQ#12989] Update R2DBC dependency to 0.9.1.RELEASE 2022-05-17 11:58:18 +02:00
Lukas Eder
6def0cb81a [jOOQ/jOOQ#11969] Need to explicitly wrap aliases 2022-05-17 11:09:21 +02:00