You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kudu.apache.org by "Gabriella Lotz (Jira)" <ji...@apache.org> on 2026/06/12 09:21:00 UTC
[jira] [Created] (KUDU-3784) Support scan predicates on columns that are not in the projection
Gabriella Lotz created KUDU-3784:
------------------------------------
Summary: Support scan predicates on columns that are not in the projection
Key: KUDU-3784
URL: https://issues.apache.org/jira/browse/KUDU-3784
Project: Kudu
Issue Type: Improvement
Reporter: Gabriella Lotz
When a scan projects no (or few) columns but has predicates on columns outside the projection, those predicates cannot be evaluated by the MaterializingIterator. The most common case is a counting scan (SELECT count(...)) with predicates that are not folded into the key range.
Today these out-of-projection predicates are skipped (see the TODO in MaterializingIterator::Init). This is safe on the server scan path because TabletServiceImpl adds predicate columns to the projection via ScanSpec::GetMissingColumns(), so the only skipped predicates are redundant ones lifted from the rowset's primary key bounds. But the lower-level scan path (no missing-column expansion) has no such guarantee, so a genuine predicate could be silently dropped.
Proper fix: materialize the needed columns (or otherwise evaluate the predicate) instead of skipping, so predicates on non-projected columns are honored generally. The disabled case TestPushdownIntValueRange (count-only path) in tablet-pushdown-test.cc should be re-enabled as part of this.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)