You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2018/05/26 10:53:20 UTC

[kylin] 04/08: KYLIN-3354 escape double-quoted defaultCatalog keyword

This is an automated email from the ASF dual-hosted git repository.

liyang pushed a commit to branch sync
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit 52657a94cde85139a2bebac7e5166080e371badb
Author: lidongsjtu <li...@apache.org>
AuthorDate: Sat Apr 28 15:30:25 2018 +0800

    KYLIN-3354 escape double-quoted defaultCatalog keyword
---
 .../org/apache/kylin/query/util/KeywordDefaultDirtyHack.java   |  1 +
 .../apache/kylin/query/util/KeywordDefaultDirtyHackTest.java   | 10 ++++++++++
 2 files changed, 11 insertions(+)

diff --git a/query/src/main/java/org/apache/kylin/query/util/KeywordDefaultDirtyHack.java b/query/src/main/java/org/apache/kylin/query/util/KeywordDefaultDirtyHack.java
index 939f5bc..08b982c 100644
--- a/query/src/main/java/org/apache/kylin/query/util/KeywordDefaultDirtyHack.java
+++ b/query/src/main/java/org/apache/kylin/query/util/KeywordDefaultDirtyHack.java
@@ -30,6 +30,7 @@ public class KeywordDefaultDirtyHack implements QueryUtil.IQueryTransformer {
         // KYLIN-2108, DEFAULT is hive default database, but a sql keyword too, needs quote
         sql = sql.replaceAll("(?i)default\\.", "\"DEFAULT\".");
         sql = sql.replace("defaultCatalog.", "");
+        sql = sql.replace("\"defaultCatalog\".", "");
 
         return sql;
     }
diff --git a/query/src/test/java/org/apache/kylin/query/util/KeywordDefaultDirtyHackTest.java b/query/src/test/java/org/apache/kylin/query/util/KeywordDefaultDirtyHackTest.java
index afd775d..ab4e6db 100644
--- a/query/src/test/java/org/apache/kylin/query/util/KeywordDefaultDirtyHackTest.java
+++ b/query/src/test/java/org/apache/kylin/query/util/KeywordDefaultDirtyHackTest.java
@@ -56,5 +56,15 @@ public class KeywordDefaultDirtyHackTest extends LocalFileMetadataTestCase {
             String s = kwDefaultHack.transform(sql, null, "DEFAULT");
             Assert.assertEquals("select count(*) from \"DEFAULT\".test_kylin_fact", s);
         }
+        {
+            String sql = "select count(*) from defaultCatalog.default.test_kylin_fact";
+            String s = kwDefaultHack.transform(sql, null, "DEFAULT");
+            Assert.assertEquals("select count(*) from \"DEFAULT\".test_kylin_fact", s);
+        }
+        {
+            String sql = "select count(*) from \"defaultCatalog\".default.test_kylin_fact";
+            String s = kwDefaultHack.transform(sql, null, "DEFAULT");
+            Assert.assertEquals("select count(*) from \"DEFAULT\".test_kylin_fact", s);
+        }
     }
 }

-- 
To stop receiving notification emails like this one, please contact
liyang@apache.org.