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.


Jan



Disconnect: - When PQprotocolVersion() And PQtransactionStatus() are available then i check whether status is PQTRANS_IDLE. If so i do: "ROLLBACK;" - If the functions are not available in the client libs i do: "BEGIN;ROLLBACK;"

Does this sound the correct behavior?

And would "select split_part(version(), ' ', 2);" be too much of a slowdown to
do the version detection in the startup sequence completely correct?





-- #======================================================================# # It's easier to get forgiveness for being wrong than for being right. # # Let's break this rule - forgive me. # #================================================== [EMAIL PROTECTED] #


---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]

Reply via email to