Commit Graph

10514 Commits

Author SHA1 Message Date
Lukas Eder
92f8bf696b [jOOQ/jOOQ#12413] Fixed a regression of [jOOQ/jOOQ#979] 2021-10-14 14:16:27 +02:00
Lukas Eder
11e59a8ed7 [jOOQ/jOOQ#12492] Clarify whether .offset(..) starts from 0 or 1 2021-10-14 14:05:55 +02:00
Lukas Eder
53db69b8f9 [jOOQ/jOOQ#12520] Parser should support PERCENTILE_CONT /
PERCENTILE_DISC with expressions as percentiles
2021-10-14 13:43:49 +02:00
Lukas Eder
a26e6f7676 [jOOQ/jOOQ#12413] DataTypeException in multiset with a mapped nested row 2021-10-13 17:57:14 +02:00
Lukas Eder
67459fff9e [jOOQ/jOOQ#12513] Add some Javadoc links to raise awareness 2021-10-13 14:44:47 +02:00
Lukas Eder
18f9d9dd12 [jOOQ/jOOQ#12513] Add new Functions.nullOnAllNull(FunctionN) and
nullOnAnyNull(FunctionN)
2021-10-13 14:38:20 +02:00
Lukas Eder
d73c0ee011 [jOOQ/jOOQ#12509] DefaultConverterProvider should be able to convert
from JSON(B) to the usual JSON types and back.
2021-10-13 14:38:10 +02:00
Lukas Eder
c03a3b2dc5 [jOOQ/jOOQ#12507] Improve some internal Nullable / NotNull annotation usage
- Cast RecordImpl[N]::field[N] return type to @NotNull Field<TN>
- Cast RowImpl[N]::field[N] return type to @NotNull Field<TN>
- Correcly annotate arrays
2021-10-12 10:25:41 +02:00
Lukas Eder
c9eab159a2 [jOOQ/jOOQ#9085] PIVOT should generate Oracle's syntax by default 2021-10-12 10:00:02 +02:00
Lukas Eder
fb9f95d35c [jOOQ/jOOQ#12506] SQLDialect.supportedBy() and supportedUntil() should specify that they're inclusive in their Javadoc 2021-10-12 09:55:01 +02:00
Lukas Eder
8a75e3772f [jOOQ/jOOQ#12498] Meta does not produce correct DataType::nullable information when data type isn't supported 2021-10-11 13:49:24 +02:00
Lukas Eder
5be1737019 [jOOQ/jOOQ#12502] NPE in Query.equals() when Query isn't attached 2021-10-11 11:35:05 +02:00
Lukas Eder
0500353036 [jOOQ/jOOQ#12425] Don't leak <T> type from Traverser<T, ?> 2021-10-11 11:09:38 +02:00
Lukas Eder
9aff87b361 [jOOQ/jOOQ#12425] Added Traversers:
- Added Javadoc to Traverser
- Moved (), (), () to Traversers
- Added a Collector / Traverser bridge
2021-10-09 12:22:01 +02:00
Lukas Eder
c5019200cc [jOOQ/jOOQ#12425] Re-generate API 2021-10-08 16:41:48 +02:00
Lukas Eder
31c1dbb07a [jOOQ/jOOQ#12425] Refactor traversal utilities:
Add a new Traverser type to wrap the common () parameters. This will allow for more versatile API evolution, in case traversal requires additional features in the future, or simpler convenience APIs.
2021-10-08 16:39:30 +02:00
Lukas Eder
29d91ab544 [jOOQ/jOOQ#12425] Refactor traversal utilities:
Add a new Traverser type to wrap the common () parameters. This will allow for more versatile API evolution, in case traversal requires additional features in the future, or simpler convenience APIs.
2021-10-08 16:17:13 +02:00
Lukas Eder
f035aa30e0 [jOOQ/jOOQ#12425] () needs before/after events, not just before 2021-10-08 14:24:29 +02:00
Lukas Eder
f17f1e2a46 [jOOQ/jOOQ#12495] Ignored COMMENT ON CONSTRAINT syntax should support qualified object identifiers 2021-10-08 14:20:18 +02:00
Lukas Eder
7d08b3fa4a [jOOQ/jOOQ#12425] Replace Tools.traverseConditions by 2021-10-07 23:00:21 +02:00
Lukas Eder
43ab2fbf7c [jOOQ/jOOQ#12425] Backport pattern matching for instanceof (WIP) 2021-10-07 22:45:19 +02:00
Lukas Eder
cb564c8387 [jOOQ/jOOQ#12425] Backport pattern matching for instanceof (WIP) 2021-10-07 18:46:43 +02:00
Lukas Eder
3a4f19659b [jOOQ/jOOQ#12425] Ensure Nullable annotations are correct on QOM types 2021-10-07 16:54:03 +02:00
Lukas Eder
bd83f2bbc3 [jOOQ/jOOQ#12488] Add Maven groupId info to Constants 2021-10-07 15:14:45 +02:00
Lukas Eder
6f329c16f7 [jOOQ/jOOQ#12488] More robust version check (e.g. NoClassDefFoundError) 2021-10-07 15:06:53 +02:00
Lukas Eder
74005c452d [jOOQ/jOOQ#12488] Log warning in code generator when wrong runtime
version is used
2021-10-07 15:03:44 +02:00
Lukas Eder
c094b7b798 [jOOQ/jOOQ#12425] Refactor internal transformation utilities
We already had a few internal expression tree transformation utilities,
which can now be refactored in favour of more generic QOM transformation
tools. The refactoring includes:

- And::transform and Or::transform
- ANSI JOIN to Oracle (+) JOIN transformation (fixing some limitations)
2021-10-06 21:26:03 +02:00
Lukas Eder
b14e51a453 [jOOQ/jOOQ#12425] Ensure we use XML and JSON instead of Xml and Json 2021-10-06 17:40:16 +02:00
Lukas Eder
330e73ec4d [jOOQ/jOOQ#12425] Refactor QOM type hierarchies (WIP)
This branch attempts not to create two separate type hierarchies.

Pros:
- "Switching" between DSL and model API is trivial, because no switch
- Model API can be used to construct new models using DSL API
- No new type name prefix needs to be invented, only method name prefix

Cons:
- "Polluted" QueryPart API can lead to friction for non-model API users

Also, avoid conflicts between DSL and model API by prefixing model API methods with $, also in QueryPart
2021-10-06 17:12:36 +02:00
Lukas Eder
7dc85b6373 [jOOQ/jOOQ#12480] DSL.arrayGet() does not generate required parentheses 2021-10-05 16:00:08 +02:00
Lukas Eder
66e8e39883 [jOOQ/jOOQ#12425] Rather than remove, comment out sealed type info 2021-10-01 14:37:17 +02:00
Lukas Eder
d6c466de21 [jOOQ/jOOQ#12425] permits may reference qualified types 2021-10-01 14:26:22 +02:00
Lukas Eder
4cddcf45bc [jOOQ/jOOQ#12425] Preserve whitespace when removing permits clause 2021-10-01 14:06:25 +02:00
Lukas Eder
25d6cbd768 [jOOQ/jOOQ#12425] Made some QOM types sealed (WIP) 2021-10-01 11:21:12 +02:00
Lukas Eder
16a1a75379 [jOOQ/jOOQ#12425] Added QOM API tests
Make sure accessors always have the same $ prefix
2021-09-30 17:01:31 +02:00
Lukas Eder
706241241a [jOOQ/jOOQ#12425] Fixed Derby regression in GREATEST, LEAST emulation 2021-09-30 16:45:37 +02:00
Lukas Eder
fc1aa76d5b [jOOQ/jOOQ#12425] Added QOM API tests
Replace 3 valued Boolean types with enums:
- CycleOption
- RestartIdentityOption

Replace 3 valued Boolean types with boolean
- ToPublic (in Grant)
- FromPublic (in Revoke)
- Unique (in CreateIndex)
- Temporary (in DropTable)

Use API generator to generate Keywords / cleanup Keywords class
2021-09-30 14:26:22 +02:00
Lukas Eder
bc21b67fe2 [jOOQ/jOOQ#12425] Added QOM API tests
- Validating visibilities of U, M prefixed types
- Validating nullability of methods
- Fixed some Iterable methods that should be annotated as NotNull
2021-09-30 12:43:54 +02:00
Lukas Eder
ff89ad2f1d [jOOQ/jOOQ#12425] Fixed import 2021-09-30 12:25:13 +02:00
Lukas Eder
32c87800fe [jOOQ/jOOQ#12425] Refactor AbstractCondition.unwrapNot
With the new MQueryPart.replace() functionality, a lot of internal expression tree transformations are no longer required, among which the AbstractCondition.unwrapNot utility that can transform things like NOT NOT P to P as is useful for a Teradata workaround (see [jOOQ/jOOQ#11857])
2021-09-30 11:52:28 +02:00
Lukas Eder
2d98150483 [jOOQ/jOOQ#12425] Various fixes
If a QueryPart has a special DSL constructor (e.g. to prevent unnecessary wrapping of parts, such as ConditionAsField(FieldCondition(x)) or FieldCondition(ConditionAsField(x)), then we should make sure that DSL constructor is used, not the actual constructor, at least in replace()
2021-09-30 10:27:40 +02:00
Lukas Eder
b91e9235b3 [jOOQ/jOOQ#12425] Various fixes
- The MNull statement isn't commercial only
2021-09-29 17:59:01 +02:00
Lukas Eder
e8ee9b1b7b [jOOQ/jOOQ#12425] Various fixes
- Fix wrongly removed QOM imports in OSS edition
2021-09-29 17:18:32 +02:00
Lukas Eder
9de10a8a6b [jOOQ/jOOQ#12425] Various fixes
Revert wrong ConditionProviderImpl fix. join(..).on(..).and(..) depends on the previous behaviour, otherwise we lose the appended condition from the join convenience syntax
2021-09-29 17:02:23 +02:00
Lukas Eder
205757698b [jOOQ/jOOQ#12425] Various fixes
- ConditionProviderImpl shouldn't nest ConditionProviderImpl
- Stick with MFieldAlias, instead of MAliasedField
- Added and implemented MTableAlias
- Add a Param.(T) setter
2021-09-29 16:46:12 +02:00
Lukas Eder
d5e8a36e31 [jOOQ/jOOQ#12425] Fix OSS edition 2021-09-29 15:46:25 +02:00
Lukas Eder
d59c72fa07 [jOOQ/jOOQ#12425] TableFieldImpl should be UEmpty 2021-09-29 14:50:13 +02:00
Lukas Eder
66c1787f71 [jOOQ/jOOQ#12425] Fixed OSS version of QOM class 2021-09-29 14:24:29 +02:00
Lukas Eder
95153b184c [jOOQ/jOOQ#12425] Removed ad-hoc tests 2021-09-29 14:05:44 +02:00
Lukas Eder
6ecb5b5cd8 [jOOQ/jOOQ#12457] Generate some Javadoc on implicit join path navigation methods 2021-09-29 14:03:56 +02:00