pengfei.zhan created CALCITE-5838: ------------------------------------- Summary: derive wrong decimal divide type Key: CALCITE-5838 URL: https://issues.apache.org/jira/browse/CALCITE-5838 Project: Calcite Issue Type: Bug Components: core Affects Versions: 1.34.0 Reporter: pengfei.zhan
Given a table metadata structure as follows: {code:sql} create table `tbl_test`(`CRR` decimal(38,2), `DT` varchar(4096)) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'; {code} If the following query is executed, {code:sql} select sum(CRR_0/1000000000.02) from (select sum(CRR) as CRR_0 from tbl_test where DT='20230705') T1 {code} The RexCall CRR_0/1000000000.02 derived a decimal type of decimal(38, 0). I referred the derived type in spark, but it gives decimal(38, 4). It looks like the inferred type is more reasonable. [hive doc | https://cwiki.apache.org/confluence/download/attachments/27362075/Hive_Decimal_Precision_Scale_Support.pdf] [sql server doc | https://msdn.microsoft.com/en-us/library/ms190476.aspx] -- This message was sent by Atlassian Jira (v8.20.10#820010)