LuciferYang commented on code in PR #68521:
URL: https://github.com/apache/doris/pull/68521#discussion_r4111862541
##########
be/src/storage/segment/segment_iterator.cpp:
##########
@@ -1560,6 +1567,13 @@ inline bool
SegmentIterator::_inverted_index_not_support_pred_type(const Predica
Status SegmentIterator::_apply_inverted_index_on_column_predicate(
std::shared_ptr<ColumnPredicate> pred,
std::vector<std::shared_ptr<ColumnPredicate>>& remaining_predicates,
bool* continue_apply) {
+ if (_segment->placeholder_effective_value(pred->column_id(), *_schema,
_opts).has_value()) {
Review Comment:
Fixed in 31b79e8ea30. `_apply_index_expr` now skips any pushed-down conjunct
that references a placeholder column (collected via `collect_slot_column_ids`
over the conjunct's root), leaving it to the row-level path that evaluates
against the substituted value. So a compound such as `(__DORIS_VERSION_COL__ =
<real version> AND/OR indexed_col = ...)` is no longer matched against the
physical-`0` index. New regression `version_col_indexed_compound` covers an
inverted-indexed compound predicate: it returns all rows.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]