You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (JIRA)" <ji...@apache.org> on 2016/12/27 07:52:58 UTC

[jira] [Updated] (CALCITE-1555) Improve RelNode validation

     [ https://issues.apache.org/jira/browse/CALCITE-1555?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Julian Hyde updated CALCITE-1555:
---------------------------------
    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.

  was:
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.


> Improve RelNode validation
> --------------------------
>
>                 Key: CALCITE-1555
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1555
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: Julian Hyde
>            Assignee: Julian Hyde
>
> 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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)