forked from apache/empire-db
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG.txt
330 lines (297 loc) · 19 KB
/
CHANGELOG.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
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] - <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()