CUBRID PHP Library release notes


2008 R4.0 Release

This release is a major release. Several new features have been added to this version including auto commit, multiple
SQL statements support, named parameter and so on. Accordingly new functions are added, and several bugs have been
fixed.

Functionality added:

The following functions have been added:

Changed and Enhanced Features:

1.) Add named parameter support:

    cubrid_bind() supports both positioal and named parameter when binding parameters for SQL statement.

2.) Add multiple SQL statements support:

    cubrid_execute() supports multiple SQL statements when the option CUBRID_EXEC_QUERY_ALL is set. The return value of
    cubrid_execute() is the result of the first query, and you can use cubrid_next_result() to get the result of next
    query if it is executed successfully.

3.) Add auto commit support:

    CUBRID PHP supports auto-commit mode. You can set auto-commit mode when connecting to CUBRID by using
    cubrid_connect_with_url(). You can also get auto-commit mode of current connection by using cubrid_get_autocommit()
    and change it by using cubrid_set_autocommit().
 
4.) Add database parameter setting support:

    cubrid_set_db_parameter() can be used to set the database transaction isolation level and lock timeout value. 

5.) cubrid_insert_id() returns only one value:

    cubrid_insert_id() will not return an array, instead it will return a string representing the ID generated by the
    AUTO_INCREMENT column which is updated by the previous INSERT query.

    CUBRID supports AUTO_INCREMENT for more than one columns in a table. In most cases, there will be a single
    AUTO_INCREMENT column in a table. If there are multiple AUTO_INCREMENT columns, the cubrid_insert_id() should not be
    used even if it will return a value. 

6.) cubrid_lob_size() return value type changes:

    cubrid_lob_size() will return the lob size as a string.

Fixed bugs:

1.) Fix a bug in cubrid_fetch_object: cubrid_fetch_object can't work with php-5.2.x;
2.) Fix a bug in cubrid_put: There may be column name string copy error if the length of column name is more than 4;
3.) Fix a bug in cubrid_bind: When the value of binding parameter is NULL, it will covert the value to empty string;
4.) Fix a bug which may casue memory leak: After calling array_init(return_value), if error occures, it should destroy
    the array before returning false;
5.) Fix a bug about BLOB/CLOB: When inserting LOB data, if the data size is large enough, it will fails. And if the LOB
    data is in a file, and it is too large to be put into memory, you can bind a file path name when binding the LOB
    data;
6.) Fix a bug about CLOB: When binding data type is CLOB, it will fail when inserting it into CUBRID.