Skip to content

Shared: Disable dynamic reordering for select predicate - #22486

Merged
kaspersv merged 1 commit into
github:mainfrom
kaspersv:kaspersv/ruby-disable-reordering
Sep 2, 2026
Merged

Shared: Disable dynamic reordering for select predicate#22486
kaspersv merged 1 commit into
github:mainfrom
kaspersv:kaspersv/ruby-disable-reordering

Conversation

@kaspersv

Copy link
Copy Markdown
Contributor

We are working on a new dynamic join orderer for CodeQL that join orders predicates at evaluation-time using run-time cardinality information instead of relying on a statically chosen join order decided at compilation-time. At the moment the dispatch predicate for the ...Request::Range.getAUrlPart method is join ordered badly by the dynamic join orderer, leading to a catastrophic join regression for ruby-opal. This PR disables dynamic join ordering for the affected predicate, while we work on improving the dynamic join orderer.

Dynamic join ordering is still disabled by default during compilation and evaluation and the no_dynamic_join_order pragma has no effect on compilation when dynamic join ordering is not explicitly enabled during compilation.

@kaspersv
kaspersv requested a review from a team as a code ownerSeptember 2, 2026 06:28
CopilotAI balanced review requested due to automatic review settings September 2, 2026 06:28
@kaspersvkaspersv added the no-change-note-required This PR does not need a change note label Sep 2, 2026

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The narrowly scoped pragma correctly targets the reported regression without changing default behavior.

Review tier: Balanced
Findings: None

What changed in this PR

Disables dynamic join ordering for the problematic HTTP request URL-part dispatch predicate.

Changes:

  • Adds no_dynamic_join_order to Request::Range.getAUrlPart.
FileDescription
shared/​concepts/​codeql/​concepts/​ConceptsShared.qllApplies the targeted join-ordering safeguard.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@kaspersv
kaspersv merged commit e7181b3 into github:mainSep 2, 2026
108 of 109 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-change-note-requiredThis PR does not need a change note

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@kaspersv@hvitved