pgsql: Teach tid-scan code to make use of "ctid = ANY (array)" clauses, - Mailing list pgsql-committers

From tgl@svr1.postgresql.org (Tom Lane)
Subject pgsql: Teach tid-scan code to make use of "ctid = ANY (array)" clauses,
Date
Msg-id 20051126221457.D1926D95BE@svr1.postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Teach tid-scan code to make use of "ctid = ANY (array)" clauses, so that
"ctid IN (list)" will still work after we convert IN to ScalarArrayOpExpr.
Make some minor efficiency improvements while at it, such as ensuring that
multiple TIDs are fetched in physical heap order.  And fix EXPLAIN so that
it shows what's really going on for a TID scan.

Modified Files:
--------------
    pgsql/src/backend/commands:
        explain.c (r1.140 -> r1.141)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/explain.c.diff?r1=1.140&r2=1.141)
    pgsql/src/backend/executor:
        nodeTidscan.c (r1.44 -> r1.45)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeTidscan.c.diff?r1=1.44&r2=1.45)
    pgsql/src/backend/nodes:
        copyfuncs.c (r1.321 -> r1.322)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/copyfuncs.c.diff?r1=1.321&r2=1.322)
        outfuncs.c (r1.262 -> r1.263)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/outfuncs.c.diff?r1=1.262&r2=1.263)
    pgsql/src/backend/optimizer/path:
        costsize.c (r1.150 -> r1.151)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/costsize.c.diff?r1=1.150&r2=1.151)
        tidpath.c (r1.25 -> r1.26)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/tidpath.c.diff?r1=1.25&r2=1.26)
    pgsql/src/backend/optimizer/plan:
        createplan.c (r1.204 -> r1.205)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/createplan.c.diff?r1=1.204&r2=1.205)
        setrefs.c (r1.118 -> r1.119)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/setrefs.c.diff?r1=1.118&r2=1.119)
        subselect.c (r1.101 -> r1.102)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/subselect.c.diff?r1=1.101&r2=1.102)
    pgsql/src/backend/optimizer/util:
        pathnode.c (r1.125 -> r1.126)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/pathnode.c.diff?r1=1.125&r2=1.126)
    pgsql/src/include/nodes:
        execnodes.h (r1.143 -> r1.144)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/execnodes.h.diff?r1=1.143&r2=1.144)
        plannodes.h (r1.81 -> r1.82)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/plannodes.h.diff?r1=1.81&r2=1.82)
        relation.h (r1.120 -> r1.121)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/relation.h.diff?r1=1.120&r2=1.121)
    pgsql/src/include/optimizer:
        cost.h (r1.71 -> r1.72)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/cost.h.diff?r1=1.71&r2=1.72)
        pathnode.h (r1.62 -> r1.63)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/pathnode.h.diff?r1=1.62&r2=1.63)

pgsql-committers by date:

Previous
From: tgl@svr1.postgresql.org (Tom Lane)
Date:
Subject: pgsql: Teach push_nots() how to negate a ScalarArrayOpExpr.
Next
From: tgl@svr1.postgresql.org (Tom Lane)
Date:
Subject: pgsql: Add missing semicolon.