PostgreSQL Source Code  git master
hashjoin.h File Reference
#include "nodes/execnodes.h"
#include "storage/buffile.h"
Include dependency graph for hashjoin.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  HashJoinTupleData
 
struct  HashSkewBucket
 
struct  HashMemoryChunkData
 
struct  HashJoinTableData
 

Macros

#define HJTUPLE_OVERHEAD   MAXALIGN(sizeof(HashJoinTupleData))
 
#define HJTUPLE_MINTUPLE(hjtup)   ((MinimalTuple) ((char *) (hjtup) + HJTUPLE_OVERHEAD))
 
#define SKEW_BUCKET_OVERHEAD   MAXALIGN(sizeof(HashSkewBucket))
 
#define INVALID_SKEW_BUCKET_NO   (-1)
 
#define SKEW_WORK_MEM_PERCENT   2
 
#define SKEW_MIN_OUTER_FRACTION   0.01
 
#define HASH_CHUNK_SIZE   (32 * 1024L)
 
#define HASH_CHUNK_THRESHOLD   (HASH_CHUNK_SIZE / 4)
 

Typedefs

typedef struct HashJoinTupleData HashJoinTupleData
 
typedef struct HashSkewBucket HashSkewBucket
 
typedef struct HashMemoryChunkData HashMemoryChunkData
 
typedef struct HashMemoryChunkDataHashMemoryChunk
 
typedef struct HashJoinTableData HashJoinTableData
 

Macro Definition Documentation

◆ HASH_CHUNK_SIZE

#define HASH_CHUNK_SIZE   (32 * 1024L)

Definition at line 123 of file hashjoin.h.

Referenced by dense_alloc().

◆ HASH_CHUNK_THRESHOLD

#define HASH_CHUNK_THRESHOLD   (HASH_CHUNK_SIZE / 4)

Definition at line 124 of file hashjoin.h.

Referenced by dense_alloc().

◆ HJTUPLE_MINTUPLE

◆ HJTUPLE_OVERHEAD

◆ INVALID_SKEW_BUCKET_NO

#define INVALID_SKEW_BUCKET_NO   (-1)

◆ SKEW_BUCKET_OVERHEAD

#define SKEW_BUCKET_OVERHEAD   MAXALIGN(sizeof(HashSkewBucket))

◆ SKEW_MIN_OUTER_FRACTION

#define SKEW_MIN_OUTER_FRACTION   0.01

Definition at line 103 of file hashjoin.h.

Referenced by ExecHashBuildSkewHash().

◆ SKEW_WORK_MEM_PERCENT

#define SKEW_WORK_MEM_PERCENT   2

Definition at line 102 of file hashjoin.h.

Referenced by ExecChooseHashTableSize(), and ExecHashTableCreate().

Typedef Documentation

◆ HashJoinTableData

◆ HashJoinTupleData

◆ HashMemoryChunk

Definition at line 121 of file hashjoin.h.

◆ HashMemoryChunkData

◆ HashSkewBucket