]> granicus.if.org Git - postgresql/commit
Teach SP-GiST to do index-only scans.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 19 Dec 2011 19:58:41 +0000 (14:58 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 19 Dec 2011 19:58:41 +0000 (14:58 -0500)
commit92203624934095163f8b57b5b3d7bbd2645da2c8
tree8570ad85adefe211f46f295b86aaf05d461f3e8a
parent3695a555136a6d179cac8ae48d5f90171d5b30e9
Teach SP-GiST to do index-only scans.

Operator classes can specify whether or not they support this; this
preserves the flexibility to use lossy representations within an index.

In passing, move constant data about a given index into the rd_amcache
cache area, instead of doing fresh lookups each time we start an index
operation.  This is mainly to try to make sure that spgcanreturn() has
insignificant cost; I still don't have any proof that it matters for
actual index accesses.  Also, get rid of useless copying of FmgrInfo
pointers; we can perfectly well use the relcache's versions in-place.
doc/src/sgml/spgist.sgml
src/backend/access/spgist/spgdoinsert.c
src/backend/access/spgist/spgkdtreeproc.c
src/backend/access/spgist/spgquadtreeproc.c
src/backend/access/spgist/spgscan.c
src/backend/access/spgist/spgtextproc.c
src/backend/access/spgist/spgutils.c
src/include/access/spgist.h
src/include/access/spgist_private.h
src/test/regress/expected/create_index.out