Skip to content

UX polish: advice, warnings, efficiency, node rendering#62

Merged
erikdarlingdata merged 1 commit intodevfrom
feature/ux-polish
Mar 9, 2026
Merged

UX polish: advice, warnings, efficiency, node rendering#62
erikdarlingdata merged 1 commit intodevfrom
feature/ux-polish

Conversation

@erikdarlingdata
Copy link
Owner

Summary

  • Parallelism efficiency: New speedup-ratio formula — CPU ≈ elapsed at DOP 4 now shows ~0% instead of misleading 25%
  • Warning sort order: Criticals now appear before Warnings in operator warnings
  • CREATE INDEX coloring: Green text in warning blocks (was grey)
  • Advice indentation fix: Runtime/Memory grant no longer indented under sub-sections
  • Cost precision: Estimated cost uses N2 format instead of F4
  • Cost highlighting: Disabled in actual plans (CPU/duration colors are the signal)
  • Font sizes: All node text normalized to 10pt
  • Tooltip: Added rebinds/rewinds section for spool operators
  • Estimate messages: Softened "suboptimal join strategy" to "make poor choices"
  • Rule 14: Skip Lazy Index Spools (rebind/rewind counts unreliable per sql.kiwi)
  • NoJoinPredicate: Downgraded to Warning with honest "often misleading" message

Test plan

  • 47 tests pass (Rule 14 test updated for new behavior)
  • Verified efficiency shows ~0% for CPU ≈ elapsed plans
  • Verified advice window rendering improvements

🤖 Generated with Claude Code

…rendering

- Fix parallelism efficiency formula: use speedup ratio (CPU/elapsed - 1)/(DOP - 1)
  instead of capacity utilization. CPU ≈ elapsed at DOP 4 now correctly shows ~0%.
- Sort operator warnings: Critical before Warning before Info
- CREATE INDEX text in warning blocks now uses green CodeBrush
- Fix advice indentation: reset inSubSection on blank lines
- Estimated cost: reduce precision from F4 to N2
- Disable cost % color highlighting in actual plans (CPU/duration colors suffice)
- All node font sizes normalized to 10 (was 9 for rows, object name)
- Add rebinds/rewinds section to node hover tooltip
- Soften estimate harm messages: "may have caused the optimizer to make poor choices"
- Skip Rule 14 (Lazy Spool Ineffective) for Lazy Index Spools per sql.kiwi research
- Downgrade NoJoinPredicate from Critical to Warning with honest messaging

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@erikdarlingdata erikdarlingdata merged commit dcfd8c6 into dev Mar 9, 2026
2 checks passed
@erikdarlingdata erikdarlingdata deleted the feature/ux-polish branch March 9, 2026 17:22
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