linrrzqqq opened a new pull request, #68040:
URL: https://github.com/apache/doris/pull/68040

   ### What problem does this PR solve?
   
   Issue Number: close #xxx
   
   Related PR: #xxx
   
   Problem Summary:
   
   When `transform_values` operates on physical nested Map columns with 
nested-column pruning enabled:
   
   - `MAP<..., ARRAY<...>>` may fail because `VALUES.OFFSET` is incorrectly 
marked as a DATA access path.
   - `MAP<..., STRUCT<...>>` may crash the BE because `VALUES.NULL` is 
incorrectly treated as a Struct data field, causing all physical Struct child 
iterators to be pruned.
   
   ### Root cause
   
   `AccessPathExpressionCollector.visitMapEntries` creates a new 
`CollectorContext` while translating access paths from `map_entries`.
   
   The new context did not inherit the original `ColumnAccessPathType`, so META 
paths such as `OFFSET` and `NULL` fell back to the default DATA type.
   
   ### What is changed?
   
   Propagate the original access-path type to the new context in 
`visitMapEntries`.
   
   Added regression coverage for:
   
   - `transform_values((k, v) -> size(v), map<int, array<int>>)`
   - `transform_values((k, v) -> v is null, map<int, struct<...>>)`
   
   The tests verify that `VALUES.OFFSET` and `VALUES.NULL` remain META access 
paths.
   
   


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