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 | keepNulls |
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 |
FmgrInfo * | outer_hashfunctions |
FmgrInfo * | inner_hashfunctions |
bool * | hashStrict |
Oid * | collations |
Size | spaceUsed |
Size | spaceAllowed |
Size | spacePeak |
Size | spaceUsedSkew |
Size | spaceAllowedSkew |
MemoryContext | hashCxt |
MemoryContext | batchCxt |
HashMemoryChunk | chunks |
HashMemoryChunk | current_chunk |
dsa_area * | area |
ParallelHashJoinState * | parallel_state |
ParallelHashJoinBatchAccessor * | batches |
dsa_pointer | current_chunk_shared |
Definition at line 285 of file hashjoin.h.
dsa_area* HashJoinTableData::area |
Definition at line 357 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 350 of file hashjoin.h.
Referenced by dense_alloc(), ExecHashBuildSkewHash(), ExecHashSkewTableInsert(), ExecHashTableCreate(), and ExecHashTableReset().
ParallelHashJoinBatchAccessor* HashJoinTableData::batches |
Definition at line 359 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(), 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 353 of file hashjoin.h.
Referenced by dense_alloc(), ExecHashIncreaseNumBatches(), ExecHashIncreaseNumBuckets(), ExecHashTableCreate(), and ExecHashTableReset().
Oid* HashJoinTableData::collations |
Definition at line 341 of file hashjoin.h.
Referenced by ExecHashBuildSkewHash(), ExecHashGetHashValue(), and ExecHashTableCreate().
int HashJoinTableData::curbatch |
Definition at line 312 of file hashjoin.h.
Referenced by ExecHashIncreaseNumBatches(), ExecHashJoinImpl(), ExecHashJoinNewBatch(), ExecHashJoinOuterGetTuple(), ExecHashRemoveNextSkewBucket(), ExecHashTableCreate(), ExecHashTableDetachBatch(), ExecHashTableInsert(), ExecParallelHashJoinNewBatch(), ExecParallelHashJoinOuterGetTuple(), ExecParallelHashTableInsertCurrentBatch(), ExecParallelHashTableSetCurrentBatch(), ExecParallelHashTupleAlloc(), and MultiExecParallelHash().
HashMemoryChunk HashJoinTableData::current_chunk |
Definition at line 356 of file hashjoin.h.
Referenced by ExecHashTableCreate(), ExecParallelHashTableSetCurrentBatch(), and ExecParallelHashTupleAlloc().
dsa_pointer HashJoinTableData::current_chunk_shared |
Definition at line 360 of file hashjoin.h.
Referenced by ExecParallelHashTableSetCurrentBatch(), and ExecParallelHashTupleAlloc().
bool HashJoinTableData::growEnabled |
Definition at line 317 of file hashjoin.h.
Referenced by ExecHashIncreaseNumBatches(), and ExecHashTableCreate().
MemoryContext HashJoinTableData::hashCxt |
Definition at line 349 of file hashjoin.h.
Referenced by ExecHashIncreaseNumBatches(), ExecHashTableCreate(), ExecHashTableDestroy(), ExecParallelHashEnsureBatchAccessors(), and ExecParallelHashJoinSetUpBatches().
bool* HashJoinTableData::hashStrict |
Definition at line 340 of file hashjoin.h.
Referenced by ExecHashGetHashValue(), and ExecHashTableCreate().
FmgrInfo* HashJoinTableData::inner_hashfunctions |
Definition at line 339 of file hashjoin.h.
Referenced by ExecHashGetHashValue(), and ExecHashTableCreate().
BufFile** HashJoinTableData::innerBatchFile |
Definition at line 330 of file hashjoin.h.
Referenced by ExecHashIncreaseNumBatches(), ExecHashJoinNewBatch(), ExecHashRemoveNextSkewBucket(), ExecHashTableCreate(), ExecHashTableDestroy(), and ExecHashTableInsert().
bool HashJoinTableData::keepNulls |
Definition at line 303 of file hashjoin.h.
Referenced by ExecHashTableCreate(), MultiExecParallelHash(), and MultiExecPrivateHash().
int HashJoinTableData::log2_nbuckets |
Definition at line 288 of file hashjoin.h.
Referenced by ExecHashGetBucketAndBatch(), ExecHashIncreaseNumBatches(), ExecHashIncreaseNumBuckets(), ExecHashTableCreate(), ExecParallelHashTableSetCurrentBatch(), and MultiExecParallelHash().
int HashJoinTableData::log2_nbuckets_optimal |
Definition at line 292 of file hashjoin.h.
Referenced by ExecHashIncreaseNumBatches(), ExecHashIncreaseNumBuckets(), ExecHashTableCreate(), and ExecHashTableInsert().
int HashJoinTableData::nbatch |
Definition at line 311 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 314 of file hashjoin.h.
Referenced by ExecHashAccumInstrumentation(), ExecHashJoinNewBatch(), and ExecHashTableCreate().
int HashJoinTableData::nbatch_outstart |
Definition at line 315 of file hashjoin.h.
Referenced by ExecHashJoinImpl(), ExecHashJoinNewBatch(), and ExecHashTableCreate().
int HashJoinTableData::nbuckets |
Definition at line 287 of file hashjoin.h.
Referenced by ExecHashAccumInstrumentation(), ExecHashGetBucketAndBatch(), ExecHashIncreaseNumBatches(), ExecHashIncreaseNumBuckets(), ExecHashTableCreate(), ExecHashTableDetachBatch(), ExecHashTableReset(), ExecHashTableResetMatchFlags(), ExecParallelHashIncreaseNumBatches(), ExecParallelHashTableSetCurrentBatch(), ExecParallelHashTupleAlloc(), ExecScanHashTableForUnmatched(), MultiExecParallelHash(), and MultiExecPrivateHash().
int HashJoinTableData::nbuckets_optimal |
Definition at line 291 of file hashjoin.h.
Referenced by ExecHashIncreaseNumBatches(), ExecHashIncreaseNumBuckets(), ExecHashTableCreate(), ExecHashTableInsert(), and MultiExecPrivateHash().
int HashJoinTableData::nbuckets_original |
Definition at line 290 of file hashjoin.h.
Referenced by ExecHashAccumInstrumentation(), and ExecHashTableCreate().
int HashJoinTableData::nSkewBuckets |
Definition at line 308 of file hashjoin.h.
Referenced by ExecHashBuildSkewHash(), ExecHashJoinNewBatch(), ExecHashRemoveNextSkewBucket(), ExecHashTableCreate(), ExecHashTableResetMatchFlags(), and ExecScanHashTableForUnmatched().
FmgrInfo* HashJoinTableData::outer_hashfunctions |
Definition at line 338 of file hashjoin.h.
Referenced by ExecHashBuildSkewHash(), ExecHashGetHashValue(), and ExecHashTableCreate().
BufFile** HashJoinTableData::outerBatchFile |
Definition at line 331 of file hashjoin.h.
Referenced by ExecHashIncreaseNumBatches(), ExecHashJoinImpl(), ExecHashJoinNewBatch(), ExecHashJoinOuterGetTuple(), ExecHashTableCreate(), and ExecHashTableDestroy().
ParallelHashJoinState* HashJoinTableData::parallel_state |
Definition at line 358 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 320 of file hashjoin.h.
Referenced by ExecHashTableCreate(), MultiExecHash(), MultiExecParallelHash(), and MultiExecPrivateHash().
dsa_pointer_atomic* HashJoinTableData::shared |
Definition at line 300 of file hashjoin.h.
Referenced by ExecParallelHashFirstTuple(), ExecParallelHashIncreaseNumBuckets(), ExecParallelHashRepartitionFirst(), ExecParallelHashTableInsert(), ExecParallelHashTableInsertCurrentBatch(), and ExecParallelHashTableSetCurrentBatch().
HashSkewBucket** HashJoinTableData::skewBucket |
Definition at line 306 of file hashjoin.h.
Referenced by ExecHashBuildSkewHash(), ExecHashGetSkewBucket(), ExecHashJoinNewBatch(), ExecHashRemoveNextSkewBucket(), ExecHashSkewTableInsert(), ExecHashTableCreate(), ExecHashTableResetMatchFlags(), ExecScanHashBucket(), and ExecScanHashTableForUnmatched().
int HashJoinTableData::skewBucketLen |
Definition at line 307 of file hashjoin.h.
Referenced by ExecHashBuildSkewHash(), ExecHashGetSkewBucket(), and ExecHashTableCreate().
int* HashJoinTableData::skewBucketNums |
Definition at line 309 of file hashjoin.h.
Referenced by ExecHashBuildSkewHash(), ExecHashJoinNewBatch(), ExecHashRemoveNextSkewBucket(), ExecHashTableCreate(), ExecHashTableResetMatchFlags(), and ExecScanHashTableForUnmatched().
bool HashJoinTableData::skewEnabled |
Definition at line 305 of file hashjoin.h.
Referenced by ExecHashBuildSkewHash(), ExecHashGetSkewBucket(), ExecHashJoinNewBatch(), ExecHashRemoveNextSkewBucket(), and ExecHashTableCreate().
double HashJoinTableData::skewTuples |
Definition at line 321 of file hashjoin.h.
Referenced by ExecHashTableCreate(), ExecHashTableInsert(), and MultiExecPrivateHash().
Size HashJoinTableData::spaceAllowed |
Definition at line 344 of file hashjoin.h.
Referenced by ExecHashSkewTableInsert(), ExecHashTableCreate(), and ExecHashTableInsert().
Size HashJoinTableData::spaceAllowedSkew |
Definition at line 347 of file hashjoin.h.
Referenced by ExecHashSkewTableInsert(), and ExecHashTableCreate().
Size HashJoinTableData::spacePeak |
Definition at line 345 of file hashjoin.h.
Referenced by ExecHashAccumInstrumentation(), ExecHashBuildSkewHash(), ExecHashSkewTableInsert(), ExecHashTableCreate(), ExecHashTableDetachBatch(), ExecHashTableInsert(), and MultiExecPrivateHash().
Size HashJoinTableData::spaceUsed |
Definition at line 343 of file hashjoin.h.
Referenced by ExecHashBuildSkewHash(), ExecHashIncreaseNumBatches(), ExecHashRemoveNextSkewBucket(), ExecHashSkewTableInsert(), ExecHashTableCreate(), ExecHashTableInsert(), ExecHashTableReset(), and MultiExecPrivateHash().
Size HashJoinTableData::spaceUsedSkew |
Definition at line 346 of file hashjoin.h.
Referenced by ExecHashBuildSkewHash(), ExecHashJoinNewBatch(), ExecHashRemoveNextSkewBucket(), ExecHashSkewTableInsert(), and ExecHashTableCreate().
double HashJoinTableData::totalTuples |
Definition at line 319 of file hashjoin.h.
Referenced by ExecHashJoinImpl(), ExecHashTableCreate(), ExecHashTableInsert(), MultiExecParallelHash(), and MultiExecPrivateHash().
struct HashJoinTupleData** HashJoinTableData::unshared |
Definition at line 298 of file hashjoin.h.
Referenced by ExecHashIncreaseNumBatches(), ExecHashIncreaseNumBuckets(), ExecHashRemoveNextSkewBucket(), ExecHashTableCreate(), ExecHashTableInsert(), ExecHashTableReset(), ExecHashTableResetMatchFlags(), ExecScanHashBucket(), and ExecScanHashTableForUnmatched().