0001-scan-start-offset-fix-during-analyze.patch
application/octet-stream
Filename: 0001-scan-start-offset-fix-during-analyze.patch
Type: application/octet-stream
Part: 0
Patch
Format: format-patch
Series: patch 0001
Subject: scan start offset fix during analyze
| File | + | − |
|---|---|---|
| src/backend/access/heap/heapam_handler.c | 4 | 2 |
From 82ae4f7a6ef78c9e04bc5abeeb0593b890ee454b Mon Sep 17 00:00:00 2001
From: kommih <haribabuk@fast.au.fujitsu.com>
Date: Tue, 23 Oct 2018 15:42:57 +1100
Subject: [PATCH 1/2] scan start offset fix during analyze
---
src/backend/access/heap/heapam_handler.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/backend/access/heap/heapam_handler.c b/src/backend/access/heap/heapam_handler.c
index c0cfbe74b1..ae832e1f71 100644
--- a/src/backend/access/heap/heapam_handler.c
+++ b/src/backend/access/heap/heapam_handler.c
@@ -1742,7 +1742,7 @@ heapam_scan_analyze_next_tuple(TableScanDesc sscan, TransactionId OldestXmin, do
{
HeapScanDesc scan = (HeapScanDesc) sscan;
Page targpage;
- OffsetNumber targoffset = scan->rs_cindex;
+ OffsetNumber targoffset;
OffsetNumber maxoffset;
BufferHeapTupleTableSlot *hslot;
@@ -1752,7 +1752,9 @@ heapam_scan_analyze_next_tuple(TableScanDesc sscan, TransactionId OldestXmin, do
maxoffset = PageGetMaxOffsetNumber(targpage);
/* Inner loop over all tuples on the selected page */
- for (targoffset = scan->rs_cindex; targoffset <= maxoffset; targoffset++)
+ for (targoffset = scan->rs_cindex ? scan->rs_cindex : FirstOffsetNumber;
+ targoffset <= maxoffset;
+ targoffset++)
{
ItemId itemid;
HeapTuple targtuple = &hslot->base.tupdata;
--
2.18.0.windows.1