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:19 UTC
[06/20] incubator-gearpump git commit: Add unit testing for getting a
logical plan.
Add unit testing for getting a logical plan.
Project: http://git-wip-us.apache.org/repos/asf/incubator-gearpump/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-gearpump/commit/1f30ec34
Tree: http://git-wip-us.apache.org/repos/asf/incubator-gearpump/tree/1f30ec34
Diff: http://git-wip-us.apache.org/repos/asf/incubator-gearpump/diff/1f30ec34
Branch: refs/heads/sql
Commit: 1f30ec34a2ef85b37db44868847d473854148714
Parents: 0219d0b
Author: Buddhi Ayesha <bu...@cse.mrt.ac.lk>
Authored: Fri Jun 2 09:29:53 2017 +0530
Committer: manuzhang <ow...@gmail.com>
Committed: Sun Jul 9 07:50:24 2017 +0800
----------------------------------------------------------------------
.../org/apache/calcite/planner/QueryTest.java | 64 ++++++++++++++++++++
1 file changed, 64 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/1f30ec34/experiments/sql/src/test/java/org/apache/calcite/planner/QueryTest.java
----------------------------------------------------------------------
diff --git a/experiments/sql/src/test/java/org/apache/calcite/planner/QueryTest.java b/experiments/sql/src/test/java/org/apache/calcite/planner/QueryTest.java
new file mode 100644
index 0000000..1cc7102
--- /dev/null
+++ b/experiments/sql/src/test/java/org/apache/calcite/planner/QueryTest.java
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.calcite.planner;
+
+import com.google.common.io.Resources;
+import org.apache.calcite.jdbc.CalciteConnection;
+import org.apache.calcite.model.ModelHandler;
+import org.apache.calcite.plan.RelOptUtil;
+import org.apache.calcite.rel.RelNode;
+import org.apache.calcite.tools.RelConversionException;
+import org.apache.calcite.tools.ValidationException;
+import org.apache.log4j.Logger;
+import org.junit.Test;
+
+import java.io.IOException;
+import java.nio.charset.Charset;
+import java.sql.SQLException;
+
+public class QueryTest {
+
+ private final static Logger logger = Logger.getLogger(QueryTest.class);
+
+ @Test
+ public void testLogicalPlan() {
+
+ try {
+ CalciteConnection connection = new Connection();
+ String salesSchema = Resources.toString(Query.class.getResource("/model.json"), Charset.defaultCharset());
+ new ModelHandler(connection, "inline:" + salesSchema);
+
+ Query queryPlanner = new Query(connection.getRootSchema().getSubSchema(connection.getSchema()));
+ RelNode logicalPlan = queryPlanner.getLogicalPlan("SELECT item FROM transactions");
+
+ logger.info("Getting Logical Plan...");
+ System.out.println(RelOptUtil.toString(logicalPlan));
+
+ } catch (IOException e) {
+ e.printStackTrace();
+ } catch (RelConversionException e) {
+ e.printStackTrace();
+ } catch (ValidationException e) {
+ e.printStackTrace();
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+
+ }
+}