Several fixes for hash indexes that involve changing the on-disk index
Tom Lane <tgl@sss.pgh.pa.us>
Several fixes for hash indexes that involve changing the on-disk index layout; therefore, this change forces REINDEX of hash indexes (though not a full initdb). Widen hashm_ntuples to double so that hash space management doesn't get confused by more than 4G entries; enlarge the allowed number of free-space-bitmap pages; replace the useless bshift field with a useful bmshift field; eliminate 4 bytes of wasted space in the per-page special area.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/hash/hash.c | modified | +8 −19 |
| src/backend/access/hash/hashinsert.c | modified | +8 −8 |
| src/backend/access/hash/hashovfl.c | modified | +17 −17 |
| src/backend/access/hash/hashpage.c | modified | +25 −65 |
| src/backend/access/hash/hashsearch.c | modified | +17 −13 |
| src/backend/access/hash/hashutil.c | modified | +26 −3 |
| src/include/access/hash.h | modified | +29 −26 |