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

Reply via email to