Skip to content

Commit 5a2b8b9

Browse files
committed
update
1 parent ddea6c3 commit 5a2b8b9

File tree

6 files changed

+20
-8
lines changed

6 files changed

+20
-8
lines changed

be/src/olap/accept_null_predicate.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ class AcceptNullPredicate : public ColumnPredicate {
128128
return row_ranges->count() > 0;
129129
}
130130

131-
bool evaluate_del(const ZoneMapInfo& zone_map_info) const override {
131+
bool evaluate_del(ZoneMapInfo& zone_map_info) const override {
132132
return _nested->evaluate_del(zone_map_info);
133133
}
134134

be/src/olap/column_predicate.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -281,9 +281,9 @@ class ColumnPredicate : public std::enable_shared_from_this<ColumnPredicate> {
281281

282282
virtual bool evaluate_and(ZoneMapInfo& zone_map_info) const { return true; }
283283

284-
virtual bool is_always_true(const ZoneMapInfo& zone_map_info) const { return false; }
284+
virtual bool is_always_true(ZoneMapInfo& zone_map_info) const { return false; }
285285

286-
virtual bool evaluate_del(const ZoneMapInfo& zone_map_info) const { return false; }
286+
virtual bool evaluate_del(ZoneMapInfo& zone_map_info) const { return false; }
287287

288288
virtual bool evaluate_and(BloomFilterInfo& bloom_filter_info) const { return true; }
289289

be/src/olap/comparison_predicate.h

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,10 @@ class ComparisonPredicateBase final : public ColumnPredicate {
207207
return row_ranges->count() > 0;
208208
}
209209

210-
bool is_always_true(const ZoneMapInfo& zone_map_info) const override {
210+
bool is_always_true(ZoneMapInfo& zone_map_info) const override {
211+
if (!(*zone_map_info.get_stat_func)(&zone_map_info, column_id())) {
212+
return false;
213+
}
211214
if (zone_map_info.has_null) {
212215
return false;
213216
}
@@ -225,7 +228,10 @@ class ComparisonPredicateBase final : public ColumnPredicate {
225228
return false;
226229
}
227230

228-
bool evaluate_del(const ZoneMapInfo& zone_map_info) const override {
231+
bool evaluate_del(ZoneMapInfo& zone_map_info) const override {
232+
if (!(*zone_map_info.get_stat_func)(&zone_map_info, column_id())) {
233+
return false;
234+
}
229235
if (zone_map_info.has_null) {
230236
return false;
231237
}

be/src/olap/in_list_predicate.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,10 @@ class InListPredicateBase final : public ColumnPredicate {
315315
return false;
316316
}
317317

318-
bool evaluate_del(const ZoneMapInfo& zone_map_info) const override {
318+
bool evaluate_del(ZoneMapInfo& zone_map_info) const override {
319+
if (!(*zone_map_info.get_stat_func)(&zone_map_info, column_id())) {
320+
return false;
321+
}
319322
if (zone_map_info.has_null) {
320323
return false;
321324
}

be/src/olap/null_predicate.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,10 @@ class NullPredicate final : public ColumnPredicate {
9797
return row_ranges->count() > 0;
9898
}
9999

100-
bool evaluate_del(const ZoneMapInfo& zone_map_info) const override {
100+
bool evaluate_del(ZoneMapInfo& zone_map_info) const override {
101+
if (!(*zone_map_info.get_stat_func)(&zone_map_info, column_id())) {
102+
return false;
103+
}
101104
// evaluate_del only use for delete condition to filter page, need use delete condition origin value,
102105
// when opposite==true, origin value 'is null'->'is not null' and 'is not null'->'is null',
103106
// so when _is_null==true, need check 'is not null' and _is_null==false, need check 'is null'

be/src/olap/shared_predicate.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ class SharedPredicate final : public ColumnPredicate {
111111
return _nested->evaluate_and(zone_map_info);
112112
}
113113

114-
bool evaluate_del(const ZoneMapInfo& zone_map_info) const override {
114+
bool evaluate_del(ZoneMapInfo& zone_map_info) const override {
115115
std::shared_lock<std::shared_mutex> lock(*_mtx);
116116
if (!_nested) {
117117
return ColumnPredicate::evaluate_del(zone_map_info);

0 commit comments

Comments
 (0)