1 /*-------------------------------------------------------------------------
4 * prototypes for nodeHash.c
7 * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
12 *-------------------------------------------------------------------------
17 #include "nodes/execnodes.h"
19 extern int ExecCountSlotsHash(Hash
*node
);
20 extern HashState
*ExecInitHash(Hash
*node
, EState
*estate
, int eflags
);
21 extern TupleTableSlot
*ExecHash(HashState
*node
);
22 extern Node
*MultiExecHash(HashState
*node
);
23 extern void ExecEndHash(HashState
*node
);
24 extern void ExecReScanHash(HashState
*node
, ExprContext
*exprCtxt
);
26 extern HashJoinTable
ExecHashTableCreate(Hash
*node
, List
*hashOperators
);
27 extern void ExecHashTableDestroy(HashJoinTable hashtable
);
28 extern void ExecHashTableInsert(HashJoinTable hashtable
,
31 extern bool ExecHashGetHashValue(HashJoinTable hashtable
,
32 ExprContext
*econtext
,
37 extern void ExecHashGetBucketAndBatch(HashJoinTable hashtable
,
41 extern HashJoinTuple
ExecScanHashBucket(HashJoinState
*hjstate
,
42 ExprContext
*econtext
);
43 extern void ExecHashTableReset(HashJoinTable hashtable
);
44 extern void ExecChooseHashTableSize(double ntuples
, int tupwidth
,
48 #endif /* NODEHASH_H */