postgresql/src/include/access
Robert Haas 7c75ef5715 hash: Implement page-at-a-time scan.
Commit 09cb5c0e7d added a similar
optimization to btree back in 2006, but nobody bothered to implement
the same thing for hash indexes, probably because they weren't
WAL-logged and had lots of other performance problems as well.  As
with the corresponding btree case, this eliminates the problem of
potentially needing to refind our position within the page, and cuts
down on pin/unpin traffic as well.

Ashutosh Sharma, reviewed by Alexander Korotkov, Jesper Pedersen,
Amit Kapila, and me.  Some final edits to comments and README by
me.

Discussion: http://postgr.es/m/CAE9k0Pm3KTx93K8_5j6VMzG4h5F+SyknxUwXrN-zqSZ9X8ZS3w@mail.gmail.com
2017-09-22 13:56:27 -04:00
..
amapi.h Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
amvalidate.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
attnum.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
brin.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
brin_internal.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
brin_page.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
brin_pageops.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
brin_revmap.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
brin_tuple.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
brin_xlog.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
bufmask.h Remove inclusion of postgres.h from a few header files. 2017-03-08 08:18:12 -05:00
clog.h Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
commit_ts.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
genam.h Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
generic_xlog.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
gin.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
gin_private.h Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
ginblock.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
ginxlog.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
gist.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
gist_private.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
gistscan.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
gistxlog.h Split index xlog headers from other private index headers. 2017-02-14 15:37:59 -05:00
hash.h hash: Implement page-at-a-time scan. 2017-09-22 13:56:27 -04:00
hash_xlog.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
heapam.h Separate reinitialization of shared parallel-scan state from ExecReScan. 2017-08-30 13:18:16 -04:00
heapam_xlog.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
hio.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
htup.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
htup_details.h Change tupledesc->attrs[n] to TupleDescAttr(tupledesc, n). 2017-08-20 11:19:07 -07:00
itup.h Change tupledesc->attrs[n] to TupleDescAttr(tupledesc, n). 2017-08-20 11:19:07 -07:00
multixact.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
nbtree.h Minor code-cleanliness improvements for btree. 2017-09-18 16:36:28 -04:00
nbtxlog.h Remove dedicated B-tree root-split record types. 2017-08-16 12:24:40 +03:00
parallel.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
printsimple.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
printtup.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
reloptions.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
relscan.h Use atomic ops to hand out pages to scan in parallel scan. 2017-08-16 16:18:41 +03:00
rewriteheap.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
rmgr.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
rmgrlist.h hash: Support WAL consistency checking. 2017-03-14 14:58:56 -04:00
sdir.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
session.h Avoid duplicate typedef for SharedRecordTypmodRegistry. 2017-09-15 00:25:33 -04:00
skey.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
slru.h Remove outdated comment 2017-06-30 14:43:05 -04:00
spgist.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
spgist_private.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
spgxlog.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
stratnum.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
subtrans.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
sysattr.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
timeline.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
transam.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
tsmapi.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
tupconvert.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
tupdesc.h Add support for coordinating record typmods among parallel workers. 2017-09-14 19:59:21 -07:00
tupmacs.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
tuptoaster.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
twophase.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
twophase_rmgr.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
valid.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
visibilitymap.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
xact.h Fix handling of savepoint commands within multi-statement Query strings. 2017-09-07 09:49:55 -04:00
xlog.h Make WAL segment size configurable at initdb time. 2017-09-19 22:03:48 -07:00
xlog_internal.h Make WAL segment size configurable at initdb time. 2017-09-19 22:03:48 -07:00
xlogdefs.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
xloginsert.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
xlogreader.h Make WAL segment size configurable at initdb time. 2017-09-19 22:03:48 -07:00
xlogrecord.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
xlogutils.h Post-PG 10 beta1 pgindent run 2017-05-17 16:31:56 -04:00