Skip to content

Support full-table Iceberg INSERT OVERWRITE - #70

Merged
osipovartem merged 1 commit into
embucket-sync-df55.0.0from
insert-overwrite-df55
Sep 4, 2026
Merged

Support full-table Iceberg INSERT OVERWRITE#70
osipovartem merged 1 commit into
embucket-sync-df55.0.0from
insert-overwrite-df55

Conversation

@osipovartem

Copy link
Copy Markdown

Summary

  • map DataFusion InsertOp::Overwrite to an atomic Iceberg full-table replace transaction
  • preserve existing append behavior and keep key-based REPLACE INTO explicitly unsupported
  • verify exact read-after-write contents and overwrite-to-empty behavior

Why

DataFusion already distinguishes append from full-table overwrite, and iceberg-rust already implements atomic table replacement. The DataFusion bridge previously rejected the overwrite operation before it could reach that transaction layer.

Verification

  • cargo +1.97.0 fmt --all --check
  • CARGO_INCREMENTAL=0 cargo +1.97.0 test -p datafusion_iceberg --test integration_df_dml (9 passed)
  • CARGO_INCREMENTAL=0 cargo +1.95.0 clippy -p datafusion_iceberg --test integration_df_dml --no-deps -- -D warnings

@osipovartem
osipovartem merged commit 5cf0d9f into embucket-sync-df55.0.0 Sep 4, 2026
2 checks passed
@osipovartem
osipovartem deleted the insert-overwrite-df55 branch September 4, 2026 19:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant