| 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.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] - <e:input> 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] - <sample:formInputRow> 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<T> 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() |