Skip to content

Defer numeric property formatting - #229

Open
vogelsgesang wants to merge 2 commits into
mainfrom
defer-number-formatting
Open

vogelsgesang wants to merge 2 commits into
mainfrom
defer-number-formatting

Conversation

@vogelsgesang

Copy link
Copy Markdown
Collaborator

Keep numeric plan properties as numbers until they are rendered. This preserves their exact values for Plan Insights and other consumers while still presenting readable counts, byte sizes, and durations in node and metadata panels.

Represent each scalar property as a PropertyEntry containing a string or number plus an optional NumberFormat hint. DuckDB and Hyper infer compatible formats from property names; Postgres limits inference to rounded counts because its timing and memory values use different units. Other loaders retain raw scalar values without inferred formatting.

Move number presentation into a shared formatter and PropertyList used by both graph nodes and plan metadata. Keep complex JSON values flat and stringified so nested properties remain outside this change.

Update loader consumers, documentation, focused formatter coverage, and loader output snapshots for the scalar entry representation.

Keep numeric plan properties as numbers until they are rendered. This preserves their exact values for Plan Insights and other consumers while still presenting readable counts, byte sizes, and durations in node and metadata panels.

Represent each scalar property as a PropertyEntry containing a string or number plus an optional NumberFormat hint. DuckDB and Hyper infer compatible formats from property names; Postgres limits inference to rounded counts because its timing and memory values use different units. Other loaders retain raw scalar values without inferred formatting.

Move number presentation into a shared formatter and PropertyList used by both graph nodes and plan metadata. Keep complex JSON values flat and stringified so nested properties remain outside this change.

Update loader consumers, documentation, focused formatter coverage, and loader output snapshots for the scalar entry representation.
@vogelsgesang
vogelsgesang force-pushed the defer-number-formatting branch from 46eaa24 to 2f540a6 Compare October 29, 2026 02:19
Restore the formatter and property-model documentation carried by the original nested-properties work, and document that plan metadata uses the same scalar entry type as node properties. Keep loader parsing utilities distinct from the renderer-facing number-format module.

Retain the original direct formatter cases, verify that Hyper and Postgres attach formats without changing raw numeric values, and cover formatting through the shared PropertyList renderer.

This branch has not been deployed

No deployments
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