pgsql: First steps towards index scans with heap access decoupled from
Log Message:
-----------
First steps towards index scans with heap access decoupled from index
access: define new index access method functions 'amgetmulti' that can
fetch multiple TIDs per call. (The functions exist but are totally
untested as yet.) Since I was modifying pg_am anyway, remove the
no-longer-needed 'rel' parameter from amcostestimate functions, and
also remove the vestigial amowner column that was creating useless
work for Alvaro's shared-object-dependencies project.
Initdb forced due to changes in pg_am.
Modified Files:
--------------
pgsql/doc/src/sgml:
catalogs.sgml (r2.96 -> r2.97)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/catalogs.sgml.diff?r1=2.96&r2=2.97)
indexam.sgml (r2.2 -> r2.3)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/indexam.sgml.diff?r1=2.2&r2=2.3)
pgsql/src/backend/access/gist:
gistget.c (r1.44 -> r1.45)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gist/gistget.c.diff?r1=1.44&r2=1.45)
pgsql/src/backend/access/hash:
hash.c (r1.77 -> r1.78)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/hash/hash.c.diff?r1=1.77&r2=1.78)
pgsql/src/backend/access/heap:
heapam.c (r1.184 -> r1.185)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/heapam.c.diff?r1=1.184&r2=1.185)
pgsql/src/backend/access/index:
genam.c (r1.44 -> r1.45)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/index/genam.c.diff?r1=1.44&r2=1.45)
indexam.c (r1.78 -> r1.79)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/index/indexam.c.diff?r1=1.78&r2=1.79)
pgsql/src/backend/access/nbtree:
nbtree.c (r1.126 -> r1.127)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtree.c.diff?r1=1.126&r2=1.127)
pgsql/src/backend/access/rtree:
rtget.c (r1.34 -> r1.35)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/rtree/rtget.c.diff?r1=1.34&r2=1.35)
pgsql/src/backend/optimizer/path:
costsize.c (r1.139 -> r1.140)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/costsize.c.diff?r1=1.139&r2=1.140)
pgsql/src/backend/utils/adt:
selfuncs.c (r1.174 -> r1.175)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/selfuncs.c.diff?r1=1.174&r2=1.175)
pgsql/src/include/access:
genam.h (r1.48 -> r1.49)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/genam.h.diff?r1=1.48&r2=1.49)
gist.h (r1.43 -> r1.44)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/gist.h.diff?r1=1.43&r2=1.44)
hash.h (r1.60 -> r1.61)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/hash.h.diff?r1=1.60&r2=1.61)
nbtree.h (r1.84 -> r1.85)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/nbtree.h.diff?r1=1.84&r2=1.85)
relscan.h (r1.37 -> r1.38)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/relscan.h.diff?r1=1.37&r2=1.38)
rtree.h (r1.37 -> r1.38)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/rtree.h.diff?r1=1.37&r2=1.38)
pgsql/src/include/catalog:
catversion.h (r1.259 -> r1.260)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catversion.h.diff?r1=1.259&r2=1.260)
pg_am.h (r1.31 -> r1.32)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_am.h.diff?r1=1.31&r2=1.32)
pg_proc.h (r1.353 -> r1.354)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_proc.h.diff?r1=1.353&r2=1.354)
Tom,
does this means that 'select 1 from foo where .....' will not read heap
tuples (if index isn't loosy, of course) ?
On Mon, 28 Mar 2005, Tom Lane wrote:
Log Message:
-----------
First steps towards index scans with heap access decoupled from index
access: define new index access method functions 'amgetmulti' that can
fetch multiple TIDs per call. (The functions exist but are totally
untested as yet.) Since I was modifying pg_am anyway, remove the
no-longer-needed 'rel' parameter from amcostestimate functions, and
also remove the vestigial amowner column that was creating useless
work for Alvaro's shared-object-dependencies project.
Initdb forced due to changes in pg_am.Modified Files:
--------------
pgsql/doc/src/sgml:
catalogs.sgml (r2.96 -> r2.97)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/catalogs.sgml.diff?r1=2.96&r2=2.97)
indexam.sgml (r2.2 -> r2.3)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/indexam.sgml.diff?r1=2.2&r2=2.3)
pgsql/src/backend/access/gist:
gistget.c (r1.44 -> r1.45)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gist/gistget.c.diff?r1=1.44&r2=1.45)
pgsql/src/backend/access/hash:
hash.c (r1.77 -> r1.78)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/hash/hash.c.diff?r1=1.77&r2=1.78)
pgsql/src/backend/access/heap:
heapam.c (r1.184 -> r1.185)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/heapam.c.diff?r1=1.184&r2=1.185)
pgsql/src/backend/access/index:
genam.c (r1.44 -> r1.45)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/index/genam.c.diff?r1=1.44&r2=1.45)
indexam.c (r1.78 -> r1.79)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/index/indexam.c.diff?r1=1.78&r2=1.79)
pgsql/src/backend/access/nbtree:
nbtree.c (r1.126 -> r1.127)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtree.c.diff?r1=1.126&r2=1.127)
pgsql/src/backend/access/rtree:
rtget.c (r1.34 -> r1.35)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/rtree/rtget.c.diff?r1=1.34&r2=1.35)
pgsql/src/backend/optimizer/path:
costsize.c (r1.139 -> r1.140)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/costsize.c.diff?r1=1.139&r2=1.140)
pgsql/src/backend/utils/adt:
selfuncs.c (r1.174 -> r1.175)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/selfuncs.c.diff?r1=1.174&r2=1.175)
pgsql/src/include/access:
genam.h (r1.48 -> r1.49)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/genam.h.diff?r1=1.48&r2=1.49)
gist.h (r1.43 -> r1.44)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/gist.h.diff?r1=1.43&r2=1.44)
hash.h (r1.60 -> r1.61)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/hash.h.diff?r1=1.60&r2=1.61)
nbtree.h (r1.84 -> r1.85)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/nbtree.h.diff?r1=1.84&r2=1.85)
relscan.h (r1.37 -> r1.38)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/relscan.h.diff?r1=1.37&r2=1.38)
rtree.h (r1.37 -> r1.38)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/rtree.h.diff?r1=1.37&r2=1.38)
pgsql/src/include/catalog:
catversion.h (r1.259 -> r1.260)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catversion.h.diff?r1=1.259&r2=1.260)
pg_am.h (r1.31 -> r1.32)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_am.h.diff?r1=1.31&r2=1.32)
pg_proc.h (r1.353 -> r1.354)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_proc.h.diff?r1=1.353&r2=1.354)---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster
Regards,
Oleg
_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83