Skip to content

Commit 5e360b6

Browse files
committed
ext/pdo_pgsql: Remove new PDO class constant specific to PGSQL driver
Closes phpGH-16755
1 parent d3fada3 commit 5e360b6

File tree

3 files changed

+9
-8
lines changed

3 files changed

+9
-8
lines changed

NEWS

+4
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ PHP NEWS
2424
- PDO:
2525
. Fixed memory leak of `setFetchMode()`. (SakiTakamachi)
2626

27+
- PDO_PGSQL:
28+
. Remove PGSQL_ATTR_RESULT_MEMORY_SIZE constant as it is provided by
29+
the new PDO Subclass as Pdo\Pgsql::ATTR_RESULT_MEMORY_SIZE. (Girgias)
30+
2731
- Readline:
2832
. Fixed UAF with readline_info(). (David Carlier)
2933

ext/pdo_pgsql/pdo_pgsql.c

-3
Original file line numberDiff line numberDiff line change
@@ -184,9 +184,6 @@ PHP_MINIT_FUNCTION(pdo_pgsql)
184184
REGISTER_PDO_CLASS_CONST_LONG("PGSQL_TRANSACTION_INTRANS", (zend_long)PGSQL_TRANSACTION_INTRANS);
185185
REGISTER_PDO_CLASS_CONST_LONG("PGSQL_TRANSACTION_INERROR", (zend_long)PGSQL_TRANSACTION_INERROR);
186186
REGISTER_PDO_CLASS_CONST_LONG("PGSQL_TRANSACTION_UNKNOWN", (zend_long)PGSQL_TRANSACTION_UNKNOWN);
187-
#ifdef HAVE_PG_RESULT_MEMORY_SIZE
188-
REGISTER_PDO_CLASS_CONST_LONG("PGSQL_ATTR_RESULT_MEMORY_SIZE", (zend_long)PDO_PGSQL_ATTR_RESULT_MEMORY_SIZE);
189-
#endif
190187

191188
PdoPgsql_ce = register_class_Pdo_Pgsql(pdo_dbh_ce);
192189
PdoPgsql_ce->create_object = pdo_dbh_new;

ext/pdo_pgsql/tests/result_memory_size.phpt

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
--TEST--
2-
PDO PgSQL PDOStatement::getAttribute(PDO::PGSQL_ATTR_RESULT_MEMORY_SIZE)
2+
PDO PgSQL PDOStatement::getAttribute(Pgsql::ATTR_RESULT_MEMORY_SIZE)
33
--EXTENSIONS--
44
pdo_pgsql
55
--SKIPIF--
66
<?php
77
require __DIR__ . '/config.inc';
88
require dirname(__DIR__, 2) . '/pdo/tests/pdo_test.inc';
99
PDOTest::skip();
10-
if (!defined('PDO::PGSQL_ATTR_RESULT_MEMORY_SIZE')) die('skip constant PDO::PGSQL_ATTR_RESULT_MEMORY_SIZE does not exist');
10+
if (!defined('Pgsql::ATTR_RESULT_MEMORY_SIZE')) die('skip constant Pgsql::ATTR_RESULT_MEMORY_SIZE does not exist');
1111
--FILE--
1212
<?php
1313

@@ -18,20 +18,20 @@ $db = Pdo::connect($config['ENV']['PDOTEST_DSN']);
1818

1919
echo 'Result set with only 1 row: ';
2020
$statement = $db->query('select 1');
21-
$result_1 = $statement->getAttribute(PDO::PGSQL_ATTR_RESULT_MEMORY_SIZE);
21+
$result_1 = $statement->getAttribute(Pgsql::ATTR_RESULT_MEMORY_SIZE);
2222
var_dump($result_1);
2323

2424
echo 'Result set with many rows: ';
2525
$result = $db->query('select generate_series(1, 10000)');
26-
$result_2 = $result->getAttribute(PDO::PGSQL_ATTR_RESULT_MEMORY_SIZE);
26+
$result_2 = $result->getAttribute(Pgsql::ATTR_RESULT_MEMORY_SIZE);
2727
var_dump($result_2);
2828

2929
echo 'Large result sets should require more memory than small ones: ';
3030
var_dump($result_2 > $result_1);
3131

3232
echo 'Statements that are not executed should not consume memory: ';
3333
$statement = $db->prepare('select 1');
34-
$result_3 = $statement->getAttribute(PDO::PGSQL_ATTR_RESULT_MEMORY_SIZE);
34+
$result_3 = $statement->getAttribute(Pgsql::ATTR_RESULT_MEMORY_SIZE);
3535
var_dump($result_3);
3636

3737
echo 'and should emit Error: ';

0 commit comments

Comments
 (0)