From: | marcus(dot)boerger(at)t-online(dot)de (Marcus Brger) |
---|---|
To: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
Cc: | Jan Wieck <JanWieck(at)Yahoo(dot)com>, ivan <iv(at)psycho(dot)pl>, Joe Conway <mail(at)joeconway(dot)com>, Dave Page <dpage(at)vale-housing(dot)co(dot)uk>, <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: php with postgres |
Date: | 2003-07-24 22:32:04 |
Message-ID: | 6010331505.20030725003204@post.rwth-aachen.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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(dot)boerger(at)post(dot)rwth-aachen(dot)de
From | Date | Subject | |
---|---|---|---|
Next Message | The Hermit Hacker | 2003-07-24 22:41:17 | Re: v7.3.4 bundled ... |
Previous Message | Joe Conway | 2003-07-24 22:31:48 | array expression NULL fix [was: [HACKERS] odd behavior/possible bug] |