Skip to content

Commit 5ba9b37

Browse files
committed
improve checks for current job and current schema
1 parent 14846f7 commit 5ba9b37

File tree

3 files changed

+24
-6
lines changed

3 files changed

+24
-6
lines changed

src/aiProviders/continue/listTablesContextProvider.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,10 @@ class ListDb2iTables implements IContextProvider {
112112
}
113113
}
114114

115-
export async function registerDb2iTablesProvider(schema: string) {
115+
export async function registerDb2iTablesProvider(schema?: string) {
116+
if (!schema) {
117+
return;
118+
}
116119
const continueID = `Continue.continue`;
117120
const continueEx = vscode.extensions.getExtension(continueID);
118121
if (continueEx) {

src/extension.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,9 @@ export function activate(context: vscode.ExtensionContext): Db2i {
102102
exampleBrowser.refresh();
103103
selfCodesView.setRefreshEnabled(Configuration.get(`jobSelfViewAutoRefresh`) || false);
104104
// register list tables
105-
registerDb2iTablesProvider(JobManager.getSelection().job.options.libraries[0]);
105+
const currentJob = JobManager.getSelection();
106+
const currentSchema = currentJob?.job.options.libraries[0];
107+
registerDb2iTablesProvider(currentSchema);
106108
if (devMode && runTests) {
107109
runTests();
108110
}

src/views/jobManager/jobManagerView.ts

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -305,15 +305,28 @@ export class JobManagerView implements TreeDataProvider<any> {
305305

306306
const selectedJob = JobManager.getSelection();
307307
const selectedSchema = selectedJob.job.options.libraries[0];
308-
308+
309309
// re-register db2i tables context provider with current schema
310-
if (provider && provider.getCurrentSchema().toLowerCase() !== selectedSchema.toLowerCase()) {
310+
if (
311+
provider &&
312+
selectedJob !== undefined &&
313+
provider.getCurrentSchema() &&
314+
selectedSchema &&
315+
provider.getCurrentSchema().trim().toLowerCase() !==
316+
selectedSchema.trim().toLowerCase()
317+
) {
311318
registerDb2iTablesProvider(selectedSchema);
312319
}
313320

314-
setCancelButtonVisibility(selectedJob && selectedJob.job.getStatus() === "busy");
321+
setCancelButtonVisibility(
322+
selectedJob && selectedJob.job.getStatus() === "busy"
323+
);
315324
sqlLanguageStatus.setState(selectedJob !== undefined);
316-
commands.executeCommand(`setContext`, `vscode-db2i:jobManager.hasJob`, selectedJob !== undefined);
325+
commands.executeCommand(
326+
`setContext`,
327+
`vscode-db2i:jobManager.hasJob`,
328+
selectedJob !== undefined
329+
);
317330
}
318331

319332
getTreeItem(element: vscode.TreeItem) {

0 commit comments

Comments
 (0)