Skip to content

Sync PlanAnalyzer improvements from PerformanceStudio#480

Merged
erikdarlingdata merged 1 commit intodevfrom
feature/sync-plan-analyzer-improvements
Mar 9, 2026
Merged

Sync PlanAnalyzer improvements from PerformanceStudio#480
erikdarlingdata merged 1 commit intodevfrom
feature/sync-plan-analyzer-improvements

Conversation

@erikdarlingdata
Copy link
Copy Markdown
Owner

Summary

  • Rule 28 bug fix: .Contains("Row Count Spool") instead of exact match — parser prepends "Lazy"/"Eager" prefix to spool operators, so the old exact match never fired
  • Rule 11: Strip PROBE() bitmap filter expressions from scan predicate display (adds StripProbeExpressions() helper)
  • Rules 11/24: Soften prescriptive wording ("Create an index on the predicate columns" → "Check that you have appropriate indexes")

Dashboard and Lite remain in sync (namespace-only diff).

Test plan

  • Dashboard builds clean
  • Lite builds clean
  • Dashboard/Lite PlanAnalyzer.cs identical except namespace

🤖 Generated with Claude Code

- Fix Rule 28: Row Count Spool detection now uses .Contains() to match
  parser's "Lazy Row Count Spool" PhysicalOp prefix
- Rule 11: Strip PROBE() bitmap filter noise from scan predicate display
- Rules 11/24: Soften prescriptive wording to "Check that you have
  appropriate indexes" instead of "Create an index on the predicate columns"

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@erikdarlingdata erikdarlingdata merged commit 9d21a29 into dev Mar 9, 2026
3 checks passed
@erikdarlingdata erikdarlingdata deleted the feature/sync-plan-analyzer-improvements branch April 9, 2026 00:33
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