diff --git a/.gitignore b/.gitignore index 4f86a31..a21b9b3 100644 --- a/.gitignore +++ b/.gitignore @@ -166,4 +166,9 @@ cython_debug/ *.g4 -*SqlBaseParserListener.py \ No newline at end of file +*SqlBaseLexer.js +*SqlBaseParser.js + +*SqlBaseLexer.py +*SqlBaseParser.py +*SqlBaseParserListener.py diff --git a/LICENSE.md b/LICENSE.md index 2ca9bec..b2af37f 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,7 +1,13 @@ -Copyright <2024> +Copyright 2024 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + http://www.apache.org/licenses/LICENSE-2.0 -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/cratedb_sqlparse/__init__.py b/cratedb_sqlparse/__init__.py deleted file mode 100644 index 6a03bbe..0000000 --- a/cratedb_sqlparse/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from .parser.parser import sqlparse, ParsingException - -__all__ = ['sqlparse', 'ParsingException'] diff --git a/cratedb_sqlparse/parser/generated_parser/AbstractSqlBaseLexer.py b/cratedb_sqlparse/parser/generated_parser/AbstractSqlBaseLexer.py deleted file mode 100644 index cca49df..0000000 --- a/cratedb_sqlparse/parser/generated_parser/AbstractSqlBaseLexer.py +++ /dev/null @@ -1,25 +0,0 @@ -from antlr4 import Lexer - - -class AbstractSqlBaseLexer(Lexer): - """ - antlr4 generates this class we added in CrateDB (https://github.com/crate/crate/commit/8e7cfd7c4a05fc27de8ce71af9165b98c986d883) - in order to implement $ strings, ie: "SELECT $my friend's house$", we cannot do the same since it also generates invalid syntax: - - # SqlBaseLexer.py - class SqlBaseLexer(AbstractSqlBaseLexer): - ... - - - def END_DOLLAR_QUOTED_STRING_sempred(...): - if actionIndex == 1: - pushTags() - - ^^^^^^^^^ - - # - - pushTags here is valid Java syntax but wrong Python syntax, we patch this in parser.py. - """ - - pass diff --git a/cratedb_sqlparse/parser/generated_parser/SqlBaseLexer.py b/cratedb_sqlparse/parser/generated_parser/SqlBaseLexer.py deleted file mode 100644 index 13266a1..0000000 --- a/cratedb_sqlparse/parser/generated_parser/SqlBaseLexer.py +++ /dev/null @@ -1,1759 +0,0 @@ -# Generated from SqlBaseLexer.g4 by ANTLR 4.13.1 -from antlr4 import * -from io import StringIO -import sys -if sys.version_info[1] > 5: - from typing import TextIO -else: - from typing.io import TextIO - - -# Code removed by cratedb_sqlparse.setup_grammar.patch_lexer - - -if "." in __name__: - from .AbstractSqlBaseLexer import AbstractSqlBaseLexer -else: - from AbstractSqlBaseLexer import AbstractSqlBaseLexer - -def serializedATN(): - return [ - 4,0,331,3071,6,-1,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2, - 5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7, - 12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2, - 19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7, - 25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2, - 32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7, - 38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2, - 45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7, - 51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2, - 58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7, - 64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2, - 71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7, - 77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2, - 84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7, - 90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2, - 97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102, - 2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108, - 7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113, - 2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119, - 7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124, - 2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130, - 7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135, - 2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141, - 7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146, - 2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152, - 7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157, - 2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163, - 7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168, - 2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174, - 7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179, - 2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185, - 7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190, - 2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196, - 7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201, - 2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207, - 7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212, - 2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218, - 7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223, - 2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229, - 7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234, - 2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240, - 7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245, - 2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251, - 7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256, - 2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262, - 7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267, - 2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273, - 7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278, - 2,279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284, - 7,284,2,285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289, - 2,290,7,290,2,291,7,291,2,292,7,292,2,293,7,293,2,294,7,294,2,295, - 7,295,2,296,7,296,2,297,7,297,2,298,7,298,2,299,7,299,2,300,7,300, - 2,301,7,301,2,302,7,302,2,303,7,303,2,304,7,304,2,305,7,305,2,306, - 7,306,2,307,7,307,2,308,7,308,2,309,7,309,2,310,7,310,2,311,7,311, - 2,312,7,312,2,313,7,313,2,314,7,314,2,315,7,315,2,316,7,316,2,317, - 7,317,2,318,7,318,2,319,7,319,2,320,7,320,2,321,7,321,2,322,7,322, - 2,323,7,323,2,324,7,324,2,325,7,325,2,326,7,326,2,327,7,327,2,328, - 7,328,2,329,7,329,2,330,7,330,2,331,7,331,2,332,7,332,2,333,7,333, - 2,334,7,334,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0, - 1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3, - 1,4,1,4,1,4,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,8,1,8, - 1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,10,1,10, - 1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,11, - 1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13, - 1,13,1,13,1,13,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,15,1,15,1,16, - 1,16,1,16,1,16,1,16,1,16,1,16,1,17,1,17,1,17,1,17,1,17,1,17,1,18, - 1,18,1,18,1,18,1,18,1,18,1,18,1,19,1,19,1,19,1,20,1,20,1,20,1,20, - 1,21,1,21,1,21,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,23, - 1,23,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,25,1,25,1,25,1,25, - 1,25,1,26,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,28,1,28,1,28, - 1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,30,1,30, - 1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,32, - 1,32,1,32,1,33,1,33,1,33,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34, - 1,34,1,35,1,35,1,35,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1,37, - 1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,39,1,39, - 1,39,1,39,1,40,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,1,41, - 1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43, - 1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44, - 1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,47,1,47,1,47,1,47, - 1,47,1,48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1,50,1,50, - 1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52, - 1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1,54,1,54, - 1,54,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55, - 1,55,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56, - 1,56,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57, - 1,57,1,57,1,57,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,1,58,1,58, - 1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,59,1,59,1,59,1,59,1,59, - 1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,60,1,60,1,60,1,60,1,60, - 1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,61, - 1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62, - 1,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,64, - 1,65,1,65,1,65,1,65,1,65,1,66,1,66,1,66,1,66,1,66,1,67,1,67,1,67, - 1,67,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69, - 1,70,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,71,1,71,1,71,1,72,1,72, - 1,72,1,72,1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,73,1,74,1,74,1,74, - 1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,76,1,76,1,76,1,76,1,76, - 1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,78,1,78,1,78,1,78,1,78, - 1,78,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81, - 1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82, - 1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,84,1,84,1,84,1,84,1,84, - 1,84,1,85,1,85,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,86,1,86,1,86, - 1,86,1,86,1,86,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87, - 1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,89,1,89,1,89, - 1,89,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1,90,1,91,1,91,1,91,1,91, - 1,91,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,93,1,93, - 1,93,1,93,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,94,1,94,1,94,1,94, - 1,95,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,96,1,96,1,97,1,97, - 1,97,1,97,1,97,1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,99,1,99, - 1,99,1,99,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100, - 1,100,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101, - 1,101,1,101,1,101,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102, - 1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103, - 1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,105,1,105, - 1,105,1,105,1,105,1,105,1,106,1,106,1,106,1,106,1,106,1,107,1,107, - 1,107,1,107,1,107,1,108,1,108,1,108,1,108,1,109,1,109,1,109,1,109, - 1,109,1,109,1,109,1,110,1,110,1,110,1,110,1,110,1,111,1,111,1,111, - 1,111,1,111,1,111,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,113, - 1,113,1,113,1,113,1,113,1,113,1,113,1,113,1,114,1,114,1,114,1,114, - 1,114,1,115,1,115,1,115,1,115,1,115,1,115,1,116,1,116,1,116,1,116, - 1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,117,1,117,1,117, - 1,117,1,117,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,119,1,119, - 1,119,1,119,1,119,1,119,1,120,1,120,1,120,1,120,1,120,1,120,1,120, - 1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,122,1,122,1,122, - 1,122,1,122,1,123,1,123,1,123,1,123,1,123,1,123,1,124,1,124,1,124, - 1,124,1,124,1,124,1,124,1,124,1,125,1,125,1,125,1,125,1,126,1,126, - 1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,127,1,127,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,129, - 1,129,1,129,1,129,1,129,1,130,1,130,1,130,1,130,1,130,1,130,1,130, - 1,130,1,130,1,130,1,131,1,131,1,131,1,132,1,132,1,132,1,132,1,132, - 1,132,1,132,1,132,1,132,1,132,1,133,1,133,1,133,1,133,1,133,1,133, - 1,133,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,135,1,135, - 1,135,1,135,1,135,1,135,1,135,1,136,1,136,1,136,1,136,1,136,1,136, - 1,136,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137, - 1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,139, - 1,139,1,139,1,139,1,139,1,139,1,139,1,140,1,140,1,140,1,140,1,140, - 1,140,1,140,1,140,1,141,1,141,1,141,1,141,1,141,1,141,1,142,1,142, - 1,142,1,142,1,142,1,142,1,143,1,143,1,143,1,143,1,143,1,143,1,144, - 1,144,1,144,1,144,1,144,1,144,1,144,1,145,1,145,1,145,1,145,1,145, - 1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146, - 1,146,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147, - 1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147, - 1,147,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,148, - 1,148,1,148,1,148,1,148,1,148,1,148,1,149,1,149,1,149,1,149,1,149, - 1,149,1,149,1,149,1,149,1,149,1,150,1,150,1,150,1,150,1,150,1,150, - 1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151, - 1,151,1,151,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152, - 1,152,1,152,1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,153, - 1,153,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154, - 1,154,1,154,1,155,1,155,1,155,1,155,1,155,1,156,1,156,1,156,1,156, - 1,156,1,156,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157, - 1,157,1,157,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,159, - 1,159,1,159,1,159,1,159,1,159,1,159,1,160,1,160,1,160,1,160,1,160, - 1,160,1,160,1,160,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161, - 1,161,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,163, - 1,163,1,163,1,163,1,163,1,163,1,164,1,164,1,164,1,164,1,164,1,164, - 1,164,1,164,1,165,1,165,1,165,1,165,1,165,1,165,1,166,1,166,1,166, - 1,166,1,166,1,166,1,166,1,166,1,167,1,167,1,167,1,167,1,167,1,167, - 1,167,1,167,1,168,1,168,1,168,1,168,1,168,1,168,1,169,1,169,1,169, - 1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,170,1,170,1,170,1,170, - 1,170,1,170,1,170,1,170,1,170,1,170,1,171,1,171,1,171,1,171,1,171, - 1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172, - 1,173,1,173,1,173,1,173,1,173,1,173,1,174,1,174,1,174,1,174,1,174, - 1,174,1,174,1,174,1,174,1,175,1,175,1,175,1,175,1,175,1,175,1,175, - 1,175,1,176,1,176,1,176,1,176,1,176,1,176,1,176,1,177,1,177,1,177, - 1,177,1,177,1,178,1,178,1,178,1,178,1,178,1,179,1,179,1,179,1,179, - 1,179,1,179,1,179,1,179,1,179,1,180,1,180,1,180,1,180,1,180,1,180, - 1,180,1,180,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181, - 1,181,1,181,1,181,1,182,1,182,1,182,1,182,1,182,1,183,1,183,1,183, - 1,183,1,183,1,183,1,183,1,183,1,183,1,184,1,184,1,184,1,184,1,184, - 1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,186,1,186,1,186,1,186, - 1,186,1,186,1,186,1,186,1,187,1,187,1,187,1,187,1,187,1,187,1,187, - 1,187,1,187,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,189, - 1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,190, - 1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,191,1,191, - 1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191, - 1,192,1,192,1,192,1,192,1,192,1,193,1,193,1,193,1,193,1,193,1,193, - 1,193,1,193,1,193,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,194, - 1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,196,1,196,1,196, - 1,196,1,196,1,197,1,197,1,197,1,197,1,197,1,197,1,198,1,198,1,198, - 1,198,1,198,1,198,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,200, - 1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,201,1,201, - 1,201,1,201,1,201,1,201,1,201,1,202,1,202,1,202,1,202,1,202,1,202, - 1,202,1,202,1,202,1,202,1,203,1,203,1,203,1,203,1,203,1,203,1,203, - 1,203,1,203,1,203,1,203,1,203,1,204,1,204,1,204,1,204,1,204,1,204, - 1,204,1,204,1,204,1,205,1,205,1,205,1,205,1,205,1,205,1,205,1,206, - 1,206,1,206,1,206,1,206,1,207,1,207,1,207,1,207,1,207,1,207,1,207, - 1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,209,1,209,1,209,1,209, - 1,209,1,209,1,209,1,210,1,210,1,210,1,210,1,211,1,211,1,211,1,211, - 1,211,1,211,1,211,1,211,1,211,1,211,1,212,1,212,1,212,1,212,1,212, - 1,212,1,212,1,212,1,212,1,213,1,213,1,213,1,214,1,214,1,214,1,214, - 1,214,1,214,1,214,1,214,1,215,1,215,1,215,1,215,1,216,1,216,1,216, - 1,216,1,216,1,216,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217, - 1,218,1,218,1,218,1,218,1,218,1,219,1,219,1,219,1,219,1,219,1,219, - 1,219,1,219,1,219,1,219,1,220,1,220,1,220,1,220,1,220,1,220,1,220, - 1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221, - 1,221,1,222,1,222,1,222,1,222,1,223,1,223,1,223,1,223,1,223,1,223, - 1,223,1,223,1,223,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,225, - 1,225,1,225,1,225,1,225,1,225,1,226,1,226,1,226,1,226,1,226,1,226, - 1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,228,1,228,1,228, - 1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,229,1,229,1,229,1,229, - 1,229,1,229,1,229,1,229,1,230,1,230,1,230,1,230,1,230,1,230,1,230, - 1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,232,1,232,1,232, - 1,232,1,232,1,232,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233, - 1,233,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,235,1,235, - 1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,236,1,236,1,236, - 1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236, - 1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237, - 1,237,1,237,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238, - 1,238,1,238,1,238,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239, - 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,241, - 1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,242, - 1,242,1,242,1,242,1,242,1,242,1,243,1,243,1,243,1,243,1,243,1,243, - 1,243,1,243,1,243,1,243,1,244,1,244,1,244,1,244,1,244,1,244,1,244, - 1,245,1,245,1,245,1,245,1,245,1,246,1,246,1,246,1,246,1,246,1,247, - 1,247,1,247,1,247,1,247,1,247,1,248,1,248,1,248,1,248,1,248,1,249, - 1,249,1,249,1,249,1,249,1,249,1,249,1,250,1,250,1,250,1,250,1,250, - 1,250,1,250,1,250,1,250,1,250,1,250,1,251,1,251,1,251,1,251,1,251, - 1,251,1,251,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,253,1,253, - 1,253,1,253,1,253,1,253,1,253,1,253,1,254,1,254,1,254,1,254,1,254, - 1,254,1,254,1,254,1,254,1,255,1,255,1,255,1,255,1,255,1,255,1,255, - 1,255,1,255,1,255,1,255,1,255,1,256,1,256,1,256,1,256,1,256,1,256, - 1,256,1,256,1,256,1,256,1,256,1,256,1,256,1,257,1,257,1,257,1,257, - 1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,258,1,258,1,258,1,258, - 1,258,1,258,1,258,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259, - 1,260,1,260,1,260,1,260,1,260,1,260,1,260,1,260,1,261,1,261,1,261, - 1,261,1,261,1,261,1,261,1,262,1,262,1,262,1,262,1,262,1,262,1,262, - 1,262,1,262,1,262,1,262,1,263,1,263,1,263,1,263,1,263,1,263,1,263, - 1,263,1,263,1,263,1,263,1,263,1,264,1,264,1,264,1,264,1,264,1,264, - 1,264,1,265,1,265,1,265,1,266,1,266,1,266,1,266,1,266,1,266,1,266, - 1,267,1,267,1,267,1,267,1,267,1,268,1,268,1,268,1,268,1,268,1,268, - 1,268,1,268,1,268,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,269, - 1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,271,1,271, - 1,271,1,271,1,271,1,271,1,271,1,271,1,271,1,272,1,272,1,272,1,272, - 1,272,1,272,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,274,1,274, - 1,274,1,274,1,274,1,274,1,274,1,274,1,275,1,275,1,275,1,275,1,275, - 1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,277,1,277,1,277, - 1,277,1,277,1,277,1,277,1,277,1,278,1,278,1,278,1,278,1,278,1,278, - 1,278,1,278,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,280, - 1,280,1,280,1,280,1,280,1,280,1,280,1,280,1,280,1,281,1,281,1,282, - 1,282,1,282,1,282,3,282,2776,8,282,1,283,1,283,1,284,1,284,1,284, - 1,285,1,285,1,286,1,286,1,286,1,287,1,287,1,287,1,288,1,288,1,289, - 1,289,1,289,1,290,1,290,1,290,1,291,1,291,1,291,1,291,1,292,1,292, - 1,293,1,293,1,294,1,294,1,295,1,295,1,296,1,296,1,297,1,297,1,298, - 1,298,1,298,1,299,1,299,1,299,1,300,1,300,1,301,1,301,1,302,1,302, - 1,303,1,303,1,304,1,304,1,305,1,305,1,306,1,306,1,307,1,307,1,308, - 1,308,1,309,1,309,1,310,1,310,1,310,1,311,1,311,1,312,1,312,1,313, - 1,313,1,314,1,314,1,315,1,315,1,316,1,316,1,316,1,316,5,316,2858, - 8,316,10,316,12,316,2861,9,316,1,316,1,316,1,317,1,317,1,317,1,317, - 1,317,1,317,4,317,2871,8,317,11,317,12,317,2872,1,317,5,317,2876, - 8,317,10,317,12,317,2879,9,317,1,317,1,317,1,318,1,318,1,318,5,318, - 2886,8,318,10,318,12,318,2889,9,318,1,318,1,318,1,319,4,319,2894, - 8,319,11,319,12,319,2895,1,319,1,319,1,319,4,319,2901,8,319,11,319, - 12,319,2902,1,319,1,319,3,319,2907,8,319,1,320,1,320,1,320,3,320, - 2912,8,320,1,320,1,320,4,320,2916,8,320,11,320,12,320,2917,1,320, - 1,320,1,320,5,320,2923,8,320,10,320,12,320,2926,9,320,3,320,2928, - 8,320,1,320,1,320,1,320,1,320,4,320,2934,8,320,11,320,12,320,2935, - 1,320,1,320,3,320,2940,8,320,1,321,1,321,3,321,2944,8,321,1,321, - 1,321,1,321,5,321,2949,8,321,10,321,12,321,2952,9,321,1,322,1,322, - 1,322,1,322,4,322,2958,8,322,11,322,12,322,2959,1,323,1,323,1,323, - 1,323,5,323,2966,8,323,10,323,12,323,2969,9,323,1,323,1,323,1,324, - 1,324,1,324,1,324,5,324,2977,8,324,10,324,12,324,2980,9,324,1,324, - 1,324,1,325,1,325,3,325,2986,8,325,1,325,1,325,1,325,1,325,1,325, - 1,326,1,326,1,327,1,327,3,327,2997,8,327,1,327,4,327,3000,8,327, - 11,327,12,327,3001,1,328,1,328,1,329,1,329,1,330,1,330,1,330,1,330, - 5,330,3012,8,330,10,330,12,330,3015,9,330,1,330,3,330,3018,8,330, - 1,330,3,330,3021,8,330,1,330,1,330,1,330,1,330,5,330,3027,8,330, - 10,330,12,330,3030,9,330,1,330,1,330,3,330,3034,8,330,1,330,1,330, - 1,331,4,331,3039,8,331,11,331,12,331,3040,1,331,1,331,1,332,1,332, - 1,333,4,333,3048,8,333,11,333,12,333,3049,1,333,1,333,5,333,3054, - 8,333,10,333,12,333,3057,9,333,3,333,3059,8,333,1,334,1,334,3,334, - 3063,8,334,1,334,1,334,1,334,1,334,1,334,1,334,1,334,1,3028,0,335, - 2,1,4,2,6,3,8,4,10,5,12,6,14,7,16,8,18,9,20,10,22,11,24,12,26,13, - 28,14,30,15,32,16,34,17,36,18,38,19,40,20,42,21,44,22,46,23,48,24, - 50,25,52,26,54,27,56,28,58,29,60,30,62,31,64,32,66,33,68,34,70,35, - 72,36,74,37,76,38,78,39,80,40,82,41,84,42,86,43,88,44,90,45,92,46, - 94,47,96,48,98,49,100,50,102,51,104,52,106,53,108,54,110,55,112, - 56,114,57,116,58,118,59,120,60,122,61,124,62,126,63,128,64,130,65, - 132,66,134,67,136,68,138,69,140,70,142,71,144,72,146,73,148,74,150, - 75,152,76,154,77,156,78,158,79,160,80,162,81,164,82,166,83,168,84, - 170,85,172,86,174,87,176,88,178,89,180,90,182,91,184,92,186,93,188, - 94,190,95,192,96,194,97,196,98,198,99,200,100,202,101,204,102,206, - 103,208,104,210,105,212,106,214,107,216,108,218,109,220,110,222, - 111,224,112,226,113,228,114,230,115,232,116,234,117,236,118,238, - 119,240,120,242,121,244,122,246,123,248,124,250,125,252,126,254, - 127,256,128,258,129,260,130,262,131,264,132,266,133,268,134,270, - 135,272,136,274,137,276,138,278,139,280,140,282,141,284,142,286, - 143,288,144,290,145,292,146,294,147,296,148,298,149,300,150,302, - 151,304,152,306,153,308,154,310,155,312,156,314,157,316,158,318, - 159,320,160,322,161,324,162,326,163,328,164,330,165,332,166,334, - 167,336,168,338,169,340,170,342,171,344,172,346,173,348,174,350, - 175,352,176,354,177,356,178,358,179,360,180,362,181,364,182,366, - 183,368,184,370,185,372,186,374,187,376,188,378,189,380,190,382, - 191,384,192,386,193,388,194,390,195,392,196,394,197,396,198,398, - 199,400,200,402,201,404,202,406,203,408,204,410,205,412,206,414, - 207,416,208,418,209,420,210,422,211,424,212,426,213,428,214,430, - 215,432,216,434,217,436,218,438,219,440,220,442,221,444,222,446, - 223,448,224,450,225,452,226,454,227,456,228,458,229,460,230,462, - 231,464,232,466,233,468,234,470,235,472,236,474,237,476,238,478, - 239,480,240,482,241,484,242,486,243,488,244,490,245,492,246,494, - 247,496,248,498,249,500,250,502,251,504,252,506,253,508,254,510, - 255,512,256,514,257,516,258,518,259,520,260,522,261,524,262,526, - 263,528,264,530,265,532,266,534,267,536,268,538,269,540,270,542, - 271,544,272,546,273,548,274,550,275,552,276,554,277,556,278,558, - 279,560,280,562,281,564,282,566,283,568,284,570,285,572,286,574, - 287,576,288,578,289,580,290,582,291,584,292,586,293,588,294,590, - 295,592,296,594,297,596,298,598,299,600,300,602,301,604,302,606, - 303,608,304,610,305,612,306,614,307,616,308,618,309,620,310,622, - 311,624,312,626,313,628,314,630,315,632,316,634,317,636,318,638, - 319,640,320,642,321,644,322,646,323,648,324,650,325,652,326,654, - 0,656,0,658,0,660,0,662,327,664,328,666,329,668,330,670,331,2,0, - 1,13,1,0,39,39,2,0,39,39,92,92,1,0,92,92,1,0,48,49,2,0,64,64,95, - 95,1,0,34,34,1,0,96,96,2,0,43,43,45,45,1,0,48,57,2,0,65,90,97,122, - 2,0,10,10,13,13,3,0,9,10,13,13,32,32,1,0,36,36,3109,0,2,1,0,0,0, - 0,4,1,0,0,0,0,6,1,0,0,0,0,8,1,0,0,0,0,10,1,0,0,0,0,12,1,0,0,0,0, - 14,1,0,0,0,0,16,1,0,0,0,0,18,1,0,0,0,0,20,1,0,0,0,0,22,1,0,0,0,0, - 24,1,0,0,0,0,26,1,0,0,0,0,28,1,0,0,0,0,30,1,0,0,0,0,32,1,0,0,0,0, - 34,1,0,0,0,0,36,1,0,0,0,0,38,1,0,0,0,0,40,1,0,0,0,0,42,1,0,0,0,0, - 44,1,0,0,0,0,46,1,0,0,0,0,48,1,0,0,0,0,50,1,0,0,0,0,52,1,0,0,0,0, - 54,1,0,0,0,0,56,1,0,0,0,0,58,1,0,0,0,0,60,1,0,0,0,0,62,1,0,0,0,0, - 64,1,0,0,0,0,66,1,0,0,0,0,68,1,0,0,0,0,70,1,0,0,0,0,72,1,0,0,0,0, - 74,1,0,0,0,0,76,1,0,0,0,0,78,1,0,0,0,0,80,1,0,0,0,0,82,1,0,0,0,0, - 84,1,0,0,0,0,86,1,0,0,0,0,88,1,0,0,0,0,90,1,0,0,0,0,92,1,0,0,0,0, - 94,1,0,0,0,0,96,1,0,0,0,0,98,1,0,0,0,0,100,1,0,0,0,0,102,1,0,0,0, - 0,104,1,0,0,0,0,106,1,0,0,0,0,108,1,0,0,0,0,110,1,0,0,0,0,112,1, - 0,0,0,0,114,1,0,0,0,0,116,1,0,0,0,0,118,1,0,0,0,0,120,1,0,0,0,0, - 122,1,0,0,0,0,124,1,0,0,0,0,126,1,0,0,0,0,128,1,0,0,0,0,130,1,0, - 0,0,0,132,1,0,0,0,0,134,1,0,0,0,0,136,1,0,0,0,0,138,1,0,0,0,0,140, - 1,0,0,0,0,142,1,0,0,0,0,144,1,0,0,0,0,146,1,0,0,0,0,148,1,0,0,0, - 0,150,1,0,0,0,0,152,1,0,0,0,0,154,1,0,0,0,0,156,1,0,0,0,0,158,1, - 0,0,0,0,160,1,0,0,0,0,162,1,0,0,0,0,164,1,0,0,0,0,166,1,0,0,0,0, - 168,1,0,0,0,0,170,1,0,0,0,0,172,1,0,0,0,0,174,1,0,0,0,0,176,1,0, - 0,0,0,178,1,0,0,0,0,180,1,0,0,0,0,182,1,0,0,0,0,184,1,0,0,0,0,186, - 1,0,0,0,0,188,1,0,0,0,0,190,1,0,0,0,0,192,1,0,0,0,0,194,1,0,0,0, - 0,196,1,0,0,0,0,198,1,0,0,0,0,200,1,0,0,0,0,202,1,0,0,0,0,204,1, - 0,0,0,0,206,1,0,0,0,0,208,1,0,0,0,0,210,1,0,0,0,0,212,1,0,0,0,0, - 214,1,0,0,0,0,216,1,0,0,0,0,218,1,0,0,0,0,220,1,0,0,0,0,222,1,0, - 0,0,0,224,1,0,0,0,0,226,1,0,0,0,0,228,1,0,0,0,0,230,1,0,0,0,0,232, - 1,0,0,0,0,234,1,0,0,0,0,236,1,0,0,0,0,238,1,0,0,0,0,240,1,0,0,0, - 0,242,1,0,0,0,0,244,1,0,0,0,0,246,1,0,0,0,0,248,1,0,0,0,0,250,1, - 0,0,0,0,252,1,0,0,0,0,254,1,0,0,0,0,256,1,0,0,0,0,258,1,0,0,0,0, - 260,1,0,0,0,0,262,1,0,0,0,0,264,1,0,0,0,0,266,1,0,0,0,0,268,1,0, - 0,0,0,270,1,0,0,0,0,272,1,0,0,0,0,274,1,0,0,0,0,276,1,0,0,0,0,278, - 1,0,0,0,0,280,1,0,0,0,0,282,1,0,0,0,0,284,1,0,0,0,0,286,1,0,0,0, - 0,288,1,0,0,0,0,290,1,0,0,0,0,292,1,0,0,0,0,294,1,0,0,0,0,296,1, - 0,0,0,0,298,1,0,0,0,0,300,1,0,0,0,0,302,1,0,0,0,0,304,1,0,0,0,0, - 306,1,0,0,0,0,308,1,0,0,0,0,310,1,0,0,0,0,312,1,0,0,0,0,314,1,0, - 0,0,0,316,1,0,0,0,0,318,1,0,0,0,0,320,1,0,0,0,0,322,1,0,0,0,0,324, - 1,0,0,0,0,326,1,0,0,0,0,328,1,0,0,0,0,330,1,0,0,0,0,332,1,0,0,0, - 0,334,1,0,0,0,0,336,1,0,0,0,0,338,1,0,0,0,0,340,1,0,0,0,0,342,1, - 0,0,0,0,344,1,0,0,0,0,346,1,0,0,0,0,348,1,0,0,0,0,350,1,0,0,0,0, - 352,1,0,0,0,0,354,1,0,0,0,0,356,1,0,0,0,0,358,1,0,0,0,0,360,1,0, - 0,0,0,362,1,0,0,0,0,364,1,0,0,0,0,366,1,0,0,0,0,368,1,0,0,0,0,370, - 1,0,0,0,0,372,1,0,0,0,0,374,1,0,0,0,0,376,1,0,0,0,0,378,1,0,0,0, - 0,380,1,0,0,0,0,382,1,0,0,0,0,384,1,0,0,0,0,386,1,0,0,0,0,388,1, - 0,0,0,0,390,1,0,0,0,0,392,1,0,0,0,0,394,1,0,0,0,0,396,1,0,0,0,0, - 398,1,0,0,0,0,400,1,0,0,0,0,402,1,0,0,0,0,404,1,0,0,0,0,406,1,0, - 0,0,0,408,1,0,0,0,0,410,1,0,0,0,0,412,1,0,0,0,0,414,1,0,0,0,0,416, - 1,0,0,0,0,418,1,0,0,0,0,420,1,0,0,0,0,422,1,0,0,0,0,424,1,0,0,0, - 0,426,1,0,0,0,0,428,1,0,0,0,0,430,1,0,0,0,0,432,1,0,0,0,0,434,1, - 0,0,0,0,436,1,0,0,0,0,438,1,0,0,0,0,440,1,0,0,0,0,442,1,0,0,0,0, - 444,1,0,0,0,0,446,1,0,0,0,0,448,1,0,0,0,0,450,1,0,0,0,0,452,1,0, - 0,0,0,454,1,0,0,0,0,456,1,0,0,0,0,458,1,0,0,0,0,460,1,0,0,0,0,462, - 1,0,0,0,0,464,1,0,0,0,0,466,1,0,0,0,0,468,1,0,0,0,0,470,1,0,0,0, - 0,472,1,0,0,0,0,474,1,0,0,0,0,476,1,0,0,0,0,478,1,0,0,0,0,480,1, - 0,0,0,0,482,1,0,0,0,0,484,1,0,0,0,0,486,1,0,0,0,0,488,1,0,0,0,0, - 490,1,0,0,0,0,492,1,0,0,0,0,494,1,0,0,0,0,496,1,0,0,0,0,498,1,0, - 0,0,0,500,1,0,0,0,0,502,1,0,0,0,0,504,1,0,0,0,0,506,1,0,0,0,0,508, - 1,0,0,0,0,510,1,0,0,0,0,512,1,0,0,0,0,514,1,0,0,0,0,516,1,0,0,0, - 0,518,1,0,0,0,0,520,1,0,0,0,0,522,1,0,0,0,0,524,1,0,0,0,0,526,1, - 0,0,0,0,528,1,0,0,0,0,530,1,0,0,0,0,532,1,0,0,0,0,534,1,0,0,0,0, - 536,1,0,0,0,0,538,1,0,0,0,0,540,1,0,0,0,0,542,1,0,0,0,0,544,1,0, - 0,0,0,546,1,0,0,0,0,548,1,0,0,0,0,550,1,0,0,0,0,552,1,0,0,0,0,554, - 1,0,0,0,0,556,1,0,0,0,0,558,1,0,0,0,0,560,1,0,0,0,0,562,1,0,0,0, - 0,564,1,0,0,0,0,566,1,0,0,0,0,568,1,0,0,0,0,570,1,0,0,0,0,572,1, - 0,0,0,0,574,1,0,0,0,0,576,1,0,0,0,0,578,1,0,0,0,0,580,1,0,0,0,0, - 582,1,0,0,0,0,584,1,0,0,0,0,586,1,0,0,0,0,588,1,0,0,0,0,590,1,0, - 0,0,0,592,1,0,0,0,0,594,1,0,0,0,0,596,1,0,0,0,0,598,1,0,0,0,0,600, - 1,0,0,0,0,602,1,0,0,0,0,604,1,0,0,0,0,606,1,0,0,0,0,608,1,0,0,0, - 0,610,1,0,0,0,0,612,1,0,0,0,0,614,1,0,0,0,0,616,1,0,0,0,0,618,1, - 0,0,0,0,620,1,0,0,0,0,622,1,0,0,0,0,624,1,0,0,0,0,626,1,0,0,0,0, - 628,1,0,0,0,0,630,1,0,0,0,0,632,1,0,0,0,0,634,1,0,0,0,0,636,1,0, - 0,0,0,638,1,0,0,0,0,640,1,0,0,0,0,642,1,0,0,0,0,644,1,0,0,0,0,646, - 1,0,0,0,0,648,1,0,0,0,0,650,1,0,0,0,0,652,1,0,0,0,0,662,1,0,0,0, - 0,664,1,0,0,0,0,666,1,0,0,0,1,668,1,0,0,0,1,670,1,0,0,0,2,672,1, - 0,0,0,4,686,1,0,0,0,6,693,1,0,0,0,8,698,1,0,0,0,10,701,1,0,0,0,12, - 704,1,0,0,0,14,707,1,0,0,0,16,711,1,0,0,0,18,715,1,0,0,0,20,720, - 1,0,0,0,22,731,1,0,0,0,24,741,1,0,0,0,26,750,1,0,0,0,28,756,1,0, - 0,0,30,762,1,0,0,0,32,765,1,0,0,0,34,771,1,0,0,0,36,778,1,0,0,0, - 38,784,1,0,0,0,40,791,1,0,0,0,42,794,1,0,0,0,44,798,1,0,0,0,46,801, - 1,0,0,0,48,805,1,0,0,0,50,812,1,0,0,0,52,820,1,0,0,0,54,825,1,0, - 0,0,56,831,1,0,0,0,58,834,1,0,0,0,60,839,1,0,0,0,62,844,1,0,0,0, - 64,850,1,0,0,0,66,857,1,0,0,0,68,865,1,0,0,0,70,871,1,0,0,0,72,877, - 1,0,0,0,74,883,1,0,0,0,76,888,1,0,0,0,78,893,1,0,0,0,80,900,1,0, - 0,0,82,904,1,0,0,0,84,909,1,0,0,0,86,919,1,0,0,0,88,924,1,0,0,0, - 90,932,1,0,0,0,92,941,1,0,0,0,94,946,1,0,0,0,96,950,1,0,0,0,98,955, - 1,0,0,0,100,960,1,0,0,0,102,965,1,0,0,0,104,971,1,0,0,0,106,975, - 1,0,0,0,108,980,1,0,0,0,110,987,1,0,0,0,112,994,1,0,0,0,114,1007, - 1,0,0,0,116,1020,1,0,0,0,118,1038,1,0,0,0,120,1053,1,0,0,0,122,1066, - 1,0,0,0,124,1079,1,0,0,0,126,1092,1,0,0,0,128,1100,1,0,0,0,130,1105, - 1,0,0,0,132,1110,1,0,0,0,134,1115,1,0,0,0,136,1120,1,0,0,0,138,1124, - 1,0,0,0,140,1127,1,0,0,0,142,1136,1,0,0,0,144,1141,1,0,0,0,146,1147, - 1,0,0,0,148,1153,1,0,0,0,150,1159,1,0,0,0,152,1164,1,0,0,0,154,1170, - 1,0,0,0,156,1175,1,0,0,0,158,1183,1,0,0,0,160,1189,1,0,0,0,162,1192, - 1,0,0,0,164,1197,1,0,0,0,166,1204,1,0,0,0,168,1214,1,0,0,0,170,1222, - 1,0,0,0,172,1228,1,0,0,0,174,1233,1,0,0,0,176,1243,1,0,0,0,178,1253, - 1,0,0,0,180,1263,1,0,0,0,182,1271,1,0,0,0,184,1275,1,0,0,0,186,1280, - 1,0,0,0,188,1288,1,0,0,0,190,1298,1,0,0,0,192,1305,1,0,0,0,194,1310, - 1,0,0,0,196,1316,1,0,0,0,198,1321,1,0,0,0,200,1324,1,0,0,0,202,1333, - 1,0,0,0,204,1343,1,0,0,0,206,1356,1,0,0,0,208,1364,1,0,0,0,210,1375, - 1,0,0,0,212,1384,1,0,0,0,214,1390,1,0,0,0,216,1395,1,0,0,0,218,1400, - 1,0,0,0,220,1404,1,0,0,0,222,1411,1,0,0,0,224,1416,1,0,0,0,226,1422, - 1,0,0,0,228,1429,1,0,0,0,230,1437,1,0,0,0,232,1442,1,0,0,0,234,1448, - 1,0,0,0,236,1457,1,0,0,0,238,1465,1,0,0,0,240,1472,1,0,0,0,242,1478, - 1,0,0,0,244,1485,1,0,0,0,246,1493,1,0,0,0,248,1498,1,0,0,0,250,1504, - 1,0,0,0,252,1512,1,0,0,0,254,1516,1,0,0,0,256,1521,1,0,0,0,258,1527, - 1,0,0,0,260,1534,1,0,0,0,262,1544,1,0,0,0,264,1554,1,0,0,0,266,1557, - 1,0,0,0,268,1567,1,0,0,0,270,1574,1,0,0,0,272,1582,1,0,0,0,274,1589, - 1,0,0,0,276,1596,1,0,0,0,278,1606,1,0,0,0,280,1616,1,0,0,0,282,1623, - 1,0,0,0,284,1631,1,0,0,0,286,1637,1,0,0,0,288,1643,1,0,0,0,290,1649, - 1,0,0,0,292,1656,1,0,0,0,294,1661,1,0,0,0,296,1673,1,0,0,0,298,1695, - 1,0,0,0,300,1711,1,0,0,0,302,1721,1,0,0,0,304,1727,1,0,0,0,306,1740, - 1,0,0,0,308,1751,1,0,0,0,310,1761,1,0,0,0,312,1773,1,0,0,0,314,1778, - 1,0,0,0,316,1784,1,0,0,0,318,1795,1,0,0,0,320,1803,1,0,0,0,322,1810, - 1,0,0,0,324,1818,1,0,0,0,326,1827,1,0,0,0,328,1836,1,0,0,0,330,1842, - 1,0,0,0,332,1850,1,0,0,0,334,1856,1,0,0,0,336,1864,1,0,0,0,338,1872, - 1,0,0,0,340,1878,1,0,0,0,342,1888,1,0,0,0,344,1898,1,0,0,0,346,1903, - 1,0,0,0,348,1914,1,0,0,0,350,1920,1,0,0,0,352,1929,1,0,0,0,354,1937, - 1,0,0,0,356,1944,1,0,0,0,358,1949,1,0,0,0,360,1954,1,0,0,0,362,1963, - 1,0,0,0,364,1971,1,0,0,0,366,1983,1,0,0,0,368,1988,1,0,0,0,370,1997, - 1,0,0,0,372,2002,1,0,0,0,374,2009,1,0,0,0,376,2017,1,0,0,0,378,2026, - 1,0,0,0,380,2034,1,0,0,0,382,2045,1,0,0,0,384,2055,1,0,0,0,386,2068, - 1,0,0,0,388,2073,1,0,0,0,390,2082,1,0,0,0,392,2090,1,0,0,0,394,2098, - 1,0,0,0,396,2103,1,0,0,0,398,2109,1,0,0,0,400,2115,1,0,0,0,402,2122, - 1,0,0,0,404,2132,1,0,0,0,406,2139,1,0,0,0,408,2149,1,0,0,0,410,2161, - 1,0,0,0,412,2170,1,0,0,0,414,2177,1,0,0,0,416,2182,1,0,0,0,418,2189, - 1,0,0,0,420,2196,1,0,0,0,422,2203,1,0,0,0,424,2207,1,0,0,0,426,2217, - 1,0,0,0,428,2226,1,0,0,0,430,2229,1,0,0,0,432,2237,1,0,0,0,434,2241, - 1,0,0,0,436,2247,1,0,0,0,438,2255,1,0,0,0,440,2260,1,0,0,0,442,2270, - 1,0,0,0,444,2277,1,0,0,0,446,2289,1,0,0,0,448,2293,1,0,0,0,450,2302, - 1,0,0,0,452,2309,1,0,0,0,454,2315,1,0,0,0,456,2321,1,0,0,0,458,2329, - 1,0,0,0,460,2339,1,0,0,0,462,2347,1,0,0,0,464,2354,1,0,0,0,466,2362, - 1,0,0,0,468,2368,1,0,0,0,470,2377,1,0,0,0,472,2385,1,0,0,0,474,2395, - 1,0,0,0,476,2409,1,0,0,0,478,2422,1,0,0,0,480,2434,1,0,0,0,482,2442, - 1,0,0,0,484,2452,1,0,0,0,486,2463,1,0,0,0,488,2469,1,0,0,0,490,2479, - 1,0,0,0,492,2486,1,0,0,0,494,2491,1,0,0,0,496,2496,1,0,0,0,498,2502, - 1,0,0,0,500,2507,1,0,0,0,502,2514,1,0,0,0,504,2525,1,0,0,0,506,2532, - 1,0,0,0,508,2539,1,0,0,0,510,2547,1,0,0,0,512,2556,1,0,0,0,514,2568, - 1,0,0,0,516,2581,1,0,0,0,518,2592,1,0,0,0,520,2599,1,0,0,0,522,2607, - 1,0,0,0,524,2615,1,0,0,0,526,2622,1,0,0,0,528,2633,1,0,0,0,530,2645, - 1,0,0,0,532,2652,1,0,0,0,534,2655,1,0,0,0,536,2662,1,0,0,0,538,2667, - 1,0,0,0,540,2676,1,0,0,0,542,2684,1,0,0,0,544,2693,1,0,0,0,546,2702, - 1,0,0,0,548,2708,1,0,0,0,550,2715,1,0,0,0,552,2723,1,0,0,0,554,2728, - 1,0,0,0,556,2736,1,0,0,0,558,2744,1,0,0,0,560,2752,1,0,0,0,562,2760, - 1,0,0,0,564,2769,1,0,0,0,566,2775,1,0,0,0,568,2777,1,0,0,0,570,2779, - 1,0,0,0,572,2782,1,0,0,0,574,2784,1,0,0,0,576,2787,1,0,0,0,578,2790, - 1,0,0,0,580,2792,1,0,0,0,582,2795,1,0,0,0,584,2798,1,0,0,0,586,2802, - 1,0,0,0,588,2804,1,0,0,0,590,2806,1,0,0,0,592,2808,1,0,0,0,594,2810, - 1,0,0,0,596,2812,1,0,0,0,598,2814,1,0,0,0,600,2817,1,0,0,0,602,2820, - 1,0,0,0,604,2822,1,0,0,0,606,2824,1,0,0,0,608,2826,1,0,0,0,610,2828, - 1,0,0,0,612,2830,1,0,0,0,614,2832,1,0,0,0,616,2834,1,0,0,0,618,2836, - 1,0,0,0,620,2838,1,0,0,0,622,2840,1,0,0,0,624,2843,1,0,0,0,626,2845, - 1,0,0,0,628,2847,1,0,0,0,630,2849,1,0,0,0,632,2851,1,0,0,0,634,2853, - 1,0,0,0,636,2864,1,0,0,0,638,2882,1,0,0,0,640,2906,1,0,0,0,642,2939, - 1,0,0,0,644,2943,1,0,0,0,646,2953,1,0,0,0,648,2961,1,0,0,0,650,2972, - 1,0,0,0,652,2983,1,0,0,0,654,2992,1,0,0,0,656,2994,1,0,0,0,658,3003, - 1,0,0,0,660,3005,1,0,0,0,662,3033,1,0,0,0,664,3038,1,0,0,0,666,3044, - 1,0,0,0,668,3058,1,0,0,0,670,3060,1,0,0,0,672,673,5,65,0,0,673,674, - 5,85,0,0,674,675,5,84,0,0,675,676,5,72,0,0,676,677,5,79,0,0,677, - 678,5,82,0,0,678,679,5,73,0,0,679,680,5,90,0,0,680,681,5,65,0,0, - 681,682,5,84,0,0,682,683,5,73,0,0,683,684,5,79,0,0,684,685,5,78, - 0,0,685,3,1,0,0,0,686,687,5,83,0,0,687,688,5,69,0,0,688,689,5,76, - 0,0,689,690,5,69,0,0,690,691,5,67,0,0,691,692,5,84,0,0,692,5,1,0, - 0,0,693,694,5,70,0,0,694,695,5,82,0,0,695,696,5,79,0,0,696,697,5, - 77,0,0,697,7,1,0,0,0,698,699,5,84,0,0,699,700,5,79,0,0,700,9,1,0, - 0,0,701,702,5,65,0,0,702,703,5,83,0,0,703,11,1,0,0,0,704,705,5,65, - 0,0,705,706,5,84,0,0,706,13,1,0,0,0,707,708,5,65,0,0,708,709,5,76, - 0,0,709,710,5,76,0,0,710,15,1,0,0,0,711,712,5,65,0,0,712,713,5,78, - 0,0,713,714,5,89,0,0,714,17,1,0,0,0,715,716,5,83,0,0,716,717,5,79, - 0,0,717,718,5,77,0,0,718,719,5,69,0,0,719,19,1,0,0,0,720,721,5,68, - 0,0,721,722,5,69,0,0,722,723,5,65,0,0,723,724,5,76,0,0,724,725,5, - 76,0,0,725,726,5,79,0,0,726,727,5,67,0,0,727,728,5,65,0,0,728,729, - 5,84,0,0,729,730,5,69,0,0,730,21,1,0,0,0,731,732,5,68,0,0,732,733, - 5,73,0,0,733,734,5,82,0,0,734,735,5,69,0,0,735,736,5,67,0,0,736, - 737,5,84,0,0,737,738,5,79,0,0,738,739,5,82,0,0,739,740,5,89,0,0, - 740,23,1,0,0,0,741,742,5,68,0,0,742,743,5,73,0,0,743,744,5,83,0, - 0,744,745,5,84,0,0,745,746,5,73,0,0,746,747,5,78,0,0,747,748,5,67, - 0,0,748,749,5,84,0,0,749,25,1,0,0,0,750,751,5,87,0,0,751,752,5,72, - 0,0,752,753,5,69,0,0,753,754,5,82,0,0,754,755,5,69,0,0,755,27,1, - 0,0,0,756,757,5,71,0,0,757,758,5,82,0,0,758,759,5,79,0,0,759,760, - 5,85,0,0,760,761,5,80,0,0,761,29,1,0,0,0,762,763,5,66,0,0,763,764, - 5,89,0,0,764,31,1,0,0,0,765,766,5,79,0,0,766,767,5,82,0,0,767,768, - 5,68,0,0,768,769,5,69,0,0,769,770,5,82,0,0,770,33,1,0,0,0,771,772, - 5,72,0,0,772,773,5,65,0,0,773,774,5,86,0,0,774,775,5,73,0,0,775, - 776,5,78,0,0,776,777,5,71,0,0,777,35,1,0,0,0,778,779,5,76,0,0,779, - 780,5,73,0,0,780,781,5,77,0,0,781,782,5,73,0,0,782,783,5,84,0,0, - 783,37,1,0,0,0,784,785,5,79,0,0,785,786,5,70,0,0,786,787,5,70,0, - 0,787,788,5,83,0,0,788,789,5,69,0,0,789,790,5,84,0,0,790,39,1,0, - 0,0,791,792,5,79,0,0,792,793,5,82,0,0,793,41,1,0,0,0,794,795,5,65, - 0,0,795,796,5,78,0,0,796,797,5,68,0,0,797,43,1,0,0,0,798,799,5,73, - 0,0,799,800,5,78,0,0,800,45,1,0,0,0,801,802,5,78,0,0,802,803,5,79, - 0,0,803,804,5,84,0,0,804,47,1,0,0,0,805,806,5,69,0,0,806,807,5,88, - 0,0,807,808,5,73,0,0,808,809,5,83,0,0,809,810,5,84,0,0,810,811,5, - 83,0,0,811,49,1,0,0,0,812,813,5,66,0,0,813,814,5,69,0,0,814,815, - 5,84,0,0,815,816,5,87,0,0,816,817,5,69,0,0,817,818,5,69,0,0,818, - 819,5,78,0,0,819,51,1,0,0,0,820,821,5,76,0,0,821,822,5,73,0,0,822, - 823,5,75,0,0,823,824,5,69,0,0,824,53,1,0,0,0,825,826,5,73,0,0,826, - 827,5,76,0,0,827,828,5,73,0,0,828,829,5,75,0,0,829,830,5,69,0,0, - 830,55,1,0,0,0,831,832,5,73,0,0,832,833,5,83,0,0,833,57,1,0,0,0, - 834,835,5,78,0,0,835,836,5,85,0,0,836,837,5,76,0,0,837,838,5,76, - 0,0,838,59,1,0,0,0,839,840,5,84,0,0,840,841,5,82,0,0,841,842,5,85, - 0,0,842,843,5,69,0,0,843,61,1,0,0,0,844,845,5,70,0,0,845,846,5,65, - 0,0,846,847,5,76,0,0,847,848,5,83,0,0,848,849,5,69,0,0,849,63,1, - 0,0,0,850,851,5,73,0,0,851,852,5,71,0,0,852,853,5,78,0,0,853,854, - 5,79,0,0,854,855,5,82,0,0,855,856,5,69,0,0,856,65,1,0,0,0,857,858, - 5,82,0,0,858,859,5,69,0,0,859,860,5,83,0,0,860,861,5,80,0,0,861, - 862,5,69,0,0,862,863,5,67,0,0,863,864,5,84,0,0,864,67,1,0,0,0,865, - 866,5,78,0,0,866,867,5,85,0,0,867,868,5,76,0,0,868,869,5,76,0,0, - 869,870,5,83,0,0,870,69,1,0,0,0,871,872,5,70,0,0,872,873,5,69,0, - 0,873,874,5,84,0,0,874,875,5,67,0,0,875,876,5,72,0,0,876,71,1,0, - 0,0,877,878,5,70,0,0,878,879,5,73,0,0,879,880,5,82,0,0,880,881,5, - 83,0,0,881,882,5,84,0,0,882,73,1,0,0,0,883,884,5,76,0,0,884,885, - 5,65,0,0,885,886,5,83,0,0,886,887,5,84,0,0,887,75,1,0,0,0,888,889, - 5,78,0,0,889,890,5,69,0,0,890,891,5,88,0,0,891,892,5,84,0,0,892, - 77,1,0,0,0,893,894,5,69,0,0,894,895,5,83,0,0,895,896,5,67,0,0,896, - 897,5,65,0,0,897,898,5,80,0,0,898,899,5,69,0,0,899,79,1,0,0,0,900, - 901,5,65,0,0,901,902,5,83,0,0,902,903,5,67,0,0,903,81,1,0,0,0,904, - 905,5,68,0,0,905,906,5,69,0,0,906,907,5,83,0,0,907,908,5,67,0,0, - 908,83,1,0,0,0,909,910,5,83,0,0,910,911,5,85,0,0,911,912,5,66,0, - 0,912,913,5,83,0,0,913,914,5,84,0,0,914,915,5,82,0,0,915,916,5,73, - 0,0,916,917,5,78,0,0,917,918,5,71,0,0,918,85,1,0,0,0,919,920,5,84, - 0,0,920,921,5,82,0,0,921,922,5,73,0,0,922,923,5,77,0,0,923,87,1, - 0,0,0,924,925,5,76,0,0,925,926,5,69,0,0,926,927,5,65,0,0,927,928, - 5,68,0,0,928,929,5,73,0,0,929,930,5,78,0,0,930,931,5,71,0,0,931, - 89,1,0,0,0,932,933,5,84,0,0,933,934,5,82,0,0,934,935,5,65,0,0,935, - 936,5,73,0,0,936,937,5,76,0,0,937,938,5,73,0,0,938,939,5,78,0,0, - 939,940,5,71,0,0,940,91,1,0,0,0,941,942,5,66,0,0,942,943,5,79,0, - 0,943,944,5,84,0,0,944,945,5,72,0,0,945,93,1,0,0,0,946,947,5,70, - 0,0,947,948,5,79,0,0,948,949,5,82,0,0,949,95,1,0,0,0,950,951,5,84, - 0,0,951,952,5,73,0,0,952,953,5,77,0,0,953,954,5,69,0,0,954,97,1, - 0,0,0,955,956,5,90,0,0,956,957,5,79,0,0,957,958,5,78,0,0,958,959, - 5,69,0,0,959,99,1,0,0,0,960,961,5,89,0,0,961,962,5,69,0,0,962,963, - 5,65,0,0,963,964,5,82,0,0,964,101,1,0,0,0,965,966,5,77,0,0,966,967, - 5,79,0,0,967,968,5,78,0,0,968,969,5,84,0,0,969,970,5,72,0,0,970, - 103,1,0,0,0,971,972,5,68,0,0,972,973,5,65,0,0,973,974,5,89,0,0,974, - 105,1,0,0,0,975,976,5,72,0,0,976,977,5,79,0,0,977,978,5,85,0,0,978, - 979,5,82,0,0,979,107,1,0,0,0,980,981,5,77,0,0,981,982,5,73,0,0,982, - 983,5,78,0,0,983,984,5,85,0,0,984,985,5,84,0,0,985,986,5,69,0,0, - 986,109,1,0,0,0,987,988,5,83,0,0,988,989,5,69,0,0,989,990,5,67,0, - 0,990,991,5,79,0,0,991,992,5,78,0,0,992,993,5,68,0,0,993,111,1,0, - 0,0,994,995,5,67,0,0,995,996,5,85,0,0,996,997,5,82,0,0,997,998,5, - 82,0,0,998,999,5,69,0,0,999,1000,5,78,0,0,1000,1001,5,84,0,0,1001, - 1002,5,95,0,0,1002,1003,5,68,0,0,1003,1004,5,65,0,0,1004,1005,5, - 84,0,0,1005,1006,5,69,0,0,1006,113,1,0,0,0,1007,1008,5,67,0,0,1008, - 1009,5,85,0,0,1009,1010,5,82,0,0,1010,1011,5,82,0,0,1011,1012,5, - 69,0,0,1012,1013,5,78,0,0,1013,1014,5,84,0,0,1014,1015,5,95,0,0, - 1015,1016,5,84,0,0,1016,1017,5,73,0,0,1017,1018,5,77,0,0,1018,1019, - 5,69,0,0,1019,115,1,0,0,0,1020,1021,5,67,0,0,1021,1022,5,85,0,0, - 1022,1023,5,82,0,0,1023,1024,5,82,0,0,1024,1025,5,69,0,0,1025,1026, - 5,78,0,0,1026,1027,5,84,0,0,1027,1028,5,95,0,0,1028,1029,5,84,0, - 0,1029,1030,5,73,0,0,1030,1031,5,77,0,0,1031,1032,5,69,0,0,1032, - 1033,5,83,0,0,1033,1034,5,84,0,0,1034,1035,5,65,0,0,1035,1036,5, - 77,0,0,1036,1037,5,80,0,0,1037,117,1,0,0,0,1038,1039,5,67,0,0,1039, - 1040,5,85,0,0,1040,1041,5,82,0,0,1041,1042,5,82,0,0,1042,1043,5, - 69,0,0,1043,1044,5,78,0,0,1044,1045,5,84,0,0,1045,1046,5,95,0,0, - 1046,1047,5,83,0,0,1047,1048,5,67,0,0,1048,1049,5,72,0,0,1049,1050, - 5,69,0,0,1050,1051,5,77,0,0,1051,1052,5,65,0,0,1052,119,1,0,0,0, - 1053,1054,5,67,0,0,1054,1055,5,85,0,0,1055,1056,5,82,0,0,1056,1057, - 5,82,0,0,1057,1058,5,69,0,0,1058,1059,5,78,0,0,1059,1060,5,84,0, - 0,1060,1061,5,95,0,0,1061,1062,5,85,0,0,1062,1063,5,83,0,0,1063, - 1064,5,69,0,0,1064,1065,5,82,0,0,1065,121,1,0,0,0,1066,1067,5,67, - 0,0,1067,1068,5,85,0,0,1068,1069,5,82,0,0,1069,1070,5,82,0,0,1070, - 1071,5,69,0,0,1071,1072,5,78,0,0,1072,1073,5,84,0,0,1073,1074,5, - 95,0,0,1074,1075,5,82,0,0,1075,1076,5,79,0,0,1076,1077,5,76,0,0, - 1077,1078,5,69,0,0,1078,123,1,0,0,0,1079,1080,5,83,0,0,1080,1081, - 5,69,0,0,1081,1082,5,83,0,0,1082,1083,5,83,0,0,1083,1084,5,73,0, - 0,1084,1085,5,79,0,0,1085,1086,5,78,0,0,1086,1087,5,95,0,0,1087, - 1088,5,85,0,0,1088,1089,5,83,0,0,1089,1090,5,69,0,0,1090,1091,5, - 82,0,0,1091,125,1,0,0,0,1092,1093,5,69,0,0,1093,1094,5,88,0,0,1094, - 1095,5,84,0,0,1095,1096,5,82,0,0,1096,1097,5,65,0,0,1097,1098,5, - 67,0,0,1098,1099,5,84,0,0,1099,127,1,0,0,0,1100,1101,5,67,0,0,1101, - 1102,5,65,0,0,1102,1103,5,83,0,0,1103,1104,5,69,0,0,1104,129,1,0, - 0,0,1105,1106,5,87,0,0,1106,1107,5,72,0,0,1107,1108,5,69,0,0,1108, - 1109,5,78,0,0,1109,131,1,0,0,0,1110,1111,5,84,0,0,1111,1112,5,72, - 0,0,1112,1113,5,69,0,0,1113,1114,5,78,0,0,1114,133,1,0,0,0,1115, - 1116,5,69,0,0,1116,1117,5,76,0,0,1117,1118,5,83,0,0,1118,1119,5, - 69,0,0,1119,135,1,0,0,0,1120,1121,5,69,0,0,1121,1122,5,78,0,0,1122, - 1123,5,68,0,0,1123,137,1,0,0,0,1124,1125,5,73,0,0,1125,1126,5,70, - 0,0,1126,139,1,0,0,0,1127,1128,5,73,0,0,1128,1129,5,78,0,0,1129, - 1130,5,84,0,0,1130,1131,5,69,0,0,1131,1132,5,82,0,0,1132,1133,5, - 86,0,0,1133,1134,5,65,0,0,1134,1135,5,76,0,0,1135,141,1,0,0,0,1136, - 1137,5,74,0,0,1137,1138,5,79,0,0,1138,1139,5,73,0,0,1139,1140,5, - 78,0,0,1140,143,1,0,0,0,1141,1142,5,67,0,0,1142,1143,5,82,0,0,1143, - 1144,5,79,0,0,1144,1145,5,83,0,0,1145,1146,5,83,0,0,1146,145,1,0, - 0,0,1147,1148,5,79,0,0,1148,1149,5,85,0,0,1149,1150,5,84,0,0,1150, - 1151,5,69,0,0,1151,1152,5,82,0,0,1152,147,1,0,0,0,1153,1154,5,73, - 0,0,1154,1155,5,78,0,0,1155,1156,5,78,0,0,1156,1157,5,69,0,0,1157, - 1158,5,82,0,0,1158,149,1,0,0,0,1159,1160,5,76,0,0,1160,1161,5,69, - 0,0,1161,1162,5,70,0,0,1162,1163,5,84,0,0,1163,151,1,0,0,0,1164, - 1165,5,82,0,0,1165,1166,5,73,0,0,1166,1167,5,71,0,0,1167,1168,5, - 72,0,0,1168,1169,5,84,0,0,1169,153,1,0,0,0,1170,1171,5,70,0,0,1171, - 1172,5,85,0,0,1172,1173,5,76,0,0,1173,1174,5,76,0,0,1174,155,1,0, - 0,0,1175,1176,5,78,0,0,1176,1177,5,65,0,0,1177,1178,5,84,0,0,1178, - 1179,5,85,0,0,1179,1180,5,82,0,0,1180,1181,5,65,0,0,1181,1182,5, - 76,0,0,1182,157,1,0,0,0,1183,1184,5,85,0,0,1184,1185,5,83,0,0,1185, - 1186,5,73,0,0,1186,1187,5,78,0,0,1187,1188,5,71,0,0,1188,159,1,0, - 0,0,1189,1190,5,79,0,0,1190,1191,5,78,0,0,1191,161,1,0,0,0,1192, - 1193,5,79,0,0,1193,1194,5,86,0,0,1194,1195,5,69,0,0,1195,1196,5, - 82,0,0,1196,163,1,0,0,0,1197,1198,5,87,0,0,1198,1199,5,73,0,0,1199, - 1200,5,78,0,0,1200,1201,5,68,0,0,1201,1202,5,79,0,0,1202,1203,5, - 87,0,0,1203,165,1,0,0,0,1204,1205,5,80,0,0,1205,1206,5,65,0,0,1206, - 1207,5,82,0,0,1207,1208,5,84,0,0,1208,1209,5,73,0,0,1209,1210,5, - 84,0,0,1210,1211,5,73,0,0,1211,1212,5,79,0,0,1212,1213,5,78,0,0, - 1213,167,1,0,0,0,1214,1215,5,80,0,0,1215,1216,5,82,0,0,1216,1217, - 5,79,0,0,1217,1218,5,77,0,0,1218,1219,5,79,0,0,1219,1220,5,84,0, - 0,1220,1221,5,69,0,0,1221,169,1,0,0,0,1222,1223,5,82,0,0,1223,1224, - 5,65,0,0,1224,1225,5,78,0,0,1225,1226,5,71,0,0,1226,1227,5,69,0, - 0,1227,171,1,0,0,0,1228,1229,5,82,0,0,1229,1230,5,79,0,0,1230,1231, - 5,87,0,0,1231,1232,5,83,0,0,1232,173,1,0,0,0,1233,1234,5,85,0,0, - 1234,1235,5,78,0,0,1235,1236,5,66,0,0,1236,1237,5,79,0,0,1237,1238, - 5,85,0,0,1238,1239,5,78,0,0,1239,1240,5,68,0,0,1240,1241,5,69,0, - 0,1241,1242,5,68,0,0,1242,175,1,0,0,0,1243,1244,5,80,0,0,1244,1245, - 5,82,0,0,1245,1246,5,69,0,0,1246,1247,5,67,0,0,1247,1248,5,69,0, - 0,1248,1249,5,68,0,0,1249,1250,5,73,0,0,1250,1251,5,78,0,0,1251, - 1252,5,71,0,0,1252,177,1,0,0,0,1253,1254,5,70,0,0,1254,1255,5,79, - 0,0,1255,1256,5,76,0,0,1256,1257,5,76,0,0,1257,1258,5,79,0,0,1258, - 1259,5,87,0,0,1259,1260,5,73,0,0,1260,1261,5,78,0,0,1261,1262,5, - 71,0,0,1262,179,1,0,0,0,1263,1264,5,67,0,0,1264,1265,5,85,0,0,1265, - 1266,5,82,0,0,1266,1267,5,82,0,0,1267,1268,5,69,0,0,1268,1269,5, - 78,0,0,1269,1270,5,84,0,0,1270,181,1,0,0,0,1271,1272,5,82,0,0,1272, - 1273,5,79,0,0,1273,1274,5,87,0,0,1274,183,1,0,0,0,1275,1276,5,87, - 0,0,1276,1277,5,73,0,0,1277,1278,5,84,0,0,1278,1279,5,72,0,0,1279, - 185,1,0,0,0,1280,1281,5,87,0,0,1281,1282,5,73,0,0,1282,1283,5,84, - 0,0,1283,1284,5,72,0,0,1284,1285,5,79,0,0,1285,1286,5,85,0,0,1286, - 1287,5,84,0,0,1287,187,1,0,0,0,1288,1289,5,82,0,0,1289,1290,5,69, - 0,0,1290,1291,5,67,0,0,1291,1292,5,85,0,0,1292,1293,5,82,0,0,1293, - 1294,5,83,0,0,1294,1295,5,73,0,0,1295,1296,5,86,0,0,1296,1297,5, - 69,0,0,1297,189,1,0,0,0,1298,1299,5,67,0,0,1299,1300,5,82,0,0,1300, - 1301,5,69,0,0,1301,1302,5,65,0,0,1302,1303,5,84,0,0,1303,1304,5, - 69,0,0,1304,191,1,0,0,0,1305,1306,5,66,0,0,1306,1307,5,76,0,0,1307, - 1308,5,79,0,0,1308,1309,5,66,0,0,1309,193,1,0,0,0,1310,1311,5,84, - 0,0,1311,1312,5,65,0,0,1312,1313,5,66,0,0,1313,1314,5,76,0,0,1314, - 1315,5,69,0,0,1315,195,1,0,0,0,1316,1317,5,83,0,0,1317,1318,5,87, - 0,0,1318,1319,5,65,0,0,1319,1320,5,80,0,0,1320,197,1,0,0,0,1321, - 1322,5,71,0,0,1322,1323,5,67,0,0,1323,199,1,0,0,0,1324,1325,5,68, - 0,0,1325,1326,5,65,0,0,1326,1327,5,78,0,0,1327,1328,5,71,0,0,1328, - 1329,5,76,0,0,1329,1330,5,73,0,0,1330,1331,5,78,0,0,1331,1332,5, - 71,0,0,1332,201,1,0,0,0,1333,1334,5,65,0,0,1334,1335,5,82,0,0,1335, - 1336,5,84,0,0,1336,1337,5,73,0,0,1337,1338,5,70,0,0,1338,1339,5, - 65,0,0,1339,1340,5,67,0,0,1340,1341,5,84,0,0,1341,1342,5,83,0,0, - 1342,203,1,0,0,0,1343,1344,5,68,0,0,1344,1345,5,69,0,0,1345,1346, - 5,67,0,0,1346,1347,5,79,0,0,1347,1348,5,77,0,0,1348,1349,5,77,0, - 0,1349,1350,5,73,0,0,1350,1351,5,83,0,0,1351,1352,5,83,0,0,1352, - 1353,5,73,0,0,1353,1354,5,79,0,0,1354,1355,5,78,0,0,1355,205,1,0, - 0,0,1356,1357,5,67,0,0,1357,1358,5,76,0,0,1358,1359,5,85,0,0,1359, - 1360,5,83,0,0,1360,1361,5,84,0,0,1361,1362,5,69,0,0,1362,1363,5, - 82,0,0,1363,207,1,0,0,0,1364,1365,5,82,0,0,1365,1366,5,69,0,0,1366, - 1367,5,80,0,0,1367,1368,5,79,0,0,1368,1369,5,83,0,0,1369,1370,5, - 73,0,0,1370,1371,5,84,0,0,1371,1372,5,79,0,0,1372,1373,5,82,0,0, - 1373,1374,5,89,0,0,1374,209,1,0,0,0,1375,1376,5,83,0,0,1376,1377, - 5,78,0,0,1377,1378,5,65,0,0,1378,1379,5,80,0,0,1379,1380,5,83,0, - 0,1380,1381,5,72,0,0,1381,1382,5,79,0,0,1382,1383,5,84,0,0,1383, - 211,1,0,0,0,1384,1385,5,65,0,0,1385,1386,5,76,0,0,1386,1387,5,84, - 0,0,1387,1388,5,69,0,0,1388,1389,5,82,0,0,1389,213,1,0,0,0,1390, - 1391,5,75,0,0,1391,1392,5,73,0,0,1392,1393,5,76,0,0,1393,1394,5, - 76,0,0,1394,215,1,0,0,0,1395,1396,5,79,0,0,1396,1397,5,78,0,0,1397, - 1398,5,76,0,0,1398,1399,5,89,0,0,1399,217,1,0,0,0,1400,1401,5,65, - 0,0,1401,1402,5,68,0,0,1402,1403,5,68,0,0,1403,219,1,0,0,0,1404, - 1405,5,67,0,0,1405,1406,5,79,0,0,1406,1407,5,76,0,0,1407,1408,5, - 85,0,0,1408,1409,5,77,0,0,1409,1410,5,78,0,0,1410,221,1,0,0,0,1411, - 1412,5,79,0,0,1412,1413,5,80,0,0,1413,1414,5,69,0,0,1414,1415,5, - 78,0,0,1415,223,1,0,0,0,1416,1417,5,67,0,0,1417,1418,5,76,0,0,1418, - 1419,5,79,0,0,1419,1420,5,83,0,0,1420,1421,5,69,0,0,1421,225,1,0, - 0,0,1422,1423,5,82,0,0,1423,1424,5,69,0,0,1424,1425,5,78,0,0,1425, - 1426,5,65,0,0,1426,1427,5,77,0,0,1427,1428,5,69,0,0,1428,227,1,0, - 0,0,1429,1430,5,82,0,0,1430,1431,5,69,0,0,1431,1432,5,82,0,0,1432, - 1433,5,79,0,0,1433,1434,5,85,0,0,1434,1435,5,84,0,0,1435,1436,5, - 69,0,0,1436,229,1,0,0,0,1437,1438,5,77,0,0,1438,1439,5,79,0,0,1439, - 1440,5,86,0,0,1440,1441,5,69,0,0,1441,231,1,0,0,0,1442,1443,5,83, - 0,0,1443,1444,5,72,0,0,1444,1445,5,65,0,0,1445,1446,5,82,0,0,1446, - 1447,5,68,0,0,1447,233,1,0,0,0,1448,1449,5,65,0,0,1449,1450,5,76, - 0,0,1450,1451,5,76,0,0,1451,1452,5,79,0,0,1452,1453,5,67,0,0,1453, - 1454,5,65,0,0,1454,1455,5,84,0,0,1455,1456,5,69,0,0,1456,235,1,0, - 0,0,1457,1458,5,82,0,0,1458,1459,5,69,0,0,1459,1460,5,80,0,0,1460, - 1461,5,76,0,0,1461,1462,5,73,0,0,1462,1463,5,67,0,0,1463,1464,5, - 65,0,0,1464,237,1,0,0,0,1465,1466,5,67,0,0,1466,1467,5,65,0,0,1467, - 1468,5,78,0,0,1468,1469,5,67,0,0,1469,1470,5,69,0,0,1470,1471,5, - 76,0,0,1471,239,1,0,0,0,1472,1473,5,82,0,0,1473,1474,5,69,0,0,1474, - 1475,5,84,0,0,1475,1476,5,82,0,0,1476,1477,5,89,0,0,1477,241,1,0, - 0,0,1478,1479,5,70,0,0,1479,1480,5,65,0,0,1480,1481,5,73,0,0,1481, - 1482,5,76,0,0,1482,1483,5,69,0,0,1483,1484,5,68,0,0,1484,243,1,0, - 0,0,1485,1486,5,66,0,0,1486,1487,5,79,0,0,1487,1488,5,79,0,0,1488, - 1489,5,76,0,0,1489,1490,5,69,0,0,1490,1491,5,65,0,0,1491,1492,5, - 78,0,0,1492,245,1,0,0,0,1493,1494,5,66,0,0,1494,1495,5,89,0,0,1495, - 1496,5,84,0,0,1496,1497,5,69,0,0,1497,247,1,0,0,0,1498,1499,5,83, - 0,0,1499,1500,5,72,0,0,1500,1501,5,79,0,0,1501,1502,5,82,0,0,1502, - 1503,5,84,0,0,1503,249,1,0,0,0,1504,1505,5,73,0,0,1505,1506,5,78, - 0,0,1506,1507,5,84,0,0,1507,1508,5,69,0,0,1508,1509,5,71,0,0,1509, - 1510,5,69,0,0,1510,1511,5,82,0,0,1511,251,1,0,0,0,1512,1513,5,73, - 0,0,1513,1514,5,78,0,0,1514,1515,5,84,0,0,1515,253,1,0,0,0,1516, - 1517,5,76,0,0,1517,1518,5,79,0,0,1518,1519,5,78,0,0,1519,1520,5, - 71,0,0,1520,255,1,0,0,0,1521,1522,5,70,0,0,1522,1523,5,76,0,0,1523, - 1524,5,79,0,0,1524,1525,5,65,0,0,1525,1526,5,84,0,0,1526,257,1,0, - 0,0,1527,1528,5,68,0,0,1528,1529,5,79,0,0,1529,1530,5,85,0,0,1530, - 1531,5,66,0,0,1531,1532,5,76,0,0,1532,1533,5,69,0,0,1533,259,1,0, - 0,0,1534,1535,5,80,0,0,1535,1536,5,82,0,0,1536,1537,5,69,0,0,1537, - 1538,5,67,0,0,1538,1539,5,73,0,0,1539,1540,5,83,0,0,1540,1541,5, - 73,0,0,1541,1542,5,79,0,0,1542,1543,5,78,0,0,1543,261,1,0,0,0,1544, - 1545,5,84,0,0,1545,1546,5,73,0,0,1546,1547,5,77,0,0,1547,1548,5, - 69,0,0,1548,1549,5,83,0,0,1549,1550,5,84,0,0,1550,1551,5,65,0,0, - 1551,1552,5,77,0,0,1552,1553,5,80,0,0,1553,263,1,0,0,0,1554,1555, - 5,73,0,0,1555,1556,5,80,0,0,1556,265,1,0,0,0,1557,1558,5,67,0,0, - 1558,1559,5,72,0,0,1559,1560,5,65,0,0,1560,1561,5,82,0,0,1561,1562, - 5,65,0,0,1562,1563,5,67,0,0,1563,1564,5,84,0,0,1564,1565,5,69,0, - 0,1565,1566,5,82,0,0,1566,267,1,0,0,0,1567,1568,5,34,0,0,1568,1569, - 5,67,0,0,1569,1570,5,72,0,0,1570,1571,5,65,0,0,1571,1572,5,82,0, - 0,1572,1573,5,34,0,0,1573,269,1,0,0,0,1574,1575,5,86,0,0,1575,1576, - 5,65,0,0,1576,1577,5,82,0,0,1577,1578,5,89,0,0,1578,1579,5,73,0, - 0,1579,1580,5,78,0,0,1580,1581,5,71,0,0,1581,271,1,0,0,0,1582,1583, - 5,79,0,0,1583,1584,5,66,0,0,1584,1585,5,74,0,0,1585,1586,5,69,0, - 0,1586,1587,5,67,0,0,1587,1588,5,84,0,0,1588,273,1,0,0,0,1589,1590, - 5,83,0,0,1590,1591,5,84,0,0,1591,1592,5,82,0,0,1592,1593,5,73,0, - 0,1593,1594,5,78,0,0,1594,1595,5,71,0,0,1595,275,1,0,0,0,1596,1597, - 5,71,0,0,1597,1598,5,69,0,0,1598,1599,5,79,0,0,1599,1600,5,95,0, - 0,1600,1601,5,80,0,0,1601,1602,5,79,0,0,1602,1603,5,73,0,0,1603, - 1604,5,78,0,0,1604,1605,5,84,0,0,1605,277,1,0,0,0,1606,1607,5,71, - 0,0,1607,1608,5,69,0,0,1608,1609,5,79,0,0,1609,1610,5,95,0,0,1610, - 1611,5,83,0,0,1611,1612,5,72,0,0,1612,1613,5,65,0,0,1613,1614,5, - 80,0,0,1614,1615,5,69,0,0,1615,279,1,0,0,0,1616,1617,5,71,0,0,1617, - 1618,5,76,0,0,1618,1619,5,79,0,0,1619,1620,5,66,0,0,1620,1621,5, - 65,0,0,1621,1622,5,76,0,0,1622,281,1,0,0,0,1623,1624,5,83,0,0,1624, - 1625,5,69,0,0,1625,1626,5,83,0,0,1626,1627,5,83,0,0,1627,1628,5, - 73,0,0,1628,1629,5,79,0,0,1629,1630,5,78,0,0,1630,283,1,0,0,0,1631, - 1632,5,76,0,0,1632,1633,5,79,0,0,1633,1634,5,67,0,0,1634,1635,5, - 65,0,0,1635,1636,5,76,0,0,1636,285,1,0,0,0,1637,1638,5,66,0,0,1638, - 1639,5,69,0,0,1639,1640,5,71,0,0,1640,1641,5,73,0,0,1641,1642,5, - 78,0,0,1642,287,1,0,0,0,1643,1644,5,83,0,0,1644,1645,5,84,0,0,1645, - 1646,5,65,0,0,1646,1647,5,82,0,0,1647,1648,5,84,0,0,1648,289,1,0, - 0,0,1649,1650,5,67,0,0,1650,1651,5,79,0,0,1651,1652,5,77,0,0,1652, - 1653,5,77,0,0,1653,1654,5,73,0,0,1654,1655,5,84,0,0,1655,291,1,0, - 0,0,1656,1657,5,87,0,0,1657,1658,5,79,0,0,1658,1659,5,82,0,0,1659, - 1660,5,75,0,0,1660,293,1,0,0,0,1661,1662,5,84,0,0,1662,1663,5,82, - 0,0,1663,1664,5,65,0,0,1664,1665,5,78,0,0,1665,1666,5,83,0,0,1666, - 1667,5,65,0,0,1667,1668,5,67,0,0,1668,1669,5,84,0,0,1669,1670,5, - 73,0,0,1670,1671,5,79,0,0,1671,1672,5,78,0,0,1672,295,1,0,0,0,1673, - 1674,5,84,0,0,1674,1675,5,82,0,0,1675,1676,5,65,0,0,1676,1677,5, - 78,0,0,1677,1678,5,83,0,0,1678,1679,5,65,0,0,1679,1680,5,67,0,0, - 1680,1681,5,84,0,0,1681,1682,5,73,0,0,1682,1683,5,79,0,0,1683,1684, - 5,78,0,0,1684,1685,5,95,0,0,1685,1686,5,73,0,0,1686,1687,5,83,0, - 0,1687,1688,5,79,0,0,1688,1689,5,76,0,0,1689,1690,5,65,0,0,1690, - 1691,5,84,0,0,1691,1692,5,73,0,0,1692,1693,5,79,0,0,1693,1694,5, - 78,0,0,1694,297,1,0,0,0,1695,1696,5,67,0,0,1696,1697,5,72,0,0,1697, - 1698,5,65,0,0,1698,1699,5,82,0,0,1699,1700,5,65,0,0,1700,1701,5, - 67,0,0,1701,1702,5,84,0,0,1702,1703,5,69,0,0,1703,1704,5,82,0,0, - 1704,1705,5,73,0,0,1705,1706,5,83,0,0,1706,1707,5,84,0,0,1707,1708, - 5,73,0,0,1708,1709,5,67,0,0,1709,1710,5,83,0,0,1710,299,1,0,0,0, - 1711,1712,5,73,0,0,1712,1713,5,83,0,0,1713,1714,5,79,0,0,1714,1715, - 5,76,0,0,1715,1716,5,65,0,0,1716,1717,5,84,0,0,1717,1718,5,73,0, - 0,1718,1719,5,79,0,0,1719,1720,5,78,0,0,1720,301,1,0,0,0,1721,1722, - 5,76,0,0,1722,1723,5,69,0,0,1723,1724,5,86,0,0,1724,1725,5,69,0, - 0,1725,1726,5,76,0,0,1726,303,1,0,0,0,1727,1728,5,83,0,0,1728,1729, - 5,69,0,0,1729,1730,5,82,0,0,1730,1731,5,73,0,0,1731,1732,5,65,0, - 0,1732,1733,5,76,0,0,1733,1734,5,73,0,0,1734,1735,5,90,0,0,1735, - 1736,5,65,0,0,1736,1737,5,66,0,0,1737,1738,5,76,0,0,1738,1739,5, - 69,0,0,1739,305,1,0,0,0,1740,1741,5,82,0,0,1741,1742,5,69,0,0,1742, - 1743,5,80,0,0,1743,1744,5,69,0,0,1744,1745,5,65,0,0,1745,1746,5, - 84,0,0,1746,1747,5,65,0,0,1747,1748,5,66,0,0,1748,1749,5,76,0,0, - 1749,1750,5,69,0,0,1750,307,1,0,0,0,1751,1752,5,67,0,0,1752,1753, - 5,79,0,0,1753,1754,5,77,0,0,1754,1755,5,77,0,0,1755,1756,5,73,0, - 0,1756,1757,5,84,0,0,1757,1758,5,84,0,0,1758,1759,5,69,0,0,1759, - 1760,5,68,0,0,1760,309,1,0,0,0,1761,1762,5,85,0,0,1762,1763,5,78, - 0,0,1763,1764,5,67,0,0,1764,1765,5,79,0,0,1765,1766,5,77,0,0,1766, - 1767,5,77,0,0,1767,1768,5,73,0,0,1768,1769,5,84,0,0,1769,1770,5, - 84,0,0,1770,1771,5,69,0,0,1771,1772,5,68,0,0,1772,311,1,0,0,0,1773, - 1774,5,82,0,0,1774,1775,5,69,0,0,1775,1776,5,65,0,0,1776,1777,5, - 68,0,0,1777,313,1,0,0,0,1778,1779,5,87,0,0,1779,1780,5,82,0,0,1780, - 1781,5,73,0,0,1781,1782,5,84,0,0,1782,1783,5,69,0,0,1783,315,1,0, - 0,0,1784,1785,5,68,0,0,1785,1786,5,69,0,0,1786,1787,5,70,0,0,1787, - 1788,5,69,0,0,1788,1789,5,82,0,0,1789,1790,5,82,0,0,1790,1791,5, - 65,0,0,1791,1792,5,66,0,0,1792,1793,5,76,0,0,1793,1794,5,69,0,0, - 1794,317,1,0,0,0,1795,1796,5,82,0,0,1796,1797,5,69,0,0,1797,1798, - 5,84,0,0,1798,1799,5,85,0,0,1799,1800,5,82,0,0,1800,1801,5,78,0, - 0,1801,1802,5,83,0,0,1802,319,1,0,0,0,1803,1804,5,67,0,0,1804,1805, - 5,65,0,0,1805,1806,5,76,0,0,1806,1807,5,76,0,0,1807,1808,5,69,0, - 0,1808,1809,5,68,0,0,1809,321,1,0,0,0,1810,1811,5,82,0,0,1811,1812, - 5,69,0,0,1812,1813,5,80,0,0,1813,1814,5,76,0,0,1814,1815,5,65,0, - 0,1815,1816,5,67,0,0,1816,1817,5,69,0,0,1817,323,1,0,0,0,1818,1819, - 5,70,0,0,1819,1820,5,85,0,0,1820,1821,5,78,0,0,1821,1822,5,67,0, - 0,1822,1823,5,84,0,0,1823,1824,5,73,0,0,1824,1825,5,79,0,0,1825, - 1826,5,78,0,0,1826,325,1,0,0,0,1827,1828,5,76,0,0,1828,1829,5,65, - 0,0,1829,1830,5,78,0,0,1830,1831,5,71,0,0,1831,1832,5,85,0,0,1832, - 1833,5,65,0,0,1833,1834,5,71,0,0,1834,1835,5,69,0,0,1835,327,1,0, - 0,0,1836,1837,5,73,0,0,1837,1838,5,78,0,0,1838,1839,5,80,0,0,1839, - 1840,5,85,0,0,1840,1841,5,84,0,0,1841,329,1,0,0,0,1842,1843,5,65, - 0,0,1843,1844,5,78,0,0,1844,1845,5,65,0,0,1845,1846,5,76,0,0,1846, - 1847,5,89,0,0,1847,1848,5,90,0,0,1848,1849,5,69,0,0,1849,331,1,0, - 0,0,1850,1851,5,67,0,0,1851,1852,5,79,0,0,1852,1853,5,83,0,0,1853, - 1854,5,84,0,0,1854,1855,5,83,0,0,1855,333,1,0,0,0,1856,1857,5,86, - 0,0,1857,1858,5,69,0,0,1858,1859,5,82,0,0,1859,1860,5,66,0,0,1860, - 1861,5,79,0,0,1861,1862,5,83,0,0,1862,1863,5,69,0,0,1863,335,1,0, - 0,0,1864,1865,5,68,0,0,1865,1866,5,73,0,0,1866,1867,5,83,0,0,1867, - 1868,5,67,0,0,1868,1869,5,65,0,0,1869,1870,5,82,0,0,1870,1871,5, - 68,0,0,1871,337,1,0,0,0,1872,1873,5,80,0,0,1873,1874,5,76,0,0,1874, - 1875,5,65,0,0,1875,1876,5,78,0,0,1876,1877,5,83,0,0,1877,339,1,0, - 0,0,1878,1879,5,83,0,0,1879,1880,5,69,0,0,1880,1881,5,81,0,0,1881, - 1882,5,85,0,0,1882,1883,5,69,0,0,1883,1884,5,78,0,0,1884,1885,5, - 67,0,0,1885,1886,5,69,0,0,1886,1887,5,83,0,0,1887,341,1,0,0,0,1888, - 1889,5,84,0,0,1889,1890,5,69,0,0,1890,1891,5,77,0,0,1891,1892,5, - 80,0,0,1892,1893,5,79,0,0,1893,1894,5,82,0,0,1894,1895,5,65,0,0, - 1895,1896,5,82,0,0,1896,1897,5,89,0,0,1897,343,1,0,0,0,1898,1899, - 5,84,0,0,1899,1900,5,69,0,0,1900,1901,5,77,0,0,1901,1902,5,80,0, - 0,1902,345,1,0,0,0,1903,1904,5,67,0,0,1904,1905,5,79,0,0,1905,1906, - 5,78,0,0,1906,1907,5,83,0,0,1907,1908,5,84,0,0,1908,1909,5,82,0, - 0,1909,1910,5,65,0,0,1910,1911,5,73,0,0,1911,1912,5,78,0,0,1912, - 1913,5,84,0,0,1913,347,1,0,0,0,1914,1915,5,67,0,0,1915,1916,5,72, - 0,0,1916,1917,5,69,0,0,1917,1918,5,67,0,0,1918,1919,5,75,0,0,1919, - 349,1,0,0,0,1920,1921,5,68,0,0,1921,1922,5,69,0,0,1922,1923,5,83, - 0,0,1923,1924,5,67,0,0,1924,1925,5,82,0,0,1925,1926,5,73,0,0,1926, - 1927,5,66,0,0,1927,1928,5,69,0,0,1928,351,1,0,0,0,1929,1930,5,69, - 0,0,1930,1931,5,88,0,0,1931,1932,5,80,0,0,1932,1933,5,76,0,0,1933, - 1934,5,65,0,0,1934,1935,5,73,0,0,1935,1936,5,78,0,0,1936,353,1,0, - 0,0,1937,1938,5,70,0,0,1938,1939,5,79,0,0,1939,1940,5,82,0,0,1940, - 1941,5,77,0,0,1941,1942,5,65,0,0,1942,1943,5,84,0,0,1943,355,1,0, - 0,0,1944,1945,5,84,0,0,1945,1946,5,89,0,0,1946,1947,5,80,0,0,1947, - 1948,5,69,0,0,1948,357,1,0,0,0,1949,1950,5,84,0,0,1950,1951,5,69, - 0,0,1951,1952,5,88,0,0,1952,1953,5,84,0,0,1953,359,1,0,0,0,1954, - 1955,5,71,0,0,1955,1956,5,82,0,0,1956,1957,5,65,0,0,1957,1958,5, - 80,0,0,1958,1959,5,72,0,0,1959,1960,5,86,0,0,1960,1961,5,73,0,0, - 1961,1962,5,90,0,0,1962,361,1,0,0,0,1963,1964,5,76,0,0,1964,1965, - 5,79,0,0,1965,1966,5,71,0,0,1966,1967,5,73,0,0,1967,1968,5,67,0, - 0,1968,1969,5,65,0,0,1969,1970,5,76,0,0,1970,363,1,0,0,0,1971,1972, - 5,68,0,0,1972,1973,5,73,0,0,1973,1974,5,83,0,0,1974,1975,5,84,0, - 0,1975,1976,5,82,0,0,1976,1977,5,73,0,0,1977,1978,5,66,0,0,1978, - 1979,5,85,0,0,1979,1980,5,84,0,0,1980,1981,5,69,0,0,1981,1982,5, - 68,0,0,1982,365,1,0,0,0,1983,1984,5,67,0,0,1984,1985,5,65,0,0,1985, - 1986,5,83,0,0,1986,1987,5,84,0,0,1987,367,1,0,0,0,1988,1989,5,84, - 0,0,1989,1990,5,82,0,0,1990,1991,5,89,0,0,1991,1992,5,95,0,0,1992, - 1993,5,67,0,0,1993,1994,5,65,0,0,1994,1995,5,83,0,0,1995,1996,5, - 84,0,0,1996,369,1,0,0,0,1997,1998,5,83,0,0,1998,1999,5,72,0,0,1999, - 2000,5,79,0,0,2000,2001,5,87,0,0,2001,371,1,0,0,0,2002,2003,5,84, - 0,0,2003,2004,5,65,0,0,2004,2005,5,66,0,0,2005,2006,5,76,0,0,2006, - 2007,5,69,0,0,2007,2008,5,83,0,0,2008,373,1,0,0,0,2009,2010,5,83, - 0,0,2010,2011,5,67,0,0,2011,2012,5,72,0,0,2012,2013,5,69,0,0,2013, - 2014,5,77,0,0,2014,2015,5,65,0,0,2015,2016,5,83,0,0,2016,375,1,0, - 0,0,2017,2018,5,67,0,0,2018,2019,5,65,0,0,2019,2020,5,84,0,0,2020, - 2021,5,65,0,0,2021,2022,5,76,0,0,2022,2023,5,79,0,0,2023,2024,5, - 71,0,0,2024,2025,5,83,0,0,2025,377,1,0,0,0,2026,2027,5,67,0,0,2027, - 2028,5,79,0,0,2028,2029,5,76,0,0,2029,2030,5,85,0,0,2030,2031,5, - 77,0,0,2031,2032,5,78,0,0,2032,2033,5,83,0,0,2033,379,1,0,0,0,2034, - 2035,5,80,0,0,2035,2036,5,65,0,0,2036,2037,5,82,0,0,2037,2038,5, - 84,0,0,2038,2039,5,73,0,0,2039,2040,5,84,0,0,2040,2041,5,73,0,0, - 2041,2042,5,79,0,0,2042,2043,5,78,0,0,2043,2044,5,83,0,0,2044,381, - 1,0,0,0,2045,2046,5,70,0,0,2046,2047,5,85,0,0,2047,2048,5,78,0,0, - 2048,2049,5,67,0,0,2049,2050,5,84,0,0,2050,2051,5,73,0,0,2051,2052, - 5,79,0,0,2052,2053,5,78,0,0,2053,2054,5,83,0,0,2054,383,1,0,0,0, - 2055,2056,5,77,0,0,2056,2057,5,65,0,0,2057,2058,5,84,0,0,2058,2059, - 5,69,0,0,2059,2060,5,82,0,0,2060,2061,5,73,0,0,2061,2062,5,65,0, - 0,2062,2063,5,76,0,0,2063,2064,5,73,0,0,2064,2065,5,90,0,0,2065, - 2066,5,69,0,0,2066,2067,5,68,0,0,2067,385,1,0,0,0,2068,2069,5,86, - 0,0,2069,2070,5,73,0,0,2070,2071,5,69,0,0,2071,2072,5,87,0,0,2072, - 387,1,0,0,0,2073,2074,5,79,0,0,2074,2075,5,80,0,0,2075,2076,5,84, - 0,0,2076,2077,5,73,0,0,2077,2078,5,77,0,0,2078,2079,5,73,0,0,2079, - 2080,5,90,0,0,2080,2081,5,69,0,0,2081,389,1,0,0,0,2082,2083,5,82, - 0,0,2083,2084,5,69,0,0,2084,2085,5,70,0,0,2085,2086,5,82,0,0,2086, - 2087,5,69,0,0,2087,2088,5,83,0,0,2088,2089,5,72,0,0,2089,391,1,0, - 0,0,2090,2091,5,82,0,0,2091,2092,5,69,0,0,2092,2093,5,83,0,0,2093, - 2094,5,84,0,0,2094,2095,5,79,0,0,2095,2096,5,82,0,0,2096,2097,5, - 69,0,0,2097,393,1,0,0,0,2098,2099,5,68,0,0,2099,2100,5,82,0,0,2100, - 2101,5,79,0,0,2101,2102,5,80,0,0,2102,395,1,0,0,0,2103,2104,5,65, - 0,0,2104,2105,5,76,0,0,2105,2106,5,73,0,0,2106,2107,5,65,0,0,2107, - 2108,5,83,0,0,2108,397,1,0,0,0,2109,2110,5,85,0,0,2110,2111,5,78, - 0,0,2111,2112,5,73,0,0,2112,2113,5,79,0,0,2113,2114,5,78,0,0,2114, - 399,1,0,0,0,2115,2116,5,69,0,0,2116,2117,5,88,0,0,2117,2118,5,67, - 0,0,2118,2119,5,69,0,0,2119,2120,5,80,0,0,2120,2121,5,84,0,0,2121, - 401,1,0,0,0,2122,2123,5,73,0,0,2123,2124,5,78,0,0,2124,2125,5,84, - 0,0,2125,2126,5,69,0,0,2126,2127,5,82,0,0,2127,2128,5,83,0,0,2128, - 2129,5,69,0,0,2129,2130,5,67,0,0,2130,2131,5,84,0,0,2131,403,1,0, - 0,0,2132,2133,5,83,0,0,2133,2134,5,89,0,0,2134,2135,5,83,0,0,2135, - 2136,5,84,0,0,2136,2137,5,69,0,0,2137,2138,5,77,0,0,2138,405,1,0, - 0,0,2139,2140,5,66,0,0,2140,2141,5,69,0,0,2141,2142,5,82,0,0,2142, - 2143,5,78,0,0,2143,2144,5,79,0,0,2144,2145,5,85,0,0,2145,2146,5, - 76,0,0,2146,2147,5,76,0,0,2147,2148,5,73,0,0,2148,407,1,0,0,0,2149, - 2150,5,84,0,0,2150,2151,5,65,0,0,2151,2152,5,66,0,0,2152,2153,5, - 76,0,0,2153,2154,5,69,0,0,2154,2155,5,83,0,0,2155,2156,5,65,0,0, - 2156,2157,5,77,0,0,2157,2158,5,80,0,0,2158,2159,5,76,0,0,2159,2160, - 5,69,0,0,2160,409,1,0,0,0,2161,2162,5,83,0,0,2162,2163,5,84,0,0, - 2163,2164,5,82,0,0,2164,2165,5,65,0,0,2165,2166,5,84,0,0,2166,2167, - 5,73,0,0,2167,2168,5,70,0,0,2168,2169,5,89,0,0,2169,411,1,0,0,0, - 2170,2171,5,73,0,0,2171,2172,5,78,0,0,2172,2173,5,83,0,0,2173,2174, - 5,69,0,0,2174,2175,5,82,0,0,2175,2176,5,84,0,0,2176,413,1,0,0,0, - 2177,2178,5,73,0,0,2178,2179,5,78,0,0,2179,2180,5,84,0,0,2180,2181, - 5,79,0,0,2181,415,1,0,0,0,2182,2183,5,86,0,0,2183,2184,5,65,0,0, - 2184,2185,5,76,0,0,2185,2186,5,85,0,0,2186,2187,5,69,0,0,2187,2188, - 5,83,0,0,2188,417,1,0,0,0,2189,2190,5,68,0,0,2190,2191,5,69,0,0, - 2191,2192,5,76,0,0,2192,2193,5,69,0,0,2193,2194,5,84,0,0,2194,2195, - 5,69,0,0,2195,419,1,0,0,0,2196,2197,5,85,0,0,2197,2198,5,80,0,0, - 2198,2199,5,68,0,0,2199,2200,5,65,0,0,2200,2201,5,84,0,0,2201,2202, - 5,69,0,0,2202,421,1,0,0,0,2203,2204,5,75,0,0,2204,2205,5,69,0,0, - 2205,2206,5,89,0,0,2206,423,1,0,0,0,2207,2208,5,68,0,0,2208,2209, - 5,85,0,0,2209,2210,5,80,0,0,2210,2211,5,76,0,0,2211,2212,5,73,0, - 0,2212,2213,5,67,0,0,2213,2214,5,65,0,0,2214,2215,5,84,0,0,2215, - 2216,5,69,0,0,2216,425,1,0,0,0,2217,2218,5,67,0,0,2218,2219,5,79, - 0,0,2219,2220,5,78,0,0,2220,2221,5,70,0,0,2221,2222,5,76,0,0,2222, - 2223,5,73,0,0,2223,2224,5,67,0,0,2224,2225,5,84,0,0,2225,427,1,0, - 0,0,2226,2227,5,68,0,0,2227,2228,5,79,0,0,2228,429,1,0,0,0,2229, - 2230,5,78,0,0,2230,2231,5,79,0,0,2231,2232,5,84,0,0,2232,2233,5, - 72,0,0,2233,2234,5,73,0,0,2234,2235,5,78,0,0,2235,2236,5,71,0,0, - 2236,431,1,0,0,0,2237,2238,5,83,0,0,2238,2239,5,69,0,0,2239,2240, - 5,84,0,0,2240,433,1,0,0,0,2241,2242,5,82,0,0,2242,2243,5,69,0,0, - 2243,2244,5,83,0,0,2244,2245,5,69,0,0,2245,2246,5,84,0,0,2246,435, - 1,0,0,0,2247,2248,5,68,0,0,2248,2249,5,69,0,0,2249,2250,5,70,0,0, - 2250,2251,5,65,0,0,2251,2252,5,85,0,0,2252,2253,5,76,0,0,2253,2254, - 5,84,0,0,2254,437,1,0,0,0,2255,2256,5,67,0,0,2256,2257,5,79,0,0, - 2257,2258,5,80,0,0,2258,2259,5,89,0,0,2259,439,1,0,0,0,2260,2261, - 5,67,0,0,2261,2262,5,76,0,0,2262,2263,5,85,0,0,2263,2264,5,83,0, - 0,2264,2265,5,84,0,0,2265,2266,5,69,0,0,2266,2267,5,82,0,0,2267, - 2268,5,69,0,0,2268,2269,5,68,0,0,2269,441,1,0,0,0,2270,2271,5,83, - 0,0,2271,2272,5,72,0,0,2272,2273,5,65,0,0,2273,2274,5,82,0,0,2274, - 2275,5,68,0,0,2275,2276,5,83,0,0,2276,443,1,0,0,0,2277,2278,5,80, - 0,0,2278,2279,5,82,0,0,2279,2280,5,73,0,0,2280,2281,5,77,0,0,2281, - 2282,5,65,0,0,2282,2283,5,82,0,0,2283,2284,5,89,0,0,2284,2285,5, - 32,0,0,2285,2286,5,75,0,0,2286,2287,5,69,0,0,2287,2288,5,89,0,0, - 2288,445,1,0,0,0,2289,2290,5,79,0,0,2290,2291,5,70,0,0,2291,2292, - 5,70,0,0,2292,447,1,0,0,0,2293,2294,5,70,0,0,2294,2295,5,85,0,0, - 2295,2296,5,76,0,0,2296,2297,5,76,0,0,2297,2298,5,84,0,0,2298,2299, - 5,69,0,0,2299,2300,5,88,0,0,2300,2301,5,84,0,0,2301,449,1,0,0,0, - 2302,2303,5,70,0,0,2303,2304,5,73,0,0,2304,2305,5,76,0,0,2305,2306, - 5,84,0,0,2306,2307,5,69,0,0,2307,2308,5,82,0,0,2308,451,1,0,0,0, - 2309,2310,5,80,0,0,2310,2311,5,76,0,0,2311,2312,5,65,0,0,2312,2313, - 5,73,0,0,2313,2314,5,78,0,0,2314,453,1,0,0,0,2315,2316,5,73,0,0, - 2316,2317,5,78,0,0,2317,2318,5,68,0,0,2318,2319,5,69,0,0,2319,2320, - 5,88,0,0,2320,455,1,0,0,0,2321,2322,5,83,0,0,2322,2323,5,84,0,0, - 2323,2324,5,79,0,0,2324,2325,5,82,0,0,2325,2326,5,65,0,0,2326,2327, - 5,71,0,0,2327,2328,5,69,0,0,2328,457,1,0,0,0,2329,2330,5,82,0,0, - 2330,2331,5,69,0,0,2331,2332,5,84,0,0,2332,2333,5,85,0,0,2333,2334, - 5,82,0,0,2334,2335,5,78,0,0,2335,2336,5,73,0,0,2336,2337,5,78,0, - 0,2337,2338,5,71,0,0,2338,459,1,0,0,0,2339,2340,5,68,0,0,2340,2341, - 5,89,0,0,2341,2342,5,78,0,0,2342,2343,5,65,0,0,2343,2344,5,77,0, - 0,2344,2345,5,73,0,0,2345,2346,5,67,0,0,2346,461,1,0,0,0,2347,2348, - 5,83,0,0,2348,2349,5,84,0,0,2349,2350,5,82,0,0,2350,2351,5,73,0, - 0,2351,2352,5,67,0,0,2352,2353,5,84,0,0,2353,463,1,0,0,0,2354,2355, - 5,73,0,0,2355,2356,5,71,0,0,2356,2357,5,78,0,0,2357,2358,5,79,0, - 0,2358,2359,5,82,0,0,2359,2360,5,69,0,0,2360,2361,5,68,0,0,2361, - 465,1,0,0,0,2362,2363,5,65,0,0,2363,2364,5,82,0,0,2364,2365,5,82, - 0,0,2365,2366,5,65,0,0,2366,2367,5,89,0,0,2367,467,1,0,0,0,2368, - 2369,5,65,0,0,2369,2370,5,78,0,0,2370,2371,5,65,0,0,2371,2372,5, - 76,0,0,2372,2373,5,89,0,0,2373,2374,5,90,0,0,2374,2375,5,69,0,0, - 2375,2376,5,82,0,0,2376,469,1,0,0,0,2377,2378,5,69,0,0,2378,2379, - 5,88,0,0,2379,2380,5,84,0,0,2380,2381,5,69,0,0,2381,2382,5,78,0, - 0,2382,2383,5,68,0,0,2383,2384,5,83,0,0,2384,471,1,0,0,0,2385,2386, - 5,84,0,0,2386,2387,5,79,0,0,2387,2388,5,75,0,0,2388,2389,5,69,0, - 0,2389,2390,5,78,0,0,2390,2391,5,73,0,0,2391,2392,5,90,0,0,2392, - 2393,5,69,0,0,2393,2394,5,82,0,0,2394,473,1,0,0,0,2395,2396,5,84, - 0,0,2396,2397,5,79,0,0,2397,2398,5,75,0,0,2398,2399,5,69,0,0,2399, - 2400,5,78,0,0,2400,2401,5,95,0,0,2401,2402,5,70,0,0,2402,2403,5, - 73,0,0,2403,2404,5,76,0,0,2404,2405,5,84,0,0,2405,2406,5,69,0,0, - 2406,2407,5,82,0,0,2407,2408,5,83,0,0,2408,475,1,0,0,0,2409,2410, - 5,67,0,0,2410,2411,5,72,0,0,2411,2412,5,65,0,0,2412,2413,5,82,0, - 0,2413,2414,5,95,0,0,2414,2415,5,70,0,0,2415,2416,5,73,0,0,2416, - 2417,5,76,0,0,2417,2418,5,84,0,0,2418,2419,5,69,0,0,2419,2420,5, - 82,0,0,2420,2421,5,83,0,0,2421,477,1,0,0,0,2422,2423,5,80,0,0,2423, - 2424,5,65,0,0,2424,2425,5,82,0,0,2425,2426,5,84,0,0,2426,2427,5, - 73,0,0,2427,2428,5,84,0,0,2428,2429,5,73,0,0,2429,2430,5,79,0,0, - 2430,2431,5,78,0,0,2431,2432,5,69,0,0,2432,2433,5,68,0,0,2433,479, - 1,0,0,0,2434,2435,5,80,0,0,2435,2436,5,82,0,0,2436,2437,5,69,0,0, - 2437,2438,5,80,0,0,2438,2439,5,65,0,0,2439,2440,5,82,0,0,2440,2441, - 5,69,0,0,2441,481,1,0,0,0,2442,2443,5,84,0,0,2443,2444,5,82,0,0, - 2444,2445,5,65,0,0,2445,2446,5,78,0,0,2446,2447,5,83,0,0,2447,2448, - 5,73,0,0,2448,2449,5,69,0,0,2449,2450,5,78,0,0,2450,2451,5,84,0, - 0,2451,483,1,0,0,0,2452,2453,5,80,0,0,2453,2454,5,69,0,0,2454,2455, - 5,82,0,0,2455,2456,5,83,0,0,2456,2457,5,73,0,0,2457,2458,5,83,0, - 0,2458,2459,5,84,0,0,2459,2460,5,69,0,0,2460,2461,5,78,0,0,2461, - 2462,5,84,0,0,2462,485,1,0,0,0,2463,2464,5,77,0,0,2464,2465,5,65, - 0,0,2465,2466,5,84,0,0,2466,2467,5,67,0,0,2467,2468,5,72,0,0,2468, - 487,1,0,0,0,2469,2470,5,71,0,0,2470,2471,5,69,0,0,2471,2472,5,78, - 0,0,2472,2473,5,69,0,0,2473,2474,5,82,0,0,2474,2475,5,65,0,0,2475, - 2476,5,84,0,0,2476,2477,5,69,0,0,2477,2478,5,68,0,0,2478,489,1,0, - 0,0,2479,2480,5,65,0,0,2480,2481,5,76,0,0,2481,2482,5,87,0,0,2482, - 2483,5,65,0,0,2483,2484,5,89,0,0,2484,2485,5,83,0,0,2485,491,1,0, - 0,0,2486,2487,5,85,0,0,2487,2488,5,83,0,0,2488,2489,5,69,0,0,2489, - 2490,5,82,0,0,2490,493,1,0,0,0,2491,2492,5,82,0,0,2492,2493,5,79, - 0,0,2493,2494,5,76,0,0,2494,2495,5,69,0,0,2495,495,1,0,0,0,2496, - 2497,5,71,0,0,2497,2498,5,82,0,0,2498,2499,5,65,0,0,2499,2500,5, - 78,0,0,2500,2501,5,84,0,0,2501,497,1,0,0,0,2502,2503,5,68,0,0,2503, - 2504,5,69,0,0,2504,2505,5,78,0,0,2505,2506,5,89,0,0,2506,499,1,0, - 0,0,2507,2508,5,82,0,0,2508,2509,5,69,0,0,2509,2510,5,86,0,0,2510, - 2511,5,79,0,0,2511,2512,5,75,0,0,2512,2513,5,69,0,0,2513,501,1,0, - 0,0,2514,2515,5,80,0,0,2515,2516,5,82,0,0,2516,2517,5,73,0,0,2517, - 2518,5,86,0,0,2518,2519,5,73,0,0,2519,2520,5,76,0,0,2520,2521,5, - 69,0,0,2521,2522,5,71,0,0,2522,2523,5,69,0,0,2523,2524,5,83,0,0, - 2524,503,1,0,0,0,2525,2526,5,83,0,0,2526,2527,5,67,0,0,2527,2528, - 5,72,0,0,2528,2529,5,69,0,0,2529,2530,5,77,0,0,2530,2531,5,65,0, - 0,2531,505,1,0,0,0,2532,2533,5,82,0,0,2533,2534,5,69,0,0,2534,2535, - 5,84,0,0,2535,2536,5,85,0,0,2536,2537,5,82,0,0,2537,2538,5,78,0, - 0,2538,507,1,0,0,0,2539,2540,5,83,0,0,2540,2541,5,85,0,0,2541,2542, - 5,77,0,0,2542,2543,5,77,0,0,2543,2544,5,65,0,0,2544,2545,5,82,0, - 0,2545,2546,5,89,0,0,2546,509,1,0,0,0,2547,2548,5,77,0,0,2548,2549, - 5,69,0,0,2549,2550,5,84,0,0,2550,2551,5,65,0,0,2551,2552,5,68,0, - 0,2552,2553,5,65,0,0,2553,2554,5,84,0,0,2554,2555,5,65,0,0,2555, - 511,1,0,0,0,2556,2557,5,80,0,0,2557,2558,5,85,0,0,2558,2559,5,66, - 0,0,2559,2560,5,76,0,0,2560,2561,5,73,0,0,2561,2562,5,67,0,0,2562, - 2563,5,65,0,0,2563,2564,5,84,0,0,2564,2565,5,73,0,0,2565,2566,5, - 79,0,0,2566,2567,5,78,0,0,2567,513,1,0,0,0,2568,2569,5,83,0,0,2569, - 2570,5,85,0,0,2570,2571,5,66,0,0,2571,2572,5,83,0,0,2572,2573,5, - 67,0,0,2573,2574,5,82,0,0,2574,2575,5,73,0,0,2575,2576,5,80,0,0, - 2576,2577,5,84,0,0,2577,2578,5,73,0,0,2578,2579,5,79,0,0,2579,2580, - 5,78,0,0,2580,515,1,0,0,0,2581,2582,5,67,0,0,2582,2583,5,79,0,0, - 2583,2584,5,78,0,0,2584,2585,5,78,0,0,2585,2586,5,69,0,0,2586,2587, - 5,67,0,0,2587,2588,5,84,0,0,2588,2589,5,73,0,0,2589,2590,5,79,0, - 0,2590,2591,5,78,0,0,2591,517,1,0,0,0,2592,2593,5,69,0,0,2593,2594, - 5,78,0,0,2594,2595,5,65,0,0,2595,2596,5,66,0,0,2596,2597,5,76,0, - 0,2597,2598,5,69,0,0,2598,519,1,0,0,0,2599,2600,5,68,0,0,2600,2601, - 5,73,0,0,2601,2602,5,83,0,0,2602,2603,5,65,0,0,2603,2604,5,66,0, - 0,2604,2605,5,76,0,0,2605,2606,5,69,0,0,2606,521,1,0,0,0,2607,2608, - 5,68,0,0,2608,2609,5,69,0,0,2609,2610,5,67,0,0,2610,2611,5,76,0, - 0,2611,2612,5,65,0,0,2612,2613,5,82,0,0,2613,2614,5,69,0,0,2614, - 523,1,0,0,0,2615,2616,5,67,0,0,2616,2617,5,85,0,0,2617,2618,5,82, - 0,0,2618,2619,5,83,0,0,2619,2620,5,79,0,0,2620,2621,5,82,0,0,2621, - 525,1,0,0,0,2622,2623,5,65,0,0,2623,2624,5,83,0,0,2624,2625,5,69, - 0,0,2625,2626,5,78,0,0,2626,2627,5,83,0,0,2627,2628,5,73,0,0,2628, - 2629,5,84,0,0,2629,2630,5,73,0,0,2630,2631,5,86,0,0,2631,2632,5, - 69,0,0,2632,527,1,0,0,0,2633,2634,5,73,0,0,2634,2635,5,78,0,0,2635, - 2636,5,83,0,0,2636,2637,5,69,0,0,2637,2638,5,78,0,0,2638,2639,5, - 83,0,0,2639,2640,5,73,0,0,2640,2641,5,84,0,0,2641,2642,5,73,0,0, - 2642,2643,5,86,0,0,2643,2644,5,69,0,0,2644,529,1,0,0,0,2645,2646, - 5,66,0,0,2646,2647,5,73,0,0,2647,2648,5,78,0,0,2648,2649,5,65,0, - 0,2649,2650,5,82,0,0,2650,2651,5,89,0,0,2651,531,1,0,0,0,2652,2653, - 5,78,0,0,2653,2654,5,79,0,0,2654,533,1,0,0,0,2655,2656,5,83,0,0, - 2656,2657,5,67,0,0,2657,2658,5,82,0,0,2658,2659,5,79,0,0,2659,2660, - 5,76,0,0,2660,2661,5,76,0,0,2661,535,1,0,0,0,2662,2663,5,72,0,0, - 2663,2664,5,79,0,0,2664,2665,5,76,0,0,2665,2666,5,68,0,0,2666,537, - 1,0,0,0,2667,2668,5,65,0,0,2668,2669,5,66,0,0,2669,2670,5,83,0,0, - 2670,2671,5,79,0,0,2671,2672,5,76,0,0,2672,2673,5,85,0,0,2673,2674, - 5,84,0,0,2674,2675,5,69,0,0,2675,539,1,0,0,0,2676,2677,5,70,0,0, - 2677,2678,5,79,0,0,2678,2679,5,82,0,0,2679,2680,5,87,0,0,2680,2681, - 5,65,0,0,2681,2682,5,82,0,0,2682,2683,5,68,0,0,2683,541,1,0,0,0, - 2684,2685,5,66,0,0,2685,2686,5,65,0,0,2686,2687,5,67,0,0,2687,2688, - 5,75,0,0,2688,2689,5,87,0,0,2689,2690,5,65,0,0,2690,2691,5,82,0, - 0,2691,2692,5,68,0,0,2692,543,1,0,0,0,2693,2694,5,82,0,0,2694,2695, - 5,69,0,0,2695,2696,5,76,0,0,2696,2697,5,65,0,0,2697,2698,5,84,0, - 0,2698,2699,5,73,0,0,2699,2700,5,86,0,0,2700,2701,5,69,0,0,2701, - 545,1,0,0,0,2702,2703,5,80,0,0,2703,2704,5,82,0,0,2704,2705,5,73, - 0,0,2705,2706,5,79,0,0,2706,2707,5,82,0,0,2707,547,1,0,0,0,2708, - 2709,5,83,0,0,2709,2710,5,69,0,0,2710,2711,5,82,0,0,2711,2712,5, - 86,0,0,2712,2713,5,69,0,0,2713,2714,5,82,0,0,2714,549,1,0,0,0,2715, - 2716,5,70,0,0,2716,2717,5,79,0,0,2717,2718,5,82,0,0,2718,2719,5, - 69,0,0,2719,2720,5,73,0,0,2720,2721,5,71,0,0,2721,2722,5,78,0,0, - 2722,551,1,0,0,0,2723,2724,5,68,0,0,2724,2725,5,65,0,0,2725,2726, - 5,84,0,0,2726,2727,5,65,0,0,2727,553,1,0,0,0,2728,2729,5,87,0,0, - 2729,2730,5,82,0,0,2730,2731,5,65,0,0,2731,2732,5,80,0,0,2732,2733, - 5,80,0,0,2733,2734,5,69,0,0,2734,2735,5,82,0,0,2735,555,1,0,0,0, - 2736,2737,5,79,0,0,2737,2738,5,80,0,0,2738,2739,5,84,0,0,2739,2740, - 5,73,0,0,2740,2741,5,79,0,0,2741,2742,5,78,0,0,2742,2743,5,83,0, - 0,2743,557,1,0,0,0,2744,2745,5,77,0,0,2745,2746,5,65,0,0,2746,2747, - 5,80,0,0,2747,2748,5,80,0,0,2748,2749,5,73,0,0,2749,2750,5,78,0, - 0,2750,2751,5,71,0,0,2751,559,1,0,0,0,2752,2753,5,67,0,0,2753,2754, - 5,65,0,0,2754,2755,5,83,0,0,2755,2756,5,67,0,0,2756,2757,5,65,0, - 0,2757,2758,5,68,0,0,2758,2759,5,69,0,0,2759,561,1,0,0,0,2760,2761, - 5,82,0,0,2761,2762,5,69,0,0,2762,2763,5,83,0,0,2763,2764,5,84,0, - 0,2764,2765,5,82,0,0,2765,2766,5,73,0,0,2766,2767,5,67,0,0,2767, - 2768,5,84,0,0,2768,563,1,0,0,0,2769,2770,5,61,0,0,2770,565,1,0,0, - 0,2771,2772,5,60,0,0,2772,2776,5,62,0,0,2773,2774,5,33,0,0,2774, - 2776,5,61,0,0,2775,2771,1,0,0,0,2775,2773,1,0,0,0,2776,567,1,0,0, - 0,2777,2778,5,60,0,0,2778,569,1,0,0,0,2779,2780,5,60,0,0,2780,2781, - 5,61,0,0,2781,571,1,0,0,0,2782,2783,5,62,0,0,2783,573,1,0,0,0,2784, - 2785,5,62,0,0,2785,2786,5,61,0,0,2786,575,1,0,0,0,2787,2788,5,60, - 0,0,2788,2789,5,60,0,0,2789,577,1,0,0,0,2790,2791,5,126,0,0,2791, - 579,1,0,0,0,2792,2793,5,33,0,0,2793,2794,5,126,0,0,2794,581,1,0, - 0,0,2795,2796,5,126,0,0,2796,2797,5,42,0,0,2797,583,1,0,0,0,2798, - 2799,5,33,0,0,2799,2800,5,126,0,0,2800,2801,5,42,0,0,2801,585,1, - 0,0,0,2802,2803,5,43,0,0,2803,587,1,0,0,0,2804,2805,5,45,0,0,2805, - 589,1,0,0,0,2806,2807,5,42,0,0,2807,591,1,0,0,0,2808,2809,5,94,0, - 0,2809,593,1,0,0,0,2810,2811,5,47,0,0,2811,595,1,0,0,0,2812,2813, - 5,37,0,0,2813,597,1,0,0,0,2814,2815,5,124,0,0,2815,2816,5,124,0, - 0,2816,599,1,0,0,0,2817,2818,5,58,0,0,2818,2819,5,58,0,0,2819,601, - 1,0,0,0,2820,2821,5,59,0,0,2821,603,1,0,0,0,2822,2823,5,58,0,0,2823, - 605,1,0,0,0,2824,2825,5,44,0,0,2825,607,1,0,0,0,2826,2827,5,46,0, - 0,2827,609,1,0,0,0,2828,2829,5,40,0,0,2829,611,1,0,0,0,2830,2831, - 5,41,0,0,2831,613,1,0,0,0,2832,2833,5,123,0,0,2833,615,1,0,0,0,2834, - 2835,5,125,0,0,2835,617,1,0,0,0,2836,2837,5,91,0,0,2837,619,1,0, - 0,0,2838,2839,5,93,0,0,2839,621,1,0,0,0,2840,2841,5,91,0,0,2841, - 2842,5,93,0,0,2842,623,1,0,0,0,2843,2844,5,63,0,0,2844,625,1,0,0, - 0,2845,2846,5,36,0,0,2846,627,1,0,0,0,2847,2848,5,38,0,0,2848,629, - 1,0,0,0,2849,2850,5,124,0,0,2850,631,1,0,0,0,2851,2852,5,35,0,0, - 2852,633,1,0,0,0,2853,2859,5,39,0,0,2854,2858,8,0,0,0,2855,2856, - 5,39,0,0,2856,2858,5,39,0,0,2857,2854,1,0,0,0,2857,2855,1,0,0,0, - 2858,2861,1,0,0,0,2859,2857,1,0,0,0,2859,2860,1,0,0,0,2860,2862, - 1,0,0,0,2861,2859,1,0,0,0,2862,2863,5,39,0,0,2863,635,1,0,0,0,2864, - 2865,5,69,0,0,2865,2877,5,39,0,0,2866,2876,8,1,0,0,2867,2868,5,39, - 0,0,2868,2876,5,39,0,0,2869,2871,5,92,0,0,2870,2869,1,0,0,0,2871, - 2872,1,0,0,0,2872,2870,1,0,0,0,2872,2873,1,0,0,0,2873,2874,1,0,0, - 0,2874,2876,8,2,0,0,2875,2866,1,0,0,0,2875,2867,1,0,0,0,2875,2870, - 1,0,0,0,2876,2879,1,0,0,0,2877,2875,1,0,0,0,2877,2878,1,0,0,0,2878, - 2880,1,0,0,0,2879,2877,1,0,0,0,2880,2881,5,39,0,0,2881,637,1,0,0, - 0,2882,2883,5,66,0,0,2883,2887,5,39,0,0,2884,2886,7,3,0,0,2885,2884, - 1,0,0,0,2886,2889,1,0,0,0,2887,2885,1,0,0,0,2887,2888,1,0,0,0,2888, - 2890,1,0,0,0,2889,2887,1,0,0,0,2890,2891,5,39,0,0,2891,639,1,0,0, - 0,2892,2894,3,658,328,0,2893,2892,1,0,0,0,2894,2895,1,0,0,0,2895, - 2893,1,0,0,0,2895,2896,1,0,0,0,2896,2907,1,0,0,0,2897,2900,3,658, - 328,0,2898,2901,3,658,328,0,2899,2901,5,95,0,0,2900,2898,1,0,0,0, - 2900,2899,1,0,0,0,2901,2902,1,0,0,0,2902,2900,1,0,0,0,2902,2903, - 1,0,0,0,2903,2904,1,0,0,0,2904,2905,3,658,328,0,2905,2907,1,0,0, - 0,2906,2893,1,0,0,0,2906,2897,1,0,0,0,2907,641,1,0,0,0,2908,2909, - 3,640,319,0,2909,2911,5,46,0,0,2910,2912,3,640,319,0,2911,2910,1, - 0,0,0,2911,2912,1,0,0,0,2912,2940,1,0,0,0,2913,2915,5,46,0,0,2914, - 2916,3,658,328,0,2915,2914,1,0,0,0,2916,2917,1,0,0,0,2917,2915,1, - 0,0,0,2917,2918,1,0,0,0,2918,2940,1,0,0,0,2919,2927,3,640,319,0, - 2920,2924,5,46,0,0,2921,2923,3,658,328,0,2922,2921,1,0,0,0,2923, - 2926,1,0,0,0,2924,2922,1,0,0,0,2924,2925,1,0,0,0,2925,2928,1,0,0, - 0,2926,2924,1,0,0,0,2927,2920,1,0,0,0,2927,2928,1,0,0,0,2928,2929, - 1,0,0,0,2929,2930,3,656,327,0,2930,2940,1,0,0,0,2931,2933,5,46,0, - 0,2932,2934,3,658,328,0,2933,2932,1,0,0,0,2934,2935,1,0,0,0,2935, - 2933,1,0,0,0,2935,2936,1,0,0,0,2936,2937,1,0,0,0,2937,2938,3,656, - 327,0,2938,2940,1,0,0,0,2939,2908,1,0,0,0,2939,2913,1,0,0,0,2939, - 2919,1,0,0,0,2939,2931,1,0,0,0,2940,643,1,0,0,0,2941,2944,3,660, - 329,0,2942,2944,5,95,0,0,2943,2941,1,0,0,0,2943,2942,1,0,0,0,2944, - 2950,1,0,0,0,2945,2949,3,660,329,0,2946,2949,3,658,328,0,2947,2949, - 7,4,0,0,2948,2945,1,0,0,0,2948,2946,1,0,0,0,2948,2947,1,0,0,0,2949, - 2952,1,0,0,0,2950,2948,1,0,0,0,2950,2951,1,0,0,0,2951,645,1,0,0, - 0,2952,2950,1,0,0,0,2953,2957,3,658,328,0,2954,2958,3,660,329,0, - 2955,2958,3,658,328,0,2956,2958,7,4,0,0,2957,2954,1,0,0,0,2957,2955, - 1,0,0,0,2957,2956,1,0,0,0,2958,2959,1,0,0,0,2959,2957,1,0,0,0,2959, - 2960,1,0,0,0,2960,647,1,0,0,0,2961,2967,5,34,0,0,2962,2966,8,5,0, - 0,2963,2964,5,34,0,0,2964,2966,5,34,0,0,2965,2962,1,0,0,0,2965,2963, - 1,0,0,0,2966,2969,1,0,0,0,2967,2965,1,0,0,0,2967,2968,1,0,0,0,2968, - 2970,1,0,0,0,2969,2967,1,0,0,0,2970,2971,5,34,0,0,2971,649,1,0,0, - 0,2972,2978,5,96,0,0,2973,2977,8,6,0,0,2974,2975,5,96,0,0,2975,2977, - 5,96,0,0,2976,2973,1,0,0,0,2976,2974,1,0,0,0,2977,2980,1,0,0,0,2978, - 2976,1,0,0,0,2978,2979,1,0,0,0,2979,2981,1,0,0,0,2980,2978,1,0,0, - 0,2981,2982,5,96,0,0,2982,651,1,0,0,0,2983,2985,5,36,0,0,2984,2986, - 3,654,326,0,2985,2984,1,0,0,0,2985,2986,1,0,0,0,2986,2987,1,0,0, - 0,2987,2988,5,36,0,0,2988,2989,6,325,0,0,2989,2990,1,0,0,0,2990, - 2991,6,325,1,0,2991,653,1,0,0,0,2992,2993,3,644,321,0,2993,655,1, - 0,0,0,2994,2996,5,69,0,0,2995,2997,7,7,0,0,2996,2995,1,0,0,0,2996, - 2997,1,0,0,0,2997,2999,1,0,0,0,2998,3000,3,658,328,0,2999,2998,1, - 0,0,0,3000,3001,1,0,0,0,3001,2999,1,0,0,0,3001,3002,1,0,0,0,3002, - 657,1,0,0,0,3003,3004,7,8,0,0,3004,659,1,0,0,0,3005,3006,7,9,0,0, - 3006,661,1,0,0,0,3007,3008,5,45,0,0,3008,3009,5,45,0,0,3009,3013, - 1,0,0,0,3010,3012,8,10,0,0,3011,3010,1,0,0,0,3012,3015,1,0,0,0,3013, - 3011,1,0,0,0,3013,3014,1,0,0,0,3014,3017,1,0,0,0,3015,3013,1,0,0, - 0,3016,3018,5,13,0,0,3017,3016,1,0,0,0,3017,3018,1,0,0,0,3018,3020, - 1,0,0,0,3019,3021,5,10,0,0,3020,3019,1,0,0,0,3020,3021,1,0,0,0,3021, - 3034,1,0,0,0,3022,3023,5,47,0,0,3023,3024,5,42,0,0,3024,3028,1,0, - 0,0,3025,3027,9,0,0,0,3026,3025,1,0,0,0,3027,3030,1,0,0,0,3028,3029, - 1,0,0,0,3028,3026,1,0,0,0,3029,3031,1,0,0,0,3030,3028,1,0,0,0,3031, - 3032,5,42,0,0,3032,3034,5,47,0,0,3033,3007,1,0,0,0,3033,3022,1,0, - 0,0,3034,3035,1,0,0,0,3035,3036,6,330,2,0,3036,663,1,0,0,0,3037, - 3039,7,11,0,0,3038,3037,1,0,0,0,3039,3040,1,0,0,0,3040,3038,1,0, - 0,0,3040,3041,1,0,0,0,3041,3042,1,0,0,0,3042,3043,6,331,2,0,3043, - 665,1,0,0,0,3044,3045,9,0,0,0,3045,667,1,0,0,0,3046,3048,8,12,0, - 0,3047,3046,1,0,0,0,3048,3049,1,0,0,0,3049,3047,1,0,0,0,3049,3050, - 1,0,0,0,3050,3059,1,0,0,0,3051,3055,5,36,0,0,3052,3054,8,12,0,0, - 3053,3052,1,0,0,0,3054,3057,1,0,0,0,3055,3053,1,0,0,0,3055,3056, - 1,0,0,0,3056,3059,1,0,0,0,3057,3055,1,0,0,0,3058,3047,1,0,0,0,3058, - 3051,1,0,0,0,3059,669,1,0,0,0,3060,3062,5,36,0,0,3061,3063,3,654, - 326,0,3062,3061,1,0,0,0,3062,3063,1,0,0,0,3063,3064,1,0,0,0,3064, - 3065,5,36,0,0,3065,3066,1,0,0,0,3066,3067,4,334,0,0,3067,3068,6, - 334,3,0,3068,3069,1,0,0,0,3069,3070,6,334,4,0,3070,671,1,0,0,0,41, - 0,1,2775,2857,2859,2872,2875,2877,2887,2895,2900,2902,2906,2911, - 2917,2924,2927,2935,2939,2943,2948,2950,2957,2959,2965,2967,2976, - 2978,2985,2996,3001,3013,3017,3020,3028,3033,3040,3049,3055,3058, - 3062,5,1,325,0,5,1,0,0,1,0,1,334,1,4,0,0 - ] - -class SqlBaseLexer(AbstractSqlBaseLexer): - - atn = ATNDeserializer().deserialize(serializedATN()) - - decisionsToDFA = [ DFA(ds, i) for i, ds in enumerate(atn.decisionToState) ] - - DollarQuotedStringMode = 1 - - AUTHORIZATION = 1 - SELECT = 2 - FROM = 3 - TO = 4 - AS = 5 - AT = 6 - ALL = 7 - ANY = 8 - SOME = 9 - DEALLOCATE = 10 - DIRECTORY = 11 - DISTINCT = 12 - WHERE = 13 - GROUP = 14 - BY = 15 - ORDER = 16 - HAVING = 17 - LIMIT = 18 - OFFSET = 19 - OR = 20 - AND = 21 - IN = 22 - NOT = 23 - EXISTS = 24 - BETWEEN = 25 - LIKE = 26 - ILIKE = 27 - IS = 28 - NULL = 29 - TRUE = 30 - FALSE = 31 - IGNORE = 32 - RESPECT = 33 - NULLS = 34 - FETCH = 35 - FIRST = 36 - LAST = 37 - NEXT = 38 - ESCAPE = 39 - ASC = 40 - DESC = 41 - SUBSTRING = 42 - TRIM = 43 - LEADING = 44 - TRAILING = 45 - BOTH = 46 - FOR = 47 - TIME = 48 - ZONE = 49 - YEAR = 50 - MONTH = 51 - DAY = 52 - HOUR = 53 - MINUTE = 54 - SECOND = 55 - CURRENT_DATE = 56 - CURRENT_TIME = 57 - CURRENT_TIMESTAMP = 58 - CURRENT_SCHEMA = 59 - CURRENT_USER = 60 - CURRENT_ROLE = 61 - SESSION_USER = 62 - EXTRACT = 63 - CASE = 64 - WHEN = 65 - THEN = 66 - ELSE = 67 - END = 68 - IF = 69 - INTERVAL = 70 - JOIN = 71 - CROSS = 72 - OUTER = 73 - INNER = 74 - LEFT = 75 - RIGHT = 76 - FULL = 77 - NATURAL = 78 - USING = 79 - ON = 80 - OVER = 81 - WINDOW = 82 - PARTITION = 83 - PROMOTE = 84 - RANGE = 85 - ROWS = 86 - UNBOUNDED = 87 - PRECEDING = 88 - FOLLOWING = 89 - CURRENT = 90 - ROW = 91 - WITH = 92 - WITHOUT = 93 - RECURSIVE = 94 - CREATE = 95 - BLOB = 96 - TABLE = 97 - SWAP = 98 - GC = 99 - DANGLING = 100 - ARTIFACTS = 101 - DECOMMISSION = 102 - CLUSTER = 103 - REPOSITORY = 104 - SNAPSHOT = 105 - ALTER = 106 - KILL = 107 - ONLY = 108 - ADD = 109 - COLUMN = 110 - OPEN = 111 - CLOSE = 112 - RENAME = 113 - REROUTE = 114 - MOVE = 115 - SHARD = 116 - ALLOCATE = 117 - REPLICA = 118 - CANCEL = 119 - RETRY = 120 - FAILED = 121 - BOOLEAN = 122 - BYTE = 123 - SHORT = 124 - INTEGER = 125 - INT = 126 - LONG = 127 - FLOAT = 128 - DOUBLE = 129 - PRECISION = 130 - TIMESTAMP = 131 - IP = 132 - CHARACTER = 133 - CHAR_SPECIAL = 134 - VARYING = 135 - OBJECT = 136 - STRING_TYPE = 137 - GEO_POINT = 138 - GEO_SHAPE = 139 - GLOBAL = 140 - SESSION = 141 - LOCAL = 142 - BEGIN = 143 - START = 144 - COMMIT = 145 - WORK = 146 - TRANSACTION = 147 - TRANSACTION_ISOLATION = 148 - CHARACTERISTICS = 149 - ISOLATION = 150 - LEVEL = 151 - SERIALIZABLE = 152 - REPEATABLE = 153 - COMMITTED = 154 - UNCOMMITTED = 155 - READ = 156 - WRITE = 157 - DEFERRABLE = 158 - RETURNS = 159 - CALLED = 160 - REPLACE = 161 - FUNCTION = 162 - LANGUAGE = 163 - INPUT = 164 - ANALYZE = 165 - COSTS = 166 - VERBOSE = 167 - DISCARD = 168 - PLANS = 169 - SEQUENCES = 170 - TEMPORARY = 171 - TEMP = 172 - CONSTRAINT = 173 - CHECK = 174 - DESCRIBE = 175 - EXPLAIN = 176 - FORMAT = 177 - TYPE = 178 - TEXT = 179 - GRAPHVIZ = 180 - LOGICAL = 181 - DISTRIBUTED = 182 - CAST = 183 - TRY_CAST = 184 - SHOW = 185 - TABLES = 186 - SCHEMAS = 187 - CATALOGS = 188 - COLUMNS = 189 - PARTITIONS = 190 - FUNCTIONS = 191 - MATERIALIZED = 192 - VIEW = 193 - OPTIMIZE = 194 - REFRESH = 195 - RESTORE = 196 - DROP = 197 - ALIAS = 198 - UNION = 199 - EXCEPT = 200 - INTERSECT = 201 - SYSTEM = 202 - BERNOULLI = 203 - TABLESAMPLE = 204 - STRATIFY = 205 - INSERT = 206 - INTO = 207 - VALUES = 208 - DELETE = 209 - UPDATE = 210 - KEY = 211 - DUPLICATE = 212 - CONFLICT = 213 - DO = 214 - NOTHING = 215 - SET = 216 - RESET = 217 - DEFAULT = 218 - COPY = 219 - CLUSTERED = 220 - SHARDS = 221 - PRIMARY_KEY = 222 - OFF = 223 - FULLTEXT = 224 - FILTER = 225 - PLAIN = 226 - INDEX = 227 - STORAGE = 228 - RETURNING = 229 - DYNAMIC = 230 - STRICT = 231 - IGNORED = 232 - ARRAY = 233 - ANALYZER = 234 - EXTENDS = 235 - TOKENIZER = 236 - TOKEN_FILTERS = 237 - CHAR_FILTERS = 238 - PARTITIONED = 239 - PREPARE = 240 - TRANSIENT = 241 - PERSISTENT = 242 - MATCH = 243 - GENERATED = 244 - ALWAYS = 245 - USER = 246 - ROLE = 247 - GRANT = 248 - DENY = 249 - REVOKE = 250 - PRIVILEGES = 251 - SCHEMA = 252 - RETURN = 253 - SUMMARY = 254 - METADATA = 255 - PUBLICATION = 256 - SUBSCRIPTION = 257 - CONNECTION = 258 - ENABLE = 259 - DISABLE = 260 - DECLARE = 261 - CURSOR = 262 - ASENSITIVE = 263 - INSENSITIVE = 264 - BINARY = 265 - NO = 266 - SCROLL = 267 - HOLD = 268 - ABSOLUTE = 269 - FORWARD = 270 - BACKWARD = 271 - RELATIVE = 272 - PRIOR = 273 - SERVER = 274 - FOREIGN = 275 - DATA = 276 - WRAPPER = 277 - OPTIONS = 278 - MAPPING = 279 - CASCADE = 280 - RESTRICT = 281 - EQ = 282 - NEQ = 283 - LT = 284 - LTE = 285 - GT = 286 - GTE = 287 - LLT = 288 - REGEX_MATCH = 289 - REGEX_NO_MATCH = 290 - REGEX_MATCH_CI = 291 - REGEX_NO_MATCH_CI = 292 - PLUS = 293 - MINUS = 294 - ASTERISK = 295 - CARET = 296 - SLASH = 297 - PERCENT = 298 - CONCAT = 299 - CAST_OPERATOR = 300 - SEMICOLON = 301 - COLON = 302 - COMMA = 303 - DOT = 304 - OPEN_ROUND_BRACKET = 305 - CLOSE_ROUND_BRACKET = 306 - OPEN_CURLY_BRACKET = 307 - CLOSE_CURLY_BRACKET = 308 - OPEN_SQUARE_BRACKET = 309 - CLOSE_SQUARE_BRACKET = 310 - EMPTY_SQUARE_BRACKET = 311 - QUESTION = 312 - DOLLAR = 313 - BITWISE_AND = 314 - BITWISE_OR = 315 - BITWISE_XOR = 316 - STRING = 317 - ESCAPED_STRING = 318 - BIT_STRING = 319 - INTEGER_VALUE = 320 - DECIMAL_VALUE = 321 - IDENTIFIER = 322 - DIGIT_IDENTIFIER = 323 - QUOTED_IDENTIFIER = 324 - BACKQUOTED_IDENTIFIER = 325 - BEGIN_DOLLAR_QUOTED_STRING = 326 - COMMENT = 327 - WS = 328 - UNRECOGNIZED = 329 - DOLLAR_QUOTED_STRING_BODY = 330 - END_DOLLAR_QUOTED_STRING = 331 - - channelNames = [ u"DEFAULT_TOKEN_CHANNEL", u"HIDDEN" ] - - modeNames = [ "DEFAULT_MODE", "DollarQuotedStringMode" ] - - literalNames = [ "", - "'AUTHORIZATION'", "'SELECT'", "'FROM'", "'TO'", "'AS'", "'AT'", - "'ALL'", "'ANY'", "'SOME'", "'DEALLOCATE'", "'DIRECTORY'", "'DISTINCT'", - "'WHERE'", "'GROUP'", "'BY'", "'ORDER'", "'HAVING'", "'LIMIT'", - "'OFFSET'", "'OR'", "'AND'", "'IN'", "'NOT'", "'EXISTS'", "'BETWEEN'", - "'LIKE'", "'ILIKE'", "'IS'", "'NULL'", "'TRUE'", "'FALSE'", - "'IGNORE'", "'RESPECT'", "'NULLS'", "'FETCH'", "'FIRST'", "'LAST'", - "'NEXT'", "'ESCAPE'", "'ASC'", "'DESC'", "'SUBSTRING'", "'TRIM'", - "'LEADING'", "'TRAILING'", "'BOTH'", "'FOR'", "'TIME'", "'ZONE'", - "'YEAR'", "'MONTH'", "'DAY'", "'HOUR'", "'MINUTE'", "'SECOND'", - "'CURRENT_DATE'", "'CURRENT_TIME'", "'CURRENT_TIMESTAMP'", "'CURRENT_SCHEMA'", - "'CURRENT_USER'", "'CURRENT_ROLE'", "'SESSION_USER'", "'EXTRACT'", - "'CASE'", "'WHEN'", "'THEN'", "'ELSE'", "'END'", "'IF'", "'INTERVAL'", - "'JOIN'", "'CROSS'", "'OUTER'", "'INNER'", "'LEFT'", "'RIGHT'", - "'FULL'", "'NATURAL'", "'USING'", "'ON'", "'OVER'", "'WINDOW'", - "'PARTITION'", "'PROMOTE'", "'RANGE'", "'ROWS'", "'UNBOUNDED'", - "'PRECEDING'", "'FOLLOWING'", "'CURRENT'", "'ROW'", "'WITH'", - "'WITHOUT'", "'RECURSIVE'", "'CREATE'", "'BLOB'", "'TABLE'", - "'SWAP'", "'GC'", "'DANGLING'", "'ARTIFACTS'", "'DECOMMISSION'", - "'CLUSTER'", "'REPOSITORY'", "'SNAPSHOT'", "'ALTER'", "'KILL'", - "'ONLY'", "'ADD'", "'COLUMN'", "'OPEN'", "'CLOSE'", "'RENAME'", - "'REROUTE'", "'MOVE'", "'SHARD'", "'ALLOCATE'", "'REPLICA'", - "'CANCEL'", "'RETRY'", "'FAILED'", "'BOOLEAN'", "'BYTE'", "'SHORT'", - "'INTEGER'", "'INT'", "'LONG'", "'FLOAT'", "'DOUBLE'", "'PRECISION'", - "'TIMESTAMP'", "'IP'", "'CHARACTER'", "'\"CHAR\"'", "'VARYING'", - "'OBJECT'", "'STRING'", "'GEO_POINT'", "'GEO_SHAPE'", "'GLOBAL'", - "'SESSION'", "'LOCAL'", "'BEGIN'", "'START'", "'COMMIT'", "'WORK'", - "'TRANSACTION'", "'TRANSACTION_ISOLATION'", "'CHARACTERISTICS'", - "'ISOLATION'", "'LEVEL'", "'SERIALIZABLE'", "'REPEATABLE'", - "'COMMITTED'", "'UNCOMMITTED'", "'READ'", "'WRITE'", "'DEFERRABLE'", - "'RETURNS'", "'CALLED'", "'REPLACE'", "'FUNCTION'", "'LANGUAGE'", - "'INPUT'", "'ANALYZE'", "'COSTS'", "'VERBOSE'", "'DISCARD'", - "'PLANS'", "'SEQUENCES'", "'TEMPORARY'", "'TEMP'", "'CONSTRAINT'", - "'CHECK'", "'DESCRIBE'", "'EXPLAIN'", "'FORMAT'", "'TYPE'", - "'TEXT'", "'GRAPHVIZ'", "'LOGICAL'", "'DISTRIBUTED'", "'CAST'", - "'TRY_CAST'", "'SHOW'", "'TABLES'", "'SCHEMAS'", "'CATALOGS'", - "'COLUMNS'", "'PARTITIONS'", "'FUNCTIONS'", "'MATERIALIZED'", - "'VIEW'", "'OPTIMIZE'", "'REFRESH'", "'RESTORE'", "'DROP'", - "'ALIAS'", "'UNION'", "'EXCEPT'", "'INTERSECT'", "'SYSTEM'", - "'BERNOULLI'", "'TABLESAMPLE'", "'STRATIFY'", "'INSERT'", "'INTO'", - "'VALUES'", "'DELETE'", "'UPDATE'", "'KEY'", "'DUPLICATE'", - "'CONFLICT'", "'DO'", "'NOTHING'", "'SET'", "'RESET'", "'DEFAULT'", - "'COPY'", "'CLUSTERED'", "'SHARDS'", "'PRIMARY KEY'", "'OFF'", - "'FULLTEXT'", "'FILTER'", "'PLAIN'", "'INDEX'", "'STORAGE'", - "'RETURNING'", "'DYNAMIC'", "'STRICT'", "'IGNORED'", "'ARRAY'", - "'ANALYZER'", "'EXTENDS'", "'TOKENIZER'", "'TOKEN_FILTERS'", - "'CHAR_FILTERS'", "'PARTITIONED'", "'PREPARE'", "'TRANSIENT'", - "'PERSISTENT'", "'MATCH'", "'GENERATED'", "'ALWAYS'", "'USER'", - "'ROLE'", "'GRANT'", "'DENY'", "'REVOKE'", "'PRIVILEGES'", "'SCHEMA'", - "'RETURN'", "'SUMMARY'", "'METADATA'", "'PUBLICATION'", "'SUBSCRIPTION'", - "'CONNECTION'", "'ENABLE'", "'DISABLE'", "'DECLARE'", "'CURSOR'", - "'ASENSITIVE'", "'INSENSITIVE'", "'BINARY'", "'NO'", "'SCROLL'", - "'HOLD'", "'ABSOLUTE'", "'FORWARD'", "'BACKWARD'", "'RELATIVE'", - "'PRIOR'", "'SERVER'", "'FOREIGN'", "'DATA'", "'WRAPPER'", "'OPTIONS'", - "'MAPPING'", "'CASCADE'", "'RESTRICT'", "'='", "'<'", "'<='", - "'>'", "'>='", "'<<'", "'~'", "'!~'", "'~*'", "'!~*'", "'+'", - "'-'", "'*'", "'^'", "'/'", "'%'", "'||'", "'::'", "';'", "':'", - "','", "'.'", "'('", "')'", "'{'", "'}'", "'['", "']'", "'[]'", - "'?'", "'$'", "'&'", "'|'", "'#'" ] - - symbolicNames = [ "", - "AUTHORIZATION", "SELECT", "FROM", "TO", "AS", "AT", "ALL", - "ANY", "SOME", "DEALLOCATE", "DIRECTORY", "DISTINCT", "WHERE", - "GROUP", "BY", "ORDER", "HAVING", "LIMIT", "OFFSET", "OR", "AND", - "IN", "NOT", "EXISTS", "BETWEEN", "LIKE", "ILIKE", "IS", "NULL", - "TRUE", "FALSE", "IGNORE", "RESPECT", "NULLS", "FETCH", "FIRST", - "LAST", "NEXT", "ESCAPE", "ASC", "DESC", "SUBSTRING", "TRIM", - "LEADING", "TRAILING", "BOTH", "FOR", "TIME", "ZONE", "YEAR", - "MONTH", "DAY", "HOUR", "MINUTE", "SECOND", "CURRENT_DATE", - "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_SCHEMA", "CURRENT_USER", - "CURRENT_ROLE", "SESSION_USER", "EXTRACT", "CASE", "WHEN", "THEN", - "ELSE", "END", "IF", "INTERVAL", "JOIN", "CROSS", "OUTER", "INNER", - "LEFT", "RIGHT", "FULL", "NATURAL", "USING", "ON", "OVER", "WINDOW", - "PARTITION", "PROMOTE", "RANGE", "ROWS", "UNBOUNDED", "PRECEDING", - "FOLLOWING", "CURRENT", "ROW", "WITH", "WITHOUT", "RECURSIVE", - "CREATE", "BLOB", "TABLE", "SWAP", "GC", "DANGLING", "ARTIFACTS", - "DECOMMISSION", "CLUSTER", "REPOSITORY", "SNAPSHOT", "ALTER", - "KILL", "ONLY", "ADD", "COLUMN", "OPEN", "CLOSE", "RENAME", - "REROUTE", "MOVE", "SHARD", "ALLOCATE", "REPLICA", "CANCEL", - "RETRY", "FAILED", "BOOLEAN", "BYTE", "SHORT", "INTEGER", "INT", - "LONG", "FLOAT", "DOUBLE", "PRECISION", "TIMESTAMP", "IP", "CHARACTER", - "CHAR_SPECIAL", "VARYING", "OBJECT", "STRING_TYPE", "GEO_POINT", - "GEO_SHAPE", "GLOBAL", "SESSION", "LOCAL", "BEGIN", "START", - "COMMIT", "WORK", "TRANSACTION", "TRANSACTION_ISOLATION", "CHARACTERISTICS", - "ISOLATION", "LEVEL", "SERIALIZABLE", "REPEATABLE", "COMMITTED", - "UNCOMMITTED", "READ", "WRITE", "DEFERRABLE", "RETURNS", "CALLED", - "REPLACE", "FUNCTION", "LANGUAGE", "INPUT", "ANALYZE", "COSTS", - "VERBOSE", "DISCARD", "PLANS", "SEQUENCES", "TEMPORARY", "TEMP", - "CONSTRAINT", "CHECK", "DESCRIBE", "EXPLAIN", "FORMAT", "TYPE", - "TEXT", "GRAPHVIZ", "LOGICAL", "DISTRIBUTED", "CAST", "TRY_CAST", - "SHOW", "TABLES", "SCHEMAS", "CATALOGS", "COLUMNS", "PARTITIONS", - "FUNCTIONS", "MATERIALIZED", "VIEW", "OPTIMIZE", "REFRESH", - "RESTORE", "DROP", "ALIAS", "UNION", "EXCEPT", "INTERSECT", - "SYSTEM", "BERNOULLI", "TABLESAMPLE", "STRATIFY", "INSERT", - "INTO", "VALUES", "DELETE", "UPDATE", "KEY", "DUPLICATE", "CONFLICT", - "DO", "NOTHING", "SET", "RESET", "DEFAULT", "COPY", "CLUSTERED", - "SHARDS", "PRIMARY_KEY", "OFF", "FULLTEXT", "FILTER", "PLAIN", - "INDEX", "STORAGE", "RETURNING", "DYNAMIC", "STRICT", "IGNORED", - "ARRAY", "ANALYZER", "EXTENDS", "TOKENIZER", "TOKEN_FILTERS", - "CHAR_FILTERS", "PARTITIONED", "PREPARE", "TRANSIENT", "PERSISTENT", - "MATCH", "GENERATED", "ALWAYS", "USER", "ROLE", "GRANT", "DENY", - "REVOKE", "PRIVILEGES", "SCHEMA", "RETURN", "SUMMARY", "METADATA", - "PUBLICATION", "SUBSCRIPTION", "CONNECTION", "ENABLE", "DISABLE", - "DECLARE", "CURSOR", "ASENSITIVE", "INSENSITIVE", "BINARY", - "NO", "SCROLL", "HOLD", "ABSOLUTE", "FORWARD", "BACKWARD", "RELATIVE", - "PRIOR", "SERVER", "FOREIGN", "DATA", "WRAPPER", "OPTIONS", - "MAPPING", "CASCADE", "RESTRICT", "EQ", "NEQ", "LT", "LTE", - "GT", "GTE", "LLT", "REGEX_MATCH", "REGEX_NO_MATCH", "REGEX_MATCH_CI", - "REGEX_NO_MATCH_CI", "PLUS", "MINUS", "ASTERISK", "CARET", "SLASH", - "PERCENT", "CONCAT", "CAST_OPERATOR", "SEMICOLON", "COLON", - "COMMA", "DOT", "OPEN_ROUND_BRACKET", "CLOSE_ROUND_BRACKET", - "OPEN_CURLY_BRACKET", "CLOSE_CURLY_BRACKET", "OPEN_SQUARE_BRACKET", - "CLOSE_SQUARE_BRACKET", "EMPTY_SQUARE_BRACKET", "QUESTION", - "DOLLAR", "BITWISE_AND", "BITWISE_OR", "BITWISE_XOR", "STRING", - "ESCAPED_STRING", "BIT_STRING", "INTEGER_VALUE", "DECIMAL_VALUE", - "IDENTIFIER", "DIGIT_IDENTIFIER", "QUOTED_IDENTIFIER", "BACKQUOTED_IDENTIFIER", - "BEGIN_DOLLAR_QUOTED_STRING", "COMMENT", "WS", "UNRECOGNIZED", - "DOLLAR_QUOTED_STRING_BODY", "END_DOLLAR_QUOTED_STRING" ] - - ruleNames = [ "AUTHORIZATION", "SELECT", "FROM", "TO", "AS", "AT", "ALL", - "ANY", "SOME", "DEALLOCATE", "DIRECTORY", "DISTINCT", - "WHERE", "GROUP", "BY", "ORDER", "HAVING", "LIMIT", "OFFSET", - "OR", "AND", "IN", "NOT", "EXISTS", "BETWEEN", "LIKE", - "ILIKE", "IS", "NULL", "TRUE", "FALSE", "IGNORE", "RESPECT", - "NULLS", "FETCH", "FIRST", "LAST", "NEXT", "ESCAPE", "ASC", - "DESC", "SUBSTRING", "TRIM", "LEADING", "TRAILING", "BOTH", - "FOR", "TIME", "ZONE", "YEAR", "MONTH", "DAY", "HOUR", - "MINUTE", "SECOND", "CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", - "CURRENT_SCHEMA", "CURRENT_USER", "CURRENT_ROLE", "SESSION_USER", - "EXTRACT", "CASE", "WHEN", "THEN", "ELSE", "END", "IF", - "INTERVAL", "JOIN", "CROSS", "OUTER", "INNER", "LEFT", - "RIGHT", "FULL", "NATURAL", "USING", "ON", "OVER", "WINDOW", - "PARTITION", "PROMOTE", "RANGE", "ROWS", "UNBOUNDED", - "PRECEDING", "FOLLOWING", "CURRENT", "ROW", "WITH", "WITHOUT", - "RECURSIVE", "CREATE", "BLOB", "TABLE", "SWAP", "GC", - "DANGLING", "ARTIFACTS", "DECOMMISSION", "CLUSTER", "REPOSITORY", - "SNAPSHOT", "ALTER", "KILL", "ONLY", "ADD", "COLUMN", - "OPEN", "CLOSE", "RENAME", "REROUTE", "MOVE", "SHARD", - "ALLOCATE", "REPLICA", "CANCEL", "RETRY", "FAILED", "BOOLEAN", - "BYTE", "SHORT", "INTEGER", "INT", "LONG", "FLOAT", "DOUBLE", - "PRECISION", "TIMESTAMP", "IP", "CHARACTER", "CHAR_SPECIAL", - "VARYING", "OBJECT", "STRING_TYPE", "GEO_POINT", "GEO_SHAPE", - "GLOBAL", "SESSION", "LOCAL", "BEGIN", "START", "COMMIT", - "WORK", "TRANSACTION", "TRANSACTION_ISOLATION", "CHARACTERISTICS", - "ISOLATION", "LEVEL", "SERIALIZABLE", "REPEATABLE", "COMMITTED", - "UNCOMMITTED", "READ", "WRITE", "DEFERRABLE", "RETURNS", - "CALLED", "REPLACE", "FUNCTION", "LANGUAGE", "INPUT", - "ANALYZE", "COSTS", "VERBOSE", "DISCARD", "PLANS", "SEQUENCES", - "TEMPORARY", "TEMP", "CONSTRAINT", "CHECK", "DESCRIBE", - "EXPLAIN", "FORMAT", "TYPE", "TEXT", "GRAPHVIZ", "LOGICAL", - "DISTRIBUTED", "CAST", "TRY_CAST", "SHOW", "TABLES", "SCHEMAS", - "CATALOGS", "COLUMNS", "PARTITIONS", "FUNCTIONS", "MATERIALIZED", - "VIEW", "OPTIMIZE", "REFRESH", "RESTORE", "DROP", "ALIAS", - "UNION", "EXCEPT", "INTERSECT", "SYSTEM", "BERNOULLI", - "TABLESAMPLE", "STRATIFY", "INSERT", "INTO", "VALUES", - "DELETE", "UPDATE", "KEY", "DUPLICATE", "CONFLICT", "DO", - "NOTHING", "SET", "RESET", "DEFAULT", "COPY", "CLUSTERED", - "SHARDS", "PRIMARY_KEY", "OFF", "FULLTEXT", "FILTER", - "PLAIN", "INDEX", "STORAGE", "RETURNING", "DYNAMIC", "STRICT", - "IGNORED", "ARRAY", "ANALYZER", "EXTENDS", "TOKENIZER", - "TOKEN_FILTERS", "CHAR_FILTERS", "PARTITIONED", "PREPARE", - "TRANSIENT", "PERSISTENT", "MATCH", "GENERATED", "ALWAYS", - "USER", "ROLE", "GRANT", "DENY", "REVOKE", "PRIVILEGES", - "SCHEMA", "RETURN", "SUMMARY", "METADATA", "PUBLICATION", - "SUBSCRIPTION", "CONNECTION", "ENABLE", "DISABLE", "DECLARE", - "CURSOR", "ASENSITIVE", "INSENSITIVE", "BINARY", "NO", - "SCROLL", "HOLD", "ABSOLUTE", "FORWARD", "BACKWARD", "RELATIVE", - "PRIOR", "SERVER", "FOREIGN", "DATA", "WRAPPER", "OPTIONS", - "MAPPING", "CASCADE", "RESTRICT", "EQ", "NEQ", "LT", "LTE", - "GT", "GTE", "LLT", "REGEX_MATCH", "REGEX_NO_MATCH", "REGEX_MATCH_CI", - "REGEX_NO_MATCH_CI", "PLUS", "MINUS", "ASTERISK", "CARET", - "SLASH", "PERCENT", "CONCAT", "CAST_OPERATOR", "SEMICOLON", - "COLON", "COMMA", "DOT", "OPEN_ROUND_BRACKET", "CLOSE_ROUND_BRACKET", - "OPEN_CURLY_BRACKET", "CLOSE_CURLY_BRACKET", "OPEN_SQUARE_BRACKET", - "CLOSE_SQUARE_BRACKET", "EMPTY_SQUARE_BRACKET", "QUESTION", - "DOLLAR", "BITWISE_AND", "BITWISE_OR", "BITWISE_XOR", - "STRING", "ESCAPED_STRING", "BIT_STRING", "INTEGER_VALUE", - "DECIMAL_VALUE", "IDENTIFIER", "DIGIT_IDENTIFIER", "QUOTED_IDENTIFIER", - "BACKQUOTED_IDENTIFIER", "BEGIN_DOLLAR_QUOTED_STRING", - "TAG", "EXPONENT", "DIGIT", "LETTER", "COMMENT", "WS", - "UNRECOGNIZED", "DOLLAR_QUOTED_STRING_BODY", "END_DOLLAR_QUOTED_STRING" ] - - grammarFileName = "SqlBaseLexer.g4" - - def __init__(self, input=None, output:TextIO = sys.stdout): - super().__init__(input, output) - self.checkVersion("4.13.1") - self._interp = LexerATNSimulator(self, self.atn, self.decisionsToDFA, PredictionContextCache()) - self._actions = None - self._predicates = None - - - def action(self, localctx:RuleContext, ruleIndex:int, actionIndex:int): - if self._actions is None: - actions = dict() - actions[325] = self.BEGIN_DOLLAR_QUOTED_STRING_action - actions[334] = self.END_DOLLAR_QUOTED_STRING_action - self._actions = actions - action = self._actions.get(ruleIndex, None) - if action is not None: - action(localctx, actionIndex) - else: - raise Exception("No registered action for:" + str(ruleIndex)) - - - def BEGIN_DOLLAR_QUOTED_STRING_action(self, localctx:RuleContext , actionIndex:int): - if actionIndex == 0: - pushTag(); - - - def END_DOLLAR_QUOTED_STRING_action(self, localctx:RuleContext , actionIndex:int): - if actionIndex == 1: - popTag(); - - - def sempred(self, localctx:RuleContext, ruleIndex:int, predIndex:int): - if self._predicates is None: - preds = dict() - preds[334] = self.END_DOLLAR_QUOTED_STRING_sempred - self._predicates = preds - pred = self._predicates.get(ruleIndex, None) - if pred is not None: - return pred(localctx, predIndex) - else: - raise Exception("No registered predicate for:" + str(ruleIndex)) - - def END_DOLLAR_QUOTED_STRING_sempred(self, localctx:RuleContext, predIndex:int): - if predIndex == 0: - return isTag() - - - diff --git a/cratedb_sqlparse/parser/generated_parser/SqlBaseParser.py b/cratedb_sqlparse/parser/generated_parser/SqlBaseParser.py deleted file mode 100644 index e6a34f8..0000000 --- a/cratedb_sqlparse/parser/generated_parser/SqlBaseParser.py +++ /dev/null @@ -1,20378 +0,0 @@ -# Generated from SqlBaseParser.g4 by ANTLR 4.13.1 -# encoding: utf-8 -from antlr4 import * -from io import StringIO -import sys -if sys.version_info[1] > 5: - from typing import TextIO -else: - from typing.io import TextIO - -def serializedATN(): - return [ - 4,1,331,2621,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6, - 7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7, - 13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2, - 20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7, - 26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2, - 33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7, - 39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2, - 46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7, - 52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2, - 59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7, - 65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2, - 72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7, - 78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2, - 85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7, - 91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2, - 98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103, - 2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109, - 7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114, - 2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120, - 7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,1,0,1,0,1, - 0,5,0,254,8,0,10,0,12,0,257,9,0,1,0,3,0,260,8,0,1,0,1,0,1,1,1,1, - 3,1,266,8,1,1,1,1,1,1,2,1,2,1,2,1,3,1,3,1,3,3,3,276,8,3,1,3,1,3, - 3,3,280,8,3,1,3,5,3,283,8,3,10,3,12,3,286,9,3,3,3,288,8,3,1,3,1, - 3,1,3,1,3,3,3,294,8,3,1,3,5,3,297,8,3,10,3,12,3,300,9,3,3,3,302, - 8,3,1,3,1,3,3,3,306,8,3,1,3,1,3,3,3,310,8,3,1,3,1,3,1,3,1,3,5,3, - 316,8,3,10,3,12,3,319,9,3,3,3,321,8,3,1,3,1,3,1,3,1,3,1,3,3,3,328, - 8,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,5,3,339,8,3,10,3,12,3,342, - 9,3,1,3,3,3,345,8,3,1,3,3,3,348,8,3,1,3,1,3,1,3,1,3,3,3,354,8,3, - 1,3,1,3,1,3,1,3,1,3,3,3,361,8,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3, - 3,3,371,8,3,1,3,1,3,1,3,3,3,376,8,3,1,3,1,3,1,3,1,3,1,3,3,3,383, - 8,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,391,8,3,1,3,1,3,1,3,3,3,396,8,3, - 1,3,1,3,1,3,3,3,401,8,3,1,3,1,3,1,3,1,3,1,3,1,3,5,3,409,8,3,10,3, - 12,3,412,9,3,1,3,1,3,1,3,1,3,3,3,418,8,3,1,3,1,3,1,3,1,3,5,3,424, - 8,3,10,3,12,3,427,9,3,1,3,1,3,3,3,431,8,3,1,3,1,3,1,3,1,3,3,3,437, - 8,3,1,3,1,3,1,3,1,3,1,3,3,3,444,8,3,1,3,1,3,1,3,1,3,1,3,1,3,5,3, - 452,8,3,10,3,12,3,455,9,3,3,3,457,8,3,1,3,1,3,1,3,3,3,462,8,3,1, - 3,1,3,1,3,5,3,467,8,3,10,3,12,3,470,9,3,1,3,1,3,1,3,1,3,1,3,1,3, - 3,3,478,8,3,1,3,1,3,1,3,3,3,483,8,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3, - 5,3,492,8,3,10,3,12,3,495,9,3,1,3,1,3,3,3,499,8,3,1,3,1,3,3,3,503, - 8,3,1,3,3,3,506,8,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,516,8,3, - 1,3,3,3,519,8,3,1,3,1,3,1,3,1,3,1,3,1,3,5,3,527,8,3,10,3,12,3,530, - 9,3,1,3,1,3,3,3,534,8,3,1,3,1,3,1,3,3,3,539,8,3,1,3,1,3,3,3,543, - 8,3,1,3,1,3,1,3,3,3,548,8,3,1,3,3,3,551,8,3,1,3,1,3,3,3,555,8,3, - 1,3,1,3,3,3,559,8,3,1,3,1,3,1,3,1,3,1,3,3,3,566,8,3,3,3,568,8,3, - 1,3,1,3,1,3,1,3,3,3,574,8,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,582,8,3, - 3,3,584,8,3,1,3,1,3,1,3,1,3,3,3,590,8,3,1,3,1,3,1,3,1,3,1,3,1,3, - 3,3,598,8,3,3,3,600,8,3,1,3,1,3,1,3,1,3,3,3,606,8,3,1,3,1,3,1,3, - 1,3,1,3,3,3,613,8,3,1,3,1,3,3,3,617,8,3,1,3,1,3,1,3,1,3,1,3,1,3, - 1,3,1,3,1,3,3,3,628,8,3,1,3,1,3,1,3,1,3,1,3,3,3,635,8,3,1,3,3,3, - 638,8,3,1,3,1,3,1,3,1,3,3,3,644,8,3,3,3,646,8,3,1,4,1,4,1,4,1,4, - 1,4,3,4,653,8,4,1,4,1,4,1,4,1,4,1,4,3,4,660,8,4,1,4,1,4,1,4,1,4, - 1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,3,4,676,8,4,1,4,1,4,1,4, - 1,4,1,4,5,4,683,8,4,10,4,12,4,686,9,4,3,4,688,8,4,1,4,1,4,1,4,1, - 4,1,4,1,4,3,4,696,8,4,1,4,1,4,1,4,1,4,1,4,3,4,703,8,4,1,4,1,4,1, - 4,1,4,1,4,1,4,1,4,1,4,3,4,713,8,4,1,4,1,4,1,4,1,4,1,4,3,4,720,8, - 4,1,4,1,4,1,4,1,4,1,4,3,4,727,8,4,1,4,1,4,3,4,731,8,4,1,4,1,4,1, - 4,1,4,1,4,3,4,738,8,4,1,4,1,4,3,4,742,8,4,1,4,1,4,1,4,1,4,1,4,3, - 4,749,8,4,1,4,1,4,1,4,1,4,1,4,3,4,756,8,4,1,5,1,5,1,5,1,5,1,5,1, - 5,5,5,764,8,5,10,5,12,5,767,9,5,1,5,1,5,1,5,1,5,1,5,1,5,5,5,775, - 8,5,10,5,12,5,778,9,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1, - 5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,5,5,800,8,5,10,5,12,5,803, - 9,5,1,5,1,5,3,5,807,8,5,3,5,809,8,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5, - 1,5,1,5,1,5,1,5,1,5,1,5,1,5,5,5,825,8,5,10,5,12,5,828,9,5,1,5,1, - 5,3,5,832,8,5,3,5,834,8,5,1,5,1,5,3,5,838,8,5,1,5,1,5,1,5,1,5,1, - 5,1,5,3,5,846,8,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,3,5,856,8,5,1, - 5,1,5,1,5,1,5,3,5,862,8,5,1,5,1,5,1,5,1,5,1,5,1,5,3,5,870,8,5,1, - 5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1, - 5,1,5,3,5,890,8,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1, - 5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,3,5,916,8,5,1, - 5,1,5,1,5,3,5,921,8,5,5,5,923,8,5,10,5,12,5,926,9,5,1,5,1,5,1,5, - 1,5,1,5,3,5,933,8,5,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,3,6,944, - 8,6,1,7,3,7,947,8,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,5,8,957,8,8, - 10,8,12,8,960,9,8,3,8,962,8,8,1,8,3,8,965,8,8,1,8,3,8,968,8,8,1, - 8,3,8,971,8,8,1,8,3,8,974,8,8,3,8,976,8,8,1,9,1,9,1,9,3,9,981,8, - 9,1,9,1,9,1,9,1,9,1,9,1,9,3,9,989,8,9,1,10,1,10,1,10,3,10,994,8, - 10,1,11,1,11,1,11,1,11,1,11,1,11,3,11,1002,8,11,1,11,1,11,1,11,3, - 11,1007,8,11,1,11,5,11,1010,8,11,10,11,12,11,1013,9,11,1,12,1,12, - 1,13,1,13,3,13,1019,8,13,1,13,1,13,3,13,1023,8,13,1,14,1,14,3,14, - 1027,8,14,1,14,1,14,1,14,5,14,1032,8,14,10,14,12,14,1035,9,14,1, - 14,1,14,1,14,1,14,5,14,1041,8,14,10,14,12,14,1044,9,14,3,14,1046, - 8,14,1,14,3,14,1049,8,14,1,14,1,14,1,14,1,14,1,14,5,14,1056,8,14, - 10,14,12,14,1059,9,14,3,14,1061,8,14,1,14,1,14,3,14,1065,8,14,1, - 14,1,14,1,14,1,14,5,14,1071,8,14,10,14,12,14,1074,9,14,3,14,1076, - 8,14,1,14,1,14,1,14,1,14,5,14,1082,8,14,10,14,12,14,1085,9,14,3, - 14,1087,8,14,1,15,1,15,3,15,1091,8,15,1,15,3,15,1094,8,15,1,15,1, - 15,1,15,1,15,1,15,3,15,1101,8,15,1,16,1,16,1,16,1,17,1,17,1,17,1, - 17,5,17,1110,8,17,10,17,12,17,1113,9,17,1,18,1,18,1,18,1,18,1,18, - 1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19, - 1,19,1,19,1,19,1,19,3,19,1137,8,19,5,19,1139,8,19,10,19,12,19,1142, - 9,19,1,20,3,20,1145,8,20,1,20,1,20,3,20,1149,8,20,1,20,1,20,3,20, - 1153,8,20,1,20,1,20,3,20,1157,8,20,3,20,1159,8,20,1,21,1,21,1,21, - 1,21,1,21,1,21,1,21,5,21,1168,8,21,10,21,12,21,1171,9,21,1,21,1, - 21,3,21,1175,8,21,1,22,1,22,3,22,1179,8,22,1,22,1,22,3,22,1183,8, - 22,3,22,1185,8,22,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,3, - 23,1196,8,23,1,24,1,24,1,24,1,24,1,24,1,24,5,24,1204,8,24,10,24, - 12,24,1207,9,24,1,24,1,24,3,24,1211,8,24,1,25,1,25,1,25,1,25,3,25, - 1217,8,25,1,25,1,25,5,25,1221,8,25,10,25,12,25,1224,9,25,1,25,1, - 25,3,25,1228,8,25,1,26,1,26,1,26,1,26,5,26,1234,8,26,10,26,12,26, - 1237,9,26,1,26,1,26,1,27,1,27,1,27,1,27,5,27,1245,8,27,10,27,12, - 27,1248,9,27,1,28,1,28,3,28,1252,8,28,1,28,1,28,1,28,1,28,1,28,1, - 29,1,29,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1, - 30,1,30,3,30,1274,8,30,3,30,1276,8,30,3,30,1278,8,30,1,30,1,30,1, - 30,1,30,1,30,1,30,5,30,1286,8,30,10,30,12,30,1289,9,30,1,31,1,31, - 3,31,1293,8,31,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,3,32,1303, - 8,32,1,32,1,32,1,32,1,32,1,32,1,32,3,32,1311,8,32,1,32,1,32,1,32, - 1,32,1,32,5,32,1318,8,32,10,32,12,32,1321,9,32,1,32,1,32,1,32,3, - 32,1326,8,32,1,32,1,32,1,32,3,32,1331,8,32,1,32,1,32,1,32,1,32,3, - 32,1337,8,32,1,32,3,32,1340,8,32,1,32,1,32,1,32,1,32,1,32,1,32,1, - 32,3,32,1349,8,32,1,32,1,32,3,32,1353,8,32,1,32,1,32,1,32,3,32,1358, - 8,32,1,32,1,32,1,32,3,32,1363,8,32,1,33,1,33,1,33,1,33,1,33,1,33, - 1,33,3,33,1372,8,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33, - 1,33,1,33,1,33,1,33,1,33,1,33,5,33,1389,8,33,10,33,12,33,1392,9, - 33,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,3,34,1402,8,34,1,34,3, - 34,1405,8,34,1,34,1,34,1,34,1,34,3,34,1411,8,34,1,34,1,34,1,34,5, - 34,1416,8,34,10,34,12,34,1419,9,34,3,34,1421,8,34,1,34,1,34,3,34, - 1425,8,34,1,34,1,34,3,34,1429,8,34,1,34,3,34,1432,8,34,1,34,1,34, - 1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34, - 1,34,1,34,1,34,1,34,5,34,1453,8,34,10,34,12,34,1456,9,34,1,34,3, - 34,1459,8,34,1,34,3,34,1462,8,34,1,34,1,34,1,34,1,34,1,34,1,34,1, - 34,1,34,1,34,1,34,1,34,1,34,1,34,3,34,1477,8,34,1,34,1,34,3,34,1481, - 8,34,1,34,1,34,1,34,1,34,5,34,1487,8,34,10,34,12,34,1490,9,34,1, - 35,1,35,1,35,1,35,1,35,1,35,3,35,1498,8,35,1,35,1,35,1,35,1,35,1, - 35,3,35,1505,8,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1, - 35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1, - 35,1,35,3,35,1531,8,35,1,35,1,35,1,35,1,35,1,35,3,35,1538,8,35,1, - 35,3,35,1541,8,35,1,35,3,35,1544,8,35,1,35,1,35,1,35,1,35,1,35,1, - 35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1, - 35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,4,35,1573,8,35,11,35, - 12,35,1574,1,35,1,35,3,35,1579,8,35,1,35,1,35,1,35,1,35,4,35,1585, - 8,35,11,35,12,35,1586,1,35,1,35,3,35,1591,8,35,1,35,1,35,1,35,1, - 35,1,35,1,35,1,35,1,35,1,35,3,35,1602,8,35,1,35,1,35,1,35,1,35,3, - 35,1608,8,35,1,36,1,36,1,36,1,36,1,37,1,37,3,37,1616,8,37,1,37,1, - 37,1,37,1,37,5,37,1622,8,37,10,37,12,37,1625,9,37,3,37,1627,8,37, - 1,37,1,37,1,37,1,37,1,37,5,37,1634,8,37,10,37,12,37,1637,9,37,3, - 37,1639,8,37,1,37,3,37,1642,8,37,1,38,1,38,1,38,1,38,1,38,1,38,1, - 38,1,38,3,38,1652,8,38,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1, - 39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,3, - 39,1675,8,39,1,40,1,40,3,40,1679,8,40,1,41,1,41,3,41,1683,8,41,1, - 42,1,42,1,42,3,42,1688,8,42,1,43,1,43,1,44,1,44,1,45,1,45,5,45,1696, - 8,45,10,45,12,45,1699,9,45,1,45,1,45,1,46,1,46,3,46,1705,8,46,1, - 47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,5,48,1717,8,48,10, - 48,12,48,1720,9,48,1,49,1,49,1,50,1,50,1,51,1,51,1,51,1,51,1,51, - 1,52,1,52,1,52,1,52,1,53,1,53,1,53,1,54,1,54,1,54,3,54,1741,8,54, - 1,54,1,54,1,54,1,54,1,54,5,54,1748,8,54,10,54,12,54,1751,9,54,3, - 54,1753,8,54,1,54,1,54,1,54,1,54,1,54,5,54,1760,8,54,10,54,12,54, - 1763,9,54,3,54,1765,8,54,1,54,3,54,1768,8,54,1,54,3,54,1771,8,54, - 1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55, - 1,55,1,55,1,55,3,55,1789,8,55,1,56,1,56,1,56,1,56,1,56,1,56,1,56, - 1,56,1,56,3,56,1800,8,56,1,57,1,57,1,57,5,57,1805,8,57,10,57,12, - 57,1808,9,57,1,58,1,58,1,58,5,58,1813,8,58,10,58,12,58,1816,9,58, - 1,59,1,59,5,59,1820,8,59,10,59,12,59,1823,9,59,1,60,1,60,3,60,1827, - 8,60,1,61,1,61,1,61,5,61,1832,8,61,10,61,12,61,1835,9,61,1,62,1, - 62,3,62,1839,8,62,1,63,1,63,1,63,3,63,1844,8,63,1,64,1,64,3,64,1848, - 8,64,1,65,1,65,3,65,1852,8,65,1,66,1,66,1,66,3,66,1857,8,66,1,67, - 1,67,3,67,1861,8,67,1,68,1,68,3,68,1865,8,68,1,68,1,68,1,68,1,68, - 3,68,1871,8,68,1,69,1,69,1,70,1,70,1,71,1,71,1,72,1,72,1,73,1,73, - 1,73,1,73,1,74,1,74,1,74,1,74,1,74,3,74,1890,8,74,1,75,1,75,1,75, - 3,75,1895,8,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75, - 1,75,5,75,1908,8,75,10,75,12,75,1911,9,75,3,75,1913,8,75,1,76,1, - 76,1,76,1,76,5,76,1919,8,76,10,76,12,76,1922,9,76,1,76,1,76,1,77, - 1,77,1,77,1,77,5,77,1930,8,77,10,77,12,77,1933,9,77,1,77,1,77,1, - 78,1,78,1,78,1,78,5,78,1941,8,78,10,78,12,78,1944,9,78,1,78,1,78, - 1,79,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1,80,3,80,1957,8,80,1,80, - 1,80,1,80,1,80,1,80,5,80,1964,8,80,10,80,12,80,1967,9,80,1,80,1, - 80,1,80,3,80,1972,8,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1, - 80,1,80,1,80,1,80,3,80,1986,8,80,1,80,1,80,1,80,1,80,1,80,5,80,1993, - 8,80,10,80,12,80,1996,9,80,1,80,1,80,1,80,1,80,3,80,2002,8,80,1, - 80,1,80,1,80,1,80,1,80,3,80,2009,8,80,1,80,3,80,2012,8,80,1,80,1, - 80,1,80,1,80,1,80,1,80,3,80,2020,8,80,1,80,1,80,1,80,1,80,1,80,1, - 80,3,80,2028,8,80,1,80,3,80,2031,8,80,1,80,1,80,1,80,1,80,1,80,3, - 80,2038,8,80,1,80,3,80,2041,8,80,1,80,1,80,1,80,1,80,5,80,2047,8, - 80,10,80,12,80,2050,9,80,1,80,1,80,1,80,1,80,1,80,3,80,2057,8,80, - 1,80,1,80,1,80,1,80,1,80,1,80,5,80,2065,8,80,10,80,12,80,2068,9, - 80,3,80,2070,8,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1, - 80,1,80,1,80,1,80,1,80,3,80,2086,8,80,1,80,1,80,1,80,1,80,1,80,3, - 80,2093,8,80,1,80,1,80,1,80,1,80,1,80,3,80,2100,8,80,1,80,3,80,2103, - 8,80,1,80,1,80,3,80,2107,8,80,3,80,2109,8,80,3,80,2111,8,80,1,80, - 1,80,1,80,3,80,2116,8,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80, - 1,80,1,80,1,80,1,80,1,80,1,80,1,80,3,80,2133,8,80,1,80,1,80,1,80, - 3,80,2138,8,80,5,80,2140,8,80,10,80,12,80,2143,9,80,3,80,2145,8, - 80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,3,80,2155,8,80,1,80,1, - 80,1,80,1,80,1,80,3,80,2162,8,80,1,80,1,80,1,80,1,80,1,80,1,80,3, - 80,2170,8,80,3,80,2172,8,80,1,81,1,81,1,81,1,81,3,81,2178,8,81,1, - 82,1,82,1,82,1,82,1,82,5,82,2185,8,82,10,82,12,82,2188,9,82,1,82, - 1,82,1,83,1,83,1,83,1,84,3,84,2196,8,84,1,84,1,84,1,85,1,85,1,85, - 3,85,2203,8,85,1,86,1,86,1,87,3,87,2208,8,87,1,87,3,87,2211,8,87, - 1,87,3,87,2214,8,87,1,87,3,87,2217,8,87,3,87,2219,8,87,1,88,1,88, - 1,88,1,88,1,89,1,89,1,89,1,89,1,89,1,89,3,89,2231,8,89,1,89,1,89, - 1,89,1,89,3,89,2237,8,89,1,90,1,90,1,90,1,90,1,90,1,91,1,91,1,91, - 1,91,1,91,1,91,1,91,1,91,1,91,1,91,3,91,2254,8,91,1,91,3,91,2257, - 8,91,1,92,1,92,3,92,2261,8,92,1,92,5,92,2264,8,92,10,92,12,92,2267, - 9,92,1,93,1,93,3,93,2271,8,93,1,93,1,93,3,93,2275,8,93,1,93,5,93, - 2278,8,93,10,93,12,93,2281,9,93,1,94,1,94,3,94,2285,8,94,1,94,1, - 94,3,94,2289,8,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1, - 95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1, - 95,1,95,3,95,2315,8,95,1,95,1,95,1,95,1,95,1,95,1,95,3,95,2323,8, - 95,3,95,2325,8,95,1,96,1,96,1,96,1,96,1,96,1,96,5,96,2333,8,96,10, - 96,12,96,2336,9,96,1,96,1,96,3,96,2340,8,96,1,96,1,96,1,96,1,96, - 1,96,1,96,3,96,2348,8,96,1,96,1,96,5,96,2352,8,96,10,96,12,96,2355, - 9,96,1,97,1,97,3,97,2359,8,97,1,98,1,98,1,98,1,98,1,98,1,98,1,98, - 1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,3,98,2378,8,98, - 1,99,1,99,1,99,1,99,3,99,2384,8,99,1,99,1,99,1,99,1,99,1,99,5,99, - 2391,8,99,10,99,12,99,2394,9,99,1,99,1,99,3,99,2398,8,99,1,100,1, - 100,1,100,1,100,1,100,1,100,1,100,1,100,3,100,2408,8,100,1,100,1, - 100,1,100,1,100,1,100,1,100,3,100,2416,8,100,1,100,1,100,1,100,1, - 100,3,100,2422,8,100,1,100,1,100,3,100,2426,8,100,1,100,1,100,1, - 100,3,100,2431,8,100,1,101,1,101,3,101,2435,8,101,1,101,1,101,1, - 102,1,102,3,102,2441,8,102,1,102,1,102,1,102,1,102,1,102,1,103,1, - 103,1,103,1,103,1,103,1,104,1,104,1,104,5,104,2456,8,104,10,104, - 12,104,2459,9,104,1,105,1,105,1,105,1,105,1,106,1,106,1,106,1,106, - 5,106,2469,8,106,10,106,12,106,2472,9,106,1,106,1,106,1,107,1,107, - 3,107,2478,8,107,1,108,1,108,1,108,1,108,1,108,5,108,2485,8,108, - 10,108,12,108,2488,9,108,1,108,1,108,3,108,2492,8,108,1,109,1,109, - 3,109,2496,8,109,1,110,1,110,1,110,1,110,3,110,2502,8,110,1,111, - 1,111,1,111,1,112,1,112,1,112,1,112,1,112,5,112,2512,8,112,10,112, - 12,112,2515,9,112,1,112,1,112,1,113,1,113,1,113,1,113,1,113,5,113, - 2524,8,113,10,113,12,113,2527,9,113,1,113,1,113,1,114,1,114,3,114, - 2533,8,114,1,115,1,115,1,115,5,115,2538,8,115,10,115,12,115,2541, - 9,115,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,117,1,117,3,117, - 2552,8,117,1,118,1,118,1,119,1,119,1,120,1,120,1,120,1,120,1,120, - 1,120,1,120,3,120,2565,8,120,1,120,3,120,2568,8,120,1,120,3,120, - 2571,8,120,1,121,1,121,1,121,1,121,1,121,1,121,1,121,3,121,2580, - 8,121,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,3,122,2590, - 8,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122, - 1,122,1,122,1,122,3,122,2605,8,122,1,123,1,123,1,123,1,123,3,123, - 2611,8,123,1,123,5,123,2614,8,123,10,123,12,123,2617,9,123,1,124, - 1,124,1,124,0,7,22,38,60,66,68,96,192,125,0,2,4,6,8,10,12,14,16, - 18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60, - 62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102, - 104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134, - 136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166, - 168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198, - 200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230, - 232,234,236,238,240,242,244,246,248,0,34,1,0,146,147,2,0,3,3,22, - 22,1,0,141,142,2,0,4,4,282,282,1,0,241,242,2,0,7,7,169,172,1,0,92, - 93,1,0,246,247,1,0,280,281,1,0,111,112,3,0,109,109,197,197,216,216, - 2,0,36,36,38,38,2,0,86,86,91,91,1,0,200,201,2,0,7,7,12,12,1,0,40, - 41,1,0,36,37,1,0,26,27,1,0,293,294,2,0,295,295,297,298,1,0,314,316, - 1,0,32,33,2,0,60,61,246,246,1,0,44,46,1,0,282,292,1,0,7,9,1,0,88, - 89,1,0,50,55,1,0,30,31,1,0,259,260,1,0,230,232,1,0,165,167,3,0,97, - 97,193,193,252,252,38,0,1,1,4,4,6,6,10,10,27,27,32,33,35,35,38,38, - 42,46,48,59,70,70,81,86,88,91,93,93,96,96,98,105,107,108,111,133, - 135,135,137,158,161,161,163,163,165,165,167,172,174,174,176,182, - 185,196,198,198,202,204,208,208,211,215,219,221,223,226,228,232, - 234,240,244,245,247,247,251,281,3018,0,250,1,0,0,0,2,263,1,0,0,0, - 4,269,1,0,0,0,6,645,1,0,0,0,8,755,1,0,0,0,10,932,1,0,0,0,12,943, - 1,0,0,0,14,946,1,0,0,0,16,950,1,0,0,0,18,988,1,0,0,0,20,990,1,0, - 0,0,22,1001,1,0,0,0,24,1014,1,0,0,0,26,1016,1,0,0,0,28,1086,1,0, - 0,0,30,1100,1,0,0,0,32,1102,1,0,0,0,34,1105,1,0,0,0,36,1114,1,0, - 0,0,38,1119,1,0,0,0,40,1158,1,0,0,0,42,1174,1,0,0,0,44,1176,1,0, - 0,0,46,1195,1,0,0,0,48,1197,1,0,0,0,50,1227,1,0,0,0,52,1229,1,0, - 0,0,54,1240,1,0,0,0,56,1249,1,0,0,0,58,1258,1,0,0,0,60,1277,1,0, - 0,0,62,1290,1,0,0,0,64,1362,1,0,0,0,66,1371,1,0,0,0,68,1461,1,0, - 0,0,70,1607,1,0,0,0,72,1609,1,0,0,0,74,1641,1,0,0,0,76,1651,1,0, - 0,0,78,1674,1,0,0,0,80,1678,1,0,0,0,82,1682,1,0,0,0,84,1687,1,0, - 0,0,86,1689,1,0,0,0,88,1691,1,0,0,0,90,1693,1,0,0,0,92,1704,1,0, - 0,0,94,1706,1,0,0,0,96,1708,1,0,0,0,98,1721,1,0,0,0,100,1723,1,0, - 0,0,102,1725,1,0,0,0,104,1730,1,0,0,0,106,1734,1,0,0,0,108,1770, - 1,0,0,0,110,1788,1,0,0,0,112,1799,1,0,0,0,114,1801,1,0,0,0,116,1809, - 1,0,0,0,118,1817,1,0,0,0,120,1824,1,0,0,0,122,1828,1,0,0,0,124,1838, - 1,0,0,0,126,1843,1,0,0,0,128,1847,1,0,0,0,130,1851,1,0,0,0,132,1856, - 1,0,0,0,134,1860,1,0,0,0,136,1862,1,0,0,0,138,1872,1,0,0,0,140,1874, - 1,0,0,0,142,1876,1,0,0,0,144,1878,1,0,0,0,146,1880,1,0,0,0,148,1889, - 1,0,0,0,150,1912,1,0,0,0,152,1914,1,0,0,0,154,1925,1,0,0,0,156,1936, - 1,0,0,0,158,1947,1,0,0,0,160,2171,1,0,0,0,162,2177,1,0,0,0,164,2179, - 1,0,0,0,166,2191,1,0,0,0,168,2195,1,0,0,0,170,2202,1,0,0,0,172,2204, - 1,0,0,0,174,2218,1,0,0,0,176,2220,1,0,0,0,178,2224,1,0,0,0,180,2238, - 1,0,0,0,182,2256,1,0,0,0,184,2258,1,0,0,0,186,2268,1,0,0,0,188,2282, - 1,0,0,0,190,2324,1,0,0,0,192,2347,1,0,0,0,194,2358,1,0,0,0,196,2377, - 1,0,0,0,198,2379,1,0,0,0,200,2430,1,0,0,0,202,2434,1,0,0,0,204,2440, - 1,0,0,0,206,2447,1,0,0,0,208,2452,1,0,0,0,210,2460,1,0,0,0,212,2464, - 1,0,0,0,214,2475,1,0,0,0,216,2491,1,0,0,0,218,2493,1,0,0,0,220,2501, - 1,0,0,0,222,2503,1,0,0,0,224,2506,1,0,0,0,226,2518,1,0,0,0,228,2530, - 1,0,0,0,230,2534,1,0,0,0,232,2542,1,0,0,0,234,2551,1,0,0,0,236,2553, - 1,0,0,0,238,2555,1,0,0,0,240,2570,1,0,0,0,242,2579,1,0,0,0,244,2604, - 1,0,0,0,246,2615,1,0,0,0,248,2618,1,0,0,0,250,255,3,6,3,0,251,252, - 5,301,0,0,252,254,3,6,3,0,253,251,1,0,0,0,254,257,1,0,0,0,255,253, - 1,0,0,0,255,256,1,0,0,0,256,259,1,0,0,0,257,255,1,0,0,0,258,260, - 5,301,0,0,259,258,1,0,0,0,259,260,1,0,0,0,260,261,1,0,0,0,261,262, - 5,0,0,1,262,1,1,0,0,0,263,265,3,6,3,0,264,266,5,301,0,0,265,264, - 1,0,0,0,265,266,1,0,0,0,266,267,1,0,0,0,267,268,5,0,0,1,268,3,1, - 0,0,0,269,270,3,58,29,0,270,271,5,0,0,1,271,5,1,0,0,0,272,646,3, - 14,7,0,273,275,5,143,0,0,274,276,7,0,0,0,275,274,1,0,0,0,275,276, - 1,0,0,0,276,287,1,0,0,0,277,284,3,240,120,0,278,280,5,303,0,0,279, - 278,1,0,0,0,279,280,1,0,0,0,280,281,1,0,0,0,281,283,3,240,120,0, - 282,279,1,0,0,0,283,286,1,0,0,0,284,282,1,0,0,0,284,285,1,0,0,0, - 285,288,1,0,0,0,286,284,1,0,0,0,287,277,1,0,0,0,287,288,1,0,0,0, - 288,646,1,0,0,0,289,290,5,144,0,0,290,301,5,147,0,0,291,298,3,240, - 120,0,292,294,5,303,0,0,293,292,1,0,0,0,293,294,1,0,0,0,294,295, - 1,0,0,0,295,297,3,240,120,0,296,293,1,0,0,0,297,300,1,0,0,0,298, - 296,1,0,0,0,298,299,1,0,0,0,299,302,1,0,0,0,300,298,1,0,0,0,301, - 291,1,0,0,0,301,302,1,0,0,0,302,646,1,0,0,0,303,305,5,145,0,0,304, - 306,7,0,0,0,305,304,1,0,0,0,305,306,1,0,0,0,306,646,1,0,0,0,307, - 309,5,68,0,0,308,310,7,0,0,0,309,308,1,0,0,0,309,310,1,0,0,0,310, - 646,1,0,0,0,311,320,5,176,0,0,312,321,5,165,0,0,313,321,5,167,0, - 0,314,316,3,212,106,0,315,314,1,0,0,0,316,319,1,0,0,0,317,315,1, - 0,0,0,317,318,1,0,0,0,318,321,1,0,0,0,319,317,1,0,0,0,320,312,1, - 0,0,0,320,313,1,0,0,0,320,317,1,0,0,0,321,322,1,0,0,0,322,646,3, - 6,3,0,323,324,5,194,0,0,324,325,5,97,0,0,325,327,3,230,115,0,326, - 328,3,206,103,0,327,326,1,0,0,0,327,328,1,0,0,0,328,646,1,0,0,0, - 329,330,5,195,0,0,330,331,5,97,0,0,331,646,3,230,115,0,332,333,5, - 210,0,0,333,334,3,44,22,0,334,335,5,216,0,0,335,340,3,158,79,0,336, - 337,5,303,0,0,337,339,3,158,79,0,338,336,1,0,0,0,339,342,1,0,0,0, - 340,338,1,0,0,0,340,341,1,0,0,0,341,344,1,0,0,0,342,340,1,0,0,0, - 343,345,3,32,16,0,344,343,1,0,0,0,344,345,1,0,0,0,345,347,1,0,0, - 0,346,348,3,34,17,0,347,346,1,0,0,0,347,348,1,0,0,0,348,646,1,0, - 0,0,349,350,5,209,0,0,350,351,5,3,0,0,351,353,3,44,22,0,352,354, - 3,32,16,0,353,352,1,0,0,0,353,354,1,0,0,0,354,646,1,0,0,0,355,360, - 5,185,0,0,356,357,5,147,0,0,357,358,5,150,0,0,358,361,5,151,0,0, - 359,361,5,148,0,0,360,356,1,0,0,0,360,359,1,0,0,0,361,646,1,0,0, - 0,362,363,5,185,0,0,363,364,5,95,0,0,364,365,5,97,0,0,365,646,3, - 50,25,0,366,367,5,185,0,0,367,370,5,186,0,0,368,369,7,1,0,0,369, - 371,3,116,58,0,370,368,1,0,0,0,370,371,1,0,0,0,371,375,1,0,0,0,372, - 373,5,26,0,0,373,376,3,92,46,0,374,376,3,32,16,0,375,372,1,0,0,0, - 375,374,1,0,0,0,375,376,1,0,0,0,376,646,1,0,0,0,377,378,5,185,0, - 0,378,382,5,187,0,0,379,380,5,26,0,0,380,383,3,92,46,0,381,383,3, - 32,16,0,382,379,1,0,0,0,382,381,1,0,0,0,382,383,1,0,0,0,383,646, - 1,0,0,0,384,385,5,185,0,0,385,386,5,189,0,0,386,387,7,1,0,0,387, - 390,3,116,58,0,388,389,7,1,0,0,389,391,3,116,58,0,390,388,1,0,0, - 0,390,391,1,0,0,0,391,395,1,0,0,0,392,393,5,26,0,0,393,396,3,92, - 46,0,394,396,3,32,16,0,395,392,1,0,0,0,395,394,1,0,0,0,395,396,1, - 0,0,0,396,646,1,0,0,0,397,400,5,185,0,0,398,401,3,116,58,0,399,401, - 5,7,0,0,400,398,1,0,0,0,400,399,1,0,0,0,401,646,1,0,0,0,402,646, - 3,10,5,0,403,404,5,217,0,0,404,405,5,140,0,0,405,410,3,68,34,0,406, - 407,5,303,0,0,407,409,3,68,34,0,408,406,1,0,0,0,409,412,1,0,0,0, - 410,408,1,0,0,0,410,411,1,0,0,0,411,646,1,0,0,0,412,410,1,0,0,0, - 413,417,5,216,0,0,414,415,5,141,0,0,415,416,5,149,0,0,416,418,5, - 5,0,0,417,414,1,0,0,0,417,418,1,0,0,0,418,419,1,0,0,0,419,420,5, - 147,0,0,420,425,3,240,120,0,421,422,5,303,0,0,422,424,3,240,120, - 0,423,421,1,0,0,0,424,427,1,0,0,0,425,423,1,0,0,0,425,426,1,0,0, - 0,426,646,1,0,0,0,427,425,1,0,0,0,428,430,5,216,0,0,429,431,7,2, - 0,0,430,429,1,0,0,0,430,431,1,0,0,0,431,432,1,0,0,0,432,433,5,141, - 0,0,433,436,5,1,0,0,434,437,5,218,0,0,435,437,3,130,65,0,436,434, - 1,0,0,0,436,435,1,0,0,0,437,646,1,0,0,0,438,439,5,217,0,0,439,440, - 5,141,0,0,440,646,5,1,0,0,441,443,5,216,0,0,442,444,7,2,0,0,443, - 442,1,0,0,0,443,444,1,0,0,0,444,445,1,0,0,0,445,446,3,116,58,0,446, - 456,7,3,0,0,447,457,5,218,0,0,448,453,3,234,117,0,449,450,5,303, - 0,0,450,452,3,234,117,0,451,449,1,0,0,0,452,455,1,0,0,0,453,451, - 1,0,0,0,453,454,1,0,0,0,454,457,1,0,0,0,455,453,1,0,0,0,456,447, - 1,0,0,0,456,448,1,0,0,0,457,646,1,0,0,0,458,459,5,216,0,0,459,461, - 5,140,0,0,460,462,7,4,0,0,461,460,1,0,0,0,461,462,1,0,0,0,462,463, - 1,0,0,0,463,468,3,232,116,0,464,465,5,303,0,0,465,467,3,232,116, - 0,466,464,1,0,0,0,467,470,1,0,0,0,468,466,1,0,0,0,468,469,1,0,0, - 0,469,646,1,0,0,0,470,468,1,0,0,0,471,472,5,216,0,0,472,473,5,48, - 0,0,473,477,5,49,0,0,474,478,5,142,0,0,475,478,5,218,0,0,476,478, - 3,92,46,0,477,474,1,0,0,0,477,475,1,0,0,0,477,476,1,0,0,0,478,646, - 1,0,0,0,479,482,5,107,0,0,480,483,5,7,0,0,481,483,3,82,41,0,482, - 480,1,0,0,0,482,481,1,0,0,0,483,646,1,0,0,0,484,485,5,206,0,0,485, - 486,5,207,0,0,486,498,3,50,25,0,487,488,5,305,0,0,488,493,3,124, - 62,0,489,490,5,303,0,0,490,492,3,124,62,0,491,489,1,0,0,0,492,495, - 1,0,0,0,493,491,1,0,0,0,493,494,1,0,0,0,494,496,1,0,0,0,495,493, - 1,0,0,0,496,497,5,306,0,0,497,499,1,0,0,0,498,487,1,0,0,0,498,499, - 1,0,0,0,499,500,1,0,0,0,500,502,3,148,74,0,501,503,3,150,75,0,502, - 501,1,0,0,0,502,503,1,0,0,0,503,505,1,0,0,0,504,506,3,34,17,0,505, - 504,1,0,0,0,505,506,1,0,0,0,506,646,1,0,0,0,507,508,5,196,0,0,508, - 509,5,105,0,0,509,515,3,116,58,0,510,516,5,7,0,0,511,516,5,255,0, - 0,512,513,5,97,0,0,513,516,3,230,115,0,514,516,3,122,61,0,515,510, - 1,0,0,0,515,511,1,0,0,0,515,512,1,0,0,0,515,514,1,0,0,0,516,518, - 1,0,0,0,517,519,3,206,103,0,518,517,1,0,0,0,518,519,1,0,0,0,519, - 646,1,0,0,0,520,521,5,219,0,0,521,533,3,48,24,0,522,523,5,305,0, - 0,523,528,3,124,62,0,524,525,5,303,0,0,525,527,3,124,62,0,526,524, - 1,0,0,0,527,530,1,0,0,0,528,526,1,0,0,0,528,529,1,0,0,0,529,531, - 1,0,0,0,530,528,1,0,0,0,531,532,5,306,0,0,532,534,1,0,0,0,533,522, - 1,0,0,0,533,534,1,0,0,0,534,535,1,0,0,0,535,536,5,3,0,0,536,538, - 3,58,29,0,537,539,3,206,103,0,538,537,1,0,0,0,538,539,1,0,0,0,539, - 542,1,0,0,0,540,541,5,253,0,0,541,543,5,254,0,0,542,540,1,0,0,0, - 542,543,1,0,0,0,543,646,1,0,0,0,544,545,5,219,0,0,545,547,3,48,24, - 0,546,548,3,156,78,0,547,546,1,0,0,0,547,548,1,0,0,0,548,550,1,0, - 0,0,549,551,3,32,16,0,550,549,1,0,0,0,550,551,1,0,0,0,551,552,1, - 0,0,0,552,554,5,4,0,0,553,555,5,11,0,0,554,553,1,0,0,0,554,555,1, - 0,0,0,555,556,1,0,0,0,556,558,3,58,29,0,557,559,3,206,103,0,558, - 557,1,0,0,0,558,559,1,0,0,0,559,646,1,0,0,0,560,646,3,8,4,0,561, - 567,5,248,0,0,562,568,3,122,61,0,563,565,5,7,0,0,564,566,5,251,0, - 0,565,564,1,0,0,0,565,566,1,0,0,0,566,568,1,0,0,0,567,562,1,0,0, - 0,567,563,1,0,0,0,568,573,1,0,0,0,569,570,5,80,0,0,570,571,3,238, - 119,0,571,572,3,114,57,0,572,574,1,0,0,0,573,569,1,0,0,0,573,574, - 1,0,0,0,574,575,1,0,0,0,575,576,5,4,0,0,576,646,3,122,61,0,577,583, - 5,249,0,0,578,584,3,122,61,0,579,581,5,7,0,0,580,582,5,251,0,0,581, - 580,1,0,0,0,581,582,1,0,0,0,582,584,1,0,0,0,583,578,1,0,0,0,583, - 579,1,0,0,0,584,589,1,0,0,0,585,586,5,80,0,0,586,587,3,238,119,0, - 587,588,3,114,57,0,588,590,1,0,0,0,589,585,1,0,0,0,589,590,1,0,0, - 0,590,591,1,0,0,0,591,592,5,4,0,0,592,646,3,122,61,0,593,599,5,250, - 0,0,594,600,3,122,61,0,595,597,5,7,0,0,596,598,5,251,0,0,597,596, - 1,0,0,0,597,598,1,0,0,0,598,600,1,0,0,0,599,594,1,0,0,0,599,595, - 1,0,0,0,600,605,1,0,0,0,601,602,5,80,0,0,602,603,3,238,119,0,603, - 604,3,114,57,0,604,606,1,0,0,0,605,601,1,0,0,0,605,606,1,0,0,0,606, - 607,1,0,0,0,607,608,5,3,0,0,608,646,3,122,61,0,609,646,3,160,80, - 0,610,612,5,10,0,0,611,613,5,240,0,0,612,611,1,0,0,0,612,613,1,0, - 0,0,613,616,1,0,0,0,614,617,5,7,0,0,615,617,3,132,66,0,616,614,1, - 0,0,0,616,615,1,0,0,0,617,646,1,0,0,0,618,646,5,165,0,0,619,620, - 5,168,0,0,620,646,7,5,0,0,621,622,5,261,0,0,622,623,3,124,62,0,623, - 624,3,246,123,0,624,627,5,262,0,0,625,626,7,6,0,0,626,628,5,268, - 0,0,627,625,1,0,0,0,627,628,1,0,0,0,628,629,1,0,0,0,629,630,5,47, - 0,0,630,631,3,16,8,0,631,646,1,0,0,0,632,634,5,35,0,0,633,635,3, - 244,122,0,634,633,1,0,0,0,634,635,1,0,0,0,635,637,1,0,0,0,636,638, - 7,1,0,0,637,636,1,0,0,0,637,638,1,0,0,0,638,639,1,0,0,0,639,646, - 3,124,62,0,640,643,5,112,0,0,641,644,3,124,62,0,642,644,5,7,0,0, - 643,641,1,0,0,0,643,642,1,0,0,0,644,646,1,0,0,0,645,272,1,0,0,0, - 645,273,1,0,0,0,645,289,1,0,0,0,645,303,1,0,0,0,645,307,1,0,0,0, - 645,311,1,0,0,0,645,323,1,0,0,0,645,329,1,0,0,0,645,332,1,0,0,0, - 645,349,1,0,0,0,645,355,1,0,0,0,645,362,1,0,0,0,645,366,1,0,0,0, - 645,377,1,0,0,0,645,384,1,0,0,0,645,397,1,0,0,0,645,402,1,0,0,0, - 645,403,1,0,0,0,645,413,1,0,0,0,645,428,1,0,0,0,645,438,1,0,0,0, - 645,441,1,0,0,0,645,458,1,0,0,0,645,471,1,0,0,0,645,479,1,0,0,0, - 645,484,1,0,0,0,645,507,1,0,0,0,645,520,1,0,0,0,645,544,1,0,0,0, - 645,560,1,0,0,0,645,561,1,0,0,0,645,577,1,0,0,0,645,593,1,0,0,0, - 645,609,1,0,0,0,645,610,1,0,0,0,645,618,1,0,0,0,645,619,1,0,0,0, - 645,621,1,0,0,0,645,632,1,0,0,0,645,640,1,0,0,0,646,7,1,0,0,0,647, - 648,5,197,0,0,648,649,5,96,0,0,649,652,5,97,0,0,650,651,5,69,0,0, - 651,653,5,24,0,0,652,650,1,0,0,0,652,653,1,0,0,0,653,654,1,0,0,0, - 654,756,3,50,25,0,655,656,5,197,0,0,656,659,5,97,0,0,657,658,5,69, - 0,0,658,660,5,24,0,0,659,657,1,0,0,0,659,660,1,0,0,0,660,661,1,0, - 0,0,661,756,3,50,25,0,662,663,5,197,0,0,663,664,5,198,0,0,664,756, - 3,116,58,0,665,666,5,197,0,0,666,667,5,104,0,0,667,756,3,124,62, - 0,668,669,5,197,0,0,669,670,5,105,0,0,670,756,3,116,58,0,671,672, - 5,197,0,0,672,675,5,162,0,0,673,674,5,69,0,0,674,676,5,24,0,0,675, - 673,1,0,0,0,675,676,1,0,0,0,676,677,1,0,0,0,677,678,3,116,58,0,678, - 687,5,305,0,0,679,684,3,168,84,0,680,681,5,303,0,0,681,683,3,168, - 84,0,682,680,1,0,0,0,683,686,1,0,0,0,684,682,1,0,0,0,684,685,1,0, - 0,0,685,688,1,0,0,0,686,684,1,0,0,0,687,679,1,0,0,0,687,688,1,0, - 0,0,688,689,1,0,0,0,689,690,5,306,0,0,690,756,1,0,0,0,691,692,5, - 197,0,0,692,695,7,7,0,0,693,694,5,69,0,0,694,696,5,24,0,0,695,693, - 1,0,0,0,695,696,1,0,0,0,696,697,1,0,0,0,697,756,3,124,62,0,698,699, - 5,197,0,0,699,702,5,193,0,0,700,701,5,69,0,0,701,703,5,24,0,0,702, - 700,1,0,0,0,702,703,1,0,0,0,703,704,1,0,0,0,704,756,3,114,57,0,705, - 706,5,197,0,0,706,707,5,234,0,0,707,756,3,124,62,0,708,709,5,197, - 0,0,709,712,5,256,0,0,710,711,5,69,0,0,711,713,5,24,0,0,712,710, - 1,0,0,0,712,713,1,0,0,0,713,714,1,0,0,0,714,756,3,124,62,0,715,716, - 5,197,0,0,716,719,5,257,0,0,717,718,5,69,0,0,718,720,5,24,0,0,719, - 717,1,0,0,0,719,720,1,0,0,0,720,721,1,0,0,0,721,756,3,124,62,0,722, - 723,5,197,0,0,723,726,5,274,0,0,724,725,5,69,0,0,725,727,5,24,0, - 0,726,724,1,0,0,0,726,727,1,0,0,0,727,728,1,0,0,0,728,730,3,122, - 61,0,729,731,7,8,0,0,730,729,1,0,0,0,730,731,1,0,0,0,731,756,1,0, - 0,0,732,733,5,197,0,0,733,734,5,275,0,0,734,737,5,97,0,0,735,736, - 5,69,0,0,736,738,5,24,0,0,737,735,1,0,0,0,737,738,1,0,0,0,738,739, - 1,0,0,0,739,741,3,114,57,0,740,742,7,8,0,0,741,740,1,0,0,0,741,742, - 1,0,0,0,742,756,1,0,0,0,743,744,5,197,0,0,744,745,5,246,0,0,745, - 748,5,279,0,0,746,747,5,69,0,0,747,749,5,24,0,0,748,746,1,0,0,0, - 748,749,1,0,0,0,749,750,1,0,0,0,750,751,5,47,0,0,751,752,3,162,81, - 0,752,753,5,274,0,0,753,754,3,124,62,0,754,756,1,0,0,0,755,647,1, - 0,0,0,755,655,1,0,0,0,755,662,1,0,0,0,755,665,1,0,0,0,755,668,1, - 0,0,0,755,671,1,0,0,0,755,691,1,0,0,0,755,698,1,0,0,0,755,705,1, - 0,0,0,755,708,1,0,0,0,755,715,1,0,0,0,755,722,1,0,0,0,755,732,1, - 0,0,0,755,743,1,0,0,0,756,9,1,0,0,0,757,758,5,106,0,0,758,759,5, - 97,0,0,759,760,3,170,85,0,760,765,3,186,93,0,761,762,5,303,0,0,762, - 764,3,186,93,0,763,761,1,0,0,0,764,767,1,0,0,0,765,763,1,0,0,0,765, - 766,1,0,0,0,766,933,1,0,0,0,767,765,1,0,0,0,768,769,5,106,0,0,769, - 770,5,97,0,0,770,771,3,170,85,0,771,776,3,188,94,0,772,773,5,303, - 0,0,773,775,3,188,94,0,774,772,1,0,0,0,775,778,1,0,0,0,776,774,1, - 0,0,0,776,777,1,0,0,0,777,933,1,0,0,0,778,776,1,0,0,0,779,780,5, - 106,0,0,780,781,5,97,0,0,781,782,3,170,85,0,782,783,5,197,0,0,783, - 784,5,173,0,0,784,785,3,124,62,0,785,933,1,0,0,0,786,787,5,106,0, - 0,787,788,5,97,0,0,788,808,3,170,85,0,789,790,5,216,0,0,790,791, - 5,305,0,0,791,792,3,208,104,0,792,793,5,306,0,0,793,809,1,0,0,0, - 794,806,5,217,0,0,795,796,5,305,0,0,796,801,3,124,62,0,797,798,5, - 303,0,0,798,800,3,124,62,0,799,797,1,0,0,0,800,803,1,0,0,0,801,799, - 1,0,0,0,801,802,1,0,0,0,802,804,1,0,0,0,803,801,1,0,0,0,804,805, - 5,306,0,0,805,807,1,0,0,0,806,795,1,0,0,0,806,807,1,0,0,0,807,809, - 1,0,0,0,808,789,1,0,0,0,808,794,1,0,0,0,809,933,1,0,0,0,810,811, - 5,106,0,0,811,812,5,96,0,0,812,813,5,97,0,0,813,833,3,170,85,0,814, - 815,5,216,0,0,815,816,5,305,0,0,816,817,3,208,104,0,817,818,5,306, - 0,0,818,834,1,0,0,0,819,831,5,217,0,0,820,821,5,305,0,0,821,826, - 3,124,62,0,822,823,5,303,0,0,823,825,3,124,62,0,824,822,1,0,0,0, - 825,828,1,0,0,0,826,824,1,0,0,0,826,827,1,0,0,0,827,829,1,0,0,0, - 828,826,1,0,0,0,829,830,5,306,0,0,830,832,1,0,0,0,831,820,1,0,0, - 0,831,832,1,0,0,0,832,834,1,0,0,0,833,814,1,0,0,0,833,819,1,0,0, - 0,834,933,1,0,0,0,835,837,5,106,0,0,836,838,5,96,0,0,837,836,1,0, - 0,0,837,838,1,0,0,0,838,839,1,0,0,0,839,840,5,97,0,0,840,841,3,170, - 85,0,841,842,7,9,0,0,842,933,1,0,0,0,843,845,5,106,0,0,844,846,5, - 96,0,0,845,844,1,0,0,0,845,846,1,0,0,0,846,847,1,0,0,0,847,848,5, - 97,0,0,848,849,3,170,85,0,849,850,5,113,0,0,850,851,5,4,0,0,851, - 852,3,116,58,0,852,933,1,0,0,0,853,855,5,106,0,0,854,856,5,96,0, - 0,855,854,1,0,0,0,855,856,1,0,0,0,856,857,1,0,0,0,857,858,5,97,0, - 0,858,859,3,170,85,0,859,861,5,113,0,0,860,862,5,110,0,0,861,860, - 1,0,0,0,861,862,1,0,0,0,862,863,1,0,0,0,863,864,3,96,48,0,864,865, - 5,4,0,0,865,866,3,96,48,0,866,933,1,0,0,0,867,869,5,106,0,0,868, - 870,5,96,0,0,869,868,1,0,0,0,869,870,1,0,0,0,870,871,1,0,0,0,871, - 872,5,97,0,0,872,873,3,170,85,0,873,874,5,114,0,0,874,875,3,190, - 95,0,875,933,1,0,0,0,876,877,5,106,0,0,877,878,5,103,0,0,878,879, - 5,114,0,0,879,880,5,120,0,0,880,933,5,121,0,0,881,882,5,106,0,0, - 882,883,5,103,0,0,883,884,5,98,0,0,884,885,5,97,0,0,885,886,3,116, - 58,0,886,887,5,4,0,0,887,889,3,116,58,0,888,890,3,206,103,0,889, - 888,1,0,0,0,889,890,1,0,0,0,890,933,1,0,0,0,891,892,5,106,0,0,892, - 893,5,103,0,0,893,894,5,102,0,0,894,933,3,58,29,0,895,896,5,106, - 0,0,896,897,5,103,0,0,897,898,5,99,0,0,898,899,5,100,0,0,899,933, - 5,101,0,0,900,901,5,106,0,0,901,902,7,7,0,0,902,903,3,124,62,0,903, - 904,5,216,0,0,904,905,5,305,0,0,905,906,3,208,104,0,906,907,5,306, - 0,0,907,933,1,0,0,0,908,909,5,106,0,0,909,910,5,256,0,0,910,911, - 3,124,62,0,911,912,7,10,0,0,912,913,5,97,0,0,913,915,3,116,58,0, - 914,916,5,295,0,0,915,914,1,0,0,0,915,916,1,0,0,0,916,924,1,0,0, - 0,917,918,5,303,0,0,918,920,3,116,58,0,919,921,5,295,0,0,920,919, - 1,0,0,0,920,921,1,0,0,0,921,923,1,0,0,0,922,917,1,0,0,0,923,926, - 1,0,0,0,924,922,1,0,0,0,924,925,1,0,0,0,925,933,1,0,0,0,926,924, - 1,0,0,0,927,928,5,106,0,0,928,929,5,257,0,0,929,930,3,124,62,0,930, - 931,3,172,86,0,931,933,1,0,0,0,932,757,1,0,0,0,932,768,1,0,0,0,932, - 779,1,0,0,0,932,786,1,0,0,0,932,810,1,0,0,0,932,835,1,0,0,0,932, - 843,1,0,0,0,932,853,1,0,0,0,932,867,1,0,0,0,932,876,1,0,0,0,932, - 881,1,0,0,0,932,891,1,0,0,0,932,895,1,0,0,0,932,900,1,0,0,0,932, - 908,1,0,0,0,932,927,1,0,0,0,933,11,1,0,0,0,934,935,5,305,0,0,935, - 936,3,14,7,0,936,937,5,306,0,0,937,944,1,0,0,0,938,944,3,14,7,0, - 939,940,5,305,0,0,940,941,3,12,6,0,941,942,5,306,0,0,942,944,1,0, - 0,0,943,934,1,0,0,0,943,938,1,0,0,0,943,939,1,0,0,0,944,13,1,0,0, - 0,945,947,3,54,27,0,946,945,1,0,0,0,946,947,1,0,0,0,947,948,1,0, - 0,0,948,949,3,16,8,0,949,15,1,0,0,0,950,961,3,22,11,0,951,952,5, - 16,0,0,952,953,5,15,0,0,953,958,3,26,13,0,954,955,5,303,0,0,955, - 957,3,26,13,0,956,954,1,0,0,0,957,960,1,0,0,0,958,956,1,0,0,0,958, - 959,1,0,0,0,959,962,1,0,0,0,960,958,1,0,0,0,961,951,1,0,0,0,961, - 962,1,0,0,0,962,975,1,0,0,0,963,965,3,18,9,0,964,963,1,0,0,0,964, - 965,1,0,0,0,965,967,1,0,0,0,966,968,3,20,10,0,967,966,1,0,0,0,967, - 968,1,0,0,0,968,976,1,0,0,0,969,971,3,20,10,0,970,969,1,0,0,0,970, - 971,1,0,0,0,971,973,1,0,0,0,972,974,3,18,9,0,973,972,1,0,0,0,973, - 974,1,0,0,0,974,976,1,0,0,0,975,964,1,0,0,0,975,970,1,0,0,0,976, - 17,1,0,0,0,977,980,5,18,0,0,978,981,3,78,39,0,979,981,5,7,0,0,980, - 978,1,0,0,0,980,979,1,0,0,0,981,989,1,0,0,0,982,983,5,35,0,0,983, - 984,7,11,0,0,984,985,3,78,39,0,985,986,7,12,0,0,986,987,5,108,0, - 0,987,989,1,0,0,0,988,977,1,0,0,0,988,982,1,0,0,0,989,19,1,0,0,0, - 990,991,5,19,0,0,991,993,3,78,39,0,992,994,7,12,0,0,993,992,1,0, - 0,0,993,994,1,0,0,0,994,21,1,0,0,0,995,996,6,11,-1,0,996,1002,3, - 28,14,0,997,998,3,28,14,0,998,999,7,13,0,0,999,1000,3,28,14,0,1000, - 1002,1,0,0,0,1001,995,1,0,0,0,1001,997,1,0,0,0,1002,1011,1,0,0,0, - 1003,1004,10,1,0,0,1004,1006,5,199,0,0,1005,1007,3,24,12,0,1006, - 1005,1,0,0,0,1006,1007,1,0,0,0,1007,1008,1,0,0,0,1008,1010,3,22, - 11,2,1009,1003,1,0,0,0,1010,1013,1,0,0,0,1011,1009,1,0,0,0,1011, - 1012,1,0,0,0,1012,23,1,0,0,0,1013,1011,1,0,0,0,1014,1015,7,14,0, - 0,1015,25,1,0,0,0,1016,1018,3,58,29,0,1017,1019,7,15,0,0,1018,1017, - 1,0,0,0,1018,1019,1,0,0,0,1019,1022,1,0,0,0,1020,1021,5,34,0,0,1021, - 1023,7,16,0,0,1022,1020,1,0,0,0,1022,1023,1,0,0,0,1023,27,1,0,0, - 0,1024,1026,5,2,0,0,1025,1027,3,24,12,0,1026,1025,1,0,0,0,1026,1027, - 1,0,0,0,1027,1028,1,0,0,0,1028,1033,3,30,15,0,1029,1030,5,303,0, - 0,1030,1032,3,30,15,0,1031,1029,1,0,0,0,1032,1035,1,0,0,0,1033,1031, - 1,0,0,0,1033,1034,1,0,0,0,1034,1045,1,0,0,0,1035,1033,1,0,0,0,1036, - 1037,5,3,0,0,1037,1042,3,38,19,0,1038,1039,5,303,0,0,1039,1041,3, - 38,19,0,1040,1038,1,0,0,0,1041,1044,1,0,0,0,1042,1040,1,0,0,0,1042, - 1043,1,0,0,0,1043,1046,1,0,0,0,1044,1042,1,0,0,0,1045,1036,1,0,0, - 0,1045,1046,1,0,0,0,1046,1048,1,0,0,0,1047,1049,3,32,16,0,1048,1047, - 1,0,0,0,1048,1049,1,0,0,0,1049,1060,1,0,0,0,1050,1051,5,14,0,0,1051, - 1052,5,15,0,0,1052,1057,3,58,29,0,1053,1054,5,303,0,0,1054,1056, - 3,58,29,0,1055,1053,1,0,0,0,1056,1059,1,0,0,0,1057,1055,1,0,0,0, - 1057,1058,1,0,0,0,1058,1061,1,0,0,0,1059,1057,1,0,0,0,1060,1050, - 1,0,0,0,1060,1061,1,0,0,0,1061,1064,1,0,0,0,1062,1063,5,17,0,0,1063, - 1065,3,60,30,0,1064,1062,1,0,0,0,1064,1065,1,0,0,0,1065,1075,1,0, - 0,0,1066,1067,5,82,0,0,1067,1072,3,104,52,0,1068,1069,5,303,0,0, - 1069,1071,3,104,52,0,1070,1068,1,0,0,0,1071,1074,1,0,0,0,1072,1070, - 1,0,0,0,1072,1073,1,0,0,0,1073,1076,1,0,0,0,1074,1072,1,0,0,0,1075, - 1066,1,0,0,0,1075,1076,1,0,0,0,1076,1087,1,0,0,0,1077,1078,5,208, - 0,0,1078,1083,3,154,77,0,1079,1080,5,303,0,0,1080,1082,3,154,77, - 0,1081,1079,1,0,0,0,1082,1085,1,0,0,0,1083,1081,1,0,0,0,1083,1084, - 1,0,0,0,1084,1087,1,0,0,0,1085,1083,1,0,0,0,1086,1024,1,0,0,0,1086, - 1077,1,0,0,0,1087,29,1,0,0,0,1088,1093,3,58,29,0,1089,1091,5,5,0, - 0,1090,1089,1,0,0,0,1090,1091,1,0,0,0,1091,1092,1,0,0,0,1092,1094, - 3,124,62,0,1093,1090,1,0,0,0,1093,1094,1,0,0,0,1094,1101,1,0,0,0, - 1095,1096,3,116,58,0,1096,1097,5,304,0,0,1097,1098,5,295,0,0,1098, - 1101,1,0,0,0,1099,1101,5,295,0,0,1100,1088,1,0,0,0,1100,1095,1,0, - 0,0,1100,1099,1,0,0,0,1101,31,1,0,0,0,1102,1103,5,13,0,0,1103,1104, - 3,60,30,0,1104,33,1,0,0,0,1105,1106,5,229,0,0,1106,1111,3,30,15, - 0,1107,1108,5,303,0,0,1108,1110,3,30,15,0,1109,1107,1,0,0,0,1110, - 1113,1,0,0,0,1111,1109,1,0,0,0,1111,1112,1,0,0,0,1112,35,1,0,0,0, - 1113,1111,1,0,0,0,1114,1115,5,225,0,0,1115,1116,5,305,0,0,1116,1117, - 3,32,16,0,1117,1118,5,306,0,0,1118,37,1,0,0,0,1119,1120,6,19,-1, - 0,1120,1121,3,44,22,0,1121,1140,1,0,0,0,1122,1136,10,2,0,0,1123, - 1124,5,72,0,0,1124,1125,5,71,0,0,1125,1137,3,44,22,0,1126,1127,3, - 40,20,0,1127,1128,5,71,0,0,1128,1129,3,38,19,0,1129,1130,3,42,21, - 0,1130,1137,1,0,0,0,1131,1132,5,78,0,0,1132,1133,3,40,20,0,1133, - 1134,5,71,0,0,1134,1135,3,44,22,0,1135,1137,1,0,0,0,1136,1123,1, - 0,0,0,1136,1126,1,0,0,0,1136,1131,1,0,0,0,1137,1139,1,0,0,0,1138, - 1122,1,0,0,0,1139,1142,1,0,0,0,1140,1138,1,0,0,0,1140,1141,1,0,0, - 0,1141,39,1,0,0,0,1142,1140,1,0,0,0,1143,1145,5,74,0,0,1144,1143, - 1,0,0,0,1144,1145,1,0,0,0,1145,1159,1,0,0,0,1146,1148,5,75,0,0,1147, - 1149,5,73,0,0,1148,1147,1,0,0,0,1148,1149,1,0,0,0,1149,1159,1,0, - 0,0,1150,1152,5,76,0,0,1151,1153,5,73,0,0,1152,1151,1,0,0,0,1152, - 1153,1,0,0,0,1153,1159,1,0,0,0,1154,1156,5,77,0,0,1155,1157,5,73, - 0,0,1156,1155,1,0,0,0,1156,1157,1,0,0,0,1157,1159,1,0,0,0,1158,1144, - 1,0,0,0,1158,1146,1,0,0,0,1158,1150,1,0,0,0,1158,1154,1,0,0,0,1159, - 41,1,0,0,0,1160,1161,5,80,0,0,1161,1175,3,60,30,0,1162,1163,5,79, - 0,0,1163,1164,5,305,0,0,1164,1169,3,124,62,0,1165,1166,5,303,0,0, - 1166,1168,3,124,62,0,1167,1165,1,0,0,0,1168,1171,1,0,0,0,1169,1167, - 1,0,0,0,1169,1170,1,0,0,0,1170,1172,1,0,0,0,1171,1169,1,0,0,0,1172, - 1173,5,306,0,0,1173,1175,1,0,0,0,1174,1160,1,0,0,0,1174,1162,1,0, - 0,0,1175,43,1,0,0,0,1176,1184,3,46,23,0,1177,1179,5,5,0,0,1178,1177, - 1,0,0,0,1178,1179,1,0,0,0,1179,1180,1,0,0,0,1180,1182,3,124,62,0, - 1181,1183,3,52,26,0,1182,1181,1,0,0,0,1182,1183,1,0,0,0,1183,1185, - 1,0,0,0,1184,1178,1,0,0,0,1184,1185,1,0,0,0,1185,45,1,0,0,0,1186, - 1196,3,50,25,0,1187,1188,5,305,0,0,1188,1189,3,14,7,0,1189,1190, - 5,306,0,0,1190,1196,1,0,0,0,1191,1192,5,305,0,0,1192,1193,3,38,19, - 0,1193,1194,5,306,0,0,1194,1196,1,0,0,0,1195,1186,1,0,0,0,1195,1187, - 1,0,0,0,1195,1191,1,0,0,0,1196,47,1,0,0,0,1197,1210,3,116,58,0,1198, - 1199,5,83,0,0,1199,1200,5,305,0,0,1200,1205,3,158,79,0,1201,1202, - 5,303,0,0,1202,1204,3,158,79,0,1203,1201,1,0,0,0,1204,1207,1,0,0, - 0,1205,1203,1,0,0,0,1205,1206,1,0,0,0,1206,1208,1,0,0,0,1207,1205, - 1,0,0,0,1208,1209,5,306,0,0,1209,1211,1,0,0,0,1210,1198,1,0,0,0, - 1210,1211,1,0,0,0,1211,49,1,0,0,0,1212,1228,3,116,58,0,1213,1214, - 3,116,58,0,1214,1216,5,305,0,0,1215,1217,3,66,33,0,1216,1215,1,0, - 0,0,1216,1217,1,0,0,0,1217,1222,1,0,0,0,1218,1219,5,303,0,0,1219, - 1221,3,66,33,0,1220,1218,1,0,0,0,1221,1224,1,0,0,0,1222,1220,1,0, - 0,0,1222,1223,1,0,0,0,1223,1225,1,0,0,0,1224,1222,1,0,0,0,1225,1226, - 5,306,0,0,1226,1228,1,0,0,0,1227,1212,1,0,0,0,1227,1213,1,0,0,0, - 1228,51,1,0,0,0,1229,1230,5,305,0,0,1230,1235,3,124,62,0,1231,1232, - 5,303,0,0,1232,1234,3,124,62,0,1233,1231,1,0,0,0,1234,1237,1,0,0, - 0,1235,1233,1,0,0,0,1235,1236,1,0,0,0,1236,1238,1,0,0,0,1237,1235, - 1,0,0,0,1238,1239,5,306,0,0,1239,53,1,0,0,0,1240,1241,5,92,0,0,1241, - 1246,3,56,28,0,1242,1243,5,303,0,0,1243,1245,3,56,28,0,1244,1242, - 1,0,0,0,1245,1248,1,0,0,0,1246,1244,1,0,0,0,1246,1247,1,0,0,0,1247, - 55,1,0,0,0,1248,1246,1,0,0,0,1249,1251,3,124,62,0,1250,1252,3,52, - 26,0,1251,1250,1,0,0,0,1251,1252,1,0,0,0,1252,1253,1,0,0,0,1253, - 1254,5,5,0,0,1254,1255,5,305,0,0,1255,1256,3,14,7,0,1256,1257,5, - 306,0,0,1257,57,1,0,0,0,1258,1259,3,60,30,0,1259,59,1,0,0,0,1260, - 1261,6,30,-1,0,1261,1278,3,62,31,0,1262,1263,5,23,0,0,1263,1278, - 3,60,30,4,1264,1265,5,243,0,0,1265,1266,5,305,0,0,1266,1267,3,216, - 108,0,1267,1268,5,303,0,0,1268,1269,3,68,34,0,1269,1275,5,306,0, - 0,1270,1271,5,79,0,0,1271,1273,3,124,62,0,1272,1274,3,206,103,0, - 1273,1272,1,0,0,0,1273,1274,1,0,0,0,1274,1276,1,0,0,0,1275,1270, - 1,0,0,0,1275,1276,1,0,0,0,1276,1278,1,0,0,0,1277,1260,1,0,0,0,1277, - 1262,1,0,0,0,1277,1264,1,0,0,0,1278,1287,1,0,0,0,1279,1280,10,3, - 0,0,1280,1281,5,21,0,0,1281,1286,3,60,30,4,1282,1283,10,2,0,0,1283, - 1284,5,20,0,0,1284,1286,3,60,30,3,1285,1279,1,0,0,0,1285,1282,1, - 0,0,0,1286,1289,1,0,0,0,1287,1285,1,0,0,0,1287,1288,1,0,0,0,1288, - 61,1,0,0,0,1289,1287,1,0,0,0,1290,1292,3,66,33,0,1291,1293,3,64, - 32,0,1292,1291,1,0,0,0,1292,1293,1,0,0,0,1293,63,1,0,0,0,1294,1295, - 3,98,49,0,1295,1296,3,66,33,0,1296,1363,1,0,0,0,1297,1298,3,98,49, - 0,1298,1299,3,100,50,0,1299,1300,3,68,34,0,1300,1363,1,0,0,0,1301, - 1303,5,23,0,0,1302,1301,1,0,0,0,1302,1303,1,0,0,0,1303,1304,1,0, - 0,0,1304,1305,5,25,0,0,1305,1306,3,66,33,0,1306,1307,5,21,0,0,1307, - 1308,3,66,33,0,1308,1363,1,0,0,0,1309,1311,5,23,0,0,1310,1309,1, - 0,0,0,1310,1311,1,0,0,0,1311,1312,1,0,0,0,1312,1313,5,22,0,0,1313, - 1314,5,305,0,0,1314,1319,3,58,29,0,1315,1316,5,303,0,0,1316,1318, - 3,58,29,0,1317,1315,1,0,0,0,1318,1321,1,0,0,0,1319,1317,1,0,0,0, - 1319,1320,1,0,0,0,1320,1322,1,0,0,0,1321,1319,1,0,0,0,1322,1323, - 5,306,0,0,1323,1363,1,0,0,0,1324,1326,5,23,0,0,1325,1324,1,0,0,0, - 1325,1326,1,0,0,0,1326,1327,1,0,0,0,1327,1328,5,22,0,0,1328,1363, - 3,72,36,0,1329,1331,5,23,0,0,1330,1329,1,0,0,0,1330,1331,1,0,0,0, - 1331,1332,1,0,0,0,1332,1333,7,17,0,0,1333,1336,3,66,33,0,1334,1335, - 5,39,0,0,1335,1337,3,74,37,0,1336,1334,1,0,0,0,1336,1337,1,0,0,0, - 1337,1363,1,0,0,0,1338,1340,5,23,0,0,1339,1338,1,0,0,0,1339,1340, - 1,0,0,0,1340,1341,1,0,0,0,1341,1342,7,17,0,0,1342,1343,3,100,50, - 0,1343,1344,5,305,0,0,1344,1345,3,66,33,0,1345,1348,5,306,0,0,1346, - 1347,5,39,0,0,1347,1349,3,66,33,0,1348,1346,1,0,0,0,1348,1349,1, - 0,0,0,1349,1363,1,0,0,0,1350,1352,5,28,0,0,1351,1353,5,23,0,0,1352, - 1351,1,0,0,0,1352,1353,1,0,0,0,1353,1354,1,0,0,0,1354,1363,5,29, - 0,0,1355,1357,5,28,0,0,1356,1358,5,23,0,0,1357,1356,1,0,0,0,1357, - 1358,1,0,0,0,1358,1359,1,0,0,0,1359,1360,5,12,0,0,1360,1361,5,3, - 0,0,1361,1363,3,66,33,0,1362,1294,1,0,0,0,1362,1297,1,0,0,0,1362, - 1302,1,0,0,0,1362,1310,1,0,0,0,1362,1325,1,0,0,0,1362,1330,1,0,0, - 0,1362,1339,1,0,0,0,1362,1350,1,0,0,0,1362,1355,1,0,0,0,1363,65, - 1,0,0,0,1364,1365,6,33,-1,0,1365,1372,3,68,34,0,1366,1367,7,18,0, - 0,1367,1372,3,66,33,7,1368,1369,3,192,96,0,1369,1370,3,92,46,0,1370, - 1372,1,0,0,0,1371,1364,1,0,0,0,1371,1366,1,0,0,0,1371,1368,1,0,0, - 0,1372,1390,1,0,0,0,1373,1374,10,6,0,0,1374,1375,5,296,0,0,1375, - 1389,3,66,33,7,1376,1377,10,5,0,0,1377,1378,7,19,0,0,1378,1389,3, - 66,33,6,1379,1380,10,4,0,0,1380,1381,7,18,0,0,1381,1389,3,66,33, - 5,1382,1383,10,3,0,0,1383,1384,7,20,0,0,1384,1389,3,66,33,4,1385, - 1386,10,2,0,0,1386,1387,5,299,0,0,1387,1389,3,66,33,3,1388,1373, - 1,0,0,0,1388,1376,1,0,0,0,1388,1379,1,0,0,0,1388,1382,1,0,0,0,1388, - 1385,1,0,0,0,1389,1392,1,0,0,0,1390,1388,1,0,0,0,1390,1391,1,0,0, - 0,1391,67,1,0,0,0,1392,1390,1,0,0,0,1393,1394,6,34,-1,0,1394,1462, - 3,74,37,0,1395,1462,3,70,35,0,1396,1397,3,116,58,0,1397,1398,5,305, - 0,0,1398,1399,5,295,0,0,1399,1401,5,306,0,0,1400,1402,3,36,18,0, - 1401,1400,1,0,0,0,1401,1402,1,0,0,0,1402,1404,1,0,0,0,1403,1405, - 3,106,53,0,1404,1403,1,0,0,0,1404,1405,1,0,0,0,1405,1462,1,0,0,0, - 1406,1462,3,124,62,0,1407,1408,3,116,58,0,1408,1420,5,305,0,0,1409, - 1411,3,24,12,0,1410,1409,1,0,0,0,1410,1411,1,0,0,0,1411,1412,1,0, - 0,0,1412,1417,3,58,29,0,1413,1414,5,303,0,0,1414,1416,3,58,29,0, - 1415,1413,1,0,0,0,1416,1419,1,0,0,0,1417,1415,1,0,0,0,1417,1418, - 1,0,0,0,1418,1421,1,0,0,0,1419,1417,1,0,0,0,1420,1410,1,0,0,0,1420, - 1421,1,0,0,0,1421,1422,1,0,0,0,1422,1424,5,306,0,0,1423,1425,3,36, - 18,0,1424,1423,1,0,0,0,1424,1425,1,0,0,0,1425,1428,1,0,0,0,1426, - 1427,7,21,0,0,1427,1429,5,34,0,0,1428,1426,1,0,0,0,1428,1429,1,0, - 0,0,1429,1431,1,0,0,0,1430,1432,3,106,53,0,1431,1430,1,0,0,0,1431, - 1432,1,0,0,0,1432,1462,1,0,0,0,1433,1462,3,72,36,0,1434,1435,5,305, - 0,0,1435,1436,3,68,34,0,1436,1437,5,306,0,0,1437,1438,5,304,0,0, - 1438,1439,3,124,62,0,1439,1462,1,0,0,0,1440,1441,5,305,0,0,1441, - 1442,3,58,29,0,1442,1443,5,306,0,0,1443,1462,1,0,0,0,1444,1445,5, - 24,0,0,1445,1446,5,305,0,0,1446,1447,3,14,7,0,1447,1448,5,306,0, - 0,1448,1462,1,0,0,0,1449,1454,3,124,62,0,1450,1451,5,304,0,0,1451, - 1453,3,124,62,0,1452,1450,1,0,0,0,1453,1456,1,0,0,0,1454,1452,1, - 0,0,0,1454,1455,1,0,0,0,1455,1462,1,0,0,0,1456,1454,1,0,0,0,1457, - 1459,5,233,0,0,1458,1457,1,0,0,0,1458,1459,1,0,0,0,1459,1460,1,0, - 0,0,1460,1462,5,311,0,0,1461,1393,1,0,0,0,1461,1395,1,0,0,0,1461, - 1396,1,0,0,0,1461,1406,1,0,0,0,1461,1407,1,0,0,0,1461,1433,1,0,0, - 0,1461,1434,1,0,0,0,1461,1440,1,0,0,0,1461,1444,1,0,0,0,1461,1449, - 1,0,0,0,1461,1458,1,0,0,0,1462,1488,1,0,0,0,1463,1464,10,2,0,0,1464, - 1465,5,6,0,0,1465,1466,5,48,0,0,1466,1467,5,49,0,0,1467,1487,3,68, - 34,3,1468,1469,10,6,0,0,1469,1470,5,309,0,0,1470,1471,3,66,33,0, - 1471,1472,5,310,0,0,1472,1487,1,0,0,0,1473,1474,10,5,0,0,1474,1476, - 5,309,0,0,1475,1477,3,66,33,0,1476,1475,1,0,0,0,1476,1477,1,0,0, - 0,1477,1478,1,0,0,0,1478,1480,5,302,0,0,1479,1481,3,66,33,0,1480, - 1479,1,0,0,0,1480,1481,1,0,0,0,1481,1482,1,0,0,0,1482,1487,5,310, - 0,0,1483,1484,10,3,0,0,1484,1485,5,300,0,0,1485,1487,3,192,96,0, - 1486,1463,1,0,0,0,1486,1468,1,0,0,0,1486,1473,1,0,0,0,1486,1483, - 1,0,0,0,1487,1490,1,0,0,0,1488,1486,1,0,0,0,1488,1489,1,0,0,0,1489, - 69,1,0,0,0,1490,1488,1,0,0,0,1491,1608,5,56,0,0,1492,1497,5,57,0, - 0,1493,1494,5,305,0,0,1494,1495,3,144,72,0,1495,1496,5,306,0,0,1496, - 1498,1,0,0,0,1497,1493,1,0,0,0,1497,1498,1,0,0,0,1498,1608,1,0,0, - 0,1499,1504,5,58,0,0,1500,1501,5,305,0,0,1501,1502,3,144,72,0,1502, - 1503,5,306,0,0,1503,1505,1,0,0,0,1504,1500,1,0,0,0,1504,1505,1,0, - 0,0,1505,1608,1,0,0,0,1506,1608,5,59,0,0,1507,1608,7,22,0,0,1508, - 1608,5,62,0,0,1509,1510,5,75,0,0,1510,1511,5,305,0,0,1511,1512,3, - 58,29,0,1512,1513,5,303,0,0,1513,1514,3,58,29,0,1514,1515,5,306, - 0,0,1515,1608,1,0,0,0,1516,1517,5,76,0,0,1517,1518,5,305,0,0,1518, - 1519,3,58,29,0,1519,1520,5,303,0,0,1520,1521,3,58,29,0,1521,1522, - 5,306,0,0,1522,1608,1,0,0,0,1523,1524,5,42,0,0,1524,1525,5,305,0, - 0,1525,1526,3,58,29,0,1526,1527,5,3,0,0,1527,1530,3,58,29,0,1528, - 1529,5,47,0,0,1529,1531,3,58,29,0,1530,1528,1,0,0,0,1530,1531,1, - 0,0,0,1531,1532,1,0,0,0,1532,1533,5,306,0,0,1533,1608,1,0,0,0,1534, - 1535,5,43,0,0,1535,1543,5,305,0,0,1536,1538,7,23,0,0,1537,1536,1, - 0,0,0,1537,1538,1,0,0,0,1538,1540,1,0,0,0,1539,1541,3,58,29,0,1540, - 1539,1,0,0,0,1540,1541,1,0,0,0,1541,1542,1,0,0,0,1542,1544,5,3,0, - 0,1543,1537,1,0,0,0,1543,1544,1,0,0,0,1544,1545,1,0,0,0,1545,1546, - 3,58,29,0,1546,1547,5,306,0,0,1547,1608,1,0,0,0,1548,1549,5,63,0, - 0,1549,1550,5,305,0,0,1550,1551,3,130,65,0,1551,1552,5,3,0,0,1552, - 1553,3,58,29,0,1553,1554,5,306,0,0,1554,1608,1,0,0,0,1555,1556,5, - 183,0,0,1556,1557,5,305,0,0,1557,1558,3,58,29,0,1558,1559,5,5,0, - 0,1559,1560,3,192,96,0,1560,1561,5,306,0,0,1561,1608,1,0,0,0,1562, - 1563,5,184,0,0,1563,1564,5,305,0,0,1564,1565,3,58,29,0,1565,1566, - 5,5,0,0,1566,1567,3,192,96,0,1567,1568,5,306,0,0,1568,1608,1,0,0, - 0,1569,1570,5,64,0,0,1570,1572,3,58,29,0,1571,1573,3,102,51,0,1572, - 1571,1,0,0,0,1573,1574,1,0,0,0,1574,1572,1,0,0,0,1574,1575,1,0,0, - 0,1575,1578,1,0,0,0,1576,1577,5,67,0,0,1577,1579,3,58,29,0,1578, - 1576,1,0,0,0,1578,1579,1,0,0,0,1579,1580,1,0,0,0,1580,1581,5,68, - 0,0,1581,1608,1,0,0,0,1582,1584,5,64,0,0,1583,1585,3,102,51,0,1584, - 1583,1,0,0,0,1585,1586,1,0,0,0,1586,1584,1,0,0,0,1586,1587,1,0,0, - 0,1587,1590,1,0,0,0,1588,1589,5,67,0,0,1589,1591,3,58,29,0,1590, - 1588,1,0,0,0,1590,1591,1,0,0,0,1591,1592,1,0,0,0,1592,1593,5,68, - 0,0,1593,1608,1,0,0,0,1594,1595,5,69,0,0,1595,1596,5,305,0,0,1596, - 1597,3,58,29,0,1597,1598,5,303,0,0,1598,1601,3,58,29,0,1599,1600, - 5,303,0,0,1600,1602,3,58,29,0,1601,1599,1,0,0,0,1601,1602,1,0,0, - 0,1602,1603,1,0,0,0,1603,1604,5,306,0,0,1604,1608,1,0,0,0,1605,1606, - 5,233,0,0,1606,1608,3,72,36,0,1607,1491,1,0,0,0,1607,1492,1,0,0, - 0,1607,1499,1,0,0,0,1607,1506,1,0,0,0,1607,1507,1,0,0,0,1607,1508, - 1,0,0,0,1607,1509,1,0,0,0,1607,1516,1,0,0,0,1607,1523,1,0,0,0,1607, - 1534,1,0,0,0,1607,1548,1,0,0,0,1607,1555,1,0,0,0,1607,1562,1,0,0, - 0,1607,1569,1,0,0,0,1607,1582,1,0,0,0,1607,1594,1,0,0,0,1607,1605, - 1,0,0,0,1608,71,1,0,0,0,1609,1610,5,305,0,0,1610,1611,3,14,7,0,1611, - 1612,5,306,0,0,1612,73,1,0,0,0,1613,1642,3,76,38,0,1614,1616,5,233, - 0,0,1615,1614,1,0,0,0,1615,1616,1,0,0,0,1616,1617,1,0,0,0,1617,1626, - 5,309,0,0,1618,1623,3,58,29,0,1619,1620,5,303,0,0,1620,1622,3,58, - 29,0,1621,1619,1,0,0,0,1622,1625,1,0,0,0,1623,1621,1,0,0,0,1623, - 1624,1,0,0,0,1624,1627,1,0,0,0,1625,1623,1,0,0,0,1626,1618,1,0,0, - 0,1626,1627,1,0,0,0,1627,1628,1,0,0,0,1628,1642,5,310,0,0,1629,1638, - 5,307,0,0,1630,1635,3,146,73,0,1631,1632,5,303,0,0,1632,1634,3,146, - 73,0,1633,1631,1,0,0,0,1634,1637,1,0,0,0,1635,1633,1,0,0,0,1635, - 1636,1,0,0,0,1636,1639,1,0,0,0,1637,1635,1,0,0,0,1638,1630,1,0,0, - 0,1638,1639,1,0,0,0,1639,1640,1,0,0,0,1640,1642,5,308,0,0,1641,1613, - 1,0,0,0,1641,1615,1,0,0,0,1641,1629,1,0,0,0,1642,75,1,0,0,0,1643, - 1652,3,86,43,0,1644,1652,3,136,68,0,1645,1652,3,88,44,0,1646,1652, - 3,92,46,0,1647,1652,3,134,67,0,1648,1652,3,140,70,0,1649,1652,3, - 94,47,0,1650,1652,3,84,42,0,1651,1643,1,0,0,0,1651,1644,1,0,0,0, - 1651,1645,1,0,0,0,1651,1646,1,0,0,0,1651,1647,1,0,0,0,1651,1648, - 1,0,0,0,1651,1649,1,0,0,0,1651,1650,1,0,0,0,1652,77,1,0,0,0,1653, - 1675,3,84,42,0,1654,1675,3,144,72,0,1655,1675,3,86,43,0,1656,1657, - 3,74,37,0,1657,1658,5,300,0,0,1658,1659,3,192,96,0,1659,1675,1,0, - 0,0,1660,1661,5,183,0,0,1661,1662,5,305,0,0,1662,1663,3,58,29,0, - 1663,1664,5,5,0,0,1664,1665,3,192,96,0,1665,1666,5,306,0,0,1666, - 1675,1,0,0,0,1667,1668,5,184,0,0,1668,1669,5,305,0,0,1669,1670,3, - 58,29,0,1670,1671,5,5,0,0,1671,1672,3,192,96,0,1672,1673,5,306,0, - 0,1673,1675,1,0,0,0,1674,1653,1,0,0,0,1674,1654,1,0,0,0,1674,1655, - 1,0,0,0,1674,1656,1,0,0,0,1674,1660,1,0,0,0,1674,1667,1,0,0,0,1675, - 79,1,0,0,0,1676,1679,3,84,42,0,1677,1679,3,124,62,0,1678,1676,1, - 0,0,0,1678,1677,1,0,0,0,1679,81,1,0,0,0,1680,1683,3,84,42,0,1681, - 1683,3,92,46,0,1682,1680,1,0,0,0,1682,1681,1,0,0,0,1683,83,1,0,0, - 0,1684,1685,5,313,0,0,1685,1688,3,144,72,0,1686,1688,5,312,0,0,1687, - 1684,1,0,0,0,1687,1686,1,0,0,0,1688,85,1,0,0,0,1689,1690,5,29,0, - 0,1690,87,1,0,0,0,1691,1692,5,318,0,0,1692,89,1,0,0,0,1693,1697, - 5,326,0,0,1694,1696,5,330,0,0,1695,1694,1,0,0,0,1696,1699,1,0,0, - 0,1697,1695,1,0,0,0,1697,1698,1,0,0,0,1698,1700,1,0,0,0,1699,1697, - 1,0,0,0,1700,1701,5,331,0,0,1701,91,1,0,0,0,1702,1705,5,317,0,0, - 1703,1705,3,90,45,0,1704,1702,1,0,0,0,1704,1703,1,0,0,0,1705,93, - 1,0,0,0,1706,1707,5,319,0,0,1707,95,1,0,0,0,1708,1709,6,48,-1,0, - 1709,1710,3,116,58,0,1710,1718,1,0,0,0,1711,1712,10,2,0,0,1712,1713, - 5,309,0,0,1713,1714,3,66,33,0,1714,1715,5,310,0,0,1715,1717,1,0, - 0,0,1716,1711,1,0,0,0,1717,1720,1,0,0,0,1718,1716,1,0,0,0,1718,1719, - 1,0,0,0,1719,97,1,0,0,0,1720,1718,1,0,0,0,1721,1722,7,24,0,0,1722, - 99,1,0,0,0,1723,1724,7,25,0,0,1724,101,1,0,0,0,1725,1726,5,65,0, - 0,1726,1727,3,58,29,0,1727,1728,5,66,0,0,1728,1729,3,58,29,0,1729, - 103,1,0,0,0,1730,1731,3,124,62,0,1731,1732,5,5,0,0,1732,1733,3,108, - 54,0,1733,105,1,0,0,0,1734,1735,5,81,0,0,1735,1736,3,108,54,0,1736, - 107,1,0,0,0,1737,1771,3,124,62,0,1738,1740,5,305,0,0,1739,1741,3, - 124,62,0,1740,1739,1,0,0,0,1740,1741,1,0,0,0,1741,1752,1,0,0,0,1742, - 1743,5,83,0,0,1743,1744,5,15,0,0,1744,1749,3,58,29,0,1745,1746,5, - 303,0,0,1746,1748,3,58,29,0,1747,1745,1,0,0,0,1748,1751,1,0,0,0, - 1749,1747,1,0,0,0,1749,1750,1,0,0,0,1750,1753,1,0,0,0,1751,1749, - 1,0,0,0,1752,1742,1,0,0,0,1752,1753,1,0,0,0,1753,1764,1,0,0,0,1754, - 1755,5,16,0,0,1755,1756,5,15,0,0,1756,1761,3,26,13,0,1757,1758,5, - 303,0,0,1758,1760,3,26,13,0,1759,1757,1,0,0,0,1760,1763,1,0,0,0, - 1761,1759,1,0,0,0,1761,1762,1,0,0,0,1762,1765,1,0,0,0,1763,1761, - 1,0,0,0,1764,1754,1,0,0,0,1764,1765,1,0,0,0,1765,1767,1,0,0,0,1766, - 1768,3,110,55,0,1767,1766,1,0,0,0,1767,1768,1,0,0,0,1768,1769,1, - 0,0,0,1769,1771,5,306,0,0,1770,1737,1,0,0,0,1770,1738,1,0,0,0,1771, - 109,1,0,0,0,1772,1773,5,85,0,0,1773,1789,3,112,56,0,1774,1775,5, - 86,0,0,1775,1789,3,112,56,0,1776,1777,5,85,0,0,1777,1778,5,25,0, - 0,1778,1779,3,112,56,0,1779,1780,5,21,0,0,1780,1781,3,112,56,0,1781, - 1789,1,0,0,0,1782,1783,5,86,0,0,1783,1784,5,25,0,0,1784,1785,3,112, - 56,0,1785,1786,5,21,0,0,1786,1787,3,112,56,0,1787,1789,1,0,0,0,1788, - 1772,1,0,0,0,1788,1774,1,0,0,0,1788,1776,1,0,0,0,1788,1782,1,0,0, - 0,1789,111,1,0,0,0,1790,1791,5,87,0,0,1791,1800,5,88,0,0,1792,1793, - 5,87,0,0,1793,1800,5,89,0,0,1794,1795,5,90,0,0,1795,1800,5,91,0, - 0,1796,1797,3,58,29,0,1797,1798,7,26,0,0,1798,1800,1,0,0,0,1799, - 1790,1,0,0,0,1799,1792,1,0,0,0,1799,1794,1,0,0,0,1799,1796,1,0,0, - 0,1800,113,1,0,0,0,1801,1806,3,116,58,0,1802,1803,5,303,0,0,1803, - 1805,3,116,58,0,1804,1802,1,0,0,0,1805,1808,1,0,0,0,1806,1804,1, - 0,0,0,1806,1807,1,0,0,0,1807,115,1,0,0,0,1808,1806,1,0,0,0,1809, - 1814,3,124,62,0,1810,1811,5,304,0,0,1811,1813,3,124,62,0,1812,1810, - 1,0,0,0,1813,1816,1,0,0,0,1814,1812,1,0,0,0,1814,1815,1,0,0,0,1815, - 117,1,0,0,0,1816,1814,1,0,0,0,1817,1821,3,120,60,0,1818,1820,3,120, - 60,0,1819,1818,1,0,0,0,1820,1823,1,0,0,0,1821,1819,1,0,0,0,1821, - 1822,1,0,0,0,1822,119,1,0,0,0,1823,1821,1,0,0,0,1824,1826,3,124, - 62,0,1825,1827,3,76,38,0,1826,1825,1,0,0,0,1826,1827,1,0,0,0,1827, - 121,1,0,0,0,1828,1833,3,124,62,0,1829,1830,5,303,0,0,1830,1832,3, - 124,62,0,1831,1829,1,0,0,0,1832,1835,1,0,0,0,1833,1831,1,0,0,0,1833, - 1834,1,0,0,0,1834,123,1,0,0,0,1835,1833,1,0,0,0,1836,1839,3,126, - 63,0,1837,1839,3,128,64,0,1838,1836,1,0,0,0,1838,1837,1,0,0,0,1839, - 125,1,0,0,0,1840,1844,5,322,0,0,1841,1844,3,248,124,0,1842,1844, - 5,323,0,0,1843,1840,1,0,0,0,1843,1841,1,0,0,0,1843,1842,1,0,0,0, - 1844,127,1,0,0,0,1845,1848,5,324,0,0,1846,1848,5,325,0,0,1847,1845, - 1,0,0,0,1847,1846,1,0,0,0,1848,129,1,0,0,0,1849,1852,3,124,62,0, - 1850,1852,3,92,46,0,1851,1849,1,0,0,0,1851,1850,1,0,0,0,1852,131, - 1,0,0,0,1853,1857,3,124,62,0,1854,1857,3,116,58,0,1855,1857,3,92, - 46,0,1856,1853,1,0,0,0,1856,1854,1,0,0,0,1856,1855,1,0,0,0,1857, - 133,1,0,0,0,1858,1861,3,142,71,0,1859,1861,3,144,72,0,1860,1858, - 1,0,0,0,1860,1859,1,0,0,0,1861,135,1,0,0,0,1862,1864,5,70,0,0,1863, - 1865,7,18,0,0,1864,1863,1,0,0,0,1864,1865,1,0,0,0,1865,1866,1,0, - 0,0,1866,1867,3,92,46,0,1867,1870,3,138,69,0,1868,1869,5,4,0,0,1869, - 1871,3,138,69,0,1870,1868,1,0,0,0,1870,1871,1,0,0,0,1871,137,1,0, - 0,0,1872,1873,7,27,0,0,1873,139,1,0,0,0,1874,1875,7,28,0,0,1875, - 141,1,0,0,0,1876,1877,5,321,0,0,1877,143,1,0,0,0,1878,1879,5,320, - 0,0,1879,145,1,0,0,0,1880,1881,3,124,62,0,1881,1882,5,282,0,0,1882, - 1883,3,58,29,0,1883,147,1,0,0,0,1884,1890,3,14,7,0,1885,1886,5,305, - 0,0,1886,1887,3,14,7,0,1887,1888,5,306,0,0,1888,1890,1,0,0,0,1889, - 1884,1,0,0,0,1889,1885,1,0,0,0,1890,149,1,0,0,0,1891,1892,5,80,0, - 0,1892,1894,5,213,0,0,1893,1895,3,152,76,0,1894,1893,1,0,0,0,1894, - 1895,1,0,0,0,1895,1896,1,0,0,0,1896,1897,5,214,0,0,1897,1913,5,215, - 0,0,1898,1899,5,80,0,0,1899,1900,5,213,0,0,1900,1901,3,152,76,0, - 1901,1902,5,214,0,0,1902,1903,5,210,0,0,1903,1904,5,216,0,0,1904, - 1909,3,158,79,0,1905,1906,5,303,0,0,1906,1908,3,158,79,0,1907,1905, - 1,0,0,0,1908,1911,1,0,0,0,1909,1907,1,0,0,0,1909,1910,1,0,0,0,1910, - 1913,1,0,0,0,1911,1909,1,0,0,0,1912,1891,1,0,0,0,1912,1898,1,0,0, - 0,1913,151,1,0,0,0,1914,1915,5,305,0,0,1915,1920,3,96,48,0,1916, - 1917,5,303,0,0,1917,1919,3,96,48,0,1918,1916,1,0,0,0,1919,1922,1, - 0,0,0,1920,1918,1,0,0,0,1920,1921,1,0,0,0,1921,1923,1,0,0,0,1922, - 1920,1,0,0,0,1923,1924,5,306,0,0,1924,153,1,0,0,0,1925,1926,5,305, - 0,0,1926,1931,3,58,29,0,1927,1928,5,303,0,0,1928,1930,3,58,29,0, - 1929,1927,1,0,0,0,1930,1933,1,0,0,0,1931,1929,1,0,0,0,1931,1932, - 1,0,0,0,1932,1934,1,0,0,0,1933,1931,1,0,0,0,1934,1935,5,306,0,0, - 1935,155,1,0,0,0,1936,1937,5,305,0,0,1937,1942,3,68,34,0,1938,1939, - 5,303,0,0,1939,1941,3,68,34,0,1940,1938,1,0,0,0,1941,1944,1,0,0, - 0,1942,1940,1,0,0,0,1942,1943,1,0,0,0,1943,1945,1,0,0,0,1944,1942, - 1,0,0,0,1945,1946,5,306,0,0,1946,157,1,0,0,0,1947,1948,3,68,34,0, - 1948,1949,5,282,0,0,1949,1950,3,58,29,0,1950,159,1,0,0,0,1951,1952, - 5,95,0,0,1952,1956,5,97,0,0,1953,1954,5,69,0,0,1954,1955,5,23,0, - 0,1955,1957,5,24,0,0,1956,1953,1,0,0,0,1956,1957,1,0,0,0,1957,1958, - 1,0,0,0,1958,1959,3,50,25,0,1959,1960,5,305,0,0,1960,1965,3,182, - 91,0,1961,1962,5,303,0,0,1962,1964,3,182,91,0,1963,1961,1,0,0,0, - 1964,1967,1,0,0,0,1965,1963,1,0,0,0,1965,1966,1,0,0,0,1966,1968, - 1,0,0,0,1967,1965,1,0,0,0,1968,1969,5,306,0,0,1969,1971,3,174,87, - 0,1970,1972,3,206,103,0,1971,1970,1,0,0,0,1971,1972,1,0,0,0,1972, - 2172,1,0,0,0,1973,1974,5,95,0,0,1974,1975,5,97,0,0,1975,1976,3,50, - 25,0,1976,1977,5,5,0,0,1977,1978,3,148,74,0,1978,2172,1,0,0,0,1979, - 1980,5,95,0,0,1980,1981,5,275,0,0,1981,1985,5,97,0,0,1982,1983,5, - 69,0,0,1983,1984,5,23,0,0,1984,1986,5,24,0,0,1985,1982,1,0,0,0,1985, - 1986,1,0,0,0,1986,1987,1,0,0,0,1987,1988,3,116,58,0,1988,1989,5, - 305,0,0,1989,1994,3,182,91,0,1990,1991,5,303,0,0,1991,1993,3,182, - 91,0,1992,1990,1,0,0,0,1993,1996,1,0,0,0,1994,1992,1,0,0,0,1994, - 1995,1,0,0,0,1995,1997,1,0,0,0,1996,1994,1,0,0,0,1997,1998,5,306, - 0,0,1998,1999,5,274,0,0,1999,2001,3,124,62,0,2000,2002,3,164,82, - 0,2001,2000,1,0,0,0,2001,2002,1,0,0,0,2002,2172,1,0,0,0,2003,2004, - 5,95,0,0,2004,2005,5,96,0,0,2005,2006,5,97,0,0,2006,2008,3,50,25, - 0,2007,2009,3,180,90,0,2008,2007,1,0,0,0,2008,2009,1,0,0,0,2009, - 2011,1,0,0,0,2010,2012,3,206,103,0,2011,2010,1,0,0,0,2011,2012,1, - 0,0,0,2012,2172,1,0,0,0,2013,2014,5,95,0,0,2014,2015,5,104,0,0,2015, - 2016,3,124,62,0,2016,2017,5,178,0,0,2017,2019,3,124,62,0,2018,2020, - 3,206,103,0,2019,2018,1,0,0,0,2019,2020,1,0,0,0,2020,2172,1,0,0, - 0,2021,2022,5,95,0,0,2022,2023,5,105,0,0,2023,2027,3,116,58,0,2024, - 2028,5,7,0,0,2025,2026,5,97,0,0,2026,2028,3,230,115,0,2027,2024, - 1,0,0,0,2027,2025,1,0,0,0,2028,2030,1,0,0,0,2029,2031,3,206,103, - 0,2030,2029,1,0,0,0,2030,2031,1,0,0,0,2031,2172,1,0,0,0,2032,2033, - 5,95,0,0,2033,2034,5,234,0,0,2034,2037,3,124,62,0,2035,2036,5,235, - 0,0,2036,2038,3,124,62,0,2037,2035,1,0,0,0,2037,2038,1,0,0,0,2038, - 2040,1,0,0,0,2039,2041,5,92,0,0,2040,2039,1,0,0,0,2040,2041,1,0, - 0,0,2041,2042,1,0,0,0,2042,2043,5,305,0,0,2043,2048,3,220,110,0, - 2044,2045,5,303,0,0,2045,2047,3,220,110,0,2046,2044,1,0,0,0,2047, - 2050,1,0,0,0,2048,2046,1,0,0,0,2048,2049,1,0,0,0,2049,2051,1,0,0, - 0,2050,2048,1,0,0,0,2051,2052,5,306,0,0,2052,2172,1,0,0,0,2053,2056, - 5,95,0,0,2054,2055,5,20,0,0,2055,2057,5,161,0,0,2056,2054,1,0,0, - 0,2056,2057,1,0,0,0,2057,2058,1,0,0,0,2058,2059,5,162,0,0,2059,2060, - 3,116,58,0,2060,2069,5,305,0,0,2061,2066,3,168,84,0,2062,2063,5, - 303,0,0,2063,2065,3,168,84,0,2064,2062,1,0,0,0,2065,2068,1,0,0,0, - 2066,2064,1,0,0,0,2066,2067,1,0,0,0,2067,2070,1,0,0,0,2068,2066, - 1,0,0,0,2069,2061,1,0,0,0,2069,2070,1,0,0,0,2070,2071,1,0,0,0,2071, - 2072,5,306,0,0,2072,2073,5,159,0,0,2073,2074,3,192,96,0,2074,2075, - 5,163,0,0,2075,2076,3,80,40,0,2076,2077,5,5,0,0,2077,2078,3,82,41, - 0,2078,2172,1,0,0,0,2079,2080,5,95,0,0,2080,2081,5,246,0,0,2081, - 2085,5,279,0,0,2082,2083,5,69,0,0,2083,2084,5,23,0,0,2084,2086,5, - 24,0,0,2085,2082,1,0,0,0,2085,2086,1,0,0,0,2086,2087,1,0,0,0,2087, - 2088,5,47,0,0,2088,2089,3,162,81,0,2089,2090,5,274,0,0,2090,2092, - 3,124,62,0,2091,2093,3,164,82,0,2092,2091,1,0,0,0,2092,2093,1,0, - 0,0,2093,2172,1,0,0,0,2094,2095,5,95,0,0,2095,2096,7,7,0,0,2096, - 2110,3,124,62,0,2097,2109,3,206,103,0,2098,2100,5,92,0,0,2099,2098, - 1,0,0,0,2099,2100,1,0,0,0,2100,2102,1,0,0,0,2101,2103,5,305,0,0, - 2102,2101,1,0,0,0,2102,2103,1,0,0,0,2103,2104,1,0,0,0,2104,2106, - 3,118,59,0,2105,2107,5,306,0,0,2106,2105,1,0,0,0,2106,2107,1,0,0, - 0,2107,2109,1,0,0,0,2108,2097,1,0,0,0,2108,2099,1,0,0,0,2109,2111, - 1,0,0,0,2110,2108,1,0,0,0,2110,2111,1,0,0,0,2111,2172,1,0,0,0,2112, - 2115,5,95,0,0,2113,2114,5,20,0,0,2114,2116,5,161,0,0,2115,2113,1, - 0,0,0,2115,2116,1,0,0,0,2116,2117,1,0,0,0,2117,2118,5,193,0,0,2118, - 2119,3,116,58,0,2119,2120,5,5,0,0,2120,2121,3,12,6,0,2121,2172,1, - 0,0,0,2122,2123,5,95,0,0,2123,2124,5,256,0,0,2124,2144,3,124,62, - 0,2125,2126,5,47,0,0,2126,2127,5,7,0,0,2127,2145,5,186,0,0,2128, - 2129,5,47,0,0,2129,2130,5,97,0,0,2130,2132,3,116,58,0,2131,2133, - 5,295,0,0,2132,2131,1,0,0,0,2132,2133,1,0,0,0,2133,2141,1,0,0,0, - 2134,2135,5,303,0,0,2135,2137,3,116,58,0,2136,2138,5,295,0,0,2137, - 2136,1,0,0,0,2137,2138,1,0,0,0,2138,2140,1,0,0,0,2139,2134,1,0,0, - 0,2140,2143,1,0,0,0,2141,2139,1,0,0,0,2141,2142,1,0,0,0,2142,2145, - 1,0,0,0,2143,2141,1,0,0,0,2144,2125,1,0,0,0,2144,2128,1,0,0,0,2144, - 2145,1,0,0,0,2145,2172,1,0,0,0,2146,2147,5,95,0,0,2147,2148,5,257, - 0,0,2148,2149,3,124,62,0,2149,2150,5,258,0,0,2150,2151,3,58,29,0, - 2151,2152,5,256,0,0,2152,2154,3,122,61,0,2153,2155,3,206,103,0,2154, - 2153,1,0,0,0,2154,2155,1,0,0,0,2155,2172,1,0,0,0,2156,2157,5,95, - 0,0,2157,2161,5,274,0,0,2158,2159,5,69,0,0,2159,2160,5,23,0,0,2160, - 2162,5,24,0,0,2161,2158,1,0,0,0,2161,2162,1,0,0,0,2162,2163,1,0, - 0,0,2163,2164,3,124,62,0,2164,2165,5,275,0,0,2165,2166,5,276,0,0, - 2166,2167,5,277,0,0,2167,2169,3,124,62,0,2168,2170,3,164,82,0,2169, - 2168,1,0,0,0,2169,2170,1,0,0,0,2170,2172,1,0,0,0,2171,1951,1,0,0, - 0,2171,1973,1,0,0,0,2171,1979,1,0,0,0,2171,2003,1,0,0,0,2171,2013, - 1,0,0,0,2171,2021,1,0,0,0,2171,2032,1,0,0,0,2171,2053,1,0,0,0,2171, - 2079,1,0,0,0,2171,2094,1,0,0,0,2171,2112,1,0,0,0,2171,2122,1,0,0, - 0,2171,2146,1,0,0,0,2171,2156,1,0,0,0,2172,161,1,0,0,0,2173,2178, - 3,124,62,0,2174,2178,5,246,0,0,2175,2178,5,61,0,0,2176,2178,5,60, - 0,0,2177,2173,1,0,0,0,2177,2174,1,0,0,0,2177,2175,1,0,0,0,2177,2176, - 1,0,0,0,2178,163,1,0,0,0,2179,2180,5,278,0,0,2180,2181,5,305,0,0, - 2181,2186,3,166,83,0,2182,2183,5,303,0,0,2183,2185,3,166,83,0,2184, - 2182,1,0,0,0,2185,2188,1,0,0,0,2186,2184,1,0,0,0,2186,2187,1,0,0, - 0,2187,2189,1,0,0,0,2188,2186,1,0,0,0,2189,2190,5,306,0,0,2190,165, - 1,0,0,0,2191,2192,3,124,62,0,2192,2193,3,74,37,0,2193,167,1,0,0, - 0,2194,2196,3,124,62,0,2195,2194,1,0,0,0,2195,2196,1,0,0,0,2196, - 2197,1,0,0,0,2197,2198,3,192,96,0,2198,169,1,0,0,0,2199,2200,5,108, - 0,0,2200,2203,3,116,58,0,2201,2203,3,48,24,0,2202,2199,1,0,0,0,2202, - 2201,1,0,0,0,2203,171,1,0,0,0,2204,2205,7,29,0,0,2205,173,1,0,0, - 0,2206,2208,3,176,88,0,2207,2206,1,0,0,0,2207,2208,1,0,0,0,2208, - 2210,1,0,0,0,2209,2211,3,178,89,0,2210,2209,1,0,0,0,2210,2211,1, - 0,0,0,2211,2219,1,0,0,0,2212,2214,3,178,89,0,2213,2212,1,0,0,0,2213, - 2214,1,0,0,0,2214,2216,1,0,0,0,2215,2217,3,176,88,0,2216,2215,1, - 0,0,0,2216,2217,1,0,0,0,2217,2219,1,0,0,0,2218,2207,1,0,0,0,2218, - 2213,1,0,0,0,2219,175,1,0,0,0,2220,2221,5,239,0,0,2221,2222,5,15, - 0,0,2222,2223,3,156,78,0,2223,177,1,0,0,0,2224,2230,5,220,0,0,2225, - 2226,5,15,0,0,2226,2227,5,305,0,0,2227,2228,3,68,34,0,2228,2229, - 5,306,0,0,2229,2231,1,0,0,0,2230,2225,1,0,0,0,2230,2231,1,0,0,0, - 2231,2236,1,0,0,0,2232,2233,5,207,0,0,2233,2234,3,78,39,0,2234,2235, - 5,221,0,0,2235,2237,1,0,0,0,2236,2232,1,0,0,0,2236,2237,1,0,0,0, - 2237,179,1,0,0,0,2238,2239,5,220,0,0,2239,2240,5,207,0,0,2240,2241, - 3,78,39,0,2241,2242,5,221,0,0,2242,181,1,0,0,0,2243,2257,3,184,92, - 0,2244,2245,3,202,101,0,2245,2246,3,156,78,0,2246,2257,1,0,0,0,2247, - 2248,5,227,0,0,2248,2249,3,124,62,0,2249,2250,5,79,0,0,2250,2251, - 3,124,62,0,2251,2253,3,156,78,0,2252,2254,3,206,103,0,2253,2252, - 1,0,0,0,2253,2254,1,0,0,0,2254,2257,1,0,0,0,2255,2257,3,204,102, - 0,2256,2243,1,0,0,0,2256,2244,1,0,0,0,2256,2247,1,0,0,0,2256,2255, - 1,0,0,0,2257,183,1,0,0,0,2258,2260,3,124,62,0,2259,2261,3,192,96, - 0,2260,2259,1,0,0,0,2260,2261,1,0,0,0,2261,2265,1,0,0,0,2262,2264, - 3,200,100,0,2263,2262,1,0,0,0,2264,2267,1,0,0,0,2265,2263,1,0,0, - 0,2265,2266,1,0,0,0,2266,185,1,0,0,0,2267,2265,1,0,0,0,2268,2270, - 5,109,0,0,2269,2271,5,110,0,0,2270,2269,1,0,0,0,2270,2271,1,0,0, - 0,2271,2272,1,0,0,0,2272,2274,3,96,48,0,2273,2275,3,192,96,0,2274, - 2273,1,0,0,0,2274,2275,1,0,0,0,2275,2279,1,0,0,0,2276,2278,3,200, - 100,0,2277,2276,1,0,0,0,2278,2281,1,0,0,0,2279,2277,1,0,0,0,2279, - 2280,1,0,0,0,2280,187,1,0,0,0,2281,2279,1,0,0,0,2282,2284,5,197, - 0,0,2283,2285,5,110,0,0,2284,2283,1,0,0,0,2284,2285,1,0,0,0,2285, - 2288,1,0,0,0,2286,2287,5,69,0,0,2287,2289,5,24,0,0,2288,2286,1,0, - 0,0,2288,2289,1,0,0,0,2289,2290,1,0,0,0,2290,2291,3,96,48,0,2291, - 189,1,0,0,0,2292,2293,5,115,0,0,2293,2294,5,116,0,0,2294,2295,3, - 78,39,0,2295,2296,5,3,0,0,2296,2297,3,82,41,0,2297,2298,5,4,0,0, - 2298,2299,3,82,41,0,2299,2325,1,0,0,0,2300,2301,5,117,0,0,2301,2302, - 5,118,0,0,2302,2303,5,116,0,0,2303,2304,3,78,39,0,2304,2305,5,80, - 0,0,2305,2306,3,82,41,0,2306,2325,1,0,0,0,2307,2308,5,84,0,0,2308, - 2309,5,118,0,0,2309,2310,5,116,0,0,2310,2311,3,78,39,0,2311,2312, - 5,80,0,0,2312,2314,3,82,41,0,2313,2315,3,206,103,0,2314,2313,1,0, - 0,0,2314,2315,1,0,0,0,2315,2325,1,0,0,0,2316,2317,5,119,0,0,2317, - 2318,5,116,0,0,2318,2319,3,78,39,0,2319,2320,5,80,0,0,2320,2322, - 3,82,41,0,2321,2323,3,206,103,0,2322,2321,1,0,0,0,2322,2323,1,0, - 0,0,2323,2325,1,0,0,0,2324,2292,1,0,0,0,2324,2300,1,0,0,0,2324,2307, - 1,0,0,0,2324,2316,1,0,0,0,2325,191,1,0,0,0,2326,2327,6,96,-1,0,2327, - 2339,3,194,97,0,2328,2329,5,305,0,0,2329,2334,3,144,72,0,2330,2331, - 5,303,0,0,2331,2333,3,144,72,0,2332,2330,1,0,0,0,2333,2336,1,0,0, - 0,2334,2332,1,0,0,0,2334,2335,1,0,0,0,2335,2337,1,0,0,0,2336,2334, - 1,0,0,0,2337,2338,5,306,0,0,2338,2340,1,0,0,0,2339,2328,1,0,0,0, - 2339,2340,1,0,0,0,2340,2348,1,0,0,0,2341,2348,3,198,99,0,2342,2343, - 5,233,0,0,2343,2344,5,305,0,0,2344,2345,3,192,96,0,2345,2346,5,306, - 0,0,2346,2348,1,0,0,0,2347,2326,1,0,0,0,2347,2341,1,0,0,0,2347,2342, - 1,0,0,0,2348,2353,1,0,0,0,2349,2350,10,1,0,0,2350,2352,5,311,0,0, - 2351,2349,1,0,0,0,2352,2355,1,0,0,0,2353,2351,1,0,0,0,2353,2354, - 1,0,0,0,2354,193,1,0,0,0,2355,2353,1,0,0,0,2356,2359,3,196,98,0, - 2357,2359,3,124,62,0,2358,2356,1,0,0,0,2358,2357,1,0,0,0,2359,195, - 1,0,0,0,2360,2361,5,129,0,0,2361,2378,5,130,0,0,2362,2363,5,131, - 0,0,2363,2364,5,93,0,0,2364,2365,5,48,0,0,2365,2378,5,49,0,0,2366, - 2367,5,131,0,0,2367,2368,5,92,0,0,2368,2369,5,48,0,0,2369,2378,5, - 49,0,0,2370,2371,5,48,0,0,2371,2372,5,92,0,0,2372,2373,5,48,0,0, - 2373,2378,5,49,0,0,2374,2375,5,133,0,0,2375,2378,5,135,0,0,2376, - 2378,5,134,0,0,2377,2360,1,0,0,0,2377,2362,1,0,0,0,2377,2366,1,0, - 0,0,2377,2370,1,0,0,0,2377,2374,1,0,0,0,2377,2376,1,0,0,0,2378,197, - 1,0,0,0,2379,2383,5,136,0,0,2380,2381,5,305,0,0,2381,2382,7,30,0, - 0,2382,2384,5,306,0,0,2383,2380,1,0,0,0,2383,2384,1,0,0,0,2384,2397, - 1,0,0,0,2385,2386,5,5,0,0,2386,2387,5,305,0,0,2387,2392,3,184,92, - 0,2388,2389,5,303,0,0,2389,2391,3,184,92,0,2390,2388,1,0,0,0,2391, - 2394,1,0,0,0,2392,2390,1,0,0,0,2392,2393,1,0,0,0,2393,2395,1,0,0, - 0,2394,2392,1,0,0,0,2395,2396,5,306,0,0,2396,2398,1,0,0,0,2397,2385, - 1,0,0,0,2397,2398,1,0,0,0,2398,199,1,0,0,0,2399,2431,3,202,101,0, - 2400,2401,5,23,0,0,2401,2431,5,29,0,0,2402,2431,5,29,0,0,2403,2404, - 5,227,0,0,2404,2405,5,79,0,0,2405,2407,3,124,62,0,2406,2408,3,206, - 103,0,2407,2406,1,0,0,0,2407,2408,1,0,0,0,2408,2431,1,0,0,0,2409, - 2410,5,227,0,0,2410,2431,5,223,0,0,2411,2412,5,228,0,0,2412,2431, - 3,206,103,0,2413,2414,5,173,0,0,2414,2416,3,124,62,0,2415,2413,1, - 0,0,0,2415,2416,1,0,0,0,2416,2417,1,0,0,0,2417,2418,5,218,0,0,2418, - 2431,3,58,29,0,2419,2420,5,173,0,0,2420,2422,3,124,62,0,2421,2419, - 1,0,0,0,2421,2422,1,0,0,0,2422,2425,1,0,0,0,2423,2424,5,244,0,0, - 2424,2426,5,245,0,0,2425,2423,1,0,0,0,2425,2426,1,0,0,0,2426,2427, - 1,0,0,0,2427,2428,5,5,0,0,2428,2431,3,58,29,0,2429,2431,3,204,102, - 0,2430,2399,1,0,0,0,2430,2400,1,0,0,0,2430,2402,1,0,0,0,2430,2403, - 1,0,0,0,2430,2409,1,0,0,0,2430,2411,1,0,0,0,2430,2415,1,0,0,0,2430, - 2421,1,0,0,0,2430,2429,1,0,0,0,2431,201,1,0,0,0,2432,2433,5,173, - 0,0,2433,2435,3,124,62,0,2434,2432,1,0,0,0,2434,2435,1,0,0,0,2435, - 2436,1,0,0,0,2436,2437,5,222,0,0,2437,203,1,0,0,0,2438,2439,5,173, - 0,0,2439,2441,3,124,62,0,2440,2438,1,0,0,0,2440,2441,1,0,0,0,2441, - 2442,1,0,0,0,2442,2443,5,174,0,0,2443,2444,5,305,0,0,2444,2445,3, - 60,30,0,2445,2446,5,306,0,0,2446,205,1,0,0,0,2447,2448,5,92,0,0, - 2448,2449,5,305,0,0,2449,2450,3,208,104,0,2450,2451,5,306,0,0,2451, - 207,1,0,0,0,2452,2457,3,210,105,0,2453,2454,5,303,0,0,2454,2456, - 3,210,105,0,2455,2453,1,0,0,0,2456,2459,1,0,0,0,2457,2455,1,0,0, - 0,2457,2458,1,0,0,0,2458,209,1,0,0,0,2459,2457,1,0,0,0,2460,2461, - 3,124,62,0,2461,2462,5,282,0,0,2462,2463,3,58,29,0,2463,211,1,0, - 0,0,2464,2465,5,305,0,0,2465,2470,3,214,107,0,2466,2467,5,303,0, - 0,2467,2469,3,214,107,0,2468,2466,1,0,0,0,2469,2472,1,0,0,0,2470, - 2468,1,0,0,0,2470,2471,1,0,0,0,2471,2473,1,0,0,0,2472,2470,1,0,0, - 0,2473,2474,5,306,0,0,2474,213,1,0,0,0,2475,2477,7,31,0,0,2476,2478, - 3,140,70,0,2477,2476,1,0,0,0,2477,2478,1,0,0,0,2478,215,1,0,0,0, - 2479,2492,3,218,109,0,2480,2481,5,305,0,0,2481,2486,3,218,109,0, - 2482,2483,5,303,0,0,2483,2485,3,218,109,0,2484,2482,1,0,0,0,2485, - 2488,1,0,0,0,2486,2484,1,0,0,0,2486,2487,1,0,0,0,2487,2489,1,0,0, - 0,2488,2486,1,0,0,0,2489,2490,5,306,0,0,2490,2492,1,0,0,0,2491,2479, - 1,0,0,0,2491,2480,1,0,0,0,2492,217,1,0,0,0,2493,2495,3,96,48,0,2494, - 2496,3,76,38,0,2495,2494,1,0,0,0,2495,2496,1,0,0,0,2496,219,1,0, - 0,0,2497,2502,3,222,111,0,2498,2502,3,224,112,0,2499,2502,3,226, - 113,0,2500,2502,3,210,105,0,2501,2497,1,0,0,0,2501,2498,1,0,0,0, - 2501,2499,1,0,0,0,2501,2500,1,0,0,0,2502,221,1,0,0,0,2503,2504,5, - 236,0,0,2504,2505,3,228,114,0,2505,223,1,0,0,0,2506,2507,5,237,0, - 0,2507,2508,5,305,0,0,2508,2513,3,228,114,0,2509,2510,5,303,0,0, - 2510,2512,3,228,114,0,2511,2509,1,0,0,0,2512,2515,1,0,0,0,2513,2511, - 1,0,0,0,2513,2514,1,0,0,0,2514,2516,1,0,0,0,2515,2513,1,0,0,0,2516, - 2517,5,306,0,0,2517,225,1,0,0,0,2518,2519,5,238,0,0,2519,2520,5, - 305,0,0,2520,2525,3,228,114,0,2521,2522,5,303,0,0,2522,2524,3,228, - 114,0,2523,2521,1,0,0,0,2524,2527,1,0,0,0,2525,2523,1,0,0,0,2525, - 2526,1,0,0,0,2526,2528,1,0,0,0,2527,2525,1,0,0,0,2528,2529,5,306, - 0,0,2529,227,1,0,0,0,2530,2532,3,124,62,0,2531,2533,3,206,103,0, - 2532,2531,1,0,0,0,2532,2533,1,0,0,0,2533,229,1,0,0,0,2534,2539,3, - 48,24,0,2535,2536,5,303,0,0,2536,2538,3,48,24,0,2537,2535,1,0,0, - 0,2538,2541,1,0,0,0,2539,2537,1,0,0,0,2539,2540,1,0,0,0,2540,231, - 1,0,0,0,2541,2539,1,0,0,0,2542,2543,3,68,34,0,2543,2544,7,3,0,0, - 2544,2545,3,58,29,0,2545,233,1,0,0,0,2546,2552,3,92,46,0,2547,2552, - 3,140,70,0,2548,2552,3,134,67,0,2549,2552,3,124,62,0,2550,2552,3, - 236,118,0,2551,2546,1,0,0,0,2551,2547,1,0,0,0,2551,2548,1,0,0,0, - 2551,2549,1,0,0,0,2551,2550,1,0,0,0,2552,235,1,0,0,0,2553,2554,5, - 80,0,0,2554,237,1,0,0,0,2555,2556,7,32,0,0,2556,239,1,0,0,0,2557, - 2558,5,150,0,0,2558,2559,5,151,0,0,2559,2571,3,242,121,0,2560,2561, - 5,156,0,0,2561,2565,5,157,0,0,2562,2563,5,156,0,0,2563,2565,5,108, - 0,0,2564,2560,1,0,0,0,2564,2562,1,0,0,0,2565,2571,1,0,0,0,2566,2568, - 5,23,0,0,2567,2566,1,0,0,0,2567,2568,1,0,0,0,2568,2569,1,0,0,0,2569, - 2571,5,158,0,0,2570,2557,1,0,0,0,2570,2564,1,0,0,0,2570,2567,1,0, - 0,0,2571,241,1,0,0,0,2572,2580,5,152,0,0,2573,2574,5,153,0,0,2574, - 2580,5,156,0,0,2575,2576,5,156,0,0,2576,2580,5,154,0,0,2577,2578, - 5,156,0,0,2578,2580,5,155,0,0,2579,2572,1,0,0,0,2579,2573,1,0,0, - 0,2579,2575,1,0,0,0,2579,2577,1,0,0,0,2580,243,1,0,0,0,2581,2605, - 5,38,0,0,2582,2605,5,273,0,0,2583,2605,5,36,0,0,2584,2605,5,37,0, - 0,2585,2586,5,269,0,0,2586,2605,3,144,72,0,2587,2589,5,272,0,0,2588, - 2590,5,294,0,0,2589,2588,1,0,0,0,2589,2590,1,0,0,0,2590,2591,1,0, - 0,0,2591,2605,3,144,72,0,2592,2605,3,144,72,0,2593,2605,5,7,0,0, - 2594,2605,5,270,0,0,2595,2596,5,270,0,0,2596,2605,3,144,72,0,2597, - 2598,5,270,0,0,2598,2605,5,7,0,0,2599,2605,5,271,0,0,2600,2601,5, - 271,0,0,2601,2605,3,144,72,0,2602,2603,5,271,0,0,2603,2605,5,7,0, - 0,2604,2581,1,0,0,0,2604,2582,1,0,0,0,2604,2583,1,0,0,0,2604,2584, - 1,0,0,0,2604,2585,1,0,0,0,2604,2587,1,0,0,0,2604,2592,1,0,0,0,2604, - 2593,1,0,0,0,2604,2594,1,0,0,0,2604,2595,1,0,0,0,2604,2597,1,0,0, - 0,2604,2599,1,0,0,0,2604,2600,1,0,0,0,2604,2602,1,0,0,0,2605,245, - 1,0,0,0,2606,2614,5,263,0,0,2607,2614,5,265,0,0,2608,2614,5,264, - 0,0,2609,2611,5,266,0,0,2610,2609,1,0,0,0,2610,2611,1,0,0,0,2611, - 2612,1,0,0,0,2612,2614,5,267,0,0,2613,2606,1,0,0,0,2613,2607,1,0, - 0,0,2613,2608,1,0,0,0,2613,2610,1,0,0,0,2614,2617,1,0,0,0,2615,2613, - 1,0,0,0,2615,2616,1,0,0,0,2616,247,1,0,0,0,2617,2615,1,0,0,0,2618, - 2619,7,33,0,0,2619,249,1,0,0,0,338,255,259,265,275,279,284,287,293, - 298,301,305,309,317,320,327,340,344,347,353,360,370,375,382,390, - 395,400,410,417,425,430,436,443,453,456,461,468,477,482,493,498, - 502,505,515,518,528,533,538,542,547,550,554,558,565,567,573,581, - 583,589,597,599,605,612,616,627,634,637,643,645,652,659,675,684, - 687,695,702,712,719,726,730,737,741,748,755,765,776,801,806,808, - 826,831,833,837,845,855,861,869,889,915,920,924,932,943,946,958, - 961,964,967,970,973,975,980,988,993,1001,1006,1011,1018,1022,1026, - 1033,1042,1045,1048,1057,1060,1064,1072,1075,1083,1086,1090,1093, - 1100,1111,1136,1140,1144,1148,1152,1156,1158,1169,1174,1178,1182, - 1184,1195,1205,1210,1216,1222,1227,1235,1246,1251,1273,1275,1277, - 1285,1287,1292,1302,1310,1319,1325,1330,1336,1339,1348,1352,1357, - 1362,1371,1388,1390,1401,1404,1410,1417,1420,1424,1428,1431,1454, - 1458,1461,1476,1480,1486,1488,1497,1504,1530,1537,1540,1543,1574, - 1578,1586,1590,1601,1607,1615,1623,1626,1635,1638,1641,1651,1674, - 1678,1682,1687,1697,1704,1718,1740,1749,1752,1761,1764,1767,1770, - 1788,1799,1806,1814,1821,1826,1833,1838,1843,1847,1851,1856,1860, - 1864,1870,1889,1894,1909,1912,1920,1931,1942,1956,1965,1971,1985, - 1994,2001,2008,2011,2019,2027,2030,2037,2040,2048,2056,2066,2069, - 2085,2092,2099,2102,2106,2108,2110,2115,2132,2137,2141,2144,2154, - 2161,2169,2171,2177,2186,2195,2202,2207,2210,2213,2216,2218,2230, - 2236,2253,2256,2260,2265,2270,2274,2279,2284,2288,2314,2322,2324, - 2334,2339,2347,2353,2358,2377,2383,2392,2397,2407,2415,2421,2425, - 2430,2434,2440,2457,2470,2477,2486,2491,2495,2501,2513,2525,2532, - 2539,2551,2564,2567,2570,2579,2589,2604,2610,2613,2615 - ] - -class SqlBaseParser ( Parser ): - - grammarFileName = "SqlBaseParser.g4" - - atn = ATNDeserializer().deserialize(serializedATN()) - - decisionsToDFA = [ DFA(ds, i) for i, ds in enumerate(atn.decisionToState) ] - - sharedContextCache = PredictionContextCache() - - literalNames = [ "", "'AUTHORIZATION'", "'SELECT'", "'FROM'", - "'TO'", "'AS'", "'AT'", "'ALL'", "'ANY'", "'SOME'", - "'DEALLOCATE'", "'DIRECTORY'", "'DISTINCT'", "'WHERE'", - "'GROUP'", "'BY'", "'ORDER'", "'HAVING'", "'LIMIT'", - "'OFFSET'", "'OR'", "'AND'", "'IN'", "'NOT'", "'EXISTS'", - "'BETWEEN'", "'LIKE'", "'ILIKE'", "'IS'", "'NULL'", - "'TRUE'", "'FALSE'", "'IGNORE'", "'RESPECT'", "'NULLS'", - "'FETCH'", "'FIRST'", "'LAST'", "'NEXT'", "'ESCAPE'", - "'ASC'", "'DESC'", "'SUBSTRING'", "'TRIM'", "'LEADING'", - "'TRAILING'", "'BOTH'", "'FOR'", "'TIME'", "'ZONE'", - "'YEAR'", "'MONTH'", "'DAY'", "'HOUR'", "'MINUTE'", - "'SECOND'", "'CURRENT_DATE'", "'CURRENT_TIME'", "'CURRENT_TIMESTAMP'", - "'CURRENT_SCHEMA'", "'CURRENT_USER'", "'CURRENT_ROLE'", - "'SESSION_USER'", "'EXTRACT'", "'CASE'", "'WHEN'", - "'THEN'", "'ELSE'", "'END'", "'IF'", "'INTERVAL'", - "'JOIN'", "'CROSS'", "'OUTER'", "'INNER'", "'LEFT'", - "'RIGHT'", "'FULL'", "'NATURAL'", "'USING'", "'ON'", - "'OVER'", "'WINDOW'", "'PARTITION'", "'PROMOTE'", "'RANGE'", - "'ROWS'", "'UNBOUNDED'", "'PRECEDING'", "'FOLLOWING'", - "'CURRENT'", "'ROW'", "'WITH'", "'WITHOUT'", "'RECURSIVE'", - "'CREATE'", "'BLOB'", "'TABLE'", "'SWAP'", "'GC'", - "'DANGLING'", "'ARTIFACTS'", "'DECOMMISSION'", "'CLUSTER'", - "'REPOSITORY'", "'SNAPSHOT'", "'ALTER'", "'KILL'", - "'ONLY'", "'ADD'", "'COLUMN'", "'OPEN'", "'CLOSE'", - "'RENAME'", "'REROUTE'", "'MOVE'", "'SHARD'", "'ALLOCATE'", - "'REPLICA'", "'CANCEL'", "'RETRY'", "'FAILED'", "'BOOLEAN'", - "'BYTE'", "'SHORT'", "'INTEGER'", "'INT'", "'LONG'", - "'FLOAT'", "'DOUBLE'", "'PRECISION'", "'TIMESTAMP'", - "'IP'", "'CHARACTER'", "'\"CHAR\"'", "'VARYING'", "'OBJECT'", - "'STRING'", "'GEO_POINT'", "'GEO_SHAPE'", "'GLOBAL'", - "'SESSION'", "'LOCAL'", "'BEGIN'", "'START'", "'COMMIT'", - "'WORK'", "'TRANSACTION'", "'TRANSACTION_ISOLATION'", - "'CHARACTERISTICS'", "'ISOLATION'", "'LEVEL'", "'SERIALIZABLE'", - "'REPEATABLE'", "'COMMITTED'", "'UNCOMMITTED'", "'READ'", - "'WRITE'", "'DEFERRABLE'", "'RETURNS'", "'CALLED'", - "'REPLACE'", "'FUNCTION'", "'LANGUAGE'", "'INPUT'", - "'ANALYZE'", "'COSTS'", "'VERBOSE'", "'DISCARD'", "'PLANS'", - "'SEQUENCES'", "'TEMPORARY'", "'TEMP'", "'CONSTRAINT'", - "'CHECK'", "'DESCRIBE'", "'EXPLAIN'", "'FORMAT'", "'TYPE'", - "'TEXT'", "'GRAPHVIZ'", "'LOGICAL'", "'DISTRIBUTED'", - "'CAST'", "'TRY_CAST'", "'SHOW'", "'TABLES'", "'SCHEMAS'", - "'CATALOGS'", "'COLUMNS'", "'PARTITIONS'", "'FUNCTIONS'", - "'MATERIALIZED'", "'VIEW'", "'OPTIMIZE'", "'REFRESH'", - "'RESTORE'", "'DROP'", "'ALIAS'", "'UNION'", "'EXCEPT'", - "'INTERSECT'", "'SYSTEM'", "'BERNOULLI'", "'TABLESAMPLE'", - "'STRATIFY'", "'INSERT'", "'INTO'", "'VALUES'", "'DELETE'", - "'UPDATE'", "'KEY'", "'DUPLICATE'", "'CONFLICT'", "'DO'", - "'NOTHING'", "'SET'", "'RESET'", "'DEFAULT'", "'COPY'", - "'CLUSTERED'", "'SHARDS'", "'PRIMARY KEY'", "'OFF'", - "'FULLTEXT'", "'FILTER'", "'PLAIN'", "'INDEX'", "'STORAGE'", - "'RETURNING'", "'DYNAMIC'", "'STRICT'", "'IGNORED'", - "'ARRAY'", "'ANALYZER'", "'EXTENDS'", "'TOKENIZER'", - "'TOKEN_FILTERS'", "'CHAR_FILTERS'", "'PARTITIONED'", - "'PREPARE'", "'TRANSIENT'", "'PERSISTENT'", "'MATCH'", - "'GENERATED'", "'ALWAYS'", "'USER'", "'ROLE'", "'GRANT'", - "'DENY'", "'REVOKE'", "'PRIVILEGES'", "'SCHEMA'", "'RETURN'", - "'SUMMARY'", "'METADATA'", "'PUBLICATION'", "'SUBSCRIPTION'", - "'CONNECTION'", "'ENABLE'", "'DISABLE'", "'DECLARE'", - "'CURSOR'", "'ASENSITIVE'", "'INSENSITIVE'", "'BINARY'", - "'NO'", "'SCROLL'", "'HOLD'", "'ABSOLUTE'", "'FORWARD'", - "'BACKWARD'", "'RELATIVE'", "'PRIOR'", "'SERVER'", - "'FOREIGN'", "'DATA'", "'WRAPPER'", "'OPTIONS'", "'MAPPING'", - "'CASCADE'", "'RESTRICT'", "'='", "", "'<'", - "'<='", "'>'", "'>='", "'<<'", "'~'", "'!~'", "'~*'", - "'!~*'", "'+'", "'-'", "'*'", "'^'", "'/'", "'%'", - "'||'", "'::'", "';'", "':'", "','", "'.'", "'('", - "')'", "'{'", "'}'", "'['", "']'", "'[]'", "'?'", "'$'", - "'&'", "'|'", "'#'" ] - - symbolicNames = [ "", "AUTHORIZATION", "SELECT", "FROM", "TO", - "AS", "AT", "ALL", "ANY", "SOME", "DEALLOCATE", "DIRECTORY", - "DISTINCT", "WHERE", "GROUP", "BY", "ORDER", "HAVING", - "LIMIT", "OFFSET", "OR", "AND", "IN", "NOT", "EXISTS", - "BETWEEN", "LIKE", "ILIKE", "IS", "NULL", "TRUE", - "FALSE", "IGNORE", "RESPECT", "NULLS", "FETCH", "FIRST", - "LAST", "NEXT", "ESCAPE", "ASC", "DESC", "SUBSTRING", - "TRIM", "LEADING", "TRAILING", "BOTH", "FOR", "TIME", - "ZONE", "YEAR", "MONTH", "DAY", "HOUR", "MINUTE", - "SECOND", "CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", - "CURRENT_SCHEMA", "CURRENT_USER", "CURRENT_ROLE", - "SESSION_USER", "EXTRACT", "CASE", "WHEN", "THEN", - "ELSE", "END", "IF", "INTERVAL", "JOIN", "CROSS", - "OUTER", "INNER", "LEFT", "RIGHT", "FULL", "NATURAL", - "USING", "ON", "OVER", "WINDOW", "PARTITION", "PROMOTE", - "RANGE", "ROWS", "UNBOUNDED", "PRECEDING", "FOLLOWING", - "CURRENT", "ROW", "WITH", "WITHOUT", "RECURSIVE", - "CREATE", "BLOB", "TABLE", "SWAP", "GC", "DANGLING", - "ARTIFACTS", "DECOMMISSION", "CLUSTER", "REPOSITORY", - "SNAPSHOT", "ALTER", "KILL", "ONLY", "ADD", "COLUMN", - "OPEN", "CLOSE", "RENAME", "REROUTE", "MOVE", "SHARD", - "ALLOCATE", "REPLICA", "CANCEL", "RETRY", "FAILED", - "BOOLEAN", "BYTE", "SHORT", "INTEGER", "INT", "LONG", - "FLOAT", "DOUBLE", "PRECISION", "TIMESTAMP", "IP", - "CHARACTER", "CHAR_SPECIAL", "VARYING", "OBJECT", - "STRING_TYPE", "GEO_POINT", "GEO_SHAPE", "GLOBAL", - "SESSION", "LOCAL", "BEGIN", "START", "COMMIT", "WORK", - "TRANSACTION", "TRANSACTION_ISOLATION", "CHARACTERISTICS", - "ISOLATION", "LEVEL", "SERIALIZABLE", "REPEATABLE", - "COMMITTED", "UNCOMMITTED", "READ", "WRITE", "DEFERRABLE", - "RETURNS", "CALLED", "REPLACE", "FUNCTION", "LANGUAGE", - "INPUT", "ANALYZE", "COSTS", "VERBOSE", "DISCARD", - "PLANS", "SEQUENCES", "TEMPORARY", "TEMP", "CONSTRAINT", - "CHECK", "DESCRIBE", "EXPLAIN", "FORMAT", "TYPE", - "TEXT", "GRAPHVIZ", "LOGICAL", "DISTRIBUTED", "CAST", - "TRY_CAST", "SHOW", "TABLES", "SCHEMAS", "CATALOGS", - "COLUMNS", "PARTITIONS", "FUNCTIONS", "MATERIALIZED", - "VIEW", "OPTIMIZE", "REFRESH", "RESTORE", "DROP", - "ALIAS", "UNION", "EXCEPT", "INTERSECT", "SYSTEM", - "BERNOULLI", "TABLESAMPLE", "STRATIFY", "INSERT", - "INTO", "VALUES", "DELETE", "UPDATE", "KEY", "DUPLICATE", - "CONFLICT", "DO", "NOTHING", "SET", "RESET", "DEFAULT", - "COPY", "CLUSTERED", "SHARDS", "PRIMARY_KEY", "OFF", - "FULLTEXT", "FILTER", "PLAIN", "INDEX", "STORAGE", - "RETURNING", "DYNAMIC", "STRICT", "IGNORED", "ARRAY", - "ANALYZER", "EXTENDS", "TOKENIZER", "TOKEN_FILTERS", - "CHAR_FILTERS", "PARTITIONED", "PREPARE", "TRANSIENT", - "PERSISTENT", "MATCH", "GENERATED", "ALWAYS", "USER", - "ROLE", "GRANT", "DENY", "REVOKE", "PRIVILEGES", "SCHEMA", - "RETURN", "SUMMARY", "METADATA", "PUBLICATION", "SUBSCRIPTION", - "CONNECTION", "ENABLE", "DISABLE", "DECLARE", "CURSOR", - "ASENSITIVE", "INSENSITIVE", "BINARY", "NO", "SCROLL", - "HOLD", "ABSOLUTE", "FORWARD", "BACKWARD", "RELATIVE", - "PRIOR", "SERVER", "FOREIGN", "DATA", "WRAPPER", "OPTIONS", - "MAPPING", "CASCADE", "RESTRICT", "EQ", "NEQ", "LT", - "LTE", "GT", "GTE", "LLT", "REGEX_MATCH", "REGEX_NO_MATCH", - "REGEX_MATCH_CI", "REGEX_NO_MATCH_CI", "PLUS", "MINUS", - "ASTERISK", "CARET", "SLASH", "PERCENT", "CONCAT", - "CAST_OPERATOR", "SEMICOLON", "COLON", "COMMA", "DOT", - "OPEN_ROUND_BRACKET", "CLOSE_ROUND_BRACKET", "OPEN_CURLY_BRACKET", - "CLOSE_CURLY_BRACKET", "OPEN_SQUARE_BRACKET", "CLOSE_SQUARE_BRACKET", - "EMPTY_SQUARE_BRACKET", "QUESTION", "DOLLAR", "BITWISE_AND", - "BITWISE_OR", "BITWISE_XOR", "STRING", "ESCAPED_STRING", - "BIT_STRING", "INTEGER_VALUE", "DECIMAL_VALUE", "IDENTIFIER", - "DIGIT_IDENTIFIER", "QUOTED_IDENTIFIER", "BACKQUOTED_IDENTIFIER", - "BEGIN_DOLLAR_QUOTED_STRING", "COMMENT", "WS", "UNRECOGNIZED", - "DOLLAR_QUOTED_STRING_BODY", "END_DOLLAR_QUOTED_STRING" ] - - RULE_statements = 0 - RULE_singleStatement = 1 - RULE_singleExpression = 2 - RULE_statement = 3 - RULE_dropStmt = 4 - RULE_alterStmt = 5 - RULE_queryOptParens = 6 - RULE_query = 7 - RULE_queryNoWith = 8 - RULE_limitClause = 9 - RULE_offsetClause = 10 - RULE_queryTerm = 11 - RULE_setQuant = 12 - RULE_sortItem = 13 - RULE_querySpec = 14 - RULE_selectItem = 15 - RULE_where = 16 - RULE_returning = 17 - RULE_filter = 18 - RULE_relation = 19 - RULE_joinType = 20 - RULE_joinCriteria = 21 - RULE_aliasedRelation = 22 - RULE_relationPrimary = 23 - RULE_tableWithPartition = 24 - RULE_table = 25 - RULE_aliasedColumns = 26 - RULE_with = 27 - RULE_namedQuery = 28 - RULE_expr = 29 - RULE_booleanExpression = 30 - RULE_predicated = 31 - RULE_predicate = 32 - RULE_valueExpression = 33 - RULE_primaryExpression = 34 - RULE_explicitFunction = 35 - RULE_subqueryExpression = 36 - RULE_parameterOrLiteral = 37 - RULE_parameterOrSimpleLiteral = 38 - RULE_parameterOrInteger = 39 - RULE_parameterOrIdent = 40 - RULE_parameterOrString = 41 - RULE_parameterExpr = 42 - RULE_nullLiteral = 43 - RULE_escapedCharsStringLiteral = 44 - RULE_dollarQuotedStringLiteral = 45 - RULE_stringLiteral = 46 - RULE_bitString = 47 - RULE_subscriptSafe = 48 - RULE_cmpOp = 49 - RULE_setCmpQuantifier = 50 - RULE_whenClause = 51 - RULE_namedWindow = 52 - RULE_over = 53 - RULE_windowDefinition = 54 - RULE_windowFrame = 55 - RULE_frameBound = 56 - RULE_qnames = 57 - RULE_qname = 58 - RULE_spaceSeparatedIdents = 59 - RULE_identWithOrWithoutValue = 60 - RULE_idents = 61 - RULE_ident = 62 - RULE_unquotedIdent = 63 - RULE_quotedIdent = 64 - RULE_stringLiteralOrIdentifier = 65 - RULE_stringLiteralOrIdentifierOrQname = 66 - RULE_numericLiteral = 67 - RULE_intervalLiteral = 68 - RULE_intervalField = 69 - RULE_booleanLiteral = 70 - RULE_decimalLiteral = 71 - RULE_integerLiteral = 72 - RULE_objectKeyValue = 73 - RULE_insertSource = 74 - RULE_onConflict = 75 - RULE_conflictTarget = 76 - RULE_values = 77 - RULE_columns = 78 - RULE_assignment = 79 - RULE_createStmt = 80 - RULE_mappedUser = 81 - RULE_kvOptions = 82 - RULE_kvOption = 83 - RULE_functionArgument = 84 - RULE_alterTableDefinition = 85 - RULE_alterSubscriptionMode = 86 - RULE_partitionedByOrClusteredInto = 87 - RULE_partitionedBy = 88 - RULE_clusteredBy = 89 - RULE_blobClusteredInto = 90 - RULE_tableElement = 91 - RULE_columnDefinition = 92 - RULE_addColumnDefinition = 93 - RULE_dropColumnDefinition = 94 - RULE_rerouteOption = 95 - RULE_dataType = 96 - RULE_baseDataType = 97 - RULE_definedDataType = 98 - RULE_objectTypeDefinition = 99 - RULE_columnConstraint = 100 - RULE_primaryKeyContraint = 101 - RULE_checkConstraint = 102 - RULE_withProperties = 103 - RULE_genericProperties = 104 - RULE_genericProperty = 105 - RULE_explainOptions = 106 - RULE_explainOption = 107 - RULE_matchPredicateIdents = 108 - RULE_matchPredicateIdent = 109 - RULE_analyzerElement = 110 - RULE_tokenizer = 111 - RULE_tokenFilters = 112 - RULE_charFilters = 113 - RULE_namedProperties = 114 - RULE_tableWithPartitions = 115 - RULE_setGlobalAssignment = 116 - RULE_setExpr = 117 - RULE_on = 118 - RULE_securable = 119 - RULE_transactionMode = 120 - RULE_isolationLevel = 121 - RULE_direction = 122 - RULE_declareCursorParams = 123 - RULE_nonReserved = 124 - - ruleNames = [ "statements", "singleStatement", "singleExpression", - "statement", "dropStmt", "alterStmt", "queryOptParens", - "query", "queryNoWith", "limitClause", "offsetClause", - "queryTerm", "setQuant", "sortItem", "querySpec", "selectItem", - "where", "returning", "filter", "relation", "joinType", - "joinCriteria", "aliasedRelation", "relationPrimary", - "tableWithPartition", "table", "aliasedColumns", "with", - "namedQuery", "expr", "booleanExpression", "predicated", - "predicate", "valueExpression", "primaryExpression", - "explicitFunction", "subqueryExpression", "parameterOrLiteral", - "parameterOrSimpleLiteral", "parameterOrInteger", "parameterOrIdent", - "parameterOrString", "parameterExpr", "nullLiteral", - "escapedCharsStringLiteral", "dollarQuotedStringLiteral", - "stringLiteral", "bitString", "subscriptSafe", "cmpOp", - "setCmpQuantifier", "whenClause", "namedWindow", "over", - "windowDefinition", "windowFrame", "frameBound", "qnames", - "qname", "spaceSeparatedIdents", "identWithOrWithoutValue", - "idents", "ident", "unquotedIdent", "quotedIdent", "stringLiteralOrIdentifier", - "stringLiteralOrIdentifierOrQname", "numericLiteral", - "intervalLiteral", "intervalField", "booleanLiteral", - "decimalLiteral", "integerLiteral", "objectKeyValue", - "insertSource", "onConflict", "conflictTarget", "values", - "columns", "assignment", "createStmt", "mappedUser", - "kvOptions", "kvOption", "functionArgument", "alterTableDefinition", - "alterSubscriptionMode", "partitionedByOrClusteredInto", - "partitionedBy", "clusteredBy", "blobClusteredInto", - "tableElement", "columnDefinition", "addColumnDefinition", - "dropColumnDefinition", "rerouteOption", "dataType", - "baseDataType", "definedDataType", "objectTypeDefinition", - "columnConstraint", "primaryKeyContraint", "checkConstraint", - "withProperties", "genericProperties", "genericProperty", - "explainOptions", "explainOption", "matchPredicateIdents", - "matchPredicateIdent", "analyzerElement", "tokenizer", - "tokenFilters", "charFilters", "namedProperties", "tableWithPartitions", - "setGlobalAssignment", "setExpr", "on", "securable", - "transactionMode", "isolationLevel", "direction", "declareCursorParams", - "nonReserved" ] - - EOF = Token.EOF - AUTHORIZATION=1 - SELECT=2 - FROM=3 - TO=4 - AS=5 - AT=6 - ALL=7 - ANY=8 - SOME=9 - DEALLOCATE=10 - DIRECTORY=11 - DISTINCT=12 - WHERE=13 - GROUP=14 - BY=15 - ORDER=16 - HAVING=17 - LIMIT=18 - OFFSET=19 - OR=20 - AND=21 - IN=22 - NOT=23 - EXISTS=24 - BETWEEN=25 - LIKE=26 - ILIKE=27 - IS=28 - NULL=29 - TRUE=30 - FALSE=31 - IGNORE=32 - RESPECT=33 - NULLS=34 - FETCH=35 - FIRST=36 - LAST=37 - NEXT=38 - ESCAPE=39 - ASC=40 - DESC=41 - SUBSTRING=42 - TRIM=43 - LEADING=44 - TRAILING=45 - BOTH=46 - FOR=47 - TIME=48 - ZONE=49 - YEAR=50 - MONTH=51 - DAY=52 - HOUR=53 - MINUTE=54 - SECOND=55 - CURRENT_DATE=56 - CURRENT_TIME=57 - CURRENT_TIMESTAMP=58 - CURRENT_SCHEMA=59 - CURRENT_USER=60 - CURRENT_ROLE=61 - SESSION_USER=62 - EXTRACT=63 - CASE=64 - WHEN=65 - THEN=66 - ELSE=67 - END=68 - IF=69 - INTERVAL=70 - JOIN=71 - CROSS=72 - OUTER=73 - INNER=74 - LEFT=75 - RIGHT=76 - FULL=77 - NATURAL=78 - USING=79 - ON=80 - OVER=81 - WINDOW=82 - PARTITION=83 - PROMOTE=84 - RANGE=85 - ROWS=86 - UNBOUNDED=87 - PRECEDING=88 - FOLLOWING=89 - CURRENT=90 - ROW=91 - WITH=92 - WITHOUT=93 - RECURSIVE=94 - CREATE=95 - BLOB=96 - TABLE=97 - SWAP=98 - GC=99 - DANGLING=100 - ARTIFACTS=101 - DECOMMISSION=102 - CLUSTER=103 - REPOSITORY=104 - SNAPSHOT=105 - ALTER=106 - KILL=107 - ONLY=108 - ADD=109 - COLUMN=110 - OPEN=111 - CLOSE=112 - RENAME=113 - REROUTE=114 - MOVE=115 - SHARD=116 - ALLOCATE=117 - REPLICA=118 - CANCEL=119 - RETRY=120 - FAILED=121 - BOOLEAN=122 - BYTE=123 - SHORT=124 - INTEGER=125 - INT=126 - LONG=127 - FLOAT=128 - DOUBLE=129 - PRECISION=130 - TIMESTAMP=131 - IP=132 - CHARACTER=133 - CHAR_SPECIAL=134 - VARYING=135 - OBJECT=136 - STRING_TYPE=137 - GEO_POINT=138 - GEO_SHAPE=139 - GLOBAL=140 - SESSION=141 - LOCAL=142 - BEGIN=143 - START=144 - COMMIT=145 - WORK=146 - TRANSACTION=147 - TRANSACTION_ISOLATION=148 - CHARACTERISTICS=149 - ISOLATION=150 - LEVEL=151 - SERIALIZABLE=152 - REPEATABLE=153 - COMMITTED=154 - UNCOMMITTED=155 - READ=156 - WRITE=157 - DEFERRABLE=158 - RETURNS=159 - CALLED=160 - REPLACE=161 - FUNCTION=162 - LANGUAGE=163 - INPUT=164 - ANALYZE=165 - COSTS=166 - VERBOSE=167 - DISCARD=168 - PLANS=169 - SEQUENCES=170 - TEMPORARY=171 - TEMP=172 - CONSTRAINT=173 - CHECK=174 - DESCRIBE=175 - EXPLAIN=176 - FORMAT=177 - TYPE=178 - TEXT=179 - GRAPHVIZ=180 - LOGICAL=181 - DISTRIBUTED=182 - CAST=183 - TRY_CAST=184 - SHOW=185 - TABLES=186 - SCHEMAS=187 - CATALOGS=188 - COLUMNS=189 - PARTITIONS=190 - FUNCTIONS=191 - MATERIALIZED=192 - VIEW=193 - OPTIMIZE=194 - REFRESH=195 - RESTORE=196 - DROP=197 - ALIAS=198 - UNION=199 - EXCEPT=200 - INTERSECT=201 - SYSTEM=202 - BERNOULLI=203 - TABLESAMPLE=204 - STRATIFY=205 - INSERT=206 - INTO=207 - VALUES=208 - DELETE=209 - UPDATE=210 - KEY=211 - DUPLICATE=212 - CONFLICT=213 - DO=214 - NOTHING=215 - SET=216 - RESET=217 - DEFAULT=218 - COPY=219 - CLUSTERED=220 - SHARDS=221 - PRIMARY_KEY=222 - OFF=223 - FULLTEXT=224 - FILTER=225 - PLAIN=226 - INDEX=227 - STORAGE=228 - RETURNING=229 - DYNAMIC=230 - STRICT=231 - IGNORED=232 - ARRAY=233 - ANALYZER=234 - EXTENDS=235 - TOKENIZER=236 - TOKEN_FILTERS=237 - CHAR_FILTERS=238 - PARTITIONED=239 - PREPARE=240 - TRANSIENT=241 - PERSISTENT=242 - MATCH=243 - GENERATED=244 - ALWAYS=245 - USER=246 - ROLE=247 - GRANT=248 - DENY=249 - REVOKE=250 - PRIVILEGES=251 - SCHEMA=252 - RETURN=253 - SUMMARY=254 - METADATA=255 - PUBLICATION=256 - SUBSCRIPTION=257 - CONNECTION=258 - ENABLE=259 - DISABLE=260 - DECLARE=261 - CURSOR=262 - ASENSITIVE=263 - INSENSITIVE=264 - BINARY=265 - NO=266 - SCROLL=267 - HOLD=268 - ABSOLUTE=269 - FORWARD=270 - BACKWARD=271 - RELATIVE=272 - PRIOR=273 - SERVER=274 - FOREIGN=275 - DATA=276 - WRAPPER=277 - OPTIONS=278 - MAPPING=279 - CASCADE=280 - RESTRICT=281 - EQ=282 - NEQ=283 - LT=284 - LTE=285 - GT=286 - GTE=287 - LLT=288 - REGEX_MATCH=289 - REGEX_NO_MATCH=290 - REGEX_MATCH_CI=291 - REGEX_NO_MATCH_CI=292 - PLUS=293 - MINUS=294 - ASTERISK=295 - CARET=296 - SLASH=297 - PERCENT=298 - CONCAT=299 - CAST_OPERATOR=300 - SEMICOLON=301 - COLON=302 - COMMA=303 - DOT=304 - OPEN_ROUND_BRACKET=305 - CLOSE_ROUND_BRACKET=306 - OPEN_CURLY_BRACKET=307 - CLOSE_CURLY_BRACKET=308 - OPEN_SQUARE_BRACKET=309 - CLOSE_SQUARE_BRACKET=310 - EMPTY_SQUARE_BRACKET=311 - QUESTION=312 - DOLLAR=313 - BITWISE_AND=314 - BITWISE_OR=315 - BITWISE_XOR=316 - STRING=317 - ESCAPED_STRING=318 - BIT_STRING=319 - INTEGER_VALUE=320 - DECIMAL_VALUE=321 - IDENTIFIER=322 - DIGIT_IDENTIFIER=323 - QUOTED_IDENTIFIER=324 - BACKQUOTED_IDENTIFIER=325 - BEGIN_DOLLAR_QUOTED_STRING=326 - COMMENT=327 - WS=328 - UNRECOGNIZED=329 - DOLLAR_QUOTED_STRING_BODY=330 - END_DOLLAR_QUOTED_STRING=331 - - def __init__(self, input:TokenStream, output:TextIO = sys.stdout): - super().__init__(input, output) - self.checkVersion("4.13.1") - self._interp = ParserATNSimulator(self, self.atn, self.decisionsToDFA, self.sharedContextCache) - self._predicates = None - - - - - class StatementsContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def statement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.StatementContext) - else: - return self.getTypedRuleContext(SqlBaseParser.StatementContext,i) - - - def EOF(self): - return self.getToken(SqlBaseParser.EOF, 0) - - def SEMICOLON(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.SEMICOLON) - else: - return self.getToken(SqlBaseParser.SEMICOLON, i) - - def getRuleIndex(self): - return SqlBaseParser.RULE_statements - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterStatements" ): - listener.enterStatements(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitStatements" ): - listener.exitStatements(self) - - - - - def statements(self): - - localctx = SqlBaseParser.StatementsContext(self, self._ctx, self.state) - self.enterRule(localctx, 0, self.RULE_statements) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 250 - self.statement() - self.state = 255 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,0,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 251 - self.match(SqlBaseParser.SEMICOLON) - self.state = 252 - self.statement() - self.state = 257 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,0,self._ctx) - - self.state = 259 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==301: - self.state = 258 - self.match(SqlBaseParser.SEMICOLON) - - - self.state = 261 - self.match(SqlBaseParser.EOF) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SingleStatementContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def statement(self): - return self.getTypedRuleContext(SqlBaseParser.StatementContext,0) - - - def EOF(self): - return self.getToken(SqlBaseParser.EOF, 0) - - def SEMICOLON(self): - return self.getToken(SqlBaseParser.SEMICOLON, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_singleStatement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSingleStatement" ): - listener.enterSingleStatement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSingleStatement" ): - listener.exitSingleStatement(self) - - - - - def singleStatement(self): - - localctx = SqlBaseParser.SingleStatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 2, self.RULE_singleStatement) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 263 - self.statement() - self.state = 265 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==301: - self.state = 264 - self.match(SqlBaseParser.SEMICOLON) - - - self.state = 267 - self.match(SqlBaseParser.EOF) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SingleExpressionContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def expr(self): - return self.getTypedRuleContext(SqlBaseParser.ExprContext,0) - - - def EOF(self): - return self.getToken(SqlBaseParser.EOF, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_singleExpression - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSingleExpression" ): - listener.enterSingleExpression(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSingleExpression" ): - listener.exitSingleExpression(self) - - - - - def singleExpression(self): - - localctx = SqlBaseParser.SingleExpressionContext(self, self._ctx, self.state) - self.enterRule(localctx, 4, self.RULE_singleExpression) - try: - self.enterOuterAlt(localctx, 1) - self.state = 269 - self.expr() - self.state = 270 - self.match(SqlBaseParser.EOF) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class StatementContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return SqlBaseParser.RULE_statement - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class ExplainContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def EXPLAIN(self): - return self.getToken(SqlBaseParser.EXPLAIN, 0) - def statement(self): - return self.getTypedRuleContext(SqlBaseParser.StatementContext,0) - - def ANALYZE(self): - return self.getToken(SqlBaseParser.ANALYZE, 0) - def VERBOSE(self): - return self.getToken(SqlBaseParser.VERBOSE, 0) - def explainOptions(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ExplainOptionsContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ExplainOptionsContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterExplain" ): - listener.enterExplain(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitExplain" ): - listener.exitExplain(self) - - - class SetTransactionContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def SET(self): - return self.getToken(SqlBaseParser.SET, 0) - def TRANSACTION(self): - return self.getToken(SqlBaseParser.TRANSACTION, 0) - def transactionMode(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.TransactionModeContext) - else: - return self.getTypedRuleContext(SqlBaseParser.TransactionModeContext,i) - - def SESSION(self): - return self.getToken(SqlBaseParser.SESSION, 0) - def CHARACTERISTICS(self): - return self.getToken(SqlBaseParser.CHARACTERISTICS, 0) - def AS(self): - return self.getToken(SqlBaseParser.AS, 0) - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSetTransaction" ): - listener.enterSetTransaction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSetTransaction" ): - listener.exitSetTransaction(self) - - - class DropContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def dropStmt(self): - return self.getTypedRuleContext(SqlBaseParser.DropStmtContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDrop" ): - listener.enterDrop(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDrop" ): - listener.exitDrop(self) - - - class DiscardContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def DISCARD(self): - return self.getToken(SqlBaseParser.DISCARD, 0) - def ALL(self): - return self.getToken(SqlBaseParser.ALL, 0) - def PLANS(self): - return self.getToken(SqlBaseParser.PLANS, 0) - def SEQUENCES(self): - return self.getToken(SqlBaseParser.SEQUENCES, 0) - def TEMPORARY(self): - return self.getToken(SqlBaseParser.TEMPORARY, 0) - def TEMP(self): - return self.getToken(SqlBaseParser.TEMP, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDiscard" ): - listener.enterDiscard(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDiscard" ): - listener.exitDiscard(self) - - - class StartTransactionContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def START(self): - return self.getToken(SqlBaseParser.START, 0) - def TRANSACTION(self): - return self.getToken(SqlBaseParser.TRANSACTION, 0) - def transactionMode(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.TransactionModeContext) - else: - return self.getTypedRuleContext(SqlBaseParser.TransactionModeContext,i) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterStartTransaction" ): - listener.enterStartTransaction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitStartTransaction" ): - listener.exitStartTransaction(self) - - - class DeclareContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def DECLARE(self): - return self.getToken(SqlBaseParser.DECLARE, 0) - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - def declareCursorParams(self): - return self.getTypedRuleContext(SqlBaseParser.DeclareCursorParamsContext,0) - - def CURSOR(self): - return self.getToken(SqlBaseParser.CURSOR, 0) - def FOR(self): - return self.getToken(SqlBaseParser.FOR, 0) - def queryNoWith(self): - return self.getTypedRuleContext(SqlBaseParser.QueryNoWithContext,0) - - def HOLD(self): - return self.getToken(SqlBaseParser.HOLD, 0) - def WITH(self): - return self.getToken(SqlBaseParser.WITH, 0) - def WITHOUT(self): - return self.getToken(SqlBaseParser.WITHOUT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDeclare" ): - listener.enterDeclare(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDeclare" ): - listener.exitDeclare(self) - - - class DeallocateContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.prepStmt = None # StringLiteralOrIdentifierOrQnameContext - self.copyFrom(ctx) - - def DEALLOCATE(self): - return self.getToken(SqlBaseParser.DEALLOCATE, 0) - def ALL(self): - return self.getToken(SqlBaseParser.ALL, 0) - def PREPARE(self): - return self.getToken(SqlBaseParser.PREPARE, 0) - def stringLiteralOrIdentifierOrQname(self): - return self.getTypedRuleContext(SqlBaseParser.StringLiteralOrIdentifierOrQnameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDeallocate" ): - listener.enterDeallocate(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDeallocate" ): - listener.exitDeallocate(self) - - - class CommitContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def COMMIT(self): - return self.getToken(SqlBaseParser.COMMIT, 0) - def WORK(self): - return self.getToken(SqlBaseParser.WORK, 0) - def TRANSACTION(self): - return self.getToken(SqlBaseParser.TRANSACTION, 0) - def END(self): - return self.getToken(SqlBaseParser.END, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCommit" ): - listener.enterCommit(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCommit" ): - listener.exitCommit(self) - - - class UpdateContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def UPDATE(self): - return self.getToken(SqlBaseParser.UPDATE, 0) - def aliasedRelation(self): - return self.getTypedRuleContext(SqlBaseParser.AliasedRelationContext,0) - - def SET(self): - return self.getToken(SqlBaseParser.SET, 0) - def assignment(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.AssignmentContext) - else: - return self.getTypedRuleContext(SqlBaseParser.AssignmentContext,i) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - def where(self): - return self.getTypedRuleContext(SqlBaseParser.WhereContext,0) - - def returning(self): - return self.getTypedRuleContext(SqlBaseParser.ReturningContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUpdate" ): - listener.enterUpdate(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUpdate" ): - listener.exitUpdate(self) - - - class InsertContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def INSERT(self): - return self.getToken(SqlBaseParser.INSERT, 0) - def INTO(self): - return self.getToken(SqlBaseParser.INTO, 0) - def table(self): - return self.getTypedRuleContext(SqlBaseParser.TableContext,0) - - def insertSource(self): - return self.getTypedRuleContext(SqlBaseParser.InsertSourceContext,0) - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def ident(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.IdentContext) - else: - return self.getTypedRuleContext(SqlBaseParser.IdentContext,i) - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - def onConflict(self): - return self.getTypedRuleContext(SqlBaseParser.OnConflictContext,0) - - def returning(self): - return self.getTypedRuleContext(SqlBaseParser.ReturningContext,0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterInsert" ): - listener.enterInsert(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitInsert" ): - listener.exitInsert(self) - - - class DeleteContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def DELETE(self): - return self.getToken(SqlBaseParser.DELETE, 0) - def FROM(self): - return self.getToken(SqlBaseParser.FROM, 0) - def aliasedRelation(self): - return self.getTypedRuleContext(SqlBaseParser.AliasedRelationContext,0) - - def where(self): - return self.getTypedRuleContext(SqlBaseParser.WhereContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDelete" ): - listener.enterDelete(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDelete" ): - listener.exitDelete(self) - - - class ShowTablesContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.pattern = None # StringLiteralContext - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(SqlBaseParser.SHOW, 0) - def TABLES(self): - return self.getToken(SqlBaseParser.TABLES, 0) - def qname(self): - return self.getTypedRuleContext(SqlBaseParser.QnameContext,0) - - def LIKE(self): - return self.getToken(SqlBaseParser.LIKE, 0) - def where(self): - return self.getTypedRuleContext(SqlBaseParser.WhereContext,0) - - def FROM(self): - return self.getToken(SqlBaseParser.FROM, 0) - def IN(self): - return self.getToken(SqlBaseParser.IN, 0) - def stringLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.StringLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowTables" ): - listener.enterShowTables(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowTables" ): - listener.exitShowTables(self) - - - class SetGlobalContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def SET(self): - return self.getToken(SqlBaseParser.SET, 0) - def GLOBAL(self): - return self.getToken(SqlBaseParser.GLOBAL, 0) - def setGlobalAssignment(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.SetGlobalAssignmentContext) - else: - return self.getTypedRuleContext(SqlBaseParser.SetGlobalAssignmentContext,i) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - def PERSISTENT(self): - return self.getToken(SqlBaseParser.PERSISTENT, 0) - def TRANSIENT(self): - return self.getToken(SqlBaseParser.TRANSIENT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSetGlobal" ): - listener.enterSetGlobal(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSetGlobal" ): - listener.exitSetGlobal(self) - - - class CopyToContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.path = None # ExprContext - self.copyFrom(ctx) - - def COPY(self): - return self.getToken(SqlBaseParser.COPY, 0) - def tableWithPartition(self): - return self.getTypedRuleContext(SqlBaseParser.TableWithPartitionContext,0) - - def TO(self): - return self.getToken(SqlBaseParser.TO, 0) - def expr(self): - return self.getTypedRuleContext(SqlBaseParser.ExprContext,0) - - def columns(self): - return self.getTypedRuleContext(SqlBaseParser.ColumnsContext,0) - - def where(self): - return self.getTypedRuleContext(SqlBaseParser.WhereContext,0) - - def DIRECTORY(self): - return self.getToken(SqlBaseParser.DIRECTORY, 0) - def withProperties(self): - return self.getTypedRuleContext(SqlBaseParser.WithPropertiesContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCopyTo" ): - listener.enterCopyTo(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCopyTo" ): - listener.exitCopyTo(self) - - - class ShowSessionParameterContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(SqlBaseParser.SHOW, 0) - def qname(self): - return self.getTypedRuleContext(SqlBaseParser.QnameContext,0) - - def ALL(self): - return self.getToken(SqlBaseParser.ALL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowSessionParameter" ): - listener.enterShowSessionParameter(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowSessionParameter" ): - listener.exitShowSessionParameter(self) - - - class DefaultContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def query(self): - return self.getTypedRuleContext(SqlBaseParser.QueryContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDefault" ): - listener.enterDefault(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDefault" ): - listener.exitDefault(self) - - - class OptimizeContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def OPTIMIZE(self): - return self.getToken(SqlBaseParser.OPTIMIZE, 0) - def TABLE(self): - return self.getToken(SqlBaseParser.TABLE, 0) - def tableWithPartitions(self): - return self.getTypedRuleContext(SqlBaseParser.TableWithPartitionsContext,0) - - def withProperties(self): - return self.getTypedRuleContext(SqlBaseParser.WithPropertiesContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterOptimize" ): - listener.enterOptimize(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitOptimize" ): - listener.exitOptimize(self) - - - class ResetGlobalContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def RESET(self): - return self.getToken(SqlBaseParser.RESET, 0) - def GLOBAL(self): - return self.getToken(SqlBaseParser.GLOBAL, 0) - def primaryExpression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.PrimaryExpressionContext) - else: - return self.getTypedRuleContext(SqlBaseParser.PrimaryExpressionContext,i) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterResetGlobal" ): - listener.enterResetGlobal(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitResetGlobal" ): - listener.exitResetGlobal(self) - - - class RevokePrivilegeContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.privileges = None # IdentsContext - self.users = None # IdentsContext - self.copyFrom(ctx) - - def REVOKE(self): - return self.getToken(SqlBaseParser.REVOKE, 0) - def FROM(self): - return self.getToken(SqlBaseParser.FROM, 0) - def idents(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.IdentsContext) - else: - return self.getTypedRuleContext(SqlBaseParser.IdentsContext,i) - - def ALL(self): - return self.getToken(SqlBaseParser.ALL, 0) - def ON(self): - return self.getToken(SqlBaseParser.ON, 0) - def securable(self): - return self.getTypedRuleContext(SqlBaseParser.SecurableContext,0) - - def qnames(self): - return self.getTypedRuleContext(SqlBaseParser.QnamesContext,0) - - def PRIVILEGES(self): - return self.getToken(SqlBaseParser.PRIVILEGES, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRevokePrivilege" ): - listener.enterRevokePrivilege(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRevokePrivilege" ): - listener.exitRevokePrivilege(self) - - - class SetTimeZoneContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def SET(self): - return self.getToken(SqlBaseParser.SET, 0) - def TIME(self): - return self.getToken(SqlBaseParser.TIME, 0) - def ZONE(self): - return self.getToken(SqlBaseParser.ZONE, 0) - def LOCAL(self): - return self.getToken(SqlBaseParser.LOCAL, 0) - def DEFAULT(self): - return self.getToken(SqlBaseParser.DEFAULT, 0) - def stringLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.StringLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSetTimeZone" ): - listener.enterSetTimeZone(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSetTimeZone" ): - listener.exitSetTimeZone(self) - - - class CreateContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def createStmt(self): - return self.getTypedRuleContext(SqlBaseParser.CreateStmtContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreate" ): - listener.enterCreate(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreate" ): - listener.exitCreate(self) - - - class ShowCreateTableContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(SqlBaseParser.SHOW, 0) - def CREATE(self): - return self.getToken(SqlBaseParser.CREATE, 0) - def TABLE(self): - return self.getToken(SqlBaseParser.TABLE, 0) - def table(self): - return self.getTypedRuleContext(SqlBaseParser.TableContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowCreateTable" ): - listener.enterShowCreateTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowCreateTable" ): - listener.exitShowCreateTable(self) - - - class ShowSchemasContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.pattern = None # StringLiteralContext - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(SqlBaseParser.SHOW, 0) - def SCHEMAS(self): - return self.getToken(SqlBaseParser.SCHEMAS, 0) - def LIKE(self): - return self.getToken(SqlBaseParser.LIKE, 0) - def where(self): - return self.getTypedRuleContext(SqlBaseParser.WhereContext,0) - - def stringLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.StringLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowSchemas" ): - listener.enterShowSchemas(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowSchemas" ): - listener.exitShowSchemas(self) - - - class CloseContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def CLOSE(self): - return self.getToken(SqlBaseParser.CLOSE, 0) - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - def ALL(self): - return self.getToken(SqlBaseParser.ALL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterClose" ): - listener.enterClose(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitClose" ): - listener.exitClose(self) - - - class ShowColumnsContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.tableName = None # QnameContext - self.schema = None # QnameContext - self.pattern = None # StringLiteralContext - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(SqlBaseParser.SHOW, 0) - def COLUMNS(self): - return self.getToken(SqlBaseParser.COLUMNS, 0) - def FROM(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.FROM) - else: - return self.getToken(SqlBaseParser.FROM, i) - def IN(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.IN) - else: - return self.getToken(SqlBaseParser.IN, i) - def qname(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.QnameContext) - else: - return self.getTypedRuleContext(SqlBaseParser.QnameContext,i) - - def LIKE(self): - return self.getToken(SqlBaseParser.LIKE, 0) - def where(self): - return self.getTypedRuleContext(SqlBaseParser.WhereContext,0) - - def stringLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.StringLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowColumns" ): - listener.enterShowColumns(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowColumns" ): - listener.exitShowColumns(self) - - - class AlterContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def alterStmt(self): - return self.getTypedRuleContext(SqlBaseParser.AlterStmtContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlter" ): - listener.enterAlter(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlter" ): - listener.exitAlter(self) - - - class SetContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def SET(self): - return self.getToken(SqlBaseParser.SET, 0) - def qname(self): - return self.getTypedRuleContext(SqlBaseParser.QnameContext,0) - - def EQ(self): - return self.getToken(SqlBaseParser.EQ, 0) - def TO(self): - return self.getToken(SqlBaseParser.TO, 0) - def DEFAULT(self): - return self.getToken(SqlBaseParser.DEFAULT, 0) - def setExpr(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.SetExprContext) - else: - return self.getTypedRuleContext(SqlBaseParser.SetExprContext,i) - - def SESSION(self): - return self.getToken(SqlBaseParser.SESSION, 0) - def LOCAL(self): - return self.getToken(SqlBaseParser.LOCAL, 0) - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSet" ): - listener.enterSet(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSet" ): - listener.exitSet(self) - - - class RestoreContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.metatypes = None # IdentsContext - self.copyFrom(ctx) - - def RESTORE(self): - return self.getToken(SqlBaseParser.RESTORE, 0) - def SNAPSHOT(self): - return self.getToken(SqlBaseParser.SNAPSHOT, 0) - def qname(self): - return self.getTypedRuleContext(SqlBaseParser.QnameContext,0) - - def ALL(self): - return self.getToken(SqlBaseParser.ALL, 0) - def METADATA(self): - return self.getToken(SqlBaseParser.METADATA, 0) - def TABLE(self): - return self.getToken(SqlBaseParser.TABLE, 0) - def tableWithPartitions(self): - return self.getTypedRuleContext(SqlBaseParser.TableWithPartitionsContext,0) - - def idents(self): - return self.getTypedRuleContext(SqlBaseParser.IdentsContext,0) - - def withProperties(self): - return self.getTypedRuleContext(SqlBaseParser.WithPropertiesContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRestore" ): - listener.enterRestore(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRestore" ): - listener.exitRestore(self) - - - class RefreshTableContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def REFRESH(self): - return self.getToken(SqlBaseParser.REFRESH, 0) - def TABLE(self): - return self.getToken(SqlBaseParser.TABLE, 0) - def tableWithPartitions(self): - return self.getTypedRuleContext(SqlBaseParser.TableWithPartitionsContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRefreshTable" ): - listener.enterRefreshTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRefreshTable" ): - listener.exitRefreshTable(self) - - - class GrantPrivilegeContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.priviliges = None # IdentsContext - self.users = None # IdentsContext - self.copyFrom(ctx) - - def GRANT(self): - return self.getToken(SqlBaseParser.GRANT, 0) - def TO(self): - return self.getToken(SqlBaseParser.TO, 0) - def idents(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.IdentsContext) - else: - return self.getTypedRuleContext(SqlBaseParser.IdentsContext,i) - - def ALL(self): - return self.getToken(SqlBaseParser.ALL, 0) - def ON(self): - return self.getToken(SqlBaseParser.ON, 0) - def securable(self): - return self.getTypedRuleContext(SqlBaseParser.SecurableContext,0) - - def qnames(self): - return self.getTypedRuleContext(SqlBaseParser.QnamesContext,0) - - def PRIVILEGES(self): - return self.getToken(SqlBaseParser.PRIVILEGES, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterGrantPrivilege" ): - listener.enterGrantPrivilege(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitGrantPrivilege" ): - listener.exitGrantPrivilege(self) - - - class DenyPrivilegeContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.priviliges = None # IdentsContext - self.users = None # IdentsContext - self.copyFrom(ctx) - - def DENY(self): - return self.getToken(SqlBaseParser.DENY, 0) - def TO(self): - return self.getToken(SqlBaseParser.TO, 0) - def idents(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.IdentsContext) - else: - return self.getTypedRuleContext(SqlBaseParser.IdentsContext,i) - - def ALL(self): - return self.getToken(SqlBaseParser.ALL, 0) - def ON(self): - return self.getToken(SqlBaseParser.ON, 0) - def securable(self): - return self.getTypedRuleContext(SqlBaseParser.SecurableContext,0) - - def qnames(self): - return self.getTypedRuleContext(SqlBaseParser.QnamesContext,0) - - def PRIVILEGES(self): - return self.getToken(SqlBaseParser.PRIVILEGES, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDenyPrivilege" ): - listener.enterDenyPrivilege(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDenyPrivilege" ): - listener.exitDenyPrivilege(self) - - - class SetSessionAuthorizationContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.username = None # StringLiteralOrIdentifierContext - self.copyFrom(ctx) - - def SET(self): - return self.getToken(SqlBaseParser.SET, 0) - def SESSION(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.SESSION) - else: - return self.getToken(SqlBaseParser.SESSION, i) - def AUTHORIZATION(self): - return self.getToken(SqlBaseParser.AUTHORIZATION, 0) - def DEFAULT(self): - return self.getToken(SqlBaseParser.DEFAULT, 0) - def stringLiteralOrIdentifier(self): - return self.getTypedRuleContext(SqlBaseParser.StringLiteralOrIdentifierContext,0) - - def LOCAL(self): - return self.getToken(SqlBaseParser.LOCAL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSetSessionAuthorization" ): - listener.enterSetSessionAuthorization(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSetSessionAuthorization" ): - listener.exitSetSessionAuthorization(self) - - - class KillContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.jobId = None # ParameterOrStringContext - self.copyFrom(ctx) - - def KILL(self): - return self.getToken(SqlBaseParser.KILL, 0) - def ALL(self): - return self.getToken(SqlBaseParser.ALL, 0) - def parameterOrString(self): - return self.getTypedRuleContext(SqlBaseParser.ParameterOrStringContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterKill" ): - listener.enterKill(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitKill" ): - listener.exitKill(self) - - - class CopyFromContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.path = None # ExprContext - self.copyFrom(ctx) - - def COPY(self): - return self.getToken(SqlBaseParser.COPY, 0) - def tableWithPartition(self): - return self.getTypedRuleContext(SqlBaseParser.TableWithPartitionContext,0) - - def FROM(self): - return self.getToken(SqlBaseParser.FROM, 0) - def expr(self): - return self.getTypedRuleContext(SqlBaseParser.ExprContext,0) - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def ident(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.IdentContext) - else: - return self.getTypedRuleContext(SqlBaseParser.IdentContext,i) - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - def withProperties(self): - return self.getTypedRuleContext(SqlBaseParser.WithPropertiesContext,0) - - def RETURN(self): - return self.getToken(SqlBaseParser.RETURN, 0) - def SUMMARY(self): - return self.getToken(SqlBaseParser.SUMMARY, 0) - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCopyFrom" ): - listener.enterCopyFrom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCopyFrom" ): - listener.exitCopyFrom(self) - - - class AnalyzeContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def ANALYZE(self): - return self.getToken(SqlBaseParser.ANALYZE, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAnalyze" ): - listener.enterAnalyze(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAnalyze" ): - listener.exitAnalyze(self) - - - class FetchContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def FETCH(self): - return self.getToken(SqlBaseParser.FETCH, 0) - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - def direction(self): - return self.getTypedRuleContext(SqlBaseParser.DirectionContext,0) - - def IN(self): - return self.getToken(SqlBaseParser.IN, 0) - def FROM(self): - return self.getToken(SqlBaseParser.FROM, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFetch" ): - listener.enterFetch(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFetch" ): - listener.exitFetch(self) - - - class ShowTransactionContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def SHOW(self): - return self.getToken(SqlBaseParser.SHOW, 0) - def TRANSACTION(self): - return self.getToken(SqlBaseParser.TRANSACTION, 0) - def ISOLATION(self): - return self.getToken(SqlBaseParser.ISOLATION, 0) - def LEVEL(self): - return self.getToken(SqlBaseParser.LEVEL, 0) - def TRANSACTION_ISOLATION(self): - return self.getToken(SqlBaseParser.TRANSACTION_ISOLATION, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterShowTransaction" ): - listener.enterShowTransaction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitShowTransaction" ): - listener.exitShowTransaction(self) - - - class ResetSessionAuthorizationContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def RESET(self): - return self.getToken(SqlBaseParser.RESET, 0) - def SESSION(self): - return self.getToken(SqlBaseParser.SESSION, 0) - def AUTHORIZATION(self): - return self.getToken(SqlBaseParser.AUTHORIZATION, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterResetSessionAuthorization" ): - listener.enterResetSessionAuthorization(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitResetSessionAuthorization" ): - listener.exitResetSessionAuthorization(self) - - - class BeginContext(StatementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.StatementContext - super().__init__(parser) - self.copyFrom(ctx) - - def BEGIN(self): - return self.getToken(SqlBaseParser.BEGIN, 0) - def transactionMode(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.TransactionModeContext) - else: - return self.getTypedRuleContext(SqlBaseParser.TransactionModeContext,i) - - def WORK(self): - return self.getToken(SqlBaseParser.WORK, 0) - def TRANSACTION(self): - return self.getToken(SqlBaseParser.TRANSACTION, 0) - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBegin" ): - listener.enterBegin(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBegin" ): - listener.exitBegin(self) - - - - def statement(self): - - localctx = SqlBaseParser.StatementContext(self, self._ctx, self.state) - self.enterRule(localctx, 6, self.RULE_statement) - self._la = 0 # Token type - try: - self.state = 645 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,67,self._ctx) - if la_ == 1: - localctx = SqlBaseParser.DefaultContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 272 - self.query() - pass - - elif la_ == 2: - localctx = SqlBaseParser.BeginContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 273 - self.match(SqlBaseParser.BEGIN) - self.state = 275 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==146 or _la==147: - self.state = 274 - _la = self._input.LA(1) - if not(_la==146 or _la==147): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 287 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==23 or ((((_la - 150)) & ~0x3f) == 0 and ((1 << (_la - 150)) & 321) != 0): - self.state = 277 - self.transactionMode() - self.state = 284 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==23 or ((((_la - 150)) & ~0x3f) == 0 and ((1 << (_la - 150)) & 321) != 0) or _la==303: - self.state = 279 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==303: - self.state = 278 - self.match(SqlBaseParser.COMMA) - - - self.state = 281 - self.transactionMode() - self.state = 286 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - pass - - elif la_ == 3: - localctx = SqlBaseParser.StartTransactionContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 289 - self.match(SqlBaseParser.START) - self.state = 290 - self.match(SqlBaseParser.TRANSACTION) - self.state = 301 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==23 or ((((_la - 150)) & ~0x3f) == 0 and ((1 << (_la - 150)) & 321) != 0): - self.state = 291 - self.transactionMode() - self.state = 298 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==23 or ((((_la - 150)) & ~0x3f) == 0 and ((1 << (_la - 150)) & 321) != 0) or _la==303: - self.state = 293 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==303: - self.state = 292 - self.match(SqlBaseParser.COMMA) - - - self.state = 295 - self.transactionMode() - self.state = 300 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - pass - - elif la_ == 4: - localctx = SqlBaseParser.CommitContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 303 - self.match(SqlBaseParser.COMMIT) - self.state = 305 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==146 or _la==147: - self.state = 304 - _la = self._input.LA(1) - if not(_la==146 or _la==147): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - pass - - elif la_ == 5: - localctx = SqlBaseParser.CommitContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 307 - self.match(SqlBaseParser.END) - self.state = 309 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==146 or _la==147: - self.state = 308 - _la = self._input.LA(1) - if not(_la==146 or _la==147): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - pass - - elif la_ == 6: - localctx = SqlBaseParser.ExplainContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 311 - self.match(SqlBaseParser.EXPLAIN) - self.state = 320 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,13,self._ctx) - if la_ == 1: - self.state = 312 - self.match(SqlBaseParser.ANALYZE) - pass - - elif la_ == 2: - self.state = 313 - self.match(SqlBaseParser.VERBOSE) - pass - - elif la_ == 3: - self.state = 317 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==305: - self.state = 314 - self.explainOptions() - self.state = 319 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - - self.state = 322 - self.statement() - pass - - elif la_ == 7: - localctx = SqlBaseParser.OptimizeContext(self, localctx) - self.enterOuterAlt(localctx, 7) - self.state = 323 - self.match(SqlBaseParser.OPTIMIZE) - self.state = 324 - self.match(SqlBaseParser.TABLE) - self.state = 325 - self.tableWithPartitions() - self.state = 327 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==92: - self.state = 326 - self.withProperties() - - - pass - - elif la_ == 8: - localctx = SqlBaseParser.RefreshTableContext(self, localctx) - self.enterOuterAlt(localctx, 8) - self.state = 329 - self.match(SqlBaseParser.REFRESH) - self.state = 330 - self.match(SqlBaseParser.TABLE) - self.state = 331 - self.tableWithPartitions() - pass - - elif la_ == 9: - localctx = SqlBaseParser.UpdateContext(self, localctx) - self.enterOuterAlt(localctx, 9) - self.state = 332 - self.match(SqlBaseParser.UPDATE) - self.state = 333 - self.aliasedRelation() - self.state = 334 - self.match(SqlBaseParser.SET) - self.state = 335 - self.assignment() - self.state = 340 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 336 - self.match(SqlBaseParser.COMMA) - self.state = 337 - self.assignment() - self.state = 342 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 344 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==13: - self.state = 343 - self.where() - - - self.state = 347 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==229: - self.state = 346 - self.returning() - - - pass - - elif la_ == 10: - localctx = SqlBaseParser.DeleteContext(self, localctx) - self.enterOuterAlt(localctx, 10) - self.state = 349 - self.match(SqlBaseParser.DELETE) - self.state = 350 - self.match(SqlBaseParser.FROM) - self.state = 351 - self.aliasedRelation() - self.state = 353 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==13: - self.state = 352 - self.where() - - - pass - - elif la_ == 11: - localctx = SqlBaseParser.ShowTransactionContext(self, localctx) - self.enterOuterAlt(localctx, 11) - self.state = 355 - self.match(SqlBaseParser.SHOW) - self.state = 360 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [147]: - self.state = 356 - self.match(SqlBaseParser.TRANSACTION) - self.state = 357 - self.match(SqlBaseParser.ISOLATION) - self.state = 358 - self.match(SqlBaseParser.LEVEL) - pass - elif token in [148]: - self.state = 359 - self.match(SqlBaseParser.TRANSACTION_ISOLATION) - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 12: - localctx = SqlBaseParser.ShowCreateTableContext(self, localctx) - self.enterOuterAlt(localctx, 12) - self.state = 362 - self.match(SqlBaseParser.SHOW) - self.state = 363 - self.match(SqlBaseParser.CREATE) - self.state = 364 - self.match(SqlBaseParser.TABLE) - self.state = 365 - self.table() - pass - - elif la_ == 13: - localctx = SqlBaseParser.ShowTablesContext(self, localctx) - self.enterOuterAlt(localctx, 13) - self.state = 366 - self.match(SqlBaseParser.SHOW) - self.state = 367 - self.match(SqlBaseParser.TABLES) - self.state = 370 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==3 or _la==22: - self.state = 368 - _la = self._input.LA(1) - if not(_la==3 or _la==22): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 369 - self.qname() - - - self.state = 375 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [26]: - self.state = 372 - self.match(SqlBaseParser.LIKE) - self.state = 373 - localctx.pattern = self.stringLiteral() - pass - elif token in [13]: - self.state = 374 - self.where() - pass - elif token in [-1, 301]: - pass - else: - pass - pass - - elif la_ == 14: - localctx = SqlBaseParser.ShowSchemasContext(self, localctx) - self.enterOuterAlt(localctx, 14) - self.state = 377 - self.match(SqlBaseParser.SHOW) - self.state = 378 - self.match(SqlBaseParser.SCHEMAS) - self.state = 382 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [26]: - self.state = 379 - self.match(SqlBaseParser.LIKE) - self.state = 380 - localctx.pattern = self.stringLiteral() - pass - elif token in [13]: - self.state = 381 - self.where() - pass - elif token in [-1, 301]: - pass - else: - pass - pass - - elif la_ == 15: - localctx = SqlBaseParser.ShowColumnsContext(self, localctx) - self.enterOuterAlt(localctx, 15) - self.state = 384 - self.match(SqlBaseParser.SHOW) - self.state = 385 - self.match(SqlBaseParser.COLUMNS) - self.state = 386 - _la = self._input.LA(1) - if not(_la==3 or _la==22): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 387 - localctx.tableName = self.qname() - self.state = 390 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==3 or _la==22: - self.state = 388 - _la = self._input.LA(1) - if not(_la==3 or _la==22): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 389 - localctx.schema = self.qname() - - - self.state = 395 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [26]: - self.state = 392 - self.match(SqlBaseParser.LIKE) - self.state = 393 - localctx.pattern = self.stringLiteral() - pass - elif token in [13]: - self.state = 394 - self.where() - pass - elif token in [-1, 301]: - pass - else: - pass - pass - - elif la_ == 16: - localctx = SqlBaseParser.ShowSessionParameterContext(self, localctx) - self.enterOuterAlt(localctx, 16) - self.state = 397 - self.match(SqlBaseParser.SHOW) - self.state = 400 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [1, 4, 6, 10, 27, 32, 33, 35, 38, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 70, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 93, 96, 98, 99, 100, 101, 102, 103, 104, 105, 107, 108, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 161, 163, 165, 167, 168, 169, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 202, 203, 204, 208, 211, 212, 213, 214, 215, 219, 220, 221, 223, 224, 225, 226, 228, 229, 230, 231, 232, 234, 235, 236, 237, 238, 239, 240, 244, 245, 247, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 322, 323, 324, 325]: - self.state = 398 - self.qname() - pass - elif token in [7]: - self.state = 399 - self.match(SqlBaseParser.ALL) - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 17: - localctx = SqlBaseParser.AlterContext(self, localctx) - self.enterOuterAlt(localctx, 17) - self.state = 402 - self.alterStmt() - pass - - elif la_ == 18: - localctx = SqlBaseParser.ResetGlobalContext(self, localctx) - self.enterOuterAlt(localctx, 18) - self.state = 403 - self.match(SqlBaseParser.RESET) - self.state = 404 - self.match(SqlBaseParser.GLOBAL) - self.state = 405 - self.primaryExpression(0) - self.state = 410 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 406 - self.match(SqlBaseParser.COMMA) - self.state = 407 - self.primaryExpression(0) - self.state = 412 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 19: - localctx = SqlBaseParser.SetTransactionContext(self, localctx) - self.enterOuterAlt(localctx, 19) - self.state = 413 - self.match(SqlBaseParser.SET) - self.state = 417 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==141: - self.state = 414 - self.match(SqlBaseParser.SESSION) - self.state = 415 - self.match(SqlBaseParser.CHARACTERISTICS) - self.state = 416 - self.match(SqlBaseParser.AS) - - - self.state = 419 - self.match(SqlBaseParser.TRANSACTION) - self.state = 420 - self.transactionMode() - self.state = 425 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 421 - self.match(SqlBaseParser.COMMA) - self.state = 422 - self.transactionMode() - self.state = 427 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 20: - localctx = SqlBaseParser.SetSessionAuthorizationContext(self, localctx) - self.enterOuterAlt(localctx, 20) - self.state = 428 - self.match(SqlBaseParser.SET) - self.state = 430 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,29,self._ctx) - if la_ == 1: - self.state = 429 - _la = self._input.LA(1) - if not(_la==141 or _la==142): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 432 - self.match(SqlBaseParser.SESSION) - self.state = 433 - self.match(SqlBaseParser.AUTHORIZATION) - self.state = 436 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [218]: - self.state = 434 - self.match(SqlBaseParser.DEFAULT) - pass - elif token in [1, 4, 6, 10, 27, 32, 33, 35, 38, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 70, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 93, 96, 98, 99, 100, 101, 102, 103, 104, 105, 107, 108, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 161, 163, 165, 167, 168, 169, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 202, 203, 204, 208, 211, 212, 213, 214, 215, 219, 220, 221, 223, 224, 225, 226, 228, 229, 230, 231, 232, 234, 235, 236, 237, 238, 239, 240, 244, 245, 247, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 317, 322, 323, 324, 325, 326]: - self.state = 435 - localctx.username = self.stringLiteralOrIdentifier() - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 21: - localctx = SqlBaseParser.ResetSessionAuthorizationContext(self, localctx) - self.enterOuterAlt(localctx, 21) - self.state = 438 - self.match(SqlBaseParser.RESET) - self.state = 439 - self.match(SqlBaseParser.SESSION) - self.state = 440 - self.match(SqlBaseParser.AUTHORIZATION) - pass - - elif la_ == 22: - localctx = SqlBaseParser.SetContext(self, localctx) - self.enterOuterAlt(localctx, 22) - self.state = 441 - self.match(SqlBaseParser.SET) - self.state = 443 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,31,self._ctx) - if la_ == 1: - self.state = 442 - _la = self._input.LA(1) - if not(_la==141 or _la==142): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 445 - self.qname() - self.state = 446 - _la = self._input.LA(1) - if not(_la==4 or _la==282): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 456 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [218]: - self.state = 447 - self.match(SqlBaseParser.DEFAULT) - pass - elif token in [1, 4, 6, 10, 27, 30, 31, 32, 33, 35, 38, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 70, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 93, 96, 98, 99, 100, 101, 102, 103, 104, 105, 107, 108, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 161, 163, 165, 167, 168, 169, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 202, 203, 204, 208, 211, 212, 213, 214, 215, 219, 220, 221, 223, 224, 225, 226, 228, 229, 230, 231, 232, 234, 235, 236, 237, 238, 239, 240, 244, 245, 247, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 317, 320, 321, 322, 323, 324, 325, 326]: - self.state = 448 - self.setExpr() - self.state = 453 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 449 - self.match(SqlBaseParser.COMMA) - self.state = 450 - self.setExpr() - self.state = 455 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 23: - localctx = SqlBaseParser.SetGlobalContext(self, localctx) - self.enterOuterAlt(localctx, 23) - self.state = 458 - self.match(SqlBaseParser.SET) - self.state = 459 - self.match(SqlBaseParser.GLOBAL) - self.state = 461 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==241 or _la==242: - self.state = 460 - _la = self._input.LA(1) - if not(_la==241 or _la==242): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 463 - self.setGlobalAssignment() - self.state = 468 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 464 - self.match(SqlBaseParser.COMMA) - self.state = 465 - self.setGlobalAssignment() - self.state = 470 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 24: - localctx = SqlBaseParser.SetTimeZoneContext(self, localctx) - self.enterOuterAlt(localctx, 24) - self.state = 471 - self.match(SqlBaseParser.SET) - self.state = 472 - self.match(SqlBaseParser.TIME) - self.state = 473 - self.match(SqlBaseParser.ZONE) - self.state = 477 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [142]: - self.state = 474 - self.match(SqlBaseParser.LOCAL) - pass - elif token in [218]: - self.state = 475 - self.match(SqlBaseParser.DEFAULT) - pass - elif token in [317, 326]: - self.state = 476 - self.stringLiteral() - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 25: - localctx = SqlBaseParser.KillContext(self, localctx) - self.enterOuterAlt(localctx, 25) - self.state = 479 - self.match(SqlBaseParser.KILL) - self.state = 482 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [7]: - self.state = 480 - self.match(SqlBaseParser.ALL) - pass - elif token in [312, 313, 317, 326]: - self.state = 481 - localctx.jobId = self.parameterOrString() - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 26: - localctx = SqlBaseParser.InsertContext(self, localctx) - self.enterOuterAlt(localctx, 26) - self.state = 484 - self.match(SqlBaseParser.INSERT) - self.state = 485 - self.match(SqlBaseParser.INTO) - self.state = 486 - self.table() - self.state = 498 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,39,self._ctx) - if la_ == 1: - self.state = 487 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 488 - self.ident() - self.state = 493 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 489 - self.match(SqlBaseParser.COMMA) - self.state = 490 - self.ident() - self.state = 495 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 496 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - - - self.state = 500 - self.insertSource() - self.state = 502 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==80: - self.state = 501 - self.onConflict() - - - self.state = 505 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==229: - self.state = 504 - self.returning() - - - pass - - elif la_ == 27: - localctx = SqlBaseParser.RestoreContext(self, localctx) - self.enterOuterAlt(localctx, 27) - self.state = 507 - self.match(SqlBaseParser.RESTORE) - self.state = 508 - self.match(SqlBaseParser.SNAPSHOT) - self.state = 509 - self.qname() - self.state = 515 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,42,self._ctx) - if la_ == 1: - self.state = 510 - self.match(SqlBaseParser.ALL) - pass - - elif la_ == 2: - self.state = 511 - self.match(SqlBaseParser.METADATA) - pass - - elif la_ == 3: - self.state = 512 - self.match(SqlBaseParser.TABLE) - self.state = 513 - self.tableWithPartitions() - pass - - elif la_ == 4: - self.state = 514 - localctx.metatypes = self.idents() - pass - - - self.state = 518 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==92: - self.state = 517 - self.withProperties() - - - pass - - elif la_ == 28: - localctx = SqlBaseParser.CopyFromContext(self, localctx) - self.enterOuterAlt(localctx, 28) - self.state = 520 - self.match(SqlBaseParser.COPY) - self.state = 521 - self.tableWithPartition() - self.state = 533 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==305: - self.state = 522 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 523 - self.ident() - self.state = 528 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 524 - self.match(SqlBaseParser.COMMA) - self.state = 525 - self.ident() - self.state = 530 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 531 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - - - self.state = 535 - self.match(SqlBaseParser.FROM) - self.state = 536 - localctx.path = self.expr() - self.state = 538 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==92: - self.state = 537 - self.withProperties() - - - self.state = 542 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==253: - self.state = 540 - self.match(SqlBaseParser.RETURN) - self.state = 541 - self.match(SqlBaseParser.SUMMARY) - - - pass - - elif la_ == 29: - localctx = SqlBaseParser.CopyToContext(self, localctx) - self.enterOuterAlt(localctx, 29) - self.state = 544 - self.match(SqlBaseParser.COPY) - self.state = 545 - self.tableWithPartition() - self.state = 547 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==305: - self.state = 546 - self.columns() - - - self.state = 550 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==13: - self.state = 549 - self.where() - - - self.state = 552 - self.match(SqlBaseParser.TO) - self.state = 554 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==11: - self.state = 553 - self.match(SqlBaseParser.DIRECTORY) - - - self.state = 556 - localctx.path = self.expr() - self.state = 558 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==92: - self.state = 557 - self.withProperties() - - - pass - - elif la_ == 30: - localctx = SqlBaseParser.DropContext(self, localctx) - self.enterOuterAlt(localctx, 30) - self.state = 560 - self.dropStmt() - pass - - elif la_ == 31: - localctx = SqlBaseParser.GrantPrivilegeContext(self, localctx) - self.enterOuterAlt(localctx, 31) - self.state = 561 - self.match(SqlBaseParser.GRANT) - self.state = 567 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [1, 4, 6, 10, 27, 32, 33, 35, 38, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 70, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 93, 96, 98, 99, 100, 101, 102, 103, 104, 105, 107, 108, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 161, 163, 165, 167, 168, 169, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 202, 203, 204, 208, 211, 212, 213, 214, 215, 219, 220, 221, 223, 224, 225, 226, 228, 229, 230, 231, 232, 234, 235, 236, 237, 238, 239, 240, 244, 245, 247, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 322, 323, 324, 325]: - self.state = 562 - localctx.priviliges = self.idents() - pass - elif token in [7]: - self.state = 563 - self.match(SqlBaseParser.ALL) - self.state = 565 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==251: - self.state = 564 - self.match(SqlBaseParser.PRIVILEGES) - - - pass - else: - raise NoViableAltException(self) - - self.state = 573 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==80: - self.state = 569 - self.match(SqlBaseParser.ON) - self.state = 570 - self.securable() - self.state = 571 - self.qnames() - - - self.state = 575 - self.match(SqlBaseParser.TO) - self.state = 576 - localctx.users = self.idents() - pass - - elif la_ == 32: - localctx = SqlBaseParser.DenyPrivilegeContext(self, localctx) - self.enterOuterAlt(localctx, 32) - self.state = 577 - self.match(SqlBaseParser.DENY) - self.state = 583 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [1, 4, 6, 10, 27, 32, 33, 35, 38, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 70, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 93, 96, 98, 99, 100, 101, 102, 103, 104, 105, 107, 108, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 161, 163, 165, 167, 168, 169, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 202, 203, 204, 208, 211, 212, 213, 214, 215, 219, 220, 221, 223, 224, 225, 226, 228, 229, 230, 231, 232, 234, 235, 236, 237, 238, 239, 240, 244, 245, 247, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 322, 323, 324, 325]: - self.state = 578 - localctx.priviliges = self.idents() - pass - elif token in [7]: - self.state = 579 - self.match(SqlBaseParser.ALL) - self.state = 581 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==251: - self.state = 580 - self.match(SqlBaseParser.PRIVILEGES) - - - pass - else: - raise NoViableAltException(self) - - self.state = 589 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==80: - self.state = 585 - self.match(SqlBaseParser.ON) - self.state = 586 - self.securable() - self.state = 587 - self.qnames() - - - self.state = 591 - self.match(SqlBaseParser.TO) - self.state = 592 - localctx.users = self.idents() - pass - - elif la_ == 33: - localctx = SqlBaseParser.RevokePrivilegeContext(self, localctx) - self.enterOuterAlt(localctx, 33) - self.state = 593 - self.match(SqlBaseParser.REVOKE) - self.state = 599 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [1, 4, 6, 10, 27, 32, 33, 35, 38, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 70, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 93, 96, 98, 99, 100, 101, 102, 103, 104, 105, 107, 108, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 161, 163, 165, 167, 168, 169, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 202, 203, 204, 208, 211, 212, 213, 214, 215, 219, 220, 221, 223, 224, 225, 226, 228, 229, 230, 231, 232, 234, 235, 236, 237, 238, 239, 240, 244, 245, 247, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 322, 323, 324, 325]: - self.state = 594 - localctx.privileges = self.idents() - pass - elif token in [7]: - self.state = 595 - self.match(SqlBaseParser.ALL) - self.state = 597 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==251: - self.state = 596 - self.match(SqlBaseParser.PRIVILEGES) - - - pass - else: - raise NoViableAltException(self) - - self.state = 605 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==80: - self.state = 601 - self.match(SqlBaseParser.ON) - self.state = 602 - self.securable() - self.state = 603 - self.qnames() - - - self.state = 607 - self.match(SqlBaseParser.FROM) - self.state = 608 - localctx.users = self.idents() - pass - - elif la_ == 34: - localctx = SqlBaseParser.CreateContext(self, localctx) - self.enterOuterAlt(localctx, 34) - self.state = 609 - self.createStmt() - pass - - elif la_ == 35: - localctx = SqlBaseParser.DeallocateContext(self, localctx) - self.enterOuterAlt(localctx, 35) - self.state = 610 - self.match(SqlBaseParser.DEALLOCATE) - self.state = 612 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,61,self._ctx) - if la_ == 1: - self.state = 611 - self.match(SqlBaseParser.PREPARE) - - - self.state = 616 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [7]: - self.state = 614 - self.match(SqlBaseParser.ALL) - pass - elif token in [1, 4, 6, 10, 27, 32, 33, 35, 38, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 70, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 93, 96, 98, 99, 100, 101, 102, 103, 104, 105, 107, 108, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 161, 163, 165, 167, 168, 169, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 202, 203, 204, 208, 211, 212, 213, 214, 215, 219, 220, 221, 223, 224, 225, 226, 228, 229, 230, 231, 232, 234, 235, 236, 237, 238, 239, 240, 244, 245, 247, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 317, 322, 323, 324, 325, 326]: - self.state = 615 - localctx.prepStmt = self.stringLiteralOrIdentifierOrQname() - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 36: - localctx = SqlBaseParser.AnalyzeContext(self, localctx) - self.enterOuterAlt(localctx, 36) - self.state = 618 - self.match(SqlBaseParser.ANALYZE) - pass - - elif la_ == 37: - localctx = SqlBaseParser.DiscardContext(self, localctx) - self.enterOuterAlt(localctx, 37) - self.state = 619 - self.match(SqlBaseParser.DISCARD) - self.state = 620 - _la = self._input.LA(1) - if not(_la==7 or ((((_la - 169)) & ~0x3f) == 0 and ((1 << (_la - 169)) & 15) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 38: - localctx = SqlBaseParser.DeclareContext(self, localctx) - self.enterOuterAlt(localctx, 38) - self.state = 621 - self.match(SqlBaseParser.DECLARE) - self.state = 622 - self.ident() - self.state = 623 - self.declareCursorParams() - self.state = 624 - self.match(SqlBaseParser.CURSOR) - self.state = 627 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==92 or _la==93: - self.state = 625 - _la = self._input.LA(1) - if not(_la==92 or _la==93): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 626 - self.match(SqlBaseParser.HOLD) - - - self.state = 629 - self.match(SqlBaseParser.FOR) - self.state = 630 - self.queryNoWith() - pass - - elif la_ == 39: - localctx = SqlBaseParser.FetchContext(self, localctx) - self.enterOuterAlt(localctx, 39) - self.state = 632 - self.match(SqlBaseParser.FETCH) - self.state = 634 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,64,self._ctx) - if la_ == 1: - self.state = 633 - self.direction() - - - self.state = 637 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==3 or _la==22: - self.state = 636 - _la = self._input.LA(1) - if not(_la==3 or _la==22): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 639 - self.ident() - pass - - elif la_ == 40: - localctx = SqlBaseParser.CloseContext(self, localctx) - self.enterOuterAlt(localctx, 40) - self.state = 640 - self.match(SqlBaseParser.CLOSE) - self.state = 643 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [1, 4, 6, 10, 27, 32, 33, 35, 38, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 70, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 93, 96, 98, 99, 100, 101, 102, 103, 104, 105, 107, 108, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 161, 163, 165, 167, 168, 169, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 202, 203, 204, 208, 211, 212, 213, 214, 215, 219, 220, 221, 223, 224, 225, 226, 228, 229, 230, 231, 232, 234, 235, 236, 237, 238, 239, 240, 244, 245, 247, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 322, 323, 324, 325]: - self.state = 641 - self.ident() - pass - elif token in [7]: - self.state = 642 - self.match(SqlBaseParser.ALL) - pass - else: - raise NoViableAltException(self) - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DropStmtContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return SqlBaseParser.RULE_dropStmt - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class DropSubscriptionContext(DropStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.DropStmtContext - super().__init__(parser) - self.name = None # IdentContext - self.copyFrom(ctx) - - def DROP(self): - return self.getToken(SqlBaseParser.DROP, 0) - def SUBSCRIPTION(self): - return self.getToken(SqlBaseParser.SUBSCRIPTION, 0) - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - def IF(self): - return self.getToken(SqlBaseParser.IF, 0) - def EXISTS(self): - return self.getToken(SqlBaseParser.EXISTS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropSubscription" ): - listener.enterDropSubscription(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropSubscription" ): - listener.exitDropSubscription(self) - - - class DropSnapshotContext(DropStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.DropStmtContext - super().__init__(parser) - self.copyFrom(ctx) - - def DROP(self): - return self.getToken(SqlBaseParser.DROP, 0) - def SNAPSHOT(self): - return self.getToken(SqlBaseParser.SNAPSHOT, 0) - def qname(self): - return self.getTypedRuleContext(SqlBaseParser.QnameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropSnapshot" ): - listener.enterDropSnapshot(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropSnapshot" ): - listener.exitDropSnapshot(self) - - - class DropFunctionContext(DropStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.DropStmtContext - super().__init__(parser) - self.name = None # QnameContext - self.copyFrom(ctx) - - def DROP(self): - return self.getToken(SqlBaseParser.DROP, 0) - def FUNCTION(self): - return self.getToken(SqlBaseParser.FUNCTION, 0) - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - def qname(self): - return self.getTypedRuleContext(SqlBaseParser.QnameContext,0) - - def IF(self): - return self.getToken(SqlBaseParser.IF, 0) - def EXISTS(self): - return self.getToken(SqlBaseParser.EXISTS, 0) - def functionArgument(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.FunctionArgumentContext) - else: - return self.getTypedRuleContext(SqlBaseParser.FunctionArgumentContext,i) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropFunction" ): - listener.enterDropFunction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropFunction" ): - listener.exitDropFunction(self) - - - class DropViewContext(DropStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.DropStmtContext - super().__init__(parser) - self.names = None # QnamesContext - self.copyFrom(ctx) - - def DROP(self): - return self.getToken(SqlBaseParser.DROP, 0) - def VIEW(self): - return self.getToken(SqlBaseParser.VIEW, 0) - def qnames(self): - return self.getTypedRuleContext(SqlBaseParser.QnamesContext,0) - - def IF(self): - return self.getToken(SqlBaseParser.IF, 0) - def EXISTS(self): - return self.getToken(SqlBaseParser.EXISTS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropView" ): - listener.enterDropView(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropView" ): - listener.exitDropView(self) - - - class DropUserMappingContext(DropStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.DropStmtContext - super().__init__(parser) - self.server = None # IdentContext - self.copyFrom(ctx) - - def DROP(self): - return self.getToken(SqlBaseParser.DROP, 0) - def USER(self): - return self.getToken(SqlBaseParser.USER, 0) - def MAPPING(self): - return self.getToken(SqlBaseParser.MAPPING, 0) - def FOR(self): - return self.getToken(SqlBaseParser.FOR, 0) - def mappedUser(self): - return self.getTypedRuleContext(SqlBaseParser.MappedUserContext,0) - - def SERVER(self): - return self.getToken(SqlBaseParser.SERVER, 0) - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - def IF(self): - return self.getToken(SqlBaseParser.IF, 0) - def EXISTS(self): - return self.getToken(SqlBaseParser.EXISTS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropUserMapping" ): - listener.enterDropUserMapping(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropUserMapping" ): - listener.exitDropUserMapping(self) - - - class DropRepositoryContext(DropStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.DropStmtContext - super().__init__(parser) - self.copyFrom(ctx) - - def DROP(self): - return self.getToken(SqlBaseParser.DROP, 0) - def REPOSITORY(self): - return self.getToken(SqlBaseParser.REPOSITORY, 0) - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropRepository" ): - listener.enterDropRepository(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropRepository" ): - listener.exitDropRepository(self) - - - class DropRoleContext(DropStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.DropStmtContext - super().__init__(parser) - self.name = None # IdentContext - self.copyFrom(ctx) - - def DROP(self): - return self.getToken(SqlBaseParser.DROP, 0) - def USER(self): - return self.getToken(SqlBaseParser.USER, 0) - def ROLE(self): - return self.getToken(SqlBaseParser.ROLE, 0) - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - def IF(self): - return self.getToken(SqlBaseParser.IF, 0) - def EXISTS(self): - return self.getToken(SqlBaseParser.EXISTS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropRole" ): - listener.enterDropRole(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropRole" ): - listener.exitDropRole(self) - - - class DropForeignTableContext(DropStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.DropStmtContext - super().__init__(parser) - self.names = None # QnamesContext - self.copyFrom(ctx) - - def DROP(self): - return self.getToken(SqlBaseParser.DROP, 0) - def FOREIGN(self): - return self.getToken(SqlBaseParser.FOREIGN, 0) - def TABLE(self): - return self.getToken(SqlBaseParser.TABLE, 0) - def qnames(self): - return self.getTypedRuleContext(SqlBaseParser.QnamesContext,0) - - def IF(self): - return self.getToken(SqlBaseParser.IF, 0) - def EXISTS(self): - return self.getToken(SqlBaseParser.EXISTS, 0) - def CASCADE(self): - return self.getToken(SqlBaseParser.CASCADE, 0) - def RESTRICT(self): - return self.getToken(SqlBaseParser.RESTRICT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropForeignTable" ): - listener.enterDropForeignTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropForeignTable" ): - listener.exitDropForeignTable(self) - - - class DropBlobTableContext(DropStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.DropStmtContext - super().__init__(parser) - self.copyFrom(ctx) - - def DROP(self): - return self.getToken(SqlBaseParser.DROP, 0) - def BLOB(self): - return self.getToken(SqlBaseParser.BLOB, 0) - def TABLE(self): - return self.getToken(SqlBaseParser.TABLE, 0) - def table(self): - return self.getTypedRuleContext(SqlBaseParser.TableContext,0) - - def IF(self): - return self.getToken(SqlBaseParser.IF, 0) - def EXISTS(self): - return self.getToken(SqlBaseParser.EXISTS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropBlobTable" ): - listener.enterDropBlobTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropBlobTable" ): - listener.exitDropBlobTable(self) - - - class DropAnalyzerContext(DropStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.DropStmtContext - super().__init__(parser) - self.name = None # IdentContext - self.copyFrom(ctx) - - def DROP(self): - return self.getToken(SqlBaseParser.DROP, 0) - def ANALYZER(self): - return self.getToken(SqlBaseParser.ANALYZER, 0) - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropAnalyzer" ): - listener.enterDropAnalyzer(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropAnalyzer" ): - listener.exitDropAnalyzer(self) - - - class DropAliasContext(DropStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.DropStmtContext - super().__init__(parser) - self.copyFrom(ctx) - - def DROP(self): - return self.getToken(SqlBaseParser.DROP, 0) - def ALIAS(self): - return self.getToken(SqlBaseParser.ALIAS, 0) - def qname(self): - return self.getTypedRuleContext(SqlBaseParser.QnameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropAlias" ): - listener.enterDropAlias(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropAlias" ): - listener.exitDropAlias(self) - - - class DropPublicationContext(DropStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.DropStmtContext - super().__init__(parser) - self.name = None # IdentContext - self.copyFrom(ctx) - - def DROP(self): - return self.getToken(SqlBaseParser.DROP, 0) - def PUBLICATION(self): - return self.getToken(SqlBaseParser.PUBLICATION, 0) - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - def IF(self): - return self.getToken(SqlBaseParser.IF, 0) - def EXISTS(self): - return self.getToken(SqlBaseParser.EXISTS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropPublication" ): - listener.enterDropPublication(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropPublication" ): - listener.exitDropPublication(self) - - - class DropTableContext(DropStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.DropStmtContext - super().__init__(parser) - self.copyFrom(ctx) - - def DROP(self): - return self.getToken(SqlBaseParser.DROP, 0) - def TABLE(self): - return self.getToken(SqlBaseParser.TABLE, 0) - def table(self): - return self.getTypedRuleContext(SqlBaseParser.TableContext,0) - - def IF(self): - return self.getToken(SqlBaseParser.IF, 0) - def EXISTS(self): - return self.getToken(SqlBaseParser.EXISTS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropTable" ): - listener.enterDropTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropTable" ): - listener.exitDropTable(self) - - - class DropServerContext(DropStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.DropStmtContext - super().__init__(parser) - self.names = None # IdentsContext - self.copyFrom(ctx) - - def DROP(self): - return self.getToken(SqlBaseParser.DROP, 0) - def SERVER(self): - return self.getToken(SqlBaseParser.SERVER, 0) - def idents(self): - return self.getTypedRuleContext(SqlBaseParser.IdentsContext,0) - - def IF(self): - return self.getToken(SqlBaseParser.IF, 0) - def EXISTS(self): - return self.getToken(SqlBaseParser.EXISTS, 0) - def CASCADE(self): - return self.getToken(SqlBaseParser.CASCADE, 0) - def RESTRICT(self): - return self.getToken(SqlBaseParser.RESTRICT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropServer" ): - listener.enterDropServer(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropServer" ): - listener.exitDropServer(self) - - - - def dropStmt(self): - - localctx = SqlBaseParser.DropStmtContext(self, self._ctx, self.state) - self.enterRule(localctx, 8, self.RULE_dropStmt) - self._la = 0 # Token type - try: - self.state = 755 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,82,self._ctx) - if la_ == 1: - localctx = SqlBaseParser.DropBlobTableContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 647 - self.match(SqlBaseParser.DROP) - self.state = 648 - self.match(SqlBaseParser.BLOB) - self.state = 649 - self.match(SqlBaseParser.TABLE) - self.state = 652 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==69: - self.state = 650 - self.match(SqlBaseParser.IF) - self.state = 651 - self.match(SqlBaseParser.EXISTS) - - - self.state = 654 - self.table() - pass - - elif la_ == 2: - localctx = SqlBaseParser.DropTableContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 655 - self.match(SqlBaseParser.DROP) - self.state = 656 - self.match(SqlBaseParser.TABLE) - self.state = 659 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==69: - self.state = 657 - self.match(SqlBaseParser.IF) - self.state = 658 - self.match(SqlBaseParser.EXISTS) - - - self.state = 661 - self.table() - pass - - elif la_ == 3: - localctx = SqlBaseParser.DropAliasContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 662 - self.match(SqlBaseParser.DROP) - self.state = 663 - self.match(SqlBaseParser.ALIAS) - self.state = 664 - self.qname() - pass - - elif la_ == 4: - localctx = SqlBaseParser.DropRepositoryContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 665 - self.match(SqlBaseParser.DROP) - self.state = 666 - self.match(SqlBaseParser.REPOSITORY) - self.state = 667 - self.ident() - pass - - elif la_ == 5: - localctx = SqlBaseParser.DropSnapshotContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 668 - self.match(SqlBaseParser.DROP) - self.state = 669 - self.match(SqlBaseParser.SNAPSHOT) - self.state = 670 - self.qname() - pass - - elif la_ == 6: - localctx = SqlBaseParser.DropFunctionContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 671 - self.match(SqlBaseParser.DROP) - self.state = 672 - self.match(SqlBaseParser.FUNCTION) - self.state = 675 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==69: - self.state = 673 - self.match(SqlBaseParser.IF) - self.state = 674 - self.match(SqlBaseParser.EXISTS) - - - self.state = 677 - localctx.name = self.qname() - self.state = 678 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 687 - self._errHandler.sync(self) - _la = self._input.LA(1) - if (((_la) & ~0x3f) == 0 and ((1 << _la) & 1152776691328746578) != 0) or ((((_la - 70)) & ~0x3f) == 0 and ((1 << (_la - 70)) & -1718175795199) != 0) or ((((_la - 134)) & ~0x3f) == 0 and ((1 << (_la - 134)) & 9221680432477634559) != 0) or ((((_la - 198)) & ~0x3f) == 0 and ((1 << (_la - 198)) & -8224347531254671) != 0) or ((((_la - 262)) & ~0x3f) == 0 and ((1 << (_la - 262)) & -1152921504605798401) != 0): - self.state = 679 - self.functionArgument() - self.state = 684 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 680 - self.match(SqlBaseParser.COMMA) - self.state = 681 - self.functionArgument() - self.state = 686 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - self.state = 689 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - - elif la_ == 7: - localctx = SqlBaseParser.DropRoleContext(self, localctx) - self.enterOuterAlt(localctx, 7) - self.state = 691 - self.match(SqlBaseParser.DROP) - self.state = 692 - _la = self._input.LA(1) - if not(_la==246 or _la==247): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 695 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==69: - self.state = 693 - self.match(SqlBaseParser.IF) - self.state = 694 - self.match(SqlBaseParser.EXISTS) - - - self.state = 697 - localctx.name = self.ident() - pass - - elif la_ == 8: - localctx = SqlBaseParser.DropViewContext(self, localctx) - self.enterOuterAlt(localctx, 8) - self.state = 698 - self.match(SqlBaseParser.DROP) - self.state = 699 - self.match(SqlBaseParser.VIEW) - self.state = 702 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==69: - self.state = 700 - self.match(SqlBaseParser.IF) - self.state = 701 - self.match(SqlBaseParser.EXISTS) - - - self.state = 704 - localctx.names = self.qnames() - pass - - elif la_ == 9: - localctx = SqlBaseParser.DropAnalyzerContext(self, localctx) - self.enterOuterAlt(localctx, 9) - self.state = 705 - self.match(SqlBaseParser.DROP) - self.state = 706 - self.match(SqlBaseParser.ANALYZER) - self.state = 707 - localctx.name = self.ident() - pass - - elif la_ == 10: - localctx = SqlBaseParser.DropPublicationContext(self, localctx) - self.enterOuterAlt(localctx, 10) - self.state = 708 - self.match(SqlBaseParser.DROP) - self.state = 709 - self.match(SqlBaseParser.PUBLICATION) - self.state = 712 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==69: - self.state = 710 - self.match(SqlBaseParser.IF) - self.state = 711 - self.match(SqlBaseParser.EXISTS) - - - self.state = 714 - localctx.name = self.ident() - pass - - elif la_ == 11: - localctx = SqlBaseParser.DropSubscriptionContext(self, localctx) - self.enterOuterAlt(localctx, 11) - self.state = 715 - self.match(SqlBaseParser.DROP) - self.state = 716 - self.match(SqlBaseParser.SUBSCRIPTION) - self.state = 719 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==69: - self.state = 717 - self.match(SqlBaseParser.IF) - self.state = 718 - self.match(SqlBaseParser.EXISTS) - - - self.state = 721 - localctx.name = self.ident() - pass - - elif la_ == 12: - localctx = SqlBaseParser.DropServerContext(self, localctx) - self.enterOuterAlt(localctx, 12) - self.state = 722 - self.match(SqlBaseParser.DROP) - self.state = 723 - self.match(SqlBaseParser.SERVER) - self.state = 726 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==69: - self.state = 724 - self.match(SqlBaseParser.IF) - self.state = 725 - self.match(SqlBaseParser.EXISTS) - - - self.state = 728 - localctx.names = self.idents() - self.state = 730 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==280 or _la==281: - self.state = 729 - _la = self._input.LA(1) - if not(_la==280 or _la==281): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - pass - - elif la_ == 13: - localctx = SqlBaseParser.DropForeignTableContext(self, localctx) - self.enterOuterAlt(localctx, 13) - self.state = 732 - self.match(SqlBaseParser.DROP) - self.state = 733 - self.match(SqlBaseParser.FOREIGN) - self.state = 734 - self.match(SqlBaseParser.TABLE) - self.state = 737 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==69: - self.state = 735 - self.match(SqlBaseParser.IF) - self.state = 736 - self.match(SqlBaseParser.EXISTS) - - - self.state = 739 - localctx.names = self.qnames() - self.state = 741 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==280 or _la==281: - self.state = 740 - _la = self._input.LA(1) - if not(_la==280 or _la==281): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - pass - - elif la_ == 14: - localctx = SqlBaseParser.DropUserMappingContext(self, localctx) - self.enterOuterAlt(localctx, 14) - self.state = 743 - self.match(SqlBaseParser.DROP) - self.state = 744 - self.match(SqlBaseParser.USER) - self.state = 745 - self.match(SqlBaseParser.MAPPING) - self.state = 748 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==69: - self.state = 746 - self.match(SqlBaseParser.IF) - self.state = 747 - self.match(SqlBaseParser.EXISTS) - - - self.state = 750 - self.match(SqlBaseParser.FOR) - self.state = 751 - self.mappedUser() - self.state = 752 - self.match(SqlBaseParser.SERVER) - self.state = 753 - localctx.server = self.ident() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class AlterStmtContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return SqlBaseParser.RULE_alterStmt - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class AddColumnContext(AlterStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.AlterStmtContext - super().__init__(parser) - self.copyFrom(ctx) - - def ALTER(self): - return self.getToken(SqlBaseParser.ALTER, 0) - def TABLE(self): - return self.getToken(SqlBaseParser.TABLE, 0) - def alterTableDefinition(self): - return self.getTypedRuleContext(SqlBaseParser.AlterTableDefinitionContext,0) - - def addColumnDefinition(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.AddColumnDefinitionContext) - else: - return self.getTypedRuleContext(SqlBaseParser.AddColumnDefinitionContext,i) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAddColumn" ): - listener.enterAddColumn(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAddColumn" ): - listener.exitAddColumn(self) - - - class AlterClusterGCDanglingArtifactsContext(AlterStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.AlterStmtContext - super().__init__(parser) - self.copyFrom(ctx) - - def ALTER(self): - return self.getToken(SqlBaseParser.ALTER, 0) - def CLUSTER(self): - return self.getToken(SqlBaseParser.CLUSTER, 0) - def GC(self): - return self.getToken(SqlBaseParser.GC, 0) - def DANGLING(self): - return self.getToken(SqlBaseParser.DANGLING, 0) - def ARTIFACTS(self): - return self.getToken(SqlBaseParser.ARTIFACTS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterClusterGCDanglingArtifacts" ): - listener.enterAlterClusterGCDanglingArtifacts(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterClusterGCDanglingArtifacts" ): - listener.exitAlterClusterGCDanglingArtifacts(self) - - - class AlterTablePropertiesContext(AlterStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.AlterStmtContext - super().__init__(parser) - self.copyFrom(ctx) - - def ALTER(self): - return self.getToken(SqlBaseParser.ALTER, 0) - def TABLE(self): - return self.getToken(SqlBaseParser.TABLE, 0) - def alterTableDefinition(self): - return self.getTypedRuleContext(SqlBaseParser.AlterTableDefinitionContext,0) - - def SET(self): - return self.getToken(SqlBaseParser.SET, 0) - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def genericProperties(self): - return self.getTypedRuleContext(SqlBaseParser.GenericPropertiesContext,0) - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - def RESET(self): - return self.getToken(SqlBaseParser.RESET, 0) - def ident(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.IdentContext) - else: - return self.getTypedRuleContext(SqlBaseParser.IdentContext,i) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterTableProperties" ): - listener.enterAlterTableProperties(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterTableProperties" ): - listener.exitAlterTableProperties(self) - - - class AlterRoleContext(AlterStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.AlterStmtContext - super().__init__(parser) - self.name = None # IdentContext - self.copyFrom(ctx) - - def ALTER(self): - return self.getToken(SqlBaseParser.ALTER, 0) - def SET(self): - return self.getToken(SqlBaseParser.SET, 0) - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def genericProperties(self): - return self.getTypedRuleContext(SqlBaseParser.GenericPropertiesContext,0) - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - def USER(self): - return self.getToken(SqlBaseParser.USER, 0) - def ROLE(self): - return self.getToken(SqlBaseParser.ROLE, 0) - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterRole" ): - listener.enterAlterRole(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterRole" ): - listener.exitAlterRole(self) - - - class DropColumnContext(AlterStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.AlterStmtContext - super().__init__(parser) - self.copyFrom(ctx) - - def ALTER(self): - return self.getToken(SqlBaseParser.ALTER, 0) - def TABLE(self): - return self.getToken(SqlBaseParser.TABLE, 0) - def alterTableDefinition(self): - return self.getTypedRuleContext(SqlBaseParser.AlterTableDefinitionContext,0) - - def dropColumnDefinition(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.DropColumnDefinitionContext) - else: - return self.getTypedRuleContext(SqlBaseParser.DropColumnDefinitionContext,i) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropColumn" ): - listener.enterDropColumn(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropColumn" ): - listener.exitDropColumn(self) - - - class DropCheckConstraintContext(AlterStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.AlterStmtContext - super().__init__(parser) - self.copyFrom(ctx) - - def ALTER(self): - return self.getToken(SqlBaseParser.ALTER, 0) - def TABLE(self): - return self.getToken(SqlBaseParser.TABLE, 0) - def alterTableDefinition(self): - return self.getTypedRuleContext(SqlBaseParser.AlterTableDefinitionContext,0) - - def DROP(self): - return self.getToken(SqlBaseParser.DROP, 0) - def CONSTRAINT(self): - return self.getToken(SqlBaseParser.CONSTRAINT, 0) - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropCheckConstraint" ): - listener.enterDropCheckConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropCheckConstraint" ): - listener.exitDropCheckConstraint(self) - - - class AlterTableOpenCloseContext(AlterStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.AlterStmtContext - super().__init__(parser) - self.copyFrom(ctx) - - def ALTER(self): - return self.getToken(SqlBaseParser.ALTER, 0) - def TABLE(self): - return self.getToken(SqlBaseParser.TABLE, 0) - def alterTableDefinition(self): - return self.getTypedRuleContext(SqlBaseParser.AlterTableDefinitionContext,0) - - def OPEN(self): - return self.getToken(SqlBaseParser.OPEN, 0) - def CLOSE(self): - return self.getToken(SqlBaseParser.CLOSE, 0) - def BLOB(self): - return self.getToken(SqlBaseParser.BLOB, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterTableOpenClose" ): - listener.enterAlterTableOpenClose(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterTableOpenClose" ): - listener.exitAlterTableOpenClose(self) - - - class AlterTableRenameTableContext(AlterStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.AlterStmtContext - super().__init__(parser) - self.copyFrom(ctx) - - def ALTER(self): - return self.getToken(SqlBaseParser.ALTER, 0) - def TABLE(self): - return self.getToken(SqlBaseParser.TABLE, 0) - def alterTableDefinition(self): - return self.getTypedRuleContext(SqlBaseParser.AlterTableDefinitionContext,0) - - def RENAME(self): - return self.getToken(SqlBaseParser.RENAME, 0) - def TO(self): - return self.getToken(SqlBaseParser.TO, 0) - def qname(self): - return self.getTypedRuleContext(SqlBaseParser.QnameContext,0) - - def BLOB(self): - return self.getToken(SqlBaseParser.BLOB, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterTableRenameTable" ): - listener.enterAlterTableRenameTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterTableRenameTable" ): - listener.exitAlterTableRenameTable(self) - - - class AlterPublicationContext(AlterStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.AlterStmtContext - super().__init__(parser) - self.name = None # IdentContext - self.copyFrom(ctx) - - def ALTER(self): - return self.getToken(SqlBaseParser.ALTER, 0) - def PUBLICATION(self): - return self.getToken(SqlBaseParser.PUBLICATION, 0) - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - def TABLE(self): - return self.getToken(SqlBaseParser.TABLE, 0) - def qname(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.QnameContext) - else: - return self.getTypedRuleContext(SqlBaseParser.QnameContext,i) - - def ADD(self): - return self.getToken(SqlBaseParser.ADD, 0) - def SET(self): - return self.getToken(SqlBaseParser.SET, 0) - def DROP(self): - return self.getToken(SqlBaseParser.DROP, 0) - def ASTERISK(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.ASTERISK) - else: - return self.getToken(SqlBaseParser.ASTERISK, i) - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterPublication" ): - listener.enterAlterPublication(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterPublication" ): - listener.exitAlterPublication(self) - - - class AlterClusterDecommissionNodeContext(AlterStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.AlterStmtContext - super().__init__(parser) - self.node = None # ExprContext - self.copyFrom(ctx) - - def ALTER(self): - return self.getToken(SqlBaseParser.ALTER, 0) - def CLUSTER(self): - return self.getToken(SqlBaseParser.CLUSTER, 0) - def DECOMMISSION(self): - return self.getToken(SqlBaseParser.DECOMMISSION, 0) - def expr(self): - return self.getTypedRuleContext(SqlBaseParser.ExprContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterClusterDecommissionNode" ): - listener.enterAlterClusterDecommissionNode(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterClusterDecommissionNode" ): - listener.exitAlterClusterDecommissionNode(self) - - - class AlterClusterRerouteRetryFailedContext(AlterStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.AlterStmtContext - super().__init__(parser) - self.copyFrom(ctx) - - def ALTER(self): - return self.getToken(SqlBaseParser.ALTER, 0) - def CLUSTER(self): - return self.getToken(SqlBaseParser.CLUSTER, 0) - def REROUTE(self): - return self.getToken(SqlBaseParser.REROUTE, 0) - def RETRY(self): - return self.getToken(SqlBaseParser.RETRY, 0) - def FAILED(self): - return self.getToken(SqlBaseParser.FAILED, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterClusterRerouteRetryFailed" ): - listener.enterAlterClusterRerouteRetryFailed(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterClusterRerouteRetryFailed" ): - listener.exitAlterClusterRerouteRetryFailed(self) - - - class AlterBlobTablePropertiesContext(AlterStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.AlterStmtContext - super().__init__(parser) - self.copyFrom(ctx) - - def ALTER(self): - return self.getToken(SqlBaseParser.ALTER, 0) - def BLOB(self): - return self.getToken(SqlBaseParser.BLOB, 0) - def TABLE(self): - return self.getToken(SqlBaseParser.TABLE, 0) - def alterTableDefinition(self): - return self.getTypedRuleContext(SqlBaseParser.AlterTableDefinitionContext,0) - - def SET(self): - return self.getToken(SqlBaseParser.SET, 0) - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def genericProperties(self): - return self.getTypedRuleContext(SqlBaseParser.GenericPropertiesContext,0) - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - def RESET(self): - return self.getToken(SqlBaseParser.RESET, 0) - def ident(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.IdentContext) - else: - return self.getTypedRuleContext(SqlBaseParser.IdentContext,i) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterBlobTableProperties" ): - listener.enterAlterBlobTableProperties(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterBlobTableProperties" ): - listener.exitAlterBlobTableProperties(self) - - - class AlterTableRerouteContext(AlterStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.AlterStmtContext - super().__init__(parser) - self.copyFrom(ctx) - - def ALTER(self): - return self.getToken(SqlBaseParser.ALTER, 0) - def TABLE(self): - return self.getToken(SqlBaseParser.TABLE, 0) - def alterTableDefinition(self): - return self.getTypedRuleContext(SqlBaseParser.AlterTableDefinitionContext,0) - - def REROUTE(self): - return self.getToken(SqlBaseParser.REROUTE, 0) - def rerouteOption(self): - return self.getTypedRuleContext(SqlBaseParser.RerouteOptionContext,0) - - def BLOB(self): - return self.getToken(SqlBaseParser.BLOB, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterTableReroute" ): - listener.enterAlterTableReroute(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterTableReroute" ): - listener.exitAlterTableReroute(self) - - - class AlterClusterSwapTableContext(AlterStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.AlterStmtContext - super().__init__(parser) - self.source = None # QnameContext - self.target = None # QnameContext - self.copyFrom(ctx) - - def ALTER(self): - return self.getToken(SqlBaseParser.ALTER, 0) - def CLUSTER(self): - return self.getToken(SqlBaseParser.CLUSTER, 0) - def SWAP(self): - return self.getToken(SqlBaseParser.SWAP, 0) - def TABLE(self): - return self.getToken(SqlBaseParser.TABLE, 0) - def TO(self): - return self.getToken(SqlBaseParser.TO, 0) - def qname(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.QnameContext) - else: - return self.getTypedRuleContext(SqlBaseParser.QnameContext,i) - - def withProperties(self): - return self.getTypedRuleContext(SqlBaseParser.WithPropertiesContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterClusterSwapTable" ): - listener.enterAlterClusterSwapTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterClusterSwapTable" ): - listener.exitAlterClusterSwapTable(self) - - - class AlterTableRenameColumnContext(AlterStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.AlterStmtContext - super().__init__(parser) - self.source = None # SubscriptSafeContext - self.target = None # SubscriptSafeContext - self.copyFrom(ctx) - - def ALTER(self): - return self.getToken(SqlBaseParser.ALTER, 0) - def TABLE(self): - return self.getToken(SqlBaseParser.TABLE, 0) - def alterTableDefinition(self): - return self.getTypedRuleContext(SqlBaseParser.AlterTableDefinitionContext,0) - - def RENAME(self): - return self.getToken(SqlBaseParser.RENAME, 0) - def TO(self): - return self.getToken(SqlBaseParser.TO, 0) - def subscriptSafe(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.SubscriptSafeContext) - else: - return self.getTypedRuleContext(SqlBaseParser.SubscriptSafeContext,i) - - def BLOB(self): - return self.getToken(SqlBaseParser.BLOB, 0) - def COLUMN(self): - return self.getToken(SqlBaseParser.COLUMN, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterTableRenameColumn" ): - listener.enterAlterTableRenameColumn(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterTableRenameColumn" ): - listener.exitAlterTableRenameColumn(self) - - - class AlterSubscriptionContext(AlterStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.AlterStmtContext - super().__init__(parser) - self.name = None # IdentContext - self.copyFrom(ctx) - - def ALTER(self): - return self.getToken(SqlBaseParser.ALTER, 0) - def SUBSCRIPTION(self): - return self.getToken(SqlBaseParser.SUBSCRIPTION, 0) - def alterSubscriptionMode(self): - return self.getTypedRuleContext(SqlBaseParser.AlterSubscriptionModeContext,0) - - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterSubscription" ): - listener.enterAlterSubscription(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterSubscription" ): - listener.exitAlterSubscription(self) - - - - def alterStmt(self): - - localctx = SqlBaseParser.AlterStmtContext(self, self._ctx, self.state) - self.enterRule(localctx, 10, self.RULE_alterStmt) - self._la = 0 # Token type - try: - self.state = 932 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,100,self._ctx) - if la_ == 1: - localctx = SqlBaseParser.AddColumnContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 757 - self.match(SqlBaseParser.ALTER) - self.state = 758 - self.match(SqlBaseParser.TABLE) - self.state = 759 - self.alterTableDefinition() - self.state = 760 - self.addColumnDefinition() - self.state = 765 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 761 - self.match(SqlBaseParser.COMMA) - self.state = 762 - self.addColumnDefinition() - self.state = 767 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 2: - localctx = SqlBaseParser.DropColumnContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 768 - self.match(SqlBaseParser.ALTER) - self.state = 769 - self.match(SqlBaseParser.TABLE) - self.state = 770 - self.alterTableDefinition() - self.state = 771 - self.dropColumnDefinition() - self.state = 776 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 772 - self.match(SqlBaseParser.COMMA) - self.state = 773 - self.dropColumnDefinition() - self.state = 778 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 3: - localctx = SqlBaseParser.DropCheckConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 779 - self.match(SqlBaseParser.ALTER) - self.state = 780 - self.match(SqlBaseParser.TABLE) - self.state = 781 - self.alterTableDefinition() - self.state = 782 - self.match(SqlBaseParser.DROP) - self.state = 783 - self.match(SqlBaseParser.CONSTRAINT) - self.state = 784 - self.ident() - pass - - elif la_ == 4: - localctx = SqlBaseParser.AlterTablePropertiesContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 786 - self.match(SqlBaseParser.ALTER) - self.state = 787 - self.match(SqlBaseParser.TABLE) - self.state = 788 - self.alterTableDefinition() - self.state = 808 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [216]: - self.state = 789 - self.match(SqlBaseParser.SET) - self.state = 790 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 791 - self.genericProperties() - self.state = 792 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - elif token in [217]: - self.state = 794 - self.match(SqlBaseParser.RESET) - self.state = 806 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==305: - self.state = 795 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 796 - self.ident() - self.state = 801 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 797 - self.match(SqlBaseParser.COMMA) - self.state = 798 - self.ident() - self.state = 803 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 804 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - - - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 5: - localctx = SqlBaseParser.AlterBlobTablePropertiesContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 810 - self.match(SqlBaseParser.ALTER) - self.state = 811 - self.match(SqlBaseParser.BLOB) - self.state = 812 - self.match(SqlBaseParser.TABLE) - self.state = 813 - self.alterTableDefinition() - self.state = 833 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [216]: - self.state = 814 - self.match(SqlBaseParser.SET) - self.state = 815 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 816 - self.genericProperties() - self.state = 817 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - elif token in [217]: - self.state = 819 - self.match(SqlBaseParser.RESET) - self.state = 831 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==305: - self.state = 820 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 821 - self.ident() - self.state = 826 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 822 - self.match(SqlBaseParser.COMMA) - self.state = 823 - self.ident() - self.state = 828 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 829 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - - - pass - else: - raise NoViableAltException(self) - - pass - - elif la_ == 6: - localctx = SqlBaseParser.AlterTableOpenCloseContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 835 - self.match(SqlBaseParser.ALTER) - self.state = 837 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==96: - self.state = 836 - self.match(SqlBaseParser.BLOB) - - - self.state = 839 - self.match(SqlBaseParser.TABLE) - self.state = 840 - self.alterTableDefinition() - self.state = 841 - _la = self._input.LA(1) - if not(_la==111 or _la==112): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 7: - localctx = SqlBaseParser.AlterTableRenameTableContext(self, localctx) - self.enterOuterAlt(localctx, 7) - self.state = 843 - self.match(SqlBaseParser.ALTER) - self.state = 845 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==96: - self.state = 844 - self.match(SqlBaseParser.BLOB) - - - self.state = 847 - self.match(SqlBaseParser.TABLE) - self.state = 848 - self.alterTableDefinition() - self.state = 849 - self.match(SqlBaseParser.RENAME) - self.state = 850 - self.match(SqlBaseParser.TO) - self.state = 851 - self.qname() - pass - - elif la_ == 8: - localctx = SqlBaseParser.AlterTableRenameColumnContext(self, localctx) - self.enterOuterAlt(localctx, 8) - self.state = 853 - self.match(SqlBaseParser.ALTER) - self.state = 855 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==96: - self.state = 854 - self.match(SqlBaseParser.BLOB) - - - self.state = 857 - self.match(SqlBaseParser.TABLE) - self.state = 858 - self.alterTableDefinition() - self.state = 859 - self.match(SqlBaseParser.RENAME) - self.state = 861 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==110: - self.state = 860 - self.match(SqlBaseParser.COLUMN) - - - self.state = 863 - localctx.source = self.subscriptSafe(0) - self.state = 864 - self.match(SqlBaseParser.TO) - self.state = 865 - localctx.target = self.subscriptSafe(0) - pass - - elif la_ == 9: - localctx = SqlBaseParser.AlterTableRerouteContext(self, localctx) - self.enterOuterAlt(localctx, 9) - self.state = 867 - self.match(SqlBaseParser.ALTER) - self.state = 869 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==96: - self.state = 868 - self.match(SqlBaseParser.BLOB) - - - self.state = 871 - self.match(SqlBaseParser.TABLE) - self.state = 872 - self.alterTableDefinition() - self.state = 873 - self.match(SqlBaseParser.REROUTE) - self.state = 874 - self.rerouteOption() - pass - - elif la_ == 10: - localctx = SqlBaseParser.AlterClusterRerouteRetryFailedContext(self, localctx) - self.enterOuterAlt(localctx, 10) - self.state = 876 - self.match(SqlBaseParser.ALTER) - self.state = 877 - self.match(SqlBaseParser.CLUSTER) - self.state = 878 - self.match(SqlBaseParser.REROUTE) - self.state = 879 - self.match(SqlBaseParser.RETRY) - self.state = 880 - self.match(SqlBaseParser.FAILED) - pass - - elif la_ == 11: - localctx = SqlBaseParser.AlterClusterSwapTableContext(self, localctx) - self.enterOuterAlt(localctx, 11) - self.state = 881 - self.match(SqlBaseParser.ALTER) - self.state = 882 - self.match(SqlBaseParser.CLUSTER) - self.state = 883 - self.match(SqlBaseParser.SWAP) - self.state = 884 - self.match(SqlBaseParser.TABLE) - self.state = 885 - localctx.source = self.qname() - self.state = 886 - self.match(SqlBaseParser.TO) - self.state = 887 - localctx.target = self.qname() - self.state = 889 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==92: - self.state = 888 - self.withProperties() - - - pass - - elif la_ == 12: - localctx = SqlBaseParser.AlterClusterDecommissionNodeContext(self, localctx) - self.enterOuterAlt(localctx, 12) - self.state = 891 - self.match(SqlBaseParser.ALTER) - self.state = 892 - self.match(SqlBaseParser.CLUSTER) - self.state = 893 - self.match(SqlBaseParser.DECOMMISSION) - self.state = 894 - localctx.node = self.expr() - pass - - elif la_ == 13: - localctx = SqlBaseParser.AlterClusterGCDanglingArtifactsContext(self, localctx) - self.enterOuterAlt(localctx, 13) - self.state = 895 - self.match(SqlBaseParser.ALTER) - self.state = 896 - self.match(SqlBaseParser.CLUSTER) - self.state = 897 - self.match(SqlBaseParser.GC) - self.state = 898 - self.match(SqlBaseParser.DANGLING) - self.state = 899 - self.match(SqlBaseParser.ARTIFACTS) - pass - - elif la_ == 14: - localctx = SqlBaseParser.AlterRoleContext(self, localctx) - self.enterOuterAlt(localctx, 14) - self.state = 900 - self.match(SqlBaseParser.ALTER) - self.state = 901 - _la = self._input.LA(1) - if not(_la==246 or _la==247): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 902 - localctx.name = self.ident() - self.state = 903 - self.match(SqlBaseParser.SET) - self.state = 904 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 905 - self.genericProperties() - self.state = 906 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - - elif la_ == 15: - localctx = SqlBaseParser.AlterPublicationContext(self, localctx) - self.enterOuterAlt(localctx, 15) - self.state = 908 - self.match(SqlBaseParser.ALTER) - self.state = 909 - self.match(SqlBaseParser.PUBLICATION) - self.state = 910 - localctx.name = self.ident() - - self.state = 911 - _la = self._input.LA(1) - if not(_la==109 or _la==197 or _la==216): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 912 - self.match(SqlBaseParser.TABLE) - self.state = 913 - self.qname() - self.state = 915 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==295: - self.state = 914 - self.match(SqlBaseParser.ASTERISK) - - - self.state = 924 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 917 - self.match(SqlBaseParser.COMMA) - self.state = 918 - self.qname() - self.state = 920 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==295: - self.state = 919 - self.match(SqlBaseParser.ASTERISK) - - - self.state = 926 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - elif la_ == 16: - localctx = SqlBaseParser.AlterSubscriptionContext(self, localctx) - self.enterOuterAlt(localctx, 16) - self.state = 927 - self.match(SqlBaseParser.ALTER) - self.state = 928 - self.match(SqlBaseParser.SUBSCRIPTION) - self.state = 929 - localctx.name = self.ident() - self.state = 930 - self.alterSubscriptionMode() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class QueryOptParensContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - - def query(self): - return self.getTypedRuleContext(SqlBaseParser.QueryContext,0) - - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - - def queryOptParens(self): - return self.getTypedRuleContext(SqlBaseParser.QueryOptParensContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_queryOptParens - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterQueryOptParens" ): - listener.enterQueryOptParens(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitQueryOptParens" ): - listener.exitQueryOptParens(self) - - - - - def queryOptParens(self): - - localctx = SqlBaseParser.QueryOptParensContext(self, self._ctx, self.state) - self.enterRule(localctx, 12, self.RULE_queryOptParens) - try: - self.state = 943 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,101,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 934 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 935 - self.query() - self.state = 936 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 938 - self.query() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 939 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 940 - self.queryOptParens() - self.state = 941 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class QueryContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def queryNoWith(self): - return self.getTypedRuleContext(SqlBaseParser.QueryNoWithContext,0) - - - def with_(self): - return self.getTypedRuleContext(SqlBaseParser.WithContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_query - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterQuery" ): - listener.enterQuery(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitQuery" ): - listener.exitQuery(self) - - - - - def query(self): - - localctx = SqlBaseParser.QueryContext(self, self._ctx, self.state) - self.enterRule(localctx, 14, self.RULE_query) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 946 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==92: - self.state = 945 - self.with_() - - - self.state = 948 - self.queryNoWith() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class QueryNoWithContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def queryTerm(self): - return self.getTypedRuleContext(SqlBaseParser.QueryTermContext,0) - - - def ORDER(self): - return self.getToken(SqlBaseParser.ORDER, 0) - - def BY(self): - return self.getToken(SqlBaseParser.BY, 0) - - def sortItem(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.SortItemContext) - else: - return self.getTypedRuleContext(SqlBaseParser.SortItemContext,i) - - - def limitClause(self): - return self.getTypedRuleContext(SqlBaseParser.LimitClauseContext,0) - - - def offsetClause(self): - return self.getTypedRuleContext(SqlBaseParser.OffsetClauseContext,0) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def getRuleIndex(self): - return SqlBaseParser.RULE_queryNoWith - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterQueryNoWith" ): - listener.enterQueryNoWith(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitQueryNoWith" ): - listener.exitQueryNoWith(self) - - - - - def queryNoWith(self): - - localctx = SqlBaseParser.QueryNoWithContext(self, self._ctx, self.state) - self.enterRule(localctx, 16, self.RULE_queryNoWith) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 950 - self.queryTerm(0) - self.state = 961 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==16: - self.state = 951 - self.match(SqlBaseParser.ORDER) - self.state = 952 - self.match(SqlBaseParser.BY) - self.state = 953 - self.sortItem() - self.state = 958 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 954 - self.match(SqlBaseParser.COMMA) - self.state = 955 - self.sortItem() - self.state = 960 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - self.state = 975 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,109,self._ctx) - if la_ == 1: - self.state = 964 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==18 or _la==35: - self.state = 963 - self.limitClause() - - - self.state = 967 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==19: - self.state = 966 - self.offsetClause() - - - pass - - elif la_ == 2: - self.state = 970 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==19: - self.state = 969 - self.offsetClause() - - - self.state = 973 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==18 or _la==35: - self.state = 972 - self.limitClause() - - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class LimitClauseContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.limit = None # ParameterOrIntegerContext - - def LIMIT(self): - return self.getToken(SqlBaseParser.LIMIT, 0) - - def ALL(self): - return self.getToken(SqlBaseParser.ALL, 0) - - def parameterOrInteger(self): - return self.getTypedRuleContext(SqlBaseParser.ParameterOrIntegerContext,0) - - - def FETCH(self): - return self.getToken(SqlBaseParser.FETCH, 0) - - def ONLY(self): - return self.getToken(SqlBaseParser.ONLY, 0) - - def FIRST(self): - return self.getToken(SqlBaseParser.FIRST, 0) - - def NEXT(self): - return self.getToken(SqlBaseParser.NEXT, 0) - - def ROW(self): - return self.getToken(SqlBaseParser.ROW, 0) - - def ROWS(self): - return self.getToken(SqlBaseParser.ROWS, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_limitClause - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLimitClause" ): - listener.enterLimitClause(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLimitClause" ): - listener.exitLimitClause(self) - - - - - def limitClause(self): - - localctx = SqlBaseParser.LimitClauseContext(self, self._ctx, self.state) - self.enterRule(localctx, 18, self.RULE_limitClause) - self._la = 0 # Token type - try: - self.state = 988 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [18]: - self.enterOuterAlt(localctx, 1) - self.state = 977 - self.match(SqlBaseParser.LIMIT) - self.state = 980 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [29, 30, 31, 70, 183, 184, 233, 307, 309, 312, 313, 317, 318, 319, 320, 321, 326]: - self.state = 978 - localctx.limit = self.parameterOrInteger() - pass - elif token in [7]: - self.state = 979 - self.match(SqlBaseParser.ALL) - pass - else: - raise NoViableAltException(self) - - pass - elif token in [35]: - self.enterOuterAlt(localctx, 2) - self.state = 982 - self.match(SqlBaseParser.FETCH) - self.state = 983 - _la = self._input.LA(1) - if not(_la==36 or _la==38): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - self.state = 984 - localctx.limit = self.parameterOrInteger() - self.state = 985 - _la = self._input.LA(1) - if not(_la==86 or _la==91): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 986 - self.match(SqlBaseParser.ONLY) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class OffsetClauseContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.offset = None # ParameterOrIntegerContext - - def OFFSET(self): - return self.getToken(SqlBaseParser.OFFSET, 0) - - def parameterOrInteger(self): - return self.getTypedRuleContext(SqlBaseParser.ParameterOrIntegerContext,0) - - - def ROW(self): - return self.getToken(SqlBaseParser.ROW, 0) - - def ROWS(self): - return self.getToken(SqlBaseParser.ROWS, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_offsetClause - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterOffsetClause" ): - listener.enterOffsetClause(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitOffsetClause" ): - listener.exitOffsetClause(self) - - - - - def offsetClause(self): - - localctx = SqlBaseParser.OffsetClauseContext(self, self._ctx, self.state) - self.enterRule(localctx, 20, self.RULE_offsetClause) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 990 - self.match(SqlBaseParser.OFFSET) - self.state = 991 - localctx.offset = self.parameterOrInteger() - self.state = 993 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==86 or _la==91: - self.state = 992 - _la = self._input.LA(1) - if not(_la==86 or _la==91): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class QueryTermContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return SqlBaseParser.RULE_queryTerm - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - class QueryTermDefaultContext(QueryTermContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.QueryTermContext - super().__init__(parser) - self.copyFrom(ctx) - - def querySpec(self): - return self.getTypedRuleContext(SqlBaseParser.QuerySpecContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterQueryTermDefault" ): - listener.enterQueryTermDefault(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitQueryTermDefault" ): - listener.exitQueryTermDefault(self) - - - class SetOperationContext(QueryTermContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.QueryTermContext - super().__init__(parser) - self.left = None # QueryTermContext - self.first = None # QuerySpecContext - self.operator = None # Token - self.second = None # QuerySpecContext - self.right = None # QueryTermContext - self.copyFrom(ctx) - - def querySpec(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.QuerySpecContext) - else: - return self.getTypedRuleContext(SqlBaseParser.QuerySpecContext,i) - - def INTERSECT(self): - return self.getToken(SqlBaseParser.INTERSECT, 0) - def EXCEPT(self): - return self.getToken(SqlBaseParser.EXCEPT, 0) - def queryTerm(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.QueryTermContext) - else: - return self.getTypedRuleContext(SqlBaseParser.QueryTermContext,i) - - def UNION(self): - return self.getToken(SqlBaseParser.UNION, 0) - def setQuant(self): - return self.getTypedRuleContext(SqlBaseParser.SetQuantContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSetOperation" ): - listener.enterSetOperation(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSetOperation" ): - listener.exitSetOperation(self) - - - - def queryTerm(self, _p:int=0): - _parentctx = self._ctx - _parentState = self.state - localctx = SqlBaseParser.QueryTermContext(self, self._ctx, _parentState) - _prevctx = localctx - _startState = 22 - self.enterRecursionRule(localctx, 22, self.RULE_queryTerm, _p) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1001 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,113,self._ctx) - if la_ == 1: - localctx = SqlBaseParser.QueryTermDefaultContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - - self.state = 996 - self.querySpec() - pass - - elif la_ == 2: - localctx = SqlBaseParser.SetOperationContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 997 - localctx.first = self.querySpec() - self.state = 998 - localctx.operator = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==200 or _la==201): - localctx.operator = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 999 - localctx.second = self.querySpec() - pass - - - self._ctx.stop = self._input.LT(-1) - self.state = 1011 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,115,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - if self._parseListeners is not None: - self.triggerExitRuleEvent() - _prevctx = localctx - localctx = SqlBaseParser.SetOperationContext(self, SqlBaseParser.QueryTermContext(self, _parentctx, _parentState)) - localctx.left = _prevctx - self.pushNewRecursionContext(localctx, _startState, self.RULE_queryTerm) - self.state = 1003 - if not self.precpred(self._ctx, 1): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 1)") - self.state = 1004 - localctx.operator = self.match(SqlBaseParser.UNION) - self.state = 1006 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==7 or _la==12: - self.state = 1005 - self.setQuant() - - - self.state = 1008 - localctx.right = self.queryTerm(2) - self.state = 1013 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,115,self._ctx) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.unrollRecursionContexts(_parentctx) - return localctx - - - class SetQuantContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DISTINCT(self): - return self.getToken(SqlBaseParser.DISTINCT, 0) - - def ALL(self): - return self.getToken(SqlBaseParser.ALL, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_setQuant - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSetQuant" ): - listener.enterSetQuant(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSetQuant" ): - listener.exitSetQuant(self) - - - - - def setQuant(self): - - localctx = SqlBaseParser.SetQuantContext(self, self._ctx, self.state) - self.enterRule(localctx, 24, self.RULE_setQuant) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1014 - _la = self._input.LA(1) - if not(_la==7 or _la==12): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SortItemContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.ordering = None # Token - self.nullOrdering = None # Token - - def expr(self): - return self.getTypedRuleContext(SqlBaseParser.ExprContext,0) - - - def NULLS(self): - return self.getToken(SqlBaseParser.NULLS, 0) - - def ASC(self): - return self.getToken(SqlBaseParser.ASC, 0) - - def DESC(self): - return self.getToken(SqlBaseParser.DESC, 0) - - def FIRST(self): - return self.getToken(SqlBaseParser.FIRST, 0) - - def LAST(self): - return self.getToken(SqlBaseParser.LAST, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_sortItem - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSortItem" ): - listener.enterSortItem(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSortItem" ): - listener.exitSortItem(self) - - - - - def sortItem(self): - - localctx = SqlBaseParser.SortItemContext(self, self._ctx, self.state) - self.enterRule(localctx, 26, self.RULE_sortItem) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1016 - self.expr() - self.state = 1018 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==40 or _la==41: - self.state = 1017 - localctx.ordering = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==40 or _la==41): - localctx.ordering = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 1022 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==34: - self.state = 1020 - self.match(SqlBaseParser.NULLS) - self.state = 1021 - localctx.nullOrdering = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==36 or _la==37): - localctx.nullOrdering = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class QuerySpecContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return SqlBaseParser.RULE_querySpec - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class DefaultQuerySpecContext(QuerySpecContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.QuerySpecContext - super().__init__(parser) - self.having = None # BooleanExpressionContext - self._namedWindow = None # NamedWindowContext - self.windows = list() # of NamedWindowContexts - self.copyFrom(ctx) - - def SELECT(self): - return self.getToken(SqlBaseParser.SELECT, 0) - def selectItem(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.SelectItemContext) - else: - return self.getTypedRuleContext(SqlBaseParser.SelectItemContext,i) - - def setQuant(self): - return self.getTypedRuleContext(SqlBaseParser.SetQuantContext,0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - def FROM(self): - return self.getToken(SqlBaseParser.FROM, 0) - def relation(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.RelationContext) - else: - return self.getTypedRuleContext(SqlBaseParser.RelationContext,i) - - def where(self): - return self.getTypedRuleContext(SqlBaseParser.WhereContext,0) - - def GROUP(self): - return self.getToken(SqlBaseParser.GROUP, 0) - def BY(self): - return self.getToken(SqlBaseParser.BY, 0) - def expr(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ExprContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ExprContext,i) - - def HAVING(self): - return self.getToken(SqlBaseParser.HAVING, 0) - def WINDOW(self): - return self.getToken(SqlBaseParser.WINDOW, 0) - def booleanExpression(self): - return self.getTypedRuleContext(SqlBaseParser.BooleanExpressionContext,0) - - def namedWindow(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.NamedWindowContext) - else: - return self.getTypedRuleContext(SqlBaseParser.NamedWindowContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDefaultQuerySpec" ): - listener.enterDefaultQuerySpec(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDefaultQuerySpec" ): - listener.exitDefaultQuerySpec(self) - - - class ValuesRelationContext(QuerySpecContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.QuerySpecContext - super().__init__(parser) - self.copyFrom(ctx) - - def VALUES(self): - return self.getToken(SqlBaseParser.VALUES, 0) - def values(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ValuesContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ValuesContext,i) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterValuesRelation" ): - listener.enterValuesRelation(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitValuesRelation" ): - listener.exitValuesRelation(self) - - - - def querySpec(self): - - localctx = SqlBaseParser.QuerySpecContext(self, self._ctx, self.state) - self.enterRule(localctx, 28, self.RULE_querySpec) - self._la = 0 # Token type - try: - self.state = 1086 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [2]: - localctx = SqlBaseParser.DefaultQuerySpecContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1024 - self.match(SqlBaseParser.SELECT) - self.state = 1026 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==7 or _la==12: - self.state = 1025 - self.setQuant() - - - self.state = 1028 - self.selectItem() - self.state = 1033 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,119,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 1029 - self.match(SqlBaseParser.COMMA) - self.state = 1030 - self.selectItem() - self.state = 1035 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,119,self._ctx) - - self.state = 1045 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,121,self._ctx) - if la_ == 1: - self.state = 1036 - self.match(SqlBaseParser.FROM) - self.state = 1037 - self.relation(0) - self.state = 1042 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,120,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 1038 - self.match(SqlBaseParser.COMMA) - self.state = 1039 - self.relation(0) - self.state = 1044 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,120,self._ctx) - - - - self.state = 1048 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,122,self._ctx) - if la_ == 1: - self.state = 1047 - self.where() - - - self.state = 1060 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,124,self._ctx) - if la_ == 1: - self.state = 1050 - self.match(SqlBaseParser.GROUP) - self.state = 1051 - self.match(SqlBaseParser.BY) - self.state = 1052 - self.expr() - self.state = 1057 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,123,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 1053 - self.match(SqlBaseParser.COMMA) - self.state = 1054 - self.expr() - self.state = 1059 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,123,self._ctx) - - - - self.state = 1064 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,125,self._ctx) - if la_ == 1: - self.state = 1062 - self.match(SqlBaseParser.HAVING) - self.state = 1063 - localctx.having = self.booleanExpression(0) - - - self.state = 1075 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,127,self._ctx) - if la_ == 1: - self.state = 1066 - self.match(SqlBaseParser.WINDOW) - self.state = 1067 - localctx._namedWindow = self.namedWindow() - localctx.windows.append(localctx._namedWindow) - self.state = 1072 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,126,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 1068 - self.match(SqlBaseParser.COMMA) - self.state = 1069 - localctx._namedWindow = self.namedWindow() - localctx.windows.append(localctx._namedWindow) - self.state = 1074 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,126,self._ctx) - - - - pass - elif token in [208]: - localctx = SqlBaseParser.ValuesRelationContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1077 - self.match(SqlBaseParser.VALUES) - self.state = 1078 - self.values() - self.state = 1083 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,128,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 1079 - self.match(SqlBaseParser.COMMA) - self.state = 1080 - self.values() - self.state = 1085 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,128,self._ctx) - - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SelectItemContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return SqlBaseParser.RULE_selectItem - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class SelectAllContext(SelectItemContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.SelectItemContext - super().__init__(parser) - self.copyFrom(ctx) - - def qname(self): - return self.getTypedRuleContext(SqlBaseParser.QnameContext,0) - - def DOT(self): - return self.getToken(SqlBaseParser.DOT, 0) - def ASTERISK(self): - return self.getToken(SqlBaseParser.ASTERISK, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSelectAll" ): - listener.enterSelectAll(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSelectAll" ): - listener.exitSelectAll(self) - - - class SelectSingleContext(SelectItemContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.SelectItemContext - super().__init__(parser) - self.copyFrom(ctx) - - def expr(self): - return self.getTypedRuleContext(SqlBaseParser.ExprContext,0) - - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - def AS(self): - return self.getToken(SqlBaseParser.AS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSelectSingle" ): - listener.enterSelectSingle(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSelectSingle" ): - listener.exitSelectSingle(self) - - - - def selectItem(self): - - localctx = SqlBaseParser.SelectItemContext(self, self._ctx, self.state) - self.enterRule(localctx, 30, self.RULE_selectItem) - self._la = 0 # Token type - try: - self.state = 1100 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,132,self._ctx) - if la_ == 1: - localctx = SqlBaseParser.SelectSingleContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1088 - self.expr() - self.state = 1093 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,131,self._ctx) - if la_ == 1: - self.state = 1090 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==5: - self.state = 1089 - self.match(SqlBaseParser.AS) - - - self.state = 1092 - self.ident() - - - pass - - elif la_ == 2: - localctx = SqlBaseParser.SelectAllContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1095 - self.qname() - self.state = 1096 - self.match(SqlBaseParser.DOT) - self.state = 1097 - self.match(SqlBaseParser.ASTERISK) - pass - - elif la_ == 3: - localctx = SqlBaseParser.SelectAllContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 1099 - self.match(SqlBaseParser.ASTERISK) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class WhereContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.condition = None # BooleanExpressionContext - - def WHERE(self): - return self.getToken(SqlBaseParser.WHERE, 0) - - def booleanExpression(self): - return self.getTypedRuleContext(SqlBaseParser.BooleanExpressionContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_where - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterWhere" ): - listener.enterWhere(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitWhere" ): - listener.exitWhere(self) - - - - - def where(self): - - localctx = SqlBaseParser.WhereContext(self, self._ctx, self.state) - self.enterRule(localctx, 32, self.RULE_where) - try: - self.enterOuterAlt(localctx, 1) - self.state = 1102 - self.match(SqlBaseParser.WHERE) - self.state = 1103 - localctx.condition = self.booleanExpression(0) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ReturningContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def RETURNING(self): - return self.getToken(SqlBaseParser.RETURNING, 0) - - def selectItem(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.SelectItemContext) - else: - return self.getTypedRuleContext(SqlBaseParser.SelectItemContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def getRuleIndex(self): - return SqlBaseParser.RULE_returning - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterReturning" ): - listener.enterReturning(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitReturning" ): - listener.exitReturning(self) - - - - - def returning(self): - - localctx = SqlBaseParser.ReturningContext(self, self._ctx, self.state) - self.enterRule(localctx, 34, self.RULE_returning) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1105 - self.match(SqlBaseParser.RETURNING) - self.state = 1106 - self.selectItem() - self.state = 1111 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 1107 - self.match(SqlBaseParser.COMMA) - self.state = 1108 - self.selectItem() - self.state = 1113 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class FilterContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def FILTER(self): - return self.getToken(SqlBaseParser.FILTER, 0) - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - - def where(self): - return self.getTypedRuleContext(SqlBaseParser.WhereContext,0) - - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_filter - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFilter" ): - listener.enterFilter(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFilter" ): - listener.exitFilter(self) - - - - - def filter_(self): - - localctx = SqlBaseParser.FilterContext(self, self._ctx, self.state) - self.enterRule(localctx, 36, self.RULE_filter) - try: - self.enterOuterAlt(localctx, 1) - self.state = 1114 - self.match(SqlBaseParser.FILTER) - self.state = 1115 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1116 - self.where() - self.state = 1117 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class RelationContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return SqlBaseParser.RULE_relation - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - class RelationDefaultContext(RelationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.RelationContext - super().__init__(parser) - self.copyFrom(ctx) - - def aliasedRelation(self): - return self.getTypedRuleContext(SqlBaseParser.AliasedRelationContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRelationDefault" ): - listener.enterRelationDefault(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRelationDefault" ): - listener.exitRelationDefault(self) - - - class JoinRelationContext(RelationContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.RelationContext - super().__init__(parser) - self.left = None # RelationContext - self.right = None # AliasedRelationContext - self.rightRelation = None # RelationContext - self.copyFrom(ctx) - - def relation(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.RelationContext) - else: - return self.getTypedRuleContext(SqlBaseParser.RelationContext,i) - - def CROSS(self): - return self.getToken(SqlBaseParser.CROSS, 0) - def JOIN(self): - return self.getToken(SqlBaseParser.JOIN, 0) - def joinType(self): - return self.getTypedRuleContext(SqlBaseParser.JoinTypeContext,0) - - def joinCriteria(self): - return self.getTypedRuleContext(SqlBaseParser.JoinCriteriaContext,0) - - def NATURAL(self): - return self.getToken(SqlBaseParser.NATURAL, 0) - def aliasedRelation(self): - return self.getTypedRuleContext(SqlBaseParser.AliasedRelationContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterJoinRelation" ): - listener.enterJoinRelation(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitJoinRelation" ): - listener.exitJoinRelation(self) - - - - def relation(self, _p:int=0): - _parentctx = self._ctx - _parentState = self.state - localctx = SqlBaseParser.RelationContext(self, self._ctx, _parentState) - _prevctx = localctx - _startState = 38 - self.enterRecursionRule(localctx, 38, self.RULE_relation, _p) - try: - self.enterOuterAlt(localctx, 1) - localctx = SqlBaseParser.RelationDefaultContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - - self.state = 1120 - self.aliasedRelation() - self._ctx.stop = self._input.LT(-1) - self.state = 1140 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,135,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - if self._parseListeners is not None: - self.triggerExitRuleEvent() - _prevctx = localctx - localctx = SqlBaseParser.JoinRelationContext(self, SqlBaseParser.RelationContext(self, _parentctx, _parentState)) - localctx.left = _prevctx - self.pushNewRecursionContext(localctx, _startState, self.RULE_relation) - self.state = 1122 - if not self.precpred(self._ctx, 2): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 2)") - self.state = 1136 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [72]: - self.state = 1123 - self.match(SqlBaseParser.CROSS) - self.state = 1124 - self.match(SqlBaseParser.JOIN) - self.state = 1125 - localctx.right = self.aliasedRelation() - pass - elif token in [71, 74, 75, 76, 77]: - self.state = 1126 - self.joinType() - self.state = 1127 - self.match(SqlBaseParser.JOIN) - self.state = 1128 - localctx.rightRelation = self.relation(0) - self.state = 1129 - self.joinCriteria() - pass - elif token in [78]: - self.state = 1131 - self.match(SqlBaseParser.NATURAL) - self.state = 1132 - self.joinType() - self.state = 1133 - self.match(SqlBaseParser.JOIN) - self.state = 1134 - localctx.right = self.aliasedRelation() - pass - else: - raise NoViableAltException(self) - - self.state = 1142 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,135,self._ctx) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.unrollRecursionContexts(_parentctx) - return localctx - - - class JoinTypeContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def INNER(self): - return self.getToken(SqlBaseParser.INNER, 0) - - def LEFT(self): - return self.getToken(SqlBaseParser.LEFT, 0) - - def OUTER(self): - return self.getToken(SqlBaseParser.OUTER, 0) - - def RIGHT(self): - return self.getToken(SqlBaseParser.RIGHT, 0) - - def FULL(self): - return self.getToken(SqlBaseParser.FULL, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_joinType - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterJoinType" ): - listener.enterJoinType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitJoinType" ): - listener.exitJoinType(self) - - - - - def joinType(self): - - localctx = SqlBaseParser.JoinTypeContext(self, self._ctx, self.state) - self.enterRule(localctx, 40, self.RULE_joinType) - self._la = 0 # Token type - try: - self.state = 1158 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [71, 74]: - self.enterOuterAlt(localctx, 1) - self.state = 1144 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==74: - self.state = 1143 - self.match(SqlBaseParser.INNER) - - - pass - elif token in [75]: - self.enterOuterAlt(localctx, 2) - self.state = 1146 - self.match(SqlBaseParser.LEFT) - self.state = 1148 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==73: - self.state = 1147 - self.match(SqlBaseParser.OUTER) - - - pass - elif token in [76]: - self.enterOuterAlt(localctx, 3) - self.state = 1150 - self.match(SqlBaseParser.RIGHT) - self.state = 1152 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==73: - self.state = 1151 - self.match(SqlBaseParser.OUTER) - - - pass - elif token in [77]: - self.enterOuterAlt(localctx, 4) - self.state = 1154 - self.match(SqlBaseParser.FULL) - self.state = 1156 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==73: - self.state = 1155 - self.match(SqlBaseParser.OUTER) - - - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class JoinCriteriaContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ON(self): - return self.getToken(SqlBaseParser.ON, 0) - - def booleanExpression(self): - return self.getTypedRuleContext(SqlBaseParser.BooleanExpressionContext,0) - - - def USING(self): - return self.getToken(SqlBaseParser.USING, 0) - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - - def ident(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.IdentContext) - else: - return self.getTypedRuleContext(SqlBaseParser.IdentContext,i) - - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def getRuleIndex(self): - return SqlBaseParser.RULE_joinCriteria - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterJoinCriteria" ): - listener.enterJoinCriteria(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitJoinCriteria" ): - listener.exitJoinCriteria(self) - - - - - def joinCriteria(self): - - localctx = SqlBaseParser.JoinCriteriaContext(self, self._ctx, self.state) - self.enterRule(localctx, 42, self.RULE_joinCriteria) - self._la = 0 # Token type - try: - self.state = 1174 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [80]: - self.enterOuterAlt(localctx, 1) - self.state = 1160 - self.match(SqlBaseParser.ON) - self.state = 1161 - self.booleanExpression(0) - pass - elif token in [79]: - self.enterOuterAlt(localctx, 2) - self.state = 1162 - self.match(SqlBaseParser.USING) - self.state = 1163 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1164 - self.ident() - self.state = 1169 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 1165 - self.match(SqlBaseParser.COMMA) - self.state = 1166 - self.ident() - self.state = 1171 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1172 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class AliasedRelationContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def relationPrimary(self): - return self.getTypedRuleContext(SqlBaseParser.RelationPrimaryContext,0) - - - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def AS(self): - return self.getToken(SqlBaseParser.AS, 0) - - def aliasedColumns(self): - return self.getTypedRuleContext(SqlBaseParser.AliasedColumnsContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_aliasedRelation - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAliasedRelation" ): - listener.enterAliasedRelation(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAliasedRelation" ): - listener.exitAliasedRelation(self) - - - - - def aliasedRelation(self): - - localctx = SqlBaseParser.AliasedRelationContext(self, self._ctx, self.state) - self.enterRule(localctx, 44, self.RULE_aliasedRelation) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1176 - self.relationPrimary() - self.state = 1184 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,145,self._ctx) - if la_ == 1: - self.state = 1178 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==5: - self.state = 1177 - self.match(SqlBaseParser.AS) - - - self.state = 1180 - self.ident() - self.state = 1182 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,144,self._ctx) - if la_ == 1: - self.state = 1181 - self.aliasedColumns() - - - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class RelationPrimaryContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return SqlBaseParser.RULE_relationPrimary - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class SubqueryRelationContext(RelationPrimaryContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.RelationPrimaryContext - super().__init__(parser) - self.copyFrom(ctx) - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def query(self): - return self.getTypedRuleContext(SqlBaseParser.QueryContext,0) - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSubqueryRelation" ): - listener.enterSubqueryRelation(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSubqueryRelation" ): - listener.exitSubqueryRelation(self) - - - class ParenthesizedRelationContext(RelationPrimaryContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.RelationPrimaryContext - super().__init__(parser) - self.copyFrom(ctx) - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def relation(self): - return self.getTypedRuleContext(SqlBaseParser.RelationContext,0) - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterParenthesizedRelation" ): - listener.enterParenthesizedRelation(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitParenthesizedRelation" ): - listener.exitParenthesizedRelation(self) - - - class TableRelationContext(RelationPrimaryContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.RelationPrimaryContext - super().__init__(parser) - self.copyFrom(ctx) - - def table(self): - return self.getTypedRuleContext(SqlBaseParser.TableContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableRelation" ): - listener.enterTableRelation(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableRelation" ): - listener.exitTableRelation(self) - - - - def relationPrimary(self): - - localctx = SqlBaseParser.RelationPrimaryContext(self, self._ctx, self.state) - self.enterRule(localctx, 46, self.RULE_relationPrimary) - try: - self.state = 1195 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,146,self._ctx) - if la_ == 1: - localctx = SqlBaseParser.TableRelationContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1186 - self.table() - pass - - elif la_ == 2: - localctx = SqlBaseParser.SubqueryRelationContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1187 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1188 - self.query() - self.state = 1189 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - - elif la_ == 3: - localctx = SqlBaseParser.ParenthesizedRelationContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 1191 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1192 - self.relation(0) - self.state = 1193 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class TableWithPartitionContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def qname(self): - return self.getTypedRuleContext(SqlBaseParser.QnameContext,0) - - - def PARTITION(self): - return self.getToken(SqlBaseParser.PARTITION, 0) - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - - def assignment(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.AssignmentContext) - else: - return self.getTypedRuleContext(SqlBaseParser.AssignmentContext,i) - - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def getRuleIndex(self): - return SqlBaseParser.RULE_tableWithPartition - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableWithPartition" ): - listener.enterTableWithPartition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableWithPartition" ): - listener.exitTableWithPartition(self) - - - - - def tableWithPartition(self): - - localctx = SqlBaseParser.TableWithPartitionContext(self, self._ctx, self.state) - self.enterRule(localctx, 48, self.RULE_tableWithPartition) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1197 - self.qname() - self.state = 1210 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==83: - self.state = 1198 - self.match(SqlBaseParser.PARTITION) - self.state = 1199 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1200 - self.assignment() - self.state = 1205 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 1201 - self.match(SqlBaseParser.COMMA) - self.state = 1202 - self.assignment() - self.state = 1207 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1208 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class TableContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return SqlBaseParser.RULE_table - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class TableFunctionContext(TableContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.TableContext - super().__init__(parser) - self.copyFrom(ctx) - - def qname(self): - return self.getTypedRuleContext(SqlBaseParser.QnameContext,0) - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - def valueExpression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ValueExpressionContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ValueExpressionContext,i) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableFunction" ): - listener.enterTableFunction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableFunction" ): - listener.exitTableFunction(self) - - - class TableNameContext(TableContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.TableContext - super().__init__(parser) - self.copyFrom(ctx) - - def qname(self): - return self.getTypedRuleContext(SqlBaseParser.QnameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableName" ): - listener.enterTableName(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableName" ): - listener.exitTableName(self) - - - - def table(self): - - localctx = SqlBaseParser.TableContext(self, self._ctx, self.state) - self.enterRule(localctx, 50, self.RULE_table) - self._la = 0 # Token type - try: - self.state = 1227 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,151,self._ctx) - if la_ == 1: - localctx = SqlBaseParser.TableNameContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1212 - self.qname() - pass - - elif la_ == 2: - localctx = SqlBaseParser.TableFunctionContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1213 - self.qname() - self.state = 1214 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1216 - self._errHandler.sync(self) - _la = self._input.LA(1) - if (((_la) & ~0x3f) == 0 and ((1 << _la) & -144809503226798) != 0) or ((((_la - 64)) & ~0x3f) == 0 and ((1 << (_la - 64)) & -109963250886559) != 0) or ((((_la - 128)) & ~0x3f) == 0 and ((1 << (_la - 128)) & -176289080147969) != 0) or ((((_la - 192)) & ~0x3f) == 0 and ((1 << (_la - 192)) & -508343843490816929) != 0) or ((((_la - 256)) & ~0x3f) == 0 and ((1 << (_la - 256)) & -2041819068675129345) != 0) or ((((_la - 320)) & ~0x3f) == 0 and ((1 << (_la - 320)) & 127) != 0): - self.state = 1215 - self.valueExpression(0) - - - self.state = 1222 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 1218 - self.match(SqlBaseParser.COMMA) - self.state = 1219 - self.valueExpression(0) - self.state = 1224 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1225 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class AliasedColumnsContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - - def ident(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.IdentContext) - else: - return self.getTypedRuleContext(SqlBaseParser.IdentContext,i) - - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def getRuleIndex(self): - return SqlBaseParser.RULE_aliasedColumns - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAliasedColumns" ): - listener.enterAliasedColumns(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAliasedColumns" ): - listener.exitAliasedColumns(self) - - - - - def aliasedColumns(self): - - localctx = SqlBaseParser.AliasedColumnsContext(self, self._ctx, self.state) - self.enterRule(localctx, 52, self.RULE_aliasedColumns) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1229 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1230 - self.ident() - self.state = 1235 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 1231 - self.match(SqlBaseParser.COMMA) - self.state = 1232 - self.ident() - self.state = 1237 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1238 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class WithContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def WITH(self): - return self.getToken(SqlBaseParser.WITH, 0) - - def namedQuery(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.NamedQueryContext) - else: - return self.getTypedRuleContext(SqlBaseParser.NamedQueryContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def getRuleIndex(self): - return SqlBaseParser.RULE_with - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterWith" ): - listener.enterWith(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitWith" ): - listener.exitWith(self) - - - - - def with_(self): - - localctx = SqlBaseParser.WithContext(self, self._ctx, self.state) - self.enterRule(localctx, 54, self.RULE_with) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1240 - self.match(SqlBaseParser.WITH) - self.state = 1241 - self.namedQuery() - self.state = 1246 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 1242 - self.match(SqlBaseParser.COMMA) - self.state = 1243 - self.namedQuery() - self.state = 1248 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class NamedQueryContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.name = None # IdentContext - - def AS(self): - return self.getToken(SqlBaseParser.AS, 0) - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - - def query(self): - return self.getTypedRuleContext(SqlBaseParser.QueryContext,0) - - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def aliasedColumns(self): - return self.getTypedRuleContext(SqlBaseParser.AliasedColumnsContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_namedQuery - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterNamedQuery" ): - listener.enterNamedQuery(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitNamedQuery" ): - listener.exitNamedQuery(self) - - - - - def namedQuery(self): - - localctx = SqlBaseParser.NamedQueryContext(self, self._ctx, self.state) - self.enterRule(localctx, 56, self.RULE_namedQuery) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1249 - localctx.name = self.ident() - self.state = 1251 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==305: - self.state = 1250 - self.aliasedColumns() - - - self.state = 1253 - self.match(SqlBaseParser.AS) - self.state = 1254 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1255 - self.query() - self.state = 1256 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ExprContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def booleanExpression(self): - return self.getTypedRuleContext(SqlBaseParser.BooleanExpressionContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_expr - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterExpr" ): - listener.enterExpr(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitExpr" ): - listener.exitExpr(self) - - - - - def expr(self): - - localctx = SqlBaseParser.ExprContext(self, self._ctx, self.state) - self.enterRule(localctx, 58, self.RULE_expr) - try: - self.enterOuterAlt(localctx, 1) - self.state = 1258 - self.booleanExpression(0) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class BooleanExpressionContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return SqlBaseParser.RULE_booleanExpression - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - class LogicalNotContext(BooleanExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.BooleanExpressionContext - super().__init__(parser) - self.copyFrom(ctx) - - def NOT(self): - return self.getToken(SqlBaseParser.NOT, 0) - def booleanExpression(self): - return self.getTypedRuleContext(SqlBaseParser.BooleanExpressionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLogicalNot" ): - listener.enterLogicalNot(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLogicalNot" ): - listener.exitLogicalNot(self) - - - class BooleanDefaultContext(BooleanExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.BooleanExpressionContext - super().__init__(parser) - self.copyFrom(ctx) - - def predicated(self): - return self.getTypedRuleContext(SqlBaseParser.PredicatedContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBooleanDefault" ): - listener.enterBooleanDefault(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBooleanDefault" ): - listener.exitBooleanDefault(self) - - - class MatchContext(BooleanExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.BooleanExpressionContext - super().__init__(parser) - self.term = None # PrimaryExpressionContext - self.matchType = None # IdentContext - self.copyFrom(ctx) - - def MATCH(self): - return self.getToken(SqlBaseParser.MATCH, 0) - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def matchPredicateIdents(self): - return self.getTypedRuleContext(SqlBaseParser.MatchPredicateIdentsContext,0) - - def COMMA(self): - return self.getToken(SqlBaseParser.COMMA, 0) - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - def primaryExpression(self): - return self.getTypedRuleContext(SqlBaseParser.PrimaryExpressionContext,0) - - def USING(self): - return self.getToken(SqlBaseParser.USING, 0) - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - def withProperties(self): - return self.getTypedRuleContext(SqlBaseParser.WithPropertiesContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMatch" ): - listener.enterMatch(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMatch" ): - listener.exitMatch(self) - - - class LogicalBinaryContext(BooleanExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.BooleanExpressionContext - super().__init__(parser) - self.left = None # BooleanExpressionContext - self.operator = None # Token - self.right = None # BooleanExpressionContext - self.copyFrom(ctx) - - def booleanExpression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.BooleanExpressionContext) - else: - return self.getTypedRuleContext(SqlBaseParser.BooleanExpressionContext,i) - - def AND(self): - return self.getToken(SqlBaseParser.AND, 0) - def OR(self): - return self.getToken(SqlBaseParser.OR, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLogicalBinary" ): - listener.enterLogicalBinary(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLogicalBinary" ): - listener.exitLogicalBinary(self) - - - - def booleanExpression(self, _p:int=0): - _parentctx = self._ctx - _parentState = self.state - localctx = SqlBaseParser.BooleanExpressionContext(self, self._ctx, _parentState) - _prevctx = localctx - _startState = 60 - self.enterRecursionRule(localctx, 60, self.RULE_booleanExpression, _p) - try: - self.enterOuterAlt(localctx, 1) - self.state = 1277 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [1, 4, 6, 10, 24, 27, 29, 30, 31, 32, 33, 35, 38, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 69, 70, 75, 76, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 93, 96, 98, 99, 100, 101, 102, 103, 104, 105, 107, 108, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 161, 163, 165, 167, 168, 169, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 202, 203, 204, 208, 211, 212, 213, 214, 215, 219, 220, 221, 223, 224, 225, 226, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 244, 245, 246, 247, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 293, 294, 305, 307, 309, 311, 312, 313, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326]: - localctx = SqlBaseParser.BooleanDefaultContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - - self.state = 1261 - self.predicated() - pass - elif token in [23]: - localctx = SqlBaseParser.LogicalNotContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 1262 - self.match(SqlBaseParser.NOT) - self.state = 1263 - self.booleanExpression(4) - pass - elif token in [243]: - localctx = SqlBaseParser.MatchContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 1264 - self.match(SqlBaseParser.MATCH) - self.state = 1265 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1266 - self.matchPredicateIdents() - self.state = 1267 - self.match(SqlBaseParser.COMMA) - self.state = 1268 - localctx.term = self.primaryExpression(0) - self.state = 1269 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - self.state = 1275 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,156,self._ctx) - if la_ == 1: - self.state = 1270 - self.match(SqlBaseParser.USING) - self.state = 1271 - localctx.matchType = self.ident() - self.state = 1273 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,155,self._ctx) - if la_ == 1: - self.state = 1272 - self.withProperties() - - - - - pass - else: - raise NoViableAltException(self) - - self._ctx.stop = self._input.LT(-1) - self.state = 1287 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,159,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - if self._parseListeners is not None: - self.triggerExitRuleEvent() - _prevctx = localctx - self.state = 1285 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,158,self._ctx) - if la_ == 1: - localctx = SqlBaseParser.LogicalBinaryContext(self, SqlBaseParser.BooleanExpressionContext(self, _parentctx, _parentState)) - localctx.left = _prevctx - self.pushNewRecursionContext(localctx, _startState, self.RULE_booleanExpression) - self.state = 1279 - if not self.precpred(self._ctx, 3): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 3)") - self.state = 1280 - localctx.operator = self.match(SqlBaseParser.AND) - self.state = 1281 - localctx.right = self.booleanExpression(4) - pass - - elif la_ == 2: - localctx = SqlBaseParser.LogicalBinaryContext(self, SqlBaseParser.BooleanExpressionContext(self, _parentctx, _parentState)) - localctx.left = _prevctx - self.pushNewRecursionContext(localctx, _startState, self.RULE_booleanExpression) - self.state = 1282 - if not self.precpred(self._ctx, 2): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 2)") - self.state = 1283 - localctx.operator = self.match(SqlBaseParser.OR) - self.state = 1284 - localctx.right = self.booleanExpression(3) - pass - - - self.state = 1289 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,159,self._ctx) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.unrollRecursionContexts(_parentctx) - return localctx - - - class PredicatedContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self._valueExpression = None # ValueExpressionContext - - def valueExpression(self): - return self.getTypedRuleContext(SqlBaseParser.ValueExpressionContext,0) - - - def predicate(self): - return self.getTypedRuleContext(SqlBaseParser.PredicateContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_predicated - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPredicated" ): - listener.enterPredicated(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPredicated" ): - listener.exitPredicated(self) - - - - - def predicated(self): - - localctx = SqlBaseParser.PredicatedContext(self, self._ctx, self.state) - self.enterRule(localctx, 62, self.RULE_predicated) - try: - self.enterOuterAlt(localctx, 1) - self.state = 1290 - localctx._valueExpression = self.valueExpression(0) - self.state = 1292 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,160,self._ctx) - if la_ == 1: - self.state = 1291 - self.predicate(localctx._valueExpression) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class PredicateContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1, value:ParserRuleContext=None): - super().__init__(parent, invokingState) - self.parser = parser - self.value = None - self.value = value - - - def getRuleIndex(self): - return SqlBaseParser.RULE_predicate - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - self.value = ctx.value - - - - class ComparisonContext(PredicateContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.PredicateContext - super().__init__(parser) - self.right = None # ValueExpressionContext - self.copyFrom(ctx) - - def cmpOp(self): - return self.getTypedRuleContext(SqlBaseParser.CmpOpContext,0) - - def valueExpression(self): - return self.getTypedRuleContext(SqlBaseParser.ValueExpressionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterComparison" ): - listener.enterComparison(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitComparison" ): - listener.exitComparison(self) - - - class LikeContext(PredicateContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.PredicateContext - super().__init__(parser) - self.pattern = None # ValueExpressionContext - self.escape = None # ParameterOrLiteralContext - self.copyFrom(ctx) - - def LIKE(self): - return self.getToken(SqlBaseParser.LIKE, 0) - def ILIKE(self): - return self.getToken(SqlBaseParser.ILIKE, 0) - def valueExpression(self): - return self.getTypedRuleContext(SqlBaseParser.ValueExpressionContext,0) - - def NOT(self): - return self.getToken(SqlBaseParser.NOT, 0) - def ESCAPE(self): - return self.getToken(SqlBaseParser.ESCAPE, 0) - def parameterOrLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.ParameterOrLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLike" ): - listener.enterLike(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLike" ): - listener.exitLike(self) - - - class InSubqueryContext(PredicateContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.PredicateContext - super().__init__(parser) - self.copyFrom(ctx) - - def IN(self): - return self.getToken(SqlBaseParser.IN, 0) - def subqueryExpression(self): - return self.getTypedRuleContext(SqlBaseParser.SubqueryExpressionContext,0) - - def NOT(self): - return self.getToken(SqlBaseParser.NOT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterInSubquery" ): - listener.enterInSubquery(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitInSubquery" ): - listener.exitInSubquery(self) - - - class DistinctFromContext(PredicateContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.PredicateContext - super().__init__(parser) - self.right = None # ValueExpressionContext - self.copyFrom(ctx) - - def IS(self): - return self.getToken(SqlBaseParser.IS, 0) - def DISTINCT(self): - return self.getToken(SqlBaseParser.DISTINCT, 0) - def FROM(self): - return self.getToken(SqlBaseParser.FROM, 0) - def valueExpression(self): - return self.getTypedRuleContext(SqlBaseParser.ValueExpressionContext,0) - - def NOT(self): - return self.getToken(SqlBaseParser.NOT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDistinctFrom" ): - listener.enterDistinctFrom(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDistinctFrom" ): - listener.exitDistinctFrom(self) - - - class InListContext(PredicateContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.PredicateContext - super().__init__(parser) - self.copyFrom(ctx) - - def IN(self): - return self.getToken(SqlBaseParser.IN, 0) - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def expr(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ExprContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ExprContext,i) - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - def NOT(self): - return self.getToken(SqlBaseParser.NOT, 0) - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterInList" ): - listener.enterInList(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitInList" ): - listener.exitInList(self) - - - class ArrayLikeContext(PredicateContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.PredicateContext - super().__init__(parser) - self.quant = None # SetCmpQuantifierContext - self.v = None # ValueExpressionContext - self.escape = None # ValueExpressionContext - self.copyFrom(ctx) - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - def LIKE(self): - return self.getToken(SqlBaseParser.LIKE, 0) - def ILIKE(self): - return self.getToken(SqlBaseParser.ILIKE, 0) - def setCmpQuantifier(self): - return self.getTypedRuleContext(SqlBaseParser.SetCmpQuantifierContext,0) - - def valueExpression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ValueExpressionContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ValueExpressionContext,i) - - def NOT(self): - return self.getToken(SqlBaseParser.NOT, 0) - def ESCAPE(self): - return self.getToken(SqlBaseParser.ESCAPE, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterArrayLike" ): - listener.enterArrayLike(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitArrayLike" ): - listener.exitArrayLike(self) - - - class NullPredicateContext(PredicateContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.PredicateContext - super().__init__(parser) - self.copyFrom(ctx) - - def IS(self): - return self.getToken(SqlBaseParser.IS, 0) - def NULL(self): - return self.getToken(SqlBaseParser.NULL, 0) - def NOT(self): - return self.getToken(SqlBaseParser.NOT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterNullPredicate" ): - listener.enterNullPredicate(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitNullPredicate" ): - listener.exitNullPredicate(self) - - - class BetweenContext(PredicateContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.PredicateContext - super().__init__(parser) - self.lower = None # ValueExpressionContext - self.upper = None # ValueExpressionContext - self.copyFrom(ctx) - - def BETWEEN(self): - return self.getToken(SqlBaseParser.BETWEEN, 0) - def AND(self): - return self.getToken(SqlBaseParser.AND, 0) - def valueExpression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ValueExpressionContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ValueExpressionContext,i) - - def NOT(self): - return self.getToken(SqlBaseParser.NOT, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBetween" ): - listener.enterBetween(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBetween" ): - listener.exitBetween(self) - - - class QuantifiedComparisonContext(PredicateContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.PredicateContext - super().__init__(parser) - self.copyFrom(ctx) - - def cmpOp(self): - return self.getTypedRuleContext(SqlBaseParser.CmpOpContext,0) - - def setCmpQuantifier(self): - return self.getTypedRuleContext(SqlBaseParser.SetCmpQuantifierContext,0) - - def primaryExpression(self): - return self.getTypedRuleContext(SqlBaseParser.PrimaryExpressionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterQuantifiedComparison" ): - listener.enterQuantifiedComparison(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitQuantifiedComparison" ): - listener.exitQuantifiedComparison(self) - - - - def predicate(self, value:ParserRuleContext): - - localctx = SqlBaseParser.PredicateContext(self, self._ctx, self.state, value) - self.enterRule(localctx, 64, self.RULE_predicate) - self._la = 0 # Token type - try: - self.state = 1362 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,171,self._ctx) - if la_ == 1: - localctx = SqlBaseParser.ComparisonContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1294 - self.cmpOp() - self.state = 1295 - localctx.right = self.valueExpression(0) - pass - - elif la_ == 2: - localctx = SqlBaseParser.QuantifiedComparisonContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1297 - self.cmpOp() - self.state = 1298 - self.setCmpQuantifier() - self.state = 1299 - self.primaryExpression(0) - pass - - elif la_ == 3: - localctx = SqlBaseParser.BetweenContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 1302 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==23: - self.state = 1301 - self.match(SqlBaseParser.NOT) - - - self.state = 1304 - self.match(SqlBaseParser.BETWEEN) - self.state = 1305 - localctx.lower = self.valueExpression(0) - self.state = 1306 - self.match(SqlBaseParser.AND) - self.state = 1307 - localctx.upper = self.valueExpression(0) - pass - - elif la_ == 4: - localctx = SqlBaseParser.InListContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 1310 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==23: - self.state = 1309 - self.match(SqlBaseParser.NOT) - - - self.state = 1312 - self.match(SqlBaseParser.IN) - self.state = 1313 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1314 - self.expr() - self.state = 1319 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 1315 - self.match(SqlBaseParser.COMMA) - self.state = 1316 - self.expr() - self.state = 1321 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1322 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - - elif la_ == 5: - localctx = SqlBaseParser.InSubqueryContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 1325 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==23: - self.state = 1324 - self.match(SqlBaseParser.NOT) - - - self.state = 1327 - self.match(SqlBaseParser.IN) - self.state = 1328 - self.subqueryExpression() - pass - - elif la_ == 6: - localctx = SqlBaseParser.LikeContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 1330 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==23: - self.state = 1329 - self.match(SqlBaseParser.NOT) - - - self.state = 1332 - _la = self._input.LA(1) - if not(_la==26 or _la==27): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 1333 - localctx.pattern = self.valueExpression(0) - self.state = 1336 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,166,self._ctx) - if la_ == 1: - self.state = 1334 - self.match(SqlBaseParser.ESCAPE) - self.state = 1335 - localctx.escape = self.parameterOrLiteral() - - - pass - - elif la_ == 7: - localctx = SqlBaseParser.ArrayLikeContext(self, localctx) - self.enterOuterAlt(localctx, 7) - self.state = 1339 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==23: - self.state = 1338 - self.match(SqlBaseParser.NOT) - - - self.state = 1341 - _la = self._input.LA(1) - if not(_la==26 or _la==27): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 1342 - localctx.quant = self.setCmpQuantifier() - self.state = 1343 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1344 - localctx.v = self.valueExpression(0) - self.state = 1345 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - self.state = 1348 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,168,self._ctx) - if la_ == 1: - self.state = 1346 - self.match(SqlBaseParser.ESCAPE) - self.state = 1347 - localctx.escape = self.valueExpression(0) - - - pass - - elif la_ == 8: - localctx = SqlBaseParser.NullPredicateContext(self, localctx) - self.enterOuterAlt(localctx, 8) - self.state = 1350 - self.match(SqlBaseParser.IS) - self.state = 1352 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==23: - self.state = 1351 - self.match(SqlBaseParser.NOT) - - - self.state = 1354 - self.match(SqlBaseParser.NULL) - pass - - elif la_ == 9: - localctx = SqlBaseParser.DistinctFromContext(self, localctx) - self.enterOuterAlt(localctx, 9) - self.state = 1355 - self.match(SqlBaseParser.IS) - self.state = 1357 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==23: - self.state = 1356 - self.match(SqlBaseParser.NOT) - - - self.state = 1359 - self.match(SqlBaseParser.DISTINCT) - self.state = 1360 - self.match(SqlBaseParser.FROM) - self.state = 1361 - localctx.right = self.valueExpression(0) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ValueExpressionContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return SqlBaseParser.RULE_valueExpression - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - class BitwiseBinaryContext(ValueExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ValueExpressionContext - super().__init__(parser) - self.left = None # ValueExpressionContext - self.operator = None # Token - self.right = None # ValueExpressionContext - self.copyFrom(ctx) - - def valueExpression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ValueExpressionContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ValueExpressionContext,i) - - def BITWISE_AND(self): - return self.getToken(SqlBaseParser.BITWISE_AND, 0) - def BITWISE_OR(self): - return self.getToken(SqlBaseParser.BITWISE_OR, 0) - def BITWISE_XOR(self): - return self.getToken(SqlBaseParser.BITWISE_XOR, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBitwiseBinary" ): - listener.enterBitwiseBinary(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBitwiseBinary" ): - listener.exitBitwiseBinary(self) - - - class ValueExpressionDefaultContext(ValueExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ValueExpressionContext - super().__init__(parser) - self.copyFrom(ctx) - - def primaryExpression(self): - return self.getTypedRuleContext(SqlBaseParser.PrimaryExpressionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterValueExpressionDefault" ): - listener.enterValueExpressionDefault(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitValueExpressionDefault" ): - listener.exitValueExpressionDefault(self) - - - class ConcatenationContext(ValueExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ValueExpressionContext - super().__init__(parser) - self.left = None # ValueExpressionContext - self.right = None # ValueExpressionContext - self.copyFrom(ctx) - - def CONCAT(self): - return self.getToken(SqlBaseParser.CONCAT, 0) - def valueExpression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ValueExpressionContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ValueExpressionContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterConcatenation" ): - listener.enterConcatenation(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitConcatenation" ): - listener.exitConcatenation(self) - - - class FromStringLiteralCastContext(ValueExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ValueExpressionContext - super().__init__(parser) - self.copyFrom(ctx) - - def dataType(self): - return self.getTypedRuleContext(SqlBaseParser.DataTypeContext,0) - - def stringLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.StringLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFromStringLiteralCast" ): - listener.enterFromStringLiteralCast(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFromStringLiteralCast" ): - listener.exitFromStringLiteralCast(self) - - - class ArithmeticBinaryContext(ValueExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ValueExpressionContext - super().__init__(parser) - self.left = None # ValueExpressionContext - self.operator = None # Token - self.right = None # ValueExpressionContext - self.copyFrom(ctx) - - def valueExpression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ValueExpressionContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ValueExpressionContext,i) - - def CARET(self): - return self.getToken(SqlBaseParser.CARET, 0) - def ASTERISK(self): - return self.getToken(SqlBaseParser.ASTERISK, 0) - def SLASH(self): - return self.getToken(SqlBaseParser.SLASH, 0) - def PERCENT(self): - return self.getToken(SqlBaseParser.PERCENT, 0) - def PLUS(self): - return self.getToken(SqlBaseParser.PLUS, 0) - def MINUS(self): - return self.getToken(SqlBaseParser.MINUS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterArithmeticBinary" ): - listener.enterArithmeticBinary(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitArithmeticBinary" ): - listener.exitArithmeticBinary(self) - - - class ArithmeticUnaryContext(ValueExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ValueExpressionContext - super().__init__(parser) - self.operator = None # Token - self.copyFrom(ctx) - - def valueExpression(self): - return self.getTypedRuleContext(SqlBaseParser.ValueExpressionContext,0) - - def MINUS(self): - return self.getToken(SqlBaseParser.MINUS, 0) - def PLUS(self): - return self.getToken(SqlBaseParser.PLUS, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterArithmeticUnary" ): - listener.enterArithmeticUnary(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitArithmeticUnary" ): - listener.exitArithmeticUnary(self) - - - - def valueExpression(self, _p:int=0): - _parentctx = self._ctx - _parentState = self.state - localctx = SqlBaseParser.ValueExpressionContext(self, self._ctx, _parentState) - _prevctx = localctx - _startState = 66 - self.enterRecursionRule(localctx, 66, self.RULE_valueExpression, _p) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1371 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,172,self._ctx) - if la_ == 1: - localctx = SqlBaseParser.ValueExpressionDefaultContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - - self.state = 1365 - self.primaryExpression(0) - pass - - elif la_ == 2: - localctx = SqlBaseParser.ArithmeticUnaryContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 1366 - localctx.operator = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==293 or _la==294): - localctx.operator = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 1367 - self.valueExpression(7) - pass - - elif la_ == 3: - localctx = SqlBaseParser.FromStringLiteralCastContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 1368 - self.dataType(0) - self.state = 1369 - self.stringLiteral() - pass - - - self._ctx.stop = self._input.LT(-1) - self.state = 1390 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,174,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - if self._parseListeners is not None: - self.triggerExitRuleEvent() - _prevctx = localctx - self.state = 1388 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,173,self._ctx) - if la_ == 1: - localctx = SqlBaseParser.ArithmeticBinaryContext(self, SqlBaseParser.ValueExpressionContext(self, _parentctx, _parentState)) - localctx.left = _prevctx - self.pushNewRecursionContext(localctx, _startState, self.RULE_valueExpression) - self.state = 1373 - if not self.precpred(self._ctx, 6): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 6)") - self.state = 1374 - localctx.operator = self.match(SqlBaseParser.CARET) - self.state = 1375 - localctx.right = self.valueExpression(7) - pass - - elif la_ == 2: - localctx = SqlBaseParser.ArithmeticBinaryContext(self, SqlBaseParser.ValueExpressionContext(self, _parentctx, _parentState)) - localctx.left = _prevctx - self.pushNewRecursionContext(localctx, _startState, self.RULE_valueExpression) - self.state = 1376 - if not self.precpred(self._ctx, 5): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 5)") - self.state = 1377 - localctx.operator = self._input.LT(1) - _la = self._input.LA(1) - if not(((((_la - 295)) & ~0x3f) == 0 and ((1 << (_la - 295)) & 13) != 0)): - localctx.operator = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 1378 - localctx.right = self.valueExpression(6) - pass - - elif la_ == 3: - localctx = SqlBaseParser.ArithmeticBinaryContext(self, SqlBaseParser.ValueExpressionContext(self, _parentctx, _parentState)) - localctx.left = _prevctx - self.pushNewRecursionContext(localctx, _startState, self.RULE_valueExpression) - self.state = 1379 - if not self.precpred(self._ctx, 4): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 4)") - self.state = 1380 - localctx.operator = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==293 or _la==294): - localctx.operator = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 1381 - localctx.right = self.valueExpression(5) - pass - - elif la_ == 4: - localctx = SqlBaseParser.BitwiseBinaryContext(self, SqlBaseParser.ValueExpressionContext(self, _parentctx, _parentState)) - localctx.left = _prevctx - self.pushNewRecursionContext(localctx, _startState, self.RULE_valueExpression) - self.state = 1382 - if not self.precpred(self._ctx, 3): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 3)") - self.state = 1383 - localctx.operator = self._input.LT(1) - _la = self._input.LA(1) - if not(((((_la - 314)) & ~0x3f) == 0 and ((1 << (_la - 314)) & 7) != 0)): - localctx.operator = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 1384 - localctx.right = self.valueExpression(4) - pass - - elif la_ == 5: - localctx = SqlBaseParser.ConcatenationContext(self, SqlBaseParser.ValueExpressionContext(self, _parentctx, _parentState)) - localctx.left = _prevctx - self.pushNewRecursionContext(localctx, _startState, self.RULE_valueExpression) - self.state = 1385 - if not self.precpred(self._ctx, 2): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 2)") - self.state = 1386 - self.match(SqlBaseParser.CONCAT) - self.state = 1387 - localctx.right = self.valueExpression(3) - pass - - - self.state = 1392 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,174,self._ctx) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.unrollRecursionContexts(_parentctx) - return localctx - - - class PrimaryExpressionContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return SqlBaseParser.RULE_primaryExpression - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - class SubqueryExpressionDefaultContext(PrimaryExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.PrimaryExpressionContext - super().__init__(parser) - self.copyFrom(ctx) - - def subqueryExpression(self): - return self.getTypedRuleContext(SqlBaseParser.SubqueryExpressionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSubqueryExpressionDefault" ): - listener.enterSubqueryExpressionDefault(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSubqueryExpressionDefault" ): - listener.exitSubqueryExpressionDefault(self) - - - class DereferenceContext(PrimaryExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.PrimaryExpressionContext - super().__init__(parser) - self.copyFrom(ctx) - - def ident(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.IdentContext) - else: - return self.getTypedRuleContext(SqlBaseParser.IdentContext,i) - - def DOT(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.DOT) - else: - return self.getToken(SqlBaseParser.DOT, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDereference" ): - listener.enterDereference(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDereference" ): - listener.exitDereference(self) - - - class ColumnReferenceContext(PrimaryExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.PrimaryExpressionContext - super().__init__(parser) - self.copyFrom(ctx) - - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterColumnReference" ): - listener.enterColumnReference(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitColumnReference" ): - listener.exitColumnReference(self) - - - class AtTimezoneContext(PrimaryExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.PrimaryExpressionContext - super().__init__(parser) - self.timestamp = None # PrimaryExpressionContext - self.zone = None # PrimaryExpressionContext - self.copyFrom(ctx) - - def AT(self): - return self.getToken(SqlBaseParser.AT, 0) - def TIME(self): - return self.getToken(SqlBaseParser.TIME, 0) - def ZONE(self): - return self.getToken(SqlBaseParser.ZONE, 0) - def primaryExpression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.PrimaryExpressionContext) - else: - return self.getTypedRuleContext(SqlBaseParser.PrimaryExpressionContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAtTimezone" ): - listener.enterAtTimezone(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAtTimezone" ): - listener.exitAtTimezone(self) - - - class SubscriptContext(PrimaryExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.PrimaryExpressionContext - super().__init__(parser) - self.value = None # PrimaryExpressionContext - self.index = None # ValueExpressionContext - self.copyFrom(ctx) - - def OPEN_SQUARE_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_SQUARE_BRACKET, 0) - def CLOSE_SQUARE_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_SQUARE_BRACKET, 0) - def primaryExpression(self): - return self.getTypedRuleContext(SqlBaseParser.PrimaryExpressionContext,0) - - def valueExpression(self): - return self.getTypedRuleContext(SqlBaseParser.ValueExpressionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSubscript" ): - listener.enterSubscript(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSubscript" ): - listener.exitSubscript(self) - - - class RecordSubscriptContext(PrimaryExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.PrimaryExpressionContext - super().__init__(parser) - self.base = None # PrimaryExpressionContext - self.fieldName = None # IdentContext - self.copyFrom(ctx) - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - def DOT(self): - return self.getToken(SqlBaseParser.DOT, 0) - def primaryExpression(self): - return self.getTypedRuleContext(SqlBaseParser.PrimaryExpressionContext,0) - - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRecordSubscript" ): - listener.enterRecordSubscript(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRecordSubscript" ): - listener.exitRecordSubscript(self) - - - class ExplicitFunctionDefaultContext(PrimaryExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.PrimaryExpressionContext - super().__init__(parser) - self.copyFrom(ctx) - - def explicitFunction(self): - return self.getTypedRuleContext(SqlBaseParser.ExplicitFunctionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterExplicitFunctionDefault" ): - listener.enterExplicitFunctionDefault(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitExplicitFunctionDefault" ): - listener.exitExplicitFunctionDefault(self) - - - class DoubleColonCastContext(PrimaryExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.PrimaryExpressionContext - super().__init__(parser) - self.copyFrom(ctx) - - def primaryExpression(self): - return self.getTypedRuleContext(SqlBaseParser.PrimaryExpressionContext,0) - - def CAST_OPERATOR(self): - return self.getToken(SqlBaseParser.CAST_OPERATOR, 0) - def dataType(self): - return self.getTypedRuleContext(SqlBaseParser.DataTypeContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDoubleColonCast" ): - listener.enterDoubleColonCast(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDoubleColonCast" ): - listener.exitDoubleColonCast(self) - - - class DefaultParamOrLiteralContext(PrimaryExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.PrimaryExpressionContext - super().__init__(parser) - self.copyFrom(ctx) - - def parameterOrLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.ParameterOrLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDefaultParamOrLiteral" ): - listener.enterDefaultParamOrLiteral(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDefaultParamOrLiteral" ): - listener.exitDefaultParamOrLiteral(self) - - - class FunctionCallContext(PrimaryExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.PrimaryExpressionContext - super().__init__(parser) - self.copyFrom(ctx) - - def qname(self): - return self.getTypedRuleContext(SqlBaseParser.QnameContext,0) - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def ASTERISK(self): - return self.getToken(SqlBaseParser.ASTERISK, 0) - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - def filter_(self): - return self.getTypedRuleContext(SqlBaseParser.FilterContext,0) - - def over(self): - return self.getTypedRuleContext(SqlBaseParser.OverContext,0) - - def expr(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ExprContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ExprContext,i) - - def NULLS(self): - return self.getToken(SqlBaseParser.NULLS, 0) - def IGNORE(self): - return self.getToken(SqlBaseParser.IGNORE, 0) - def RESPECT(self): - return self.getToken(SqlBaseParser.RESPECT, 0) - def setQuant(self): - return self.getTypedRuleContext(SqlBaseParser.SetQuantContext,0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFunctionCall" ): - listener.enterFunctionCall(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFunctionCall" ): - listener.exitFunctionCall(self) - - - class NestedExpressionContext(PrimaryExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.PrimaryExpressionContext - super().__init__(parser) - self.copyFrom(ctx) - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def expr(self): - return self.getTypedRuleContext(SqlBaseParser.ExprContext,0) - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterNestedExpression" ): - listener.enterNestedExpression(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitNestedExpression" ): - listener.exitNestedExpression(self) - - - class ArraySliceContext(PrimaryExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.PrimaryExpressionContext - super().__init__(parser) - self.base = None # PrimaryExpressionContext - self.from_ = None # ValueExpressionContext - self.to = None # ValueExpressionContext - self.copyFrom(ctx) - - def OPEN_SQUARE_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_SQUARE_BRACKET, 0) - def COLON(self): - return self.getToken(SqlBaseParser.COLON, 0) - def CLOSE_SQUARE_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_SQUARE_BRACKET, 0) - def primaryExpression(self): - return self.getTypedRuleContext(SqlBaseParser.PrimaryExpressionContext,0) - - def valueExpression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ValueExpressionContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ValueExpressionContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterArraySlice" ): - listener.enterArraySlice(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitArraySlice" ): - listener.exitArraySlice(self) - - - class ExistsContext(PrimaryExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.PrimaryExpressionContext - super().__init__(parser) - self.copyFrom(ctx) - - def EXISTS(self): - return self.getToken(SqlBaseParser.EXISTS, 0) - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def query(self): - return self.getTypedRuleContext(SqlBaseParser.QueryContext,0) - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterExists" ): - listener.enterExists(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitExists" ): - listener.exitExists(self) - - - class EmptyArrayContext(PrimaryExpressionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.PrimaryExpressionContext - super().__init__(parser) - self.copyFrom(ctx) - - def EMPTY_SQUARE_BRACKET(self): - return self.getToken(SqlBaseParser.EMPTY_SQUARE_BRACKET, 0) - def ARRAY(self): - return self.getToken(SqlBaseParser.ARRAY, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterEmptyArray" ): - listener.enterEmptyArray(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitEmptyArray" ): - listener.exitEmptyArray(self) - - - - def primaryExpression(self, _p:int=0): - _parentctx = self._ctx - _parentState = self.state - localctx = SqlBaseParser.PrimaryExpressionContext(self, self._ctx, _parentState) - _prevctx = localctx - _startState = 68 - self.enterRecursionRule(localctx, 68, self.RULE_primaryExpression, _p) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1461 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,185,self._ctx) - if la_ == 1: - localctx = SqlBaseParser.DefaultParamOrLiteralContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - - self.state = 1394 - self.parameterOrLiteral() - pass - - elif la_ == 2: - localctx = SqlBaseParser.ExplicitFunctionDefaultContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 1395 - self.explicitFunction() - pass - - elif la_ == 3: - localctx = SqlBaseParser.FunctionCallContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 1396 - self.qname() - self.state = 1397 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1398 - self.match(SqlBaseParser.ASTERISK) - self.state = 1399 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - self.state = 1401 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,175,self._ctx) - if la_ == 1: - self.state = 1400 - self.filter_() - - - self.state = 1404 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,176,self._ctx) - if la_ == 1: - self.state = 1403 - self.over() - - - pass - - elif la_ == 4: - localctx = SqlBaseParser.ColumnReferenceContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 1406 - self.ident() - pass - - elif la_ == 5: - localctx = SqlBaseParser.FunctionCallContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 1407 - self.qname() - self.state = 1408 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1420 - self._errHandler.sync(self) - _la = self._input.LA(1) - if (((_la) & ~0x3f) == 0 and ((1 << _la) & -144809494833966) != 0) or ((((_la - 64)) & ~0x3f) == 0 and ((1 << (_la - 64)) & -109963250886559) != 0) or ((((_la - 128)) & ~0x3f) == 0 and ((1 << (_la - 128)) & -176289080147969) != 0) or ((((_la - 192)) & ~0x3f) == 0 and ((1 << (_la - 192)) & -506092043677131681) != 0) or ((((_la - 256)) & ~0x3f) == 0 and ((1 << (_la - 256)) & -2041819068675129345) != 0) or ((((_la - 320)) & ~0x3f) == 0 and ((1 << (_la - 320)) & 127) != 0): - self.state = 1410 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==7 or _la==12: - self.state = 1409 - self.setQuant() - - - self.state = 1412 - self.expr() - self.state = 1417 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 1413 - self.match(SqlBaseParser.COMMA) - self.state = 1414 - self.expr() - self.state = 1419 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - self.state = 1422 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - self.state = 1424 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,180,self._ctx) - if la_ == 1: - self.state = 1423 - self.filter_() - - - self.state = 1428 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,181,self._ctx) - if la_ == 1: - self.state = 1426 - _la = self._input.LA(1) - if not(_la==32 or _la==33): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 1427 - self.match(SqlBaseParser.NULLS) - - - self.state = 1431 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,182,self._ctx) - if la_ == 1: - self.state = 1430 - self.over() - - - pass - - elif la_ == 6: - localctx = SqlBaseParser.SubqueryExpressionDefaultContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 1433 - self.subqueryExpression() - pass - - elif la_ == 7: - localctx = SqlBaseParser.RecordSubscriptContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 1434 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1435 - localctx.base = self.primaryExpression(0) - self.state = 1436 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - self.state = 1437 - self.match(SqlBaseParser.DOT) - self.state = 1438 - localctx.fieldName = self.ident() - pass - - elif la_ == 8: - localctx = SqlBaseParser.NestedExpressionContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 1440 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1441 - self.expr() - self.state = 1442 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - - elif la_ == 9: - localctx = SqlBaseParser.ExistsContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 1444 - self.match(SqlBaseParser.EXISTS) - self.state = 1445 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1446 - self.query() - self.state = 1447 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - - elif la_ == 10: - localctx = SqlBaseParser.DereferenceContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 1449 - self.ident() - self.state = 1454 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,183,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 1450 - self.match(SqlBaseParser.DOT) - self.state = 1451 - self.ident() - self.state = 1456 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,183,self._ctx) - - pass - - elif la_ == 11: - localctx = SqlBaseParser.EmptyArrayContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 1458 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==233: - self.state = 1457 - self.match(SqlBaseParser.ARRAY) - - - self.state = 1460 - self.match(SqlBaseParser.EMPTY_SQUARE_BRACKET) - pass - - - self._ctx.stop = self._input.LT(-1) - self.state = 1488 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,189,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - if self._parseListeners is not None: - self.triggerExitRuleEvent() - _prevctx = localctx - self.state = 1486 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,188,self._ctx) - if la_ == 1: - localctx = SqlBaseParser.AtTimezoneContext(self, SqlBaseParser.PrimaryExpressionContext(self, _parentctx, _parentState)) - localctx.timestamp = _prevctx - self.pushNewRecursionContext(localctx, _startState, self.RULE_primaryExpression) - self.state = 1463 - if not self.precpred(self._ctx, 2): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 2)") - self.state = 1464 - self.match(SqlBaseParser.AT) - self.state = 1465 - self.match(SqlBaseParser.TIME) - self.state = 1466 - self.match(SqlBaseParser.ZONE) - self.state = 1467 - localctx.zone = self.primaryExpression(3) - pass - - elif la_ == 2: - localctx = SqlBaseParser.SubscriptContext(self, SqlBaseParser.PrimaryExpressionContext(self, _parentctx, _parentState)) - localctx.value = _prevctx - self.pushNewRecursionContext(localctx, _startState, self.RULE_primaryExpression) - self.state = 1468 - if not self.precpred(self._ctx, 6): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 6)") - self.state = 1469 - self.match(SqlBaseParser.OPEN_SQUARE_BRACKET) - self.state = 1470 - localctx.index = self.valueExpression(0) - self.state = 1471 - self.match(SqlBaseParser.CLOSE_SQUARE_BRACKET) - pass - - elif la_ == 3: - localctx = SqlBaseParser.ArraySliceContext(self, SqlBaseParser.PrimaryExpressionContext(self, _parentctx, _parentState)) - localctx.base = _prevctx - self.pushNewRecursionContext(localctx, _startState, self.RULE_primaryExpression) - self.state = 1473 - if not self.precpred(self._ctx, 5): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 5)") - self.state = 1474 - self.match(SqlBaseParser.OPEN_SQUARE_BRACKET) - self.state = 1476 - self._errHandler.sync(self) - _la = self._input.LA(1) - if (((_la) & ~0x3f) == 0 and ((1 << _la) & -144809503226798) != 0) or ((((_la - 64)) & ~0x3f) == 0 and ((1 << (_la - 64)) & -109963250886559) != 0) or ((((_la - 128)) & ~0x3f) == 0 and ((1 << (_la - 128)) & -176289080147969) != 0) or ((((_la - 192)) & ~0x3f) == 0 and ((1 << (_la - 192)) & -508343843490816929) != 0) or ((((_la - 256)) & ~0x3f) == 0 and ((1 << (_la - 256)) & -2041819068675129345) != 0) or ((((_la - 320)) & ~0x3f) == 0 and ((1 << (_la - 320)) & 127) != 0): - self.state = 1475 - localctx.from_ = self.valueExpression(0) - - - self.state = 1478 - self.match(SqlBaseParser.COLON) - self.state = 1480 - self._errHandler.sync(self) - _la = self._input.LA(1) - if (((_la) & ~0x3f) == 0 and ((1 << _la) & -144809503226798) != 0) or ((((_la - 64)) & ~0x3f) == 0 and ((1 << (_la - 64)) & -109963250886559) != 0) or ((((_la - 128)) & ~0x3f) == 0 and ((1 << (_la - 128)) & -176289080147969) != 0) or ((((_la - 192)) & ~0x3f) == 0 and ((1 << (_la - 192)) & -508343843490816929) != 0) or ((((_la - 256)) & ~0x3f) == 0 and ((1 << (_la - 256)) & -2041819068675129345) != 0) or ((((_la - 320)) & ~0x3f) == 0 and ((1 << (_la - 320)) & 127) != 0): - self.state = 1479 - localctx.to = self.valueExpression(0) - - - self.state = 1482 - self.match(SqlBaseParser.CLOSE_SQUARE_BRACKET) - pass - - elif la_ == 4: - localctx = SqlBaseParser.DoubleColonCastContext(self, SqlBaseParser.PrimaryExpressionContext(self, _parentctx, _parentState)) - self.pushNewRecursionContext(localctx, _startState, self.RULE_primaryExpression) - self.state = 1483 - if not self.precpred(self._ctx, 3): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 3)") - self.state = 1484 - self.match(SqlBaseParser.CAST_OPERATOR) - self.state = 1485 - self.dataType(0) - pass - - - self.state = 1490 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,189,self._ctx) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.unrollRecursionContexts(_parentctx) - return localctx - - - class ExplicitFunctionContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return SqlBaseParser.RULE_explicitFunction - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class SimpleCaseContext(ExplicitFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ExplicitFunctionContext - super().__init__(parser) - self.operand = None # ExprContext - self.elseExpr = None # ExprContext - self.copyFrom(ctx) - - def CASE(self): - return self.getToken(SqlBaseParser.CASE, 0) - def END(self): - return self.getToken(SqlBaseParser.END, 0) - def expr(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ExprContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ExprContext,i) - - def whenClause(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.WhenClauseContext) - else: - return self.getTypedRuleContext(SqlBaseParser.WhenClauseContext,i) - - def ELSE(self): - return self.getToken(SqlBaseParser.ELSE, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSimpleCase" ): - listener.enterSimpleCase(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSimpleCase" ): - listener.exitSimpleCase(self) - - - class IfCaseContext(ExplicitFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ExplicitFunctionContext - super().__init__(parser) - self.condition = None # ExprContext - self.trueValue = None # ExprContext - self.falseValue = None # ExprContext - self.copyFrom(ctx) - - def IF(self): - return self.getToken(SqlBaseParser.IF, 0) - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - def expr(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ExprContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ExprContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIfCase" ): - listener.enterIfCase(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIfCase" ): - listener.exitIfCase(self) - - - class SpecialDateTimeFunctionContext(ExplicitFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ExplicitFunctionContext - super().__init__(parser) - self.name = None # Token - self.precision = None # IntegerLiteralContext - self.copyFrom(ctx) - - def CURRENT_DATE(self): - return self.getToken(SqlBaseParser.CURRENT_DATE, 0) - def CURRENT_TIME(self): - return self.getToken(SqlBaseParser.CURRENT_TIME, 0) - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - def integerLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.IntegerLiteralContext,0) - - def CURRENT_TIMESTAMP(self): - return self.getToken(SqlBaseParser.CURRENT_TIMESTAMP, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSpecialDateTimeFunction" ): - listener.enterSpecialDateTimeFunction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSpecialDateTimeFunction" ): - listener.exitSpecialDateTimeFunction(self) - - - class SessionUserContext(ExplicitFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ExplicitFunctionContext - super().__init__(parser) - self.copyFrom(ctx) - - def SESSION_USER(self): - return self.getToken(SqlBaseParser.SESSION_USER, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSessionUser" ): - listener.enterSessionUser(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSessionUser" ): - listener.exitSessionUser(self) - - - class ArraySubqueryContext(ExplicitFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ExplicitFunctionContext - super().__init__(parser) - self.copyFrom(ctx) - - def ARRAY(self): - return self.getToken(SqlBaseParser.ARRAY, 0) - def subqueryExpression(self): - return self.getTypedRuleContext(SqlBaseParser.SubqueryExpressionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterArraySubquery" ): - listener.enterArraySubquery(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitArraySubquery" ): - listener.exitArraySubquery(self) - - - class RightContext(ExplicitFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ExplicitFunctionContext - super().__init__(parser) - self.strOrColName = None # ExprContext - self.len_ = None # ExprContext - self.copyFrom(ctx) - - def RIGHT(self): - return self.getToken(SqlBaseParser.RIGHT, 0) - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def COMMA(self): - return self.getToken(SqlBaseParser.COMMA, 0) - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - def expr(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ExprContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ExprContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRight" ): - listener.enterRight(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRight" ): - listener.exitRight(self) - - - class SubstringContext(ExplicitFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ExplicitFunctionContext - super().__init__(parser) - self.copyFrom(ctx) - - def SUBSTRING(self): - return self.getToken(SqlBaseParser.SUBSTRING, 0) - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def expr(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ExprContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ExprContext,i) - - def FROM(self): - return self.getToken(SqlBaseParser.FROM, 0) - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - def FOR(self): - return self.getToken(SqlBaseParser.FOR, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSubstring" ): - listener.enterSubstring(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSubstring" ): - listener.exitSubstring(self) - - - class CastContext(ExplicitFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ExplicitFunctionContext - super().__init__(parser) - self.copyFrom(ctx) - - def CAST(self): - return self.getToken(SqlBaseParser.CAST, 0) - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def expr(self): - return self.getTypedRuleContext(SqlBaseParser.ExprContext,0) - - def AS(self): - return self.getToken(SqlBaseParser.AS, 0) - def dataType(self): - return self.getTypedRuleContext(SqlBaseParser.DataTypeContext,0) - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - def TRY_CAST(self): - return self.getToken(SqlBaseParser.TRY_CAST, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCast" ): - listener.enterCast(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCast" ): - listener.exitCast(self) - - - class CurrentUserContext(ExplicitFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ExplicitFunctionContext - super().__init__(parser) - self.copyFrom(ctx) - - def CURRENT_USER(self): - return self.getToken(SqlBaseParser.CURRENT_USER, 0) - def CURRENT_ROLE(self): - return self.getToken(SqlBaseParser.CURRENT_ROLE, 0) - def USER(self): - return self.getToken(SqlBaseParser.USER, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCurrentUser" ): - listener.enterCurrentUser(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCurrentUser" ): - listener.exitCurrentUser(self) - - - class ExtractContext(ExplicitFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ExplicitFunctionContext - super().__init__(parser) - self.copyFrom(ctx) - - def EXTRACT(self): - return self.getToken(SqlBaseParser.EXTRACT, 0) - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def stringLiteralOrIdentifier(self): - return self.getTypedRuleContext(SqlBaseParser.StringLiteralOrIdentifierContext,0) - - def FROM(self): - return self.getToken(SqlBaseParser.FROM, 0) - def expr(self): - return self.getTypedRuleContext(SqlBaseParser.ExprContext,0) - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterExtract" ): - listener.enterExtract(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitExtract" ): - listener.exitExtract(self) - - - class TrimContext(ExplicitFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ExplicitFunctionContext - super().__init__(parser) - self.trimMode = None # Token - self.charsToTrim = None # ExprContext - self.target = None # ExprContext - self.copyFrom(ctx) - - def TRIM(self): - return self.getToken(SqlBaseParser.TRIM, 0) - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - def expr(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ExprContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ExprContext,i) - - def FROM(self): - return self.getToken(SqlBaseParser.FROM, 0) - def LEADING(self): - return self.getToken(SqlBaseParser.LEADING, 0) - def TRAILING(self): - return self.getToken(SqlBaseParser.TRAILING, 0) - def BOTH(self): - return self.getToken(SqlBaseParser.BOTH, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTrim" ): - listener.enterTrim(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTrim" ): - listener.exitTrim(self) - - - class LeftContext(ExplicitFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ExplicitFunctionContext - super().__init__(parser) - self.strOrColName = None # ExprContext - self.len_ = None # ExprContext - self.copyFrom(ctx) - - def LEFT(self): - return self.getToken(SqlBaseParser.LEFT, 0) - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def COMMA(self): - return self.getToken(SqlBaseParser.COMMA, 0) - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - def expr(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ExprContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ExprContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterLeft" ): - listener.enterLeft(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitLeft" ): - listener.exitLeft(self) - - - class CurrentSchemaContext(ExplicitFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ExplicitFunctionContext - super().__init__(parser) - self.copyFrom(ctx) - - def CURRENT_SCHEMA(self): - return self.getToken(SqlBaseParser.CURRENT_SCHEMA, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCurrentSchema" ): - listener.enterCurrentSchema(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCurrentSchema" ): - listener.exitCurrentSchema(self) - - - class SearchedCaseContext(ExplicitFunctionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ExplicitFunctionContext - super().__init__(parser) - self.elseExpr = None # ExprContext - self.copyFrom(ctx) - - def CASE(self): - return self.getToken(SqlBaseParser.CASE, 0) - def END(self): - return self.getToken(SqlBaseParser.END, 0) - def whenClause(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.WhenClauseContext) - else: - return self.getTypedRuleContext(SqlBaseParser.WhenClauseContext,i) - - def ELSE(self): - return self.getToken(SqlBaseParser.ELSE, 0) - def expr(self): - return self.getTypedRuleContext(SqlBaseParser.ExprContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSearchedCase" ): - listener.enterSearchedCase(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSearchedCase" ): - listener.exitSearchedCase(self) - - - - def explicitFunction(self): - - localctx = SqlBaseParser.ExplicitFunctionContext(self, self._ctx, self.state) - self.enterRule(localctx, 70, self.RULE_explicitFunction) - self._la = 0 # Token type - try: - self.state = 1607 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,201,self._ctx) - if la_ == 1: - localctx = SqlBaseParser.SpecialDateTimeFunctionContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1491 - localctx.name = self.match(SqlBaseParser.CURRENT_DATE) - pass - - elif la_ == 2: - localctx = SqlBaseParser.SpecialDateTimeFunctionContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1492 - localctx.name = self.match(SqlBaseParser.CURRENT_TIME) - self.state = 1497 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,190,self._ctx) - if la_ == 1: - self.state = 1493 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1494 - localctx.precision = self.integerLiteral() - self.state = 1495 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - - - pass - - elif la_ == 3: - localctx = SqlBaseParser.SpecialDateTimeFunctionContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 1499 - localctx.name = self.match(SqlBaseParser.CURRENT_TIMESTAMP) - self.state = 1504 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,191,self._ctx) - if la_ == 1: - self.state = 1500 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1501 - localctx.precision = self.integerLiteral() - self.state = 1502 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - - - pass - - elif la_ == 4: - localctx = SqlBaseParser.CurrentSchemaContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 1506 - self.match(SqlBaseParser.CURRENT_SCHEMA) - pass - - elif la_ == 5: - localctx = SqlBaseParser.CurrentUserContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 1507 - _la = self._input.LA(1) - if not(_la==60 or _la==61 or _la==246): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - elif la_ == 6: - localctx = SqlBaseParser.SessionUserContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 1508 - self.match(SqlBaseParser.SESSION_USER) - pass - - elif la_ == 7: - localctx = SqlBaseParser.LeftContext(self, localctx) - self.enterOuterAlt(localctx, 7) - self.state = 1509 - self.match(SqlBaseParser.LEFT) - self.state = 1510 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1511 - localctx.strOrColName = self.expr() - self.state = 1512 - self.match(SqlBaseParser.COMMA) - self.state = 1513 - localctx.len_ = self.expr() - self.state = 1514 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - - elif la_ == 8: - localctx = SqlBaseParser.RightContext(self, localctx) - self.enterOuterAlt(localctx, 8) - self.state = 1516 - self.match(SqlBaseParser.RIGHT) - self.state = 1517 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1518 - localctx.strOrColName = self.expr() - self.state = 1519 - self.match(SqlBaseParser.COMMA) - self.state = 1520 - localctx.len_ = self.expr() - self.state = 1521 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - - elif la_ == 9: - localctx = SqlBaseParser.SubstringContext(self, localctx) - self.enterOuterAlt(localctx, 9) - self.state = 1523 - self.match(SqlBaseParser.SUBSTRING) - self.state = 1524 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1525 - self.expr() - self.state = 1526 - self.match(SqlBaseParser.FROM) - self.state = 1527 - self.expr() - self.state = 1530 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==47: - self.state = 1528 - self.match(SqlBaseParser.FOR) - self.state = 1529 - self.expr() - - - self.state = 1532 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - - elif la_ == 10: - localctx = SqlBaseParser.TrimContext(self, localctx) - self.enterOuterAlt(localctx, 10) - self.state = 1534 - self.match(SqlBaseParser.TRIM) - self.state = 1535 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1543 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,195,self._ctx) - if la_ == 1: - self.state = 1537 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,193,self._ctx) - if la_ == 1: - self.state = 1536 - localctx.trimMode = self._input.LT(1) - _la = self._input.LA(1) - if not((((_la) & ~0x3f) == 0 and ((1 << _la) & 123145302310912) != 0)): - localctx.trimMode = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 1540 - self._errHandler.sync(self) - _la = self._input.LA(1) - if (((_la) & ~0x3f) == 0 and ((1 << _la) & -144809494838190) != 0) or ((((_la - 64)) & ~0x3f) == 0 and ((1 << (_la - 64)) & -109963250886559) != 0) or ((((_la - 128)) & ~0x3f) == 0 and ((1 << (_la - 128)) & -176289080147969) != 0) or ((((_la - 192)) & ~0x3f) == 0 and ((1 << (_la - 192)) & -506092043677131681) != 0) or ((((_la - 256)) & ~0x3f) == 0 and ((1 << (_la - 256)) & -2041819068675129345) != 0) or ((((_la - 320)) & ~0x3f) == 0 and ((1 << (_la - 320)) & 127) != 0): - self.state = 1539 - localctx.charsToTrim = self.expr() - - - self.state = 1542 - self.match(SqlBaseParser.FROM) - - - self.state = 1545 - localctx.target = self.expr() - self.state = 1546 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - - elif la_ == 11: - localctx = SqlBaseParser.ExtractContext(self, localctx) - self.enterOuterAlt(localctx, 11) - self.state = 1548 - self.match(SqlBaseParser.EXTRACT) - self.state = 1549 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1550 - self.stringLiteralOrIdentifier() - self.state = 1551 - self.match(SqlBaseParser.FROM) - self.state = 1552 - self.expr() - self.state = 1553 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - - elif la_ == 12: - localctx = SqlBaseParser.CastContext(self, localctx) - self.enterOuterAlt(localctx, 12) - self.state = 1555 - self.match(SqlBaseParser.CAST) - self.state = 1556 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1557 - self.expr() - self.state = 1558 - self.match(SqlBaseParser.AS) - self.state = 1559 - self.dataType(0) - self.state = 1560 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - - elif la_ == 13: - localctx = SqlBaseParser.CastContext(self, localctx) - self.enterOuterAlt(localctx, 13) - self.state = 1562 - self.match(SqlBaseParser.TRY_CAST) - self.state = 1563 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1564 - self.expr() - self.state = 1565 - self.match(SqlBaseParser.AS) - self.state = 1566 - self.dataType(0) - self.state = 1567 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - - elif la_ == 14: - localctx = SqlBaseParser.SimpleCaseContext(self, localctx) - self.enterOuterAlt(localctx, 14) - self.state = 1569 - self.match(SqlBaseParser.CASE) - self.state = 1570 - localctx.operand = self.expr() - self.state = 1572 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 1571 - self.whenClause() - self.state = 1574 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (_la==65): - break - - self.state = 1578 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==67: - self.state = 1576 - self.match(SqlBaseParser.ELSE) - self.state = 1577 - localctx.elseExpr = self.expr() - - - self.state = 1580 - self.match(SqlBaseParser.END) - pass - - elif la_ == 15: - localctx = SqlBaseParser.SearchedCaseContext(self, localctx) - self.enterOuterAlt(localctx, 15) - self.state = 1582 - self.match(SqlBaseParser.CASE) - self.state = 1584 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 1583 - self.whenClause() - self.state = 1586 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (_la==65): - break - - self.state = 1590 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==67: - self.state = 1588 - self.match(SqlBaseParser.ELSE) - self.state = 1589 - localctx.elseExpr = self.expr() - - - self.state = 1592 - self.match(SqlBaseParser.END) - pass - - elif la_ == 16: - localctx = SqlBaseParser.IfCaseContext(self, localctx) - self.enterOuterAlt(localctx, 16) - self.state = 1594 - self.match(SqlBaseParser.IF) - self.state = 1595 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1596 - localctx.condition = self.expr() - self.state = 1597 - self.match(SqlBaseParser.COMMA) - self.state = 1598 - localctx.trueValue = self.expr() - self.state = 1601 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==303: - self.state = 1599 - self.match(SqlBaseParser.COMMA) - self.state = 1600 - localctx.falseValue = self.expr() - - - self.state = 1603 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - - elif la_ == 17: - localctx = SqlBaseParser.ArraySubqueryContext(self, localctx) - self.enterOuterAlt(localctx, 17) - self.state = 1605 - self.match(SqlBaseParser.ARRAY) - self.state = 1606 - self.subqueryExpression() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SubqueryExpressionContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - - def query(self): - return self.getTypedRuleContext(SqlBaseParser.QueryContext,0) - - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_subqueryExpression - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSubqueryExpression" ): - listener.enterSubqueryExpression(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSubqueryExpression" ): - listener.exitSubqueryExpression(self) - - - - - def subqueryExpression(self): - - localctx = SqlBaseParser.SubqueryExpressionContext(self, self._ctx, self.state) - self.enterRule(localctx, 72, self.RULE_subqueryExpression) - try: - self.enterOuterAlt(localctx, 1) - self.state = 1609 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1610 - self.query() - self.state = 1611 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ParameterOrLiteralContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return SqlBaseParser.RULE_parameterOrLiteral - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class ObjectLiteralContext(ParameterOrLiteralContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ParameterOrLiteralContext - super().__init__(parser) - self.copyFrom(ctx) - - def OPEN_CURLY_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_CURLY_BRACKET, 0) - def CLOSE_CURLY_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_CURLY_BRACKET, 0) - def objectKeyValue(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ObjectKeyValueContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ObjectKeyValueContext,i) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterObjectLiteral" ): - listener.enterObjectLiteral(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitObjectLiteral" ): - listener.exitObjectLiteral(self) - - - class SimpleLiteralContext(ParameterOrLiteralContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ParameterOrLiteralContext - super().__init__(parser) - self.copyFrom(ctx) - - def parameterOrSimpleLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.ParameterOrSimpleLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSimpleLiteral" ): - listener.enterSimpleLiteral(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSimpleLiteral" ): - listener.exitSimpleLiteral(self) - - - class ArrayLiteralContext(ParameterOrLiteralContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ParameterOrLiteralContext - super().__init__(parser) - self.copyFrom(ctx) - - def OPEN_SQUARE_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_SQUARE_BRACKET, 0) - def CLOSE_SQUARE_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_SQUARE_BRACKET, 0) - def ARRAY(self): - return self.getToken(SqlBaseParser.ARRAY, 0) - def expr(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ExprContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ExprContext,i) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterArrayLiteral" ): - listener.enterArrayLiteral(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitArrayLiteral" ): - listener.exitArrayLiteral(self) - - - - def parameterOrLiteral(self): - - localctx = SqlBaseParser.ParameterOrLiteralContext(self, self._ctx, self.state) - self.enterRule(localctx, 74, self.RULE_parameterOrLiteral) - self._la = 0 # Token type - try: - self.state = 1641 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [29, 30, 31, 70, 312, 313, 317, 318, 319, 320, 321, 326]: - localctx = SqlBaseParser.SimpleLiteralContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1613 - self.parameterOrSimpleLiteral() - pass - elif token in [233, 309]: - localctx = SqlBaseParser.ArrayLiteralContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1615 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==233: - self.state = 1614 - self.match(SqlBaseParser.ARRAY) - - - self.state = 1617 - self.match(SqlBaseParser.OPEN_SQUARE_BRACKET) - self.state = 1626 - self._errHandler.sync(self) - _la = self._input.LA(1) - if (((_la) & ~0x3f) == 0 and ((1 << _la) & -144809494838190) != 0) or ((((_la - 64)) & ~0x3f) == 0 and ((1 << (_la - 64)) & -109963250886559) != 0) or ((((_la - 128)) & ~0x3f) == 0 and ((1 << (_la - 128)) & -176289080147969) != 0) or ((((_la - 192)) & ~0x3f) == 0 and ((1 << (_la - 192)) & -506092043677131681) != 0) or ((((_la - 256)) & ~0x3f) == 0 and ((1 << (_la - 256)) & -2041819068675129345) != 0) or ((((_la - 320)) & ~0x3f) == 0 and ((1 << (_la - 320)) & 127) != 0): - self.state = 1618 - self.expr() - self.state = 1623 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 1619 - self.match(SqlBaseParser.COMMA) - self.state = 1620 - self.expr() - self.state = 1625 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - self.state = 1628 - self.match(SqlBaseParser.CLOSE_SQUARE_BRACKET) - pass - elif token in [307]: - localctx = SqlBaseParser.ObjectLiteralContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 1629 - self.match(SqlBaseParser.OPEN_CURLY_BRACKET) - self.state = 1638 - self._errHandler.sync(self) - _la = self._input.LA(1) - if (((_la) & ~0x3f) == 0 and ((1 << _la) & 1152776691328746578) != 0) or ((((_la - 70)) & ~0x3f) == 0 and ((1 << (_la - 70)) & -1718175795199) != 0) or ((((_la - 135)) & ~0x3f) == 0 and ((1 << (_la - 135)) & -4612531820615958531) != 0) or ((((_la - 202)) & ~0x3f) == 0 and ((1 << (_la - 202)) & -514023868187065) != 0) or ((((_la - 266)) & ~0x3f) == 0 and ((1 << (_la - 266)) & 1080863910568984575) != 0): - self.state = 1630 - self.objectKeyValue() - self.state = 1635 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 1631 - self.match(SqlBaseParser.COMMA) - self.state = 1632 - self.objectKeyValue() - self.state = 1637 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - self.state = 1640 - self.match(SqlBaseParser.CLOSE_CURLY_BRACKET) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ParameterOrSimpleLiteralContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def nullLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.NullLiteralContext,0) - - - def intervalLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.IntervalLiteralContext,0) - - - def escapedCharsStringLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.EscapedCharsStringLiteralContext,0) - - - def stringLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.StringLiteralContext,0) - - - def numericLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.NumericLiteralContext,0) - - - def booleanLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.BooleanLiteralContext,0) - - - def bitString(self): - return self.getTypedRuleContext(SqlBaseParser.BitStringContext,0) - - - def parameterExpr(self): - return self.getTypedRuleContext(SqlBaseParser.ParameterExprContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_parameterOrSimpleLiteral - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterParameterOrSimpleLiteral" ): - listener.enterParameterOrSimpleLiteral(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitParameterOrSimpleLiteral" ): - listener.exitParameterOrSimpleLiteral(self) - - - - - def parameterOrSimpleLiteral(self): - - localctx = SqlBaseParser.ParameterOrSimpleLiteralContext(self, self._ctx, self.state) - self.enterRule(localctx, 76, self.RULE_parameterOrSimpleLiteral) - try: - self.state = 1651 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [29]: - self.enterOuterAlt(localctx, 1) - self.state = 1643 - self.nullLiteral() - pass - elif token in [70]: - self.enterOuterAlt(localctx, 2) - self.state = 1644 - self.intervalLiteral() - pass - elif token in [318]: - self.enterOuterAlt(localctx, 3) - self.state = 1645 - self.escapedCharsStringLiteral() - pass - elif token in [317, 326]: - self.enterOuterAlt(localctx, 4) - self.state = 1646 - self.stringLiteral() - pass - elif token in [320, 321]: - self.enterOuterAlt(localctx, 5) - self.state = 1647 - self.numericLiteral() - pass - elif token in [30, 31]: - self.enterOuterAlt(localctx, 6) - self.state = 1648 - self.booleanLiteral() - pass - elif token in [319]: - self.enterOuterAlt(localctx, 7) - self.state = 1649 - self.bitString() - pass - elif token in [312, 313]: - self.enterOuterAlt(localctx, 8) - self.state = 1650 - self.parameterExpr() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ParameterOrIntegerContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return SqlBaseParser.RULE_parameterOrInteger - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class IntegerParamOrLiteralCastContext(ParameterOrIntegerContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ParameterOrIntegerContext - super().__init__(parser) - self.copyFrom(ctx) - - def CAST(self): - return self.getToken(SqlBaseParser.CAST, 0) - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def expr(self): - return self.getTypedRuleContext(SqlBaseParser.ExprContext,0) - - def AS(self): - return self.getToken(SqlBaseParser.AS, 0) - def dataType(self): - return self.getTypedRuleContext(SqlBaseParser.DataTypeContext,0) - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - def TRY_CAST(self): - return self.getToken(SqlBaseParser.TRY_CAST, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIntegerParamOrLiteralCast" ): - listener.enterIntegerParamOrLiteralCast(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIntegerParamOrLiteralCast" ): - listener.exitIntegerParamOrLiteralCast(self) - - - class IntegerParamOrLiteralDoubleColonCastContext(ParameterOrIntegerContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ParameterOrIntegerContext - super().__init__(parser) - self.copyFrom(ctx) - - def parameterOrLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.ParameterOrLiteralContext,0) - - def CAST_OPERATOR(self): - return self.getToken(SqlBaseParser.CAST_OPERATOR, 0) - def dataType(self): - return self.getTypedRuleContext(SqlBaseParser.DataTypeContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIntegerParamOrLiteralDoubleColonCast" ): - listener.enterIntegerParamOrLiteralDoubleColonCast(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIntegerParamOrLiteralDoubleColonCast" ): - listener.exitIntegerParamOrLiteralDoubleColonCast(self) - - - class NullAsLiteralContext(ParameterOrIntegerContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ParameterOrIntegerContext - super().__init__(parser) - self.copyFrom(ctx) - - def nullLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.NullLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterNullAsLiteral" ): - listener.enterNullAsLiteral(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitNullAsLiteral" ): - listener.exitNullAsLiteral(self) - - - class ParameterExpressionContext(ParameterOrIntegerContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ParameterOrIntegerContext - super().__init__(parser) - self.copyFrom(ctx) - - def parameterExpr(self): - return self.getTypedRuleContext(SqlBaseParser.ParameterExprContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterParameterExpression" ): - listener.enterParameterExpression(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitParameterExpression" ): - listener.exitParameterExpression(self) - - - class IntAsLiteralContext(ParameterOrIntegerContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ParameterOrIntegerContext - super().__init__(parser) - self.copyFrom(ctx) - - def integerLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.IntegerLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIntAsLiteral" ): - listener.enterIntAsLiteral(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIntAsLiteral" ): - listener.exitIntAsLiteral(self) - - - - def parameterOrInteger(self): - - localctx = SqlBaseParser.ParameterOrIntegerContext(self, self._ctx, self.state) - self.enterRule(localctx, 78, self.RULE_parameterOrInteger) - try: - self.state = 1674 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,209,self._ctx) - if la_ == 1: - localctx = SqlBaseParser.ParameterExpressionContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1653 - self.parameterExpr() - pass - - elif la_ == 2: - localctx = SqlBaseParser.IntAsLiteralContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1654 - self.integerLiteral() - pass - - elif la_ == 3: - localctx = SqlBaseParser.NullAsLiteralContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 1655 - self.nullLiteral() - pass - - elif la_ == 4: - localctx = SqlBaseParser.IntegerParamOrLiteralDoubleColonCastContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 1656 - self.parameterOrLiteral() - self.state = 1657 - self.match(SqlBaseParser.CAST_OPERATOR) - self.state = 1658 - self.dataType(0) - pass - - elif la_ == 5: - localctx = SqlBaseParser.IntegerParamOrLiteralCastContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 1660 - self.match(SqlBaseParser.CAST) - self.state = 1661 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1662 - self.expr() - self.state = 1663 - self.match(SqlBaseParser.AS) - self.state = 1664 - self.dataType(0) - self.state = 1665 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - - elif la_ == 6: - localctx = SqlBaseParser.IntegerParamOrLiteralCastContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 1667 - self.match(SqlBaseParser.TRY_CAST) - self.state = 1668 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1669 - self.expr() - self.state = 1670 - self.match(SqlBaseParser.AS) - self.state = 1671 - self.dataType(0) - self.state = 1672 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ParameterOrIdentContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def parameterExpr(self): - return self.getTypedRuleContext(SqlBaseParser.ParameterExprContext,0) - - - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_parameterOrIdent - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterParameterOrIdent" ): - listener.enterParameterOrIdent(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitParameterOrIdent" ): - listener.exitParameterOrIdent(self) - - - - - def parameterOrIdent(self): - - localctx = SqlBaseParser.ParameterOrIdentContext(self, self._ctx, self.state) - self.enterRule(localctx, 80, self.RULE_parameterOrIdent) - try: - self.state = 1678 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [312, 313]: - self.enterOuterAlt(localctx, 1) - self.state = 1676 - self.parameterExpr() - pass - elif token in [1, 4, 6, 10, 27, 32, 33, 35, 38, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 70, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 93, 96, 98, 99, 100, 101, 102, 103, 104, 105, 107, 108, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 161, 163, 165, 167, 168, 169, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 202, 203, 204, 208, 211, 212, 213, 214, 215, 219, 220, 221, 223, 224, 225, 226, 228, 229, 230, 231, 232, 234, 235, 236, 237, 238, 239, 240, 244, 245, 247, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 322, 323, 324, 325]: - self.enterOuterAlt(localctx, 2) - self.state = 1677 - self.ident() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ParameterOrStringContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def parameterExpr(self): - return self.getTypedRuleContext(SqlBaseParser.ParameterExprContext,0) - - - def stringLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.StringLiteralContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_parameterOrString - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterParameterOrString" ): - listener.enterParameterOrString(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitParameterOrString" ): - listener.exitParameterOrString(self) - - - - - def parameterOrString(self): - - localctx = SqlBaseParser.ParameterOrStringContext(self, self._ctx, self.state) - self.enterRule(localctx, 82, self.RULE_parameterOrString) - try: - self.state = 1682 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [312, 313]: - self.enterOuterAlt(localctx, 1) - self.state = 1680 - self.parameterExpr() - pass - elif token in [317, 326]: - self.enterOuterAlt(localctx, 2) - self.state = 1681 - self.stringLiteral() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ParameterExprContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return SqlBaseParser.RULE_parameterExpr - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class ParameterPlaceholderContext(ParameterExprContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ParameterExprContext - super().__init__(parser) - self.copyFrom(ctx) - - def QUESTION(self): - return self.getToken(SqlBaseParser.QUESTION, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterParameterPlaceholder" ): - listener.enterParameterPlaceholder(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitParameterPlaceholder" ): - listener.exitParameterPlaceholder(self) - - - class PositionalParameterContext(ParameterExprContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ParameterExprContext - super().__init__(parser) - self.copyFrom(ctx) - - def DOLLAR(self): - return self.getToken(SqlBaseParser.DOLLAR, 0) - def integerLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.IntegerLiteralContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPositionalParameter" ): - listener.enterPositionalParameter(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPositionalParameter" ): - listener.exitPositionalParameter(self) - - - - def parameterExpr(self): - - localctx = SqlBaseParser.ParameterExprContext(self, self._ctx, self.state) - self.enterRule(localctx, 84, self.RULE_parameterExpr) - try: - self.state = 1687 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [313]: - localctx = SqlBaseParser.PositionalParameterContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1684 - self.match(SqlBaseParser.DOLLAR) - self.state = 1685 - self.integerLiteral() - pass - elif token in [312]: - localctx = SqlBaseParser.ParameterPlaceholderContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1686 - self.match(SqlBaseParser.QUESTION) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class NullLiteralContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def NULL(self): - return self.getToken(SqlBaseParser.NULL, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_nullLiteral - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterNullLiteral" ): - listener.enterNullLiteral(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitNullLiteral" ): - listener.exitNullLiteral(self) - - - - - def nullLiteral(self): - - localctx = SqlBaseParser.NullLiteralContext(self, self._ctx, self.state) - self.enterRule(localctx, 86, self.RULE_nullLiteral) - try: - self.enterOuterAlt(localctx, 1) - self.state = 1689 - self.match(SqlBaseParser.NULL) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class EscapedCharsStringLiteralContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ESCAPED_STRING(self): - return self.getToken(SqlBaseParser.ESCAPED_STRING, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_escapedCharsStringLiteral - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterEscapedCharsStringLiteral" ): - listener.enterEscapedCharsStringLiteral(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitEscapedCharsStringLiteral" ): - listener.exitEscapedCharsStringLiteral(self) - - - - - def escapedCharsStringLiteral(self): - - localctx = SqlBaseParser.EscapedCharsStringLiteralContext(self, self._ctx, self.state) - self.enterRule(localctx, 88, self.RULE_escapedCharsStringLiteral) - try: - self.enterOuterAlt(localctx, 1) - self.state = 1691 - self.match(SqlBaseParser.ESCAPED_STRING) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DollarQuotedStringLiteralContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def BEGIN_DOLLAR_QUOTED_STRING(self): - return self.getToken(SqlBaseParser.BEGIN_DOLLAR_QUOTED_STRING, 0) - - def END_DOLLAR_QUOTED_STRING(self): - return self.getToken(SqlBaseParser.END_DOLLAR_QUOTED_STRING, 0) - - def DOLLAR_QUOTED_STRING_BODY(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.DOLLAR_QUOTED_STRING_BODY) - else: - return self.getToken(SqlBaseParser.DOLLAR_QUOTED_STRING_BODY, i) - - def getRuleIndex(self): - return SqlBaseParser.RULE_dollarQuotedStringLiteral - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDollarQuotedStringLiteral" ): - listener.enterDollarQuotedStringLiteral(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDollarQuotedStringLiteral" ): - listener.exitDollarQuotedStringLiteral(self) - - - - - def dollarQuotedStringLiteral(self): - - localctx = SqlBaseParser.DollarQuotedStringLiteralContext(self, self._ctx, self.state) - self.enterRule(localctx, 90, self.RULE_dollarQuotedStringLiteral) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1693 - self.match(SqlBaseParser.BEGIN_DOLLAR_QUOTED_STRING) - self.state = 1697 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==330: - self.state = 1694 - self.match(SqlBaseParser.DOLLAR_QUOTED_STRING_BODY) - self.state = 1699 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1700 - self.match(SqlBaseParser.END_DOLLAR_QUOTED_STRING) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class StringLiteralContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def STRING(self): - return self.getToken(SqlBaseParser.STRING, 0) - - def dollarQuotedStringLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.DollarQuotedStringLiteralContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_stringLiteral - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterStringLiteral" ): - listener.enterStringLiteral(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitStringLiteral" ): - listener.exitStringLiteral(self) - - - - - def stringLiteral(self): - - localctx = SqlBaseParser.StringLiteralContext(self, self._ctx, self.state) - self.enterRule(localctx, 92, self.RULE_stringLiteral) - try: - self.state = 1704 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [317]: - self.enterOuterAlt(localctx, 1) - self.state = 1702 - self.match(SqlBaseParser.STRING) - pass - elif token in [326]: - self.enterOuterAlt(localctx, 2) - self.state = 1703 - self.dollarQuotedStringLiteral() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class BitStringContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def BIT_STRING(self): - return self.getToken(SqlBaseParser.BIT_STRING, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_bitString - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBitString" ): - listener.enterBitString(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBitString" ): - listener.exitBitString(self) - - - - - def bitString(self): - - localctx = SqlBaseParser.BitStringContext(self, self._ctx, self.state) - self.enterRule(localctx, 94, self.RULE_bitString) - try: - self.enterOuterAlt(localctx, 1) - self.state = 1706 - self.match(SqlBaseParser.BIT_STRING) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SubscriptSafeContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.value = None # SubscriptSafeContext - self.index = None # ValueExpressionContext - - def qname(self): - return self.getTypedRuleContext(SqlBaseParser.QnameContext,0) - - - def OPEN_SQUARE_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_SQUARE_BRACKET, 0) - - def CLOSE_SQUARE_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_SQUARE_BRACKET, 0) - - def subscriptSafe(self): - return self.getTypedRuleContext(SqlBaseParser.SubscriptSafeContext,0) - - - def valueExpression(self): - return self.getTypedRuleContext(SqlBaseParser.ValueExpressionContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_subscriptSafe - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSubscriptSafe" ): - listener.enterSubscriptSafe(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSubscriptSafe" ): - listener.exitSubscriptSafe(self) - - - - def subscriptSafe(self, _p:int=0): - _parentctx = self._ctx - _parentState = self.state - localctx = SqlBaseParser.SubscriptSafeContext(self, self._ctx, _parentState) - _prevctx = localctx - _startState = 96 - self.enterRecursionRule(localctx, 96, self.RULE_subscriptSafe, _p) - try: - self.enterOuterAlt(localctx, 1) - self.state = 1709 - self.qname() - self._ctx.stop = self._input.LT(-1) - self.state = 1718 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,215,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - if self._parseListeners is not None: - self.triggerExitRuleEvent() - _prevctx = localctx - localctx = SqlBaseParser.SubscriptSafeContext(self, _parentctx, _parentState) - localctx.value = _prevctx - self.pushNewRecursionContext(localctx, _startState, self.RULE_subscriptSafe) - self.state = 1711 - if not self.precpred(self._ctx, 2): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 2)") - self.state = 1712 - self.match(SqlBaseParser.OPEN_SQUARE_BRACKET) - self.state = 1713 - localctx.index = self.valueExpression(0) - self.state = 1714 - self.match(SqlBaseParser.CLOSE_SQUARE_BRACKET) - self.state = 1720 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,215,self._ctx) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.unrollRecursionContexts(_parentctx) - return localctx - - - class CmpOpContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def EQ(self): - return self.getToken(SqlBaseParser.EQ, 0) - - def NEQ(self): - return self.getToken(SqlBaseParser.NEQ, 0) - - def LT(self): - return self.getToken(SqlBaseParser.LT, 0) - - def LTE(self): - return self.getToken(SqlBaseParser.LTE, 0) - - def GT(self): - return self.getToken(SqlBaseParser.GT, 0) - - def GTE(self): - return self.getToken(SqlBaseParser.GTE, 0) - - def LLT(self): - return self.getToken(SqlBaseParser.LLT, 0) - - def REGEX_MATCH(self): - return self.getToken(SqlBaseParser.REGEX_MATCH, 0) - - def REGEX_NO_MATCH(self): - return self.getToken(SqlBaseParser.REGEX_NO_MATCH, 0) - - def REGEX_MATCH_CI(self): - return self.getToken(SqlBaseParser.REGEX_MATCH_CI, 0) - - def REGEX_NO_MATCH_CI(self): - return self.getToken(SqlBaseParser.REGEX_NO_MATCH_CI, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_cmpOp - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCmpOp" ): - listener.enterCmpOp(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCmpOp" ): - listener.exitCmpOp(self) - - - - - def cmpOp(self): - - localctx = SqlBaseParser.CmpOpContext(self, self._ctx, self.state) - self.enterRule(localctx, 98, self.RULE_cmpOp) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1721 - _la = self._input.LA(1) - if not(((((_la - 282)) & ~0x3f) == 0 and ((1 << (_la - 282)) & 2047) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SetCmpQuantifierContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ANY(self): - return self.getToken(SqlBaseParser.ANY, 0) - - def SOME(self): - return self.getToken(SqlBaseParser.SOME, 0) - - def ALL(self): - return self.getToken(SqlBaseParser.ALL, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_setCmpQuantifier - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSetCmpQuantifier" ): - listener.enterSetCmpQuantifier(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSetCmpQuantifier" ): - listener.exitSetCmpQuantifier(self) - - - - - def setCmpQuantifier(self): - - localctx = SqlBaseParser.SetCmpQuantifierContext(self, self._ctx, self.state) - self.enterRule(localctx, 100, self.RULE_setCmpQuantifier) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1723 - _la = self._input.LA(1) - if not((((_la) & ~0x3f) == 0 and ((1 << _la) & 896) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class WhenClauseContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.condition = None # ExprContext - self.result = None # ExprContext - - def WHEN(self): - return self.getToken(SqlBaseParser.WHEN, 0) - - def THEN(self): - return self.getToken(SqlBaseParser.THEN, 0) - - def expr(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ExprContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ExprContext,i) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_whenClause - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterWhenClause" ): - listener.enterWhenClause(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitWhenClause" ): - listener.exitWhenClause(self) - - - - - def whenClause(self): - - localctx = SqlBaseParser.WhenClauseContext(self, self._ctx, self.state) - self.enterRule(localctx, 102, self.RULE_whenClause) - try: - self.enterOuterAlt(localctx, 1) - self.state = 1725 - self.match(SqlBaseParser.WHEN) - self.state = 1726 - localctx.condition = self.expr() - self.state = 1727 - self.match(SqlBaseParser.THEN) - self.state = 1728 - localctx.result = self.expr() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class NamedWindowContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.name = None # IdentContext - - def AS(self): - return self.getToken(SqlBaseParser.AS, 0) - - def windowDefinition(self): - return self.getTypedRuleContext(SqlBaseParser.WindowDefinitionContext,0) - - - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_namedWindow - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterNamedWindow" ): - listener.enterNamedWindow(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitNamedWindow" ): - listener.exitNamedWindow(self) - - - - - def namedWindow(self): - - localctx = SqlBaseParser.NamedWindowContext(self, self._ctx, self.state) - self.enterRule(localctx, 104, self.RULE_namedWindow) - try: - self.enterOuterAlt(localctx, 1) - self.state = 1730 - localctx.name = self.ident() - self.state = 1731 - self.match(SqlBaseParser.AS) - self.state = 1732 - self.windowDefinition() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class OverContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def OVER(self): - return self.getToken(SqlBaseParser.OVER, 0) - - def windowDefinition(self): - return self.getTypedRuleContext(SqlBaseParser.WindowDefinitionContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_over - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterOver" ): - listener.enterOver(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitOver" ): - listener.exitOver(self) - - - - - def over(self): - - localctx = SqlBaseParser.OverContext(self, self._ctx, self.state) - self.enterRule(localctx, 106, self.RULE_over) - try: - self.enterOuterAlt(localctx, 1) - self.state = 1734 - self.match(SqlBaseParser.OVER) - self.state = 1735 - self.windowDefinition() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class WindowDefinitionContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.windowRef = None # IdentContext - self._expr = None # ExprContext - self.partition = list() # of ExprContexts - - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - - def PARTITION(self): - return self.getToken(SqlBaseParser.PARTITION, 0) - - def BY(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.BY) - else: - return self.getToken(SqlBaseParser.BY, i) - - def ORDER(self): - return self.getToken(SqlBaseParser.ORDER, 0) - - def sortItem(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.SortItemContext) - else: - return self.getTypedRuleContext(SqlBaseParser.SortItemContext,i) - - - def windowFrame(self): - return self.getTypedRuleContext(SqlBaseParser.WindowFrameContext,0) - - - def expr(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ExprContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ExprContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def getRuleIndex(self): - return SqlBaseParser.RULE_windowDefinition - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterWindowDefinition" ): - listener.enterWindowDefinition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitWindowDefinition" ): - listener.exitWindowDefinition(self) - - - - - def windowDefinition(self): - - localctx = SqlBaseParser.WindowDefinitionContext(self, self._ctx, self.state) - self.enterRule(localctx, 108, self.RULE_windowDefinition) - self._la = 0 # Token type - try: - self.state = 1770 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [1, 4, 6, 10, 27, 32, 33, 35, 38, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 70, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 93, 96, 98, 99, 100, 101, 102, 103, 104, 105, 107, 108, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 161, 163, 165, 167, 168, 169, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 202, 203, 204, 208, 211, 212, 213, 214, 215, 219, 220, 221, 223, 224, 225, 226, 228, 229, 230, 231, 232, 234, 235, 236, 237, 238, 239, 240, 244, 245, 247, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 322, 323, 324, 325]: - self.enterOuterAlt(localctx, 1) - self.state = 1737 - localctx.windowRef = self.ident() - pass - elif token in [305]: - self.enterOuterAlt(localctx, 2) - self.state = 1738 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1740 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,216,self._ctx) - if la_ == 1: - self.state = 1739 - localctx.windowRef = self.ident() - - - self.state = 1752 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==83: - self.state = 1742 - self.match(SqlBaseParser.PARTITION) - self.state = 1743 - self.match(SqlBaseParser.BY) - self.state = 1744 - localctx._expr = self.expr() - localctx.partition.append(localctx._expr) - self.state = 1749 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 1745 - self.match(SqlBaseParser.COMMA) - self.state = 1746 - localctx._expr = self.expr() - localctx.partition.append(localctx._expr) - self.state = 1751 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - self.state = 1764 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==16: - self.state = 1754 - self.match(SqlBaseParser.ORDER) - self.state = 1755 - self.match(SqlBaseParser.BY) - self.state = 1756 - self.sortItem() - self.state = 1761 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 1757 - self.match(SqlBaseParser.COMMA) - self.state = 1758 - self.sortItem() - self.state = 1763 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - self.state = 1767 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==85 or _la==86: - self.state = 1766 - self.windowFrame() - - - self.state = 1769 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class WindowFrameContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.frameType = None # Token - self.start = None # FrameBoundContext - self.end = None # FrameBoundContext - - def RANGE(self): - return self.getToken(SqlBaseParser.RANGE, 0) - - def frameBound(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.FrameBoundContext) - else: - return self.getTypedRuleContext(SqlBaseParser.FrameBoundContext,i) - - - def ROWS(self): - return self.getToken(SqlBaseParser.ROWS, 0) - - def BETWEEN(self): - return self.getToken(SqlBaseParser.BETWEEN, 0) - - def AND(self): - return self.getToken(SqlBaseParser.AND, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_windowFrame - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterWindowFrame" ): - listener.enterWindowFrame(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitWindowFrame" ): - listener.exitWindowFrame(self) - - - - - def windowFrame(self): - - localctx = SqlBaseParser.WindowFrameContext(self, self._ctx, self.state) - self.enterRule(localctx, 110, self.RULE_windowFrame) - try: - self.state = 1788 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,223,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 1772 - localctx.frameType = self.match(SqlBaseParser.RANGE) - self.state = 1773 - localctx.start = self.frameBound() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 1774 - localctx.frameType = self.match(SqlBaseParser.ROWS) - self.state = 1775 - localctx.start = self.frameBound() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 1776 - localctx.frameType = self.match(SqlBaseParser.RANGE) - self.state = 1777 - self.match(SqlBaseParser.BETWEEN) - self.state = 1778 - localctx.start = self.frameBound() - self.state = 1779 - self.match(SqlBaseParser.AND) - self.state = 1780 - localctx.end = self.frameBound() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 1782 - localctx.frameType = self.match(SqlBaseParser.ROWS) - self.state = 1783 - self.match(SqlBaseParser.BETWEEN) - self.state = 1784 - localctx.start = self.frameBound() - self.state = 1785 - self.match(SqlBaseParser.AND) - self.state = 1786 - localctx.end = self.frameBound() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class FrameBoundContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return SqlBaseParser.RULE_frameBound - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class BoundedFrameContext(FrameBoundContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.FrameBoundContext - super().__init__(parser) - self.boundType = None # Token - self.copyFrom(ctx) - - def expr(self): - return self.getTypedRuleContext(SqlBaseParser.ExprContext,0) - - def PRECEDING(self): - return self.getToken(SqlBaseParser.PRECEDING, 0) - def FOLLOWING(self): - return self.getToken(SqlBaseParser.FOLLOWING, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBoundedFrame" ): - listener.enterBoundedFrame(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBoundedFrame" ): - listener.exitBoundedFrame(self) - - - class UnboundedFrameContext(FrameBoundContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.FrameBoundContext - super().__init__(parser) - self.boundType = None # Token - self.copyFrom(ctx) - - def UNBOUNDED(self): - return self.getToken(SqlBaseParser.UNBOUNDED, 0) - def PRECEDING(self): - return self.getToken(SqlBaseParser.PRECEDING, 0) - def FOLLOWING(self): - return self.getToken(SqlBaseParser.FOLLOWING, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUnboundedFrame" ): - listener.enterUnboundedFrame(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUnboundedFrame" ): - listener.exitUnboundedFrame(self) - - - class CurrentRowBoundContext(FrameBoundContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.FrameBoundContext - super().__init__(parser) - self.copyFrom(ctx) - - def CURRENT(self): - return self.getToken(SqlBaseParser.CURRENT, 0) - def ROW(self): - return self.getToken(SqlBaseParser.ROW, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCurrentRowBound" ): - listener.enterCurrentRowBound(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCurrentRowBound" ): - listener.exitCurrentRowBound(self) - - - - def frameBound(self): - - localctx = SqlBaseParser.FrameBoundContext(self, self._ctx, self.state) - self.enterRule(localctx, 112, self.RULE_frameBound) - self._la = 0 # Token type - try: - self.state = 1799 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,224,self._ctx) - if la_ == 1: - localctx = SqlBaseParser.UnboundedFrameContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1790 - self.match(SqlBaseParser.UNBOUNDED) - self.state = 1791 - localctx.boundType = self.match(SqlBaseParser.PRECEDING) - pass - - elif la_ == 2: - localctx = SqlBaseParser.UnboundedFrameContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1792 - self.match(SqlBaseParser.UNBOUNDED) - self.state = 1793 - localctx.boundType = self.match(SqlBaseParser.FOLLOWING) - pass - - elif la_ == 3: - localctx = SqlBaseParser.CurrentRowBoundContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 1794 - self.match(SqlBaseParser.CURRENT) - self.state = 1795 - self.match(SqlBaseParser.ROW) - pass - - elif la_ == 4: - localctx = SqlBaseParser.BoundedFrameContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 1796 - self.expr() - self.state = 1797 - localctx.boundType = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==88 or _la==89): - localctx.boundType = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class QnamesContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def qname(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.QnameContext) - else: - return self.getTypedRuleContext(SqlBaseParser.QnameContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def getRuleIndex(self): - return SqlBaseParser.RULE_qnames - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterQnames" ): - listener.enterQnames(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitQnames" ): - listener.exitQnames(self) - - - - - def qnames(self): - - localctx = SqlBaseParser.QnamesContext(self, self._ctx, self.state) - self.enterRule(localctx, 114, self.RULE_qnames) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1801 - self.qname() - self.state = 1806 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 1802 - self.match(SqlBaseParser.COMMA) - self.state = 1803 - self.qname() - self.state = 1808 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class QnameContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ident(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.IdentContext) - else: - return self.getTypedRuleContext(SqlBaseParser.IdentContext,i) - - - def DOT(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.DOT) - else: - return self.getToken(SqlBaseParser.DOT, i) - - def getRuleIndex(self): - return SqlBaseParser.RULE_qname - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterQname" ): - listener.enterQname(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitQname" ): - listener.exitQname(self) - - - - - def qname(self): - - localctx = SqlBaseParser.QnameContext(self, self._ctx, self.state) - self.enterRule(localctx, 116, self.RULE_qname) - try: - self.enterOuterAlt(localctx, 1) - self.state = 1809 - self.ident() - self.state = 1814 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,226,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - self.state = 1810 - self.match(SqlBaseParser.DOT) - self.state = 1811 - self.ident() - self.state = 1816 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,226,self._ctx) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SpaceSeparatedIdentsContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def identWithOrWithoutValue(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.IdentWithOrWithoutValueContext) - else: - return self.getTypedRuleContext(SqlBaseParser.IdentWithOrWithoutValueContext,i) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_spaceSeparatedIdents - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSpaceSeparatedIdents" ): - listener.enterSpaceSeparatedIdents(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSpaceSeparatedIdents" ): - listener.exitSpaceSeparatedIdents(self) - - - - - def spaceSeparatedIdents(self): - - localctx = SqlBaseParser.SpaceSeparatedIdentsContext(self, self._ctx, self.state) - self.enterRule(localctx, 118, self.RULE_spaceSeparatedIdents) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1817 - self.identWithOrWithoutValue() - self.state = 1821 - self._errHandler.sync(self) - _la = self._input.LA(1) - while (((_la) & ~0x3f) == 0 and ((1 << _la) & 1152776691328746578) != 0) or ((((_la - 70)) & ~0x3f) == 0 and ((1 << (_la - 70)) & -1718175795199) != 0) or ((((_la - 135)) & ~0x3f) == 0 and ((1 << (_la - 135)) & -4612531820615958531) != 0) or ((((_la - 202)) & ~0x3f) == 0 and ((1 << (_la - 202)) & -514023868187065) != 0) or ((((_la - 266)) & ~0x3f) == 0 and ((1 << (_la - 266)) & 1080863910568984575) != 0): - self.state = 1818 - self.identWithOrWithoutValue() - self.state = 1823 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class IdentWithOrWithoutValueContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def parameterOrSimpleLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.ParameterOrSimpleLiteralContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_identWithOrWithoutValue - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIdentWithOrWithoutValue" ): - listener.enterIdentWithOrWithoutValue(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIdentWithOrWithoutValue" ): - listener.exitIdentWithOrWithoutValue(self) - - - - - def identWithOrWithoutValue(self): - - localctx = SqlBaseParser.IdentWithOrWithoutValueContext(self, self._ctx, self.state) - self.enterRule(localctx, 120, self.RULE_identWithOrWithoutValue) - try: - self.enterOuterAlt(localctx, 1) - self.state = 1824 - self.ident() - self.state = 1826 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,228,self._ctx) - if la_ == 1: - self.state = 1825 - self.parameterOrSimpleLiteral() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class IdentsContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ident(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.IdentContext) - else: - return self.getTypedRuleContext(SqlBaseParser.IdentContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def getRuleIndex(self): - return SqlBaseParser.RULE_idents - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIdents" ): - listener.enterIdents(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIdents" ): - listener.exitIdents(self) - - - - - def idents(self): - - localctx = SqlBaseParser.IdentsContext(self, self._ctx, self.state) - self.enterRule(localctx, 122, self.RULE_idents) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1828 - self.ident() - self.state = 1833 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 1829 - self.match(SqlBaseParser.COMMA) - self.state = 1830 - self.ident() - self.state = 1835 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class IdentContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def unquotedIdent(self): - return self.getTypedRuleContext(SqlBaseParser.UnquotedIdentContext,0) - - - def quotedIdent(self): - return self.getTypedRuleContext(SqlBaseParser.QuotedIdentContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_ident - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIdent" ): - listener.enterIdent(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIdent" ): - listener.exitIdent(self) - - - - - def ident(self): - - localctx = SqlBaseParser.IdentContext(self, self._ctx, self.state) - self.enterRule(localctx, 124, self.RULE_ident) - try: - self.state = 1838 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [1, 4, 6, 10, 27, 32, 33, 35, 38, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 70, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 93, 96, 98, 99, 100, 101, 102, 103, 104, 105, 107, 108, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 161, 163, 165, 167, 168, 169, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 202, 203, 204, 208, 211, 212, 213, 214, 215, 219, 220, 221, 223, 224, 225, 226, 228, 229, 230, 231, 232, 234, 235, 236, 237, 238, 239, 240, 244, 245, 247, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 322, 323]: - self.enterOuterAlt(localctx, 1) - self.state = 1836 - self.unquotedIdent() - pass - elif token in [324, 325]: - self.enterOuterAlt(localctx, 2) - self.state = 1837 - self.quotedIdent() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class UnquotedIdentContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return SqlBaseParser.RULE_unquotedIdent - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class DigitIdentifierContext(UnquotedIdentContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.UnquotedIdentContext - super().__init__(parser) - self.copyFrom(ctx) - - def DIGIT_IDENTIFIER(self): - return self.getToken(SqlBaseParser.DIGIT_IDENTIFIER, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDigitIdentifier" ): - listener.enterDigitIdentifier(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDigitIdentifier" ): - listener.exitDigitIdentifier(self) - - - class UnquotedIdentifierContext(UnquotedIdentContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.UnquotedIdentContext - super().__init__(parser) - self.copyFrom(ctx) - - def IDENTIFIER(self): - return self.getToken(SqlBaseParser.IDENTIFIER, 0) - def nonReserved(self): - return self.getTypedRuleContext(SqlBaseParser.NonReservedContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterUnquotedIdentifier" ): - listener.enterUnquotedIdentifier(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitUnquotedIdentifier" ): - listener.exitUnquotedIdentifier(self) - - - - def unquotedIdent(self): - - localctx = SqlBaseParser.UnquotedIdentContext(self, self._ctx, self.state) - self.enterRule(localctx, 126, self.RULE_unquotedIdent) - try: - self.state = 1843 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [322]: - localctx = SqlBaseParser.UnquotedIdentifierContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1840 - self.match(SqlBaseParser.IDENTIFIER) - pass - elif token in [1, 4, 6, 10, 27, 32, 33, 35, 38, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 70, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 93, 96, 98, 99, 100, 101, 102, 103, 104, 105, 107, 108, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 161, 163, 165, 167, 168, 169, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 202, 203, 204, 208, 211, 212, 213, 214, 215, 219, 220, 221, 223, 224, 225, 226, 228, 229, 230, 231, 232, 234, 235, 236, 237, 238, 239, 240, 244, 245, 247, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281]: - localctx = SqlBaseParser.UnquotedIdentifierContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1841 - self.nonReserved() - pass - elif token in [323]: - localctx = SqlBaseParser.DigitIdentifierContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 1842 - self.match(SqlBaseParser.DIGIT_IDENTIFIER) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class QuotedIdentContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return SqlBaseParser.RULE_quotedIdent - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class BackQuotedIdentifierContext(QuotedIdentContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.QuotedIdentContext - super().__init__(parser) - self.copyFrom(ctx) - - def BACKQUOTED_IDENTIFIER(self): - return self.getToken(SqlBaseParser.BACKQUOTED_IDENTIFIER, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBackQuotedIdentifier" ): - listener.enterBackQuotedIdentifier(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBackQuotedIdentifier" ): - listener.exitBackQuotedIdentifier(self) - - - class QuotedIdentifierContext(QuotedIdentContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.QuotedIdentContext - super().__init__(parser) - self.copyFrom(ctx) - - def QUOTED_IDENTIFIER(self): - return self.getToken(SqlBaseParser.QUOTED_IDENTIFIER, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterQuotedIdentifier" ): - listener.enterQuotedIdentifier(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitQuotedIdentifier" ): - listener.exitQuotedIdentifier(self) - - - - def quotedIdent(self): - - localctx = SqlBaseParser.QuotedIdentContext(self, self._ctx, self.state) - self.enterRule(localctx, 128, self.RULE_quotedIdent) - try: - self.state = 1847 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [324]: - localctx = SqlBaseParser.QuotedIdentifierContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1845 - self.match(SqlBaseParser.QUOTED_IDENTIFIER) - pass - elif token in [325]: - localctx = SqlBaseParser.BackQuotedIdentifierContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1846 - self.match(SqlBaseParser.BACKQUOTED_IDENTIFIER) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class StringLiteralOrIdentifierContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def stringLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.StringLiteralContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_stringLiteralOrIdentifier - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterStringLiteralOrIdentifier" ): - listener.enterStringLiteralOrIdentifier(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitStringLiteralOrIdentifier" ): - listener.exitStringLiteralOrIdentifier(self) - - - - - def stringLiteralOrIdentifier(self): - - localctx = SqlBaseParser.StringLiteralOrIdentifierContext(self, self._ctx, self.state) - self.enterRule(localctx, 130, self.RULE_stringLiteralOrIdentifier) - try: - self.state = 1851 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [1, 4, 6, 10, 27, 32, 33, 35, 38, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 70, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 93, 96, 98, 99, 100, 101, 102, 103, 104, 105, 107, 108, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 161, 163, 165, 167, 168, 169, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 202, 203, 204, 208, 211, 212, 213, 214, 215, 219, 220, 221, 223, 224, 225, 226, 228, 229, 230, 231, 232, 234, 235, 236, 237, 238, 239, 240, 244, 245, 247, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 322, 323, 324, 325]: - self.enterOuterAlt(localctx, 1) - self.state = 1849 - self.ident() - pass - elif token in [317, 326]: - self.enterOuterAlt(localctx, 2) - self.state = 1850 - self.stringLiteral() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class StringLiteralOrIdentifierOrQnameContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def qname(self): - return self.getTypedRuleContext(SqlBaseParser.QnameContext,0) - - - def stringLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.StringLiteralContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_stringLiteralOrIdentifierOrQname - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterStringLiteralOrIdentifierOrQname" ): - listener.enterStringLiteralOrIdentifierOrQname(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitStringLiteralOrIdentifierOrQname" ): - listener.exitStringLiteralOrIdentifierOrQname(self) - - - - - def stringLiteralOrIdentifierOrQname(self): - - localctx = SqlBaseParser.StringLiteralOrIdentifierOrQnameContext(self, self._ctx, self.state) - self.enterRule(localctx, 132, self.RULE_stringLiteralOrIdentifierOrQname) - try: - self.state = 1856 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,234,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 1853 - self.ident() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 1854 - self.qname() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 1855 - self.stringLiteral() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class NumericLiteralContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def decimalLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.DecimalLiteralContext,0) - - - def integerLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.IntegerLiteralContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_numericLiteral - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterNumericLiteral" ): - listener.enterNumericLiteral(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitNumericLiteral" ): - listener.exitNumericLiteral(self) - - - - - def numericLiteral(self): - - localctx = SqlBaseParser.NumericLiteralContext(self, self._ctx, self.state) - self.enterRule(localctx, 134, self.RULE_numericLiteral) - try: - self.state = 1860 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [321]: - self.enterOuterAlt(localctx, 1) - self.state = 1858 - self.decimalLiteral() - pass - elif token in [320]: - self.enterOuterAlt(localctx, 2) - self.state = 1859 - self.integerLiteral() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class IntervalLiteralContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.sign = None # Token - self.from_ = None # IntervalFieldContext - self.to = None # IntervalFieldContext - - def INTERVAL(self): - return self.getToken(SqlBaseParser.INTERVAL, 0) - - def stringLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.StringLiteralContext,0) - - - def intervalField(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.IntervalFieldContext) - else: - return self.getTypedRuleContext(SqlBaseParser.IntervalFieldContext,i) - - - def TO(self): - return self.getToken(SqlBaseParser.TO, 0) - - def PLUS(self): - return self.getToken(SqlBaseParser.PLUS, 0) - - def MINUS(self): - return self.getToken(SqlBaseParser.MINUS, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_intervalLiteral - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIntervalLiteral" ): - listener.enterIntervalLiteral(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIntervalLiteral" ): - listener.exitIntervalLiteral(self) - - - - - def intervalLiteral(self): - - localctx = SqlBaseParser.IntervalLiteralContext(self, self._ctx, self.state) - self.enterRule(localctx, 136, self.RULE_intervalLiteral) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1862 - self.match(SqlBaseParser.INTERVAL) - self.state = 1864 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==293 or _la==294: - self.state = 1863 - localctx.sign = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==293 or _la==294): - localctx.sign = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - - - self.state = 1866 - self.stringLiteral() - self.state = 1867 - localctx.from_ = self.intervalField() - self.state = 1870 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,237,self._ctx) - if la_ == 1: - self.state = 1868 - self.match(SqlBaseParser.TO) - self.state = 1869 - localctx.to = self.intervalField() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class IntervalFieldContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def YEAR(self): - return self.getToken(SqlBaseParser.YEAR, 0) - - def MONTH(self): - return self.getToken(SqlBaseParser.MONTH, 0) - - def DAY(self): - return self.getToken(SqlBaseParser.DAY, 0) - - def HOUR(self): - return self.getToken(SqlBaseParser.HOUR, 0) - - def MINUTE(self): - return self.getToken(SqlBaseParser.MINUTE, 0) - - def SECOND(self): - return self.getToken(SqlBaseParser.SECOND, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_intervalField - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIntervalField" ): - listener.enterIntervalField(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIntervalField" ): - listener.exitIntervalField(self) - - - - - def intervalField(self): - - localctx = SqlBaseParser.IntervalFieldContext(self, self._ctx, self.state) - self.enterRule(localctx, 138, self.RULE_intervalField) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1872 - _la = self._input.LA(1) - if not((((_la) & ~0x3f) == 0 and ((1 << _la) & 70931694131085312) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class BooleanLiteralContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def TRUE(self): - return self.getToken(SqlBaseParser.TRUE, 0) - - def FALSE(self): - return self.getToken(SqlBaseParser.FALSE, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_booleanLiteral - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBooleanLiteral" ): - listener.enterBooleanLiteral(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBooleanLiteral" ): - listener.exitBooleanLiteral(self) - - - - - def booleanLiteral(self): - - localctx = SqlBaseParser.BooleanLiteralContext(self, self._ctx, self.state) - self.enterRule(localctx, 140, self.RULE_booleanLiteral) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1874 - _la = self._input.LA(1) - if not(_la==30 or _la==31): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DecimalLiteralContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DECIMAL_VALUE(self): - return self.getToken(SqlBaseParser.DECIMAL_VALUE, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_decimalLiteral - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDecimalLiteral" ): - listener.enterDecimalLiteral(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDecimalLiteral" ): - listener.exitDecimalLiteral(self) - - - - - def decimalLiteral(self): - - localctx = SqlBaseParser.DecimalLiteralContext(self, self._ctx, self.state) - self.enterRule(localctx, 142, self.RULE_decimalLiteral) - try: - self.enterOuterAlt(localctx, 1) - self.state = 1876 - self.match(SqlBaseParser.DECIMAL_VALUE) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class IntegerLiteralContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def INTEGER_VALUE(self): - return self.getToken(SqlBaseParser.INTEGER_VALUE, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_integerLiteral - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIntegerLiteral" ): - listener.enterIntegerLiteral(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIntegerLiteral" ): - listener.exitIntegerLiteral(self) - - - - - def integerLiteral(self): - - localctx = SqlBaseParser.IntegerLiteralContext(self, self._ctx, self.state) - self.enterRule(localctx, 144, self.RULE_integerLiteral) - try: - self.enterOuterAlt(localctx, 1) - self.state = 1878 - self.match(SqlBaseParser.INTEGER_VALUE) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ObjectKeyValueContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.key = None # IdentContext - self.value = None # ExprContext - - def EQ(self): - return self.getToken(SqlBaseParser.EQ, 0) - - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def expr(self): - return self.getTypedRuleContext(SqlBaseParser.ExprContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_objectKeyValue - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterObjectKeyValue" ): - listener.enterObjectKeyValue(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitObjectKeyValue" ): - listener.exitObjectKeyValue(self) - - - - - def objectKeyValue(self): - - localctx = SqlBaseParser.ObjectKeyValueContext(self, self._ctx, self.state) - self.enterRule(localctx, 146, self.RULE_objectKeyValue) - try: - self.enterOuterAlt(localctx, 1) - self.state = 1880 - localctx.key = self.ident() - self.state = 1881 - self.match(SqlBaseParser.EQ) - self.state = 1882 - localctx.value = self.expr() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class InsertSourceContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def query(self): - return self.getTypedRuleContext(SqlBaseParser.QueryContext,0) - - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_insertSource - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterInsertSource" ): - listener.enterInsertSource(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitInsertSource" ): - listener.exitInsertSource(self) - - - - - def insertSource(self): - - localctx = SqlBaseParser.InsertSourceContext(self, self._ctx, self.state) - self.enterRule(localctx, 148, self.RULE_insertSource) - try: - self.state = 1889 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [2, 92, 208]: - self.enterOuterAlt(localctx, 1) - self.state = 1884 - self.query() - pass - elif token in [305]: - self.enterOuterAlt(localctx, 2) - self.state = 1885 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1886 - self.query() - self.state = 1887 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class OnConflictContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ON(self): - return self.getToken(SqlBaseParser.ON, 0) - - def CONFLICT(self): - return self.getToken(SqlBaseParser.CONFLICT, 0) - - def DO(self): - return self.getToken(SqlBaseParser.DO, 0) - - def NOTHING(self): - return self.getToken(SqlBaseParser.NOTHING, 0) - - def conflictTarget(self): - return self.getTypedRuleContext(SqlBaseParser.ConflictTargetContext,0) - - - def UPDATE(self): - return self.getToken(SqlBaseParser.UPDATE, 0) - - def SET(self): - return self.getToken(SqlBaseParser.SET, 0) - - def assignment(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.AssignmentContext) - else: - return self.getTypedRuleContext(SqlBaseParser.AssignmentContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def getRuleIndex(self): - return SqlBaseParser.RULE_onConflict - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterOnConflict" ): - listener.enterOnConflict(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitOnConflict" ): - listener.exitOnConflict(self) - - - - - def onConflict(self): - - localctx = SqlBaseParser.OnConflictContext(self, self._ctx, self.state) - self.enterRule(localctx, 150, self.RULE_onConflict) - self._la = 0 # Token type - try: - self.state = 1912 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,241,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 1891 - self.match(SqlBaseParser.ON) - self.state = 1892 - self.match(SqlBaseParser.CONFLICT) - self.state = 1894 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==305: - self.state = 1893 - self.conflictTarget() - - - self.state = 1896 - self.match(SqlBaseParser.DO) - self.state = 1897 - self.match(SqlBaseParser.NOTHING) - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 1898 - self.match(SqlBaseParser.ON) - self.state = 1899 - self.match(SqlBaseParser.CONFLICT) - self.state = 1900 - self.conflictTarget() - self.state = 1901 - self.match(SqlBaseParser.DO) - self.state = 1902 - self.match(SqlBaseParser.UPDATE) - self.state = 1903 - self.match(SqlBaseParser.SET) - self.state = 1904 - self.assignment() - self.state = 1909 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 1905 - self.match(SqlBaseParser.COMMA) - self.state = 1906 - self.assignment() - self.state = 1911 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ConflictTargetContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - - def subscriptSafe(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.SubscriptSafeContext) - else: - return self.getTypedRuleContext(SqlBaseParser.SubscriptSafeContext,i) - - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def getRuleIndex(self): - return SqlBaseParser.RULE_conflictTarget - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterConflictTarget" ): - listener.enterConflictTarget(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitConflictTarget" ): - listener.exitConflictTarget(self) - - - - - def conflictTarget(self): - - localctx = SqlBaseParser.ConflictTargetContext(self, self._ctx, self.state) - self.enterRule(localctx, 152, self.RULE_conflictTarget) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1914 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1915 - self.subscriptSafe(0) - self.state = 1920 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 1916 - self.match(SqlBaseParser.COMMA) - self.state = 1917 - self.subscriptSafe(0) - self.state = 1922 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1923 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ValuesContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - - def expr(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ExprContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ExprContext,i) - - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def getRuleIndex(self): - return SqlBaseParser.RULE_values - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterValues" ): - listener.enterValues(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitValues" ): - listener.exitValues(self) - - - - - def values(self): - - localctx = SqlBaseParser.ValuesContext(self, self._ctx, self.state) - self.enterRule(localctx, 154, self.RULE_values) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1925 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1926 - self.expr() - self.state = 1931 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 1927 - self.match(SqlBaseParser.COMMA) - self.state = 1928 - self.expr() - self.state = 1933 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1934 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ColumnsContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - - def primaryExpression(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.PrimaryExpressionContext) - else: - return self.getTypedRuleContext(SqlBaseParser.PrimaryExpressionContext,i) - - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def getRuleIndex(self): - return SqlBaseParser.RULE_columns - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterColumns" ): - listener.enterColumns(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitColumns" ): - listener.exitColumns(self) - - - - - def columns(self): - - localctx = SqlBaseParser.ColumnsContext(self, self._ctx, self.state) - self.enterRule(localctx, 156, self.RULE_columns) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 1936 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1937 - self.primaryExpression(0) - self.state = 1942 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 1938 - self.match(SqlBaseParser.COMMA) - self.state = 1939 - self.primaryExpression(0) - self.state = 1944 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1945 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class AssignmentContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def primaryExpression(self): - return self.getTypedRuleContext(SqlBaseParser.PrimaryExpressionContext,0) - - - def EQ(self): - return self.getToken(SqlBaseParser.EQ, 0) - - def expr(self): - return self.getTypedRuleContext(SqlBaseParser.ExprContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_assignment - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAssignment" ): - listener.enterAssignment(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAssignment" ): - listener.exitAssignment(self) - - - - - def assignment(self): - - localctx = SqlBaseParser.AssignmentContext(self, self._ctx, self.state) - self.enterRule(localctx, 158, self.RULE_assignment) - try: - self.enterOuterAlt(localctx, 1) - self.state = 1947 - self.primaryExpression(0) - self.state = 1948 - self.match(SqlBaseParser.EQ) - self.state = 1949 - self.expr() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CreateStmtContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return SqlBaseParser.RULE_createStmt - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class CreateTableContext(CreateStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.CreateStmtContext - super().__init__(parser) - self.copyFrom(ctx) - - def CREATE(self): - return self.getToken(SqlBaseParser.CREATE, 0) - def TABLE(self): - return self.getToken(SqlBaseParser.TABLE, 0) - def table(self): - return self.getTypedRuleContext(SqlBaseParser.TableContext,0) - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def tableElement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.TableElementContext) - else: - return self.getTypedRuleContext(SqlBaseParser.TableElementContext,i) - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - def partitionedByOrClusteredInto(self): - return self.getTypedRuleContext(SqlBaseParser.PartitionedByOrClusteredIntoContext,0) - - def IF(self): - return self.getToken(SqlBaseParser.IF, 0) - def NOT(self): - return self.getToken(SqlBaseParser.NOT, 0) - def EXISTS(self): - return self.getToken(SqlBaseParser.EXISTS, 0) - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - def withProperties(self): - return self.getTypedRuleContext(SqlBaseParser.WithPropertiesContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateTable" ): - listener.enterCreateTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateTable" ): - listener.exitCreateTable(self) - - - class CreateSubscriptionContext(CreateStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.CreateStmtContext - super().__init__(parser) - self.name = None # IdentContext - self.conninfo = None # ExprContext - self.publications = None # IdentsContext - self.copyFrom(ctx) - - def CREATE(self): - return self.getToken(SqlBaseParser.CREATE, 0) - def SUBSCRIPTION(self): - return self.getToken(SqlBaseParser.SUBSCRIPTION, 0) - def CONNECTION(self): - return self.getToken(SqlBaseParser.CONNECTION, 0) - def PUBLICATION(self): - return self.getToken(SqlBaseParser.PUBLICATION, 0) - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - def expr(self): - return self.getTypedRuleContext(SqlBaseParser.ExprContext,0) - - def idents(self): - return self.getTypedRuleContext(SqlBaseParser.IdentsContext,0) - - def withProperties(self): - return self.getTypedRuleContext(SqlBaseParser.WithPropertiesContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateSubscription" ): - listener.enterCreateSubscription(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateSubscription" ): - listener.exitCreateSubscription(self) - - - class CreateServerContext(CreateStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.CreateStmtContext - super().__init__(parser) - self.name = None # IdentContext - self.fdw = None # IdentContext - self.copyFrom(ctx) - - def CREATE(self): - return self.getToken(SqlBaseParser.CREATE, 0) - def SERVER(self): - return self.getToken(SqlBaseParser.SERVER, 0) - def FOREIGN(self): - return self.getToken(SqlBaseParser.FOREIGN, 0) - def DATA(self): - return self.getToken(SqlBaseParser.DATA, 0) - def WRAPPER(self): - return self.getToken(SqlBaseParser.WRAPPER, 0) - def ident(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.IdentContext) - else: - return self.getTypedRuleContext(SqlBaseParser.IdentContext,i) - - def IF(self): - return self.getToken(SqlBaseParser.IF, 0) - def NOT(self): - return self.getToken(SqlBaseParser.NOT, 0) - def EXISTS(self): - return self.getToken(SqlBaseParser.EXISTS, 0) - def kvOptions(self): - return self.getTypedRuleContext(SqlBaseParser.KvOptionsContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateServer" ): - listener.enterCreateServer(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateServer" ): - listener.exitCreateServer(self) - - - class CreateRoleContext(CreateStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.CreateStmtContext - super().__init__(parser) - self.name = None # IdentContext - self.options = None # SpaceSeparatedIdentsContext - self.copyFrom(ctx) - - def CREATE(self): - return self.getToken(SqlBaseParser.CREATE, 0) - def USER(self): - return self.getToken(SqlBaseParser.USER, 0) - def ROLE(self): - return self.getToken(SqlBaseParser.ROLE, 0) - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - def withProperties(self): - return self.getTypedRuleContext(SqlBaseParser.WithPropertiesContext,0) - - def spaceSeparatedIdents(self): - return self.getTypedRuleContext(SqlBaseParser.SpaceSeparatedIdentsContext,0) - - def WITH(self): - return self.getToken(SqlBaseParser.WITH, 0) - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateRole" ): - listener.enterCreateRole(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateRole" ): - listener.exitCreateRole(self) - - - class CreatePublicationContext(CreateStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.CreateStmtContext - super().__init__(parser) - self.name = None # IdentContext - self.copyFrom(ctx) - - def CREATE(self): - return self.getToken(SqlBaseParser.CREATE, 0) - def PUBLICATION(self): - return self.getToken(SqlBaseParser.PUBLICATION, 0) - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - def FOR(self): - return self.getToken(SqlBaseParser.FOR, 0) - def ALL(self): - return self.getToken(SqlBaseParser.ALL, 0) - def TABLES(self): - return self.getToken(SqlBaseParser.TABLES, 0) - def TABLE(self): - return self.getToken(SqlBaseParser.TABLE, 0) - def qname(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.QnameContext) - else: - return self.getTypedRuleContext(SqlBaseParser.QnameContext,i) - - def ASTERISK(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.ASTERISK) - else: - return self.getToken(SqlBaseParser.ASTERISK, i) - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreatePublication" ): - listener.enterCreatePublication(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreatePublication" ): - listener.exitCreatePublication(self) - - - class CreateUserMappingContext(CreateStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.CreateStmtContext - super().__init__(parser) - self.server = None # IdentContext - self.copyFrom(ctx) - - def CREATE(self): - return self.getToken(SqlBaseParser.CREATE, 0) - def USER(self): - return self.getToken(SqlBaseParser.USER, 0) - def MAPPING(self): - return self.getToken(SqlBaseParser.MAPPING, 0) - def FOR(self): - return self.getToken(SqlBaseParser.FOR, 0) - def mappedUser(self): - return self.getTypedRuleContext(SqlBaseParser.MappedUserContext,0) - - def SERVER(self): - return self.getToken(SqlBaseParser.SERVER, 0) - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - def IF(self): - return self.getToken(SqlBaseParser.IF, 0) - def NOT(self): - return self.getToken(SqlBaseParser.NOT, 0) - def EXISTS(self): - return self.getToken(SqlBaseParser.EXISTS, 0) - def kvOptions(self): - return self.getTypedRuleContext(SqlBaseParser.KvOptionsContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateUserMapping" ): - listener.enterCreateUserMapping(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateUserMapping" ): - listener.exitCreateUserMapping(self) - - - class CreateBlobTableContext(CreateStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.CreateStmtContext - super().__init__(parser) - self.numShards = None # BlobClusteredIntoContext - self.copyFrom(ctx) - - def CREATE(self): - return self.getToken(SqlBaseParser.CREATE, 0) - def BLOB(self): - return self.getToken(SqlBaseParser.BLOB, 0) - def TABLE(self): - return self.getToken(SqlBaseParser.TABLE, 0) - def table(self): - return self.getTypedRuleContext(SqlBaseParser.TableContext,0) - - def withProperties(self): - return self.getTypedRuleContext(SqlBaseParser.WithPropertiesContext,0) - - def blobClusteredInto(self): - return self.getTypedRuleContext(SqlBaseParser.BlobClusteredIntoContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateBlobTable" ): - listener.enterCreateBlobTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateBlobTable" ): - listener.exitCreateBlobTable(self) - - - class CreateAnalyzerContext(CreateStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.CreateStmtContext - super().__init__(parser) - self.name = None # IdentContext - self.extendedName = None # IdentContext - self.copyFrom(ctx) - - def CREATE(self): - return self.getToken(SqlBaseParser.CREATE, 0) - def ANALYZER(self): - return self.getToken(SqlBaseParser.ANALYZER, 0) - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def analyzerElement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.AnalyzerElementContext) - else: - return self.getTypedRuleContext(SqlBaseParser.AnalyzerElementContext,i) - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - def ident(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.IdentContext) - else: - return self.getTypedRuleContext(SqlBaseParser.IdentContext,i) - - def EXTENDS(self): - return self.getToken(SqlBaseParser.EXTENDS, 0) - def WITH(self): - return self.getToken(SqlBaseParser.WITH, 0) - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateAnalyzer" ): - listener.enterCreateAnalyzer(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateAnalyzer" ): - listener.exitCreateAnalyzer(self) - - - class CreateRepositoryContext(CreateStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.CreateStmtContext - super().__init__(parser) - self.name = None # IdentContext - self.type_ = None # IdentContext - self.copyFrom(ctx) - - def CREATE(self): - return self.getToken(SqlBaseParser.CREATE, 0) - def REPOSITORY(self): - return self.getToken(SqlBaseParser.REPOSITORY, 0) - def TYPE(self): - return self.getToken(SqlBaseParser.TYPE, 0) - def ident(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.IdentContext) - else: - return self.getTypedRuleContext(SqlBaseParser.IdentContext,i) - - def withProperties(self): - return self.getTypedRuleContext(SqlBaseParser.WithPropertiesContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateRepository" ): - listener.enterCreateRepository(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateRepository" ): - listener.exitCreateRepository(self) - - - class CreateTableAsContext(CreateStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.CreateStmtContext - super().__init__(parser) - self.copyFrom(ctx) - - def CREATE(self): - return self.getToken(SqlBaseParser.CREATE, 0) - def TABLE(self): - return self.getToken(SqlBaseParser.TABLE, 0) - def table(self): - return self.getTypedRuleContext(SqlBaseParser.TableContext,0) - - def AS(self): - return self.getToken(SqlBaseParser.AS, 0) - def insertSource(self): - return self.getTypedRuleContext(SqlBaseParser.InsertSourceContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateTableAs" ): - listener.enterCreateTableAs(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateTableAs" ): - listener.exitCreateTableAs(self) - - - class CreateForeignTableContext(CreateStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.CreateStmtContext - super().__init__(parser) - self.tableName = None # QnameContext - self.server = None # IdentContext - self.copyFrom(ctx) - - def CREATE(self): - return self.getToken(SqlBaseParser.CREATE, 0) - def FOREIGN(self): - return self.getToken(SqlBaseParser.FOREIGN, 0) - def TABLE(self): - return self.getToken(SqlBaseParser.TABLE, 0) - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def tableElement(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.TableElementContext) - else: - return self.getTypedRuleContext(SqlBaseParser.TableElementContext,i) - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - def SERVER(self): - return self.getToken(SqlBaseParser.SERVER, 0) - def qname(self): - return self.getTypedRuleContext(SqlBaseParser.QnameContext,0) - - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - def IF(self): - return self.getToken(SqlBaseParser.IF, 0) - def NOT(self): - return self.getToken(SqlBaseParser.NOT, 0) - def EXISTS(self): - return self.getToken(SqlBaseParser.EXISTS, 0) - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - def kvOptions(self): - return self.getTypedRuleContext(SqlBaseParser.KvOptionsContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateForeignTable" ): - listener.enterCreateForeignTable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateForeignTable" ): - listener.exitCreateForeignTable(self) - - - class CreateSnapshotContext(CreateStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.CreateStmtContext - super().__init__(parser) - self.copyFrom(ctx) - - def CREATE(self): - return self.getToken(SqlBaseParser.CREATE, 0) - def SNAPSHOT(self): - return self.getToken(SqlBaseParser.SNAPSHOT, 0) - def qname(self): - return self.getTypedRuleContext(SqlBaseParser.QnameContext,0) - - def ALL(self): - return self.getToken(SqlBaseParser.ALL, 0) - def TABLE(self): - return self.getToken(SqlBaseParser.TABLE, 0) - def tableWithPartitions(self): - return self.getTypedRuleContext(SqlBaseParser.TableWithPartitionsContext,0) - - def withProperties(self): - return self.getTypedRuleContext(SqlBaseParser.WithPropertiesContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateSnapshot" ): - listener.enterCreateSnapshot(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateSnapshot" ): - listener.exitCreateSnapshot(self) - - - class CreateFunctionContext(CreateStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.CreateStmtContext - super().__init__(parser) - self.name = None # QnameContext - self.returnType = None # DataTypeContext - self.language = None # ParameterOrIdentContext - self.body = None # ParameterOrStringContext - self.copyFrom(ctx) - - def CREATE(self): - return self.getToken(SqlBaseParser.CREATE, 0) - def FUNCTION(self): - return self.getToken(SqlBaseParser.FUNCTION, 0) - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - def RETURNS(self): - return self.getToken(SqlBaseParser.RETURNS, 0) - def LANGUAGE(self): - return self.getToken(SqlBaseParser.LANGUAGE, 0) - def AS(self): - return self.getToken(SqlBaseParser.AS, 0) - def qname(self): - return self.getTypedRuleContext(SqlBaseParser.QnameContext,0) - - def dataType(self): - return self.getTypedRuleContext(SqlBaseParser.DataTypeContext,0) - - def parameterOrIdent(self): - return self.getTypedRuleContext(SqlBaseParser.ParameterOrIdentContext,0) - - def parameterOrString(self): - return self.getTypedRuleContext(SqlBaseParser.ParameterOrStringContext,0) - - def OR(self): - return self.getToken(SqlBaseParser.OR, 0) - def REPLACE(self): - return self.getToken(SqlBaseParser.REPLACE, 0) - def functionArgument(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.FunctionArgumentContext) - else: - return self.getTypedRuleContext(SqlBaseParser.FunctionArgumentContext,i) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateFunction" ): - listener.enterCreateFunction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateFunction" ): - listener.exitCreateFunction(self) - - - class CreateViewContext(CreateStmtContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.CreateStmtContext - super().__init__(parser) - self.name = None # QnameContext - self.copyFrom(ctx) - - def CREATE(self): - return self.getToken(SqlBaseParser.CREATE, 0) - def VIEW(self): - return self.getToken(SqlBaseParser.VIEW, 0) - def AS(self): - return self.getToken(SqlBaseParser.AS, 0) - def queryOptParens(self): - return self.getTypedRuleContext(SqlBaseParser.QueryOptParensContext,0) - - def qname(self): - return self.getTypedRuleContext(SqlBaseParser.QnameContext,0) - - def OR(self): - return self.getToken(SqlBaseParser.OR, 0) - def REPLACE(self): - return self.getToken(SqlBaseParser.REPLACE, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCreateView" ): - listener.enterCreateView(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCreateView" ): - listener.exitCreateView(self) - - - - def createStmt(self): - - localctx = SqlBaseParser.CreateStmtContext(self, self._ctx, self.state) - self.enterRule(localctx, 160, self.RULE_createStmt) - self._la = 0 # Token type - try: - self.state = 2171 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,277,self._ctx) - if la_ == 1: - localctx = SqlBaseParser.CreateTableContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 1951 - self.match(SqlBaseParser.CREATE) - self.state = 1952 - self.match(SqlBaseParser.TABLE) - self.state = 1956 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==69: - self.state = 1953 - self.match(SqlBaseParser.IF) - self.state = 1954 - self.match(SqlBaseParser.NOT) - self.state = 1955 - self.match(SqlBaseParser.EXISTS) - - - self.state = 1958 - self.table() - self.state = 1959 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1960 - self.tableElement() - self.state = 1965 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 1961 - self.match(SqlBaseParser.COMMA) - self.state = 1962 - self.tableElement() - self.state = 1967 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1968 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - self.state = 1969 - self.partitionedByOrClusteredInto() - self.state = 1971 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==92: - self.state = 1970 - self.withProperties() - - - pass - - elif la_ == 2: - localctx = SqlBaseParser.CreateTableAsContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 1973 - self.match(SqlBaseParser.CREATE) - self.state = 1974 - self.match(SqlBaseParser.TABLE) - self.state = 1975 - self.table() - self.state = 1976 - self.match(SqlBaseParser.AS) - self.state = 1977 - self.insertSource() - pass - - elif la_ == 3: - localctx = SqlBaseParser.CreateForeignTableContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 1979 - self.match(SqlBaseParser.CREATE) - self.state = 1980 - self.match(SqlBaseParser.FOREIGN) - self.state = 1981 - self.match(SqlBaseParser.TABLE) - self.state = 1985 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==69: - self.state = 1982 - self.match(SqlBaseParser.IF) - self.state = 1983 - self.match(SqlBaseParser.NOT) - self.state = 1984 - self.match(SqlBaseParser.EXISTS) - - - self.state = 1987 - localctx.tableName = self.qname() - self.state = 1988 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 1989 - self.tableElement() - self.state = 1994 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 1990 - self.match(SqlBaseParser.COMMA) - self.state = 1991 - self.tableElement() - self.state = 1996 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 1997 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - self.state = 1998 - self.match(SqlBaseParser.SERVER) - self.state = 1999 - localctx.server = self.ident() - self.state = 2001 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==278: - self.state = 2000 - self.kvOptions() - - - pass - - elif la_ == 4: - localctx = SqlBaseParser.CreateBlobTableContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 2003 - self.match(SqlBaseParser.CREATE) - self.state = 2004 - self.match(SqlBaseParser.BLOB) - self.state = 2005 - self.match(SqlBaseParser.TABLE) - self.state = 2006 - self.table() - self.state = 2008 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==220: - self.state = 2007 - localctx.numShards = self.blobClusteredInto() - - - self.state = 2011 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==92: - self.state = 2010 - self.withProperties() - - - pass - - elif la_ == 5: - localctx = SqlBaseParser.CreateRepositoryContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 2013 - self.match(SqlBaseParser.CREATE) - self.state = 2014 - self.match(SqlBaseParser.REPOSITORY) - self.state = 2015 - localctx.name = self.ident() - self.state = 2016 - self.match(SqlBaseParser.TYPE) - self.state = 2017 - localctx.type_ = self.ident() - self.state = 2019 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==92: - self.state = 2018 - self.withProperties() - - - pass - - elif la_ == 6: - localctx = SqlBaseParser.CreateSnapshotContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 2021 - self.match(SqlBaseParser.CREATE) - self.state = 2022 - self.match(SqlBaseParser.SNAPSHOT) - self.state = 2023 - self.qname() - self.state = 2027 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [7]: - self.state = 2024 - self.match(SqlBaseParser.ALL) - pass - elif token in [97]: - self.state = 2025 - self.match(SqlBaseParser.TABLE) - self.state = 2026 - self.tableWithPartitions() - pass - else: - raise NoViableAltException(self) - - self.state = 2030 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==92: - self.state = 2029 - self.withProperties() - - - pass - - elif la_ == 7: - localctx = SqlBaseParser.CreateAnalyzerContext(self, localctx) - self.enterOuterAlt(localctx, 7) - self.state = 2032 - self.match(SqlBaseParser.CREATE) - self.state = 2033 - self.match(SqlBaseParser.ANALYZER) - self.state = 2034 - localctx.name = self.ident() - self.state = 2037 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==235: - self.state = 2035 - self.match(SqlBaseParser.EXTENDS) - self.state = 2036 - localctx.extendedName = self.ident() - - - self.state = 2040 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==92: - self.state = 2039 - self.match(SqlBaseParser.WITH) - - - self.state = 2042 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 2043 - self.analyzerElement() - self.state = 2048 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 2044 - self.match(SqlBaseParser.COMMA) - self.state = 2045 - self.analyzerElement() - self.state = 2050 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 2051 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - - elif la_ == 8: - localctx = SqlBaseParser.CreateFunctionContext(self, localctx) - self.enterOuterAlt(localctx, 8) - self.state = 2053 - self.match(SqlBaseParser.CREATE) - self.state = 2056 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==20: - self.state = 2054 - self.match(SqlBaseParser.OR) - self.state = 2055 - self.match(SqlBaseParser.REPLACE) - - - self.state = 2058 - self.match(SqlBaseParser.FUNCTION) - self.state = 2059 - localctx.name = self.qname() - self.state = 2060 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 2069 - self._errHandler.sync(self) - _la = self._input.LA(1) - if (((_la) & ~0x3f) == 0 and ((1 << _la) & 1152776691328746578) != 0) or ((((_la - 70)) & ~0x3f) == 0 and ((1 << (_la - 70)) & -1718175795199) != 0) or ((((_la - 134)) & ~0x3f) == 0 and ((1 << (_la - 134)) & 9221680432477634559) != 0) or ((((_la - 198)) & ~0x3f) == 0 and ((1 << (_la - 198)) & -8224347531254671) != 0) or ((((_la - 262)) & ~0x3f) == 0 and ((1 << (_la - 262)) & -1152921504605798401) != 0): - self.state = 2061 - self.functionArgument() - self.state = 2066 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 2062 - self.match(SqlBaseParser.COMMA) - self.state = 2063 - self.functionArgument() - self.state = 2068 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - self.state = 2071 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - self.state = 2072 - self.match(SqlBaseParser.RETURNS) - self.state = 2073 - localctx.returnType = self.dataType(0) - self.state = 2074 - self.match(SqlBaseParser.LANGUAGE) - self.state = 2075 - localctx.language = self.parameterOrIdent() - self.state = 2076 - self.match(SqlBaseParser.AS) - self.state = 2077 - localctx.body = self.parameterOrString() - pass - - elif la_ == 9: - localctx = SqlBaseParser.CreateUserMappingContext(self, localctx) - self.enterOuterAlt(localctx, 9) - self.state = 2079 - self.match(SqlBaseParser.CREATE) - self.state = 2080 - self.match(SqlBaseParser.USER) - self.state = 2081 - self.match(SqlBaseParser.MAPPING) - self.state = 2085 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==69: - self.state = 2082 - self.match(SqlBaseParser.IF) - self.state = 2083 - self.match(SqlBaseParser.NOT) - self.state = 2084 - self.match(SqlBaseParser.EXISTS) - - - self.state = 2087 - self.match(SqlBaseParser.FOR) - self.state = 2088 - self.mappedUser() - self.state = 2089 - self.match(SqlBaseParser.SERVER) - self.state = 2090 - localctx.server = self.ident() - self.state = 2092 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==278: - self.state = 2091 - self.kvOptions() - - - pass - - elif la_ == 10: - localctx = SqlBaseParser.CreateRoleContext(self, localctx) - self.enterOuterAlt(localctx, 10) - self.state = 2094 - self.match(SqlBaseParser.CREATE) - self.state = 2095 - _la = self._input.LA(1) - if not(_la==246 or _la==247): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 2096 - localctx.name = self.ident() - self.state = 2110 - self._errHandler.sync(self) - _la = self._input.LA(1) - if (((_la) & ~0x3f) == 0 and ((1 << _la) & 1152776691328746578) != 0) or ((((_la - 70)) & ~0x3f) == 0 and ((1 << (_la - 70)) & -1718171600895) != 0) or ((((_la - 135)) & ~0x3f) == 0 and ((1 << (_la - 135)) & -4612531820615958531) != 0) or ((((_la - 202)) & ~0x3f) == 0 and ((1 << (_la - 202)) & -514023868187065) != 0) or ((((_la - 266)) & ~0x3f) == 0 and ((1 << (_la - 266)) & 1080864460324798463) != 0): - self.state = 2108 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,267,self._ctx) - if la_ == 1: - self.state = 2097 - self.withProperties() - pass - - elif la_ == 2: - self.state = 2099 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==92: - self.state = 2098 - self.match(SqlBaseParser.WITH) - - - self.state = 2102 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==305: - self.state = 2101 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - - - self.state = 2104 - localctx.options = self.spaceSeparatedIdents() - self.state = 2106 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==306: - self.state = 2105 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - - - pass - - - - - pass - - elif la_ == 11: - localctx = SqlBaseParser.CreateViewContext(self, localctx) - self.enterOuterAlt(localctx, 11) - self.state = 2112 - self.match(SqlBaseParser.CREATE) - self.state = 2115 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==20: - self.state = 2113 - self.match(SqlBaseParser.OR) - self.state = 2114 - self.match(SqlBaseParser.REPLACE) - - - self.state = 2117 - self.match(SqlBaseParser.VIEW) - self.state = 2118 - localctx.name = self.qname() - self.state = 2119 - self.match(SqlBaseParser.AS) - self.state = 2120 - self.queryOptParens() - pass - - elif la_ == 12: - localctx = SqlBaseParser.CreatePublicationContext(self, localctx) - self.enterOuterAlt(localctx, 12) - self.state = 2122 - self.match(SqlBaseParser.CREATE) - self.state = 2123 - self.match(SqlBaseParser.PUBLICATION) - self.state = 2124 - localctx.name = self.ident() - self.state = 2144 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,273,self._ctx) - if la_ == 1: - self.state = 2125 - self.match(SqlBaseParser.FOR) - self.state = 2126 - self.match(SqlBaseParser.ALL) - self.state = 2127 - self.match(SqlBaseParser.TABLES) - - elif la_ == 2: - self.state = 2128 - self.match(SqlBaseParser.FOR) - self.state = 2129 - self.match(SqlBaseParser.TABLE) - self.state = 2130 - self.qname() - self.state = 2132 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==295: - self.state = 2131 - self.match(SqlBaseParser.ASTERISK) - - - self.state = 2141 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 2134 - self.match(SqlBaseParser.COMMA) - self.state = 2135 - self.qname() - self.state = 2137 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==295: - self.state = 2136 - self.match(SqlBaseParser.ASTERISK) - - - self.state = 2143 - self._errHandler.sync(self) - _la = self._input.LA(1) - - - - pass - - elif la_ == 13: - localctx = SqlBaseParser.CreateSubscriptionContext(self, localctx) - self.enterOuterAlt(localctx, 13) - self.state = 2146 - self.match(SqlBaseParser.CREATE) - self.state = 2147 - self.match(SqlBaseParser.SUBSCRIPTION) - self.state = 2148 - localctx.name = self.ident() - self.state = 2149 - self.match(SqlBaseParser.CONNECTION) - self.state = 2150 - localctx.conninfo = self.expr() - self.state = 2151 - self.match(SqlBaseParser.PUBLICATION) - self.state = 2152 - localctx.publications = self.idents() - self.state = 2154 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==92: - self.state = 2153 - self.withProperties() - - - pass - - elif la_ == 14: - localctx = SqlBaseParser.CreateServerContext(self, localctx) - self.enterOuterAlt(localctx, 14) - self.state = 2156 - self.match(SqlBaseParser.CREATE) - self.state = 2157 - self.match(SqlBaseParser.SERVER) - self.state = 2161 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==69: - self.state = 2158 - self.match(SqlBaseParser.IF) - self.state = 2159 - self.match(SqlBaseParser.NOT) - self.state = 2160 - self.match(SqlBaseParser.EXISTS) - - - self.state = 2163 - localctx.name = self.ident() - self.state = 2164 - self.match(SqlBaseParser.FOREIGN) - self.state = 2165 - self.match(SqlBaseParser.DATA) - self.state = 2166 - self.match(SqlBaseParser.WRAPPER) - self.state = 2167 - localctx.fdw = self.ident() - self.state = 2169 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==278: - self.state = 2168 - self.kvOptions() - - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class MappedUserContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.userName = None # IdentContext - - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def USER(self): - return self.getToken(SqlBaseParser.USER, 0) - - def CURRENT_ROLE(self): - return self.getToken(SqlBaseParser.CURRENT_ROLE, 0) - - def CURRENT_USER(self): - return self.getToken(SqlBaseParser.CURRENT_USER, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_mappedUser - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMappedUser" ): - listener.enterMappedUser(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMappedUser" ): - listener.exitMappedUser(self) - - - - - def mappedUser(self): - - localctx = SqlBaseParser.MappedUserContext(self, self._ctx, self.state) - self.enterRule(localctx, 162, self.RULE_mappedUser) - try: - self.state = 2177 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [1, 4, 6, 10, 27, 32, 33, 35, 38, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 70, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 93, 96, 98, 99, 100, 101, 102, 103, 104, 105, 107, 108, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 161, 163, 165, 167, 168, 169, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 202, 203, 204, 208, 211, 212, 213, 214, 215, 219, 220, 221, 223, 224, 225, 226, 228, 229, 230, 231, 232, 234, 235, 236, 237, 238, 239, 240, 244, 245, 247, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 322, 323, 324, 325]: - self.enterOuterAlt(localctx, 1) - self.state = 2173 - localctx.userName = self.ident() - pass - elif token in [246]: - self.enterOuterAlt(localctx, 2) - self.state = 2174 - self.match(SqlBaseParser.USER) - pass - elif token in [61]: - self.enterOuterAlt(localctx, 3) - self.state = 2175 - self.match(SqlBaseParser.CURRENT_ROLE) - pass - elif token in [60]: - self.enterOuterAlt(localctx, 4) - self.state = 2176 - self.match(SqlBaseParser.CURRENT_USER) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class KvOptionsContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def OPTIONS(self): - return self.getToken(SqlBaseParser.OPTIONS, 0) - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - - def kvOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.KvOptionContext) - else: - return self.getTypedRuleContext(SqlBaseParser.KvOptionContext,i) - - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def getRuleIndex(self): - return SqlBaseParser.RULE_kvOptions - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterKvOptions" ): - listener.enterKvOptions(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitKvOptions" ): - listener.exitKvOptions(self) - - - - - def kvOptions(self): - - localctx = SqlBaseParser.KvOptionsContext(self, self._ctx, self.state) - self.enterRule(localctx, 164, self.RULE_kvOptions) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2179 - self.match(SqlBaseParser.OPTIONS) - self.state = 2180 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 2181 - self.kvOption() - self.state = 2186 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 2182 - self.match(SqlBaseParser.COMMA) - self.state = 2183 - self.kvOption() - self.state = 2188 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 2189 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class KvOptionContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def parameterOrLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.ParameterOrLiteralContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_kvOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterKvOption" ): - listener.enterKvOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitKvOption" ): - listener.exitKvOption(self) - - - - - def kvOption(self): - - localctx = SqlBaseParser.KvOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 166, self.RULE_kvOption) - try: - self.enterOuterAlt(localctx, 1) - self.state = 2191 - self.ident() - self.state = 2192 - self.parameterOrLiteral() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class FunctionArgumentContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.name = None # IdentContext - self.type_ = None # DataTypeContext - - def dataType(self): - return self.getTypedRuleContext(SqlBaseParser.DataTypeContext,0) - - - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_functionArgument - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterFunctionArgument" ): - listener.enterFunctionArgument(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitFunctionArgument" ): - listener.exitFunctionArgument(self) - - - - - def functionArgument(self): - - localctx = SqlBaseParser.FunctionArgumentContext(self, self._ctx, self.state) - self.enterRule(localctx, 168, self.RULE_functionArgument) - try: - self.enterOuterAlt(localctx, 1) - self.state = 2195 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,280,self._ctx) - if la_ == 1: - self.state = 2194 - localctx.name = self.ident() - - - self.state = 2197 - localctx.type_ = self.dataType(0) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class AlterTableDefinitionContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return SqlBaseParser.RULE_alterTableDefinition - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class TableWithPartitionDefaultContext(AlterTableDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.AlterTableDefinitionContext - super().__init__(parser) - self.copyFrom(ctx) - - def tableWithPartition(self): - return self.getTypedRuleContext(SqlBaseParser.TableWithPartitionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableWithPartitionDefault" ): - listener.enterTableWithPartitionDefault(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableWithPartitionDefault" ): - listener.exitTableWithPartitionDefault(self) - - - class TableOnlyContext(AlterTableDefinitionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.AlterTableDefinitionContext - super().__init__(parser) - self.copyFrom(ctx) - - def ONLY(self): - return self.getToken(SqlBaseParser.ONLY, 0) - def qname(self): - return self.getTypedRuleContext(SqlBaseParser.QnameContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableOnly" ): - listener.enterTableOnly(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableOnly" ): - listener.exitTableOnly(self) - - - - def alterTableDefinition(self): - - localctx = SqlBaseParser.AlterTableDefinitionContext(self, self._ctx, self.state) - self.enterRule(localctx, 170, self.RULE_alterTableDefinition) - try: - self.state = 2202 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,281,self._ctx) - if la_ == 1: - localctx = SqlBaseParser.TableOnlyContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 2199 - self.match(SqlBaseParser.ONLY) - self.state = 2200 - self.qname() - pass - - elif la_ == 2: - localctx = SqlBaseParser.TableWithPartitionDefaultContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 2201 - self.tableWithPartition() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class AlterSubscriptionModeContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ENABLE(self): - return self.getToken(SqlBaseParser.ENABLE, 0) - - def DISABLE(self): - return self.getToken(SqlBaseParser.DISABLE, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_alterSubscriptionMode - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAlterSubscriptionMode" ): - listener.enterAlterSubscriptionMode(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAlterSubscriptionMode" ): - listener.exitAlterSubscriptionMode(self) - - - - - def alterSubscriptionMode(self): - - localctx = SqlBaseParser.AlterSubscriptionModeContext(self, self._ctx, self.state) - self.enterRule(localctx, 172, self.RULE_alterSubscriptionMode) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2204 - _la = self._input.LA(1) - if not(_la==259 or _la==260): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class PartitionedByOrClusteredIntoContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def partitionedBy(self): - return self.getTypedRuleContext(SqlBaseParser.PartitionedByContext,0) - - - def clusteredBy(self): - return self.getTypedRuleContext(SqlBaseParser.ClusteredByContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_partitionedByOrClusteredInto - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionedByOrClusteredInto" ): - listener.enterPartitionedByOrClusteredInto(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionedByOrClusteredInto" ): - listener.exitPartitionedByOrClusteredInto(self) - - - - - def partitionedByOrClusteredInto(self): - - localctx = SqlBaseParser.PartitionedByOrClusteredIntoContext(self, self._ctx, self.state) - self.enterRule(localctx, 174, self.RULE_partitionedByOrClusteredInto) - self._la = 0 # Token type - try: - self.state = 2218 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,286,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 2207 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==239: - self.state = 2206 - self.partitionedBy() - - - self.state = 2210 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==220: - self.state = 2209 - self.clusteredBy() - - - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 2213 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==220: - self.state = 2212 - self.clusteredBy() - - - self.state = 2216 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==239: - self.state = 2215 - self.partitionedBy() - - - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class PartitionedByContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def PARTITIONED(self): - return self.getToken(SqlBaseParser.PARTITIONED, 0) - - def BY(self): - return self.getToken(SqlBaseParser.BY, 0) - - def columns(self): - return self.getTypedRuleContext(SqlBaseParser.ColumnsContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_partitionedBy - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPartitionedBy" ): - listener.enterPartitionedBy(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPartitionedBy" ): - listener.exitPartitionedBy(self) - - - - - def partitionedBy(self): - - localctx = SqlBaseParser.PartitionedByContext(self, self._ctx, self.state) - self.enterRule(localctx, 176, self.RULE_partitionedBy) - try: - self.enterOuterAlt(localctx, 1) - self.state = 2220 - self.match(SqlBaseParser.PARTITIONED) - self.state = 2221 - self.match(SqlBaseParser.BY) - self.state = 2222 - self.columns() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ClusteredByContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.routing = None # PrimaryExpressionContext - self.numShards = None # ParameterOrIntegerContext - - def CLUSTERED(self): - return self.getToken(SqlBaseParser.CLUSTERED, 0) - - def BY(self): - return self.getToken(SqlBaseParser.BY, 0) - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - - def INTO(self): - return self.getToken(SqlBaseParser.INTO, 0) - - def SHARDS(self): - return self.getToken(SqlBaseParser.SHARDS, 0) - - def primaryExpression(self): - return self.getTypedRuleContext(SqlBaseParser.PrimaryExpressionContext,0) - - - def parameterOrInteger(self): - return self.getTypedRuleContext(SqlBaseParser.ParameterOrIntegerContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_clusteredBy - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterClusteredBy" ): - listener.enterClusteredBy(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitClusteredBy" ): - listener.exitClusteredBy(self) - - - - - def clusteredBy(self): - - localctx = SqlBaseParser.ClusteredByContext(self, self._ctx, self.state) - self.enterRule(localctx, 178, self.RULE_clusteredBy) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2224 - self.match(SqlBaseParser.CLUSTERED) - self.state = 2230 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==15: - self.state = 2225 - self.match(SqlBaseParser.BY) - self.state = 2226 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 2227 - localctx.routing = self.primaryExpression(0) - self.state = 2228 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - - - self.state = 2236 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==207: - self.state = 2232 - self.match(SqlBaseParser.INTO) - self.state = 2233 - localctx.numShards = self.parameterOrInteger() - self.state = 2234 - self.match(SqlBaseParser.SHARDS) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class BlobClusteredIntoContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.numShards = None # ParameterOrIntegerContext - - def CLUSTERED(self): - return self.getToken(SqlBaseParser.CLUSTERED, 0) - - def INTO(self): - return self.getToken(SqlBaseParser.INTO, 0) - - def SHARDS(self): - return self.getToken(SqlBaseParser.SHARDS, 0) - - def parameterOrInteger(self): - return self.getTypedRuleContext(SqlBaseParser.ParameterOrIntegerContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_blobClusteredInto - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBlobClusteredInto" ): - listener.enterBlobClusteredInto(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBlobClusteredInto" ): - listener.exitBlobClusteredInto(self) - - - - - def blobClusteredInto(self): - - localctx = SqlBaseParser.BlobClusteredIntoContext(self, self._ctx, self.state) - self.enterRule(localctx, 180, self.RULE_blobClusteredInto) - try: - self.enterOuterAlt(localctx, 1) - self.state = 2238 - self.match(SqlBaseParser.CLUSTERED) - self.state = 2239 - self.match(SqlBaseParser.INTO) - self.state = 2240 - localctx.numShards = self.parameterOrInteger() - self.state = 2241 - self.match(SqlBaseParser.SHARDS) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class TableElementContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return SqlBaseParser.RULE_tableElement - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class PrimaryKeyConstraintTableLevelContext(TableElementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.TableElementContext - super().__init__(parser) - self.copyFrom(ctx) - - def primaryKeyContraint(self): - return self.getTypedRuleContext(SqlBaseParser.PrimaryKeyContraintContext,0) - - def columns(self): - return self.getTypedRuleContext(SqlBaseParser.ColumnsContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPrimaryKeyConstraintTableLevel" ): - listener.enterPrimaryKeyConstraintTableLevel(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPrimaryKeyConstraintTableLevel" ): - listener.exitPrimaryKeyConstraintTableLevel(self) - - - class TableCheckConstraintContext(TableElementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.TableElementContext - super().__init__(parser) - self.copyFrom(ctx) - - def checkConstraint(self): - return self.getTypedRuleContext(SqlBaseParser.CheckConstraintContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableCheckConstraint" ): - listener.enterTableCheckConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableCheckConstraint" ): - listener.exitTableCheckConstraint(self) - - - class IndexDefinitionContext(TableElementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.TableElementContext - super().__init__(parser) - self.name = None # IdentContext - self.method = None # IdentContext - self.copyFrom(ctx) - - def INDEX(self): - return self.getToken(SqlBaseParser.INDEX, 0) - def USING(self): - return self.getToken(SqlBaseParser.USING, 0) - def columns(self): - return self.getTypedRuleContext(SqlBaseParser.ColumnsContext,0) - - def ident(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.IdentContext) - else: - return self.getTypedRuleContext(SqlBaseParser.IdentContext,i) - - def withProperties(self): - return self.getTypedRuleContext(SqlBaseParser.WithPropertiesContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIndexDefinition" ): - listener.enterIndexDefinition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIndexDefinition" ): - listener.exitIndexDefinition(self) - - - class ColumnDefinitionDefaultContext(TableElementContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.TableElementContext - super().__init__(parser) - self.copyFrom(ctx) - - def columnDefinition(self): - return self.getTypedRuleContext(SqlBaseParser.ColumnDefinitionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterColumnDefinitionDefault" ): - listener.enterColumnDefinitionDefault(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitColumnDefinitionDefault" ): - listener.exitColumnDefinitionDefault(self) - - - - def tableElement(self): - - localctx = SqlBaseParser.TableElementContext(self, self._ctx, self.state) - self.enterRule(localctx, 182, self.RULE_tableElement) - self._la = 0 # Token type - try: - self.state = 2256 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,290,self._ctx) - if la_ == 1: - localctx = SqlBaseParser.ColumnDefinitionDefaultContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 2243 - self.columnDefinition() - pass - - elif la_ == 2: - localctx = SqlBaseParser.PrimaryKeyConstraintTableLevelContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 2244 - self.primaryKeyContraint() - self.state = 2245 - self.columns() - pass - - elif la_ == 3: - localctx = SqlBaseParser.IndexDefinitionContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 2247 - self.match(SqlBaseParser.INDEX) - self.state = 2248 - localctx.name = self.ident() - self.state = 2249 - self.match(SqlBaseParser.USING) - self.state = 2250 - localctx.method = self.ident() - self.state = 2251 - self.columns() - self.state = 2253 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==92: - self.state = 2252 - self.withProperties() - - - pass - - elif la_ == 4: - localctx = SqlBaseParser.TableCheckConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 2255 - self.checkConstraint() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ColumnDefinitionContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def dataType(self): - return self.getTypedRuleContext(SqlBaseParser.DataTypeContext,0) - - - def columnConstraint(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ColumnConstraintContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ColumnConstraintContext,i) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_columnDefinition - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterColumnDefinition" ): - listener.enterColumnDefinition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitColumnDefinition" ): - listener.exitColumnDefinition(self) - - - - - def columnDefinition(self): - - localctx = SqlBaseParser.ColumnDefinitionContext(self, self._ctx, self.state) - self.enterRule(localctx, 184, self.RULE_columnDefinition) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2258 - self.ident() - self.state = 2260 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,291,self._ctx) - if la_ == 1: - self.state = 2259 - self.dataType(0) - - - self.state = 2265 - self._errHandler.sync(self) - _la = self._input.LA(1) - while (((_la) & ~0x3f) == 0 and ((1 << _la) & 545259552) != 0) or ((((_la - 173)) & ~0x3f) == 0 and ((1 << (_la - 173)) & 54641329853956099) != 0) or _la==244: - self.state = 2262 - self.columnConstraint() - self.state = 2267 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class AddColumnDefinitionContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ADD(self): - return self.getToken(SqlBaseParser.ADD, 0) - - def subscriptSafe(self): - return self.getTypedRuleContext(SqlBaseParser.SubscriptSafeContext,0) - - - def COLUMN(self): - return self.getToken(SqlBaseParser.COLUMN, 0) - - def dataType(self): - return self.getTypedRuleContext(SqlBaseParser.DataTypeContext,0) - - - def columnConstraint(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ColumnConstraintContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ColumnConstraintContext,i) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_addColumnDefinition - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAddColumnDefinition" ): - listener.enterAddColumnDefinition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAddColumnDefinition" ): - listener.exitAddColumnDefinition(self) - - - - - def addColumnDefinition(self): - - localctx = SqlBaseParser.AddColumnDefinitionContext(self, self._ctx, self.state) - self.enterRule(localctx, 186, self.RULE_addColumnDefinition) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2268 - self.match(SqlBaseParser.ADD) - self.state = 2270 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==110: - self.state = 2269 - self.match(SqlBaseParser.COLUMN) - - - self.state = 2272 - self.subscriptSafe(0) - self.state = 2274 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,294,self._ctx) - if la_ == 1: - self.state = 2273 - self.dataType(0) - - - self.state = 2279 - self._errHandler.sync(self) - _la = self._input.LA(1) - while (((_la) & ~0x3f) == 0 and ((1 << _la) & 545259552) != 0) or ((((_la - 173)) & ~0x3f) == 0 and ((1 << (_la - 173)) & 54641329853956099) != 0) or _la==244: - self.state = 2276 - self.columnConstraint() - self.state = 2281 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DropColumnDefinitionContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DROP(self): - return self.getToken(SqlBaseParser.DROP, 0) - - def subscriptSafe(self): - return self.getTypedRuleContext(SqlBaseParser.SubscriptSafeContext,0) - - - def COLUMN(self): - return self.getToken(SqlBaseParser.COLUMN, 0) - - def IF(self): - return self.getToken(SqlBaseParser.IF, 0) - - def EXISTS(self): - return self.getToken(SqlBaseParser.EXISTS, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_dropColumnDefinition - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDropColumnDefinition" ): - listener.enterDropColumnDefinition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDropColumnDefinition" ): - listener.exitDropColumnDefinition(self) - - - - - def dropColumnDefinition(self): - - localctx = SqlBaseParser.DropColumnDefinitionContext(self, self._ctx, self.state) - self.enterRule(localctx, 188, self.RULE_dropColumnDefinition) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2282 - self.match(SqlBaseParser.DROP) - self.state = 2284 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==110: - self.state = 2283 - self.match(SqlBaseParser.COLUMN) - - - self.state = 2288 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==69: - self.state = 2286 - self.match(SqlBaseParser.IF) - self.state = 2287 - self.match(SqlBaseParser.EXISTS) - - - self.state = 2290 - self.subscriptSafe(0) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class RerouteOptionContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return SqlBaseParser.RULE_rerouteOption - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class RerouteMoveShardContext(RerouteOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.RerouteOptionContext - super().__init__(parser) - self.shardId = None # ParameterOrIntegerContext - self.fromNodeId = None # ParameterOrStringContext - self.toNodeId = None # ParameterOrStringContext - self.copyFrom(ctx) - - def MOVE(self): - return self.getToken(SqlBaseParser.MOVE, 0) - def SHARD(self): - return self.getToken(SqlBaseParser.SHARD, 0) - def FROM(self): - return self.getToken(SqlBaseParser.FROM, 0) - def TO(self): - return self.getToken(SqlBaseParser.TO, 0) - def parameterOrInteger(self): - return self.getTypedRuleContext(SqlBaseParser.ParameterOrIntegerContext,0) - - def parameterOrString(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ParameterOrStringContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ParameterOrStringContext,i) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRerouteMoveShard" ): - listener.enterRerouteMoveShard(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRerouteMoveShard" ): - listener.exitRerouteMoveShard(self) - - - class RerouteAllocateReplicaShardContext(RerouteOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.RerouteOptionContext - super().__init__(parser) - self.shardId = None # ParameterOrIntegerContext - self.nodeId = None # ParameterOrStringContext - self.copyFrom(ctx) - - def ALLOCATE(self): - return self.getToken(SqlBaseParser.ALLOCATE, 0) - def REPLICA(self): - return self.getToken(SqlBaseParser.REPLICA, 0) - def SHARD(self): - return self.getToken(SqlBaseParser.SHARD, 0) - def ON(self): - return self.getToken(SqlBaseParser.ON, 0) - def parameterOrInteger(self): - return self.getTypedRuleContext(SqlBaseParser.ParameterOrIntegerContext,0) - - def parameterOrString(self): - return self.getTypedRuleContext(SqlBaseParser.ParameterOrStringContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRerouteAllocateReplicaShard" ): - listener.enterRerouteAllocateReplicaShard(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRerouteAllocateReplicaShard" ): - listener.exitRerouteAllocateReplicaShard(self) - - - class ReroutePromoteReplicaContext(RerouteOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.RerouteOptionContext - super().__init__(parser) - self.shardId = None # ParameterOrIntegerContext - self.nodeId = None # ParameterOrStringContext - self.copyFrom(ctx) - - def PROMOTE(self): - return self.getToken(SqlBaseParser.PROMOTE, 0) - def REPLICA(self): - return self.getToken(SqlBaseParser.REPLICA, 0) - def SHARD(self): - return self.getToken(SqlBaseParser.SHARD, 0) - def ON(self): - return self.getToken(SqlBaseParser.ON, 0) - def parameterOrInteger(self): - return self.getTypedRuleContext(SqlBaseParser.ParameterOrIntegerContext,0) - - def parameterOrString(self): - return self.getTypedRuleContext(SqlBaseParser.ParameterOrStringContext,0) - - def withProperties(self): - return self.getTypedRuleContext(SqlBaseParser.WithPropertiesContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterReroutePromoteReplica" ): - listener.enterReroutePromoteReplica(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitReroutePromoteReplica" ): - listener.exitReroutePromoteReplica(self) - - - class RerouteCancelShardContext(RerouteOptionContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.RerouteOptionContext - super().__init__(parser) - self.shardId = None # ParameterOrIntegerContext - self.nodeId = None # ParameterOrStringContext - self.copyFrom(ctx) - - def CANCEL(self): - return self.getToken(SqlBaseParser.CANCEL, 0) - def SHARD(self): - return self.getToken(SqlBaseParser.SHARD, 0) - def ON(self): - return self.getToken(SqlBaseParser.ON, 0) - def parameterOrInteger(self): - return self.getTypedRuleContext(SqlBaseParser.ParameterOrIntegerContext,0) - - def parameterOrString(self): - return self.getTypedRuleContext(SqlBaseParser.ParameterOrStringContext,0) - - def withProperties(self): - return self.getTypedRuleContext(SqlBaseParser.WithPropertiesContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRerouteCancelShard" ): - listener.enterRerouteCancelShard(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRerouteCancelShard" ): - listener.exitRerouteCancelShard(self) - - - - def rerouteOption(self): - - localctx = SqlBaseParser.RerouteOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 190, self.RULE_rerouteOption) - self._la = 0 # Token type - try: - self.state = 2324 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [115]: - localctx = SqlBaseParser.RerouteMoveShardContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 2292 - self.match(SqlBaseParser.MOVE) - self.state = 2293 - self.match(SqlBaseParser.SHARD) - self.state = 2294 - localctx.shardId = self.parameterOrInteger() - self.state = 2295 - self.match(SqlBaseParser.FROM) - self.state = 2296 - localctx.fromNodeId = self.parameterOrString() - self.state = 2297 - self.match(SqlBaseParser.TO) - self.state = 2298 - localctx.toNodeId = self.parameterOrString() - pass - elif token in [117]: - localctx = SqlBaseParser.RerouteAllocateReplicaShardContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 2300 - self.match(SqlBaseParser.ALLOCATE) - self.state = 2301 - self.match(SqlBaseParser.REPLICA) - self.state = 2302 - self.match(SqlBaseParser.SHARD) - self.state = 2303 - localctx.shardId = self.parameterOrInteger() - self.state = 2304 - self.match(SqlBaseParser.ON) - self.state = 2305 - localctx.nodeId = self.parameterOrString() - pass - elif token in [84]: - localctx = SqlBaseParser.ReroutePromoteReplicaContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 2307 - self.match(SqlBaseParser.PROMOTE) - self.state = 2308 - self.match(SqlBaseParser.REPLICA) - self.state = 2309 - self.match(SqlBaseParser.SHARD) - self.state = 2310 - localctx.shardId = self.parameterOrInteger() - self.state = 2311 - self.match(SqlBaseParser.ON) - self.state = 2312 - localctx.nodeId = self.parameterOrString() - self.state = 2314 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==92: - self.state = 2313 - self.withProperties() - - - pass - elif token in [119]: - localctx = SqlBaseParser.RerouteCancelShardContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 2316 - self.match(SqlBaseParser.CANCEL) - self.state = 2317 - self.match(SqlBaseParser.SHARD) - self.state = 2318 - localctx.shardId = self.parameterOrInteger() - self.state = 2319 - self.match(SqlBaseParser.ON) - self.state = 2320 - localctx.nodeId = self.parameterOrString() - self.state = 2322 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==92: - self.state = 2321 - self.withProperties() - - - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DataTypeContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return SqlBaseParser.RULE_dataType - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - class ObjectDataTypeContext(DataTypeContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.DataTypeContext - super().__init__(parser) - self.copyFrom(ctx) - - def objectTypeDefinition(self): - return self.getTypedRuleContext(SqlBaseParser.ObjectTypeDefinitionContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterObjectDataType" ): - listener.enterObjectDataType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitObjectDataType" ): - listener.exitObjectDataType(self) - - - class MaybeParametrizedDataTypeContext(DataTypeContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.DataTypeContext - super().__init__(parser) - self.copyFrom(ctx) - - def baseDataType(self): - return self.getTypedRuleContext(SqlBaseParser.BaseDataTypeContext,0) - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def integerLiteral(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.IntegerLiteralContext) - else: - return self.getTypedRuleContext(SqlBaseParser.IntegerLiteralContext,i) - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMaybeParametrizedDataType" ): - listener.enterMaybeParametrizedDataType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMaybeParametrizedDataType" ): - listener.exitMaybeParametrizedDataType(self) - - - class ArrayDataTypeContext(DataTypeContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.DataTypeContext - super().__init__(parser) - self.copyFrom(ctx) - - def ARRAY(self): - return self.getToken(SqlBaseParser.ARRAY, 0) - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def dataType(self): - return self.getTypedRuleContext(SqlBaseParser.DataTypeContext,0) - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - def EMPTY_SQUARE_BRACKET(self): - return self.getToken(SqlBaseParser.EMPTY_SQUARE_BRACKET, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterArrayDataType" ): - listener.enterArrayDataType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitArrayDataType" ): - listener.exitArrayDataType(self) - - - - def dataType(self, _p:int=0): - _parentctx = self._ctx - _parentState = self.state - localctx = SqlBaseParser.DataTypeContext(self, self._ctx, _parentState) - _prevctx = localctx - _startState = 192 - self.enterRecursionRule(localctx, 192, self.RULE_dataType, _p) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2347 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [1, 4, 6, 10, 27, 32, 33, 35, 38, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 70, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 93, 96, 98, 99, 100, 101, 102, 103, 104, 105, 107, 108, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 161, 163, 165, 167, 168, 169, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 202, 203, 204, 208, 211, 212, 213, 214, 215, 219, 220, 221, 223, 224, 225, 226, 228, 229, 230, 231, 232, 234, 235, 236, 237, 238, 239, 240, 244, 245, 247, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 322, 323, 324, 325]: - localctx = SqlBaseParser.MaybeParametrizedDataTypeContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - - self.state = 2327 - self.baseDataType() - self.state = 2339 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,302,self._ctx) - if la_ == 1: - self.state = 2328 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 2329 - self.integerLiteral() - self.state = 2334 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 2330 - self.match(SqlBaseParser.COMMA) - self.state = 2331 - self.integerLiteral() - self.state = 2336 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 2337 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - - - pass - elif token in [136]: - localctx = SqlBaseParser.ObjectDataTypeContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 2341 - self.objectTypeDefinition() - pass - elif token in [233]: - localctx = SqlBaseParser.ArrayDataTypeContext(self, localctx) - self._ctx = localctx - _prevctx = localctx - self.state = 2342 - self.match(SqlBaseParser.ARRAY) - self.state = 2343 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 2344 - self.dataType(0) - self.state = 2345 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - else: - raise NoViableAltException(self) - - self._ctx.stop = self._input.LT(-1) - self.state = 2353 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,304,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - if self._parseListeners is not None: - self.triggerExitRuleEvent() - _prevctx = localctx - localctx = SqlBaseParser.ArrayDataTypeContext(self, SqlBaseParser.DataTypeContext(self, _parentctx, _parentState)) - self.pushNewRecursionContext(localctx, _startState, self.RULE_dataType) - self.state = 2349 - if not self.precpred(self._ctx, 1): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 1)") - self.state = 2350 - self.match(SqlBaseParser.EMPTY_SQUARE_BRACKET) - self.state = 2355 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,304,self._ctx) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.unrollRecursionContexts(_parentctx) - return localctx - - - class BaseDataTypeContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return SqlBaseParser.RULE_baseDataType - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class DefinedDataTypeDefaultContext(BaseDataTypeContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.BaseDataTypeContext - super().__init__(parser) - self.copyFrom(ctx) - - def definedDataType(self): - return self.getTypedRuleContext(SqlBaseParser.DefinedDataTypeContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDefinedDataTypeDefault" ): - listener.enterDefinedDataTypeDefault(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDefinedDataTypeDefault" ): - listener.exitDefinedDataTypeDefault(self) - - - class IdentDataTypeContext(BaseDataTypeContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.BaseDataTypeContext - super().__init__(parser) - self.copyFrom(ctx) - - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIdentDataType" ): - listener.enterIdentDataType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIdentDataType" ): - listener.exitIdentDataType(self) - - - - def baseDataType(self): - - localctx = SqlBaseParser.BaseDataTypeContext(self, self._ctx, self.state) - self.enterRule(localctx, 194, self.RULE_baseDataType) - try: - self.state = 2358 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,305,self._ctx) - if la_ == 1: - localctx = SqlBaseParser.DefinedDataTypeDefaultContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 2356 - self.definedDataType() - pass - - elif la_ == 2: - localctx = SqlBaseParser.IdentDataTypeContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 2357 - self.ident() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DefinedDataTypeContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def DOUBLE(self): - return self.getToken(SqlBaseParser.DOUBLE, 0) - - def PRECISION(self): - return self.getToken(SqlBaseParser.PRECISION, 0) - - def TIMESTAMP(self): - return self.getToken(SqlBaseParser.TIMESTAMP, 0) - - def WITHOUT(self): - return self.getToken(SqlBaseParser.WITHOUT, 0) - - def TIME(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.TIME) - else: - return self.getToken(SqlBaseParser.TIME, i) - - def ZONE(self): - return self.getToken(SqlBaseParser.ZONE, 0) - - def WITH(self): - return self.getToken(SqlBaseParser.WITH, 0) - - def CHARACTER(self): - return self.getToken(SqlBaseParser.CHARACTER, 0) - - def VARYING(self): - return self.getToken(SqlBaseParser.VARYING, 0) - - def CHAR_SPECIAL(self): - return self.getToken(SqlBaseParser.CHAR_SPECIAL, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_definedDataType - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDefinedDataType" ): - listener.enterDefinedDataType(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDefinedDataType" ): - listener.exitDefinedDataType(self) - - - - - def definedDataType(self): - - localctx = SqlBaseParser.DefinedDataTypeContext(self, self._ctx, self.state) - self.enterRule(localctx, 196, self.RULE_definedDataType) - try: - self.state = 2377 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,306,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 2360 - self.match(SqlBaseParser.DOUBLE) - self.state = 2361 - self.match(SqlBaseParser.PRECISION) - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 2362 - self.match(SqlBaseParser.TIMESTAMP) - self.state = 2363 - self.match(SqlBaseParser.WITHOUT) - self.state = 2364 - self.match(SqlBaseParser.TIME) - self.state = 2365 - self.match(SqlBaseParser.ZONE) - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 2366 - self.match(SqlBaseParser.TIMESTAMP) - self.state = 2367 - self.match(SqlBaseParser.WITH) - self.state = 2368 - self.match(SqlBaseParser.TIME) - self.state = 2369 - self.match(SqlBaseParser.ZONE) - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 2370 - self.match(SqlBaseParser.TIME) - self.state = 2371 - self.match(SqlBaseParser.WITH) - self.state = 2372 - self.match(SqlBaseParser.TIME) - self.state = 2373 - self.match(SqlBaseParser.ZONE) - pass - - elif la_ == 5: - self.enterOuterAlt(localctx, 5) - self.state = 2374 - self.match(SqlBaseParser.CHARACTER) - self.state = 2375 - self.match(SqlBaseParser.VARYING) - pass - - elif la_ == 6: - self.enterOuterAlt(localctx, 6) - self.state = 2376 - self.match(SqlBaseParser.CHAR_SPECIAL) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ObjectTypeDefinitionContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.type_ = None # Token - - def OBJECT(self): - return self.getToken(SqlBaseParser.OBJECT, 0) - - def OPEN_ROUND_BRACKET(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.OPEN_ROUND_BRACKET) - else: - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, i) - - def CLOSE_ROUND_BRACKET(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.CLOSE_ROUND_BRACKET) - else: - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, i) - - def AS(self): - return self.getToken(SqlBaseParser.AS, 0) - - def columnDefinition(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ColumnDefinitionContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ColumnDefinitionContext,i) - - - def DYNAMIC(self): - return self.getToken(SqlBaseParser.DYNAMIC, 0) - - def STRICT(self): - return self.getToken(SqlBaseParser.STRICT, 0) - - def IGNORED(self): - return self.getToken(SqlBaseParser.IGNORED, 0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def getRuleIndex(self): - return SqlBaseParser.RULE_objectTypeDefinition - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterObjectTypeDefinition" ): - listener.enterObjectTypeDefinition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitObjectTypeDefinition" ): - listener.exitObjectTypeDefinition(self) - - - - - def objectTypeDefinition(self): - - localctx = SqlBaseParser.ObjectTypeDefinitionContext(self, self._ctx, self.state) - self.enterRule(localctx, 198, self.RULE_objectTypeDefinition) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2379 - self.match(SqlBaseParser.OBJECT) - self.state = 2383 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,307,self._ctx) - if la_ == 1: - self.state = 2380 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 2381 - localctx.type_ = self._input.LT(1) - _la = self._input.LA(1) - if not(((((_la - 230)) & ~0x3f) == 0 and ((1 << (_la - 230)) & 7) != 0)): - localctx.type_ = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 2382 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - - - self.state = 2397 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,309,self._ctx) - if la_ == 1: - self.state = 2385 - self.match(SqlBaseParser.AS) - self.state = 2386 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 2387 - self.columnDefinition() - self.state = 2392 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 2388 - self.match(SqlBaseParser.COMMA) - self.state = 2389 - self.columnDefinition() - self.state = 2394 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 2395 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ColumnConstraintContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return SqlBaseParser.RULE_columnConstraint - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class ColumnConstraintPrimaryKeyContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ColumnConstraintContext - super().__init__(parser) - self.copyFrom(ctx) - - def primaryKeyContraint(self): - return self.getTypedRuleContext(SqlBaseParser.PrimaryKeyContraintContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterColumnConstraintPrimaryKey" ): - listener.enterColumnConstraintPrimaryKey(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitColumnConstraintPrimaryKey" ): - listener.exitColumnConstraintPrimaryKey(self) - - - class ColumnStorageDefinitionContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ColumnConstraintContext - super().__init__(parser) - self.copyFrom(ctx) - - def STORAGE(self): - return self.getToken(SqlBaseParser.STORAGE, 0) - def withProperties(self): - return self.getTypedRuleContext(SqlBaseParser.WithPropertiesContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterColumnStorageDefinition" ): - listener.enterColumnStorageDefinition(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitColumnStorageDefinition" ): - listener.exitColumnStorageDefinition(self) - - - class ColumnCheckConstraintContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ColumnConstraintContext - super().__init__(parser) - self.copyFrom(ctx) - - def checkConstraint(self): - return self.getTypedRuleContext(SqlBaseParser.CheckConstraintContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterColumnCheckConstraint" ): - listener.enterColumnCheckConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitColumnCheckConstraint" ): - listener.exitColumnCheckConstraint(self) - - - class ColumnConstraintNullContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ColumnConstraintContext - super().__init__(parser) - self.copyFrom(ctx) - - def NULL(self): - return self.getToken(SqlBaseParser.NULL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterColumnConstraintNull" ): - listener.enterColumnConstraintNull(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitColumnConstraintNull" ): - listener.exitColumnConstraintNull(self) - - - class ColumnIndexConstraintContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ColumnConstraintContext - super().__init__(parser) - self.method = None # IdentContext - self.copyFrom(ctx) - - def INDEX(self): - return self.getToken(SqlBaseParser.INDEX, 0) - def USING(self): - return self.getToken(SqlBaseParser.USING, 0) - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - def withProperties(self): - return self.getTypedRuleContext(SqlBaseParser.WithPropertiesContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterColumnIndexConstraint" ): - listener.enterColumnIndexConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitColumnIndexConstraint" ): - listener.exitColumnIndexConstraint(self) - - - class ColumnDefaultConstraintContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ColumnConstraintContext - super().__init__(parser) - self.name = None # IdentContext - self.defaultExpr = None # ExprContext - self.copyFrom(ctx) - - def DEFAULT(self): - return self.getToken(SqlBaseParser.DEFAULT, 0) - def expr(self): - return self.getTypedRuleContext(SqlBaseParser.ExprContext,0) - - def CONSTRAINT(self): - return self.getToken(SqlBaseParser.CONSTRAINT, 0) - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterColumnDefaultConstraint" ): - listener.enterColumnDefaultConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitColumnDefaultConstraint" ): - listener.exitColumnDefaultConstraint(self) - - - class ColumnGeneratedConstraintContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ColumnConstraintContext - super().__init__(parser) - self.name = None # IdentContext - self.generatedExpr = None # ExprContext - self.copyFrom(ctx) - - def AS(self): - return self.getToken(SqlBaseParser.AS, 0) - def expr(self): - return self.getTypedRuleContext(SqlBaseParser.ExprContext,0) - - def CONSTRAINT(self): - return self.getToken(SqlBaseParser.CONSTRAINT, 0) - def GENERATED(self): - return self.getToken(SqlBaseParser.GENERATED, 0) - def ALWAYS(self): - return self.getToken(SqlBaseParser.ALWAYS, 0) - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterColumnGeneratedConstraint" ): - listener.enterColumnGeneratedConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitColumnGeneratedConstraint" ): - listener.exitColumnGeneratedConstraint(self) - - - class ColumnIndexOffContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ColumnConstraintContext - super().__init__(parser) - self.copyFrom(ctx) - - def INDEX(self): - return self.getToken(SqlBaseParser.INDEX, 0) - def OFF(self): - return self.getToken(SqlBaseParser.OFF, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterColumnIndexOff" ): - listener.enterColumnIndexOff(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitColumnIndexOff" ): - listener.exitColumnIndexOff(self) - - - class ColumnConstraintNotNullContext(ColumnConstraintContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.ColumnConstraintContext - super().__init__(parser) - self.copyFrom(ctx) - - def NOT(self): - return self.getToken(SqlBaseParser.NOT, 0) - def NULL(self): - return self.getToken(SqlBaseParser.NULL, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterColumnConstraintNotNull" ): - listener.enterColumnConstraintNotNull(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitColumnConstraintNotNull" ): - listener.exitColumnConstraintNotNull(self) - - - - def columnConstraint(self): - - localctx = SqlBaseParser.ColumnConstraintContext(self, self._ctx, self.state) - self.enterRule(localctx, 200, self.RULE_columnConstraint) - self._la = 0 # Token type - try: - self.state = 2430 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,314,self._ctx) - if la_ == 1: - localctx = SqlBaseParser.ColumnConstraintPrimaryKeyContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 2399 - self.primaryKeyContraint() - pass - - elif la_ == 2: - localctx = SqlBaseParser.ColumnConstraintNotNullContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 2400 - self.match(SqlBaseParser.NOT) - self.state = 2401 - self.match(SqlBaseParser.NULL) - pass - - elif la_ == 3: - localctx = SqlBaseParser.ColumnConstraintNullContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 2402 - self.match(SqlBaseParser.NULL) - pass - - elif la_ == 4: - localctx = SqlBaseParser.ColumnIndexConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 4) - self.state = 2403 - self.match(SqlBaseParser.INDEX) - self.state = 2404 - self.match(SqlBaseParser.USING) - self.state = 2405 - localctx.method = self.ident() - self.state = 2407 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==92: - self.state = 2406 - self.withProperties() - - - pass - - elif la_ == 5: - localctx = SqlBaseParser.ColumnIndexOffContext(self, localctx) - self.enterOuterAlt(localctx, 5) - self.state = 2409 - self.match(SqlBaseParser.INDEX) - self.state = 2410 - self.match(SqlBaseParser.OFF) - pass - - elif la_ == 6: - localctx = SqlBaseParser.ColumnStorageDefinitionContext(self, localctx) - self.enterOuterAlt(localctx, 6) - self.state = 2411 - self.match(SqlBaseParser.STORAGE) - self.state = 2412 - self.withProperties() - pass - - elif la_ == 7: - localctx = SqlBaseParser.ColumnDefaultConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 7) - self.state = 2415 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==173: - self.state = 2413 - self.match(SqlBaseParser.CONSTRAINT) - self.state = 2414 - localctx.name = self.ident() - - - self.state = 2417 - self.match(SqlBaseParser.DEFAULT) - self.state = 2418 - localctx.defaultExpr = self.expr() - pass - - elif la_ == 8: - localctx = SqlBaseParser.ColumnGeneratedConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 8) - self.state = 2421 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==173: - self.state = 2419 - self.match(SqlBaseParser.CONSTRAINT) - self.state = 2420 - localctx.name = self.ident() - - - self.state = 2425 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==244: - self.state = 2423 - self.match(SqlBaseParser.GENERATED) - self.state = 2424 - self.match(SqlBaseParser.ALWAYS) - - - self.state = 2427 - self.match(SqlBaseParser.AS) - self.state = 2428 - localctx.generatedExpr = self.expr() - pass - - elif la_ == 9: - localctx = SqlBaseParser.ColumnCheckConstraintContext(self, localctx) - self.enterOuterAlt(localctx, 9) - self.state = 2429 - self.checkConstraint() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class PrimaryKeyContraintContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.name = None # IdentContext - - def PRIMARY_KEY(self): - return self.getToken(SqlBaseParser.PRIMARY_KEY, 0) - - def CONSTRAINT(self): - return self.getToken(SqlBaseParser.CONSTRAINT, 0) - - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_primaryKeyContraint - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterPrimaryKeyContraint" ): - listener.enterPrimaryKeyContraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitPrimaryKeyContraint" ): - listener.exitPrimaryKeyContraint(self) - - - - - def primaryKeyContraint(self): - - localctx = SqlBaseParser.PrimaryKeyContraintContext(self, self._ctx, self.state) - self.enterRule(localctx, 202, self.RULE_primaryKeyContraint) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2434 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==173: - self.state = 2432 - self.match(SqlBaseParser.CONSTRAINT) - self.state = 2433 - localctx.name = self.ident() - - - self.state = 2436 - self.match(SqlBaseParser.PRIMARY_KEY) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CheckConstraintContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.name = None # IdentContext - self.expression = None # BooleanExpressionContext - - def CHECK(self): - return self.getToken(SqlBaseParser.CHECK, 0) - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - - def booleanExpression(self): - return self.getTypedRuleContext(SqlBaseParser.BooleanExpressionContext,0) - - - def CONSTRAINT(self): - return self.getToken(SqlBaseParser.CONSTRAINT, 0) - - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_checkConstraint - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCheckConstraint" ): - listener.enterCheckConstraint(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCheckConstraint" ): - listener.exitCheckConstraint(self) - - - - - def checkConstraint(self): - - localctx = SqlBaseParser.CheckConstraintContext(self, self._ctx, self.state) - self.enterRule(localctx, 204, self.RULE_checkConstraint) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2440 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==173: - self.state = 2438 - self.match(SqlBaseParser.CONSTRAINT) - self.state = 2439 - localctx.name = self.ident() - - - self.state = 2442 - self.match(SqlBaseParser.CHECK) - self.state = 2443 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 2444 - localctx.expression = self.booleanExpression(0) - self.state = 2445 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class WithPropertiesContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return SqlBaseParser.RULE_withProperties - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class WithGenericPropertiesContext(WithPropertiesContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a SqlBaseParser.WithPropertiesContext - super().__init__(parser) - self.copyFrom(ctx) - - def WITH(self): - return self.getToken(SqlBaseParser.WITH, 0) - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - def genericProperties(self): - return self.getTypedRuleContext(SqlBaseParser.GenericPropertiesContext,0) - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterWithGenericProperties" ): - listener.enterWithGenericProperties(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitWithGenericProperties" ): - listener.exitWithGenericProperties(self) - - - - def withProperties(self): - - localctx = SqlBaseParser.WithPropertiesContext(self, self._ctx, self.state) - self.enterRule(localctx, 206, self.RULE_withProperties) - try: - localctx = SqlBaseParser.WithGenericPropertiesContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 2447 - self.match(SqlBaseParser.WITH) - self.state = 2448 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 2449 - self.genericProperties() - self.state = 2450 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class GenericPropertiesContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def genericProperty(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.GenericPropertyContext) - else: - return self.getTypedRuleContext(SqlBaseParser.GenericPropertyContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def getRuleIndex(self): - return SqlBaseParser.RULE_genericProperties - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterGenericProperties" ): - listener.enterGenericProperties(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitGenericProperties" ): - listener.exitGenericProperties(self) - - - - - def genericProperties(self): - - localctx = SqlBaseParser.GenericPropertiesContext(self, self._ctx, self.state) - self.enterRule(localctx, 208, self.RULE_genericProperties) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2452 - self.genericProperty() - self.state = 2457 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 2453 - self.match(SqlBaseParser.COMMA) - self.state = 2454 - self.genericProperty() - self.state = 2459 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class GenericPropertyContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def EQ(self): - return self.getToken(SqlBaseParser.EQ, 0) - - def expr(self): - return self.getTypedRuleContext(SqlBaseParser.ExprContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_genericProperty - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterGenericProperty" ): - listener.enterGenericProperty(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitGenericProperty" ): - listener.exitGenericProperty(self) - - - - - def genericProperty(self): - - localctx = SqlBaseParser.GenericPropertyContext(self, self._ctx, self.state) - self.enterRule(localctx, 210, self.RULE_genericProperty) - try: - self.enterOuterAlt(localctx, 1) - self.state = 2460 - self.ident() - self.state = 2461 - self.match(SqlBaseParser.EQ) - self.state = 2462 - self.expr() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ExplainOptionsContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - - def explainOption(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.ExplainOptionContext) - else: - return self.getTypedRuleContext(SqlBaseParser.ExplainOptionContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def getRuleIndex(self): - return SqlBaseParser.RULE_explainOptions - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterExplainOptions" ): - listener.enterExplainOptions(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitExplainOptions" ): - listener.exitExplainOptions(self) - - - - - def explainOptions(self): - - localctx = SqlBaseParser.ExplainOptionsContext(self, self._ctx, self.state) - self.enterRule(localctx, 212, self.RULE_explainOptions) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2464 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - - self.state = 2465 - self.explainOption() - self.state = 2470 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 2466 - self.match(SqlBaseParser.COMMA) - self.state = 2467 - self.explainOption() - self.state = 2472 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 2473 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class ExplainOptionContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ANALYZE(self): - return self.getToken(SqlBaseParser.ANALYZE, 0) - - def COSTS(self): - return self.getToken(SqlBaseParser.COSTS, 0) - - def VERBOSE(self): - return self.getToken(SqlBaseParser.VERBOSE, 0) - - def booleanLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.BooleanLiteralContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_explainOption - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterExplainOption" ): - listener.enterExplainOption(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitExplainOption" ): - listener.exitExplainOption(self) - - - - - def explainOption(self): - - localctx = SqlBaseParser.ExplainOptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 214, self.RULE_explainOption) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2475 - _la = self._input.LA(1) - if not(((((_la - 165)) & ~0x3f) == 0 and ((1 << (_la - 165)) & 7) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 2477 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==30 or _la==31: - self.state = 2476 - self.booleanLiteral() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class MatchPredicateIdentsContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.matchPred = None # MatchPredicateIdentContext - - def matchPredicateIdent(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.MatchPredicateIdentContext) - else: - return self.getTypedRuleContext(SqlBaseParser.MatchPredicateIdentContext,i) - - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def getRuleIndex(self): - return SqlBaseParser.RULE_matchPredicateIdents - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMatchPredicateIdents" ): - listener.enterMatchPredicateIdents(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMatchPredicateIdents" ): - listener.exitMatchPredicateIdents(self) - - - - - def matchPredicateIdents(self): - - localctx = SqlBaseParser.MatchPredicateIdentsContext(self, self._ctx, self.state) - self.enterRule(localctx, 216, self.RULE_matchPredicateIdents) - self._la = 0 # Token type - try: - self.state = 2491 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [1, 4, 6, 10, 27, 32, 33, 35, 38, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 70, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 93, 96, 98, 99, 100, 101, 102, 103, 104, 105, 107, 108, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 161, 163, 165, 167, 168, 169, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 202, 203, 204, 208, 211, 212, 213, 214, 215, 219, 220, 221, 223, 224, 225, 226, 228, 229, 230, 231, 232, 234, 235, 236, 237, 238, 239, 240, 244, 245, 247, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 322, 323, 324, 325]: - self.enterOuterAlt(localctx, 1) - self.state = 2479 - localctx.matchPred = self.matchPredicateIdent() - pass - elif token in [305]: - self.enterOuterAlt(localctx, 2) - self.state = 2480 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 2481 - self.matchPredicateIdent() - self.state = 2486 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 2482 - self.match(SqlBaseParser.COMMA) - self.state = 2483 - self.matchPredicateIdent() - self.state = 2488 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 2489 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class MatchPredicateIdentContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.boost = None # ParameterOrSimpleLiteralContext - - def subscriptSafe(self): - return self.getTypedRuleContext(SqlBaseParser.SubscriptSafeContext,0) - - - def parameterOrSimpleLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.ParameterOrSimpleLiteralContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_matchPredicateIdent - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterMatchPredicateIdent" ): - listener.enterMatchPredicateIdent(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitMatchPredicateIdent" ): - listener.exitMatchPredicateIdent(self) - - - - - def matchPredicateIdent(self): - - localctx = SqlBaseParser.MatchPredicateIdentContext(self, self._ctx, self.state) - self.enterRule(localctx, 218, self.RULE_matchPredicateIdent) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2493 - self.subscriptSafe(0) - self.state = 2495 - self._errHandler.sync(self) - _la = self._input.LA(1) - if ((((_la - 29)) & ~0x3f) == 0 and ((1 << (_la - 29)) & 2199023255559) != 0) or ((((_la - 312)) & ~0x3f) == 0 and ((1 << (_la - 312)) & 17379) != 0): - self.state = 2494 - localctx.boost = self.parameterOrSimpleLiteral() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class AnalyzerElementContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def tokenizer(self): - return self.getTypedRuleContext(SqlBaseParser.TokenizerContext,0) - - - def tokenFilters(self): - return self.getTypedRuleContext(SqlBaseParser.TokenFiltersContext,0) - - - def charFilters(self): - return self.getTypedRuleContext(SqlBaseParser.CharFiltersContext,0) - - - def genericProperty(self): - return self.getTypedRuleContext(SqlBaseParser.GenericPropertyContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_analyzerElement - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAnalyzerElement" ): - listener.enterAnalyzerElement(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAnalyzerElement" ): - listener.exitAnalyzerElement(self) - - - - - def analyzerElement(self): - - localctx = SqlBaseParser.AnalyzerElementContext(self, self._ctx, self.state) - self.enterRule(localctx, 220, self.RULE_analyzerElement) - try: - self.state = 2501 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,323,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 2497 - self.tokenizer() - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 2498 - self.tokenFilters() - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 2499 - self.charFilters() - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 2500 - self.genericProperty() - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class TokenizerContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def TOKENIZER(self): - return self.getToken(SqlBaseParser.TOKENIZER, 0) - - def namedProperties(self): - return self.getTypedRuleContext(SqlBaseParser.NamedPropertiesContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_tokenizer - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTokenizer" ): - listener.enterTokenizer(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTokenizer" ): - listener.exitTokenizer(self) - - - - - def tokenizer(self): - - localctx = SqlBaseParser.TokenizerContext(self, self._ctx, self.state) - self.enterRule(localctx, 222, self.RULE_tokenizer) - try: - self.enterOuterAlt(localctx, 1) - self.state = 2503 - self.match(SqlBaseParser.TOKENIZER) - self.state = 2504 - self.namedProperties() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class TokenFiltersContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def TOKEN_FILTERS(self): - return self.getToken(SqlBaseParser.TOKEN_FILTERS, 0) - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - - def namedProperties(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.NamedPropertiesContext) - else: - return self.getTypedRuleContext(SqlBaseParser.NamedPropertiesContext,i) - - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def getRuleIndex(self): - return SqlBaseParser.RULE_tokenFilters - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTokenFilters" ): - listener.enterTokenFilters(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTokenFilters" ): - listener.exitTokenFilters(self) - - - - - def tokenFilters(self): - - localctx = SqlBaseParser.TokenFiltersContext(self, self._ctx, self.state) - self.enterRule(localctx, 224, self.RULE_tokenFilters) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2506 - self.match(SqlBaseParser.TOKEN_FILTERS) - self.state = 2507 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 2508 - self.namedProperties() - self.state = 2513 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 2509 - self.match(SqlBaseParser.COMMA) - self.state = 2510 - self.namedProperties() - self.state = 2515 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 2516 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class CharFiltersContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def CHAR_FILTERS(self): - return self.getToken(SqlBaseParser.CHAR_FILTERS, 0) - - def OPEN_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0) - - def namedProperties(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.NamedPropertiesContext) - else: - return self.getTypedRuleContext(SqlBaseParser.NamedPropertiesContext,i) - - - def CLOSE_ROUND_BRACKET(self): - return self.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0) - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def getRuleIndex(self): - return SqlBaseParser.RULE_charFilters - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCharFilters" ): - listener.enterCharFilters(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCharFilters" ): - listener.exitCharFilters(self) - - - - - def charFilters(self): - - localctx = SqlBaseParser.CharFiltersContext(self, self._ctx, self.state) - self.enterRule(localctx, 226, self.RULE_charFilters) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2518 - self.match(SqlBaseParser.CHAR_FILTERS) - self.state = 2519 - self.match(SqlBaseParser.OPEN_ROUND_BRACKET) - self.state = 2520 - self.namedProperties() - self.state = 2525 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 2521 - self.match(SqlBaseParser.COMMA) - self.state = 2522 - self.namedProperties() - self.state = 2527 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 2528 - self.match(SqlBaseParser.CLOSE_ROUND_BRACKET) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class NamedPropertiesContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def withProperties(self): - return self.getTypedRuleContext(SqlBaseParser.WithPropertiesContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_namedProperties - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterNamedProperties" ): - listener.enterNamedProperties(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitNamedProperties" ): - listener.exitNamedProperties(self) - - - - - def namedProperties(self): - - localctx = SqlBaseParser.NamedPropertiesContext(self, self._ctx, self.state) - self.enterRule(localctx, 228, self.RULE_namedProperties) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2530 - self.ident() - self.state = 2532 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==92: - self.state = 2531 - self.withProperties() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class TableWithPartitionsContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def tableWithPartition(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(SqlBaseParser.TableWithPartitionContext) - else: - return self.getTypedRuleContext(SqlBaseParser.TableWithPartitionContext,i) - - - def COMMA(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.COMMA) - else: - return self.getToken(SqlBaseParser.COMMA, i) - - def getRuleIndex(self): - return SqlBaseParser.RULE_tableWithPartitions - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTableWithPartitions" ): - listener.enterTableWithPartitions(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTableWithPartitions" ): - listener.exitTableWithPartitions(self) - - - - - def tableWithPartitions(self): - - localctx = SqlBaseParser.TableWithPartitionsContext(self, self._ctx, self.state) - self.enterRule(localctx, 230, self.RULE_tableWithPartitions) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2534 - self.tableWithPartition() - self.state = 2539 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==303: - self.state = 2535 - self.match(SqlBaseParser.COMMA) - self.state = 2536 - self.tableWithPartition() - self.state = 2541 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SetGlobalAssignmentContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.name = None # PrimaryExpressionContext - self.value = None # ExprContext - - def primaryExpression(self): - return self.getTypedRuleContext(SqlBaseParser.PrimaryExpressionContext,0) - - - def EQ(self): - return self.getToken(SqlBaseParser.EQ, 0) - - def TO(self): - return self.getToken(SqlBaseParser.TO, 0) - - def expr(self): - return self.getTypedRuleContext(SqlBaseParser.ExprContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_setGlobalAssignment - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSetGlobalAssignment" ): - listener.enterSetGlobalAssignment(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSetGlobalAssignment" ): - listener.exitSetGlobalAssignment(self) - - - - - def setGlobalAssignment(self): - - localctx = SqlBaseParser.SetGlobalAssignmentContext(self, self._ctx, self.state) - self.enterRule(localctx, 232, self.RULE_setGlobalAssignment) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2542 - localctx.name = self.primaryExpression(0) - self.state = 2543 - _la = self._input.LA(1) - if not(_la==4 or _la==282): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 2544 - localctx.value = self.expr() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SetExprContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def stringLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.StringLiteralContext,0) - - - def booleanLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.BooleanLiteralContext,0) - - - def numericLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.NumericLiteralContext,0) - - - def ident(self): - return self.getTypedRuleContext(SqlBaseParser.IdentContext,0) - - - def on(self): - return self.getTypedRuleContext(SqlBaseParser.OnContext,0) - - - def getRuleIndex(self): - return SqlBaseParser.RULE_setExpr - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSetExpr" ): - listener.enterSetExpr(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSetExpr" ): - listener.exitSetExpr(self) - - - - - def setExpr(self): - - localctx = SqlBaseParser.SetExprContext(self, self._ctx, self.state) - self.enterRule(localctx, 234, self.RULE_setExpr) - try: - self.state = 2551 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [317, 326]: - self.enterOuterAlt(localctx, 1) - self.state = 2546 - self.stringLiteral() - pass - elif token in [30, 31]: - self.enterOuterAlt(localctx, 2) - self.state = 2547 - self.booleanLiteral() - pass - elif token in [320, 321]: - self.enterOuterAlt(localctx, 3) - self.state = 2548 - self.numericLiteral() - pass - elif token in [1, 4, 6, 10, 27, 32, 33, 35, 38, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 70, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 93, 96, 98, 99, 100, 101, 102, 103, 104, 105, 107, 108, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 161, 163, 165, 167, 168, 169, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 202, 203, 204, 208, 211, 212, 213, 214, 215, 219, 220, 221, 223, 224, 225, 226, 228, 229, 230, 231, 232, 234, 235, 236, 237, 238, 239, 240, 244, 245, 247, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 322, 323, 324, 325]: - self.enterOuterAlt(localctx, 4) - self.state = 2549 - self.ident() - pass - elif token in [80]: - self.enterOuterAlt(localctx, 5) - self.state = 2550 - self.on() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class OnContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ON(self): - return self.getToken(SqlBaseParser.ON, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_on - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterOn" ): - listener.enterOn(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitOn" ): - listener.exitOn(self) - - - - - def on(self): - - localctx = SqlBaseParser.OnContext(self, self._ctx, self.state) - self.enterRule(localctx, 236, self.RULE_on) - try: - self.enterOuterAlt(localctx, 1) - self.state = 2553 - self.match(SqlBaseParser.ON) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class SecurableContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def SCHEMA(self): - return self.getToken(SqlBaseParser.SCHEMA, 0) - - def TABLE(self): - return self.getToken(SqlBaseParser.TABLE, 0) - - def VIEW(self): - return self.getToken(SqlBaseParser.VIEW, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_securable - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSecurable" ): - listener.enterSecurable(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSecurable" ): - listener.exitSecurable(self) - - - - - def securable(self): - - localctx = SqlBaseParser.SecurableContext(self, self._ctx, self.state) - self.enterRule(localctx, 238, self.RULE_securable) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2555 - _la = self._input.LA(1) - if not(_la==97 or _la==193 or _la==252): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class TransactionModeContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ISOLATION(self): - return self.getToken(SqlBaseParser.ISOLATION, 0) - - def LEVEL(self): - return self.getToken(SqlBaseParser.LEVEL, 0) - - def isolationLevel(self): - return self.getTypedRuleContext(SqlBaseParser.IsolationLevelContext,0) - - - def READ(self): - return self.getToken(SqlBaseParser.READ, 0) - - def WRITE(self): - return self.getToken(SqlBaseParser.WRITE, 0) - - def ONLY(self): - return self.getToken(SqlBaseParser.ONLY, 0) - - def DEFERRABLE(self): - return self.getToken(SqlBaseParser.DEFERRABLE, 0) - - def NOT(self): - return self.getToken(SqlBaseParser.NOT, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_transactionMode - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterTransactionMode" ): - listener.enterTransactionMode(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitTransactionMode" ): - listener.exitTransactionMode(self) - - - - - def transactionMode(self): - - localctx = SqlBaseParser.TransactionModeContext(self, self._ctx, self.state) - self.enterRule(localctx, 240, self.RULE_transactionMode) - self._la = 0 # Token type - try: - self.state = 2570 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [150]: - self.enterOuterAlt(localctx, 1) - self.state = 2557 - self.match(SqlBaseParser.ISOLATION) - self.state = 2558 - self.match(SqlBaseParser.LEVEL) - self.state = 2559 - self.isolationLevel() - pass - elif token in [156]: - self.enterOuterAlt(localctx, 2) - self.state = 2564 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,329,self._ctx) - if la_ == 1: - self.state = 2560 - self.match(SqlBaseParser.READ) - self.state = 2561 - self.match(SqlBaseParser.WRITE) - pass - - elif la_ == 2: - self.state = 2562 - self.match(SqlBaseParser.READ) - self.state = 2563 - self.match(SqlBaseParser.ONLY) - pass - - - pass - elif token in [23, 158]: - self.enterOuterAlt(localctx, 3) - self.state = 2567 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==23: - self.state = 2566 - self.match(SqlBaseParser.NOT) - - - self.state = 2569 - self.match(SqlBaseParser.DEFERRABLE) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class IsolationLevelContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def SERIALIZABLE(self): - return self.getToken(SqlBaseParser.SERIALIZABLE, 0) - - def REPEATABLE(self): - return self.getToken(SqlBaseParser.REPEATABLE, 0) - - def READ(self): - return self.getToken(SqlBaseParser.READ, 0) - - def COMMITTED(self): - return self.getToken(SqlBaseParser.COMMITTED, 0) - - def UNCOMMITTED(self): - return self.getToken(SqlBaseParser.UNCOMMITTED, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_isolationLevel - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIsolationLevel" ): - listener.enterIsolationLevel(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIsolationLevel" ): - listener.exitIsolationLevel(self) - - - - - def isolationLevel(self): - - localctx = SqlBaseParser.IsolationLevelContext(self, self._ctx, self.state) - self.enterRule(localctx, 242, self.RULE_isolationLevel) - try: - self.state = 2579 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,332,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 2572 - self.match(SqlBaseParser.SERIALIZABLE) - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 2573 - self.match(SqlBaseParser.REPEATABLE) - self.state = 2574 - self.match(SqlBaseParser.READ) - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 2575 - self.match(SqlBaseParser.READ) - self.state = 2576 - self.match(SqlBaseParser.COMMITTED) - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 2577 - self.match(SqlBaseParser.READ) - self.state = 2578 - self.match(SqlBaseParser.UNCOMMITTED) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DirectionContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def NEXT(self): - return self.getToken(SqlBaseParser.NEXT, 0) - - def PRIOR(self): - return self.getToken(SqlBaseParser.PRIOR, 0) - - def FIRST(self): - return self.getToken(SqlBaseParser.FIRST, 0) - - def LAST(self): - return self.getToken(SqlBaseParser.LAST, 0) - - def ABSOLUTE(self): - return self.getToken(SqlBaseParser.ABSOLUTE, 0) - - def integerLiteral(self): - return self.getTypedRuleContext(SqlBaseParser.IntegerLiteralContext,0) - - - def RELATIVE(self): - return self.getToken(SqlBaseParser.RELATIVE, 0) - - def MINUS(self): - return self.getToken(SqlBaseParser.MINUS, 0) - - def ALL(self): - return self.getToken(SqlBaseParser.ALL, 0) - - def FORWARD(self): - return self.getToken(SqlBaseParser.FORWARD, 0) - - def BACKWARD(self): - return self.getToken(SqlBaseParser.BACKWARD, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_direction - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDirection" ): - listener.enterDirection(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDirection" ): - listener.exitDirection(self) - - - - - def direction(self): - - localctx = SqlBaseParser.DirectionContext(self, self._ctx, self.state) - self.enterRule(localctx, 244, self.RULE_direction) - self._la = 0 # Token type - try: - self.state = 2604 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,334,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 2581 - self.match(SqlBaseParser.NEXT) - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 2582 - self.match(SqlBaseParser.PRIOR) - pass - - elif la_ == 3: - self.enterOuterAlt(localctx, 3) - self.state = 2583 - self.match(SqlBaseParser.FIRST) - pass - - elif la_ == 4: - self.enterOuterAlt(localctx, 4) - self.state = 2584 - self.match(SqlBaseParser.LAST) - pass - - elif la_ == 5: - self.enterOuterAlt(localctx, 5) - self.state = 2585 - self.match(SqlBaseParser.ABSOLUTE) - self.state = 2586 - self.integerLiteral() - pass - - elif la_ == 6: - self.enterOuterAlt(localctx, 6) - self.state = 2587 - self.match(SqlBaseParser.RELATIVE) - self.state = 2589 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==294: - self.state = 2588 - self.match(SqlBaseParser.MINUS) - - - self.state = 2591 - self.integerLiteral() - pass - - elif la_ == 7: - self.enterOuterAlt(localctx, 7) - self.state = 2592 - self.integerLiteral() - pass - - elif la_ == 8: - self.enterOuterAlt(localctx, 8) - self.state = 2593 - self.match(SqlBaseParser.ALL) - pass - - elif la_ == 9: - self.enterOuterAlt(localctx, 9) - self.state = 2594 - self.match(SqlBaseParser.FORWARD) - pass - - elif la_ == 10: - self.enterOuterAlt(localctx, 10) - self.state = 2595 - self.match(SqlBaseParser.FORWARD) - self.state = 2596 - self.integerLiteral() - pass - - elif la_ == 11: - self.enterOuterAlt(localctx, 11) - self.state = 2597 - self.match(SqlBaseParser.FORWARD) - self.state = 2598 - self.match(SqlBaseParser.ALL) - pass - - elif la_ == 12: - self.enterOuterAlt(localctx, 12) - self.state = 2599 - self.match(SqlBaseParser.BACKWARD) - pass - - elif la_ == 13: - self.enterOuterAlt(localctx, 13) - self.state = 2600 - self.match(SqlBaseParser.BACKWARD) - self.state = 2601 - self.integerLiteral() - pass - - elif la_ == 14: - self.enterOuterAlt(localctx, 14) - self.state = 2602 - self.match(SqlBaseParser.BACKWARD) - self.state = 2603 - self.match(SqlBaseParser.ALL) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class DeclareCursorParamsContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ASENSITIVE(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.ASENSITIVE) - else: - return self.getToken(SqlBaseParser.ASENSITIVE, i) - - def BINARY(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.BINARY) - else: - return self.getToken(SqlBaseParser.BINARY, i) - - def INSENSITIVE(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.INSENSITIVE) - else: - return self.getToken(SqlBaseParser.INSENSITIVE, i) - - def SCROLL(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.SCROLL) - else: - return self.getToken(SqlBaseParser.SCROLL, i) - - def NO(self, i:int=None): - if i is None: - return self.getTokens(SqlBaseParser.NO) - else: - return self.getToken(SqlBaseParser.NO, i) - - def getRuleIndex(self): - return SqlBaseParser.RULE_declareCursorParams - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterDeclareCursorParams" ): - listener.enterDeclareCursorParams(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitDeclareCursorParams" ): - listener.exitDeclareCursorParams(self) - - - - - def declareCursorParams(self): - - localctx = SqlBaseParser.DeclareCursorParamsContext(self, self._ctx, self.state) - self.enterRule(localctx, 246, self.RULE_declareCursorParams) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2615 - self._errHandler.sync(self) - _la = self._input.LA(1) - while ((((_la - 263)) & ~0x3f) == 0 and ((1 << (_la - 263)) & 31) != 0): - self.state = 2613 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [263]: - self.state = 2606 - self.match(SqlBaseParser.ASENSITIVE) - pass - elif token in [265]: - self.state = 2607 - self.match(SqlBaseParser.BINARY) - pass - elif token in [264]: - self.state = 2608 - self.match(SqlBaseParser.INSENSITIVE) - pass - elif token in [266, 267]: - self.state = 2610 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==266: - self.state = 2609 - self.match(SqlBaseParser.NO) - - - self.state = 2612 - self.match(SqlBaseParser.SCROLL) - pass - else: - raise NoViableAltException(self) - - self.state = 2617 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - class NonReservedContext(ParserRuleContext): - __slots__ = 'parser' - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def ABSOLUTE(self): - return self.getToken(SqlBaseParser.ABSOLUTE, 0) - - def ALIAS(self): - return self.getToken(SqlBaseParser.ALIAS, 0) - - def ALLOCATE(self): - return self.getToken(SqlBaseParser.ALLOCATE, 0) - - def ALWAYS(self): - return self.getToken(SqlBaseParser.ALWAYS, 0) - - def ANALYZE(self): - return self.getToken(SqlBaseParser.ANALYZE, 0) - - def ANALYZER(self): - return self.getToken(SqlBaseParser.ANALYZER, 0) - - def ARTIFACTS(self): - return self.getToken(SqlBaseParser.ARTIFACTS, 0) - - def ASENSITIVE(self): - return self.getToken(SqlBaseParser.ASENSITIVE, 0) - - def AT(self): - return self.getToken(SqlBaseParser.AT, 0) - - def AUTHORIZATION(self): - return self.getToken(SqlBaseParser.AUTHORIZATION, 0) - - def BACKWARD(self): - return self.getToken(SqlBaseParser.BACKWARD, 0) - - def BEGIN(self): - return self.getToken(SqlBaseParser.BEGIN, 0) - - def BERNOULLI(self): - return self.getToken(SqlBaseParser.BERNOULLI, 0) - - def BINARY(self): - return self.getToken(SqlBaseParser.BINARY, 0) - - def BLOB(self): - return self.getToken(SqlBaseParser.BLOB, 0) - - def BOOLEAN(self): - return self.getToken(SqlBaseParser.BOOLEAN, 0) - - def BOTH(self): - return self.getToken(SqlBaseParser.BOTH, 0) - - def BYTE(self): - return self.getToken(SqlBaseParser.BYTE, 0) - - def CANCEL(self): - return self.getToken(SqlBaseParser.CANCEL, 0) - - def CASCADE(self): - return self.getToken(SqlBaseParser.CASCADE, 0) - - def CATALOGS(self): - return self.getToken(SqlBaseParser.CATALOGS, 0) - - def CHARACTER(self): - return self.getToken(SqlBaseParser.CHARACTER, 0) - - def CHARACTERISTICS(self): - return self.getToken(SqlBaseParser.CHARACTERISTICS, 0) - - def CHAR_FILTERS(self): - return self.getToken(SqlBaseParser.CHAR_FILTERS, 0) - - def CHECK(self): - return self.getToken(SqlBaseParser.CHECK, 0) - - def CLOSE(self): - return self.getToken(SqlBaseParser.CLOSE, 0) - - def CLUSTER(self): - return self.getToken(SqlBaseParser.CLUSTER, 0) - - def CLUSTERED(self): - return self.getToken(SqlBaseParser.CLUSTERED, 0) - - def COLUMNS(self): - return self.getToken(SqlBaseParser.COLUMNS, 0) - - def COMMIT(self): - return self.getToken(SqlBaseParser.COMMIT, 0) - - def COMMITTED(self): - return self.getToken(SqlBaseParser.COMMITTED, 0) - - def CONFLICT(self): - return self.getToken(SqlBaseParser.CONFLICT, 0) - - def CONNECTION(self): - return self.getToken(SqlBaseParser.CONNECTION, 0) - - def COPY(self): - return self.getToken(SqlBaseParser.COPY, 0) - - def CURRENT(self): - return self.getToken(SqlBaseParser.CURRENT, 0) - - def CURRENT_DATE(self): - return self.getToken(SqlBaseParser.CURRENT_DATE, 0) - - def CURRENT_SCHEMA(self): - return self.getToken(SqlBaseParser.CURRENT_SCHEMA, 0) - - def CURRENT_TIME(self): - return self.getToken(SqlBaseParser.CURRENT_TIME, 0) - - def CURRENT_TIMESTAMP(self): - return self.getToken(SqlBaseParser.CURRENT_TIMESTAMP, 0) - - def CURSOR(self): - return self.getToken(SqlBaseParser.CURSOR, 0) - - def DANGLING(self): - return self.getToken(SqlBaseParser.DANGLING, 0) - - def DATA(self): - return self.getToken(SqlBaseParser.DATA, 0) - - def DAY(self): - return self.getToken(SqlBaseParser.DAY, 0) - - def DEALLOCATE(self): - return self.getToken(SqlBaseParser.DEALLOCATE, 0) - - def DECLARE(self): - return self.getToken(SqlBaseParser.DECLARE, 0) - - def DECOMMISSION(self): - return self.getToken(SqlBaseParser.DECOMMISSION, 0) - - def DEFERRABLE(self): - return self.getToken(SqlBaseParser.DEFERRABLE, 0) - - def DISABLE(self): - return self.getToken(SqlBaseParser.DISABLE, 0) - - def DISCARD(self): - return self.getToken(SqlBaseParser.DISCARD, 0) - - def DISTRIBUTED(self): - return self.getToken(SqlBaseParser.DISTRIBUTED, 0) - - def DO(self): - return self.getToken(SqlBaseParser.DO, 0) - - def DOUBLE(self): - return self.getToken(SqlBaseParser.DOUBLE, 0) - - def DUPLICATE(self): - return self.getToken(SqlBaseParser.DUPLICATE, 0) - - def DYNAMIC(self): - return self.getToken(SqlBaseParser.DYNAMIC, 0) - - def ENABLE(self): - return self.getToken(SqlBaseParser.ENABLE, 0) - - def EXPLAIN(self): - return self.getToken(SqlBaseParser.EXPLAIN, 0) - - def EXTENDS(self): - return self.getToken(SqlBaseParser.EXTENDS, 0) - - def FAILED(self): - return self.getToken(SqlBaseParser.FAILED, 0) - - def FETCH(self): - return self.getToken(SqlBaseParser.FETCH, 0) - - def FILTER(self): - return self.getToken(SqlBaseParser.FILTER, 0) - - def FLOAT(self): - return self.getToken(SqlBaseParser.FLOAT, 0) - - def FOLLOWING(self): - return self.getToken(SqlBaseParser.FOLLOWING, 0) - - def FOREIGN(self): - return self.getToken(SqlBaseParser.FOREIGN, 0) - - def FORMAT(self): - return self.getToken(SqlBaseParser.FORMAT, 0) - - def FORWARD(self): - return self.getToken(SqlBaseParser.FORWARD, 0) - - def FULLTEXT(self): - return self.getToken(SqlBaseParser.FULLTEXT, 0) - - def FUNCTIONS(self): - return self.getToken(SqlBaseParser.FUNCTIONS, 0) - - def GC(self): - return self.getToken(SqlBaseParser.GC, 0) - - def GENERATED(self): - return self.getToken(SqlBaseParser.GENERATED, 0) - - def GEO_POINT(self): - return self.getToken(SqlBaseParser.GEO_POINT, 0) - - def GEO_SHAPE(self): - return self.getToken(SqlBaseParser.GEO_SHAPE, 0) - - def GLOBAL(self): - return self.getToken(SqlBaseParser.GLOBAL, 0) - - def GRAPHVIZ(self): - return self.getToken(SqlBaseParser.GRAPHVIZ, 0) - - def HOLD(self): - return self.getToken(SqlBaseParser.HOLD, 0) - - def HOUR(self): - return self.getToken(SqlBaseParser.HOUR, 0) - - def IGNORE(self): - return self.getToken(SqlBaseParser.IGNORE, 0) - - def IGNORED(self): - return self.getToken(SqlBaseParser.IGNORED, 0) - - def ILIKE(self): - return self.getToken(SqlBaseParser.ILIKE, 0) - - def INSENSITIVE(self): - return self.getToken(SqlBaseParser.INSENSITIVE, 0) - - def INT(self): - return self.getToken(SqlBaseParser.INT, 0) - - def INTEGER(self): - return self.getToken(SqlBaseParser.INTEGER, 0) - - def INTERVAL(self): - return self.getToken(SqlBaseParser.INTERVAL, 0) - - def IP(self): - return self.getToken(SqlBaseParser.IP, 0) - - def ISOLATION(self): - return self.getToken(SqlBaseParser.ISOLATION, 0) - - def KEY(self): - return self.getToken(SqlBaseParser.KEY, 0) - - def KILL(self): - return self.getToken(SqlBaseParser.KILL, 0) - - def LANGUAGE(self): - return self.getToken(SqlBaseParser.LANGUAGE, 0) - - def LEADING(self): - return self.getToken(SqlBaseParser.LEADING, 0) - - def LEVEL(self): - return self.getToken(SqlBaseParser.LEVEL, 0) - - def LOCAL(self): - return self.getToken(SqlBaseParser.LOCAL, 0) - - def LOGICAL(self): - return self.getToken(SqlBaseParser.LOGICAL, 0) - - def LONG(self): - return self.getToken(SqlBaseParser.LONG, 0) - - def MAPPING(self): - return self.getToken(SqlBaseParser.MAPPING, 0) - - def MATERIALIZED(self): - return self.getToken(SqlBaseParser.MATERIALIZED, 0) - - def METADATA(self): - return self.getToken(SqlBaseParser.METADATA, 0) - - def MINUTE(self): - return self.getToken(SqlBaseParser.MINUTE, 0) - - def MONTH(self): - return self.getToken(SqlBaseParser.MONTH, 0) - - def MOVE(self): - return self.getToken(SqlBaseParser.MOVE, 0) - - def NEXT(self): - return self.getToken(SqlBaseParser.NEXT, 0) - - def NO(self): - return self.getToken(SqlBaseParser.NO, 0) - - def NOTHING(self): - return self.getToken(SqlBaseParser.NOTHING, 0) - - def OFF(self): - return self.getToken(SqlBaseParser.OFF, 0) - - def ONLY(self): - return self.getToken(SqlBaseParser.ONLY, 0) - - def OPEN(self): - return self.getToken(SqlBaseParser.OPEN, 0) - - def OPTIMIZE(self): - return self.getToken(SqlBaseParser.OPTIMIZE, 0) - - def OPTIONS(self): - return self.getToken(SqlBaseParser.OPTIONS, 0) - - def OVER(self): - return self.getToken(SqlBaseParser.OVER, 0) - - def PARTITION(self): - return self.getToken(SqlBaseParser.PARTITION, 0) - - def PARTITIONED(self): - return self.getToken(SqlBaseParser.PARTITIONED, 0) - - def PARTITIONS(self): - return self.getToken(SqlBaseParser.PARTITIONS, 0) - - def PLAIN(self): - return self.getToken(SqlBaseParser.PLAIN, 0) - - def PLANS(self): - return self.getToken(SqlBaseParser.PLANS, 0) - - def PRECEDING(self): - return self.getToken(SqlBaseParser.PRECEDING, 0) - - def PRECISION(self): - return self.getToken(SqlBaseParser.PRECISION, 0) - - def PREPARE(self): - return self.getToken(SqlBaseParser.PREPARE, 0) - - def PRIOR(self): - return self.getToken(SqlBaseParser.PRIOR, 0) - - def PRIVILEGES(self): - return self.getToken(SqlBaseParser.PRIVILEGES, 0) - - def PROMOTE(self): - return self.getToken(SqlBaseParser.PROMOTE, 0) - - def PUBLICATION(self): - return self.getToken(SqlBaseParser.PUBLICATION, 0) - - def RANGE(self): - return self.getToken(SqlBaseParser.RANGE, 0) - - def READ(self): - return self.getToken(SqlBaseParser.READ, 0) - - def REFRESH(self): - return self.getToken(SqlBaseParser.REFRESH, 0) - - def RELATIVE(self): - return self.getToken(SqlBaseParser.RELATIVE, 0) - - def RENAME(self): - return self.getToken(SqlBaseParser.RENAME, 0) - - def REPEATABLE(self): - return self.getToken(SqlBaseParser.REPEATABLE, 0) - - def REPLACE(self): - return self.getToken(SqlBaseParser.REPLACE, 0) - - def REPLICA(self): - return self.getToken(SqlBaseParser.REPLICA, 0) - - def REPOSITORY(self): - return self.getToken(SqlBaseParser.REPOSITORY, 0) - - def REROUTE(self): - return self.getToken(SqlBaseParser.REROUTE, 0) - - def RESPECT(self): - return self.getToken(SqlBaseParser.RESPECT, 0) - - def RESTORE(self): - return self.getToken(SqlBaseParser.RESTORE, 0) - - def RESTRICT(self): - return self.getToken(SqlBaseParser.RESTRICT, 0) - - def RETRY(self): - return self.getToken(SqlBaseParser.RETRY, 0) - - def RETURN(self): - return self.getToken(SqlBaseParser.RETURN, 0) - - def RETURNING(self): - return self.getToken(SqlBaseParser.RETURNING, 0) - - def ROLE(self): - return self.getToken(SqlBaseParser.ROLE, 0) - - def ROW(self): - return self.getToken(SqlBaseParser.ROW, 0) - - def ROWS(self): - return self.getToken(SqlBaseParser.ROWS, 0) - - def SCHEMA(self): - return self.getToken(SqlBaseParser.SCHEMA, 0) - - def SCHEMAS(self): - return self.getToken(SqlBaseParser.SCHEMAS, 0) - - def SCROLL(self): - return self.getToken(SqlBaseParser.SCROLL, 0) - - def SECOND(self): - return self.getToken(SqlBaseParser.SECOND, 0) - - def SEQUENCES(self): - return self.getToken(SqlBaseParser.SEQUENCES, 0) - - def SERIALIZABLE(self): - return self.getToken(SqlBaseParser.SERIALIZABLE, 0) - - def SERVER(self): - return self.getToken(SqlBaseParser.SERVER, 0) - - def SESSION(self): - return self.getToken(SqlBaseParser.SESSION, 0) - - def SHARD(self): - return self.getToken(SqlBaseParser.SHARD, 0) - - def SHARDS(self): - return self.getToken(SqlBaseParser.SHARDS, 0) - - def SHORT(self): - return self.getToken(SqlBaseParser.SHORT, 0) - - def SHOW(self): - return self.getToken(SqlBaseParser.SHOW, 0) - - def SNAPSHOT(self): - return self.getToken(SqlBaseParser.SNAPSHOT, 0) - - def START(self): - return self.getToken(SqlBaseParser.START, 0) - - def STORAGE(self): - return self.getToken(SqlBaseParser.STORAGE, 0) - - def STRICT(self): - return self.getToken(SqlBaseParser.STRICT, 0) - - def STRING_TYPE(self): - return self.getToken(SqlBaseParser.STRING_TYPE, 0) - - def SUBSCRIPTION(self): - return self.getToken(SqlBaseParser.SUBSCRIPTION, 0) - - def SUBSTRING(self): - return self.getToken(SqlBaseParser.SUBSTRING, 0) - - def SUMMARY(self): - return self.getToken(SqlBaseParser.SUMMARY, 0) - - def SWAP(self): - return self.getToken(SqlBaseParser.SWAP, 0) - - def SYSTEM(self): - return self.getToken(SqlBaseParser.SYSTEM, 0) - - def TABLES(self): - return self.getToken(SqlBaseParser.TABLES, 0) - - def TABLESAMPLE(self): - return self.getToken(SqlBaseParser.TABLESAMPLE, 0) - - def TEMP(self): - return self.getToken(SqlBaseParser.TEMP, 0) - - def TEMPORARY(self): - return self.getToken(SqlBaseParser.TEMPORARY, 0) - - def TEXT(self): - return self.getToken(SqlBaseParser.TEXT, 0) - - def TIME(self): - return self.getToken(SqlBaseParser.TIME, 0) - - def TIMESTAMP(self): - return self.getToken(SqlBaseParser.TIMESTAMP, 0) - - def TO(self): - return self.getToken(SqlBaseParser.TO, 0) - - def TOKENIZER(self): - return self.getToken(SqlBaseParser.TOKENIZER, 0) - - def TOKEN_FILTERS(self): - return self.getToken(SqlBaseParser.TOKEN_FILTERS, 0) - - def TRAILING(self): - return self.getToken(SqlBaseParser.TRAILING, 0) - - def TRANSACTION(self): - return self.getToken(SqlBaseParser.TRANSACTION, 0) - - def TRANSACTION_ISOLATION(self): - return self.getToken(SqlBaseParser.TRANSACTION_ISOLATION, 0) - - def TRIM(self): - return self.getToken(SqlBaseParser.TRIM, 0) - - def TYPE(self): - return self.getToken(SqlBaseParser.TYPE, 0) - - def UNCOMMITTED(self): - return self.getToken(SqlBaseParser.UNCOMMITTED, 0) - - def VALUES(self): - return self.getToken(SqlBaseParser.VALUES, 0) - - def VARYING(self): - return self.getToken(SqlBaseParser.VARYING, 0) - - def VERBOSE(self): - return self.getToken(SqlBaseParser.VERBOSE, 0) - - def VIEW(self): - return self.getToken(SqlBaseParser.VIEW, 0) - - def WINDOW(self): - return self.getToken(SqlBaseParser.WINDOW, 0) - - def WITHOUT(self): - return self.getToken(SqlBaseParser.WITHOUT, 0) - - def WORK(self): - return self.getToken(SqlBaseParser.WORK, 0) - - def WRAPPER(self): - return self.getToken(SqlBaseParser.WRAPPER, 0) - - def WRITE(self): - return self.getToken(SqlBaseParser.WRITE, 0) - - def YEAR(self): - return self.getToken(SqlBaseParser.YEAR, 0) - - def ZONE(self): - return self.getToken(SqlBaseParser.ZONE, 0) - - def getRuleIndex(self): - return SqlBaseParser.RULE_nonReserved - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterNonReserved" ): - listener.enterNonReserved(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitNonReserved" ): - listener.exitNonReserved(self) - - - - - def nonReserved(self): - - localctx = SqlBaseParser.NonReservedContext(self, self._ctx, self.state) - self.enterRule(localctx, 248, self.RULE_nonReserved) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 2618 - _la = self._input.LA(1) - if not((((_la) & ~0x3f) == 0 and ((1 << _la) & 1152776691328746578) != 0) or ((((_la - 70)) & ~0x3f) == 0 and ((1 << (_la - 70)) & -1718175795199) != 0) or ((((_la - 135)) & ~0x3f) == 0 and ((1 << (_la - 135)) & -4612531820615958531) != 0) or ((((_la - 202)) & ~0x3f) == 0 and ((1 << (_la - 202)) & -514023868187065) != 0) or ((((_la - 266)) & ~0x3f) == 0 and ((1 << (_la - 266)) & 65535) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - - def sempred(self, localctx:RuleContext, ruleIndex:int, predIndex:int): - if self._predicates == None: - self._predicates = dict() - self._predicates[11] = self.queryTerm_sempred - self._predicates[19] = self.relation_sempred - self._predicates[30] = self.booleanExpression_sempred - self._predicates[33] = self.valueExpression_sempred - self._predicates[34] = self.primaryExpression_sempred - self._predicates[48] = self.subscriptSafe_sempred - self._predicates[96] = self.dataType_sempred - pred = self._predicates.get(ruleIndex, None) - if pred is None: - raise Exception("No predicate with index:" + str(ruleIndex)) - else: - return pred(localctx, predIndex) - - def queryTerm_sempred(self, localctx:QueryTermContext, predIndex:int): - if predIndex == 0: - return self.precpred(self._ctx, 1) - - - def relation_sempred(self, localctx:RelationContext, predIndex:int): - if predIndex == 1: - return self.precpred(self._ctx, 2) - - - def booleanExpression_sempred(self, localctx:BooleanExpressionContext, predIndex:int): - if predIndex == 2: - return self.precpred(self._ctx, 3) - - - if predIndex == 3: - return self.precpred(self._ctx, 2) - - - def valueExpression_sempred(self, localctx:ValueExpressionContext, predIndex:int): - if predIndex == 4: - return self.precpred(self._ctx, 6) - - - if predIndex == 5: - return self.precpred(self._ctx, 5) - - - if predIndex == 6: - return self.precpred(self._ctx, 4) - - - if predIndex == 7: - return self.precpred(self._ctx, 3) - - - if predIndex == 8: - return self.precpred(self._ctx, 2) - - - def primaryExpression_sempred(self, localctx:PrimaryExpressionContext, predIndex:int): - if predIndex == 9: - return self.precpred(self._ctx, 2) - - - if predIndex == 10: - return self.precpred(self._ctx, 6) - - - if predIndex == 11: - return self.precpred(self._ctx, 5) - - - if predIndex == 12: - return self.precpred(self._ctx, 3) - - - def subscriptSafe_sempred(self, localctx:SubscriptSafeContext, predIndex:int): - if predIndex == 13: - return self.precpred(self._ctx, 2) - - - def dataType_sempred(self, localctx:DataTypeContext, predIndex:int): - if predIndex == 14: - return self.precpred(self._ctx, 1) - - - - - diff --git a/cratedb_sqlparse_js/parser/generated_parser/AbstractSqlBaseLexer.js b/cratedb_sqlparse_js/cratedb_sqlparse/generated_parser/AbstractSqlBaseLexer.js similarity index 100% rename from cratedb_sqlparse_js/parser/generated_parser/AbstractSqlBaseLexer.js rename to cratedb_sqlparse_js/cratedb_sqlparse/generated_parser/AbstractSqlBaseLexer.js diff --git a/cratedb_sqlparse_js/parser/generated_parser/SqlBaseParserListener.js b/cratedb_sqlparse_js/cratedb_sqlparse/generated_parser/SqlBaseParserListener.js similarity index 96% rename from cratedb_sqlparse_js/parser/generated_parser/SqlBaseParserListener.js rename to cratedb_sqlparse_js/cratedb_sqlparse/generated_parser/SqlBaseParserListener.js index 83e862f..0a423a3 100644 --- a/cratedb_sqlparse_js/parser/generated_parser/SqlBaseParserListener.js +++ b/cratedb_sqlparse_js/cratedb_sqlparse/generated_parser/SqlBaseParserListener.js @@ -482,33 +482,6 @@ export default class SqlBaseParserListener extends antlr4.tree.ParseTreeListener } - // Enter a parse tree produced by SqlBaseParser#dropServer. - enterDropServer(ctx) { - } - - // Exit a parse tree produced by SqlBaseParser#dropServer. - exitDropServer(ctx) { - } - - - // Enter a parse tree produced by SqlBaseParser#dropForeignTable. - enterDropForeignTable(ctx) { - } - - // Exit a parse tree produced by SqlBaseParser#dropForeignTable. - exitDropForeignTable(ctx) { - } - - - // Enter a parse tree produced by SqlBaseParser#dropUserMapping. - enterDropUserMapping(ctx) { - } - - // Exit a parse tree produced by SqlBaseParser#dropUserMapping. - exitDropUserMapping(ctx) { - } - - // Enter a parse tree produced by SqlBaseParser#addColumn. enterAddColumn(ctx) { } @@ -1877,15 +1850,6 @@ export default class SqlBaseParserListener extends antlr4.tree.ParseTreeListener } - // Enter a parse tree produced by SqlBaseParser#createForeignTable. - enterCreateForeignTable(ctx) { - } - - // Exit a parse tree produced by SqlBaseParser#createForeignTable. - exitCreateForeignTable(ctx) { - } - - // Enter a parse tree produced by SqlBaseParser#createBlobTable. enterCreateBlobTable(ctx) { } @@ -1931,15 +1895,6 @@ export default class SqlBaseParserListener extends antlr4.tree.ParseTreeListener } - // Enter a parse tree produced by SqlBaseParser#createUserMapping. - enterCreateUserMapping(ctx) { - } - - // Exit a parse tree produced by SqlBaseParser#createUserMapping. - exitCreateUserMapping(ctx) { - } - - // Enter a parse tree produced by SqlBaseParser#createRole. enterCreateRole(ctx) { } @@ -1976,42 +1931,6 @@ export default class SqlBaseParserListener extends antlr4.tree.ParseTreeListener } - // Enter a parse tree produced by SqlBaseParser#createServer. - enterCreateServer(ctx) { - } - - // Exit a parse tree produced by SqlBaseParser#createServer. - exitCreateServer(ctx) { - } - - - // Enter a parse tree produced by SqlBaseParser#mappedUser. - enterMappedUser(ctx) { - } - - // Exit a parse tree produced by SqlBaseParser#mappedUser. - exitMappedUser(ctx) { - } - - - // Enter a parse tree produced by SqlBaseParser#kvOptions. - enterKvOptions(ctx) { - } - - // Exit a parse tree produced by SqlBaseParser#kvOptions. - exitKvOptions(ctx) { - } - - - // Enter a parse tree produced by SqlBaseParser#kvOption. - enterKvOption(ctx) { - } - - // Exit a parse tree produced by SqlBaseParser#kvOption. - exitKvOption(ctx) { - } - - // Enter a parse tree produced by SqlBaseParser#functionArgument. enterFunctionArgument(ctx) { } diff --git a/cratedb_sqlparse_js/parser/index.js b/cratedb_sqlparse_js/cratedb_sqlparse/index.js similarity index 66% rename from cratedb_sqlparse_js/parser/index.js rename to cratedb_sqlparse_js/cratedb_sqlparse/index.js index a47e494..344bb4a 100644 --- a/cratedb_sqlparse_js/parser/index.js +++ b/cratedb_sqlparse_js/cratedb_sqlparse/index.js @@ -1,2 +1,2 @@ import {sqlparse} from "./parser.js"; -export {sqlparse}; \ No newline at end of file +export {sqlparse}; diff --git a/cratedb_sqlparse_js/parser/parser.js b/cratedb_sqlparse_js/cratedb_sqlparse/parser.js similarity index 97% rename from cratedb_sqlparse_js/parser/parser.js rename to cratedb_sqlparse_js/cratedb_sqlparse/parser.js index 8704044..90c6ef0 100644 --- a/cratedb_sqlparse_js/parser/parser.js +++ b/cratedb_sqlparse_js/cratedb_sqlparse/parser.js @@ -51,7 +51,8 @@ class Statement { this.query = ctx.parser.getTokenStream().getText( new Interval( ctx.start.tokenIndex, - ctx.stop.tokenIndex) + ctx.stop.tokenIndex, + ) ) this.original_query = ctx.parser.getTokenStream().getText() this.tree = ctx.toStringTree(null, ctx.parser) diff --git a/cratedb_sqlparse_js/parser/generated_parser/SqlBaseLexer.js b/cratedb_sqlparse_js/parser/generated_parser/SqlBaseLexer.js deleted file mode 100644 index e41e607..0000000 --- a/cratedb_sqlparse_js/parser/generated_parser/SqlBaseLexer.js +++ /dev/null @@ -1,1661 +0,0 @@ -// Generated from SqlBaseLexer.g4 by ANTLR 4.13.1 -// jshint ignore: start -import antlr4 from 'antlr4'; - - -// import io.crate.sql.AbstractSqlBaseLexer; - - -import AbstractSqlBaseLexer from './AbstractSqlBaseLexer.js'; - -const serializedATN = [4,0,331,3071,6,-1,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2, -3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11, -2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2, -19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26, -7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7, -33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40, -2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2, -48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55, -7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7, -62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69, -2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2, -77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84, -7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7, -91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98, -2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2, -105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2, -111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2, -117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2, -123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2, -129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2, -135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2, -141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2, -147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2, -153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2, -159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2, -165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2, -171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2, -177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2, -183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2, -189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2, -195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2, -201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2, -207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2, -213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2, -219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2, -225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2, -231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2, -237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2, -243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2, -249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2, -255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2, -261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2, -267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2, -273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,2, -279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284,7,284,2, -285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289,2,290,7,290,2, -291,7,291,2,292,7,292,2,293,7,293,2,294,7,294,2,295,7,295,2,296,7,296,2, -297,7,297,2,298,7,298,2,299,7,299,2,300,7,300,2,301,7,301,2,302,7,302,2, -303,7,303,2,304,7,304,2,305,7,305,2,306,7,306,2,307,7,307,2,308,7,308,2, -309,7,309,2,310,7,310,2,311,7,311,2,312,7,312,2,313,7,313,2,314,7,314,2, -315,7,315,2,316,7,316,2,317,7,317,2,318,7,318,2,319,7,319,2,320,7,320,2, -321,7,321,2,322,7,322,2,323,7,323,2,324,7,324,2,325,7,325,2,326,7,326,2, -327,7,327,2,328,7,328,2,329,7,329,2,330,7,330,2,331,7,331,2,332,7,332,2, -333,7,333,2,334,7,334,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1, -0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,4,1, -4,1,4,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1, -9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10, -1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,12,1, -12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,13,1,14,1,14,1,14,1,15, -1,15,1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,17,1,17,1, -17,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,19,1,19,1,19,1,20, -1,20,1,20,1,20,1,21,1,21,1,21,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1, -23,1,23,1,23,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,25,1,25,1,25,1,25, -1,25,1,26,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1, -28,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,30,1,30,1,31,1,31,1,31, -1,31,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,33,1,33,1, -33,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,34,1,35,1,35,1,35,1,35,1,35, -1,35,1,36,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1, -38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,40,1,40,1,40,1,40,1,40,1,41,1,41, -1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,1,43,1, -43,1,43,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44, -1,44,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,47,1,47,1,47,1,47,1, -47,1,48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50, -1,50,1,50,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52,1,53,1,53,1,53,1, -53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,55,1,55,1,55,1,55, -1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1, -56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,57,1,57,1,57,1,57,1,57,1,57,1,57, -1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,58,1,58,1,58,1, -58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,59,1,59,1,59, -1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,60,1,60,1,60,1,60,1, -60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,61,1,61, -1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1, -62,1,63,1,63,1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65, -1,65,1,66,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,68,1,68,1,68,1,69,1, -69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,70,1,70,1,70,1,70,1,70,1,71,1,71, -1,71,1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,72,1,73,1,73,1,73,1,73,1, -73,1,73,1,74,1,74,1,74,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,76,1,76, -1,76,1,76,1,76,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,78,1,78,1,78,1, -78,1,78,1,78,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81, -1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,83,1, -83,1,83,1,83,1,83,1,83,1,83,1,83,1,84,1,84,1,84,1,84,1,84,1,84,1,85,1,85, -1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,87,1, -87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,88,1,88,1,88, -1,88,1,88,1,88,1,88,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,90,1,90,1, -90,1,90,1,91,1,91,1,91,1,91,1,91,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92, -1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,94,1, -94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,96,1,96,1,97, -1,97,1,97,1,97,1,97,1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1, -99,1,99,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,101, -1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101, -1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,103,1,103,1,103,1,103, -1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,104,1,104,1,104,1,104,1,104, -1,104,1,104,1,104,1,104,1,105,1,105,1,105,1,105,1,105,1,105,1,106,1,106, -1,106,1,106,1,106,1,107,1,107,1,107,1,107,1,107,1,108,1,108,1,108,1,108, -1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,110,1,110,1,110,1,110,1,110, -1,111,1,111,1,111,1,111,1,111,1,111,1,112,1,112,1,112,1,112,1,112,1,112, -1,112,1,113,1,113,1,113,1,113,1,113,1,113,1,113,1,113,1,114,1,114,1,114, -1,114,1,114,1,115,1,115,1,115,1,115,1,115,1,115,1,116,1,116,1,116,1,116, -1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,117,1,117,1,117,1,117, -1,117,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,119,1,119,1,119,1,119, -1,119,1,119,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,121,1,121,1,121, -1,121,1,121,1,121,1,121,1,121,1,122,1,122,1,122,1,122,1,122,1,123,1,123, -1,123,1,123,1,123,1,123,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124, -1,125,1,125,1,125,1,125,1,126,1,126,1,126,1,126,1,126,1,127,1,127,1,127, -1,127,1,127,1,127,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,129,1,129, -1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,130,1,130,1,130,1,130, -1,130,1,130,1,130,1,130,1,130,1,130,1,131,1,131,1,131,1,132,1,132,1,132, -1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,133,1,133,1,133,1,133,1,133, -1,133,1,133,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,135,1,135, -1,135,1,135,1,135,1,135,1,135,1,136,1,136,1,136,1,136,1,136,1,136,1,136, -1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,138,1,138, -1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,139,1,139,1,139,1,139, -1,139,1,139,1,139,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,141, -1,141,1,141,1,141,1,141,1,141,1,142,1,142,1,142,1,142,1,142,1,142,1,143, -1,143,1,143,1,143,1,143,1,143,1,144,1,144,1,144,1,144,1,144,1,144,1,144, -1,145,1,145,1,145,1,145,1,145,1,146,1,146,1,146,1,146,1,146,1,146,1,146, -1,146,1,146,1,146,1,146,1,146,1,147,1,147,1,147,1,147,1,147,1,147,1,147, -1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147, -1,147,1,147,1,147,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,148, -1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,149,1,149,1,149,1,149,1,149, -1,149,1,149,1,149,1,149,1,149,1,150,1,150,1,150,1,150,1,150,1,150,1,151, -1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151, -1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,153, -1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,154,1,154,1,154, -1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,155,1,155,1,155, -1,155,1,155,1,156,1,156,1,156,1,156,1,156,1,156,1,157,1,157,1,157,1,157, -1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,158,1,158,1,158,1,158,1,158, -1,158,1,158,1,158,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,160,1,160, -1,160,1,160,1,160,1,160,1,160,1,160,1,161,1,161,1,161,1,161,1,161,1,161, -1,161,1,161,1,161,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162, -1,163,1,163,1,163,1,163,1,163,1,163,1,164,1,164,1,164,1,164,1,164,1,164, -1,164,1,164,1,165,1,165,1,165,1,165,1,165,1,165,1,166,1,166,1,166,1,166, -1,166,1,166,1,166,1,166,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167, -1,168,1,168,1,168,1,168,1,168,1,168,1,169,1,169,1,169,1,169,1,169,1,169, -1,169,1,169,1,169,1,169,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170, -1,170,1,170,1,171,1,171,1,171,1,171,1,171,1,172,1,172,1,172,1,172,1,172, -1,172,1,172,1,172,1,172,1,172,1,172,1,173,1,173,1,173,1,173,1,173,1,173, -1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,175,1,175,1,175, -1,175,1,175,1,175,1,175,1,175,1,176,1,176,1,176,1,176,1,176,1,176,1,176, -1,177,1,177,1,177,1,177,1,177,1,178,1,178,1,178,1,178,1,178,1,179,1,179, -1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,180,1,180,1,180,1,180,1,180, -1,180,1,180,1,180,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181, -1,181,1,181,1,181,1,182,1,182,1,182,1,182,1,182,1,183,1,183,1,183,1,183, -1,183,1,183,1,183,1,183,1,183,1,184,1,184,1,184,1,184,1,184,1,185,1,185, -1,185,1,185,1,185,1,185,1,185,1,186,1,186,1,186,1,186,1,186,1,186,1,186, -1,186,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,188,1,188, -1,188,1,188,1,188,1,188,1,188,1,188,1,189,1,189,1,189,1,189,1,189,1,189, -1,189,1,189,1,189,1,189,1,189,1,190,1,190,1,190,1,190,1,190,1,190,1,190, -1,190,1,190,1,190,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191, -1,191,1,191,1,191,1,191,1,192,1,192,1,192,1,192,1,192,1,193,1,193,1,193, -1,193,1,193,1,193,1,193,1,193,1,193,1,194,1,194,1,194,1,194,1,194,1,194, -1,194,1,194,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,196,1,196, -1,196,1,196,1,196,1,197,1,197,1,197,1,197,1,197,1,197,1,198,1,198,1,198, -1,198,1,198,1,198,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,200,1,200, -1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,201,1,201,1,201,1,201, -1,201,1,201,1,201,1,202,1,202,1,202,1,202,1,202,1,202,1,202,1,202,1,202, -1,202,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203, -1,203,1,204,1,204,1,204,1,204,1,204,1,204,1,204,1,204,1,204,1,205,1,205, -1,205,1,205,1,205,1,205,1,205,1,206,1,206,1,206,1,206,1,206,1,207,1,207, -1,207,1,207,1,207,1,207,1,207,1,208,1,208,1,208,1,208,1,208,1,208,1,208, -1,209,1,209,1,209,1,209,1,209,1,209,1,209,1,210,1,210,1,210,1,210,1,211, -1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,212,1,212,1,212, -1,212,1,212,1,212,1,212,1,212,1,212,1,213,1,213,1,213,1,214,1,214,1,214, -1,214,1,214,1,214,1,214,1,214,1,215,1,215,1,215,1,215,1,216,1,216,1,216, -1,216,1,216,1,216,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,218, -1,218,1,218,1,218,1,218,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,219, -1,219,1,219,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,221,1,221,1,221, -1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,222,1,222,1,222, -1,222,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,224,1,224, -1,224,1,224,1,224,1,224,1,224,1,225,1,225,1,225,1,225,1,225,1,225,1,226, -1,226,1,226,1,226,1,226,1,226,1,227,1,227,1,227,1,227,1,227,1,227,1,227, -1,227,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,229, -1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,230,1,230,1,230,1,230,1,230, -1,230,1,230,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,232,1,232, -1,232,1,232,1,232,1,232,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233, -1,233,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,235,1,235,1,235, -1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,236,1,236,1,236,1,236,1,236, -1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,237,1,237,1,237, -1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,238,1,238, -1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,239,1,239, -1,239,1,239,1,239,1,239,1,239,1,239,1,240,1,240,1,240,1,240,1,240,1,240, -1,240,1,240,1,240,1,240,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241, -1,241,1,241,1,241,1,242,1,242,1,242,1,242,1,242,1,242,1,243,1,243,1,243, -1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,244,1,244,1,244,1,244,1,244, -1,244,1,244,1,245,1,245,1,245,1,245,1,245,1,246,1,246,1,246,1,246,1,246, -1,247,1,247,1,247,1,247,1,247,1,247,1,248,1,248,1,248,1,248,1,248,1,249, -1,249,1,249,1,249,1,249,1,249,1,249,1,250,1,250,1,250,1,250,1,250,1,250, -1,250,1,250,1,250,1,250,1,250,1,251,1,251,1,251,1,251,1,251,1,251,1,251, -1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,253,1,253,1,253,1,253,1,253, -1,253,1,253,1,253,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254, -1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255, -1,256,1,256,1,256,1,256,1,256,1,256,1,256,1,256,1,256,1,256,1,256,1,256, -1,256,1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,257, -1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,259,1,259,1,259,1,259,1,259, -1,259,1,259,1,259,1,260,1,260,1,260,1,260,1,260,1,260,1,260,1,260,1,261, -1,261,1,261,1,261,1,261,1,261,1,261,1,262,1,262,1,262,1,262,1,262,1,262, -1,262,1,262,1,262,1,262,1,262,1,263,1,263,1,263,1,263,1,263,1,263,1,263, -1,263,1,263,1,263,1,263,1,263,1,264,1,264,1,264,1,264,1,264,1,264,1,264, -1,265,1,265,1,265,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,267,1,267, -1,267,1,267,1,267,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,268, -1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,270,1,270,1,270,1,270, -1,270,1,270,1,270,1,270,1,270,1,271,1,271,1,271,1,271,1,271,1,271,1,271, -1,271,1,271,1,272,1,272,1,272,1,272,1,272,1,272,1,273,1,273,1,273,1,273, -1,273,1,273,1,273,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,275, -1,275,1,275,1,275,1,275,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276, -1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,278,1,278,1,278,1,278, -1,278,1,278,1,278,1,278,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279, -1,280,1,280,1,280,1,280,1,280,1,280,1,280,1,280,1,280,1,281,1,281,1,282, -1,282,1,282,1,282,3,282,2776,8,282,1,283,1,283,1,284,1,284,1,284,1,285,1, -285,1,286,1,286,1,286,1,287,1,287,1,287,1,288,1,288,1,289,1,289,1,289,1, -290,1,290,1,290,1,291,1,291,1,291,1,291,1,292,1,292,1,293,1,293,1,294,1, -294,1,295,1,295,1,296,1,296,1,297,1,297,1,298,1,298,1,298,1,299,1,299,1, -299,1,300,1,300,1,301,1,301,1,302,1,302,1,303,1,303,1,304,1,304,1,305,1, -305,1,306,1,306,1,307,1,307,1,308,1,308,1,309,1,309,1,310,1,310,1,310,1, -311,1,311,1,312,1,312,1,313,1,313,1,314,1,314,1,315,1,315,1,316,1,316,1, -316,1,316,5,316,2858,8,316,10,316,12,316,2861,9,316,1,316,1,316,1,317,1, -317,1,317,1,317,1,317,1,317,4,317,2871,8,317,11,317,12,317,2872,1,317,5, -317,2876,8,317,10,317,12,317,2879,9,317,1,317,1,317,1,318,1,318,1,318,5, -318,2886,8,318,10,318,12,318,2889,9,318,1,318,1,318,1,319,4,319,2894,8,319, -11,319,12,319,2895,1,319,1,319,1,319,4,319,2901,8,319,11,319,12,319,2902, -1,319,1,319,3,319,2907,8,319,1,320,1,320,1,320,3,320,2912,8,320,1,320,1, -320,4,320,2916,8,320,11,320,12,320,2917,1,320,1,320,1,320,5,320,2923,8,320, -10,320,12,320,2926,9,320,3,320,2928,8,320,1,320,1,320,1,320,1,320,4,320, -2934,8,320,11,320,12,320,2935,1,320,1,320,3,320,2940,8,320,1,321,1,321,3, -321,2944,8,321,1,321,1,321,1,321,5,321,2949,8,321,10,321,12,321,2952,9,321, -1,322,1,322,1,322,1,322,4,322,2958,8,322,11,322,12,322,2959,1,323,1,323, -1,323,1,323,5,323,2966,8,323,10,323,12,323,2969,9,323,1,323,1,323,1,324, -1,324,1,324,1,324,5,324,2977,8,324,10,324,12,324,2980,9,324,1,324,1,324, -1,325,1,325,3,325,2986,8,325,1,325,1,325,1,325,1,325,1,325,1,326,1,326,1, -327,1,327,3,327,2997,8,327,1,327,4,327,3000,8,327,11,327,12,327,3001,1,328, -1,328,1,329,1,329,1,330,1,330,1,330,1,330,5,330,3012,8,330,10,330,12,330, -3015,9,330,1,330,3,330,3018,8,330,1,330,3,330,3021,8,330,1,330,1,330,1,330, -1,330,5,330,3027,8,330,10,330,12,330,3030,9,330,1,330,1,330,3,330,3034,8, -330,1,330,1,330,1,331,4,331,3039,8,331,11,331,12,331,3040,1,331,1,331,1, -332,1,332,1,333,4,333,3048,8,333,11,333,12,333,3049,1,333,1,333,5,333,3054, -8,333,10,333,12,333,3057,9,333,3,333,3059,8,333,1,334,1,334,3,334,3063,8, -334,1,334,1,334,1,334,1,334,1,334,1,334,1,334,1,3028,0,335,2,1,4,2,6,3,8, -4,10,5,12,6,14,7,16,8,18,9,20,10,22,11,24,12,26,13,28,14,30,15,32,16,34, -17,36,18,38,19,40,20,42,21,44,22,46,23,48,24,50,25,52,26,54,27,56,28,58, -29,60,30,62,31,64,32,66,33,68,34,70,35,72,36,74,37,76,38,78,39,80,40,82, -41,84,42,86,43,88,44,90,45,92,46,94,47,96,48,98,49,100,50,102,51,104,52, -106,53,108,54,110,55,112,56,114,57,116,58,118,59,120,60,122,61,124,62,126, -63,128,64,130,65,132,66,134,67,136,68,138,69,140,70,142,71,144,72,146,73, -148,74,150,75,152,76,154,77,156,78,158,79,160,80,162,81,164,82,166,83,168, -84,170,85,172,86,174,87,176,88,178,89,180,90,182,91,184,92,186,93,188,94, -190,95,192,96,194,97,196,98,198,99,200,100,202,101,204,102,206,103,208,104, -210,105,212,106,214,107,216,108,218,109,220,110,222,111,224,112,226,113, -228,114,230,115,232,116,234,117,236,118,238,119,240,120,242,121,244,122, -246,123,248,124,250,125,252,126,254,127,256,128,258,129,260,130,262,131, -264,132,266,133,268,134,270,135,272,136,274,137,276,138,278,139,280,140, -282,141,284,142,286,143,288,144,290,145,292,146,294,147,296,148,298,149, -300,150,302,151,304,152,306,153,308,154,310,155,312,156,314,157,316,158, -318,159,320,160,322,161,324,162,326,163,328,164,330,165,332,166,334,167, -336,168,338,169,340,170,342,171,344,172,346,173,348,174,350,175,352,176, -354,177,356,178,358,179,360,180,362,181,364,182,366,183,368,184,370,185, -372,186,374,187,376,188,378,189,380,190,382,191,384,192,386,193,388,194, -390,195,392,196,394,197,396,198,398,199,400,200,402,201,404,202,406,203, -408,204,410,205,412,206,414,207,416,208,418,209,420,210,422,211,424,212, -426,213,428,214,430,215,432,216,434,217,436,218,438,219,440,220,442,221, -444,222,446,223,448,224,450,225,452,226,454,227,456,228,458,229,460,230, -462,231,464,232,466,233,468,234,470,235,472,236,474,237,476,238,478,239, -480,240,482,241,484,242,486,243,488,244,490,245,492,246,494,247,496,248, -498,249,500,250,502,251,504,252,506,253,508,254,510,255,512,256,514,257, -516,258,518,259,520,260,522,261,524,262,526,263,528,264,530,265,532,266, -534,267,536,268,538,269,540,270,542,271,544,272,546,273,548,274,550,275, -552,276,554,277,556,278,558,279,560,280,562,281,564,282,566,283,568,284, -570,285,572,286,574,287,576,288,578,289,580,290,582,291,584,292,586,293, -588,294,590,295,592,296,594,297,596,298,598,299,600,300,602,301,604,302, -606,303,608,304,610,305,612,306,614,307,616,308,618,309,620,310,622,311, -624,312,626,313,628,314,630,315,632,316,634,317,636,318,638,319,640,320, -642,321,644,322,646,323,648,324,650,325,652,326,654,0,656,0,658,0,660,0, -662,327,664,328,666,329,668,330,670,331,2,0,1,13,1,0,39,39,2,0,39,39,92, -92,1,0,92,92,1,0,48,49,2,0,64,64,95,95,1,0,34,34,1,0,96,96,2,0,43,43,45, -45,1,0,48,57,2,0,65,90,97,122,2,0,10,10,13,13,3,0,9,10,13,13,32,32,1,0,36, -36,3109,0,2,1,0,0,0,0,4,1,0,0,0,0,6,1,0,0,0,0,8,1,0,0,0,0,10,1,0,0,0,0,12, -1,0,0,0,0,14,1,0,0,0,0,16,1,0,0,0,0,18,1,0,0,0,0,20,1,0,0,0,0,22,1,0,0,0, -0,24,1,0,0,0,0,26,1,0,0,0,0,28,1,0,0,0,0,30,1,0,0,0,0,32,1,0,0,0,0,34,1, -0,0,0,0,36,1,0,0,0,0,38,1,0,0,0,0,40,1,0,0,0,0,42,1,0,0,0,0,44,1,0,0,0,0, -46,1,0,0,0,0,48,1,0,0,0,0,50,1,0,0,0,0,52,1,0,0,0,0,54,1,0,0,0,0,56,1,0, -0,0,0,58,1,0,0,0,0,60,1,0,0,0,0,62,1,0,0,0,0,64,1,0,0,0,0,66,1,0,0,0,0,68, -1,0,0,0,0,70,1,0,0,0,0,72,1,0,0,0,0,74,1,0,0,0,0,76,1,0,0,0,0,78,1,0,0,0, -0,80,1,0,0,0,0,82,1,0,0,0,0,84,1,0,0,0,0,86,1,0,0,0,0,88,1,0,0,0,0,90,1, -0,0,0,0,92,1,0,0,0,0,94,1,0,0,0,0,96,1,0,0,0,0,98,1,0,0,0,0,100,1,0,0,0, -0,102,1,0,0,0,0,104,1,0,0,0,0,106,1,0,0,0,0,108,1,0,0,0,0,110,1,0,0,0,0, -112,1,0,0,0,0,114,1,0,0,0,0,116,1,0,0,0,0,118,1,0,0,0,0,120,1,0,0,0,0,122, -1,0,0,0,0,124,1,0,0,0,0,126,1,0,0,0,0,128,1,0,0,0,0,130,1,0,0,0,0,132,1, -0,0,0,0,134,1,0,0,0,0,136,1,0,0,0,0,138,1,0,0,0,0,140,1,0,0,0,0,142,1,0, -0,0,0,144,1,0,0,0,0,146,1,0,0,0,0,148,1,0,0,0,0,150,1,0,0,0,0,152,1,0,0, -0,0,154,1,0,0,0,0,156,1,0,0,0,0,158,1,0,0,0,0,160,1,0,0,0,0,162,1,0,0,0, -0,164,1,0,0,0,0,166,1,0,0,0,0,168,1,0,0,0,0,170,1,0,0,0,0,172,1,0,0,0,0, -174,1,0,0,0,0,176,1,0,0,0,0,178,1,0,0,0,0,180,1,0,0,0,0,182,1,0,0,0,0,184, -1,0,0,0,0,186,1,0,0,0,0,188,1,0,0,0,0,190,1,0,0,0,0,192,1,0,0,0,0,194,1, -0,0,0,0,196,1,0,0,0,0,198,1,0,0,0,0,200,1,0,0,0,0,202,1,0,0,0,0,204,1,0, -0,0,0,206,1,0,0,0,0,208,1,0,0,0,0,210,1,0,0,0,0,212,1,0,0,0,0,214,1,0,0, -0,0,216,1,0,0,0,0,218,1,0,0,0,0,220,1,0,0,0,0,222,1,0,0,0,0,224,1,0,0,0, -0,226,1,0,0,0,0,228,1,0,0,0,0,230,1,0,0,0,0,232,1,0,0,0,0,234,1,0,0,0,0, -236,1,0,0,0,0,238,1,0,0,0,0,240,1,0,0,0,0,242,1,0,0,0,0,244,1,0,0,0,0,246, -1,0,0,0,0,248,1,0,0,0,0,250,1,0,0,0,0,252,1,0,0,0,0,254,1,0,0,0,0,256,1, -0,0,0,0,258,1,0,0,0,0,260,1,0,0,0,0,262,1,0,0,0,0,264,1,0,0,0,0,266,1,0, -0,0,0,268,1,0,0,0,0,270,1,0,0,0,0,272,1,0,0,0,0,274,1,0,0,0,0,276,1,0,0, -0,0,278,1,0,0,0,0,280,1,0,0,0,0,282,1,0,0,0,0,284,1,0,0,0,0,286,1,0,0,0, -0,288,1,0,0,0,0,290,1,0,0,0,0,292,1,0,0,0,0,294,1,0,0,0,0,296,1,0,0,0,0, -298,1,0,0,0,0,300,1,0,0,0,0,302,1,0,0,0,0,304,1,0,0,0,0,306,1,0,0,0,0,308, -1,0,0,0,0,310,1,0,0,0,0,312,1,0,0,0,0,314,1,0,0,0,0,316,1,0,0,0,0,318,1, -0,0,0,0,320,1,0,0,0,0,322,1,0,0,0,0,324,1,0,0,0,0,326,1,0,0,0,0,328,1,0, -0,0,0,330,1,0,0,0,0,332,1,0,0,0,0,334,1,0,0,0,0,336,1,0,0,0,0,338,1,0,0, -0,0,340,1,0,0,0,0,342,1,0,0,0,0,344,1,0,0,0,0,346,1,0,0,0,0,348,1,0,0,0, -0,350,1,0,0,0,0,352,1,0,0,0,0,354,1,0,0,0,0,356,1,0,0,0,0,358,1,0,0,0,0, -360,1,0,0,0,0,362,1,0,0,0,0,364,1,0,0,0,0,366,1,0,0,0,0,368,1,0,0,0,0,370, -1,0,0,0,0,372,1,0,0,0,0,374,1,0,0,0,0,376,1,0,0,0,0,378,1,0,0,0,0,380,1, -0,0,0,0,382,1,0,0,0,0,384,1,0,0,0,0,386,1,0,0,0,0,388,1,0,0,0,0,390,1,0, -0,0,0,392,1,0,0,0,0,394,1,0,0,0,0,396,1,0,0,0,0,398,1,0,0,0,0,400,1,0,0, -0,0,402,1,0,0,0,0,404,1,0,0,0,0,406,1,0,0,0,0,408,1,0,0,0,0,410,1,0,0,0, -0,412,1,0,0,0,0,414,1,0,0,0,0,416,1,0,0,0,0,418,1,0,0,0,0,420,1,0,0,0,0, -422,1,0,0,0,0,424,1,0,0,0,0,426,1,0,0,0,0,428,1,0,0,0,0,430,1,0,0,0,0,432, -1,0,0,0,0,434,1,0,0,0,0,436,1,0,0,0,0,438,1,0,0,0,0,440,1,0,0,0,0,442,1, -0,0,0,0,444,1,0,0,0,0,446,1,0,0,0,0,448,1,0,0,0,0,450,1,0,0,0,0,452,1,0, -0,0,0,454,1,0,0,0,0,456,1,0,0,0,0,458,1,0,0,0,0,460,1,0,0,0,0,462,1,0,0, -0,0,464,1,0,0,0,0,466,1,0,0,0,0,468,1,0,0,0,0,470,1,0,0,0,0,472,1,0,0,0, -0,474,1,0,0,0,0,476,1,0,0,0,0,478,1,0,0,0,0,480,1,0,0,0,0,482,1,0,0,0,0, -484,1,0,0,0,0,486,1,0,0,0,0,488,1,0,0,0,0,490,1,0,0,0,0,492,1,0,0,0,0,494, -1,0,0,0,0,496,1,0,0,0,0,498,1,0,0,0,0,500,1,0,0,0,0,502,1,0,0,0,0,504,1, -0,0,0,0,506,1,0,0,0,0,508,1,0,0,0,0,510,1,0,0,0,0,512,1,0,0,0,0,514,1,0, -0,0,0,516,1,0,0,0,0,518,1,0,0,0,0,520,1,0,0,0,0,522,1,0,0,0,0,524,1,0,0, -0,0,526,1,0,0,0,0,528,1,0,0,0,0,530,1,0,0,0,0,532,1,0,0,0,0,534,1,0,0,0, -0,536,1,0,0,0,0,538,1,0,0,0,0,540,1,0,0,0,0,542,1,0,0,0,0,544,1,0,0,0,0, -546,1,0,0,0,0,548,1,0,0,0,0,550,1,0,0,0,0,552,1,0,0,0,0,554,1,0,0,0,0,556, -1,0,0,0,0,558,1,0,0,0,0,560,1,0,0,0,0,562,1,0,0,0,0,564,1,0,0,0,0,566,1, -0,0,0,0,568,1,0,0,0,0,570,1,0,0,0,0,572,1,0,0,0,0,574,1,0,0,0,0,576,1,0, -0,0,0,578,1,0,0,0,0,580,1,0,0,0,0,582,1,0,0,0,0,584,1,0,0,0,0,586,1,0,0, -0,0,588,1,0,0,0,0,590,1,0,0,0,0,592,1,0,0,0,0,594,1,0,0,0,0,596,1,0,0,0, -0,598,1,0,0,0,0,600,1,0,0,0,0,602,1,0,0,0,0,604,1,0,0,0,0,606,1,0,0,0,0, -608,1,0,0,0,0,610,1,0,0,0,0,612,1,0,0,0,0,614,1,0,0,0,0,616,1,0,0,0,0,618, -1,0,0,0,0,620,1,0,0,0,0,622,1,0,0,0,0,624,1,0,0,0,0,626,1,0,0,0,0,628,1, -0,0,0,0,630,1,0,0,0,0,632,1,0,0,0,0,634,1,0,0,0,0,636,1,0,0,0,0,638,1,0, -0,0,0,640,1,0,0,0,0,642,1,0,0,0,0,644,1,0,0,0,0,646,1,0,0,0,0,648,1,0,0, -0,0,650,1,0,0,0,0,652,1,0,0,0,0,662,1,0,0,0,0,664,1,0,0,0,0,666,1,0,0,0, -1,668,1,0,0,0,1,670,1,0,0,0,2,672,1,0,0,0,4,686,1,0,0,0,6,693,1,0,0,0,8, -698,1,0,0,0,10,701,1,0,0,0,12,704,1,0,0,0,14,707,1,0,0,0,16,711,1,0,0,0, -18,715,1,0,0,0,20,720,1,0,0,0,22,731,1,0,0,0,24,741,1,0,0,0,26,750,1,0,0, -0,28,756,1,0,0,0,30,762,1,0,0,0,32,765,1,0,0,0,34,771,1,0,0,0,36,778,1,0, -0,0,38,784,1,0,0,0,40,791,1,0,0,0,42,794,1,0,0,0,44,798,1,0,0,0,46,801,1, -0,0,0,48,805,1,0,0,0,50,812,1,0,0,0,52,820,1,0,0,0,54,825,1,0,0,0,56,831, -1,0,0,0,58,834,1,0,0,0,60,839,1,0,0,0,62,844,1,0,0,0,64,850,1,0,0,0,66,857, -1,0,0,0,68,865,1,0,0,0,70,871,1,0,0,0,72,877,1,0,0,0,74,883,1,0,0,0,76,888, -1,0,0,0,78,893,1,0,0,0,80,900,1,0,0,0,82,904,1,0,0,0,84,909,1,0,0,0,86,919, -1,0,0,0,88,924,1,0,0,0,90,932,1,0,0,0,92,941,1,0,0,0,94,946,1,0,0,0,96,950, -1,0,0,0,98,955,1,0,0,0,100,960,1,0,0,0,102,965,1,0,0,0,104,971,1,0,0,0,106, -975,1,0,0,0,108,980,1,0,0,0,110,987,1,0,0,0,112,994,1,0,0,0,114,1007,1,0, -0,0,116,1020,1,0,0,0,118,1038,1,0,0,0,120,1053,1,0,0,0,122,1066,1,0,0,0, -124,1079,1,0,0,0,126,1092,1,0,0,0,128,1100,1,0,0,0,130,1105,1,0,0,0,132, -1110,1,0,0,0,134,1115,1,0,0,0,136,1120,1,0,0,0,138,1124,1,0,0,0,140,1127, -1,0,0,0,142,1136,1,0,0,0,144,1141,1,0,0,0,146,1147,1,0,0,0,148,1153,1,0, -0,0,150,1159,1,0,0,0,152,1164,1,0,0,0,154,1170,1,0,0,0,156,1175,1,0,0,0, -158,1183,1,0,0,0,160,1189,1,0,0,0,162,1192,1,0,0,0,164,1197,1,0,0,0,166, -1204,1,0,0,0,168,1214,1,0,0,0,170,1222,1,0,0,0,172,1228,1,0,0,0,174,1233, -1,0,0,0,176,1243,1,0,0,0,178,1253,1,0,0,0,180,1263,1,0,0,0,182,1271,1,0, -0,0,184,1275,1,0,0,0,186,1280,1,0,0,0,188,1288,1,0,0,0,190,1298,1,0,0,0, -192,1305,1,0,0,0,194,1310,1,0,0,0,196,1316,1,0,0,0,198,1321,1,0,0,0,200, -1324,1,0,0,0,202,1333,1,0,0,0,204,1343,1,0,0,0,206,1356,1,0,0,0,208,1364, -1,0,0,0,210,1375,1,0,0,0,212,1384,1,0,0,0,214,1390,1,0,0,0,216,1395,1,0, -0,0,218,1400,1,0,0,0,220,1404,1,0,0,0,222,1411,1,0,0,0,224,1416,1,0,0,0, -226,1422,1,0,0,0,228,1429,1,0,0,0,230,1437,1,0,0,0,232,1442,1,0,0,0,234, -1448,1,0,0,0,236,1457,1,0,0,0,238,1465,1,0,0,0,240,1472,1,0,0,0,242,1478, -1,0,0,0,244,1485,1,0,0,0,246,1493,1,0,0,0,248,1498,1,0,0,0,250,1504,1,0, -0,0,252,1512,1,0,0,0,254,1516,1,0,0,0,256,1521,1,0,0,0,258,1527,1,0,0,0, -260,1534,1,0,0,0,262,1544,1,0,0,0,264,1554,1,0,0,0,266,1557,1,0,0,0,268, -1567,1,0,0,0,270,1574,1,0,0,0,272,1582,1,0,0,0,274,1589,1,0,0,0,276,1596, -1,0,0,0,278,1606,1,0,0,0,280,1616,1,0,0,0,282,1623,1,0,0,0,284,1631,1,0, -0,0,286,1637,1,0,0,0,288,1643,1,0,0,0,290,1649,1,0,0,0,292,1656,1,0,0,0, -294,1661,1,0,0,0,296,1673,1,0,0,0,298,1695,1,0,0,0,300,1711,1,0,0,0,302, -1721,1,0,0,0,304,1727,1,0,0,0,306,1740,1,0,0,0,308,1751,1,0,0,0,310,1761, -1,0,0,0,312,1773,1,0,0,0,314,1778,1,0,0,0,316,1784,1,0,0,0,318,1795,1,0, -0,0,320,1803,1,0,0,0,322,1810,1,0,0,0,324,1818,1,0,0,0,326,1827,1,0,0,0, -328,1836,1,0,0,0,330,1842,1,0,0,0,332,1850,1,0,0,0,334,1856,1,0,0,0,336, -1864,1,0,0,0,338,1872,1,0,0,0,340,1878,1,0,0,0,342,1888,1,0,0,0,344,1898, -1,0,0,0,346,1903,1,0,0,0,348,1914,1,0,0,0,350,1920,1,0,0,0,352,1929,1,0, -0,0,354,1937,1,0,0,0,356,1944,1,0,0,0,358,1949,1,0,0,0,360,1954,1,0,0,0, -362,1963,1,0,0,0,364,1971,1,0,0,0,366,1983,1,0,0,0,368,1988,1,0,0,0,370, -1997,1,0,0,0,372,2002,1,0,0,0,374,2009,1,0,0,0,376,2017,1,0,0,0,378,2026, -1,0,0,0,380,2034,1,0,0,0,382,2045,1,0,0,0,384,2055,1,0,0,0,386,2068,1,0, -0,0,388,2073,1,0,0,0,390,2082,1,0,0,0,392,2090,1,0,0,0,394,2098,1,0,0,0, -396,2103,1,0,0,0,398,2109,1,0,0,0,400,2115,1,0,0,0,402,2122,1,0,0,0,404, -2132,1,0,0,0,406,2139,1,0,0,0,408,2149,1,0,0,0,410,2161,1,0,0,0,412,2170, -1,0,0,0,414,2177,1,0,0,0,416,2182,1,0,0,0,418,2189,1,0,0,0,420,2196,1,0, -0,0,422,2203,1,0,0,0,424,2207,1,0,0,0,426,2217,1,0,0,0,428,2226,1,0,0,0, -430,2229,1,0,0,0,432,2237,1,0,0,0,434,2241,1,0,0,0,436,2247,1,0,0,0,438, -2255,1,0,0,0,440,2260,1,0,0,0,442,2270,1,0,0,0,444,2277,1,0,0,0,446,2289, -1,0,0,0,448,2293,1,0,0,0,450,2302,1,0,0,0,452,2309,1,0,0,0,454,2315,1,0, -0,0,456,2321,1,0,0,0,458,2329,1,0,0,0,460,2339,1,0,0,0,462,2347,1,0,0,0, -464,2354,1,0,0,0,466,2362,1,0,0,0,468,2368,1,0,0,0,470,2377,1,0,0,0,472, -2385,1,0,0,0,474,2395,1,0,0,0,476,2409,1,0,0,0,478,2422,1,0,0,0,480,2434, -1,0,0,0,482,2442,1,0,0,0,484,2452,1,0,0,0,486,2463,1,0,0,0,488,2469,1,0, -0,0,490,2479,1,0,0,0,492,2486,1,0,0,0,494,2491,1,0,0,0,496,2496,1,0,0,0, -498,2502,1,0,0,0,500,2507,1,0,0,0,502,2514,1,0,0,0,504,2525,1,0,0,0,506, -2532,1,0,0,0,508,2539,1,0,0,0,510,2547,1,0,0,0,512,2556,1,0,0,0,514,2568, -1,0,0,0,516,2581,1,0,0,0,518,2592,1,0,0,0,520,2599,1,0,0,0,522,2607,1,0, -0,0,524,2615,1,0,0,0,526,2622,1,0,0,0,528,2633,1,0,0,0,530,2645,1,0,0,0, -532,2652,1,0,0,0,534,2655,1,0,0,0,536,2662,1,0,0,0,538,2667,1,0,0,0,540, -2676,1,0,0,0,542,2684,1,0,0,0,544,2693,1,0,0,0,546,2702,1,0,0,0,548,2708, -1,0,0,0,550,2715,1,0,0,0,552,2723,1,0,0,0,554,2728,1,0,0,0,556,2736,1,0, -0,0,558,2744,1,0,0,0,560,2752,1,0,0,0,562,2760,1,0,0,0,564,2769,1,0,0,0, -566,2775,1,0,0,0,568,2777,1,0,0,0,570,2779,1,0,0,0,572,2782,1,0,0,0,574, -2784,1,0,0,0,576,2787,1,0,0,0,578,2790,1,0,0,0,580,2792,1,0,0,0,582,2795, -1,0,0,0,584,2798,1,0,0,0,586,2802,1,0,0,0,588,2804,1,0,0,0,590,2806,1,0, -0,0,592,2808,1,0,0,0,594,2810,1,0,0,0,596,2812,1,0,0,0,598,2814,1,0,0,0, -600,2817,1,0,0,0,602,2820,1,0,0,0,604,2822,1,0,0,0,606,2824,1,0,0,0,608, -2826,1,0,0,0,610,2828,1,0,0,0,612,2830,1,0,0,0,614,2832,1,0,0,0,616,2834, -1,0,0,0,618,2836,1,0,0,0,620,2838,1,0,0,0,622,2840,1,0,0,0,624,2843,1,0, -0,0,626,2845,1,0,0,0,628,2847,1,0,0,0,630,2849,1,0,0,0,632,2851,1,0,0,0, -634,2853,1,0,0,0,636,2864,1,0,0,0,638,2882,1,0,0,0,640,2906,1,0,0,0,642, -2939,1,0,0,0,644,2943,1,0,0,0,646,2953,1,0,0,0,648,2961,1,0,0,0,650,2972, -1,0,0,0,652,2983,1,0,0,0,654,2992,1,0,0,0,656,2994,1,0,0,0,658,3003,1,0, -0,0,660,3005,1,0,0,0,662,3033,1,0,0,0,664,3038,1,0,0,0,666,3044,1,0,0,0, -668,3058,1,0,0,0,670,3060,1,0,0,0,672,673,5,65,0,0,673,674,5,85,0,0,674, -675,5,84,0,0,675,676,5,72,0,0,676,677,5,79,0,0,677,678,5,82,0,0,678,679, -5,73,0,0,679,680,5,90,0,0,680,681,5,65,0,0,681,682,5,84,0,0,682,683,5,73, -0,0,683,684,5,79,0,0,684,685,5,78,0,0,685,3,1,0,0,0,686,687,5,83,0,0,687, -688,5,69,0,0,688,689,5,76,0,0,689,690,5,69,0,0,690,691,5,67,0,0,691,692, -5,84,0,0,692,5,1,0,0,0,693,694,5,70,0,0,694,695,5,82,0,0,695,696,5,79,0, -0,696,697,5,77,0,0,697,7,1,0,0,0,698,699,5,84,0,0,699,700,5,79,0,0,700,9, -1,0,0,0,701,702,5,65,0,0,702,703,5,83,0,0,703,11,1,0,0,0,704,705,5,65,0, -0,705,706,5,84,0,0,706,13,1,0,0,0,707,708,5,65,0,0,708,709,5,76,0,0,709, -710,5,76,0,0,710,15,1,0,0,0,711,712,5,65,0,0,712,713,5,78,0,0,713,714,5, -89,0,0,714,17,1,0,0,0,715,716,5,83,0,0,716,717,5,79,0,0,717,718,5,77,0,0, -718,719,5,69,0,0,719,19,1,0,0,0,720,721,5,68,0,0,721,722,5,69,0,0,722,723, -5,65,0,0,723,724,5,76,0,0,724,725,5,76,0,0,725,726,5,79,0,0,726,727,5,67, -0,0,727,728,5,65,0,0,728,729,5,84,0,0,729,730,5,69,0,0,730,21,1,0,0,0,731, -732,5,68,0,0,732,733,5,73,0,0,733,734,5,82,0,0,734,735,5,69,0,0,735,736, -5,67,0,0,736,737,5,84,0,0,737,738,5,79,0,0,738,739,5,82,0,0,739,740,5,89, -0,0,740,23,1,0,0,0,741,742,5,68,0,0,742,743,5,73,0,0,743,744,5,83,0,0,744, -745,5,84,0,0,745,746,5,73,0,0,746,747,5,78,0,0,747,748,5,67,0,0,748,749, -5,84,0,0,749,25,1,0,0,0,750,751,5,87,0,0,751,752,5,72,0,0,752,753,5,69,0, -0,753,754,5,82,0,0,754,755,5,69,0,0,755,27,1,0,0,0,756,757,5,71,0,0,757, -758,5,82,0,0,758,759,5,79,0,0,759,760,5,85,0,0,760,761,5,80,0,0,761,29,1, -0,0,0,762,763,5,66,0,0,763,764,5,89,0,0,764,31,1,0,0,0,765,766,5,79,0,0, -766,767,5,82,0,0,767,768,5,68,0,0,768,769,5,69,0,0,769,770,5,82,0,0,770, -33,1,0,0,0,771,772,5,72,0,0,772,773,5,65,0,0,773,774,5,86,0,0,774,775,5, -73,0,0,775,776,5,78,0,0,776,777,5,71,0,0,777,35,1,0,0,0,778,779,5,76,0,0, -779,780,5,73,0,0,780,781,5,77,0,0,781,782,5,73,0,0,782,783,5,84,0,0,783, -37,1,0,0,0,784,785,5,79,0,0,785,786,5,70,0,0,786,787,5,70,0,0,787,788,5, -83,0,0,788,789,5,69,0,0,789,790,5,84,0,0,790,39,1,0,0,0,791,792,5,79,0,0, -792,793,5,82,0,0,793,41,1,0,0,0,794,795,5,65,0,0,795,796,5,78,0,0,796,797, -5,68,0,0,797,43,1,0,0,0,798,799,5,73,0,0,799,800,5,78,0,0,800,45,1,0,0,0, -801,802,5,78,0,0,802,803,5,79,0,0,803,804,5,84,0,0,804,47,1,0,0,0,805,806, -5,69,0,0,806,807,5,88,0,0,807,808,5,73,0,0,808,809,5,83,0,0,809,810,5,84, -0,0,810,811,5,83,0,0,811,49,1,0,0,0,812,813,5,66,0,0,813,814,5,69,0,0,814, -815,5,84,0,0,815,816,5,87,0,0,816,817,5,69,0,0,817,818,5,69,0,0,818,819, -5,78,0,0,819,51,1,0,0,0,820,821,5,76,0,0,821,822,5,73,0,0,822,823,5,75,0, -0,823,824,5,69,0,0,824,53,1,0,0,0,825,826,5,73,0,0,826,827,5,76,0,0,827, -828,5,73,0,0,828,829,5,75,0,0,829,830,5,69,0,0,830,55,1,0,0,0,831,832,5, -73,0,0,832,833,5,83,0,0,833,57,1,0,0,0,834,835,5,78,0,0,835,836,5,85,0,0, -836,837,5,76,0,0,837,838,5,76,0,0,838,59,1,0,0,0,839,840,5,84,0,0,840,841, -5,82,0,0,841,842,5,85,0,0,842,843,5,69,0,0,843,61,1,0,0,0,844,845,5,70,0, -0,845,846,5,65,0,0,846,847,5,76,0,0,847,848,5,83,0,0,848,849,5,69,0,0,849, -63,1,0,0,0,850,851,5,73,0,0,851,852,5,71,0,0,852,853,5,78,0,0,853,854,5, -79,0,0,854,855,5,82,0,0,855,856,5,69,0,0,856,65,1,0,0,0,857,858,5,82,0,0, -858,859,5,69,0,0,859,860,5,83,0,0,860,861,5,80,0,0,861,862,5,69,0,0,862, -863,5,67,0,0,863,864,5,84,0,0,864,67,1,0,0,0,865,866,5,78,0,0,866,867,5, -85,0,0,867,868,5,76,0,0,868,869,5,76,0,0,869,870,5,83,0,0,870,69,1,0,0,0, -871,872,5,70,0,0,872,873,5,69,0,0,873,874,5,84,0,0,874,875,5,67,0,0,875, -876,5,72,0,0,876,71,1,0,0,0,877,878,5,70,0,0,878,879,5,73,0,0,879,880,5, -82,0,0,880,881,5,83,0,0,881,882,5,84,0,0,882,73,1,0,0,0,883,884,5,76,0,0, -884,885,5,65,0,0,885,886,5,83,0,0,886,887,5,84,0,0,887,75,1,0,0,0,888,889, -5,78,0,0,889,890,5,69,0,0,890,891,5,88,0,0,891,892,5,84,0,0,892,77,1,0,0, -0,893,894,5,69,0,0,894,895,5,83,0,0,895,896,5,67,0,0,896,897,5,65,0,0,897, -898,5,80,0,0,898,899,5,69,0,0,899,79,1,0,0,0,900,901,5,65,0,0,901,902,5, -83,0,0,902,903,5,67,0,0,903,81,1,0,0,0,904,905,5,68,0,0,905,906,5,69,0,0, -906,907,5,83,0,0,907,908,5,67,0,0,908,83,1,0,0,0,909,910,5,83,0,0,910,911, -5,85,0,0,911,912,5,66,0,0,912,913,5,83,0,0,913,914,5,84,0,0,914,915,5,82, -0,0,915,916,5,73,0,0,916,917,5,78,0,0,917,918,5,71,0,0,918,85,1,0,0,0,919, -920,5,84,0,0,920,921,5,82,0,0,921,922,5,73,0,0,922,923,5,77,0,0,923,87,1, -0,0,0,924,925,5,76,0,0,925,926,5,69,0,0,926,927,5,65,0,0,927,928,5,68,0, -0,928,929,5,73,0,0,929,930,5,78,0,0,930,931,5,71,0,0,931,89,1,0,0,0,932, -933,5,84,0,0,933,934,5,82,0,0,934,935,5,65,0,0,935,936,5,73,0,0,936,937, -5,76,0,0,937,938,5,73,0,0,938,939,5,78,0,0,939,940,5,71,0,0,940,91,1,0,0, -0,941,942,5,66,0,0,942,943,5,79,0,0,943,944,5,84,0,0,944,945,5,72,0,0,945, -93,1,0,0,0,946,947,5,70,0,0,947,948,5,79,0,0,948,949,5,82,0,0,949,95,1,0, -0,0,950,951,5,84,0,0,951,952,5,73,0,0,952,953,5,77,0,0,953,954,5,69,0,0, -954,97,1,0,0,0,955,956,5,90,0,0,956,957,5,79,0,0,957,958,5,78,0,0,958,959, -5,69,0,0,959,99,1,0,0,0,960,961,5,89,0,0,961,962,5,69,0,0,962,963,5,65,0, -0,963,964,5,82,0,0,964,101,1,0,0,0,965,966,5,77,0,0,966,967,5,79,0,0,967, -968,5,78,0,0,968,969,5,84,0,0,969,970,5,72,0,0,970,103,1,0,0,0,971,972,5, -68,0,0,972,973,5,65,0,0,973,974,5,89,0,0,974,105,1,0,0,0,975,976,5,72,0, -0,976,977,5,79,0,0,977,978,5,85,0,0,978,979,5,82,0,0,979,107,1,0,0,0,980, -981,5,77,0,0,981,982,5,73,0,0,982,983,5,78,0,0,983,984,5,85,0,0,984,985, -5,84,0,0,985,986,5,69,0,0,986,109,1,0,0,0,987,988,5,83,0,0,988,989,5,69, -0,0,989,990,5,67,0,0,990,991,5,79,0,0,991,992,5,78,0,0,992,993,5,68,0,0, -993,111,1,0,0,0,994,995,5,67,0,0,995,996,5,85,0,0,996,997,5,82,0,0,997,998, -5,82,0,0,998,999,5,69,0,0,999,1000,5,78,0,0,1000,1001,5,84,0,0,1001,1002, -5,95,0,0,1002,1003,5,68,0,0,1003,1004,5,65,0,0,1004,1005,5,84,0,0,1005,1006, -5,69,0,0,1006,113,1,0,0,0,1007,1008,5,67,0,0,1008,1009,5,85,0,0,1009,1010, -5,82,0,0,1010,1011,5,82,0,0,1011,1012,5,69,0,0,1012,1013,5,78,0,0,1013,1014, -5,84,0,0,1014,1015,5,95,0,0,1015,1016,5,84,0,0,1016,1017,5,73,0,0,1017,1018, -5,77,0,0,1018,1019,5,69,0,0,1019,115,1,0,0,0,1020,1021,5,67,0,0,1021,1022, -5,85,0,0,1022,1023,5,82,0,0,1023,1024,5,82,0,0,1024,1025,5,69,0,0,1025,1026, -5,78,0,0,1026,1027,5,84,0,0,1027,1028,5,95,0,0,1028,1029,5,84,0,0,1029,1030, -5,73,0,0,1030,1031,5,77,0,0,1031,1032,5,69,0,0,1032,1033,5,83,0,0,1033,1034, -5,84,0,0,1034,1035,5,65,0,0,1035,1036,5,77,0,0,1036,1037,5,80,0,0,1037,117, -1,0,0,0,1038,1039,5,67,0,0,1039,1040,5,85,0,0,1040,1041,5,82,0,0,1041,1042, -5,82,0,0,1042,1043,5,69,0,0,1043,1044,5,78,0,0,1044,1045,5,84,0,0,1045,1046, -5,95,0,0,1046,1047,5,83,0,0,1047,1048,5,67,0,0,1048,1049,5,72,0,0,1049,1050, -5,69,0,0,1050,1051,5,77,0,0,1051,1052,5,65,0,0,1052,119,1,0,0,0,1053,1054, -5,67,0,0,1054,1055,5,85,0,0,1055,1056,5,82,0,0,1056,1057,5,82,0,0,1057,1058, -5,69,0,0,1058,1059,5,78,0,0,1059,1060,5,84,0,0,1060,1061,5,95,0,0,1061,1062, -5,85,0,0,1062,1063,5,83,0,0,1063,1064,5,69,0,0,1064,1065,5,82,0,0,1065,121, -1,0,0,0,1066,1067,5,67,0,0,1067,1068,5,85,0,0,1068,1069,5,82,0,0,1069,1070, -5,82,0,0,1070,1071,5,69,0,0,1071,1072,5,78,0,0,1072,1073,5,84,0,0,1073,1074, -5,95,0,0,1074,1075,5,82,0,0,1075,1076,5,79,0,0,1076,1077,5,76,0,0,1077,1078, -5,69,0,0,1078,123,1,0,0,0,1079,1080,5,83,0,0,1080,1081,5,69,0,0,1081,1082, -5,83,0,0,1082,1083,5,83,0,0,1083,1084,5,73,0,0,1084,1085,5,79,0,0,1085,1086, -5,78,0,0,1086,1087,5,95,0,0,1087,1088,5,85,0,0,1088,1089,5,83,0,0,1089,1090, -5,69,0,0,1090,1091,5,82,0,0,1091,125,1,0,0,0,1092,1093,5,69,0,0,1093,1094, -5,88,0,0,1094,1095,5,84,0,0,1095,1096,5,82,0,0,1096,1097,5,65,0,0,1097,1098, -5,67,0,0,1098,1099,5,84,0,0,1099,127,1,0,0,0,1100,1101,5,67,0,0,1101,1102, -5,65,0,0,1102,1103,5,83,0,0,1103,1104,5,69,0,0,1104,129,1,0,0,0,1105,1106, -5,87,0,0,1106,1107,5,72,0,0,1107,1108,5,69,0,0,1108,1109,5,78,0,0,1109,131, -1,0,0,0,1110,1111,5,84,0,0,1111,1112,5,72,0,0,1112,1113,5,69,0,0,1113,1114, -5,78,0,0,1114,133,1,0,0,0,1115,1116,5,69,0,0,1116,1117,5,76,0,0,1117,1118, -5,83,0,0,1118,1119,5,69,0,0,1119,135,1,0,0,0,1120,1121,5,69,0,0,1121,1122, -5,78,0,0,1122,1123,5,68,0,0,1123,137,1,0,0,0,1124,1125,5,73,0,0,1125,1126, -5,70,0,0,1126,139,1,0,0,0,1127,1128,5,73,0,0,1128,1129,5,78,0,0,1129,1130, -5,84,0,0,1130,1131,5,69,0,0,1131,1132,5,82,0,0,1132,1133,5,86,0,0,1133,1134, -5,65,0,0,1134,1135,5,76,0,0,1135,141,1,0,0,0,1136,1137,5,74,0,0,1137,1138, -5,79,0,0,1138,1139,5,73,0,0,1139,1140,5,78,0,0,1140,143,1,0,0,0,1141,1142, -5,67,0,0,1142,1143,5,82,0,0,1143,1144,5,79,0,0,1144,1145,5,83,0,0,1145,1146, -5,83,0,0,1146,145,1,0,0,0,1147,1148,5,79,0,0,1148,1149,5,85,0,0,1149,1150, -5,84,0,0,1150,1151,5,69,0,0,1151,1152,5,82,0,0,1152,147,1,0,0,0,1153,1154, -5,73,0,0,1154,1155,5,78,0,0,1155,1156,5,78,0,0,1156,1157,5,69,0,0,1157,1158, -5,82,0,0,1158,149,1,0,0,0,1159,1160,5,76,0,0,1160,1161,5,69,0,0,1161,1162, -5,70,0,0,1162,1163,5,84,0,0,1163,151,1,0,0,0,1164,1165,5,82,0,0,1165,1166, -5,73,0,0,1166,1167,5,71,0,0,1167,1168,5,72,0,0,1168,1169,5,84,0,0,1169,153, -1,0,0,0,1170,1171,5,70,0,0,1171,1172,5,85,0,0,1172,1173,5,76,0,0,1173,1174, -5,76,0,0,1174,155,1,0,0,0,1175,1176,5,78,0,0,1176,1177,5,65,0,0,1177,1178, -5,84,0,0,1178,1179,5,85,0,0,1179,1180,5,82,0,0,1180,1181,5,65,0,0,1181,1182, -5,76,0,0,1182,157,1,0,0,0,1183,1184,5,85,0,0,1184,1185,5,83,0,0,1185,1186, -5,73,0,0,1186,1187,5,78,0,0,1187,1188,5,71,0,0,1188,159,1,0,0,0,1189,1190, -5,79,0,0,1190,1191,5,78,0,0,1191,161,1,0,0,0,1192,1193,5,79,0,0,1193,1194, -5,86,0,0,1194,1195,5,69,0,0,1195,1196,5,82,0,0,1196,163,1,0,0,0,1197,1198, -5,87,0,0,1198,1199,5,73,0,0,1199,1200,5,78,0,0,1200,1201,5,68,0,0,1201,1202, -5,79,0,0,1202,1203,5,87,0,0,1203,165,1,0,0,0,1204,1205,5,80,0,0,1205,1206, -5,65,0,0,1206,1207,5,82,0,0,1207,1208,5,84,0,0,1208,1209,5,73,0,0,1209,1210, -5,84,0,0,1210,1211,5,73,0,0,1211,1212,5,79,0,0,1212,1213,5,78,0,0,1213,167, -1,0,0,0,1214,1215,5,80,0,0,1215,1216,5,82,0,0,1216,1217,5,79,0,0,1217,1218, -5,77,0,0,1218,1219,5,79,0,0,1219,1220,5,84,0,0,1220,1221,5,69,0,0,1221,169, -1,0,0,0,1222,1223,5,82,0,0,1223,1224,5,65,0,0,1224,1225,5,78,0,0,1225,1226, -5,71,0,0,1226,1227,5,69,0,0,1227,171,1,0,0,0,1228,1229,5,82,0,0,1229,1230, -5,79,0,0,1230,1231,5,87,0,0,1231,1232,5,83,0,0,1232,173,1,0,0,0,1233,1234, -5,85,0,0,1234,1235,5,78,0,0,1235,1236,5,66,0,0,1236,1237,5,79,0,0,1237,1238, -5,85,0,0,1238,1239,5,78,0,0,1239,1240,5,68,0,0,1240,1241,5,69,0,0,1241,1242, -5,68,0,0,1242,175,1,0,0,0,1243,1244,5,80,0,0,1244,1245,5,82,0,0,1245,1246, -5,69,0,0,1246,1247,5,67,0,0,1247,1248,5,69,0,0,1248,1249,5,68,0,0,1249,1250, -5,73,0,0,1250,1251,5,78,0,0,1251,1252,5,71,0,0,1252,177,1,0,0,0,1253,1254, -5,70,0,0,1254,1255,5,79,0,0,1255,1256,5,76,0,0,1256,1257,5,76,0,0,1257,1258, -5,79,0,0,1258,1259,5,87,0,0,1259,1260,5,73,0,0,1260,1261,5,78,0,0,1261,1262, -5,71,0,0,1262,179,1,0,0,0,1263,1264,5,67,0,0,1264,1265,5,85,0,0,1265,1266, -5,82,0,0,1266,1267,5,82,0,0,1267,1268,5,69,0,0,1268,1269,5,78,0,0,1269,1270, -5,84,0,0,1270,181,1,0,0,0,1271,1272,5,82,0,0,1272,1273,5,79,0,0,1273,1274, -5,87,0,0,1274,183,1,0,0,0,1275,1276,5,87,0,0,1276,1277,5,73,0,0,1277,1278, -5,84,0,0,1278,1279,5,72,0,0,1279,185,1,0,0,0,1280,1281,5,87,0,0,1281,1282, -5,73,0,0,1282,1283,5,84,0,0,1283,1284,5,72,0,0,1284,1285,5,79,0,0,1285,1286, -5,85,0,0,1286,1287,5,84,0,0,1287,187,1,0,0,0,1288,1289,5,82,0,0,1289,1290, -5,69,0,0,1290,1291,5,67,0,0,1291,1292,5,85,0,0,1292,1293,5,82,0,0,1293,1294, -5,83,0,0,1294,1295,5,73,0,0,1295,1296,5,86,0,0,1296,1297,5,69,0,0,1297,189, -1,0,0,0,1298,1299,5,67,0,0,1299,1300,5,82,0,0,1300,1301,5,69,0,0,1301,1302, -5,65,0,0,1302,1303,5,84,0,0,1303,1304,5,69,0,0,1304,191,1,0,0,0,1305,1306, -5,66,0,0,1306,1307,5,76,0,0,1307,1308,5,79,0,0,1308,1309,5,66,0,0,1309,193, -1,0,0,0,1310,1311,5,84,0,0,1311,1312,5,65,0,0,1312,1313,5,66,0,0,1313,1314, -5,76,0,0,1314,1315,5,69,0,0,1315,195,1,0,0,0,1316,1317,5,83,0,0,1317,1318, -5,87,0,0,1318,1319,5,65,0,0,1319,1320,5,80,0,0,1320,197,1,0,0,0,1321,1322, -5,71,0,0,1322,1323,5,67,0,0,1323,199,1,0,0,0,1324,1325,5,68,0,0,1325,1326, -5,65,0,0,1326,1327,5,78,0,0,1327,1328,5,71,0,0,1328,1329,5,76,0,0,1329,1330, -5,73,0,0,1330,1331,5,78,0,0,1331,1332,5,71,0,0,1332,201,1,0,0,0,1333,1334, -5,65,0,0,1334,1335,5,82,0,0,1335,1336,5,84,0,0,1336,1337,5,73,0,0,1337,1338, -5,70,0,0,1338,1339,5,65,0,0,1339,1340,5,67,0,0,1340,1341,5,84,0,0,1341,1342, -5,83,0,0,1342,203,1,0,0,0,1343,1344,5,68,0,0,1344,1345,5,69,0,0,1345,1346, -5,67,0,0,1346,1347,5,79,0,0,1347,1348,5,77,0,0,1348,1349,5,77,0,0,1349,1350, -5,73,0,0,1350,1351,5,83,0,0,1351,1352,5,83,0,0,1352,1353,5,73,0,0,1353,1354, -5,79,0,0,1354,1355,5,78,0,0,1355,205,1,0,0,0,1356,1357,5,67,0,0,1357,1358, -5,76,0,0,1358,1359,5,85,0,0,1359,1360,5,83,0,0,1360,1361,5,84,0,0,1361,1362, -5,69,0,0,1362,1363,5,82,0,0,1363,207,1,0,0,0,1364,1365,5,82,0,0,1365,1366, -5,69,0,0,1366,1367,5,80,0,0,1367,1368,5,79,0,0,1368,1369,5,83,0,0,1369,1370, -5,73,0,0,1370,1371,5,84,0,0,1371,1372,5,79,0,0,1372,1373,5,82,0,0,1373,1374, -5,89,0,0,1374,209,1,0,0,0,1375,1376,5,83,0,0,1376,1377,5,78,0,0,1377,1378, -5,65,0,0,1378,1379,5,80,0,0,1379,1380,5,83,0,0,1380,1381,5,72,0,0,1381,1382, -5,79,0,0,1382,1383,5,84,0,0,1383,211,1,0,0,0,1384,1385,5,65,0,0,1385,1386, -5,76,0,0,1386,1387,5,84,0,0,1387,1388,5,69,0,0,1388,1389,5,82,0,0,1389,213, -1,0,0,0,1390,1391,5,75,0,0,1391,1392,5,73,0,0,1392,1393,5,76,0,0,1393,1394, -5,76,0,0,1394,215,1,0,0,0,1395,1396,5,79,0,0,1396,1397,5,78,0,0,1397,1398, -5,76,0,0,1398,1399,5,89,0,0,1399,217,1,0,0,0,1400,1401,5,65,0,0,1401,1402, -5,68,0,0,1402,1403,5,68,0,0,1403,219,1,0,0,0,1404,1405,5,67,0,0,1405,1406, -5,79,0,0,1406,1407,5,76,0,0,1407,1408,5,85,0,0,1408,1409,5,77,0,0,1409,1410, -5,78,0,0,1410,221,1,0,0,0,1411,1412,5,79,0,0,1412,1413,5,80,0,0,1413,1414, -5,69,0,0,1414,1415,5,78,0,0,1415,223,1,0,0,0,1416,1417,5,67,0,0,1417,1418, -5,76,0,0,1418,1419,5,79,0,0,1419,1420,5,83,0,0,1420,1421,5,69,0,0,1421,225, -1,0,0,0,1422,1423,5,82,0,0,1423,1424,5,69,0,0,1424,1425,5,78,0,0,1425,1426, -5,65,0,0,1426,1427,5,77,0,0,1427,1428,5,69,0,0,1428,227,1,0,0,0,1429,1430, -5,82,0,0,1430,1431,5,69,0,0,1431,1432,5,82,0,0,1432,1433,5,79,0,0,1433,1434, -5,85,0,0,1434,1435,5,84,0,0,1435,1436,5,69,0,0,1436,229,1,0,0,0,1437,1438, -5,77,0,0,1438,1439,5,79,0,0,1439,1440,5,86,0,0,1440,1441,5,69,0,0,1441,231, -1,0,0,0,1442,1443,5,83,0,0,1443,1444,5,72,0,0,1444,1445,5,65,0,0,1445,1446, -5,82,0,0,1446,1447,5,68,0,0,1447,233,1,0,0,0,1448,1449,5,65,0,0,1449,1450, -5,76,0,0,1450,1451,5,76,0,0,1451,1452,5,79,0,0,1452,1453,5,67,0,0,1453,1454, -5,65,0,0,1454,1455,5,84,0,0,1455,1456,5,69,0,0,1456,235,1,0,0,0,1457,1458, -5,82,0,0,1458,1459,5,69,0,0,1459,1460,5,80,0,0,1460,1461,5,76,0,0,1461,1462, -5,73,0,0,1462,1463,5,67,0,0,1463,1464,5,65,0,0,1464,237,1,0,0,0,1465,1466, -5,67,0,0,1466,1467,5,65,0,0,1467,1468,5,78,0,0,1468,1469,5,67,0,0,1469,1470, -5,69,0,0,1470,1471,5,76,0,0,1471,239,1,0,0,0,1472,1473,5,82,0,0,1473,1474, -5,69,0,0,1474,1475,5,84,0,0,1475,1476,5,82,0,0,1476,1477,5,89,0,0,1477,241, -1,0,0,0,1478,1479,5,70,0,0,1479,1480,5,65,0,0,1480,1481,5,73,0,0,1481,1482, -5,76,0,0,1482,1483,5,69,0,0,1483,1484,5,68,0,0,1484,243,1,0,0,0,1485,1486, -5,66,0,0,1486,1487,5,79,0,0,1487,1488,5,79,0,0,1488,1489,5,76,0,0,1489,1490, -5,69,0,0,1490,1491,5,65,0,0,1491,1492,5,78,0,0,1492,245,1,0,0,0,1493,1494, -5,66,0,0,1494,1495,5,89,0,0,1495,1496,5,84,0,0,1496,1497,5,69,0,0,1497,247, -1,0,0,0,1498,1499,5,83,0,0,1499,1500,5,72,0,0,1500,1501,5,79,0,0,1501,1502, -5,82,0,0,1502,1503,5,84,0,0,1503,249,1,0,0,0,1504,1505,5,73,0,0,1505,1506, -5,78,0,0,1506,1507,5,84,0,0,1507,1508,5,69,0,0,1508,1509,5,71,0,0,1509,1510, -5,69,0,0,1510,1511,5,82,0,0,1511,251,1,0,0,0,1512,1513,5,73,0,0,1513,1514, -5,78,0,0,1514,1515,5,84,0,0,1515,253,1,0,0,0,1516,1517,5,76,0,0,1517,1518, -5,79,0,0,1518,1519,5,78,0,0,1519,1520,5,71,0,0,1520,255,1,0,0,0,1521,1522, -5,70,0,0,1522,1523,5,76,0,0,1523,1524,5,79,0,0,1524,1525,5,65,0,0,1525,1526, -5,84,0,0,1526,257,1,0,0,0,1527,1528,5,68,0,0,1528,1529,5,79,0,0,1529,1530, -5,85,0,0,1530,1531,5,66,0,0,1531,1532,5,76,0,0,1532,1533,5,69,0,0,1533,259, -1,0,0,0,1534,1535,5,80,0,0,1535,1536,5,82,0,0,1536,1537,5,69,0,0,1537,1538, -5,67,0,0,1538,1539,5,73,0,0,1539,1540,5,83,0,0,1540,1541,5,73,0,0,1541,1542, -5,79,0,0,1542,1543,5,78,0,0,1543,261,1,0,0,0,1544,1545,5,84,0,0,1545,1546, -5,73,0,0,1546,1547,5,77,0,0,1547,1548,5,69,0,0,1548,1549,5,83,0,0,1549,1550, -5,84,0,0,1550,1551,5,65,0,0,1551,1552,5,77,0,0,1552,1553,5,80,0,0,1553,263, -1,0,0,0,1554,1555,5,73,0,0,1555,1556,5,80,0,0,1556,265,1,0,0,0,1557,1558, -5,67,0,0,1558,1559,5,72,0,0,1559,1560,5,65,0,0,1560,1561,5,82,0,0,1561,1562, -5,65,0,0,1562,1563,5,67,0,0,1563,1564,5,84,0,0,1564,1565,5,69,0,0,1565,1566, -5,82,0,0,1566,267,1,0,0,0,1567,1568,5,34,0,0,1568,1569,5,67,0,0,1569,1570, -5,72,0,0,1570,1571,5,65,0,0,1571,1572,5,82,0,0,1572,1573,5,34,0,0,1573,269, -1,0,0,0,1574,1575,5,86,0,0,1575,1576,5,65,0,0,1576,1577,5,82,0,0,1577,1578, -5,89,0,0,1578,1579,5,73,0,0,1579,1580,5,78,0,0,1580,1581,5,71,0,0,1581,271, -1,0,0,0,1582,1583,5,79,0,0,1583,1584,5,66,0,0,1584,1585,5,74,0,0,1585,1586, -5,69,0,0,1586,1587,5,67,0,0,1587,1588,5,84,0,0,1588,273,1,0,0,0,1589,1590, -5,83,0,0,1590,1591,5,84,0,0,1591,1592,5,82,0,0,1592,1593,5,73,0,0,1593,1594, -5,78,0,0,1594,1595,5,71,0,0,1595,275,1,0,0,0,1596,1597,5,71,0,0,1597,1598, -5,69,0,0,1598,1599,5,79,0,0,1599,1600,5,95,0,0,1600,1601,5,80,0,0,1601,1602, -5,79,0,0,1602,1603,5,73,0,0,1603,1604,5,78,0,0,1604,1605,5,84,0,0,1605,277, -1,0,0,0,1606,1607,5,71,0,0,1607,1608,5,69,0,0,1608,1609,5,79,0,0,1609,1610, -5,95,0,0,1610,1611,5,83,0,0,1611,1612,5,72,0,0,1612,1613,5,65,0,0,1613,1614, -5,80,0,0,1614,1615,5,69,0,0,1615,279,1,0,0,0,1616,1617,5,71,0,0,1617,1618, -5,76,0,0,1618,1619,5,79,0,0,1619,1620,5,66,0,0,1620,1621,5,65,0,0,1621,1622, -5,76,0,0,1622,281,1,0,0,0,1623,1624,5,83,0,0,1624,1625,5,69,0,0,1625,1626, -5,83,0,0,1626,1627,5,83,0,0,1627,1628,5,73,0,0,1628,1629,5,79,0,0,1629,1630, -5,78,0,0,1630,283,1,0,0,0,1631,1632,5,76,0,0,1632,1633,5,79,0,0,1633,1634, -5,67,0,0,1634,1635,5,65,0,0,1635,1636,5,76,0,0,1636,285,1,0,0,0,1637,1638, -5,66,0,0,1638,1639,5,69,0,0,1639,1640,5,71,0,0,1640,1641,5,73,0,0,1641,1642, -5,78,0,0,1642,287,1,0,0,0,1643,1644,5,83,0,0,1644,1645,5,84,0,0,1645,1646, -5,65,0,0,1646,1647,5,82,0,0,1647,1648,5,84,0,0,1648,289,1,0,0,0,1649,1650, -5,67,0,0,1650,1651,5,79,0,0,1651,1652,5,77,0,0,1652,1653,5,77,0,0,1653,1654, -5,73,0,0,1654,1655,5,84,0,0,1655,291,1,0,0,0,1656,1657,5,87,0,0,1657,1658, -5,79,0,0,1658,1659,5,82,0,0,1659,1660,5,75,0,0,1660,293,1,0,0,0,1661,1662, -5,84,0,0,1662,1663,5,82,0,0,1663,1664,5,65,0,0,1664,1665,5,78,0,0,1665,1666, -5,83,0,0,1666,1667,5,65,0,0,1667,1668,5,67,0,0,1668,1669,5,84,0,0,1669,1670, -5,73,0,0,1670,1671,5,79,0,0,1671,1672,5,78,0,0,1672,295,1,0,0,0,1673,1674, -5,84,0,0,1674,1675,5,82,0,0,1675,1676,5,65,0,0,1676,1677,5,78,0,0,1677,1678, -5,83,0,0,1678,1679,5,65,0,0,1679,1680,5,67,0,0,1680,1681,5,84,0,0,1681,1682, -5,73,0,0,1682,1683,5,79,0,0,1683,1684,5,78,0,0,1684,1685,5,95,0,0,1685,1686, -5,73,0,0,1686,1687,5,83,0,0,1687,1688,5,79,0,0,1688,1689,5,76,0,0,1689,1690, -5,65,0,0,1690,1691,5,84,0,0,1691,1692,5,73,0,0,1692,1693,5,79,0,0,1693,1694, -5,78,0,0,1694,297,1,0,0,0,1695,1696,5,67,0,0,1696,1697,5,72,0,0,1697,1698, -5,65,0,0,1698,1699,5,82,0,0,1699,1700,5,65,0,0,1700,1701,5,67,0,0,1701,1702, -5,84,0,0,1702,1703,5,69,0,0,1703,1704,5,82,0,0,1704,1705,5,73,0,0,1705,1706, -5,83,0,0,1706,1707,5,84,0,0,1707,1708,5,73,0,0,1708,1709,5,67,0,0,1709,1710, -5,83,0,0,1710,299,1,0,0,0,1711,1712,5,73,0,0,1712,1713,5,83,0,0,1713,1714, -5,79,0,0,1714,1715,5,76,0,0,1715,1716,5,65,0,0,1716,1717,5,84,0,0,1717,1718, -5,73,0,0,1718,1719,5,79,0,0,1719,1720,5,78,0,0,1720,301,1,0,0,0,1721,1722, -5,76,0,0,1722,1723,5,69,0,0,1723,1724,5,86,0,0,1724,1725,5,69,0,0,1725,1726, -5,76,0,0,1726,303,1,0,0,0,1727,1728,5,83,0,0,1728,1729,5,69,0,0,1729,1730, -5,82,0,0,1730,1731,5,73,0,0,1731,1732,5,65,0,0,1732,1733,5,76,0,0,1733,1734, -5,73,0,0,1734,1735,5,90,0,0,1735,1736,5,65,0,0,1736,1737,5,66,0,0,1737,1738, -5,76,0,0,1738,1739,5,69,0,0,1739,305,1,0,0,0,1740,1741,5,82,0,0,1741,1742, -5,69,0,0,1742,1743,5,80,0,0,1743,1744,5,69,0,0,1744,1745,5,65,0,0,1745,1746, -5,84,0,0,1746,1747,5,65,0,0,1747,1748,5,66,0,0,1748,1749,5,76,0,0,1749,1750, -5,69,0,0,1750,307,1,0,0,0,1751,1752,5,67,0,0,1752,1753,5,79,0,0,1753,1754, -5,77,0,0,1754,1755,5,77,0,0,1755,1756,5,73,0,0,1756,1757,5,84,0,0,1757,1758, -5,84,0,0,1758,1759,5,69,0,0,1759,1760,5,68,0,0,1760,309,1,0,0,0,1761,1762, -5,85,0,0,1762,1763,5,78,0,0,1763,1764,5,67,0,0,1764,1765,5,79,0,0,1765,1766, -5,77,0,0,1766,1767,5,77,0,0,1767,1768,5,73,0,0,1768,1769,5,84,0,0,1769,1770, -5,84,0,0,1770,1771,5,69,0,0,1771,1772,5,68,0,0,1772,311,1,0,0,0,1773,1774, -5,82,0,0,1774,1775,5,69,0,0,1775,1776,5,65,0,0,1776,1777,5,68,0,0,1777,313, -1,0,0,0,1778,1779,5,87,0,0,1779,1780,5,82,0,0,1780,1781,5,73,0,0,1781,1782, -5,84,0,0,1782,1783,5,69,0,0,1783,315,1,0,0,0,1784,1785,5,68,0,0,1785,1786, -5,69,0,0,1786,1787,5,70,0,0,1787,1788,5,69,0,0,1788,1789,5,82,0,0,1789,1790, -5,82,0,0,1790,1791,5,65,0,0,1791,1792,5,66,0,0,1792,1793,5,76,0,0,1793,1794, -5,69,0,0,1794,317,1,0,0,0,1795,1796,5,82,0,0,1796,1797,5,69,0,0,1797,1798, -5,84,0,0,1798,1799,5,85,0,0,1799,1800,5,82,0,0,1800,1801,5,78,0,0,1801,1802, -5,83,0,0,1802,319,1,0,0,0,1803,1804,5,67,0,0,1804,1805,5,65,0,0,1805,1806, -5,76,0,0,1806,1807,5,76,0,0,1807,1808,5,69,0,0,1808,1809,5,68,0,0,1809,321, -1,0,0,0,1810,1811,5,82,0,0,1811,1812,5,69,0,0,1812,1813,5,80,0,0,1813,1814, -5,76,0,0,1814,1815,5,65,0,0,1815,1816,5,67,0,0,1816,1817,5,69,0,0,1817,323, -1,0,0,0,1818,1819,5,70,0,0,1819,1820,5,85,0,0,1820,1821,5,78,0,0,1821,1822, -5,67,0,0,1822,1823,5,84,0,0,1823,1824,5,73,0,0,1824,1825,5,79,0,0,1825,1826, -5,78,0,0,1826,325,1,0,0,0,1827,1828,5,76,0,0,1828,1829,5,65,0,0,1829,1830, -5,78,0,0,1830,1831,5,71,0,0,1831,1832,5,85,0,0,1832,1833,5,65,0,0,1833,1834, -5,71,0,0,1834,1835,5,69,0,0,1835,327,1,0,0,0,1836,1837,5,73,0,0,1837,1838, -5,78,0,0,1838,1839,5,80,0,0,1839,1840,5,85,0,0,1840,1841,5,84,0,0,1841,329, -1,0,0,0,1842,1843,5,65,0,0,1843,1844,5,78,0,0,1844,1845,5,65,0,0,1845,1846, -5,76,0,0,1846,1847,5,89,0,0,1847,1848,5,90,0,0,1848,1849,5,69,0,0,1849,331, -1,0,0,0,1850,1851,5,67,0,0,1851,1852,5,79,0,0,1852,1853,5,83,0,0,1853,1854, -5,84,0,0,1854,1855,5,83,0,0,1855,333,1,0,0,0,1856,1857,5,86,0,0,1857,1858, -5,69,0,0,1858,1859,5,82,0,0,1859,1860,5,66,0,0,1860,1861,5,79,0,0,1861,1862, -5,83,0,0,1862,1863,5,69,0,0,1863,335,1,0,0,0,1864,1865,5,68,0,0,1865,1866, -5,73,0,0,1866,1867,5,83,0,0,1867,1868,5,67,0,0,1868,1869,5,65,0,0,1869,1870, -5,82,0,0,1870,1871,5,68,0,0,1871,337,1,0,0,0,1872,1873,5,80,0,0,1873,1874, -5,76,0,0,1874,1875,5,65,0,0,1875,1876,5,78,0,0,1876,1877,5,83,0,0,1877,339, -1,0,0,0,1878,1879,5,83,0,0,1879,1880,5,69,0,0,1880,1881,5,81,0,0,1881,1882, -5,85,0,0,1882,1883,5,69,0,0,1883,1884,5,78,0,0,1884,1885,5,67,0,0,1885,1886, -5,69,0,0,1886,1887,5,83,0,0,1887,341,1,0,0,0,1888,1889,5,84,0,0,1889,1890, -5,69,0,0,1890,1891,5,77,0,0,1891,1892,5,80,0,0,1892,1893,5,79,0,0,1893,1894, -5,82,0,0,1894,1895,5,65,0,0,1895,1896,5,82,0,0,1896,1897,5,89,0,0,1897,343, -1,0,0,0,1898,1899,5,84,0,0,1899,1900,5,69,0,0,1900,1901,5,77,0,0,1901,1902, -5,80,0,0,1902,345,1,0,0,0,1903,1904,5,67,0,0,1904,1905,5,79,0,0,1905,1906, -5,78,0,0,1906,1907,5,83,0,0,1907,1908,5,84,0,0,1908,1909,5,82,0,0,1909,1910, -5,65,0,0,1910,1911,5,73,0,0,1911,1912,5,78,0,0,1912,1913,5,84,0,0,1913,347, -1,0,0,0,1914,1915,5,67,0,0,1915,1916,5,72,0,0,1916,1917,5,69,0,0,1917,1918, -5,67,0,0,1918,1919,5,75,0,0,1919,349,1,0,0,0,1920,1921,5,68,0,0,1921,1922, -5,69,0,0,1922,1923,5,83,0,0,1923,1924,5,67,0,0,1924,1925,5,82,0,0,1925,1926, -5,73,0,0,1926,1927,5,66,0,0,1927,1928,5,69,0,0,1928,351,1,0,0,0,1929,1930, -5,69,0,0,1930,1931,5,88,0,0,1931,1932,5,80,0,0,1932,1933,5,76,0,0,1933,1934, -5,65,0,0,1934,1935,5,73,0,0,1935,1936,5,78,0,0,1936,353,1,0,0,0,1937,1938, -5,70,0,0,1938,1939,5,79,0,0,1939,1940,5,82,0,0,1940,1941,5,77,0,0,1941,1942, -5,65,0,0,1942,1943,5,84,0,0,1943,355,1,0,0,0,1944,1945,5,84,0,0,1945,1946, -5,89,0,0,1946,1947,5,80,0,0,1947,1948,5,69,0,0,1948,357,1,0,0,0,1949,1950, -5,84,0,0,1950,1951,5,69,0,0,1951,1952,5,88,0,0,1952,1953,5,84,0,0,1953,359, -1,0,0,0,1954,1955,5,71,0,0,1955,1956,5,82,0,0,1956,1957,5,65,0,0,1957,1958, -5,80,0,0,1958,1959,5,72,0,0,1959,1960,5,86,0,0,1960,1961,5,73,0,0,1961,1962, -5,90,0,0,1962,361,1,0,0,0,1963,1964,5,76,0,0,1964,1965,5,79,0,0,1965,1966, -5,71,0,0,1966,1967,5,73,0,0,1967,1968,5,67,0,0,1968,1969,5,65,0,0,1969,1970, -5,76,0,0,1970,363,1,0,0,0,1971,1972,5,68,0,0,1972,1973,5,73,0,0,1973,1974, -5,83,0,0,1974,1975,5,84,0,0,1975,1976,5,82,0,0,1976,1977,5,73,0,0,1977,1978, -5,66,0,0,1978,1979,5,85,0,0,1979,1980,5,84,0,0,1980,1981,5,69,0,0,1981,1982, -5,68,0,0,1982,365,1,0,0,0,1983,1984,5,67,0,0,1984,1985,5,65,0,0,1985,1986, -5,83,0,0,1986,1987,5,84,0,0,1987,367,1,0,0,0,1988,1989,5,84,0,0,1989,1990, -5,82,0,0,1990,1991,5,89,0,0,1991,1992,5,95,0,0,1992,1993,5,67,0,0,1993,1994, -5,65,0,0,1994,1995,5,83,0,0,1995,1996,5,84,0,0,1996,369,1,0,0,0,1997,1998, -5,83,0,0,1998,1999,5,72,0,0,1999,2000,5,79,0,0,2000,2001,5,87,0,0,2001,371, -1,0,0,0,2002,2003,5,84,0,0,2003,2004,5,65,0,0,2004,2005,5,66,0,0,2005,2006, -5,76,0,0,2006,2007,5,69,0,0,2007,2008,5,83,0,0,2008,373,1,0,0,0,2009,2010, -5,83,0,0,2010,2011,5,67,0,0,2011,2012,5,72,0,0,2012,2013,5,69,0,0,2013,2014, -5,77,0,0,2014,2015,5,65,0,0,2015,2016,5,83,0,0,2016,375,1,0,0,0,2017,2018, -5,67,0,0,2018,2019,5,65,0,0,2019,2020,5,84,0,0,2020,2021,5,65,0,0,2021,2022, -5,76,0,0,2022,2023,5,79,0,0,2023,2024,5,71,0,0,2024,2025,5,83,0,0,2025,377, -1,0,0,0,2026,2027,5,67,0,0,2027,2028,5,79,0,0,2028,2029,5,76,0,0,2029,2030, -5,85,0,0,2030,2031,5,77,0,0,2031,2032,5,78,0,0,2032,2033,5,83,0,0,2033,379, -1,0,0,0,2034,2035,5,80,0,0,2035,2036,5,65,0,0,2036,2037,5,82,0,0,2037,2038, -5,84,0,0,2038,2039,5,73,0,0,2039,2040,5,84,0,0,2040,2041,5,73,0,0,2041,2042, -5,79,0,0,2042,2043,5,78,0,0,2043,2044,5,83,0,0,2044,381,1,0,0,0,2045,2046, -5,70,0,0,2046,2047,5,85,0,0,2047,2048,5,78,0,0,2048,2049,5,67,0,0,2049,2050, -5,84,0,0,2050,2051,5,73,0,0,2051,2052,5,79,0,0,2052,2053,5,78,0,0,2053,2054, -5,83,0,0,2054,383,1,0,0,0,2055,2056,5,77,0,0,2056,2057,5,65,0,0,2057,2058, -5,84,0,0,2058,2059,5,69,0,0,2059,2060,5,82,0,0,2060,2061,5,73,0,0,2061,2062, -5,65,0,0,2062,2063,5,76,0,0,2063,2064,5,73,0,0,2064,2065,5,90,0,0,2065,2066, -5,69,0,0,2066,2067,5,68,0,0,2067,385,1,0,0,0,2068,2069,5,86,0,0,2069,2070, -5,73,0,0,2070,2071,5,69,0,0,2071,2072,5,87,0,0,2072,387,1,0,0,0,2073,2074, -5,79,0,0,2074,2075,5,80,0,0,2075,2076,5,84,0,0,2076,2077,5,73,0,0,2077,2078, -5,77,0,0,2078,2079,5,73,0,0,2079,2080,5,90,0,0,2080,2081,5,69,0,0,2081,389, -1,0,0,0,2082,2083,5,82,0,0,2083,2084,5,69,0,0,2084,2085,5,70,0,0,2085,2086, -5,82,0,0,2086,2087,5,69,0,0,2087,2088,5,83,0,0,2088,2089,5,72,0,0,2089,391, -1,0,0,0,2090,2091,5,82,0,0,2091,2092,5,69,0,0,2092,2093,5,83,0,0,2093,2094, -5,84,0,0,2094,2095,5,79,0,0,2095,2096,5,82,0,0,2096,2097,5,69,0,0,2097,393, -1,0,0,0,2098,2099,5,68,0,0,2099,2100,5,82,0,0,2100,2101,5,79,0,0,2101,2102, -5,80,0,0,2102,395,1,0,0,0,2103,2104,5,65,0,0,2104,2105,5,76,0,0,2105,2106, -5,73,0,0,2106,2107,5,65,0,0,2107,2108,5,83,0,0,2108,397,1,0,0,0,2109,2110, -5,85,0,0,2110,2111,5,78,0,0,2111,2112,5,73,0,0,2112,2113,5,79,0,0,2113,2114, -5,78,0,0,2114,399,1,0,0,0,2115,2116,5,69,0,0,2116,2117,5,88,0,0,2117,2118, -5,67,0,0,2118,2119,5,69,0,0,2119,2120,5,80,0,0,2120,2121,5,84,0,0,2121,401, -1,0,0,0,2122,2123,5,73,0,0,2123,2124,5,78,0,0,2124,2125,5,84,0,0,2125,2126, -5,69,0,0,2126,2127,5,82,0,0,2127,2128,5,83,0,0,2128,2129,5,69,0,0,2129,2130, -5,67,0,0,2130,2131,5,84,0,0,2131,403,1,0,0,0,2132,2133,5,83,0,0,2133,2134, -5,89,0,0,2134,2135,5,83,0,0,2135,2136,5,84,0,0,2136,2137,5,69,0,0,2137,2138, -5,77,0,0,2138,405,1,0,0,0,2139,2140,5,66,0,0,2140,2141,5,69,0,0,2141,2142, -5,82,0,0,2142,2143,5,78,0,0,2143,2144,5,79,0,0,2144,2145,5,85,0,0,2145,2146, -5,76,0,0,2146,2147,5,76,0,0,2147,2148,5,73,0,0,2148,407,1,0,0,0,2149,2150, -5,84,0,0,2150,2151,5,65,0,0,2151,2152,5,66,0,0,2152,2153,5,76,0,0,2153,2154, -5,69,0,0,2154,2155,5,83,0,0,2155,2156,5,65,0,0,2156,2157,5,77,0,0,2157,2158, -5,80,0,0,2158,2159,5,76,0,0,2159,2160,5,69,0,0,2160,409,1,0,0,0,2161,2162, -5,83,0,0,2162,2163,5,84,0,0,2163,2164,5,82,0,0,2164,2165,5,65,0,0,2165,2166, -5,84,0,0,2166,2167,5,73,0,0,2167,2168,5,70,0,0,2168,2169,5,89,0,0,2169,411, -1,0,0,0,2170,2171,5,73,0,0,2171,2172,5,78,0,0,2172,2173,5,83,0,0,2173,2174, -5,69,0,0,2174,2175,5,82,0,0,2175,2176,5,84,0,0,2176,413,1,0,0,0,2177,2178, -5,73,0,0,2178,2179,5,78,0,0,2179,2180,5,84,0,0,2180,2181,5,79,0,0,2181,415, -1,0,0,0,2182,2183,5,86,0,0,2183,2184,5,65,0,0,2184,2185,5,76,0,0,2185,2186, -5,85,0,0,2186,2187,5,69,0,0,2187,2188,5,83,0,0,2188,417,1,0,0,0,2189,2190, -5,68,0,0,2190,2191,5,69,0,0,2191,2192,5,76,0,0,2192,2193,5,69,0,0,2193,2194, -5,84,0,0,2194,2195,5,69,0,0,2195,419,1,0,0,0,2196,2197,5,85,0,0,2197,2198, -5,80,0,0,2198,2199,5,68,0,0,2199,2200,5,65,0,0,2200,2201,5,84,0,0,2201,2202, -5,69,0,0,2202,421,1,0,0,0,2203,2204,5,75,0,0,2204,2205,5,69,0,0,2205,2206, -5,89,0,0,2206,423,1,0,0,0,2207,2208,5,68,0,0,2208,2209,5,85,0,0,2209,2210, -5,80,0,0,2210,2211,5,76,0,0,2211,2212,5,73,0,0,2212,2213,5,67,0,0,2213,2214, -5,65,0,0,2214,2215,5,84,0,0,2215,2216,5,69,0,0,2216,425,1,0,0,0,2217,2218, -5,67,0,0,2218,2219,5,79,0,0,2219,2220,5,78,0,0,2220,2221,5,70,0,0,2221,2222, -5,76,0,0,2222,2223,5,73,0,0,2223,2224,5,67,0,0,2224,2225,5,84,0,0,2225,427, -1,0,0,0,2226,2227,5,68,0,0,2227,2228,5,79,0,0,2228,429,1,0,0,0,2229,2230, -5,78,0,0,2230,2231,5,79,0,0,2231,2232,5,84,0,0,2232,2233,5,72,0,0,2233,2234, -5,73,0,0,2234,2235,5,78,0,0,2235,2236,5,71,0,0,2236,431,1,0,0,0,2237,2238, -5,83,0,0,2238,2239,5,69,0,0,2239,2240,5,84,0,0,2240,433,1,0,0,0,2241,2242, -5,82,0,0,2242,2243,5,69,0,0,2243,2244,5,83,0,0,2244,2245,5,69,0,0,2245,2246, -5,84,0,0,2246,435,1,0,0,0,2247,2248,5,68,0,0,2248,2249,5,69,0,0,2249,2250, -5,70,0,0,2250,2251,5,65,0,0,2251,2252,5,85,0,0,2252,2253,5,76,0,0,2253,2254, -5,84,0,0,2254,437,1,0,0,0,2255,2256,5,67,0,0,2256,2257,5,79,0,0,2257,2258, -5,80,0,0,2258,2259,5,89,0,0,2259,439,1,0,0,0,2260,2261,5,67,0,0,2261,2262, -5,76,0,0,2262,2263,5,85,0,0,2263,2264,5,83,0,0,2264,2265,5,84,0,0,2265,2266, -5,69,0,0,2266,2267,5,82,0,0,2267,2268,5,69,0,0,2268,2269,5,68,0,0,2269,441, -1,0,0,0,2270,2271,5,83,0,0,2271,2272,5,72,0,0,2272,2273,5,65,0,0,2273,2274, -5,82,0,0,2274,2275,5,68,0,0,2275,2276,5,83,0,0,2276,443,1,0,0,0,2277,2278, -5,80,0,0,2278,2279,5,82,0,0,2279,2280,5,73,0,0,2280,2281,5,77,0,0,2281,2282, -5,65,0,0,2282,2283,5,82,0,0,2283,2284,5,89,0,0,2284,2285,5,32,0,0,2285,2286, -5,75,0,0,2286,2287,5,69,0,0,2287,2288,5,89,0,0,2288,445,1,0,0,0,2289,2290, -5,79,0,0,2290,2291,5,70,0,0,2291,2292,5,70,0,0,2292,447,1,0,0,0,2293,2294, -5,70,0,0,2294,2295,5,85,0,0,2295,2296,5,76,0,0,2296,2297,5,76,0,0,2297,2298, -5,84,0,0,2298,2299,5,69,0,0,2299,2300,5,88,0,0,2300,2301,5,84,0,0,2301,449, -1,0,0,0,2302,2303,5,70,0,0,2303,2304,5,73,0,0,2304,2305,5,76,0,0,2305,2306, -5,84,0,0,2306,2307,5,69,0,0,2307,2308,5,82,0,0,2308,451,1,0,0,0,2309,2310, -5,80,0,0,2310,2311,5,76,0,0,2311,2312,5,65,0,0,2312,2313,5,73,0,0,2313,2314, -5,78,0,0,2314,453,1,0,0,0,2315,2316,5,73,0,0,2316,2317,5,78,0,0,2317,2318, -5,68,0,0,2318,2319,5,69,0,0,2319,2320,5,88,0,0,2320,455,1,0,0,0,2321,2322, -5,83,0,0,2322,2323,5,84,0,0,2323,2324,5,79,0,0,2324,2325,5,82,0,0,2325,2326, -5,65,0,0,2326,2327,5,71,0,0,2327,2328,5,69,0,0,2328,457,1,0,0,0,2329,2330, -5,82,0,0,2330,2331,5,69,0,0,2331,2332,5,84,0,0,2332,2333,5,85,0,0,2333,2334, -5,82,0,0,2334,2335,5,78,0,0,2335,2336,5,73,0,0,2336,2337,5,78,0,0,2337,2338, -5,71,0,0,2338,459,1,0,0,0,2339,2340,5,68,0,0,2340,2341,5,89,0,0,2341,2342, -5,78,0,0,2342,2343,5,65,0,0,2343,2344,5,77,0,0,2344,2345,5,73,0,0,2345,2346, -5,67,0,0,2346,461,1,0,0,0,2347,2348,5,83,0,0,2348,2349,5,84,0,0,2349,2350, -5,82,0,0,2350,2351,5,73,0,0,2351,2352,5,67,0,0,2352,2353,5,84,0,0,2353,463, -1,0,0,0,2354,2355,5,73,0,0,2355,2356,5,71,0,0,2356,2357,5,78,0,0,2357,2358, -5,79,0,0,2358,2359,5,82,0,0,2359,2360,5,69,0,0,2360,2361,5,68,0,0,2361,465, -1,0,0,0,2362,2363,5,65,0,0,2363,2364,5,82,0,0,2364,2365,5,82,0,0,2365,2366, -5,65,0,0,2366,2367,5,89,0,0,2367,467,1,0,0,0,2368,2369,5,65,0,0,2369,2370, -5,78,0,0,2370,2371,5,65,0,0,2371,2372,5,76,0,0,2372,2373,5,89,0,0,2373,2374, -5,90,0,0,2374,2375,5,69,0,0,2375,2376,5,82,0,0,2376,469,1,0,0,0,2377,2378, -5,69,0,0,2378,2379,5,88,0,0,2379,2380,5,84,0,0,2380,2381,5,69,0,0,2381,2382, -5,78,0,0,2382,2383,5,68,0,0,2383,2384,5,83,0,0,2384,471,1,0,0,0,2385,2386, -5,84,0,0,2386,2387,5,79,0,0,2387,2388,5,75,0,0,2388,2389,5,69,0,0,2389,2390, -5,78,0,0,2390,2391,5,73,0,0,2391,2392,5,90,0,0,2392,2393,5,69,0,0,2393,2394, -5,82,0,0,2394,473,1,0,0,0,2395,2396,5,84,0,0,2396,2397,5,79,0,0,2397,2398, -5,75,0,0,2398,2399,5,69,0,0,2399,2400,5,78,0,0,2400,2401,5,95,0,0,2401,2402, -5,70,0,0,2402,2403,5,73,0,0,2403,2404,5,76,0,0,2404,2405,5,84,0,0,2405,2406, -5,69,0,0,2406,2407,5,82,0,0,2407,2408,5,83,0,0,2408,475,1,0,0,0,2409,2410, -5,67,0,0,2410,2411,5,72,0,0,2411,2412,5,65,0,0,2412,2413,5,82,0,0,2413,2414, -5,95,0,0,2414,2415,5,70,0,0,2415,2416,5,73,0,0,2416,2417,5,76,0,0,2417,2418, -5,84,0,0,2418,2419,5,69,0,0,2419,2420,5,82,0,0,2420,2421,5,83,0,0,2421,477, -1,0,0,0,2422,2423,5,80,0,0,2423,2424,5,65,0,0,2424,2425,5,82,0,0,2425,2426, -5,84,0,0,2426,2427,5,73,0,0,2427,2428,5,84,0,0,2428,2429,5,73,0,0,2429,2430, -5,79,0,0,2430,2431,5,78,0,0,2431,2432,5,69,0,0,2432,2433,5,68,0,0,2433,479, -1,0,0,0,2434,2435,5,80,0,0,2435,2436,5,82,0,0,2436,2437,5,69,0,0,2437,2438, -5,80,0,0,2438,2439,5,65,0,0,2439,2440,5,82,0,0,2440,2441,5,69,0,0,2441,481, -1,0,0,0,2442,2443,5,84,0,0,2443,2444,5,82,0,0,2444,2445,5,65,0,0,2445,2446, -5,78,0,0,2446,2447,5,83,0,0,2447,2448,5,73,0,0,2448,2449,5,69,0,0,2449,2450, -5,78,0,0,2450,2451,5,84,0,0,2451,483,1,0,0,0,2452,2453,5,80,0,0,2453,2454, -5,69,0,0,2454,2455,5,82,0,0,2455,2456,5,83,0,0,2456,2457,5,73,0,0,2457,2458, -5,83,0,0,2458,2459,5,84,0,0,2459,2460,5,69,0,0,2460,2461,5,78,0,0,2461,2462, -5,84,0,0,2462,485,1,0,0,0,2463,2464,5,77,0,0,2464,2465,5,65,0,0,2465,2466, -5,84,0,0,2466,2467,5,67,0,0,2467,2468,5,72,0,0,2468,487,1,0,0,0,2469,2470, -5,71,0,0,2470,2471,5,69,0,0,2471,2472,5,78,0,0,2472,2473,5,69,0,0,2473,2474, -5,82,0,0,2474,2475,5,65,0,0,2475,2476,5,84,0,0,2476,2477,5,69,0,0,2477,2478, -5,68,0,0,2478,489,1,0,0,0,2479,2480,5,65,0,0,2480,2481,5,76,0,0,2481,2482, -5,87,0,0,2482,2483,5,65,0,0,2483,2484,5,89,0,0,2484,2485,5,83,0,0,2485,491, -1,0,0,0,2486,2487,5,85,0,0,2487,2488,5,83,0,0,2488,2489,5,69,0,0,2489,2490, -5,82,0,0,2490,493,1,0,0,0,2491,2492,5,82,0,0,2492,2493,5,79,0,0,2493,2494, -5,76,0,0,2494,2495,5,69,0,0,2495,495,1,0,0,0,2496,2497,5,71,0,0,2497,2498, -5,82,0,0,2498,2499,5,65,0,0,2499,2500,5,78,0,0,2500,2501,5,84,0,0,2501,497, -1,0,0,0,2502,2503,5,68,0,0,2503,2504,5,69,0,0,2504,2505,5,78,0,0,2505,2506, -5,89,0,0,2506,499,1,0,0,0,2507,2508,5,82,0,0,2508,2509,5,69,0,0,2509,2510, -5,86,0,0,2510,2511,5,79,0,0,2511,2512,5,75,0,0,2512,2513,5,69,0,0,2513,501, -1,0,0,0,2514,2515,5,80,0,0,2515,2516,5,82,0,0,2516,2517,5,73,0,0,2517,2518, -5,86,0,0,2518,2519,5,73,0,0,2519,2520,5,76,0,0,2520,2521,5,69,0,0,2521,2522, -5,71,0,0,2522,2523,5,69,0,0,2523,2524,5,83,0,0,2524,503,1,0,0,0,2525,2526, -5,83,0,0,2526,2527,5,67,0,0,2527,2528,5,72,0,0,2528,2529,5,69,0,0,2529,2530, -5,77,0,0,2530,2531,5,65,0,0,2531,505,1,0,0,0,2532,2533,5,82,0,0,2533,2534, -5,69,0,0,2534,2535,5,84,0,0,2535,2536,5,85,0,0,2536,2537,5,82,0,0,2537,2538, -5,78,0,0,2538,507,1,0,0,0,2539,2540,5,83,0,0,2540,2541,5,85,0,0,2541,2542, -5,77,0,0,2542,2543,5,77,0,0,2543,2544,5,65,0,0,2544,2545,5,82,0,0,2545,2546, -5,89,0,0,2546,509,1,0,0,0,2547,2548,5,77,0,0,2548,2549,5,69,0,0,2549,2550, -5,84,0,0,2550,2551,5,65,0,0,2551,2552,5,68,0,0,2552,2553,5,65,0,0,2553,2554, -5,84,0,0,2554,2555,5,65,0,0,2555,511,1,0,0,0,2556,2557,5,80,0,0,2557,2558, -5,85,0,0,2558,2559,5,66,0,0,2559,2560,5,76,0,0,2560,2561,5,73,0,0,2561,2562, -5,67,0,0,2562,2563,5,65,0,0,2563,2564,5,84,0,0,2564,2565,5,73,0,0,2565,2566, -5,79,0,0,2566,2567,5,78,0,0,2567,513,1,0,0,0,2568,2569,5,83,0,0,2569,2570, -5,85,0,0,2570,2571,5,66,0,0,2571,2572,5,83,0,0,2572,2573,5,67,0,0,2573,2574, -5,82,0,0,2574,2575,5,73,0,0,2575,2576,5,80,0,0,2576,2577,5,84,0,0,2577,2578, -5,73,0,0,2578,2579,5,79,0,0,2579,2580,5,78,0,0,2580,515,1,0,0,0,2581,2582, -5,67,0,0,2582,2583,5,79,0,0,2583,2584,5,78,0,0,2584,2585,5,78,0,0,2585,2586, -5,69,0,0,2586,2587,5,67,0,0,2587,2588,5,84,0,0,2588,2589,5,73,0,0,2589,2590, -5,79,0,0,2590,2591,5,78,0,0,2591,517,1,0,0,0,2592,2593,5,69,0,0,2593,2594, -5,78,0,0,2594,2595,5,65,0,0,2595,2596,5,66,0,0,2596,2597,5,76,0,0,2597,2598, -5,69,0,0,2598,519,1,0,0,0,2599,2600,5,68,0,0,2600,2601,5,73,0,0,2601,2602, -5,83,0,0,2602,2603,5,65,0,0,2603,2604,5,66,0,0,2604,2605,5,76,0,0,2605,2606, -5,69,0,0,2606,521,1,0,0,0,2607,2608,5,68,0,0,2608,2609,5,69,0,0,2609,2610, -5,67,0,0,2610,2611,5,76,0,0,2611,2612,5,65,0,0,2612,2613,5,82,0,0,2613,2614, -5,69,0,0,2614,523,1,0,0,0,2615,2616,5,67,0,0,2616,2617,5,85,0,0,2617,2618, -5,82,0,0,2618,2619,5,83,0,0,2619,2620,5,79,0,0,2620,2621,5,82,0,0,2621,525, -1,0,0,0,2622,2623,5,65,0,0,2623,2624,5,83,0,0,2624,2625,5,69,0,0,2625,2626, -5,78,0,0,2626,2627,5,83,0,0,2627,2628,5,73,0,0,2628,2629,5,84,0,0,2629,2630, -5,73,0,0,2630,2631,5,86,0,0,2631,2632,5,69,0,0,2632,527,1,0,0,0,2633,2634, -5,73,0,0,2634,2635,5,78,0,0,2635,2636,5,83,0,0,2636,2637,5,69,0,0,2637,2638, -5,78,0,0,2638,2639,5,83,0,0,2639,2640,5,73,0,0,2640,2641,5,84,0,0,2641,2642, -5,73,0,0,2642,2643,5,86,0,0,2643,2644,5,69,0,0,2644,529,1,0,0,0,2645,2646, -5,66,0,0,2646,2647,5,73,0,0,2647,2648,5,78,0,0,2648,2649,5,65,0,0,2649,2650, -5,82,0,0,2650,2651,5,89,0,0,2651,531,1,0,0,0,2652,2653,5,78,0,0,2653,2654, -5,79,0,0,2654,533,1,0,0,0,2655,2656,5,83,0,0,2656,2657,5,67,0,0,2657,2658, -5,82,0,0,2658,2659,5,79,0,0,2659,2660,5,76,0,0,2660,2661,5,76,0,0,2661,535, -1,0,0,0,2662,2663,5,72,0,0,2663,2664,5,79,0,0,2664,2665,5,76,0,0,2665,2666, -5,68,0,0,2666,537,1,0,0,0,2667,2668,5,65,0,0,2668,2669,5,66,0,0,2669,2670, -5,83,0,0,2670,2671,5,79,0,0,2671,2672,5,76,0,0,2672,2673,5,85,0,0,2673,2674, -5,84,0,0,2674,2675,5,69,0,0,2675,539,1,0,0,0,2676,2677,5,70,0,0,2677,2678, -5,79,0,0,2678,2679,5,82,0,0,2679,2680,5,87,0,0,2680,2681,5,65,0,0,2681,2682, -5,82,0,0,2682,2683,5,68,0,0,2683,541,1,0,0,0,2684,2685,5,66,0,0,2685,2686, -5,65,0,0,2686,2687,5,67,0,0,2687,2688,5,75,0,0,2688,2689,5,87,0,0,2689,2690, -5,65,0,0,2690,2691,5,82,0,0,2691,2692,5,68,0,0,2692,543,1,0,0,0,2693,2694, -5,82,0,0,2694,2695,5,69,0,0,2695,2696,5,76,0,0,2696,2697,5,65,0,0,2697,2698, -5,84,0,0,2698,2699,5,73,0,0,2699,2700,5,86,0,0,2700,2701,5,69,0,0,2701,545, -1,0,0,0,2702,2703,5,80,0,0,2703,2704,5,82,0,0,2704,2705,5,73,0,0,2705,2706, -5,79,0,0,2706,2707,5,82,0,0,2707,547,1,0,0,0,2708,2709,5,83,0,0,2709,2710, -5,69,0,0,2710,2711,5,82,0,0,2711,2712,5,86,0,0,2712,2713,5,69,0,0,2713,2714, -5,82,0,0,2714,549,1,0,0,0,2715,2716,5,70,0,0,2716,2717,5,79,0,0,2717,2718, -5,82,0,0,2718,2719,5,69,0,0,2719,2720,5,73,0,0,2720,2721,5,71,0,0,2721,2722, -5,78,0,0,2722,551,1,0,0,0,2723,2724,5,68,0,0,2724,2725,5,65,0,0,2725,2726, -5,84,0,0,2726,2727,5,65,0,0,2727,553,1,0,0,0,2728,2729,5,87,0,0,2729,2730, -5,82,0,0,2730,2731,5,65,0,0,2731,2732,5,80,0,0,2732,2733,5,80,0,0,2733,2734, -5,69,0,0,2734,2735,5,82,0,0,2735,555,1,0,0,0,2736,2737,5,79,0,0,2737,2738, -5,80,0,0,2738,2739,5,84,0,0,2739,2740,5,73,0,0,2740,2741,5,79,0,0,2741,2742, -5,78,0,0,2742,2743,5,83,0,0,2743,557,1,0,0,0,2744,2745,5,77,0,0,2745,2746, -5,65,0,0,2746,2747,5,80,0,0,2747,2748,5,80,0,0,2748,2749,5,73,0,0,2749,2750, -5,78,0,0,2750,2751,5,71,0,0,2751,559,1,0,0,0,2752,2753,5,67,0,0,2753,2754, -5,65,0,0,2754,2755,5,83,0,0,2755,2756,5,67,0,0,2756,2757,5,65,0,0,2757,2758, -5,68,0,0,2758,2759,5,69,0,0,2759,561,1,0,0,0,2760,2761,5,82,0,0,2761,2762, -5,69,0,0,2762,2763,5,83,0,0,2763,2764,5,84,0,0,2764,2765,5,82,0,0,2765,2766, -5,73,0,0,2766,2767,5,67,0,0,2767,2768,5,84,0,0,2768,563,1,0,0,0,2769,2770, -5,61,0,0,2770,565,1,0,0,0,2771,2772,5,60,0,0,2772,2776,5,62,0,0,2773,2774, -5,33,0,0,2774,2776,5,61,0,0,2775,2771,1,0,0,0,2775,2773,1,0,0,0,2776,567, -1,0,0,0,2777,2778,5,60,0,0,2778,569,1,0,0,0,2779,2780,5,60,0,0,2780,2781, -5,61,0,0,2781,571,1,0,0,0,2782,2783,5,62,0,0,2783,573,1,0,0,0,2784,2785, -5,62,0,0,2785,2786,5,61,0,0,2786,575,1,0,0,0,2787,2788,5,60,0,0,2788,2789, -5,60,0,0,2789,577,1,0,0,0,2790,2791,5,126,0,0,2791,579,1,0,0,0,2792,2793, -5,33,0,0,2793,2794,5,126,0,0,2794,581,1,0,0,0,2795,2796,5,126,0,0,2796,2797, -5,42,0,0,2797,583,1,0,0,0,2798,2799,5,33,0,0,2799,2800,5,126,0,0,2800,2801, -5,42,0,0,2801,585,1,0,0,0,2802,2803,5,43,0,0,2803,587,1,0,0,0,2804,2805, -5,45,0,0,2805,589,1,0,0,0,2806,2807,5,42,0,0,2807,591,1,0,0,0,2808,2809, -5,94,0,0,2809,593,1,0,0,0,2810,2811,5,47,0,0,2811,595,1,0,0,0,2812,2813, -5,37,0,0,2813,597,1,0,0,0,2814,2815,5,124,0,0,2815,2816,5,124,0,0,2816,599, -1,0,0,0,2817,2818,5,58,0,0,2818,2819,5,58,0,0,2819,601,1,0,0,0,2820,2821, -5,59,0,0,2821,603,1,0,0,0,2822,2823,5,58,0,0,2823,605,1,0,0,0,2824,2825, -5,44,0,0,2825,607,1,0,0,0,2826,2827,5,46,0,0,2827,609,1,0,0,0,2828,2829, -5,40,0,0,2829,611,1,0,0,0,2830,2831,5,41,0,0,2831,613,1,0,0,0,2832,2833, -5,123,0,0,2833,615,1,0,0,0,2834,2835,5,125,0,0,2835,617,1,0,0,0,2836,2837, -5,91,0,0,2837,619,1,0,0,0,2838,2839,5,93,0,0,2839,621,1,0,0,0,2840,2841, -5,91,0,0,2841,2842,5,93,0,0,2842,623,1,0,0,0,2843,2844,5,63,0,0,2844,625, -1,0,0,0,2845,2846,5,36,0,0,2846,627,1,0,0,0,2847,2848,5,38,0,0,2848,629, -1,0,0,0,2849,2850,5,124,0,0,2850,631,1,0,0,0,2851,2852,5,35,0,0,2852,633, -1,0,0,0,2853,2859,5,39,0,0,2854,2858,8,0,0,0,2855,2856,5,39,0,0,2856,2858, -5,39,0,0,2857,2854,1,0,0,0,2857,2855,1,0,0,0,2858,2861,1,0,0,0,2859,2857, -1,0,0,0,2859,2860,1,0,0,0,2860,2862,1,0,0,0,2861,2859,1,0,0,0,2862,2863, -5,39,0,0,2863,635,1,0,0,0,2864,2865,5,69,0,0,2865,2877,5,39,0,0,2866,2876, -8,1,0,0,2867,2868,5,39,0,0,2868,2876,5,39,0,0,2869,2871,5,92,0,0,2870,2869, -1,0,0,0,2871,2872,1,0,0,0,2872,2870,1,0,0,0,2872,2873,1,0,0,0,2873,2874, -1,0,0,0,2874,2876,8,2,0,0,2875,2866,1,0,0,0,2875,2867,1,0,0,0,2875,2870, -1,0,0,0,2876,2879,1,0,0,0,2877,2875,1,0,0,0,2877,2878,1,0,0,0,2878,2880, -1,0,0,0,2879,2877,1,0,0,0,2880,2881,5,39,0,0,2881,637,1,0,0,0,2882,2883, -5,66,0,0,2883,2887,5,39,0,0,2884,2886,7,3,0,0,2885,2884,1,0,0,0,2886,2889, -1,0,0,0,2887,2885,1,0,0,0,2887,2888,1,0,0,0,2888,2890,1,0,0,0,2889,2887, -1,0,0,0,2890,2891,5,39,0,0,2891,639,1,0,0,0,2892,2894,3,658,328,0,2893,2892, -1,0,0,0,2894,2895,1,0,0,0,2895,2893,1,0,0,0,2895,2896,1,0,0,0,2896,2907, -1,0,0,0,2897,2900,3,658,328,0,2898,2901,3,658,328,0,2899,2901,5,95,0,0,2900, -2898,1,0,0,0,2900,2899,1,0,0,0,2901,2902,1,0,0,0,2902,2900,1,0,0,0,2902, -2903,1,0,0,0,2903,2904,1,0,0,0,2904,2905,3,658,328,0,2905,2907,1,0,0,0,2906, -2893,1,0,0,0,2906,2897,1,0,0,0,2907,641,1,0,0,0,2908,2909,3,640,319,0,2909, -2911,5,46,0,0,2910,2912,3,640,319,0,2911,2910,1,0,0,0,2911,2912,1,0,0,0, -2912,2940,1,0,0,0,2913,2915,5,46,0,0,2914,2916,3,658,328,0,2915,2914,1,0, -0,0,2916,2917,1,0,0,0,2917,2915,1,0,0,0,2917,2918,1,0,0,0,2918,2940,1,0, -0,0,2919,2927,3,640,319,0,2920,2924,5,46,0,0,2921,2923,3,658,328,0,2922, -2921,1,0,0,0,2923,2926,1,0,0,0,2924,2922,1,0,0,0,2924,2925,1,0,0,0,2925, -2928,1,0,0,0,2926,2924,1,0,0,0,2927,2920,1,0,0,0,2927,2928,1,0,0,0,2928, -2929,1,0,0,0,2929,2930,3,656,327,0,2930,2940,1,0,0,0,2931,2933,5,46,0,0, -2932,2934,3,658,328,0,2933,2932,1,0,0,0,2934,2935,1,0,0,0,2935,2933,1,0, -0,0,2935,2936,1,0,0,0,2936,2937,1,0,0,0,2937,2938,3,656,327,0,2938,2940, -1,0,0,0,2939,2908,1,0,0,0,2939,2913,1,0,0,0,2939,2919,1,0,0,0,2939,2931, -1,0,0,0,2940,643,1,0,0,0,2941,2944,3,660,329,0,2942,2944,5,95,0,0,2943,2941, -1,0,0,0,2943,2942,1,0,0,0,2944,2950,1,0,0,0,2945,2949,3,660,329,0,2946,2949, -3,658,328,0,2947,2949,7,4,0,0,2948,2945,1,0,0,0,2948,2946,1,0,0,0,2948,2947, -1,0,0,0,2949,2952,1,0,0,0,2950,2948,1,0,0,0,2950,2951,1,0,0,0,2951,645,1, -0,0,0,2952,2950,1,0,0,0,2953,2957,3,658,328,0,2954,2958,3,660,329,0,2955, -2958,3,658,328,0,2956,2958,7,4,0,0,2957,2954,1,0,0,0,2957,2955,1,0,0,0,2957, -2956,1,0,0,0,2958,2959,1,0,0,0,2959,2957,1,0,0,0,2959,2960,1,0,0,0,2960, -647,1,0,0,0,2961,2967,5,34,0,0,2962,2966,8,5,0,0,2963,2964,5,34,0,0,2964, -2966,5,34,0,0,2965,2962,1,0,0,0,2965,2963,1,0,0,0,2966,2969,1,0,0,0,2967, -2965,1,0,0,0,2967,2968,1,0,0,0,2968,2970,1,0,0,0,2969,2967,1,0,0,0,2970, -2971,5,34,0,0,2971,649,1,0,0,0,2972,2978,5,96,0,0,2973,2977,8,6,0,0,2974, -2975,5,96,0,0,2975,2977,5,96,0,0,2976,2973,1,0,0,0,2976,2974,1,0,0,0,2977, -2980,1,0,0,0,2978,2976,1,0,0,0,2978,2979,1,0,0,0,2979,2981,1,0,0,0,2980, -2978,1,0,0,0,2981,2982,5,96,0,0,2982,651,1,0,0,0,2983,2985,5,36,0,0,2984, -2986,3,654,326,0,2985,2984,1,0,0,0,2985,2986,1,0,0,0,2986,2987,1,0,0,0,2987, -2988,5,36,0,0,2988,2989,6,325,0,0,2989,2990,1,0,0,0,2990,2991,6,325,1,0, -2991,653,1,0,0,0,2992,2993,3,644,321,0,2993,655,1,0,0,0,2994,2996,5,69,0, -0,2995,2997,7,7,0,0,2996,2995,1,0,0,0,2996,2997,1,0,0,0,2997,2999,1,0,0, -0,2998,3000,3,658,328,0,2999,2998,1,0,0,0,3000,3001,1,0,0,0,3001,2999,1, -0,0,0,3001,3002,1,0,0,0,3002,657,1,0,0,0,3003,3004,7,8,0,0,3004,659,1,0, -0,0,3005,3006,7,9,0,0,3006,661,1,0,0,0,3007,3008,5,45,0,0,3008,3009,5,45, -0,0,3009,3013,1,0,0,0,3010,3012,8,10,0,0,3011,3010,1,0,0,0,3012,3015,1,0, -0,0,3013,3011,1,0,0,0,3013,3014,1,0,0,0,3014,3017,1,0,0,0,3015,3013,1,0, -0,0,3016,3018,5,13,0,0,3017,3016,1,0,0,0,3017,3018,1,0,0,0,3018,3020,1,0, -0,0,3019,3021,5,10,0,0,3020,3019,1,0,0,0,3020,3021,1,0,0,0,3021,3034,1,0, -0,0,3022,3023,5,47,0,0,3023,3024,5,42,0,0,3024,3028,1,0,0,0,3025,3027,9, -0,0,0,3026,3025,1,0,0,0,3027,3030,1,0,0,0,3028,3029,1,0,0,0,3028,3026,1, -0,0,0,3029,3031,1,0,0,0,3030,3028,1,0,0,0,3031,3032,5,42,0,0,3032,3034,5, -47,0,0,3033,3007,1,0,0,0,3033,3022,1,0,0,0,3034,3035,1,0,0,0,3035,3036,6, -330,2,0,3036,663,1,0,0,0,3037,3039,7,11,0,0,3038,3037,1,0,0,0,3039,3040, -1,0,0,0,3040,3038,1,0,0,0,3040,3041,1,0,0,0,3041,3042,1,0,0,0,3042,3043, -6,331,2,0,3043,665,1,0,0,0,3044,3045,9,0,0,0,3045,667,1,0,0,0,3046,3048, -8,12,0,0,3047,3046,1,0,0,0,3048,3049,1,0,0,0,3049,3047,1,0,0,0,3049,3050, -1,0,0,0,3050,3059,1,0,0,0,3051,3055,5,36,0,0,3052,3054,8,12,0,0,3053,3052, -1,0,0,0,3054,3057,1,0,0,0,3055,3053,1,0,0,0,3055,3056,1,0,0,0,3056,3059, -1,0,0,0,3057,3055,1,0,0,0,3058,3047,1,0,0,0,3058,3051,1,0,0,0,3059,669,1, -0,0,0,3060,3062,5,36,0,0,3061,3063,3,654,326,0,3062,3061,1,0,0,0,3062,3063, -1,0,0,0,3063,3064,1,0,0,0,3064,3065,5,36,0,0,3065,3066,1,0,0,0,3066,3067, -4,334,0,0,3067,3068,6,334,3,0,3068,3069,1,0,0,0,3069,3070,6,334,4,0,3070, -671,1,0,0,0,41,0,1,2775,2857,2859,2872,2875,2877,2887,2895,2900,2902,2906, -2911,2917,2924,2927,2935,2939,2943,2948,2950,2957,2959,2965,2967,2976,2978, -2985,2996,3001,3013,3017,3020,3028,3033,3040,3049,3055,3058,3062,5,1,325, -0,5,1,0,0,1,0,1,334,1,4,0,0]; - - -const atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN); - -const decisionsToDFA = atn.decisionToState.map( (ds, index) => new antlr4.dfa.DFA(ds, index) ); - -export default class SqlBaseLexer extends AbstractSqlBaseLexer { - - static grammarFileName = "SqlBaseLexer.g4"; - static channelNames = [ "DEFAULT_TOKEN_CHANNEL", "HIDDEN" ]; - static modeNames = [ "DEFAULT_MODE", "DollarQuotedStringMode" ]; - static literalNames = [ null, "'AUTHORIZATION'", "'SELECT'", "'FROM'", - "'TO'", "'AS'", "'AT'", "'ALL'", "'ANY'", "'SOME'", - "'DEALLOCATE'", "'DIRECTORY'", "'DISTINCT'", "'WHERE'", - "'GROUP'", "'BY'", "'ORDER'", "'HAVING'", "'LIMIT'", - "'OFFSET'", "'OR'", "'AND'", "'IN'", "'NOT'", "'EXISTS'", - "'BETWEEN'", "'LIKE'", "'ILIKE'", "'IS'", "'NULL'", - "'TRUE'", "'FALSE'", "'IGNORE'", "'RESPECT'", "'NULLS'", - "'FETCH'", "'FIRST'", "'LAST'", "'NEXT'", "'ESCAPE'", - "'ASC'", "'DESC'", "'SUBSTRING'", "'TRIM'", "'LEADING'", - "'TRAILING'", "'BOTH'", "'FOR'", "'TIME'", "'ZONE'", - "'YEAR'", "'MONTH'", "'DAY'", "'HOUR'", "'MINUTE'", - "'SECOND'", "'CURRENT_DATE'", "'CURRENT_TIME'", - "'CURRENT_TIMESTAMP'", "'CURRENT_SCHEMA'", "'CURRENT_USER'", - "'CURRENT_ROLE'", "'SESSION_USER'", "'EXTRACT'", - "'CASE'", "'WHEN'", "'THEN'", "'ELSE'", "'END'", - "'IF'", "'INTERVAL'", "'JOIN'", "'CROSS'", "'OUTER'", - "'INNER'", "'LEFT'", "'RIGHT'", "'FULL'", "'NATURAL'", - "'USING'", "'ON'", "'OVER'", "'WINDOW'", "'PARTITION'", - "'PROMOTE'", "'RANGE'", "'ROWS'", "'UNBOUNDED'", - "'PRECEDING'", "'FOLLOWING'", "'CURRENT'", "'ROW'", - "'WITH'", "'WITHOUT'", "'RECURSIVE'", "'CREATE'", - "'BLOB'", "'TABLE'", "'SWAP'", "'GC'", "'DANGLING'", - "'ARTIFACTS'", "'DECOMMISSION'", "'CLUSTER'", "'REPOSITORY'", - "'SNAPSHOT'", "'ALTER'", "'KILL'", "'ONLY'", "'ADD'", - "'COLUMN'", "'OPEN'", "'CLOSE'", "'RENAME'", "'REROUTE'", - "'MOVE'", "'SHARD'", "'ALLOCATE'", "'REPLICA'", - "'CANCEL'", "'RETRY'", "'FAILED'", "'BOOLEAN'", - "'BYTE'", "'SHORT'", "'INTEGER'", "'INT'", "'LONG'", - "'FLOAT'", "'DOUBLE'", "'PRECISION'", "'TIMESTAMP'", - "'IP'", "'CHARACTER'", "'\"CHAR\"'", "'VARYING'", - "'OBJECT'", "'STRING'", "'GEO_POINT'", "'GEO_SHAPE'", - "'GLOBAL'", "'SESSION'", "'LOCAL'", "'BEGIN'", - "'START'", "'COMMIT'", "'WORK'", "'TRANSACTION'", - "'TRANSACTION_ISOLATION'", "'CHARACTERISTICS'", - "'ISOLATION'", "'LEVEL'", "'SERIALIZABLE'", "'REPEATABLE'", - "'COMMITTED'", "'UNCOMMITTED'", "'READ'", "'WRITE'", - "'DEFERRABLE'", "'RETURNS'", "'CALLED'", "'REPLACE'", - "'FUNCTION'", "'LANGUAGE'", "'INPUT'", "'ANALYZE'", - "'COSTS'", "'VERBOSE'", "'DISCARD'", "'PLANS'", - "'SEQUENCES'", "'TEMPORARY'", "'TEMP'", "'CONSTRAINT'", - "'CHECK'", "'DESCRIBE'", "'EXPLAIN'", "'FORMAT'", - "'TYPE'", "'TEXT'", "'GRAPHVIZ'", "'LOGICAL'", - "'DISTRIBUTED'", "'CAST'", "'TRY_CAST'", "'SHOW'", - "'TABLES'", "'SCHEMAS'", "'CATALOGS'", "'COLUMNS'", - "'PARTITIONS'", "'FUNCTIONS'", "'MATERIALIZED'", - "'VIEW'", "'OPTIMIZE'", "'REFRESH'", "'RESTORE'", - "'DROP'", "'ALIAS'", "'UNION'", "'EXCEPT'", "'INTERSECT'", - "'SYSTEM'", "'BERNOULLI'", "'TABLESAMPLE'", "'STRATIFY'", - "'INSERT'", "'INTO'", "'VALUES'", "'DELETE'", "'UPDATE'", - "'KEY'", "'DUPLICATE'", "'CONFLICT'", "'DO'", "'NOTHING'", - "'SET'", "'RESET'", "'DEFAULT'", "'COPY'", "'CLUSTERED'", - "'SHARDS'", "'PRIMARY KEY'", "'OFF'", "'FULLTEXT'", - "'FILTER'", "'PLAIN'", "'INDEX'", "'STORAGE'", - "'RETURNING'", "'DYNAMIC'", "'STRICT'", "'IGNORED'", - "'ARRAY'", "'ANALYZER'", "'EXTENDS'", "'TOKENIZER'", - "'TOKEN_FILTERS'", "'CHAR_FILTERS'", "'PARTITIONED'", - "'PREPARE'", "'TRANSIENT'", "'PERSISTENT'", "'MATCH'", - "'GENERATED'", "'ALWAYS'", "'USER'", "'ROLE'", - "'GRANT'", "'DENY'", "'REVOKE'", "'PRIVILEGES'", - "'SCHEMA'", "'RETURN'", "'SUMMARY'", "'METADATA'", - "'PUBLICATION'", "'SUBSCRIPTION'", "'CONNECTION'", - "'ENABLE'", "'DISABLE'", "'DECLARE'", "'CURSOR'", - "'ASENSITIVE'", "'INSENSITIVE'", "'BINARY'", "'NO'", - "'SCROLL'", "'HOLD'", "'ABSOLUTE'", "'FORWARD'", - "'BACKWARD'", "'RELATIVE'", "'PRIOR'", "'SERVER'", - "'FOREIGN'", "'DATA'", "'WRAPPER'", "'OPTIONS'", - "'MAPPING'", "'CASCADE'", "'RESTRICT'", "'='", - null, "'<'", "'<='", "'>'", "'>='", "'<<'", "'~'", - "'!~'", "'~*'", "'!~*'", "'+'", "'-'", "'*'", "'^'", - "'/'", "'%'", "'||'", "'::'", "';'", "':'", "','", - "'.'", "'('", "')'", "'{'", "'}'", "'['", "']'", - "'[]'", "'?'", "'$'", "'&'", "'|'", "'#'" ]; - static symbolicNames = [ null, "AUTHORIZATION", "SELECT", "FROM", "TO", - "AS", "AT", "ALL", "ANY", "SOME", "DEALLOCATE", - "DIRECTORY", "DISTINCT", "WHERE", "GROUP", "BY", - "ORDER", "HAVING", "LIMIT", "OFFSET", "OR", "AND", - "IN", "NOT", "EXISTS", "BETWEEN", "LIKE", "ILIKE", - "IS", "NULL", "TRUE", "FALSE", "IGNORE", "RESPECT", - "NULLS", "FETCH", "FIRST", "LAST", "NEXT", "ESCAPE", - "ASC", "DESC", "SUBSTRING", "TRIM", "LEADING", - "TRAILING", "BOTH", "FOR", "TIME", "ZONE", "YEAR", - "MONTH", "DAY", "HOUR", "MINUTE", "SECOND", "CURRENT_DATE", - "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_SCHEMA", - "CURRENT_USER", "CURRENT_ROLE", "SESSION_USER", - "EXTRACT", "CASE", "WHEN", "THEN", "ELSE", "END", - "IF", "INTERVAL", "JOIN", "CROSS", "OUTER", "INNER", - "LEFT", "RIGHT", "FULL", "NATURAL", "USING", "ON", - "OVER", "WINDOW", "PARTITION", "PROMOTE", "RANGE", - "ROWS", "UNBOUNDED", "PRECEDING", "FOLLOWING", - "CURRENT", "ROW", "WITH", "WITHOUT", "RECURSIVE", - "CREATE", "BLOB", "TABLE", "SWAP", "GC", "DANGLING", - "ARTIFACTS", "DECOMMISSION", "CLUSTER", "REPOSITORY", - "SNAPSHOT", "ALTER", "KILL", "ONLY", "ADD", "COLUMN", - "OPEN", "CLOSE", "RENAME", "REROUTE", "MOVE", - "SHARD", "ALLOCATE", "REPLICA", "CANCEL", "RETRY", - "FAILED", "BOOLEAN", "BYTE", "SHORT", "INTEGER", - "INT", "LONG", "FLOAT", "DOUBLE", "PRECISION", - "TIMESTAMP", "IP", "CHARACTER", "CHAR_SPECIAL", - "VARYING", "OBJECT", "STRING_TYPE", "GEO_POINT", - "GEO_SHAPE", "GLOBAL", "SESSION", "LOCAL", "BEGIN", - "START", "COMMIT", "WORK", "TRANSACTION", "TRANSACTION_ISOLATION", - "CHARACTERISTICS", "ISOLATION", "LEVEL", "SERIALIZABLE", - "REPEATABLE", "COMMITTED", "UNCOMMITTED", "READ", - "WRITE", "DEFERRABLE", "RETURNS", "CALLED", "REPLACE", - "FUNCTION", "LANGUAGE", "INPUT", "ANALYZE", "COSTS", - "VERBOSE", "DISCARD", "PLANS", "SEQUENCES", "TEMPORARY", - "TEMP", "CONSTRAINT", "CHECK", "DESCRIBE", "EXPLAIN", - "FORMAT", "TYPE", "TEXT", "GRAPHVIZ", "LOGICAL", - "DISTRIBUTED", "CAST", "TRY_CAST", "SHOW", "TABLES", - "SCHEMAS", "CATALOGS", "COLUMNS", "PARTITIONS", - "FUNCTIONS", "MATERIALIZED", "VIEW", "OPTIMIZE", - "REFRESH", "RESTORE", "DROP", "ALIAS", "UNION", - "EXCEPT", "INTERSECT", "SYSTEM", "BERNOULLI", - "TABLESAMPLE", "STRATIFY", "INSERT", "INTO", "VALUES", - "DELETE", "UPDATE", "KEY", "DUPLICATE", "CONFLICT", - "DO", "NOTHING", "SET", "RESET", "DEFAULT", "COPY", - "CLUSTERED", "SHARDS", "PRIMARY_KEY", "OFF", "FULLTEXT", - "FILTER", "PLAIN", "INDEX", "STORAGE", "RETURNING", - "DYNAMIC", "STRICT", "IGNORED", "ARRAY", "ANALYZER", - "EXTENDS", "TOKENIZER", "TOKEN_FILTERS", "CHAR_FILTERS", - "PARTITIONED", "PREPARE", "TRANSIENT", "PERSISTENT", - "MATCH", "GENERATED", "ALWAYS", "USER", "ROLE", - "GRANT", "DENY", "REVOKE", "PRIVILEGES", "SCHEMA", - "RETURN", "SUMMARY", "METADATA", "PUBLICATION", - "SUBSCRIPTION", "CONNECTION", "ENABLE", "DISABLE", - "DECLARE", "CURSOR", "ASENSITIVE", "INSENSITIVE", - "BINARY", "NO", "SCROLL", "HOLD", "ABSOLUTE", - "FORWARD", "BACKWARD", "RELATIVE", "PRIOR", "SERVER", - "FOREIGN", "DATA", "WRAPPER", "OPTIONS", "MAPPING", - "CASCADE", "RESTRICT", "EQ", "NEQ", "LT", "LTE", - "GT", "GTE", "LLT", "REGEX_MATCH", "REGEX_NO_MATCH", - "REGEX_MATCH_CI", "REGEX_NO_MATCH_CI", "PLUS", - "MINUS", "ASTERISK", "CARET", "SLASH", "PERCENT", - "CONCAT", "CAST_OPERATOR", "SEMICOLON", "COLON", - "COMMA", "DOT", "OPEN_ROUND_BRACKET", "CLOSE_ROUND_BRACKET", - "OPEN_CURLY_BRACKET", "CLOSE_CURLY_BRACKET", "OPEN_SQUARE_BRACKET", - "CLOSE_SQUARE_BRACKET", "EMPTY_SQUARE_BRACKET", - "QUESTION", "DOLLAR", "BITWISE_AND", "BITWISE_OR", - "BITWISE_XOR", "STRING", "ESCAPED_STRING", "BIT_STRING", - "INTEGER_VALUE", "DECIMAL_VALUE", "IDENTIFIER", - "DIGIT_IDENTIFIER", "QUOTED_IDENTIFIER", "BACKQUOTED_IDENTIFIER", - "BEGIN_DOLLAR_QUOTED_STRING", "COMMENT", "WS", - "UNRECOGNIZED", "DOLLAR_QUOTED_STRING_BODY", "END_DOLLAR_QUOTED_STRING" ]; - static ruleNames = [ "AUTHORIZATION", "SELECT", "FROM", "TO", "AS", "AT", - "ALL", "ANY", "SOME", "DEALLOCATE", "DIRECTORY", "DISTINCT", - "WHERE", "GROUP", "BY", "ORDER", "HAVING", "LIMIT", - "OFFSET", "OR", "AND", "IN", "NOT", "EXISTS", "BETWEEN", - "LIKE", "ILIKE", "IS", "NULL", "TRUE", "FALSE", "IGNORE", - "RESPECT", "NULLS", "FETCH", "FIRST", "LAST", "NEXT", - "ESCAPE", "ASC", "DESC", "SUBSTRING", "TRIM", "LEADING", - "TRAILING", "BOTH", "FOR", "TIME", "ZONE", "YEAR", - "MONTH", "DAY", "HOUR", "MINUTE", "SECOND", "CURRENT_DATE", - "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_SCHEMA", - "CURRENT_USER", "CURRENT_ROLE", "SESSION_USER", "EXTRACT", - "CASE", "WHEN", "THEN", "ELSE", "END", "IF", "INTERVAL", - "JOIN", "CROSS", "OUTER", "INNER", "LEFT", "RIGHT", - "FULL", "NATURAL", "USING", "ON", "OVER", "WINDOW", - "PARTITION", "PROMOTE", "RANGE", "ROWS", "UNBOUNDED", - "PRECEDING", "FOLLOWING", "CURRENT", "ROW", "WITH", - "WITHOUT", "RECURSIVE", "CREATE", "BLOB", "TABLE", - "SWAP", "GC", "DANGLING", "ARTIFACTS", "DECOMMISSION", - "CLUSTER", "REPOSITORY", "SNAPSHOT", "ALTER", "KILL", - "ONLY", "ADD", "COLUMN", "OPEN", "CLOSE", "RENAME", - "REROUTE", "MOVE", "SHARD", "ALLOCATE", "REPLICA", - "CANCEL", "RETRY", "FAILED", "BOOLEAN", "BYTE", "SHORT", - "INTEGER", "INT", "LONG", "FLOAT", "DOUBLE", "PRECISION", - "TIMESTAMP", "IP", "CHARACTER", "CHAR_SPECIAL", "VARYING", - "OBJECT", "STRING_TYPE", "GEO_POINT", "GEO_SHAPE", - "GLOBAL", "SESSION", "LOCAL", "BEGIN", "START", "COMMIT", - "WORK", "TRANSACTION", "TRANSACTION_ISOLATION", "CHARACTERISTICS", - "ISOLATION", "LEVEL", "SERIALIZABLE", "REPEATABLE", - "COMMITTED", "UNCOMMITTED", "READ", "WRITE", "DEFERRABLE", - "RETURNS", "CALLED", "REPLACE", "FUNCTION", "LANGUAGE", - "INPUT", "ANALYZE", "COSTS", "VERBOSE", "DISCARD", - "PLANS", "SEQUENCES", "TEMPORARY", "TEMP", "CONSTRAINT", - "CHECK", "DESCRIBE", "EXPLAIN", "FORMAT", "TYPE", - "TEXT", "GRAPHVIZ", "LOGICAL", "DISTRIBUTED", "CAST", - "TRY_CAST", "SHOW", "TABLES", "SCHEMAS", "CATALOGS", - "COLUMNS", "PARTITIONS", "FUNCTIONS", "MATERIALIZED", - "VIEW", "OPTIMIZE", "REFRESH", "RESTORE", "DROP", - "ALIAS", "UNION", "EXCEPT", "INTERSECT", "SYSTEM", - "BERNOULLI", "TABLESAMPLE", "STRATIFY", "INSERT", - "INTO", "VALUES", "DELETE", "UPDATE", "KEY", "DUPLICATE", - "CONFLICT", "DO", "NOTHING", "SET", "RESET", "DEFAULT", - "COPY", "CLUSTERED", "SHARDS", "PRIMARY_KEY", "OFF", - "FULLTEXT", "FILTER", "PLAIN", "INDEX", "STORAGE", - "RETURNING", "DYNAMIC", "STRICT", "IGNORED", "ARRAY", - "ANALYZER", "EXTENDS", "TOKENIZER", "TOKEN_FILTERS", - "CHAR_FILTERS", "PARTITIONED", "PREPARE", "TRANSIENT", - "PERSISTENT", "MATCH", "GENERATED", "ALWAYS", "USER", - "ROLE", "GRANT", "DENY", "REVOKE", "PRIVILEGES", "SCHEMA", - "RETURN", "SUMMARY", "METADATA", "PUBLICATION", "SUBSCRIPTION", - "CONNECTION", "ENABLE", "DISABLE", "DECLARE", "CURSOR", - "ASENSITIVE", "INSENSITIVE", "BINARY", "NO", "SCROLL", - "HOLD", "ABSOLUTE", "FORWARD", "BACKWARD", "RELATIVE", - "PRIOR", "SERVER", "FOREIGN", "DATA", "WRAPPER", "OPTIONS", - "MAPPING", "CASCADE", "RESTRICT", "EQ", "NEQ", "LT", - "LTE", "GT", "GTE", "LLT", "REGEX_MATCH", "REGEX_NO_MATCH", - "REGEX_MATCH_CI", "REGEX_NO_MATCH_CI", "PLUS", "MINUS", - "ASTERISK", "CARET", "SLASH", "PERCENT", "CONCAT", - "CAST_OPERATOR", "SEMICOLON", "COLON", "COMMA", "DOT", - "OPEN_ROUND_BRACKET", "CLOSE_ROUND_BRACKET", "OPEN_CURLY_BRACKET", - "CLOSE_CURLY_BRACKET", "OPEN_SQUARE_BRACKET", "CLOSE_SQUARE_BRACKET", - "EMPTY_SQUARE_BRACKET", "QUESTION", "DOLLAR", "BITWISE_AND", - "BITWISE_OR", "BITWISE_XOR", "STRING", "ESCAPED_STRING", - "BIT_STRING", "INTEGER_VALUE", "DECIMAL_VALUE", "IDENTIFIER", - "DIGIT_IDENTIFIER", "QUOTED_IDENTIFIER", "BACKQUOTED_IDENTIFIER", - "BEGIN_DOLLAR_QUOTED_STRING", "TAG", "EXPONENT", "DIGIT", - "LETTER", "COMMENT", "WS", "UNRECOGNIZED", "DOLLAR_QUOTED_STRING_BODY", - "END_DOLLAR_QUOTED_STRING" ]; - - constructor(input) { - super(input) - this._interp = new antlr4.atn.LexerATNSimulator(this, atn, decisionsToDFA, new antlr4.atn.PredictionContextCache()); - } -} - -SqlBaseLexer.EOF = antlr4.Token.EOF; -SqlBaseLexer.AUTHORIZATION = 1; -SqlBaseLexer.SELECT = 2; -SqlBaseLexer.FROM = 3; -SqlBaseLexer.TO = 4; -SqlBaseLexer.AS = 5; -SqlBaseLexer.AT = 6; -SqlBaseLexer.ALL = 7; -SqlBaseLexer.ANY = 8; -SqlBaseLexer.SOME = 9; -SqlBaseLexer.DEALLOCATE = 10; -SqlBaseLexer.DIRECTORY = 11; -SqlBaseLexer.DISTINCT = 12; -SqlBaseLexer.WHERE = 13; -SqlBaseLexer.GROUP = 14; -SqlBaseLexer.BY = 15; -SqlBaseLexer.ORDER = 16; -SqlBaseLexer.HAVING = 17; -SqlBaseLexer.LIMIT = 18; -SqlBaseLexer.OFFSET = 19; -SqlBaseLexer.OR = 20; -SqlBaseLexer.AND = 21; -SqlBaseLexer.IN = 22; -SqlBaseLexer.NOT = 23; -SqlBaseLexer.EXISTS = 24; -SqlBaseLexer.BETWEEN = 25; -SqlBaseLexer.LIKE = 26; -SqlBaseLexer.ILIKE = 27; -SqlBaseLexer.IS = 28; -SqlBaseLexer.NULL = 29; -SqlBaseLexer.TRUE = 30; -SqlBaseLexer.FALSE = 31; -SqlBaseLexer.IGNORE = 32; -SqlBaseLexer.RESPECT = 33; -SqlBaseLexer.NULLS = 34; -SqlBaseLexer.FETCH = 35; -SqlBaseLexer.FIRST = 36; -SqlBaseLexer.LAST = 37; -SqlBaseLexer.NEXT = 38; -SqlBaseLexer.ESCAPE = 39; -SqlBaseLexer.ASC = 40; -SqlBaseLexer.DESC = 41; -SqlBaseLexer.SUBSTRING = 42; -SqlBaseLexer.TRIM = 43; -SqlBaseLexer.LEADING = 44; -SqlBaseLexer.TRAILING = 45; -SqlBaseLexer.BOTH = 46; -SqlBaseLexer.FOR = 47; -SqlBaseLexer.TIME = 48; -SqlBaseLexer.ZONE = 49; -SqlBaseLexer.YEAR = 50; -SqlBaseLexer.MONTH = 51; -SqlBaseLexer.DAY = 52; -SqlBaseLexer.HOUR = 53; -SqlBaseLexer.MINUTE = 54; -SqlBaseLexer.SECOND = 55; -SqlBaseLexer.CURRENT_DATE = 56; -SqlBaseLexer.CURRENT_TIME = 57; -SqlBaseLexer.CURRENT_TIMESTAMP = 58; -SqlBaseLexer.CURRENT_SCHEMA = 59; -SqlBaseLexer.CURRENT_USER = 60; -SqlBaseLexer.CURRENT_ROLE = 61; -SqlBaseLexer.SESSION_USER = 62; -SqlBaseLexer.EXTRACT = 63; -SqlBaseLexer.CASE = 64; -SqlBaseLexer.WHEN = 65; -SqlBaseLexer.THEN = 66; -SqlBaseLexer.ELSE = 67; -SqlBaseLexer.END = 68; -SqlBaseLexer.IF = 69; -SqlBaseLexer.INTERVAL = 70; -SqlBaseLexer.JOIN = 71; -SqlBaseLexer.CROSS = 72; -SqlBaseLexer.OUTER = 73; -SqlBaseLexer.INNER = 74; -SqlBaseLexer.LEFT = 75; -SqlBaseLexer.RIGHT = 76; -SqlBaseLexer.FULL = 77; -SqlBaseLexer.NATURAL = 78; -SqlBaseLexer.USING = 79; -SqlBaseLexer.ON = 80; -SqlBaseLexer.OVER = 81; -SqlBaseLexer.WINDOW = 82; -SqlBaseLexer.PARTITION = 83; -SqlBaseLexer.PROMOTE = 84; -SqlBaseLexer.RANGE = 85; -SqlBaseLexer.ROWS = 86; -SqlBaseLexer.UNBOUNDED = 87; -SqlBaseLexer.PRECEDING = 88; -SqlBaseLexer.FOLLOWING = 89; -SqlBaseLexer.CURRENT = 90; -SqlBaseLexer.ROW = 91; -SqlBaseLexer.WITH = 92; -SqlBaseLexer.WITHOUT = 93; -SqlBaseLexer.RECURSIVE = 94; -SqlBaseLexer.CREATE = 95; -SqlBaseLexer.BLOB = 96; -SqlBaseLexer.TABLE = 97; -SqlBaseLexer.SWAP = 98; -SqlBaseLexer.GC = 99; -SqlBaseLexer.DANGLING = 100; -SqlBaseLexer.ARTIFACTS = 101; -SqlBaseLexer.DECOMMISSION = 102; -SqlBaseLexer.CLUSTER = 103; -SqlBaseLexer.REPOSITORY = 104; -SqlBaseLexer.SNAPSHOT = 105; -SqlBaseLexer.ALTER = 106; -SqlBaseLexer.KILL = 107; -SqlBaseLexer.ONLY = 108; -SqlBaseLexer.ADD = 109; -SqlBaseLexer.COLUMN = 110; -SqlBaseLexer.OPEN = 111; -SqlBaseLexer.CLOSE = 112; -SqlBaseLexer.RENAME = 113; -SqlBaseLexer.REROUTE = 114; -SqlBaseLexer.MOVE = 115; -SqlBaseLexer.SHARD = 116; -SqlBaseLexer.ALLOCATE = 117; -SqlBaseLexer.REPLICA = 118; -SqlBaseLexer.CANCEL = 119; -SqlBaseLexer.RETRY = 120; -SqlBaseLexer.FAILED = 121; -SqlBaseLexer.BOOLEAN = 122; -SqlBaseLexer.BYTE = 123; -SqlBaseLexer.SHORT = 124; -SqlBaseLexer.INTEGER = 125; -SqlBaseLexer.INT = 126; -SqlBaseLexer.LONG = 127; -SqlBaseLexer.FLOAT = 128; -SqlBaseLexer.DOUBLE = 129; -SqlBaseLexer.PRECISION = 130; -SqlBaseLexer.TIMESTAMP = 131; -SqlBaseLexer.IP = 132; -SqlBaseLexer.CHARACTER = 133; -SqlBaseLexer.CHAR_SPECIAL = 134; -SqlBaseLexer.VARYING = 135; -SqlBaseLexer.OBJECT = 136; -SqlBaseLexer.STRING_TYPE = 137; -SqlBaseLexer.GEO_POINT = 138; -SqlBaseLexer.GEO_SHAPE = 139; -SqlBaseLexer.GLOBAL = 140; -SqlBaseLexer.SESSION = 141; -SqlBaseLexer.LOCAL = 142; -SqlBaseLexer.BEGIN = 143; -SqlBaseLexer.START = 144; -SqlBaseLexer.COMMIT = 145; -SqlBaseLexer.WORK = 146; -SqlBaseLexer.TRANSACTION = 147; -SqlBaseLexer.TRANSACTION_ISOLATION = 148; -SqlBaseLexer.CHARACTERISTICS = 149; -SqlBaseLexer.ISOLATION = 150; -SqlBaseLexer.LEVEL = 151; -SqlBaseLexer.SERIALIZABLE = 152; -SqlBaseLexer.REPEATABLE = 153; -SqlBaseLexer.COMMITTED = 154; -SqlBaseLexer.UNCOMMITTED = 155; -SqlBaseLexer.READ = 156; -SqlBaseLexer.WRITE = 157; -SqlBaseLexer.DEFERRABLE = 158; -SqlBaseLexer.RETURNS = 159; -SqlBaseLexer.CALLED = 160; -SqlBaseLexer.REPLACE = 161; -SqlBaseLexer.FUNCTION = 162; -SqlBaseLexer.LANGUAGE = 163; -SqlBaseLexer.INPUT = 164; -SqlBaseLexer.ANALYZE = 165; -SqlBaseLexer.COSTS = 166; -SqlBaseLexer.VERBOSE = 167; -SqlBaseLexer.DISCARD = 168; -SqlBaseLexer.PLANS = 169; -SqlBaseLexer.SEQUENCES = 170; -SqlBaseLexer.TEMPORARY = 171; -SqlBaseLexer.TEMP = 172; -SqlBaseLexer.CONSTRAINT = 173; -SqlBaseLexer.CHECK = 174; -SqlBaseLexer.DESCRIBE = 175; -SqlBaseLexer.EXPLAIN = 176; -SqlBaseLexer.FORMAT = 177; -SqlBaseLexer.TYPE = 178; -SqlBaseLexer.TEXT = 179; -SqlBaseLexer.GRAPHVIZ = 180; -SqlBaseLexer.LOGICAL = 181; -SqlBaseLexer.DISTRIBUTED = 182; -SqlBaseLexer.CAST = 183; -SqlBaseLexer.TRY_CAST = 184; -SqlBaseLexer.SHOW = 185; -SqlBaseLexer.TABLES = 186; -SqlBaseLexer.SCHEMAS = 187; -SqlBaseLexer.CATALOGS = 188; -SqlBaseLexer.COLUMNS = 189; -SqlBaseLexer.PARTITIONS = 190; -SqlBaseLexer.FUNCTIONS = 191; -SqlBaseLexer.MATERIALIZED = 192; -SqlBaseLexer.VIEW = 193; -SqlBaseLexer.OPTIMIZE = 194; -SqlBaseLexer.REFRESH = 195; -SqlBaseLexer.RESTORE = 196; -SqlBaseLexer.DROP = 197; -SqlBaseLexer.ALIAS = 198; -SqlBaseLexer.UNION = 199; -SqlBaseLexer.EXCEPT = 200; -SqlBaseLexer.INTERSECT = 201; -SqlBaseLexer.SYSTEM = 202; -SqlBaseLexer.BERNOULLI = 203; -SqlBaseLexer.TABLESAMPLE = 204; -SqlBaseLexer.STRATIFY = 205; -SqlBaseLexer.INSERT = 206; -SqlBaseLexer.INTO = 207; -SqlBaseLexer.VALUES = 208; -SqlBaseLexer.DELETE = 209; -SqlBaseLexer.UPDATE = 210; -SqlBaseLexer.KEY = 211; -SqlBaseLexer.DUPLICATE = 212; -SqlBaseLexer.CONFLICT = 213; -SqlBaseLexer.DO = 214; -SqlBaseLexer.NOTHING = 215; -SqlBaseLexer.SET = 216; -SqlBaseLexer.RESET = 217; -SqlBaseLexer.DEFAULT = 218; -SqlBaseLexer.COPY = 219; -SqlBaseLexer.CLUSTERED = 220; -SqlBaseLexer.SHARDS = 221; -SqlBaseLexer.PRIMARY_KEY = 222; -SqlBaseLexer.OFF = 223; -SqlBaseLexer.FULLTEXT = 224; -SqlBaseLexer.FILTER = 225; -SqlBaseLexer.PLAIN = 226; -SqlBaseLexer.INDEX = 227; -SqlBaseLexer.STORAGE = 228; -SqlBaseLexer.RETURNING = 229; -SqlBaseLexer.DYNAMIC = 230; -SqlBaseLexer.STRICT = 231; -SqlBaseLexer.IGNORED = 232; -SqlBaseLexer.ARRAY = 233; -SqlBaseLexer.ANALYZER = 234; -SqlBaseLexer.EXTENDS = 235; -SqlBaseLexer.TOKENIZER = 236; -SqlBaseLexer.TOKEN_FILTERS = 237; -SqlBaseLexer.CHAR_FILTERS = 238; -SqlBaseLexer.PARTITIONED = 239; -SqlBaseLexer.PREPARE = 240; -SqlBaseLexer.TRANSIENT = 241; -SqlBaseLexer.PERSISTENT = 242; -SqlBaseLexer.MATCH = 243; -SqlBaseLexer.GENERATED = 244; -SqlBaseLexer.ALWAYS = 245; -SqlBaseLexer.USER = 246; -SqlBaseLexer.ROLE = 247; -SqlBaseLexer.GRANT = 248; -SqlBaseLexer.DENY = 249; -SqlBaseLexer.REVOKE = 250; -SqlBaseLexer.PRIVILEGES = 251; -SqlBaseLexer.SCHEMA = 252; -SqlBaseLexer.RETURN = 253; -SqlBaseLexer.SUMMARY = 254; -SqlBaseLexer.METADATA = 255; -SqlBaseLexer.PUBLICATION = 256; -SqlBaseLexer.SUBSCRIPTION = 257; -SqlBaseLexer.CONNECTION = 258; -SqlBaseLexer.ENABLE = 259; -SqlBaseLexer.DISABLE = 260; -SqlBaseLexer.DECLARE = 261; -SqlBaseLexer.CURSOR = 262; -SqlBaseLexer.ASENSITIVE = 263; -SqlBaseLexer.INSENSITIVE = 264; -SqlBaseLexer.BINARY = 265; -SqlBaseLexer.NO = 266; -SqlBaseLexer.SCROLL = 267; -SqlBaseLexer.HOLD = 268; -SqlBaseLexer.ABSOLUTE = 269; -SqlBaseLexer.FORWARD = 270; -SqlBaseLexer.BACKWARD = 271; -SqlBaseLexer.RELATIVE = 272; -SqlBaseLexer.PRIOR = 273; -SqlBaseLexer.SERVER = 274; -SqlBaseLexer.FOREIGN = 275; -SqlBaseLexer.DATA = 276; -SqlBaseLexer.WRAPPER = 277; -SqlBaseLexer.OPTIONS = 278; -SqlBaseLexer.MAPPING = 279; -SqlBaseLexer.CASCADE = 280; -SqlBaseLexer.RESTRICT = 281; -SqlBaseLexer.EQ = 282; -SqlBaseLexer.NEQ = 283; -SqlBaseLexer.LT = 284; -SqlBaseLexer.LTE = 285; -SqlBaseLexer.GT = 286; -SqlBaseLexer.GTE = 287; -SqlBaseLexer.LLT = 288; -SqlBaseLexer.REGEX_MATCH = 289; -SqlBaseLexer.REGEX_NO_MATCH = 290; -SqlBaseLexer.REGEX_MATCH_CI = 291; -SqlBaseLexer.REGEX_NO_MATCH_CI = 292; -SqlBaseLexer.PLUS = 293; -SqlBaseLexer.MINUS = 294; -SqlBaseLexer.ASTERISK = 295; -SqlBaseLexer.CARET = 296; -SqlBaseLexer.SLASH = 297; -SqlBaseLexer.PERCENT = 298; -SqlBaseLexer.CONCAT = 299; -SqlBaseLexer.CAST_OPERATOR = 300; -SqlBaseLexer.SEMICOLON = 301; -SqlBaseLexer.COLON = 302; -SqlBaseLexer.COMMA = 303; -SqlBaseLexer.DOT = 304; -SqlBaseLexer.OPEN_ROUND_BRACKET = 305; -SqlBaseLexer.CLOSE_ROUND_BRACKET = 306; -SqlBaseLexer.OPEN_CURLY_BRACKET = 307; -SqlBaseLexer.CLOSE_CURLY_BRACKET = 308; -SqlBaseLexer.OPEN_SQUARE_BRACKET = 309; -SqlBaseLexer.CLOSE_SQUARE_BRACKET = 310; -SqlBaseLexer.EMPTY_SQUARE_BRACKET = 311; -SqlBaseLexer.QUESTION = 312; -SqlBaseLexer.DOLLAR = 313; -SqlBaseLexer.BITWISE_AND = 314; -SqlBaseLexer.BITWISE_OR = 315; -SqlBaseLexer.BITWISE_XOR = 316; -SqlBaseLexer.STRING = 317; -SqlBaseLexer.ESCAPED_STRING = 318; -SqlBaseLexer.BIT_STRING = 319; -SqlBaseLexer.INTEGER_VALUE = 320; -SqlBaseLexer.DECIMAL_VALUE = 321; -SqlBaseLexer.IDENTIFIER = 322; -SqlBaseLexer.DIGIT_IDENTIFIER = 323; -SqlBaseLexer.QUOTED_IDENTIFIER = 324; -SqlBaseLexer.BACKQUOTED_IDENTIFIER = 325; -SqlBaseLexer.BEGIN_DOLLAR_QUOTED_STRING = 326; -SqlBaseLexer.COMMENT = 327; -SqlBaseLexer.WS = 328; -SqlBaseLexer.UNRECOGNIZED = 329; -SqlBaseLexer.DOLLAR_QUOTED_STRING_BODY = 330; -SqlBaseLexer.END_DOLLAR_QUOTED_STRING = 331; - -SqlBaseLexer.DollarQuotedStringMode = 1; - - -SqlBaseLexer.prototype.action = function(localctx, ruleIndex, actionIndex) { - switch (ruleIndex) { - case 325: - this.BEGIN_DOLLAR_QUOTED_STRING_action(localctx, actionIndex); - break; - case 334: - this.END_DOLLAR_QUOTED_STRING_action(localctx, actionIndex); - break; - default: - throw "No registered action for:" + ruleIndex; - } -}; - - -SqlBaseLexer.prototype.BEGIN_DOLLAR_QUOTED_STRING_action = function(localctx , actionIndex) { - switch (actionIndex) { - case 0: - pushTag(); - break; - default: - throw "No registered action for:" + actionIndex; - } -}; - -SqlBaseLexer.prototype.END_DOLLAR_QUOTED_STRING_action = function(localctx , actionIndex) { - switch (actionIndex) { - case 1: - popTag(); - break; - default: - throw "No registered action for:" + actionIndex; - } -}; -SqlBaseLexer.prototype.sempred = function(localctx, ruleIndex, predIndex) { - switch (ruleIndex) { - case 334: - return this.END_DOLLAR_QUOTED_STRING_sempred(localctx, predIndex); - default: - throw "No registered predicate for:" + ruleIndex; - } -}; - -SqlBaseLexer.prototype.END_DOLLAR_QUOTED_STRING_sempred = function(localctx, predIndex) { - switch(predIndex) { - case 0: - return isTag(); - default: - throw "No predicate with index:" + predIndex; - } -}; - - - - diff --git a/cratedb_sqlparse_js/parser/generated_parser/SqlBaseParser.js b/cratedb_sqlparse_js/parser/generated_parser/SqlBaseParser.js deleted file mode 100644 index 5153718..0000000 --- a/cratedb_sqlparse_js/parser/generated_parser/SqlBaseParser.js +++ /dev/null @@ -1,30048 +0,0 @@ -// Generated from SqlBaseParser.g4 by ANTLR 4.13.1 -// jshint ignore: start -import antlr4 from 'antlr4'; -import SqlBaseParserListener from './SqlBaseParserListener.js'; -const serializedATN = [4,1,331,2621,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4, -7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12, -2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2, -20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27, -7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7, -34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41, -2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2, -49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56, -7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7, -63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70, -2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2, -78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85, -7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7, -92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99, -2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105, -2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111, -2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117, -2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123, -2,124,7,124,1,0,1,0,1,0,5,0,254,8,0,10,0,12,0,257,9,0,1,0,3,0,260,8,0,1, -0,1,0,1,1,1,1,3,1,266,8,1,1,1,1,1,1,2,1,2,1,2,1,3,1,3,1,3,3,3,276,8,3,1, -3,1,3,3,3,280,8,3,1,3,5,3,283,8,3,10,3,12,3,286,9,3,3,3,288,8,3,1,3,1,3, -1,3,1,3,3,3,294,8,3,1,3,5,3,297,8,3,10,3,12,3,300,9,3,3,3,302,8,3,1,3,1, -3,3,3,306,8,3,1,3,1,3,3,3,310,8,3,1,3,1,3,1,3,1,3,5,3,316,8,3,10,3,12,3, -319,9,3,3,3,321,8,3,1,3,1,3,1,3,1,3,1,3,3,3,328,8,3,1,3,1,3,1,3,1,3,1,3, -1,3,1,3,1,3,1,3,5,3,339,8,3,10,3,12,3,342,9,3,1,3,3,3,345,8,3,1,3,3,3,348, -8,3,1,3,1,3,1,3,1,3,3,3,354,8,3,1,3,1,3,1,3,1,3,1,3,3,3,361,8,3,1,3,1,3, -1,3,1,3,1,3,1,3,1,3,1,3,3,3,371,8,3,1,3,1,3,1,3,3,3,376,8,3,1,3,1,3,1,3, -1,3,1,3,3,3,383,8,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,391,8,3,1,3,1,3,1,3,3,3, -396,8,3,1,3,1,3,1,3,3,3,401,8,3,1,3,1,3,1,3,1,3,1,3,1,3,5,3,409,8,3,10,3, -12,3,412,9,3,1,3,1,3,1,3,1,3,3,3,418,8,3,1,3,1,3,1,3,1,3,5,3,424,8,3,10, -3,12,3,427,9,3,1,3,1,3,3,3,431,8,3,1,3,1,3,1,3,1,3,3,3,437,8,3,1,3,1,3,1, -3,1,3,1,3,3,3,444,8,3,1,3,1,3,1,3,1,3,1,3,1,3,5,3,452,8,3,10,3,12,3,455, -9,3,3,3,457,8,3,1,3,1,3,1,3,3,3,462,8,3,1,3,1,3,1,3,5,3,467,8,3,10,3,12, -3,470,9,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,478,8,3,1,3,1,3,1,3,3,3,483,8,3,1, -3,1,3,1,3,1,3,1,3,1,3,1,3,5,3,492,8,3,10,3,12,3,495,9,3,1,3,1,3,3,3,499, -8,3,1,3,1,3,3,3,503,8,3,1,3,3,3,506,8,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3, -3,3,516,8,3,1,3,3,3,519,8,3,1,3,1,3,1,3,1,3,1,3,1,3,5,3,527,8,3,10,3,12, -3,530,9,3,1,3,1,3,3,3,534,8,3,1,3,1,3,1,3,3,3,539,8,3,1,3,1,3,3,3,543,8, -3,1,3,1,3,1,3,3,3,548,8,3,1,3,3,3,551,8,3,1,3,1,3,3,3,555,8,3,1,3,1,3,3, -3,559,8,3,1,3,1,3,1,3,1,3,1,3,3,3,566,8,3,3,3,568,8,3,1,3,1,3,1,3,1,3,3, -3,574,8,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,582,8,3,3,3,584,8,3,1,3,1,3,1,3,1, -3,3,3,590,8,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,598,8,3,3,3,600,8,3,1,3,1,3,1, -3,1,3,3,3,606,8,3,1,3,1,3,1,3,1,3,1,3,3,3,613,8,3,1,3,1,3,3,3,617,8,3,1, -3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,628,8,3,1,3,1,3,1,3,1,3,1,3,3,3,635, -8,3,1,3,3,3,638,8,3,1,3,1,3,1,3,1,3,3,3,644,8,3,3,3,646,8,3,1,4,1,4,1,4, -1,4,1,4,3,4,653,8,4,1,4,1,4,1,4,1,4,1,4,3,4,660,8,4,1,4,1,4,1,4,1,4,1,4, -1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,3,4,676,8,4,1,4,1,4,1,4,1,4,1,4,5,4, -683,8,4,10,4,12,4,686,9,4,3,4,688,8,4,1,4,1,4,1,4,1,4,1,4,1,4,3,4,696,8, -4,1,4,1,4,1,4,1,4,1,4,3,4,703,8,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,3,4,713, -8,4,1,4,1,4,1,4,1,4,1,4,3,4,720,8,4,1,4,1,4,1,4,1,4,1,4,3,4,727,8,4,1,4, -1,4,3,4,731,8,4,1,4,1,4,1,4,1,4,1,4,3,4,738,8,4,1,4,1,4,3,4,742,8,4,1,4, -1,4,1,4,1,4,1,4,3,4,749,8,4,1,4,1,4,1,4,1,4,1,4,3,4,756,8,4,1,5,1,5,1,5, -1,5,1,5,1,5,5,5,764,8,5,10,5,12,5,767,9,5,1,5,1,5,1,5,1,5,1,5,1,5,5,5,775, -8,5,10,5,12,5,778,9,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1, -5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,5,5,800,8,5,10,5,12,5,803,9,5,1,5,1,5,3,5, -807,8,5,3,5,809,8,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5, -1,5,5,5,825,8,5,10,5,12,5,828,9,5,1,5,1,5,3,5,832,8,5,3,5,834,8,5,1,5,1, -5,3,5,838,8,5,1,5,1,5,1,5,1,5,1,5,1,5,3,5,846,8,5,1,5,1,5,1,5,1,5,1,5,1, -5,1,5,1,5,3,5,856,8,5,1,5,1,5,1,5,1,5,3,5,862,8,5,1,5,1,5,1,5,1,5,1,5,1, -5,3,5,870,8,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1, -5,1,5,1,5,1,5,3,5,890,8,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1, -5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,3,5,916,8,5,1,5,1,5,1, -5,3,5,921,8,5,5,5,923,8,5,10,5,12,5,926,9,5,1,5,1,5,1,5,1,5,1,5,3,5,933, -8,5,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,3,6,944,8,6,1,7,3,7,947,8,7,1,7, -1,7,1,8,1,8,1,8,1,8,1,8,1,8,5,8,957,8,8,10,8,12,8,960,9,8,3,8,962,8,8,1, -8,3,8,965,8,8,1,8,3,8,968,8,8,1,8,3,8,971,8,8,1,8,3,8,974,8,8,3,8,976,8, -8,1,9,1,9,1,9,3,9,981,8,9,1,9,1,9,1,9,1,9,1,9,1,9,3,9,989,8,9,1,10,1,10, -1,10,3,10,994,8,10,1,11,1,11,1,11,1,11,1,11,1,11,3,11,1002,8,11,1,11,1,11, -1,11,3,11,1007,8,11,1,11,5,11,1010,8,11,10,11,12,11,1013,9,11,1,12,1,12, -1,13,1,13,3,13,1019,8,13,1,13,1,13,3,13,1023,8,13,1,14,1,14,3,14,1027,8, -14,1,14,1,14,1,14,5,14,1032,8,14,10,14,12,14,1035,9,14,1,14,1,14,1,14,1, -14,5,14,1041,8,14,10,14,12,14,1044,9,14,3,14,1046,8,14,1,14,3,14,1049,8, -14,1,14,1,14,1,14,1,14,1,14,5,14,1056,8,14,10,14,12,14,1059,9,14,3,14,1061, -8,14,1,14,1,14,3,14,1065,8,14,1,14,1,14,1,14,1,14,5,14,1071,8,14,10,14,12, -14,1074,9,14,3,14,1076,8,14,1,14,1,14,1,14,1,14,5,14,1082,8,14,10,14,12, -14,1085,9,14,3,14,1087,8,14,1,15,1,15,3,15,1091,8,15,1,15,3,15,1094,8,15, -1,15,1,15,1,15,1,15,1,15,3,15,1101,8,15,1,16,1,16,1,16,1,17,1,17,1,17,1, -17,5,17,1110,8,17,10,17,12,17,1113,9,17,1,18,1,18,1,18,1,18,1,18,1,19,1, -19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19, -1,19,3,19,1137,8,19,5,19,1139,8,19,10,19,12,19,1142,9,19,1,20,3,20,1145, -8,20,1,20,1,20,3,20,1149,8,20,1,20,1,20,3,20,1153,8,20,1,20,1,20,3,20,1157, -8,20,3,20,1159,8,20,1,21,1,21,1,21,1,21,1,21,1,21,1,21,5,21,1168,8,21,10, -21,12,21,1171,9,21,1,21,1,21,3,21,1175,8,21,1,22,1,22,3,22,1179,8,22,1,22, -1,22,3,22,1183,8,22,3,22,1185,8,22,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1, -23,1,23,3,23,1196,8,23,1,24,1,24,1,24,1,24,1,24,1,24,5,24,1204,8,24,10,24, -12,24,1207,9,24,1,24,1,24,3,24,1211,8,24,1,25,1,25,1,25,1,25,3,25,1217,8, -25,1,25,1,25,5,25,1221,8,25,10,25,12,25,1224,9,25,1,25,1,25,3,25,1228,8, -25,1,26,1,26,1,26,1,26,5,26,1234,8,26,10,26,12,26,1237,9,26,1,26,1,26,1, -27,1,27,1,27,1,27,5,27,1245,8,27,10,27,12,27,1248,9,27,1,28,1,28,3,28,1252, -8,28,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,30,1,30,1,30,1,30,1,30,1,30,1, -30,1,30,1,30,1,30,1,30,1,30,1,30,3,30,1274,8,30,3,30,1276,8,30,3,30,1278, -8,30,1,30,1,30,1,30,1,30,1,30,1,30,5,30,1286,8,30,10,30,12,30,1289,9,30, -1,31,1,31,3,31,1293,8,31,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,3,32,1303, -8,32,1,32,1,32,1,32,1,32,1,32,1,32,3,32,1311,8,32,1,32,1,32,1,32,1,32,1, -32,5,32,1318,8,32,10,32,12,32,1321,9,32,1,32,1,32,1,32,3,32,1326,8,32,1, -32,1,32,1,32,3,32,1331,8,32,1,32,1,32,1,32,1,32,3,32,1337,8,32,1,32,3,32, -1340,8,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,3,32,1349,8,32,1,32,1,32,3, -32,1353,8,32,1,32,1,32,1,32,3,32,1358,8,32,1,32,1,32,1,32,3,32,1363,8,32, -1,33,1,33,1,33,1,33,1,33,1,33,1,33,3,33,1372,8,33,1,33,1,33,1,33,1,33,1, -33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,5,33,1389,8,33,10,33, -12,33,1392,9,33,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,3,34,1402,8,34,1, -34,3,34,1405,8,34,1,34,1,34,1,34,1,34,3,34,1411,8,34,1,34,1,34,1,34,5,34, -1416,8,34,10,34,12,34,1419,9,34,3,34,1421,8,34,1,34,1,34,3,34,1425,8,34, -1,34,1,34,3,34,1429,8,34,1,34,3,34,1432,8,34,1,34,1,34,1,34,1,34,1,34,1, -34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,5,34, -1453,8,34,10,34,12,34,1456,9,34,1,34,3,34,1459,8,34,1,34,3,34,1462,8,34, -1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,3,34,1477, -8,34,1,34,1,34,3,34,1481,8,34,1,34,1,34,1,34,1,34,5,34,1487,8,34,10,34,12, -34,1490,9,34,1,35,1,35,1,35,1,35,1,35,1,35,3,35,1498,8,35,1,35,1,35,1,35, -1,35,1,35,3,35,1505,8,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1, -35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35, -3,35,1531,8,35,1,35,1,35,1,35,1,35,1,35,3,35,1538,8,35,1,35,3,35,1541,8, -35,1,35,3,35,1544,8,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35, -1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1, -35,1,35,1,35,4,35,1573,8,35,11,35,12,35,1574,1,35,1,35,3,35,1579,8,35,1, -35,1,35,1,35,1,35,4,35,1585,8,35,11,35,12,35,1586,1,35,1,35,3,35,1591,8, -35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,3,35,1602,8,35,1,35,1,35, -1,35,1,35,3,35,1608,8,35,1,36,1,36,1,36,1,36,1,37,1,37,3,37,1616,8,37,1, -37,1,37,1,37,1,37,5,37,1622,8,37,10,37,12,37,1625,9,37,3,37,1627,8,37,1, -37,1,37,1,37,1,37,1,37,5,37,1634,8,37,10,37,12,37,1637,9,37,3,37,1639,8, -37,1,37,3,37,1642,8,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,3,38,1652, -8,38,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1, -39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,3,39,1675,8,39,1,40,1,40,3,40,1679, -8,40,1,41,1,41,3,41,1683,8,41,1,42,1,42,1,42,3,42,1688,8,42,1,43,1,43,1, -44,1,44,1,45,1,45,5,45,1696,8,45,10,45,12,45,1699,9,45,1,45,1,45,1,46,1, -46,3,46,1705,8,46,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,5,48, -1717,8,48,10,48,12,48,1720,9,48,1,49,1,49,1,50,1,50,1,51,1,51,1,51,1,51, -1,51,1,52,1,52,1,52,1,52,1,53,1,53,1,53,1,54,1,54,1,54,3,54,1741,8,54,1, -54,1,54,1,54,1,54,1,54,5,54,1748,8,54,10,54,12,54,1751,9,54,3,54,1753,8, -54,1,54,1,54,1,54,1,54,1,54,5,54,1760,8,54,10,54,12,54,1763,9,54,3,54,1765, -8,54,1,54,3,54,1768,8,54,1,54,3,54,1771,8,54,1,55,1,55,1,55,1,55,1,55,1, -55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,3,55,1789,8,55,1,56, -1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,3,56,1800,8,56,1,57,1,57,1,57,5, -57,1805,8,57,10,57,12,57,1808,9,57,1,58,1,58,1,58,5,58,1813,8,58,10,58,12, -58,1816,9,58,1,59,1,59,5,59,1820,8,59,10,59,12,59,1823,9,59,1,60,1,60,3, -60,1827,8,60,1,61,1,61,1,61,5,61,1832,8,61,10,61,12,61,1835,9,61,1,62,1, -62,3,62,1839,8,62,1,63,1,63,1,63,3,63,1844,8,63,1,64,1,64,3,64,1848,8,64, -1,65,1,65,3,65,1852,8,65,1,66,1,66,1,66,3,66,1857,8,66,1,67,1,67,3,67,1861, -8,67,1,68,1,68,3,68,1865,8,68,1,68,1,68,1,68,1,68,3,68,1871,8,68,1,69,1, -69,1,70,1,70,1,71,1,71,1,72,1,72,1,73,1,73,1,73,1,73,1,74,1,74,1,74,1,74, -1,74,3,74,1890,8,74,1,75,1,75,1,75,3,75,1895,8,75,1,75,1,75,1,75,1,75,1, -75,1,75,1,75,1,75,1,75,1,75,1,75,5,75,1908,8,75,10,75,12,75,1911,9,75,3, -75,1913,8,75,1,76,1,76,1,76,1,76,5,76,1919,8,76,10,76,12,76,1922,9,76,1, -76,1,76,1,77,1,77,1,77,1,77,5,77,1930,8,77,10,77,12,77,1933,9,77,1,77,1, -77,1,78,1,78,1,78,1,78,5,78,1941,8,78,10,78,12,78,1944,9,78,1,78,1,78,1, -79,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1,80,3,80,1957,8,80,1,80,1,80,1,80, -1,80,1,80,5,80,1964,8,80,10,80,12,80,1967,9,80,1,80,1,80,1,80,3,80,1972, -8,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,3,80,1986, -8,80,1,80,1,80,1,80,1,80,1,80,5,80,1993,8,80,10,80,12,80,1996,9,80,1,80, -1,80,1,80,1,80,3,80,2002,8,80,1,80,1,80,1,80,1,80,1,80,3,80,2009,8,80,1, -80,3,80,2012,8,80,1,80,1,80,1,80,1,80,1,80,1,80,3,80,2020,8,80,1,80,1,80, -1,80,1,80,1,80,1,80,3,80,2028,8,80,1,80,3,80,2031,8,80,1,80,1,80,1,80,1, -80,1,80,3,80,2038,8,80,1,80,3,80,2041,8,80,1,80,1,80,1,80,1,80,5,80,2047, -8,80,10,80,12,80,2050,9,80,1,80,1,80,1,80,1,80,1,80,3,80,2057,8,80,1,80, -1,80,1,80,1,80,1,80,1,80,5,80,2065,8,80,10,80,12,80,2068,9,80,3,80,2070, -8,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1, -80,3,80,2086,8,80,1,80,1,80,1,80,1,80,1,80,3,80,2093,8,80,1,80,1,80,1,80, -1,80,1,80,3,80,2100,8,80,1,80,3,80,2103,8,80,1,80,1,80,3,80,2107,8,80,3, -80,2109,8,80,3,80,2111,8,80,1,80,1,80,1,80,3,80,2116,8,80,1,80,1,80,1,80, -1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,3,80,2133,8, -80,1,80,1,80,1,80,3,80,2138,8,80,5,80,2140,8,80,10,80,12,80,2143,9,80,3, -80,2145,8,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,3,80,2155,8,80,1,80, -1,80,1,80,1,80,1,80,3,80,2162,8,80,1,80,1,80,1,80,1,80,1,80,1,80,3,80,2170, -8,80,3,80,2172,8,80,1,81,1,81,1,81,1,81,3,81,2178,8,81,1,82,1,82,1,82,1, -82,1,82,5,82,2185,8,82,10,82,12,82,2188,9,82,1,82,1,82,1,83,1,83,1,83,1, -84,3,84,2196,8,84,1,84,1,84,1,85,1,85,1,85,3,85,2203,8,85,1,86,1,86,1,87, -3,87,2208,8,87,1,87,3,87,2211,8,87,1,87,3,87,2214,8,87,1,87,3,87,2217,8, -87,3,87,2219,8,87,1,88,1,88,1,88,1,88,1,89,1,89,1,89,1,89,1,89,1,89,3,89, -2231,8,89,1,89,1,89,1,89,1,89,3,89,2237,8,89,1,90,1,90,1,90,1,90,1,90,1, -91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,3,91,2254,8,91,1,91,3,91, -2257,8,91,1,92,1,92,3,92,2261,8,92,1,92,5,92,2264,8,92,10,92,12,92,2267, -9,92,1,93,1,93,3,93,2271,8,93,1,93,1,93,3,93,2275,8,93,1,93,5,93,2278,8, -93,10,93,12,93,2281,9,93,1,94,1,94,3,94,2285,8,94,1,94,1,94,3,94,2289,8, -94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95, -1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,3,95,2315,8,95,1,95,1, -95,1,95,1,95,1,95,1,95,3,95,2323,8,95,3,95,2325,8,95,1,96,1,96,1,96,1,96, -1,96,1,96,5,96,2333,8,96,10,96,12,96,2336,9,96,1,96,1,96,3,96,2340,8,96, -1,96,1,96,1,96,1,96,1,96,1,96,3,96,2348,8,96,1,96,1,96,5,96,2352,8,96,10, -96,12,96,2355,9,96,1,97,1,97,3,97,2359,8,97,1,98,1,98,1,98,1,98,1,98,1,98, -1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,3,98,2378,8,98,1, -99,1,99,1,99,1,99,3,99,2384,8,99,1,99,1,99,1,99,1,99,1,99,5,99,2391,8,99, -10,99,12,99,2394,9,99,1,99,1,99,3,99,2398,8,99,1,100,1,100,1,100,1,100,1, -100,1,100,1,100,1,100,3,100,2408,8,100,1,100,1,100,1,100,1,100,1,100,1,100, -3,100,2416,8,100,1,100,1,100,1,100,1,100,3,100,2422,8,100,1,100,1,100,3, -100,2426,8,100,1,100,1,100,1,100,3,100,2431,8,100,1,101,1,101,3,101,2435, -8,101,1,101,1,101,1,102,1,102,3,102,2441,8,102,1,102,1,102,1,102,1,102,1, -102,1,103,1,103,1,103,1,103,1,103,1,104,1,104,1,104,5,104,2456,8,104,10, -104,12,104,2459,9,104,1,105,1,105,1,105,1,105,1,106,1,106,1,106,1,106,5, -106,2469,8,106,10,106,12,106,2472,9,106,1,106,1,106,1,107,1,107,3,107,2478, -8,107,1,108,1,108,1,108,1,108,1,108,5,108,2485,8,108,10,108,12,108,2488, -9,108,1,108,1,108,3,108,2492,8,108,1,109,1,109,3,109,2496,8,109,1,110,1, -110,1,110,1,110,3,110,2502,8,110,1,111,1,111,1,111,1,112,1,112,1,112,1,112, -1,112,5,112,2512,8,112,10,112,12,112,2515,9,112,1,112,1,112,1,113,1,113, -1,113,1,113,1,113,5,113,2524,8,113,10,113,12,113,2527,9,113,1,113,1,113, -1,114,1,114,3,114,2533,8,114,1,115,1,115,1,115,5,115,2538,8,115,10,115,12, -115,2541,9,115,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,117,1,117,3,117, -2552,8,117,1,118,1,118,1,119,1,119,1,120,1,120,1,120,1,120,1,120,1,120,1, -120,3,120,2565,8,120,1,120,3,120,2568,8,120,1,120,3,120,2571,8,120,1,121, -1,121,1,121,1,121,1,121,1,121,1,121,3,121,2580,8,121,1,122,1,122,1,122,1, -122,1,122,1,122,1,122,1,122,3,122,2590,8,122,1,122,1,122,1,122,1,122,1,122, -1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,3,122,2605,8,122,1,123,1, -123,1,123,1,123,3,123,2611,8,123,1,123,5,123,2614,8,123,10,123,12,123,2617, -9,123,1,124,1,124,1,124,0,7,22,38,60,66,68,96,192,125,0,2,4,6,8,10,12,14, -16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62, -64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108, -110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144, -146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180, -182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216, -218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,0,34,1,0, -146,147,2,0,3,3,22,22,1,0,141,142,2,0,4,4,282,282,1,0,241,242,2,0,7,7,169, -172,1,0,92,93,1,0,246,247,1,0,280,281,1,0,111,112,3,0,109,109,197,197,216, -216,2,0,36,36,38,38,2,0,86,86,91,91,1,0,200,201,2,0,7,7,12,12,1,0,40,41, -1,0,36,37,1,0,26,27,1,0,293,294,2,0,295,295,297,298,1,0,314,316,1,0,32,33, -2,0,60,61,246,246,1,0,44,46,1,0,282,292,1,0,7,9,1,0,88,89,1,0,50,55,1,0, -30,31,1,0,259,260,1,0,230,232,1,0,165,167,3,0,97,97,193,193,252,252,38,0, -1,1,4,4,6,6,10,10,27,27,32,33,35,35,38,38,42,46,48,59,70,70,81,86,88,91, -93,93,96,96,98,105,107,108,111,133,135,135,137,158,161,161,163,163,165,165, -167,172,174,174,176,182,185,196,198,198,202,204,208,208,211,215,219,221, -223,226,228,232,234,240,244,245,247,247,251,281,3018,0,250,1,0,0,0,2,263, -1,0,0,0,4,269,1,0,0,0,6,645,1,0,0,0,8,755,1,0,0,0,10,932,1,0,0,0,12,943, -1,0,0,0,14,946,1,0,0,0,16,950,1,0,0,0,18,988,1,0,0,0,20,990,1,0,0,0,22,1001, -1,0,0,0,24,1014,1,0,0,0,26,1016,1,0,0,0,28,1086,1,0,0,0,30,1100,1,0,0,0, -32,1102,1,0,0,0,34,1105,1,0,0,0,36,1114,1,0,0,0,38,1119,1,0,0,0,40,1158, -1,0,0,0,42,1174,1,0,0,0,44,1176,1,0,0,0,46,1195,1,0,0,0,48,1197,1,0,0,0, -50,1227,1,0,0,0,52,1229,1,0,0,0,54,1240,1,0,0,0,56,1249,1,0,0,0,58,1258, -1,0,0,0,60,1277,1,0,0,0,62,1290,1,0,0,0,64,1362,1,0,0,0,66,1371,1,0,0,0, -68,1461,1,0,0,0,70,1607,1,0,0,0,72,1609,1,0,0,0,74,1641,1,0,0,0,76,1651, -1,0,0,0,78,1674,1,0,0,0,80,1678,1,0,0,0,82,1682,1,0,0,0,84,1687,1,0,0,0, -86,1689,1,0,0,0,88,1691,1,0,0,0,90,1693,1,0,0,0,92,1704,1,0,0,0,94,1706, -1,0,0,0,96,1708,1,0,0,0,98,1721,1,0,0,0,100,1723,1,0,0,0,102,1725,1,0,0, -0,104,1730,1,0,0,0,106,1734,1,0,0,0,108,1770,1,0,0,0,110,1788,1,0,0,0,112, -1799,1,0,0,0,114,1801,1,0,0,0,116,1809,1,0,0,0,118,1817,1,0,0,0,120,1824, -1,0,0,0,122,1828,1,0,0,0,124,1838,1,0,0,0,126,1843,1,0,0,0,128,1847,1,0, -0,0,130,1851,1,0,0,0,132,1856,1,0,0,0,134,1860,1,0,0,0,136,1862,1,0,0,0, -138,1872,1,0,0,0,140,1874,1,0,0,0,142,1876,1,0,0,0,144,1878,1,0,0,0,146, -1880,1,0,0,0,148,1889,1,0,0,0,150,1912,1,0,0,0,152,1914,1,0,0,0,154,1925, -1,0,0,0,156,1936,1,0,0,0,158,1947,1,0,0,0,160,2171,1,0,0,0,162,2177,1,0, -0,0,164,2179,1,0,0,0,166,2191,1,0,0,0,168,2195,1,0,0,0,170,2202,1,0,0,0, -172,2204,1,0,0,0,174,2218,1,0,0,0,176,2220,1,0,0,0,178,2224,1,0,0,0,180, -2238,1,0,0,0,182,2256,1,0,0,0,184,2258,1,0,0,0,186,2268,1,0,0,0,188,2282, -1,0,0,0,190,2324,1,0,0,0,192,2347,1,0,0,0,194,2358,1,0,0,0,196,2377,1,0, -0,0,198,2379,1,0,0,0,200,2430,1,0,0,0,202,2434,1,0,0,0,204,2440,1,0,0,0, -206,2447,1,0,0,0,208,2452,1,0,0,0,210,2460,1,0,0,0,212,2464,1,0,0,0,214, -2475,1,0,0,0,216,2491,1,0,0,0,218,2493,1,0,0,0,220,2501,1,0,0,0,222,2503, -1,0,0,0,224,2506,1,0,0,0,226,2518,1,0,0,0,228,2530,1,0,0,0,230,2534,1,0, -0,0,232,2542,1,0,0,0,234,2551,1,0,0,0,236,2553,1,0,0,0,238,2555,1,0,0,0, -240,2570,1,0,0,0,242,2579,1,0,0,0,244,2604,1,0,0,0,246,2615,1,0,0,0,248, -2618,1,0,0,0,250,255,3,6,3,0,251,252,5,301,0,0,252,254,3,6,3,0,253,251,1, -0,0,0,254,257,1,0,0,0,255,253,1,0,0,0,255,256,1,0,0,0,256,259,1,0,0,0,257, -255,1,0,0,0,258,260,5,301,0,0,259,258,1,0,0,0,259,260,1,0,0,0,260,261,1, -0,0,0,261,262,5,0,0,1,262,1,1,0,0,0,263,265,3,6,3,0,264,266,5,301,0,0,265, -264,1,0,0,0,265,266,1,0,0,0,266,267,1,0,0,0,267,268,5,0,0,1,268,3,1,0,0, -0,269,270,3,58,29,0,270,271,5,0,0,1,271,5,1,0,0,0,272,646,3,14,7,0,273,275, -5,143,0,0,274,276,7,0,0,0,275,274,1,0,0,0,275,276,1,0,0,0,276,287,1,0,0, -0,277,284,3,240,120,0,278,280,5,303,0,0,279,278,1,0,0,0,279,280,1,0,0,0, -280,281,1,0,0,0,281,283,3,240,120,0,282,279,1,0,0,0,283,286,1,0,0,0,284, -282,1,0,0,0,284,285,1,0,0,0,285,288,1,0,0,0,286,284,1,0,0,0,287,277,1,0, -0,0,287,288,1,0,0,0,288,646,1,0,0,0,289,290,5,144,0,0,290,301,5,147,0,0, -291,298,3,240,120,0,292,294,5,303,0,0,293,292,1,0,0,0,293,294,1,0,0,0,294, -295,1,0,0,0,295,297,3,240,120,0,296,293,1,0,0,0,297,300,1,0,0,0,298,296, -1,0,0,0,298,299,1,0,0,0,299,302,1,0,0,0,300,298,1,0,0,0,301,291,1,0,0,0, -301,302,1,0,0,0,302,646,1,0,0,0,303,305,5,145,0,0,304,306,7,0,0,0,305,304, -1,0,0,0,305,306,1,0,0,0,306,646,1,0,0,0,307,309,5,68,0,0,308,310,7,0,0,0, -309,308,1,0,0,0,309,310,1,0,0,0,310,646,1,0,0,0,311,320,5,176,0,0,312,321, -5,165,0,0,313,321,5,167,0,0,314,316,3,212,106,0,315,314,1,0,0,0,316,319, -1,0,0,0,317,315,1,0,0,0,317,318,1,0,0,0,318,321,1,0,0,0,319,317,1,0,0,0, -320,312,1,0,0,0,320,313,1,0,0,0,320,317,1,0,0,0,321,322,1,0,0,0,322,646, -3,6,3,0,323,324,5,194,0,0,324,325,5,97,0,0,325,327,3,230,115,0,326,328,3, -206,103,0,327,326,1,0,0,0,327,328,1,0,0,0,328,646,1,0,0,0,329,330,5,195, -0,0,330,331,5,97,0,0,331,646,3,230,115,0,332,333,5,210,0,0,333,334,3,44, -22,0,334,335,5,216,0,0,335,340,3,158,79,0,336,337,5,303,0,0,337,339,3,158, -79,0,338,336,1,0,0,0,339,342,1,0,0,0,340,338,1,0,0,0,340,341,1,0,0,0,341, -344,1,0,0,0,342,340,1,0,0,0,343,345,3,32,16,0,344,343,1,0,0,0,344,345,1, -0,0,0,345,347,1,0,0,0,346,348,3,34,17,0,347,346,1,0,0,0,347,348,1,0,0,0, -348,646,1,0,0,0,349,350,5,209,0,0,350,351,5,3,0,0,351,353,3,44,22,0,352, -354,3,32,16,0,353,352,1,0,0,0,353,354,1,0,0,0,354,646,1,0,0,0,355,360,5, -185,0,0,356,357,5,147,0,0,357,358,5,150,0,0,358,361,5,151,0,0,359,361,5, -148,0,0,360,356,1,0,0,0,360,359,1,0,0,0,361,646,1,0,0,0,362,363,5,185,0, -0,363,364,5,95,0,0,364,365,5,97,0,0,365,646,3,50,25,0,366,367,5,185,0,0, -367,370,5,186,0,0,368,369,7,1,0,0,369,371,3,116,58,0,370,368,1,0,0,0,370, -371,1,0,0,0,371,375,1,0,0,0,372,373,5,26,0,0,373,376,3,92,46,0,374,376,3, -32,16,0,375,372,1,0,0,0,375,374,1,0,0,0,375,376,1,0,0,0,376,646,1,0,0,0, -377,378,5,185,0,0,378,382,5,187,0,0,379,380,5,26,0,0,380,383,3,92,46,0,381, -383,3,32,16,0,382,379,1,0,0,0,382,381,1,0,0,0,382,383,1,0,0,0,383,646,1, -0,0,0,384,385,5,185,0,0,385,386,5,189,0,0,386,387,7,1,0,0,387,390,3,116, -58,0,388,389,7,1,0,0,389,391,3,116,58,0,390,388,1,0,0,0,390,391,1,0,0,0, -391,395,1,0,0,0,392,393,5,26,0,0,393,396,3,92,46,0,394,396,3,32,16,0,395, -392,1,0,0,0,395,394,1,0,0,0,395,396,1,0,0,0,396,646,1,0,0,0,397,400,5,185, -0,0,398,401,3,116,58,0,399,401,5,7,0,0,400,398,1,0,0,0,400,399,1,0,0,0,401, -646,1,0,0,0,402,646,3,10,5,0,403,404,5,217,0,0,404,405,5,140,0,0,405,410, -3,68,34,0,406,407,5,303,0,0,407,409,3,68,34,0,408,406,1,0,0,0,409,412,1, -0,0,0,410,408,1,0,0,0,410,411,1,0,0,0,411,646,1,0,0,0,412,410,1,0,0,0,413, -417,5,216,0,0,414,415,5,141,0,0,415,416,5,149,0,0,416,418,5,5,0,0,417,414, -1,0,0,0,417,418,1,0,0,0,418,419,1,0,0,0,419,420,5,147,0,0,420,425,3,240, -120,0,421,422,5,303,0,0,422,424,3,240,120,0,423,421,1,0,0,0,424,427,1,0, -0,0,425,423,1,0,0,0,425,426,1,0,0,0,426,646,1,0,0,0,427,425,1,0,0,0,428, -430,5,216,0,0,429,431,7,2,0,0,430,429,1,0,0,0,430,431,1,0,0,0,431,432,1, -0,0,0,432,433,5,141,0,0,433,436,5,1,0,0,434,437,5,218,0,0,435,437,3,130, -65,0,436,434,1,0,0,0,436,435,1,0,0,0,437,646,1,0,0,0,438,439,5,217,0,0,439, -440,5,141,0,0,440,646,5,1,0,0,441,443,5,216,0,0,442,444,7,2,0,0,443,442, -1,0,0,0,443,444,1,0,0,0,444,445,1,0,0,0,445,446,3,116,58,0,446,456,7,3,0, -0,447,457,5,218,0,0,448,453,3,234,117,0,449,450,5,303,0,0,450,452,3,234, -117,0,451,449,1,0,0,0,452,455,1,0,0,0,453,451,1,0,0,0,453,454,1,0,0,0,454, -457,1,0,0,0,455,453,1,0,0,0,456,447,1,0,0,0,456,448,1,0,0,0,457,646,1,0, -0,0,458,459,5,216,0,0,459,461,5,140,0,0,460,462,7,4,0,0,461,460,1,0,0,0, -461,462,1,0,0,0,462,463,1,0,0,0,463,468,3,232,116,0,464,465,5,303,0,0,465, -467,3,232,116,0,466,464,1,0,0,0,467,470,1,0,0,0,468,466,1,0,0,0,468,469, -1,0,0,0,469,646,1,0,0,0,470,468,1,0,0,0,471,472,5,216,0,0,472,473,5,48,0, -0,473,477,5,49,0,0,474,478,5,142,0,0,475,478,5,218,0,0,476,478,3,92,46,0, -477,474,1,0,0,0,477,475,1,0,0,0,477,476,1,0,0,0,478,646,1,0,0,0,479,482, -5,107,0,0,480,483,5,7,0,0,481,483,3,82,41,0,482,480,1,0,0,0,482,481,1,0, -0,0,483,646,1,0,0,0,484,485,5,206,0,0,485,486,5,207,0,0,486,498,3,50,25, -0,487,488,5,305,0,0,488,493,3,124,62,0,489,490,5,303,0,0,490,492,3,124,62, -0,491,489,1,0,0,0,492,495,1,0,0,0,493,491,1,0,0,0,493,494,1,0,0,0,494,496, -1,0,0,0,495,493,1,0,0,0,496,497,5,306,0,0,497,499,1,0,0,0,498,487,1,0,0, -0,498,499,1,0,0,0,499,500,1,0,0,0,500,502,3,148,74,0,501,503,3,150,75,0, -502,501,1,0,0,0,502,503,1,0,0,0,503,505,1,0,0,0,504,506,3,34,17,0,505,504, -1,0,0,0,505,506,1,0,0,0,506,646,1,0,0,0,507,508,5,196,0,0,508,509,5,105, -0,0,509,515,3,116,58,0,510,516,5,7,0,0,511,516,5,255,0,0,512,513,5,97,0, -0,513,516,3,230,115,0,514,516,3,122,61,0,515,510,1,0,0,0,515,511,1,0,0,0, -515,512,1,0,0,0,515,514,1,0,0,0,516,518,1,0,0,0,517,519,3,206,103,0,518, -517,1,0,0,0,518,519,1,0,0,0,519,646,1,0,0,0,520,521,5,219,0,0,521,533,3, -48,24,0,522,523,5,305,0,0,523,528,3,124,62,0,524,525,5,303,0,0,525,527,3, -124,62,0,526,524,1,0,0,0,527,530,1,0,0,0,528,526,1,0,0,0,528,529,1,0,0,0, -529,531,1,0,0,0,530,528,1,0,0,0,531,532,5,306,0,0,532,534,1,0,0,0,533,522, -1,0,0,0,533,534,1,0,0,0,534,535,1,0,0,0,535,536,5,3,0,0,536,538,3,58,29, -0,537,539,3,206,103,0,538,537,1,0,0,0,538,539,1,0,0,0,539,542,1,0,0,0,540, -541,5,253,0,0,541,543,5,254,0,0,542,540,1,0,0,0,542,543,1,0,0,0,543,646, -1,0,0,0,544,545,5,219,0,0,545,547,3,48,24,0,546,548,3,156,78,0,547,546,1, -0,0,0,547,548,1,0,0,0,548,550,1,0,0,0,549,551,3,32,16,0,550,549,1,0,0,0, -550,551,1,0,0,0,551,552,1,0,0,0,552,554,5,4,0,0,553,555,5,11,0,0,554,553, -1,0,0,0,554,555,1,0,0,0,555,556,1,0,0,0,556,558,3,58,29,0,557,559,3,206, -103,0,558,557,1,0,0,0,558,559,1,0,0,0,559,646,1,0,0,0,560,646,3,8,4,0,561, -567,5,248,0,0,562,568,3,122,61,0,563,565,5,7,0,0,564,566,5,251,0,0,565,564, -1,0,0,0,565,566,1,0,0,0,566,568,1,0,0,0,567,562,1,0,0,0,567,563,1,0,0,0, -568,573,1,0,0,0,569,570,5,80,0,0,570,571,3,238,119,0,571,572,3,114,57,0, -572,574,1,0,0,0,573,569,1,0,0,0,573,574,1,0,0,0,574,575,1,0,0,0,575,576, -5,4,0,0,576,646,3,122,61,0,577,583,5,249,0,0,578,584,3,122,61,0,579,581, -5,7,0,0,580,582,5,251,0,0,581,580,1,0,0,0,581,582,1,0,0,0,582,584,1,0,0, -0,583,578,1,0,0,0,583,579,1,0,0,0,584,589,1,0,0,0,585,586,5,80,0,0,586,587, -3,238,119,0,587,588,3,114,57,0,588,590,1,0,0,0,589,585,1,0,0,0,589,590,1, -0,0,0,590,591,1,0,0,0,591,592,5,4,0,0,592,646,3,122,61,0,593,599,5,250,0, -0,594,600,3,122,61,0,595,597,5,7,0,0,596,598,5,251,0,0,597,596,1,0,0,0,597, -598,1,0,0,0,598,600,1,0,0,0,599,594,1,0,0,0,599,595,1,0,0,0,600,605,1,0, -0,0,601,602,5,80,0,0,602,603,3,238,119,0,603,604,3,114,57,0,604,606,1,0, -0,0,605,601,1,0,0,0,605,606,1,0,0,0,606,607,1,0,0,0,607,608,5,3,0,0,608, -646,3,122,61,0,609,646,3,160,80,0,610,612,5,10,0,0,611,613,5,240,0,0,612, -611,1,0,0,0,612,613,1,0,0,0,613,616,1,0,0,0,614,617,5,7,0,0,615,617,3,132, -66,0,616,614,1,0,0,0,616,615,1,0,0,0,617,646,1,0,0,0,618,646,5,165,0,0,619, -620,5,168,0,0,620,646,7,5,0,0,621,622,5,261,0,0,622,623,3,124,62,0,623,624, -3,246,123,0,624,627,5,262,0,0,625,626,7,6,0,0,626,628,5,268,0,0,627,625, -1,0,0,0,627,628,1,0,0,0,628,629,1,0,0,0,629,630,5,47,0,0,630,631,3,16,8, -0,631,646,1,0,0,0,632,634,5,35,0,0,633,635,3,244,122,0,634,633,1,0,0,0,634, -635,1,0,0,0,635,637,1,0,0,0,636,638,7,1,0,0,637,636,1,0,0,0,637,638,1,0, -0,0,638,639,1,0,0,0,639,646,3,124,62,0,640,643,5,112,0,0,641,644,3,124,62, -0,642,644,5,7,0,0,643,641,1,0,0,0,643,642,1,0,0,0,644,646,1,0,0,0,645,272, -1,0,0,0,645,273,1,0,0,0,645,289,1,0,0,0,645,303,1,0,0,0,645,307,1,0,0,0, -645,311,1,0,0,0,645,323,1,0,0,0,645,329,1,0,0,0,645,332,1,0,0,0,645,349, -1,0,0,0,645,355,1,0,0,0,645,362,1,0,0,0,645,366,1,0,0,0,645,377,1,0,0,0, -645,384,1,0,0,0,645,397,1,0,0,0,645,402,1,0,0,0,645,403,1,0,0,0,645,413, -1,0,0,0,645,428,1,0,0,0,645,438,1,0,0,0,645,441,1,0,0,0,645,458,1,0,0,0, -645,471,1,0,0,0,645,479,1,0,0,0,645,484,1,0,0,0,645,507,1,0,0,0,645,520, -1,0,0,0,645,544,1,0,0,0,645,560,1,0,0,0,645,561,1,0,0,0,645,577,1,0,0,0, -645,593,1,0,0,0,645,609,1,0,0,0,645,610,1,0,0,0,645,618,1,0,0,0,645,619, -1,0,0,0,645,621,1,0,0,0,645,632,1,0,0,0,645,640,1,0,0,0,646,7,1,0,0,0,647, -648,5,197,0,0,648,649,5,96,0,0,649,652,5,97,0,0,650,651,5,69,0,0,651,653, -5,24,0,0,652,650,1,0,0,0,652,653,1,0,0,0,653,654,1,0,0,0,654,756,3,50,25, -0,655,656,5,197,0,0,656,659,5,97,0,0,657,658,5,69,0,0,658,660,5,24,0,0,659, -657,1,0,0,0,659,660,1,0,0,0,660,661,1,0,0,0,661,756,3,50,25,0,662,663,5, -197,0,0,663,664,5,198,0,0,664,756,3,116,58,0,665,666,5,197,0,0,666,667,5, -104,0,0,667,756,3,124,62,0,668,669,5,197,0,0,669,670,5,105,0,0,670,756,3, -116,58,0,671,672,5,197,0,0,672,675,5,162,0,0,673,674,5,69,0,0,674,676,5, -24,0,0,675,673,1,0,0,0,675,676,1,0,0,0,676,677,1,0,0,0,677,678,3,116,58, -0,678,687,5,305,0,0,679,684,3,168,84,0,680,681,5,303,0,0,681,683,3,168,84, -0,682,680,1,0,0,0,683,686,1,0,0,0,684,682,1,0,0,0,684,685,1,0,0,0,685,688, -1,0,0,0,686,684,1,0,0,0,687,679,1,0,0,0,687,688,1,0,0,0,688,689,1,0,0,0, -689,690,5,306,0,0,690,756,1,0,0,0,691,692,5,197,0,0,692,695,7,7,0,0,693, -694,5,69,0,0,694,696,5,24,0,0,695,693,1,0,0,0,695,696,1,0,0,0,696,697,1, -0,0,0,697,756,3,124,62,0,698,699,5,197,0,0,699,702,5,193,0,0,700,701,5,69, -0,0,701,703,5,24,0,0,702,700,1,0,0,0,702,703,1,0,0,0,703,704,1,0,0,0,704, -756,3,114,57,0,705,706,5,197,0,0,706,707,5,234,0,0,707,756,3,124,62,0,708, -709,5,197,0,0,709,712,5,256,0,0,710,711,5,69,0,0,711,713,5,24,0,0,712,710, -1,0,0,0,712,713,1,0,0,0,713,714,1,0,0,0,714,756,3,124,62,0,715,716,5,197, -0,0,716,719,5,257,0,0,717,718,5,69,0,0,718,720,5,24,0,0,719,717,1,0,0,0, -719,720,1,0,0,0,720,721,1,0,0,0,721,756,3,124,62,0,722,723,5,197,0,0,723, -726,5,274,0,0,724,725,5,69,0,0,725,727,5,24,0,0,726,724,1,0,0,0,726,727, -1,0,0,0,727,728,1,0,0,0,728,730,3,122,61,0,729,731,7,8,0,0,730,729,1,0,0, -0,730,731,1,0,0,0,731,756,1,0,0,0,732,733,5,197,0,0,733,734,5,275,0,0,734, -737,5,97,0,0,735,736,5,69,0,0,736,738,5,24,0,0,737,735,1,0,0,0,737,738,1, -0,0,0,738,739,1,0,0,0,739,741,3,114,57,0,740,742,7,8,0,0,741,740,1,0,0,0, -741,742,1,0,0,0,742,756,1,0,0,0,743,744,5,197,0,0,744,745,5,246,0,0,745, -748,5,279,0,0,746,747,5,69,0,0,747,749,5,24,0,0,748,746,1,0,0,0,748,749, -1,0,0,0,749,750,1,0,0,0,750,751,5,47,0,0,751,752,3,162,81,0,752,753,5,274, -0,0,753,754,3,124,62,0,754,756,1,0,0,0,755,647,1,0,0,0,755,655,1,0,0,0,755, -662,1,0,0,0,755,665,1,0,0,0,755,668,1,0,0,0,755,671,1,0,0,0,755,691,1,0, -0,0,755,698,1,0,0,0,755,705,1,0,0,0,755,708,1,0,0,0,755,715,1,0,0,0,755, -722,1,0,0,0,755,732,1,0,0,0,755,743,1,0,0,0,756,9,1,0,0,0,757,758,5,106, -0,0,758,759,5,97,0,0,759,760,3,170,85,0,760,765,3,186,93,0,761,762,5,303, -0,0,762,764,3,186,93,0,763,761,1,0,0,0,764,767,1,0,0,0,765,763,1,0,0,0,765, -766,1,0,0,0,766,933,1,0,0,0,767,765,1,0,0,0,768,769,5,106,0,0,769,770,5, -97,0,0,770,771,3,170,85,0,771,776,3,188,94,0,772,773,5,303,0,0,773,775,3, -188,94,0,774,772,1,0,0,0,775,778,1,0,0,0,776,774,1,0,0,0,776,777,1,0,0,0, -777,933,1,0,0,0,778,776,1,0,0,0,779,780,5,106,0,0,780,781,5,97,0,0,781,782, -3,170,85,0,782,783,5,197,0,0,783,784,5,173,0,0,784,785,3,124,62,0,785,933, -1,0,0,0,786,787,5,106,0,0,787,788,5,97,0,0,788,808,3,170,85,0,789,790,5, -216,0,0,790,791,5,305,0,0,791,792,3,208,104,0,792,793,5,306,0,0,793,809, -1,0,0,0,794,806,5,217,0,0,795,796,5,305,0,0,796,801,3,124,62,0,797,798,5, -303,0,0,798,800,3,124,62,0,799,797,1,0,0,0,800,803,1,0,0,0,801,799,1,0,0, -0,801,802,1,0,0,0,802,804,1,0,0,0,803,801,1,0,0,0,804,805,5,306,0,0,805, -807,1,0,0,0,806,795,1,0,0,0,806,807,1,0,0,0,807,809,1,0,0,0,808,789,1,0, -0,0,808,794,1,0,0,0,809,933,1,0,0,0,810,811,5,106,0,0,811,812,5,96,0,0,812, -813,5,97,0,0,813,833,3,170,85,0,814,815,5,216,0,0,815,816,5,305,0,0,816, -817,3,208,104,0,817,818,5,306,0,0,818,834,1,0,0,0,819,831,5,217,0,0,820, -821,5,305,0,0,821,826,3,124,62,0,822,823,5,303,0,0,823,825,3,124,62,0,824, -822,1,0,0,0,825,828,1,0,0,0,826,824,1,0,0,0,826,827,1,0,0,0,827,829,1,0, -0,0,828,826,1,0,0,0,829,830,5,306,0,0,830,832,1,0,0,0,831,820,1,0,0,0,831, -832,1,0,0,0,832,834,1,0,0,0,833,814,1,0,0,0,833,819,1,0,0,0,834,933,1,0, -0,0,835,837,5,106,0,0,836,838,5,96,0,0,837,836,1,0,0,0,837,838,1,0,0,0,838, -839,1,0,0,0,839,840,5,97,0,0,840,841,3,170,85,0,841,842,7,9,0,0,842,933, -1,0,0,0,843,845,5,106,0,0,844,846,5,96,0,0,845,844,1,0,0,0,845,846,1,0,0, -0,846,847,1,0,0,0,847,848,5,97,0,0,848,849,3,170,85,0,849,850,5,113,0,0, -850,851,5,4,0,0,851,852,3,116,58,0,852,933,1,0,0,0,853,855,5,106,0,0,854, -856,5,96,0,0,855,854,1,0,0,0,855,856,1,0,0,0,856,857,1,0,0,0,857,858,5,97, -0,0,858,859,3,170,85,0,859,861,5,113,0,0,860,862,5,110,0,0,861,860,1,0,0, -0,861,862,1,0,0,0,862,863,1,0,0,0,863,864,3,96,48,0,864,865,5,4,0,0,865, -866,3,96,48,0,866,933,1,0,0,0,867,869,5,106,0,0,868,870,5,96,0,0,869,868, -1,0,0,0,869,870,1,0,0,0,870,871,1,0,0,0,871,872,5,97,0,0,872,873,3,170,85, -0,873,874,5,114,0,0,874,875,3,190,95,0,875,933,1,0,0,0,876,877,5,106,0,0, -877,878,5,103,0,0,878,879,5,114,0,0,879,880,5,120,0,0,880,933,5,121,0,0, -881,882,5,106,0,0,882,883,5,103,0,0,883,884,5,98,0,0,884,885,5,97,0,0,885, -886,3,116,58,0,886,887,5,4,0,0,887,889,3,116,58,0,888,890,3,206,103,0,889, -888,1,0,0,0,889,890,1,0,0,0,890,933,1,0,0,0,891,892,5,106,0,0,892,893,5, -103,0,0,893,894,5,102,0,0,894,933,3,58,29,0,895,896,5,106,0,0,896,897,5, -103,0,0,897,898,5,99,0,0,898,899,5,100,0,0,899,933,5,101,0,0,900,901,5,106, -0,0,901,902,7,7,0,0,902,903,3,124,62,0,903,904,5,216,0,0,904,905,5,305,0, -0,905,906,3,208,104,0,906,907,5,306,0,0,907,933,1,0,0,0,908,909,5,106,0, -0,909,910,5,256,0,0,910,911,3,124,62,0,911,912,7,10,0,0,912,913,5,97,0,0, -913,915,3,116,58,0,914,916,5,295,0,0,915,914,1,0,0,0,915,916,1,0,0,0,916, -924,1,0,0,0,917,918,5,303,0,0,918,920,3,116,58,0,919,921,5,295,0,0,920,919, -1,0,0,0,920,921,1,0,0,0,921,923,1,0,0,0,922,917,1,0,0,0,923,926,1,0,0,0, -924,922,1,0,0,0,924,925,1,0,0,0,925,933,1,0,0,0,926,924,1,0,0,0,927,928, -5,106,0,0,928,929,5,257,0,0,929,930,3,124,62,0,930,931,3,172,86,0,931,933, -1,0,0,0,932,757,1,0,0,0,932,768,1,0,0,0,932,779,1,0,0,0,932,786,1,0,0,0, -932,810,1,0,0,0,932,835,1,0,0,0,932,843,1,0,0,0,932,853,1,0,0,0,932,867, -1,0,0,0,932,876,1,0,0,0,932,881,1,0,0,0,932,891,1,0,0,0,932,895,1,0,0,0, -932,900,1,0,0,0,932,908,1,0,0,0,932,927,1,0,0,0,933,11,1,0,0,0,934,935,5, -305,0,0,935,936,3,14,7,0,936,937,5,306,0,0,937,944,1,0,0,0,938,944,3,14, -7,0,939,940,5,305,0,0,940,941,3,12,6,0,941,942,5,306,0,0,942,944,1,0,0,0, -943,934,1,0,0,0,943,938,1,0,0,0,943,939,1,0,0,0,944,13,1,0,0,0,945,947,3, -54,27,0,946,945,1,0,0,0,946,947,1,0,0,0,947,948,1,0,0,0,948,949,3,16,8,0, -949,15,1,0,0,0,950,961,3,22,11,0,951,952,5,16,0,0,952,953,5,15,0,0,953,958, -3,26,13,0,954,955,5,303,0,0,955,957,3,26,13,0,956,954,1,0,0,0,957,960,1, -0,0,0,958,956,1,0,0,0,958,959,1,0,0,0,959,962,1,0,0,0,960,958,1,0,0,0,961, -951,1,0,0,0,961,962,1,0,0,0,962,975,1,0,0,0,963,965,3,18,9,0,964,963,1,0, -0,0,964,965,1,0,0,0,965,967,1,0,0,0,966,968,3,20,10,0,967,966,1,0,0,0,967, -968,1,0,0,0,968,976,1,0,0,0,969,971,3,20,10,0,970,969,1,0,0,0,970,971,1, -0,0,0,971,973,1,0,0,0,972,974,3,18,9,0,973,972,1,0,0,0,973,974,1,0,0,0,974, -976,1,0,0,0,975,964,1,0,0,0,975,970,1,0,0,0,976,17,1,0,0,0,977,980,5,18, -0,0,978,981,3,78,39,0,979,981,5,7,0,0,980,978,1,0,0,0,980,979,1,0,0,0,981, -989,1,0,0,0,982,983,5,35,0,0,983,984,7,11,0,0,984,985,3,78,39,0,985,986, -7,12,0,0,986,987,5,108,0,0,987,989,1,0,0,0,988,977,1,0,0,0,988,982,1,0,0, -0,989,19,1,0,0,0,990,991,5,19,0,0,991,993,3,78,39,0,992,994,7,12,0,0,993, -992,1,0,0,0,993,994,1,0,0,0,994,21,1,0,0,0,995,996,6,11,-1,0,996,1002,3, -28,14,0,997,998,3,28,14,0,998,999,7,13,0,0,999,1000,3,28,14,0,1000,1002, -1,0,0,0,1001,995,1,0,0,0,1001,997,1,0,0,0,1002,1011,1,0,0,0,1003,1004,10, -1,0,0,1004,1006,5,199,0,0,1005,1007,3,24,12,0,1006,1005,1,0,0,0,1006,1007, -1,0,0,0,1007,1008,1,0,0,0,1008,1010,3,22,11,2,1009,1003,1,0,0,0,1010,1013, -1,0,0,0,1011,1009,1,0,0,0,1011,1012,1,0,0,0,1012,23,1,0,0,0,1013,1011,1, -0,0,0,1014,1015,7,14,0,0,1015,25,1,0,0,0,1016,1018,3,58,29,0,1017,1019,7, -15,0,0,1018,1017,1,0,0,0,1018,1019,1,0,0,0,1019,1022,1,0,0,0,1020,1021,5, -34,0,0,1021,1023,7,16,0,0,1022,1020,1,0,0,0,1022,1023,1,0,0,0,1023,27,1, -0,0,0,1024,1026,5,2,0,0,1025,1027,3,24,12,0,1026,1025,1,0,0,0,1026,1027, -1,0,0,0,1027,1028,1,0,0,0,1028,1033,3,30,15,0,1029,1030,5,303,0,0,1030,1032, -3,30,15,0,1031,1029,1,0,0,0,1032,1035,1,0,0,0,1033,1031,1,0,0,0,1033,1034, -1,0,0,0,1034,1045,1,0,0,0,1035,1033,1,0,0,0,1036,1037,5,3,0,0,1037,1042, -3,38,19,0,1038,1039,5,303,0,0,1039,1041,3,38,19,0,1040,1038,1,0,0,0,1041, -1044,1,0,0,0,1042,1040,1,0,0,0,1042,1043,1,0,0,0,1043,1046,1,0,0,0,1044, -1042,1,0,0,0,1045,1036,1,0,0,0,1045,1046,1,0,0,0,1046,1048,1,0,0,0,1047, -1049,3,32,16,0,1048,1047,1,0,0,0,1048,1049,1,0,0,0,1049,1060,1,0,0,0,1050, -1051,5,14,0,0,1051,1052,5,15,0,0,1052,1057,3,58,29,0,1053,1054,5,303,0,0, -1054,1056,3,58,29,0,1055,1053,1,0,0,0,1056,1059,1,0,0,0,1057,1055,1,0,0, -0,1057,1058,1,0,0,0,1058,1061,1,0,0,0,1059,1057,1,0,0,0,1060,1050,1,0,0, -0,1060,1061,1,0,0,0,1061,1064,1,0,0,0,1062,1063,5,17,0,0,1063,1065,3,60, -30,0,1064,1062,1,0,0,0,1064,1065,1,0,0,0,1065,1075,1,0,0,0,1066,1067,5,82, -0,0,1067,1072,3,104,52,0,1068,1069,5,303,0,0,1069,1071,3,104,52,0,1070,1068, -1,0,0,0,1071,1074,1,0,0,0,1072,1070,1,0,0,0,1072,1073,1,0,0,0,1073,1076, -1,0,0,0,1074,1072,1,0,0,0,1075,1066,1,0,0,0,1075,1076,1,0,0,0,1076,1087, -1,0,0,0,1077,1078,5,208,0,0,1078,1083,3,154,77,0,1079,1080,5,303,0,0,1080, -1082,3,154,77,0,1081,1079,1,0,0,0,1082,1085,1,0,0,0,1083,1081,1,0,0,0,1083, -1084,1,0,0,0,1084,1087,1,0,0,0,1085,1083,1,0,0,0,1086,1024,1,0,0,0,1086, -1077,1,0,0,0,1087,29,1,0,0,0,1088,1093,3,58,29,0,1089,1091,5,5,0,0,1090, -1089,1,0,0,0,1090,1091,1,0,0,0,1091,1092,1,0,0,0,1092,1094,3,124,62,0,1093, -1090,1,0,0,0,1093,1094,1,0,0,0,1094,1101,1,0,0,0,1095,1096,3,116,58,0,1096, -1097,5,304,0,0,1097,1098,5,295,0,0,1098,1101,1,0,0,0,1099,1101,5,295,0,0, -1100,1088,1,0,0,0,1100,1095,1,0,0,0,1100,1099,1,0,0,0,1101,31,1,0,0,0,1102, -1103,5,13,0,0,1103,1104,3,60,30,0,1104,33,1,0,0,0,1105,1106,5,229,0,0,1106, -1111,3,30,15,0,1107,1108,5,303,0,0,1108,1110,3,30,15,0,1109,1107,1,0,0,0, -1110,1113,1,0,0,0,1111,1109,1,0,0,0,1111,1112,1,0,0,0,1112,35,1,0,0,0,1113, -1111,1,0,0,0,1114,1115,5,225,0,0,1115,1116,5,305,0,0,1116,1117,3,32,16,0, -1117,1118,5,306,0,0,1118,37,1,0,0,0,1119,1120,6,19,-1,0,1120,1121,3,44,22, -0,1121,1140,1,0,0,0,1122,1136,10,2,0,0,1123,1124,5,72,0,0,1124,1125,5,71, -0,0,1125,1137,3,44,22,0,1126,1127,3,40,20,0,1127,1128,5,71,0,0,1128,1129, -3,38,19,0,1129,1130,3,42,21,0,1130,1137,1,0,0,0,1131,1132,5,78,0,0,1132, -1133,3,40,20,0,1133,1134,5,71,0,0,1134,1135,3,44,22,0,1135,1137,1,0,0,0, -1136,1123,1,0,0,0,1136,1126,1,0,0,0,1136,1131,1,0,0,0,1137,1139,1,0,0,0, -1138,1122,1,0,0,0,1139,1142,1,0,0,0,1140,1138,1,0,0,0,1140,1141,1,0,0,0, -1141,39,1,0,0,0,1142,1140,1,0,0,0,1143,1145,5,74,0,0,1144,1143,1,0,0,0,1144, -1145,1,0,0,0,1145,1159,1,0,0,0,1146,1148,5,75,0,0,1147,1149,5,73,0,0,1148, -1147,1,0,0,0,1148,1149,1,0,0,0,1149,1159,1,0,0,0,1150,1152,5,76,0,0,1151, -1153,5,73,0,0,1152,1151,1,0,0,0,1152,1153,1,0,0,0,1153,1159,1,0,0,0,1154, -1156,5,77,0,0,1155,1157,5,73,0,0,1156,1155,1,0,0,0,1156,1157,1,0,0,0,1157, -1159,1,0,0,0,1158,1144,1,0,0,0,1158,1146,1,0,0,0,1158,1150,1,0,0,0,1158, -1154,1,0,0,0,1159,41,1,0,0,0,1160,1161,5,80,0,0,1161,1175,3,60,30,0,1162, -1163,5,79,0,0,1163,1164,5,305,0,0,1164,1169,3,124,62,0,1165,1166,5,303,0, -0,1166,1168,3,124,62,0,1167,1165,1,0,0,0,1168,1171,1,0,0,0,1169,1167,1,0, -0,0,1169,1170,1,0,0,0,1170,1172,1,0,0,0,1171,1169,1,0,0,0,1172,1173,5,306, -0,0,1173,1175,1,0,0,0,1174,1160,1,0,0,0,1174,1162,1,0,0,0,1175,43,1,0,0, -0,1176,1184,3,46,23,0,1177,1179,5,5,0,0,1178,1177,1,0,0,0,1178,1179,1,0, -0,0,1179,1180,1,0,0,0,1180,1182,3,124,62,0,1181,1183,3,52,26,0,1182,1181, -1,0,0,0,1182,1183,1,0,0,0,1183,1185,1,0,0,0,1184,1178,1,0,0,0,1184,1185, -1,0,0,0,1185,45,1,0,0,0,1186,1196,3,50,25,0,1187,1188,5,305,0,0,1188,1189, -3,14,7,0,1189,1190,5,306,0,0,1190,1196,1,0,0,0,1191,1192,5,305,0,0,1192, -1193,3,38,19,0,1193,1194,5,306,0,0,1194,1196,1,0,0,0,1195,1186,1,0,0,0,1195, -1187,1,0,0,0,1195,1191,1,0,0,0,1196,47,1,0,0,0,1197,1210,3,116,58,0,1198, -1199,5,83,0,0,1199,1200,5,305,0,0,1200,1205,3,158,79,0,1201,1202,5,303,0, -0,1202,1204,3,158,79,0,1203,1201,1,0,0,0,1204,1207,1,0,0,0,1205,1203,1,0, -0,0,1205,1206,1,0,0,0,1206,1208,1,0,0,0,1207,1205,1,0,0,0,1208,1209,5,306, -0,0,1209,1211,1,0,0,0,1210,1198,1,0,0,0,1210,1211,1,0,0,0,1211,49,1,0,0, -0,1212,1228,3,116,58,0,1213,1214,3,116,58,0,1214,1216,5,305,0,0,1215,1217, -3,66,33,0,1216,1215,1,0,0,0,1216,1217,1,0,0,0,1217,1222,1,0,0,0,1218,1219, -5,303,0,0,1219,1221,3,66,33,0,1220,1218,1,0,0,0,1221,1224,1,0,0,0,1222,1220, -1,0,0,0,1222,1223,1,0,0,0,1223,1225,1,0,0,0,1224,1222,1,0,0,0,1225,1226, -5,306,0,0,1226,1228,1,0,0,0,1227,1212,1,0,0,0,1227,1213,1,0,0,0,1228,51, -1,0,0,0,1229,1230,5,305,0,0,1230,1235,3,124,62,0,1231,1232,5,303,0,0,1232, -1234,3,124,62,0,1233,1231,1,0,0,0,1234,1237,1,0,0,0,1235,1233,1,0,0,0,1235, -1236,1,0,0,0,1236,1238,1,0,0,0,1237,1235,1,0,0,0,1238,1239,5,306,0,0,1239, -53,1,0,0,0,1240,1241,5,92,0,0,1241,1246,3,56,28,0,1242,1243,5,303,0,0,1243, -1245,3,56,28,0,1244,1242,1,0,0,0,1245,1248,1,0,0,0,1246,1244,1,0,0,0,1246, -1247,1,0,0,0,1247,55,1,0,0,0,1248,1246,1,0,0,0,1249,1251,3,124,62,0,1250, -1252,3,52,26,0,1251,1250,1,0,0,0,1251,1252,1,0,0,0,1252,1253,1,0,0,0,1253, -1254,5,5,0,0,1254,1255,5,305,0,0,1255,1256,3,14,7,0,1256,1257,5,306,0,0, -1257,57,1,0,0,0,1258,1259,3,60,30,0,1259,59,1,0,0,0,1260,1261,6,30,-1,0, -1261,1278,3,62,31,0,1262,1263,5,23,0,0,1263,1278,3,60,30,4,1264,1265,5,243, -0,0,1265,1266,5,305,0,0,1266,1267,3,216,108,0,1267,1268,5,303,0,0,1268,1269, -3,68,34,0,1269,1275,5,306,0,0,1270,1271,5,79,0,0,1271,1273,3,124,62,0,1272, -1274,3,206,103,0,1273,1272,1,0,0,0,1273,1274,1,0,0,0,1274,1276,1,0,0,0,1275, -1270,1,0,0,0,1275,1276,1,0,0,0,1276,1278,1,0,0,0,1277,1260,1,0,0,0,1277, -1262,1,0,0,0,1277,1264,1,0,0,0,1278,1287,1,0,0,0,1279,1280,10,3,0,0,1280, -1281,5,21,0,0,1281,1286,3,60,30,4,1282,1283,10,2,0,0,1283,1284,5,20,0,0, -1284,1286,3,60,30,3,1285,1279,1,0,0,0,1285,1282,1,0,0,0,1286,1289,1,0,0, -0,1287,1285,1,0,0,0,1287,1288,1,0,0,0,1288,61,1,0,0,0,1289,1287,1,0,0,0, -1290,1292,3,66,33,0,1291,1293,3,64,32,0,1292,1291,1,0,0,0,1292,1293,1,0, -0,0,1293,63,1,0,0,0,1294,1295,3,98,49,0,1295,1296,3,66,33,0,1296,1363,1, -0,0,0,1297,1298,3,98,49,0,1298,1299,3,100,50,0,1299,1300,3,68,34,0,1300, -1363,1,0,0,0,1301,1303,5,23,0,0,1302,1301,1,0,0,0,1302,1303,1,0,0,0,1303, -1304,1,0,0,0,1304,1305,5,25,0,0,1305,1306,3,66,33,0,1306,1307,5,21,0,0,1307, -1308,3,66,33,0,1308,1363,1,0,0,0,1309,1311,5,23,0,0,1310,1309,1,0,0,0,1310, -1311,1,0,0,0,1311,1312,1,0,0,0,1312,1313,5,22,0,0,1313,1314,5,305,0,0,1314, -1319,3,58,29,0,1315,1316,5,303,0,0,1316,1318,3,58,29,0,1317,1315,1,0,0,0, -1318,1321,1,0,0,0,1319,1317,1,0,0,0,1319,1320,1,0,0,0,1320,1322,1,0,0,0, -1321,1319,1,0,0,0,1322,1323,5,306,0,0,1323,1363,1,0,0,0,1324,1326,5,23,0, -0,1325,1324,1,0,0,0,1325,1326,1,0,0,0,1326,1327,1,0,0,0,1327,1328,5,22,0, -0,1328,1363,3,72,36,0,1329,1331,5,23,0,0,1330,1329,1,0,0,0,1330,1331,1,0, -0,0,1331,1332,1,0,0,0,1332,1333,7,17,0,0,1333,1336,3,66,33,0,1334,1335,5, -39,0,0,1335,1337,3,74,37,0,1336,1334,1,0,0,0,1336,1337,1,0,0,0,1337,1363, -1,0,0,0,1338,1340,5,23,0,0,1339,1338,1,0,0,0,1339,1340,1,0,0,0,1340,1341, -1,0,0,0,1341,1342,7,17,0,0,1342,1343,3,100,50,0,1343,1344,5,305,0,0,1344, -1345,3,66,33,0,1345,1348,5,306,0,0,1346,1347,5,39,0,0,1347,1349,3,66,33, -0,1348,1346,1,0,0,0,1348,1349,1,0,0,0,1349,1363,1,0,0,0,1350,1352,5,28,0, -0,1351,1353,5,23,0,0,1352,1351,1,0,0,0,1352,1353,1,0,0,0,1353,1354,1,0,0, -0,1354,1363,5,29,0,0,1355,1357,5,28,0,0,1356,1358,5,23,0,0,1357,1356,1,0, -0,0,1357,1358,1,0,0,0,1358,1359,1,0,0,0,1359,1360,5,12,0,0,1360,1361,5,3, -0,0,1361,1363,3,66,33,0,1362,1294,1,0,0,0,1362,1297,1,0,0,0,1362,1302,1, -0,0,0,1362,1310,1,0,0,0,1362,1325,1,0,0,0,1362,1330,1,0,0,0,1362,1339,1, -0,0,0,1362,1350,1,0,0,0,1362,1355,1,0,0,0,1363,65,1,0,0,0,1364,1365,6,33, --1,0,1365,1372,3,68,34,0,1366,1367,7,18,0,0,1367,1372,3,66,33,7,1368,1369, -3,192,96,0,1369,1370,3,92,46,0,1370,1372,1,0,0,0,1371,1364,1,0,0,0,1371, -1366,1,0,0,0,1371,1368,1,0,0,0,1372,1390,1,0,0,0,1373,1374,10,6,0,0,1374, -1375,5,296,0,0,1375,1389,3,66,33,7,1376,1377,10,5,0,0,1377,1378,7,19,0,0, -1378,1389,3,66,33,6,1379,1380,10,4,0,0,1380,1381,7,18,0,0,1381,1389,3,66, -33,5,1382,1383,10,3,0,0,1383,1384,7,20,0,0,1384,1389,3,66,33,4,1385,1386, -10,2,0,0,1386,1387,5,299,0,0,1387,1389,3,66,33,3,1388,1373,1,0,0,0,1388, -1376,1,0,0,0,1388,1379,1,0,0,0,1388,1382,1,0,0,0,1388,1385,1,0,0,0,1389, -1392,1,0,0,0,1390,1388,1,0,0,0,1390,1391,1,0,0,0,1391,67,1,0,0,0,1392,1390, -1,0,0,0,1393,1394,6,34,-1,0,1394,1462,3,74,37,0,1395,1462,3,70,35,0,1396, -1397,3,116,58,0,1397,1398,5,305,0,0,1398,1399,5,295,0,0,1399,1401,5,306, -0,0,1400,1402,3,36,18,0,1401,1400,1,0,0,0,1401,1402,1,0,0,0,1402,1404,1, -0,0,0,1403,1405,3,106,53,0,1404,1403,1,0,0,0,1404,1405,1,0,0,0,1405,1462, -1,0,0,0,1406,1462,3,124,62,0,1407,1408,3,116,58,0,1408,1420,5,305,0,0,1409, -1411,3,24,12,0,1410,1409,1,0,0,0,1410,1411,1,0,0,0,1411,1412,1,0,0,0,1412, -1417,3,58,29,0,1413,1414,5,303,0,0,1414,1416,3,58,29,0,1415,1413,1,0,0,0, -1416,1419,1,0,0,0,1417,1415,1,0,0,0,1417,1418,1,0,0,0,1418,1421,1,0,0,0, -1419,1417,1,0,0,0,1420,1410,1,0,0,0,1420,1421,1,0,0,0,1421,1422,1,0,0,0, -1422,1424,5,306,0,0,1423,1425,3,36,18,0,1424,1423,1,0,0,0,1424,1425,1,0, -0,0,1425,1428,1,0,0,0,1426,1427,7,21,0,0,1427,1429,5,34,0,0,1428,1426,1, -0,0,0,1428,1429,1,0,0,0,1429,1431,1,0,0,0,1430,1432,3,106,53,0,1431,1430, -1,0,0,0,1431,1432,1,0,0,0,1432,1462,1,0,0,0,1433,1462,3,72,36,0,1434,1435, -5,305,0,0,1435,1436,3,68,34,0,1436,1437,5,306,0,0,1437,1438,5,304,0,0,1438, -1439,3,124,62,0,1439,1462,1,0,0,0,1440,1441,5,305,0,0,1441,1442,3,58,29, -0,1442,1443,5,306,0,0,1443,1462,1,0,0,0,1444,1445,5,24,0,0,1445,1446,5,305, -0,0,1446,1447,3,14,7,0,1447,1448,5,306,0,0,1448,1462,1,0,0,0,1449,1454,3, -124,62,0,1450,1451,5,304,0,0,1451,1453,3,124,62,0,1452,1450,1,0,0,0,1453, -1456,1,0,0,0,1454,1452,1,0,0,0,1454,1455,1,0,0,0,1455,1462,1,0,0,0,1456, -1454,1,0,0,0,1457,1459,5,233,0,0,1458,1457,1,0,0,0,1458,1459,1,0,0,0,1459, -1460,1,0,0,0,1460,1462,5,311,0,0,1461,1393,1,0,0,0,1461,1395,1,0,0,0,1461, -1396,1,0,0,0,1461,1406,1,0,0,0,1461,1407,1,0,0,0,1461,1433,1,0,0,0,1461, -1434,1,0,0,0,1461,1440,1,0,0,0,1461,1444,1,0,0,0,1461,1449,1,0,0,0,1461, -1458,1,0,0,0,1462,1488,1,0,0,0,1463,1464,10,2,0,0,1464,1465,5,6,0,0,1465, -1466,5,48,0,0,1466,1467,5,49,0,0,1467,1487,3,68,34,3,1468,1469,10,6,0,0, -1469,1470,5,309,0,0,1470,1471,3,66,33,0,1471,1472,5,310,0,0,1472,1487,1, -0,0,0,1473,1474,10,5,0,0,1474,1476,5,309,0,0,1475,1477,3,66,33,0,1476,1475, -1,0,0,0,1476,1477,1,0,0,0,1477,1478,1,0,0,0,1478,1480,5,302,0,0,1479,1481, -3,66,33,0,1480,1479,1,0,0,0,1480,1481,1,0,0,0,1481,1482,1,0,0,0,1482,1487, -5,310,0,0,1483,1484,10,3,0,0,1484,1485,5,300,0,0,1485,1487,3,192,96,0,1486, -1463,1,0,0,0,1486,1468,1,0,0,0,1486,1473,1,0,0,0,1486,1483,1,0,0,0,1487, -1490,1,0,0,0,1488,1486,1,0,0,0,1488,1489,1,0,0,0,1489,69,1,0,0,0,1490,1488, -1,0,0,0,1491,1608,5,56,0,0,1492,1497,5,57,0,0,1493,1494,5,305,0,0,1494,1495, -3,144,72,0,1495,1496,5,306,0,0,1496,1498,1,0,0,0,1497,1493,1,0,0,0,1497, -1498,1,0,0,0,1498,1608,1,0,0,0,1499,1504,5,58,0,0,1500,1501,5,305,0,0,1501, -1502,3,144,72,0,1502,1503,5,306,0,0,1503,1505,1,0,0,0,1504,1500,1,0,0,0, -1504,1505,1,0,0,0,1505,1608,1,0,0,0,1506,1608,5,59,0,0,1507,1608,7,22,0, -0,1508,1608,5,62,0,0,1509,1510,5,75,0,0,1510,1511,5,305,0,0,1511,1512,3, -58,29,0,1512,1513,5,303,0,0,1513,1514,3,58,29,0,1514,1515,5,306,0,0,1515, -1608,1,0,0,0,1516,1517,5,76,0,0,1517,1518,5,305,0,0,1518,1519,3,58,29,0, -1519,1520,5,303,0,0,1520,1521,3,58,29,0,1521,1522,5,306,0,0,1522,1608,1, -0,0,0,1523,1524,5,42,0,0,1524,1525,5,305,0,0,1525,1526,3,58,29,0,1526,1527, -5,3,0,0,1527,1530,3,58,29,0,1528,1529,5,47,0,0,1529,1531,3,58,29,0,1530, -1528,1,0,0,0,1530,1531,1,0,0,0,1531,1532,1,0,0,0,1532,1533,5,306,0,0,1533, -1608,1,0,0,0,1534,1535,5,43,0,0,1535,1543,5,305,0,0,1536,1538,7,23,0,0,1537, -1536,1,0,0,0,1537,1538,1,0,0,0,1538,1540,1,0,0,0,1539,1541,3,58,29,0,1540, -1539,1,0,0,0,1540,1541,1,0,0,0,1541,1542,1,0,0,0,1542,1544,5,3,0,0,1543, -1537,1,0,0,0,1543,1544,1,0,0,0,1544,1545,1,0,0,0,1545,1546,3,58,29,0,1546, -1547,5,306,0,0,1547,1608,1,0,0,0,1548,1549,5,63,0,0,1549,1550,5,305,0,0, -1550,1551,3,130,65,0,1551,1552,5,3,0,0,1552,1553,3,58,29,0,1553,1554,5,306, -0,0,1554,1608,1,0,0,0,1555,1556,5,183,0,0,1556,1557,5,305,0,0,1557,1558, -3,58,29,0,1558,1559,5,5,0,0,1559,1560,3,192,96,0,1560,1561,5,306,0,0,1561, -1608,1,0,0,0,1562,1563,5,184,0,0,1563,1564,5,305,0,0,1564,1565,3,58,29,0, -1565,1566,5,5,0,0,1566,1567,3,192,96,0,1567,1568,5,306,0,0,1568,1608,1,0, -0,0,1569,1570,5,64,0,0,1570,1572,3,58,29,0,1571,1573,3,102,51,0,1572,1571, -1,0,0,0,1573,1574,1,0,0,0,1574,1572,1,0,0,0,1574,1575,1,0,0,0,1575,1578, -1,0,0,0,1576,1577,5,67,0,0,1577,1579,3,58,29,0,1578,1576,1,0,0,0,1578,1579, -1,0,0,0,1579,1580,1,0,0,0,1580,1581,5,68,0,0,1581,1608,1,0,0,0,1582,1584, -5,64,0,0,1583,1585,3,102,51,0,1584,1583,1,0,0,0,1585,1586,1,0,0,0,1586,1584, -1,0,0,0,1586,1587,1,0,0,0,1587,1590,1,0,0,0,1588,1589,5,67,0,0,1589,1591, -3,58,29,0,1590,1588,1,0,0,0,1590,1591,1,0,0,0,1591,1592,1,0,0,0,1592,1593, -5,68,0,0,1593,1608,1,0,0,0,1594,1595,5,69,0,0,1595,1596,5,305,0,0,1596,1597, -3,58,29,0,1597,1598,5,303,0,0,1598,1601,3,58,29,0,1599,1600,5,303,0,0,1600, -1602,3,58,29,0,1601,1599,1,0,0,0,1601,1602,1,0,0,0,1602,1603,1,0,0,0,1603, -1604,5,306,0,0,1604,1608,1,0,0,0,1605,1606,5,233,0,0,1606,1608,3,72,36,0, -1607,1491,1,0,0,0,1607,1492,1,0,0,0,1607,1499,1,0,0,0,1607,1506,1,0,0,0, -1607,1507,1,0,0,0,1607,1508,1,0,0,0,1607,1509,1,0,0,0,1607,1516,1,0,0,0, -1607,1523,1,0,0,0,1607,1534,1,0,0,0,1607,1548,1,0,0,0,1607,1555,1,0,0,0, -1607,1562,1,0,0,0,1607,1569,1,0,0,0,1607,1582,1,0,0,0,1607,1594,1,0,0,0, -1607,1605,1,0,0,0,1608,71,1,0,0,0,1609,1610,5,305,0,0,1610,1611,3,14,7,0, -1611,1612,5,306,0,0,1612,73,1,0,0,0,1613,1642,3,76,38,0,1614,1616,5,233, -0,0,1615,1614,1,0,0,0,1615,1616,1,0,0,0,1616,1617,1,0,0,0,1617,1626,5,309, -0,0,1618,1623,3,58,29,0,1619,1620,5,303,0,0,1620,1622,3,58,29,0,1621,1619, -1,0,0,0,1622,1625,1,0,0,0,1623,1621,1,0,0,0,1623,1624,1,0,0,0,1624,1627, -1,0,0,0,1625,1623,1,0,0,0,1626,1618,1,0,0,0,1626,1627,1,0,0,0,1627,1628, -1,0,0,0,1628,1642,5,310,0,0,1629,1638,5,307,0,0,1630,1635,3,146,73,0,1631, -1632,5,303,0,0,1632,1634,3,146,73,0,1633,1631,1,0,0,0,1634,1637,1,0,0,0, -1635,1633,1,0,0,0,1635,1636,1,0,0,0,1636,1639,1,0,0,0,1637,1635,1,0,0,0, -1638,1630,1,0,0,0,1638,1639,1,0,0,0,1639,1640,1,0,0,0,1640,1642,5,308,0, -0,1641,1613,1,0,0,0,1641,1615,1,0,0,0,1641,1629,1,0,0,0,1642,75,1,0,0,0, -1643,1652,3,86,43,0,1644,1652,3,136,68,0,1645,1652,3,88,44,0,1646,1652,3, -92,46,0,1647,1652,3,134,67,0,1648,1652,3,140,70,0,1649,1652,3,94,47,0,1650, -1652,3,84,42,0,1651,1643,1,0,0,0,1651,1644,1,0,0,0,1651,1645,1,0,0,0,1651, -1646,1,0,0,0,1651,1647,1,0,0,0,1651,1648,1,0,0,0,1651,1649,1,0,0,0,1651, -1650,1,0,0,0,1652,77,1,0,0,0,1653,1675,3,84,42,0,1654,1675,3,144,72,0,1655, -1675,3,86,43,0,1656,1657,3,74,37,0,1657,1658,5,300,0,0,1658,1659,3,192,96, -0,1659,1675,1,0,0,0,1660,1661,5,183,0,0,1661,1662,5,305,0,0,1662,1663,3, -58,29,0,1663,1664,5,5,0,0,1664,1665,3,192,96,0,1665,1666,5,306,0,0,1666, -1675,1,0,0,0,1667,1668,5,184,0,0,1668,1669,5,305,0,0,1669,1670,3,58,29,0, -1670,1671,5,5,0,0,1671,1672,3,192,96,0,1672,1673,5,306,0,0,1673,1675,1,0, -0,0,1674,1653,1,0,0,0,1674,1654,1,0,0,0,1674,1655,1,0,0,0,1674,1656,1,0, -0,0,1674,1660,1,0,0,0,1674,1667,1,0,0,0,1675,79,1,0,0,0,1676,1679,3,84,42, -0,1677,1679,3,124,62,0,1678,1676,1,0,0,0,1678,1677,1,0,0,0,1679,81,1,0,0, -0,1680,1683,3,84,42,0,1681,1683,3,92,46,0,1682,1680,1,0,0,0,1682,1681,1, -0,0,0,1683,83,1,0,0,0,1684,1685,5,313,0,0,1685,1688,3,144,72,0,1686,1688, -5,312,0,0,1687,1684,1,0,0,0,1687,1686,1,0,0,0,1688,85,1,0,0,0,1689,1690, -5,29,0,0,1690,87,1,0,0,0,1691,1692,5,318,0,0,1692,89,1,0,0,0,1693,1697,5, -326,0,0,1694,1696,5,330,0,0,1695,1694,1,0,0,0,1696,1699,1,0,0,0,1697,1695, -1,0,0,0,1697,1698,1,0,0,0,1698,1700,1,0,0,0,1699,1697,1,0,0,0,1700,1701, -5,331,0,0,1701,91,1,0,0,0,1702,1705,5,317,0,0,1703,1705,3,90,45,0,1704,1702, -1,0,0,0,1704,1703,1,0,0,0,1705,93,1,0,0,0,1706,1707,5,319,0,0,1707,95,1, -0,0,0,1708,1709,6,48,-1,0,1709,1710,3,116,58,0,1710,1718,1,0,0,0,1711,1712, -10,2,0,0,1712,1713,5,309,0,0,1713,1714,3,66,33,0,1714,1715,5,310,0,0,1715, -1717,1,0,0,0,1716,1711,1,0,0,0,1717,1720,1,0,0,0,1718,1716,1,0,0,0,1718, -1719,1,0,0,0,1719,97,1,0,0,0,1720,1718,1,0,0,0,1721,1722,7,24,0,0,1722,99, -1,0,0,0,1723,1724,7,25,0,0,1724,101,1,0,0,0,1725,1726,5,65,0,0,1726,1727, -3,58,29,0,1727,1728,5,66,0,0,1728,1729,3,58,29,0,1729,103,1,0,0,0,1730,1731, -3,124,62,0,1731,1732,5,5,0,0,1732,1733,3,108,54,0,1733,105,1,0,0,0,1734, -1735,5,81,0,0,1735,1736,3,108,54,0,1736,107,1,0,0,0,1737,1771,3,124,62,0, -1738,1740,5,305,0,0,1739,1741,3,124,62,0,1740,1739,1,0,0,0,1740,1741,1,0, -0,0,1741,1752,1,0,0,0,1742,1743,5,83,0,0,1743,1744,5,15,0,0,1744,1749,3, -58,29,0,1745,1746,5,303,0,0,1746,1748,3,58,29,0,1747,1745,1,0,0,0,1748,1751, -1,0,0,0,1749,1747,1,0,0,0,1749,1750,1,0,0,0,1750,1753,1,0,0,0,1751,1749, -1,0,0,0,1752,1742,1,0,0,0,1752,1753,1,0,0,0,1753,1764,1,0,0,0,1754,1755, -5,16,0,0,1755,1756,5,15,0,0,1756,1761,3,26,13,0,1757,1758,5,303,0,0,1758, -1760,3,26,13,0,1759,1757,1,0,0,0,1760,1763,1,0,0,0,1761,1759,1,0,0,0,1761, -1762,1,0,0,0,1762,1765,1,0,0,0,1763,1761,1,0,0,0,1764,1754,1,0,0,0,1764, -1765,1,0,0,0,1765,1767,1,0,0,0,1766,1768,3,110,55,0,1767,1766,1,0,0,0,1767, -1768,1,0,0,0,1768,1769,1,0,0,0,1769,1771,5,306,0,0,1770,1737,1,0,0,0,1770, -1738,1,0,0,0,1771,109,1,0,0,0,1772,1773,5,85,0,0,1773,1789,3,112,56,0,1774, -1775,5,86,0,0,1775,1789,3,112,56,0,1776,1777,5,85,0,0,1777,1778,5,25,0,0, -1778,1779,3,112,56,0,1779,1780,5,21,0,0,1780,1781,3,112,56,0,1781,1789,1, -0,0,0,1782,1783,5,86,0,0,1783,1784,5,25,0,0,1784,1785,3,112,56,0,1785,1786, -5,21,0,0,1786,1787,3,112,56,0,1787,1789,1,0,0,0,1788,1772,1,0,0,0,1788,1774, -1,0,0,0,1788,1776,1,0,0,0,1788,1782,1,0,0,0,1789,111,1,0,0,0,1790,1791,5, -87,0,0,1791,1800,5,88,0,0,1792,1793,5,87,0,0,1793,1800,5,89,0,0,1794,1795, -5,90,0,0,1795,1800,5,91,0,0,1796,1797,3,58,29,0,1797,1798,7,26,0,0,1798, -1800,1,0,0,0,1799,1790,1,0,0,0,1799,1792,1,0,0,0,1799,1794,1,0,0,0,1799, -1796,1,0,0,0,1800,113,1,0,0,0,1801,1806,3,116,58,0,1802,1803,5,303,0,0,1803, -1805,3,116,58,0,1804,1802,1,0,0,0,1805,1808,1,0,0,0,1806,1804,1,0,0,0,1806, -1807,1,0,0,0,1807,115,1,0,0,0,1808,1806,1,0,0,0,1809,1814,3,124,62,0,1810, -1811,5,304,0,0,1811,1813,3,124,62,0,1812,1810,1,0,0,0,1813,1816,1,0,0,0, -1814,1812,1,0,0,0,1814,1815,1,0,0,0,1815,117,1,0,0,0,1816,1814,1,0,0,0,1817, -1821,3,120,60,0,1818,1820,3,120,60,0,1819,1818,1,0,0,0,1820,1823,1,0,0,0, -1821,1819,1,0,0,0,1821,1822,1,0,0,0,1822,119,1,0,0,0,1823,1821,1,0,0,0,1824, -1826,3,124,62,0,1825,1827,3,76,38,0,1826,1825,1,0,0,0,1826,1827,1,0,0,0, -1827,121,1,0,0,0,1828,1833,3,124,62,0,1829,1830,5,303,0,0,1830,1832,3,124, -62,0,1831,1829,1,0,0,0,1832,1835,1,0,0,0,1833,1831,1,0,0,0,1833,1834,1,0, -0,0,1834,123,1,0,0,0,1835,1833,1,0,0,0,1836,1839,3,126,63,0,1837,1839,3, -128,64,0,1838,1836,1,0,0,0,1838,1837,1,0,0,0,1839,125,1,0,0,0,1840,1844, -5,322,0,0,1841,1844,3,248,124,0,1842,1844,5,323,0,0,1843,1840,1,0,0,0,1843, -1841,1,0,0,0,1843,1842,1,0,0,0,1844,127,1,0,0,0,1845,1848,5,324,0,0,1846, -1848,5,325,0,0,1847,1845,1,0,0,0,1847,1846,1,0,0,0,1848,129,1,0,0,0,1849, -1852,3,124,62,0,1850,1852,3,92,46,0,1851,1849,1,0,0,0,1851,1850,1,0,0,0, -1852,131,1,0,0,0,1853,1857,3,124,62,0,1854,1857,3,116,58,0,1855,1857,3,92, -46,0,1856,1853,1,0,0,0,1856,1854,1,0,0,0,1856,1855,1,0,0,0,1857,133,1,0, -0,0,1858,1861,3,142,71,0,1859,1861,3,144,72,0,1860,1858,1,0,0,0,1860,1859, -1,0,0,0,1861,135,1,0,0,0,1862,1864,5,70,0,0,1863,1865,7,18,0,0,1864,1863, -1,0,0,0,1864,1865,1,0,0,0,1865,1866,1,0,0,0,1866,1867,3,92,46,0,1867,1870, -3,138,69,0,1868,1869,5,4,0,0,1869,1871,3,138,69,0,1870,1868,1,0,0,0,1870, -1871,1,0,0,0,1871,137,1,0,0,0,1872,1873,7,27,0,0,1873,139,1,0,0,0,1874,1875, -7,28,0,0,1875,141,1,0,0,0,1876,1877,5,321,0,0,1877,143,1,0,0,0,1878,1879, -5,320,0,0,1879,145,1,0,0,0,1880,1881,3,124,62,0,1881,1882,5,282,0,0,1882, -1883,3,58,29,0,1883,147,1,0,0,0,1884,1890,3,14,7,0,1885,1886,5,305,0,0,1886, -1887,3,14,7,0,1887,1888,5,306,0,0,1888,1890,1,0,0,0,1889,1884,1,0,0,0,1889, -1885,1,0,0,0,1890,149,1,0,0,0,1891,1892,5,80,0,0,1892,1894,5,213,0,0,1893, -1895,3,152,76,0,1894,1893,1,0,0,0,1894,1895,1,0,0,0,1895,1896,1,0,0,0,1896, -1897,5,214,0,0,1897,1913,5,215,0,0,1898,1899,5,80,0,0,1899,1900,5,213,0, -0,1900,1901,3,152,76,0,1901,1902,5,214,0,0,1902,1903,5,210,0,0,1903,1904, -5,216,0,0,1904,1909,3,158,79,0,1905,1906,5,303,0,0,1906,1908,3,158,79,0, -1907,1905,1,0,0,0,1908,1911,1,0,0,0,1909,1907,1,0,0,0,1909,1910,1,0,0,0, -1910,1913,1,0,0,0,1911,1909,1,0,0,0,1912,1891,1,0,0,0,1912,1898,1,0,0,0, -1913,151,1,0,0,0,1914,1915,5,305,0,0,1915,1920,3,96,48,0,1916,1917,5,303, -0,0,1917,1919,3,96,48,0,1918,1916,1,0,0,0,1919,1922,1,0,0,0,1920,1918,1, -0,0,0,1920,1921,1,0,0,0,1921,1923,1,0,0,0,1922,1920,1,0,0,0,1923,1924,5, -306,0,0,1924,153,1,0,0,0,1925,1926,5,305,0,0,1926,1931,3,58,29,0,1927,1928, -5,303,0,0,1928,1930,3,58,29,0,1929,1927,1,0,0,0,1930,1933,1,0,0,0,1931,1929, -1,0,0,0,1931,1932,1,0,0,0,1932,1934,1,0,0,0,1933,1931,1,0,0,0,1934,1935, -5,306,0,0,1935,155,1,0,0,0,1936,1937,5,305,0,0,1937,1942,3,68,34,0,1938, -1939,5,303,0,0,1939,1941,3,68,34,0,1940,1938,1,0,0,0,1941,1944,1,0,0,0,1942, -1940,1,0,0,0,1942,1943,1,0,0,0,1943,1945,1,0,0,0,1944,1942,1,0,0,0,1945, -1946,5,306,0,0,1946,157,1,0,0,0,1947,1948,3,68,34,0,1948,1949,5,282,0,0, -1949,1950,3,58,29,0,1950,159,1,0,0,0,1951,1952,5,95,0,0,1952,1956,5,97,0, -0,1953,1954,5,69,0,0,1954,1955,5,23,0,0,1955,1957,5,24,0,0,1956,1953,1,0, -0,0,1956,1957,1,0,0,0,1957,1958,1,0,0,0,1958,1959,3,50,25,0,1959,1960,5, -305,0,0,1960,1965,3,182,91,0,1961,1962,5,303,0,0,1962,1964,3,182,91,0,1963, -1961,1,0,0,0,1964,1967,1,0,0,0,1965,1963,1,0,0,0,1965,1966,1,0,0,0,1966, -1968,1,0,0,0,1967,1965,1,0,0,0,1968,1969,5,306,0,0,1969,1971,3,174,87,0, -1970,1972,3,206,103,0,1971,1970,1,0,0,0,1971,1972,1,0,0,0,1972,2172,1,0, -0,0,1973,1974,5,95,0,0,1974,1975,5,97,0,0,1975,1976,3,50,25,0,1976,1977, -5,5,0,0,1977,1978,3,148,74,0,1978,2172,1,0,0,0,1979,1980,5,95,0,0,1980,1981, -5,275,0,0,1981,1985,5,97,0,0,1982,1983,5,69,0,0,1983,1984,5,23,0,0,1984, -1986,5,24,0,0,1985,1982,1,0,0,0,1985,1986,1,0,0,0,1986,1987,1,0,0,0,1987, -1988,3,116,58,0,1988,1989,5,305,0,0,1989,1994,3,182,91,0,1990,1991,5,303, -0,0,1991,1993,3,182,91,0,1992,1990,1,0,0,0,1993,1996,1,0,0,0,1994,1992,1, -0,0,0,1994,1995,1,0,0,0,1995,1997,1,0,0,0,1996,1994,1,0,0,0,1997,1998,5, -306,0,0,1998,1999,5,274,0,0,1999,2001,3,124,62,0,2000,2002,3,164,82,0,2001, -2000,1,0,0,0,2001,2002,1,0,0,0,2002,2172,1,0,0,0,2003,2004,5,95,0,0,2004, -2005,5,96,0,0,2005,2006,5,97,0,0,2006,2008,3,50,25,0,2007,2009,3,180,90, -0,2008,2007,1,0,0,0,2008,2009,1,0,0,0,2009,2011,1,0,0,0,2010,2012,3,206, -103,0,2011,2010,1,0,0,0,2011,2012,1,0,0,0,2012,2172,1,0,0,0,2013,2014,5, -95,0,0,2014,2015,5,104,0,0,2015,2016,3,124,62,0,2016,2017,5,178,0,0,2017, -2019,3,124,62,0,2018,2020,3,206,103,0,2019,2018,1,0,0,0,2019,2020,1,0,0, -0,2020,2172,1,0,0,0,2021,2022,5,95,0,0,2022,2023,5,105,0,0,2023,2027,3,116, -58,0,2024,2028,5,7,0,0,2025,2026,5,97,0,0,2026,2028,3,230,115,0,2027,2024, -1,0,0,0,2027,2025,1,0,0,0,2028,2030,1,0,0,0,2029,2031,3,206,103,0,2030,2029, -1,0,0,0,2030,2031,1,0,0,0,2031,2172,1,0,0,0,2032,2033,5,95,0,0,2033,2034, -5,234,0,0,2034,2037,3,124,62,0,2035,2036,5,235,0,0,2036,2038,3,124,62,0, -2037,2035,1,0,0,0,2037,2038,1,0,0,0,2038,2040,1,0,0,0,2039,2041,5,92,0,0, -2040,2039,1,0,0,0,2040,2041,1,0,0,0,2041,2042,1,0,0,0,2042,2043,5,305,0, -0,2043,2048,3,220,110,0,2044,2045,5,303,0,0,2045,2047,3,220,110,0,2046,2044, -1,0,0,0,2047,2050,1,0,0,0,2048,2046,1,0,0,0,2048,2049,1,0,0,0,2049,2051, -1,0,0,0,2050,2048,1,0,0,0,2051,2052,5,306,0,0,2052,2172,1,0,0,0,2053,2056, -5,95,0,0,2054,2055,5,20,0,0,2055,2057,5,161,0,0,2056,2054,1,0,0,0,2056,2057, -1,0,0,0,2057,2058,1,0,0,0,2058,2059,5,162,0,0,2059,2060,3,116,58,0,2060, -2069,5,305,0,0,2061,2066,3,168,84,0,2062,2063,5,303,0,0,2063,2065,3,168, -84,0,2064,2062,1,0,0,0,2065,2068,1,0,0,0,2066,2064,1,0,0,0,2066,2067,1,0, -0,0,2067,2070,1,0,0,0,2068,2066,1,0,0,0,2069,2061,1,0,0,0,2069,2070,1,0, -0,0,2070,2071,1,0,0,0,2071,2072,5,306,0,0,2072,2073,5,159,0,0,2073,2074, -3,192,96,0,2074,2075,5,163,0,0,2075,2076,3,80,40,0,2076,2077,5,5,0,0,2077, -2078,3,82,41,0,2078,2172,1,0,0,0,2079,2080,5,95,0,0,2080,2081,5,246,0,0, -2081,2085,5,279,0,0,2082,2083,5,69,0,0,2083,2084,5,23,0,0,2084,2086,5,24, -0,0,2085,2082,1,0,0,0,2085,2086,1,0,0,0,2086,2087,1,0,0,0,2087,2088,5,47, -0,0,2088,2089,3,162,81,0,2089,2090,5,274,0,0,2090,2092,3,124,62,0,2091,2093, -3,164,82,0,2092,2091,1,0,0,0,2092,2093,1,0,0,0,2093,2172,1,0,0,0,2094,2095, -5,95,0,0,2095,2096,7,7,0,0,2096,2110,3,124,62,0,2097,2109,3,206,103,0,2098, -2100,5,92,0,0,2099,2098,1,0,0,0,2099,2100,1,0,0,0,2100,2102,1,0,0,0,2101, -2103,5,305,0,0,2102,2101,1,0,0,0,2102,2103,1,0,0,0,2103,2104,1,0,0,0,2104, -2106,3,118,59,0,2105,2107,5,306,0,0,2106,2105,1,0,0,0,2106,2107,1,0,0,0, -2107,2109,1,0,0,0,2108,2097,1,0,0,0,2108,2099,1,0,0,0,2109,2111,1,0,0,0, -2110,2108,1,0,0,0,2110,2111,1,0,0,0,2111,2172,1,0,0,0,2112,2115,5,95,0,0, -2113,2114,5,20,0,0,2114,2116,5,161,0,0,2115,2113,1,0,0,0,2115,2116,1,0,0, -0,2116,2117,1,0,0,0,2117,2118,5,193,0,0,2118,2119,3,116,58,0,2119,2120,5, -5,0,0,2120,2121,3,12,6,0,2121,2172,1,0,0,0,2122,2123,5,95,0,0,2123,2124, -5,256,0,0,2124,2144,3,124,62,0,2125,2126,5,47,0,0,2126,2127,5,7,0,0,2127, -2145,5,186,0,0,2128,2129,5,47,0,0,2129,2130,5,97,0,0,2130,2132,3,116,58, -0,2131,2133,5,295,0,0,2132,2131,1,0,0,0,2132,2133,1,0,0,0,2133,2141,1,0, -0,0,2134,2135,5,303,0,0,2135,2137,3,116,58,0,2136,2138,5,295,0,0,2137,2136, -1,0,0,0,2137,2138,1,0,0,0,2138,2140,1,0,0,0,2139,2134,1,0,0,0,2140,2143, -1,0,0,0,2141,2139,1,0,0,0,2141,2142,1,0,0,0,2142,2145,1,0,0,0,2143,2141, -1,0,0,0,2144,2125,1,0,0,0,2144,2128,1,0,0,0,2144,2145,1,0,0,0,2145,2172, -1,0,0,0,2146,2147,5,95,0,0,2147,2148,5,257,0,0,2148,2149,3,124,62,0,2149, -2150,5,258,0,0,2150,2151,3,58,29,0,2151,2152,5,256,0,0,2152,2154,3,122,61, -0,2153,2155,3,206,103,0,2154,2153,1,0,0,0,2154,2155,1,0,0,0,2155,2172,1, -0,0,0,2156,2157,5,95,0,0,2157,2161,5,274,0,0,2158,2159,5,69,0,0,2159,2160, -5,23,0,0,2160,2162,5,24,0,0,2161,2158,1,0,0,0,2161,2162,1,0,0,0,2162,2163, -1,0,0,0,2163,2164,3,124,62,0,2164,2165,5,275,0,0,2165,2166,5,276,0,0,2166, -2167,5,277,0,0,2167,2169,3,124,62,0,2168,2170,3,164,82,0,2169,2168,1,0,0, -0,2169,2170,1,0,0,0,2170,2172,1,0,0,0,2171,1951,1,0,0,0,2171,1973,1,0,0, -0,2171,1979,1,0,0,0,2171,2003,1,0,0,0,2171,2013,1,0,0,0,2171,2021,1,0,0, -0,2171,2032,1,0,0,0,2171,2053,1,0,0,0,2171,2079,1,0,0,0,2171,2094,1,0,0, -0,2171,2112,1,0,0,0,2171,2122,1,0,0,0,2171,2146,1,0,0,0,2171,2156,1,0,0, -0,2172,161,1,0,0,0,2173,2178,3,124,62,0,2174,2178,5,246,0,0,2175,2178,5, -61,0,0,2176,2178,5,60,0,0,2177,2173,1,0,0,0,2177,2174,1,0,0,0,2177,2175, -1,0,0,0,2177,2176,1,0,0,0,2178,163,1,0,0,0,2179,2180,5,278,0,0,2180,2181, -5,305,0,0,2181,2186,3,166,83,0,2182,2183,5,303,0,0,2183,2185,3,166,83,0, -2184,2182,1,0,0,0,2185,2188,1,0,0,0,2186,2184,1,0,0,0,2186,2187,1,0,0,0, -2187,2189,1,0,0,0,2188,2186,1,0,0,0,2189,2190,5,306,0,0,2190,165,1,0,0,0, -2191,2192,3,124,62,0,2192,2193,3,74,37,0,2193,167,1,0,0,0,2194,2196,3,124, -62,0,2195,2194,1,0,0,0,2195,2196,1,0,0,0,2196,2197,1,0,0,0,2197,2198,3,192, -96,0,2198,169,1,0,0,0,2199,2200,5,108,0,0,2200,2203,3,116,58,0,2201,2203, -3,48,24,0,2202,2199,1,0,0,0,2202,2201,1,0,0,0,2203,171,1,0,0,0,2204,2205, -7,29,0,0,2205,173,1,0,0,0,2206,2208,3,176,88,0,2207,2206,1,0,0,0,2207,2208, -1,0,0,0,2208,2210,1,0,0,0,2209,2211,3,178,89,0,2210,2209,1,0,0,0,2210,2211, -1,0,0,0,2211,2219,1,0,0,0,2212,2214,3,178,89,0,2213,2212,1,0,0,0,2213,2214, -1,0,0,0,2214,2216,1,0,0,0,2215,2217,3,176,88,0,2216,2215,1,0,0,0,2216,2217, -1,0,0,0,2217,2219,1,0,0,0,2218,2207,1,0,0,0,2218,2213,1,0,0,0,2219,175,1, -0,0,0,2220,2221,5,239,0,0,2221,2222,5,15,0,0,2222,2223,3,156,78,0,2223,177, -1,0,0,0,2224,2230,5,220,0,0,2225,2226,5,15,0,0,2226,2227,5,305,0,0,2227, -2228,3,68,34,0,2228,2229,5,306,0,0,2229,2231,1,0,0,0,2230,2225,1,0,0,0,2230, -2231,1,0,0,0,2231,2236,1,0,0,0,2232,2233,5,207,0,0,2233,2234,3,78,39,0,2234, -2235,5,221,0,0,2235,2237,1,0,0,0,2236,2232,1,0,0,0,2236,2237,1,0,0,0,2237, -179,1,0,0,0,2238,2239,5,220,0,0,2239,2240,5,207,0,0,2240,2241,3,78,39,0, -2241,2242,5,221,0,0,2242,181,1,0,0,0,2243,2257,3,184,92,0,2244,2245,3,202, -101,0,2245,2246,3,156,78,0,2246,2257,1,0,0,0,2247,2248,5,227,0,0,2248,2249, -3,124,62,0,2249,2250,5,79,0,0,2250,2251,3,124,62,0,2251,2253,3,156,78,0, -2252,2254,3,206,103,0,2253,2252,1,0,0,0,2253,2254,1,0,0,0,2254,2257,1,0, -0,0,2255,2257,3,204,102,0,2256,2243,1,0,0,0,2256,2244,1,0,0,0,2256,2247, -1,0,0,0,2256,2255,1,0,0,0,2257,183,1,0,0,0,2258,2260,3,124,62,0,2259,2261, -3,192,96,0,2260,2259,1,0,0,0,2260,2261,1,0,0,0,2261,2265,1,0,0,0,2262,2264, -3,200,100,0,2263,2262,1,0,0,0,2264,2267,1,0,0,0,2265,2263,1,0,0,0,2265,2266, -1,0,0,0,2266,185,1,0,0,0,2267,2265,1,0,0,0,2268,2270,5,109,0,0,2269,2271, -5,110,0,0,2270,2269,1,0,0,0,2270,2271,1,0,0,0,2271,2272,1,0,0,0,2272,2274, -3,96,48,0,2273,2275,3,192,96,0,2274,2273,1,0,0,0,2274,2275,1,0,0,0,2275, -2279,1,0,0,0,2276,2278,3,200,100,0,2277,2276,1,0,0,0,2278,2281,1,0,0,0,2279, -2277,1,0,0,0,2279,2280,1,0,0,0,2280,187,1,0,0,0,2281,2279,1,0,0,0,2282,2284, -5,197,0,0,2283,2285,5,110,0,0,2284,2283,1,0,0,0,2284,2285,1,0,0,0,2285,2288, -1,0,0,0,2286,2287,5,69,0,0,2287,2289,5,24,0,0,2288,2286,1,0,0,0,2288,2289, -1,0,0,0,2289,2290,1,0,0,0,2290,2291,3,96,48,0,2291,189,1,0,0,0,2292,2293, -5,115,0,0,2293,2294,5,116,0,0,2294,2295,3,78,39,0,2295,2296,5,3,0,0,2296, -2297,3,82,41,0,2297,2298,5,4,0,0,2298,2299,3,82,41,0,2299,2325,1,0,0,0,2300, -2301,5,117,0,0,2301,2302,5,118,0,0,2302,2303,5,116,0,0,2303,2304,3,78,39, -0,2304,2305,5,80,0,0,2305,2306,3,82,41,0,2306,2325,1,0,0,0,2307,2308,5,84, -0,0,2308,2309,5,118,0,0,2309,2310,5,116,0,0,2310,2311,3,78,39,0,2311,2312, -5,80,0,0,2312,2314,3,82,41,0,2313,2315,3,206,103,0,2314,2313,1,0,0,0,2314, -2315,1,0,0,0,2315,2325,1,0,0,0,2316,2317,5,119,0,0,2317,2318,5,116,0,0,2318, -2319,3,78,39,0,2319,2320,5,80,0,0,2320,2322,3,82,41,0,2321,2323,3,206,103, -0,2322,2321,1,0,0,0,2322,2323,1,0,0,0,2323,2325,1,0,0,0,2324,2292,1,0,0, -0,2324,2300,1,0,0,0,2324,2307,1,0,0,0,2324,2316,1,0,0,0,2325,191,1,0,0,0, -2326,2327,6,96,-1,0,2327,2339,3,194,97,0,2328,2329,5,305,0,0,2329,2334,3, -144,72,0,2330,2331,5,303,0,0,2331,2333,3,144,72,0,2332,2330,1,0,0,0,2333, -2336,1,0,0,0,2334,2332,1,0,0,0,2334,2335,1,0,0,0,2335,2337,1,0,0,0,2336, -2334,1,0,0,0,2337,2338,5,306,0,0,2338,2340,1,0,0,0,2339,2328,1,0,0,0,2339, -2340,1,0,0,0,2340,2348,1,0,0,0,2341,2348,3,198,99,0,2342,2343,5,233,0,0, -2343,2344,5,305,0,0,2344,2345,3,192,96,0,2345,2346,5,306,0,0,2346,2348,1, -0,0,0,2347,2326,1,0,0,0,2347,2341,1,0,0,0,2347,2342,1,0,0,0,2348,2353,1, -0,0,0,2349,2350,10,1,0,0,2350,2352,5,311,0,0,2351,2349,1,0,0,0,2352,2355, -1,0,0,0,2353,2351,1,0,0,0,2353,2354,1,0,0,0,2354,193,1,0,0,0,2355,2353,1, -0,0,0,2356,2359,3,196,98,0,2357,2359,3,124,62,0,2358,2356,1,0,0,0,2358,2357, -1,0,0,0,2359,195,1,0,0,0,2360,2361,5,129,0,0,2361,2378,5,130,0,0,2362,2363, -5,131,0,0,2363,2364,5,93,0,0,2364,2365,5,48,0,0,2365,2378,5,49,0,0,2366, -2367,5,131,0,0,2367,2368,5,92,0,0,2368,2369,5,48,0,0,2369,2378,5,49,0,0, -2370,2371,5,48,0,0,2371,2372,5,92,0,0,2372,2373,5,48,0,0,2373,2378,5,49, -0,0,2374,2375,5,133,0,0,2375,2378,5,135,0,0,2376,2378,5,134,0,0,2377,2360, -1,0,0,0,2377,2362,1,0,0,0,2377,2366,1,0,0,0,2377,2370,1,0,0,0,2377,2374, -1,0,0,0,2377,2376,1,0,0,0,2378,197,1,0,0,0,2379,2383,5,136,0,0,2380,2381, -5,305,0,0,2381,2382,7,30,0,0,2382,2384,5,306,0,0,2383,2380,1,0,0,0,2383, -2384,1,0,0,0,2384,2397,1,0,0,0,2385,2386,5,5,0,0,2386,2387,5,305,0,0,2387, -2392,3,184,92,0,2388,2389,5,303,0,0,2389,2391,3,184,92,0,2390,2388,1,0,0, -0,2391,2394,1,0,0,0,2392,2390,1,0,0,0,2392,2393,1,0,0,0,2393,2395,1,0,0, -0,2394,2392,1,0,0,0,2395,2396,5,306,0,0,2396,2398,1,0,0,0,2397,2385,1,0, -0,0,2397,2398,1,0,0,0,2398,199,1,0,0,0,2399,2431,3,202,101,0,2400,2401,5, -23,0,0,2401,2431,5,29,0,0,2402,2431,5,29,0,0,2403,2404,5,227,0,0,2404,2405, -5,79,0,0,2405,2407,3,124,62,0,2406,2408,3,206,103,0,2407,2406,1,0,0,0,2407, -2408,1,0,0,0,2408,2431,1,0,0,0,2409,2410,5,227,0,0,2410,2431,5,223,0,0,2411, -2412,5,228,0,0,2412,2431,3,206,103,0,2413,2414,5,173,0,0,2414,2416,3,124, -62,0,2415,2413,1,0,0,0,2415,2416,1,0,0,0,2416,2417,1,0,0,0,2417,2418,5,218, -0,0,2418,2431,3,58,29,0,2419,2420,5,173,0,0,2420,2422,3,124,62,0,2421,2419, -1,0,0,0,2421,2422,1,0,0,0,2422,2425,1,0,0,0,2423,2424,5,244,0,0,2424,2426, -5,245,0,0,2425,2423,1,0,0,0,2425,2426,1,0,0,0,2426,2427,1,0,0,0,2427,2428, -5,5,0,0,2428,2431,3,58,29,0,2429,2431,3,204,102,0,2430,2399,1,0,0,0,2430, -2400,1,0,0,0,2430,2402,1,0,0,0,2430,2403,1,0,0,0,2430,2409,1,0,0,0,2430, -2411,1,0,0,0,2430,2415,1,0,0,0,2430,2421,1,0,0,0,2430,2429,1,0,0,0,2431, -201,1,0,0,0,2432,2433,5,173,0,0,2433,2435,3,124,62,0,2434,2432,1,0,0,0,2434, -2435,1,0,0,0,2435,2436,1,0,0,0,2436,2437,5,222,0,0,2437,203,1,0,0,0,2438, -2439,5,173,0,0,2439,2441,3,124,62,0,2440,2438,1,0,0,0,2440,2441,1,0,0,0, -2441,2442,1,0,0,0,2442,2443,5,174,0,0,2443,2444,5,305,0,0,2444,2445,3,60, -30,0,2445,2446,5,306,0,0,2446,205,1,0,0,0,2447,2448,5,92,0,0,2448,2449,5, -305,0,0,2449,2450,3,208,104,0,2450,2451,5,306,0,0,2451,207,1,0,0,0,2452, -2457,3,210,105,0,2453,2454,5,303,0,0,2454,2456,3,210,105,0,2455,2453,1,0, -0,0,2456,2459,1,0,0,0,2457,2455,1,0,0,0,2457,2458,1,0,0,0,2458,209,1,0,0, -0,2459,2457,1,0,0,0,2460,2461,3,124,62,0,2461,2462,5,282,0,0,2462,2463,3, -58,29,0,2463,211,1,0,0,0,2464,2465,5,305,0,0,2465,2470,3,214,107,0,2466, -2467,5,303,0,0,2467,2469,3,214,107,0,2468,2466,1,0,0,0,2469,2472,1,0,0,0, -2470,2468,1,0,0,0,2470,2471,1,0,0,0,2471,2473,1,0,0,0,2472,2470,1,0,0,0, -2473,2474,5,306,0,0,2474,213,1,0,0,0,2475,2477,7,31,0,0,2476,2478,3,140, -70,0,2477,2476,1,0,0,0,2477,2478,1,0,0,0,2478,215,1,0,0,0,2479,2492,3,218, -109,0,2480,2481,5,305,0,0,2481,2486,3,218,109,0,2482,2483,5,303,0,0,2483, -2485,3,218,109,0,2484,2482,1,0,0,0,2485,2488,1,0,0,0,2486,2484,1,0,0,0,2486, -2487,1,0,0,0,2487,2489,1,0,0,0,2488,2486,1,0,0,0,2489,2490,5,306,0,0,2490, -2492,1,0,0,0,2491,2479,1,0,0,0,2491,2480,1,0,0,0,2492,217,1,0,0,0,2493,2495, -3,96,48,0,2494,2496,3,76,38,0,2495,2494,1,0,0,0,2495,2496,1,0,0,0,2496,219, -1,0,0,0,2497,2502,3,222,111,0,2498,2502,3,224,112,0,2499,2502,3,226,113, -0,2500,2502,3,210,105,0,2501,2497,1,0,0,0,2501,2498,1,0,0,0,2501,2499,1, -0,0,0,2501,2500,1,0,0,0,2502,221,1,0,0,0,2503,2504,5,236,0,0,2504,2505,3, -228,114,0,2505,223,1,0,0,0,2506,2507,5,237,0,0,2507,2508,5,305,0,0,2508, -2513,3,228,114,0,2509,2510,5,303,0,0,2510,2512,3,228,114,0,2511,2509,1,0, -0,0,2512,2515,1,0,0,0,2513,2511,1,0,0,0,2513,2514,1,0,0,0,2514,2516,1,0, -0,0,2515,2513,1,0,0,0,2516,2517,5,306,0,0,2517,225,1,0,0,0,2518,2519,5,238, -0,0,2519,2520,5,305,0,0,2520,2525,3,228,114,0,2521,2522,5,303,0,0,2522,2524, -3,228,114,0,2523,2521,1,0,0,0,2524,2527,1,0,0,0,2525,2523,1,0,0,0,2525,2526, -1,0,0,0,2526,2528,1,0,0,0,2527,2525,1,0,0,0,2528,2529,5,306,0,0,2529,227, -1,0,0,0,2530,2532,3,124,62,0,2531,2533,3,206,103,0,2532,2531,1,0,0,0,2532, -2533,1,0,0,0,2533,229,1,0,0,0,2534,2539,3,48,24,0,2535,2536,5,303,0,0,2536, -2538,3,48,24,0,2537,2535,1,0,0,0,2538,2541,1,0,0,0,2539,2537,1,0,0,0,2539, -2540,1,0,0,0,2540,231,1,0,0,0,2541,2539,1,0,0,0,2542,2543,3,68,34,0,2543, -2544,7,3,0,0,2544,2545,3,58,29,0,2545,233,1,0,0,0,2546,2552,3,92,46,0,2547, -2552,3,140,70,0,2548,2552,3,134,67,0,2549,2552,3,124,62,0,2550,2552,3,236, -118,0,2551,2546,1,0,0,0,2551,2547,1,0,0,0,2551,2548,1,0,0,0,2551,2549,1, -0,0,0,2551,2550,1,0,0,0,2552,235,1,0,0,0,2553,2554,5,80,0,0,2554,237,1,0, -0,0,2555,2556,7,32,0,0,2556,239,1,0,0,0,2557,2558,5,150,0,0,2558,2559,5, -151,0,0,2559,2571,3,242,121,0,2560,2561,5,156,0,0,2561,2565,5,157,0,0,2562, -2563,5,156,0,0,2563,2565,5,108,0,0,2564,2560,1,0,0,0,2564,2562,1,0,0,0,2565, -2571,1,0,0,0,2566,2568,5,23,0,0,2567,2566,1,0,0,0,2567,2568,1,0,0,0,2568, -2569,1,0,0,0,2569,2571,5,158,0,0,2570,2557,1,0,0,0,2570,2564,1,0,0,0,2570, -2567,1,0,0,0,2571,241,1,0,0,0,2572,2580,5,152,0,0,2573,2574,5,153,0,0,2574, -2580,5,156,0,0,2575,2576,5,156,0,0,2576,2580,5,154,0,0,2577,2578,5,156,0, -0,2578,2580,5,155,0,0,2579,2572,1,0,0,0,2579,2573,1,0,0,0,2579,2575,1,0, -0,0,2579,2577,1,0,0,0,2580,243,1,0,0,0,2581,2605,5,38,0,0,2582,2605,5,273, -0,0,2583,2605,5,36,0,0,2584,2605,5,37,0,0,2585,2586,5,269,0,0,2586,2605, -3,144,72,0,2587,2589,5,272,0,0,2588,2590,5,294,0,0,2589,2588,1,0,0,0,2589, -2590,1,0,0,0,2590,2591,1,0,0,0,2591,2605,3,144,72,0,2592,2605,3,144,72,0, -2593,2605,5,7,0,0,2594,2605,5,270,0,0,2595,2596,5,270,0,0,2596,2605,3,144, -72,0,2597,2598,5,270,0,0,2598,2605,5,7,0,0,2599,2605,5,271,0,0,2600,2601, -5,271,0,0,2601,2605,3,144,72,0,2602,2603,5,271,0,0,2603,2605,5,7,0,0,2604, -2581,1,0,0,0,2604,2582,1,0,0,0,2604,2583,1,0,0,0,2604,2584,1,0,0,0,2604, -2585,1,0,0,0,2604,2587,1,0,0,0,2604,2592,1,0,0,0,2604,2593,1,0,0,0,2604, -2594,1,0,0,0,2604,2595,1,0,0,0,2604,2597,1,0,0,0,2604,2599,1,0,0,0,2604, -2600,1,0,0,0,2604,2602,1,0,0,0,2605,245,1,0,0,0,2606,2614,5,263,0,0,2607, -2614,5,265,0,0,2608,2614,5,264,0,0,2609,2611,5,266,0,0,2610,2609,1,0,0,0, -2610,2611,1,0,0,0,2611,2612,1,0,0,0,2612,2614,5,267,0,0,2613,2606,1,0,0, -0,2613,2607,1,0,0,0,2613,2608,1,0,0,0,2613,2610,1,0,0,0,2614,2617,1,0,0, -0,2615,2613,1,0,0,0,2615,2616,1,0,0,0,2616,247,1,0,0,0,2617,2615,1,0,0,0, -2618,2619,7,33,0,0,2619,249,1,0,0,0,338,255,259,265,275,279,284,287,293, -298,301,305,309,317,320,327,340,344,347,353,360,370,375,382,390,395,400, -410,417,425,430,436,443,453,456,461,468,477,482,493,498,502,505,515,518, -528,533,538,542,547,550,554,558,565,567,573,581,583,589,597,599,605,612, -616,627,634,637,643,645,652,659,675,684,687,695,702,712,719,726,730,737, -741,748,755,765,776,801,806,808,826,831,833,837,845,855,861,869,889,915, -920,924,932,943,946,958,961,964,967,970,973,975,980,988,993,1001,1006,1011, -1018,1022,1026,1033,1042,1045,1048,1057,1060,1064,1072,1075,1083,1086,1090, -1093,1100,1111,1136,1140,1144,1148,1152,1156,1158,1169,1174,1178,1182,1184, -1195,1205,1210,1216,1222,1227,1235,1246,1251,1273,1275,1277,1285,1287,1292, -1302,1310,1319,1325,1330,1336,1339,1348,1352,1357,1362,1371,1388,1390,1401, -1404,1410,1417,1420,1424,1428,1431,1454,1458,1461,1476,1480,1486,1488,1497, -1504,1530,1537,1540,1543,1574,1578,1586,1590,1601,1607,1615,1623,1626,1635, -1638,1641,1651,1674,1678,1682,1687,1697,1704,1718,1740,1749,1752,1761,1764, -1767,1770,1788,1799,1806,1814,1821,1826,1833,1838,1843,1847,1851,1856,1860, -1864,1870,1889,1894,1909,1912,1920,1931,1942,1956,1965,1971,1985,1994,2001, -2008,2011,2019,2027,2030,2037,2040,2048,2056,2066,2069,2085,2092,2099,2102, -2106,2108,2110,2115,2132,2137,2141,2144,2154,2161,2169,2171,2177,2186,2195, -2202,2207,2210,2213,2216,2218,2230,2236,2253,2256,2260,2265,2270,2274,2279, -2284,2288,2314,2322,2324,2334,2339,2347,2353,2358,2377,2383,2392,2397,2407, -2415,2421,2425,2430,2434,2440,2457,2470,2477,2486,2491,2495,2501,2513,2525, -2532,2539,2551,2564,2567,2570,2579,2589,2604,2610,2613,2615]; - - -const atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN); - -const decisionsToDFA = atn.decisionToState.map( (ds, index) => new antlr4.dfa.DFA(ds, index) ); - -const sharedContextCache = new antlr4.atn.PredictionContextCache(); - -export default class SqlBaseParser extends antlr4.Parser { - - static grammarFileName = "SqlBaseParser.g4"; - static literalNames = [ null, "'AUTHORIZATION'", "'SELECT'", "'FROM'", - "'TO'", "'AS'", "'AT'", "'ALL'", "'ANY'", "'SOME'", - "'DEALLOCATE'", "'DIRECTORY'", "'DISTINCT'", - "'WHERE'", "'GROUP'", "'BY'", "'ORDER'", "'HAVING'", - "'LIMIT'", "'OFFSET'", "'OR'", "'AND'", "'IN'", - "'NOT'", "'EXISTS'", "'BETWEEN'", "'LIKE'", - "'ILIKE'", "'IS'", "'NULL'", "'TRUE'", "'FALSE'", - "'IGNORE'", "'RESPECT'", "'NULLS'", "'FETCH'", - "'FIRST'", "'LAST'", "'NEXT'", "'ESCAPE'", "'ASC'", - "'DESC'", "'SUBSTRING'", "'TRIM'", "'LEADING'", - "'TRAILING'", "'BOTH'", "'FOR'", "'TIME'", "'ZONE'", - "'YEAR'", "'MONTH'", "'DAY'", "'HOUR'", "'MINUTE'", - "'SECOND'", "'CURRENT_DATE'", "'CURRENT_TIME'", - "'CURRENT_TIMESTAMP'", "'CURRENT_SCHEMA'", "'CURRENT_USER'", - "'CURRENT_ROLE'", "'SESSION_USER'", "'EXTRACT'", - "'CASE'", "'WHEN'", "'THEN'", "'ELSE'", "'END'", - "'IF'", "'INTERVAL'", "'JOIN'", "'CROSS'", "'OUTER'", - "'INNER'", "'LEFT'", "'RIGHT'", "'FULL'", "'NATURAL'", - "'USING'", "'ON'", "'OVER'", "'WINDOW'", "'PARTITION'", - "'PROMOTE'", "'RANGE'", "'ROWS'", "'UNBOUNDED'", - "'PRECEDING'", "'FOLLOWING'", "'CURRENT'", "'ROW'", - "'WITH'", "'WITHOUT'", "'RECURSIVE'", "'CREATE'", - "'BLOB'", "'TABLE'", "'SWAP'", "'GC'", "'DANGLING'", - "'ARTIFACTS'", "'DECOMMISSION'", "'CLUSTER'", - "'REPOSITORY'", "'SNAPSHOT'", "'ALTER'", "'KILL'", - "'ONLY'", "'ADD'", "'COLUMN'", "'OPEN'", "'CLOSE'", - "'RENAME'", "'REROUTE'", "'MOVE'", "'SHARD'", - "'ALLOCATE'", "'REPLICA'", "'CANCEL'", "'RETRY'", - "'FAILED'", "'BOOLEAN'", "'BYTE'", "'SHORT'", - "'INTEGER'", "'INT'", "'LONG'", "'FLOAT'", "'DOUBLE'", - "'PRECISION'", "'TIMESTAMP'", "'IP'", "'CHARACTER'", - "'\"CHAR\"'", "'VARYING'", "'OBJECT'", "'STRING'", - "'GEO_POINT'", "'GEO_SHAPE'", "'GLOBAL'", "'SESSION'", - "'LOCAL'", "'BEGIN'", "'START'", "'COMMIT'", - "'WORK'", "'TRANSACTION'", "'TRANSACTION_ISOLATION'", - "'CHARACTERISTICS'", "'ISOLATION'", "'LEVEL'", - "'SERIALIZABLE'", "'REPEATABLE'", "'COMMITTED'", - "'UNCOMMITTED'", "'READ'", "'WRITE'", "'DEFERRABLE'", - "'RETURNS'", "'CALLED'", "'REPLACE'", "'FUNCTION'", - "'LANGUAGE'", "'INPUT'", "'ANALYZE'", "'COSTS'", - "'VERBOSE'", "'DISCARD'", "'PLANS'", "'SEQUENCES'", - "'TEMPORARY'", "'TEMP'", "'CONSTRAINT'", "'CHECK'", - "'DESCRIBE'", "'EXPLAIN'", "'FORMAT'", "'TYPE'", - "'TEXT'", "'GRAPHVIZ'", "'LOGICAL'", "'DISTRIBUTED'", - "'CAST'", "'TRY_CAST'", "'SHOW'", "'TABLES'", - "'SCHEMAS'", "'CATALOGS'", "'COLUMNS'", "'PARTITIONS'", - "'FUNCTIONS'", "'MATERIALIZED'", "'VIEW'", "'OPTIMIZE'", - "'REFRESH'", "'RESTORE'", "'DROP'", "'ALIAS'", - "'UNION'", "'EXCEPT'", "'INTERSECT'", "'SYSTEM'", - "'BERNOULLI'", "'TABLESAMPLE'", "'STRATIFY'", - "'INSERT'", "'INTO'", "'VALUES'", "'DELETE'", - "'UPDATE'", "'KEY'", "'DUPLICATE'", "'CONFLICT'", - "'DO'", "'NOTHING'", "'SET'", "'RESET'", "'DEFAULT'", - "'COPY'", "'CLUSTERED'", "'SHARDS'", "'PRIMARY KEY'", - "'OFF'", "'FULLTEXT'", "'FILTER'", "'PLAIN'", - "'INDEX'", "'STORAGE'", "'RETURNING'", "'DYNAMIC'", - "'STRICT'", "'IGNORED'", "'ARRAY'", "'ANALYZER'", - "'EXTENDS'", "'TOKENIZER'", "'TOKEN_FILTERS'", - "'CHAR_FILTERS'", "'PARTITIONED'", "'PREPARE'", - "'TRANSIENT'", "'PERSISTENT'", "'MATCH'", "'GENERATED'", - "'ALWAYS'", "'USER'", "'ROLE'", "'GRANT'", "'DENY'", - "'REVOKE'", "'PRIVILEGES'", "'SCHEMA'", "'RETURN'", - "'SUMMARY'", "'METADATA'", "'PUBLICATION'", - "'SUBSCRIPTION'", "'CONNECTION'", "'ENABLE'", - "'DISABLE'", "'DECLARE'", "'CURSOR'", "'ASENSITIVE'", - "'INSENSITIVE'", "'BINARY'", "'NO'", "'SCROLL'", - "'HOLD'", "'ABSOLUTE'", "'FORWARD'", "'BACKWARD'", - "'RELATIVE'", "'PRIOR'", "'SERVER'", "'FOREIGN'", - "'DATA'", "'WRAPPER'", "'OPTIONS'", "'MAPPING'", - "'CASCADE'", "'RESTRICT'", "'='", null, "'<'", - "'<='", "'>'", "'>='", "'<<'", "'~'", "'!~'", - "'~*'", "'!~*'", "'+'", "'-'", "'*'", "'^'", - "'/'", "'%'", "'||'", "'::'", "';'", "':'", - "','", "'.'", "'('", "')'", "'{'", "'}'", "'['", - "']'", "'[]'", "'?'", "'$'", "'&'", "'|'", "'#'" ]; - static symbolicNames = [ null, "AUTHORIZATION", "SELECT", "FROM", "TO", - "AS", "AT", "ALL", "ANY", "SOME", "DEALLOCATE", - "DIRECTORY", "DISTINCT", "WHERE", "GROUP", - "BY", "ORDER", "HAVING", "LIMIT", "OFFSET", - "OR", "AND", "IN", "NOT", "EXISTS", "BETWEEN", - "LIKE", "ILIKE", "IS", "NULL", "TRUE", "FALSE", - "IGNORE", "RESPECT", "NULLS", "FETCH", "FIRST", - "LAST", "NEXT", "ESCAPE", "ASC", "DESC", "SUBSTRING", - "TRIM", "LEADING", "TRAILING", "BOTH", "FOR", - "TIME", "ZONE", "YEAR", "MONTH", "DAY", "HOUR", - "MINUTE", "SECOND", "CURRENT_DATE", "CURRENT_TIME", - "CURRENT_TIMESTAMP", "CURRENT_SCHEMA", "CURRENT_USER", - "CURRENT_ROLE", "SESSION_USER", "EXTRACT", - "CASE", "WHEN", "THEN", "ELSE", "END", "IF", - "INTERVAL", "JOIN", "CROSS", "OUTER", "INNER", - "LEFT", "RIGHT", "FULL", "NATURAL", "USING", - "ON", "OVER", "WINDOW", "PARTITION", "PROMOTE", - "RANGE", "ROWS", "UNBOUNDED", "PRECEDING", - "FOLLOWING", "CURRENT", "ROW", "WITH", "WITHOUT", - "RECURSIVE", "CREATE", "BLOB", "TABLE", "SWAP", - "GC", "DANGLING", "ARTIFACTS", "DECOMMISSION", - "CLUSTER", "REPOSITORY", "SNAPSHOT", "ALTER", - "KILL", "ONLY", "ADD", "COLUMN", "OPEN", "CLOSE", - "RENAME", "REROUTE", "MOVE", "SHARD", "ALLOCATE", - "REPLICA", "CANCEL", "RETRY", "FAILED", "BOOLEAN", - "BYTE", "SHORT", "INTEGER", "INT", "LONG", - "FLOAT", "DOUBLE", "PRECISION", "TIMESTAMP", - "IP", "CHARACTER", "CHAR_SPECIAL", "VARYING", - "OBJECT", "STRING_TYPE", "GEO_POINT", "GEO_SHAPE", - "GLOBAL", "SESSION", "LOCAL", "BEGIN", "START", - "COMMIT", "WORK", "TRANSACTION", "TRANSACTION_ISOLATION", - "CHARACTERISTICS", "ISOLATION", "LEVEL", "SERIALIZABLE", - "REPEATABLE", "COMMITTED", "UNCOMMITTED", "READ", - "WRITE", "DEFERRABLE", "RETURNS", "CALLED", - "REPLACE", "FUNCTION", "LANGUAGE", "INPUT", - "ANALYZE", "COSTS", "VERBOSE", "DISCARD", "PLANS", - "SEQUENCES", "TEMPORARY", "TEMP", "CONSTRAINT", - "CHECK", "DESCRIBE", "EXPLAIN", "FORMAT", "TYPE", - "TEXT", "GRAPHVIZ", "LOGICAL", "DISTRIBUTED", - "CAST", "TRY_CAST", "SHOW", "TABLES", "SCHEMAS", - "CATALOGS", "COLUMNS", "PARTITIONS", "FUNCTIONS", - "MATERIALIZED", "VIEW", "OPTIMIZE", "REFRESH", - "RESTORE", "DROP", "ALIAS", "UNION", "EXCEPT", - "INTERSECT", "SYSTEM", "BERNOULLI", "TABLESAMPLE", - "STRATIFY", "INSERT", "INTO", "VALUES", "DELETE", - "UPDATE", "KEY", "DUPLICATE", "CONFLICT", "DO", - "NOTHING", "SET", "RESET", "DEFAULT", "COPY", - "CLUSTERED", "SHARDS", "PRIMARY_KEY", "OFF", - "FULLTEXT", "FILTER", "PLAIN", "INDEX", "STORAGE", - "RETURNING", "DYNAMIC", "STRICT", "IGNORED", - "ARRAY", "ANALYZER", "EXTENDS", "TOKENIZER", - "TOKEN_FILTERS", "CHAR_FILTERS", "PARTITIONED", - "PREPARE", "TRANSIENT", "PERSISTENT", "MATCH", - "GENERATED", "ALWAYS", "USER", "ROLE", "GRANT", - "DENY", "REVOKE", "PRIVILEGES", "SCHEMA", "RETURN", - "SUMMARY", "METADATA", "PUBLICATION", "SUBSCRIPTION", - "CONNECTION", "ENABLE", "DISABLE", "DECLARE", - "CURSOR", "ASENSITIVE", "INSENSITIVE", "BINARY", - "NO", "SCROLL", "HOLD", "ABSOLUTE", "FORWARD", - "BACKWARD", "RELATIVE", "PRIOR", "SERVER", - "FOREIGN", "DATA", "WRAPPER", "OPTIONS", "MAPPING", - "CASCADE", "RESTRICT", "EQ", "NEQ", "LT", "LTE", - "GT", "GTE", "LLT", "REGEX_MATCH", "REGEX_NO_MATCH", - "REGEX_MATCH_CI", "REGEX_NO_MATCH_CI", "PLUS", - "MINUS", "ASTERISK", "CARET", "SLASH", "PERCENT", - "CONCAT", "CAST_OPERATOR", "SEMICOLON", "COLON", - "COMMA", "DOT", "OPEN_ROUND_BRACKET", "CLOSE_ROUND_BRACKET", - "OPEN_CURLY_BRACKET", "CLOSE_CURLY_BRACKET", - "OPEN_SQUARE_BRACKET", "CLOSE_SQUARE_BRACKET", - "EMPTY_SQUARE_BRACKET", "QUESTION", "DOLLAR", - "BITWISE_AND", "BITWISE_OR", "BITWISE_XOR", - "STRING", "ESCAPED_STRING", "BIT_STRING", "INTEGER_VALUE", - "DECIMAL_VALUE", "IDENTIFIER", "DIGIT_IDENTIFIER", - "QUOTED_IDENTIFIER", "BACKQUOTED_IDENTIFIER", - "BEGIN_DOLLAR_QUOTED_STRING", "COMMENT", "WS", - "UNRECOGNIZED", "DOLLAR_QUOTED_STRING_BODY", - "END_DOLLAR_QUOTED_STRING" ]; - static ruleNames = [ "statements", "singleStatement", "singleExpression", - "statement", "dropStmt", "alterStmt", "queryOptParens", - "query", "queryNoWith", "limitClause", "offsetClause", - "queryTerm", "setQuant", "sortItem", "querySpec", - "selectItem", "where", "returning", "filter", "relation", - "joinType", "joinCriteria", "aliasedRelation", - "relationPrimary", "tableWithPartition", "table", - "aliasedColumns", "with", "namedQuery", "expr", - "booleanExpression", "predicated", "predicate", - "valueExpression", "primaryExpression", "explicitFunction", - "subqueryExpression", "parameterOrLiteral", "parameterOrSimpleLiteral", - "parameterOrInteger", "parameterOrIdent", "parameterOrString", - "parameterExpr", "nullLiteral", "escapedCharsStringLiteral", - "dollarQuotedStringLiteral", "stringLiteral", "bitString", - "subscriptSafe", "cmpOp", "setCmpQuantifier", "whenClause", - "namedWindow", "over", "windowDefinition", "windowFrame", - "frameBound", "qnames", "qname", "spaceSeparatedIdents", - "identWithOrWithoutValue", "idents", "ident", "unquotedIdent", - "quotedIdent", "stringLiteralOrIdentifier", "stringLiteralOrIdentifierOrQname", - "numericLiteral", "intervalLiteral", "intervalField", - "booleanLiteral", "decimalLiteral", "integerLiteral", - "objectKeyValue", "insertSource", "onConflict", - "conflictTarget", "values", "columns", "assignment", - "createStmt", "mappedUser", "kvOptions", "kvOption", - "functionArgument", "alterTableDefinition", "alterSubscriptionMode", - "partitionedByOrClusteredInto", "partitionedBy", - "clusteredBy", "blobClusteredInto", "tableElement", - "columnDefinition", "addColumnDefinition", "dropColumnDefinition", - "rerouteOption", "dataType", "baseDataType", "definedDataType", - "objectTypeDefinition", "columnConstraint", "primaryKeyContraint", - "checkConstraint", "withProperties", "genericProperties", - "genericProperty", "explainOptions", "explainOption", - "matchPredicateIdents", "matchPredicateIdent", - "analyzerElement", "tokenizer", "tokenFilters", - "charFilters", "namedProperties", "tableWithPartitions", - "setGlobalAssignment", "setExpr", "on", "securable", - "transactionMode", "isolationLevel", "direction", - "declareCursorParams", "nonReserved" ]; - - constructor(input) { - super(input); - this._interp = new antlr4.atn.ParserATNSimulator(this, atn, decisionsToDFA, sharedContextCache); - this.ruleNames = SqlBaseParser.ruleNames; - this.literalNames = SqlBaseParser.literalNames; - this.symbolicNames = SqlBaseParser.symbolicNames; - } - - sempred(localctx, ruleIndex, predIndex) { - switch(ruleIndex) { - case 11: - return this.queryTerm_sempred(localctx, predIndex); - case 19: - return this.relation_sempred(localctx, predIndex); - case 30: - return this.booleanExpression_sempred(localctx, predIndex); - case 33: - return this.valueExpression_sempred(localctx, predIndex); - case 34: - return this.primaryExpression_sempred(localctx, predIndex); - case 48: - return this.subscriptSafe_sempred(localctx, predIndex); - case 96: - return this.dataType_sempred(localctx, predIndex); - default: - throw "No predicate with index:" + ruleIndex; - } - } - - queryTerm_sempred(localctx, predIndex) { - switch(predIndex) { - case 0: - return this.precpred(this._ctx, 1); - default: - throw "No predicate with index:" + predIndex; - } - }; - - relation_sempred(localctx, predIndex) { - switch(predIndex) { - case 1: - return this.precpred(this._ctx, 2); - default: - throw "No predicate with index:" + predIndex; - } - }; - - booleanExpression_sempred(localctx, predIndex) { - switch(predIndex) { - case 2: - return this.precpred(this._ctx, 3); - case 3: - return this.precpred(this._ctx, 2); - default: - throw "No predicate with index:" + predIndex; - } - }; - - valueExpression_sempred(localctx, predIndex) { - switch(predIndex) { - case 4: - return this.precpred(this._ctx, 6); - case 5: - return this.precpred(this._ctx, 5); - case 6: - return this.precpred(this._ctx, 4); - case 7: - return this.precpred(this._ctx, 3); - case 8: - return this.precpred(this._ctx, 2); - default: - throw "No predicate with index:" + predIndex; - } - }; - - primaryExpression_sempred(localctx, predIndex) { - switch(predIndex) { - case 9: - return this.precpred(this._ctx, 2); - case 10: - return this.precpred(this._ctx, 6); - case 11: - return this.precpred(this._ctx, 5); - case 12: - return this.precpred(this._ctx, 3); - default: - throw "No predicate with index:" + predIndex; - } - }; - - subscriptSafe_sempred(localctx, predIndex) { - switch(predIndex) { - case 13: - return this.precpred(this._ctx, 2); - default: - throw "No predicate with index:" + predIndex; - } - }; - - dataType_sempred(localctx, predIndex) { - switch(predIndex) { - case 14: - return this.precpred(this._ctx, 1); - default: - throw "No predicate with index:" + predIndex; - } - }; - - - - - statements() { - let localctx = new StatementsContext(this, this._ctx, this.state); - this.enterRule(localctx, 0, SqlBaseParser.RULE_statements); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 250; - this.statement(); - this.state = 255; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,0,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 251; - this.match(SqlBaseParser.SEMICOLON); - this.state = 252; - this.statement(); - } - this.state = 257; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,0,this._ctx); - } - - this.state = 259; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===301) { - this.state = 258; - this.match(SqlBaseParser.SEMICOLON); - } - - this.state = 261; - this.match(SqlBaseParser.EOF); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - singleStatement() { - let localctx = new SingleStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 2, SqlBaseParser.RULE_singleStatement); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 263; - this.statement(); - this.state = 265; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===301) { - this.state = 264; - this.match(SqlBaseParser.SEMICOLON); - } - - this.state = 267; - this.match(SqlBaseParser.EOF); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - singleExpression() { - let localctx = new SingleExpressionContext(this, this._ctx, this.state); - this.enterRule(localctx, 4, SqlBaseParser.RULE_singleExpression); - try { - this.enterOuterAlt(localctx, 1); - this.state = 269; - this.expr(); - this.state = 270; - this.match(SqlBaseParser.EOF); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - statement() { - let localctx = new StatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 6, SqlBaseParser.RULE_statement); - var _la = 0; - try { - this.state = 645; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,67,this._ctx); - switch(la_) { - case 1: - localctx = new DefaultContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 272; - this.query(); - break; - - case 2: - localctx = new BeginContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 273; - this.match(SqlBaseParser.BEGIN); - this.state = 275; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===146 || _la===147) { - this.state = 274; - _la = this._input.LA(1); - if(!(_la===146 || _la===147)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - this.state = 287; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===23 || ((((_la - 150)) & ~0x1f) === 0 && ((1 << (_la - 150)) & 321) !== 0)) { - this.state = 277; - this.transactionMode(); - this.state = 284; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===23 || ((((_la - 150)) & ~0x1f) === 0 && ((1 << (_la - 150)) & 321) !== 0) || _la===303) { - this.state = 279; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===303) { - this.state = 278; - this.match(SqlBaseParser.COMMA); - } - - this.state = 281; - this.transactionMode(); - this.state = 286; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - break; - - case 3: - localctx = new StartTransactionContext(this, localctx); - this.enterOuterAlt(localctx, 3); - this.state = 289; - this.match(SqlBaseParser.START); - this.state = 290; - this.match(SqlBaseParser.TRANSACTION); - this.state = 301; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===23 || ((((_la - 150)) & ~0x1f) === 0 && ((1 << (_la - 150)) & 321) !== 0)) { - this.state = 291; - this.transactionMode(); - this.state = 298; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===23 || ((((_la - 150)) & ~0x1f) === 0 && ((1 << (_la - 150)) & 321) !== 0) || _la===303) { - this.state = 293; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===303) { - this.state = 292; - this.match(SqlBaseParser.COMMA); - } - - this.state = 295; - this.transactionMode(); - this.state = 300; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - break; - - case 4: - localctx = new CommitContext(this, localctx); - this.enterOuterAlt(localctx, 4); - this.state = 303; - this.match(SqlBaseParser.COMMIT); - this.state = 305; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===146 || _la===147) { - this.state = 304; - _la = this._input.LA(1); - if(!(_la===146 || _la===147)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - break; - - case 5: - localctx = new CommitContext(this, localctx); - this.enterOuterAlt(localctx, 5); - this.state = 307; - this.match(SqlBaseParser.END); - this.state = 309; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===146 || _la===147) { - this.state = 308; - _la = this._input.LA(1); - if(!(_la===146 || _la===147)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - break; - - case 6: - localctx = new ExplainContext(this, localctx); - this.enterOuterAlt(localctx, 6); - this.state = 311; - this.match(SqlBaseParser.EXPLAIN); - this.state = 320; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,13,this._ctx); - switch(la_) { - case 1: - this.state = 312; - this.match(SqlBaseParser.ANALYZE); - break; - - case 2: - this.state = 313; - this.match(SqlBaseParser.VERBOSE); - break; - - case 3: - this.state = 317; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===305) { - this.state = 314; - this.explainOptions(); - this.state = 319; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - break; - - } - this.state = 322; - this.statement(); - break; - - case 7: - localctx = new OptimizeContext(this, localctx); - this.enterOuterAlt(localctx, 7); - this.state = 323; - this.match(SqlBaseParser.OPTIMIZE); - this.state = 324; - this.match(SqlBaseParser.TABLE); - this.state = 325; - this.tableWithPartitions(); - this.state = 327; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===92) { - this.state = 326; - this.withProperties(); - } - - break; - - case 8: - localctx = new RefreshTableContext(this, localctx); - this.enterOuterAlt(localctx, 8); - this.state = 329; - this.match(SqlBaseParser.REFRESH); - this.state = 330; - this.match(SqlBaseParser.TABLE); - this.state = 331; - this.tableWithPartitions(); - break; - - case 9: - localctx = new UpdateContext(this, localctx); - this.enterOuterAlt(localctx, 9); - this.state = 332; - this.match(SqlBaseParser.UPDATE); - this.state = 333; - this.aliasedRelation(); - this.state = 334; - this.match(SqlBaseParser.SET); - this.state = 335; - this.assignment(); - this.state = 340; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 336; - this.match(SqlBaseParser.COMMA); - this.state = 337; - this.assignment(); - this.state = 342; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 344; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===13) { - this.state = 343; - this.where(); - } - - this.state = 347; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===229) { - this.state = 346; - this.returning(); - } - - break; - - case 10: - localctx = new DeleteContext(this, localctx); - this.enterOuterAlt(localctx, 10); - this.state = 349; - this.match(SqlBaseParser.DELETE); - this.state = 350; - this.match(SqlBaseParser.FROM); - this.state = 351; - this.aliasedRelation(); - this.state = 353; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===13) { - this.state = 352; - this.where(); - } - - break; - - case 11: - localctx = new ShowTransactionContext(this, localctx); - this.enterOuterAlt(localctx, 11); - this.state = 355; - this.match(SqlBaseParser.SHOW); - this.state = 360; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 147: - this.state = 356; - this.match(SqlBaseParser.TRANSACTION); - this.state = 357; - this.match(SqlBaseParser.ISOLATION); - this.state = 358; - this.match(SqlBaseParser.LEVEL); - break; - case 148: - this.state = 359; - this.match(SqlBaseParser.TRANSACTION_ISOLATION); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 12: - localctx = new ShowCreateTableContext(this, localctx); - this.enterOuterAlt(localctx, 12); - this.state = 362; - this.match(SqlBaseParser.SHOW); - this.state = 363; - this.match(SqlBaseParser.CREATE); - this.state = 364; - this.match(SqlBaseParser.TABLE); - this.state = 365; - this.table(); - break; - - case 13: - localctx = new ShowTablesContext(this, localctx); - this.enterOuterAlt(localctx, 13); - this.state = 366; - this.match(SqlBaseParser.SHOW); - this.state = 367; - this.match(SqlBaseParser.TABLES); - this.state = 370; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===3 || _la===22) { - this.state = 368; - _la = this._input.LA(1); - if(!(_la===3 || _la===22)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 369; - this.qname(); - } - - this.state = 375; - this._errHandler.sync(this); - switch (this._input.LA(1)) { - case 26: - this.state = 372; - this.match(SqlBaseParser.LIKE); - this.state = 373; - localctx.pattern = this.stringLiteral(); - break; - case 13: - this.state = 374; - this.where(); - break; - case -1: - case 301: - break; - default: - break; - } - break; - - case 14: - localctx = new ShowSchemasContext(this, localctx); - this.enterOuterAlt(localctx, 14); - this.state = 377; - this.match(SqlBaseParser.SHOW); - this.state = 378; - this.match(SqlBaseParser.SCHEMAS); - this.state = 382; - this._errHandler.sync(this); - switch (this._input.LA(1)) { - case 26: - this.state = 379; - this.match(SqlBaseParser.LIKE); - this.state = 380; - localctx.pattern = this.stringLiteral(); - break; - case 13: - this.state = 381; - this.where(); - break; - case -1: - case 301: - break; - default: - break; - } - break; - - case 15: - localctx = new ShowColumnsContext(this, localctx); - this.enterOuterAlt(localctx, 15); - this.state = 384; - this.match(SqlBaseParser.SHOW); - this.state = 385; - this.match(SqlBaseParser.COLUMNS); - this.state = 386; - _la = this._input.LA(1); - if(!(_la===3 || _la===22)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 387; - localctx.tableName = this.qname(); - this.state = 390; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===3 || _la===22) { - this.state = 388; - _la = this._input.LA(1); - if(!(_la===3 || _la===22)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 389; - localctx.schema = this.qname(); - } - - this.state = 395; - this._errHandler.sync(this); - switch (this._input.LA(1)) { - case 26: - this.state = 392; - this.match(SqlBaseParser.LIKE); - this.state = 393; - localctx.pattern = this.stringLiteral(); - break; - case 13: - this.state = 394; - this.where(); - break; - case -1: - case 301: - break; - default: - break; - } - break; - - case 16: - localctx = new ShowSessionParameterContext(this, localctx); - this.enterOuterAlt(localctx, 16); - this.state = 397; - this.match(SqlBaseParser.SHOW); - this.state = 400; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 1: - case 4: - case 6: - case 10: - case 27: - case 32: - case 33: - case 35: - case 38: - case 42: - case 43: - case 44: - case 45: - case 46: - case 48: - case 49: - case 50: - case 51: - case 52: - case 53: - case 54: - case 55: - case 56: - case 57: - case 58: - case 59: - case 70: - case 81: - case 82: - case 83: - case 84: - case 85: - case 86: - case 88: - case 89: - case 90: - case 91: - case 93: - case 96: - case 98: - case 99: - case 100: - case 101: - case 102: - case 103: - case 104: - case 105: - case 107: - case 108: - case 111: - case 112: - case 113: - case 114: - case 115: - case 116: - case 117: - case 118: - case 119: - case 120: - case 121: - case 122: - case 123: - case 124: - case 125: - case 126: - case 127: - case 128: - case 129: - case 130: - case 131: - case 132: - case 133: - case 135: - case 137: - case 138: - case 139: - case 140: - case 141: - case 142: - case 143: - case 144: - case 145: - case 146: - case 147: - case 148: - case 149: - case 150: - case 151: - case 152: - case 153: - case 154: - case 155: - case 156: - case 157: - case 158: - case 161: - case 163: - case 165: - case 167: - case 168: - case 169: - case 170: - case 171: - case 172: - case 174: - case 176: - case 177: - case 178: - case 179: - case 180: - case 181: - case 182: - case 185: - case 186: - case 187: - case 188: - case 189: - case 190: - case 191: - case 192: - case 193: - case 194: - case 195: - case 196: - case 198: - case 202: - case 203: - case 204: - case 208: - case 211: - case 212: - case 213: - case 214: - case 215: - case 219: - case 220: - case 221: - case 223: - case 224: - case 225: - case 226: - case 228: - case 229: - case 230: - case 231: - case 232: - case 234: - case 235: - case 236: - case 237: - case 238: - case 239: - case 240: - case 244: - case 245: - case 247: - case 251: - case 252: - case 253: - case 254: - case 255: - case 256: - case 257: - case 258: - case 259: - case 260: - case 261: - case 262: - case 263: - case 264: - case 265: - case 266: - case 267: - case 268: - case 269: - case 270: - case 271: - case 272: - case 273: - case 274: - case 275: - case 276: - case 277: - case 278: - case 279: - case 280: - case 281: - case 322: - case 323: - case 324: - case 325: - this.state = 398; - this.qname(); - break; - case 7: - this.state = 399; - this.match(SqlBaseParser.ALL); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 17: - localctx = new AlterContext(this, localctx); - this.enterOuterAlt(localctx, 17); - this.state = 402; - this.alterStmt(); - break; - - case 18: - localctx = new ResetGlobalContext(this, localctx); - this.enterOuterAlt(localctx, 18); - this.state = 403; - this.match(SqlBaseParser.RESET); - this.state = 404; - this.match(SqlBaseParser.GLOBAL); - this.state = 405; - this.primaryExpression(0); - this.state = 410; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 406; - this.match(SqlBaseParser.COMMA); - this.state = 407; - this.primaryExpression(0); - this.state = 412; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - break; - - case 19: - localctx = new SetTransactionContext(this, localctx); - this.enterOuterAlt(localctx, 19); - this.state = 413; - this.match(SqlBaseParser.SET); - this.state = 417; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===141) { - this.state = 414; - this.match(SqlBaseParser.SESSION); - this.state = 415; - this.match(SqlBaseParser.CHARACTERISTICS); - this.state = 416; - this.match(SqlBaseParser.AS); - } - - this.state = 419; - this.match(SqlBaseParser.TRANSACTION); - this.state = 420; - this.transactionMode(); - this.state = 425; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 421; - this.match(SqlBaseParser.COMMA); - this.state = 422; - this.transactionMode(); - this.state = 427; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - break; - - case 20: - localctx = new SetSessionAuthorizationContext(this, localctx); - this.enterOuterAlt(localctx, 20); - this.state = 428; - this.match(SqlBaseParser.SET); - this.state = 430; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,29,this._ctx); - if(la_===1) { - this.state = 429; - _la = this._input.LA(1); - if(!(_la===141 || _la===142)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - this.state = 432; - this.match(SqlBaseParser.SESSION); - this.state = 433; - this.match(SqlBaseParser.AUTHORIZATION); - this.state = 436; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 218: - this.state = 434; - this.match(SqlBaseParser.DEFAULT); - break; - case 1: - case 4: - case 6: - case 10: - case 27: - case 32: - case 33: - case 35: - case 38: - case 42: - case 43: - case 44: - case 45: - case 46: - case 48: - case 49: - case 50: - case 51: - case 52: - case 53: - case 54: - case 55: - case 56: - case 57: - case 58: - case 59: - case 70: - case 81: - case 82: - case 83: - case 84: - case 85: - case 86: - case 88: - case 89: - case 90: - case 91: - case 93: - case 96: - case 98: - case 99: - case 100: - case 101: - case 102: - case 103: - case 104: - case 105: - case 107: - case 108: - case 111: - case 112: - case 113: - case 114: - case 115: - case 116: - case 117: - case 118: - case 119: - case 120: - case 121: - case 122: - case 123: - case 124: - case 125: - case 126: - case 127: - case 128: - case 129: - case 130: - case 131: - case 132: - case 133: - case 135: - case 137: - case 138: - case 139: - case 140: - case 141: - case 142: - case 143: - case 144: - case 145: - case 146: - case 147: - case 148: - case 149: - case 150: - case 151: - case 152: - case 153: - case 154: - case 155: - case 156: - case 157: - case 158: - case 161: - case 163: - case 165: - case 167: - case 168: - case 169: - case 170: - case 171: - case 172: - case 174: - case 176: - case 177: - case 178: - case 179: - case 180: - case 181: - case 182: - case 185: - case 186: - case 187: - case 188: - case 189: - case 190: - case 191: - case 192: - case 193: - case 194: - case 195: - case 196: - case 198: - case 202: - case 203: - case 204: - case 208: - case 211: - case 212: - case 213: - case 214: - case 215: - case 219: - case 220: - case 221: - case 223: - case 224: - case 225: - case 226: - case 228: - case 229: - case 230: - case 231: - case 232: - case 234: - case 235: - case 236: - case 237: - case 238: - case 239: - case 240: - case 244: - case 245: - case 247: - case 251: - case 252: - case 253: - case 254: - case 255: - case 256: - case 257: - case 258: - case 259: - case 260: - case 261: - case 262: - case 263: - case 264: - case 265: - case 266: - case 267: - case 268: - case 269: - case 270: - case 271: - case 272: - case 273: - case 274: - case 275: - case 276: - case 277: - case 278: - case 279: - case 280: - case 281: - case 317: - case 322: - case 323: - case 324: - case 325: - case 326: - this.state = 435; - localctx.username = this.stringLiteralOrIdentifier(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 21: - localctx = new ResetSessionAuthorizationContext(this, localctx); - this.enterOuterAlt(localctx, 21); - this.state = 438; - this.match(SqlBaseParser.RESET); - this.state = 439; - this.match(SqlBaseParser.SESSION); - this.state = 440; - this.match(SqlBaseParser.AUTHORIZATION); - break; - - case 22: - localctx = new SetContext(this, localctx); - this.enterOuterAlt(localctx, 22); - this.state = 441; - this.match(SqlBaseParser.SET); - this.state = 443; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,31,this._ctx); - if(la_===1) { - this.state = 442; - _la = this._input.LA(1); - if(!(_la===141 || _la===142)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - this.state = 445; - this.qname(); - this.state = 446; - _la = this._input.LA(1); - if(!(_la===4 || _la===282)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 456; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 218: - this.state = 447; - this.match(SqlBaseParser.DEFAULT); - break; - case 1: - case 4: - case 6: - case 10: - case 27: - case 30: - case 31: - case 32: - case 33: - case 35: - case 38: - case 42: - case 43: - case 44: - case 45: - case 46: - case 48: - case 49: - case 50: - case 51: - case 52: - case 53: - case 54: - case 55: - case 56: - case 57: - case 58: - case 59: - case 70: - case 80: - case 81: - case 82: - case 83: - case 84: - case 85: - case 86: - case 88: - case 89: - case 90: - case 91: - case 93: - case 96: - case 98: - case 99: - case 100: - case 101: - case 102: - case 103: - case 104: - case 105: - case 107: - case 108: - case 111: - case 112: - case 113: - case 114: - case 115: - case 116: - case 117: - case 118: - case 119: - case 120: - case 121: - case 122: - case 123: - case 124: - case 125: - case 126: - case 127: - case 128: - case 129: - case 130: - case 131: - case 132: - case 133: - case 135: - case 137: - case 138: - case 139: - case 140: - case 141: - case 142: - case 143: - case 144: - case 145: - case 146: - case 147: - case 148: - case 149: - case 150: - case 151: - case 152: - case 153: - case 154: - case 155: - case 156: - case 157: - case 158: - case 161: - case 163: - case 165: - case 167: - case 168: - case 169: - case 170: - case 171: - case 172: - case 174: - case 176: - case 177: - case 178: - case 179: - case 180: - case 181: - case 182: - case 185: - case 186: - case 187: - case 188: - case 189: - case 190: - case 191: - case 192: - case 193: - case 194: - case 195: - case 196: - case 198: - case 202: - case 203: - case 204: - case 208: - case 211: - case 212: - case 213: - case 214: - case 215: - case 219: - case 220: - case 221: - case 223: - case 224: - case 225: - case 226: - case 228: - case 229: - case 230: - case 231: - case 232: - case 234: - case 235: - case 236: - case 237: - case 238: - case 239: - case 240: - case 244: - case 245: - case 247: - case 251: - case 252: - case 253: - case 254: - case 255: - case 256: - case 257: - case 258: - case 259: - case 260: - case 261: - case 262: - case 263: - case 264: - case 265: - case 266: - case 267: - case 268: - case 269: - case 270: - case 271: - case 272: - case 273: - case 274: - case 275: - case 276: - case 277: - case 278: - case 279: - case 280: - case 281: - case 317: - case 320: - case 321: - case 322: - case 323: - case 324: - case 325: - case 326: - this.state = 448; - this.setExpr(); - this.state = 453; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 449; - this.match(SqlBaseParser.COMMA); - this.state = 450; - this.setExpr(); - this.state = 455; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 23: - localctx = new SetGlobalContext(this, localctx); - this.enterOuterAlt(localctx, 23); - this.state = 458; - this.match(SqlBaseParser.SET); - this.state = 459; - this.match(SqlBaseParser.GLOBAL); - this.state = 461; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===241 || _la===242) { - this.state = 460; - _la = this._input.LA(1); - if(!(_la===241 || _la===242)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - this.state = 463; - this.setGlobalAssignment(); - this.state = 468; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 464; - this.match(SqlBaseParser.COMMA); - this.state = 465; - this.setGlobalAssignment(); - this.state = 470; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - break; - - case 24: - localctx = new SetTimeZoneContext(this, localctx); - this.enterOuterAlt(localctx, 24); - this.state = 471; - this.match(SqlBaseParser.SET); - this.state = 472; - this.match(SqlBaseParser.TIME); - this.state = 473; - this.match(SqlBaseParser.ZONE); - this.state = 477; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 142: - this.state = 474; - this.match(SqlBaseParser.LOCAL); - break; - case 218: - this.state = 475; - this.match(SqlBaseParser.DEFAULT); - break; - case 317: - case 326: - this.state = 476; - this.stringLiteral(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 25: - localctx = new KillContext(this, localctx); - this.enterOuterAlt(localctx, 25); - this.state = 479; - this.match(SqlBaseParser.KILL); - this.state = 482; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 7: - this.state = 480; - this.match(SqlBaseParser.ALL); - break; - case 312: - case 313: - case 317: - case 326: - this.state = 481; - localctx.jobId = this.parameterOrString(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 26: - localctx = new InsertContext(this, localctx); - this.enterOuterAlt(localctx, 26); - this.state = 484; - this.match(SqlBaseParser.INSERT); - this.state = 485; - this.match(SqlBaseParser.INTO); - this.state = 486; - this.table(); - this.state = 498; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,39,this._ctx); - if(la_===1) { - this.state = 487; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 488; - this.ident(); - this.state = 493; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 489; - this.match(SqlBaseParser.COMMA); - this.state = 490; - this.ident(); - this.state = 495; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 496; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - - } - this.state = 500; - this.insertSource(); - this.state = 502; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===80) { - this.state = 501; - this.onConflict(); - } - - this.state = 505; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===229) { - this.state = 504; - this.returning(); - } - - break; - - case 27: - localctx = new RestoreContext(this, localctx); - this.enterOuterAlt(localctx, 27); - this.state = 507; - this.match(SqlBaseParser.RESTORE); - this.state = 508; - this.match(SqlBaseParser.SNAPSHOT); - this.state = 509; - this.qname(); - this.state = 515; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,42,this._ctx); - switch(la_) { - case 1: - this.state = 510; - this.match(SqlBaseParser.ALL); - break; - - case 2: - this.state = 511; - this.match(SqlBaseParser.METADATA); - break; - - case 3: - this.state = 512; - this.match(SqlBaseParser.TABLE); - this.state = 513; - this.tableWithPartitions(); - break; - - case 4: - this.state = 514; - localctx.metatypes = this.idents(); - break; - - } - this.state = 518; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===92) { - this.state = 517; - this.withProperties(); - } - - break; - - case 28: - localctx = new CopyFromContext(this, localctx); - this.enterOuterAlt(localctx, 28); - this.state = 520; - this.match(SqlBaseParser.COPY); - this.state = 521; - this.tableWithPartition(); - this.state = 533; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===305) { - this.state = 522; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 523; - this.ident(); - this.state = 528; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 524; - this.match(SqlBaseParser.COMMA); - this.state = 525; - this.ident(); - this.state = 530; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 531; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - } - - this.state = 535; - this.match(SqlBaseParser.FROM); - this.state = 536; - localctx.path = this.expr(); - this.state = 538; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===92) { - this.state = 537; - this.withProperties(); - } - - this.state = 542; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===253) { - this.state = 540; - this.match(SqlBaseParser.RETURN); - this.state = 541; - this.match(SqlBaseParser.SUMMARY); - } - - break; - - case 29: - localctx = new CopyToContext(this, localctx); - this.enterOuterAlt(localctx, 29); - this.state = 544; - this.match(SqlBaseParser.COPY); - this.state = 545; - this.tableWithPartition(); - this.state = 547; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===305) { - this.state = 546; - this.columns(); - } - - this.state = 550; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===13) { - this.state = 549; - this.where(); - } - - this.state = 552; - this.match(SqlBaseParser.TO); - this.state = 554; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===11) { - this.state = 553; - this.match(SqlBaseParser.DIRECTORY); - } - - this.state = 556; - localctx.path = this.expr(); - this.state = 558; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===92) { - this.state = 557; - this.withProperties(); - } - - break; - - case 30: - localctx = new DropContext(this, localctx); - this.enterOuterAlt(localctx, 30); - this.state = 560; - this.dropStmt(); - break; - - case 31: - localctx = new GrantPrivilegeContext(this, localctx); - this.enterOuterAlt(localctx, 31); - this.state = 561; - this.match(SqlBaseParser.GRANT); - this.state = 567; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 1: - case 4: - case 6: - case 10: - case 27: - case 32: - case 33: - case 35: - case 38: - case 42: - case 43: - case 44: - case 45: - case 46: - case 48: - case 49: - case 50: - case 51: - case 52: - case 53: - case 54: - case 55: - case 56: - case 57: - case 58: - case 59: - case 70: - case 81: - case 82: - case 83: - case 84: - case 85: - case 86: - case 88: - case 89: - case 90: - case 91: - case 93: - case 96: - case 98: - case 99: - case 100: - case 101: - case 102: - case 103: - case 104: - case 105: - case 107: - case 108: - case 111: - case 112: - case 113: - case 114: - case 115: - case 116: - case 117: - case 118: - case 119: - case 120: - case 121: - case 122: - case 123: - case 124: - case 125: - case 126: - case 127: - case 128: - case 129: - case 130: - case 131: - case 132: - case 133: - case 135: - case 137: - case 138: - case 139: - case 140: - case 141: - case 142: - case 143: - case 144: - case 145: - case 146: - case 147: - case 148: - case 149: - case 150: - case 151: - case 152: - case 153: - case 154: - case 155: - case 156: - case 157: - case 158: - case 161: - case 163: - case 165: - case 167: - case 168: - case 169: - case 170: - case 171: - case 172: - case 174: - case 176: - case 177: - case 178: - case 179: - case 180: - case 181: - case 182: - case 185: - case 186: - case 187: - case 188: - case 189: - case 190: - case 191: - case 192: - case 193: - case 194: - case 195: - case 196: - case 198: - case 202: - case 203: - case 204: - case 208: - case 211: - case 212: - case 213: - case 214: - case 215: - case 219: - case 220: - case 221: - case 223: - case 224: - case 225: - case 226: - case 228: - case 229: - case 230: - case 231: - case 232: - case 234: - case 235: - case 236: - case 237: - case 238: - case 239: - case 240: - case 244: - case 245: - case 247: - case 251: - case 252: - case 253: - case 254: - case 255: - case 256: - case 257: - case 258: - case 259: - case 260: - case 261: - case 262: - case 263: - case 264: - case 265: - case 266: - case 267: - case 268: - case 269: - case 270: - case 271: - case 272: - case 273: - case 274: - case 275: - case 276: - case 277: - case 278: - case 279: - case 280: - case 281: - case 322: - case 323: - case 324: - case 325: - this.state = 562; - localctx.priviliges = this.idents(); - break; - case 7: - this.state = 563; - this.match(SqlBaseParser.ALL); - this.state = 565; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===251) { - this.state = 564; - this.match(SqlBaseParser.PRIVILEGES); - } - - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 573; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===80) { - this.state = 569; - this.match(SqlBaseParser.ON); - this.state = 570; - this.securable(); - this.state = 571; - this.qnames(); - } - - this.state = 575; - this.match(SqlBaseParser.TO); - this.state = 576; - localctx.users = this.idents(); - break; - - case 32: - localctx = new DenyPrivilegeContext(this, localctx); - this.enterOuterAlt(localctx, 32); - this.state = 577; - this.match(SqlBaseParser.DENY); - this.state = 583; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 1: - case 4: - case 6: - case 10: - case 27: - case 32: - case 33: - case 35: - case 38: - case 42: - case 43: - case 44: - case 45: - case 46: - case 48: - case 49: - case 50: - case 51: - case 52: - case 53: - case 54: - case 55: - case 56: - case 57: - case 58: - case 59: - case 70: - case 81: - case 82: - case 83: - case 84: - case 85: - case 86: - case 88: - case 89: - case 90: - case 91: - case 93: - case 96: - case 98: - case 99: - case 100: - case 101: - case 102: - case 103: - case 104: - case 105: - case 107: - case 108: - case 111: - case 112: - case 113: - case 114: - case 115: - case 116: - case 117: - case 118: - case 119: - case 120: - case 121: - case 122: - case 123: - case 124: - case 125: - case 126: - case 127: - case 128: - case 129: - case 130: - case 131: - case 132: - case 133: - case 135: - case 137: - case 138: - case 139: - case 140: - case 141: - case 142: - case 143: - case 144: - case 145: - case 146: - case 147: - case 148: - case 149: - case 150: - case 151: - case 152: - case 153: - case 154: - case 155: - case 156: - case 157: - case 158: - case 161: - case 163: - case 165: - case 167: - case 168: - case 169: - case 170: - case 171: - case 172: - case 174: - case 176: - case 177: - case 178: - case 179: - case 180: - case 181: - case 182: - case 185: - case 186: - case 187: - case 188: - case 189: - case 190: - case 191: - case 192: - case 193: - case 194: - case 195: - case 196: - case 198: - case 202: - case 203: - case 204: - case 208: - case 211: - case 212: - case 213: - case 214: - case 215: - case 219: - case 220: - case 221: - case 223: - case 224: - case 225: - case 226: - case 228: - case 229: - case 230: - case 231: - case 232: - case 234: - case 235: - case 236: - case 237: - case 238: - case 239: - case 240: - case 244: - case 245: - case 247: - case 251: - case 252: - case 253: - case 254: - case 255: - case 256: - case 257: - case 258: - case 259: - case 260: - case 261: - case 262: - case 263: - case 264: - case 265: - case 266: - case 267: - case 268: - case 269: - case 270: - case 271: - case 272: - case 273: - case 274: - case 275: - case 276: - case 277: - case 278: - case 279: - case 280: - case 281: - case 322: - case 323: - case 324: - case 325: - this.state = 578; - localctx.priviliges = this.idents(); - break; - case 7: - this.state = 579; - this.match(SqlBaseParser.ALL); - this.state = 581; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===251) { - this.state = 580; - this.match(SqlBaseParser.PRIVILEGES); - } - - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 589; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===80) { - this.state = 585; - this.match(SqlBaseParser.ON); - this.state = 586; - this.securable(); - this.state = 587; - this.qnames(); - } - - this.state = 591; - this.match(SqlBaseParser.TO); - this.state = 592; - localctx.users = this.idents(); - break; - - case 33: - localctx = new RevokePrivilegeContext(this, localctx); - this.enterOuterAlt(localctx, 33); - this.state = 593; - this.match(SqlBaseParser.REVOKE); - this.state = 599; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 1: - case 4: - case 6: - case 10: - case 27: - case 32: - case 33: - case 35: - case 38: - case 42: - case 43: - case 44: - case 45: - case 46: - case 48: - case 49: - case 50: - case 51: - case 52: - case 53: - case 54: - case 55: - case 56: - case 57: - case 58: - case 59: - case 70: - case 81: - case 82: - case 83: - case 84: - case 85: - case 86: - case 88: - case 89: - case 90: - case 91: - case 93: - case 96: - case 98: - case 99: - case 100: - case 101: - case 102: - case 103: - case 104: - case 105: - case 107: - case 108: - case 111: - case 112: - case 113: - case 114: - case 115: - case 116: - case 117: - case 118: - case 119: - case 120: - case 121: - case 122: - case 123: - case 124: - case 125: - case 126: - case 127: - case 128: - case 129: - case 130: - case 131: - case 132: - case 133: - case 135: - case 137: - case 138: - case 139: - case 140: - case 141: - case 142: - case 143: - case 144: - case 145: - case 146: - case 147: - case 148: - case 149: - case 150: - case 151: - case 152: - case 153: - case 154: - case 155: - case 156: - case 157: - case 158: - case 161: - case 163: - case 165: - case 167: - case 168: - case 169: - case 170: - case 171: - case 172: - case 174: - case 176: - case 177: - case 178: - case 179: - case 180: - case 181: - case 182: - case 185: - case 186: - case 187: - case 188: - case 189: - case 190: - case 191: - case 192: - case 193: - case 194: - case 195: - case 196: - case 198: - case 202: - case 203: - case 204: - case 208: - case 211: - case 212: - case 213: - case 214: - case 215: - case 219: - case 220: - case 221: - case 223: - case 224: - case 225: - case 226: - case 228: - case 229: - case 230: - case 231: - case 232: - case 234: - case 235: - case 236: - case 237: - case 238: - case 239: - case 240: - case 244: - case 245: - case 247: - case 251: - case 252: - case 253: - case 254: - case 255: - case 256: - case 257: - case 258: - case 259: - case 260: - case 261: - case 262: - case 263: - case 264: - case 265: - case 266: - case 267: - case 268: - case 269: - case 270: - case 271: - case 272: - case 273: - case 274: - case 275: - case 276: - case 277: - case 278: - case 279: - case 280: - case 281: - case 322: - case 323: - case 324: - case 325: - this.state = 594; - localctx.privileges = this.idents(); - break; - case 7: - this.state = 595; - this.match(SqlBaseParser.ALL); - this.state = 597; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===251) { - this.state = 596; - this.match(SqlBaseParser.PRIVILEGES); - } - - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 605; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===80) { - this.state = 601; - this.match(SqlBaseParser.ON); - this.state = 602; - this.securable(); - this.state = 603; - this.qnames(); - } - - this.state = 607; - this.match(SqlBaseParser.FROM); - this.state = 608; - localctx.users = this.idents(); - break; - - case 34: - localctx = new CreateContext(this, localctx); - this.enterOuterAlt(localctx, 34); - this.state = 609; - this.createStmt(); - break; - - case 35: - localctx = new DeallocateContext(this, localctx); - this.enterOuterAlt(localctx, 35); - this.state = 610; - this.match(SqlBaseParser.DEALLOCATE); - this.state = 612; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,61,this._ctx); - if(la_===1) { - this.state = 611; - this.match(SqlBaseParser.PREPARE); - - } - this.state = 616; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 7: - this.state = 614; - this.match(SqlBaseParser.ALL); - break; - case 1: - case 4: - case 6: - case 10: - case 27: - case 32: - case 33: - case 35: - case 38: - case 42: - case 43: - case 44: - case 45: - case 46: - case 48: - case 49: - case 50: - case 51: - case 52: - case 53: - case 54: - case 55: - case 56: - case 57: - case 58: - case 59: - case 70: - case 81: - case 82: - case 83: - case 84: - case 85: - case 86: - case 88: - case 89: - case 90: - case 91: - case 93: - case 96: - case 98: - case 99: - case 100: - case 101: - case 102: - case 103: - case 104: - case 105: - case 107: - case 108: - case 111: - case 112: - case 113: - case 114: - case 115: - case 116: - case 117: - case 118: - case 119: - case 120: - case 121: - case 122: - case 123: - case 124: - case 125: - case 126: - case 127: - case 128: - case 129: - case 130: - case 131: - case 132: - case 133: - case 135: - case 137: - case 138: - case 139: - case 140: - case 141: - case 142: - case 143: - case 144: - case 145: - case 146: - case 147: - case 148: - case 149: - case 150: - case 151: - case 152: - case 153: - case 154: - case 155: - case 156: - case 157: - case 158: - case 161: - case 163: - case 165: - case 167: - case 168: - case 169: - case 170: - case 171: - case 172: - case 174: - case 176: - case 177: - case 178: - case 179: - case 180: - case 181: - case 182: - case 185: - case 186: - case 187: - case 188: - case 189: - case 190: - case 191: - case 192: - case 193: - case 194: - case 195: - case 196: - case 198: - case 202: - case 203: - case 204: - case 208: - case 211: - case 212: - case 213: - case 214: - case 215: - case 219: - case 220: - case 221: - case 223: - case 224: - case 225: - case 226: - case 228: - case 229: - case 230: - case 231: - case 232: - case 234: - case 235: - case 236: - case 237: - case 238: - case 239: - case 240: - case 244: - case 245: - case 247: - case 251: - case 252: - case 253: - case 254: - case 255: - case 256: - case 257: - case 258: - case 259: - case 260: - case 261: - case 262: - case 263: - case 264: - case 265: - case 266: - case 267: - case 268: - case 269: - case 270: - case 271: - case 272: - case 273: - case 274: - case 275: - case 276: - case 277: - case 278: - case 279: - case 280: - case 281: - case 317: - case 322: - case 323: - case 324: - case 325: - case 326: - this.state = 615; - localctx.prepStmt = this.stringLiteralOrIdentifierOrQname(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 36: - localctx = new AnalyzeContext(this, localctx); - this.enterOuterAlt(localctx, 36); - this.state = 618; - this.match(SqlBaseParser.ANALYZE); - break; - - case 37: - localctx = new DiscardContext(this, localctx); - this.enterOuterAlt(localctx, 37); - this.state = 619; - this.match(SqlBaseParser.DISCARD); - this.state = 620; - _la = this._input.LA(1); - if(!(_la===7 || ((((_la - 169)) & ~0x1f) === 0 && ((1 << (_la - 169)) & 15) !== 0))) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 38: - localctx = new DeclareContext(this, localctx); - this.enterOuterAlt(localctx, 38); - this.state = 621; - this.match(SqlBaseParser.DECLARE); - this.state = 622; - this.ident(); - this.state = 623; - this.declareCursorParams(); - this.state = 624; - this.match(SqlBaseParser.CURSOR); - this.state = 627; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===92 || _la===93) { - this.state = 625; - _la = this._input.LA(1); - if(!(_la===92 || _la===93)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 626; - this.match(SqlBaseParser.HOLD); - } - - this.state = 629; - this.match(SqlBaseParser.FOR); - this.state = 630; - this.queryNoWith(); - break; - - case 39: - localctx = new FetchContext(this, localctx); - this.enterOuterAlt(localctx, 39); - this.state = 632; - this.match(SqlBaseParser.FETCH); - this.state = 634; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,64,this._ctx); - if(la_===1) { - this.state = 633; - this.direction(); - - } - this.state = 637; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===3 || _la===22) { - this.state = 636; - _la = this._input.LA(1); - if(!(_la===3 || _la===22)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - this.state = 639; - this.ident(); - break; - - case 40: - localctx = new CloseContext(this, localctx); - this.enterOuterAlt(localctx, 40); - this.state = 640; - this.match(SqlBaseParser.CLOSE); - this.state = 643; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 1: - case 4: - case 6: - case 10: - case 27: - case 32: - case 33: - case 35: - case 38: - case 42: - case 43: - case 44: - case 45: - case 46: - case 48: - case 49: - case 50: - case 51: - case 52: - case 53: - case 54: - case 55: - case 56: - case 57: - case 58: - case 59: - case 70: - case 81: - case 82: - case 83: - case 84: - case 85: - case 86: - case 88: - case 89: - case 90: - case 91: - case 93: - case 96: - case 98: - case 99: - case 100: - case 101: - case 102: - case 103: - case 104: - case 105: - case 107: - case 108: - case 111: - case 112: - case 113: - case 114: - case 115: - case 116: - case 117: - case 118: - case 119: - case 120: - case 121: - case 122: - case 123: - case 124: - case 125: - case 126: - case 127: - case 128: - case 129: - case 130: - case 131: - case 132: - case 133: - case 135: - case 137: - case 138: - case 139: - case 140: - case 141: - case 142: - case 143: - case 144: - case 145: - case 146: - case 147: - case 148: - case 149: - case 150: - case 151: - case 152: - case 153: - case 154: - case 155: - case 156: - case 157: - case 158: - case 161: - case 163: - case 165: - case 167: - case 168: - case 169: - case 170: - case 171: - case 172: - case 174: - case 176: - case 177: - case 178: - case 179: - case 180: - case 181: - case 182: - case 185: - case 186: - case 187: - case 188: - case 189: - case 190: - case 191: - case 192: - case 193: - case 194: - case 195: - case 196: - case 198: - case 202: - case 203: - case 204: - case 208: - case 211: - case 212: - case 213: - case 214: - case 215: - case 219: - case 220: - case 221: - case 223: - case 224: - case 225: - case 226: - case 228: - case 229: - case 230: - case 231: - case 232: - case 234: - case 235: - case 236: - case 237: - case 238: - case 239: - case 240: - case 244: - case 245: - case 247: - case 251: - case 252: - case 253: - case 254: - case 255: - case 256: - case 257: - case 258: - case 259: - case 260: - case 261: - case 262: - case 263: - case 264: - case 265: - case 266: - case 267: - case 268: - case 269: - case 270: - case 271: - case 272: - case 273: - case 274: - case 275: - case 276: - case 277: - case 278: - case 279: - case 280: - case 281: - case 322: - case 323: - case 324: - case 325: - this.state = 641; - this.ident(); - break; - case 7: - this.state = 642; - this.match(SqlBaseParser.ALL); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - dropStmt() { - let localctx = new DropStmtContext(this, this._ctx, this.state); - this.enterRule(localctx, 8, SqlBaseParser.RULE_dropStmt); - var _la = 0; - try { - this.state = 755; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,82,this._ctx); - switch(la_) { - case 1: - localctx = new DropBlobTableContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 647; - this.match(SqlBaseParser.DROP); - this.state = 648; - this.match(SqlBaseParser.BLOB); - this.state = 649; - this.match(SqlBaseParser.TABLE); - this.state = 652; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===69) { - this.state = 650; - this.match(SqlBaseParser.IF); - this.state = 651; - this.match(SqlBaseParser.EXISTS); - } - - this.state = 654; - this.table(); - break; - - case 2: - localctx = new DropTableContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 655; - this.match(SqlBaseParser.DROP); - this.state = 656; - this.match(SqlBaseParser.TABLE); - this.state = 659; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===69) { - this.state = 657; - this.match(SqlBaseParser.IF); - this.state = 658; - this.match(SqlBaseParser.EXISTS); - } - - this.state = 661; - this.table(); - break; - - case 3: - localctx = new DropAliasContext(this, localctx); - this.enterOuterAlt(localctx, 3); - this.state = 662; - this.match(SqlBaseParser.DROP); - this.state = 663; - this.match(SqlBaseParser.ALIAS); - this.state = 664; - this.qname(); - break; - - case 4: - localctx = new DropRepositoryContext(this, localctx); - this.enterOuterAlt(localctx, 4); - this.state = 665; - this.match(SqlBaseParser.DROP); - this.state = 666; - this.match(SqlBaseParser.REPOSITORY); - this.state = 667; - this.ident(); - break; - - case 5: - localctx = new DropSnapshotContext(this, localctx); - this.enterOuterAlt(localctx, 5); - this.state = 668; - this.match(SqlBaseParser.DROP); - this.state = 669; - this.match(SqlBaseParser.SNAPSHOT); - this.state = 670; - this.qname(); - break; - - case 6: - localctx = new DropFunctionContext(this, localctx); - this.enterOuterAlt(localctx, 6); - this.state = 671; - this.match(SqlBaseParser.DROP); - this.state = 672; - this.match(SqlBaseParser.FUNCTION); - this.state = 675; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===69) { - this.state = 673; - this.match(SqlBaseParser.IF); - this.state = 674; - this.match(SqlBaseParser.EXISTS); - } - - this.state = 677; - localctx.name = this.qname(); - this.state = 678; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 687; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) === 0 && ((1 << _la) & 134218834) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 268401739) !== 0) || ((((_la - 70)) & ~0x1f) === 0 && ((1 << (_la - 70)) & 4106090497) !== 0) || ((((_la - 102)) & ~0x1f) === 0 && ((1 << (_la - 102)) & 4294966895) !== 0) || ((((_la - 134)) & ~0x1f) === 0 && ((1 << (_la - 134)) & 2852126719) !== 0) || ((((_la - 167)) & ~0x1f) === 0 && ((1 << (_la - 167)) & 3221028543) !== 0) || ((((_la - 202)) & ~0x1f) === 0 && ((1 << (_la - 202)) & 4260249159) !== 0) || ((((_la - 234)) & ~0x1f) === 0 && ((1 << (_la - 234)) & 4294847615) !== 0) || ((((_la - 266)) & ~0x1f) === 0 && ((1 << (_la - 266)) & 65535) !== 0) || ((((_la - 322)) & ~0x1f) === 0 && ((1 << (_la - 322)) & 15) !== 0)) { - this.state = 679; - this.functionArgument(); - this.state = 684; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 680; - this.match(SqlBaseParser.COMMA); - this.state = 681; - this.functionArgument(); - this.state = 686; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 689; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - - case 7: - localctx = new DropRoleContext(this, localctx); - this.enterOuterAlt(localctx, 7); - this.state = 691; - this.match(SqlBaseParser.DROP); - this.state = 692; - _la = this._input.LA(1); - if(!(_la===246 || _la===247)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 695; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===69) { - this.state = 693; - this.match(SqlBaseParser.IF); - this.state = 694; - this.match(SqlBaseParser.EXISTS); - } - - this.state = 697; - localctx.name = this.ident(); - break; - - case 8: - localctx = new DropViewContext(this, localctx); - this.enterOuterAlt(localctx, 8); - this.state = 698; - this.match(SqlBaseParser.DROP); - this.state = 699; - this.match(SqlBaseParser.VIEW); - this.state = 702; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===69) { - this.state = 700; - this.match(SqlBaseParser.IF); - this.state = 701; - this.match(SqlBaseParser.EXISTS); - } - - this.state = 704; - localctx.names = this.qnames(); - break; - - case 9: - localctx = new DropAnalyzerContext(this, localctx); - this.enterOuterAlt(localctx, 9); - this.state = 705; - this.match(SqlBaseParser.DROP); - this.state = 706; - this.match(SqlBaseParser.ANALYZER); - this.state = 707; - localctx.name = this.ident(); - break; - - case 10: - localctx = new DropPublicationContext(this, localctx); - this.enterOuterAlt(localctx, 10); - this.state = 708; - this.match(SqlBaseParser.DROP); - this.state = 709; - this.match(SqlBaseParser.PUBLICATION); - this.state = 712; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===69) { - this.state = 710; - this.match(SqlBaseParser.IF); - this.state = 711; - this.match(SqlBaseParser.EXISTS); - } - - this.state = 714; - localctx.name = this.ident(); - break; - - case 11: - localctx = new DropSubscriptionContext(this, localctx); - this.enterOuterAlt(localctx, 11); - this.state = 715; - this.match(SqlBaseParser.DROP); - this.state = 716; - this.match(SqlBaseParser.SUBSCRIPTION); - this.state = 719; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===69) { - this.state = 717; - this.match(SqlBaseParser.IF); - this.state = 718; - this.match(SqlBaseParser.EXISTS); - } - - this.state = 721; - localctx.name = this.ident(); - break; - - case 12: - localctx = new DropServerContext(this, localctx); - this.enterOuterAlt(localctx, 12); - this.state = 722; - this.match(SqlBaseParser.DROP); - this.state = 723; - this.match(SqlBaseParser.SERVER); - this.state = 726; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===69) { - this.state = 724; - this.match(SqlBaseParser.IF); - this.state = 725; - this.match(SqlBaseParser.EXISTS); - } - - this.state = 728; - localctx.names = this.idents(); - this.state = 730; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===280 || _la===281) { - this.state = 729; - _la = this._input.LA(1); - if(!(_la===280 || _la===281)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - break; - - case 13: - localctx = new DropForeignTableContext(this, localctx); - this.enterOuterAlt(localctx, 13); - this.state = 732; - this.match(SqlBaseParser.DROP); - this.state = 733; - this.match(SqlBaseParser.FOREIGN); - this.state = 734; - this.match(SqlBaseParser.TABLE); - this.state = 737; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===69) { - this.state = 735; - this.match(SqlBaseParser.IF); - this.state = 736; - this.match(SqlBaseParser.EXISTS); - } - - this.state = 739; - localctx.names = this.qnames(); - this.state = 741; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===280 || _la===281) { - this.state = 740; - _la = this._input.LA(1); - if(!(_la===280 || _la===281)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - break; - - case 14: - localctx = new DropUserMappingContext(this, localctx); - this.enterOuterAlt(localctx, 14); - this.state = 743; - this.match(SqlBaseParser.DROP); - this.state = 744; - this.match(SqlBaseParser.USER); - this.state = 745; - this.match(SqlBaseParser.MAPPING); - this.state = 748; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===69) { - this.state = 746; - this.match(SqlBaseParser.IF); - this.state = 747; - this.match(SqlBaseParser.EXISTS); - } - - this.state = 750; - this.match(SqlBaseParser.FOR); - this.state = 751; - this.mappedUser(); - this.state = 752; - this.match(SqlBaseParser.SERVER); - this.state = 753; - localctx.server = this.ident(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - alterStmt() { - let localctx = new AlterStmtContext(this, this._ctx, this.state); - this.enterRule(localctx, 10, SqlBaseParser.RULE_alterStmt); - var _la = 0; - try { - this.state = 932; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,100,this._ctx); - switch(la_) { - case 1: - localctx = new AddColumnContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 757; - this.match(SqlBaseParser.ALTER); - this.state = 758; - this.match(SqlBaseParser.TABLE); - this.state = 759; - this.alterTableDefinition(); - this.state = 760; - this.addColumnDefinition(); - this.state = 765; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 761; - this.match(SqlBaseParser.COMMA); - this.state = 762; - this.addColumnDefinition(); - this.state = 767; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - break; - - case 2: - localctx = new DropColumnContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 768; - this.match(SqlBaseParser.ALTER); - this.state = 769; - this.match(SqlBaseParser.TABLE); - this.state = 770; - this.alterTableDefinition(); - this.state = 771; - this.dropColumnDefinition(); - this.state = 776; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 772; - this.match(SqlBaseParser.COMMA); - this.state = 773; - this.dropColumnDefinition(); - this.state = 778; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - break; - - case 3: - localctx = new DropCheckConstraintContext(this, localctx); - this.enterOuterAlt(localctx, 3); - this.state = 779; - this.match(SqlBaseParser.ALTER); - this.state = 780; - this.match(SqlBaseParser.TABLE); - this.state = 781; - this.alterTableDefinition(); - this.state = 782; - this.match(SqlBaseParser.DROP); - this.state = 783; - this.match(SqlBaseParser.CONSTRAINT); - this.state = 784; - this.ident(); - break; - - case 4: - localctx = new AlterTablePropertiesContext(this, localctx); - this.enterOuterAlt(localctx, 4); - this.state = 786; - this.match(SqlBaseParser.ALTER); - this.state = 787; - this.match(SqlBaseParser.TABLE); - this.state = 788; - this.alterTableDefinition(); - this.state = 808; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 216: - this.state = 789; - this.match(SqlBaseParser.SET); - this.state = 790; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 791; - this.genericProperties(); - this.state = 792; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - case 217: - this.state = 794; - this.match(SqlBaseParser.RESET); - this.state = 806; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===305) { - this.state = 795; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 796; - this.ident(); - this.state = 801; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 797; - this.match(SqlBaseParser.COMMA); - this.state = 798; - this.ident(); - this.state = 803; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 804; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - } - - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 5: - localctx = new AlterBlobTablePropertiesContext(this, localctx); - this.enterOuterAlt(localctx, 5); - this.state = 810; - this.match(SqlBaseParser.ALTER); - this.state = 811; - this.match(SqlBaseParser.BLOB); - this.state = 812; - this.match(SqlBaseParser.TABLE); - this.state = 813; - this.alterTableDefinition(); - this.state = 833; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 216: - this.state = 814; - this.match(SqlBaseParser.SET); - this.state = 815; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 816; - this.genericProperties(); - this.state = 817; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - case 217: - this.state = 819; - this.match(SqlBaseParser.RESET); - this.state = 831; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===305) { - this.state = 820; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 821; - this.ident(); - this.state = 826; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 822; - this.match(SqlBaseParser.COMMA); - this.state = 823; - this.ident(); - this.state = 828; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 829; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - } - - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - - case 6: - localctx = new AlterTableOpenCloseContext(this, localctx); - this.enterOuterAlt(localctx, 6); - this.state = 835; - this.match(SqlBaseParser.ALTER); - this.state = 837; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===96) { - this.state = 836; - this.match(SqlBaseParser.BLOB); - } - - this.state = 839; - this.match(SqlBaseParser.TABLE); - this.state = 840; - this.alterTableDefinition(); - this.state = 841; - _la = this._input.LA(1); - if(!(_la===111 || _la===112)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 7: - localctx = new AlterTableRenameTableContext(this, localctx); - this.enterOuterAlt(localctx, 7); - this.state = 843; - this.match(SqlBaseParser.ALTER); - this.state = 845; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===96) { - this.state = 844; - this.match(SqlBaseParser.BLOB); - } - - this.state = 847; - this.match(SqlBaseParser.TABLE); - this.state = 848; - this.alterTableDefinition(); - this.state = 849; - this.match(SqlBaseParser.RENAME); - this.state = 850; - this.match(SqlBaseParser.TO); - this.state = 851; - this.qname(); - break; - - case 8: - localctx = new AlterTableRenameColumnContext(this, localctx); - this.enterOuterAlt(localctx, 8); - this.state = 853; - this.match(SqlBaseParser.ALTER); - this.state = 855; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===96) { - this.state = 854; - this.match(SqlBaseParser.BLOB); - } - - this.state = 857; - this.match(SqlBaseParser.TABLE); - this.state = 858; - this.alterTableDefinition(); - this.state = 859; - this.match(SqlBaseParser.RENAME); - this.state = 861; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===110) { - this.state = 860; - this.match(SqlBaseParser.COLUMN); - } - - this.state = 863; - localctx.source = this.subscriptSafe(0); - this.state = 864; - this.match(SqlBaseParser.TO); - this.state = 865; - localctx.target = this.subscriptSafe(0); - break; - - case 9: - localctx = new AlterTableRerouteContext(this, localctx); - this.enterOuterAlt(localctx, 9); - this.state = 867; - this.match(SqlBaseParser.ALTER); - this.state = 869; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===96) { - this.state = 868; - this.match(SqlBaseParser.BLOB); - } - - this.state = 871; - this.match(SqlBaseParser.TABLE); - this.state = 872; - this.alterTableDefinition(); - this.state = 873; - this.match(SqlBaseParser.REROUTE); - this.state = 874; - this.rerouteOption(); - break; - - case 10: - localctx = new AlterClusterRerouteRetryFailedContext(this, localctx); - this.enterOuterAlt(localctx, 10); - this.state = 876; - this.match(SqlBaseParser.ALTER); - this.state = 877; - this.match(SqlBaseParser.CLUSTER); - this.state = 878; - this.match(SqlBaseParser.REROUTE); - this.state = 879; - this.match(SqlBaseParser.RETRY); - this.state = 880; - this.match(SqlBaseParser.FAILED); - break; - - case 11: - localctx = new AlterClusterSwapTableContext(this, localctx); - this.enterOuterAlt(localctx, 11); - this.state = 881; - this.match(SqlBaseParser.ALTER); - this.state = 882; - this.match(SqlBaseParser.CLUSTER); - this.state = 883; - this.match(SqlBaseParser.SWAP); - this.state = 884; - this.match(SqlBaseParser.TABLE); - this.state = 885; - localctx.source = this.qname(); - this.state = 886; - this.match(SqlBaseParser.TO); - this.state = 887; - localctx.target = this.qname(); - this.state = 889; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===92) { - this.state = 888; - this.withProperties(); - } - - break; - - case 12: - localctx = new AlterClusterDecommissionNodeContext(this, localctx); - this.enterOuterAlt(localctx, 12); - this.state = 891; - this.match(SqlBaseParser.ALTER); - this.state = 892; - this.match(SqlBaseParser.CLUSTER); - this.state = 893; - this.match(SqlBaseParser.DECOMMISSION); - this.state = 894; - localctx.node = this.expr(); - break; - - case 13: - localctx = new AlterClusterGCDanglingArtifactsContext(this, localctx); - this.enterOuterAlt(localctx, 13); - this.state = 895; - this.match(SqlBaseParser.ALTER); - this.state = 896; - this.match(SqlBaseParser.CLUSTER); - this.state = 897; - this.match(SqlBaseParser.GC); - this.state = 898; - this.match(SqlBaseParser.DANGLING); - this.state = 899; - this.match(SqlBaseParser.ARTIFACTS); - break; - - case 14: - localctx = new AlterRoleContext(this, localctx); - this.enterOuterAlt(localctx, 14); - this.state = 900; - this.match(SqlBaseParser.ALTER); - this.state = 901; - _la = this._input.LA(1); - if(!(_la===246 || _la===247)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 902; - localctx.name = this.ident(); - this.state = 903; - this.match(SqlBaseParser.SET); - this.state = 904; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 905; - this.genericProperties(); - this.state = 906; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - - case 15: - localctx = new AlterPublicationContext(this, localctx); - this.enterOuterAlt(localctx, 15); - this.state = 908; - this.match(SqlBaseParser.ALTER); - this.state = 909; - this.match(SqlBaseParser.PUBLICATION); - this.state = 910; - localctx.name = this.ident(); - - this.state = 911; - _la = this._input.LA(1); - if(!(_la===109 || _la===197 || _la===216)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 912; - this.match(SqlBaseParser.TABLE); - this.state = 913; - this.qname(); - this.state = 915; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===295) { - this.state = 914; - this.match(SqlBaseParser.ASTERISK); - } - - this.state = 924; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 917; - this.match(SqlBaseParser.COMMA); - this.state = 918; - this.qname(); - this.state = 920; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===295) { - this.state = 919; - this.match(SqlBaseParser.ASTERISK); - } - - this.state = 926; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - break; - - case 16: - localctx = new AlterSubscriptionContext(this, localctx); - this.enterOuterAlt(localctx, 16); - this.state = 927; - this.match(SqlBaseParser.ALTER); - this.state = 928; - this.match(SqlBaseParser.SUBSCRIPTION); - this.state = 929; - localctx.name = this.ident(); - this.state = 930; - this.alterSubscriptionMode(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - queryOptParens() { - let localctx = new QueryOptParensContext(this, this._ctx, this.state); - this.enterRule(localctx, 12, SqlBaseParser.RULE_queryOptParens); - try { - this.state = 943; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,101,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 934; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 935; - this.query(); - this.state = 936; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 938; - this.query(); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 939; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 940; - this.queryOptParens(); - this.state = 941; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - query() { - let localctx = new QueryContext(this, this._ctx, this.state); - this.enterRule(localctx, 14, SqlBaseParser.RULE_query); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 946; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===92) { - this.state = 945; - this.with_(); - } - - this.state = 948; - this.queryNoWith(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - queryNoWith() { - let localctx = new QueryNoWithContext(this, this._ctx, this.state); - this.enterRule(localctx, 16, SqlBaseParser.RULE_queryNoWith); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 950; - this.queryTerm(0); - this.state = 961; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===16) { - this.state = 951; - this.match(SqlBaseParser.ORDER); - this.state = 952; - this.match(SqlBaseParser.BY); - this.state = 953; - this.sortItem(); - this.state = 958; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 954; - this.match(SqlBaseParser.COMMA); - this.state = 955; - this.sortItem(); - this.state = 960; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 975; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,109,this._ctx); - switch(la_) { - case 1: - this.state = 964; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===18 || _la===35) { - this.state = 963; - this.limitClause(); - } - - this.state = 967; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===19) { - this.state = 966; - this.offsetClause(); - } - - break; - - case 2: - this.state = 970; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===19) { - this.state = 969; - this.offsetClause(); - } - - this.state = 973; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===18 || _la===35) { - this.state = 972; - this.limitClause(); - } - - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - limitClause() { - let localctx = new LimitClauseContext(this, this._ctx, this.state); - this.enterRule(localctx, 18, SqlBaseParser.RULE_limitClause); - var _la = 0; - try { - this.state = 988; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 18: - this.enterOuterAlt(localctx, 1); - this.state = 977; - this.match(SqlBaseParser.LIMIT); - this.state = 980; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 29: - case 30: - case 31: - case 70: - case 183: - case 184: - case 233: - case 307: - case 309: - case 312: - case 313: - case 317: - case 318: - case 319: - case 320: - case 321: - case 326: - this.state = 978; - localctx.limit = this.parameterOrInteger(); - break; - case 7: - this.state = 979; - this.match(SqlBaseParser.ALL); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - break; - case 35: - this.enterOuterAlt(localctx, 2); - this.state = 982; - this.match(SqlBaseParser.FETCH); - this.state = 983; - _la = this._input.LA(1); - if(!(_la===36 || _la===38)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - this.state = 984; - localctx.limit = this.parameterOrInteger(); - this.state = 985; - _la = this._input.LA(1); - if(!(_la===86 || _la===91)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 986; - this.match(SqlBaseParser.ONLY); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - offsetClause() { - let localctx = new OffsetClauseContext(this, this._ctx, this.state); - this.enterRule(localctx, 20, SqlBaseParser.RULE_offsetClause); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 990; - this.match(SqlBaseParser.OFFSET); - this.state = 991; - localctx.offset = this.parameterOrInteger(); - this.state = 993; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===86 || _la===91) { - this.state = 992; - _la = this._input.LA(1); - if(!(_la===86 || _la===91)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - queryTerm(_p) { - if(_p===undefined) { - _p = 0; - } - const _parentctx = this._ctx; - const _parentState = this.state; - let localctx = new QueryTermContext(this, this._ctx, _parentState); - let _prevctx = localctx; - const _startState = 22; - this.enterRecursionRule(localctx, 22, SqlBaseParser.RULE_queryTerm, _p); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 1001; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,113,this._ctx); - switch(la_) { - case 1: - localctx = new QueryTermDefaultContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - - this.state = 996; - this.querySpec(); - break; - - case 2: - localctx = new SetOperationContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - this.state = 997; - localctx.first = this.querySpec(); - this.state = 998; - localctx.operator = this._input.LT(1); - _la = this._input.LA(1); - if(!(_la===200 || _la===201)) { - localctx.operator = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 999; - localctx.second = this.querySpec(); - break; - - } - this._ctx.stop = this._input.LT(-1); - this.state = 1011; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,115,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - if(this._parseListeners!==null) { - this.triggerExitRuleEvent(); - } - _prevctx = localctx; - localctx = new SetOperationContext(this, new QueryTermContext(this, _parentctx, _parentState)); - localctx.left = _prevctx; - this.pushNewRecursionContext(localctx, _startState, SqlBaseParser.RULE_queryTerm); - this.state = 1003; - if (!( this.precpred(this._ctx, 1))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 1)"); - } - this.state = 1004; - localctx.operator = this.match(SqlBaseParser.UNION); - this.state = 1006; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===7 || _la===12) { - this.state = 1005; - this.setQuant(); - } - - this.state = 1008; - localctx.right = this.queryTerm(2); - } - this.state = 1013; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,115,this._ctx); - } - - } catch( error) { - if(error instanceof antlr4.error.RecognitionException) { - localctx.exception = error; - this._errHandler.reportError(this, error); - this._errHandler.recover(this, error); - } else { - throw error; - } - } finally { - this.unrollRecursionContexts(_parentctx) - } - return localctx; - } - - - - setQuant() { - let localctx = new SetQuantContext(this, this._ctx, this.state); - this.enterRule(localctx, 24, SqlBaseParser.RULE_setQuant); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 1014; - _la = this._input.LA(1); - if(!(_la===7 || _la===12)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - sortItem() { - let localctx = new SortItemContext(this, this._ctx, this.state); - this.enterRule(localctx, 26, SqlBaseParser.RULE_sortItem); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 1016; - this.expr(); - this.state = 1018; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===40 || _la===41) { - this.state = 1017; - localctx.ordering = this._input.LT(1); - _la = this._input.LA(1); - if(!(_la===40 || _la===41)) { - localctx.ordering = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - this.state = 1022; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===34) { - this.state = 1020; - this.match(SqlBaseParser.NULLS); - this.state = 1021; - localctx.nullOrdering = this._input.LT(1); - _la = this._input.LA(1); - if(!(_la===36 || _la===37)) { - localctx.nullOrdering = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - querySpec() { - let localctx = new QuerySpecContext(this, this._ctx, this.state); - this.enterRule(localctx, 28, SqlBaseParser.RULE_querySpec); - var _la = 0; - try { - this.state = 1086; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 2: - localctx = new DefaultQuerySpecContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 1024; - this.match(SqlBaseParser.SELECT); - this.state = 1026; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===7 || _la===12) { - this.state = 1025; - this.setQuant(); - } - - this.state = 1028; - this.selectItem(); - this.state = 1033; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,119,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 1029; - this.match(SqlBaseParser.COMMA); - this.state = 1030; - this.selectItem(); - } - this.state = 1035; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,119,this._ctx); - } - - this.state = 1045; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,121,this._ctx); - if(la_===1) { - this.state = 1036; - this.match(SqlBaseParser.FROM); - this.state = 1037; - this.relation(0); - this.state = 1042; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,120,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 1038; - this.match(SqlBaseParser.COMMA); - this.state = 1039; - this.relation(0); - } - this.state = 1044; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,120,this._ctx); - } - - - } - this.state = 1048; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,122,this._ctx); - if(la_===1) { - this.state = 1047; - this.where(); - - } - this.state = 1060; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,124,this._ctx); - if(la_===1) { - this.state = 1050; - this.match(SqlBaseParser.GROUP); - this.state = 1051; - this.match(SqlBaseParser.BY); - this.state = 1052; - this.expr(); - this.state = 1057; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,123,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 1053; - this.match(SqlBaseParser.COMMA); - this.state = 1054; - this.expr(); - } - this.state = 1059; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,123,this._ctx); - } - - - } - this.state = 1064; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,125,this._ctx); - if(la_===1) { - this.state = 1062; - this.match(SqlBaseParser.HAVING); - this.state = 1063; - localctx.having = this.booleanExpression(0); - - } - this.state = 1075; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,127,this._ctx); - if(la_===1) { - this.state = 1066; - this.match(SqlBaseParser.WINDOW); - this.state = 1067; - localctx._namedWindow = this.namedWindow(); - localctx.windows.push(localctx._namedWindow); - this.state = 1072; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,126,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 1068; - this.match(SqlBaseParser.COMMA); - this.state = 1069; - localctx._namedWindow = this.namedWindow(); - localctx.windows.push(localctx._namedWindow); - } - this.state = 1074; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,126,this._ctx); - } - - - } - break; - case 208: - localctx = new ValuesRelationContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 1077; - this.match(SqlBaseParser.VALUES); - this.state = 1078; - this.values(); - this.state = 1083; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,128,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 1079; - this.match(SqlBaseParser.COMMA); - this.state = 1080; - this.values(); - } - this.state = 1085; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,128,this._ctx); - } - - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - selectItem() { - let localctx = new SelectItemContext(this, this._ctx, this.state); - this.enterRule(localctx, 30, SqlBaseParser.RULE_selectItem); - var _la = 0; - try { - this.state = 1100; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,132,this._ctx); - switch(la_) { - case 1: - localctx = new SelectSingleContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 1088; - this.expr(); - this.state = 1093; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,131,this._ctx); - if(la_===1) { - this.state = 1090; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===5) { - this.state = 1089; - this.match(SqlBaseParser.AS); - } - - this.state = 1092; - this.ident(); - - } - break; - - case 2: - localctx = new SelectAllContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 1095; - this.qname(); - this.state = 1096; - this.match(SqlBaseParser.DOT); - this.state = 1097; - this.match(SqlBaseParser.ASTERISK); - break; - - case 3: - localctx = new SelectAllContext(this, localctx); - this.enterOuterAlt(localctx, 3); - this.state = 1099; - this.match(SqlBaseParser.ASTERISK); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - where() { - let localctx = new WhereContext(this, this._ctx, this.state); - this.enterRule(localctx, 32, SqlBaseParser.RULE_where); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1102; - this.match(SqlBaseParser.WHERE); - this.state = 1103; - localctx.condition = this.booleanExpression(0); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - returning() { - let localctx = new ReturningContext(this, this._ctx, this.state); - this.enterRule(localctx, 34, SqlBaseParser.RULE_returning); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 1105; - this.match(SqlBaseParser.RETURNING); - this.state = 1106; - this.selectItem(); - this.state = 1111; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 1107; - this.match(SqlBaseParser.COMMA); - this.state = 1108; - this.selectItem(); - this.state = 1113; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - filter() { - let localctx = new FilterContext(this, this._ctx, this.state); - this.enterRule(localctx, 36, SqlBaseParser.RULE_filter); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1114; - this.match(SqlBaseParser.FILTER); - this.state = 1115; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1116; - this.where(); - this.state = 1117; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - relation(_p) { - if(_p===undefined) { - _p = 0; - } - const _parentctx = this._ctx; - const _parentState = this.state; - let localctx = new RelationContext(this, this._ctx, _parentState); - let _prevctx = localctx; - const _startState = 38; - this.enterRecursionRule(localctx, 38, SqlBaseParser.RULE_relation, _p); - try { - this.enterOuterAlt(localctx, 1); - localctx = new RelationDefaultContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - - this.state = 1120; - this.aliasedRelation(); - this._ctx.stop = this._input.LT(-1); - this.state = 1140; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,135,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - if(this._parseListeners!==null) { - this.triggerExitRuleEvent(); - } - _prevctx = localctx; - localctx = new JoinRelationContext(this, new RelationContext(this, _parentctx, _parentState)); - localctx.left = _prevctx; - this.pushNewRecursionContext(localctx, _startState, SqlBaseParser.RULE_relation); - this.state = 1122; - if (!( this.precpred(this._ctx, 2))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 2)"); - } - this.state = 1136; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 72: - this.state = 1123; - this.match(SqlBaseParser.CROSS); - this.state = 1124; - this.match(SqlBaseParser.JOIN); - this.state = 1125; - localctx.right = this.aliasedRelation(); - break; - case 71: - case 74: - case 75: - case 76: - case 77: - this.state = 1126; - this.joinType(); - this.state = 1127; - this.match(SqlBaseParser.JOIN); - this.state = 1128; - localctx.rightRelation = this.relation(0); - this.state = 1129; - this.joinCriteria(); - break; - case 78: - this.state = 1131; - this.match(SqlBaseParser.NATURAL); - this.state = 1132; - this.joinType(); - this.state = 1133; - this.match(SqlBaseParser.JOIN); - this.state = 1134; - localctx.right = this.aliasedRelation(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } - this.state = 1142; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,135,this._ctx); - } - - } catch( error) { - if(error instanceof antlr4.error.RecognitionException) { - localctx.exception = error; - this._errHandler.reportError(this, error); - this._errHandler.recover(this, error); - } else { - throw error; - } - } finally { - this.unrollRecursionContexts(_parentctx) - } - return localctx; - } - - - - joinType() { - let localctx = new JoinTypeContext(this, this._ctx, this.state); - this.enterRule(localctx, 40, SqlBaseParser.RULE_joinType); - var _la = 0; - try { - this.state = 1158; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 71: - case 74: - this.enterOuterAlt(localctx, 1); - this.state = 1144; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===74) { - this.state = 1143; - this.match(SqlBaseParser.INNER); - } - - break; - case 75: - this.enterOuterAlt(localctx, 2); - this.state = 1146; - this.match(SqlBaseParser.LEFT); - this.state = 1148; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===73) { - this.state = 1147; - this.match(SqlBaseParser.OUTER); - } - - break; - case 76: - this.enterOuterAlt(localctx, 3); - this.state = 1150; - this.match(SqlBaseParser.RIGHT); - this.state = 1152; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===73) { - this.state = 1151; - this.match(SqlBaseParser.OUTER); - } - - break; - case 77: - this.enterOuterAlt(localctx, 4); - this.state = 1154; - this.match(SqlBaseParser.FULL); - this.state = 1156; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===73) { - this.state = 1155; - this.match(SqlBaseParser.OUTER); - } - - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - joinCriteria() { - let localctx = new JoinCriteriaContext(this, this._ctx, this.state); - this.enterRule(localctx, 42, SqlBaseParser.RULE_joinCriteria); - var _la = 0; - try { - this.state = 1174; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 80: - this.enterOuterAlt(localctx, 1); - this.state = 1160; - this.match(SqlBaseParser.ON); - this.state = 1161; - this.booleanExpression(0); - break; - case 79: - this.enterOuterAlt(localctx, 2); - this.state = 1162; - this.match(SqlBaseParser.USING); - this.state = 1163; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1164; - this.ident(); - this.state = 1169; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 1165; - this.match(SqlBaseParser.COMMA); - this.state = 1166; - this.ident(); - this.state = 1171; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 1172; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - aliasedRelation() { - let localctx = new AliasedRelationContext(this, this._ctx, this.state); - this.enterRule(localctx, 44, SqlBaseParser.RULE_aliasedRelation); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 1176; - this.relationPrimary(); - this.state = 1184; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,145,this._ctx); - if(la_===1) { - this.state = 1178; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===5) { - this.state = 1177; - this.match(SqlBaseParser.AS); - } - - this.state = 1180; - this.ident(); - this.state = 1182; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,144,this._ctx); - if(la_===1) { - this.state = 1181; - this.aliasedColumns(); - - } - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - relationPrimary() { - let localctx = new RelationPrimaryContext(this, this._ctx, this.state); - this.enterRule(localctx, 46, SqlBaseParser.RULE_relationPrimary); - try { - this.state = 1195; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,146,this._ctx); - switch(la_) { - case 1: - localctx = new TableRelationContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 1186; - this.table(); - break; - - case 2: - localctx = new SubqueryRelationContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 1187; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1188; - this.query(); - this.state = 1189; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - - case 3: - localctx = new ParenthesizedRelationContext(this, localctx); - this.enterOuterAlt(localctx, 3); - this.state = 1191; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1192; - this.relation(0); - this.state = 1193; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - tableWithPartition() { - let localctx = new TableWithPartitionContext(this, this._ctx, this.state); - this.enterRule(localctx, 48, SqlBaseParser.RULE_tableWithPartition); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 1197; - this.qname(); - this.state = 1210; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===83) { - this.state = 1198; - this.match(SqlBaseParser.PARTITION); - this.state = 1199; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1200; - this.assignment(); - this.state = 1205; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 1201; - this.match(SqlBaseParser.COMMA); - this.state = 1202; - this.assignment(); - this.state = 1207; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 1208; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - table() { - let localctx = new TableContext(this, this._ctx, this.state); - this.enterRule(localctx, 50, SqlBaseParser.RULE_table); - var _la = 0; - try { - this.state = 1227; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,151,this._ctx); - switch(la_) { - case 1: - localctx = new TableNameContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 1212; - this.qname(); - break; - - case 2: - localctx = new TableFunctionContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 1213; - this.qname(); - this.state = 1214; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1216; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) === 0 && ((1 << _la) & 3909092434) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 4294933579) !== 0) || ((((_la - 64)) & ~0x1f) === 0 && ((1 << (_la - 64)) & 796792929) !== 0) || ((((_la - 96)) & ~0x1f) === 0 && ((1 << (_la - 96)) & 4294941693) !== 0) || ((((_la - 128)) & ~0x1f) === 0 && ((1 << (_la - 128)) & 2147483647) !== 0) || ((((_la - 161)) & ~0x1f) === 0 && ((1 << (_la - 161)) & 4294946773) !== 0) || ((((_la - 193)) & ~0x1f) === 0 && ((1 << (_la - 193)) & 3699150383) !== 0) || ((((_la - 225)) & ~0x1f) === 0 && ((1 << (_la - 225)) & 4235788283) !== 0) || ((((_la - 257)) & ~0x1f) === 0 && ((1 << (_la - 257)) & 33554431) !== 0) || ((((_la - 293)) & ~0x1f) === 0 && ((1 << (_la - 293)) & 4280111107) !== 0) || _la===325 || _la===326) { - this.state = 1215; - this.valueExpression(0); - } - - this.state = 1222; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 1218; - this.match(SqlBaseParser.COMMA); - this.state = 1219; - this.valueExpression(0); - this.state = 1224; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 1225; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - aliasedColumns() { - let localctx = new AliasedColumnsContext(this, this._ctx, this.state); - this.enterRule(localctx, 52, SqlBaseParser.RULE_aliasedColumns); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 1229; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1230; - this.ident(); - this.state = 1235; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 1231; - this.match(SqlBaseParser.COMMA); - this.state = 1232; - this.ident(); - this.state = 1237; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 1238; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - with_() { - let localctx = new WithContext(this, this._ctx, this.state); - this.enterRule(localctx, 54, SqlBaseParser.RULE_with); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 1240; - this.match(SqlBaseParser.WITH); - this.state = 1241; - this.namedQuery(); - this.state = 1246; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 1242; - this.match(SqlBaseParser.COMMA); - this.state = 1243; - this.namedQuery(); - this.state = 1248; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - namedQuery() { - let localctx = new NamedQueryContext(this, this._ctx, this.state); - this.enterRule(localctx, 56, SqlBaseParser.RULE_namedQuery); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 1249; - localctx.name = this.ident(); - this.state = 1251; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===305) { - this.state = 1250; - this.aliasedColumns(); - } - - this.state = 1253; - this.match(SqlBaseParser.AS); - this.state = 1254; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1255; - this.query(); - this.state = 1256; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - expr() { - let localctx = new ExprContext(this, this._ctx, this.state); - this.enterRule(localctx, 58, SqlBaseParser.RULE_expr); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1258; - this.booleanExpression(0); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - booleanExpression(_p) { - if(_p===undefined) { - _p = 0; - } - const _parentctx = this._ctx; - const _parentState = this.state; - let localctx = new BooleanExpressionContext(this, this._ctx, _parentState); - let _prevctx = localctx; - const _startState = 60; - this.enterRecursionRule(localctx, 60, SqlBaseParser.RULE_booleanExpression, _p); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1277; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 1: - case 4: - case 6: - case 10: - case 24: - case 27: - case 29: - case 30: - case 31: - case 32: - case 33: - case 35: - case 38: - case 42: - case 43: - case 44: - case 45: - case 46: - case 48: - case 49: - case 50: - case 51: - case 52: - case 53: - case 54: - case 55: - case 56: - case 57: - case 58: - case 59: - case 60: - case 61: - case 62: - case 63: - case 64: - case 69: - case 70: - case 75: - case 76: - case 81: - case 82: - case 83: - case 84: - case 85: - case 86: - case 88: - case 89: - case 90: - case 91: - case 93: - case 96: - case 98: - case 99: - case 100: - case 101: - case 102: - case 103: - case 104: - case 105: - case 107: - case 108: - case 111: - case 112: - case 113: - case 114: - case 115: - case 116: - case 117: - case 118: - case 119: - case 120: - case 121: - case 122: - case 123: - case 124: - case 125: - case 126: - case 127: - case 128: - case 129: - case 130: - case 131: - case 132: - case 133: - case 134: - case 135: - case 136: - case 137: - case 138: - case 139: - case 140: - case 141: - case 142: - case 143: - case 144: - case 145: - case 146: - case 147: - case 148: - case 149: - case 150: - case 151: - case 152: - case 153: - case 154: - case 155: - case 156: - case 157: - case 158: - case 161: - case 163: - case 165: - case 167: - case 168: - case 169: - case 170: - case 171: - case 172: - case 174: - case 176: - case 177: - case 178: - case 179: - case 180: - case 181: - case 182: - case 183: - case 184: - case 185: - case 186: - case 187: - case 188: - case 189: - case 190: - case 191: - case 192: - case 193: - case 194: - case 195: - case 196: - case 198: - case 202: - case 203: - case 204: - case 208: - case 211: - case 212: - case 213: - case 214: - case 215: - case 219: - case 220: - case 221: - case 223: - case 224: - case 225: - case 226: - case 228: - case 229: - case 230: - case 231: - case 232: - case 233: - case 234: - case 235: - case 236: - case 237: - case 238: - case 239: - case 240: - case 244: - case 245: - case 246: - case 247: - case 251: - case 252: - case 253: - case 254: - case 255: - case 256: - case 257: - case 258: - case 259: - case 260: - case 261: - case 262: - case 263: - case 264: - case 265: - case 266: - case 267: - case 268: - case 269: - case 270: - case 271: - case 272: - case 273: - case 274: - case 275: - case 276: - case 277: - case 278: - case 279: - case 280: - case 281: - case 293: - case 294: - case 305: - case 307: - case 309: - case 311: - case 312: - case 313: - case 317: - case 318: - case 319: - case 320: - case 321: - case 322: - case 323: - case 324: - case 325: - case 326: - localctx = new BooleanDefaultContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - - this.state = 1261; - this.predicated(); - break; - case 23: - localctx = new LogicalNotContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - this.state = 1262; - this.match(SqlBaseParser.NOT); - this.state = 1263; - this.booleanExpression(4); - break; - case 243: - localctx = new MatchContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - this.state = 1264; - this.match(SqlBaseParser.MATCH); - this.state = 1265; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1266; - this.matchPredicateIdents(); - this.state = 1267; - this.match(SqlBaseParser.COMMA); - this.state = 1268; - localctx.term = this.primaryExpression(0); - this.state = 1269; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - this.state = 1275; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,156,this._ctx); - if(la_===1) { - this.state = 1270; - this.match(SqlBaseParser.USING); - this.state = 1271; - localctx.matchType = this.ident(); - this.state = 1273; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,155,this._ctx); - if(la_===1) { - this.state = 1272; - this.withProperties(); - - } - - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this._ctx.stop = this._input.LT(-1); - this.state = 1287; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,159,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - if(this._parseListeners!==null) { - this.triggerExitRuleEvent(); - } - _prevctx = localctx; - this.state = 1285; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,158,this._ctx); - switch(la_) { - case 1: - localctx = new LogicalBinaryContext(this, new BooleanExpressionContext(this, _parentctx, _parentState)); - localctx.left = _prevctx; - this.pushNewRecursionContext(localctx, _startState, SqlBaseParser.RULE_booleanExpression); - this.state = 1279; - if (!( this.precpred(this._ctx, 3))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 3)"); - } - this.state = 1280; - localctx.operator = this.match(SqlBaseParser.AND); - this.state = 1281; - localctx.right = this.booleanExpression(4); - break; - - case 2: - localctx = new LogicalBinaryContext(this, new BooleanExpressionContext(this, _parentctx, _parentState)); - localctx.left = _prevctx; - this.pushNewRecursionContext(localctx, _startState, SqlBaseParser.RULE_booleanExpression); - this.state = 1282; - if (!( this.precpred(this._ctx, 2))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 2)"); - } - this.state = 1283; - localctx.operator = this.match(SqlBaseParser.OR); - this.state = 1284; - localctx.right = this.booleanExpression(3); - break; - - } - } - this.state = 1289; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,159,this._ctx); - } - - } catch( error) { - if(error instanceof antlr4.error.RecognitionException) { - localctx.exception = error; - this._errHandler.reportError(this, error); - this._errHandler.recover(this, error); - } else { - throw error; - } - } finally { - this.unrollRecursionContexts(_parentctx) - } - return localctx; - } - - - - predicated() { - let localctx = new PredicatedContext(this, this._ctx, this.state); - this.enterRule(localctx, 62, SqlBaseParser.RULE_predicated); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1290; - localctx._valueExpression = this.valueExpression(0); - this.state = 1292; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,160,this._ctx); - if(la_===1) { - this.state = 1291; - this.predicate(localctx._valueExpression); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - predicate(value) { - let localctx = new PredicateContext(this, this._ctx, this.state, value); - this.enterRule(localctx, 64, SqlBaseParser.RULE_predicate); - var _la = 0; - try { - this.state = 1362; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,171,this._ctx); - switch(la_) { - case 1: - localctx = new ComparisonContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 1294; - this.cmpOp(); - this.state = 1295; - localctx.right = this.valueExpression(0); - break; - - case 2: - localctx = new QuantifiedComparisonContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 1297; - this.cmpOp(); - this.state = 1298; - this.setCmpQuantifier(); - this.state = 1299; - this.primaryExpression(0); - break; - - case 3: - localctx = new BetweenContext(this, localctx); - this.enterOuterAlt(localctx, 3); - this.state = 1302; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===23) { - this.state = 1301; - this.match(SqlBaseParser.NOT); - } - - this.state = 1304; - this.match(SqlBaseParser.BETWEEN); - this.state = 1305; - localctx.lower = this.valueExpression(0); - this.state = 1306; - this.match(SqlBaseParser.AND); - this.state = 1307; - localctx.upper = this.valueExpression(0); - break; - - case 4: - localctx = new InListContext(this, localctx); - this.enterOuterAlt(localctx, 4); - this.state = 1310; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===23) { - this.state = 1309; - this.match(SqlBaseParser.NOT); - } - - this.state = 1312; - this.match(SqlBaseParser.IN); - this.state = 1313; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1314; - this.expr(); - this.state = 1319; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 1315; - this.match(SqlBaseParser.COMMA); - this.state = 1316; - this.expr(); - this.state = 1321; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 1322; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - - case 5: - localctx = new InSubqueryContext(this, localctx); - this.enterOuterAlt(localctx, 5); - this.state = 1325; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===23) { - this.state = 1324; - this.match(SqlBaseParser.NOT); - } - - this.state = 1327; - this.match(SqlBaseParser.IN); - this.state = 1328; - this.subqueryExpression(); - break; - - case 6: - localctx = new LikeContext(this, localctx); - this.enterOuterAlt(localctx, 6); - this.state = 1330; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===23) { - this.state = 1329; - this.match(SqlBaseParser.NOT); - } - - this.state = 1332; - _la = this._input.LA(1); - if(!(_la===26 || _la===27)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 1333; - localctx.pattern = this.valueExpression(0); - this.state = 1336; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,166,this._ctx); - if(la_===1) { - this.state = 1334; - this.match(SqlBaseParser.ESCAPE); - this.state = 1335; - localctx.escape = this.parameterOrLiteral(); - - } - break; - - case 7: - localctx = new ArrayLikeContext(this, localctx); - this.enterOuterAlt(localctx, 7); - this.state = 1339; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===23) { - this.state = 1338; - this.match(SqlBaseParser.NOT); - } - - this.state = 1341; - _la = this._input.LA(1); - if(!(_la===26 || _la===27)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 1342; - localctx.quant = this.setCmpQuantifier(); - this.state = 1343; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1344; - localctx.v = this.valueExpression(0); - this.state = 1345; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - this.state = 1348; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,168,this._ctx); - if(la_===1) { - this.state = 1346; - this.match(SqlBaseParser.ESCAPE); - this.state = 1347; - localctx.escape = this.valueExpression(0); - - } - break; - - case 8: - localctx = new NullPredicateContext(this, localctx); - this.enterOuterAlt(localctx, 8); - this.state = 1350; - this.match(SqlBaseParser.IS); - this.state = 1352; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===23) { - this.state = 1351; - this.match(SqlBaseParser.NOT); - } - - this.state = 1354; - this.match(SqlBaseParser.NULL); - break; - - case 9: - localctx = new DistinctFromContext(this, localctx); - this.enterOuterAlt(localctx, 9); - this.state = 1355; - this.match(SqlBaseParser.IS); - this.state = 1357; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===23) { - this.state = 1356; - this.match(SqlBaseParser.NOT); - } - - this.state = 1359; - this.match(SqlBaseParser.DISTINCT); - this.state = 1360; - this.match(SqlBaseParser.FROM); - this.state = 1361; - localctx.right = this.valueExpression(0); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - valueExpression(_p) { - if(_p===undefined) { - _p = 0; - } - const _parentctx = this._ctx; - const _parentState = this.state; - let localctx = new ValueExpressionContext(this, this._ctx, _parentState); - let _prevctx = localctx; - const _startState = 66; - this.enterRecursionRule(localctx, 66, SqlBaseParser.RULE_valueExpression, _p); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 1371; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,172,this._ctx); - switch(la_) { - case 1: - localctx = new ValueExpressionDefaultContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - - this.state = 1365; - this.primaryExpression(0); - break; - - case 2: - localctx = new ArithmeticUnaryContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - this.state = 1366; - localctx.operator = this._input.LT(1); - _la = this._input.LA(1); - if(!(_la===293 || _la===294)) { - localctx.operator = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 1367; - this.valueExpression(7); - break; - - case 3: - localctx = new FromStringLiteralCastContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - this.state = 1368; - this.dataType(0); - this.state = 1369; - this.stringLiteral(); - break; - - } - this._ctx.stop = this._input.LT(-1); - this.state = 1390; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,174,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - if(this._parseListeners!==null) { - this.triggerExitRuleEvent(); - } - _prevctx = localctx; - this.state = 1388; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,173,this._ctx); - switch(la_) { - case 1: - localctx = new ArithmeticBinaryContext(this, new ValueExpressionContext(this, _parentctx, _parentState)); - localctx.left = _prevctx; - this.pushNewRecursionContext(localctx, _startState, SqlBaseParser.RULE_valueExpression); - this.state = 1373; - if (!( this.precpred(this._ctx, 6))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 6)"); - } - this.state = 1374; - localctx.operator = this.match(SqlBaseParser.CARET); - this.state = 1375; - localctx.right = this.valueExpression(7); - break; - - case 2: - localctx = new ArithmeticBinaryContext(this, new ValueExpressionContext(this, _parentctx, _parentState)); - localctx.left = _prevctx; - this.pushNewRecursionContext(localctx, _startState, SqlBaseParser.RULE_valueExpression); - this.state = 1376; - if (!( this.precpred(this._ctx, 5))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 5)"); - } - this.state = 1377; - localctx.operator = this._input.LT(1); - _la = this._input.LA(1); - if(!(((((_la - 295)) & ~0x1f) === 0 && ((1 << (_la - 295)) & 13) !== 0))) { - localctx.operator = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 1378; - localctx.right = this.valueExpression(6); - break; - - case 3: - localctx = new ArithmeticBinaryContext(this, new ValueExpressionContext(this, _parentctx, _parentState)); - localctx.left = _prevctx; - this.pushNewRecursionContext(localctx, _startState, SqlBaseParser.RULE_valueExpression); - this.state = 1379; - if (!( this.precpred(this._ctx, 4))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 4)"); - } - this.state = 1380; - localctx.operator = this._input.LT(1); - _la = this._input.LA(1); - if(!(_la===293 || _la===294)) { - localctx.operator = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 1381; - localctx.right = this.valueExpression(5); - break; - - case 4: - localctx = new BitwiseBinaryContext(this, new ValueExpressionContext(this, _parentctx, _parentState)); - localctx.left = _prevctx; - this.pushNewRecursionContext(localctx, _startState, SqlBaseParser.RULE_valueExpression); - this.state = 1382; - if (!( this.precpred(this._ctx, 3))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 3)"); - } - this.state = 1383; - localctx.operator = this._input.LT(1); - _la = this._input.LA(1); - if(!(((((_la - 314)) & ~0x1f) === 0 && ((1 << (_la - 314)) & 7) !== 0))) { - localctx.operator = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 1384; - localctx.right = this.valueExpression(4); - break; - - case 5: - localctx = new ConcatenationContext(this, new ValueExpressionContext(this, _parentctx, _parentState)); - localctx.left = _prevctx; - this.pushNewRecursionContext(localctx, _startState, SqlBaseParser.RULE_valueExpression); - this.state = 1385; - if (!( this.precpred(this._ctx, 2))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 2)"); - } - this.state = 1386; - this.match(SqlBaseParser.CONCAT); - this.state = 1387; - localctx.right = this.valueExpression(3); - break; - - } - } - this.state = 1392; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,174,this._ctx); - } - - } catch( error) { - if(error instanceof antlr4.error.RecognitionException) { - localctx.exception = error; - this._errHandler.reportError(this, error); - this._errHandler.recover(this, error); - } else { - throw error; - } - } finally { - this.unrollRecursionContexts(_parentctx) - } - return localctx; - } - - - primaryExpression(_p) { - if(_p===undefined) { - _p = 0; - } - const _parentctx = this._ctx; - const _parentState = this.state; - let localctx = new PrimaryExpressionContext(this, this._ctx, _parentState); - let _prevctx = localctx; - const _startState = 68; - this.enterRecursionRule(localctx, 68, SqlBaseParser.RULE_primaryExpression, _p); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 1461; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,185,this._ctx); - switch(la_) { - case 1: - localctx = new DefaultParamOrLiteralContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - - this.state = 1394; - this.parameterOrLiteral(); - break; - - case 2: - localctx = new ExplicitFunctionDefaultContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - this.state = 1395; - this.explicitFunction(); - break; - - case 3: - localctx = new FunctionCallContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - this.state = 1396; - this.qname(); - this.state = 1397; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1398; - this.match(SqlBaseParser.ASTERISK); - this.state = 1399; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - this.state = 1401; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,175,this._ctx); - if(la_===1) { - this.state = 1400; - this.filter(); - - } - this.state = 1404; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,176,this._ctx); - if(la_===1) { - this.state = 1403; - this.over(); - - } - break; - - case 4: - localctx = new ColumnReferenceContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - this.state = 1406; - this.ident(); - break; - - case 5: - localctx = new FunctionCallContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - this.state = 1407; - this.qname(); - this.state = 1408; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1420; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) === 0 && ((1 << _la) & 3917485266) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 4294933579) !== 0) || ((((_la - 64)) & ~0x1f) === 0 && ((1 << (_la - 64)) & 796792929) !== 0) || ((((_la - 96)) & ~0x1f) === 0 && ((1 << (_la - 96)) & 4294941693) !== 0) || ((((_la - 128)) & ~0x1f) === 0 && ((1 << (_la - 128)) & 2147483647) !== 0) || ((((_la - 161)) & ~0x1f) === 0 && ((1 << (_la - 161)) & 4294946773) !== 0) || ((((_la - 193)) & ~0x1f) === 0 && ((1 << (_la - 193)) & 3699150383) !== 0) || ((((_la - 225)) & ~0x1f) === 0 && ((1 << (_la - 225)) & 4236050427) !== 0) || ((((_la - 257)) & ~0x1f) === 0 && ((1 << (_la - 257)) & 33554431) !== 0) || ((((_la - 293)) & ~0x1f) === 0 && ((1 << (_la - 293)) & 4280111107) !== 0) || _la===325 || _la===326) { - this.state = 1410; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===7 || _la===12) { - this.state = 1409; - this.setQuant(); - } - - this.state = 1412; - this.expr(); - this.state = 1417; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 1413; - this.match(SqlBaseParser.COMMA); - this.state = 1414; - this.expr(); - this.state = 1419; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 1422; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - this.state = 1424; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,180,this._ctx); - if(la_===1) { - this.state = 1423; - this.filter(); - - } - this.state = 1428; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,181,this._ctx); - if(la_===1) { - this.state = 1426; - _la = this._input.LA(1); - if(!(_la===32 || _la===33)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 1427; - this.match(SqlBaseParser.NULLS); - - } - this.state = 1431; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,182,this._ctx); - if(la_===1) { - this.state = 1430; - this.over(); - - } - break; - - case 6: - localctx = new SubqueryExpressionDefaultContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - this.state = 1433; - this.subqueryExpression(); - break; - - case 7: - localctx = new RecordSubscriptContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - this.state = 1434; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1435; - localctx.base = this.primaryExpression(0); - this.state = 1436; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - this.state = 1437; - this.match(SqlBaseParser.DOT); - this.state = 1438; - localctx.fieldName = this.ident(); - break; - - case 8: - localctx = new NestedExpressionContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - this.state = 1440; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1441; - this.expr(); - this.state = 1442; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - - case 9: - localctx = new ExistsContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - this.state = 1444; - this.match(SqlBaseParser.EXISTS); - this.state = 1445; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1446; - this.query(); - this.state = 1447; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - - case 10: - localctx = new DereferenceContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - this.state = 1449; - this.ident(); - this.state = 1454; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,183,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 1450; - this.match(SqlBaseParser.DOT); - this.state = 1451; - this.ident(); - } - this.state = 1456; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,183,this._ctx); - } - - break; - - case 11: - localctx = new EmptyArrayContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - this.state = 1458; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===233) { - this.state = 1457; - this.match(SqlBaseParser.ARRAY); - } - - this.state = 1460; - this.match(SqlBaseParser.EMPTY_SQUARE_BRACKET); - break; - - } - this._ctx.stop = this._input.LT(-1); - this.state = 1488; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,189,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - if(this._parseListeners!==null) { - this.triggerExitRuleEvent(); - } - _prevctx = localctx; - this.state = 1486; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,188,this._ctx); - switch(la_) { - case 1: - localctx = new AtTimezoneContext(this, new PrimaryExpressionContext(this, _parentctx, _parentState)); - localctx.timestamp = _prevctx; - this.pushNewRecursionContext(localctx, _startState, SqlBaseParser.RULE_primaryExpression); - this.state = 1463; - if (!( this.precpred(this._ctx, 2))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 2)"); - } - this.state = 1464; - this.match(SqlBaseParser.AT); - this.state = 1465; - this.match(SqlBaseParser.TIME); - this.state = 1466; - this.match(SqlBaseParser.ZONE); - this.state = 1467; - localctx.zone = this.primaryExpression(3); - break; - - case 2: - localctx = new SubscriptContext(this, new PrimaryExpressionContext(this, _parentctx, _parentState)); - localctx.value = _prevctx; - this.pushNewRecursionContext(localctx, _startState, SqlBaseParser.RULE_primaryExpression); - this.state = 1468; - if (!( this.precpred(this._ctx, 6))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 6)"); - } - this.state = 1469; - this.match(SqlBaseParser.OPEN_SQUARE_BRACKET); - this.state = 1470; - localctx.index = this.valueExpression(0); - this.state = 1471; - this.match(SqlBaseParser.CLOSE_SQUARE_BRACKET); - break; - - case 3: - localctx = new ArraySliceContext(this, new PrimaryExpressionContext(this, _parentctx, _parentState)); - localctx.base = _prevctx; - this.pushNewRecursionContext(localctx, _startState, SqlBaseParser.RULE_primaryExpression); - this.state = 1473; - if (!( this.precpred(this._ctx, 5))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 5)"); - } - this.state = 1474; - this.match(SqlBaseParser.OPEN_SQUARE_BRACKET); - this.state = 1476; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) === 0 && ((1 << _la) & 3909092434) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 4294933579) !== 0) || ((((_la - 64)) & ~0x1f) === 0 && ((1 << (_la - 64)) & 796792929) !== 0) || ((((_la - 96)) & ~0x1f) === 0 && ((1 << (_la - 96)) & 4294941693) !== 0) || ((((_la - 128)) & ~0x1f) === 0 && ((1 << (_la - 128)) & 2147483647) !== 0) || ((((_la - 161)) & ~0x1f) === 0 && ((1 << (_la - 161)) & 4294946773) !== 0) || ((((_la - 193)) & ~0x1f) === 0 && ((1 << (_la - 193)) & 3699150383) !== 0) || ((((_la - 225)) & ~0x1f) === 0 && ((1 << (_la - 225)) & 4235788283) !== 0) || ((((_la - 257)) & ~0x1f) === 0 && ((1 << (_la - 257)) & 33554431) !== 0) || ((((_la - 293)) & ~0x1f) === 0 && ((1 << (_la - 293)) & 4280111107) !== 0) || _la===325 || _la===326) { - this.state = 1475; - localctx.from = this.valueExpression(0); - } - - this.state = 1478; - this.match(SqlBaseParser.COLON); - this.state = 1480; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) === 0 && ((1 << _la) & 3909092434) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 4294933579) !== 0) || ((((_la - 64)) & ~0x1f) === 0 && ((1 << (_la - 64)) & 796792929) !== 0) || ((((_la - 96)) & ~0x1f) === 0 && ((1 << (_la - 96)) & 4294941693) !== 0) || ((((_la - 128)) & ~0x1f) === 0 && ((1 << (_la - 128)) & 2147483647) !== 0) || ((((_la - 161)) & ~0x1f) === 0 && ((1 << (_la - 161)) & 4294946773) !== 0) || ((((_la - 193)) & ~0x1f) === 0 && ((1 << (_la - 193)) & 3699150383) !== 0) || ((((_la - 225)) & ~0x1f) === 0 && ((1 << (_la - 225)) & 4235788283) !== 0) || ((((_la - 257)) & ~0x1f) === 0 && ((1 << (_la - 257)) & 33554431) !== 0) || ((((_la - 293)) & ~0x1f) === 0 && ((1 << (_la - 293)) & 4280111107) !== 0) || _la===325 || _la===326) { - this.state = 1479; - localctx.to = this.valueExpression(0); - } - - this.state = 1482; - this.match(SqlBaseParser.CLOSE_SQUARE_BRACKET); - break; - - case 4: - localctx = new DoubleColonCastContext(this, new PrimaryExpressionContext(this, _parentctx, _parentState)); - this.pushNewRecursionContext(localctx, _startState, SqlBaseParser.RULE_primaryExpression); - this.state = 1483; - if (!( this.precpred(this._ctx, 3))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 3)"); - } - this.state = 1484; - this.match(SqlBaseParser.CAST_OPERATOR); - this.state = 1485; - this.dataType(0); - break; - - } - } - this.state = 1490; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,189,this._ctx); - } - - } catch( error) { - if(error instanceof antlr4.error.RecognitionException) { - localctx.exception = error; - this._errHandler.reportError(this, error); - this._errHandler.recover(this, error); - } else { - throw error; - } - } finally { - this.unrollRecursionContexts(_parentctx) - } - return localctx; - } - - - - explicitFunction() { - let localctx = new ExplicitFunctionContext(this, this._ctx, this.state); - this.enterRule(localctx, 70, SqlBaseParser.RULE_explicitFunction); - var _la = 0; - try { - this.state = 1607; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,201,this._ctx); - switch(la_) { - case 1: - localctx = new SpecialDateTimeFunctionContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 1491; - localctx.name = this.match(SqlBaseParser.CURRENT_DATE); - break; - - case 2: - localctx = new SpecialDateTimeFunctionContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 1492; - localctx.name = this.match(SqlBaseParser.CURRENT_TIME); - this.state = 1497; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,190,this._ctx); - if(la_===1) { - this.state = 1493; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1494; - localctx.precision = this.integerLiteral(); - this.state = 1495; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - - } - break; - - case 3: - localctx = new SpecialDateTimeFunctionContext(this, localctx); - this.enterOuterAlt(localctx, 3); - this.state = 1499; - localctx.name = this.match(SqlBaseParser.CURRENT_TIMESTAMP); - this.state = 1504; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,191,this._ctx); - if(la_===1) { - this.state = 1500; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1501; - localctx.precision = this.integerLiteral(); - this.state = 1502; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - - } - break; - - case 4: - localctx = new CurrentSchemaContext(this, localctx); - this.enterOuterAlt(localctx, 4); - this.state = 1506; - this.match(SqlBaseParser.CURRENT_SCHEMA); - break; - - case 5: - localctx = new CurrentUserContext(this, localctx); - this.enterOuterAlt(localctx, 5); - this.state = 1507; - _la = this._input.LA(1); - if(!(_la===60 || _la===61 || _la===246)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - case 6: - localctx = new SessionUserContext(this, localctx); - this.enterOuterAlt(localctx, 6); - this.state = 1508; - this.match(SqlBaseParser.SESSION_USER); - break; - - case 7: - localctx = new LeftContext(this, localctx); - this.enterOuterAlt(localctx, 7); - this.state = 1509; - this.match(SqlBaseParser.LEFT); - this.state = 1510; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1511; - localctx.strOrColName = this.expr(); - this.state = 1512; - this.match(SqlBaseParser.COMMA); - this.state = 1513; - localctx.len = this.expr(); - this.state = 1514; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - - case 8: - localctx = new RightContext(this, localctx); - this.enterOuterAlt(localctx, 8); - this.state = 1516; - this.match(SqlBaseParser.RIGHT); - this.state = 1517; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1518; - localctx.strOrColName = this.expr(); - this.state = 1519; - this.match(SqlBaseParser.COMMA); - this.state = 1520; - localctx.len = this.expr(); - this.state = 1521; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - - case 9: - localctx = new SubstringContext(this, localctx); - this.enterOuterAlt(localctx, 9); - this.state = 1523; - this.match(SqlBaseParser.SUBSTRING); - this.state = 1524; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1525; - this.expr(); - this.state = 1526; - this.match(SqlBaseParser.FROM); - this.state = 1527; - this.expr(); - this.state = 1530; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===47) { - this.state = 1528; - this.match(SqlBaseParser.FOR); - this.state = 1529; - this.expr(); - } - - this.state = 1532; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - - case 10: - localctx = new TrimContext(this, localctx); - this.enterOuterAlt(localctx, 10); - this.state = 1534; - this.match(SqlBaseParser.TRIM); - this.state = 1535; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1543; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,195,this._ctx); - if(la_===1) { - this.state = 1537; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,193,this._ctx); - if(la_===1) { - this.state = 1536; - localctx.trimMode = this._input.LT(1); - _la = this._input.LA(1); - if(!(((((_la - 44)) & ~0x1f) === 0 && ((1 << (_la - 44)) & 7) !== 0))) { - localctx.trimMode = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - - } - this.state = 1540; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) === 0 && ((1 << _la) & 3917481042) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 4294933579) !== 0) || ((((_la - 64)) & ~0x1f) === 0 && ((1 << (_la - 64)) & 796792929) !== 0) || ((((_la - 96)) & ~0x1f) === 0 && ((1 << (_la - 96)) & 4294941693) !== 0) || ((((_la - 128)) & ~0x1f) === 0 && ((1 << (_la - 128)) & 2147483647) !== 0) || ((((_la - 161)) & ~0x1f) === 0 && ((1 << (_la - 161)) & 4294946773) !== 0) || ((((_la - 193)) & ~0x1f) === 0 && ((1 << (_la - 193)) & 3699150383) !== 0) || ((((_la - 225)) & ~0x1f) === 0 && ((1 << (_la - 225)) & 4236050427) !== 0) || ((((_la - 257)) & ~0x1f) === 0 && ((1 << (_la - 257)) & 33554431) !== 0) || ((((_la - 293)) & ~0x1f) === 0 && ((1 << (_la - 293)) & 4280111107) !== 0) || _la===325 || _la===326) { - this.state = 1539; - localctx.charsToTrim = this.expr(); - } - - this.state = 1542; - this.match(SqlBaseParser.FROM); - - } - this.state = 1545; - localctx.target = this.expr(); - this.state = 1546; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - - case 11: - localctx = new ExtractContext(this, localctx); - this.enterOuterAlt(localctx, 11); - this.state = 1548; - this.match(SqlBaseParser.EXTRACT); - this.state = 1549; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1550; - this.stringLiteralOrIdentifier(); - this.state = 1551; - this.match(SqlBaseParser.FROM); - this.state = 1552; - this.expr(); - this.state = 1553; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - - case 12: - localctx = new CastContext(this, localctx); - this.enterOuterAlt(localctx, 12); - this.state = 1555; - this.match(SqlBaseParser.CAST); - this.state = 1556; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1557; - this.expr(); - this.state = 1558; - this.match(SqlBaseParser.AS); - this.state = 1559; - this.dataType(0); - this.state = 1560; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - - case 13: - localctx = new CastContext(this, localctx); - this.enterOuterAlt(localctx, 13); - this.state = 1562; - this.match(SqlBaseParser.TRY_CAST); - this.state = 1563; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1564; - this.expr(); - this.state = 1565; - this.match(SqlBaseParser.AS); - this.state = 1566; - this.dataType(0); - this.state = 1567; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - - case 14: - localctx = new SimpleCaseContext(this, localctx); - this.enterOuterAlt(localctx, 14); - this.state = 1569; - this.match(SqlBaseParser.CASE); - this.state = 1570; - localctx.operand = this.expr(); - this.state = 1572; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 1571; - this.whenClause(); - this.state = 1574; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===65); - this.state = 1578; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===67) { - this.state = 1576; - this.match(SqlBaseParser.ELSE); - this.state = 1577; - localctx.elseExpr = this.expr(); - } - - this.state = 1580; - this.match(SqlBaseParser.END); - break; - - case 15: - localctx = new SearchedCaseContext(this, localctx); - this.enterOuterAlt(localctx, 15); - this.state = 1582; - this.match(SqlBaseParser.CASE); - this.state = 1584; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 1583; - this.whenClause(); - this.state = 1586; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===65); - this.state = 1590; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===67) { - this.state = 1588; - this.match(SqlBaseParser.ELSE); - this.state = 1589; - localctx.elseExpr = this.expr(); - } - - this.state = 1592; - this.match(SqlBaseParser.END); - break; - - case 16: - localctx = new IfCaseContext(this, localctx); - this.enterOuterAlt(localctx, 16); - this.state = 1594; - this.match(SqlBaseParser.IF); - this.state = 1595; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1596; - localctx.condition = this.expr(); - this.state = 1597; - this.match(SqlBaseParser.COMMA); - this.state = 1598; - localctx.trueValue = this.expr(); - this.state = 1601; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===303) { - this.state = 1599; - this.match(SqlBaseParser.COMMA); - this.state = 1600; - localctx.falseValue = this.expr(); - } - - this.state = 1603; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - - case 17: - localctx = new ArraySubqueryContext(this, localctx); - this.enterOuterAlt(localctx, 17); - this.state = 1605; - this.match(SqlBaseParser.ARRAY); - this.state = 1606; - this.subqueryExpression(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - subqueryExpression() { - let localctx = new SubqueryExpressionContext(this, this._ctx, this.state); - this.enterRule(localctx, 72, SqlBaseParser.RULE_subqueryExpression); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1609; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1610; - this.query(); - this.state = 1611; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - parameterOrLiteral() { - let localctx = new ParameterOrLiteralContext(this, this._ctx, this.state); - this.enterRule(localctx, 74, SqlBaseParser.RULE_parameterOrLiteral); - var _la = 0; - try { - this.state = 1641; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 29: - case 30: - case 31: - case 70: - case 312: - case 313: - case 317: - case 318: - case 319: - case 320: - case 321: - case 326: - localctx = new SimpleLiteralContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 1613; - this.parameterOrSimpleLiteral(); - break; - case 233: - case 309: - localctx = new ArrayLiteralContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 1615; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===233) { - this.state = 1614; - this.match(SqlBaseParser.ARRAY); - } - - this.state = 1617; - this.match(SqlBaseParser.OPEN_SQUARE_BRACKET); - this.state = 1626; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) === 0 && ((1 << _la) & 3917481042) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 4294933579) !== 0) || ((((_la - 64)) & ~0x1f) === 0 && ((1 << (_la - 64)) & 796792929) !== 0) || ((((_la - 96)) & ~0x1f) === 0 && ((1 << (_la - 96)) & 4294941693) !== 0) || ((((_la - 128)) & ~0x1f) === 0 && ((1 << (_la - 128)) & 2147483647) !== 0) || ((((_la - 161)) & ~0x1f) === 0 && ((1 << (_la - 161)) & 4294946773) !== 0) || ((((_la - 193)) & ~0x1f) === 0 && ((1 << (_la - 193)) & 3699150383) !== 0) || ((((_la - 225)) & ~0x1f) === 0 && ((1 << (_la - 225)) & 4236050427) !== 0) || ((((_la - 257)) & ~0x1f) === 0 && ((1 << (_la - 257)) & 33554431) !== 0) || ((((_la - 293)) & ~0x1f) === 0 && ((1 << (_la - 293)) & 4280111107) !== 0) || _la===325 || _la===326) { - this.state = 1618; - this.expr(); - this.state = 1623; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 1619; - this.match(SqlBaseParser.COMMA); - this.state = 1620; - this.expr(); - this.state = 1625; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 1628; - this.match(SqlBaseParser.CLOSE_SQUARE_BRACKET); - break; - case 307: - localctx = new ObjectLiteralContext(this, localctx); - this.enterOuterAlt(localctx, 3); - this.state = 1629; - this.match(SqlBaseParser.OPEN_CURLY_BRACKET); - this.state = 1638; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) === 0 && ((1 << _la) & 134218834) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 268401739) !== 0) || ((((_la - 70)) & ~0x1f) === 0 && ((1 << (_la - 70)) & 4106090497) !== 0) || ((((_la - 102)) & ~0x1f) === 0 && ((1 << (_la - 102)) & 4294966895) !== 0) || ((((_la - 135)) & ~0x1f) === 0 && ((1 << (_la - 135)) & 1426063357) !== 0) || ((((_la - 167)) & ~0x1f) === 0 && ((1 << (_la - 167)) & 3221028543) !== 0) || ((((_la - 202)) & ~0x1f) === 0 && ((1 << (_la - 202)) & 2112765511) !== 0) || ((((_la - 234)) & ~0x1f) === 0 && ((1 << (_la - 234)) & 4294847615) !== 0) || ((((_la - 266)) & ~0x1f) === 0 && ((1 << (_la - 266)) & 65535) !== 0) || ((((_la - 322)) & ~0x1f) === 0 && ((1 << (_la - 322)) & 15) !== 0)) { - this.state = 1630; - this.objectKeyValue(); - this.state = 1635; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 1631; - this.match(SqlBaseParser.COMMA); - this.state = 1632; - this.objectKeyValue(); - this.state = 1637; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 1640; - this.match(SqlBaseParser.CLOSE_CURLY_BRACKET); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - parameterOrSimpleLiteral() { - let localctx = new ParameterOrSimpleLiteralContext(this, this._ctx, this.state); - this.enterRule(localctx, 76, SqlBaseParser.RULE_parameterOrSimpleLiteral); - try { - this.state = 1651; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 29: - this.enterOuterAlt(localctx, 1); - this.state = 1643; - this.nullLiteral(); - break; - case 70: - this.enterOuterAlt(localctx, 2); - this.state = 1644; - this.intervalLiteral(); - break; - case 318: - this.enterOuterAlt(localctx, 3); - this.state = 1645; - this.escapedCharsStringLiteral(); - break; - case 317: - case 326: - this.enterOuterAlt(localctx, 4); - this.state = 1646; - this.stringLiteral(); - break; - case 320: - case 321: - this.enterOuterAlt(localctx, 5); - this.state = 1647; - this.numericLiteral(); - break; - case 30: - case 31: - this.enterOuterAlt(localctx, 6); - this.state = 1648; - this.booleanLiteral(); - break; - case 319: - this.enterOuterAlt(localctx, 7); - this.state = 1649; - this.bitString(); - break; - case 312: - case 313: - this.enterOuterAlt(localctx, 8); - this.state = 1650; - this.parameterExpr(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - parameterOrInteger() { - let localctx = new ParameterOrIntegerContext(this, this._ctx, this.state); - this.enterRule(localctx, 78, SqlBaseParser.RULE_parameterOrInteger); - try { - this.state = 1674; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,209,this._ctx); - switch(la_) { - case 1: - localctx = new ParameterExpressionContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 1653; - this.parameterExpr(); - break; - - case 2: - localctx = new IntAsLiteralContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 1654; - this.integerLiteral(); - break; - - case 3: - localctx = new NullAsLiteralContext(this, localctx); - this.enterOuterAlt(localctx, 3); - this.state = 1655; - this.nullLiteral(); - break; - - case 4: - localctx = new IntegerParamOrLiteralDoubleColonCastContext(this, localctx); - this.enterOuterAlt(localctx, 4); - this.state = 1656; - this.parameterOrLiteral(); - this.state = 1657; - this.match(SqlBaseParser.CAST_OPERATOR); - this.state = 1658; - this.dataType(0); - break; - - case 5: - localctx = new IntegerParamOrLiteralCastContext(this, localctx); - this.enterOuterAlt(localctx, 5); - this.state = 1660; - this.match(SqlBaseParser.CAST); - this.state = 1661; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1662; - this.expr(); - this.state = 1663; - this.match(SqlBaseParser.AS); - this.state = 1664; - this.dataType(0); - this.state = 1665; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - - case 6: - localctx = new IntegerParamOrLiteralCastContext(this, localctx); - this.enterOuterAlt(localctx, 6); - this.state = 1667; - this.match(SqlBaseParser.TRY_CAST); - this.state = 1668; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1669; - this.expr(); - this.state = 1670; - this.match(SqlBaseParser.AS); - this.state = 1671; - this.dataType(0); - this.state = 1672; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - parameterOrIdent() { - let localctx = new ParameterOrIdentContext(this, this._ctx, this.state); - this.enterRule(localctx, 80, SqlBaseParser.RULE_parameterOrIdent); - try { - this.state = 1678; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 312: - case 313: - this.enterOuterAlt(localctx, 1); - this.state = 1676; - this.parameterExpr(); - break; - case 1: - case 4: - case 6: - case 10: - case 27: - case 32: - case 33: - case 35: - case 38: - case 42: - case 43: - case 44: - case 45: - case 46: - case 48: - case 49: - case 50: - case 51: - case 52: - case 53: - case 54: - case 55: - case 56: - case 57: - case 58: - case 59: - case 70: - case 81: - case 82: - case 83: - case 84: - case 85: - case 86: - case 88: - case 89: - case 90: - case 91: - case 93: - case 96: - case 98: - case 99: - case 100: - case 101: - case 102: - case 103: - case 104: - case 105: - case 107: - case 108: - case 111: - case 112: - case 113: - case 114: - case 115: - case 116: - case 117: - case 118: - case 119: - case 120: - case 121: - case 122: - case 123: - case 124: - case 125: - case 126: - case 127: - case 128: - case 129: - case 130: - case 131: - case 132: - case 133: - case 135: - case 137: - case 138: - case 139: - case 140: - case 141: - case 142: - case 143: - case 144: - case 145: - case 146: - case 147: - case 148: - case 149: - case 150: - case 151: - case 152: - case 153: - case 154: - case 155: - case 156: - case 157: - case 158: - case 161: - case 163: - case 165: - case 167: - case 168: - case 169: - case 170: - case 171: - case 172: - case 174: - case 176: - case 177: - case 178: - case 179: - case 180: - case 181: - case 182: - case 185: - case 186: - case 187: - case 188: - case 189: - case 190: - case 191: - case 192: - case 193: - case 194: - case 195: - case 196: - case 198: - case 202: - case 203: - case 204: - case 208: - case 211: - case 212: - case 213: - case 214: - case 215: - case 219: - case 220: - case 221: - case 223: - case 224: - case 225: - case 226: - case 228: - case 229: - case 230: - case 231: - case 232: - case 234: - case 235: - case 236: - case 237: - case 238: - case 239: - case 240: - case 244: - case 245: - case 247: - case 251: - case 252: - case 253: - case 254: - case 255: - case 256: - case 257: - case 258: - case 259: - case 260: - case 261: - case 262: - case 263: - case 264: - case 265: - case 266: - case 267: - case 268: - case 269: - case 270: - case 271: - case 272: - case 273: - case 274: - case 275: - case 276: - case 277: - case 278: - case 279: - case 280: - case 281: - case 322: - case 323: - case 324: - case 325: - this.enterOuterAlt(localctx, 2); - this.state = 1677; - this.ident(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - parameterOrString() { - let localctx = new ParameterOrStringContext(this, this._ctx, this.state); - this.enterRule(localctx, 82, SqlBaseParser.RULE_parameterOrString); - try { - this.state = 1682; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 312: - case 313: - this.enterOuterAlt(localctx, 1); - this.state = 1680; - this.parameterExpr(); - break; - case 317: - case 326: - this.enterOuterAlt(localctx, 2); - this.state = 1681; - this.stringLiteral(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - parameterExpr() { - let localctx = new ParameterExprContext(this, this._ctx, this.state); - this.enterRule(localctx, 84, SqlBaseParser.RULE_parameterExpr); - try { - this.state = 1687; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 313: - localctx = new PositionalParameterContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 1684; - this.match(SqlBaseParser.DOLLAR); - this.state = 1685; - this.integerLiteral(); - break; - case 312: - localctx = new ParameterPlaceholderContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 1686; - this.match(SqlBaseParser.QUESTION); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - nullLiteral() { - let localctx = new NullLiteralContext(this, this._ctx, this.state); - this.enterRule(localctx, 86, SqlBaseParser.RULE_nullLiteral); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1689; - this.match(SqlBaseParser.NULL); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - escapedCharsStringLiteral() { - let localctx = new EscapedCharsStringLiteralContext(this, this._ctx, this.state); - this.enterRule(localctx, 88, SqlBaseParser.RULE_escapedCharsStringLiteral); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1691; - this.match(SqlBaseParser.ESCAPED_STRING); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - dollarQuotedStringLiteral() { - let localctx = new DollarQuotedStringLiteralContext(this, this._ctx, this.state); - this.enterRule(localctx, 90, SqlBaseParser.RULE_dollarQuotedStringLiteral); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 1693; - this.match(SqlBaseParser.BEGIN_DOLLAR_QUOTED_STRING); - this.state = 1697; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===330) { - this.state = 1694; - this.match(SqlBaseParser.DOLLAR_QUOTED_STRING_BODY); - this.state = 1699; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 1700; - this.match(SqlBaseParser.END_DOLLAR_QUOTED_STRING); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - stringLiteral() { - let localctx = new StringLiteralContext(this, this._ctx, this.state); - this.enterRule(localctx, 92, SqlBaseParser.RULE_stringLiteral); - try { - this.state = 1704; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 317: - this.enterOuterAlt(localctx, 1); - this.state = 1702; - this.match(SqlBaseParser.STRING); - break; - case 326: - this.enterOuterAlt(localctx, 2); - this.state = 1703; - this.dollarQuotedStringLiteral(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - bitString() { - let localctx = new BitStringContext(this, this._ctx, this.state); - this.enterRule(localctx, 94, SqlBaseParser.RULE_bitString); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1706; - this.match(SqlBaseParser.BIT_STRING); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - subscriptSafe(_p) { - if(_p===undefined) { - _p = 0; - } - const _parentctx = this._ctx; - const _parentState = this.state; - let localctx = new SubscriptSafeContext(this, this._ctx, _parentState); - let _prevctx = localctx; - const _startState = 96; - this.enterRecursionRule(localctx, 96, SqlBaseParser.RULE_subscriptSafe, _p); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1709; - this.qname(); - this._ctx.stop = this._input.LT(-1); - this.state = 1718; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,215,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - if(this._parseListeners!==null) { - this.triggerExitRuleEvent(); - } - _prevctx = localctx; - localctx = new SubscriptSafeContext(this, _parentctx, _parentState); - localctx.value = _prevctx; - this.pushNewRecursionContext(localctx, _startState, SqlBaseParser.RULE_subscriptSafe); - this.state = 1711; - if (!( this.precpred(this._ctx, 2))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 2)"); - } - this.state = 1712; - this.match(SqlBaseParser.OPEN_SQUARE_BRACKET); - this.state = 1713; - localctx.index = this.valueExpression(0); - this.state = 1714; - this.match(SqlBaseParser.CLOSE_SQUARE_BRACKET); - } - this.state = 1720; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,215,this._ctx); - } - - } catch( error) { - if(error instanceof antlr4.error.RecognitionException) { - localctx.exception = error; - this._errHandler.reportError(this, error); - this._errHandler.recover(this, error); - } else { - throw error; - } - } finally { - this.unrollRecursionContexts(_parentctx) - } - return localctx; - } - - - - cmpOp() { - let localctx = new CmpOpContext(this, this._ctx, this.state); - this.enterRule(localctx, 98, SqlBaseParser.RULE_cmpOp); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 1721; - _la = this._input.LA(1); - if(!(((((_la - 282)) & ~0x1f) === 0 && ((1 << (_la - 282)) & 2047) !== 0))) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - setCmpQuantifier() { - let localctx = new SetCmpQuantifierContext(this, this._ctx, this.state); - this.enterRule(localctx, 100, SqlBaseParser.RULE_setCmpQuantifier); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 1723; - _la = this._input.LA(1); - if(!((((_la) & ~0x1f) === 0 && ((1 << _la) & 896) !== 0))) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - whenClause() { - let localctx = new WhenClauseContext(this, this._ctx, this.state); - this.enterRule(localctx, 102, SqlBaseParser.RULE_whenClause); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1725; - this.match(SqlBaseParser.WHEN); - this.state = 1726; - localctx.condition = this.expr(); - this.state = 1727; - this.match(SqlBaseParser.THEN); - this.state = 1728; - localctx.result = this.expr(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - namedWindow() { - let localctx = new NamedWindowContext(this, this._ctx, this.state); - this.enterRule(localctx, 104, SqlBaseParser.RULE_namedWindow); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1730; - localctx.name = this.ident(); - this.state = 1731; - this.match(SqlBaseParser.AS); - this.state = 1732; - this.windowDefinition(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - over() { - let localctx = new OverContext(this, this._ctx, this.state); - this.enterRule(localctx, 106, SqlBaseParser.RULE_over); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1734; - this.match(SqlBaseParser.OVER); - this.state = 1735; - this.windowDefinition(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - windowDefinition() { - let localctx = new WindowDefinitionContext(this, this._ctx, this.state); - this.enterRule(localctx, 108, SqlBaseParser.RULE_windowDefinition); - var _la = 0; - try { - this.state = 1770; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 1: - case 4: - case 6: - case 10: - case 27: - case 32: - case 33: - case 35: - case 38: - case 42: - case 43: - case 44: - case 45: - case 46: - case 48: - case 49: - case 50: - case 51: - case 52: - case 53: - case 54: - case 55: - case 56: - case 57: - case 58: - case 59: - case 70: - case 81: - case 82: - case 83: - case 84: - case 85: - case 86: - case 88: - case 89: - case 90: - case 91: - case 93: - case 96: - case 98: - case 99: - case 100: - case 101: - case 102: - case 103: - case 104: - case 105: - case 107: - case 108: - case 111: - case 112: - case 113: - case 114: - case 115: - case 116: - case 117: - case 118: - case 119: - case 120: - case 121: - case 122: - case 123: - case 124: - case 125: - case 126: - case 127: - case 128: - case 129: - case 130: - case 131: - case 132: - case 133: - case 135: - case 137: - case 138: - case 139: - case 140: - case 141: - case 142: - case 143: - case 144: - case 145: - case 146: - case 147: - case 148: - case 149: - case 150: - case 151: - case 152: - case 153: - case 154: - case 155: - case 156: - case 157: - case 158: - case 161: - case 163: - case 165: - case 167: - case 168: - case 169: - case 170: - case 171: - case 172: - case 174: - case 176: - case 177: - case 178: - case 179: - case 180: - case 181: - case 182: - case 185: - case 186: - case 187: - case 188: - case 189: - case 190: - case 191: - case 192: - case 193: - case 194: - case 195: - case 196: - case 198: - case 202: - case 203: - case 204: - case 208: - case 211: - case 212: - case 213: - case 214: - case 215: - case 219: - case 220: - case 221: - case 223: - case 224: - case 225: - case 226: - case 228: - case 229: - case 230: - case 231: - case 232: - case 234: - case 235: - case 236: - case 237: - case 238: - case 239: - case 240: - case 244: - case 245: - case 247: - case 251: - case 252: - case 253: - case 254: - case 255: - case 256: - case 257: - case 258: - case 259: - case 260: - case 261: - case 262: - case 263: - case 264: - case 265: - case 266: - case 267: - case 268: - case 269: - case 270: - case 271: - case 272: - case 273: - case 274: - case 275: - case 276: - case 277: - case 278: - case 279: - case 280: - case 281: - case 322: - case 323: - case 324: - case 325: - this.enterOuterAlt(localctx, 1); - this.state = 1737; - localctx.windowRef = this.ident(); - break; - case 305: - this.enterOuterAlt(localctx, 2); - this.state = 1738; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1740; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,216,this._ctx); - if(la_===1) { - this.state = 1739; - localctx.windowRef = this.ident(); - - } - this.state = 1752; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===83) { - this.state = 1742; - this.match(SqlBaseParser.PARTITION); - this.state = 1743; - this.match(SqlBaseParser.BY); - this.state = 1744; - localctx._expr = this.expr(); - localctx.partition.push(localctx._expr); - this.state = 1749; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 1745; - this.match(SqlBaseParser.COMMA); - this.state = 1746; - localctx._expr = this.expr(); - localctx.partition.push(localctx._expr); - this.state = 1751; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 1764; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===16) { - this.state = 1754; - this.match(SqlBaseParser.ORDER); - this.state = 1755; - this.match(SqlBaseParser.BY); - this.state = 1756; - this.sortItem(); - this.state = 1761; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 1757; - this.match(SqlBaseParser.COMMA); - this.state = 1758; - this.sortItem(); - this.state = 1763; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 1767; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===85 || _la===86) { - this.state = 1766; - this.windowFrame(); - } - - this.state = 1769; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - windowFrame() { - let localctx = new WindowFrameContext(this, this._ctx, this.state); - this.enterRule(localctx, 110, SqlBaseParser.RULE_windowFrame); - try { - this.state = 1788; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,223,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 1772; - localctx.frameType = this.match(SqlBaseParser.RANGE); - this.state = 1773; - localctx.start = this.frameBound(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 1774; - localctx.frameType = this.match(SqlBaseParser.ROWS); - this.state = 1775; - localctx.start = this.frameBound(); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 1776; - localctx.frameType = this.match(SqlBaseParser.RANGE); - this.state = 1777; - this.match(SqlBaseParser.BETWEEN); - this.state = 1778; - localctx.start = this.frameBound(); - this.state = 1779; - this.match(SqlBaseParser.AND); - this.state = 1780; - localctx.end = this.frameBound(); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 1782; - localctx.frameType = this.match(SqlBaseParser.ROWS); - this.state = 1783; - this.match(SqlBaseParser.BETWEEN); - this.state = 1784; - localctx.start = this.frameBound(); - this.state = 1785; - this.match(SqlBaseParser.AND); - this.state = 1786; - localctx.end = this.frameBound(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - frameBound() { - let localctx = new FrameBoundContext(this, this._ctx, this.state); - this.enterRule(localctx, 112, SqlBaseParser.RULE_frameBound); - var _la = 0; - try { - this.state = 1799; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,224,this._ctx); - switch(la_) { - case 1: - localctx = new UnboundedFrameContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 1790; - this.match(SqlBaseParser.UNBOUNDED); - this.state = 1791; - localctx.boundType = this.match(SqlBaseParser.PRECEDING); - break; - - case 2: - localctx = new UnboundedFrameContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 1792; - this.match(SqlBaseParser.UNBOUNDED); - this.state = 1793; - localctx.boundType = this.match(SqlBaseParser.FOLLOWING); - break; - - case 3: - localctx = new CurrentRowBoundContext(this, localctx); - this.enterOuterAlt(localctx, 3); - this.state = 1794; - this.match(SqlBaseParser.CURRENT); - this.state = 1795; - this.match(SqlBaseParser.ROW); - break; - - case 4: - localctx = new BoundedFrameContext(this, localctx); - this.enterOuterAlt(localctx, 4); - this.state = 1796; - this.expr(); - this.state = 1797; - localctx.boundType = this._input.LT(1); - _la = this._input.LA(1); - if(!(_la===88 || _la===89)) { - localctx.boundType = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - qnames() { - let localctx = new QnamesContext(this, this._ctx, this.state); - this.enterRule(localctx, 114, SqlBaseParser.RULE_qnames); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 1801; - this.qname(); - this.state = 1806; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 1802; - this.match(SqlBaseParser.COMMA); - this.state = 1803; - this.qname(); - this.state = 1808; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - qname() { - let localctx = new QnameContext(this, this._ctx, this.state); - this.enterRule(localctx, 116, SqlBaseParser.RULE_qname); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1809; - this.ident(); - this.state = 1814; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,226,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 1810; - this.match(SqlBaseParser.DOT); - this.state = 1811; - this.ident(); - } - this.state = 1816; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,226,this._ctx); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - spaceSeparatedIdents() { - let localctx = new SpaceSeparatedIdentsContext(this, this._ctx, this.state); - this.enterRule(localctx, 118, SqlBaseParser.RULE_spaceSeparatedIdents); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 1817; - this.identWithOrWithoutValue(); - this.state = 1821; - this._errHandler.sync(this); - _la = this._input.LA(1); - while((((_la) & ~0x1f) === 0 && ((1 << _la) & 134218834) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 268401739) !== 0) || ((((_la - 70)) & ~0x1f) === 0 && ((1 << (_la - 70)) & 4106090497) !== 0) || ((((_la - 102)) & ~0x1f) === 0 && ((1 << (_la - 102)) & 4294966895) !== 0) || ((((_la - 135)) & ~0x1f) === 0 && ((1 << (_la - 135)) & 1426063357) !== 0) || ((((_la - 167)) & ~0x1f) === 0 && ((1 << (_la - 167)) & 3221028543) !== 0) || ((((_la - 202)) & ~0x1f) === 0 && ((1 << (_la - 202)) & 2112765511) !== 0) || ((((_la - 234)) & ~0x1f) === 0 && ((1 << (_la - 234)) & 4294847615) !== 0) || ((((_la - 266)) & ~0x1f) === 0 && ((1 << (_la - 266)) & 65535) !== 0) || ((((_la - 322)) & ~0x1f) === 0 && ((1 << (_la - 322)) & 15) !== 0)) { - this.state = 1818; - this.identWithOrWithoutValue(); - this.state = 1823; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - identWithOrWithoutValue() { - let localctx = new IdentWithOrWithoutValueContext(this, this._ctx, this.state); - this.enterRule(localctx, 120, SqlBaseParser.RULE_identWithOrWithoutValue); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1824; - this.ident(); - this.state = 1826; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,228,this._ctx); - if(la_===1) { - this.state = 1825; - this.parameterOrSimpleLiteral(); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - idents() { - let localctx = new IdentsContext(this, this._ctx, this.state); - this.enterRule(localctx, 122, SqlBaseParser.RULE_idents); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 1828; - this.ident(); - this.state = 1833; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 1829; - this.match(SqlBaseParser.COMMA); - this.state = 1830; - this.ident(); - this.state = 1835; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - ident() { - let localctx = new IdentContext(this, this._ctx, this.state); - this.enterRule(localctx, 124, SqlBaseParser.RULE_ident); - try { - this.state = 1838; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 1: - case 4: - case 6: - case 10: - case 27: - case 32: - case 33: - case 35: - case 38: - case 42: - case 43: - case 44: - case 45: - case 46: - case 48: - case 49: - case 50: - case 51: - case 52: - case 53: - case 54: - case 55: - case 56: - case 57: - case 58: - case 59: - case 70: - case 81: - case 82: - case 83: - case 84: - case 85: - case 86: - case 88: - case 89: - case 90: - case 91: - case 93: - case 96: - case 98: - case 99: - case 100: - case 101: - case 102: - case 103: - case 104: - case 105: - case 107: - case 108: - case 111: - case 112: - case 113: - case 114: - case 115: - case 116: - case 117: - case 118: - case 119: - case 120: - case 121: - case 122: - case 123: - case 124: - case 125: - case 126: - case 127: - case 128: - case 129: - case 130: - case 131: - case 132: - case 133: - case 135: - case 137: - case 138: - case 139: - case 140: - case 141: - case 142: - case 143: - case 144: - case 145: - case 146: - case 147: - case 148: - case 149: - case 150: - case 151: - case 152: - case 153: - case 154: - case 155: - case 156: - case 157: - case 158: - case 161: - case 163: - case 165: - case 167: - case 168: - case 169: - case 170: - case 171: - case 172: - case 174: - case 176: - case 177: - case 178: - case 179: - case 180: - case 181: - case 182: - case 185: - case 186: - case 187: - case 188: - case 189: - case 190: - case 191: - case 192: - case 193: - case 194: - case 195: - case 196: - case 198: - case 202: - case 203: - case 204: - case 208: - case 211: - case 212: - case 213: - case 214: - case 215: - case 219: - case 220: - case 221: - case 223: - case 224: - case 225: - case 226: - case 228: - case 229: - case 230: - case 231: - case 232: - case 234: - case 235: - case 236: - case 237: - case 238: - case 239: - case 240: - case 244: - case 245: - case 247: - case 251: - case 252: - case 253: - case 254: - case 255: - case 256: - case 257: - case 258: - case 259: - case 260: - case 261: - case 262: - case 263: - case 264: - case 265: - case 266: - case 267: - case 268: - case 269: - case 270: - case 271: - case 272: - case 273: - case 274: - case 275: - case 276: - case 277: - case 278: - case 279: - case 280: - case 281: - case 322: - case 323: - this.enterOuterAlt(localctx, 1); - this.state = 1836; - this.unquotedIdent(); - break; - case 324: - case 325: - this.enterOuterAlt(localctx, 2); - this.state = 1837; - this.quotedIdent(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - unquotedIdent() { - let localctx = new UnquotedIdentContext(this, this._ctx, this.state); - this.enterRule(localctx, 126, SqlBaseParser.RULE_unquotedIdent); - try { - this.state = 1843; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 322: - localctx = new UnquotedIdentifierContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 1840; - this.match(SqlBaseParser.IDENTIFIER); - break; - case 1: - case 4: - case 6: - case 10: - case 27: - case 32: - case 33: - case 35: - case 38: - case 42: - case 43: - case 44: - case 45: - case 46: - case 48: - case 49: - case 50: - case 51: - case 52: - case 53: - case 54: - case 55: - case 56: - case 57: - case 58: - case 59: - case 70: - case 81: - case 82: - case 83: - case 84: - case 85: - case 86: - case 88: - case 89: - case 90: - case 91: - case 93: - case 96: - case 98: - case 99: - case 100: - case 101: - case 102: - case 103: - case 104: - case 105: - case 107: - case 108: - case 111: - case 112: - case 113: - case 114: - case 115: - case 116: - case 117: - case 118: - case 119: - case 120: - case 121: - case 122: - case 123: - case 124: - case 125: - case 126: - case 127: - case 128: - case 129: - case 130: - case 131: - case 132: - case 133: - case 135: - case 137: - case 138: - case 139: - case 140: - case 141: - case 142: - case 143: - case 144: - case 145: - case 146: - case 147: - case 148: - case 149: - case 150: - case 151: - case 152: - case 153: - case 154: - case 155: - case 156: - case 157: - case 158: - case 161: - case 163: - case 165: - case 167: - case 168: - case 169: - case 170: - case 171: - case 172: - case 174: - case 176: - case 177: - case 178: - case 179: - case 180: - case 181: - case 182: - case 185: - case 186: - case 187: - case 188: - case 189: - case 190: - case 191: - case 192: - case 193: - case 194: - case 195: - case 196: - case 198: - case 202: - case 203: - case 204: - case 208: - case 211: - case 212: - case 213: - case 214: - case 215: - case 219: - case 220: - case 221: - case 223: - case 224: - case 225: - case 226: - case 228: - case 229: - case 230: - case 231: - case 232: - case 234: - case 235: - case 236: - case 237: - case 238: - case 239: - case 240: - case 244: - case 245: - case 247: - case 251: - case 252: - case 253: - case 254: - case 255: - case 256: - case 257: - case 258: - case 259: - case 260: - case 261: - case 262: - case 263: - case 264: - case 265: - case 266: - case 267: - case 268: - case 269: - case 270: - case 271: - case 272: - case 273: - case 274: - case 275: - case 276: - case 277: - case 278: - case 279: - case 280: - case 281: - localctx = new UnquotedIdentifierContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 1841; - this.nonReserved(); - break; - case 323: - localctx = new DigitIdentifierContext(this, localctx); - this.enterOuterAlt(localctx, 3); - this.state = 1842; - this.match(SqlBaseParser.DIGIT_IDENTIFIER); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - quotedIdent() { - let localctx = new QuotedIdentContext(this, this._ctx, this.state); - this.enterRule(localctx, 128, SqlBaseParser.RULE_quotedIdent); - try { - this.state = 1847; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 324: - localctx = new QuotedIdentifierContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 1845; - this.match(SqlBaseParser.QUOTED_IDENTIFIER); - break; - case 325: - localctx = new BackQuotedIdentifierContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 1846; - this.match(SqlBaseParser.BACKQUOTED_IDENTIFIER); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - stringLiteralOrIdentifier() { - let localctx = new StringLiteralOrIdentifierContext(this, this._ctx, this.state); - this.enterRule(localctx, 130, SqlBaseParser.RULE_stringLiteralOrIdentifier); - try { - this.state = 1851; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 1: - case 4: - case 6: - case 10: - case 27: - case 32: - case 33: - case 35: - case 38: - case 42: - case 43: - case 44: - case 45: - case 46: - case 48: - case 49: - case 50: - case 51: - case 52: - case 53: - case 54: - case 55: - case 56: - case 57: - case 58: - case 59: - case 70: - case 81: - case 82: - case 83: - case 84: - case 85: - case 86: - case 88: - case 89: - case 90: - case 91: - case 93: - case 96: - case 98: - case 99: - case 100: - case 101: - case 102: - case 103: - case 104: - case 105: - case 107: - case 108: - case 111: - case 112: - case 113: - case 114: - case 115: - case 116: - case 117: - case 118: - case 119: - case 120: - case 121: - case 122: - case 123: - case 124: - case 125: - case 126: - case 127: - case 128: - case 129: - case 130: - case 131: - case 132: - case 133: - case 135: - case 137: - case 138: - case 139: - case 140: - case 141: - case 142: - case 143: - case 144: - case 145: - case 146: - case 147: - case 148: - case 149: - case 150: - case 151: - case 152: - case 153: - case 154: - case 155: - case 156: - case 157: - case 158: - case 161: - case 163: - case 165: - case 167: - case 168: - case 169: - case 170: - case 171: - case 172: - case 174: - case 176: - case 177: - case 178: - case 179: - case 180: - case 181: - case 182: - case 185: - case 186: - case 187: - case 188: - case 189: - case 190: - case 191: - case 192: - case 193: - case 194: - case 195: - case 196: - case 198: - case 202: - case 203: - case 204: - case 208: - case 211: - case 212: - case 213: - case 214: - case 215: - case 219: - case 220: - case 221: - case 223: - case 224: - case 225: - case 226: - case 228: - case 229: - case 230: - case 231: - case 232: - case 234: - case 235: - case 236: - case 237: - case 238: - case 239: - case 240: - case 244: - case 245: - case 247: - case 251: - case 252: - case 253: - case 254: - case 255: - case 256: - case 257: - case 258: - case 259: - case 260: - case 261: - case 262: - case 263: - case 264: - case 265: - case 266: - case 267: - case 268: - case 269: - case 270: - case 271: - case 272: - case 273: - case 274: - case 275: - case 276: - case 277: - case 278: - case 279: - case 280: - case 281: - case 322: - case 323: - case 324: - case 325: - this.enterOuterAlt(localctx, 1); - this.state = 1849; - this.ident(); - break; - case 317: - case 326: - this.enterOuterAlt(localctx, 2); - this.state = 1850; - this.stringLiteral(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - stringLiteralOrIdentifierOrQname() { - let localctx = new StringLiteralOrIdentifierOrQnameContext(this, this._ctx, this.state); - this.enterRule(localctx, 132, SqlBaseParser.RULE_stringLiteralOrIdentifierOrQname); - try { - this.state = 1856; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,234,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 1853; - this.ident(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 1854; - this.qname(); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 1855; - this.stringLiteral(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - numericLiteral() { - let localctx = new NumericLiteralContext(this, this._ctx, this.state); - this.enterRule(localctx, 134, SqlBaseParser.RULE_numericLiteral); - try { - this.state = 1860; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 321: - this.enterOuterAlt(localctx, 1); - this.state = 1858; - this.decimalLiteral(); - break; - case 320: - this.enterOuterAlt(localctx, 2); - this.state = 1859; - this.integerLiteral(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - intervalLiteral() { - let localctx = new IntervalLiteralContext(this, this._ctx, this.state); - this.enterRule(localctx, 136, SqlBaseParser.RULE_intervalLiteral); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 1862; - this.match(SqlBaseParser.INTERVAL); - this.state = 1864; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===293 || _la===294) { - this.state = 1863; - localctx.sign = this._input.LT(1); - _la = this._input.LA(1); - if(!(_la===293 || _la===294)) { - localctx.sign = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } - - this.state = 1866; - this.stringLiteral(); - this.state = 1867; - localctx.from = this.intervalField(); - this.state = 1870; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,237,this._ctx); - if(la_===1) { - this.state = 1868; - this.match(SqlBaseParser.TO); - this.state = 1869; - localctx.to = this.intervalField(); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - intervalField() { - let localctx = new IntervalFieldContext(this, this._ctx, this.state); - this.enterRule(localctx, 138, SqlBaseParser.RULE_intervalField); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 1872; - _la = this._input.LA(1); - if(!(((((_la - 50)) & ~0x1f) === 0 && ((1 << (_la - 50)) & 63) !== 0))) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - booleanLiteral() { - let localctx = new BooleanLiteralContext(this, this._ctx, this.state); - this.enterRule(localctx, 140, SqlBaseParser.RULE_booleanLiteral); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 1874; - _la = this._input.LA(1); - if(!(_la===30 || _la===31)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - decimalLiteral() { - let localctx = new DecimalLiteralContext(this, this._ctx, this.state); - this.enterRule(localctx, 142, SqlBaseParser.RULE_decimalLiteral); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1876; - this.match(SqlBaseParser.DECIMAL_VALUE); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - integerLiteral() { - let localctx = new IntegerLiteralContext(this, this._ctx, this.state); - this.enterRule(localctx, 144, SqlBaseParser.RULE_integerLiteral); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1878; - this.match(SqlBaseParser.INTEGER_VALUE); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - objectKeyValue() { - let localctx = new ObjectKeyValueContext(this, this._ctx, this.state); - this.enterRule(localctx, 146, SqlBaseParser.RULE_objectKeyValue); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1880; - localctx.key = this.ident(); - this.state = 1881; - this.match(SqlBaseParser.EQ); - this.state = 1882; - localctx.value = this.expr(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - insertSource() { - let localctx = new InsertSourceContext(this, this._ctx, this.state); - this.enterRule(localctx, 148, SqlBaseParser.RULE_insertSource); - try { - this.state = 1889; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 2: - case 92: - case 208: - this.enterOuterAlt(localctx, 1); - this.state = 1884; - this.query(); - break; - case 305: - this.enterOuterAlt(localctx, 2); - this.state = 1885; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1886; - this.query(); - this.state = 1887; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - onConflict() { - let localctx = new OnConflictContext(this, this._ctx, this.state); - this.enterRule(localctx, 150, SqlBaseParser.RULE_onConflict); - var _la = 0; - try { - this.state = 1912; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,241,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 1891; - this.match(SqlBaseParser.ON); - this.state = 1892; - this.match(SqlBaseParser.CONFLICT); - this.state = 1894; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===305) { - this.state = 1893; - this.conflictTarget(); - } - - this.state = 1896; - this.match(SqlBaseParser.DO); - this.state = 1897; - this.match(SqlBaseParser.NOTHING); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 1898; - this.match(SqlBaseParser.ON); - this.state = 1899; - this.match(SqlBaseParser.CONFLICT); - this.state = 1900; - this.conflictTarget(); - this.state = 1901; - this.match(SqlBaseParser.DO); - this.state = 1902; - this.match(SqlBaseParser.UPDATE); - this.state = 1903; - this.match(SqlBaseParser.SET); - this.state = 1904; - this.assignment(); - this.state = 1909; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 1905; - this.match(SqlBaseParser.COMMA); - this.state = 1906; - this.assignment(); - this.state = 1911; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - conflictTarget() { - let localctx = new ConflictTargetContext(this, this._ctx, this.state); - this.enterRule(localctx, 152, SqlBaseParser.RULE_conflictTarget); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 1914; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1915; - this.subscriptSafe(0); - this.state = 1920; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 1916; - this.match(SqlBaseParser.COMMA); - this.state = 1917; - this.subscriptSafe(0); - this.state = 1922; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 1923; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - values() { - let localctx = new ValuesContext(this, this._ctx, this.state); - this.enterRule(localctx, 154, SqlBaseParser.RULE_values); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 1925; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1926; - this.expr(); - this.state = 1931; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 1927; - this.match(SqlBaseParser.COMMA); - this.state = 1928; - this.expr(); - this.state = 1933; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 1934; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - columns() { - let localctx = new ColumnsContext(this, this._ctx, this.state); - this.enterRule(localctx, 156, SqlBaseParser.RULE_columns); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 1936; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1937; - this.primaryExpression(0); - this.state = 1942; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 1938; - this.match(SqlBaseParser.COMMA); - this.state = 1939; - this.primaryExpression(0); - this.state = 1944; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 1945; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - assignment() { - let localctx = new AssignmentContext(this, this._ctx, this.state); - this.enterRule(localctx, 158, SqlBaseParser.RULE_assignment); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1947; - this.primaryExpression(0); - this.state = 1948; - this.match(SqlBaseParser.EQ); - this.state = 1949; - this.expr(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - createStmt() { - let localctx = new CreateStmtContext(this, this._ctx, this.state); - this.enterRule(localctx, 160, SqlBaseParser.RULE_createStmt); - var _la = 0; - try { - this.state = 2171; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,277,this._ctx); - switch(la_) { - case 1: - localctx = new CreateTableContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 1951; - this.match(SqlBaseParser.CREATE); - this.state = 1952; - this.match(SqlBaseParser.TABLE); - this.state = 1956; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===69) { - this.state = 1953; - this.match(SqlBaseParser.IF); - this.state = 1954; - this.match(SqlBaseParser.NOT); - this.state = 1955; - this.match(SqlBaseParser.EXISTS); - } - - this.state = 1958; - this.table(); - this.state = 1959; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1960; - this.tableElement(); - this.state = 1965; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 1961; - this.match(SqlBaseParser.COMMA); - this.state = 1962; - this.tableElement(); - this.state = 1967; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 1968; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - this.state = 1969; - this.partitionedByOrClusteredInto(); - this.state = 1971; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===92) { - this.state = 1970; - this.withProperties(); - } - - break; - - case 2: - localctx = new CreateTableAsContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 1973; - this.match(SqlBaseParser.CREATE); - this.state = 1974; - this.match(SqlBaseParser.TABLE); - this.state = 1975; - this.table(); - this.state = 1976; - this.match(SqlBaseParser.AS); - this.state = 1977; - this.insertSource(); - break; - - case 3: - localctx = new CreateForeignTableContext(this, localctx); - this.enterOuterAlt(localctx, 3); - this.state = 1979; - this.match(SqlBaseParser.CREATE); - this.state = 1980; - this.match(SqlBaseParser.FOREIGN); - this.state = 1981; - this.match(SqlBaseParser.TABLE); - this.state = 1985; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===69) { - this.state = 1982; - this.match(SqlBaseParser.IF); - this.state = 1983; - this.match(SqlBaseParser.NOT); - this.state = 1984; - this.match(SqlBaseParser.EXISTS); - } - - this.state = 1987; - localctx.tableName = this.qname(); - this.state = 1988; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 1989; - this.tableElement(); - this.state = 1994; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 1990; - this.match(SqlBaseParser.COMMA); - this.state = 1991; - this.tableElement(); - this.state = 1996; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 1997; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - this.state = 1998; - this.match(SqlBaseParser.SERVER); - this.state = 1999; - localctx.server = this.ident(); - this.state = 2001; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===278) { - this.state = 2000; - this.kvOptions(); - } - - break; - - case 4: - localctx = new CreateBlobTableContext(this, localctx); - this.enterOuterAlt(localctx, 4); - this.state = 2003; - this.match(SqlBaseParser.CREATE); - this.state = 2004; - this.match(SqlBaseParser.BLOB); - this.state = 2005; - this.match(SqlBaseParser.TABLE); - this.state = 2006; - this.table(); - this.state = 2008; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===220) { - this.state = 2007; - localctx.numShards = this.blobClusteredInto(); - } - - this.state = 2011; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===92) { - this.state = 2010; - this.withProperties(); - } - - break; - - case 5: - localctx = new CreateRepositoryContext(this, localctx); - this.enterOuterAlt(localctx, 5); - this.state = 2013; - this.match(SqlBaseParser.CREATE); - this.state = 2014; - this.match(SqlBaseParser.REPOSITORY); - this.state = 2015; - localctx.name = this.ident(); - this.state = 2016; - this.match(SqlBaseParser.TYPE); - this.state = 2017; - localctx.type = this.ident(); - this.state = 2019; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===92) { - this.state = 2018; - this.withProperties(); - } - - break; - - case 6: - localctx = new CreateSnapshotContext(this, localctx); - this.enterOuterAlt(localctx, 6); - this.state = 2021; - this.match(SqlBaseParser.CREATE); - this.state = 2022; - this.match(SqlBaseParser.SNAPSHOT); - this.state = 2023; - this.qname(); - this.state = 2027; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 7: - this.state = 2024; - this.match(SqlBaseParser.ALL); - break; - case 97: - this.state = 2025; - this.match(SqlBaseParser.TABLE); - this.state = 2026; - this.tableWithPartitions(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 2030; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===92) { - this.state = 2029; - this.withProperties(); - } - - break; - - case 7: - localctx = new CreateAnalyzerContext(this, localctx); - this.enterOuterAlt(localctx, 7); - this.state = 2032; - this.match(SqlBaseParser.CREATE); - this.state = 2033; - this.match(SqlBaseParser.ANALYZER); - this.state = 2034; - localctx.name = this.ident(); - this.state = 2037; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===235) { - this.state = 2035; - this.match(SqlBaseParser.EXTENDS); - this.state = 2036; - localctx.extendedName = this.ident(); - } - - this.state = 2040; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===92) { - this.state = 2039; - this.match(SqlBaseParser.WITH); - } - - this.state = 2042; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 2043; - this.analyzerElement(); - this.state = 2048; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 2044; - this.match(SqlBaseParser.COMMA); - this.state = 2045; - this.analyzerElement(); - this.state = 2050; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 2051; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - - case 8: - localctx = new CreateFunctionContext(this, localctx); - this.enterOuterAlt(localctx, 8); - this.state = 2053; - this.match(SqlBaseParser.CREATE); - this.state = 2056; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===20) { - this.state = 2054; - this.match(SqlBaseParser.OR); - this.state = 2055; - this.match(SqlBaseParser.REPLACE); - } - - this.state = 2058; - this.match(SqlBaseParser.FUNCTION); - this.state = 2059; - localctx.name = this.qname(); - this.state = 2060; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 2069; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) === 0 && ((1 << _la) & 134218834) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 268401739) !== 0) || ((((_la - 70)) & ~0x1f) === 0 && ((1 << (_la - 70)) & 4106090497) !== 0) || ((((_la - 102)) & ~0x1f) === 0 && ((1 << (_la - 102)) & 4294966895) !== 0) || ((((_la - 134)) & ~0x1f) === 0 && ((1 << (_la - 134)) & 2852126719) !== 0) || ((((_la - 167)) & ~0x1f) === 0 && ((1 << (_la - 167)) & 3221028543) !== 0) || ((((_la - 202)) & ~0x1f) === 0 && ((1 << (_la - 202)) & 4260249159) !== 0) || ((((_la - 234)) & ~0x1f) === 0 && ((1 << (_la - 234)) & 4294847615) !== 0) || ((((_la - 266)) & ~0x1f) === 0 && ((1 << (_la - 266)) & 65535) !== 0) || ((((_la - 322)) & ~0x1f) === 0 && ((1 << (_la - 322)) & 15) !== 0)) { - this.state = 2061; - this.functionArgument(); - this.state = 2066; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 2062; - this.match(SqlBaseParser.COMMA); - this.state = 2063; - this.functionArgument(); - this.state = 2068; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 2071; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - this.state = 2072; - this.match(SqlBaseParser.RETURNS); - this.state = 2073; - localctx.returnType = this.dataType(0); - this.state = 2074; - this.match(SqlBaseParser.LANGUAGE); - this.state = 2075; - localctx.language = this.parameterOrIdent(); - this.state = 2076; - this.match(SqlBaseParser.AS); - this.state = 2077; - localctx.body = this.parameterOrString(); - break; - - case 9: - localctx = new CreateUserMappingContext(this, localctx); - this.enterOuterAlt(localctx, 9); - this.state = 2079; - this.match(SqlBaseParser.CREATE); - this.state = 2080; - this.match(SqlBaseParser.USER); - this.state = 2081; - this.match(SqlBaseParser.MAPPING); - this.state = 2085; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===69) { - this.state = 2082; - this.match(SqlBaseParser.IF); - this.state = 2083; - this.match(SqlBaseParser.NOT); - this.state = 2084; - this.match(SqlBaseParser.EXISTS); - } - - this.state = 2087; - this.match(SqlBaseParser.FOR); - this.state = 2088; - this.mappedUser(); - this.state = 2089; - this.match(SqlBaseParser.SERVER); - this.state = 2090; - localctx.server = this.ident(); - this.state = 2092; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===278) { - this.state = 2091; - this.kvOptions(); - } - - break; - - case 10: - localctx = new CreateRoleContext(this, localctx); - this.enterOuterAlt(localctx, 10); - this.state = 2094; - this.match(SqlBaseParser.CREATE); - this.state = 2095; - _la = this._input.LA(1); - if(!(_la===246 || _la===247)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 2096; - localctx.name = this.ident(); - this.state = 2110; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) === 0 && ((1 << _la) & 134218834) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 268401739) !== 0) || ((((_la - 70)) & ~0x1f) === 0 && ((1 << (_la - 70)) & 4110284801) !== 0) || ((((_la - 102)) & ~0x1f) === 0 && ((1 << (_la - 102)) & 4294966895) !== 0) || ((((_la - 135)) & ~0x1f) === 0 && ((1 << (_la - 135)) & 1426063357) !== 0) || ((((_la - 167)) & ~0x1f) === 0 && ((1 << (_la - 167)) & 3221028543) !== 0) || ((((_la - 202)) & ~0x1f) === 0 && ((1 << (_la - 202)) & 2112765511) !== 0) || ((((_la - 234)) & ~0x1f) === 0 && ((1 << (_la - 234)) & 4294847615) !== 0) || ((((_la - 266)) & ~0x1f) === 0 && ((1 << (_la - 266)) & 65535) !== 0) || ((((_la - 305)) & ~0x1f) === 0 && ((1 << (_la - 305)) & 1966081) !== 0)) { - this.state = 2108; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,267,this._ctx); - switch(la_) { - case 1: - this.state = 2097; - this.withProperties(); - break; - - case 2: - this.state = 2099; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===92) { - this.state = 2098; - this.match(SqlBaseParser.WITH); - } - - this.state = 2102; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===305) { - this.state = 2101; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - } - - this.state = 2104; - localctx.options = this.spaceSeparatedIdents(); - this.state = 2106; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===306) { - this.state = 2105; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - } - - break; - - } - } - - break; - - case 11: - localctx = new CreateViewContext(this, localctx); - this.enterOuterAlt(localctx, 11); - this.state = 2112; - this.match(SqlBaseParser.CREATE); - this.state = 2115; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===20) { - this.state = 2113; - this.match(SqlBaseParser.OR); - this.state = 2114; - this.match(SqlBaseParser.REPLACE); - } - - this.state = 2117; - this.match(SqlBaseParser.VIEW); - this.state = 2118; - localctx.name = this.qname(); - this.state = 2119; - this.match(SqlBaseParser.AS); - this.state = 2120; - this.queryOptParens(); - break; - - case 12: - localctx = new CreatePublicationContext(this, localctx); - this.enterOuterAlt(localctx, 12); - this.state = 2122; - this.match(SqlBaseParser.CREATE); - this.state = 2123; - this.match(SqlBaseParser.PUBLICATION); - this.state = 2124; - localctx.name = this.ident(); - this.state = 2144; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,273,this._ctx); - if(la_===1) { - this.state = 2125; - this.match(SqlBaseParser.FOR); - this.state = 2126; - this.match(SqlBaseParser.ALL); - this.state = 2127; - this.match(SqlBaseParser.TABLES); - - } else if(la_===2) { - this.state = 2128; - this.match(SqlBaseParser.FOR); - this.state = 2129; - this.match(SqlBaseParser.TABLE); - this.state = 2130; - this.qname(); - this.state = 2132; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===295) { - this.state = 2131; - this.match(SqlBaseParser.ASTERISK); - } - - this.state = 2141; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 2134; - this.match(SqlBaseParser.COMMA); - this.state = 2135; - this.qname(); - this.state = 2137; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===295) { - this.state = 2136; - this.match(SqlBaseParser.ASTERISK); - } - - this.state = 2143; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - - } - break; - - case 13: - localctx = new CreateSubscriptionContext(this, localctx); - this.enterOuterAlt(localctx, 13); - this.state = 2146; - this.match(SqlBaseParser.CREATE); - this.state = 2147; - this.match(SqlBaseParser.SUBSCRIPTION); - this.state = 2148; - localctx.name = this.ident(); - this.state = 2149; - this.match(SqlBaseParser.CONNECTION); - this.state = 2150; - localctx.conninfo = this.expr(); - this.state = 2151; - this.match(SqlBaseParser.PUBLICATION); - this.state = 2152; - localctx.publications = this.idents(); - this.state = 2154; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===92) { - this.state = 2153; - this.withProperties(); - } - - break; - - case 14: - localctx = new CreateServerContext(this, localctx); - this.enterOuterAlt(localctx, 14); - this.state = 2156; - this.match(SqlBaseParser.CREATE); - this.state = 2157; - this.match(SqlBaseParser.SERVER); - this.state = 2161; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===69) { - this.state = 2158; - this.match(SqlBaseParser.IF); - this.state = 2159; - this.match(SqlBaseParser.NOT); - this.state = 2160; - this.match(SqlBaseParser.EXISTS); - } - - this.state = 2163; - localctx.name = this.ident(); - this.state = 2164; - this.match(SqlBaseParser.FOREIGN); - this.state = 2165; - this.match(SqlBaseParser.DATA); - this.state = 2166; - this.match(SqlBaseParser.WRAPPER); - this.state = 2167; - localctx.fdw = this.ident(); - this.state = 2169; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===278) { - this.state = 2168; - this.kvOptions(); - } - - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - mappedUser() { - let localctx = new MappedUserContext(this, this._ctx, this.state); - this.enterRule(localctx, 162, SqlBaseParser.RULE_mappedUser); - try { - this.state = 2177; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 1: - case 4: - case 6: - case 10: - case 27: - case 32: - case 33: - case 35: - case 38: - case 42: - case 43: - case 44: - case 45: - case 46: - case 48: - case 49: - case 50: - case 51: - case 52: - case 53: - case 54: - case 55: - case 56: - case 57: - case 58: - case 59: - case 70: - case 81: - case 82: - case 83: - case 84: - case 85: - case 86: - case 88: - case 89: - case 90: - case 91: - case 93: - case 96: - case 98: - case 99: - case 100: - case 101: - case 102: - case 103: - case 104: - case 105: - case 107: - case 108: - case 111: - case 112: - case 113: - case 114: - case 115: - case 116: - case 117: - case 118: - case 119: - case 120: - case 121: - case 122: - case 123: - case 124: - case 125: - case 126: - case 127: - case 128: - case 129: - case 130: - case 131: - case 132: - case 133: - case 135: - case 137: - case 138: - case 139: - case 140: - case 141: - case 142: - case 143: - case 144: - case 145: - case 146: - case 147: - case 148: - case 149: - case 150: - case 151: - case 152: - case 153: - case 154: - case 155: - case 156: - case 157: - case 158: - case 161: - case 163: - case 165: - case 167: - case 168: - case 169: - case 170: - case 171: - case 172: - case 174: - case 176: - case 177: - case 178: - case 179: - case 180: - case 181: - case 182: - case 185: - case 186: - case 187: - case 188: - case 189: - case 190: - case 191: - case 192: - case 193: - case 194: - case 195: - case 196: - case 198: - case 202: - case 203: - case 204: - case 208: - case 211: - case 212: - case 213: - case 214: - case 215: - case 219: - case 220: - case 221: - case 223: - case 224: - case 225: - case 226: - case 228: - case 229: - case 230: - case 231: - case 232: - case 234: - case 235: - case 236: - case 237: - case 238: - case 239: - case 240: - case 244: - case 245: - case 247: - case 251: - case 252: - case 253: - case 254: - case 255: - case 256: - case 257: - case 258: - case 259: - case 260: - case 261: - case 262: - case 263: - case 264: - case 265: - case 266: - case 267: - case 268: - case 269: - case 270: - case 271: - case 272: - case 273: - case 274: - case 275: - case 276: - case 277: - case 278: - case 279: - case 280: - case 281: - case 322: - case 323: - case 324: - case 325: - this.enterOuterAlt(localctx, 1); - this.state = 2173; - localctx.userName = this.ident(); - break; - case 246: - this.enterOuterAlt(localctx, 2); - this.state = 2174; - this.match(SqlBaseParser.USER); - break; - case 61: - this.enterOuterAlt(localctx, 3); - this.state = 2175; - this.match(SqlBaseParser.CURRENT_ROLE); - break; - case 60: - this.enterOuterAlt(localctx, 4); - this.state = 2176; - this.match(SqlBaseParser.CURRENT_USER); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - kvOptions() { - let localctx = new KvOptionsContext(this, this._ctx, this.state); - this.enterRule(localctx, 164, SqlBaseParser.RULE_kvOptions); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 2179; - this.match(SqlBaseParser.OPTIONS); - this.state = 2180; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 2181; - this.kvOption(); - this.state = 2186; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 2182; - this.match(SqlBaseParser.COMMA); - this.state = 2183; - this.kvOption(); - this.state = 2188; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 2189; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - kvOption() { - let localctx = new KvOptionContext(this, this._ctx, this.state); - this.enterRule(localctx, 166, SqlBaseParser.RULE_kvOption); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2191; - this.ident(); - this.state = 2192; - this.parameterOrLiteral(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - functionArgument() { - let localctx = new FunctionArgumentContext(this, this._ctx, this.state); - this.enterRule(localctx, 168, SqlBaseParser.RULE_functionArgument); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2195; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,280,this._ctx); - if(la_===1) { - this.state = 2194; - localctx.name = this.ident(); - - } - this.state = 2197; - localctx.type = this.dataType(0); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - alterTableDefinition() { - let localctx = new AlterTableDefinitionContext(this, this._ctx, this.state); - this.enterRule(localctx, 170, SqlBaseParser.RULE_alterTableDefinition); - try { - this.state = 2202; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,281,this._ctx); - switch(la_) { - case 1: - localctx = new TableOnlyContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 2199; - this.match(SqlBaseParser.ONLY); - this.state = 2200; - this.qname(); - break; - - case 2: - localctx = new TableWithPartitionDefaultContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 2201; - this.tableWithPartition(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - alterSubscriptionMode() { - let localctx = new AlterSubscriptionModeContext(this, this._ctx, this.state); - this.enterRule(localctx, 172, SqlBaseParser.RULE_alterSubscriptionMode); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 2204; - _la = this._input.LA(1); - if(!(_la===259 || _la===260)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - partitionedByOrClusteredInto() { - let localctx = new PartitionedByOrClusteredIntoContext(this, this._ctx, this.state); - this.enterRule(localctx, 174, SqlBaseParser.RULE_partitionedByOrClusteredInto); - var _la = 0; - try { - this.state = 2218; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,286,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 2207; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===239) { - this.state = 2206; - this.partitionedBy(); - } - - this.state = 2210; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===220) { - this.state = 2209; - this.clusteredBy(); - } - - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 2213; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===220) { - this.state = 2212; - this.clusteredBy(); - } - - this.state = 2216; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===239) { - this.state = 2215; - this.partitionedBy(); - } - - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - partitionedBy() { - let localctx = new PartitionedByContext(this, this._ctx, this.state); - this.enterRule(localctx, 176, SqlBaseParser.RULE_partitionedBy); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2220; - this.match(SqlBaseParser.PARTITIONED); - this.state = 2221; - this.match(SqlBaseParser.BY); - this.state = 2222; - this.columns(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - clusteredBy() { - let localctx = new ClusteredByContext(this, this._ctx, this.state); - this.enterRule(localctx, 178, SqlBaseParser.RULE_clusteredBy); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 2224; - this.match(SqlBaseParser.CLUSTERED); - this.state = 2230; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===15) { - this.state = 2225; - this.match(SqlBaseParser.BY); - this.state = 2226; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 2227; - localctx.routing = this.primaryExpression(0); - this.state = 2228; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - } - - this.state = 2236; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===207) { - this.state = 2232; - this.match(SqlBaseParser.INTO); - this.state = 2233; - localctx.numShards = this.parameterOrInteger(); - this.state = 2234; - this.match(SqlBaseParser.SHARDS); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - blobClusteredInto() { - let localctx = new BlobClusteredIntoContext(this, this._ctx, this.state); - this.enterRule(localctx, 180, SqlBaseParser.RULE_blobClusteredInto); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2238; - this.match(SqlBaseParser.CLUSTERED); - this.state = 2239; - this.match(SqlBaseParser.INTO); - this.state = 2240; - localctx.numShards = this.parameterOrInteger(); - this.state = 2241; - this.match(SqlBaseParser.SHARDS); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - tableElement() { - let localctx = new TableElementContext(this, this._ctx, this.state); - this.enterRule(localctx, 182, SqlBaseParser.RULE_tableElement); - var _la = 0; - try { - this.state = 2256; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,290,this._ctx); - switch(la_) { - case 1: - localctx = new ColumnDefinitionDefaultContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 2243; - this.columnDefinition(); - break; - - case 2: - localctx = new PrimaryKeyConstraintTableLevelContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 2244; - this.primaryKeyContraint(); - this.state = 2245; - this.columns(); - break; - - case 3: - localctx = new IndexDefinitionContext(this, localctx); - this.enterOuterAlt(localctx, 3); - this.state = 2247; - this.match(SqlBaseParser.INDEX); - this.state = 2248; - localctx.name = this.ident(); - this.state = 2249; - this.match(SqlBaseParser.USING); - this.state = 2250; - localctx.method = this.ident(); - this.state = 2251; - this.columns(); - this.state = 2253; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===92) { - this.state = 2252; - this.withProperties(); - } - - break; - - case 4: - localctx = new TableCheckConstraintContext(this, localctx); - this.enterOuterAlt(localctx, 4); - this.state = 2255; - this.checkConstraint(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - columnDefinition() { - let localctx = new ColumnDefinitionContext(this, this._ctx, this.state); - this.enterRule(localctx, 184, SqlBaseParser.RULE_columnDefinition); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 2258; - this.ident(); - this.state = 2260; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,291,this._ctx); - if(la_===1) { - this.state = 2259; - this.dataType(0); - - } - this.state = 2265; - this._errHandler.sync(this); - _la = this._input.LA(1); - while((((_la) & ~0x1f) === 0 && ((1 << _la) & 545259552) !== 0) || _la===173 || _la===174 || ((((_la - 218)) & ~0x1f) === 0 && ((1 << (_la - 218)) & 67110417) !== 0)) { - this.state = 2262; - this.columnConstraint(); - this.state = 2267; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - addColumnDefinition() { - let localctx = new AddColumnDefinitionContext(this, this._ctx, this.state); - this.enterRule(localctx, 186, SqlBaseParser.RULE_addColumnDefinition); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 2268; - this.match(SqlBaseParser.ADD); - this.state = 2270; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===110) { - this.state = 2269; - this.match(SqlBaseParser.COLUMN); - } - - this.state = 2272; - this.subscriptSafe(0); - this.state = 2274; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,294,this._ctx); - if(la_===1) { - this.state = 2273; - this.dataType(0); - - } - this.state = 2279; - this._errHandler.sync(this); - _la = this._input.LA(1); - while((((_la) & ~0x1f) === 0 && ((1 << _la) & 545259552) !== 0) || _la===173 || _la===174 || ((((_la - 218)) & ~0x1f) === 0 && ((1 << (_la - 218)) & 67110417) !== 0)) { - this.state = 2276; - this.columnConstraint(); - this.state = 2281; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - dropColumnDefinition() { - let localctx = new DropColumnDefinitionContext(this, this._ctx, this.state); - this.enterRule(localctx, 188, SqlBaseParser.RULE_dropColumnDefinition); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 2282; - this.match(SqlBaseParser.DROP); - this.state = 2284; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===110) { - this.state = 2283; - this.match(SqlBaseParser.COLUMN); - } - - this.state = 2288; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===69) { - this.state = 2286; - this.match(SqlBaseParser.IF); - this.state = 2287; - this.match(SqlBaseParser.EXISTS); - } - - this.state = 2290; - this.subscriptSafe(0); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - rerouteOption() { - let localctx = new RerouteOptionContext(this, this._ctx, this.state); - this.enterRule(localctx, 190, SqlBaseParser.RULE_rerouteOption); - var _la = 0; - try { - this.state = 2324; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 115: - localctx = new RerouteMoveShardContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 2292; - this.match(SqlBaseParser.MOVE); - this.state = 2293; - this.match(SqlBaseParser.SHARD); - this.state = 2294; - localctx.shardId = this.parameterOrInteger(); - this.state = 2295; - this.match(SqlBaseParser.FROM); - this.state = 2296; - localctx.fromNodeId = this.parameterOrString(); - this.state = 2297; - this.match(SqlBaseParser.TO); - this.state = 2298; - localctx.toNodeId = this.parameterOrString(); - break; - case 117: - localctx = new RerouteAllocateReplicaShardContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 2300; - this.match(SqlBaseParser.ALLOCATE); - this.state = 2301; - this.match(SqlBaseParser.REPLICA); - this.state = 2302; - this.match(SqlBaseParser.SHARD); - this.state = 2303; - localctx.shardId = this.parameterOrInteger(); - this.state = 2304; - this.match(SqlBaseParser.ON); - this.state = 2305; - localctx.nodeId = this.parameterOrString(); - break; - case 84: - localctx = new ReroutePromoteReplicaContext(this, localctx); - this.enterOuterAlt(localctx, 3); - this.state = 2307; - this.match(SqlBaseParser.PROMOTE); - this.state = 2308; - this.match(SqlBaseParser.REPLICA); - this.state = 2309; - this.match(SqlBaseParser.SHARD); - this.state = 2310; - localctx.shardId = this.parameterOrInteger(); - this.state = 2311; - this.match(SqlBaseParser.ON); - this.state = 2312; - localctx.nodeId = this.parameterOrString(); - this.state = 2314; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===92) { - this.state = 2313; - this.withProperties(); - } - - break; - case 119: - localctx = new RerouteCancelShardContext(this, localctx); - this.enterOuterAlt(localctx, 4); - this.state = 2316; - this.match(SqlBaseParser.CANCEL); - this.state = 2317; - this.match(SqlBaseParser.SHARD); - this.state = 2318; - localctx.shardId = this.parameterOrInteger(); - this.state = 2319; - this.match(SqlBaseParser.ON); - this.state = 2320; - localctx.nodeId = this.parameterOrString(); - this.state = 2322; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===92) { - this.state = 2321; - this.withProperties(); - } - - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - dataType(_p) { - if(_p===undefined) { - _p = 0; - } - const _parentctx = this._ctx; - const _parentState = this.state; - let localctx = new DataTypeContext(this, this._ctx, _parentState); - let _prevctx = localctx; - const _startState = 192; - this.enterRecursionRule(localctx, 192, SqlBaseParser.RULE_dataType, _p); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 2347; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 1: - case 4: - case 6: - case 10: - case 27: - case 32: - case 33: - case 35: - case 38: - case 42: - case 43: - case 44: - case 45: - case 46: - case 48: - case 49: - case 50: - case 51: - case 52: - case 53: - case 54: - case 55: - case 56: - case 57: - case 58: - case 59: - case 70: - case 81: - case 82: - case 83: - case 84: - case 85: - case 86: - case 88: - case 89: - case 90: - case 91: - case 93: - case 96: - case 98: - case 99: - case 100: - case 101: - case 102: - case 103: - case 104: - case 105: - case 107: - case 108: - case 111: - case 112: - case 113: - case 114: - case 115: - case 116: - case 117: - case 118: - case 119: - case 120: - case 121: - case 122: - case 123: - case 124: - case 125: - case 126: - case 127: - case 128: - case 129: - case 130: - case 131: - case 132: - case 133: - case 134: - case 135: - case 137: - case 138: - case 139: - case 140: - case 141: - case 142: - case 143: - case 144: - case 145: - case 146: - case 147: - case 148: - case 149: - case 150: - case 151: - case 152: - case 153: - case 154: - case 155: - case 156: - case 157: - case 158: - case 161: - case 163: - case 165: - case 167: - case 168: - case 169: - case 170: - case 171: - case 172: - case 174: - case 176: - case 177: - case 178: - case 179: - case 180: - case 181: - case 182: - case 185: - case 186: - case 187: - case 188: - case 189: - case 190: - case 191: - case 192: - case 193: - case 194: - case 195: - case 196: - case 198: - case 202: - case 203: - case 204: - case 208: - case 211: - case 212: - case 213: - case 214: - case 215: - case 219: - case 220: - case 221: - case 223: - case 224: - case 225: - case 226: - case 228: - case 229: - case 230: - case 231: - case 232: - case 234: - case 235: - case 236: - case 237: - case 238: - case 239: - case 240: - case 244: - case 245: - case 247: - case 251: - case 252: - case 253: - case 254: - case 255: - case 256: - case 257: - case 258: - case 259: - case 260: - case 261: - case 262: - case 263: - case 264: - case 265: - case 266: - case 267: - case 268: - case 269: - case 270: - case 271: - case 272: - case 273: - case 274: - case 275: - case 276: - case 277: - case 278: - case 279: - case 280: - case 281: - case 322: - case 323: - case 324: - case 325: - localctx = new MaybeParametrizedDataTypeContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - - this.state = 2327; - this.baseDataType(); - this.state = 2339; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,302,this._ctx); - if(la_===1) { - this.state = 2328; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 2329; - this.integerLiteral(); - this.state = 2334; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 2330; - this.match(SqlBaseParser.COMMA); - this.state = 2331; - this.integerLiteral(); - this.state = 2336; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 2337; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - - } - break; - case 136: - localctx = new ObjectDataTypeContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - this.state = 2341; - this.objectTypeDefinition(); - break; - case 233: - localctx = new ArrayDataTypeContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - this.state = 2342; - this.match(SqlBaseParser.ARRAY); - this.state = 2343; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 2344; - this.dataType(0); - this.state = 2345; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this._ctx.stop = this._input.LT(-1); - this.state = 2353; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,304,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - if(this._parseListeners!==null) { - this.triggerExitRuleEvent(); - } - _prevctx = localctx; - localctx = new ArrayDataTypeContext(this, new DataTypeContext(this, _parentctx, _parentState)); - this.pushNewRecursionContext(localctx, _startState, SqlBaseParser.RULE_dataType); - this.state = 2349; - if (!( this.precpred(this._ctx, 1))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 1)"); - } - this.state = 2350; - this.match(SqlBaseParser.EMPTY_SQUARE_BRACKET); - } - this.state = 2355; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,304,this._ctx); - } - - } catch( error) { - if(error instanceof antlr4.error.RecognitionException) { - localctx.exception = error; - this._errHandler.reportError(this, error); - this._errHandler.recover(this, error); - } else { - throw error; - } - } finally { - this.unrollRecursionContexts(_parentctx) - } - return localctx; - } - - - - baseDataType() { - let localctx = new BaseDataTypeContext(this, this._ctx, this.state); - this.enterRule(localctx, 194, SqlBaseParser.RULE_baseDataType); - try { - this.state = 2358; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,305,this._ctx); - switch(la_) { - case 1: - localctx = new DefinedDataTypeDefaultContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 2356; - this.definedDataType(); - break; - - case 2: - localctx = new IdentDataTypeContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 2357; - this.ident(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - definedDataType() { - let localctx = new DefinedDataTypeContext(this, this._ctx, this.state); - this.enterRule(localctx, 196, SqlBaseParser.RULE_definedDataType); - try { - this.state = 2377; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,306,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 2360; - this.match(SqlBaseParser.DOUBLE); - this.state = 2361; - this.match(SqlBaseParser.PRECISION); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 2362; - this.match(SqlBaseParser.TIMESTAMP); - this.state = 2363; - this.match(SqlBaseParser.WITHOUT); - this.state = 2364; - this.match(SqlBaseParser.TIME); - this.state = 2365; - this.match(SqlBaseParser.ZONE); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 2366; - this.match(SqlBaseParser.TIMESTAMP); - this.state = 2367; - this.match(SqlBaseParser.WITH); - this.state = 2368; - this.match(SqlBaseParser.TIME); - this.state = 2369; - this.match(SqlBaseParser.ZONE); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 2370; - this.match(SqlBaseParser.TIME); - this.state = 2371; - this.match(SqlBaseParser.WITH); - this.state = 2372; - this.match(SqlBaseParser.TIME); - this.state = 2373; - this.match(SqlBaseParser.ZONE); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 2374; - this.match(SqlBaseParser.CHARACTER); - this.state = 2375; - this.match(SqlBaseParser.VARYING); - break; - - case 6: - this.enterOuterAlt(localctx, 6); - this.state = 2376; - this.match(SqlBaseParser.CHAR_SPECIAL); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - objectTypeDefinition() { - let localctx = new ObjectTypeDefinitionContext(this, this._ctx, this.state); - this.enterRule(localctx, 198, SqlBaseParser.RULE_objectTypeDefinition); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 2379; - this.match(SqlBaseParser.OBJECT); - this.state = 2383; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,307,this._ctx); - if(la_===1) { - this.state = 2380; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 2381; - localctx.type = this._input.LT(1); - _la = this._input.LA(1); - if(!(((((_la - 230)) & ~0x1f) === 0 && ((1 << (_la - 230)) & 7) !== 0))) { - localctx.type = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 2382; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - - } - this.state = 2397; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,309,this._ctx); - if(la_===1) { - this.state = 2385; - this.match(SqlBaseParser.AS); - this.state = 2386; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 2387; - this.columnDefinition(); - this.state = 2392; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 2388; - this.match(SqlBaseParser.COMMA); - this.state = 2389; - this.columnDefinition(); - this.state = 2394; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 2395; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - columnConstraint() { - let localctx = new ColumnConstraintContext(this, this._ctx, this.state); - this.enterRule(localctx, 200, SqlBaseParser.RULE_columnConstraint); - var _la = 0; - try { - this.state = 2430; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,314,this._ctx); - switch(la_) { - case 1: - localctx = new ColumnConstraintPrimaryKeyContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 2399; - this.primaryKeyContraint(); - break; - - case 2: - localctx = new ColumnConstraintNotNullContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 2400; - this.match(SqlBaseParser.NOT); - this.state = 2401; - this.match(SqlBaseParser.NULL); - break; - - case 3: - localctx = new ColumnConstraintNullContext(this, localctx); - this.enterOuterAlt(localctx, 3); - this.state = 2402; - this.match(SqlBaseParser.NULL); - break; - - case 4: - localctx = new ColumnIndexConstraintContext(this, localctx); - this.enterOuterAlt(localctx, 4); - this.state = 2403; - this.match(SqlBaseParser.INDEX); - this.state = 2404; - this.match(SqlBaseParser.USING); - this.state = 2405; - localctx.method = this.ident(); - this.state = 2407; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===92) { - this.state = 2406; - this.withProperties(); - } - - break; - - case 5: - localctx = new ColumnIndexOffContext(this, localctx); - this.enterOuterAlt(localctx, 5); - this.state = 2409; - this.match(SqlBaseParser.INDEX); - this.state = 2410; - this.match(SqlBaseParser.OFF); - break; - - case 6: - localctx = new ColumnStorageDefinitionContext(this, localctx); - this.enterOuterAlt(localctx, 6); - this.state = 2411; - this.match(SqlBaseParser.STORAGE); - this.state = 2412; - this.withProperties(); - break; - - case 7: - localctx = new ColumnDefaultConstraintContext(this, localctx); - this.enterOuterAlt(localctx, 7); - this.state = 2415; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===173) { - this.state = 2413; - this.match(SqlBaseParser.CONSTRAINT); - this.state = 2414; - localctx.name = this.ident(); - } - - this.state = 2417; - this.match(SqlBaseParser.DEFAULT); - this.state = 2418; - localctx.defaultExpr = this.expr(); - break; - - case 8: - localctx = new ColumnGeneratedConstraintContext(this, localctx); - this.enterOuterAlt(localctx, 8); - this.state = 2421; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===173) { - this.state = 2419; - this.match(SqlBaseParser.CONSTRAINT); - this.state = 2420; - localctx.name = this.ident(); - } - - this.state = 2425; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===244) { - this.state = 2423; - this.match(SqlBaseParser.GENERATED); - this.state = 2424; - this.match(SqlBaseParser.ALWAYS); - } - - this.state = 2427; - this.match(SqlBaseParser.AS); - this.state = 2428; - localctx.generatedExpr = this.expr(); - break; - - case 9: - localctx = new ColumnCheckConstraintContext(this, localctx); - this.enterOuterAlt(localctx, 9); - this.state = 2429; - this.checkConstraint(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - primaryKeyContraint() { - let localctx = new PrimaryKeyContraintContext(this, this._ctx, this.state); - this.enterRule(localctx, 202, SqlBaseParser.RULE_primaryKeyContraint); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 2434; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===173) { - this.state = 2432; - this.match(SqlBaseParser.CONSTRAINT); - this.state = 2433; - localctx.name = this.ident(); - } - - this.state = 2436; - this.match(SqlBaseParser.PRIMARY_KEY); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - checkConstraint() { - let localctx = new CheckConstraintContext(this, this._ctx, this.state); - this.enterRule(localctx, 204, SqlBaseParser.RULE_checkConstraint); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 2440; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===173) { - this.state = 2438; - this.match(SqlBaseParser.CONSTRAINT); - this.state = 2439; - localctx.name = this.ident(); - } - - this.state = 2442; - this.match(SqlBaseParser.CHECK); - this.state = 2443; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 2444; - localctx.expression = this.booleanExpression(0); - this.state = 2445; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - withProperties() { - let localctx = new WithPropertiesContext(this, this._ctx, this.state); - this.enterRule(localctx, 206, SqlBaseParser.RULE_withProperties); - try { - localctx = new WithGenericPropertiesContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 2447; - this.match(SqlBaseParser.WITH); - this.state = 2448; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 2449; - this.genericProperties(); - this.state = 2450; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - genericProperties() { - let localctx = new GenericPropertiesContext(this, this._ctx, this.state); - this.enterRule(localctx, 208, SqlBaseParser.RULE_genericProperties); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 2452; - this.genericProperty(); - this.state = 2457; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 2453; - this.match(SqlBaseParser.COMMA); - this.state = 2454; - this.genericProperty(); - this.state = 2459; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - genericProperty() { - let localctx = new GenericPropertyContext(this, this._ctx, this.state); - this.enterRule(localctx, 210, SqlBaseParser.RULE_genericProperty); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2460; - this.ident(); - this.state = 2461; - this.match(SqlBaseParser.EQ); - this.state = 2462; - this.expr(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - explainOptions() { - let localctx = new ExplainOptionsContext(this, this._ctx, this.state); - this.enterRule(localctx, 212, SqlBaseParser.RULE_explainOptions); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 2464; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - - this.state = 2465; - this.explainOption(); - this.state = 2470; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 2466; - this.match(SqlBaseParser.COMMA); - this.state = 2467; - this.explainOption(); - this.state = 2472; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 2473; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - explainOption() { - let localctx = new ExplainOptionContext(this, this._ctx, this.state); - this.enterRule(localctx, 214, SqlBaseParser.RULE_explainOption); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 2475; - _la = this._input.LA(1); - if(!(((((_la - 165)) & ~0x1f) === 0 && ((1 << (_la - 165)) & 7) !== 0))) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 2477; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===30 || _la===31) { - this.state = 2476; - this.booleanLiteral(); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - matchPredicateIdents() { - let localctx = new MatchPredicateIdentsContext(this, this._ctx, this.state); - this.enterRule(localctx, 216, SqlBaseParser.RULE_matchPredicateIdents); - var _la = 0; - try { - this.state = 2491; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 1: - case 4: - case 6: - case 10: - case 27: - case 32: - case 33: - case 35: - case 38: - case 42: - case 43: - case 44: - case 45: - case 46: - case 48: - case 49: - case 50: - case 51: - case 52: - case 53: - case 54: - case 55: - case 56: - case 57: - case 58: - case 59: - case 70: - case 81: - case 82: - case 83: - case 84: - case 85: - case 86: - case 88: - case 89: - case 90: - case 91: - case 93: - case 96: - case 98: - case 99: - case 100: - case 101: - case 102: - case 103: - case 104: - case 105: - case 107: - case 108: - case 111: - case 112: - case 113: - case 114: - case 115: - case 116: - case 117: - case 118: - case 119: - case 120: - case 121: - case 122: - case 123: - case 124: - case 125: - case 126: - case 127: - case 128: - case 129: - case 130: - case 131: - case 132: - case 133: - case 135: - case 137: - case 138: - case 139: - case 140: - case 141: - case 142: - case 143: - case 144: - case 145: - case 146: - case 147: - case 148: - case 149: - case 150: - case 151: - case 152: - case 153: - case 154: - case 155: - case 156: - case 157: - case 158: - case 161: - case 163: - case 165: - case 167: - case 168: - case 169: - case 170: - case 171: - case 172: - case 174: - case 176: - case 177: - case 178: - case 179: - case 180: - case 181: - case 182: - case 185: - case 186: - case 187: - case 188: - case 189: - case 190: - case 191: - case 192: - case 193: - case 194: - case 195: - case 196: - case 198: - case 202: - case 203: - case 204: - case 208: - case 211: - case 212: - case 213: - case 214: - case 215: - case 219: - case 220: - case 221: - case 223: - case 224: - case 225: - case 226: - case 228: - case 229: - case 230: - case 231: - case 232: - case 234: - case 235: - case 236: - case 237: - case 238: - case 239: - case 240: - case 244: - case 245: - case 247: - case 251: - case 252: - case 253: - case 254: - case 255: - case 256: - case 257: - case 258: - case 259: - case 260: - case 261: - case 262: - case 263: - case 264: - case 265: - case 266: - case 267: - case 268: - case 269: - case 270: - case 271: - case 272: - case 273: - case 274: - case 275: - case 276: - case 277: - case 278: - case 279: - case 280: - case 281: - case 322: - case 323: - case 324: - case 325: - this.enterOuterAlt(localctx, 1); - this.state = 2479; - localctx.matchPred = this.matchPredicateIdent(); - break; - case 305: - this.enterOuterAlt(localctx, 2); - this.state = 2480; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 2481; - this.matchPredicateIdent(); - this.state = 2486; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 2482; - this.match(SqlBaseParser.COMMA); - this.state = 2483; - this.matchPredicateIdent(); - this.state = 2488; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 2489; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - matchPredicateIdent() { - let localctx = new MatchPredicateIdentContext(this, this._ctx, this.state); - this.enterRule(localctx, 218, SqlBaseParser.RULE_matchPredicateIdent); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 2493; - this.subscriptSafe(0); - this.state = 2495; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) === 0 && ((1 << _la) & 3758096384) !== 0) || _la===70 || ((((_la - 312)) & ~0x1f) === 0 && ((1 << (_la - 312)) & 17379) !== 0)) { - this.state = 2494; - localctx.boost = this.parameterOrSimpleLiteral(); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - analyzerElement() { - let localctx = new AnalyzerElementContext(this, this._ctx, this.state); - this.enterRule(localctx, 220, SqlBaseParser.RULE_analyzerElement); - try { - this.state = 2501; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,323,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 2497; - this.tokenizer(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 2498; - this.tokenFilters(); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 2499; - this.charFilters(); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 2500; - this.genericProperty(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - tokenizer() { - let localctx = new TokenizerContext(this, this._ctx, this.state); - this.enterRule(localctx, 222, SqlBaseParser.RULE_tokenizer); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2503; - this.match(SqlBaseParser.TOKENIZER); - this.state = 2504; - this.namedProperties(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - tokenFilters() { - let localctx = new TokenFiltersContext(this, this._ctx, this.state); - this.enterRule(localctx, 224, SqlBaseParser.RULE_tokenFilters); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 2506; - this.match(SqlBaseParser.TOKEN_FILTERS); - this.state = 2507; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 2508; - this.namedProperties(); - this.state = 2513; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 2509; - this.match(SqlBaseParser.COMMA); - this.state = 2510; - this.namedProperties(); - this.state = 2515; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 2516; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - charFilters() { - let localctx = new CharFiltersContext(this, this._ctx, this.state); - this.enterRule(localctx, 226, SqlBaseParser.RULE_charFilters); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 2518; - this.match(SqlBaseParser.CHAR_FILTERS); - this.state = 2519; - this.match(SqlBaseParser.OPEN_ROUND_BRACKET); - this.state = 2520; - this.namedProperties(); - this.state = 2525; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 2521; - this.match(SqlBaseParser.COMMA); - this.state = 2522; - this.namedProperties(); - this.state = 2527; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 2528; - this.match(SqlBaseParser.CLOSE_ROUND_BRACKET); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - namedProperties() { - let localctx = new NamedPropertiesContext(this, this._ctx, this.state); - this.enterRule(localctx, 228, SqlBaseParser.RULE_namedProperties); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 2530; - this.ident(); - this.state = 2532; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===92) { - this.state = 2531; - this.withProperties(); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - tableWithPartitions() { - let localctx = new TableWithPartitionsContext(this, this._ctx, this.state); - this.enterRule(localctx, 230, SqlBaseParser.RULE_tableWithPartitions); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 2534; - this.tableWithPartition(); - this.state = 2539; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===303) { - this.state = 2535; - this.match(SqlBaseParser.COMMA); - this.state = 2536; - this.tableWithPartition(); - this.state = 2541; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - setGlobalAssignment() { - let localctx = new SetGlobalAssignmentContext(this, this._ctx, this.state); - this.enterRule(localctx, 232, SqlBaseParser.RULE_setGlobalAssignment); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 2542; - localctx.name = this.primaryExpression(0); - this.state = 2543; - _la = this._input.LA(1); - if(!(_la===4 || _la===282)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 2544; - localctx.value = this.expr(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - setExpr() { - let localctx = new SetExprContext(this, this._ctx, this.state); - this.enterRule(localctx, 234, SqlBaseParser.RULE_setExpr); - try { - this.state = 2551; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 317: - case 326: - this.enterOuterAlt(localctx, 1); - this.state = 2546; - this.stringLiteral(); - break; - case 30: - case 31: - this.enterOuterAlt(localctx, 2); - this.state = 2547; - this.booleanLiteral(); - break; - case 320: - case 321: - this.enterOuterAlt(localctx, 3); - this.state = 2548; - this.numericLiteral(); - break; - case 1: - case 4: - case 6: - case 10: - case 27: - case 32: - case 33: - case 35: - case 38: - case 42: - case 43: - case 44: - case 45: - case 46: - case 48: - case 49: - case 50: - case 51: - case 52: - case 53: - case 54: - case 55: - case 56: - case 57: - case 58: - case 59: - case 70: - case 81: - case 82: - case 83: - case 84: - case 85: - case 86: - case 88: - case 89: - case 90: - case 91: - case 93: - case 96: - case 98: - case 99: - case 100: - case 101: - case 102: - case 103: - case 104: - case 105: - case 107: - case 108: - case 111: - case 112: - case 113: - case 114: - case 115: - case 116: - case 117: - case 118: - case 119: - case 120: - case 121: - case 122: - case 123: - case 124: - case 125: - case 126: - case 127: - case 128: - case 129: - case 130: - case 131: - case 132: - case 133: - case 135: - case 137: - case 138: - case 139: - case 140: - case 141: - case 142: - case 143: - case 144: - case 145: - case 146: - case 147: - case 148: - case 149: - case 150: - case 151: - case 152: - case 153: - case 154: - case 155: - case 156: - case 157: - case 158: - case 161: - case 163: - case 165: - case 167: - case 168: - case 169: - case 170: - case 171: - case 172: - case 174: - case 176: - case 177: - case 178: - case 179: - case 180: - case 181: - case 182: - case 185: - case 186: - case 187: - case 188: - case 189: - case 190: - case 191: - case 192: - case 193: - case 194: - case 195: - case 196: - case 198: - case 202: - case 203: - case 204: - case 208: - case 211: - case 212: - case 213: - case 214: - case 215: - case 219: - case 220: - case 221: - case 223: - case 224: - case 225: - case 226: - case 228: - case 229: - case 230: - case 231: - case 232: - case 234: - case 235: - case 236: - case 237: - case 238: - case 239: - case 240: - case 244: - case 245: - case 247: - case 251: - case 252: - case 253: - case 254: - case 255: - case 256: - case 257: - case 258: - case 259: - case 260: - case 261: - case 262: - case 263: - case 264: - case 265: - case 266: - case 267: - case 268: - case 269: - case 270: - case 271: - case 272: - case 273: - case 274: - case 275: - case 276: - case 277: - case 278: - case 279: - case 280: - case 281: - case 322: - case 323: - case 324: - case 325: - this.enterOuterAlt(localctx, 4); - this.state = 2549; - this.ident(); - break; - case 80: - this.enterOuterAlt(localctx, 5); - this.state = 2550; - this.on(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - on() { - let localctx = new OnContext(this, this._ctx, this.state); - this.enterRule(localctx, 236, SqlBaseParser.RULE_on); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2553; - this.match(SqlBaseParser.ON); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - securable() { - let localctx = new SecurableContext(this, this._ctx, this.state); - this.enterRule(localctx, 238, SqlBaseParser.RULE_securable); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 2555; - _la = this._input.LA(1); - if(!(_la===97 || _la===193 || _la===252)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - transactionMode() { - let localctx = new TransactionModeContext(this, this._ctx, this.state); - this.enterRule(localctx, 240, SqlBaseParser.RULE_transactionMode); - var _la = 0; - try { - this.state = 2570; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 150: - this.enterOuterAlt(localctx, 1); - this.state = 2557; - this.match(SqlBaseParser.ISOLATION); - this.state = 2558; - this.match(SqlBaseParser.LEVEL); - this.state = 2559; - this.isolationLevel(); - break; - case 156: - this.enterOuterAlt(localctx, 2); - this.state = 2564; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,329,this._ctx); - switch(la_) { - case 1: - this.state = 2560; - this.match(SqlBaseParser.READ); - this.state = 2561; - this.match(SqlBaseParser.WRITE); - break; - - case 2: - this.state = 2562; - this.match(SqlBaseParser.READ); - this.state = 2563; - this.match(SqlBaseParser.ONLY); - break; - - } - break; - case 23: - case 158: - this.enterOuterAlt(localctx, 3); - this.state = 2567; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===23) { - this.state = 2566; - this.match(SqlBaseParser.NOT); - } - - this.state = 2569; - this.match(SqlBaseParser.DEFERRABLE); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - isolationLevel() { - let localctx = new IsolationLevelContext(this, this._ctx, this.state); - this.enterRule(localctx, 242, SqlBaseParser.RULE_isolationLevel); - try { - this.state = 2579; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,332,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 2572; - this.match(SqlBaseParser.SERIALIZABLE); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 2573; - this.match(SqlBaseParser.REPEATABLE); - this.state = 2574; - this.match(SqlBaseParser.READ); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 2575; - this.match(SqlBaseParser.READ); - this.state = 2576; - this.match(SqlBaseParser.COMMITTED); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 2577; - this.match(SqlBaseParser.READ); - this.state = 2578; - this.match(SqlBaseParser.UNCOMMITTED); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - direction() { - let localctx = new DirectionContext(this, this._ctx, this.state); - this.enterRule(localctx, 244, SqlBaseParser.RULE_direction); - var _la = 0; - try { - this.state = 2604; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,334,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 2581; - this.match(SqlBaseParser.NEXT); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 2582; - this.match(SqlBaseParser.PRIOR); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 2583; - this.match(SqlBaseParser.FIRST); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 2584; - this.match(SqlBaseParser.LAST); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 2585; - this.match(SqlBaseParser.ABSOLUTE); - this.state = 2586; - this.integerLiteral(); - break; - - case 6: - this.enterOuterAlt(localctx, 6); - this.state = 2587; - this.match(SqlBaseParser.RELATIVE); - this.state = 2589; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===294) { - this.state = 2588; - this.match(SqlBaseParser.MINUS); - } - - this.state = 2591; - this.integerLiteral(); - break; - - case 7: - this.enterOuterAlt(localctx, 7); - this.state = 2592; - this.integerLiteral(); - break; - - case 8: - this.enterOuterAlt(localctx, 8); - this.state = 2593; - this.match(SqlBaseParser.ALL); - break; - - case 9: - this.enterOuterAlt(localctx, 9); - this.state = 2594; - this.match(SqlBaseParser.FORWARD); - break; - - case 10: - this.enterOuterAlt(localctx, 10); - this.state = 2595; - this.match(SqlBaseParser.FORWARD); - this.state = 2596; - this.integerLiteral(); - break; - - case 11: - this.enterOuterAlt(localctx, 11); - this.state = 2597; - this.match(SqlBaseParser.FORWARD); - this.state = 2598; - this.match(SqlBaseParser.ALL); - break; - - case 12: - this.enterOuterAlt(localctx, 12); - this.state = 2599; - this.match(SqlBaseParser.BACKWARD); - break; - - case 13: - this.enterOuterAlt(localctx, 13); - this.state = 2600; - this.match(SqlBaseParser.BACKWARD); - this.state = 2601; - this.integerLiteral(); - break; - - case 14: - this.enterOuterAlt(localctx, 14); - this.state = 2602; - this.match(SqlBaseParser.BACKWARD); - this.state = 2603; - this.match(SqlBaseParser.ALL); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - declareCursorParams() { - let localctx = new DeclareCursorParamsContext(this, this._ctx, this.state); - this.enterRule(localctx, 246, SqlBaseParser.RULE_declareCursorParams); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 2615; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(((((_la - 263)) & ~0x1f) === 0 && ((1 << (_la - 263)) & 31) !== 0)) { - this.state = 2613; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case 263: - this.state = 2606; - this.match(SqlBaseParser.ASENSITIVE); - break; - case 265: - this.state = 2607; - this.match(SqlBaseParser.BINARY); - break; - case 264: - this.state = 2608; - this.match(SqlBaseParser.INSENSITIVE); - break; - case 266: - case 267: - this.state = 2610; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===266) { - this.state = 2609; - this.match(SqlBaseParser.NO); - } - - this.state = 2612; - this.match(SqlBaseParser.SCROLL); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 2617; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - nonReserved() { - let localctx = new NonReservedContext(this, this._ctx, this.state); - this.enterRule(localctx, 248, SqlBaseParser.RULE_nonReserved); - var _la = 0; - try { - this.enterOuterAlt(localctx, 1); - this.state = 2618; - _la = this._input.LA(1); - if(!((((_la) & ~0x1f) === 0 && ((1 << _la) & 134218834) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 268401739) !== 0) || ((((_la - 70)) & ~0x1f) === 0 && ((1 << (_la - 70)) & 4106090497) !== 0) || ((((_la - 102)) & ~0x1f) === 0 && ((1 << (_la - 102)) & 4294966895) !== 0) || ((((_la - 135)) & ~0x1f) === 0 && ((1 << (_la - 135)) & 1426063357) !== 0) || ((((_la - 167)) & ~0x1f) === 0 && ((1 << (_la - 167)) & 3221028543) !== 0) || ((((_la - 202)) & ~0x1f) === 0 && ((1 << (_la - 202)) & 2112765511) !== 0) || ((((_la - 234)) & ~0x1f) === 0 && ((1 << (_la - 234)) & 4294847615) !== 0) || ((((_la - 266)) & ~0x1f) === 0 && ((1 << (_la - 266)) & 65535) !== 0))) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - -} - -SqlBaseParser.EOF = antlr4.Token.EOF; -SqlBaseParser.AUTHORIZATION = 1; -SqlBaseParser.SELECT = 2; -SqlBaseParser.FROM = 3; -SqlBaseParser.TO = 4; -SqlBaseParser.AS = 5; -SqlBaseParser.AT = 6; -SqlBaseParser.ALL = 7; -SqlBaseParser.ANY = 8; -SqlBaseParser.SOME = 9; -SqlBaseParser.DEALLOCATE = 10; -SqlBaseParser.DIRECTORY = 11; -SqlBaseParser.DISTINCT = 12; -SqlBaseParser.WHERE = 13; -SqlBaseParser.GROUP = 14; -SqlBaseParser.BY = 15; -SqlBaseParser.ORDER = 16; -SqlBaseParser.HAVING = 17; -SqlBaseParser.LIMIT = 18; -SqlBaseParser.OFFSET = 19; -SqlBaseParser.OR = 20; -SqlBaseParser.AND = 21; -SqlBaseParser.IN = 22; -SqlBaseParser.NOT = 23; -SqlBaseParser.EXISTS = 24; -SqlBaseParser.BETWEEN = 25; -SqlBaseParser.LIKE = 26; -SqlBaseParser.ILIKE = 27; -SqlBaseParser.IS = 28; -SqlBaseParser.NULL = 29; -SqlBaseParser.TRUE = 30; -SqlBaseParser.FALSE = 31; -SqlBaseParser.IGNORE = 32; -SqlBaseParser.RESPECT = 33; -SqlBaseParser.NULLS = 34; -SqlBaseParser.FETCH = 35; -SqlBaseParser.FIRST = 36; -SqlBaseParser.LAST = 37; -SqlBaseParser.NEXT = 38; -SqlBaseParser.ESCAPE = 39; -SqlBaseParser.ASC = 40; -SqlBaseParser.DESC = 41; -SqlBaseParser.SUBSTRING = 42; -SqlBaseParser.TRIM = 43; -SqlBaseParser.LEADING = 44; -SqlBaseParser.TRAILING = 45; -SqlBaseParser.BOTH = 46; -SqlBaseParser.FOR = 47; -SqlBaseParser.TIME = 48; -SqlBaseParser.ZONE = 49; -SqlBaseParser.YEAR = 50; -SqlBaseParser.MONTH = 51; -SqlBaseParser.DAY = 52; -SqlBaseParser.HOUR = 53; -SqlBaseParser.MINUTE = 54; -SqlBaseParser.SECOND = 55; -SqlBaseParser.CURRENT_DATE = 56; -SqlBaseParser.CURRENT_TIME = 57; -SqlBaseParser.CURRENT_TIMESTAMP = 58; -SqlBaseParser.CURRENT_SCHEMA = 59; -SqlBaseParser.CURRENT_USER = 60; -SqlBaseParser.CURRENT_ROLE = 61; -SqlBaseParser.SESSION_USER = 62; -SqlBaseParser.EXTRACT = 63; -SqlBaseParser.CASE = 64; -SqlBaseParser.WHEN = 65; -SqlBaseParser.THEN = 66; -SqlBaseParser.ELSE = 67; -SqlBaseParser.END = 68; -SqlBaseParser.IF = 69; -SqlBaseParser.INTERVAL = 70; -SqlBaseParser.JOIN = 71; -SqlBaseParser.CROSS = 72; -SqlBaseParser.OUTER = 73; -SqlBaseParser.INNER = 74; -SqlBaseParser.LEFT = 75; -SqlBaseParser.RIGHT = 76; -SqlBaseParser.FULL = 77; -SqlBaseParser.NATURAL = 78; -SqlBaseParser.USING = 79; -SqlBaseParser.ON = 80; -SqlBaseParser.OVER = 81; -SqlBaseParser.WINDOW = 82; -SqlBaseParser.PARTITION = 83; -SqlBaseParser.PROMOTE = 84; -SqlBaseParser.RANGE = 85; -SqlBaseParser.ROWS = 86; -SqlBaseParser.UNBOUNDED = 87; -SqlBaseParser.PRECEDING = 88; -SqlBaseParser.FOLLOWING = 89; -SqlBaseParser.CURRENT = 90; -SqlBaseParser.ROW = 91; -SqlBaseParser.WITH = 92; -SqlBaseParser.WITHOUT = 93; -SqlBaseParser.RECURSIVE = 94; -SqlBaseParser.CREATE = 95; -SqlBaseParser.BLOB = 96; -SqlBaseParser.TABLE = 97; -SqlBaseParser.SWAP = 98; -SqlBaseParser.GC = 99; -SqlBaseParser.DANGLING = 100; -SqlBaseParser.ARTIFACTS = 101; -SqlBaseParser.DECOMMISSION = 102; -SqlBaseParser.CLUSTER = 103; -SqlBaseParser.REPOSITORY = 104; -SqlBaseParser.SNAPSHOT = 105; -SqlBaseParser.ALTER = 106; -SqlBaseParser.KILL = 107; -SqlBaseParser.ONLY = 108; -SqlBaseParser.ADD = 109; -SqlBaseParser.COLUMN = 110; -SqlBaseParser.OPEN = 111; -SqlBaseParser.CLOSE = 112; -SqlBaseParser.RENAME = 113; -SqlBaseParser.REROUTE = 114; -SqlBaseParser.MOVE = 115; -SqlBaseParser.SHARD = 116; -SqlBaseParser.ALLOCATE = 117; -SqlBaseParser.REPLICA = 118; -SqlBaseParser.CANCEL = 119; -SqlBaseParser.RETRY = 120; -SqlBaseParser.FAILED = 121; -SqlBaseParser.BOOLEAN = 122; -SqlBaseParser.BYTE = 123; -SqlBaseParser.SHORT = 124; -SqlBaseParser.INTEGER = 125; -SqlBaseParser.INT = 126; -SqlBaseParser.LONG = 127; -SqlBaseParser.FLOAT = 128; -SqlBaseParser.DOUBLE = 129; -SqlBaseParser.PRECISION = 130; -SqlBaseParser.TIMESTAMP = 131; -SqlBaseParser.IP = 132; -SqlBaseParser.CHARACTER = 133; -SqlBaseParser.CHAR_SPECIAL = 134; -SqlBaseParser.VARYING = 135; -SqlBaseParser.OBJECT = 136; -SqlBaseParser.STRING_TYPE = 137; -SqlBaseParser.GEO_POINT = 138; -SqlBaseParser.GEO_SHAPE = 139; -SqlBaseParser.GLOBAL = 140; -SqlBaseParser.SESSION = 141; -SqlBaseParser.LOCAL = 142; -SqlBaseParser.BEGIN = 143; -SqlBaseParser.START = 144; -SqlBaseParser.COMMIT = 145; -SqlBaseParser.WORK = 146; -SqlBaseParser.TRANSACTION = 147; -SqlBaseParser.TRANSACTION_ISOLATION = 148; -SqlBaseParser.CHARACTERISTICS = 149; -SqlBaseParser.ISOLATION = 150; -SqlBaseParser.LEVEL = 151; -SqlBaseParser.SERIALIZABLE = 152; -SqlBaseParser.REPEATABLE = 153; -SqlBaseParser.COMMITTED = 154; -SqlBaseParser.UNCOMMITTED = 155; -SqlBaseParser.READ = 156; -SqlBaseParser.WRITE = 157; -SqlBaseParser.DEFERRABLE = 158; -SqlBaseParser.RETURNS = 159; -SqlBaseParser.CALLED = 160; -SqlBaseParser.REPLACE = 161; -SqlBaseParser.FUNCTION = 162; -SqlBaseParser.LANGUAGE = 163; -SqlBaseParser.INPUT = 164; -SqlBaseParser.ANALYZE = 165; -SqlBaseParser.COSTS = 166; -SqlBaseParser.VERBOSE = 167; -SqlBaseParser.DISCARD = 168; -SqlBaseParser.PLANS = 169; -SqlBaseParser.SEQUENCES = 170; -SqlBaseParser.TEMPORARY = 171; -SqlBaseParser.TEMP = 172; -SqlBaseParser.CONSTRAINT = 173; -SqlBaseParser.CHECK = 174; -SqlBaseParser.DESCRIBE = 175; -SqlBaseParser.EXPLAIN = 176; -SqlBaseParser.FORMAT = 177; -SqlBaseParser.TYPE = 178; -SqlBaseParser.TEXT = 179; -SqlBaseParser.GRAPHVIZ = 180; -SqlBaseParser.LOGICAL = 181; -SqlBaseParser.DISTRIBUTED = 182; -SqlBaseParser.CAST = 183; -SqlBaseParser.TRY_CAST = 184; -SqlBaseParser.SHOW = 185; -SqlBaseParser.TABLES = 186; -SqlBaseParser.SCHEMAS = 187; -SqlBaseParser.CATALOGS = 188; -SqlBaseParser.COLUMNS = 189; -SqlBaseParser.PARTITIONS = 190; -SqlBaseParser.FUNCTIONS = 191; -SqlBaseParser.MATERIALIZED = 192; -SqlBaseParser.VIEW = 193; -SqlBaseParser.OPTIMIZE = 194; -SqlBaseParser.REFRESH = 195; -SqlBaseParser.RESTORE = 196; -SqlBaseParser.DROP = 197; -SqlBaseParser.ALIAS = 198; -SqlBaseParser.UNION = 199; -SqlBaseParser.EXCEPT = 200; -SqlBaseParser.INTERSECT = 201; -SqlBaseParser.SYSTEM = 202; -SqlBaseParser.BERNOULLI = 203; -SqlBaseParser.TABLESAMPLE = 204; -SqlBaseParser.STRATIFY = 205; -SqlBaseParser.INSERT = 206; -SqlBaseParser.INTO = 207; -SqlBaseParser.VALUES = 208; -SqlBaseParser.DELETE = 209; -SqlBaseParser.UPDATE = 210; -SqlBaseParser.KEY = 211; -SqlBaseParser.DUPLICATE = 212; -SqlBaseParser.CONFLICT = 213; -SqlBaseParser.DO = 214; -SqlBaseParser.NOTHING = 215; -SqlBaseParser.SET = 216; -SqlBaseParser.RESET = 217; -SqlBaseParser.DEFAULT = 218; -SqlBaseParser.COPY = 219; -SqlBaseParser.CLUSTERED = 220; -SqlBaseParser.SHARDS = 221; -SqlBaseParser.PRIMARY_KEY = 222; -SqlBaseParser.OFF = 223; -SqlBaseParser.FULLTEXT = 224; -SqlBaseParser.FILTER = 225; -SqlBaseParser.PLAIN = 226; -SqlBaseParser.INDEX = 227; -SqlBaseParser.STORAGE = 228; -SqlBaseParser.RETURNING = 229; -SqlBaseParser.DYNAMIC = 230; -SqlBaseParser.STRICT = 231; -SqlBaseParser.IGNORED = 232; -SqlBaseParser.ARRAY = 233; -SqlBaseParser.ANALYZER = 234; -SqlBaseParser.EXTENDS = 235; -SqlBaseParser.TOKENIZER = 236; -SqlBaseParser.TOKEN_FILTERS = 237; -SqlBaseParser.CHAR_FILTERS = 238; -SqlBaseParser.PARTITIONED = 239; -SqlBaseParser.PREPARE = 240; -SqlBaseParser.TRANSIENT = 241; -SqlBaseParser.PERSISTENT = 242; -SqlBaseParser.MATCH = 243; -SqlBaseParser.GENERATED = 244; -SqlBaseParser.ALWAYS = 245; -SqlBaseParser.USER = 246; -SqlBaseParser.ROLE = 247; -SqlBaseParser.GRANT = 248; -SqlBaseParser.DENY = 249; -SqlBaseParser.REVOKE = 250; -SqlBaseParser.PRIVILEGES = 251; -SqlBaseParser.SCHEMA = 252; -SqlBaseParser.RETURN = 253; -SqlBaseParser.SUMMARY = 254; -SqlBaseParser.METADATA = 255; -SqlBaseParser.PUBLICATION = 256; -SqlBaseParser.SUBSCRIPTION = 257; -SqlBaseParser.CONNECTION = 258; -SqlBaseParser.ENABLE = 259; -SqlBaseParser.DISABLE = 260; -SqlBaseParser.DECLARE = 261; -SqlBaseParser.CURSOR = 262; -SqlBaseParser.ASENSITIVE = 263; -SqlBaseParser.INSENSITIVE = 264; -SqlBaseParser.BINARY = 265; -SqlBaseParser.NO = 266; -SqlBaseParser.SCROLL = 267; -SqlBaseParser.HOLD = 268; -SqlBaseParser.ABSOLUTE = 269; -SqlBaseParser.FORWARD = 270; -SqlBaseParser.BACKWARD = 271; -SqlBaseParser.RELATIVE = 272; -SqlBaseParser.PRIOR = 273; -SqlBaseParser.SERVER = 274; -SqlBaseParser.FOREIGN = 275; -SqlBaseParser.DATA = 276; -SqlBaseParser.WRAPPER = 277; -SqlBaseParser.OPTIONS = 278; -SqlBaseParser.MAPPING = 279; -SqlBaseParser.CASCADE = 280; -SqlBaseParser.RESTRICT = 281; -SqlBaseParser.EQ = 282; -SqlBaseParser.NEQ = 283; -SqlBaseParser.LT = 284; -SqlBaseParser.LTE = 285; -SqlBaseParser.GT = 286; -SqlBaseParser.GTE = 287; -SqlBaseParser.LLT = 288; -SqlBaseParser.REGEX_MATCH = 289; -SqlBaseParser.REGEX_NO_MATCH = 290; -SqlBaseParser.REGEX_MATCH_CI = 291; -SqlBaseParser.REGEX_NO_MATCH_CI = 292; -SqlBaseParser.PLUS = 293; -SqlBaseParser.MINUS = 294; -SqlBaseParser.ASTERISK = 295; -SqlBaseParser.CARET = 296; -SqlBaseParser.SLASH = 297; -SqlBaseParser.PERCENT = 298; -SqlBaseParser.CONCAT = 299; -SqlBaseParser.CAST_OPERATOR = 300; -SqlBaseParser.SEMICOLON = 301; -SqlBaseParser.COLON = 302; -SqlBaseParser.COMMA = 303; -SqlBaseParser.DOT = 304; -SqlBaseParser.OPEN_ROUND_BRACKET = 305; -SqlBaseParser.CLOSE_ROUND_BRACKET = 306; -SqlBaseParser.OPEN_CURLY_BRACKET = 307; -SqlBaseParser.CLOSE_CURLY_BRACKET = 308; -SqlBaseParser.OPEN_SQUARE_BRACKET = 309; -SqlBaseParser.CLOSE_SQUARE_BRACKET = 310; -SqlBaseParser.EMPTY_SQUARE_BRACKET = 311; -SqlBaseParser.QUESTION = 312; -SqlBaseParser.DOLLAR = 313; -SqlBaseParser.BITWISE_AND = 314; -SqlBaseParser.BITWISE_OR = 315; -SqlBaseParser.BITWISE_XOR = 316; -SqlBaseParser.STRING = 317; -SqlBaseParser.ESCAPED_STRING = 318; -SqlBaseParser.BIT_STRING = 319; -SqlBaseParser.INTEGER_VALUE = 320; -SqlBaseParser.DECIMAL_VALUE = 321; -SqlBaseParser.IDENTIFIER = 322; -SqlBaseParser.DIGIT_IDENTIFIER = 323; -SqlBaseParser.QUOTED_IDENTIFIER = 324; -SqlBaseParser.BACKQUOTED_IDENTIFIER = 325; -SqlBaseParser.BEGIN_DOLLAR_QUOTED_STRING = 326; -SqlBaseParser.COMMENT = 327; -SqlBaseParser.WS = 328; -SqlBaseParser.UNRECOGNIZED = 329; -SqlBaseParser.DOLLAR_QUOTED_STRING_BODY = 330; -SqlBaseParser.END_DOLLAR_QUOTED_STRING = 331; - -SqlBaseParser.RULE_statements = 0; -SqlBaseParser.RULE_singleStatement = 1; -SqlBaseParser.RULE_singleExpression = 2; -SqlBaseParser.RULE_statement = 3; -SqlBaseParser.RULE_dropStmt = 4; -SqlBaseParser.RULE_alterStmt = 5; -SqlBaseParser.RULE_queryOptParens = 6; -SqlBaseParser.RULE_query = 7; -SqlBaseParser.RULE_queryNoWith = 8; -SqlBaseParser.RULE_limitClause = 9; -SqlBaseParser.RULE_offsetClause = 10; -SqlBaseParser.RULE_queryTerm = 11; -SqlBaseParser.RULE_setQuant = 12; -SqlBaseParser.RULE_sortItem = 13; -SqlBaseParser.RULE_querySpec = 14; -SqlBaseParser.RULE_selectItem = 15; -SqlBaseParser.RULE_where = 16; -SqlBaseParser.RULE_returning = 17; -SqlBaseParser.RULE_filter = 18; -SqlBaseParser.RULE_relation = 19; -SqlBaseParser.RULE_joinType = 20; -SqlBaseParser.RULE_joinCriteria = 21; -SqlBaseParser.RULE_aliasedRelation = 22; -SqlBaseParser.RULE_relationPrimary = 23; -SqlBaseParser.RULE_tableWithPartition = 24; -SqlBaseParser.RULE_table = 25; -SqlBaseParser.RULE_aliasedColumns = 26; -SqlBaseParser.RULE_with = 27; -SqlBaseParser.RULE_namedQuery = 28; -SqlBaseParser.RULE_expr = 29; -SqlBaseParser.RULE_booleanExpression = 30; -SqlBaseParser.RULE_predicated = 31; -SqlBaseParser.RULE_predicate = 32; -SqlBaseParser.RULE_valueExpression = 33; -SqlBaseParser.RULE_primaryExpression = 34; -SqlBaseParser.RULE_explicitFunction = 35; -SqlBaseParser.RULE_subqueryExpression = 36; -SqlBaseParser.RULE_parameterOrLiteral = 37; -SqlBaseParser.RULE_parameterOrSimpleLiteral = 38; -SqlBaseParser.RULE_parameterOrInteger = 39; -SqlBaseParser.RULE_parameterOrIdent = 40; -SqlBaseParser.RULE_parameterOrString = 41; -SqlBaseParser.RULE_parameterExpr = 42; -SqlBaseParser.RULE_nullLiteral = 43; -SqlBaseParser.RULE_escapedCharsStringLiteral = 44; -SqlBaseParser.RULE_dollarQuotedStringLiteral = 45; -SqlBaseParser.RULE_stringLiteral = 46; -SqlBaseParser.RULE_bitString = 47; -SqlBaseParser.RULE_subscriptSafe = 48; -SqlBaseParser.RULE_cmpOp = 49; -SqlBaseParser.RULE_setCmpQuantifier = 50; -SqlBaseParser.RULE_whenClause = 51; -SqlBaseParser.RULE_namedWindow = 52; -SqlBaseParser.RULE_over = 53; -SqlBaseParser.RULE_windowDefinition = 54; -SqlBaseParser.RULE_windowFrame = 55; -SqlBaseParser.RULE_frameBound = 56; -SqlBaseParser.RULE_qnames = 57; -SqlBaseParser.RULE_qname = 58; -SqlBaseParser.RULE_spaceSeparatedIdents = 59; -SqlBaseParser.RULE_identWithOrWithoutValue = 60; -SqlBaseParser.RULE_idents = 61; -SqlBaseParser.RULE_ident = 62; -SqlBaseParser.RULE_unquotedIdent = 63; -SqlBaseParser.RULE_quotedIdent = 64; -SqlBaseParser.RULE_stringLiteralOrIdentifier = 65; -SqlBaseParser.RULE_stringLiteralOrIdentifierOrQname = 66; -SqlBaseParser.RULE_numericLiteral = 67; -SqlBaseParser.RULE_intervalLiteral = 68; -SqlBaseParser.RULE_intervalField = 69; -SqlBaseParser.RULE_booleanLiteral = 70; -SqlBaseParser.RULE_decimalLiteral = 71; -SqlBaseParser.RULE_integerLiteral = 72; -SqlBaseParser.RULE_objectKeyValue = 73; -SqlBaseParser.RULE_insertSource = 74; -SqlBaseParser.RULE_onConflict = 75; -SqlBaseParser.RULE_conflictTarget = 76; -SqlBaseParser.RULE_values = 77; -SqlBaseParser.RULE_columns = 78; -SqlBaseParser.RULE_assignment = 79; -SqlBaseParser.RULE_createStmt = 80; -SqlBaseParser.RULE_mappedUser = 81; -SqlBaseParser.RULE_kvOptions = 82; -SqlBaseParser.RULE_kvOption = 83; -SqlBaseParser.RULE_functionArgument = 84; -SqlBaseParser.RULE_alterTableDefinition = 85; -SqlBaseParser.RULE_alterSubscriptionMode = 86; -SqlBaseParser.RULE_partitionedByOrClusteredInto = 87; -SqlBaseParser.RULE_partitionedBy = 88; -SqlBaseParser.RULE_clusteredBy = 89; -SqlBaseParser.RULE_blobClusteredInto = 90; -SqlBaseParser.RULE_tableElement = 91; -SqlBaseParser.RULE_columnDefinition = 92; -SqlBaseParser.RULE_addColumnDefinition = 93; -SqlBaseParser.RULE_dropColumnDefinition = 94; -SqlBaseParser.RULE_rerouteOption = 95; -SqlBaseParser.RULE_dataType = 96; -SqlBaseParser.RULE_baseDataType = 97; -SqlBaseParser.RULE_definedDataType = 98; -SqlBaseParser.RULE_objectTypeDefinition = 99; -SqlBaseParser.RULE_columnConstraint = 100; -SqlBaseParser.RULE_primaryKeyContraint = 101; -SqlBaseParser.RULE_checkConstraint = 102; -SqlBaseParser.RULE_withProperties = 103; -SqlBaseParser.RULE_genericProperties = 104; -SqlBaseParser.RULE_genericProperty = 105; -SqlBaseParser.RULE_explainOptions = 106; -SqlBaseParser.RULE_explainOption = 107; -SqlBaseParser.RULE_matchPredicateIdents = 108; -SqlBaseParser.RULE_matchPredicateIdent = 109; -SqlBaseParser.RULE_analyzerElement = 110; -SqlBaseParser.RULE_tokenizer = 111; -SqlBaseParser.RULE_tokenFilters = 112; -SqlBaseParser.RULE_charFilters = 113; -SqlBaseParser.RULE_namedProperties = 114; -SqlBaseParser.RULE_tableWithPartitions = 115; -SqlBaseParser.RULE_setGlobalAssignment = 116; -SqlBaseParser.RULE_setExpr = 117; -SqlBaseParser.RULE_on = 118; -SqlBaseParser.RULE_securable = 119; -SqlBaseParser.RULE_transactionMode = 120; -SqlBaseParser.RULE_isolationLevel = 121; -SqlBaseParser.RULE_direction = 122; -SqlBaseParser.RULE_declareCursorParams = 123; -SqlBaseParser.RULE_nonReserved = 124; - -class StatementsContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_statements; - } - - statement = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(StatementContext); - } else { - return this.getTypedRuleContext(StatementContext,i); - } - }; - - EOF() { - return this.getToken(SqlBaseParser.EOF, 0); - }; - - SEMICOLON = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.SEMICOLON); - } else { - return this.getToken(SqlBaseParser.SEMICOLON, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterStatements(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitStatements(this); - } - } - - -} - - - -class SingleStatementContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_singleStatement; - } - - statement() { - return this.getTypedRuleContext(StatementContext,0); - }; - - EOF() { - return this.getToken(SqlBaseParser.EOF, 0); - }; - - SEMICOLON() { - return this.getToken(SqlBaseParser.SEMICOLON, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSingleStatement(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSingleStatement(this); - } - } - - -} - - - -class SingleExpressionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_singleExpression; - } - - expr() { - return this.getTypedRuleContext(ExprContext,0); - }; - - EOF() { - return this.getToken(SqlBaseParser.EOF, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSingleExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSingleExpression(this); - } - } - - -} - - - -class StatementContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_statement; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class ExplainContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - EXPLAIN() { - return this.getToken(SqlBaseParser.EXPLAIN, 0); - }; - - statement() { - return this.getTypedRuleContext(StatementContext,0); - }; - - ANALYZE() { - return this.getToken(SqlBaseParser.ANALYZE, 0); - }; - - VERBOSE() { - return this.getToken(SqlBaseParser.VERBOSE, 0); - }; - - explainOptions = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExplainOptionsContext); - } else { - return this.getTypedRuleContext(ExplainOptionsContext,i); - } - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterExplain(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitExplain(this); - } - } - - -} - -SqlBaseParser.ExplainContext = ExplainContext; - -class SetTransactionContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - SET() { - return this.getToken(SqlBaseParser.SET, 0); - }; - - TRANSACTION() { - return this.getToken(SqlBaseParser.TRANSACTION, 0); - }; - - transactionMode = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(TransactionModeContext); - } else { - return this.getTypedRuleContext(TransactionModeContext,i); - } - }; - - SESSION() { - return this.getToken(SqlBaseParser.SESSION, 0); - }; - - CHARACTERISTICS() { - return this.getToken(SqlBaseParser.CHARACTERISTICS, 0); - }; - - AS() { - return this.getToken(SqlBaseParser.AS, 0); - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSetTransaction(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSetTransaction(this); - } - } - - -} - -SqlBaseParser.SetTransactionContext = SetTransactionContext; - -class DropContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - dropStmt() { - return this.getTypedRuleContext(DropStmtContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDrop(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDrop(this); - } - } - - -} - -SqlBaseParser.DropContext = DropContext; - -class DiscardContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - DISCARD() { - return this.getToken(SqlBaseParser.DISCARD, 0); - }; - - ALL() { - return this.getToken(SqlBaseParser.ALL, 0); - }; - - PLANS() { - return this.getToken(SqlBaseParser.PLANS, 0); - }; - - SEQUENCES() { - return this.getToken(SqlBaseParser.SEQUENCES, 0); - }; - - TEMPORARY() { - return this.getToken(SqlBaseParser.TEMPORARY, 0); - }; - - TEMP() { - return this.getToken(SqlBaseParser.TEMP, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDiscard(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDiscard(this); - } - } - - -} - -SqlBaseParser.DiscardContext = DiscardContext; - -class StartTransactionContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - START() { - return this.getToken(SqlBaseParser.START, 0); - }; - - TRANSACTION() { - return this.getToken(SqlBaseParser.TRANSACTION, 0); - }; - - transactionMode = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(TransactionModeContext); - } else { - return this.getTypedRuleContext(TransactionModeContext,i); - } - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterStartTransaction(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitStartTransaction(this); - } - } - - -} - -SqlBaseParser.StartTransactionContext = StartTransactionContext; - -class DeclareContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - DECLARE() { - return this.getToken(SqlBaseParser.DECLARE, 0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - declareCursorParams() { - return this.getTypedRuleContext(DeclareCursorParamsContext,0); - }; - - CURSOR() { - return this.getToken(SqlBaseParser.CURSOR, 0); - }; - - FOR() { - return this.getToken(SqlBaseParser.FOR, 0); - }; - - queryNoWith() { - return this.getTypedRuleContext(QueryNoWithContext,0); - }; - - HOLD() { - return this.getToken(SqlBaseParser.HOLD, 0); - }; - - WITH() { - return this.getToken(SqlBaseParser.WITH, 0); - }; - - WITHOUT() { - return this.getToken(SqlBaseParser.WITHOUT, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDeclare(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDeclare(this); - } - } - - -} - -SqlBaseParser.DeclareContext = DeclareContext; - -class DeallocateContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - this.prepStmt = null;; - super.copyFrom(ctx); - } - - DEALLOCATE() { - return this.getToken(SqlBaseParser.DEALLOCATE, 0); - }; - - ALL() { - return this.getToken(SqlBaseParser.ALL, 0); - }; - - PREPARE() { - return this.getToken(SqlBaseParser.PREPARE, 0); - }; - - stringLiteralOrIdentifierOrQname() { - return this.getTypedRuleContext(StringLiteralOrIdentifierOrQnameContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDeallocate(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDeallocate(this); - } - } - - -} - -SqlBaseParser.DeallocateContext = DeallocateContext; - -class CommitContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - COMMIT() { - return this.getToken(SqlBaseParser.COMMIT, 0); - }; - - WORK() { - return this.getToken(SqlBaseParser.WORK, 0); - }; - - TRANSACTION() { - return this.getToken(SqlBaseParser.TRANSACTION, 0); - }; - - END() { - return this.getToken(SqlBaseParser.END, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterCommit(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitCommit(this); - } - } - - -} - -SqlBaseParser.CommitContext = CommitContext; - -class UpdateContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - UPDATE() { - return this.getToken(SqlBaseParser.UPDATE, 0); - }; - - aliasedRelation() { - return this.getTypedRuleContext(AliasedRelationContext,0); - }; - - SET() { - return this.getToken(SqlBaseParser.SET, 0); - }; - - assignment = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(AssignmentContext); - } else { - return this.getTypedRuleContext(AssignmentContext,i); - } - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - where() { - return this.getTypedRuleContext(WhereContext,0); - }; - - returning() { - return this.getTypedRuleContext(ReturningContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterUpdate(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitUpdate(this); - } - } - - -} - -SqlBaseParser.UpdateContext = UpdateContext; - -class InsertContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - INSERT() { - return this.getToken(SqlBaseParser.INSERT, 0); - }; - - INTO() { - return this.getToken(SqlBaseParser.INTO, 0); - }; - - table() { - return this.getTypedRuleContext(TableContext,0); - }; - - insertSource() { - return this.getTypedRuleContext(InsertSourceContext,0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - ident = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdentContext); - } else { - return this.getTypedRuleContext(IdentContext,i); - } - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - onConflict() { - return this.getTypedRuleContext(OnConflictContext,0); - }; - - returning() { - return this.getTypedRuleContext(ReturningContext,0); - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterInsert(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitInsert(this); - } - } - - -} - -SqlBaseParser.InsertContext = InsertContext; - -class DeleteContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - DELETE() { - return this.getToken(SqlBaseParser.DELETE, 0); - }; - - FROM() { - return this.getToken(SqlBaseParser.FROM, 0); - }; - - aliasedRelation() { - return this.getTypedRuleContext(AliasedRelationContext,0); - }; - - where() { - return this.getTypedRuleContext(WhereContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDelete(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDelete(this); - } - } - - -} - -SqlBaseParser.DeleteContext = DeleteContext; - -class ShowTablesContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - this.pattern = null;; - super.copyFrom(ctx); - } - - SHOW() { - return this.getToken(SqlBaseParser.SHOW, 0); - }; - - TABLES() { - return this.getToken(SqlBaseParser.TABLES, 0); - }; - - qname() { - return this.getTypedRuleContext(QnameContext,0); - }; - - LIKE() { - return this.getToken(SqlBaseParser.LIKE, 0); - }; - - where() { - return this.getTypedRuleContext(WhereContext,0); - }; - - FROM() { - return this.getToken(SqlBaseParser.FROM, 0); - }; - - IN() { - return this.getToken(SqlBaseParser.IN, 0); - }; - - stringLiteral() { - return this.getTypedRuleContext(StringLiteralContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterShowTables(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitShowTables(this); - } - } - - -} - -SqlBaseParser.ShowTablesContext = ShowTablesContext; - -class SetGlobalContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - SET() { - return this.getToken(SqlBaseParser.SET, 0); - }; - - GLOBAL() { - return this.getToken(SqlBaseParser.GLOBAL, 0); - }; - - setGlobalAssignment = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(SetGlobalAssignmentContext); - } else { - return this.getTypedRuleContext(SetGlobalAssignmentContext,i); - } - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - PERSISTENT() { - return this.getToken(SqlBaseParser.PERSISTENT, 0); - }; - - TRANSIENT() { - return this.getToken(SqlBaseParser.TRANSIENT, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSetGlobal(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSetGlobal(this); - } - } - - -} - -SqlBaseParser.SetGlobalContext = SetGlobalContext; - -class CopyToContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - this.path = null;; - super.copyFrom(ctx); - } - - COPY() { - return this.getToken(SqlBaseParser.COPY, 0); - }; - - tableWithPartition() { - return this.getTypedRuleContext(TableWithPartitionContext,0); - }; - - TO() { - return this.getToken(SqlBaseParser.TO, 0); - }; - - expr() { - return this.getTypedRuleContext(ExprContext,0); - }; - - columns() { - return this.getTypedRuleContext(ColumnsContext,0); - }; - - where() { - return this.getTypedRuleContext(WhereContext,0); - }; - - DIRECTORY() { - return this.getToken(SqlBaseParser.DIRECTORY, 0); - }; - - withProperties() { - return this.getTypedRuleContext(WithPropertiesContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterCopyTo(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitCopyTo(this); - } - } - - -} - -SqlBaseParser.CopyToContext = CopyToContext; - -class ShowSessionParameterContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - SHOW() { - return this.getToken(SqlBaseParser.SHOW, 0); - }; - - qname() { - return this.getTypedRuleContext(QnameContext,0); - }; - - ALL() { - return this.getToken(SqlBaseParser.ALL, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterShowSessionParameter(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitShowSessionParameter(this); - } - } - - -} - -SqlBaseParser.ShowSessionParameterContext = ShowSessionParameterContext; - -class DefaultContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - query() { - return this.getTypedRuleContext(QueryContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDefault(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDefault(this); - } - } - - -} - -SqlBaseParser.DefaultContext = DefaultContext; - -class OptimizeContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - OPTIMIZE() { - return this.getToken(SqlBaseParser.OPTIMIZE, 0); - }; - - TABLE() { - return this.getToken(SqlBaseParser.TABLE, 0); - }; - - tableWithPartitions() { - return this.getTypedRuleContext(TableWithPartitionsContext,0); - }; - - withProperties() { - return this.getTypedRuleContext(WithPropertiesContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterOptimize(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitOptimize(this); - } - } - - -} - -SqlBaseParser.OptimizeContext = OptimizeContext; - -class ResetGlobalContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - RESET() { - return this.getToken(SqlBaseParser.RESET, 0); - }; - - GLOBAL() { - return this.getToken(SqlBaseParser.GLOBAL, 0); - }; - - primaryExpression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(PrimaryExpressionContext); - } else { - return this.getTypedRuleContext(PrimaryExpressionContext,i); - } - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterResetGlobal(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitResetGlobal(this); - } - } - - -} - -SqlBaseParser.ResetGlobalContext = ResetGlobalContext; - -class RevokePrivilegeContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - this.privileges = null;; - this.users = null;; - super.copyFrom(ctx); - } - - REVOKE() { - return this.getToken(SqlBaseParser.REVOKE, 0); - }; - - FROM() { - return this.getToken(SqlBaseParser.FROM, 0); - }; - - idents = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdentsContext); - } else { - return this.getTypedRuleContext(IdentsContext,i); - } - }; - - ALL() { - return this.getToken(SqlBaseParser.ALL, 0); - }; - - ON() { - return this.getToken(SqlBaseParser.ON, 0); - }; - - securable() { - return this.getTypedRuleContext(SecurableContext,0); - }; - - qnames() { - return this.getTypedRuleContext(QnamesContext,0); - }; - - PRIVILEGES() { - return this.getToken(SqlBaseParser.PRIVILEGES, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterRevokePrivilege(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitRevokePrivilege(this); - } - } - - -} - -SqlBaseParser.RevokePrivilegeContext = RevokePrivilegeContext; - -class SetTimeZoneContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - SET() { - return this.getToken(SqlBaseParser.SET, 0); - }; - - TIME() { - return this.getToken(SqlBaseParser.TIME, 0); - }; - - ZONE() { - return this.getToken(SqlBaseParser.ZONE, 0); - }; - - LOCAL() { - return this.getToken(SqlBaseParser.LOCAL, 0); - }; - - DEFAULT() { - return this.getToken(SqlBaseParser.DEFAULT, 0); - }; - - stringLiteral() { - return this.getTypedRuleContext(StringLiteralContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSetTimeZone(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSetTimeZone(this); - } - } - - -} - -SqlBaseParser.SetTimeZoneContext = SetTimeZoneContext; - -class CreateContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - createStmt() { - return this.getTypedRuleContext(CreateStmtContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterCreate(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitCreate(this); - } - } - - -} - -SqlBaseParser.CreateContext = CreateContext; - -class ShowCreateTableContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - SHOW() { - return this.getToken(SqlBaseParser.SHOW, 0); - }; - - CREATE() { - return this.getToken(SqlBaseParser.CREATE, 0); - }; - - TABLE() { - return this.getToken(SqlBaseParser.TABLE, 0); - }; - - table() { - return this.getTypedRuleContext(TableContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterShowCreateTable(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitShowCreateTable(this); - } - } - - -} - -SqlBaseParser.ShowCreateTableContext = ShowCreateTableContext; - -class ShowSchemasContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - this.pattern = null;; - super.copyFrom(ctx); - } - - SHOW() { - return this.getToken(SqlBaseParser.SHOW, 0); - }; - - SCHEMAS() { - return this.getToken(SqlBaseParser.SCHEMAS, 0); - }; - - LIKE() { - return this.getToken(SqlBaseParser.LIKE, 0); - }; - - where() { - return this.getTypedRuleContext(WhereContext,0); - }; - - stringLiteral() { - return this.getTypedRuleContext(StringLiteralContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterShowSchemas(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitShowSchemas(this); - } - } - - -} - -SqlBaseParser.ShowSchemasContext = ShowSchemasContext; - -class CloseContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - CLOSE() { - return this.getToken(SqlBaseParser.CLOSE, 0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - ALL() { - return this.getToken(SqlBaseParser.ALL, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterClose(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitClose(this); - } - } - - -} - -SqlBaseParser.CloseContext = CloseContext; - -class ShowColumnsContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - this.tableName = null;; - this.schema = null;; - this.pattern = null;; - super.copyFrom(ctx); - } - - SHOW() { - return this.getToken(SqlBaseParser.SHOW, 0); - }; - - COLUMNS() { - return this.getToken(SqlBaseParser.COLUMNS, 0); - }; - - FROM = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.FROM); - } else { - return this.getToken(SqlBaseParser.FROM, i); - } - }; - - - IN = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.IN); - } else { - return this.getToken(SqlBaseParser.IN, i); - } - }; - - - qname = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(QnameContext); - } else { - return this.getTypedRuleContext(QnameContext,i); - } - }; - - LIKE() { - return this.getToken(SqlBaseParser.LIKE, 0); - }; - - where() { - return this.getTypedRuleContext(WhereContext,0); - }; - - stringLiteral() { - return this.getTypedRuleContext(StringLiteralContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterShowColumns(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitShowColumns(this); - } - } - - -} - -SqlBaseParser.ShowColumnsContext = ShowColumnsContext; - -class AlterContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - alterStmt() { - return this.getTypedRuleContext(AlterStmtContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterAlter(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitAlter(this); - } - } - - -} - -SqlBaseParser.AlterContext = AlterContext; - -class SetContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - SET() { - return this.getToken(SqlBaseParser.SET, 0); - }; - - qname() { - return this.getTypedRuleContext(QnameContext,0); - }; - - EQ() { - return this.getToken(SqlBaseParser.EQ, 0); - }; - - TO() { - return this.getToken(SqlBaseParser.TO, 0); - }; - - DEFAULT() { - return this.getToken(SqlBaseParser.DEFAULT, 0); - }; - - setExpr = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(SetExprContext); - } else { - return this.getTypedRuleContext(SetExprContext,i); - } - }; - - SESSION() { - return this.getToken(SqlBaseParser.SESSION, 0); - }; - - LOCAL() { - return this.getToken(SqlBaseParser.LOCAL, 0); - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSet(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSet(this); - } - } - - -} - -SqlBaseParser.SetContext = SetContext; - -class RestoreContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - this.metatypes = null;; - super.copyFrom(ctx); - } - - RESTORE() { - return this.getToken(SqlBaseParser.RESTORE, 0); - }; - - SNAPSHOT() { - return this.getToken(SqlBaseParser.SNAPSHOT, 0); - }; - - qname() { - return this.getTypedRuleContext(QnameContext,0); - }; - - ALL() { - return this.getToken(SqlBaseParser.ALL, 0); - }; - - METADATA() { - return this.getToken(SqlBaseParser.METADATA, 0); - }; - - TABLE() { - return this.getToken(SqlBaseParser.TABLE, 0); - }; - - tableWithPartitions() { - return this.getTypedRuleContext(TableWithPartitionsContext,0); - }; - - idents() { - return this.getTypedRuleContext(IdentsContext,0); - }; - - withProperties() { - return this.getTypedRuleContext(WithPropertiesContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterRestore(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitRestore(this); - } - } - - -} - -SqlBaseParser.RestoreContext = RestoreContext; - -class RefreshTableContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - REFRESH() { - return this.getToken(SqlBaseParser.REFRESH, 0); - }; - - TABLE() { - return this.getToken(SqlBaseParser.TABLE, 0); - }; - - tableWithPartitions() { - return this.getTypedRuleContext(TableWithPartitionsContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterRefreshTable(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitRefreshTable(this); - } - } - - -} - -SqlBaseParser.RefreshTableContext = RefreshTableContext; - -class GrantPrivilegeContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - this.priviliges = null;; - this.users = null;; - super.copyFrom(ctx); - } - - GRANT() { - return this.getToken(SqlBaseParser.GRANT, 0); - }; - - TO() { - return this.getToken(SqlBaseParser.TO, 0); - }; - - idents = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdentsContext); - } else { - return this.getTypedRuleContext(IdentsContext,i); - } - }; - - ALL() { - return this.getToken(SqlBaseParser.ALL, 0); - }; - - ON() { - return this.getToken(SqlBaseParser.ON, 0); - }; - - securable() { - return this.getTypedRuleContext(SecurableContext,0); - }; - - qnames() { - return this.getTypedRuleContext(QnamesContext,0); - }; - - PRIVILEGES() { - return this.getToken(SqlBaseParser.PRIVILEGES, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterGrantPrivilege(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitGrantPrivilege(this); - } - } - - -} - -SqlBaseParser.GrantPrivilegeContext = GrantPrivilegeContext; - -class DenyPrivilegeContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - this.priviliges = null;; - this.users = null;; - super.copyFrom(ctx); - } - - DENY() { - return this.getToken(SqlBaseParser.DENY, 0); - }; - - TO() { - return this.getToken(SqlBaseParser.TO, 0); - }; - - idents = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdentsContext); - } else { - return this.getTypedRuleContext(IdentsContext,i); - } - }; - - ALL() { - return this.getToken(SqlBaseParser.ALL, 0); - }; - - ON() { - return this.getToken(SqlBaseParser.ON, 0); - }; - - securable() { - return this.getTypedRuleContext(SecurableContext,0); - }; - - qnames() { - return this.getTypedRuleContext(QnamesContext,0); - }; - - PRIVILEGES() { - return this.getToken(SqlBaseParser.PRIVILEGES, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDenyPrivilege(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDenyPrivilege(this); - } - } - - -} - -SqlBaseParser.DenyPrivilegeContext = DenyPrivilegeContext; - -class SetSessionAuthorizationContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - this.username = null;; - super.copyFrom(ctx); - } - - SET() { - return this.getToken(SqlBaseParser.SET, 0); - }; - - SESSION = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.SESSION); - } else { - return this.getToken(SqlBaseParser.SESSION, i); - } - }; - - - AUTHORIZATION() { - return this.getToken(SqlBaseParser.AUTHORIZATION, 0); - }; - - DEFAULT() { - return this.getToken(SqlBaseParser.DEFAULT, 0); - }; - - stringLiteralOrIdentifier() { - return this.getTypedRuleContext(StringLiteralOrIdentifierContext,0); - }; - - LOCAL() { - return this.getToken(SqlBaseParser.LOCAL, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSetSessionAuthorization(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSetSessionAuthorization(this); - } - } - - -} - -SqlBaseParser.SetSessionAuthorizationContext = SetSessionAuthorizationContext; - -class KillContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - this.jobId = null;; - super.copyFrom(ctx); - } - - KILL() { - return this.getToken(SqlBaseParser.KILL, 0); - }; - - ALL() { - return this.getToken(SqlBaseParser.ALL, 0); - }; - - parameterOrString() { - return this.getTypedRuleContext(ParameterOrStringContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterKill(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitKill(this); - } - } - - -} - -SqlBaseParser.KillContext = KillContext; - -class CopyFromContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - this.path = null;; - super.copyFrom(ctx); - } - - COPY() { - return this.getToken(SqlBaseParser.COPY, 0); - }; - - tableWithPartition() { - return this.getTypedRuleContext(TableWithPartitionContext,0); - }; - - FROM() { - return this.getToken(SqlBaseParser.FROM, 0); - }; - - expr() { - return this.getTypedRuleContext(ExprContext,0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - ident = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdentContext); - } else { - return this.getTypedRuleContext(IdentContext,i); - } - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - withProperties() { - return this.getTypedRuleContext(WithPropertiesContext,0); - }; - - RETURN() { - return this.getToken(SqlBaseParser.RETURN, 0); - }; - - SUMMARY() { - return this.getToken(SqlBaseParser.SUMMARY, 0); - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterCopyFrom(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitCopyFrom(this); - } - } - - -} - -SqlBaseParser.CopyFromContext = CopyFromContext; - -class AnalyzeContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - ANALYZE() { - return this.getToken(SqlBaseParser.ANALYZE, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterAnalyze(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitAnalyze(this); - } - } - - -} - -SqlBaseParser.AnalyzeContext = AnalyzeContext; - -class FetchContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - FETCH() { - return this.getToken(SqlBaseParser.FETCH, 0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - direction() { - return this.getTypedRuleContext(DirectionContext,0); - }; - - IN() { - return this.getToken(SqlBaseParser.IN, 0); - }; - - FROM() { - return this.getToken(SqlBaseParser.FROM, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterFetch(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitFetch(this); - } - } - - -} - -SqlBaseParser.FetchContext = FetchContext; - -class ShowTransactionContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - SHOW() { - return this.getToken(SqlBaseParser.SHOW, 0); - }; - - TRANSACTION() { - return this.getToken(SqlBaseParser.TRANSACTION, 0); - }; - - ISOLATION() { - return this.getToken(SqlBaseParser.ISOLATION, 0); - }; - - LEVEL() { - return this.getToken(SqlBaseParser.LEVEL, 0); - }; - - TRANSACTION_ISOLATION() { - return this.getToken(SqlBaseParser.TRANSACTION_ISOLATION, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterShowTransaction(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitShowTransaction(this); - } - } - - -} - -SqlBaseParser.ShowTransactionContext = ShowTransactionContext; - -class ResetSessionAuthorizationContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - RESET() { - return this.getToken(SqlBaseParser.RESET, 0); - }; - - SESSION() { - return this.getToken(SqlBaseParser.SESSION, 0); - }; - - AUTHORIZATION() { - return this.getToken(SqlBaseParser.AUTHORIZATION, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterResetSessionAuthorization(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitResetSessionAuthorization(this); - } - } - - -} - -SqlBaseParser.ResetSessionAuthorizationContext = ResetSessionAuthorizationContext; - -class BeginContext extends StatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - BEGIN() { - return this.getToken(SqlBaseParser.BEGIN, 0); - }; - - transactionMode = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(TransactionModeContext); - } else { - return this.getTypedRuleContext(TransactionModeContext,i); - } - }; - - WORK() { - return this.getToken(SqlBaseParser.WORK, 0); - }; - - TRANSACTION() { - return this.getToken(SqlBaseParser.TRANSACTION, 0); - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterBegin(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitBegin(this); - } - } - - -} - -SqlBaseParser.BeginContext = BeginContext; - -class DropStmtContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_dropStmt; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class DropSubscriptionContext extends DropStmtContext { - - constructor(parser, ctx) { - super(parser); - this.name = null;; - super.copyFrom(ctx); - } - - DROP() { - return this.getToken(SqlBaseParser.DROP, 0); - }; - - SUBSCRIPTION() { - return this.getToken(SqlBaseParser.SUBSCRIPTION, 0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - IF() { - return this.getToken(SqlBaseParser.IF, 0); - }; - - EXISTS() { - return this.getToken(SqlBaseParser.EXISTS, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDropSubscription(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDropSubscription(this); - } - } - - -} - -SqlBaseParser.DropSubscriptionContext = DropSubscriptionContext; - -class DropSnapshotContext extends DropStmtContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - DROP() { - return this.getToken(SqlBaseParser.DROP, 0); - }; - - SNAPSHOT() { - return this.getToken(SqlBaseParser.SNAPSHOT, 0); - }; - - qname() { - return this.getTypedRuleContext(QnameContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDropSnapshot(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDropSnapshot(this); - } - } - - -} - -SqlBaseParser.DropSnapshotContext = DropSnapshotContext; - -class DropFunctionContext extends DropStmtContext { - - constructor(parser, ctx) { - super(parser); - this.name = null;; - super.copyFrom(ctx); - } - - DROP() { - return this.getToken(SqlBaseParser.DROP, 0); - }; - - FUNCTION() { - return this.getToken(SqlBaseParser.FUNCTION, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - qname() { - return this.getTypedRuleContext(QnameContext,0); - }; - - IF() { - return this.getToken(SqlBaseParser.IF, 0); - }; - - EXISTS() { - return this.getToken(SqlBaseParser.EXISTS, 0); - }; - - functionArgument = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(FunctionArgumentContext); - } else { - return this.getTypedRuleContext(FunctionArgumentContext,i); - } - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDropFunction(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDropFunction(this); - } - } - - -} - -SqlBaseParser.DropFunctionContext = DropFunctionContext; - -class DropViewContext extends DropStmtContext { - - constructor(parser, ctx) { - super(parser); - this.names = null;; - super.copyFrom(ctx); - } - - DROP() { - return this.getToken(SqlBaseParser.DROP, 0); - }; - - VIEW() { - return this.getToken(SqlBaseParser.VIEW, 0); - }; - - qnames() { - return this.getTypedRuleContext(QnamesContext,0); - }; - - IF() { - return this.getToken(SqlBaseParser.IF, 0); - }; - - EXISTS() { - return this.getToken(SqlBaseParser.EXISTS, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDropView(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDropView(this); - } - } - - -} - -SqlBaseParser.DropViewContext = DropViewContext; - -class DropUserMappingContext extends DropStmtContext { - - constructor(parser, ctx) { - super(parser); - this.server = null;; - super.copyFrom(ctx); - } - - DROP() { - return this.getToken(SqlBaseParser.DROP, 0); - }; - - USER() { - return this.getToken(SqlBaseParser.USER, 0); - }; - - MAPPING() { - return this.getToken(SqlBaseParser.MAPPING, 0); - }; - - FOR() { - return this.getToken(SqlBaseParser.FOR, 0); - }; - - mappedUser() { - return this.getTypedRuleContext(MappedUserContext,0); - }; - - SERVER() { - return this.getToken(SqlBaseParser.SERVER, 0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - IF() { - return this.getToken(SqlBaseParser.IF, 0); - }; - - EXISTS() { - return this.getToken(SqlBaseParser.EXISTS, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDropUserMapping(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDropUserMapping(this); - } - } - - -} - -SqlBaseParser.DropUserMappingContext = DropUserMappingContext; - -class DropRepositoryContext extends DropStmtContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - DROP() { - return this.getToken(SqlBaseParser.DROP, 0); - }; - - REPOSITORY() { - return this.getToken(SqlBaseParser.REPOSITORY, 0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDropRepository(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDropRepository(this); - } - } - - -} - -SqlBaseParser.DropRepositoryContext = DropRepositoryContext; - -class DropRoleContext extends DropStmtContext { - - constructor(parser, ctx) { - super(parser); - this.name = null;; - super.copyFrom(ctx); - } - - DROP() { - return this.getToken(SqlBaseParser.DROP, 0); - }; - - USER() { - return this.getToken(SqlBaseParser.USER, 0); - }; - - ROLE() { - return this.getToken(SqlBaseParser.ROLE, 0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - IF() { - return this.getToken(SqlBaseParser.IF, 0); - }; - - EXISTS() { - return this.getToken(SqlBaseParser.EXISTS, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDropRole(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDropRole(this); - } - } - - -} - -SqlBaseParser.DropRoleContext = DropRoleContext; - -class DropForeignTableContext extends DropStmtContext { - - constructor(parser, ctx) { - super(parser); - this.names = null;; - super.copyFrom(ctx); - } - - DROP() { - return this.getToken(SqlBaseParser.DROP, 0); - }; - - FOREIGN() { - return this.getToken(SqlBaseParser.FOREIGN, 0); - }; - - TABLE() { - return this.getToken(SqlBaseParser.TABLE, 0); - }; - - qnames() { - return this.getTypedRuleContext(QnamesContext,0); - }; - - IF() { - return this.getToken(SqlBaseParser.IF, 0); - }; - - EXISTS() { - return this.getToken(SqlBaseParser.EXISTS, 0); - }; - - CASCADE() { - return this.getToken(SqlBaseParser.CASCADE, 0); - }; - - RESTRICT() { - return this.getToken(SqlBaseParser.RESTRICT, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDropForeignTable(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDropForeignTable(this); - } - } - - -} - -SqlBaseParser.DropForeignTableContext = DropForeignTableContext; - -class DropBlobTableContext extends DropStmtContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - DROP() { - return this.getToken(SqlBaseParser.DROP, 0); - }; - - BLOB() { - return this.getToken(SqlBaseParser.BLOB, 0); - }; - - TABLE() { - return this.getToken(SqlBaseParser.TABLE, 0); - }; - - table() { - return this.getTypedRuleContext(TableContext,0); - }; - - IF() { - return this.getToken(SqlBaseParser.IF, 0); - }; - - EXISTS() { - return this.getToken(SqlBaseParser.EXISTS, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDropBlobTable(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDropBlobTable(this); - } - } - - -} - -SqlBaseParser.DropBlobTableContext = DropBlobTableContext; - -class DropAnalyzerContext extends DropStmtContext { - - constructor(parser, ctx) { - super(parser); - this.name = null;; - super.copyFrom(ctx); - } - - DROP() { - return this.getToken(SqlBaseParser.DROP, 0); - }; - - ANALYZER() { - return this.getToken(SqlBaseParser.ANALYZER, 0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDropAnalyzer(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDropAnalyzer(this); - } - } - - -} - -SqlBaseParser.DropAnalyzerContext = DropAnalyzerContext; - -class DropAliasContext extends DropStmtContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - DROP() { - return this.getToken(SqlBaseParser.DROP, 0); - }; - - ALIAS() { - return this.getToken(SqlBaseParser.ALIAS, 0); - }; - - qname() { - return this.getTypedRuleContext(QnameContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDropAlias(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDropAlias(this); - } - } - - -} - -SqlBaseParser.DropAliasContext = DropAliasContext; - -class DropPublicationContext extends DropStmtContext { - - constructor(parser, ctx) { - super(parser); - this.name = null;; - super.copyFrom(ctx); - } - - DROP() { - return this.getToken(SqlBaseParser.DROP, 0); - }; - - PUBLICATION() { - return this.getToken(SqlBaseParser.PUBLICATION, 0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - IF() { - return this.getToken(SqlBaseParser.IF, 0); - }; - - EXISTS() { - return this.getToken(SqlBaseParser.EXISTS, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDropPublication(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDropPublication(this); - } - } - - -} - -SqlBaseParser.DropPublicationContext = DropPublicationContext; - -class DropTableContext extends DropStmtContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - DROP() { - return this.getToken(SqlBaseParser.DROP, 0); - }; - - TABLE() { - return this.getToken(SqlBaseParser.TABLE, 0); - }; - - table() { - return this.getTypedRuleContext(TableContext,0); - }; - - IF() { - return this.getToken(SqlBaseParser.IF, 0); - }; - - EXISTS() { - return this.getToken(SqlBaseParser.EXISTS, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDropTable(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDropTable(this); - } - } - - -} - -SqlBaseParser.DropTableContext = DropTableContext; - -class DropServerContext extends DropStmtContext { - - constructor(parser, ctx) { - super(parser); - this.names = null;; - super.copyFrom(ctx); - } - - DROP() { - return this.getToken(SqlBaseParser.DROP, 0); - }; - - SERVER() { - return this.getToken(SqlBaseParser.SERVER, 0); - }; - - idents() { - return this.getTypedRuleContext(IdentsContext,0); - }; - - IF() { - return this.getToken(SqlBaseParser.IF, 0); - }; - - EXISTS() { - return this.getToken(SqlBaseParser.EXISTS, 0); - }; - - CASCADE() { - return this.getToken(SqlBaseParser.CASCADE, 0); - }; - - RESTRICT() { - return this.getToken(SqlBaseParser.RESTRICT, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDropServer(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDropServer(this); - } - } - - -} - -SqlBaseParser.DropServerContext = DropServerContext; - -class AlterStmtContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_alterStmt; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class AddColumnContext extends AlterStmtContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - ALTER() { - return this.getToken(SqlBaseParser.ALTER, 0); - }; - - TABLE() { - return this.getToken(SqlBaseParser.TABLE, 0); - }; - - alterTableDefinition() { - return this.getTypedRuleContext(AlterTableDefinitionContext,0); - }; - - addColumnDefinition = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(AddColumnDefinitionContext); - } else { - return this.getTypedRuleContext(AddColumnDefinitionContext,i); - } - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterAddColumn(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitAddColumn(this); - } - } - - -} - -SqlBaseParser.AddColumnContext = AddColumnContext; - -class AlterClusterGCDanglingArtifactsContext extends AlterStmtContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - ALTER() { - return this.getToken(SqlBaseParser.ALTER, 0); - }; - - CLUSTER() { - return this.getToken(SqlBaseParser.CLUSTER, 0); - }; - - GC() { - return this.getToken(SqlBaseParser.GC, 0); - }; - - DANGLING() { - return this.getToken(SqlBaseParser.DANGLING, 0); - }; - - ARTIFACTS() { - return this.getToken(SqlBaseParser.ARTIFACTS, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterAlterClusterGCDanglingArtifacts(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitAlterClusterGCDanglingArtifacts(this); - } - } - - -} - -SqlBaseParser.AlterClusterGCDanglingArtifactsContext = AlterClusterGCDanglingArtifactsContext; - -class AlterTablePropertiesContext extends AlterStmtContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - ALTER() { - return this.getToken(SqlBaseParser.ALTER, 0); - }; - - TABLE() { - return this.getToken(SqlBaseParser.TABLE, 0); - }; - - alterTableDefinition() { - return this.getTypedRuleContext(AlterTableDefinitionContext,0); - }; - - SET() { - return this.getToken(SqlBaseParser.SET, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - genericProperties() { - return this.getTypedRuleContext(GenericPropertiesContext,0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - RESET() { - return this.getToken(SqlBaseParser.RESET, 0); - }; - - ident = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdentContext); - } else { - return this.getTypedRuleContext(IdentContext,i); - } - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterAlterTableProperties(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitAlterTableProperties(this); - } - } - - -} - -SqlBaseParser.AlterTablePropertiesContext = AlterTablePropertiesContext; - -class AlterRoleContext extends AlterStmtContext { - - constructor(parser, ctx) { - super(parser); - this.name = null;; - super.copyFrom(ctx); - } - - ALTER() { - return this.getToken(SqlBaseParser.ALTER, 0); - }; - - SET() { - return this.getToken(SqlBaseParser.SET, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - genericProperties() { - return this.getTypedRuleContext(GenericPropertiesContext,0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - USER() { - return this.getToken(SqlBaseParser.USER, 0); - }; - - ROLE() { - return this.getToken(SqlBaseParser.ROLE, 0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterAlterRole(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitAlterRole(this); - } - } - - -} - -SqlBaseParser.AlterRoleContext = AlterRoleContext; - -class DropColumnContext extends AlterStmtContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - ALTER() { - return this.getToken(SqlBaseParser.ALTER, 0); - }; - - TABLE() { - return this.getToken(SqlBaseParser.TABLE, 0); - }; - - alterTableDefinition() { - return this.getTypedRuleContext(AlterTableDefinitionContext,0); - }; - - dropColumnDefinition = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(DropColumnDefinitionContext); - } else { - return this.getTypedRuleContext(DropColumnDefinitionContext,i); - } - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDropColumn(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDropColumn(this); - } - } - - -} - -SqlBaseParser.DropColumnContext = DropColumnContext; - -class DropCheckConstraintContext extends AlterStmtContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - ALTER() { - return this.getToken(SqlBaseParser.ALTER, 0); - }; - - TABLE() { - return this.getToken(SqlBaseParser.TABLE, 0); - }; - - alterTableDefinition() { - return this.getTypedRuleContext(AlterTableDefinitionContext,0); - }; - - DROP() { - return this.getToken(SqlBaseParser.DROP, 0); - }; - - CONSTRAINT() { - return this.getToken(SqlBaseParser.CONSTRAINT, 0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDropCheckConstraint(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDropCheckConstraint(this); - } - } - - -} - -SqlBaseParser.DropCheckConstraintContext = DropCheckConstraintContext; - -class AlterTableOpenCloseContext extends AlterStmtContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - ALTER() { - return this.getToken(SqlBaseParser.ALTER, 0); - }; - - TABLE() { - return this.getToken(SqlBaseParser.TABLE, 0); - }; - - alterTableDefinition() { - return this.getTypedRuleContext(AlterTableDefinitionContext,0); - }; - - OPEN() { - return this.getToken(SqlBaseParser.OPEN, 0); - }; - - CLOSE() { - return this.getToken(SqlBaseParser.CLOSE, 0); - }; - - BLOB() { - return this.getToken(SqlBaseParser.BLOB, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterAlterTableOpenClose(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitAlterTableOpenClose(this); - } - } - - -} - -SqlBaseParser.AlterTableOpenCloseContext = AlterTableOpenCloseContext; - -class AlterTableRenameTableContext extends AlterStmtContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - ALTER() { - return this.getToken(SqlBaseParser.ALTER, 0); - }; - - TABLE() { - return this.getToken(SqlBaseParser.TABLE, 0); - }; - - alterTableDefinition() { - return this.getTypedRuleContext(AlterTableDefinitionContext,0); - }; - - RENAME() { - return this.getToken(SqlBaseParser.RENAME, 0); - }; - - TO() { - return this.getToken(SqlBaseParser.TO, 0); - }; - - qname() { - return this.getTypedRuleContext(QnameContext,0); - }; - - BLOB() { - return this.getToken(SqlBaseParser.BLOB, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterAlterTableRenameTable(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitAlterTableRenameTable(this); - } - } - - -} - -SqlBaseParser.AlterTableRenameTableContext = AlterTableRenameTableContext; - -class AlterPublicationContext extends AlterStmtContext { - - constructor(parser, ctx) { - super(parser); - this.name = null;; - super.copyFrom(ctx); - } - - ALTER() { - return this.getToken(SqlBaseParser.ALTER, 0); - }; - - PUBLICATION() { - return this.getToken(SqlBaseParser.PUBLICATION, 0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - TABLE() { - return this.getToken(SqlBaseParser.TABLE, 0); - }; - - qname = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(QnameContext); - } else { - return this.getTypedRuleContext(QnameContext,i); - } - }; - - ADD() { - return this.getToken(SqlBaseParser.ADD, 0); - }; - - SET() { - return this.getToken(SqlBaseParser.SET, 0); - }; - - DROP() { - return this.getToken(SqlBaseParser.DROP, 0); - }; - - ASTERISK = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.ASTERISK); - } else { - return this.getToken(SqlBaseParser.ASTERISK, i); - } - }; - - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterAlterPublication(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitAlterPublication(this); - } - } - - -} - -SqlBaseParser.AlterPublicationContext = AlterPublicationContext; - -class AlterClusterDecommissionNodeContext extends AlterStmtContext { - - constructor(parser, ctx) { - super(parser); - this.node = null;; - super.copyFrom(ctx); - } - - ALTER() { - return this.getToken(SqlBaseParser.ALTER, 0); - }; - - CLUSTER() { - return this.getToken(SqlBaseParser.CLUSTER, 0); - }; - - DECOMMISSION() { - return this.getToken(SqlBaseParser.DECOMMISSION, 0); - }; - - expr() { - return this.getTypedRuleContext(ExprContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterAlterClusterDecommissionNode(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitAlterClusterDecommissionNode(this); - } - } - - -} - -SqlBaseParser.AlterClusterDecommissionNodeContext = AlterClusterDecommissionNodeContext; - -class AlterClusterRerouteRetryFailedContext extends AlterStmtContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - ALTER() { - return this.getToken(SqlBaseParser.ALTER, 0); - }; - - CLUSTER() { - return this.getToken(SqlBaseParser.CLUSTER, 0); - }; - - REROUTE() { - return this.getToken(SqlBaseParser.REROUTE, 0); - }; - - RETRY() { - return this.getToken(SqlBaseParser.RETRY, 0); - }; - - FAILED() { - return this.getToken(SqlBaseParser.FAILED, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterAlterClusterRerouteRetryFailed(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitAlterClusterRerouteRetryFailed(this); - } - } - - -} - -SqlBaseParser.AlterClusterRerouteRetryFailedContext = AlterClusterRerouteRetryFailedContext; - -class AlterBlobTablePropertiesContext extends AlterStmtContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - ALTER() { - return this.getToken(SqlBaseParser.ALTER, 0); - }; - - BLOB() { - return this.getToken(SqlBaseParser.BLOB, 0); - }; - - TABLE() { - return this.getToken(SqlBaseParser.TABLE, 0); - }; - - alterTableDefinition() { - return this.getTypedRuleContext(AlterTableDefinitionContext,0); - }; - - SET() { - return this.getToken(SqlBaseParser.SET, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - genericProperties() { - return this.getTypedRuleContext(GenericPropertiesContext,0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - RESET() { - return this.getToken(SqlBaseParser.RESET, 0); - }; - - ident = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdentContext); - } else { - return this.getTypedRuleContext(IdentContext,i); - } - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterAlterBlobTableProperties(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitAlterBlobTableProperties(this); - } - } - - -} - -SqlBaseParser.AlterBlobTablePropertiesContext = AlterBlobTablePropertiesContext; - -class AlterTableRerouteContext extends AlterStmtContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - ALTER() { - return this.getToken(SqlBaseParser.ALTER, 0); - }; - - TABLE() { - return this.getToken(SqlBaseParser.TABLE, 0); - }; - - alterTableDefinition() { - return this.getTypedRuleContext(AlterTableDefinitionContext,0); - }; - - REROUTE() { - return this.getToken(SqlBaseParser.REROUTE, 0); - }; - - rerouteOption() { - return this.getTypedRuleContext(RerouteOptionContext,0); - }; - - BLOB() { - return this.getToken(SqlBaseParser.BLOB, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterAlterTableReroute(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitAlterTableReroute(this); - } - } - - -} - -SqlBaseParser.AlterTableRerouteContext = AlterTableRerouteContext; - -class AlterClusterSwapTableContext extends AlterStmtContext { - - constructor(parser, ctx) { - super(parser); - this.source = null;; - this.target = null;; - super.copyFrom(ctx); - } - - ALTER() { - return this.getToken(SqlBaseParser.ALTER, 0); - }; - - CLUSTER() { - return this.getToken(SqlBaseParser.CLUSTER, 0); - }; - - SWAP() { - return this.getToken(SqlBaseParser.SWAP, 0); - }; - - TABLE() { - return this.getToken(SqlBaseParser.TABLE, 0); - }; - - TO() { - return this.getToken(SqlBaseParser.TO, 0); - }; - - qname = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(QnameContext); - } else { - return this.getTypedRuleContext(QnameContext,i); - } - }; - - withProperties() { - return this.getTypedRuleContext(WithPropertiesContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterAlterClusterSwapTable(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitAlterClusterSwapTable(this); - } - } - - -} - -SqlBaseParser.AlterClusterSwapTableContext = AlterClusterSwapTableContext; - -class AlterTableRenameColumnContext extends AlterStmtContext { - - constructor(parser, ctx) { - super(parser); - this.source = null;; - this.target = null;; - super.copyFrom(ctx); - } - - ALTER() { - return this.getToken(SqlBaseParser.ALTER, 0); - }; - - TABLE() { - return this.getToken(SqlBaseParser.TABLE, 0); - }; - - alterTableDefinition() { - return this.getTypedRuleContext(AlterTableDefinitionContext,0); - }; - - RENAME() { - return this.getToken(SqlBaseParser.RENAME, 0); - }; - - TO() { - return this.getToken(SqlBaseParser.TO, 0); - }; - - subscriptSafe = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(SubscriptSafeContext); - } else { - return this.getTypedRuleContext(SubscriptSafeContext,i); - } - }; - - BLOB() { - return this.getToken(SqlBaseParser.BLOB, 0); - }; - - COLUMN() { - return this.getToken(SqlBaseParser.COLUMN, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterAlterTableRenameColumn(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitAlterTableRenameColumn(this); - } - } - - -} - -SqlBaseParser.AlterTableRenameColumnContext = AlterTableRenameColumnContext; - -class AlterSubscriptionContext extends AlterStmtContext { - - constructor(parser, ctx) { - super(parser); - this.name = null;; - super.copyFrom(ctx); - } - - ALTER() { - return this.getToken(SqlBaseParser.ALTER, 0); - }; - - SUBSCRIPTION() { - return this.getToken(SqlBaseParser.SUBSCRIPTION, 0); - }; - - alterSubscriptionMode() { - return this.getTypedRuleContext(AlterSubscriptionModeContext,0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterAlterSubscription(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitAlterSubscription(this); - } - } - - -} - -SqlBaseParser.AlterSubscriptionContext = AlterSubscriptionContext; - -class QueryOptParensContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_queryOptParens; - } - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - query() { - return this.getTypedRuleContext(QueryContext,0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - queryOptParens() { - return this.getTypedRuleContext(QueryOptParensContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterQueryOptParens(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitQueryOptParens(this); - } - } - - -} - - - -class QueryContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_query; - } - - queryNoWith() { - return this.getTypedRuleContext(QueryNoWithContext,0); - }; - - with_() { - return this.getTypedRuleContext(WithContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterQuery(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitQuery(this); - } - } - - -} - - - -class QueryNoWithContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_queryNoWith; - } - - queryTerm() { - return this.getTypedRuleContext(QueryTermContext,0); - }; - - ORDER() { - return this.getToken(SqlBaseParser.ORDER, 0); - }; - - BY() { - return this.getToken(SqlBaseParser.BY, 0); - }; - - sortItem = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(SortItemContext); - } else { - return this.getTypedRuleContext(SortItemContext,i); - } - }; - - limitClause() { - return this.getTypedRuleContext(LimitClauseContext,0); - }; - - offsetClause() { - return this.getTypedRuleContext(OffsetClauseContext,0); - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterQueryNoWith(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitQueryNoWith(this); - } - } - - -} - - - -class LimitClauseContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_limitClause; - this.limit = null; - } - - LIMIT() { - return this.getToken(SqlBaseParser.LIMIT, 0); - }; - - ALL() { - return this.getToken(SqlBaseParser.ALL, 0); - }; - - parameterOrInteger() { - return this.getTypedRuleContext(ParameterOrIntegerContext,0); - }; - - FETCH() { - return this.getToken(SqlBaseParser.FETCH, 0); - }; - - ONLY() { - return this.getToken(SqlBaseParser.ONLY, 0); - }; - - FIRST() { - return this.getToken(SqlBaseParser.FIRST, 0); - }; - - NEXT() { - return this.getToken(SqlBaseParser.NEXT, 0); - }; - - ROW() { - return this.getToken(SqlBaseParser.ROW, 0); - }; - - ROWS() { - return this.getToken(SqlBaseParser.ROWS, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterLimitClause(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitLimitClause(this); - } - } - - -} - - - -class OffsetClauseContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_offsetClause; - this.offset = null; - } - - OFFSET() { - return this.getToken(SqlBaseParser.OFFSET, 0); - }; - - parameterOrInteger() { - return this.getTypedRuleContext(ParameterOrIntegerContext,0); - }; - - ROW() { - return this.getToken(SqlBaseParser.ROW, 0); - }; - - ROWS() { - return this.getToken(SqlBaseParser.ROWS, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterOffsetClause(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitOffsetClause(this); - } - } - - -} - - - -class QueryTermContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_queryTerm; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class QueryTermDefaultContext extends QueryTermContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - querySpec() { - return this.getTypedRuleContext(QuerySpecContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterQueryTermDefault(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitQueryTermDefault(this); - } - } - - -} - -SqlBaseParser.QueryTermDefaultContext = QueryTermDefaultContext; - -class SetOperationContext extends QueryTermContext { - - constructor(parser, ctx) { - super(parser); - this.left = null;; - this.first = null;; - this.operator = null;; - this.second = null;; - this.right = null;; - super.copyFrom(ctx); - } - - querySpec = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(QuerySpecContext); - } else { - return this.getTypedRuleContext(QuerySpecContext,i); - } - }; - - INTERSECT() { - return this.getToken(SqlBaseParser.INTERSECT, 0); - }; - - EXCEPT() { - return this.getToken(SqlBaseParser.EXCEPT, 0); - }; - - queryTerm = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(QueryTermContext); - } else { - return this.getTypedRuleContext(QueryTermContext,i); - } - }; - - UNION() { - return this.getToken(SqlBaseParser.UNION, 0); - }; - - setQuant() { - return this.getTypedRuleContext(SetQuantContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSetOperation(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSetOperation(this); - } - } - - -} - -SqlBaseParser.SetOperationContext = SetOperationContext; - -class SetQuantContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_setQuant; - } - - DISTINCT() { - return this.getToken(SqlBaseParser.DISTINCT, 0); - }; - - ALL() { - return this.getToken(SqlBaseParser.ALL, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSetQuant(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSetQuant(this); - } - } - - -} - - - -class SortItemContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_sortItem; - this.ordering = null; - this.nullOrdering = null; - } - - expr() { - return this.getTypedRuleContext(ExprContext,0); - }; - - NULLS() { - return this.getToken(SqlBaseParser.NULLS, 0); - }; - - ASC() { - return this.getToken(SqlBaseParser.ASC, 0); - }; - - DESC() { - return this.getToken(SqlBaseParser.DESC, 0); - }; - - FIRST() { - return this.getToken(SqlBaseParser.FIRST, 0); - }; - - LAST() { - return this.getToken(SqlBaseParser.LAST, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSortItem(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSortItem(this); - } - } - - -} - - - -class QuerySpecContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_querySpec; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class DefaultQuerySpecContext extends QuerySpecContext { - - constructor(parser, ctx) { - super(parser); - this.having = null;; - this._namedWindow = null;; - this.windows = [];; - super.copyFrom(ctx); - } - - SELECT() { - return this.getToken(SqlBaseParser.SELECT, 0); - }; - - selectItem = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(SelectItemContext); - } else { - return this.getTypedRuleContext(SelectItemContext,i); - } - }; - - setQuant() { - return this.getTypedRuleContext(SetQuantContext,0); - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - FROM() { - return this.getToken(SqlBaseParser.FROM, 0); - }; - - relation = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(RelationContext); - } else { - return this.getTypedRuleContext(RelationContext,i); - } - }; - - where() { - return this.getTypedRuleContext(WhereContext,0); - }; - - GROUP() { - return this.getToken(SqlBaseParser.GROUP, 0); - }; - - BY() { - return this.getToken(SqlBaseParser.BY, 0); - }; - - expr = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExprContext); - } else { - return this.getTypedRuleContext(ExprContext,i); - } - }; - - HAVING() { - return this.getToken(SqlBaseParser.HAVING, 0); - }; - - WINDOW() { - return this.getToken(SqlBaseParser.WINDOW, 0); - }; - - booleanExpression() { - return this.getTypedRuleContext(BooleanExpressionContext,0); - }; - - namedWindow = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(NamedWindowContext); - } else { - return this.getTypedRuleContext(NamedWindowContext,i); - } - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDefaultQuerySpec(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDefaultQuerySpec(this); - } - } - - -} - -SqlBaseParser.DefaultQuerySpecContext = DefaultQuerySpecContext; - -class ValuesRelationContext extends QuerySpecContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - VALUES() { - return this.getToken(SqlBaseParser.VALUES, 0); - }; - - values = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ValuesContext); - } else { - return this.getTypedRuleContext(ValuesContext,i); - } - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterValuesRelation(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitValuesRelation(this); - } - } - - -} - -SqlBaseParser.ValuesRelationContext = ValuesRelationContext; - -class SelectItemContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_selectItem; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class SelectAllContext extends SelectItemContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - qname() { - return this.getTypedRuleContext(QnameContext,0); - }; - - DOT() { - return this.getToken(SqlBaseParser.DOT, 0); - }; - - ASTERISK() { - return this.getToken(SqlBaseParser.ASTERISK, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSelectAll(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSelectAll(this); - } - } - - -} - -SqlBaseParser.SelectAllContext = SelectAllContext; - -class SelectSingleContext extends SelectItemContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - expr() { - return this.getTypedRuleContext(ExprContext,0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - AS() { - return this.getToken(SqlBaseParser.AS, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSelectSingle(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSelectSingle(this); - } - } - - -} - -SqlBaseParser.SelectSingleContext = SelectSingleContext; - -class WhereContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_where; - this.condition = null; - } - - WHERE() { - return this.getToken(SqlBaseParser.WHERE, 0); - }; - - booleanExpression() { - return this.getTypedRuleContext(BooleanExpressionContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterWhere(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitWhere(this); - } - } - - -} - - - -class ReturningContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_returning; - } - - RETURNING() { - return this.getToken(SqlBaseParser.RETURNING, 0); - }; - - selectItem = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(SelectItemContext); - } else { - return this.getTypedRuleContext(SelectItemContext,i); - } - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterReturning(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitReturning(this); - } - } - - -} - - - -class FilterContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_filter; - } - - FILTER() { - return this.getToken(SqlBaseParser.FILTER, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - where() { - return this.getTypedRuleContext(WhereContext,0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterFilter(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitFilter(this); - } - } - - -} - - - -class RelationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_relation; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class RelationDefaultContext extends RelationContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - aliasedRelation() { - return this.getTypedRuleContext(AliasedRelationContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterRelationDefault(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitRelationDefault(this); - } - } - - -} - -SqlBaseParser.RelationDefaultContext = RelationDefaultContext; - -class JoinRelationContext extends RelationContext { - - constructor(parser, ctx) { - super(parser); - this.left = null;; - this.right = null;; - this.rightRelation = null;; - super.copyFrom(ctx); - } - - relation = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(RelationContext); - } else { - return this.getTypedRuleContext(RelationContext,i); - } - }; - - CROSS() { - return this.getToken(SqlBaseParser.CROSS, 0); - }; - - JOIN() { - return this.getToken(SqlBaseParser.JOIN, 0); - }; - - joinType() { - return this.getTypedRuleContext(JoinTypeContext,0); - }; - - joinCriteria() { - return this.getTypedRuleContext(JoinCriteriaContext,0); - }; - - NATURAL() { - return this.getToken(SqlBaseParser.NATURAL, 0); - }; - - aliasedRelation() { - return this.getTypedRuleContext(AliasedRelationContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterJoinRelation(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitJoinRelation(this); - } - } - - -} - -SqlBaseParser.JoinRelationContext = JoinRelationContext; - -class JoinTypeContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_joinType; - } - - INNER() { - return this.getToken(SqlBaseParser.INNER, 0); - }; - - LEFT() { - return this.getToken(SqlBaseParser.LEFT, 0); - }; - - OUTER() { - return this.getToken(SqlBaseParser.OUTER, 0); - }; - - RIGHT() { - return this.getToken(SqlBaseParser.RIGHT, 0); - }; - - FULL() { - return this.getToken(SqlBaseParser.FULL, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterJoinType(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitJoinType(this); - } - } - - -} - - - -class JoinCriteriaContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_joinCriteria; - } - - ON() { - return this.getToken(SqlBaseParser.ON, 0); - }; - - booleanExpression() { - return this.getTypedRuleContext(BooleanExpressionContext,0); - }; - - USING() { - return this.getToken(SqlBaseParser.USING, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - ident = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdentContext); - } else { - return this.getTypedRuleContext(IdentContext,i); - } - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterJoinCriteria(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitJoinCriteria(this); - } - } - - -} - - - -class AliasedRelationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_aliasedRelation; - } - - relationPrimary() { - return this.getTypedRuleContext(RelationPrimaryContext,0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - AS() { - return this.getToken(SqlBaseParser.AS, 0); - }; - - aliasedColumns() { - return this.getTypedRuleContext(AliasedColumnsContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterAliasedRelation(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitAliasedRelation(this); - } - } - - -} - - - -class RelationPrimaryContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_relationPrimary; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class SubqueryRelationContext extends RelationPrimaryContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - query() { - return this.getTypedRuleContext(QueryContext,0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSubqueryRelation(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSubqueryRelation(this); - } - } - - -} - -SqlBaseParser.SubqueryRelationContext = SubqueryRelationContext; - -class ParenthesizedRelationContext extends RelationPrimaryContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - relation() { - return this.getTypedRuleContext(RelationContext,0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterParenthesizedRelation(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitParenthesizedRelation(this); - } - } - - -} - -SqlBaseParser.ParenthesizedRelationContext = ParenthesizedRelationContext; - -class TableRelationContext extends RelationPrimaryContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - table() { - return this.getTypedRuleContext(TableContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterTableRelation(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitTableRelation(this); - } - } - - -} - -SqlBaseParser.TableRelationContext = TableRelationContext; - -class TableWithPartitionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_tableWithPartition; - } - - qname() { - return this.getTypedRuleContext(QnameContext,0); - }; - - PARTITION() { - return this.getToken(SqlBaseParser.PARTITION, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - assignment = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(AssignmentContext); - } else { - return this.getTypedRuleContext(AssignmentContext,i); - } - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterTableWithPartition(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitTableWithPartition(this); - } - } - - -} - - - -class TableContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_table; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class TableFunctionContext extends TableContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - qname() { - return this.getTypedRuleContext(QnameContext,0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - valueExpression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ValueExpressionContext); - } else { - return this.getTypedRuleContext(ValueExpressionContext,i); - } - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterTableFunction(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitTableFunction(this); - } - } - - -} - -SqlBaseParser.TableFunctionContext = TableFunctionContext; - -class TableNameContext extends TableContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - qname() { - return this.getTypedRuleContext(QnameContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterTableName(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitTableName(this); - } - } - - -} - -SqlBaseParser.TableNameContext = TableNameContext; - -class AliasedColumnsContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_aliasedColumns; - } - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - ident = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdentContext); - } else { - return this.getTypedRuleContext(IdentContext,i); - } - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterAliasedColumns(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitAliasedColumns(this); - } - } - - -} - - - -class WithContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_with; - } - - WITH() { - return this.getToken(SqlBaseParser.WITH, 0); - }; - - namedQuery = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(NamedQueryContext); - } else { - return this.getTypedRuleContext(NamedQueryContext,i); - } - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterWith(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitWith(this); - } - } - - -} - - - -class NamedQueryContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_namedQuery; - this.name = null; - } - - AS() { - return this.getToken(SqlBaseParser.AS, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - query() { - return this.getTypedRuleContext(QueryContext,0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - aliasedColumns() { - return this.getTypedRuleContext(AliasedColumnsContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterNamedQuery(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitNamedQuery(this); - } - } - - -} - - - -class ExprContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_expr; - } - - booleanExpression() { - return this.getTypedRuleContext(BooleanExpressionContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterExpr(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitExpr(this); - } - } - - -} - - - -class BooleanExpressionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_booleanExpression; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class LogicalNotContext extends BooleanExpressionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - NOT() { - return this.getToken(SqlBaseParser.NOT, 0); - }; - - booleanExpression() { - return this.getTypedRuleContext(BooleanExpressionContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterLogicalNot(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitLogicalNot(this); - } - } - - -} - -SqlBaseParser.LogicalNotContext = LogicalNotContext; - -class BooleanDefaultContext extends BooleanExpressionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - predicated() { - return this.getTypedRuleContext(PredicatedContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterBooleanDefault(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitBooleanDefault(this); - } - } - - -} - -SqlBaseParser.BooleanDefaultContext = BooleanDefaultContext; - -class MatchContext extends BooleanExpressionContext { - - constructor(parser, ctx) { - super(parser); - this.term = null;; - this.matchType = null;; - super.copyFrom(ctx); - } - - MATCH() { - return this.getToken(SqlBaseParser.MATCH, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - matchPredicateIdents() { - return this.getTypedRuleContext(MatchPredicateIdentsContext,0); - }; - - COMMA() { - return this.getToken(SqlBaseParser.COMMA, 0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - primaryExpression() { - return this.getTypedRuleContext(PrimaryExpressionContext,0); - }; - - USING() { - return this.getToken(SqlBaseParser.USING, 0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - withProperties() { - return this.getTypedRuleContext(WithPropertiesContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterMatch(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitMatch(this); - } - } - - -} - -SqlBaseParser.MatchContext = MatchContext; - -class LogicalBinaryContext extends BooleanExpressionContext { - - constructor(parser, ctx) { - super(parser); - this.left = null;; - this.operator = null;; - this.right = null;; - super.copyFrom(ctx); - } - - booleanExpression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(BooleanExpressionContext); - } else { - return this.getTypedRuleContext(BooleanExpressionContext,i); - } - }; - - AND() { - return this.getToken(SqlBaseParser.AND, 0); - }; - - OR() { - return this.getToken(SqlBaseParser.OR, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterLogicalBinary(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitLogicalBinary(this); - } - } - - -} - -SqlBaseParser.LogicalBinaryContext = LogicalBinaryContext; - -class PredicatedContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_predicated; - this._valueExpression = null; - } - - valueExpression() { - return this.getTypedRuleContext(ValueExpressionContext,0); - }; - - predicate() { - return this.getTypedRuleContext(PredicateContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterPredicated(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitPredicated(this); - } - } - - -} - - - -class PredicateContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState, value) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_predicate; - this.value = null - this.value = value || null; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - this.value = ctx.value; - } - -} - - -class ComparisonContext extends PredicateContext { - - constructor(parser, ctx) { - super(parser); - this.right = null;; - super.copyFrom(ctx); - } - - cmpOp() { - return this.getTypedRuleContext(CmpOpContext,0); - }; - - valueExpression() { - return this.getTypedRuleContext(ValueExpressionContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterComparison(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitComparison(this); - } - } - - -} - -SqlBaseParser.ComparisonContext = ComparisonContext; - -class LikeContext extends PredicateContext { - - constructor(parser, ctx) { - super(parser); - this.pattern = null;; - this.escape = null;; - super.copyFrom(ctx); - } - - LIKE() { - return this.getToken(SqlBaseParser.LIKE, 0); - }; - - ILIKE() { - return this.getToken(SqlBaseParser.ILIKE, 0); - }; - - valueExpression() { - return this.getTypedRuleContext(ValueExpressionContext,0); - }; - - NOT() { - return this.getToken(SqlBaseParser.NOT, 0); - }; - - ESCAPE() { - return this.getToken(SqlBaseParser.ESCAPE, 0); - }; - - parameterOrLiteral() { - return this.getTypedRuleContext(ParameterOrLiteralContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterLike(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitLike(this); - } - } - - -} - -SqlBaseParser.LikeContext = LikeContext; - -class InSubqueryContext extends PredicateContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - IN() { - return this.getToken(SqlBaseParser.IN, 0); - }; - - subqueryExpression() { - return this.getTypedRuleContext(SubqueryExpressionContext,0); - }; - - NOT() { - return this.getToken(SqlBaseParser.NOT, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterInSubquery(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitInSubquery(this); - } - } - - -} - -SqlBaseParser.InSubqueryContext = InSubqueryContext; - -class DistinctFromContext extends PredicateContext { - - constructor(parser, ctx) { - super(parser); - this.right = null;; - super.copyFrom(ctx); - } - - IS() { - return this.getToken(SqlBaseParser.IS, 0); - }; - - DISTINCT() { - return this.getToken(SqlBaseParser.DISTINCT, 0); - }; - - FROM() { - return this.getToken(SqlBaseParser.FROM, 0); - }; - - valueExpression() { - return this.getTypedRuleContext(ValueExpressionContext,0); - }; - - NOT() { - return this.getToken(SqlBaseParser.NOT, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDistinctFrom(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDistinctFrom(this); - } - } - - -} - -SqlBaseParser.DistinctFromContext = DistinctFromContext; - -class InListContext extends PredicateContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - IN() { - return this.getToken(SqlBaseParser.IN, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - expr = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExprContext); - } else { - return this.getTypedRuleContext(ExprContext,i); - } - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - NOT() { - return this.getToken(SqlBaseParser.NOT, 0); - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterInList(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitInList(this); - } - } - - -} - -SqlBaseParser.InListContext = InListContext; - -class ArrayLikeContext extends PredicateContext { - - constructor(parser, ctx) { - super(parser); - this.quant = null;; - this.v = null;; - this.escape = null;; - super.copyFrom(ctx); - } - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - LIKE() { - return this.getToken(SqlBaseParser.LIKE, 0); - }; - - ILIKE() { - return this.getToken(SqlBaseParser.ILIKE, 0); - }; - - setCmpQuantifier() { - return this.getTypedRuleContext(SetCmpQuantifierContext,0); - }; - - valueExpression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ValueExpressionContext); - } else { - return this.getTypedRuleContext(ValueExpressionContext,i); - } - }; - - NOT() { - return this.getToken(SqlBaseParser.NOT, 0); - }; - - ESCAPE() { - return this.getToken(SqlBaseParser.ESCAPE, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterArrayLike(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitArrayLike(this); - } - } - - -} - -SqlBaseParser.ArrayLikeContext = ArrayLikeContext; - -class NullPredicateContext extends PredicateContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - IS() { - return this.getToken(SqlBaseParser.IS, 0); - }; - - NULL() { - return this.getToken(SqlBaseParser.NULL, 0); - }; - - NOT() { - return this.getToken(SqlBaseParser.NOT, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterNullPredicate(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitNullPredicate(this); - } - } - - -} - -SqlBaseParser.NullPredicateContext = NullPredicateContext; - -class BetweenContext extends PredicateContext { - - constructor(parser, ctx) { - super(parser); - this.lower = null;; - this.upper = null;; - super.copyFrom(ctx); - } - - BETWEEN() { - return this.getToken(SqlBaseParser.BETWEEN, 0); - }; - - AND() { - return this.getToken(SqlBaseParser.AND, 0); - }; - - valueExpression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ValueExpressionContext); - } else { - return this.getTypedRuleContext(ValueExpressionContext,i); - } - }; - - NOT() { - return this.getToken(SqlBaseParser.NOT, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterBetween(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitBetween(this); - } - } - - -} - -SqlBaseParser.BetweenContext = BetweenContext; - -class QuantifiedComparisonContext extends PredicateContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - cmpOp() { - return this.getTypedRuleContext(CmpOpContext,0); - }; - - setCmpQuantifier() { - return this.getTypedRuleContext(SetCmpQuantifierContext,0); - }; - - primaryExpression() { - return this.getTypedRuleContext(PrimaryExpressionContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterQuantifiedComparison(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitQuantifiedComparison(this); - } - } - - -} - -SqlBaseParser.QuantifiedComparisonContext = QuantifiedComparisonContext; - -class ValueExpressionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_valueExpression; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class BitwiseBinaryContext extends ValueExpressionContext { - - constructor(parser, ctx) { - super(parser); - this.left = null;; - this.operator = null;; - this.right = null;; - super.copyFrom(ctx); - } - - valueExpression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ValueExpressionContext); - } else { - return this.getTypedRuleContext(ValueExpressionContext,i); - } - }; - - BITWISE_AND() { - return this.getToken(SqlBaseParser.BITWISE_AND, 0); - }; - - BITWISE_OR() { - return this.getToken(SqlBaseParser.BITWISE_OR, 0); - }; - - BITWISE_XOR() { - return this.getToken(SqlBaseParser.BITWISE_XOR, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterBitwiseBinary(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitBitwiseBinary(this); - } - } - - -} - -SqlBaseParser.BitwiseBinaryContext = BitwiseBinaryContext; - -class ValueExpressionDefaultContext extends ValueExpressionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - primaryExpression() { - return this.getTypedRuleContext(PrimaryExpressionContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterValueExpressionDefault(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitValueExpressionDefault(this); - } - } - - -} - -SqlBaseParser.ValueExpressionDefaultContext = ValueExpressionDefaultContext; - -class ConcatenationContext extends ValueExpressionContext { - - constructor(parser, ctx) { - super(parser); - this.left = null;; - this.right = null;; - super.copyFrom(ctx); - } - - CONCAT() { - return this.getToken(SqlBaseParser.CONCAT, 0); - }; - - valueExpression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ValueExpressionContext); - } else { - return this.getTypedRuleContext(ValueExpressionContext,i); - } - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterConcatenation(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitConcatenation(this); - } - } - - -} - -SqlBaseParser.ConcatenationContext = ConcatenationContext; - -class FromStringLiteralCastContext extends ValueExpressionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - dataType() { - return this.getTypedRuleContext(DataTypeContext,0); - }; - - stringLiteral() { - return this.getTypedRuleContext(StringLiteralContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterFromStringLiteralCast(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitFromStringLiteralCast(this); - } - } - - -} - -SqlBaseParser.FromStringLiteralCastContext = FromStringLiteralCastContext; - -class ArithmeticBinaryContext extends ValueExpressionContext { - - constructor(parser, ctx) { - super(parser); - this.left = null;; - this.operator = null;; - this.right = null;; - super.copyFrom(ctx); - } - - valueExpression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ValueExpressionContext); - } else { - return this.getTypedRuleContext(ValueExpressionContext,i); - } - }; - - CARET() { - return this.getToken(SqlBaseParser.CARET, 0); - }; - - ASTERISK() { - return this.getToken(SqlBaseParser.ASTERISK, 0); - }; - - SLASH() { - return this.getToken(SqlBaseParser.SLASH, 0); - }; - - PERCENT() { - return this.getToken(SqlBaseParser.PERCENT, 0); - }; - - PLUS() { - return this.getToken(SqlBaseParser.PLUS, 0); - }; - - MINUS() { - return this.getToken(SqlBaseParser.MINUS, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterArithmeticBinary(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitArithmeticBinary(this); - } - } - - -} - -SqlBaseParser.ArithmeticBinaryContext = ArithmeticBinaryContext; - -class ArithmeticUnaryContext extends ValueExpressionContext { - - constructor(parser, ctx) { - super(parser); - this.operator = null;; - super.copyFrom(ctx); - } - - valueExpression() { - return this.getTypedRuleContext(ValueExpressionContext,0); - }; - - MINUS() { - return this.getToken(SqlBaseParser.MINUS, 0); - }; - - PLUS() { - return this.getToken(SqlBaseParser.PLUS, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterArithmeticUnary(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitArithmeticUnary(this); - } - } - - -} - -SqlBaseParser.ArithmeticUnaryContext = ArithmeticUnaryContext; - -class PrimaryExpressionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_primaryExpression; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class SubqueryExpressionDefaultContext extends PrimaryExpressionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - subqueryExpression() { - return this.getTypedRuleContext(SubqueryExpressionContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSubqueryExpressionDefault(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSubqueryExpressionDefault(this); - } - } - - -} - -SqlBaseParser.SubqueryExpressionDefaultContext = SubqueryExpressionDefaultContext; - -class DereferenceContext extends PrimaryExpressionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - ident = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdentContext); - } else { - return this.getTypedRuleContext(IdentContext,i); - } - }; - - DOT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.DOT); - } else { - return this.getToken(SqlBaseParser.DOT, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDereference(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDereference(this); - } - } - - -} - -SqlBaseParser.DereferenceContext = DereferenceContext; - -class ColumnReferenceContext extends PrimaryExpressionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterColumnReference(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitColumnReference(this); - } - } - - -} - -SqlBaseParser.ColumnReferenceContext = ColumnReferenceContext; - -class AtTimezoneContext extends PrimaryExpressionContext { - - constructor(parser, ctx) { - super(parser); - this.timestamp = null;; - this.zone = null;; - super.copyFrom(ctx); - } - - AT() { - return this.getToken(SqlBaseParser.AT, 0); - }; - - TIME() { - return this.getToken(SqlBaseParser.TIME, 0); - }; - - ZONE() { - return this.getToken(SqlBaseParser.ZONE, 0); - }; - - primaryExpression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(PrimaryExpressionContext); - } else { - return this.getTypedRuleContext(PrimaryExpressionContext,i); - } - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterAtTimezone(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitAtTimezone(this); - } - } - - -} - -SqlBaseParser.AtTimezoneContext = AtTimezoneContext; - -class SubscriptContext extends PrimaryExpressionContext { - - constructor(parser, ctx) { - super(parser); - this.value = null;; - this.index = null;; - super.copyFrom(ctx); - } - - OPEN_SQUARE_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_SQUARE_BRACKET, 0); - }; - - CLOSE_SQUARE_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_SQUARE_BRACKET, 0); - }; - - primaryExpression() { - return this.getTypedRuleContext(PrimaryExpressionContext,0); - }; - - valueExpression() { - return this.getTypedRuleContext(ValueExpressionContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSubscript(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSubscript(this); - } - } - - -} - -SqlBaseParser.SubscriptContext = SubscriptContext; - -class RecordSubscriptContext extends PrimaryExpressionContext { - - constructor(parser, ctx) { - super(parser); - this.base = null;; - this.fieldName = null;; - super.copyFrom(ctx); - } - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - DOT() { - return this.getToken(SqlBaseParser.DOT, 0); - }; - - primaryExpression() { - return this.getTypedRuleContext(PrimaryExpressionContext,0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterRecordSubscript(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitRecordSubscript(this); - } - } - - -} - -SqlBaseParser.RecordSubscriptContext = RecordSubscriptContext; - -class ExplicitFunctionDefaultContext extends PrimaryExpressionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - explicitFunction() { - return this.getTypedRuleContext(ExplicitFunctionContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterExplicitFunctionDefault(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitExplicitFunctionDefault(this); - } - } - - -} - -SqlBaseParser.ExplicitFunctionDefaultContext = ExplicitFunctionDefaultContext; - -class DoubleColonCastContext extends PrimaryExpressionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - primaryExpression() { - return this.getTypedRuleContext(PrimaryExpressionContext,0); - }; - - CAST_OPERATOR() { - return this.getToken(SqlBaseParser.CAST_OPERATOR, 0); - }; - - dataType() { - return this.getTypedRuleContext(DataTypeContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDoubleColonCast(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDoubleColonCast(this); - } - } - - -} - -SqlBaseParser.DoubleColonCastContext = DoubleColonCastContext; - -class DefaultParamOrLiteralContext extends PrimaryExpressionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - parameterOrLiteral() { - return this.getTypedRuleContext(ParameterOrLiteralContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDefaultParamOrLiteral(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDefaultParamOrLiteral(this); - } - } - - -} - -SqlBaseParser.DefaultParamOrLiteralContext = DefaultParamOrLiteralContext; - -class FunctionCallContext extends PrimaryExpressionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - qname() { - return this.getTypedRuleContext(QnameContext,0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - ASTERISK() { - return this.getToken(SqlBaseParser.ASTERISK, 0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - filter() { - return this.getTypedRuleContext(FilterContext,0); - }; - - over() { - return this.getTypedRuleContext(OverContext,0); - }; - - expr = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExprContext); - } else { - return this.getTypedRuleContext(ExprContext,i); - } - }; - - NULLS() { - return this.getToken(SqlBaseParser.NULLS, 0); - }; - - IGNORE() { - return this.getToken(SqlBaseParser.IGNORE, 0); - }; - - RESPECT() { - return this.getToken(SqlBaseParser.RESPECT, 0); - }; - - setQuant() { - return this.getTypedRuleContext(SetQuantContext,0); - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterFunctionCall(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitFunctionCall(this); - } - } - - -} - -SqlBaseParser.FunctionCallContext = FunctionCallContext; - -class NestedExpressionContext extends PrimaryExpressionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - expr() { - return this.getTypedRuleContext(ExprContext,0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterNestedExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitNestedExpression(this); - } - } - - -} - -SqlBaseParser.NestedExpressionContext = NestedExpressionContext; - -class ArraySliceContext extends PrimaryExpressionContext { - - constructor(parser, ctx) { - super(parser); - this.base = null;; - this.from = null;; - this.to = null;; - super.copyFrom(ctx); - } - - OPEN_SQUARE_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_SQUARE_BRACKET, 0); - }; - - COLON() { - return this.getToken(SqlBaseParser.COLON, 0); - }; - - CLOSE_SQUARE_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_SQUARE_BRACKET, 0); - }; - - primaryExpression() { - return this.getTypedRuleContext(PrimaryExpressionContext,0); - }; - - valueExpression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ValueExpressionContext); - } else { - return this.getTypedRuleContext(ValueExpressionContext,i); - } - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterArraySlice(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitArraySlice(this); - } - } - - -} - -SqlBaseParser.ArraySliceContext = ArraySliceContext; - -class ExistsContext extends PrimaryExpressionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - EXISTS() { - return this.getToken(SqlBaseParser.EXISTS, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - query() { - return this.getTypedRuleContext(QueryContext,0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterExists(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitExists(this); - } - } - - -} - -SqlBaseParser.ExistsContext = ExistsContext; - -class EmptyArrayContext extends PrimaryExpressionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - EMPTY_SQUARE_BRACKET() { - return this.getToken(SqlBaseParser.EMPTY_SQUARE_BRACKET, 0); - }; - - ARRAY() { - return this.getToken(SqlBaseParser.ARRAY, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterEmptyArray(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitEmptyArray(this); - } - } - - -} - -SqlBaseParser.EmptyArrayContext = EmptyArrayContext; - -class ExplicitFunctionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_explicitFunction; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class SimpleCaseContext extends ExplicitFunctionContext { - - constructor(parser, ctx) { - super(parser); - this.operand = null;; - this.elseExpr = null;; - super.copyFrom(ctx); - } - - CASE() { - return this.getToken(SqlBaseParser.CASE, 0); - }; - - END() { - return this.getToken(SqlBaseParser.END, 0); - }; - - expr = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExprContext); - } else { - return this.getTypedRuleContext(ExprContext,i); - } - }; - - whenClause = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(WhenClauseContext); - } else { - return this.getTypedRuleContext(WhenClauseContext,i); - } - }; - - ELSE() { - return this.getToken(SqlBaseParser.ELSE, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSimpleCase(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSimpleCase(this); - } - } - - -} - -SqlBaseParser.SimpleCaseContext = SimpleCaseContext; - -class IfCaseContext extends ExplicitFunctionContext { - - constructor(parser, ctx) { - super(parser); - this.condition = null;; - this.trueValue = null;; - this.falseValue = null;; - super.copyFrom(ctx); - } - - IF() { - return this.getToken(SqlBaseParser.IF, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - expr = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExprContext); - } else { - return this.getTypedRuleContext(ExprContext,i); - } - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterIfCase(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitIfCase(this); - } - } - - -} - -SqlBaseParser.IfCaseContext = IfCaseContext; - -class SpecialDateTimeFunctionContext extends ExplicitFunctionContext { - - constructor(parser, ctx) { - super(parser); - this.name = null;; - this.precision = null;; - super.copyFrom(ctx); - } - - CURRENT_DATE() { - return this.getToken(SqlBaseParser.CURRENT_DATE, 0); - }; - - CURRENT_TIME() { - return this.getToken(SqlBaseParser.CURRENT_TIME, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - integerLiteral() { - return this.getTypedRuleContext(IntegerLiteralContext,0); - }; - - CURRENT_TIMESTAMP() { - return this.getToken(SqlBaseParser.CURRENT_TIMESTAMP, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSpecialDateTimeFunction(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSpecialDateTimeFunction(this); - } - } - - -} - -SqlBaseParser.SpecialDateTimeFunctionContext = SpecialDateTimeFunctionContext; - -class SessionUserContext extends ExplicitFunctionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - SESSION_USER() { - return this.getToken(SqlBaseParser.SESSION_USER, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSessionUser(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSessionUser(this); - } - } - - -} - -SqlBaseParser.SessionUserContext = SessionUserContext; - -class ArraySubqueryContext extends ExplicitFunctionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - ARRAY() { - return this.getToken(SqlBaseParser.ARRAY, 0); - }; - - subqueryExpression() { - return this.getTypedRuleContext(SubqueryExpressionContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterArraySubquery(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitArraySubquery(this); - } - } - - -} - -SqlBaseParser.ArraySubqueryContext = ArraySubqueryContext; - -class RightContext extends ExplicitFunctionContext { - - constructor(parser, ctx) { - super(parser); - this.strOrColName = null;; - this.len = null;; - super.copyFrom(ctx); - } - - RIGHT() { - return this.getToken(SqlBaseParser.RIGHT, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - COMMA() { - return this.getToken(SqlBaseParser.COMMA, 0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - expr = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExprContext); - } else { - return this.getTypedRuleContext(ExprContext,i); - } - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterRight(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitRight(this); - } - } - - -} - -SqlBaseParser.RightContext = RightContext; - -class SubstringContext extends ExplicitFunctionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - SUBSTRING() { - return this.getToken(SqlBaseParser.SUBSTRING, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - expr = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExprContext); - } else { - return this.getTypedRuleContext(ExprContext,i); - } - }; - - FROM() { - return this.getToken(SqlBaseParser.FROM, 0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - FOR() { - return this.getToken(SqlBaseParser.FOR, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSubstring(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSubstring(this); - } - } - - -} - -SqlBaseParser.SubstringContext = SubstringContext; - -class CastContext extends ExplicitFunctionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - CAST() { - return this.getToken(SqlBaseParser.CAST, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - expr() { - return this.getTypedRuleContext(ExprContext,0); - }; - - AS() { - return this.getToken(SqlBaseParser.AS, 0); - }; - - dataType() { - return this.getTypedRuleContext(DataTypeContext,0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - TRY_CAST() { - return this.getToken(SqlBaseParser.TRY_CAST, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterCast(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitCast(this); - } - } - - -} - -SqlBaseParser.CastContext = CastContext; - -class CurrentUserContext extends ExplicitFunctionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - CURRENT_USER() { - return this.getToken(SqlBaseParser.CURRENT_USER, 0); - }; - - CURRENT_ROLE() { - return this.getToken(SqlBaseParser.CURRENT_ROLE, 0); - }; - - USER() { - return this.getToken(SqlBaseParser.USER, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterCurrentUser(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitCurrentUser(this); - } - } - - -} - -SqlBaseParser.CurrentUserContext = CurrentUserContext; - -class ExtractContext extends ExplicitFunctionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - EXTRACT() { - return this.getToken(SqlBaseParser.EXTRACT, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - stringLiteralOrIdentifier() { - return this.getTypedRuleContext(StringLiteralOrIdentifierContext,0); - }; - - FROM() { - return this.getToken(SqlBaseParser.FROM, 0); - }; - - expr() { - return this.getTypedRuleContext(ExprContext,0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterExtract(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitExtract(this); - } - } - - -} - -SqlBaseParser.ExtractContext = ExtractContext; - -class TrimContext extends ExplicitFunctionContext { - - constructor(parser, ctx) { - super(parser); - this.trimMode = null;; - this.charsToTrim = null;; - this.target = null;; - super.copyFrom(ctx); - } - - TRIM() { - return this.getToken(SqlBaseParser.TRIM, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - expr = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExprContext); - } else { - return this.getTypedRuleContext(ExprContext,i); - } - }; - - FROM() { - return this.getToken(SqlBaseParser.FROM, 0); - }; - - LEADING() { - return this.getToken(SqlBaseParser.LEADING, 0); - }; - - TRAILING() { - return this.getToken(SqlBaseParser.TRAILING, 0); - }; - - BOTH() { - return this.getToken(SqlBaseParser.BOTH, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterTrim(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitTrim(this); - } - } - - -} - -SqlBaseParser.TrimContext = TrimContext; - -class LeftContext extends ExplicitFunctionContext { - - constructor(parser, ctx) { - super(parser); - this.strOrColName = null;; - this.len = null;; - super.copyFrom(ctx); - } - - LEFT() { - return this.getToken(SqlBaseParser.LEFT, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - COMMA() { - return this.getToken(SqlBaseParser.COMMA, 0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - expr = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExprContext); - } else { - return this.getTypedRuleContext(ExprContext,i); - } - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterLeft(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitLeft(this); - } - } - - -} - -SqlBaseParser.LeftContext = LeftContext; - -class CurrentSchemaContext extends ExplicitFunctionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - CURRENT_SCHEMA() { - return this.getToken(SqlBaseParser.CURRENT_SCHEMA, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterCurrentSchema(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitCurrentSchema(this); - } - } - - -} - -SqlBaseParser.CurrentSchemaContext = CurrentSchemaContext; - -class SearchedCaseContext extends ExplicitFunctionContext { - - constructor(parser, ctx) { - super(parser); - this.elseExpr = null;; - super.copyFrom(ctx); - } - - CASE() { - return this.getToken(SqlBaseParser.CASE, 0); - }; - - END() { - return this.getToken(SqlBaseParser.END, 0); - }; - - whenClause = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(WhenClauseContext); - } else { - return this.getTypedRuleContext(WhenClauseContext,i); - } - }; - - ELSE() { - return this.getToken(SqlBaseParser.ELSE, 0); - }; - - expr() { - return this.getTypedRuleContext(ExprContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSearchedCase(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSearchedCase(this); - } - } - - -} - -SqlBaseParser.SearchedCaseContext = SearchedCaseContext; - -class SubqueryExpressionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_subqueryExpression; - } - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - query() { - return this.getTypedRuleContext(QueryContext,0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSubqueryExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSubqueryExpression(this); - } - } - - -} - - - -class ParameterOrLiteralContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_parameterOrLiteral; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class ObjectLiteralContext extends ParameterOrLiteralContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - OPEN_CURLY_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_CURLY_BRACKET, 0); - }; - - CLOSE_CURLY_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_CURLY_BRACKET, 0); - }; - - objectKeyValue = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ObjectKeyValueContext); - } else { - return this.getTypedRuleContext(ObjectKeyValueContext,i); - } - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterObjectLiteral(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitObjectLiteral(this); - } - } - - -} - -SqlBaseParser.ObjectLiteralContext = ObjectLiteralContext; - -class SimpleLiteralContext extends ParameterOrLiteralContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - parameterOrSimpleLiteral() { - return this.getTypedRuleContext(ParameterOrSimpleLiteralContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSimpleLiteral(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSimpleLiteral(this); - } - } - - -} - -SqlBaseParser.SimpleLiteralContext = SimpleLiteralContext; - -class ArrayLiteralContext extends ParameterOrLiteralContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - OPEN_SQUARE_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_SQUARE_BRACKET, 0); - }; - - CLOSE_SQUARE_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_SQUARE_BRACKET, 0); - }; - - ARRAY() { - return this.getToken(SqlBaseParser.ARRAY, 0); - }; - - expr = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExprContext); - } else { - return this.getTypedRuleContext(ExprContext,i); - } - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterArrayLiteral(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitArrayLiteral(this); - } - } - - -} - -SqlBaseParser.ArrayLiteralContext = ArrayLiteralContext; - -class ParameterOrSimpleLiteralContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_parameterOrSimpleLiteral; - } - - nullLiteral() { - return this.getTypedRuleContext(NullLiteralContext,0); - }; - - intervalLiteral() { - return this.getTypedRuleContext(IntervalLiteralContext,0); - }; - - escapedCharsStringLiteral() { - return this.getTypedRuleContext(EscapedCharsStringLiteralContext,0); - }; - - stringLiteral() { - return this.getTypedRuleContext(StringLiteralContext,0); - }; - - numericLiteral() { - return this.getTypedRuleContext(NumericLiteralContext,0); - }; - - booleanLiteral() { - return this.getTypedRuleContext(BooleanLiteralContext,0); - }; - - bitString() { - return this.getTypedRuleContext(BitStringContext,0); - }; - - parameterExpr() { - return this.getTypedRuleContext(ParameterExprContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterParameterOrSimpleLiteral(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitParameterOrSimpleLiteral(this); - } - } - - -} - - - -class ParameterOrIntegerContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_parameterOrInteger; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class IntegerParamOrLiteralCastContext extends ParameterOrIntegerContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - CAST() { - return this.getToken(SqlBaseParser.CAST, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - expr() { - return this.getTypedRuleContext(ExprContext,0); - }; - - AS() { - return this.getToken(SqlBaseParser.AS, 0); - }; - - dataType() { - return this.getTypedRuleContext(DataTypeContext,0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - TRY_CAST() { - return this.getToken(SqlBaseParser.TRY_CAST, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterIntegerParamOrLiteralCast(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitIntegerParamOrLiteralCast(this); - } - } - - -} - -SqlBaseParser.IntegerParamOrLiteralCastContext = IntegerParamOrLiteralCastContext; - -class IntegerParamOrLiteralDoubleColonCastContext extends ParameterOrIntegerContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - parameterOrLiteral() { - return this.getTypedRuleContext(ParameterOrLiteralContext,0); - }; - - CAST_OPERATOR() { - return this.getToken(SqlBaseParser.CAST_OPERATOR, 0); - }; - - dataType() { - return this.getTypedRuleContext(DataTypeContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterIntegerParamOrLiteralDoubleColonCast(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitIntegerParamOrLiteralDoubleColonCast(this); - } - } - - -} - -SqlBaseParser.IntegerParamOrLiteralDoubleColonCastContext = IntegerParamOrLiteralDoubleColonCastContext; - -class NullAsLiteralContext extends ParameterOrIntegerContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - nullLiteral() { - return this.getTypedRuleContext(NullLiteralContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterNullAsLiteral(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitNullAsLiteral(this); - } - } - - -} - -SqlBaseParser.NullAsLiteralContext = NullAsLiteralContext; - -class ParameterExpressionContext extends ParameterOrIntegerContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - parameterExpr() { - return this.getTypedRuleContext(ParameterExprContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterParameterExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitParameterExpression(this); - } - } - - -} - -SqlBaseParser.ParameterExpressionContext = ParameterExpressionContext; - -class IntAsLiteralContext extends ParameterOrIntegerContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - integerLiteral() { - return this.getTypedRuleContext(IntegerLiteralContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterIntAsLiteral(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitIntAsLiteral(this); - } - } - - -} - -SqlBaseParser.IntAsLiteralContext = IntAsLiteralContext; - -class ParameterOrIdentContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_parameterOrIdent; - } - - parameterExpr() { - return this.getTypedRuleContext(ParameterExprContext,0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterParameterOrIdent(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitParameterOrIdent(this); - } - } - - -} - - - -class ParameterOrStringContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_parameterOrString; - } - - parameterExpr() { - return this.getTypedRuleContext(ParameterExprContext,0); - }; - - stringLiteral() { - return this.getTypedRuleContext(StringLiteralContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterParameterOrString(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitParameterOrString(this); - } - } - - -} - - - -class ParameterExprContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_parameterExpr; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class ParameterPlaceholderContext extends ParameterExprContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - QUESTION() { - return this.getToken(SqlBaseParser.QUESTION, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterParameterPlaceholder(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitParameterPlaceholder(this); - } - } - - -} - -SqlBaseParser.ParameterPlaceholderContext = ParameterPlaceholderContext; - -class PositionalParameterContext extends ParameterExprContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - DOLLAR() { - return this.getToken(SqlBaseParser.DOLLAR, 0); - }; - - integerLiteral() { - return this.getTypedRuleContext(IntegerLiteralContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterPositionalParameter(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitPositionalParameter(this); - } - } - - -} - -SqlBaseParser.PositionalParameterContext = PositionalParameterContext; - -class NullLiteralContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_nullLiteral; - } - - NULL() { - return this.getToken(SqlBaseParser.NULL, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterNullLiteral(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitNullLiteral(this); - } - } - - -} - - - -class EscapedCharsStringLiteralContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_escapedCharsStringLiteral; - } - - ESCAPED_STRING() { - return this.getToken(SqlBaseParser.ESCAPED_STRING, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterEscapedCharsStringLiteral(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitEscapedCharsStringLiteral(this); - } - } - - -} - - - -class DollarQuotedStringLiteralContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_dollarQuotedStringLiteral; - } - - BEGIN_DOLLAR_QUOTED_STRING() { - return this.getToken(SqlBaseParser.BEGIN_DOLLAR_QUOTED_STRING, 0); - }; - - END_DOLLAR_QUOTED_STRING() { - return this.getToken(SqlBaseParser.END_DOLLAR_QUOTED_STRING, 0); - }; - - DOLLAR_QUOTED_STRING_BODY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.DOLLAR_QUOTED_STRING_BODY); - } else { - return this.getToken(SqlBaseParser.DOLLAR_QUOTED_STRING_BODY, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDollarQuotedStringLiteral(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDollarQuotedStringLiteral(this); - } - } - - -} - - - -class StringLiteralContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_stringLiteral; - } - - STRING() { - return this.getToken(SqlBaseParser.STRING, 0); - }; - - dollarQuotedStringLiteral() { - return this.getTypedRuleContext(DollarQuotedStringLiteralContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterStringLiteral(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitStringLiteral(this); - } - } - - -} - - - -class BitStringContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_bitString; - } - - BIT_STRING() { - return this.getToken(SqlBaseParser.BIT_STRING, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterBitString(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitBitString(this); - } - } - - -} - - - -class SubscriptSafeContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_subscriptSafe; - this.value = null; - this.index = null; - } - - qname() { - return this.getTypedRuleContext(QnameContext,0); - }; - - OPEN_SQUARE_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_SQUARE_BRACKET, 0); - }; - - CLOSE_SQUARE_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_SQUARE_BRACKET, 0); - }; - - subscriptSafe() { - return this.getTypedRuleContext(SubscriptSafeContext,0); - }; - - valueExpression() { - return this.getTypedRuleContext(ValueExpressionContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSubscriptSafe(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSubscriptSafe(this); - } - } - - -} - - - -class CmpOpContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_cmpOp; - } - - EQ() { - return this.getToken(SqlBaseParser.EQ, 0); - }; - - NEQ() { - return this.getToken(SqlBaseParser.NEQ, 0); - }; - - LT() { - return this.getToken(SqlBaseParser.LT, 0); - }; - - LTE() { - return this.getToken(SqlBaseParser.LTE, 0); - }; - - GT() { - return this.getToken(SqlBaseParser.GT, 0); - }; - - GTE() { - return this.getToken(SqlBaseParser.GTE, 0); - }; - - LLT() { - return this.getToken(SqlBaseParser.LLT, 0); - }; - - REGEX_MATCH() { - return this.getToken(SqlBaseParser.REGEX_MATCH, 0); - }; - - REGEX_NO_MATCH() { - return this.getToken(SqlBaseParser.REGEX_NO_MATCH, 0); - }; - - REGEX_MATCH_CI() { - return this.getToken(SqlBaseParser.REGEX_MATCH_CI, 0); - }; - - REGEX_NO_MATCH_CI() { - return this.getToken(SqlBaseParser.REGEX_NO_MATCH_CI, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterCmpOp(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitCmpOp(this); - } - } - - -} - - - -class SetCmpQuantifierContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_setCmpQuantifier; - } - - ANY() { - return this.getToken(SqlBaseParser.ANY, 0); - }; - - SOME() { - return this.getToken(SqlBaseParser.SOME, 0); - }; - - ALL() { - return this.getToken(SqlBaseParser.ALL, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSetCmpQuantifier(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSetCmpQuantifier(this); - } - } - - -} - - - -class WhenClauseContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_whenClause; - this.condition = null; - this.result = null; - } - - WHEN() { - return this.getToken(SqlBaseParser.WHEN, 0); - }; - - THEN() { - return this.getToken(SqlBaseParser.THEN, 0); - }; - - expr = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExprContext); - } else { - return this.getTypedRuleContext(ExprContext,i); - } - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterWhenClause(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitWhenClause(this); - } - } - - -} - - - -class NamedWindowContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_namedWindow; - this.name = null; - } - - AS() { - return this.getToken(SqlBaseParser.AS, 0); - }; - - windowDefinition() { - return this.getTypedRuleContext(WindowDefinitionContext,0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterNamedWindow(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitNamedWindow(this); - } - } - - -} - - - -class OverContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_over; - } - - OVER() { - return this.getToken(SqlBaseParser.OVER, 0); - }; - - windowDefinition() { - return this.getTypedRuleContext(WindowDefinitionContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterOver(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitOver(this); - } - } - - -} - - - -class WindowDefinitionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_windowDefinition; - this.windowRef = null; - this._expr = null; - this.partition = []; - } - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - PARTITION() { - return this.getToken(SqlBaseParser.PARTITION, 0); - }; - - BY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.BY); - } else { - return this.getToken(SqlBaseParser.BY, i); - } - }; - - - ORDER() { - return this.getToken(SqlBaseParser.ORDER, 0); - }; - - sortItem = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(SortItemContext); - } else { - return this.getTypedRuleContext(SortItemContext,i); - } - }; - - windowFrame() { - return this.getTypedRuleContext(WindowFrameContext,0); - }; - - expr = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExprContext); - } else { - return this.getTypedRuleContext(ExprContext,i); - } - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterWindowDefinition(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitWindowDefinition(this); - } - } - - -} - - - -class WindowFrameContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_windowFrame; - this.frameType = null; - this.start = null; - this.end = null; - } - - RANGE() { - return this.getToken(SqlBaseParser.RANGE, 0); - }; - - frameBound = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(FrameBoundContext); - } else { - return this.getTypedRuleContext(FrameBoundContext,i); - } - }; - - ROWS() { - return this.getToken(SqlBaseParser.ROWS, 0); - }; - - BETWEEN() { - return this.getToken(SqlBaseParser.BETWEEN, 0); - }; - - AND() { - return this.getToken(SqlBaseParser.AND, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterWindowFrame(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitWindowFrame(this); - } - } - - -} - - - -class FrameBoundContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_frameBound; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class BoundedFrameContext extends FrameBoundContext { - - constructor(parser, ctx) { - super(parser); - this.boundType = null;; - super.copyFrom(ctx); - } - - expr() { - return this.getTypedRuleContext(ExprContext,0); - }; - - PRECEDING() { - return this.getToken(SqlBaseParser.PRECEDING, 0); - }; - - FOLLOWING() { - return this.getToken(SqlBaseParser.FOLLOWING, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterBoundedFrame(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitBoundedFrame(this); - } - } - - -} - -SqlBaseParser.BoundedFrameContext = BoundedFrameContext; - -class UnboundedFrameContext extends FrameBoundContext { - - constructor(parser, ctx) { - super(parser); - this.boundType = null;; - super.copyFrom(ctx); - } - - UNBOUNDED() { - return this.getToken(SqlBaseParser.UNBOUNDED, 0); - }; - - PRECEDING() { - return this.getToken(SqlBaseParser.PRECEDING, 0); - }; - - FOLLOWING() { - return this.getToken(SqlBaseParser.FOLLOWING, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterUnboundedFrame(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitUnboundedFrame(this); - } - } - - -} - -SqlBaseParser.UnboundedFrameContext = UnboundedFrameContext; - -class CurrentRowBoundContext extends FrameBoundContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - CURRENT() { - return this.getToken(SqlBaseParser.CURRENT, 0); - }; - - ROW() { - return this.getToken(SqlBaseParser.ROW, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterCurrentRowBound(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitCurrentRowBound(this); - } - } - - -} - -SqlBaseParser.CurrentRowBoundContext = CurrentRowBoundContext; - -class QnamesContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_qnames; - } - - qname = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(QnameContext); - } else { - return this.getTypedRuleContext(QnameContext,i); - } - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterQnames(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitQnames(this); - } - } - - -} - - - -class QnameContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_qname; - } - - ident = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdentContext); - } else { - return this.getTypedRuleContext(IdentContext,i); - } - }; - - DOT = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.DOT); - } else { - return this.getToken(SqlBaseParser.DOT, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterQname(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitQname(this); - } - } - - -} - - - -class SpaceSeparatedIdentsContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_spaceSeparatedIdents; - } - - identWithOrWithoutValue = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdentWithOrWithoutValueContext); - } else { - return this.getTypedRuleContext(IdentWithOrWithoutValueContext,i); - } - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSpaceSeparatedIdents(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSpaceSeparatedIdents(this); - } - } - - -} - - - -class IdentWithOrWithoutValueContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_identWithOrWithoutValue; - } - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - parameterOrSimpleLiteral() { - return this.getTypedRuleContext(ParameterOrSimpleLiteralContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterIdentWithOrWithoutValue(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitIdentWithOrWithoutValue(this); - } - } - - -} - - - -class IdentsContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_idents; - } - - ident = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdentContext); - } else { - return this.getTypedRuleContext(IdentContext,i); - } - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterIdents(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitIdents(this); - } - } - - -} - - - -class IdentContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_ident; - } - - unquotedIdent() { - return this.getTypedRuleContext(UnquotedIdentContext,0); - }; - - quotedIdent() { - return this.getTypedRuleContext(QuotedIdentContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterIdent(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitIdent(this); - } - } - - -} - - - -class UnquotedIdentContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_unquotedIdent; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class DigitIdentifierContext extends UnquotedIdentContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - DIGIT_IDENTIFIER() { - return this.getToken(SqlBaseParser.DIGIT_IDENTIFIER, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDigitIdentifier(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDigitIdentifier(this); - } - } - - -} - -SqlBaseParser.DigitIdentifierContext = DigitIdentifierContext; - -class UnquotedIdentifierContext extends UnquotedIdentContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - IDENTIFIER() { - return this.getToken(SqlBaseParser.IDENTIFIER, 0); - }; - - nonReserved() { - return this.getTypedRuleContext(NonReservedContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterUnquotedIdentifier(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitUnquotedIdentifier(this); - } - } - - -} - -SqlBaseParser.UnquotedIdentifierContext = UnquotedIdentifierContext; - -class QuotedIdentContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_quotedIdent; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class BackQuotedIdentifierContext extends QuotedIdentContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - BACKQUOTED_IDENTIFIER() { - return this.getToken(SqlBaseParser.BACKQUOTED_IDENTIFIER, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterBackQuotedIdentifier(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitBackQuotedIdentifier(this); - } - } - - -} - -SqlBaseParser.BackQuotedIdentifierContext = BackQuotedIdentifierContext; - -class QuotedIdentifierContext extends QuotedIdentContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - QUOTED_IDENTIFIER() { - return this.getToken(SqlBaseParser.QUOTED_IDENTIFIER, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterQuotedIdentifier(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitQuotedIdentifier(this); - } - } - - -} - -SqlBaseParser.QuotedIdentifierContext = QuotedIdentifierContext; - -class StringLiteralOrIdentifierContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_stringLiteralOrIdentifier; - } - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - stringLiteral() { - return this.getTypedRuleContext(StringLiteralContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterStringLiteralOrIdentifier(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitStringLiteralOrIdentifier(this); - } - } - - -} - - - -class StringLiteralOrIdentifierOrQnameContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_stringLiteralOrIdentifierOrQname; - } - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - qname() { - return this.getTypedRuleContext(QnameContext,0); - }; - - stringLiteral() { - return this.getTypedRuleContext(StringLiteralContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterStringLiteralOrIdentifierOrQname(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitStringLiteralOrIdentifierOrQname(this); - } - } - - -} - - - -class NumericLiteralContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_numericLiteral; - } - - decimalLiteral() { - return this.getTypedRuleContext(DecimalLiteralContext,0); - }; - - integerLiteral() { - return this.getTypedRuleContext(IntegerLiteralContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterNumericLiteral(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitNumericLiteral(this); - } - } - - -} - - - -class IntervalLiteralContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_intervalLiteral; - this.sign = null; - this.from = null; - this.to = null; - } - - INTERVAL() { - return this.getToken(SqlBaseParser.INTERVAL, 0); - }; - - stringLiteral() { - return this.getTypedRuleContext(StringLiteralContext,0); - }; - - intervalField = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IntervalFieldContext); - } else { - return this.getTypedRuleContext(IntervalFieldContext,i); - } - }; - - TO() { - return this.getToken(SqlBaseParser.TO, 0); - }; - - PLUS() { - return this.getToken(SqlBaseParser.PLUS, 0); - }; - - MINUS() { - return this.getToken(SqlBaseParser.MINUS, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterIntervalLiteral(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitIntervalLiteral(this); - } - } - - -} - - - -class IntervalFieldContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_intervalField; - } - - YEAR() { - return this.getToken(SqlBaseParser.YEAR, 0); - }; - - MONTH() { - return this.getToken(SqlBaseParser.MONTH, 0); - }; - - DAY() { - return this.getToken(SqlBaseParser.DAY, 0); - }; - - HOUR() { - return this.getToken(SqlBaseParser.HOUR, 0); - }; - - MINUTE() { - return this.getToken(SqlBaseParser.MINUTE, 0); - }; - - SECOND() { - return this.getToken(SqlBaseParser.SECOND, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterIntervalField(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitIntervalField(this); - } - } - - -} - - - -class BooleanLiteralContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_booleanLiteral; - } - - TRUE() { - return this.getToken(SqlBaseParser.TRUE, 0); - }; - - FALSE() { - return this.getToken(SqlBaseParser.FALSE, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterBooleanLiteral(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitBooleanLiteral(this); - } - } - - -} - - - -class DecimalLiteralContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_decimalLiteral; - } - - DECIMAL_VALUE() { - return this.getToken(SqlBaseParser.DECIMAL_VALUE, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDecimalLiteral(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDecimalLiteral(this); - } - } - - -} - - - -class IntegerLiteralContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_integerLiteral; - } - - INTEGER_VALUE() { - return this.getToken(SqlBaseParser.INTEGER_VALUE, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterIntegerLiteral(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitIntegerLiteral(this); - } - } - - -} - - - -class ObjectKeyValueContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_objectKeyValue; - this.key = null; - this.value = null; - } - - EQ() { - return this.getToken(SqlBaseParser.EQ, 0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - expr() { - return this.getTypedRuleContext(ExprContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterObjectKeyValue(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitObjectKeyValue(this); - } - } - - -} - - - -class InsertSourceContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_insertSource; - } - - query() { - return this.getTypedRuleContext(QueryContext,0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterInsertSource(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitInsertSource(this); - } - } - - -} - - - -class OnConflictContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_onConflict; - } - - ON() { - return this.getToken(SqlBaseParser.ON, 0); - }; - - CONFLICT() { - return this.getToken(SqlBaseParser.CONFLICT, 0); - }; - - DO() { - return this.getToken(SqlBaseParser.DO, 0); - }; - - NOTHING() { - return this.getToken(SqlBaseParser.NOTHING, 0); - }; - - conflictTarget() { - return this.getTypedRuleContext(ConflictTargetContext,0); - }; - - UPDATE() { - return this.getToken(SqlBaseParser.UPDATE, 0); - }; - - SET() { - return this.getToken(SqlBaseParser.SET, 0); - }; - - assignment = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(AssignmentContext); - } else { - return this.getTypedRuleContext(AssignmentContext,i); - } - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterOnConflict(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitOnConflict(this); - } - } - - -} - - - -class ConflictTargetContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_conflictTarget; - } - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - subscriptSafe = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(SubscriptSafeContext); - } else { - return this.getTypedRuleContext(SubscriptSafeContext,i); - } - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterConflictTarget(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitConflictTarget(this); - } - } - - -} - - - -class ValuesContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_values; - } - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - expr = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExprContext); - } else { - return this.getTypedRuleContext(ExprContext,i); - } - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterValues(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitValues(this); - } - } - - -} - - - -class ColumnsContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_columns; - } - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - primaryExpression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(PrimaryExpressionContext); - } else { - return this.getTypedRuleContext(PrimaryExpressionContext,i); - } - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterColumns(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitColumns(this); - } - } - - -} - - - -class AssignmentContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_assignment; - } - - primaryExpression() { - return this.getTypedRuleContext(PrimaryExpressionContext,0); - }; - - EQ() { - return this.getToken(SqlBaseParser.EQ, 0); - }; - - expr() { - return this.getTypedRuleContext(ExprContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterAssignment(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitAssignment(this); - } - } - - -} - - - -class CreateStmtContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_createStmt; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class CreateTableContext extends CreateStmtContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - CREATE() { - return this.getToken(SqlBaseParser.CREATE, 0); - }; - - TABLE() { - return this.getToken(SqlBaseParser.TABLE, 0); - }; - - table() { - return this.getTypedRuleContext(TableContext,0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - tableElement = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(TableElementContext); - } else { - return this.getTypedRuleContext(TableElementContext,i); - } - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - partitionedByOrClusteredInto() { - return this.getTypedRuleContext(PartitionedByOrClusteredIntoContext,0); - }; - - IF() { - return this.getToken(SqlBaseParser.IF, 0); - }; - - NOT() { - return this.getToken(SqlBaseParser.NOT, 0); - }; - - EXISTS() { - return this.getToken(SqlBaseParser.EXISTS, 0); - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - withProperties() { - return this.getTypedRuleContext(WithPropertiesContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterCreateTable(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitCreateTable(this); - } - } - - -} - -SqlBaseParser.CreateTableContext = CreateTableContext; - -class CreateSubscriptionContext extends CreateStmtContext { - - constructor(parser, ctx) { - super(parser); - this.name = null;; - this.conninfo = null;; - this.publications = null;; - super.copyFrom(ctx); - } - - CREATE() { - return this.getToken(SqlBaseParser.CREATE, 0); - }; - - SUBSCRIPTION() { - return this.getToken(SqlBaseParser.SUBSCRIPTION, 0); - }; - - CONNECTION() { - return this.getToken(SqlBaseParser.CONNECTION, 0); - }; - - PUBLICATION() { - return this.getToken(SqlBaseParser.PUBLICATION, 0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - expr() { - return this.getTypedRuleContext(ExprContext,0); - }; - - idents() { - return this.getTypedRuleContext(IdentsContext,0); - }; - - withProperties() { - return this.getTypedRuleContext(WithPropertiesContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterCreateSubscription(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitCreateSubscription(this); - } - } - - -} - -SqlBaseParser.CreateSubscriptionContext = CreateSubscriptionContext; - -class CreateServerContext extends CreateStmtContext { - - constructor(parser, ctx) { - super(parser); - this.name = null;; - this.fdw = null;; - super.copyFrom(ctx); - } - - CREATE() { - return this.getToken(SqlBaseParser.CREATE, 0); - }; - - SERVER() { - return this.getToken(SqlBaseParser.SERVER, 0); - }; - - FOREIGN() { - return this.getToken(SqlBaseParser.FOREIGN, 0); - }; - - DATA() { - return this.getToken(SqlBaseParser.DATA, 0); - }; - - WRAPPER() { - return this.getToken(SqlBaseParser.WRAPPER, 0); - }; - - ident = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdentContext); - } else { - return this.getTypedRuleContext(IdentContext,i); - } - }; - - IF() { - return this.getToken(SqlBaseParser.IF, 0); - }; - - NOT() { - return this.getToken(SqlBaseParser.NOT, 0); - }; - - EXISTS() { - return this.getToken(SqlBaseParser.EXISTS, 0); - }; - - kvOptions() { - return this.getTypedRuleContext(KvOptionsContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterCreateServer(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitCreateServer(this); - } - } - - -} - -SqlBaseParser.CreateServerContext = CreateServerContext; - -class CreateRoleContext extends CreateStmtContext { - - constructor(parser, ctx) { - super(parser); - this.name = null;; - this.options = null;; - super.copyFrom(ctx); - } - - CREATE() { - return this.getToken(SqlBaseParser.CREATE, 0); - }; - - USER() { - return this.getToken(SqlBaseParser.USER, 0); - }; - - ROLE() { - return this.getToken(SqlBaseParser.ROLE, 0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - withProperties() { - return this.getTypedRuleContext(WithPropertiesContext,0); - }; - - spaceSeparatedIdents() { - return this.getTypedRuleContext(SpaceSeparatedIdentsContext,0); - }; - - WITH() { - return this.getToken(SqlBaseParser.WITH, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterCreateRole(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitCreateRole(this); - } - } - - -} - -SqlBaseParser.CreateRoleContext = CreateRoleContext; - -class CreatePublicationContext extends CreateStmtContext { - - constructor(parser, ctx) { - super(parser); - this.name = null;; - super.copyFrom(ctx); - } - - CREATE() { - return this.getToken(SqlBaseParser.CREATE, 0); - }; - - PUBLICATION() { - return this.getToken(SqlBaseParser.PUBLICATION, 0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - FOR() { - return this.getToken(SqlBaseParser.FOR, 0); - }; - - ALL() { - return this.getToken(SqlBaseParser.ALL, 0); - }; - - TABLES() { - return this.getToken(SqlBaseParser.TABLES, 0); - }; - - TABLE() { - return this.getToken(SqlBaseParser.TABLE, 0); - }; - - qname = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(QnameContext); - } else { - return this.getTypedRuleContext(QnameContext,i); - } - }; - - ASTERISK = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.ASTERISK); - } else { - return this.getToken(SqlBaseParser.ASTERISK, i); - } - }; - - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterCreatePublication(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitCreatePublication(this); - } - } - - -} - -SqlBaseParser.CreatePublicationContext = CreatePublicationContext; - -class CreateUserMappingContext extends CreateStmtContext { - - constructor(parser, ctx) { - super(parser); - this.server = null;; - super.copyFrom(ctx); - } - - CREATE() { - return this.getToken(SqlBaseParser.CREATE, 0); - }; - - USER() { - return this.getToken(SqlBaseParser.USER, 0); - }; - - MAPPING() { - return this.getToken(SqlBaseParser.MAPPING, 0); - }; - - FOR() { - return this.getToken(SqlBaseParser.FOR, 0); - }; - - mappedUser() { - return this.getTypedRuleContext(MappedUserContext,0); - }; - - SERVER() { - return this.getToken(SqlBaseParser.SERVER, 0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - IF() { - return this.getToken(SqlBaseParser.IF, 0); - }; - - NOT() { - return this.getToken(SqlBaseParser.NOT, 0); - }; - - EXISTS() { - return this.getToken(SqlBaseParser.EXISTS, 0); - }; - - kvOptions() { - return this.getTypedRuleContext(KvOptionsContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterCreateUserMapping(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitCreateUserMapping(this); - } - } - - -} - -SqlBaseParser.CreateUserMappingContext = CreateUserMappingContext; - -class CreateBlobTableContext extends CreateStmtContext { - - constructor(parser, ctx) { - super(parser); - this.numShards = null;; - super.copyFrom(ctx); - } - - CREATE() { - return this.getToken(SqlBaseParser.CREATE, 0); - }; - - BLOB() { - return this.getToken(SqlBaseParser.BLOB, 0); - }; - - TABLE() { - return this.getToken(SqlBaseParser.TABLE, 0); - }; - - table() { - return this.getTypedRuleContext(TableContext,0); - }; - - withProperties() { - return this.getTypedRuleContext(WithPropertiesContext,0); - }; - - blobClusteredInto() { - return this.getTypedRuleContext(BlobClusteredIntoContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterCreateBlobTable(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitCreateBlobTable(this); - } - } - - -} - -SqlBaseParser.CreateBlobTableContext = CreateBlobTableContext; - -class CreateAnalyzerContext extends CreateStmtContext { - - constructor(parser, ctx) { - super(parser); - this.name = null;; - this.extendedName = null;; - super.copyFrom(ctx); - } - - CREATE() { - return this.getToken(SqlBaseParser.CREATE, 0); - }; - - ANALYZER() { - return this.getToken(SqlBaseParser.ANALYZER, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - analyzerElement = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(AnalyzerElementContext); - } else { - return this.getTypedRuleContext(AnalyzerElementContext,i); - } - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - ident = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdentContext); - } else { - return this.getTypedRuleContext(IdentContext,i); - } - }; - - EXTENDS() { - return this.getToken(SqlBaseParser.EXTENDS, 0); - }; - - WITH() { - return this.getToken(SqlBaseParser.WITH, 0); - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterCreateAnalyzer(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitCreateAnalyzer(this); - } - } - - -} - -SqlBaseParser.CreateAnalyzerContext = CreateAnalyzerContext; - -class CreateRepositoryContext extends CreateStmtContext { - - constructor(parser, ctx) { - super(parser); - this.name = null;; - this.type = null;; - super.copyFrom(ctx); - } - - CREATE() { - return this.getToken(SqlBaseParser.CREATE, 0); - }; - - REPOSITORY() { - return this.getToken(SqlBaseParser.REPOSITORY, 0); - }; - - TYPE() { - return this.getToken(SqlBaseParser.TYPE, 0); - }; - - ident = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdentContext); - } else { - return this.getTypedRuleContext(IdentContext,i); - } - }; - - withProperties() { - return this.getTypedRuleContext(WithPropertiesContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterCreateRepository(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitCreateRepository(this); - } - } - - -} - -SqlBaseParser.CreateRepositoryContext = CreateRepositoryContext; - -class CreateTableAsContext extends CreateStmtContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - CREATE() { - return this.getToken(SqlBaseParser.CREATE, 0); - }; - - TABLE() { - return this.getToken(SqlBaseParser.TABLE, 0); - }; - - table() { - return this.getTypedRuleContext(TableContext,0); - }; - - AS() { - return this.getToken(SqlBaseParser.AS, 0); - }; - - insertSource() { - return this.getTypedRuleContext(InsertSourceContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterCreateTableAs(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitCreateTableAs(this); - } - } - - -} - -SqlBaseParser.CreateTableAsContext = CreateTableAsContext; - -class CreateForeignTableContext extends CreateStmtContext { - - constructor(parser, ctx) { - super(parser); - this.tableName = null;; - this.server = null;; - super.copyFrom(ctx); - } - - CREATE() { - return this.getToken(SqlBaseParser.CREATE, 0); - }; - - FOREIGN() { - return this.getToken(SqlBaseParser.FOREIGN, 0); - }; - - TABLE() { - return this.getToken(SqlBaseParser.TABLE, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - tableElement = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(TableElementContext); - } else { - return this.getTypedRuleContext(TableElementContext,i); - } - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - SERVER() { - return this.getToken(SqlBaseParser.SERVER, 0); - }; - - qname() { - return this.getTypedRuleContext(QnameContext,0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - IF() { - return this.getToken(SqlBaseParser.IF, 0); - }; - - NOT() { - return this.getToken(SqlBaseParser.NOT, 0); - }; - - EXISTS() { - return this.getToken(SqlBaseParser.EXISTS, 0); - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - kvOptions() { - return this.getTypedRuleContext(KvOptionsContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterCreateForeignTable(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitCreateForeignTable(this); - } - } - - -} - -SqlBaseParser.CreateForeignTableContext = CreateForeignTableContext; - -class CreateSnapshotContext extends CreateStmtContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - CREATE() { - return this.getToken(SqlBaseParser.CREATE, 0); - }; - - SNAPSHOT() { - return this.getToken(SqlBaseParser.SNAPSHOT, 0); - }; - - qname() { - return this.getTypedRuleContext(QnameContext,0); - }; - - ALL() { - return this.getToken(SqlBaseParser.ALL, 0); - }; - - TABLE() { - return this.getToken(SqlBaseParser.TABLE, 0); - }; - - tableWithPartitions() { - return this.getTypedRuleContext(TableWithPartitionsContext,0); - }; - - withProperties() { - return this.getTypedRuleContext(WithPropertiesContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterCreateSnapshot(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitCreateSnapshot(this); - } - } - - -} - -SqlBaseParser.CreateSnapshotContext = CreateSnapshotContext; - -class CreateFunctionContext extends CreateStmtContext { - - constructor(parser, ctx) { - super(parser); - this.name = null;; - this.returnType = null;; - this.language = null;; - this.body = null;; - super.copyFrom(ctx); - } - - CREATE() { - return this.getToken(SqlBaseParser.CREATE, 0); - }; - - FUNCTION() { - return this.getToken(SqlBaseParser.FUNCTION, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - RETURNS() { - return this.getToken(SqlBaseParser.RETURNS, 0); - }; - - LANGUAGE() { - return this.getToken(SqlBaseParser.LANGUAGE, 0); - }; - - AS() { - return this.getToken(SqlBaseParser.AS, 0); - }; - - qname() { - return this.getTypedRuleContext(QnameContext,0); - }; - - dataType() { - return this.getTypedRuleContext(DataTypeContext,0); - }; - - parameterOrIdent() { - return this.getTypedRuleContext(ParameterOrIdentContext,0); - }; - - parameterOrString() { - return this.getTypedRuleContext(ParameterOrStringContext,0); - }; - - OR() { - return this.getToken(SqlBaseParser.OR, 0); - }; - - REPLACE() { - return this.getToken(SqlBaseParser.REPLACE, 0); - }; - - functionArgument = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(FunctionArgumentContext); - } else { - return this.getTypedRuleContext(FunctionArgumentContext,i); - } - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterCreateFunction(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitCreateFunction(this); - } - } - - -} - -SqlBaseParser.CreateFunctionContext = CreateFunctionContext; - -class CreateViewContext extends CreateStmtContext { - - constructor(parser, ctx) { - super(parser); - this.name = null;; - super.copyFrom(ctx); - } - - CREATE() { - return this.getToken(SqlBaseParser.CREATE, 0); - }; - - VIEW() { - return this.getToken(SqlBaseParser.VIEW, 0); - }; - - AS() { - return this.getToken(SqlBaseParser.AS, 0); - }; - - queryOptParens() { - return this.getTypedRuleContext(QueryOptParensContext,0); - }; - - qname() { - return this.getTypedRuleContext(QnameContext,0); - }; - - OR() { - return this.getToken(SqlBaseParser.OR, 0); - }; - - REPLACE() { - return this.getToken(SqlBaseParser.REPLACE, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterCreateView(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitCreateView(this); - } - } - - -} - -SqlBaseParser.CreateViewContext = CreateViewContext; - -class MappedUserContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_mappedUser; - this.userName = null; - } - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - USER() { - return this.getToken(SqlBaseParser.USER, 0); - }; - - CURRENT_ROLE() { - return this.getToken(SqlBaseParser.CURRENT_ROLE, 0); - }; - - CURRENT_USER() { - return this.getToken(SqlBaseParser.CURRENT_USER, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterMappedUser(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitMappedUser(this); - } - } - - -} - - - -class KvOptionsContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_kvOptions; - } - - OPTIONS() { - return this.getToken(SqlBaseParser.OPTIONS, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - kvOption = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(KvOptionContext); - } else { - return this.getTypedRuleContext(KvOptionContext,i); - } - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterKvOptions(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitKvOptions(this); - } - } - - -} - - - -class KvOptionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_kvOption; - } - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - parameterOrLiteral() { - return this.getTypedRuleContext(ParameterOrLiteralContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterKvOption(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitKvOption(this); - } - } - - -} - - - -class FunctionArgumentContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_functionArgument; - this.name = null; - this.type = null; - } - - dataType() { - return this.getTypedRuleContext(DataTypeContext,0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterFunctionArgument(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitFunctionArgument(this); - } - } - - -} - - - -class AlterTableDefinitionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_alterTableDefinition; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class TableWithPartitionDefaultContext extends AlterTableDefinitionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - tableWithPartition() { - return this.getTypedRuleContext(TableWithPartitionContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterTableWithPartitionDefault(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitTableWithPartitionDefault(this); - } - } - - -} - -SqlBaseParser.TableWithPartitionDefaultContext = TableWithPartitionDefaultContext; - -class TableOnlyContext extends AlterTableDefinitionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - ONLY() { - return this.getToken(SqlBaseParser.ONLY, 0); - }; - - qname() { - return this.getTypedRuleContext(QnameContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterTableOnly(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitTableOnly(this); - } - } - - -} - -SqlBaseParser.TableOnlyContext = TableOnlyContext; - -class AlterSubscriptionModeContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_alterSubscriptionMode; - } - - ENABLE() { - return this.getToken(SqlBaseParser.ENABLE, 0); - }; - - DISABLE() { - return this.getToken(SqlBaseParser.DISABLE, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterAlterSubscriptionMode(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitAlterSubscriptionMode(this); - } - } - - -} - - - -class PartitionedByOrClusteredIntoContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_partitionedByOrClusteredInto; - } - - partitionedBy() { - return this.getTypedRuleContext(PartitionedByContext,0); - }; - - clusteredBy() { - return this.getTypedRuleContext(ClusteredByContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterPartitionedByOrClusteredInto(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitPartitionedByOrClusteredInto(this); - } - } - - -} - - - -class PartitionedByContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_partitionedBy; - } - - PARTITIONED() { - return this.getToken(SqlBaseParser.PARTITIONED, 0); - }; - - BY() { - return this.getToken(SqlBaseParser.BY, 0); - }; - - columns() { - return this.getTypedRuleContext(ColumnsContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterPartitionedBy(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitPartitionedBy(this); - } - } - - -} - - - -class ClusteredByContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_clusteredBy; - this.routing = null; - this.numShards = null; - } - - CLUSTERED() { - return this.getToken(SqlBaseParser.CLUSTERED, 0); - }; - - BY() { - return this.getToken(SqlBaseParser.BY, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - INTO() { - return this.getToken(SqlBaseParser.INTO, 0); - }; - - SHARDS() { - return this.getToken(SqlBaseParser.SHARDS, 0); - }; - - primaryExpression() { - return this.getTypedRuleContext(PrimaryExpressionContext,0); - }; - - parameterOrInteger() { - return this.getTypedRuleContext(ParameterOrIntegerContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterClusteredBy(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitClusteredBy(this); - } - } - - -} - - - -class BlobClusteredIntoContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_blobClusteredInto; - this.numShards = null; - } - - CLUSTERED() { - return this.getToken(SqlBaseParser.CLUSTERED, 0); - }; - - INTO() { - return this.getToken(SqlBaseParser.INTO, 0); - }; - - SHARDS() { - return this.getToken(SqlBaseParser.SHARDS, 0); - }; - - parameterOrInteger() { - return this.getTypedRuleContext(ParameterOrIntegerContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterBlobClusteredInto(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitBlobClusteredInto(this); - } - } - - -} - - - -class TableElementContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_tableElement; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class PrimaryKeyConstraintTableLevelContext extends TableElementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - primaryKeyContraint() { - return this.getTypedRuleContext(PrimaryKeyContraintContext,0); - }; - - columns() { - return this.getTypedRuleContext(ColumnsContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterPrimaryKeyConstraintTableLevel(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitPrimaryKeyConstraintTableLevel(this); - } - } - - -} - -SqlBaseParser.PrimaryKeyConstraintTableLevelContext = PrimaryKeyConstraintTableLevelContext; - -class TableCheckConstraintContext extends TableElementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - checkConstraint() { - return this.getTypedRuleContext(CheckConstraintContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterTableCheckConstraint(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitTableCheckConstraint(this); - } - } - - -} - -SqlBaseParser.TableCheckConstraintContext = TableCheckConstraintContext; - -class IndexDefinitionContext extends TableElementContext { - - constructor(parser, ctx) { - super(parser); - this.name = null;; - this.method = null;; - super.copyFrom(ctx); - } - - INDEX() { - return this.getToken(SqlBaseParser.INDEX, 0); - }; - - USING() { - return this.getToken(SqlBaseParser.USING, 0); - }; - - columns() { - return this.getTypedRuleContext(ColumnsContext,0); - }; - - ident = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdentContext); - } else { - return this.getTypedRuleContext(IdentContext,i); - } - }; - - withProperties() { - return this.getTypedRuleContext(WithPropertiesContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterIndexDefinition(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitIndexDefinition(this); - } - } - - -} - -SqlBaseParser.IndexDefinitionContext = IndexDefinitionContext; - -class ColumnDefinitionDefaultContext extends TableElementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - columnDefinition() { - return this.getTypedRuleContext(ColumnDefinitionContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterColumnDefinitionDefault(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitColumnDefinitionDefault(this); - } - } - - -} - -SqlBaseParser.ColumnDefinitionDefaultContext = ColumnDefinitionDefaultContext; - -class ColumnDefinitionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_columnDefinition; - } - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - dataType() { - return this.getTypedRuleContext(DataTypeContext,0); - }; - - columnConstraint = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ColumnConstraintContext); - } else { - return this.getTypedRuleContext(ColumnConstraintContext,i); - } - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterColumnDefinition(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitColumnDefinition(this); - } - } - - -} - - - -class AddColumnDefinitionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_addColumnDefinition; - } - - ADD() { - return this.getToken(SqlBaseParser.ADD, 0); - }; - - subscriptSafe() { - return this.getTypedRuleContext(SubscriptSafeContext,0); - }; - - COLUMN() { - return this.getToken(SqlBaseParser.COLUMN, 0); - }; - - dataType() { - return this.getTypedRuleContext(DataTypeContext,0); - }; - - columnConstraint = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ColumnConstraintContext); - } else { - return this.getTypedRuleContext(ColumnConstraintContext,i); - } - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterAddColumnDefinition(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitAddColumnDefinition(this); - } - } - - -} - - - -class DropColumnDefinitionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_dropColumnDefinition; - } - - DROP() { - return this.getToken(SqlBaseParser.DROP, 0); - }; - - subscriptSafe() { - return this.getTypedRuleContext(SubscriptSafeContext,0); - }; - - COLUMN() { - return this.getToken(SqlBaseParser.COLUMN, 0); - }; - - IF() { - return this.getToken(SqlBaseParser.IF, 0); - }; - - EXISTS() { - return this.getToken(SqlBaseParser.EXISTS, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDropColumnDefinition(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDropColumnDefinition(this); - } - } - - -} - - - -class RerouteOptionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_rerouteOption; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class RerouteMoveShardContext extends RerouteOptionContext { - - constructor(parser, ctx) { - super(parser); - this.shardId = null;; - this.fromNodeId = null;; - this.toNodeId = null;; - super.copyFrom(ctx); - } - - MOVE() { - return this.getToken(SqlBaseParser.MOVE, 0); - }; - - SHARD() { - return this.getToken(SqlBaseParser.SHARD, 0); - }; - - FROM() { - return this.getToken(SqlBaseParser.FROM, 0); - }; - - TO() { - return this.getToken(SqlBaseParser.TO, 0); - }; - - parameterOrInteger() { - return this.getTypedRuleContext(ParameterOrIntegerContext,0); - }; - - parameterOrString = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ParameterOrStringContext); - } else { - return this.getTypedRuleContext(ParameterOrStringContext,i); - } - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterRerouteMoveShard(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitRerouteMoveShard(this); - } - } - - -} - -SqlBaseParser.RerouteMoveShardContext = RerouteMoveShardContext; - -class RerouteAllocateReplicaShardContext extends RerouteOptionContext { - - constructor(parser, ctx) { - super(parser); - this.shardId = null;; - this.nodeId = null;; - super.copyFrom(ctx); - } - - ALLOCATE() { - return this.getToken(SqlBaseParser.ALLOCATE, 0); - }; - - REPLICA() { - return this.getToken(SqlBaseParser.REPLICA, 0); - }; - - SHARD() { - return this.getToken(SqlBaseParser.SHARD, 0); - }; - - ON() { - return this.getToken(SqlBaseParser.ON, 0); - }; - - parameterOrInteger() { - return this.getTypedRuleContext(ParameterOrIntegerContext,0); - }; - - parameterOrString() { - return this.getTypedRuleContext(ParameterOrStringContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterRerouteAllocateReplicaShard(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitRerouteAllocateReplicaShard(this); - } - } - - -} - -SqlBaseParser.RerouteAllocateReplicaShardContext = RerouteAllocateReplicaShardContext; - -class ReroutePromoteReplicaContext extends RerouteOptionContext { - - constructor(parser, ctx) { - super(parser); - this.shardId = null;; - this.nodeId = null;; - super.copyFrom(ctx); - } - - PROMOTE() { - return this.getToken(SqlBaseParser.PROMOTE, 0); - }; - - REPLICA() { - return this.getToken(SqlBaseParser.REPLICA, 0); - }; - - SHARD() { - return this.getToken(SqlBaseParser.SHARD, 0); - }; - - ON() { - return this.getToken(SqlBaseParser.ON, 0); - }; - - parameterOrInteger() { - return this.getTypedRuleContext(ParameterOrIntegerContext,0); - }; - - parameterOrString() { - return this.getTypedRuleContext(ParameterOrStringContext,0); - }; - - withProperties() { - return this.getTypedRuleContext(WithPropertiesContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterReroutePromoteReplica(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitReroutePromoteReplica(this); - } - } - - -} - -SqlBaseParser.ReroutePromoteReplicaContext = ReroutePromoteReplicaContext; - -class RerouteCancelShardContext extends RerouteOptionContext { - - constructor(parser, ctx) { - super(parser); - this.shardId = null;; - this.nodeId = null;; - super.copyFrom(ctx); - } - - CANCEL() { - return this.getToken(SqlBaseParser.CANCEL, 0); - }; - - SHARD() { - return this.getToken(SqlBaseParser.SHARD, 0); - }; - - ON() { - return this.getToken(SqlBaseParser.ON, 0); - }; - - parameterOrInteger() { - return this.getTypedRuleContext(ParameterOrIntegerContext,0); - }; - - parameterOrString() { - return this.getTypedRuleContext(ParameterOrStringContext,0); - }; - - withProperties() { - return this.getTypedRuleContext(WithPropertiesContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterRerouteCancelShard(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitRerouteCancelShard(this); - } - } - - -} - -SqlBaseParser.RerouteCancelShardContext = RerouteCancelShardContext; - -class DataTypeContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_dataType; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class ObjectDataTypeContext extends DataTypeContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - objectTypeDefinition() { - return this.getTypedRuleContext(ObjectTypeDefinitionContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterObjectDataType(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitObjectDataType(this); - } - } - - -} - -SqlBaseParser.ObjectDataTypeContext = ObjectDataTypeContext; - -class MaybeParametrizedDataTypeContext extends DataTypeContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - baseDataType() { - return this.getTypedRuleContext(BaseDataTypeContext,0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - integerLiteral = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IntegerLiteralContext); - } else { - return this.getTypedRuleContext(IntegerLiteralContext,i); - } - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterMaybeParametrizedDataType(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitMaybeParametrizedDataType(this); - } - } - - -} - -SqlBaseParser.MaybeParametrizedDataTypeContext = MaybeParametrizedDataTypeContext; - -class ArrayDataTypeContext extends DataTypeContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - ARRAY() { - return this.getToken(SqlBaseParser.ARRAY, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - dataType() { - return this.getTypedRuleContext(DataTypeContext,0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - EMPTY_SQUARE_BRACKET() { - return this.getToken(SqlBaseParser.EMPTY_SQUARE_BRACKET, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterArrayDataType(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitArrayDataType(this); - } - } - - -} - -SqlBaseParser.ArrayDataTypeContext = ArrayDataTypeContext; - -class BaseDataTypeContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_baseDataType; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class DefinedDataTypeDefaultContext extends BaseDataTypeContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - definedDataType() { - return this.getTypedRuleContext(DefinedDataTypeContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDefinedDataTypeDefault(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDefinedDataTypeDefault(this); - } - } - - -} - -SqlBaseParser.DefinedDataTypeDefaultContext = DefinedDataTypeDefaultContext; - -class IdentDataTypeContext extends BaseDataTypeContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterIdentDataType(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitIdentDataType(this); - } - } - - -} - -SqlBaseParser.IdentDataTypeContext = IdentDataTypeContext; - -class DefinedDataTypeContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_definedDataType; - } - - DOUBLE() { - return this.getToken(SqlBaseParser.DOUBLE, 0); - }; - - PRECISION() { - return this.getToken(SqlBaseParser.PRECISION, 0); - }; - - TIMESTAMP() { - return this.getToken(SqlBaseParser.TIMESTAMP, 0); - }; - - WITHOUT() { - return this.getToken(SqlBaseParser.WITHOUT, 0); - }; - - TIME = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.TIME); - } else { - return this.getToken(SqlBaseParser.TIME, i); - } - }; - - - ZONE() { - return this.getToken(SqlBaseParser.ZONE, 0); - }; - - WITH() { - return this.getToken(SqlBaseParser.WITH, 0); - }; - - CHARACTER() { - return this.getToken(SqlBaseParser.CHARACTER, 0); - }; - - VARYING() { - return this.getToken(SqlBaseParser.VARYING, 0); - }; - - CHAR_SPECIAL() { - return this.getToken(SqlBaseParser.CHAR_SPECIAL, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDefinedDataType(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDefinedDataType(this); - } - } - - -} - - - -class ObjectTypeDefinitionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_objectTypeDefinition; - this.type = null; - } - - OBJECT() { - return this.getToken(SqlBaseParser.OBJECT, 0); - }; - - OPEN_ROUND_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.OPEN_ROUND_BRACKET); - } else { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, i); - } - }; - - - CLOSE_ROUND_BRACKET = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.CLOSE_ROUND_BRACKET); - } else { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, i); - } - }; - - - AS() { - return this.getToken(SqlBaseParser.AS, 0); - }; - - columnDefinition = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ColumnDefinitionContext); - } else { - return this.getTypedRuleContext(ColumnDefinitionContext,i); - } - }; - - DYNAMIC() { - return this.getToken(SqlBaseParser.DYNAMIC, 0); - }; - - STRICT() { - return this.getToken(SqlBaseParser.STRICT, 0); - }; - - IGNORED() { - return this.getToken(SqlBaseParser.IGNORED, 0); - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterObjectTypeDefinition(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitObjectTypeDefinition(this); - } - } - - -} - - - -class ColumnConstraintContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_columnConstraint; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class ColumnConstraintPrimaryKeyContext extends ColumnConstraintContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - primaryKeyContraint() { - return this.getTypedRuleContext(PrimaryKeyContraintContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterColumnConstraintPrimaryKey(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitColumnConstraintPrimaryKey(this); - } - } - - -} - -SqlBaseParser.ColumnConstraintPrimaryKeyContext = ColumnConstraintPrimaryKeyContext; - -class ColumnStorageDefinitionContext extends ColumnConstraintContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - STORAGE() { - return this.getToken(SqlBaseParser.STORAGE, 0); - }; - - withProperties() { - return this.getTypedRuleContext(WithPropertiesContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterColumnStorageDefinition(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitColumnStorageDefinition(this); - } - } - - -} - -SqlBaseParser.ColumnStorageDefinitionContext = ColumnStorageDefinitionContext; - -class ColumnCheckConstraintContext extends ColumnConstraintContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - checkConstraint() { - return this.getTypedRuleContext(CheckConstraintContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterColumnCheckConstraint(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitColumnCheckConstraint(this); - } - } - - -} - -SqlBaseParser.ColumnCheckConstraintContext = ColumnCheckConstraintContext; - -class ColumnConstraintNullContext extends ColumnConstraintContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - NULL() { - return this.getToken(SqlBaseParser.NULL, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterColumnConstraintNull(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitColumnConstraintNull(this); - } - } - - -} - -SqlBaseParser.ColumnConstraintNullContext = ColumnConstraintNullContext; - -class ColumnIndexConstraintContext extends ColumnConstraintContext { - - constructor(parser, ctx) { - super(parser); - this.method = null;; - super.copyFrom(ctx); - } - - INDEX() { - return this.getToken(SqlBaseParser.INDEX, 0); - }; - - USING() { - return this.getToken(SqlBaseParser.USING, 0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - withProperties() { - return this.getTypedRuleContext(WithPropertiesContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterColumnIndexConstraint(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitColumnIndexConstraint(this); - } - } - - -} - -SqlBaseParser.ColumnIndexConstraintContext = ColumnIndexConstraintContext; - -class ColumnDefaultConstraintContext extends ColumnConstraintContext { - - constructor(parser, ctx) { - super(parser); - this.name = null;; - this.defaultExpr = null;; - super.copyFrom(ctx); - } - - DEFAULT() { - return this.getToken(SqlBaseParser.DEFAULT, 0); - }; - - expr() { - return this.getTypedRuleContext(ExprContext,0); - }; - - CONSTRAINT() { - return this.getToken(SqlBaseParser.CONSTRAINT, 0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterColumnDefaultConstraint(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitColumnDefaultConstraint(this); - } - } - - -} - -SqlBaseParser.ColumnDefaultConstraintContext = ColumnDefaultConstraintContext; - -class ColumnGeneratedConstraintContext extends ColumnConstraintContext { - - constructor(parser, ctx) { - super(parser); - this.name = null;; - this.generatedExpr = null;; - super.copyFrom(ctx); - } - - AS() { - return this.getToken(SqlBaseParser.AS, 0); - }; - - expr() { - return this.getTypedRuleContext(ExprContext,0); - }; - - CONSTRAINT() { - return this.getToken(SqlBaseParser.CONSTRAINT, 0); - }; - - GENERATED() { - return this.getToken(SqlBaseParser.GENERATED, 0); - }; - - ALWAYS() { - return this.getToken(SqlBaseParser.ALWAYS, 0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterColumnGeneratedConstraint(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitColumnGeneratedConstraint(this); - } - } - - -} - -SqlBaseParser.ColumnGeneratedConstraintContext = ColumnGeneratedConstraintContext; - -class ColumnIndexOffContext extends ColumnConstraintContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - INDEX() { - return this.getToken(SqlBaseParser.INDEX, 0); - }; - - OFF() { - return this.getToken(SqlBaseParser.OFF, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterColumnIndexOff(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitColumnIndexOff(this); - } - } - - -} - -SqlBaseParser.ColumnIndexOffContext = ColumnIndexOffContext; - -class ColumnConstraintNotNullContext extends ColumnConstraintContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - NOT() { - return this.getToken(SqlBaseParser.NOT, 0); - }; - - NULL() { - return this.getToken(SqlBaseParser.NULL, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterColumnConstraintNotNull(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitColumnConstraintNotNull(this); - } - } - - -} - -SqlBaseParser.ColumnConstraintNotNullContext = ColumnConstraintNotNullContext; - -class PrimaryKeyContraintContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_primaryKeyContraint; - this.name = null; - } - - PRIMARY_KEY() { - return this.getToken(SqlBaseParser.PRIMARY_KEY, 0); - }; - - CONSTRAINT() { - return this.getToken(SqlBaseParser.CONSTRAINT, 0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterPrimaryKeyContraint(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitPrimaryKeyContraint(this); - } - } - - -} - - - -class CheckConstraintContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_checkConstraint; - this.name = null; - this.expression = null; - } - - CHECK() { - return this.getToken(SqlBaseParser.CHECK, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - booleanExpression() { - return this.getTypedRuleContext(BooleanExpressionContext,0); - }; - - CONSTRAINT() { - return this.getToken(SqlBaseParser.CONSTRAINT, 0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterCheckConstraint(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitCheckConstraint(this); - } - } - - -} - - - -class WithPropertiesContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_withProperties; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class WithGenericPropertiesContext extends WithPropertiesContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - WITH() { - return this.getToken(SqlBaseParser.WITH, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - genericProperties() { - return this.getTypedRuleContext(GenericPropertiesContext,0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterWithGenericProperties(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitWithGenericProperties(this); - } - } - - -} - -SqlBaseParser.WithGenericPropertiesContext = WithGenericPropertiesContext; - -class GenericPropertiesContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_genericProperties; - } - - genericProperty = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(GenericPropertyContext); - } else { - return this.getTypedRuleContext(GenericPropertyContext,i); - } - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterGenericProperties(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitGenericProperties(this); - } - } - - -} - - - -class GenericPropertyContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_genericProperty; - } - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - EQ() { - return this.getToken(SqlBaseParser.EQ, 0); - }; - - expr() { - return this.getTypedRuleContext(ExprContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterGenericProperty(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitGenericProperty(this); - } - } - - -} - - - -class ExplainOptionsContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_explainOptions; - } - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - explainOption = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExplainOptionContext); - } else { - return this.getTypedRuleContext(ExplainOptionContext,i); - } - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterExplainOptions(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitExplainOptions(this); - } - } - - -} - - - -class ExplainOptionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_explainOption; - } - - ANALYZE() { - return this.getToken(SqlBaseParser.ANALYZE, 0); - }; - - COSTS() { - return this.getToken(SqlBaseParser.COSTS, 0); - }; - - VERBOSE() { - return this.getToken(SqlBaseParser.VERBOSE, 0); - }; - - booleanLiteral() { - return this.getTypedRuleContext(BooleanLiteralContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterExplainOption(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitExplainOption(this); - } - } - - -} - - - -class MatchPredicateIdentsContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_matchPredicateIdents; - this.matchPred = null; - } - - matchPredicateIdent = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(MatchPredicateIdentContext); - } else { - return this.getTypedRuleContext(MatchPredicateIdentContext,i); - } - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterMatchPredicateIdents(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitMatchPredicateIdents(this); - } - } - - -} - - - -class MatchPredicateIdentContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_matchPredicateIdent; - this.boost = null; - } - - subscriptSafe() { - return this.getTypedRuleContext(SubscriptSafeContext,0); - }; - - parameterOrSimpleLiteral() { - return this.getTypedRuleContext(ParameterOrSimpleLiteralContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterMatchPredicateIdent(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitMatchPredicateIdent(this); - } - } - - -} - - - -class AnalyzerElementContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_analyzerElement; - } - - tokenizer() { - return this.getTypedRuleContext(TokenizerContext,0); - }; - - tokenFilters() { - return this.getTypedRuleContext(TokenFiltersContext,0); - }; - - charFilters() { - return this.getTypedRuleContext(CharFiltersContext,0); - }; - - genericProperty() { - return this.getTypedRuleContext(GenericPropertyContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterAnalyzerElement(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitAnalyzerElement(this); - } - } - - -} - - - -class TokenizerContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_tokenizer; - } - - TOKENIZER() { - return this.getToken(SqlBaseParser.TOKENIZER, 0); - }; - - namedProperties() { - return this.getTypedRuleContext(NamedPropertiesContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterTokenizer(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitTokenizer(this); - } - } - - -} - - - -class TokenFiltersContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_tokenFilters; - } - - TOKEN_FILTERS() { - return this.getToken(SqlBaseParser.TOKEN_FILTERS, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - namedProperties = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(NamedPropertiesContext); - } else { - return this.getTypedRuleContext(NamedPropertiesContext,i); - } - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterTokenFilters(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitTokenFilters(this); - } - } - - -} - - - -class CharFiltersContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_charFilters; - } - - CHAR_FILTERS() { - return this.getToken(SqlBaseParser.CHAR_FILTERS, 0); - }; - - OPEN_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.OPEN_ROUND_BRACKET, 0); - }; - - namedProperties = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(NamedPropertiesContext); - } else { - return this.getTypedRuleContext(NamedPropertiesContext,i); - } - }; - - CLOSE_ROUND_BRACKET() { - return this.getToken(SqlBaseParser.CLOSE_ROUND_BRACKET, 0); - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterCharFilters(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitCharFilters(this); - } - } - - -} - - - -class NamedPropertiesContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_namedProperties; - } - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - withProperties() { - return this.getTypedRuleContext(WithPropertiesContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterNamedProperties(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitNamedProperties(this); - } - } - - -} - - - -class TableWithPartitionsContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_tableWithPartitions; - } - - tableWithPartition = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(TableWithPartitionContext); - } else { - return this.getTypedRuleContext(TableWithPartitionContext,i); - } - }; - - COMMA = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.COMMA); - } else { - return this.getToken(SqlBaseParser.COMMA, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterTableWithPartitions(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitTableWithPartitions(this); - } - } - - -} - - - -class SetGlobalAssignmentContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_setGlobalAssignment; - this.name = null; - this.value = null; - } - - primaryExpression() { - return this.getTypedRuleContext(PrimaryExpressionContext,0); - }; - - EQ() { - return this.getToken(SqlBaseParser.EQ, 0); - }; - - TO() { - return this.getToken(SqlBaseParser.TO, 0); - }; - - expr() { - return this.getTypedRuleContext(ExprContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSetGlobalAssignment(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSetGlobalAssignment(this); - } - } - - -} - - - -class SetExprContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_setExpr; - } - - stringLiteral() { - return this.getTypedRuleContext(StringLiteralContext,0); - }; - - booleanLiteral() { - return this.getTypedRuleContext(BooleanLiteralContext,0); - }; - - numericLiteral() { - return this.getTypedRuleContext(NumericLiteralContext,0); - }; - - ident() { - return this.getTypedRuleContext(IdentContext,0); - }; - - on() { - return this.getTypedRuleContext(OnContext,0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSetExpr(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSetExpr(this); - } - } - - -} - - - -class OnContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_on; - } - - ON() { - return this.getToken(SqlBaseParser.ON, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterOn(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitOn(this); - } - } - - -} - - - -class SecurableContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_securable; - } - - SCHEMA() { - return this.getToken(SqlBaseParser.SCHEMA, 0); - }; - - TABLE() { - return this.getToken(SqlBaseParser.TABLE, 0); - }; - - VIEW() { - return this.getToken(SqlBaseParser.VIEW, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterSecurable(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitSecurable(this); - } - } - - -} - - - -class TransactionModeContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_transactionMode; - } - - ISOLATION() { - return this.getToken(SqlBaseParser.ISOLATION, 0); - }; - - LEVEL() { - return this.getToken(SqlBaseParser.LEVEL, 0); - }; - - isolationLevel() { - return this.getTypedRuleContext(IsolationLevelContext,0); - }; - - READ() { - return this.getToken(SqlBaseParser.READ, 0); - }; - - WRITE() { - return this.getToken(SqlBaseParser.WRITE, 0); - }; - - ONLY() { - return this.getToken(SqlBaseParser.ONLY, 0); - }; - - DEFERRABLE() { - return this.getToken(SqlBaseParser.DEFERRABLE, 0); - }; - - NOT() { - return this.getToken(SqlBaseParser.NOT, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterTransactionMode(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitTransactionMode(this); - } - } - - -} - - - -class IsolationLevelContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_isolationLevel; - } - - SERIALIZABLE() { - return this.getToken(SqlBaseParser.SERIALIZABLE, 0); - }; - - REPEATABLE() { - return this.getToken(SqlBaseParser.REPEATABLE, 0); - }; - - READ() { - return this.getToken(SqlBaseParser.READ, 0); - }; - - COMMITTED() { - return this.getToken(SqlBaseParser.COMMITTED, 0); - }; - - UNCOMMITTED() { - return this.getToken(SqlBaseParser.UNCOMMITTED, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterIsolationLevel(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitIsolationLevel(this); - } - } - - -} - - - -class DirectionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_direction; - } - - NEXT() { - return this.getToken(SqlBaseParser.NEXT, 0); - }; - - PRIOR() { - return this.getToken(SqlBaseParser.PRIOR, 0); - }; - - FIRST() { - return this.getToken(SqlBaseParser.FIRST, 0); - }; - - LAST() { - return this.getToken(SqlBaseParser.LAST, 0); - }; - - ABSOLUTE() { - return this.getToken(SqlBaseParser.ABSOLUTE, 0); - }; - - integerLiteral() { - return this.getTypedRuleContext(IntegerLiteralContext,0); - }; - - RELATIVE() { - return this.getToken(SqlBaseParser.RELATIVE, 0); - }; - - MINUS() { - return this.getToken(SqlBaseParser.MINUS, 0); - }; - - ALL() { - return this.getToken(SqlBaseParser.ALL, 0); - }; - - FORWARD() { - return this.getToken(SqlBaseParser.FORWARD, 0); - }; - - BACKWARD() { - return this.getToken(SqlBaseParser.BACKWARD, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDirection(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDirection(this); - } - } - - -} - - - -class DeclareCursorParamsContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_declareCursorParams; - } - - ASENSITIVE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.ASENSITIVE); - } else { - return this.getToken(SqlBaseParser.ASENSITIVE, i); - } - }; - - - BINARY = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.BINARY); - } else { - return this.getToken(SqlBaseParser.BINARY, i); - } - }; - - - INSENSITIVE = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.INSENSITIVE); - } else { - return this.getToken(SqlBaseParser.INSENSITIVE, i); - } - }; - - - SCROLL = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.SCROLL); - } else { - return this.getToken(SqlBaseParser.SCROLL, i); - } - }; - - - NO = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(SqlBaseParser.NO); - } else { - return this.getToken(SqlBaseParser.NO, i); - } - }; - - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterDeclareCursorParams(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitDeclareCursorParams(this); - } - } - - -} - - - -class NonReservedContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = SqlBaseParser.RULE_nonReserved; - } - - ABSOLUTE() { - return this.getToken(SqlBaseParser.ABSOLUTE, 0); - }; - - ALIAS() { - return this.getToken(SqlBaseParser.ALIAS, 0); - }; - - ALLOCATE() { - return this.getToken(SqlBaseParser.ALLOCATE, 0); - }; - - ALWAYS() { - return this.getToken(SqlBaseParser.ALWAYS, 0); - }; - - ANALYZE() { - return this.getToken(SqlBaseParser.ANALYZE, 0); - }; - - ANALYZER() { - return this.getToken(SqlBaseParser.ANALYZER, 0); - }; - - ARTIFACTS() { - return this.getToken(SqlBaseParser.ARTIFACTS, 0); - }; - - ASENSITIVE() { - return this.getToken(SqlBaseParser.ASENSITIVE, 0); - }; - - AT() { - return this.getToken(SqlBaseParser.AT, 0); - }; - - AUTHORIZATION() { - return this.getToken(SqlBaseParser.AUTHORIZATION, 0); - }; - - BACKWARD() { - return this.getToken(SqlBaseParser.BACKWARD, 0); - }; - - BEGIN() { - return this.getToken(SqlBaseParser.BEGIN, 0); - }; - - BERNOULLI() { - return this.getToken(SqlBaseParser.BERNOULLI, 0); - }; - - BINARY() { - return this.getToken(SqlBaseParser.BINARY, 0); - }; - - BLOB() { - return this.getToken(SqlBaseParser.BLOB, 0); - }; - - BOOLEAN() { - return this.getToken(SqlBaseParser.BOOLEAN, 0); - }; - - BOTH() { - return this.getToken(SqlBaseParser.BOTH, 0); - }; - - BYTE() { - return this.getToken(SqlBaseParser.BYTE, 0); - }; - - CANCEL() { - return this.getToken(SqlBaseParser.CANCEL, 0); - }; - - CASCADE() { - return this.getToken(SqlBaseParser.CASCADE, 0); - }; - - CATALOGS() { - return this.getToken(SqlBaseParser.CATALOGS, 0); - }; - - CHARACTER() { - return this.getToken(SqlBaseParser.CHARACTER, 0); - }; - - CHARACTERISTICS() { - return this.getToken(SqlBaseParser.CHARACTERISTICS, 0); - }; - - CHAR_FILTERS() { - return this.getToken(SqlBaseParser.CHAR_FILTERS, 0); - }; - - CHECK() { - return this.getToken(SqlBaseParser.CHECK, 0); - }; - - CLOSE() { - return this.getToken(SqlBaseParser.CLOSE, 0); - }; - - CLUSTER() { - return this.getToken(SqlBaseParser.CLUSTER, 0); - }; - - CLUSTERED() { - return this.getToken(SqlBaseParser.CLUSTERED, 0); - }; - - COLUMNS() { - return this.getToken(SqlBaseParser.COLUMNS, 0); - }; - - COMMIT() { - return this.getToken(SqlBaseParser.COMMIT, 0); - }; - - COMMITTED() { - return this.getToken(SqlBaseParser.COMMITTED, 0); - }; - - CONFLICT() { - return this.getToken(SqlBaseParser.CONFLICT, 0); - }; - - CONNECTION() { - return this.getToken(SqlBaseParser.CONNECTION, 0); - }; - - COPY() { - return this.getToken(SqlBaseParser.COPY, 0); - }; - - CURRENT() { - return this.getToken(SqlBaseParser.CURRENT, 0); - }; - - CURRENT_DATE() { - return this.getToken(SqlBaseParser.CURRENT_DATE, 0); - }; - - CURRENT_SCHEMA() { - return this.getToken(SqlBaseParser.CURRENT_SCHEMA, 0); - }; - - CURRENT_TIME() { - return this.getToken(SqlBaseParser.CURRENT_TIME, 0); - }; - - CURRENT_TIMESTAMP() { - return this.getToken(SqlBaseParser.CURRENT_TIMESTAMP, 0); - }; - - CURSOR() { - return this.getToken(SqlBaseParser.CURSOR, 0); - }; - - DANGLING() { - return this.getToken(SqlBaseParser.DANGLING, 0); - }; - - DATA() { - return this.getToken(SqlBaseParser.DATA, 0); - }; - - DAY() { - return this.getToken(SqlBaseParser.DAY, 0); - }; - - DEALLOCATE() { - return this.getToken(SqlBaseParser.DEALLOCATE, 0); - }; - - DECLARE() { - return this.getToken(SqlBaseParser.DECLARE, 0); - }; - - DECOMMISSION() { - return this.getToken(SqlBaseParser.DECOMMISSION, 0); - }; - - DEFERRABLE() { - return this.getToken(SqlBaseParser.DEFERRABLE, 0); - }; - - DISABLE() { - return this.getToken(SqlBaseParser.DISABLE, 0); - }; - - DISCARD() { - return this.getToken(SqlBaseParser.DISCARD, 0); - }; - - DISTRIBUTED() { - return this.getToken(SqlBaseParser.DISTRIBUTED, 0); - }; - - DO() { - return this.getToken(SqlBaseParser.DO, 0); - }; - - DOUBLE() { - return this.getToken(SqlBaseParser.DOUBLE, 0); - }; - - DUPLICATE() { - return this.getToken(SqlBaseParser.DUPLICATE, 0); - }; - - DYNAMIC() { - return this.getToken(SqlBaseParser.DYNAMIC, 0); - }; - - ENABLE() { - return this.getToken(SqlBaseParser.ENABLE, 0); - }; - - EXPLAIN() { - return this.getToken(SqlBaseParser.EXPLAIN, 0); - }; - - EXTENDS() { - return this.getToken(SqlBaseParser.EXTENDS, 0); - }; - - FAILED() { - return this.getToken(SqlBaseParser.FAILED, 0); - }; - - FETCH() { - return this.getToken(SqlBaseParser.FETCH, 0); - }; - - FILTER() { - return this.getToken(SqlBaseParser.FILTER, 0); - }; - - FLOAT() { - return this.getToken(SqlBaseParser.FLOAT, 0); - }; - - FOLLOWING() { - return this.getToken(SqlBaseParser.FOLLOWING, 0); - }; - - FOREIGN() { - return this.getToken(SqlBaseParser.FOREIGN, 0); - }; - - FORMAT() { - return this.getToken(SqlBaseParser.FORMAT, 0); - }; - - FORWARD() { - return this.getToken(SqlBaseParser.FORWARD, 0); - }; - - FULLTEXT() { - return this.getToken(SqlBaseParser.FULLTEXT, 0); - }; - - FUNCTIONS() { - return this.getToken(SqlBaseParser.FUNCTIONS, 0); - }; - - GC() { - return this.getToken(SqlBaseParser.GC, 0); - }; - - GENERATED() { - return this.getToken(SqlBaseParser.GENERATED, 0); - }; - - GEO_POINT() { - return this.getToken(SqlBaseParser.GEO_POINT, 0); - }; - - GEO_SHAPE() { - return this.getToken(SqlBaseParser.GEO_SHAPE, 0); - }; - - GLOBAL() { - return this.getToken(SqlBaseParser.GLOBAL, 0); - }; - - GRAPHVIZ() { - return this.getToken(SqlBaseParser.GRAPHVIZ, 0); - }; - - HOLD() { - return this.getToken(SqlBaseParser.HOLD, 0); - }; - - HOUR() { - return this.getToken(SqlBaseParser.HOUR, 0); - }; - - IGNORE() { - return this.getToken(SqlBaseParser.IGNORE, 0); - }; - - IGNORED() { - return this.getToken(SqlBaseParser.IGNORED, 0); - }; - - ILIKE() { - return this.getToken(SqlBaseParser.ILIKE, 0); - }; - - INSENSITIVE() { - return this.getToken(SqlBaseParser.INSENSITIVE, 0); - }; - - INT() { - return this.getToken(SqlBaseParser.INT, 0); - }; - - INTEGER() { - return this.getToken(SqlBaseParser.INTEGER, 0); - }; - - INTERVAL() { - return this.getToken(SqlBaseParser.INTERVAL, 0); - }; - - IP() { - return this.getToken(SqlBaseParser.IP, 0); - }; - - ISOLATION() { - return this.getToken(SqlBaseParser.ISOLATION, 0); - }; - - KEY() { - return this.getToken(SqlBaseParser.KEY, 0); - }; - - KILL() { - return this.getToken(SqlBaseParser.KILL, 0); - }; - - LANGUAGE() { - return this.getToken(SqlBaseParser.LANGUAGE, 0); - }; - - LEADING() { - return this.getToken(SqlBaseParser.LEADING, 0); - }; - - LEVEL() { - return this.getToken(SqlBaseParser.LEVEL, 0); - }; - - LOCAL() { - return this.getToken(SqlBaseParser.LOCAL, 0); - }; - - LOGICAL() { - return this.getToken(SqlBaseParser.LOGICAL, 0); - }; - - LONG() { - return this.getToken(SqlBaseParser.LONG, 0); - }; - - MAPPING() { - return this.getToken(SqlBaseParser.MAPPING, 0); - }; - - MATERIALIZED() { - return this.getToken(SqlBaseParser.MATERIALIZED, 0); - }; - - METADATA() { - return this.getToken(SqlBaseParser.METADATA, 0); - }; - - MINUTE() { - return this.getToken(SqlBaseParser.MINUTE, 0); - }; - - MONTH() { - return this.getToken(SqlBaseParser.MONTH, 0); - }; - - MOVE() { - return this.getToken(SqlBaseParser.MOVE, 0); - }; - - NEXT() { - return this.getToken(SqlBaseParser.NEXT, 0); - }; - - NO() { - return this.getToken(SqlBaseParser.NO, 0); - }; - - NOTHING() { - return this.getToken(SqlBaseParser.NOTHING, 0); - }; - - OFF() { - return this.getToken(SqlBaseParser.OFF, 0); - }; - - ONLY() { - return this.getToken(SqlBaseParser.ONLY, 0); - }; - - OPEN() { - return this.getToken(SqlBaseParser.OPEN, 0); - }; - - OPTIMIZE() { - return this.getToken(SqlBaseParser.OPTIMIZE, 0); - }; - - OPTIONS() { - return this.getToken(SqlBaseParser.OPTIONS, 0); - }; - - OVER() { - return this.getToken(SqlBaseParser.OVER, 0); - }; - - PARTITION() { - return this.getToken(SqlBaseParser.PARTITION, 0); - }; - - PARTITIONED() { - return this.getToken(SqlBaseParser.PARTITIONED, 0); - }; - - PARTITIONS() { - return this.getToken(SqlBaseParser.PARTITIONS, 0); - }; - - PLAIN() { - return this.getToken(SqlBaseParser.PLAIN, 0); - }; - - PLANS() { - return this.getToken(SqlBaseParser.PLANS, 0); - }; - - PRECEDING() { - return this.getToken(SqlBaseParser.PRECEDING, 0); - }; - - PRECISION() { - return this.getToken(SqlBaseParser.PRECISION, 0); - }; - - PREPARE() { - return this.getToken(SqlBaseParser.PREPARE, 0); - }; - - PRIOR() { - return this.getToken(SqlBaseParser.PRIOR, 0); - }; - - PRIVILEGES() { - return this.getToken(SqlBaseParser.PRIVILEGES, 0); - }; - - PROMOTE() { - return this.getToken(SqlBaseParser.PROMOTE, 0); - }; - - PUBLICATION() { - return this.getToken(SqlBaseParser.PUBLICATION, 0); - }; - - RANGE() { - return this.getToken(SqlBaseParser.RANGE, 0); - }; - - READ() { - return this.getToken(SqlBaseParser.READ, 0); - }; - - REFRESH() { - return this.getToken(SqlBaseParser.REFRESH, 0); - }; - - RELATIVE() { - return this.getToken(SqlBaseParser.RELATIVE, 0); - }; - - RENAME() { - return this.getToken(SqlBaseParser.RENAME, 0); - }; - - REPEATABLE() { - return this.getToken(SqlBaseParser.REPEATABLE, 0); - }; - - REPLACE() { - return this.getToken(SqlBaseParser.REPLACE, 0); - }; - - REPLICA() { - return this.getToken(SqlBaseParser.REPLICA, 0); - }; - - REPOSITORY() { - return this.getToken(SqlBaseParser.REPOSITORY, 0); - }; - - REROUTE() { - return this.getToken(SqlBaseParser.REROUTE, 0); - }; - - RESPECT() { - return this.getToken(SqlBaseParser.RESPECT, 0); - }; - - RESTORE() { - return this.getToken(SqlBaseParser.RESTORE, 0); - }; - - RESTRICT() { - return this.getToken(SqlBaseParser.RESTRICT, 0); - }; - - RETRY() { - return this.getToken(SqlBaseParser.RETRY, 0); - }; - - RETURN() { - return this.getToken(SqlBaseParser.RETURN, 0); - }; - - RETURNING() { - return this.getToken(SqlBaseParser.RETURNING, 0); - }; - - ROLE() { - return this.getToken(SqlBaseParser.ROLE, 0); - }; - - ROW() { - return this.getToken(SqlBaseParser.ROW, 0); - }; - - ROWS() { - return this.getToken(SqlBaseParser.ROWS, 0); - }; - - SCHEMA() { - return this.getToken(SqlBaseParser.SCHEMA, 0); - }; - - SCHEMAS() { - return this.getToken(SqlBaseParser.SCHEMAS, 0); - }; - - SCROLL() { - return this.getToken(SqlBaseParser.SCROLL, 0); - }; - - SECOND() { - return this.getToken(SqlBaseParser.SECOND, 0); - }; - - SEQUENCES() { - return this.getToken(SqlBaseParser.SEQUENCES, 0); - }; - - SERIALIZABLE() { - return this.getToken(SqlBaseParser.SERIALIZABLE, 0); - }; - - SERVER() { - return this.getToken(SqlBaseParser.SERVER, 0); - }; - - SESSION() { - return this.getToken(SqlBaseParser.SESSION, 0); - }; - - SHARD() { - return this.getToken(SqlBaseParser.SHARD, 0); - }; - - SHARDS() { - return this.getToken(SqlBaseParser.SHARDS, 0); - }; - - SHORT() { - return this.getToken(SqlBaseParser.SHORT, 0); - }; - - SHOW() { - return this.getToken(SqlBaseParser.SHOW, 0); - }; - - SNAPSHOT() { - return this.getToken(SqlBaseParser.SNAPSHOT, 0); - }; - - START() { - return this.getToken(SqlBaseParser.START, 0); - }; - - STORAGE() { - return this.getToken(SqlBaseParser.STORAGE, 0); - }; - - STRICT() { - return this.getToken(SqlBaseParser.STRICT, 0); - }; - - STRING_TYPE() { - return this.getToken(SqlBaseParser.STRING_TYPE, 0); - }; - - SUBSCRIPTION() { - return this.getToken(SqlBaseParser.SUBSCRIPTION, 0); - }; - - SUBSTRING() { - return this.getToken(SqlBaseParser.SUBSTRING, 0); - }; - - SUMMARY() { - return this.getToken(SqlBaseParser.SUMMARY, 0); - }; - - SWAP() { - return this.getToken(SqlBaseParser.SWAP, 0); - }; - - SYSTEM() { - return this.getToken(SqlBaseParser.SYSTEM, 0); - }; - - TABLES() { - return this.getToken(SqlBaseParser.TABLES, 0); - }; - - TABLESAMPLE() { - return this.getToken(SqlBaseParser.TABLESAMPLE, 0); - }; - - TEMP() { - return this.getToken(SqlBaseParser.TEMP, 0); - }; - - TEMPORARY() { - return this.getToken(SqlBaseParser.TEMPORARY, 0); - }; - - TEXT() { - return this.getToken(SqlBaseParser.TEXT, 0); - }; - - TIME() { - return this.getToken(SqlBaseParser.TIME, 0); - }; - - TIMESTAMP() { - return this.getToken(SqlBaseParser.TIMESTAMP, 0); - }; - - TO() { - return this.getToken(SqlBaseParser.TO, 0); - }; - - TOKENIZER() { - return this.getToken(SqlBaseParser.TOKENIZER, 0); - }; - - TOKEN_FILTERS() { - return this.getToken(SqlBaseParser.TOKEN_FILTERS, 0); - }; - - TRAILING() { - return this.getToken(SqlBaseParser.TRAILING, 0); - }; - - TRANSACTION() { - return this.getToken(SqlBaseParser.TRANSACTION, 0); - }; - - TRANSACTION_ISOLATION() { - return this.getToken(SqlBaseParser.TRANSACTION_ISOLATION, 0); - }; - - TRIM() { - return this.getToken(SqlBaseParser.TRIM, 0); - }; - - TYPE() { - return this.getToken(SqlBaseParser.TYPE, 0); - }; - - UNCOMMITTED() { - return this.getToken(SqlBaseParser.UNCOMMITTED, 0); - }; - - VALUES() { - return this.getToken(SqlBaseParser.VALUES, 0); - }; - - VARYING() { - return this.getToken(SqlBaseParser.VARYING, 0); - }; - - VERBOSE() { - return this.getToken(SqlBaseParser.VERBOSE, 0); - }; - - VIEW() { - return this.getToken(SqlBaseParser.VIEW, 0); - }; - - WINDOW() { - return this.getToken(SqlBaseParser.WINDOW, 0); - }; - - WITHOUT() { - return this.getToken(SqlBaseParser.WITHOUT, 0); - }; - - WORK() { - return this.getToken(SqlBaseParser.WORK, 0); - }; - - WRAPPER() { - return this.getToken(SqlBaseParser.WRAPPER, 0); - }; - - WRITE() { - return this.getToken(SqlBaseParser.WRITE, 0); - }; - - YEAR() { - return this.getToken(SqlBaseParser.YEAR, 0); - }; - - ZONE() { - return this.getToken(SqlBaseParser.ZONE, 0); - }; - - enterRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.enterNonReserved(this); - } - } - - exitRule(listener) { - if(listener instanceof SqlBaseParserListener ) { - listener.exitNonReserved(this); - } - } - - -} - - - - -SqlBaseParser.StatementsContext = StatementsContext; -SqlBaseParser.SingleStatementContext = SingleStatementContext; -SqlBaseParser.SingleExpressionContext = SingleExpressionContext; -SqlBaseParser.StatementContext = StatementContext; -SqlBaseParser.DropStmtContext = DropStmtContext; -SqlBaseParser.AlterStmtContext = AlterStmtContext; -SqlBaseParser.QueryOptParensContext = QueryOptParensContext; -SqlBaseParser.QueryContext = QueryContext; -SqlBaseParser.QueryNoWithContext = QueryNoWithContext; -SqlBaseParser.LimitClauseContext = LimitClauseContext; -SqlBaseParser.OffsetClauseContext = OffsetClauseContext; -SqlBaseParser.QueryTermContext = QueryTermContext; -SqlBaseParser.SetQuantContext = SetQuantContext; -SqlBaseParser.SortItemContext = SortItemContext; -SqlBaseParser.QuerySpecContext = QuerySpecContext; -SqlBaseParser.SelectItemContext = SelectItemContext; -SqlBaseParser.WhereContext = WhereContext; -SqlBaseParser.ReturningContext = ReturningContext; -SqlBaseParser.FilterContext = FilterContext; -SqlBaseParser.RelationContext = RelationContext; -SqlBaseParser.JoinTypeContext = JoinTypeContext; -SqlBaseParser.JoinCriteriaContext = JoinCriteriaContext; -SqlBaseParser.AliasedRelationContext = AliasedRelationContext; -SqlBaseParser.RelationPrimaryContext = RelationPrimaryContext; -SqlBaseParser.TableWithPartitionContext = TableWithPartitionContext; -SqlBaseParser.TableContext = TableContext; -SqlBaseParser.AliasedColumnsContext = AliasedColumnsContext; -SqlBaseParser.WithContext = WithContext; -SqlBaseParser.NamedQueryContext = NamedQueryContext; -SqlBaseParser.ExprContext = ExprContext; -SqlBaseParser.BooleanExpressionContext = BooleanExpressionContext; -SqlBaseParser.PredicatedContext = PredicatedContext; -SqlBaseParser.PredicateContext = PredicateContext; -SqlBaseParser.ValueExpressionContext = ValueExpressionContext; -SqlBaseParser.PrimaryExpressionContext = PrimaryExpressionContext; -SqlBaseParser.ExplicitFunctionContext = ExplicitFunctionContext; -SqlBaseParser.SubqueryExpressionContext = SubqueryExpressionContext; -SqlBaseParser.ParameterOrLiteralContext = ParameterOrLiteralContext; -SqlBaseParser.ParameterOrSimpleLiteralContext = ParameterOrSimpleLiteralContext; -SqlBaseParser.ParameterOrIntegerContext = ParameterOrIntegerContext; -SqlBaseParser.ParameterOrIdentContext = ParameterOrIdentContext; -SqlBaseParser.ParameterOrStringContext = ParameterOrStringContext; -SqlBaseParser.ParameterExprContext = ParameterExprContext; -SqlBaseParser.NullLiteralContext = NullLiteralContext; -SqlBaseParser.EscapedCharsStringLiteralContext = EscapedCharsStringLiteralContext; -SqlBaseParser.DollarQuotedStringLiteralContext = DollarQuotedStringLiteralContext; -SqlBaseParser.StringLiteralContext = StringLiteralContext; -SqlBaseParser.BitStringContext = BitStringContext; -SqlBaseParser.SubscriptSafeContext = SubscriptSafeContext; -SqlBaseParser.CmpOpContext = CmpOpContext; -SqlBaseParser.SetCmpQuantifierContext = SetCmpQuantifierContext; -SqlBaseParser.WhenClauseContext = WhenClauseContext; -SqlBaseParser.NamedWindowContext = NamedWindowContext; -SqlBaseParser.OverContext = OverContext; -SqlBaseParser.WindowDefinitionContext = WindowDefinitionContext; -SqlBaseParser.WindowFrameContext = WindowFrameContext; -SqlBaseParser.FrameBoundContext = FrameBoundContext; -SqlBaseParser.QnamesContext = QnamesContext; -SqlBaseParser.QnameContext = QnameContext; -SqlBaseParser.SpaceSeparatedIdentsContext = SpaceSeparatedIdentsContext; -SqlBaseParser.IdentWithOrWithoutValueContext = IdentWithOrWithoutValueContext; -SqlBaseParser.IdentsContext = IdentsContext; -SqlBaseParser.IdentContext = IdentContext; -SqlBaseParser.UnquotedIdentContext = UnquotedIdentContext; -SqlBaseParser.QuotedIdentContext = QuotedIdentContext; -SqlBaseParser.StringLiteralOrIdentifierContext = StringLiteralOrIdentifierContext; -SqlBaseParser.StringLiteralOrIdentifierOrQnameContext = StringLiteralOrIdentifierOrQnameContext; -SqlBaseParser.NumericLiteralContext = NumericLiteralContext; -SqlBaseParser.IntervalLiteralContext = IntervalLiteralContext; -SqlBaseParser.IntervalFieldContext = IntervalFieldContext; -SqlBaseParser.BooleanLiteralContext = BooleanLiteralContext; -SqlBaseParser.DecimalLiteralContext = DecimalLiteralContext; -SqlBaseParser.IntegerLiteralContext = IntegerLiteralContext; -SqlBaseParser.ObjectKeyValueContext = ObjectKeyValueContext; -SqlBaseParser.InsertSourceContext = InsertSourceContext; -SqlBaseParser.OnConflictContext = OnConflictContext; -SqlBaseParser.ConflictTargetContext = ConflictTargetContext; -SqlBaseParser.ValuesContext = ValuesContext; -SqlBaseParser.ColumnsContext = ColumnsContext; -SqlBaseParser.AssignmentContext = AssignmentContext; -SqlBaseParser.CreateStmtContext = CreateStmtContext; -SqlBaseParser.MappedUserContext = MappedUserContext; -SqlBaseParser.KvOptionsContext = KvOptionsContext; -SqlBaseParser.KvOptionContext = KvOptionContext; -SqlBaseParser.FunctionArgumentContext = FunctionArgumentContext; -SqlBaseParser.AlterTableDefinitionContext = AlterTableDefinitionContext; -SqlBaseParser.AlterSubscriptionModeContext = AlterSubscriptionModeContext; -SqlBaseParser.PartitionedByOrClusteredIntoContext = PartitionedByOrClusteredIntoContext; -SqlBaseParser.PartitionedByContext = PartitionedByContext; -SqlBaseParser.ClusteredByContext = ClusteredByContext; -SqlBaseParser.BlobClusteredIntoContext = BlobClusteredIntoContext; -SqlBaseParser.TableElementContext = TableElementContext; -SqlBaseParser.ColumnDefinitionContext = ColumnDefinitionContext; -SqlBaseParser.AddColumnDefinitionContext = AddColumnDefinitionContext; -SqlBaseParser.DropColumnDefinitionContext = DropColumnDefinitionContext; -SqlBaseParser.RerouteOptionContext = RerouteOptionContext; -SqlBaseParser.DataTypeContext = DataTypeContext; -SqlBaseParser.BaseDataTypeContext = BaseDataTypeContext; -SqlBaseParser.DefinedDataTypeContext = DefinedDataTypeContext; -SqlBaseParser.ObjectTypeDefinitionContext = ObjectTypeDefinitionContext; -SqlBaseParser.ColumnConstraintContext = ColumnConstraintContext; -SqlBaseParser.PrimaryKeyContraintContext = PrimaryKeyContraintContext; -SqlBaseParser.CheckConstraintContext = CheckConstraintContext; -SqlBaseParser.WithPropertiesContext = WithPropertiesContext; -SqlBaseParser.GenericPropertiesContext = GenericPropertiesContext; -SqlBaseParser.GenericPropertyContext = GenericPropertyContext; -SqlBaseParser.ExplainOptionsContext = ExplainOptionsContext; -SqlBaseParser.ExplainOptionContext = ExplainOptionContext; -SqlBaseParser.MatchPredicateIdentsContext = MatchPredicateIdentsContext; -SqlBaseParser.MatchPredicateIdentContext = MatchPredicateIdentContext; -SqlBaseParser.AnalyzerElementContext = AnalyzerElementContext; -SqlBaseParser.TokenizerContext = TokenizerContext; -SqlBaseParser.TokenFiltersContext = TokenFiltersContext; -SqlBaseParser.CharFiltersContext = CharFiltersContext; -SqlBaseParser.NamedPropertiesContext = NamedPropertiesContext; -SqlBaseParser.TableWithPartitionsContext = TableWithPartitionsContext; -SqlBaseParser.SetGlobalAssignmentContext = SetGlobalAssignmentContext; -SqlBaseParser.SetExprContext = SetExprContext; -SqlBaseParser.OnContext = OnContext; -SqlBaseParser.SecurableContext = SecurableContext; -SqlBaseParser.TransactionModeContext = TransactionModeContext; -SqlBaseParser.IsolationLevelContext = IsolationLevelContext; -SqlBaseParser.DirectionContext = DirectionContext; -SqlBaseParser.DeclareCursorParamsContext = DeclareCursorParamsContext; -SqlBaseParser.NonReservedContext = NonReservedContext; diff --git a/cratedb_sqlparse_js/tests/parser.test.js b/cratedb_sqlparse_js/tests/parser.test.js index ccb3be4..5e9fac4 100644 --- a/cratedb_sqlparse_js/tests/parser.test.js +++ b/cratedb_sqlparse_js/tests/parser.test.js @@ -1,5 +1,6 @@ -import {sqlparse, ParsingError} from "../parser/parser.js"; + import {expect, test} from 'vitest' +import {sqlparse} from "../cratedb_sqlparse/index.js"; test('sqlparse parses one statement', () => { const ORIGINAL_QUERY = 'SELECT 1;' diff --git a/README.md b/cratedb_sqlparse_py/README.md similarity index 100% rename from README.md rename to cratedb_sqlparse_py/README.md diff --git a/cratedb_sqlparse_py/cratedb_sqlparse/__init__.py b/cratedb_sqlparse_py/cratedb_sqlparse/__init__.py new file mode 100644 index 0000000..d1ba64b --- /dev/null +++ b/cratedb_sqlparse_py/cratedb_sqlparse/__init__.py @@ -0,0 +1,4 @@ +from .parser import sqlparse, ParsingException + +__all__ = ['sqlparse', 'ParsingException'] + diff --git a/cratedb_sqlparse_py/cratedb_sqlparse/generated_parser/AbstractSqlBaseLexer.py b/cratedb_sqlparse_py/cratedb_sqlparse/generated_parser/AbstractSqlBaseLexer.py new file mode 100644 index 0000000..3422eb4 --- /dev/null +++ b/cratedb_sqlparse_py/cratedb_sqlparse/generated_parser/AbstractSqlBaseLexer.py @@ -0,0 +1,21 @@ +from antlr4 import Lexer + + +class AbstractSqlBaseLexer(Lexer): + """ + Automatically generated by Antlr4. It was added originally in CrateDB (https://github.com/crate/crate/commit/8e7cfd7c4a05fc27de8ce71af9165b98c986d883) + to implement $ strings, e.g: "SELECT $my friend's house$", we cannot do the same since it also generates invalid python syntax: + + # SqlBaseLexer.py + class SqlBaseLexer(AbstractSqlBaseLexer): + ... + + + def END_DOLLAR_QUOTED_STRING_sempred(...): + if actionIndex == 1: + pushTags() + + ^^^^^^^^^ + """ + + pass diff --git a/cratedb_sqlparse/parser/__init__.py b/cratedb_sqlparse_py/cratedb_sqlparse/generated_parser/__init__.py similarity index 100% rename from cratedb_sqlparse/parser/__init__.py rename to cratedb_sqlparse_py/cratedb_sqlparse/generated_parser/__init__.py diff --git a/cratedb_sqlparse/parser/parser.py b/cratedb_sqlparse_py/cratedb_sqlparse/parser.py similarity index 95% rename from cratedb_sqlparse/parser/parser.py rename to cratedb_sqlparse_py/cratedb_sqlparse/parser.py index 4ba9c12..ecc0caa 100644 --- a/cratedb_sqlparse/parser/parser.py +++ b/cratedb_sqlparse_py/cratedb_sqlparse/parser.py @@ -1,8 +1,8 @@ from antlr4 import InputStream, CommonTokenStream, Token from antlr4.error.ErrorListener import ErrorListener -from cratedb_sqlparse.parser.generated_parser.SqlBaseParser import SqlBaseParser -from cratedb_sqlparse.parser.generated_parser.SqlBaseLexer import SqlBaseLexer +from cratedb_sqlparse.generated_parser.SqlBaseParser import SqlBaseParser +from cratedb_sqlparse.generated_parser.SqlBaseLexer import SqlBaseLexer def BEGIN_DOLLAR_QUOTED_STRING_action(self, localctx, actionIndex): diff --git a/poetry.lock b/cratedb_sqlparse_py/poetry.lock similarity index 100% rename from poetry.lock rename to cratedb_sqlparse_py/poetry.lock diff --git a/pyproject.toml b/cratedb_sqlparse_py/pyproject.toml similarity index 100% rename from pyproject.toml rename to cratedb_sqlparse_py/pyproject.toml diff --git a/cratedb_sqlparse/parser/generated_parser/__init__.py b/cratedb_sqlparse_py/tests/__init__.py similarity index 100% rename from cratedb_sqlparse/parser/generated_parser/__init__.py rename to cratedb_sqlparse_py/tests/__init__.py diff --git a/tests/test_lexer.py b/cratedb_sqlparse_py/tests/test_lexer.py similarity index 100% rename from tests/test_lexer.py rename to cratedb_sqlparse_py/tests/test_lexer.py diff --git a/tests/__init__.py b/tests/__init__.py deleted file mode 100644 index e69de29..0000000