-
Notifications
You must be signed in to change notification settings - Fork 23
/
Copy pathCHANGELOG.txt
546 lines (492 loc) · 31.4 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
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
Apache Empire-db
Copyright 2008-2024 The Apache Software Foundation
For more Information about a particular issue please visit
https://issues.apache.org/jira/browse/EMPIREDB
--------------
Release 3.2.0:
--------------
Summary: Release 3.2 has new features and improvements as well as several bugfixes
** Improvements / Features
EMPIREDB-428 JSF: Create Jakarta Faces Extension for Jakarta EE 9
EMPIREDB-427 JSF: JSF CSS replace DataType style with InputControl style
EMPIREDB-426 JSF: JSF Page and PageElements improvements
EMPIREDB-425 JSF: Provide EntityType for Column
EMPIREDB-424 JSF: Allow programmatic Faces Configuration
EMPIREDB-422 JSF: JSF Input Control Improvements
EMPIREDB-421 JSF: Remove abstract method getDBContext() on Page
EMPIREDB-420 Core: API Cleanup DBColumExpr getSourceColumn() vs getUpdateColumn()
EMPIREDB-419 Core: Extend XMLConfiguration allowing variables and Map properties
EMPIREDB-416 Core: Improved SQL Case expressions
EMPIREDB-410 Core: Various small improvments like new method overloads
EMPIREDB-408 Core: Update dependencies
** Bugfixes
EMPIREDB-429 Core: DBCommand findConstraintOn not considering all constraint types
EMPIREDB-423 Core: DBDataModelParser Primary Key column order fix
EMPIREDB-418 Core: Oracle DBMS Handler fix for Boolean type CHAR and MERGE into
EMPIREDB-414 Core: Unable to set time column values using LocalTime when Prepared Statements are disabled
EMPIREDB-412 Core: DBColumnJoinExpr should not reuse additional constraints property.
EMPIREDB-411 Core: DBCalcExpr should skip a column alias
EMPIREDB-409 Core: ClassUtils.copy() fails for classes with static fields
--------------
Release 3.1.0:
--------------
Summary: Release 3.1 has some new core and jsf features as well as several bugfixes
** Improvements
EMPIREDB-407 JSF: Add "nounit" format option for eValue eInput
EMPIREDB-406 JSF: Provide example CSS for formGrid with mode "grid"
EMPIREDB-405 JSF: Make application of StyleClasses for JSF-tags more transparent and configurable
EMPIREDB-404 JSF: Improve ControlTag rendering options
EMPIREDB-402 Core: Allow Join definition using on(...) syntax
EMPIREDB-401 Core: Improve DBModelChecker primary key check
EMPIREDB-398 Core: DBCommand: Omit parent tables in subquery FROM clause
EMPIREDB-397 Core: PostgreSQL: Add support for websearch_to_tsquery
EMPIREDB-395 JSF: Field validation: allow min/max range constraints to be non-integers
EMPIREDB-394 Core: Optimize SQL-generation
EMPIREDB-387 Core: Update Vue Example Dependencies
EMPIREDB-384 Core: Provide type conversion for DBCmdParam
** Bugfixes
EMPIREDB-403 Core: SampleApp fails with DBCommandHSql
EMPIREDB-400 Core: Oracle statement params missing for limitRows / skipRows in subqueries
EMPIREDB-399 Core: XMLWriter saveAsFile swallows Exception
EMPIREDB-396 Core: queryRowCount not working for parameterized aggregate queries
EMPIREDB-393 Core: Query params missing for subquery constraints
EMPIREDB-392 JSF: e:input inside ui:repeat does not work
EMPIREDB-391 Core: DBCommand.clone does not copy join params
EMPIREDB-390 Core: DBCommand.join ignore null as addlConstraint params
EMPIREDB-385 Core: Change DBRecord.read param from long to object
--------------
Release 3.0.0:
--------------
Summary: Release 3.0 features a complete API rework hence introduces breaking changes from the previous 2.x branch.
** Improvement
EMPIREDB-382 Core: Provide easy access to native DBMS functions
EMPIREDB-381 Core: Improve PostgreSQL Handler / Add Postgres specific functions
EMPIREDB-380 Core: Reintegrate spring-boot example for version 3
EMPIREDB-378 Core: PostgeSQL: SQL Pattern for TIMESTAMP Columns
EMPIREDB-374 Core: replace log4jv1 usage - EOL and with multiple security vulnerabilities
EMPIREDB-373 Core: Improve Automatic prepared statements with DBCommand
EMPIREDB-372 Core: Allow method chaining by returning this on some DBCommand and DBRecord methods
EMPIREDB-371 Core: Deferred identiy setting for DBRecord
EMPIREDB-370 Core: Allow alternative DBRecord implementations
EMPIREDB-369 Core: Improve typesafety by using generics
EMPIREDB-368 Core: New queryBean functions and Bean Rowset mapping
EMPIREDB-367 Core: New query type DataList as bean replacement
EMPIREDB-366 Core: Remove Serializable from DBObject
EMPIREDB-365 Core: Add support for Java 8 time api
EMPIREDB-364 Core: Handle rollback on DBRecord to restore state
EMPIREDB-363 Core: New DBContext as replacement for Connection param
EMPIREDB-362 Core: Version 3 Complete API Rework
** Bugfix / Other
EMPIREDB-375 Struts: Removed support for Struts2 and all its modules due to outdated Struts version
EMPIREDB-376 Core: Do not use insecure http endpoints when doing maven build
EMPIREDB-377 JSF: Page - addFacesMessage always issues WARN-Message
--------------
Release 2.5.1:
--------------
** Improvement
EMPIREDB-361 JSF: NumberFormat allow MaximumFractionDigits<>MinimumFractionDigits
EMPIREDB-360 JSF: Add check for null on ValueExpressions supplied with input or control tag.
EMPIREDB-359 Core: Allow multiple occurrences of column placeholder in function expression template
EMPIREDB-358 Core: New example project for spring-boot integration
EMPIREDB-355 JSF: JSF extensions: Allow SelectControl to be rendered as listbox
EMPIREDB-354 Core: Miscellaneous small improvements
EMPIREDB-353 Core: Provide default implementation für delete with joins
EMPIREDB-351 Core: Improve ObjectUtils
EMPIREDB-350 JSF: Allow LInkTag to render child elements
EMPIREDB-349 Core: Improve DateUtils / add compare function
EMPIREDB-348 JSF: Improve readonly detection for InputContols, allow override
EMPIREDB-346 Core: Improve Enum value conversion / allow custom conversion
EMPIREDB-345 JSF: JSF TextAreaInputControl: add css style for rows and cols
EMPIREDB-344 Core: Allow replacement of select expressions in DBCommand
EMPIREDB-343 JSF: JSF InputControl: Allow override readonly attribute
EMPIREDB-342 Core: Impove allowed expressions for joins
EMPIREDB-341 Core: Improved table cloning for multiple- and self-joins
EMPIREDB-337 JSF: JSF Improve TabViewTag with option to hide tabBar
EMPIREDB-336 Core: Add validity checks for Join expressions
EMPIREDB-334 Core: Improve customizablity of data model code generation
** Bugfix
EMPIREDB-357 Core: StringUtils.compareEqual fails for arguments null + empty string
EMPIREDB-356 Core: SelectInputControl: option label not correctly updated
EMPIREDB-352 Core: DBExpr.getValueClass should return String.class for DataType CHAR
EMPIREDB-347 Core: Avoid unneccessary instances of SimpleDateFormat in ObjectUtils
EMPIREDB-340 Core: Omit command param if value is null
EMPIREDB-335 JSF: JSF add missing format option "nolookup" for text controls
EMPIREDB-333 Core: Fix Problem with parameter propagation for nested queries
EMPIREDB-332 Core: codegen example incorrect pom entries
EMPIREDB-331 Core: DBRowSet:initRecord falsely intializing fields with NO_VALUE
--------------
Release 2.5.0:
--------------
** Improvement
EMPIREDB-329 Core: Add full join support for column joins
EMPIREDB-328 JSF: Add css style class to input element if value of input control was modified
EMPIREDB-327 JSF: CheckboxInputControl ignores isFieldReadOnly
EMPIREDB-325 JSF: TextInputControl: required-Styleclass is not updated after ajax call
EMPIREDB-324 Core: Add caseWhen expression for multiple conditions
EMPIREDB-322 Core: Add DataModelChecker for SQL-Server
EMPIREDB-321 JSF: TextInputControl: Improve the ability to implement custom parsing
EMPIREDB-319 Core: Improve partial record handling
EMPIREDB-317 JSF: Improve TagEncoding inside UIData components
EMPIREDB-315 Core: Extend Options allowing Entries to be active/inactive
EMPIREDB-314 Core: Add support for the SQL format function
EMPIREDB-312 JSF: Allow to customize whether to render the Input or the Value
EMPIREDB-311 Core: Allow Column Expression to be use with ValueTag
EMPIREDB-310 JSF: Improve ParamterMap for request parameter handling
EMPIREDB-308 JSF: WebApplication: Add "destroy"-method
EMPIREDB-307 JSF: Allow overrides of TagEncodingHelper class
EMPIREDB-306 JSF: Improve JSF Taglib support
EMPIREDB-305 JSF: Allow InputControl to render value wrapper tag
EMPIREDB-304 Core: Add isEnum() function to Column indicating whether an Enum-type has been set
EMPIREDB-303 Core: Add support for Unique-Indexes which allow null values
EMPIREDB-301 Core: DBCommandExpr: expose orderBy
EMPIREDB-300 JSF: Problem with prepared statements when using booleans with SelectInputControl
EMPIREDB-299 Core: Improve Oracle update statements using "MERGE INTO"
EMPIREDB-298 JSF: Allow update of required style after Ajax request with SelectInputControl
EMPIREDB-296 JSF: Allow page-specific idParams in ParameterMap
EMPIREDB-294 Core: Allow functions and command expression to be used as record values
EMPIREDB-293 Core: Allow driver to distinguish between DATETIME and TIMESTAMP
EMPIREDB-291 Core: Make table definition for update timestamp simpler
EMPIREDB-290 Core: Provide additional overloads to DBTable.addColumn for Enum value types
EMPIREDB-289 Core: Rename DataType TEXT to VARCHAR to align with SQL specification
EMPIREDB-288 JSF: Provide handler for view not found in web application
** Bugfix
EMPIREDB-326 Core: Fix DateTime conversion in ObjectUtils
EMPIREDB-323 Core: Fix multiple sql-functions on same column not possible with DBCommand
EMPIREDB-320 JSF: Fix skip default JSF input validation
EMPIREDB-318 Core: Fix field resolution failure for expressions with no UpdateColumn in DBQuery
EMPIREDB-316 JSF: Control-Rendering: distinguish between disabled and readOnly
EMPIREDB-313 JSF: Fix SelectInputControl not working for numeric enum columns
EMPIREDB-309 JSF: Fix JSF-LabelTag must not implement NamingContainter
EMPIREDB-302 JSF: Fix Support for NULL values in CheckboxInputControl
EMPIREDB-297 Core: Fix CodeGenerator failure for NVARCHAR columns in SQL-Server
EMPIREDB-295 Core: Fix incorrect From clause when using function expressions
EMPIREDB-286 JSF: Fix ControlTag using "colon"-Attribute for label rendering
EMPIREDB-285 Core: Fix correctly escape sequence name when dropping tables
EMPIREDB-283 Core: Fix PreparedStatements not working with MS SQL-Server >= 2016
EMPIREDB-281 JSF: Fix Allow modifying options with SelectInputControl in Ajax request
EMPIREDB-280 Core: Fix incorrect validation of null values in DBRecord.setValue
--------------
Release 2.4.7:
--------------
** Improvement
EMPIREDB-278 Provide new accessors for Enum values on records
EMPIREDB-277 JSF2 Extensions: Allow other inputControl to be used with selectTag
EMPIREDB-276 Add support for pseudo table (like DUAL in Oracle)
EMPIREDB-275 Allow provision of sequence gerneration expression for bulk insert statements
EMPIREDB-274 Oracle: Correct MergeInto syntax
EMPIREDB-272 Provide easy way to select column with a qualfied alias
EMPIREDB-271 New application example with Vue.js framework and REST service
EMPIREDB-270 JSF2 Extensions: Allow records to provide context specific css styles for JSF tags
EMPIREDB-267 Allow DBCmdParams to be used as a value expression in an SQL statement
EMPIREDB-266 Map query columns in DBReader to underlying table columns
EMPIREDB-264 MySQL Driver: Update Keywords for version 5.7
EMPIREDB-262 Add special enum handling to ObjectUtils.compareEqual function
EMPIREDB-258 MS-SQL Server: Improve Driver to support latest features
EMPIREDB-256 Allow page redirect in overrides of method Page.checkPageAcces()
EMPIREDB-254 Allow detection and handling of constraint violations when inserting or updating records
EMPIREDB-253 Add UNION ALL support to DBCommand
EMPIREDB-252 MySQL: Added Support for database specific CodeGenParser
EMPIREDB-251 MySQL: Added Support for TINYINT, MEDIUMINT Integer Types
** Bugfix
EMPIREDB-280 DBRecord.setValue does not correctly validate null for new records
EMPIREDB-279 Sequences left after dropping my Database. Can't create a new one.
EMPIREDB-273 Improve multi-region support in TagEncodingHelper / TextInputControl
EMPIREDB-269 DBDatabaseDriverPostgreSQL: wrong SQLPhrase for DBSystemDate
EMPIREDB-265 DDL syntax for DROP statements contains invalid quotes when a schema name is given.
EMPIREDB-263 Not possible to set skipRows unless limitRows is also set
EMPIREDB-261 DBCommand is not re-usable, when a CLOB column is involved
EMPIREDB-255 Compiler error in code generated from codegen plugin
EMPIREDB-250 MySQL: wrong SQL for CREATE VIEW with DBCombinedCmd
--------------
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()