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 <wangqian...@selectdb.com> 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: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org