@@ -6,7 +6,7 @@ import { remoteAssistIsEnabled } from "./logic/available";
6
6
import Configuration from "../../configuration" ;
7
7
import { SQLStatementChecker , SqlSyntaxError } from "../../connection/syntaxChecker" ;
8
8
import { StatementGroup , StatementType } from "../sql/types" ;
9
- import { VALID_STATEMENT_LENGTH } from "../../connection/syntaxChecker/checker" ;
9
+ import { MAX_STATEMENT_COUNT , VALID_STATEMENT_LENGTH } from "../../connection/syntaxChecker/checker" ;
10
10
import { getSqlDocument , isSafeDocument } from "./logic/parse" ;
11
11
import path from "path" ;
12
12
@@ -125,8 +125,8 @@ async function validateSqlDocument(document: TextDocument, specificStatement?: n
125
125
const sqlDocument = getSqlDocument ( document ) ;
126
126
127
127
if ( sqlDocument ) {
128
-
129
128
const allGroups = sqlDocument . getStatementGroups ( ) ;
129
+
130
130
let statementRanges : StatementRange [ ] = [ ] ;
131
131
132
132
for ( let i = 0 ; i < allGroups . length ; i ++ ) {
@@ -165,6 +165,13 @@ async function validateSqlDocument(document: TextDocument, specificStatement?: n
165
165
166
166
if ( statementRanges . length > 0 ) {
167
167
const validStatements = statementRanges . filter ( r => r . validate ) ;
168
+
169
+ if ( validStatements . length > MAX_STATEMENT_COUNT ) {
170
+ const basename = document . fileName ? path . basename ( document . fileName ) : `Untitled` ;
171
+ window . showWarningMessage ( `${ basename } : the SQL syntax checker cannot run because the statement limit has been reached (${ validStatements . length } of ${ MAX_STATEMENT_COUNT } max).` ) ;
172
+ return ;
173
+ }
174
+
168
175
const invalidStatements = statementRanges . filter ( r => ! r . validate ) ;
169
176
const sqlStatementContents = validStatements . map ( range => sqlDocument . content . substring ( range . start , range . end ) ) ;
170
177
0 commit comments