Lukas Eder
9c7aca81ea
[ jOOQ/jOOQ#11061 ] [ jOOQ/jOOQ#11070 ] [ jOOQ/jOOQ#11091 ] MD5
2020-12-11 09:15:35 +01:00
Lukas Eder
c131c7cb88
[ jOOQ/jOOQ#11061 ] [ jOOQ/jOOQ#11070 ] [ jOOQ/jOOQ#11091 ] OVERLAY
2020-12-11 09:07:17 +01:00
Lukas Eder
5a49323a66
[ jOOQ/jOOQ#11099 ] Cache MockResultSet.record
2020-12-10 17:40:10 +01:00
Lukas Eder
c0ca4527cc
[ jOOQ/jOOQ#11099 ] Cache RecordDelegate instance in CursorImpl
2020-12-10 16:52:30 +01:00
Lukas Eder
d30784526a
[ jOOQ/jOOQ#11099 ] Cache CursorRecordInitialiser instance
2020-12-10 16:29:34 +01:00
Lukas Eder
96c250c6ea
[ jOOQ/jOOQ#11099 ] Cache data type attachability in AbstractBinding
...
- It appears that in benchmarks, the instanceof Attachable call (or the method itself, possibly preventing inlining?) in DefaultBinding.AbstractBinding::attach is quite costly. Caching the information for final types brings the 20% speedup in some benchmarks, without regressions
2020-12-10 15:55:43 +01:00
Lukas Eder
ba01d13418
[ jOOQ/jOOQ#11099 ] Don't convert things when using IdentityConverter
...
- Converters.inverse(IdentityConverter) should return the IdentityConverter itself, to enable the below improvement:
- Convert::convert0 could implement a quick instanceof check to see if we're converting things with the IdentityConverter, in case of which a no-op can be implemented as a short cut.
2020-12-10 14:41:13 +01:00
Lukas Eder
1ebdf2d9ff
[ jOOQ/jOOQ#11099 ] Java 6 fix
2020-12-10 14:19:34 +01:00
Lukas Eder
091322bd4d
[ jOOQ/jOOQ#11099 ] Some performance improvements in Convert
...
- Shortcut in Convert::convert if the value is already of the right type, prevents the ConvertAll allocations, and a few branches
- Shortcut in Convert::convert0 if the Converter.fromType() is Object.class, then we don't need an additional ConvertAll<>(fromType) round trip, which is a no-op
- In ConvertAll, delay the calls to wrapper(Class) until they're needed
- In ConvertAll, shortcuts should be ordered as:
- null check
- class equality check
- class assignability check
- wrapper type equality check
2020-12-10 14:09:21 +01:00
Lukas Eder
78e211fee3
[ jOOQ/jOOQ#11099 ] Cache inverse converters in MockResultSet::get
2020-12-10 12:59:27 +01:00
Lukas Eder
014a292a8a
[ jOOQ/jOOQ#11061 ] [ jOOQ/jOOQ#11070 ] [ jOOQ/jOOQ#11091 ] Trigonometric fns
...
- COS
- COSH
- COT
- COTH
- SIN
- SINH
2020-12-10 12:00:11 +01:00
Lukas Eder
92ecc6788e
[ jOOQ/jOOQ#11061 ] [ jOOQ/jOOQ#11070 ] [ jOOQ/jOOQ#11091 ] Fixed regression
...
DSL::abs must maintain the input data type, not override it with the default INTEGER type
2020-12-10 11:06:55 +01:00
Lukas Eder
66e86da28e
[ jOOQ/jOOQ#11066 ] Tests failed for jooq-spring-boot-example
2020-12-09 16:51:30 +01:00
Lukas Eder
685f2fdbe8
Re-generated example code
2020-12-09 15:53:14 +01:00
Lukas Eder
519e9ae501
[ jOOQ/jOOQ#11066 ] Fixed jooq-jpa-example pom.xml dependencies
2020-12-09 15:53:08 +01:00
Lukas Eder
2d3b46394d
[ jOOQ/jOOQ#11061 ] [ jOOQ/jOOQ#11070 ] [ jOOQ/jOOQ#11091 ] Added Javadoc
2020-12-09 15:33:15 +01:00
Lukas Eder
c2805f964f
[ jOOQ/jOOQ#11061 ] [ jOOQ/jOOQ#11070 ] [ jOOQ/jOOQ#11091 ] LENGTH
...
Including CHAR_LENGTH, BIT_LENGTH, OCTET_LENGTH
2020-12-08 22:40:23 +01:00
Lukas Eder
93c58aa9f5
[ jOOQ/jOOQ#11061 ] [ jOOQ/jOOQ#11070 ] [ jOOQ/jOOQ#11091 ] SPLIT_PART
2020-12-08 22:07:58 +01:00
Lukas Eder
910f2dd760
[ jOOQ/jOOQ#11061 ] [ jOOQ/jOOQ#11070 ] [ jOOQ/jOOQ#11091 ] Too many overloads
2020-12-08 21:52:34 +01:00
Lukas Eder
72c85e4ed7
[ jOOQ/jOOQ#11061 ] [ jOOQ/jOOQ#11070 ] [ jOOQ/jOOQ#11091 ] SPACE
2020-12-08 21:36:15 +01:00
Lukas Eder
16bee574ef
[ jOOQ/jOOQ#11061 ] [ jOOQ/jOOQ#11070 ] [ jOOQ/jOOQ#11091 ] TRANSLATE
2020-12-08 21:25:52 +01:00
Lukas Eder
74775ffce5
[ jOOQ/jOOQ#11061 ] [ jOOQ/jOOQ#11070 ] [ jOOQ/jOOQ#11091 ] Avoid rawtypes
2020-12-08 21:19:16 +01:00
Lukas Eder
574e754752
[ jOOQ/jOOQ#11061 ] [ jOOQ/jOOQ#11070 ] [ jOOQ/jOOQ#11091 ] LPAD / RPAD
2020-12-08 20:56:52 +01:00
Lukas Eder
aecc0e5b4c
[ jOOQ/jOOQ#11061 ] [ jOOQ/jOOQ#11070 ] [ jOOQ/jOOQ#11091 ] ROWNUM
2020-12-08 17:49:02 +01:00
Lukas Eder
2f8d68812c
[ jOOQ/jOOQ#11061 ] [ jOOQ/jOOQ#11070 ] [ jOOQ/jOOQ#11091 ] REPLACE
2020-12-08 17:04:43 +01:00
Lukas Eder
7b659728fa
[ jOOQ/jOOQ#11061 ] [ jOOQ/jOOQ#11070 ] [ jOOQ/jOOQ#11091 ] Fix regression
...
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
2020-12-08 16:57:05 +01:00
Lukas Eder
c9dca0b211
[ jOOQ/jOOQ#11061 ] [ jOOQ/jOOQ#11070 ] [ jOOQ/jOOQ#11091 ] POSITION
2020-12-08 16:46:06 +01:00
Lukas Eder
ddae3adfca
[ jOOQ/jOOQ#11105 ] NullPointerException when GenerationTool is not properly initialised
2020-12-08 15:19:03 +01:00
Lukas Eder
5c41eea8e3
[ jOOQ/jOOQ#11103 ] NullPointerException when custom JavaGenerator subclasses don't call JavaWriter.printPackageSpecification()
2020-12-08 14:38:37 +01:00
Lukas Eder
c254373003
[ jOOQ/jOOQ#11101 ] Misleading error message when something goes wrong in the code generator
2020-12-08 09:13:48 +01:00
Lukas Eder
df2f737a7f
[ jOOQ/jOOQ#11061 ] [ jOOQ/jOOQ#11070 ] [ jOOQ/jOOQ#11091 ] UPPER / LOWER
2020-12-08 00:11:10 +01:00
Lukas Eder
eb2bd7719d
[ jOOQ/jOOQ#11061 ] [ jOOQ/jOOQ#11070 ] [ jOOQ/jOOQ#11091 ] TRIM/LTRIM/RTRIM
2020-12-07 23:36:32 +01:00
Lukas Eder
1a1a9ae728
[ jOOQ/jOOQ#11061 ] [ jOOQ/jOOQ#11070 ] [ jOOQ/jOOQ#11091 ] SUBSTRING
...
- Use API code generator to generate function expression tree
implementations
2020-12-07 16:54:29 +01:00
Lukas Eder
6e85c37a54
[ jOOQ/jOOQ#11061 ] [ jOOQ/jOOQ#11070 ] [ jOOQ/jOOQ#11091 ] LEFT / RIGHT
...
- Fixed formatting
2020-12-07 11:45:33 +01:00
Lukas Eder
f2036e022e
[ jOOQ/jOOQ#11097 ] Add single argument DSL.function() overload
2020-12-04 22:12:27 +01:00
Lukas Eder
5b1e7eb50f
[ jOOQ/jOOQ#11061 ] [ jOOQ/jOOQ#11070 ] [ jOOQ/jOOQ#11091 ] WIP
2020-12-04 21:47:22 +01:00
Lukas Eder
e137636a9e
[ jOOQ/jOOQ#11061 ] [ jOOQ/jOOQ#11070 ] [ jOOQ/jOOQ#11091 ] SUBSTRING
2020-12-04 17:55:15 +01:00
Lukas Eder
a95431170d
[ jOOQ/jOOQ#11095 ] KotlinGenerator should take ParameterDefinition nullability into consideration
2020-12-04 15:19:39 +01:00
Lukas Eder
a545351406
[ jOOQ/jOOQ#11061 ] Delay application of nullability of DataTypeProxy
...
A the time a condition is formed from FieldProxy components that reference DataTypeProxy, the data type is not yet known, so making it nullable must be a proxied, delaying operation as well.
2020-12-04 14:37:21 +01:00
Lukas Eder
a063a6ec3f
[ jOOQ/jOOQ#11061 ] Delay application of nullability of DataTypeProxy
...
A the time a condition is formed from FieldProxy components that reference DataTypeProxy, the data type is not yet known, so making it nullable must be a proxied, delaying operation as well.
2020-12-04 14:37:16 +01:00
Lukas Eder
8567ccfe57
[ jOOQ/jOOQ#11093 ] Use instance methods in parser implementation
2020-12-04 13:42:35 +01:00
Lukas Eder
866f98d31e
[ jOOQ/jOOQ#11061 ] OVERLAPS support
2020-12-04 10:24:29 +01:00
Lukas Eder
0e23dde879
[ jOOQ/jOOQ#11092 ] Deprecate DSL.nullSafe() and related protected methods, and move them to Tools
2020-12-04 10:04:25 +01:00
Lukas Eder
d1db74fc4b
[ jOOQ/jOOQ#11089 ] Add parser support for COERCE(x AS <data type>)
2020-12-04 09:07:43 +01:00
Lukas Eder
6d7f2b42db
[ jOOQ/jOOQ#11061 ] BETWEEN predicate
2020-12-03 21:37:43 +01:00
Lukas Eder
e0e84f635f
[ jOOQ/jOOQ#11061 ] More bind variable type lookups
...
- inverse compare conditions: ? = COL
- IN predicate
- Predicates with correlated subqueries (select COL) = ?
2020-12-03 21:24:15 +01:00
Lukas Eder
0ae19d527b
[ jOOQ/jOOQ#8517 ] Row[N].eq(Row[N]) should apply data type bindings if necessary
2020-12-03 17:56:05 +01:00
Lukas Eder
995cce0d6e
[ jOOQ/jOOQ#11086 ] Wrong SQL generated when DomainDataType is loaded
...
before base SQLDataType for SQLDialect.DEFAULT
2020-12-03 17:16:56 +01:00
Lukas Eder
9b6cce0640
[ jOOQ/jOOQ#11054 ] Fix default values
2020-12-03 16:16:03 +01:00
Lukas Eder
b8f36e6ec1
[ jOOQ/jOOQ#11058 ] Reference AbstractRow if possible
2020-12-03 15:30:52 +01:00