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

nextdreamblue pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 4fbcad9c7ce [minor](show_export) make result of file url usable 
(#27209)
4fbcad9c7ce is described below

commit 4fbcad9c7ced682fc8d62ae6c7343da975dd551d
Author: Yulei-Yang <yulei.yang0...@gmail.com>
AuthorDate: Wed Nov 22 10:14:45 2023 +0800

    [minor](show_export) make result of file url usable (#27209)
    
    * [minor](show_export) make result of file url usable
    
    * update regression-test
    
    * update regression-test
---
 be/src/vec/sink/writer/vfile_result_writer.cpp     |  3 ++
 .../outfile/csv/test_outfile_csv_array_type.groovy | 28 ++++++++---------
 .../csv/test_outfile_csv_complex_type.groovy       | 14 ++++-----
 .../outfile/csv/test_outfile_csv_map_type.groovy   | 36 +++++++++++-----------
 .../outfile/orc/test_outfile_orc_timestamp.groovy  |  4 +--
 .../test_outfile_expr_generate_col_name.groovy     |  4 +--
 .../parquet/test_outfile_parquet_array_type.groovy | 28 ++++++++---------
 .../test_outfile_parquet_complex_type.groovy       | 14 ++++-----
 .../parquet/test_outfile_parquet_map_type.groovy   | 36 +++++++++++-----------
 .../suites/export_p0/test_export_parquet.groovy    |  2 +-
 .../suites/export_p0/test_export_view.groovy       |  2 +-
 .../export_p0/test_outfile_file_suffix.groovy      |  4 +--
 .../export_p0/test_outfile_orc_array_type.groovy   | 28 ++++++++---------
 .../export_p0/test_outfile_orc_complex_type.groovy | 14 ++++-----
 .../export_p0/test_outfile_orc_map_type.groovy     | 36 +++++++++++-----------
 .../test_insert_from_tvf_with_common_user.groovy   |  2 +-
 .../external_table_p0/tvf/test_s3_tvf.groovy       |  4 +--
 17 files changed, 131 insertions(+), 128 deletions(-)

diff --git a/be/src/vec/sink/writer/vfile_result_writer.cpp 
b/be/src/vec/sink/writer/vfile_result_writer.cpp
index 2236abb9253..67c386c24d7 100644
--- a/be/src/vec/sink/writer/vfile_result_writer.cpp
+++ b/be/src/vec/sink/writer/vfile_result_writer.cpp
@@ -305,6 +305,9 @@ Status VFileResultWriter::_send_result() {
     row_buffer.push_bigint(_written_data_bytes->value());   // file size
     std::string file_url;
     static_cast<void>(_get_file_url(&file_url));
+    std::stringstream ss;
+    ss << file_url << "*";
+    file_url = ss.str();
     row_buffer.push_string(file_url.c_str(), file_url.length()); // url
 
     std::unique_ptr<TFetchDataResult> result = 
std::make_unique<TFetchDataResult>();
diff --git 
a/regression-test/suites/export_p0/outfile/csv/test_outfile_csv_array_type.groovy
 
b/regression-test/suites/export_p0/outfile/csv/test_outfile_csv_array_type.groovy
index 22e5f132685..14e50077d08 100644
--- 
a/regression-test/suites/export_p0/outfile/csv/test_outfile_csv_array_type.groovy
+++ 
b/regression-test/suites/export_p0/outfile/csv/test_outfile_csv_array_type.groovy
@@ -93,7 +93,7 @@ suite("test_outfile_csv_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load1 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -126,7 +126,7 @@ suite("test_outfile_csv_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load2 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -158,7 +158,7 @@ suite("test_outfile_csv_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_date """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -190,7 +190,7 @@ suite("test_outfile_csv_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_datetime """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -225,7 +225,7 @@ suite("test_outfile_csv_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_varchar """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -259,7 +259,7 @@ suite("test_outfile_csv_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_smallint """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -292,7 +292,7 @@ suite("test_outfile_csv_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_tinyint """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -325,7 +325,7 @@ suite("test_outfile_csv_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_boolean """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -358,7 +358,7 @@ suite("test_outfile_csv_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_bigint """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -390,7 +390,7 @@ suite("test_outfile_csv_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_largeint """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -423,7 +423,7 @@ suite("test_outfile_csv_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_float """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -455,7 +455,7 @@ suite("test_outfile_csv_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_double """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -487,7 +487,7 @@ suite("test_outfile_csv_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_CHAR """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -520,7 +520,7 @@ suite("test_outfile_csv_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_decimal """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
diff --git 
a/regression-test/suites/export_p0/outfile/csv/test_outfile_csv_complex_type.groovy
 
b/regression-test/suites/export_p0/outfile/csv/test_outfile_csv_complex_type.groovy
index 6fc55d6da40..cbe3253ebaf 100644
--- 
a/regression-test/suites/export_p0/outfile/csv/test_outfile_csv_complex_type.groovy
+++ 
b/regression-test/suites/export_p0/outfile/csv/test_outfile_csv_complex_type.groovy
@@ -94,7 +94,7 @@ suite("test_outfile_csv_complex_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load1 """ SELECT * FROM S3 (
-                            "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                            "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4, outfile_url.length() - 
1)}0.csv",
                             "ACCESS_KEY"= "${ak}",
                             "SECRET_KEY" = "${sk}",
                             "format" = "csv",
@@ -128,7 +128,7 @@ suite("test_outfile_csv_complex_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load2 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -160,7 +160,7 @@ suite("test_outfile_csv_complex_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load3 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -190,7 +190,7 @@ suite("test_outfile_csv_complex_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load4 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -226,7 +226,7 @@ suite("test_outfile_csv_complex_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load5 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -258,7 +258,7 @@ suite("test_outfile_csv_complex_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load6 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -299,7 +299,7 @@ suite("test_outfile_csv_complex_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load1 """ SELECT * FROM S3 (
-                            "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                            "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4, outfile_url.length() - 
1)}0.csv",
                             "ACCESS_KEY"= "${ak}",
                             "SECRET_KEY" = "${sk}",
                             "format" = "csv",
diff --git 
a/regression-test/suites/export_p0/outfile/csv/test_outfile_csv_map_type.groovy 
b/regression-test/suites/export_p0/outfile/csv/test_outfile_csv_map_type.groovy
index 380c17af2c1..92e0b89916b 100644
--- 
a/regression-test/suites/export_p0/outfile/csv/test_outfile_csv_map_type.groovy
+++ 
b/regression-test/suites/export_p0/outfile/csv/test_outfile_csv_map_type.groovy
@@ -92,7 +92,7 @@ suite("test_outfile_csv_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load1 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -128,7 +128,7 @@ suite("test_outfile_csv_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load2 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -164,7 +164,7 @@ suite("test_outfile_csv_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load3 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -199,7 +199,7 @@ suite("test_outfile_csv_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load4 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -237,7 +237,7 @@ suite("test_outfile_csv_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load5 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -273,7 +273,7 @@ suite("test_outfile_csv_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load6 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -308,7 +308,7 @@ suite("test_outfile_csv_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load7 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -343,7 +343,7 @@ suite("test_outfile_csv_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load8 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -379,7 +379,7 @@ suite("test_outfile_csv_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load9 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -415,7 +415,7 @@ suite("test_outfile_csv_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load10 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -450,7 +450,7 @@ suite("test_outfile_csv_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load11 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -485,7 +485,7 @@ suite("test_outfile_csv_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load12 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -520,7 +520,7 @@ suite("test_outfile_csv_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load13 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -555,7 +555,7 @@ suite("test_outfile_csv_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load14 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -592,7 +592,7 @@ suite("test_outfile_csv_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load15 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -629,7 +629,7 @@ suite("test_outfile_csv_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load16 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -665,7 +665,7 @@ suite("test_outfile_csv_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load17 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
@@ -701,7 +701,7 @@ suite("test_outfile_csv_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load18 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "csv",
diff --git 
a/regression-test/suites/export_p0/outfile/orc/test_outfile_orc_timestamp.groovy
 
b/regression-test/suites/export_p0/outfile/orc/test_outfile_orc_timestamp.groovy
index 1a11f0d80a5..3b5ecc50d76 100644
--- 
a/regression-test/suites/export_p0/outfile/orc/test_outfile_orc_timestamp.groovy
+++ 
b/regression-test/suites/export_p0/outfile/orc/test_outfile_orc_timestamp.groovy
@@ -97,7 +97,7 @@ suite("test_outfile_orc_timestamp", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_tvf1 """ SELECT * FROM S3 (
-                            "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                            "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4, outfile_url.length() - 
1)}0.orc",
                             "ACCESS_KEY"= "${ak}",
                             "SECRET_KEY" = "${sk}",
                             "format" = "orc",
@@ -107,4 +107,4 @@ suite("test_outfile_orc_timestamp", "p0") {
 
     } finally {
     }
-}
\ No newline at end of file
+}
diff --git 
a/regression-test/suites/export_p0/outfile/outfile_expr/test_outfile_expr_generate_col_name.groovy
 
b/regression-test/suites/export_p0/outfile/outfile_expr/test_outfile_expr_generate_col_name.groovy
index 52977c1fd58..52e5f2088c3 100644
--- 
a/regression-test/suites/export_p0/outfile/outfile_expr/test_outfile_expr_generate_col_name.groovy
+++ 
b/regression-test/suites/export_p0/outfile/outfile_expr/test_outfile_expr_generate_col_name.groovy
@@ -97,7 +97,7 @@ suite("test_outfile_expr_generate_col_name", "p0") {
 
     def check_outfile_data = { outfile_url, outfile_format ->
         order_qt_select_tvf """ SELECT * FROM S3 (
-                            "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.${outfile_format}",
+                            "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4, outfile_url.length() - 
1)}0.${outfile_format}",
                             "ACCESS_KEY"= "${ak}",
                             "SECRET_KEY" = "${sk}",
                             "format" = "${outfile_format}",
@@ -108,7 +108,7 @@ suite("test_outfile_expr_generate_col_name", "p0") {
 
     def check_outfile_column_name = { outfile_url, outfile_format ->
         order_qt_desc_s3 """ Desc function S3 (
-                    "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.${outfile_format}",
+                    "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.${outfile_format}",
                     "ACCESS_KEY"= "${ak}",
                     "SECRET_KEY" = "${sk}",
                     "format" = "${outfile_format}",
diff --git 
a/regression-test/suites/export_p0/outfile/parquet/test_outfile_parquet_array_type.groovy
 
b/regression-test/suites/export_p0/outfile/parquet/test_outfile_parquet_array_type.groovy
index 680c55e040a..cd75b0f4978 100644
--- 
a/regression-test/suites/export_p0/outfile/parquet/test_outfile_parquet_array_type.groovy
+++ 
b/regression-test/suites/export_p0/outfile/parquet/test_outfile_parquet_array_type.groovy
@@ -93,7 +93,7 @@ suite("test_outfile_parquet_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load1 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -126,7 +126,7 @@ suite("test_outfile_parquet_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load2 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -158,7 +158,7 @@ suite("test_outfile_parquet_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_date """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -190,7 +190,7 @@ suite("test_outfile_parquet_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_datetime """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -225,7 +225,7 @@ suite("test_outfile_parquet_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_varchar """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -259,7 +259,7 @@ suite("test_outfile_parquet_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_smallint """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -292,7 +292,7 @@ suite("test_outfile_parquet_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_tinyint """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -325,7 +325,7 @@ suite("test_outfile_parquet_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_boolean """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -358,7 +358,7 @@ suite("test_outfile_parquet_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_bigint """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -390,7 +390,7 @@ suite("test_outfile_parquet_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_largeint """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -423,7 +423,7 @@ suite("test_outfile_parquet_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_float """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -455,7 +455,7 @@ suite("test_outfile_parquet_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_double """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -487,7 +487,7 @@ suite("test_outfile_parquet_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_CHAR """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -520,7 +520,7 @@ suite("test_outfile_parquet_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_decimal """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
diff --git 
a/regression-test/suites/export_p0/outfile/parquet/test_outfile_parquet_complex_type.groovy
 
b/regression-test/suites/export_p0/outfile/parquet/test_outfile_parquet_complex_type.groovy
index 6120d9f4810..66867cb75d3 100644
--- 
a/regression-test/suites/export_p0/outfile/parquet/test_outfile_parquet_complex_type.groovy
+++ 
b/regression-test/suites/export_p0/outfile/parquet/test_outfile_parquet_complex_type.groovy
@@ -94,7 +94,7 @@ suite("test_outfile_parquet_complex_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load1 """ SELECT * FROM S3 (
-                            "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                            "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4, outfile_url.length() - 
1)}0.parquet",
                             "ACCESS_KEY"= "${ak}",
                             "SECRET_KEY" = "${sk}",
                             "format" = "parquet",
@@ -128,7 +128,7 @@ suite("test_outfile_parquet_complex_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load2 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -160,7 +160,7 @@ suite("test_outfile_parquet_complex_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load3 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -190,7 +190,7 @@ suite("test_outfile_parquet_complex_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load4 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -226,7 +226,7 @@ suite("test_outfile_parquet_complex_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load5 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -258,7 +258,7 @@ suite("test_outfile_parquet_complex_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load6 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -299,7 +299,7 @@ suite("test_outfile_parquet_complex_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load7 """ SELECT * FROM S3 (
-                            "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                            "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4, outfile_url.length() - 
1)}0.parquet",
                             "ACCESS_KEY"= "${ak}",
                             "SECRET_KEY" = "${sk}",
                             "format" = "parquet",
diff --git 
a/regression-test/suites/export_p0/outfile/parquet/test_outfile_parquet_map_type.groovy
 
b/regression-test/suites/export_p0/outfile/parquet/test_outfile_parquet_map_type.groovy
index c1d4fe894c5..f2657b2c2b9 100644
--- 
a/regression-test/suites/export_p0/outfile/parquet/test_outfile_parquet_map_type.groovy
+++ 
b/regression-test/suites/export_p0/outfile/parquet/test_outfile_parquet_map_type.groovy
@@ -92,7 +92,7 @@ suite("test_outfile_parquet_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load1 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -128,7 +128,7 @@ suite("test_outfile_parquet_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load2 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -164,7 +164,7 @@ suite("test_outfile_parquet_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load3 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -199,7 +199,7 @@ suite("test_outfile_parquet_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load4 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -237,7 +237,7 @@ suite("test_outfile_parquet_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load5 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -273,7 +273,7 @@ suite("test_outfile_parquet_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load6 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -308,7 +308,7 @@ suite("test_outfile_parquet_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load7 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -343,7 +343,7 @@ suite("test_outfile_parquet_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load8 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -379,7 +379,7 @@ suite("test_outfile_parquet_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load9 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -415,7 +415,7 @@ suite("test_outfile_parquet_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load10 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -450,7 +450,7 @@ suite("test_outfile_parquet_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load11 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -485,7 +485,7 @@ suite("test_outfile_parquet_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load12 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -520,7 +520,7 @@ suite("test_outfile_parquet_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load13 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -555,7 +555,7 @@ suite("test_outfile_parquet_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load14 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -592,7 +592,7 @@ suite("test_outfile_parquet_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load15 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -629,7 +629,7 @@ suite("test_outfile_parquet_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load16 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -665,7 +665,7 @@ suite("test_outfile_parquet_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load17 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
@@ -701,7 +701,7 @@ suite("test_outfile_parquet_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load18 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "parquet",
diff --git a/regression-test/suites/export_p0/test_export_parquet.groovy 
b/regression-test/suites/export_p0/test_export_parquet.groovy
index ff8d7f6a0db..a357d15002d 100644
--- a/regression-test/suites/export_p0/test_export_parquet.groovy
+++ b/regression-test/suites/export_p0/test_export_parquet.groovy
@@ -118,7 +118,7 @@ suite("test_export_parquet", "p0") {
         def outfile_url = waiting_export.call(label)
         
         order_qt_select_load1 """ select * from s3(
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "s3.access_key"= "${ak}",
                 "s3.secret_key" = "${sk}",
                 "format" = "parquet",
diff --git a/regression-test/suites/export_p0/test_export_view.groovy 
b/regression-test/suites/export_p0/test_export_view.groovy
index 1f38488d7ba..4ef4bdfbf92 100644
--- a/regression-test/suites/export_p0/test_export_view.groovy
+++ b/regression-test/suites/export_p0/test_export_view.groovy
@@ -633,7 +633,7 @@ suite("test_export_view", "p0") {
         }
 
         order_qt_select_load7 """ select * from s3(
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.parquet",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.parquet",
                 "s3.access_key"= "${ak}",
                 "s3.secret_key" = "${sk}",
                 "format" = "parquet",
diff --git a/regression-test/suites/export_p0/test_outfile_file_suffix.groovy 
b/regression-test/suites/export_p0/test_outfile_file_suffix.groovy
index 30f9fea23de..9dbf9163c30 100644
--- a/regression-test/suites/export_p0/test_outfile_file_suffix.groovy
+++ b/regression-test/suites/export_p0/test_outfile_file_suffix.groovy
@@ -60,9 +60,9 @@ suite("test_outfile_file_suffix", "p0") {
     def file_suffix = "txt";
     def file_format = "csv";
     def outfile_url = csv_suffix_result(file_suffix, file_format);
-    print("http://${s3_endpoint}${outfile_url.substring(4)}0.${file_suffix}")
+    print("http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.${file_suffix}")
     qt_select """ select * from s3(
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.${file_suffix}",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.${file_suffix}",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "${file_format}",
diff --git 
a/regression-test/suites/export_p0/test_outfile_orc_array_type.groovy 
b/regression-test/suites/export_p0/test_outfile_orc_array_type.groovy
index c4decd6cd94..51494e816be 100644
--- a/regression-test/suites/export_p0/test_outfile_orc_array_type.groovy
+++ b/regression-test/suites/export_p0/test_outfile_orc_array_type.groovy
@@ -93,7 +93,7 @@ suite("test_outfile_orc_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load1 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -126,7 +126,7 @@ suite("test_outfile_orc_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load2 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -158,7 +158,7 @@ suite("test_outfile_orc_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_date """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -190,7 +190,7 @@ suite("test_outfile_orc_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_datetime """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -225,7 +225,7 @@ suite("test_outfile_orc_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_varchar """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -259,7 +259,7 @@ suite("test_outfile_orc_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_smallint """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -292,7 +292,7 @@ suite("test_outfile_orc_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_tinyint """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -325,7 +325,7 @@ suite("test_outfile_orc_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_boolean """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -358,7 +358,7 @@ suite("test_outfile_orc_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_bigint """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -390,7 +390,7 @@ suite("test_outfile_orc_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_largeint """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -423,7 +423,7 @@ suite("test_outfile_orc_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_float """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -455,7 +455,7 @@ suite("test_outfile_orc_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_double """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -487,7 +487,7 @@ suite("test_outfile_orc_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_CHAR """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -520,7 +520,7 @@ suite("test_outfile_orc_array_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load_decimal """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
diff --git 
a/regression-test/suites/export_p0/test_outfile_orc_complex_type.groovy 
b/regression-test/suites/export_p0/test_outfile_orc_complex_type.groovy
index 86c088b06f8..959283350d0 100644
--- a/regression-test/suites/export_p0/test_outfile_orc_complex_type.groovy
+++ b/regression-test/suites/export_p0/test_outfile_orc_complex_type.groovy
@@ -94,7 +94,7 @@ suite("test_outfile_orc_complex_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load1 """ SELECT * FROM S3 (
-                            "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                            "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4, outfile_url.length() - 
1)}0.orc",
                             "ACCESS_KEY"= "${ak}",
                             "SECRET_KEY" = "${sk}",
                             "format" = "orc",
@@ -128,7 +128,7 @@ suite("test_outfile_orc_complex_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load2 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -160,7 +160,7 @@ suite("test_outfile_orc_complex_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load3 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -190,7 +190,7 @@ suite("test_outfile_orc_complex_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load4 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -226,7 +226,7 @@ suite("test_outfile_orc_complex_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load5 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -258,7 +258,7 @@ suite("test_outfile_orc_complex_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load6 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -299,7 +299,7 @@ suite("test_outfile_orc_complex_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load1 """ SELECT * FROM S3 (
-                            "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                            "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4, outfile_url.length() - 
1)}0.orc",
                             "ACCESS_KEY"= "${ak}",
                             "SECRET_KEY" = "${sk}",
                             "format" = "orc",
diff --git a/regression-test/suites/export_p0/test_outfile_orc_map_type.groovy 
b/regression-test/suites/export_p0/test_outfile_orc_map_type.groovy
index 198baeef387..7c7180b4630 100644
--- a/regression-test/suites/export_p0/test_outfile_orc_map_type.groovy
+++ b/regression-test/suites/export_p0/test_outfile_orc_map_type.groovy
@@ -92,7 +92,7 @@ suite("test_outfile_orc_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load1 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -128,7 +128,7 @@ suite("test_outfile_orc_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load2 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -164,7 +164,7 @@ suite("test_outfile_orc_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load3 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -199,7 +199,7 @@ suite("test_outfile_orc_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load4 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -237,7 +237,7 @@ suite("test_outfile_orc_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load5 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -273,7 +273,7 @@ suite("test_outfile_orc_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load6 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -308,7 +308,7 @@ suite("test_outfile_orc_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load7 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -343,7 +343,7 @@ suite("test_outfile_orc_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load8 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -379,7 +379,7 @@ suite("test_outfile_orc_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load9 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -415,7 +415,7 @@ suite("test_outfile_orc_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load10 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -450,7 +450,7 @@ suite("test_outfile_orc_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load11 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -485,7 +485,7 @@ suite("test_outfile_orc_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load12 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -520,7 +520,7 @@ suite("test_outfile_orc_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load13 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -555,7 +555,7 @@ suite("test_outfile_orc_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load14 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -592,7 +592,7 @@ suite("test_outfile_orc_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load15 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -629,7 +629,7 @@ suite("test_outfile_orc_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load16 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -665,7 +665,7 @@ suite("test_outfile_orc_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load17 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
@@ -701,7 +701,7 @@ suite("test_outfile_orc_map_type", "p0") {
         def outfile_url = outfile_to_S3()
 
         qt_select_load18 """ SELECT * FROM S3 (
-                "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.orc",
                 "ACCESS_KEY"= "${ak}",
                 "SECRET_KEY" = "${sk}",
                 "format" = "orc",
diff --git 
a/regression-test/suites/external_table_p0/tvf/test_insert_from_tvf_with_common_user.groovy
 
b/regression-test/suites/external_table_p0/tvf/test_insert_from_tvf_with_common_user.groovy
index 855c9f2c472..1d76ee15f36 100644
--- 
a/regression-test/suites/external_table_p0/tvf/test_insert_from_tvf_with_common_user.groovy
+++ 
b/regression-test/suites/external_table_p0/tvf/test_insert_from_tvf_with_common_user.groovy
@@ -93,7 +93,7 @@ suite("test_insert_from_tvf_with_common_user", "p0") {
 
         sql """ INSERT INTO ${load_table_name}
                 SELECT * FROM S3 (
-                    "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.csv",
+                    "uri" = "http://${s3_endpoint}${outfile_url.substring(4, 
outfile_url.length() - 1)}0.csv",
                     "ACCESS_KEY"= "${ak}",
                     "SECRET_KEY" = "${sk}",
                     "format" = "csv",
diff --git a/regression-test/suites/external_table_p0/tvf/test_s3_tvf.groovy 
b/regression-test/suites/external_table_p0/tvf/test_s3_tvf.groovy
index 424aa9dcc29..5457c120af4 100644
--- a/regression-test/suites/external_table_p0/tvf/test_s3_tvf.groovy
+++ b/regression-test/suites/external_table_p0/tvf/test_s3_tvf.groovy
@@ -79,7 +79,7 @@ suite("test_s3_tvf", "p0") {
     // 1. normal
     try {
         order_qt_select_1 """ SELECT * FROM S3 (
-                            "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                            "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4, outfile_url.length() - 
1)}0.orc",
                             "ACCESS_KEY"= "${ak}",
                             "SECRET_KEY" = "${sk}",
                             "format" = "orc",
@@ -107,7 +107,7 @@ suite("test_s3_tvf", "p0") {
     // 3.test use_path_style
     try {
         order_qt_select_3 """ SELECT * FROM S3 (
-                            "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4)}0.orc",
+                            "uri" = 
"http://${s3_endpoint}${outfile_url.substring(4, outfile_url.length() - 
1)}0.orc",
                             "s3.access_key"= "${ak}",
                             "s3.secret_key" = "${sk}",
                             "format" = "orc",


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

Reply via email to