Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 38978200BF3 for ; Thu, 5 Jan 2017 12:33:50 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 37131160B27; Thu, 5 Jan 2017 11:33:50 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id ACA7E160B26 for ; Thu, 5 Jan 2017 12:33:48 +0100 (CET) Received: (qmail 71740 invoked by uid 500); 5 Jan 2017 11:33:47 -0000 Mailing-List: contact commits-help@empire-db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: empire-db-dev@empire-db.apache.org Delivered-To: mailing list commits@empire-db.apache.org Received: (qmail 71729 invoked by uid 99); 5 Jan 2017 11:33:47 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 05 Jan 2017 11:33:47 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id AB927DF9E6; Thu, 5 Jan 2017 11:33:47 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: doebele@apache.org To: commits@empire-db.apache.org Message-Id: <000ce1d246c64ae18a44961ddbc09c44@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: empire-db git commit: changelog for upcoming release 2-4-6 Date: Thu, 5 Jan 2017 11:33:47 +0000 (UTC) archived-at: Thu, 05 Jan 2017 11:33:50 -0000 Repository: empire-db Updated Branches: refs/heads/master 1300f5c0e -> cfacfcdfa changelog for upcoming release 2-4-6 Project: http://git-wip-us.apache.org/repos/asf/empire-db/repo Commit: http://git-wip-us.apache.org/repos/asf/empire-db/commit/cfacfcdf Tree: http://git-wip-us.apache.org/repos/asf/empire-db/tree/cfacfcdf Diff: http://git-wip-us.apache.org/repos/asf/empire-db/diff/cfacfcdf Branch: refs/heads/master Commit: cfacfcdfadd8cdcde7bff339a60fb731d591ed6b Parents: 1300f5c Author: Rainer Döbele Authored: Thu Jan 5 12:33:43 2017 +0100 Committer: Rainer Döbele Committed: Thu Jan 5 12:33:43 2017 +0100 ---------------------------------------------------------------------- CHANGELOG.txt | 657 +++++++++++++++++++++++++++-------------------------- 1 file changed, 330 insertions(+), 327 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/empire-db/blob/cfacfcdf/CHANGELOG.txt ---------------------------------------------------------------------- diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 2072f6b..ebb1a9f 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,327 +1,330 @@ -Apache Empire-db -Copyright 2008-2014 The Apache Software Foundation - -For more Information about a particular issue please visit -https://issues.apache.org/jira/browse/EMPIREDB - --------------- -Release 2.4.5: --------------- - -** Improvement - EMPIREDB-245 Add Support for DELETE with JOIN for MySQL - EMPIREDB-243 Add Eclipse m2e plugin lifecycle mapping - EMPIREDB-242 Explicitly declare cross joins - EMPIREDB-238 Miscellaneous small improvements - EMPIREDB-237 Add support for the modulo function in SQL generation - EMPIREDB-235 Improve Empire-JSF-Extensions for JSF 2.2 - EMPIREDB-233 Remove MSSQL DateFormat dependency - EMPIREDB-232 Support InputControls to work correctly in MyFaces and inside UIData components - EMPIREDB-231 Improve CheckboxInputControl - EMPIREDB-229 Code cleanup and adjustment of maven project settings - EMPIREDB-228 Allow access to TagEncodingHelper in derived classes - EMPIREDB-227 Spring Integration including example - -** Bugfix - EMPIREDB-248 date functions not properly handled in PostgreSQL - EMPIREDB-246 Label Required Mark check inconsistent - EMPIREDB-241 Error in lower() implementation for PostgreSQL - EMPIREDB-240 Update Spring dependencies in examples - EMPIREDB-239 Enum-handling: take name or ordinal as field value - EMPIREDB-236 Subquery join with DBQuery produces invalid join - EMPIREDB-230 MSSQL DDL generates incorrect data type for BLOB with nonzero length - EMPIREDB-226 Empire generates incorrect SQL when DBCommand's where list is empty - --------------- -Release 2.4.4: --------------- -** Improvement - EMPIREDB-221 Allow batch execution through JDBC executeBatch - EMPIREDB-220 Allow override of fraction digits on JSF input tag - EMPIREDB-219 Added source code for Eclipse-Code-Generation-Plugin - EMPIREDB-217 Consistency check for data model definition vs deployed data model - -** Bugfix - EMPIREDB-223 join function in DBCommand requires a DBColumn instead of a DBColumnExpr - EMPIREDB-218 Missing reserved keywords in DBDatabaseDriverMySQL - EMPIREDB-216 Reserved words as column names not correctly escaped/quoted for derby - EMPIREDB-215 Sequence generation and use for HSql to not agree in using toUpperCase - EMPIREDB-214 SQLServer - wrong 'alterColumnPhrase' - EMPIREDB-212 MySQL Nested Union bad syntax - EMPIREDB-210 Wrong Java Type in Records for BLOB Columns - EMPIREDB-209 Using a reserved word as a column alias in a select statement. - EMPIREDB-208 Decimal fields don't support scales above 9 - EMPIREDB-125 Problem with the location of velocity templates on the code generator - --------------- -Release 2.4.3: --------------- -** Improvement - EMPIREDB-127 Switch to Apache Maven 3.0.x - -** Bugfix - EMPIREDB-206 ExpireException may throw an ArrayOutOfBoundsException - EMPIREDB-205 DBColumn implements equals() but not hashcode() - EMPIREDB-204 PostgreSQL not supports size parameter on BYTEA - EMPIREDB-202 BeanListPageElement does not navigate back to page 0. - EMPIREDB-201 BeanListPageElement.getItemQueryCmd does not clear limit and skip rows - EMPIREDB-194 DBSQLScript: allow to insert statements - --------------- -Release 2.4.2: --------------- -** Improvement - EMPIREDB-192 Implement limitRows and skipRows for Oracle - EMPIREDB-190 Improve DDL Syntax by allowing variable parameters for primary key and relations - EMPIREDB-188 Allow replacement of statements in a DBScript - EMPIREDB-183 Allow enabling / disabling foreign key constraints - EMPIREDB-180 Strip Mojarra dependency from JSF2 extensions and show use of MyFaces in example - EMPIREDB-178 Improve JSF example, add business logic for retired state - EMPIREDB-173 Switch to ASF Parent 13 POM - EMPIREDB-170 extend DBDatabase.querySingleValue to utilize DataType - -** Bugfix - EMPIREDB-193 DBRowSet has an equals() implementation but no hashCode() implementation. - EMPIREDB-191 The spring example does not release connections. - EMPIREDB-189 DBDatabase.getSingleInt with default does not return the default but throws an exception. - EMPIREDB-185 MenuListTag not working in MyFaces - EMPIREDB-182 Wrong datatype for uniqueid in SQLServer - EMPIREDB-181 Do not check for item count in ListPageElement.isValid() - EMPIREDB-179 String to date conversion: use SimpleDateFormatter - EMPIREDB-177 Allow date entry in JSF-inputText - EMPIREDB-175 rename misleading method name that falsely suggests a redirect - EMPIREDB-171 ObjectUtils.compareEquals fails on BigDecimal - --------------- -Release 2.4.1: --------------- -** Improvement - * [EMPIREDB-169] - Allow access to page properties in resource requests via EL. - * [EMPIREDB-168] - Extend JSF2 Input Controls by adding missing attributes and improve input value parsing and validation. - * [EMPIREDB-167] - Review DBRecord state handling. Changed state from int constants to state enum. Improved method overrides - * [EMPIREDB-165] - JSF2: detect model changes for record bound input controls - * [EMPIREDB-164] - Check Numeric values when encoding sql commands. New method DBDatabaseDriver.getSQLNumberString() - * [EMPIREDB-163] - New function Record.isFieldRequired() to determine whether a field is required or not - * [EMPIREDB-162] - JSF2: Support partial submits for Input control validation. Overridable method FacesApplication.isPartialSubmit() - * [EMPIREDB-161] - JSF2: Format and parse Input Values with according to the users locale - * [EMPIREDB-160] - JSF2: Preserve submitted form values when validation error occurs - * [EMPIREDB-158] - Avoid accidentally missing command parameter values when using DBDatabase.executeSQL. New executeInsert, executeUpdate and executeDelete on DBDatabase. - * [EMPIREDB-157] - Miscellaneous small improvements such as new overloads and improved JavaDoc - -** Bugfix - * [EMPIREDB-171] - ObjectUtils.compareEquals returns false for BigDecimals with equal value but different scale - * [EMPIREDB-166] - Overwriting set expressions does not remove prepared statement parameter - * [EMPIREDB-154] - component failed inside a datatable - * [EMPIREDB-153] - DBDatabaseDriverPostgreSQL.createReverseFunction throws syntax error exception - --------------- -Release 2.4.0: --------------- -** New Feature - * [EMPIREDB-140] - New Empire-db JSF extensions project (empire-db-jsf2) allows simplified web development with JFS 2.x implementations. An example project is also provided. - -** Improvement - * [EMPIREDB-149] - Simplified access to foreign key relations (see DBTable.getForeignKeyRelations()) - * [EMPIREDB-145] - Allow using DBQuery with UNION and INTERSECT commands - * [EMPIREDB-144] - Allow generation of update commands with join expressions - * [EMPIREDB-143] - Provide access to native error message for SQL exceptions - * [EMPIREDB-142] - Allow compare expressions to be wrapped with parenthesis - * [EMPIREDB-141] - Miscellaneous small improvements - * [EMPIREDB-138] - Optimized serialization by making database and rowset references transient - -** Bugfix - * [EMPIREDB-151] - DBDatabaseDriverHSQL fails on selection of NEXT VALUE - * [EMPIREDB-150] - component failed to parse/resolve the "for" attribute - * [EMPIREDB-146] - Blob data type is not working with postgresql under v2.3 - * [EMPIREDB-147] - BLOB datatype under empire 2.3.1-SNAPSHOT - --------------- -Release 2.3.0: --------------- -** New Feature - * [EMPIREDB-79] - Allow specification of delete action for each DBRelation (ON DELETE CASCADE) - -** Improvement - * [EMPIREDB-137] - Extend Record and Column interfaces by Record.isReadOnly() and Column.validate() methods - * [EMPIREDB-133] - Simplify use of DBCommand:DBCommandParam class - * [EMPIREDB-129] - Allow expression based indexes - * [EMPIREDB-126] - Various small improvements, like new method overloads, code and javadoc cleanup, etc. - * [EMPIREDB-123] - Allow to specify the character column length in bytes (Non-Unicode) or chars (Unicode) for DDL generation - -** Bugfix - * [EMPIREDB-136] - DBCommand.clone() modified to produce an independent clone of the original command. - * [EMPIREDB-135] - Suppress column alias inside concatenations - * [EMPIREDB-132] - Fix support for CLOB data type in Postgre SQL - * [EMPIREDB-130] - Prepared Statements: Convert Enums to String to avoid SQLException - * [EMPIREDB-128] - Velocity Template Table.vm does not handle tables without primary keys - * [EMPIREDB-124] - Added missing Serializable on class commons.Options and commons.OptionEntry - * [EMPIREDB-122] - Fixed support for Update/ Insert of Chinese characters with non-prepared statements - * [EMPIREDB-121] - Fixed lower case expression for SQL-Server (lower instead of lcase) - * [EMPIREDB-120] - Fixed FieldIllegalValueException for DataType.DATETIME and DataType.DATE if the value is empty (but DBTableColumn is nullable) - --------------- -Release 2.2.0: --------------- -** New Feature - * [EMPIREDB-110] - Add support for reverse-engineering of foreign-key relationships - -** Improvement - * [EMPIREDB-99] - Remove optional support for old style error handing - * [EMPIREDB-103] - reduce getDDLScript duplicate code - * [EMPIREDB-115] - Add parenthesis to the first select of a union/ intersect and allow driver to implement limit() and skip() - * [EMPIREDB-116] - Add support for multi column foreign-keys to code generator - * [EMPIREDB-117] - Allow Table, View and Column prefixes in generation process - -** Bugfix - * [EMPIREDB-104] - Create DDL Script on MSSQL should state not CREATE DATABASE if already exist - * [EMPIREDB-105] - Support of long integer fields on MS SQL Server - * [EMPIREDB-107] - Limit function for postgres sql not implemented - * [EMPIREDB-109] - Missing conversion for Type double in ObjectUtils.convert - * [EMPIREDB-113] - Should preserve the decimal digits of DECIMAL columns - * [EMPIREDB-118] - Prevent columns to be added twice to a table or view - - -The following older issues are categorized as follows: -[{C=Core}|{S=Struts Extensions}|{E=Examples}|{O=Other} -/{N=New Feature}|{B=Bug fix}|{I=Improvement}] - --------------- -Release 2.1.0: --------------- -Major new features: -- New and improved utilization of prepared statements which can be enabled / disabled by database property. -- Use of SLF4J instead of log4j -EMPIREDB-101- [C/I]: Create DDL Script on MySQL should state CREATE DATABASE IF NOT EXISTS -EMPIREDB-100- [C/I]: Support of long integer fields for H2, Derby and MySQL -EMPIREDB-97 - [C/I]: Added serialization to Empire-DB objects -EMPIREDB-95 - [C/I]: Code optimizations/cleanup and javadoc improvements -EMPIREDB-94 - [C/B]: Added Postgre and Derby bigint support -EMPIREDB-93 - [C/B]: DBRowSet.updateRecord log output does not report column name properly -EMPIREDB-92 - [C/I]: Switch to Apache Parent pom version 8 -EMPIREDB-91 - [C/I]: Increase and optimize the use of prepared statements -EMPIREDB-81 - [C/B]: Endless loop in DBSeqTable#getNextValue() fixed -EMPIREDB-77 - [C/I]: Removed the Log4J compile-time dependency by switching to slf4j (same also EMPIREDB-38) -EMPIREDB-38 - [C/I]: Switched from log4j to slf4j - --------------- -Release 2.0.7: --------------- -Major new features: -- Switched to latest struts version and added portlet support to struts2 extensions -- Support for limiting the number of rows returned by a query. -EMPIREDB-90 - [C/B]: The "createRecordProperties" switch in the codegenerator's configuration works not properly. -EMPIREDB-89 - [S/I]: Update Empire-Struts-Extensions to Struts 2.2.1 and provide Portlet Support -EMPIREDB-88 - [C/B]: CodeGenerator generates uppercase fieldnames where empire code expects lowercase names -EMPIREDB-87 - [C/I]: Use EXTRACT() function to extract the day, month or year from a date column in Oracle -EMPIREDB-86 - [C/B]: Correct some typos in the javadocs -EMPIREDB-85 - [C/I]: Remove declarations of unused dependencies (from pom.xml) -EMPIREDB-84 - [C/B]: Typo in section "Empire-db and Struts2 � Forms and controls" -EMPIREDB-82 - [C/B]: Cloning does not work if DBTable's column (DBColumn) are declared final (as per shipped examples). Causing table alias in resulting SQL queries to be wrong -EMPIREDB-62 - [C/N]: Allow to set limit for maximum number of rows returned -EMPIREDB-60 - [C/B]: Cloning of columns is restricted to current class - --------------- -Release 2.0.6: --------------- -Major new features: -- Code-Generator allows generation of Data Model code files for existing databases -- Maven plugin for DB-Code-Generator -- New example to demonstrate interoperability between Empire-db and Spring -- Provided jars are now OSGi compatible - -Issues resolved: -EMPIREDB-76 - [C/B]: Erroneous translation of DataType.DOUBLE for postgres -EMPIREDB-73 - [C/N]: Spring interoperability example provided by Eike Kettner -EMPIREDB-72 - [C/I]: Change various private modifiers to protected to allow overrides -EMPIREDB-71 - [C/I]: New enumeration DataMode for column classification as a replacement for the required flag -EMPIREDB-70 - [C/B]: Corrected MySQL indentifier quote -EMPIREDB-67 - [C/I]: Allow selection of (Mysql) Database Engine -EMPIREDB-64 - [C/N]: CodeGenerator Maven Plugin -EMPIREDB-63 - [C/I]: Provide overloads for DBDatabase.queryObjectList() and querySimpleList() to allow using other collection types. -EMPIREDB-59 - [C/B]: HSQL double has hard-coded illegal precision (FLOAT(80)) for HSQL 1.8 -EMPIREDB-57 - [C/B]: HSQLDB driver fails to retrieve next sequence value for lower case sequence name -EMPIREDB-56 - [C/B]: getValue Function on DBReader does not fail on errors. -EMPIREDB-52 - [C/N]: CodeGenerator module for generating database definition code files from existing databases -EMPIREDB-35 - [C/I]: Make sure our jars are OSGi compatible - --------------- -Release 2.0.5: --------------- -Major new features: -- Maven project management -- New database handlers for Apache Derby, H2, PostgreSQL -- New Examples showing WebService integration using Apache CXF -- Empire-DB Struts2-Extensions' dependencies updated from Struts 2.0.11 to Struts 2.1.6 - -Issues resolved: -EMPIREDB-49 - [C/B]: The generation of table, view and query aliases now uses thread-safe counters -EMPIREDB-46 - [C/B]: datetime-phrase issue in DBDatabaseDriverDerby -EMPIREDB-45 - [S/I]: Update struts extensions to accomodate latest struts release -EMPIREDB-44 - [C/B]: error using apache derby and CLOB datatype -EMPIREDB-42 - [C/I]: Extend DBReader to provide query results in a hash set -EMPIREDB-41 - [C/I]: Deal with databases differences regarding SQL reverse function -EMPIREDB-40 - [C/B]: Postgresql cast problem -EMPIREDB-37 - [C/N]: PostgreSQL "BLOB" type not exist but is possible to create a "bytea" column -EMPIREDB-36 - [E/N]: New WebServices integration example using Apache CXF -EMPIREDB-34 - [C/I]: Add support for stmt.executeUpdate with Statement.RETURN_GENERATED_KEYS instead of getPostInsertAutoIncValue() -EMPIREDB-33 - [S/B]: BeanRecordProxy isFieldReadOnly wrong for new records -EMPIREDB-32 - [C/N]: Unit tests -EMPIREDB-31 - [E/B]: Advanced sample throws SQLException (wrong db user) -EMPIREDB-30 - [C/N]: Support for PostgeSQL -EMPIREDB-29 - [O/N]: Switch to Maven project management -EMPIREDB-28 - [E/B]: SampleConfig in the demo application has invalid user -EMPIREDB-27 - [C/B]: HSQLDB driver doesn't support conversion of value to DOUBLE -EMPIREDB-26 - [S/I]: Extend HTMLTagDictionary to allow default cssClass for all input types -EMPIREDB-25 - [C/I]: Implement getAttribute and setAttribute on BeanProperty class -EMPIREDB-24 - [S/I]: Allow textarea to handle keypress and keyup events in order to check the maximum length of input -EMPIREDB-23 - [C/B]: Maximum size is not passed to error message handler for DBErrors.FieldValueTooLong in DBTableColumn::checkValue -EMPIREDB-22 - [C/B]: deleteReferenceRecords() does not sort the depending records by id -EMPIREDB-21 - [S/I]: Allow empty record item parameter: The function getRecordKeyFromString should return null if the item string consists of the new item flag only. -EMPIREDB-20 - [C/B]: Convert to char doesn't work for hsqldb -EMPIREDB-19 - [S/B]: The form tag's "target" attribute is not rendered in HTML code -EMPIREDB-18 - [C/B]: DBRecord.setModified(column, isModified) doesn't set the record state back from modified to valid -EMPIREDB-17 - [S/B]: Checked attribute does not work on radio button tag. -EMPIREDB-16 - [S/I]: Tag library definition does not allow java expressions for the cssClass attribute -EMPIREDB-15 - [C/B]: Record fields are not cleared properly by createRecord. -EMPIREDB-14 - [S/I]: Allow javascript code on anchors - --------------- -Release 2.0.4: --------------- -EMPIREDB-13 - [S/I]: Add column attribute to radioButtonTag and onClick attribute to menuItemTag -EMPIREDB-12 - [S/I]: Allow reloading of current record from the session -EMPIREDB-11 - [S/I]: WebAction.clearActionErrors does not remove Error from the session -EMPIREDB-10 - [S/I]: Allow setting of record property name with control tag -EMPIREDB-09 - [O/I]: Move build.xml from src directory to root directory. Change distribution scripts to meet apache incubator requirements. -EMPIREDB-08 - [C/I]: Restrict access to DatabaseDriver object for all subclasses of DBColumnExpr to the addSQL function. -EMPIREDB-07 - [C/I]: Add support for CASE WHEN expression with new class DBCaseExpr.java -EMPIREDB-06 - [C/I]: Support for quoting of table, view and column names added. - --------------- -Release 2.0.3: --------------- -EMPIREDB-5 - Added missing ASF headers. See JIRA for further information. -EMPIREDB-4 - Fixed several DBDatabaseDriverHSql bugs. See JIRA for further information. -EMPIREDB-3 - Added "useQuotes" property to DBColumn. -PRE-114: - All package names changed to org.apache.empire. - --------------- -Release 2.0.2: --------------- -PRE-113: - NEW FEATURE: class BeanRecordProxy implements the Record interface of any given JavaBean object. -PRE-112: - NEW FEATURE: classes BeanDomain, BeanClass and BeanProperty allow metadata defition for JavaBean objects using the Column interface. -PRE-111: - DBDatabaseDriverOracle: new implementation for checkDatabase -PRE-110: - Method getSourceColumn added for data.Column -PRE-109: - DBRecordData: Type conversion moved to ObjectUtils -PRE-108: - NEW FEATURE: createView implemented for all Database Drivers -PRE-107: - DBView: canUpdateReocrds = Flag for updateable and non-updateable Views; - --------------- -Release 2.0.1: --------------- -PRE-106: - NEW FEATURE: DBDatabaseDriverMySQL: Driver for MySQL 5 added. -PRE-105: - NEW FEATURE: DBColumnExpr: Added Support for REVERSE() and INSTR() SQL Functions -PRE-104: - BUGFIX: DBRecord::getFieldValue(): Field Access to invalid DBRecord returned Boolean FALSE instead of null. -PRE-103: - DBDatabaseDriver: Function isSupported() and getPostInsertAutoIncValue() added -PRE-102: - DBColumnExpr: Substring function now excepts column expressions -PRE-101: - DBSQLScript: New class to replace StringBuilder for DDL Script generation. See also DBDatabase::getCreateDDLScript() +Apache Empire-db +Copyright 2008-2017 The Apache Software Foundation + +For more Information about a particular issue please visit +https://issues.apache.org/jira/browse/EMPIREDB + +-------------- +Release 2.4.6: +-------------- + +** Improvement + EMPIREDB-252 Add Support for database specific CodeGenParser + EMPIREDB-251 Add Support for TINYINT, MEDIUMINT Integer Types for MySQL + EMPIREDB-249 Add "format" Support to MySQL convert expression + EMPIREDB-245 Add Support for DELETE with JOIN for MySQL + EMPIREDB-243 Add Eclipse m2e plugin lifecycle mapping + EMPIREDB-242 Explicitly declare cross joins + EMPIREDB-238 Miscellaneous small improvements + EMPIREDB-237 Add support for the modulo function in SQL generation + EMPIREDB-235 Improve Empire-JSF-Extensions for JSF 2.2 + EMPIREDB-233 Remove MSSQL DateFormat dependency + EMPIREDB-232 Support InputControls to work correctly in MyFaces and inside UIData components + EMPIREDB-231 Improve CheckboxInputControl + EMPIREDB-229 Code cleanup and adjustment of maven project settings + EMPIREDB-228 Allow access to TagEncodingHelper in derived classes + EMPIREDB-227 Spring Integration including example + +** Bugfix + EMPIREDB-248 date functions not properly handled in PostgreSQL + EMPIREDB-246 Label Required Mark check inconsistent + EMPIREDB-241 Error in lower() implementation for PostgreSQL + EMPIREDB-240 Update Spring dependencies in examples + EMPIREDB-239 Enum-handling: take name or ordinal as field value + EMPIREDB-236 Subquery join with DBQuery produces invalid join + EMPIREDB-230 MSSQL DDL generates incorrect data type for BLOB with nonzero length + EMPIREDB-226 Empire generates incorrect SQL when DBCommand's where list is empty + +-------------- +Release 2.4.4: +-------------- +** Improvement + EMPIREDB-221 Allow batch execution through JDBC executeBatch + EMPIREDB-220 Allow override of fraction digits on JSF input tag + EMPIREDB-219 Added source code for Eclipse-Code-Generation-Plugin + EMPIREDB-217 Consistency check for data model definition vs deployed data model + +** Bugfix + EMPIREDB-223 join function in DBCommand requires a DBColumn instead of a DBColumnExpr + EMPIREDB-218 Missing reserved keywords in DBDatabaseDriverMySQL + EMPIREDB-216 Reserved words as column names not correctly escaped/quoted for derby + EMPIREDB-215 Sequence generation and use for HSql to not agree in using toUpperCase + EMPIREDB-214 SQLServer - wrong 'alterColumnPhrase' + EMPIREDB-212 MySQL Nested Union bad syntax + EMPIREDB-210 Wrong Java Type in Records for BLOB Columns + EMPIREDB-209 Using a reserved word as a column alias in a select statement. + EMPIREDB-208 Decimal fields don't support scales above 9 + EMPIREDB-125 Problem with the location of velocity templates on the code generator + +-------------- +Release 2.4.3: +-------------- +** Improvement + EMPIREDB-127 Switch to Apache Maven 3.0.x + +** Bugfix + EMPIREDB-206 ExpireException may throw an ArrayOutOfBoundsException + EMPIREDB-205 DBColumn implements equals() but not hashcode() + EMPIREDB-204 PostgreSQL not supports size parameter on BYTEA + EMPIREDB-202 BeanListPageElement does not navigate back to page 0. + EMPIREDB-201 BeanListPageElement.getItemQueryCmd does not clear limit and skip rows + EMPIREDB-194 DBSQLScript: allow to insert statements + +-------------- +Release 2.4.2: +-------------- +** Improvement + EMPIREDB-192 Implement limitRows and skipRows for Oracle + EMPIREDB-190 Improve DDL Syntax by allowing variable parameters for primary key and relations + EMPIREDB-188 Allow replacement of statements in a DBScript + EMPIREDB-183 Allow enabling / disabling foreign key constraints + EMPIREDB-180 Strip Mojarra dependency from JSF2 extensions and show use of MyFaces in example + EMPIREDB-178 Improve JSF example, add business logic for retired state + EMPIREDB-173 Switch to ASF Parent 13 POM + EMPIREDB-170 extend DBDatabase.querySingleValue to utilize DataType + +** Bugfix + EMPIREDB-193 DBRowSet has an equals() implementation but no hashCode() implementation. + EMPIREDB-191 The spring example does not release connections. + EMPIREDB-189 DBDatabase.getSingleInt with default does not return the default but throws an exception. + EMPIREDB-185 MenuListTag not working in MyFaces + EMPIREDB-182 Wrong datatype for uniqueid in SQLServer + EMPIREDB-181 Do not check for item count in ListPageElement.isValid() + EMPIREDB-179 String to date conversion: use SimpleDateFormatter + EMPIREDB-177 Allow date entry in JSF-inputText + EMPIREDB-175 rename misleading method name that falsely suggests a redirect + EMPIREDB-171 ObjectUtils.compareEquals fails on BigDecimal + +-------------- +Release 2.4.1: +-------------- +** Improvement + * [EMPIREDB-169] - Allow access to page properties in resource requests via EL. + * [EMPIREDB-168] - Extend JSF2 Input Controls by adding missing attributes and improve input value parsing and validation. + * [EMPIREDB-167] - Review DBRecord state handling. Changed state from int constants to state enum. Improved method overrides + * [EMPIREDB-165] - JSF2: detect model changes for record bound input controls + * [EMPIREDB-164] - Check Numeric values when encoding sql commands. New method DBDatabaseDriver.getSQLNumberString() + * [EMPIREDB-163] - New function Record.isFieldRequired() to determine whether a field is required or not + * [EMPIREDB-162] - JSF2: Support partial submits for Input control validation. Overridable method FacesApplication.isPartialSubmit() + * [EMPIREDB-161] - JSF2: Format and parse Input Values with according to the users locale + * [EMPIREDB-160] - JSF2: Preserve submitted form values when validation error occurs + * [EMPIREDB-158] - Avoid accidentally missing command parameter values when using DBDatabase.executeSQL. New executeInsert, executeUpdate and executeDelete on DBDatabase. + * [EMPIREDB-157] - Miscellaneous small improvements such as new overloads and improved JavaDoc + +** Bugfix + * [EMPIREDB-171] - ObjectUtils.compareEquals returns false for BigDecimals with equal value but different scale + * [EMPIREDB-166] - Overwriting set expressions does not remove prepared statement parameter + * [EMPIREDB-154] - component failed inside a datatable + * [EMPIREDB-153] - DBDatabaseDriverPostgreSQL.createReverseFunction throws syntax error exception + +-------------- +Release 2.4.0: +-------------- +** New Feature + * [EMPIREDB-140] - New Empire-db JSF extensions project (empire-db-jsf2) allows simplified web development with JFS 2.x implementations. An example project is also provided. + +** Improvement + * [EMPIREDB-149] - Simplified access to foreign key relations (see DBTable.getForeignKeyRelations()) + * [EMPIREDB-145] - Allow using DBQuery with UNION and INTERSECT commands + * [EMPIREDB-144] - Allow generation of update commands with join expressions + * [EMPIREDB-143] - Provide access to native error message for SQL exceptions + * [EMPIREDB-142] - Allow compare expressions to be wrapped with parenthesis + * [EMPIREDB-141] - Miscellaneous small improvements + * [EMPIREDB-138] - Optimized serialization by making database and rowset references transient + +** Bugfix + * [EMPIREDB-151] - DBDatabaseDriverHSQL fails on selection of NEXT VALUE + * [EMPIREDB-150] - component failed to parse/resolve the "for" attribute + * [EMPIREDB-146] - Blob data type is not working with postgresql under v2.3 + * [EMPIREDB-147] - BLOB datatype under empire 2.3.1-SNAPSHOT + +-------------- +Release 2.3.0: +-------------- +** New Feature + * [EMPIREDB-79] - Allow specification of delete action for each DBRelation (ON DELETE CASCADE) + +** Improvement + * [EMPIREDB-137] - Extend Record and Column interfaces by Record.isReadOnly() and Column.validate() methods + * [EMPIREDB-133] - Simplify use of DBCommand:DBCommandParam class + * [EMPIREDB-129] - Allow expression based indexes + * [EMPIREDB-126] - Various small improvements, like new method overloads, code and javadoc cleanup, etc. + * [EMPIREDB-123] - Allow to specify the character column length in bytes (Non-Unicode) or chars (Unicode) for DDL generation + +** Bugfix + * [EMPIREDB-136] - DBCommand.clone() modified to produce an independent clone of the original command. + * [EMPIREDB-135] - Suppress column alias inside concatenations + * [EMPIREDB-132] - Fix support for CLOB data type in Postgre SQL + * [EMPIREDB-130] - Prepared Statements: Convert Enums to String to avoid SQLException + * [EMPIREDB-128] - Velocity Template Table.vm does not handle tables without primary keys + * [EMPIREDB-124] - Added missing Serializable on class commons.Options and commons.OptionEntry + * [EMPIREDB-122] - Fixed support for Update/ Insert of Chinese characters with non-prepared statements + * [EMPIREDB-121] - Fixed lower case expression for SQL-Server (lower instead of lcase) + * [EMPIREDB-120] - Fixed FieldIllegalValueException for DataType.DATETIME and DataType.DATE if the value is empty (but DBTableColumn is nullable) + +-------------- +Release 2.2.0: +-------------- +** New Feature + * [EMPIREDB-110] - Add support for reverse-engineering of foreign-key relationships + +** Improvement + * [EMPIREDB-99] - Remove optional support for old style error handing + * [EMPIREDB-103] - reduce getDDLScript duplicate code + * [EMPIREDB-115] - Add parenthesis to the first select of a union/ intersect and allow driver to implement limit() and skip() + * [EMPIREDB-116] - Add support for multi column foreign-keys to code generator + * [EMPIREDB-117] - Allow Table, View and Column prefixes in generation process + +** Bugfix + * [EMPIREDB-104] - Create DDL Script on MSSQL should state not CREATE DATABASE if already exist + * [EMPIREDB-105] - Support of long integer fields on MS SQL Server + * [EMPIREDB-107] - Limit function for postgres sql not implemented + * [EMPIREDB-109] - Missing conversion for Type double in ObjectUtils.convert + * [EMPIREDB-113] - Should preserve the decimal digits of DECIMAL columns + * [EMPIREDB-118] - Prevent columns to be added twice to a table or view + + +The following older issues are categorized as follows: +[{C=Core}|{S=Struts Extensions}|{E=Examples}|{O=Other} +/{N=New Feature}|{B=Bug fix}|{I=Improvement}] + +-------------- +Release 2.1.0: +-------------- +Major new features: +- New and improved utilization of prepared statements which can be enabled / disabled by database property. +- Use of SLF4J instead of log4j +EMPIREDB-101- [C/I]: Create DDL Script on MySQL should state CREATE DATABASE IF NOT EXISTS +EMPIREDB-100- [C/I]: Support of long integer fields for H2, Derby and MySQL +EMPIREDB-97 - [C/I]: Added serialization to Empire-DB objects +EMPIREDB-95 - [C/I]: Code optimizations/cleanup and javadoc improvements +EMPIREDB-94 - [C/B]: Added Postgre and Derby bigint support +EMPIREDB-93 - [C/B]: DBRowSet.updateRecord log output does not report column name properly +EMPIREDB-92 - [C/I]: Switch to Apache Parent pom version 8 +EMPIREDB-91 - [C/I]: Increase and optimize the use of prepared statements +EMPIREDB-81 - [C/B]: Endless loop in DBSeqTable#getNextValue() fixed +EMPIREDB-77 - [C/I]: Removed the Log4J compile-time dependency by switching to slf4j (same also EMPIREDB-38) +EMPIREDB-38 - [C/I]: Switched from log4j to slf4j + +-------------- +Release 2.0.7: +-------------- +Major new features: +- Switched to latest struts version and added portlet support to struts2 extensions +- Support for limiting the number of rows returned by a query. +EMPIREDB-90 - [C/B]: The "createRecordProperties" switch in the codegenerator's configuration works not properly. +EMPIREDB-89 - [S/I]: Update Empire-Struts-Extensions to Struts 2.2.1 and provide Portlet Support +EMPIREDB-88 - [C/B]: CodeGenerator generates uppercase fieldnames where empire code expects lowercase names +EMPIREDB-87 - [C/I]: Use EXTRACT() function to extract the day, month or year from a date column in Oracle +EMPIREDB-86 - [C/B]: Correct some typos in the javadocs +EMPIREDB-85 - [C/I]: Remove declarations of unused dependencies (from pom.xml) +EMPIREDB-84 - [C/B]: Typo in section "Empire-db and Struts2 � Forms and controls" +EMPIREDB-82 - [C/B]: Cloning does not work if DBTable's column (DBColumn) are declared final (as per shipped examples). Causing table alias in resulting SQL queries to be wrong +EMPIREDB-62 - [C/N]: Allow to set limit for maximum number of rows returned +EMPIREDB-60 - [C/B]: Cloning of columns is restricted to current class + +-------------- +Release 2.0.6: +-------------- +Major new features: +- Code-Generator allows generation of Data Model code files for existing databases +- Maven plugin for DB-Code-Generator +- New example to demonstrate interoperability between Empire-db and Spring +- Provided jars are now OSGi compatible + +Issues resolved: +EMPIREDB-76 - [C/B]: Erroneous translation of DataType.DOUBLE for postgres +EMPIREDB-73 - [C/N]: Spring interoperability example provided by Eike Kettner +EMPIREDB-72 - [C/I]: Change various private modifiers to protected to allow overrides +EMPIREDB-71 - [C/I]: New enumeration DataMode for column classification as a replacement for the required flag +EMPIREDB-70 - [C/B]: Corrected MySQL indentifier quote +EMPIREDB-67 - [C/I]: Allow selection of (Mysql) Database Engine +EMPIREDB-64 - [C/N]: CodeGenerator Maven Plugin +EMPIREDB-63 - [C/I]: Provide overloads for DBDatabase.queryObjectList() and querySimpleList() to allow using other collection types. +EMPIREDB-59 - [C/B]: HSQL double has hard-coded illegal precision (FLOAT(80)) for HSQL 1.8 +EMPIREDB-57 - [C/B]: HSQLDB driver fails to retrieve next sequence value for lower case sequence name +EMPIREDB-56 - [C/B]: getValue Function on DBReader does not fail on errors. +EMPIREDB-52 - [C/N]: CodeGenerator module for generating database definition code files from existing databases +EMPIREDB-35 - [C/I]: Make sure our jars are OSGi compatible + +-------------- +Release 2.0.5: +-------------- +Major new features: +- Maven project management +- New database handlers for Apache Derby, H2, PostgreSQL +- New Examples showing WebService integration using Apache CXF +- Empire-DB Struts2-Extensions' dependencies updated from Struts 2.0.11 to Struts 2.1.6 + +Issues resolved: +EMPIREDB-49 - [C/B]: The generation of table, view and query aliases now uses thread-safe counters +EMPIREDB-46 - [C/B]: datetime-phrase issue in DBDatabaseDriverDerby +EMPIREDB-45 - [S/I]: Update struts extensions to accomodate latest struts release +EMPIREDB-44 - [C/B]: error using apache derby and CLOB datatype +EMPIREDB-42 - [C/I]: Extend DBReader to provide query results in a hash set +EMPIREDB-41 - [C/I]: Deal with databases differences regarding SQL reverse function +EMPIREDB-40 - [C/B]: Postgresql cast problem +EMPIREDB-37 - [C/N]: PostgreSQL "BLOB" type not exist but is possible to create a "bytea" column +EMPIREDB-36 - [E/N]: New WebServices integration example using Apache CXF +EMPIREDB-34 - [C/I]: Add support for stmt.executeUpdate with Statement.RETURN_GENERATED_KEYS instead of getPostInsertAutoIncValue() +EMPIREDB-33 - [S/B]: BeanRecordProxy isFieldReadOnly wrong for new records +EMPIREDB-32 - [C/N]: Unit tests +EMPIREDB-31 - [E/B]: Advanced sample throws SQLException (wrong db user) +EMPIREDB-30 - [C/N]: Support for PostgeSQL +EMPIREDB-29 - [O/N]: Switch to Maven project management +EMPIREDB-28 - [E/B]: SampleConfig in the demo application has invalid user +EMPIREDB-27 - [C/B]: HSQLDB driver doesn't support conversion of value to DOUBLE +EMPIREDB-26 - [S/I]: Extend HTMLTagDictionary to allow default cssClass for all input types +EMPIREDB-25 - [C/I]: Implement getAttribute and setAttribute on BeanProperty class +EMPIREDB-24 - [S/I]: Allow textarea to handle keypress and keyup events in order to check the maximum length of input +EMPIREDB-23 - [C/B]: Maximum size is not passed to error message handler for DBErrors.FieldValueTooLong in DBTableColumn::checkValue +EMPIREDB-22 - [C/B]: deleteReferenceRecords() does not sort the depending records by id +EMPIREDB-21 - [S/I]: Allow empty record item parameter: The function getRecordKeyFromString should return null if the item string consists of the new item flag only. +EMPIREDB-20 - [C/B]: Convert to char doesn't work for hsqldb +EMPIREDB-19 - [S/B]: The form tag's "target" attribute is not rendered in HTML code +EMPIREDB-18 - [C/B]: DBRecord.setModified(column, isModified) doesn't set the record state back from modified to valid +EMPIREDB-17 - [S/B]: Checked attribute does not work on radio button tag. +EMPIREDB-16 - [S/I]: Tag library definition does not allow java expressions for the cssClass attribute +EMPIREDB-15 - [C/B]: Record fields are not cleared properly by createRecord. +EMPIREDB-14 - [S/I]: Allow javascript code on anchors + +-------------- +Release 2.0.4: +-------------- +EMPIREDB-13 - [S/I]: Add column attribute to radioButtonTag and onClick attribute to menuItemTag +EMPIREDB-12 - [S/I]: Allow reloading of current record from the session +EMPIREDB-11 - [S/I]: WebAction.clearActionErrors does not remove Error from the session +EMPIREDB-10 - [S/I]: Allow setting of record property name with control tag +EMPIREDB-09 - [O/I]: Move build.xml from src directory to root directory. Change distribution scripts to meet apache incubator requirements. +EMPIREDB-08 - [C/I]: Restrict access to DatabaseDriver object for all subclasses of DBColumnExpr to the addSQL function. +EMPIREDB-07 - [C/I]: Add support for CASE WHEN expression with new class DBCaseExpr.java +EMPIREDB-06 - [C/I]: Support for quoting of table, view and column names added. + +-------------- +Release 2.0.3: +-------------- +EMPIREDB-5 - Added missing ASF headers. See JIRA for further information. +EMPIREDB-4 - Fixed several DBDatabaseDriverHSql bugs. See JIRA for further information. +EMPIREDB-3 - Added "useQuotes" property to DBColumn. +PRE-114: - All package names changed to org.apache.empire. + +-------------- +Release 2.0.2: +-------------- +PRE-113: - NEW FEATURE: class BeanRecordProxy implements the Record interface of any given JavaBean object. +PRE-112: - NEW FEATURE: classes BeanDomain, BeanClass and BeanProperty allow metadata defition for JavaBean objects using the Column interface. +PRE-111: - DBDatabaseDriverOracle: new implementation for checkDatabase +PRE-110: - Method getSourceColumn added for data.Column +PRE-109: - DBRecordData: Type conversion moved to ObjectUtils +PRE-108: - NEW FEATURE: createView implemented for all Database Drivers +PRE-107: - DBView: canUpdateReocrds = Flag for updateable and non-updateable Views; + +-------------- +Release 2.0.1: +-------------- +PRE-106: - NEW FEATURE: DBDatabaseDriverMySQL: Driver for MySQL 5 added. +PRE-105: - NEW FEATURE: DBColumnExpr: Added Support for REVERSE() and INSTR() SQL Functions +PRE-104: - BUGFIX: DBRecord::getFieldValue(): Field Access to invalid DBRecord returned Boolean FALSE instead of null. +PRE-103: - DBDatabaseDriver: Function isSupported() and getPostInsertAutoIncValue() added +PRE-102: - DBColumnExpr: Substring function now excepts column expressions +PRE-101: - DBSQLScript: New class to replace StringBuilder for DDL Script generation. See also DBDatabase::getCreateDDLScript()