aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/heap/heapam.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/access/heap/heapam.c')
-rw-r--r--src/backend/access/heap/heapam.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c
index 4be0dee4de0..82bb9cb33b6 100644
--- a/src/backend/access/heap/heapam.c
+++ b/src/backend/access/heap/heapam.c
@@ -1184,7 +1184,12 @@ heap_rescan(TableScanDesc sscan, ScanKey key, bool set_params,
scan->rs_vmbuffer = InvalidBuffer;
}
- Assert(scan->rs_empty_tuples_pending == 0);
+ /*
+ * Reset rs_empty_tuples_pending, a field only used by bitmap heap scan,
+ * to avoid incorrectly emitting NULL-filled tuples from a previous scan
+ * on rescan.
+ */
+ scan->rs_empty_tuples_pending = 0;
/*
* The read stream is reset on rescan. This must be done before
@@ -1216,8 +1221,6 @@ heap_endscan(TableScanDesc sscan)
if (BufferIsValid(scan->rs_vmbuffer))
ReleaseBuffer(scan->rs_vmbuffer);
- Assert(scan->rs_empty_tuples_pending == 0);
-
/*
* Must free the read stream before freeing the BufferAccessStrategy.
*/