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.