You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Timo Walther (JIRA)" <ji...@apache.org> on 2017/01/10 11:32:58 UTC
[jira] [Resolved] (FLINK-5084) Replace Java Table API integration
tests by unit tests
[ https://issues.apache.org/jira/browse/FLINK-5084?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Timo Walther resolved FLINK-5084.
---------------------------------
Resolution: Fixed
Fix Version/s: 1.3.0
Fixed in 1.3: 649cf054e692ea7ffba3125377300fa0496908e7
> Replace Java Table API integration tests by unit tests
> ------------------------------------------------------
>
> Key: FLINK-5084
> URL: https://issues.apache.org/jira/browse/FLINK-5084
> Project: Flink
> Issue Type: Task
> Components: Table API & SQL
> Reporter: Fabian Hueske
> Priority: Minor
> Fix For: 1.3.0
>
>
> The Java Table API is a wrapper on top of the Scala Table API.
> Instead of operating directly with Expressions like the Scala API, the Java API accepts a String parameter which is parsed into Expressions.
> We could therefore replace the Java Table API ITCases by tests that check that the parsing step produces a valid logical plan.
> This could be done by creating two {{Table}} objects for an identical query once with the Scala Expression API and one with the Java String API and comparing the logical plans of both {{Table}} objects. Basically something like the following:
> {code}
> val ds1 = CollectionDataSets.getSmall3TupleDataSet(env).toTable(tEnv, 'a, 'b, 'c)
> val ds2 = CollectionDataSets.get5TupleDataSet(env).toTable(tEnv, 'd, 'e, 'f, 'g, 'h)
> val joinT1 = ds1.join(ds2).where('b === 'e).select('c, 'g)
> val joinT2 = ds1.join(ds2).where("b = e").select("c, g")
> val lPlan1 = joinT1.logicalPlan
> val lPlan2 = joinT2.logicalPlan
> Assert.assertEquals("Logical Plans do not match", lPlan1, lPlan2)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)