From 8dbff7fc0b0016156e4827bb5e4a40c208aa7e69 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Fri, 15 Aug 2014 13:55:52 +0200 Subject: [PATCH] Release 3.5.0-SNAPSHOT --- .../release/template/RELEASENOTES.txt | 141 +++++++++++++++--- 1 file changed, 121 insertions(+), 20 deletions(-) diff --git a/jOOQ-release/release/template/RELEASENOTES.txt b/jOOQ-release/release/template/RELEASENOTES.txt index 67c1b39c24..bcf14592fb 100644 --- a/jOOQ-release/release/template/RELEASENOTES.txt +++ b/jOOQ-release/release/template/RELEASENOTES.txt @@ -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 Result> Result.into(Field, Field, .., Field) 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) 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 +#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.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) as a convenience for DSL.not(Condition) - and condition(Field) + and condition(Field) #3204 - Clarify what "fully qualified" means in the context of and in the code generator configuration #3205 - Add DSL.condition(Boolean) as a convenience for condition(Field) -#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 configuration to 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) into ArrayRecord.set(Collection) @@ -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 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 and 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 's 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 +#3309 - Don't use "deploy" as Maven #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