You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by bi...@apache.org on 2017/09/18 05:43:59 UTC

[06/29] kylin git commit: minor, allow explain statement

minor, allow explain statement


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/08d64ccc
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/08d64ccc
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/08d64ccc

Branch: refs/heads/security_update
Commit: 08d64ccc52bd51714c6b914fc155948588cdf030
Parents: 2a47f44
Author: shaofengshi <sh...@apache.org>
Authored: Tue Sep 12 13:12:42 2017 +0800
Committer: Dong Li <li...@apache.org>
Committed: Tue Sep 12 13:15:43 2017 +0800

----------------------------------------------------------------------
 query/src/main/java/org/apache/kylin/query/util/QueryUtil.java  | 2 +-
 .../test/java/org/apache/kylin/query/util/QueryUtilTest.java    | 5 +++++
 2 files changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/08d64ccc/query/src/main/java/org/apache/kylin/query/util/QueryUtil.java
----------------------------------------------------------------------
diff --git a/query/src/main/java/org/apache/kylin/query/util/QueryUtil.java b/query/src/main/java/org/apache/kylin/query/util/QueryUtil.java
index 7a1222e..d46d4ff 100644
--- a/query/src/main/java/org/apache/kylin/query/util/QueryUtil.java
+++ b/query/src/main/java/org/apache/kylin/query/util/QueryUtil.java
@@ -201,7 +201,7 @@ public class QueryUtil {
         String sql1 = sql.toLowerCase();
         sql1 = removeCommentInSql(sql1);
         sql1 = sql1.trim();
-        return sql1.startsWith("select") || (sql1.startsWith("with") && sql1.contains("select"));
+        return sql1.startsWith("select") || (sql1.startsWith("with") && sql1.contains("select")) || (sql1.startsWith("explain") && sql1.contains("select"));
     }
 
     public static String removeCommentInSql(String sql1) {

http://git-wip-us.apache.org/repos/asf/kylin/blob/08d64ccc/query/src/test/java/org/apache/kylin/query/util/QueryUtilTest.java
----------------------------------------------------------------------
diff --git a/query/src/test/java/org/apache/kylin/query/util/QueryUtilTest.java b/query/src/test/java/org/apache/kylin/query/util/QueryUtilTest.java
index de044ac..7a0df84 100644
--- a/query/src/test/java/org/apache/kylin/query/util/QueryUtilTest.java
+++ b/query/src/test/java/org/apache/kylin/query/util/QueryUtilTest.java
@@ -81,6 +81,11 @@ public class QueryUtilTest extends LocalFileMetadataTestCase {
             boolean selectStatement = QueryUtil.isSelectStatement(sql);
             Assert.assertEquals(false, selectStatement);
         }
+        {
+            String sql = " explain plan for select count(*) from test_kylin_fact\n";
+            boolean selectStatement = QueryUtil.isSelectStatement(sql);
+            Assert.assertEquals(true, selectStatement);
+        }
     }
 
     @Test