Mryange commented on PR #66085:
URL: https://github.com/apache/doris/pull/66085#issuecomment-5089884012
/review
• The remaining comments describe hypothetical or malformed-plan cases
rather than regressions from this PR:
1. Final projection types are validated against the output descriptor
during prepare. FE inserts casts for required type
conversions, and invalid conversions fail through the cast path. Please
provide a valid FE-generated plan that can
publish an incompatible physical column or requires nullable widening at
this boundary.
2. The removed `allocated_bytes()` accounting was not a sound reservation
estimate: it counted shared SlotRef storage,
reusable capacity, and intermediate columns repeatedly. Actual allocations
remain tracked by MemTracker. Redesigning
reservation estimation should be handled separately rather than restoring
incorrect accounting.
3. Empty intermediate stages cannot be generated by FE. The only producer
is the Nereids multi-layer CSE translator,
where every intermediate layer contains input slots and/or extracted
aliases. An empty stage requires malformed thrift
and is outside the supported plan contract.
The current head resolves the actual COW clone by publishing immutable
projection columns directly in both operator and
scanner paths. Please re-review the current implementation.
--
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]