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

Julian Hyde commented on CALCITE-4607:
--------------------------------------

This probably affects functions that perform {{IS NULL}} internally, such as 
{{COALESCE}}. Be sure to test those.

We use {{COALESCE}} when translating {{JOIN}} ... {{USING}}. Check that that 
still works; see 
[SqlToRelConverterTest.testJoinUsingWithUnqualifiedNestedCommonColumns|https://github.com/apache/calcite/blob/796675c9b33e0461bc45a72780162d474a4b098b/core/src/test/java/org/apache/calcite/test/SqlToRelConverterTest.java#L298].
 (Maybe we should no longer use {{COALESCE}} for this case; I don't know.)

> F481 support
> ------------
>
>                 Key: CALCITE-4607
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4607
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.26.0
>            Reporter: Alexander Vasiljev
>            Priority: Major
>
> There is "Expanded NULL predicate" (F481) in SQL 2003 (ISO/IEC 9075-2:2003) 
> feature taxonomy. Currently the feature is not implemented in Apache Calcite 
> as failing test shows.
> See PR#2414 ([https://github.com/apache/calcite/pull/2414]).
> e.g. query
> {code:sql}
> select a, b, c
> from (
>          select 11 as a, 12 as b, 13 as c
>          union
>          select 21 as a2, null as b2, null as c2 
>          union
>          select null as a3, 32 as b3, null as c3 
>          union
>          select null as a4, null as b4, 43 as c4
>      ) as t
> WHERE ROW(a, b) IS NOT NULL
> {code}
>  shoud return
> {noformat}
>  a  | b  | c  
> ----+----+----
>  11 | 12 | 13
> {noformat}
> while query
> {code:sql}
> select a, b, c
> from (
>          select 11 as a, 12 as b, 13 as c
>          union
>          select 21 as a2, null as b2, null as c2 
>          union
>          select null as a3, 32 as b3, null as c3 
>          union
>          select null as a4, null as b4, 43 as c4
>      ) as t
> WHERE ROW(a, b) IS NULL
> {code}
> shoud return
> {noformat}
>  a | b | c  
> ---+---+----
>    |   | 43
> {noformat}
> N.B.: {{ROW}} keyword is not a part of strict SQL 2003 and added for clarity.



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

Reply via email to