This is an automated email from the ASF dual-hosted git repository. morningman pushed a commit to branch branch-2.0 in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.0 by this push: new fecc6055c85 [Enhance](regression)add external_docker tag for some external case (#26106) fecc6055c85 is described below commit fecc6055c8506c17ed2a7c49fa059b8d39efb51b Author: zhangguoqiang <18372634...@163.com> AuthorDate: Tue Oct 31 19:33:48 2023 +0800 [Enhance](regression)add external_docker tag for some external case (#26106) add external_docker tag for some external case --- .../docker-compose/mysql/init/01-drop-db.sql | 1 + .../docker-compose/mysql/init/02-create-db.sql | 1 + .../docker-compose/mysql/init/03-create-table.sql | 14 +++++ .../docker-compose/mysql/init/04-insert.sql | 6 +++ .../docker-compose/sqlserver/init/04-insert.sql | 1 + .../docker-compose/sqlserver/sqlserver.yaml.tpl | 27 +++++++++- .../paimon/test_paimon_catalog.out | 2 +- .../external_table_p0/es/test_es_query.groovy | 32 ++++++------ .../es/test_es_query_nereids.groovy | 29 ++++++----- .../es/test_es_query_no_http_url.groovy | 59 +++++++++++----------- .../hive/hive_tpch_sf1_orc.groovy | 2 +- .../hive/hive_tpch_sf1_parquet.groovy | 2 +- .../hive/test_different_column_orders.groovy | 6 ++- .../hive/test_different_parquet_types.groovy | 6 +-- .../hive/test_hive_basic_type.groovy | 2 +- .../external_table_p0/hive/test_hive_orc.groovy | 8 +-- .../external_table_p0/hive/test_hive_other.groovy | 6 ++- .../hive/test_hive_parquet.groovy | 6 ++- .../hive/test_hive_partitions.groovy | 6 ++- .../hive/test_transactional_hive.groovy | 6 ++- .../jdbc/test_clickhouse_jdbc_catalog.groovy | 12 +++-- .../jdbc/test_jdbc_query_mysql.groovy | 2 +- .../jdbc/test_jdbc_query_pg.groovy | 2 +- .../jdbc/test_mysql_jdbc_catalog.groovy | 44 +++++++++------- .../jdbc/test_mysql_jdbc_catalog_nereids.groovy | 16 ++++-- .../jdbc/test_oracle_jdbc_catalog.groovy | 34 ++++++++----- .../jdbc/test_pg_jdbc_catalog.groovy | 40 ++++++++------- .../jdbc/test_sqlserver_jdbc_catalog.groovy | 20 +++++--- .../paimon/test_paimon_catalog.groovy | 6 ++- .../external_table_p0/tvf/test_backends_tvf.groovy | 2 +- .../external_table_p0/tvf/test_catalogs_tvf.groovy | 2 +- .../tvf/test_create_view_from_tvf.groovy | 2 +- .../tvf/test_frontends_tvf.groovy | 2 +- .../external_table_p0/tvf/test_hdfs_tvf.groovy | 2 +- .../test_insert_from_tvf_with_common_user.groovy | 2 +- .../tvf/test_local_tvf_with_complex_type.groovy | 2 +- ...t_local_tvf_with_complex_type_element_at.groovy | 2 +- ...l_tvf_with_complex_type_insertinto_doris.groovy | 2 +- .../external_table_p0/tvf/test_numbers.groovy | 2 +- 39 files changed, 259 insertions(+), 159 deletions(-) diff --git a/docker/thirdparties/docker-compose/mysql/init/01-drop-db.sql b/docker/thirdparties/docker-compose/mysql/init/01-drop-db.sql index d0db4a7e1ac..b399ce00e51 100644 --- a/docker/thirdparties/docker-compose/mysql/init/01-drop-db.sql +++ b/docker/thirdparties/docker-compose/mysql/init/01-drop-db.sql @@ -16,3 +16,4 @@ -- under the License. drop database if exists doris_test; +drop database if exists show_test_do_not_modify; \ No newline at end of file diff --git a/docker/thirdparties/docker-compose/mysql/init/02-create-db.sql b/docker/thirdparties/docker-compose/mysql/init/02-create-db.sql index f87b6922d9f..6ed6f967578 100644 --- a/docker/thirdparties/docker-compose/mysql/init/02-create-db.sql +++ b/docker/thirdparties/docker-compose/mysql/init/02-create-db.sql @@ -16,3 +16,4 @@ -- under the License. create database doris_test; +create database show_test_do_not_modify; \ No newline at end of file diff --git a/docker/thirdparties/docker-compose/mysql/init/03-create-table.sql b/docker/thirdparties/docker-compose/mysql/init/03-create-table.sql index 0b5b6bb6364..484391f8a19 100644 --- a/docker/thirdparties/docker-compose/mysql/init/03-create-table.sql +++ b/docker/thirdparties/docker-compose/mysql/init/03-create-table.sql @@ -308,3 +308,17 @@ CREATE TABLE doris_test.dt_null ( CREATE VIEW doris_test.mysql_view as select 10086 as col_1, 4294967295 as col_2, tinyint_u as col_3 from doris_test.all_types where tinyint_u=201; + +CREATE TABLE show_test_do_not_modify.ex_tb0 ( + `id` int PRIMARY KEY, + `name` varchar(128) +); + +CREATE TABLE show_test_do_not_modify.ex_tb1 ( + id varchar(128) +); + +CREATE TABLE show_test_do_not_modify.ex_tb2 ( + id int, + count_value varchar(20) +); diff --git a/docker/thirdparties/docker-compose/mysql/init/04-insert.sql b/docker/thirdparties/docker-compose/mysql/init/04-insert.sql index fbbe2221bb4..93ae8c9b63e 100644 --- a/docker/thirdparties/docker-compose/mysql/init/04-insert.sql +++ b/docker/thirdparties/docker-compose/mysql/init/04-insert.sql @@ -15,6 +15,12 @@ -- specific language governing permissions and limitations -- under the License. +insert into show_test_do_not_modify.ex_tb0 values (111, 'abc'), (112, 'abd'), (113, 'abe'),(114, 'abf'),(115, 'abg'); + +insert into show_test_do_not_modify.ex_tb1 values ('{"k1":"v1", "k2":"v2"}'); + +insert into show_test_do_not_modify.ex_tb2 values (123, '10'), (123, '15'), (123, '20'); + insert into doris_test.test1 values (true, 'abc', 'efg', '2022-10-01', 3.4, 1, 2, 0, 100000, 1.2, '2022-10-02 12:59:01', 24.000), (true, 'abc', 'efg', '2022-10-01', 3.4, 1, 2, 1, 100000, 1.2, '2022-10-02 12:59:01', 24.000), diff --git a/docker/thirdparties/docker-compose/sqlserver/init/04-insert.sql b/docker/thirdparties/docker-compose/sqlserver/init/04-insert.sql index 3c1f54515c4..f4f67523dfb 100644 --- a/docker/thirdparties/docker-compose/sqlserver/init/04-insert.sql +++ b/docker/thirdparties/docker-compose/sqlserver/init/04-insert.sql @@ -14,6 +14,7 @@ -- KIND, either express or implied. See the License for the -- specific language governing permissions and limitations -- under the License. +use doris_test; Insert into dbo.student values (1, 'doris', 18), (2, 'alice', 19), (3, 'bob', 20); diff --git a/docker/thirdparties/docker-compose/sqlserver/sqlserver.yaml.tpl b/docker/thirdparties/docker-compose/sqlserver/sqlserver.yaml.tpl index 02f909f5d5d..04b5eb976e6 100644 --- a/docker/thirdparties/docker-compose/sqlserver/sqlserver.yaml.tpl +++ b/docker/thirdparties/docker-compose/sqlserver/sqlserver.yaml.tpl @@ -29,6 +29,31 @@ services: retries: 120 volumes: - ./init:/docker-entrypoint-initdb.d + command: + - /bin/bash + - -c + - | + # Launch MSSQL and send to background + /opt/mssql/bin/sqlservr & + # Wait for it to be available + echo "Waiting for MS SQL to be available ⏳" + /opt/mssql-tools/bin/sqlcmd -l 30 -S localhost -h-1 -V1 -U sa -P Doris123456 -Q "SET NOCOUNT ON SELECT \"YAY WE ARE UP\" , @@servername" + is_up=$$? + while [ $$is_up -ne 0 ] ; do + echo -e $$(date) + /opt/mssql-tools/bin/sqlcmd -l 30 -S localhost -h-1 -V1 -U sa -P Doris123456 -Q "SET NOCOUNT ON SELECT \"YAY WE ARE UP\" , @@servername" + is_up=$$? + sleep 5 + done + # Run every script in /scripts + # TODO set a flag so that this is only done once on creation, + # and not every time the container runs + for foo in /docker-entrypoint-initdb.d/*.sql + do /opt/mssql-tools/bin/sqlcmd -U sa -P Doris123456 -l 30 -e -i $$foo + done + # So that the container doesn't shut down, sleep this thread + sleep infinity + restart: always environment: # Accept the end user license Agreement @@ -44,4 +69,4 @@ services: condition: service_healthy networks: - doris--sqlserver_2022: \ No newline at end of file + doris--sqlserver_2022: diff --git a/regression-test/data/external_table_p0/paimon/test_paimon_catalog.out b/regression-test/data/external_table_p0/paimon/test_paimon_catalog.out index 4918db4555c..16884b82e80 100644 --- a/regression-test/data/external_table_p0/paimon/test_paimon_catalog.out +++ b/regression-test/data/external_table_p0/paimon/test_paimon_catalog.out @@ -55,8 +55,8 @@ 1 2 3 4 5 6 7 8 9.1 10.1 11.10 2020-02-02 13str 14varchar a true aaaa 2023-08-13T09:32:38.530 -- !c19 -- -11 22 aa bb cc 1 2 a b c +11 22 aa bb cc -- !c20 -- 1 2 a b c diff --git a/regression-test/suites/external_table_p0/es/test_es_query.groovy b/regression-test/suites/external_table_p0/es/test_es_query.groovy index 85ccbbda5e8..c0cec5c82dd 100644 --- a/regression-test/suites/external_table_p0/es/test_es_query.groovy +++ b/regression-test/suites/external_table_p0/es/test_es_query.groovy @@ -15,43 +15,43 @@ // specific language governing permissions and limitations // under the License. -suite("test_es_query", "p0") { - +suite("test_es_query", "p0,external,es,external_docker,external_docker_es") { String enabled = context.config.otherConfigs.get("enableEsTest") if (enabled != null && enabled.equalsIgnoreCase("true")) { + String externalEnvIp = context.config.otherConfigs.get("externalEnvIp") String es_6_port = context.config.otherConfigs.get("es_6_port") String es_7_port = context.config.otherConfigs.get("es_7_port") String es_8_port = context.config.otherConfigs.get("es_8_port") - sql """drop catalog if exists es6;""" - sql """drop catalog if exists es7;""" - sql """drop catalog if exists es8;""" + sql """drop catalog if exists test_es_query_es6;""" + sql """drop catalog if exists test_es_query_es7;""" + sql """drop catalog if exists test_es_query_es8;""" sql """drop table if exists test_v1;""" sql """drop table if exists test_v2;""" // test old create-catalog syntax for compatibility sql """ - create catalog es6 + create catalog test_es_query_es6 properties ( "type"="es", - "elasticsearch.hosts"="http://127.0.0.1:$es_6_port", + "elasticsearch.hosts"="http://${externalEnvIp}:$es_6_port", "elasticsearch.nodes_discovery"="false", "elasticsearch.keyword_sniff"="true" ); """ // test new create catalog syntax - sql """create catalog if not exists es7 properties( + sql """create catalog if not exists test_es_query_es7 properties( "type"="es", - "hosts"="http://127.0.0.1:$es_7_port", + "hosts"="http://${externalEnvIp}:$es_7_port", "nodes_discovery"="false", "enable_keyword_sniff"="true" ); """ - sql """create catalog if not exists es8 properties( + sql """create catalog if not exists test_es_query_es8 properties( "type"="es", - "hosts"="http://127.0.0.1:$es_8_port", + "hosts"="http://${externalEnvIp}:$es_8_port", "nodes_discovery"="false", "enable_keyword_sniff"="true" ); @@ -105,7 +105,7 @@ suite("test_es_query", "p0") { ) ENGINE=ELASTICSEARCH COMMENT 'ELASTICSEARCH' PROPERTIES ( - "hosts" = "http://127.0.0.1:$es_8_port", + "hosts" = "http://${externalEnvIp}:$es_8_port", "index" = "test1", "nodes_discovery"="false", "enable_keyword_sniff"="true", @@ -145,7 +145,7 @@ suite("test_es_query", "p0") { ) ENGINE=ELASTICSEARCH COMMENT 'ELASTICSEARCH' PROPERTIES ( - "hosts" = "http://127.0.0.1:$es_8_port", + "hosts" = "http://${externalEnvIp}:$es_8_port", "index" = "test1", "nodes_discovery"="false", "enable_keyword_sniff"="true", @@ -156,7 +156,7 @@ suite("test_es_query", "p0") { order_qt_sql05 """select * from test_v2 where esquery(test2, '{"match":{"test2":"text#1"}}')""" order_qt_sql06 """select test4,test5,test6,test7,test8 from test_v2 order by test8""" - sql """switch es6""" + sql """switch test_es_query_es6""" // order_qt_sql_6_01 """show tables""" order_qt_sql_6_02 """select * from test1 where test2='text#1'""" order_qt_sql_6_03 """select * from test2_20220808 where test4 >= '2022-08-08 00:00:00' and test4 < '2022-08-08 23:59:59'""" @@ -192,7 +192,7 @@ suite("test_es_query", "p0") { } assertTrue(containHide) - sql """switch es7""" + sql """switch test_es_query_es7""" // order_qt_sql_7_01 """show tables""" order_qt_sql_7_02 """select * from test1 where test2='text#1'""" order_qt_sql_7_03 """select * from test2_20220808 where test4 >= '2022-08-08 00:00:00' and test4 < '2022-08-08 23:59:59'""" @@ -233,7 +233,7 @@ suite("test_es_query", "p0") { order_qt_sql_7_19 """select * from test3_20231005""" - sql """switch es8""" + sql """switch test_es_query_es8""" order_qt_sql_8_01 """select * from test1 where test2='text#1'""" order_qt_sql_8_02 """select * from test2_20220808 where test4 >= '2022-08-08 00:00:00' and test4 < '2022-08-08 23:59:59'""" order_qt_sql_8_03 """select c_bool[1], c_byte[1], c_short[1], c_integer[1], c_long[1], c_unsigned_long[1], c_float[1], c_half_float[1], c_double[1], c_scaled_float[1], c_date[1], c_datetime[1], c_keyword[1], c_text[1], c_ip[1], c_person[1] from test1""" diff --git a/regression-test/suites/external_table_p0/es/test_es_query_nereids.groovy b/regression-test/suites/external_table_p0/es/test_es_query_nereids.groovy index 835f78b11d5..2a6c9c1527d 100644 --- a/regression-test/suites/external_table_p0/es/test_es_query_nereids.groovy +++ b/regression-test/suites/external_table_p0/es/test_es_query_nereids.groovy @@ -15,10 +15,10 @@ // specific language governing permissions and limitations // under the License. -suite("test_es_query_nereids", "p0") { - +suite("test_es_query_nereids", "p0,external,es,external_docker,external_docker_es") { String enabled = context.config.otherConfigs.get("enableEsTest") if (enabled != null && enabled.equalsIgnoreCase("true")) { + String externalEnvIp = context.config.otherConfigs.get("externalEnvIp") String es_6_port = context.config.otherConfigs.get("es_6_port") String es_7_port = context.config.otherConfigs.get("es_7_port") String es_8_port = context.config.otherConfigs.get("es_8_port") @@ -29,14 +29,13 @@ suite("test_es_query_nereids", "p0") { sql """drop table if exists test_v1_nereids;""" sql """drop table if exists test_v2_nereids;""" sql """set enable_nereids_planner=true;""" - sql """set enable_fallback_to_original_planner=false;""" // test old create-catalog syntax for compatibility sql """ create catalog es6_nereids properties ( "type"="es", - "elasticsearch.hosts"="http://127.0.0.1:$es_6_port", + "elasticsearch.hosts"="http://${externalEnvIp}:$es_6_port", "elasticsearch.nodes_discovery"="false", "elasticsearch.keyword_sniff"="true" ); @@ -45,7 +44,7 @@ suite("test_es_query_nereids", "p0") { // test new create catalog syntax sql """create catalog if not exists es7_nereids properties( "type"="es", - "hosts"="http://127.0.0.1:$es_7_port", + "hosts"="http://${externalEnvIp}:$es_7_port", "nodes_discovery"="false", "enable_keyword_sniff"="true" ); @@ -53,7 +52,7 @@ suite("test_es_query_nereids", "p0") { sql """create catalog if not exists es8_nereids properties( "type"="es", - "hosts"="http://127.0.0.1:$es_8_port", + "hosts"="http://${externalEnvIp}:$es_8_port", "nodes_discovery"="false", "enable_keyword_sniff"="true" ); @@ -88,7 +87,7 @@ suite("test_es_query_nereids", "p0") { ) ENGINE=ELASTICSEARCH COMMENT 'ELASTICSEARCH' PROPERTIES ( - "hosts" = "http://127.0.0.1:$es_8_port", + "hosts" = "http://${externalEnvIp}:$es_8_port", "index" = "test1", "nodes_discovery"="false", "enable_keyword_sniff"="true", @@ -126,13 +125,16 @@ suite("test_es_query_nereids", "p0") { ) ENGINE=ELASTICSEARCH COMMENT 'ELASTICSEARCH' PROPERTIES ( - "hosts" = "http://127.0.0.1:$es_8_port", + "hosts" = "http://${externalEnvIp}:$es_8_port", "index" = "test1", "nodes_discovery"="false", "enable_keyword_sniff"="true", "http_ssl_enabled"="false" ); """ + + sql """set enable_fallback_to_original_planner=false;""" + // TODO(ftw): should open these annotation when nereids support es external table // order_qt_sql51 """select * from test_v2_nereids where test2='text#1'""" @@ -150,9 +152,10 @@ suite("test_es_query_nereids", "p0") { sql """switch es7_nereids""" - order_qt_sql72 """select test1, test2, test3, test4, test5, test6, test7, test8 from test1""" - order_qt_sql73 """select test1, test2, test3, test4, test5, test6, test7, test8 from test2_20220808""" - order_qt_sql74 """select test1, test2, test3, test4, test5, test6, test7, test8 from test2_20220808""" + // Expected value of type: BIGINT; but found type: Varchar/Char; Document value is: "1659931810000" + // order_qt_sql72 """select test1, test2, test3, test4, test5, test6, test7, test8 from test1""" + // order_qt_sql73 """select test1, test2, test3, test4, test5, test6, test7, test8 from test2_20220808""" + // order_qt_sql74 """select test1, test2, test3, test4, test5, test6, test7, test8 from test2_20220808""" // TODO(ftw): should open these annotation when nereids support ARRAY // order_qt_sql72 """select * from test1 where test2='text#1'""" // order_qt_sql73 """select * from test2_20220808 where test4='2022-08-08'""" @@ -162,8 +165,8 @@ suite("test_es_query_nereids", "p0") { sql """switch es8_nereids""" - order_qt_sql81 """select test1, test2, test3, test4, test5, test6, test7, test8 from test1""" - order_qt_sql82 """select test1, test2, test3, test4, test5, test6, test7, test8 from test2_20220808""" + // order_qt_sql81 """select test1, test2, test3, test4, test5, test6, test7, test8 from test1""" + // order_qt_sql82 """select test1, test2, test3, test4, test5, test6, test7, test8 from test2_20220808""" // TODO(ftw): should open these annotation when nereids support ARRAY // order_qt_sql81 """select * from test1 where test2='text#1'""" // order_qt_sql82 """select * from test2_20220808 where test4='2022-08-08'""" diff --git a/regression-test/suites/external_table_p0/es/test_es_query_no_http_url.groovy b/regression-test/suites/external_table_p0/es/test_es_query_no_http_url.groovy index 3f712fe778c..004c1aea31e 100644 --- a/regression-test/suites/external_table_p0/es/test_es_query_no_http_url.groovy +++ b/regression-test/suites/external_table_p0/es/test_es_query_no_http_url.groovy @@ -15,51 +15,52 @@ // specific language governing permissions and limitations // under the License. -suite("test_es_query_no_http_url", "p0") { - +suite("test_es_query_no_http_url", "p0,external,es,external_docker,external_docker_es") { String enabled = context.config.otherConfigs.get("enableEsTest") if (enabled != null && enabled.equalsIgnoreCase("true")) { + String externalEnvIp = context.config.otherConfigs.get("externalEnvIp") String es_6_port = context.config.otherConfigs.get("es_6_port") String es_7_port = context.config.otherConfigs.get("es_7_port") String es_8_port = context.config.otherConfigs.get("es_8_port") - sql """drop catalog if exists es6;""" - sql """drop catalog if exists es7;""" - sql """drop catalog if exists es8;""" - sql """drop table if exists test_v1;""" - sql """drop table if exists test_v2;""" + sql """drop catalog if exists es6_no_http_url;""" + sql """drop catalog if exists es7_no_http_url;""" + sql """drop catalog if exists es8_no_http_url;""" + sql """drop table if exists test_v1_no_http_url;""" + sql """drop table if exists test_v2_no_http_url;""" // test old create-catalog syntax for compatibility sql """ - create catalog es6 - properties ( + create catalog if not exists es6_no_http_url properties ( "type"="es", - "elasticsearch.hosts"="127.0.0.1:$es_6_port", + "elasticsearch.hosts"="${externalEnvIp}:$es_6_port", "elasticsearch.nodes_discovery"="false", "elasticsearch.keyword_sniff"="true" ); """ // test new create catalog syntax - sql """create catalog if not exists es7 properties( - "type"="es", - "hosts"="127.0.0.1:$es_7_port", - "nodes_discovery"="false", - "enable_keyword_sniff"="true" + sql """ + create catalog if not exists es7_no_http_url properties( + "type"="es", + "hosts"="${externalEnvIp}:$es_7_port", + "nodes_discovery"="false", + "enable_keyword_sniff"="true" ); """ - sql """create catalog if not exists es8 properties( - "type"="es", - "hosts"="127.0.0.1:$es_8_port", - "nodes_discovery"="false", - "enable_keyword_sniff"="true" + sql """ + create catalog if not exists es8_no_http_url properties( + "type"="es", + "hosts"="${externalEnvIp}:$es_8_port", + "nodes_discovery"="false", + "enable_keyword_sniff"="true" ); """ // test external table for datetime sql """ - CREATE TABLE `test_v1` ( + CREATE TABLE `test_v1_no_http_url` ( `c_datetime` array<datev2> NULL, `c_long` array<bigint(20)> NULL, `c_unsigned_long` array<largeint(40)> NULL, @@ -87,17 +88,17 @@ suite("test_es_query_no_http_url", "p0") { ) ENGINE=ELASTICSEARCH COMMENT 'ELASTICSEARCH' PROPERTIES ( - "hosts" = "127.0.0.1:$es_7_port", + "hosts" = "${externalEnvIp}:$es_7_port", "index" = "test1", "nodes_discovery"="false", "enable_keyword_sniff"="true", "http_ssl_enabled"="false" ); """ - order_qt_sql51 """select * from test_v1 where test2='text#1'""" + order_qt_sql51 """select * from test_v1_no_http_url where test2='text#1'""" sql """ - CREATE TABLE `test_v2` ( + CREATE TABLE `test_v2_no_http_url` ( `c_datetime` array<datev2> NULL, `c_long` array<bigint(20)> NULL, `c_unsigned_long` array<largeint(40)> NULL, @@ -125,23 +126,23 @@ suite("test_es_query_no_http_url", "p0") { ) ENGINE=ELASTICSEARCH COMMENT 'ELASTICSEARCH' PROPERTIES ( - "hosts" = "127.0.0.1:$es_8_port", + "hosts" = "${externalEnvIp}:$es_8_port", "index" = "test1", "nodes_discovery"="false", "enable_keyword_sniff"="true", "http_ssl_enabled"="false" ); """ - order_qt_sql52 """select * from test_v2 where test2='text#1'""" + order_qt_sql52 """select * from test_v2_no_http_url where test2='text#1'""" // es6 - sql """switch es6""" + sql """switch es6_no_http_url""" order_qt_sql61 """select * from test1 where test2='text#1'""" // es7 - sql """switch es7""" + sql """switch es7_no_http_url""" order_qt_sql71 """select * from test1 where test2='text#1'""" // es8 - sql """switch es8""" + sql """switch es8_no_http_url""" order_qt_sql81 """select * from test1 where test2='text#1'""" } } diff --git a/regression-test/suites/external_table_p0/hive/hive_tpch_sf1_orc.groovy b/regression-test/suites/external_table_p0/hive/hive_tpch_sf1_orc.groovy index bcd779ce3b2..caefc7f6534 100644 --- a/regression-test/suites/external_table_p0/hive/hive_tpch_sf1_orc.groovy +++ b/regression-test/suites/external_table_p0/hive/hive_tpch_sf1_orc.groovy @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -suite("test_catalog_hive_orc", "p0") { +suite("test_catalog_hive_orc", "p0,external,hive,external_docker,external_docker_hive") { String enable_file_cache = "false" diff --git a/regression-test/suites/external_table_p0/hive/hive_tpch_sf1_parquet.groovy b/regression-test/suites/external_table_p0/hive/hive_tpch_sf1_parquet.groovy index 1bca42981b0..c5e04c448c5 100644 --- a/regression-test/suites/external_table_p0/hive/hive_tpch_sf1_parquet.groovy +++ b/regression-test/suites/external_table_p0/hive/hive_tpch_sf1_parquet.groovy @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -suite("test_catalog_hive_parquet", "p0") { +suite("test_catalog_hive_parquet", "p0,external,hive,external_docker,external_docker_hive") { String enable_file_cache = "false" diff --git a/regression-test/suites/external_table_p0/hive/test_different_column_orders.groovy b/regression-test/suites/external_table_p0/hive/test_different_column_orders.groovy index 3fcb5a3c3f2..31b0ca3cc07 100644 --- a/regression-test/suites/external_table_p0/hive/test_different_column_orders.groovy +++ b/regression-test/suites/external_table_p0/hive/test_different_column_orders.groovy @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -suite("test_different_column_orders", "p0") { +suite("test_different_column_orders", "p0,external,hive,external_docker,external_docker_hive") { def q_parquet = { qt_q01 """ select * from test_different_column_orders_parquet order by id; @@ -43,10 +43,12 @@ suite("test_different_column_orders", "p0") { try { String hms_port = context.config.otherConfigs.get("hms_port") String catalog_name = "test_different_column_orders" + String externalEnvIp = context.config.otherConfigs.get("externalEnvIp") + sql """drop catalog if exists ${catalog_name}""" sql """create catalog if not exists ${catalog_name} properties ( "type"="hms", - 'hive.metastore.uris' = 'thrift://127.0.0.1:${hms_port}' + 'hive.metastore.uris' = 'thrift://${externalEnvIp}:${hms_port}' );""" sql """use `${catalog_name}`.`default`""" diff --git a/regression-test/suites/external_table_p0/hive/test_different_parquet_types.groovy b/regression-test/suites/external_table_p0/hive/test_different_parquet_types.groovy index b9005037a5c..928fac62d0a 100644 --- a/regression-test/suites/external_table_p0/hive/test_different_parquet_types.groovy +++ b/regression-test/suites/external_table_p0/hive/test_different_parquet_types.groovy @@ -16,7 +16,7 @@ package suites.external_catalog_p0.hive // specific language governing permissions and limitations // under the License. -suite("test_different_parquet_types", "p0") { +suite("test_different_parquet_types", "p0,external,hive,external_docker,external_docker_hive") { String hms_port = context.config.otherConfigs.get("hms_port") String hdfs_port = context.config.otherConfigs.get("hdfs_port") @@ -176,8 +176,6 @@ suite("test_different_parquet_types", "p0") { } - - String enabled = context.config.otherConfigs.get("enableHiveTest") if (enabled != null && enabled.equalsIgnoreCase("true")) { try { @@ -186,7 +184,7 @@ suite("test_different_parquet_types", "p0") { sql """create catalog if not exists ${catalog_name} properties ( "type"="hms", - 'hive.metastore.uris' = 'thrift://127.0.0.1:${hms_port}' + 'hive.metastore.uris' = 'thrift://${externalEnvIp}:${hms_port}' );""" sql """use `${catalog_name}`.`default`""" diff --git a/regression-test/suites/external_table_p0/hive/test_hive_basic_type.groovy b/regression-test/suites/external_table_p0/hive/test_hive_basic_type.groovy index 392a1a003cf..3e7cacdf2e1 100644 --- a/regression-test/suites/external_table_p0/hive/test_hive_basic_type.groovy +++ b/regression-test/suites/external_table_p0/hive/test_hive_basic_type.groovy @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -suite("test_hive_basic_type", "external_docker,hive,external_docker_hive,p0,external") { +suite("test_hive_basic_type", "p0,external,hive,external_docker,external_docker_hive") { String enabled = context.config.otherConfigs.get("enableHiveTest") if (enabled != null && enabled.equalsIgnoreCase("true")) { String catalog_name = "test_hive_basic_type" diff --git a/regression-test/suites/external_table_p0/hive/test_hive_orc.groovy b/regression-test/suites/external_table_p0/hive/test_hive_orc.groovy index 64b919bff2a..b6bccfb286c 100644 --- a/regression-test/suites/external_table_p0/hive/test_hive_orc.groovy +++ b/regression-test/suites/external_table_p0/hive/test_hive_orc.groovy @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -suite("test_hive_orc", "all_types") { +suite("test_hive_orc", "all_types,p0,external,hive,external_docker,external_docker_hive") { // Ensure that all types are parsed correctly def select_top50 = { qt_select_top50 """select * from orc_all_types order by int_col desc limit 50;""" @@ -79,10 +79,12 @@ suite("test_hive_orc", "all_types") { try { String hms_port = context.config.otherConfigs.get("hms_port") String catalog_name = "hive_test_orc" + String externalEnvIp = context.config.otherConfigs.get("externalEnvIp") + sql """drop catalog if exists ${catalog_name}""" sql """create catalog if not exists ${catalog_name} properties ( "type"="hms", - 'hive.metastore.uris' = 'thrift://127.0.0.1:${hms_port}' + 'hive.metastore.uris' = 'thrift://${externalEnvIp}:${hms_port}' );""" sql """use `${catalog_name}`.`default`""" @@ -100,7 +102,7 @@ suite("test_hive_orc", "all_types") { sql """ create catalog if not exists ${catalog_name} properties ( "type"="hms", - 'hive.metastore.uris' = 'thrift://127.0.0.1:${hms_port}' + 'hive.metastore.uris' = 'thrift://${externalEnvIp}:${hms_port}' ); """ sql """use `${catalog_name}`.`default`""" diff --git a/regression-test/suites/external_table_p0/hive/test_hive_other.groovy b/regression-test/suites/external_table_p0/hive/test_hive_other.groovy index 253d6f5aa92..5400c94fc81 100644 --- a/regression-test/suites/external_table_p0/hive/test_hive_other.groovy +++ b/regression-test/suites/external_table_p0/hive/test_hive_other.groovy @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -suite("test_hive_other", "p0") { +suite("test_hive_other", "p0,external,hive,external_docker,external_docker_hive") { def q01 = { qt_q24 """ select name, count(1) as c from student group by name order by c desc;""" @@ -54,12 +54,14 @@ suite("test_hive_other", "p0") { if (enabled != null && enabled.equalsIgnoreCase("true")) { String hms_port = context.config.otherConfigs.get("hms_port") String hdfs_port = context.config.otherConfigs.get("hdfs_port") + String externalEnvIp = context.config.otherConfigs.get("externalEnvIp") + String catalog_name = "hive_test_other" sql """drop catalog if exists ${catalog_name}""" sql """create catalog if not exists ${catalog_name} properties ( "type"="hms", - 'hive.metastore.uris' = 'thrift://127.0.0.1:${hms_port}' + 'hive.metastore.uris' = 'thrift://${externalEnvIp}:${hms_port}' );""" // test user's grants on external catalog diff --git a/regression-test/suites/external_table_p0/hive/test_hive_parquet.groovy b/regression-test/suites/external_table_p0/hive/test_hive_parquet.groovy index cc16ca27d16..2daac80d71e 100644 --- a/regression-test/suites/external_table_p0/hive/test_hive_parquet.groovy +++ b/regression-test/suites/external_table_p0/hive/test_hive_parquet.groovy @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -suite("test_hive_parquet", "p0") { +suite("test_hive_parquet", "p0,external,hive,external_docker,external_docker_hive") { def q01 = { qt_q01 """ select * from partition_table order by l_orderkey, l_partkey, l_suppkey; @@ -144,10 +144,12 @@ suite("test_hive_parquet", "p0") { try { String hms_port = context.config.otherConfigs.get("hms_port") String catalog_name = "hive_test_parquet" + String externalEnvIp = context.config.otherConfigs.get("externalEnvIp") + sql """drop catalog if exists ${catalog_name}""" sql """create catalog if not exists ${catalog_name} properties ( "type"="hms", - 'hive.metastore.uris' = 'thrift://127.0.0.1:${hms_port}' + 'hive.metastore.uris' = 'thrift://${externalEnvIp}:${hms_port}' );""" sql """use `${catalog_name}`.`default`""" diff --git a/regression-test/suites/external_table_p0/hive/test_hive_partitions.groovy b/regression-test/suites/external_table_p0/hive/test_hive_partitions.groovy index 7e70f5729aa..8eae4e82e63 100644 --- a/regression-test/suites/external_table_p0/hive/test_hive_partitions.groovy +++ b/regression-test/suites/external_table_p0/hive/test_hive_partitions.groovy @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -suite("test_hive_partitions", "p0") { +suite("test_hive_partitions", "p0,external,hive,external_docker,external_docker_hive") { def q01 = { qt_q01 """ select id, data from table_with_pars where dt_par = '2023-02-01' order by id; @@ -42,10 +42,12 @@ suite("test_hive_partitions", "p0") { try { String hms_port = context.config.otherConfigs.get("hms_port") String catalog_name = "hive_test_partitions" + String externalEnvIp = context.config.otherConfigs.get("externalEnvIp") + sql """drop catalog if exists ${catalog_name}""" sql """create catalog if not exists ${catalog_name} properties ( "type"="hms", - 'hive.metastore.uris' = 'thrift://127.0.0.1:${hms_port}' + 'hive.metastore.uris' = 'thrift://${externalEnvIp}:${hms_port}' );""" sql """use `${catalog_name}`.`default`""" diff --git a/regression-test/suites/external_table_p0/hive/test_transactional_hive.groovy b/regression-test/suites/external_table_p0/hive/test_transactional_hive.groovy index d15f49749f0..6c8d4d100b3 100644 --- a/regression-test/suites/external_table_p0/hive/test_transactional_hive.groovy +++ b/regression-test/suites/external_table_p0/hive/test_transactional_hive.groovy @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -suite("test_transactional_hive", "p0") { +suite("test_transactional_hive", "p0,external,hive,external_docker,external_docker_hive") { def q01 = { qt_q01 """ select * from orc_full_acid order by id; @@ -44,10 +44,12 @@ suite("test_transactional_hive", "p0") { try { String hms_port = context.config.otherConfigs.get("hms_port") String catalog_name = "test_transactional_hive" + String externalEnvIp = context.config.otherConfigs.get("externalEnvIp") + sql """drop catalog if exists ${catalog_name}""" sql """create catalog if not exists ${catalog_name} properties ( "type"="hms", - 'hive.metastore.uris' = 'thrift://127.0.0.1:${hms_port}' + 'hive.metastore.uris' = 'thrift://${externalEnvIp}:${hms_port}' );""" sql """use `${catalog_name}`.`default`""" diff --git a/regression-test/suites/external_table_p0/jdbc/test_clickhouse_jdbc_catalog.groovy b/regression-test/suites/external_table_p0/jdbc/test_clickhouse_jdbc_catalog.groovy index 015ccbd9606..8fb0f323992 100644 --- a/regression-test/suites/external_table_p0/jdbc/test_clickhouse_jdbc_catalog.groovy +++ b/regression-test/suites/external_table_p0/jdbc/test_clickhouse_jdbc_catalog.groovy @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -suite("test_clickhouse_jdbc_catalog", "p0") { +suite("test_clickhouse_jdbc_catalog", "p0,external,clickhouse,external_docker,external_docker_clickhouse") { String enabled = context.config.otherConfigs.get("enableJdbcTest") if (enabled != null && enabled.equalsIgnoreCase("true")) { String catalog_name = "clickhouse_catalog"; @@ -27,7 +27,9 @@ suite("test_clickhouse_jdbc_catalog", "p0") { String bucket = getS3BucketName() String driver_url = "https://${bucket}.${s3_endpoint}/regression/jdbc_driver/clickhouse-jdbc-0.4.2-all.jar" - String inDorisTable = "doris_in_tb"; + String inDorisTable = "test_clickhouse_jdbc_doris_in_tb"; + + sql """create database if not exists ${internal_db_name}; """ sql """ drop catalog if exists ${catalog_name} """ @@ -39,10 +41,10 @@ suite("test_clickhouse_jdbc_catalog", "p0") { "driver_url" = "${driver_url}", "driver_class" = "com.clickhouse.jdbc.ClickHouseDriver" );""" - - sql """ drop table if exists ${inDorisTable} """ + sql """use ${internal_db_name}""" + sql """ drop table if exists ${internal_db_name}.${inDorisTable} """ sql """ - CREATE TABLE ${inDorisTable} ( + CREATE TABLE ${internal_db_name}.${inDorisTable} ( `id` INT NULL COMMENT "主键id", `name` string NULL COMMENT "名字", `age` INT NULL COMMENT "年龄" diff --git a/regression-test/suites/external_table_p0/jdbc/test_jdbc_query_mysql.groovy b/regression-test/suites/external_table_p0/jdbc/test_jdbc_query_mysql.groovy index b06f14de4ee..8b3f294b61e 100644 --- a/regression-test/suites/external_table_p0/jdbc/test_jdbc_query_mysql.groovy +++ b/regression-test/suites/external_table_p0/jdbc/test_jdbc_query_mysql.groovy @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -suite("test_jdbc_query_mysql", "p0") { +suite("test_jdbc_query_mysql", "p0,external,mysql,external_docker,external_docker_mysql") { String enabled = context.config.otherConfigs.get("enableJdbcTest") if (enabled != null && enabled.equalsIgnoreCase("true")) { diff --git a/regression-test/suites/external_table_p0/jdbc/test_jdbc_query_pg.groovy b/regression-test/suites/external_table_p0/jdbc/test_jdbc_query_pg.groovy index 9e8a4510696..7a41885d7cc 100644 --- a/regression-test/suites/external_table_p0/jdbc/test_jdbc_query_pg.groovy +++ b/regression-test/suites/external_table_p0/jdbc/test_jdbc_query_pg.groovy @@ -17,7 +17,7 @@ import java.nio.charset.Charset; -suite("test_jdbc_query_pg", "p0") { +suite("test_jdbc_query_pg", "p0,external,pg,external_docker,external_docker_pg") { String enabled = context.config.otherConfigs.get("enableJdbcTest") if (enabled != null && enabled.equalsIgnoreCase("true")) { diff --git a/regression-test/suites/external_table_p0/jdbc/test_mysql_jdbc_catalog.groovy b/regression-test/suites/external_table_p0/jdbc/test_mysql_jdbc_catalog.groovy index 2d63f2b458b..6cb48e9f57f 100644 --- a/regression-test/suites/external_table_p0/jdbc/test_mysql_jdbc_catalog.groovy +++ b/regression-test/suites/external_table_p0/jdbc/test_mysql_jdbc_catalog.groovy @@ -15,16 +15,20 @@ // specific language governing permissions and limitations // under the License. -suite("test_mysql_jdbc_catalog", "p0") { +suite("test_mysql_jdbc_catalog", "p0,external,mysql,external_docker,external_docker_mysql") { qt_sql """select current_catalog()""" String enabled = context.config.otherConfigs.get("enableJdbcTest") + String externalEnvIp = context.config.otherConfigs.get("externalEnvIp") + String s3_endpoint = getS3Endpoint() + String bucket = getS3BucketName() + String driver_url = "https://${bucket}.${s3_endpoint}/regression/jdbc_driver/mysql-connector-java-8.0.25.jar" if (enabled != null && enabled.equalsIgnoreCase("true")) { String catalog_name = "mysql_jdbc_catalog"; String internal_db_name = "regression_test_jdbc_catalog_p0"; String ex_db_name = "doris_test"; String mysql_port = context.config.otherConfigs.get("mysql_57_port"); - String inDorisTable = "doris_in_tb"; + String inDorisTable = "test_mysql_jdbc_doris_in_tb"; String ex_tb0 = "ex_tb0"; String ex_tb1 = "ex_tb1"; String ex_tb2 = "ex_tb2"; @@ -52,20 +56,23 @@ suite("test_mysql_jdbc_catalog", "p0") { String dt = "dt"; String dt_null = "dt_null"; + sql """create database if not exists ${internal_db_name}; """ + sql """drop catalog if exists ${catalog_name} """ sql """create catalog if not exists ${catalog_name} properties( "type"="jdbc", "user"="root", "password"="123456", - "jdbc_url" = "jdbc:mysql://127.0.0.1:${mysql_port}/doris_test?useSSL=false&zeroDateTimeBehavior=convertToNull", - "driver_url" = "https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/jdbc_driver/mysql-connector-java-8.0.25.jar", + "jdbc_url" = "jdbc:mysql://${externalEnvIp}:${mysql_port}/doris_test?useSSL=false&zeroDateTimeBehavior=convertToNull", + "driver_url" = "${driver_url}", "driver_class" = "com.mysql.cj.jdbc.Driver" );""" - sql """ drop table if exists ${inDorisTable} """ + sql """use ${internal_db_name}""" + sql """ drop table if exists ${internal_db_name}.${inDorisTable} """ sql """ - CREATE TABLE ${inDorisTable} ( + CREATE TABLE ${internal_db_name}.${inDorisTable} ( `id` INT NULL COMMENT "主键id", `name` string NULL COMMENT "名字" ) DISTRIBUTED BY HASH(id) BUCKETS 10 @@ -109,6 +116,7 @@ suite("test_mysql_jdbc_catalog", "p0") { // test insert String uuid1 = UUID.randomUUID().toString(); sql """ insert into ${test_insert} values ('${uuid1}', 'doris1', 18) """ + order_qt_test_insert1 """ select name, age from ${test_insert} where id = '${uuid1}' order by age """ String uuid2 = UUID.randomUUID().toString(); @@ -130,8 +138,8 @@ suite("test_mysql_jdbc_catalog", "p0") { "type"="jdbc", "user"="root", "password"="123456", - "jdbc_url" = "jdbc:mysql://127.0.0.1:${mysql_port}/doris_test?useSSL=false", - "driver_url" = "https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/jdbc_driver/mysql-connector-java-8.0.25.jar", + "jdbc_url" = "jdbc:mysql://${externalEnvIp}:${mysql_port}/doris_test?useSSL=false", + "driver_url" = "${driver_url}", "driver_class" = "com.mysql.cj.jdbc.Driver", "only_specified_database" = "true" );""" @@ -147,8 +155,8 @@ suite("test_mysql_jdbc_catalog", "p0") { "type"="jdbc", "user"="root", "password"="123456", - "jdbc_url" = "jdbc:mysql://127.0.0.1:${mysql_port}?useSSL=false", - "driver_url" = "https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/jdbc_driver/mysql-connector-java-8.0.25.jar", + "jdbc_url" = "jdbc:mysql://${externalEnvIp}:${mysql_port}?useSSL=false", + "driver_url" = "${driver_url}", "driver_class" = "com.mysql.cj.jdbc.Driver", "only_specified_database" = "true", "include_database_list" = "doris_test" @@ -165,8 +173,8 @@ suite("test_mysql_jdbc_catalog", "p0") { "type"="jdbc", "user"="root", "password"="123456", - "jdbc_url" = "jdbc:mysql://127.0.0.1:${mysql_port}?useSSL=false", - "driver_url" = "https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/jdbc_driver/mysql-connector-java-8.0.25.jar", + "jdbc_url" = "jdbc:mysql://${externalEnvIp}:${mysql_port}?useSSL=false", + "driver_url" = "${driver_url}", "driver_class" = "com.mysql.cj.jdbc.Driver", "only_specified_database" = "true", "exclude_database_list" = "doris_test" @@ -183,8 +191,8 @@ suite("test_mysql_jdbc_catalog", "p0") { "type"="jdbc", "user"="root", "password"="123456", - "jdbc_url" = "jdbc:mysql://127.0.0.1:${mysql_port}?useSSL=false", - "driver_url" = "https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/jdbc_driver/mysql-connector-java-8.0.25.jar", + "jdbc_url" = "jdbc:mysql://${externalEnvIp}:${mysql_port}?useSSL=false", + "driver_url" = "${driver_url}", "driver_class" = "com.mysql.cj.jdbc.Driver", "only_specified_database" = "true", "include_database_list" = "doris_test", @@ -202,8 +210,8 @@ suite("test_mysql_jdbc_catalog", "p0") { "type"="jdbc", "jdbc.user"="root", "jdbc.password"="123456", - "jdbc.jdbc_url" = "jdbc:mysql://127.0.0.1:${mysql_port}/doris_test?useSSL=false", - "jdbc.driver_url" = "https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/jdbc_driver/mysql-connector-java-8.0.25.jar", + "jdbc.jdbc_url" = "jdbc:mysql://${externalEnvIp}:${mysql_port}/doris_test?useSSL=false", + "jdbc.driver_url" = "${driver_url}", "jdbc.driver_class" = "com.mysql.cj.jdbc.Driver"); """ sql """ switch ${catalog_name} """ @@ -222,8 +230,8 @@ suite("test_mysql_jdbc_catalog", "p0") { "type"="jdbc", "jdbc.user"="root", "jdbc.password"="123456", - "jdbc.jdbc_url" = "jdbc:mysql://127.0.0.1:${mysql_port}/doris_test?useSSL=false", - "jdbc.driver_url" = "https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/jdbc_driver/mysql-connector-java-8.0.25.jar", + "jdbc.jdbc_url" = "jdbc:mysql://${externalEnvIp}:${mysql_port}/doris_test?useSSL=false", + "jdbc.driver_url" = "${driver_url}", "jdbc.driver_class" = "com.mysql.cj.jdbc.Driver"); """ qt_mysql_view """ select * from view_catalog.doris_test.mysql_view order by col_1;""" diff --git a/regression-test/suites/external_table_p0/jdbc/test_mysql_jdbc_catalog_nereids.groovy b/regression-test/suites/external_table_p0/jdbc/test_mysql_jdbc_catalog_nereids.groovy index 60c42a369c9..a25ce87ac98 100644 --- a/regression-test/suites/external_table_p0/jdbc/test_mysql_jdbc_catalog_nereids.groovy +++ b/regression-test/suites/external_table_p0/jdbc/test_mysql_jdbc_catalog_nereids.groovy @@ -15,8 +15,12 @@ // specific language governing permissions and limitations // under the License. -suite("test_mysql_jdbc_catalog_nereids", "p0") { +suite("test_mysql_jdbc_catalog_nereids", "p0,external,mysql,external_docker,external_docker_mysql") { String enabled = context.config.otherConfigs.get("enableJdbcTest") + String externalEnvIp = context.config.otherConfigs.get("externalEnvIp") + String s3_endpoint = getS3Endpoint() + String bucket = getS3BucketName() + String driver_url = "https://${bucket}.${s3_endpoint}/regression/jdbc_driver/mysql-connector-java-8.0.25.jar" if (enabled != null && enabled.equalsIgnoreCase("true")) { String catalog_name = "mysql_jdbc_catalog_nereids"; String internal_db_name = "regression_test_jdbc_catalog_p0"; @@ -47,6 +51,8 @@ suite("test_mysql_jdbc_catalog_nereids", "p0") { String test_insert = "test_insert"; String test_insert2 = "test_insert2"; + sql """create database if not exists ${internal_db_name}; """ + sql """ADMIN SET FRONTEND CONFIG ("enable_decimal_conversion" = "true");""" sql """drop catalog if exists ${catalog_name} """ @@ -57,8 +63,8 @@ suite("test_mysql_jdbc_catalog_nereids", "p0") { "type"="jdbc", "user"="root", "password"="123456", - "jdbc_url" = "jdbc:mysql://127.0.0.1:${mysql_port}/doris_test?useSSL=false", - "driver_url" = "https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/jdbc_driver/mysql-connector-java-8.0.25.jar", + "jdbc_url" = "jdbc:mysql://${externalEnvIp}:${mysql_port}/doris_test?useSSL=false", + "driver_url" = "${driver_url}", "driver_class" = "com.mysql.cj.jdbc.Driver" );""" sql """use internal.${internal_db_name}""" @@ -133,8 +139,8 @@ suite("test_mysql_jdbc_catalog_nereids", "p0") { "type"="jdbc", "jdbc.user"="root", "jdbc.password"="123456", - "jdbc.jdbc_url" = "jdbc:mysql://127.0.0.1:${mysql_port}/doris_test?useSSL=false", - "jdbc.driver_url" = "https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/jdbc_driver/mysql-connector-java-8.0.25.jar", + "jdbc.jdbc_url" = "jdbc:mysql://${externalEnvIp}:${mysql_port}/doris_test?useSSL=false", + "jdbc.driver_url" = "${driver_url}", "jdbc.driver_class" = "com.mysql.cj.jdbc.Driver"); """ sql """ switch ${catalog_name} """ diff --git a/regression-test/suites/external_table_p0/jdbc/test_oracle_jdbc_catalog.groovy b/regression-test/suites/external_table_p0/jdbc/test_oracle_jdbc_catalog.groovy index 9809b39657b..77d3015239c 100644 --- a/regression-test/suites/external_table_p0/jdbc/test_oracle_jdbc_catalog.groovy +++ b/regression-test/suites/external_table_p0/jdbc/test_oracle_jdbc_catalog.groovy @@ -15,8 +15,12 @@ // specific language governing permissions and limitations // under the License. -suite("test_oracle_jdbc_catalog", "p0") { +suite("test_oracle_jdbc_catalog", "p0,external,oracle,external_docker,external_docker_oracle") { String enabled = context.config.otherConfigs.get("enableJdbcTest"); + String externalEnvIp = context.config.otherConfigs.get("externalEnvIp") + String s3_endpoint = getS3Endpoint() + String bucket = getS3BucketName() + String driver_url = "https://${bucket}.${s3_endpoint}/regression/jdbc_driver/ojdbc8.jar" if (enabled != null && enabled.equalsIgnoreCase("true")) { String catalog_name = "oracle_catalog"; String internal_db_name = "regression_test_jdbc_catalog_p0"; @@ -28,20 +32,22 @@ suite("test_oracle_jdbc_catalog", "p0") { String inDorisTable = "doris_in_tb"; + sql """create database if not exists ${internal_db_name}; """ + sql """drop catalog if exists ${catalog_name} """ sql """create catalog if not exists ${catalog_name} properties( "type"="jdbc", "user"="doris_test", "password"="123456", - "jdbc_url" = "jdbc:oracle:thin:@127.0.0.1:${oracle_port}:${SID}", - "driver_url" = "https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/jdbc_driver/ojdbc8.jar", + "jdbc_url" = "jdbc:oracle:thin:@${externalEnvIp}:${oracle_port}:${SID}", + "driver_url" = "${driver_url}", "driver_class" = "oracle.jdbc.driver.OracleDriver" );""" - - sql """ drop table if exists ${inDorisTable} """ + sql """use ${internal_db_name}""" + sql """ drop table if exists ${internal_db_name}.${inDorisTable} """ sql """ - CREATE TABLE ${inDorisTable} ( + CREATE TABLE ${internal_db_name}.${inDorisTable} ( `id` INT NULL COMMENT "主键id", `name` string NULL COMMENT "名字", `age` INT NULL COMMENT "年龄" @@ -99,8 +105,8 @@ suite("test_oracle_jdbc_catalog", "p0") { "type"="jdbc", "user"="doris_test", "password"="123456", - "jdbc_url" = "jdbc:oracle:thin:@127.0.0.1:${oracle_port}:${SID}", - "driver_url" = "https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/jdbc_driver/ojdbc8.jar", + "jdbc_url" = "jdbc:oracle:thin:@${externalEnvIp}:${oracle_port}:${SID}", + "driver_url" = "${driver_url}", "driver_class" = "oracle.jdbc.driver.OracleDriver", "only_specified_database" = "true" );""" @@ -114,8 +120,8 @@ suite("test_oracle_jdbc_catalog", "p0") { "type"="jdbc", "user"="doris_test", "password"="123456", - "jdbc_url" = "jdbc:oracle:thin:@127.0.0.1:${oracle_port}:${SID}", - "driver_url" = "https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/jdbc_driver/ojdbc8.jar", + "jdbc_url" = "jdbc:oracle:thin:@${externalEnvIp}:${oracle_port}:${SID}", + "driver_url" = "${driver_url}", "driver_class" = "oracle.jdbc.driver.OracleDriver", "only_specified_database" = "true", "include_database_list" = "${ex_db_name}" @@ -130,8 +136,8 @@ suite("test_oracle_jdbc_catalog", "p0") { "type"="jdbc", "user"="doris_test", "password"="123456", - "jdbc_url" = "jdbc:oracle:thin:@127.0.0.1:${oracle_port}:${SID}", - "driver_url" = "https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/jdbc_driver/ojdbc8.jar", + "jdbc_url" = "jdbc:oracle:thin:@${externalEnvIp}:${oracle_port}:${SID}", + "driver_url" = "${driver_url}", "driver_class" = "oracle.jdbc.driver.OracleDriver", "lower_case_table_names" = "true" );""" @@ -152,8 +158,8 @@ suite("test_oracle_jdbc_catalog", "p0") { "type"="jdbc", "user"="doris_test", "password"="123456", - "jdbc_url" = "jdbc:oracle:thin:@127.0.0.1:${oracle_port}:${SID}", - "driver_url" = "https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/jdbc_driver/ojdbc8.jar", + "jdbc_url" = "jdbc:oracle:thin:@${externalEnvIp}:${oracle_port}:${SID}", + "driver_url" = "${driver_url}", "driver_class" = "oracle.jdbc.driver.OracleDriver", "lower_case_table_names" = "true" );""" diff --git a/regression-test/suites/external_table_p0/jdbc/test_pg_jdbc_catalog.groovy b/regression-test/suites/external_table_p0/jdbc/test_pg_jdbc_catalog.groovy index db7374d929e..f92bb37be68 100644 --- a/regression-test/suites/external_table_p0/jdbc/test_pg_jdbc_catalog.groovy +++ b/regression-test/suites/external_table_p0/jdbc/test_pg_jdbc_catalog.groovy @@ -15,31 +15,37 @@ // specific language governing permissions and limitations // under the License. -suite("test_pg_jdbc_catalog", "p0") { +suite("test_pg_jdbc_catalog", "p0,external,pg,external_docker,external_docker_pg") { String enabled = context.config.otherConfigs.get("enableJdbcTest") + String externalEnvIp = context.config.otherConfigs.get("externalEnvIp") + String s3_endpoint = getS3Endpoint() + String bucket = getS3BucketName() + String driver_url = "https://${bucket}.${s3_endpoint}/regression/jdbc_driver/postgresql-42.5.0.jar" if (enabled != null && enabled.equalsIgnoreCase("true")) { String catalog_name = "pg_jdbc_catalog"; String internal_db_name = "regression_test_jdbc_catalog_p0"; String ex_schema_name = "doris_test"; String ex_schema_name2 = "catalog_pg_test"; String pg_port = context.config.otherConfigs.get("pg_14_port"); - String inDorisTable = "doris_in_tb"; + String inDorisTable = "test_pg_jdbc_doris_in_tb"; String test_insert = "test_insert"; + sql """create database if not exists ${internal_db_name}; """ + sql """drop catalog if exists ${catalog_name} """ sql """create catalog if not exists ${catalog_name} properties( "type"="jdbc", "user"="postgres", "password"="123456", - "jdbc_url" = "jdbc:postgresql://127.0.0.1:${pg_port}/postgres?currentSchema=doris_test&useSSL=false", - "driver_url" = "https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/jdbc_driver/postgresql-42.5.0.jar", + "jdbc_url" = "jdbc:postgresql://${externalEnvIp}:${pg_port}/postgres?currentSchema=doris_test&useSSL=false", + "driver_url" = "${driver_url}", "driver_class" = "org.postgresql.Driver" );""" - - sql """ drop table if exists ${inDorisTable} """ + sql """use ${internal_db_name}""" + sql """ drop table if exists ${internal_db_name}.${inDorisTable} """ sql """ - CREATE TABLE ${inDorisTable} ( + CREATE TABLE ${internal_db_name}.${inDorisTable} ( `id` INT NULL COMMENT "主键id", `name` string NULL COMMENT "名字" ) DISTRIBUTED BY HASH(id) BUCKETS 10 @@ -106,8 +112,8 @@ suite("test_pg_jdbc_catalog", "p0") { "type"="jdbc", "user"="postgres", "password"="123456", - "jdbc_url" = "jdbc:postgresql://127.0.0.1:${pg_port}/postgres?currentSchema=doris_test&useSSL=false", - "driver_url" = "https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/jdbc_driver/postgresql-42.5.0.jar", + "jdbc_url" = "jdbc:postgresql://${externalEnvIp}:${pg_port}/postgres?currentSchema=doris_test&useSSL=false", + "driver_url" = "${driver_url}", "driver_class" = "org.postgresql.Driver", "only_specified_database" = "true" );""" @@ -121,8 +127,8 @@ suite("test_pg_jdbc_catalog", "p0") { "type"="jdbc", "user"="postgres", "password"="123456", - "jdbc_url" = "jdbc:postgresql://127.0.0.1:${pg_port}/postgres?currentSchema=doris_test&useSSL=false", - "driver_url" = "https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/jdbc_driver/postgresql-42.5.0.jar", + "jdbc_url" = "jdbc:postgresql://${externalEnvIp}:${pg_port}/postgres?currentSchema=doris_test&useSSL=false", + "driver_url" = "${driver_url}", "driver_class" = "org.postgresql.Driver", "only_specified_database" = "true", "include_database_list" = "doris_test" @@ -137,8 +143,8 @@ suite("test_pg_jdbc_catalog", "p0") { "type"="jdbc", "user"="postgres", "password"="123456", - "jdbc_url" = "jdbc:postgresql://127.0.0.1:${pg_port}/postgres?currentSchema=doris_test&useSSL=false", - "driver_url" = "https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/jdbc_driver/postgresql-42.5.0.jar", + "jdbc_url" = "jdbc:postgresql://${externalEnvIp}:${pg_port}/postgres?currentSchema=doris_test&useSSL=false", + "driver_url" = "${driver_url}", "driver_class" = "org.postgresql.Driver", "only_specified_database" = "true", "exclude_database_list" = "doris_test" @@ -153,8 +159,8 @@ suite("test_pg_jdbc_catalog", "p0") { "type"="jdbc", "user"="postgres", "password"="123456", - "jdbc_url" = "jdbc:postgresql://127.0.0.1:${pg_port}/postgres?currentSchema=doris_test&useSSL=false", - "driver_url" = "https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/jdbc_driver/postgresql-42.5.0.jar", + "jdbc_url" = "jdbc:postgresql://${externalEnvIp}:${pg_port}/postgres?currentSchema=doris_test&useSSL=false", + "driver_url" = "${driver_url}", "driver_class" = "org.postgresql.Driver", "only_specified_database" = "true", "include_database_list" = "doris_test", @@ -169,8 +175,8 @@ suite("test_pg_jdbc_catalog", "p0") { "type"="jdbc", "jdbc.user"="postgres", "jdbc.password"="123456", - "jdbc.jdbc_url" = "jdbc:postgresql://127.0.0.1:${pg_port}/postgres?useSSL=false¤tSchema=doris_test", - "jdbc.driver_url" = "https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/jdbc_driver/postgresql-42.5.0.jar", + "jdbc.jdbc_url" = "jdbc:postgresql://${externalEnvIp}:${pg_port}/postgres?useSSL=false¤tSchema=doris_test", + "jdbc.driver_url" = "${driver_url}", "jdbc.driver_class" = "org.postgresql.Driver"); """ diff --git a/regression-test/suites/external_table_p0/jdbc/test_sqlserver_jdbc_catalog.groovy b/regression-test/suites/external_table_p0/jdbc/test_sqlserver_jdbc_catalog.groovy index f1184df91a7..65a85a8fd3a 100644 --- a/regression-test/suites/external_table_p0/jdbc/test_sqlserver_jdbc_catalog.groovy +++ b/regression-test/suites/external_table_p0/jdbc/test_sqlserver_jdbc_catalog.groovy @@ -15,27 +15,33 @@ // specific language governing permissions and limitations // under the License. -suite("test_sqlserver_jdbc_catalog", "p0") { +suite("test_sqlserver_jdbc_catalog", "p0,external,sqlserver,external_docker,external_docker_sqlserver") { String enabled = context.config.otherConfigs.get("enableJdbcTest"); + String externalEnvIp = context.config.otherConfigs.get("externalEnvIp") + String s3_endpoint = getS3Endpoint() + String bucket = getS3BucketName() + String driver_url = "https://${bucket}.${s3_endpoint}/regression/jdbc_driver/mssql-jdbc-11.2.3.jre8.jar" if (enabled != null && enabled.equalsIgnoreCase("true")) { String catalog_name = "sqlserver_catalog"; - String internal_db_name = "regression_test_jdbc_catalog_p0"; + String internal_db_name = "sqlserver_jdbc_catalog_p0"; String ex_db_name = "dbo"; String sqlserver_port = context.config.otherConfigs.get("sqlserver_2022_port"); - String inDorisTable = "doris_in_tb"; + String inDorisTable = "test_sqlserver_doris_in_tb"; sql """ drop catalog if exists ${catalog_name} """ sql """ create catalog if not exists ${catalog_name} properties( "type"="jdbc", - "user"="SA", + "user"="sa", "password"="Doris123456", - "jdbc_url" = "jdbc:sqlserver://127.0.0.1:${sqlserver_port};encrypt=false;DataBaseName=doris_test", - "driver_url" = "https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/jdbc_driver/mssql-jdbc-11.2.3.jre8.jar", + "jdbc_url" = "jdbc:sqlserver://${externalEnvIp}:${sqlserver_port};encrypt=false;databaseName=doris_test;", + "driver_url" = "${driver_url}", "driver_class" = "com.microsoft.sqlserver.jdbc.SQLServerDriver" );""" - + sql """drop database if exists ${internal_db_name}""" + sql """create database if not exists ${internal_db_name}""" + sql """use ${internal_db_name}""" sql """ drop table if exists ${inDorisTable} """ sql """ CREATE TABLE ${inDorisTable} ( diff --git a/regression-test/suites/external_table_p0/paimon/test_paimon_catalog.groovy b/regression-test/suites/external_table_p0/paimon/test_paimon_catalog.groovy index ad72a47e64d..8c4e257f1f1 100644 --- a/regression-test/suites/external_table_p0/paimon/test_paimon_catalog.groovy +++ b/regression-test/suites/external_table_p0/paimon/test_paimon_catalog.groovy @@ -72,10 +72,14 @@ suite("test_paimon_catalog", "p0,external,doris,external_docker,external_docker_ def c15 = """select * from all_table where c15='a';""" def c16 = """select * from all_table where c16=true;""" def c18 = """select * from all_table where c18='2023-08-13 09:32:38.53';""" - def c19 = """select * from auto_bucket;""" + def c19 = """select * from auto_bucket order by user_id;""" def c20 = """select * from auto_bucket where dt="b";""" def c21 = """select * from auto_bucket where dt="b" and hh="c";""" def c22 = """select * from auto_bucket where dt="d";""" + def c23 = """select * from complex_tab order by c1;""" + def c24 = """select * from complex_tab where c1=1;""" + def c26 = """select array_max(c2) from complex_tab""" + def c25 = """select c3['a_test'], c3['b_test'], c3['bbb'], c3['ccc'] from complex_tab""" String hdfs_port = context.config.otherConfigs.get("hdfs_port") String catalog_name = "paimon1" diff --git a/regression-test/suites/external_table_p0/tvf/test_backends_tvf.groovy b/regression-test/suites/external_table_p0/tvf/test_backends_tvf.groovy index e448e50b852..be497ee25a8 100644 --- a/regression-test/suites/external_table_p0/tvf/test_backends_tvf.groovy +++ b/regression-test/suites/external_table_p0/tvf/test_backends_tvf.groovy @@ -16,7 +16,7 @@ // under the License. // This suit test the `backends` tvf -suite("test_backends_tvf") { +suite("test_backends_tvf","p0,external,tvf,external_docker") { List<List<Object>> table = sql """ select * from backends(); """ assertTrue(table.size() > 0) assertEquals(24, table[0].size) diff --git a/regression-test/suites/external_table_p0/tvf/test_catalogs_tvf.groovy b/regression-test/suites/external_table_p0/tvf/test_catalogs_tvf.groovy index e1a98b00375..aec1a3ccc26 100644 --- a/regression-test/suites/external_table_p0/tvf/test_catalogs_tvf.groovy +++ b/regression-test/suites/external_table_p0/tvf/test_catalogs_tvf.groovy @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -suite("test_catalogs_tvf") { +suite("test_catalogs_tvf","p0,external,tvf,external_docker") { List<List<Object>> table = sql """ select * from catalogs(); """ assertTrue(table.size() > 0) assertEquals(5, table[0].size) diff --git a/regression-test/suites/external_table_p0/tvf/test_create_view_from_tvf.groovy b/regression-test/suites/external_table_p0/tvf/test_create_view_from_tvf.groovy index c98cfb328e1..d845d6f8129 100644 --- a/regression-test/suites/external_table_p0/tvf/test_create_view_from_tvf.groovy +++ b/regression-test/suites/external_table_p0/tvf/test_create_view_from_tvf.groovy @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. - suite("test_create_view_from_tvf") { + suite("test_create_view_from_tvf","p0,external,tvf,external_docker") { String testViewName = "test_view_from_number" def create_view = {createViewSql -> diff --git a/regression-test/suites/external_table_p0/tvf/test_frontends_tvf.groovy b/regression-test/suites/external_table_p0/tvf/test_frontends_tvf.groovy index 05f85eb85a5..e247f8bdf1a 100644 --- a/regression-test/suites/external_table_p0/tvf/test_frontends_tvf.groovy +++ b/regression-test/suites/external_table_p0/tvf/test_frontends_tvf.groovy @@ -16,7 +16,7 @@ // under the License. // This suit test the `frontends` tvf -suite("test_frontends_tvf") { +suite("test_frontends_tvf","p0,external,tvf,external_docker") { List<List<Object>> table = sql """ select * from `frontends`(); """ assertTrue(table.size() > 0) assertTrue(table[0].size == 17) diff --git a/regression-test/suites/external_table_p0/tvf/test_hdfs_tvf.groovy b/regression-test/suites/external_table_p0/tvf/test_hdfs_tvf.groovy index a4b9bdd71c8..856646fff21 100644 --- a/regression-test/suites/external_table_p0/tvf/test_hdfs_tvf.groovy +++ b/regression-test/suites/external_table_p0/tvf/test_hdfs_tvf.groovy @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -suite("test_hdfs_tvf") { +suite("test_hdfs_tvf","external,hive,tvf,external_docker") { String hdfs_port = context.config.otherConfigs.get("hdfs_port") // It's okay to use random `hdfsUser`, but can not be empty. def hdfsUserName = "doris" 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 c83c247f11b..48ebfe91fac 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 @@ -21,7 +21,7 @@ import java.nio.charset.StandardCharsets import java.nio.file.Files import java.nio.file.Paths -suite("test_insert_from_tvf_with_common_user", "p0") { +suite("test_insert_from_tvf_with_common_user","p0,external,hive,tvf,external_docker") { String ak = getS3AK() String sk = getS3SK() String s3_endpoint = getS3Endpoint() diff --git a/regression-test/suites/external_table_p0/tvf/test_local_tvf_with_complex_type.groovy b/regression-test/suites/external_table_p0/tvf/test_local_tvf_with_complex_type.groovy index cd5948b22c3..bd7c6cda549 100644 --- a/regression-test/suites/external_table_p0/tvf/test_local_tvf_with_complex_type.groovy +++ b/regression-test/suites/external_table_p0/tvf/test_local_tvf_with_complex_type.groovy @@ -18,7 +18,7 @@ import org.junit.Assert // under the License. // This suit test the `backends` tvf -suite("test_local_tvf_with_complex_type", "p0") { +suite("test_local_tvf_with_complex_type","external,hive,tvf,external_docker") { List<List<Object>> backends = sql """ show backends """ def dataFilePath = context.config.dataPath + "/external_table_p0/tvf/" diff --git a/regression-test/suites/external_table_p0/tvf/test_local_tvf_with_complex_type_element_at.groovy b/regression-test/suites/external_table_p0/tvf/test_local_tvf_with_complex_type_element_at.groovy index 91c00a9046a..01497d7f301 100644 --- a/regression-test/suites/external_table_p0/tvf/test_local_tvf_with_complex_type_element_at.groovy +++ b/regression-test/suites/external_table_p0/tvf/test_local_tvf_with_complex_type_element_at.groovy @@ -18,7 +18,7 @@ import org.junit.Assert // under the License. // This suit test the `backends` tvf -suite("test_local_tvf_with_complex_type_element_at", "p0") { +suite("test_local_tvf_with_complex_type_element_at","external,hive,tvf,external_docker") { List<List<Object>> backends = sql """ show backends """ assertTrue(backends.size() > 0) def be_id = backends[0][0] diff --git a/regression-test/suites/external_table_p0/tvf/test_local_tvf_with_complex_type_insertinto_doris.groovy b/regression-test/suites/external_table_p0/tvf/test_local_tvf_with_complex_type_insertinto_doris.groovy index 04feab78ddb..5d68209b6db 100644 --- a/regression-test/suites/external_table_p0/tvf/test_local_tvf_with_complex_type_insertinto_doris.groovy +++ b/regression-test/suites/external_table_p0/tvf/test_local_tvf_with_complex_type_insertinto_doris.groovy @@ -18,7 +18,7 @@ import org.junit.Assert // under the License. // This suit test the `backends` tvf -suite("test_local_tvf_with_complex_type_insertinto_doris", "p0") { +suite("test_local_tvf_with_complex_type_insertinto_doris","external,hive,tvf,external_docker") { sql """set enable_nereids_planner=false""" List<List<Object>> backends = sql """ select * from backends(); """ assertTrue(backends.size() > 0) diff --git a/regression-test/suites/external_table_p0/tvf/test_numbers.groovy b/regression-test/suites/external_table_p0/tvf/test_numbers.groovy index f7647b178db..d3341eb54ea 100644 --- a/regression-test/suites/external_table_p0/tvf/test_numbers.groovy +++ b/regression-test/suites/external_table_p0/tvf/test_numbers.groovy @@ -16,7 +16,7 @@ // under the License. - suite("test_numbers") { + suite("test_numbers","external,hive,tvf,external_docker") { // Test basic features qt_basic1 """ select * from numbers("number" = "1"); """ qt_basic2 """ select * from numbers("number" = "10"); """ --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org