viirya commented on PR #19857: URL: https://github.com/apache/datafusion/pull/19857#issuecomment-5841533236
Thanks @comphead for the thorough review. 8728b2c addresses it. Besides the inline fixes: **Tests** - The execution cases moved from `exec.rs` to a new `null_aware_multi_column.slt`, with a `configMatrix` over `datafusion.execution.batch_size` (1, 2, 100, 8192). It adds the two cases that weren't in SLT: an equality correlation with mixed outcomes and a NULL scope key, and `(NULL, NULL)` against an empty subquery. The helpers are gone. `test_null_aware_validation_value_keys` stays and no longer needs them. - Merged the overlapping SLT tests (20/21 and 22/23). Replaced the empty-result Test 24 with a correlated case that returns rows. `null_aware_anti_join.slt` now only checks the plans. - Fixed `subquery.slt` Test 8 so its filter actually drops a row. - The two dynamic-filter escape tests are one test parametrized over the value key count. The two proto round-trip tests are one test looping over both queries. - Added the missing `-0.0`, all-literal tuple, and non-hashable element cases. **Simplification** - The tuple/subquery arity check now lives only in `in_subquery_tuple_values`, which returns an error on a mismatch. I removed the copies in the SQL planner, `coerce_multi_column_in_subquery`, `build_join` and placeholder inference, along with `InSubquery::tuple_values`. - Added `cast_subquery_columns`, and `cast_subquery` now delegates to it. The coercion computes the common types and the element casts in one loop. - `in_join_filter` builds the filter with `conjunction`. - The value key count now lives only in `NullAwareMode`. I removed it from `collect_left_input`, `JoinLeftData` and `SharedBuildAccumulator`. - Nits: the stale `on[0]` doc is gone with `in_predicate_first`, the logical encoder uses a checked `u32` conversion, and `with_null_aware_value_keys` returns an internal error instead of the silent arm. -- 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]
