rgbuilds commented on PR #26996:
URL: https://github.com/apache/datafusion/pull/26996#issuecomment-6801239713

   @gabotechs Thanks for further review. I found a stronger cast-free 
reproducer on the same SF1 data:
   
   ```sql
   SELECT l_orderkey
   FROM lineitem
   JOIN partsupp
     ON l_partkey = ps_partkey
    AND l_orderkey < ps_suppkey;
   ```
   
   Both comparison columns are `Int64`, and the predicate remains in 
`HashJoinExec`.
   
   - Before this PR: `24,004,860` estimated vs. `20,159` actual (`1,190.78x` 
q-error)
   - With this PR: `20,003` estimated vs. `20,159` actual (`1.008x` q-error)
   
   This shows why the change is needed: ignoring a residual join predicate can 
make the estimate several orders of magnitude too high, potentially affecting 
downstream plan choices.
   
   For join estimation, cast support would still build on the filter plumbing, 
column-statistics mapping, and comparison-selectivity helper introduced here. 
The previously agreed scope was to land these reusable pieces first and handle 
expression navigation separately.
   
   Would this reproducer be sufficient for the cast-free scope, or would you 
prefer that cast navigation be included before this is merged?


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