You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Fabian Hueske (JIRA)" <ji...@apache.org> on 2016/11/16 23:07:59 UTC
[jira] [Created] (FLINK-5084) Replace Java Table API integration
tests by unit tests
Fabian Hueske created FLINK-5084:
------------------------------------
Summary: 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
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)