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

Function ExecHashJoin

src/backend/executor/nodeHashjoin.c:735–759  ·  view source on GitHub ↗

---------------------------------------------------------------- * ExecHashJoin * * Parallel-oblivious version. * ---------------------------------------------------------------- */

Source from the content-addressed store, hash-verified

733 * ----------------------------------------------------------------
734 */
735static TupleTableSlot * /* return: a tuple or NULL */
736ExecHashJoin(PlanState *pstate)
737{
738 TupleTableSlot *result;
739
740 /*
741 * On sufficiently smart compilers this should be inlined with the
742 * parallel-aware branches removed.
743 */
744 result = ExecHashJoinImpl(pstate, false);
745
746 if (TupIsNull(result) && !((HashJoinState *) pstate)->reuse_hashtable
747 && !((HashJoinState *) pstate)->delayEagerFree)
748 {
749 /*
750 * CDB: We'll read no more from inner subtree. To keep our
751 * sibling QEs from being starved, tell source QEs not to
752 * clog up the pipeline with our never-to-be-consumed
753 * data.
754 */
755 ExecSquelchNode(pstate, false);
756 }
757
758 return result;
759}
760
761/* ----------------------------------------------------------------
762 * ExecParallelHashJoin

Callers

nothing calls this directly

Calls 2

ExecHashJoinImplFunction · 0.85
ExecSquelchNodeFunction · 0.85

Tested by

no test coverage detected