Skip to content
← Open source

Trino

A documentation fix and a proposed change to keep Iceberg column statistics after MERGE, UPDATE and DELETE in the distributed SQL engine.

Role
Contributor
When
September 2026 to present
Stack
Java, Apache Iceberg, SQL

Context

Trino is a distributed SQL engine that queries data where it lives: data lakes, relational databases and object storage. It is a common companion to Apache Superset when one dashboard needs data from several sources.

What I contributed

Documentation fixes (#31130, merged). A set of typos across ten pages of the documentation, including a wrong procedure name in the file system access control page (delta.sytem.vacuum instead of delta.system.vacuum) that would fail if copied into a configuration file.

Keeping NDV statistics after row level writes (#31546, open). The Iceberg connector stores the number of distinct values (NDV) per column in a Puffin statistics file attached to a table snapshot. When MERGE, UPDATE or DELETE creates a new snapshot, no statistics file is written for it. Trino can still find the old file by walking back through the snapshot history, but once expire_snapshots removes that older snapshot the statistics are gone until someone runs a full ANALYZE. Worse, later INSERT operations only update NDV for columns that already have an estimate, so the loss is permanent.

The proposed change carries the existing statistics file forward to the new snapshot when a row level write finishes, the same way the connector already does after OPTIMIZE. It adds tests to the Iceberg connector and statistics test suites.

Status

The documentation fix is merged. The Iceberg change is under review; it touches the planner's inputs, so it needs careful review by the connector maintainers, and the design may still change.

Pull requests

1 merged, 1 open, 0 closed. Status synced from GitHub.

← All projects