[
https://issues.apache.org/jira/browse/CALCITE-4844?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17426738#comment-17426738
]
duan xiong commented on CALCITE-4844:
-------------------------------------
[~julianhyde] Yes. The the sub-query threshold purpose is to optimize
subqueries by OR、AND condition to replace Join. What do you mean? This issue
is (IN list includes columns):
When the value of sub-query threshold is smaller than IN list size, The Calcite
returns the wrong result.
When the value of sub-query threshold is greater than IN list size, The Calcite
returns the right result.
This is a bug.
I read the relative code. Because the default value of the sub-query
threshold(20) is greater than IN list size(unit test list size all smaller than
20). So have some issues with this(When I try to set the threshold as 0). This
issue is just one of them.
If I mistook something, Please let me know.
> when the value of sub-query threshold smaller than IN list size the In list
> include columns return wrong result.
> ----------------------------------------------------------------------------------------------------------------
>
> Key: CALCITE-4844
> URL: https://issues.apache.org/jira/browse/CALCITE-4844
> Project: Calcite
> Issue Type: Bug
> Components: core
> Affects Versions: 1.27.0
> Reporter: duan xiong
> Assignee: duan xiong
> Priority: Major
> Labels: pull-request-available
> Time Spent: 10m
> Remaining Estimate: 0h
>
> According CALCITE-1155[Support columns for IN list]. We support
> {code:java}
> 'x in (a, b, c)' {code}
> by expands to
> {code:java}
> 'x = a or x = b or x = c'{code}
> In Calcite. Only the list size smaller than the value of the sub-query
> threshold can convert. We should ignore the the value of the sub-query
> threshold to convert this.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)