[PHP-CVS] cvs: php-src /ext/pdo pdo.c
kalle Fri Oct 10 23:37:52 2008 UTC Modified files: /php-src/ext/pdopdo.c Log: Add missing zend_parse_paramters_none() in pdo_drivers() http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/pdo.c?r1=1.81r2=1.82diff_format=u Index: php-src/ext/pdo/pdo.c diff -u php-src/ext/pdo/pdo.c:1.81 php-src/ext/pdo/pdo.c:1.82 --- php-src/ext/pdo/pdo.c:1.81 Fri Jun 27 19:17:29 2008 +++ php-src/ext/pdo/pdo.c Fri Oct 10 23:37:51 2008 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo.c,v 1.81 2008/06/27 19:17:29 felipe Exp $ */ +/* $Id: pdo.c,v 1.82 2008/10/10 23:37:51 kalle Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -102,6 +102,10 @@ { HashPosition pos; pdo_driver_t **pdriver; + + if (zend_parse_parameters_none() == FAILURE) { + return; + } array_init(return_value); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/pdo pdo.c php_pdo.h
rasmus Wed Jun 7 21:13:33 2006 UTC Modified files: /php-src/ext/pdopdo.c php_pdo.h Log: Remove useless RINIT/RSHUTDOWN calls http://cvs.php.net/viewcvs.cgi/php-src/ext/pdo/pdo.c?r1=1.73r2=1.74diff_format=u Index: php-src/ext/pdo/pdo.c diff -u php-src/ext/pdo/pdo.c:1.73 php-src/ext/pdo/pdo.c:1.74 --- php-src/ext/pdo/pdo.c:1.73 Wed May 10 21:03:34 2006 +++ php-src/ext/pdo/pdo.c Wed Jun 7 21:13:32 2006 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo.c,v 1.73 2006/05/10 21:03:34 helly Exp $ */ +/* $Id: pdo.c,v 1.74 2006/06/07 21:13:32 rasmus Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -137,14 +137,17 @@ pdo_functions, PHP_MINIT(pdo), PHP_MSHUTDOWN(pdo), - PHP_RINIT(pdo), - PHP_RSHUTDOWN(pdo), + NULL, + NULL, PHP_MINFO(pdo), 1.1dev, STANDARD_MODULE_PROPERTIES }; /* }}} */ +/* TODO: visit persistent handles: for each persistent statement handle, + * remove bound parameter associations in RSHUTDOWN */ + #ifdef COMPILE_DL_PDO ZEND_GET_MODULE(pdo) #endif @@ -348,22 +351,6 @@ } /* }}} */ -/* {{{ PHP_RINIT_FUNCTION */ -PHP_RINIT_FUNCTION(pdo) -{ - return SUCCESS; -} -/* }}} */ - -/* {{{ PHP_RSHUTDOWN_FUNCTION */ -PHP_RSHUTDOWN_FUNCTION(pdo) -{ - /* TODO: visit persistent handles: for each persistent statement handle, -* remove bound parameter associations */ - return SUCCESS; -} -/* }}} */ - /* {{{ PHP_MINFO_FUNCTION */ PHP_MINFO_FUNCTION(pdo) { http://cvs.php.net/viewcvs.cgi/php-src/ext/pdo/php_pdo.h?r1=1.12r2=1.13diff_format=u Index: php-src/ext/pdo/php_pdo.h diff -u php-src/ext/pdo/php_pdo.h:1.12 php-src/ext/pdo/php_pdo.h:1.13 --- php-src/ext/pdo/php_pdo.h:1.12 Sun Jan 1 13:09:52 2006 +++ php-src/ext/pdo/php_pdo.h Wed Jun 7 21:13:33 2006 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: php_pdo.h,v 1.12 2006/01/01 13:09:52 sniper Exp $ */ +/* $Id: php_pdo.h,v 1.13 2006/06/07 21:13:33 rasmus Exp $ */ #ifndef PHP_PDO_H #define PHP_PDO_H @@ -48,8 +48,6 @@ PHP_MINIT_FUNCTION(pdo); PHP_MSHUTDOWN_FUNCTION(pdo); -PHP_RINIT_FUNCTION(pdo); -PHP_RSHUTDOWN_FUNCTION(pdo); PHP_MINFO_FUNCTION(pdo); ZEND_BEGIN_MODULE_GLOBALS(pdo) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/pdo pdo.c /ext/pdo_dblib pdo_dblib.c /ext/pdo_mysql pdo_mysql.c /ext/pdo_oci oci_statement.c pdo_oci.c php_pdo_oci_int.h /ext/pdo_pgsql pdo_pgsql.c /ext/pdo_sqlite pdo
sniper Fri Nov 25 10:40:15 2005 EDT Modified files: /php-src/ext/pdopdo.c /php-src/ext/pdo_dblib pdo_dblib.c /php-src/ext/pdo_mysql pdo_mysql.c /php-src/ext/pdo_ocioci_statement.c pdo_oci.c php_pdo_oci_int.h /php-src/ext/pdo_pgsql pdo_pgsql.c /php-src/ext/pdo_sqlite pdo_sqlite.c /php-src/ext/sqlite sqlite.c /php-src/ext/xmlreader php_xmlreader.c Log: - Use right define: ZEND_MODULE_API_NO as these are PHP modules, not Zend extensions http://cvs.php.net/diff.php/php-src/ext/pdo/pdo.c?r1=1.67r2=1.68ty=u Index: php-src/ext/pdo/pdo.c diff -u php-src/ext/pdo/pdo.c:1.67 php-src/ext/pdo/pdo.c:1.68 --- php-src/ext/pdo/pdo.c:1.67 Thu Oct 6 15:32:27 2005 +++ php-src/ext/pdo/pdo.c Fri Nov 25 10:40:10 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo.c,v 1.67 2005/10/06 19:32:27 helly Exp $ */ +/* $Id: pdo.c,v 1.68 2005/11/25 15:40:10 sniper Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -115,7 +115,7 @@ /* }}} */ /* {{{ pdo_functions[] */ -#if ZEND_EXTENSION_API_NO = 220050617 +#if ZEND_MODULE_API_NO = 20050922 static zend_module_dep pdo_deps[] = { #ifdef HAVE_SPL ZEND_MOD_REQUIRED(spl) @@ -127,7 +127,7 @@ /* {{{ pdo_module_entry */ zend_module_entry pdo_module_entry = { -#if ZEND_EXTENSION_API_NO = 220050617 +#if ZEND_MODULE_API_NO = 20050922 STANDARD_MODULE_HEADER_EX, NULL, pdo_deps, #else http://cvs.php.net/diff.php/php-src/ext/pdo_dblib/pdo_dblib.c?r1=1.9r2=1.10ty=u Index: php-src/ext/pdo_dblib/pdo_dblib.c diff -u php-src/ext/pdo_dblib/pdo_dblib.c:1.9 php-src/ext/pdo_dblib/pdo_dblib.c:1.10 --- php-src/ext/pdo_dblib/pdo_dblib.c:1.9 Tue Jul 26 23:12:43 2005 +++ php-src/ext/pdo_dblib/pdo_dblib.c Fri Nov 25 10:40:13 2005 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: pdo_dblib.c,v 1.9 2005/07/27 03:12:43 wez Exp $ */ +/* $Id: pdo_dblib.c,v 1.10 2005/11/25 15:40:13 sniper Exp $ */ #ifdef HAVE_CONFIG_H # include config.h @@ -38,7 +38,7 @@ {NULL, NULL, NULL} }; -#if ZEND_EXTENSION_API_NO = 220050617 +#if ZEND_MODULE_API_NO = 20050922 static zend_module_dep pdo_dblib_deps[] = { ZEND_MOD_REQUIRED(pdo) {NULL, NULL, NULL} @@ -46,7 +46,7 @@ #endif zend_module_entry pdo_dblib_module_entry = { -#if ZEND_EXTENSION_API_NO = 220050617 +#if ZEND_MODULE_API_NO = 20050922 STANDARD_MODULE_HEADER_EX, NULL, pdo_dblib_deps, #else http://cvs.php.net/diff.php/php-src/ext/pdo_mysql/pdo_mysql.c?r1=1.11r2=1.12ty=u Index: php-src/ext/pdo_mysql/pdo_mysql.c diff -u php-src/ext/pdo_mysql/pdo_mysql.c:1.11 php-src/ext/pdo_mysql/pdo_mysql.c:1.12 --- php-src/ext/pdo_mysql/pdo_mysql.c:1.11 Thu Oct 27 13:33:43 2005 +++ php-src/ext/pdo_mysql/pdo_mysql.c Fri Nov 25 10:40:13 2005 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: pdo_mysql.c,v 1.11 2005/10/27 17:33:43 tony2001 Exp $ */ +/* $Id: pdo_mysql.c,v 1.12 2005/11/25 15:40:13 sniper Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -37,7 +37,7 @@ /* }}} */ /* {{{ pdo_mysql_functions[] */ -#if ZEND_EXTENSION_API_NO = 220050617 +#if ZEND_MODULE_API_NO = 20050922 static zend_module_dep pdo_mysql_deps[] = { ZEND_MOD_REQUIRED(pdo) {NULL, NULL, NULL} @@ -47,7 +47,7 @@ /* {{{ pdo_mysql_module_entry */ zend_module_entry pdo_mysql_module_entry = { -#if ZEND_EXTENSION_API_NO = 220050617 +#if ZEND_MODULE_API_NO = 20050922 STANDARD_MODULE_HEADER_EX, NULL, pdo_mysql_deps, #else http://cvs.php.net/diff.php/php-src/ext/pdo_oci/oci_statement.c?r1=1.17r2=1.18ty=u Index: php-src/ext/pdo_oci/oci_statement.c diff -u php-src/ext/pdo_oci/oci_statement.c:1.17 php-src/ext/pdo_oci/oci_statement.c:1.18 --- php-src/ext/pdo_oci/oci_statement.c:1.17Fri Oct 28 11:01:47 2005 +++ php-src/ext/pdo_oci/oci_statement.c Fri Nov 25 10:40:13 2005 @@ -1,488 +1,488 @@ -/* - +--+ - | PHP Version 5| - +--+ - | Copyright (c) 1997-2005 The PHP Group| - +--+ - | This source file is subject to version 3.0 of the PHP license, | - | that is bundled with this package in the file LICENSE, and is| - | available through the world-wide-web at the following url: | - | http://www.php.net/license/3_0.txt. | - | If you did not receive a copy of the PHP license and are unable to | - | obtain it through the world-wide-web, please send a note to | - | [EMAIL PROTECTED] so we can mail you a copy immediately. | -
[PHP-CVS] cvs: php-src /ext/pdo pdo.c pdo_dbh.c
dmitry Tue Sep 20 02:17:32 2005 EDT Modified files: /php-src/ext/pdopdo.c pdo_dbh.c Log: ZTS fix http://cvs.php.net/diff.php/php-src/ext/pdo/pdo.c?r1=1.62r2=1.63ty=u Index: php-src/ext/pdo/pdo.c diff -u php-src/ext/pdo/pdo.c:1.62 php-src/ext/pdo/pdo.c:1.63 --- php-src/ext/pdo/pdo.c:1.62 Mon Sep 19 20:33:39 2005 +++ php-src/ext/pdo/pdo.c Tue Sep 20 02:17:30 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo.c,v 1.62 2005/09/20 00:33:39 iliaa Exp $ */ +/* $Id: pdo.c,v 1.63 2005/09/20 06:17:30 dmitry Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -306,7 +306,7 @@ #if can_handle_soft_dependency_on_SPL defined(HAVE_SPL) ((PHP_MAJOR_VERSION 5) || (PHP_MAJOR_VERSION == 5 PHP_MINOR_VERSION = 1)) pdo_exception_ce = zend_register_internal_class_ex(ce, spl_ce_RuntimeException, NULL TSRMLS_CC); #else - pdo_exception_ce = zend_register_internal_class_ex(ce, zend_exception_get_default(), NULL TSRMLS_CC); + pdo_exception_ce = zend_register_internal_class_ex(ce, zend_exception_get_default(TSRMLS_C), NULL TSRMLS_CC); #endif zend_declare_property_null(pdo_exception_ce, errorInfo, sizeof(errorInfo)-1, ZEND_ACC_PUBLIC TSRMLS_CC); http://cvs.php.net/diff.php/php-src/ext/pdo/pdo_dbh.c?r1=1.91r2=1.92ty=u Index: php-src/ext/pdo/pdo_dbh.c diff -u php-src/ext/pdo/pdo_dbh.c:1.91 php-src/ext/pdo/pdo_dbh.c:1.92 --- php-src/ext/pdo/pdo_dbh.c:1.91 Mon Sep 19 20:33:39 2005 +++ php-src/ext/pdo/pdo_dbh.c Tue Sep 20 02:17:30 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo_dbh.c,v 1.91 2005/09/20 00:33:39 iliaa Exp $ */ +/* $Id: pdo_dbh.c,v 1.92 2005/09/20 06:17:30 dmitry Exp $ */ /* The PDO Database Handle Class */ @@ -84,7 +84,7 @@ } } else { zval *ex; - zend_class_entry *def_ex = zend_exception_get_default(), *pdo_ex = php_pdo_get_exception(TSRMLS_C); + zend_class_entry *def_ex = zend_exception_get_default(TSRMLS_C), *pdo_ex = php_pdo_get_exception(TSRMLS_C); MAKE_STD_ZVAL(ex); object_init_ex(ex, pdo_ex); @@ -165,7 +165,7 @@ } } else if (EG(exception) == NULL) { zval *ex; - zend_class_entry *def_ex = zend_exception_get_default(), *pdo_ex = php_pdo_get_exception(TSRMLS_C); + zend_class_entry *def_ex = zend_exception_get_default(TSRMLS_C), *pdo_ex = php_pdo_get_exception(TSRMLS_C); MAKE_STD_ZVAL(ex); object_init_ex(ex, pdo_ex); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php-src /ext/pdo pdo.c pdo_dbh.c
Hello guys, in PHP 5.0 and 5.1 zend_exception_get_default is a void function while in HEAD it is a TSRMLS_D function. We need to do something here. Probably providing a helper function. Or we change signature in 5.1. Or we move pdo core into ext/standard. what IMHO we should do anyway. regards marcus Tuesday, September 20, 2005, 8:17:32 AM, you wrote: dmitry Tue Sep 20 02:17:32 2005 EDT Modified files: /php-src/ext/pdopdo.c pdo_dbh.c Log: ZTS fix http://cvs.php.net/diff.php/php-src/ext/pdo/pdo.c?r1=1.62r2=1.63ty=u Index: php-src/ext/pdo/pdo.c diff -u php-src/ext/pdo/pdo.c:1.62 php-src/ext/pdo/pdo.c:1.63 --- php-src/ext/pdo/pdo.c:1.62 Mon Sep 19 20:33:39 2005 +++ php-src/ext/pdo/pdo.c Tue Sep 20 02:17:30 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo.c,v 1.62 2005/09/20 00:33:39 iliaa Exp $ */ +/* $Id: pdo.c,v 1.63 2005/09/20 06:17:30 dmitry Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -306,7 +306,7 @@ #if can_handle_soft_dependency_on_SPL defined(HAVE_SPL) ((PHP_MAJOR_VERSION 5) || (PHP_MAJOR_VERSION == 5 PHP_MINOR_VERSION = 1)) pdo_exception_ce = zend_register_internal_class_ex(ce, spl_ce_RuntimeException, NULL TSRMLS_CC); #else - pdo_exception_ce = zend_register_internal_class_ex(ce, zend_exception_get_default(), NULL TSRMLS_CC); + pdo_exception_ce = zend_register_internal_class_ex(ce, zend_exception_get_default(TSRMLS_C), NULL TSRMLS_CC); #endif zend_declare_property_null(pdo_exception_ce, errorInfo, sizeof(errorInfo)-1, ZEND_ACC_PUBLIC TSRMLS_CC); http://cvs.php.net/diff.php/php-src/ext/pdo/pdo_dbh.c?r1=1.91r2=1.92ty=u Index: php-src/ext/pdo/pdo_dbh.c diff -u php-src/ext/pdo/pdo_dbh.c:1.91 php-src/ext/pdo/pdo_dbh.c:1.92 --- php-src/ext/pdo/pdo_dbh.c:1.91 Mon Sep 19 20:33:39 2005 +++ php-src/ext/pdo/pdo_dbh.c Tue Sep 20 02:17:30 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo_dbh.c,v 1.91 2005/09/20 00:33:39 iliaa Exp $ */ +/* $Id: pdo_dbh.c,v 1.92 2005/09/20 06:17:30 dmitry Exp $ */ /* The PDO Database Handle Class */ @@ -84,7 +84,7 @@ } } else { zval *ex; - zend_class_entry *def_ex = zend_exception_get_default(), *pdo_ex = php_pdo_get_exception(TSRMLS_C); + zend_class_entry *def_ex = zend_exception_get_default(TSRMLS_C), *pdo_ex = php_pdo_get_exception(TSRMLS_C); MAKE_STD_ZVAL(ex); object_init_ex(ex, pdo_ex); @@ -165,7 +165,7 @@ } } else if (EG(exception) == NULL) { zval *ex; - zend_class_entry *def_ex = zend_exception_get_default(), *pdo_ex = php_pdo_get_exception(TSRMLS_C); + zend_class_entry *def_ex = zend_exception_get_default(TSRMLS_C), *pdo_ex = php_pdo_get_exception(TSRMLS_C); MAKE_STD_ZVAL(ex); object_init_ex(ex, pdo_ex); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php-src /ext/pdo pdo.c pdo_dbh.c
Just change it in 5.1 and not make it sound like a big problem what it isn't.. And adding this into ext/standard is very bad idea and step backwards. I wan't to be able to DISABLE this too. --Jani On Tue, 20 Sep 2005, Marcus Boerger wrote: Hello guys, in PHP 5.0 and 5.1 zend_exception_get_default is a void function while in HEAD it is a TSRMLS_D function. We need to do something here. Probably providing a helper function. Or we change signature in 5.1. Or we move pdo core into ext/standard. what IMHO we should do anyway. regards marcus Tuesday, September 20, 2005, 8:17:32 AM, you wrote: dmitry Tue Sep 20 02:17:32 2005 EDT Modified files: /php-src/ext/pdopdo.c pdo_dbh.c Log: ZTS fix http://cvs.php.net/diff.php/php-src/ext/pdo/pdo.c?r1=1.62r2=1.63ty=u Index: php-src/ext/pdo/pdo.c diff -u php-src/ext/pdo/pdo.c:1.62 php-src/ext/pdo/pdo.c:1.63 --- php-src/ext/pdo/pdo.c:1.62 Mon Sep 19 20:33:39 2005 +++ php-src/ext/pdo/pdo.c Tue Sep 20 02:17:30 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo.c,v 1.62 2005/09/20 00:33:39 iliaa Exp $ */ +/* $Id: pdo.c,v 1.63 2005/09/20 06:17:30 dmitry Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -306,7 +306,7 @@ #if can_handle_soft_dependency_on_SPL defined(HAVE_SPL) ((PHP_MAJOR_VERSION 5) || (PHP_MAJOR_VERSION == 5 PHP_MINOR_VERSION = 1)) pdo_exception_ce = zend_register_internal_class_ex(ce, spl_ce_RuntimeException, NULL TSRMLS_CC); #else - pdo_exception_ce = zend_register_internal_class_ex(ce, zend_exception_get_default(), NULL TSRMLS_CC); + pdo_exception_ce = zend_register_internal_class_ex(ce, zend_exception_get_default(TSRMLS_C), NULL TSRMLS_CC); #endif zend_declare_property_null(pdo_exception_ce, errorInfo, sizeof(errorInfo)-1, ZEND_ACC_PUBLIC TSRMLS_CC); http://cvs.php.net/diff.php/php-src/ext/pdo/pdo_dbh.c?r1=1.91r2=1.92ty=u Index: php-src/ext/pdo/pdo_dbh.c diff -u php-src/ext/pdo/pdo_dbh.c:1.91 php-src/ext/pdo/pdo_dbh.c:1.92 --- php-src/ext/pdo/pdo_dbh.c:1.91 Mon Sep 19 20:33:39 2005 +++ php-src/ext/pdo/pdo_dbh.c Tue Sep 20 02:17:30 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo_dbh.c,v 1.91 2005/09/20 00:33:39 iliaa Exp $ */ +/* $Id: pdo_dbh.c,v 1.92 2005/09/20 06:17:30 dmitry Exp $ */ /* The PDO Database Handle Class */ @@ -84,7 +84,7 @@ } } else { zval *ex; - zend_class_entry *def_ex = zend_exception_get_default(), *pdo_ex = php_pdo_get_exception(TSRMLS_C); + zend_class_entry *def_ex = zend_exception_get_default(TSRMLS_C), *pdo_ex = php_pdo_get_exception(TSRMLS_C); MAKE_STD_ZVAL(ex); object_init_ex(ex, pdo_ex); @@ -165,7 +165,7 @@ } } else if (EG(exception) == NULL) { zval *ex; - zend_class_entry *def_ex = zend_exception_get_default(), *pdo_ex = php_pdo_get_exception(TSRMLS_C); + zend_class_entry *def_ex = zend_exception_get_default(TSRMLS_C), *pdo_ex = php_pdo_get_exception(TSRMLS_C); MAKE_STD_ZVAL(ex); object_init_ex(ex, pdo_ex); -- Donate @ http://pecl.php.net/wishlist.php/sniper Disclaimer: Donating money may make me happier and friendlier for a limited period! -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php-src /ext/pdo pdo.c pdo_dbh.c
Hello Jani, erm sorry, i meant move pdo into the standard ext dir not into ext/standard of course. marcus Tuesday, September 20, 2005, 11:17:43 AM, you wrote: Just change it in 5.1 and not make it sound like a big problem what it isn't.. And adding this into ext/standard is very bad idea and step backwards. I wan't to be able to DISABLE this too. --Jani On Tue, 20 Sep 2005, Marcus Boerger wrote: Hello guys, in PHP 5.0 and 5.1 zend_exception_get_default is a void function while in HEAD it is a TSRMLS_D function. We need to do something here. Probably providing a helper function. Or we change signature in 5.1. Or we move pdo core into ext/standard. what IMHO we should do anyway. regards marcus Tuesday, September 20, 2005, 8:17:32 AM, you wrote: dmitry Tue Sep 20 02:17:32 2005 EDT Modified files: /php-src/ext/pdopdo.c pdo_dbh.c Log: ZTS fix http://cvs.php.net/diff.php/php-src/ext/pdo/pdo.c?r1=1.62r2=1.63ty=u Index: php-src/ext/pdo/pdo.c diff -u php-src/ext/pdo/pdo.c:1.62 php-src/ext/pdo/pdo.c:1.63 --- php-src/ext/pdo/pdo.c:1.62 Mon Sep 19 20:33:39 2005 +++ php-src/ext/pdo/pdo.c Tue Sep 20 02:17:30 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo.c,v 1.62 2005/09/20 00:33:39 iliaa Exp $ */ +/* $Id: pdo.c,v 1.63 2005/09/20 06:17:30 dmitry Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -306,7 +306,7 @@ #if can_handle_soft_dependency_on_SPL defined(HAVE_SPL) ((PHP_MAJOR_VERSION 5) || (PHP_MAJOR_VERSION == 5 PHP_MINOR_VERSION = 1)) pdo_exception_ce = zend_register_internal_class_ex(ce, spl_ce_RuntimeException, NULL TSRMLS_CC); #else - pdo_exception_ce = zend_register_internal_class_ex(ce, zend_exception_get_default(), NULL TSRMLS_CC); + pdo_exception_ce = zend_register_internal_class_ex(ce, zend_exception_get_default(TSRMLS_C), NULL TSRMLS_CC); #endif zend_declare_property_null(pdo_exception_ce, errorInfo, sizeof(errorInfo)-1, ZEND_ACC_PUBLIC TSRMLS_CC); http://cvs.php.net/diff.php/php-src/ext/pdo/pdo_dbh.c?r1=1.91r2=1.92ty=u Index: php-src/ext/pdo/pdo_dbh.c diff -u php-src/ext/pdo/pdo_dbh.c:1.91 php-src/ext/pdo/pdo_dbh.c:1.92 --- php-src/ext/pdo/pdo_dbh.c:1.91 Mon Sep 19 20:33:39 2005 +++ php-src/ext/pdo/pdo_dbh.c Tue Sep 20 02:17:30 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo_dbh.c,v 1.91 2005/09/20 00:33:39 iliaa Exp $ */ +/* $Id: pdo_dbh.c,v 1.92 2005/09/20 06:17:30 dmitry Exp $ */ /* The PDO Database Handle Class */ @@ -84,7 +84,7 @@ } } else { zval *ex; - zend_class_entry *def_ex = zend_exception_get_default(), *pdo_ex = php_pdo_get_exception(TSRMLS_C); + zend_class_entry *def_ex = zend_exception_get_default(TSRMLS_C), *pdo_ex = php_pdo_get_exception(TSRMLS_C); MAKE_STD_ZVAL(ex); object_init_ex(ex, pdo_ex); @@ -165,7 +165,7 @@ } } else if (EG(exception) == NULL) { zval *ex; - zend_class_entry *def_ex = zend_exception_get_default(), *pdo_ex = php_pdo_get_exception(TSRMLS_C); + zend_class_entry *def_ex = zend_exception_get_default(TSRMLS_C), *pdo_ex = php_pdo_get_exception(TSRMLS_C); MAKE_STD_ZVAL(ex); object_init_ex(ex, pdo_ex); Best regards, Marcus -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php-src /ext/pdo pdo.c pdo_dbh.c
Just add a helper macro to php_pdo_phpvers_compat.h for this. --Wez. On 9/20/05, Marcus Boerger [EMAIL PROTECTED] wrote: Hello Jani, erm sorry, i meant move pdo into the standard ext dir not into ext/standard of course. marcus Tuesday, September 20, 2005, 11:17:43 AM, you wrote: Just change it in 5.1 and not make it sound like a big problem what it isn't.. And adding this into ext/standard is very bad idea and step backwards. I wan't to be able to DISABLE this too. --Jani On Tue, 20 Sep 2005, Marcus Boerger wrote: Hello guys, in PHP 5.0 and 5.1 zend_exception_get_default is a void function while in HEAD it is a TSRMLS_D function. We need to do something here. Probably providing a helper function. Or we change signature in 5.1. Or we move pdo core into ext/standard. what IMHO we should do anyway. regards marcus Tuesday, September 20, 2005, 8:17:32 AM, you wrote: dmitry Tue Sep 20 02:17:32 2005 EDT Modified files: /php-src/ext/pdopdo.c pdo_dbh.c Log: ZTS fix http://cvs.php.net/diff.php/php-src/ext/pdo/pdo.c?r1=1.62r2=1.63ty=u Index: php-src/ext/pdo/pdo.c diff -u php-src/ext/pdo/pdo.c:1.62 php-src/ext/pdo/pdo.c:1.63 --- php-src/ext/pdo/pdo.c:1.62 Mon Sep 19 20:33:39 2005 +++ php-src/ext/pdo/pdo.c Tue Sep 20 02:17:30 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo.c,v 1.62 2005/09/20 00:33:39 iliaa Exp $ */ +/* $Id: pdo.c,v 1.63 2005/09/20 06:17:30 dmitry Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -306,7 +306,7 @@ #if can_handle_soft_dependency_on_SPL defined(HAVE_SPL) ((PHP_MAJOR_VERSION 5) || (PHP_MAJOR_VERSION == 5 PHP_MINOR_VERSION = 1)) pdo_exception_ce = zend_register_internal_class_ex(ce, spl_ce_RuntimeException, NULL TSRMLS_CC); #else - pdo_exception_ce = zend_register_internal_class_ex(ce, zend_exception_get_default(), NULL TSRMLS_CC); + pdo_exception_ce = zend_register_internal_class_ex(ce, zend_exception_get_default(TSRMLS_C), NULL TSRMLS_CC); #endif zend_declare_property_null(pdo_exception_ce, errorInfo, sizeof(errorInfo)-1, ZEND_ACC_PUBLIC TSRMLS_CC); http://cvs.php.net/diff.php/php-src/ext/pdo/pdo_dbh.c?r1=1.91r2=1.92ty=u Index: php-src/ext/pdo/pdo_dbh.c diff -u php-src/ext/pdo/pdo_dbh.c:1.91 php-src/ext/pdo/pdo_dbh.c:1.92 --- php-src/ext/pdo/pdo_dbh.c:1.91 Mon Sep 19 20:33:39 2005 +++ php-src/ext/pdo/pdo_dbh.c Tue Sep 20 02:17:30 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo_dbh.c,v 1.91 2005/09/20 00:33:39 iliaa Exp $ */ +/* $Id: pdo_dbh.c,v 1.92 2005/09/20 06:17:30 dmitry Exp $ */ /* The PDO Database Handle Class */ @@ -84,7 +84,7 @@ } } else { zval *ex; - zend_class_entry *def_ex = zend_exception_get_default(), *pdo_ex = php_pdo_get_exception(TSRMLS_C); + zend_class_entry *def_ex = zend_exception_get_default(TSRMLS_C), *pdo_ex = php_pdo_get_exception(TSRMLS_C); MAKE_STD_ZVAL(ex); object_init_ex(ex, pdo_ex); @@ -165,7 +165,7 @@ } } else if (EG(exception) == NULL) { zval *ex; - zend_class_entry *def_ex = zend_exception_get_default(), *pdo_ex = php_pdo_get_exception(TSRMLS_C); + zend_class_entry *def_ex = zend_exception_get_default(TSRMLS_C), *pdo_ex = php_pdo_get_exception(TSRMLS_C); MAKE_STD_ZVAL(ex); object_init_ex(ex, pdo_ex); Best regards, Marcus -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/pdo pdo.c pdo_dbh.c php_pdo.h /ext/pdo/tests pdo_001.phpt pdo_002.phpt pdo_003.phpt pdo_004.phpt pdo_005.phpt pdo_006.phpt pdo_007.phpt pdo_008.phpt pdo_009.phpt pdo_010.p
iliaa Mon Sep 19 20:33:42 2005 EDT Modified files: /php-src/ext/pdopdo.c pdo_dbh.c php_pdo.h /php-src/ext/pdo/tests pdo_001.phpt pdo_002.phpt pdo_003.phpt pdo_004.phpt pdo_005.phpt pdo_006.phpt pdo_007.phpt pdo_008.phpt pdo_009.phpt pdo_010.phpt pdo_011.phpt pdo_012.phpt pdo_013.phpt pdo_014.phpt pdo_015.phpt pdo_016.phpt pdo_016a.phpt pdo_017.phpt pdo_018.phpt pdo_019.phpt pdo_023.phpt pdo_025.phpt pdo_026.phpt pdo_027.phpt pdo_test.inc /php-src/ext/pdo_mysql pdo_mysql.c /php-src/ext/pdo_pgsql pdo_pgsql.c pgsql_statement.c Log: Make PDO use class constants http://cvs.php.net/diff.php/php-src/ext/pdo/pdo.c?r1=1.61r2=1.62ty=u Index: php-src/ext/pdo/pdo.c diff -u php-src/ext/pdo/pdo.c:1.61 php-src/ext/pdo/pdo.c:1.62 --- php-src/ext/pdo/pdo.c:1.61 Mon Sep 19 14:05:00 2005 +++ php-src/ext/pdo/pdo.c Mon Sep 19 20:33:39 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo.c,v 1.61 2005/09/19 18:05:00 helly Exp $ */ +/* $Id: pdo.c,v 1.62 2005/09/20 00:33:39 iliaa Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -302,89 +302,6 @@ le_ppdo = zend_register_list_destructors_ex(NULL, php_pdo_pdbh_dtor, PDO persistent database, module_number); - REGISTER_LONG_CONSTANT(PDO_PARAM_BOOL, (long)PDO_PARAM_BOOL, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT(PDO_PARAM_NULL, (long)PDO_PARAM_NULL, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT(PDO_PARAM_INT, (long)PDO_PARAM_INT, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT(PDO_PARAM_STR, (long)PDO_PARAM_STR, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT(PDO_PARAM_LOB, (long)PDO_PARAM_LOB, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT(PDO_PARAM_STMT, (long)PDO_PARAM_STMT, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT(PDO_PARAM_INPUT_OUTPUT, (long)PDO_PARAM_INPUT_OUTPUT, CONST_CS|CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT(PDO_FETCH_LAZY, (long)PDO_FETCH_LAZY, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT(PDO_FETCH_ASSOC,(long)PDO_FETCH_ASSOC, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT(PDO_FETCH_NUM, (long)PDO_FETCH_NUM, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT(PDO_FETCH_BOTH, (long)PDO_FETCH_BOTH, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT(PDO_FETCH_OBJ, (long)PDO_FETCH_OBJ, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT(PDO_FETCH_BOUND,(long)PDO_FETCH_BOUND, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT(PDO_FETCH_COLUMN,(long)PDO_FETCH_COLUMN, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT(PDO_FETCH_CLASS,(long)PDO_FETCH_CLASS, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT(PDO_FETCH_INTO, (long)PDO_FETCH_INTO, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT(PDO_FETCH_FUNC, (long)PDO_FETCH_FUNC, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT(PDO_FETCH_GROUP,(long)PDO_FETCH_GROUP, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT(PDO_FETCH_UNIQUE,(long)PDO_FETCH_UNIQUE, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT(PDO_FETCH_CLASSTYPE,(long)PDO_FETCH_CLASSTYPE, CONST_CS|CONST_PERSISTENT); -#if PHP_MAJOR_VERSION 5 || PHP_MINOR_VERSION = 1 - REGISTER_LONG_CONSTANT(PDO_FETCH_SERIALIZE,(long)PDO_FETCH_SERIALIZE, CONST_CS|CONST_PERSISTENT); -#endif - REGISTER_LONG_CONSTANT(PDO_FETCH_NAMED,(long)PDO_FETCH_NAMED, CONST_CS|CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT(PDO_ATTR_AUTOCOMMIT, (long)PDO_ATTR_AUTOCOMMIT, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT(PDO_ATTR_PREFETCH, (long)PDO_ATTR_PREFETCH,CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT(PDO_ATTR_TIMEOUT, (long)PDO_ATTR_TIMEOUT, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT(PDO_ATTR_ERRMODE, (long)PDO_ATTR_ERRMODE, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT(PDO_ATTR_SERVER_VERSION, (long)PDO_ATTR_SERVER_VERSION, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT(PDO_ATTR_CLIENT_VERSION, (long)PDO_ATTR_CLIENT_VERSION, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT(PDO_ATTR_SERVER_INFO, (long)PDO_ATTR_SERVER_INFO, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT(PDO_ATTR_CONNECTION_STATUS, (long)PDO_ATTR_CONNECTION_STATUS, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT(PDO_ATTR_CASE, (long)PDO_ATTR_CASE,CONST_CS|CONST_PERSISTENT); -
[PHP-CVS] cvs: php-src /ext/pdo pdo.c php_pdo_driver.h /ext/pdo_mysql mysql_driver.c mysql_statement.c
iliaa Tue Jul 19 23:38:34 2005 EDT Modified files: /php-src/ext/pdo_mysql mysql_driver.c mysql_statement.c /php-src/ext/pdopdo.c php_pdo_driver.h Log: Proper handling for databases that need to pre-calculate length of large columns, which is not normally done for performance reasons. http://cvs.php.net/diff.php/php-src/ext/pdo_mysql/mysql_driver.c?r1=1.58r2=1.59ty=u Index: php-src/ext/pdo_mysql/mysql_driver.c diff -u php-src/ext/pdo_mysql/mysql_driver.c:1.58 php-src/ext/pdo_mysql/mysql_driver.c:1.59 --- php-src/ext/pdo_mysql/mysql_driver.c:1.58 Wed Jul 13 22:09:08 2005 +++ php-src/ext/pdo_mysql/mysql_driver.cTue Jul 19 23:38:32 2005 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: mysql_driver.c,v 1.58 2005/07/14 02:09:08 wez Exp $ */ +/* $Id: mysql_driver.c,v 1.59 2005/07/20 03:38:32 iliaa Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -208,6 +208,8 @@ dbh-alloc_own_columns = 1; + S-max_length = pdo_attr_lval(driver_options, PDO_ATTR_MAX_COLUMN_LEN, 0 TSRMLS_CC); + return 1; #else http://cvs.php.net/diff.php/php-src/ext/pdo_mysql/mysql_statement.c?r1=1.46r2=1.47ty=u Index: php-src/ext/pdo_mysql/mysql_statement.c diff -u php-src/ext/pdo_mysql/mysql_statement.c:1.46 php-src/ext/pdo_mysql/mysql_statement.c:1.47 --- php-src/ext/pdo_mysql/mysql_statement.c:1.46Tue Jul 19 22:36:34 2005 +++ php-src/ext/pdo_mysql/mysql_statement.c Tue Jul 19 23:38:32 2005 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: mysql_statement.c,v 1.46 2005/07/20 02:36:34 iliaa Exp $ */ +/* $Id: mysql_statement.c,v 1.47 2005/07/20 03:38:32 iliaa Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -93,8 +93,7 @@ /* if buffered, pre-fetch all the data */ if (H-buffered) { - /* if we have bound the buffers don't set the attribute again */ - if (!S-result stmt-column_count 0) { + if (S-max_length == 1 !S-result) { my_bool on = 1; mysql_stmt_attr_set(S-stmt, STMT_ATTR_UPDATE_MAX_LENGTH, on); } http://cvs.php.net/diff.php/php-src/ext/pdo/pdo.c?r1=1.55r2=1.56ty=u Index: php-src/ext/pdo/pdo.c diff -u php-src/ext/pdo/pdo.c:1.55 php-src/ext/pdo/pdo.c:1.56 --- php-src/ext/pdo/pdo.c:1.55 Mon Jul 11 22:40:59 2005 +++ php-src/ext/pdo/pdo.c Tue Jul 19 23:38:33 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo.c,v 1.55 2005/07/12 02:40:59 wez Exp $ */ +/* $Id: pdo.c,v 1.56 2005/07/20 03:38:33 iliaa Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -338,6 +338,7 @@ REGISTER_LONG_CONSTANT(PDO_ATTR_FETCH_CATALOG_NAMES, (long)PDO_ATTR_FETCH_CATALOG_NAMES, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT(PDO_ATTR_DRIVER_NAME, (long)PDO_ATTR_DRIVER_NAME, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT(PDO_ATTR_STRINGIFY_FETCHES,(long)PDO_ATTR_STRINGIFY_FETCHES, CONST_CS|CONST_PERSISTENT); + REGISTER_LONG_CONSTANT(PDO_ATTR_MAX_COLUMN_LEN,(long)PDO_ATTR_MAX_COLUMN_LEN, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT(PDO_ERRMODE_SILENT, (long)PDO_ERRMODE_SILENT, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT(PDO_ERRMODE_WARNING, (long)PDO_ERRMODE_WARNING, CONST_CS|CONST_PERSISTENT); http://cvs.php.net/diff.php/php-src/ext/pdo/php_pdo_driver.h?r1=1.65r2=1.66ty=u Index: php-src/ext/pdo/php_pdo_driver.h diff -u php-src/ext/pdo/php_pdo_driver.h:1.65 php-src/ext/pdo/php_pdo_driver.h:1.66 --- php-src/ext/pdo/php_pdo_driver.h:1.65 Mon Jul 11 22:40:59 2005 +++ php-src/ext/pdo/php_pdo_driver.hTue Jul 19 23:38:33 2005 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: php_pdo_driver.h,v 1.65 2005/07/12 02:40:59 wez Exp $ */ +/* $Id: php_pdo_driver.h,v 1.66 2005/07/20 03:38:33 iliaa Exp $ */ #ifndef PHP_PDO_DRIVER_H #define PHP_PDO_DRIVER_H @@ -128,6 +128,7 @@ PDO_ATTR_FETCH_CATALOG_NAMES, /* include the catalog/db name names in the column names, where available */ PDO_ATTR_DRIVER_NAME, /* name of the driver (as used in the constructor) */ PDO_ATTR_STRINGIFY_FETCHES, /* converts integer/float types to strings during fetch */ + PDO_ATTR_MAX_COLUMN_LEN,/* make database calculate maximum length of data found in a column */ /* this defines the start of the range for driver specific options. * Drivers should define their own attribute constants beginning with this -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/pdo pdo.c pdo_dbh.c pdo_stmt.c php_pdo_driver.h
wez Mon Jul 11 22:41:00 2005 EDT Modified files: /php-src/ext/pdopdo.c pdo_dbh.c pdo_stmt.c php_pdo_driver.h Log: expand oracle null handling compatability by offering the ability to convert NULLs into empty strings as well as the other way around. It still doesn't help a great deal in the long run, but at least the option is there. Make sure hash tables are nulled out to avoid double freeing them. http://cvs.php.net/diff.php/php-src/ext/pdo/pdo.c?r1=1.54r2=1.55ty=u Index: php-src/ext/pdo/pdo.c diff -u php-src/ext/pdo/pdo.c:1.54 php-src/ext/pdo/pdo.c:1.55 --- php-src/ext/pdo/pdo.c:1.54 Fri Jul 8 00:12:57 2005 +++ php-src/ext/pdo/pdo.c Mon Jul 11 22:40:59 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo.c,v 1.54 2005/07/08 04:12:57 wez Exp $ */ +/* $Id: pdo.c,v 1.55 2005/07/12 02:40:59 wez Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -346,7 +346,11 @@ REGISTER_LONG_CONSTANT(PDO_CASE_NATURAL, (long)PDO_CASE_NATURAL, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT(PDO_CASE_LOWER,(long)PDO_CASE_LOWER, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT(PDO_CASE_UPPER,(long)PDO_CASE_UPPER, CONST_CS|CONST_PERSISTENT); - + + REGISTER_LONG_CONSTANT(PDO_NULL_NATURAL, (long)PDO_NULL_NATURAL, CONST_CS|CONST_PERSISTENT); + REGISTER_LONG_CONSTANT(PDO_NULL_EMPTY_STRING, (long)PDO_NULL_EMPTY_STRING,CONST_CS|CONST_PERSISTENT); + REGISTER_LONG_CONSTANT(PDO_NULL_TO_STRING, (long)PDO_NULL_TO_STRING, CONST_CS|CONST_PERSISTENT); + REGISTER_STRING_CONSTANT(PDO_ERR_NONE,PDO_ERR_NONE, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT(PDO_FETCH_ORI_NEXT, (long)PDO_FETCH_ORI_NEXT, CONST_CS|CONST_PERSISTENT); http://cvs.php.net/diff.php/php-src/ext/pdo/pdo_dbh.c?r1=1.81r2=1.82ty=u Index: php-src/ext/pdo/pdo_dbh.c diff -u php-src/ext/pdo/pdo_dbh.c:1.81 php-src/ext/pdo/pdo_dbh.c:1.82 --- php-src/ext/pdo/pdo_dbh.c:1.81 Fri Jul 8 22:53:05 2005 +++ php-src/ext/pdo/pdo_dbh.c Mon Jul 11 22:40:59 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo_dbh.c,v 1.81 2005/07/09 02:53:05 iliaa Exp $ */ +/* $Id: pdo_dbh.c,v 1.82 2005/07/12 02:40:59 wez Exp $ */ /* The PDO Database Handle Class */ @@ -691,7 +691,7 @@ case PDO_ATTR_ORACLE_NULLS: convert_to_long(value); - dbh-oracle_nulls = Z_LVAL_P(value) ? 1 : 0; + dbh-oracle_nulls = Z_LVAL_P(value); RETURN_TRUE; case PDO_ATTR_STRINGIFY_FETCHES: @@ -746,7 +746,7 @@ RETURN_LONG(dbh-desired_case); case PDO_ATTR_ORACLE_NULLS: - RETURN_BOOL(dbh-oracle_nulls); + RETURN_LONG(dbh-oracle_nulls); case PDO_ATTR_ERRMODE: RETURN_LONG(dbh-error_mode); http://cvs.php.net/diff.php/php-src/ext/pdo/pdo_stmt.c?r1=1.109r2=1.110ty=u Index: php-src/ext/pdo/pdo_stmt.c diff -u php-src/ext/pdo/pdo_stmt.c:1.109 php-src/ext/pdo/pdo_stmt.c:1.110 --- php-src/ext/pdo/pdo_stmt.c:1.109Mon Jul 11 10:14:56 2005 +++ php-src/ext/pdo/pdo_stmt.c Mon Jul 11 22:40:59 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo_stmt.c,v 1.109 2005/07/11 14:14:56 andrey Exp $ */ +/* $Id: pdo_stmt.c,v 1.110 2005/07/12 02:40:59 wez Exp $ */ /* The PDO Statement Handle Class */ @@ -476,7 +476,7 @@ break; case PDO_PARAM_STR: - if (value !(value_len == 0 stmt-dbh-oracle_nulls)) { + if (value !(value_len == 0 stmt-dbh-oracle_nulls == PDO_NULL_EMPTY_STRING)) { ZVAL_STRINGL(dest, value, value_len, !caller_frees); if (caller_frees) { caller_frees = 0; @@ -499,6 +499,10 @@ break; } } + + if (Z_TYPE_P(dest) == IS_NULL stmt-dbh-oracle_nulls == PDO_NULL_TO_STRING) { + ZVAL_EMPTY_STRING(dest); + } } /* }}} */ @@ -1898,14 +1902,17 @@ if (stmt-bound_params) { zend_hash_destroy(stmt-bound_params); FREE_HASHTABLE(stmt-bound_params); + stmt-bound_params = NULL; } if (stmt-bound_param_map) { zend_hash_destroy(stmt-bound_param_map); FREE_HASHTABLE(stmt-bound_param_map); + stmt-bound_param_map = NULL; } if (stmt-bound_columns) { zend_hash_destroy(stmt-bound_columns);
[PHP-CVS] cvs: php-src /ext/pdo pdo.c pdo_dbh.c
wez Thu Jul 7 13:08:03 2005 EDT Modified files: /php-src/ext/pdopdo.c pdo_dbh.c Log: populate the new dbh-driver field. Implement PDO_ATTR_DRIVER_NAME. http://cvs.php.net/diff.php/php-src/ext/pdo/pdo.c?r1=1.52r2=1.53ty=u Index: php-src/ext/pdo/pdo.c diff -u php-src/ext/pdo/pdo.c:1.52 php-src/ext/pdo/pdo.c:1.53 --- php-src/ext/pdo/pdo.c:1.52 Sat Jul 2 23:49:44 2005 +++ php-src/ext/pdo/pdo.c Thu Jul 7 13:08:01 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo.c,v 1.52 2005/07/03 03:49:44 wez Exp $ */ +/* $Id: pdo.c,v 1.53 2005/07/07 17:08:01 wez Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -336,6 +336,7 @@ REGISTER_LONG_CONSTANT(PDO_ATTR_STATEMENT_CLASS, (long)PDO_ATTR_STATEMENT_CLASS, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT(PDO_ATTR_FETCH_TABLE_NAMES, (long)PDO_ATTR_FETCH_TABLE_NAMES, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT(PDO_ATTR_FETCH_CATALOG_NAMES, (long)PDO_ATTR_FETCH_CATALOG_NAMES, CONST_CS|CONST_PERSISTENT); + REGISTER_LONG_CONSTANT(PDO_ATTR_DRIVER_NAME, (long)PDO_ATTR_DRIVER_NAME, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT(PDO_ERRMODE_SILENT, (long)PDO_ERRMODE_SILENT, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT(PDO_ERRMODE_WARNING, (long)PDO_ERRMODE_WARNING, CONST_CS|CONST_PERSISTENT); http://cvs.php.net/diff.php/php-src/ext/pdo/pdo_dbh.c?r1=1.77r2=1.78ty=u Index: php-src/ext/pdo/pdo_dbh.c diff -u php-src/ext/pdo/pdo_dbh.c:1.77 php-src/ext/pdo/pdo_dbh.c:1.78 --- php-src/ext/pdo/pdo_dbh.c:1.77 Thu Jul 7 07:19:56 2005 +++ php-src/ext/pdo/pdo_dbh.c Thu Jul 7 13:08:01 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo_dbh.c,v 1.77 2005/07/07 11:19:56 dmitry Exp $ */ +/* $Id: pdo_dbh.c,v 1.78 2005/07/07 17:08:01 wez Exp $ */ /* The PDO Database Handle Class */ @@ -390,6 +390,8 @@ php_error_docref(NULL TSRMLS_CC, E_ERROR, Failed to register persistent entry); } } + + dbh-driver = driver; return; } @@ -744,6 +746,8 @@ case PDO_ATTR_ERRMODE: RETURN_LONG(dbh-error_mode); + case PDO_ATTR_DRIVER_NAME: + RETURN_STRINGL(dbh-driver-driver_name, dbh-driver-driver_name_len, 1); } if (!dbh-methods-get_attribute) { -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/pdo pdo.c pdo_dbh.c pdo_stmt.c php_pdo_driver.h /ext/pdo/tests pdo_test.inc
wez Fri Jul 8 00:13:01 2005 EDT Modified files: /php-src/ext/pdopdo.c pdo_dbh.c pdo_stmt.c php_pdo_driver.h /php-src/ext/pdo/tests pdo_test.inc Log: Add a PDO_ATTR_STRINGIFY_FETCHES attribute, which is used to convert integer or floating point values into strings during fetch. This is a compatibility hack for drivers that return native types rather than string representations. We use this flag in the test suite to persuade postgres tests to pass. http://cvs.php.net/diff.php/php-src/ext/pdo/pdo.c?r1=1.53r2=1.54ty=u Index: php-src/ext/pdo/pdo.c diff -u php-src/ext/pdo/pdo.c:1.53 php-src/ext/pdo/pdo.c:1.54 --- php-src/ext/pdo/pdo.c:1.53 Thu Jul 7 13:08:01 2005 +++ php-src/ext/pdo/pdo.c Fri Jul 8 00:12:57 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo.c,v 1.53 2005/07/07 17:08:01 wez Exp $ */ +/* $Id: pdo.c,v 1.54 2005/07/08 04:12:57 wez Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -337,6 +337,7 @@ REGISTER_LONG_CONSTANT(PDO_ATTR_FETCH_TABLE_NAMES, (long)PDO_ATTR_FETCH_TABLE_NAMES, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT(PDO_ATTR_FETCH_CATALOG_NAMES, (long)PDO_ATTR_FETCH_CATALOG_NAMES, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT(PDO_ATTR_DRIVER_NAME, (long)PDO_ATTR_DRIVER_NAME, CONST_CS|CONST_PERSISTENT); + REGISTER_LONG_CONSTANT(PDO_ATTR_STRINGIFY_FETCHES,(long)PDO_ATTR_STRINGIFY_FETCHES, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT(PDO_ERRMODE_SILENT, (long)PDO_ERRMODE_SILENT, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT(PDO_ERRMODE_WARNING, (long)PDO_ERRMODE_WARNING, CONST_CS|CONST_PERSISTENT); http://cvs.php.net/diff.php/php-src/ext/pdo/pdo_dbh.c?r1=1.78r2=1.79ty=u Index: php-src/ext/pdo/pdo_dbh.c diff -u php-src/ext/pdo/pdo_dbh.c:1.78 php-src/ext/pdo/pdo_dbh.c:1.79 --- php-src/ext/pdo/pdo_dbh.c:1.78 Thu Jul 7 13:08:01 2005 +++ php-src/ext/pdo/pdo_dbh.c Fri Jul 8 00:12:58 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo_dbh.c,v 1.78 2005/07/07 17:08:01 wez Exp $ */ +/* $Id: pdo_dbh.c,v 1.79 2005/07/08 04:12:58 wez Exp $ */ /* The PDO Database Handle Class */ @@ -693,6 +693,11 @@ convert_to_long(value); dbh-oracle_nulls = Z_LVAL_P(value) ? 1 : 0; RETURN_TRUE; + + case PDO_ATTR_STRINGIFY_FETCHES: + convert_to_long(value); + dbh-stringify = Z_LVAL_P(value) ? 1 : 0; + RETURN_TRUE; default: ; http://cvs.php.net/diff.php/php-src/ext/pdo/pdo_stmt.c?r1=1.104r2=1.105ty=u Index: php-src/ext/pdo/pdo_stmt.c diff -u php-src/ext/pdo/pdo_stmt.c:1.104 php-src/ext/pdo/pdo_stmt.c:1.105 --- php-src/ext/pdo/pdo_stmt.c:1.104Thu Jul 7 11:14:10 2005 +++ php-src/ext/pdo/pdo_stmt.c Fri Jul 8 00:12:58 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo_stmt.c,v 1.104 2005/07/07 15:14:10 iliaa Exp $ */ +/* $Id: pdo_stmt.c,v 1.105 2005/07/08 04:12:58 wez Exp $ */ /* The PDO Statement Handle Class */ @@ -481,6 +481,15 @@ if (caller_frees value) { efree(value); } + + if (stmt-dbh-stringify) { + switch (Z_TYPE_P(dest)) { + case IS_LONG: + case IS_DOUBLE: + convert_to_string(dest); + break; + } + } } /* }}} */ http://cvs.php.net/diff.php/php-src/ext/pdo/php_pdo_driver.h?r1=1.60r2=1.61ty=u Index: php-src/ext/pdo/php_pdo_driver.h diff -u php-src/ext/pdo/php_pdo_driver.h:1.60 php-src/ext/pdo/php_pdo_driver.h:1.61 --- php-src/ext/pdo/php_pdo_driver.h:1.60 Thu Jul 7 12:24:51 2005 +++ php-src/ext/pdo/php_pdo_driver.hFri Jul 8 00:12:58 2005 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: php_pdo_driver.h,v 1.60 2005/07/07 16:24:51 wez Exp $ */ +/* $Id: php_pdo_driver.h,v 1.61 2005/07/08 04:12:58 wez Exp $ */ #ifndef PHP_PDO_DRIVER_H #define PHP_PDO_DRIVER_H @@ -44,7 +44,7 @@ # define FALSE 0 #endif -#define PDO_DRIVER_API 20050707 +#define PDO_DRIVER_API 20050708 enum pdo_param_type { PDO_PARAM_NULL, @@ -127,6 +127,7 @@ PDO_ATTR_FETCH_TABLE_NAMES, /* include table names in the column names, where available */ PDO_ATTR_FETCH_CATALOG_NAMES, /* include the catalog/db name names in the column names, where available */ PDO_ATTR_DRIVER_NAME, /* name of the driver (as used in the constructor) */ +
[PHP-CVS] cvs: php-src /ext/pdo pdo.c pdo_stmt.c php_pdo_driver.h
wez Sat Jul 2 23:49:45 2005 EDT Modified files: /php-src/ext/pdopdo.c pdo_stmt.c php_pdo_driver.h Log: Add PDO_FETCH_NAMED; closes PECL #4641 by providing a way to access columns by name, even when multiple columns have the same name: $sql = SELECT 1 a, 2 a, 3 b, 4 c, 5 d, 6 c, 7 a; echo $sql\n; print_r($db-query($sql)-fetchAll(PDO_FETCH_NAMED)); Array ( [0] = Array ( [a] = Array ( [0] = 1 [1] = 2 [2] = 7 ) [b] = 3 [c] = Array ( [0] = 4 [1] = 6 ) [d] = 5 ) ) Also added two new attributes for use at prepare time; PDO_ATTR_FETCH_TABLE_NAMES and PDO_ATTR_FETCH_CATALOG_NAMES instruct the driver that the names of the columns that they return to PDO should include the table and catalog names respectively. Both attributes may be used together or independently. The catalog, table and column name components should be separated by a . character. http://cvs.php.net/diff.php/php-src/ext/pdo/pdo.c?r1=1.51r2=1.52ty=u Index: php-src/ext/pdo/pdo.c diff -u php-src/ext/pdo/pdo.c:1.51 php-src/ext/pdo/pdo.c:1.52 --- php-src/ext/pdo/pdo.c:1.51 Wed Jun 22 20:19:15 2005 +++ php-src/ext/pdo/pdo.c Sat Jul 2 23:49:44 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo.c,v 1.51 2005/06/23 00:19:15 helly Exp $ */ +/* $Id: pdo.c,v 1.52 2005/07/03 03:49:44 wez Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -318,6 +318,7 @@ #if PHP_MAJOR_VERSION 5 || PHP_MINOR_VERSION = 1 REGISTER_LONG_CONSTANT(PDO_FETCH_SERIALIZE,(long)PDO_FETCH_SERIALIZE, CONST_CS|CONST_PERSISTENT); #endif + REGISTER_LONG_CONSTANT(PDO_FETCH_NAMED,(long)PDO_FETCH_NAMED, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT(PDO_ATTR_AUTOCOMMIT, (long)PDO_ATTR_AUTOCOMMIT, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT(PDO_ATTR_PREFETCH, (long)PDO_ATTR_PREFETCH,CONST_CS|CONST_PERSISTENT); @@ -333,6 +334,8 @@ REGISTER_LONG_CONSTANT(PDO_ATTR_ORACLE_NULLS, (long)PDO_ATTR_ORACLE_NULLS,CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT(PDO_ATTR_PERSISTENT, (long)PDO_ATTR_PERSISTENT, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT(PDO_ATTR_STATEMENT_CLASS, (long)PDO_ATTR_STATEMENT_CLASS, CONST_CS|CONST_PERSISTENT); + REGISTER_LONG_CONSTANT(PDO_ATTR_FETCH_TABLE_NAMES, (long)PDO_ATTR_FETCH_TABLE_NAMES, CONST_CS|CONST_PERSISTENT); + REGISTER_LONG_CONSTANT(PDO_ATTR_FETCH_CATALOG_NAMES, (long)PDO_ATTR_FETCH_CATALOG_NAMES, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT(PDO_ERRMODE_SILENT, (long)PDO_ERRMODE_SILENT, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT(PDO_ERRMODE_WARNING, (long)PDO_ERRMODE_WARNING, CONST_CS|CONST_PERSISTENT); http://cvs.php.net/diff.php/php-src/ext/pdo/pdo_stmt.c?r1=1.100r2=1.101ty=u Index: php-src/ext/pdo/pdo_stmt.c diff -u php-src/ext/pdo/pdo_stmt.c:1.100 php-src/ext/pdo/pdo_stmt.c:1.101 --- php-src/ext/pdo/pdo_stmt.c:1.100Sat Jul 2 13:19:58 2005 +++ php-src/ext/pdo/pdo_stmt.c Sat Jul 2 23:49:44 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo_stmt.c,v 1.100 2005/07/02 17:19:58 iliaa Exp $ */ +/* $Id: pdo_stmt.c,v 1.101 2005/07/03 03:49:44 wez Exp $ */ /* The PDO Statement Handle Class */ @@ -735,6 +735,7 @@ case PDO_FETCH_ASSOC: case PDO_FETCH_BOTH: case PDO_FETCH_NUM: + case PDO_FETCH_NAMED: array_init(return_value); break; @@ -842,6 +843,43 @@ add_next_index_zval(return_value, val); break; + case PDO_FETCH_NAMED: + /* already have an item with this name? */ + { + zval **curr_val = NULL; + if (zend_hash_find(Z_ARRVAL_P(return_value), stmt-columns[i].name, + strlen(stmt-columns[i].name)+1, + (void**)curr_val) == SUCCESS) { + zval *arr; + if (Z_TYPE_PP(curr_val) != IS_ARRAY) { +
[PHP-CVS] cvs: php-src /ext/pdo pdo.c
wez Fri Jun 10 02:11:30 2005 EDT Modified files: /php-src/ext/pdopdo.c Log: Fix PECL #4411 SPL is not initialized before PDO, so inheriting from SPL's runtime exception class gives PDO a broken exception class. We don't currently have a way to express this kind of soft dependency in the build system, so I'm disabling inheriting from the runtime exception for now. http://cvs.php.net/diff.php/php-src/ext/pdo/pdo.c?r1=1.48r2=1.49ty=u Index: php-src/ext/pdo/pdo.c diff -u php-src/ext/pdo/pdo.c:1.48 php-src/ext/pdo/pdo.c:1.49 --- php-src/ext/pdo/pdo.c:1.48 Tue Mar 29 12:23:36 2005 +++ php-src/ext/pdo/pdo.c Fri Jun 10 02:11:29 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo.c,v 1.48 2005/03/29 17:23:36 tony2001 Exp $ */ +/* $Id: pdo.c,v 1.49 2005/06/10 06:11:29 wez Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -352,7 +352,7 @@ #endif INIT_CLASS_ENTRY(ce, PDOException, NULL); -#if defined(HAVE_SPL) ((PHP_MAJOR_VERSION 5) || (PHP_MAJOR_VERSION == 5 PHP_MINOR_VERSION = 1)) +#if can_handle_soft_dependency_on_SPL defined(HAVE_SPL) ((PHP_MAJOR_VERSION 5) || (PHP_MAJOR_VERSION == 5 PHP_MINOR_VERSION = 1)) pdo_exception_ce = zend_register_internal_class_ex(ce, spl_ce_RuntimeException, NULL TSRMLS_CC); #else pdo_exception_ce = zend_register_internal_class_ex(ce, zend_exception_get_default(), NULL TSRMLS_CC); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php-src /ext/pdo pdo.c
Hello Wez, we could check if spl is initialized and if not forcefully initialize it in pdo's MINIT. marcus Friday, June 10, 2005, 8:11:30 AM, you wrote: wez Fri Jun 10 02:11:30 2005 EDT Modified files: /php-src/ext/pdopdo.c Log: Fix PECL #4411 SPL is not initialized before PDO, so inheriting from SPL's runtime exception class gives PDO a broken exception class. We don't currently have a way to express this kind of soft dependency in the build system, so I'm disabling inheriting from the runtime exception for now. http://cvs.php.net/diff.php/php-src/ext/pdo/pdo.c?r1=1.48r2=1.49ty=u Index: php-src/ext/pdo/pdo.c diff -u php-src/ext/pdo/pdo.c:1.48 php-src/ext/pdo/pdo.c:1.49 --- php-src/ext/pdo/pdo.c:1.48 Tue Mar 29 12:23:36 2005 +++ php-src/ext/pdo/pdo.c Fri Jun 10 02:11:29 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo.c,v 1.48 2005/03/29 17:23:36 tony2001 Exp $ */ +/* $Id: pdo.c,v 1.49 2005/06/10 06:11:29 wez Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -352,7 +352,7 @@ #endif INIT_CLASS_ENTRY(ce, PDOException, NULL); -#if defined(HAVE_SPL) ((PHP_MAJOR_VERSION 5) || (PHP_MAJOR_VERSION == 5 PHP_MINOR_VERSION = 1)) +#if can_handle_soft_dependency_on_SPL defined(HAVE_SPL) ((PHP_MAJOR_VERSION 5) || (PHP_MAJOR_VERSION == 5 PHP_MINOR_VERSION = 1)) pdo_exception_ce = zend_register_internal_class_ex(ce, spl_ce_RuntimeException, NULL TSRMLS_CC); #else pdo_exception_ce = zend_register_internal_class_ex(ce, zend_exception_get_default(), NULL TSRMLS_CC); -- Best regards, Marcusmailto:[EMAIL PROTECTED] -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php-src /ext/pdo pdo.c
That patch of mine to the extension loading mechanism should fix this? Just add a dependancy of spl to pdo..and fix the 'delayed' startup routine. :) --Jani On Fri, 10 Jun 2005, Marcus Boerger wrote: Hello Wez, we could check if spl is initialized and if not forcefully initialize it in pdo's MINIT. marcus Friday, June 10, 2005, 8:11:30 AM, you wrote: wez Fri Jun 10 02:11:30 2005 EDT Modified files: /php-src/ext/pdopdo.c Log: Fix PECL #4411 SPL is not initialized before PDO, so inheriting from SPL's runtime exception class gives PDO a broken exception class. We don't currently have a way to express this kind of soft dependency in the build system, so I'm disabling inheriting from the runtime exception for now. http://cvs.php.net/diff.php/php-src/ext/pdo/pdo.c?r1=1.48r2=1.49ty=u Index: php-src/ext/pdo/pdo.c diff -u php-src/ext/pdo/pdo.c:1.48 php-src/ext/pdo/pdo.c:1.49 --- php-src/ext/pdo/pdo.c:1.48 Tue Mar 29 12:23:36 2005 +++ php-src/ext/pdo/pdo.c Fri Jun 10 02:11:29 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo.c,v 1.48 2005/03/29 17:23:36 tony2001 Exp $ */ +/* $Id: pdo.c,v 1.49 2005/06/10 06:11:29 wez Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -352,7 +352,7 @@ #endif INIT_CLASS_ENTRY(ce, PDOException, NULL); -#if defined(HAVE_SPL) ((PHP_MAJOR_VERSION 5) || (PHP_MAJOR_VERSION == 5 PHP_MINOR_VERSION = 1)) +#if can_handle_soft_dependency_on_SPL defined(HAVE_SPL) ((PHP_MAJOR_VERSION 5) || (PHP_MAJOR_VERSION == 5 PHP_MINOR_VERSION = 1)) pdo_exception_ce = zend_register_internal_class_ex(ce, spl_ce_RuntimeException, NULL TSRMLS_CC); #else pdo_exception_ce = zend_register_internal_class_ex(ce, zend_exception_get_default(), NULL TSRMLS_CC); -- Donate @ http://pecl.php.net/wishlist.php/sniper -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php-src /ext/pdo pdo.c
Yeah, that's what I'm thinking--would you mind posting that to internals for consideration for 5.1? I think it would be a strong addition. --Wez. On 6/10/05, Jani Taskinen [EMAIL PROTECTED] wrote: That patch of mine to the extension loading mechanism should fix this? Just add a dependancy of spl to pdo..and fix the 'delayed' startup routine. :) --Jani On Fri, 10 Jun 2005, Marcus Boerger wrote: Hello Wez, we could check if spl is initialized and if not forcefully initialize it in pdo's MINIT. marcus Friday, June 10, 2005, 8:11:30 AM, you wrote: wez Fri Jun 10 02:11:30 2005 EDT Modified files: /php-src/ext/pdopdo.c Log: Fix PECL #4411 SPL is not initialized before PDO, so inheriting from SPL's runtime exception class gives PDO a broken exception class. We don't currently have a way to express this kind of soft dependency in the build system, so I'm disabling inheriting from the runtime exception for now. http://cvs.php.net/diff.php/php-src/ext/pdo/pdo.c?r1=1.48r2=1.49ty=u Index: php-src/ext/pdo/pdo.c diff -u php-src/ext/pdo/pdo.c:1.48 php-src/ext/pdo/pdo.c:1.49 --- php-src/ext/pdo/pdo.c:1.48 Tue Mar 29 12:23:36 2005 +++ php-src/ext/pdo/pdo.c Fri Jun 10 02:11:29 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo.c,v 1.48 2005/03/29 17:23:36 tony2001 Exp $ */ +/* $Id: pdo.c,v 1.49 2005/06/10 06:11:29 wez Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -352,7 +352,7 @@ #endif INIT_CLASS_ENTRY(ce, PDOException, NULL); -#if defined(HAVE_SPL) ((PHP_MAJOR_VERSION 5) || (PHP_MAJOR_VERSION == 5 PHP_MINOR_VERSION = 1)) +#if can_handle_soft_dependency_on_SPL defined(HAVE_SPL) ((PHP_MAJOR_VERSION 5) || (PHP_MAJOR_VERSION == 5 PHP_MINOR_VERSION = 1)) pdo_exception_ce = zend_register_internal_class_ex(ce, spl_ce_RuntimeException, NULL TSRMLS_CC); #else pdo_exception_ce = zend_register_internal_class_ex(ce, zend_exception_get_default(), NULL TSRMLS_CC); -- Donate @ http://pecl.php.net/wishlist.php/sniper -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/pdo pdo.c
tony2001Tue Mar 29 12:23:37 2005 EDT Modified files: /php-src/ext/pdopdo.c Log: fix segfault buffer overrun when there is no PDO drivers plugged in (patch by [EMAIL PROTECTED]) http://cvs.php.net/diff.php/php-src/ext/pdo/pdo.c?r1=1.47r2=1.48ty=u Index: php-src/ext/pdo/pdo.c diff -u php-src/ext/pdo/pdo.c:1.47 php-src/ext/pdo/pdo.c:1.48 --- php-src/ext/pdo/pdo.c:1.47 Tue Mar 22 05:36:25 2005 +++ php-src/ext/pdo/pdo.c Tue Mar 29 12:23:36 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo.c,v 1.47 2005/03/22 10:36:25 helly Exp $ */ +/* $Id: pdo.c,v 1.48 2005/03/29 17:23:36 tony2001 Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -410,9 +410,11 @@ ldrivers = drivers; } - php_info_print_table_row(2, PDO drivers, drivers+2); - - efree(drivers); + php_info_print_table_row(2, PDO drivers, drivers ? drivers+2 : ); + + if (drivers) { + efree(drivers); + } php_info_print_table_end(); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/pdo pdo.c pdo_dbh.c php_pdo_driver.h /ext/pdo_mysql mysql_driver.c /ext/pdo_pgsql pgsql_driver.c /ext/pdo_sqlite sqlite_driver.c
wez Sat Feb 26 12:27:51 2005 EDT Modified files: /php-src/ext/pdopdo.c pdo_dbh.c php_pdo_driver.h /php-src/ext/pdo_mysql mysql_driver.c /php-src/ext/pdo_pgsql pgsql_driver.c /php-src/ext/pdo_sqlite sqlite_driver.c Log: Alan: moved your fields away, but reserved you a pointer. Changed PDO::lastInsertId() to have following proto: string PDO::lastInsertId([string name]) this allows arbitrary unique identitifers to be returned from the driver. The optional name parameter is for databases that require additional contextual information to be able to return the correct identifier. None currently use it, but pgsql will be on the list of drivers that do. http://cvs.php.net/diff.php/php-src/ext/pdo/pdo.c?r1=1.38r2=1.39ty=u Index: php-src/ext/pdo/pdo.c diff -u php-src/ext/pdo/pdo.c:1.38 php-src/ext/pdo/pdo.c:1.39 --- php-src/ext/pdo/pdo.c:1.38 Tue Feb 22 19:52:14 2005 +++ php-src/ext/pdo/pdo.c Sat Feb 26 12:27:51 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo.c,v 1.38 2005/02/23 00:52:14 helly Exp $ */ +/* $Id: pdo.c,v 1.39 2005/02/26 17:27:51 wez Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -203,7 +203,47 @@ return n_matches; } - + +static const char digit_vec[] = 0123456789; +PDO_API char *php_pdo_int64_to_str(pdo_int64_t i64 TSRMLS_DC) +{ + char buffer[65]; + char outbuf[65] = ; + register char *p; + long long_val; + char *dst = outbuf; + + if (i64 0) { + i64 = -i64; + *dst++ = '-'; + } + + if (i64 == 0) { + *dst++ = '0'; + *dst++ = '\0'; + return estrdup(outbuf); + } + + p = buffer[sizeof(buffer)-1]; + *p = '\0'; + + while ((pdo_uint64_t)i64 (pdo_uint64_t)LONG_MAX) { + pdo_uint64_t quo = (pdo_uint64_t)i64 / (unsigned int)10; + unsigned int rem = (unsigned int)(i64 - quo*10U); + *--p = digit_vec[rem]; + i64 = (pdo_int64_t)quo; + } + long_val = (long)i64; + while (long_val != 0) { + long quo = long_val / 10; + *--p = digit_vec[(unsigned int)(long_val - quo * 10)]; + long_val = quo; + } + while ((*dst++ = *p++) != 0) + ; + *dst = '\0'; + return estrdup(outbuf); +} /* {{{ PHP_MINIT_FUNCTION */ PHP_MINIT_FUNCTION(pdo) http://cvs.php.net/diff.php/php-src/ext/pdo/pdo_dbh.c?r1=1.63r2=1.64ty=u Index: php-src/ext/pdo/pdo_dbh.c diff -u php-src/ext/pdo/pdo_dbh.c:1.63 php-src/ext/pdo/pdo_dbh.c:1.64 --- php-src/ext/pdo/pdo_dbh.c:1.63 Wed Feb 23 18:28:30 2005 +++ php-src/ext/pdo/pdo_dbh.c Sat Feb 26 12:27:51 2005 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo_dbh.c,v 1.63 2005/02/23 23:28:30 helly Exp $ */ +/* $Id: pdo_dbh.c,v 1.64 2005/02/26 17:27:51 wez Exp $ */ /* The PDO Database Handle Class */ @@ -752,13 +752,15 @@ /* }}} */ -/* {{{ proto int PDO::lastInsertId() - Returns the number id of rows that we affected by the last call to PDO::exec(). Not always meaningful. */ +/* {{{ proto string PDO::lastInsertId([string seqname]) + Returns the id of the last row that we affected on this connection. Some databases require a sequence or table name to be passed in. Not always meaningful. */ static PHP_METHOD(PDO, lastInsertId) { pdo_dbh_t *dbh = zend_object_store_get_object(getThis() TSRMLS_CC); + char *name = NULL; + int namelen; - if (ZEND_NUM_ARGS()) { + if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, |s!, name, namelen)) { RETURN_FALSE; } @@ -767,7 +769,13 @@ pdo_raise_impl_error(dbh, NULL, IM001, driver does not support lastInsertId() TSRMLS_CC); RETURN_FALSE; } else { - RETURN_LONG(dbh-methods-last_id(dbh TSRMLS_CC)); + Z_STRVAL_P(return_value) = dbh-methods-last_id(dbh, name, Z_STRLEN_P(return_value) TSRMLS_CC); + if (!Z_STRVAL_P(return_value)) { + PDO_HANDLE_DBH_ERR(); + RETURN_FALSE; + } else { + Z_TYPE_P(return_value) = IS_STRING; + } } } /* }}} */ http://cvs.php.net/diff.php/php-src/ext/pdo/php_pdo_driver.h?r1=1.53r2=1.54ty=u Index: php-src/ext/pdo/php_pdo_driver.h diff -u php-src/ext/pdo/php_pdo_driver.h:1.53 php-src/ext/pdo/php_pdo_driver.h:1.54 --- php-src/ext/pdo/php_pdo_driver.h:1.53 Tue Feb 22 15:25:55 2005 +++ php-src/ext/pdo/php_pdo_driver.hSat Feb 26 12:27:51 2005 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: php_pdo_driver.h,v 1.53 2005/02/22 20:25:55 helly Exp $ */ +/* $Id: