Re: PGStatement#setPrepareThreshold

Поиск
Список
Период
Сортировка
Искать
От
Bruce Momjian
Тема
Re: PGStatement#setPrepareThreshold
Дата
Msg-id
200608041856.k74IurK20224@momjian.us
Список
Дерево обсуждения
Re: PGStatement#setPrepareThreshold Bruce Momjian <bruce@momjian.us>
bruce wrote:
> Tom Lane wrote:
> > Bruce Momjian  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:   ...
> 
> 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 "" 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 : "",
  						query_string)));
  
  	/*
--- 1146,1153 ----
  
  	if (log_statement == LOGSTMT_ALL)
  		ereport(LOG,
! 				(errmsg("statement:  PREPARE %s AS %s",
! 						*stmt_name ? stmt_name : "",
  						query_string)));
  
  	/*
***************
*** 1452,1458 ****
  	/* We need to output the parameter values someday */
  	if (log_statement == LOGSTMT_ALL)
  		ereport(LOG,
! 				(errmsg("statement: [protocol]  %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:   %s  [PREPARE:  %s]",
! 						*portal_name ? portal_name : "",
! 						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 : "",
  						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:  %sEXECUTE %s  [PREPARE:  %s]",
  						execute_is_fetch ? "FETCH from " : "",
! 						*portal_name ? portal_name : "",
  						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 : "",
! 							portal->sourceText ? portal->sourceText : "")));
  		}
  	}
  
--- 1828,1838 ----
  								secs, msecs)));
  			else
  				ereport(LOG,
! 						(errmsg("duration: %ld.%03d ms  statement:  %sEXECUTE %s  [PREPARE:  %s]",
  								secs, msecs,
  								execute_is_fetch ? "FETCH from " : "",
! 								*portal_name ? portal_name : "",
! 								portal->sourceText ? portal->sourceText : "")));
  		}
  	}
  
В списке pgsql-jdbc по дате отправления
От: Kris Jurka
Дата:
От: Tom Lane
Дата:
FAQ