pgsql: Some infrastructure changes for the upcoming auto-explain contrib - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Some infrastructure changes for the upcoming auto-explain contrib
Date
Msg-id 20081119011024.2A9777545A4@cvs.postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Some infrastructure changes for the upcoming auto-explain contrib module:

* Refactor explain.c slightly to export a convenient-to-use subroutine
for printing EXPLAIN results.

* Provide hooks for plugins to get control at ExecutorStart and ExecutorEnd
as well as ExecutorRun.

* Add some minimal support for tracking the total runtime of ExecutorRun.
This code won't actually do anything unless a plugin prods it to.

* Change the API of the DefineCustomXXXVariable functions to allow nonzero
"flags" to be specified for a custom GUC variable.  While at it, also make
the "bootstrap" default value for custom GUCs be explicitly specified as a
parameter to these functions.  This is to eliminate confusion over where the
default comes from, as has been expressed in the past by some users of the
custom-variable facility.

* Refactor GUC code a bit to ensure that a custom variable gets initialized to
something valid (like its default value) even if the placeholder value was
invalid.

Modified Files:
--------------
    pgsql/src/backend/commands:
        explain.c (r1.180 -> r1.181)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/explain.c?r1=1.180&r2=1.181)
    pgsql/src/backend/executor:
        execMain.c (r1.317 -> r1.318)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execMain.c?r1=1.317&r2=1.318)
    pgsql/src/backend/tcop:
        pquery.c (r1.124 -> r1.125)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/tcop/pquery.c?r1=1.124&r2=1.125)
    pgsql/src/backend/utils/misc:
        guc.c (r1.477 -> r1.478)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/misc/guc.c?r1=1.477&r2=1.478)
    pgsql/src/include/commands:
        explain.h (r1.35 -> r1.36)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/commands/explain.h?r1=1.35&r2=1.36)
    pgsql/src/include/executor:
        execdesc.h (r1.37 -> r1.38)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/execdesc.h?r1=1.37&r2=1.38)
        executor.h (r1.152 -> r1.153)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/executor.h?r1=1.152&r2=1.153)
    pgsql/src/include/utils:
        guc.h (r1.98 -> r1.99)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/guc.h?r1=1.98&r2=1.99)
        guc_tables.h (r1.43 -> r1.44)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/guc_tables.h?r1=1.43&r2=1.44)
    pgsql/src/pl/plperl:
        plperl.c (r1.141 -> r1.142)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plperl/plperl.c?r1=1.141&r2=1.142)

pgsql-committers by date:

Previous
From: achernow@pgfoundry.org (User Achernow)
Date:
Subject: libpqtypes - libpqtypes: configure fixes and memalign cleanup
Next
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Fix define_custom_variable so that SUSET custom variables behave