You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by jn...@apache.org on 2015/09/11 07:20:15 UTC

[5/6] drill git commit: DRILL-3755: In DrillSqlWorker, give UserException.validationError if ValidationException is thrown from Calcite

DRILL-3755: In DrillSqlWorker, give UserException.validationError if ValidationException is thrown from Calcite


Project: http://git-wip-us.apache.org/repos/asf/drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/drill/commit/1b333678
Tree: http://git-wip-us.apache.org/repos/asf/drill/tree/1b333678
Diff: http://git-wip-us.apache.org/repos/asf/drill/diff/1b333678

Branch: refs/heads/master
Commit: 1b333678f3a2b32b5d6bad4ddf3b1001e33b42f7
Parents: e29a153
Author: Hsuan-Yi Chu <hs...@usc.edu>
Authored: Mon Sep 7 16:47:18 2015 -0700
Committer: Jinfeng Ni <jn...@apache.org>
Committed: Thu Sep 10 17:46:10 2015 -0700

----------------------------------------------------------------------
 .../drill/exec/planner/sql/DrillSqlWorker.java  | 10 ++++----
 .../apache/drill/exec/TestWindowFunctions.java  | 27 ++++++++++++--------
 2 files changed, 21 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/drill/blob/1b333678/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/DrillSqlWorker.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/DrillSqlWorker.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/DrillSqlWorker.java
index bc79cff..64a2e1c 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/DrillSqlWorker.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/DrillSqlWorker.java
@@ -178,15 +178,15 @@ public class DrillSqlWorker {
       return handler.getPlan(sqlNode);
     } catch(ValidationException e) {
       String errorMessage = e.getCause() != null ? e.getCause().getMessage() : e.getMessage();
-      throw UserException.parseError(e)
-        .message(errorMessage)
-        .build(logger);
+      throw UserException.validationError(e)
+          .message(errorMessage)
+          .build(logger);
     } catch (AccessControlException e) {
       throw UserException.permissionError(e)
-        .build(logger);
+          .build(logger);
     } catch(SqlUnsupportedException e) {
       throw UserException.unsupportedError(e)
-        .build(logger);
+          .build(logger);
     } catch (IOException | RelConversionException e) {
       throw new QueryInputException("Failure handling SQL.", e);
     }

http://git-wip-us.apache.org/repos/asf/drill/blob/1b333678/exec/java-exec/src/test/java/org/apache/drill/exec/TestWindowFunctions.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/TestWindowFunctions.java b/exec/java-exec/src/test/java/org/apache/drill/exec/TestWindowFunctions.java
index 0efd55c..9a3bc7b 100644
--- a/exec/java-exec/src/test/java/org/apache/drill/exec/TestWindowFunctions.java
+++ b/exec/java-exec/src/test/java/org/apache/drill/exec/TestWindowFunctions.java
@@ -21,10 +21,12 @@ import org.apache.drill.BaseTestQuery;
 import org.apache.drill.common.exceptions.UserException;
 import org.apache.drill.common.util.FileUtils;
 import org.apache.drill.common.util.TestTools;
+import org.apache.drill.exec.proto.UserBitShared;
 import org.apache.drill.exec.work.foreman.SqlUnsupportedException;
 import org.apache.drill.exec.work.foreman.UnsupportedFunctionException;
 import org.apache.drill.PlanTestBase;
 
+import org.apache.drill.test.UserExceptionMatcher;
 import org.junit.Test;
 
 public class TestWindowFunctions extends BaseTestQuery {
@@ -211,16 +213,18 @@ public class TestWindowFunctions extends BaseTestQuery {
 
   @Test // DRILL-3344
   public void testWindowGroupBy() throws Exception {
+    thrownException.expect(new UserExceptionMatcher(UserBitShared.DrillPBError.ErrorType.VALIDATION));
     String query = "explain plan for SELECT max(n_nationkey) OVER (), n_name as col2 \n" +
         "from cp.`tpch/nation.parquet` \n" +
         "group by n_name";
 
-    parseErrorHelper(query);
+    test(query);
   }
 
   @Test // DRILL-3346
   public void testWindowGroupByOnView() throws Exception {
     try {
+      thrownException.expect(new UserExceptionMatcher(UserBitShared.DrillPBError.ErrorType.VALIDATION));
       String createView = "create view testWindowGroupByOnView(a, b) as \n" +
           "select n_nationkey, n_name from cp.`tpch/nation.parquet`";
       String query = "explain plan for SELECT max(a) OVER (), b as col2 \n" +
@@ -229,7 +233,7 @@ public class TestWindowFunctions extends BaseTestQuery {
 
       test("use dfs_test.tmp");
       test(createView);
-      parseErrorHelper(query);
+      test(query);
     } finally {
       test("drop view testWindowGroupByOnView");
     }
@@ -402,15 +406,16 @@ public class TestWindowFunctions extends BaseTestQuery {
       PlanTestBase.testPlanMatchingPatterns(query, expectedPlan, excludedPatterns);
 
       testBuilder()
-        .sqlQuery(query)
-        .ordered()
-        .baselineColumns("cnt")
-        .optionSettingQueriesForTestQuery("alter session set `planner.slice_target` = 1")
-        .baselineValues(1l)
-        .baselineValues(4l)
-        .baselineValues(4l)
-        .baselineValues(4l)
-        .build().run();
+          .sqlQuery(query)
+          .ordered()
+          .baselineColumns("cnt")
+          .optionSettingQueriesForTestQuery("alter session set `planner.slice_target` = 1")
+          .baselineValues(1l)
+          .baselineValues(4l)
+          .baselineValues(4l)
+          .baselineValues(4l)
+          .build()
+          .run();
     } finally {
       test("alter session set `planner.slice_target` = " + ExecConstants.SLICE_TARGET_DEFAULT);
     }