Version 3.14.5 - January 21, 2021
================================================================================
This is a 3.14 patch release with minor improvements and bug fixes.
Please allow for some delays with the relase to Maven Central:
Additional delays may incur as Sonatype is in maintenance:
Features and Improvements
-------------------------
#11137 - Add Name.qualifierQualified() to check if a Name's qualifier (if any) is qualified as well
#11160 - Add Javadoc to Map producing API (fetchMap(), fetchGroups()) about map iteration order guarantees
#11181 - Clarify unused logger warning message about what is obsolete
Breaking changes
----------------
#11219 - KotlinGenerator generates Record[N]<T1, T2, ..., TN> for PK types in DAOs, instead of Record[N]<T1?, T2?, ..., TN?>
Bug Fixes
---------
#11033 - Compilation errors for <implicitJoinPathsToOne/> when referenced table is called RECORD_TYPE
#11036 - Avoid synthetic ORDER BY clause in window functions of remaining dialects if not strictly necessary
#11039 - StackOverflowError generating code from Postgresql XML schema with ARRAY columns
#11044 - Add support for parsing INSERT .. WITH .. SELECT
#11046 - Support parsing table aliases in DELETE statements
#11052 - Code generator does not produce indexes for quoted identifiers in PostgreSQL
#11059 - KotlinGenerator should generate kotlin.Deprecated annotation instead of java.lang.Deprecated
#11060 - Improve performance of Record.into(Table) and related calls
#11079 - Override CatalogImpl.equals()
#11087 - Wrong SQL generated when DomainDataType is loaded before base SQLDataType for SQLDialect.DEFAULT
#11102 - Misleading error message when something goes wrong in the code generator
#11104 - NullPointerException when custom JavaGenerator subclasses don't call JavaWriter.printPackageSpecification()
#11106 - NullPointerException when GenerationTool is not properly initialised
#11117 - Cache implicit join path references
#11122 - Nested records produced by DefaultRecordMapper do not pass through RecordListener lifecycle
#11127 - Avoid calling AbstractQueryPart::equals
#11138 - ParseWithMetaLookups looks up columns in Meta that cannot possibly appear in query
#11140 - ParseWithMetaLookups propagates wrong type from derived table
#11142 - ParseWithMetaLookups produces wrong projection on self join
#11144 - ParserWithMetaLookups reports ambiguous column in correlated subquery, when there is none
#11170 - DataType.convert(Object...) and convert(Collection<?>) don't work for converted data types
#11171 - Omitting parts of the foreign key in onKey(TableField…) doesn't produce the expected result
#11184 - Compilation errors in generated DAOs when embeddables use <replacesFields/>
#11186 - Compilation errors in generated embeddable pojos if the embeddable is located in a "synthetic" schema
#11204 - MetaTable::getReferences and MetaUniqueKey::getReferences do not take into account inverseSchemaCatalog
#11209 - ArrayStoreException when calling ResultQuery<Record[N]>.fetchArray()
#11212 - Multithread deadlock: org.jooq.impl.AbstractField references subclass org.jooq.impl.Val in static initializer
#11221 - JDBCUtils.dialect() should recognise MariaDB versioned SQLDialect
#11225 - DROP TEMPORARY TABLE doesn't generate TEMPORARY keyword in MariaDB
#11229 - Settings.isMapConstructorParameterNamesInKotlin doesn't work for kotlin inline classes
#11234 - Parser throws IllegalArgumentException instead of ParserException when date_trunc() is parsed with invalid DatePart
#11236 - Parser fails when union subquery contains correlated subquery #11235
#11240 - Generated order of check constraints does not respect Database::getOrderProvider
#11245 - SelectQuery.setForUpdate and similar methods do not clear flag when value is false
#11256 - NullPointerException when calling MetaImpl.snapshot() on a PostgreSQL schema with function based indexes
#11257 - Meta.getTables() does not include PostgreSQL foreign data wrapper tables
#11262 - Interpreter cannot find unique key if foreign key references columns in different order
#11264 - NullPointerException in MetaImpl.snapshot() when foreign key column order doesn't match unique key column order
#11267 - The default SQL generated for DATEADD() is an empty string
#11271 - Wrong support annotation for FIREBIRD ALTER TABLE .. RENAME