diff options
| author | Robert Haas | 2017-09-26 13:16:45 +0000 |
|---|---|---|
| committer | Robert Haas | 2017-09-26 13:16:45 +0000 |
| commit | 22c5e73562c53437979efec4c26cd9fff408777c (patch) | |
| tree | 37053502bf7cdd2de55760d040b0b4ba0b2b50f2 /src/include/access | |
| parent | 79a4a665c046af91d4216fe69b535c429039d0d0 (diff) | |
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
Diffstat (limited to 'src/include/access')
| -rw-r--r-- | src/include/access/hash.h | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/src/include/access/hash.h b/src/include/access/hash.h index 0e0f3e17a7c..e3135c1738e 100644 --- a/src/include/access/hash.h +++ b/src/include/access/hash.h @@ -117,7 +117,6 @@ typedef struct HashScanPosItem /* what we remember about each match */ typedef struct HashScanPosData { Buffer buf; /* if valid, the buffer is pinned */ - XLogRecPtr lsn; /* pos in the WAL stream when page was read */ BlockNumber currPage; /* current hash index page */ BlockNumber nextPage; /* next overflow page */ BlockNumber prevPage; /* prev overflow or bucket page */ @@ -153,7 +152,6 @@ typedef struct HashScanPosData #define HashScanPosInvalidate(scanpos) \ do { \ (scanpos).buf = InvalidBuffer; \ - (scanpos).lsn = InvalidXLogRecPtr; \ (scanpos).currPage = InvalidBlockNumber; \ (scanpos).nextPage = InvalidBlockNumber; \ (scanpos).prevPage = InvalidBlockNumber; \ |
