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.

Right, as I just emailed.  I wonder if we made the mistake of
recommending BEGIN;COMMIT; to the PHP folks a while back, or whether they
just did it themselves.

I remember telling them they couldn't just do ROLLBACK because that
would fill the logs, but I am not sure how they got BEGIN;COMMIT;
rather than BEGIN;ROLLBACK.  It just shows we need better communication
between the communities.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [EMAIL PROTECTED]               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
      joining column's datatypes do not match

Reply via email to