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

zihaoxiang pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git


The following commit(s) were added to refs/heads/dev by this push:
     new 6218f818c0 [improve-#13665] improve datax parser if sql contain * 
(#13680)
6218f818c0 is described below

commit 6218f818c036b75a23c0df1cc8f0ce464d212f09
Author: fuchanghai <[email protected]>
AuthorDate: Tue Mar 7 11:16:53 2023 +0800

    [improve-#13665] improve datax parser if sql contain * (#13680)
    
    * [improve-#13665] improve datax parser if sql contain *
    
    * Update 
dolphinscheduler-task-plugin/dolphinscheduler-task-datax/src/main/java/org/apache/dolphinscheduler/plugin/task/datax/DataxTask.java
    
    Co-authored-by: fuchanghai <‘[email protected]’>
    Co-authored-by: Aaron Wang <[email protected]>
---
 .../apache/dolphinscheduler/plugin/task/datax/DataxTask.java   | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git 
a/dolphinscheduler-task-plugin/dolphinscheduler-task-datax/src/main/java/org/apache/dolphinscheduler/plugin/task/datax/DataxTask.java
 
b/dolphinscheduler-task-plugin/dolphinscheduler-task-datax/src/main/java/org/apache/dolphinscheduler/plugin/task/datax/DataxTask.java
index dfa45ff5d2..5e82bb71f1 100644
--- 
a/dolphinscheduler-task-plugin/dolphinscheduler-task-datax/src/main/java/org/apache/dolphinscheduler/plugin/task/datax/DataxTask.java
+++ 
b/dolphinscheduler-task-plugin/dolphinscheduler-task-datax/src/main/java/org/apache/dolphinscheduler/plugin/task/datax/DataxTask.java
@@ -90,6 +90,11 @@ public class DataxTask extends AbstractTask {
      */
     private static final String DATAX_PYTHON = "python2.7";
     private static final Pattern PYTHON_PATH_PATTERN = 
Pattern.compile("/bin/python[\\d.]*$");
+
+    /**
+     * select all
+     */
+    private static final String SELECT_ALL_CHARACTER = "*";
     /**
      * datax path
      */
@@ -538,6 +543,11 @@ public class DataxTask extends AbstractTask {
                             String.format("grammatical analysis sql column [ 
%s ] failed", item));
                 }
 
+                if (SELECT_ALL_CHARACTER.equals(item.toString())) {
+                    log.info("sql contains *, grammatical analysis failed");
+                    return new String[0];
+                }
+
                 if (columnName == null) {
                     throw new RuntimeException(
                             String.format("grammatical analysis sql column [ 
%s ] failed", item));

Reply via email to