Version 3.19.33 - May 5, 2026
================================================================================
This is a 3.19 patch release with minor improvements and bug fixes
Bug Fixes
---------
#19874 - Render MATERIALIZED keyword for YugabyteDB when using asMaterialized()
#19878 - Regression when using Loader batch insertion with StatementType.STATIC_STATEMENT
#19882 - Statements executed from ExecuteContext::connection will eagerly release the connection to the ConnectionProvider
#19888 - DataAccessException::sqlStateClass returns OTHER instead of C22_DATA_EXCEPTION for Oracle data problems related to CHAR vs BYTE string columns
#19893 - NullPointerException in XMLDatabase when routine has no parameters
#19903 - Missing support for parsing BigQuery BIGNUMERIC and BIGDECIMAL data types
#19907 - MetaSQL tries to load check constraints, but check constraints were not yet introduced to MySQL 5.7
#19912 - No Teradata support for ALTER TABLE .. ADD IF NOT EXISTS and similar statements
#19916 - Cannot CAST from numeric to CLOB directly, in Teradata
#19920 - Bad data type rendered for SQLDataType.LONGVARBINARY in Teradata
#19924 - Work around Teradata JDBC driver issue where DatabaseMetaData::getColumns may produce a null type name
#19928 - Nested rows within MULTISET projections do not apply JSON or XML cast necessary for serialising certain data types
#19941 - DSL::isoDayOfWeek renders wrong SQL expression for MariaDB and MySQL when used in arithmetic operations
Version 3.20.14 - May 5, 2026
================================================================================
This is a 3.20 patch release with minor improvements and bug fixes
Bug Fixes
---------
#19873 - Render MATERIALIZED keyword for YugabyteDB when using asMaterialized()
#19877 - Regression when using Loader batch insertion with StatementType.STATIC_STATEMENT
#19881 - Statements executed from ExecuteContext::connection will eagerly release the connection to the ConnectionProvider
#19887 - DataAccessException::sqlStateClass returns OTHER instead of C22_DATA_EXCEPTION for Oracle data problems related to CHAR vs BYTE string columns
#19892 - NullPointerException in XMLDatabase when routine has no parameters
#19896 - Compilation error in generated code when cross-schema UDT column is used with interfaces=true
#19902 - Missing support for parsing BigQuery BIGNUMERIC and BIGDECIMAL data types
#19906 - MetaSQL tries to load check constraints, but check constraints were not yet introduced to MySQL 5.7
#19911 - No Teradata support for ALTER TABLE .. ADD IF NOT EXISTS and similar statements
#19915 - Cannot CAST from numeric to CLOB directly, in Teradata
#19919 - Bad data type rendered for SQLDataType.LONGVARBINARY in Teradata
#19923 - Work around Teradata JDBC driver issue where DatabaseMetaData::getColumns may produce a null type name
#19927 - Nested rows within MULTISET projections do not apply JSON or XML cast necessary for serialising certain data types
#19940 - DSL::isoDayOfWeek renders wrong SQL expression for MariaDB and MySQL when used in arithmetic operations
Version 3.21.3 - May 5, 2026
================================================================================
This is a 3.21 patch release with minor improvements and bug fixes
Bug Fixes
---------
#19871 - Avoid rendering GLOBAL keyword in PostgreSQL's createGlobalTemporaryTable() support
#19872 - Render MATERIALIZED keyword for YugabyteDB when using asMaterialized()
#19876 - Regression when using Loader batch insertion with StatementType.STATIC_STATEMENT
#19880 - Statements executed from ExecuteContext::connection will eagerly release the connection to the ConnectionProvider
#19886 - DataAccessException::sqlStateClass returns OTHER instead of C22_DATA_EXCEPTION for Oracle data problems related to CHAR vs BYTE string columns
#19891 - NullPointerException in XMLDatabase when routine has no parameters
#19895 - Compilation error in generated code when cross-schema UDT column is used with interfaces=true
#19899 - Regression when rendering BigQuery NUMERIC literals and bind values
#19901 - Missing support for parsing BigQuery BIGNUMERIC and BIGDECIMAL data types
#19905 - MetaSQL tries to load check constraints, but check constraints were not yet introduced to MySQL 5.7
#19910 - No Teradata support for ALTER TABLE .. ADD IF NOT EXISTS and similar statements
#19914 - Cannot CAST from numeric to CLOB directly, in Teradata
#19918 - Bad data type rendered for SQLDataType.LONGVARBINARY in Teradata
#19922 - Work around Teradata JDBC driver issue where DatabaseMetaData::getColumns may produce a null type name
#19926 - Nested rows within MULTISET projections do not apply JSON or XML cast necessary for serialising certain data types
#19930 - XML MULTISET emulation doesn't correctly deserialise NULL ARRAY values in PostgreSQL, when nesting ROW in MULTISET
#19932 - Incomplete jOOQ-bom pom.xml for commercial editions
#19938 - Bad deserialisation of JSON content within ROW within MULTISET for SQLite
#19939 - DSL::isoDayOfWeek renders wrong SQL expression for MariaDB and MySQL when used in arithmetic operations