The IBM Informix JDBC Driver, Version 2.21.JC4, introduced the following features, supported by IBM Informix Dynamic Server, Version 9.40 and later.
IBM Informix Dynamic Server, Version 9.40 supports an optional parameter for LVARCHAR to specify the desired maximum length of 32739. The following is an example of acceptable syntax:
CREATE TABLE TAB1 (COL1 LVARCHAR(32739))
Users can specify any value, from 1 to 32739 bytes. For compatibility with existing SQL, if the optional maximum size parameter is omitted, then a size of 2KB will be used.
The IBM Informix JDBC Driver, Version 2.21.JC4, implements a new JDBC 3.0 interface called java.sql.ParameterMetaData to describe input parameters in prepared statements. The getParameterMetaData() method retrieves the metadata for a particular statement. Besides supporting the JDBC 3.0 ParameterMetaData interface, the IBM Informix JDBC Driver implements additional methods to this interface to extend its functionality.
For additional information about this feature, see JDBC Support for DESCRIBE INPUT.
The ParameterMetaData class and the getParameterMetaData() method are part of the JDBC 3.0 API and are included as interfaces in J2SDK1.4.0. For details of these interfaces, see the JDBC 3.0 specification.
In JDBC, a CallableStatement object provides a standard way to call or execute user-defined procedures and functions and stored procedures (hereafter referred to as UDRs) for all relational databases. Results are returned as a resultset or OUT parameter.
The IBM Informix Dynamic Server prior to Version 9.40 supports a single OUT parameter in user-defined functions, but not an OUT parameter in user-defined procedures. Version 9.40 adds support for multiple OUT parameters in user-defined functions and user-defined procedures.
For additional information about this feature, see Using CallableStatement OUT Parameters.
IBM Informix Dynamic Server, Version 9.40, does not support read-only connections.
Previous versions of the JDBC driver threw an unsupported method exception when setReadOnly() was called. The new implementation of the setReadOnly() method from the java.sql.Connection interface now accepts the value passed to it by the calling process as no op (returns to the calling process without any interaction to the server) instead of throwing an exception.
This change has been made to synchronize the functionality present in the IBM DB2 JDBC driver to that of the IBM Informix JDBC driver and also to achieve a higher level of compliance to the Sun Conformance Test (CTS).
For additional information about this feature, see the Important note after Unsupported Methods and Methods that Behave Differently.
Application servers can use these properties for obtaining connections using IBM Informix JDBC Driver.
An application can use the IFX_LOCK_MODE_WAIT connection property to override the default that defines how the database server tries to access a locked row or table.
An application can use the IFX_ISOLATION_LEVEL connection property to define the degree of concurrency among processes that attempt to access the same rows simultaneously.
For additional information about this feature, see Using a DataSource Object and Format of Database URLs. In addition, see Getting and Setting Informix Connection Properties.