pgsql: Dept of better ideas: refrain from creating the planner's - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Dept of better ideas: refrain from creating the planner's
Date
Msg-id 20081022201752.6CD2F7545A4@cvs.postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Dept of better ideas: refrain from creating the planner's placeholder_list
until vars are distributed to rels during query_planner() startup.  We don't
really need it before that, and not building it early has some advantages.
First, we don't need to put it through the various preprocessing steps, which
saves some cycles and eliminates the need for a number of routines to support
PlaceHolderInfo nodes at all.  Second, this means one less unused plan for any
sub-SELECT appearing in a placeholder's expression, since we don't build
placeholder_list until after sublink expansion is complete.

Modified Files:
--------------
    pgsql/src/backend/optimizer/plan:
        planmain.c (r1.111 -> r1.112)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/planmain.c?r1=1.111&r2=1.112)
        planner.c (r1.245 -> r1.246)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/planner.c?r1=1.245&r2=1.246)
    pgsql/src/backend/optimizer/prep:
        prepjointree.c (r1.57 -> r1.58)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/prep/prepjointree.c?r1=1.57&r2=1.58)
        prepunion.c (r1.159 -> r1.160)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/prep/prepunion.c?r1=1.159&r2=1.160)
    pgsql/src/backend/optimizer/util:
        placeholder.c (r1.1 -> r1.2)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/placeholder.c?r1=1.1&r2=1.2)
        var.c (r1.81 -> r1.82)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/var.c?r1=1.81&r2=1.82)
    pgsql/src/backend/rewrite:
        rewriteManip.c (r1.116 -> r1.117)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/rewrite/rewriteManip.c?r1=1.116&r2=1.117)
    pgsql/src/include/nodes:
        relation.h (r1.162 -> r1.163)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/relation.h?r1=1.162&r2=1.163)

pgsql-committers by date:

Previous
From: teodor@postgresql.org (Teodor Sigaev)
Date:
Subject: pgsql: Fix GiST's killing tuple: GISTScanOpaque->curpos wasn't
Next
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: When estimating without benefit of MCV lists (suggesting that one