SVN main commit: Bug#244125 - Firebird support, and database platform
fixes
https://bugs.eclipse.org/bugs/show_bug.cgi?id=244125
This patch adds database platform support for the Firebird database, as
well as several database platform (PostgreSQL, HSQL, H2, DB2, Derby) fixes and
test fixes for running LRG's on various databases.
It also changes are solution to un-typed parameters to use dynamic SQL,
instead of casting.
Code review: Andrei (pending)
Firebird platform:
- ping sql
- column types/table creation
- max constraint name sizes
- timestamp query
- sequence objects
- function operators
- pagination
- locking
- parameters
HSQL platform
- ping sql
- fixed database types
- added operators for supported functions
- unique columns unsupported
- parameters
- outer joins
- temp tables
- sequence objects
- pagination
- timestamp query
Other changes:
- added support for _expression_ operators to disable binding
- added platform option to not used binding for certain operations, now
used on
DB2, Derby, H2, HSQL, Firebird, TimesTen instead of casting, which did
not work
for parameters
- changed casting to not be used by default (property to enable)
- changed literal binding to not be enabled by default (property to
enable)
- excludes Firebird and HSQL from locking tests
- changes no wait tests to only test Oracle and SQL Server
- adds HSQL to test browser
- fixed test event table creator to use numeric(18) instead of (26)
- fixed some column types in test table creators
- removed test workarounds for :param=:param as works now
- exclude some outer join tests from hsql
- fixed some reserved word usage in test table creators
- fixed duplicate alias from timeout tests join
- added firebird and hsql to platform autodetect
- changed platform fieldTypes to Map
- fixed numeric to map to BigInteger the same as number
- added platform option to not support unique on columns, and migrate to
constraint for HSQL
- made variance platform operator instead of fixed
- switch to field access for some expressions
- slightly refactored outer-join from clause method, allow platform
option to
not print brackets or support nested joins
- fixed bug in NonSynchronizedProperties for null password
- made H2 not subclass HSQL
- remove primary key different than identity on aggregate model for h2
and hsql
- added named constraint to inherited model to avoid name conflicts
- exclude pessimistic lock test if not supported
Also updated tests to run on PostgreSQL, and updated PostgreSQL
platform.
Changes:
- Fixed temp table support for PostgreSQL
- Added returning support for PostgreSQL
- Fixed delimited test to use platform delimiter
- Set query in update-all call, write parameter on db2 if update-all
- Added DB2 and PostgreSQL to pessimistic lock tests
- Changed DB2 lock syntax to "for readonly with rs", as seem
to work better