From 7b9bee0ba112e524333e1f8be837a389484e7f1a Mon Sep 17 00:00:00 2001 From: Pxl Date: Wed, 13 Nov 2024 18:59:28 +0800 Subject: [PATCH] [Bug](bitmap-filter) fix wrong type cast on BitmapFilterColumnPredicate::evaluate (#43877) ### What problem does this PR solve? fix wrong type cast on BitmapFilterColumnPredicate::evaluate ![img_v3_02gj_453c524a-5330-4180-9169-9760edcd74eg](https://github.com/user-attachments/assets/2b8e1fa7-2568-4cd8-bd00-aa58d107796b) --- be/src/olap/bitmap_filter_predicate.h | 2 +- be/test/olap/bitmap_filter_column_predicate_test.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/be/src/olap/bitmap_filter_predicate.h b/be/src/olap/bitmap_filter_predicate.h index 7518099796fd2e..716c99927bf2d6 100644 --- a/be/src/olap/bitmap_filter_predicate.h +++ b/be/src/olap/bitmap_filter_predicate.h @@ -40,7 +40,7 @@ class BitmapFilterColumnPredicate : public ColumnPredicate { const std::shared_ptr& filter, int) : ColumnPredicate(column_id), _filter(filter), - _specific_filter(static_cast(_filter.get())) {} + _specific_filter(assert_cast(_filter.get())) {} ~BitmapFilterColumnPredicate() override = default; PredicateType type() const override { return PredicateType::BITMAP_FILTER; } diff --git a/be/test/olap/bitmap_filter_column_predicate_test.cpp b/be/test/olap/bitmap_filter_column_predicate_test.cpp index 2f97704de50d23..c8845787e9acf2 100644 --- a/be/test/olap/bitmap_filter_column_predicate_test.cpp +++ b/be/test/olap/bitmap_filter_column_predicate_test.cpp @@ -128,7 +128,7 @@ TEST_F(BitmapFilterColumnPredicateTest, evaluate_column) { bitmap_value.add_many(filter_values.data(), filter_values.size()); filter->insert(&bitmap_value); - auto column = vectorized::ColumnInt32::create(); + auto column = vectorized::PredicateColumnType::create(); column->insert_many_fix_len_data(reinterpret_cast(values.data()), values.size()); uint16_t* sel = new uint16_t[column->size()]; @@ -162,7 +162,7 @@ TEST_F(BitmapFilterColumnPredicateTest, evaluate_column_nullable) { bitmap_value.add_many(filter_values.data(), filter_values.size()); filter->insert(&bitmap_value); - auto column = vectorized::ColumnInt32::create(); + auto column = vectorized::PredicateColumnType::create(); column->insert_many_fix_len_data(reinterpret_cast(values.data()), values.size()); auto flag = vectorized::ColumnUInt8::create(); flag->insert_many_defaults(column->size());