Bug #41997 [ReO->Csd]: SP call yields additional empty result set

From: Date: Wed, 09 Dec 2020 15:45:16 +0000
Subject: Bug #41997 [ReO->Csd]: SP call yields additional empty result set
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-230961@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=41997&edit=1 ID: 41997 Updated by: nikic@php.net Reported by: nitel_defect at yahoo dot com Summary: SP call yields additional empty result set -Status: Re-Opened +Status: Closed Type: Bug Package: PDO MySQL Operating System: * PHP Version: 5.2.3 -Assigned To: +Assigned To: nikic Block user comment: N Private report: N New Comment: We have decided to follow MySQL behavior here. As of PHP 8.0.1, SP calls will always include a trailing empty result set regardless of whether emulation is used or not and whether mysqlnd is used or not. This is unfortunate, but MySQL doesn't seem to really leave us a choice in this matter, as we can't distinguish the trailing SP result from a legitimate multi-query result. Previous Comments: ------------------------------------------------------------------------ [2019-10-07 07:21:58] cmb@php.net Since the regression reported as bug #78623 couldn't be resolved for now, I've reverted the fix for this bug, and re-open the ticket. ------------------------------------------------------------------------ [2019-10-03 11:03:31] cmb@php.net Related To: Bug #78623 ------------------------------------------------------------------------ [2019-10-01 17:50:02] attila at szeremi dot org Here it is. It is definitely related to this issue. https://github.com/amcsi/php7.3.10-pdo-mysql-regression ------------------------------------------------------------------------ [2019-10-01 13:51:59] cmb@php.net Can you please provide a minimal self-contained reproduce script? ------------------------------------------------------------------------ [2019-10-01 13:31:23] attila at szeremi dot org Could the fix to this issue have caused breakage with empty rowset iteration loops? I had been using the workaround mentioned in the below ticket to be able to trigger exceptions in multi-statement PDO MySQL queries: https://bugs.php.net/bug.php?id=61613 But I can pretty much confirm that my test code that does while ($statement->nextRowset()); after a multi-statement query that in Bitbucket pipelines using the PHP 7.3.10 image the query doesn't seem to run at all (or maybe just the first one?), but in PHP 7.3.9 the multi-line statement is run correctly. I would test in 3v4l, but I don't know how to test DB stuff there. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=41997 -- Edit this bug report at https://bugs.php.net/bug.php?id=41997&edit=1

« previous php.bugs (#230961) next »