|
PostgreSQL Source Code git master
|


Go to the source code of this file.
Functions | |
| HashJoinState * | ExecInitHashJoin (HashJoin *node, EState *estate, int eflags) |
| void | ExecEndHashJoin (HashJoinState *node) |
| void | ExecReScanHashJoin (HashJoinState *node) |
| void | ExecShutdownHashJoin (HashJoinState *node) |
| void | ExecHashJoinEstimate (HashJoinState *state, ParallelContext *pcxt) |
| void | ExecHashJoinInitializeDSM (HashJoinState *state, ParallelContext *pcxt) |
| void | ExecHashJoinReInitializeDSM (HashJoinState *state, ParallelContext *pcxt) |
| void | ExecHashJoinInitializeWorker (HashJoinState *state, ParallelWorkerContext *pwcxt) |
| void | ExecHashJoinSaveTuple (MinimalTuple tuple, uint32 hashvalue, BufFile **fileptr, HashJoinTable hashtable) |
|
extern |
Definition at line 1062 of file nodeHashjoin.c.
References castNode, ExecEndNode(), ExecHashTableDestroy(), fb(), HashJoinState::hj_HashTable, HashJoinState::hj_NullOuterTupleStore, innerPlanState, outerPlanState, and tuplestore_end().
Referenced by ExecEndNode().
|
extern |
Definition at line 1843 of file nodeHashjoin.c.
References ParallelContext::estimator, shm_toc_estimate_chunk, and shm_toc_estimate_keys.
Referenced by ExecParallelEstimate().
|
extern |
Definition at line 1850 of file nodeHashjoin.c.
References BarrierInit(), ParallelHashJoinState::batches, ParallelHashJoinState::build_barrier, ParallelHashJoinState::chunk_work_queue, ParallelHashJoinState::distributor, ExecParallelHashJoin(), ExecSetExecProcNode(), fb(), ParallelHashJoinState::fileset, ParallelHashJoinState::grow_batches_barrier, ParallelHashJoinState::grow_buckets_barrier, ParallelHashJoinState::growth, innerPlanState, InvalidDsaPointer, ParallelHashJoinState::lock, LWLockInitialize(), ParallelHashJoinState::nbatch, ParallelHashJoinState::nbuckets, ParallelHashJoinState::nparticipants, ParallelContext::nworkers, ParallelHashJoinState::old_batches, pg_atomic_init_u32(), PHJ_GROWTH_OK, ParallelContext::seg, SharedFileSetInit(), shm_toc_allocate(), shm_toc_insert(), ParallelHashJoinState::space_allowed, ParallelContext::toc, and ParallelHashJoinState::total_tuples.
Referenced by ExecParallelInitializeDSM().
|
extern |
Definition at line 1961 of file nodeHashjoin.c.
References ExecParallelHashJoin(), ExecSetExecProcNode(), fb(), ParallelHashJoinState::fileset, innerPlanState, SharedFileSetAttach(), and shm_toc_lookup().
Referenced by ExecParallelInitializeWorker().
|
extern |
Definition at line 1908 of file nodeHashjoin.c.
References BarrierInit(), ParallelHashJoinState::build_barrier, ExecHashTableDetach(), ExecHashTableDetachBatch(), fb(), ParallelHashJoinState::fileset, innerPlanState, ParallelContext::seg, SharedFileSetDeleteAll(), shm_toc_lookup(), ParallelContext::toc, and tuplestore_end().
Referenced by ExecParallelReInitializeDSM().
|
extern |
Definition at line 1571 of file nodeHashjoin.c.
References BufFileCreateTemp(), BufFileWrite(), fb(), MemoryContextSwitchTo(), HashJoinTableData::spillCxt, and MinimalTupleData::t_len.
Referenced by ExecHashIncreaseNumBatches(), ExecHashJoinImpl(), ExecHashRemoveNextSkewBucket(), and ExecHashTableInsert().
|
extern |
Definition at line 834 of file nodeHashjoin.c.
References Assert, elog, ERROR, EXEC_FLAG_BACKWARD, EXEC_FLAG_MARK, ExecAssignExprContext(), ExecAssignProjectionInfo(), ExecBuildHash32Expr(), ExecGetResultSlotOps(), ExecGetResultType(), ExecHashJoin(), ExecInitExtraTupleSlot(), ExecInitNode(), ExecInitNullTupleSlot(), ExecInitQual(), ExecInitResultTupleSlotTL(), fb(), fmgr_info(), foreach_current_index, get_op_hash_functions(), hash(), HashJoin::hashclauses, HashJoin::hashcollations, HashJoin::hashkeys, HashJoin::hashoperators, HJ_BUILD_HASHTABLE, HJ_FILL_INNER, HJ_FILL_OUTER, i, Join::inner_unique, innerPlan, innerPlanState, INVALID_SKEW_BUCKET_NO, HashJoin::join, JOIN_ANTI, JOIN_FULL, JOIN_INNER, JOIN_LEFT, JOIN_RIGHT, JOIN_RIGHT_ANTI, JOIN_RIGHT_SEMI, JOIN_SEMI, Join::joinqual, Join::jointype, lfirst_oid, linitial_oid, list_length(), makeNode, OidIsValid, op_strict(), outerPlan, outerPlanState, palloc0_object, palloc_array, pfree(), Hash::plan, and TTSOpsVirtual.
Referenced by ExecInitNode().
|
extern |
Definition at line 1651 of file nodeHashjoin.c.
References Assert, castNode, ExecHashAccumInstrumentation(), ExecHashTableDestroy(), ExecHashTableResetMatchFlags(), ExecReScan(), fb(), HJ_BUILD_HASHTABLE, HashJoinState::hj_CurBucketNo, HashJoinState::hj_CurHashValue, HashJoinState::hj_CurSkewBucketNo, HashJoinState::hj_CurTuple, HJ_FILL_INNER, HashJoinState::hj_FirstOuterTupleSlot, HashJoinState::hj_HashTable, HashJoinState::hj_JoinState, HashJoinState::hj_MatchedOuter, HJ_NEED_NEW_OUTER, HashJoinState::hj_NullOuterTupleStore, HashJoinState::hj_OuterNotEmpty, innerPlan, innerPlanState, INVALID_SKEW_BUCKET_NO, JOIN_RIGHT_SEMI, JoinState::jointype, HashJoinState::js, HashJoinTableData::nbatch, outerPlan, outerPlanState, palloc0_object, tuplestore_end(), and tuplestore_rescan().
Referenced by ExecReScan().
|
extern |
Definition at line 1767 of file nodeHashjoin.c.
References ExecHashTableDetach(), ExecHashTableDetachBatch(), and HashJoinState::hj_HashTable.
Referenced by ExecShutdownNode_walker().