refactor: standard naming (#278)

* refactor: rename flinksql to flink

* refactor: rename pgsql to postgresql

* refactor: rename trinosql to trino

* refactor: replace all default exports with named export

* refactor: rename basicParser to basicSQL

* refactor: rename basic-parser-types to types

* refactor: replace arrow func with plain func
This commit is contained in:
Hayden
2024-03-27 10:33:25 +08:00
committed by GitHub
parent a99721162b
commit bb0fad1dbe
325 changed files with 33161 additions and 33202 deletions

View File

@ -0,0 +1,12 @@
# FlinkSQL Benchmark
| Name | Rows | Times | Total Time(ms) | Average Time(ms) |
| ---- | ---- | ---- | ---- | ---- |
| CreateTable | 100 | 1 | 150.34 | 150.34 |
| CreateTable | 1000 | 1 | 53.04 | 53.04 |
| CreateTable | 5000 | 1 | 179.04 | 179.04 |
| SelectTable | 100 | 1 | 460.25 | 460.25 |
| SelectTable | 1000 | 1 | 46.24 | 46.24 |
| SelectTable | 5000 | 1 | 505.28 | 505.28 |
| InsertTable | 100 | 1 | 13.58 | 13.58 |
| InsertTable | 1000 | 1 | 33.07 | 33.07 |
| InsertTable | 5000 | 1 | 242.58 | 242.58 |

View File

@ -1,4 +1,4 @@
import FlinkSQL from 'src/parser/flinksql';
import { FlinkSQL } from 'src/parser/flink';
import {
readSQL,
benchmark,
@ -14,14 +14,14 @@ const features = {
};
describe('FlinkSQL benchmark tests', () => {
const parser = new FlinkSQL();
const flink = new FlinkSQL();
let reportsHeader = getReportTableHeader('FlinkSQL Benchmark');
const reportData: string[] = [];
test('createTable Over 100 Rows', async () => {
const [totalTimes, averageTimes, msg] = benchmark('CreateTable Over 100 Rows', () => {
const testSQL = features.createTable[0];
const res = parser.validate(testSQL);
const res = flink.validate(testSQL);
expect(res).toEqual([]);
});
reportData.push(getReportTableRow('CreateTable', 100, 1, totalTimes, averageTimes));
@ -30,7 +30,7 @@ describe('FlinkSQL benchmark tests', () => {
test('createTable Over 1000 Rows', async () => {
const [totalTimes, averageTimes, msg] = benchmark('CreateTable Over 1000 Rows', () => {
const testSQL = features.createTable[1];
const res = parser.validate(testSQL);
const res = flink.validate(testSQL);
expect(res).toEqual([]);
});
reportData.push(getReportTableRow('CreateTable', 1000, 1, totalTimes, averageTimes));
@ -39,7 +39,7 @@ describe('FlinkSQL benchmark tests', () => {
test('createTable Over 5000 Rows', async () => {
const [totalTimes, averageTimes, msg] = benchmark('CreateTable Over 5000 Rows', () => {
const testSQL = features.createTable[2];
const res = parser.validate(testSQL);
const res = flink.validate(testSQL);
expect(res).toEqual([]);
});
reportData.push(getReportTableRow('CreateTable', 5000, 1, totalTimes, averageTimes));
@ -48,7 +48,7 @@ describe('FlinkSQL benchmark tests', () => {
test('selectTable Over 100 Rows', async () => {
const [totalTimes, averageTimes, msg] = benchmark('SelectTable Over 100 Rows', () => {
const testSQL = features.selectTable[0];
const res = parser.validate(testSQL);
const res = flink.validate(testSQL);
expect(res).toEqual([]);
});
reportData.push(getReportTableRow('SelectTable', 100, 1, totalTimes, averageTimes));
@ -57,7 +57,7 @@ describe('FlinkSQL benchmark tests', () => {
test('selectTable Over 1000 Rows', async () => {
const [totalTimes, averageTimes, msg] = benchmark('SelectTable Over 1000 Rows', () => {
const testSQL = features.selectTable[1];
const res = parser.validate(testSQL);
const res = flink.validate(testSQL);
expect(res).toEqual([]);
});
reportData.push(getReportTableRow('SelectTable', 1000, 1, totalTimes, averageTimes));
@ -66,7 +66,7 @@ describe('FlinkSQL benchmark tests', () => {
test('selectTable Over 5000 Rows', async () => {
const [totalTimes, averageTimes, msg] = benchmark('SelectTable Over 5000 Rows', () => {
const testSQL = features.selectTable[2];
const res = parser.validate(testSQL);
const res = flink.validate(testSQL);
expect(res).toEqual([]);
});
reportData.push(getReportTableRow('SelectTable', 5000, 1, totalTimes, averageTimes));
@ -75,7 +75,7 @@ describe('FlinkSQL benchmark tests', () => {
test('insertTable Over 100 Rows', async () => {
const [totalTimes, averageTimes, msg] = benchmark('InsertTable Over 100 Rows', () => {
const testSQL = features.insertTable[0];
const res = parser.validate(testSQL);
const res = flink.validate(testSQL);
expect(res).toEqual([]);
});
reportData.push(getReportTableRow('InsertTable', 100, 1, totalTimes, averageTimes));
@ -84,7 +84,7 @@ describe('FlinkSQL benchmark tests', () => {
test('insertTable Over 1000 Rows', async () => {
const [totalTimes, averageTimes, msg] = benchmark('InsertTable Over 1000 Rows', () => {
const testSQL = features.insertTable[1];
const res = parser.validate(testSQL);
const res = flink.validate(testSQL);
expect(res).toEqual([]);
});
reportData.push(getReportTableRow('InsertTable', 1000, 1, totalTimes, averageTimes));
@ -93,7 +93,7 @@ describe('FlinkSQL benchmark tests', () => {
test('insertTable Over 5000 Rows', async () => {
const [totalTimes, averageTimes, msg] = benchmark('InsertTable Over 5000 Rows', () => {
const testSQL = features.insertTable[2];
const res = parser.validate(testSQL);
const res = flink.validate(testSQL);
expect(res).toEqual([]);
});
reportData.push(getReportTableRow('InsertTable', 5000, 1, totalTimes, averageTimes));

View File

@ -1,9 +1,9 @@
import fs from 'fs';
import path from 'path';
import { ParseTreeListener } from 'antlr4ng';
import FlinkSQL, { FlinkEntityCollector, FlinkSqlSplitListener } from 'src/parser/flinksql';
import { FlinkSqlParserListener } from 'src/lib/flinksql/FlinkSqlParserListener';
import { EntityContextType } from 'src/parser/common/basic-parser-types';
import { FlinkSQL, FlinkEntityCollector, FlinkSqlSplitListener } from 'src/parser/flink';
import { FlinkSqlParserListener } from 'src/lib/flink/FlinkSqlParserListener';
import { EntityContextType } from 'src/parser/common/types';
import { StmtContextType } from 'src/parser/common/entityCollector';
const commonSql = fs.readFileSync(path.join(__dirname, 'fixtures', 'common.sql'), 'utf-8');

View File

@ -1,5 +1,5 @@
import FlinkSQL, { FlinkSqlSplitListener } from 'src/parser/flinksql';
import { FlinkSqlParserListener } from 'src/lib/flinksql/FlinkSqlParserListener';
import { FlinkSQL, FlinkSqlSplitListener } from 'src/parser/flink';
import { FlinkSqlParserListener } from 'src/lib/flink/FlinkSqlParserListener';
const validSQL1 = `INSERT INTO country_page_view
VALUES ('Chinese', 'mumiao', 18),

View File

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

View File

@ -1,14 +1,14 @@
import { ErrorNode, ParseTreeListener, ParserRuleContext, TerminalNode } from 'antlr4ng';
import FlinkSQL from 'src/parser/flinksql';
import { FlinkSqlParserListener } from 'src/lib/flinksql/FlinkSqlParserListener';
import { TableExpressionContext } from 'src/lib/flinksql/FlinkSqlParser';
import { ErrorNode, ParserRuleContext, TerminalNode } from 'antlr4ng';
import { FlinkSQL } from 'src/parser/flink';
import { FlinkSqlParserListener } from 'src/lib/flink/FlinkSqlParserListener';
import { TableExpressionContext } from 'src/lib/flink/FlinkSqlParser';
describe('Flink SQL Listener Tests', () => {
const expectTableName = 'user1';
const sql = `select id,name,sex from ${expectTableName};`;
const parser = new FlinkSQL();
const flink = new FlinkSQL();
const parseTree = parser.parse(sql);
const parseTree = flink.parse(sql);
test('Listener enterTableName', async () => {
let result = '';
@ -23,7 +23,7 @@ describe('Flink SQL Listener Tests', () => {
}
const listenTableName = new MyListener();
await parser.listen(listenTableName, parseTree);
await flink.listen(listenTableName, parseTree);
expect(result).toBe(expectTableName);
});
@ -46,7 +46,7 @@ describe('Flink SQL Listener Tests', () => {
`;`,
];
const sql = singleStatementArr.join('\n');
const sqlSlices = parser.splitSQLByStatement(sql);
const sqlSlices = flink.splitSQLByStatement(sql);
expect(sqlSlices).not.toBeNull();

View File

@ -1,7 +1,7 @@
import fs from 'fs';
import path from 'path';
import FlinkSQL from 'src/parser/flinksql';
import { CaretPosition, EntityContextType } from 'src/parser/common/basic-parser-types';
import { FlinkSQL } from 'src/parser/flink';
import { CaretPosition, EntityContextType } from 'src/parser/common/types';
const syntaxSql = fs.readFileSync(
path.join(__dirname, 'fixtures', 'multipleStatement.sql'),
@ -9,14 +9,14 @@ const syntaxSql = fs.readFileSync(
);
describe('FlinkSQL Multiple Statements Syntax Suggestion', () => {
const parser = new FlinkSQL();
const flink = new FlinkSQL();
test('Select from table ', () => {
const pos: CaretPosition = {
lineNumber: 1,
column: 15,
};
const syntaxes = parser.getSuggestionAtCaretPosition(syntaxSql, pos)?.syntax;
const syntaxes = flink.getSuggestionAtCaretPosition(syntaxSql, pos)?.syntax;
const suggestion = syntaxes?.find(
(syn) => syn.syntaxContextType === EntityContextType.TABLE
);
@ -30,7 +30,7 @@ describe('FlinkSQL Multiple Statements Syntax Suggestion', () => {
lineNumber: 16,
column: 17,
};
const syntaxes = parser.getSuggestionAtCaretPosition(syntaxSql, pos)?.syntax;
const syntaxes = flink.getSuggestionAtCaretPosition(syntaxSql, pos)?.syntax;
const suggestion = syntaxes?.find(
(syn) => syn.syntaxContextType === EntityContextType.TABLE_CREATE
);
@ -44,7 +44,7 @@ describe('FlinkSQL Multiple Statements Syntax Suggestion', () => {
lineNumber: 22,
column: 13,
};
const syntaxes = parser.getSuggestionAtCaretPosition(syntaxSql, pos)?.syntax;
const syntaxes = flink.getSuggestionAtCaretPosition(syntaxSql, pos)?.syntax;
const suggestion = syntaxes?.find(
(syn) => syn.syntaxContextType === EntityContextType.TABLE
);
@ -58,7 +58,7 @@ describe('FlinkSQL Multiple Statements Syntax Suggestion', () => {
lineNumber: 31,
column: 9,
};
const syntaxes = parser.getSuggestionAtCaretPosition(syntaxSql, pos)?.syntax;
const syntaxes = flink.getSuggestionAtCaretPosition(syntaxSql, pos)?.syntax;
const suggestion = syntaxes?.find(
(syn) => syn.syntaxContextType === EntityContextType.TABLE
);

View File

@ -1,7 +1,7 @@
import fs from 'fs';
import path from 'path';
import FlinkSQL from 'src/parser/flinksql';
import { CaretPosition, EntityContextType } from 'src/parser/common/basic-parser-types';
import { FlinkSQL } from 'src/parser/flink';
import { CaretPosition, EntityContextType } from 'src/parser/common/types';
import { commentOtherLine } from 'test/helper';
const syntaxSql = fs.readFileSync(

View File

@ -1,7 +1,7 @@
import fs from 'fs';
import path from 'path';
import FlinkSQL from 'src/parser/flinksql';
import { CaretPosition, EntityContextType } from 'src/parser/common/basic-parser-types';
import { FlinkSQL } from 'src/parser/flink';
import { CaretPosition, EntityContextType } from 'src/parser/common/types';
import { commentOtherLine } from 'test/helper';
const syntaxSql = fs.readFileSync(
@ -10,12 +10,12 @@ const syntaxSql = fs.readFileSync(
);
describe('Flink SQL Syntax Suggestion', () => {
const parser = new FlinkSQL();
const flink = new FlinkSQL();
test('Validate Syntax SQL', () => {
expect(parser.validate(syntaxSql).length).not.toBe(0);
expect(parser.validate(syntaxSql).length).not.toBe(0);
expect(parser.validate(syntaxSql).length).not.toBe(0);
expect(flink.validate(syntaxSql).length).not.toBe(0);
expect(flink.validate(syntaxSql).length).not.toBe(0);
expect(flink.validate(syntaxSql).length).not.toBe(0);
});
test('Drop catalog', () => {
@ -23,7 +23,7 @@ describe('Flink SQL Syntax Suggestion', () => {
lineNumber: 1,
column: 17,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = flink.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -40,7 +40,7 @@ describe('Flink SQL Syntax Suggestion', () => {
lineNumber: 3,
column: 19,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = flink.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -57,7 +57,7 @@ describe('Flink SQL Syntax Suggestion', () => {
lineNumber: 5,
column: 20,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = flink.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -74,7 +74,7 @@ describe('Flink SQL Syntax Suggestion', () => {
lineNumber: 7,
column: 21,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = flink.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -91,7 +91,7 @@ describe('Flink SQL Syntax Suggestion', () => {
lineNumber: 9,
column: 20,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = flink.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -108,7 +108,7 @@ describe('Flink SQL Syntax Suggestion', () => {
lineNumber: 11,
column: 12,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = flink.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -125,7 +125,7 @@ describe('Flink SQL Syntax Suggestion', () => {
lineNumber: 13,
column: 15,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = flink.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -142,7 +142,7 @@ describe('Flink SQL Syntax Suggestion', () => {
lineNumber: 15,
column: 15,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = flink.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -159,7 +159,7 @@ describe('Flink SQL Syntax Suggestion', () => {
lineNumber: 17,
column: 27,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = flink.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -176,7 +176,7 @@ describe('Flink SQL Syntax Suggestion', () => {
lineNumber: 19,
column: 20,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = flink.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -193,7 +193,7 @@ describe('Flink SQL Syntax Suggestion', () => {
lineNumber: 21,
column: 22,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = flink.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -210,7 +210,7 @@ describe('Flink SQL Syntax Suggestion', () => {
lineNumber: 23,
column: 22,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = flink.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -227,7 +227,7 @@ describe('Flink SQL Syntax Suggestion', () => {
lineNumber: 25,
column: 20,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = flink.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -244,7 +244,7 @@ describe('Flink SQL Syntax Suggestion', () => {
lineNumber: 27,
column: 11,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = flink.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -261,7 +261,7 @@ describe('Flink SQL Syntax Suggestion', () => {
lineNumber: 29,
column: 11,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = flink.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -278,7 +278,7 @@ describe('Flink SQL Syntax Suggestion', () => {
lineNumber: 31,
column: 13,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = flink.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -295,7 +295,7 @@ describe('Flink SQL Syntax Suggestion', () => {
lineNumber: 33,
column: 27,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = flink.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -312,7 +312,7 @@ describe('Flink SQL Syntax Suggestion', () => {
lineNumber: 35,
column: 27,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = flink.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -329,7 +329,7 @@ describe('Flink SQL Syntax Suggestion', () => {
lineNumber: 37,
column: 26,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = flink.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -346,7 +346,7 @@ describe('Flink SQL Syntax Suggestion', () => {
lineNumber: 39,
column: 56,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = flink.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -363,7 +363,7 @@ describe('Flink SQL Syntax Suggestion', () => {
lineNumber: 41,
column: 25,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = flink.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;

View File

@ -1,20 +1,20 @@
import fs from 'fs';
import path from 'path';
import FlinkSQL from 'src/parser/flinksql';
import { CaretPosition } from 'src/parser/common/basic-parser-types';
import { FlinkSQL } from 'src/parser/flink';
import { CaretPosition } from 'src/parser/common/types';
import { commentOtherLine } from 'test/helper';
const tokenSql = fs.readFileSync(path.join(__dirname, 'fixtures', 'tokenSuggestion.sql'), 'utf-8');
describe('Flink SQL Token Suggestion', () => {
const parser = new FlinkSQL();
const flink = new FlinkSQL();
test('Use Statement ', () => {
const pos: CaretPosition = {
lineNumber: 3,
column: 5,
};
const suggestion = parser.getSuggestionAtCaretPosition(
const suggestion = flink.getSuggestionAtCaretPosition(
commentOtherLine(tokenSql, pos.lineNumber),
pos
)?.keywords;
@ -27,7 +27,7 @@ describe('Flink SQL Token Suggestion', () => {
lineNumber: 5,
column: 8,
};
const suggestion = parser.getSuggestionAtCaretPosition(
const suggestion = flink.getSuggestionAtCaretPosition(
commentOtherLine(tokenSql, pos.lineNumber),
pos
)?.keywords;
@ -47,7 +47,7 @@ describe('Flink SQL Token Suggestion', () => {
lineNumber: 7,
column: 6,
};
const suggestion = parser.getSuggestionAtCaretPosition(
const suggestion = flink.getSuggestionAtCaretPosition(
commentOtherLine(tokenSql, pos.lineNumber),
pos
)?.keywords;

View File

@ -1,4 +1,4 @@
import FlinkSQL from 'src/parser/flinksql';
import { FlinkSQL } from 'src/parser/flink';
import { readSQL } from 'test/helper';
const features = {
@ -9,27 +9,27 @@ const features = {
};
describe('FlinkSQL Alter Statements Syntax Tests', () => {
const parser = new FlinkSQL();
const flink = new FlinkSQL();
// Alter statements
features.table.forEach((sql) => {
it(sql, () => {
expect(parser.validate(sql).length).toBe(0);
expect(flink.validate(sql).length).toBe(0);
});
});
features.view.forEach((sql) => {
it(sql, () => {
expect(parser.validate(sql).length).toBe(0);
expect(flink.validate(sql).length).toBe(0);
});
});
features.database.forEach((sql) => {
it(sql, () => {
expect(parser.validate(sql).length).toBe(0);
expect(flink.validate(sql).length).toBe(0);
});
});
features.function.forEach((sql) => {
it(sql, () => {
expect(parser.validate(sql).length).toBe(0);
expect(flink.validate(sql).length).toBe(0);
});
});
});

View File

@ -1,4 +1,4 @@
import FlinkSQL from 'src/parser/flinksql';
import { FlinkSQL } from 'src/parser/flink';
import { readSQL } from 'test/helper';
// 综合测试的 sql 不做切割
@ -7,11 +7,11 @@ const features = {
};
describe('FlinkSQL Chore Syntax Tests', () => {
const parser = new FlinkSQL();
const flink = new FlinkSQL();
features.chores.forEach((sql) => {
it(sql, () => {
expect(parser.validate(sql).length).toBe(0);
expect(flink.validate(sql).length).toBe(0);
});
});
});

View File

@ -1,6 +1,6 @@
import fs from 'fs';
import path from 'path';
import FlinkSQL from 'src/parser/flinksql';
import { FlinkSQL } from 'src/parser/flink';
// 注释 sql 不做切割
const features = {
@ -8,9 +8,9 @@ const features = {
};
describe('FlinkSQL Comment Syntax Tests', () => {
const parser = new FlinkSQL();
const flink = new FlinkSQL();
test('Comment SQL Statement', () => {
expect(parser.validate(features.comments).length).toBe(0);
expect(flink.validate(features.comments).length).toBe(0);
});
});

View File

@ -1,6 +1,6 @@
import fs from 'fs';
import path from 'path';
import FlinkSQL from 'src/parser/flinksql';
import { FlinkSQL } from 'src/parser/flink';
// 综合测试的 sql 不做切割
const features = {
@ -8,8 +8,8 @@ const features = {
};
describe('FlinkSQL Comprehensive Tests', () => {
const parser = new FlinkSQL();
const flink = new FlinkSQL();
test('Stream SQL templates', () => {
expect(parser.validate(features.templates).length).toBe(0);
expect(flink.validate(features.templates).length).toBe(0);
});
});

View File

@ -1,7 +1,7 @@
import FlinkSQL from 'src/parser/flinksql';
import { FlinkSQL } from 'src/parser/flink';
import { readSQL } from 'test/helper';
const parser = new FlinkSQL();
const flink = new FlinkSQL();
const features = {
table: readSQL(__dirname, 'createTable.sql'),
@ -15,35 +15,35 @@ describe('FlinkSQL Create Syntax Tests', () => {
describe('CREATE TABLE', () => {
features.table.forEach((table) => {
it(table, () => {
expect(parser.validate(table).length).toBe(0);
expect(flink.validate(table).length).toBe(0);
});
});
});
describe('CREATE CATALOG', () => {
features.catalog.forEach((catalog) => {
it(catalog, () => {
expect(parser.validate(catalog).length).toBe(0);
expect(flink.validate(catalog).length).toBe(0);
});
});
});
describe('CREATE DATABASE', () => {
features.database.forEach((database) => {
it(database, () => {
expect(parser.validate(database).length).toBe(0);
expect(flink.validate(database).length).toBe(0);
});
});
});
describe('CREATE VIEW', () => {
features.view.forEach((view) => {
it(view, () => {
expect(parser.validate(view).length).toBe(0);
expect(flink.validate(view).length).toBe(0);
});
});
});
describe('CREATE FUNCTION', () => {
features.function.forEach((func) => {
it(func, () => {
expect(parser.validate(func).length).toBe(0);
expect(flink.validate(func).length).toBe(0);
});
});
});

View File

@ -1,4 +1,4 @@
import FlinkSQL from 'src/parser/flinksql';
import { FlinkSQL } from 'src/parser/flink';
import { readSQL } from 'test/helper';
const features = {
@ -6,11 +6,11 @@ const features = {
};
describe('FlinkSQL Describe Syntax Tests', () => {
const parser = new FlinkSQL();
const flink = new FlinkSQL();
features.describes.forEach((sql) => {
it(sql, () => {
expect(parser.validate(sql).length).toBe(0);
expect(flink.validate(sql).length).toBe(0);
});
});
});

View File

@ -1,4 +1,4 @@
import FlinkSQL from 'src/parser/flinksql';
import { FlinkSQL } from 'src/parser/flink';
import { readSQL } from 'test/helper';
const features = {
@ -10,30 +10,30 @@ const features = {
};
describe('FlinkSQL Drop Statements Tests', () => {
const parser = new FlinkSQL();
const flink = new FlinkSQL();
features.table.forEach((sql) => {
it(sql, () => {
expect(parser.validate(sql).length).toBe(0);
expect(flink.validate(sql).length).toBe(0);
});
});
features.view.forEach((sql) => {
it(sql, () => {
expect(parser.validate(sql).length).toBe(0);
expect(flink.validate(sql).length).toBe(0);
});
});
features.function.forEach((sql) => {
it(sql, () => {
expect(parser.validate(sql).length).toBe(0);
expect(flink.validate(sql).length).toBe(0);
});
});
features.catalog.forEach((sql) => {
it(sql, () => {
expect(parser.validate(sql).length).toBe(0);
expect(flink.validate(sql).length).toBe(0);
});
});
features.database.forEach((sql) => {
it(sql, () => {
expect(parser.validate(sql).length).toBe(0);
expect(flink.validate(sql).length).toBe(0);
});
});
});

View File

@ -1,4 +1,4 @@
import FlinkSQL from 'src/parser/flinksql';
import { FlinkSQL } from 'src/parser/flink';
import { readSQL } from 'test/helper';
const features = {
@ -6,11 +6,11 @@ const features = {
};
describe('FlinkSQL DT Add File Syntax Tests', () => {
const parser = new FlinkSQL();
const flink = new FlinkSQL();
features.dtAddFiles.forEach((sql) => {
it(sql, () => {
expect(parser.validate(sql).length).toBe(0);
expect(flink.validate(sql).length).toBe(0);
});
});
});

View File

@ -1,4 +1,4 @@
import FlinkSQL from 'src/parser/flinksql';
import { FlinkSQL } from 'src/parser/flink';
import { readSQL } from 'test/helper';
const features = {
@ -6,11 +6,11 @@ const features = {
};
describe('FlinkSQL Explain Syntax Tests', () => {
const parser = new FlinkSQL();
const flink = new FlinkSQL();
features.explains.forEach((sql) => {
it(sql, () => {
expect(parser.validate(sql).length).toBe(0);
expect(flink.validate(sql).length).toBe(0);
});
});
});

View File

@ -1,4 +1,4 @@
import FlinkSQL from 'src/parser/flinksql';
import { FlinkSQL } from 'src/parser/flink';
import { readSQL } from 'test/helper';
const features = {
@ -6,11 +6,11 @@ const features = {
};
describe('FlinkSQL Expression Syntax Tests', () => {
const parser = new FlinkSQL();
const flink = new FlinkSQL();
features.expression.forEach((sql) => {
it(sql, () => {
expect(parser.validate(sql).length).toBe(0);
expect(flink.validate(sql).length).toBe(0);
});
});
});

View File

@ -1,7 +1,7 @@
import FlinkSQL from 'src/parser/flinksql';
import { FlinkSQL } from 'src/parser/flink';
import { readSQL } from 'test/helper';
const parser = new FlinkSQL();
const flink = new FlinkSQL();
const features = {
InsertFromSelectQueries: readSQL(__dirname, 'insertFromSelectQueries.sql'),
@ -12,17 +12,17 @@ const features = {
describe('FlinkSQL Insert Syntax Tests', () => {
features.InsertFromSelectQueries.forEach((insertFromSelectQueries) => {
it(insertFromSelectQueries, () => {
expect(parser.validate(insertFromSelectQueries).length).toBe(0);
expect(flink.validate(insertFromSelectQueries).length).toBe(0);
});
});
features.InsertValuesIntoTable.forEach((insertValuesIntoTable) => {
it(insertValuesIntoTable, () => {
expect(parser.validate(insertValuesIntoTable).length).toBe(0);
expect(flink.validate(insertValuesIntoTable).length).toBe(0);
});
});
features.InsertMultipleTable.forEach((insertMultipleTable) => {
it(insertMultipleTable, () => {
expect(parser.validate(insertMultipleTable).length).toBe(0);
expect(flink.validate(insertMultipleTable).length).toBe(0);
});
});
});

View File

@ -1,7 +1,7 @@
import FlinkSQL from 'src/parser/flinksql';
import { FlinkSQL } from 'src/parser/flink';
import { readSQL } from 'test/helper';
const parser = new FlinkSQL();
const flink = new FlinkSQL();
const features = {
base: readSQL(__dirname, 'select.sql'),
@ -19,7 +19,7 @@ describe('FlinkSQL Query Statement Tests', () => {
describe('Base Select', () => {
features.base.forEach((sql) => {
it(sql, () => {
expect(parser.validate(sql).length).toBe(0);
expect(flink.validate(sql).length).toBe(0);
});
});
});
@ -27,7 +27,7 @@ describe('FlinkSQL Query Statement Tests', () => {
describe('With Clause Select', () => {
features.withClause.forEach((sql) => {
it(sql, () => {
expect(parser.validate(sql).length).toBe(0);
expect(flink.validate(sql).length).toBe(0);
});
});
});
@ -35,7 +35,7 @@ describe('FlinkSQL Query Statement Tests', () => {
describe('Select DISTINCT', () => {
features.distinct.forEach((sql) => {
it(sql, () => {
expect(parser.validate(sql).length).toBe(0);
expect(flink.validate(sql).length).toBe(0);
});
});
});
@ -43,7 +43,7 @@ describe('FlinkSQL Query Statement Tests', () => {
describe('Select Window TVF', () => {
features.windowTVF.forEach((sql) => {
it(sql, () => {
expect(parser.validate(sql).length).toBe(0);
expect(flink.validate(sql).length).toBe(0);
});
});
});
@ -51,7 +51,7 @@ describe('FlinkSQL Query Statement Tests', () => {
describe('Select Aggregation', () => {
features.aggregation.forEach((sql) => {
it(sql, () => {
expect(parser.validate(sql).length).toBe(0);
expect(flink.validate(sql).length).toBe(0);
});
});
});
@ -59,7 +59,7 @@ describe('FlinkSQL Query Statement Tests', () => {
describe('Select Join', () => {
features.join.forEach((sql) => {
it(sql, () => {
expect(parser.validate(sql).length).toBe(0);
expect(flink.validate(sql).length).toBe(0);
});
});
});
@ -67,7 +67,7 @@ describe('FlinkSQL Query Statement Tests', () => {
describe('Select Set Operations', () => {
features.setOperation.forEach((sql) => {
it(sql, () => {
expect(parser.validate(sql).length).toBe(0);
expect(flink.validate(sql).length).toBe(0);
});
});
});
@ -75,7 +75,7 @@ describe('FlinkSQL Query Statement Tests', () => {
describe('Select Pattern Recognition', () => {
features.pattern.forEach((sql) => {
it(sql, () => {
expect(parser.validate(sql).length).toBe(0);
expect(flink.validate(sql).length).toBe(0);
});
});
});
@ -83,7 +83,7 @@ describe('FlinkSQL Query Statement Tests', () => {
describe('Select Where', () => {
features.where.forEach((sql) => {
it(sql, () => {
expect(parser.validate(sql).length).toBe(0);
expect(flink.validate(sql).length).toBe(0);
});
});
});

View File

@ -1,4 +1,4 @@
import FlinkSQL from 'src/parser/flinksql';
import { FlinkSQL } from 'src/parser/flink';
import { readSQL } from 'test/helper';
const features = {
@ -6,11 +6,11 @@ const features = {
};
describe('FlinkSQL Show Syntax Tests', () => {
const parser = new FlinkSQL();
const flink = new FlinkSQL();
features.shows.forEach((sql) => {
it(sql, () => {
expect(parser.validate(sql).length).toBe(0);
expect(flink.validate(sql).length).toBe(0);
});
});
});

View File

@ -1,4 +1,4 @@
import FlinkSQL from 'src/parser/flinksql';
import { FlinkSQL } from 'src/parser/flink';
import { readSQL } from 'test/helper';
const features = {
@ -6,11 +6,11 @@ const features = {
};
describe('FlinkSQL Use Syntax Tests', () => {
const parser = new FlinkSQL();
const flink = new FlinkSQL();
features.uses.forEach((sql) => {
it(sql, () => {
expect(parser.validate(sql).length).toBe(0);
expect(flink.validate(sql).length).toBe(0);
});
});
});

View File

@ -1,16 +1,16 @@
import FlinkSQL from 'src/parser/flinksql';
import { FlinkSQL } from 'src/parser/flink';
const randomText = `dhsdansdnkla ndjnsla ndnalks`;
const unCompleteSQL = `CREATE TABLE`;
describe('Flink SQL validate invalid sql', () => {
const parser = new FlinkSQL();
const flink = new FlinkSQL();
test('validate random text', () => {
expect(parser.validate(randomText).length).not.toBe(0);
expect(flink.validate(randomText).length).not.toBe(0);
});
test('validate unComplete sql', () => {
expect(parser.validate(unCompleteSQL).length).not.toBe(0);
expect(flink.validate(unCompleteSQL).length).not.toBe(0);
});
});

View File

@ -1,14 +1,14 @@
import FlinkSQL from 'src/parser/flinksql';
import { FlinkSqlParserVisitor } from 'src/lib/flinksql/FlinkSqlParserVisitor';
import { FlinkSQL } from 'src/parser/flink';
import { FlinkSqlParserVisitor } from 'src/lib/flink/FlinkSqlParserVisitor';
import { AbstractParseTreeVisitor } from 'antlr4ng';
import { TableExpressionContext } from 'src/lib/flinksql/FlinkSqlParser';
import { TableExpressionContext } from 'src/lib/flink/FlinkSqlParser';
describe('Flink SQL Visitor Tests', () => {
const expectTableName = 'user1';
const sql = `select id,name,sex from ${expectTableName};`;
const parser = new FlinkSQL();
const flink = new FlinkSQL();
const parseTree = parser.parse(sql, (error) => {
const parseTree = flink.parse(sql, (error) => {
console.error('Parse error:', error);
});

View File

@ -1,12 +0,0 @@
# FlinkSQL Benchmark
| Name | Rows | Times | Total Time(ms) | Average Time(ms) |
| ---- | ---- | ---- | ---- | ---- |
| CreateTable | 100 | 1 | 256.26 | 256.26 |
| CreateTable | 1000 | 1 | 343.14 | 343.14 |
| CreateTable | 5000 | 1 | 1816.20 | 1816.20 |
| SelectTable | 100 | 1 | 460.68 | 460.68 |
| SelectTable | 1000 | 1 | 1124.45 | 1124.45 |
| SelectTable | 5000 | 1 | 5212.31 | 5212.31 |
| InsertTable | 100 | 1 | 9.10 | 9.10 |
| InsertTable | 1000 | 1 | 41.80 | 41.80 |
| InsertTable | 5000 | 1 | 318.83 | 318.83 |

View File

@ -2,8 +2,8 @@ import { ParseTreeListener } from 'antlr4ng';
import fs from 'fs';
import path from 'path';
import { HiveSqlParserListener } from 'src/lib/hive/HiveSqlParserListener';
import { EntityContextType } from 'src/parser/common/basic-parser-types';
import HiveSQL, { HiveEntityCollector } from 'src/parser/hive';
import { EntityContextType } from 'src/parser/common/types';
import { HiveSQL, HiveEntityCollector } from 'src/parser/hive';
import { HiveSqlSplitListener } from 'src/parser/hive/hiveSplitListener';
import { StmtContextType } from 'src/parser/common/entityCollector';

View File

@ -1,4 +1,4 @@
import HiveSQL, { HiveSqlSplitListener } from 'src/parser/hive';
import { HiveSQL, HiveSqlSplitListener } from 'src/parser/hive';
import { HiveSqlParserListener } from 'src/lib';
const validSQL1 = `INSERT INTO country_page_view

View File

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

View File

@ -1,14 +1,14 @@
import { ParseTreeListener } from 'antlr4ng';
import HiveSQL from 'src/parser/hive';
import { HiveSQL } from 'src/parser/hive';
import { ProgramContext, SelectItemContext } from 'src/lib/hive/HiveSqlParser';
import { HiveSqlParserListener } from 'src/lib/hive/HiveSqlParserListener';
describe('HiveSQL Listener Tests', () => {
const parser = new HiveSQL();
const hive = new HiveSQL();
test('Listener enterSelectList', async () => {
const expectTableName = 'username';
const sql = `select ${expectTableName} from tablename where inc_day='20190601' limit 1000;`;
const parseTree = parser.parse(sql);
const parseTree = hive.parse(sql);
let result = '';
class MyListener implements HiveSqlParserListener {
@ -22,12 +22,12 @@ describe('HiveSQL Listener Tests', () => {
}
const listenTableName = new MyListener();
await parser.listen(listenTableName as ParseTreeListener, parseTree as ProgramContext);
await hive.listen(listenTableName as ParseTreeListener, parseTree as ProgramContext);
expect(result).toBe(expectTableName);
});
test('Listener enterCreateTable', async () => {
const sql = `drop table table_name;`;
const parseTree = parser.parse(sql);
const parseTree = hive.parse(sql);
let result = '';
class MyListener implements HiveSqlParserListener {
enterDropTableStatement(ctx) {
@ -41,7 +41,7 @@ describe('HiveSQL Listener Tests', () => {
}
const listenTableName = new MyListener();
await parser.listen(listenTableName as ParseTreeListener, parseTree as ProgramContext);
await hive.listen(listenTableName as ParseTreeListener, parseTree as ProgramContext);
expect(result).toBe('droptabletable_name');
});
@ -67,7 +67,7 @@ describe('HiveSQL Listener Tests', () => {
key_value_pair;`,
];
const sql = singleStatementArr.join('\n');
const sqlSlices = parser.splitSQLByStatement(sql);
const sqlSlices = hive.splitSQLByStatement(sql);
expect(sqlSlices).not.toBeNull();

View File

@ -1,7 +1,7 @@
import fs from 'fs';
import path from 'path';
import HiveSQL from 'src/parser/hive';
import { CaretPosition, EntityContextType } from 'src/parser/common/basic-parser-types';
import { HiveSQL } from 'src/parser/hive';
import { CaretPosition, EntityContextType } from 'src/parser/common/types';
const syntaxSql = fs.readFileSync(
path.join(__dirname, 'fixtures', 'multipleStatement.sql'),
@ -9,14 +9,14 @@ const syntaxSql = fs.readFileSync(
);
describe('HiveSQL Multiple Statements Syntax Suggestion', () => {
const parser = new HiveSQL();
const hive = new HiveSQL();
test('Select from table ', () => {
const pos: CaretPosition = {
lineNumber: 1,
column: 15,
};
const syntaxes = parser.getSuggestionAtCaretPosition(syntaxSql, pos)?.syntax;
const syntaxes = hive.getSuggestionAtCaretPosition(syntaxSql, pos)?.syntax;
const suggestion = syntaxes?.find(
(syn) => syn.syntaxContextType === EntityContextType.TABLE
);
@ -30,7 +30,7 @@ describe('HiveSQL Multiple Statements Syntax Suggestion', () => {
lineNumber: 9,
column: 17,
};
const syntaxes = parser.getSuggestionAtCaretPosition(syntaxSql, pos)?.syntax;
const syntaxes = hive.getSuggestionAtCaretPosition(syntaxSql, pos)?.syntax;
const suggestion = syntaxes?.find(
(syn) => syn.syntaxContextType === EntityContextType.TABLE_CREATE
);
@ -44,7 +44,7 @@ describe('HiveSQL Multiple Statements Syntax Suggestion', () => {
lineNumber: 15,
column: 13,
};
const syntaxes = parser.getSuggestionAtCaretPosition(syntaxSql, pos)?.syntax;
const syntaxes = hive.getSuggestionAtCaretPosition(syntaxSql, pos)?.syntax;
const suggestion = syntaxes?.find(
(syn) => syn.syntaxContextType === EntityContextType.TABLE
);
@ -58,7 +58,7 @@ describe('HiveSQL Multiple Statements Syntax Suggestion', () => {
lineNumber: 21,
column: 75,
};
const syntaxes = parser.getSuggestionAtCaretPosition(syntaxSql, pos)?.syntax;
const syntaxes = hive.getSuggestionAtCaretPosition(syntaxSql, pos)?.syntax;
const suggestion = syntaxes?.find(
(syn) => syn.syntaxContextType === EntityContextType.TABLE
);

View File

@ -1,7 +1,7 @@
import fs from 'fs';
import path from 'path';
import HiveSQL from 'src/parser/hive';
import { CaretPosition, EntityContextType } from 'src/parser/common/basic-parser-types';
import { HiveSQL } from 'src/parser/hive';
import { CaretPosition, EntityContextType } from 'src/parser/common/types';
import { commentOtherLine } from 'test/helper';
const syntaxSql = fs.readFileSync(

View File

@ -1,7 +1,7 @@
import fs from 'fs';
import path from 'path';
import HiveSQL from 'src/parser/hive';
import { CaretPosition, EntityContextType } from 'src/parser/common/basic-parser-types';
import { HiveSQL } from 'src/parser/hive';
import { CaretPosition, EntityContextType } from 'src/parser/common/types';
import { commentOtherLine } from 'test/helper';
const syntaxSql = fs.readFileSync(
@ -10,12 +10,12 @@ const syntaxSql = fs.readFileSync(
);
describe('Hive SQL Syntax Suggestion', () => {
const parser = new HiveSQL();
const hive = new HiveSQL();
test('Validate Syntax SQL', () => {
expect(parser.validate(syntaxSql).length).not.toBe(0);
expect(parser.validate(syntaxSql).length).not.toBe(0);
expect(parser.validate(syntaxSql).length).not.toBe(0);
expect(hive.validate(syntaxSql).length).not.toBe(0);
expect(hive.validate(syntaxSql).length).not.toBe(0);
expect(hive.validate(syntaxSql).length).not.toBe(0);
});
test('Insert table ', () => {
@ -23,7 +23,7 @@ describe('Hive SQL Syntax Suggestion', () => {
lineNumber: 1,
column: 18,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = hive.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -40,7 +40,7 @@ describe('Hive SQL Syntax Suggestion', () => {
lineNumber: 3,
column: 18,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = hive.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -57,7 +57,7 @@ describe('Hive SQL Syntax Suggestion', () => {
lineNumber: 5,
column: 17,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = hive.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -74,7 +74,7 @@ describe('Hive SQL Syntax Suggestion', () => {
lineNumber: 7,
column: 26,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = hive.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -91,7 +91,7 @@ describe('Hive SQL Syntax Suggestion', () => {
lineNumber: 9,
column: 28,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = hive.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -108,7 +108,7 @@ describe('Hive SQL Syntax Suggestion', () => {
lineNumber: 11,
column: 15,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = hive.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -125,7 +125,7 @@ describe('Hive SQL Syntax Suggestion', () => {
lineNumber: 13,
column: 20,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = hive.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -142,7 +142,7 @@ describe('Hive SQL Syntax Suggestion', () => {
lineNumber: 15,
column: 27,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = hive.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -159,7 +159,7 @@ describe('Hive SQL Syntax Suggestion', () => {
lineNumber: 17,
column: 19,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = hive.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -176,7 +176,7 @@ describe('Hive SQL Syntax Suggestion', () => {
lineNumber: 19,
column: 26,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = hive.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -193,7 +193,7 @@ describe('Hive SQL Syntax Suggestion', () => {
lineNumber: 23,
column: 8,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = hive.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -210,7 +210,7 @@ describe('Hive SQL Syntax Suggestion', () => {
lineNumber: 25,
column: 18,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = hive.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -227,7 +227,7 @@ describe('Hive SQL Syntax Suggestion', () => {
lineNumber: 27,
column: 32,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = hive.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -244,7 +244,7 @@ describe('Hive SQL Syntax Suggestion', () => {
lineNumber: 29,
column: 31,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = hive.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -261,7 +261,7 @@ describe('Hive SQL Syntax Suggestion', () => {
lineNumber: 31,
column: 115,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = hive.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -282,7 +282,7 @@ describe('Hive SQL Syntax Suggestion', () => {
lineNumber: 33,
column: 31,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = hive.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -299,7 +299,7 @@ describe('Hive SQL Syntax Suggestion', () => {
lineNumber: 35,
column: 45,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = hive.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -316,7 +316,7 @@ describe('Hive SQL Syntax Suggestion', () => {
lineNumber: 37,
column: 18,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = hive.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -333,7 +333,7 @@ describe('Hive SQL Syntax Suggestion', () => {
lineNumber: 39,
column: 14,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = hive.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;
@ -350,7 +350,7 @@ describe('Hive SQL Syntax Suggestion', () => {
lineNumber: 41,
column: 19,
};
const syntaxes = parser.getSuggestionAtCaretPosition(
const syntaxes = hive.getSuggestionAtCaretPosition(
commentOtherLine(syntaxSql, pos.lineNumber),
pos
)?.syntax;

View File

@ -1,20 +1,20 @@
import fs from 'fs';
import path from 'path';
import { commentOtherLine } from 'test/helper';
import HiveSQL from 'src/parser/hive';
import { CaretPosition } from 'src/parser/common/basic-parser-types';
import { HiveSQL } from 'src/parser/hive';
import { CaretPosition } from 'src/parser/common/types';
const tokenSql = fs.readFileSync(path.join(__dirname, 'fixtures', 'tokenSuggestion.sql'), 'utf-8');
describe('Hive SQL Token Suggestion', () => {
const parser = new HiveSQL();
const hive = new HiveSQL();
test('After ALTER', () => {
const pos: CaretPosition = {
lineNumber: 1,
column: 7,
};
const suggestion = parser.getSuggestionAtCaretPosition(
const suggestion = hive.getSuggestionAtCaretPosition(
commentOtherLine(tokenSql, pos.lineNumber),
pos
)?.keywords;
@ -41,7 +41,7 @@ describe('Hive SQL Token Suggestion', () => {
lineNumber: 3,
column: 8,
};
const suggestion = parser.getSuggestionAtCaretPosition(
const suggestion = hive.getSuggestionAtCaretPosition(
commentOtherLine(tokenSql, pos.lineNumber),
pos
)?.keywords;
@ -76,7 +76,7 @@ describe('Hive SQL Token Suggestion', () => {
lineNumber: 5,
column: 8,
};
const suggestion = parser.getSuggestionAtCaretPosition(
const suggestion = hive.getSuggestionAtCaretPosition(
commentOtherLine(tokenSql, pos.lineNumber),
pos
)?.keywords;
@ -88,7 +88,7 @@ describe('Hive SQL Token Suggestion', () => {
lineNumber: 7,
column: 10,
};
const suggestion = parser.getSuggestionAtCaretPosition(
const suggestion = hive.getSuggestionAtCaretPosition(
commentOtherLine(tokenSql, pos.lineNumber),
pos
)?.keywords;
@ -107,7 +107,7 @@ describe('Hive SQL Token Suggestion', () => {
lineNumber: 9,
column: 6,
};
const suggestion = parser.getSuggestionAtCaretPosition(
const suggestion = hive.getSuggestionAtCaretPosition(
commentOtherLine(tokenSql, pos.lineNumber),
pos
)?.keywords;
@ -137,7 +137,7 @@ describe('Hive SQL Token Suggestion', () => {
lineNumber: 11,
column: 8,
};
const suggestion = parser.getSuggestionAtCaretPosition(
const suggestion = hive.getSuggestionAtCaretPosition(
commentOtherLine(tokenSql, pos.lineNumber),
pos
)?.keywords;
@ -149,7 +149,7 @@ describe('Hive SQL Token Suggestion', () => {
lineNumber: 13,
column: 8,
};
const suggestion = parser.getSuggestionAtCaretPosition(
const suggestion = hive.getSuggestionAtCaretPosition(
commentOtherLine(tokenSql, pos.lineNumber),
pos
)?.keywords;
@ -161,7 +161,7 @@ describe('Hive SQL Token Suggestion', () => {
lineNumber: 15,
column: 8,
};
const suggestion = parser.getSuggestionAtCaretPosition(
const suggestion = hive.getSuggestionAtCaretPosition(
commentOtherLine(tokenSql, pos.lineNumber),
pos
)?.keywords;
@ -173,7 +173,7 @@ describe('Hive SQL Token Suggestion', () => {
lineNumber: 17,
column: 6,
};
const suggestion = parser.getSuggestionAtCaretPosition(
const suggestion = hive.getSuggestionAtCaretPosition(
commentOtherLine(tokenSql, pos.lineNumber),
pos
)?.keywords;
@ -185,7 +185,7 @@ describe('Hive SQL Token Suggestion', () => {
lineNumber: 19,
column: 6,
};
const suggestion = parser.getSuggestionAtCaretPosition(
const suggestion = hive.getSuggestionAtCaretPosition(
commentOtherLine(tokenSql, pos.lineNumber),
pos
)?.keywords;

View File

@ -1,7 +1,7 @@
import HiveSQL from 'src/parser/hive';
import { HiveSQL } from 'src/parser/hive';
import { readSQL } from 'test/helper';
const parser = new HiveSQL();
const hive = new HiveSQL();
const features = {
aborts: readSQL(__dirname, 'abort.sql'),
@ -10,7 +10,7 @@ const features = {
describe('HiveSQL Abort Syntax Tests', () => {
features.aborts.forEach((ab) => {
it(ab, () => {
expect(parser.validate(ab).length).toBe(0);
expect(hive.validate(ab).length).toBe(0);
});
});
});

View File

@ -1,7 +1,7 @@
import HiveSQL from 'src/parser/hive';
import { HiveSQL } from 'src/parser/hive';
import { readSQL } from 'test/helper';
const parser = new HiveSQL();
const hive = new HiveSQL();
const features = {
databases: readSQL(__dirname, 'alterDatabase.sql'),
@ -16,7 +16,7 @@ describe('HiveSQL Alter Syntax Tests', () => {
describe('ALTER DATABASE', () => {
features.databases.forEach((db) => {
it(db, () => {
expect(parser.validate(db).length).toBe(0);
expect(hive.validate(db).length).toBe(0);
});
});
});
@ -24,7 +24,7 @@ describe('HiveSQL Alter Syntax Tests', () => {
describe('ALTER CONNECTOR', () => {
features.connectors.forEach((ctors) => {
it(ctors, () => {
expect(parser.validate(ctors).length).toBe(0);
expect(hive.validate(ctors).length).toBe(0);
});
});
});
@ -32,7 +32,7 @@ describe('HiveSQL Alter Syntax Tests', () => {
describe('ALTER TABLE', () => {
features.tables.forEach((tb) => {
it(tb, () => {
expect(parser.validate(tb).length).toBe(0);
expect(hive.validate(tb).length).toBe(0);
});
});
});
@ -40,7 +40,7 @@ describe('HiveSQL Alter Syntax Tests', () => {
describe('ALTER INDEX', () => {
features.indexes.forEach((index) => {
it(index, () => {
expect(parser.validate(index).length).toBe(0);
expect(hive.validate(index).length).toBe(0);
});
});
});
@ -48,7 +48,7 @@ describe('HiveSQL Alter Syntax Tests', () => {
describe('ALTER VIEW', () => {
features.views.forEach((view) => {
it(view, () => {
expect(parser.validate(view).length).toBe(0);
expect(hive.validate(view).length).toBe(0);
});
});
});
@ -56,7 +56,7 @@ describe('HiveSQL Alter Syntax Tests', () => {
describe('ALTER SCHEDULE QUERY', () => {
features.scheduleQueries.forEach((sq) => {
it(sq, () => {
expect(parser.validate(sq).length).toBe(0);
expect(hive.validate(sq).length).toBe(0);
});
});
});

View File

@ -1,7 +1,7 @@
import HiveSQL from 'src/parser/hive';
import { HiveSQL } from 'src/parser/hive';
import { readSQL } from 'test/helper';
const parser = new HiveSQL();
const hive = new HiveSQL();
const features = {
manageRoles: readSQL(__dirname, 'authorization.sql'),
@ -10,7 +10,7 @@ const features = {
describe('HiveSQL Related To Authorization Tests', () => {
features.manageRoles.forEach((manageRole) => {
it(manageRole, () => {
expect(parser.validate(manageRole).length).toBe(0);
expect(hive.validate(manageRole).length).toBe(0);
});
});
});

View File

@ -1,7 +1,7 @@
import HiveSQL from 'src/parser/hive';
import { HiveSQL } from 'src/parser/hive';
import { readSQL } from 'test/helper';
const parser = new HiveSQL();
const hive = new HiveSQL();
const features = {
databases: readSQL(__dirname, 'createDatabase.sql'),
@ -19,7 +19,7 @@ describe('HiveSQL Create Syntax Tests', () => {
describe('CREATE DATABASE', () => {
features.databases.forEach((database) => {
it(database, () => {
expect(parser.validate(database).length).toBe(0);
expect(hive.validate(database).length).toBe(0);
});
});
});
@ -27,7 +27,7 @@ describe('HiveSQL Create Syntax Tests', () => {
describe('CREATE TABLE', () => {
features.tables.forEach((table) => {
it(table, () => {
expect(parser.validate(table).length).toBe(0);
expect(hive.validate(table).length).toBe(0);
});
});
});
@ -35,7 +35,7 @@ describe('HiveSQL Create Syntax Tests', () => {
describe('CREATE VIEW', () => {
features.views.forEach((view) => {
it(view, () => {
expect(parser.validate(view).length).toBe(0);
expect(hive.validate(view).length).toBe(0);
});
});
});
@ -43,7 +43,7 @@ describe('HiveSQL Create Syntax Tests', () => {
describe('CREATE FUNCTION', () => {
features.functions.forEach((func) => {
it(func, () => {
expect(parser.validate(func).length).toBe(0);
expect(hive.validate(func).length).toBe(0);
});
});
});
@ -51,7 +51,7 @@ describe('HiveSQL Create Syntax Tests', () => {
describe('CREATE ROLE', () => {
features.roles.forEach((role) => {
it(role, () => {
expect(parser.validate(role).length).toBe(0);
expect(hive.validate(role).length).toBe(0);
});
});
});
@ -59,7 +59,7 @@ describe('HiveSQL Create Syntax Tests', () => {
describe('CREATE INDEX', () => {
features.indexes.forEach((index) => {
it(index, () => {
expect(parser.validate(index).length).toBe(0);
expect(hive.validate(index).length).toBe(0);
});
});
});
@ -67,7 +67,7 @@ describe('HiveSQL Create Syntax Tests', () => {
describe('CREATE MACRO', () => {
features.macros.forEach((macro) => {
it(macro, () => {
expect(parser.validate(macro).length).toBe(0);
expect(hive.validate(macro).length).toBe(0);
});
});
});
@ -75,7 +75,7 @@ describe('HiveSQL Create Syntax Tests', () => {
describe('CREATE CONNECTOR', () => {
features.connectors.forEach((cnctor) => {
it(cnctor, () => {
expect(parser.validate(cnctor).length).toBe(0);
expect(hive.validate(cnctor).length).toBe(0);
});
});
});
@ -83,7 +83,7 @@ describe('HiveSQL Create Syntax Tests', () => {
describe('CREATE SCHEDULE QUERY', () => {
features.scheduledQueries.forEach((sq) => {
it(sq, () => {
expect(parser.validate(sq).length).toBe(0);
expect(hive.validate(sq).length).toBe(0);
});
});
});

View File

@ -1,7 +1,7 @@
import HiveSQL from 'src/parser/hive';
import { HiveSQL } from 'src/parser/hive';
import { readSQL } from 'test/helper';
const parser = new HiveSQL();
const hive = new HiveSQL();
const features = {
dataTypes: readSQL(__dirname, 'dataTypes.sql'),
@ -10,7 +10,7 @@ const features = {
describe('HiveSQL Check Data Types Tests', () => {
features.dataTypes.forEach((dataType) => {
it(dataType, () => {
expect(parser.validate(dataType).length).toBe(0);
expect(hive.validate(dataType).length).toBe(0);
});
});
});

View File

@ -1,7 +1,7 @@
import HiveSQL from 'src/parser/hive';
import { HiveSQL } from 'src/parser/hive';
import { readSQL } from 'test/helper';
const parser = new HiveSQL();
const hive = new HiveSQL();
const features = {
deletes: readSQL(__dirname, 'delete.sql'),
@ -10,7 +10,7 @@ const features = {
describe('HiveSQL Delete Syntax Tests', () => {
features.deletes.forEach((del) => {
it(del, () => {
expect(parser.validate(del).length).toBe(0);
expect(hive.validate(del).length).toBe(0);
});
});
});

View File

@ -1,7 +1,7 @@
import HiveSQL from 'src/parser/hive';
import { HiveSQL } from 'src/parser/hive';
import { readSQL } from 'test/helper';
const parser = new HiveSQL();
const hive = new HiveSQL();
const features = {
desc: readSQL(__dirname, 'describe.sql'),
@ -10,7 +10,7 @@ const features = {
describe('HiveSQL Describe Syntax Tests', () => {
features.desc.forEach((des) => {
it(des, () => {
expect(parser.validate(des).length).toBe(0);
expect(hive.validate(des).length).toBe(0);
});
});
});

View File

@ -1,7 +1,7 @@
import HiveSQL from 'src/parser/hive';
import { HiveSQL } from 'src/parser/hive';
import { readSQL } from 'test/helper';
const parser = new HiveSQL();
const hive = new HiveSQL();
const features = {
drops: readSQL(__dirname, 'drop.sql'),
@ -11,13 +11,13 @@ const features = {
describe('HiveSQL Drop Syntax Tests', () => {
features.drops.forEach((drop) => {
it(drop, () => {
expect(parser.validate(drop).length).toBe(0);
expect(hive.validate(drop).length).toBe(0);
});
});
features.reloads.forEach((reload) => {
it(reload, () => {
expect(parser.validate(reload).length).toBe(0);
expect(hive.validate(reload).length).toBe(0);
});
});
});

View File

@ -1,4 +1,4 @@
import HiveSQL from 'src/parser/hive';
import { HiveSQL } from 'src/parser/hive';
import { readSQL } from 'test/helper';
const features = {
@ -6,11 +6,11 @@ const features = {
};
describe('HiveSQL Export Syntax Tests', () => {
const parser = new HiveSQL();
const hive = new HiveSQL();
features.exports.forEach((exp) => {
it(exp, () => {
expect(parser.validate(exp).length).toBe(0);
expect(hive.validate(exp).length).toBe(0);
});
});
});

View File

@ -1,4 +1,4 @@
import HiveSQL from 'src/parser/hive';
import { HiveSQL } from 'src/parser/hive';
import { readSQL } from 'test/helper';
const features = {
@ -6,11 +6,11 @@ const features = {
};
describe('HiveSQL Import Syntax Tests', () => {
const parser = new HiveSQL();
const hive = new HiveSQL();
features.imports.forEach((imp) => {
it(imp, () => {
expect(parser.validate(imp).length).toBe(0);
expect(hive.validate(imp).length).toBe(0);
});
});
});

View File

@ -1,7 +1,7 @@
import HiveSQL from 'src/parser/hive';
import { HiveSQL } from 'src/parser/hive';
import { readSQL } from 'test/helper';
const parser = new HiveSQL();
const hive = new HiveSQL();
const features = {
insertFromQueries: readSQL(__dirname, 'insertFromQuery.sql'),
@ -11,13 +11,13 @@ const features = {
describe('HiveSQL Insert Syntax Tests', () => {
features.insertFromQueries.forEach((ifq) => {
it(ifq, () => {
expect(parser.validate(ifq).length).toBe(0);
expect(hive.validate(ifq).length).toBe(0);
});
});
features.insertFromValues.forEach((ifv) => {
it(ifv, () => {
expect(parser.validate(ifv).length).toBe(0);
expect(hive.validate(ifv).length).toBe(0);
});
});
});

View File

@ -1,7 +1,7 @@
import HiveSQL from 'src/parser/hive';
import { HiveSQL } from 'src/parser/hive';
import { readSQL } from 'test/helper';
const parser = new HiveSQL();
const hive = new HiveSQL();
const features = {
loads: readSQL(__dirname, 'load.sql'),
@ -10,7 +10,7 @@ const features = {
describe('HiveSQL Load Syntax Tests', () => {
features.loads.forEach((load) => {
it(load, () => {
expect(parser.validate(load).length).toBe(0);
expect(hive.validate(load).length).toBe(0);
});
});
});

View File

@ -1,7 +1,7 @@
import HiveSQL from 'src/parser/hive';
import { HiveSQL } from 'src/parser/hive';
import { readSQL } from 'test/helper';
const parser = new HiveSQL();
const hive = new HiveSQL();
const features = {
merges: readSQL(__dirname, 'merge.sql'),
@ -10,7 +10,7 @@ const features = {
describe('HiveSQL Merge Syntax Tests', () => {
features.merges.forEach((merge) => {
it(merge, () => {
expect(parser.validate(merge).length).toBe(0);
expect(hive.validate(merge).length).toBe(0);
});
});
});

View File

@ -1,7 +1,7 @@
import HiveSQL from 'src/parser/hive';
import { HiveSQL } from 'src/parser/hive';
import { readSQL } from 'test/helper';
const parser = new HiveSQL();
const hive = new HiveSQL();
const features = {
selects: readSQL(__dirname, 'select.sql'),
@ -10,7 +10,7 @@ const features = {
describe('HiveSQL Select Syntax Tests', () => {
features.selects.forEach((select) => {
it(select, () => {
expect(parser.validate(select).length).toBe(0);
expect(hive.validate(select).length).toBe(0);
});
});
});

View File

@ -1,7 +1,7 @@
import HiveSQL from 'src/parser/hive';
import { HiveSQL } from 'src/parser/hive';
import { readSQL } from 'test/helper';
const parser = new HiveSQL();
const hive = new HiveSQL();
const features = {
shows: readSQL(__dirname, 'show.sql'),
@ -10,7 +10,7 @@ const features = {
describe('HiveSQL Show Syntax Tests', () => {
features.shows.forEach((show) => {
it(show, () => {
expect(parser.validate(show).length).toBe(0);
expect(hive.validate(show).length).toBe(0);
});
});
});

View File

@ -1,7 +1,7 @@
import HiveSQL from 'src/parser/hive';
import { HiveSQL } from 'src/parser/hive';
import { readSQL } from 'test/helper';
const parser = new HiveSQL();
const hive = new HiveSQL();
const features = {
updates: readSQL(__dirname, 'update.sql'),
@ -10,7 +10,7 @@ const features = {
describe('HiveSQL Update Syntax Tests', () => {
features.updates.forEach((update) => {
it(update, () => {
expect(parser.validate(update).length).toBe(0);
expect(hive.validate(update).length).toBe(0);
});
});
});

View File

@ -1,16 +1,16 @@
import HiveSQL from 'src/parser/hive';
import { HiveSQL } from 'src/parser/hive';
const randomText = `dhsdansdnkla ndjnsla ndnalks`;
const unCompleteSQL = `CREATE TABLE`;
describe('Hive SQL validate invalid sql', () => {
const parser = new HiveSQL();
const hive = new HiveSQL();
test('validate random text', () => {
expect(parser.validate(randomText).length).not.toBe(0);
expect(hive.validate(randomText).length).not.toBe(0);
});
test('validate unComplete sql', () => {
expect(parser.validate(unCompleteSQL).length).not.toBe(0);
expect(hive.validate(unCompleteSQL).length).not.toBe(0);
});
});

View File

@ -1,15 +1,15 @@
import { AbstractParseTreeVisitor } from 'antlr4ng';
import HiveSQL from 'src/parser/hive';
import { HiveSQL } from 'src/parser/hive';
import { HiveSqlParserVisitor } from 'src/lib/hive/HiveSqlParserVisitor';
import { ProgramContext, TableNameContext } from 'src/lib/hive/HiveSqlParser';
describe('HiveSQL Visitor Tests', () => {
const expectTableName = 'dm_gis.dlv_addr_tc_count';
const sql = `select citycode,tc,inc_day from ${expectTableName} where inc_day='20190501' limit 100;`;
const parser = new HiveSQL();
const hive = new HiveSQL();
const parseTree = parser.parse(sql, (error) => {
const parseTree = hive.parse(sql, (error) => {
console.error('Parse error:', error);
});

View File

@ -1,11 +1,9 @@
import fs from 'fs';
import path from 'path';
import { ImpalaSqlSplitListener } from 'src/parser/impala';
import { EntityContextType } from 'src/parser/common/basic-parser-types';
import { EntityContextType } from 'src/parser/common/types';
import { StmtContextType } from 'src/parser/common/entityCollector';
import ImpalaSQL from 'src/parser/impala';
import { ImpalaSQL, ImpalaEntityCollector, ImpalaSqlSplitListener } from 'src/parser/impala';
import { ImpalaSqlParserListener } from 'src/lib/impala/ImpalaSqlParserListener';
import ImpalaEntityCollector from 'src/parser/impala/impalaEntityCollector';
import { ParseTreeListener } from 'antlr4ng';
const commonSql = fs.readFileSync(path.join(__dirname, 'fixtures', 'common.sql'), 'utf-8');

View File

@ -1,4 +1,4 @@
import ImpalaSQL, { ImpalaSqlSplitListener } from 'src/parser/impala';
import { ImpalaSQL, ImpalaSqlSplitListener } from 'src/parser/impala';
import { ImpalaSqlParserListener } from 'src/lib/impala/ImpalaSqlParserListener';
const validSQL1 = `INSERT INTO country_page_view

View File

@ -1,10 +1,10 @@
import ImpalaSQL from 'src/parser/impala';
import { ImpalaSQL } from 'src/parser/impala';
describe('ImpalaSQL Lexer tests', () => {
const parser = new ImpalaSQL();
const impala = new ImpalaSQL();
const sql = 'SELECT * FROM table1';
const tokens = parser.getAllTokens(sql);
const tokens = impala.getAllTokens(sql);
test('token counts', () => {
expect(tokens.length).toBe(7);

Some files were not shown because too many files have changed in this diff Show More