Thread: pgsql: Improve my initial, rather hacky implementation of joins to

pgsql: Improve my initial, rather hacky implementation of joins to

From
tgl@postgresql.org (Tom Lane)
Date:
Log Message:
-----------
Improve my initial, rather hacky implementation of joins to append
relations: fix the executor so that we can have an Append plan on the
inside of a nestloop and still pass down outer index keys to index scans
within the Append, then generate such plans as if they were regular
inner indexscans.  This avoids the need to evaluate the outer relation
multiple times.

Modified Files:
--------------
    pgsql/src/backend/commands:
        explain.c (r1.142 -> r1.143)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/explain.c.diff?r1=1.142&r2=1.143)
    pgsql/src/backend/executor:
        nodeAppend.c (r1.65 -> r1.66)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeAppend.c.diff?r1=1.65&r2=1.66)
    pgsql/src/backend/optimizer/path:
        costsize.c (r1.152 -> r1.153)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/costsize.c.diff?r1=1.152&r2=1.153)
        indxpath.c (r1.200 -> r1.201)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/indxpath.c.diff?r1=1.200&r2=1.201)
        joinpath.c (r1.101 -> r1.102)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/joinpath.c.diff?r1=1.101&r2=1.102)
    pgsql/src/backend/optimizer/plan:
        setrefs.c (r1.119 -> r1.120)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/setrefs.c.diff?r1=1.119&r2=1.120)
    pgsql/src/backend/optimizer/util:
        relnode.c (r1.76 -> r1.77)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/relnode.c.diff?r1=1.76&r2=1.77)
    pgsql/src/include/optimizer:
        pathnode.h (r1.65 -> r1.66)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/pathnode.h.diff?r1=1.65&r2=1.66)