Discussion:
ExecProcNode
(too old to reply)
j***@uwaterloo.ca
2011-02-26 02:33:07 UTC
Permalink
Since "In single tuple retrieval, ExecProcNode is invoked each time a new
tuple is needed.", I assumed we could use ExecProcNode within ExecHash to
retrieve tuples and then hash them into the hashtable (similar to
MultiExecHash).

However, it appears that ExecProcNode simply calls on ExecHash? This would
just give an infinite loop...

Am I mistaken about how this is supposed to work? How are we supposed to
retrieve the tuples from the node?
Anup Kumar Chalamalla
2011-02-27 05:13:51 UTC
Permalink
Hi,
You can use ExecProcNode for retrieving a tuple. I think ExecHash uses
ExecProcNode on the child nodes (which is the inner or outer relation in
this case) and not on the Hash Join Node.

ExecProcNode calls ExecHash only if the argument passed to it is a
HashJoin node (if you look at the switch-case loop in
ExecProcNode(PlanState *Node). In this case it's not, so there is no
infinite loop. Hope this helps...

Anup
Post by j***@uwaterloo.ca
Since "In single tuple retrieval, ExecProcNode is invoked each time a new
tuple is needed.", I assumed we could use ExecProcNode within ExecHash to
retrieve tuples and then hash them into the hashtable (similar to
MultiExecHash).
However, it appears that ExecProcNode simply calls on ExecHash? This would
just give an infinite loop...
Am I mistaken about how this is supposed to work? How are we supposed to
retrieve the tuples from the node?
Loading...