From: Peter Geoghegan Date: Wed, 30 Oct 2024 19:53:26 +0000 (-0400) Subject: nbtree: assert no scheduled primscan between pages. X-Git-Url: http://waps.l3s.uni-hannover.de/gitweb/?a=commitdiff_plain;h=492e6b54c604c39ecf5ebc812849185b20c4b1b6;p=users%2Fc2main%2Fpostgres.git nbtree: assert no scheduled primscan between pages. Follow-up to bugfix commit 763d65ae. Technically this new assertion is redundant with the assertion recently added to _bt_readpage by that same commit, but it seems like a good idea to have both. The new assertion makes it clear that we expect to call _bt_readnextpage when there's another primitive index scan scheduled, though only when needed as the final step of ending the current primitive scan. --- diff --git a/src/backend/access/nbtree/nbtsearch.c b/src/backend/access/nbtree/nbtsearch.c index b082cc80f6..e718668ed6 100644 --- a/src/backend/access/nbtree/nbtsearch.c +++ b/src/backend/access/nbtree/nbtsearch.c @@ -2272,6 +2272,8 @@ _bt_readnextpage(IndexScanDesc scan, BlockNumber blkno, return false; } + Assert(!so->needPrimScan); + if (ScanDirectionIsForward(dir)) { /* read blkno, but check for interrupts first */