ID: 43244 Updated by: [EMAIL PROTECTED] Reported By: hp-php dot net at oeri dot ch -Status: Open +Status: Closed Bug Type: PDO related Operating System: Linux 2.6 PHP Version: 5.3CVS-2007-11-11 (CVS) New Comment:
This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Now repeated calls to closecursor() won't cause a crash. Fixed in PHP_5_3 Previous Comments: ------------------------------------------------------------------------ [2007-11-11 12:54:30] hp-php dot net at oeri dot ch Description: ------------ In pdo_firebird from CVS, calling PDOStatement->closeCursor on an executed statement that did *NOT* return any data kills the process. Reproduce code: --------------- <?php $pdo = new PDO( 'firebird:dbname=localhost:devel', 'devel', 'devel' ); // VARIANT A: SECONDARY DATA $stmt = $pdo->prepare( 'UPDATE "a_data" SET "data"=200 RETURNING "a"' ); $stmt->execute(); // the following statement works fine $stmt->closeCursor(); echo "I survived variant 'A'\n"; // VARIANT B: REALLY NO DATA $stmt = $pdo->prepare( 'UPDATE "a_data" SET "data"=200' ); $stmt->execute(); // the following statement kills the process $stmt->closeCursor(); echo "I don't survive upto here...\n"; ?> Expected result: ---------------- I survived variant 'A' I don't survive upto here... (Both statements executed an closeCursor called twice) Actual result: -------------- I survived variant 'A' (Variant 'B' - the non-data statement - kills the process before echo.) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=43244&edit=1
