Gabriel39 commented on code in PR #69646:
URL: https://github.com/apache/doris/pull/69646#discussion_r4384766208
##########
be/src/format_v2/table_reader.h:
##########
@@ -461,6 +461,8 @@ class TableReader {
RETURN_IF_ERROR(_data_reader.column_mapper->create_scan_request(
_table_filters, _projected_columns, file_request.get(),
_runtime_state));
file_request->row_ids = _row_ids;
+ file_request->allow_row_reordering =
+ std::ranges::all_of(_conjuncts, _is_safe_to_pre_execute);
Review Comment:
Fixed in 9f349df796d1. The table-layer proof now includes every projected
output mapping, including columns unrelated to the leading TopN key. Only
direct mappings are proven safe; nested rematerialization, casts, and defaults
retain physical order. A shared helper checks the reconciled mapper after
table-format customization on both initial open and request refresh, using AND
assignment to preserve an existing false flag.
Both new test methods first failed on the reviewed head. The actual
Iceberg/Parquet regression uses four full row groups, with the overflowing DATE
in physical RG0 and better keys in the next three groups, publishing the real
TopN bound after returned blocks. It covers ASC/DESC, top-level/nested
DATE-to-TIMESTAMP_NS, and strict cast on/off; all eight sensitive cases now
raise the overflow, while eight identity controls retain best-first reads and
exact row counts. The request test also verifies the fence survives refresh.
All 483 related BE tests passed. Full SQL execution remains pending CI; no full
SQL timing claim is added.
--
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]