From 1afac12910b82cf68d064284391209f41a6adcf9 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 10 Jan 2003 23:54:24 +0000 Subject: Create a new file executor/execGrouping.c to centralize utility routines shared by nodeGroup, nodeAgg, and soon nodeSubplan. --- src/include/executor/executor.h | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'src/include/executor/executor.h') diff --git a/src/include/executor/executor.h b/src/include/executor/executor.h index 31cc2107536..fb300fc0443 100644 --- a/src/include/executor/executor.h +++ b/src/include/executor/executor.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: executor.h,v 1.85 2002/12/15 21:01:34 tgl Exp $ + * $Id: executor.h,v 1.86 2003/01/10 23:54:24 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -36,6 +36,31 @@ extern void ExecMarkPos(PlanState *node); extern void ExecRestrPos(PlanState *node); extern bool ExecSupportsMarkRestore(NodeTag plantype); +/* + * prototypes from functions in execGrouping.c + */ +extern bool execTuplesMatch(HeapTuple tuple1, + HeapTuple tuple2, + TupleDesc tupdesc, + int numCols, + AttrNumber *matchColIdx, + FmgrInfo *eqfunctions, + MemoryContext evalContext); +extern FmgrInfo *execTuplesMatchPrepare(TupleDesc tupdesc, + int numCols, + AttrNumber *matchColIdx); +extern uint32 ComputeHashFunc(Datum key, int typLen, bool byVal); +extern TupleHashTable BuildTupleHashTable(int numCols, AttrNumber *keyColIdx, + FmgrInfo *eqfunctions, + int nbuckets, Size entrysize, + MemoryContext tablecxt, + MemoryContext tempcxt); +extern TupleHashEntry LookupTupleHashEntry(TupleHashTable hashtable, + TupleTableSlot *slot, + bool *isnew); +extern TupleHashEntry ScanTupleHashTable(TupleHashTable hashtable, + TupleHashIterator *state); + /* * prototypes from functions in execJunk.c */ -- cgit v1.2.3