]> granicus.if.org Git - php/commitdiff
Remove PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT
authorNikita Popov <nikic@php.net>
Fri, 24 Apr 2015 16:08:18 +0000 (18:08 +0200)
committerNikita Popov <nikic@php.net>
Fri, 24 Apr 2015 16:08:18 +0000 (18:08 +0200)
Use the generic ATTR_EMULATE_PREPARES instead.

NEWS
UPGRADING
ext/pdo_pgsql/pdo_pgsql.c
ext/pdo_pgsql/pgsql_driver.c
ext/pdo_pgsql/php_pdo_pgsql_int.h
ext/pdo_pgsql/tests/bug48764.phpt
ext/pdo_pgsql/tests/bug68371.phpt

diff --git a/NEWS b/NEWS
index 909c5585fce413c3d364e02e2d639a6f750106ed..dcf86de5b393c19895e0a58352d44aa6e4d5819c 100644 (file)
--- a/NEWS
+++ b/NEWS
   . Fixed bug #68424 (Add new PDO mysql connection attr to control multi
     statements option). (peter dot wolanin at acquia dot com)
 
+- PDO_pgsql:
+  . Removed PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT attribute in favor of
+    ATTR_EMULATE_PREPARES). (Nikita)
+
 - Reflection
   . Fixed inheritance chain of Reflector interface. (Tjerk)
 
index 7155c640c9c99a1283757a301aec732bcb2c5589..d0551b6e579b008e9088643a0bee9d1c1ef07074 100644 (file)
--- a/UPGRADING
+++ b/UPGRADING
@@ -487,6 +487,10 @@ Other
   . Removed support for /e (PREG_REPLACE_EVAL) modifier. Use
     preg_reaplace_callback() instead.
 
+- PDO_pgsql:
+  . Removed PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT attribute in favor of
+    ATTR_EMULATE_PREPARES.
+
 - Standard:
   . Removed string category support in setlocale(). Use the LC_* constants
     instead.
