Revision tags: php-8.0.0, php-7.3.25, php-7.4.13, php-8.0.0RC5, php-7.4.13RC1, php-8.0.0RC4, php-7.3.25RC1, php-7.4.12, php-8.0.0RC3, php-7.3.24, php-8.0.0RC2, php-7.4.12RC1, php-7.3.24RC1, php-7.2.34, php-8.0.0rc1, php-7.4.11, php-7.3.23 |
|
#
51f57e7b |
| 18-Sep-2020 |
Nikita Popov |
PDO MySQL: Handle boolean parameter binding with libmysql Previously boolean parameters were simply silently ignored...
|
#
205d209d |
| 16-Dec-2020 |
Nikita Popov |
PDO MySQL: Use mysqlnd column names mysqlnd already creates interned zend_strings for us, so let's make use of them. This also required updating the PDO case changing code to wo
PDO MySQL: Use mysqlnd column names mysqlnd already creates interned zend_strings for us, so let's make use of them. This also required updating the PDO case changing code to work with potentially shared strings. For the lowercasing, use the optimized zend_string_tolower() implementation.
show more ...
|
#
ccb7f1c7 |
| 11-Dec-2020 |
Nikita Popov |
Fixed bug #79132 Following cmb's suggestion and replacing the counter with a check against the bound_params HT, which ensures that both cannot go out of sync.
|
#
7a89157f |
| 11-Dec-2020 |
Nikita Popov |
PDO MySQL: Fix nextRowset() on libmysqlclient with native PS The logic after next_result should match the one after execute. This was the case for mysqlnd but not libmysqlclient, which u
PDO MySQL: Fix nextRowset() on libmysqlclient with native PS The logic after next_result should match the one after execute. This was the case for mysqlnd but not libmysqlclient, which used the non-PS logic.
show more ...
|
#
ad8eb116 |
| 11-Dec-2020 |
Nikita Popov |
Fixed bug #67004 Repeated execute() with native PS failed to release the previous result set on libmysqlclient. Move freeing the result set into a common location.
|
#
d6b4b82a |
| 11-Dec-2020 |
Nikita Popov |
PDO MySQL: Use stmt_next_result with libmysqlclient as well libmysqlclient added this function in version 5.5, which happens to be the minimum we support. If we have a prepared statement
PDO MySQL: Use stmt_next_result with libmysqlclient as well libmysqlclient added this function in version 5.5, which happens to be the minimum we support. If we have a prepared statement, we should use it on both mysqlnd and libmysqlclient, even if the handling afterwards is different. This fixes error handling with native prepared statements.
show more ...
|
#
c927c831 |
| 11-Dec-2020 |
Nikita Popov |
PDO MySQL: Fix leak with libmysqlclient and multiple rowsets stmt->column_count gets reset before the next_rowset handler is invoked, so we need to fetch the value from the result set in
PDO MySQL: Fix leak with libmysqlclient and multiple rowsets stmt->column_count gets reset before the next_rowset handler is invoked, so we need to fetch the value from the result set instead. Arguably PDO should be separating the destruction of the previous result set and the switch to the next result set more cleanly...
show more ...
|
#
f3d58778 |
| 09-Dec-2020 |
Nikita Popov |
Backport fix for bug #70066 Given the number of duplicates this bug report had, it seems worthwhile to fix this on PHP-7.4 as well. Cherry-pick of 106e7e4bca7c0fd975eb219b18e3c3
Backport fix for bug #70066 Given the number of duplicates this bug report had, it seems worthwhile to fix this on PHP-7.4 as well. Cherry-pick of 106e7e4bca7c0fd975eb219b18e3c34957ba8657.
show more ...
|
#
106e7e4b |
| 09-Dec-2020 |
Nikita Popov |
Fixed bug #70066 If we fall back to emulated prepared statements, destroy S->stmt, so the code doesn't get confused about which mode we're in.
|
#
fcfa7fd0 |
| 09-Dec-2020 |
Nikita Popov |
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
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.
show more ...
|
#
ef342b07 |
| 09-Dec-2020 |
Nikita Popov |
Remove unnecessary more_results() checks Just calling next_result() is sufficient.
|
#
a073b021 |
| 09-Dec-2020 |
Nikita Popov |
Add ifdef for mysqlnd only function
|
#
b9ea8d6b |
| 09-Dec-2020 |
Nikita Popov |
PDO MySQL: Extract common code for handling PS results
|
#
fb69c775 |
| 09-Dec-2020 |
Nikita Popov |
PDO MySQL: Use set_row_count() helper
|
#
186b7663 |
| 09-Dec-2020 |
Nikita Popov |
PDO MySQL: Make sure nextRowset() works with partially consumed result This was already working in all cases apart from native prepared statements with unbuffered queries. In that case i
PDO MySQL: Make sure nextRowset() works with partially consumed result This was already working in all cases apart from native prepared statements with unbuffered queries. In that case invoking stmt_free_result() addresses the issue.
show more ...
|
#
23193e89 |
| 09-Dec-2020 |
Nikita Popov |
PDO MySQL: Handle error during closeCursor()
|
#
18517e7a |
| 09-Dec-2020 |
Nikita Popov |
Fix stmt_free_result implementation and usage Two bugs both affecting the bug_pecl_7976.phpt test ("works with mysqlnd" haha): * We should not change the connection state in st
Fix stmt_free_result implementation and usage Two bugs both affecting the bug_pecl_7976.phpt test ("works with mysqlnd" haha): * We should not change the connection state in stmt_free_result. This makes mysql_stmt_free_result usable under mysqlnd and not just libmysqlclient. * If we call mysql_stmt_free_result, we still need to consume any outstanding result sets.
show more ...
|
#
2df09b9b |
| 08-Dec-2020 |
Nikita Popov |
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
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.
show more ...
|
#
bfa69d27 |
| 08-Dec-2020 |
Nikita Popov |
Handle column count change in PDO MySQL This has been fixed for PDO SQlite by GH-4313, however the same issue also applied to PDO MySQL. Move the column count setting function i
Handle column count change in PDO MySQL This has been fixed for PDO SQlite by GH-4313, however the same issue also applied to PDO MySQL. Move the column count setting function into the main PDO layer (and export it) and then use it in both PDO SQLite and PDO MySQL.
show more ...
|
#
bd093ad8 |
| 08-Dec-2020 |
Nikita Popov |
Fixed bug #63185
|
#
a83cc03c |
| 02-Dec-2020 |
Dharman |
Fixed bug #80458 If there is no result set (e.g. for upsert queries), still allow fetching to occur without error, i.e. treat it the same way as an empty result set. This no
Fixed bug #80458 If there is no result set (e.g. for upsert queries), still allow fetching to occur without error, i.e. treat it the same way as an empty result set. This normalizes behavior between native and emulated prepared statements and addresses a regression in PHP 7.4.13.
show more ...
|
#
0044a81f |
| 29-Oct-2020 |
Nikita Popov |
Handle errors during PDO row fetch The EOF flag also gets set on error, so we always end up ignoring errors here. However, we should only check errors for unbuffered results. Fo
Handle errors during PDO row fetch The EOF flag also gets set on error, so we always end up ignoring errors here. However, we should only check errors for unbuffered results. For buffered results, this function is guaranteed not to error, and querying the errno may return an unrelated error.
show more ...
|
#
b03776ad |
| 20-Sep-2020 |
Dharman |
Fix bug #79375 Make sure deadlock errors are properly propagated and reports in a number of places in mysqli and PDO MySQL. This also fixes a memory and a segfault that can occu
Fix bug #79375 Make sure deadlock errors are properly propagated and reports in a number of places in mysqli and PDO MySQL. This also fixes a memory and a segfault that can occur under these conditions.
show more ...
|
Revision tags: php-8.0.0beta4, php-7.4.11RC1, php-7.3.23RC1, php-8.0.0beta3, php-7.4.10, php-7.3.22, php-8.0.0beta2, php-7.3.22RC1, php-7.4.10RC1, php-8.0.0beta1, php-7.4.9, php-7.2.33, php-7.3.21, php-8.0.0alpha3, php-7.4.9RC1, php-7.3.21RC1, php-7.4.8, php-7.2.32, php-8.0.0alpha2, php-7.3.20, php-8.0.0alpha1, php-7.4.8RC1, php-7.3.20RC1, php-7.4.7, php-7.3.19, php-7.4.7RC1, php-7.3.19RC1 |
|
#
c932cc84 |
| 20-May-2020 |
George Peter Banyard |
Fix [-Wundef] warning in PDO MySQL extension
|
Revision tags: php-7.4.6, php-7.2.31, php-7.4.6RC1, php-7.3.18RC1, php-7.2.30, php-7.4.5, php-7.3.17, php-7.4.5RC1, php-7.3.17RC1, php-7.3.18, php-7.4.4, php-7.2.29, php-7.3.16, php-7.4.4RC1, php-7.3.16RC1, php-7.4.3, php-7.2.28, php-7.3.15RC1, php-7.4.3RC1, php-7.3.15, php-7.2.27, php-7.4.2, php-7.3.14, php-7.3.14RC1, php-7.4.2RC1, php-7.4.1, php-7.2.26, php-7.3.13, php-7.4.1RC1, php-7.3.13RC1, php-7.2.26RC1, php-7.4.0, php-7.2.25, php-7.3.12, php-7.4.0RC6, php-7.3.12RC1, php-7.2.25RC1, php-7.4.0RC5, php-7.1.33, php-7.2.24, php-7.3.11, php-7.4.0RC4, php-7.3.11RC1, php-7.2.24RC1 |
|
#
114c03b9 |
| 07-Oct-2019 |
Christoph M. Becker |
Fix #78623: Regression caused by "SP call yields additional empty result set" This reverts commit 41a4379cb45419a376043ca5f8c5a2bca82cea7c.
|