[ https://issues.apache.org/jira/browse/IMPALA-7805?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul Rogers resolved IMPALA-7805. --------------------------------- Resolution: Fixed > NumericLiteral toSql() should render zero as 0, not 0-E38, 0.000, etc. > ---------------------------------------------------------------------- > > Key: IMPALA-7805 > URL: https://issues.apache.org/jira/browse/IMPALA-7805 > Project: IMPALA > Issue Type: Improvement > Components: Frontend > Affects Versions: Impala 3.0 > Reporter: Paul Rogers > Assignee: Paul Rogers > Priority: Minor > > Testing of other issues revealed a somewhat bizarre aspect of how the planner > expression nodes render 0. {{NumericLiteral.toSql()}} uses the Java > {{BigDecimal}} class to convert a numeric value to a string for use in > explained plans. > The default Java behavior is to consider scale when rendering numbers, > including 0. Thus, depending on precision and scale, you may get: > {noformat} > 0 > 0.0 > 0.00 > 0.000 > ... > 0E-38 > {noformat} > Mathematically, zero is zero. Unlike Java, SQL attaches no significance to > the decimal point. (In Java, 0 is an integer, 0.0 is a float.) Nor does SQL > attach significance to the number of zeros past the decimal point. And, of > course, we're only talking about the output of {{EXPLAIN}}, which is never > parsed anyway (except in tests.) > To make testing easier, change the behavior to always emit "0" when the value > is zero, regardless of precision or scale. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org For additional commands, e-mail: issues-all-h...@impala.apache.org