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]

Reply via email to