Tins · Cross-implementation oracle
iceberg-rs
Apache Iceberg over a thin Rust cdylib wrapping iceberg-rust behind a C ABI. Superseded — no longer required for any operation — and kept only as a third independent implementation to check the native one against.
What it does
Works today
- 56 extern "C" functions over one shared tokio runtime
- SQL/JDBC catalog against real object storage
- Kept as a cross-implementation oracle, not a dependency
Correctness
Checked against PyIceberg reading through the same sqlite catalog file the binding wrote
Building it found bugs upstream
Holding three implementations against each other surfaces disagreements, and not all of them turned out to be my fault. I cut each one below down to a standalone script or unit test with no magmalake code in it, then either reported it upstream or — where someone had got there first — matched it to the report that already existed.
- iceberg-rust apache/iceberg-rust#3118 reported An In predicate whose literals straddle a file's bounds is never pruned: the lower and upper bounds are each tested against the whole literal set instead of narrowing it, as Java and PyIceberg do.
Also in Cross-implementation oracle