From ad1da8d5bf5b5c0fac76f5b8e5a22fd75dfd6966 Mon Sep 17 00:00:00 2001 From: obdev Date: Fri, 14 Apr 2023 09:08:59 +0000 Subject: [PATCH] [CP] fix FilterListAND/OR semantic, in oreder to match with hbase --- src/observer/table/ob_htable_filters.cpp | 2 ++ src/observer/table/ob_htable_filters.h | 1 + 2 files changed, 3 insertions(+) diff --git a/src/observer/table/ob_htable_filters.cpp b/src/observer/table/ob_htable_filters.cpp index fb91d5321..7751c239f 100644 --- a/src/observer/table/ob_htable_filters.cpp +++ b/src/observer/table/ob_htable_filters.cpp @@ -815,6 +815,8 @@ bool SingleColumnValueFilter::filter_column_value(const ObHTableCell &cell) bool SingleColumnValueFilter::filter_row() { + // If column was found, return false if it was matched, true if it was not + // If column not found, return true if we filter if missing, false if not LOG_DEBUG("[yzfdebug] filter row", K_(found_column), K_(matched_column), K_(filter_if_missing)); return found_column_ ? (!matched_column_) : (filter_if_missing_); } diff --git a/src/observer/table/ob_htable_filters.h b/src/observer/table/ob_htable_filters.h index 353bcc872..fed13408b 100644 --- a/src/observer/table/ob_htable_filters.h +++ b/src/observer/table/ob_htable_filters.h @@ -300,6 +300,7 @@ public: int add_filter(Filter *filter); Operator get_operator() const { return op_; } virtual void reset() override; + virtual bool has_filter_row() override { return true; } TO_STRING_KV("filter", "FilterList", "op", operator_to_string(op_),