Version 3.16.15 - March 8, 2023
================================================================================
This is a 3.16 patch release with minor improvements and bug fixes
Features and Improvements
-------------------------
#14692 - Add parser support for SQLite's WITHOUT ROWID tables
Bug Fixes
---------
#14620 - SQL Server nullability information isn't generated correctly for domains
#14623 - Work around a YugabyteDB regression querying the INFORMATION_SCHEMA.ATTRIBUTES table
#14626 - Missing nullability information on nullable DOMAIN types that are made non-null by CREATE TABLE
#14630 - Missing default information on DOMAIN types that get an overridden DEFAULT by CREATE TABLE
#14633 - Add parser support for SQLite's STRICT tables
#14637 - Single message JooqLogger doesn't work
#14639 - Log warning when unsupported dialect version is being used
#14646 - LoggerListener::fetchEnd should check if DEBUG logging is enabled
#14652 - Wrong emulation of GENERATE_SERIES with STEP parameter for Snowflake
#14670 - Wrong ON KEY JOIN generated when aliased table appears twice in the JOIN tree
#14674 - Wrong column resolved by JoinTable.field(Field), when JoinTable contains aliased tables and lookup uses unaliased tables
#14679 - JoinTable.onKey(ForeignKey) does not work when tables are aliased
#14689 - Translator duplicates comment only content when retaining comments
#14698 - Wrapping SQLException must copy SQLState and other info from wrapped SQLException
#14706 - INSERT statement does not apply types to bind values in VALUES clause when using valuesOfRows()
#14733 - Use LazyName in AbstractParam
#14735 - Push down ScopeMappable marker interface from AbstractField to AbstractWindowFunction and TableFieldImpl
#14741 - PostgreSQL Numeric array type with precision/scale too large in generated code
#14746 - Slow TableAlias::equals implementation, when argument type is TableImpl
#14749 - Speed up AbstractRow.equals() and hashCode() when comparing with other AbstractRow
#14754 - Nesting MULTISET/ROW/MULTISET/ROW with ad-hoc converters and JSON emulation results in ClassCastException
#14759 - VALUES() must cast NULL literals in the first row, if the type is known and the RDBMS cannot infer it
Version 3.17.9 - March 8, 2023
================================================================================
This is a 3.17 patch release with minor improvements and bug fixes
Features and Improvements
-------------------------
#14638 - Log warning when unsupported dialect version is being used
#14691 - Add parser support for SQLite's WITHOUT ROWID tables
#14709 - PostgreSQL interval parser handle fractional seconds with interval style iso_8601
#14714 - Add support for interval types in DefaultConverterProvider
Bug Fixes
---------
#14619 - SQL Server nullability information isn't generated correctly for domains
#14622 - Work around a YugabyteDB regression querying the INFORMATION_SCHEMA.ATTRIBUTES table
#14625 - Missing nullability information on nullable DOMAIN types that are made non-null by CREATE TABLE
#14629 - Missing default information on DOMAIN types that get an overridden DEFAULT by CREATE TABLE
#14632 - Add parser support for SQLite's STRICT tables
#14636 - Single message JooqLogger doesn't work
#14645 - LoggerListener::fetchEnd should check if DEBUG logging is enabled
#14651 - Wrong emulation of GENERATE_SERIES with STEP parameter for Snowflake
#14669 - Wrong ON KEY JOIN generated when aliased table appears twice in the JOIN tree
#14673 - Wrong column resolved by JoinTable.field(Field), when JoinTable contains aliased tables and lookup uses unaliased tables
#14678 - JoinTable.onKey(ForeignKey) does not work when tables are aliased
#14688 - Translator duplicates comment only content when retaining comments
#14697 - Wrapping SQLException must copy SQLState and other info from wrapped SQLException
#14704 - SQL Server RETURNING clause emulation for fetching server side computed columns generates incorrect SQL if only computed columns are fetched
#14705 - INSERT statement does not apply types to bind values in VALUES clause when using valuesOfRows()
#14715 - UnsupportedOperationException when selecting row with YearToSecond
#14732 - Use LazyName in AbstractParam
#14734 - Push down ScopeMappable marker interface from AbstractField to AbstractWindowFunction and TableFieldImpl
#14740 - PostgreSQL Numeric array type with precision/scale too large in generated code
#14745 - Slow TableAlias::equals implementation, when argument type is TableImpl
#14748 - Speed up AbstractRow.equals() and hashCode() when comparing with other AbstractRow
#14753 - Nesting MULTISET/ROW/MULTISET/ROW with ad-hoc converters and JSON emulation results in ClassCastException
#14758 - VALUES() must cast NULL literals in the first row, if the type is known and the RDBMS cannot infer it