Skip to content

Commit 301bc82

Browse files
committed
Skip empty manifests
1 parent 96d6392 commit 301bc82

File tree

1 file changed

+21
-20
lines changed

1 file changed

+21
-20
lines changed

pyiceberg/table/__init__.py

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3437,27 +3437,28 @@ def _existing_manifests(self) -> List[ManifestFile]:
34373437
num=next(self._manifest_counter),
34383438
commit_uuid=self.commit_uuid,
34393439
)
3440-
with write_manifest(
3441-
format_version=self._transaction.table_metadata.format_version,
3442-
spec=self._transaction.table_metadata.spec(),
3443-
schema=self._transaction.table_metadata.schema(),
3444-
output_file=self._io.new_output(output_file_location),
3445-
snapshot_id=self._snapshot_id,
3446-
) as writer:
3447-
[
3448-
writer.add_entry(
3449-
ManifestEntry(
3450-
status=ManifestEntryStatus.EXISTING,
3451-
snapshot_id=entry.snapshot_id,
3452-
data_sequence_number=entry.data_sequence_number,
3453-
file_sequence_number=entry.file_sequence_number,
3454-
data_file=entry.data_file,
3440+
if any(entry.data_file not in found_deleted_data_files for entry in entries):
3441+
with write_manifest(
3442+
format_version=self._transaction.table_metadata.format_version,
3443+
spec=self._transaction.table_metadata.spec(),
3444+
schema=self._transaction.table_metadata.schema(),
3445+
output_file=self._io.new_output(output_file_location),
3446+
snapshot_id=self._snapshot_id,
3447+
) as writer:
3448+
[
3449+
writer.add_entry(
3450+
ManifestEntry(
3451+
status=ManifestEntryStatus.EXISTING,
3452+
snapshot_id=entry.snapshot_id,
3453+
data_sequence_number=entry.data_sequence_number,
3454+
file_sequence_number=entry.file_sequence_number,
3455+
data_file=entry.data_file,
3456+
)
34553457
)
3456-
)
3457-
for entry in entries
3458-
if entry.data_file not in found_deleted_data_files
3459-
]
3460-
existing_files.append(writer.to_manifest_file())
3458+
for entry in entries
3459+
if entry.data_file not in found_deleted_data_files
3460+
]
3461+
existing_files.append(writer.to_manifest_file())
34613462
return existing_files
34623463

34633464
def _deleted_entries(self) -> List[ManifestEntry]:

0 commit comments

Comments
 (0)