This is an automated email from the ASF dual-hosted git repository.
jianliangqi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 5e884bc0655 [Fix](bitmap index) fix is_like_predicate for bitmap index
evaluate (#25961)
5e884bc0655 is described below
commit 5e884bc0655aeb7226996de9a9840f79e6156fcf
Author: airborne12 <[email protected]>
AuthorDate: Fri Oct 27 20:23:42 2023 +0800
[Fix](bitmap index) fix is_like_predicate for bitmap index evaluate (#25961)
---
be/src/olap/comparison_predicate.h | 2 +-
be/src/olap/in_list_predicate.h | 2 +-
be/src/olap/rowset/segment_v2/segment_iterator.cpp | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/be/src/olap/comparison_predicate.h
b/be/src/olap/comparison_predicate.h
index 8ec1504dce5..2fa1d629811 100644
--- a/be/src/olap/comparison_predicate.h
+++ b/be/src/olap/comparison_predicate.h
@@ -380,7 +380,7 @@ private:
roaring::Roaring* bitmap) const {
roaring::Roaring roaring;
- if (status.is<ErrorCode::NOT_FOUND>()) {
+ if (status.is<ErrorCode::ENTRY_NOT_FOUND>()) {
if constexpr (PT == PredicateType::EQ || PT == PredicateType::GT ||
PT == PredicateType::GE) {
*bitmap &= roaring; // set bitmap to empty
diff --git a/be/src/olap/in_list_predicate.h b/be/src/olap/in_list_predicate.h
index 73791bbf9ec..cb733ab9b65 100644
--- a/be/src/olap/in_list_predicate.h
+++ b/be/src/olap/in_list_predicate.h
@@ -197,7 +197,7 @@ public:
bool exact_match;
Status s = iterator->seek_dictionary(value, &exact_match);
rowid_t seeked_ordinal = iterator->current_ordinal();
- if (!s.is<ErrorCode::NOT_FOUND>()) {
+ if (!s.is<ErrorCode::ENTRY_NOT_FOUND>()) {
if (!s.ok()) {
return s;
}
diff --git a/be/src/olap/rowset/segment_v2/segment_iterator.cpp
b/be/src/olap/rowset/segment_v2/segment_iterator.cpp
index bbacb8137b1..f5ccbef0adc 100644
--- a/be/src/olap/rowset/segment_v2/segment_iterator.cpp
+++ b/be/src/olap/rowset/segment_v2/segment_iterator.cpp
@@ -532,8 +532,8 @@ Status SegmentIterator::_apply_bitmap_index() {
std::vector<ColumnPredicate*> remaining_predicates;
auto is_like_predicate = [](ColumnPredicate* _pred) {
- if (static_cast<LikeColumnPredicate<TYPE_CHAR>*>(_pred) != nullptr ||
- static_cast<LikeColumnPredicate<TYPE_STRING>*>(_pred) != nullptr) {
+ if (dynamic_cast<LikeColumnPredicate<TYPE_CHAR>*>(_pred) != nullptr ||
+ dynamic_cast<LikeColumnPredicate<TYPE_STRING>*>(_pred) != nullptr)
{
return true;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]