Skip to content

ext/pdo: PHP 8.4 changes across PDO, PDO_PGSQL and PDO_Firebird#5703

Open
lacatoire wants to merge 5 commits into
php:masterfrom
lacatoire:feat/pdo-8.4-changes
Open

ext/pdo: PHP 8.4 changes across PDO, PDO_PGSQL and PDO_Firebird#5703
lacatoire wants to merge 5 commits into
php:masterfrom
lacatoire:feat/pdo-8.4-changes

Conversation

@lacatoire

@lacatoire lacatoire commented Jul 23, 2026

Copy link
Copy Markdown
Member

Documents the PHP 8.4 changes across the PDO family.

PDO core

  • Default SQL parser that recognises quoted literals and comments.
  • PDO::ATTR_STRINGIFY_FETCHES is now retrievable via PDO::getAttribute().
  • Pdo\Pgsql::ATTR_RESULT_MEMORY_SIZE is now retrievable via PDOStatement::getAttribute().

PDO_PGSQL

  • Requires libpq 10.0+.
  • DSN credentials now take priority over constructor arguments.
  • Using ?? inside a dollar-quoted string is deprecated.

PDO_Firebird

  • Now requires a C++ compiler and fbclient 3.0+ to build.

Sources

@lacatoire
lacatoire requested a review from kamil-tekiela as a code owner July 23, 2026 19:42
@jordikroon

Copy link
Copy Markdown
Member

@kamil-tekiela

Copy link
Copy Markdown
Member

I propose that when we create PRs for new language changes, we link the commit/PR/RFC so that it's easier to verify the changes. Right now, I need to go on a research sidequest to understand what's changed.

Comment thread reference/pdo_firebird/configure.xml Outdated
Comment thread reference/pdo_firebird/configure.xml Outdated
Comment thread reference/pdo_pgsql/reference.xml
Comment thread reference/pdo_pgsql/pdo-pgsql.xml
Comment thread reference/pdo/pdo/prepare.xml Outdated
Comment thread reference/pdo/pdo/prepare.xml Outdated
Comment thread reference/pdo/pdo/getattribute.xml
Comment thread reference/pdo/pdo/getattribute.xml
lacatoire and others added 4 commits July 24, 2026 05:48
Co-authored-by: Kamil Tekiela <tekiela246@gmail.com>
Co-authored-by: Kamil Tekiela <tekiela246@gmail.com>
…o pre-8.4

getattribute.xml: PDO::getAttribute handles exactly 8 generic attributes
(pdo_dbh.c PDO::getAttribute switch); the simplelist listed 7 driver-specific
ones and missed STATEMENT_CLASS/DEFAULT_FETCH_MODE. Replace it with the 8 generic
attributes (STRINGIFY_FETCHES fetchable as of 8.4, php-src#12793).

prepare.xml: the default 8.4 parser (pdo_sql_parser.re) recognises doubled
quotes, not backslash escapes, so the note about backslash escapes now describes
pre-8.4 behaviour; scope it accordingly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants