bruce wrote:
> BTom Lane wrote:
> > Bruce Momjian <[EMAIL PROTECTED]> writes:
> > > Yes, I do.  I have applied the attached patch to fix this issue and
> > > several others.  The fix was to save the bind parameters in the portal,
> > > and display those in the executor output, if available.
> > 
> > I have a feeling you just blew away the 4% savings in psql I've spent
> > the evening on.  What's the overhead of this patch?
> 
> The only overhead I see is calling log_after_parse() all the time,
> rather than only when log_statement is all.  I could fix it by checking
> log_statement and log_min_duration_statement >= 0.  Does
> log_after_parse() look heavy to you?

OK, I applied this patch to call log_after_parse() only if necessary. 
The 'if' statement looked pretty ugly, so the optimization seemed
overkill, but maybe it will be useful.

-- 
  Bruce Momjian   [EMAIL PROTECTED]
  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.500
diff -c -c -r1.500 postgres.c
*** src/backend/tcop/postgres.c	29 Aug 2006 02:11:29 -0000	1.500
--- src/backend/tcop/postgres.c	29 Aug 2006 02:29:48 -0000
***************
*** 871,877 ****
  	parsetree_list = pg_parse_query(query_string);
  
  	/* Log immediately if dictated by log_statement */
! 	was_logged = log_after_parse(parsetree_list, query_string, &prepare_string);
  
  	/*
  	 * Switch back to transaction context to enter the loop.
--- 871,879 ----
  	parsetree_list = pg_parse_query(query_string);
  
  	/* Log immediately if dictated by log_statement */
! 	if (log_statement != LOGSTMT_NONE || log_duration ||
! 		log_min_duration_statement >= 0)
! 		was_logged = log_after_parse(parsetree_list, query_string, &prepare_string);
  
  	/*
  	 * Switch back to transaction context to enter the loop.
---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

               http://archives.postgresql.org

Reply via email to