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/02/04 00:51:07 UTC
[04/50] [abbrv] kylin git commit: minor, refine sql comment removing
minor, refine sql comment removing
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/7d5fb855
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/7d5fb855
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/7d5fb855
Branch: refs/heads/sync
Commit: 7d5fb855064e2b81cd3b154cdeeafec4e64f63c9
Parents: 60caf61
Author: Roger Shi <ro...@hotmail.com>
Authored: Tue Jan 16 15:17:46 2018 +0800
Committer: Li Yang <li...@apache.org>
Committed: Fri Jan 26 22:54:58 2018 +0800
----------------------------------------------------------------------
.../org/apache/kylin/query/util/QueryUtil.java | 17 ++++-------------
.../org/apache/kylin/query/util/QueryUtilTest.java | 16 +++++++++++++++-
2 files changed, 19 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/7d5fb855/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 22658f1..da18bd7 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
@@ -142,23 +142,14 @@ public class QueryUtil {
public static String removeCommentInSql(String sql1) {
// match two patterns, one is "-- comment", the other is "/* comment */"
- final String[] commentPatterns = new String[] { "--[^\r\n]*", "/\\*[\\s\\S]*?\\*/" };
+ final String[] commentPatterns = new String[] { "--.*?[\r\n]", "/\\*.*?\\*/" };
for (int i = 0; i < commentPatterns.length; i++) {
- String commentPattern = commentPatterns[i];
- Pattern pattern = Pattern.compile(commentPattern);
- Matcher matcher = pattern.matcher(sql1);
-
- while (matcher.find()) {
- if (matcher.start() == 0) {
- sql1 = sql1.substring(matcher.end()).trim();
- } else {
- sql1 = (sql1.substring(0, matcher.start()) + sql1.substring(matcher.end())).trim();
- }
- matcher = pattern.matcher(sql1);
- }
+ sql1 = sql1.replaceAll(commentPatterns[i], "");
}
+ sql1 = sql1.trim();
+
return sql1;
}
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/7d5fb855/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 e7a7ecb..e3cd819 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
@@ -149,9 +149,23 @@ public class QueryUtilTest extends LocalFileMetadataTestCase {
}
{
- String sqlWithComment = "/* comment \n select count(*) from kylin_sales; \n */ " + originSql;
+ String sqlWithComment = "/* comment1/comment2 */ " + originSql;
Assert.assertEquals(originSql, QueryUtil.removeCommentInSql(sqlWithComment));
}
+ {
+ String sqlWithComment = "/* comment1 * comment2 */ " + originSql;
+ Assert.assertEquals(originSql, QueryUtil.removeCommentInSql(sqlWithComment));
+ }
+
+ {
+ String sqlWithComment = "/* comment1 * comment2 */ /* comment3 / comment4 */ -- comment 5\n" + originSql;
+ Assert.assertEquals(originSql, QueryUtil.removeCommentInSql(sqlWithComment));
+ }
+
+ {
+ String sqlWithComment = "/* comment1 * comment2 */ -- comment 5\n" + originSql + "/* comment3 / comment4 */";
+ Assert.assertEquals(originSql, QueryUtil.removeCommentInSql(sqlWithComment));
+ }
}
}