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 2cfd3689684 [bugfix](paimon)fix paimon testcases #30514 (#30699)
2cfd3689684 is described below
commit 2cfd36896845a0ab17a806c82caa44500d78ec04
Author: wuwenchi <[email protected]>
AuthorDate: Thu Feb 1 17:30:42 2024 +0800
[bugfix](paimon)fix paimon testcases #30514 (#30699)
---
be/src/vec/exec/format/orc/vorc_reader.cpp | 23 +-
be/src/vec/exec/format/orc/vorc_reader.h | 4 +-
be/src/vec/exec/scan/vfile_scanner.cpp | 25 ++-
.../external/paimon/PaimonValueConverter.java | 8 +-
.../paimon/test_paimon_catalog.out | 130 +++++++++---
.../paimon/test_paimon_catalog.groovy | 232 ++++++++++-----------
.../paimon/paimon_timestamp_types.groovy | 2 +-
7 files changed, 256 insertions(+), 168 deletions(-)
diff --git a/be/src/vec/exec/format/orc/vorc_reader.cpp
b/be/src/vec/exec/format/orc/vorc_reader.cpp
index 8076260cff4..fc1d5e17b30 100644
--- a/be/src/vec/exec/format/orc/vorc_reader.cpp
+++ b/be/src/vec/exec/format/orc/vorc_reader.cpp
@@ -138,7 +138,7 @@ void ORCFileInputStream::read(void* buf, uint64_t length,
uint64_t offset) {
OrcReader::OrcReader(RuntimeProfile* profile, RuntimeState* state,
const TFileScanRangeParams& params, const TFileRangeDesc&
range,
size_t batch_size, const std::string& ctz, io::IOContext*
io_ctx,
- bool enable_lazy_mat)
+ bool enable_lazy_mat, std::vector<orc::TypeKind>*
unsupported_pushdown_types)
: _profile(profile),
_state(state),
_scan_params(params),
@@ -150,7 +150,8 @@ OrcReader::OrcReader(RuntimeProfile* profile, RuntimeState*
state,
_is_hive(params.__isset.slot_name_to_schema_pos),
_io_ctx(io_ctx),
_enable_lazy_mat(enable_lazy_mat),
- _is_dict_cols_converted(false) {
+ _is_dict_cols_converted(false),
+ _unsupported_pushdown_types(unsupported_pushdown_types) {
TimezoneUtils::find_cctz_time_zone(ctz, _time_zone);
VecDateTimeValue t;
t.from_unixtime(0, ctz);
@@ -512,8 +513,20 @@ std::tuple<bool, orc::Literal>
convert_to_orc_literal(const orc::Type* type, con
template <PrimitiveType primitive_type>
std::vector<OrcPredicate> value_range_to_predicate(
- const ColumnValueRange<primitive_type>& col_val_range, const
orc::Type* type) {
+ const ColumnValueRange<primitive_type>& col_val_range, const
orc::Type* type,
+ std::vector<orc::TypeKind>* unsupported_pushdown_types) {
std::vector<OrcPredicate> predicates;
+
+ if (unsupported_pushdown_types != nullptr) {
+ for (vector<orc::TypeKind>::iterator it =
unsupported_pushdown_types->begin();
+ it != unsupported_pushdown_types->end(); ++it) {
+ if (*it == type->getKind()) {
+ // Unsupported type
+ return predicates;
+ }
+ }
+ }
+
orc::PredicateDataType predicate_data_type;
auto type_it = TYPEKIND_TO_PREDICATE_TYPE.find(type->getKind());
if (type_it == TYPEKIND_TO_PREDICATE_TYPE.end()) {
@@ -655,8 +668,8 @@ bool OrcReader::_init_search_argument(
}
std::visit(
[&](auto& range) {
- std::vector<OrcPredicate> value_predicates =
- value_range_to_predicate(range, type_it->second);
+ std::vector<OrcPredicate> value_predicates =
value_range_to_predicate(
+ range, type_it->second,
_unsupported_pushdown_types);
for (auto& range_predicate : value_predicates) {
predicates.emplace_back(range_predicate);
}
diff --git a/be/src/vec/exec/format/orc/vorc_reader.h
b/be/src/vec/exec/format/orc/vorc_reader.h
index 92890db1403..a6ffc93bea1 100644
--- a/be/src/vec/exec/format/orc/vorc_reader.h
+++ b/be/src/vec/exec/format/orc/vorc_reader.h
@@ -135,7 +135,8 @@ public:
OrcReader(RuntimeProfile* profile, RuntimeState* state, const
TFileScanRangeParams& params,
const TFileRangeDesc& range, size_t batch_size, const
std::string& ctz,
- io::IOContext* io_ctx, bool enable_lazy_mat = true);
+ io::IOContext* io_ctx, bool enable_lazy_mat = true,
+ std::vector<orc::TypeKind>* unsupported_pushdown_types =
nullptr);
OrcReader(const TFileScanRangeParams& params, const TFileRangeDesc& range,
const std::string& ctz, io::IOContext* io_ctx, bool
enable_lazy_mat = true);
@@ -559,6 +560,7 @@ private:
std::unique_ptr<orc::StringDictFilter> _string_dict_filter;
bool _is_dict_cols_converted;
bool _has_complex_type = false;
+ std::vector<orc::TypeKind>* _unsupported_pushdown_types;
};
class ORCFileInputStream : public orc::InputStream {
diff --git a/be/src/vec/exec/scan/vfile_scanner.cpp
b/be/src/vec/exec/scan/vfile_scanner.cpp
index d6ba62db53a..988dab0a502 100644
--- a/be/src/vec/exec/scan/vfile_scanner.cpp
+++ b/be/src/vec/exec/scan/vfile_scanner.cpp
@@ -723,9 +723,20 @@ Status VFileScanner::_get_next_reader() {
break;
}
case TFileFormatType::FORMAT_PARQUET: {
+ static const cctz::time_zone utc0 = cctz::utc_time_zone();
+ cctz::time_zone* tz;
+ if (range.__isset.table_format_params &&
+ range.table_format_params.table_format_type == "paimon") {
+ // The timestmap generated by paimon does not carry metadata
information (e.g., isAdjustToUTC, etc.),
+ // and the stored data is UTC0 by default, so it is directly
set to the UTC time zone.
+ // In version 0.7, paimon fixed this issue and can remove the
judgment here
+ tz = const_cast<cctz::time_zone*>(&utc0);
+ } else {
+ tz = const_cast<cctz::time_zone*>(&_state->timezone_obj());
+ }
std::unique_ptr<ParquetReader> parquet_reader =
ParquetReader::create_unique(
- _profile, *_params, range,
_state->query_options().batch_size,
- const_cast<cctz::time_zone*>(&_state->timezone_obj()),
_io_ctx.get(), _state,
+ _profile, *_params, range,
_state->query_options().batch_size, tz,
+ _io_ctx.get(), _state,
config::max_external_file_meta_cache_num <= 0
? nullptr
: ExecEnv::GetInstance()->file_meta_cache(),
@@ -763,9 +774,17 @@ Status VFileScanner::_get_next_reader() {
break;
}
case TFileFormatType::FORMAT_ORC: {
+ std::vector<orc::TypeKind>* unsupported_pushdown_types = nullptr;
+ if (range.__isset.table_format_params &&
+ range.table_format_params.table_format_type == "paimon") {
+ static std::vector<orc::TypeKind> paimon_unsupport_type =
+ std::vector<orc::TypeKind> {orc::TypeKind::CHAR};
+ unsupported_pushdown_types = &paimon_unsupport_type;
+ }
std::unique_ptr<OrcReader> orc_reader = OrcReader::create_unique(
_profile, _state, *_params, range,
_state->query_options().batch_size,
- _state->timezone(), _io_ctx.get(),
_state->query_options().enable_orc_lazy_mat);
+ _state->timezone(), _io_ctx.get(),
_state->query_options().enable_orc_lazy_mat,
+ unsupported_pushdown_types);
if (push_down_predicates) {
RETURN_IF_ERROR(_process_late_arrival_conjuncts());
}
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/planner/external/paimon/PaimonValueConverter.java
b/fe/fe-core/src/main/java/org/apache/doris/planner/external/paimon/PaimonValueConverter.java
index 127c4797a46..56b6dcdbdbe 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/planner/external/paimon/PaimonValueConverter.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/planner/external/paimon/PaimonValueConverter.java
@@ -23,9 +23,7 @@ import org.apache.doris.analysis.DecimalLiteral;
import org.apache.doris.analysis.FloatLiteral;
import org.apache.doris.analysis.IntLiteral;
import org.apache.doris.analysis.LiteralExpr;
-import org.apache.doris.analysis.StringLiteral;
-import com.google.common.base.Strings;
import org.apache.paimon.data.BinaryString;
import org.apache.paimon.data.Decimal;
import org.apache.paimon.data.Timestamp;
@@ -64,10 +62,8 @@ public class PaimonValueConverter extends
DataTypeDefaultVisitor<Object> {
}
public BinaryString visit(CharType charType) {
- if (expr instanceof StringLiteral) {
- StringLiteral stringLiteral = (StringLiteral) expr;
- return
BinaryString.fromString(Strings.padEnd(stringLiteral.getStringValue(),
charType.getLength(), ' '));
- }
+ // Currently, Paimon does not support predicate push-down for char
+ // ref: org.apache.paimon.predicate.PredicateBuilder.convertJavaObject
return null;
}
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 e9ee0993fb2..e3530354768 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
@@ -3,10 +3,6 @@
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
10 20 30 40 50 60 70 80 90.1 100.1
110.10 2020-03-02 130str 140varchar b false bbbb
2023-08-14T08:32:52.821
--- !all_with_parquet --
-2 2 3 4 5 6 7 8 9.1 10.1
11.10 2020-02-02 13str 14varchar a true aaaa
2023-12-21T10:02:32.747
-10 20 30 40 50 60 70 80 90.1 100.1
110.10 2020-03-02 130str 140varchar b false bbbb
2023-12-21T10:02:37.527
-
-- !predict_like_1 --
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
10 20 30 40 50 60 70 80 90.1 100.1
110.10 2020-03-02 130str 140varchar b false bbbb
2023-08-14T08:32:52.821
@@ -24,7 +20,7 @@
10 20 30 40 50 60 70 80 90.1 100.1
110.10 2020-03-02 130str 140varchar b false bbbb
2023-08-14T08:32:52.821
-- !c1 --
-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
+10 20 30 40 50 60 70 80 90.1 100.1
110.10 2020-03-02 130str 140varchar b false bbbb
2023-08-14T08:32:52.821
-- !c2 --
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
@@ -74,6 +70,84 @@
-- !c18 --
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
+-- !c101 --
+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
+10 20 30 40 50 60 70 80 90.1 100.1
110.10 2020-03-02 130str 140varchar b false bbbb
2023-08-14T08:32:52.821
+
+-- !all --
+2 2 3 4 5 6 7 8 9.1 10.1
11.10 2020-02-02 13str 14varchar a true aaaa
2023-12-21T10:02:32.747
+10 20 30 40 50 60 70 80 90.1 100.1
110.10 2020-03-02 130str 140varchar b false bbbb
2023-12-21T10:02:37.527
+
+-- !predict_like_1 --
+2 2 3 4 5 6 7 8 9.1 10.1
11.10 2020-02-02 13str 14varchar a true aaaa
2023-12-21T10:02:32.747
+10 20 30 40 50 60 70 80 90.1 100.1
110.10 2020-03-02 130str 140varchar b false bbbb
2023-12-21T10:02:37.527
+
+-- !predict_like_2 --
+2 2 3 4 5 6 7 8 9.1 10.1
11.10 2020-02-02 13str 14varchar a true aaaa
2023-12-21T10:02:32.747
+10 20 30 40 50 60 70 80 90.1 100.1
110.10 2020-03-02 130str 140varchar b false bbbb
2023-12-21T10:02:37.527
+
+-- !predict_like_3 --
+
+-- !predict_like_4 --
+10 20 30 40 50 60 70 80 90.1 100.1
110.10 2020-03-02 130str 140varchar b false bbbb
2023-12-21T10:02:37.527
+
+-- !predict_like_5 --
+10 20 30 40 50 60 70 80 90.1 100.1
110.10 2020-03-02 130str 140varchar b false bbbb
2023-12-21T10:02:37.527
+
+-- !c1 --
+10 20 30 40 50 60 70 80 90.1 100.1
110.10 2020-03-02 130str 140varchar b false bbbb
2023-12-21T10:02:37.527
+
+-- !c2 --
+2 2 3 4 5 6 7 8 9.1 10.1
11.10 2020-02-02 13str 14varchar a true aaaa
2023-12-21T10:02:32.747
+
+-- !c3 --
+2 2 3 4 5 6 7 8 9.1 10.1
11.10 2020-02-02 13str 14varchar a true aaaa
2023-12-21T10:02:32.747
+
+-- !c4 --
+2 2 3 4 5 6 7 8 9.1 10.1
11.10 2020-02-02 13str 14varchar a true aaaa
2023-12-21T10:02:32.747
+
+-- !c5 --
+2 2 3 4 5 6 7 8 9.1 10.1
11.10 2020-02-02 13str 14varchar a true aaaa
2023-12-21T10:02:32.747
+
+-- !c6 --
+2 2 3 4 5 6 7 8 9.1 10.1
11.10 2020-02-02 13str 14varchar a true aaaa
2023-12-21T10:02:32.747
+
+-- !c7 --
+2 2 3 4 5 6 7 8 9.1 10.1
11.10 2020-02-02 13str 14varchar a true aaaa
2023-12-21T10:02:32.747
+
+-- !c8 --
+2 2 3 4 5 6 7 8 9.1 10.1
11.10 2020-02-02 13str 14varchar a true aaaa
2023-12-21T10:02:32.747
+
+-- !c9 --
+2 2 3 4 5 6 7 8 9.1 10.1
11.10 2020-02-02 13str 14varchar a true aaaa
2023-12-21T10:02:32.747
+
+-- !c10 --
+2 2 3 4 5 6 7 8 9.1 10.1
11.10 2020-02-02 13str 14varchar a true aaaa
2023-12-21T10:02:32.747
+
+-- !c11 --
+2 2 3 4 5 6 7 8 9.1 10.1
11.10 2020-02-02 13str 14varchar a true aaaa
2023-12-21T10:02:32.747
+
+-- !c12 --
+2 2 3 4 5 6 7 8 9.1 10.1
11.10 2020-02-02 13str 14varchar a true aaaa
2023-12-21T10:02:32.747
+
+-- !c13 --
+2 2 3 4 5 6 7 8 9.1 10.1
11.10 2020-02-02 13str 14varchar a true aaaa
2023-12-21T10:02:32.747
+
+-- !c14 --
+2 2 3 4 5 6 7 8 9.1 10.1
11.10 2020-02-02 13str 14varchar a true aaaa
2023-12-21T10:02:32.747
+
+-- !c15 --
+2 2 3 4 5 6 7 8 9.1 10.1
11.10 2020-02-02 13str 14varchar a true aaaa
2023-12-21T10:02:32.747
+
+-- !c16 --
+2 2 3 4 5 6 7 8 9.1 10.1
11.10 2020-02-02 13str 14varchar a true aaaa
2023-12-21T10:02:32.747
+
+-- !c18 --
+
+-- !c101 --
+2 2 3 4 5 6 7 8 9.1 10.1
11.10 2020-02-02 13str 14varchar a true aaaa
2023-12-21T10:02:32.747
+10 20 30 40 50 60 70 80 90.1 100.1
110.10 2020-03-02 130str 140varchar b false bbbb
2023-12-21T10:02:37.527
+
-- !c19 --
1 2 a b c
11 22 aa bb cc
@@ -95,9 +169,9 @@
1 [1111, 2222, 3333] {"a_test":1}
-- !c25 --
-true \N \N \N
-\N false true \N
\N \N \N false
+\N false true \N
+true \N \N \N
-- !c26 --
3333
@@ -125,9 +199,9 @@ true \N \N \N
4
-- !c31 --
-7
\N
\N
+7
-- !c32 --
10
@@ -140,9 +214,9 @@ true \N \N \N
15
-- !c34 --
-16
\N
\N
+16
-- !c35 --
18
@@ -155,14 +229,14 @@ true \N \N \N
21.11
-- !c37 --
+\N
23.333
23.333
-\N
-- !c38 --
+\N
24.44
24.44
-\N
-- !c39 --
2023-10-24
@@ -185,39 +259,39 @@ true \N \N \N
2
-- !c43 --
+\N
true
true
-\N
-- !c44 --
2
-4
3
+4
-- !c45 --
+\N
2023-10-24T16:10:40.529
2023-10-24T18:19:51.670
-\N
-- !c46 --
-1
\N
\N
+1
-- !c47 --
-2
\N
\N
+2
-- !c48 --
-5
\N
\N
+5
-- !c49 --
+\N
9
9
-\N
-- !c50 --
7
@@ -225,9 +299,9 @@ true
7
-- !c51 --
+\N
19
19
-\N
-- !c52 --
\N
@@ -290,9 +364,9 @@ bbb
2023-10-24T18:20:16.600
-- !c64 --
-1
\N
\N
+1
-- !c65 --
3
@@ -305,14 +379,14 @@ bbb
4
-- !c67 --
-6
\N
\N
+6
-- !c68 --
-7
\N
\N
+7
-- !c69 --
19
@@ -325,9 +399,9 @@ bbb
21
-- !c71 --
+\N
22
22
-\N
-- !c72 --
21.11
@@ -360,14 +434,14 @@ aa
aa
-- !c78 --
+\N
o
o
-\N
-- !c79 --
-true
\N
\N
+true
-- !c80 --
bbb
@@ -375,9 +449,9 @@ bbb
bbb
-- !c80 --
+\N
2023-10-24T16:10:40.533
2023-10-24T18:19:51.673
-\N
-- !c80 --
1
@@ -410,9 +484,9 @@ bbb
19
-- !c80 --
-21
\N
\N
+21
-- !c80 --
22
@@ -465,9 +539,9 @@ bbb
bbb
-- !c99 --
+\N
2023-10-24T16:10:40.533
2023-10-24T18:19:51.673
-\N
-- !c100 --
1 [[0, 1, 1], [0, 1, 1], [1, 1, 1]] [["3", "7", "a"], ["0", "e",
"2"], ["b", "4", "5"]] [["77", "83", "1c"], ["af", "f0", "0b"], ["be",
"d2", "7b"]]
[["4a3aee3c345936f7a6eeb5307fc79d5f9ee3ae3a5e58edcfd4d40ec3d27353bf7b15a2eb6b6011e9ddf2c2cd1d6d50d6cc20",
"00cb283c1a2bb2f3f244f89eafb79effd8aea55d5e68ce9d707250a3b47b65c0ea2b591b7145a56c801b9e6bda853e2f0581",
"ae8fbe21e20f32a486757b5254faea09906bf451e096cc7d33b5a6fb56995c1601e7469a674f5e8475a2b86d2a69e02f9438"],
["6827f8e65869d476a9e2fdfa03 [...]
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 c271099dc5d..5b39cd38aa2 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
@@ -54,115 +54,118 @@ suite("test_paimon_catalog",
"p0,external,doris,external_docker,external_docker_
String enabled = context.config.otherConfigs.get("enablePaimonTest")
if (enabled != null && enabled.equalsIgnoreCase("true")) {
- def all = """select * from all_table order by c1;"""
- def all_with_parquet = """select * from all_table_with_parquet
order by c1;"""
- def predict_like_1 = """select * from all_table where c13 like
'%3%' order by c1"""
- def predict_like_2 = """select * from all_table where c13 like
'13%' order by c1"""
- def predict_like_3 = """select * from all_table where c13 like
'13' order by c1"""
- def predict_like_4 = """select * from all_table where c13 like
'130str' order by c1"""
- def predict_like_5 = """select * from all_table where c13 like
'130str%' order by c1"""
- def c1 = """select * from all_table where c1=1;"""
- def c2 = """select * from all_table where c2=2;"""
- def c3 = """select * from all_table where c3=3;"""
- def c4 = """select * from all_table where c4=4;"""
- def c5 = """select * from all_table where c5=5;"""
- def c6 = """select * from all_table where c6=6;"""
- def c7 = """select * from all_table where c7=7;"""
- def c8 = """select * from all_table where c8=8;"""
- def c9 = """select * from all_table where c9<10;"""
- def c10 = """select * from all_table where c10=10.1;"""
- def c11 = """select * from all_table where c11=11.1;"""
- def c12 = """select * from all_table where c12='2020-02-02';"""
- def c13 = """select * from all_table where c13='13str';"""
- def c14 = """select * from all_table where c14='14varchar';"""
- 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 qt_all_type = { String table_name ->
+ qt_all """select * from ${table_name} order by c1"""
+ qt_predict_like_1 """select * from ${table_name} where c13
like '%3%' order by c1"""
+ qt_predict_like_2 """select * from ${table_name} where c13
like '13%' order by c1"""
+ qt_predict_like_3 """select * from ${table_name} where c13
like '13' order by c1"""
+ qt_predict_like_4 """select * from ${table_name} where c13
like '130str' order by c1"""
+ qt_predict_like_5 """select * from ${table_name} where c13
like '130str%' order by c1"""
+ qt_c1 """select * from ${table_name} where c1=10;"""
+ qt_c2 """select * from ${table_name} where c2=2;"""
+ qt_c3 """select * from ${table_name} where c3=3;"""
+ qt_c4 """select * from ${table_name} where c4=4;"""
+ qt_c5 """select * from ${table_name} where c5=5;"""
+ qt_c6 """select * from ${table_name} where c6=6;"""
+ qt_c7 """select * from ${table_name} where c7=7;"""
+ qt_c8 """select * from ${table_name} where c8=8;"""
+ qt_c9 """select * from ${table_name} where c9<10;"""
+ qt_c10 """select * from ${table_name} where c10=10.1;"""
+ qt_c11 """select * from ${table_name} where c11=11.1;"""
+ qt_c12 """select * from ${table_name} where
c12='2020-02-02';"""
+ qt_c13 """select * from ${table_name} where c13='13str';"""
+ qt_c14 """select * from ${table_name} where
c14='14varchar';"""
+ qt_c15 """select * from ${table_name} where c15='a';"""
+ qt_c16 """select * from ${table_name} where c16=true;"""
+ qt_c18 """select * from ${table_name} where c18='2023-08-13
09:32:38.53';"""
+ qt_c101 """select * from ${table_name} where c1 is not null or
c2 is not null order by c1"""
+ }
+
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"""
-
- def c27 = """select * from complex_all order by c1;"""
- def c28 = """select array_min(c2) from complex_all"""
- def c29 = """select array_min(c3) from complex_all"""
- def c30= """select array_min(c4) from complex_all"""
- def c31= """select array_min(c5) from complex_all"""
- def c32= """select array_min(c6) from complex_all"""
- def c33= """select array_min(c7) from complex_all"""
- def c34= """select array_min(c8) from complex_all"""
- def c35= """select array_min(c9) from complex_all"""
- def c36= """select array_min(c10) from complex_all"""
- def c37= """select array_max(c11) from complex_all"""
- def c38= """select array_max(c12) from complex_all"""
- def c39= """select array_max(c13) from complex_all"""
- def c40= """select array_size(c14) from complex_all"""
- def c41= """select array_size(c15) from complex_all"""
- def c42= """select array_size(c16) from complex_all"""
- def c43= """select array_max(c17) from complex_all"""
- def c44= """select array_size(c18) from complex_all"""
- def c45= """select array_max(c19) from complex_all"""
+ def c25 = """select c3['a_test'], c3['b_test'], c3['bbb'],
c3['ccc'] from complex_tab order by c3['a_test'], c3['b_test']"""
+ def c26 = """select array_max(c2) c from complex_tab order by c"""
+ def c27 = """select * from complex_all order by c1"""
+ def c28 = """select array_min(c2) c from complex_all order by c"""
+ def c29 = """select array_min(c3) c from complex_all order by c"""
+ def c30= """select array_min(c4) c from complex_all order by c"""
+ def c31= """select array_min(c5) c from complex_all order by c"""
+ def c32= """select array_min(c6) c from complex_all order by c"""
+ def c33= """select array_min(c7) c from complex_all order by c"""
+ def c34= """select array_min(c8) c from complex_all order by c"""
+ def c35= """select array_min(c9) c from complex_all order by c"""
+ def c36= """select array_min(c10) c from complex_all order by c"""
+ def c37= """select array_max(c11) c from complex_all order by c"""
+ def c38= """select array_max(c12) c from complex_all order by c"""
+ def c39= """select array_max(c13) c from complex_all order by c"""
+ def c40= """select array_size(c14) c from complex_all order by c"""
+ def c41= """select array_size(c15) c from complex_all order by c"""
+ def c42= """select array_size(c16) c from complex_all order by c"""
+ def c43= """select array_max(c17) c from complex_all order by c"""
+ def c44= """select array_size(c18) c from complex_all order by c"""
+ def c45= """select array_max(c19) c from complex_all order by c"""
- def c46= """select c20[0] from complex_all"""
- def c47= """select c21[0] from complex_all"""
- def c48= """select c22[0] from complex_all"""
- def c49= """select c23[0] from complex_all"""
- def c50= """select c24[1] from complex_all"""
- def c51= """select c25[0] from complex_all"""
- def c52= """select c26[0] from complex_all"""
- def c53= """select c27[0] from complex_all"""
- def c54= """select c28[0] from complex_all"""
- def c55= """select c29[0] from complex_all"""
- def c56= """select c30[0] from complex_all"""
- def c57= """select c31[0] from complex_all"""
- def c58= """select c32[0] from complex_all"""
- def c59= """select c33[0] from complex_all"""
- def c60= """select c34[0] from complex_all"""
- def c61= """select c35[0] from complex_all"""
- def c62= """select c36[0] from complex_all"""
- def c63= """select c37[0] from complex_all"""
+ def c46= """select c20[0] c from complex_all order by c"""
+ def c47= """select c21[0] c from complex_all order by c"""
+ def c48= """select c22[0] c from complex_all order by c"""
+ def c49= """select c23[0] c from complex_all order by c"""
+ def c50= """select c24[1] c from complex_all order by c"""
+ def c51= """select c25[0] c from complex_all order by c"""
+ def c52= """select c26[0] c from complex_all order by c"""
+ def c53= """select c27[0] c from complex_all order by c"""
+ def c54= """select c28[0] c from complex_all order by c"""
+ def c55= """select c29[0] c from complex_all order by c"""
+ def c56= """select c30[0] c from complex_all order by c"""
+ def c57= """select c31[0] c from complex_all order by c"""
+ def c58= """select c32[0] c from complex_all order by c"""
+ def c59= """select c33[0] c from complex_all order by c"""
+ def c60= """select c34[0] c from complex_all order by c"""
+ def c61= """select c35[0] c from complex_all order by c"""
+ def c62= """select c36[0] c from complex_all order by c"""
+ def c63= """select c37[0] c from complex_all order by c"""
- def c64= """select c38[2] from complex_all"""
- def c65= """select c39[4] from complex_all"""
- def c66= """select c40[5] from complex_all;"""
- def c67= """select c41[7] from complex_all;"""
- def c68= """select c42[9] from complex_all"""
- def c69= """select c43[10] from complex_all"""
- def c70= """select c44[12] from complex_all"""
- def c71= """select c45[13] from complex_all"""
- def c72= """select c46[14] from complex_all;"""
- def c73= """select c47[16] from complex_all;"""
- def c74= """select c48[17] from complex_all;"""
- def c75= """select c49[19] from complex_all;"""
- def c76= """select c50[21] from complex_all;"""
- def c77= """select c51[22] from complex_all;"""
- def c78= """select c52[25] from complex_all;"""
- def c79= """select c53[27] from complex_all;"""
- def c80= """select c54[29] from complex_all;"""
- def c81= """select c55[30] from complex_all;"""
+ def c64= """select c38[2] c from complex_all order by c"""
+ def c65= """select c39[4] c from complex_all order by c"""
+ def c66= """select c40[5] c from complex_all order by c"""
+ def c67= """select c41[7] c from complex_all order by c"""
+ def c68= """select c42[9] c from complex_all order by c"""
+ def c69= """select c43[10] c from complex_all order by c"""
+ def c70= """select c44[12] c from complex_all order by c"""
+ def c71= """select c45[13] c from complex_all order by c"""
+ def c72= """select c46[14] c from complex_all order by c"""
+ def c73= """select c47[16] c from complex_all order by c"""
+ def c74= """select c48[17] c from complex_all order by c"""
+ def c75= """select c49[19] c from complex_all order by c"""
+ def c76= """select c50[21] c from complex_all order by c"""
+ def c77= """select c51[22] c from complex_all order by c"""
+ def c78= """select c52[25] c from complex_all order by c"""
+ def c79= """select c53[27] c from complex_all order by c"""
+ def c80= """select c54[29] c from complex_all order by c"""
+ def c81= """select c55[30] c from complex_all order by c"""
- def c82= """select c56[2] from complex_all"""
- def c83= """select c57[4] from complex_all"""
- def c84= """select c58[5] from complex_all;"""
- def c85= """select c59[7] from complex_all;"""
- def c86= """select c60[9] from complex_all"""
- def c87= """select c61[10] from complex_all"""
- def c88= """select c62[12] from complex_all"""
- def c89= """select c63[13] from complex_all"""
- def c90= """select c64[14] from complex_all;"""
- def c91= """select c65[16] from complex_all;"""
- def c92= """select c66[17] from complex_all;"""
- def c93= """select c67[19] from complex_all;"""
- def c94= """select c68[21] from complex_all;"""
- def c95= """select c69[22] from complex_all;"""
- def c96= """select c70[25] from complex_all;"""
- def c97= """select c71[27] from complex_all;"""
- def c98= """select c72[29] from complex_all;"""
- def c99= """select c73[30] from complex_all;"""
+ def c82= """select c56[2] c from complex_all order by c"""
+ def c83= """select c57[4] c from complex_all order by c"""
+ def c84= """select c58[5] c from complex_all order by c"""
+ def c85= """select c59[7] c from complex_all order by c"""
+ def c86= """select c60[9] c from complex_all order by c"""
+ def c87= """select c61[10] c from complex_all order by c"""
+ def c88= """select c62[12] c from complex_all order by c"""
+ def c89= """select c63[13] c from complex_all order by c"""
+ def c90= """select c64[14] c from complex_all order by c"""
+ def c91= """select c65[16] c from complex_all order by c"""
+ def c92= """select c66[17] c from complex_all order by c"""
+ def c93= """select c67[19] c from complex_all order by c"""
+ def c94= """select c68[21] c from complex_all order by c"""
+ def c95= """select c69[22] c from complex_all order by c"""
+ def c96= """select c70[25] c from complex_all order by c"""
+ def c97= """select c71[27] c from complex_all order by c"""
+ def c98= """select c72[29] c from complex_all order by c"""
+ def c99= """select c73[30] c from complex_all order by c"""
def c100= """select * from array_nested order by c1;"""
@@ -178,30 +181,9 @@ suite("test_paimon_catalog",
"p0,external,doris,external_docker,external_docker_
);"""
sql """use `${catalog_name}`.`db1`"""
- qt_all all
- qt_all_with_parquet all_with_parquet
- qt_predict_like_1 predict_like_1
- qt_predict_like_2 predict_like_2
- qt_predict_like_3 predict_like_3
- qt_predict_like_4 predict_like_4
- qt_predict_like_5 predict_like_5
- qt_c1 c1
- qt_c2 c2
- qt_c3 c3
- qt_c4 c4
- qt_c5 c5
- qt_c6 c6
- qt_c7 c7
- qt_c8 c8
- qt_c9 c9
- qt_c10 c10
- qt_c11 c11
- qt_c12 c12
- qt_c13 c13
- qt_c14 c14
- qt_c15 c15
- qt_c16 c16
- qt_c18 c18
+ qt_all_type("all_table")
+ qt_all_type("all_table_with_parquet")
+
qt_c19 c19
qt_c20 c20
qt_c21 c21
@@ -304,3 +286,5 @@ suite("test_paimon_catalog",
"p0,external,doris,external_docker,external_docker_
// qt_view1 view1
}
}
+
+
diff --git
a/regression-test/suites/external_table_p2/paimon/paimon_timestamp_types.groovy
b/regression-test/suites/external_table_p2/paimon/paimon_timestamp_types.groovy
index dbb1f1d038c..0a96a7ad187 100644
---
a/regression-test/suites/external_table_p2/paimon/paimon_timestamp_types.groovy
+++
b/regression-test/suites/external_table_p2/paimon/paimon_timestamp_types.groovy
@@ -32,7 +32,7 @@ suite("paimon_timestamp_types",
"p2,external,paimon,external_remote,external_rem
create catalog if not exists ${catalog_name} properties (
"type" = "paimon",
"paimon.catalog.type" = "filesystem",
- "warehouse" = "hdfs://${hiveHost}/${hivePort}/paimon/paimon1",
+ "warehouse" = "hdfs://${hiveHost}:${hivePort}/paimon/paimon1",
"hadoop.username" = "${user_name}"
);
"""
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]