ID: 37870 Updated by: [EMAIL PROTECTED] Reported By: sagi at adamnet dot co dot il -Status: Open +Status: Closed Bug Type: PDO related Operating System: Debian Sarge PHP Version: 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. Previous Comments: ------------------------------------------------------------------------ [2006-08-31 16:56:16] konstantin dot ryabitsev at mcgill dot ca Transaction failing quietly for no reason is a pretty nasty bug. We have just spent several hours troubleshooting this problem, and I can confirm that the bug is 100% on target. If a prepared transaction is never executed, the transaction will quietly fail. ------------------------------------------------------------------------ [2006-08-30 08:06:31] ce at netage dot bg I would suggest the following patch: --- pgsql_statement.c~ 2006-08-30 10:54:31.000000000 +0300 +++ pgsql_statement.c 2006-08-30 10:54:31.000000000 +0300 @@ -60,10 +60,13 @@ static int pgsql_stmt_dtor(pdo_stmt_t *s char *q = NULL; PGresult *res; - spprintf(&q, 0, "DEALLOCATE %s", S->stmt_name); - res = PQexec(H->server, q); - efree(q); - if (res) PQclear(res); + if (S->is_prepared) + { + spprintf(&q, 0, "DEALLOCATE %s", S->stmt_name); + res = PQexec(H->server, q); + efree(q); + if (res) PQclear(res); + } efree(S->stmt_name); S->stmt_name = NULL; } ------------------------------------------------------------------------ [2006-08-20 10:01:15] sagi at adamnet dot co dot il Same with the latest CVS version: [EMAIL PROTECTED]:~/XXX/tmp$ /usr/local/php5-dev/bin/php -v PHP 5.2.0RC3-dev (cli) (built: Aug 20 2006 12:46:20) Copyright (c) 1997-2006 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2006 Zend Technologies [EMAIL PROTECTED]:~/XXX/tmp$ /usr/local/php5-dev/bin/php preptest.php PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[25P02]: In failed sql transaction: 7 ERROR: current transaction is aborted, commands ignored until end of transaction block' in /home/XXX/tmp/preptest.php:13 Stack trace: #0 /home/XXX/tmp/preptest.php(13): PDO->query('SELECT 123') #1 {main} thrown in /home/XXX/tmp/preptest.php on line 13 Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[25P02]: In failed sql transaction: 7 ERROR: current transaction is aborted, commands ignored until end of transaction block' in /home/XXX/tmp/preptest.php:13 Stack trace: #0 /home/XXX/tmp/preptest.php(13): PDO->query('SELECT 123') #1 {main} thrown in /home/XXX/tmp/preptest.php on line 13 [EMAIL PROTECTED]:~/XXX/tmp$ ------------------------------------------------------------------------ [2006-08-10 01:00:00] php-bugs at lists dot php dot net No feedback was provided for this bug for over a week, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open". ------------------------------------------------------------------------ [2006-08-02 14:18:38] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://snaps.php.net/win32/php5.2-win32-latest.zip Appears to work fine (at least for me) in latest CVS. ------------------------------------------------------------------------ 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 http://bugs.php.net/37870 -- Edit this bug report at http://bugs.php.net/?id=37870&edit=1