diff options
Diffstat (limited to 'src/include/executor/hashjoin.h')
-rw-r--r-- | src/include/executor/hashjoin.h | 97 |
1 files changed, 50 insertions, 47 deletions
diff --git a/src/include/executor/hashjoin.h b/src/include/executor/hashjoin.h index 6bee61ef766..e705c5c77d6 100644 --- a/src/include/executor/hashjoin.h +++ b/src/include/executor/hashjoin.h @@ -1,81 +1,84 @@ /*------------------------------------------------------------------------- * * hashjoin.h-- - * internal structures for hash table and buckets + * internal structures for hash table and buckets * * * Copyright (c) 1994, Regents of the University of California * - * $Id: hashjoin.h,v 1.3 1996/11/04 08:52:46 scrappy Exp $ + * $Id: hashjoin.h,v 1.4 1997/09/07 04:57:49 momjian Exp $ * *------------------------------------------------------------------------- */ -#ifndef HASHJOIN_H +#ifndef HASHJOIN_H #define HASHJOIN_H #include <storage/ipc.h> /* ----------------- - * have to use relative address as pointers in the hashtable - * because the hashtable may reallocate in difference processes + * have to use relative address as pointers in the hashtable + * because the hashtable may reallocate in difference processes * ----------------- */ -typedef int RelativeAddr; +typedef int RelativeAddr; /* ------------------ - * the relative addresses are always relative to the head of the - * hashtable, the following macro converts them to absolute address. + * the relative addresses are always relative to the head of the + * hashtable, the following macro converts them to absolute address. * ------------------ */ -#define ABSADDR(X) ((X) < 0 ? NULL: (char*)hashtable + X) -#define RELADDR(X) (RelativeAddr)((char*)(X) - (char*)hashtable) +#define ABSADDR(X) ((X) < 0 ? NULL: (char*)hashtable + X) +#define RELADDR(X) (RelativeAddr)((char*)(X) - (char*)hashtable) -typedef char **charPP; -typedef int *intP; +typedef char **charPP; +typedef int *intP; /* ---------------------------------------------------------------- - * hash-join hash table structures + * hash-join hash table structures * ---------------------------------------------------------------- */ -typedef struct HashTableData { - int nbuckets; - int totalbuckets; - int bucketsize; - IpcMemoryId shmid; - RelativeAddr top; /* char* */ - RelativeAddr bottom; /* char* */ - RelativeAddr overflownext; /* char* */ - RelativeAddr batch; /* char* */ - RelativeAddr readbuf; /* char* */ - int nbatch; - RelativeAddr outerbatchNames; /* RelativeAddr* */ - RelativeAddr outerbatchPos; /* RelativeAddr* */ - RelativeAddr innerbatchNames; /* RelativeAddr* */ - RelativeAddr innerbatchPos; /* RelativeAddr* */ - RelativeAddr innerbatchSizes; /* int* */ - int curbatch; - int nprocess; - int pcount; -} HashTableData; /* real hash table follows here */ +typedef struct HashTableData +{ + int nbuckets; + int totalbuckets; + int bucketsize; + IpcMemoryId shmid; + RelativeAddr top; /* char* */ + RelativeAddr bottom; /* char* */ + RelativeAddr overflownext; /* char* */ + RelativeAddr batch; /* char* */ + RelativeAddr readbuf; /* char* */ + int nbatch; + RelativeAddr outerbatchNames; /* RelativeAddr* */ + RelativeAddr outerbatchPos; /* RelativeAddr* */ + RelativeAddr innerbatchNames; /* RelativeAddr* */ + RelativeAddr innerbatchPos; /* RelativeAddr* */ + RelativeAddr innerbatchSizes; /* int* */ + int curbatch; + int nprocess; + int pcount; +} HashTableData; /* real hash table follows here */ -typedef HashTableData *HashJoinTable; +typedef HashTableData *HashJoinTable; -typedef struct OverflowTupleData { - RelativeAddr tuple; /* HeapTuple */ - RelativeAddr next; /* struct OverflowTupleData * */ -} OverflowTupleData; /* real tuple follows here */ +typedef struct OverflowTupleData +{ + RelativeAddr tuple; /* HeapTuple */ + RelativeAddr next; /* struct OverflowTupleData * */ +} OverflowTupleData; /* real tuple follows here */ typedef OverflowTupleData *OverflowTuple; -typedef struct HashBucketData { - RelativeAddr top; /* HeapTuple */ - RelativeAddr bottom; /* HeapTuple */ - RelativeAddr firstotuple; /* OverflowTuple */ - RelativeAddr lastotuple; /* OverflowTuple */ -} HashBucketData; /* real bucket follows here */ +typedef struct HashBucketData +{ + RelativeAddr top; /* HeapTuple */ + RelativeAddr bottom; /* HeapTuple */ + RelativeAddr firstotuple;/* OverflowTuple */ + RelativeAddr lastotuple; /* OverflowTuple */ +} HashBucketData; /* real bucket follows here */ -typedef HashBucketData *HashBucket; +typedef HashBucketData *HashBucket; -#define HASH_PERMISSION 0700 +#define HASH_PERMISSION 0700 -#endif /* HASHJOIN_H */ +#endif /* HASHJOIN_H */ |