Remove extra prefetch iterator setup for Bitmap Table Scan
authorMelanie Plageman <melanieplageman@gmail.com>
Thu, 19 Dec 2024 16:55:18 +0000 (11:55 -0500)
committerMelanie Plageman <melanieplageman@gmail.com>
Thu, 19 Dec 2024 16:55:18 +0000 (11:55 -0500)
1a0da347a7ac98db replaced Bitmap Table Scan's separate private and
shared bitmap iterators with a unified iterator. It accidentally set up
the prefetch iterator twice for non-parallel bitmap table scans. Remove
the extra set up call to tbm_begin_iterate().

src/backend/executor/nodeBitmapHeapscan.c

index 928c94cab6a9ed9fb426165c73bc938bd28cb06d..e6067500e1132f93437ca38da9d9f9c59aeb4d36 100644 (file)
@@ -105,15 +105,6 @@ BitmapHeapNext(BitmapHeapScanState *node)
                                elog(ERROR, "unrecognized result from subplan");
 
                        node->tbm = tbm;
-
-#ifdef USE_PREFETCH
-                       if (node->prefetch_maximum > 0)
-                               node->prefetch_iterator =
-                                       tbm_begin_iterate(node->tbm, dsa,
-                                                                         pstate ?
-                                                                         pstate->prefetch_iterator :
-                                                                         InvalidDsaPointer);
-#endif                                                 /* USE_PREFETCH */
                }
                else if (BitmapShouldInitializeSharedState(pstate))
                {