Version 3.18.33 - September 11, 2025

================================================================================


This is a 3.18 patch release with minor improvements and bug fixes



Features and Improvements

------------------------- 

#18900 - Add information about the lack of thread safety in Meta 
implementations to Meta Javadoc

#18954 - Add Javadoc to various SPIs about an expectation for them to be 
side-effect free and thus cacheable

#18981 - Improve DSLContext.meta(Catalog...) and similar Javadoc to explain 
that these are intended to be used with generated code



Bug Fixes

---------

#18861 - Meta.getSequences() only lists sequences of current catalog in SQL 
Server

#18885 - HTML encoding issue in DataType Javadoc

#18890 - Bad routine code generated when using array types in H2 stored 
functions

#18904 - NullPointerException in various locations when another thread 
cancels a blocking, JDBC backed Subscription

#18908 - Base64 error when using multiset, binary column, and custom 
converter in MySQL

#18913 - Parser cannot handle Long.MIN_VALUE signed integer literal in rare 
contexts

#18916 - KotlinGenerator produces bad code when sequences reference 
Long.MIN_VALUE with their flags

#18921 - Cannot use Parser::parseSignedIntegerLiteral to parse BigInteger 
sequence flag values

#18924 - KotlinGenerator generates invalid code for sequences with 
BigInteger MINVALUE or MAXVALUE flags

#18930 - Avoid allocating StringBuilder in PostgresUtils::toPGObjectOrArray 
if not necessary

#18934 - Avoid DefaultDSLContext allocation in AbstractQueryPart::equals

#18938 - Revert to using classes instead of records for Cache.Key2 and 
Cache.Key3 objects

#18944 - Override FieldAlias::equals and hashCode to improve reflection 
cache performance

#18958 - Bad result in MariaDB when MULTISET contents contain binary data

#18964 - Wrong data type generated in DDL for VARBINARY converted as UUID 
type

#18968 - Bad DDL generated when attempting to CREATE TABLE with UUID column 
in Oracle and other dialects

#18973 - ORA-01790 when projecting NULL bind value of type BLOB in UNION 
ALL query

#18977 - Bad rendering of unsupported OffsetTime type in Oracle

#18986 - Avoid calling Stream::collect in Result::collect and 
Cursor::collect

#18997 - QOM generated equals() methods shouldn't use StringUtils::equals, 
but Objects::equals

#19007 - Make DefaultExecuteContext available to internals via ThreadLocal

#19012 - Change AbstractParseContext to be an AbstractLazyScope

#19021 - Regression: Wrong DDL exported by MetaImpl for MySQL DEFAULT 
CURRENT_TIMESTAMP columns

#19024 - Adding a DDL comment to aliased columns produces wrong SQL, or 
does not maintain comment after execution

#19029 - DDLDatabase and H2Database shouldn't generate VARCHAR(1000000000) 
for VARCHAR types without explicit length

#19038 - ALTER TABLE .. ADD FOREIGN KEY .. REFERENCES references 
unqualified table name when column is also added

#19042 - Correctly handle NULLS FIRST | NULLS LAST in SEEK method



Version 3.19.26 - September 11, 2025

================================================================================


This is a 3.19 patch release with minor improvements and bug fixes



Features and Improvements

------------------------- 

#18899 - Add information about the lack of thread safety in Meta 
implementations to Meta Javadoc

#18953 - Add Javadoc to various SPIs about an expectation for them to be 
side-effect free and thus cacheable

#18980 - Improve DSLContext.meta(Catalog...) and similar Javadoc to explain 
that these are intended to be used with generated code



Bug Fixes

---------

#18860 - Meta.getSequences() only lists sequences of current catalog in SQL 
Server

#18864 - DuckDB code generation can't generate sequences for multiple 
catalogs

#18867 - DuckDB DSL.currentTime() returns NULL

#18873 - DuckDB doesn't support TIME precision

#18884 - HTML encoding issue in DataType Javadoc

#18889 - Bad routine code generated when using array types in H2 stored 
functions

#18903 - NullPointerException in various locations when another thread 
cancels a blocking, JDBC backed Subscription

#18907 - Base64 error when using multiset, binary column, and custom 
converter in MySQL

#18912 - Parser cannot handle Long.MIN_VALUE signed integer literal in rare 
contexts

#18915 - KotlinGenerator produces bad code when sequences reference 
Long.MIN_VALUE with their flags

#18920 - Cannot use Parser::parseSignedIntegerLiteral to parse BigInteger 
sequence flag values

#18923 - KotlinGenerator generates invalid code for sequences with 
BigInteger MINVALUE or MAXVALUE flags

#18929 - Avoid allocating StringBuilder in PostgresUtils::toPGObjectOrArray 
if not necessary

#18933 - Avoid DefaultDSLContext allocation in AbstractQueryPart::equals

#18937 - Revert to using classes instead of records for Cache.Key2 and 
Cache.Key3 objects

#18943 - Override FieldAlias::equals and hashCode to improve reflection 
cache performance

#18957 - Bad result in MariaDB when MULTISET contents contain binary data

#18963 - Wrong data type generated in DDL for VARBINARY converted as UUID 
type

#18967 - Bad DDL generated when attempting to CREATE TABLE with UUID column 
in Oracle and other dialects

#18972 - ORA-01790 when projecting NULL bind value of type BLOB in UNION 
ALL query

#18976 - Bad rendering of unsupported OffsetTime type in Oracle

#18985 - Avoid calling Stream::collect in Result::collect and 
Cursor::collect

#18993 - Race condition in JooqLogger leads to too many identical messages 
being logged, where only one is requested

