diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/executor/nodeIndexscan.c | 8 |
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); } |