dt-sql-parser 4.5.0 → 4.5.1-beta.0
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/dist/lib/flink/FlinkSqlLexer.d.ts +397 -399
- package/dist/lib/flink/FlinkSqlLexer.js +2489 -2504
- package/dist/lib/flink/FlinkSqlParser.d.ts +465 -617
- package/dist/lib/flink/FlinkSqlParser.js +3360 -5015
- package/dist/lib/flink/FlinkSqlParserListener.d.ts +0 -90
- package/dist/lib/flink/FlinkSqlParserVisitor.d.ts +0 -57
- package/dist/lib/generic/GenericSqlListener.d.ts +90 -5
- package/dist/lib/generic/GenericSqlParser.d.ts +101 -32
- package/dist/lib/generic/GenericSqlParser.js +1312 -912
- package/dist/lib/generic/GenericSqlVisitor.d.ts +56 -3
- package/dist/lib/spark/SparkSqlParser.d.ts +1 -1
- package/dist/lib/spark/SparkSqlParser.js +2963 -2925
- package/dist/lib/trino/TrinoSqlLexer.d.ts +296 -297
- package/dist/lib/trino/TrinoSqlLexer.js +1445 -1451
- package/dist/lib/trino/TrinoSqlListener.d.ts +0 -13
- package/dist/lib/trino/TrinoSqlParser.d.ts +297 -308
- package/dist/lib/trino/TrinoSqlParser.js +2300 -2381
- package/dist/lib/trino/TrinoSqlVisitor.d.ts +0 -8
- package/dist/parser/common/basicSQL.d.ts +0 -12
- package/dist/parser/common/basicSQL.js +0 -71
- package/dist/parser/generic/genericEntityCollector.d.ts +6 -3
- package/dist/parser/generic/genericEntityCollector.js +29 -21
- package/dist/parser/generic/index.js +15 -0
- 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 = 119;
|
|
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 = 116;
|
|
32
32
|
this.statements();
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
this.state =
|
|
35
|
+
this.state = 121;
|
|
36
36
|
this.errorHandler.sync(this);
|
|
37
37
|
_la = this.tokenStream.LA(1);
|
|
38
38
|
}
|
|
39
|
-
this.state =
|
|
39
|
+
this.state = 122;
|
|
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 = 124;
|
|
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 = 126;
|
|
91
91
|
this.statement();
|
|
92
|
-
this.state =
|
|
92
|
+
this.state = 128;
|
|
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 = 127;
|
|
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 = 137;
|
|
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 = 130;
|
|
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 = 131;
|
|
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 = 132;
|
|
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 = 133;
|
|
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 = 134;
|
|
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 = 135;
|
|
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 = 136;
|
|
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 = 140;
|
|
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 = 139;
|
|
215
215
|
this.withClause();
|
|
216
216
|
}
|
|
217
217
|
}
|
|
218
|
-
this.state =
|
|
218
|
+
this.state = 142;
|
|
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 = 144;
|
|
245
245
|
this.match(GenericSqlParser.KW_WITH);
|
|
246
|
-
this.state =
|
|
246
|
+
this.state = 146;
|
|
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 = 145;
|
|
252
252
|
this.match(GenericSqlParser.KW_RECURSIVE);
|
|
253
253
|
}
|
|
254
254
|
}
|
|
255
|
-
this.state =
|
|
255
|
+
this.state = 148;
|
|
256
256
|
this.namedQuery();
|
|
257
|
-
this.state =
|
|
257
|
+
this.state = 153;
|
|
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 = 149;
|
|
264
264
|
this.match(GenericSqlParser.T__0);
|
|
265
|
-
this.state =
|
|
265
|
+
this.state = 150;
|
|
266
266
|
this.namedQuery();
|
|
267
267
|
}
|
|
268
268
|
}
|
|
269
|
-
this.state =
|
|
269
|
+
this.state = 155;
|
|
270
270
|
this.errorHandler.sync(this);
|
|
271
271
|
_la = this.tokenStream.LA(1);
|
|
272
272
|
}
|
|
@@ -293,15 +293,15 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
293
293
|
try {
|
|
294
294
|
this.enterOuterAlt(localContext, 1);
|
|
295
295
|
{
|
|
296
|
-
this.state =
|
|
296
|
+
this.state = 156;
|
|
297
297
|
localContext._name = this.identifier();
|
|
298
|
-
this.state =
|
|
298
|
+
this.state = 157;
|
|
299
299
|
this.match(GenericSqlParser.KW_AS);
|
|
300
|
-
this.state =
|
|
300
|
+
this.state = 158;
|
|
301
301
|
this.match(GenericSqlParser.T__1);
|
|
302
|
-
this.state =
|
|
302
|
+
this.state = 159;
|
|
303
303
|
this.queryStatement();
|
|
304
|
-
this.state =
|
|
304
|
+
this.state = 160;
|
|
305
305
|
this.match(GenericSqlParser.T__2);
|
|
306
306
|
}
|
|
307
307
|
}
|
|
@@ -327,15 +327,15 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
327
327
|
try {
|
|
328
328
|
this.enterOuterAlt(localContext, 1);
|
|
329
329
|
{
|
|
330
|
-
this.state = 154;
|
|
331
|
-
this.queryTerm();
|
|
332
330
|
this.state = 162;
|
|
331
|
+
this.queryTerm();
|
|
332
|
+
this.state = 170;
|
|
333
333
|
this.errorHandler.sync(this);
|
|
334
334
|
_la = this.tokenStream.LA(1);
|
|
335
335
|
while (_la === 36 || _la === 52 || _la === 87) {
|
|
336
336
|
{
|
|
337
337
|
{
|
|
338
|
-
this.state =
|
|
338
|
+
this.state = 163;
|
|
339
339
|
_la = this.tokenStream.LA(1);
|
|
340
340
|
if (!(_la === 36 || _la === 52 || _la === 87)) {
|
|
341
341
|
this.errorHandler.recoverInline(this);
|
|
@@ -344,20 +344,20 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
344
344
|
this.errorHandler.reportMatch(this);
|
|
345
345
|
this.consume();
|
|
346
346
|
}
|
|
347
|
-
this.state =
|
|
347
|
+
this.state = 165;
|
|
348
348
|
this.errorHandler.sync(this);
|
|
349
349
|
_la = this.tokenStream.LA(1);
|
|
350
350
|
if (_la === 6) {
|
|
351
351
|
{
|
|
352
|
-
this.state =
|
|
352
|
+
this.state = 164;
|
|
353
353
|
this.match(GenericSqlParser.KW_ALL);
|
|
354
354
|
}
|
|
355
355
|
}
|
|
356
|
-
this.state =
|
|
356
|
+
this.state = 167;
|
|
357
357
|
this.queryTerm();
|
|
358
358
|
}
|
|
359
359
|
}
|
|
360
|
-
this.state =
|
|
360
|
+
this.state = 172;
|
|
361
361
|
this.errorHandler.sync(this);
|
|
362
362
|
_la = this.tokenStream.LA(1);
|
|
363
363
|
}
|
|
@@ -384,7 +384,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
384
384
|
try {
|
|
385
385
|
this.enterOuterAlt(localContext, 1);
|
|
386
386
|
{
|
|
387
|
-
this.state =
|
|
387
|
+
this.state = 173;
|
|
388
388
|
this.queryPrimary();
|
|
389
389
|
}
|
|
390
390
|
}
|
|
@@ -407,24 +407,24 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
407
407
|
let localContext = new QueryPrimaryContext(this.context, this.state);
|
|
408
408
|
this.enterRule(localContext, 18, GenericSqlParser.RULE_queryPrimary);
|
|
409
409
|
try {
|
|
410
|
-
this.state =
|
|
410
|
+
this.state = 180;
|
|
411
411
|
this.errorHandler.sync(this);
|
|
412
412
|
switch (this.tokenStream.LA(1)) {
|
|
413
413
|
case GenericSqlParser.KW_SELECT:
|
|
414
414
|
this.enterOuterAlt(localContext, 1);
|
|
415
415
|
{
|
|
416
|
-
this.state =
|
|
416
|
+
this.state = 175;
|
|
417
417
|
this.querySpecification();
|
|
418
418
|
}
|
|
419
419
|
break;
|
|
420
420
|
case GenericSqlParser.T__1:
|
|
421
421
|
this.enterOuterAlt(localContext, 2);
|
|
422
422
|
{
|
|
423
|
-
this.state =
|
|
423
|
+
this.state = 176;
|
|
424
424
|
this.match(GenericSqlParser.T__1);
|
|
425
|
-
this.state =
|
|
425
|
+
this.state = 177;
|
|
426
426
|
this.queryStatement();
|
|
427
|
-
this.state =
|
|
427
|
+
this.state = 178;
|
|
428
428
|
this.match(GenericSqlParser.T__2);
|
|
429
429
|
}
|
|
430
430
|
break;
|
|
@@ -454,87 +454,87 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
454
454
|
try {
|
|
455
455
|
this.enterOuterAlt(localContext, 1);
|
|
456
456
|
{
|
|
457
|
-
this.state =
|
|
457
|
+
this.state = 182;
|
|
458
458
|
this.match(GenericSqlParser.KW_SELECT);
|
|
459
|
-
this.state =
|
|
459
|
+
this.state = 184;
|
|
460
460
|
this.errorHandler.sync(this);
|
|
461
461
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 9, this.context)) {
|
|
462
462
|
case 1:
|
|
463
463
|
{
|
|
464
|
-
this.state =
|
|
464
|
+
this.state = 183;
|
|
465
465
|
this.setQuantifier();
|
|
466
466
|
}
|
|
467
467
|
break;
|
|
468
468
|
}
|
|
469
|
-
this.state =
|
|
469
|
+
this.state = 186;
|
|
470
470
|
this.selectItem();
|
|
471
|
-
this.state =
|
|
471
|
+
this.state = 191;
|
|
472
472
|
this.errorHandler.sync(this);
|
|
473
473
|
_la = this.tokenStream.LA(1);
|
|
474
474
|
while (_la === 1) {
|
|
475
475
|
{
|
|
476
476
|
{
|
|
477
|
-
this.state =
|
|
477
|
+
this.state = 187;
|
|
478
478
|
this.match(GenericSqlParser.T__0);
|
|
479
|
-
this.state =
|
|
479
|
+
this.state = 188;
|
|
480
480
|
this.selectItem();
|
|
481
481
|
}
|
|
482
482
|
}
|
|
483
|
-
this.state =
|
|
483
|
+
this.state = 193;
|
|
484
484
|
this.errorHandler.sync(this);
|
|
485
485
|
_la = this.tokenStream.LA(1);
|
|
486
486
|
}
|
|
487
|
-
this.state =
|
|
487
|
+
this.state = 195;
|
|
488
488
|
this.errorHandler.sync(this);
|
|
489
489
|
_la = this.tokenStream.LA(1);
|
|
490
490
|
if (_la === 42) {
|
|
491
491
|
{
|
|
492
|
-
this.state =
|
|
492
|
+
this.state = 194;
|
|
493
493
|
this.fromClause();
|
|
494
494
|
}
|
|
495
495
|
}
|
|
496
|
-
this.state =
|
|
496
|
+
this.state = 198;
|
|
497
497
|
this.errorHandler.sync(this);
|
|
498
498
|
_la = this.tokenStream.LA(1);
|
|
499
499
|
if (_la === 93) {
|
|
500
500
|
{
|
|
501
|
-
this.state =
|
|
501
|
+
this.state = 197;
|
|
502
502
|
this.whereClause();
|
|
503
503
|
}
|
|
504
504
|
}
|
|
505
|
-
this.state =
|
|
505
|
+
this.state = 201;
|
|
506
506
|
this.errorHandler.sync(this);
|
|
507
507
|
_la = this.tokenStream.LA(1);
|
|
508
508
|
if (_la === 44) {
|
|
509
509
|
{
|
|
510
|
-
this.state =
|
|
510
|
+
this.state = 200;
|
|
511
511
|
this.groupByClause();
|
|
512
512
|
}
|
|
513
513
|
}
|
|
514
|
-
this.state =
|
|
514
|
+
this.state = 204;
|
|
515
515
|
this.errorHandler.sync(this);
|
|
516
516
|
_la = this.tokenStream.LA(1);
|
|
517
517
|
if (_la === 45) {
|
|
518
518
|
{
|
|
519
|
-
this.state =
|
|
519
|
+
this.state = 203;
|
|
520
520
|
this.havingClause();
|
|
521
521
|
}
|
|
522
522
|
}
|
|
523
|
-
this.state =
|
|
523
|
+
this.state = 207;
|
|
524
524
|
this.errorHandler.sync(this);
|
|
525
525
|
_la = this.tokenStream.LA(1);
|
|
526
526
|
if (_la === 69) {
|
|
527
527
|
{
|
|
528
|
-
this.state =
|
|
528
|
+
this.state = 206;
|
|
529
529
|
this.orderByClause();
|
|
530
530
|
}
|
|
531
531
|
}
|
|
532
|
-
this.state =
|
|
532
|
+
this.state = 210;
|
|
533
533
|
this.errorHandler.sync(this);
|
|
534
534
|
_la = this.tokenStream.LA(1);
|
|
535
535
|
if (_la === 60) {
|
|
536
536
|
{
|
|
537
|
-
this.state =
|
|
537
|
+
this.state = 209;
|
|
538
538
|
this.limitClause();
|
|
539
539
|
}
|
|
540
540
|
}
|
|
@@ -562,7 +562,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
562
562
|
try {
|
|
563
563
|
this.enterOuterAlt(localContext, 1);
|
|
564
564
|
{
|
|
565
|
-
this.state =
|
|
565
|
+
this.state = 212;
|
|
566
566
|
_la = this.tokenStream.LA(1);
|
|
567
567
|
if (!(_la === 6 || _la === 30)) {
|
|
568
568
|
this.errorHandler.recoverInline(this);
|
|
@@ -593,29 +593,30 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
593
593
|
this.enterRule(localContext, 24, GenericSqlParser.RULE_selectItem);
|
|
594
594
|
let _la;
|
|
595
595
|
try {
|
|
596
|
-
this.state =
|
|
596
|
+
this.state = 228;
|
|
597
597
|
this.errorHandler.sync(this);
|
|
598
598
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 19, this.context)) {
|
|
599
599
|
case 1:
|
|
600
|
+
localContext = new SelectExpressionElementContext(localContext);
|
|
600
601
|
this.enterOuterAlt(localContext, 1);
|
|
601
602
|
{
|
|
602
|
-
this.state =
|
|
603
|
+
this.state = 214;
|
|
603
604
|
this.expression();
|
|
604
|
-
this.state =
|
|
605
|
+
this.state = 219;
|
|
605
606
|
this.errorHandler.sync(this);
|
|
606
607
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 18, this.context)) {
|
|
607
608
|
case 1:
|
|
608
609
|
{
|
|
609
|
-
this.state =
|
|
610
|
+
this.state = 216;
|
|
610
611
|
this.errorHandler.sync(this);
|
|
611
612
|
_la = this.tokenStream.LA(1);
|
|
612
613
|
if (_la === 9) {
|
|
613
614
|
{
|
|
614
|
-
this.state =
|
|
615
|
+
this.state = 215;
|
|
615
616
|
this.match(GenericSqlParser.KW_AS);
|
|
616
617
|
}
|
|
617
618
|
}
|
|
618
|
-
this.state =
|
|
619
|
+
this.state = 218;
|
|
619
620
|
this.identifier();
|
|
620
621
|
}
|
|
621
622
|
break;
|
|
@@ -623,23 +624,37 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
623
624
|
}
|
|
624
625
|
break;
|
|
625
626
|
case 2:
|
|
627
|
+
localContext = new SelectStarElementContext(localContext);
|
|
626
628
|
this.enterOuterAlt(localContext, 2);
|
|
627
629
|
{
|
|
628
|
-
this.state =
|
|
630
|
+
this.state = 221;
|
|
629
631
|
this.qualifiedName();
|
|
630
|
-
this.state =
|
|
632
|
+
this.state = 222;
|
|
631
633
|
this.match(GenericSqlParser.T__3);
|
|
632
|
-
this.state =
|
|
634
|
+
this.state = 223;
|
|
633
635
|
this.match(GenericSqlParser.ASTERISK);
|
|
634
636
|
}
|
|
635
637
|
break;
|
|
636
638
|
case 3:
|
|
639
|
+
localContext = new SelectAllElementContext(localContext);
|
|
637
640
|
this.enterOuterAlt(localContext, 3);
|
|
638
641
|
{
|
|
639
|
-
this.state =
|
|
642
|
+
this.state = 225;
|
|
640
643
|
this.match(GenericSqlParser.ASTERISK);
|
|
641
644
|
}
|
|
642
645
|
break;
|
|
646
|
+
case 4:
|
|
647
|
+
localContext = new SelectEmptyElementContext(localContext);
|
|
648
|
+
this.enterOuterAlt(localContext, 4);
|
|
649
|
+
{
|
|
650
|
+
this.state = 226;
|
|
651
|
+
if (!(this.shouldMatchEmpty())) {
|
|
652
|
+
throw this.createFailedPredicateException("this.shouldMatchEmpty()");
|
|
653
|
+
}
|
|
654
|
+
this.state = 227;
|
|
655
|
+
this.emptyColumn();
|
|
656
|
+
}
|
|
657
|
+
break;
|
|
643
658
|
}
|
|
644
659
|
}
|
|
645
660
|
catch (re) {
|
|
@@ -664,23 +679,23 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
664
679
|
try {
|
|
665
680
|
this.enterOuterAlt(localContext, 1);
|
|
666
681
|
{
|
|
667
|
-
this.state =
|
|
682
|
+
this.state = 230;
|
|
668
683
|
this.match(GenericSqlParser.KW_FROM);
|
|
669
|
-
this.state =
|
|
684
|
+
this.state = 231;
|
|
670
685
|
this.relation(0);
|
|
671
|
-
this.state =
|
|
686
|
+
this.state = 236;
|
|
672
687
|
this.errorHandler.sync(this);
|
|
673
688
|
_la = this.tokenStream.LA(1);
|
|
674
689
|
while (_la === 1) {
|
|
675
690
|
{
|
|
676
691
|
{
|
|
677
|
-
this.state =
|
|
692
|
+
this.state = 232;
|
|
678
693
|
this.match(GenericSqlParser.T__0);
|
|
679
|
-
this.state =
|
|
694
|
+
this.state = 233;
|
|
680
695
|
this.relation(0);
|
|
681
696
|
}
|
|
682
697
|
}
|
|
683
|
-
this.state =
|
|
698
|
+
this.state = 238;
|
|
684
699
|
this.errorHandler.sync(this);
|
|
685
700
|
_la = this.tokenStream.LA(1);
|
|
686
701
|
}
|
|
@@ -719,11 +734,11 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
719
734
|
localContext = new SimpleRelationContext(localContext);
|
|
720
735
|
this.context = localContext;
|
|
721
736
|
previousContext = localContext;
|
|
722
|
-
this.state =
|
|
737
|
+
this.state = 240;
|
|
723
738
|
this.aliasedRelation();
|
|
724
739
|
}
|
|
725
740
|
this.context.stop = this.tokenStream.LT(-1);
|
|
726
|
-
this.state =
|
|
741
|
+
this.state = 251;
|
|
727
742
|
this.errorHandler.sync(this);
|
|
728
743
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 21, this.context);
|
|
729
744
|
while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
|
|
@@ -737,24 +752,24 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
737
752
|
localContext = new JoinRelationContext(new RelationContext(parentContext, parentState));
|
|
738
753
|
localContext._left = previousContext;
|
|
739
754
|
this.pushNewRecursionContext(localContext, _startState, GenericSqlParser.RULE_relation);
|
|
740
|
-
this.state =
|
|
755
|
+
this.state = 242;
|
|
741
756
|
if (!(this.precpred(this.context, 2))) {
|
|
742
757
|
throw this.createFailedPredicateException("this.precpred(this.context, 2)");
|
|
743
758
|
}
|
|
744
|
-
this.state =
|
|
759
|
+
this.state = 243;
|
|
745
760
|
this.joinType();
|
|
746
|
-
this.state =
|
|
761
|
+
this.state = 244;
|
|
747
762
|
this.match(GenericSqlParser.KW_JOIN);
|
|
748
|
-
this.state =
|
|
763
|
+
this.state = 245;
|
|
749
764
|
localContext._right = this.relation(0);
|
|
750
|
-
this.state =
|
|
765
|
+
this.state = 246;
|
|
751
766
|
this.match(GenericSqlParser.KW_ON);
|
|
752
|
-
this.state =
|
|
767
|
+
this.state = 247;
|
|
753
768
|
localContext._condition = this.expression();
|
|
754
769
|
}
|
|
755
770
|
}
|
|
756
771
|
}
|
|
757
|
-
this.state =
|
|
772
|
+
this.state = 253;
|
|
758
773
|
this.errorHandler.sync(this);
|
|
759
774
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 21, this.context);
|
|
760
775
|
}
|
|
@@ -780,19 +795,19 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
780
795
|
this.enterRule(localContext, 30, GenericSqlParser.RULE_joinType);
|
|
781
796
|
let _la;
|
|
782
797
|
try {
|
|
783
|
-
this.state =
|
|
798
|
+
this.state = 270;
|
|
784
799
|
this.errorHandler.sync(this);
|
|
785
800
|
switch (this.tokenStream.LA(1)) {
|
|
786
801
|
case GenericSqlParser.KW_INNER:
|
|
787
802
|
case GenericSqlParser.KW_JOIN:
|
|
788
803
|
this.enterOuterAlt(localContext, 1);
|
|
789
804
|
{
|
|
790
|
-
this.state =
|
|
805
|
+
this.state = 255;
|
|
791
806
|
this.errorHandler.sync(this);
|
|
792
807
|
_la = this.tokenStream.LA(1);
|
|
793
808
|
if (_la === 48) {
|
|
794
809
|
{
|
|
795
|
-
this.state =
|
|
810
|
+
this.state = 254;
|
|
796
811
|
this.match(GenericSqlParser.KW_INNER);
|
|
797
812
|
}
|
|
798
813
|
}
|
|
@@ -801,14 +816,14 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
801
816
|
case GenericSqlParser.KW_LEFT:
|
|
802
817
|
this.enterOuterAlt(localContext, 2);
|
|
803
818
|
{
|
|
804
|
-
this.state =
|
|
819
|
+
this.state = 257;
|
|
805
820
|
this.match(GenericSqlParser.KW_LEFT);
|
|
806
|
-
this.state =
|
|
821
|
+
this.state = 259;
|
|
807
822
|
this.errorHandler.sync(this);
|
|
808
823
|
_la = this.tokenStream.LA(1);
|
|
809
824
|
if (_la === 70) {
|
|
810
825
|
{
|
|
811
|
-
this.state =
|
|
826
|
+
this.state = 258;
|
|
812
827
|
this.match(GenericSqlParser.KW_OUTER);
|
|
813
828
|
}
|
|
814
829
|
}
|
|
@@ -817,14 +832,14 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
817
832
|
case GenericSqlParser.KW_RIGHT:
|
|
818
833
|
this.enterOuterAlt(localContext, 3);
|
|
819
834
|
{
|
|
820
|
-
this.state =
|
|
835
|
+
this.state = 261;
|
|
821
836
|
this.match(GenericSqlParser.KW_RIGHT);
|
|
822
|
-
this.state =
|
|
837
|
+
this.state = 263;
|
|
823
838
|
this.errorHandler.sync(this);
|
|
824
839
|
_la = this.tokenStream.LA(1);
|
|
825
840
|
if (_la === 70) {
|
|
826
841
|
{
|
|
827
|
-
this.state =
|
|
842
|
+
this.state = 262;
|
|
828
843
|
this.match(GenericSqlParser.KW_OUTER);
|
|
829
844
|
}
|
|
830
845
|
}
|
|
@@ -833,14 +848,14 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
833
848
|
case GenericSqlParser.KW_FULL:
|
|
834
849
|
this.enterOuterAlt(localContext, 4);
|
|
835
850
|
{
|
|
836
|
-
this.state =
|
|
851
|
+
this.state = 265;
|
|
837
852
|
this.match(GenericSqlParser.KW_FULL);
|
|
838
|
-
this.state =
|
|
853
|
+
this.state = 267;
|
|
839
854
|
this.errorHandler.sync(this);
|
|
840
855
|
_la = this.tokenStream.LA(1);
|
|
841
856
|
if (_la === 70) {
|
|
842
857
|
{
|
|
843
|
-
this.state =
|
|
858
|
+
this.state = 266;
|
|
844
859
|
this.match(GenericSqlParser.KW_OUTER);
|
|
845
860
|
}
|
|
846
861
|
}
|
|
@@ -849,7 +864,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
849
864
|
case GenericSqlParser.KW_CROSS:
|
|
850
865
|
this.enterOuterAlt(localContext, 5);
|
|
851
866
|
{
|
|
852
|
-
this.state =
|
|
867
|
+
this.state = 269;
|
|
853
868
|
this.match(GenericSqlParser.KW_CROSS);
|
|
854
869
|
}
|
|
855
870
|
break;
|
|
@@ -879,23 +894,23 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
879
894
|
try {
|
|
880
895
|
this.enterOuterAlt(localContext, 1);
|
|
881
896
|
{
|
|
882
|
-
this.state =
|
|
897
|
+
this.state = 272;
|
|
883
898
|
this.relationPrimary();
|
|
884
|
-
this.state =
|
|
899
|
+
this.state = 277;
|
|
885
900
|
this.errorHandler.sync(this);
|
|
886
901
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 28, this.context)) {
|
|
887
902
|
case 1:
|
|
888
903
|
{
|
|
889
|
-
this.state =
|
|
904
|
+
this.state = 274;
|
|
890
905
|
this.errorHandler.sync(this);
|
|
891
906
|
_la = this.tokenStream.LA(1);
|
|
892
907
|
if (_la === 9) {
|
|
893
908
|
{
|
|
894
|
-
this.state =
|
|
909
|
+
this.state = 273;
|
|
895
910
|
this.match(GenericSqlParser.KW_AS);
|
|
896
911
|
}
|
|
897
912
|
}
|
|
898
|
-
this.state =
|
|
913
|
+
this.state = 276;
|
|
899
914
|
this.identifier();
|
|
900
915
|
}
|
|
901
916
|
break;
|
|
@@ -921,7 +936,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
921
936
|
let localContext = new RelationPrimaryContext(this.context, this.state);
|
|
922
937
|
this.enterRule(localContext, 34, GenericSqlParser.RULE_relationPrimary);
|
|
923
938
|
try {
|
|
924
|
-
this.state =
|
|
939
|
+
this.state = 284;
|
|
925
940
|
this.errorHandler.sync(this);
|
|
926
941
|
switch (this.tokenStream.LA(1)) {
|
|
927
942
|
case GenericSqlParser.KW_ADD:
|
|
@@ -974,7 +989,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
974
989
|
localContext = new TableNameRelationContext(localContext);
|
|
975
990
|
this.enterOuterAlt(localContext, 1);
|
|
976
991
|
{
|
|
977
|
-
this.state =
|
|
992
|
+
this.state = 279;
|
|
978
993
|
this.tableName();
|
|
979
994
|
}
|
|
980
995
|
break;
|
|
@@ -982,11 +997,11 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
982
997
|
localContext = new SubqueryRelationContext(localContext);
|
|
983
998
|
this.enterOuterAlt(localContext, 2);
|
|
984
999
|
{
|
|
985
|
-
this.state =
|
|
1000
|
+
this.state = 280;
|
|
986
1001
|
this.match(GenericSqlParser.T__1);
|
|
987
|
-
this.state =
|
|
1002
|
+
this.state = 281;
|
|
988
1003
|
this.queryStatement();
|
|
989
|
-
this.state =
|
|
1004
|
+
this.state = 282;
|
|
990
1005
|
this.match(GenericSqlParser.T__2);
|
|
991
1006
|
}
|
|
992
1007
|
break;
|
|
@@ -1015,10 +1030,24 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1015
1030
|
try {
|
|
1016
1031
|
this.enterOuterAlt(localContext, 1);
|
|
1017
1032
|
{
|
|
1018
|
-
this.state =
|
|
1033
|
+
this.state = 286;
|
|
1019
1034
|
this.match(GenericSqlParser.KW_WHERE);
|
|
1020
|
-
this.state =
|
|
1021
|
-
this.
|
|
1035
|
+
this.state = 289;
|
|
1036
|
+
this.errorHandler.sync(this);
|
|
1037
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 30, this.context)) {
|
|
1038
|
+
case 1:
|
|
1039
|
+
{
|
|
1040
|
+
this.state = 287;
|
|
1041
|
+
this.expression();
|
|
1042
|
+
}
|
|
1043
|
+
break;
|
|
1044
|
+
case 2:
|
|
1045
|
+
{
|
|
1046
|
+
this.state = 288;
|
|
1047
|
+
this.emptyColumn();
|
|
1048
|
+
}
|
|
1049
|
+
break;
|
|
1050
|
+
}
|
|
1022
1051
|
}
|
|
1023
1052
|
}
|
|
1024
1053
|
catch (re) {
|
|
@@ -1043,35 +1072,35 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1043
1072
|
try {
|
|
1044
1073
|
this.enterOuterAlt(localContext, 1);
|
|
1045
1074
|
{
|
|
1046
|
-
this.state =
|
|
1075
|
+
this.state = 291;
|
|
1047
1076
|
this.match(GenericSqlParser.KW_GROUP);
|
|
1048
|
-
this.state =
|
|
1077
|
+
this.state = 292;
|
|
1049
1078
|
this.match(GenericSqlParser.KW_BY);
|
|
1050
|
-
this.state =
|
|
1079
|
+
this.state = 294;
|
|
1051
1080
|
this.errorHandler.sync(this);
|
|
1052
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
1081
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 31, this.context)) {
|
|
1053
1082
|
case 1:
|
|
1054
1083
|
{
|
|
1055
|
-
this.state =
|
|
1084
|
+
this.state = 293;
|
|
1056
1085
|
this.setQuantifier();
|
|
1057
1086
|
}
|
|
1058
1087
|
break;
|
|
1059
1088
|
}
|
|
1060
|
-
this.state =
|
|
1089
|
+
this.state = 296;
|
|
1061
1090
|
this.expression();
|
|
1062
|
-
this.state =
|
|
1091
|
+
this.state = 301;
|
|
1063
1092
|
this.errorHandler.sync(this);
|
|
1064
1093
|
_la = this.tokenStream.LA(1);
|
|
1065
1094
|
while (_la === 1) {
|
|
1066
1095
|
{
|
|
1067
1096
|
{
|
|
1068
|
-
this.state =
|
|
1097
|
+
this.state = 297;
|
|
1069
1098
|
this.match(GenericSqlParser.T__0);
|
|
1070
|
-
this.state =
|
|
1099
|
+
this.state = 298;
|
|
1071
1100
|
this.expression();
|
|
1072
1101
|
}
|
|
1073
1102
|
}
|
|
1074
|
-
this.state =
|
|
1103
|
+
this.state = 303;
|
|
1075
1104
|
this.errorHandler.sync(this);
|
|
1076
1105
|
_la = this.tokenStream.LA(1);
|
|
1077
1106
|
}
|
|
@@ -1098,10 +1127,24 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1098
1127
|
try {
|
|
1099
1128
|
this.enterOuterAlt(localContext, 1);
|
|
1100
1129
|
{
|
|
1101
|
-
this.state =
|
|
1130
|
+
this.state = 304;
|
|
1102
1131
|
this.match(GenericSqlParser.KW_HAVING);
|
|
1103
|
-
this.state =
|
|
1104
|
-
this.
|
|
1132
|
+
this.state = 307;
|
|
1133
|
+
this.errorHandler.sync(this);
|
|
1134
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 33, this.context)) {
|
|
1135
|
+
case 1:
|
|
1136
|
+
{
|
|
1137
|
+
this.state = 305;
|
|
1138
|
+
this.expression();
|
|
1139
|
+
}
|
|
1140
|
+
break;
|
|
1141
|
+
case 2:
|
|
1142
|
+
{
|
|
1143
|
+
this.state = 306;
|
|
1144
|
+
this.emptyColumn();
|
|
1145
|
+
}
|
|
1146
|
+
break;
|
|
1147
|
+
}
|
|
1105
1148
|
}
|
|
1106
1149
|
}
|
|
1107
1150
|
catch (re) {
|
|
@@ -1126,25 +1169,25 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1126
1169
|
try {
|
|
1127
1170
|
this.enterOuterAlt(localContext, 1);
|
|
1128
1171
|
{
|
|
1129
|
-
this.state =
|
|
1172
|
+
this.state = 309;
|
|
1130
1173
|
this.match(GenericSqlParser.KW_ORDER);
|
|
1131
|
-
this.state =
|
|
1174
|
+
this.state = 310;
|
|
1132
1175
|
this.match(GenericSqlParser.KW_BY);
|
|
1133
|
-
this.state =
|
|
1176
|
+
this.state = 311;
|
|
1134
1177
|
this.sortItem();
|
|
1135
|
-
this.state =
|
|
1178
|
+
this.state = 316;
|
|
1136
1179
|
this.errorHandler.sync(this);
|
|
1137
1180
|
_la = this.tokenStream.LA(1);
|
|
1138
1181
|
while (_la === 1) {
|
|
1139
1182
|
{
|
|
1140
1183
|
{
|
|
1141
|
-
this.state =
|
|
1184
|
+
this.state = 312;
|
|
1142
1185
|
this.match(GenericSqlParser.T__0);
|
|
1143
|
-
this.state =
|
|
1186
|
+
this.state = 313;
|
|
1144
1187
|
this.sortItem();
|
|
1145
1188
|
}
|
|
1146
1189
|
}
|
|
1147
|
-
this.state =
|
|
1190
|
+
this.state = 318;
|
|
1148
1191
|
this.errorHandler.sync(this);
|
|
1149
1192
|
_la = this.tokenStream.LA(1);
|
|
1150
1193
|
}
|
|
@@ -1172,14 +1215,14 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1172
1215
|
try {
|
|
1173
1216
|
this.enterOuterAlt(localContext, 1);
|
|
1174
1217
|
{
|
|
1175
|
-
this.state =
|
|
1218
|
+
this.state = 319;
|
|
1176
1219
|
this.expression();
|
|
1177
|
-
this.state =
|
|
1220
|
+
this.state = 321;
|
|
1178
1221
|
this.errorHandler.sync(this);
|
|
1179
1222
|
_la = this.tokenStream.LA(1);
|
|
1180
1223
|
if (_la === 10 || _la === 29) {
|
|
1181
1224
|
{
|
|
1182
|
-
this.state =
|
|
1225
|
+
this.state = 320;
|
|
1183
1226
|
localContext._ordering = this.tokenStream.LT(1);
|
|
1184
1227
|
_la = this.tokenStream.LA(1);
|
|
1185
1228
|
if (!(_la === 10 || _la === 29)) {
|
|
@@ -1191,14 +1234,14 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1191
1234
|
}
|
|
1192
1235
|
}
|
|
1193
1236
|
}
|
|
1194
|
-
this.state =
|
|
1237
|
+
this.state = 325;
|
|
1195
1238
|
this.errorHandler.sync(this);
|
|
1196
1239
|
_la = this.tokenStream.LA(1);
|
|
1197
1240
|
if (_la === 64) {
|
|
1198
1241
|
{
|
|
1199
|
-
this.state =
|
|
1242
|
+
this.state = 323;
|
|
1200
1243
|
this.match(GenericSqlParser.KW_NULLS);
|
|
1201
|
-
this.state =
|
|
1244
|
+
this.state = 324;
|
|
1202
1245
|
localContext._nullOrdering = this.tokenStream.LT(1);
|
|
1203
1246
|
_la = this.tokenStream.LA(1);
|
|
1204
1247
|
if (!(_la === 39 || _la === 57)) {
|
|
@@ -1234,18 +1277,18 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1234
1277
|
try {
|
|
1235
1278
|
this.enterOuterAlt(localContext, 1);
|
|
1236
1279
|
{
|
|
1237
|
-
this.state =
|
|
1280
|
+
this.state = 327;
|
|
1238
1281
|
this.match(GenericSqlParser.KW_LIMIT);
|
|
1239
|
-
this.state =
|
|
1282
|
+
this.state = 328;
|
|
1240
1283
|
localContext._limit = this.expression();
|
|
1241
|
-
this.state =
|
|
1284
|
+
this.state = 331;
|
|
1242
1285
|
this.errorHandler.sync(this);
|
|
1243
1286
|
_la = this.tokenStream.LA(1);
|
|
1244
1287
|
if (_la === 66) {
|
|
1245
1288
|
{
|
|
1246
|
-
this.state =
|
|
1289
|
+
this.state = 329;
|
|
1247
1290
|
this.match(GenericSqlParser.KW_OFFSET);
|
|
1248
|
-
this.state =
|
|
1291
|
+
this.state = 330;
|
|
1249
1292
|
localContext._offset = this.expression();
|
|
1250
1293
|
}
|
|
1251
1294
|
}
|
|
@@ -1272,23 +1315,23 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1272
1315
|
try {
|
|
1273
1316
|
this.enterOuterAlt(localContext, 1);
|
|
1274
1317
|
{
|
|
1275
|
-
this.state =
|
|
1318
|
+
this.state = 333;
|
|
1276
1319
|
this.match(GenericSqlParser.KW_INSERT);
|
|
1277
|
-
this.state =
|
|
1320
|
+
this.state = 334;
|
|
1278
1321
|
this.match(GenericSqlParser.KW_INTO);
|
|
1279
|
-
this.state =
|
|
1322
|
+
this.state = 335;
|
|
1280
1323
|
this.tableName();
|
|
1281
|
-
this.state =
|
|
1324
|
+
this.state = 337;
|
|
1282
1325
|
this.errorHandler.sync(this);
|
|
1283
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
1326
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 38, this.context)) {
|
|
1284
1327
|
case 1:
|
|
1285
1328
|
{
|
|
1286
|
-
this.state =
|
|
1329
|
+
this.state = 336;
|
|
1287
1330
|
this.columnList();
|
|
1288
1331
|
}
|
|
1289
1332
|
break;
|
|
1290
1333
|
}
|
|
1291
|
-
this.state =
|
|
1334
|
+
this.state = 339;
|
|
1292
1335
|
this.queryStatement();
|
|
1293
1336
|
}
|
|
1294
1337
|
}
|
|
@@ -1314,27 +1357,27 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1314
1357
|
try {
|
|
1315
1358
|
this.enterOuterAlt(localContext, 1);
|
|
1316
1359
|
{
|
|
1317
|
-
this.state =
|
|
1360
|
+
this.state = 341;
|
|
1318
1361
|
this.match(GenericSqlParser.T__1);
|
|
1319
|
-
this.state =
|
|
1362
|
+
this.state = 342;
|
|
1320
1363
|
this.columnRef();
|
|
1321
|
-
this.state =
|
|
1364
|
+
this.state = 347;
|
|
1322
1365
|
this.errorHandler.sync(this);
|
|
1323
1366
|
_la = this.tokenStream.LA(1);
|
|
1324
1367
|
while (_la === 1) {
|
|
1325
1368
|
{
|
|
1326
1369
|
{
|
|
1327
|
-
this.state =
|
|
1370
|
+
this.state = 343;
|
|
1328
1371
|
this.match(GenericSqlParser.T__0);
|
|
1329
|
-
this.state =
|
|
1372
|
+
this.state = 344;
|
|
1330
1373
|
this.columnRef();
|
|
1331
1374
|
}
|
|
1332
1375
|
}
|
|
1333
|
-
this.state =
|
|
1376
|
+
this.state = 349;
|
|
1334
1377
|
this.errorHandler.sync(this);
|
|
1335
1378
|
_la = this.tokenStream.LA(1);
|
|
1336
1379
|
}
|
|
1337
|
-
this.state =
|
|
1380
|
+
this.state = 350;
|
|
1338
1381
|
this.match(GenericSqlParser.T__2);
|
|
1339
1382
|
}
|
|
1340
1383
|
}
|
|
@@ -1360,36 +1403,36 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1360
1403
|
try {
|
|
1361
1404
|
this.enterOuterAlt(localContext, 1);
|
|
1362
1405
|
{
|
|
1363
|
-
this.state =
|
|
1406
|
+
this.state = 352;
|
|
1364
1407
|
this.match(GenericSqlParser.KW_UPDATE);
|
|
1365
|
-
this.state =
|
|
1408
|
+
this.state = 353;
|
|
1366
1409
|
this.tableName();
|
|
1367
|
-
this.state =
|
|
1410
|
+
this.state = 354;
|
|
1368
1411
|
this.match(GenericSqlParser.KW_SET);
|
|
1369
|
-
this.state =
|
|
1412
|
+
this.state = 355;
|
|
1370
1413
|
this.updateAssignment();
|
|
1371
|
-
this.state =
|
|
1414
|
+
this.state = 360;
|
|
1372
1415
|
this.errorHandler.sync(this);
|
|
1373
1416
|
_la = this.tokenStream.LA(1);
|
|
1374
1417
|
while (_la === 1) {
|
|
1375
1418
|
{
|
|
1376
1419
|
{
|
|
1377
|
-
this.state =
|
|
1420
|
+
this.state = 356;
|
|
1378
1421
|
this.match(GenericSqlParser.T__0);
|
|
1379
|
-
this.state =
|
|
1422
|
+
this.state = 357;
|
|
1380
1423
|
this.updateAssignment();
|
|
1381
1424
|
}
|
|
1382
1425
|
}
|
|
1383
|
-
this.state =
|
|
1426
|
+
this.state = 362;
|
|
1384
1427
|
this.errorHandler.sync(this);
|
|
1385
1428
|
_la = this.tokenStream.LA(1);
|
|
1386
1429
|
}
|
|
1387
|
-
this.state =
|
|
1430
|
+
this.state = 364;
|
|
1388
1431
|
this.errorHandler.sync(this);
|
|
1389
1432
|
_la = this.tokenStream.LA(1);
|
|
1390
1433
|
if (_la === 93) {
|
|
1391
1434
|
{
|
|
1392
|
-
this.state =
|
|
1435
|
+
this.state = 363;
|
|
1393
1436
|
this.whereClause();
|
|
1394
1437
|
}
|
|
1395
1438
|
}
|
|
@@ -1416,11 +1459,11 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1416
1459
|
try {
|
|
1417
1460
|
this.enterOuterAlt(localContext, 1);
|
|
1418
1461
|
{
|
|
1419
|
-
this.state =
|
|
1462
|
+
this.state = 366;
|
|
1420
1463
|
this.columnRef();
|
|
1421
|
-
this.state =
|
|
1464
|
+
this.state = 367;
|
|
1422
1465
|
this.match(GenericSqlParser.EQ);
|
|
1423
|
-
this.state =
|
|
1466
|
+
this.state = 368;
|
|
1424
1467
|
this.expression();
|
|
1425
1468
|
}
|
|
1426
1469
|
}
|
|
@@ -1446,18 +1489,18 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1446
1489
|
try {
|
|
1447
1490
|
this.enterOuterAlt(localContext, 1);
|
|
1448
1491
|
{
|
|
1449
|
-
this.state =
|
|
1492
|
+
this.state = 370;
|
|
1450
1493
|
this.match(GenericSqlParser.KW_DELETE);
|
|
1451
|
-
this.state =
|
|
1494
|
+
this.state = 371;
|
|
1452
1495
|
this.match(GenericSqlParser.KW_FROM);
|
|
1453
|
-
this.state =
|
|
1496
|
+
this.state = 372;
|
|
1454
1497
|
this.tableName();
|
|
1455
|
-
this.state =
|
|
1498
|
+
this.state = 374;
|
|
1456
1499
|
this.errorHandler.sync(this);
|
|
1457
1500
|
_la = this.tokenStream.LA(1);
|
|
1458
1501
|
if (_la === 93) {
|
|
1459
1502
|
{
|
|
1460
|
-
this.state =
|
|
1503
|
+
this.state = 373;
|
|
1461
1504
|
this.whereClause();
|
|
1462
1505
|
}
|
|
1463
1506
|
}
|
|
@@ -1485,56 +1528,56 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1485
1528
|
try {
|
|
1486
1529
|
this.enterOuterAlt(localContext, 1);
|
|
1487
1530
|
{
|
|
1488
|
-
this.state =
|
|
1531
|
+
this.state = 376;
|
|
1489
1532
|
this.match(GenericSqlParser.KW_CREATE);
|
|
1490
|
-
this.state =
|
|
1533
|
+
this.state = 377;
|
|
1491
1534
|
this.match(GenericSqlParser.KW_TABLE);
|
|
1492
|
-
this.state =
|
|
1535
|
+
this.state = 381;
|
|
1493
1536
|
this.errorHandler.sync(this);
|
|
1494
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
1537
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 43, this.context)) {
|
|
1495
1538
|
case 1:
|
|
1496
1539
|
{
|
|
1497
|
-
this.state =
|
|
1540
|
+
this.state = 378;
|
|
1498
1541
|
this.match(GenericSqlParser.KW_IF);
|
|
1499
|
-
this.state =
|
|
1542
|
+
this.state = 379;
|
|
1500
1543
|
this.match(GenericSqlParser.KW_NOT);
|
|
1501
|
-
this.state =
|
|
1544
|
+
this.state = 380;
|
|
1502
1545
|
this.match(GenericSqlParser.KW_EXISTS);
|
|
1503
1546
|
}
|
|
1504
1547
|
break;
|
|
1505
1548
|
}
|
|
1506
|
-
this.state =
|
|
1549
|
+
this.state = 383;
|
|
1507
1550
|
this.tableNameCreate();
|
|
1508
|
-
this.state =
|
|
1551
|
+
this.state = 384;
|
|
1509
1552
|
this.match(GenericSqlParser.T__1);
|
|
1510
|
-
this.state =
|
|
1553
|
+
this.state = 385;
|
|
1511
1554
|
this.tableElement();
|
|
1512
|
-
this.state =
|
|
1555
|
+
this.state = 390;
|
|
1513
1556
|
this.errorHandler.sync(this);
|
|
1514
1557
|
_la = this.tokenStream.LA(1);
|
|
1515
1558
|
while (_la === 1) {
|
|
1516
1559
|
{
|
|
1517
1560
|
{
|
|
1518
|
-
this.state =
|
|
1561
|
+
this.state = 386;
|
|
1519
1562
|
this.match(GenericSqlParser.T__0);
|
|
1520
|
-
this.state =
|
|
1563
|
+
this.state = 387;
|
|
1521
1564
|
this.tableElement();
|
|
1522
1565
|
}
|
|
1523
1566
|
}
|
|
1524
|
-
this.state =
|
|
1567
|
+
this.state = 392;
|
|
1525
1568
|
this.errorHandler.sync(this);
|
|
1526
1569
|
_la = this.tokenStream.LA(1);
|
|
1527
1570
|
}
|
|
1528
|
-
this.state =
|
|
1571
|
+
this.state = 393;
|
|
1529
1572
|
this.match(GenericSqlParser.T__2);
|
|
1530
|
-
this.state =
|
|
1573
|
+
this.state = 396;
|
|
1531
1574
|
this.errorHandler.sync(this);
|
|
1532
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
1575
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 45, this.context)) {
|
|
1533
1576
|
case 1:
|
|
1534
1577
|
{
|
|
1535
|
-
this.state =
|
|
1578
|
+
this.state = 394;
|
|
1536
1579
|
this.match(GenericSqlParser.KW_WITH);
|
|
1537
|
-
this.state =
|
|
1580
|
+
this.state = 395;
|
|
1538
1581
|
this.properties();
|
|
1539
1582
|
}
|
|
1540
1583
|
break;
|
|
@@ -1560,20 +1603,20 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1560
1603
|
let localContext = new TableElementContext(this.context, this.state);
|
|
1561
1604
|
this.enterRule(localContext, 60, GenericSqlParser.RULE_tableElement);
|
|
1562
1605
|
try {
|
|
1563
|
-
this.state =
|
|
1606
|
+
this.state = 400;
|
|
1564
1607
|
this.errorHandler.sync(this);
|
|
1565
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
1608
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 46, this.context)) {
|
|
1566
1609
|
case 1:
|
|
1567
1610
|
this.enterOuterAlt(localContext, 1);
|
|
1568
1611
|
{
|
|
1569
|
-
this.state =
|
|
1612
|
+
this.state = 398;
|
|
1570
1613
|
this.columnDefinition();
|
|
1571
1614
|
}
|
|
1572
1615
|
break;
|
|
1573
1616
|
case 2:
|
|
1574
1617
|
this.enterOuterAlt(localContext, 2);
|
|
1575
1618
|
{
|
|
1576
|
-
this.state =
|
|
1619
|
+
this.state = 399;
|
|
1577
1620
|
this.tableConstraint();
|
|
1578
1621
|
}
|
|
1579
1622
|
break;
|
|
@@ -1601,40 +1644,40 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1601
1644
|
try {
|
|
1602
1645
|
this.enterOuterAlt(localContext, 1);
|
|
1603
1646
|
{
|
|
1604
|
-
this.state =
|
|
1605
|
-
this.
|
|
1606
|
-
this.state =
|
|
1607
|
-
this.dataType();
|
|
1608
|
-
this.state =
|
|
1647
|
+
this.state = 402;
|
|
1648
|
+
this.columnRefCreate();
|
|
1649
|
+
this.state = 403;
|
|
1650
|
+
localContext._colType = this.dataType();
|
|
1651
|
+
this.state = 406;
|
|
1609
1652
|
this.errorHandler.sync(this);
|
|
1610
1653
|
_la = this.tokenStream.LA(1);
|
|
1611
1654
|
if (_la === 61) {
|
|
1612
1655
|
{
|
|
1613
|
-
this.state =
|
|
1656
|
+
this.state = 404;
|
|
1614
1657
|
this.match(GenericSqlParser.KW_NOT);
|
|
1615
|
-
this.state =
|
|
1658
|
+
this.state = 405;
|
|
1616
1659
|
this.match(GenericSqlParser.KW_NULL);
|
|
1617
1660
|
}
|
|
1618
1661
|
}
|
|
1619
|
-
this.state =
|
|
1662
|
+
this.state = 410;
|
|
1620
1663
|
this.errorHandler.sync(this);
|
|
1621
1664
|
_la = this.tokenStream.LA(1);
|
|
1622
1665
|
if (_la === 27) {
|
|
1623
1666
|
{
|
|
1624
|
-
this.state =
|
|
1667
|
+
this.state = 408;
|
|
1625
1668
|
this.match(GenericSqlParser.KW_DEFAULT);
|
|
1626
|
-
this.state =
|
|
1669
|
+
this.state = 409;
|
|
1627
1670
|
this.expression();
|
|
1628
1671
|
}
|
|
1629
1672
|
}
|
|
1630
|
-
this.state =
|
|
1673
|
+
this.state = 414;
|
|
1631
1674
|
this.errorHandler.sync(this);
|
|
1632
1675
|
_la = this.tokenStream.LA(1);
|
|
1633
1676
|
if (_la === 71) {
|
|
1634
1677
|
{
|
|
1635
|
-
this.state =
|
|
1678
|
+
this.state = 412;
|
|
1636
1679
|
this.match(GenericSqlParser.KW_PRIMARY);
|
|
1637
|
-
this.state =
|
|
1680
|
+
this.state = 413;
|
|
1638
1681
|
this.match(GenericSqlParser.KW_KEY);
|
|
1639
1682
|
}
|
|
1640
1683
|
}
|
|
@@ -1655,150 +1698,175 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1655
1698
|
}
|
|
1656
1699
|
return localContext;
|
|
1657
1700
|
}
|
|
1701
|
+
columnRefCreate() {
|
|
1702
|
+
let localContext = new ColumnRefCreateContext(this.context, this.state);
|
|
1703
|
+
this.enterRule(localContext, 64, GenericSqlParser.RULE_columnRefCreate);
|
|
1704
|
+
try {
|
|
1705
|
+
this.enterOuterAlt(localContext, 1);
|
|
1706
|
+
{
|
|
1707
|
+
this.state = 416;
|
|
1708
|
+
this.identifier();
|
|
1709
|
+
}
|
|
1710
|
+
}
|
|
1711
|
+
catch (re) {
|
|
1712
|
+
if (re instanceof antlr.RecognitionException) {
|
|
1713
|
+
localContext.exception = re;
|
|
1714
|
+
this.errorHandler.reportError(this, re);
|
|
1715
|
+
this.errorHandler.recover(this, re);
|
|
1716
|
+
}
|
|
1717
|
+
else {
|
|
1718
|
+
throw re;
|
|
1719
|
+
}
|
|
1720
|
+
}
|
|
1721
|
+
finally {
|
|
1722
|
+
this.exitRule();
|
|
1723
|
+
}
|
|
1724
|
+
return localContext;
|
|
1725
|
+
}
|
|
1658
1726
|
tableConstraint() {
|
|
1659
1727
|
let localContext = new TableConstraintContext(this.context, this.state);
|
|
1660
|
-
this.enterRule(localContext,
|
|
1728
|
+
this.enterRule(localContext, 66, GenericSqlParser.RULE_tableConstraint);
|
|
1661
1729
|
let _la;
|
|
1662
1730
|
try {
|
|
1663
1731
|
this.enterOuterAlt(localContext, 1);
|
|
1664
1732
|
{
|
|
1665
|
-
this.state =
|
|
1733
|
+
this.state = 420;
|
|
1666
1734
|
this.errorHandler.sync(this);
|
|
1667
1735
|
_la = this.tokenStream.LA(1);
|
|
1668
1736
|
if (_la === 22) {
|
|
1669
1737
|
{
|
|
1670
|
-
this.state =
|
|
1738
|
+
this.state = 418;
|
|
1671
1739
|
this.match(GenericSqlParser.KW_CONSTRAINT);
|
|
1672
|
-
this.state =
|
|
1740
|
+
this.state = 419;
|
|
1673
1741
|
this.identifier();
|
|
1674
1742
|
}
|
|
1675
1743
|
}
|
|
1676
|
-
this.state =
|
|
1744
|
+
this.state = 477;
|
|
1677
1745
|
this.errorHandler.sync(this);
|
|
1678
1746
|
switch (this.tokenStream.LA(1)) {
|
|
1679
1747
|
case GenericSqlParser.KW_PRIMARY:
|
|
1680
1748
|
{
|
|
1681
|
-
this.state =
|
|
1749
|
+
this.state = 422;
|
|
1682
1750
|
this.match(GenericSqlParser.KW_PRIMARY);
|
|
1683
|
-
this.state =
|
|
1751
|
+
this.state = 423;
|
|
1684
1752
|
this.match(GenericSqlParser.KW_KEY);
|
|
1685
|
-
this.state =
|
|
1753
|
+
this.state = 424;
|
|
1686
1754
|
this.match(GenericSqlParser.T__1);
|
|
1687
|
-
this.state =
|
|
1755
|
+
this.state = 425;
|
|
1688
1756
|
this.columnRef();
|
|
1689
|
-
this.state =
|
|
1757
|
+
this.state = 430;
|
|
1690
1758
|
this.errorHandler.sync(this);
|
|
1691
1759
|
_la = this.tokenStream.LA(1);
|
|
1692
1760
|
while (_la === 1) {
|
|
1693
1761
|
{
|
|
1694
1762
|
{
|
|
1695
|
-
this.state =
|
|
1763
|
+
this.state = 426;
|
|
1696
1764
|
this.match(GenericSqlParser.T__0);
|
|
1697
|
-
this.state =
|
|
1765
|
+
this.state = 427;
|
|
1698
1766
|
this.columnRef();
|
|
1699
1767
|
}
|
|
1700
1768
|
}
|
|
1701
|
-
this.state =
|
|
1769
|
+
this.state = 432;
|
|
1702
1770
|
this.errorHandler.sync(this);
|
|
1703
1771
|
_la = this.tokenStream.LA(1);
|
|
1704
1772
|
}
|
|
1705
|
-
this.state =
|
|
1773
|
+
this.state = 433;
|
|
1706
1774
|
this.match(GenericSqlParser.T__2);
|
|
1707
1775
|
}
|
|
1708
1776
|
break;
|
|
1709
1777
|
case GenericSqlParser.KW_UNIQUE:
|
|
1710
1778
|
{
|
|
1711
|
-
this.state =
|
|
1779
|
+
this.state = 435;
|
|
1712
1780
|
this.match(GenericSqlParser.KW_UNIQUE);
|
|
1713
|
-
this.state =
|
|
1781
|
+
this.state = 436;
|
|
1714
1782
|
this.match(GenericSqlParser.T__1);
|
|
1715
|
-
this.state =
|
|
1783
|
+
this.state = 437;
|
|
1716
1784
|
this.columnRef();
|
|
1717
|
-
this.state =
|
|
1785
|
+
this.state = 442;
|
|
1718
1786
|
this.errorHandler.sync(this);
|
|
1719
1787
|
_la = this.tokenStream.LA(1);
|
|
1720
1788
|
while (_la === 1) {
|
|
1721
1789
|
{
|
|
1722
1790
|
{
|
|
1723
|
-
this.state =
|
|
1791
|
+
this.state = 438;
|
|
1724
1792
|
this.match(GenericSqlParser.T__0);
|
|
1725
|
-
this.state =
|
|
1793
|
+
this.state = 439;
|
|
1726
1794
|
this.columnRef();
|
|
1727
1795
|
}
|
|
1728
1796
|
}
|
|
1729
|
-
this.state =
|
|
1797
|
+
this.state = 444;
|
|
1730
1798
|
this.errorHandler.sync(this);
|
|
1731
1799
|
_la = this.tokenStream.LA(1);
|
|
1732
1800
|
}
|
|
1733
|
-
this.state =
|
|
1801
|
+
this.state = 445;
|
|
1734
1802
|
this.match(GenericSqlParser.T__2);
|
|
1735
1803
|
}
|
|
1736
1804
|
break;
|
|
1737
1805
|
case GenericSqlParser.KW_CHECK:
|
|
1738
1806
|
{
|
|
1739
|
-
this.state =
|
|
1807
|
+
this.state = 447;
|
|
1740
1808
|
this.match(GenericSqlParser.KW_CHECK);
|
|
1741
|
-
this.state =
|
|
1809
|
+
this.state = 448;
|
|
1742
1810
|
this.match(GenericSqlParser.T__1);
|
|
1743
|
-
this.state =
|
|
1811
|
+
this.state = 449;
|
|
1744
1812
|
this.expression();
|
|
1745
|
-
this.state =
|
|
1813
|
+
this.state = 450;
|
|
1746
1814
|
this.match(GenericSqlParser.T__2);
|
|
1747
1815
|
}
|
|
1748
1816
|
break;
|
|
1749
1817
|
case GenericSqlParser.KW_FOREIGN:
|
|
1750
1818
|
{
|
|
1751
|
-
this.state =
|
|
1819
|
+
this.state = 452;
|
|
1752
1820
|
this.match(GenericSqlParser.KW_FOREIGN);
|
|
1753
|
-
this.state =
|
|
1821
|
+
this.state = 453;
|
|
1754
1822
|
this.match(GenericSqlParser.KW_KEY);
|
|
1755
|
-
this.state =
|
|
1823
|
+
this.state = 454;
|
|
1756
1824
|
this.match(GenericSqlParser.T__1);
|
|
1757
|
-
this.state =
|
|
1825
|
+
this.state = 455;
|
|
1758
1826
|
this.columnRef();
|
|
1759
|
-
this.state =
|
|
1827
|
+
this.state = 460;
|
|
1760
1828
|
this.errorHandler.sync(this);
|
|
1761
1829
|
_la = this.tokenStream.LA(1);
|
|
1762
1830
|
while (_la === 1) {
|
|
1763
1831
|
{
|
|
1764
1832
|
{
|
|
1765
|
-
this.state =
|
|
1833
|
+
this.state = 456;
|
|
1766
1834
|
this.match(GenericSqlParser.T__0);
|
|
1767
|
-
this.state =
|
|
1835
|
+
this.state = 457;
|
|
1768
1836
|
this.columnRef();
|
|
1769
1837
|
}
|
|
1770
1838
|
}
|
|
1771
|
-
this.state =
|
|
1839
|
+
this.state = 462;
|
|
1772
1840
|
this.errorHandler.sync(this);
|
|
1773
1841
|
_la = this.tokenStream.LA(1);
|
|
1774
1842
|
}
|
|
1775
|
-
this.state =
|
|
1843
|
+
this.state = 463;
|
|
1776
1844
|
this.match(GenericSqlParser.T__2);
|
|
1777
|
-
this.state =
|
|
1845
|
+
this.state = 464;
|
|
1778
1846
|
this.match(GenericSqlParser.KW_REFERENCES);
|
|
1779
|
-
this.state =
|
|
1847
|
+
this.state = 465;
|
|
1780
1848
|
this.tableName();
|
|
1781
|
-
this.state =
|
|
1849
|
+
this.state = 466;
|
|
1782
1850
|
this.match(GenericSqlParser.T__1);
|
|
1783
|
-
this.state =
|
|
1851
|
+
this.state = 467;
|
|
1784
1852
|
this.columnRef();
|
|
1785
|
-
this.state =
|
|
1853
|
+
this.state = 472;
|
|
1786
1854
|
this.errorHandler.sync(this);
|
|
1787
1855
|
_la = this.tokenStream.LA(1);
|
|
1788
1856
|
while (_la === 1) {
|
|
1789
1857
|
{
|
|
1790
1858
|
{
|
|
1791
|
-
this.state =
|
|
1859
|
+
this.state = 468;
|
|
1792
1860
|
this.match(GenericSqlParser.T__0);
|
|
1793
|
-
this.state =
|
|
1861
|
+
this.state = 469;
|
|
1794
1862
|
this.columnRef();
|
|
1795
1863
|
}
|
|
1796
1864
|
}
|
|
1797
|
-
this.state =
|
|
1865
|
+
this.state = 474;
|
|
1798
1866
|
this.errorHandler.sync(this);
|
|
1799
1867
|
_la = this.tokenStream.LA(1);
|
|
1800
1868
|
}
|
|
1801
|
-
this.state =
|
|
1869
|
+
this.state = 475;
|
|
1802
1870
|
this.match(GenericSqlParser.T__2);
|
|
1803
1871
|
}
|
|
1804
1872
|
break;
|
|
@@ -1824,114 +1892,114 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1824
1892
|
}
|
|
1825
1893
|
alterTableStatement() {
|
|
1826
1894
|
let localContext = new AlterTableStatementContext(this.context, this.state);
|
|
1827
|
-
this.enterRule(localContext,
|
|
1895
|
+
this.enterRule(localContext, 68, GenericSqlParser.RULE_alterTableStatement);
|
|
1828
1896
|
try {
|
|
1829
1897
|
this.enterOuterAlt(localContext, 1);
|
|
1830
1898
|
{
|
|
1831
|
-
this.state =
|
|
1899
|
+
this.state = 479;
|
|
1832
1900
|
this.match(GenericSqlParser.KW_ALTER);
|
|
1833
|
-
this.state =
|
|
1901
|
+
this.state = 480;
|
|
1834
1902
|
this.match(GenericSqlParser.KW_TABLE);
|
|
1835
|
-
this.state =
|
|
1903
|
+
this.state = 483;
|
|
1836
1904
|
this.errorHandler.sync(this);
|
|
1837
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
1905
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 56, this.context)) {
|
|
1838
1906
|
case 1:
|
|
1839
1907
|
{
|
|
1840
|
-
this.state =
|
|
1908
|
+
this.state = 481;
|
|
1841
1909
|
this.match(GenericSqlParser.KW_IF);
|
|
1842
|
-
this.state =
|
|
1910
|
+
this.state = 482;
|
|
1843
1911
|
this.match(GenericSqlParser.KW_EXISTS);
|
|
1844
1912
|
}
|
|
1845
1913
|
break;
|
|
1846
1914
|
}
|
|
1847
|
-
this.state =
|
|
1915
|
+
this.state = 485;
|
|
1848
1916
|
this.tableName();
|
|
1849
|
-
this.state =
|
|
1917
|
+
this.state = 517;
|
|
1850
1918
|
this.errorHandler.sync(this);
|
|
1851
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
1919
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 59, this.context)) {
|
|
1852
1920
|
case 1:
|
|
1853
1921
|
{
|
|
1854
|
-
this.state =
|
|
1922
|
+
this.state = 486;
|
|
1855
1923
|
this.match(GenericSqlParser.KW_ADD);
|
|
1856
|
-
this.state =
|
|
1924
|
+
this.state = 487;
|
|
1857
1925
|
this.match(GenericSqlParser.KW_COLUMN);
|
|
1858
|
-
this.state =
|
|
1926
|
+
this.state = 491;
|
|
1859
1927
|
this.errorHandler.sync(this);
|
|
1860
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
1928
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 57, this.context)) {
|
|
1861
1929
|
case 1:
|
|
1862
1930
|
{
|
|
1863
|
-
this.state =
|
|
1931
|
+
this.state = 488;
|
|
1864
1932
|
this.match(GenericSqlParser.KW_IF);
|
|
1865
|
-
this.state =
|
|
1933
|
+
this.state = 489;
|
|
1866
1934
|
this.match(GenericSqlParser.KW_NOT);
|
|
1867
|
-
this.state =
|
|
1935
|
+
this.state = 490;
|
|
1868
1936
|
this.match(GenericSqlParser.KW_EXISTS);
|
|
1869
1937
|
}
|
|
1870
1938
|
break;
|
|
1871
1939
|
}
|
|
1872
|
-
this.state =
|
|
1940
|
+
this.state = 493;
|
|
1873
1941
|
this.columnDefinition();
|
|
1874
1942
|
}
|
|
1875
1943
|
break;
|
|
1876
1944
|
case 2:
|
|
1877
1945
|
{
|
|
1878
|
-
this.state =
|
|
1946
|
+
this.state = 494;
|
|
1879
1947
|
this.match(GenericSqlParser.KW_DROP);
|
|
1880
|
-
this.state =
|
|
1948
|
+
this.state = 495;
|
|
1881
1949
|
this.match(GenericSqlParser.KW_COLUMN);
|
|
1882
|
-
this.state =
|
|
1950
|
+
this.state = 498;
|
|
1883
1951
|
this.errorHandler.sync(this);
|
|
1884
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
1952
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 58, this.context)) {
|
|
1885
1953
|
case 1:
|
|
1886
1954
|
{
|
|
1887
|
-
this.state =
|
|
1955
|
+
this.state = 496;
|
|
1888
1956
|
this.match(GenericSqlParser.KW_IF);
|
|
1889
|
-
this.state =
|
|
1957
|
+
this.state = 497;
|
|
1890
1958
|
this.match(GenericSqlParser.KW_EXISTS);
|
|
1891
1959
|
}
|
|
1892
1960
|
break;
|
|
1893
1961
|
}
|
|
1894
|
-
this.state =
|
|
1962
|
+
this.state = 500;
|
|
1895
1963
|
this.columnRef();
|
|
1896
1964
|
}
|
|
1897
1965
|
break;
|
|
1898
1966
|
case 3:
|
|
1899
1967
|
{
|
|
1900
|
-
this.state =
|
|
1968
|
+
this.state = 501;
|
|
1901
1969
|
this.match(GenericSqlParser.KW_RENAME);
|
|
1902
|
-
this.state =
|
|
1970
|
+
this.state = 502;
|
|
1903
1971
|
this.match(GenericSqlParser.KW_TO);
|
|
1904
|
-
this.state =
|
|
1972
|
+
this.state = 503;
|
|
1905
1973
|
this.tableNameCreate();
|
|
1906
1974
|
}
|
|
1907
1975
|
break;
|
|
1908
1976
|
case 4:
|
|
1909
1977
|
{
|
|
1910
|
-
this.state =
|
|
1978
|
+
this.state = 504;
|
|
1911
1979
|
this.match(GenericSqlParser.KW_ALTER);
|
|
1912
|
-
this.state =
|
|
1980
|
+
this.state = 505;
|
|
1913
1981
|
this.match(GenericSqlParser.KW_COLUMN);
|
|
1914
|
-
this.state =
|
|
1982
|
+
this.state = 506;
|
|
1915
1983
|
this.columnRef();
|
|
1916
|
-
this.state =
|
|
1984
|
+
this.state = 507;
|
|
1917
1985
|
this.match(GenericSqlParser.KW_SET);
|
|
1918
|
-
this.state =
|
|
1986
|
+
this.state = 508;
|
|
1919
1987
|
this.match(GenericSqlParser.KW_DEFAULT);
|
|
1920
|
-
this.state =
|
|
1988
|
+
this.state = 509;
|
|
1921
1989
|
this.expression();
|
|
1922
1990
|
}
|
|
1923
1991
|
break;
|
|
1924
1992
|
case 5:
|
|
1925
1993
|
{
|
|
1926
|
-
this.state =
|
|
1994
|
+
this.state = 511;
|
|
1927
1995
|
this.match(GenericSqlParser.KW_ALTER);
|
|
1928
|
-
this.state =
|
|
1996
|
+
this.state = 512;
|
|
1929
1997
|
this.match(GenericSqlParser.KW_COLUMN);
|
|
1930
|
-
this.state =
|
|
1998
|
+
this.state = 513;
|
|
1931
1999
|
this.columnRef();
|
|
1932
|
-
this.state =
|
|
2000
|
+
this.state = 514;
|
|
1933
2001
|
this.match(GenericSqlParser.KW_DROP);
|
|
1934
|
-
this.state =
|
|
2002
|
+
this.state = 515;
|
|
1935
2003
|
this.match(GenericSqlParser.KW_DEFAULT);
|
|
1936
2004
|
}
|
|
1937
2005
|
break;
|
|
@@ -1955,27 +2023,27 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1955
2023
|
}
|
|
1956
2024
|
dropTableStatement() {
|
|
1957
2025
|
let localContext = new DropTableStatementContext(this.context, this.state);
|
|
1958
|
-
this.enterRule(localContext,
|
|
2026
|
+
this.enterRule(localContext, 70, GenericSqlParser.RULE_dropTableStatement);
|
|
1959
2027
|
try {
|
|
1960
2028
|
this.enterOuterAlt(localContext, 1);
|
|
1961
2029
|
{
|
|
1962
|
-
this.state =
|
|
2030
|
+
this.state = 519;
|
|
1963
2031
|
this.match(GenericSqlParser.KW_DROP);
|
|
1964
|
-
this.state =
|
|
2032
|
+
this.state = 520;
|
|
1965
2033
|
this.match(GenericSqlParser.KW_TABLE);
|
|
1966
|
-
this.state =
|
|
2034
|
+
this.state = 523;
|
|
1967
2035
|
this.errorHandler.sync(this);
|
|
1968
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
2036
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 60, this.context)) {
|
|
1969
2037
|
case 1:
|
|
1970
2038
|
{
|
|
1971
|
-
this.state =
|
|
2039
|
+
this.state = 521;
|
|
1972
2040
|
this.match(GenericSqlParser.KW_IF);
|
|
1973
|
-
this.state =
|
|
2041
|
+
this.state = 522;
|
|
1974
2042
|
this.match(GenericSqlParser.KW_EXISTS);
|
|
1975
2043
|
}
|
|
1976
2044
|
break;
|
|
1977
2045
|
}
|
|
1978
|
-
this.state =
|
|
2046
|
+
this.state = 525;
|
|
1979
2047
|
this.tableName();
|
|
1980
2048
|
}
|
|
1981
2049
|
}
|
|
@@ -1996,11 +2064,11 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
1996
2064
|
}
|
|
1997
2065
|
expression() {
|
|
1998
2066
|
let localContext = new ExpressionContext(this.context, this.state);
|
|
1999
|
-
this.enterRule(localContext,
|
|
2067
|
+
this.enterRule(localContext, 72, GenericSqlParser.RULE_expression);
|
|
2000
2068
|
try {
|
|
2001
2069
|
this.enterOuterAlt(localContext, 1);
|
|
2002
2070
|
{
|
|
2003
|
-
this.state =
|
|
2071
|
+
this.state = 527;
|
|
2004
2072
|
this.booleanExpression(0);
|
|
2005
2073
|
}
|
|
2006
2074
|
}
|
|
@@ -2027,13 +2095,13 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2027
2095
|
let parentState = this.state;
|
|
2028
2096
|
let localContext = new BooleanExpressionContext(this.context, parentState);
|
|
2029
2097
|
let previousContext = localContext;
|
|
2030
|
-
let _startState =
|
|
2031
|
-
this.enterRecursionRule(localContext,
|
|
2098
|
+
let _startState = 74;
|
|
2099
|
+
this.enterRecursionRule(localContext, 74, GenericSqlParser.RULE_booleanExpression, _p);
|
|
2032
2100
|
try {
|
|
2033
2101
|
let alternative;
|
|
2034
2102
|
this.enterOuterAlt(localContext, 1);
|
|
2035
2103
|
{
|
|
2036
|
-
this.state =
|
|
2104
|
+
this.state = 533;
|
|
2037
2105
|
this.errorHandler.sync(this);
|
|
2038
2106
|
switch (this.tokenStream.LA(1)) {
|
|
2039
2107
|
case GenericSqlParser.T__1:
|
|
@@ -2099,7 +2167,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2099
2167
|
localContext = new PredicatedContext(localContext);
|
|
2100
2168
|
this.context = localContext;
|
|
2101
2169
|
previousContext = localContext;
|
|
2102
|
-
this.state =
|
|
2170
|
+
this.state = 530;
|
|
2103
2171
|
this.predicatedExpression();
|
|
2104
2172
|
}
|
|
2105
2173
|
break;
|
|
@@ -2108,9 +2176,9 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2108
2176
|
localContext = new NotExpressionContext(localContext);
|
|
2109
2177
|
this.context = localContext;
|
|
2110
2178
|
previousContext = localContext;
|
|
2111
|
-
this.state =
|
|
2179
|
+
this.state = 531;
|
|
2112
2180
|
this.match(GenericSqlParser.KW_NOT);
|
|
2113
|
-
this.state =
|
|
2181
|
+
this.state = 532;
|
|
2114
2182
|
this.booleanExpression(3);
|
|
2115
2183
|
}
|
|
2116
2184
|
break;
|
|
@@ -2118,9 +2186,9 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2118
2186
|
throw new antlr.NoViableAltException(this);
|
|
2119
2187
|
}
|
|
2120
2188
|
this.context.stop = this.tokenStream.LT(-1);
|
|
2121
|
-
this.state =
|
|
2189
|
+
this.state = 543;
|
|
2122
2190
|
this.errorHandler.sync(this);
|
|
2123
|
-
alternative = this.interpreter.adaptivePredict(this.tokenStream,
|
|
2191
|
+
alternative = this.interpreter.adaptivePredict(this.tokenStream, 63, this.context);
|
|
2124
2192
|
while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
|
|
2125
2193
|
if (alternative === 1) {
|
|
2126
2194
|
if (this._parseListeners != null) {
|
|
@@ -2128,21 +2196,21 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2128
2196
|
}
|
|
2129
2197
|
previousContext = localContext;
|
|
2130
2198
|
{
|
|
2131
|
-
this.state =
|
|
2199
|
+
this.state = 541;
|
|
2132
2200
|
this.errorHandler.sync(this);
|
|
2133
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
2201
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 62, this.context)) {
|
|
2134
2202
|
case 1:
|
|
2135
2203
|
{
|
|
2136
2204
|
localContext = new AndExpressionContext(new BooleanExpressionContext(parentContext, parentState));
|
|
2137
2205
|
localContext._left = previousContext;
|
|
2138
2206
|
this.pushNewRecursionContext(localContext, _startState, GenericSqlParser.RULE_booleanExpression);
|
|
2139
|
-
this.state =
|
|
2207
|
+
this.state = 535;
|
|
2140
2208
|
if (!(this.precpred(this.context, 2))) {
|
|
2141
2209
|
throw this.createFailedPredicateException("this.precpred(this.context, 2)");
|
|
2142
2210
|
}
|
|
2143
|
-
this.state =
|
|
2211
|
+
this.state = 536;
|
|
2144
2212
|
this.match(GenericSqlParser.KW_AND);
|
|
2145
|
-
this.state =
|
|
2213
|
+
this.state = 537;
|
|
2146
2214
|
localContext._right = this.booleanExpression(3);
|
|
2147
2215
|
}
|
|
2148
2216
|
break;
|
|
@@ -2151,22 +2219,22 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2151
2219
|
localContext = new OrExpressionContext(new BooleanExpressionContext(parentContext, parentState));
|
|
2152
2220
|
localContext._left = previousContext;
|
|
2153
2221
|
this.pushNewRecursionContext(localContext, _startState, GenericSqlParser.RULE_booleanExpression);
|
|
2154
|
-
this.state =
|
|
2222
|
+
this.state = 538;
|
|
2155
2223
|
if (!(this.precpred(this.context, 1))) {
|
|
2156
2224
|
throw this.createFailedPredicateException("this.precpred(this.context, 1)");
|
|
2157
2225
|
}
|
|
2158
|
-
this.state =
|
|
2226
|
+
this.state = 539;
|
|
2159
2227
|
this.match(GenericSqlParser.KW_OR);
|
|
2160
|
-
this.state =
|
|
2228
|
+
this.state = 540;
|
|
2161
2229
|
localContext._right = this.booleanExpression(2);
|
|
2162
2230
|
}
|
|
2163
2231
|
break;
|
|
2164
2232
|
}
|
|
2165
2233
|
}
|
|
2166
2234
|
}
|
|
2167
|
-
this.state =
|
|
2235
|
+
this.state = 545;
|
|
2168
2236
|
this.errorHandler.sync(this);
|
|
2169
|
-
alternative = this.interpreter.adaptivePredict(this.tokenStream,
|
|
2237
|
+
alternative = this.interpreter.adaptivePredict(this.tokenStream, 63, this.context);
|
|
2170
2238
|
}
|
|
2171
2239
|
}
|
|
2172
2240
|
}
|
|
@@ -2187,18 +2255,18 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2187
2255
|
}
|
|
2188
2256
|
predicatedExpression() {
|
|
2189
2257
|
let localContext = new PredicatedExpressionContext(this.context, this.state);
|
|
2190
|
-
this.enterRule(localContext,
|
|
2258
|
+
this.enterRule(localContext, 76, GenericSqlParser.RULE_predicatedExpression);
|
|
2191
2259
|
try {
|
|
2192
2260
|
this.enterOuterAlt(localContext, 1);
|
|
2193
2261
|
{
|
|
2194
|
-
this.state =
|
|
2262
|
+
this.state = 546;
|
|
2195
2263
|
this.valueExpression(0);
|
|
2196
|
-
this.state =
|
|
2264
|
+
this.state = 548;
|
|
2197
2265
|
this.errorHandler.sync(this);
|
|
2198
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
2266
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 64, this.context)) {
|
|
2199
2267
|
case 1:
|
|
2200
2268
|
{
|
|
2201
|
-
this.state =
|
|
2269
|
+
this.state = 547;
|
|
2202
2270
|
this.predicate();
|
|
2203
2271
|
}
|
|
2204
2272
|
break;
|
|
@@ -2222,19 +2290,19 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2222
2290
|
}
|
|
2223
2291
|
predicate() {
|
|
2224
2292
|
let localContext = new PredicateContext(this.context, this.state);
|
|
2225
|
-
this.enterRule(localContext,
|
|
2293
|
+
this.enterRule(localContext, 78, GenericSqlParser.RULE_predicate);
|
|
2226
2294
|
let _la;
|
|
2227
2295
|
try {
|
|
2228
|
-
this.state =
|
|
2296
|
+
this.state = 605;
|
|
2229
2297
|
this.errorHandler.sync(this);
|
|
2230
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
2298
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 73, this.context)) {
|
|
2231
2299
|
case 1:
|
|
2232
2300
|
localContext = new ComparisonPredicateContext(localContext);
|
|
2233
2301
|
this.enterOuterAlt(localContext, 1);
|
|
2234
2302
|
{
|
|
2235
|
-
this.state =
|
|
2303
|
+
this.state = 550;
|
|
2236
2304
|
this.comparisonOperator();
|
|
2237
|
-
this.state =
|
|
2305
|
+
this.state = 551;
|
|
2238
2306
|
localContext._right = this.valueExpression(0);
|
|
2239
2307
|
}
|
|
2240
2308
|
break;
|
|
@@ -2242,38 +2310,38 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2242
2310
|
localContext = new InPredicateContext(localContext);
|
|
2243
2311
|
this.enterOuterAlt(localContext, 2);
|
|
2244
2312
|
{
|
|
2245
|
-
this.state =
|
|
2313
|
+
this.state = 554;
|
|
2246
2314
|
this.errorHandler.sync(this);
|
|
2247
2315
|
_la = this.tokenStream.LA(1);
|
|
2248
2316
|
if (_la === 61) {
|
|
2249
2317
|
{
|
|
2250
|
-
this.state =
|
|
2318
|
+
this.state = 553;
|
|
2251
2319
|
this.match(GenericSqlParser.KW_NOT);
|
|
2252
2320
|
}
|
|
2253
2321
|
}
|
|
2254
|
-
this.state =
|
|
2322
|
+
this.state = 556;
|
|
2255
2323
|
this.match(GenericSqlParser.KW_IN);
|
|
2256
|
-
this.state =
|
|
2324
|
+
this.state = 557;
|
|
2257
2325
|
this.match(GenericSqlParser.T__1);
|
|
2258
|
-
this.state =
|
|
2326
|
+
this.state = 558;
|
|
2259
2327
|
this.expression();
|
|
2260
|
-
this.state =
|
|
2328
|
+
this.state = 563;
|
|
2261
2329
|
this.errorHandler.sync(this);
|
|
2262
2330
|
_la = this.tokenStream.LA(1);
|
|
2263
2331
|
while (_la === 1) {
|
|
2264
2332
|
{
|
|
2265
2333
|
{
|
|
2266
|
-
this.state =
|
|
2334
|
+
this.state = 559;
|
|
2267
2335
|
this.match(GenericSqlParser.T__0);
|
|
2268
|
-
this.state =
|
|
2336
|
+
this.state = 560;
|
|
2269
2337
|
this.expression();
|
|
2270
2338
|
}
|
|
2271
2339
|
}
|
|
2272
|
-
this.state =
|
|
2340
|
+
this.state = 565;
|
|
2273
2341
|
this.errorHandler.sync(this);
|
|
2274
2342
|
_la = this.tokenStream.LA(1);
|
|
2275
2343
|
}
|
|
2276
|
-
this.state =
|
|
2344
|
+
this.state = 566;
|
|
2277
2345
|
this.match(GenericSqlParser.T__2);
|
|
2278
2346
|
}
|
|
2279
2347
|
break;
|
|
@@ -2281,22 +2349,22 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2281
2349
|
localContext = new InSubqueryPredicateContext(localContext);
|
|
2282
2350
|
this.enterOuterAlt(localContext, 3);
|
|
2283
2351
|
{
|
|
2284
|
-
this.state =
|
|
2352
|
+
this.state = 569;
|
|
2285
2353
|
this.errorHandler.sync(this);
|
|
2286
2354
|
_la = this.tokenStream.LA(1);
|
|
2287
2355
|
if (_la === 61) {
|
|
2288
2356
|
{
|
|
2289
|
-
this.state =
|
|
2357
|
+
this.state = 568;
|
|
2290
2358
|
this.match(GenericSqlParser.KW_NOT);
|
|
2291
2359
|
}
|
|
2292
2360
|
}
|
|
2293
|
-
this.state =
|
|
2361
|
+
this.state = 571;
|
|
2294
2362
|
this.match(GenericSqlParser.KW_IN);
|
|
2295
|
-
this.state =
|
|
2363
|
+
this.state = 572;
|
|
2296
2364
|
this.match(GenericSqlParser.T__1);
|
|
2297
|
-
this.state =
|
|
2365
|
+
this.state = 573;
|
|
2298
2366
|
this.queryStatement();
|
|
2299
|
-
this.state =
|
|
2367
|
+
this.state = 574;
|
|
2300
2368
|
this.match(GenericSqlParser.T__2);
|
|
2301
2369
|
}
|
|
2302
2370
|
break;
|
|
@@ -2304,22 +2372,22 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2304
2372
|
localContext = new BetweenPredicateContext(localContext);
|
|
2305
2373
|
this.enterOuterAlt(localContext, 4);
|
|
2306
2374
|
{
|
|
2307
|
-
this.state =
|
|
2375
|
+
this.state = 577;
|
|
2308
2376
|
this.errorHandler.sync(this);
|
|
2309
2377
|
_la = this.tokenStream.LA(1);
|
|
2310
2378
|
if (_la === 61) {
|
|
2311
2379
|
{
|
|
2312
|
-
this.state =
|
|
2380
|
+
this.state = 576;
|
|
2313
2381
|
this.match(GenericSqlParser.KW_NOT);
|
|
2314
2382
|
}
|
|
2315
2383
|
}
|
|
2316
|
-
this.state =
|
|
2384
|
+
this.state = 579;
|
|
2317
2385
|
this.match(GenericSqlParser.KW_BETWEEN);
|
|
2318
|
-
this.state =
|
|
2386
|
+
this.state = 580;
|
|
2319
2387
|
localContext._lower = this.valueExpression(0);
|
|
2320
|
-
this.state =
|
|
2388
|
+
this.state = 581;
|
|
2321
2389
|
this.match(GenericSqlParser.KW_AND);
|
|
2322
|
-
this.state =
|
|
2390
|
+
this.state = 582;
|
|
2323
2391
|
localContext._upper = this.valueExpression(0);
|
|
2324
2392
|
}
|
|
2325
2393
|
break;
|
|
@@ -2327,27 +2395,27 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2327
2395
|
localContext = new LikePredicateContext(localContext);
|
|
2328
2396
|
this.enterOuterAlt(localContext, 5);
|
|
2329
2397
|
{
|
|
2330
|
-
this.state =
|
|
2398
|
+
this.state = 585;
|
|
2331
2399
|
this.errorHandler.sync(this);
|
|
2332
2400
|
_la = this.tokenStream.LA(1);
|
|
2333
2401
|
if (_la === 61) {
|
|
2334
2402
|
{
|
|
2335
|
-
this.state =
|
|
2403
|
+
this.state = 584;
|
|
2336
2404
|
this.match(GenericSqlParser.KW_NOT);
|
|
2337
2405
|
}
|
|
2338
2406
|
}
|
|
2339
|
-
this.state =
|
|
2407
|
+
this.state = 587;
|
|
2340
2408
|
this.match(GenericSqlParser.KW_LIKE);
|
|
2341
|
-
this.state =
|
|
2409
|
+
this.state = 588;
|
|
2342
2410
|
localContext._pattern = this.valueExpression(0);
|
|
2343
|
-
this.state =
|
|
2411
|
+
this.state = 591;
|
|
2344
2412
|
this.errorHandler.sync(this);
|
|
2345
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
2413
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 70, this.context)) {
|
|
2346
2414
|
case 1:
|
|
2347
2415
|
{
|
|
2348
|
-
this.state =
|
|
2416
|
+
this.state = 589;
|
|
2349
2417
|
this.match(GenericSqlParser.KW_ESCAPE);
|
|
2350
|
-
this.state =
|
|
2418
|
+
this.state = 590;
|
|
2351
2419
|
localContext._escape = this.valueExpression(0);
|
|
2352
2420
|
}
|
|
2353
2421
|
break;
|
|
@@ -2358,18 +2426,18 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2358
2426
|
localContext = new NullPredicateContext(localContext);
|
|
2359
2427
|
this.enterOuterAlt(localContext, 6);
|
|
2360
2428
|
{
|
|
2361
|
-
this.state =
|
|
2429
|
+
this.state = 593;
|
|
2362
2430
|
this.match(GenericSqlParser.KW_IS);
|
|
2363
|
-
this.state =
|
|
2431
|
+
this.state = 595;
|
|
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 = 594;
|
|
2369
2437
|
this.match(GenericSqlParser.KW_NOT);
|
|
2370
2438
|
}
|
|
2371
2439
|
}
|
|
2372
|
-
this.state =
|
|
2440
|
+
this.state = 597;
|
|
2373
2441
|
this.match(GenericSqlParser.KW_NULL);
|
|
2374
2442
|
}
|
|
2375
2443
|
break;
|
|
@@ -2377,22 +2445,22 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2377
2445
|
localContext = new DistinctFromPredicateContext(localContext);
|
|
2378
2446
|
this.enterOuterAlt(localContext, 7);
|
|
2379
2447
|
{
|
|
2380
|
-
this.state =
|
|
2448
|
+
this.state = 598;
|
|
2381
2449
|
this.match(GenericSqlParser.KW_IS);
|
|
2382
|
-
this.state =
|
|
2450
|
+
this.state = 600;
|
|
2383
2451
|
this.errorHandler.sync(this);
|
|
2384
2452
|
_la = this.tokenStream.LA(1);
|
|
2385
2453
|
if (_la === 61) {
|
|
2386
2454
|
{
|
|
2387
|
-
this.state =
|
|
2455
|
+
this.state = 599;
|
|
2388
2456
|
this.match(GenericSqlParser.KW_NOT);
|
|
2389
2457
|
}
|
|
2390
2458
|
}
|
|
2391
|
-
this.state =
|
|
2459
|
+
this.state = 602;
|
|
2392
2460
|
this.match(GenericSqlParser.KW_DISTINCT);
|
|
2393
|
-
this.state =
|
|
2461
|
+
this.state = 603;
|
|
2394
2462
|
this.match(GenericSqlParser.KW_FROM);
|
|
2395
|
-
this.state =
|
|
2463
|
+
this.state = 604;
|
|
2396
2464
|
localContext._right = this.valueExpression(0);
|
|
2397
2465
|
}
|
|
2398
2466
|
break;
|
|
@@ -2415,12 +2483,12 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2415
2483
|
}
|
|
2416
2484
|
comparisonOperator() {
|
|
2417
2485
|
let localContext = new ComparisonOperatorContext(this.context, this.state);
|
|
2418
|
-
this.enterRule(localContext,
|
|
2486
|
+
this.enterRule(localContext, 80, GenericSqlParser.RULE_comparisonOperator);
|
|
2419
2487
|
let _la;
|
|
2420
2488
|
try {
|
|
2421
2489
|
this.enterOuterAlt(localContext, 1);
|
|
2422
2490
|
{
|
|
2423
|
-
this.state =
|
|
2491
|
+
this.state = 607;
|
|
2424
2492
|
_la = this.tokenStream.LA(1);
|
|
2425
2493
|
if (!(((((_la - 95)) & ~0x1F) === 0 && ((1 << (_la - 95)) & 63) !== 0))) {
|
|
2426
2494
|
this.errorHandler.recoverInline(this);
|
|
@@ -2454,14 +2522,14 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2454
2522
|
let parentState = this.state;
|
|
2455
2523
|
let localContext = new ValueExpressionContext(this.context, parentState);
|
|
2456
2524
|
let previousContext = localContext;
|
|
2457
|
-
let _startState =
|
|
2458
|
-
this.enterRecursionRule(localContext,
|
|
2525
|
+
let _startState = 82;
|
|
2526
|
+
this.enterRecursionRule(localContext, 82, GenericSqlParser.RULE_valueExpression, _p);
|
|
2459
2527
|
let _la;
|
|
2460
2528
|
try {
|
|
2461
2529
|
let alternative;
|
|
2462
2530
|
this.enterOuterAlt(localContext, 1);
|
|
2463
2531
|
{
|
|
2464
|
-
this.state =
|
|
2532
|
+
this.state = 613;
|
|
2465
2533
|
this.errorHandler.sync(this);
|
|
2466
2534
|
switch (this.tokenStream.LA(1)) {
|
|
2467
2535
|
case GenericSqlParser.T__1:
|
|
@@ -2525,7 +2593,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2525
2593
|
localContext = new ValueExpressionDefaultContext(localContext);
|
|
2526
2594
|
this.context = localContext;
|
|
2527
2595
|
previousContext = localContext;
|
|
2528
|
-
this.state =
|
|
2596
|
+
this.state = 610;
|
|
2529
2597
|
this.primaryExpression();
|
|
2530
2598
|
}
|
|
2531
2599
|
break;
|
|
@@ -2535,7 +2603,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2535
2603
|
localContext = new ArithmeticUnaryContext(localContext);
|
|
2536
2604
|
this.context = localContext;
|
|
2537
2605
|
previousContext = localContext;
|
|
2538
|
-
this.state =
|
|
2606
|
+
this.state = 611;
|
|
2539
2607
|
localContext._operator = this.tokenStream.LT(1);
|
|
2540
2608
|
_la = this.tokenStream.LA(1);
|
|
2541
2609
|
if (!(_la === 101 || _la === 102)) {
|
|
@@ -2545,7 +2613,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2545
2613
|
this.errorHandler.reportMatch(this);
|
|
2546
2614
|
this.consume();
|
|
2547
2615
|
}
|
|
2548
|
-
this.state =
|
|
2616
|
+
this.state = 612;
|
|
2549
2617
|
this.valueExpression(4);
|
|
2550
2618
|
}
|
|
2551
2619
|
break;
|
|
@@ -2553,9 +2621,9 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2553
2621
|
throw new antlr.NoViableAltException(this);
|
|
2554
2622
|
}
|
|
2555
2623
|
this.context.stop = this.tokenStream.LT(-1);
|
|
2556
|
-
this.state =
|
|
2624
|
+
this.state = 626;
|
|
2557
2625
|
this.errorHandler.sync(this);
|
|
2558
|
-
alternative = this.interpreter.adaptivePredict(this.tokenStream,
|
|
2626
|
+
alternative = this.interpreter.adaptivePredict(this.tokenStream, 76, this.context);
|
|
2559
2627
|
while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
|
|
2560
2628
|
if (alternative === 1) {
|
|
2561
2629
|
if (this._parseListeners != null) {
|
|
@@ -2563,19 +2631,19 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2563
2631
|
}
|
|
2564
2632
|
previousContext = localContext;
|
|
2565
2633
|
{
|
|
2566
|
-
this.state =
|
|
2634
|
+
this.state = 624;
|
|
2567
2635
|
this.errorHandler.sync(this);
|
|
2568
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
2636
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 75, this.context)) {
|
|
2569
2637
|
case 1:
|
|
2570
2638
|
{
|
|
2571
2639
|
localContext = new ArithmeticBinaryContext(new ValueExpressionContext(parentContext, parentState));
|
|
2572
2640
|
localContext._left = previousContext;
|
|
2573
2641
|
this.pushNewRecursionContext(localContext, _startState, GenericSqlParser.RULE_valueExpression);
|
|
2574
|
-
this.state =
|
|
2642
|
+
this.state = 615;
|
|
2575
2643
|
if (!(this.precpred(this.context, 3))) {
|
|
2576
2644
|
throw this.createFailedPredicateException("this.precpred(this.context, 3)");
|
|
2577
2645
|
}
|
|
2578
|
-
this.state =
|
|
2646
|
+
this.state = 616;
|
|
2579
2647
|
localContext._operator = this.tokenStream.LT(1);
|
|
2580
2648
|
_la = this.tokenStream.LA(1);
|
|
2581
2649
|
if (!(((((_la - 103)) & ~0x1F) === 0 && ((1 << (_la - 103)) & 7) !== 0))) {
|
|
@@ -2585,7 +2653,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2585
2653
|
this.errorHandler.reportMatch(this);
|
|
2586
2654
|
this.consume();
|
|
2587
2655
|
}
|
|
2588
|
-
this.state =
|
|
2656
|
+
this.state = 617;
|
|
2589
2657
|
localContext._right = this.valueExpression(4);
|
|
2590
2658
|
}
|
|
2591
2659
|
break;
|
|
@@ -2594,11 +2662,11 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2594
2662
|
localContext = new ArithmeticBinaryContext(new ValueExpressionContext(parentContext, parentState));
|
|
2595
2663
|
localContext._left = previousContext;
|
|
2596
2664
|
this.pushNewRecursionContext(localContext, _startState, GenericSqlParser.RULE_valueExpression);
|
|
2597
|
-
this.state =
|
|
2665
|
+
this.state = 618;
|
|
2598
2666
|
if (!(this.precpred(this.context, 2))) {
|
|
2599
2667
|
throw this.createFailedPredicateException("this.precpred(this.context, 2)");
|
|
2600
2668
|
}
|
|
2601
|
-
this.state =
|
|
2669
|
+
this.state = 619;
|
|
2602
2670
|
localContext._operator = this.tokenStream.LT(1);
|
|
2603
2671
|
_la = this.tokenStream.LA(1);
|
|
2604
2672
|
if (!(_la === 101 || _la === 102)) {
|
|
@@ -2608,7 +2676,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2608
2676
|
this.errorHandler.reportMatch(this);
|
|
2609
2677
|
this.consume();
|
|
2610
2678
|
}
|
|
2611
|
-
this.state =
|
|
2679
|
+
this.state = 620;
|
|
2612
2680
|
localContext._right = this.valueExpression(3);
|
|
2613
2681
|
}
|
|
2614
2682
|
break;
|
|
@@ -2617,22 +2685,22 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2617
2685
|
localContext = new ConcatenationContext(new ValueExpressionContext(parentContext, parentState));
|
|
2618
2686
|
localContext._left = previousContext;
|
|
2619
2687
|
this.pushNewRecursionContext(localContext, _startState, GenericSqlParser.RULE_valueExpression);
|
|
2620
|
-
this.state =
|
|
2688
|
+
this.state = 621;
|
|
2621
2689
|
if (!(this.precpred(this.context, 1))) {
|
|
2622
2690
|
throw this.createFailedPredicateException("this.precpred(this.context, 1)");
|
|
2623
2691
|
}
|
|
2624
|
-
this.state =
|
|
2692
|
+
this.state = 622;
|
|
2625
2693
|
this.match(GenericSqlParser.CONCAT);
|
|
2626
|
-
this.state =
|
|
2694
|
+
this.state = 623;
|
|
2627
2695
|
localContext._right = this.valueExpression(2);
|
|
2628
2696
|
}
|
|
2629
2697
|
break;
|
|
2630
2698
|
}
|
|
2631
2699
|
}
|
|
2632
2700
|
}
|
|
2633
|
-
this.state =
|
|
2701
|
+
this.state = 628;
|
|
2634
2702
|
this.errorHandler.sync(this);
|
|
2635
|
-
alternative = this.interpreter.adaptivePredict(this.tokenStream,
|
|
2703
|
+
alternative = this.interpreter.adaptivePredict(this.tokenStream, 76, this.context);
|
|
2636
2704
|
}
|
|
2637
2705
|
}
|
|
2638
2706
|
}
|
|
@@ -2653,17 +2721,17 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2653
2721
|
}
|
|
2654
2722
|
primaryExpression() {
|
|
2655
2723
|
let localContext = new PrimaryExpressionContext(this.context, this.state);
|
|
2656
|
-
this.enterRule(localContext,
|
|
2724
|
+
this.enterRule(localContext, 84, GenericSqlParser.RULE_primaryExpression);
|
|
2657
2725
|
let _la;
|
|
2658
2726
|
try {
|
|
2659
|
-
this.state =
|
|
2727
|
+
this.state = 709;
|
|
2660
2728
|
this.errorHandler.sync(this);
|
|
2661
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
2729
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 85, this.context)) {
|
|
2662
2730
|
case 1:
|
|
2663
2731
|
localContext = new LiteralExpressionContext(localContext);
|
|
2664
2732
|
this.enterOuterAlt(localContext, 1);
|
|
2665
2733
|
{
|
|
2666
|
-
this.state =
|
|
2734
|
+
this.state = 629;
|
|
2667
2735
|
this.literal();
|
|
2668
2736
|
}
|
|
2669
2737
|
break;
|
|
@@ -2671,46 +2739,46 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2671
2739
|
localContext = new FunctionCallContext(localContext);
|
|
2672
2740
|
this.enterOuterAlt(localContext, 2);
|
|
2673
2741
|
{
|
|
2674
|
-
this.state =
|
|
2675
|
-
this.
|
|
2676
|
-
this.state =
|
|
2742
|
+
this.state = 630;
|
|
2743
|
+
this.functionName();
|
|
2744
|
+
this.state = 631;
|
|
2677
2745
|
this.match(GenericSqlParser.T__1);
|
|
2678
|
-
this.state =
|
|
2746
|
+
this.state = 643;
|
|
2679
2747
|
this.errorHandler.sync(this);
|
|
2680
2748
|
_la = this.tokenStream.LA(1);
|
|
2681
2749
|
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)) {
|
|
2682
2750
|
{
|
|
2683
|
-
this.state =
|
|
2751
|
+
this.state = 633;
|
|
2684
2752
|
this.errorHandler.sync(this);
|
|
2685
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
2753
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 77, this.context)) {
|
|
2686
2754
|
case 1:
|
|
2687
2755
|
{
|
|
2688
|
-
this.state =
|
|
2756
|
+
this.state = 632;
|
|
2689
2757
|
this.setQuantifier();
|
|
2690
2758
|
}
|
|
2691
2759
|
break;
|
|
2692
2760
|
}
|
|
2693
|
-
this.state =
|
|
2761
|
+
this.state = 635;
|
|
2694
2762
|
this.expression();
|
|
2695
|
-
this.state =
|
|
2763
|
+
this.state = 640;
|
|
2696
2764
|
this.errorHandler.sync(this);
|
|
2697
2765
|
_la = this.tokenStream.LA(1);
|
|
2698
2766
|
while (_la === 1) {
|
|
2699
2767
|
{
|
|
2700
2768
|
{
|
|
2701
|
-
this.state =
|
|
2769
|
+
this.state = 636;
|
|
2702
2770
|
this.match(GenericSqlParser.T__0);
|
|
2703
|
-
this.state =
|
|
2771
|
+
this.state = 637;
|
|
2704
2772
|
this.expression();
|
|
2705
2773
|
}
|
|
2706
2774
|
}
|
|
2707
|
-
this.state =
|
|
2775
|
+
this.state = 642;
|
|
2708
2776
|
this.errorHandler.sync(this);
|
|
2709
2777
|
_la = this.tokenStream.LA(1);
|
|
2710
2778
|
}
|
|
2711
2779
|
}
|
|
2712
2780
|
}
|
|
2713
|
-
this.state =
|
|
2781
|
+
this.state = 645;
|
|
2714
2782
|
this.match(GenericSqlParser.T__2);
|
|
2715
2783
|
}
|
|
2716
2784
|
break;
|
|
@@ -2718,34 +2786,34 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2718
2786
|
localContext = new SearchedCaseExpressionContext(localContext);
|
|
2719
2787
|
this.enterOuterAlt(localContext, 3);
|
|
2720
2788
|
{
|
|
2721
|
-
this.state =
|
|
2789
|
+
this.state = 647;
|
|
2722
2790
|
this.match(GenericSqlParser.KW_CASE);
|
|
2723
|
-
this.state =
|
|
2791
|
+
this.state = 649;
|
|
2724
2792
|
this.errorHandler.sync(this);
|
|
2725
2793
|
_la = this.tokenStream.LA(1);
|
|
2726
2794
|
do {
|
|
2727
2795
|
{
|
|
2728
2796
|
{
|
|
2729
|
-
this.state =
|
|
2797
|
+
this.state = 648;
|
|
2730
2798
|
this.whenClause();
|
|
2731
2799
|
}
|
|
2732
2800
|
}
|
|
2733
|
-
this.state =
|
|
2801
|
+
this.state = 651;
|
|
2734
2802
|
this.errorHandler.sync(this);
|
|
2735
2803
|
_la = this.tokenStream.LA(1);
|
|
2736
2804
|
} while (_la === 92);
|
|
2737
|
-
this.state =
|
|
2805
|
+
this.state = 655;
|
|
2738
2806
|
this.errorHandler.sync(this);
|
|
2739
2807
|
_la = this.tokenStream.LA(1);
|
|
2740
2808
|
if (_la === 33) {
|
|
2741
2809
|
{
|
|
2742
|
-
this.state =
|
|
2810
|
+
this.state = 653;
|
|
2743
2811
|
this.match(GenericSqlParser.KW_ELSE);
|
|
2744
|
-
this.state =
|
|
2812
|
+
this.state = 654;
|
|
2745
2813
|
this.expression();
|
|
2746
2814
|
}
|
|
2747
2815
|
}
|
|
2748
|
-
this.state =
|
|
2816
|
+
this.state = 657;
|
|
2749
2817
|
this.match(GenericSqlParser.KW_END);
|
|
2750
2818
|
}
|
|
2751
2819
|
break;
|
|
@@ -2753,36 +2821,36 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2753
2821
|
localContext = new SimpleCaseExpressionContext(localContext);
|
|
2754
2822
|
this.enterOuterAlt(localContext, 4);
|
|
2755
2823
|
{
|
|
2756
|
-
this.state =
|
|
2824
|
+
this.state = 659;
|
|
2757
2825
|
this.match(GenericSqlParser.KW_CASE);
|
|
2758
|
-
this.state =
|
|
2826
|
+
this.state = 660;
|
|
2759
2827
|
this.expression();
|
|
2760
|
-
this.state =
|
|
2828
|
+
this.state = 662;
|
|
2761
2829
|
this.errorHandler.sync(this);
|
|
2762
2830
|
_la = this.tokenStream.LA(1);
|
|
2763
2831
|
do {
|
|
2764
2832
|
{
|
|
2765
2833
|
{
|
|
2766
|
-
this.state =
|
|
2834
|
+
this.state = 661;
|
|
2767
2835
|
this.whenClause();
|
|
2768
2836
|
}
|
|
2769
2837
|
}
|
|
2770
|
-
this.state =
|
|
2838
|
+
this.state = 664;
|
|
2771
2839
|
this.errorHandler.sync(this);
|
|
2772
2840
|
_la = this.tokenStream.LA(1);
|
|
2773
2841
|
} while (_la === 92);
|
|
2774
|
-
this.state =
|
|
2842
|
+
this.state = 668;
|
|
2775
2843
|
this.errorHandler.sync(this);
|
|
2776
2844
|
_la = this.tokenStream.LA(1);
|
|
2777
2845
|
if (_la === 33) {
|
|
2778
2846
|
{
|
|
2779
|
-
this.state =
|
|
2847
|
+
this.state = 666;
|
|
2780
2848
|
this.match(GenericSqlParser.KW_ELSE);
|
|
2781
|
-
this.state =
|
|
2849
|
+
this.state = 667;
|
|
2782
2850
|
this.expression();
|
|
2783
2851
|
}
|
|
2784
2852
|
}
|
|
2785
|
-
this.state =
|
|
2853
|
+
this.state = 670;
|
|
2786
2854
|
this.match(GenericSqlParser.KW_END);
|
|
2787
2855
|
}
|
|
2788
2856
|
break;
|
|
@@ -2790,17 +2858,17 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2790
2858
|
localContext = new CastExpressionContext(localContext);
|
|
2791
2859
|
this.enterOuterAlt(localContext, 5);
|
|
2792
2860
|
{
|
|
2793
|
-
this.state =
|
|
2861
|
+
this.state = 672;
|
|
2794
2862
|
this.match(GenericSqlParser.KW_CAST);
|
|
2795
|
-
this.state =
|
|
2863
|
+
this.state = 673;
|
|
2796
2864
|
this.match(GenericSqlParser.T__1);
|
|
2797
|
-
this.state =
|
|
2865
|
+
this.state = 674;
|
|
2798
2866
|
this.expression();
|
|
2799
|
-
this.state =
|
|
2867
|
+
this.state = 675;
|
|
2800
2868
|
this.match(GenericSqlParser.KW_AS);
|
|
2801
|
-
this.state =
|
|
2869
|
+
this.state = 676;
|
|
2802
2870
|
this.dataType();
|
|
2803
|
-
this.state =
|
|
2871
|
+
this.state = 677;
|
|
2804
2872
|
this.match(GenericSqlParser.T__2);
|
|
2805
2873
|
}
|
|
2806
2874
|
break;
|
|
@@ -2808,29 +2876,29 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2808
2876
|
localContext = new CoalesceExpressionContext(localContext);
|
|
2809
2877
|
this.enterOuterAlt(localContext, 6);
|
|
2810
2878
|
{
|
|
2811
|
-
this.state =
|
|
2879
|
+
this.state = 679;
|
|
2812
2880
|
this.match(GenericSqlParser.KW_COALESCE);
|
|
2813
|
-
this.state =
|
|
2881
|
+
this.state = 680;
|
|
2814
2882
|
this.match(GenericSqlParser.T__1);
|
|
2815
|
-
this.state =
|
|
2883
|
+
this.state = 681;
|
|
2816
2884
|
this.expression();
|
|
2817
|
-
this.state =
|
|
2885
|
+
this.state = 686;
|
|
2818
2886
|
this.errorHandler.sync(this);
|
|
2819
2887
|
_la = this.tokenStream.LA(1);
|
|
2820
2888
|
while (_la === 1) {
|
|
2821
2889
|
{
|
|
2822
2890
|
{
|
|
2823
|
-
this.state =
|
|
2891
|
+
this.state = 682;
|
|
2824
2892
|
this.match(GenericSqlParser.T__0);
|
|
2825
|
-
this.state =
|
|
2893
|
+
this.state = 683;
|
|
2826
2894
|
this.expression();
|
|
2827
2895
|
}
|
|
2828
2896
|
}
|
|
2829
|
-
this.state =
|
|
2897
|
+
this.state = 688;
|
|
2830
2898
|
this.errorHandler.sync(this);
|
|
2831
2899
|
_la = this.tokenStream.LA(1);
|
|
2832
2900
|
}
|
|
2833
|
-
this.state =
|
|
2901
|
+
this.state = 689;
|
|
2834
2902
|
this.match(GenericSqlParser.T__2);
|
|
2835
2903
|
}
|
|
2836
2904
|
break;
|
|
@@ -2838,17 +2906,17 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2838
2906
|
localContext = new NullIfExpressionContext(localContext);
|
|
2839
2907
|
this.enterOuterAlt(localContext, 7);
|
|
2840
2908
|
{
|
|
2841
|
-
this.state =
|
|
2909
|
+
this.state = 691;
|
|
2842
2910
|
this.match(GenericSqlParser.KW_NULLIF);
|
|
2843
|
-
this.state =
|
|
2911
|
+
this.state = 692;
|
|
2844
2912
|
this.match(GenericSqlParser.T__1);
|
|
2845
|
-
this.state =
|
|
2913
|
+
this.state = 693;
|
|
2846
2914
|
this.valueExpression(0);
|
|
2847
|
-
this.state =
|
|
2915
|
+
this.state = 694;
|
|
2848
2916
|
this.match(GenericSqlParser.T__0);
|
|
2849
|
-
this.state =
|
|
2917
|
+
this.state = 695;
|
|
2850
2918
|
this.valueExpression(0);
|
|
2851
|
-
this.state =
|
|
2919
|
+
this.state = 696;
|
|
2852
2920
|
this.match(GenericSqlParser.T__2);
|
|
2853
2921
|
}
|
|
2854
2922
|
break;
|
|
@@ -2856,11 +2924,11 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2856
2924
|
localContext = new ParenthesizedExpressionContext(localContext);
|
|
2857
2925
|
this.enterOuterAlt(localContext, 8);
|
|
2858
2926
|
{
|
|
2859
|
-
this.state =
|
|
2927
|
+
this.state = 698;
|
|
2860
2928
|
this.match(GenericSqlParser.T__1);
|
|
2861
|
-
this.state =
|
|
2929
|
+
this.state = 699;
|
|
2862
2930
|
this.expression();
|
|
2863
|
-
this.state =
|
|
2931
|
+
this.state = 700;
|
|
2864
2932
|
this.match(GenericSqlParser.T__2);
|
|
2865
2933
|
}
|
|
2866
2934
|
break;
|
|
@@ -2868,13 +2936,13 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2868
2936
|
localContext = new ExistsExpressionContext(localContext);
|
|
2869
2937
|
this.enterOuterAlt(localContext, 9);
|
|
2870
2938
|
{
|
|
2871
|
-
this.state =
|
|
2939
|
+
this.state = 702;
|
|
2872
2940
|
this.match(GenericSqlParser.KW_EXISTS);
|
|
2873
|
-
this.state =
|
|
2941
|
+
this.state = 703;
|
|
2874
2942
|
this.match(GenericSqlParser.T__1);
|
|
2875
|
-
this.state =
|
|
2943
|
+
this.state = 704;
|
|
2876
2944
|
this.queryStatement();
|
|
2877
|
-
this.state =
|
|
2945
|
+
this.state = 705;
|
|
2878
2946
|
this.match(GenericSqlParser.T__2);
|
|
2879
2947
|
}
|
|
2880
2948
|
break;
|
|
@@ -2882,7 +2950,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2882
2950
|
localContext = new SubqueryExpressionDefaultContext(localContext);
|
|
2883
2951
|
this.enterOuterAlt(localContext, 10);
|
|
2884
2952
|
{
|
|
2885
|
-
this.state =
|
|
2953
|
+
this.state = 707;
|
|
2886
2954
|
this.subqueryExpression();
|
|
2887
2955
|
}
|
|
2888
2956
|
break;
|
|
@@ -2890,8 +2958,8 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2890
2958
|
localContext = new ColumnReferenceContext(localContext);
|
|
2891
2959
|
this.enterOuterAlt(localContext, 11);
|
|
2892
2960
|
{
|
|
2893
|
-
this.state =
|
|
2894
|
-
this.
|
|
2961
|
+
this.state = 708;
|
|
2962
|
+
this.columnName();
|
|
2895
2963
|
}
|
|
2896
2964
|
break;
|
|
2897
2965
|
}
|
|
@@ -2913,17 +2981,17 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2913
2981
|
}
|
|
2914
2982
|
whenClause() {
|
|
2915
2983
|
let localContext = new WhenClauseContext(this.context, this.state);
|
|
2916
|
-
this.enterRule(localContext,
|
|
2984
|
+
this.enterRule(localContext, 86, GenericSqlParser.RULE_whenClause);
|
|
2917
2985
|
try {
|
|
2918
2986
|
this.enterOuterAlt(localContext, 1);
|
|
2919
2987
|
{
|
|
2920
|
-
this.state =
|
|
2988
|
+
this.state = 711;
|
|
2921
2989
|
this.match(GenericSqlParser.KW_WHEN);
|
|
2922
|
-
this.state =
|
|
2990
|
+
this.state = 712;
|
|
2923
2991
|
localContext._condition = this.expression();
|
|
2924
|
-
this.state =
|
|
2992
|
+
this.state = 713;
|
|
2925
2993
|
this.match(GenericSqlParser.KW_THEN);
|
|
2926
|
-
this.state =
|
|
2994
|
+
this.state = 714;
|
|
2927
2995
|
localContext._result = this.expression();
|
|
2928
2996
|
}
|
|
2929
2997
|
}
|
|
@@ -2944,15 +3012,15 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2944
3012
|
}
|
|
2945
3013
|
subqueryExpression() {
|
|
2946
3014
|
let localContext = new SubqueryExpressionContext(this.context, this.state);
|
|
2947
|
-
this.enterRule(localContext,
|
|
3015
|
+
this.enterRule(localContext, 88, GenericSqlParser.RULE_subqueryExpression);
|
|
2948
3016
|
try {
|
|
2949
3017
|
this.enterOuterAlt(localContext, 1);
|
|
2950
3018
|
{
|
|
2951
|
-
this.state =
|
|
3019
|
+
this.state = 716;
|
|
2952
3020
|
this.match(GenericSqlParser.T__1);
|
|
2953
|
-
this.state =
|
|
3021
|
+
this.state = 717;
|
|
2954
3022
|
this.queryStatement();
|
|
2955
|
-
this.state =
|
|
3023
|
+
this.state = 718;
|
|
2956
3024
|
this.match(GenericSqlParser.T__2);
|
|
2957
3025
|
}
|
|
2958
3026
|
}
|
|
@@ -2973,94 +3041,94 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
2973
3041
|
}
|
|
2974
3042
|
dataType() {
|
|
2975
3043
|
let localContext = new DataTypeContext(this.context, this.state);
|
|
2976
|
-
this.enterRule(localContext,
|
|
3044
|
+
this.enterRule(localContext, 90, GenericSqlParser.RULE_dataType);
|
|
2977
3045
|
let _la;
|
|
2978
3046
|
try {
|
|
2979
|
-
this.state =
|
|
3047
|
+
this.state = 766;
|
|
2980
3048
|
this.errorHandler.sync(this);
|
|
2981
3049
|
switch (this.tokenStream.LA(1)) {
|
|
2982
3050
|
case GenericSqlParser.KW_BOOLEAN:
|
|
2983
3051
|
this.enterOuterAlt(localContext, 1);
|
|
2984
3052
|
{
|
|
2985
|
-
this.state =
|
|
3053
|
+
this.state = 720;
|
|
2986
3054
|
this.match(GenericSqlParser.KW_BOOLEAN);
|
|
2987
3055
|
}
|
|
2988
3056
|
break;
|
|
2989
3057
|
case GenericSqlParser.KW_TINYINT:
|
|
2990
3058
|
this.enterOuterAlt(localContext, 2);
|
|
2991
3059
|
{
|
|
2992
|
-
this.state =
|
|
3060
|
+
this.state = 721;
|
|
2993
3061
|
this.match(GenericSqlParser.KW_TINYINT);
|
|
2994
3062
|
}
|
|
2995
3063
|
break;
|
|
2996
3064
|
case GenericSqlParser.KW_SMALLINT:
|
|
2997
3065
|
this.enterOuterAlt(localContext, 3);
|
|
2998
3066
|
{
|
|
2999
|
-
this.state =
|
|
3067
|
+
this.state = 722;
|
|
3000
3068
|
this.match(GenericSqlParser.KW_SMALLINT);
|
|
3001
3069
|
}
|
|
3002
3070
|
break;
|
|
3003
3071
|
case GenericSqlParser.KW_INT:
|
|
3004
3072
|
this.enterOuterAlt(localContext, 4);
|
|
3005
3073
|
{
|
|
3006
|
-
this.state =
|
|
3074
|
+
this.state = 723;
|
|
3007
3075
|
this.match(GenericSqlParser.KW_INT);
|
|
3008
3076
|
}
|
|
3009
3077
|
break;
|
|
3010
3078
|
case GenericSqlParser.KW_INTEGER:
|
|
3011
3079
|
this.enterOuterAlt(localContext, 5);
|
|
3012
3080
|
{
|
|
3013
|
-
this.state =
|
|
3081
|
+
this.state = 724;
|
|
3014
3082
|
this.match(GenericSqlParser.KW_INTEGER);
|
|
3015
3083
|
}
|
|
3016
3084
|
break;
|
|
3017
3085
|
case GenericSqlParser.KW_BIGINT:
|
|
3018
3086
|
this.enterOuterAlt(localContext, 6);
|
|
3019
3087
|
{
|
|
3020
|
-
this.state =
|
|
3088
|
+
this.state = 725;
|
|
3021
3089
|
this.match(GenericSqlParser.KW_BIGINT);
|
|
3022
3090
|
}
|
|
3023
3091
|
break;
|
|
3024
3092
|
case GenericSqlParser.KW_FLOAT:
|
|
3025
3093
|
this.enterOuterAlt(localContext, 7);
|
|
3026
3094
|
{
|
|
3027
|
-
this.state =
|
|
3095
|
+
this.state = 726;
|
|
3028
3096
|
this.match(GenericSqlParser.KW_FLOAT);
|
|
3029
3097
|
}
|
|
3030
3098
|
break;
|
|
3031
3099
|
case GenericSqlParser.KW_DOUBLE:
|
|
3032
3100
|
this.enterOuterAlt(localContext, 8);
|
|
3033
3101
|
{
|
|
3034
|
-
this.state =
|
|
3102
|
+
this.state = 727;
|
|
3035
3103
|
this.match(GenericSqlParser.KW_DOUBLE);
|
|
3036
3104
|
}
|
|
3037
3105
|
break;
|
|
3038
3106
|
case GenericSqlParser.KW_DECIMAL:
|
|
3039
3107
|
this.enterOuterAlt(localContext, 9);
|
|
3040
3108
|
{
|
|
3041
|
-
this.state =
|
|
3109
|
+
this.state = 728;
|
|
3042
3110
|
this.match(GenericSqlParser.KW_DECIMAL);
|
|
3043
|
-
this.state =
|
|
3111
|
+
this.state = 736;
|
|
3044
3112
|
this.errorHandler.sync(this);
|
|
3045
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
3113
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 87, this.context)) {
|
|
3046
3114
|
case 1:
|
|
3047
3115
|
{
|
|
3048
|
-
this.state =
|
|
3116
|
+
this.state = 729;
|
|
3049
3117
|
this.match(GenericSqlParser.T__1);
|
|
3050
|
-
this.state =
|
|
3118
|
+
this.state = 730;
|
|
3051
3119
|
localContext._precision = this.match(GenericSqlParser.INTEGER_VALUE);
|
|
3052
|
-
this.state =
|
|
3120
|
+
this.state = 733;
|
|
3053
3121
|
this.errorHandler.sync(this);
|
|
3054
3122
|
_la = this.tokenStream.LA(1);
|
|
3055
3123
|
if (_la === 1) {
|
|
3056
3124
|
{
|
|
3057
|
-
this.state =
|
|
3125
|
+
this.state = 731;
|
|
3058
3126
|
this.match(GenericSqlParser.T__0);
|
|
3059
|
-
this.state =
|
|
3127
|
+
this.state = 732;
|
|
3060
3128
|
localContext._scale = this.match(GenericSqlParser.INTEGER_VALUE);
|
|
3061
3129
|
}
|
|
3062
3130
|
}
|
|
3063
|
-
this.state =
|
|
3131
|
+
this.state = 735;
|
|
3064
3132
|
this.match(GenericSqlParser.T__2);
|
|
3065
3133
|
}
|
|
3066
3134
|
break;
|
|
@@ -3070,29 +3138,29 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3070
3138
|
case GenericSqlParser.KW_NUMERIC:
|
|
3071
3139
|
this.enterOuterAlt(localContext, 10);
|
|
3072
3140
|
{
|
|
3073
|
-
this.state =
|
|
3141
|
+
this.state = 738;
|
|
3074
3142
|
this.match(GenericSqlParser.KW_NUMERIC);
|
|
3075
|
-
this.state =
|
|
3143
|
+
this.state = 746;
|
|
3076
3144
|
this.errorHandler.sync(this);
|
|
3077
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
3145
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 89, this.context)) {
|
|
3078
3146
|
case 1:
|
|
3079
3147
|
{
|
|
3080
|
-
this.state =
|
|
3148
|
+
this.state = 739;
|
|
3081
3149
|
this.match(GenericSqlParser.T__1);
|
|
3082
|
-
this.state =
|
|
3150
|
+
this.state = 740;
|
|
3083
3151
|
localContext._precision = this.match(GenericSqlParser.INTEGER_VALUE);
|
|
3084
|
-
this.state =
|
|
3152
|
+
this.state = 743;
|
|
3085
3153
|
this.errorHandler.sync(this);
|
|
3086
3154
|
_la = this.tokenStream.LA(1);
|
|
3087
3155
|
if (_la === 1) {
|
|
3088
3156
|
{
|
|
3089
|
-
this.state =
|
|
3157
|
+
this.state = 741;
|
|
3090
3158
|
this.match(GenericSqlParser.T__0);
|
|
3091
|
-
this.state =
|
|
3159
|
+
this.state = 742;
|
|
3092
3160
|
localContext._scale = this.match(GenericSqlParser.INTEGER_VALUE);
|
|
3093
3161
|
}
|
|
3094
3162
|
}
|
|
3095
|
-
this.state =
|
|
3163
|
+
this.state = 745;
|
|
3096
3164
|
this.match(GenericSqlParser.T__2);
|
|
3097
3165
|
}
|
|
3098
3166
|
break;
|
|
@@ -3102,18 +3170,18 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3102
3170
|
case GenericSqlParser.KW_VARCHAR:
|
|
3103
3171
|
this.enterOuterAlt(localContext, 11);
|
|
3104
3172
|
{
|
|
3105
|
-
this.state =
|
|
3173
|
+
this.state = 748;
|
|
3106
3174
|
this.match(GenericSqlParser.KW_VARCHAR);
|
|
3107
|
-
this.state =
|
|
3175
|
+
this.state = 752;
|
|
3108
3176
|
this.errorHandler.sync(this);
|
|
3109
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
3177
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 90, this.context)) {
|
|
3110
3178
|
case 1:
|
|
3111
3179
|
{
|
|
3112
|
-
this.state =
|
|
3180
|
+
this.state = 749;
|
|
3113
3181
|
this.match(GenericSqlParser.T__1);
|
|
3114
|
-
this.state =
|
|
3182
|
+
this.state = 750;
|
|
3115
3183
|
localContext._maxLength = this.match(GenericSqlParser.INTEGER_VALUE);
|
|
3116
|
-
this.state =
|
|
3184
|
+
this.state = 751;
|
|
3117
3185
|
this.match(GenericSqlParser.T__2);
|
|
3118
3186
|
}
|
|
3119
3187
|
break;
|
|
@@ -3123,18 +3191,18 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3123
3191
|
case GenericSqlParser.KW_CHAR:
|
|
3124
3192
|
this.enterOuterAlt(localContext, 12);
|
|
3125
3193
|
{
|
|
3126
|
-
this.state =
|
|
3194
|
+
this.state = 754;
|
|
3127
3195
|
this.match(GenericSqlParser.KW_CHAR);
|
|
3128
|
-
this.state =
|
|
3196
|
+
this.state = 758;
|
|
3129
3197
|
this.errorHandler.sync(this);
|
|
3130
|
-
switch (this.interpreter.adaptivePredict(this.tokenStream,
|
|
3198
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 91, this.context)) {
|
|
3131
3199
|
case 1:
|
|
3132
3200
|
{
|
|
3133
|
-
this.state =
|
|
3201
|
+
this.state = 755;
|
|
3134
3202
|
this.match(GenericSqlParser.T__1);
|
|
3135
|
-
this.state =
|
|
3203
|
+
this.state = 756;
|
|
3136
3204
|
localContext._length = this.match(GenericSqlParser.INTEGER_VALUE);
|
|
3137
|
-
this.state =
|
|
3205
|
+
this.state = 757;
|
|
3138
3206
|
this.match(GenericSqlParser.T__2);
|
|
3139
3207
|
}
|
|
3140
3208
|
break;
|
|
@@ -3144,42 +3212,42 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3144
3212
|
case GenericSqlParser.KW_TEXT:
|
|
3145
3213
|
this.enterOuterAlt(localContext, 13);
|
|
3146
3214
|
{
|
|
3147
|
-
this.state =
|
|
3215
|
+
this.state = 760;
|
|
3148
3216
|
this.match(GenericSqlParser.KW_TEXT);
|
|
3149
3217
|
}
|
|
3150
3218
|
break;
|
|
3151
3219
|
case GenericSqlParser.KW_DATE:
|
|
3152
3220
|
this.enterOuterAlt(localContext, 14);
|
|
3153
3221
|
{
|
|
3154
|
-
this.state =
|
|
3222
|
+
this.state = 761;
|
|
3155
3223
|
this.match(GenericSqlParser.KW_DATE);
|
|
3156
3224
|
}
|
|
3157
3225
|
break;
|
|
3158
3226
|
case GenericSqlParser.KW_TIME:
|
|
3159
3227
|
this.enterOuterAlt(localContext, 15);
|
|
3160
3228
|
{
|
|
3161
|
-
this.state =
|
|
3229
|
+
this.state = 762;
|
|
3162
3230
|
this.match(GenericSqlParser.KW_TIME);
|
|
3163
3231
|
}
|
|
3164
3232
|
break;
|
|
3165
3233
|
case GenericSqlParser.KW_TIMESTAMP:
|
|
3166
3234
|
this.enterOuterAlt(localContext, 16);
|
|
3167
3235
|
{
|
|
3168
|
-
this.state =
|
|
3236
|
+
this.state = 763;
|
|
3169
3237
|
this.match(GenericSqlParser.KW_TIMESTAMP);
|
|
3170
3238
|
}
|
|
3171
3239
|
break;
|
|
3172
3240
|
case GenericSqlParser.KW_BINARY:
|
|
3173
3241
|
this.enterOuterAlt(localContext, 17);
|
|
3174
3242
|
{
|
|
3175
|
-
this.state =
|
|
3243
|
+
this.state = 764;
|
|
3176
3244
|
this.match(GenericSqlParser.KW_BINARY);
|
|
3177
3245
|
}
|
|
3178
3246
|
break;
|
|
3179
3247
|
case GenericSqlParser.KW_VARBINARY:
|
|
3180
3248
|
this.enterOuterAlt(localContext, 18);
|
|
3181
3249
|
{
|
|
3182
|
-
this.state =
|
|
3250
|
+
this.state = 765;
|
|
3183
3251
|
this.match(GenericSqlParser.KW_VARBINARY);
|
|
3184
3252
|
}
|
|
3185
3253
|
break;
|
|
@@ -3204,32 +3272,32 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3204
3272
|
}
|
|
3205
3273
|
properties() {
|
|
3206
3274
|
let localContext = new PropertiesContext(this.context, this.state);
|
|
3207
|
-
this.enterRule(localContext,
|
|
3275
|
+
this.enterRule(localContext, 92, GenericSqlParser.RULE_properties);
|
|
3208
3276
|
let _la;
|
|
3209
3277
|
try {
|
|
3210
3278
|
this.enterOuterAlt(localContext, 1);
|
|
3211
3279
|
{
|
|
3212
|
-
this.state =
|
|
3280
|
+
this.state = 768;
|
|
3213
3281
|
this.match(GenericSqlParser.T__1);
|
|
3214
|
-
this.state =
|
|
3282
|
+
this.state = 769;
|
|
3215
3283
|
this.property();
|
|
3216
|
-
this.state =
|
|
3284
|
+
this.state = 774;
|
|
3217
3285
|
this.errorHandler.sync(this);
|
|
3218
3286
|
_la = this.tokenStream.LA(1);
|
|
3219
3287
|
while (_la === 1) {
|
|
3220
3288
|
{
|
|
3221
3289
|
{
|
|
3222
|
-
this.state =
|
|
3290
|
+
this.state = 770;
|
|
3223
3291
|
this.match(GenericSqlParser.T__0);
|
|
3224
|
-
this.state =
|
|
3292
|
+
this.state = 771;
|
|
3225
3293
|
this.property();
|
|
3226
3294
|
}
|
|
3227
3295
|
}
|
|
3228
|
-
this.state =
|
|
3296
|
+
this.state = 776;
|
|
3229
3297
|
this.errorHandler.sync(this);
|
|
3230
3298
|
_la = this.tokenStream.LA(1);
|
|
3231
3299
|
}
|
|
3232
|
-
this.state =
|
|
3300
|
+
this.state = 777;
|
|
3233
3301
|
this.match(GenericSqlParser.T__2);
|
|
3234
3302
|
}
|
|
3235
3303
|
}
|
|
@@ -3250,15 +3318,15 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3250
3318
|
}
|
|
3251
3319
|
property() {
|
|
3252
3320
|
let localContext = new PropertyContext(this.context, this.state);
|
|
3253
|
-
this.enterRule(localContext,
|
|
3321
|
+
this.enterRule(localContext, 94, GenericSqlParser.RULE_property);
|
|
3254
3322
|
try {
|
|
3255
3323
|
this.enterOuterAlt(localContext, 1);
|
|
3256
3324
|
{
|
|
3257
|
-
this.state =
|
|
3325
|
+
this.state = 779;
|
|
3258
3326
|
this.identifier();
|
|
3259
|
-
this.state =
|
|
3327
|
+
this.state = 780;
|
|
3260
3328
|
this.match(GenericSqlParser.EQ);
|
|
3261
|
-
this.state =
|
|
3329
|
+
this.state = 781;
|
|
3262
3330
|
this.literal();
|
|
3263
3331
|
}
|
|
3264
3332
|
}
|
|
@@ -3279,16 +3347,16 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3279
3347
|
}
|
|
3280
3348
|
literal() {
|
|
3281
3349
|
let localContext = new LiteralContext(this.context, this.state);
|
|
3282
|
-
this.enterRule(localContext,
|
|
3350
|
+
this.enterRule(localContext, 96, GenericSqlParser.RULE_literal);
|
|
3283
3351
|
try {
|
|
3284
|
-
this.state =
|
|
3352
|
+
this.state = 791;
|
|
3285
3353
|
this.errorHandler.sync(this);
|
|
3286
3354
|
switch (this.tokenStream.LA(1)) {
|
|
3287
3355
|
case GenericSqlParser.KW_NULL:
|
|
3288
3356
|
localContext = new NullLiteralContext(localContext);
|
|
3289
3357
|
this.enterOuterAlt(localContext, 1);
|
|
3290
3358
|
{
|
|
3291
|
-
this.state =
|
|
3359
|
+
this.state = 783;
|
|
3292
3360
|
this.match(GenericSqlParser.KW_NULL);
|
|
3293
3361
|
}
|
|
3294
3362
|
break;
|
|
@@ -3296,7 +3364,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3296
3364
|
localContext = new BooleanLiteralContext(localContext);
|
|
3297
3365
|
this.enterOuterAlt(localContext, 2);
|
|
3298
3366
|
{
|
|
3299
|
-
this.state =
|
|
3367
|
+
this.state = 784;
|
|
3300
3368
|
this.match(GenericSqlParser.KW_TRUE);
|
|
3301
3369
|
}
|
|
3302
3370
|
break;
|
|
@@ -3304,7 +3372,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3304
3372
|
localContext = new BooleanLiteralContext(localContext);
|
|
3305
3373
|
this.enterOuterAlt(localContext, 3);
|
|
3306
3374
|
{
|
|
3307
|
-
this.state =
|
|
3375
|
+
this.state = 785;
|
|
3308
3376
|
this.match(GenericSqlParser.KW_FALSE);
|
|
3309
3377
|
}
|
|
3310
3378
|
break;
|
|
@@ -3312,7 +3380,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3312
3380
|
localContext = new IntegerLiteralContext(localContext);
|
|
3313
3381
|
this.enterOuterAlt(localContext, 4);
|
|
3314
3382
|
{
|
|
3315
|
-
this.state =
|
|
3383
|
+
this.state = 786;
|
|
3316
3384
|
this.match(GenericSqlParser.INTEGER_VALUE);
|
|
3317
3385
|
}
|
|
3318
3386
|
break;
|
|
@@ -3320,7 +3388,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3320
3388
|
localContext = new DecimalLiteralContext(localContext);
|
|
3321
3389
|
this.enterOuterAlt(localContext, 5);
|
|
3322
3390
|
{
|
|
3323
|
-
this.state =
|
|
3391
|
+
this.state = 787;
|
|
3324
3392
|
this.match(GenericSqlParser.DECIMAL_VALUE);
|
|
3325
3393
|
}
|
|
3326
3394
|
break;
|
|
@@ -3328,7 +3396,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3328
3396
|
localContext = new DoubleLiteralContext(localContext);
|
|
3329
3397
|
this.enterOuterAlt(localContext, 6);
|
|
3330
3398
|
{
|
|
3331
|
-
this.state =
|
|
3399
|
+
this.state = 788;
|
|
3332
3400
|
this.match(GenericSqlParser.DOUBLE_VALUE);
|
|
3333
3401
|
}
|
|
3334
3402
|
break;
|
|
@@ -3336,7 +3404,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3336
3404
|
localContext = new StringLiteralContext(localContext);
|
|
3337
3405
|
this.enterOuterAlt(localContext, 7);
|
|
3338
3406
|
{
|
|
3339
|
-
this.state =
|
|
3407
|
+
this.state = 789;
|
|
3340
3408
|
this.match(GenericSqlParser.STRING);
|
|
3341
3409
|
}
|
|
3342
3410
|
break;
|
|
@@ -3344,7 +3412,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3344
3412
|
localContext = new BinaryLiteralContext(localContext);
|
|
3345
3413
|
this.enterOuterAlt(localContext, 8);
|
|
3346
3414
|
{
|
|
3347
|
-
this.state =
|
|
3415
|
+
this.state = 790;
|
|
3348
3416
|
this.match(GenericSqlParser.BINARY_LITERAL);
|
|
3349
3417
|
}
|
|
3350
3418
|
break;
|
|
@@ -3369,36 +3437,36 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3369
3437
|
}
|
|
3370
3438
|
identifier() {
|
|
3371
3439
|
let localContext = new IdentifierContext(this.context, this.state);
|
|
3372
|
-
this.enterRule(localContext,
|
|
3440
|
+
this.enterRule(localContext, 98, GenericSqlParser.RULE_identifier);
|
|
3373
3441
|
try {
|
|
3374
|
-
this.state =
|
|
3442
|
+
this.state = 798;
|
|
3375
3443
|
this.errorHandler.sync(this);
|
|
3376
3444
|
switch (this.tokenStream.LA(1)) {
|
|
3377
3445
|
case GenericSqlParser.IDENTIFIER:
|
|
3378
3446
|
this.enterOuterAlt(localContext, 1);
|
|
3379
3447
|
{
|
|
3380
|
-
this.state =
|
|
3448
|
+
this.state = 793;
|
|
3381
3449
|
this.match(GenericSqlParser.IDENTIFIER);
|
|
3382
3450
|
}
|
|
3383
3451
|
break;
|
|
3384
3452
|
case GenericSqlParser.DIGIT_IDENTIFIER:
|
|
3385
3453
|
this.enterOuterAlt(localContext, 2);
|
|
3386
3454
|
{
|
|
3387
|
-
this.state =
|
|
3455
|
+
this.state = 794;
|
|
3388
3456
|
this.match(GenericSqlParser.DIGIT_IDENTIFIER);
|
|
3389
3457
|
}
|
|
3390
3458
|
break;
|
|
3391
3459
|
case GenericSqlParser.QUOTED_IDENTIFIER:
|
|
3392
3460
|
this.enterOuterAlt(localContext, 3);
|
|
3393
3461
|
{
|
|
3394
|
-
this.state =
|
|
3462
|
+
this.state = 795;
|
|
3395
3463
|
this.match(GenericSqlParser.QUOTED_IDENTIFIER);
|
|
3396
3464
|
}
|
|
3397
3465
|
break;
|
|
3398
3466
|
case GenericSqlParser.BACKQUOTED_IDENTIFIER:
|
|
3399
3467
|
this.enterOuterAlt(localContext, 4);
|
|
3400
3468
|
{
|
|
3401
|
-
this.state =
|
|
3469
|
+
this.state = 796;
|
|
3402
3470
|
this.match(GenericSqlParser.BACKQUOTED_IDENTIFIER);
|
|
3403
3471
|
}
|
|
3404
3472
|
break;
|
|
@@ -3447,7 +3515,7 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3447
3515
|
case GenericSqlParser.KW_VARBINARY:
|
|
3448
3516
|
this.enterOuterAlt(localContext, 5);
|
|
3449
3517
|
{
|
|
3450
|
-
this.state =
|
|
3518
|
+
this.state = 797;
|
|
3451
3519
|
this.nonReserved();
|
|
3452
3520
|
}
|
|
3453
3521
|
break;
|
|
@@ -3472,30 +3540,30 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3472
3540
|
}
|
|
3473
3541
|
qualifiedName() {
|
|
3474
3542
|
let localContext = new QualifiedNameContext(this.context, this.state);
|
|
3475
|
-
this.enterRule(localContext,
|
|
3543
|
+
this.enterRule(localContext, 100, GenericSqlParser.RULE_qualifiedName);
|
|
3476
3544
|
try {
|
|
3477
3545
|
let alternative;
|
|
3478
3546
|
this.enterOuterAlt(localContext, 1);
|
|
3479
3547
|
{
|
|
3480
|
-
this.state =
|
|
3548
|
+
this.state = 800;
|
|
3481
3549
|
this.identifier();
|
|
3482
|
-
this.state =
|
|
3550
|
+
this.state = 805;
|
|
3483
3551
|
this.errorHandler.sync(this);
|
|
3484
|
-
alternative = this.interpreter.adaptivePredict(this.tokenStream,
|
|
3552
|
+
alternative = this.interpreter.adaptivePredict(this.tokenStream, 96, this.context);
|
|
3485
3553
|
while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
|
|
3486
3554
|
if (alternative === 1) {
|
|
3487
3555
|
{
|
|
3488
3556
|
{
|
|
3489
|
-
this.state =
|
|
3557
|
+
this.state = 801;
|
|
3490
3558
|
this.match(GenericSqlParser.T__3);
|
|
3491
|
-
this.state =
|
|
3559
|
+
this.state = 802;
|
|
3492
3560
|
this.identifier();
|
|
3493
3561
|
}
|
|
3494
3562
|
}
|
|
3495
3563
|
}
|
|
3496
|
-
this.state =
|
|
3564
|
+
this.state = 807;
|
|
3497
3565
|
this.errorHandler.sync(this);
|
|
3498
|
-
alternative = this.interpreter.adaptivePredict(this.tokenStream,
|
|
3566
|
+
alternative = this.interpreter.adaptivePredict(this.tokenStream, 96, this.context);
|
|
3499
3567
|
}
|
|
3500
3568
|
}
|
|
3501
3569
|
}
|
|
@@ -3516,12 +3584,78 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3516
3584
|
}
|
|
3517
3585
|
columnRef() {
|
|
3518
3586
|
let localContext = new ColumnRefContext(this.context, this.state);
|
|
3519
|
-
this.enterRule(localContext,
|
|
3587
|
+
this.enterRule(localContext, 102, GenericSqlParser.RULE_columnRef);
|
|
3588
|
+
try {
|
|
3589
|
+
this.state = 811;
|
|
3590
|
+
this.errorHandler.sync(this);
|
|
3591
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 97, this.context)) {
|
|
3592
|
+
case 1:
|
|
3593
|
+
this.enterOuterAlt(localContext, 1);
|
|
3594
|
+
{
|
|
3595
|
+
this.state = 808;
|
|
3596
|
+
this.identifier();
|
|
3597
|
+
}
|
|
3598
|
+
break;
|
|
3599
|
+
case 2:
|
|
3600
|
+
this.enterOuterAlt(localContext, 2);
|
|
3601
|
+
{
|
|
3602
|
+
this.state = 809;
|
|
3603
|
+
if (!(this.shouldMatchEmpty())) {
|
|
3604
|
+
throw this.createFailedPredicateException("this.shouldMatchEmpty()");
|
|
3605
|
+
}
|
|
3606
|
+
this.state = 810;
|
|
3607
|
+
this.emptyColumn();
|
|
3608
|
+
}
|
|
3609
|
+
break;
|
|
3610
|
+
}
|
|
3611
|
+
}
|
|
3612
|
+
catch (re) {
|
|
3613
|
+
if (re instanceof antlr.RecognitionException) {
|
|
3614
|
+
localContext.exception = re;
|
|
3615
|
+
this.errorHandler.reportError(this, re);
|
|
3616
|
+
this.errorHandler.recover(this, re);
|
|
3617
|
+
}
|
|
3618
|
+
else {
|
|
3619
|
+
throw re;
|
|
3620
|
+
}
|
|
3621
|
+
}
|
|
3622
|
+
finally {
|
|
3623
|
+
this.exitRule();
|
|
3624
|
+
}
|
|
3625
|
+
return localContext;
|
|
3626
|
+
}
|
|
3627
|
+
columnName() {
|
|
3628
|
+
let localContext = new ColumnNameContext(this.context, this.state);
|
|
3629
|
+
this.enterRule(localContext, 104, GenericSqlParser.RULE_columnName);
|
|
3520
3630
|
try {
|
|
3521
3631
|
this.enterOuterAlt(localContext, 1);
|
|
3522
3632
|
{
|
|
3523
|
-
this.state =
|
|
3524
|
-
this.
|
|
3633
|
+
this.state = 813;
|
|
3634
|
+
this.qualifiedName();
|
|
3635
|
+
}
|
|
3636
|
+
}
|
|
3637
|
+
catch (re) {
|
|
3638
|
+
if (re instanceof antlr.RecognitionException) {
|
|
3639
|
+
localContext.exception = re;
|
|
3640
|
+
this.errorHandler.reportError(this, re);
|
|
3641
|
+
this.errorHandler.recover(this, re);
|
|
3642
|
+
}
|
|
3643
|
+
else {
|
|
3644
|
+
throw re;
|
|
3645
|
+
}
|
|
3646
|
+
}
|
|
3647
|
+
finally {
|
|
3648
|
+
this.exitRule();
|
|
3649
|
+
}
|
|
3650
|
+
return localContext;
|
|
3651
|
+
}
|
|
3652
|
+
emptyColumn() {
|
|
3653
|
+
let localContext = new EmptyColumnContext(this.context, this.state);
|
|
3654
|
+
this.enterRule(localContext, 106, GenericSqlParser.RULE_emptyColumn);
|
|
3655
|
+
try {
|
|
3656
|
+
this.enterOuterAlt(localContext, 1);
|
|
3657
|
+
// tslint:disable-next-line:no-empty
|
|
3658
|
+
{
|
|
3525
3659
|
}
|
|
3526
3660
|
}
|
|
3527
3661
|
catch (re) {
|
|
@@ -3541,11 +3675,11 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3541
3675
|
}
|
|
3542
3676
|
tableName() {
|
|
3543
3677
|
let localContext = new TableNameContext(this.context, this.state);
|
|
3544
|
-
this.enterRule(localContext,
|
|
3678
|
+
this.enterRule(localContext, 108, GenericSqlParser.RULE_tableName);
|
|
3545
3679
|
try {
|
|
3546
3680
|
this.enterOuterAlt(localContext, 1);
|
|
3547
3681
|
{
|
|
3548
|
-
this.state =
|
|
3682
|
+
this.state = 817;
|
|
3549
3683
|
this.qualifiedName();
|
|
3550
3684
|
}
|
|
3551
3685
|
}
|
|
@@ -3566,11 +3700,36 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3566
3700
|
}
|
|
3567
3701
|
tableNameCreate() {
|
|
3568
3702
|
let localContext = new TableNameCreateContext(this.context, this.state);
|
|
3569
|
-
this.enterRule(localContext,
|
|
3703
|
+
this.enterRule(localContext, 110, GenericSqlParser.RULE_tableNameCreate);
|
|
3704
|
+
try {
|
|
3705
|
+
this.enterOuterAlt(localContext, 1);
|
|
3706
|
+
{
|
|
3707
|
+
this.state = 819;
|
|
3708
|
+
this.qualifiedName();
|
|
3709
|
+
}
|
|
3710
|
+
}
|
|
3711
|
+
catch (re) {
|
|
3712
|
+
if (re instanceof antlr.RecognitionException) {
|
|
3713
|
+
localContext.exception = re;
|
|
3714
|
+
this.errorHandler.reportError(this, re);
|
|
3715
|
+
this.errorHandler.recover(this, re);
|
|
3716
|
+
}
|
|
3717
|
+
else {
|
|
3718
|
+
throw re;
|
|
3719
|
+
}
|
|
3720
|
+
}
|
|
3721
|
+
finally {
|
|
3722
|
+
this.exitRule();
|
|
3723
|
+
}
|
|
3724
|
+
return localContext;
|
|
3725
|
+
}
|
|
3726
|
+
functionName() {
|
|
3727
|
+
let localContext = new FunctionNameContext(this.context, this.state);
|
|
3728
|
+
this.enterRule(localContext, 112, GenericSqlParser.RULE_functionName);
|
|
3570
3729
|
try {
|
|
3571
3730
|
this.enterOuterAlt(localContext, 1);
|
|
3572
3731
|
{
|
|
3573
|
-
this.state =
|
|
3732
|
+
this.state = 821;
|
|
3574
3733
|
this.qualifiedName();
|
|
3575
3734
|
}
|
|
3576
3735
|
}
|
|
@@ -3591,12 +3750,12 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3591
3750
|
}
|
|
3592
3751
|
nonReserved() {
|
|
3593
3752
|
let localContext = new NonReservedContext(this.context, this.state);
|
|
3594
|
-
this.enterRule(localContext,
|
|
3753
|
+
this.enterRule(localContext, 114, GenericSqlParser.RULE_nonReserved);
|
|
3595
3754
|
let _la;
|
|
3596
3755
|
try {
|
|
3597
3756
|
this.enterOuterAlt(localContext, 1);
|
|
3598
3757
|
{
|
|
3599
|
-
this.state =
|
|
3758
|
+
this.state = 823;
|
|
3600
3759
|
_la = this.tokenStream.LA(1);
|
|
3601
3760
|
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))) {
|
|
3602
3761
|
this.errorHandler.recoverInline(this);
|
|
@@ -3624,42 +3783,60 @@ export class GenericSqlParser extends SQLParserBase {
|
|
|
3624
3783
|
}
|
|
3625
3784
|
sempred(localContext, ruleIndex, predIndex) {
|
|
3626
3785
|
switch (ruleIndex) {
|
|
3786
|
+
case 12:
|
|
3787
|
+
return this.selectItem_sempred(localContext, predIndex);
|
|
3627
3788
|
case 14:
|
|
3628
3789
|
return this.relation_sempred(localContext, predIndex);
|
|
3629
|
-
case
|
|
3790
|
+
case 37:
|
|
3630
3791
|
return this.booleanExpression_sempred(localContext, predIndex);
|
|
3631
|
-
case
|
|
3792
|
+
case 41:
|
|
3632
3793
|
return this.valueExpression_sempred(localContext, predIndex);
|
|
3794
|
+
case 51:
|
|
3795
|
+
return this.columnRef_sempred(localContext, predIndex);
|
|
3633
3796
|
}
|
|
3634
3797
|
return true;
|
|
3635
3798
|
}
|
|
3636
|
-
|
|
3799
|
+
selectItem_sempred(localContext, predIndex) {
|
|
3637
3800
|
switch (predIndex) {
|
|
3638
3801
|
case 0:
|
|
3639
|
-
return this.
|
|
3802
|
+
return this.shouldMatchEmpty();
|
|
3640
3803
|
}
|
|
3641
3804
|
return true;
|
|
3642
3805
|
}
|
|
3643
|
-
|
|
3806
|
+
relation_sempred(localContext, predIndex) {
|
|
3644
3807
|
switch (predIndex) {
|
|
3645
3808
|
case 1:
|
|
3646
3809
|
return this.precpred(this.context, 2);
|
|
3810
|
+
}
|
|
3811
|
+
return true;
|
|
3812
|
+
}
|
|
3813
|
+
booleanExpression_sempred(localContext, predIndex) {
|
|
3814
|
+
switch (predIndex) {
|
|
3647
3815
|
case 2:
|
|
3816
|
+
return this.precpred(this.context, 2);
|
|
3817
|
+
case 3:
|
|
3648
3818
|
return this.precpred(this.context, 1);
|
|
3649
3819
|
}
|
|
3650
3820
|
return true;
|
|
3651
3821
|
}
|
|
3652
3822
|
valueExpression_sempred(localContext, predIndex) {
|
|
3653
3823
|
switch (predIndex) {
|
|
3654
|
-
case 3:
|
|
3655
|
-
return this.precpred(this.context, 3);
|
|
3656
3824
|
case 4:
|
|
3657
|
-
return this.precpred(this.context,
|
|
3825
|
+
return this.precpred(this.context, 3);
|
|
3658
3826
|
case 5:
|
|
3827
|
+
return this.precpred(this.context, 2);
|
|
3828
|
+
case 6:
|
|
3659
3829
|
return this.precpred(this.context, 1);
|
|
3660
3830
|
}
|
|
3661
3831
|
return true;
|
|
3662
3832
|
}
|
|
3833
|
+
columnRef_sempred(localContext, predIndex) {
|
|
3834
|
+
switch (predIndex) {
|
|
3835
|
+
case 7:
|
|
3836
|
+
return this.shouldMatchEmpty();
|
|
3837
|
+
}
|
|
3838
|
+
return true;
|
|
3839
|
+
}
|
|
3663
3840
|
static get _ATN() {
|
|
3664
3841
|
if (!GenericSqlParser.__ATN) {
|
|
3665
3842
|
GenericSqlParser.__ATN = new antlr.ATNDeserializer().deserialize(GenericSqlParser._serializedATN);
|
|
@@ -3824,28 +4001,32 @@ GenericSqlParser.RULE_deleteStatement = 28;
|
|
|
3824
4001
|
GenericSqlParser.RULE_createTableStatement = 29;
|
|
3825
4002
|
GenericSqlParser.RULE_tableElement = 30;
|
|
3826
4003
|
GenericSqlParser.RULE_columnDefinition = 31;
|
|
3827
|
-
GenericSqlParser.
|
|
3828
|
-
GenericSqlParser.
|
|
3829
|
-
GenericSqlParser.
|
|
3830
|
-
GenericSqlParser.
|
|
3831
|
-
GenericSqlParser.
|
|
3832
|
-
GenericSqlParser.
|
|
3833
|
-
GenericSqlParser.
|
|
3834
|
-
GenericSqlParser.
|
|
3835
|
-
GenericSqlParser.
|
|
3836
|
-
GenericSqlParser.
|
|
3837
|
-
GenericSqlParser.
|
|
3838
|
-
GenericSqlParser.
|
|
3839
|
-
GenericSqlParser.
|
|
3840
|
-
GenericSqlParser.
|
|
3841
|
-
GenericSqlParser.
|
|
3842
|
-
GenericSqlParser.
|
|
3843
|
-
GenericSqlParser.
|
|
3844
|
-
GenericSqlParser.
|
|
3845
|
-
GenericSqlParser.
|
|
3846
|
-
GenericSqlParser.
|
|
3847
|
-
GenericSqlParser.
|
|
3848
|
-
GenericSqlParser.
|
|
4004
|
+
GenericSqlParser.RULE_columnRefCreate = 32;
|
|
4005
|
+
GenericSqlParser.RULE_tableConstraint = 33;
|
|
4006
|
+
GenericSqlParser.RULE_alterTableStatement = 34;
|
|
4007
|
+
GenericSqlParser.RULE_dropTableStatement = 35;
|
|
4008
|
+
GenericSqlParser.RULE_expression = 36;
|
|
4009
|
+
GenericSqlParser.RULE_booleanExpression = 37;
|
|
4010
|
+
GenericSqlParser.RULE_predicatedExpression = 38;
|
|
4011
|
+
GenericSqlParser.RULE_predicate = 39;
|
|
4012
|
+
GenericSqlParser.RULE_comparisonOperator = 40;
|
|
4013
|
+
GenericSqlParser.RULE_valueExpression = 41;
|
|
4014
|
+
GenericSqlParser.RULE_primaryExpression = 42;
|
|
4015
|
+
GenericSqlParser.RULE_whenClause = 43;
|
|
4016
|
+
GenericSqlParser.RULE_subqueryExpression = 44;
|
|
4017
|
+
GenericSqlParser.RULE_dataType = 45;
|
|
4018
|
+
GenericSqlParser.RULE_properties = 46;
|
|
4019
|
+
GenericSqlParser.RULE_property = 47;
|
|
4020
|
+
GenericSqlParser.RULE_literal = 48;
|
|
4021
|
+
GenericSqlParser.RULE_identifier = 49;
|
|
4022
|
+
GenericSqlParser.RULE_qualifiedName = 50;
|
|
4023
|
+
GenericSqlParser.RULE_columnRef = 51;
|
|
4024
|
+
GenericSqlParser.RULE_columnName = 52;
|
|
4025
|
+
GenericSqlParser.RULE_emptyColumn = 53;
|
|
4026
|
+
GenericSqlParser.RULE_tableName = 54;
|
|
4027
|
+
GenericSqlParser.RULE_tableNameCreate = 55;
|
|
4028
|
+
GenericSqlParser.RULE_functionName = 56;
|
|
4029
|
+
GenericSqlParser.RULE_nonReserved = 57;
|
|
3849
4030
|
GenericSqlParser.literalNames = [
|
|
3850
4031
|
null, "','", "'('", "')'", "'.'", "'ADD'", "'ALL'", "'ALTER'", "'AND'",
|
|
3851
4032
|
"'AS'", "'ASC'", "'BETWEEN'", "'BIGINT'", "'BINARY'", "'BOOLEAN'",
|
|
@@ -3897,15 +4078,15 @@ GenericSqlParser.ruleNames = [
|
|
|
3897
4078
|
"groupByClause", "havingClause", "orderByClause", "sortItem", "limitClause",
|
|
3898
4079
|
"insertStatement", "columnList", "updateStatement", "updateAssignment",
|
|
3899
4080
|
"deleteStatement", "createTableStatement", "tableElement", "columnDefinition",
|
|
3900
|
-
"tableConstraint", "alterTableStatement", "dropTableStatement",
|
|
4081
|
+
"columnRefCreate", "tableConstraint", "alterTableStatement", "dropTableStatement",
|
|
3901
4082
|
"expression", "booleanExpression", "predicatedExpression", "predicate",
|
|
3902
4083
|
"comparisonOperator", "valueExpression", "primaryExpression", "whenClause",
|
|
3903
4084
|
"subqueryExpression", "dataType", "properties", "property", "literal",
|
|
3904
|
-
"identifier", "qualifiedName", "columnRef", "
|
|
3905
|
-
"nonReserved",
|
|
4085
|
+
"identifier", "qualifiedName", "columnRef", "columnName", "emptyColumn",
|
|
4086
|
+
"tableName", "tableNameCreate", "functionName", "nonReserved",
|
|
3906
4087
|
];
|
|
3907
4088
|
GenericSqlParser._serializedATN = [
|
|
3908
|
-
4, 1, 122,
|
|
4089
|
+
4, 1, 122, 826, 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,
|
|
3909
4090
|
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,
|
|
3910
4091
|
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,
|
|
3911
4092
|
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,
|
|
@@ -3913,305 +4094,315 @@ GenericSqlParser._serializedATN = [
|
|
|
3913
4094
|
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,
|
|
3914
4095
|
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,
|
|
3915
4096
|
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,
|
|
3916
|
-
52, 2, 53, 7, 53,
|
|
3917
|
-
|
|
3918
|
-
|
|
3919
|
-
5,
|
|
3920
|
-
|
|
3921
|
-
|
|
3922
|
-
|
|
3923
|
-
|
|
3924
|
-
|
|
3925
|
-
12,
|
|
3926
|
-
|
|
3927
|
-
|
|
3928
|
-
|
|
3929
|
-
1, 15, 3, 15,
|
|
3930
|
-
|
|
3931
|
-
|
|
3932
|
-
|
|
3933
|
-
|
|
3934
|
-
|
|
3935
|
-
|
|
3936
|
-
|
|
3937
|
-
|
|
3938
|
-
|
|
3939
|
-
|
|
3940
|
-
|
|
3941
|
-
|
|
3942
|
-
|
|
3943
|
-
|
|
3944
|
-
|
|
3945
|
-
|
|
3946
|
-
|
|
3947
|
-
|
|
3948
|
-
|
|
3949
|
-
|
|
3950
|
-
|
|
3951
|
-
|
|
3952
|
-
1,
|
|
3953
|
-
1, 37, 3, 37,
|
|
3954
|
-
|
|
3955
|
-
|
|
3956
|
-
|
|
3957
|
-
|
|
3958
|
-
1,
|
|
3959
|
-
|
|
3960
|
-
|
|
3961
|
-
|
|
3962
|
-
|
|
3963
|
-
|
|
3964
|
-
|
|
3965
|
-
|
|
3966
|
-
1,
|
|
3967
|
-
|
|
3968
|
-
1,
|
|
3969
|
-
1,
|
|
3970
|
-
|
|
3971
|
-
8,
|
|
3972
|
-
|
|
3973
|
-
|
|
3974
|
-
1,
|
|
3975
|
-
|
|
3976
|
-
|
|
3977
|
-
|
|
3978
|
-
|
|
3979
|
-
|
|
3980
|
-
|
|
3981
|
-
|
|
3982
|
-
|
|
3983
|
-
1, 0,
|
|
3984
|
-
|
|
3985
|
-
|
|
3986
|
-
0, 0,
|
|
3987
|
-
|
|
3988
|
-
1, 0, 0, 0,
|
|
3989
|
-
0, 0,
|
|
3990
|
-
|
|
3991
|
-
1, 0, 0, 0,
|
|
3992
|
-
0, 0,
|
|
3993
|
-
|
|
3994
|
-
1, 0, 0, 0,
|
|
3995
|
-
0, 0, 0,
|
|
3996
|
-
0, 0,
|
|
3997
|
-
|
|
3998
|
-
|
|
3999
|
-
|
|
4000
|
-
|
|
4001
|
-
|
|
4002
|
-
|
|
4003
|
-
|
|
4004
|
-
0,
|
|
4005
|
-
|
|
4006
|
-
|
|
4007
|
-
|
|
4008
|
-
|
|
4009
|
-
|
|
4010
|
-
|
|
4011
|
-
|
|
4012
|
-
|
|
4013
|
-
|
|
4014
|
-
|
|
4015
|
-
|
|
4016
|
-
|
|
4017
|
-
|
|
4018
|
-
|
|
4019
|
-
|
|
4020
|
-
|
|
4021
|
-
|
|
4022
|
-
|
|
4023
|
-
|
|
4024
|
-
|
|
4025
|
-
|
|
4026
|
-
1, 0, 0, 0,
|
|
4027
|
-
1, 0, 0, 0,
|
|
4028
|
-
|
|
4029
|
-
|
|
4030
|
-
|
|
4031
|
-
|
|
4032
|
-
|
|
4033
|
-
|
|
4034
|
-
|
|
4035
|
-
0, 0,
|
|
4036
|
-
0, 0,
|
|
4037
|
-
|
|
4038
|
-
|
|
4039
|
-
0,
|
|
4040
|
-
0, 0,
|
|
4041
|
-
0,
|
|
4042
|
-
0,
|
|
4043
|
-
0, 0,
|
|
4044
|
-
0, 0, 0,
|
|
4045
|
-
|
|
4046
|
-
|
|
4047
|
-
|
|
4048
|
-
|
|
4049
|
-
|
|
4050
|
-
|
|
4051
|
-
|
|
4052
|
-
|
|
4053
|
-
|
|
4054
|
-
|
|
4055
|
-
|
|
4056
|
-
|
|
4057
|
-
|
|
4058
|
-
|
|
4059
|
-
|
|
4060
|
-
|
|
4061
|
-
0,
|
|
4062
|
-
|
|
4063
|
-
|
|
4064
|
-
0,
|
|
4065
|
-
0,
|
|
4066
|
-
|
|
4067
|
-
1, 0, 0, 0,
|
|
4068
|
-
1, 0, 0, 0,
|
|
4069
|
-
|
|
4070
|
-
|
|
4071
|
-
|
|
4072
|
-
|
|
4073
|
-
0, 0,
|
|
4074
|
-
0, 0,
|
|
4075
|
-
|
|
4076
|
-
|
|
4077
|
-
|
|
4078
|
-
1, 0, 0, 0,
|
|
4079
|
-
|
|
4080
|
-
|
|
4081
|
-
|
|
4082
|
-
|
|
4083
|
-
|
|
4084
|
-
|
|
4085
|
-
|
|
4086
|
-
|
|
4087
|
-
|
|
4088
|
-
0,
|
|
4089
|
-
0,
|
|
4090
|
-
|
|
4091
|
-
|
|
4092
|
-
0, 0,
|
|
4093
|
-
|
|
4094
|
-
|
|
4095
|
-
|
|
4096
|
-
|
|
4097
|
-
|
|
4098
|
-
0,
|
|
4099
|
-
0,
|
|
4100
|
-
0, 0,
|
|
4101
|
-
|
|
4102
|
-
0, 0,
|
|
4103
|
-
0, 0, 0,
|
|
4104
|
-
5,
|
|
4105
|
-
|
|
4106
|
-
|
|
4107
|
-
|
|
4108
|
-
0,
|
|
4109
|
-
|
|
4110
|
-
|
|
4111
|
-
5,
|
|
4112
|
-
|
|
4113
|
-
|
|
4114
|
-
|
|
4115
|
-
|
|
4116
|
-
|
|
4117
|
-
|
|
4118
|
-
0,
|
|
4119
|
-
|
|
4120
|
-
1, 0, 0, 0,
|
|
4121
|
-
|
|
4122
|
-
|
|
4123
|
-
|
|
4124
|
-
|
|
4125
|
-
|
|
4126
|
-
|
|
4127
|
-
|
|
4128
|
-
|
|
4129
|
-
|
|
4130
|
-
|
|
4131
|
-
|
|
4132
|
-
|
|
4133
|
-
0, 0,
|
|
4134
|
-
|
|
4135
|
-
1, 0, 0, 0,
|
|
4136
|
-
|
|
4137
|
-
5,
|
|
4138
|
-
|
|
4139
|
-
|
|
4140
|
-
|
|
4141
|
-
|
|
4142
|
-
|
|
4143
|
-
1, 0, 0, 0,
|
|
4144
|
-
|
|
4145
|
-
|
|
4146
|
-
|
|
4147
|
-
|
|
4148
|
-
0,
|
|
4149
|
-
|
|
4150
|
-
|
|
4151
|
-
|
|
4152
|
-
|
|
4153
|
-
|
|
4154
|
-
|
|
4155
|
-
|
|
4156
|
-
|
|
4157
|
-
|
|
4158
|
-
|
|
4159
|
-
|
|
4160
|
-
|
|
4161
|
-
|
|
4162
|
-
|
|
4163
|
-
|
|
4164
|
-
|
|
4165
|
-
|
|
4166
|
-
|
|
4167
|
-
|
|
4168
|
-
|
|
4169
|
-
|
|
4170
|
-
|
|
4171
|
-
|
|
4172
|
-
|
|
4173
|
-
|
|
4174
|
-
|
|
4175
|
-
0,
|
|
4176
|
-
0, 0,
|
|
4177
|
-
|
|
4178
|
-
|
|
4179
|
-
1, 0, 0, 0,
|
|
4180
|
-
|
|
4181
|
-
5,
|
|
4182
|
-
|
|
4183
|
-
|
|
4184
|
-
|
|
4185
|
-
|
|
4186
|
-
1, 0, 0, 0,
|
|
4187
|
-
|
|
4188
|
-
|
|
4189
|
-
|
|
4190
|
-
|
|
4191
|
-
|
|
4192
|
-
|
|
4193
|
-
|
|
4194
|
-
|
|
4195
|
-
|
|
4196
|
-
|
|
4197
|
-
|
|
4198
|
-
|
|
4199
|
-
|
|
4200
|
-
|
|
4201
|
-
1, 0, 0, 0,
|
|
4202
|
-
|
|
4203
|
-
|
|
4204
|
-
|
|
4205
|
-
|
|
4206
|
-
|
|
4207
|
-
|
|
4208
|
-
|
|
4209
|
-
|
|
4210
|
-
|
|
4211
|
-
|
|
4212
|
-
|
|
4213
|
-
|
|
4214
|
-
|
|
4097
|
+
52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 1, 0, 5, 0, 118,
|
|
4098
|
+
8, 0, 10, 0, 12, 0, 121, 9, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 3, 2, 129, 8, 2, 1, 3, 1,
|
|
4099
|
+
3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 138, 8, 3, 1, 4, 3, 4, 141, 8, 4, 1, 4, 1, 4, 1, 5, 1,
|
|
4100
|
+
5, 3, 5, 147, 8, 5, 1, 5, 1, 5, 1, 5, 5, 5, 152, 8, 5, 10, 5, 12, 5, 155, 9, 5, 1, 6, 1, 6,
|
|
4101
|
+
1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 3, 7, 166, 8, 7, 1, 7, 5, 7, 169, 8, 7, 10, 7, 12,
|
|
4102
|
+
7, 172, 9, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 3, 9, 181, 8, 9, 1, 10, 1, 10, 3, 10,
|
|
4103
|
+
185, 8, 10, 1, 10, 1, 10, 1, 10, 5, 10, 190, 8, 10, 10, 10, 12, 10, 193, 9, 10, 1, 10,
|
|
4104
|
+
3, 10, 196, 8, 10, 1, 10, 3, 10, 199, 8, 10, 1, 10, 3, 10, 202, 8, 10, 1, 10, 3, 10, 205,
|
|
4105
|
+
8, 10, 1, 10, 3, 10, 208, 8, 10, 1, 10, 3, 10, 211, 8, 10, 1, 11, 1, 11, 1, 12, 1, 12, 3,
|
|
4106
|
+
12, 217, 8, 12, 1, 12, 3, 12, 220, 8, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12,
|
|
4107
|
+
3, 12, 229, 8, 12, 1, 13, 1, 13, 1, 13, 1, 13, 5, 13, 235, 8, 13, 10, 13, 12, 13, 238,
|
|
4108
|
+
9, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 5, 14, 250,
|
|
4109
|
+
8, 14, 10, 14, 12, 14, 253, 9, 14, 1, 15, 3, 15, 256, 8, 15, 1, 15, 1, 15, 3, 15, 260,
|
|
4110
|
+
8, 15, 1, 15, 1, 15, 3, 15, 264, 8, 15, 1, 15, 1, 15, 3, 15, 268, 8, 15, 1, 15, 3, 15, 271,
|
|
4111
|
+
8, 15, 1, 16, 1, 16, 3, 16, 275, 8, 16, 1, 16, 3, 16, 278, 8, 16, 1, 17, 1, 17, 1, 17, 1,
|
|
4112
|
+
17, 1, 17, 3, 17, 285, 8, 17, 1, 18, 1, 18, 1, 18, 3, 18, 290, 8, 18, 1, 19, 1, 19, 1, 19,
|
|
4113
|
+
3, 19, 295, 8, 19, 1, 19, 1, 19, 1, 19, 5, 19, 300, 8, 19, 10, 19, 12, 19, 303, 9, 19,
|
|
4114
|
+
1, 20, 1, 20, 1, 20, 3, 20, 308, 8, 20, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 5, 21, 315, 8,
|
|
4115
|
+
21, 10, 21, 12, 21, 318, 9, 21, 1, 22, 1, 22, 3, 22, 322, 8, 22, 1, 22, 1, 22, 3, 22, 326,
|
|
4116
|
+
8, 22, 1, 23, 1, 23, 1, 23, 1, 23, 3, 23, 332, 8, 23, 1, 24, 1, 24, 1, 24, 1, 24, 3, 24,
|
|
4117
|
+
338, 8, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 5, 25, 346, 8, 25, 10, 25, 12, 25,
|
|
4118
|
+
349, 9, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 5, 26, 359, 8, 26, 10,
|
|
4119
|
+
26, 12, 26, 362, 9, 26, 1, 26, 3, 26, 365, 8, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1,
|
|
4120
|
+
28, 1, 28, 1, 28, 3, 28, 375, 8, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 3, 29, 382, 8, 29,
|
|
4121
|
+
1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 5, 29, 389, 8, 29, 10, 29, 12, 29, 392, 9, 29, 1, 29,
|
|
4122
|
+
1, 29, 1, 29, 3, 29, 397, 8, 29, 1, 30, 1, 30, 3, 30, 401, 8, 30, 1, 31, 1, 31, 1, 31, 1,
|
|
4123
|
+
31, 3, 31, 407, 8, 31, 1, 31, 1, 31, 3, 31, 411, 8, 31, 1, 31, 1, 31, 3, 31, 415, 8, 31,
|
|
4124
|
+
1, 32, 1, 32, 1, 33, 1, 33, 3, 33, 421, 8, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33,
|
|
4125
|
+
5, 33, 429, 8, 33, 10, 33, 12, 33, 432, 9, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33,
|
|
4126
|
+
1, 33, 5, 33, 441, 8, 33, 10, 33, 12, 33, 444, 9, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33,
|
|
4127
|
+
1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 5, 33, 459, 8, 33, 10, 33, 12, 33,
|
|
4128
|
+
462, 9, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 5, 33, 471, 8, 33, 10, 33,
|
|
4129
|
+
12, 33, 474, 9, 33, 1, 33, 1, 33, 3, 33, 478, 8, 33, 1, 34, 1, 34, 1, 34, 1, 34, 3, 34,
|
|
4130
|
+
484, 8, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 3, 34, 492, 8, 34, 1, 34, 1, 34, 1,
|
|
4131
|
+
34, 1, 34, 1, 34, 3, 34, 499, 8, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1,
|
|
4132
|
+
34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 3, 34, 518, 8, 34, 1,
|
|
4133
|
+
35, 1, 35, 1, 35, 1, 35, 3, 35, 524, 8, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 37, 1, 37, 1,
|
|
4134
|
+
37, 1, 37, 3, 37, 534, 8, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 5, 37, 542, 8, 37,
|
|
4135
|
+
10, 37, 12, 37, 545, 9, 37, 1, 38, 1, 38, 3, 38, 549, 8, 38, 1, 39, 1, 39, 1, 39, 1, 39,
|
|
4136
|
+
3, 39, 555, 8, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 5, 39, 562, 8, 39, 10, 39, 12, 39,
|
|
4137
|
+
565, 9, 39, 1, 39, 1, 39, 1, 39, 3, 39, 570, 8, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1,
|
|
4138
|
+
39, 3, 39, 578, 8, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 3, 39, 586, 8, 39, 1, 39,
|
|
4139
|
+
1, 39, 1, 39, 1, 39, 3, 39, 592, 8, 39, 1, 39, 1, 39, 3, 39, 596, 8, 39, 1, 39, 1, 39, 1,
|
|
4140
|
+
39, 3, 39, 601, 8, 39, 1, 39, 1, 39, 1, 39, 3, 39, 606, 8, 39, 1, 40, 1, 40, 1, 41, 1, 41,
|
|
4141
|
+
1, 41, 1, 41, 3, 41, 614, 8, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41,
|
|
4142
|
+
1, 41, 5, 41, 625, 8, 41, 10, 41, 12, 41, 628, 9, 41, 1, 42, 1, 42, 1, 42, 1, 42, 3, 42,
|
|
4143
|
+
634, 8, 42, 1, 42, 1, 42, 1, 42, 5, 42, 639, 8, 42, 10, 42, 12, 42, 642, 9, 42, 3, 42,
|
|
4144
|
+
644, 8, 42, 1, 42, 1, 42, 1, 42, 1, 42, 4, 42, 650, 8, 42, 11, 42, 12, 42, 651, 1, 42,
|
|
4145
|
+
1, 42, 3, 42, 656, 8, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 4, 42, 663, 8, 42, 11, 42,
|
|
4146
|
+
12, 42, 664, 1, 42, 1, 42, 3, 42, 669, 8, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42,
|
|
4147
|
+
1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 5, 42, 685, 8, 42, 10, 42, 12, 42,
|
|
4148
|
+
688, 9, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42,
|
|
4149
|
+
1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 3, 42, 710, 8, 42, 1, 43,
|
|
4150
|
+
1, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45,
|
|
4151
|
+
1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 3, 45, 734, 8, 45, 1, 45, 3, 45,
|
|
4152
|
+
737, 8, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 3, 45, 744, 8, 45, 1, 45, 3, 45, 747, 8,
|
|
4153
|
+
45, 1, 45, 1, 45, 1, 45, 1, 45, 3, 45, 753, 8, 45, 1, 45, 1, 45, 1, 45, 1, 45, 3, 45, 759,
|
|
4154
|
+
8, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 3, 45, 767, 8, 45, 1, 46, 1, 46, 1, 46,
|
|
4155
|
+
1, 46, 5, 46, 773, 8, 46, 10, 46, 12, 46, 776, 9, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47,
|
|
4156
|
+
1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 3, 48, 792, 8, 48, 1, 49,
|
|
4157
|
+
1, 49, 1, 49, 1, 49, 1, 49, 3, 49, 799, 8, 49, 1, 50, 1, 50, 1, 50, 5, 50, 804, 8, 50, 10,
|
|
4158
|
+
50, 12, 50, 807, 9, 50, 1, 51, 1, 51, 1, 51, 3, 51, 812, 8, 51, 1, 52, 1, 52, 1, 53, 1,
|
|
4159
|
+
53, 1, 54, 1, 54, 1, 55, 1, 55, 1, 56, 1, 56, 1, 57, 1, 57, 1, 57, 0, 3, 28, 74, 82, 58,
|
|
4160
|
+
0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44,
|
|
4161
|
+
46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88,
|
|
4162
|
+
90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 0, 8, 3, 0, 36, 36, 52,
|
|
4163
|
+
52, 87, 87, 2, 0, 6, 6, 30, 30, 2, 0, 10, 10, 29, 29, 2, 0, 39, 39, 57, 57, 1, 0, 95, 100,
|
|
4164
|
+
1, 0, 101, 102, 1, 0, 103, 105, 22, 0, 5, 6, 10, 10, 12, 15, 18, 18, 20, 21, 24, 27, 29,
|
|
4165
|
+
29, 31, 31, 38, 40, 43, 43, 46, 46, 50, 51, 56, 58, 60, 60, 63, 66, 70, 70, 75, 75, 78,
|
|
4166
|
+
78, 80, 80, 82, 86, 88, 88, 90, 91, 920, 0, 119, 1, 0, 0, 0, 2, 124, 1, 0, 0, 0, 4, 126,
|
|
4167
|
+
1, 0, 0, 0, 6, 137, 1, 0, 0, 0, 8, 140, 1, 0, 0, 0, 10, 144, 1, 0, 0, 0, 12, 156, 1, 0, 0,
|
|
4168
|
+
0, 14, 162, 1, 0, 0, 0, 16, 173, 1, 0, 0, 0, 18, 180, 1, 0, 0, 0, 20, 182, 1, 0, 0, 0, 22,
|
|
4169
|
+
212, 1, 0, 0, 0, 24, 228, 1, 0, 0, 0, 26, 230, 1, 0, 0, 0, 28, 239, 1, 0, 0, 0, 30, 270,
|
|
4170
|
+
1, 0, 0, 0, 32, 272, 1, 0, 0, 0, 34, 284, 1, 0, 0, 0, 36, 286, 1, 0, 0, 0, 38, 291, 1, 0,
|
|
4171
|
+
0, 0, 40, 304, 1, 0, 0, 0, 42, 309, 1, 0, 0, 0, 44, 319, 1, 0, 0, 0, 46, 327, 1, 0, 0, 0,
|
|
4172
|
+
48, 333, 1, 0, 0, 0, 50, 341, 1, 0, 0, 0, 52, 352, 1, 0, 0, 0, 54, 366, 1, 0, 0, 0, 56, 370,
|
|
4173
|
+
1, 0, 0, 0, 58, 376, 1, 0, 0, 0, 60, 400, 1, 0, 0, 0, 62, 402, 1, 0, 0, 0, 64, 416, 1, 0,
|
|
4174
|
+
0, 0, 66, 420, 1, 0, 0, 0, 68, 479, 1, 0, 0, 0, 70, 519, 1, 0, 0, 0, 72, 527, 1, 0, 0, 0,
|
|
4175
|
+
74, 533, 1, 0, 0, 0, 76, 546, 1, 0, 0, 0, 78, 605, 1, 0, 0, 0, 80, 607, 1, 0, 0, 0, 82, 613,
|
|
4176
|
+
1, 0, 0, 0, 84, 709, 1, 0, 0, 0, 86, 711, 1, 0, 0, 0, 88, 716, 1, 0, 0, 0, 90, 766, 1, 0,
|
|
4177
|
+
0, 0, 92, 768, 1, 0, 0, 0, 94, 779, 1, 0, 0, 0, 96, 791, 1, 0, 0, 0, 98, 798, 1, 0, 0, 0,
|
|
4178
|
+
100, 800, 1, 0, 0, 0, 102, 811, 1, 0, 0, 0, 104, 813, 1, 0, 0, 0, 106, 815, 1, 0, 0, 0,
|
|
4179
|
+
108, 817, 1, 0, 0, 0, 110, 819, 1, 0, 0, 0, 112, 821, 1, 0, 0, 0, 114, 823, 1, 0, 0, 0,
|
|
4180
|
+
116, 118, 3, 2, 1, 0, 117, 116, 1, 0, 0, 0, 118, 121, 1, 0, 0, 0, 119, 117, 1, 0, 0, 0,
|
|
4181
|
+
119, 120, 1, 0, 0, 0, 120, 122, 1, 0, 0, 0, 121, 119, 1, 0, 0, 0, 122, 123, 5, 0, 0, 1,
|
|
4182
|
+
123, 1, 1, 0, 0, 0, 124, 125, 3, 4, 2, 0, 125, 3, 1, 0, 0, 0, 126, 128, 3, 6, 3, 0, 127,
|
|
4183
|
+
129, 5, 108, 0, 0, 128, 127, 1, 0, 0, 0, 128, 129, 1, 0, 0, 0, 129, 5, 1, 0, 0, 0, 130,
|
|
4184
|
+
138, 3, 8, 4, 0, 131, 138, 3, 48, 24, 0, 132, 138, 3, 52, 26, 0, 133, 138, 3, 56, 28,
|
|
4185
|
+
0, 134, 138, 3, 58, 29, 0, 135, 138, 3, 68, 34, 0, 136, 138, 3, 70, 35, 0, 137, 130,
|
|
4186
|
+
1, 0, 0, 0, 137, 131, 1, 0, 0, 0, 137, 132, 1, 0, 0, 0, 137, 133, 1, 0, 0, 0, 137, 134,
|
|
4187
|
+
1, 0, 0, 0, 137, 135, 1, 0, 0, 0, 137, 136, 1, 0, 0, 0, 138, 7, 1, 0, 0, 0, 139, 141, 3,
|
|
4188
|
+
10, 5, 0, 140, 139, 1, 0, 0, 0, 140, 141, 1, 0, 0, 0, 141, 142, 1, 0, 0, 0, 142, 143, 3,
|
|
4189
|
+
14, 7, 0, 143, 9, 1, 0, 0, 0, 144, 146, 5, 94, 0, 0, 145, 147, 5, 72, 0, 0, 146, 145, 1,
|
|
4190
|
+
0, 0, 0, 146, 147, 1, 0, 0, 0, 147, 148, 1, 0, 0, 0, 148, 153, 3, 12, 6, 0, 149, 150, 5,
|
|
4191
|
+
1, 0, 0, 150, 152, 3, 12, 6, 0, 151, 149, 1, 0, 0, 0, 152, 155, 1, 0, 0, 0, 153, 151, 1,
|
|
4192
|
+
0, 0, 0, 153, 154, 1, 0, 0, 0, 154, 11, 1, 0, 0, 0, 155, 153, 1, 0, 0, 0, 156, 157, 3, 98,
|
|
4193
|
+
49, 0, 157, 158, 5, 9, 0, 0, 158, 159, 5, 2, 0, 0, 159, 160, 3, 8, 4, 0, 160, 161, 5, 3,
|
|
4194
|
+
0, 0, 161, 13, 1, 0, 0, 0, 162, 170, 3, 16, 8, 0, 163, 165, 7, 0, 0, 0, 164, 166, 5, 6,
|
|
4195
|
+
0, 0, 165, 164, 1, 0, 0, 0, 165, 166, 1, 0, 0, 0, 166, 167, 1, 0, 0, 0, 167, 169, 3, 16,
|
|
4196
|
+
8, 0, 168, 163, 1, 0, 0, 0, 169, 172, 1, 0, 0, 0, 170, 168, 1, 0, 0, 0, 170, 171, 1, 0,
|
|
4197
|
+
0, 0, 171, 15, 1, 0, 0, 0, 172, 170, 1, 0, 0, 0, 173, 174, 3, 18, 9, 0, 174, 17, 1, 0, 0,
|
|
4198
|
+
0, 175, 181, 3, 20, 10, 0, 176, 177, 5, 2, 0, 0, 177, 178, 3, 8, 4, 0, 178, 179, 5, 3,
|
|
4199
|
+
0, 0, 179, 181, 1, 0, 0, 0, 180, 175, 1, 0, 0, 0, 180, 176, 1, 0, 0, 0, 181, 19, 1, 0, 0,
|
|
4200
|
+
0, 182, 184, 5, 76, 0, 0, 183, 185, 3, 22, 11, 0, 184, 183, 1, 0, 0, 0, 184, 185, 1, 0,
|
|
4201
|
+
0, 0, 185, 186, 1, 0, 0, 0, 186, 191, 3, 24, 12, 0, 187, 188, 5, 1, 0, 0, 188, 190, 3,
|
|
4202
|
+
24, 12, 0, 189, 187, 1, 0, 0, 0, 190, 193, 1, 0, 0, 0, 191, 189, 1, 0, 0, 0, 191, 192,
|
|
4203
|
+
1, 0, 0, 0, 192, 195, 1, 0, 0, 0, 193, 191, 1, 0, 0, 0, 194, 196, 3, 26, 13, 0, 195, 194,
|
|
4204
|
+
1, 0, 0, 0, 195, 196, 1, 0, 0, 0, 196, 198, 1, 0, 0, 0, 197, 199, 3, 36, 18, 0, 198, 197,
|
|
4205
|
+
1, 0, 0, 0, 198, 199, 1, 0, 0, 0, 199, 201, 1, 0, 0, 0, 200, 202, 3, 38, 19, 0, 201, 200,
|
|
4206
|
+
1, 0, 0, 0, 201, 202, 1, 0, 0, 0, 202, 204, 1, 0, 0, 0, 203, 205, 3, 40, 20, 0, 204, 203,
|
|
4207
|
+
1, 0, 0, 0, 204, 205, 1, 0, 0, 0, 205, 207, 1, 0, 0, 0, 206, 208, 3, 42, 21, 0, 207, 206,
|
|
4208
|
+
1, 0, 0, 0, 207, 208, 1, 0, 0, 0, 208, 210, 1, 0, 0, 0, 209, 211, 3, 46, 23, 0, 210, 209,
|
|
4209
|
+
1, 0, 0, 0, 210, 211, 1, 0, 0, 0, 211, 21, 1, 0, 0, 0, 212, 213, 7, 1, 0, 0, 213, 23, 1,
|
|
4210
|
+
0, 0, 0, 214, 219, 3, 72, 36, 0, 215, 217, 5, 9, 0, 0, 216, 215, 1, 0, 0, 0, 216, 217,
|
|
4211
|
+
1, 0, 0, 0, 217, 218, 1, 0, 0, 0, 218, 220, 3, 98, 49, 0, 219, 216, 1, 0, 0, 0, 219, 220,
|
|
4212
|
+
1, 0, 0, 0, 220, 229, 1, 0, 0, 0, 221, 222, 3, 100, 50, 0, 222, 223, 5, 4, 0, 0, 223, 224,
|
|
4213
|
+
5, 103, 0, 0, 224, 229, 1, 0, 0, 0, 225, 229, 5, 103, 0, 0, 226, 227, 4, 12, 0, 0, 227,
|
|
4214
|
+
229, 3, 106, 53, 0, 228, 214, 1, 0, 0, 0, 228, 221, 1, 0, 0, 0, 228, 225, 1, 0, 0, 0, 228,
|
|
4215
|
+
226, 1, 0, 0, 0, 229, 25, 1, 0, 0, 0, 230, 231, 5, 42, 0, 0, 231, 236, 3, 28, 14, 0, 232,
|
|
4216
|
+
233, 5, 1, 0, 0, 233, 235, 3, 28, 14, 0, 234, 232, 1, 0, 0, 0, 235, 238, 1, 0, 0, 0, 236,
|
|
4217
|
+
234, 1, 0, 0, 0, 236, 237, 1, 0, 0, 0, 237, 27, 1, 0, 0, 0, 238, 236, 1, 0, 0, 0, 239, 240,
|
|
4218
|
+
6, 14, -1, 0, 240, 241, 3, 32, 16, 0, 241, 251, 1, 0, 0, 0, 242, 243, 10, 2, 0, 0, 243,
|
|
4219
|
+
244, 3, 30, 15, 0, 244, 245, 5, 55, 0, 0, 245, 246, 3, 28, 14, 0, 246, 247, 5, 67, 0,
|
|
4220
|
+
0, 247, 248, 3, 72, 36, 0, 248, 250, 1, 0, 0, 0, 249, 242, 1, 0, 0, 0, 250, 253, 1, 0,
|
|
4221
|
+
0, 0, 251, 249, 1, 0, 0, 0, 251, 252, 1, 0, 0, 0, 252, 29, 1, 0, 0, 0, 253, 251, 1, 0, 0,
|
|
4222
|
+
0, 254, 256, 5, 48, 0, 0, 255, 254, 1, 0, 0, 0, 255, 256, 1, 0, 0, 0, 256, 271, 1, 0, 0,
|
|
4223
|
+
0, 257, 259, 5, 58, 0, 0, 258, 260, 5, 70, 0, 0, 259, 258, 1, 0, 0, 0, 259, 260, 1, 0,
|
|
4224
|
+
0, 0, 260, 271, 1, 0, 0, 0, 261, 263, 5, 75, 0, 0, 262, 264, 5, 70, 0, 0, 263, 262, 1,
|
|
4225
|
+
0, 0, 0, 263, 264, 1, 0, 0, 0, 264, 271, 1, 0, 0, 0, 265, 267, 5, 43, 0, 0, 266, 268, 5,
|
|
4226
|
+
70, 0, 0, 267, 266, 1, 0, 0, 0, 267, 268, 1, 0, 0, 0, 268, 271, 1, 0, 0, 0, 269, 271, 5,
|
|
4227
|
+
24, 0, 0, 270, 255, 1, 0, 0, 0, 270, 257, 1, 0, 0, 0, 270, 261, 1, 0, 0, 0, 270, 265, 1,
|
|
4228
|
+
0, 0, 0, 270, 269, 1, 0, 0, 0, 271, 31, 1, 0, 0, 0, 272, 277, 3, 34, 17, 0, 273, 275, 5,
|
|
4229
|
+
9, 0, 0, 274, 273, 1, 0, 0, 0, 274, 275, 1, 0, 0, 0, 275, 276, 1, 0, 0, 0, 276, 278, 3,
|
|
4230
|
+
98, 49, 0, 277, 274, 1, 0, 0, 0, 277, 278, 1, 0, 0, 0, 278, 33, 1, 0, 0, 0, 279, 285, 3,
|
|
4231
|
+
108, 54, 0, 280, 281, 5, 2, 0, 0, 281, 282, 3, 8, 4, 0, 282, 283, 5, 3, 0, 0, 283, 285,
|
|
4232
|
+
1, 0, 0, 0, 284, 279, 1, 0, 0, 0, 284, 280, 1, 0, 0, 0, 285, 35, 1, 0, 0, 0, 286, 289, 5,
|
|
4233
|
+
93, 0, 0, 287, 290, 3, 72, 36, 0, 288, 290, 3, 106, 53, 0, 289, 287, 1, 0, 0, 0, 289,
|
|
4234
|
+
288, 1, 0, 0, 0, 290, 37, 1, 0, 0, 0, 291, 292, 5, 44, 0, 0, 292, 294, 5, 15, 0, 0, 293,
|
|
4235
|
+
295, 3, 22, 11, 0, 294, 293, 1, 0, 0, 0, 294, 295, 1, 0, 0, 0, 295, 296, 1, 0, 0, 0, 296,
|
|
4236
|
+
301, 3, 72, 36, 0, 297, 298, 5, 1, 0, 0, 298, 300, 3, 72, 36, 0, 299, 297, 1, 0, 0, 0,
|
|
4237
|
+
300, 303, 1, 0, 0, 0, 301, 299, 1, 0, 0, 0, 301, 302, 1, 0, 0, 0, 302, 39, 1, 0, 0, 0, 303,
|
|
4238
|
+
301, 1, 0, 0, 0, 304, 307, 5, 45, 0, 0, 305, 308, 3, 72, 36, 0, 306, 308, 3, 106, 53,
|
|
4239
|
+
0, 307, 305, 1, 0, 0, 0, 307, 306, 1, 0, 0, 0, 308, 41, 1, 0, 0, 0, 309, 310, 5, 69, 0,
|
|
4240
|
+
0, 310, 311, 5, 15, 0, 0, 311, 316, 3, 44, 22, 0, 312, 313, 5, 1, 0, 0, 313, 315, 3, 44,
|
|
4241
|
+
22, 0, 314, 312, 1, 0, 0, 0, 315, 318, 1, 0, 0, 0, 316, 314, 1, 0, 0, 0, 316, 317, 1, 0,
|
|
4242
|
+
0, 0, 317, 43, 1, 0, 0, 0, 318, 316, 1, 0, 0, 0, 319, 321, 3, 72, 36, 0, 320, 322, 7, 2,
|
|
4243
|
+
0, 0, 321, 320, 1, 0, 0, 0, 321, 322, 1, 0, 0, 0, 322, 325, 1, 0, 0, 0, 323, 324, 5, 64,
|
|
4244
|
+
0, 0, 324, 326, 7, 3, 0, 0, 325, 323, 1, 0, 0, 0, 325, 326, 1, 0, 0, 0, 326, 45, 1, 0, 0,
|
|
4245
|
+
0, 327, 328, 5, 60, 0, 0, 328, 331, 3, 72, 36, 0, 329, 330, 5, 66, 0, 0, 330, 332, 3,
|
|
4246
|
+
72, 36, 0, 331, 329, 1, 0, 0, 0, 331, 332, 1, 0, 0, 0, 332, 47, 1, 0, 0, 0, 333, 334, 5,
|
|
4247
|
+
49, 0, 0, 334, 335, 5, 53, 0, 0, 335, 337, 3, 108, 54, 0, 336, 338, 3, 50, 25, 0, 337,
|
|
4248
|
+
336, 1, 0, 0, 0, 337, 338, 1, 0, 0, 0, 338, 339, 1, 0, 0, 0, 339, 340, 3, 8, 4, 0, 340,
|
|
4249
|
+
49, 1, 0, 0, 0, 341, 342, 5, 2, 0, 0, 342, 347, 3, 102, 51, 0, 343, 344, 5, 1, 0, 0, 344,
|
|
4250
|
+
346, 3, 102, 51, 0, 345, 343, 1, 0, 0, 0, 346, 349, 1, 0, 0, 0, 347, 345, 1, 0, 0, 0, 347,
|
|
4251
|
+
348, 1, 0, 0, 0, 348, 350, 1, 0, 0, 0, 349, 347, 1, 0, 0, 0, 350, 351, 5, 3, 0, 0, 351,
|
|
4252
|
+
51, 1, 0, 0, 0, 352, 353, 5, 89, 0, 0, 353, 354, 3, 108, 54, 0, 354, 355, 5, 77, 0, 0,
|
|
4253
|
+
355, 360, 3, 54, 27, 0, 356, 357, 5, 1, 0, 0, 357, 359, 3, 54, 27, 0, 358, 356, 1, 0,
|
|
4254
|
+
0, 0, 359, 362, 1, 0, 0, 0, 360, 358, 1, 0, 0, 0, 360, 361, 1, 0, 0, 0, 361, 364, 1, 0,
|
|
4255
|
+
0, 0, 362, 360, 1, 0, 0, 0, 363, 365, 3, 36, 18, 0, 364, 363, 1, 0, 0, 0, 364, 365, 1,
|
|
4256
|
+
0, 0, 0, 365, 53, 1, 0, 0, 0, 366, 367, 3, 102, 51, 0, 367, 368, 5, 95, 0, 0, 368, 369,
|
|
4257
|
+
3, 72, 36, 0, 369, 55, 1, 0, 0, 0, 370, 371, 5, 28, 0, 0, 371, 372, 5, 42, 0, 0, 372, 374,
|
|
4258
|
+
3, 108, 54, 0, 373, 375, 3, 36, 18, 0, 374, 373, 1, 0, 0, 0, 374, 375, 1, 0, 0, 0, 375,
|
|
4259
|
+
57, 1, 0, 0, 0, 376, 377, 5, 23, 0, 0, 377, 381, 5, 79, 0, 0, 378, 379, 5, 46, 0, 0, 379,
|
|
4260
|
+
380, 5, 61, 0, 0, 380, 382, 5, 37, 0, 0, 381, 378, 1, 0, 0, 0, 381, 382, 1, 0, 0, 0, 382,
|
|
4261
|
+
383, 1, 0, 0, 0, 383, 384, 3, 110, 55, 0, 384, 385, 5, 2, 0, 0, 385, 390, 3, 60, 30, 0,
|
|
4262
|
+
386, 387, 5, 1, 0, 0, 387, 389, 3, 60, 30, 0, 388, 386, 1, 0, 0, 0, 389, 392, 1, 0, 0,
|
|
4263
|
+
0, 390, 388, 1, 0, 0, 0, 390, 391, 1, 0, 0, 0, 391, 393, 1, 0, 0, 0, 392, 390, 1, 0, 0,
|
|
4264
|
+
0, 393, 396, 5, 3, 0, 0, 394, 395, 5, 94, 0, 0, 395, 397, 3, 92, 46, 0, 396, 394, 1, 0,
|
|
4265
|
+
0, 0, 396, 397, 1, 0, 0, 0, 397, 59, 1, 0, 0, 0, 398, 401, 3, 62, 31, 0, 399, 401, 3, 66,
|
|
4266
|
+
33, 0, 400, 398, 1, 0, 0, 0, 400, 399, 1, 0, 0, 0, 401, 61, 1, 0, 0, 0, 402, 403, 3, 64,
|
|
4267
|
+
32, 0, 403, 406, 3, 90, 45, 0, 404, 405, 5, 61, 0, 0, 405, 407, 5, 62, 0, 0, 406, 404,
|
|
4268
|
+
1, 0, 0, 0, 406, 407, 1, 0, 0, 0, 407, 410, 1, 0, 0, 0, 408, 409, 5, 27, 0, 0, 409, 411,
|
|
4269
|
+
3, 72, 36, 0, 410, 408, 1, 0, 0, 0, 410, 411, 1, 0, 0, 0, 411, 414, 1, 0, 0, 0, 412, 413,
|
|
4270
|
+
5, 71, 0, 0, 413, 415, 5, 56, 0, 0, 414, 412, 1, 0, 0, 0, 414, 415, 1, 0, 0, 0, 415, 63,
|
|
4271
|
+
1, 0, 0, 0, 416, 417, 3, 98, 49, 0, 417, 65, 1, 0, 0, 0, 418, 419, 5, 22, 0, 0, 419, 421,
|
|
4272
|
+
3, 98, 49, 0, 420, 418, 1, 0, 0, 0, 420, 421, 1, 0, 0, 0, 421, 477, 1, 0, 0, 0, 422, 423,
|
|
4273
|
+
5, 71, 0, 0, 423, 424, 5, 56, 0, 0, 424, 425, 5, 2, 0, 0, 425, 430, 3, 102, 51, 0, 426,
|
|
4274
|
+
427, 5, 1, 0, 0, 427, 429, 3, 102, 51, 0, 428, 426, 1, 0, 0, 0, 429, 432, 1, 0, 0, 0, 430,
|
|
4275
|
+
428, 1, 0, 0, 0, 430, 431, 1, 0, 0, 0, 431, 433, 1, 0, 0, 0, 432, 430, 1, 0, 0, 0, 433,
|
|
4276
|
+
434, 5, 3, 0, 0, 434, 478, 1, 0, 0, 0, 435, 436, 5, 88, 0, 0, 436, 437, 5, 2, 0, 0, 437,
|
|
4277
|
+
442, 3, 102, 51, 0, 438, 439, 5, 1, 0, 0, 439, 441, 3, 102, 51, 0, 440, 438, 1, 0, 0,
|
|
4278
|
+
0, 441, 444, 1, 0, 0, 0, 442, 440, 1, 0, 0, 0, 442, 443, 1, 0, 0, 0, 443, 445, 1, 0, 0,
|
|
4279
|
+
0, 444, 442, 1, 0, 0, 0, 445, 446, 5, 3, 0, 0, 446, 478, 1, 0, 0, 0, 447, 448, 5, 19, 0,
|
|
4280
|
+
0, 448, 449, 5, 2, 0, 0, 449, 450, 3, 72, 36, 0, 450, 451, 5, 3, 0, 0, 451, 478, 1, 0,
|
|
4281
|
+
0, 0, 452, 453, 5, 41, 0, 0, 453, 454, 5, 56, 0, 0, 454, 455, 5, 2, 0, 0, 455, 460, 3,
|
|
4282
|
+
102, 51, 0, 456, 457, 5, 1, 0, 0, 457, 459, 3, 102, 51, 0, 458, 456, 1, 0, 0, 0, 459,
|
|
4283
|
+
462, 1, 0, 0, 0, 460, 458, 1, 0, 0, 0, 460, 461, 1, 0, 0, 0, 461, 463, 1, 0, 0, 0, 462,
|
|
4284
|
+
460, 1, 0, 0, 0, 463, 464, 5, 3, 0, 0, 464, 465, 5, 73, 0, 0, 465, 466, 3, 108, 54, 0,
|
|
4285
|
+
466, 467, 5, 2, 0, 0, 467, 472, 3, 102, 51, 0, 468, 469, 5, 1, 0, 0, 469, 471, 3, 102,
|
|
4286
|
+
51, 0, 470, 468, 1, 0, 0, 0, 471, 474, 1, 0, 0, 0, 472, 470, 1, 0, 0, 0, 472, 473, 1, 0,
|
|
4287
|
+
0, 0, 473, 475, 1, 0, 0, 0, 474, 472, 1, 0, 0, 0, 475, 476, 5, 3, 0, 0, 476, 478, 1, 0,
|
|
4288
|
+
0, 0, 477, 422, 1, 0, 0, 0, 477, 435, 1, 0, 0, 0, 477, 447, 1, 0, 0, 0, 477, 452, 1, 0,
|
|
4289
|
+
0, 0, 478, 67, 1, 0, 0, 0, 479, 480, 5, 7, 0, 0, 480, 483, 5, 79, 0, 0, 481, 482, 5, 46,
|
|
4290
|
+
0, 0, 482, 484, 5, 37, 0, 0, 483, 481, 1, 0, 0, 0, 483, 484, 1, 0, 0, 0, 484, 485, 1, 0,
|
|
4291
|
+
0, 0, 485, 517, 3, 108, 54, 0, 486, 487, 5, 5, 0, 0, 487, 491, 5, 21, 0, 0, 488, 489,
|
|
4292
|
+
5, 46, 0, 0, 489, 490, 5, 61, 0, 0, 490, 492, 5, 37, 0, 0, 491, 488, 1, 0, 0, 0, 491, 492,
|
|
4293
|
+
1, 0, 0, 0, 492, 493, 1, 0, 0, 0, 493, 518, 3, 62, 31, 0, 494, 495, 5, 32, 0, 0, 495, 498,
|
|
4294
|
+
5, 21, 0, 0, 496, 497, 5, 46, 0, 0, 497, 499, 5, 37, 0, 0, 498, 496, 1, 0, 0, 0, 498, 499,
|
|
4295
|
+
1, 0, 0, 0, 499, 500, 1, 0, 0, 0, 500, 518, 3, 102, 51, 0, 501, 502, 5, 74, 0, 0, 502,
|
|
4296
|
+
503, 5, 85, 0, 0, 503, 518, 3, 110, 55, 0, 504, 505, 5, 7, 0, 0, 505, 506, 5, 21, 0, 0,
|
|
4297
|
+
506, 507, 3, 102, 51, 0, 507, 508, 5, 77, 0, 0, 508, 509, 5, 27, 0, 0, 509, 510, 3, 72,
|
|
4298
|
+
36, 0, 510, 518, 1, 0, 0, 0, 511, 512, 5, 7, 0, 0, 512, 513, 5, 21, 0, 0, 513, 514, 3,
|
|
4299
|
+
102, 51, 0, 514, 515, 5, 32, 0, 0, 515, 516, 5, 27, 0, 0, 516, 518, 1, 0, 0, 0, 517, 486,
|
|
4300
|
+
1, 0, 0, 0, 517, 494, 1, 0, 0, 0, 517, 501, 1, 0, 0, 0, 517, 504, 1, 0, 0, 0, 517, 511,
|
|
4301
|
+
1, 0, 0, 0, 518, 69, 1, 0, 0, 0, 519, 520, 5, 32, 0, 0, 520, 523, 5, 79, 0, 0, 521, 522,
|
|
4302
|
+
5, 46, 0, 0, 522, 524, 5, 37, 0, 0, 523, 521, 1, 0, 0, 0, 523, 524, 1, 0, 0, 0, 524, 525,
|
|
4303
|
+
1, 0, 0, 0, 525, 526, 3, 108, 54, 0, 526, 71, 1, 0, 0, 0, 527, 528, 3, 74, 37, 0, 528,
|
|
4304
|
+
73, 1, 0, 0, 0, 529, 530, 6, 37, -1, 0, 530, 534, 3, 76, 38, 0, 531, 532, 5, 61, 0, 0,
|
|
4305
|
+
532, 534, 3, 74, 37, 3, 533, 529, 1, 0, 0, 0, 533, 531, 1, 0, 0, 0, 534, 543, 1, 0, 0,
|
|
4306
|
+
0, 535, 536, 10, 2, 0, 0, 536, 537, 5, 8, 0, 0, 537, 542, 3, 74, 37, 3, 538, 539, 10,
|
|
4307
|
+
1, 0, 0, 539, 540, 5, 68, 0, 0, 540, 542, 3, 74, 37, 2, 541, 535, 1, 0, 0, 0, 541, 538,
|
|
4308
|
+
1, 0, 0, 0, 542, 545, 1, 0, 0, 0, 543, 541, 1, 0, 0, 0, 543, 544, 1, 0, 0, 0, 544, 75, 1,
|
|
4309
|
+
0, 0, 0, 545, 543, 1, 0, 0, 0, 546, 548, 3, 82, 41, 0, 547, 549, 3, 78, 39, 0, 548, 547,
|
|
4310
|
+
1, 0, 0, 0, 548, 549, 1, 0, 0, 0, 549, 77, 1, 0, 0, 0, 550, 551, 3, 80, 40, 0, 551, 552,
|
|
4311
|
+
3, 82, 41, 0, 552, 606, 1, 0, 0, 0, 553, 555, 5, 61, 0, 0, 554, 553, 1, 0, 0, 0, 554, 555,
|
|
4312
|
+
1, 0, 0, 0, 555, 556, 1, 0, 0, 0, 556, 557, 5, 47, 0, 0, 557, 558, 5, 2, 0, 0, 558, 563,
|
|
4313
|
+
3, 72, 36, 0, 559, 560, 5, 1, 0, 0, 560, 562, 3, 72, 36, 0, 561, 559, 1, 0, 0, 0, 562,
|
|
4314
|
+
565, 1, 0, 0, 0, 563, 561, 1, 0, 0, 0, 563, 564, 1, 0, 0, 0, 564, 566, 1, 0, 0, 0, 565,
|
|
4315
|
+
563, 1, 0, 0, 0, 566, 567, 5, 3, 0, 0, 567, 606, 1, 0, 0, 0, 568, 570, 5, 61, 0, 0, 569,
|
|
4316
|
+
568, 1, 0, 0, 0, 569, 570, 1, 0, 0, 0, 570, 571, 1, 0, 0, 0, 571, 572, 5, 47, 0, 0, 572,
|
|
4317
|
+
573, 5, 2, 0, 0, 573, 574, 3, 8, 4, 0, 574, 575, 5, 3, 0, 0, 575, 606, 1, 0, 0, 0, 576,
|
|
4318
|
+
578, 5, 61, 0, 0, 577, 576, 1, 0, 0, 0, 577, 578, 1, 0, 0, 0, 578, 579, 1, 0, 0, 0, 579,
|
|
4319
|
+
580, 5, 11, 0, 0, 580, 581, 3, 82, 41, 0, 581, 582, 5, 8, 0, 0, 582, 583, 3, 82, 41, 0,
|
|
4320
|
+
583, 606, 1, 0, 0, 0, 584, 586, 5, 61, 0, 0, 585, 584, 1, 0, 0, 0, 585, 586, 1, 0, 0, 0,
|
|
4321
|
+
586, 587, 1, 0, 0, 0, 587, 588, 5, 59, 0, 0, 588, 591, 3, 82, 41, 0, 589, 590, 5, 35,
|
|
4322
|
+
0, 0, 590, 592, 3, 82, 41, 0, 591, 589, 1, 0, 0, 0, 591, 592, 1, 0, 0, 0, 592, 606, 1,
|
|
4323
|
+
0, 0, 0, 593, 595, 5, 54, 0, 0, 594, 596, 5, 61, 0, 0, 595, 594, 1, 0, 0, 0, 595, 596,
|
|
4324
|
+
1, 0, 0, 0, 596, 597, 1, 0, 0, 0, 597, 606, 5, 62, 0, 0, 598, 600, 5, 54, 0, 0, 599, 601,
|
|
4325
|
+
5, 61, 0, 0, 600, 599, 1, 0, 0, 0, 600, 601, 1, 0, 0, 0, 601, 602, 1, 0, 0, 0, 602, 603,
|
|
4326
|
+
5, 30, 0, 0, 603, 604, 5, 42, 0, 0, 604, 606, 3, 82, 41, 0, 605, 550, 1, 0, 0, 0, 605,
|
|
4327
|
+
554, 1, 0, 0, 0, 605, 569, 1, 0, 0, 0, 605, 577, 1, 0, 0, 0, 605, 585, 1, 0, 0, 0, 605,
|
|
4328
|
+
593, 1, 0, 0, 0, 605, 598, 1, 0, 0, 0, 606, 79, 1, 0, 0, 0, 607, 608, 7, 4, 0, 0, 608, 81,
|
|
4329
|
+
1, 0, 0, 0, 609, 610, 6, 41, -1, 0, 610, 614, 3, 84, 42, 0, 611, 612, 7, 5, 0, 0, 612,
|
|
4330
|
+
614, 3, 82, 41, 4, 613, 609, 1, 0, 0, 0, 613, 611, 1, 0, 0, 0, 614, 626, 1, 0, 0, 0, 615,
|
|
4331
|
+
616, 10, 3, 0, 0, 616, 617, 7, 6, 0, 0, 617, 625, 3, 82, 41, 4, 618, 619, 10, 2, 0, 0,
|
|
4332
|
+
619, 620, 7, 5, 0, 0, 620, 625, 3, 82, 41, 3, 621, 622, 10, 1, 0, 0, 622, 623, 5, 106,
|
|
4333
|
+
0, 0, 623, 625, 3, 82, 41, 2, 624, 615, 1, 0, 0, 0, 624, 618, 1, 0, 0, 0, 624, 621, 1,
|
|
4334
|
+
0, 0, 0, 625, 628, 1, 0, 0, 0, 626, 624, 1, 0, 0, 0, 626, 627, 1, 0, 0, 0, 627, 83, 1, 0,
|
|
4335
|
+
0, 0, 628, 626, 1, 0, 0, 0, 629, 710, 3, 96, 48, 0, 630, 631, 3, 112, 56, 0, 631, 643,
|
|
4336
|
+
5, 2, 0, 0, 632, 634, 3, 22, 11, 0, 633, 632, 1, 0, 0, 0, 633, 634, 1, 0, 0, 0, 634, 635,
|
|
4337
|
+
1, 0, 0, 0, 635, 640, 3, 72, 36, 0, 636, 637, 5, 1, 0, 0, 637, 639, 3, 72, 36, 0, 638,
|
|
4338
|
+
636, 1, 0, 0, 0, 639, 642, 1, 0, 0, 0, 640, 638, 1, 0, 0, 0, 640, 641, 1, 0, 0, 0, 641,
|
|
4339
|
+
644, 1, 0, 0, 0, 642, 640, 1, 0, 0, 0, 643, 633, 1, 0, 0, 0, 643, 644, 1, 0, 0, 0, 644,
|
|
4340
|
+
645, 1, 0, 0, 0, 645, 646, 5, 3, 0, 0, 646, 710, 1, 0, 0, 0, 647, 649, 5, 16, 0, 0, 648,
|
|
4341
|
+
650, 3, 86, 43, 0, 649, 648, 1, 0, 0, 0, 650, 651, 1, 0, 0, 0, 651, 649, 1, 0, 0, 0, 651,
|
|
4342
|
+
652, 1, 0, 0, 0, 652, 655, 1, 0, 0, 0, 653, 654, 5, 33, 0, 0, 654, 656, 3, 72, 36, 0, 655,
|
|
4343
|
+
653, 1, 0, 0, 0, 655, 656, 1, 0, 0, 0, 656, 657, 1, 0, 0, 0, 657, 658, 5, 34, 0, 0, 658,
|
|
4344
|
+
710, 1, 0, 0, 0, 659, 660, 5, 16, 0, 0, 660, 662, 3, 72, 36, 0, 661, 663, 3, 86, 43, 0,
|
|
4345
|
+
662, 661, 1, 0, 0, 0, 663, 664, 1, 0, 0, 0, 664, 662, 1, 0, 0, 0, 664, 665, 1, 0, 0, 0,
|
|
4346
|
+
665, 668, 1, 0, 0, 0, 666, 667, 5, 33, 0, 0, 667, 669, 3, 72, 36, 0, 668, 666, 1, 0, 0,
|
|
4347
|
+
0, 668, 669, 1, 0, 0, 0, 669, 670, 1, 0, 0, 0, 670, 671, 5, 34, 0, 0, 671, 710, 1, 0, 0,
|
|
4348
|
+
0, 672, 673, 5, 17, 0, 0, 673, 674, 5, 2, 0, 0, 674, 675, 3, 72, 36, 0, 675, 676, 5, 9,
|
|
4349
|
+
0, 0, 676, 677, 3, 90, 45, 0, 677, 678, 5, 3, 0, 0, 678, 710, 1, 0, 0, 0, 679, 680, 5,
|
|
4350
|
+
20, 0, 0, 680, 681, 5, 2, 0, 0, 681, 686, 3, 72, 36, 0, 682, 683, 5, 1, 0, 0, 683, 685,
|
|
4351
|
+
3, 72, 36, 0, 684, 682, 1, 0, 0, 0, 685, 688, 1, 0, 0, 0, 686, 684, 1, 0, 0, 0, 686, 687,
|
|
4352
|
+
1, 0, 0, 0, 687, 689, 1, 0, 0, 0, 688, 686, 1, 0, 0, 0, 689, 690, 5, 3, 0, 0, 690, 710,
|
|
4353
|
+
1, 0, 0, 0, 691, 692, 5, 63, 0, 0, 692, 693, 5, 2, 0, 0, 693, 694, 3, 82, 41, 0, 694, 695,
|
|
4354
|
+
5, 1, 0, 0, 695, 696, 3, 82, 41, 0, 696, 697, 5, 3, 0, 0, 697, 710, 1, 0, 0, 0, 698, 699,
|
|
4355
|
+
5, 2, 0, 0, 699, 700, 3, 72, 36, 0, 700, 701, 5, 3, 0, 0, 701, 710, 1, 0, 0, 0, 702, 703,
|
|
4356
|
+
5, 37, 0, 0, 703, 704, 5, 2, 0, 0, 704, 705, 3, 8, 4, 0, 705, 706, 5, 3, 0, 0, 706, 710,
|
|
4357
|
+
1, 0, 0, 0, 707, 710, 3, 88, 44, 0, 708, 710, 3, 104, 52, 0, 709, 629, 1, 0, 0, 0, 709,
|
|
4358
|
+
630, 1, 0, 0, 0, 709, 647, 1, 0, 0, 0, 709, 659, 1, 0, 0, 0, 709, 672, 1, 0, 0, 0, 709,
|
|
4359
|
+
679, 1, 0, 0, 0, 709, 691, 1, 0, 0, 0, 709, 698, 1, 0, 0, 0, 709, 702, 1, 0, 0, 0, 709,
|
|
4360
|
+
707, 1, 0, 0, 0, 709, 708, 1, 0, 0, 0, 710, 85, 1, 0, 0, 0, 711, 712, 5, 92, 0, 0, 712,
|
|
4361
|
+
713, 3, 72, 36, 0, 713, 714, 5, 81, 0, 0, 714, 715, 3, 72, 36, 0, 715, 87, 1, 0, 0, 0,
|
|
4362
|
+
716, 717, 5, 2, 0, 0, 717, 718, 3, 8, 4, 0, 718, 719, 5, 3, 0, 0, 719, 89, 1, 0, 0, 0, 720,
|
|
4363
|
+
767, 5, 14, 0, 0, 721, 767, 5, 84, 0, 0, 722, 767, 5, 78, 0, 0, 723, 767, 5, 50, 0, 0,
|
|
4364
|
+
724, 767, 5, 51, 0, 0, 725, 767, 5, 12, 0, 0, 726, 767, 5, 40, 0, 0, 727, 767, 5, 31,
|
|
4365
|
+
0, 0, 728, 736, 5, 26, 0, 0, 729, 730, 5, 2, 0, 0, 730, 733, 5, 111, 0, 0, 731, 732, 5,
|
|
4366
|
+
1, 0, 0, 732, 734, 5, 111, 0, 0, 733, 731, 1, 0, 0, 0, 733, 734, 1, 0, 0, 0, 734, 735,
|
|
4367
|
+
1, 0, 0, 0, 735, 737, 5, 3, 0, 0, 736, 729, 1, 0, 0, 0, 736, 737, 1, 0, 0, 0, 737, 767,
|
|
4368
|
+
1, 0, 0, 0, 738, 746, 5, 65, 0, 0, 739, 740, 5, 2, 0, 0, 740, 743, 5, 111, 0, 0, 741, 742,
|
|
4369
|
+
5, 1, 0, 0, 742, 744, 5, 111, 0, 0, 743, 741, 1, 0, 0, 0, 743, 744, 1, 0, 0, 0, 744, 745,
|
|
4370
|
+
1, 0, 0, 0, 745, 747, 5, 3, 0, 0, 746, 739, 1, 0, 0, 0, 746, 747, 1, 0, 0, 0, 747, 767,
|
|
4371
|
+
1, 0, 0, 0, 748, 752, 5, 90, 0, 0, 749, 750, 5, 2, 0, 0, 750, 751, 5, 111, 0, 0, 751, 753,
|
|
4372
|
+
5, 3, 0, 0, 752, 749, 1, 0, 0, 0, 752, 753, 1, 0, 0, 0, 753, 767, 1, 0, 0, 0, 754, 758,
|
|
4373
|
+
5, 18, 0, 0, 755, 756, 5, 2, 0, 0, 756, 757, 5, 111, 0, 0, 757, 759, 5, 3, 0, 0, 758, 755,
|
|
4374
|
+
1, 0, 0, 0, 758, 759, 1, 0, 0, 0, 759, 767, 1, 0, 0, 0, 760, 767, 5, 80, 0, 0, 761, 767,
|
|
4375
|
+
5, 25, 0, 0, 762, 767, 5, 82, 0, 0, 763, 767, 5, 83, 0, 0, 764, 767, 5, 13, 0, 0, 765,
|
|
4376
|
+
767, 5, 91, 0, 0, 766, 720, 1, 0, 0, 0, 766, 721, 1, 0, 0, 0, 766, 722, 1, 0, 0, 0, 766,
|
|
4377
|
+
723, 1, 0, 0, 0, 766, 724, 1, 0, 0, 0, 766, 725, 1, 0, 0, 0, 766, 726, 1, 0, 0, 0, 766,
|
|
4378
|
+
727, 1, 0, 0, 0, 766, 728, 1, 0, 0, 0, 766, 738, 1, 0, 0, 0, 766, 748, 1, 0, 0, 0, 766,
|
|
4379
|
+
754, 1, 0, 0, 0, 766, 760, 1, 0, 0, 0, 766, 761, 1, 0, 0, 0, 766, 762, 1, 0, 0, 0, 766,
|
|
4380
|
+
763, 1, 0, 0, 0, 766, 764, 1, 0, 0, 0, 766, 765, 1, 0, 0, 0, 767, 91, 1, 0, 0, 0, 768, 769,
|
|
4381
|
+
5, 2, 0, 0, 769, 774, 3, 94, 47, 0, 770, 771, 5, 1, 0, 0, 771, 773, 3, 94, 47, 0, 772,
|
|
4382
|
+
770, 1, 0, 0, 0, 773, 776, 1, 0, 0, 0, 774, 772, 1, 0, 0, 0, 774, 775, 1, 0, 0, 0, 775,
|
|
4383
|
+
777, 1, 0, 0, 0, 776, 774, 1, 0, 0, 0, 777, 778, 5, 3, 0, 0, 778, 93, 1, 0, 0, 0, 779, 780,
|
|
4384
|
+
3, 98, 49, 0, 780, 781, 5, 95, 0, 0, 781, 782, 3, 96, 48, 0, 782, 95, 1, 0, 0, 0, 783,
|
|
4385
|
+
792, 5, 62, 0, 0, 784, 792, 5, 86, 0, 0, 785, 792, 5, 38, 0, 0, 786, 792, 5, 111, 0, 0,
|
|
4386
|
+
787, 792, 5, 112, 0, 0, 788, 792, 5, 113, 0, 0, 789, 792, 5, 109, 0, 0, 790, 792, 5,
|
|
4387
|
+
110, 0, 0, 791, 783, 1, 0, 0, 0, 791, 784, 1, 0, 0, 0, 791, 785, 1, 0, 0, 0, 791, 786,
|
|
4388
|
+
1, 0, 0, 0, 791, 787, 1, 0, 0, 0, 791, 788, 1, 0, 0, 0, 791, 789, 1, 0, 0, 0, 791, 790,
|
|
4389
|
+
1, 0, 0, 0, 792, 97, 1, 0, 0, 0, 793, 799, 5, 114, 0, 0, 794, 799, 5, 115, 0, 0, 795, 799,
|
|
4390
|
+
5, 116, 0, 0, 796, 799, 5, 117, 0, 0, 797, 799, 3, 114, 57, 0, 798, 793, 1, 0, 0, 0, 798,
|
|
4391
|
+
794, 1, 0, 0, 0, 798, 795, 1, 0, 0, 0, 798, 796, 1, 0, 0, 0, 798, 797, 1, 0, 0, 0, 799,
|
|
4392
|
+
99, 1, 0, 0, 0, 800, 805, 3, 98, 49, 0, 801, 802, 5, 4, 0, 0, 802, 804, 3, 98, 49, 0, 803,
|
|
4393
|
+
801, 1, 0, 0, 0, 804, 807, 1, 0, 0, 0, 805, 803, 1, 0, 0, 0, 805, 806, 1, 0, 0, 0, 806,
|
|
4394
|
+
101, 1, 0, 0, 0, 807, 805, 1, 0, 0, 0, 808, 812, 3, 98, 49, 0, 809, 810, 4, 51, 7, 0, 810,
|
|
4395
|
+
812, 3, 106, 53, 0, 811, 808, 1, 0, 0, 0, 811, 809, 1, 0, 0, 0, 812, 103, 1, 0, 0, 0, 813,
|
|
4396
|
+
814, 3, 100, 50, 0, 814, 105, 1, 0, 0, 0, 815, 816, 1, 0, 0, 0, 816, 107, 1, 0, 0, 0, 817,
|
|
4397
|
+
818, 3, 100, 50, 0, 818, 109, 1, 0, 0, 0, 819, 820, 3, 100, 50, 0, 820, 111, 1, 0, 0,
|
|
4398
|
+
0, 821, 822, 3, 100, 50, 0, 822, 113, 1, 0, 0, 0, 823, 824, 7, 7, 0, 0, 824, 115, 1, 0,
|
|
4399
|
+
0, 0, 98, 119, 128, 137, 140, 146, 153, 165, 170, 180, 184, 191, 195, 198, 201, 204,
|
|
4400
|
+
207, 210, 216, 219, 228, 236, 251, 255, 259, 263, 267, 270, 274, 277, 284, 289,
|
|
4401
|
+
294, 301, 307, 316, 321, 325, 331, 337, 347, 360, 364, 374, 381, 390, 396, 400,
|
|
4402
|
+
406, 410, 414, 420, 430, 442, 460, 472, 477, 483, 491, 498, 517, 523, 533, 541,
|
|
4403
|
+
543, 548, 554, 563, 569, 577, 585, 591, 595, 600, 605, 613, 624, 626, 633, 640,
|
|
4404
|
+
643, 651, 655, 664, 668, 686, 709, 733, 736, 743, 746, 752, 758, 766, 774, 791,
|
|
4405
|
+
798, 805, 811
|
|
4215
4406
|
];
|
|
4216
4407
|
GenericSqlParser.vocabulary = new antlr.Vocabulary(GenericSqlParser.literalNames, GenericSqlParser.symbolicNames, []);
|
|
4217
4408
|
GenericSqlParser.decisionsToDFA = GenericSqlParser._ATN.decisionToState.map((ds, index) => new antlr.DFA(ds, index));
|
|
@@ -4833,6 +5024,18 @@ export class SelectItemContext extends antlr.ParserRuleContext {
|
|
|
4833
5024
|
constructor(parent, invokingState) {
|
|
4834
5025
|
super(parent, invokingState);
|
|
4835
5026
|
}
|
|
5027
|
+
get ruleIndex() {
|
|
5028
|
+
return GenericSqlParser.RULE_selectItem;
|
|
5029
|
+
}
|
|
5030
|
+
copyFrom(ctx) {
|
|
5031
|
+
super.copyFrom(ctx);
|
|
5032
|
+
}
|
|
5033
|
+
}
|
|
5034
|
+
export class SelectExpressionElementContext extends SelectItemContext {
|
|
5035
|
+
constructor(ctx) {
|
|
5036
|
+
super(ctx.parent, ctx.invokingState);
|
|
5037
|
+
super.copyFrom(ctx);
|
|
5038
|
+
}
|
|
4836
5039
|
expression() {
|
|
4837
5040
|
return this.getRuleContext(0, ExpressionContext);
|
|
4838
5041
|
}
|
|
@@ -4842,28 +5045,103 @@ export class SelectItemContext extends antlr.ParserRuleContext {
|
|
|
4842
5045
|
KW_AS() {
|
|
4843
5046
|
return this.getToken(GenericSqlParser.KW_AS, 0);
|
|
4844
5047
|
}
|
|
5048
|
+
enterRule(listener) {
|
|
5049
|
+
if (listener.enterSelectExpressionElement) {
|
|
5050
|
+
listener.enterSelectExpressionElement(this);
|
|
5051
|
+
}
|
|
5052
|
+
}
|
|
5053
|
+
exitRule(listener) {
|
|
5054
|
+
if (listener.exitSelectExpressionElement) {
|
|
5055
|
+
listener.exitSelectExpressionElement(this);
|
|
5056
|
+
}
|
|
5057
|
+
}
|
|
5058
|
+
accept(visitor) {
|
|
5059
|
+
if (visitor.visitSelectExpressionElement) {
|
|
5060
|
+
return visitor.visitSelectExpressionElement(this);
|
|
5061
|
+
}
|
|
5062
|
+
else {
|
|
5063
|
+
return visitor.visitChildren(this);
|
|
5064
|
+
}
|
|
5065
|
+
}
|
|
5066
|
+
}
|
|
5067
|
+
export class SelectEmptyElementContext extends SelectItemContext {
|
|
5068
|
+
constructor(ctx) {
|
|
5069
|
+
super(ctx.parent, ctx.invokingState);
|
|
5070
|
+
super.copyFrom(ctx);
|
|
5071
|
+
}
|
|
5072
|
+
emptyColumn() {
|
|
5073
|
+
return this.getRuleContext(0, EmptyColumnContext);
|
|
5074
|
+
}
|
|
5075
|
+
enterRule(listener) {
|
|
5076
|
+
if (listener.enterSelectEmptyElement) {
|
|
5077
|
+
listener.enterSelectEmptyElement(this);
|
|
5078
|
+
}
|
|
5079
|
+
}
|
|
5080
|
+
exitRule(listener) {
|
|
5081
|
+
if (listener.exitSelectEmptyElement) {
|
|
5082
|
+
listener.exitSelectEmptyElement(this);
|
|
5083
|
+
}
|
|
5084
|
+
}
|
|
5085
|
+
accept(visitor) {
|
|
5086
|
+
if (visitor.visitSelectEmptyElement) {
|
|
5087
|
+
return visitor.visitSelectEmptyElement(this);
|
|
5088
|
+
}
|
|
5089
|
+
else {
|
|
5090
|
+
return visitor.visitChildren(this);
|
|
5091
|
+
}
|
|
5092
|
+
}
|
|
5093
|
+
}
|
|
5094
|
+
export class SelectStarElementContext extends SelectItemContext {
|
|
5095
|
+
constructor(ctx) {
|
|
5096
|
+
super(ctx.parent, ctx.invokingState);
|
|
5097
|
+
super.copyFrom(ctx);
|
|
5098
|
+
}
|
|
4845
5099
|
qualifiedName() {
|
|
4846
5100
|
return this.getRuleContext(0, QualifiedNameContext);
|
|
4847
5101
|
}
|
|
4848
5102
|
ASTERISK() {
|
|
4849
5103
|
return this.getToken(GenericSqlParser.ASTERISK, 0);
|
|
4850
5104
|
}
|
|
4851
|
-
|
|
4852
|
-
|
|
5105
|
+
enterRule(listener) {
|
|
5106
|
+
if (listener.enterSelectStarElement) {
|
|
5107
|
+
listener.enterSelectStarElement(this);
|
|
5108
|
+
}
|
|
5109
|
+
}
|
|
5110
|
+
exitRule(listener) {
|
|
5111
|
+
if (listener.exitSelectStarElement) {
|
|
5112
|
+
listener.exitSelectStarElement(this);
|
|
5113
|
+
}
|
|
5114
|
+
}
|
|
5115
|
+
accept(visitor) {
|
|
5116
|
+
if (visitor.visitSelectStarElement) {
|
|
5117
|
+
return visitor.visitSelectStarElement(this);
|
|
5118
|
+
}
|
|
5119
|
+
else {
|
|
5120
|
+
return visitor.visitChildren(this);
|
|
5121
|
+
}
|
|
5122
|
+
}
|
|
5123
|
+
}
|
|
5124
|
+
export class SelectAllElementContext extends SelectItemContext {
|
|
5125
|
+
constructor(ctx) {
|
|
5126
|
+
super(ctx.parent, ctx.invokingState);
|
|
5127
|
+
super.copyFrom(ctx);
|
|
5128
|
+
}
|
|
5129
|
+
ASTERISK() {
|
|
5130
|
+
return this.getToken(GenericSqlParser.ASTERISK, 0);
|
|
4853
5131
|
}
|
|
4854
5132
|
enterRule(listener) {
|
|
4855
|
-
if (listener.
|
|
4856
|
-
listener.
|
|
5133
|
+
if (listener.enterSelectAllElement) {
|
|
5134
|
+
listener.enterSelectAllElement(this);
|
|
4857
5135
|
}
|
|
4858
5136
|
}
|
|
4859
5137
|
exitRule(listener) {
|
|
4860
|
-
if (listener.
|
|
4861
|
-
listener.
|
|
5138
|
+
if (listener.exitSelectAllElement) {
|
|
5139
|
+
listener.exitSelectAllElement(this);
|
|
4862
5140
|
}
|
|
4863
5141
|
}
|
|
4864
5142
|
accept(visitor) {
|
|
4865
|
-
if (visitor.
|
|
4866
|
-
return visitor.
|
|
5143
|
+
if (visitor.visitSelectAllElement) {
|
|
5144
|
+
return visitor.visitSelectAllElement(this);
|
|
4867
5145
|
}
|
|
4868
5146
|
else {
|
|
4869
5147
|
return visitor.visitChildren(this);
|
|
@@ -5139,6 +5417,9 @@ export class WhereClauseContext extends antlr.ParserRuleContext {
|
|
|
5139
5417
|
expression() {
|
|
5140
5418
|
return this.getRuleContext(0, ExpressionContext);
|
|
5141
5419
|
}
|
|
5420
|
+
emptyColumn() {
|
|
5421
|
+
return this.getRuleContext(0, EmptyColumnContext);
|
|
5422
|
+
}
|
|
5142
5423
|
get ruleIndex() {
|
|
5143
5424
|
return GenericSqlParser.RULE_whereClause;
|
|
5144
5425
|
}
|
|
@@ -5212,6 +5493,9 @@ export class HavingClauseContext extends antlr.ParserRuleContext {
|
|
|
5212
5493
|
expression() {
|
|
5213
5494
|
return this.getRuleContext(0, ExpressionContext);
|
|
5214
5495
|
}
|
|
5496
|
+
emptyColumn() {
|
|
5497
|
+
return this.getRuleContext(0, EmptyColumnContext);
|
|
5498
|
+
}
|
|
5215
5499
|
get ruleIndex() {
|
|
5216
5500
|
return GenericSqlParser.RULE_havingClause;
|
|
5217
5501
|
}
|
|
@@ -5636,8 +5920,8 @@ export class ColumnDefinitionContext extends antlr.ParserRuleContext {
|
|
|
5636
5920
|
constructor(parent, invokingState) {
|
|
5637
5921
|
super(parent, invokingState);
|
|
5638
5922
|
}
|
|
5639
|
-
|
|
5640
|
-
return this.getRuleContext(0,
|
|
5923
|
+
columnRefCreate() {
|
|
5924
|
+
return this.getRuleContext(0, ColumnRefCreateContext);
|
|
5641
5925
|
}
|
|
5642
5926
|
dataType() {
|
|
5643
5927
|
return this.getRuleContext(0, DataTypeContext);
|
|
@@ -5682,6 +5966,35 @@ export class ColumnDefinitionContext extends antlr.ParserRuleContext {
|
|
|
5682
5966
|
}
|
|
5683
5967
|
}
|
|
5684
5968
|
}
|
|
5969
|
+
export class ColumnRefCreateContext extends antlr.ParserRuleContext {
|
|
5970
|
+
constructor(parent, invokingState) {
|
|
5971
|
+
super(parent, invokingState);
|
|
5972
|
+
}
|
|
5973
|
+
identifier() {
|
|
5974
|
+
return this.getRuleContext(0, IdentifierContext);
|
|
5975
|
+
}
|
|
5976
|
+
get ruleIndex() {
|
|
5977
|
+
return GenericSqlParser.RULE_columnRefCreate;
|
|
5978
|
+
}
|
|
5979
|
+
enterRule(listener) {
|
|
5980
|
+
if (listener.enterColumnRefCreate) {
|
|
5981
|
+
listener.enterColumnRefCreate(this);
|
|
5982
|
+
}
|
|
5983
|
+
}
|
|
5984
|
+
exitRule(listener) {
|
|
5985
|
+
if (listener.exitColumnRefCreate) {
|
|
5986
|
+
listener.exitColumnRefCreate(this);
|
|
5987
|
+
}
|
|
5988
|
+
}
|
|
5989
|
+
accept(visitor) {
|
|
5990
|
+
if (visitor.visitColumnRefCreate) {
|
|
5991
|
+
return visitor.visitColumnRefCreate(this);
|
|
5992
|
+
}
|
|
5993
|
+
else {
|
|
5994
|
+
return visitor.visitChildren(this);
|
|
5995
|
+
}
|
|
5996
|
+
}
|
|
5997
|
+
}
|
|
5685
5998
|
export class TableConstraintContext extends antlr.ParserRuleContext {
|
|
5686
5999
|
constructor(parent, invokingState) {
|
|
5687
6000
|
super(parent, invokingState);
|
|
@@ -6637,8 +6950,8 @@ export class ColumnReferenceContext extends PrimaryExpressionContext {
|
|
|
6637
6950
|
super(ctx.parent, ctx.invokingState);
|
|
6638
6951
|
super.copyFrom(ctx);
|
|
6639
6952
|
}
|
|
6640
|
-
|
|
6641
|
-
return this.getRuleContext(0,
|
|
6953
|
+
columnName() {
|
|
6954
|
+
return this.getRuleContext(0, ColumnNameContext);
|
|
6642
6955
|
}
|
|
6643
6956
|
enterRule(listener) {
|
|
6644
6957
|
if (listener.enterColumnReference) {
|
|
@@ -6721,8 +7034,8 @@ export class FunctionCallContext extends PrimaryExpressionContext {
|
|
|
6721
7034
|
super(ctx.parent, ctx.invokingState);
|
|
6722
7035
|
super.copyFrom(ctx);
|
|
6723
7036
|
}
|
|
6724
|
-
|
|
6725
|
-
return this.getRuleContext(0,
|
|
7037
|
+
functionName() {
|
|
7038
|
+
return this.getRuleContext(0, FunctionNameContext);
|
|
6726
7039
|
}
|
|
6727
7040
|
expression(i) {
|
|
6728
7041
|
if (i === undefined) {
|
|
@@ -7404,6 +7717,9 @@ export class ColumnRefContext extends antlr.ParserRuleContext {
|
|
|
7404
7717
|
identifier() {
|
|
7405
7718
|
return this.getRuleContext(0, IdentifierContext);
|
|
7406
7719
|
}
|
|
7720
|
+
emptyColumn() {
|
|
7721
|
+
return this.getRuleContext(0, EmptyColumnContext);
|
|
7722
|
+
}
|
|
7407
7723
|
get ruleIndex() {
|
|
7408
7724
|
return GenericSqlParser.RULE_columnRef;
|
|
7409
7725
|
}
|
|
@@ -7426,6 +7742,61 @@ export class ColumnRefContext extends antlr.ParserRuleContext {
|
|
|
7426
7742
|
}
|
|
7427
7743
|
}
|
|
7428
7744
|
}
|
|
7745
|
+
export class ColumnNameContext extends antlr.ParserRuleContext {
|
|
7746
|
+
constructor(parent, invokingState) {
|
|
7747
|
+
super(parent, invokingState);
|
|
7748
|
+
}
|
|
7749
|
+
qualifiedName() {
|
|
7750
|
+
return this.getRuleContext(0, QualifiedNameContext);
|
|
7751
|
+
}
|
|
7752
|
+
get ruleIndex() {
|
|
7753
|
+
return GenericSqlParser.RULE_columnName;
|
|
7754
|
+
}
|
|
7755
|
+
enterRule(listener) {
|
|
7756
|
+
if (listener.enterColumnName) {
|
|
7757
|
+
listener.enterColumnName(this);
|
|
7758
|
+
}
|
|
7759
|
+
}
|
|
7760
|
+
exitRule(listener) {
|
|
7761
|
+
if (listener.exitColumnName) {
|
|
7762
|
+
listener.exitColumnName(this);
|
|
7763
|
+
}
|
|
7764
|
+
}
|
|
7765
|
+
accept(visitor) {
|
|
7766
|
+
if (visitor.visitColumnName) {
|
|
7767
|
+
return visitor.visitColumnName(this);
|
|
7768
|
+
}
|
|
7769
|
+
else {
|
|
7770
|
+
return visitor.visitChildren(this);
|
|
7771
|
+
}
|
|
7772
|
+
}
|
|
7773
|
+
}
|
|
7774
|
+
export class EmptyColumnContext extends antlr.ParserRuleContext {
|
|
7775
|
+
constructor(parent, invokingState) {
|
|
7776
|
+
super(parent, invokingState);
|
|
7777
|
+
}
|
|
7778
|
+
get ruleIndex() {
|
|
7779
|
+
return GenericSqlParser.RULE_emptyColumn;
|
|
7780
|
+
}
|
|
7781
|
+
enterRule(listener) {
|
|
7782
|
+
if (listener.enterEmptyColumn) {
|
|
7783
|
+
listener.enterEmptyColumn(this);
|
|
7784
|
+
}
|
|
7785
|
+
}
|
|
7786
|
+
exitRule(listener) {
|
|
7787
|
+
if (listener.exitEmptyColumn) {
|
|
7788
|
+
listener.exitEmptyColumn(this);
|
|
7789
|
+
}
|
|
7790
|
+
}
|
|
7791
|
+
accept(visitor) {
|
|
7792
|
+
if (visitor.visitEmptyColumn) {
|
|
7793
|
+
return visitor.visitEmptyColumn(this);
|
|
7794
|
+
}
|
|
7795
|
+
else {
|
|
7796
|
+
return visitor.visitChildren(this);
|
|
7797
|
+
}
|
|
7798
|
+
}
|
|
7799
|
+
}
|
|
7429
7800
|
export class TableNameContext extends antlr.ParserRuleContext {
|
|
7430
7801
|
constructor(parent, invokingState) {
|
|
7431
7802
|
super(parent, invokingState);
|
|
@@ -7484,6 +7855,35 @@ export class TableNameCreateContext extends antlr.ParserRuleContext {
|
|
|
7484
7855
|
}
|
|
7485
7856
|
}
|
|
7486
7857
|
}
|
|
7858
|
+
export class FunctionNameContext extends antlr.ParserRuleContext {
|
|
7859
|
+
constructor(parent, invokingState) {
|
|
7860
|
+
super(parent, invokingState);
|
|
7861
|
+
}
|
|
7862
|
+
qualifiedName() {
|
|
7863
|
+
return this.getRuleContext(0, QualifiedNameContext);
|
|
7864
|
+
}
|
|
7865
|
+
get ruleIndex() {
|
|
7866
|
+
return GenericSqlParser.RULE_functionName;
|
|
7867
|
+
}
|
|
7868
|
+
enterRule(listener) {
|
|
7869
|
+
if (listener.enterFunctionName) {
|
|
7870
|
+
listener.enterFunctionName(this);
|
|
7871
|
+
}
|
|
7872
|
+
}
|
|
7873
|
+
exitRule(listener) {
|
|
7874
|
+
if (listener.exitFunctionName) {
|
|
7875
|
+
listener.exitFunctionName(this);
|
|
7876
|
+
}
|
|
7877
|
+
}
|
|
7878
|
+
accept(visitor) {
|
|
7879
|
+
if (visitor.visitFunctionName) {
|
|
7880
|
+
return visitor.visitFunctionName(this);
|
|
7881
|
+
}
|
|
7882
|
+
else {
|
|
7883
|
+
return visitor.visitChildren(this);
|
|
7884
|
+
}
|
|
7885
|
+
}
|
|
7886
|
+
}
|
|
7487
7887
|
export class NonReservedContext extends antlr.ParserRuleContext {
|
|
7488
7888
|
constructor(parent, invokingState) {
|
|
7489
7889
|
super(parent, invokingState);
|