[#76] Add UNIQUE keyword

Signed-off-by: Alejandro Lopez <a.lopez@yadro.com>
This commit is contained in:
Alejandro Lopez 2023-06-05 13:38:15 +03:00
parent 4f48f6c9e0
commit fcbf96add6
17 changed files with 498 additions and 345 deletions

View file

@ -1,3 +1,5 @@
// Code generated from Query.g4 by ANTLR 4.13.0. DO NOT EDIT.
package parser // Query
import (
@ -31,14 +33,15 @@ var QueryParserStaticData struct {
func queryParserInit() {
staticData := &QueryParserStaticData
staticData.LiteralNames = []string{
"", "'NOT'", "'AND'", "'OR'", "", "'REP'", "'IN'", "'AS'", "'CBF'",
"'SELECT'", "'FROM'", "'FILTER'", "'*'", "'SAME'", "'DISTINCT'", "'('",
"')'", "'@'", "", "", "'0'",
"", "'NOT'", "'AND'", "'OR'", "", "'UNIQUE'", "'REP'", "'IN'", "'AS'",
"'CBF'", "'SELECT'", "'FROM'", "'FILTER'", "'*'", "'SAME'", "'DISTINCT'",
"'('", "')'", "'@'", "", "", "'0'",
}
staticData.SymbolicNames = []string{
"", "NOT_OP", "AND_OP", "OR_OP", "SIMPLE_OP", "REP", "IN", "AS", "CBF",
"SELECT", "FROM", "FILTER", "WILDCARD", "CLAUSE_SAME", "CLAUSE_DISTINCT",
"L_PAREN", "R_PAREN", "AT", "IDENT", "NUMBER1", "ZERO", "STRING", "WS",
"", "NOT_OP", "AND_OP", "OR_OP", "SIMPLE_OP", "UNIQUE", "REP", "IN",
"AS", "CBF", "SELECT", "FROM", "FILTER", "WILDCARD", "CLAUSE_SAME",
"CLAUSE_DISTINCT", "L_PAREN", "R_PAREN", "AT", "IDENT", "NUMBER1", "ZERO",
"STRING", "WS",
}
staticData.RuleNames = []string{
"policy", "repStmt", "cbfStmt", "selectStmt", "clause", "filterExpr",
@ -47,62 +50,64 @@ func queryParserInit() {
}
staticData.PredictionContextCache = antlr.NewPredictionContextCache()
staticData.serializedATN = []int32{
4, 1, 22, 135, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7,
4, 1, 23, 138, 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, 1, 0, 4, 0, 30, 8, 0, 11,
0, 12, 0, 31, 1, 0, 3, 0, 35, 8, 0, 1, 0, 5, 0, 38, 8, 0, 10, 0, 12, 0,
41, 9, 0, 1, 0, 5, 0, 44, 8, 0, 10, 0, 12, 0, 47, 9, 0, 1, 0, 1, 0, 1,
1, 1, 1, 1, 1, 1, 1, 3, 1, 55, 8, 1, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3,
1, 3, 3, 3, 64, 8, 3, 1, 3, 3, 3, 67, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3,
3, 73, 8, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5,
1, 5, 1, 5, 1, 5, 3, 5, 88, 8, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 5,
5, 96, 8, 5, 10, 5, 12, 5, 99, 9, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7,
1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 112, 8, 7, 1, 8, 1, 8, 3, 8, 116, 8,
8, 1, 9, 1, 9, 1, 9, 3, 9, 121, 8, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 12,
1, 12, 3, 12, 129, 8, 12, 1, 13, 1, 13, 3, 13, 133, 8, 13, 1, 13, 0, 1,
10, 14, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 0, 3, 1, 0,
13, 14, 1, 0, 19, 20, 2, 0, 5, 7, 9, 11, 138, 0, 29, 1, 0, 0, 0, 2, 50,
1, 0, 0, 0, 4, 56, 1, 0, 0, 0, 6, 59, 1, 0, 0, 0, 8, 74, 1, 0, 0, 0, 10,
87, 1, 0, 0, 0, 12, 100, 1, 0, 0, 0, 14, 111, 1, 0, 0, 0, 16, 115, 1, 0,
0, 0, 18, 120, 1, 0, 0, 0, 20, 122, 1, 0, 0, 0, 22, 124, 1, 0, 0, 0, 24,
128, 1, 0, 0, 0, 26, 132, 1, 0, 0, 0, 28, 30, 3, 2, 1, 0, 29, 28, 1, 0,
0, 0, 30, 31, 1, 0, 0, 0, 31, 29, 1, 0, 0, 0, 31, 32, 1, 0, 0, 0, 32, 34,
1, 0, 0, 0, 33, 35, 3, 4, 2, 0, 34, 33, 1, 0, 0, 0, 34, 35, 1, 0, 0, 0,
35, 39, 1, 0, 0, 0, 36, 38, 3, 6, 3, 0, 37, 36, 1, 0, 0, 0, 38, 41, 1,
0, 0, 0, 39, 37, 1, 0, 0, 0, 39, 40, 1, 0, 0, 0, 40, 45, 1, 0, 0, 0, 41,
39, 1, 0, 0, 0, 42, 44, 3, 12, 6, 0, 43, 42, 1, 0, 0, 0, 44, 47, 1, 0,
0, 0, 45, 43, 1, 0, 0, 0, 45, 46, 1, 0, 0, 0, 46, 48, 1, 0, 0, 0, 47, 45,
1, 0, 0, 0, 48, 49, 5, 0, 0, 1, 49, 1, 1, 0, 0, 0, 50, 51, 5, 5, 0, 0,
51, 54, 5, 19, 0, 0, 52, 53, 5, 6, 0, 0, 53, 55, 3, 24, 12, 0, 54, 52,
1, 0, 0, 0, 54, 55, 1, 0, 0, 0, 55, 3, 1, 0, 0, 0, 56, 57, 5, 8, 0, 0,
57, 58, 5, 19, 0, 0, 58, 5, 1, 0, 0, 0, 59, 60, 5, 9, 0, 0, 60, 66, 5,
19, 0, 0, 61, 63, 5, 6, 0, 0, 62, 64, 3, 8, 4, 0, 63, 62, 1, 0, 0, 0, 63,
64, 1, 0, 0, 0, 64, 65, 1, 0, 0, 0, 65, 67, 3, 24, 12, 0, 66, 61, 1, 0,
0, 0, 66, 67, 1, 0, 0, 0, 67, 68, 1, 0, 0, 0, 68, 69, 5, 10, 0, 0, 69,
72, 3, 26, 13, 0, 70, 71, 5, 7, 0, 0, 71, 73, 3, 24, 12, 0, 72, 70, 1,
0, 0, 0, 72, 73, 1, 0, 0, 0, 73, 7, 1, 0, 0, 0, 74, 75, 7, 0, 0, 0, 75,
9, 1, 0, 0, 0, 76, 77, 6, 5, -1, 0, 77, 78, 5, 1, 0, 0, 78, 79, 5, 15,
0, 0, 79, 80, 3, 10, 5, 0, 80, 81, 5, 16, 0, 0, 81, 88, 1, 0, 0, 0, 82,
83, 5, 15, 0, 0, 83, 84, 3, 10, 5, 0, 84, 85, 5, 16, 0, 0, 85, 88, 1, 0,
0, 0, 86, 88, 3, 14, 7, 0, 87, 76, 1, 0, 0, 0, 87, 82, 1, 0, 0, 0, 87,
86, 1, 0, 0, 0, 88, 97, 1, 0, 0, 0, 89, 90, 10, 4, 0, 0, 90, 91, 5, 2,
0, 0, 91, 96, 3, 10, 5, 5, 92, 93, 10, 3, 0, 0, 93, 94, 5, 3, 0, 0, 94,
96, 3, 10, 5, 4, 95, 89, 1, 0, 0, 0, 95, 92, 1, 0, 0, 0, 96, 99, 1, 0,
0, 0, 97, 95, 1, 0, 0, 0, 97, 98, 1, 0, 0, 0, 98, 11, 1, 0, 0, 0, 99, 97,
1, 0, 0, 0, 100, 101, 5, 11, 0, 0, 101, 102, 3, 10, 5, 0, 102, 103, 5,
7, 0, 0, 103, 104, 3, 24, 12, 0, 104, 13, 1, 0, 0, 0, 105, 106, 5, 17,
0, 0, 106, 112, 3, 24, 12, 0, 107, 108, 3, 16, 8, 0, 108, 109, 5, 4, 0,
0, 109, 110, 3, 18, 9, 0, 110, 112, 1, 0, 0, 0, 111, 105, 1, 0, 0, 0, 111,
107, 1, 0, 0, 0, 112, 15, 1, 0, 0, 0, 113, 116, 3, 24, 12, 0, 114, 116,
5, 21, 0, 0, 115, 113, 1, 0, 0, 0, 115, 114, 1, 0, 0, 0, 116, 17, 1, 0,
0, 0, 117, 121, 3, 24, 12, 0, 118, 121, 3, 20, 10, 0, 119, 121, 5, 21,
0, 0, 120, 117, 1, 0, 0, 0, 120, 118, 1, 0, 0, 0, 120, 119, 1, 0, 0, 0,
121, 19, 1, 0, 0, 0, 122, 123, 7, 1, 0, 0, 123, 21, 1, 0, 0, 0, 124, 125,
7, 2, 0, 0, 125, 23, 1, 0, 0, 0, 126, 129, 3, 22, 11, 0, 127, 129, 5, 18,
0, 0, 128, 126, 1, 0, 0, 0, 128, 127, 1, 0, 0, 0, 129, 25, 1, 0, 0, 0,
130, 133, 3, 24, 12, 0, 131, 133, 5, 12, 0, 0, 132, 130, 1, 0, 0, 0, 132,
131, 1, 0, 0, 0, 133, 27, 1, 0, 0, 0, 16, 31, 34, 39, 45, 54, 63, 66, 72,
87, 95, 97, 111, 115, 120, 128, 132,
10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 1, 0, 3, 0, 30, 8, 0, 1,
0, 4, 0, 33, 8, 0, 11, 0, 12, 0, 34, 1, 0, 3, 0, 38, 8, 0, 1, 0, 5, 0,
41, 8, 0, 10, 0, 12, 0, 44, 9, 0, 1, 0, 5, 0, 47, 8, 0, 10, 0, 12, 0, 50,
9, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 58, 8, 1, 1, 2, 1, 2, 1,
2, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 67, 8, 3, 1, 3, 3, 3, 70, 8, 3, 1, 3,
1, 3, 1, 3, 1, 3, 3, 3, 76, 8, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1,
5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 3, 5, 91, 8, 5, 1, 5, 1, 5, 1, 5,
1, 5, 1, 5, 1, 5, 5, 5, 99, 8, 5, 10, 5, 12, 5, 102, 9, 5, 1, 6, 1, 6,
1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 115, 8, 7,
1, 8, 1, 8, 3, 8, 119, 8, 8, 1, 9, 1, 9, 1, 9, 3, 9, 124, 8, 9, 1, 10,
1, 10, 1, 11, 1, 11, 1, 12, 1, 12, 3, 12, 132, 8, 12, 1, 13, 1, 13, 3,
13, 136, 8, 13, 1, 13, 0, 1, 10, 14, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18,
20, 22, 24, 26, 0, 3, 1, 0, 14, 15, 1, 0, 20, 21, 2, 0, 6, 8, 10, 12, 142,
0, 29, 1, 0, 0, 0, 2, 53, 1, 0, 0, 0, 4, 59, 1, 0, 0, 0, 6, 62, 1, 0, 0,
0, 8, 77, 1, 0, 0, 0, 10, 90, 1, 0, 0, 0, 12, 103, 1, 0, 0, 0, 14, 114,
1, 0, 0, 0, 16, 118, 1, 0, 0, 0, 18, 123, 1, 0, 0, 0, 20, 125, 1, 0, 0,
0, 22, 127, 1, 0, 0, 0, 24, 131, 1, 0, 0, 0, 26, 135, 1, 0, 0, 0, 28, 30,
5, 5, 0, 0, 29, 28, 1, 0, 0, 0, 29, 30, 1, 0, 0, 0, 30, 32, 1, 0, 0, 0,
31, 33, 3, 2, 1, 0, 32, 31, 1, 0, 0, 0, 33, 34, 1, 0, 0, 0, 34, 32, 1,
0, 0, 0, 34, 35, 1, 0, 0, 0, 35, 37, 1, 0, 0, 0, 36, 38, 3, 4, 2, 0, 37,
36, 1, 0, 0, 0, 37, 38, 1, 0, 0, 0, 38, 42, 1, 0, 0, 0, 39, 41, 3, 6, 3,
0, 40, 39, 1, 0, 0, 0, 41, 44, 1, 0, 0, 0, 42, 40, 1, 0, 0, 0, 42, 43,
1, 0, 0, 0, 43, 48, 1, 0, 0, 0, 44, 42, 1, 0, 0, 0, 45, 47, 3, 12, 6, 0,
46, 45, 1, 0, 0, 0, 47, 50, 1, 0, 0, 0, 48, 46, 1, 0, 0, 0, 48, 49, 1,
0, 0, 0, 49, 51, 1, 0, 0, 0, 50, 48, 1, 0, 0, 0, 51, 52, 5, 0, 0, 1, 52,
1, 1, 0, 0, 0, 53, 54, 5, 6, 0, 0, 54, 57, 5, 20, 0, 0, 55, 56, 5, 7, 0,
0, 56, 58, 3, 24, 12, 0, 57, 55, 1, 0, 0, 0, 57, 58, 1, 0, 0, 0, 58, 3,
1, 0, 0, 0, 59, 60, 5, 9, 0, 0, 60, 61, 5, 20, 0, 0, 61, 5, 1, 0, 0, 0,
62, 63, 5, 10, 0, 0, 63, 69, 5, 20, 0, 0, 64, 66, 5, 7, 0, 0, 65, 67, 3,
8, 4, 0, 66, 65, 1, 0, 0, 0, 66, 67, 1, 0, 0, 0, 67, 68, 1, 0, 0, 0, 68,
70, 3, 24, 12, 0, 69, 64, 1, 0, 0, 0, 69, 70, 1, 0, 0, 0, 70, 71, 1, 0,
0, 0, 71, 72, 5, 11, 0, 0, 72, 75, 3, 26, 13, 0, 73, 74, 5, 8, 0, 0, 74,
76, 3, 24, 12, 0, 75, 73, 1, 0, 0, 0, 75, 76, 1, 0, 0, 0, 76, 7, 1, 0,
0, 0, 77, 78, 7, 0, 0, 0, 78, 9, 1, 0, 0, 0, 79, 80, 6, 5, -1, 0, 80, 81,
5, 1, 0, 0, 81, 82, 5, 16, 0, 0, 82, 83, 3, 10, 5, 0, 83, 84, 5, 17, 0,
0, 84, 91, 1, 0, 0, 0, 85, 86, 5, 16, 0, 0, 86, 87, 3, 10, 5, 0, 87, 88,
5, 17, 0, 0, 88, 91, 1, 0, 0, 0, 89, 91, 3, 14, 7, 0, 90, 79, 1, 0, 0,
0, 90, 85, 1, 0, 0, 0, 90, 89, 1, 0, 0, 0, 91, 100, 1, 0, 0, 0, 92, 93,
10, 4, 0, 0, 93, 94, 5, 2, 0, 0, 94, 99, 3, 10, 5, 5, 95, 96, 10, 3, 0,
0, 96, 97, 5, 3, 0, 0, 97, 99, 3, 10, 5, 4, 98, 92, 1, 0, 0, 0, 98, 95,
1, 0, 0, 0, 99, 102, 1, 0, 0, 0, 100, 98, 1, 0, 0, 0, 100, 101, 1, 0, 0,
0, 101, 11, 1, 0, 0, 0, 102, 100, 1, 0, 0, 0, 103, 104, 5, 12, 0, 0, 104,
105, 3, 10, 5, 0, 105, 106, 5, 8, 0, 0, 106, 107, 3, 24, 12, 0, 107, 13,
1, 0, 0, 0, 108, 109, 5, 18, 0, 0, 109, 115, 3, 24, 12, 0, 110, 111, 3,
16, 8, 0, 111, 112, 5, 4, 0, 0, 112, 113, 3, 18, 9, 0, 113, 115, 1, 0,
0, 0, 114, 108, 1, 0, 0, 0, 114, 110, 1, 0, 0, 0, 115, 15, 1, 0, 0, 0,
116, 119, 3, 24, 12, 0, 117, 119, 5, 22, 0, 0, 118, 116, 1, 0, 0, 0, 118,
117, 1, 0, 0, 0, 119, 17, 1, 0, 0, 0, 120, 124, 3, 24, 12, 0, 121, 124,
3, 20, 10, 0, 122, 124, 5, 22, 0, 0, 123, 120, 1, 0, 0, 0, 123, 121, 1,
0, 0, 0, 123, 122, 1, 0, 0, 0, 124, 19, 1, 0, 0, 0, 125, 126, 7, 1, 0,
0, 126, 21, 1, 0, 0, 0, 127, 128, 7, 2, 0, 0, 128, 23, 1, 0, 0, 0, 129,
132, 3, 22, 11, 0, 130, 132, 5, 19, 0, 0, 131, 129, 1, 0, 0, 0, 131, 130,
1, 0, 0, 0, 132, 25, 1, 0, 0, 0, 133, 136, 3, 24, 12, 0, 134, 136, 5, 13,
0, 0, 135, 133, 1, 0, 0, 0, 135, 134, 1, 0, 0, 0, 136, 27, 1, 0, 0, 0,
17, 29, 34, 37, 42, 48, 57, 66, 69, 75, 90, 98, 100, 114, 118, 123, 131,
135,
}
deserializer := antlr.NewATNDeserializer(nil)
staticData.atn = deserializer.Deserialize(staticData.serializedATN)
@ -145,24 +150,25 @@ const (
QueryAND_OP = 2
QueryOR_OP = 3
QuerySIMPLE_OP = 4
QueryREP = 5
QueryIN = 6
QueryAS = 7
QueryCBF = 8
QuerySELECT = 9
QueryFROM = 10
QueryFILTER = 11
QueryWILDCARD = 12
QueryCLAUSE_SAME = 13
QueryCLAUSE_DISTINCT = 14
QueryL_PAREN = 15
QueryR_PAREN = 16
QueryAT = 17
QueryIDENT = 18
QueryNUMBER1 = 19
QueryZERO = 20
QuerySTRING = 21
QueryWS = 22
QueryUNIQUE = 5
QueryREP = 6
QueryIN = 7
QueryAS = 8
QueryCBF = 9
QuerySELECT = 10
QueryFROM = 11
QueryFILTER = 12
QueryWILDCARD = 13
QueryCLAUSE_SAME = 14
QueryCLAUSE_DISTINCT = 15
QueryL_PAREN = 16
QueryR_PAREN = 17
QueryAT = 18
QueryIDENT = 19
QueryNUMBER1 = 20
QueryZERO = 21
QuerySTRING = 22
QueryWS = 23
)
// Query rules.
@ -192,6 +198,7 @@ type IPolicyContext interface {
// Getter signatures
EOF() antlr.TerminalNode
UNIQUE() antlr.TerminalNode
AllRepStmt() []IRepStmtContext
RepStmt(i int) IRepStmtContext
CbfStmt() ICbfStmtContext
@ -240,6 +247,10 @@ func (s *PolicyContext) EOF() antlr.TerminalNode {
return s.GetToken(QueryEOF, 0)
}
func (s *PolicyContext) UNIQUE() antlr.TerminalNode {
return s.GetToken(QueryUNIQUE, 0)
}
func (s *PolicyContext) AllRepStmt() []IRepStmtContext {
children := s.GetChildren()
len := 0
@ -410,20 +421,38 @@ func (p *Query) Policy() (localctx IPolicyContext) {
}
_la = p.GetTokenStream().LA(1)
for ok := true; ok; ok = _la == QueryREP {
if _la == QueryUNIQUE {
{
p.SetState(28)
p.Match(QueryUNIQUE)
if p.HasError() {
// Recognition error - abort rule
goto errorExit
}
}
}
p.SetState(32)
p.GetErrorHandler().Sync(p)
if p.HasError() {
goto errorExit
}
_la = p.GetTokenStream().LA(1)
for ok := true; ok; ok = _la == QueryREP {
{
p.SetState(31)
p.RepStmt()
}
p.SetState(31)
p.SetState(34)
p.GetErrorHandler().Sync(p)
if p.HasError() {
goto errorExit
}
_la = p.GetTokenStream().LA(1)
}
p.SetState(34)
p.SetState(37)
p.GetErrorHandler().Sync(p)
if p.HasError() {
goto errorExit
@ -432,12 +461,12 @@ func (p *Query) Policy() (localctx IPolicyContext) {
if _la == QueryCBF {
{
p.SetState(33)
p.SetState(36)
p.CbfStmt()
}
}
p.SetState(39)
p.SetState(42)
p.GetErrorHandler().Sync(p)
if p.HasError() {
goto errorExit
@ -446,18 +475,18 @@ func (p *Query) Policy() (localctx IPolicyContext) {
for _la == QuerySELECT {
{
p.SetState(36)
p.SetState(39)
p.SelectStmt()
}
p.SetState(41)
p.SetState(44)
p.GetErrorHandler().Sync(p)
if p.HasError() {
goto errorExit
}
_la = p.GetTokenStream().LA(1)
}
p.SetState(45)
p.SetState(48)
p.GetErrorHandler().Sync(p)
if p.HasError() {
goto errorExit
@ -466,11 +495,11 @@ func (p *Query) Policy() (localctx IPolicyContext) {
for _la == QueryFILTER {
{
p.SetState(42)
p.SetState(45)
p.FilterStmt()
}
p.SetState(47)
p.SetState(50)
p.GetErrorHandler().Sync(p)
if p.HasError() {
goto errorExit
@ -478,7 +507,7 @@ func (p *Query) Policy() (localctx IPolicyContext) {
_la = p.GetTokenStream().LA(1)
}
{
p.SetState(48)
p.SetState(51)
p.Match(QueryEOF)
if p.HasError() {
// Recognition error - abort rule
@ -623,7 +652,7 @@ func (p *Query) RepStmt() (localctx IRepStmtContext) {
p.EnterOuterAlt(localctx, 1)
{
p.SetState(50)
p.SetState(53)
p.Match(QueryREP)
if p.HasError() {
// Recognition error - abort rule
@ -631,7 +660,7 @@ func (p *Query) RepStmt() (localctx IRepStmtContext) {
}
}
{
p.SetState(51)
p.SetState(54)
var _m = p.Match(QueryNUMBER1)
@ -641,7 +670,7 @@ func (p *Query) RepStmt() (localctx IRepStmtContext) {
goto errorExit
}
}
p.SetState(54)
p.SetState(57)
p.GetErrorHandler().Sync(p)
if p.HasError() {
goto errorExit
@ -650,7 +679,7 @@ func (p *Query) RepStmt() (localctx IRepStmtContext) {
if _la == QueryIN {
{
p.SetState(52)
p.SetState(55)
p.Match(QueryIN)
if p.HasError() {
// Recognition error - abort rule
@ -658,7 +687,7 @@ func (p *Query) RepStmt() (localctx IRepStmtContext) {
}
}
{
p.SetState(53)
p.SetState(56)
var _x = p.Ident()
@ -769,7 +798,7 @@ func (p *Query) CbfStmt() (localctx ICbfStmtContext) {
p.EnterRule(localctx, 4, QueryRULE_cbfStmt)
p.EnterOuterAlt(localctx, 1)
{
p.SetState(56)
p.SetState(59)
p.Match(QueryCBF)
if p.HasError() {
// Recognition error - abort rule
@ -777,7 +806,7 @@ func (p *Query) CbfStmt() (localctx ICbfStmtContext) {
}
}
{
p.SetState(57)
p.SetState(60)
var _m = p.Match(QueryNUMBER1)
@ -1017,7 +1046,7 @@ func (p *Query) SelectStmt() (localctx ISelectStmtContext) {
p.EnterOuterAlt(localctx, 1)
{
p.SetState(59)
p.SetState(62)
p.Match(QuerySELECT)
if p.HasError() {
// Recognition error - abort rule
@ -1025,7 +1054,7 @@ func (p *Query) SelectStmt() (localctx ISelectStmtContext) {
}
}
{
p.SetState(60)
p.SetState(63)
var _m = p.Match(QueryNUMBER1)
@ -1035,7 +1064,7 @@ func (p *Query) SelectStmt() (localctx ISelectStmtContext) {
goto errorExit
}
}
p.SetState(66)
p.SetState(69)
p.GetErrorHandler().Sync(p)
if p.HasError() {
goto errorExit
@ -1044,14 +1073,14 @@ func (p *Query) SelectStmt() (localctx ISelectStmtContext) {
if _la == QueryIN {
{
p.SetState(61)
p.SetState(64)
p.Match(QueryIN)
if p.HasError() {
// Recognition error - abort rule
goto errorExit
}
}
p.SetState(63)
p.SetState(66)
p.GetErrorHandler().Sync(p)
if p.HasError() {
goto errorExit
@ -1060,13 +1089,13 @@ func (p *Query) SelectStmt() (localctx ISelectStmtContext) {
if _la == QueryCLAUSE_SAME || _la == QueryCLAUSE_DISTINCT {
{
p.SetState(62)
p.SetState(65)
p.Clause()
}
}
{
p.SetState(65)
p.SetState(68)
var _x = p.Ident()
@ -1075,7 +1104,7 @@ func (p *Query) SelectStmt() (localctx ISelectStmtContext) {
}
{
p.SetState(68)
p.SetState(71)
p.Match(QueryFROM)
if p.HasError() {
// Recognition error - abort rule
@ -1083,13 +1112,13 @@ func (p *Query) SelectStmt() (localctx ISelectStmtContext) {
}
}
{
p.SetState(69)
p.SetState(72)
var _x = p.IdentWC()
localctx.(*SelectStmtContext).Filter = _x
}
p.SetState(72)
p.SetState(75)
p.GetErrorHandler().Sync(p)
if p.HasError() {
goto errorExit
@ -1098,7 +1127,7 @@ func (p *Query) SelectStmt() (localctx ISelectStmtContext) {
if _la == QueryAS {
{
p.SetState(70)
p.SetState(73)
p.Match(QueryAS)
if p.HasError() {
// Recognition error - abort rule
@ -1106,7 +1135,7 @@ func (p *Query) SelectStmt() (localctx ISelectStmtContext) {
}
}
{
p.SetState(71)
p.SetState(74)
var _x = p.Ident()
@ -1208,7 +1237,7 @@ func (p *Query) Clause() (localctx IClauseContext) {
p.EnterOuterAlt(localctx, 1)
{
p.SetState(74)
p.SetState(77)
_la = p.GetTokenStream().LA(1)
if !(_la == QueryCLAUSE_SAME || _la == QueryCLAUSE_DISTINCT) {
@ -1440,7 +1469,7 @@ func (p *Query) filterExpr(_p int) (localctx IFilterExprContext) {
var _alt int
p.EnterOuterAlt(localctx, 1)
p.SetState(87)
p.SetState(90)
p.GetErrorHandler().Sync(p)
if p.HasError() {
goto errorExit
@ -1449,7 +1478,7 @@ func (p *Query) filterExpr(_p int) (localctx IFilterExprContext) {
switch p.GetTokenStream().LA(1) {
case QueryNOT_OP:
{
p.SetState(77)
p.SetState(80)
var _m = p.Match(QueryNOT_OP)
@ -1460,7 +1489,7 @@ func (p *Query) filterExpr(_p int) (localctx IFilterExprContext) {
}
}
{
p.SetState(78)
p.SetState(81)
p.Match(QueryL_PAREN)
if p.HasError() {
// Recognition error - abort rule
@ -1468,14 +1497,14 @@ func (p *Query) filterExpr(_p int) (localctx IFilterExprContext) {
}
}
{
p.SetState(79)
p.SetState(82)
var _x = p.filterExpr(0)
localctx.(*FilterExprContext).F1 = _x
}
{
p.SetState(80)
p.SetState(83)
p.Match(QueryR_PAREN)
if p.HasError() {
// Recognition error - abort rule
@ -1485,7 +1514,7 @@ func (p *Query) filterExpr(_p int) (localctx IFilterExprContext) {
case QueryL_PAREN:
{
p.SetState(82)
p.SetState(85)
p.Match(QueryL_PAREN)
if p.HasError() {
// Recognition error - abort rule
@ -1493,14 +1522,14 @@ func (p *Query) filterExpr(_p int) (localctx IFilterExprContext) {
}
}
{
p.SetState(83)
p.SetState(86)
var _x = p.filterExpr(0)
localctx.(*FilterExprContext).Inner = _x
}
{
p.SetState(84)
p.SetState(87)
p.Match(QueryR_PAREN)
if p.HasError() {
// Recognition error - abort rule
@ -1510,7 +1539,7 @@ func (p *Query) filterExpr(_p int) (localctx IFilterExprContext) {
case QueryREP, QueryIN, QueryAS, QuerySELECT, QueryFROM, QueryFILTER, QueryAT, QueryIDENT, QuerySTRING:
{
p.SetState(86)
p.SetState(89)
p.Expr()
}
@ -1519,12 +1548,12 @@ func (p *Query) filterExpr(_p int) (localctx IFilterExprContext) {
goto errorExit
}
p.GetParserRuleContext().SetStop(p.GetTokenStream().LT(-1))
p.SetState(97)
p.SetState(100)
p.GetErrorHandler().Sync(p)
if p.HasError() {
goto errorExit
}
_alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 10, p.GetParserRuleContext())
_alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 11, p.GetParserRuleContext())
if p.HasError() {
goto errorExit
}
@ -1534,25 +1563,25 @@ func (p *Query) filterExpr(_p int) (localctx IFilterExprContext) {
p.TriggerExitRuleEvent()
}
_prevctx = localctx
p.SetState(95)
p.SetState(98)
p.GetErrorHandler().Sync(p)
if p.HasError() {
goto errorExit
}
switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 9, p.GetParserRuleContext()) {
switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 10, p.GetParserRuleContext()) {
case 1:
localctx = NewFilterExprContext(p, _parentctx, _parentState)
localctx.(*FilterExprContext).F1 = _prevctx
p.PushNewRecursionContext(localctx, _startState, QueryRULE_filterExpr)
p.SetState(89)
p.SetState(92)
if !(p.Precpred(p.GetParserRuleContext(), 4)) {
p.SetError(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 4)", ""))
goto errorExit
}
{
p.SetState(90)
p.SetState(93)
var _m = p.Match(QueryAND_OP)
@ -1563,7 +1592,7 @@ func (p *Query) filterExpr(_p int) (localctx IFilterExprContext) {
}
}
{
p.SetState(91)
p.SetState(94)
var _x = p.filterExpr(5)
@ -1574,14 +1603,14 @@ func (p *Query) filterExpr(_p int) (localctx IFilterExprContext) {
localctx = NewFilterExprContext(p, _parentctx, _parentState)
localctx.(*FilterExprContext).F1 = _prevctx
p.PushNewRecursionContext(localctx, _startState, QueryRULE_filterExpr)
p.SetState(92)
p.SetState(95)
if !(p.Precpred(p.GetParserRuleContext(), 3)) {
p.SetError(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 3)", ""))
goto errorExit
}
{
p.SetState(93)
p.SetState(96)
var _m = p.Match(QueryOR_OP)
@ -1592,7 +1621,7 @@ func (p *Query) filterExpr(_p int) (localctx IFilterExprContext) {
}
}
{
p.SetState(94)
p.SetState(97)
var _x = p.filterExpr(4)
@ -1604,12 +1633,12 @@ func (p *Query) filterExpr(_p int) (localctx IFilterExprContext) {
}
}
p.SetState(99)
p.SetState(102)
p.GetErrorHandler().Sync(p)
if p.HasError() {
goto errorExit
}
_alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 10, p.GetParserRuleContext())
_alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 11, p.GetParserRuleContext())
if p.HasError() {
goto errorExit
}
@ -1762,7 +1791,7 @@ func (p *Query) FilterStmt() (localctx IFilterStmtContext) {
p.EnterRule(localctx, 12, QueryRULE_filterStmt)
p.EnterOuterAlt(localctx, 1)
{
p.SetState(100)
p.SetState(103)
p.Match(QueryFILTER)
if p.HasError() {
// Recognition error - abort rule
@ -1770,14 +1799,14 @@ func (p *Query) FilterStmt() (localctx IFilterStmtContext) {
}
}
{
p.SetState(101)
p.SetState(104)
var _x = p.filterExpr(0)
localctx.(*FilterStmtContext).Expr = _x
}
{
p.SetState(102)
p.SetState(105)
p.Match(QueryAS)
if p.HasError() {
// Recognition error - abort rule
@ -1785,7 +1814,7 @@ func (p *Query) FilterStmt() (localctx IFilterStmtContext) {
}
}
{
p.SetState(103)
p.SetState(106)
var _x = p.Ident()
@ -1965,7 +1994,7 @@ func (s *ExprContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
func (p *Query) Expr() (localctx IExprContext) {
localctx = NewExprContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 14, QueryRULE_expr)
p.SetState(111)
p.SetState(114)
p.GetErrorHandler().Sync(p)
if p.HasError() {
goto errorExit
@ -1975,7 +2004,7 @@ func (p *Query) Expr() (localctx IExprContext) {
case QueryAT:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(105)
p.SetState(108)
p.Match(QueryAT)
if p.HasError() {
// Recognition error - abort rule
@ -1983,7 +2012,7 @@ func (p *Query) Expr() (localctx IExprContext) {
}
}
{
p.SetState(106)
p.SetState(109)
var _x = p.Ident()
@ -1993,14 +2022,14 @@ func (p *Query) Expr() (localctx IExprContext) {
case QueryREP, QueryIN, QueryAS, QuerySELECT, QueryFROM, QueryFILTER, QueryIDENT, QuerySTRING:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(107)
p.SetState(110)
var _x = p.FilterKey()
localctx.(*ExprContext).Key = _x
}
{
p.SetState(108)
p.SetState(111)
p.Match(QuerySIMPLE_OP)
if p.HasError() {
// Recognition error - abort rule
@ -2008,7 +2037,7 @@ func (p *Query) Expr() (localctx IExprContext) {
}
}
{
p.SetState(109)
p.SetState(112)
var _x = p.FilterValue()
@ -2121,7 +2150,7 @@ func (s *FilterKeyContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
func (p *Query) FilterKey() (localctx IFilterKeyContext) {
localctx = NewFilterKeyContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 16, QueryRULE_filterKey)
p.SetState(115)
p.SetState(118)
p.GetErrorHandler().Sync(p)
if p.HasError() {
goto errorExit
@ -2131,14 +2160,14 @@ func (p *Query) FilterKey() (localctx IFilterKeyContext) {
case QueryREP, QueryIN, QueryAS, QuerySELECT, QueryFROM, QueryFILTER, QueryIDENT:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(113)
p.SetState(116)
p.Ident()
}
case QuerySTRING:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(114)
p.SetState(117)
p.Match(QuerySTRING)
if p.HasError() {
// Recognition error - abort rule
@ -2269,7 +2298,7 @@ func (s *FilterValueContext) Accept(visitor antlr.ParseTreeVisitor) interface{}
func (p *Query) FilterValue() (localctx IFilterValueContext) {
localctx = NewFilterValueContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 18, QueryRULE_filterValue)
p.SetState(120)
p.SetState(123)
p.GetErrorHandler().Sync(p)
if p.HasError() {
goto errorExit
@ -2279,21 +2308,21 @@ func (p *Query) FilterValue() (localctx IFilterValueContext) {
case QueryREP, QueryIN, QueryAS, QuerySELECT, QueryFROM, QueryFILTER, QueryIDENT:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(117)
p.SetState(120)
p.Ident()
}
case QueryNUMBER1, QueryZERO:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(118)
p.SetState(121)
p.Number()
}
case QuerySTRING:
p.EnterOuterAlt(localctx, 3)
{
p.SetState(119)
p.SetState(122)
p.Match(QuerySTRING)
if p.HasError() {
// Recognition error - abort rule
@ -2399,7 +2428,7 @@ func (p *Query) Number() (localctx INumberContext) {
p.EnterOuterAlt(localctx, 1)
{
p.SetState(122)
p.SetState(125)
_la = p.GetTokenStream().LA(1)
if !(_la == QueryNUMBER1 || _la == QueryZERO) {
@ -2523,10 +2552,10 @@ func (p *Query) Keyword() (localctx IKeywordContext) {
p.EnterOuterAlt(localctx, 1)
{
p.SetState(124)
p.SetState(127)
_la = p.GetTokenStream().LA(1)
if !((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&3808) != 0) {
if !((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&7616) != 0) {
p.GetErrorHandler().RecoverInline(p)
} else {
p.GetErrorHandler().ReportMatch(p)
@ -2635,7 +2664,7 @@ func (s *IdentContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
func (p *Query) Ident() (localctx IIdentContext) {
localctx = NewIdentContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 24, QueryRULE_ident)
p.SetState(128)
p.SetState(131)
p.GetErrorHandler().Sync(p)
if p.HasError() {
goto errorExit
@ -2645,14 +2674,14 @@ func (p *Query) Ident() (localctx IIdentContext) {
case QueryREP, QueryIN, QueryAS, QuerySELECT, QueryFROM, QueryFILTER:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(126)
p.SetState(129)
p.Keyword()
}
case QueryIDENT:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(127)
p.SetState(130)
p.Match(QueryIDENT)
if p.HasError() {
// Recognition error - abort rule
@ -2766,7 +2795,7 @@ func (s *IdentWCContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
func (p *Query) IdentWC() (localctx IIdentWCContext) {
localctx = NewIdentWCContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 26, QueryRULE_identWC)
p.SetState(132)
p.SetState(135)
p.GetErrorHandler().Sync(p)
if p.HasError() {
goto errorExit
@ -2776,14 +2805,14 @@ func (p *Query) IdentWC() (localctx IIdentWCContext) {
case QueryREP, QueryIN, QueryAS, QuerySELECT, QueryFROM, QueryFILTER, QueryIDENT:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(130)
p.SetState(133)
p.Ident()
}
case QueryWILDCARD:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(131)
p.SetState(134)
p.Match(QueryWILDCARD)
if p.HasError() {
// Recognition error - abort rule