liquibase/liquibase — pull request #52 by ivaylo5ev (2012-06-08 09:29:27+00:00)
Title: Informix 11 support contribution

Here is the long promised Informix support changes. It has been tested on Informix server 11.70.

CHANGES:

- Added support for informix dbms, most of the quereis and informix specific data types.
- Added support for text data type - similar to BLOB and CLOB it will force usage of prepared statement for the query. The difference is that the 'value' attribute will contain the actual text data, not an external file. The change affects all databases.
- Added functionality for the database object to create the datatype factory, instead of using the singleton. This allows for a particular database to use different type objects (as implemented for informix). All usages (except for tests) have been updated.

KNOWN ISSUES:

- Informix does not support correctly the tag because when adding a column, it needs to specify a BEFORE COLUMN, that is, the column before which the new one is added. Since xml does not have property for that, and defining such would break the db independence of the xml approach, the solution is to use changeset preconditioned with 'dbms' set to 'informix' and use native query for altering the table.
- Due to limitation in the informix primary key size, informix distributions use only the ID column as a primary key. Furthermore, id column's size has been reduced to 63.

Ivaylo Slavov