Skip to content

dbeaver/pro#8796 [CB] create a separate plugin for the execution plan#4406

Open
SychevAndrey wants to merge 5 commits into
develfrom
8796-cb-create-a-separate-plugin-for-the-execution-plan
Open

dbeaver/pro#8796 [CB] create a separate plugin for the execution plan#4406
SychevAndrey wants to merge 5 commits into
develfrom
8796-cb-create-a-separate-plugin-for-the-execution-plan

Conversation

@SychevAndrey

Copy link
Copy Markdown
Contributor

also added a linter rule for interface names

Move all Execution Plan logic out of plugin-sql-editor into a new plugin-sql-editor-execution-plan. plugin-sql-editor no longer knows about execution plan and instead exposes generic extension points

Execution plan tab data now lives in-memory in SqlExecutionPlanService instead of the persisted editor state schema (these tabs are session-only).
@SychevAndrey SychevAndrey self-assigned this Jun 17, 2026
@codacy-production

codacy-production Bot commented Jun 17, 2026

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 82 complexity

Metric Results
Complexity 82

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

override register(): void {
this.sqlResultTabsService.resultPanels.add(SqlExecutionPlanPanel, 0, ({ tabId }) => !this.sqlExecutionPlanService.has(tabId));

this.sqlResultTabsService.onResultTabClose.addHandler(({ state, tabId }) => {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

its better to add handlers on the constructor level


export type ISqlEditorResultTab = schema.infer<typeof SQL_EDITOR_RESULT_TAB_SCHEMA>;

export const EXECUTION_PLAN_TAB_SCHEMA = schema.object({

@devnaumov devnaumov Jun 18, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

could you clarify how handleTabRestore is working now in terms of executionPlanTabs

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Before we used to restore tabs and then clear the state. That's why handleTabRestore looks weird. But now it happens on it's own because we keep tabs only in the in-memory Map. Anyways, result is the same: tabs don't restore after reload

devnaumov
devnaumov previously approved these changes Jun 18, 2026
sergeyteleshev
sergeyteleshev previously approved these changes Jun 22, 2026
@SychevAndrey SychevAndrey dismissed stale reviews from sergeyteleshev and devnaumov via 0816aa3 June 22, 2026 14:02
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.

4 participants