Skip to content

Feat/column overview - #19

Merged
JetSquirrel merged 4 commits into
mainfrom
feat/column-overview
Oct 5, 2026
Merged

JetSquirrel merged 4 commits into
mainfrom
feat/column-overview

Conversation

@JetSquirrel

Copy link
Copy Markdown
Owner

Column overview

A third results tab, Overview, beside Results and Chart. One row per column:

  • name and type
  • null share, with a bar (highlighted when non-zero)
  • approximate distinct values, range and median
  • shape: an equal-width histogram for numbers and dates/timestamps, or the most common values with their share for text and booleans. Past 10,000 distinct values the common values are estimated (approx_top_k) and shown without counts.

The query is re-run whole, so the overview describes the full result, not the rows the grid kept. It takes two scans regardless of width: SUMMARIZE, then one SELECT that computes every column's distribution side by side. Only queries that can sit in FROM ( … ) are re-run; CALL, PRAGMA and SHOW are refused. An answer that arrives after a newer result or request is dropped.

Column overview on a table, view or file in the sidebar's context menu puts FROM <relation>; in the editor, runs it and opens the tab.

File associations

  • Declares the types macOS has no identifier for: Parquet (org.apache.parquet), DuckDB databases (.duckdb, .ddb) and JSON Lines.
  • Parquet and DuckDB files open in DuckLocal on a double-click (LSHandlerRank Default).
  • CSV, TSV, JSON and Excel only gain DuckLocal under Open With (Alternate), so Numbers and Excel stay the default.
  • No code change: Finder opens already go through the same path as a drop on the window.

JetSquirrel and others added 4 commits October 6, 2026 02:37
The results panel gets a third tab beside Results and Chart. It runs the
current query again, whole, in two scans whatever its width: SUMMARIZE
for each column's nulls, distinct values, range and median, then one
SELECT for every column's shape — equal-width histograms for numbers and
times, the most common values with their share for text and booleans
(estimated, without counts, past ten thousand distinct values).

Only a query that can sit in FROM ( … ) is re-run; CALL, PRAGMA and
SHOW are refused. "Column overview" on a table, view or file in the
sidebar puts `FROM <it>` in the editor, runs it and opens the tab.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Declare the types macOS has no identifier for — Parquet, DuckDB
databases (.duckdb, .ddb) and JSON Lines — and register DuckLocal for
them. Parquet and DuckDB files open in DuckLocal on a double-click;
CSV, TSV, JSON and Excel files only gain it under Open With, so the
apps that already open them stay the default. Finder opens already go
through the same path as a drop on the window.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The Open and interface-size menus never opened: the Windows caption
fix occluded the trigger buttons, which hid the popover's own trigger
area behind them. The occluding hitbox now sits on a wrapper around
each dropdown, and headless tests click both and expect a menu.

- Sidebar rows share one slot between the count and the hover actions,
  so no row reserves an empty column; unknown file counts show nothing
  instead of a dash. Section and database headings are row-sized and
  set apart by weight.
- The sidebar toggle lives in the title bar in both states, so it and
  Open no longer move when it is clicked. The sidebar's width range
  scales with the interface size, so its tab row is never clipped.
- Segmented tab bars step up a size at the larger interface sizes,
  where their fixed-pixel pill was no taller than the text.
- The results tab bar spans the header, with the summary and export
  buttons as its suffix: one bottom line instead of two.
- Format, Explain and Profile are ghost buttons beside the primary
  Run; "EXPLAIN" is translated like the other labels.
- A DuckLocal theme over the stock ones: One Light/One Dark syntax
  colours, a lighter current line, and DuckDB yellow for selections.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@JetSquirrel
JetSquirrel merged commit 426e8c4 into main Oct 5, 2026
0 of 3 checks passed
@JetSquirrel
JetSquirrel deleted the feat/column-overview branch October 6, 2026 18:05
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