mirror of
https://git.postgresql.org/git/postgresql.git
synced 2026-04-04 13:18:35 +08:00
for each temp file, rather than once per sort or hashjoin; this allows spreading the data of a large sort or join across multiple tablespaces. (I remain dubious that this will make any difference in practice, but certain people insisted.) Arrange to cache the results of parsing the GUC variable instead of recomputing from scratch on every demand, and push usage of the cache down to the bottommost fd.c level.
30 lines
1020 B
C
30 lines
1020 B
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* nodeHashjoin.h
|
|
* prototypes for nodeHashjoin.c
|
|
*
|
|
*
|
|
* Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* $PostgreSQL: pgsql/src/include/executor/nodeHashjoin.h,v 1.36 2007/06/07 19:19:57 tgl Exp $
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#ifndef NODEHASHJOIN_H
|
|
#define NODEHASHJOIN_H
|
|
|
|
#include "nodes/execnodes.h"
|
|
#include "storage/buffile.h"
|
|
|
|
extern int ExecCountSlotsHashJoin(HashJoin *node);
|
|
extern HashJoinState *ExecInitHashJoin(HashJoin *node, EState *estate, int eflags);
|
|
extern TupleTableSlot *ExecHashJoin(HashJoinState *node);
|
|
extern void ExecEndHashJoin(HashJoinState *node);
|
|
extern void ExecReScanHashJoin(HashJoinState *node, ExprContext *exprCtxt);
|
|
|
|
extern void ExecHashJoinSaveTuple(MinimalTuple tuple, uint32 hashvalue,
|
|
BufFile **fileptr);
|
|
|
|
#endif /* NODEHASHJOIN_H */
|