dt-sql-parser 4.5.2-beta.0 → 4.5.2-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -8
- package/dist/lib/flink/FlinkSqlParser.d.ts +220 -363
- package/dist/lib/flink/FlinkSqlParser.js +3246 -4046
- package/dist/lib/flink/FlinkSqlParserListener.d.ts +0 -154
- package/dist/lib/flink/FlinkSqlParserVisitor.d.ts +0 -98
- package/dist/lib/generic/GenericSqlListener.d.ts +90 -5
- package/dist/lib/generic/GenericSqlParser.d.ts +102 -33
- package/dist/lib/generic/GenericSqlParser.js +1329 -930
- package/dist/lib/generic/GenericSqlVisitor.d.ts +56 -3
- package/dist/lib/hive/HiveSqlParser.d.ts +515 -943
- package/dist/lib/hive/HiveSqlParser.js +8234 -10573
- package/dist/lib/hive/HiveSqlParserListener.d.ts +50 -490
- package/dist/lib/hive/HiveSqlParserVisitor.d.ts +30 -310
- package/dist/lib/impala/ImpalaSqlParser.d.ts +96 -131
- package/dist/lib/impala/ImpalaSqlParser.js +3311 -3522
- package/dist/lib/impala/ImpalaSqlParserListener.d.ts +0 -44
- package/dist/lib/impala/ImpalaSqlParserVisitor.d.ts +0 -28
- package/dist/lib/mysql/MySqlParser.d.ts +422 -464
- package/dist/lib/mysql/MySqlParser.js +9954 -10184
- package/dist/lib/mysql/MySqlParserListener.d.ts +0 -44
- package/dist/lib/mysql/MySqlParserVisitor.d.ts +0 -28
- package/dist/lib/trino/TrinoSqlListener.d.ts +0 -328
- package/dist/lib/trino/TrinoSqlParser.d.ts +203 -476
- package/dist/lib/trino/TrinoSqlParser.js +6680 -7917
- package/dist/lib/trino/TrinoSqlVisitor.d.ts +0 -206
- package/dist/parser/common/entityCollector.js +5 -0
- package/dist/parser/flink/flinkEntityCollector.js +1 -1
- package/dist/parser/generic/genericEntityCollector.d.ts +6 -3
- package/dist/parser/generic/genericEntityCollector.js +30 -42
- package/dist/parser/generic/index.js +13 -10
- package/package.json +1 -1
|
@@ -22,21 +22,21 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
22
22
|
try {
|
|
23
23
|
this.enterOuterAlt(localContext, 1);
|
|
24
24
|
{
|
|
25
|
-
this.state =
|
|
25
|
+
this.state = 121;
|
|
26
26
|
this.errorHandler.sync(this);
|
|
27
27
|
_la = this.tokenStream.LA(1);
|
|
28
28
|
while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 276824196) !== 0) || _la === 32 || _la === 49 || ((((_la - 76)) & ~0x1F) === 0 && ((1 << (_la - 76)) & 270337) !== 0)) {
|
|
29
29
|
{
|
|
30
30
|
{
|
|
31
|
-
this.state =
|
|
31
|
+
this.state = 118;
|
|
32
32
|
this.statements();
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
this.state =
|
|
35
|
+
this.state = 123;
|
|
36
36
|
this.errorHandler.sync(this);
|
|
37
37
|
_la = this.tokenStream.LA(1);
|
|
38
38
|
}
|
|
39
|
-
this.state =
|
|
39
|
+
this.state = 124;
|
|
40
40
|
this.match(GenericSqlParser.EOF);
|
|
41
41
|
}
|
|
42
42
|
}
|
|
@@ -61,7 +61,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
61
61
|
try {
|
|
62
62
|
this.enterOuterAlt(localContext, 1);
|
|
63
63
|
{
|
|
64
|
-
this.state =
|
|
64
|
+
this.state = 126;
|
|
65
65
|
this.singleStatement();
|
|
66
66
|
}
|
|
67
67
|
}
|
|
@@ -87,14 +87,14 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
87
87
|
try {
|
|
88
88
|
this.enterOuterAlt(localContext, 1);
|
|
89
89
|
{
|
|
90
|
-
this.state =
|
|
90
|
+
this.state = 128;
|
|
91
91
|
this.statement();
|
|
92
|
-
this.state =
|
|
92
|
+
this.state = 130;
|
|
93
93
|
this.errorHandler.sync(this);
|
|
94
94
|
_la = this.tokenStream.LA(1);
|
|
95
95
|
if (_la === 108) {
|
|
96
96
|
{
|
|
97
|
-
this.state =
|
|
97
|
+
this.state = 129;
|
|
98
98
|
this.match(GenericSqlParser.SEMICOLON);
|
|
99
99
|
}
|
|
100
100
|
}
|
|
@@ -119,7 +119,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
119
119
|
let localContext = new StatementContext(this.context, this.state);
|
|
120
120
|
this.enterRule(localContext, 6, GenericSqlParser.RULE_statement);
|
|
121
121
|
try {
|
|
122
|
-
this.state =
|
|
122
|
+
this.state = 139;
|
|
123
123
|
this.errorHandler.sync(this);
|
|
124
124
|
switch (this.tokenStream.LA(1)) {
|
|
125
125
|
case GenericSqlParser.T__1:
|
|
@@ -128,7 +128,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
128
128
|
localContext = new StatementDefaultContext(localContext);
|
|
129
129
|
this.enterOuterAlt(localContext, 1);
|
|
130
130
|
{
|
|
131
|
-
this.state =
|
|
131
|
+
this.state = 132;
|
|
132
132
|
this.queryStatement();
|
|
133
133
|
}
|
|
134
134
|
break;
|
|
@@ -136,7 +136,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
136
136
|
localContext = new InsertContext(localContext);
|
|
137
137
|
this.enterOuterAlt(localContext, 2);
|
|
138
138
|
{
|
|
139
|
-
this.state =
|
|
139
|
+
this.state = 133;
|
|
140
140
|
this.insertStatement();
|
|
141
141
|
}
|
|
142
142
|
break;
|
|
@@ -144,7 +144,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
144
144
|
localContext = new UpdateContext(localContext);
|
|
145
145
|
this.enterOuterAlt(localContext, 3);
|
|
146
146
|
{
|
|
147
|
-
this.state =
|
|
147
|
+
this.state = 134;
|
|
148
148
|
this.updateStatement();
|
|
149
149
|
}
|
|
150
150
|
break;
|
|
@@ -152,7 +152,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
152
152
|
localContext = new DeleteContext(localContext);
|
|
153
153
|
this.enterOuterAlt(localContext, 4);
|
|
154
154
|
{
|
|
155
|
-
this.state =
|
|
155
|
+
this.state = 135;
|
|
156
156
|
this.deleteStatement();
|
|
157
157
|
}
|
|
158
158
|
break;
|
|
@@ -160,7 +160,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
160
160
|
localContext = new CreateTableContext(localContext);
|
|
161
161
|
this.enterOuterAlt(localContext, 5);
|
|
162
162
|
{
|
|
163
|
-
this.state =
|
|
163
|
+
this.state = 136;
|
|
164
164
|
this.createTableStatement();
|
|
165
165
|
}
|
|
166
166
|
break;
|
|
@@ -168,7 +168,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
168
168
|
localContext = new AlterTableContext(localContext);
|
|
169
169
|
this.enterOuterAlt(localContext, 6);
|
|
170
170
|
{
|
|
171
|
-
this.state =
|
|
171
|
+
this.state = 137;
|
|
172
172
|
this.alterTableStatement();
|
|
173
173
|
}
|
|
174
174
|
break;
|
|
@@ -176,7 +176,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
176
176
|
localContext = new DropTableContext(localContext);
|
|
177
177
|
this.enterOuterAlt(localContext, 7);
|
|
178
178
|
{
|
|
179
|
-
this.state =
|
|
179
|
+
this.state = 138;
|
|
180
180
|
this.dropTableStatement();
|
|
181
181
|
}
|
|
182
182
|
break;
|
|
@@ -206,16 +206,16 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
206
206
|
try {
|
|
207
207
|
this.enterOuterAlt(localContext, 1);
|
|
208
208
|
{
|
|
209
|
-
this.state =
|
|
209
|
+
this.state = 142;
|
|
210
210
|
this.errorHandler.sync(this);
|
|
211
211
|
_la = this.tokenStream.LA(1);
|
|
212
212
|
if (_la === 94) {
|
|
213
213
|
{
|
|
214
|
-
this.state =
|
|
214
|
+
this.state = 141;
|
|
215
215
|
this.withClause();
|
|
216
216
|
}
|
|
217
217
|
}
|
|
218
|
-
this.state =
|
|
218
|
+
this.state = 144;
|
|
219
219
|
this.queryNoWith();
|
|
220
220
|
}
|
|
221
221
|
}
|
|
@@ -241,32 +241,32 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
241
241
|
try {
|
|
242
242
|
this.enterOuterAlt(localContext, 1);
|
|
243
243
|
{
|
|
244
|
-
this.state =
|
|
244
|
+
this.state = 146;
|
|
245
245
|
this.match(GenericSqlParser.KW_WITH);
|
|
246
|
-
this.state =
|
|
246
|
+
this.state = 148;
|
|
247
247
|
this.errorHandler.sync(this);
|
|
248
248
|
_la = this.tokenStream.LA(1);
|
|
249
249
|
if (_la === 72) {
|
|
250
250
|
{
|
|
251
|
-
this.state =
|
|
251
|
+
this.state = 147;
|
|
252
252
|
this.match(GenericSqlParser.KW_RECURSIVE);
|
|
253
253
|
}
|
|
254
254
|
}
|
|
255
|
-
this.state =
|
|
255
|
+
this.state = 150;
|
|
256
256
|
this.namedQuery();
|
|
257
|
-
this.state =
|
|
257
|
+
this.state = 155;
|
|
258
258
|
this.errorHandler.sync(this);
|
|
259
259
|
_la = this.tokenStream.LA(1);
|
|
260
260
|
while (_la === 1) {
|
|
261
261
|
{
|
|
262
262
|
{
|
|
263
|
-
this.state =
|
|
263
|
+
this.state = 151;
|
|
264
264
|
this.match(GenericSqlParser.T__0);
|
|
265
|
-
this.state =
|
|
265
|
+
this.state = 152;
|
|
266
266
|
this.namedQuery();
|
|
267
267
|
}
|
|
268
268
|
}
|
|
269
|
-
this.state =
|
|
269
|
+
this.state = 157;
|
|
270
270
|
this.errorHandler.sync(this);
|
|
271
271
|
_la = this.tokenStream.LA(1);
|
|
272
272
|
}
|
|
@@ -294,24 +294,24 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
294
294
|
try {
|
|
295
295
|
this.enterOuterAlt(localContext, 1);
|
|
296
296
|
{
|
|
297
|
-
this.state =
|
|
297
|
+
this.state = 158;
|
|
298
298
|
localContext._name = this.identifier();
|
|
299
|
-
this.state =
|
|
299
|
+
this.state = 160;
|
|
300
300
|
this.errorHandler.sync(this);
|
|
301
301
|
_la = this.tokenStream.LA(1);
|
|
302
302
|
if (_la === 2) {
|
|
303
303
|
{
|
|
304
|
-
this.state =
|
|
304
|
+
this.state = 159;
|
|
305
305
|
this.cteColumnList();
|
|
306
306
|
}
|
|
307
307
|
}
|
|
308
|
-
this.state =
|
|
308
|
+
this.state = 162;
|
|
309
309
|
this.match(GenericSqlParser.KW_AS);
|
|
310
|
-
this.state =
|
|
310
|
+
this.state = 163;
|
|
311
311
|
this.match(GenericSqlParser.T__1);
|
|
312
|
-
this.state =
|
|
312
|
+
this.state = 164;
|
|
313
313
|
this.queryStatement();
|
|
314
|
-
this.state =
|
|
314
|
+
this.state = 165;
|
|
315
315
|
this.match(GenericSqlParser.T__2);
|
|
316
316
|
}
|
|
317
317
|
}
|
|
@@ -337,27 +337,27 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
337
337
|
try {
|
|
338
338
|
this.enterOuterAlt(localContext, 1);
|
|
339
339
|
{
|
|
340
|
-
this.state =
|
|
340
|
+
this.state = 167;
|
|
341
341
|
this.match(GenericSqlParser.T__1);
|
|
342
|
-
this.state =
|
|
342
|
+
this.state = 168;
|
|
343
343
|
this.identifier();
|
|
344
|
-
this.state =
|
|
344
|
+
this.state = 173;
|
|
345
345
|
this.errorHandler.sync(this);
|
|
346
346
|
_la = this.tokenStream.LA(1);
|
|
347
347
|
while (_la === 1) {
|
|
348
348
|
{
|
|
349
349
|
{
|
|
350
|
-
this.state =
|
|
350
|
+
this.state = 169;
|
|
351
351
|
this.match(GenericSqlParser.T__0);
|
|
352
|
-
this.state =
|
|
352
|
+
this.state = 170;
|
|
353
353
|
this.identifier();
|
|
354
354
|
}
|
|
355
355
|
}
|
|
356
|
-
this.state =
|
|
356
|
+
this.state = 175;
|
|
357
357
|
this.errorHandler.sync(this);
|
|
358
358
|
_la = this.tokenStream.LA(1);
|
|
359
359
|
}
|
|
360
|
-
this.state =
|
|
360
|
+
this.state = 176;
|
|
361
361
|
this.match(GenericSqlParser.T__2);
|
|
362
362
|
}
|
|
363
363
|
}
|
|
@@ -383,15 +383,15 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
383
383
|
try {
|
|
384
384
|
this.enterOuterAlt(localContext, 1);
|
|
385
385
|
{
|
|
386
|
-
this.state = 170;
|
|
387
|
-
this.queryTerm();
|
|
388
386
|
this.state = 178;
|
|
387
|
+
this.queryTerm();
|
|
388
|
+
this.state = 186;
|
|
389
389
|
this.errorHandler.sync(this);
|
|
390
390
|
_la = this.tokenStream.LA(1);
|
|
391
391
|
while (_la === 36 || _la === 52 || _la === 87) {
|
|
392
392
|
{
|
|
393
393
|
{
|
|
394
|
-
this.state =
|
|
394
|
+
this.state = 179;
|
|
395
395
|
_la = this.tokenStream.LA(1);
|
|
396
396
|
if (!(_la === 36 || _la === 52 || _la === 87)) {
|
|
397
397
|
this.errorHandler.recoverInline(this);
|
|
@@ -400,20 +400,20 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
400
400
|
this.errorHandler.reportMatch(this);
|
|
401
401
|
this.consume();
|
|
402
402
|
}
|
|
403
|
-
this.state =
|
|
403
|
+
this.state = 181;
|
|
404
404
|
this.errorHandler.sync(this);
|
|
405
405
|
_la = this.tokenStream.LA(1);
|
|
406
406
|
if (_la === 6) {
|
|
407
407
|
{
|
|
408
|
-
this.state =
|
|
408
|
+
this.state = 180;
|
|
409
409
|
this.match(GenericSqlParser.KW_ALL);
|
|
410
410
|
}
|
|
411
411
|
}
|
|
412
|
-
this.state =
|
|
412
|
+
this.state = 183;
|
|
413
413
|
this.queryTerm();
|
|
414
414
|
}
|
|
415
415
|
}
|
|
416
|
-
this.state =
|
|
416
|
+
this.state = 188;
|
|
417
417
|
this.errorHandler.sync(this);
|
|
418
418
|
_la = this.tokenStream.LA(1);
|
|
419
419
|
}
|
|
@@ -440,7 +440,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
440
440
|
try {
|
|
441
441
|
this.enterOuterAlt(localContext, 1);
|
|
442
442
|
{
|
|
443
|
-
this.state =
|
|
443
|
+
this.state = 189;
|
|
444
444
|
this.queryPrimary();
|
|
445
445
|
}
|
|
446
446
|
}
|
|
@@ -463,24 +463,24 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
463
463
|
let localContext = new QueryPrimaryContext(this.context, this.state);
|
|
464
464
|
this.enterRule(localContext, 20, GenericSqlParser.RULE_queryPrimary);
|
|
465
465
|
try {
|
|
466
|
-
this.state =
|
|
466
|
+
this.state = 196;
|
|
467
467
|
this.errorHandler.sync(this);
|
|
468
468
|
switch (this.tokenStream.LA(1)) {
|
|
469
469
|
case GenericSqlParser.KW_SELECT:
|
|
470
470
|
this.enterOuterAlt(localContext, 1);
|
|
471
471
|
{
|
|
472
|
-
this.state =
|
|
472
|
+
this.state = 191;
|
|
473
473
|
this.querySpecification();
|
|
474
474
|
}
|
|
475
475
|
break;
|
|
476
476
|
case GenericSqlParser.T__1:
|
|
477
477
|
this.enterOuterAlt(localContext, 2);
|
|
478
478
|
{
|
|
479
|
-
this.state =
|
|
479
|
+
this.state = 192;
|
|
480
480
|
this.match(GenericSqlParser.T__1);
|
|
481
|
-
this.state =
|
|
481
|
+
this.state = 193;
|
|
482
482
|
this.queryStatement();
|
|
483
|
-
this.state =
|
|
483
|
+
this.state = 194;
|
|
484
484
|
this.match(GenericSqlParser.T__2);
|
|
485
485
|
}
|
|
486
486
|
break;
|
|
@@ -510,87 +510,87 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
510
510
|
try {
|
|
511
511
|
this.enterOuterAlt(localContext, 1);
|
|
512
512
|
{
|
|
513
|
-
this.state =
|
|
513
|
+
this.state = 198;
|
|
514
514
|
this.match(GenericSqlParser.KW_SELECT);
|
|
515
|
-
this.state =
|
|
515
|
+
this.state = 200;
|
|
516
516
|
this.errorHandler.sync(this);
|
|
517
517
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 11, this.context)) {
|
|
518
518
|
case 1:
|
|
519
519
|
{
|
|
520
|
-
this.state =
|
|
520
|
+
this.state = 199;
|
|
521
521
|
this.setQuantifier();
|
|
522
522
|
}
|
|
523
523
|
break;
|
|
524
524
|
}
|
|
525
|
-
this.state =
|
|
525
|
+
this.state = 202;
|
|
526
526
|
this.selectItem();
|
|
527
|
-
this.state =
|
|
527
|
+
this.state = 207;
|
|
528
528
|
this.errorHandler.sync(this);
|
|
529
529
|
_la = this.tokenStream.LA(1);
|
|
530
530
|
while (_la === 1) {
|
|
531
531
|
{
|
|
532
532
|
{
|
|
533
|
-
this.state =
|
|
533
|
+
this.state = 203;
|
|
534
534
|
this.match(GenericSqlParser.T__0);
|
|
535
|
-
this.state =
|
|
535
|
+
this.state = 204;
|
|
536
536
|
this.selectItem();
|
|
537
537
|
}
|
|
538
538
|
}
|
|
539
|
-
this.state =
|
|
539
|
+
this.state = 209;
|
|
540
540
|
this.errorHandler.sync(this);
|
|
541
541
|
_la = this.tokenStream.LA(1);
|
|
542
542
|
}
|
|
543
|
-
this.state =
|
|
543
|
+
this.state = 211;
|
|
544
544
|
this.errorHandler.sync(this);
|
|
545
545
|
_la = this.tokenStream.LA(1);
|
|
546
546
|
if (_la === 42) {
|
|
547
547
|
{
|
|
548
|
-
this.state =
|
|
548
|
+
this.state = 210;
|
|
549
549
|
this.fromClause();
|
|
550
550
|
}
|
|
551
551
|
}
|
|
552
|
-
this.state =
|
|
552
|
+
this.state = 214;
|
|
553
553
|
this.errorHandler.sync(this);
|
|
554
554
|
_la = this.tokenStream.LA(1);
|
|
555
555
|
if (_la === 93) {
|
|
556
556
|
{
|
|
557
|
-
this.state =
|
|
557
|
+
this.state = 213;
|
|
558
558
|
this.whereClause();
|
|
559
559
|
}
|
|
560
560
|
}
|
|
561
|
-
this.state =
|
|
561
|
+
this.state = 217;
|
|
562
562
|
this.errorHandler.sync(this);
|
|
563
563
|
_la = this.tokenStream.LA(1);
|
|
564
564
|
if (_la === 44) {
|
|
565
565
|
{
|
|
566
|
-
this.state =
|
|
566
|
+
this.state = 216;
|
|
567
567
|
this.groupByClause();
|
|
568
568
|
}
|
|
569
569
|
}
|
|
570
|
-
this.state =
|
|
570
|
+
this.state = 220;
|
|
571
571
|
this.errorHandler.sync(this);
|
|
572
572
|
_la = this.tokenStream.LA(1);
|
|
573
573
|
if (_la === 45) {
|
|
574
574
|
{
|
|
575
|
-
this.state =
|
|
575
|
+
this.state = 219;
|
|
576
576
|
this.havingClause();
|
|
577
577
|
}
|
|
578
578
|
}
|
|
579
|
-
this.state =
|
|
579
|
+
this.state = 223;
|
|
580
580
|
this.errorHandler.sync(this);
|
|
581
581
|
_la = this.tokenStream.LA(1);
|
|
582
582
|
if (_la === 69) {
|
|
583
583
|
{
|
|
584
|
-
this.state =
|
|
584
|
+
this.state = 222;
|
|
585
585
|
this.orderByClause();
|
|
586
586
|
}
|
|
587
587
|
}
|
|
588
|
-
this.state =
|
|
588
|
+
this.state = 226;
|
|
589
589
|
this.errorHandler.sync(this);
|
|
590
590
|
_la = this.tokenStream.LA(1);
|
|
591
591
|
if (_la === 60) {
|
|
592
592
|
{
|
|
593
|
-
this.state =
|
|
593
|
+
this.state = 225;
|
|
594
594
|
this.limitClause();
|
|
595
595
|
}
|
|
596
596
|
}
|
|
@@ -618,7 +618,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
618
618
|
try {
|
|
619
619
|
this.enterOuterAlt(localContext, 1);
|
|
620
620
|
{
|
|
621
|
-
this.state =
|
|
621
|
+
this.state = 228;
|
|
622
622
|
_la = this.tokenStream.LA(1);
|
|
623
623
|
if (!(_la === 6 || _la === 30)) {
|
|
624
624
|
this.errorHandler.recoverInline(this);
|
|
@@ -649,29 +649,30 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
649
649
|
this.enterRule(localContext, 26, GenericSqlParser.RULE_selectItem);
|
|
650
650
|
let _la;
|
|
651
651
|
try {
|
|
652
|
-
this.state =
|
|
652
|
+
this.state = 244;
|
|
653
653
|
this.errorHandler.sync(this);
|
|
654
654
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 21, this.context)) {
|
|
655
655
|
case 1:
|
|
656
|
+
localContext = new SelectExpressionElementContext(localContext);
|
|
656
657
|
this.enterOuterAlt(localContext, 1);
|
|
657
658
|
{
|
|
658
|
-
this.state =
|
|
659
|
+
this.state = 230;
|
|
659
660
|
this.expression();
|
|
660
|
-
this.state =
|
|
661
|
+
this.state = 235;
|
|
661
662
|
this.errorHandler.sync(this);
|
|
662
663
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 20, this.context)) {
|
|
663
664
|
case 1:
|
|
664
665
|
{
|
|
665
|
-
this.state =
|
|
666
|
+
this.state = 232;
|
|
666
667
|
this.errorHandler.sync(this);
|
|
667
668
|
_la = this.tokenStream.LA(1);
|
|
668
669
|
if (_la === 9) {
|
|
669
670
|
{
|
|
670
|
-
this.state =
|
|
671
|
+
this.state = 231;
|
|
671
672
|
this.match(GenericSqlParser.KW_AS);
|
|
672
673
|
}
|
|
673
674
|
}
|
|
674
|
-
this.state =
|
|
675
|
+
this.state = 234;
|
|
675
676
|
localContext._alias = this.identifier();
|
|
676
677
|
}
|
|
677
678
|
break;
|
|
@@ -679,23 +680,37 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
679
680
|
}
|
|
680
681
|
break;
|
|
681
682
|
case 2:
|
|
683
|
+
localContext = new SelectStarElementContext(localContext);
|
|
682
684
|
this.enterOuterAlt(localContext, 2);
|
|
683
685
|
{
|
|
684
|
-
this.state =
|
|
686
|
+
this.state = 237;
|
|
685
687
|
this.qualifiedName();
|
|
686
|
-
this.state =
|
|
688
|
+
this.state = 238;
|
|
687
689
|
this.match(GenericSqlParser.T__3);
|
|
688
|
-
this.state =
|
|
690
|
+
this.state = 239;
|
|
689
691
|
this.match(GenericSqlParser.ASTERISK);
|
|
690
692
|
}
|
|
691
693
|
break;
|
|
692
694
|
case 3:
|
|
695
|
+
localContext = new SelectAllElementContext(localContext);
|
|
693
696
|
this.enterOuterAlt(localContext, 3);
|
|
694
697
|
{
|
|
695
|
-
this.state =
|
|
698
|
+
this.state = 241;
|
|
696
699
|
this.match(GenericSqlParser.ASTERISK);
|
|
697
700
|
}
|
|
698
701
|
break;
|
|
702
|
+
case 4:
|
|
703
|
+
localContext = new SelectEmptyElementContext(localContext);
|
|
704
|
+
this.enterOuterAlt(localContext, 4);
|
|
705
|
+
{
|
|
706
|
+
this.state = 242;
|
|
707
|
+
if (!(this.shouldMatchEmpty())) {
|
|
708
|
+
throw this.createFailedPredicateException("this.shouldMatchEmpty()");
|
|
709
|
+
}
|
|
710
|
+
this.state = 243;
|
|
711
|
+
this.emptyColumn();
|
|
712
|
+
}
|
|
713
|
+
break;
|
|
699
714
|
}
|
|
700
715
|
}
|
|
701
716
|
catch (re) {
|
|
@@ -720,23 +735,23 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
720
735
|
try {
|
|
721
736
|
this.enterOuterAlt(localContext, 1);
|
|
722
737
|
{
|
|
723
|
-
this.state =
|
|
738
|
+
this.state = 246;
|
|
724
739
|
this.match(GenericSqlParser.KW_FROM);
|
|
725
|
-
this.state =
|
|
740
|
+
this.state = 247;
|
|
726
741
|
this.relation(0);
|
|
727
|
-
this.state =
|
|
742
|
+
this.state = 252;
|
|
728
743
|
this.errorHandler.sync(this);
|
|
729
744
|
_la = this.tokenStream.LA(1);
|
|
730
745
|
while (_la === 1) {
|
|
731
746
|
{
|
|
732
747
|
{
|
|
733
|
-
this.state =
|
|
748
|
+
this.state = 248;
|
|
734
749
|
this.match(GenericSqlParser.T__0);
|
|
735
|
-
this.state =
|
|
750
|
+
this.state = 249;
|
|
736
751
|
this.relation(0);
|
|
737
752
|
}
|
|
738
753
|
}
|
|
739
|
-
this.state =
|
|
754
|
+
this.state = 254;
|
|
740
755
|
this.errorHandler.sync(this);
|
|
741
756
|
_la = this.tokenStream.LA(1);
|
|
742
757
|
}
|
|
@@ -775,11 +790,11 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
775
790
|
localContext = new SimpleRelationContext(localContext);
|
|
776
791
|
this.context = localContext;
|
|
777
792
|
previousContext = localContext;
|
|
778
|
-
this.state =
|
|
793
|
+
this.state = 256;
|
|
779
794
|
this.aliasedRelation();
|
|
780
795
|
}
|
|
781
796
|
this.context.stop = this.tokenStream.LT(-1);
|
|
782
|
-
this.state =
|
|
797
|
+
this.state = 267;
|
|
783
798
|
this.errorHandler.sync(this);
|
|
784
799
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 23, this.context);
|
|
785
800
|
while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
|
|
@@ -793,24 +808,24 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
793
808
|
localContext = new JoinRelationContext(new RelationContext(parentContext, parentState));
|
|
794
809
|
localContext._left = previousContext;
|
|
795
810
|
this.pushNewRecursionContext(localContext, _startState, GenericSqlParser.RULE_relation);
|
|
796
|
-
this.state =
|
|
811
|
+
this.state = 258;
|
|
797
812
|
if (!(this.precpred(this.context, 2))) {
|
|
798
813
|
throw this.createFailedPredicateException("this.precpred(this.context, 2)");
|
|
799
814
|
}
|
|
800
|
-
this.state =
|
|
815
|
+
this.state = 259;
|
|
801
816
|
this.joinType();
|
|
802
|
-
this.state =
|
|
817
|
+
this.state = 260;
|
|
803
818
|
this.match(GenericSqlParser.KW_JOIN);
|
|
804
|
-
this.state =
|
|
819
|
+
this.state = 261;
|
|
805
820
|
localContext._right = this.relation(0);
|
|
806
|
-
this.state =
|
|
821
|
+
this.state = 262;
|
|
807
822
|
this.match(GenericSqlParser.KW_ON);
|
|
808
|
-
this.state =
|
|
823
|
+
this.state = 263;
|
|
809
824
|
localContext._condition = this.expression();
|
|
810
825
|
}
|
|
811
826
|
}
|
|
812
827
|
}
|
|
813
|
-
this.state =
|
|
828
|
+
this.state = 269;
|
|
814
829
|
this.errorHandler.sync(this);
|
|
815
830
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 23, this.context);
|
|
816
831
|
}
|
|
@@ -836,19 +851,19 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
836
851
|
this.enterRule(localContext, 32, GenericSqlParser.RULE_joinType);
|
|
837
852
|
let _la;
|
|
838
853
|
try {
|
|
839
|
-
this.state =
|
|
854
|
+
this.state = 286;
|
|
840
855
|
this.errorHandler.sync(this);
|
|
841
856
|
switch (this.tokenStream.LA(1)) {
|
|
842
857
|
case GenericSqlParser.KW_INNER:
|
|
843
858
|
case GenericSqlParser.KW_JOIN:
|
|
844
859
|
this.enterOuterAlt(localContext, 1);
|
|
845
860
|
{
|
|
846
|
-
this.state =
|
|
861
|
+
this.state = 271;
|
|
847
862
|
this.errorHandler.sync(this);
|
|
848
863
|
_la = this.tokenStream.LA(1);
|
|
849
864
|
if (_la === 48) {
|
|
850
865
|
{
|
|
851
|
-
this.state =
|
|
866
|
+
this.state = 270;
|
|
852
867
|
this.match(GenericSqlParser.KW_INNER);
|
|
853
868
|
}
|
|
854
869
|
}
|
|
@@ -857,14 +872,14 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
857
872
|
case GenericSqlParser.KW_LEFT:
|
|
858
873
|
this.enterOuterAlt(localContext, 2);
|
|
859
874
|
{
|
|
860
|
-
this.state =
|
|
875
|
+
this.state = 273;
|
|
861
876
|
this.match(GenericSqlParser.KW_LEFT);
|
|
862
|
-
this.state =
|
|
877
|
+
this.state = 275;
|
|
863
878
|
this.errorHandler.sync(this);
|
|
864
879
|
_la = this.tokenStream.LA(1);
|
|
865
880
|
if (_la === 70) {
|
|
866
881
|
{
|
|
867
|
-
this.state =
|
|
882
|
+
this.state = 274;
|
|
868
883
|
this.match(GenericSqlParser.KW_OUTER);
|
|
869
884
|
}
|
|
870
885
|
}
|
|
@@ -873,14 +888,14 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
873
888
|
case GenericSqlParser.KW_RIGHT:
|
|
874
889
|
this.enterOuterAlt(localContext, 3);
|
|
875
890
|
{
|
|
876
|
-
this.state =
|
|
891
|
+
this.state = 277;
|
|
877
892
|
this.match(GenericSqlParser.KW_RIGHT);
|
|
878
|
-
this.state =
|
|
893
|
+
this.state = 279;
|
|
879
894
|
this.errorHandler.sync(this);
|
|
880
895
|
_la = this.tokenStream.LA(1);
|
|
881
896
|
if (_la === 70) {
|
|
882
897
|
{
|
|
883
|
-
this.state =
|
|
898
|
+
this.state = 278;
|
|
884
899
|
this.match(GenericSqlParser.KW_OUTER);
|
|
885
900
|
}
|
|
886
901
|
}
|
|
@@ -889,14 +904,14 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
889
904
|
case GenericSqlParser.KW_FULL:
|
|
890
905
|
this.enterOuterAlt(localContext, 4);
|
|
891
906
|
{
|
|
892
|
-
this.state =
|
|
907
|
+
this.state = 281;
|
|
893
908
|
this.match(GenericSqlParser.KW_FULL);
|
|
894
|
-
this.state =
|
|
909
|
+
this.state = 283;
|
|
895
910
|
this.errorHandler.sync(this);
|
|
896
911
|
_la = this.tokenStream.LA(1);
|
|
897
912
|
if (_la === 70) {
|
|
898
913
|
{
|
|
899
|
-
this.state =
|
|
914
|
+
this.state = 282;
|
|
900
915
|
this.match(GenericSqlParser.KW_OUTER);
|
|
901
916
|
}
|
|
902
917
|
}
|
|
@@ -905,7 +920,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
905
920
|
case GenericSqlParser.KW_CROSS:
|
|
906
921
|
this.enterOuterAlt(localContext, 5);
|
|
907
922
|
{
|
|
908
|
-
this.state =
|
|
923
|
+
this.state = 285;
|
|
909
924
|
this.match(GenericSqlParser.KW_CROSS);
|
|
910
925
|
}
|
|
911
926
|
break;
|
|
@@ -935,23 +950,23 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
935
950
|
try {
|
|
936
951
|
this.enterOuterAlt(localContext, 1);
|
|
937
952
|
{
|
|
938
|
-
this.state =
|
|
953
|
+
this.state = 288;
|
|
939
954
|
this.relationPrimary();
|
|
940
|
-
this.state =
|
|
955
|
+
this.state = 293;
|
|
941
956
|
this.errorHandler.sync(this);
|
|
942
957
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 30, this.context)) {
|
|
943
958
|
case 1:
|
|
944
959
|
{
|
|
945
|
-
this.state =
|
|
960
|
+
this.state = 290;
|
|
946
961
|
this.errorHandler.sync(this);
|
|
947
962
|
_la = this.tokenStream.LA(1);
|
|
948
963
|
if (_la === 9) {
|
|
949
964
|
{
|
|
950
|
-
this.state =
|
|
965
|
+
this.state = 289;
|
|
951
966
|
this.match(GenericSqlParser.KW_AS);
|
|
952
967
|
}
|
|
953
968
|
}
|
|
954
|
-
this.state =
|
|
969
|
+
this.state = 292;
|
|
955
970
|
localContext._alias = this.identifier();
|
|
956
971
|
}
|
|
957
972
|
break;
|
|
@@ -977,7 +992,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
977
992
|
let localContext = new RelationPrimaryContext(this.context, this.state);
|
|
978
993
|
this.enterRule(localContext, 36, GenericSqlParser.RULE_relationPrimary);
|
|
979
994
|
try {
|
|
980
|
-
this.state =
|
|
995
|
+
this.state = 300;
|
|
981
996
|
this.errorHandler.sync(this);
|
|
982
997
|
switch (this.tokenStream.LA(1)) {
|
|
983
998
|
case GenericSqlParser.KW_ADD:
|
|
@@ -1030,7 +1045,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1030
1045
|
localContext = new TableNameRelationContext(localContext);
|
|
1031
1046
|
this.enterOuterAlt(localContext, 1);
|
|
1032
1047
|
{
|
|
1033
|
-
this.state =
|
|
1048
|
+
this.state = 295;
|
|
1034
1049
|
this.tableName();
|
|
1035
1050
|
}
|
|
1036
1051
|
break;
|
|
@@ -1038,11 +1053,11 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1038
1053
|
localContext = new SubqueryRelationContext(localContext);
|
|
1039
1054
|
this.enterOuterAlt(localContext, 2);
|
|
1040
1055
|
{
|
|
1041
|
-
this.state =
|
|
1056
|
+
this.state = 296;
|
|
1042
1057
|
this.match(GenericSqlParser.T__1);
|
|
1043
|
-
this.state =
|
|
1058
|
+
this.state = 297;
|
|
1044
1059
|
this.queryStatement();
|
|
1045
|
-
this.state =
|
|
1060
|
+
this.state = 298;
|
|
1046
1061
|
this.match(GenericSqlParser.T__2);
|
|
1047
1062
|
}
|
|
1048
1063
|
break;
|
|
@@ -1071,10 +1086,24 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1071
1086
|
try {
|
|
1072
1087
|
this.enterOuterAlt(localContext, 1);
|
|
1073
1088
|
{
|
|
1074
|
-
this.state =
|
|
1089
|
+
this.state = 302;
|
|
1075
1090
|
this.match(GenericSqlParser.KW_WHERE);
|
|
1076
|
-
this.state =
|
|
1077
|
-
this.
|
|
1091
|
+
this.state = 305;
|
|
1092
|
+
this.errorHandler.sync(this);
|
|
1093
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 32, this.context)) {
|
|
1094
|
+
case 1:
|
|
1095
|
+
{
|
|
1096
|
+
this.state = 303;
|
|
1097
|
+
this.expression();
|
|
1098
|
+
}
|
|
1099
|
+
break;
|
|
1100
|
+
case 2:
|
|
1101
|
+
{
|
|
1102
|
+
this.state = 304;
|
|
1103
|
+
this.emptyColumn();
|
|
1104
|
+
}
|
|
1105
|
+
break;
|
|
1106
|
+
}
|
|
1078
1107
|
}
|
|
1079
1108
|
}
|
|
1080
1109
|
catch (re) {
|
|
@@ -1099,35 +1128,35 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1099
1128
|
try {
|
|
1100
1129
|
this.enterOuterAlt(localContext, 1);
|
|
1101
1130
|
{
|
|
1102
|
-
this.state =
|
|
1131
|
+
this.state = 307;
|
|
1103
1132
|
this.match(GenericSqlParser.KW_GROUP);
|
|
1104
|
-
this.state =
|
|
1133
|
+
this.state = 308;
|
|
1105
1134
|
this.match(GenericSqlParser.KW_BY);
|
|
1106
|
-
this.state =
|
|
1135
|
+
this.state = 310;
|
|
1107
1136
|
this.errorHandler.sync(this);
|
|
1108
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
1137
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 33, this.context)) {
|
|
1109
1138
|
case 1:
|
|
1110
1139
|
{
|
|
1111
|
-
this.state =
|
|
1140
|
+
this.state = 309;
|
|
1112
1141
|
this.setQuantifier();
|
|
1113
1142
|
}
|
|
1114
1143
|
break;
|
|
1115
1144
|
}
|
|
1116
|
-
this.state =
|
|
1145
|
+
this.state = 312;
|
|
1117
1146
|
this.expression();
|
|
1118
|
-
this.state =
|
|
1147
|
+
this.state = 317;
|
|
1119
1148
|
this.errorHandler.sync(this);
|
|
1120
1149
|
_la = this.tokenStream.LA(1);
|
|
1121
1150
|
while (_la === 1) {
|
|
1122
1151
|
{
|
|
1123
1152
|
{
|
|
1124
|
-
this.state =
|
|
1153
|
+
this.state = 313;
|
|
1125
1154
|
this.match(GenericSqlParser.T__0);
|
|
1126
|
-
this.state =
|
|
1155
|
+
this.state = 314;
|
|
1127
1156
|
this.expression();
|
|
1128
1157
|
}
|
|
1129
1158
|
}
|
|
1130
|
-
this.state =
|
|
1159
|
+
this.state = 319;
|
|
1131
1160
|
this.errorHandler.sync(this);
|
|
1132
1161
|
_la = this.tokenStream.LA(1);
|
|
1133
1162
|
}
|
|
@@ -1154,10 +1183,24 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1154
1183
|
try {
|
|
1155
1184
|
this.enterOuterAlt(localContext, 1);
|
|
1156
1185
|
{
|
|
1157
|
-
this.state =
|
|
1186
|
+
this.state = 320;
|
|
1158
1187
|
this.match(GenericSqlParser.KW_HAVING);
|
|
1159
|
-
this.state =
|
|
1160
|
-
this.
|
|
1188
|
+
this.state = 323;
|
|
1189
|
+
this.errorHandler.sync(this);
|
|
1190
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 35, this.context)) {
|
|
1191
|
+
case 1:
|
|
1192
|
+
{
|
|
1193
|
+
this.state = 321;
|
|
1194
|
+
this.expression();
|
|
1195
|
+
}
|
|
1196
|
+
break;
|
|
1197
|
+
case 2:
|
|
1198
|
+
{
|
|
1199
|
+
this.state = 322;
|
|
1200
|
+
this.emptyColumn();
|
|
1201
|
+
}
|
|
1202
|
+
break;
|
|
1203
|
+
}
|
|
1161
1204
|
}
|
|
1162
1205
|
}
|
|
1163
1206
|
catch (re) {
|
|
@@ -1182,25 +1225,25 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1182
1225
|
try {
|
|
1183
1226
|
this.enterOuterAlt(localContext, 1);
|
|
1184
1227
|
{
|
|
1185
|
-
this.state =
|
|
1228
|
+
this.state = 325;
|
|
1186
1229
|
this.match(GenericSqlParser.KW_ORDER);
|
|
1187
|
-
this.state =
|
|
1230
|
+
this.state = 326;
|
|
1188
1231
|
this.match(GenericSqlParser.KW_BY);
|
|
1189
|
-
this.state =
|
|
1232
|
+
this.state = 327;
|
|
1190
1233
|
this.sortItem();
|
|
1191
|
-
this.state =
|
|
1234
|
+
this.state = 332;
|
|
1192
1235
|
this.errorHandler.sync(this);
|
|
1193
1236
|
_la = this.tokenStream.LA(1);
|
|
1194
1237
|
while (_la === 1) {
|
|
1195
1238
|
{
|
|
1196
1239
|
{
|
|
1197
|
-
this.state =
|
|
1240
|
+
this.state = 328;
|
|
1198
1241
|
this.match(GenericSqlParser.T__0);
|
|
1199
|
-
this.state =
|
|
1242
|
+
this.state = 329;
|
|
1200
1243
|
this.sortItem();
|
|
1201
1244
|
}
|
|
1202
1245
|
}
|
|
1203
|
-
this.state =
|
|
1246
|
+
this.state = 334;
|
|
1204
1247
|
this.errorHandler.sync(this);
|
|
1205
1248
|
_la = this.tokenStream.LA(1);
|
|
1206
1249
|
}
|
|
@@ -1228,14 +1271,14 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1228
1271
|
try {
|
|
1229
1272
|
this.enterOuterAlt(localContext, 1);
|
|
1230
1273
|
{
|
|
1231
|
-
this.state =
|
|
1274
|
+
this.state = 335;
|
|
1232
1275
|
this.expression();
|
|
1233
|
-
this.state =
|
|
1276
|
+
this.state = 337;
|
|
1234
1277
|
this.errorHandler.sync(this);
|
|
1235
1278
|
_la = this.tokenStream.LA(1);
|
|
1236
1279
|
if (_la === 10 || _la === 29) {
|
|
1237
1280
|
{
|
|
1238
|
-
this.state =
|
|
1281
|
+
this.state = 336;
|
|
1239
1282
|
localContext._ordering = this.tokenStream.LT(1);
|
|
1240
1283
|
_la = this.tokenStream.LA(1);
|
|
1241
1284
|
if (!(_la === 10 || _la === 29)) {
|
|
@@ -1247,14 +1290,14 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1247
1290
|
}
|
|
1248
1291
|
}
|
|
1249
1292
|
}
|
|
1250
|
-
this.state =
|
|
1293
|
+
this.state = 341;
|
|
1251
1294
|
this.errorHandler.sync(this);
|
|
1252
1295
|
_la = this.tokenStream.LA(1);
|
|
1253
1296
|
if (_la === 64) {
|
|
1254
1297
|
{
|
|
1255
|
-
this.state =
|
|
1298
|
+
this.state = 339;
|
|
1256
1299
|
this.match(GenericSqlParser.KW_NULLS);
|
|
1257
|
-
this.state =
|
|
1300
|
+
this.state = 340;
|
|
1258
1301
|
localContext._nullOrdering = this.tokenStream.LT(1);
|
|
1259
1302
|
_la = this.tokenStream.LA(1);
|
|
1260
1303
|
if (!(_la === 39 || _la === 57)) {
|
|
@@ -1290,18 +1333,18 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1290
1333
|
try {
|
|
1291
1334
|
this.enterOuterAlt(localContext, 1);
|
|
1292
1335
|
{
|
|
1293
|
-
this.state =
|
|
1336
|
+
this.state = 343;
|
|
1294
1337
|
this.match(GenericSqlParser.KW_LIMIT);
|
|
1295
|
-
this.state =
|
|
1338
|
+
this.state = 344;
|
|
1296
1339
|
localContext._limit = this.expression();
|
|
1297
|
-
this.state =
|
|
1340
|
+
this.state = 347;
|
|
1298
1341
|
this.errorHandler.sync(this);
|
|
1299
1342
|
_la = this.tokenStream.LA(1);
|
|
1300
1343
|
if (_la === 66) {
|
|
1301
1344
|
{
|
|
1302
|
-
this.state =
|
|
1345
|
+
this.state = 345;
|
|
1303
1346
|
this.match(GenericSqlParser.KW_OFFSET);
|
|
1304
|
-
this.state =
|
|
1347
|
+
this.state = 346;
|
|
1305
1348
|
localContext._offset = this.expression();
|
|
1306
1349
|
}
|
|
1307
1350
|
}
|
|
@@ -1328,23 +1371,23 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1328
1371
|
try {
|
|
1329
1372
|
this.enterOuterAlt(localContext, 1);
|
|
1330
1373
|
{
|
|
1331
|
-
this.state =
|
|
1374
|
+
this.state = 349;
|
|
1332
1375
|
this.match(GenericSqlParser.KW_INSERT);
|
|
1333
|
-
this.state =
|
|
1376
|
+
this.state = 350;
|
|
1334
1377
|
this.match(GenericSqlParser.KW_INTO);
|
|
1335
|
-
this.state =
|
|
1378
|
+
this.state = 351;
|
|
1336
1379
|
this.tableName();
|
|
1337
|
-
this.state =
|
|
1380
|
+
this.state = 353;
|
|
1338
1381
|
this.errorHandler.sync(this);
|
|
1339
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
1382
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 40, this.context)) {
|
|
1340
1383
|
case 1:
|
|
1341
1384
|
{
|
|
1342
|
-
this.state =
|
|
1385
|
+
this.state = 352;
|
|
1343
1386
|
this.columnList();
|
|
1344
1387
|
}
|
|
1345
1388
|
break;
|
|
1346
1389
|
}
|
|
1347
|
-
this.state =
|
|
1390
|
+
this.state = 355;
|
|
1348
1391
|
this.queryStatement();
|
|
1349
1392
|
}
|
|
1350
1393
|
}
|
|
@@ -1370,27 +1413,27 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1370
1413
|
try {
|
|
1371
1414
|
this.enterOuterAlt(localContext, 1);
|
|
1372
1415
|
{
|
|
1373
|
-
this.state =
|
|
1416
|
+
this.state = 357;
|
|
1374
1417
|
this.match(GenericSqlParser.T__1);
|
|
1375
|
-
this.state =
|
|
1418
|
+
this.state = 358;
|
|
1376
1419
|
this.columnRef();
|
|
1377
|
-
this.state =
|
|
1420
|
+
this.state = 363;
|
|
1378
1421
|
this.errorHandler.sync(this);
|
|
1379
1422
|
_la = this.tokenStream.LA(1);
|
|
1380
1423
|
while (_la === 1) {
|
|
1381
1424
|
{
|
|
1382
1425
|
{
|
|
1383
|
-
this.state =
|
|
1426
|
+
this.state = 359;
|
|
1384
1427
|
this.match(GenericSqlParser.T__0);
|
|
1385
|
-
this.state =
|
|
1428
|
+
this.state = 360;
|
|
1386
1429
|
this.columnRef();
|
|
1387
1430
|
}
|
|
1388
1431
|
}
|
|
1389
|
-
this.state =
|
|
1432
|
+
this.state = 365;
|
|
1390
1433
|
this.errorHandler.sync(this);
|
|
1391
1434
|
_la = this.tokenStream.LA(1);
|
|
1392
1435
|
}
|
|
1393
|
-
this.state =
|
|
1436
|
+
this.state = 366;
|
|
1394
1437
|
this.match(GenericSqlParser.T__2);
|
|
1395
1438
|
}
|
|
1396
1439
|
}
|
|
@@ -1416,36 +1459,36 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1416
1459
|
try {
|
|
1417
1460
|
this.enterOuterAlt(localContext, 1);
|
|
1418
1461
|
{
|
|
1419
|
-
this.state =
|
|
1462
|
+
this.state = 368;
|
|
1420
1463
|
this.match(GenericSqlParser.KW_UPDATE);
|
|
1421
|
-
this.state =
|
|
1464
|
+
this.state = 369;
|
|
1422
1465
|
this.tableName();
|
|
1423
|
-
this.state =
|
|
1466
|
+
this.state = 370;
|
|
1424
1467
|
this.match(GenericSqlParser.KW_SET);
|
|
1425
|
-
this.state =
|
|
1468
|
+
this.state = 371;
|
|
1426
1469
|
this.updateAssignment();
|
|
1427
|
-
this.state =
|
|
1470
|
+
this.state = 376;
|
|
1428
1471
|
this.errorHandler.sync(this);
|
|
1429
1472
|
_la = this.tokenStream.LA(1);
|
|
1430
1473
|
while (_la === 1) {
|
|
1431
1474
|
{
|
|
1432
1475
|
{
|
|
1433
|
-
this.state =
|
|
1476
|
+
this.state = 372;
|
|
1434
1477
|
this.match(GenericSqlParser.T__0);
|
|
1435
|
-
this.state =
|
|
1478
|
+
this.state = 373;
|
|
1436
1479
|
this.updateAssignment();
|
|
1437
1480
|
}
|
|
1438
1481
|
}
|
|
1439
|
-
this.state =
|
|
1482
|
+
this.state = 378;
|
|
1440
1483
|
this.errorHandler.sync(this);
|
|
1441
1484
|
_la = this.tokenStream.LA(1);
|
|
1442
1485
|
}
|
|
1443
|
-
this.state =
|
|
1486
|
+
this.state = 380;
|
|
1444
1487
|
this.errorHandler.sync(this);
|
|
1445
1488
|
_la = this.tokenStream.LA(1);
|
|
1446
1489
|
if (_la === 93) {
|
|
1447
1490
|
{
|
|
1448
|
-
this.state =
|
|
1491
|
+
this.state = 379;
|
|
1449
1492
|
this.whereClause();
|
|
1450
1493
|
}
|
|
1451
1494
|
}
|
|
@@ -1472,11 +1515,11 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1472
1515
|
try {
|
|
1473
1516
|
this.enterOuterAlt(localContext, 1);
|
|
1474
1517
|
{
|
|
1475
|
-
this.state =
|
|
1518
|
+
this.state = 382;
|
|
1476
1519
|
this.columnRef();
|
|
1477
|
-
this.state =
|
|
1520
|
+
this.state = 383;
|
|
1478
1521
|
this.match(GenericSqlParser.EQ);
|
|
1479
|
-
this.state =
|
|
1522
|
+
this.state = 384;
|
|
1480
1523
|
this.expression();
|
|
1481
1524
|
}
|
|
1482
1525
|
}
|
|
@@ -1502,18 +1545,18 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1502
1545
|
try {
|
|
1503
1546
|
this.enterOuterAlt(localContext, 1);
|
|
1504
1547
|
{
|
|
1505
|
-
this.state =
|
|
1548
|
+
this.state = 386;
|
|
1506
1549
|
this.match(GenericSqlParser.KW_DELETE);
|
|
1507
|
-
this.state =
|
|
1550
|
+
this.state = 387;
|
|
1508
1551
|
this.match(GenericSqlParser.KW_FROM);
|
|
1509
|
-
this.state =
|
|
1552
|
+
this.state = 388;
|
|
1510
1553
|
this.tableName();
|
|
1511
|
-
this.state =
|
|
1554
|
+
this.state = 390;
|
|
1512
1555
|
this.errorHandler.sync(this);
|
|
1513
1556
|
_la = this.tokenStream.LA(1);
|
|
1514
1557
|
if (_la === 93) {
|
|
1515
1558
|
{
|
|
1516
|
-
this.state =
|
|
1559
|
+
this.state = 389;
|
|
1517
1560
|
this.whereClause();
|
|
1518
1561
|
}
|
|
1519
1562
|
}
|
|
@@ -1541,56 +1584,56 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1541
1584
|
try {
|
|
1542
1585
|
this.enterOuterAlt(localContext, 1);
|
|
1543
1586
|
{
|
|
1544
|
-
this.state =
|
|
1587
|
+
this.state = 392;
|
|
1545
1588
|
this.match(GenericSqlParser.KW_CREATE);
|
|
1546
|
-
this.state =
|
|
1589
|
+
this.state = 393;
|
|
1547
1590
|
this.match(GenericSqlParser.KW_TABLE);
|
|
1548
|
-
this.state =
|
|
1591
|
+
this.state = 397;
|
|
1549
1592
|
this.errorHandler.sync(this);
|
|
1550
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
1593
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 45, this.context)) {
|
|
1551
1594
|
case 1:
|
|
1552
1595
|
{
|
|
1553
|
-
this.state =
|
|
1596
|
+
this.state = 394;
|
|
1554
1597
|
this.match(GenericSqlParser.KW_IF);
|
|
1555
|
-
this.state =
|
|
1598
|
+
this.state = 395;
|
|
1556
1599
|
this.match(GenericSqlParser.KW_NOT);
|
|
1557
|
-
this.state =
|
|
1600
|
+
this.state = 396;
|
|
1558
1601
|
this.match(GenericSqlParser.KW_EXISTS);
|
|
1559
1602
|
}
|
|
1560
1603
|
break;
|
|
1561
1604
|
}
|
|
1562
|
-
this.state =
|
|
1605
|
+
this.state = 399;
|
|
1563
1606
|
this.tableNameCreate();
|
|
1564
|
-
this.state =
|
|
1607
|
+
this.state = 400;
|
|
1565
1608
|
this.match(GenericSqlParser.T__1);
|
|
1566
|
-
this.state =
|
|
1609
|
+
this.state = 401;
|
|
1567
1610
|
this.tableElement();
|
|
1568
|
-
this.state =
|
|
1611
|
+
this.state = 406;
|
|
1569
1612
|
this.errorHandler.sync(this);
|
|
1570
1613
|
_la = this.tokenStream.LA(1);
|
|
1571
1614
|
while (_la === 1) {
|
|
1572
1615
|
{
|
|
1573
1616
|
{
|
|
1574
|
-
this.state =
|
|
1617
|
+
this.state = 402;
|
|
1575
1618
|
this.match(GenericSqlParser.T__0);
|
|
1576
|
-
this.state =
|
|
1619
|
+
this.state = 403;
|
|
1577
1620
|
this.tableElement();
|
|
1578
1621
|
}
|
|
1579
1622
|
}
|
|
1580
|
-
this.state =
|
|
1623
|
+
this.state = 408;
|
|
1581
1624
|
this.errorHandler.sync(this);
|
|
1582
1625
|
_la = this.tokenStream.LA(1);
|
|
1583
1626
|
}
|
|
1584
|
-
this.state =
|
|
1627
|
+
this.state = 409;
|
|
1585
1628
|
this.match(GenericSqlParser.T__2);
|
|
1586
|
-
this.state =
|
|
1629
|
+
this.state = 412;
|
|
1587
1630
|
this.errorHandler.sync(this);
|
|
1588
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
1631
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 47, this.context)) {
|
|
1589
1632
|
case 1:
|
|
1590
1633
|
{
|
|
1591
|
-
this.state =
|
|
1634
|
+
this.state = 410;
|
|
1592
1635
|
this.match(GenericSqlParser.KW_WITH);
|
|
1593
|
-
this.state =
|
|
1636
|
+
this.state = 411;
|
|
1594
1637
|
this.properties();
|
|
1595
1638
|
}
|
|
1596
1639
|
break;
|
|
@@ -1616,20 +1659,20 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1616
1659
|
let localContext = new TableElementContext(this.context, this.state);
|
|
1617
1660
|
this.enterRule(localContext, 62, GenericSqlParser.RULE_tableElement);
|
|
1618
1661
|
try {
|
|
1619
|
-
this.state =
|
|
1662
|
+
this.state = 416;
|
|
1620
1663
|
this.errorHandler.sync(this);
|
|
1621
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
1664
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 48, this.context)) {
|
|
1622
1665
|
case 1:
|
|
1623
1666
|
this.enterOuterAlt(localContext, 1);
|
|
1624
1667
|
{
|
|
1625
|
-
this.state =
|
|
1668
|
+
this.state = 414;
|
|
1626
1669
|
this.columnDefinition();
|
|
1627
1670
|
}
|
|
1628
1671
|
break;
|
|
1629
1672
|
case 2:
|
|
1630
1673
|
this.enterOuterAlt(localContext, 2);
|
|
1631
1674
|
{
|
|
1632
|
-
this.state =
|
|
1675
|
+
this.state = 415;
|
|
1633
1676
|
this.tableConstraint();
|
|
1634
1677
|
}
|
|
1635
1678
|
break;
|
|
@@ -1657,40 +1700,40 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1657
1700
|
try {
|
|
1658
1701
|
this.enterOuterAlt(localContext, 1);
|
|
1659
1702
|
{
|
|
1660
|
-
this.state =
|
|
1661
|
-
this.
|
|
1662
|
-
this.state =
|
|
1663
|
-
this.dataType();
|
|
1664
|
-
this.state =
|
|
1703
|
+
this.state = 418;
|
|
1704
|
+
this.columnRefCreate();
|
|
1705
|
+
this.state = 419;
|
|
1706
|
+
localContext._colType = this.dataType();
|
|
1707
|
+
this.state = 422;
|
|
1665
1708
|
this.errorHandler.sync(this);
|
|
1666
1709
|
_la = this.tokenStream.LA(1);
|
|
1667
1710
|
if (_la === 61) {
|
|
1668
1711
|
{
|
|
1669
|
-
this.state =
|
|
1712
|
+
this.state = 420;
|
|
1670
1713
|
this.match(GenericSqlParser.KW_NOT);
|
|
1671
|
-
this.state =
|
|
1714
|
+
this.state = 421;
|
|
1672
1715
|
this.match(GenericSqlParser.KW_NULL);
|
|
1673
1716
|
}
|
|
1674
1717
|
}
|
|
1675
|
-
this.state =
|
|
1718
|
+
this.state = 426;
|
|
1676
1719
|
this.errorHandler.sync(this);
|
|
1677
1720
|
_la = this.tokenStream.LA(1);
|
|
1678
1721
|
if (_la === 27) {
|
|
1679
1722
|
{
|
|
1680
|
-
this.state =
|
|
1723
|
+
this.state = 424;
|
|
1681
1724
|
this.match(GenericSqlParser.KW_DEFAULT);
|
|
1682
|
-
this.state =
|
|
1725
|
+
this.state = 425;
|
|
1683
1726
|
this.expression();
|
|
1684
1727
|
}
|
|
1685
1728
|
}
|
|
1686
|
-
this.state =
|
|
1729
|
+
this.state = 430;
|
|
1687
1730
|
this.errorHandler.sync(this);
|
|
1688
1731
|
_la = this.tokenStream.LA(1);
|
|
1689
1732
|
if (_la === 71) {
|
|
1690
1733
|
{
|
|
1691
|
-
this.state =
|
|
1734
|
+
this.state = 428;
|
|
1692
1735
|
this.match(GenericSqlParser.KW_PRIMARY);
|
|
1693
|
-
this.state =
|
|
1736
|
+
this.state = 429;
|
|
1694
1737
|
this.match(GenericSqlParser.KW_KEY);
|
|
1695
1738
|
}
|
|
1696
1739
|
}
|
|
@@ -1711,150 +1754,175 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1711
1754
|
}
|
|
1712
1755
|
return localContext;
|
|
1713
1756
|
}
|
|
1757
|
+
columnRefCreate() {
|
|
1758
|
+
let localContext = new ColumnRefCreateContext(this.context, this.state);
|
|
1759
|
+
this.enterRule(localContext, 66, GenericSqlParser.RULE_columnRefCreate);
|
|
1760
|
+
try {
|
|
1761
|
+
this.enterOuterAlt(localContext, 1);
|
|
1762
|
+
{
|
|
1763
|
+
this.state = 432;
|
|
1764
|
+
this.identifier();
|
|
1765
|
+
}
|
|
1766
|
+
}
|
|
1767
|
+
catch (re) {
|
|
1768
|
+
if (re instanceof antlr.RecognitionException) {
|
|
1769
|
+
localContext.exception = re;
|
|
1770
|
+
this.errorHandler.reportError(this, re);
|
|
1771
|
+
this.errorHandler.recover(this, re);
|
|
1772
|
+
}
|
|
1773
|
+
else {
|
|
1774
|
+
throw re;
|
|
1775
|
+
}
|
|
1776
|
+
}
|
|
1777
|
+
finally {
|
|
1778
|
+
this.exitRule();
|
|
1779
|
+
}
|
|
1780
|
+
return localContext;
|
|
1781
|
+
}
|
|
1714
1782
|
tableConstraint() {
|
|
1715
1783
|
let localContext = new TableConstraintContext(this.context, this.state);
|
|
1716
|
-
this.enterRule(localContext,
|
|
1784
|
+
this.enterRule(localContext, 68, GenericSqlParser.RULE_tableConstraint);
|
|
1717
1785
|
let _la;
|
|
1718
1786
|
try {
|
|
1719
1787
|
this.enterOuterAlt(localContext, 1);
|
|
1720
1788
|
{
|
|
1721
|
-
this.state =
|
|
1789
|
+
this.state = 436;
|
|
1722
1790
|
this.errorHandler.sync(this);
|
|
1723
1791
|
_la = this.tokenStream.LA(1);
|
|
1724
1792
|
if (_la === 22) {
|
|
1725
1793
|
{
|
|
1726
|
-
this.state =
|
|
1794
|
+
this.state = 434;
|
|
1727
1795
|
this.match(GenericSqlParser.KW_CONSTRAINT);
|
|
1728
|
-
this.state =
|
|
1796
|
+
this.state = 435;
|
|
1729
1797
|
this.identifier();
|
|
1730
1798
|
}
|
|
1731
1799
|
}
|
|
1732
|
-
this.state =
|
|
1800
|
+
this.state = 493;
|
|
1733
1801
|
this.errorHandler.sync(this);
|
|
1734
1802
|
switch (this.tokenStream.LA(1)) {
|
|
1735
1803
|
case GenericSqlParser.KW_PRIMARY:
|
|
1736
1804
|
{
|
|
1737
|
-
this.state =
|
|
1805
|
+
this.state = 438;
|
|
1738
1806
|
this.match(GenericSqlParser.KW_PRIMARY);
|
|
1739
|
-
this.state =
|
|
1807
|
+
this.state = 439;
|
|
1740
1808
|
this.match(GenericSqlParser.KW_KEY);
|
|
1741
|
-
this.state =
|
|
1809
|
+
this.state = 440;
|
|
1742
1810
|
this.match(GenericSqlParser.T__1);
|
|
1743
|
-
this.state =
|
|
1811
|
+
this.state = 441;
|
|
1744
1812
|
this.columnRef();
|
|
1745
|
-
this.state =
|
|
1813
|
+
this.state = 446;
|
|
1746
1814
|
this.errorHandler.sync(this);
|
|
1747
1815
|
_la = this.tokenStream.LA(1);
|
|
1748
1816
|
while (_la === 1) {
|
|
1749
1817
|
{
|
|
1750
1818
|
{
|
|
1751
|
-
this.state =
|
|
1819
|
+
this.state = 442;
|
|
1752
1820
|
this.match(GenericSqlParser.T__0);
|
|
1753
|
-
this.state =
|
|
1821
|
+
this.state = 443;
|
|
1754
1822
|
this.columnRef();
|
|
1755
1823
|
}
|
|
1756
1824
|
}
|
|
1757
|
-
this.state =
|
|
1825
|
+
this.state = 448;
|
|
1758
1826
|
this.errorHandler.sync(this);
|
|
1759
1827
|
_la = this.tokenStream.LA(1);
|
|
1760
1828
|
}
|
|
1761
|
-
this.state =
|
|
1829
|
+
this.state = 449;
|
|
1762
1830
|
this.match(GenericSqlParser.T__2);
|
|
1763
1831
|
}
|
|
1764
1832
|
break;
|
|
1765
1833
|
case GenericSqlParser.KW_UNIQUE:
|
|
1766
1834
|
{
|
|
1767
|
-
this.state =
|
|
1835
|
+
this.state = 451;
|
|
1768
1836
|
this.match(GenericSqlParser.KW_UNIQUE);
|
|
1769
|
-
this.state =
|
|
1837
|
+
this.state = 452;
|
|
1770
1838
|
this.match(GenericSqlParser.T__1);
|
|
1771
|
-
this.state =
|
|
1839
|
+
this.state = 453;
|
|
1772
1840
|
this.columnRef();
|
|
1773
|
-
this.state =
|
|
1841
|
+
this.state = 458;
|
|
1774
1842
|
this.errorHandler.sync(this);
|
|
1775
1843
|
_la = this.tokenStream.LA(1);
|
|
1776
1844
|
while (_la === 1) {
|
|
1777
1845
|
{
|
|
1778
1846
|
{
|
|
1779
|
-
this.state =
|
|
1847
|
+
this.state = 454;
|
|
1780
1848
|
this.match(GenericSqlParser.T__0);
|
|
1781
|
-
this.state =
|
|
1849
|
+
this.state = 455;
|
|
1782
1850
|
this.columnRef();
|
|
1783
1851
|
}
|
|
1784
1852
|
}
|
|
1785
|
-
this.state =
|
|
1853
|
+
this.state = 460;
|
|
1786
1854
|
this.errorHandler.sync(this);
|
|
1787
1855
|
_la = this.tokenStream.LA(1);
|
|
1788
1856
|
}
|
|
1789
|
-
this.state =
|
|
1857
|
+
this.state = 461;
|
|
1790
1858
|
this.match(GenericSqlParser.T__2);
|
|
1791
1859
|
}
|
|
1792
1860
|
break;
|
|
1793
1861
|
case GenericSqlParser.KW_CHECK:
|
|
1794
1862
|
{
|
|
1795
|
-
this.state =
|
|
1863
|
+
this.state = 463;
|
|
1796
1864
|
this.match(GenericSqlParser.KW_CHECK);
|
|
1797
|
-
this.state =
|
|
1865
|
+
this.state = 464;
|
|
1798
1866
|
this.match(GenericSqlParser.T__1);
|
|
1799
|
-
this.state =
|
|
1867
|
+
this.state = 465;
|
|
1800
1868
|
this.expression();
|
|
1801
|
-
this.state =
|
|
1869
|
+
this.state = 466;
|
|
1802
1870
|
this.match(GenericSqlParser.T__2);
|
|
1803
1871
|
}
|
|
1804
1872
|
break;
|
|
1805
1873
|
case GenericSqlParser.KW_FOREIGN:
|
|
1806
1874
|
{
|
|
1807
|
-
this.state =
|
|
1875
|
+
this.state = 468;
|
|
1808
1876
|
this.match(GenericSqlParser.KW_FOREIGN);
|
|
1809
|
-
this.state =
|
|
1877
|
+
this.state = 469;
|
|
1810
1878
|
this.match(GenericSqlParser.KW_KEY);
|
|
1811
|
-
this.state =
|
|
1879
|
+
this.state = 470;
|
|
1812
1880
|
this.match(GenericSqlParser.T__1);
|
|
1813
|
-
this.state =
|
|
1881
|
+
this.state = 471;
|
|
1814
1882
|
this.columnRef();
|
|
1815
|
-
this.state =
|
|
1883
|
+
this.state = 476;
|
|
1816
1884
|
this.errorHandler.sync(this);
|
|
1817
1885
|
_la = this.tokenStream.LA(1);
|
|
1818
1886
|
while (_la === 1) {
|
|
1819
1887
|
{
|
|
1820
1888
|
{
|
|
1821
|
-
this.state =
|
|
1889
|
+
this.state = 472;
|
|
1822
1890
|
this.match(GenericSqlParser.T__0);
|
|
1823
|
-
this.state =
|
|
1891
|
+
this.state = 473;
|
|
1824
1892
|
this.columnRef();
|
|
1825
1893
|
}
|
|
1826
1894
|
}
|
|
1827
|
-
this.state =
|
|
1895
|
+
this.state = 478;
|
|
1828
1896
|
this.errorHandler.sync(this);
|
|
1829
1897
|
_la = this.tokenStream.LA(1);
|
|
1830
1898
|
}
|
|
1831
|
-
this.state =
|
|
1899
|
+
this.state = 479;
|
|
1832
1900
|
this.match(GenericSqlParser.T__2);
|
|
1833
|
-
this.state =
|
|
1901
|
+
this.state = 480;
|
|
1834
1902
|
this.match(GenericSqlParser.KW_REFERENCES);
|
|
1835
|
-
this.state =
|
|
1903
|
+
this.state = 481;
|
|
1836
1904
|
this.tableName();
|
|
1837
|
-
this.state =
|
|
1905
|
+
this.state = 482;
|
|
1838
1906
|
this.match(GenericSqlParser.T__1);
|
|
1839
|
-
this.state =
|
|
1907
|
+
this.state = 483;
|
|
1840
1908
|
this.columnRef();
|
|
1841
|
-
this.state =
|
|
1909
|
+
this.state = 488;
|
|
1842
1910
|
this.errorHandler.sync(this);
|
|
1843
1911
|
_la = this.tokenStream.LA(1);
|
|
1844
1912
|
while (_la === 1) {
|
|
1845
1913
|
{
|
|
1846
1914
|
{
|
|
1847
|
-
this.state =
|
|
1915
|
+
this.state = 484;
|
|
1848
1916
|
this.match(GenericSqlParser.T__0);
|
|
1849
|
-
this.state =
|
|
1917
|
+
this.state = 485;
|
|
1850
1918
|
this.columnRef();
|
|
1851
1919
|
}
|
|
1852
1920
|
}
|
|
1853
|
-
this.state =
|
|
1921
|
+
this.state = 490;
|
|
1854
1922
|
this.errorHandler.sync(this);
|
|
1855
1923
|
_la = this.tokenStream.LA(1);
|
|
1856
1924
|
}
|
|
1857
|
-
this.state =
|
|
1925
|
+
this.state = 491;
|
|
1858
1926
|
this.match(GenericSqlParser.T__2);
|
|
1859
1927
|
}
|
|
1860
1928
|
break;
|
|
@@ -1880,114 +1948,114 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1880
1948
|
}
|
|
1881
1949
|
alterTableStatement() {
|
|
1882
1950
|
let localContext = new AlterTableStatementContext(this.context, this.state);
|
|
1883
|
-
this.enterRule(localContext,
|
|
1951
|
+
this.enterRule(localContext, 70, GenericSqlParser.RULE_alterTableStatement);
|
|
1884
1952
|
try {
|
|
1885
1953
|
this.enterOuterAlt(localContext, 1);
|
|
1886
1954
|
{
|
|
1887
|
-
this.state =
|
|
1955
|
+
this.state = 495;
|
|
1888
1956
|
this.match(GenericSqlParser.KW_ALTER);
|
|
1889
|
-
this.state =
|
|
1957
|
+
this.state = 496;
|
|
1890
1958
|
this.match(GenericSqlParser.KW_TABLE);
|
|
1891
|
-
this.state =
|
|
1959
|
+
this.state = 499;
|
|
1892
1960
|
this.errorHandler.sync(this);
|
|
1893
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
1961
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 58, this.context)) {
|
|
1894
1962
|
case 1:
|
|
1895
1963
|
{
|
|
1896
|
-
this.state =
|
|
1964
|
+
this.state = 497;
|
|
1897
1965
|
this.match(GenericSqlParser.KW_IF);
|
|
1898
|
-
this.state =
|
|
1966
|
+
this.state = 498;
|
|
1899
1967
|
this.match(GenericSqlParser.KW_EXISTS);
|
|
1900
1968
|
}
|
|
1901
1969
|
break;
|
|
1902
1970
|
}
|
|
1903
|
-
this.state =
|
|
1971
|
+
this.state = 501;
|
|
1904
1972
|
this.tableName();
|
|
1905
|
-
this.state =
|
|
1973
|
+
this.state = 533;
|
|
1906
1974
|
this.errorHandler.sync(this);
|
|
1907
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
1975
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 61, this.context)) {
|
|
1908
1976
|
case 1:
|
|
1909
1977
|
{
|
|
1910
|
-
this.state =
|
|
1978
|
+
this.state = 502;
|
|
1911
1979
|
this.match(GenericSqlParser.KW_ADD);
|
|
1912
|
-
this.state =
|
|
1980
|
+
this.state = 503;
|
|
1913
1981
|
this.match(GenericSqlParser.KW_COLUMN);
|
|
1914
|
-
this.state =
|
|
1982
|
+
this.state = 507;
|
|
1915
1983
|
this.errorHandler.sync(this);
|
|
1916
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
1984
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 59, this.context)) {
|
|
1917
1985
|
case 1:
|
|
1918
1986
|
{
|
|
1919
|
-
this.state =
|
|
1987
|
+
this.state = 504;
|
|
1920
1988
|
this.match(GenericSqlParser.KW_IF);
|
|
1921
|
-
this.state =
|
|
1989
|
+
this.state = 505;
|
|
1922
1990
|
this.match(GenericSqlParser.KW_NOT);
|
|
1923
|
-
this.state =
|
|
1991
|
+
this.state = 506;
|
|
1924
1992
|
this.match(GenericSqlParser.KW_EXISTS);
|
|
1925
1993
|
}
|
|
1926
1994
|
break;
|
|
1927
1995
|
}
|
|
1928
|
-
this.state =
|
|
1996
|
+
this.state = 509;
|
|
1929
1997
|
this.columnDefinition();
|
|
1930
1998
|
}
|
|
1931
1999
|
break;
|
|
1932
2000
|
case 2:
|
|
1933
2001
|
{
|
|
1934
|
-
this.state =
|
|
2002
|
+
this.state = 510;
|
|
1935
2003
|
this.match(GenericSqlParser.KW_DROP);
|
|
1936
|
-
this.state =
|
|
2004
|
+
this.state = 511;
|
|
1937
2005
|
this.match(GenericSqlParser.KW_COLUMN);
|
|
1938
|
-
this.state =
|
|
2006
|
+
this.state = 514;
|
|
1939
2007
|
this.errorHandler.sync(this);
|
|
1940
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
2008
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 60, this.context)) {
|
|
1941
2009
|
case 1:
|
|
1942
2010
|
{
|
|
1943
|
-
this.state =
|
|
2011
|
+
this.state = 512;
|
|
1944
2012
|
this.match(GenericSqlParser.KW_IF);
|
|
1945
|
-
this.state =
|
|
2013
|
+
this.state = 513;
|
|
1946
2014
|
this.match(GenericSqlParser.KW_EXISTS);
|
|
1947
2015
|
}
|
|
1948
2016
|
break;
|
|
1949
2017
|
}
|
|
1950
|
-
this.state =
|
|
2018
|
+
this.state = 516;
|
|
1951
2019
|
this.columnRef();
|
|
1952
2020
|
}
|
|
1953
2021
|
break;
|
|
1954
2022
|
case 3:
|
|
1955
2023
|
{
|
|
1956
|
-
this.state =
|
|
2024
|
+
this.state = 517;
|
|
1957
2025
|
this.match(GenericSqlParser.KW_RENAME);
|
|
1958
|
-
this.state =
|
|
2026
|
+
this.state = 518;
|
|
1959
2027
|
this.match(GenericSqlParser.KW_TO);
|
|
1960
|
-
this.state =
|
|
2028
|
+
this.state = 519;
|
|
1961
2029
|
this.tableNameCreate();
|
|
1962
2030
|
}
|
|
1963
2031
|
break;
|
|
1964
2032
|
case 4:
|
|
1965
2033
|
{
|
|
1966
|
-
this.state =
|
|
2034
|
+
this.state = 520;
|
|
1967
2035
|
this.match(GenericSqlParser.KW_ALTER);
|
|
1968
|
-
this.state =
|
|
2036
|
+
this.state = 521;
|
|
1969
2037
|
this.match(GenericSqlParser.KW_COLUMN);
|
|
1970
|
-
this.state =
|
|
2038
|
+
this.state = 522;
|
|
1971
2039
|
this.columnRef();
|
|
1972
|
-
this.state =
|
|
2040
|
+
this.state = 523;
|
|
1973
2041
|
this.match(GenericSqlParser.KW_SET);
|
|
1974
|
-
this.state =
|
|
2042
|
+
this.state = 524;
|
|
1975
2043
|
this.match(GenericSqlParser.KW_DEFAULT);
|
|
1976
|
-
this.state =
|
|
2044
|
+
this.state = 525;
|
|
1977
2045
|
this.expression();
|
|
1978
2046
|
}
|
|
1979
2047
|
break;
|
|
1980
2048
|
case 5:
|
|
1981
2049
|
{
|
|
1982
|
-
this.state =
|
|
2050
|
+
this.state = 527;
|
|
1983
2051
|
this.match(GenericSqlParser.KW_ALTER);
|
|
1984
|
-
this.state =
|
|
2052
|
+
this.state = 528;
|
|
1985
2053
|
this.match(GenericSqlParser.KW_COLUMN);
|
|
1986
|
-
this.state =
|
|
2054
|
+
this.state = 529;
|
|
1987
2055
|
this.columnRef();
|
|
1988
|
-
this.state =
|
|
2056
|
+
this.state = 530;
|
|
1989
2057
|
this.match(GenericSqlParser.KW_DROP);
|
|
1990
|
-
this.state =
|
|
2058
|
+
this.state = 531;
|
|
1991
2059
|
this.match(GenericSqlParser.KW_DEFAULT);
|
|
1992
2060
|
}
|
|
1993
2061
|
break;
|
|
@@ -2011,27 +2079,27 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2011
2079
|
}
|
|
2012
2080
|
dropTableStatement() {
|
|
2013
2081
|
let localContext = new DropTableStatementContext(this.context, this.state);
|
|
2014
|
-
this.enterRule(localContext,
|
|
2082
|
+
this.enterRule(localContext, 72, GenericSqlParser.RULE_dropTableStatement);
|
|
2015
2083
|
try {
|
|
2016
2084
|
this.enterOuterAlt(localContext, 1);
|
|
2017
2085
|
{
|
|
2018
|
-
this.state =
|
|
2086
|
+
this.state = 535;
|
|
2019
2087
|
this.match(GenericSqlParser.KW_DROP);
|
|
2020
|
-
this.state =
|
|
2088
|
+
this.state = 536;
|
|
2021
2089
|
this.match(GenericSqlParser.KW_TABLE);
|
|
2022
|
-
this.state =
|
|
2090
|
+
this.state = 539;
|
|
2023
2091
|
this.errorHandler.sync(this);
|
|
2024
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
2092
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 62, this.context)) {
|
|
2025
2093
|
case 1:
|
|
2026
2094
|
{
|
|
2027
|
-
this.state =
|
|
2095
|
+
this.state = 537;
|
|
2028
2096
|
this.match(GenericSqlParser.KW_IF);
|
|
2029
|
-
this.state =
|
|
2097
|
+
this.state = 538;
|
|
2030
2098
|
this.match(GenericSqlParser.KW_EXISTS);
|
|
2031
2099
|
}
|
|
2032
2100
|
break;
|
|
2033
2101
|
}
|
|
2034
|
-
this.state =
|
|
2102
|
+
this.state = 541;
|
|
2035
2103
|
this.tableName();
|
|
2036
2104
|
}
|
|
2037
2105
|
}
|
|
@@ -2052,11 +2120,11 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2052
2120
|
}
|
|
2053
2121
|
expression() {
|
|
2054
2122
|
let localContext = new ExpressionContext(this.context, this.state);
|
|
2055
|
-
this.enterRule(localContext,
|
|
2123
|
+
this.enterRule(localContext, 74, GenericSqlParser.RULE_expression);
|
|
2056
2124
|
try {
|
|
2057
2125
|
this.enterOuterAlt(localContext, 1);
|
|
2058
2126
|
{
|
|
2059
|
-
this.state =
|
|
2127
|
+
this.state = 543;
|
|
2060
2128
|
this.booleanExpression(0);
|
|
2061
2129
|
}
|
|
2062
2130
|
}
|
|
@@ -2083,13 +2151,13 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2083
2151
|
let parentState = this.state;
|
|
2084
2152
|
let localContext = new BooleanExpressionContext(this.context, parentState);
|
|
2085
2153
|
let previousContext = localContext;
|
|
2086
|
-
let _startState =
|
|
2087
|
-
this.enterRecursionRule(localContext,
|
|
2154
|
+
let _startState = 76;
|
|
2155
|
+
this.enterRecursionRule(localContext, 76, GenericSqlParser.RULE_booleanExpression, _p);
|
|
2088
2156
|
try {
|
|
2089
2157
|
let alternative;
|
|
2090
2158
|
this.enterOuterAlt(localContext, 1);
|
|
2091
2159
|
{
|
|
2092
|
-
this.state =
|
|
2160
|
+
this.state = 549;
|
|
2093
2161
|
this.errorHandler.sync(this);
|
|
2094
2162
|
switch (this.tokenStream.LA(1)) {
|
|
2095
2163
|
case GenericSqlParser.T__1:
|
|
@@ -2155,7 +2223,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2155
2223
|
localContext = new PredicatedContext(localContext);
|
|
2156
2224
|
this.context = localContext;
|
|
2157
2225
|
previousContext = localContext;
|
|
2158
|
-
this.state =
|
|
2226
|
+
this.state = 546;
|
|
2159
2227
|
this.predicatedExpression();
|
|
2160
2228
|
}
|
|
2161
2229
|
break;
|
|
@@ -2164,9 +2232,9 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2164
2232
|
localContext = new NotExpressionContext(localContext);
|
|
2165
2233
|
this.context = localContext;
|
|
2166
2234
|
previousContext = localContext;
|
|
2167
|
-
this.state =
|
|
2235
|
+
this.state = 547;
|
|
2168
2236
|
this.match(GenericSqlParser.KW_NOT);
|
|
2169
|
-
this.state =
|
|
2237
|
+
this.state = 548;
|
|
2170
2238
|
this.booleanExpression(3);
|
|
2171
2239
|
}
|
|
2172
2240
|
break;
|
|
@@ -2174,9 +2242,9 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2174
2242
|
throw new antlr.NoViableAltException(this);
|
|
2175
2243
|
}
|
|
2176
2244
|
this.context.stop = this.tokenStream.LT(-1);
|
|
2177
|
-
this.state =
|
|
2245
|
+
this.state = 559;
|
|
2178
2246
|
this.errorHandler.sync(this);
|
|
2179
|
-
alternative = this.interpreter.adaptivePredict(this.tokenStream,
|
|
2247
|
+
alternative = this.interpreter.adaptivePredict(this.tokenStream, 65, this.context);
|
|
2180
2248
|
while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
|
|
2181
2249
|
if (alternative === 1) {
|
|
2182
2250
|
if (this._parseListeners != null) {
|
|
@@ -2184,21 +2252,21 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2184
2252
|
}
|
|
2185
2253
|
previousContext = localContext;
|
|
2186
2254
|
{
|
|
2187
|
-
this.state =
|
|
2255
|
+
this.state = 557;
|
|
2188
2256
|
this.errorHandler.sync(this);
|
|
2189
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
2257
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 64, this.context)) {
|
|
2190
2258
|
case 1:
|
|
2191
2259
|
{
|
|
2192
2260
|
localContext = new AndExpressionContext(new BooleanExpressionContext(parentContext, parentState));
|
|
2193
2261
|
localContext._left = previousContext;
|
|
2194
2262
|
this.pushNewRecursionContext(localContext, _startState, GenericSqlParser.RULE_booleanExpression);
|
|
2195
|
-
this.state =
|
|
2263
|
+
this.state = 551;
|
|
2196
2264
|
if (!(this.precpred(this.context, 2))) {
|
|
2197
2265
|
throw this.createFailedPredicateException("this.precpred(this.context, 2)");
|
|
2198
2266
|
}
|
|
2199
|
-
this.state =
|
|
2267
|
+
this.state = 552;
|
|
2200
2268
|
this.match(GenericSqlParser.KW_AND);
|
|
2201
|
-
this.state =
|
|
2269
|
+
this.state = 553;
|
|
2202
2270
|
localContext._right = this.booleanExpression(3);
|
|
2203
2271
|
}
|
|
2204
2272
|
break;
|
|
@@ -2207,22 +2275,22 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2207
2275
|
localContext = new OrExpressionContext(new BooleanExpressionContext(parentContext, parentState));
|
|
2208
2276
|
localContext._left = previousContext;
|
|
2209
2277
|
this.pushNewRecursionContext(localContext, _startState, GenericSqlParser.RULE_booleanExpression);
|
|
2210
|
-
this.state =
|
|
2278
|
+
this.state = 554;
|
|
2211
2279
|
if (!(this.precpred(this.context, 1))) {
|
|
2212
2280
|
throw this.createFailedPredicateException("this.precpred(this.context, 1)");
|
|
2213
2281
|
}
|
|
2214
|
-
this.state =
|
|
2282
|
+
this.state = 555;
|
|
2215
2283
|
this.match(GenericSqlParser.KW_OR);
|
|
2216
|
-
this.state =
|
|
2284
|
+
this.state = 556;
|
|
2217
2285
|
localContext._right = this.booleanExpression(2);
|
|
2218
2286
|
}
|
|
2219
2287
|
break;
|
|
2220
2288
|
}
|
|
2221
2289
|
}
|
|
2222
2290
|
}
|
|
2223
|
-
this.state =
|
|
2291
|
+
this.state = 561;
|
|
2224
2292
|
this.errorHandler.sync(this);
|
|
2225
|
-
alternative = this.interpreter.adaptivePredict(this.tokenStream,
|
|
2293
|
+
alternative = this.interpreter.adaptivePredict(this.tokenStream, 65, this.context);
|
|
2226
2294
|
}
|
|
2227
2295
|
}
|
|
2228
2296
|
}
|
|
@@ -2243,18 +2311,18 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2243
2311
|
}
|
|
2244
2312
|
predicatedExpression() {
|
|
2245
2313
|
let localContext = new PredicatedExpressionContext(this.context, this.state);
|
|
2246
|
-
this.enterRule(localContext,
|
|
2314
|
+
this.enterRule(localContext, 78, GenericSqlParser.RULE_predicatedExpression);
|
|
2247
2315
|
try {
|
|
2248
2316
|
this.enterOuterAlt(localContext, 1);
|
|
2249
2317
|
{
|
|
2250
|
-
this.state =
|
|
2318
|
+
this.state = 562;
|
|
2251
2319
|
this.valueExpression(0);
|
|
2252
|
-
this.state =
|
|
2320
|
+
this.state = 564;
|
|
2253
2321
|
this.errorHandler.sync(this);
|
|
2254
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
2322
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 66, this.context)) {
|
|
2255
2323
|
case 1:
|
|
2256
2324
|
{
|
|
2257
|
-
this.state =
|
|
2325
|
+
this.state = 563;
|
|
2258
2326
|
this.predicate();
|
|
2259
2327
|
}
|
|
2260
2328
|
break;
|
|
@@ -2278,19 +2346,19 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2278
2346
|
}
|
|
2279
2347
|
predicate() {
|
|
2280
2348
|
let localContext = new PredicateContext(this.context, this.state);
|
|
2281
|
-
this.enterRule(localContext,
|
|
2349
|
+
this.enterRule(localContext, 80, GenericSqlParser.RULE_predicate);
|
|
2282
2350
|
let _la;
|
|
2283
2351
|
try {
|
|
2284
|
-
this.state =
|
|
2352
|
+
this.state = 621;
|
|
2285
2353
|
this.errorHandler.sync(this);
|
|
2286
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
2354
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 75, this.context)) {
|
|
2287
2355
|
case 1:
|
|
2288
2356
|
localContext = new ComparisonPredicateContext(localContext);
|
|
2289
2357
|
this.enterOuterAlt(localContext, 1);
|
|
2290
2358
|
{
|
|
2291
|
-
this.state =
|
|
2359
|
+
this.state = 566;
|
|
2292
2360
|
this.comparisonOperator();
|
|
2293
|
-
this.state =
|
|
2361
|
+
this.state = 567;
|
|
2294
2362
|
localContext._right = this.valueExpression(0);
|
|
2295
2363
|
}
|
|
2296
2364
|
break;
|
|
@@ -2298,38 +2366,38 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2298
2366
|
localContext = new InPredicateContext(localContext);
|
|
2299
2367
|
this.enterOuterAlt(localContext, 2);
|
|
2300
2368
|
{
|
|
2301
|
-
this.state =
|
|
2369
|
+
this.state = 570;
|
|
2302
2370
|
this.errorHandler.sync(this);
|
|
2303
2371
|
_la = this.tokenStream.LA(1);
|
|
2304
2372
|
if (_la === 61) {
|
|
2305
2373
|
{
|
|
2306
|
-
this.state =
|
|
2374
|
+
this.state = 569;
|
|
2307
2375
|
this.match(GenericSqlParser.KW_NOT);
|
|
2308
2376
|
}
|
|
2309
2377
|
}
|
|
2310
|
-
this.state =
|
|
2378
|
+
this.state = 572;
|
|
2311
2379
|
this.match(GenericSqlParser.KW_IN);
|
|
2312
|
-
this.state =
|
|
2380
|
+
this.state = 573;
|
|
2313
2381
|
this.match(GenericSqlParser.T__1);
|
|
2314
|
-
this.state =
|
|
2382
|
+
this.state = 574;
|
|
2315
2383
|
this.expression();
|
|
2316
|
-
this.state =
|
|
2384
|
+
this.state = 579;
|
|
2317
2385
|
this.errorHandler.sync(this);
|
|
2318
2386
|
_la = this.tokenStream.LA(1);
|
|
2319
2387
|
while (_la === 1) {
|
|
2320
2388
|
{
|
|
2321
2389
|
{
|
|
2322
|
-
this.state =
|
|
2390
|
+
this.state = 575;
|
|
2323
2391
|
this.match(GenericSqlParser.T__0);
|
|
2324
|
-
this.state =
|
|
2392
|
+
this.state = 576;
|
|
2325
2393
|
this.expression();
|
|
2326
2394
|
}
|
|
2327
2395
|
}
|
|
2328
|
-
this.state =
|
|
2396
|
+
this.state = 581;
|
|
2329
2397
|
this.errorHandler.sync(this);
|
|
2330
2398
|
_la = this.tokenStream.LA(1);
|
|
2331
2399
|
}
|
|
2332
|
-
this.state =
|
|
2400
|
+
this.state = 582;
|
|
2333
2401
|
this.match(GenericSqlParser.T__2);
|
|
2334
2402
|
}
|
|
2335
2403
|
break;
|
|
@@ -2337,22 +2405,22 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2337
2405
|
localContext = new InSubqueryPredicateContext(localContext);
|
|
2338
2406
|
this.enterOuterAlt(localContext, 3);
|
|
2339
2407
|
{
|
|
2340
|
-
this.state =
|
|
2408
|
+
this.state = 585;
|
|
2341
2409
|
this.errorHandler.sync(this);
|
|
2342
2410
|
_la = this.tokenStream.LA(1);
|
|
2343
2411
|
if (_la === 61) {
|
|
2344
2412
|
{
|
|
2345
|
-
this.state =
|
|
2413
|
+
this.state = 584;
|
|
2346
2414
|
this.match(GenericSqlParser.KW_NOT);
|
|
2347
2415
|
}
|
|
2348
2416
|
}
|
|
2349
|
-
this.state =
|
|
2417
|
+
this.state = 587;
|
|
2350
2418
|
this.match(GenericSqlParser.KW_IN);
|
|
2351
|
-
this.state =
|
|
2419
|
+
this.state = 588;
|
|
2352
2420
|
this.match(GenericSqlParser.T__1);
|
|
2353
|
-
this.state =
|
|
2421
|
+
this.state = 589;
|
|
2354
2422
|
this.queryStatement();
|
|
2355
|
-
this.state =
|
|
2423
|
+
this.state = 590;
|
|
2356
2424
|
this.match(GenericSqlParser.T__2);
|
|
2357
2425
|
}
|
|
2358
2426
|
break;
|
|
@@ -2360,22 +2428,22 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2360
2428
|
localContext = new BetweenPredicateContext(localContext);
|
|
2361
2429
|
this.enterOuterAlt(localContext, 4);
|
|
2362
2430
|
{
|
|
2363
|
-
this.state =
|
|
2431
|
+
this.state = 593;
|
|
2364
2432
|
this.errorHandler.sync(this);
|
|
2365
2433
|
_la = this.tokenStream.LA(1);
|
|
2366
2434
|
if (_la === 61) {
|
|
2367
2435
|
{
|
|
2368
|
-
this.state =
|
|
2436
|
+
this.state = 592;
|
|
2369
2437
|
this.match(GenericSqlParser.KW_NOT);
|
|
2370
2438
|
}
|
|
2371
2439
|
}
|
|
2372
|
-
this.state =
|
|
2440
|
+
this.state = 595;
|
|
2373
2441
|
this.match(GenericSqlParser.KW_BETWEEN);
|
|
2374
|
-
this.state =
|
|
2442
|
+
this.state = 596;
|
|
2375
2443
|
localContext._lower = this.valueExpression(0);
|
|
2376
|
-
this.state =
|
|
2444
|
+
this.state = 597;
|
|
2377
2445
|
this.match(GenericSqlParser.KW_AND);
|
|
2378
|
-
this.state =
|
|
2446
|
+
this.state = 598;
|
|
2379
2447
|
localContext._upper = this.valueExpression(0);
|
|
2380
2448
|
}
|
|
2381
2449
|
break;
|
|
@@ -2383,27 +2451,27 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2383
2451
|
localContext = new LikePredicateContext(localContext);
|
|
2384
2452
|
this.enterOuterAlt(localContext, 5);
|
|
2385
2453
|
{
|
|
2386
|
-
this.state =
|
|
2454
|
+
this.state = 601;
|
|
2387
2455
|
this.errorHandler.sync(this);
|
|
2388
2456
|
_la = this.tokenStream.LA(1);
|
|
2389
2457
|
if (_la === 61) {
|
|
2390
2458
|
{
|
|
2391
|
-
this.state =
|
|
2459
|
+
this.state = 600;
|
|
2392
2460
|
this.match(GenericSqlParser.KW_NOT);
|
|
2393
2461
|
}
|
|
2394
2462
|
}
|
|
2395
|
-
this.state =
|
|
2463
|
+
this.state = 603;
|
|
2396
2464
|
this.match(GenericSqlParser.KW_LIKE);
|
|
2397
|
-
this.state =
|
|
2465
|
+
this.state = 604;
|
|
2398
2466
|
localContext._pattern = this.valueExpression(0);
|
|
2399
|
-
this.state =
|
|
2467
|
+
this.state = 607;
|
|
2400
2468
|
this.errorHandler.sync(this);
|
|
2401
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
2469
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 72, this.context)) {
|
|
2402
2470
|
case 1:
|
|
2403
2471
|
{
|
|
2404
|
-
this.state =
|
|
2472
|
+
this.state = 605;
|
|
2405
2473
|
this.match(GenericSqlParser.KW_ESCAPE);
|
|
2406
|
-
this.state =
|
|
2474
|
+
this.state = 606;
|
|
2407
2475
|
localContext._escape = this.valueExpression(0);
|
|
2408
2476
|
}
|
|
2409
2477
|
break;
|
|
@@ -2414,18 +2482,18 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2414
2482
|
localContext = new NullPredicateContext(localContext);
|
|
2415
2483
|
this.enterOuterAlt(localContext, 6);
|
|
2416
2484
|
{
|
|
2417
|
-
this.state =
|
|
2485
|
+
this.state = 609;
|
|
2418
2486
|
this.match(GenericSqlParser.KW_IS);
|
|
2419
|
-
this.state =
|
|
2487
|
+
this.state = 611;
|
|
2420
2488
|
this.errorHandler.sync(this);
|
|
2421
2489
|
_la = this.tokenStream.LA(1);
|
|
2422
2490
|
if (_la === 61) {
|
|
2423
2491
|
{
|
|
2424
|
-
this.state =
|
|
2492
|
+
this.state = 610;
|
|
2425
2493
|
this.match(GenericSqlParser.KW_NOT);
|
|
2426
2494
|
}
|
|
2427
2495
|
}
|
|
2428
|
-
this.state =
|
|
2496
|
+
this.state = 613;
|
|
2429
2497
|
this.match(GenericSqlParser.KW_NULL);
|
|
2430
2498
|
}
|
|
2431
2499
|
break;
|
|
@@ -2433,22 +2501,22 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2433
2501
|
localContext = new DistinctFromPredicateContext(localContext);
|
|
2434
2502
|
this.enterOuterAlt(localContext, 7);
|
|
2435
2503
|
{
|
|
2436
|
-
this.state =
|
|
2504
|
+
this.state = 614;
|
|
2437
2505
|
this.match(GenericSqlParser.KW_IS);
|
|
2438
|
-
this.state =
|
|
2506
|
+
this.state = 616;
|
|
2439
2507
|
this.errorHandler.sync(this);
|
|
2440
2508
|
_la = this.tokenStream.LA(1);
|
|
2441
2509
|
if (_la === 61) {
|
|
2442
2510
|
{
|
|
2443
|
-
this.state =
|
|
2511
|
+
this.state = 615;
|
|
2444
2512
|
this.match(GenericSqlParser.KW_NOT);
|
|
2445
2513
|
}
|
|
2446
2514
|
}
|
|
2447
|
-
this.state =
|
|
2515
|
+
this.state = 618;
|
|
2448
2516
|
this.match(GenericSqlParser.KW_DISTINCT);
|
|
2449
|
-
this.state =
|
|
2517
|
+
this.state = 619;
|
|
2450
2518
|
this.match(GenericSqlParser.KW_FROM);
|
|
2451
|
-
this.state =
|
|
2519
|
+
this.state = 620;
|
|
2452
2520
|
localContext._right = this.valueExpression(0);
|
|
2453
2521
|
}
|
|
2454
2522
|
break;
|
|
@@ -2471,12 +2539,12 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2471
2539
|
}
|
|
2472
2540
|
comparisonOperator() {
|
|
2473
2541
|
let localContext = new ComparisonOperatorContext(this.context, this.state);
|
|
2474
|
-
this.enterRule(localContext,
|
|
2542
|
+
this.enterRule(localContext, 82, GenericSqlParser.RULE_comparisonOperator);
|
|
2475
2543
|
let _la;
|
|
2476
2544
|
try {
|
|
2477
2545
|
this.enterOuterAlt(localContext, 1);
|
|
2478
2546
|
{
|
|
2479
|
-
this.state =
|
|
2547
|
+
this.state = 623;
|
|
2480
2548
|
_la = this.tokenStream.LA(1);
|
|
2481
2549
|
if (!(((((_la - 95)) & ~0x1F) === 0 && ((1 << (_la - 95)) & 63) !== 0))) {
|
|
2482
2550
|
this.errorHandler.recoverInline(this);
|
|
@@ -2510,14 +2578,14 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2510
2578
|
let parentState = this.state;
|
|
2511
2579
|
let localContext = new ValueExpressionContext(this.context, parentState);
|
|
2512
2580
|
let previousContext = localContext;
|
|
2513
|
-
let _startState =
|
|
2514
|
-
this.enterRecursionRule(localContext,
|
|
2581
|
+
let _startState = 84;
|
|
2582
|
+
this.enterRecursionRule(localContext, 84, GenericSqlParser.RULE_valueExpression, _p);
|
|
2515
2583
|
let _la;
|
|
2516
2584
|
try {
|
|
2517
2585
|
let alternative;
|
|
2518
2586
|
this.enterOuterAlt(localContext, 1);
|
|
2519
2587
|
{
|
|
2520
|
-
this.state =
|
|
2588
|
+
this.state = 629;
|
|
2521
2589
|
this.errorHandler.sync(this);
|
|
2522
2590
|
switch (this.tokenStream.LA(1)) {
|
|
2523
2591
|
case GenericSqlParser.T__1:
|
|
@@ -2581,7 +2649,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2581
2649
|
localContext = new ValueExpressionDefaultContext(localContext);
|
|
2582
2650
|
this.context = localContext;
|
|
2583
2651
|
previousContext = localContext;
|
|
2584
|
-
this.state =
|
|
2652
|
+
this.state = 626;
|
|
2585
2653
|
this.primaryExpression();
|
|
2586
2654
|
}
|
|
2587
2655
|
break;
|
|
@@ -2591,7 +2659,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2591
2659
|
localContext = new ArithmeticUnaryContext(localContext);
|
|
2592
2660
|
this.context = localContext;
|
|
2593
2661
|
previousContext = localContext;
|
|
2594
|
-
this.state =
|
|
2662
|
+
this.state = 627;
|
|
2595
2663
|
localContext._operator = this.tokenStream.LT(1);
|
|
2596
2664
|
_la = this.tokenStream.LA(1);
|
|
2597
2665
|
if (!(_la === 101 || _la === 102)) {
|
|
@@ -2601,7 +2669,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2601
2669
|
this.errorHandler.reportMatch(this);
|
|
2602
2670
|
this.consume();
|
|
2603
2671
|
}
|
|
2604
|
-
this.state =
|
|
2672
|
+
this.state = 628;
|
|
2605
2673
|
this.valueExpression(4);
|
|
2606
2674
|
}
|
|
2607
2675
|
break;
|
|
@@ -2609,9 +2677,9 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2609
2677
|
throw new antlr.NoViableAltException(this);
|
|
2610
2678
|
}
|
|
2611
2679
|
this.context.stop = this.tokenStream.LT(-1);
|
|
2612
|
-
this.state =
|
|
2680
|
+
this.state = 642;
|
|
2613
2681
|
this.errorHandler.sync(this);
|
|
2614
|
-
alternative = this.interpreter.adaptivePredict(this.tokenStream,
|
|
2682
|
+
alternative = this.interpreter.adaptivePredict(this.tokenStream, 78, this.context);
|
|
2615
2683
|
while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
|
|
2616
2684
|
if (alternative === 1) {
|
|
2617
2685
|
if (this._parseListeners != null) {
|
|
@@ -2619,19 +2687,19 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2619
2687
|
}
|
|
2620
2688
|
previousContext = localContext;
|
|
2621
2689
|
{
|
|
2622
|
-
this.state =
|
|
2690
|
+
this.state = 640;
|
|
2623
2691
|
this.errorHandler.sync(this);
|
|
2624
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
2692
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 77, this.context)) {
|
|
2625
2693
|
case 1:
|
|
2626
2694
|
{
|
|
2627
2695
|
localContext = new ArithmeticBinaryContext(new ValueExpressionContext(parentContext, parentState));
|
|
2628
2696
|
localContext._left = previousContext;
|
|
2629
2697
|
this.pushNewRecursionContext(localContext, _startState, GenericSqlParser.RULE_valueExpression);
|
|
2630
|
-
this.state =
|
|
2698
|
+
this.state = 631;
|
|
2631
2699
|
if (!(this.precpred(this.context, 3))) {
|
|
2632
2700
|
throw this.createFailedPredicateException("this.precpred(this.context, 3)");
|
|
2633
2701
|
}
|
|
2634
|
-
this.state =
|
|
2702
|
+
this.state = 632;
|
|
2635
2703
|
localContext._operator = this.tokenStream.LT(1);
|
|
2636
2704
|
_la = this.tokenStream.LA(1);
|
|
2637
2705
|
if (!(((((_la - 103)) & ~0x1F) === 0 && ((1 << (_la - 103)) & 7) !== 0))) {
|
|
@@ -2641,7 +2709,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2641
2709
|
this.errorHandler.reportMatch(this);
|
|
2642
2710
|
this.consume();
|
|
2643
2711
|
}
|
|
2644
|
-
this.state =
|
|
2712
|
+
this.state = 633;
|
|
2645
2713
|
localContext._right = this.valueExpression(4);
|
|
2646
2714
|
}
|
|
2647
2715
|
break;
|
|
@@ -2650,11 +2718,11 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2650
2718
|
localContext = new ArithmeticBinaryContext(new ValueExpressionContext(parentContext, parentState));
|
|
2651
2719
|
localContext._left = previousContext;
|
|
2652
2720
|
this.pushNewRecursionContext(localContext, _startState, GenericSqlParser.RULE_valueExpression);
|
|
2653
|
-
this.state =
|
|
2721
|
+
this.state = 634;
|
|
2654
2722
|
if (!(this.precpred(this.context, 2))) {
|
|
2655
2723
|
throw this.createFailedPredicateException("this.precpred(this.context, 2)");
|
|
2656
2724
|
}
|
|
2657
|
-
this.state =
|
|
2725
|
+
this.state = 635;
|
|
2658
2726
|
localContext._operator = this.tokenStream.LT(1);
|
|
2659
2727
|
_la = this.tokenStream.LA(1);
|
|
2660
2728
|
if (!(_la === 101 || _la === 102)) {
|
|
@@ -2664,7 +2732,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2664
2732
|
this.errorHandler.reportMatch(this);
|
|
2665
2733
|
this.consume();
|
|
2666
2734
|
}
|
|
2667
|
-
this.state =
|
|
2735
|
+
this.state = 636;
|
|
2668
2736
|
localContext._right = this.valueExpression(3);
|
|
2669
2737
|
}
|
|
2670
2738
|
break;
|
|
@@ -2673,22 +2741,22 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2673
2741
|
localContext = new ConcatenationContext(new ValueExpressionContext(parentContext, parentState));
|
|
2674
2742
|
localContext._left = previousContext;
|
|
2675
2743
|
this.pushNewRecursionContext(localContext, _startState, GenericSqlParser.RULE_valueExpression);
|
|
2676
|
-
this.state =
|
|
2744
|
+
this.state = 637;
|
|
2677
2745
|
if (!(this.precpred(this.context, 1))) {
|
|
2678
2746
|
throw this.createFailedPredicateException("this.precpred(this.context, 1)");
|
|
2679
2747
|
}
|
|
2680
|
-
this.state =
|
|
2748
|
+
this.state = 638;
|
|
2681
2749
|
this.match(GenericSqlParser.CONCAT);
|
|
2682
|
-
this.state =
|
|
2750
|
+
this.state = 639;
|
|
2683
2751
|
localContext._right = this.valueExpression(2);
|
|
2684
2752
|
}
|
|
2685
2753
|
break;
|
|
2686
2754
|
}
|
|
2687
2755
|
}
|
|
2688
2756
|
}
|
|
2689
|
-
this.state =
|
|
2757
|
+
this.state = 644;
|
|
2690
2758
|
this.errorHandler.sync(this);
|
|
2691
|
-
alternative = this.interpreter.adaptivePredict(this.tokenStream,
|
|
2759
|
+
alternative = this.interpreter.adaptivePredict(this.tokenStream, 78, this.context);
|
|
2692
2760
|
}
|
|
2693
2761
|
}
|
|
2694
2762
|
}
|
|
@@ -2709,17 +2777,17 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2709
2777
|
}
|
|
2710
2778
|
primaryExpression() {
|
|
2711
2779
|
let localContext = new PrimaryExpressionContext(this.context, this.state);
|
|
2712
|
-
this.enterRule(localContext,
|
|
2780
|
+
this.enterRule(localContext, 86, GenericSqlParser.RULE_primaryExpression);
|
|
2713
2781
|
let _la;
|
|
2714
2782
|
try {
|
|
2715
|
-
this.state =
|
|
2783
|
+
this.state = 725;
|
|
2716
2784
|
this.errorHandler.sync(this);
|
|
2717
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
2785
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 87, this.context)) {
|
|
2718
2786
|
case 1:
|
|
2719
2787
|
localContext = new LiteralExpressionContext(localContext);
|
|
2720
2788
|
this.enterOuterAlt(localContext, 1);
|
|
2721
2789
|
{
|
|
2722
|
-
this.state =
|
|
2790
|
+
this.state = 645;
|
|
2723
2791
|
this.literal();
|
|
2724
2792
|
}
|
|
2725
2793
|
break;
|
|
@@ -2727,46 +2795,46 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2727
2795
|
localContext = new FunctionCallContext(localContext);
|
|
2728
2796
|
this.enterOuterAlt(localContext, 2);
|
|
2729
2797
|
{
|
|
2730
|
-
this.state =
|
|
2731
|
-
this.
|
|
2732
|
-
this.state =
|
|
2798
|
+
this.state = 646;
|
|
2799
|
+
this.functionName();
|
|
2800
|
+
this.state = 647;
|
|
2733
2801
|
this.match(GenericSqlParser.T__1);
|
|
2734
|
-
this.state =
|
|
2802
|
+
this.state = 659;
|
|
2735
2803
|
this.errorHandler.sync(this);
|
|
2736
2804
|
_la = this.tokenStream.LA(1);
|
|
2737
2805
|
if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 4013421668) !== 0) || ((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 1069048399) !== 0) || ((((_la - 70)) & ~0x1F) === 0 && ((1 << (_la - 70)) & 2151019809) !== 0) || ((((_la - 102)) & ~0x1F) === 0 && ((1 << (_la - 102)) & 65409) !== 0)) {
|
|
2738
2806
|
{
|
|
2739
|
-
this.state =
|
|
2807
|
+
this.state = 649;
|
|
2740
2808
|
this.errorHandler.sync(this);
|
|
2741
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
2809
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 79, this.context)) {
|
|
2742
2810
|
case 1:
|
|
2743
2811
|
{
|
|
2744
|
-
this.state =
|
|
2812
|
+
this.state = 648;
|
|
2745
2813
|
this.setQuantifier();
|
|
2746
2814
|
}
|
|
2747
2815
|
break;
|
|
2748
2816
|
}
|
|
2749
|
-
this.state =
|
|
2817
|
+
this.state = 651;
|
|
2750
2818
|
this.expression();
|
|
2751
|
-
this.state =
|
|
2819
|
+
this.state = 656;
|
|
2752
2820
|
this.errorHandler.sync(this);
|
|
2753
2821
|
_la = this.tokenStream.LA(1);
|
|
2754
2822
|
while (_la === 1) {
|
|
2755
2823
|
{
|
|
2756
2824
|
{
|
|
2757
|
-
this.state =
|
|
2825
|
+
this.state = 652;
|
|
2758
2826
|
this.match(GenericSqlParser.T__0);
|
|
2759
|
-
this.state =
|
|
2827
|
+
this.state = 653;
|
|
2760
2828
|
this.expression();
|
|
2761
2829
|
}
|
|
2762
2830
|
}
|
|
2763
|
-
this.state =
|
|
2831
|
+
this.state = 658;
|
|
2764
2832
|
this.errorHandler.sync(this);
|
|
2765
2833
|
_la = this.tokenStream.LA(1);
|
|
2766
2834
|
}
|
|
2767
2835
|
}
|
|
2768
2836
|
}
|
|
2769
|
-
this.state =
|
|
2837
|
+
this.state = 661;
|
|
2770
2838
|
this.match(GenericSqlParser.T__2);
|
|
2771
2839
|
}
|
|
2772
2840
|
break;
|
|
@@ -2774,34 +2842,34 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2774
2842
|
localContext = new SearchedCaseExpressionContext(localContext);
|
|
2775
2843
|
this.enterOuterAlt(localContext, 3);
|
|
2776
2844
|
{
|
|
2777
|
-
this.state =
|
|
2845
|
+
this.state = 663;
|
|
2778
2846
|
this.match(GenericSqlParser.KW_CASE);
|
|
2779
|
-
this.state =
|
|
2847
|
+
this.state = 665;
|
|
2780
2848
|
this.errorHandler.sync(this);
|
|
2781
2849
|
_la = this.tokenStream.LA(1);
|
|
2782
2850
|
do {
|
|
2783
2851
|
{
|
|
2784
2852
|
{
|
|
2785
|
-
this.state =
|
|
2853
|
+
this.state = 664;
|
|
2786
2854
|
this.whenClause();
|
|
2787
2855
|
}
|
|
2788
2856
|
}
|
|
2789
|
-
this.state =
|
|
2857
|
+
this.state = 667;
|
|
2790
2858
|
this.errorHandler.sync(this);
|
|
2791
2859
|
_la = this.tokenStream.LA(1);
|
|
2792
2860
|
} while (_la === 92);
|
|
2793
|
-
this.state =
|
|
2861
|
+
this.state = 671;
|
|
2794
2862
|
this.errorHandler.sync(this);
|
|
2795
2863
|
_la = this.tokenStream.LA(1);
|
|
2796
2864
|
if (_la === 33) {
|
|
2797
2865
|
{
|
|
2798
|
-
this.state =
|
|
2866
|
+
this.state = 669;
|
|
2799
2867
|
this.match(GenericSqlParser.KW_ELSE);
|
|
2800
|
-
this.state =
|
|
2868
|
+
this.state = 670;
|
|
2801
2869
|
this.expression();
|
|
2802
2870
|
}
|
|
2803
2871
|
}
|
|
2804
|
-
this.state =
|
|
2872
|
+
this.state = 673;
|
|
2805
2873
|
this.match(GenericSqlParser.KW_END);
|
|
2806
2874
|
}
|
|
2807
2875
|
break;
|
|
@@ -2809,36 +2877,36 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2809
2877
|
localContext = new SimpleCaseExpressionContext(localContext);
|
|
2810
2878
|
this.enterOuterAlt(localContext, 4);
|
|
2811
2879
|
{
|
|
2812
|
-
this.state =
|
|
2880
|
+
this.state = 675;
|
|
2813
2881
|
this.match(GenericSqlParser.KW_CASE);
|
|
2814
|
-
this.state =
|
|
2882
|
+
this.state = 676;
|
|
2815
2883
|
this.expression();
|
|
2816
|
-
this.state =
|
|
2884
|
+
this.state = 678;
|
|
2817
2885
|
this.errorHandler.sync(this);
|
|
2818
2886
|
_la = this.tokenStream.LA(1);
|
|
2819
2887
|
do {
|
|
2820
2888
|
{
|
|
2821
2889
|
{
|
|
2822
|
-
this.state =
|
|
2890
|
+
this.state = 677;
|
|
2823
2891
|
this.whenClause();
|
|
2824
2892
|
}
|
|
2825
2893
|
}
|
|
2826
|
-
this.state =
|
|
2894
|
+
this.state = 680;
|
|
2827
2895
|
this.errorHandler.sync(this);
|
|
2828
2896
|
_la = this.tokenStream.LA(1);
|
|
2829
2897
|
} while (_la === 92);
|
|
2830
|
-
this.state =
|
|
2898
|
+
this.state = 684;
|
|
2831
2899
|
this.errorHandler.sync(this);
|
|
2832
2900
|
_la = this.tokenStream.LA(1);
|
|
2833
2901
|
if (_la === 33) {
|
|
2834
2902
|
{
|
|
2835
|
-
this.state =
|
|
2903
|
+
this.state = 682;
|
|
2836
2904
|
this.match(GenericSqlParser.KW_ELSE);
|
|
2837
|
-
this.state =
|
|
2905
|
+
this.state = 683;
|
|
2838
2906
|
this.expression();
|
|
2839
2907
|
}
|
|
2840
2908
|
}
|
|
2841
|
-
this.state =
|
|
2909
|
+
this.state = 686;
|
|
2842
2910
|
this.match(GenericSqlParser.KW_END);
|
|
2843
2911
|
}
|
|
2844
2912
|
break;
|
|
@@ -2846,17 +2914,17 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2846
2914
|
localContext = new CastExpressionContext(localContext);
|
|
2847
2915
|
this.enterOuterAlt(localContext, 5);
|
|
2848
2916
|
{
|
|
2849
|
-
this.state =
|
|
2917
|
+
this.state = 688;
|
|
2850
2918
|
this.match(GenericSqlParser.KW_CAST);
|
|
2851
|
-
this.state =
|
|
2919
|
+
this.state = 689;
|
|
2852
2920
|
this.match(GenericSqlParser.T__1);
|
|
2853
|
-
this.state =
|
|
2921
|
+
this.state = 690;
|
|
2854
2922
|
this.expression();
|
|
2855
|
-
this.state =
|
|
2923
|
+
this.state = 691;
|
|
2856
2924
|
this.match(GenericSqlParser.KW_AS);
|
|
2857
|
-
this.state =
|
|
2925
|
+
this.state = 692;
|
|
2858
2926
|
this.dataType();
|
|
2859
|
-
this.state =
|
|
2927
|
+
this.state = 693;
|
|
2860
2928
|
this.match(GenericSqlParser.T__2);
|
|
2861
2929
|
}
|
|
2862
2930
|
break;
|
|
@@ -2864,29 +2932,29 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2864
2932
|
localContext = new CoalesceExpressionContext(localContext);
|
|
2865
2933
|
this.enterOuterAlt(localContext, 6);
|
|
2866
2934
|
{
|
|
2867
|
-
this.state =
|
|
2935
|
+
this.state = 695;
|
|
2868
2936
|
this.match(GenericSqlParser.KW_COALESCE);
|
|
2869
|
-
this.state =
|
|
2937
|
+
this.state = 696;
|
|
2870
2938
|
this.match(GenericSqlParser.T__1);
|
|
2871
|
-
this.state =
|
|
2939
|
+
this.state = 697;
|
|
2872
2940
|
this.expression();
|
|
2873
|
-
this.state =
|
|
2941
|
+
this.state = 702;
|
|
2874
2942
|
this.errorHandler.sync(this);
|
|
2875
2943
|
_la = this.tokenStream.LA(1);
|
|
2876
2944
|
while (_la === 1) {
|
|
2877
2945
|
{
|
|
2878
2946
|
{
|
|
2879
|
-
this.state =
|
|
2947
|
+
this.state = 698;
|
|
2880
2948
|
this.match(GenericSqlParser.T__0);
|
|
2881
|
-
this.state =
|
|
2949
|
+
this.state = 699;
|
|
2882
2950
|
this.expression();
|
|
2883
2951
|
}
|
|
2884
2952
|
}
|
|
2885
|
-
this.state =
|
|
2953
|
+
this.state = 704;
|
|
2886
2954
|
this.errorHandler.sync(this);
|
|
2887
2955
|
_la = this.tokenStream.LA(1);
|
|
2888
2956
|
}
|
|
2889
|
-
this.state =
|
|
2957
|
+
this.state = 705;
|
|
2890
2958
|
this.match(GenericSqlParser.T__2);
|
|
2891
2959
|
}
|
|
2892
2960
|
break;
|
|
@@ -2894,17 +2962,17 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2894
2962
|
localContext = new NullIfExpressionContext(localContext);
|
|
2895
2963
|
this.enterOuterAlt(localContext, 7);
|
|
2896
2964
|
{
|
|
2897
|
-
this.state =
|
|
2965
|
+
this.state = 707;
|
|
2898
2966
|
this.match(GenericSqlParser.KW_NULLIF);
|
|
2899
|
-
this.state =
|
|
2967
|
+
this.state = 708;
|
|
2900
2968
|
this.match(GenericSqlParser.T__1);
|
|
2901
|
-
this.state =
|
|
2969
|
+
this.state = 709;
|
|
2902
2970
|
this.valueExpression(0);
|
|
2903
|
-
this.state =
|
|
2971
|
+
this.state = 710;
|
|
2904
2972
|
this.match(GenericSqlParser.T__0);
|
|
2905
|
-
this.state =
|
|
2973
|
+
this.state = 711;
|
|
2906
2974
|
this.valueExpression(0);
|
|
2907
|
-
this.state =
|
|
2975
|
+
this.state = 712;
|
|
2908
2976
|
this.match(GenericSqlParser.T__2);
|
|
2909
2977
|
}
|
|
2910
2978
|
break;
|
|
@@ -2912,11 +2980,11 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2912
2980
|
localContext = new ParenthesizedExpressionContext(localContext);
|
|
2913
2981
|
this.enterOuterAlt(localContext, 8);
|
|
2914
2982
|
{
|
|
2915
|
-
this.state =
|
|
2983
|
+
this.state = 714;
|
|
2916
2984
|
this.match(GenericSqlParser.T__1);
|
|
2917
|
-
this.state =
|
|
2985
|
+
this.state = 715;
|
|
2918
2986
|
this.expression();
|
|
2919
|
-
this.state =
|
|
2987
|
+
this.state = 716;
|
|
2920
2988
|
this.match(GenericSqlParser.T__2);
|
|
2921
2989
|
}
|
|
2922
2990
|
break;
|
|
@@ -2924,13 +2992,13 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2924
2992
|
localContext = new ExistsExpressionContext(localContext);
|
|
2925
2993
|
this.enterOuterAlt(localContext, 9);
|
|
2926
2994
|
{
|
|
2927
|
-
this.state =
|
|
2995
|
+
this.state = 718;
|
|
2928
2996
|
this.match(GenericSqlParser.KW_EXISTS);
|
|
2929
|
-
this.state =
|
|
2997
|
+
this.state = 719;
|
|
2930
2998
|
this.match(GenericSqlParser.T__1);
|
|
2931
|
-
this.state =
|
|
2999
|
+
this.state = 720;
|
|
2932
3000
|
this.queryStatement();
|
|
2933
|
-
this.state =
|
|
3001
|
+
this.state = 721;
|
|
2934
3002
|
this.match(GenericSqlParser.T__2);
|
|
2935
3003
|
}
|
|
2936
3004
|
break;
|
|
@@ -2938,7 +3006,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2938
3006
|
localContext = new SubqueryExpressionDefaultContext(localContext);
|
|
2939
3007
|
this.enterOuterAlt(localContext, 10);
|
|
2940
3008
|
{
|
|
2941
|
-
this.state =
|
|
3009
|
+
this.state = 723;
|
|
2942
3010
|
this.subqueryExpression();
|
|
2943
3011
|
}
|
|
2944
3012
|
break;
|
|
@@ -2946,8 +3014,8 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2946
3014
|
localContext = new ColumnReferenceContext(localContext);
|
|
2947
3015
|
this.enterOuterAlt(localContext, 11);
|
|
2948
3016
|
{
|
|
2949
|
-
this.state =
|
|
2950
|
-
this.
|
|
3017
|
+
this.state = 724;
|
|
3018
|
+
this.columnName();
|
|
2951
3019
|
}
|
|
2952
3020
|
break;
|
|
2953
3021
|
}
|
|
@@ -2969,17 +3037,17 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2969
3037
|
}
|
|
2970
3038
|
whenClause() {
|
|
2971
3039
|
let localContext = new WhenClauseContext(this.context, this.state);
|
|
2972
|
-
this.enterRule(localContext,
|
|
3040
|
+
this.enterRule(localContext, 88, GenericSqlParser.RULE_whenClause);
|
|
2973
3041
|
try {
|
|
2974
3042
|
this.enterOuterAlt(localContext, 1);
|
|
2975
3043
|
{
|
|
2976
|
-
this.state =
|
|
3044
|
+
this.state = 727;
|
|
2977
3045
|
this.match(GenericSqlParser.KW_WHEN);
|
|
2978
|
-
this.state =
|
|
3046
|
+
this.state = 728;
|
|
2979
3047
|
localContext._condition = this.expression();
|
|
2980
|
-
this.state =
|
|
3048
|
+
this.state = 729;
|
|
2981
3049
|
this.match(GenericSqlParser.KW_THEN);
|
|
2982
|
-
this.state =
|
|
3050
|
+
this.state = 730;
|
|
2983
3051
|
localContext._result = this.expression();
|
|
2984
3052
|
}
|
|
2985
3053
|
}
|
|
@@ -3000,15 +3068,15 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3000
3068
|
}
|
|
3001
3069
|
subqueryExpression() {
|
|
3002
3070
|
let localContext = new SubqueryExpressionContext(this.context, this.state);
|
|
3003
|
-
this.enterRule(localContext,
|
|
3071
|
+
this.enterRule(localContext, 90, GenericSqlParser.RULE_subqueryExpression);
|
|
3004
3072
|
try {
|
|
3005
3073
|
this.enterOuterAlt(localContext, 1);
|
|
3006
3074
|
{
|
|
3007
|
-
this.state =
|
|
3075
|
+
this.state = 732;
|
|
3008
3076
|
this.match(GenericSqlParser.T__1);
|
|
3009
|
-
this.state =
|
|
3077
|
+
this.state = 733;
|
|
3010
3078
|
this.queryStatement();
|
|
3011
|
-
this.state =
|
|
3079
|
+
this.state = 734;
|
|
3012
3080
|
this.match(GenericSqlParser.T__2);
|
|
3013
3081
|
}
|
|
3014
3082
|
}
|
|
@@ -3029,94 +3097,94 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3029
3097
|
}
|
|
3030
3098
|
dataType() {
|
|
3031
3099
|
let localContext = new DataTypeContext(this.context, this.state);
|
|
3032
|
-
this.enterRule(localContext,
|
|
3100
|
+
this.enterRule(localContext, 92, GenericSqlParser.RULE_dataType);
|
|
3033
3101
|
let _la;
|
|
3034
3102
|
try {
|
|
3035
|
-
this.state =
|
|
3103
|
+
this.state = 782;
|
|
3036
3104
|
this.errorHandler.sync(this);
|
|
3037
3105
|
switch (this.tokenStream.LA(1)) {
|
|
3038
3106
|
case GenericSqlParser.KW_BOOLEAN:
|
|
3039
3107
|
this.enterOuterAlt(localContext, 1);
|
|
3040
3108
|
{
|
|
3041
|
-
this.state =
|
|
3109
|
+
this.state = 736;
|
|
3042
3110
|
this.match(GenericSqlParser.KW_BOOLEAN);
|
|
3043
3111
|
}
|
|
3044
3112
|
break;
|
|
3045
3113
|
case GenericSqlParser.KW_TINYINT:
|
|
3046
3114
|
this.enterOuterAlt(localContext, 2);
|
|
3047
3115
|
{
|
|
3048
|
-
this.state =
|
|
3116
|
+
this.state = 737;
|
|
3049
3117
|
this.match(GenericSqlParser.KW_TINYINT);
|
|
3050
3118
|
}
|
|
3051
3119
|
break;
|
|
3052
3120
|
case GenericSqlParser.KW_SMALLINT:
|
|
3053
3121
|
this.enterOuterAlt(localContext, 3);
|
|
3054
3122
|
{
|
|
3055
|
-
this.state =
|
|
3123
|
+
this.state = 738;
|
|
3056
3124
|
this.match(GenericSqlParser.KW_SMALLINT);
|
|
3057
3125
|
}
|
|
3058
3126
|
break;
|
|
3059
3127
|
case GenericSqlParser.KW_INT:
|
|
3060
3128
|
this.enterOuterAlt(localContext, 4);
|
|
3061
3129
|
{
|
|
3062
|
-
this.state =
|
|
3130
|
+
this.state = 739;
|
|
3063
3131
|
this.match(GenericSqlParser.KW_INT);
|
|
3064
3132
|
}
|
|
3065
3133
|
break;
|
|
3066
3134
|
case GenericSqlParser.KW_INTEGER:
|
|
3067
3135
|
this.enterOuterAlt(localContext, 5);
|
|
3068
3136
|
{
|
|
3069
|
-
this.state =
|
|
3137
|
+
this.state = 740;
|
|
3070
3138
|
this.match(GenericSqlParser.KW_INTEGER);
|
|
3071
3139
|
}
|
|
3072
3140
|
break;
|
|
3073
3141
|
case GenericSqlParser.KW_BIGINT:
|
|
3074
3142
|
this.enterOuterAlt(localContext, 6);
|
|
3075
3143
|
{
|
|
3076
|
-
this.state =
|
|
3144
|
+
this.state = 741;
|
|
3077
3145
|
this.match(GenericSqlParser.KW_BIGINT);
|
|
3078
3146
|
}
|
|
3079
3147
|
break;
|
|
3080
3148
|
case GenericSqlParser.KW_FLOAT:
|
|
3081
3149
|
this.enterOuterAlt(localContext, 7);
|
|
3082
3150
|
{
|
|
3083
|
-
this.state =
|
|
3151
|
+
this.state = 742;
|
|
3084
3152
|
this.match(GenericSqlParser.KW_FLOAT);
|
|
3085
3153
|
}
|
|
3086
3154
|
break;
|
|
3087
3155
|
case GenericSqlParser.KW_DOUBLE:
|
|
3088
3156
|
this.enterOuterAlt(localContext, 8);
|
|
3089
3157
|
{
|
|
3090
|
-
this.state =
|
|
3158
|
+
this.state = 743;
|
|
3091
3159
|
this.match(GenericSqlParser.KW_DOUBLE);
|
|
3092
3160
|
}
|
|
3093
3161
|
break;
|
|
3094
3162
|
case GenericSqlParser.KW_DECIMAL:
|
|
3095
3163
|
this.enterOuterAlt(localContext, 9);
|
|
3096
3164
|
{
|
|
3097
|
-
this.state =
|
|
3165
|
+
this.state = 744;
|
|
3098
3166
|
this.match(GenericSqlParser.KW_DECIMAL);
|
|
3099
|
-
this.state =
|
|
3167
|
+
this.state = 752;
|
|
3100
3168
|
this.errorHandler.sync(this);
|
|
3101
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
3169
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 89, this.context)) {
|
|
3102
3170
|
case 1:
|
|
3103
3171
|
{
|
|
3104
|
-
this.state =
|
|
3172
|
+
this.state = 745;
|
|
3105
3173
|
this.match(GenericSqlParser.T__1);
|
|
3106
|
-
this.state =
|
|
3174
|
+
this.state = 746;
|
|
3107
3175
|
localContext._precision = this.match(GenericSqlParser.INTEGER_VALUE);
|
|
3108
|
-
this.state =
|
|
3176
|
+
this.state = 749;
|
|
3109
3177
|
this.errorHandler.sync(this);
|
|
3110
3178
|
_la = this.tokenStream.LA(1);
|
|
3111
3179
|
if (_la === 1) {
|
|
3112
3180
|
{
|
|
3113
|
-
this.state =
|
|
3181
|
+
this.state = 747;
|
|
3114
3182
|
this.match(GenericSqlParser.T__0);
|
|
3115
|
-
this.state =
|
|
3183
|
+
this.state = 748;
|
|
3116
3184
|
localContext._scale = this.match(GenericSqlParser.INTEGER_VALUE);
|
|
3117
3185
|
}
|
|
3118
3186
|
}
|
|
3119
|
-
this.state =
|
|
3187
|
+
this.state = 751;
|
|
3120
3188
|
this.match(GenericSqlParser.T__2);
|
|
3121
3189
|
}
|
|
3122
3190
|
break;
|
|
@@ -3126,29 +3194,29 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3126
3194
|
case GenericSqlParser.KW_NUMERIC:
|
|
3127
3195
|
this.enterOuterAlt(localContext, 10);
|
|
3128
3196
|
{
|
|
3129
|
-
this.state =
|
|
3197
|
+
this.state = 754;
|
|
3130
3198
|
this.match(GenericSqlParser.KW_NUMERIC);
|
|
3131
|
-
this.state =
|
|
3199
|
+
this.state = 762;
|
|
3132
3200
|
this.errorHandler.sync(this);
|
|
3133
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
3201
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 91, this.context)) {
|
|
3134
3202
|
case 1:
|
|
3135
3203
|
{
|
|
3136
|
-
this.state =
|
|
3204
|
+
this.state = 755;
|
|
3137
3205
|
this.match(GenericSqlParser.T__1);
|
|
3138
|
-
this.state =
|
|
3206
|
+
this.state = 756;
|
|
3139
3207
|
localContext._precision = this.match(GenericSqlParser.INTEGER_VALUE);
|
|
3140
|
-
this.state =
|
|
3208
|
+
this.state = 759;
|
|
3141
3209
|
this.errorHandler.sync(this);
|
|
3142
3210
|
_la = this.tokenStream.LA(1);
|
|
3143
3211
|
if (_la === 1) {
|
|
3144
3212
|
{
|
|
3145
|
-
this.state =
|
|
3213
|
+
this.state = 757;
|
|
3146
3214
|
this.match(GenericSqlParser.T__0);
|
|
3147
|
-
this.state =
|
|
3215
|
+
this.state = 758;
|
|
3148
3216
|
localContext._scale = this.match(GenericSqlParser.INTEGER_VALUE);
|
|
3149
3217
|
}
|
|
3150
3218
|
}
|
|
3151
|
-
this.state =
|
|
3219
|
+
this.state = 761;
|
|
3152
3220
|
this.match(GenericSqlParser.T__2);
|
|
3153
3221
|
}
|
|
3154
3222
|
break;
|
|
@@ -3158,18 +3226,18 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3158
3226
|
case GenericSqlParser.KW_VARCHAR:
|
|
3159
3227
|
this.enterOuterAlt(localContext, 11);
|
|
3160
3228
|
{
|
|
3161
|
-
this.state =
|
|
3229
|
+
this.state = 764;
|
|
3162
3230
|
this.match(GenericSqlParser.KW_VARCHAR);
|
|
3163
|
-
this.state =
|
|
3231
|
+
this.state = 768;
|
|
3164
3232
|
this.errorHandler.sync(this);
|
|
3165
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
3233
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 92, this.context)) {
|
|
3166
3234
|
case 1:
|
|
3167
3235
|
{
|
|
3168
|
-
this.state =
|
|
3236
|
+
this.state = 765;
|
|
3169
3237
|
this.match(GenericSqlParser.T__1);
|
|
3170
|
-
this.state =
|
|
3238
|
+
this.state = 766;
|
|
3171
3239
|
localContext._maxLength = this.match(GenericSqlParser.INTEGER_VALUE);
|
|
3172
|
-
this.state =
|
|
3240
|
+
this.state = 767;
|
|
3173
3241
|
this.match(GenericSqlParser.T__2);
|
|
3174
3242
|
}
|
|
3175
3243
|
break;
|
|
@@ -3179,18 +3247,18 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3179
3247
|
case GenericSqlParser.KW_CHAR:
|
|
3180
3248
|
this.enterOuterAlt(localContext, 12);
|
|
3181
3249
|
{
|
|
3182
|
-
this.state =
|
|
3250
|
+
this.state = 770;
|
|
3183
3251
|
this.match(GenericSqlParser.KW_CHAR);
|
|
3184
|
-
this.state =
|
|
3252
|
+
this.state = 774;
|
|
3185
3253
|
this.errorHandler.sync(this);
|
|
3186
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
3254
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 93, this.context)) {
|
|
3187
3255
|
case 1:
|
|
3188
3256
|
{
|
|
3189
|
-
this.state =
|
|
3257
|
+
this.state = 771;
|
|
3190
3258
|
this.match(GenericSqlParser.T__1);
|
|
3191
|
-
this.state =
|
|
3259
|
+
this.state = 772;
|
|
3192
3260
|
localContext._length = this.match(GenericSqlParser.INTEGER_VALUE);
|
|
3193
|
-
this.state =
|
|
3261
|
+
this.state = 773;
|
|
3194
3262
|
this.match(GenericSqlParser.T__2);
|
|
3195
3263
|
}
|
|
3196
3264
|
break;
|
|
@@ -3200,42 +3268,42 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3200
3268
|
case GenericSqlParser.KW_TEXT:
|
|
3201
3269
|
this.enterOuterAlt(localContext, 13);
|
|
3202
3270
|
{
|
|
3203
|
-
this.state =
|
|
3271
|
+
this.state = 776;
|
|
3204
3272
|
this.match(GenericSqlParser.KW_TEXT);
|
|
3205
3273
|
}
|
|
3206
3274
|
break;
|
|
3207
3275
|
case GenericSqlParser.KW_DATE:
|
|
3208
3276
|
this.enterOuterAlt(localContext, 14);
|
|
3209
3277
|
{
|
|
3210
|
-
this.state =
|
|
3278
|
+
this.state = 777;
|
|
3211
3279
|
this.match(GenericSqlParser.KW_DATE);
|
|
3212
3280
|
}
|
|
3213
3281
|
break;
|
|
3214
3282
|
case GenericSqlParser.KW_TIME:
|
|
3215
3283
|
this.enterOuterAlt(localContext, 15);
|
|
3216
3284
|
{
|
|
3217
|
-
this.state =
|
|
3285
|
+
this.state = 778;
|
|
3218
3286
|
this.match(GenericSqlParser.KW_TIME);
|
|
3219
3287
|
}
|
|
3220
3288
|
break;
|
|
3221
3289
|
case GenericSqlParser.KW_TIMESTAMP:
|
|
3222
3290
|
this.enterOuterAlt(localContext, 16);
|
|
3223
3291
|
{
|
|
3224
|
-
this.state =
|
|
3292
|
+
this.state = 779;
|
|
3225
3293
|
this.match(GenericSqlParser.KW_TIMESTAMP);
|
|
3226
3294
|
}
|
|
3227
3295
|
break;
|
|
3228
3296
|
case GenericSqlParser.KW_BINARY:
|
|
3229
3297
|
this.enterOuterAlt(localContext, 17);
|
|
3230
3298
|
{
|
|
3231
|
-
this.state =
|
|
3299
|
+
this.state = 780;
|
|
3232
3300
|
this.match(GenericSqlParser.KW_BINARY);
|
|
3233
3301
|
}
|
|
3234
3302
|
break;
|
|
3235
3303
|
case GenericSqlParser.KW_VARBINARY:
|
|
3236
3304
|
this.enterOuterAlt(localContext, 18);
|
|
3237
3305
|
{
|
|
3238
|
-
this.state =
|
|
3306
|
+
this.state = 781;
|
|
3239
3307
|
this.match(GenericSqlParser.KW_VARBINARY);
|
|
3240
3308
|
}
|
|
3241
3309
|
break;
|
|
@@ -3260,32 +3328,32 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3260
3328
|
}
|
|
3261
3329
|
properties() {
|
|
3262
3330
|
let localContext = new PropertiesContext(this.context, this.state);
|
|
3263
|
-
this.enterRule(localContext,
|
|
3331
|
+
this.enterRule(localContext, 94, GenericSqlParser.RULE_properties);
|
|
3264
3332
|
let _la;
|
|
3265
3333
|
try {
|
|
3266
3334
|
this.enterOuterAlt(localContext, 1);
|
|
3267
3335
|
{
|
|
3268
|
-
this.state =
|
|
3336
|
+
this.state = 784;
|
|
3269
3337
|
this.match(GenericSqlParser.T__1);
|
|
3270
|
-
this.state =
|
|
3338
|
+
this.state = 785;
|
|
3271
3339
|
this.property();
|
|
3272
|
-
this.state =
|
|
3340
|
+
this.state = 790;
|
|
3273
3341
|
this.errorHandler.sync(this);
|
|
3274
3342
|
_la = this.tokenStream.LA(1);
|
|
3275
3343
|
while (_la === 1) {
|
|
3276
3344
|
{
|
|
3277
3345
|
{
|
|
3278
|
-
this.state =
|
|
3346
|
+
this.state = 786;
|
|
3279
3347
|
this.match(GenericSqlParser.T__0);
|
|
3280
|
-
this.state =
|
|
3348
|
+
this.state = 787;
|
|
3281
3349
|
this.property();
|
|
3282
3350
|
}
|
|
3283
3351
|
}
|
|
3284
|
-
this.state =
|
|
3352
|
+
this.state = 792;
|
|
3285
3353
|
this.errorHandler.sync(this);
|
|
3286
3354
|
_la = this.tokenStream.LA(1);
|
|
3287
3355
|
}
|
|
3288
|
-
this.state =
|
|
3356
|
+
this.state = 793;
|
|
3289
3357
|
this.match(GenericSqlParser.T__2);
|
|
3290
3358
|
}
|
|
3291
3359
|
}
|
|
@@ -3306,15 +3374,15 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3306
3374
|
}
|
|
3307
3375
|
property() {
|
|
3308
3376
|
let localContext = new PropertyContext(this.context, this.state);
|
|
3309
|
-
this.enterRule(localContext,
|
|
3377
|
+
this.enterRule(localContext, 96, GenericSqlParser.RULE_property);
|
|
3310
3378
|
try {
|
|
3311
3379
|
this.enterOuterAlt(localContext, 1);
|
|
3312
3380
|
{
|
|
3313
|
-
this.state =
|
|
3381
|
+
this.state = 795;
|
|
3314
3382
|
this.identifier();
|
|
3315
|
-
this.state =
|
|
3383
|
+
this.state = 796;
|
|
3316
3384
|
this.match(GenericSqlParser.EQ);
|
|
3317
|
-
this.state =
|
|
3385
|
+
this.state = 797;
|
|
3318
3386
|
this.literal();
|
|
3319
3387
|
}
|
|
3320
3388
|
}
|
|
@@ -3335,16 +3403,16 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3335
3403
|
}
|
|
3336
3404
|
literal() {
|
|
3337
3405
|
let localContext = new LiteralContext(this.context, this.state);
|
|
3338
|
-
this.enterRule(localContext,
|
|
3406
|
+
this.enterRule(localContext, 98, GenericSqlParser.RULE_literal);
|
|
3339
3407
|
try {
|
|
3340
|
-
this.state =
|
|
3408
|
+
this.state = 807;
|
|
3341
3409
|
this.errorHandler.sync(this);
|
|
3342
3410
|
switch (this.tokenStream.LA(1)) {
|
|
3343
3411
|
case GenericSqlParser.KW_NULL:
|
|
3344
3412
|
localContext = new NullLiteralContext(localContext);
|
|
3345
3413
|
this.enterOuterAlt(localContext, 1);
|
|
3346
3414
|
{
|
|
3347
|
-
this.state =
|
|
3415
|
+
this.state = 799;
|
|
3348
3416
|
this.match(GenericSqlParser.KW_NULL);
|
|
3349
3417
|
}
|
|
3350
3418
|
break;
|
|
@@ -3352,7 +3420,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3352
3420
|
localContext = new BooleanLiteralContext(localContext);
|
|
3353
3421
|
this.enterOuterAlt(localContext, 2);
|
|
3354
3422
|
{
|
|
3355
|
-
this.state =
|
|
3423
|
+
this.state = 800;
|
|
3356
3424
|
this.match(GenericSqlParser.KW_TRUE);
|
|
3357
3425
|
}
|
|
3358
3426
|
break;
|
|
@@ -3360,7 +3428,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3360
3428
|
localContext = new BooleanLiteralContext(localContext);
|
|
3361
3429
|
this.enterOuterAlt(localContext, 3);
|
|
3362
3430
|
{
|
|
3363
|
-
this.state =
|
|
3431
|
+
this.state = 801;
|
|
3364
3432
|
this.match(GenericSqlParser.KW_FALSE);
|
|
3365
3433
|
}
|
|
3366
3434
|
break;
|
|
@@ -3368,7 +3436,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3368
3436
|
localContext = new IntegerLiteralContext(localContext);
|
|
3369
3437
|
this.enterOuterAlt(localContext, 4);
|
|
3370
3438
|
{
|
|
3371
|
-
this.state =
|
|
3439
|
+
this.state = 802;
|
|
3372
3440
|
this.match(GenericSqlParser.INTEGER_VALUE);
|
|
3373
3441
|
}
|
|
3374
3442
|
break;
|
|
@@ -3376,7 +3444,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3376
3444
|
localContext = new DecimalLiteralContext(localContext);
|
|
3377
3445
|
this.enterOuterAlt(localContext, 5);
|
|
3378
3446
|
{
|
|
3379
|
-
this.state =
|
|
3447
|
+
this.state = 803;
|
|
3380
3448
|
this.match(GenericSqlParser.DECIMAL_VALUE);
|
|
3381
3449
|
}
|
|
3382
3450
|
break;
|
|
@@ -3384,7 +3452,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3384
3452
|
localContext = new DoubleLiteralContext(localContext);
|
|
3385
3453
|
this.enterOuterAlt(localContext, 6);
|
|
3386
3454
|
{
|
|
3387
|
-
this.state =
|
|
3455
|
+
this.state = 804;
|
|
3388
3456
|
this.match(GenericSqlParser.DOUBLE_VALUE);
|
|
3389
3457
|
}
|
|
3390
3458
|
break;
|
|
@@ -3392,7 +3460,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3392
3460
|
localContext = new StringLiteralContext(localContext);
|
|
3393
3461
|
this.enterOuterAlt(localContext, 7);
|
|
3394
3462
|
{
|
|
3395
|
-
this.state =
|
|
3463
|
+
this.state = 805;
|
|
3396
3464
|
this.match(GenericSqlParser.STRING);
|
|
3397
3465
|
}
|
|
3398
3466
|
break;
|
|
@@ -3400,7 +3468,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3400
3468
|
localContext = new BinaryLiteralContext(localContext);
|
|
3401
3469
|
this.enterOuterAlt(localContext, 8);
|
|
3402
3470
|
{
|
|
3403
|
-
this.state =
|
|
3471
|
+
this.state = 806;
|
|
3404
3472
|
this.match(GenericSqlParser.BINARY_LITERAL);
|
|
3405
3473
|
}
|
|
3406
3474
|
break;
|
|
@@ -3425,36 +3493,36 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3425
3493
|
}
|
|
3426
3494
|
identifier() {
|
|
3427
3495
|
let localContext = new IdentifierContext(this.context, this.state);
|
|
3428
|
-
this.enterRule(localContext,
|
|
3496
|
+
this.enterRule(localContext, 100, GenericSqlParser.RULE_identifier);
|
|
3429
3497
|
try {
|
|
3430
|
-
this.state =
|
|
3498
|
+
this.state = 814;
|
|
3431
3499
|
this.errorHandler.sync(this);
|
|
3432
3500
|
switch (this.tokenStream.LA(1)) {
|
|
3433
3501
|
case GenericSqlParser.IDENTIFIER:
|
|
3434
3502
|
this.enterOuterAlt(localContext, 1);
|
|
3435
3503
|
{
|
|
3436
|
-
this.state =
|
|
3504
|
+
this.state = 809;
|
|
3437
3505
|
this.match(GenericSqlParser.IDENTIFIER);
|
|
3438
3506
|
}
|
|
3439
3507
|
break;
|
|
3440
3508
|
case GenericSqlParser.DIGIT_IDENTIFIER:
|
|
3441
3509
|
this.enterOuterAlt(localContext, 2);
|
|
3442
3510
|
{
|
|
3443
|
-
this.state =
|
|
3511
|
+
this.state = 810;
|
|
3444
3512
|
this.match(GenericSqlParser.DIGIT_IDENTIFIER);
|
|
3445
3513
|
}
|
|
3446
3514
|
break;
|
|
3447
3515
|
case GenericSqlParser.QUOTED_IDENTIFIER:
|
|
3448
3516
|
this.enterOuterAlt(localContext, 3);
|
|
3449
3517
|
{
|
|
3450
|
-
this.state =
|
|
3518
|
+
this.state = 811;
|
|
3451
3519
|
this.match(GenericSqlParser.QUOTED_IDENTIFIER);
|
|
3452
3520
|
}
|
|
3453
3521
|
break;
|
|
3454
3522
|
case GenericSqlParser.BACKQUOTED_IDENTIFIER:
|
|
3455
3523
|
this.enterOuterAlt(localContext, 4);
|
|
3456
3524
|
{
|
|
3457
|
-
this.state =
|
|
3525
|
+
this.state = 812;
|
|
3458
3526
|
this.match(GenericSqlParser.BACKQUOTED_IDENTIFIER);
|
|
3459
3527
|
}
|
|
3460
3528
|
break;
|
|
@@ -3503,7 +3571,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3503
3571
|
case GenericSqlParser.KW_VARBINARY:
|
|
3504
3572
|
this.enterOuterAlt(localContext, 5);
|
|
3505
3573
|
{
|
|
3506
|
-
this.state =
|
|
3574
|
+
this.state = 813;
|
|
3507
3575
|
this.nonReserved();
|
|
3508
3576
|
}
|
|
3509
3577
|
break;
|
|
@@ -3528,30 +3596,30 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3528
3596
|
}
|
|
3529
3597
|
qualifiedName() {
|
|
3530
3598
|
let localContext = new QualifiedNameContext(this.context, this.state);
|
|
3531
|
-
this.enterRule(localContext,
|
|
3599
|
+
this.enterRule(localContext, 102, GenericSqlParser.RULE_qualifiedName);
|
|
3532
3600
|
try {
|
|
3533
3601
|
let alternative;
|
|
3534
3602
|
this.enterOuterAlt(localContext, 1);
|
|
3535
3603
|
{
|
|
3536
|
-
this.state =
|
|
3604
|
+
this.state = 816;
|
|
3537
3605
|
this.identifier();
|
|
3538
|
-
this.state =
|
|
3606
|
+
this.state = 821;
|
|
3539
3607
|
this.errorHandler.sync(this);
|
|
3540
|
-
alternative = this.interpreter.adaptivePredict(this.tokenStream,
|
|
3608
|
+
alternative = this.interpreter.adaptivePredict(this.tokenStream, 98, this.context);
|
|
3541
3609
|
while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
|
|
3542
3610
|
if (alternative === 1) {
|
|
3543
3611
|
{
|
|
3544
3612
|
{
|
|
3545
|
-
this.state =
|
|
3613
|
+
this.state = 817;
|
|
3546
3614
|
this.match(GenericSqlParser.T__3);
|
|
3547
|
-
this.state =
|
|
3615
|
+
this.state = 818;
|
|
3548
3616
|
this.identifier();
|
|
3549
3617
|
}
|
|
3550
3618
|
}
|
|
3551
3619
|
}
|
|
3552
|
-
this.state =
|
|
3620
|
+
this.state = 823;
|
|
3553
3621
|
this.errorHandler.sync(this);
|
|
3554
|
-
alternative = this.interpreter.adaptivePredict(this.tokenStream,
|
|
3622
|
+
alternative = this.interpreter.adaptivePredict(this.tokenStream, 98, this.context);
|
|
3555
3623
|
}
|
|
3556
3624
|
}
|
|
3557
3625
|
}
|
|
@@ -3572,12 +3640,78 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3572
3640
|
}
|
|
3573
3641
|
columnRef() {
|
|
3574
3642
|
let localContext = new ColumnRefContext(this.context, this.state);
|
|
3575
|
-
this.enterRule(localContext,
|
|
3643
|
+
this.enterRule(localContext, 104, GenericSqlParser.RULE_columnRef);
|
|
3644
|
+
try {
|
|
3645
|
+
this.state = 827;
|
|
3646
|
+
this.errorHandler.sync(this);
|
|
3647
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 99, this.context)) {
|
|
3648
|
+
case 1:
|
|
3649
|
+
this.enterOuterAlt(localContext, 1);
|
|
3650
|
+
{
|
|
3651
|
+
this.state = 824;
|
|
3652
|
+
this.identifier();
|
|
3653
|
+
}
|
|
3654
|
+
break;
|
|
3655
|
+
case 2:
|
|
3656
|
+
this.enterOuterAlt(localContext, 2);
|
|
3657
|
+
{
|
|
3658
|
+
this.state = 825;
|
|
3659
|
+
if (!(this.shouldMatchEmpty())) {
|
|
3660
|
+
throw this.createFailedPredicateException("this.shouldMatchEmpty()");
|
|
3661
|
+
}
|
|
3662
|
+
this.state = 826;
|
|
3663
|
+
this.emptyColumn();
|
|
3664
|
+
}
|
|
3665
|
+
break;
|
|
3666
|
+
}
|
|
3667
|
+
}
|
|
3668
|
+
catch (re) {
|
|
3669
|
+
if (re instanceof antlr.RecognitionException) {
|
|
3670
|
+
localContext.exception = re;
|
|
3671
|
+
this.errorHandler.reportError(this, re);
|
|
3672
|
+
this.errorHandler.recover(this, re);
|
|
3673
|
+
}
|
|
3674
|
+
else {
|
|
3675
|
+
throw re;
|
|
3676
|
+
}
|
|
3677
|
+
}
|
|
3678
|
+
finally {
|
|
3679
|
+
this.exitRule();
|
|
3680
|
+
}
|
|
3681
|
+
return localContext;
|
|
3682
|
+
}
|
|
3683
|
+
columnName() {
|
|
3684
|
+
let localContext = new ColumnNameContext(this.context, this.state);
|
|
3685
|
+
this.enterRule(localContext, 106, GenericSqlParser.RULE_columnName);
|
|
3576
3686
|
try {
|
|
3577
3687
|
this.enterOuterAlt(localContext, 1);
|
|
3578
3688
|
{
|
|
3579
|
-
this.state =
|
|
3580
|
-
this.
|
|
3689
|
+
this.state = 829;
|
|
3690
|
+
this.qualifiedName();
|
|
3691
|
+
}
|
|
3692
|
+
}
|
|
3693
|
+
catch (re) {
|
|
3694
|
+
if (re instanceof antlr.RecognitionException) {
|
|
3695
|
+
localContext.exception = re;
|
|
3696
|
+
this.errorHandler.reportError(this, re);
|
|
3697
|
+
this.errorHandler.recover(this, re);
|
|
3698
|
+
}
|
|
3699
|
+
else {
|
|
3700
|
+
throw re;
|
|
3701
|
+
}
|
|
3702
|
+
}
|
|
3703
|
+
finally {
|
|
3704
|
+
this.exitRule();
|
|
3705
|
+
}
|
|
3706
|
+
return localContext;
|
|
3707
|
+
}
|
|
3708
|
+
emptyColumn() {
|
|
3709
|
+
let localContext = new EmptyColumnContext(this.context, this.state);
|
|
3710
|
+
this.enterRule(localContext, 108, GenericSqlParser.RULE_emptyColumn);
|
|
3711
|
+
try {
|
|
3712
|
+
this.enterOuterAlt(localContext, 1);
|
|
3713
|
+
// tslint:disable-next-line:no-empty
|
|
3714
|
+
{
|
|
3581
3715
|
}
|
|
3582
3716
|
}
|
|
3583
3717
|
catch (re) {
|
|
@@ -3597,11 +3731,11 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3597
3731
|
}
|
|
3598
3732
|
tableName() {
|
|
3599
3733
|
let localContext = new TableNameContext(this.context, this.state);
|
|
3600
|
-
this.enterRule(localContext,
|
|
3734
|
+
this.enterRule(localContext, 110, GenericSqlParser.RULE_tableName);
|
|
3601
3735
|
try {
|
|
3602
3736
|
this.enterOuterAlt(localContext, 1);
|
|
3603
3737
|
{
|
|
3604
|
-
this.state =
|
|
3738
|
+
this.state = 833;
|
|
3605
3739
|
this.qualifiedName();
|
|
3606
3740
|
}
|
|
3607
3741
|
}
|
|
@@ -3622,11 +3756,36 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3622
3756
|
}
|
|
3623
3757
|
tableNameCreate() {
|
|
3624
3758
|
let localContext = new TableNameCreateContext(this.context, this.state);
|
|
3625
|
-
this.enterRule(localContext,
|
|
3759
|
+
this.enterRule(localContext, 112, GenericSqlParser.RULE_tableNameCreate);
|
|
3760
|
+
try {
|
|
3761
|
+
this.enterOuterAlt(localContext, 1);
|
|
3762
|
+
{
|
|
3763
|
+
this.state = 835;
|
|
3764
|
+
this.qualifiedName();
|
|
3765
|
+
}
|
|
3766
|
+
}
|
|
3767
|
+
catch (re) {
|
|
3768
|
+
if (re instanceof antlr.RecognitionException) {
|
|
3769
|
+
localContext.exception = re;
|
|
3770
|
+
this.errorHandler.reportError(this, re);
|
|
3771
|
+
this.errorHandler.recover(this, re);
|
|
3772
|
+
}
|
|
3773
|
+
else {
|
|
3774
|
+
throw re;
|
|
3775
|
+
}
|
|
3776
|
+
}
|
|
3777
|
+
finally {
|
|
3778
|
+
this.exitRule();
|
|
3779
|
+
}
|
|
3780
|
+
return localContext;
|
|
3781
|
+
}
|
|
3782
|
+
functionName() {
|
|
3783
|
+
let localContext = new FunctionNameContext(this.context, this.state);
|
|
3784
|
+
this.enterRule(localContext, 114, GenericSqlParser.RULE_functionName);
|
|
3626
3785
|
try {
|
|
3627
3786
|
this.enterOuterAlt(localContext, 1);
|
|
3628
3787
|
{
|
|
3629
|
-
this.state =
|
|
3788
|
+
this.state = 837;
|
|
3630
3789
|
this.qualifiedName();
|
|
3631
3790
|
}
|
|
3632
3791
|
}
|
|
@@ -3647,12 +3806,12 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3647
3806
|
}
|
|
3648
3807
|
nonReserved() {
|
|
3649
3808
|
let localContext = new NonReservedContext(this.context, this.state);
|
|
3650
|
-
this.enterRule(localContext,
|
|
3809
|
+
this.enterRule(localContext, 116, GenericSqlParser.RULE_nonReserved);
|
|
3651
3810
|
let _la;
|
|
3652
3811
|
try {
|
|
3653
3812
|
this.enterOuterAlt(localContext, 1);
|
|
3654
3813
|
{
|
|
3655
|
-
this.state =
|
|
3814
|
+
this.state = 839;
|
|
3656
3815
|
_la = this.tokenStream.LA(1);
|
|
3657
3816
|
if (!((((_la) & ~0x1F) === 0 && ((1 << _la) & 2939483232) !== 0) || ((((_la - 38)) & ~0x1F) === 0 && ((1 << (_la - 38)) & 509358375) !== 0) || ((((_la - 70)) & ~0x1F) === 0 && ((1 << (_la - 70)) & 3536161) !== 0))) {
|
|
3658
3817
|
this.errorHandler.recoverInline(this);
|
|
@@ -3680,42 +3839,60 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3680
3839
|
}
|
|
3681
3840
|
sempred(localContext, ruleIndex, predIndex) {
|
|
3682
3841
|
switch (ruleIndex) {
|
|
3842
|
+
case 13:
|
|
3843
|
+
return this.selectItem_sempred(localContext, predIndex);
|
|
3683
3844
|
case 15:
|
|
3684
3845
|
return this.relation_sempred(localContext, predIndex);
|
|
3685
|
-
case
|
|
3846
|
+
case 38:
|
|
3686
3847
|
return this.booleanExpression_sempred(localContext, predIndex);
|
|
3687
|
-
case
|
|
3848
|
+
case 42:
|
|
3688
3849
|
return this.valueExpression_sempred(localContext, predIndex);
|
|
3850
|
+
case 52:
|
|
3851
|
+
return this.columnRef_sempred(localContext, predIndex);
|
|
3689
3852
|
}
|
|
3690
3853
|
return true;
|
|
3691
3854
|
}
|
|
3692
|
-
|
|
3855
|
+
selectItem_sempred(localContext, predIndex) {
|
|
3693
3856
|
switch (predIndex) {
|
|
3694
3857
|
case 0:
|
|
3695
|
-
return this.
|
|
3858
|
+
return this.shouldMatchEmpty();
|
|
3696
3859
|
}
|
|
3697
3860
|
return true;
|
|
3698
3861
|
}
|
|
3699
|
-
|
|
3862
|
+
relation_sempred(localContext, predIndex) {
|
|
3700
3863
|
switch (predIndex) {
|
|
3701
3864
|
case 1:
|
|
3702
3865
|
return this.precpred(this.context, 2);
|
|
3866
|
+
}
|
|
3867
|
+
return true;
|
|
3868
|
+
}
|
|
3869
|
+
booleanExpression_sempred(localContext, predIndex) {
|
|
3870
|
+
switch (predIndex) {
|
|
3703
3871
|
case 2:
|
|
3872
|
+
return this.precpred(this.context, 2);
|
|
3873
|
+
case 3:
|
|
3704
3874
|
return this.precpred(this.context, 1);
|
|
3705
3875
|
}
|
|
3706
3876
|
return true;
|
|
3707
3877
|
}
|
|
3708
3878
|
valueExpression_sempred(localContext, predIndex) {
|
|
3709
3879
|
switch (predIndex) {
|
|
3710
|
-
case 3:
|
|
3711
|
-
return this.precpred(this.context, 3);
|
|
3712
3880
|
case 4:
|
|
3713
|
-
return this.precpred(this.context,
|
|
3881
|
+
return this.precpred(this.context, 3);
|
|
3714
3882
|
case 5:
|
|
3883
|
+
return this.precpred(this.context, 2);
|
|
3884
|
+
case 6:
|
|
3715
3885
|
return this.precpred(this.context, 1);
|
|
3716
3886
|
}
|
|
3717
3887
|
return true;
|
|
3718
3888
|
}
|
|
3889
|
+
columnRef_sempred(localContext, predIndex) {
|
|
3890
|
+
switch (predIndex) {
|
|
3891
|
+
case 7:
|
|
3892
|
+
return this.shouldMatchEmpty();
|
|
3893
|
+
}
|
|
3894
|
+
return true;
|
|
3895
|
+
}
|
|
3719
3896
|
static get _ATN() {
|
|
3720
3897
|
if (!GenericSqlParser.__ATN) {
|
|
3721
3898
|
GenericSqlParser.__ATN = new antlr.ATNDeserializer().deserialize(GenericSqlParser._serializedATN);
|
|
@@ -3881,28 +4058,32 @@ GenericSqlParser.RULE_deleteStatement = 29;
|
|
|
3881
4058
|
GenericSqlParser.RULE_createTableStatement = 30;
|
|
3882
4059
|
GenericSqlParser.RULE_tableElement = 31;
|
|
3883
4060
|
GenericSqlParser.RULE_columnDefinition = 32;
|
|
3884
|
-
GenericSqlParser.
|
|
3885
|
-
GenericSqlParser.
|
|
3886
|
-
GenericSqlParser.
|
|
3887
|
-
GenericSqlParser.
|
|
3888
|
-
GenericSqlParser.
|
|
3889
|
-
GenericSqlParser.
|
|
3890
|
-
GenericSqlParser.
|
|
3891
|
-
GenericSqlParser.
|
|
3892
|
-
GenericSqlParser.
|
|
3893
|
-
GenericSqlParser.
|
|
3894
|
-
GenericSqlParser.
|
|
3895
|
-
GenericSqlParser.
|
|
3896
|
-
GenericSqlParser.
|
|
3897
|
-
GenericSqlParser.
|
|
3898
|
-
GenericSqlParser.
|
|
3899
|
-
GenericSqlParser.
|
|
3900
|
-
GenericSqlParser.
|
|
3901
|
-
GenericSqlParser.
|
|
3902
|
-
GenericSqlParser.
|
|
3903
|
-
GenericSqlParser.
|
|
3904
|
-
GenericSqlParser.
|
|
3905
|
-
GenericSqlParser.
|
|
4061
|
+
GenericSqlParser.RULE_columnRefCreate = 33;
|
|
4062
|
+
GenericSqlParser.RULE_tableConstraint = 34;
|
|
4063
|
+
GenericSqlParser.RULE_alterTableStatement = 35;
|
|
4064
|
+
GenericSqlParser.RULE_dropTableStatement = 36;
|
|
4065
|
+
GenericSqlParser.RULE_expression = 37;
|
|
4066
|
+
GenericSqlParser.RULE_booleanExpression = 38;
|
|
4067
|
+
GenericSqlParser.RULE_predicatedExpression = 39;
|
|
4068
|
+
GenericSqlParser.RULE_predicate = 40;
|
|
4069
|
+
GenericSqlParser.RULE_comparisonOperator = 41;
|
|
4070
|
+
GenericSqlParser.RULE_valueExpression = 42;
|
|
4071
|
+
GenericSqlParser.RULE_primaryExpression = 43;
|
|
4072
|
+
GenericSqlParser.RULE_whenClause = 44;
|
|
4073
|
+
GenericSqlParser.RULE_subqueryExpression = 45;
|
|
4074
|
+
GenericSqlParser.RULE_dataType = 46;
|
|
4075
|
+
GenericSqlParser.RULE_properties = 47;
|
|
4076
|
+
GenericSqlParser.RULE_property = 48;
|
|
4077
|
+
GenericSqlParser.RULE_literal = 49;
|
|
4078
|
+
GenericSqlParser.RULE_identifier = 50;
|
|
4079
|
+
GenericSqlParser.RULE_qualifiedName = 51;
|
|
4080
|
+
GenericSqlParser.RULE_columnRef = 52;
|
|
4081
|
+
GenericSqlParser.RULE_columnName = 53;
|
|
4082
|
+
GenericSqlParser.RULE_emptyColumn = 54;
|
|
4083
|
+
GenericSqlParser.RULE_tableName = 55;
|
|
4084
|
+
GenericSqlParser.RULE_tableNameCreate = 56;
|
|
4085
|
+
GenericSqlParser.RULE_functionName = 57;
|
|
4086
|
+
GenericSqlParser.RULE_nonReserved = 58;
|
|
3906
4087
|
GenericSqlParser.literalNames = [
|
|
3907
4088
|
null, "','", "'('", "')'", "'.'", "'ADD'", "'ALL'", "'ALTER'", "'AND'",
|
|
3908
4089
|
"'AS'", "'ASC'", "'BETWEEN'", "'BIGINT'", "'BINARY'", "'BOOLEAN'",
|
|
@@ -3954,15 +4135,15 @@ GenericSqlParser.ruleNames = [
|
|
|
3954
4135
|
"whereClause", "groupByClause", "havingClause", "orderByClause",
|
|
3955
4136
|
"sortItem", "limitClause", "insertStatement", "columnList", "updateStatement",
|
|
3956
4137
|
"updateAssignment", "deleteStatement", "createTableStatement", "tableElement",
|
|
3957
|
-
"columnDefinition", "
|
|
3958
|
-
"
|
|
3959
|
-
"
|
|
3960
|
-
"subqueryExpression", "dataType", "properties", "property",
|
|
3961
|
-
"
|
|
3962
|
-
"nonReserved",
|
|
4138
|
+
"columnDefinition", "columnRefCreate", "tableConstraint", "alterTableStatement",
|
|
4139
|
+
"dropTableStatement", "expression", "booleanExpression", "predicatedExpression",
|
|
4140
|
+
"predicate", "comparisonOperator", "valueExpression", "primaryExpression",
|
|
4141
|
+
"whenClause", "subqueryExpression", "dataType", "properties", "property",
|
|
4142
|
+
"literal", "identifier", "qualifiedName", "columnRef", "columnName",
|
|
4143
|
+
"emptyColumn", "tableName", "tableNameCreate", "functionName", "nonReserved",
|
|
3963
4144
|
];
|
|
3964
4145
|
GenericSqlParser._serializedATN = [
|
|
3965
|
-
4, 1, 122,
|
|
4146
|
+
4, 1, 122, 842, 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,
|
|
3966
4147
|
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,
|
|
3967
4148
|
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,
|
|
3968
4149
|
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,
|
|
@@ -3970,311 +4151,320 @@ GenericSqlParser._serializedATN = [
|
|
|
3970
4151
|
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,
|
|
3971
4152
|
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,
|
|
3972
4153
|
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,
|
|
3973
|
-
52, 2, 53, 7, 53, 2, 54, 7, 54,
|
|
3974
|
-
|
|
3975
|
-
8,
|
|
3976
|
-
|
|
3977
|
-
|
|
3978
|
-
|
|
3979
|
-
|
|
3980
|
-
1, 11,
|
|
3981
|
-
|
|
3982
|
-
8, 11, 1, 11, 3, 11,
|
|
3983
|
-
|
|
3984
|
-
1,
|
|
3985
|
-
|
|
3986
|
-
|
|
3987
|
-
16, 1, 16, 3, 16,
|
|
3988
|
-
1,
|
|
3989
|
-
|
|
3990
|
-
|
|
3991
|
-
|
|
3992
|
-
|
|
3993
|
-
|
|
3994
|
-
|
|
3995
|
-
8,
|
|
3996
|
-
1,
|
|
3997
|
-
|
|
3998
|
-
|
|
3999
|
-
|
|
4000
|
-
|
|
4001
|
-
|
|
4002
|
-
|
|
4003
|
-
|
|
4004
|
-
|
|
4005
|
-
|
|
4006
|
-
|
|
4007
|
-
|
|
4008
|
-
|
|
4009
|
-
35, 1, 35, 1, 35, 1, 35,
|
|
4010
|
-
|
|
4011
|
-
|
|
4012
|
-
|
|
4013
|
-
|
|
4014
|
-
|
|
4015
|
-
1,
|
|
4016
|
-
|
|
4017
|
-
|
|
4018
|
-
|
|
4019
|
-
|
|
4020
|
-
|
|
4021
|
-
|
|
4022
|
-
12,
|
|
4023
|
-
|
|
4024
|
-
|
|
4025
|
-
|
|
4026
|
-
1, 43, 1, 43, 1, 43, 1, 43, 1,
|
|
4027
|
-
|
|
4028
|
-
|
|
4029
|
-
|
|
4030
|
-
|
|
4031
|
-
1, 46,
|
|
4032
|
-
1, 47, 1,
|
|
4033
|
-
1,
|
|
4034
|
-
|
|
4035
|
-
|
|
4036
|
-
|
|
4037
|
-
|
|
4038
|
-
|
|
4039
|
-
|
|
4040
|
-
|
|
4041
|
-
|
|
4042
|
-
|
|
4043
|
-
|
|
4044
|
-
|
|
4045
|
-
|
|
4046
|
-
|
|
4047
|
-
|
|
4048
|
-
|
|
4049
|
-
|
|
4050
|
-
|
|
4051
|
-
|
|
4052
|
-
|
|
4053
|
-
|
|
4054
|
-
|
|
4055
|
-
|
|
4056
|
-
|
|
4057
|
-
|
|
4058
|
-
|
|
4059
|
-
|
|
4060
|
-
|
|
4061
|
-
|
|
4062
|
-
|
|
4063
|
-
|
|
4064
|
-
|
|
4065
|
-
|
|
4066
|
-
|
|
4067
|
-
|
|
4068
|
-
|
|
4069
|
-
|
|
4070
|
-
|
|
4071
|
-
|
|
4072
|
-
|
|
4073
|
-
|
|
4074
|
-
|
|
4075
|
-
|
|
4076
|
-
|
|
4077
|
-
|
|
4078
|
-
|
|
4079
|
-
|
|
4080
|
-
|
|
4081
|
-
|
|
4082
|
-
|
|
4083
|
-
|
|
4084
|
-
|
|
4085
|
-
|
|
4086
|
-
214, 1, 0, 0, 0,
|
|
4087
|
-
217, 1, 0, 0, 0,
|
|
4088
|
-
1, 0, 0, 0,
|
|
4089
|
-
1, 0, 0, 0,
|
|
4090
|
-
1, 0, 0, 0,
|
|
4091
|
-
|
|
4092
|
-
|
|
4093
|
-
|
|
4094
|
-
|
|
4095
|
-
|
|
4096
|
-
|
|
4097
|
-
|
|
4098
|
-
|
|
4099
|
-
0, 0, 0,
|
|
4100
|
-
|
|
4101
|
-
|
|
4102
|
-
|
|
4103
|
-
|
|
4104
|
-
1, 0, 0, 0,
|
|
4105
|
-
|
|
4106
|
-
|
|
4107
|
-
|
|
4108
|
-
|
|
4109
|
-
|
|
4110
|
-
0, 0, 0,
|
|
4111
|
-
|
|
4112
|
-
|
|
4113
|
-
|
|
4114
|
-
|
|
4115
|
-
|
|
4116
|
-
|
|
4117
|
-
|
|
4118
|
-
|
|
4119
|
-
|
|
4120
|
-
|
|
4121
|
-
|
|
4122
|
-
|
|
4123
|
-
|
|
4124
|
-
|
|
4125
|
-
0,
|
|
4126
|
-
1, 0, 0, 0,
|
|
4127
|
-
|
|
4128
|
-
|
|
4129
|
-
|
|
4130
|
-
|
|
4131
|
-
|
|
4132
|
-
|
|
4133
|
-
|
|
4134
|
-
|
|
4135
|
-
0, 0,
|
|
4136
|
-
|
|
4137
|
-
|
|
4138
|
-
3,
|
|
4139
|
-
|
|
4140
|
-
|
|
4141
|
-
|
|
4142
|
-
|
|
4143
|
-
|
|
4144
|
-
0,
|
|
4145
|
-
0, 0,
|
|
4146
|
-
0, 0,
|
|
4147
|
-
0, 0,
|
|
4148
|
-
0, 0, 0,
|
|
4149
|
-
|
|
4150
|
-
|
|
4151
|
-
|
|
4152
|
-
|
|
4153
|
-
|
|
4154
|
-
|
|
4155
|
-
|
|
4156
|
-
0,
|
|
4157
|
-
|
|
4158
|
-
|
|
4159
|
-
|
|
4160
|
-
|
|
4161
|
-
|
|
4162
|
-
|
|
4163
|
-
0, 0,
|
|
4164
|
-
|
|
4165
|
-
0, 0,
|
|
4166
|
-
|
|
4167
|
-
5,
|
|
4168
|
-
488, 1, 0, 0, 0,
|
|
4169
|
-
|
|
4170
|
-
|
|
4171
|
-
0,
|
|
4172
|
-
|
|
4173
|
-
5,
|
|
4174
|
-
5,
|
|
4175
|
-
|
|
4176
|
-
|
|
4177
|
-
|
|
4178
|
-
|
|
4179
|
-
|
|
4180
|
-
|
|
4181
|
-
0,
|
|
4182
|
-
|
|
4183
|
-
|
|
4184
|
-
1, 0, 0, 0,
|
|
4185
|
-
|
|
4186
|
-
3,
|
|
4187
|
-
|
|
4188
|
-
558,
|
|
4189
|
-
|
|
4190
|
-
|
|
4191
|
-
|
|
4192
|
-
|
|
4193
|
-
|
|
4194
|
-
|
|
4195
|
-
0,
|
|
4196
|
-
0, 0,
|
|
4197
|
-
|
|
4198
|
-
1, 0, 0, 0,
|
|
4199
|
-
|
|
4200
|
-
|
|
4201
|
-
|
|
4202
|
-
|
|
4203
|
-
|
|
4204
|
-
|
|
4205
|
-
|
|
4206
|
-
|
|
4207
|
-
|
|
4208
|
-
|
|
4209
|
-
|
|
4210
|
-
|
|
4211
|
-
|
|
4212
|
-
0, 0,
|
|
4213
|
-
|
|
4214
|
-
|
|
4215
|
-
|
|
4216
|
-
|
|
4217
|
-
|
|
4218
|
-
|
|
4219
|
-
|
|
4220
|
-
|
|
4221
|
-
|
|
4222
|
-
|
|
4223
|
-
|
|
4224
|
-
|
|
4225
|
-
|
|
4226
|
-
|
|
4227
|
-
|
|
4228
|
-
|
|
4229
|
-
|
|
4230
|
-
|
|
4231
|
-
|
|
4232
|
-
|
|
4233
|
-
|
|
4234
|
-
|
|
4235
|
-
|
|
4236
|
-
|
|
4237
|
-
0, 0,
|
|
4238
|
-
|
|
4239
|
-
0, 0,
|
|
4240
|
-
|
|
4241
|
-
|
|
4242
|
-
|
|
4243
|
-
|
|
4244
|
-
|
|
4245
|
-
|
|
4246
|
-
|
|
4247
|
-
5,
|
|
4248
|
-
|
|
4249
|
-
1, 0, 0, 0,
|
|
4250
|
-
5,
|
|
4251
|
-
|
|
4252
|
-
|
|
4253
|
-
|
|
4254
|
-
|
|
4255
|
-
|
|
4256
|
-
5,
|
|
4257
|
-
|
|
4258
|
-
|
|
4259
|
-
|
|
4260
|
-
|
|
4261
|
-
|
|
4262
|
-
|
|
4263
|
-
1, 0, 0, 0,
|
|
4264
|
-
1, 0, 0, 0, 792,
|
|
4265
|
-
|
|
4266
|
-
|
|
4267
|
-
|
|
4268
|
-
|
|
4269
|
-
|
|
4270
|
-
|
|
4271
|
-
0,
|
|
4272
|
-
|
|
4273
|
-
|
|
4274
|
-
|
|
4275
|
-
|
|
4276
|
-
|
|
4277
|
-
|
|
4154
|
+
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, 1,
|
|
4155
|
+
0, 5, 0, 120, 8, 0, 10, 0, 12, 0, 123, 9, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 3, 2, 131,
|
|
4156
|
+
8, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 140, 8, 3, 1, 4, 3, 4, 143, 8, 4, 1, 4,
|
|
4157
|
+
1, 4, 1, 5, 1, 5, 3, 5, 149, 8, 5, 1, 5, 1, 5, 1, 5, 5, 5, 154, 8, 5, 10, 5, 12, 5, 157, 9,
|
|
4158
|
+
5, 1, 6, 1, 6, 3, 6, 161, 8, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 5, 7, 172,
|
|
4159
|
+
8, 7, 10, 7, 12, 7, 175, 9, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 3, 8, 182, 8, 8, 1, 8, 5, 8, 185,
|
|
4160
|
+
8, 8, 10, 8, 12, 8, 188, 9, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 3, 10, 197,
|
|
4161
|
+
8, 10, 1, 11, 1, 11, 3, 11, 201, 8, 11, 1, 11, 1, 11, 1, 11, 5, 11, 206, 8, 11, 10, 11,
|
|
4162
|
+
12, 11, 209, 9, 11, 1, 11, 3, 11, 212, 8, 11, 1, 11, 3, 11, 215, 8, 11, 1, 11, 3, 11, 218,
|
|
4163
|
+
8, 11, 1, 11, 3, 11, 221, 8, 11, 1, 11, 3, 11, 224, 8, 11, 1, 11, 3, 11, 227, 8, 11, 1,
|
|
4164
|
+
12, 1, 12, 1, 13, 1, 13, 3, 13, 233, 8, 13, 1, 13, 3, 13, 236, 8, 13, 1, 13, 1, 13, 1, 13,
|
|
4165
|
+
1, 13, 1, 13, 1, 13, 1, 13, 3, 13, 245, 8, 13, 1, 14, 1, 14, 1, 14, 1, 14, 5, 14, 251, 8,
|
|
4166
|
+
14, 10, 14, 12, 14, 254, 9, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15,
|
|
4167
|
+
1, 15, 1, 15, 5, 15, 266, 8, 15, 10, 15, 12, 15, 269, 9, 15, 1, 16, 3, 16, 272, 8, 16,
|
|
4168
|
+
1, 16, 1, 16, 3, 16, 276, 8, 16, 1, 16, 1, 16, 3, 16, 280, 8, 16, 1, 16, 1, 16, 3, 16, 284,
|
|
4169
|
+
8, 16, 1, 16, 3, 16, 287, 8, 16, 1, 17, 1, 17, 3, 17, 291, 8, 17, 1, 17, 3, 17, 294, 8,
|
|
4170
|
+
17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 3, 18, 301, 8, 18, 1, 19, 1, 19, 1, 19, 3, 19, 306,
|
|
4171
|
+
8, 19, 1, 20, 1, 20, 1, 20, 3, 20, 311, 8, 20, 1, 20, 1, 20, 1, 20, 5, 20, 316, 8, 20, 10,
|
|
4172
|
+
20, 12, 20, 319, 9, 20, 1, 21, 1, 21, 1, 21, 3, 21, 324, 8, 21, 1, 22, 1, 22, 1, 22, 1,
|
|
4173
|
+
22, 1, 22, 5, 22, 331, 8, 22, 10, 22, 12, 22, 334, 9, 22, 1, 23, 1, 23, 3, 23, 338, 8,
|
|
4174
|
+
23, 1, 23, 1, 23, 3, 23, 342, 8, 23, 1, 24, 1, 24, 1, 24, 1, 24, 3, 24, 348, 8, 24, 1, 25,
|
|
4175
|
+
1, 25, 1, 25, 1, 25, 3, 25, 354, 8, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 5, 26,
|
|
4176
|
+
362, 8, 26, 10, 26, 12, 26, 365, 9, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27,
|
|
4177
|
+
1, 27, 5, 27, 375, 8, 27, 10, 27, 12, 27, 378, 9, 27, 1, 27, 3, 27, 381, 8, 27, 1, 28,
|
|
4178
|
+
1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 29, 3, 29, 391, 8, 29, 1, 30, 1, 30, 1, 30,
|
|
4179
|
+
1, 30, 1, 30, 3, 30, 398, 8, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 5, 30, 405, 8, 30, 10,
|
|
4180
|
+
30, 12, 30, 408, 9, 30, 1, 30, 1, 30, 1, 30, 3, 30, 413, 8, 30, 1, 31, 1, 31, 3, 31, 417,
|
|
4181
|
+
8, 31, 1, 32, 1, 32, 1, 32, 1, 32, 3, 32, 423, 8, 32, 1, 32, 1, 32, 3, 32, 427, 8, 32, 1,
|
|
4182
|
+
32, 1, 32, 3, 32, 431, 8, 32, 1, 33, 1, 33, 1, 34, 1, 34, 3, 34, 437, 8, 34, 1, 34, 1, 34,
|
|
4183
|
+
1, 34, 1, 34, 1, 34, 1, 34, 5, 34, 445, 8, 34, 10, 34, 12, 34, 448, 9, 34, 1, 34, 1, 34,
|
|
4184
|
+
1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 5, 34, 457, 8, 34, 10, 34, 12, 34, 460, 9, 34, 1, 34,
|
|
4185
|
+
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,
|
|
4186
|
+
475, 8, 34, 10, 34, 12, 34, 478, 9, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34,
|
|
4187
|
+
5, 34, 487, 8, 34, 10, 34, 12, 34, 490, 9, 34, 1, 34, 1, 34, 3, 34, 494, 8, 34, 1, 35,
|
|
4188
|
+
1, 35, 1, 35, 1, 35, 3, 35, 500, 8, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 3, 35,
|
|
4189
|
+
508, 8, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 3, 35, 515, 8, 35, 1, 35, 1, 35, 1, 35, 1,
|
|
4190
|
+
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,
|
|
4191
|
+
35, 3, 35, 534, 8, 35, 1, 36, 1, 36, 1, 36, 1, 36, 3, 36, 540, 8, 36, 1, 36, 1, 36, 1, 37,
|
|
4192
|
+
1, 37, 1, 38, 1, 38, 1, 38, 1, 38, 3, 38, 550, 8, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38,
|
|
4193
|
+
1, 38, 5, 38, 558, 8, 38, 10, 38, 12, 38, 561, 9, 38, 1, 39, 1, 39, 3, 39, 565, 8, 39,
|
|
4194
|
+
1, 40, 1, 40, 1, 40, 1, 40, 3, 40, 571, 8, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 5, 40,
|
|
4195
|
+
578, 8, 40, 10, 40, 12, 40, 581, 9, 40, 1, 40, 1, 40, 1, 40, 3, 40, 586, 8, 40, 1, 40,
|
|
4196
|
+
1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 3, 40, 594, 8, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40,
|
|
4197
|
+
1, 40, 3, 40, 602, 8, 40, 1, 40, 1, 40, 1, 40, 1, 40, 3, 40, 608, 8, 40, 1, 40, 1, 40, 3,
|
|
4198
|
+
40, 612, 8, 40, 1, 40, 1, 40, 1, 40, 3, 40, 617, 8, 40, 1, 40, 1, 40, 1, 40, 3, 40, 622,
|
|
4199
|
+
8, 40, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 1, 42, 3, 42, 630, 8, 42, 1, 42, 1, 42, 1, 42,
|
|
4200
|
+
1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 5, 42, 641, 8, 42, 10, 42, 12, 42, 644, 9, 42,
|
|
4201
|
+
1, 43, 1, 43, 1, 43, 1, 43, 3, 43, 650, 8, 43, 1, 43, 1, 43, 1, 43, 5, 43, 655, 8, 43, 10,
|
|
4202
|
+
43, 12, 43, 658, 9, 43, 3, 43, 660, 8, 43, 1, 43, 1, 43, 1, 43, 1, 43, 4, 43, 666, 8, 43,
|
|
4203
|
+
11, 43, 12, 43, 667, 1, 43, 1, 43, 3, 43, 672, 8, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43,
|
|
4204
|
+
4, 43, 679, 8, 43, 11, 43, 12, 43, 680, 1, 43, 1, 43, 3, 43, 685, 8, 43, 1, 43, 1, 43,
|
|
4205
|
+
1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 5, 43,
|
|
4206
|
+
701, 8, 43, 10, 43, 12, 43, 704, 9, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43,
|
|
4207
|
+
1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43,
|
|
4208
|
+
3, 43, 726, 8, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 45, 1, 46,
|
|
4209
|
+
1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 3, 46,
|
|
4210
|
+
750, 8, 46, 1, 46, 3, 46, 753, 8, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 3, 46, 760, 8,
|
|
4211
|
+
46, 1, 46, 3, 46, 763, 8, 46, 1, 46, 1, 46, 1, 46, 1, 46, 3, 46, 769, 8, 46, 1, 46, 1, 46,
|
|
4212
|
+
1, 46, 1, 46, 3, 46, 775, 8, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 3, 46, 783, 8,
|
|
4213
|
+
46, 1, 47, 1, 47, 1, 47, 1, 47, 5, 47, 789, 8, 47, 10, 47, 12, 47, 792, 9, 47, 1, 47, 1,
|
|
4214
|
+
47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 3,
|
|
4215
|
+
49, 808, 8, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 3, 50, 815, 8, 50, 1, 51, 1, 51, 1, 51,
|
|
4216
|
+
5, 51, 820, 8, 51, 10, 51, 12, 51, 823, 9, 51, 1, 52, 1, 52, 1, 52, 3, 52, 828, 8, 52,
|
|
4217
|
+
1, 53, 1, 53, 1, 54, 1, 54, 1, 55, 1, 55, 1, 56, 1, 56, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58,
|
|
4218
|
+
0, 3, 30, 76, 84, 59, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34,
|
|
4219
|
+
36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78,
|
|
4220
|
+
80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116,
|
|
4221
|
+
0, 8, 3, 0, 36, 36, 52, 52, 87, 87, 2, 0, 6, 6, 30, 30, 2, 0, 10, 10, 29, 29, 2, 0, 39, 39,
|
|
4222
|
+
57, 57, 1, 0, 95, 100, 1, 0, 101, 102, 1, 0, 103, 105, 22, 0, 5, 6, 10, 10, 12, 15, 18,
|
|
4223
|
+
18, 20, 21, 24, 27, 29, 29, 31, 31, 38, 40, 43, 43, 46, 46, 50, 51, 56, 58, 60, 60, 63,
|
|
4224
|
+
66, 70, 70, 75, 75, 78, 78, 80, 80, 82, 86, 88, 88, 90, 91, 937, 0, 121, 1, 0, 0, 0, 2,
|
|
4225
|
+
126, 1, 0, 0, 0, 4, 128, 1, 0, 0, 0, 6, 139, 1, 0, 0, 0, 8, 142, 1, 0, 0, 0, 10, 146, 1, 0,
|
|
4226
|
+
0, 0, 12, 158, 1, 0, 0, 0, 14, 167, 1, 0, 0, 0, 16, 178, 1, 0, 0, 0, 18, 189, 1, 0, 0, 0,
|
|
4227
|
+
20, 196, 1, 0, 0, 0, 22, 198, 1, 0, 0, 0, 24, 228, 1, 0, 0, 0, 26, 244, 1, 0, 0, 0, 28, 246,
|
|
4228
|
+
1, 0, 0, 0, 30, 255, 1, 0, 0, 0, 32, 286, 1, 0, 0, 0, 34, 288, 1, 0, 0, 0, 36, 300, 1, 0,
|
|
4229
|
+
0, 0, 38, 302, 1, 0, 0, 0, 40, 307, 1, 0, 0, 0, 42, 320, 1, 0, 0, 0, 44, 325, 1, 0, 0, 0,
|
|
4230
|
+
46, 335, 1, 0, 0, 0, 48, 343, 1, 0, 0, 0, 50, 349, 1, 0, 0, 0, 52, 357, 1, 0, 0, 0, 54, 368,
|
|
4231
|
+
1, 0, 0, 0, 56, 382, 1, 0, 0, 0, 58, 386, 1, 0, 0, 0, 60, 392, 1, 0, 0, 0, 62, 416, 1, 0,
|
|
4232
|
+
0, 0, 64, 418, 1, 0, 0, 0, 66, 432, 1, 0, 0, 0, 68, 436, 1, 0, 0, 0, 70, 495, 1, 0, 0, 0,
|
|
4233
|
+
72, 535, 1, 0, 0, 0, 74, 543, 1, 0, 0, 0, 76, 549, 1, 0, 0, 0, 78, 562, 1, 0, 0, 0, 80, 621,
|
|
4234
|
+
1, 0, 0, 0, 82, 623, 1, 0, 0, 0, 84, 629, 1, 0, 0, 0, 86, 725, 1, 0, 0, 0, 88, 727, 1, 0,
|
|
4235
|
+
0, 0, 90, 732, 1, 0, 0, 0, 92, 782, 1, 0, 0, 0, 94, 784, 1, 0, 0, 0, 96, 795, 1, 0, 0, 0,
|
|
4236
|
+
98, 807, 1, 0, 0, 0, 100, 814, 1, 0, 0, 0, 102, 816, 1, 0, 0, 0, 104, 827, 1, 0, 0, 0, 106,
|
|
4237
|
+
829, 1, 0, 0, 0, 108, 831, 1, 0, 0, 0, 110, 833, 1, 0, 0, 0, 112, 835, 1, 0, 0, 0, 114,
|
|
4238
|
+
837, 1, 0, 0, 0, 116, 839, 1, 0, 0, 0, 118, 120, 3, 2, 1, 0, 119, 118, 1, 0, 0, 0, 120,
|
|
4239
|
+
123, 1, 0, 0, 0, 121, 119, 1, 0, 0, 0, 121, 122, 1, 0, 0, 0, 122, 124, 1, 0, 0, 0, 123,
|
|
4240
|
+
121, 1, 0, 0, 0, 124, 125, 5, 0, 0, 1, 125, 1, 1, 0, 0, 0, 126, 127, 3, 4, 2, 0, 127, 3,
|
|
4241
|
+
1, 0, 0, 0, 128, 130, 3, 6, 3, 0, 129, 131, 5, 108, 0, 0, 130, 129, 1, 0, 0, 0, 130, 131,
|
|
4242
|
+
1, 0, 0, 0, 131, 5, 1, 0, 0, 0, 132, 140, 3, 8, 4, 0, 133, 140, 3, 50, 25, 0, 134, 140,
|
|
4243
|
+
3, 54, 27, 0, 135, 140, 3, 58, 29, 0, 136, 140, 3, 60, 30, 0, 137, 140, 3, 70, 35, 0,
|
|
4244
|
+
138, 140, 3, 72, 36, 0, 139, 132, 1, 0, 0, 0, 139, 133, 1, 0, 0, 0, 139, 134, 1, 0, 0,
|
|
4245
|
+
0, 139, 135, 1, 0, 0, 0, 139, 136, 1, 0, 0, 0, 139, 137, 1, 0, 0, 0, 139, 138, 1, 0, 0,
|
|
4246
|
+
0, 140, 7, 1, 0, 0, 0, 141, 143, 3, 10, 5, 0, 142, 141, 1, 0, 0, 0, 142, 143, 1, 0, 0, 0,
|
|
4247
|
+
143, 144, 1, 0, 0, 0, 144, 145, 3, 16, 8, 0, 145, 9, 1, 0, 0, 0, 146, 148, 5, 94, 0, 0,
|
|
4248
|
+
147, 149, 5, 72, 0, 0, 148, 147, 1, 0, 0, 0, 148, 149, 1, 0, 0, 0, 149, 150, 1, 0, 0, 0,
|
|
4249
|
+
150, 155, 3, 12, 6, 0, 151, 152, 5, 1, 0, 0, 152, 154, 3, 12, 6, 0, 153, 151, 1, 0, 0,
|
|
4250
|
+
0, 154, 157, 1, 0, 0, 0, 155, 153, 1, 0, 0, 0, 155, 156, 1, 0, 0, 0, 156, 11, 1, 0, 0, 0,
|
|
4251
|
+
157, 155, 1, 0, 0, 0, 158, 160, 3, 100, 50, 0, 159, 161, 3, 14, 7, 0, 160, 159, 1, 0,
|
|
4252
|
+
0, 0, 160, 161, 1, 0, 0, 0, 161, 162, 1, 0, 0, 0, 162, 163, 5, 9, 0, 0, 163, 164, 5, 2,
|
|
4253
|
+
0, 0, 164, 165, 3, 8, 4, 0, 165, 166, 5, 3, 0, 0, 166, 13, 1, 0, 0, 0, 167, 168, 5, 2, 0,
|
|
4254
|
+
0, 168, 173, 3, 100, 50, 0, 169, 170, 5, 1, 0, 0, 170, 172, 3, 100, 50, 0, 171, 169,
|
|
4255
|
+
1, 0, 0, 0, 172, 175, 1, 0, 0, 0, 173, 171, 1, 0, 0, 0, 173, 174, 1, 0, 0, 0, 174, 176,
|
|
4256
|
+
1, 0, 0, 0, 175, 173, 1, 0, 0, 0, 176, 177, 5, 3, 0, 0, 177, 15, 1, 0, 0, 0, 178, 186, 3,
|
|
4257
|
+
18, 9, 0, 179, 181, 7, 0, 0, 0, 180, 182, 5, 6, 0, 0, 181, 180, 1, 0, 0, 0, 181, 182, 1,
|
|
4258
|
+
0, 0, 0, 182, 183, 1, 0, 0, 0, 183, 185, 3, 18, 9, 0, 184, 179, 1, 0, 0, 0, 185, 188, 1,
|
|
4259
|
+
0, 0, 0, 186, 184, 1, 0, 0, 0, 186, 187, 1, 0, 0, 0, 187, 17, 1, 0, 0, 0, 188, 186, 1, 0,
|
|
4260
|
+
0, 0, 189, 190, 3, 20, 10, 0, 190, 19, 1, 0, 0, 0, 191, 197, 3, 22, 11, 0, 192, 193, 5,
|
|
4261
|
+
2, 0, 0, 193, 194, 3, 8, 4, 0, 194, 195, 5, 3, 0, 0, 195, 197, 1, 0, 0, 0, 196, 191, 1,
|
|
4262
|
+
0, 0, 0, 196, 192, 1, 0, 0, 0, 197, 21, 1, 0, 0, 0, 198, 200, 5, 76, 0, 0, 199, 201, 3,
|
|
4263
|
+
24, 12, 0, 200, 199, 1, 0, 0, 0, 200, 201, 1, 0, 0, 0, 201, 202, 1, 0, 0, 0, 202, 207,
|
|
4264
|
+
3, 26, 13, 0, 203, 204, 5, 1, 0, 0, 204, 206, 3, 26, 13, 0, 205, 203, 1, 0, 0, 0, 206,
|
|
4265
|
+
209, 1, 0, 0, 0, 207, 205, 1, 0, 0, 0, 207, 208, 1, 0, 0, 0, 208, 211, 1, 0, 0, 0, 209,
|
|
4266
|
+
207, 1, 0, 0, 0, 210, 212, 3, 28, 14, 0, 211, 210, 1, 0, 0, 0, 211, 212, 1, 0, 0, 0, 212,
|
|
4267
|
+
214, 1, 0, 0, 0, 213, 215, 3, 38, 19, 0, 214, 213, 1, 0, 0, 0, 214, 215, 1, 0, 0, 0, 215,
|
|
4268
|
+
217, 1, 0, 0, 0, 216, 218, 3, 40, 20, 0, 217, 216, 1, 0, 0, 0, 217, 218, 1, 0, 0, 0, 218,
|
|
4269
|
+
220, 1, 0, 0, 0, 219, 221, 3, 42, 21, 0, 220, 219, 1, 0, 0, 0, 220, 221, 1, 0, 0, 0, 221,
|
|
4270
|
+
223, 1, 0, 0, 0, 222, 224, 3, 44, 22, 0, 223, 222, 1, 0, 0, 0, 223, 224, 1, 0, 0, 0, 224,
|
|
4271
|
+
226, 1, 0, 0, 0, 225, 227, 3, 48, 24, 0, 226, 225, 1, 0, 0, 0, 226, 227, 1, 0, 0, 0, 227,
|
|
4272
|
+
23, 1, 0, 0, 0, 228, 229, 7, 1, 0, 0, 229, 25, 1, 0, 0, 0, 230, 235, 3, 74, 37, 0, 231,
|
|
4273
|
+
233, 5, 9, 0, 0, 232, 231, 1, 0, 0, 0, 232, 233, 1, 0, 0, 0, 233, 234, 1, 0, 0, 0, 234,
|
|
4274
|
+
236, 3, 100, 50, 0, 235, 232, 1, 0, 0, 0, 235, 236, 1, 0, 0, 0, 236, 245, 1, 0, 0, 0, 237,
|
|
4275
|
+
238, 3, 102, 51, 0, 238, 239, 5, 4, 0, 0, 239, 240, 5, 103, 0, 0, 240, 245, 1, 0, 0, 0,
|
|
4276
|
+
241, 245, 5, 103, 0, 0, 242, 243, 4, 13, 0, 0, 243, 245, 3, 108, 54, 0, 244, 230, 1,
|
|
4277
|
+
0, 0, 0, 244, 237, 1, 0, 0, 0, 244, 241, 1, 0, 0, 0, 244, 242, 1, 0, 0, 0, 245, 27, 1, 0,
|
|
4278
|
+
0, 0, 246, 247, 5, 42, 0, 0, 247, 252, 3, 30, 15, 0, 248, 249, 5, 1, 0, 0, 249, 251, 3,
|
|
4279
|
+
30, 15, 0, 250, 248, 1, 0, 0, 0, 251, 254, 1, 0, 0, 0, 252, 250, 1, 0, 0, 0, 252, 253,
|
|
4280
|
+
1, 0, 0, 0, 253, 29, 1, 0, 0, 0, 254, 252, 1, 0, 0, 0, 255, 256, 6, 15, -1, 0, 256, 257,
|
|
4281
|
+
3, 34, 17, 0, 257, 267, 1, 0, 0, 0, 258, 259, 10, 2, 0, 0, 259, 260, 3, 32, 16, 0, 260,
|
|
4282
|
+
261, 5, 55, 0, 0, 261, 262, 3, 30, 15, 0, 262, 263, 5, 67, 0, 0, 263, 264, 3, 74, 37,
|
|
4283
|
+
0, 264, 266, 1, 0, 0, 0, 265, 258, 1, 0, 0, 0, 266, 269, 1, 0, 0, 0, 267, 265, 1, 0, 0,
|
|
4284
|
+
0, 267, 268, 1, 0, 0, 0, 268, 31, 1, 0, 0, 0, 269, 267, 1, 0, 0, 0, 270, 272, 5, 48, 0,
|
|
4285
|
+
0, 271, 270, 1, 0, 0, 0, 271, 272, 1, 0, 0, 0, 272, 287, 1, 0, 0, 0, 273, 275, 5, 58, 0,
|
|
4286
|
+
0, 274, 276, 5, 70, 0, 0, 275, 274, 1, 0, 0, 0, 275, 276, 1, 0, 0, 0, 276, 287, 1, 0, 0,
|
|
4287
|
+
0, 277, 279, 5, 75, 0, 0, 278, 280, 5, 70, 0, 0, 279, 278, 1, 0, 0, 0, 279, 280, 1, 0,
|
|
4288
|
+
0, 0, 280, 287, 1, 0, 0, 0, 281, 283, 5, 43, 0, 0, 282, 284, 5, 70, 0, 0, 283, 282, 1,
|
|
4289
|
+
0, 0, 0, 283, 284, 1, 0, 0, 0, 284, 287, 1, 0, 0, 0, 285, 287, 5, 24, 0, 0, 286, 271, 1,
|
|
4290
|
+
0, 0, 0, 286, 273, 1, 0, 0, 0, 286, 277, 1, 0, 0, 0, 286, 281, 1, 0, 0, 0, 286, 285, 1,
|
|
4291
|
+
0, 0, 0, 287, 33, 1, 0, 0, 0, 288, 293, 3, 36, 18, 0, 289, 291, 5, 9, 0, 0, 290, 289, 1,
|
|
4292
|
+
0, 0, 0, 290, 291, 1, 0, 0, 0, 291, 292, 1, 0, 0, 0, 292, 294, 3, 100, 50, 0, 293, 290,
|
|
4293
|
+
1, 0, 0, 0, 293, 294, 1, 0, 0, 0, 294, 35, 1, 0, 0, 0, 295, 301, 3, 110, 55, 0, 296, 297,
|
|
4294
|
+
5, 2, 0, 0, 297, 298, 3, 8, 4, 0, 298, 299, 5, 3, 0, 0, 299, 301, 1, 0, 0, 0, 300, 295,
|
|
4295
|
+
1, 0, 0, 0, 300, 296, 1, 0, 0, 0, 301, 37, 1, 0, 0, 0, 302, 305, 5, 93, 0, 0, 303, 306,
|
|
4296
|
+
3, 74, 37, 0, 304, 306, 3, 108, 54, 0, 305, 303, 1, 0, 0, 0, 305, 304, 1, 0, 0, 0, 306,
|
|
4297
|
+
39, 1, 0, 0, 0, 307, 308, 5, 44, 0, 0, 308, 310, 5, 15, 0, 0, 309, 311, 3, 24, 12, 0, 310,
|
|
4298
|
+
309, 1, 0, 0, 0, 310, 311, 1, 0, 0, 0, 311, 312, 1, 0, 0, 0, 312, 317, 3, 74, 37, 0, 313,
|
|
4299
|
+
314, 5, 1, 0, 0, 314, 316, 3, 74, 37, 0, 315, 313, 1, 0, 0, 0, 316, 319, 1, 0, 0, 0, 317,
|
|
4300
|
+
315, 1, 0, 0, 0, 317, 318, 1, 0, 0, 0, 318, 41, 1, 0, 0, 0, 319, 317, 1, 0, 0, 0, 320, 323,
|
|
4301
|
+
5, 45, 0, 0, 321, 324, 3, 74, 37, 0, 322, 324, 3, 108, 54, 0, 323, 321, 1, 0, 0, 0, 323,
|
|
4302
|
+
322, 1, 0, 0, 0, 324, 43, 1, 0, 0, 0, 325, 326, 5, 69, 0, 0, 326, 327, 5, 15, 0, 0, 327,
|
|
4303
|
+
332, 3, 46, 23, 0, 328, 329, 5, 1, 0, 0, 329, 331, 3, 46, 23, 0, 330, 328, 1, 0, 0, 0,
|
|
4304
|
+
331, 334, 1, 0, 0, 0, 332, 330, 1, 0, 0, 0, 332, 333, 1, 0, 0, 0, 333, 45, 1, 0, 0, 0, 334,
|
|
4305
|
+
332, 1, 0, 0, 0, 335, 337, 3, 74, 37, 0, 336, 338, 7, 2, 0, 0, 337, 336, 1, 0, 0, 0, 337,
|
|
4306
|
+
338, 1, 0, 0, 0, 338, 341, 1, 0, 0, 0, 339, 340, 5, 64, 0, 0, 340, 342, 7, 3, 0, 0, 341,
|
|
4307
|
+
339, 1, 0, 0, 0, 341, 342, 1, 0, 0, 0, 342, 47, 1, 0, 0, 0, 343, 344, 5, 60, 0, 0, 344,
|
|
4308
|
+
347, 3, 74, 37, 0, 345, 346, 5, 66, 0, 0, 346, 348, 3, 74, 37, 0, 347, 345, 1, 0, 0, 0,
|
|
4309
|
+
347, 348, 1, 0, 0, 0, 348, 49, 1, 0, 0, 0, 349, 350, 5, 49, 0, 0, 350, 351, 5, 53, 0, 0,
|
|
4310
|
+
351, 353, 3, 110, 55, 0, 352, 354, 3, 52, 26, 0, 353, 352, 1, 0, 0, 0, 353, 354, 1, 0,
|
|
4311
|
+
0, 0, 354, 355, 1, 0, 0, 0, 355, 356, 3, 8, 4, 0, 356, 51, 1, 0, 0, 0, 357, 358, 5, 2, 0,
|
|
4312
|
+
0, 358, 363, 3, 104, 52, 0, 359, 360, 5, 1, 0, 0, 360, 362, 3, 104, 52, 0, 361, 359,
|
|
4313
|
+
1, 0, 0, 0, 362, 365, 1, 0, 0, 0, 363, 361, 1, 0, 0, 0, 363, 364, 1, 0, 0, 0, 364, 366,
|
|
4314
|
+
1, 0, 0, 0, 365, 363, 1, 0, 0, 0, 366, 367, 5, 3, 0, 0, 367, 53, 1, 0, 0, 0, 368, 369, 5,
|
|
4315
|
+
89, 0, 0, 369, 370, 3, 110, 55, 0, 370, 371, 5, 77, 0, 0, 371, 376, 3, 56, 28, 0, 372,
|
|
4316
|
+
373, 5, 1, 0, 0, 373, 375, 3, 56, 28, 0, 374, 372, 1, 0, 0, 0, 375, 378, 1, 0, 0, 0, 376,
|
|
4317
|
+
374, 1, 0, 0, 0, 376, 377, 1, 0, 0, 0, 377, 380, 1, 0, 0, 0, 378, 376, 1, 0, 0, 0, 379,
|
|
4318
|
+
381, 3, 38, 19, 0, 380, 379, 1, 0, 0, 0, 380, 381, 1, 0, 0, 0, 381, 55, 1, 0, 0, 0, 382,
|
|
4319
|
+
383, 3, 104, 52, 0, 383, 384, 5, 95, 0, 0, 384, 385, 3, 74, 37, 0, 385, 57, 1, 0, 0, 0,
|
|
4320
|
+
386, 387, 5, 28, 0, 0, 387, 388, 5, 42, 0, 0, 388, 390, 3, 110, 55, 0, 389, 391, 3, 38,
|
|
4321
|
+
19, 0, 390, 389, 1, 0, 0, 0, 390, 391, 1, 0, 0, 0, 391, 59, 1, 0, 0, 0, 392, 393, 5, 23,
|
|
4322
|
+
0, 0, 393, 397, 5, 79, 0, 0, 394, 395, 5, 46, 0, 0, 395, 396, 5, 61, 0, 0, 396, 398, 5,
|
|
4323
|
+
37, 0, 0, 397, 394, 1, 0, 0, 0, 397, 398, 1, 0, 0, 0, 398, 399, 1, 0, 0, 0, 399, 400, 3,
|
|
4324
|
+
112, 56, 0, 400, 401, 5, 2, 0, 0, 401, 406, 3, 62, 31, 0, 402, 403, 5, 1, 0, 0, 403, 405,
|
|
4325
|
+
3, 62, 31, 0, 404, 402, 1, 0, 0, 0, 405, 408, 1, 0, 0, 0, 406, 404, 1, 0, 0, 0, 406, 407,
|
|
4326
|
+
1, 0, 0, 0, 407, 409, 1, 0, 0, 0, 408, 406, 1, 0, 0, 0, 409, 412, 5, 3, 0, 0, 410, 411,
|
|
4327
|
+
5, 94, 0, 0, 411, 413, 3, 94, 47, 0, 412, 410, 1, 0, 0, 0, 412, 413, 1, 0, 0, 0, 413, 61,
|
|
4328
|
+
1, 0, 0, 0, 414, 417, 3, 64, 32, 0, 415, 417, 3, 68, 34, 0, 416, 414, 1, 0, 0, 0, 416,
|
|
4329
|
+
415, 1, 0, 0, 0, 417, 63, 1, 0, 0, 0, 418, 419, 3, 66, 33, 0, 419, 422, 3, 92, 46, 0, 420,
|
|
4330
|
+
421, 5, 61, 0, 0, 421, 423, 5, 62, 0, 0, 422, 420, 1, 0, 0, 0, 422, 423, 1, 0, 0, 0, 423,
|
|
4331
|
+
426, 1, 0, 0, 0, 424, 425, 5, 27, 0, 0, 425, 427, 3, 74, 37, 0, 426, 424, 1, 0, 0, 0, 426,
|
|
4332
|
+
427, 1, 0, 0, 0, 427, 430, 1, 0, 0, 0, 428, 429, 5, 71, 0, 0, 429, 431, 5, 56, 0, 0, 430,
|
|
4333
|
+
428, 1, 0, 0, 0, 430, 431, 1, 0, 0, 0, 431, 65, 1, 0, 0, 0, 432, 433, 3, 100, 50, 0, 433,
|
|
4334
|
+
67, 1, 0, 0, 0, 434, 435, 5, 22, 0, 0, 435, 437, 3, 100, 50, 0, 436, 434, 1, 0, 0, 0, 436,
|
|
4335
|
+
437, 1, 0, 0, 0, 437, 493, 1, 0, 0, 0, 438, 439, 5, 71, 0, 0, 439, 440, 5, 56, 0, 0, 440,
|
|
4336
|
+
441, 5, 2, 0, 0, 441, 446, 3, 104, 52, 0, 442, 443, 5, 1, 0, 0, 443, 445, 3, 104, 52,
|
|
4337
|
+
0, 444, 442, 1, 0, 0, 0, 445, 448, 1, 0, 0, 0, 446, 444, 1, 0, 0, 0, 446, 447, 1, 0, 0,
|
|
4338
|
+
0, 447, 449, 1, 0, 0, 0, 448, 446, 1, 0, 0, 0, 449, 450, 5, 3, 0, 0, 450, 494, 1, 0, 0,
|
|
4339
|
+
0, 451, 452, 5, 88, 0, 0, 452, 453, 5, 2, 0, 0, 453, 458, 3, 104, 52, 0, 454, 455, 5,
|
|
4340
|
+
1, 0, 0, 455, 457, 3, 104, 52, 0, 456, 454, 1, 0, 0, 0, 457, 460, 1, 0, 0, 0, 458, 456,
|
|
4341
|
+
1, 0, 0, 0, 458, 459, 1, 0, 0, 0, 459, 461, 1, 0, 0, 0, 460, 458, 1, 0, 0, 0, 461, 462,
|
|
4342
|
+
5, 3, 0, 0, 462, 494, 1, 0, 0, 0, 463, 464, 5, 19, 0, 0, 464, 465, 5, 2, 0, 0, 465, 466,
|
|
4343
|
+
3, 74, 37, 0, 466, 467, 5, 3, 0, 0, 467, 494, 1, 0, 0, 0, 468, 469, 5, 41, 0, 0, 469, 470,
|
|
4344
|
+
5, 56, 0, 0, 470, 471, 5, 2, 0, 0, 471, 476, 3, 104, 52, 0, 472, 473, 5, 1, 0, 0, 473,
|
|
4345
|
+
475, 3, 104, 52, 0, 474, 472, 1, 0, 0, 0, 475, 478, 1, 0, 0, 0, 476, 474, 1, 0, 0, 0, 476,
|
|
4346
|
+
477, 1, 0, 0, 0, 477, 479, 1, 0, 0, 0, 478, 476, 1, 0, 0, 0, 479, 480, 5, 3, 0, 0, 480,
|
|
4347
|
+
481, 5, 73, 0, 0, 481, 482, 3, 110, 55, 0, 482, 483, 5, 2, 0, 0, 483, 488, 3, 104, 52,
|
|
4348
|
+
0, 484, 485, 5, 1, 0, 0, 485, 487, 3, 104, 52, 0, 486, 484, 1, 0, 0, 0, 487, 490, 1, 0,
|
|
4349
|
+
0, 0, 488, 486, 1, 0, 0, 0, 488, 489, 1, 0, 0, 0, 489, 491, 1, 0, 0, 0, 490, 488, 1, 0,
|
|
4350
|
+
0, 0, 491, 492, 5, 3, 0, 0, 492, 494, 1, 0, 0, 0, 493, 438, 1, 0, 0, 0, 493, 451, 1, 0,
|
|
4351
|
+
0, 0, 493, 463, 1, 0, 0, 0, 493, 468, 1, 0, 0, 0, 494, 69, 1, 0, 0, 0, 495, 496, 5, 7, 0,
|
|
4352
|
+
0, 496, 499, 5, 79, 0, 0, 497, 498, 5, 46, 0, 0, 498, 500, 5, 37, 0, 0, 499, 497, 1, 0,
|
|
4353
|
+
0, 0, 499, 500, 1, 0, 0, 0, 500, 501, 1, 0, 0, 0, 501, 533, 3, 110, 55, 0, 502, 503, 5,
|
|
4354
|
+
5, 0, 0, 503, 507, 5, 21, 0, 0, 504, 505, 5, 46, 0, 0, 505, 506, 5, 61, 0, 0, 506, 508,
|
|
4355
|
+
5, 37, 0, 0, 507, 504, 1, 0, 0, 0, 507, 508, 1, 0, 0, 0, 508, 509, 1, 0, 0, 0, 509, 534,
|
|
4356
|
+
3, 64, 32, 0, 510, 511, 5, 32, 0, 0, 511, 514, 5, 21, 0, 0, 512, 513, 5, 46, 0, 0, 513,
|
|
4357
|
+
515, 5, 37, 0, 0, 514, 512, 1, 0, 0, 0, 514, 515, 1, 0, 0, 0, 515, 516, 1, 0, 0, 0, 516,
|
|
4358
|
+
534, 3, 104, 52, 0, 517, 518, 5, 74, 0, 0, 518, 519, 5, 85, 0, 0, 519, 534, 3, 112, 56,
|
|
4359
|
+
0, 520, 521, 5, 7, 0, 0, 521, 522, 5, 21, 0, 0, 522, 523, 3, 104, 52, 0, 523, 524, 5,
|
|
4360
|
+
77, 0, 0, 524, 525, 5, 27, 0, 0, 525, 526, 3, 74, 37, 0, 526, 534, 1, 0, 0, 0, 527, 528,
|
|
4361
|
+
5, 7, 0, 0, 528, 529, 5, 21, 0, 0, 529, 530, 3, 104, 52, 0, 530, 531, 5, 32, 0, 0, 531,
|
|
4362
|
+
532, 5, 27, 0, 0, 532, 534, 1, 0, 0, 0, 533, 502, 1, 0, 0, 0, 533, 510, 1, 0, 0, 0, 533,
|
|
4363
|
+
517, 1, 0, 0, 0, 533, 520, 1, 0, 0, 0, 533, 527, 1, 0, 0, 0, 534, 71, 1, 0, 0, 0, 535, 536,
|
|
4364
|
+
5, 32, 0, 0, 536, 539, 5, 79, 0, 0, 537, 538, 5, 46, 0, 0, 538, 540, 5, 37, 0, 0, 539,
|
|
4365
|
+
537, 1, 0, 0, 0, 539, 540, 1, 0, 0, 0, 540, 541, 1, 0, 0, 0, 541, 542, 3, 110, 55, 0, 542,
|
|
4366
|
+
73, 1, 0, 0, 0, 543, 544, 3, 76, 38, 0, 544, 75, 1, 0, 0, 0, 545, 546, 6, 38, -1, 0, 546,
|
|
4367
|
+
550, 3, 78, 39, 0, 547, 548, 5, 61, 0, 0, 548, 550, 3, 76, 38, 3, 549, 545, 1, 0, 0, 0,
|
|
4368
|
+
549, 547, 1, 0, 0, 0, 550, 559, 1, 0, 0, 0, 551, 552, 10, 2, 0, 0, 552, 553, 5, 8, 0, 0,
|
|
4369
|
+
553, 558, 3, 76, 38, 3, 554, 555, 10, 1, 0, 0, 555, 556, 5, 68, 0, 0, 556, 558, 3, 76,
|
|
4370
|
+
38, 2, 557, 551, 1, 0, 0, 0, 557, 554, 1, 0, 0, 0, 558, 561, 1, 0, 0, 0, 559, 557, 1, 0,
|
|
4371
|
+
0, 0, 559, 560, 1, 0, 0, 0, 560, 77, 1, 0, 0, 0, 561, 559, 1, 0, 0, 0, 562, 564, 3, 84,
|
|
4372
|
+
42, 0, 563, 565, 3, 80, 40, 0, 564, 563, 1, 0, 0, 0, 564, 565, 1, 0, 0, 0, 565, 79, 1,
|
|
4373
|
+
0, 0, 0, 566, 567, 3, 82, 41, 0, 567, 568, 3, 84, 42, 0, 568, 622, 1, 0, 0, 0, 569, 571,
|
|
4374
|
+
5, 61, 0, 0, 570, 569, 1, 0, 0, 0, 570, 571, 1, 0, 0, 0, 571, 572, 1, 0, 0, 0, 572, 573,
|
|
4375
|
+
5, 47, 0, 0, 573, 574, 5, 2, 0, 0, 574, 579, 3, 74, 37, 0, 575, 576, 5, 1, 0, 0, 576, 578,
|
|
4376
|
+
3, 74, 37, 0, 577, 575, 1, 0, 0, 0, 578, 581, 1, 0, 0, 0, 579, 577, 1, 0, 0, 0, 579, 580,
|
|
4377
|
+
1, 0, 0, 0, 580, 582, 1, 0, 0, 0, 581, 579, 1, 0, 0, 0, 582, 583, 5, 3, 0, 0, 583, 622,
|
|
4378
|
+
1, 0, 0, 0, 584, 586, 5, 61, 0, 0, 585, 584, 1, 0, 0, 0, 585, 586, 1, 0, 0, 0, 586, 587,
|
|
4379
|
+
1, 0, 0, 0, 587, 588, 5, 47, 0, 0, 588, 589, 5, 2, 0, 0, 589, 590, 3, 8, 4, 0, 590, 591,
|
|
4380
|
+
5, 3, 0, 0, 591, 622, 1, 0, 0, 0, 592, 594, 5, 61, 0, 0, 593, 592, 1, 0, 0, 0, 593, 594,
|
|
4381
|
+
1, 0, 0, 0, 594, 595, 1, 0, 0, 0, 595, 596, 5, 11, 0, 0, 596, 597, 3, 84, 42, 0, 597, 598,
|
|
4382
|
+
5, 8, 0, 0, 598, 599, 3, 84, 42, 0, 599, 622, 1, 0, 0, 0, 600, 602, 5, 61, 0, 0, 601, 600,
|
|
4383
|
+
1, 0, 0, 0, 601, 602, 1, 0, 0, 0, 602, 603, 1, 0, 0, 0, 603, 604, 5, 59, 0, 0, 604, 607,
|
|
4384
|
+
3, 84, 42, 0, 605, 606, 5, 35, 0, 0, 606, 608, 3, 84, 42, 0, 607, 605, 1, 0, 0, 0, 607,
|
|
4385
|
+
608, 1, 0, 0, 0, 608, 622, 1, 0, 0, 0, 609, 611, 5, 54, 0, 0, 610, 612, 5, 61, 0, 0, 611,
|
|
4386
|
+
610, 1, 0, 0, 0, 611, 612, 1, 0, 0, 0, 612, 613, 1, 0, 0, 0, 613, 622, 5, 62, 0, 0, 614,
|
|
4387
|
+
616, 5, 54, 0, 0, 615, 617, 5, 61, 0, 0, 616, 615, 1, 0, 0, 0, 616, 617, 1, 0, 0, 0, 617,
|
|
4388
|
+
618, 1, 0, 0, 0, 618, 619, 5, 30, 0, 0, 619, 620, 5, 42, 0, 0, 620, 622, 3, 84, 42, 0,
|
|
4389
|
+
621, 566, 1, 0, 0, 0, 621, 570, 1, 0, 0, 0, 621, 585, 1, 0, 0, 0, 621, 593, 1, 0, 0, 0,
|
|
4390
|
+
621, 601, 1, 0, 0, 0, 621, 609, 1, 0, 0, 0, 621, 614, 1, 0, 0, 0, 622, 81, 1, 0, 0, 0, 623,
|
|
4391
|
+
624, 7, 4, 0, 0, 624, 83, 1, 0, 0, 0, 625, 626, 6, 42, -1, 0, 626, 630, 3, 86, 43, 0, 627,
|
|
4392
|
+
628, 7, 5, 0, 0, 628, 630, 3, 84, 42, 4, 629, 625, 1, 0, 0, 0, 629, 627, 1, 0, 0, 0, 630,
|
|
4393
|
+
642, 1, 0, 0, 0, 631, 632, 10, 3, 0, 0, 632, 633, 7, 6, 0, 0, 633, 641, 3, 84, 42, 4, 634,
|
|
4394
|
+
635, 10, 2, 0, 0, 635, 636, 7, 5, 0, 0, 636, 641, 3, 84, 42, 3, 637, 638, 10, 1, 0, 0,
|
|
4395
|
+
638, 639, 5, 106, 0, 0, 639, 641, 3, 84, 42, 2, 640, 631, 1, 0, 0, 0, 640, 634, 1, 0,
|
|
4396
|
+
0, 0, 640, 637, 1, 0, 0, 0, 641, 644, 1, 0, 0, 0, 642, 640, 1, 0, 0, 0, 642, 643, 1, 0,
|
|
4397
|
+
0, 0, 643, 85, 1, 0, 0, 0, 644, 642, 1, 0, 0, 0, 645, 726, 3, 98, 49, 0, 646, 647, 3, 114,
|
|
4398
|
+
57, 0, 647, 659, 5, 2, 0, 0, 648, 650, 3, 24, 12, 0, 649, 648, 1, 0, 0, 0, 649, 650, 1,
|
|
4399
|
+
0, 0, 0, 650, 651, 1, 0, 0, 0, 651, 656, 3, 74, 37, 0, 652, 653, 5, 1, 0, 0, 653, 655,
|
|
4400
|
+
3, 74, 37, 0, 654, 652, 1, 0, 0, 0, 655, 658, 1, 0, 0, 0, 656, 654, 1, 0, 0, 0, 656, 657,
|
|
4401
|
+
1, 0, 0, 0, 657, 660, 1, 0, 0, 0, 658, 656, 1, 0, 0, 0, 659, 649, 1, 0, 0, 0, 659, 660,
|
|
4402
|
+
1, 0, 0, 0, 660, 661, 1, 0, 0, 0, 661, 662, 5, 3, 0, 0, 662, 726, 1, 0, 0, 0, 663, 665,
|
|
4403
|
+
5, 16, 0, 0, 664, 666, 3, 88, 44, 0, 665, 664, 1, 0, 0, 0, 666, 667, 1, 0, 0, 0, 667, 665,
|
|
4404
|
+
1, 0, 0, 0, 667, 668, 1, 0, 0, 0, 668, 671, 1, 0, 0, 0, 669, 670, 5, 33, 0, 0, 670, 672,
|
|
4405
|
+
3, 74, 37, 0, 671, 669, 1, 0, 0, 0, 671, 672, 1, 0, 0, 0, 672, 673, 1, 0, 0, 0, 673, 674,
|
|
4406
|
+
5, 34, 0, 0, 674, 726, 1, 0, 0, 0, 675, 676, 5, 16, 0, 0, 676, 678, 3, 74, 37, 0, 677,
|
|
4407
|
+
679, 3, 88, 44, 0, 678, 677, 1, 0, 0, 0, 679, 680, 1, 0, 0, 0, 680, 678, 1, 0, 0, 0, 680,
|
|
4408
|
+
681, 1, 0, 0, 0, 681, 684, 1, 0, 0, 0, 682, 683, 5, 33, 0, 0, 683, 685, 3, 74, 37, 0, 684,
|
|
4409
|
+
682, 1, 0, 0, 0, 684, 685, 1, 0, 0, 0, 685, 686, 1, 0, 0, 0, 686, 687, 5, 34, 0, 0, 687,
|
|
4410
|
+
726, 1, 0, 0, 0, 688, 689, 5, 17, 0, 0, 689, 690, 5, 2, 0, 0, 690, 691, 3, 74, 37, 0, 691,
|
|
4411
|
+
692, 5, 9, 0, 0, 692, 693, 3, 92, 46, 0, 693, 694, 5, 3, 0, 0, 694, 726, 1, 0, 0, 0, 695,
|
|
4412
|
+
696, 5, 20, 0, 0, 696, 697, 5, 2, 0, 0, 697, 702, 3, 74, 37, 0, 698, 699, 5, 1, 0, 0, 699,
|
|
4413
|
+
701, 3, 74, 37, 0, 700, 698, 1, 0, 0, 0, 701, 704, 1, 0, 0, 0, 702, 700, 1, 0, 0, 0, 702,
|
|
4414
|
+
703, 1, 0, 0, 0, 703, 705, 1, 0, 0, 0, 704, 702, 1, 0, 0, 0, 705, 706, 5, 3, 0, 0, 706,
|
|
4415
|
+
726, 1, 0, 0, 0, 707, 708, 5, 63, 0, 0, 708, 709, 5, 2, 0, 0, 709, 710, 3, 84, 42, 0, 710,
|
|
4416
|
+
711, 5, 1, 0, 0, 711, 712, 3, 84, 42, 0, 712, 713, 5, 3, 0, 0, 713, 726, 1, 0, 0, 0, 714,
|
|
4417
|
+
715, 5, 2, 0, 0, 715, 716, 3, 74, 37, 0, 716, 717, 5, 3, 0, 0, 717, 726, 1, 0, 0, 0, 718,
|
|
4418
|
+
719, 5, 37, 0, 0, 719, 720, 5, 2, 0, 0, 720, 721, 3, 8, 4, 0, 721, 722, 5, 3, 0, 0, 722,
|
|
4419
|
+
726, 1, 0, 0, 0, 723, 726, 3, 90, 45, 0, 724, 726, 3, 106, 53, 0, 725, 645, 1, 0, 0, 0,
|
|
4420
|
+
725, 646, 1, 0, 0, 0, 725, 663, 1, 0, 0, 0, 725, 675, 1, 0, 0, 0, 725, 688, 1, 0, 0, 0,
|
|
4421
|
+
725, 695, 1, 0, 0, 0, 725, 707, 1, 0, 0, 0, 725, 714, 1, 0, 0, 0, 725, 718, 1, 0, 0, 0,
|
|
4422
|
+
725, 723, 1, 0, 0, 0, 725, 724, 1, 0, 0, 0, 726, 87, 1, 0, 0, 0, 727, 728, 5, 92, 0, 0,
|
|
4423
|
+
728, 729, 3, 74, 37, 0, 729, 730, 5, 81, 0, 0, 730, 731, 3, 74, 37, 0, 731, 89, 1, 0,
|
|
4424
|
+
0, 0, 732, 733, 5, 2, 0, 0, 733, 734, 3, 8, 4, 0, 734, 735, 5, 3, 0, 0, 735, 91, 1, 0, 0,
|
|
4425
|
+
0, 736, 783, 5, 14, 0, 0, 737, 783, 5, 84, 0, 0, 738, 783, 5, 78, 0, 0, 739, 783, 5, 50,
|
|
4426
|
+
0, 0, 740, 783, 5, 51, 0, 0, 741, 783, 5, 12, 0, 0, 742, 783, 5, 40, 0, 0, 743, 783, 5,
|
|
4427
|
+
31, 0, 0, 744, 752, 5, 26, 0, 0, 745, 746, 5, 2, 0, 0, 746, 749, 5, 111, 0, 0, 747, 748,
|
|
4428
|
+
5, 1, 0, 0, 748, 750, 5, 111, 0, 0, 749, 747, 1, 0, 0, 0, 749, 750, 1, 0, 0, 0, 750, 751,
|
|
4429
|
+
1, 0, 0, 0, 751, 753, 5, 3, 0, 0, 752, 745, 1, 0, 0, 0, 752, 753, 1, 0, 0, 0, 753, 783,
|
|
4430
|
+
1, 0, 0, 0, 754, 762, 5, 65, 0, 0, 755, 756, 5, 2, 0, 0, 756, 759, 5, 111, 0, 0, 757, 758,
|
|
4431
|
+
5, 1, 0, 0, 758, 760, 5, 111, 0, 0, 759, 757, 1, 0, 0, 0, 759, 760, 1, 0, 0, 0, 760, 761,
|
|
4432
|
+
1, 0, 0, 0, 761, 763, 5, 3, 0, 0, 762, 755, 1, 0, 0, 0, 762, 763, 1, 0, 0, 0, 763, 783,
|
|
4433
|
+
1, 0, 0, 0, 764, 768, 5, 90, 0, 0, 765, 766, 5, 2, 0, 0, 766, 767, 5, 111, 0, 0, 767, 769,
|
|
4434
|
+
5, 3, 0, 0, 768, 765, 1, 0, 0, 0, 768, 769, 1, 0, 0, 0, 769, 783, 1, 0, 0, 0, 770, 774,
|
|
4435
|
+
5, 18, 0, 0, 771, 772, 5, 2, 0, 0, 772, 773, 5, 111, 0, 0, 773, 775, 5, 3, 0, 0, 774, 771,
|
|
4436
|
+
1, 0, 0, 0, 774, 775, 1, 0, 0, 0, 775, 783, 1, 0, 0, 0, 776, 783, 5, 80, 0, 0, 777, 783,
|
|
4437
|
+
5, 25, 0, 0, 778, 783, 5, 82, 0, 0, 779, 783, 5, 83, 0, 0, 780, 783, 5, 13, 0, 0, 781,
|
|
4438
|
+
783, 5, 91, 0, 0, 782, 736, 1, 0, 0, 0, 782, 737, 1, 0, 0, 0, 782, 738, 1, 0, 0, 0, 782,
|
|
4439
|
+
739, 1, 0, 0, 0, 782, 740, 1, 0, 0, 0, 782, 741, 1, 0, 0, 0, 782, 742, 1, 0, 0, 0, 782,
|
|
4440
|
+
743, 1, 0, 0, 0, 782, 744, 1, 0, 0, 0, 782, 754, 1, 0, 0, 0, 782, 764, 1, 0, 0, 0, 782,
|
|
4441
|
+
770, 1, 0, 0, 0, 782, 776, 1, 0, 0, 0, 782, 777, 1, 0, 0, 0, 782, 778, 1, 0, 0, 0, 782,
|
|
4442
|
+
779, 1, 0, 0, 0, 782, 780, 1, 0, 0, 0, 782, 781, 1, 0, 0, 0, 783, 93, 1, 0, 0, 0, 784, 785,
|
|
4443
|
+
5, 2, 0, 0, 785, 790, 3, 96, 48, 0, 786, 787, 5, 1, 0, 0, 787, 789, 3, 96, 48, 0, 788,
|
|
4444
|
+
786, 1, 0, 0, 0, 789, 792, 1, 0, 0, 0, 790, 788, 1, 0, 0, 0, 790, 791, 1, 0, 0, 0, 791,
|
|
4445
|
+
793, 1, 0, 0, 0, 792, 790, 1, 0, 0, 0, 793, 794, 5, 3, 0, 0, 794, 95, 1, 0, 0, 0, 795, 796,
|
|
4446
|
+
3, 100, 50, 0, 796, 797, 5, 95, 0, 0, 797, 798, 3, 98, 49, 0, 798, 97, 1, 0, 0, 0, 799,
|
|
4447
|
+
808, 5, 62, 0, 0, 800, 808, 5, 86, 0, 0, 801, 808, 5, 38, 0, 0, 802, 808, 5, 111, 0, 0,
|
|
4448
|
+
803, 808, 5, 112, 0, 0, 804, 808, 5, 113, 0, 0, 805, 808, 5, 109, 0, 0, 806, 808, 5,
|
|
4449
|
+
110, 0, 0, 807, 799, 1, 0, 0, 0, 807, 800, 1, 0, 0, 0, 807, 801, 1, 0, 0, 0, 807, 802,
|
|
4450
|
+
1, 0, 0, 0, 807, 803, 1, 0, 0, 0, 807, 804, 1, 0, 0, 0, 807, 805, 1, 0, 0, 0, 807, 806,
|
|
4451
|
+
1, 0, 0, 0, 808, 99, 1, 0, 0, 0, 809, 815, 5, 114, 0, 0, 810, 815, 5, 115, 0, 0, 811, 815,
|
|
4452
|
+
5, 116, 0, 0, 812, 815, 5, 117, 0, 0, 813, 815, 3, 116, 58, 0, 814, 809, 1, 0, 0, 0, 814,
|
|
4453
|
+
810, 1, 0, 0, 0, 814, 811, 1, 0, 0, 0, 814, 812, 1, 0, 0, 0, 814, 813, 1, 0, 0, 0, 815,
|
|
4454
|
+
101, 1, 0, 0, 0, 816, 821, 3, 100, 50, 0, 817, 818, 5, 4, 0, 0, 818, 820, 3, 100, 50,
|
|
4455
|
+
0, 819, 817, 1, 0, 0, 0, 820, 823, 1, 0, 0, 0, 821, 819, 1, 0, 0, 0, 821, 822, 1, 0, 0,
|
|
4456
|
+
0, 822, 103, 1, 0, 0, 0, 823, 821, 1, 0, 0, 0, 824, 828, 3, 100, 50, 0, 825, 826, 4, 52,
|
|
4457
|
+
7, 0, 826, 828, 3, 108, 54, 0, 827, 824, 1, 0, 0, 0, 827, 825, 1, 0, 0, 0, 828, 105, 1,
|
|
4458
|
+
0, 0, 0, 829, 830, 3, 102, 51, 0, 830, 107, 1, 0, 0, 0, 831, 832, 1, 0, 0, 0, 832, 109,
|
|
4459
|
+
1, 0, 0, 0, 833, 834, 3, 102, 51, 0, 834, 111, 1, 0, 0, 0, 835, 836, 3, 102, 51, 0, 836,
|
|
4460
|
+
113, 1, 0, 0, 0, 837, 838, 3, 102, 51, 0, 838, 115, 1, 0, 0, 0, 839, 840, 7, 7, 0, 0, 840,
|
|
4461
|
+
117, 1, 0, 0, 0, 100, 121, 130, 139, 142, 148, 155, 160, 173, 181, 186, 196, 200,
|
|
4462
|
+
207, 211, 214, 217, 220, 223, 226, 232, 235, 244, 252, 267, 271, 275, 279, 283,
|
|
4463
|
+
286, 290, 293, 300, 305, 310, 317, 323, 332, 337, 341, 347, 353, 363, 376, 380,
|
|
4464
|
+
390, 397, 406, 412, 416, 422, 426, 430, 436, 446, 458, 476, 488, 493, 499, 507,
|
|
4465
|
+
514, 533, 539, 549, 557, 559, 564, 570, 579, 585, 593, 601, 607, 611, 616, 621,
|
|
4466
|
+
629, 640, 642, 649, 656, 659, 667, 671, 680, 684, 702, 725, 749, 752, 759, 762,
|
|
4467
|
+
768, 774, 782, 790, 807, 814, 821, 827
|
|
4278
4468
|
];
|
|
4279
4469
|
GenericSqlParser.vocabulary = new antlr.Vocabulary(GenericSqlParser.literalNames, GenericSqlParser.symbolicNames, []);
|
|
4280
4470
|
GenericSqlParser.decisionsToDFA = GenericSqlParser._ATN.decisionToState.map((ds, index) => new antlr.DFA(ds, index));
|
|
@@ -4931,6 +5121,18 @@ export class SelectItemContext extends antlr.ParserRuleContext {
|
|
|
4931
5121
|
constructor(parent, invokingState) {
|
|
4932
5122
|
super(parent, invokingState);
|
|
4933
5123
|
}
|
|
5124
|
+
get ruleIndex() {
|
|
5125
|
+
return GenericSqlParser.RULE_selectItem;
|
|
5126
|
+
}
|
|
5127
|
+
copyFrom(ctx) {
|
|
5128
|
+
super.copyFrom(ctx);
|
|
5129
|
+
}
|
|
5130
|
+
}
|
|
5131
|
+
export class SelectExpressionElementContext extends SelectItemContext {
|
|
5132
|
+
constructor(ctx) {
|
|
5133
|
+
super(ctx.parent, ctx.invokingState);
|
|
5134
|
+
super.copyFrom(ctx);
|
|
5135
|
+
}
|
|
4934
5136
|
expression() {
|
|
4935
5137
|
return this.getRuleContext(0, ExpressionContext);
|
|
4936
5138
|
}
|
|
@@ -4940,28 +5142,103 @@ export class SelectItemContext extends antlr.ParserRuleContext {
|
|
|
4940
5142
|
KW_AS() {
|
|
4941
5143
|
return this.getToken(GenericSqlParser.KW_AS, 0);
|
|
4942
5144
|
}
|
|
5145
|
+
enterRule(listener) {
|
|
5146
|
+
if (listener.enterSelectExpressionElement) {
|
|
5147
|
+
listener.enterSelectExpressionElement(this);
|
|
5148
|
+
}
|
|
5149
|
+
}
|
|
5150
|
+
exitRule(listener) {
|
|
5151
|
+
if (listener.exitSelectExpressionElement) {
|
|
5152
|
+
listener.exitSelectExpressionElement(this);
|
|
5153
|
+
}
|
|
5154
|
+
}
|
|
5155
|
+
accept(visitor) {
|
|
5156
|
+
if (visitor.visitSelectExpressionElement) {
|
|
5157
|
+
return visitor.visitSelectExpressionElement(this);
|
|
5158
|
+
}
|
|
5159
|
+
else {
|
|
5160
|
+
return visitor.visitChildren(this);
|
|
5161
|
+
}
|
|
5162
|
+
}
|
|
5163
|
+
}
|
|
5164
|
+
export class SelectEmptyElementContext extends SelectItemContext {
|
|
5165
|
+
constructor(ctx) {
|
|
5166
|
+
super(ctx.parent, ctx.invokingState);
|
|
5167
|
+
super.copyFrom(ctx);
|
|
5168
|
+
}
|
|
5169
|
+
emptyColumn() {
|
|
5170
|
+
return this.getRuleContext(0, EmptyColumnContext);
|
|
5171
|
+
}
|
|
5172
|
+
enterRule(listener) {
|
|
5173
|
+
if (listener.enterSelectEmptyElement) {
|
|
5174
|
+
listener.enterSelectEmptyElement(this);
|
|
5175
|
+
}
|
|
5176
|
+
}
|
|
5177
|
+
exitRule(listener) {
|
|
5178
|
+
if (listener.exitSelectEmptyElement) {
|
|
5179
|
+
listener.exitSelectEmptyElement(this);
|
|
5180
|
+
}
|
|
5181
|
+
}
|
|
5182
|
+
accept(visitor) {
|
|
5183
|
+
if (visitor.visitSelectEmptyElement) {
|
|
5184
|
+
return visitor.visitSelectEmptyElement(this);
|
|
5185
|
+
}
|
|
5186
|
+
else {
|
|
5187
|
+
return visitor.visitChildren(this);
|
|
5188
|
+
}
|
|
5189
|
+
}
|
|
5190
|
+
}
|
|
5191
|
+
export class SelectStarElementContext extends SelectItemContext {
|
|
5192
|
+
constructor(ctx) {
|
|
5193
|
+
super(ctx.parent, ctx.invokingState);
|
|
5194
|
+
super.copyFrom(ctx);
|
|
5195
|
+
}
|
|
4943
5196
|
qualifiedName() {
|
|
4944
5197
|
return this.getRuleContext(0, QualifiedNameContext);
|
|
4945
5198
|
}
|
|
4946
5199
|
ASTERISK() {
|
|
4947
5200
|
return this.getToken(GenericSqlParser.ASTERISK, 0);
|
|
4948
5201
|
}
|
|
4949
|
-
|
|
4950
|
-
|
|
5202
|
+
enterRule(listener) {
|
|
5203
|
+
if (listener.enterSelectStarElement) {
|
|
5204
|
+
listener.enterSelectStarElement(this);
|
|
5205
|
+
}
|
|
5206
|
+
}
|
|
5207
|
+
exitRule(listener) {
|
|
5208
|
+
if (listener.exitSelectStarElement) {
|
|
5209
|
+
listener.exitSelectStarElement(this);
|
|
5210
|
+
}
|
|
5211
|
+
}
|
|
5212
|
+
accept(visitor) {
|
|
5213
|
+
if (visitor.visitSelectStarElement) {
|
|
5214
|
+
return visitor.visitSelectStarElement(this);
|
|
5215
|
+
}
|
|
5216
|
+
else {
|
|
5217
|
+
return visitor.visitChildren(this);
|
|
5218
|
+
}
|
|
5219
|
+
}
|
|
5220
|
+
}
|
|
5221
|
+
export class SelectAllElementContext extends SelectItemContext {
|
|
5222
|
+
constructor(ctx) {
|
|
5223
|
+
super(ctx.parent, ctx.invokingState);
|
|
5224
|
+
super.copyFrom(ctx);
|
|
5225
|
+
}
|
|
5226
|
+
ASTERISK() {
|
|
5227
|
+
return this.getToken(GenericSqlParser.ASTERISK, 0);
|
|
4951
5228
|
}
|
|
4952
5229
|
enterRule(listener) {
|
|
4953
|
-
if (listener.
|
|
4954
|
-
listener.
|
|
5230
|
+
if (listener.enterSelectAllElement) {
|
|
5231
|
+
listener.enterSelectAllElement(this);
|
|
4955
5232
|
}
|
|
4956
5233
|
}
|
|
4957
5234
|
exitRule(listener) {
|
|
4958
|
-
if (listener.
|
|
4959
|
-
listener.
|
|
5235
|
+
if (listener.exitSelectAllElement) {
|
|
5236
|
+
listener.exitSelectAllElement(this);
|
|
4960
5237
|
}
|
|
4961
5238
|
}
|
|
4962
5239
|
accept(visitor) {
|
|
4963
|
-
if (visitor.
|
|
4964
|
-
return visitor.
|
|
5240
|
+
if (visitor.visitSelectAllElement) {
|
|
5241
|
+
return visitor.visitSelectAllElement(this);
|
|
4965
5242
|
}
|
|
4966
5243
|
else {
|
|
4967
5244
|
return visitor.visitChildren(this);
|
|
@@ -5237,6 +5514,9 @@ export class WhereClauseContext extends antlr.ParserRuleContext {
|
|
|
5237
5514
|
expression() {
|
|
5238
5515
|
return this.getRuleContext(0, ExpressionContext);
|
|
5239
5516
|
}
|
|
5517
|
+
emptyColumn() {
|
|
5518
|
+
return this.getRuleContext(0, EmptyColumnContext);
|
|
5519
|
+
}
|
|
5240
5520
|
get ruleIndex() {
|
|
5241
5521
|
return GenericSqlParser.RULE_whereClause;
|
|
5242
5522
|
}
|
|
@@ -5310,6 +5590,9 @@ export class HavingClauseContext extends antlr.ParserRuleContext {
|
|
|
5310
5590
|
expression() {
|
|
5311
5591
|
return this.getRuleContext(0, ExpressionContext);
|
|
5312
5592
|
}
|
|
5593
|
+
emptyColumn() {
|
|
5594
|
+
return this.getRuleContext(0, EmptyColumnContext);
|
|
5595
|
+
}
|
|
5313
5596
|
get ruleIndex() {
|
|
5314
5597
|
return GenericSqlParser.RULE_havingClause;
|
|
5315
5598
|
}
|
|
@@ -5734,8 +6017,8 @@ export class ColumnDefinitionContext extends antlr.ParserRuleContext {
|
|
|
5734
6017
|
constructor(parent, invokingState) {
|
|
5735
6018
|
super(parent, invokingState);
|
|
5736
6019
|
}
|
|
5737
|
-
|
|
5738
|
-
return this.getRuleContext(0,
|
|
6020
|
+
columnRefCreate() {
|
|
6021
|
+
return this.getRuleContext(0, ColumnRefCreateContext);
|
|
5739
6022
|
}
|
|
5740
6023
|
dataType() {
|
|
5741
6024
|
return this.getRuleContext(0, DataTypeContext);
|
|
@@ -5780,6 +6063,35 @@ export class ColumnDefinitionContext extends antlr.ParserRuleContext {
|
|
|
5780
6063
|
}
|
|
5781
6064
|
}
|
|
5782
6065
|
}
|
|
6066
|
+
export class ColumnRefCreateContext extends antlr.ParserRuleContext {
|
|
6067
|
+
constructor(parent, invokingState) {
|
|
6068
|
+
super(parent, invokingState);
|
|
6069
|
+
}
|
|
6070
|
+
identifier() {
|
|
6071
|
+
return this.getRuleContext(0, IdentifierContext);
|
|
6072
|
+
}
|
|
6073
|
+
get ruleIndex() {
|
|
6074
|
+
return GenericSqlParser.RULE_columnRefCreate;
|
|
6075
|
+
}
|
|
6076
|
+
enterRule(listener) {
|
|
6077
|
+
if (listener.enterColumnRefCreate) {
|
|
6078
|
+
listener.enterColumnRefCreate(this);
|
|
6079
|
+
}
|
|
6080
|
+
}
|
|
6081
|
+
exitRule(listener) {
|
|
6082
|
+
if (listener.exitColumnRefCreate) {
|
|
6083
|
+
listener.exitColumnRefCreate(this);
|
|
6084
|
+
}
|
|
6085
|
+
}
|
|
6086
|
+
accept(visitor) {
|
|
6087
|
+
if (visitor.visitColumnRefCreate) {
|
|
6088
|
+
return visitor.visitColumnRefCreate(this);
|
|
6089
|
+
}
|
|
6090
|
+
else {
|
|
6091
|
+
return visitor.visitChildren(this);
|
|
6092
|
+
}
|
|
6093
|
+
}
|
|
6094
|
+
}
|
|
5783
6095
|
export class TableConstraintContext extends antlr.ParserRuleContext {
|
|
5784
6096
|
constructor(parent, invokingState) {
|
|
5785
6097
|
super(parent, invokingState);
|
|
@@ -6735,8 +7047,8 @@ export class ColumnReferenceContext extends PrimaryExpressionContext {
|
|
|
6735
7047
|
super(ctx.parent, ctx.invokingState);
|
|
6736
7048
|
super.copyFrom(ctx);
|
|
6737
7049
|
}
|
|
6738
|
-
|
|
6739
|
-
return this.getRuleContext(0,
|
|
7050
|
+
columnName() {
|
|
7051
|
+
return this.getRuleContext(0, ColumnNameContext);
|
|
6740
7052
|
}
|
|
6741
7053
|
enterRule(listener) {
|
|
6742
7054
|
if (listener.enterColumnReference) {
|
|
@@ -6819,8 +7131,8 @@ export class FunctionCallContext extends PrimaryExpressionContext {
|
|
|
6819
7131
|
super(ctx.parent, ctx.invokingState);
|
|
6820
7132
|
super.copyFrom(ctx);
|
|
6821
7133
|
}
|
|
6822
|
-
|
|
6823
|
-
return this.getRuleContext(0,
|
|
7134
|
+
functionName() {
|
|
7135
|
+
return this.getRuleContext(0, FunctionNameContext);
|
|
6824
7136
|
}
|
|
6825
7137
|
expression(i) {
|
|
6826
7138
|
if (i === undefined) {
|
|
@@ -7502,6 +7814,9 @@ export class ColumnRefContext extends antlr.ParserRuleContext {
|
|
|
7502
7814
|
identifier() {
|
|
7503
7815
|
return this.getRuleContext(0, IdentifierContext);
|
|
7504
7816
|
}
|
|
7817
|
+
emptyColumn() {
|
|
7818
|
+
return this.getRuleContext(0, EmptyColumnContext);
|
|
7819
|
+
}
|
|
7505
7820
|
get ruleIndex() {
|
|
7506
7821
|
return GenericSqlParser.RULE_columnRef;
|
|
7507
7822
|
}
|
|
@@ -7524,6 +7839,61 @@ export class ColumnRefContext extends antlr.ParserRuleContext {
|
|
|
7524
7839
|
}
|
|
7525
7840
|
}
|
|
7526
7841
|
}
|
|
7842
|
+
export class ColumnNameContext extends antlr.ParserRuleContext {
|
|
7843
|
+
constructor(parent, invokingState) {
|
|
7844
|
+
super(parent, invokingState);
|
|
7845
|
+
}
|
|
7846
|
+
qualifiedName() {
|
|
7847
|
+
return this.getRuleContext(0, QualifiedNameContext);
|
|
7848
|
+
}
|
|
7849
|
+
get ruleIndex() {
|
|
7850
|
+
return GenericSqlParser.RULE_columnName;
|
|
7851
|
+
}
|
|
7852
|
+
enterRule(listener) {
|
|
7853
|
+
if (listener.enterColumnName) {
|
|
7854
|
+
listener.enterColumnName(this);
|
|
7855
|
+
}
|
|
7856
|
+
}
|
|
7857
|
+
exitRule(listener) {
|
|
7858
|
+
if (listener.exitColumnName) {
|
|
7859
|
+
listener.exitColumnName(this);
|
|
7860
|
+
}
|
|
7861
|
+
}
|
|
7862
|
+
accept(visitor) {
|
|
7863
|
+
if (visitor.visitColumnName) {
|
|
7864
|
+
return visitor.visitColumnName(this);
|
|
7865
|
+
}
|
|
7866
|
+
else {
|
|
7867
|
+
return visitor.visitChildren(this);
|
|
7868
|
+
}
|
|
7869
|
+
}
|
|
7870
|
+
}
|
|
7871
|
+
export class EmptyColumnContext extends antlr.ParserRuleContext {
|
|
7872
|
+
constructor(parent, invokingState) {
|
|
7873
|
+
super(parent, invokingState);
|
|
7874
|
+
}
|
|
7875
|
+
get ruleIndex() {
|
|
7876
|
+
return GenericSqlParser.RULE_emptyColumn;
|
|
7877
|
+
}
|
|
7878
|
+
enterRule(listener) {
|
|
7879
|
+
if (listener.enterEmptyColumn) {
|
|
7880
|
+
listener.enterEmptyColumn(this);
|
|
7881
|
+
}
|
|
7882
|
+
}
|
|
7883
|
+
exitRule(listener) {
|
|
7884
|
+
if (listener.exitEmptyColumn) {
|
|
7885
|
+
listener.exitEmptyColumn(this);
|
|
7886
|
+
}
|
|
7887
|
+
}
|
|
7888
|
+
accept(visitor) {
|
|
7889
|
+
if (visitor.visitEmptyColumn) {
|
|
7890
|
+
return visitor.visitEmptyColumn(this);
|
|
7891
|
+
}
|
|
7892
|
+
else {
|
|
7893
|
+
return visitor.visitChildren(this);
|
|
7894
|
+
}
|
|
7895
|
+
}
|
|
7896
|
+
}
|
|
7527
7897
|
export class TableNameContext extends antlr.ParserRuleContext {
|
|
7528
7898
|
constructor(parent, invokingState) {
|
|
7529
7899
|
super(parent, invokingState);
|
|
@@ -7582,6 +7952,35 @@ export class TableNameCreateContext extends antlr.ParserRuleContext {
|
|
|
7582
7952
|
}
|
|
7583
7953
|
}
|
|
7584
7954
|
}
|
|
7955
|
+
export class FunctionNameContext extends antlr.ParserRuleContext {
|
|
7956
|
+
constructor(parent, invokingState) {
|
|
7957
|
+
super(parent, invokingState);
|
|
7958
|
+
}
|
|
7959
|
+
qualifiedName() {
|
|
7960
|
+
return this.getRuleContext(0, QualifiedNameContext);
|
|
7961
|
+
}
|
|
7962
|
+
get ruleIndex() {
|
|
7963
|
+
return GenericSqlParser.RULE_functionName;
|
|
7964
|
+
}
|
|
7965
|
+
enterRule(listener) {
|
|
7966
|
+
if (listener.enterFunctionName) {
|
|
7967
|
+
listener.enterFunctionName(this);
|
|
7968
|
+
}
|
|
7969
|
+
}
|
|
7970
|
+
exitRule(listener) {
|
|
7971
|
+
if (listener.exitFunctionName) {
|
|
7972
|
+
listener.exitFunctionName(this);
|
|
7973
|
+
}
|
|
7974
|
+
}
|
|
7975
|
+
accept(visitor) {
|
|
7976
|
+
if (visitor.visitFunctionName) {
|
|
7977
|
+
return visitor.visitFunctionName(this);
|
|
7978
|
+
}
|
|
7979
|
+
else {
|
|
7980
|
+
return visitor.visitChildren(this);
|
|
7981
|
+
}
|
|
7982
|
+
}
|
|
7983
|
+
}
|
|
7585
7984
|
export class NonReservedContext extends antlr.ParserRuleContext {
|
|
7586
7985
|
constructor(parent, invokingState) {
|
|
7587
7986
|
super(parent, invokingState);
|