This is an automated email from the ASF dual-hosted git repository. kxiao pushed a commit to branch branch-3.0 in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-3.0 by this push: new b1519243e61 [fix](inverted index) recover #34134 and fix case error (#38669) b1519243e61 is described below commit b1519243e61f79350e11e63ec0a2f2f45dc81e50 Author: zzzxl <33418555+zzzxl1...@users.noreply.github.com> AuthorDate: Thu Aug 1 21:24:03 2024 +0800 [fix](inverted index) recover #34134 and fix case error (#38669) 1. recover https://github.com/apache/doris/pull/37742 2. fix test_index_inlist_fault_injection,test_index_inlist_fault_injection --- be/src/olap/rowset/segment_v2/segment_iterator.cpp | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/be/src/olap/rowset/segment_v2/segment_iterator.cpp b/be/src/olap/rowset/segment_v2/segment_iterator.cpp index dfe7bc98013..acc46ce3204 100644 --- a/be/src/olap/rowset/segment_v2/segment_iterator.cpp +++ b/be/src/olap/rowset/segment_v2/segment_iterator.cpp @@ -813,9 +813,16 @@ Status SegmentIterator::_execute_predicates_except_leafnode_of_andnode( } else if (_is_literal_node(node_type)) { auto v_literal_expr = std::dynamic_pointer_cast<doris::vectorized::VLiteral>(expr); _column_predicate_info->query_values.insert(v_literal_expr->value()); - } else if (node_type == TExprNodeType::BINARY_PRED || node_type == TExprNodeType::MATCH_PRED) { + } else if (node_type == TExprNodeType::BINARY_PRED || node_type == TExprNodeType::MATCH_PRED || + node_type == TExprNodeType::IN_PRED) { if (node_type == TExprNodeType::MATCH_PRED) { _column_predicate_info->query_op = "match"; + } else if (node_type == TExprNodeType::IN_PRED) { + if (expr->op() == TExprOpcode::type::FILTER_IN) { + _column_predicate_info->query_op = "in"; + } else { + _column_predicate_info->query_op = "not_in"; + } } else { _column_predicate_info->query_op = expr->fn().name.function_name; } @@ -962,7 +969,9 @@ Status SegmentIterator::_apply_index_except_leafnode_of_andnode() { bool is_support = pred_type == PredicateType::EQ || pred_type == PredicateType::NE || pred_type == PredicateType::LT || pred_type == PredicateType::LE || pred_type == PredicateType::GT || pred_type == PredicateType::GE || - pred_type == PredicateType::MATCH; + pred_type == PredicateType::MATCH || + pred_type == PredicateType::IN_LIST || + pred_type == PredicateType::NOT_IN_LIST; if (!is_support) { continue; } @@ -2843,6 +2852,12 @@ void SegmentIterator::_calculate_pred_in_remaining_conjunct_root( } else { if (node_type == TExprNodeType::MATCH_PRED) { _column_predicate_info->query_op = "match"; + } else if (node_type == TExprNodeType::IN_PRED) { + if (expr->op() == TExprOpcode::type::FILTER_IN) { + _column_predicate_info->query_op = "in"; + } else { + _column_predicate_info->query_op = "not_in"; + } } else if (node_type != TExprNodeType::COMPOUND_PRED) { _column_predicate_info->query_op = expr->fn().name.function_name; } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org