You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gearpump.apache.org by ma...@apache.org on 2017/07/09 00:18:23 UTC
[10/20] incubator-gearpump git commit: Update getLogicalPlan()
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 <bu...@cse.mrt.ac.lk>
Authored: Thu Jun 8 18:36:24 2017 +0530
Committer: manuzhang <ow...@gmail.com>
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()
}
}