Version 3.18.32 - August 12, 2025
================================================================================ This is a 3.18 patch release with minor improvements and bug fixes Features and Improvements ------------------------- #18627 - BlobBinding and ClobBinding should fall back to byte[] and String binding if unavailable #18735 - Add DataType::isQualifiedRecord and DataType::isUDTRecord #18848 - Add a warning to the Query::bind Javadoc about the method not being very useful in general Bug Fixes --------- #18590 - Upgrade pgjdbc dependency to 42.7.7 to mitigate CVE-2025-49146 #18597 - Ad-hoc compilation of code generator shouldn't require adding jooq-codegen dependency to project, explicitly #18602 - Wrong list of supported dialects on various IF [ NOT ] EXISTS methods #18612 - NClobBinding doesn't correctly bind NULL values #18615 - Inlining of large SQLDataType.NCLOB values doesn't use TO_NCLOB() in Oracle, like for large CLOB values #18621 - NClobBinding should revert to ordinary String usage when JDBC driver doesn't support NClob #18624 - MetaImpl doesn't return Db2 GLOBAL TEMPORARY tables #18637 - JDBC backed MetaImpl reports Oracle GLOBAL TEMPORARY tables as ordinary tables #18646 - Slash in name results in invalid identifier being generated using KotlinGenerator #18649 - KotlinGenerator produces bad code when table / column identifier disambiguation clashes with special character escaping #18652 - Bad file names generated on Windows in KotlinGenerator and ScalaGenerator when using special characters #18657 - Compilation error in Kotlin generated code when table name contains special characters and paths are generated #18675 - Parser cannot parse Oracle style IN, OUT modifier in procedure declarations #18691 - PostgreSQL UDT not deserialized correctly when embedded in multiset #18696 - Function parameter references aren't rendered with @ prefix in SQL Server, in function body #18699 - Generated CREATE FUNCTION statement renders extra BEGIN .. END block in SQL Server #18705 - MetaImpl should support DataType::generatedAlwaysAs property if JDBC DatabaseMetaData::getColumns can report it #18712 - DataType.generationOption(null) shouldn't store null value, but DEFAULT value #18721 - Bad formatting in PostgreSQL IF [ NOT ] EXISTS emulation when nested in more blocks #18725 - Cannot place Oracle UDT in MULTISET with JSON emulation #18731 - Settings.renderQuotedNames shouldn't affect xsi:nil attribute rending in MULTISET XML emulation #18741 - Code generator does not apply DataType.GEOMETRY to PostgreSQL materialized view #18752 - Formatting problem in generated Kotlin UDTs #18756 - Insert::$updateSet doesn't replace the SET clause, but appends to it #18765 - Parser fails to parse T-SQL query with TOP and quoted identifiers, when Settings.parseDialect is set to DEFAULT #18790 - XMLDatabase has O(N^2) complexity in column / attribute / parameter lookups #18811 - Procedural IF a = b is emulated incorrectly in H2 #18835 - Avoid unnecessary StringReader and StringWriter allocations and data transfer in MULTISET deserialisation #18839 - <dateAsTimestamp/> deprecation notice should mention DateAsTimestampBinding alternative explicitly #18844 - JSONParser::parseStringLiteral should omit StringBuilder copy if no escape sequence is found Version 3.19.25 - August 12, 2025 ================================================================================ This is a 3.19 patch release with minor improvements and bug fixes Features and Improvements ------------------------- #18734 - Add DataType::isQualifiedRecord and DataType::isUDTRecord #18847 - Add a warning to the Query::bind Javadoc about the method not being very useful in general Bug Fixes --------- #18589 - Upgrade pgjdbc dependency to 42.7.7 to mitigate CVE-2025-49146 #18596 - Ad-hoc compilation of code generator shouldn't require adding jooq-codegen dependency to project, explicitly #18601 - Wrong list of supported dialects on various IF [ NOT ] EXISTS methods #18611 - NClobBinding doesn't correctly bind NULL values #18614 - Inlining of large SQLDataType.NCLOB values doesn't use TO_NCLOB() in Oracle, like for large CLOB values #18620 - NClobBinding should revert to ordinary String usage when JDBC driver doesn't support NClob #18623 - MetaImpl doesn't return Db2 GLOBAL TEMPORARY tables #18636 - JDBC backed MetaImpl reports Oracle GLOBAL TEMPORARY tables as ordinary tables #18645 - Slash in name results in invalid identifier being generated using KotlinGenerator #18648 - KotlinGenerator produces bad code when table / column identifier disambiguation clashes with special character escaping #18651 - Bad file names generated on Windows in KotlinGenerator and ScalaGenerator when using special characters #18656 - Compilation error in Kotlin generated code when table name contains special characters and paths are generated #18659 - org.jooq.codegen.gradle.MetaExtensions classes should adhere to JavaBeans convention to avoid deprecation warning in Gradle 8.x #18665 - Bad types generated in Informix UDT classes for informix.boolean, informix.blob, and informix.lvarchar types #18668 - Informix generated code contains extra "_0" attribute in generated UDTs #18672 - Work around Informix JDBC driver java.lang.IllegalMonitorStateException bug when reading UDT out parameters #18674 - Parser cannot parse Oracle style IN, OUT modifier in procedure declarations #18690 - PostgreSQL UDT not deserialized correctly when embedded in multiset #18695 - Function parameter references aren't rendered with @ prefix in SQL Server, in function body #18698 - Generated CREATE FUNCTION statement renders extra BEGIN .. END block in SQL Server #18704 - MetaImpl should support DataType::generatedAlwaysAs property if JDBC DatabaseMetaData::getColumns can report it #18711 - DataType.generationOption(null) shouldn't store null value, but DEFAULT value #18720 - Bad formatting in PostgreSQL IF [ NOT ] EXISTS emulation when nested in more blocks #18724 - Cannot place Oracle UDT in MULTISET with JSON emulation #18730 - Settings.renderQuotedNames shouldn't affect xsi:nil attribute rending in MULTISET XML emulation #18740 - Code generator does not apply DataType.GEOMETRY to PostgreSQL materialized view #18751 - Formatting problem in generated Kotlin UDTs #18755 - Insert::$updateSet doesn't replace the SET clause, but appends to it #18764 - Parser fails to parse T-SQL query with TOP and quoted identifiers, when Settings.parseDialect is set to DEFAULT #18775 - Bad rendering of UDTPathField in PL/SQL contexts #18789 - XMLDatabase has O(N^2) complexity in column / attribute / parameter lookups #18810 - Procedural IF a = b is emulated incorrectly in H2 #18834 - Avoid unnecessary StringReader and StringWriter allocations and data transfer in MULTISET deserialisation #18838 - <dateAsTimestamp/> deprecation notice should mention DateAsTimestampBinding alternative explicitly #18843 - JSONParser::parseStringLiteral should omit StringBuilder copy if no escape sequence is found Version 3.20.6 - August 12, 2025 ================================================================================ This is a 3.20 patch release with minor improvements and bug fixes Features and Improvements ------------------------- #18733 - Add DataType::isQualifiedRecord and DataType::isUDTRecord #18826 - Add Meta and DDL catalog support for Databricks #18846 - Add a warning to the Query::bind Javadoc about the method not being very useful in general Bug Fixes --------- #18588 - Upgrade pgjdbc dependency to 42.7.7 to mitigate CVE-2025-49146 #18594 - Meta.getSchemas() produces schema multiple times across catalogs in DuckDB #18595 - Ad-hoc compilation of code generator shouldn't require adding jooq-codegen dependency to project, explicitly #18600 - Wrong list of supported dialects on various IF [ NOT ] EXISTS methods #18610 - NClobBinding doesn't correctly bind NULL values #18613 - Inlining of large SQLDataType.NCLOB values doesn't use TO_NCLOB() in Oracle, like for large CLOB values #18619 - NClobBinding should revert to ordinary String usage when JDBC driver doesn't support NClob #18622 - MetaImpl doesn't return Db2 GLOBAL TEMPORARY tables #18635 - JDBC backed MetaImpl reports Oracle GLOBAL TEMPORARY tables as ordinary tables #18644 - Slash in name results in invalid identifier being generated using KotlinGenerator #18647 - KotlinGenerator produces bad code when table / column identifier disambiguation clashes with special character escaping #18650 - Bad file names generated on Windows in KotlinGenerator and ScalaGenerator when using special characters #18655 - Compilation error in Kotlin generated code when table name contains special characters and paths are generated #18658 - org.jooq.codegen.gradle.MetaExtensions classes should adhere to JavaBeans convention to avoid deprecation warning in Gradle 8.x #18664 - Bad types generated in Informix UDT classes for informix.boolean, informix.blob, and informix.lvarchar types #18667 - Informix generated code contains extra "_0" attribute in generated UDTs #18671 - Work around Informix JDBC driver java.lang.IllegalMonitorStateException bug when reading UDT out parameters #18673 - Parser cannot parse Oracle style IN, OUT modifier in procedure declarations #18688 - PostgresDatabase and subtypes may still produce wrong table comments in presence of stored functions #18689 - PostgreSQL UDT not deserialized correctly when embedded in multiset #18694 - Function parameter references aren't rendered with @ prefix in SQL Server, in function body #18697 - Generated CREATE FUNCTION statement renders extra BEGIN .. END block in SQL Server #18703 - MetaImpl should support DataType::generatedAlwaysAs property if JDBC DatabaseMetaData::getColumns can report it #18708 - MetaDataFieldProvider debug logs warnings about Nullable(xyz) types not being supported for ClickHouse #18710 - DataType.generationOption(null) shouldn't store null value, but DEFAULT value #18719 - Bad formatting in PostgreSQL IF [ NOT ] EXISTS emulation when nested in more blocks #18723 - Cannot place Oracle UDT in MULTISET with JSON emulation #18729 - Settings.renderQuotedNames shouldn't affect xsi:nil attribute rending in MULTISET XML emulation #18737 - Typo in DataType::hidden Javadoc #18739 - Code generator does not apply DataType.GEOMETRY to PostgreSQL materialized view #18750 - Formatting problem in generated Kotlin UDTs #18754 - Insert::$updateSet doesn't replace the SET clause, but appends to it #18763 - Parser fails to parse T-SQL query with TOP and quoted identifiers, when Settings.parseDialect is set to DEFAULT #18774 - Bad rendering of UDTPathField in PL/SQL contexts #18788 - XMLDatabase has O(N^2) complexity in column / attribute / parameter lookups #18809 - Procedural IF a = b is emulated incorrectly in H2 #18828 - Missing VARCHAR lengths in Databricks generated code #18830 - MetaImpl reports wrong array component length for Databricks #18833 - Avoid unnecessary StringReader and StringWriter allocations and data transfer in MULTISET deserialisation #18837 - <dateAsTimestamp/> deprecation notice should mention DateAsTimestampBinding alternative explicitly #18842 - JSONParser::parseStringLiteral should omit StringBuilder copy if no escape sequence is found -- 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 [email protected]. To view this discussion visit https://groups.google.com/d/msgid/jooq-user/b33bdffe-731f-4eba-a8ce-c1dff7ef84acn%40googlegroups.com.
