Fix some oversights in BRIN patch.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 35ac618a7c4602b792160ae0d77b6dfb289f517e
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2015-07-21T17:38:24Z
Releases: 9.5.0
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.

Files

PathChange+/−
src/backend/access/heap/heapam.c modified +20 −10
src/backend/catalog/index.c modified +10 −2
src/include/access/relscan.h modified +2 −2