Fix for log_executor_stats

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: PostgreSQL-patches <pgsql-patches(at)postgresql(dot)org>
Subject: Fix for log_executor_stats
Date: 2004-03-04 18:32:34
Message-ID: 200403041832.i24IWYF14354@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

The log_executor_stats config variable doesn't work 100%. It shows
stats for only certain SQL queries. Looking at utils/portal.h:

* We have several execution strategies for Portals, depending on what
* query or queries are to be executed. (Note: in all cases, a Portal
* executes just a single source-SQL query, and thus produces just a
* single result from the user's viewpoint. However, the rule rewriter
* may expand the single source query to zero or many actual queries.)
*
* PORTAL_ONE_SELECT: the portal contains one single SELECT query. We run
* the Executor incrementally as results are demanded. This strategy also
* supports holdable cursors (the Executor results can be dumped into a
* tuplestore for access after transaction completion).
*
* PORTAL_UTIL_SELECT: the portal contains a utility statement that returns
* a SELECT-like result (for example, EXPLAIN or SHOW). On first execution,
* we run the statement and dump its results into the portal tuplestore;
* the results are then returned to the client as demanded.
*
* PORTAL_MULTI_QUERY: all other cases. Here, we do not support partial
* execution: the portal's queries will be run to completion on first call.

it only logs executor stats for PORTAL_MULTI_QUERY queries. I assume
this was done so that individual queries are logged rather than the
entire multi-query. However, the code shows no executor stats for
non-multi queries, which is certainly a bug. Even a simple "SELECT col
FROM tab" or "SELECT 1" emits no statistics.

This used to work in the past, but it appears broken in 7.4.X too. I
guess I should fix it there too, though obviously very few people use
this feature or we would have gotten reports.

The attached fix keeps the multi-query stats code unchanged, but adds
stats for non-multi-query cases.

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

Attachment Content-Type Size
unknown_filename text/plain 918 bytes

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Neil Conway 2004-03-04 20:37:56 Re: Doc for ltrim and rtrim
Previous Message Bruce Momjian 2004-03-04 18:16:04 Re: Doc for ltrim and rtrim