aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeBitmapHeapscan.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/executor/nodeBitmapHeapscan.c')
-rw-r--r--src/backend/executor/nodeBitmapHeapscan.c25
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)