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

leonbao pushed a commit to branch 2.0.1-prepare
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git


The following commit(s) were added to refs/heads/2.0.1-prepare by this push:
     new 98ab521  Fix SQL create / upgrade scripts cannot run (#7212)
98ab521 is described below

commit 98ab5219ff74933f5ec6d51dab84e96aced59a51
Author: kezhenxu94 <[email protected]>
AuthorDate: Mon Dec 6 17:10:24 2021 +0800

    Fix SQL create / upgrade scripts cannot run (#7212)
---
 .../dolphinscheduler/common/utils/SchemaUtils.java | 145 ---------------------
 .../dao/upgrade/DolphinSchedulerManager.java       |   1 -
 .../dolphinscheduler/dao/upgrade/UpgradeDao.java   |   4 +
 .../postgresql/dolphinscheduler_ddl.sql            |   3 +-
 .../mysql/dolphinscheduler_ddl.sql                 |   0
 .../postgre/dolphinscheduler_ddl.sql               |   2 +-
 script/create-dolphinscheduler.sh                  |   5 +
 script/upgrade-dolphinscheduler.sh                 |   5 +
 8 files changed, 17 insertions(+), 148 deletions(-)

diff --git 
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/SchemaUtils.java
 
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/SchemaUtils.java
deleted file mode 100644
index 503cf82..0000000
--- 
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/SchemaUtils.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.dolphinscheduler.common.utils;
-
-import org.apache.commons.lang.StringUtils;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Metadata related common classes
- */
-public class SchemaUtils {
-
-    private static final Logger logger = 
LoggerFactory.getLogger(SchemaUtils.class);
-    private static final Pattern p = Pattern.compile("\\s*|\t|\r|\n");
-
-    private SchemaUtils() {
-        throw new UnsupportedOperationException("Construct SchemaUtils");
-    }
-
-    /**
-     * Gets upgradable schemas for all upgrade directories
-     *
-     * @return all schema list
-     */
-    public static List<String> getAllSchemaList() {
-        List<String> schemaDirList = new ArrayList<>();
-        File[] schemaDirArr = FileUtils.getAllDir("sql/upgrade");
-        if (schemaDirArr == null || schemaDirArr.length == 0) {
-            return null;
-        }
-
-        for (File file : schemaDirArr) {
-            schemaDirList.add(file.getName());
-        }
-
-        schemaDirList.sort((o1, o2) -> {
-            try {
-                String dir1 = String.valueOf(o1);
-                String dir2 = String.valueOf(o2);
-                String version1 = dir1.split("_")[0];
-                String version2 = dir2.split("_")[0];
-                if (version1.equals(version2)) {
-                    return 0;
-                }
-
-                if (SchemaUtils.isAGreatVersion(version1, version2)) {
-                    return 1;
-                }
-
-                return -1;
-
-            } catch (Exception e) {
-                logger.error(e.getMessage(), e);
-                throw new RuntimeException(e);
-            }
-        });
-
-        return schemaDirList;
-    }
-
-    /**
-     * Determine whether schemaVersion is higher than version
-     *
-     * @param schemaVersion schema version
-     * @param version version
-     * @return Determine whether schemaVersion is higher than version
-     */
-    public static boolean isAGreatVersion(String schemaVersion, String 
version) {
-        if (StringUtils.isEmpty(schemaVersion) || 
StringUtils.isEmpty(version)) {
-            throw new RuntimeException("schemaVersion or version is empty");
-        }
-
-        String[] schemaVersionArr = schemaVersion.split("\\.");
-        String[] versionArr = version.split("\\.");
-        int arrLength = Math.min(schemaVersionArr.length, versionArr.length);
-        for (int i = 0; i < arrLength; i++) {
-            if (Integer.parseInt(schemaVersionArr[i]) > 
Integer.parseInt(versionArr[i])) {
-                return true;
-            } else if (Integer.parseInt(schemaVersionArr[i]) < 
Integer.parseInt(versionArr[i])) {
-                return false;
-            }
-        }
-
-        // If the version and schema version is the same from 0 up to the 
arrlength-1 element,whoever has a larger arrLength has a larger version number
-        return schemaVersionArr.length > versionArr.length;
-    }
-
-    /**
-     * Gets the current software version number of the system
-     *
-     * @return current software version
-     */
-    public static String getSoftVersion() {
-        String softVersion;
-        try {
-            softVersion = FileUtils.readFile2Str(new 
FileInputStream("sql/soft_version"));
-            softVersion = replaceBlank(softVersion);
-        } catch (FileNotFoundException e) {
-            logger.error(e.getMessage(), e);
-            throw new RuntimeException("Failed to get the product version 
description file. The file could not be found", e);
-        }
-        return softVersion;
-    }
-
-    /**
-     * Strips the string of space carriage returns and tabs
-     *
-     * @param str string
-     * @return string removed blank
-     */
-    public static String replaceBlank(String str) {
-        String dest = "";
-        if (str != null) {
-
-            Matcher m = p.matcher(str);
-            dest = m.replaceAll("");
-        }
-        return dest;
-    }
-}
diff --git 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/DolphinSchedulerManager.java
 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/DolphinSchedulerManager.java
index 9de49a4..45186ba 100644
--- 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/DolphinSchedulerManager.java
+++ 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/DolphinSchedulerManager.java
@@ -17,7 +17,6 @@
 
 package org.apache.dolphinscheduler.dao.upgrade;
 
-import org.apache.dolphinscheduler.common.utils.SchemaUtils;
 import org.apache.dolphinscheduler.spi.enums.DbType;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/UpgradeDao.java
 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/UpgradeDao.java
index 161f8b7..a0ebcd7 100644
--- 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/UpgradeDao.java
+++ 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/UpgradeDao.java
@@ -288,6 +288,10 @@ public abstract class UpgradeDao {
     private void upgradeDolphinSchedulerDML(String schemaDir) {
         String schemaVersion = schemaDir.split("_")[0];
         Resource sqlFilePath = new 
ClassPathResource(String.format("sql/upgrade/%s/%s/dolphinscheduler_dml.sql", 
schemaDir, getDbType().name().toLowerCase()));
+        if (!sqlFilePath.exists()) {
+            logger.info("No dml file {}, returning", sqlFilePath);
+            return;
+        }
         logger.info("sqlSQLFilePath" + sqlFilePath);
         Connection conn = null;
         PreparedStatement pstmt = null;
diff --git 
a/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_ddl.sql
 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_ddl.sql
index fc69689..1cd66c7 100644
--- 
a/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_ddl.sql
+++ 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_ddl.sql
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
 */
-
+delimiter d//
 CREATE OR REPLACE FUNCTION public.dolphin_update_metadata(
        )
     RETURNS character varying
@@ -304,3 +304,4 @@ BEGIN
 END;
 $BODY$;
 
+d//
diff --git 
a/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.1-schema/mysql/dolphinscheduler_ddl.sql
 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.1_schema/mysql/dolphinscheduler_ddl.sql
similarity index 100%
rename from 
dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.1-schema/mysql/dolphinscheduler_ddl.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.1_schema/mysql/dolphinscheduler_ddl.sql
diff --git 
a/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.1-schema/postgre/dolphinscheduler_ddl.sql
 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.1_schema/postgre/dolphinscheduler_ddl.sql
similarity index 99%
rename from 
dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.1-schema/postgre/dolphinscheduler_ddl.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.1_schema/postgre/dolphinscheduler_ddl.sql
index 97acb02..af062e2 100644
--- 
a/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.1-schema/postgre/dolphinscheduler_ddl.sql
+++ 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.1_schema/postgre/dolphinscheduler_ddl.sql
@@ -37,4 +37,4 @@ BEGIN
         return SQLERRM;
 END;
 $BODY$;
-d//
\ No newline at end of file
+d//
diff --git a/script/create-dolphinscheduler.sh 
b/script/create-dolphinscheduler.sh
index 8591277..fed6dd0 100755
--- a/script/create-dolphinscheduler.sh
+++ b/script/create-dolphinscheduler.sh
@@ -20,6 +20,11 @@ BIN_DIR=`dirname $0`
 BIN_DIR=`cd "$BIN_DIR"; pwd`
 DOLPHINSCHEDULER_HOME=$BIN_DIR/..
 
+set -a
+source "${DOLPHINSCHEDULER_HOME}/conf/env/dolphinscheduler_env.sh"
+source "${DOLPHINSCHEDULER_HOME}/conf/config/install_config.conf"
+set +a
+
 export JAVA_HOME=$JAVA_HOME
 
 export DATABASE_TYPE=${DATABASE_TYPE:-"h2"}
diff --git a/script/upgrade-dolphinscheduler.sh 
b/script/upgrade-dolphinscheduler.sh
index a8ef4e7..9fe659d 100755
--- a/script/upgrade-dolphinscheduler.sh
+++ b/script/upgrade-dolphinscheduler.sh
@@ -20,6 +20,11 @@ BIN_DIR=`dirname $0`
 BIN_DIR=`cd "$BIN_DIR"; pwd`
 DOLPHINSCHEDULER_HOME=$BIN_DIR/..
 
+set -a
+source "${DOLPHINSCHEDULER_HOME}/conf/env/dolphinscheduler_env.sh"
+source "${DOLPHINSCHEDULER_HOME}/conf/config/install_config.conf"
+set +a
+
 export JAVA_HOME=$JAVA_HOME
 
 export DATABASE_TYPE=${DATABASE_TYPE:-"h2"}

Reply via email to