[php-src] Issue #9828: FETCH_LAZY not properly supported for "long" columns

From: Date: Tue, 25 Oct 2022 14:07:04 +0000
Subject: [php-src] Issue #9828: FETCH_LAZY not properly supported for "long" columns
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-242681@lists.php.net to get a copy of this message
Issue: https://github.com/php/php-src/issues/9828 Author: cmb69 ### Description The following code: ```php <?php const SIZE = 300; $pdo = new PDO(DSN, USER, PASS); $pdo->exec("CREATE TABLE gh9498 (name VARCHAR(" . SIZE . "))"); $pdo->exec("INSERT INTO gh9498 VALUES ('" . str_repeat("a", SIZE) . "')"); $statement = $pdo->prepare("SELECT * FROM gh9498"); $statement->execute(); $row = $statement->fetch(PDO::FETCH_LAZY); var_dump($row); var_dump($row); ``` Resulted in this output: ``` object(PDORow)#3 (2) { ["queryString"]=> string(20) "SELECT * FROM gh9498" ["name"]=> string(300) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" } object(PDORow)#3 (2) { ["queryString"]=> string(20) "SELECT * FROM gh9498" ["name"]=> NULL } ``` But I expected this output instead: ``` object(PDORow)#3 (2) { ["queryString"]=> string(20) "SELECT * FROM gh9498" ["name"]=> string(300) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" } object(PDORow)#3 (2) { ["queryString"]=> string(20) "SELECT * FROM gh9498" ["name"]=> string(300) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" } ``` Obviously, accessing the row for the first time works as expected, but accessing it another time, does not. If SIZE < 256, accessing the row multiple times is properly supported. ### PHP Version PHP-8.0 ### Operating System *

« previous php.bugs (#242681) next »