PostgreSQL Source Code
git master
|
#include <hashjoin.h>
Data Fields | |
int | nbuckets |
int | log2_nbuckets |
int | nbuckets_original |
int | nbuckets_optimal |
int | log2_nbuckets_optimal |
union { | |
struct HashJoinTupleData ** unshared | |
dsa_pointer_atomic * shared | |
} | buckets |
bool | skewEnabled |
HashSkewBucket ** | skewBucket |
int | skewBucketLen |
int | nSkewBuckets |
int * | skewBucketNums |
int | nbatch |
int | curbatch |
int | nbatch_original |
int | nbatch_outstart |
bool | growEnabled |
double | totalTuples |
double | partialTuples |
double | skewTuples |
BufFile ** | innerBatchFile |
BufFile ** | outerBatchFile |
Size | spaceUsed |
Size | spaceAllowed |
Size | spacePeak |
Size | spaceUsedSkew |
Size | spaceAllowedSkew |
MemoryContext | hashCxt |
MemoryContext | batchCxt |
MemoryContext | spillCxt |
HashMemoryChunk | chunks |
HashMemoryChunk | current_chunk |
dsa_area * | area |
ParallelHashJoinState * | parallel_state |
ParallelHashJoinBatchAccessor * | batches |
dsa_pointer | current_chunk_shared |
Definition at line 298 of file hashjoin.h.
dsa_area* HashJoinTableData::area |
Definition at line 359 of file hashjoin.h.
Referenced by ExecHashTableCreate(), ExecHashTableDetach(), ExecHashTableDetachBatch(), ExecParallelHashEnsureBatchAccessors(), ExecParallelHashFirstTuple(), ExecParallelHashIncreaseNumBatches(), ExecParallelHashIncreaseNumBuckets(), ExecParallelHashJoinSetUpBatches(), ExecParallelHashNextTuple(), ExecParallelHashPopChunkQueue(), ExecParallelHashRepartitionFirst(), ExecParallelHashRepartitionRest(), ExecParallelHashTableAlloc(), ExecParallelHashTableSetCurrentBatch(), and ExecParallelHashTupleAlloc().
MemoryContext HashJoinTableData::batchCxt |
Definition at line 351 of file hashjoin.h.
Referenced by dense_alloc(), ExecHashBuildSkewHash(), ExecHashSkewTableInsert(), ExecHashTableCreate(), and ExecHashTableReset().
ParallelHashJoinBatchAccessor* HashJoinTableData::batches |
Definition at line 361 of file hashjoin.h.
Referenced by ExecHashTableCreate(), ExecHashTableDetach(), ExecHashTableDetachBatch(), ExecParallelHashCloseBatchAccessors(), ExecParallelHashEnsureBatchAccessors(), ExecParallelHashIncreaseNumBatches(), ExecParallelHashIncreaseNumBuckets(), ExecParallelHashJoinNewBatch(), ExecParallelHashJoinOuterGetTuple(), ExecParallelHashJoinPartitionOuter(), ExecParallelHashJoinSetUpBatches(), ExecParallelHashMergeCounters(), ExecParallelHashRepartitionFirst(), ExecParallelHashRepartitionRest(), ExecParallelHashTableAlloc(), ExecParallelHashTableInsert(), ExecParallelHashTableSetCurrentBatch(), ExecParallelHashTupleAlloc(), ExecParallelHashTuplePrealloc(), ExecParallelPrepHashTableForUnmatched(), and MultiExecParallelHash().
union { ... } HashJoinTableData::buckets |
Referenced by ExecHashIncreaseNumBatches(), ExecHashIncreaseNumBuckets(), ExecHashRemoveNextSkewBucket(), ExecHashTableCreate(), ExecHashTableInsert(), ExecHashTableReset(), ExecHashTableResetMatchFlags(), ExecParallelHashFirstTuple(), ExecParallelHashIncreaseNumBuckets(), ExecParallelHashRepartitionFirst(), ExecParallelHashTableInsert(), ExecParallelHashTableInsertCurrentBatch(), ExecParallelHashTableSetCurrentBatch(), ExecScanHashBucket(), and ExecScanHashTableForUnmatched().
HashMemoryChunk HashJoinTableData::chunks |
Definition at line 355 of file hashjoin.h.
Referenced by dense_alloc(), ExecHashIncreaseNumBatches(), ExecHashIncreaseNumBuckets(), ExecHashTableCreate(), and ExecHashTableReset().
int HashJoinTableData::curbatch |
Definition at line 323 of file hashjoin.h.
Referenced by ExecHashIncreaseNumBatches(), ExecHashJoinImpl(), ExecHashJoinNewBatch(), ExecHashJoinOuterGetTuple(), ExecHashRemoveNextSkewBucket(), ExecHashTableCreate(), ExecHashTableDetachBatch(), ExecHashTableInsert(), ExecParallelHashJoinNewBatch(), ExecParallelHashJoinOuterGetTuple(), ExecParallelHashTableInsertCurrentBatch(), ExecParallelHashTableSetCurrentBatch(), ExecParallelHashTupleAlloc(), ExecParallelPrepHashTableForUnmatched(), and MultiExecParallelHash().
HashMemoryChunk HashJoinTableData::current_chunk |
Definition at line 358 of file hashjoin.h.
Referenced by ExecHashTableCreate(), ExecParallelHashTableSetCurrentBatch(), and ExecParallelHashTupleAlloc().
dsa_pointer HashJoinTableData::current_chunk_shared |
Definition at line 362 of file hashjoin.h.
Referenced by ExecParallelHashTableSetCurrentBatch(), and ExecParallelHashTupleAlloc().
bool HashJoinTableData::growEnabled |
Definition at line 328 of file hashjoin.h.
Referenced by ExecHashIncreaseNumBatches(), and ExecHashTableCreate().
MemoryContext HashJoinTableData::hashCxt |
Definition at line 350 of file hashjoin.h.
Referenced by ExecHashTableCreate(), and ExecHashTableDestroy().
BufFile** HashJoinTableData::innerBatchFile |
Definition at line 341 of file hashjoin.h.
Referenced by ExecHashIncreaseNumBatches(), ExecHashJoinNewBatch(), ExecHashRemoveNextSkewBucket(), ExecHashTableCreate(), ExecHashTableDestroy(), and ExecHashTableInsert().
int HashJoinTableData::log2_nbuckets |
Definition at line 301 of file hashjoin.h.
Referenced by ExecHashGetBucketAndBatch(), ExecHashIncreaseNumBatches(), ExecHashIncreaseNumBuckets(), ExecHashTableCreate(), ExecParallelHashTableSetCurrentBatch(), and MultiExecParallelHash().
int HashJoinTableData::log2_nbuckets_optimal |
Definition at line 305 of file hashjoin.h.
Referenced by ExecHashIncreaseNumBatches(), ExecHashIncreaseNumBuckets(), ExecHashTableCreate(), and ExecHashTableInsert().
int HashJoinTableData::nbatch |
Definition at line 322 of file hashjoin.h.
Referenced by ExecHashAccumInstrumentation(), ExecHashGetBucketAndBatch(), ExecHashIncreaseNumBatches(), ExecHashJoinImpl(), ExecHashJoinNewBatch(), ExecHashTableCreate(), ExecHashTableDestroy(), ExecHashTableDetach(), ExecHashTableInsert(), ExecParallelHashCloseBatchAccessors(), ExecParallelHashEnsureBatchAccessors(), ExecParallelHashIncreaseNumBatches(), ExecParallelHashJoinNewBatch(), ExecParallelHashJoinOuterGetTuple(), ExecParallelHashJoinPartitionOuter(), ExecParallelHashJoinSetUpBatches(), ExecParallelHashMergeCounters(), ExecParallelHashRepartitionFirst(), ExecParallelHashTupleAlloc(), ExecReScanHashJoin(), and MultiExecParallelHash().
int HashJoinTableData::nbatch_original |
Definition at line 325 of file hashjoin.h.
Referenced by ExecHashAccumInstrumentation(), ExecHashJoinNewBatch(), and ExecHashTableCreate().
int HashJoinTableData::nbatch_outstart |
Definition at line 326 of file hashjoin.h.
Referenced by ExecHashJoinImpl(), ExecHashJoinNewBatch(), and ExecHashTableCreate().
int HashJoinTableData::nbuckets |
Definition at line 300 of file hashjoin.h.
Referenced by ExecHashAccumInstrumentation(), ExecHashGetBucketAndBatch(), ExecHashIncreaseNumBatches(), ExecHashIncreaseNumBuckets(), ExecHashTableCreate(), ExecHashTableDetachBatch(), ExecHashTableReset(), ExecHashTableResetMatchFlags(), ExecParallelHashIncreaseNumBatches(), ExecParallelHashTableSetCurrentBatch(), ExecParallelHashTupleAlloc(), ExecParallelPrepHashTableForUnmatched(), ExecParallelScanHashTableForUnmatched(), ExecScanHashTableForUnmatched(), MultiExecParallelHash(), and MultiExecPrivateHash().
int HashJoinTableData::nbuckets_optimal |
Definition at line 304 of file hashjoin.h.
Referenced by ExecHashIncreaseNumBatches(), ExecHashIncreaseNumBuckets(), ExecHashTableCreate(), ExecHashTableInsert(), and MultiExecPrivateHash().
int HashJoinTableData::nbuckets_original |
Definition at line 303 of file hashjoin.h.
Referenced by ExecHashAccumInstrumentation(), and ExecHashTableCreate().
int HashJoinTableData::nSkewBuckets |
Definition at line 319 of file hashjoin.h.
Referenced by ExecHashBuildSkewHash(), ExecHashJoinNewBatch(), ExecHashRemoveNextSkewBucket(), ExecHashTableCreate(), ExecHashTableResetMatchFlags(), and ExecScanHashTableForUnmatched().
BufFile** HashJoinTableData::outerBatchFile |
Definition at line 342 of file hashjoin.h.
Referenced by ExecHashIncreaseNumBatches(), ExecHashJoinImpl(), ExecHashJoinNewBatch(), ExecHashJoinOuterGetTuple(), ExecHashTableCreate(), and ExecHashTableDestroy().
ParallelHashJoinState* HashJoinTableData::parallel_state |
Definition at line 360 of file hashjoin.h.
Referenced by ExecHashTableCreate(), ExecHashTableDetach(), ExecHashTableDetachBatch(), ExecParallelHashEnsureBatchAccessors(), ExecParallelHashFirstTuple(), ExecParallelHashIncreaseNumBatches(), ExecParallelHashIncreaseNumBuckets(), ExecParallelHashJoinNewBatch(), ExecParallelHashJoinSetUpBatches(), ExecParallelHashMergeCounters(), ExecParallelHashNextTuple(), ExecParallelHashPopChunkQueue(), ExecParallelHashRepartitionFirst(), ExecParallelHashRepartitionRest(), ExecParallelHashTableAlloc(), ExecParallelHashTableInsert(), ExecParallelHashTableSetCurrentBatch(), ExecParallelHashTupleAlloc(), ExecParallelHashTuplePrealloc(), and MultiExecParallelHash().
double HashJoinTableData::partialTuples |
Definition at line 331 of file hashjoin.h.
Referenced by ExecHashTableCreate(), MultiExecHash(), MultiExecParallelHash(), and MultiExecPrivateHash().
dsa_pointer_atomic* HashJoinTableData::shared |
Definition at line 313 of file hashjoin.h.
Referenced by ExecParallelHashFirstTuple(), ExecParallelHashIncreaseNumBuckets(), ExecParallelHashRepartitionFirst(), ExecParallelHashTableInsert(), ExecParallelHashTableInsertCurrentBatch(), and ExecParallelHashTableSetCurrentBatch().
HashSkewBucket** HashJoinTableData::skewBucket |
Definition at line 317 of file hashjoin.h.
Referenced by ExecHashBuildSkewHash(), ExecHashGetSkewBucket(), ExecHashJoinNewBatch(), ExecHashRemoveNextSkewBucket(), ExecHashSkewTableInsert(), ExecHashTableCreate(), ExecHashTableResetMatchFlags(), ExecScanHashBucket(), and ExecScanHashTableForUnmatched().
int HashJoinTableData::skewBucketLen |
Definition at line 318 of file hashjoin.h.
Referenced by ExecHashBuildSkewHash(), ExecHashGetSkewBucket(), and ExecHashTableCreate().
int* HashJoinTableData::skewBucketNums |
Definition at line 320 of file hashjoin.h.
Referenced by ExecHashBuildSkewHash(), ExecHashJoinNewBatch(), ExecHashRemoveNextSkewBucket(), ExecHashTableCreate(), ExecHashTableResetMatchFlags(), and ExecScanHashTableForUnmatched().
bool HashJoinTableData::skewEnabled |
Definition at line 316 of file hashjoin.h.
Referenced by ExecHashBuildSkewHash(), ExecHashGetSkewBucket(), ExecHashJoinNewBatch(), ExecHashRemoveNextSkewBucket(), and ExecHashTableCreate().
double HashJoinTableData::skewTuples |
Definition at line 332 of file hashjoin.h.
Referenced by ExecHashTableCreate(), ExecHashTableInsert(), and MultiExecPrivateHash().
Size HashJoinTableData::spaceAllowed |
Definition at line 345 of file hashjoin.h.
Referenced by ExecHashSkewTableInsert(), ExecHashTableCreate(), and ExecHashTableInsert().
Size HashJoinTableData::spaceAllowedSkew |
Definition at line 348 of file hashjoin.h.
Referenced by ExecHashSkewTableInsert(), and ExecHashTableCreate().
Size HashJoinTableData::spacePeak |
Definition at line 346 of file hashjoin.h.
Referenced by ExecHashAccumInstrumentation(), ExecHashBuildSkewHash(), ExecHashSkewTableInsert(), ExecHashTableCreate(), ExecHashTableDetachBatch(), ExecHashTableInsert(), ExecParallelPrepHashTableForUnmatched(), and MultiExecPrivateHash().
Size HashJoinTableData::spaceUsed |
Definition at line 344 of file hashjoin.h.
Referenced by ExecHashBuildSkewHash(), ExecHashIncreaseNumBatches(), ExecHashRemoveNextSkewBucket(), ExecHashSkewTableInsert(), ExecHashTableCreate(), ExecHashTableInsert(), ExecHashTableReset(), and MultiExecPrivateHash().
Size HashJoinTableData::spaceUsedSkew |
Definition at line 347 of file hashjoin.h.
Referenced by ExecHashBuildSkewHash(), ExecHashJoinNewBatch(), ExecHashRemoveNextSkewBucket(), ExecHashSkewTableInsert(), and ExecHashTableCreate().
MemoryContext HashJoinTableData::spillCxt |
Definition at line 352 of file hashjoin.h.
Referenced by ExecHashIncreaseNumBatches(), ExecHashJoinSaveTuple(), ExecHashTableCreate(), ExecParallelHashEnsureBatchAccessors(), and ExecParallelHashJoinSetUpBatches().
double HashJoinTableData::totalTuples |
Definition at line 330 of file hashjoin.h.
Referenced by ExecHashJoinImpl(), ExecHashTableCreate(), ExecHashTableInsert(), MultiExecParallelHash(), and MultiExecPrivateHash().
struct HashJoinTupleData** HashJoinTableData::unshared |
Definition at line 311 of file hashjoin.h.
Referenced by ExecHashIncreaseNumBatches(), ExecHashIncreaseNumBuckets(), ExecHashRemoveNextSkewBucket(), ExecHashTableCreate(), ExecHashTableInsert(), ExecHashTableReset(), ExecHashTableResetMatchFlags(), ExecScanHashBucket(), and ExecScanHashTableForUnmatched().