Skip to content

Sync PlanAnalyzer rule fixes from plan-b#334

Merged
erikdarlingdata merged 1 commit into
devfrom
fix/plan-analyzer-rule-sync
Feb 27, 2026
Merged

Sync PlanAnalyzer rule fixes from plan-b#334
erikdarlingdata merged 1 commit into
devfrom
fix/plan-analyzer-rule-sync

Conversation

@erikdarlingdata
Copy link
Copy Markdown
Owner

Summary

  • Rule 5: Handle zero actual rows without division by zero (was producing Unicode infinity symbol that garbled in console)
  • Rule 8: Add minimum row threshold for parallel skew (threadCount * 1000) to avoid false positives on low-row operators like TopN Sort with 20 rows
  • Rule 24: Only fire Top Above Scan on inner side of Nested Loops, not standalone SELECT TOP — a standalone Top is harmless, but Top on the inner side of Nested Loops means a linear scan repeated per outer row

Test plan

  • Dashboard builds clean (0 errors)
  • All three fixes verified against real StackOverflow2013 execution plans in plan-b (32/32 tests passing)

🤖 Generated with Claude Code

- Rule 5: Handle zero actual rows without division by zero (was producing Unicode infinity)
- Rule 8: Add minimum row threshold for parallel skew (threadCount * 1000) to avoid false positives on low-row operators
- Rule 24: Only fire Top Above Scan on inner side of Nested Loops, not standalone SELECT TOP
- Lite: Full sync from Rules 1-11 to Rules 1-24 (was missing 12-24 entirely)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@erikdarlingdata erikdarlingdata force-pushed the fix/plan-analyzer-rule-sync branch from 1f59d2d to f4c5f26 Compare February 27, 2026 05:26
@erikdarlingdata erikdarlingdata merged commit ed9c6ae into dev Feb 27, 2026
3 checks passed
@erikdarlingdata erikdarlingdata deleted the fix/plan-analyzer-rule-sync branch February 27, 2026 23:01
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