Update getLogicalPlan()
Project: http://git-wip-us.apache.org/repos/asf/incubator-gearpump/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-gearpump/commit/30a9ac5a Tree: http://git-wip-us.apache.org/repos/asf/incubator-gearpump/tree/30a9ac5a Diff: http://git-wip-us.apache.org/repos/asf/incubator-gearpump/diff/30a9ac5a Branch: refs/heads/sql Commit: 30a9ac5ace14f5ff774c81ac0a20cdcee85ddba5 Parents: c0c38e3 Author: Buddhi Ayesha <[email protected]> Authored: Thu Jun 8 18:36:24 2017 +0530 Committer: manuzhang <[email protected]> Committed: Sun Jul 9 07:52:47 2017 +0800 ---------------------------------------------------------------------- .../org/apache/gearpump/experiments/sql/Query.scala | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/30a9ac5a/experiments/sql/src/main/scala/org/apache/gearpump/experiments/sql/Query.scala ---------------------------------------------------------------------- diff --git a/experiments/sql/src/main/scala/org/apache/gearpump/experiments/sql/Query.scala b/experiments/sql/src/main/scala/org/apache/gearpump/experiments/sql/Query.scala index e39ed3f..3ea0cec 100644 --- a/experiments/sql/src/main/scala/org/apache/gearpump/experiments/sql/Query.scala +++ b/experiments/sql/src/main/scala/org/apache/gearpump/experiments/sql/Query.scala @@ -22,14 +22,14 @@ import java.util import org.apache.calcite.config.Lex import org.apache.calcite.plan.{Contexts, ConventionTraitDef, RelTrait, RelTraitDef} -import org.apache.calcite.rel.RelCollationTraitDef import org.apache.calcite.rel.`type`.RelDataTypeSystem +import org.apache.calcite.rel.{RelCollationTraitDef, RelNode} import org.apache.calcite.sql.parser.SqlParser -import org.apache.calcite.tools.{Frameworks, RuleSets} +import org.apache.calcite.tools._ -class Query { +object Query { - def executeQuery(query: String): Unit = { + def getLogicalPlan(query: String): RelNode = { val traitDefs: util.List[RelTraitDef[_ <: RelTrait]] = new util.ArrayList[RelTraitDef[_ <: RelTrait]] @@ -44,11 +44,12 @@ class Query { .costFactory(null) .typeSystem(RelDataTypeSystem.DEFAULT) .build(); - val planner = Frameworks.getPlanner(config) - val sqlNode = planner.parse(query) - planner.validate(sqlNode) + val queryPlanner = Frameworks.getPlanner(config) + val sqlNode = queryPlanner.parse(query) + val validatedSqlNode = queryPlanner.validate(sqlNode) + queryPlanner.rel(validatedSqlNode).project() } }
