Remove lsn from HashScanPosData.
authorRobert Haas <rhaas@postgresql.org>
Tue, 26 Sep 2017 13:16:45 +0000 (09:16 -0400)
committerRobert Haas <rhaas@postgresql.org>
Tue, 26 Sep 2017 13:16:45 +0000 (09:16 -0400)
commit22c5e73562c53437979efec4c26cd9fff408777c
tree37053502bf7cdd2de55760d040b0b4ba0b2b50f2
parent79a4a665c046af91d4216fe69b535c429039d0d0
Remove lsn from HashScanPosData.

This was intended as infrastructure for weakening VACUUM's locking
requirements, similar to what was done for btree indexes in commit
2ed5b87f96d473962ec5230fd820abfeaccb2069.  However, for hash indexes,
it seems that the improvements which are possible are actually
extremely marginal.  Furthermore, performing the LSN cross-check will
end up skipping cleanup far more often than is necessary; we only care
about page modifications due to a VACUUM, but the LSN check will fail
if ANY modification has occurred.  So, rather than pressing forward
with that "optimization", just rip the LSN field out.

Patch by me, reviewed by Ashutosh Sharma and Amit Kapila

Discussion: http://postgr.es/m/CAA4eK1JxqqcuC5Un7YLQVhOYSZBS+t=3xqZuEkt5RyquyuxpwQ@mail.gmail.com
src/backend/access/hash/hashsearch.c
src/backend/access/hash/hashutil.c
src/include/access/hash.h