github-actions[bot] commented on code in PR #65548:
URL: https://github.com/apache/doris/pull/65548#discussion_r3586692065
##########
be/src/format_v2/parquet/parquet_reader.cpp:
##########
@@ -454,6 +508,12 @@ Status
ParquetReader::open(std::shared_ptr<format::FileScanRequest> request) {
DORIS_CHECK(local_id >= 0 && local_id < num_fields);
}
+ // Reject requested unsupported logical leaves before row-group
statistics, dictionaries,
+ // bloom filters or page indexes inspect their physical fallback type. For
example, a predicate
+ // on TIME_MILLIS must fail here even when its INT32 statistics would
prune every row group;
+ // otherwise the same unsupported SELECT could fail or silently succeed
depending on data.
+ RETURN_IF_ERROR(validate_requested_columns_supported(_state->file_schema,
*request_snapshot));
Review Comment:
This still lets an explicit `COUNT(*)` observe the column-pruning
placeholder before the aggregate path can use the empty COUNT request.
`TableReader::open_reader()` builds a normal `FileScanRequest` from
`_projected_columns` and calls `reader->open(file_request)` before
`_try_materialize_aggregate_pushdown_rows()`. Since Nereids keeps one
minimum-width scan slot when `COUNT(*)` needs no output slots, a file whose
retained placeholder is an unsupported `TIME_MILLIS` leaf reaches this
validation in `non_predicate_columns` and fails, even though the later COUNT(*)
aggregate request would correctly have no columns and could answer from
row-group counts. Please skip placeholder validation/open for explicit COUNT(*)
metadata pushdown, or use a supported/virtual carrier, and add coverage where
`COUNT(*)` is planned over an unsupported placeholder column.
--
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]