[
https://issues.apache.org/jira/browse/CALCITE-4413?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17245471#comment-17245471
]
Julian Hyde commented on CALCITE-4413:
--------------------------------------
I agree we should not push down {{RAND()}}. The question is how to prevent it.
Before we fix this, someone needs to study the work that has already been done.
Please review CALCITE-2823, CALCITE-3760, CALCITE-2142, CALCITE-2638,
CALCITE-3531, CALCITE-4256 and come up with a recommendation. If possible,
close some of those bugs as duplicates.
I know that's a lot of bugs to review, and I'm sorry. This stuff is
complicated. I don't have time to understand the nuances, but someone needs to.
> Duplicate RAND() after pushdown when optimizing
> -----------------------------------------------
>
> Key: CALCITE-4413
> URL: https://issues.apache.org/jira/browse/CALCITE-4413
> Project: Calcite
> Issue Type: Bug
> Components: core
> Reporter: Jiatao Tao
> Assignee: Jiatao Tao
> Priority: Major
>
> In CsvTest:
> SQL:
> {code:java}
> select *
> from
> (
> select empno, rand(1) as ran
> from EMPS
> where gender <> 'M'
> ) t
> where ran > 0.6
> {code}
>
> PLAN:
> {code:java}
> EnumerableProject(EMPNO=[$0], RAN=[RAND(1)])
> EnumerableInterpreter
> BindableTableScan(table=[[SALES, EMPS]], filters=[[AND(<>($3, 'M'),
> >(RAND(1), 0.6:DECIMAL(2, 1)))]])
> {code}
> We can see there are two "RAND(1)" and it changes the semantics.
>
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)