MCPcopy Create free account
hub / github.com/apache/cloudberry / ExecParallelHashJoin

Function ExecParallelHashJoin

src/backend/executor/nodeHashjoin.c:767–791  ·  view source on GitHub ↗

---------------------------------------------------------------- * ExecParallelHashJoin * * Parallel-aware version. * ---------------------------------------------------------------- */

Source from the content-addressed store, hash-verified

765 * ----------------------------------------------------------------
766 */
767static TupleTableSlot * /* return: a tuple or NULL */
768ExecParallelHashJoin(PlanState *pstate)
769{
770 TupleTableSlot *result;
771
772 /*
773 * On sufficiently smart compilers this should be inlined with the
774 * parallel-oblivious branches removed.
775 */
776 result = ExecHashJoinImpl(pstate, true);
777
778 if (TupIsNull(result) && !((HashJoinState *) pstate)->reuse_hashtable
779 && !((HashJoinState *) pstate)->delayEagerFree)
780 {
781 /*
782 * CDB: We'll read no more from inner subtree. To keep our
783 * sibling QEs from being starved, tell source QEs not to
784 * clog up the pipeline with our never-to-be-consumed
785 * data.
786 */
787 ExecSquelchNode(pstate, false);
788 }
789
790 return result;
791}
792
793/* ----------------------------------------------------------------
794 * ExecInitHashJoin

Callers

nothing calls this directly

Calls 2

ExecHashJoinImplFunction · 0.85
ExecSquelchNodeFunction · 0.85

Tested by

no test coverage detected