feat(flink): add drop/alter test add add part of queryStatement

This commit is contained in:
Erindcl
2020-11-04 18:03:41 +08:00
parent 158e235b01
commit 9fc91a572a
12 changed files with 4612 additions and 127 deletions

View File

@ -7,6 +7,6 @@ describe('FlinkSQL Lexer tests', () => {
const tokens = parser.getAllTokens(sql);
test('token counts', () => {
expect(tokens.length).toBe(7);
expect(tokens.length).toBe(6);
});
});

View File

@ -3,6 +3,7 @@ import SQLParser from '../../../src/parser/flinksql';
describe('FlinkSQL Syntax Tests', () => {
const parser = new SQLParser();
// Create statements
test('Test simple CreateTable Statement', () => {
const sql = `
CREATE TABLE Orders (
@ -13,7 +14,59 @@ describe('FlinkSQL Syntax Tests', () => {
);
`;
const result = parser.validate(sql);
console.log(result);
// TODO find parser error
expect(result.length).toBe(1);
});
test('Test simple CreateDatabase Statement', () => {
const sql = `
CREATE DATABASE IF NOT EXISTS dataApi
WITH (
"owner" = "admin"
);
`;
const result = parser.validate(sql);
expect(result.length).toBe(0);
});
// test('Test simple CreateView Statement', () => {
// const sql = `
// CREATE TEMPORARY VIEW IF NOT EXISTS tempView
// AS ;
// `;
// const result = parser.validate(sql);
// expect(result.length).toBe(0);
// });
// Alter statements
test('Test simple AlterTable Statement', () => {
const sql = `ALTER TABLE Orders RENAME TO NewOrders;`;
const result = parser.validate(sql);
expect(result.length).toBe(0);
});
test('Test simple AlterDatabase Statement', () => {
const sql = `ALTER DATABASE DataBase SET ("key1"="value1");`;
const result = parser.validate(sql);
expect(result.length).toBe(0);
});
// Drop statements
test('Test simple DropTable Statement', () => {
const sql = `DROP TABLE IF EXISTS Orders;`;
const result = parser.validate(sql);
expect(result.length).toBe(0);
});
test('Test simple DropDatabase Statement', () => {
const sql = `DROP DATABASE IF EXISTS Orders RESTRICT;`;
const result = parser.validate(sql);
expect(result.length).toBe(0);
});
test('Test simple DropView Statement', () => {
const sql = `DROP TEMPORARY VIEW IF EXISTS Orders;`;
const result = parser.validate(sql);
expect(result.length).toBe(0);
});
test('Test simple DropFunction Statement', () => {
const sql = `DROP TEMPORARY FUNCTION IF EXISTS Orders;`;
const result = parser.validate(sql);
expect(result.length).toBe(0);
});
});