Iceberg V3 in Velox
· 11 min read
Iceberg V3 changes how row-level deletes are stored, gives every row a stable identity, and lets you add a column with a default value without rewriting data. Over the past six months we added most of this to the Velox Iceberg connector. Deletion vectors work on both read and write, including DELETE, UPDATE and MERGE. Row lineage, default values and the new geospatial types work on read, and write defaults work on write.
This post covers how each of those works, and a few places where the implementation was less obvious than the spec made it look.





