New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Avoid calling DSL.nullSafe() and similar all over the DSL API, move the calls to QueryPart constructors #11091
Projects
Milestone
Comments
A caveat of this change is that some constructor arguments are optional. When |
This was referenced Dec 4, 2020
lukaseder
added a commit
that referenced
this issue
Dec 4, 2020
lukaseder
added a commit
that referenced
this issue
Dec 7, 2020
lukaseder
added a commit
that referenced
this issue
Dec 7, 2020
lukaseder
added a commit
that referenced
this issue
Dec 7, 2020
lukaseder
added a commit
that referenced
this issue
Dec 7, 2020
lukaseder
added a commit
that referenced
this issue
Dec 8, 2020
lukaseder
added a commit
that referenced
this issue
Dec 8, 2020
There needs to be a mechanism to identify the data type of a function based on its default type and/or arguments. So far, there's a weak correlation of the behaviour and whether we're calling Tools::anyNotNull or Tools::allNotNull. Further refactorings will probably invalidate this correlation
lukaseder
added a commit
that referenced
this issue
Dec 8, 2020
lukaseder
added a commit
that referenced
this issue
Dec 8, 2020
lukaseder
added a commit
that referenced
this issue
Dec 8, 2020
lukaseder
added a commit
that referenced
this issue
Dec 8, 2020
lukaseder
added a commit
that referenced
this issue
Dec 8, 2020
lukaseder
added a commit
that referenced
this issue
Dec 9, 2020
lukaseder
added a commit
that referenced
this issue
Dec 10, 2020
lukaseder
added a commit
that referenced
this issue
Dec 10, 2020
lukaseder
added a commit
that referenced
this issue
Dec 11, 2020
lukaseder
added a commit
that referenced
this issue
Dec 11, 2020
lukaseder
added a commit
that referenced
this issue
Dec 14, 2020
lukaseder
added a commit
that referenced
this issue
Dec 14, 2020
lukaseder
added a commit
that referenced
this issue
Dec 15, 2020
lukaseder
added a commit
that referenced
this issue
Dec 15, 2020
lukaseder
added a commit
that referenced
this issue
Dec 15, 2020
lukaseder
added a commit
that referenced
this issue
Dec 15, 2020
lukaseder
added a commit
that referenced
this issue
Dec 15, 2020
lukaseder
added a commit
that referenced
this issue
Dec 15, 2020
lukaseder
added a commit
that referenced
this issue
Dec 15, 2020
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
All over the jOOQ API, we have
DSL.nullSafe()
and related calls that make sure that bind values are wrapped with the appropriate data type when writing things like this:While we could guess that the value
1
is really just the same asDSL.val(1)
, in the second case, we cannot make any data type guesses. We have to use the type ofCONVERTED_COLUMN
. We can see, inAbstractField
:Both of these methods wrap the value using
this.getDataType()
information. It is being done twice, and then again in thecompare()
method:And starting with jOOQ 3.15.0 also in the
CompareCondition
constructor because of the requirements here #11061:Doing all of this in the constructor has these benefits:
CONVERTED_COLUMN.eq(x)
, but not when writingval(x).eq(CONVERTED_COLUMN)
. This will be required by Parser should look up data types for bind variables from context #11061, and will now be possible when moving this logic into the constructors.The text was updated successfully, but these errors were encountered: