Informix Online Documentation |
Date: 06/13/00
Version: 3.32
The purpose of these release notes is to make you aware of any special actions required to configure and use the Informix ODBC Driver on your computer. This file also contains information about known bugs and their workarounds.
This release notes document is not intended to be all-inclusive; it should be used as an addendum to the Informix ODBC Driver, which provides thorough information about product features and behavior.
These release notes are written for the following audience:
Version 3.32 of Informix ODBC Driver has been tested with the following database server configurations:
This manual might not reflect the latest names of Informix database servers. The following table lists the database server versions and their corresponding names.
When this feature is enabled, the memory allocated for the cursor in the server will be automatically freed right after the close of the cursor. This feature will only apply to the result set generating statements executed using SQLExecDirect.. In doing so, users will see an improvement in the network performance. The performance enhancement is due to savings of one network round-trip as no release message will be sent to the server to free the cursor memory on closing the cursor.
This feature can be turned on by setting the connection or statement attribute. The attribute is SQL_INFX_ATTR_AUTO_FREE. By default this is turned off.
This feature works primarily with dynamic SQL Statements where the application does a series of SQLPrepare / SQLExecute. It attempts to optimize the number of round trip messages to the server, by not sending PREPARE SQL statement to the server until the application calls SQLExecute on that statement.
This feature can be turned on by setting the connection or statement attribute. The attribute is SQL_INFX_ATTR_DEFERRED_PREPARE. By default this is turned off.
This is an optimization feature to reduce the network overhead for fetches involving multiple rows of simple large object data. In ESQL/C, the user setting FetArrSize triggers this optimization. Since there are already ways of retrieving multiple rows at a time defined in the ODBC standard, the implementation of this feature is limited to recognizing when the application is attempting to fetch multiple rows and adjusting the internal fetch array size and fetch buffer size accordingly. It will be transparent to the user that this is taking place except that they may query the driver on the maximum fetch array size setting for a given select statement.
The insert cursor feature has been extended for data types TEXT, BYTE, VARCHAR, LVARCHAR, and Opaque data types.
The advantage of making the smart large object usage automatic is that the user doesn't have to learn another set of proprietary functions (ifx_lo functions) to access Informix smart large objects. The user will be able to use the standard ODBC API to access the smart large objects as one does in using other data types. This feature had one limitation in ODBC3.31 release i.e. It can only fetch BLOBs/CLOBs up to one MB in size. The size limitation has been fixed for this release (ODBC3.32)
ODBC 3.32 adds support for the ODBC defined method of getting the return value from a database procedure. Specifically, this means that support for the parameter to the left of the equal sign in a procedure call escape sequence has been added to the driver. With this new feature, the host variable associated with that parameter is updated upon statement execution either through a SQLExecute or a SQLExecDirect.
In the ODBC definition of a procedure call escape sequence, there is only one return value; therefore, the following restrictions are placed on this feature:
Although procedures in Informix servers can return multiple values, the procedures used for this feature must return one value, although they may return multiple rows.
Although procedures in Informix servers can return multiple rows, only data from the first row will be placed in the host variable associated with the bound parameter.
If the first condition is not met, the parameter and its binding are ignored. The way to return multiple-value, multiple-row result sets from an Informix server continues to be to fetch the data as through it were the result columns of a select statement. This feature is designed not to cause problems with existing applications, which bind a column, or columns, and call SQLFetch or call SQLFetch and SQLGetData when accessing data through a procedure call. Therefore, no error or warning is generated when there is more than one row available to be returned. It is allowable to use either or both methods for retrieving the data from a stored procedure. A host variable can be bound as a parameter or as a column or both. If separate buffers are used, only the one bound as a parameter is updated upon statement execution, only the one bound as a column is updated upon a fetch. Unbound columns accessed through SQLGetData remain unaffected.
This section describes the known problems with this release of the Informix ODBC Driver and, if possible, shows how to work around these problems.
The following problems have been fixed since the 3.31.xC1 release of Informix ODBC Driver in ClientSDK 2.40: