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

From: tgl(at)svr1(dot)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Teach tid-scan code to make use of "ctid = ANY (array)" clauses,
Date: 2005-11-26 22:14:57
Message-ID: 20051126221457.D1926D95BE@svr1.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2005-11-27 01:22:24 pgsql: Add missing semicolon.
Previous Message Tom Lane 2005-11-26 18:07:40 pgsql: Teach push_nots() how to negate a ScalarArrayOpExpr.