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]