[Fix](bitmap index) fix is_like_predicate for bitmap index evaluate (#25961)
This commit is contained in:
@ -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
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user