Revert "ext/pdo_pgsql: Delete unused constants"

This reverts commit e549ccb32e.
This commit is contained in:
David Carlier 2025-06-06 14:45:59 +01:00
parent 01abca9852
commit cce0efdff8
No known key found for this signature in database
GPG key ID: 8486F847B4B94EF1
6 changed files with 59 additions and 5 deletions

1
NEWS
View file

@ -137,7 +137,6 @@ PHP NEWS
. Implement GH-15387 Pdo\Pgsql::setAttribute(PDO::ATTR_PREFETCH, 0) or
Pdo\Pgsql::prepare(…, [ PDO::ATTR_PREFETCH => 0 ]) make fetch() lazy
instead of storing the whole result set in memory (Guillaume Outters)
. Removed unused constants Pdo\Pgsql::TRANSACTION_* (vrana).
- PDO_SQLITE:
. throw on null bytes / resolve GH-13952 (divinity76).

View file

@ -101,9 +101,6 @@ PHP 8.5 UPGRADE NOTES
. A ValueError is now thrown when trying to set a cursor name that is too
long on a PDOStatement resulting from the Firebird driver.
- PDO_PGSQL:
. Removed unused constants Pdo\Pgsql::TRANSACTION_*.
- Session:
. Attempting to write session data where $_SESSION has a key containing
the pipe character will now emit a warning instead of silently failing.

View file

@ -179,6 +179,11 @@ cleanup:
PHP_MINIT_FUNCTION(pdo_pgsql)
{
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);
REGISTER_PDO_CLASS_CONST_LONG("PGSQL_TRANSACTION_INTRANS", (zend_long)PGSQL_TRANSACTION_INTRANS);
REGISTER_PDO_CLASS_CONST_LONG("PGSQL_TRANSACTION_INERROR", (zend_long)PGSQL_TRANSACTION_INERROR);
REGISTER_PDO_CLASS_CONST_LONG("PGSQL_TRANSACTION_UNKNOWN", (zend_long)PGSQL_TRANSACTION_UNKNOWN);
PdoPgsql_ce = register_class_Pdo_Pgsql(pdo_dbh_ce);
PdoPgsql_ce->create_object = pdo_dbh_new;

View file

@ -18,6 +18,21 @@ class Pgsql extends \PDO
public const int ATTR_RESULT_MEMORY_SIZE = UNKNOWN;
#endif
/** @cvalue PGSQL_TRANSACTION_IDLE */
public const int TRANSACTION_IDLE = UNKNOWN;
/** @cvalue PGSQL_TRANSACTION_ACTIVE */
public const int TRANSACTION_ACTIVE = UNKNOWN;
/** @cvalue PGSQL_TRANSACTION_INTRANS */
public const int TRANSACTION_INTRANS = UNKNOWN;
/** @cvalue PGSQL_TRANSACTION_INERROR */
public const int TRANSACTION_INERROR = UNKNOWN;
/** @cvalue PGSQL_TRANSACTION_UNKNOWN */
public const int TRANSACTION_UNKNOWN = UNKNOWN;
public function escapeIdentifier(string $input): string {}
public function copyFromArray(string $tableName, array $rows, string $separator = "\t", string $nullAs = "\\\\N", ?string $fields = null): bool {}

View file

@ -1,5 +1,5 @@
/* This is a generated file, edit the .stub.php file instead.
* Stub hash: 81399a3d342a9327733f86f6ab733bb317a4599e */
* Stub hash: 225cbb077d441f93b7c6bdb9826ab3e8f634b79d */
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Pdo_Pgsql_escapeIdentifier, 0, 1, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, input, IS_STRING, 0)
@ -102,5 +102,35 @@ static zend_class_entry *register_class_Pdo_Pgsql(zend_class_entry *class_entry_
zend_string_release(const_ATTR_RESULT_MEMORY_SIZE_name);
#endif
zval const_TRANSACTION_IDLE_value;
ZVAL_LONG(&const_TRANSACTION_IDLE_value, PGSQL_TRANSACTION_IDLE);
zend_string *const_TRANSACTION_IDLE_name = zend_string_init_interned("TRANSACTION_IDLE", sizeof("TRANSACTION_IDLE") - 1, 1);
zend_declare_typed_class_constant(class_entry, const_TRANSACTION_IDLE_name, &const_TRANSACTION_IDLE_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(const_TRANSACTION_IDLE_name);
zval const_TRANSACTION_ACTIVE_value;
ZVAL_LONG(&const_TRANSACTION_ACTIVE_value, PGSQL_TRANSACTION_ACTIVE);
zend_string *const_TRANSACTION_ACTIVE_name = zend_string_init_interned("TRANSACTION_ACTIVE", sizeof("TRANSACTION_ACTIVE") - 1, 1);
zend_declare_typed_class_constant(class_entry, const_TRANSACTION_ACTIVE_name, &const_TRANSACTION_ACTIVE_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(const_TRANSACTION_ACTIVE_name);
zval const_TRANSACTION_INTRANS_value;
ZVAL_LONG(&const_TRANSACTION_INTRANS_value, PGSQL_TRANSACTION_INTRANS);
zend_string *const_TRANSACTION_INTRANS_name = zend_string_init_interned("TRANSACTION_INTRANS", sizeof("TRANSACTION_INTRANS") - 1, 1);
zend_declare_typed_class_constant(class_entry, const_TRANSACTION_INTRANS_name, &const_TRANSACTION_INTRANS_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(const_TRANSACTION_INTRANS_name);
zval const_TRANSACTION_INERROR_value;
ZVAL_LONG(&const_TRANSACTION_INERROR_value, PGSQL_TRANSACTION_INERROR);
zend_string *const_TRANSACTION_INERROR_name = zend_string_init_interned("TRANSACTION_INERROR", sizeof("TRANSACTION_INERROR") - 1, 1);
zend_declare_typed_class_constant(class_entry, const_TRANSACTION_INERROR_name, &const_TRANSACTION_INERROR_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(const_TRANSACTION_INERROR_name);
zval const_TRANSACTION_UNKNOWN_value;
ZVAL_LONG(&const_TRANSACTION_UNKNOWN_value, PGSQL_TRANSACTION_UNKNOWN);
zend_string *const_TRANSACTION_UNKNOWN_name = zend_string_init_interned("TRANSACTION_UNKNOWN", sizeof("TRANSACTION_UNKNOWN") - 1, 1);
zend_declare_typed_class_constant(class_entry, const_TRANSACTION_UNKNOWN_name, &const_TRANSACTION_UNKNOWN_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(const_TRANSACTION_UNKNOWN_name);
return class_entry;
}

View file

@ -104,6 +104,14 @@ struct pdo_pgsql_lob_self {
Oid oid;
};
enum pdo_pgsql_specific_constants {
PGSQL_TRANSACTION_IDLE = PQTRANS_IDLE,
PGSQL_TRANSACTION_ACTIVE = PQTRANS_ACTIVE,
PGSQL_TRANSACTION_INTRANS = PQTRANS_INTRANS,
PGSQL_TRANSACTION_INERROR = PQTRANS_INERROR,
PGSQL_TRANSACTION_UNKNOWN = PQTRANS_UNKNOWN
};
php_stream *pdo_pgsql_create_lob_stream(zend_object *pdh, int lfd, Oid oid);
extern const php_stream_ops pdo_pgsql_lob_stream_ops;