[ https://issues.apache.org/jira/browse/HIVE-3820?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Phabricator updated HIVE-3820: ------------------------------ Attachment: HIVE-3820.D8823.1.patch hagleitn requested code review of "HIVE-3820 [jira] Consider creating a literal like "D" or "BD" for representing Decimal type constants". Reviewers: JIRA HIVE-3820: Decimal literals When the HIVE-2693 gets committed, users are going to see this behavior: hive> select cast(3.14 as decimal) from decimal_3 limit 1; 3.140000000000000124344978758017532527446746826171875 That's intuitively incorrect but is the case because 3.14 (double) is being converted to BigDecimal because of which there is a precision mismatch. We should consider creating a new literal for expressing constants of Decimal type as Gunther suggested in HIVE-2693. TEST PLAN EMPTY REVISION DETAIL https://reviews.facebook.net/D8823 AFFECTED FILES ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g ql/src/java/org/apache/hadoop/hive/ql/parse/IdentifiersParser.g ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java ql/src/test/queries/clientpositive/literal_decimal.q ql/src/test/results/clientpositive/literal_decimal.q.out serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/JavaBigDecimalObjectInspector.java MANAGE HERALD RULES https://reviews.facebook.net/herald/view/differential/ WHY DID I GET THIS EMAIL? https://reviews.facebook.net/herald/transcript/21441/ To: JIRA, hagleitn > Consider creating a literal like "D" or "BD" for representing Decimal type > constants > ------------------------------------------------------------------------------------ > > Key: HIVE-3820 > URL: https://issues.apache.org/jira/browse/HIVE-3820 > Project: Hive > Issue Type: Bug > Reporter: Mark Grover > Attachments: HIVE-3820.1.patch, HIVE-3820.D8823.1.patch > > > When the HIVE-2693 gets committed, users are going to see this behavior: > {code} > hive> select cast(3.14 as decimal) from decimal_3 limit 1; > 3.140000000000000124344978758017532527446746826171875 > {code} > That's intuitively incorrect but is the case because 3.14 (double) is being > converted to BigDecimal because of which there is a precision mismatch. > We should consider creating a new literal for expressing constants of Decimal > type as Gunther suggested in HIVE-2693. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira