Fix pg_dump bug in the database-level collation patch. "datcollate" and
[PostgreSQL.git] / src / include / executor / nodeIndexscan.h
blobf239cc598e7871ebd49d7c6286873c51a2f3fa40
1 /*-------------------------------------------------------------------------
3 * nodeIndexscan.h
7 * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
10 * $PostgreSQL$
12 *-------------------------------------------------------------------------
14 #ifndef NODEINDEXSCAN_H
15 #define NODEINDEXSCAN_H
17 #include "nodes/execnodes.h"
19 extern int ExecCountSlotsIndexScan(IndexScan *node);
20 extern IndexScanState *ExecInitIndexScan(IndexScan *node, EState *estate, int eflags);
21 extern TupleTableSlot *ExecIndexScan(IndexScanState *node);
22 extern void ExecEndIndexScan(IndexScanState *node);
23 extern void ExecIndexMarkPos(IndexScanState *node);
24 extern void ExecIndexRestrPos(IndexScanState *node);
25 extern void ExecIndexReScan(IndexScanState *node, ExprContext *exprCtxt);
27 /* routines exported to share code with nodeBitmapIndexscan.c */
28 extern void ExecIndexBuildScanKeys(PlanState *planstate, Relation index,
29 Index scanrelid,
30 List *quals, ScanKey *scanKeys, int *numScanKeys,
31 IndexRuntimeKeyInfo **runtimeKeys, int *numRuntimeKeys,
32 IndexArrayKeyInfo **arrayKeys, int *numArrayKeys);
33 extern void ExecIndexEvalRuntimeKeys(ExprContext *econtext,
34 IndexRuntimeKeyInfo *runtimeKeys, int numRuntimeKeys);
35 extern bool ExecIndexEvalArrayKeys(ExprContext *econtext,
36 IndexArrayKeyInfo *arrayKeys, int numArrayKeys);
37 extern bool ExecIndexAdvanceArrayKeys(IndexArrayKeyInfo *arrayKeys, int numArrayKeys);
39 #endif /* NODEINDEXSCAN_H */