ExecutePlan(execState, planStateNode, ...) {
process "before each statement" triggers
for (;;) {
tuple = ExecProcNode(planStateNode)
if (no more tuples) return END
check tuple validity
if (got a tuple) break
}
process "after each statement" triggers
return tuple
}
...
|