Lattice Grid Buy a licence

blog

Lattice Grid 1.79: loading rows, grouping on ClickHouse

Building…
Loading a live grid…

A grid that waits on a network answer should never look broken while it waits, and a figure above the grid should never read a different truth than the rows below it. This release closes both gaps, and lets grouping run on two more engines instead of falling back to a browser-side guess.

Rows that tell you they are loading

A cell waiting on its data no longer sits blank with no explanation. It shows a brief shimmer, or, for a stretch of rows still arriving, “Loading rows 200 to 350” in their place, and a banner appears while a grid’s very first page or count is still on its way. Both wait a beat before showing, so a fast answer never flickers, and a row is swapped in the instant its data lands, with nothing shifting underneath it. Word the banner your own way, tune how long either wait takes, or turn the banner off entirely and keep the grid quiet while its first page loads.

Grouping that runs where the data lives

Group a grid by any column and, on ClickHouse and Elasticsearch, the totals now come from one query per level of the grouping, computed by the database itself, with a group’s own rows fetched only once it is opened. On a table of tens of millions of rows, that turns a browser-side subtotal built from whatever had already loaded into a real total for every group. An engine with nothing to ask for a grouped total stays flat instead of guessing, and says by name why it did not group.

Elasticsearch and OpenSearch can export a whole result

A grid over an Elasticsearch or OpenSearch index can now stream or export every matching row, not just what fits on screen, the way its DuckDB and Splunk connections already could. Set a row limit and a very large answer stops there rather than reading on to the end.

KPI tiles that tell the truth over paged and pivoted grids

A tile counting distinct values now reads the true count across a whole matching set on a paged source, and says nothing rather than a wrong number when that count cannot be reached. Over a pivoted table, a sum, average, minimum or maximum tile still totals correctly, and a count, a distinct count or a calculation of your own that a pivot’s shape cannot answer reports as unavailable by name instead of a stale figure.

See it running

Reading ClickHouse live now groups by county as one query against 28 million rows, with totals for every one of the 132 counties, and shows the loading treatment on the rows still arriving as you scroll. The pushdown guide covers the loading states and grouping over an engine that cannot group in full, and the Elasticsearch guide has the export and stream mode. The full list of what changed is in the changelog.

Read next

All posts RSS