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()
   }
 
 }