Skip to content

Go: fix bad join order#21576

Open
owen-mc wants to merge 1 commit intogithub:mainfrom
owen-mc:go/fix-bad-join-order
Open

Go: fix bad join order#21576
owen-mc wants to merge 1 commit intogithub:mainfrom
owen-mc:go/fix-bad-join-order

Conversation

@owen-mc
Copy link
Contributor

@owen-mc owen-mc commented Mar 25, 2026

Previously the optimizer was, in some cases, making a table of the file corresponding to all locations and only then limiting to locations corresponding to diagnostics. This pragma forces it to start from a list of diagnostics, get the locations and then the files.

Previously the optimizer was, in some cases, making a table of the file
corresponding to all locations and only then limiting to locations
corresponding to diagnostics. This pragma forces it to start from a list
of diagnostics, get the locations and then the files.
@owen-mc owen-mc requested review from a team and Copilot March 25, 2026 14:17
@owen-mc owen-mc requested a review from a team as a code owner March 25, 2026 14:17
@owen-mc owen-mc added the no-change-note-required This PR does not need a change note label Mar 25, 2026
@github-actions github-actions bot added the Go label Mar 25, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates Go extractor diagnostic reporting to steer the QL optimizer toward a more efficient join order when deriving the associated file for a diagnostic, avoiding large intermediate tables.

Changes:

  • Add pragma[only_bind_into](this) when computing Diagnostic.getFile() to drive evaluation from diagnostics → locations → files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Go no-change-note-required This PR does not need a change note

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants