Skip to content

Commit

Permalink
improve checks for current job and current schema
Browse files Browse the repository at this point in the history
  • Loading branch information
ajshedivy committed Jan 14, 2025
1 parent 14846f7 commit 5ba9b37
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 6 deletions.
5 changes: 4 additions & 1 deletion src/aiProviders/continue/listTablesContextProvider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,10 @@ class ListDb2iTables implements IContextProvider {
}
}

export async function registerDb2iTablesProvider(schema: string) {
export async function registerDb2iTablesProvider(schema?: string) {
if (!schema) {
return;
}
const continueID = `Continue.continue`;
const continueEx = vscode.extensions.getExtension(continueID);
if (continueEx) {
Expand Down
4 changes: 3 additions & 1 deletion src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,9 @@ export function activate(context: vscode.ExtensionContext): Db2i {
exampleBrowser.refresh();
selfCodesView.setRefreshEnabled(Configuration.get(`jobSelfViewAutoRefresh`) || false);
// register list tables
registerDb2iTablesProvider(JobManager.getSelection().job.options.libraries[0]);
const currentJob = JobManager.getSelection();
const currentSchema = currentJob?.job.options.libraries[0];
registerDb2iTablesProvider(currentSchema);
if (devMode && runTests) {
runTests();
}
Expand Down
21 changes: 17 additions & 4 deletions src/views/jobManager/jobManagerView.ts
Original file line number Diff line number Diff line change
Expand Up @@ -305,15 +305,28 @@ export class JobManagerView implements TreeDataProvider<any> {

const selectedJob = JobManager.getSelection();
const selectedSchema = selectedJob.job.options.libraries[0];

// re-register db2i tables context provider with current schema
if (provider && provider.getCurrentSchema().toLowerCase() !== selectedSchema.toLowerCase()) {
if (
provider &&
selectedJob !== undefined &&
provider.getCurrentSchema() &&
selectedSchema &&
provider.getCurrentSchema().trim().toLowerCase() !==
selectedSchema.trim().toLowerCase()
) {
registerDb2iTablesProvider(selectedSchema);
}

setCancelButtonVisibility(selectedJob && selectedJob.job.getStatus() === "busy");
setCancelButtonVisibility(
selectedJob && selectedJob.job.getStatus() === "busy"
);
sqlLanguageStatus.setState(selectedJob !== undefined);
commands.executeCommand(`setContext`, `vscode-db2i:jobManager.hasJob`, selectedJob !== undefined);
commands.executeCommand(
`setContext`,
`vscode-db2i:jobManager.hasJob`,
selectedJob !== undefined
);
}

getTreeItem(element: vscode.TreeItem) {
Expand Down

0 comments on commit 5ba9b37

Please sign in to comment.