You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Kurt Young (Jira)" <ji...@apache.org> on 2019/12/04 04:27:00 UTC
[jira] [Updated] (FLINK-14036) function log(f0,f1) in Table API
do not support decimal type
[ https://issues.apache.org/jira/browse/FLINK-14036?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kurt Young updated FLINK-14036:
-------------------------------
Fix Version/s: (was: 1.10.0)
> 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)