fix my favourite typo.
fix compile warnings
<license>PHP</license>
<release>
<state>beta</state>
- <version>0.2.4</version>
- <date>2005-02-18</date>
+ <version>0.3</version>
+ <date>2005-03-08</date>
<notes>
-Note that PDO on its own is useless.
-You need to install a PDO database driver to make use of it,
-check http://pecl.php.net for a list of available PDO drivers.
+You need to install a PDO database driver to make use of PDO,
+check http://pecl.php.net/package-search.php?pkg_name=PDO
+for a list of available PDO drivers.
It is highly recommended that you update to the latest stable PHP 5 snapshot
before using PDO.
You can find additional PDO drivers at:
http://snaps.php.net/win32/PECL_5_0/
+- New fetch modes:
+ PDO_FETCH_FUNC, PDO_FETCH_GROUP, PDO_FETCH_UNIQUE, PDO_FETCH_CLASSTYPE
+- New fetch mode for PHP 5.1 and higher: PDO_FETCH_SERIALIZE
+- Changed signature for PDO::lastInsertId(); it is now:
+ string PDO::lastInsertId([string name])
+ this allows arbitrary unique identifiers to be returned, and allows for
+ better support for RDBMS with sequences.
+- Improved bound parameter emulation when using non-string types.
+- PDOStatement implements SPL Traversable interface when SPL is present.
+
- Added PDO::quote($string). Closes PECL Bug #3393
- Fixed PDO::query() for drivers using bound parameter emulation.
- Fixed PECL Bug #3434, crash when using odbc with named parameters.
PHP_RINIT(pdo),
PHP_RSHUTDOWN(pdo),
PHP_MINFO(pdo),
- "0.2.4",
+ "0.3",
STANDARD_MODULE_PROPERTIES
};
/* }}} */
}
/* }}} */
-static zval * pdo_stmt_instanciate(zval *object, zend_class_entry *dbstmt_ce, zval *ctor_args TSRMLS_DC) /* {{{ */
+static zval * pdo_stmt_instantiate(zval *object, zend_class_entry *dbstmt_ce, zval *ctor_args TSRMLS_DC) /* {{{ */
{
if (ctor_args) {
if (Z_TYPE_P(ctor_args) != IS_ARRAY) {
ctor_args = NULL;
}
- if (!pdo_stmt_instanciate(return_value, dbstmt_ce, ctor_args TSRMLS_CC)) {
- zend_throw_exception_ex(php_pdo_get_exception(), 0 TSRMLS_CC, "Failed to instanciate statement class %s", dbstmt_ce->name);
+ if (!pdo_stmt_instantiate(return_value, dbstmt_ce, ctor_args TSRMLS_CC)) {
+ zend_throw_exception_ex(php_pdo_get_exception(), 0 TSRMLS_CC, "Failed to instantiate statement class %s", dbstmt_ce->name);
return;
}
stmt = (pdo_stmt_t*)zend_object_store_get_object(return_value TSRMLS_CC);
PDO_DBH_CLEAR_ERR();
- if (!pdo_stmt_instanciate(return_value, pdo_dbstmt_ce, NULL TSRMLS_CC)) {
- zend_throw_exception_ex(php_pdo_get_exception(), 0 TSRMLS_CC, "Failed to instanciate statement class %s", pdo_dbstmt_ce->name);
+ if (!pdo_stmt_instantiate(return_value, pdo_dbstmt_ce, NULL TSRMLS_CC)) {
+ zend_throw_exception_ex(php_pdo_get_exception(), 0 TSRMLS_CC, "Failed to instantiate statement class %s", pdo_dbstmt_ce->name);
return;
}
stmt = (pdo_stmt_t*)zend_object_store_get_object(return_value TSRMLS_CC);
pefree(dbh, dbh->is_persistent);
}
-static void pdo_dbh_free_storage(void *object TSRMLS_DC)
+static void pdo_dbh_free_storage(zend_object *object TSRMLS_DC)
{
pdo_dbh_t *dbh = (pdo_dbh_t*)object;
if (!dbh) {
efree(stmt);
}
-void pdo_dbstmt_free_storage(void *object TSRMLS_DC)
+void pdo_dbstmt_free_storage(zend_object *object TSRMLS_DC)
{
pdo_stmt_t *stmt = (pdo_stmt_t*)object;
NULL
};
-void pdo_row_free_storage(void *object TSRMLS_DC)
+void pdo_row_free_storage(zend_object *object TSRMLS_DC)
{
pdo_stmt_t *stmt = (pdo_stmt_t*)object;
extern zend_object_value pdo_dbstmt_new(zend_class_entry *ce TSRMLS_DC);
extern function_entry pdo_dbstmt_functions[];
extern zend_class_entry *pdo_dbstmt_ce;
-void pdo_dbstmt_free_storage(void *object TSRMLS_DC);
+void pdo_dbstmt_free_storage(zend_object *object TSRMLS_DC);
zend_object_iterator *pdo_stmt_iter_get(zend_class_entry *ce, zval *object TSRMLS_DC);
extern zend_object_handlers pdo_dbstmt_object_handlers;
int pdo_stmt_describe_columns(pdo_stmt_t *stmt TSRMLS_DC);
extern zend_object_value pdo_row_new(zend_class_entry *ce TSRMLS_DC);
extern function_entry pdo_row_functions[];
extern zend_class_entry *pdo_row_ce;
-void pdo_row_free_storage(void *object TSRMLS_DC);
+void pdo_row_free_storage(zend_object *object TSRMLS_DC);
extern zend_object_handlers pdo_row_object_handlers;
zend_object_iterator *php_pdo_dbstmt_iter_get(zend_class_entry *ce, zval *object TSRMLS_DC);