[ https://issues.apache.org/jira/browse/FLINK-14036?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Leonard Xu closed FLINK-14036. ------------------------------ Resolution: Won't Fix > function log(f0,f1) in Table API do not support decimal type > --------------------------------------------------------------- > > Key: FLINK-14036 > URL: https://issues.apache.org/jira/browse/FLINK-14036 > Project: Flink > Issue Type: Bug > Components: Table SQL / API, Table SQL / Planner > Affects Versions: 1.9.0 > Reporter: Leonard Xu > Priority: Major > > function log(f0,f1) in Table API module do not support decimal type, but it > works in Table SQL module. The following code will run fail: > > {code:java} > testTableApi( > 'f0.log(f1), > "log(f0,f1)", > "2.0") > override def testData: Row = { > val testData = new Row(2) > testData.setField(0, BigDecimal("3").bigDecimal) > testData.setField(1, 9) > testData > } > > override def typeInfo: RowTypeInfo = { > new RowTypeInfo( > /* 0 */ fromLogicalTypeToTypeInfo(DECIMAL(1, 0)), > /* 1 */ Types.INT > ) > }{code} > > The real cause is that the return type of *log()* function must be Double > type,planner will cast all oprands' type to Double Type before function > execution, however *org.apache.flink.table.planner.typeutils.TypeCoercion* > can not yet cast Decimal type to Double type。 -- This message was sent by Atlassian Jira (v8.3.4#803005)