[ https://issues.apache.org/jira/browse/DRILL-6710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16596142#comment-16596142 ]
Volodymyr Vysotskyi commented on DRILL-6710: -------------------------------------------- [~rhou], this is not a bug that Drill increases precision after every add operation. Calculation of scale and precision of the result is done at the planning stage without the information about the actual scale and precision of the value. Such behavior is correct since it also handles the worst case and it will work for the cases when the precision of the value varies from one batch to another. > Drill C++ Client does not handle scale = 0 properly for decimal > --------------------------------------------------------------- > > Key: DRILL-6710 > URL: https://issues.apache.org/jira/browse/DRILL-6710 > Project: Apache Drill > Issue Type: Bug > Components: Execution - Relational Operators > Affects Versions: 1.14.0 > Reporter: Robert Hou > Assignee: Sorabh Hamirwasia > Priority: Major > Fix For: 1.15.0 > > > Query is: > select cast('999999999999999999' as decimal(18,0)) + > cast('9999999999999999999999999999999999999' as decimal(38,0)) from data > limit 1 > This is the error I get when my test program calls SQLExecDirect: > The driver reported the following diagnostics whilst running SQLExecDirect > HY000:1:40140:[MapR][Support] (40140) Scale can't be less than zero. -- This message was sent by Atlassian JIRA (v7.6.3#76005)