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

ASF GitHub Bot updated CALCITE-7914:
------------------------------------
    Labels: pull-request-available  (was: )

> RelDecorrelator produces wrong results for non-deterministic inputs
> -------------------------------------------------------------------
>
>                 Key: CALCITE-7914
>                 URL: https://issues.apache.org/jira/browse/CALCITE-7914
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: zzwqqq
>            Assignee: zzwqqq
>            Priority: Major
>              Labels: pull-request-available
>
> {{RelDecorrelator}} may evaluate the outer input again to build distinct 
> correlation values, then join the subquery results back by those values. With 
> {{{}RAND(){}}}, the two branches can produce different keys, so the subquery 
> result may fail to match the original outer row.
> In the query below, {{RAND()}} is always less than 1, so the subquery should 
> count its single row.
> Example:
> {code:sql}
> select (select count(*) from (values 1) s(x) where t.r < s.x) as p
> from (select rand() as r) t;
> {code}
> Expected:
> {code:java}
> +---+
> | P |
> +---+
> | 1 |
> +---+
> (1 row)
> {code}
> Actual:
> {code:java}
> +---+
> | P |
> +---+
> | 0 |
> +---+
> (1 row)
> {code}



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to