Re: PGStatement#setPrepareThreshold

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Dave Cramer <pg(at)fastcrypt(dot)com>
Cc: Csaba Nagy <nagy(at)ecircle-ag(dot)com>, Oliver Jowett <oliver(at)opencloud(dot)com>, Postgres JDBC <pgsql-jdbc(at)postgresql(dot)org>, Bruce Momjian <bruce(at)momjian(dot)us>
Subject: Re: PGStatement#setPrepareThreshold
Date: 2006-08-03 19:59:47
Message-ID: 25044.1154635187@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Dave Cramer <pg(at)fastcrypt(dot)com> writes:
> However I'm still puzzled by these backend logs

> <test test>LOG: statement: PREPARE S_3 AS INSERT INTO texttable (te)
> VALUES ($1)
> <test test>LOG: statement: <BIND>
> <test test>LOG: statement: EXECUTE <unnamed> [PREPARE: INSERT INTO
> texttable (te) VALUES ($1)]

> We see the prepare to a named statement, but then the execute is
> unnamed ?

What it's showing you there is the name of the protocol-level portal;
evidently you're using the unnamed portal to execute the INSERT.

This does demonstrate once again that the current approach to logging
parse/bind/execute operations is entirely wrongheaded, because it
deliberately confuses the protocol and SQL levels. I see that Bruce
has changed CVS tip so that the message is

<test test>LOG: statement: [protocol] EXECUTE <unnamed> [PREPARE: INSERT INTO
texttable (te) VALUES ($1)]

but I hardly think that's going to be enough to de-confuse people.
All those brackets just serve to make things *more* confusing IMHO.

What I'd like to see is something like this:

Simple Query produces

LOG: statement: ...statement text here...

Parse produces

LOG: parse statement-name: ...statement text here...

Bind produces

LOG: bind portal-name to statement-name (someday print arguments here)

Execute produces

LOG: execute portal-name: ...statement text here...

No brackets, no pretending that an Execute message is the same thing
as a SQL EXECUTE command or that Parse is the same as PREPARE.

regards, tom lane

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Dave Cramer 2006-08-03 22:07:25 Re: PGStatement#setPrepareThreshold
Previous Message Dave Cramer 2006-08-03 17:38:37 Re: PGStatement#setPrepareThreshold