Marcus B?rger wrote:
> BM> Oh, I remember that now as part of the persistent connection code. As I
> BM> remember, we told them to do BEGIN;COMMIT; to clear any open transaction
> BM> state passed to the new client. Is that in there? If not, it has to be
> BM> added too. ROLLBACK will generate an error if you are not in a
> BM> transaction, so it would fill the logs with errors.
>
> Here's the current log while reusing the persistent connection:
>
> DEBUG: InitPostgres
> DEBUG: StartTransactionCommand
> DEBUG: query: select getdatabaseencoding()
> DEBUG: ProcessQuery
> DEBUG: CommitTransactionCommand
> DEBUG: StartTransactionCommand
> DEBUG: query: RESET ALL
> DEBUG: ProcessUtility: RESET ALL
> DEBUG: CommitTransactionCommand
> DEBUG: StartTransactionCommand
> DEBUG: query: BEGIN;ROLLBACK;
> DEBUG: ProcessUtility: BEGIN;ROLLBACK;
> DEBUG: CommitTransactionCommand
> DEBUG: StartTransactionCommand
> DEBUG: ProcessUtility: BEGIN;ROLLBACK;
> DEBUG: CommitTransactionCommand
> DEBUG: pq_recvbuf: unexpected EOF on client connection
Sorry, this doesn't look right. It should be BEGIN;COMMIT;RESET ALL;
What I see above looks more like RESET ALL;BEGIN;COMMIT;, which will not
work if the RESET ALL is runs in aborted transaction created by the
previous client connection. Also, it looks like BEGIN;ROLLBACK is being
executed twice.
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square,
Pennsylvania19073