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)