Re: When running with autocommit false only the first BEGIN - Mailing list pgsql-jdbc

From Oliver Jowett
Subject Re: When running with autocommit false only the first BEGIN
Date
Msg-id 41A30F2C.40801@opencloud.com
Whole thread Raw
In response to When running with autocommit false only the first BEGIN and COMMIT are logged on server  ("Barry Lind" <blind@xythos.com>)
Responses Re: When running with autocommit false only the first BEGIN
List pgsql-jdbc
Barry Lind wrote:
> While debugging my other server problem, I noticed that that only the
> first BEGIN and COMMIT are logged on the server with sql statement
> logging enabled.  It seems that the subsequent transaction control
> statements are being executed correctly, it is just that they are not
> being logged by the server.  Is this to be expected?  If so, it makes
> debugging a bit difficult as you can't see what commits are really being
> executed when you have sql statement logging enabled.

Yeah, it's a limitation of statement logging. Statements are logged only
on Parse, not on Bind/Execute. The driver reuses the internal
BEGIN/COMMIT statements, so only one Parse is done for each. You will
see the same thing for user queries if they end up using server-side
prepare.

There should be some past discussion about this in the -hackers archives.

-O

pgsql-jdbc by date:

Previous
From: "Barry Lind"
Date:
Subject: When running with autocommit false only the first BEGIN and COMMIT are logged on server
Next
From: Oliver Jowett
Date:
Subject: Re: Can't throw the dreaded 'idle in transaction' - need help!