WIP: sql: extract planNode interface and implementations to dedicated package#160945
Draft
yuzefovich wants to merge 1 commit intocockroachdb:masterfrom
Draft
WIP: sql: extract planNode interface and implementations to dedicated package#160945yuzefovich wants to merge 1 commit intocockroachdb:masterfrom
yuzefovich wants to merge 1 commit intocockroachdb:masterfrom
Conversation
|
Your pull request contains more than 1000 changes. It is strongly encouraged to split big PRs into smaller chunks. 🦉 Hoot! I am a Blathers, a bot for CockroachDB. My owner is dev-inf. |
Member
Previously, the planNode interface and all 156+ implementations lived in pkg/sql, creating tight coupling and making the codebase harder to navigate and maintain. This refactoring extracts the planNode execution layer into a dedicated package structure. Changes: - Created pkg/sql/planbase package for shared execution context types (ExtendedEvalContext, RunParams, PlannerAccessor interface) - Created pkg/sql/plannode package containing the planNode interface and all implementations - Broke circular dependencies using the PlannerAccessor interface pattern - Exported ExtendedEvalContext type for cross-package usage - Capitalized all planNode interface methods (StartExec, Next, Values, Close) - Fixed 200+ type assertion errors across 30+ packages This change improves code organization and sets the foundation for future SQL execution layer improvements. Informs: cockroachdb#79357 Epic: None Release note: None Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Previously, the planNode interface and all 156+ implementations lived
in pkg/sql, creating tight coupling and making the codebase harder to
navigate and maintain. This refactoring extracts the planNode execution
layer into a dedicated package structure.
Changes:
(ExtendedEvalContext, RunParams, PlannerAccessor interface)
and all implementations
This change improves code organization and sets the foundation for
future SQL execution layer improvements.
Informs: #79357
Epic: None
Release note: None
Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com