Обсуждение: pgsql: Do parse analysis of an EXPLAIN's contained statement during the

Поиск
Список
Период
Сортировка

pgsql: Do parse analysis of an EXPLAIN's contained statement during the

От
tgl@postgresql.org (Tom Lane)
Дата:
Log Message:
-----------
Do parse analysis of an EXPLAIN's contained statement during the normal
parse analysis phase, rather than at execution time.  This makes parameter
handling work the same as it does in ordinary plannable queries, and in
particular fixes the incompatibility that Pavel pointed out with plpgsql's
new handling of variable references.  plancache.c gets a little bit
grottier, but the alternatives seem worse.

Modified Files:
--------------
    pgsql/src/backend/commands:
        explain.c (r1.198 -> r1.199)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/explain.c?r1=1.198&r2=1.199)
    pgsql/src/backend/nodes:
        params.c (r1.13 -> r1.14)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/params.c?r1=1.13&r2=1.14)
    pgsql/src/backend/optimizer/plan:
        setrefs.c (r1.156 -> r1.157)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/setrefs.c?r1=1.156&r2=1.157)
    pgsql/src/backend/parser:
        analyze.c (r1.399 -> r1.400)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/analyze.c?r1=1.399&r2=1.400)
    pgsql/src/backend/tcop:
        utility.c (r1.328 -> r1.329)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/tcop/utility.c?r1=1.328&r2=1.329)
    pgsql/src/backend/utils/cache:
        plancache.c (r1.33 -> r1.34)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/plancache.c?r1=1.33&r2=1.34)
    pgsql/src/include/nodes:
        params.h (r1.40 -> r1.41)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/params.h?r1=1.40&r2=1.41)
        parsenodes.h (r1.423 -> r1.424)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/parsenodes.h?r1=1.423&r2=1.424)
    pgsql/src/include/optimizer:
        planmain.h (r1.123 -> r1.124)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/planmain.h?r1=1.123&r2=1.124)