#18996 - QOM generated equals() methods shouldn't use StringUtils::equals, 
but Objects::equals

#19006 - Make DefaultExecuteContext available to internals via ThreadLocal

#19011 - Change AbstractParseContext to be an AbstractLazyScope

#19020 - Regression: Wrong DDL exported by MetaImpl for MySQL DEFAULT 
CURRENT_TIMESTAMP columns

#19023 - Adding a DDL comment to aliased columns produces wrong SQL, or 
does not maintain comment after execution

#19028 - DDLDatabase and H2Database shouldn't generate VARCHAR(1000000000) 
for VARCHAR types without explicit length

#19037 - ALTER TABLE .. ADD FOREIGN KEY .. REFERENCES references 
unqualified table name when column is also added

#19041 - Correctly handle NULLS FIRST | NULLS LAST in SEEK method



Version 3.20.7 - September 11, 2025

================================================================================


This is a 3.20 patch release with minor improvements and bug fixes



Features and Improvements

------------------------- 

#18898 - Add information about the lack of thread safety in Meta 
implementations to Meta Javadoc

#18947 - Add catalog support for Databricks in MetaImpl

#18952 - Add Javadoc to various SPIs about an expectation for them to be 
side-effect free and thus cacheable

#18979 - Improve DSLContext.meta(Catalog...) and similar Javadoc to explain 
that these are intended to be used with generated code

#19034 - Support ClickHouse ALTER TABLE .. ADD INDEX / DROP INDEX syntax



Bug Fixes

---------

#18859 - Meta.getSequences() only lists sequences of current catalog in SQL 
Server

#18863 - DuckDB code generation can't generate sequences for multiple 
catalogs

#18866 - DuckDB DSL.currentTime() returns NULL

#18869 - Fix throwing IntegrityConstraintViolationException in DuckDB

#18872 - DuckDB doesn't support TIME precision

#18875 - DuckDB doesn't support TIMESTAMPTZ precision

#18883 - HTML encoding issue in DataType Javadoc

#18888 - Bad routine code generated when using array types in H2 stored 
functions

#18896 - Invalid Require-Capability OSGi MANIFEST header in JDK 21 built 
artifacts

#18902 - NullPointerException in various locations when another thread 
cancels a blocking, JDBC backed Subscription

#18906 - Base64 error when using multiset, binary column, and custom 
converter in MySQL

#18911 - Parser cannot handle Long.MIN_VALUE signed integer literal in rare 
contexts

#18914 - KotlinGenerator produces bad code when sequences reference 
Long.MIN_VALUE with their flags

#18919 - Cannot use Parser::parseSignedIntegerLiteral to parse BigInteger 
sequence flag values

#18922 - KotlinGenerator generates invalid code for sequences with 
BigInteger MINVALUE or MAXVALUE flags

#18925 - PostgreSQL UDT array not deserialized correctly when embedded in 
multiset

#18928 - Avoid allocating StringBuilder in PostgresUtils::toPGObjectOrArray 
if not necessary

#18932 - Avoid DefaultDSLContext allocation in AbstractQueryPart::equals

#18936 - Revert to using classes instead of records for Cache.Key2 and 
Cache.Key3 objects

#18942 - Override FieldAlias::equals and hashCode to improve reflection 
cache performance

#18950 - Cached RecordMapper instances should cache also ConverterProvider 
results

#18951 - Cannot convert from user type to UnknownType error when converting 
nested, mapped type to itself

#18956 - Bad result in MariaDB when MULTISET contents contain binary data

#18962 - Wrong data type generated in DDL for VARBINARY converted as UUID 
type

#18966 - Bad DDL generated when attempting to CREATE TABLE with UUID column 
in Oracle and other dialects

#18969 - Wrong encoding of JSONB document contained in MULTISET using XML 
emulation in Db2

#18971 - ORA-01790 when projecting NULL bind value of type BLOB in UNION 
ALL query

#18975 - Bad rendering of unsupported OffsetTime type in Oracle

#18984 - Avoid calling Stream::collect in Result::collect and 
Cursor::collect

#18990 - Cache Method::getParameterTypes and 
Method::getGenericParameterTypes in reflection cache

#18992 - Race condition in JooqLogger leads to too many identical messages 
being logged, where only one is requested

#18994 - Avoid unnecessary ConverterContext allocations in jOOQ internals

#18995 - QOM generated equals() methods shouldn't use StringUtils::equals, 
but Objects::equals

#19005 - Make DefaultExecuteContext available to internals via ThreadLocal

#19010 - Change AbstractParseContext to be an AbstractLazyScope

#19014 - Change some AbstractLazyScope implementations to inherit their 
Scope::creationTime from the parent scope

#19019 - Regression: Wrong DDL exported by MetaImpl for MySQL DEFAULT 
CURRENT_TIMESTAMP columns

#19022 - Adding a DDL comment to aliased columns produces wrong SQL, or 
does not maintain comment after execution

#19027 - DDLDatabase and H2Database shouldn't generate VARCHAR(1000000000) 
for VARCHAR types without explicit length

#19031 - Various code generator queries fail with more recent ClickHouse 
server or client versions

#19036 - ALTER TABLE .. ADD FOREIGN KEY .. REFERENCES references 
unqualified table name when column is also added

#19040 - Correctly handle NULLS FIRST | NULLS LAST in SEEK method

-- 
You received this message because you are subscribed to the Google Groups "jOOQ 
User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jooq-user+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/jooq-user/0606d038-51e5-4a3d-977b-d7573bad6b6en%40googlegroups.com.

Reply via email to