Skip to content

Commit 6fd584b

Browse files
committed
Compiler shouldn't accept varchar without length parameter
1 parent 214f9fa commit 6fd584b

7 files changed

Lines changed: 1678 additions & 1671 deletions

File tree

htdocs/js.webpack/sql-ide-embedded.css

Lines changed: 1078 additions & 1080 deletions
Large diffs are not rendered by default.

htdocs/js.webpack/sql-ide-embedded.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

htdocs/js.webpack/sql-ide-embedded.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

htdocs/js.webpack/sql-ide.css

Lines changed: 583 additions & 585 deletions
Large diffs are not rendered by default.

htdocs/js.webpack/sql-ide.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

htdocs/js.webpack/sql-ide.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/client/compiler/parser/Parser.ts

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1287,6 +1287,8 @@ export class Parser {
12871287
}
12881288

12891289
let identifier = <string>this.cct.value;
1290+
let identifierPos = this.getCurrentPosition()
1291+
12901292
let mappedIdentifier:string = this.identifierMap[identifier.toLocaleLowerCase()];
12911293

12921294
if (mappedIdentifier != null) {
@@ -1324,10 +1326,19 @@ export class Parser {
13241326
this.expect(TokenType.rightBracket, true);
13251327
}
13261328

1327-
if (identifier != null && identifier.toLocaleLowerCase() == "char" && node.parameters == null) {
1328-
node.parameters = [1];
1329+
if(identifier != null && node.parameters == null){
1330+
switch(identifier.toLocaleLowerCase()){
1331+
case "char":
1332+
node.parameters = [1];
1333+
break;
1334+
case "varchar":
1335+
node.parameters = [1];
1336+
this.pushError("Hinter dem Datentyp varchar wird zwingend eine Längenangabe in Klammern erwaretet, also z.B. varchar(30)", "error", identifierPos)
1337+
break;
1338+
}
13291339
}
13301340

1341+
13311342
// primary key autoincrement
13321343
// references table(column)
13331344
// not null

0 commit comments

Comments
 (0)