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]