iliaa           Mon Dec  4 02:40:09 2006 UTC

  Modified files:              (Branch: PHP_5_2)
    /php-src/ext/pdo    pdo_dbh.c 
    /php-src    NEWS 
  Log:
  Fixed bug #38252 (Incorrect PDO error message on invalid default fetch mode).
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/pdo_dbh.c?r1=1.82.2.31.2.7&r2=1.82.2.31.2.8&diff_format=u
Index: php-src/ext/pdo/pdo_dbh.c
diff -u php-src/ext/pdo/pdo_dbh.c:1.82.2.31.2.7 
php-src/ext/pdo/pdo_dbh.c:1.82.2.31.2.8
--- php-src/ext/pdo/pdo_dbh.c:1.82.2.31.2.7     Mon Aug 21 16:53:50 2006
+++ php-src/ext/pdo/pdo_dbh.c   Mon Dec  4 02:40:08 2006
@@ -18,7 +18,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: pdo_dbh.c,v 1.82.2.31.2.7 2006/08/21 16:53:50 iliaa Exp $ */
+/* $Id: pdo_dbh.c,v 1.82.2.31.2.8 2006/12/04 02:40:08 iliaa Exp $ */
 
 /* The PDO Database Handle Class */
 
@@ -706,6 +706,15 @@
                        return SUCCESS;
 
                case PDO_ATTR_DEFAULT_FETCH_MODE:
+                       if (Z_TYPE_P(value) == IS_ARRAY) {
+                               zval **tmp;
+                               if (zend_hash_index_find(Z_ARRVAL_P(value), 0, 
(void**)&tmp) == SUCCESS && Z_TYPE_PP(tmp) == IS_LONG) {
+                                       if (Z_LVAL_PP(tmp) == PDO_FETCH_INTO || 
Z_LVAL_PP(tmp) == PDO_FETCH_CLASS) {
+                                               pdo_raise_impl_error(dbh, NULL, 
"HY000", "FETCH_INTO and FETCH_CLASS are not yet supported as default fetch 
modes" TSRMLS_CC);
+                                               return FAILURE;
+                                       }
+                               }
+                       }
                        convert_to_long(value);
                        if (Z_LVAL_P(value) == PDO_FETCH_USE_DEFAULT) {
                                pdo_raise_impl_error(dbh, NULL, "HY000", 
"invalid fetch mode type" TSRMLS_CC);
http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.395&r2=1.2027.2.547.2.396&diff_format=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.2027.2.547.2.395 php-src/NEWS:1.2027.2.547.2.396
--- php-src/NEWS:1.2027.2.547.2.395     Mon Dec  4 00:38:46 2006
+++ php-src/NEWS        Mon Dec  4 02:40:08 2006
@@ -131,6 +131,8 @@
   (Dmitry)
 - Fixed bug #38456 (Apache2 segfaults when virtual() is called in .php
   ErrorDocument). (Ilia)
+- Fixed bug #38252 (Incorrect PDO error message on invalid default fetch
+  mode). (Ilia)
 - Fixed bug #37773 (iconv_substr() gives "Unknown error" when string length = 
1").
   (Ilia)
 - Fixed bug #36975 (natcasesort() causes array_pop() to misbehave). (Hannes)

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to