mirror of
https://github.com/postgres/postgres.git
synced 2025-10-24 01:29:19 +03:00
Fix some oversights in BRIN patch.
Remove HeapScanDescData.rs_initblock, which wasn't being used for anything in the final version of the patch. Fix IndexBuildHeapScan so that it supports syncscan again; the patch broke synchronous scanning for index builds by forcing rs_startblk to zero even when the caller did not care about that and had asked for syncscan. Add some commentary and usage defenses to heap_setscanlimits(). Fix heapam so that asking for rs_numblocks == 0 does what you would reasonably expect. As coded it amounted to requesting a whole-table scan, because those "--x <= 0" tests on an unsigned variable would behave surprisingly.
This commit is contained in:
@@ -38,8 +38,8 @@ typedef struct HeapScanDescData
|
||||
/* state set up at initscan time */
|
||||
BlockNumber rs_nblocks; /* total number of blocks in rel */
|
||||
BlockNumber rs_startblock; /* block # to start at */
|
||||
BlockNumber rs_initblock; /* block # to consider initial of rel */
|
||||
BlockNumber rs_numblocks; /* number of blocks to scan */
|
||||
BlockNumber rs_numblocks; /* max number of blocks to scan */
|
||||
/* rs_numblocks is usually InvalidBlockNumber, meaning "scan whole rel" */
|
||||
BufferAccessStrategy rs_strategy; /* access strategy for reads */
|
||||
bool rs_syncscan; /* report location to syncscan logic? */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user