Skip to content

Commit fc83050

Browse files
committed
check if schema has changed, then update provider
1 parent c7d4a9f commit fc83050

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

src/aiProviders/continue/listTablesContextProvider.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ const listDb2Table: ContextProviderDescription = {
2525
type: "submenu",
2626
};
2727

28-
let provider: ListDb2iTables = undefined;
28+
export let provider: ListDb2iTables = undefined;
2929

3030
class ListDb2iTables implements IContextProvider {
3131
constructor(private schema: string) {
@@ -40,6 +40,10 @@ class ListDb2iTables implements IContextProvider {
4040
this.schema = schema;
4141
}
4242

43+
getCurrentSchema() {
44+
return this.schema;
45+
}
46+
4347
async getColumnInfoForAllTables(schema: string) {
4448
const items: TableColumn[] = await Table.getItems(schema);
4549

src/views/jobManager/jobManagerView.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import { SelfCodesQuickPickItem } from "./selfCodes/selfCodesBrowser";
1212
import { updateStatusBar } from "./statusBar";
1313
import { setCancelButtonVisibility } from "../results";
1414
import { JDBCOptions } from "@ibm/mapepire-js/dist/src/types";
15-
import { registerDb2iTablesProvider } from "../../aiProviders/continue/listTablesContextProvider";
15+
import { provider, registerDb2iTablesProvider } from "../../aiProviders/continue/listTablesContextProvider";
1616
import { sqlLanguageStatus } from "../../language/providers";
1717

1818
const selectJobCommand = `vscode-db2i.jobManager.selectJob`;
@@ -304,9 +304,12 @@ export class JobManagerView implements TreeDataProvider<any> {
304304
updateStatusBar();
305305

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

308309
// re-register db2i tables context provider with current schema
309-
registerDb2iTablesProvider(selectedJob.job.options.libraries[0]);
310+
if (provider && provider.getCurrentSchema().toLowerCase() !== selectedSchema.toLowerCase()) {
311+
registerDb2iTablesProvider(selectedJob.job.options.libraries[0]);
312+
}
310313

311314
setCancelButtonVisibility(selectedJob && selectedJob.job.getStatus() === "busy");
312315
sqlLanguageStatus.setState(selectedJob !== undefined);

0 commit comments

Comments
 (0)