diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2005-03-06 22:15:05 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2005-03-06 22:15:05 +0000 |
commit | 849074f9ae422c64501bb1d53ef840de870bf65c (patch) | |
tree | 9ac33ca6df68410da184659a4b0ca67f7bdf8bef /src/include/executor/nodeHashjoin.h | |
parent | 31b6d840f6fdbf3d272e7bf8ec0461742edcdd46 (diff) |
Revise hash join code so that we can increase the number of batches
on-the-fly, and thereby avoid blowing out memory when the planner has
underestimated the hash table size. Hash join will now obey the
work_mem limit with some faithfulness. Per my recent proposal
(hash aggregate part isn't done yet though).
Diffstat (limited to 'src/include/executor/nodeHashjoin.h')
-rw-r--r-- | src/include/executor/nodeHashjoin.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/include/executor/nodeHashjoin.h b/src/include/executor/nodeHashjoin.h index 1902c11fb83..44e942317dc 100644 --- a/src/include/executor/nodeHashjoin.h +++ b/src/include/executor/nodeHashjoin.h @@ -1,13 +1,13 @@ /*------------------------------------------------------------------------- * * nodeHashjoin.h - * + * prototypes for nodeHashjoin.c * * * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/executor/nodeHashjoin.h,v 1.28 2004/12/31 22:03:29 pgsql Exp $ + * $PostgreSQL: pgsql/src/include/executor/nodeHashjoin.h,v 1.29 2005/03/06 22:15:05 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -15,6 +15,7 @@ #define NODEHASHJOIN_H #include "nodes/execnodes.h" +#include "storage/buffile.h" extern int ExecCountSlotsHashJoin(HashJoin *node); extern HashJoinState *ExecInitHashJoin(HashJoin *node, EState *estate); @@ -22,6 +23,7 @@ extern TupleTableSlot *ExecHashJoin(HashJoinState *node); extern void ExecEndHashJoin(HashJoinState *node); extern void ExecReScanHashJoin(HashJoinState *node, ExprContext *exprCtxt); -extern void ExecHashJoinSaveTuple(HeapTuple heapTuple, BufFile *file); +extern void ExecHashJoinSaveTuple(HeapTuple heapTuple, uint32 hashvalue, + BufFile **fileptr); #endif /* NODEHASHJOIN_H */ |