You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Xurenhe (Jira)" <ji...@apache.org> on 2021/09/25 13:22:00 UTC

[jira] [Comment Edited] (CALCITE-4597) Allow RelNodes to have an empty row type (zero fields)

    [ https://issues.apache.org/jira/browse/CALCITE-4597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17406689#comment-17406689 ] 

Xurenhe edited comment on CALCITE-4597 at 9/25/21, 1:21 PM:
------------------------------------------------------------

Hi [~julianhyde]
 How is this issue going?
Could you assign this issue to me, If it hasn't started yet.

I'm working the associated issue([CALCITE-4743|https://issues.apache.org/jira/browse/CALCITE-4743])


was (Author: wojustme):
Hi [~julianhyde]
How is this issue going?
Can I follow this issue, if no one follows.

> Allow RelNodes to have an empty row type (zero fields)
> ------------------------------------------------------
>
>                 Key: CALCITE-4597
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4597
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: Julian Hyde
>            Priority: Major
>
> Add an option, {{EmptyRowTypePolicy}}, to allow creation of {{RelNode}}s whose row type is empty. That is, contains zero fields.
> There are three values:
>  * {{FORBIDDEN}} - Calcite prevents empty row type. (For example, planner and {{RelBuilder}} throw if they see one.) Rules must not produce empty row types. Rules can assume that they will not encounter empty row types.
>  * {{DISCOURAGED}} - Empty row types are discouraged. (Planner and {{RelBuilder}} will not throw if they see one.) Rules must not fail if they encounter an empty row type. Rules should not produce empty row types (with reasonable exceptions, such as if the input has an empty row type).
>  * {{ALLOWED}} - Empty row types are OK. All rules should handle {{RelNode}}s with empty row types, and it's OK if they generate {{RelNode}}s with empty row types.
> The current policy is effectively {{DISCOURAGED}}. We try not to create empty RelNodes, but we don't check, and they crop up occasionally.
> After this change, and for a few releases, the policy will be {{DISCOURAGED}} by default, but we will run tests in all three modes. All rules must run in all modes.
> At some point in the future, we will change the default policy to {{ALLOWED}}. All rules must continue to run in all modes.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)