Hi Community,
Hope you are doing well.
I have a question about the handling of Values Rel.
File: RelDecorrelator.java
public Frame decorrelateRel(Values rel, boolean isCorVarDefined) {
return null;
}
Why do we return null for Values Rel. Can you please let me know.
While looking at the join/union handlers (in the same file), if one of
the input frame is null, handler returns null.
JOIN
Input1 Input2
In the above scenario, let's say input1 is decorrelated successfully
but Input2 has Values Rel, in which case we return null as per the
logic in Join (below).
public Frame decorrelateRel(Join rel, boolean isCorVarDefined) {
.
.
.
final RelNode oldLeft = rel.getInput(0);
final RelNode oldRight = rel.getInput(1);
final Frame leftFrame = getInvoke(oldLeft, isCorVarDefined, rel);
final Frame rightFrame = getInvoke(oldRight, isCorVarDefined, rel);
if (leftFrame == null || rightFrame == null) {
// If any input has not been rewritten, do not rewrite this rel.
return null;
.
.
.
}
Thanks,
Mahendrakar.