On 9/4/2015 9:22 AM, Tatsuo Ishii wrote: >> >> In this case, scan->rs_startblock is 384 set by IndexBuildHeapRangeScan() >> using heap_setscanlimits(). One can imagine how the above heap finish >> criteria might not work as expected. > > What scares me is: > > 1) the bug will not be found unless someone inspects the internal data > of BRIN. Regression test is useless here. > > 2) the bug effectively causes vacuum scans the heap *twice*, which > will produce lots of I/O if the heap is not small. > > 3) I wonder if other index type is suffered by this type of bug. >
About 3, it seems unlikely. Both the IndexBuildHeapRangeScan() and heap_setscanlimits() were introduced by the BRIN patch and I didn't find anything else using it, yet. Thanks, Amit -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers