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