ranflarion commented on code in PR #24820:
URL: https://github.com/apache/datafusion/pull/24820#discussion_r3964301200
##########
datafusion/physical-plan/src/joins/nested_loop_join.rs:
##########
@@ -3440,6 +3534,102 @@ pub(crate) mod tests {
Arc::new(TestMemoryExec::update_cache(&source))
Review Comment:
Added join_across_build_chunk_boundaries, which runs every join type over a
36-row build side delivered two ways, as 1-row batches that the load coalesces
into chunks of exactly batch_size (4 or 12), and as 7-row batches that take the
bypass so chunk edges fall off the output batch size and the probe and emission
ranges have to be clamped. Rows 11|12 match on both sides of a boundary in the
4- and 12-row layouts, 27|28 in the 4- and 7-row layouts, every other boundary
has unmatched rows on both sides, and the right side arrives as 1-row batches
so batch size 12 exercises the range probe path and 4 the single-row one. Each
case asserts the chunk count through collect_left_input, then checks the output
against the same rows delivered as one batch, which is a single chunk. I
mutation-tested it: swapping the local index for the global one in the range
probe fails 20 of 40 cases, dropping the chunk-end clamp in unmatched-left
emission fails 10, and that second one only shows up with th
e 7-row delivery, since exactly-batch_size chunks never need the clamp, which
is why both deliveries are in the matrix.
--
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]