Skip to content

Fix #283: columnstore icon routing + Parallelism subtype overlay#285

Merged
erikdarlingdata merged 1 commit intodevfrom
fix/issue-283-icons
Apr 26, 2026
Merged

Fix #283: columnstore icon routing + Parallelism subtype overlay#285
erikdarlingdata merged 1 commit intodevfrom
fix/issue-283-icons

Conversation

@erikdarlingdata
Copy link
Copy Markdown
Owner

Closes #283.

Summary

  • Columnstore Index ScanPhysicalOp surfaces as Clustered Index Scan / Index Scan / Columnstore Index Scan with Storage="ColumnStore" on the Object element. PlanIconMapper.GetIconName now accepts an optional storageType and routes to the columnstore variant when applicable. Covers both CCI and NCCI for scan/delete/insert/update/merge. The columnstore icons were already in Resources/PlanIcons/, just unused.
  • Parallelism subtypes (Repartition / Distribute / Gather Streams) — all three share PhysicalOp="Parallelism" and a single parallelism.png. Following the overlay technique microsoft/vscode-mssql uses for parallel-execution markers, we render a small R/D/G glyph in the corner of the icon to distinguish them. No new icon assets — sourcing distinct subtype icons would have meant licensing assets we don't have rights to.

Test plan

🤖 Generated with Claude Code

…r Parallelism subtypes

Columnstore: PhysicalOp surfaces as "Clustered Index Scan" / "Index Scan" /
"Columnstore Index Scan" with Storage="ColumnStore" on the Object element.
The mapper previously only inspected PhysicalOp, leaving the columnstore_*
icons unused. PlanIconMapper.GetIconName now takes an optional storageType
and routes to the columnstore variant when Storage="ColumnStore". Covers
both clustered (CCI) and nonclustered (NCCI) columnstore for scan, delete,
insert, update, and merge.

Parallelism (Repartition / Distribute / Gather Streams): all three share
PhysicalOp="Parallelism" and the same parallelism.png icon. Following the
overlay approach used by microsoft/vscode-mssql, render a small R/D/G glyph
in the bottom-right corner of the icon to distinguish them at a glance.
LogicalOp determines the letter; non-parallelism nodes get no overlay.

Closes #283.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@erikdarlingdata erikdarlingdata merged commit 8189ed7 into dev Apr 26, 2026
2 checks passed
@erikdarlingdata erikdarlingdata deleted the fix/issue-283-icons branch April 26, 2026 00:52
erikdarlingdata added a commit that referenced this pull request Apr 27, 2026
Highlights since v1.8.0:
- Minimap for plan navigation (#276)
- Colored links by accuracy ratio divergence (#289)
- Distinct parallelism subtype icons (#285, #288)
- Query Store filter ordering fix (#287)
- xunit v2 -> v3 migration (#278)
- SqlClient 6 -> 7, ScriptDom 170 -> 180 (#279)
- System.CommandLine GA (#280)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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