Hello Bruce, Thursday, July 24, 2003, 11:57:39 PM, you wrote:
BM> Jan Wieck wrote: >> Marcus B?rger wrote: >> > ATM i have a patch doing the following: >> > Connect: >> > If PQprotocolVersion() is available and >= 3 PQparameterStatus() is available >> > then i check the server version. Else i check the lib version (*). >> > If the version to check is >= 7.2 ido one of the following: >> > - If one of PQprotocolVersion() and PQtransactionStatus() is unavailable or >> > protocol version < 3: >> > "BEGIN;COMMIT;RESET ALL;" >> > >> > - If protocol version >= 3 and transaction status == PQTRANS_IDLE: >> > "RESET ALL;" >> > - If protocol version >= 3 and transaction status != PQTRANS_IDLE: >> > "COMMIT;RESET ALL;" >> >> Shouldn't that be >> >> ROLLBACK; RESET ALL; >> >> and the other one "BEGIN; ROLLBACK; RESET ALL;" ? >> >> I don't want to have the possibly partial transaction from a crashed PHP >> script to be committed by default. At least it would be a significant >> difference between persistent and non-persistent connections, because we >> rollback if we loose the connection. BM> Right, as I just emailed. I wonder if we made the mistake of BM> recommending BEGIN;COMMIT; to the PHP folks a while back, or whether they BM> just did it themselves. BM> I remember telling them they couldn't just do ROLLBACK because that BM> would fill the logs, but I am not sure how they got BEGIN;COMMIT; BM> rather than BEGIN;ROLLBACK. It just shows we need better communication BM> between the communities. Ok, i'd of course appreciate more eyes before my commit then (i need to become more familiar with the whole postgres source). I've put three files online: - the diff against current php haed http://marcus-boerger.de/php/ext/pgsql/pgsql-persistent-20030725.diff.txt - the complete new file http://marcus-boerger.de/php/ext/pgsql/pgsql.c - the parts relevant (request start/stop) http://marcus-boerger.de/php/ext/pgsql/pgsql-request-start-stop.c Best regards, Marcus mailto:[EMAIL PROTECTED] ---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives? http://archives.postgresql.org