Skip to content

Commit 1faf105

Browse files
committed
format and clean up code
1 parent 2ac26ef commit 1faf105

File tree

3 files changed

+54
-41
lines changed

3 files changed

+54
-41
lines changed

index.d.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
import { RequestInfo, RequestInit, Response } from "node-fetch";
2+
import { URL } from "url";
3+
14
declare global {
25
interface Window {
36
ide?: "vscode";

src/aiProviders/continue/continueContextProvider.ts

Lines changed: 49 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
11
import * as vscode from "vscode";
22
import { JobManager } from "../../config";
33
import { JobInfo } from "../../connection/manager";
4-
import Statement from "../../database/statement";
54
import { SelfCodeNode } from "../../views/jobManager/selfCodes/nodes";
65
import { findPossibleTables } from "../../chat/context";
7-
import { ContextItem, ContextProviderDescription, ContextProviderExtras, ContextSubmenuItem, IContextProvider, LoadSubmenuItemsArgs } from "../../..";
6+
import {
7+
ContextItem,
8+
ContextProviderDescription,
9+
ContextProviderExtras,
10+
ContextSubmenuItem,
11+
IContextProvider,
12+
LoadSubmenuItemsArgs,
13+
} from "../../..";
814

915
const db2ContextProviderDesc: ContextProviderDescription = {
1016
title: "db2i",
@@ -33,28 +39,55 @@ export class db2ContextProvider implements IContextProvider {
3339
return currentJob?.job.options.libraries[0] || "QGPL";
3440
};
3541

36-
async getSelfCodes(selected: JobInfo): Promise<SelfCodeNode[]|undefined> {
42+
async getSelfCodes(selected: JobInfo): Promise<SelfCodeNode[] | undefined> {
3743
const current_job = selected.job.id;
38-
const content = `SELECT
39-
job_name, user_name, reason_code, logged_time, logged_sqlstate, logged_sqlcode, matches, stmttext, message_text, message_second_level_text,
40-
program_library, program_name, program_type, module_name, client_applname, client_programid, initial_stack
41-
FROM qsys2.sql_error_log, lateral (select * from TABLE(SYSTOOLS.SQLCODE_INFO(logged_sqlcode)))
42-
where job_name = '${current_job}'
43-
order by logged_time desc`;
44+
const content = `
45+
SELECT
46+
job_name,
47+
user_name,
48+
reason_code,
49+
logged_time,
50+
logged_sqlstate,
51+
logged_sqlcode,
52+
matches,
53+
stmttext,
54+
message_text,
55+
message_second_level_text,
56+
program_library,
57+
program_name,
58+
program_type,
59+
module_name,
60+
client_applname,
61+
client_programid,
62+
initial_stack
63+
FROM
64+
qsys2.sql_error_log,
65+
LATERAL (
66+
SELECT *
67+
FROM TABLE(SYSTOOLS.SQLCODE_INFO(logged_sqlcode))
68+
)
69+
WHERE
70+
job_name = '${current_job}'
71+
ORDER BY
72+
logged_time DESC
73+
`;
4474

4575
try {
46-
const result = await selected.job.query<SelfCodeNode>(content).execute(10000);
76+
const result = await selected.job
77+
.query<SelfCodeNode>(content)
78+
.execute(10000);
4779
if (result.success) {
4880
const data: SelfCodeNode[] = result.data.map((row) => ({
4981
...row,
50-
INITIAL_STACK: JSON.parse(row.INITIAL_STACK as unknown as string)
82+
INITIAL_STACK: JSON.parse(row.INITIAL_STACK as unknown as string),
5183
}));
5284

53-
5485
return data;
5586
}
5687
} catch (e) {
57-
vscode.window.showErrorMessage(`An error occured fetching SELF code errors, and therefore will be disabled.`);
88+
vscode.window.showErrorMessage(
89+
`An error occured fetching SELF code errors, and therefore will be disabled.`
90+
);
5891
}
5992
}
6093

@@ -75,7 +108,7 @@ export class db2ContextProvider implements IContextProvider {
75108

76109
if (job) {
77110
const selfCodes = await this.getSelfCodes(job);
78-
111+
79112
let prompt = `Db2 for i self code errors\n`;
80113
prompt += `Summarize the SELF code errors provided. The SQL Error Logging Facility (SELF) provides a mechanism that can be used to understand when SQL statements are encountering specific SQL errors or warnings. SELF is built into Db2 for i and can be enabled in specific jobs or system wide. Provide additional details about the errors and how to fix them.\n`;
81114
prompt += `Errors:\n`;
@@ -98,7 +131,8 @@ export class db2ContextProvider implements IContextProvider {
98131
);
99132
for (const table of Object.keys(tableRefs)) {
100133
const columnData: TableColumn[] = tableRefs[table];
101-
const tableSchema = columnData.length > 0 ? columnData[0].TABLE_SCHEMA : null;
134+
const tableSchema =
135+
columnData.length > 0 ? columnData[0].TABLE_SCHEMA : null;
102136

103137
// create context item
104138
let prompt = `Db2 for i schema ${tableSchema} table ${table}\n`;
@@ -123,26 +157,6 @@ export class db2ContextProvider implements IContextProvider {
123157
args: LoadSubmenuItemsArgs
124158
): Promise<ContextSubmenuItem[]> {
125159
return [];
126-
// const job = this.getCurrentJob();
127-
// const schema = this.getDefaultSchema();
128-
// try {
129-
// const tableRefs = await this.findAllTables(schema);
130-
// const contextItems: ContextSubmenuItem[] = [];
131-
// for (const table of Object.keys(tableRefs)) {
132-
// const columnData = tableRefs[table];
133-
134-
// contextItems.push({
135-
// id: table,
136-
// title: table,
137-
// description: `Schema from ${schema}`
138-
// })
139-
140-
// }
141-
// return contextItems;
142-
// } catch (error) {
143-
// vscode.window.showErrorMessage(`Failed to query Db2i database: ${error}`);
144-
// throw new Error(`Failed to query Db2i database: ${error}`);
145-
// }
146160
}
147161
}
148162

src/extension.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import { Db2iUriHandler, getStatementUri } from "./uriHandler";
2121
import { ExampleBrowser } from "./views/examples/exampleBrowser";
2222
import { JobManagerView } from "./views/jobManager/jobManagerView";
2323
import { SelfTreeDecorationProvider, selfCodesResultsView } from "./views/jobManager/selfCodes/selfCodesResultsView";
24-
import Configuration from "./configuration";
2524
import { registerContinueProvider } from "./aiProviders/continue/continueContextProvider";
2625
import { queryHistory } from "./views/queryHistoryView";
2726
import { activateChat } from "./chat/chat";
@@ -95,21 +94,18 @@ export function activate(context: vscode.ExtensionContext): Db2i {
9594
DbCache.resetCache();
9695
selfCodesView.setRefreshEnabled(false);
9796
selfCodesView.setJobOnly(false);
97+
// register continue provider
98+
registerContinueProvider();
9899
// Refresh the examples when we have it, so we only display certain examples
99100
onConnectOrServerInstall().then(() => {
100101
exampleBrowser.refresh();
101102
selfCodesView.setRefreshEnabled(Configuration.get(`jobSelfViewAutoRefresh`) || false);
102-
103103
if (devMode && runTests) {
104104
runTests();
105105
}
106106
});
107107
});
108108

109-
110-
// register continue provider
111-
registerContinueProvider();
112-
113109
const copilot = vscode.extensions.getExtension(`github.copilot-chat`);
114110

115111
if (copilot) {

0 commit comments

Comments
 (0)