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

Piotr Bojko updated CALCITE-2233:
---------------------------------
    Description: 
Consider following queries
SELECT * FROM A WHERE A.ID IN (SELECT B.ID FROM B)
SELECT A.* FROM A JOIN B ON A.ID = B.ID

When A.ID is NUMERIC(18,0) and B.ID is BIGINT - first query produces empty 
results while the  latter produces proper results.

Following works as desired:
SELECT * FROM A WHERE CAST(A.ID AS BIGINT) IN (SELECT B.ID FROM B)

  was:
Consider following queries
SELECT * FROM A WHERE A.ID IN (SELECT B.ID FROM B)
SELECT A.* FROM A JOIN B ON A.ID = B.ID

When A.ID is NUMERIC(18,0) and B.ID is BIGINT - first query produces empty 
results while the  latter produces proper results.


> IN clause does not follow type semantics like JOIN
> --------------------------------------------------
>
>                 Key: CALCITE-2233
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2233
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.16.0, 1.17.0
>            Reporter: Piotr Bojko
>            Assignee: Julian Hyde
>            Priority: Major
>
> Consider following queries
> SELECT * FROM A WHERE A.ID IN (SELECT B.ID FROM B)
> SELECT A.* FROM A JOIN B ON A.ID = B.ID
> When A.ID is NUMERIC(18,0) and B.ID is BIGINT - first query produces empty 
> results while the  latter produces proper results.
> Following works as desired:
> SELECT * FROM A WHERE CAST(A.ID AS BIGINT) IN (SELECT B.ID FROM B)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to