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 284 of file hashjoin.h.
dsa_area* HashJoinTableData::area |
Definition at line 356 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 349 of file hashjoin.h.
Referenced by dense_alloc(), ExecHashBuildSkewHash(), ExecHashSkewTableInsert(), ExecHashTableCreate(), and ExecHashTableReset().
ParallelHashJoinBatchAccessor* HashJoinTableData::batches |
Definition at line 358 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 352 of file hashjoin.h.
Referenced by dense_alloc(), ExecHashIncreaseNumBatches(), ExecHashIncreaseNumBuckets(), ExecHashTableCreate(), and ExecHashTableReset().
Oid* HashJoinTableData::collations |
Definition at line 340 of file hashjoin.h.
Referenced by ExecHashBuildSkewHash(), ExecHashGetHashValue(), and ExecHashTableCreate().
int HashJoinTableData::curbatch |
Definition at line 311 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 355 of file hashjoin.h.
Referenced by ExecHashTableCreate(), ExecParallelHashTableSetCurrentBatch(), and ExecParallelHashTupleAlloc().
dsa_pointer HashJoinTableData::current_chunk_shared |
Definition at line 359 of file hashjoin.h.
Referenced by ExecParallelHashTableSetCurrentBatch(), and ExecParallelHashTupleAlloc().
bool HashJoinTableData::growEnabled |
Definition at line 316 of file hashjoin.h.
Referenced by ExecHashIncreaseNumBatches(), and ExecHashTableCreate().
MemoryContext HashJoinTableData::hashCxt |
Definition at line 348 of file hashjoin.h.
Referenced by ExecHashIncreaseNumBatches(), ExecHashTableCreate(), ExecHashTableDestroy(), ExecParallelHashEnsureBatchAccessors(), and ExecParallelHashJoinSetUpBatches().
bool* HashJoinTableData::hashStrict |
Definition at line 339 of file hashjoin.h.
Referenced by ExecHashGetHashValue(), and ExecHashTableCreate().
FmgrInfo* HashJoinTableData::inner_hashfunctions |
Definition at line 338 of file hashjoin.h.
Referenced by ExecHashGetHashValue(), and ExecHashTableCreate().
BufFile** HashJoinTableData::innerBatchFile |
Definition at line 329 of file hashjoin.h.
Referenced by ExecHashIncreaseNumBatches(), ExecHashJoinNewBatch(), ExecHashRemoveNextSkewBucket(), ExecHashTableCreate(), ExecHashTableDestroy(), and ExecHashTableInsert().
bool HashJoinTableData::keepNulls |
Definition at line 302 of file hashjoin.h.
Referenced by ExecHashTableCreate(), MultiExecParallelHash(), and MultiExecPrivateHash().
int HashJoinTableData::log2_nbuckets |
Definition at line 287 of file hashjoin.h.
Referenced by ExecHashGetBucketAndBatch(), ExecHashIncreaseNumBatches(), ExecHashIncreaseNumBuckets(), ExecHashTableCreate(), ExecParallelHashTableSetCurrentBatch(), and MultiExecParallelHash().
int HashJoinTableData::log2_nbuckets_optimal |
Definition at line 291 of file hashjoin.h.
Referenced by ExecHashIncreaseNumBatches(), ExecHashIncreaseNumBuckets(), ExecHashTableCreate(), and ExecHashTableInsert().
int HashJoinTableData::nbatch |
Definition at line 310 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 313 of file hashjoin.h.
Referenced by ExecHashAccumInstrumentation(), ExecHashJoinNewBatch(), and ExecHashTableCreate().
int HashJoinTableData::nbatch_outstart |
Definition at line 314 of file hashjoin.h.
Referenced by ExecHashJoinImpl(), ExecHashJoinNewBatch(), and ExecHashTableCreate().
int HashJoinTableData::nbuckets |
Definition at line 286 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 290 of file hashjoin.h.
Referenced by ExecHashIncreaseNumBatches(), ExecHashIncreaseNumBuckets(), ExecHashTableCreate(), ExecHashTableInsert(), and MultiExecPrivateHash().
int HashJoinTableData::nbuckets_original |
Definition at line 289 of file hashjoin.h.
Referenced by ExecHashAccumInstrumentation(), and ExecHashTableCreate().
int HashJoinTableData::nSkewBuckets |
Definition at line 307 of file hashjoin.h.
Referenced by ExecHashBuildSkewHash(), ExecHashJoinNewBatch(), ExecHashRemoveNextSkewBucket(), ExecHashTableCreate(), ExecHashTableResetMatchFlags(), and ExecScanHashTableForUnmatched().
FmgrInfo* HashJoinTableData::outer_hashfunctions |
Definition at line 337 of file hashjoin.h.
Referenced by ExecHashBuildSkewHash(), ExecHashGetHashValue(), and ExecHashTableCreate().
BufFile** HashJoinTableData::outerBatchFile |
Definition at line 330 of file hashjoin.h.
Referenced by ExecHashIncreaseNumBatches(), ExecHashJoinImpl(), ExecHashJoinNewBatch(), ExecHashJoinOuterGetTuple(), ExecHashTableCreate(), and ExecHashTableDestroy().
ParallelHashJoinState* HashJoinTableData::parallel_state |
Definition at line 357 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 319 of file hashjoin.h.
Referenced by ExecHashTableCreate(), MultiExecHash(), MultiExecParallelHash(), and MultiExecPrivateHash().
dsa_pointer_atomic* HashJoinTableData::shared |
Definition at line 299 of file hashjoin.h.
Referenced by ExecParallelHashFirstTuple(), ExecParallelHashIncreaseNumBuckets(), ExecParallelHashRepartitionFirst(), ExecParallelHashTableInsert(), ExecParallelHashTableInsertCurrentBatch(), and ExecParallelHashTableSetCurrentBatch().
HashSkewBucket** HashJoinTableData::skewBucket |
Definition at line 305 of file hashjoin.h.
Referenced by ExecHashBuildSkewHash(), ExecHashGetSkewBucket(), ExecHashJoinNewBatch(), ExecHashRemoveNextSkewBucket(), ExecHashSkewTableInsert(), ExecHashTableCreate(), ExecHashTableResetMatchFlags(), ExecScanHashBucket(), and ExecScanHashTableForUnmatched().
int HashJoinTableData::skewBucketLen |
Definition at line 306 of file hashjoin.h.
Referenced by ExecHashBuildSkewHash(), ExecHashGetSkewBucket(), and ExecHashTableCreate().
int* HashJoinTableData::skewBucketNums |
Definition at line 308 of file hashjoin.h.
Referenced by ExecHashBuildSkewHash(), ExecHashJoinNewBatch(), ExecHashRemoveNextSkewBucket(), ExecHashTableCreate(), ExecHashTableResetMatchFlags(), and ExecScanHashTableForUnmatched().
bool HashJoinTableData::skewEnabled |
Definition at line 304 of file hashjoin.h.
Referenced by ExecHashBuildSkewHash(), ExecHashGetSkewBucket(), ExecHashJoinNewBatch(), ExecHashRemoveNextSkewBucket(), and ExecHashTableCreate().
double HashJoinTableData::skewTuples |
Definition at line 320 of file hashjoin.h.
Referenced by ExecHashTableCreate(), ExecHashTableInsert(), and MultiExecPrivateHash().
Size HashJoinTableData::spaceAllowed |
Definition at line 343 of file hashjoin.h.
Referenced by ExecHashSkewTableInsert(), ExecHashTableCreate(), and ExecHashTableInsert().
Size HashJoinTableData::spaceAllowedSkew |
Definition at line 346 of file hashjoin.h.
Referenced by ExecHashSkewTableInsert(), and ExecHashTableCreate().
Size HashJoinTableData::spacePeak |
Definition at line 344 of file hashjoin.h.
Referenced by ExecHashAccumInstrumentation(), ExecHashBuildSkewHash(), ExecHashSkewTableInsert(), ExecHashTableCreate(), ExecHashTableDetachBatch(), ExecHashTableInsert(), and MultiExecPrivateHash().
Size HashJoinTableData::spaceUsed |
Definition at line 342 of file hashjoin.h.
Referenced by ExecHashBuildSkewHash(), ExecHashIncreaseNumBatches(), ExecHashRemoveNextSkewBucket(), ExecHashSkewTableInsert(), ExecHashTableCreate(), ExecHashTableInsert(), ExecHashTableReset(), and MultiExecPrivateHash().
Size HashJoinTableData::spaceUsedSkew |
Definition at line 345 of file hashjoin.h.
Referenced by ExecHashBuildSkewHash(), ExecHashJoinNewBatch(), ExecHashRemoveNextSkewBucket(), ExecHashSkewTableInsert(), and ExecHashTableCreate().
double HashJoinTableData::totalTuples |
Definition at line 318 of file hashjoin.h.
Referenced by ExecHashJoinImpl(), ExecHashTableCreate(), ExecHashTableInsert(), MultiExecParallelHash(), and MultiExecPrivateHash().
struct HashJoinTupleData** HashJoinTableData::unshared |
Definition at line 297 of file hashjoin.h.
Referenced by ExecHashIncreaseNumBatches(), ExecHashIncreaseNumBuckets(), ExecHashRemoveNextSkewBucket(), ExecHashTableCreate(), ExecHashTableInsert(), ExecHashTableReset(), ExecHashTableResetMatchFlags(), ExecScanHashBucket(), and ExecScanHashTableForUnmatched().