yy782 opened a new issue, #70375:
URL: https://github.com/apache/doris/issues/70375

   ### Search before asking
   
   - [x] I had searched in the 
[issues](https://github.com/apache/doris/issues?q=is%3Aissue) and found no 
similar issues.
   
   
   ### Description
   
   Doris currently does **not** support predicate pushdown on struct columns. 
When a query
   filters on a field of a struct, for example:
   
   ```sql
   SELECT * FROM t WHERE s.a < 2;
   SELECT * FROM t WHERE s.a.b = true;
   ```
   
   the field predicate does not participate in statistics-based pruning 
(neither at the
   segment level nor, for external/Parquet tables, at the row-group level). The 
struct column
   is materialized in full and the field predicate is evaluated row by row, so 
segments and
   row groups that could never satisfy the predicate are still read. This 
causes avoidable IO,
   and the cost grows with wide struct columns and large lakehouse files.
   
   Other query engines have already closed this gap. DuckDB, for instance, 
pushes a
   `struct_extract(col, field)` predicate down to the scan and prunes row 
groups using
   per-field `min`/`max` statistics (DuckDB PR
   [duckdb#22266](https://github.com/duckdb/duckdb/pull/22266), built on the 
generic
   "pushdown extract" framework from
   [duckdb#21498](https://github.com/duckdb/duckdb/pull/21498)). This issue 
proposes bringing
   equivalent struct-field predicate pushdown to Doris.
   
   ### Use case
   
   _No response_
   
   ### Related issues
   
   _No response_
   
   ### Are you willing to submit PR?
   
   - [x] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [x] I agree to follow this project's [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct)
   


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