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

xiong duan commented on CALCITE-6485:
-------------------------------------

[~julianhyde], this issue occurs when an IN list containing null values has an 
implicit coercion type converter.

Here are some tests:
{code:java}
!use post

select 1 in (null, 2, 3) as f0 from (values (true, true, true));
F0
null
!ok

select 1 in (null, 2, 3) as f0;
F0
null
!ok

select 1 in (null, cast('2' as varchar), cast('3' as varchar)) as f0 from 
(values (true, true, true));
java.lang.AssertionError: Conversion to relational algebra failed to preserve 
datatypes:
validated type:
RecordType(BOOLEAN NOT NULL F0) NOT NULL
converted type:
RecordType(BOOLEAN F0) NOT NULL
rel:
LogicalValues(tuples=[[{ null }]]) {code}

> Query with IN-list contains NULL throws Exception
> -------------------------------------------------
>
>                 Key: CALCITE-6485
>                 URL: https://issues.apache.org/jira/browse/CALCITE-6485
>             Project: Calcite
>          Issue Type: Improvement
>            Reporter: xiong duan
>            Assignee: xiong duan
>            Priority: Major
>
> {code:java}
>   @Test void testInOperation() {
>     sql("select 1 in (null, '2', '3') as f0 from (values (true, true, 
> true))").ok();
>   }
> {code}
> {code:java}
> Conversion to relational algebra failed to preserve datatypes:
> validated type:
> RecordType(BOOLEAN NOT NULL F0) NOT NULL
> converted type:
> RecordType(BOOLEAN F0) NOT NULL
> rel:
> LogicalValues(tuples=[[{ null }]]) {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to