Leonard Xu created FLINK-14036: ---------------------------------- Summary: 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 Fix For: 2.0.0
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.2#803003)