You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Bowen Li (Jira)" <ji...@apache.org> on 2019/09/11 18:36:00 UTC

[jira] [Closed] (FLINK-13653) ResultStore should avoid using RowTypeInfo when creating a result

     [ https://issues.apache.org/jira/browse/FLINK-13653?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bowen Li closed FLINK-13653.
----------------------------
    Fix Version/s: 1.10.0
       Resolution: Fixed

master: 25534adc2311c0198b0e115d12183e6ea90b4449  1.9: f11cdd3bed438d46583368284afce74bc4ecd703

> ResultStore should avoid using RowTypeInfo when creating a result
> -----------------------------------------------------------------
>
>                 Key: FLINK-13653
>                 URL: https://issues.apache.org/jira/browse/FLINK-13653
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / Client
>            Reporter: Rui Li
>            Assignee: Rui Li
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.10.0, 1.9.1
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Creating a RowTypeInfo from a TableSchema can lose type parameters. As a result, querying a Hive table with decimal column from SQL CLI will hit the following exception:
> {noformat}
> Caused by: org.apache.flink.table.api.ValidationException: Field types of query result and registered TableSink [default_catalog, default_database, default: select * from foo] do not match.
> Query result schema: [x: BigDecimal]
> TableSink schema:    [x: BigDecimal]
>         at org.apache.flink.table.planner.sinks.TableSinkUtils$.validateSink(TableSinkUtils.scala:69)
>         at org.apache.flink.table.planner.delegation.PlannerBase$$anonfun$2.apply(PlannerBase.scala:179)
>         at org.apache.flink.table.planner.delegation.PlannerBase$$anonfun$2.apply(PlannerBase.scala:178)
>         at scala.Option.map(Option.scala:146)
>         at org.apache.flink.table.planner.delegation.PlannerBase.translateToRel(PlannerBase.scala:178)
>         at org.apache.flink.table.planner.delegation.PlannerBase$$anonfun$1.apply(PlannerBase.scala:146)
>         at org.apache.flink.table.planner.delegation.PlannerBase$$anonfun$1.apply(PlannerBase.scala:146)
>         at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
>         at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
>         at scala.collection.Iterator$class.foreach(Iterator.scala:891)
>         at scala.collection.AbstractIterator.foreach(Iterator.scala:1334)
>         at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
>         at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
>         at scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
>         at scala.collection.AbstractTraversable.map(Traversable.scala:104)
>         at org.apache.flink.table.planner.delegation.PlannerBase.translate(PlannerBase.scala:146)
>         at org.apache.flink.table.api.internal.TableEnvironmentImpl.translate(TableEnvironmentImpl.java:439)
>         at org.apache.flink.table.api.internal.TableEnvironmentImpl.insertInto(TableEnvironmentImpl.java:327)
>         at org.apache.flink.table.api.internal.TableImpl.insertInto(TableImpl.java:428)
>         at org.apache.flink.table.client.gateway.local.LocalExecutor.lambda$executeQueryInternal$10(LocalExecutor.java:477)
>         at org.apache.flink.table.client.gateway.local.ExecutionContext.wrapClassLoader(ExecutionContext.java:216)
>         at org.apache.flink.table.client.gateway.local.LocalExecutor.executeQueryInternal(LocalExecutor.java:475)
>         ... 8 more
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.2#803003)