Skip to content

Commit 214584d

Browse files
committed
Reduce maximum statement count limit in SQL syntax checker from 2000 to 500 and improve error handling during syntax validation.
Signed-off-by: worksofliam <[email protected]>
1 parent ea9aa99 commit 214584d

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

src/connection/syntaxChecker/checker.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
export const VALIDATOR_NAME = `VALIDATE_STATEMENT`;
22
export const WRAPPER_NAME = `CHECKSTMTWRAPPED`;
33
export const VALID_STATEMENT_LENGTH = 32740;
4-
export const MAX_STATEMENT_COUNT = 2000;
4+
export const MAX_STATEMENT_COUNT = 500;
55

66
export function getValidatorSource(schema: string, version: number) {
77
return /*sql*/`

src/language/providers/problemProvider.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,10 +164,10 @@ async function validateSqlDocument(document: TextDocument, specificStatement?: n
164164

165165

166166
if (statementRanges.length > 0) {
167+
const basename = document.fileName ? path.basename(document.fileName) : `Untitled`;
167168
const validStatements = statementRanges.filter(r => r.validate);
168169

169170
if (validStatements.length > MAX_STATEMENT_COUNT) {
170-
const basename = document.fileName ? path.basename(document.fileName) : `Untitled`;
171171
window.showWarningMessage(`${basename}: the SQL syntax checker cannot run because the statement limit has been reached (${validStatements.length} of ${MAX_STATEMENT_COUNT} max).`);
172172
return;
173173
}
@@ -177,7 +177,15 @@ async function validateSqlDocument(document: TextDocument, specificStatement?: n
177177

178178
if (validStatements.length > 0) {
179179
const se = performance.now();
180-
const syntaxChecked = await window.withProgress({ location: ProgressLocation.Window, title: `$(sync-spin) Checking SQL Syntax` }, () => { return checker.checkMultipleStatements(sqlStatementContents) });
180+
181+
let syntaxChecked: SqlSyntaxError[]|undefined;
182+
try {
183+
syntaxChecked = await window.withProgress({ location: ProgressLocation.Window, title: `$(sync-spin) Checking SQL Syntax` }, () => { return checker.checkMultipleStatements(sqlStatementContents) });
184+
} catch (e) {
185+
window.showErrorMessage(`${basename}: the SQL syntax checker failed to run. ${e.message}`);
186+
syntaxChecked = undefined;
187+
}
188+
181189
const ee = performance.now();
182190

183191
if (syntaxChecked) {

0 commit comments

Comments
 (0)