[
https://issues.apache.org/jira/browse/CALCITE-1051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Frankie Bollaert updated CALCITE-1051:
--------------------------------------
Comment: was deleted
(was: This patch can be used to show where the problem occurs in the code.)
> Underflow exception occurs when executing query which has an in-clause with
> more than 19 ids
> --------------------------------------------------------------------------------------------
>
> Key: CALCITE-1051
> URL: https://issues.apache.org/jira/browse/CALCITE-1051
> Project: Calcite
> Issue Type: Bug
> Reporter: Frankie Bollaert
> Assignee: Julian Hyde
> Priority: Minor
> Attachments:
> 0001-fix-underflow-due-to-scaling-in-clause-literals.patch
>
>
> Underflow exception occurs when executing query with more then 19 values in
> the in-clause.
> Example below illustrates the problem in the csv example:
> {code}
> select e.name from emps as e where e.empno in (130, 130, 130, 130, 130, 130,
> 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130 );
> Error: Error while executing SQL "select e.name from emps as e where e.empno
> in (130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
> 130, 130, 130, 130, 130, 130 )": Underflow (state=,code=0)
> {code}
> The SqlToRelConverter will convert this to a SemiJoin. Literals in the IN
> clause value list are scaled. When the type of the literal does not have a
> scale set, as happens with a java.lang.Integer, the default value of the
> type.scale is chosen, which is Integer.MIN_VALUE. Scaling to this value
> causes the underflow.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)