github-actions[bot] commented on code in PR #68521:
URL: https://github.com/apache/doris/pull/68521#discussion_r4111675738


##########
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:
   [P1] Could this placeholder check also protect common-expression index 
evaluation? The guard here only retains ColumnPredicates, but 
_apply_index_expr() still evaluates _common_expr_ctxs_push_down. A compound 
predicate such as (__DORIS_VERSION_COL__ = real_version AND indexed_user_col = 
sentinel) is not normalized as a direct column predicate; VCompoundPred 
recursively evaluates both indexed children, and the physical hidden-column 
index contributes a non-null empty bitmap for stored 0. The parent is then 
treated as fully evaluated, intersected into the row bitmap, and erased before 
_replace_version_col_if_needed can synthesize the real version. Please 
skip/retain common expressions referencing placeholders (or evaluate them 
against the effective singleton) and add an indexed hidden-version 
compound-expression regression.



-- 
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]

Reply via email to