@@ -229,7 +229,7 @@ def test_fetch_manifest_entry_with_filter(generated_manifest_entry_file: str) ->
229229
230230
231231def test_fetch_manifest_entry_inherits_first_row_id (tmp_path : Path ) -> None :
232- """Data files without a first_row_id inherit one from the manifest in file order, skipping deleted entries ."""
232+ """Data files inherit first row IDs from data manifests in file order, and have them cleared otherwise ."""
233233 io = PyArrowFileIO ()
234234 manifest_path = str (tmp_path / "manifest.avro" )
235235
@@ -268,21 +268,25 @@ def entry(status: ManifestEntryStatus, record_count: int, first_row_id: int | No
268268 ]
269269 )
270270
271- def first_row_ids (manifest_first_row_id : int | None , discard_deleted : bool ) -> list [int | None ]:
271+ def first_row_ids (
272+ manifest_first_row_id : int | None , discard_deleted : bool , content : ManifestContent = ManifestContent .DATA
273+ ) -> list [int | None ]:
272274 manifest = ManifestFile .from_args (
273275 manifest_path = manifest_path ,
274276 manifest_length = 0 ,
275277 partition_spec_id = 0 ,
278+ content = content ,
276279 added_snapshot_id = 25 ,
277280 sequence_number = 1 ,
278281 min_sequence_number = 1 ,
279282 first_row_id = manifest_first_row_id ,
280283 )
281284 return [e .data_file .first_row_id for e in manifest .fetch_manifest_entry (io , discard_deleted = discard_deleted )]
282285
283- assert first_row_ids (None , discard_deleted = False ) == [None , 500 , None , None ]
284286 assert first_row_ids (1000 , discard_deleted = False ) == [1000 , 500 , None , 1010 ]
285287 assert first_row_ids (1000 , discard_deleted = True ) == [1000 , 500 , 1010 ]
288+ assert first_row_ids (None , discard_deleted = False ) == [None , None , None , None ]
289+ assert first_row_ids (1000 , discard_deleted = False , content = ManifestContent .DELETES ) == [None , None , None , None ]
286290
287291
288292def test_read_manifest_entry_v3_fields (tmp_path : Path ) -> None :
@@ -314,6 +318,7 @@ def write_and_read(file_name: str, data_file: DataFile) -> DataFile:
314318 added_snapshot_id = 25 ,
315319 sequence_number = 1 ,
316320 min_sequence_number = 1 ,
321+ first_row_id = 0 ,
317322 )
318323 return manifest .fetch_manifest_entry (io )[0 ].data_file
319324
0 commit comments