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

Function ExecIndexOnlyRestrPos

src/backend/executor/nodeIndexonlyscan.c:455–478  ·  view source on GitHub ↗

---------------------------------------------------------------- * ExecIndexOnlyRestrPos * ---------------------------------------------------------------- */

Source from the content-addressed store, hash-verified

453 * ----------------------------------------------------------------
454 */
455void
456ExecIndexOnlyRestrPos(IndexOnlyScanState *node)
457{
458 EState *estate = node->ss.ps.state;
459 EPQState *epqstate = estate->es_epq_active;
460
461 if (estate->es_epq_active != NULL)
462 {
463 /* See comments in ExecIndexMarkPos */
464 Index scanrelid = ((Scan *) node->ss.ps.plan)->scanrelid;
465
466 Assert(scanrelid > 0);
467 if (epqstate->relsubs_slot[scanrelid - 1] != NULL ||
468 epqstate->relsubs_rowmark[scanrelid - 1] != NULL)
469 {
470 /* Verify the claim above */
471 if (!epqstate->relsubs_done[scanrelid - 1])
472 elog(ERROR, "unexpected ExecIndexOnlyRestrPos call in EPQ recheck");
473 return;
474 }
475 }
476
477 index_restrpos(node->ioss_ScanDesc);
478}
479
480/* ----------------------------------------------------------------
481 * ExecInitIndexOnlyScan

Callers 1

ExecRestrPosFunction · 0.85

Calls 1

index_restrposFunction · 0.85

Tested by

no test coverage detected