|Changelog for PDO_CUBRID
||What has changed?
||1) Update cci to 9.3.0.0206
||Support cubrid engine version up to 9.3
1) APIS-634 - PDO Cannot connect to the shard db in PDO driver
1)[APIS-120] - [PHP]Return value is not correct when passing a date parameter to cubrid_bind method
2)[APIS-121] - [PHP]Return value is not false when passing a invalid time to cubrid_bind method
3)[APIS-358] - [PHP] Create table failed when using default timestamp '2038-01-19 12:14:07'
4)[APIS-364] - [PHP][Windows] the export lob file from db is not correct after import the lob fie into db successfully
5)[APIS-513] - [PHP Static] Cas error code is not expected in Windows
6)[APIS-553] - Manual page for cubrid_close_request() should be edited
7)[APIS-554] - cubrid_connect_with_url example does not have updated connection url
8)[APIS-556] - cubrid_fetch CUBRID_LOB tries to allocate 4 billion bytes
9)[APIS-557] - cubrid_lob2_seek64 example does not work properly
10)[APIS-558] - [PHP]some bug about document
11)[APIS-560] - Cannot load PHP API 9.1.0.0003 in CentOS 5.6: undefined symbol: pthread_create in Unknown on line 0
12)[APIS-562] - Cannot execute DELETE query in CUBRID SHARD via PHP API
13)[APIS-583] - [PHP] The cubrid_get_class_name() function throws a warning if select data from a system table
14)[APIS-586] - [PHP] cubrid_bind() doesn't work properly when insert bit data
15)[APIS-587] - [PHP] cubrid_bind() doesn't support select bit data from a prepared statement
16)[APIS-596] - [PHP][Manual] The 'test_lob' table which is not created initially may lead some misunderstandings
Changed and Enhanced Features:
1)[APIS-549] - Warnings during PHP/PDO API build via PECL
2)[APIS-555] - support Collection Data Types in Pdo driver
3)[APIS-559] - Compile PHP/PDO drivers from together with CCI source code instead of including the entire CCI binary.
4)[APIS-584] - [PHP][Manual] Some 'Example' codes about the driver in php.net are somewhat confused
5)[APIS-580] - Support CCI connection string parameters like altHosts, loadBalance in PHP/PDO
1) APIS-546: The PDO driver does not support for the connection between the PDO and CUBRID shard broker.
2) APIS-550: The PDO driver does not support prepare and query function in CUBRID shard db.
||Changed and Enhanced Features:
1) APIS-418: add the ENUM support in PDO driver.
2) APIS-404: update the urls in README.
3) APIS-435: use cci_get_last_insert_id() instead of cci_last_insert_id().
1) APIS-392: change the phpinfo field from 'Supported CUBRID server' to 'CCI Version' and fix its value.
2) APIS-401: improve the invoking of cci_disconnect.
3) APIS-435: remove free() in the insert_id function for Windows platform.
||Changed and Enhanced Features:
1) APIS-287: Use cci_connect_ex instead of cci_connect in PDO driver.
2) APIS-288: Use CCI funciton cci_escape_string() to implement PDO::quote
- Use CCI funciton cci_escape_string() to implement PDO::quote
- Get correct lock_timeout value when it has been set.
- Update error code in handle error function in PDO driver
- Use cci_connect_ex instead of cci_connect in PDO driver.
- Use old functions in pdo driver because CUBRID does not export them.
- Fix a bug in cubrid_stmt_next_rowset: new version cci_next_result will reuse the request handle, so do not close it before calling cci_next_result.
- Fix a bug about life cycle management of pdo_cubrid_stmt: when database connection is closed, all request handle will be closed in CCI too. So the handle in pdo_cubrid_stmt must be set to invalid value.
||2008 R4.0 Release
This release is a major release.
- Implement PDO API getColumnMeta:
The following column meta information will be returned:
Changed and Enhanced Features:
- Add database parameter setting support:
cubrid_set_db_parameter() can be used to set the database transaction isolation
level and lock timeout value.
- Change the default status of auto commit mode to off.
- Fix a bug in cubrid_bind: When the value of binding parameter is NULL, it will covert the value to empty string;
- 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;
- Fix a bug about CLOB: When binding data type is CLOB, it will fail when inserting it into CUBRID;
- Fix a bug in cubrid_stmt_describe_col which will cause the failure of test bug_44861.phpt;
- Fix a bug in cubrid_handle_quoter: Before escaping unquoted string, it should init the value of quotedlen to 0.
- fix a bug about BLOB/CLOB: When inserting LOB data, if the data size is large
enough, it will fails. 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.
- Fix a bug in cubrid_handle_quoter: Before escaping unquoted string, it should init the value of quotedlen to 0;
||2008 R3.1 Release
This release is a major release. CUBRID 3.1 Stable has been released. Several new
features have been added to this version including new BLOB and CLOB data types and
new APIs in JDBC/CCI which can get foreign key information. Accordingly new features
are added in this CUBRID PDO version, and some bugs have been fixed.
- Add LOB (BLOB/CLOB) data support:
The LOB in PDO is represented as a stream, so you can insert LOBs by binding a stream,
and get LOBs by reading a stream returned by CUBRID PDO.
Known issue: If column data type is CLOB, binding parameter will fail. This bug will
- Add Multipy-Query support:
Now you can execute multiple queries and get results using PDOStatement->nextRowset.
- Add three new schema type integer constants for cubrid_schema, which can be used to
get foreign key information:
- In version 8.3.0, the default value of autocommit mode is false. In this release it
is changed to true.
- Remove constant CUBRID_INCLUDE_OID, because there is no methods in PDO using OID;
- Fix a bug in cubrid_handle_preparer which makes user can change cursor type to scrollable cursor when preparing SQL;
- Fix a bug in cubrid_handle_prepare: when binding parameter is named parameter, there will be memory leak;
- Fix a bug in cubrid_handle_quoter: when escaping single quote in string, it should use double single quotes, not backslash;
- Fix a bug in cubrid_handle_begin, cubrid_handle_commit and cubrid_handle_rollback: when beginning a transaction, it should commit un-commited transaction, turn off autocommit_mode, after commit or rollback, then restore the autocommit_mode;
- Fix a bug in cubrid_stmt_param_hook: when the value of binding parameter is NULL, it will covert the value to empty string;
- Fix a bug about cursor type: the cursor type (forward only or scrollable) should be statement attribute, not connection attribute.
- Fix a bug in cubrid_schema: After array_init(return_value), when error occures, it should destroy array before return false.
||This PECL release is the first release of CUBRID PDO Driver.