index abb0ee1c39786b7aa3ae6455545323c1f1dada6a..83d243f0726e7f6ec80df5eb0035cf9ab8a2383b 100644 (file)
@@ -81,7 +81,6 @@ ZEND_GET_MODULE(pdo_pgsql)
  */
 PHP_MINIT_FUNCTION(pdo_pgsql)
 {
-       REGISTER_PDO_CLASS_CONST_LONG("PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT", PDO_PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT);
        REGISTER_PDO_CLASS_CONST_LONG("PGSQL_ATTR_DISABLE_PREPARES", PDO_PGSQL_ATTR_DISABLE_PREPARES);
        REGISTER_PDO_CLASS_CONST_LONG("PGSQL_TRANSACTION_IDLE", (zend_long)PGSQL_TRANSACTION_IDLE);
        REGISTER_PDO_CLASS_CONST_LONG("PGSQL_TRANSACTION_ACTIVE", (zend_long)PGSQL_TRANSACTION_ACTIVE);
index 4c907cc63170a2737c32432fb0d86cecaf727533..0a7ce6368dcd0921c4e9466b5121559935f79840 100644 (file)
@@ -243,10 +243,6 @@ static int pgsql_handle_preparer(pdo_dbh_t *dbh, const char *sql, size_t sql_len
                spprintf(&S->cursor_name, 0, "pdo_crsr_%08x", ++H->stmt_counter);
                emulate = 1;
        } else if (driver_options) {
-               if (pdo_attr_lval(driver_options, PDO_PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT, H->disable_native_prepares) == 1) {
-                       php_error_docref(NULL, E_DEPRECATED, "PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT is deprecated, use PDO::ATTR_EMULATE_PREPARES instead");
-                       emulate = 1;
-               }
                if (pdo_attr_lval(driver_options, PDO_ATTR_EMULATE_PREPARES, H->emulate_prepares) == 1) {
                        emulate = 1;
                }
@@ -390,11 +386,6 @@ static int pdo_pgsql_get_attribute(pdo_dbh_t *dbh, zend_long attr, zval *return_
                        ZVAL_BOOL(return_value, H->emulate_prepares);
                        break;
 
-               case PDO_PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT:
-                       php_error_docref(NULL, E_DEPRECATED, "PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT is deprecated, use PDO::ATTR_EMULATE_PREPARES instead");
-                       ZVAL_BOOL(return_value, H->disable_native_prepares);
-                       break;
-
                case PDO_PGSQL_ATTR_DISABLE_PREPARES:
                        ZVAL_BOOL(return_value, H->disable_prepares);
                        break;
@@ -1156,11 +1147,6 @@ static int pdo_pgsql_set_attr(pdo_dbh_t *dbh, zend_long attr, zval *val)
                        convert_to_long(val);
                        H->emulate_prepares = 0 != Z_LVAL_P(val);
                        return 1;
-               case PDO_PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT:
-                       convert_to_long(val);
-                       php_error_docref(NULL, E_DEPRECATED, "PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT is deprecated, use PDO::ATTR_EMULATE_PREPARES instead");
-                       H->disable_native_prepares = 0 != Z_LVAL_P(val);
-                       return 1;
                case PDO_PGSQL_ATTR_DISABLE_PREPARES:
                        convert_to_long(val);
                        H->disable_prepares = 0 != Z_LVAL_P(val);
index d25cbff979d7c62240308340429bf9a22932f4ba..2f33e4efdfe82ebaf309bc42d5de1744a5a79ea6 100644 (file)
@@ -90,8 +90,7 @@ extern struct pdo_stmt_methods pgsql_stmt_methods;
 #define pdo_pgsql_sqlstate(r) PQresultErrorField(r, PG_DIAG_SQLSTATE)
 
 enum {
-       PDO_PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT = PDO_ATTR_DRIVER_SPECIFIC,
-       PDO_PGSQL_ATTR_DISABLE_PREPARES,
+       PDO_PGSQL_ATTR_DISABLE_PREPARES = PDO_ATTR_DRIVER_SPECIFIC,
 };
 
 struct pdo_pgsql_lob_self {
index 83fa5655d8ef89097043c1f97dfcba6c05c83718..715c60a68f54999b8bb1dc01b235c30b96bf7399 100644 (file)
@@ -31,64 +31,20 @@ bug($db, array(PDO::ATTR_EMULATE_PREPARES => 0));
 bug($db, array(PDO::ATTR_EMULATE_PREPARES => 1));
 
 echo "Test 3\n";
-bug($db, array(PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT => 0));
-bug($db, array(PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT => 1));
-
-echo "Test 4\n";
 $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, 1);
 bug($db);
 $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, 0);
 bug($db);
 
-echo "Test 5\n";
-$db->setAttribute(PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT, 1);
-bug($db);
-$db->setAttribute(PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT, 0);
-bug($db);
-
-
 putenv('PDOTEST_ATTR='.serialize(array(
        PDO::ATTR_EMULATE_PREPARES => 1,
 )));
 $db = PDOTest::factory('PDO', false);
 $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 
-echo "Test 6\n";
-bug($db);
-bug($db, array(PDO::ATTR_EMULATE_PREPARES => 0));
-bug($db, array(PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT => 0));
-
-
-putenv('PDOTEST_ATTR='.serialize(array(
-       PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT => 1,
-)));
-
-$db = PDOTest::factory('PDO', false);
-$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
-
-echo "Test 7\n";
-bug($db);
-bug($db, array(PDO::ATTR_EMULATE_PREPARES => 0));
-bug($db, array(PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT => 0));
-
-
-putenv('PDOTEST_ATTR='.serialize(array(
-       PDO::ATTR_EMULATE_PREPARES => 1,
-       PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT => 1,
-)));
-
-$db = PDOTest::factory('PDO', false);
-$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
-
-echo "Test 8\n";
+echo "Test 4\n";
 bug($db);
 bug($db, array(PDO::ATTR_EMULATE_PREPARES => 0));
-bug($db, array(PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT => 0));
-bug($db, array(
-       PDO::ATTR_EMULATE_PREPARES => 0,
-       PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT => 0,
-));
-
 
 putenv('PDOTEST_ATTR');
 
@@ -111,44 +67,8 @@ Test 2
 42P18
 OK
 Test 3
-42P18
-
-Deprecated: PDO::prepare(): PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT is deprecated, use PDO::ATTR_EMULATE_PREPARES instead in %s on line %d
-OK
-Test 4
-OK
-42P18
-Test 5
-
-Deprecated: PDO::setAttribute(): PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT is deprecated, use PDO::ATTR_EMULATE_PREPARES instead in %s on line %d
-
-Deprecated: PDO::prepare(): PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT is deprecated, use PDO::ATTR_EMULATE_PREPARES instead in %s on line %d
-OK
-
-Deprecated: PDO::setAttribute(): PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT is deprecated, use PDO::ATTR_EMULATE_PREPARES instead in %s on line %d
-42P18
-Test 6
 OK
 42P18
-OK
-
-Deprecated: PDO::__construct(): PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT is deprecated, use PDO::ATTR_EMULATE_PREPARES instead in %s on line %d
-Test 7
-
-Deprecated: PDO::prepare(): PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT is deprecated, use PDO::ATTR_EMULATE_PREPARES instead in %s on line %d
-OK
-
-Deprecated: PDO::prepare(): PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT is deprecated, use PDO::ATTR_EMULATE_PREPARES instead in %s on line %d
-OK
-42P18
-
-Deprecated: PDO::__construct(): PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT is deprecated, use PDO::ATTR_EMULATE_PREPARES instead in %s on line %d
-Test 8
-
-Deprecated: PDO::prepare(): PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT is deprecated, use PDO::ATTR_EMULATE_PREPARES instead in %s on line %d
-OK
-
-Deprecated: PDO::prepare(): PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT is deprecated, use PDO::ATTR_EMULATE_PREPARES instead in %s on line %d
-OK
+Test 4
 OK
 42P18
index d599fda7c868a7675d569ef23bca3bc09da4eeab..636b22f52e88133bac9dccb0572ebd120666c9b1 100644 (file)
@@ -16,7 +16,6 @@ $pdo->setAttribute (\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
 
 $attrs = array(
     // Extensive test: default value and set+get values
-       PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT => array(null, true, false),
        PDO::ATTR_EMULATE_PREPARES                      => array(null, true, false),
        PDO::PGSQL_ATTR_DISABLE_PREPARES        => array(null, true, false),
 
@@ -68,18 +67,6 @@ foreach ($attrs as $a => $vals) {
 
 ?>
 --EXPECTF--
-Deprecated: PDO::getAttribute(): %s
-bool(false)
-
-Deprecated: PDO::setAttribute(): %s
-
-Deprecated: PDO::getAttribute(): %s
-OK
-
-Deprecated: PDO::setAttribute(): %s
-
-Deprecated: PDO::getAttribute(): %s
-OK
 bool(false)
 OK
 OK