postgresql/src/include/access
Tom Lane 03e56f798e Restructure SPGiST opclass interface API to support whole-index scans.
The original API definition was incapable of supporting whole-index scans
because there was no way to invoke leaf-value reconstruction without
checking any qual conditions.  Also, it was inefficient for
multiple-qual-condition scans because value reconstruction got done over
again for each qual condition, and because other internal work in the
consistent functions likewise had to be done for each qual.  To fix these
issues, pass the whole scankey array to the opclass consistent functions,
instead of only letting them see one item at a time.  (Essentially, the
loop over scankey entries is now inside the consistent functions not
outside them.  This makes the consistent functions a bit more complicated,
but not unreasonably so.)

In itself this commit does nothing except save a few cycles in
multiple-qual-condition index scans, since we can't support whole-index
scans on SPGiST indexes until nulls are included in the index.  However,
I consider this a must-fix for 9.2 because once we release it will get
very much harder to change the opclass API definition.
2012-03-10 18:36:49 -05:00
..
attnum.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
clog.h Make the number of CLOG buffers adaptive, based on shared_buffers. 2012-01-06 14:32:18 -05:00
genam.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
gin_private.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
gin.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
gist_private.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
gist.h Assorted comment fixes, mostly just typos, but some obsolete statements. 2012-01-29 19:23:56 -05:00
gistscan.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
hash.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
heapam.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
hio.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
htup.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
itup.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
multixact.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
nbtree.h Cosmetic cleanup for commit a760893dbd. 2012-02-21 14:14:16 -05:00
printtup.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
reloptions.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
relscan.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
rewriteheap.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
rmgr.h Add SP-GiST (space-partitioned GiST) index access method. 2011-12-17 16:42:30 -05:00
sdir.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
skey.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
slru.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
spgist_private.h Restructure SPGiST opclass interface API to support whole-index scans. 2012-03-10 18:36:49 -05:00
spgist.h Restructure SPGiST opclass interface API to support whole-index scans. 2012-03-10 18:36:49 -05:00
subtrans.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
sysattr.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
transam.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
tupconvert.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
tupdesc.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
tupmacs.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
tuptoaster.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
twophase_rmgr.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
twophase.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
valid.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
visibilitymap.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
xact.h Add new replication mode synchronous_commit = 'write'. 2012-01-24 20:22:37 +00:00
xlog_internal.h Add function pg_xlog_location_diff to help comparisons 2012-03-04 12:22:38 +01:00
xlog.h Allow pg_basebackup from standby node with safety checking. 2012-01-25 18:02:04 +00:00
xlogdefs.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
xlogutils.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00