feat(flink): add drop/alter test add add part of queryStatement
This commit is contained in:
parent
158e235b01
commit
9fc91a572a
@ -332,6 +332,7 @@ SINGLE_QUOTE_SYMB: '\'';
|
|||||||
DOUBLE_QUOTE_SYMB: '"';
|
DOUBLE_QUOTE_SYMB: '"';
|
||||||
REVERSE_QUOTE_SYMB: '`';
|
REVERSE_QUOTE_SYMB: '`';
|
||||||
COLON_SYMB: ':';
|
COLON_SYMB: ':';
|
||||||
|
ASTERISK_SIGN: '*';
|
||||||
|
|
||||||
|
|
||||||
fragment ID_LITERAL: [A-Z_0-9a-z]*?[A-Z_a-z]+?[A-Z_0-9a-z]*;
|
fragment ID_LITERAL: [A-Z_0-9a-z]*?[A-Z_a-z]+?[A-Z_0-9a-z]*;
|
@ -1,4 +1,4 @@
|
|||||||
parser grammar FlinkSqlParser;
|
grammar FlinkSqlParser;
|
||||||
|
|
||||||
options { tokenVocab=FlinkSqlLexer; }
|
options { tokenVocab=FlinkSqlLexer; }
|
||||||
|
|
||||||
@ -27,7 +27,7 @@ ddlStatement
|
|||||||
;
|
;
|
||||||
|
|
||||||
dmlStatement
|
dmlStatement
|
||||||
: selectStatement | insertStatement
|
: queryStatement | insertStatement
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
@ -110,25 +110,74 @@ alterFunction
|
|||||||
// Drop statements
|
// Drop statements
|
||||||
|
|
||||||
dropTable
|
dropTable
|
||||||
: DROP TABLE ifExists uid
|
: DROP TABLE ifExists? uid
|
||||||
;
|
;
|
||||||
|
|
||||||
dropDatabase
|
dropDatabase
|
||||||
: DROP DATABASE ifExists uid dropType=(RESTRICT | CASCADE)?
|
: DROP DATABASE ifExists? uid dropType=(RESTRICT | CASCADE)?
|
||||||
;
|
;
|
||||||
|
|
||||||
dropView
|
dropView
|
||||||
: DROP TEMPORARY? VIEW ifExists uid
|
: DROP TEMPORARY? VIEW ifExists? uid
|
||||||
;
|
;
|
||||||
|
|
||||||
dropFunction
|
dropFunction
|
||||||
: DROP (TEMPORARY|TEMPORARY SYSTEM)? FUNCTION ifExists uid
|
: DROP (TEMPORARY|TEMPORARY SYSTEM)? FUNCTION ifExists? uid
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
// Select statements
|
// Select statements
|
||||||
|
|
||||||
|
queryStatement
|
||||||
|
: valuesDefinition
|
||||||
|
| (
|
||||||
|
selectStatement
|
||||||
|
| selectWithoutFromDefinition
|
||||||
|
// | queryStatement UNION ALL? queryStatement
|
||||||
|
// | queryStatement EXCEPT queryStatement
|
||||||
|
// | queryStatement INTERSECT queryStatement
|
||||||
|
) queryOrderByDefinition? queryLimitDefinition? queryOffsetDefinition? queryFetchDefinition?
|
||||||
|
;
|
||||||
|
|
||||||
selectStatement
|
selectStatement
|
||||||
|
: SELECT (ALL | DISTINCT)?
|
||||||
|
(ASTERISK_SIGN | projectItemDefinition (COMMA projectItemDefinition)*)
|
||||||
|
FROM tableExpression
|
||||||
|
;
|
||||||
|
|
||||||
|
projectItemDefinition // expression (AS? columnAlias)? | tableAlias . *
|
||||||
|
:
|
||||||
|
;
|
||||||
|
|
||||||
|
tableExpression
|
||||||
|
:
|
||||||
|
;
|
||||||
|
|
||||||
|
selectWithoutFromDefinition
|
||||||
|
:
|
||||||
|
;
|
||||||
|
|
||||||
|
queryOrderByDefinition
|
||||||
|
: ORDER BY orderItemDefition (COMMA orderItemDefition)*
|
||||||
|
;
|
||||||
|
|
||||||
|
orderItemDefition // expression (ASC | DESC)?
|
||||||
|
:
|
||||||
|
;
|
||||||
|
|
||||||
|
queryLimitDefinition
|
||||||
|
: LIMIT (countDefinition | ALL)
|
||||||
|
;
|
||||||
|
|
||||||
|
countDefinition
|
||||||
|
:
|
||||||
|
;
|
||||||
|
|
||||||
|
queryOffsetDefinition // OFFSET start (ROW | ROWS)
|
||||||
|
:
|
||||||
|
;
|
||||||
|
|
||||||
|
queryFetchDefinition // FETCH (FIRST | NEXT) countDefinition? (ROW | ROWS) ONLY
|
||||||
:
|
:
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -153,7 +202,7 @@ valuesDefinition
|
|||||||
: VALUES valuesRowDefinition (COMMA valuesRowDefinition)*
|
: VALUES valuesRowDefinition (COMMA valuesRowDefinition)*
|
||||||
;
|
;
|
||||||
|
|
||||||
// TODO 匹配所有的值 任意value
|
// TODO 匹配所有的值 任意value 即:(val1 [, val2, ...])
|
||||||
valuesRowDefinition
|
valuesRowDefinition
|
||||||
: LR_BRACKET
|
: LR_BRACKET
|
||||||
.*?
|
.*?
|
||||||
|
File diff suppressed because one or more lines are too long
@ -1,3 +1,4 @@
|
|||||||
|
T__0=1
|
||||||
SPACE=1
|
SPACE=1
|
||||||
SPEC_MYSQL_COMMENT=2
|
SPEC_MYSQL_COMMENT=2
|
||||||
COMMENT_INPUT=3
|
COMMENT_INPUT=3
|
||||||
@ -303,6 +304,7 @@ SINGLE_QUOTE_SYMB=302
|
|||||||
DOUBLE_QUOTE_SYMB=303
|
DOUBLE_QUOTE_SYMB=303
|
||||||
REVERSE_QUOTE_SYMB=304
|
REVERSE_QUOTE_SYMB=304
|
||||||
COLON_SYMB=305
|
COLON_SYMB=305
|
||||||
|
','=1
|
||||||
'SELECT'=5
|
'SELECT'=5
|
||||||
'FROM'=6
|
'FROM'=6
|
||||||
'ADD'=7
|
'ADD'=7
|
||||||
@ -590,7 +592,6 @@ COLON_SYMB=305
|
|||||||
'.'=293
|
'.'=293
|
||||||
'('=294
|
'('=294
|
||||||
')'=295
|
')'=295
|
||||||
','=296
|
|
||||||
';'=297
|
';'=297
|
||||||
'@'=298
|
'@'=298
|
||||||
'0'=299
|
'0'=299
|
||||||
|
20
src/lib/flinksql/FlinkSqlParserLexer.interp
Normal file
20
src/lib/flinksql/FlinkSqlParserLexer.interp
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
token literal names:
|
||||||
|
null
|
||||||
|
','
|
||||||
|
|
||||||
|
token symbolic names:
|
||||||
|
null
|
||||||
|
null
|
||||||
|
|
||||||
|
rule names:
|
||||||
|
T__0
|
||||||
|
|
||||||
|
channel names:
|
||||||
|
DEFAULT_TOKEN_CHANNEL
|
||||||
|
HIDDEN
|
||||||
|
|
||||||
|
mode names:
|
||||||
|
DEFAULT_MODE
|
||||||
|
|
||||||
|
atn:
|
||||||
|
[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 3, 7, 8, 1, 4, 2, 9, 2, 3, 2, 3, 2, 2, 2, 3, 3, 3, 3, 2, 2, 2, 6, 2, 3, 3, 2, 2, 2, 3, 5, 3, 2, 2, 2, 5, 6, 7, 46, 2, 2, 6, 4, 3, 2, 2, 2, 3, 2, 2]
|
51
src/lib/flinksql/FlinkSqlParserLexer.js
Normal file
51
src/lib/flinksql/FlinkSqlParserLexer.js
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
// Generated from /Users/erindeng/Desktop/dt-sql-parser/src/grammar/flinksql/FlinkSqlParser.g4 by ANTLR 4.8
|
||||||
|
// jshint ignore: start
|
||||||
|
var antlr4 = require('antlr4/index');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964",
|
||||||
|
"\u0002\u0003\u0007\b\u0001\u0004\u0002\t\u0002\u0003\u0002\u0003\u0002",
|
||||||
|
"\u0002\u0002\u0003\u0003\u0003\u0003\u0002\u0002\u0002\u0006\u0002\u0003",
|
||||||
|
"\u0003\u0002\u0002\u0002\u0003\u0005\u0003\u0002\u0002\u0002\u0005\u0006",
|
||||||
|
"\u0007.\u0002\u0002\u0006\u0004\u0003\u0002\u0002\u0002\u0003\u0002",
|
||||||
|
"\u0002"].join("");
|
||||||
|
|
||||||
|
|
||||||
|
var atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN);
|
||||||
|
|
||||||
|
var decisionsToDFA = atn.decisionToState.map( function(ds, index) { return new antlr4.dfa.DFA(ds, index); });
|
||||||
|
|
||||||
|
function FlinkSqlParserLexer(input) {
|
||||||
|
antlr4.Lexer.call(this, input);
|
||||||
|
this._interp = new antlr4.atn.LexerATNSimulator(this, atn, decisionsToDFA, new antlr4.PredictionContextCache());
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
FlinkSqlParserLexer.prototype = Object.create(antlr4.Lexer.prototype);
|
||||||
|
FlinkSqlParserLexer.prototype.constructor = FlinkSqlParserLexer;
|
||||||
|
|
||||||
|
Object.defineProperty(FlinkSqlParserLexer.prototype, "atn", {
|
||||||
|
get : function() {
|
||||||
|
return atn;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
FlinkSqlParserLexer.EOF = antlr4.Token.EOF;
|
||||||
|
FlinkSqlParserLexer.T__0 = 1;
|
||||||
|
|
||||||
|
FlinkSqlParserLexer.prototype.channelNames = [ "DEFAULT_TOKEN_CHANNEL", "HIDDEN" ];
|
||||||
|
|
||||||
|
FlinkSqlParserLexer.prototype.modeNames = [ "DEFAULT_MODE" ];
|
||||||
|
|
||||||
|
FlinkSqlParserLexer.prototype.literalNames = [ null, "','" ];
|
||||||
|
|
||||||
|
FlinkSqlParserLexer.prototype.symbolicNames = [ ];
|
||||||
|
|
||||||
|
FlinkSqlParserLexer.prototype.ruleNames = [ "T__0" ];
|
||||||
|
|
||||||
|
FlinkSqlParserLexer.prototype.grammarFileName = "FlinkSqlParser.g4";
|
||||||
|
|
||||||
|
|
||||||
|
exports.FlinkSqlParserLexer = FlinkSqlParserLexer;
|
||||||
|
|
2
src/lib/flinksql/FlinkSqlParserLexer.tokens
Normal file
2
src/lib/flinksql/FlinkSqlParserLexer.tokens
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
T__0=1
|
||||||
|
','=1
|
@ -2,7 +2,7 @@
|
|||||||
// jshint ignore: start
|
// jshint ignore: start
|
||||||
var antlr4 = require('antlr4/index');
|
var antlr4 = require('antlr4/index');
|
||||||
|
|
||||||
// This class defines a complete listener for a parse tree produced by FlinkSqlParser.
|
// This class defines a complete listener for a parse tree produced by FlinkSqlParserParser.
|
||||||
function FlinkSqlParserListener() {
|
function FlinkSqlParserListener() {
|
||||||
antlr4.tree.ParseTreeListener.call(this);
|
antlr4.tree.ParseTreeListener.call(this);
|
||||||
return this;
|
return this;
|
||||||
@ -11,335 +11,335 @@ function FlinkSqlParserListener() {
|
|||||||
FlinkSqlParserListener.prototype = Object.create(antlr4.tree.ParseTreeListener.prototype);
|
FlinkSqlParserListener.prototype = Object.create(antlr4.tree.ParseTreeListener.prototype);
|
||||||
FlinkSqlParserListener.prototype.constructor = FlinkSqlParserListener;
|
FlinkSqlParserListener.prototype.constructor = FlinkSqlParserListener;
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#program.
|
// Enter a parse tree produced by FlinkSqlParserParser#program.
|
||||||
FlinkSqlParserListener.prototype.enterProgram = function(ctx) {
|
FlinkSqlParserListener.prototype.enterProgram = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#program.
|
// Exit a parse tree produced by FlinkSqlParserParser#program.
|
||||||
FlinkSqlParserListener.prototype.exitProgram = function(ctx) {
|
FlinkSqlParserListener.prototype.exitProgram = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#statement.
|
// Enter a parse tree produced by FlinkSqlParserParser#statement.
|
||||||
FlinkSqlParserListener.prototype.enterStatement = function(ctx) {
|
FlinkSqlParserListener.prototype.enterStatement = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#statement.
|
// Exit a parse tree produced by FlinkSqlParserParser#statement.
|
||||||
FlinkSqlParserListener.prototype.exitStatement = function(ctx) {
|
FlinkSqlParserListener.prototype.exitStatement = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#sqlStatements.
|
// Enter a parse tree produced by FlinkSqlParserParser#sqlStatements.
|
||||||
FlinkSqlParserListener.prototype.enterSqlStatements = function(ctx) {
|
FlinkSqlParserListener.prototype.enterSqlStatements = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#sqlStatements.
|
// Exit a parse tree produced by FlinkSqlParserParser#sqlStatements.
|
||||||
FlinkSqlParserListener.prototype.exitSqlStatements = function(ctx) {
|
FlinkSqlParserListener.prototype.exitSqlStatements = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#sqlStatement.
|
// Enter a parse tree produced by FlinkSqlParserParser#sqlStatement.
|
||||||
FlinkSqlParserListener.prototype.enterSqlStatement = function(ctx) {
|
FlinkSqlParserListener.prototype.enterSqlStatement = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#sqlStatement.
|
// Exit a parse tree produced by FlinkSqlParserParser#sqlStatement.
|
||||||
FlinkSqlParserListener.prototype.exitSqlStatement = function(ctx) {
|
FlinkSqlParserListener.prototype.exitSqlStatement = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#emptyStatement.
|
// Enter a parse tree produced by FlinkSqlParserParser#emptyStatement.
|
||||||
FlinkSqlParserListener.prototype.enterEmptyStatement = function(ctx) {
|
FlinkSqlParserListener.prototype.enterEmptyStatement = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#emptyStatement.
|
// Exit a parse tree produced by FlinkSqlParserParser#emptyStatement.
|
||||||
FlinkSqlParserListener.prototype.exitEmptyStatement = function(ctx) {
|
FlinkSqlParserListener.prototype.exitEmptyStatement = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#ddlStatement.
|
// Enter a parse tree produced by FlinkSqlParserParser#ddlStatement.
|
||||||
FlinkSqlParserListener.prototype.enterDdlStatement = function(ctx) {
|
FlinkSqlParserListener.prototype.enterDdlStatement = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#ddlStatement.
|
// Exit a parse tree produced by FlinkSqlParserParser#ddlStatement.
|
||||||
FlinkSqlParserListener.prototype.exitDdlStatement = function(ctx) {
|
FlinkSqlParserListener.prototype.exitDdlStatement = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#dmlStatement.
|
// Enter a parse tree produced by FlinkSqlParserParser#dmlStatement.
|
||||||
FlinkSqlParserListener.prototype.enterDmlStatement = function(ctx) {
|
FlinkSqlParserListener.prototype.enterDmlStatement = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#dmlStatement.
|
// Exit a parse tree produced by FlinkSqlParserParser#dmlStatement.
|
||||||
FlinkSqlParserListener.prototype.exitDmlStatement = function(ctx) {
|
FlinkSqlParserListener.prototype.exitDmlStatement = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#createTable.
|
// Enter a parse tree produced by FlinkSqlParserParser#createTable.
|
||||||
FlinkSqlParserListener.prototype.enterCreateTable = function(ctx) {
|
FlinkSqlParserListener.prototype.enterCreateTable = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#createTable.
|
// Exit a parse tree produced by FlinkSqlParserParser#createTable.
|
||||||
FlinkSqlParserListener.prototype.exitCreateTable = function(ctx) {
|
FlinkSqlParserListener.prototype.exitCreateTable = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#columnOptionDefinition.
|
// Enter a parse tree produced by FlinkSqlParserParser#columnOptionDefinition.
|
||||||
FlinkSqlParserListener.prototype.enterColumnOptionDefinition = function(ctx) {
|
FlinkSqlParserListener.prototype.enterColumnOptionDefinition = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#columnOptionDefinition.
|
// Exit a parse tree produced by FlinkSqlParserParser#columnOptionDefinition.
|
||||||
FlinkSqlParserListener.prototype.exitColumnOptionDefinition = function(ctx) {
|
FlinkSqlParserListener.prototype.exitColumnOptionDefinition = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#columnName.
|
// Enter a parse tree produced by FlinkSqlParserParser#columnName.
|
||||||
FlinkSqlParserListener.prototype.enterColumnName = function(ctx) {
|
FlinkSqlParserListener.prototype.enterColumnName = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#columnName.
|
// Exit a parse tree produced by FlinkSqlParserParser#columnName.
|
||||||
FlinkSqlParserListener.prototype.exitColumnName = function(ctx) {
|
FlinkSqlParserListener.prototype.exitColumnName = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#columnType.
|
// Enter a parse tree produced by FlinkSqlParserParser#columnType.
|
||||||
FlinkSqlParserListener.prototype.enterColumnType = function(ctx) {
|
FlinkSqlParserListener.prototype.enterColumnType = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#columnType.
|
// Exit a parse tree produced by FlinkSqlParserParser#columnType.
|
||||||
FlinkSqlParserListener.prototype.exitColumnType = function(ctx) {
|
FlinkSqlParserListener.prototype.exitColumnType = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#partitionDefinition.
|
// Enter a parse tree produced by FlinkSqlParserParser#partitionDefinition.
|
||||||
FlinkSqlParserListener.prototype.enterPartitionDefinition = function(ctx) {
|
FlinkSqlParserListener.prototype.enterPartitionDefinition = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#partitionDefinition.
|
// Exit a parse tree produced by FlinkSqlParserParser#partitionDefinition.
|
||||||
FlinkSqlParserListener.prototype.exitPartitionDefinition = function(ctx) {
|
FlinkSqlParserListener.prototype.exitPartitionDefinition = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#partitionColumnDefinition.
|
// Enter a parse tree produced by FlinkSqlParserParser#partitionColumnDefinition.
|
||||||
FlinkSqlParserListener.prototype.enterPartitionColumnDefinition = function(ctx) {
|
FlinkSqlParserListener.prototype.enterPartitionColumnDefinition = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#partitionColumnDefinition.
|
// Exit a parse tree produced by FlinkSqlParserParser#partitionColumnDefinition.
|
||||||
FlinkSqlParserListener.prototype.exitPartitionColumnDefinition = function(ctx) {
|
FlinkSqlParserListener.prototype.exitPartitionColumnDefinition = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#partitionColumnName.
|
// Enter a parse tree produced by FlinkSqlParserParser#partitionColumnName.
|
||||||
FlinkSqlParserListener.prototype.enterPartitionColumnName = function(ctx) {
|
FlinkSqlParserListener.prototype.enterPartitionColumnName = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#partitionColumnName.
|
// Exit a parse tree produced by FlinkSqlParserParser#partitionColumnName.
|
||||||
FlinkSqlParserListener.prototype.exitPartitionColumnName = function(ctx) {
|
FlinkSqlParserListener.prototype.exitPartitionColumnName = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#createDatabase.
|
// Enter a parse tree produced by FlinkSqlParserParser#createDatabase.
|
||||||
FlinkSqlParserListener.prototype.enterCreateDatabase = function(ctx) {
|
FlinkSqlParserListener.prototype.enterCreateDatabase = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#createDatabase.
|
// Exit a parse tree produced by FlinkSqlParserParser#createDatabase.
|
||||||
FlinkSqlParserListener.prototype.exitCreateDatabase = function(ctx) {
|
FlinkSqlParserListener.prototype.exitCreateDatabase = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#createView.
|
// Enter a parse tree produced by FlinkSqlParserParser#createView.
|
||||||
FlinkSqlParserListener.prototype.enterCreateView = function(ctx) {
|
FlinkSqlParserListener.prototype.enterCreateView = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#createView.
|
// Exit a parse tree produced by FlinkSqlParserParser#createView.
|
||||||
FlinkSqlParserListener.prototype.exitCreateView = function(ctx) {
|
FlinkSqlParserListener.prototype.exitCreateView = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#createFunction.
|
// Enter a parse tree produced by FlinkSqlParserParser#createFunction.
|
||||||
FlinkSqlParserListener.prototype.enterCreateFunction = function(ctx) {
|
FlinkSqlParserListener.prototype.enterCreateFunction = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#createFunction.
|
// Exit a parse tree produced by FlinkSqlParserParser#createFunction.
|
||||||
FlinkSqlParserListener.prototype.exitCreateFunction = function(ctx) {
|
FlinkSqlParserListener.prototype.exitCreateFunction = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#alterTable.
|
// Enter a parse tree produced by FlinkSqlParserParser#alterTable.
|
||||||
FlinkSqlParserListener.prototype.enterAlterTable = function(ctx) {
|
FlinkSqlParserListener.prototype.enterAlterTable = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#alterTable.
|
// Exit a parse tree produced by FlinkSqlParserParser#alterTable.
|
||||||
FlinkSqlParserListener.prototype.exitAlterTable = function(ctx) {
|
FlinkSqlParserListener.prototype.exitAlterTable = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#renameDefinition.
|
// Enter a parse tree produced by FlinkSqlParserParser#renameDefinition.
|
||||||
FlinkSqlParserListener.prototype.enterRenameDefinition = function(ctx) {
|
FlinkSqlParserListener.prototype.enterRenameDefinition = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#renameDefinition.
|
// Exit a parse tree produced by FlinkSqlParserParser#renameDefinition.
|
||||||
FlinkSqlParserListener.prototype.exitRenameDefinition = function(ctx) {
|
FlinkSqlParserListener.prototype.exitRenameDefinition = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#setKeyValueDefinition.
|
// Enter a parse tree produced by FlinkSqlParserParser#setKeyValueDefinition.
|
||||||
FlinkSqlParserListener.prototype.enterSetKeyValueDefinition = function(ctx) {
|
FlinkSqlParserListener.prototype.enterSetKeyValueDefinition = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#setKeyValueDefinition.
|
// Exit a parse tree produced by FlinkSqlParserParser#setKeyValueDefinition.
|
||||||
FlinkSqlParserListener.prototype.exitSetKeyValueDefinition = function(ctx) {
|
FlinkSqlParserListener.prototype.exitSetKeyValueDefinition = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#alterDatabase.
|
// Enter a parse tree produced by FlinkSqlParserParser#alterDatabase.
|
||||||
FlinkSqlParserListener.prototype.enterAlterDatabase = function(ctx) {
|
FlinkSqlParserListener.prototype.enterAlterDatabase = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#alterDatabase.
|
// Exit a parse tree produced by FlinkSqlParserParser#alterDatabase.
|
||||||
FlinkSqlParserListener.prototype.exitAlterDatabase = function(ctx) {
|
FlinkSqlParserListener.prototype.exitAlterDatabase = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#alterFunction.
|
// Enter a parse tree produced by FlinkSqlParserParser#alterFunction.
|
||||||
FlinkSqlParserListener.prototype.enterAlterFunction = function(ctx) {
|
FlinkSqlParserListener.prototype.enterAlterFunction = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#alterFunction.
|
// Exit a parse tree produced by FlinkSqlParserParser#alterFunction.
|
||||||
FlinkSqlParserListener.prototype.exitAlterFunction = function(ctx) {
|
FlinkSqlParserListener.prototype.exitAlterFunction = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#dropTable.
|
// Enter a parse tree produced by FlinkSqlParserParser#dropTable.
|
||||||
FlinkSqlParserListener.prototype.enterDropTable = function(ctx) {
|
FlinkSqlParserListener.prototype.enterDropTable = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#dropTable.
|
// Exit a parse tree produced by FlinkSqlParserParser#dropTable.
|
||||||
FlinkSqlParserListener.prototype.exitDropTable = function(ctx) {
|
FlinkSqlParserListener.prototype.exitDropTable = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#dropDatabase.
|
// Enter a parse tree produced by FlinkSqlParserParser#dropDatabase.
|
||||||
FlinkSqlParserListener.prototype.enterDropDatabase = function(ctx) {
|
FlinkSqlParserListener.prototype.enterDropDatabase = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#dropDatabase.
|
// Exit a parse tree produced by FlinkSqlParserParser#dropDatabase.
|
||||||
FlinkSqlParserListener.prototype.exitDropDatabase = function(ctx) {
|
FlinkSqlParserListener.prototype.exitDropDatabase = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#dropView.
|
// Enter a parse tree produced by FlinkSqlParserParser#dropView.
|
||||||
FlinkSqlParserListener.prototype.enterDropView = function(ctx) {
|
FlinkSqlParserListener.prototype.enterDropView = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#dropView.
|
// Exit a parse tree produced by FlinkSqlParserParser#dropView.
|
||||||
FlinkSqlParserListener.prototype.exitDropView = function(ctx) {
|
FlinkSqlParserListener.prototype.exitDropView = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#dropFunction.
|
// Enter a parse tree produced by FlinkSqlParserParser#dropFunction.
|
||||||
FlinkSqlParserListener.prototype.enterDropFunction = function(ctx) {
|
FlinkSqlParserListener.prototype.enterDropFunction = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#dropFunction.
|
// Exit a parse tree produced by FlinkSqlParserParser#dropFunction.
|
||||||
FlinkSqlParserListener.prototype.exitDropFunction = function(ctx) {
|
FlinkSqlParserListener.prototype.exitDropFunction = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#selectStatement.
|
// Enter a parse tree produced by FlinkSqlParserParser#selectStatement.
|
||||||
FlinkSqlParserListener.prototype.enterSelectStatement = function(ctx) {
|
FlinkSqlParserListener.prototype.enterSelectStatement = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#selectStatement.
|
// Exit a parse tree produced by FlinkSqlParserParser#selectStatement.
|
||||||
FlinkSqlParserListener.prototype.exitSelectStatement = function(ctx) {
|
FlinkSqlParserListener.prototype.exitSelectStatement = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#insertStatement.
|
// Enter a parse tree produced by FlinkSqlParserParser#insertStatement.
|
||||||
FlinkSqlParserListener.prototype.enterInsertStatement = function(ctx) {
|
FlinkSqlParserListener.prototype.enterInsertStatement = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#insertStatement.
|
// Exit a parse tree produced by FlinkSqlParserParser#insertStatement.
|
||||||
FlinkSqlParserListener.prototype.exitInsertStatement = function(ctx) {
|
FlinkSqlParserListener.prototype.exitInsertStatement = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#insertPartitionDefinition.
|
// Enter a parse tree produced by FlinkSqlParserParser#insertPartitionDefinition.
|
||||||
FlinkSqlParserListener.prototype.enterInsertPartitionDefinition = function(ctx) {
|
FlinkSqlParserListener.prototype.enterInsertPartitionDefinition = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#insertPartitionDefinition.
|
// Exit a parse tree produced by FlinkSqlParserParser#insertPartitionDefinition.
|
||||||
FlinkSqlParserListener.prototype.exitInsertPartitionDefinition = function(ctx) {
|
FlinkSqlParserListener.prototype.exitInsertPartitionDefinition = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#valuesDefinition.
|
// Enter a parse tree produced by FlinkSqlParserParser#valuesDefinition.
|
||||||
FlinkSqlParserListener.prototype.enterValuesDefinition = function(ctx) {
|
FlinkSqlParserListener.prototype.enterValuesDefinition = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#valuesDefinition.
|
// Exit a parse tree produced by FlinkSqlParserParser#valuesDefinition.
|
||||||
FlinkSqlParserListener.prototype.exitValuesDefinition = function(ctx) {
|
FlinkSqlParserListener.prototype.exitValuesDefinition = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#valuesRowDefinition.
|
// Enter a parse tree produced by FlinkSqlParserParser#valuesRowDefinition.
|
||||||
FlinkSqlParserListener.prototype.enterValuesRowDefinition = function(ctx) {
|
FlinkSqlParserListener.prototype.enterValuesRowDefinition = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#valuesRowDefinition.
|
// Exit a parse tree produced by FlinkSqlParserParser#valuesRowDefinition.
|
||||||
FlinkSqlParserListener.prototype.exitValuesRowDefinition = function(ctx) {
|
FlinkSqlParserListener.prototype.exitValuesRowDefinition = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#uidList.
|
// Enter a parse tree produced by FlinkSqlParserParser#uidList.
|
||||||
FlinkSqlParserListener.prototype.enterUidList = function(ctx) {
|
FlinkSqlParserListener.prototype.enterUidList = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#uidList.
|
// Exit a parse tree produced by FlinkSqlParserParser#uidList.
|
||||||
FlinkSqlParserListener.prototype.exitUidList = function(ctx) {
|
FlinkSqlParserListener.prototype.exitUidList = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#uid.
|
// Enter a parse tree produced by FlinkSqlParserParser#uid.
|
||||||
FlinkSqlParserListener.prototype.enterUid = function(ctx) {
|
FlinkSqlParserListener.prototype.enterUid = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#uid.
|
// Exit a parse tree produced by FlinkSqlParserParser#uid.
|
||||||
FlinkSqlParserListener.prototype.exitUid = function(ctx) {
|
FlinkSqlParserListener.prototype.exitUid = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#withOption.
|
// Enter a parse tree produced by FlinkSqlParserParser#withOption.
|
||||||
FlinkSqlParserListener.prototype.enterWithOption = function(ctx) {
|
FlinkSqlParserListener.prototype.enterWithOption = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#withOption.
|
// Exit a parse tree produced by FlinkSqlParserParser#withOption.
|
||||||
FlinkSqlParserListener.prototype.exitWithOption = function(ctx) {
|
FlinkSqlParserListener.prototype.exitWithOption = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#ifNotExists.
|
// Enter a parse tree produced by FlinkSqlParserParser#ifNotExists.
|
||||||
FlinkSqlParserListener.prototype.enterIfNotExists = function(ctx) {
|
FlinkSqlParserListener.prototype.enterIfNotExists = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#ifNotExists.
|
// Exit a parse tree produced by FlinkSqlParserParser#ifNotExists.
|
||||||
FlinkSqlParserListener.prototype.exitIfNotExists = function(ctx) {
|
FlinkSqlParserListener.prototype.exitIfNotExists = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#ifExists.
|
// Enter a parse tree produced by FlinkSqlParserParser#ifExists.
|
||||||
FlinkSqlParserListener.prototype.enterIfExists = function(ctx) {
|
FlinkSqlParserListener.prototype.enterIfExists = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#ifExists.
|
// Exit a parse tree produced by FlinkSqlParserParser#ifExists.
|
||||||
FlinkSqlParserListener.prototype.exitIfExists = function(ctx) {
|
FlinkSqlParserListener.prototype.exitIfExists = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by FlinkSqlParser#keyValueDefinition.
|
// Enter a parse tree produced by FlinkSqlParserParser#keyValueDefinition.
|
||||||
FlinkSqlParserListener.prototype.enterKeyValueDefinition = function(ctx) {
|
FlinkSqlParserListener.prototype.enterKeyValueDefinition = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Exit a parse tree produced by FlinkSqlParser#keyValueDefinition.
|
// Exit a parse tree produced by FlinkSqlParserParser#keyValueDefinition.
|
||||||
FlinkSqlParserListener.prototype.exitKeyValueDefinition = function(ctx) {
|
FlinkSqlParserListener.prototype.exitKeyValueDefinition = function(ctx) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
4308
src/lib/flinksql/FlinkSqlParserParser.js
Normal file
4308
src/lib/flinksql/FlinkSqlParserParser.js
Normal file
File diff suppressed because it is too large
Load Diff
@ -2,7 +2,7 @@
|
|||||||
// jshint ignore: start
|
// jshint ignore: start
|
||||||
var antlr4 = require('antlr4/index');
|
var antlr4 = require('antlr4/index');
|
||||||
|
|
||||||
// This class defines a complete generic visitor for a parse tree produced by FlinkSqlParser.
|
// This class defines a complete generic visitor for a parse tree produced by FlinkSqlParserParser.
|
||||||
|
|
||||||
function FlinkSqlParserVisitor() {
|
function FlinkSqlParserVisitor() {
|
||||||
antlr4.tree.ParseTreeVisitor.call(this);
|
antlr4.tree.ParseTreeVisitor.call(this);
|
||||||
@ -12,223 +12,223 @@ function FlinkSqlParserVisitor() {
|
|||||||
FlinkSqlParserVisitor.prototype = Object.create(antlr4.tree.ParseTreeVisitor.prototype);
|
FlinkSqlParserVisitor.prototype = Object.create(antlr4.tree.ParseTreeVisitor.prototype);
|
||||||
FlinkSqlParserVisitor.prototype.constructor = FlinkSqlParserVisitor;
|
FlinkSqlParserVisitor.prototype.constructor = FlinkSqlParserVisitor;
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#program.
|
// Visit a parse tree produced by FlinkSqlParserParser#program.
|
||||||
FlinkSqlParserVisitor.prototype.visitProgram = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitProgram = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#statement.
|
// Visit a parse tree produced by FlinkSqlParserParser#statement.
|
||||||
FlinkSqlParserVisitor.prototype.visitStatement = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitStatement = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#sqlStatements.
|
// Visit a parse tree produced by FlinkSqlParserParser#sqlStatements.
|
||||||
FlinkSqlParserVisitor.prototype.visitSqlStatements = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitSqlStatements = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#sqlStatement.
|
// Visit a parse tree produced by FlinkSqlParserParser#sqlStatement.
|
||||||
FlinkSqlParserVisitor.prototype.visitSqlStatement = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitSqlStatement = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#emptyStatement.
|
// Visit a parse tree produced by FlinkSqlParserParser#emptyStatement.
|
||||||
FlinkSqlParserVisitor.prototype.visitEmptyStatement = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitEmptyStatement = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#ddlStatement.
|
// Visit a parse tree produced by FlinkSqlParserParser#ddlStatement.
|
||||||
FlinkSqlParserVisitor.prototype.visitDdlStatement = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitDdlStatement = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#dmlStatement.
|
// Visit a parse tree produced by FlinkSqlParserParser#dmlStatement.
|
||||||
FlinkSqlParserVisitor.prototype.visitDmlStatement = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitDmlStatement = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#createTable.
|
// Visit a parse tree produced by FlinkSqlParserParser#createTable.
|
||||||
FlinkSqlParserVisitor.prototype.visitCreateTable = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitCreateTable = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#columnOptionDefinition.
|
// Visit a parse tree produced by FlinkSqlParserParser#columnOptionDefinition.
|
||||||
FlinkSqlParserVisitor.prototype.visitColumnOptionDefinition = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitColumnOptionDefinition = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#columnName.
|
// Visit a parse tree produced by FlinkSqlParserParser#columnName.
|
||||||
FlinkSqlParserVisitor.prototype.visitColumnName = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitColumnName = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#columnType.
|
// Visit a parse tree produced by FlinkSqlParserParser#columnType.
|
||||||
FlinkSqlParserVisitor.prototype.visitColumnType = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitColumnType = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#partitionDefinition.
|
// Visit a parse tree produced by FlinkSqlParserParser#partitionDefinition.
|
||||||
FlinkSqlParserVisitor.prototype.visitPartitionDefinition = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitPartitionDefinition = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#partitionColumnDefinition.
|
// Visit a parse tree produced by FlinkSqlParserParser#partitionColumnDefinition.
|
||||||
FlinkSqlParserVisitor.prototype.visitPartitionColumnDefinition = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitPartitionColumnDefinition = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#partitionColumnName.
|
// Visit a parse tree produced by FlinkSqlParserParser#partitionColumnName.
|
||||||
FlinkSqlParserVisitor.prototype.visitPartitionColumnName = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitPartitionColumnName = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#createDatabase.
|
// Visit a parse tree produced by FlinkSqlParserParser#createDatabase.
|
||||||
FlinkSqlParserVisitor.prototype.visitCreateDatabase = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitCreateDatabase = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#createView.
|
// Visit a parse tree produced by FlinkSqlParserParser#createView.
|
||||||
FlinkSqlParserVisitor.prototype.visitCreateView = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitCreateView = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#createFunction.
|
// Visit a parse tree produced by FlinkSqlParserParser#createFunction.
|
||||||
FlinkSqlParserVisitor.prototype.visitCreateFunction = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitCreateFunction = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#alterTable.
|
// Visit a parse tree produced by FlinkSqlParserParser#alterTable.
|
||||||
FlinkSqlParserVisitor.prototype.visitAlterTable = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitAlterTable = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#renameDefinition.
|
// Visit a parse tree produced by FlinkSqlParserParser#renameDefinition.
|
||||||
FlinkSqlParserVisitor.prototype.visitRenameDefinition = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitRenameDefinition = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#setKeyValueDefinition.
|
// Visit a parse tree produced by FlinkSqlParserParser#setKeyValueDefinition.
|
||||||
FlinkSqlParserVisitor.prototype.visitSetKeyValueDefinition = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitSetKeyValueDefinition = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#alterDatabase.
|
// Visit a parse tree produced by FlinkSqlParserParser#alterDatabase.
|
||||||
FlinkSqlParserVisitor.prototype.visitAlterDatabase = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitAlterDatabase = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#alterFunction.
|
// Visit a parse tree produced by FlinkSqlParserParser#alterFunction.
|
||||||
FlinkSqlParserVisitor.prototype.visitAlterFunction = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitAlterFunction = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#dropTable.
|
// Visit a parse tree produced by FlinkSqlParserParser#dropTable.
|
||||||
FlinkSqlParserVisitor.prototype.visitDropTable = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitDropTable = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#dropDatabase.
|
// Visit a parse tree produced by FlinkSqlParserParser#dropDatabase.
|
||||||
FlinkSqlParserVisitor.prototype.visitDropDatabase = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitDropDatabase = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#dropView.
|
// Visit a parse tree produced by FlinkSqlParserParser#dropView.
|
||||||
FlinkSqlParserVisitor.prototype.visitDropView = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitDropView = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#dropFunction.
|
// Visit a parse tree produced by FlinkSqlParserParser#dropFunction.
|
||||||
FlinkSqlParserVisitor.prototype.visitDropFunction = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitDropFunction = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#selectStatement.
|
// Visit a parse tree produced by FlinkSqlParserParser#selectStatement.
|
||||||
FlinkSqlParserVisitor.prototype.visitSelectStatement = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitSelectStatement = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#insertStatement.
|
// Visit a parse tree produced by FlinkSqlParserParser#insertStatement.
|
||||||
FlinkSqlParserVisitor.prototype.visitInsertStatement = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitInsertStatement = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#insertPartitionDefinition.
|
// Visit a parse tree produced by FlinkSqlParserParser#insertPartitionDefinition.
|
||||||
FlinkSqlParserVisitor.prototype.visitInsertPartitionDefinition = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitInsertPartitionDefinition = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#valuesDefinition.
|
// Visit a parse tree produced by FlinkSqlParserParser#valuesDefinition.
|
||||||
FlinkSqlParserVisitor.prototype.visitValuesDefinition = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitValuesDefinition = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#valuesRowDefinition.
|
// Visit a parse tree produced by FlinkSqlParserParser#valuesRowDefinition.
|
||||||
FlinkSqlParserVisitor.prototype.visitValuesRowDefinition = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitValuesRowDefinition = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#uidList.
|
// Visit a parse tree produced by FlinkSqlParserParser#uidList.
|
||||||
FlinkSqlParserVisitor.prototype.visitUidList = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitUidList = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#uid.
|
// Visit a parse tree produced by FlinkSqlParserParser#uid.
|
||||||
FlinkSqlParserVisitor.prototype.visitUid = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitUid = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#withOption.
|
// Visit a parse tree produced by FlinkSqlParserParser#withOption.
|
||||||
FlinkSqlParserVisitor.prototype.visitWithOption = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitWithOption = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#ifNotExists.
|
// Visit a parse tree produced by FlinkSqlParserParser#ifNotExists.
|
||||||
FlinkSqlParserVisitor.prototype.visitIfNotExists = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitIfNotExists = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#ifExists.
|
// Visit a parse tree produced by FlinkSqlParserParser#ifExists.
|
||||||
FlinkSqlParserVisitor.prototype.visitIfExists = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitIfExists = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by FlinkSqlParser#keyValueDefinition.
|
// Visit a parse tree produced by FlinkSqlParserParser#keyValueDefinition.
|
||||||
FlinkSqlParserVisitor.prototype.visitKeyValueDefinition = function(ctx) {
|
FlinkSqlParserVisitor.prototype.visitKeyValueDefinition = function(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
};
|
||||||
|
@ -7,6 +7,6 @@ describe('FlinkSQL Lexer tests', () => {
|
|||||||
const tokens = parser.getAllTokens(sql);
|
const tokens = parser.getAllTokens(sql);
|
||||||
|
|
||||||
test('token counts', () => {
|
test('token counts', () => {
|
||||||
expect(tokens.length).toBe(7);
|
expect(tokens.length).toBe(6);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -3,6 +3,7 @@ import SQLParser from '../../../src/parser/flinksql';
|
|||||||
describe('FlinkSQL Syntax Tests', () => {
|
describe('FlinkSQL Syntax Tests', () => {
|
||||||
const parser = new SQLParser();
|
const parser = new SQLParser();
|
||||||
|
|
||||||
|
// Create statements
|
||||||
test('Test simple CreateTable Statement', () => {
|
test('Test simple CreateTable Statement', () => {
|
||||||
const sql = `
|
const sql = `
|
||||||
CREATE TABLE Orders (
|
CREATE TABLE Orders (
|
||||||
@ -13,7 +14,59 @@ describe('FlinkSQL Syntax Tests', () => {
|
|||||||
);
|
);
|
||||||
`;
|
`;
|
||||||
const result = parser.validate(sql);
|
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);
|
expect(result.length).toBe(0);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user