This is an automated email from the ASF dual-hosted git repository.
kxiao 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 bf34be824b2 [fix](complex-column)fix column bitmap with agg behavior
(#43228)
bf34be824b2 is described below
commit bf34be824b2344aa58055ce44f57f5cfefb38a08
Author: amory <[email protected]>
AuthorDate: Wed Nov 6 10:23:16 2024 +0800
[fix](complex-column)fix column bitmap with agg behavior (#43228)
---
be/src/vec/columns/column_complex.h | 14 +++++++++-----
.../test_aggregate_all_functions2.groovy | 4 ++++
2 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/be/src/vec/columns/column_complex.h
b/be/src/vec/columns/column_complex.h
index e63db5cb06f..1e02b415d13 100644
--- a/be/src/vec/columns/column_complex.h
+++ b/be/src/vec/columns/column_complex.h
@@ -81,7 +81,7 @@ public:
} else if constexpr (std::is_same_v<T, QuantileStateDouble>) {
pvalue->deserialize(Slice(pos, length));
} else {
- LOG(FATAL) << "Unexpected type in column complex";
+ throw doris::Exception(ErrorCode::INTERNAL_ERROR, "Unexpected type
in column complex");
}
}
@@ -124,12 +124,12 @@ public:
[[noreturn]] void get_permutation(bool reverse, size_t limit, int
nan_direction_hint,
IColumn::Permutation& res) const
override {
- LOG(FATAL) << "get_permutation not implemented";
+ throw doris::Exception(ErrorCode::INTERNAL_ERROR, "get_permutation not
implemented");
}
void get_indices_of_non_default_rows(IColumn::Offsets64& indices, size_t
from,
size_t limit) const override {
- LOG(FATAL) << "get_indices_of_non_default_rows not implemented";
+ throw doris::Exception(ErrorCode::INTERNAL_ERROR, "get_int not
implemented");
}
[[noreturn]] ColumnPtr index(const IColumn& indexes, size_t limit) const
override {
LOG(FATAL) << "index not implemented";
@@ -205,11 +205,15 @@ public:
// it's impossible to use ComplexType as key , so we don't have to
implement them
[[noreturn]] StringRef serialize_value_into_arena(size_t n, Arena& arena,
char const*& begin)
const override {
- LOG(FATAL) << "serialize_value_into_arena not implemented";
+ throw doris::Exception(ErrorCode::INTERNAL_ERROR,
+ "serialize_value_into_arena not implemented");
+ __builtin_unreachable();
}
[[noreturn]] const char* deserialize_and_insert_from_arena(const char*
pos) override {
- LOG(FATAL) << "deserialize_and_insert_from_arena not implemented";
+ throw doris::Exception(ErrorCode::INTERNAL_ERROR,
+ "deserialize_and_insert_from_arena not
implemented");
+ __builtin_unreachable();
}
// maybe we do not need to impl the function
diff --git
a/regression-test/suites/query_p0/sql_functions/aggregate_functions/test_aggregate_all_functions2.groovy
b/regression-test/suites/query_p0/sql_functions/aggregate_functions/test_aggregate_all_functions2.groovy
index 823a73e700d..95609f3a399 100644
---
a/regression-test/suites/query_p0/sql_functions/aggregate_functions/test_aggregate_all_functions2.groovy
+++
b/regression-test/suites/query_p0/sql_functions/aggregate_functions/test_aggregate_all_functions2.groovy
@@ -113,4 +113,8 @@ suite("test_aggregate_all_functions2") {
qt_select_minmax2 """ select max_by(datekey,hour) from metric_table; """
qt_select_minmax3 """ select bitmap_to_string(max_by(device_id,hour)) from
metric_table; """
qt_select_minmax4 """ select bitmap_to_string(min_by(device_id,hour)) from
metric_table; """
+ test {
+ sql "select * from (select device_id from metric_table where hour=1
minus select device_id from metric_table where hour=2 ) x;"
+ exception "not implemented"
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]