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
  [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 8: explain analyze is your friend

Reply via email to