This is an automated email from the ASF dual-hosted git repository.
morningman 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 a364a24ac22 [Enhance](regression) add hive out file check (#25475)
a364a24ac22 is described below
commit a364a24ac227de4c5c3ba81236915dba29660077
Author: zhangguoqiang <[email protected]>
AuthorDate: Tue Oct 17 10:11:57 2023 +0800
[Enhance](regression) add hive out file check (#25475)
add hive out file check
fix hive sql state with " ; "
---
.../hive/test_prepare_hive_data_in_case.out | 11 +++++
.../org/apache/doris/regression/suite/Suite.groovy | 48 +++++++++++++++++++---
.../hive/test_prepare_hive_data_in_case.groovy | 11 ++++-
3 files changed, 62 insertions(+), 8 deletions(-)
diff --git
a/regression-test/data/external_table_p0/hive/test_prepare_hive_data_in_case.out
b/regression-test/data/external_table_p0/hive/test_prepare_hive_data_in_case.out
new file mode 100644
index 00000000000..7259a57a915
--- /dev/null
+++
b/regression-test/data/external_table_p0/hive/test_prepare_hive_data_in_case.out
@@ -0,0 +1,11 @@
+-- This file is automatically generated. You should know what you did if you
want to edit this
+-- !hive_docker_01 --
+eee fff
+ccc ddd
+aaa bbb
+
+-- !sql_02 --
+eee fff
+ccc ddd
+aaa bbb
+
diff --git
a/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy
b/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy
index f7460d95be9..0b7bc659755 100644
---
a/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy
+++
b/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy
@@ -565,7 +565,7 @@ class Suite implements GroovyInterceptable {
}
List<List<Object>> hive_docker(String sqlStr, boolean isOrder = false){
- String cleanedSqlStr = sqlStr.replaceAll(/;+$/, '')
+ String cleanedSqlStr = sqlStr.replaceAll("\\s*;\\s*\$", "")
def (result, meta) =
JdbcUtils.executeToList(context.getHiveDockerConnection(), cleanedSqlStr)
if (isOrder) {
result = DataUtils.sortByToString(result)
@@ -574,7 +574,7 @@ class Suite implements GroovyInterceptable {
}
List<List<Object>> hive_remote(String sqlStr, boolean isOrder = false){
- String cleanedSqlStr = sqlStr.replaceAll(/;+$/, '')
+ String cleanedSqlStr = sqlStr.replaceAll("\\s*;\\s*\$", "")
def (result, meta) =
JdbcUtils.executeToList(context.getHiveRemoteConnection(), cleanedSqlStr)
if (isOrder) {
result = DataUtils.sortByToString(result)
@@ -586,9 +586,23 @@ class Suite implements GroovyInterceptable {
if (context.config.generateOutputFile ||
context.config.forceGenerateOutputFile) {
Tuple2<List<List<Object>>, ResultSetMetaData> tupleResult = null
if (arg instanceof PreparedStatement) {
- tupleResult =
JdbcUtils.executeToStringList(context.getConnection(), (PreparedStatement) arg)
+ if (tag.contains("hive_docker")) {
+ tupleResult =
JdbcUtils.executeToStringList(context.getHiveDockerConnection(),
(PreparedStatement) arg)
+ }else if (tag.contains("hive_remote")) {
+ tupleResult =
JdbcUtils.executeToStringList(context.getHiveRemoteConnection(),
(PreparedStatement) arg)
+ }
+ else{
+ tupleResult =
JdbcUtils.executeToStringList(context.getConnection(), (PreparedStatement) arg)
+ }
} else {
- tupleResult =
JdbcUtils.executeToStringList(context.getConnection(), (String) arg)
+ if (tag.contains("hive_docker")) {
+ tupleResult =
JdbcUtils.executeToStringList(context.getHiveDockerConnection(), (String) arg)
+ }else if (tag.contains("hive_remote")) {
+ tupleResult =
JdbcUtils.executeToStringList(context.getHiveRemoteConnection(), (String) arg)
+ }
+ else{
+ tupleResult =
JdbcUtils.executeToStringList(context.getConnection(), (String) arg)
+ }
}
def (result, meta) = tupleResult
if (isOrder) {
@@ -610,9 +624,23 @@ class Suite implements GroovyInterceptable {
OutputUtils.TagBlockIterator expectCsvResults =
context.getOutputIterator().next()
Tuple2<List<List<Object>>, ResultSetMetaData> tupleResult = null
if (arg instanceof PreparedStatement) {
- tupleResult =
JdbcUtils.executeToStringList(context.getConnection(), (PreparedStatement) arg)
+ if (tag.contains("hive_docker")) {
+ tupleResult =
JdbcUtils.executeToStringList(context.getHiveDockerConnection(),
(PreparedStatement) arg)
+ }else if (tag.contains("hive_remote")) {
+ tupleResult =
JdbcUtils.executeToStringList(context.getHiveRemoteConnection(),
(PreparedStatement) arg)
+ }
+ else{
+ tupleResult =
JdbcUtils.executeToStringList(context.getConnection(), (PreparedStatement) arg)
+ }
} else {
- tupleResult =
JdbcUtils.executeToStringList(context.getConnection(), (String) arg)
+ if (tag.contains("hive_docker")) {
+ tupleResult =
JdbcUtils.executeToStringList(context.getHiveDockerConnection(), (String) arg)
+ }else if (tag.contains("hive_remote")) {
+ tupleResult =
JdbcUtils.executeToStringList(context.getHiveRemoteConnection(), (String) arg)
+ }
+ else{
+ tupleResult =
JdbcUtils.executeToStringList(context.getConnection(), (String) arg)
+ }
}
def (realResults, meta) = tupleResult
if (isOrder) {
@@ -641,6 +669,14 @@ class Suite implements GroovyInterceptable {
void quickTest(String tag, String sql, boolean isOrder = false) {
logger.info("Execute tag: ${tag}, ${isOrder ? "order_" : ""}sql:
${sql}".toString())
+ if (tag.contains("hive_docker")) {
+ String cleanedSqlStr = sql.replaceAll("\\s*;\\s*\$", "")
+ sql = cleanedSqlStr
+ }
+ if (tag.contains("hive_remote")) {
+ String cleanedSqlStr = sql.replaceAll("\\s*;\\s*\$", "")
+ sql = cleanedSqlStr
+ }
quickRunTest(tag, sql, isOrder)
}
diff --git
a/regression-test/suites/external_table_p0/hive/test_prepare_hive_data_in_case.groovy
b/regression-test/suites/external_table_p0/hive/test_prepare_hive_data_in_case.groovy
index b56ba5806cb..6569d57f211 100644
---
a/regression-test/suites/external_table_p0/hive/test_prepare_hive_data_in_case.groovy
+++
b/regression-test/suites/external_table_p0/hive/test_prepare_hive_data_in_case.groovy
@@ -24,10 +24,13 @@ suite("test_prepare_hive_data_in_case",
"p0,external,hive,external_docker,extern
String hms_port = context.config.otherConfigs.get("hms_port")
hive_docker """show databases;"""
- hive_docker """drop table if exists
default.test_prepare_hive_data_in_case;"""
- hive_docker """create table default.test_prepare_hive_data_in_case
(k1 String, k2 String);"""
+ hive_docker """drop table if exists
default.test_prepare_hive_data_in_case; """
+ hive_docker """
+ create table
default.test_prepare_hive_data_in_case (k1 String, k2 String);
+ """
hive_docker """insert into default.test_prepare_hive_data_in_case
values ('aaa','bbb'),('ccc','ddd'),('eee','fff')"""
def values = hive_docker """select count(*) from
`default`.test_prepare_hive_data_in_case;"""
+
log.info(values.toString())
sql """drop catalog if exists test_prepare_hive_data_in_case;"""
@@ -39,6 +42,10 @@ suite("test_prepare_hive_data_in_case",
"p0,external,hive,external_docker,extern
log.info(values2.toString())
assertEquals(values[0][0],values2[0][0])
+ qt_hive_docker_01 """select * from
default.test_prepare_hive_data_in_case order by k1 desc ;"""
+
+ qt_sql_02 """ select * from
test_prepare_hive_data_in_case.`default`.test_prepare_hive_data_in_case order
by k1 desc;"""
+
} finally {
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]