nodeHash.h
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:1k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. /*-------------------------------------------------------------------------
  2.  *
  3.  * nodeHash.h
  4.  *
  5.  *
  6.  *
  7.  * Copyright (c) 1994, Regents of the University of California
  8.  *
  9.  * $Id: nodeHash.h,v 1.13 1999/05/25 16:13:55 momjian Exp $
  10.  *
  11.  *-------------------------------------------------------------------------
  12.  */
  13. #ifndef NODEHASH_H
  14. #define NODEHASH_H
  15. #include "executor/hashjoin.h"
  16. #include "executor/tuptable.h"
  17. #include "nodes/execnodes.h"
  18. #include "nodes/pg_list.h"
  19. #include "nodes/plannodes.h"
  20. #include "utils/syscache.h"
  21. extern TupleTableSlot *ExecHash(Hash *node);
  22. extern bool ExecInitHash(Hash *node, EState *estate, Plan *parent);
  23. extern int ExecCountSlotsHash(Hash *node);
  24. extern void ExecEndHash(Hash *node);
  25. extern HashJoinTable ExecHashTableCreate(Hash *node);
  26. extern void ExecHashTableDestroy(HashJoinTable hashtable);
  27. extern void ExecHashTableInsert(HashJoinTable hashtable, ExprContext *econtext,
  28. Var *hashkey);
  29. extern int ExecHashGetBucket(HashJoinTable hashtable, ExprContext *econtext,
  30.   Var *hashkey);
  31. extern HeapTuple ExecScanHashBucket(HashJoinState *hjstate, List *hjclauses,
  32.    ExprContext *econtext);
  33. extern void ExecHashTableReset(HashJoinTable hashtable, long ntuples);
  34. extern void ExecReScanHash(Hash *node, ExprContext *exprCtxt, Plan *parent);
  35. #endif  /* NODEHASH_H */