Hi, I have a question about the postgres interface in php. The implementation for a persistent connection calls _rollback_transactions. I was just wondering what exactly does the bottom section do by calling BEGIN; and then ROLLBACK;. It would seem like it's wasting cpu cycles to start up a transaction and then rolling back the transactions doing nothing. I'm looking at php 4.3.10 and I'm using postgres 8.0.1. yulius /* {{{ _rollback_transactions */ static int _rollback_transactions(zend_rsrc_list_entry *rsrc TSRMLS_DC) { PGconn *link; PGresult *res; int orig; if (Z_TYPE_P(rsrc) != le_plink) return 0; link = (PGconn *) rsrc->ptr; if (PQ_SETNONBLOCKING(link, 0)) { php_error_docref("ref.pgsql" TSRMLS_CC, E_NOTICE, "Cannot set connection to blocking mode"); return -1; } while ((res = PQgetResult(link))) { PQclear(res); } orig = PGG(ignore_notices); PGG(ignore_notices) = 1; res = PQexec(link,"BEGIN;"); PQclear(res); res = PQexec(link,"ROLLBACK;"); PQclear(res); PGG(ignore_notices) = orig; return 0; } /* }}} */