Light-City commented on code in PR #41122:
URL: https://github.com/apache/arrow/pull/41122#discussion_r1559634797
##########
cpp/src/arrow/acero/swiss_join.cc:
##########
@@ -2160,6 +2160,9 @@ Status JoinResidualFilter::FilterOneBatch(const
ExecBatch& keypayload_batch,
bool output_key_ids, bool
output_payload_ids,
arrow::util::TempVectorStack*
temp_stack,
int* num_passing_rows) const {
+ if (num_batch_rows == 0) {
Review Comment:
> It seems that `num_batch_rows` has been ensured to be `>0` in
`GetNextBatch`, otherwise it should not enter the `FilterInner` logic.
>
>
https://github.com/apache/arrow/blob/831b94a65ebaaabe6fcad0ea378d0a784ef5bbb7/cpp/src/arrow/acero/swiss_join.cc#L1865
>
> Have you missed some key issues?
This change is due to:
FilterLeftAnti calls FilterLeftSemi, and in my case the FilterOneBatch is a
blank line. There is an assertion in probe_batch_builder.Flush() that requires
the number of lines to be >0, so in order to solve this problem, the blank line
needs to be determined here.
--
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]