aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/executor/nodeIndexscan.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/backend/executor/nodeIndexscan.c b/src/backend/executor/nodeIndexscan.c
index 7fd90415f96..c0f14dbfa9d 100644
--- a/src/backend/executor/nodeIndexscan.c
+++ b/src/backend/executor/nodeIndexscan.c
@@ -532,10 +532,18 @@ ExecReScanIndexScan(IndexScanState *node)
}
node->iss_RuntimeKeysReady = true;
+ /* flush the reorder queue */
+ if (node->iss_ReorderQueue)
+ {
+ while (!pairingheap_is_empty(node->iss_ReorderQueue))
+ reorderqueue_pop(node);
+ }
+
/* reset index scan */
index_rescan(node->iss_ScanDesc,
node->iss_ScanKeys, node->iss_NumScanKeys,
node->iss_OrderByKeys, node->iss_NumOrderByKeys);
+ node->iss_ReachedEnd = false;
ExecScanReScan(&node->ss);
}