PostgreSQL Source Code git master
Loading...
Searching...
No Matches
nodeIndexscan.h
Go to the documentation of this file.
1/*-------------------------------------------------------------------------
2 *
3 * nodeIndexscan.h
4 *
5 *
6 *
7 * Portions Copyright (c) 1996-2026, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
9 *
10 * src/include/executor/nodeIndexscan.h
11 *
12 *-------------------------------------------------------------------------
13 */
14#ifndef NODEINDEXSCAN_H
15#define NODEINDEXSCAN_H
16
17#include "access/genam.h"
18#include "access/parallel.h"
19#include "nodes/execnodes.h"
20
21extern IndexScanState *ExecInitIndexScan(IndexScan *node, EState *estate, int eflags);
22extern void ExecEndIndexScan(IndexScanState *node);
23extern void ExecIndexMarkPos(IndexScanState *node);
24extern void ExecIndexRestrPos(IndexScanState *node);
25extern void ExecReScanIndexScan(IndexScanState *node);
32 ParallelContext *pcxt);
34 ParallelContext *pcxt);
38
39/*
40 * These routines are exported to share code with nodeIndexonlyscan.c and
41 * nodeBitmapIndexscan.c
42 */
43extern void ExecIndexBuildScanKeys(PlanState *planstate, Relation index,
44 List *quals, bool isorderby,
47 IndexArrayKeyInfo **arrayKeys, int *numArrayKeys);
48extern void ExecIndexEvalRuntimeKeys(ExprContext *econtext,
50extern bool ExecIndexEvalArrayKeys(ExprContext *econtext,
51 IndexArrayKeyInfo *arrayKeys, int numArrayKeys);
52extern bool ExecIndexAdvanceArrayKeys(IndexArrayKeyInfo *arrayKeys, int numArrayKeys);
53
54#endif /* NODEINDEXSCAN_H */
void ExecIndexBuildScanKeys(PlanState *planstate, Relation index, List *quals, bool isorderby, ScanKey *scanKeys, int *numScanKeys, IndexRuntimeKeyInfo **runtimeKeys, int *numRuntimeKeys, IndexArrayKeyInfo **arrayKeys, int *numArrayKeys)
void ExecIndexScanRetrieveInstrumentation(IndexScanState *node)
void ExecIndexScanEstimate(IndexScanState *node, ParallelContext *pcxt)
bool ExecIndexEvalArrayKeys(ExprContext *econtext, IndexArrayKeyInfo *arrayKeys, int numArrayKeys)
void ExecIndexEvalRuntimeKeys(ExprContext *econtext, IndexRuntimeKeyInfo *runtimeKeys, int numRuntimeKeys)
void ExecIndexScanReInitializeDSM(IndexScanState *node, ParallelContext *pcxt)
void ExecIndexScanInstrumentEstimate(IndexScanState *node, ParallelContext *pcxt)
void ExecReScanIndexScan(IndexScanState *node)
void ExecIndexScanInitializeDSM(IndexScanState *node, ParallelContext *pcxt)
void ExecIndexScanInstrumentInitWorker(IndexScanState *node, ParallelWorkerContext *pwcxt)
void ExecIndexScanInstrumentInitDSM(IndexScanState *node, ParallelContext *pcxt)
IndexScanState * ExecInitIndexScan(IndexScan *node, EState *estate, int eflags)
void ExecIndexScanInitializeWorker(IndexScanState *node, ParallelWorkerContext *pwcxt)
void ExecEndIndexScan(IndexScanState *node)
void ExecIndexRestrPos(IndexScanState *node)
void ExecIndexMarkPos(IndexScanState *node)
bool ExecIndexAdvanceArrayKeys(IndexArrayKeyInfo *arrayKeys, int numArrayKeys)
static int fb(int x)
Definition pg_list.h:54
Definition type.h:96