From 17d14e6ccf9b74dffdb4bdf36c7bcf933418c625 Mon Sep 17 00:00:00 2001
From: Andrey Borodin <amborodin@acm.org>
Date: Wed, 23 Oct 2024 20:54:02 +0300
Subject: [PATCH v4 4/4] Move reset

---
 src/backend/access/nbtree/nbtree.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/access/nbtree/nbtree.c b/src/backend/access/nbtree/nbtree.c
index 3a775e8..c9b8107 100644
--- a/src/backend/access/nbtree/nbtree.c
+++ b/src/backend/access/nbtree/nbtree.c
@@ -1073,11 +1073,6 @@ btvacuumscan(IndexVacuumInfo *info, IndexBulkDeleteResult *stats,
 
 		p.current_blocknum = scanblkno;
 		p.last_exclusive = num_pages;
-		/*
-		 * After reaching the end we have to reset stream to use it again.
-		 * Extra restart in case of just one iteration does not cost us much.
-		 */
-		read_stream_reset(stream);
 
 		/* Iterate over pages, then loop back to recheck length */
 		for (; scanblkno < num_pages; scanblkno++)
@@ -1090,6 +1085,11 @@ btvacuumscan(IndexVacuumInfo *info, IndexBulkDeleteResult *stats,
 				pgstat_progress_update_param(PROGRESS_SCAN_BLOCKS_DONE,
 											 scanblkno);
 		}
+		/*
+		 * After reaching the end we have to reset stream to use it again.
+		 * Extra restart in case of just one iteration does not cost us much.
+		 */
+		read_stream_reset(stream);
 		Assert(read_stream_next_buffer(stream, NULL) == InvalidBuffer);
 	}
 	read_stream_end(stream);
-- 
2.39.5 (Apple Git-154)

