It's a bug. Please log it.
I got the following plan, which looks correct.
> explain plan for select * from (select nullif(5,5)), (select nullif(5,5));
EnumerableHashJoin(condition=[true], joinType=[inner])
EnumerableCalc(expr#0=[{inputs}], expr#1=[null:INTEGER], EXPR$0=[$t1])
EnumerableValues(tuples=[[{ 0 }]])
EnumerableCalc(expr#0=[{inputs}], expr#1=[null:INTEGER], EXPR$0=[$t1])
EnumerableValues(tuples=[[{ 0 }]])
I suspect that EnumerableHashJoin is doing something wrong during execution.
On Thu, Jun 13, 2019 at 10:33 PM Muhammad Gelbana <[email protected]> wrote:
>
> I run the following query against MySQL, PostgreSQL and Calcite and found
> that Calcite returns 0 rows, while the other DBMSs return a single row of
> two NULLs
>
> SELECT * FROM (SELECT NULLIF(5, 5)) a, (SELECT NULLIF(5, 5)) b
>
> Is this possibly a bug ? Is there a configuration or something to tweak to
> return the same output MySQL and PostgreSQL without modifying the query ?
>
> Thanks,
> Gelbana