Re: php with postgres - Mailing list pgsql-hackers

From marcus.boerger@t-online.de (Marcus Börger)
Subject Re: php with postgres
Date
Msg-id 6010331505.20030725003204@post.rwth-aachen.de
Whole thread Raw
In response to Re: php with postgres  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-hackers
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:marcus.boerger@post.rwth-aachen.de



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: two buglets: createlang and pg_get_triggerdef
Next
From: Dennis Gearon
Date:
Subject: Re: [GENERAL] RPMs for 7.3.4, and a change.