1 /*-------------------------------------------------------------------------
4 * prototypes for nodeHash.c
7 * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
10 * $Id: nodeHash.h,v 1.31 2003/08/04 00:43:30 momjian Exp $
12 *-------------------------------------------------------------------------
17 #include "nodes/execnodes.h"
19 extern int ExecCountSlotsHash(Hash *node);
20 extern HashState *ExecInitHash(Hash *node, EState *estate);
21 extern TupleTableSlot *ExecHash(HashState *node);
22 extern void ExecEndHash(HashState *node);
23 extern void ExecReScanHash(HashState *node, ExprContext *exprCtxt);
25 extern HashJoinTable ExecHashTableCreate(Hash *node, List *hashOperators);
26 extern void ExecHashTableDestroy(HashJoinTable hashtable);
27 extern void ExecHashTableInsert(HashJoinTable hashtable,
28 ExprContext *econtext,
30 extern int ExecHashGetBucket(HashJoinTable hashtable,
31 ExprContext *econtext,
33 extern int ExecHashGetBatch(int bucketno, HashJoinTable hashtable);
34 extern HeapTuple ExecScanHashBucket(HashJoinState *hjstate, List *hjclauses,
35 ExprContext *econtext);
36 extern void ExecHashTableReset(HashJoinTable hashtable, long ntuples);
37 extern void ExecChooseHashTableSize(double ntuples, int tupwidth,
42 #endif /* NODEHASH_H */