Skip to content

Commit 9f5ea2d

Browse files
committed
Slim down definition and use formatter
Signed-off-by: worksofliam <[email protected]>
1 parent eed57eb commit 9f5ea2d

File tree

2 files changed

+23
-8
lines changed

2 files changed

+23
-8
lines changed

src/database/schemas.ts

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11

2-
import { spec } from "node:test/reporters";
32
import { getInstance } from "../base";
43

54
import { JobManager } from "../config";
@@ -235,10 +234,26 @@ export default class Schemas {
235234
* @param schema Not user input
236235
* @param object Not user input
237236
*/
238-
static async generateSQL(schema: string, object: string, internalType: string): Promise<string> {
239-
const lines = await JobManager.runSQL<{ SRCDTA: string }>([
240-
`CALL QSYS2.GENERATE_SQL(?, ?, ?, CREATE_OR_REPLACE_OPTION => '1', PRIVILEGES_OPTION => '0')`
241-
].join(` `), { parameters: [object, schema, internalType] });
237+
static async generateSQL(schema: string, object: string, internalType: string, basic?: boolean): Promise<string> {
238+
let statement = `CALL QSYS2.GENERATE_SQL(?, ?, ?, CREATE_OR_REPLACE_OPTION => '1', PRIVILEGES_OPTION => '0')`;
239+
240+
if (basic) {
241+
let options: string[] = [
242+
`CREATE_OR_REPLACE_OPTION => '0'`,
243+
`PRIVILEGES_OPTION => '0'`,
244+
`COMMENT_OPTION => '0'`,
245+
`LABEL_OPTION => '0'`,
246+
`HEADER_OPTION => '0'`,
247+
`TRIGGER_OPTION => '0'`,
248+
`CONSTRAINT_OPTION => '0'`,
249+
// `PRIVILEGES_OPTION => '0'`,
250+
// `ACTIVATE_ACCESS_CONTROL_OPTION => '0'`,
251+
`MASK_AND_PERMISSION_OPTION => '0'`,
252+
];
253+
statement = `CALL QSYS2.GENERATE_SQL(?, ?, ?, ${options.join(`, `)})`;
254+
}
255+
256+
const lines = await JobManager.runSQL<{ SRCDTA: string }>(statement, { parameters: [object, schema, internalType] });
242257

243258
const generatedStatement = lines.map(line => line.SRCDTA).join(`\n`);
244259

src/language/providers/peekProvider.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,12 @@ export const peekProvider = languages.registerDefinitionProvider({ language: `sq
4545
const possibleObjects = await Schemas.getObjects(schema, types, {filter: name});
4646

4747
if (possibleObjects.length) {
48-
const lines: string[] = [];
48+
const lines: string[] = [`-- Condensed version of the object definition`];
4949
for (const obj of possibleObjects) {
5050
const type = InternalTypes[obj.type];
5151
if (type) {
52-
const contents = await Schemas.generateSQL(obj.schema, obj.name, type.toUpperCase());
53-
lines.push(contents, ``, ``);
52+
const contents = await Schemas.generateSQL(obj.schema, obj.name, type.toUpperCase(), true);
53+
lines.push(Statement.format(contents), ``, ``);
5454
}
5555
}
5656

0 commit comments

Comments
 (0)