From 21302b396a03d22a8baf583205d858cd6ebe1de5 Mon Sep 17 00:00:00 2001 From: worksofliam Date: Fri, 2 Feb 2024 15:15:34 -0500 Subject: [PATCH 1/2] Remove logic to validate if member exists Signed-off-by: worksofliam --- src/instantiate.ts | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/src/instantiate.ts b/src/instantiate.ts index 32da9c0d5..de5f658df 100644 --- a/src/instantiate.ts +++ b/src/instantiate.ts @@ -422,27 +422,13 @@ export async function loadAllofExtension(context: vscode.ExtensionContext) { const file = `${connection!.sysNameInAmerican(selectionSplit[1])}`; const member = path.parse(`${connection!.sysNameInAmerican(selectionSplit[2])}`); member.ext = member.ext.substring(1); - const fullMember = await content!.runSQL(` - select rtrim( cast( SYSTEM_TABLE_MEMBER as char( 10 ) for bit data ) ) as MEMBER - , rtrim( coalesce( SOURCE_TYPE, '' ) ) as TYPE - from QSYS2.SYSPARTITIONSTAT - where ( SYSTEM_TABLE_SCHEMA, SYSTEM_TABLE_NAME, SYSTEM_TABLE_MEMBER ) = ( '${lib}', '${file}', '${member.name}' ) - limit 1 - `).then((resultSet) => { - return resultSet.length !== 1 ? {} : - { - base: `${resultSet[0].MEMBER}.${resultSet[0].TYPE}`, - name: `${resultSet[0].MEMBER}`, - ext: `${resultSet[0].TYPE}`, - } - }); - if (!fullMember) { - vscode.window.showWarningMessage(`Member ${lib}/${file}/${member.base} does not exist.`); - return; - } else if (fullMember.name !== member.name || (member.ext && fullMember.ext !== member.ext)) { - vscode.window.showWarningMessage(`Member ${lib}/${file}/${member.name} of type ${member.ext} does not exist.`); - return; + + const fullMember = { + base: member.base, + name: member.name, + ext: member.ext } + selection = `${lib}/${file}/${fullMember.base}`; }; if (selection.startsWith(`/`)) { From 2b079e90cc4ce07e8e05b36bb3041108fc48abe6 Mon Sep 17 00:00:00 2001 From: worksofliam Date: Fri, 2 Feb 2024 15:18:54 -0500 Subject: [PATCH 2/2] Ensure an extension is provided Signed-off-by: worksofliam --- src/instantiate.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/instantiate.ts b/src/instantiate.ts index de5f658df..f66311186 100644 --- a/src/instantiate.ts +++ b/src/instantiate.ts @@ -423,6 +423,11 @@ export async function loadAllofExtension(context: vscode.ExtensionContext) { const member = path.parse(`${connection!.sysNameInAmerican(selectionSplit[2])}`); member.ext = member.ext.substring(1); + if (member.ext.trim() === ``) { + vscode.window.showErrorMessage(`${selection} does not include a member extension.`); + return; + } + const fullMember = { base: member.base, name: member.name,