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.