Caideyipi commented on code in PR #12541:
URL: https://github.com/apache/iotdb/pull/12541#discussion_r1608276803
##########
iotdb-client/cli/src/assembly/resources/tools/load-tsfile.sh:
##########
@@ -123,10 +131,51 @@ else
JAVA=java
fi
-set -o noglob
iotdb_cli_params="-Dlogback.configurationFile=${IOTDB_CLI_CONF}/logback-cli.xml"
-echo "start loading TsFiles, please wait..."
-exec "$JAVA" $iotdb_cli_params -cp "$CLASSPATH" "$MAIN_CLASS" $PARAMETERS
+traverse_files() {
+
+ local folder="$1"
+
+ for file in "$folder"/*; do
+ if [ -f "$file" ]; then
+ if [[ $file == *.tsfile ]]; then
+ LOAD_SQL="load '$file' ${LOAD_SQL_PART}"
+ PARAMETERS="${PARAMETERS_PART} \"${LOAD_SQL}\""
+ "$JAVA" $iotdb_cli_params -cp "$CLASSPATH" "$MAIN_CLASS"
$PARAMETERS
+ exit_code=$?
+ if [ $exit_code -ne 0 ]; then
+ if [ ! -z "${fail_dir_param}" ]; then
+ if [ ! -d "${fail_dir_param}" ]; then
+ mkdir -p "${fail_dir_param}"
+ fi
+ cp ${file} ${fail_dir_param}
+ fi
+ fi
+ fi
+ elif [ -d "$file" ]; then
+ traverse_files "$file"
+ fi
+ done
+}
+
+if [ -f "$load_dir_param" ]; then
Review Comment:
Can this part of code be extracted?
##########
iotdb-client/cli/src/assembly/resources/tools/load-tsfile.bat:
##########
@@ -96,14 +98,44 @@ EXIT /B %ret_code%
@REM
-----------------------------------------------------------------------------
:finally
-
-set PARAMETERS=%h_parameter% %p_parameter% %u_parameter% %pw_parameter%
%load_dir_parameter% %sg_level_parameter% %verify_parameter%
%on_success_parameter%"
-echo %PARAMETERS%
-
echo start loading TsFiles, please wait...
-"%JAVA_HOME%\bin\java" %JAVA_OPTS% -cp %CLASSPATH% %MAIN_CLASS% %PARAMETERS%
-set ret_code=%ERRORLEVEL%
-ENDLOCAL
+if exist "%load_dir_parameter%" (
+ if not exist "%load_dir_parameter%\" (
+ call :load %load_dir_parameter%
+ ) else (
+ call :recursiveFunction %load_dir_parameter%
+ )
+) else (
+ echo %load_dir_parameter% is not valid.
+ exit /b 1
+)
+set ret_code=0
+echo end loading TsFiles
+ENDLOCAL
EXIT /B %ret_code%
+
+:recursiveFunction
+for /r "%1" %%F in (*.tsfile) do (
Review Comment:
Try all the files instead of only "*.tsfile" to be consistent with the core
implementation.
##########
iotdb-client/cli/src/assembly/resources/tools/load-tsfile.bat:
##########
@@ -48,7 +49,7 @@ set pw_parameter=-pw root
set u_parameter=-u root
set p_parameter=-p 6667
set h_parameter=-h 127.0.0.1
-set load_dir_parameter=-e "load '
+set cli_load_file_parameter=-e "load '
set sg_level_parameter=
set verify_parameter=
set on_success_parameter=
Review Comment:
"fail_dir_parameter" and "load_dir_parameter" can be listed here to be
consistent with other parameters like "sg_level" below.
##########
iotdb-client/cli/src/assembly/resources/tools/load-tsfile.sh:
##########
@@ -123,10 +131,51 @@ else
JAVA=java
fi
-set -o noglob
iotdb_cli_params="-Dlogback.configurationFile=${IOTDB_CLI_CONF}/logback-cli.xml"
-echo "start loading TsFiles, please wait..."
-exec "$JAVA" $iotdb_cli_params -cp "$CLASSPATH" "$MAIN_CLASS" $PARAMETERS
+traverse_files() {
+
+ local folder="$1"
+
+ for file in "$folder"/*; do
+ if [ -f "$file" ]; then
+ if [[ $file == *.tsfile ]]; then
Review Comment:
Same as above
##########
iotdb-client/cli/src/assembly/resources/tools/load-tsfile.sh:
##########
@@ -29,8 +29,8 @@ checkAllVariables
export IOTDB_HOME="${IOTDB_HOME}"
eval set -- "$VARS"
-PARAMETERS=""
-HELP="Usage: $0 -f <file_path> [--sgLevel <sg_level>] [--verify <true/false>]
[--onSuccess <none/delete>] [-h <ip>] [-p <port>] [-u <username>] [-pw
<password>]"
+
+HELP="Usage: $0 -f <file_path> -cfd <copy_fail_dir> [--sgLevel <sg_level>]
[--verify <true/false>] [--onSuccess <none/delete>] [-h <ip>] [-p <port>] [-u
<username>] [-pw <password>]"
Review Comment:
"copy_fail_dir" is optional here.
##########
iotdb-client/cli/src/assembly/resources/tools/load-tsfile.bat:
##########
@@ -96,14 +98,44 @@ EXIT /B %ret_code%
@REM
-----------------------------------------------------------------------------
:finally
-
-set PARAMETERS=%h_parameter% %p_parameter% %u_parameter% %pw_parameter%
%load_dir_parameter% %sg_level_parameter% %verify_parameter%
%on_success_parameter%"
-echo %PARAMETERS%
-
echo start loading TsFiles, please wait...
-"%JAVA_HOME%\bin\java" %JAVA_OPTS% -cp %CLASSPATH% %MAIN_CLASS% %PARAMETERS%
-set ret_code=%ERRORLEVEL%
-ENDLOCAL
+if exist "%load_dir_parameter%" (
+ if not exist "%load_dir_parameter%\" (
+ call :load %load_dir_parameter%
+ ) else (
+ call :recursiveFunction %load_dir_parameter%
+ )
+) else (
+ echo %load_dir_parameter% is not valid.
+ exit /b 1
+)
+set ret_code=0
+echo end loading TsFiles
+ENDLOCAL
EXIT /B %ret_code%
+
+:recursiveFunction
+for /r "%1" %%F in (*.tsfile) do (
+ call :load %%F
+)
+goto :eof
+
+:load
+set cli_load_one_file_parameter=%cli_load_file_parameter%%1'
+set PARAMETERS=%h_parameter% %p_parameter% %u_parameter% %pw_parameter%
%cli_load_one_file_parameter% %sg_level_parameter% %verify_parameter%
%on_success_parameter%"
+
+"%JAVA_HOME%\bin\java" %JAVA_OPTS% -cp %CLASSPATH% %MAIN_CLASS% !PARAMETERS!
+
+if !errorlevel! neq 0 (
+ if not "%fail_dir_parameter%"=="" (
+ REM 校验文件夹是否存在,不存在则创建文件夹
Review Comment:
Better use English in all the codes.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]