• Tom Lane's avatar
    Some infrastructure changes for the upcoming auto-explain contrib module: · cd35e9d7
    Tom Lane authored
    * 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.
    cd35e9d7
execdesc.h 2.29 KB