MCPcopy Create free account
hub / github.com/apache/cloudberry / ExecIndexRestrPos

Function ExecIndexRestrPos

src/backend/executor/nodeIndexscan.c:874–897  ·  view source on GitHub ↗

---------------------------------------------------------------- * ExecIndexRestrPos * ---------------------------------------------------------------- */

Source from the content-addressed store, hash-verified

872 * ----------------------------------------------------------------
873 */
874void
875ExecIndexRestrPos(IndexScanState *node)
876{
877 EState *estate = node->ss.ps.state;
878 EPQState *epqstate = estate->es_epq_active;
879
880 if (estate->es_epq_active != NULL)
881 {
882 /* See comments in ExecIndexMarkPos */
883 Index scanrelid = ((Scan *) node->ss.ps.plan)->scanrelid;
884
885 Assert(scanrelid > 0);
886 if (epqstate->relsubs_slot[scanrelid - 1] != NULL ||
887 epqstate->relsubs_rowmark[scanrelid - 1] != NULL)
888 {
889 /* Verify the claim above */
890 if (!epqstate->relsubs_done[scanrelid - 1])
891 elog(ERROR, "unexpected ExecIndexRestrPos call in EPQ recheck");
892 return;
893 }
894 }
895
896 index_restrpos(node->iss_ScanDesc);
897}
898
899/* ----------------------------------------------------------------
900 * ExecInitIndexScan

Callers 1

ExecRestrPosFunction · 0.85

Calls 1

index_restrposFunction · 0.85

Tested by

no test coverage detected