From: Nikita Popov Date: Fri, 24 Apr 2015 16:08:18 +0000 (+0200) Subject: Remove PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT X-Git-Tag: PRE_PHP7_NSAPI_REMOVAL~164 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4694e1c02039114915704f0206f1ffb7a0efe4ad;p=php Remove PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT Use the generic ATTR_EMULATE_PREPARES instead. --- diff --git a/NEWS b/NEWS index 909c5585fc..dcf86de5b3 100644 --- a/NEWS +++ b/NEWS @@ -164,6 +164,10 @@ . 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) diff --git a/UPGRADING b/UPGRADING index 7155c640c9..d0551b6e57 100644 --- 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. diff --git a/ext/pdo_pgsql/pdo_pgsql.c b/ext/pdo_pgsql/pdo_pgsql.c index abb0ee1c39..83d243f072 100644 --- a/ext/pdo_pgsql/pdo_pgsql.c +++ b/ext/pdo_pgsql/pdo_pgsql.c @@ -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); diff --git a/ext/pdo_pgsql/pgsql_driver.c b/ext/pdo_pgsql/pgsql_driver.c index 4c907cc631..0a7ce6368d 100644 --- a/ext/pdo_pgsql/pgsql_driver.c +++ b/ext/pdo_pgsql/pgsql_driver.c @@ -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); diff --git a/ext/pdo_pgsql/php_pdo_pgsql_int.h b/ext/pdo_pgsql/php_pdo_pgsql_int.h index d25cbff979..2f33e4efdf 100644 --- a/ext/pdo_pgsql/php_pdo_pgsql_int.h +++ b/ext/pdo_pgsql/php_pdo_pgsql_int.h @@ -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 { diff --git a/ext/pdo_pgsql/tests/bug48764.phpt b/ext/pdo_pgsql/tests/bug48764.phpt index 83fa5655d8..715c60a68f 100644 --- a/ext/pdo_pgsql/tests/bug48764.phpt +++ b/ext/pdo_pgsql/tests/bug48764.phpt @@ -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 diff --git a/ext/pdo_pgsql/tests/bug68371.phpt b/ext/pdo_pgsql/tests/bug68371.phpt index d599fda7c8..636b22f52e 100644 --- a/ext/pdo_pgsql/tests/bug68371.phpt +++ b/ext/pdo_pgsql/tests/bug68371.phpt @@ -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