Add regression test for ArrowWriter.write_batch when batch is empty
#4510
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As spotted by @cccntu in #4502, there's a logic bug in
ArrowWriter.write_batchas the if-statement to handle the empty batches as detailed in the docstrings of the function ("Ignores the batch if it appears to be empty, preventing a potential schema update of unknown types."), the current if-statement is not handling properlywriter.write_batch({})as an error is triggered.Also, if we add a regression test in
test_arrow_writer.py::test_write_batchbefore applying the fix, the test will fail as when trying to write an empty batch as follows:So the batch is not ignored when empty, as
batch_examples={}won't match the conditionif batch_examples: ....