[
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)