From 5175320448ffb3856b4396e5b06902fd930b4828 Mon Sep 17 00:00:00 2001 From: hahayuan Date: Wed, 3 Jan 2018 12:20:43 +0800 Subject: [PATCH 1/1] KYLIN-3135 --- query/src/main/java/org/apache/kylin/query/util/QueryUtil.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) 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 24d0c06b4..22658f117 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,8 +142,7 @@ 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]*", "/\\*[^\\*/]*" }; - final int[] endOffset = new int[] { 0, 2 }; + final String[] commentPatterns = new String[] { "--[^\r\n]*", "/\\*[\\s\\S]*?\\*/" }; for (int i = 0; i < commentPatterns.length; i++) { String commentPattern = commentPatterns[i]; @@ -152,9 +151,9 @@ public class QueryUtil { while (matcher.find()) { if (matcher.start() == 0) { - sql1 = sql1.substring(matcher.end() + endOffset[i]).trim(); - } else if ((matcher.start() > 0 && sql1.charAt(matcher.start() - 1) != '\'')) { - sql1 = (sql1.substring(0, matcher.start()) + sql1.substring(matcher.end() + endOffset[i])).trim(); + sql1 = sql1.substring(matcher.end()).trim(); + } else { + sql1 = (sql1.substring(0, matcher.start()) + sql1.substring(matcher.end())).trim(); } matcher = pattern.matcher(sql1); } -- 2.11.0.windows.1