diff options
Diffstat (limited to 'src/backend/executor/nodeBitmapHeapscan.c')
-rw-r--r-- | src/backend/executor/nodeBitmapHeapscan.c | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/src/backend/executor/nodeBitmapHeapscan.c b/src/backend/executor/nodeBitmapHeapscan.c index 689bde16dd2..d9e7a516a07 100644 --- a/src/backend/executor/nodeBitmapHeapscan.c +++ b/src/backend/executor/nodeBitmapHeapscan.c @@ -95,7 +95,7 @@ BitmapHeapNext(BitmapHeapScanState *node) */ if (!node->initialized) { - TBMIterator *tbmiterator = NULL; + TBMPrivateIterator *tbmiterator = NULL; TBMSharedIterator *shared_tbmiterator = NULL; if (!pstate) @@ -106,12 +106,12 @@ BitmapHeapNext(BitmapHeapScanState *node) elog(ERROR, "unrecognized result from subplan"); node->tbm = tbm; - tbmiterator = tbm_begin_iterate(tbm); + tbmiterator = tbm_begin_private_iterate(tbm); #ifdef USE_PREFETCH if (node->prefetch_maximum > 0) { - node->prefetch_iterator = tbm_begin_iterate(tbm); + node->prefetch_iterator = tbm_begin_private_iterate(tbm); node->prefetch_pages = 0; node->prefetch_target = -1; } @@ -332,7 +332,7 @@ BitmapAdjustPrefetchIterator(BitmapHeapScanState *node) if (pstate == NULL) { - TBMIterator *prefetch_iterator = node->prefetch_iterator; + TBMPrivateIterator *prefetch_iterator = node->prefetch_iterator; if (node->prefetch_pages > 0) { @@ -341,7 +341,7 @@ BitmapAdjustPrefetchIterator(BitmapHeapScanState *node) } else if (prefetch_iterator) { - tbmpre = tbm_iterate(prefetch_iterator); + tbmpre = tbm_private_iterate(prefetch_iterator); node->prefetch_blockno = tbmpre ? tbmpre->blockno : InvalidBlockNumber; } @@ -446,19 +446,20 @@ BitmapPrefetch(BitmapHeapScanState *node, TableScanDesc scan) if (pstate == NULL) { - TBMIterator *prefetch_iterator = node->prefetch_iterator; + TBMPrivateIterator *prefetch_iterator = node->prefetch_iterator; if (prefetch_iterator) { while (node->prefetch_pages < node->prefetch_target) { - TBMIterateResult *tbmpre = tbm_iterate(prefetch_iterator); + TBMIterateResult *tbmpre; bool skip_fetch; + tbmpre = tbm_private_iterate(prefetch_iterator); if (tbmpre == NULL) { /* No more pages to prefetch */ - tbm_end_iterate(prefetch_iterator); + tbm_end_private_iterate(prefetch_iterator); node->prefetch_iterator = NULL; break; } @@ -594,7 +595,7 @@ ExecReScanBitmapHeapScan(BitmapHeapScanState *node) if (scan->st.bitmap.rs_iterator) { - tbm_end_iterate(scan->st.bitmap.rs_iterator); + tbm_end_private_iterate(scan->st.bitmap.rs_iterator); scan->st.bitmap.rs_iterator = NULL; } @@ -604,7 +605,7 @@ ExecReScanBitmapHeapScan(BitmapHeapScanState *node) /* release bitmaps and buffers if any */ if (node->prefetch_iterator) - tbm_end_iterate(node->prefetch_iterator); + tbm_end_private_iterate(node->prefetch_iterator); if (node->shared_prefetch_iterator) tbm_end_shared_iterate(node->shared_prefetch_iterator); if (node->tbm) @@ -685,7 +686,7 @@ ExecEndBitmapHeapScan(BitmapHeapScanState *node) if (scanDesc->st.bitmap.rs_iterator) { - tbm_end_iterate(scanDesc->st.bitmap.rs_iterator); + tbm_end_private_iterate(scanDesc->st.bitmap.rs_iterator); scanDesc->st.bitmap.rs_iterator = NULL; } @@ -699,7 +700,7 @@ ExecEndBitmapHeapScan(BitmapHeapScanState *node) * release bitmaps and buffers if any */ if (node->prefetch_iterator) - tbm_end_iterate(node->prefetch_iterator); + tbm_end_private_iterate(node->prefetch_iterator); if (node->tbm) tbm_free(node->tbm); if (node->shared_prefetch_iterator) |