Discussion:
Question about MultiExecHash function
(too old to reply)
bshang
2011-02-20 19:05:23 UTC
Permalink
Hi,
I was reading the code in nodeHash.c, and I have a question about
ExecHash/MultiExecHash. In Hybrid Hash join, I understand that
MultiExecHash function builds hash table for inner relation. My question
is in MultiExecHash, we have:
PlanState *outerNode;
and:
outerNode = outerPlanState(node);
Does the "outer" here refer to the outer/left relation?

Thanks
Bowen
pchairun
2011-02-20 22:11:14 UTC
Permalink
I think there's only one child below the Hash node, there's no left/right...
So I presume it means the one and only child it has...

Prima
Post by bshang
Hi,
I was reading the code in nodeHash.c, and I have a question about
ExecHash/MultiExecHash. In Hybrid Hash join, I understand that
MultiExecHash function builds hash table for inner relation. My question
PlanState *outerNode;
outerNode = outerPlanState(node);
Does the "outer" here refer to the outer/left relation?
Thanks
Bowen
Anup Kumar Chalamalla
2011-02-21 22:41:57 UTC
Permalink
Yes, it's the child sub-tree of this node, which is the inner relation
of the hash join.

Anup
Post by pchairun
I think there's only one child below the Hash node, there's no
left/right...
So I presume it means the one and only child it has...
Prima
Post by bshang
Hi,
I was reading the code in nodeHash.c, and I have a question about
ExecHash/MultiExecHash. In Hybrid Hash join, I understand that
MultiExecHash function builds hash table for inner relation. My question
PlanState *outerNode;
outerNode = outerPlanState(node);
Does the "outer" here refer to the outer/left relation?
Thanks
Bowen
Loading...