Use the generic ATTR_EMULATE_PREPARES instead.
. 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)
. 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.
*/
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);
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;
}
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;
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);
#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 {
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');
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
$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),
?>
--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