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

yiguolei pushed a commit to branch selectdb-doris-2.0-ikas
in repository https://gitbox.apache.org/repos/asf/doris.git

commit 6b6f972db68115a6803eafe47d8e03ed88270af2
Author: eldenmoon <15605149...@163.com>
AuthorDate: Thu Apr 20 18:52:04 2023 +0800

    [Improve](mysql proto) handle SQL end with '\x00'
---
 .../java/org/apache/doris/qe/ConnectProcessor.java     | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectProcessor.java 
b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectProcessor.java
index adda35bb5e4..378c054dcc7 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectProcessor.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectProcessor.java
@@ -487,10 +487,28 @@ public class ConnectProcessor {
         auditAfterExec(origStmt, parsedStmt, statistics, true);
     }
 
+    private static boolean isInvisible(char c) {
+        return c < ' ' || c == '\u007F';
+    }
+
+    private void logInvisbleString(String str) {
+        StringBuilder output = new StringBuilder();
+        for (int i = 0; i < str.length(); i++) {
+            char c = str.charAt(i);
+            if (isInvisible(c)) {
+                output.append(String.format("\\x%02X", (int) c));
+            } else {
+                output.append(c);
+            }
+        }
+        LOG.debug("logInvisbleString {}", output.toString());
+    }
+
     // analyze the origin stmt and return multi-statements
     private List<StatementBase> parse(String originStmt) throws 
AnalysisException, DdlException {
         LOG.debug("the originStmts are: {}", originStmt);
         // Parse statement with parser generated by CUP&FLEX
+        originStmt = originStmt.replace("\u0000", "");
         SqlScanner input = new SqlScanner(new StringReader(originStmt), 
ctx.getSessionVariable().getSqlMode());
         SqlParser parser = new SqlParser(input);
         try {


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to