php-src/ext/pdo_mysql
Nikita Popov 2df09b9b64 PDO MySQL: Normalize handling of empty stored procedure result set
MySQL always returns a trailing empty result set for stored
procedure calls, which is used to convey status information.
The PDO MySQL implementation is presently confused about what to
do with it: If mysqlnd is used and native prepared statements are
used, this result set is skipped. In all other cases it is not
skipped. We also have quite a few XFAILed tests relating to this.

This patch normalizes (for PHP-8.0 only) the behavior towards
always retaining the empty result set. This is simply how MySQL
stored procedures work (some expletives omitted here) and we can't
distinguish this "useless" result set from an empty result of a
multi query. Multi queries are not a concern for native prepared
statements, as PDO does not allow them in that case, but they are
a concern for emulated prepared statements.

Closes GH-6497.
2020-12-08 17:01:56 +01:00
..
tests PDO MySQL: Normalize handling of empty stored procedure result set 2020-12-08 17:01:56 +01:00
config.m4 Don't assume libmysqlclient library name 2020-11-12 15:11:56 +01:00
config.w32
CREDITS Sync leading and final newlines in source code files 2018-10-14 12:56:38 +02:00
get_error_codes.php Apply tidy formatting 2020-02-03 13:41:31 +01:00
mysql_driver.c Merge branch 'PHP-7.4' into PHP-8.0 2020-10-28 12:18:17 +01:00
mysql_statement.c PDO MySQL: Normalize handling of empty stored procedure result set 2020-12-08 17:01:56 +01:00
pdo_mysql.c Convert warning to assetion in MySQL PDO driver 2020-09-15 12:49:59 +02:00
php_pdo_mysql.h Remove mention of PHP major version in Copyright headers 2019-09-25 14:51:43 +02:00
php_pdo_mysql_int.h Fix warnings when building against libmysqlclient 2020-09-17 15:02:35 +02:00
php_pdo_mysql_sqlstate.h