Frankie Bollaert created CALCITE-1051:
-----------------------------------------

             Summary: 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


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)

Reply via email to