Re: PGStatement#setPrepareThreshold - Mailing list pgsql-jdbc
From | Dave Cramer |
---|---|
Subject | Re: PGStatement#setPrepareThreshold |
Date | |
Msg-id | A9AE463A-4B1E-46EC-94E7-035BEA53CD6E@fastcrypt.com Whole thread Raw |
In response to | Re: PGStatement#setPrepareThreshold (Bruce Momjian <bruce@momjian.us>) |
Responses |
Re: PGStatement#setPrepareThreshold
|
List | pgsql-jdbc |
Bruce, Doesn't it make more sense to use the statement name ? If I prepare S_3 as "select * from foo" then the bind log is going to show me "select * from foo" not S_3 I think in the case of named statements I'd prefer "S_3" however as I think about this in the case of unnamed statements I'd prefer the "select * from foo" Comments ? Dave On 4-Aug-06, at 2:56 PM, Bruce Momjian wrote: > bruce wrote: >> Tom Lane wrote: >>> Bruce Momjian <bruce@momjian.us> writes: >>>> Dave Cramer wrote: >>>>> Bind also has a statement name, as well as a portal name ? >>>>> >>>>> Ideally I'd like to see the parameters which were bound and the >>>>> types, but I suspect I'm reaching here. >>> >>>> Right, but do we want to repeat the statement for every bind case? >>> >>> My upthread proposal was to print the statement and portal names >>> at bind time. The current printout is very clearly inadequate. >> >> Sure, I can do that. >> >> Did you like my idea of? >> >> statement: <protocol execute> ... >> >> You didn't reply. I want to keep the "statement:" prefix for scripts >> that process our log files, and because it is output by >> log_statement, >> which controls protocol output as well. > > I have applied this patch to output the statemented referenced by > BIND. > I also changed the "[protocol]" string to "<protocol>" for clarity. I > am ready to pull PREPARE|BIND|EXECUTED into the "protocol" bracket too > if someone says that is a good idea. > > -- > Bruce Momjian bruce@momjian.us > EnterpriseDB http://www.enterprisedb.com > > + If your life is a hard drive, Christ can be your backup. + > Index: src/backend/tcop/postgres.c > =================================================================== > RCS file: /cvsroot/pgsql/src/backend/tcop/postgres.c,v > retrieving revision 1.493 > diff -c -c -r1.493 postgres.c > *** src/backend/tcop/postgres.c 29 Jul 2006 03:02:56 -0000 1.493 > --- src/backend/tcop/postgres.c 4 Aug 2006 18:50:59 -0000 > *************** > *** 1146,1153 **** > > if (log_statement == LOGSTMT_ALL) > ereport(LOG, > ! (errmsg("statement: [protocol] PREPARE %s AS %s", > ! (*stmt_name != '\0') ? stmt_name : "<unnamed>", > query_string))); > > /* > --- 1146,1153 ---- > > if (log_statement == LOGSTMT_ALL) > ereport(LOG, > ! (errmsg("statement: <protocol> PREPARE %s AS %s", > ! *stmt_name ? stmt_name : "<unnamed>", > query_string))); > > /* > *************** > *** 1452,1458 **** > /* We need to output the parameter values someday */ > if (log_statement == LOGSTMT_ALL) > ereport(LOG, > ! (errmsg("statement: [protocol] <BIND> %s", portal_name))); > > /* > * Fetch parameters, if any, and store in the portal's memory > context. > --- 1452,1460 ---- > /* We need to output the parameter values someday */ > if (log_statement == LOGSTMT_ALL) > ereport(LOG, > ! (errmsg("statement: <protocol> <BIND> %s [PREPARE: %s]", > ! *portal_name ? portal_name : "<unnamed>", > ! portal->sourceText ? portal->sourceText : ""))); > > /* > * Fetch parameters, if any, and store in the portal's memory > context. > *************** > *** 1718,1726 **** > if (log_statement == LOGSTMT_ALL) > /* We have the portal, so output the source query. */ > ereport(LOG, > ! (errmsg("statement: [protocol] %sEXECUTE %s [PREPARE: %s]", > execute_is_fetch ? "FETCH from " : "", > ! (*portal_name) ? portal_name : "<unnamed>", > portal->sourceText ? portal->sourceText : ""))); > > BeginCommand(portal->commandTag, dest); > --- 1720,1728 ---- > if (log_statement == LOGSTMT_ALL) > /* We have the portal, so output the source query. */ > ereport(LOG, > ! (errmsg("statement: <protocol> %sEXECUTE %s [PREPARE: %s]", > execute_is_fetch ? "FETCH from " : "", > ! *portal_name ? portal_name : "<unnamed>", > portal->sourceText ? portal->sourceText : ""))); > > BeginCommand(portal->commandTag, dest); > *************** > *** 1826,1836 **** > secs, msecs))); > else > ereport(LOG, > ! (errmsg("duration: %ld.%03d ms statement: [protocol] % > sEXECUTE %s [PREPARE: %s]", > secs, msecs, > execute_is_fetch ? "FETCH from " : "", > ! (*portal_name) ? portal_name : "<unnamed>", > ! portal->sourceText ? portal->sourceText : ""))); > } > } > > --- 1828,1838 ---- > secs, msecs))); > else > ereport(LOG, > ! (errmsg("duration: %ld.%03d ms statement: <protocol> % > sEXECUTE %s [PREPARE: %s]", > secs, msecs, > execute_is_fetch ? "FETCH from " : "", > ! *portal_name ? portal_name : "<unnamed>", > ! portal->sourceText ? portal->sourceText : ""))); > } > } >
pgsql-jdbc by date: