Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
Improve RelNode validation by:
- adding a context to the RelNode.isValid method;
- enabling the Join.isValid method (it was previously renamed to isValid_, thus disabled).
The context to isValid will allow the validator to deduce what correlation variables are available (namely, those set by a RelNode between this one and the root). The context is optional; if null, the isValid method does the best it can.
RexInputRef s in the condition of a null-generating side of an outer join currently may be nullable when they should not be; the row type in the namespace is currently made nullable when actually only particular uses of the namespace should be nullable. We introduce class ScopeChild to hold the ordinal, row type and nullability of a use of a namespace.