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

   ### What problem does this PR solve?
   
   Issue Number: N/A
   
   Problem Summary:
   `test_pushdown_explain` asserts that the plan of
   `select count(1) - count(lo_shipmode) from test_lineorder` contains
   `pushAggOp=COUNT`. `lo_shipmode` is NOT NULL, so this expression is always 0.
   `RewriteSimpleAggToConstantRule` can replace both counts with the table row
   count from `SimpleAggCacheMgr` and fold the whole expression into a constant
   `VUNION` plan before the scan-level COUNT pushdown happens. The row count is
   loaded asynchronously, so whether the rule fires depends on whether the cache
   has been warmed by the preceding statements. The assertion can therefore pass
   or fail depending on statement timing, and the failure can land on the second
   or the third count assertion.
   
   Master's `query_p0/explain/test_pushdown_explain.groovy` already disables 
this
   rule before the count assertions. This patch aligns the branch-4.1 test with
   master so the case keeps testing the COUNT pushdown path instead of the
   metadata constant rewrite. The query result is unchanged; this is a test
   stabilization, not a planner behavior change.
   
   ### Release note
   
   None
   
   ### Check List (For Author)
   
   - Test: Manual test on a local branch-4.1 (4.1.5) cluster. With
     `SET disable_nereids_rules='REWRITE_SIMPLE_AGG_TO_CONSTANT'`, `count(1)`,
     `count(*)` and `count(1) - count(lo_shipmode)` all explain with
     `pushAggOp=COUNT`; without the setting the last query folded to a `VUNION`
     constant 0 once the row-count cache was warm.
   - Behavior changed: No
   - Does this need documentation: No
   


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