diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2020-12-09 16:30:01 +0100 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2020-12-09 16:38:22 +0100 |
commit | fcfa7fd06b8b298b6946ec0bf2b2440dd8f5d895 (patch) | |
tree | c9d23334b7d27cf1098e3ba283dc5042d8a02bc7 /ext/pdo_mysql/php_pdo_mysql_int.h | |
parent | ef342b0730d15e2e38ab527659fd0091023854e9 (diff) | |
download | php-git-fcfa7fd06b8b298b6946ec0bf2b2440dd8f5d895.tar.gz |
Fixed bug #66878
Keep track of whether we have fully consumed all result sets,
either using nextRowset() calls or closeCursor() and skip the
attempt to consume remaining results sets during destruction in
that case.
Especiall if closeCursor() has been used, we really shouldn't
have this sort of cross-statement inference.
Diffstat (limited to 'ext/pdo_mysql/php_pdo_mysql_int.h')
-rw-r--r-- | ext/pdo_mysql/php_pdo_mysql_int.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/ext/pdo_mysql/php_pdo_mysql_int.h b/ext/pdo_mysql/php_pdo_mysql_int.h index cfe1d68e49..7ebf875085 100644 --- a/ext/pdo_mysql/php_pdo_mysql_int.h +++ b/ext/pdo_mysql/php_pdo_mysql_int.h @@ -142,6 +142,9 @@ typedef struct { zend_ulong *out_length; unsigned int params_given; unsigned max_length:1; + /* Whether all result sets have been fully consumed. + * If this flag is not set, they need to be consumed during destruction. */ + unsigned done:1; } pdo_mysql_stmt; extern const pdo_driver_t pdo_mysql_driver; |