Release 3.5.0-SNAPSHOT

This commit is contained in:
Lukas Eder 2014-08-15 13:55:52 +02:00
parent fbc770c291
commit 8dbff7fc0b

View File

@ -10,6 +10,107 @@ http://www.jooq.org/notes.php
For a text version, see
http://www.jooq.org/inc/RELEASENOTES.txt
Version 3.5.0-SNAPSHOT - August 15, 2014
================================================================================
This is a preview snapshot release for jOOQ 3.5.0
Features and improvements
-------------------------
#561 - Add support for the Informix database
#1341 - Add DSL.using(String url) and other methods that mimick DriverManager.getConnection()
#1761 - Reference manual versions between each other
#2054 - Implement quantified comparison predicates for Row[N] row value expressions
#2209 - Add <T1, T2, .., T[N]> Result<Record[N]<T1, T2, .., T[N]>> Result.into(Field<T1>, Field<T2>, .., Field<T[N]>) in order to transform Results / Records into another type
#2289 - Add jOOQ-flyway-example, a documentation module to show how to integrate with Flyway
#2886 - jooq-codegen-maven should look into project dependencies for jdbc driver
#2907 - Emulate UPDATE .. RETURNING through SELECT FROM FINAL TABLE (UPDATE ...) in DB2
#3339 - Add support for CREATE INDEX and DROP INDEX statements
#3340 - Add support for CREATE VIEW and DROP VIEW statements
#3346 - Allow for omitting the JDBC driver property in the code generator
#3355 - Add support for CREATE SEQUENCE and DROP SEQUENCE statements
#3370 - Allow for overriding the class Javadocs for generated objects
#3375 - Add support for PostgreSQL table-valued functions
#3381 - Add support for CREATE TABLE AS statements
#3386 - Add some test cases using Java 8 Streams for functional-relational transformation
#3388 - Replace SQL Server's ROW_NUMBER() OVER(ORDER BY @@version) by ORDER BY (SELECT 0)
#3389 - Add DSLContext.currval(String) and nextval(String) for convenience
#3412 - Add List DSLContext.fetchValues(...) similar to the existing fetchValue(...) methods
#3418 - Add DSL.defaultValue(Field<T>) for convenience
#3425 - Add support for Oracle AQ
#3431 - Add support for MySQL index hints
#3435 - Add support for SQL Server's SELECT .. INTO [new table] syntax
#3442 - Implement MockResultSet.getArray() methods
#3443 - Add support for conversion of values / arrays to the JDBC Array type in Convert
#3444 - Add MockArray, a mock implementation of JDBC's Array type
#3477 - Add Field.as(Field) to rename a field to another field's name
#3480 - Add XXXContext.dialect() and XXXContext.family() for convenience
#3496 - Log a DEBUG message when a Query is executed which returns Query.isExecutable() == false
#3501 - Add ResultQuery.fetchSet() and Result.intoSet() methods to return LinkedHashSets
#3511 - Improve DISTINCT predicate emulation through INTERSECT
#3512 - Add DSL.count(Table<?>) and DSL.countDistinct(Table<?>) to support the PostgreSQL-specific COUNT() extension
#3513 - Streaming version of formatCSV/formatXML
#3525 - Implement more verbose DEBUG logging for jOOQ-meta's include / exclude mechanism
#3551 - Copy plain SQL query construction API to DSL from DSLContext
API changes (backwards-compatible)
----------------------------------
#3345 - Deprecate org.jooq.api.annotation.State and Transition annotations
#3356 - Deprecate Select.fetchCount()
API changes (backwards-incompatible)
------------------------------------
Behavioural changes (backwards-incompatible)
--------------------------------------------
#2486 - Allow to specify precision, scale, length for type-rewrites in <forcedType/>
#3407 - DDL statements accepting String names should generate quoted names, not plain SQL
#3541 - Change DSLContext.nextval(String) and currval(String) to internally call DSL.sequenceByName() instead of DSL.sequence()
Bug fixes
---------
#3206 - DSL.field(Condition) doesn't correctly handle NULLs when emulating boolean fields with a CASE expression
#3347 - Field.in(T...) should defend against Collection arguments
#3359 - store() after copy() executes an UPDATE instead of an INSERT, when Settings.updatablePrimaryKeys is set
#3360 - SQLite regression when using special characters in identifiers
#3362 - DSLContext.batchStore() executes INSERT if records are batch stores are executed two times in a row on new records, if Settings.updatablePrimaryKeys is set to true
#3363 - UpdatableRecord.store() executes UPDATE instead of INSERT after delete(), if Settings.updatablePrimaryKeys is set to true
#3372 - The syntheticPrimaryKeys code generation option is currently undocumented
#3373 - The manual's page about the DUAL table does not list all the supported databases
#3382 - NOT NULL constraints and type information are incorrectly generated when using Firebird DOMAINs for data types
#3390 - Add missing documentation about the new jOOQ 3.4 transaction API
#3392 - Call setAccessible(true) only if really needed
#3400 - ALTER TABLE generates invalid syntax on Firebird when data types are nullable
#3402 - Wrong character length generated by jOOQ for Firebird
#3408 - Remove the default log4j.xml configuration file from the maven plugin again
#3413 - Oracle generated ArrayRecords cannot be constructed through reflection if deprecated flag is set to off
#3420 - NullPointerException when generating code for Oracle AQ Tables
#3430 - JDBC escape syntax is not correctly rendered from plain SQL when plain SQL contains newlines
#3436 - Manual sections about transactions documents ctx to be a DSLContext instead of Configuration
#3437 - QualifiedField does not respect RenderContext.qualify()
#3445 - Cannot run Maven code generator with professional edition
#3450 - Backslashes in SQL comments don't get escaped
#3455 - UPDATE .. FROM statement renders incorrect SQL for derived tables or aliased tables
#3456 - Name clash in generated code when Routine argument is called "f" (functions) or "p" (procedures)
#3462 - Field<Object>.in(Object...) can be called with Select<?> arguments, accidentally
#3463 - Field.in(...) methods shouldn't return trueCondition() or falseCondition()
#3473 - java.lang.IllegalArgumentException: Field (null) is not contained in Row
#3488 - Compilation error in generated code, when a similar tables T_A and TA exist
#3489 - DefaultTransactionProvider does not call Connection.releaseSavepoint(Savepoint) after commit
#3514 - ResultQuery.fetchLazy() ignores fetchSize()
#3520 - Duplicate column information in foreign key references for foreign keys that share the same name in different tables
#3526 - Unnecessary warning logs introduced in code generation
#3533 - Avoid using named parameters for Oracle, if not really needed
#3537 - Incorrect call to releaseSavepoint()
#3542 - Oracle DDL statements do not allow for using bind variables
#3544 - Add a DDLQuery marker interface, which all DDL Query types should extend
#3545 - Error when using qualified, case-sensitive sequence names in H2
#3547 - DSLContext.batch(String) doesn't accept bind variables
#3552 - Oracle Stored procedures using type synonyms in signatures cannot be used through jOOQ
#3556 - Generated Oracle Stored procedures do not reference types from other schemas
Version 3.4.0 - June 20, 2014
================================================================================
@ -62,13 +163,13 @@ Features and improvements
#3030 - Add support for ALTER SEQUENCE ... RESTART [ WITH ... ]
#3075 - Add support for Oracle TEMPORARY tables
#3076 - Add ExecuteListener.warning(ExecuteContext) to allow for listening to
SQLWarnings
#3077 - Let Sequence implement QueryPart
SQLWarnings
#3077 - Let Sequence implement QueryPart
#3080 - Generate Interfaces for Oracle and PostgreSQL UDTs
#3081 - Let generated POJOs reference generated UDT POJOs instead of UDT Records
#3084 - SQL Server unique indexes are not loaded by jOOQ-meta
#3093 - Add code-generation configuration to treat UNIQUE keys as primary keys
to generate UpdatableTables
to generate UpdatableTables
#3094 - Add Relations.getUniqueKeys(SchemaDefinition), getUniqueKeys()
#3095 - Add SchemaDefinition.getTables()
#3096 - Add Constants.XSD_RUNTIME, NS_RUNTIME, XSD_CODEGEN, NS_CODEGEN
@ -84,7 +185,7 @@ Features and improvements
#3153 - Add a paragraph to the manual explaining classpath behaviour of the
standalone code generator
#3154 - Add code-generation configuration to generate synthetic primary keys for
updatable views
updatable views
#3169 - Add more ResultQuery.fetchAnyXXX() convenience methods
#3180 - Add a Java 8 example to the documentation
#3181 - Update external manual links to point to the JavaSE 8 Javadoc
@ -93,15 +194,15 @@ Features and improvements
semantics
#3202 - Allow for Pattern.COMMENTS in code generation configuration's regexes
#3203 - Add DSL.not(Field<Boolean>) as a convenience for DSL.not(Condition)
and condition(Field<Boolean>)
and condition(Field<Boolean>)
#3204 - Clarify what "fully qualified" means in the context of <include/> and
<exclude/> in the code generator configuration
#3205 - Add DSL.condition(Boolean) as a convenience for
condition(Field<Boolean>)
#3212 - Add support for value types in DefaultRecordMapper, when mapping
#3212 - Add support for value types in DefaultRecordMapper, when mapping
Record1 types
#3229 - Add DSLContext.transaction() to implement nested transaction semantics
through functional interfaces
through functional interfaces
#3230 - Implement TransactionProvider for use with DataSourceConnectionProvider
#3232 - Add optional <type/> configuration to <customType/> in order to specify
different converters for the same Java type
@ -124,13 +225,13 @@ Features and improvements
#3316 - Add RecordContext.recordType() to allow for introspecting record types
when implementing RecordListeners
#3321 - Add support for Oracle's (+) JOIN syntax
#3322 - Add UpdatableRecord.store(Field<?>...), insert(Field<?>...),
update(Field<?>...)
#3322 - Add UpdatableRecord.store(Field<?>...), insert(Field<?>...),
update(Field<?>...)
API changes (backwards-compatible)
----------------------------------
#3126 - Deprecate generated ArrayRecord constructors that take a Configuration
argument
argument
#3127 - Deprecate ArrayRecord.set(Array)
#3128 - Change ArrayRecord.setList(List<? extends E>) into
ArrayRecord.set(Collection<? extends E>)
@ -150,12 +251,12 @@ Behavioural changes (backwards-incompatible)
Bug fixes
---------
#2335 - SQL syntax error when projecting two columns of the same name along with
a LIMIT clause in Oracle
a LIMIT clause in Oracle
#2700 - DAO.insert() and other DAO operations do not respect DEFAULT values
#2973 - Field.in(Collection) should accept wildcard instead of T
#3011 - Routines do not propagate errors raised from T-SQL with sqljdbc_4.0
#3018 - Add <outputSchemaToDefault/> to support "default schemas" during code
generation
generation
#3055 - Add missing MariaDB and MS Access support to the manual
#3057 - Wrong paths in maven-install.sh and maven-install.bat
#3060 - Conversion fails for Oracle VARRAY / TABLE types, nested in UDTs
@ -166,7 +267,7 @@ Bug fixes
with nullable composite primary keys
#3101 - MutablePOJOMapper doesn't work with annotated boolean getters
#3108 - Local Fields' Converters should be preferred over globally registered
Converters
Converters
#3117 - jOOQ illegally generates covariant setters on UDTRecords and UDT Pojos
when <pojos/> and <interfaces/> are activated
#3119 - Upgrade to JUnit 4.11 and omit using deprecated junit.framework.Assert
@ -176,26 +277,26 @@ Bug fixes
#3131 - Query.getBindValues() should not return inlined bind values
#3133 - Code generation marks all PostgreSQL Fields as having a default value
#3143 - Bad Javadoc in the org.jooq.tools.json package: JSON tools are not
"JSONAware"
"JSONAware"
#3147 - Field.sortAsc() and sortDesc() should generate inlined values for sort
indirection
#3155 - Improve documentation of <forcedType>'s <types/> element
#3156 - "Column ambiguously defined" when emulating derived column lists with
duplicate column names
duplicate column names
#3159 - Replace BoneCP with Apache DBCP in examples and manual
#3161 - Bad XSD version number referenced from jOOQ 3.3 manual
#3162 - NullPointerException when referencing window name that was not declared
#3164 - Missing formatting when rendering formatted MERGE statement's SET clause
#3168 - Bad download link in documentation
#3168 - Bad download link in documentation
#3176 - Don't generate "assignment-constructors" for POJOs and Records with more
than 255 columns
than 255 columns
#3179 - PDF manual's white-on-black code sections are hard to read with Kindle
#3183 - Add some clarification to the manual's section about the H2 MERGE
statement
#3186 - Bad SQL rendered for FOR UPDATE clause in Firebird
#3187 - Manual section about Groovy has a couple of Scala references in them
#3191 - ResultQuery.keepStatement(true) doesn't work correctly with
DataSourceConnectionProvider
DataSourceConnectionProvider
#3194 - Avoid using deprecated Maven mojo descriptor @parameter
expression="${property}"
#3195 - IN predicate with subquery cannot have LIMIT .. OFFSET clause in Oracle
@ -225,11 +326,11 @@ Bug fixes
identifiers contain question marks
#3300 - UpdatableRecord.store() executes INSERT instead of UPDATE when nullable
primary keys are NULL, and the updatablePrimaryKeys setting is active
#3309 - Don't use "deploy" as Maven <defaultGoal/>
#3309 - Don't use "deploy" as Maven <defaultGoal/>
#3328 - Re-create old DefaultConfiguration constructors for backwards-
compatibility
#3333 - maven-compiler-plugin configuration in jooq-parent pom file uses the
deprecated compilerArguments parameter
deprecated compilerArguments parameter
#3342 - Cannot INSERT into tables with Firebird BLOB types
Version 3.3.0 - February 14, 2014