]> granicus.if.org Git - php/commit
Fix #80027 Terrible performance using $query->fetch on queries with many bind parameters
authorMatteo Beccati <mbeccati@php.net>
Mon, 31 Aug 2020 08:45:36 +0000 (10:45 +0200)
committerMatteo Beccati <mbeccati@php.net>
Mon, 31 Aug 2020 09:02:34 +0000 (11:02 +0200)
commitee2506cc027c97c86db51173ec7019c58b161204
treeceafe73102c7b86da0b961f8edbf13cbb2eb9387
parentad97739eac2f054d4ce3c3f492fefb0daaabaa25
Fix #80027 Terrible performance using $query->fetch on queries with many bind parameters

Added new flags that allow skipping param_evt(s) that are not used by drivers,
in a backwards and forward compatible manner. Updated the pgsql, mysql, sqlite
and oci drivers to properly use the new flags. I've left out pdo_dblib, which
doesn't have a param_hook, and pdo_firebird, which seems to be using
PARAM_EVT_NORMALIZE in a wrong context (param type vs event type).
ext/pdo/pdo_stmt.c
ext/pdo/php_pdo_driver.h
ext/pdo_mysql/mysql_driver.c
ext/pdo_oci/oci_driver.c
ext/pdo_pgsql/pgsql_driver.c
ext/pdo_pgsql/pgsql_statement.c
ext/pdo_sqlite/sqlite_driver.c