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

Julian Hyde updated CALCITE-1488:
---------------------------------
    Description: 
ValuesReduceRule doesn't propagate rowType on Project of empty Values. If 
ValuesReduceRule is trying to reduce a Project on top of an empty Values, then 
changeCount ends up 0, and it returns the underlying Values. This leads to an 
assertion failure because the returned Values does not have the expected 
rowType.

One way to fix this is changing the "Filter had no effect" logic from 
"{{changeCount == 0}}" to "{{changeCount == 0 && projectExprs == null}}".

  was:
If ValuesReduceRule is trying to reduce a Project on top of an empty Values, 
then changeCount ends up 0, and it returns the underlying Values. This leads to 
an assertion failure because the returned Values does not have the expected 
rowType.

One way to fix this is changing the "Filter had no effect" logic from 
"changeCount == 0" to "changeCount == 0 && projectExprs == null".


> ValuesReduceRule should ignore empty Values
> -------------------------------------------
>
>                 Key: CALCITE-1488
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1488
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.10.0
>            Reporter: Gian Merlino
>            Assignee: Julian Hyde
>
> ValuesReduceRule doesn't propagate rowType on Project of empty Values. If 
> ValuesReduceRule is trying to reduce a Project on top of an empty Values, 
> then changeCount ends up 0, and it returns the underlying Values. This leads 
> to an assertion failure because the returned Values does not have the 
> expected rowType.
> One way to fix this is changing the "Filter had no effect" logic from 
> "{{changeCount == 0}}" to "{{changeCount == 0 && projectExprs == null}}".



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

Reply via email to