postgres.git / summary / log / commit / refs
commit 1b890562b8d1b44bd3ef948aeeb58dd59abd04b7
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: Fri Nov 03 19:36:32 2017 +0000
Fix thinkos in BRIN summarization
The previous commit contained a thinko that made a single-range
summarization request process from there to end of table. Fix by
setting the correct end range point. Per buildfarm.
src/backend/access/brin/brin.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/backend/access/brin/brin.c b/src/backend/access/brin/brin.c
index 8636620f647..cafc8fe7bea 100644
--- a/src/backend/access/brin/brin.c
+++ b/src/backend/access/brin/brin.c
@@ -1292,8 +1292,11 @@ brinsummarize(Relation index, Relation heapRel, BlockNumber pageRange,
if (pageRange == BRIN_ALL_BLOCKRANGES)
startBlk = 0;
else
+ {
startBlk = (pageRange / pagesPerRange) * pagesPerRange;
- if (startBlk >= heapNumBlocks)
+ heapNumBlocks = Min(heapNumBlocks, startBlk + pagesPerRange);
+ }
+ if (startBlk > heapNumBlocks)
{
/* Nothing to do if start point is beyond end of table */
brinRevmapTerminate(revmap);
[parent: 49df45acd8d4]