Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef NODEINDEXSCAN_H
00015 #define NODEINDEXSCAN_H
00016
00017 #include "nodes/execnodes.h"
00018
00019 extern IndexScanState *ExecInitIndexScan(IndexScan *node, EState *estate, int eflags);
00020 extern TupleTableSlot *ExecIndexScan(IndexScanState *node);
00021 extern void ExecEndIndexScan(IndexScanState *node);
00022 extern void ExecIndexMarkPos(IndexScanState *node);
00023 extern void ExecIndexRestrPos(IndexScanState *node);
00024 extern void ExecReScanIndexScan(IndexScanState *node);
00025
00026
00027
00028
00029
00030 extern void ExecIndexBuildScanKeys(PlanState *planstate, Relation index,
00031 List *quals, bool isorderby,
00032 ScanKey *scanKeys, int *numScanKeys,
00033 IndexRuntimeKeyInfo **runtimeKeys, int *numRuntimeKeys,
00034 IndexArrayKeyInfo **arrayKeys, int *numArrayKeys);
00035 extern void ExecIndexEvalRuntimeKeys(ExprContext *econtext,
00036 IndexRuntimeKeyInfo *runtimeKeys, int numRuntimeKeys);
00037 extern bool ExecIndexEvalArrayKeys(ExprContext *econtext,
00038 IndexArrayKeyInfo *arrayKeys, int numArrayKeys);
00039 extern bool ExecIndexAdvanceArrayKeys(IndexArrayKeyInfo *arrayKeys, int numArrayKeys);
00040
00041 #endif