feat: upgrade antlr4 to 4.12.0 (#88)

This commit is contained in:
Ziv
2023-05-04 10:13:05 +08:00
committed by GitHub
parent c0842b3e07
commit c1c72def30
116 changed files with 552721 additions and 609942 deletions

View File

@ -1,4 +1,4 @@
import { FlinkSQL } from '../../../src';
import FlinkSQL from '../../../src/parser/flinksql';
describe('FlinkSQL Lexer tests', () => {
const parser = new FlinkSQL();
@ -7,6 +7,6 @@ describe('FlinkSQL Lexer tests', () => {
const tokens = parser.getAllTokens(sql);
test('token counts', () => {
expect(tokens.length).toBe(7);
expect(tokens.length - 1).toBe(7);
});
});

View File

@ -1,4 +1,6 @@
import { FlinkSQL, FlinkSqlParserListener } from '../../../src';
import FlinkSQL from '../../../src/parser/flinksql';
import FlinkSqlParserListener from '../../../src/lib/flinksql/FlinkSqlParserListener';
import { TableExpressionContext } from '../../../src/lib/flinksql/FlinkSqlParser';
describe('Flink SQL Listener Tests', () => {
const expectTableName = 'user1';
@ -10,11 +12,16 @@ describe('Flink SQL Listener Tests', () => {
test('Listener enterTableName', async () => {
let result = '';
class MyListener extends FlinkSqlParserListener {
enterTableExpression(ctx): void {
constructor() {
super()
}
enterTableExpression = (ctx: TableExpressionContext): void => {
result = ctx.getText().toLowerCase();
}
}
const listenTableName: any = new MyListener();
const listenTableName = new MyListener();
await parser.listen(listenTableName, parserTree);
expect(result).toBe(expectTableName);

View File

@ -1,4 +1,4 @@
import { FlinkSQL } from '../../../src';
import FlinkSQL from '../../../src/parser/flinksql';
describe('FlinkSQL Syntax Tests', () => {
const parser = new FlinkSQL();
@ -22,6 +22,11 @@ describe('FlinkSQL Syntax Tests', () => {
const result = parser.validate(sql);
expect(result.length).toBe(0);
});
test('Test simple Error Select Statement', () => {
const sql = `SELECTproduct, amount FROM;`;
const result = parser.validate(sql);
expect(result.length).toBe(1);
});
test('Test Select Statement with where clause', () => {
const sql = `SELECT * FROM person WHERE id = 200 OR id = 300;`;
const result = parser.validate(sql);
@ -217,7 +222,6 @@ describe('FlinkSQL Syntax Tests', () => {
test('Test valid Double Line Comment statement', () => {
const sql = `----test comment\n`;
const result = parser.validate(sql);
console.log('res:', result);
expect(result.length).toBe(0);
});

View File

@ -1,4 +1,4 @@
import { FlinkSQL } from '../../../../src';
import FlinkSQL from "../../../../src/parser/flinksql";
describe('FlinkSQL Create Table Syntax Tests', () => {
const parser = new FlinkSQL();

View File

@ -1,4 +1,4 @@
import { FlinkSQL } from '../../../../src';
import FlinkSQL from "../../../../src/parser/flinksql";
describe('FlinkSQL Create Table Syntax Tests', () => {
const parser = new FlinkSQL();

View File

@ -1,4 +1,4 @@
import { FlinkSQL } from '../../../../src';
import FlinkSQL from '../../../../src/parser/flinksql';
describe('FlinkSQL Create Table Syntax Tests', () => {
const parser = new FlinkSQL();

View File

@ -1,4 +1,4 @@
import { FlinkSQL } from '../../../../src';
import FlinkSQL from "../../../../src/parser/flinksql";
describe('FlinkSQL Create Table Syntax Tests', () => {
const parser = new FlinkSQL();

View File

@ -1,4 +1,4 @@
import { FlinkSQL } from '../../../../src';
import FlinkSQL from "../../../../src/parser/flinksql";
describe('FlinkSQL Create Table Syntax Tests', () => {
const parser = new FlinkSQL();

View File

@ -1,4 +1,5 @@
import { FlinkSQL, FlinkSqlParserVisitor } from '../../../src';
import FlinkSQL from '../../../src/parser/flinksql';
import FlinkSqlParserVisitor from '../../../src/lib/flinksql/FlinkSqlParserVisitor';
describe('Flink SQL Visitor Tests', () => {
const expectTableName = 'user1';
@ -9,14 +10,11 @@ describe('Flink SQL Visitor Tests', () => {
console.log('Parse error:', error);
});
// console.log('Parser tree string:', parser.toString(parserTree));
test('Visitor visitTableName', () => {
let result = '';
class MyVisitor extends FlinkSqlParserVisitor {
visitTableExpression(ctx): void {
class MyVisitor extends FlinkSqlParserVisitor<any>{
visitTableExpression = (ctx): void => {
result = ctx.getText().toLowerCase();
super.visitTableExpression(ctx);
}
}
const visitor: any = new MyVisitor();

View File

@ -1,4 +1,4 @@
import { GenericSQL } from '../../../src/';
import GenericSQL from '../../../src/parser/generic';
describe('GenericSQL Lexer tests', () => {
const mysqlParser = new GenericSQL();
@ -7,6 +7,6 @@ describe('GenericSQL Lexer tests', () => {
const tokens = mysqlParser.getAllTokens(sql);
test('token counts', () => {
expect(tokens.length).toBe(12);
expect(tokens.length - 1).toBe(12);
});
});

View File

@ -1,4 +1,5 @@
import { GenericSQL, SqlParserListener } from '../../../src';
import GenericSQL from '../../../src/parser/generic';
import SqlParserListener from '../../../src/lib/generic/SqlParserListener';
describe('Generic SQL Listener Tests', () => {
const expectTableName = 'user1';
@ -10,7 +11,7 @@ describe('Generic SQL Listener Tests', () => {
test('Listener enterTableName', async () => {
let result = '';
class MyListener extends SqlParserListener {
enterTableName(ctx): void {
enterTableName = (ctx): void => {
result = ctx.getText().toLowerCase();
}
}

View File

@ -1,4 +1,4 @@
import { GenericSQL } from '../../../src';
import GenericSQL from '../../../src/parser/generic';
describe('Generic SQL Syntax Tests', () => {
const parser = new GenericSQL();

View File

@ -1,4 +1,5 @@
import { GenericSQL, SqlParserVisitor } from '../../../src';
import GenericSQL from '../../../src/parser/generic';
import SqlParserVisitor from '../../../src/lib/generic/SqlParserVisitor';
describe('Generic SQL Visitor Tests', () => {
const expectTableName = 'user1';
@ -9,17 +10,19 @@ describe('Generic SQL Visitor Tests', () => {
console.log('Parse error:', error);
});
console.log('Parser tree string:', parser.toString(parserTree));
test('Visitor visitTableName', () => {
let result = '';
class MyVisitor extends SqlParserVisitor {
visitTableName(ctx): void {
class MyVisitor extends SqlParserVisitor<any> {
constructor() {
super();
}
visitTableName = (ctx): void => {
result = ctx.getText().toLowerCase();
super.visitTableName(ctx);
super.visitTableName?.(ctx);
}
}
const visitor: any = new MyVisitor();
const visitor = new MyVisitor();
visitor.visit(parserTree);
expect(result).toBe(expectTableName);

View File

@ -1,16 +1,16 @@
import { HiveSQL } from '../../../src';
import HiveSQL from '../../../src/parser/hive';
describe('HiveSQL Lexer tests', () => {
const parser = new HiveSQL();
test('select token counts', () => {
const sql = 'SELECT * FROM t1';
const tokens = parser.getAllTokens(sql);
expect(tokens.length).toBe(4);
expect(tokens.length - 1).toBe(4);
});
test('select token counts', () => {
const sql = 'show create table_name;';
const tokens = parser.getAllTokens(sql);
expect(tokens.length).toBe(4);
expect(tokens.length - 1).toBe(4);
});
});

View File

@ -1,4 +1,6 @@
import { HiveSQL, HiveSqlListener } from '../../../src';
import HiveSqlListener from '../../../src/lib/hive/HiveSqlListener';
import HiveSQL from '../../../src/parser/hive';
describe('Hive SQL Listener Tests', () => {
const parser = new HiveSQL();
@ -9,7 +11,7 @@ describe('Hive SQL Listener Tests', () => {
let result = '';
class MyListener extends HiveSqlListener {
enterSelect_list(ctx): void {
enterSelect_list = (ctx): void => {
result = ctx.getText();
}
}
@ -23,7 +25,7 @@ describe('Hive SQL Listener Tests', () => {
const parserTree = parser.parse(sql);
let result = '';
class MyListener extends HiveSqlListener {
enterDrop_stmt(ctx): void {
enterDrop_stmt = (ctx): void => {
result = ctx.getText();
}
}

View File

@ -1,4 +1,4 @@
import { HiveSQL } from '../../../src';
import HiveSQL from '../../../src/parser/hive';
describe('Hive SQL Syntax Tests', () => {
const parser = new HiveSQL();

View File

@ -1,4 +1,5 @@
import { HiveSQL, HiveSqlVisitor } from '../../../src';
import HiveSqlVisitor from '../../../src/lib/hive/HiveSqlVisitor';
import HiveSQL from '../../../src/parser/hive';
describe('Generic SQL Visitor Tests', () => {
const expectTableName = 'dm_gis.dlv_addr_tc_count';
@ -9,18 +10,16 @@ describe('Generic SQL Visitor Tests', () => {
console.log('Parse error:', error);
});
// console.log('Parser tree string:', parser.toString(parserTree));
test('Visitor visitTableName', () => {
let result = '';
class MyVisitor extends HiveSqlVisitor {
visitTable_name(ctx): void {
class MyVisitor extends HiveSqlVisitor<any> {
visitTable_name = (ctx): void => {
result = ctx.getText().toLowerCase();
super.visitTable_name(ctx);
super.visitTable_name?.(ctx);
}
}
const visitor: any = new MyVisitor();
const visitor = new MyVisitor();
visitor.visit(parserTree);
expect(result).toBe(expectTableName);

View File

@ -1,4 +1,4 @@
import { PostgresSQL } from '../../../src/';
import PostgresSQL from '../../../src/parser/pgsql';
describe('PostgresSQL Lexer tests', () => {
const mysqlParser = new PostgresSQL();
@ -7,6 +7,6 @@ describe('PostgresSQL Lexer tests', () => {
const tokens = mysqlParser.getAllTokens(sql);
test('token counts', () => {
expect(tokens.length).toBe(12);
expect(tokens.length - 1).toBe(12);
});
});

View File

@ -1,4 +1,5 @@
import { PostgresSQL, PostgreSQLParserListener } from '../../../src';
import PostgreSQLParserListener from '../../../src/lib/pgsql/PostgreSQLParserListener';
import PostgresSQL from '../../../src/parser/pgsql';
describe('PostgresSQL Listener Tests', () => {
const expectTableName = 'user1';
@ -7,13 +8,11 @@ describe('PostgresSQL Listener Tests', () => {
const parserTree = parser.parse(sql);
console.log('Parser tree string:', parserTree);
test('Listener enterTableName', async () => {
let result = '';
class MyListener extends PostgreSQLParserListener {
// eslint-disable-next-line camelcase
enterTable_ref(ctx): void {
enterTable_ref = (ctx): void => {
result = ctx.getText().toLowerCase();
}
}

View File

@ -1,4 +1,4 @@
import { PostgresSQL } from '../../../src';
import PostgresSQL from "../../../src/parser/pgsql";
describe('Generic SQL Syntax Tests', () => {
const parser = new PostgresSQL();

View File

@ -1,4 +1,5 @@
import { PostgresSQL, PostgreSQLParserVisitor } from '../../../src';
import PostgreSQLParserVisitor from "../../../src/lib/pgsql/PostgreSQLParserVisitor";
import PostgresSQL from "../../../src/parser/pgsql";
describe('Generic SQL Visitor Tests', () => {
const expectTableName = 'user1';
@ -11,11 +12,11 @@ describe('Generic SQL Visitor Tests', () => {
test('Visitor visitTableName', () => {
let result = '';
class MyVisitor extends PostgreSQLParserVisitor {
class MyVisitor extends PostgreSQLParserVisitor<any> {
// eslint-disable-next-line camelcase
visitTable_ref(ctx): void {
visitTable_ref = (ctx): void => {
result = ctx.getText().toLowerCase();
super.visitTable_ref(ctx);
super.visitTable_ref?.(ctx);
}
}
const visitor: any = new MyVisitor();

View File

@ -1,4 +1,4 @@
import { PLSQL } from '../../../src';
import PLSQL from '../../../src/parser/plsql';
describe('PLSQL Lexer tests', () => {
const parser = new PLSQL();
@ -7,6 +7,6 @@ describe('PLSQL Lexer tests', () => {
const tokens = parser.getAllTokens(sql);
test('token counts', () => {
expect(tokens.length).toBe(12);
expect(tokens.length - 1).toBe(12);
});
});

View File

@ -1,4 +1,5 @@
import { PLSQL, PlSqlParserListener } from '../../../src';
import PlSqlParserListener from '../../../src/lib/plsql/PlSqlParserListener';
import PLSQL from '../../../src/parser/plsql';
describe('PLSQL Listener Tests', () => {
const expectTableName = 'user1';
@ -11,7 +12,7 @@ describe('PLSQL Listener Tests', () => {
let result = '';
class MyListener extends PlSqlParserListener {
// eslint-disable-next-line camelcase
enterTable_ref_list(ctx): void {
enterTable_ref_list = (ctx): void => {
result = ctx.getText().toLowerCase();
}
}

View File

@ -1,7 +1,7 @@
import { PLSQL } from '../../../src';
import PLSQLParser from '../../../src/parser/plsql';
describe('PLSQL Syntax Tests', () => {
const parser = new PLSQL();
const parser = new PLSQLParser();
test('Test simple select Statement', () => {
const sql = 'select id,name from user1;';

View File

@ -1,4 +1,5 @@
import { PLSQL, PlSqlParserVisitor } from '../../../src';
import PlSqlParserVisitor from '../../../src/lib/plsql/PlSqlParserVisitor';
import PLSQL from '../../../src/parser/plsql';
describe('PLSQL Visitor Tests', () => {
const expectTableName = 'user1';
@ -9,11 +10,11 @@ describe('PLSQL Visitor Tests', () => {
test('Visitor visitTable_ref_list', () => {
let result = '';
class MyVisitor extends PlSqlParserVisitor {
class MyVisitor extends PlSqlParserVisitor<any> {
// eslint-disable-next-line camelcase
visitTable_ref_list(ctx): void {
visitTable_ref_list = (ctx): void => {
result = ctx.getText().toLowerCase();
super.visitTable_ref_list(ctx);
super.visitTable_ref_list?.(ctx);
}
}
const visitor: any = new MyVisitor();

View File

@ -1,6 +1,4 @@
import { SparkSQL } from '../../../src';
const log = console.log.bind(console);
import SparkSQL from '../../../src/parser/spark';
describe('SparkSQL Lexer tests', () => {
const parser = new SparkSQL();
@ -8,14 +6,12 @@ describe('SparkSQL Lexer tests', () => {
test('select id,name from user1;', () => {
const sql = `select id,name from user1;`;
const tokens = parser.getAllTokens(sql);
const length = tokens.length;
log('tokens length', length);
expect(tokens.length).toBe(10);
expect(tokens.length - 1).toBe(10);
});
test('SELECT * FROM t WHERE x = 1 AND y = 2;', () => {
const sql = `SELECT * FROM t WHERE x = 1 AND y = 2;`;
const tokens = parser.getAllTokens(sql);
expect(tokens.length).toBe(24);
expect(tokens.length - 1).toBe(24);
});
});

View File

@ -1,4 +1,5 @@
import { SparkSQL, SparkSqlListener } from '../../../src';
import SparkSqlListener from '../../../src/lib/spark/SparkSqlListener';
import SparkSQL from '../../../src/parser/spark';
describe('Spark SQL Listener Tests', () => {
const expectTableName = 'user1';
@ -10,7 +11,7 @@ describe('Spark SQL Listener Tests', () => {
test('Listener enterTableName', () => {
let result = '';
class MyListener extends SparkSqlListener {
enterTableName(ctx): void {
enterTableName = (ctx): void => {
result = ctx.getText().toLowerCase();
}
}

View File

@ -1,4 +1,4 @@
import { SparkSQL } from '../../../src';
import SparkSQL from '../../../src/parser/spark';
const error = console.log.bind(console, '***** error\n');

View File

@ -1,4 +1,5 @@
import { SparkSQL, SparkSqlVisitor } from '../../../src';
import SparkSqlVisitor from '../../../src/lib/spark/SparkSqlVisitor';
import SparkSQL from '../../../src/parser/spark';
describe('Spark SQL Visitor Tests', () => {
const expectTableName = 'user1';
@ -9,14 +10,12 @@ describe('Spark SQL Visitor Tests', () => {
console.log('Parse error:', error);
});
console.log('Parser tree string:', parser.toString(parserTree));
test('Visitor visitTableName', () => {
let result = '';
class MyVisitor extends SparkSqlVisitor {
visitTableName(ctx): void {
class MyVisitor extends SparkSqlVisitor<any> {
visitTableName = (ctx): void => {
result = ctx.getText().toLowerCase();
super.visitTableName(ctx);
super.visitTableName?.(ctx);
}
}
const visitor: any = new MyVisitor();