Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
03cce69b
T
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1192
Star
22018
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
03cce69b
编写于
4月 10, 2022
作者:
G
Ganlin Zhao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
<feat>[query]: add cast function SQL syntax
TD-14242
上级
f072afe7
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
1515 addition
and
1059 deletion
+1515
-1059
source/libs/function/src/builtins.c
source/libs/function/src/builtins.c
+14
-0
source/libs/parser/inc/parAst.h
source/libs/parser/inc/parAst.h
+1
-0
source/libs/parser/inc/sql.y
source/libs/parser/inc/sql.y
+6
-0
source/libs/parser/src/parAstCreater.c
source/libs/parser/src/parAstCreater.c
+20
-0
source/libs/parser/src/sql.c
source/libs/parser/src/sql.c
+1474
-1059
未找到文件。
source/libs/function/src/builtins.c
浏览文件 @
03cce69b
...
...
@@ -382,6 +382,16 @@ const SBuiltinFuncDefinition funcMgtBuiltins[] = {
.
sprocessFunc
=
substrFunction
,
.
finalizeFunc
=
NULL
},
{
.
name
=
"cast"
,
.
type
=
FUNCTION_TYPE_CAST
,
.
classification
=
FUNC_MGT_SCALAR_FUNC
,
.
checkFunc
=
stubCheckAndGetResultType
,
.
getEnvFunc
=
NULL
,
.
initFunc
=
NULL
,
.
sprocessFunc
=
NULL
,
.
finalizeFunc
=
NULL
},
{
.
name
=
"_rowts"
,
.
type
=
FUNCTION_TYPE_ROWTS
,
...
...
@@ -588,6 +598,10 @@ int32_t stubCheckAndGetResultType(SFunctionNode* pFunc) {
pFunc
->
node
.
resType
=
(
SDataType
)
{
.
bytes
=
paraBytes
,
.
type
=
paraType
};
break
;
}
case
FUNCTION_TYPE_CAST
:
{
pFunc
->
node
.
resType
=
(
SDataType
)
{
.
bytes
=
tDataTypes
[
TSDB_DATA_TYPE_BIGINT
].
bytes
,
.
type
=
TSDB_DATA_TYPE_BIGINT
};
break
;
}
case
FUNCTION_TYPE_TBNAME
:
{
// todo
...
...
source/libs/parser/inc/parAst.h
浏览文件 @
03cce69b
...
...
@@ -81,6 +81,7 @@ SToken getTokenFromRawExprNode(SAstCreateContext* pCxt, SNode* pNode);
SNodeList
*
createNodeList
(
SAstCreateContext
*
pCxt
,
SNode
*
pNode
);
SNodeList
*
addNodeToList
(
SAstCreateContext
*
pCxt
,
SNodeList
*
pList
,
SNode
*
pNode
);
SNodeList
*
addValueNodeFromTypeToList
(
SAstCreateContext
*
pCxt
,
SDataType
dataType
,
SNodeList
*
pList
);
SNode
*
createColumnNode
(
SAstCreateContext
*
pCxt
,
SToken
*
pTableAlias
,
SToken
*
pColumnName
);
SNode
*
createValueNode
(
SAstCreateContext
*
pCxt
,
int32_t
dataType
,
const
SToken
*
pLiteral
);
...
...
source/libs/parser/inc/sql.y
浏览文件 @
03cce69b
...
...
@@ -520,6 +520,12 @@ expression(A) ::= pseudo_column(B).
expression(A) ::= column_reference(B). { A = B; }
expression(A) ::= function_name(B) NK_LP expression_list(C) NK_RP(D). { A = createRawExprNodeExt(pCxt, &B, &D, createFunctionNode(pCxt, &B, C)); }
expression(A) ::= function_name(B) NK_LP NK_STAR(C) NK_RP(D). { A = createRawExprNodeExt(pCxt, &B, &D, createFunctionNode(pCxt, &B, createNodeList(pCxt, createColumnNode(pCxt, NULL, &C)))); }
//for CAST function CAST(expr AS type_name)
expression(A) ::= function_name(B) NK_LP expression(C) AS type_name(D) NK_RP(E). {
SNodeList *p = createNodeList(pCxt, releaseRawExprNode(pCxt, C));
p = addValueNodeFromTypeToList(pCxt, D, p);
A = createRawExprNodeExt(pCxt, &B, &E, createFunctionNode(pCxt, &B, p));
}
//expression(A) ::= cast_expression(B). { A = B; }
//expression(A) ::= case_expression(B). { A = B; }
expression(A) ::= subquery(B). { A = B; }
...
...
source/libs/parser/src/parAstCreater.c
浏览文件 @
03cce69b
...
...
@@ -249,6 +249,26 @@ SNode* createColumnNode(SAstCreateContext* pCxt, SToken* pTableAlias, SToken* pC
return
(
SNode
*
)
col
;
}
SNodeList
*
addValueNodeFromTypeToList
(
SAstCreateContext
*
pCxt
,
SDataType
dataType
,
SNodeList
*
pList
)
{
char
buf
[
64
]
=
{
0
};
//add value node for type
snprintf
(
buf
,
sizeof
(
buf
),
"%u"
,
dataType
.
type
);
SToken
token
=
{.
type
=
TSDB_DATA_TYPE_TINYINT
,
.
n
=
strlen
(
buf
),
.
z
=
buf
};
SNode
*
pNode
=
createValueNode
(
pCxt
,
token
.
type
,
&
token
);
addNodeToList
(
pCxt
,
pList
,
pNode
);
//add value node for bytes
memset
(
buf
,
0
,
sizeof
(
buf
));
snprintf
(
buf
,
sizeof
(
buf
),
"%u"
,
dataType
.
bytes
);
token
.
type
=
TSDB_DATA_TYPE_BIGINT
;
token
.
n
=
strlen
(
buf
);
token
.
z
=
buf
;
pNode
=
createValueNode
(
pCxt
,
token
.
type
,
&
token
);
addNodeToList
(
pCxt
,
pList
,
pNode
);
return
pList
;
}
SNode
*
createValueNode
(
SAstCreateContext
*
pCxt
,
int32_t
dataType
,
const
SToken
*
pLiteral
)
{
SValueNode
*
val
=
(
SValueNode
*
)
nodesMakeNode
(
QUERY_NODE_VALUE
);
CHECK_OUT_OF_MEM
(
val
);
...
...
source/libs/parser/src/sql.c
浏览文件 @
03cce69b
...
...
@@ -132,17 +132,18 @@ typedef union {
#define ParseCTX_PARAM
#define ParseCTX_FETCH
#define ParseCTX_STORE
#define YYNSTATE 518
#define YYNRULE 400
#define YYNSTATE 521
#define YYNRULE 401
#define YYNRULE_WITH_ACTION 401
#define YYNTOKEN 202
#define YY_MAX_SHIFT 5
17
#define YY_MIN_SHIFTREDUCE 7
76
#define YY_MAX_SHIFTREDUCE 11
75
#define YY_ERROR_ACTION 11
76
#define YY_ACCEPT_ACTION 11
77
#define YY_NO_ACTION 11
78
#define YY_MIN_REDUCE 11
79
#define YY_MAX_REDUCE 15
78
#define YY_MAX_SHIFT 5
20
#define YY_MIN_SHIFTREDUCE 7
80
#define YY_MAX_SHIFTREDUCE 11
80
#define YY_ERROR_ACTION 11
81
#define YY_ACCEPT_ACTION 11
82
#define YY_NO_ACTION 11
83
#define YY_MIN_REDUCE 11
84
#define YY_MAX_REDUCE 15
84
/************* End control #defines *******************************************/
#define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0])))
...
...
@@ -209,157 +210,158 @@ typedef union {
** yy_default[] Default action for each state.
**
*********** Begin parsing tables **********************************************/
#define YY_ACTTAB_COUNT (14
88
)
#define YY_ACTTAB_COUNT (14
96
)
static
const
YYACTIONTYPE
yy_action
[]
=
{
/* 0 */
255
,
432
,
272
,
1447
,
267
,
52
,
1218
,
1380
,
275
,
25
,
/* 10 */
193
,
304
,
31
,
29
,
121
,
1371
,
1373
,
1431
,
96
,
1431
,
/* 20 */
264
,
444
,
1012
,
1431
,
445
,
1333
,
1288
,
1463
,
367
,
1427
,
/* 30 */
1433
,
1427
,
1433
,
72
,
429
,
1427
,
1434
,
117
,
1010
,
1340
,
/* 40 */
352
,
1251
,
1557
,
310
,
431
,
254
,
1284
,
11
,
1418
,
1293
,
/* 50 */
1338
,
263
,
1225
,
413
,
1017
,
130
,
813
,
432
,
812
,
1555
,
/* 60 */
31
,
29
,
1118
,
1381
,
231
,
1448
,
1449
,
1452
,
264
,
1270
,
/* 70 */
1012
,
1
,
12
,
236
,
31
,
29
,
814
,
444
,
100
,
1340
,
/* 80 */
413
,
444
,
264
,
445
,
1012
,
269
,
1010
,
343
,
31
,
29
,
/* 90 */
1338
,
1418
,
72
,
1035
,
514
,
11
,
264
,
417
,
1012
,
358
,
/* 100 */
1010
,
366
,
1017
,
360
,
858
,
100
,
1011
,
365
,
1293
,
11
,
/* 110 */
97
,
98
,
361
,
359
,
1010
,
362
,
1017
,
1034
,
1340
,
1
,
/* 120 */
860
,
186
,
1503
,
412
,
276
,
411
,
445
,
208
,
1557
,
1338
,
/* 130 */
1017
,
476
,
12
,
1
,
1222
,
308
,
1463
,
116
,
98
,
1191
,
/* 140 */
1013
,
130
,
514
,
429
,
1032
,
1555
,
445
,
7
,
127
,
1503
,
/* 150 */
1504
,
1293
,
1508
,
478
,
1011
,
309
,
514
,
1016
,
1036
,
1037
,
/* 160 */
1062
,
1063
,
1064
,
1065
,
1066
,
1067
,
1068
,
1069
,
1011
,
482
,
/* 170 */
514
,
1293
,
475
,
474
,
473
,
406
,
472
,
163
,
1117
,
131
,
/* 180 */
131
,
355
,
1011
,
502
,
501
,
500
,
499
,
279
,
1013
,
498
,
/* 190 */
497
,
496
,
102
,
491
,
490
,
489
,
488
,
487
,
486
,
485
,
/* 200 */
484
,
108
,
1013
,
357
,
6
,
1016
,
1036
,
1037
,
1062
,
1063
,
/* 210 */
1064
,
1065
,
1066
,
1067
,
1068
,
1069
,
1013
,
510
,
509
,
1016
,
/* 220 */
1036
,
1037
,
1062
,
1063
,
1064
,
1065
,
1066
,
1067
,
1068
,
1069
,
/* 230 */
1038
,
1036
,
1037
,
1016
,
1036
,
1037
,
1062
,
1063
,
1064
,
1065
,
/* 240 */
1066
,
1067
,
1068
,
1069
,
1142
,
1271
,
31
,
29
,
430
,
32
,
/* 250 */
30
,
28
,
27
,
26
,
264
,
131
,
1012
,
136
,
407
,
31
,
/* 260 */
29
,
235
,
303
,
1032
,
302
,
445
,
65
,
264
,
1180
,
1012
,
/* 270 */
322
,
403
,
1010
,
334
,
315
,
400
,
1140
,
1141
,
1143
,
1144
,
/* 280 */
101
,
131
,
335
,
50
,
1202
,
1010
,
49
,
1285
,
1017
,
84
,
/* 290 */
1293
,
343
,
83
,
82
,
81
,
80
,
79
,
78
,
77
,
76
,
/* 300 */
75
,
1017
,
131
,
131
,
329
,
7
,
480
,
896
,
468
,
467
,
/* 310 */
466
,
900
,
465
,
902
,
903
,
464
,
905
,
461
,
7
,
911
,
/* 320 */
458
,
913
,
914
,
455
,
452
,
408
,
404
,
84
,
514
,
1418
,
/* 330 */
83
,
82
,
81
,
80
,
79
,
78
,
77
,
76
,
75
,
1113
,
/* 340 */
1011
,
514
,
188
,
32
,
30
,
28
,
27
,
26
,
364
,
363
,
/* 350 */
140
,
139
,
333
,
1011
,
1116
,
328
,
327
,
326
,
325
,
324
,
/* 360 */
445
,
321
,
320
,
319
,
318
,
314
,
313
,
312
,
311
,
316
,
/* 370 */
1172
,
9
,
8
,
1033
,
1013
,
32
,
30
,
28
,
27
,
26
,
/* 380 */
32
,
30
,
28
,
27
,
26
,
1293
,
1201
,
1013
,
483
,
1200
,
/* 390 */
1265
,
1016
,
1036
,
1037
,
1062
,
1063
,
1064
,
1065
,
1066
,
1067
,
/* 400 */
1068
,
1069
,
421
,
1132
,
1016
,
1036
,
1037
,
1062
,
1063
,
1064
,
/* 410 */
1065
,
1066
,
1067
,
1068
,
1069
,
238
,
1282
,
31
,
29
,
32
,
/* 420 */
30
,
28
,
27
,
26
,
366
,
264
,
360
,
1012
,
1199
,
1447
,
/* 430 */
365
,
1418
,
371
,
97
,
1418
,
361
,
359
,
1171
,
362
,
471
,
/* 440 */
1050
,
445
,
1094
,
1010
,
1447
,
1557
,
445
,
379
,
1081
,
268
,
/* 450 */
342
,
1269
,
380
,
1463
,
238
,
1290
,
1368
,
114
,
1556
,
1017
,
/* 460 */
429
,
165
,
1555
,
138
,
374
,
1295
,
1293
,
52
,
1463
,
368
,
/* 470 */
431
,
1293
,
164
,
1418
,
1418
,
416
,
1
,
445
,
1278
,
417
,
/* 480 */
28
,
27
,
26
,
1557
,
1198
,
431
,
442
,
1081
,
1289
,
1418
,
/* 490 */
227
,
1448
,
1449
,
1452
,
1082
,
1280
,
130
,
480
,
42
,
514
,
/* 500 */
1555
,
41
,
1293
,
1197
,
1083
,
69
,
1448
,
1449
,
1452
,
1496
,
/* 510 */
1557
,
1011
,
1086
,
257
,
1492
,
125
,
274
,
495
,
493
,
1276
,
/* 520 */
1177
,
1039
,
1087
,
130
,
114
,
215
,
420
,
1555
,
1323
,
1418
,
/* 530 */
115
,
422
,
1295
,
1082
,
1524
,
221
,
24
,
262
,
1076
,
1077
,
/* 540 */
1078
,
1079
,
1080
,
1084
,
1085
,
1013
,
22
,
219
,
1418
,
1196
,
/* 550 */
1195
,
1086
,
32
,
30
,
28
,
27
,
26
,
141
,
1515
,
1113
,
/* 560 */
168
,
1447
,
1016
,
1036
,
1037
,
1062
,
1063
,
1064
,
1065
,
1066
,
/* 570 */
1067
,
1068
,
1069
,
280
,
1447
,
24
,
262
,
1076
,
1077
,
1078
,
/* 580 */
1079
,
1080
,
1084
,
1085
,
295
,
1463
,
388
,
271
,
270
,
59
,
/* 590 */
1510
,
445
,
429
,
114
,
1418
,
1418
,
1510
,
1025
,
1463
,
297
,
/* 600 */
443
,
1296
,
431
,
413
,
1557
,
429
,
1418
,
1194
,
1507
,
445
,
/* 610 */
1286
,
417
,
1050
,
1018
,
1506
,
431
,
1293
,
130
,
207
,
1418
,
/* 620 */
67
,
1555
,
68
,
1448
,
1449
,
1452
,
1496
,
470
,
100
,
1017
,
/* 630 */
237
,
1492
,
277
,
174
,
1293
,
70
,
1448
,
1449
,
1452
,
1496
,
/* 640 */
114
,
812
,
1557
,
1495
,
1492
,
48
,
47
,
307
,
1295
,
135
,
/* 650 */
1193
,
1252
,
1418
,
1192
,
301
,
130
,
1407
,
350
,
1190
,
1555
,
/* 660 */
248
,
98
,
244
,
517
,
293
,
1447
,
289
,
285
,
132
,
446
,
/* 670 */
415
,
126
,
1503
,
1504
,
1189
,
1508
,
1188
,
212
,
1125
,
1510
,
/* 680 */
95
,
1021
,
156
,
163
,
1034
,
154
,
506
,
355
,
211
,
1463
,
/* 690 */
494
,
131
,
287
,
1187
,
298
,
1418
,
416
,
1505
,
445
,
249
,
/* 700 */
1447
,
247
,
246
,
1418
,
354
,
1186
,
431
,
278
,
428
,
357
,
/* 710 */
1418
,
1185
,
1184
,
1183
,
66
,
1026
,
106
,
205
,
419
,
1418
,
/* 720 */
392
,
1418
,
1182
,
1293
,
1463
,
1020
,
69
,
1448
,
1449
,
1452
,
/* 730 */
1496
,
429
,
1029
,
1340
,
257
,
1492
,
125
,
1213
,
1418
,
401
,
/* 740 */
1340
,
431
,
1447
,
158
,
1372
,
1418
,
157
,
441
,
189
,
160
,
/* 750 */
1418
,
1339
,
159
,
1447
,
396
,
1523
,
1418
,
1418
,
1418
,
369
,
/* 760 */
1211
,
69
,
1448
,
1449
,
1452
,
1496
,
1463
,
1418
,
378
,
257
,
/* 770 */
1492
,
1569
,
395
,
429
,
190
,
170
,
162
,
1463
,
1447
,
161
,
/* 780 */
1530
,
376
,
372
,
431
,
429
,
44
,
424
,
1418
,
338
,
1139
,
/* 790 */
996
,
177
,
167
,
1023
,
431
,
179
,
9
,
8
,
1418
,
413
,
/* 800 */
389
,
397
,
1463
,
69
,
1448
,
1449
,
1452
,
1496
,
1334
,
429
,
/* 810 */
1019
,
257
,
1492
,
1569
,
231
,
1448
,
1449
,
1452
,
1073
,
431
,
/* 820 */
64
,
1447
,
1553
,
1418
,
100
,
1174
,
1175
,
33
,
387
,
33
,
/* 830 */
61
,
1088
,
1447
,
1047
,
1438
,
183
,
349
,
832
,
1012
,
69
,
/* 840 */
1448
,
1449
,
1452
,
1496
,
390
,
1463
,
1436
,
257
,
1492
,
1569
,
/* 850 */
1526
,
33
,
429
,
833
,
1010
,
979
,
1463
,
98
,
1514
,
1464
,
/* 860 */
196
,
94
,
431
,
429
,
198
,
437
,
1418
,
128
,
1503
,
1504
,
/* 870 */
1017
,
1508
,
104
,
431
,
1447
,
1557
,
204
,
1418
,
1022
,
414
,
/* 880 */
192
,
2
,
70
,
1448
,
1449
,
1452
,
1496
,
1032
,
130
,
282
,
/* 890 */
427
,
1492
,
1555
,
118
,
1448
,
1449
,
1452
,
286
,
1463
,
243
,
/* 900 */
106
,
245
,
1447
,
44
,
889
,
429
,
858
,
884
,
450
,
104
,
/* 910 */
514
,
988
,
917
,
921
,
213
,
431
,
105
,
425
,
151
,
1418
,
/* 920 */
927
,
124
,
1011
,
317
,
106
,
1370
,
1463
,
348
,
926
,
150
,
/* 930 */
1447
,
418
,
1570
,
429
,
137
,
70
,
1448
,
1449
,
1452
,
1496
,
/* 940 */
323
,
104
,
330
,
431
,
1493
,
107
,
331
,
1418
,
332
,
336
,
/* 950 */
1043
,
337
,
1042
,
339
,
1463
,
53
,
1013
,
143
,
148
,
1447
,
/* 960 */
340
,
429
,
1041
,
230
,
1448
,
1449
,
1452
,
21
,
341
,
146
,
/* 970 */
51
,
431
,
1040
,
1016
,
351
,
1418
,
344
,
32
,
30
,
28
,
/* 980 */
27
,
26
,
149
,
1463
,
1447
,
383
,
356
,
353
,
381
,
74
,
/* 990 */
429
,
118
,
1448
,
1449
,
1452
,
409
,
253
,
1283
,
384
,
153
,
/* 1000 */
431
,
382
,
391
,
1279
,
1418
,
155
,
109
,
261
,
1463
,
110
,
/* 1010 */
1281
,
1277
,
147
,
111
,
120
,
429
,
144
,
112
,
1447
,
169
,
/* 1020 */
231
,
1448
,
1449
,
1452
,
23
,
431
,
1179
,
393
,
172
,
1418
,
/* 1030 */
1571
,
1039
,
265
,
142
,
32
,
30
,
28
,
27
,
26
,
402
,
/* 1040 */
1527
,
394
,
1463
,
1017
,
435
,
231
,
1448
,
1449
,
1452
,
429
,
/* 1050 */
93
,
92
,
91
,
90
,
89
,
88
,
87
,
86
,
85
,
431
,
/* 1060 */
1537
,
175
,
1447
,
1418
,
399
,
5
,
178
,
410
,
1447
,
256
,
/* 1070 */
398
,
405
,
1113
,
4
,
1038
,
99
,
123
,
34
,
1517
,
224
,
/* 1080 */
1448
,
1449
,
1452
,
1536
,
185
,
258
,
1463
,
184
,
182
,
1511
,
/* 1090 */
17
,
426
,
1463
,
429
,
423
,
1478
,
1447
,
1572
,
191
,
429
,
/* 1100 */
1379
,
433
,
1554
,
431
,
1447
,
434
,
438
,
1418
,
439
,
431
,
/* 1110 */
1378
,
200
,
266
,
1418
,
202
,
214
,
440
,
58
,
1294
,
60
,
/* 1120 */
1463
,
448
,
1266
,
229
,
1448
,
1449
,
1452
,
429
,
1463
,
232
,
/* 1130 */
1448
,
1449
,
1452
,
477
,
216
,
429
,
210
,
431
,
1447
,
222
,
/* 1140 */
40
,
1418
,
513
,
223
,
220
,
431
,
1268
,
1412
,
218
,
1418
,
/* 1150 */
1447
,
1411
,
281
,
1408
,
283
,
284
,
1006
,
225
,
1448
,
1449
,
/* 1160 */
1452
,
1007
,
1463
,
133
,
1406
,
233
,
1448
,
1449
,
1452
,
429
,
/* 1170 */
288
,
290
,
291
,
292
,
1463
,
1405
,
294
,
1404
,
296
,
431
,
/* 1180 */
1395
,
429
,
134
,
1418
,
299
,
300
,
991
,
990
,
1389
,
1388
,
/* 1190 */
1387
,
431
,
305
,
306
,
1386
,
1418
,
1447
,
962
,
1363
,
226
,
/* 1200 */
1448
,
1449
,
1452
,
1362
,
208
,
1361
,
1360
,
1359
,
476
,
1358
,
/* 1210 */
1357
,
234
,
1448
,
1449
,
1452
,
1356
,
1355
,
1354
,
1353
,
1352
,
/* 1220 */
1463
,
1447
,
1351
,
103
,
1350
,
1349
,
1348
,
429
,
1347
,
1346
,
/* 1230 */
478
,
1345
,
1447
,
964
,
1344
,
1343
,
1342
,
431
,
1341
,
1224
,
/* 1240 */
1403
,
1418
,
1397
,
1385
,
1376
,
1463
,
1272
,
145
,
825
,
475
,
/* 1250 */
474
,
473
,
429
,
472
,
1223
,
1221
,
1463
,
1460
,
1448
,
1449
,
/* 1260 */
1452
,
345
,
431
,
429
,
347
,
1210
,
1418
,
1209
,
1447
,
346
,
/* 1270 */
1206
,
1274
,
73
,
431
,
1447
,
152
,
494
,
1418
,
932
,
934
,
/* 1280 */
1273
,
492
,
1459
,
1448
,
1449
,
1452
,
857
,
856
,
855
,
854
,
/* 1290 */
851
,
850
,
1463
,
1458
,
1448
,
1449
,
1452
,
1219
,
1463
,
429
,
/* 1300 */
250
,
1214
,
1447
,
251
,
1212
,
429
,
252
,
370
,
1205
,
431
,
/* 1310 */
1447
,
373
,
375
,
1418
,
1204
,
431
,
377
,
1402
,
71
,
1418
,
/* 1320 */
166
,
998
,
1396
,
43
,
113
,
385
,
1463
,
386
,
122
,
241
,
/* 1330 */
1448
,
1449
,
1452
,
429
,
1463
,
240
,
1448
,
1449
,
1452
,
1384
,
/* 1340 */
1383
,
429
,
1375
,
431
,
1447
,
54
,
37
,
1418
,
171
,
14
,
/* 1350 */
3
,
431
,
1436
,
33
,
173
,
1418
,
38
,
15
,
176
,
1138
,
/* 1360 */
119
,
181
,
180
,
242
,
1448
,
1449
,
1452
,
19
,
1463
,
10
,
/* 1370 */
55
,
239
,
1448
,
1449
,
1452
,
429
,
56
,
20
,
1131
,
1110
,
/* 1380 */
36
,
16
,
1109
,
187
,
1160
,
431
,
1159
,
1165
,
259
,
1418
,
/* 1390 */
1164
,
1163
,
260
,
8
,
129
,
1048
,
13
,
35
,
18
,
194
,
/* 1400 */
195
,
1136
,
1074
,
197
,
199
,
228
,
1448
,
1449
,
1452
,
436
,
/* 1410 */
1374
,
201
,
45
,
1435
,
57
,
61
,
1027
,
918
,
206
,
203
,
/* 1420 */
39
,
449
,
273
,
915
,
453
,
456
,
447
,
451
,
454
,
895
,
/* 1430 */
912
,
457
,
910
,
906
,
459
,
460
,
462
,
904
,
463
,
929
,
/* 1440 */
62
,
46
,
63
,
909
,
928
,
923
,
469
,
925
,
823
,
479
,
/* 1450 */
481
,
908
,
846
,
864
,
845
,
907
,
209
,
844
,
843
,
842
,
/* 1460 */
841
,
839
,
840
,
859
,
836
,
861
,
835
,
834
,
831
,
830
,
/* 1470 */
829
,
828
,
1220
,
503
,
504
,
1208
,
1207
,
505
,
507
,
508
,
/* 1480 */
1203
,
511
,
512
,
1178
,
1014
,
217
,
515
,
516
,
/* 0 */
257
,
435
,
274
,
1452
,
269
,
52
,
1223
,
1385
,
277
,
25
,
/* 10 */
194
,
306
,
30
,
28
,
122
,
1376
,
1378
,
1436
,
96
,
1436
,
/* 20 */
266
,
447
,
1016
,
1436
,
448
,
1338
,
1293
,
1469
,
369
,
1432
,
/* 30 */
1438
,
1432
,
1438
,
72
,
431
,
1432
,
1439
,
118
,
1014
,
1345
,
/* 40 */
354
,
1256
,
1563
,
312
,
434
,
256
,
1289
,
11
,
1423
,
1298
,
/* 50 */
1343
,
265
,
1230
,
415
,
1021
,
131
,
817
,
435
,
816
,
1561
,
/* 60 */
30
,
28
,
1123
,
1386
,
229
,
1453
,
1454
,
1458
,
266
,
1275
,
/* 70 */
1016
,
1
,
12
,
238
,
30
,
28
,
818
,
447
,
100
,
1345
,
/* 80 */
415
,
447
,
266
,
448
,
1016
,
271
,
1014
,
345
,
30
,
28
,
/* 90 */
1343
,
1423
,
72
,
1039
,
517
,
11
,
266
,
419
,
1016
,
360
,
/* 100 */
1014
,
368
,
1021
,
362
,
862
,
100
,
1015
,
367
,
1298
,
11
,
/* 110 */
97
,
98
,
363
,
361
,
1014
,
364
,
1021
,
1038
,
1345
,
1
,
/* 120 */
864
,
187
,
1509
,
414
,
278
,
413
,
448
,
209
,
1563
,
1343
,
/* 130 */
1021
,
479
,
12
,
1
,
1227
,
310
,
1469
,
117
,
98
,
1196
,
/* 140 */
1017
,
131
,
517
,
431
,
1036
,
1561
,
448
,
7
,
128
,
1509
,
/* 150 */
1510
,
1298
,
1514
,
481
,
1015
,
311
,
517
,
1020
,
1040
,
1041
,
/* 160 */
1067
,
1068
,
1069
,
1070
,
1071
,
1072
,
1073
,
1074
,
1015
,
485
,
/* 170 */
517
,
1298
,
478
,
477
,
476
,
408
,
475
,
164
,
1122
,
132
,
/* 180 */
132
,
357
,
1015
,
505
,
504
,
503
,
502
,
281
,
1017
,
501
,
/* 190 */
500
,
499
,
102
,
494
,
493
,
492
,
491
,
490
,
489
,
488
,
/* 200 */
487
,
108
,
1017
,
359
,
6
,
1020
,
1040
,
1041
,
1067
,
1068
,
/* 210 */
1069
,
1070
,
1071
,
1072
,
1073
,
1074
,
1017
,
513
,
512
,
1020
,
/* 220 */
1040
,
1041
,
1067
,
1068
,
1069
,
1070
,
1071
,
1072
,
1073
,
1074
,
/* 230 */
1042
,
1040
,
1041
,
1020
,
1040
,
1041
,
1067
,
1068
,
1069
,
1070
,
/* 240 */
1071
,
1072
,
1073
,
1074
,
1147
,
1276
,
30
,
28
,
433
,
32
,
/* 250 */
31
,
29
,
27
,
26
,
266
,
132
,
1016
,
137
,
409
,
30
,
/* 260 */
28
,
237
,
305
,
1036
,
304
,
448
,
65
,
266
,
1185
,
1016
,
/* 270 */
324
,
405
,
1014
,
336
,
317
,
402
,
1145
,
1146
,
1148
,
1149
,
/* 280 */
101
,
132
,
337
,
50
,
1207
,
1014
,
49
,
1290
,
1021
,
84
,
/* 290 */
1298
,
345
,
83
,
82
,
81
,
80
,
79
,
78
,
77
,
76
,
/* 300 */
75
,
1021
,
132
,
132
,
331
,
7
,
483
,
900
,
471
,
470
,
/* 310 */
469
,
904
,
468
,
906
,
907
,
467
,
909
,
464
,
7
,
915
,
/* 320 */
461
,
917
,
918
,
458
,
455
,
410
,
406
,
84
,
517
,
1423
,
/* 330 */
83
,
82
,
81
,
80
,
79
,
78
,
77
,
76
,
75
,
1118
,
/* 340 */
1015
,
517
,
189
,
32
,
31
,
29
,
27
,
26
,
366
,
365
,
/* 350 */
141
,
140
,
335
,
1015
,
1121
,
330
,
329
,
328
,
327
,
326
,
/* 360 */
448
,
323
,
322
,
321
,
320
,
316
,
315
,
314
,
313
,
318
,
/* 370 */
1177
,
29
,
27
,
26
,
1017
,
32
,
31
,
29
,
27
,
26
,
/* 380 */
32
,
31
,
29
,
27
,
26
,
1298
,
1206
,
1017
,
486
,
1205
,
/* 390 */
1270
,
1020
,
1040
,
1041
,
1067
,
1068
,
1069
,
1070
,
1071
,
1072
,
/* 400 */
1073
,
1074
,
423
,
1137
,
1020
,
1040
,
1041
,
1067
,
1068
,
1069
,
/* 410 */
1070
,
1071
,
1072
,
1073
,
1074
,
241
,
1037
,
30
,
28
,
32
,
/* 420 */
31
,
29
,
27
,
26
,
368
,
266
,
362
,
1016
,
1204
,
1452
,
/* 430 */
367
,
1423
,
373
,
97
,
1423
,
363
,
361
,
1176
,
364
,
1287
,
/* 440 */
1055
,
448
,
52
,
1014
,
1452
,
1563
,
448
,
381
,
1086
,
270
,
/* 450 */
344
,
1274
,
382
,
1469
,
241
,
1295
,
474
,
115
,
1562
,
1021
,
/* 460 */
431
,
166
,
1561
,
1294
,
376
,
1300
,
1298
,
59
,
1469
,
370
,
/* 470 */
434
,
1298
,
165
,
1423
,
1423
,
418
,
1
,
448
,
497
,
419
,
/* 480 */
1203
,
1202
,
300
,
1563
,
1201
,
434
,
445
,
1086
,
1291
,
1423
,
/* 490 */
228
,
1453
,
1454
,
1458
,
1087
,
114
,
131
,
483
,
42
,
517
,
/* 500 */
1561
,
41
,
1298
,
1200
,
1088
,
69
,
1453
,
1454
,
1458
,
1502
,
/* 510 */
1563
,
1015
,
1091
,
259
,
1498
,
126
,
276
,
1283
,
9
,
8
,
/* 520 */
1182
,
1373
,
1092
,
131
,
115
,
1423
,
1423
,
1561
,
139
,
1423
,
/* 530 */
116
,
424
,
1300
,
1087
,
1530
,
222
,
24
,
264
,
1081
,
1082
,
/* 540 */
1083
,
1084
,
1085
,
1089
,
1090
,
1017
,
22
,
220
,
1423
,
1199
,
/* 550 */
1198
,
1091
,
32
,
31
,
29
,
27
,
26
,
142
,
498
,
496
,
/* 560 */
1285
,
1452
,
1020
,
1040
,
1041
,
1067
,
1068
,
1069
,
1070
,
1071
,
/* 570 */
1072
,
1073
,
1074
,
282
,
1452
,
24
,
264
,
1081
,
1082
,
1083
,
/* 580 */
1084
,
1085
,
1089
,
1090
,
422
,
1469
,
390
,
273
,
272
,
1099
,
/* 590 */
1516
,
448
,
431
,
115
,
1423
,
1423
,
1516
,
1029
,
1469
,
1345
,
/* 600 */
446
,
1301
,
434
,
415
,
1563
,
431
,
1423
,
1195
,
1513
,
448
,
/* 610 */
1377
,
419
,
1055
,
1022
,
1512
,
434
,
1298
,
131
,
208
,
1423
,
/* 620 */
67
,
1561
,
68
,
1453
,
1454
,
1458
,
1502
,
1043
,
100
,
1021
,
/* 630 */
240
,
1498
,
279
,
1281
,
1298
,
70
,
1453
,
1454
,
1458
,
1502
,
/* 640 */
115
,
816
,
1563
,
1501
,
1498
,
48
,
47
,
309
,
1300
,
136
,
/* 650 */
1194
,
169
,
1423
,
1193
,
303
,
131
,
1218
,
352
,
1192
,
1561
,
/* 660 */
250
,
98
,
246
,
520
,
295
,
1452
,
291
,
287
,
133
,
449
,
/* 670 */
417
,
127
,
1509
,
1510
,
432
,
1514
,
1516
,
213
,
371
,
1345
,
/* 680 */
95
,
1025
,
1412
,
164
,
1521
,
1118
,
509
,
357
,
212
,
1469
,
/* 690 */
1344
,
132
,
1191
,
1190
,
1511
,
1423
,
418
,
426
,
1423
,
251
,
/* 700 */
1452
,
249
,
248
,
1423
,
356
,
1189
,
434
,
1188
,
430
,
359
,
/* 710 */
1423
,
1187
,
380
,
216
,
66
,
1030
,
1328
,
206
,
289
,
32
,
/* 720 */
31
,
29
,
27
,
26
,
1469
,
378
,
69
,
1453
,
1454
,
1458
,
/* 730 */
1502
,
431
,
1033
,
473
,
259
,
1498
,
126
,
1423
,
1423
,
175
,
/* 740 */
157
,
434
,
1452
,
155
,
297
,
1423
,
1216
,
444
,
190
,
448
,
/* 750 */
1423
,
1130
,
1423
,
1452
,
398
,
1529
,
1423
,
1038
,
280
,
299
,
/* 760 */
1197
,
69
,
1453
,
1454
,
1458
,
1502
,
1469
,
1257
,
374
,
259
,
/* 770 */
1498
,
1575
,
397
,
431
,
1298
,
171
,
421
,
1469
,
1452
,
159
,
/* 780 */
1536
,
191
,
158
,
434
,
431
,
161
,
163
,
1423
,
160
,
162
,
/* 790 */
1000
,
106
,
168
,
403
,
434
,
394
,
9
,
8
,
1423
,
415
,
/* 800 */
391
,
399
,
1469
,
69
,
1453
,
1454
,
1458
,
1502
,
340
,
431
,
/* 810 */
1024
,
259
,
1498
,
1575
,
233
,
1453
,
1454
,
1458
,
1078
,
434
,
/* 820 */
389
,
1452
,
1559
,
1423
,
100
,
44
,
178
,
33
,
427
,
1144
,
/* 830 */
180
,
1093
,
1452
,
33
,
1179
,
1180
,
1023
,
1051
,
1016
,
69
,
/* 840 */
1453
,
1454
,
1458
,
1502
,
392
,
1469
,
33
,
259
,
1498
,
1575
,
/* 850 */
983
,
197
,
431
,
1339
,
1014
,
199
,
1469
,
98
,
1520
,
184
,
/* 860 */
1443
,
94
,
434
,
431
,
1532
,
440
,
1423
,
129
,
1509
,
1510
,
/* 870 */
1021
,
1514
,
1441
,
434
,
1452
,
1563
,
104
,
1423
,
1027
,
351
,
/* 880 */
205
,
416
,
70
,
1453
,
1454
,
1458
,
1502
,
1470
,
131
,
2
,
/* 890 */
429
,
1498
,
1561
,
119
,
1453
,
1454
,
1458
,
106
,
1469
,
44
,
/* 900 */
193
,
893
,
1452
,
888
,
1026
,
431
,
1036
,
453
,
104
,
105
,
/* 910 */
517
,
921
,
925
,
931
,
284
,
434
,
106
,
288
,
152
,
1423
,
/* 920 */
930
,
125
,
1015
,
245
,
104
,
836
,
1469
,
350
,
107
,
151
,
/* 930 */
1452
,
420
,
1576
,
431
,
862
,
70
,
1453
,
1454
,
1458
,
1502
,
/* 940 */
64
,
837
,
247
,
434
,
1499
,
992
,
214
,
1423
,
333
,
319
,
/* 950 */
61
,
1375
,
138
,
325
,
1469
,
53
,
1017
,
332
,
149
,
1452
,
/* 960 */
334
,
431
,
338
,
232
,
1453
,
1454
,
1458
,
21
,
1047
,
1046
,
/* 970 */
341
,
434
,
339
,
1020
,
144
,
1423
,
1045
,
32
,
31
,
29
,
/* 980 */
27
,
26
,
343
,
1469
,
1452
,
342
,
147
,
51
,
346
,
150
,
/* 990 */
431
,
119
,
1453
,
1454
,
1458
,
411
,
1044
,
353
,
355
,
1288
,
/* 1000 */
434
,
358
,
74
,
255
,
1423
,
384
,
385
,
263
,
1469
,
154
,
/* 1010 */
1284
,
156
,
148
,
109
,
121
,
431
,
145
,
110
,
1452
,
386
,
/* 1020 */
233
,
1453
,
1454
,
1458
,
23
,
434
,
1184
,
170
,
1286
,
1423
,
/* 1030 */
1577
,
1282
,
267
,
143
,
32
,
31
,
29
,
27
,
26
,
111
,
/* 1040 */
112
,
383
,
1469
,
173
,
396
,
233
,
1453
,
1454
,
1458
,
431
,
/* 1050 */
93
,
92
,
91
,
90
,
89
,
88
,
87
,
86
,
85
,
434
,
/* 1060 */
393
,
395
,
1452
,
1423
,
1043
,
1533
,
404
,
1543
,
1452
,
438
,
/* 1070 */
176
,
1021
,
179
,
401
,
258
,
412
,
407
,
183
,
5
,
225
,
/* 1080 */
1453
,
1454
,
1458
,
1542
,
400
,
1523
,
1469
,
4
,
1118
,
99
,
/* 1090 */
1042
,
124
,
1469
,
431
,
1517
,
34
,
1452
,
186
,
185
,
431
,
/* 1100 */
17
,
260
,
428
,
434
,
1452
,
425
,
1560
,
1423
,
436
,
434
,
/* 1110 */
1578
,
1484
,
1384
,
1423
,
437
,
192
,
1383
,
268
,
441
,
442
,
/* 1120 */
1469
,
443
,
203
,
231
,
1453
,
1454
,
1458
,
431
,
1469
,
234
,
/* 1130 */
1453
,
1454
,
1458
,
201
,
58
,
431
,
215
,
434
,
1452
,
1299
,
/* 1140 */
451
,
1423
,
60
,
480
,
1271
,
434
,
1273
,
217
,
211
,
1423
,
/* 1150 */
1452
,
516
,
40
,
223
,
224
,
219
,
221
,
226
,
1453
,
1454
,
/* 1160 */
1458
,
1417
,
1469
,
1416
,
283
,
235
,
1453
,
1454
,
1458
,
431
,
/* 1170 */
1413
,
285
,
286
,
1010
,
1469
,
1011
,
134
,
290
,
1411
,
434
,
/* 1180 */
292
,
431
,
293
,
1423
,
294
,
1410
,
296
,
1409
,
298
,
1400
,
/* 1190 */
135
,
434
,
301
,
302
,
995
,
1423
,
1452
,
994
,
1394
,
227
,
/* 1200 */
1453
,
1454
,
1458
,
1393
,
209
,
307
,
1392
,
1391
,
479
,
308
,
/* 1210 */
966
,
236
,
1453
,
1454
,
1458
,
1368
,
1367
,
1366
,
1365
,
1364
,
/* 1220 */
1469
,
1452
,
1363
,
1362
,
1361
,
1360
,
1359
,
431
,
1358
,
1357
,
/* 1230 */
481
,
1356
,
1452
,
103
,
1355
,
1354
,
1353
,
434
,
1352
,
1351
,
/* 1240 */
1350
,
1423
,
968
,
1349
,
1348
,
1469
,
1347
,
1346
,
1229
,
478
,
/* 1250 */
477
,
476
,
431
,
475
,
1408
,
1402
,
1469
,
1466
,
1453
,
1454
,
/* 1260 */
1458
,
1390
,
434
,
431
,
1381
,
1277
,
1423
,
1228
,
1452
,
829
,
/* 1270 */
146
,
1226
,
1215
,
434
,
1452
,
347
,
349
,
1423
,
348
,
1214
,
/* 1280 */
1211
,
1279
,
1465
,
1453
,
1454
,
1458
,
1278
,
153
,
73
,
938
,
/* 1290 */
936
,
861
,
1469
,
243
,
1453
,
1454
,
1458
,
860
,
1469
,
431
,
/* 1300 */
497
,
859
,
1452
,
1224
,
858
,
431
,
252
,
855
,
854
,
434
,
/* 1310 */
1452
,
1219
,
253
,
1423
,
372
,
434
,
1217
,
495
,
254
,
1423
,
/* 1320 */
375
,
1210
,
377
,
1209
,
379
,
71
,
1469
,
1407
,
43
,
1464
,
/* 1330 */
1453
,
1454
,
1458
,
431
,
1469
,
244
,
1453
,
1454
,
1458
,
167
,
/* 1340 */
1401
,
431
,
1002
,
434
,
1452
,
113
,
387
,
1423
,
1389
,
1388
,
/* 1350 */
1380
,
434
,
172
,
3
,
54
,
1423
,
33
,
14
,
15
,
177
,
/* 1360 */
38
,
1143
,
388
,
242
,
1453
,
1454
,
1458
,
1136
,
1469
,
120
,
/* 1370 */
123
,
239
,
1453
,
1454
,
1458
,
431
,
182
,
37
,
181
,
174
,
/* 1380 */
1441
,
19
,
20
,
55
,
188
,
434
,
56
,
1115
,
35
,
1423
,
/* 1390 */
1114
,
1170
,
1165
,
36
,
16
,
10
,
130
,
1164
,
261
,
1169
,
/* 1400 */
1168
,
262
,
8
,
195
,
1053
,
230
,
1453
,
1454
,
1458
,
1052
,
/* 1410 */
13
,
1379
,
18
,
1079
,
196
,
1141
,
198
,
200
,
45
,
202
,
/* 1420 */
204
,
439
,
57
,
1031
,
452
,
61
,
39
,
275
,
456
,
922
,
/* 1430 */
919
,
459
,
462
,
465
,
914
,
1440
,
207
,
454
,
450
,
457
,
/* 1440 */
899
,
916
,
460
,
933
,
910
,
463
,
929
,
908
,
466
,
62
,
/* 1450 */
46
,
63
,
927
,
482
,
472
,
827
,
868
,
484
,
850
,
210
,
/* 1460 */
913
,
912
,
849
,
911
,
848
,
847
,
846
,
845
,
843
,
844
,
/* 1470 */
865
,
863
,
840
,
839
,
838
,
835
,
834
,
833
,
832
,
932
,
/* 1480 */
1225
,
506
,
1213
,
507
,
508
,
1212
,
510
,
511
,
1208
,
514
,
/* 1490 */
515
,
1183
,
1018
,
218
,
518
,
519
,
};
static
const
YYCODETYPE
yy_lookahead
[]
=
{
/* 0 */
233
,
246
,
233
,
205
,
249
,
213
,
0
,
252
,
238
,
271
,
...
...
@@ -399,119 +401,119 @@ static const YYCODETYPE yy_lookahead[] = {
/* 340 */
106
,
94
,
132
,
12
,
13
,
14
,
15
,
16
,
215
,
216
,
/* 350 */
110
,
111
,
109
,
106
,
180
,
112
,
113
,
114
,
115
,
116
,
/* 360 */
211
,
118
,
119
,
120
,
121
,
122
,
123
,
124
,
125
,
220
,
/* 370 */
133
,
1
,
2
,
20
,
140
,
12
,
13
,
14
,
15
,
16
,
/* 370 */
133
,
14
,
15
,
16
,
140
,
12
,
13
,
14
,
15
,
16
,
/* 380 */
12
,
13
,
14
,
15
,
16
,
236
,
205
,
140
,
217
,
205
,
/* 390 */
219
,
157
,
158
,
159
,
160
,
161
,
162
,
163
,
164
,
165
,
/* 400 */
166
,
167
,
68
,
72
,
157
,
158
,
159
,
160
,
161
,
162
,
/* 410 */
163
,
164
,
165
,
166
,
167
,
47
,
23
0
,
12
,
13
,
12
,
/* 410 */
163
,
164
,
165
,
166
,
167
,
47
,
2
0
,
12
,
13
,
12
,
/* 420 */
13
,
14
,
15
,
16
,
49
,
20
,
51
,
22
,
205
,
205
,
/* 430 */
55
,
250
,
4
,
58
,
250
,
60
,
61
,
200
,
63
,
82
,
/* 440 */
72
,
211
,
72
,
38
,
205
,
286
,
211
,
19
,
80
,
221
,
/* 450 */
220
,
0
,
255
,
229
,
47
,
220
,
236
,
229
,
299
,
54
,
/* 460 */
236
,
33
,
303
,
2
43
,
36
,
237
,
236
,
213
,
229
,
41
,
/* 470 */
246
,
236
,
44
,
250
,
250
,
236
,
71
,
211
,
230
,
255
,
/* 480 */
14
,
15
,
16
,
286
,
205
,
246
,
220
,
80
,
234
,
250
,
/* 490 */
266
,
267
,
268
,
269
,
126
,
230
,
299
,
46
,
70
,
94
,
/* 430 */
55
,
250
,
4
,
58
,
250
,
60
,
61
,
200
,
63
,
230
,
/* 440 */
72
,
211
,
213
,
38
,
205
,
286
,
211
,
19
,
80
,
221
,
/* 450 */
220
,
0
,
255
,
229
,
47
,
220
,
82
,
229
,
299
,
54
,
/* 460 */
236
,
33
,
303
,
2
34
,
36
,
237
,
236
,
210
,
229
,
41
,
/* 470 */
246
,
236
,
44
,
250
,
250
,
236
,
71
,
211
,
68
,
255
,
/* 480 */
205
,
205
,
72
,
286
,
205
,
246
,
220
,
80
,
231
,
250
,
/* 490 */
266
,
267
,
268
,
269
,
126
,
132
,
299
,
46
,
70
,
94
,
/* 500 */
303
,
73
,
236
,
205
,
126
,
266
,
267
,
268
,
269
,
270
,
/* 510 */
286
,
106
,
144
,
274
,
275
,
276
,
221
,
2
15
,
216
,
230
,
/* 520 */
202
,
20
,
144
,
299
,
229
,
222
,
3
,
303
,
225
,
250
,
/* 510 */
286
,
106
,
144
,
274
,
275
,
276
,
221
,
2
30
,
1
,
2
,
/* 520 */
202
,
236
,
144
,
299
,
229
,
250
,
250
,
303
,
243
,
250
,
/* 530 */
18
,
197
,
237
,
126
,
295
,
23
,
168
,
169
,
170
,
171
,
/* 540 */
172
,
173
,
174
,
175
,
176
,
140
,
168
,
35
,
250
,
205
,
/* 550 */
205
,
144
,
12
,
13
,
14
,
15
,
16
,
45
,
177
,
178
,
/* 550 */
205
,
144
,
12
,
13
,
14
,
15
,
16
,
45
,
215
,
216
,
/* 560 */
230
,
205
,
157
,
158
,
159
,
160
,
161
,
162
,
163
,
164
,
/* 570 */
165
,
166
,
167
,
255
,
205
,
168
,
169
,
170
,
171
,
172
,
/* 580 */
173
,
174
,
175
,
176
,
136
,
229
,
258
,
12
,
13
,
210
,
/* 590 */
264
,
211
,
236
,
229
,
250
,
250
,
264
,
22
,
229
,
151
,
/* 580 */
173
,
174
,
175
,
176
,
3
,
229
,
258
,
12
,
13
,
72
,
/* 590 */
264
,
211
,
236
,
229
,
250
,
250
,
264
,
22
,
229
,
229
,
/* 600 */
220
,
237
,
246
,
211
,
286
,
236
,
250
,
205
,
282
,
211
,
/* 610 */
2
31
,
255
,
72
,
38
,
282
,
246
,
236
,
299
,
220
,
250
,
/* 620 */
108
,
303
,
266
,
267
,
268
,
269
,
270
,
23
0
,
236
,
54
,
/* 630 */
274
,
275
,
221
,
132
,
236
,
266
,
267
,
268
,
269
,
270
,
/* 610 */
2
40
,
255
,
72
,
38
,
282
,
246
,
236
,
299
,
220
,
250
,
/* 620 */
108
,
303
,
266
,
267
,
268
,
269
,
270
,
2
0
,
236
,
54
,
/* 630 */
274
,
275
,
221
,
230
,
236
,
266
,
267
,
268
,
269
,
270
,
/* 640 */
229
,
22
,
286
,
274
,
275
,
133
,
134
,
135
,
237
,
137
,
/* 650 */
205
,
2
18
,
250
,
206
,
142
,
299
,
0
,
38
,
205
,
303
,
/* 650 */
205
,
2
30
,
250
,
205
,
142
,
299
,
0
,
38
,
205
,
303
,
/* 660 */
35
,
269
,
150
,
19
,
152
,
205
,
154
,
155
,
156
,
94
,
/* 670 */
278
,
279
,
280
,
281
,
2
05
,
283
,
205
,
33
,
14
,
264
,
/* 680 */
36
,
106
,
75
,
58
,
20
,
78
,
42
,
62
,
44
,
229
,
/* 690 */
68
,
179
,
36
,
205
,
72
,
250
,
236
,
282
,
211
,
74
,
/* 700 */
205
,
76
,
77
,
250
,
79
,
205
,
246
,
2
20
,
47
,
84
,
/* 710 */
250
,
205
,
205
,
205
,
70
,
140
,
68
,
73
,
195
,
250
,
/* 720 */
72
,
250
,
205
,
236
,
229
,
38
,
266
,
267
,
268
,
269
,
/* 730 */
270
,
236
,
157
,
2
29
,
274
,
275
,
276
,
0
,
250
,
297
,
/* 740 */
229
,
246
,
205
,
75
,
240
,
250
,
78
,
103
,
288
,
75
,
/* 750 */
250
,
240
,
78
,
205
,
294
,
295
,
250
,
250
,
250
,
22
,
/* 760 */
0
,
266
,
267
,
268
,
269
,
270
,
229
,
250
,
21
,
274
,
/* 770 */
275
,
276
,
128
,
236
,
306
,
131
,
75
,
229
,
205
,
78
,
/* 780 */
285
,
34
,
22
,
246
,
236
,
68
,
68
,
250
,
246
,
72
,
/* 790 */
146
,
68
,
148
,
106
,
246
,
72
,
1
,
2
,
250
,
211
,
/* 800 */
211
,
253
,
229
,
266
,
267
,
268
,
269
,
270
,
2
39
,
236
,
/* 670 */
278
,
279
,
280
,
281
,
2
30
,
283
,
264
,
33
,
22
,
229
,
/* 680 */
36
,
106
,
0
,
58
,
177
,
1
78
,
42
,
62
,
44
,
229
,
/* 690 */
240
,
179
,
205
,
205
,
282
,
250
,
236
,
68
,
250
,
74
,
/* 700 */
205
,
76
,
77
,
250
,
79
,
205
,
246
,
2
05
,
47
,
84
,
/* 710 */
250
,
205
,
21
,
222
,
70
,
140
,
225
,
73
,
36
,
12
,
/* 720 */
13
,
14
,
15
,
16
,
229
,
34
,
266
,
267
,
268
,
269
,
/* 730 */
270
,
236
,
157
,
2
30
,
274
,
275
,
276
,
250
,
250
,
132
,
/* 740 */
75
,
246
,
205
,
78
,
136
,
250
,
0
,
103
,
288
,
211
,
/* 750 */
250
,
14
,
250
,
205
,
294
,
295
,
250
,
20
,
220
,
151
,
/* 760 */
206
,
266
,
267
,
268
,
269
,
270
,
229
,
218
,
22
,
274
,
/* 770 */
275
,
276
,
128
,
236
,
236
,
131
,
195
,
229
,
205
,
75
,
/* 780 */
285
,
306
,
78
,
246
,
236
,
75
,
75
,
250
,
78
,
78
,
/* 790 */
146
,
68
,
148
,
297
,
246
,
72
,
1
,
2
,
250
,
211
,
/* 800 */
211
,
253
,
229
,
266
,
267
,
268
,
269
,
270
,
2
46
,
236
,
/* 810 */
38
,
274
,
275
,
276
,
266
,
267
,
268
,
269
,
157
,
246
,
/* 820 */
71
,
205
,
285
,
250
,
236
,
158
,
159
,
68
,
246
,
68
,
/* 830 */
81
,
72
,
205
,
72
,
71
,
291
,
208
,
38
,
22
,
266
,
/* 840 */
267
,
268
,
269
,
270
,
255
,
229
,
83
,
274
,
275
,
276
,
/* 850 */
265
,
68
,
236
,
54
,
38
,
72
,
229
,
269
,
285
,
229
,
/* 860 */
68
,
68
,
246
,
236
,
72
,
72
,
250
,
279
,
280
,
281
,
/* 870 */
54
,
283
,
68
,
246
,
205
,
286
,
72
,
250
,
106
,
284
,
/* 880 */
300
,
287
,
266
,
267
,
268
,
269
,
270
,
20
,
299
,
211
,
/* 890 */
274
,
275
,
303
,
266
,
267
,
268
,
269
,
36
,
229
,
261
,
/* 900 */
68
,
215
,
205
,
68
,
72
,
236
,
38
,
72
,
68
,
68
,
/* 910 */
94
,
138
,
72
,
72
,
256
,
246
,
68
,
199
,
33
,
250
,
/* 920 */
72
,
36
,
106
,
2
11
,
68
,
211
,
229
,
42
,
72
,
44
,
/* 930 */
205
,
304
,
305
,
236
,
117
,
266
,
267
,
268
,
269
,
270
,
/* 940 */
244
,
68
,
242
,
246
,
275
,
72
,
126
,
250
,
242
,
211
,
/* 950 */
20
,
260
,
20
,
254
,
229
,
70
,
140
,
213
,
73
,
205
,
/* 960 */
2
36
,
236
,
20
,
266
,
267
,
268
,
269
,
2
,
247
,
213
,
/* 970 */
2
13
,
246
,
20
,
157
,
207
,
250
,
211
,
12
,
13
,
14
,
/* 980 */
15
,
16
,
2
13
,
229
,
205
,
147
,
215
,
229
,
236
,
211
,
/* 990 */
236
,
266
,
267
,
268
,
269
,
298
,
207
,
229
,
25
9
,
229
,
/* 1000 */
246
,
2
60
,
254
,
229
,
250
,
229
,
229
,
253
,
229
,
229
,
/* 1010 */
229
,
229
,
127
,
229
,
129
,
236
,
131
,
229
,
205
,
2
10
,
/* 1020 */
266
,
267
,
268
,
269
,
2
,
246
,
0
,
2
36
,
210
,
250
,
/* 1030 */
305
,
20
,
253
,
148
,
12
,
13
,
14
,
15
,
16
,
187
,
/* 1040 */
2
65
,
247
,
229
,
54
,
186
,
266
,
267
,
268
,
269
,
236
,
/* 820 */
246
,
205
,
285
,
250
,
236
,
68
,
68
,
68
,
199
,
72
,
/* 830 */
72
,
72
,
205
,
68
,
158
,
159
,
38
,
72
,
22
,
266
,
/* 840 */
267
,
268
,
269
,
270
,
255
,
229
,
68
,
274
,
275
,
276
,
/* 850 */
72
,
68
,
236
,
239
,
38
,
72
,
229
,
269
,
285
,
291
,
/* 860 */
71
,
68
,
246
,
236
,
265
,
72
,
250
,
279
,
280
,
281
,
/* 870 */
54
,
283
,
83
,
246
,
205
,
286
,
68
,
250
,
106
,
208
,
/* 880 */
72
,
284
,
266
,
267
,
268
,
269
,
270
,
229
,
299
,
287
,
/* 890 */
274
,
275
,
303
,
266
,
267
,
268
,
269
,
68
,
229
,
68
,
/* 900 */
300
,
72
,
205
,
72
,
106
,
236
,
20
,
68
,
68
,
68
,
/* 910 */
94
,
72
,
72
,
72
,
211
,
246
,
68
,
36
,
33
,
250
,
/* 920 */
72
,
36
,
106
,
2
61
,
68
,
38
,
229
,
42
,
72
,
44
,
/* 930 */
205
,
304
,
305
,
236
,
38
,
266
,
267
,
268
,
269
,
270
,
/* 940 */
71
,
54
,
215
,
246
,
275
,
138
,
256
,
250
,
126
,
211
,
/* 950 */
81
,
211
,
117
,
244
,
229
,
70
,
140
,
242
,
73
,
205
,
/* 960 */
2
42
,
236
,
211
,
266
,
267
,
268
,
269
,
2
,
20
,
20
,
/* 970 */
2
54
,
246
,
260
,
157
,
213
,
250
,
20
,
12
,
13
,
14
,
/* 980 */
15
,
16
,
2
47
,
229
,
205
,
236
,
213
,
213
,
211
,
213
,
/* 990 */
236
,
266
,
267
,
268
,
269
,
298
,
20
,
207
,
22
9
,
229
,
/* 1000 */
246
,
2
15
,
211
,
207
,
250
,
260
,
147
,
253
,
229
,
229
,
/* 1010 */
229
,
229
,
127
,
229
,
129
,
236
,
131
,
229
,
205
,
2
59
,
/* 1020 */
266
,
267
,
268
,
269
,
2
,
246
,
0
,
2
10
,
229
,
250
,
/* 1030 */
305
,
229
,
253
,
148
,
12
,
13
,
14
,
15
,
16
,
229
,
/* 1040 */
2
29
,
236
,
229
,
210
,
247
,
266
,
267
,
268
,
269
,
236
,
/* 1050 */
24
,
25
,
26
,
27
,
28
,
29
,
30
,
31
,
32
,
246
,
/* 1060 */
2
96
,
251
,
205
,
250
,
250
,
194
,
251
,
193
,
205
,
250
,
/* 1070 */
182
,
250
,
178
,
181
,
20
,
236
,
290
,
117
,
293
,
266
,
/* 1080 */
267
,
268
,
269
,
296
,
277
,
201
,
229
,
289
,
292
,
264
,
/* 1090 */
71
,
198
,
229
,
236
,
196
,
273
,
205
,
307
,
301
,
236
,
/* 1100 */
251
,
250
,
302
,
246
,
205
,
250
,
129
,
250
,
248
,
246
,
/* 1110 */
251
,
236
,
250
,
250
,
210
,
225
,
247
,
210
,
236
,
71
,
/* 1120 */
229
,
2
32
,
219
,
266
,
267
,
268
,
269
,
236
,
229
,
266
,
/* 1130 */
267
,
268
,
269
,
2
15
,
211
,
236
,
210
,
246
,
205
,
223
,
/* 1140 */
2
57
,
250
,
207
,
223
,
203
,
246
,
0
,
0
,
212
,
250
,
/* 1150 */
205
,
0
,
61
,
0
,
38
,
153
,
38
,
266
,
267
,
268
,
/* 1160 */
269
,
38
,
229
,
38
,
0
,
266
,
267
,
268
,
269
,
236
,
/* 1170 */
153
,
38
,
38
,
153
,
229
,
0
,
38
,
0
,
38
,
246
,
/* 1180 */
0
,
236
,
71
,
250
,
144
,
143
,
106
,
140
,
0
,
0
,
/* 1190 */
0
,
246
,
50
,
136
,
0
,
250
,
205
,
83
,
0
,
266
,
/* 1200 */
267
,
268
,
269
,
0
,
58
,
0
,
0
,
0
,
62
,
0
,
/* 1210 */
0
,
266
,
267
,
268
,
269
,
0
,
0
,
0
,
0
,
0
,
/* 1220 */
229
,
205
,
0
,
117
,
0
,
0
,
0
,
236
,
0
,
0
,
/* 1230 */
84
,
0
,
205
,
22
,
0
,
0
,
0
,
246
,
0
,
0
,
/* 1240 */
0
,
250
,
0
,
0
,
0
,
229
,
0
,
43
,
48
,
103
,
/* 1060 */
2
54
,
236
,
205
,
250
,
20
,
265
,
187
,
296
,
205
,
186
,
/* 1070 */
251
,
54
,
251
,
250
,
250
,
193
,
250
,
292
,
194
,
266
,
/* 1080 */
267
,
268
,
269
,
296
,
182
,
293
,
229
,
181
,
178
,
236
,
/* 1090 */
20
,
290
,
229
,
236
,
264
,
117
,
205
,
277
,
289
,
236
,
/* 1100 */
71
,
201
,
198
,
246
,
205
,
196
,
302
,
250
,
250
,
246
,
/* 1110 */
307
,
273
,
251
,
250
,
250
,
301
,
251
,
250
,
129
,
248
,
/* 1120 */
229
,
2
47
,
210
,
266
,
267
,
268
,
269
,
236
,
229
,
266
,
/* 1130 */
267
,
268
,
269
,
2
36
,
210
,
236
,
225
,
246
,
205
,
236
,
/* 1140 */
2
32
,
250
,
71
,
215
,
219
,
246
,
0
,
211
,
210
,
250
,
/* 1150 */
205
,
207
,
257
,
223
,
223
,
212
,
203
,
266
,
267
,
268
,
/* 1160 */
269
,
0
,
229
,
0
,
61
,
266
,
267
,
268
,
269
,
236
,
/* 1170 */
0
,
38
,
153
,
38
,
229
,
38
,
38
,
153
,
0
,
246
,
/* 1180 */
38
,
236
,
38
,
250
,
153
,
0
,
38
,
0
,
38
,
0
,
/* 1190 */
71
,
246
,
144
,
143
,
106
,
250
,
205
,
140
,
0
,
266
,
/* 1200 */
267
,
268
,
269
,
0
,
58
,
50
,
0
,
0
,
62
,
136
,
/* 1210 */
83
,
266
,
267
,
268
,
269
,
0
,
0
,
0
,
0
,
0
,
/* 1220 */
229
,
205
,
0
,
0
,
0
,
0
,
0
,
236
,
0
,
0
,
/* 1230 */
84
,
0
,
205
,
117
,
0
,
0
,
0
,
246
,
0
,
0
,
/* 1240 */
0
,
250
,
22
,
0
,
0
,
229
,
0
,
0
,
0
,
103
,
/* 1250 */
104
,
105
,
236
,
107
,
0
,
0
,
229
,
266
,
267
,
268
,
/* 1260 */
269
,
38
,
246
,
236
,
43
,
0
,
250
,
0
,
205
,
36
,
/* 1270 */
0
,
0
,
80
,
246
,
205
,
78
,
68
,
250
,
22
,
38
,
/* 1280 */
0
,
68
,
266
,
267
,
268
,
269
,
38
,
38
,
38
,
38
,
/* 1290 */
38
,
38
,
229
,
266
,
267
,
268
,
269
,
0
,
229
,
236
,
/* 1300 */
22
,
0
,
205
,
22
,
0
,
236
,
22
,
39
,
0
,
246
,
/* 1310 */
205
,
38
,
22
,
250
,
0
,
246
,
22
,
0
,
20
,
250
,
/* 1320 */
149
,
38
,
0
,
132
,
145
,
22
,
229
,
132
,
129
,
266
,
/* 1330 */
267
,
268
,
269
,
236
,
229
,
266
,
267
,
268
,
269
,
0
,
/* 1340 */
0
,
236
,
0
,
246
,
205
,
71
,
132
,
250
,
43
,
183
,
/* 1350 */
68
,
246
,
83
,
68
,
127
,
250
,
68
,
183
,
72
,
72
,
/* 1360 */
71
,
68
,
71
,
266
,
267
,
268
,
269
,
71
,
229
,
183
,
/* 1370 */
71
,
266
,
267
,
268
,
269
,
236
,
4
,
68
,
72
,
72
,
/* 1380 */
68
,
68
,
72
,
83
,
38
,
246
,
38
,
72
,
38
,
250
,
/* 1390 */
38
,
38
,
38
,
2
,
83
,
72
,
71
,
177
,
71
,
83
,
/* 1400 */
72
,
72
,
157
,
71
,
71
,
266
,
267
,
268
,
269
,
130
,
/* 1410 */
0
,
43
,
71
,
83
,
71
,
81
,
22
,
72
,
83
,
127
,
/* 1420 */
71
,
38
,
38
,
72
,
38
,
38
,
82
,
71
,
71
,
2
2
,
/* 1430 */
72
,
71
,
96
,
72
,
38
,
71
,
38
,
72
,
71
,
38
,
/* 1440 */
71
,
71
,
71
,
96
,
106
,
22
,
84
,
38
,
48
,
47
,
/* 1450 */
69
,
96
,
38
,
54
,
38
,
96
,
68
,
38
,
38
,
3
8
,
/* 1460 */
38
,
22
,
38
,
38
,
38
,
54
,
38
,
38
,
38
,
38
,
/* 1470 */
38
,
38
,
0
,
38
,
36
,
0
,
0
,
43
,
38
,
37
,
/* 1480 */
0
,
22
,
21
,
308
,
22
,
22
,
21
,
20
,
308
,
308
,
/* 1490 */
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
/* 1260 */
269
,
0
,
246
,
236
,
0
,
0
,
250
,
0
,
205
,
48
,
/* 1270 */
43
,
0
,
0
,
246
,
205
,
38
,
43
,
250
,
36
,
0
,
/* 1280 */
0
,
0
,
266
,
267
,
268
,
269
,
0
,
78
,
80
,
38
,
/* 1290 */
22
,
38
,
229
,
266
,
267
,
268
,
269
,
38
,
229
,
236
,
/* 1300 */
68
,
38
,
205
,
0
,
38
,
236
,
22
,
38
,
38
,
246
,
/* 1310 */
205
,
0
,
22
,
250
,
39
,
246
,
0
,
68
,
22
,
250
,
/* 1320 */
38
,
0
,
22
,
0
,
22
,
20
,
229
,
0
,
132
,
266
,
/* 1330 */
267
,
268
,
269
,
236
,
229
,
266
,
267
,
268
,
269
,
149
,
/* 1340 */
0
,
236
,
38
,
246
,
205
,
145
,
22
,
250
,
0
,
0
,
/* 1350 */
0
,
246
,
43
,
68
,
71
,
250
,
68
,
183
,
183
,
72
,
/* 1360 */
68
,
72
,
132
,
266
,
267
,
268
,
269
,
72
,
229
,
71
,
/* 1370 */
129
,
266
,
267
,
268
,
269
,
236
,
68
,
132
,
71
,
127
,
/* 1380 */
83
,
71
,
68
,
71
,
83
,
246
,
4
,
72
,
177
,
250
,
/* 1390 */
72
,
72
,
38
,
68
,
68
,
183
,
83
,
38
,
38
,
38
,
/* 1400 */
38
,
38
,
2
,
83
,
72
,
266
,
267
,
268
,
269
,
72
,
/* 1410 */
71
,
0
,
71
,
157
,
72
,
72
,
71
,
71
,
71
,
43
,
/* 1420 */
127
,
130
,
71
,
22
,
38
,
81
,
71
,
38
,
38
,
7
2
,
/* 1430 */
72
,
38
,
38
,
38
,
96
,
83
,
83
,
71
,
82
,
71
,
/* 1440 */
22
,
72
,
71
,
38
,
72
,
71
,
38
,
72
,
71
,
71
,
/* 1450 */
71
,
71
,
22
,
47
,
84
,
48
,
54
,
69
,
38
,
6
8
,
/* 1460 */
96
,
96
,
38
,
96
,
38
,
38
,
38
,
38
,
22
,
38
,
/* 1470 */
54
,
38
,
38
,
38
,
38
,
38
,
38
,
38
,
38
,
106
,
/* 1480 */
0
,
38
,
0
,
36
,
43
,
0
,
38
,
37
,
0
,
22
,
/* 1490 */
21
,
308
,
22
,
22
,
21
,
20
,
308
,
308
,
308
,
308
,
/* 1500 */
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
/* 1510 */
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
/* 1520 */
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
...
...
@@ -531,10 +533,11 @@ static const YYCODETYPE yy_lookahead[] = {
/* 1660 */
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
/* 1670 */
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
/* 1680 */
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
/* 1690 */
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
};
#define YY_SHIFT_COUNT (5
17
)
#define YY_SHIFT_COUNT (5
20
)
#define YY_SHIFT_MIN (0)
#define YY_SHIFT_MAX (148
0
)
#define YY_SHIFT_MAX (148
8
)
static
const
unsigned
short
int
yy_shift_ofst
[]
=
{
/* 0 */
512
,
0
,
48
,
62
,
62
,
62
,
62
,
76
,
62
,
62
,
/* 10 */
247
,
405
,
1
,
234
,
247
,
247
,
247
,
247
,
247
,
247
,
...
...
@@ -546,50 +549,51 @@ static const unsigned short int yy_shift_ofst[] = {
/* 70 */
407
,
306
,
625
,
816
,
375
,
816
,
816
,
816
,
816
,
816
,
/* 80 */
816
,
816
,
816
,
816
,
816
,
816
,
816
,
816
,
816
,
816
,
/* 90 */
816
,
816
,
816
,
816
,
73
,
36
,
245
,
66
,
210
,
210
,
/* 100 */
210
,
451
,
66
,
353
,
97
,
97
,
97
,
357
,
115
,
222
,
/* 110 */
222
,
222
,
222
,
222
,
222
,
644
,
268
,
52
,
237
,
87
,
/* 120 */
73
,
119
,
73
,
141
,
619
,
501
,
381
,
161
,
381
,
664
,
/* 130 */
523
,
174
,
867
,
861
,
868
,
773
,
867
,
867
,
817
,
820
,
/* 140 */
820
,
867
,
930
,
932
,
41
,
353
,
942
,
41
,
41
,
867
,
/* 150 */
41
,
952
,
97
,
97
,
97
,
97
,
97
,
97
,
97
,
97
,
/* 160 */
97
,
97
,
97
,
868
,
867
,
952
,
353
,
930
,
838
,
932
,
/* 170 */
260
,
353
,
942
,
260
,
1011
,
852
,
858
,
989
,
852
,
858
,
/* 180 */
989
,
989
,
871
,
874
,
888
,
892
,
894
,
353
,
1054
,
960
,
/* 190 */
884
,
893
,
898
,
1019
,
97
,
858
,
989
,
989
,
858
,
989
,
/* 200 */
977
,
353
,
942
,
260
,
357
,
260
,
353
,
1048
,
868
,
115
,
/* 210 */
867
,
260
,
952
,
1488
,
1488
,
1488
,
1488
,
1488
,
134
,
885
,
/* 220 */
1026
,
428
,
69
,
1146
,
331
,
965
,
1022
,
540
,
363
,
363
,
/* 230 */
363
,
363
,
363
,
363
,
363
,
213
,
240
,
370
,
378
,
466
,
/* 240 */
466
,
466
,
466
,
656
,
448
,
622
,
607
,
668
,
674
,
701
,
/* 250 */
6
,
737
,
760
,
747
,
648
,
717
,
723
,
795
,
667
,
334
,
/* 260 */
718
,
759
,
661
,
761
,
763
,
783
,
792
,
793
,
804
,
832
,
/* 270 */
687
,
772
,
835
,
840
,
841
,
848
,
856
,
873
,
749
,
799
,
/* 280 */
1147
,
1151
,
1091
,
1153
,
1116
,
1002
,
1118
,
1123
,
1125
,
1017
,
/* 290 */
1164
,
1133
,
1134
,
1020
,
1175
,
1138
,
1177
,
1140
,
1180
,
1111
,
/* 300 */
1040
,
1042
,
1080
,
1047
,
1188
,
1189
,
1142
,
1057
,
1190
,
1194
,
/* 310 */
1114
,
1198
,
1203
,
1205
,
1206
,
1207
,
1209
,
1210
,
1215
,
1216
,
/* 320 */
1217
,
1218
,
1219
,
1222
,
1106
,
1224
,
1225
,
1226
,
1228
,
1229
,
/* 330 */
1231
,
1211
,
1234
,
1235
,
1236
,
1238
,
1239
,
1240
,
1242
,
1243
,
/* 340 */
1244
,
1204
,
1246
,
1200
,
1254
,
1255
,
1223
,
1233
,
1221
,
1265
,
/* 350 */
1267
,
1270
,
1271
,
1192
,
1197
,
1241
,
1208
,
1256
,
1280
,
1248
,
/* 360 */
1249
,
1250
,
1251
,
1213
,
1208
,
1252
,
1253
,
1297
,
1278
,
1301
,
/* 370 */
1281
,
1268
,
1304
,
1284
,
1273
,
1308
,
1290
,
1314
,
1294
,
1298
,
/* 380 */
1317
,
1191
,
1171
,
1283
,
1322
,
1179
,
1303
,
1195
,
1199
,
1339
,
/* 390 */
1340
,
1214
,
1342
,
1274
,
1305
,
1227
,
1282
,
1285
,
1166
,
1286
,
/* 400 */
1288
,
1287
,
1289
,
1291
,
1296
,
1306
,
1293
,
1269
,
1299
,
1309
,
/* 410 */
1174
,
1307
,
1310
,
1300
,
1220
,
1312
,
1311
,
1315
,
1313
,
1186
,
/* 420 */
1372
,
1346
,
1348
,
1350
,
1352
,
1353
,
1354
,
1391
,
1245
,
1316
,
/* 430 */
1323
,
1325
,
1327
,
1328
,
1329
,
1332
,
1333
,
1279
,
1341
,
1410
,
/* 440 */
1368
,
1292
,
1343
,
1334
,
1330
,
1335
,
1394
,
1349
,
1344
,
1345
,
/* 450 */
1383
,
1384
,
1356
,
1351
,
1386
,
1357
,
1358
,
1387
,
1360
,
1361
,
/* 460 */
1396
,
1364
,
1365
,
1398
,
1367
,
1336
,
1347
,
1355
,
1359
,
1407
,
/* 470 */
1362
,
1369
,
1401
,
1338
,
1370
,
1371
,
1409
,
1208
,
1423
,
1400
,
/* 480 */
1402
,
1399
,
1381
,
1388
,
1414
,
1416
,
1419
,
1420
,
1421
,
1422
,
/* 490 */
1424
,
1439
,
1411
,
1213
,
1425
,
1208
,
1426
,
1428
,
1429
,
1430
,
/* 500 */
1431
,
1432
,
1433
,
1472
,
1435
,
1438
,
1434
,
1475
,
1440
,
1442
,
/* 510 */
1476
,
1480
,
1459
,
1461
,
1462
,
1463
,
1465
,
1467
,
/* 100 */
210
,
451
,
66
,
396
,
97
,
97
,
97
,
374
,
115
,
222
,
/* 110 */
222
,
222
,
222
,
222
,
222
,
222
,
644
,
268
,
52
,
237
,
/* 120 */
87
,
73
,
119
,
73
,
141
,
619
,
607
,
507
,
161
,
507
,
/* 130 */
737
,
581
,
174
,
886
,
881
,
896
,
807
,
886
,
886
,
835
,
/* 140 */
822
,
822
,
886
,
948
,
949
,
41
,
396
,
956
,
41
,
41
,
/* 150 */
886
,
41
,
976
,
97
,
97
,
97
,
97
,
97
,
97
,
97
,
/* 160 */
97
,
97
,
97
,
97
,
896
,
886
,
976
,
396
,
948
,
859
,
/* 170 */
949
,
260
,
396
,
956
,
260
,
1044
,
879
,
883
,
1017
,
879
,
/* 180 */
883
,
1017
,
1017
,
884
,
882
,
902
,
906
,
910
,
396
,
1070
,
/* 190 */
978
,
900
,
904
,
909
,
1029
,
97
,
883
,
1017
,
1017
,
883
,
/* 200 */
1017
,
989
,
396
,
956
,
260
,
374
,
260
,
396
,
1071
,
896
,
/* 210 */
115
,
886
,
260
,
976
,
1496
,
1496
,
1496
,
1496
,
1496
,
134
,
/* 220 */
885
,
1026
,
428
,
69
,
1146
,
331
,
965
,
1022
,
540
,
363
,
/* 230 */
707
,
707
,
707
,
707
,
707
,
707
,
707
,
213
,
240
,
357
,
/* 240 */
517
,
378
,
357
,
357
,
357
,
682
,
608
,
410
,
665
,
704
,
/* 250 */
710
,
711
,
6
,
656
,
746
,
691
,
723
,
757
,
758
,
795
,
/* 260 */
676
,
334
,
629
,
759
,
661
,
765
,
789
,
778
,
783
,
793
,
/* 270 */
808
,
829
,
772
,
798
,
831
,
839
,
840
,
841
,
848
,
856
,
/* 280 */
869
,
887
,
1161
,
1163
,
1103
,
1170
,
1133
,
1019
,
1135
,
1137
,
/* 290 */
1138
,
1024
,
1178
,
1142
,
1144
,
1031
,
1185
,
1148
,
1187
,
1150
,
/* 300 */
1189
,
1119
,
1048
,
1050
,
1088
,
1057
,
1198
,
1203
,
1155
,
1073
,
/* 310 */
1206
,
1207
,
1127
,
1215
,
1216
,
1217
,
1218
,
1219
,
1222
,
1223
,
/* 320 */
1224
,
1225
,
1226
,
1228
,
1229
,
1231
,
1116
,
1234
,
1235
,
1236
,
/* 330 */
1238
,
1239
,
1240
,
1220
,
1243
,
1244
,
1246
,
1247
,
1248
,
1254
,
/* 340 */
1255
,
1261
,
1264
,
1227
,
1265
,
1221
,
1267
,
1271
,
1237
,
1242
,
/* 350 */
1233
,
1272
,
1279
,
1280
,
1281
,
1208
,
1209
,
1251
,
1232
,
1268
,
/* 360 */
1286
,
1253
,
1259
,
1263
,
1266
,
1249
,
1232
,
1269
,
1270
,
1303
,
/* 370 */
1284
,
1311
,
1290
,
1275
,
1316
,
1296
,
1282
,
1321
,
1300
,
1323
,
/* 380 */
1302
,
1305
,
1327
,
1196
,
1190
,
1304
,
1340
,
1200
,
1324
,
1230
,
/* 390 */
1241
,
1348
,
1349
,
1245
,
1350
,
1283
,
1309
,
1252
,
1285
,
1288
,
/* 400 */
1174
,
1287
,
1292
,
1289
,
1298
,
1307
,
1310
,
1295
,
1308
,
1297
,
/* 410 */
1312
,
1314
,
1175
,
1315
,
1318
,
1301
,
1211
,
1325
,
1313
,
1319
,
/* 420 */
1326
,
1212
,
1382
,
1354
,
1359
,
1360
,
1361
,
1362
,
1363
,
1400
,
/* 430 */
1256
,
1320
,
1332
,
1337
,
1339
,
1341
,
1342
,
1343
,
1345
,
1346
,
/* 440 */
1291
,
1347
,
1411
,
1376
,
1293
,
1351
,
1344
,
1352
,
1353
,
1401
,
/* 450 */
1355
,
1356
,
1357
,
1386
,
1389
,
1366
,
1358
,
1390
,
1368
,
1369
,
/* 460 */
1393
,
1371
,
1372
,
1394
,
1374
,
1375
,
1395
,
1377
,
1338
,
1364
,
/* 470 */
1365
,
1367
,
1418
,
1370
,
1378
,
1405
,
1373
,
1379
,
1380
,
1408
,
/* 480 */
1232
,
1430
,
1407
,
1406
,
1402
,
1388
,
1391
,
1420
,
1424
,
1426
,
/* 490 */
1427
,
1428
,
1429
,
1431
,
1446
,
1416
,
1249
,
1433
,
1232
,
1434
,
/* 500 */
1435
,
1436
,
1437
,
1438
,
1439
,
1440
,
1480
,
1443
,
1447
,
1441
,
/* 510 */
1482
,
1448
,
1450
,
1485
,
1488
,
1467
,
1469
,
1470
,
1471
,
1473
,
/* 520 */
1475
,
};
#define YY_REDUCE_COUNT (21
7
)
#define YY_REDUCE_COUNT (21
8
)
#define YY_REDUCE_MIN (-262)
#define YY_REDUCE_MAX (1139)
static
const
short
yy_reduce_ofst
[]
=
{
...
...
@@ -599,76 +603,77 @@ static const short yy_reduce_ofst[] = {
/* 30 */
1069
,
1097
,
1105
,
1139
,
392
,
-
131
,
588
,
589
,
-
233
,
-
231
,
/* 40 */
-
244
,
-
187
,
-
128
,
197
,
-
227
,
-
245
,
-
230
,
-
85
,
-
65
,
54
,
/* 50 */
149
,
230
,
235
,
-
208
,
-
190
,
-
93
,
159
,
228
,
266
,
380
,
/* 60 */
-
150
,
398
,
295
,
-
111
,
411
,
487
,
56
,
-
168
,
-
262
,
-
262
,
/* 70 */
-
262
,
-
67
,
-
214
,
-
159
,
-
177
,
79
,
181
,
184
,
223
,
27
9
,
/* 80 */
2
98
,
344
,
345
,
402
,
445
,
453
,
469
,
471
,
488
,
500
,
/* 90 */
506
,
507
,
508
,
517
,
-
189
,
9
,
254
,
133
,
326
,
332
,
/* 100 */
41
5
,
379
,
302
,
220
,
364
,
504
,
511
,
303
,
171
,
186
,
/* 110 */
2
48
,
265
,
289
,
330
,
397
,
328
,
447
,
433
,
468
,
442
,
/* 120 */
542
,
569
,
582
,
544
,
628
,
585
,
595
,
595
,
595
,
630
,
/* 130 */
580
,
594
,
678
,
638
,
686
,
658
,
712
,
714
,
696
,
700
,
/* 140 */
7
06
,
738
,
691
,
699
,
744
,
724
,
721
,
756
,
757
,
765
,
/* 150 */
7
69
,
767
,
758
,
768
,
770
,
774
,
776
,
777
,
780
,
781
,
/* 160 */
7
82
,
784
,
788
,
771
,
778
,
789
,
752
,
741
,
739
,
748
,
/* 170 */
80
9
,
791
,
794
,
818
,
775
,
764
,
810
,
814
,
787
,
815
,
/* 180 */
8
19
,
821
,
785
,
796
,
786
,
798
,
595
,
839
,
825
,
807
,
/* 190 */
790
,
800
,
797
,
822
,
630
,
849
,
851
,
855
,
859
,
862
,
/* 200 */
86
0
,
875
,
869
,
904
,
890
,
907
,
882
,
889
,
918
,
903
,
/* 210 */
92
3
,
926
,
935
,
883
,
916
,
920
,
936
,
941
,
/* 60 */
-
150
,
398
,
295
,
-
111
,
411
,
538
,
56
,
-
168
,
-
262
,
-
262
,
/* 70 */
-
262
,
-
67
,
-
214
,
-
159
,
-
177
,
79
,
181
,
184
,
223
,
27
5
,
/* 80 */
2
76
,
279
,
298
,
344
,
345
,
402
,
445
,
448
,
453
,
487
,
/* 90 */
488
,
500
,
502
,
506
,
-
189
,
9
,
229
,
133
,
326
,
332
,
/* 100 */
41
2
,
257
,
343
,
285
,
364
,
370
,
450
,
491
,
171
,
209
,
/* 110 */
2
87
,
330
,
403
,
421
,
444
,
503
,
328
,
554
,
549
,
475
,
/* 120 */
496
,
562
,
614
,
574
,
568
,
671
,
599
,
597
,
597
,
597
,
/* 130 */
658
,
600
,
602
,
703
,
662
,
727
,
690
,
738
,
740
,
709
,
/* 140 */
7
15
,
718
,
751
,
712
,
716
,
761
,
749
,
735
,
773
,
774
,
/* 150 */
7
77
,
776
,
790
,
769
,
770
,
780
,
781
,
782
,
784
,
788
,
/* 160 */
7
99
,
802
,
810
,
811
,
786
,
791
,
796
,
805
,
745
,
760
,
/* 170 */
80
6
,
817
,
825
,
797
,
833
,
800
,
771
,
819
,
823
,
787
,
/* 180 */
8
21
,
824
,
826
,
792
,
785
,
801
,
809
,
597
,
853
,
830
,
/* 190 */
820
,
803
,
804
,
814
,
838
,
658
,
861
,
858
,
864
,
865
,
/* 200 */
86
7
,
871
,
897
,
874
,
912
,
911
,
924
,
903
,
908
,
928
,
/* 210 */
92
5
,
936
,
938
,
944
,
895
,
930
,
931
,
943
,
953
,
};
static
const
YYACTIONTYPE
yy_default
[]
=
{
/* 0 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 10 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 20 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 30 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 40 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 50 */
1176
,
1176
,
1176
,
1229
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 60 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1227
,
1364
,
1176
,
1498
,
/* 70 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 80 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 90 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1229
,
1176
,
1509
,
1509
,
/* 100 */
1509
,
1227
,
1176
,
1176
,
1176
,
1176
,
1176
,
1322
,
1176
,
1176
,
/* 110 */
1176
,
1176
,
1176
,
1176
,
1176
,
1398
,
1176
,
1176
,
1573
,
1176
,
/* 120 */
1176
,
1275
,
1176
,
1533
,
1176
,
1525
,
1501
,
1515
,
1502
,
1176
,
/* 130 */
1558
,
1518
,
1176
,
1176
,
1176
,
1390
,
1176
,
1176
,
1369
,
1366
,
/* 140 */
1366
,
1176
,
1176
,
1176
,
1229
,
1176
,
1176
,
1229
,
1229
,
1176
,
/* 150 */
1229
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 160 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1400
,
1176
,
/* 170 */
1227
,
1176
,
1176
,
1227
,
1176
,
1540
,
1538
,
1176
,
1540
,
1538
,
/* 180 */
1176
,
1176
,
1552
,
1548
,
1531
,
1529
,
1515
,
1176
,
1176
,
1176
,
/* 190 */
1576
,
1564
,
1560
,
1176
,
1176
,
1538
,
1176
,
1176
,
1538
,
1176
,
/* 200 */
1377
,
1176
,
1176
,
1227
,
1176
,
1227
,
1176
,
1291
,
1176
,
1176
,
/* 210 */
1176
,
1227
,
1176
,
1392
,
1325
,
1325
,
1230
,
1181
,
1176
,
1176
,
/* 220 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1462
,
1551
,
/* 230 */
1550
,
1461
,
1475
,
1474
,
1473
,
1176
,
1176
,
1176
,
1176
,
1456
,
/* 240 */
1457
,
1455
,
1454
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 250 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1499
,
1176
,
1561
,
/* 260 */
1565
,
1176
,
1176
,
1176
,
1437
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 270 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 280 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 290 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 300 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 310 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 320 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 330 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 340 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 350 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1336
,
1176
,
1176
,
1176
,
/* 360 */
1176
,
1176
,
1176
,
1256
,
1255
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 370 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 380 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 390 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1522
,
1532
,
1176
,
1176
,
/* 400 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1437
,
1176
,
1549
,
/* 410 */
1176
,
1508
,
1504
,
1176
,
1176
,
1500
,
1176
,
1176
,
1559
,
1176
,
/* 420 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1494
,
1176
,
1176
,
/* 430 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 440 */
1176
,
1176
,
1176
,
1176
,
1436
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 450 */
1176
,
1176
,
1319
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 460 */
1176
,
1176
,
1176
,
1176
,
1176
,
1304
,
1302
,
1301
,
1300
,
1176
,
/* 470 */
1297
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1327
,
1176
,
1176
,
/* 480 */
1176
,
1176
,
1176
,
1250
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 490 */
1176
,
1176
,
1176
,
1241
,
1176
,
1240
,
1176
,
1176
,
1176
,
1176
,
/* 500 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 510 */
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 0 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
/* 10 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
/* 20 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
/* 30 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
/* 40 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
/* 50 */
1181
,
1181
,
1181
,
1234
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
/* 60 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1232
,
1369
,
1181
,
1504
,
/* 70 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
/* 80 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
/* 90 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1234
,
1181
,
1515
,
1515
,
/* 100 */
1515
,
1232
,
1181
,
1181
,
1181
,
1181
,
1181
,
1327
,
1181
,
1181
,
/* 110 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1403
,
1181
,
1181
,
1579
,
/* 120 */
1181
,
1181
,
1280
,
1181
,
1539
,
1181
,
1531
,
1507
,
1521
,
1508
,
/* 130 */
1181
,
1564
,
1524
,
1181
,
1181
,
1181
,
1395
,
1181
,
1181
,
1374
,
/* 140 */
1371
,
1371
,
1181
,
1181
,
1181
,
1234
,
1181
,
1181
,
1234
,
1234
,
/* 150 */
1181
,
1234
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
/* 160 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1405
,
/* 170 */
1181
,
1232
,
1181
,
1181
,
1232
,
1181
,
1546
,
1544
,
1181
,
1546
,
/* 180 */
1544
,
1181
,
1181
,
1558
,
1554
,
1537
,
1535
,
1521
,
1181
,
1181
,
/* 190 */
1181
,
1582
,
1570
,
1566
,
1181
,
1181
,
1544
,
1181
,
1181
,
1544
,
/* 200 */
1181
,
1382
,
1181
,
1181
,
1232
,
1181
,
1232
,
1181
,
1296
,
1181
,
/* 210 */
1181
,
1181
,
1232
,
1181
,
1397
,
1330
,
1330
,
1235
,
1186
,
1181
,
/* 220 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1467
,
/* 230 */
1468
,
1557
,
1556
,
1467
,
1481
,
1480
,
1479
,
1181
,
1181
,
1462
,
/* 240 */
1181
,
1181
,
1463
,
1461
,
1460
,
1181
,
1181
,
1181
,
1181
,
1181
,
/* 250 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1505
,
/* 260 */
1181
,
1567
,
1571
,
1181
,
1181
,
1181
,
1442
,
1181
,
1181
,
1181
,
/* 270 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
/* 280 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
/* 290 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
/* 300 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
/* 310 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
/* 320 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
/* 330 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
/* 340 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
/* 350 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1341
,
1181
,
/* 360 */
1181
,
1181
,
1181
,
1181
,
1181
,
1261
,
1260
,
1181
,
1181
,
1181
,
/* 370 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
/* 380 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
/* 390 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1528
,
1538
,
/* 400 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1442
,
/* 410 */
1181
,
1555
,
1181
,
1514
,
1510
,
1181
,
1181
,
1506
,
1181
,
1181
,
/* 420 */
1565
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1500
,
/* 430 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
/* 440 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1441
,
1181
,
1181
,
/* 450 */
1181
,
1181
,
1181
,
1181
,
1181
,
1324
,
1181
,
1181
,
1181
,
1181
,
/* 460 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1309
,
1307
,
/* 470 */
1306
,
1305
,
1181
,
1302
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
/* 480 */
1332
,
1181
,
1181
,
1181
,
1181
,
1181
,
1255
,
1181
,
1181
,
1181
,
/* 490 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1246
,
1181
,
1245
,
1181
,
/* 500 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
/* 510 */
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
1181
,
/* 520 */
1181
,
};
/********** End of lemon-generated parsing tables *****************************/
...
...
@@ -1363,133 +1368,134 @@ static const char *const yyRuleName[] = {
/* 270 */
"expression ::= column_reference"
,
/* 271 */
"expression ::= function_name NK_LP expression_list NK_RP"
,
/* 272 */
"expression ::= function_name NK_LP NK_STAR NK_RP"
,
/* 273 */
"expression ::= subquery"
,
/* 274 */
"expression ::= NK_LP expression NK_RP"
,
/* 275 */
"expression ::= NK_PLUS expression"
,
/* 276 */
"expression ::= NK_MINUS expression"
,
/* 277 */
"expression ::= expression NK_PLUS expression"
,
/* 278 */
"expression ::= expression NK_MINUS expression"
,
/* 279 */
"expression ::= expression NK_STAR expression"
,
/* 280 */
"expression ::= expression NK_SLASH expression"
,
/* 281 */
"expression ::= expression NK_REM expression"
,
/* 282 */
"expression_list ::= expression"
,
/* 283 */
"expression_list ::= expression_list NK_COMMA expression"
,
/* 284 */
"column_reference ::= column_name"
,
/* 285 */
"column_reference ::= table_name NK_DOT column_name"
,
/* 286 */
"pseudo_column ::= NOW"
,
/* 287 */
"pseudo_column ::= ROWTS"
,
/* 288 */
"pseudo_column ::= TBNAME"
,
/* 289 */
"pseudo_column ::= QSTARTTS"
,
/* 290 */
"pseudo_column ::= QENDTS"
,
/* 291 */
"pseudo_column ::= WSTARTTS"
,
/* 292 */
"pseudo_column ::= WENDTS"
,
/* 293 */
"pseudo_column ::= WDURATION"
,
/* 294 */
"predicate ::= expression compare_op expression"
,
/* 295 */
"predicate ::= expression BETWEEN expression AND expression"
,
/* 296 */
"predicate ::= expression NOT BETWEEN expression AND expression"
,
/* 297 */
"predicate ::= expression IS NULL"
,
/* 298 */
"predicate ::= expression IS NOT NULL"
,
/* 299 */
"predicate ::= expression in_op in_predicate_value"
,
/* 300 */
"compare_op ::= NK_LT"
,
/* 301 */
"compare_op ::= NK_GT"
,
/* 302 */
"compare_op ::= NK_LE"
,
/* 303 */
"compare_op ::= NK_GE"
,
/* 304 */
"compare_op ::= NK_NE"
,
/* 305 */
"compare_op ::= NK_EQ"
,
/* 306 */
"compare_op ::= LIKE"
,
/* 307 */
"compare_op ::= NOT LIKE"
,
/* 308 */
"compare_op ::= MATCH"
,
/* 309 */
"compare_op ::= NMATCH"
,
/* 310 */
"in_op ::= IN"
,
/* 311 */
"in_op ::= NOT IN"
,
/* 312 */
"in_predicate_value ::= NK_LP expression_list NK_RP"
,
/* 313 */
"boolean_value_expression ::= boolean_primary"
,
/* 314 */
"boolean_value_expression ::= NOT boolean_primary"
,
/* 315 */
"boolean_value_expression ::= boolean_value_expression OR boolean_value_expression"
,
/* 316 */
"boolean_value_expression ::= boolean_value_expression AND boolean_value_expression"
,
/* 317 */
"boolean_primary ::= predicate"
,
/* 318 */
"boolean_primary ::= NK_LP boolean_value_expression NK_RP"
,
/* 319 */
"common_expression ::= expression"
,
/* 320 */
"common_expression ::= boolean_value_expression"
,
/* 321 */
"from_clause ::= FROM table_reference_list"
,
/* 322 */
"table_reference_list ::= table_reference"
,
/* 323 */
"table_reference_list ::= table_reference_list NK_COMMA table_reference"
,
/* 324 */
"table_reference ::= table_primary"
,
/* 325 */
"table_reference ::= joined_table"
,
/* 326 */
"table_primary ::= table_name alias_opt"
,
/* 327 */
"table_primary ::= db_name NK_DOT table_name alias_opt"
,
/* 328 */
"table_primary ::= subquery alias_opt"
,
/* 329 */
"table_primary ::= parenthesized_joined_table"
,
/* 330 */
"alias_opt ::="
,
/* 331 */
"alias_opt ::= table_alias"
,
/* 332 */
"alias_opt ::= AS table_alias"
,
/* 333 */
"parenthesized_joined_table ::= NK_LP joined_table NK_RP"
,
/* 334 */
"parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP"
,
/* 335 */
"joined_table ::= table_reference join_type JOIN table_reference ON search_condition"
,
/* 336 */
"join_type ::="
,
/* 337 */
"join_type ::= INNER"
,
/* 338 */
"query_specification ::= SELECT set_quantifier_opt select_list from_clause where_clause_opt partition_by_clause_opt twindow_clause_opt group_by_clause_opt having_clause_opt"
,
/* 339 */
"set_quantifier_opt ::="
,
/* 340 */
"set_quantifier_opt ::= DISTINCT"
,
/* 341 */
"set_quantifier_opt ::= ALL"
,
/* 342 */
"select_list ::= NK_STAR"
,
/* 343 */
"select_list ::= select_sublist"
,
/* 344 */
"select_sublist ::= select_item"
,
/* 345 */
"select_sublist ::= select_sublist NK_COMMA select_item"
,
/* 346 */
"select_item ::= common_expression"
,
/* 347 */
"select_item ::= common_expression column_alias"
,
/* 348 */
"select_item ::= common_expression AS column_alias"
,
/* 349 */
"select_item ::= table_name NK_DOT NK_STAR"
,
/* 350 */
"where_clause_opt ::="
,
/* 351 */
"where_clause_opt ::= WHERE search_condition"
,
/* 352 */
"partition_by_clause_opt ::="
,
/* 353 */
"partition_by_clause_opt ::= PARTITION BY expression_list"
,
/* 354 */
"twindow_clause_opt ::="
,
/* 355 */
"twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP"
,
/* 356 */
"twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP"
,
/* 357 */
"twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt"
,
/* 358 */
"twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt"
,
/* 359 */
"sliding_opt ::="
,
/* 360 */
"sliding_opt ::= SLIDING NK_LP duration_literal NK_RP"
,
/* 361 */
"fill_opt ::="
,
/* 362 */
"fill_opt ::= FILL NK_LP fill_mode NK_RP"
,
/* 363 */
"fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP"
,
/* 364 */
"fill_mode ::= NONE"
,
/* 365 */
"fill_mode ::= PREV"
,
/* 366 */
"fill_mode ::= NULL"
,
/* 367 */
"fill_mode ::= LINEAR"
,
/* 368 */
"fill_mode ::= NEXT"
,
/* 369 */
"group_by_clause_opt ::="
,
/* 370 */
"group_by_clause_opt ::= GROUP BY group_by_list"
,
/* 371 */
"group_by_list ::= expression"
,
/* 372 */
"group_by_list ::= group_by_list NK_COMMA expression"
,
/* 373 */
"having_clause_opt ::="
,
/* 374 */
"having_clause_opt ::= HAVING search_condition"
,
/* 375 */
"query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt"
,
/* 376 */
"query_expression_body ::= query_primary"
,
/* 377 */
"query_expression_body ::= query_expression_body UNION ALL query_expression_body"
,
/* 378 */
"query_primary ::= query_specification"
,
/* 379 */
"order_by_clause_opt ::="
,
/* 380 */
"order_by_clause_opt ::= ORDER BY sort_specification_list"
,
/* 381 */
"slimit_clause_opt ::="
,
/* 382 */
"slimit_clause_opt ::= SLIMIT NK_INTEGER"
,
/* 383 */
"slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER"
,
/* 384 */
"slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER"
,
/* 385 */
"limit_clause_opt ::="
,
/* 386 */
"limit_clause_opt ::= LIMIT NK_INTEGER"
,
/* 387 */
"limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER"
,
/* 388 */
"limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER"
,
/* 389 */
"subquery ::= NK_LP query_expression NK_RP"
,
/* 390 */
"search_condition ::= common_expression"
,
/* 391 */
"sort_specification_list ::= sort_specification"
,
/* 392 */
"sort_specification_list ::= sort_specification_list NK_COMMA sort_specification"
,
/* 393 */
"sort_specification ::= expression ordering_specification_opt null_ordering_opt"
,
/* 394 */
"ordering_specification_opt ::="
,
/* 395 */
"ordering_specification_opt ::= ASC"
,
/* 396 */
"ordering_specification_opt ::= DESC"
,
/* 397 */
"null_ordering_opt ::="
,
/* 398 */
"null_ordering_opt ::= NULLS FIRST"
,
/* 399 */
"null_ordering_opt ::= NULLS LAST"
,
/* 273 */
"expression ::= function_name NK_LP expression AS type_name NK_RP"
,
/* 274 */
"expression ::= subquery"
,
/* 275 */
"expression ::= NK_LP expression NK_RP"
,
/* 276 */
"expression ::= NK_PLUS expression"
,
/* 277 */
"expression ::= NK_MINUS expression"
,
/* 278 */
"expression ::= expression NK_PLUS expression"
,
/* 279 */
"expression ::= expression NK_MINUS expression"
,
/* 280 */
"expression ::= expression NK_STAR expression"
,
/* 281 */
"expression ::= expression NK_SLASH expression"
,
/* 282 */
"expression ::= expression NK_REM expression"
,
/* 283 */
"expression_list ::= expression"
,
/* 284 */
"expression_list ::= expression_list NK_COMMA expression"
,
/* 285 */
"column_reference ::= column_name"
,
/* 286 */
"column_reference ::= table_name NK_DOT column_name"
,
/* 287 */
"pseudo_column ::= NOW"
,
/* 288 */
"pseudo_column ::= ROWTS"
,
/* 289 */
"pseudo_column ::= TBNAME"
,
/* 290 */
"pseudo_column ::= QSTARTTS"
,
/* 291 */
"pseudo_column ::= QENDTS"
,
/* 292 */
"pseudo_column ::= WSTARTTS"
,
/* 293 */
"pseudo_column ::= WENDTS"
,
/* 294 */
"pseudo_column ::= WDURATION"
,
/* 295 */
"predicate ::= expression compare_op expression"
,
/* 296 */
"predicate ::= expression BETWEEN expression AND expression"
,
/* 297 */
"predicate ::= expression NOT BETWEEN expression AND expression"
,
/* 298 */
"predicate ::= expression IS NULL"
,
/* 299 */
"predicate ::= expression IS NOT NULL"
,
/* 300 */
"predicate ::= expression in_op in_predicate_value"
,
/* 301 */
"compare_op ::= NK_LT"
,
/* 302 */
"compare_op ::= NK_GT"
,
/* 303 */
"compare_op ::= NK_LE"
,
/* 304 */
"compare_op ::= NK_GE"
,
/* 305 */
"compare_op ::= NK_NE"
,
/* 306 */
"compare_op ::= NK_EQ"
,
/* 307 */
"compare_op ::= LIKE"
,
/* 308 */
"compare_op ::= NOT LIKE"
,
/* 309 */
"compare_op ::= MATCH"
,
/* 310 */
"compare_op ::= NMATCH"
,
/* 311 */
"in_op ::= IN"
,
/* 312 */
"in_op ::= NOT IN"
,
/* 313 */
"in_predicate_value ::= NK_LP expression_list NK_RP"
,
/* 314 */
"boolean_value_expression ::= boolean_primary"
,
/* 315 */
"boolean_value_expression ::= NOT boolean_primary"
,
/* 316 */
"boolean_value_expression ::= boolean_value_expression OR boolean_value_expression"
,
/* 317 */
"boolean_value_expression ::= boolean_value_expression AND boolean_value_expression"
,
/* 318 */
"boolean_primary ::= predicate"
,
/* 319 */
"boolean_primary ::= NK_LP boolean_value_expression NK_RP"
,
/* 320 */
"common_expression ::= expression"
,
/* 321 */
"common_expression ::= boolean_value_expression"
,
/* 322 */
"from_clause ::= FROM table_reference_list"
,
/* 323 */
"table_reference_list ::= table_reference"
,
/* 324 */
"table_reference_list ::= table_reference_list NK_COMMA table_reference"
,
/* 325 */
"table_reference ::= table_primary"
,
/* 326 */
"table_reference ::= joined_table"
,
/* 327 */
"table_primary ::= table_name alias_opt"
,
/* 328 */
"table_primary ::= db_name NK_DOT table_name alias_opt"
,
/* 329 */
"table_primary ::= subquery alias_opt"
,
/* 330 */
"table_primary ::= parenthesized_joined_table"
,
/* 331 */
"alias_opt ::="
,
/* 332 */
"alias_opt ::= table_alias"
,
/* 333 */
"alias_opt ::= AS table_alias"
,
/* 334 */
"parenthesized_joined_table ::= NK_LP joined_table NK_RP"
,
/* 335 */
"parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP"
,
/* 336 */
"joined_table ::= table_reference join_type JOIN table_reference ON search_condition"
,
/* 337 */
"join_type ::="
,
/* 338 */
"join_type ::= INNER"
,
/* 339 */
"query_specification ::= SELECT set_quantifier_opt select_list from_clause where_clause_opt partition_by_clause_opt twindow_clause_opt group_by_clause_opt having_clause_opt"
,
/* 340 */
"set_quantifier_opt ::="
,
/* 341 */
"set_quantifier_opt ::= DISTINCT"
,
/* 342 */
"set_quantifier_opt ::= ALL"
,
/* 343 */
"select_list ::= NK_STAR"
,
/* 344 */
"select_list ::= select_sublist"
,
/* 345 */
"select_sublist ::= select_item"
,
/* 346 */
"select_sublist ::= select_sublist NK_COMMA select_item"
,
/* 347 */
"select_item ::= common_expression"
,
/* 348 */
"select_item ::= common_expression column_alias"
,
/* 349 */
"select_item ::= common_expression AS column_alias"
,
/* 350 */
"select_item ::= table_name NK_DOT NK_STAR"
,
/* 351 */
"where_clause_opt ::="
,
/* 352 */
"where_clause_opt ::= WHERE search_condition"
,
/* 353 */
"partition_by_clause_opt ::="
,
/* 354 */
"partition_by_clause_opt ::= PARTITION BY expression_list"
,
/* 355 */
"twindow_clause_opt ::="
,
/* 356 */
"twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP"
,
/* 357 */
"twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP"
,
/* 358 */
"twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt"
,
/* 359 */
"twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt"
,
/* 360 */
"sliding_opt ::="
,
/* 361 */
"sliding_opt ::= SLIDING NK_LP duration_literal NK_RP"
,
/* 362 */
"fill_opt ::="
,
/* 363 */
"fill_opt ::= FILL NK_LP fill_mode NK_RP"
,
/* 364 */
"fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP"
,
/* 365 */
"fill_mode ::= NONE"
,
/* 366 */
"fill_mode ::= PREV"
,
/* 367 */
"fill_mode ::= NULL"
,
/* 368 */
"fill_mode ::= LINEAR"
,
/* 369 */
"fill_mode ::= NEXT"
,
/* 370 */
"group_by_clause_opt ::="
,
/* 371 */
"group_by_clause_opt ::= GROUP BY group_by_list"
,
/* 372 */
"group_by_list ::= expression"
,
/* 373 */
"group_by_list ::= group_by_list NK_COMMA expression"
,
/* 374 */
"having_clause_opt ::="
,
/* 375 */
"having_clause_opt ::= HAVING search_condition"
,
/* 376 */
"query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt"
,
/* 377 */
"query_expression_body ::= query_primary"
,
/* 378 */
"query_expression_body ::= query_expression_body UNION ALL query_expression_body"
,
/* 379 */
"query_primary ::= query_specification"
,
/* 380 */
"order_by_clause_opt ::="
,
/* 381 */
"order_by_clause_opt ::= ORDER BY sort_specification_list"
,
/* 382 */
"slimit_clause_opt ::="
,
/* 383 */
"slimit_clause_opt ::= SLIMIT NK_INTEGER"
,
/* 384 */
"slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER"
,
/* 385 */
"slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER"
,
/* 386 */
"limit_clause_opt ::="
,
/* 387 */
"limit_clause_opt ::= LIMIT NK_INTEGER"
,
/* 388 */
"limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER"
,
/* 389 */
"limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER"
,
/* 390 */
"subquery ::= NK_LP query_expression NK_RP"
,
/* 391 */
"search_condition ::= common_expression"
,
/* 392 */
"sort_specification_list ::= sort_specification"
,
/* 393 */
"sort_specification_list ::= sort_specification_list NK_COMMA sort_specification"
,
/* 394 */
"sort_specification ::= expression ordering_specification_opt null_ordering_opt"
,
/* 395 */
"ordering_specification_opt ::="
,
/* 396 */
"ordering_specification_opt ::= ASC"
,
/* 397 */
"ordering_specification_opt ::= DESC"
,
/* 398 */
"null_ordering_opt ::="
,
/* 399 */
"null_ordering_opt ::= NULLS FIRST"
,
/* 400 */
"null_ordering_opt ::= NULLS LAST"
,
};
#endif
/* NDEBUG */
...
...
@@ -1893,15 +1899,18 @@ static YYACTIONTYPE yy_find_shift_action(
do
{
i
=
yy_shift_ofst
[
stateno
];
assert
(
i
>=
0
);
/* assert( i+YYNTOKEN<=(int)YY_NLOOKAHEAD ); */
assert
(
i
<=
YY_ACTTAB_COUNT
);
assert
(
i
+
YYNTOKEN
<=
(
int
)
YY_NLOOKAHEAD
);
assert
(
iLookAhead
!=
YYNOCODE
);
assert
(
iLookAhead
<
YYNTOKEN
);
i
+=
iLookAhead
;
if
(
i
>=
YY_NLOOKAHEAD
||
yy_lookahead
[
i
]
!=
iLookAhead
){
assert
(
i
<
(
int
)
YY_NLOOKAHEAD
);
if
(
yy_lookahead
[
i
]
!=
iLookAhead
){
#ifdef YYFALLBACK
YYCODETYPE
iFallback
;
/* Fallback token */
if
(
iLookAhead
<
sizeof
(
yyFallback
)
/
sizeof
(
yyFallback
[
0
])
&&
(
iFallback
=
yyFallback
[
iLookAhead
])
!=
0
){
assert
(
iLookAhead
<
sizeof
(
yyFallback
)
/
sizeof
(
yyFallback
[
0
])
);
iFallback
=
yyFallback
[
iLookAhead
];
if
(
iFallback
!=
0
){
#ifndef NDEBUG
if
(
yyTraceFILE
){
fprintf
(
yyTraceFILE
,
"%sFALLBACK %s => %s
\n
"
,
...
...
@@ -1916,16 +1925,8 @@ static YYACTIONTYPE yy_find_shift_action(
#ifdef YYWILDCARD
{
int
j
=
i
-
iLookAhead
+
YYWILDCARD
;
if
(
#if YY_SHIFT_MIN+YYWILDCARD<0
j
>=
0
&&
#endif
#if YY_SHIFT_MAX+YYWILDCARD>=YY_ACTTAB_COUNT
j
<
YY_ACTTAB_COUNT
&&
#endif
j
<
(
int
)(
sizeof
(
yy_lookahead
)
/
sizeof
(
yy_lookahead
[
0
]))
&&
yy_lookahead
[
j
]
==
YYWILDCARD
&&
iLookAhead
>
0
){
assert
(
j
<
(
int
)(
sizeof
(
yy_lookahead
)
/
sizeof
(
yy_lookahead
[
0
]))
);
if
(
yy_lookahead
[
j
]
==
YYWILDCARD
&&
iLookAhead
>
0
){
#ifndef NDEBUG
if
(
yyTraceFILE
){
fprintf
(
yyTraceFILE
,
"%sWILDCARD %s => %s
\n
"
,
...
...
@@ -1939,6 +1940,7 @@ static YYACTIONTYPE yy_find_shift_action(
#endif
/* YYWILDCARD */
return
yy_default
[
stateno
];
}
else
{
assert
(
i
>=
0
&&
i
<
sizeof
(
yy_action
)
/
sizeof
(
yy_action
[
0
])
);
return
yy_action
[
i
];
}
}
while
(
1
);
...
...
@@ -2057,413 +2059,816 @@ static void yy_shift(
yyTraceShift
(
yypParser
,
yyNewState
,
"Shift"
);
}
/* The following table contains information about every rule that
** is used during the reduce.
*/
static
const
struct
{
YYCODETYPE
lhs
;
/* Symbol on the left-hand side of the rule */
signed
char
nrhs
;
/* Negative of the number of RHS symbols in the rule */
}
yyRuleInfo
[]
=
{
{
202
,
-
6
},
/* (0) cmd ::= CREATE ACCOUNT NK_ID PASS NK_STRING account_options */
{
202
,
-
4
},
/* (1) cmd ::= ALTER ACCOUNT NK_ID alter_account_options */
{
203
,
0
},
/* (2) account_options ::= */
{
203
,
-
3
},
/* (3) account_options ::= account_options PPS literal */
{
203
,
-
3
},
/* (4) account_options ::= account_options TSERIES literal */
{
203
,
-
3
},
/* (5) account_options ::= account_options STORAGE literal */
{
203
,
-
3
},
/* (6) account_options ::= account_options STREAMS literal */
{
203
,
-
3
},
/* (7) account_options ::= account_options QTIME literal */
{
203
,
-
3
},
/* (8) account_options ::= account_options DBS literal */
{
203
,
-
3
},
/* (9) account_options ::= account_options USERS literal */
{
203
,
-
3
},
/* (10) account_options ::= account_options CONNS literal */
{
203
,
-
3
},
/* (11) account_options ::= account_options STATE literal */
{
204
,
-
1
},
/* (12) alter_account_options ::= alter_account_option */
{
204
,
-
2
},
/* (13) alter_account_options ::= alter_account_options alter_account_option */
{
206
,
-
2
},
/* (14) alter_account_option ::= PASS literal */
{
206
,
-
2
},
/* (15) alter_account_option ::= PPS literal */
{
206
,
-
2
},
/* (16) alter_account_option ::= TSERIES literal */
{
206
,
-
2
},
/* (17) alter_account_option ::= STORAGE literal */
{
206
,
-
2
},
/* (18) alter_account_option ::= STREAMS literal */
{
206
,
-
2
},
/* (19) alter_account_option ::= QTIME literal */
{
206
,
-
2
},
/* (20) alter_account_option ::= DBS literal */
{
206
,
-
2
},
/* (21) alter_account_option ::= USERS literal */
{
206
,
-
2
},
/* (22) alter_account_option ::= CONNS literal */
{
206
,
-
2
},
/* (23) alter_account_option ::= STATE literal */
{
202
,
-
5
},
/* (24) cmd ::= CREATE USER user_name PASS NK_STRING */
{
202
,
-
5
},
/* (25) cmd ::= ALTER USER user_name PASS NK_STRING */
{
202
,
-
5
},
/* (26) cmd ::= ALTER USER user_name PRIVILEGE NK_STRING */
{
202
,
-
3
},
/* (27) cmd ::= DROP USER user_name */
{
202
,
-
3
},
/* (28) cmd ::= CREATE DNODE dnode_endpoint */
{
202
,
-
5
},
/* (29) cmd ::= CREATE DNODE dnode_host_name PORT NK_INTEGER */
{
202
,
-
3
},
/* (30) cmd ::= DROP DNODE NK_INTEGER */
{
202
,
-
3
},
/* (31) cmd ::= DROP DNODE dnode_endpoint */
{
202
,
-
4
},
/* (32) cmd ::= ALTER DNODE NK_INTEGER NK_STRING */
{
202
,
-
5
},
/* (33) cmd ::= ALTER DNODE NK_INTEGER NK_STRING NK_STRING */
{
202
,
-
4
},
/* (34) cmd ::= ALTER ALL DNODES NK_STRING */
{
202
,
-
5
},
/* (35) cmd ::= ALTER ALL DNODES NK_STRING NK_STRING */
{
208
,
-
1
},
/* (36) dnode_endpoint ::= NK_STRING */
{
209
,
-
1
},
/* (37) dnode_host_name ::= NK_ID */
{
209
,
-
1
},
/* (38) dnode_host_name ::= NK_IPTOKEN */
{
202
,
-
3
},
/* (39) cmd ::= ALTER LOCAL NK_STRING */
{
202
,
-
4
},
/* (40) cmd ::= ALTER LOCAL NK_STRING NK_STRING */
{
202
,
-
5
},
/* (41) cmd ::= CREATE QNODE ON DNODE NK_INTEGER */
{
202
,
-
5
},
/* (42) cmd ::= DROP QNODE ON DNODE NK_INTEGER */
{
202
,
-
5
},
/* (43) cmd ::= CREATE DATABASE not_exists_opt db_name db_options */
{
202
,
-
4
},
/* (44) cmd ::= DROP DATABASE exists_opt db_name */
{
202
,
-
2
},
/* (45) cmd ::= USE db_name */
{
202
,
-
4
},
/* (46) cmd ::= ALTER DATABASE db_name alter_db_options */
{
210
,
-
3
},
/* (47) not_exists_opt ::= IF NOT EXISTS */
{
210
,
0
},
/* (48) not_exists_opt ::= */
{
213
,
-
2
},
/* (49) exists_opt ::= IF EXISTS */
{
213
,
0
},
/* (50) exists_opt ::= */
{
212
,
0
},
/* (51) db_options ::= */
{
212
,
-
3
},
/* (52) db_options ::= db_options BLOCKS NK_INTEGER */
{
212
,
-
3
},
/* (53) db_options ::= db_options CACHE NK_INTEGER */
{
212
,
-
3
},
/* (54) db_options ::= db_options CACHELAST NK_INTEGER */
{
212
,
-
3
},
/* (55) db_options ::= db_options COMP NK_INTEGER */
{
212
,
-
3
},
/* (56) db_options ::= db_options DAYS NK_INTEGER */
{
212
,
-
3
},
/* (57) db_options ::= db_options DAYS NK_VARIABLE */
{
212
,
-
3
},
/* (58) db_options ::= db_options FSYNC NK_INTEGER */
{
212
,
-
3
},
/* (59) db_options ::= db_options MAXROWS NK_INTEGER */
{
212
,
-
3
},
/* (60) db_options ::= db_options MINROWS NK_INTEGER */
{
212
,
-
3
},
/* (61) db_options ::= db_options KEEP integer_list */
{
212
,
-
3
},
/* (62) db_options ::= db_options KEEP variable_list */
{
212
,
-
3
},
/* (63) db_options ::= db_options PRECISION NK_STRING */
{
212
,
-
3
},
/* (64) db_options ::= db_options QUORUM NK_INTEGER */
{
212
,
-
3
},
/* (65) db_options ::= db_options REPLICA NK_INTEGER */
{
212
,
-
3
},
/* (66) db_options ::= db_options TTL NK_INTEGER */
{
212
,
-
3
},
/* (67) db_options ::= db_options WAL NK_INTEGER */
{
212
,
-
3
},
/* (68) db_options ::= db_options VGROUPS NK_INTEGER */
{
212
,
-
3
},
/* (69) db_options ::= db_options SINGLE_STABLE NK_INTEGER */
{
212
,
-
3
},
/* (70) db_options ::= db_options STREAM_MODE NK_INTEGER */
{
212
,
-
3
},
/* (71) db_options ::= db_options RETENTIONS retention_list */
{
214
,
-
1
},
/* (72) alter_db_options ::= alter_db_option */
{
214
,
-
2
},
/* (73) alter_db_options ::= alter_db_options alter_db_option */
{
218
,
-
2
},
/* (74) alter_db_option ::= BLOCKS NK_INTEGER */
{
218
,
-
2
},
/* (75) alter_db_option ::= FSYNC NK_INTEGER */
{
218
,
-
2
},
/* (76) alter_db_option ::= KEEP integer_list */
{
218
,
-
2
},
/* (77) alter_db_option ::= KEEP variable_list */
{
218
,
-
2
},
/* (78) alter_db_option ::= WAL NK_INTEGER */
{
218
,
-
2
},
/* (79) alter_db_option ::= QUORUM NK_INTEGER */
{
218
,
-
2
},
/* (80) alter_db_option ::= CACHELAST NK_INTEGER */
{
218
,
-
2
},
/* (81) alter_db_option ::= REPLICA NK_INTEGER */
{
215
,
-
1
},
/* (82) integer_list ::= NK_INTEGER */
{
215
,
-
3
},
/* (83) integer_list ::= integer_list NK_COMMA NK_INTEGER */
{
216
,
-
1
},
/* (84) variable_list ::= NK_VARIABLE */
{
216
,
-
3
},
/* (85) variable_list ::= variable_list NK_COMMA NK_VARIABLE */
{
217
,
-
1
},
/* (86) retention_list ::= retention */
{
217
,
-
3
},
/* (87) retention_list ::= retention_list NK_COMMA retention */
{
219
,
-
3
},
/* (88) retention ::= NK_VARIABLE NK_COLON NK_VARIABLE */
{
202
,
-
9
},
/* (89) cmd ::= CREATE TABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def_opt table_options */
{
202
,
-
3
},
/* (90) cmd ::= CREATE TABLE multi_create_clause */
{
202
,
-
9
},
/* (91) cmd ::= CREATE STABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def table_options */
{
202
,
-
3
},
/* (92) cmd ::= DROP TABLE multi_drop_clause */
{
202
,
-
4
},
/* (93) cmd ::= DROP STABLE exists_opt full_table_name */
{
202
,
-
3
},
/* (94) cmd ::= ALTER TABLE alter_table_clause */
{
202
,
-
3
},
/* (95) cmd ::= ALTER STABLE alter_table_clause */
{
227
,
-
2
},
/* (96) alter_table_clause ::= full_table_name alter_table_options */
{
227
,
-
5
},
/* (97) alter_table_clause ::= full_table_name ADD COLUMN column_name type_name */
{
227
,
-
4
},
/* (98) alter_table_clause ::= full_table_name DROP COLUMN column_name */
{
227
,
-
5
},
/* (99) alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */
{
227
,
-
5
},
/* (100) alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */
{
227
,
-
5
},
/* (101) alter_table_clause ::= full_table_name ADD TAG column_name type_name */
{
227
,
-
4
},
/* (102) alter_table_clause ::= full_table_name DROP TAG column_name */
{
227
,
-
5
},
/* (103) alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */
{
227
,
-
5
},
/* (104) alter_table_clause ::= full_table_name RENAME TAG column_name column_name */
{
227
,
-
6
},
/* (105) alter_table_clause ::= full_table_name SET TAG column_name NK_EQ literal */
{
224
,
-
1
},
/* (106) multi_create_clause ::= create_subtable_clause */
{
224
,
-
2
},
/* (107) multi_create_clause ::= multi_create_clause create_subtable_clause */
{
231
,
-
9
},
/* (108) create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_tags_opt TAGS NK_LP literal_list NK_RP */
{
226
,
-
1
},
/* (109) multi_drop_clause ::= drop_table_clause */
{
226
,
-
2
},
/* (110) multi_drop_clause ::= multi_drop_clause drop_table_clause */
{
234
,
-
2
},
/* (111) drop_table_clause ::= exists_opt full_table_name */
{
232
,
0
},
/* (112) specific_tags_opt ::= */
{
232
,
-
3
},
/* (113) specific_tags_opt ::= NK_LP col_name_list NK_RP */
{
220
,
-
1
},
/* (114) full_table_name ::= table_name */
{
220
,
-
3
},
/* (115) full_table_name ::= db_name NK_DOT table_name */
{
221
,
-
1
},
/* (116) column_def_list ::= column_def */
{
221
,
-
3
},
/* (117) column_def_list ::= column_def_list NK_COMMA column_def */
{
237
,
-
2
},
/* (118) column_def ::= column_name type_name */
{
237
,
-
4
},
/* (119) column_def ::= column_name type_name COMMENT NK_STRING */
{
230
,
-
1
},
/* (120) type_name ::= BOOL */
{
230
,
-
1
},
/* (121) type_name ::= TINYINT */
{
230
,
-
1
},
/* (122) type_name ::= SMALLINT */
{
230
,
-
1
},
/* (123) type_name ::= INT */
{
230
,
-
1
},
/* (124) type_name ::= INTEGER */
{
230
,
-
1
},
/* (125) type_name ::= BIGINT */
{
230
,
-
1
},
/* (126) type_name ::= FLOAT */
{
230
,
-
1
},
/* (127) type_name ::= DOUBLE */
{
230
,
-
4
},
/* (128) type_name ::= BINARY NK_LP NK_INTEGER NK_RP */
{
230
,
-
1
},
/* (129) type_name ::= TIMESTAMP */
{
230
,
-
4
},
/* (130) type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */
{
230
,
-
2
},
/* (131) type_name ::= TINYINT UNSIGNED */
{
230
,
-
2
},
/* (132) type_name ::= SMALLINT UNSIGNED */
{
230
,
-
2
},
/* (133) type_name ::= INT UNSIGNED */
{
230
,
-
2
},
/* (134) type_name ::= BIGINT UNSIGNED */
{
230
,
-
1
},
/* (135) type_name ::= JSON */
{
230
,
-
4
},
/* (136) type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */
{
230
,
-
1
},
/* (137) type_name ::= MEDIUMBLOB */
{
230
,
-
1
},
/* (138) type_name ::= BLOB */
{
230
,
-
4
},
/* (139) type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */
{
230
,
-
1
},
/* (140) type_name ::= DECIMAL */
{
230
,
-
4
},
/* (141) type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */
{
230
,
-
6
},
/* (142) type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */
{
222
,
0
},
/* (143) tags_def_opt ::= */
{
222
,
-
1
},
/* (144) tags_def_opt ::= tags_def */
{
225
,
-
4
},
/* (145) tags_def ::= TAGS NK_LP column_def_list NK_RP */
{
223
,
0
},
/* (146) table_options ::= */
{
223
,
-
3
},
/* (147) table_options ::= table_options COMMENT NK_STRING */
{
223
,
-
3
},
/* (148) table_options ::= table_options KEEP integer_list */
{
223
,
-
3
},
/* (149) table_options ::= table_options TTL NK_INTEGER */
{
223
,
-
5
},
/* (150) table_options ::= table_options SMA NK_LP col_name_list NK_RP */
{
223
,
-
5
},
/* (151) table_options ::= table_options ROLLUP NK_LP func_name_list NK_RP */
{
223
,
-
3
},
/* (152) table_options ::= table_options FILE_FACTOR NK_FLOAT */
{
223
,
-
3
},
/* (153) table_options ::= table_options DELAY NK_INTEGER */
{
228
,
-
1
},
/* (154) alter_table_options ::= alter_table_option */
{
228
,
-
2
},
/* (155) alter_table_options ::= alter_table_options alter_table_option */
{
239
,
-
2
},
/* (156) alter_table_option ::= COMMENT NK_STRING */
{
239
,
-
2
},
/* (157) alter_table_option ::= KEEP integer_list */
{
239
,
-
2
},
/* (158) alter_table_option ::= TTL NK_INTEGER */
{
235
,
-
1
},
/* (159) col_name_list ::= col_name */
{
235
,
-
3
},
/* (160) col_name_list ::= col_name_list NK_COMMA col_name */
{
240
,
-
1
},
/* (161) col_name ::= column_name */
{
202
,
-
2
},
/* (162) cmd ::= SHOW DNODES */
{
202
,
-
2
},
/* (163) cmd ::= SHOW USERS */
{
202
,
-
2
},
/* (164) cmd ::= SHOW DATABASES */
{
202
,
-
4
},
/* (165) cmd ::= SHOW db_name_cond_opt TABLES like_pattern_opt */
{
202
,
-
4
},
/* (166) cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */
{
202
,
-
3
},
/* (167) cmd ::= SHOW db_name_cond_opt VGROUPS */
{
202
,
-
2
},
/* (168) cmd ::= SHOW MNODES */
{
202
,
-
2
},
/* (169) cmd ::= SHOW MODULES */
{
202
,
-
2
},
/* (170) cmd ::= SHOW QNODES */
{
202
,
-
2
},
/* (171) cmd ::= SHOW FUNCTIONS */
{
202
,
-
5
},
/* (172) cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */
{
202
,
-
2
},
/* (173) cmd ::= SHOW STREAMS */
{
202
,
-
2
},
/* (174) cmd ::= SHOW ACCOUNTS */
{
202
,
-
2
},
/* (175) cmd ::= SHOW APPS */
{
202
,
-
2
},
/* (176) cmd ::= SHOW CONNECTIONS */
{
202
,
-
2
},
/* (177) cmd ::= SHOW LICENCE */
{
202
,
-
4
},
/* (178) cmd ::= SHOW CREATE DATABASE db_name */
{
202
,
-
4
},
/* (179) cmd ::= SHOW CREATE TABLE full_table_name */
{
202
,
-
4
},
/* (180) cmd ::= SHOW CREATE STABLE full_table_name */
{
202
,
-
2
},
/* (181) cmd ::= SHOW QUERIES */
{
202
,
-
2
},
/* (182) cmd ::= SHOW SCORES */
{
202
,
-
2
},
/* (183) cmd ::= SHOW TOPICS */
{
202
,
-
2
},
/* (184) cmd ::= SHOW VARIABLES */
{
241
,
0
},
/* (185) db_name_cond_opt ::= */
{
241
,
-
2
},
/* (186) db_name_cond_opt ::= db_name NK_DOT */
{
242
,
0
},
/* (187) like_pattern_opt ::= */
{
242
,
-
2
},
/* (188) like_pattern_opt ::= LIKE NK_STRING */
{
243
,
-
1
},
/* (189) table_name_cond ::= table_name */
{
244
,
0
},
/* (190) from_db_opt ::= */
{
244
,
-
2
},
/* (191) from_db_opt ::= FROM db_name */
{
238
,
-
1
},
/* (192) func_name_list ::= func_name */
{
238
,
-
3
},
/* (193) func_name_list ::= func_name_list NK_COMMA col_name */
{
245
,
-
1
},
/* (194) func_name ::= function_name */
{
202
,
-
8
},
/* (195) cmd ::= CREATE SMA INDEX not_exists_opt index_name ON table_name index_options */
{
202
,
-
10
},
/* (196) cmd ::= CREATE FULLTEXT INDEX not_exists_opt index_name ON table_name NK_LP col_name_list NK_RP */
{
202
,
-
6
},
/* (197) cmd ::= DROP INDEX exists_opt index_name ON table_name */
{
248
,
0
},
/* (198) index_options ::= */
{
248
,
-
9
},
/* (199) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt */
{
248
,
-
11
},
/* (200) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt */
{
249
,
-
1
},
/* (201) func_list ::= func */
{
249
,
-
3
},
/* (202) func_list ::= func_list NK_COMMA func */
{
252
,
-
4
},
/* (203) func ::= function_name NK_LP expression_list NK_RP */
{
202
,
-
6
},
/* (204) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_expression */
{
202
,
-
6
},
/* (205) cmd ::= CREATE TOPIC not_exists_opt topic_name AS db_name */
{
202
,
-
4
},
/* (206) cmd ::= DROP TOPIC exists_opt topic_name */
{
202
,
-
2
},
/* (207) cmd ::= DESC full_table_name */
{
202
,
-
2
},
/* (208) cmd ::= DESCRIBE full_table_name */
{
202
,
-
3
},
/* (209) cmd ::= RESET QUERY CACHE */
{
202
,
-
4
},
/* (210) cmd ::= EXPLAIN analyze_opt explain_options query_expression */
{
256
,
0
},
/* (211) analyze_opt ::= */
{
256
,
-
1
},
/* (212) analyze_opt ::= ANALYZE */
{
257
,
0
},
/* (213) explain_options ::= */
{
257
,
-
3
},
/* (214) explain_options ::= explain_options VERBOSE NK_BOOL */
{
257
,
-
3
},
/* (215) explain_options ::= explain_options RATIO NK_FLOAT */
{
202
,
-
6
},
/* (216) cmd ::= COMPACT VNODES IN NK_LP integer_list NK_RP */
{
202
,
-
9
},
/* (217) cmd ::= CREATE agg_func_opt FUNCTION function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt */
{
202
,
-
3
},
/* (218) cmd ::= DROP FUNCTION function_name */
{
258
,
0
},
/* (219) agg_func_opt ::= */
{
258
,
-
1
},
/* (220) agg_func_opt ::= AGGREGATE */
{
259
,
0
},
/* (221) bufsize_opt ::= */
{
259
,
-
2
},
/* (222) bufsize_opt ::= BUFSIZE NK_INTEGER */
{
202
,
-
7
},
/* (223) cmd ::= CREATE STREAM stream_name INTO table_name AS query_expression */
{
202
,
-
3
},
/* (224) cmd ::= DROP STREAM stream_name */
{
202
,
-
3
},
/* (225) cmd ::= KILL CONNECTION NK_INTEGER */
{
202
,
-
3
},
/* (226) cmd ::= KILL QUERY NK_INTEGER */
{
202
,
-
4
},
/* (227) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */
{
202
,
-
4
},
/* (228) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */
{
202
,
-
3
},
/* (229) cmd ::= SPLIT VGROUP NK_INTEGER */
{
261
,
-
2
},
/* (230) dnode_list ::= DNODE NK_INTEGER */
{
261
,
-
3
},
/* (231) dnode_list ::= dnode_list DNODE NK_INTEGER */
{
202
,
-
3
},
/* (232) cmd ::= SYNCDB db_name REPLICA */
{
202
,
-
1
},
/* (233) cmd ::= query_expression */
{
205
,
-
1
},
/* (234) literal ::= NK_INTEGER */
{
205
,
-
1
},
/* (235) literal ::= NK_FLOAT */
{
205
,
-
1
},
/* (236) literal ::= NK_STRING */
{
205
,
-
1
},
/* (237) literal ::= NK_BOOL */
{
205
,
-
2
},
/* (238) literal ::= TIMESTAMP NK_STRING */
{
205
,
-
1
},
/* (239) literal ::= duration_literal */
{
205
,
-
1
},
/* (240) literal ::= NULL */
{
250
,
-
1
},
/* (241) duration_literal ::= NK_VARIABLE */
{
262
,
-
1
},
/* (242) signed ::= NK_INTEGER */
{
262
,
-
2
},
/* (243) signed ::= NK_PLUS NK_INTEGER */
{
262
,
-
2
},
/* (244) signed ::= NK_MINUS NK_INTEGER */
{
262
,
-
1
},
/* (245) signed ::= NK_FLOAT */
{
262
,
-
2
},
/* (246) signed ::= NK_PLUS NK_FLOAT */
{
262
,
-
2
},
/* (247) signed ::= NK_MINUS NK_FLOAT */
{
263
,
-
1
},
/* (248) signed_literal ::= signed */
{
263
,
-
1
},
/* (249) signed_literal ::= NK_STRING */
{
263
,
-
1
},
/* (250) signed_literal ::= NK_BOOL */
{
263
,
-
2
},
/* (251) signed_literal ::= TIMESTAMP NK_STRING */
{
263
,
-
1
},
/* (252) signed_literal ::= duration_literal */
{
263
,
-
1
},
/* (253) signed_literal ::= NULL */
{
233
,
-
1
},
/* (254) literal_list ::= signed_literal */
{
233
,
-
3
},
/* (255) literal_list ::= literal_list NK_COMMA signed_literal */
{
211
,
-
1
},
/* (256) db_name ::= NK_ID */
{
236
,
-
1
},
/* (257) table_name ::= NK_ID */
{
229
,
-
1
},
/* (258) column_name ::= NK_ID */
{
246
,
-
1
},
/* (259) function_name ::= NK_ID */
{
246
,
-
1
},
/* (260) function_name ::= FIRST */
{
246
,
-
1
},
/* (261) function_name ::= LAST */
{
264
,
-
1
},
/* (262) table_alias ::= NK_ID */
{
265
,
-
1
},
/* (263) column_alias ::= NK_ID */
{
207
,
-
1
},
/* (264) user_name ::= NK_ID */
{
247
,
-
1
},
/* (265) index_name ::= NK_ID */
{
254
,
-
1
},
/* (266) topic_name ::= NK_ID */
{
260
,
-
1
},
/* (267) stream_name ::= NK_ID */
{
266
,
-
1
},
/* (268) expression ::= literal */
{
266
,
-
1
},
/* (269) expression ::= pseudo_column */
{
266
,
-
1
},
/* (270) expression ::= column_reference */
{
266
,
-
4
},
/* (271) expression ::= function_name NK_LP expression_list NK_RP */
{
266
,
-
4
},
/* (272) expression ::= function_name NK_LP NK_STAR NK_RP */
{
266
,
-
1
},
/* (273) expression ::= subquery */
{
266
,
-
3
},
/* (274) expression ::= NK_LP expression NK_RP */
{
266
,
-
2
},
/* (275) expression ::= NK_PLUS expression */
{
266
,
-
2
},
/* (276) expression ::= NK_MINUS expression */
{
266
,
-
3
},
/* (277) expression ::= expression NK_PLUS expression */
{
266
,
-
3
},
/* (278) expression ::= expression NK_MINUS expression */
{
266
,
-
3
},
/* (279) expression ::= expression NK_STAR expression */
{
266
,
-
3
},
/* (280) expression ::= expression NK_SLASH expression */
{
266
,
-
3
},
/* (281) expression ::= expression NK_REM expression */
{
253
,
-
1
},
/* (282) expression_list ::= expression */
{
253
,
-
3
},
/* (283) expression_list ::= expression_list NK_COMMA expression */
{
268
,
-
1
},
/* (284) column_reference ::= column_name */
{
268
,
-
3
},
/* (285) column_reference ::= table_name NK_DOT column_name */
{
267
,
-
1
},
/* (286) pseudo_column ::= NOW */
{
267
,
-
1
},
/* (287) pseudo_column ::= ROWTS */
{
267
,
-
1
},
/* (288) pseudo_column ::= TBNAME */
{
267
,
-
1
},
/* (289) pseudo_column ::= QSTARTTS */
{
267
,
-
1
},
/* (290) pseudo_column ::= QENDTS */
{
267
,
-
1
},
/* (291) pseudo_column ::= WSTARTTS */
{
267
,
-
1
},
/* (292) pseudo_column ::= WENDTS */
{
267
,
-
1
},
/* (293) pseudo_column ::= WDURATION */
{
270
,
-
3
},
/* (294) predicate ::= expression compare_op expression */
{
270
,
-
5
},
/* (295) predicate ::= expression BETWEEN expression AND expression */
{
270
,
-
6
},
/* (296) predicate ::= expression NOT BETWEEN expression AND expression */
{
270
,
-
3
},
/* (297) predicate ::= expression IS NULL */
{
270
,
-
4
},
/* (298) predicate ::= expression IS NOT NULL */
{
270
,
-
3
},
/* (299) predicate ::= expression in_op in_predicate_value */
{
271
,
-
1
},
/* (300) compare_op ::= NK_LT */
{
271
,
-
1
},
/* (301) compare_op ::= NK_GT */
{
271
,
-
1
},
/* (302) compare_op ::= NK_LE */
{
271
,
-
1
},
/* (303) compare_op ::= NK_GE */
{
271
,
-
1
},
/* (304) compare_op ::= NK_NE */
{
271
,
-
1
},
/* (305) compare_op ::= NK_EQ */
{
271
,
-
1
},
/* (306) compare_op ::= LIKE */
{
271
,
-
2
},
/* (307) compare_op ::= NOT LIKE */
{
271
,
-
1
},
/* (308) compare_op ::= MATCH */
{
271
,
-
1
},
/* (309) compare_op ::= NMATCH */
{
272
,
-
1
},
/* (310) in_op ::= IN */
{
272
,
-
2
},
/* (311) in_op ::= NOT IN */
{
273
,
-
3
},
/* (312) in_predicate_value ::= NK_LP expression_list NK_RP */
{
274
,
-
1
},
/* (313) boolean_value_expression ::= boolean_primary */
{
274
,
-
2
},
/* (314) boolean_value_expression ::= NOT boolean_primary */
{
274
,
-
3
},
/* (315) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */
{
274
,
-
3
},
/* (316) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */
{
275
,
-
1
},
/* (317) boolean_primary ::= predicate */
{
275
,
-
3
},
/* (318) boolean_primary ::= NK_LP boolean_value_expression NK_RP */
{
276
,
-
1
},
/* (319) common_expression ::= expression */
{
276
,
-
1
},
/* (320) common_expression ::= boolean_value_expression */
{
277
,
-
2
},
/* (321) from_clause ::= FROM table_reference_list */
{
278
,
-
1
},
/* (322) table_reference_list ::= table_reference */
{
278
,
-
3
},
/* (323) table_reference_list ::= table_reference_list NK_COMMA table_reference */
{
279
,
-
1
},
/* (324) table_reference ::= table_primary */
{
279
,
-
1
},
/* (325) table_reference ::= joined_table */
{
280
,
-
2
},
/* (326) table_primary ::= table_name alias_opt */
{
280
,
-
4
},
/* (327) table_primary ::= db_name NK_DOT table_name alias_opt */
{
280
,
-
2
},
/* (328) table_primary ::= subquery alias_opt */
{
280
,
-
1
},
/* (329) table_primary ::= parenthesized_joined_table */
{
282
,
0
},
/* (330) alias_opt ::= */
{
282
,
-
1
},
/* (331) alias_opt ::= table_alias */
{
282
,
-
2
},
/* (332) alias_opt ::= AS table_alias */
{
283
,
-
3
},
/* (333) parenthesized_joined_table ::= NK_LP joined_table NK_RP */
{
283
,
-
3
},
/* (334) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */
{
281
,
-
6
},
/* (335) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */
{
284
,
0
},
/* (336) join_type ::= */
{
284
,
-
1
},
/* (337) join_type ::= INNER */
{
286
,
-
9
},
/* (338) query_specification ::= SELECT set_quantifier_opt select_list from_clause where_clause_opt partition_by_clause_opt twindow_clause_opt group_by_clause_opt having_clause_opt */
{
287
,
0
},
/* (339) set_quantifier_opt ::= */
{
287
,
-
1
},
/* (340) set_quantifier_opt ::= DISTINCT */
{
287
,
-
1
},
/* (341) set_quantifier_opt ::= ALL */
{
288
,
-
1
},
/* (342) select_list ::= NK_STAR */
{
288
,
-
1
},
/* (343) select_list ::= select_sublist */
{
294
,
-
1
},
/* (344) select_sublist ::= select_item */
{
294
,
-
3
},
/* (345) select_sublist ::= select_sublist NK_COMMA select_item */
{
295
,
-
1
},
/* (346) select_item ::= common_expression */
{
295
,
-
2
},
/* (347) select_item ::= common_expression column_alias */
{
295
,
-
3
},
/* (348) select_item ::= common_expression AS column_alias */
{
295
,
-
3
},
/* (349) select_item ::= table_name NK_DOT NK_STAR */
{
289
,
0
},
/* (350) where_clause_opt ::= */
{
289
,
-
2
},
/* (351) where_clause_opt ::= WHERE search_condition */
{
290
,
0
},
/* (352) partition_by_clause_opt ::= */
{
290
,
-
3
},
/* (353) partition_by_clause_opt ::= PARTITION BY expression_list */
{
291
,
0
},
/* (354) twindow_clause_opt ::= */
{
291
,
-
6
},
/* (355) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */
{
291
,
-
4
},
/* (356) twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP */
{
291
,
-
6
},
/* (357) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */
{
291
,
-
8
},
/* (358) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */
{
251
,
0
},
/* (359) sliding_opt ::= */
{
251
,
-
4
},
/* (360) sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */
{
296
,
0
},
/* (361) fill_opt ::= */
{
296
,
-
4
},
/* (362) fill_opt ::= FILL NK_LP fill_mode NK_RP */
{
296
,
-
6
},
/* (363) fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */
{
297
,
-
1
},
/* (364) fill_mode ::= NONE */
{
297
,
-
1
},
/* (365) fill_mode ::= PREV */
{
297
,
-
1
},
/* (366) fill_mode ::= NULL */
{
297
,
-
1
},
/* (367) fill_mode ::= LINEAR */
{
297
,
-
1
},
/* (368) fill_mode ::= NEXT */
{
292
,
0
},
/* (369) group_by_clause_opt ::= */
{
292
,
-
3
},
/* (370) group_by_clause_opt ::= GROUP BY group_by_list */
{
298
,
-
1
},
/* (371) group_by_list ::= expression */
{
298
,
-
3
},
/* (372) group_by_list ::= group_by_list NK_COMMA expression */
{
293
,
0
},
/* (373) having_clause_opt ::= */
{
293
,
-
2
},
/* (374) having_clause_opt ::= HAVING search_condition */
{
255
,
-
4
},
/* (375) query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt */
{
299
,
-
1
},
/* (376) query_expression_body ::= query_primary */
{
299
,
-
4
},
/* (377) query_expression_body ::= query_expression_body UNION ALL query_expression_body */
{
303
,
-
1
},
/* (378) query_primary ::= query_specification */
{
300
,
0
},
/* (379) order_by_clause_opt ::= */
{
300
,
-
3
},
/* (380) order_by_clause_opt ::= ORDER BY sort_specification_list */
{
301
,
0
},
/* (381) slimit_clause_opt ::= */
{
301
,
-
2
},
/* (382) slimit_clause_opt ::= SLIMIT NK_INTEGER */
{
301
,
-
4
},
/* (383) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */
{
301
,
-
4
},
/* (384) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */
{
302
,
0
},
/* (385) limit_clause_opt ::= */
{
302
,
-
2
},
/* (386) limit_clause_opt ::= LIMIT NK_INTEGER */
{
302
,
-
4
},
/* (387) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */
{
302
,
-
4
},
/* (388) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */
{
269
,
-
3
},
/* (389) subquery ::= NK_LP query_expression NK_RP */
{
285
,
-
1
},
/* (390) search_condition ::= common_expression */
{
304
,
-
1
},
/* (391) sort_specification_list ::= sort_specification */
{
304
,
-
3
},
/* (392) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */
{
305
,
-
3
},
/* (393) sort_specification ::= expression ordering_specification_opt null_ordering_opt */
{
306
,
0
},
/* (394) ordering_specification_opt ::= */
{
306
,
-
1
},
/* (395) ordering_specification_opt ::= ASC */
{
306
,
-
1
},
/* (396) ordering_specification_opt ::= DESC */
{
307
,
0
},
/* (397) null_ordering_opt ::= */
{
307
,
-
2
},
/* (398) null_ordering_opt ::= NULLS FIRST */
{
307
,
-
2
},
/* (399) null_ordering_opt ::= NULLS LAST */
/* For rule J, yyRuleInfoLhs[J] contains the symbol on the left-hand side
** of that rule */
static
const
YYCODETYPE
yyRuleInfoLhs
[]
=
{
202
,
/* (0) cmd ::= CREATE ACCOUNT NK_ID PASS NK_STRING account_options */
202
,
/* (1) cmd ::= ALTER ACCOUNT NK_ID alter_account_options */
203
,
/* (2) account_options ::= */
203
,
/* (3) account_options ::= account_options PPS literal */
203
,
/* (4) account_options ::= account_options TSERIES literal */
203
,
/* (5) account_options ::= account_options STORAGE literal */
203
,
/* (6) account_options ::= account_options STREAMS literal */
203
,
/* (7) account_options ::= account_options QTIME literal */
203
,
/* (8) account_options ::= account_options DBS literal */
203
,
/* (9) account_options ::= account_options USERS literal */
203
,
/* (10) account_options ::= account_options CONNS literal */
203
,
/* (11) account_options ::= account_options STATE literal */
204
,
/* (12) alter_account_options ::= alter_account_option */
204
,
/* (13) alter_account_options ::= alter_account_options alter_account_option */
206
,
/* (14) alter_account_option ::= PASS literal */
206
,
/* (15) alter_account_option ::= PPS literal */
206
,
/* (16) alter_account_option ::= TSERIES literal */
206
,
/* (17) alter_account_option ::= STORAGE literal */
206
,
/* (18) alter_account_option ::= STREAMS literal */
206
,
/* (19) alter_account_option ::= QTIME literal */
206
,
/* (20) alter_account_option ::= DBS literal */
206
,
/* (21) alter_account_option ::= USERS literal */
206
,
/* (22) alter_account_option ::= CONNS literal */
206
,
/* (23) alter_account_option ::= STATE literal */
202
,
/* (24) cmd ::= CREATE USER user_name PASS NK_STRING */
202
,
/* (25) cmd ::= ALTER USER user_name PASS NK_STRING */
202
,
/* (26) cmd ::= ALTER USER user_name PRIVILEGE NK_STRING */
202
,
/* (27) cmd ::= DROP USER user_name */
202
,
/* (28) cmd ::= CREATE DNODE dnode_endpoint */
202
,
/* (29) cmd ::= CREATE DNODE dnode_host_name PORT NK_INTEGER */
202
,
/* (30) cmd ::= DROP DNODE NK_INTEGER */
202
,
/* (31) cmd ::= DROP DNODE dnode_endpoint */
202
,
/* (32) cmd ::= ALTER DNODE NK_INTEGER NK_STRING */
202
,
/* (33) cmd ::= ALTER DNODE NK_INTEGER NK_STRING NK_STRING */
202
,
/* (34) cmd ::= ALTER ALL DNODES NK_STRING */
202
,
/* (35) cmd ::= ALTER ALL DNODES NK_STRING NK_STRING */
208
,
/* (36) dnode_endpoint ::= NK_STRING */
209
,
/* (37) dnode_host_name ::= NK_ID */
209
,
/* (38) dnode_host_name ::= NK_IPTOKEN */
202
,
/* (39) cmd ::= ALTER LOCAL NK_STRING */
202
,
/* (40) cmd ::= ALTER LOCAL NK_STRING NK_STRING */
202
,
/* (41) cmd ::= CREATE QNODE ON DNODE NK_INTEGER */
202
,
/* (42) cmd ::= DROP QNODE ON DNODE NK_INTEGER */
202
,
/* (43) cmd ::= CREATE DATABASE not_exists_opt db_name db_options */
202
,
/* (44) cmd ::= DROP DATABASE exists_opt db_name */
202
,
/* (45) cmd ::= USE db_name */
202
,
/* (46) cmd ::= ALTER DATABASE db_name alter_db_options */
210
,
/* (47) not_exists_opt ::= IF NOT EXISTS */
210
,
/* (48) not_exists_opt ::= */
213
,
/* (49) exists_opt ::= IF EXISTS */
213
,
/* (50) exists_opt ::= */
212
,
/* (51) db_options ::= */
212
,
/* (52) db_options ::= db_options BLOCKS NK_INTEGER */
212
,
/* (53) db_options ::= db_options CACHE NK_INTEGER */
212
,
/* (54) db_options ::= db_options CACHELAST NK_INTEGER */
212
,
/* (55) db_options ::= db_options COMP NK_INTEGER */
212
,
/* (56) db_options ::= db_options DAYS NK_INTEGER */
212
,
/* (57) db_options ::= db_options DAYS NK_VARIABLE */
212
,
/* (58) db_options ::= db_options FSYNC NK_INTEGER */
212
,
/* (59) db_options ::= db_options MAXROWS NK_INTEGER */
212
,
/* (60) db_options ::= db_options MINROWS NK_INTEGER */
212
,
/* (61) db_options ::= db_options KEEP integer_list */
212
,
/* (62) db_options ::= db_options KEEP variable_list */
212
,
/* (63) db_options ::= db_options PRECISION NK_STRING */
212
,
/* (64) db_options ::= db_options QUORUM NK_INTEGER */
212
,
/* (65) db_options ::= db_options REPLICA NK_INTEGER */
212
,
/* (66) db_options ::= db_options TTL NK_INTEGER */
212
,
/* (67) db_options ::= db_options WAL NK_INTEGER */
212
,
/* (68) db_options ::= db_options VGROUPS NK_INTEGER */
212
,
/* (69) db_options ::= db_options SINGLE_STABLE NK_INTEGER */
212
,
/* (70) db_options ::= db_options STREAM_MODE NK_INTEGER */
212
,
/* (71) db_options ::= db_options RETENTIONS retention_list */
214
,
/* (72) alter_db_options ::= alter_db_option */
214
,
/* (73) alter_db_options ::= alter_db_options alter_db_option */
218
,
/* (74) alter_db_option ::= BLOCKS NK_INTEGER */
218
,
/* (75) alter_db_option ::= FSYNC NK_INTEGER */
218
,
/* (76) alter_db_option ::= KEEP integer_list */
218
,
/* (77) alter_db_option ::= KEEP variable_list */
218
,
/* (78) alter_db_option ::= WAL NK_INTEGER */
218
,
/* (79) alter_db_option ::= QUORUM NK_INTEGER */
218
,
/* (80) alter_db_option ::= CACHELAST NK_INTEGER */
218
,
/* (81) alter_db_option ::= REPLICA NK_INTEGER */
215
,
/* (82) integer_list ::= NK_INTEGER */
215
,
/* (83) integer_list ::= integer_list NK_COMMA NK_INTEGER */
216
,
/* (84) variable_list ::= NK_VARIABLE */
216
,
/* (85) variable_list ::= variable_list NK_COMMA NK_VARIABLE */
217
,
/* (86) retention_list ::= retention */
217
,
/* (87) retention_list ::= retention_list NK_COMMA retention */
219
,
/* (88) retention ::= NK_VARIABLE NK_COLON NK_VARIABLE */
202
,
/* (89) cmd ::= CREATE TABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def_opt table_options */
202
,
/* (90) cmd ::= CREATE TABLE multi_create_clause */
202
,
/* (91) cmd ::= CREATE STABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def table_options */
202
,
/* (92) cmd ::= DROP TABLE multi_drop_clause */
202
,
/* (93) cmd ::= DROP STABLE exists_opt full_table_name */
202
,
/* (94) cmd ::= ALTER TABLE alter_table_clause */
202
,
/* (95) cmd ::= ALTER STABLE alter_table_clause */
227
,
/* (96) alter_table_clause ::= full_table_name alter_table_options */
227
,
/* (97) alter_table_clause ::= full_table_name ADD COLUMN column_name type_name */
227
,
/* (98) alter_table_clause ::= full_table_name DROP COLUMN column_name */
227
,
/* (99) alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */
227
,
/* (100) alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */
227
,
/* (101) alter_table_clause ::= full_table_name ADD TAG column_name type_name */
227
,
/* (102) alter_table_clause ::= full_table_name DROP TAG column_name */
227
,
/* (103) alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */
227
,
/* (104) alter_table_clause ::= full_table_name RENAME TAG column_name column_name */
227
,
/* (105) alter_table_clause ::= full_table_name SET TAG column_name NK_EQ literal */
224
,
/* (106) multi_create_clause ::= create_subtable_clause */
224
,
/* (107) multi_create_clause ::= multi_create_clause create_subtable_clause */
231
,
/* (108) create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_tags_opt TAGS NK_LP literal_list NK_RP */
226
,
/* (109) multi_drop_clause ::= drop_table_clause */
226
,
/* (110) multi_drop_clause ::= multi_drop_clause drop_table_clause */
234
,
/* (111) drop_table_clause ::= exists_opt full_table_name */
232
,
/* (112) specific_tags_opt ::= */
232
,
/* (113) specific_tags_opt ::= NK_LP col_name_list NK_RP */
220
,
/* (114) full_table_name ::= table_name */
220
,
/* (115) full_table_name ::= db_name NK_DOT table_name */
221
,
/* (116) column_def_list ::= column_def */
221
,
/* (117) column_def_list ::= column_def_list NK_COMMA column_def */
237
,
/* (118) column_def ::= column_name type_name */
237
,
/* (119) column_def ::= column_name type_name COMMENT NK_STRING */
230
,
/* (120) type_name ::= BOOL */
230
,
/* (121) type_name ::= TINYINT */
230
,
/* (122) type_name ::= SMALLINT */
230
,
/* (123) type_name ::= INT */
230
,
/* (124) type_name ::= INTEGER */
230
,
/* (125) type_name ::= BIGINT */
230
,
/* (126) type_name ::= FLOAT */
230
,
/* (127) type_name ::= DOUBLE */
230
,
/* (128) type_name ::= BINARY NK_LP NK_INTEGER NK_RP */
230
,
/* (129) type_name ::= TIMESTAMP */
230
,
/* (130) type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */
230
,
/* (131) type_name ::= TINYINT UNSIGNED */
230
,
/* (132) type_name ::= SMALLINT UNSIGNED */
230
,
/* (133) type_name ::= INT UNSIGNED */
230
,
/* (134) type_name ::= BIGINT UNSIGNED */
230
,
/* (135) type_name ::= JSON */
230
,
/* (136) type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */
230
,
/* (137) type_name ::= MEDIUMBLOB */
230
,
/* (138) type_name ::= BLOB */
230
,
/* (139) type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */
230
,
/* (140) type_name ::= DECIMAL */
230
,
/* (141) type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */
230
,
/* (142) type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */
222
,
/* (143) tags_def_opt ::= */
222
,
/* (144) tags_def_opt ::= tags_def */
225
,
/* (145) tags_def ::= TAGS NK_LP column_def_list NK_RP */
223
,
/* (146) table_options ::= */
223
,
/* (147) table_options ::= table_options COMMENT NK_STRING */
223
,
/* (148) table_options ::= table_options KEEP integer_list */
223
,
/* (149) table_options ::= table_options TTL NK_INTEGER */
223
,
/* (150) table_options ::= table_options SMA NK_LP col_name_list NK_RP */
223
,
/* (151) table_options ::= table_options ROLLUP NK_LP func_name_list NK_RP */
223
,
/* (152) table_options ::= table_options FILE_FACTOR NK_FLOAT */
223
,
/* (153) table_options ::= table_options DELAY NK_INTEGER */
228
,
/* (154) alter_table_options ::= alter_table_option */
228
,
/* (155) alter_table_options ::= alter_table_options alter_table_option */
239
,
/* (156) alter_table_option ::= COMMENT NK_STRING */
239
,
/* (157) alter_table_option ::= KEEP integer_list */
239
,
/* (158) alter_table_option ::= TTL NK_INTEGER */
235
,
/* (159) col_name_list ::= col_name */
235
,
/* (160) col_name_list ::= col_name_list NK_COMMA col_name */
240
,
/* (161) col_name ::= column_name */
202
,
/* (162) cmd ::= SHOW DNODES */
202
,
/* (163) cmd ::= SHOW USERS */
202
,
/* (164) cmd ::= SHOW DATABASES */
202
,
/* (165) cmd ::= SHOW db_name_cond_opt TABLES like_pattern_opt */
202
,
/* (166) cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */
202
,
/* (167) cmd ::= SHOW db_name_cond_opt VGROUPS */
202
,
/* (168) cmd ::= SHOW MNODES */
202
,
/* (169) cmd ::= SHOW MODULES */
202
,
/* (170) cmd ::= SHOW QNODES */
202
,
/* (171) cmd ::= SHOW FUNCTIONS */
202
,
/* (172) cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */
202
,
/* (173) cmd ::= SHOW STREAMS */
202
,
/* (174) cmd ::= SHOW ACCOUNTS */
202
,
/* (175) cmd ::= SHOW APPS */
202
,
/* (176) cmd ::= SHOW CONNECTIONS */
202
,
/* (177) cmd ::= SHOW LICENCE */
202
,
/* (178) cmd ::= SHOW CREATE DATABASE db_name */
202
,
/* (179) cmd ::= SHOW CREATE TABLE full_table_name */
202
,
/* (180) cmd ::= SHOW CREATE STABLE full_table_name */
202
,
/* (181) cmd ::= SHOW QUERIES */
202
,
/* (182) cmd ::= SHOW SCORES */
202
,
/* (183) cmd ::= SHOW TOPICS */
202
,
/* (184) cmd ::= SHOW VARIABLES */
241
,
/* (185) db_name_cond_opt ::= */
241
,
/* (186) db_name_cond_opt ::= db_name NK_DOT */
242
,
/* (187) like_pattern_opt ::= */
242
,
/* (188) like_pattern_opt ::= LIKE NK_STRING */
243
,
/* (189) table_name_cond ::= table_name */
244
,
/* (190) from_db_opt ::= */
244
,
/* (191) from_db_opt ::= FROM db_name */
238
,
/* (192) func_name_list ::= func_name */
238
,
/* (193) func_name_list ::= func_name_list NK_COMMA col_name */
245
,
/* (194) func_name ::= function_name */
202
,
/* (195) cmd ::= CREATE SMA INDEX not_exists_opt index_name ON table_name index_options */
202
,
/* (196) cmd ::= CREATE FULLTEXT INDEX not_exists_opt index_name ON table_name NK_LP col_name_list NK_RP */
202
,
/* (197) cmd ::= DROP INDEX exists_opt index_name ON table_name */
248
,
/* (198) index_options ::= */
248
,
/* (199) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt */
248
,
/* (200) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt */
249
,
/* (201) func_list ::= func */
249
,
/* (202) func_list ::= func_list NK_COMMA func */
252
,
/* (203) func ::= function_name NK_LP expression_list NK_RP */
202
,
/* (204) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_expression */
202
,
/* (205) cmd ::= CREATE TOPIC not_exists_opt topic_name AS db_name */
202
,
/* (206) cmd ::= DROP TOPIC exists_opt topic_name */
202
,
/* (207) cmd ::= DESC full_table_name */
202
,
/* (208) cmd ::= DESCRIBE full_table_name */
202
,
/* (209) cmd ::= RESET QUERY CACHE */
202
,
/* (210) cmd ::= EXPLAIN analyze_opt explain_options query_expression */
256
,
/* (211) analyze_opt ::= */
256
,
/* (212) analyze_opt ::= ANALYZE */
257
,
/* (213) explain_options ::= */
257
,
/* (214) explain_options ::= explain_options VERBOSE NK_BOOL */
257
,
/* (215) explain_options ::= explain_options RATIO NK_FLOAT */
202
,
/* (216) cmd ::= COMPACT VNODES IN NK_LP integer_list NK_RP */
202
,
/* (217) cmd ::= CREATE agg_func_opt FUNCTION function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt */
202
,
/* (218) cmd ::= DROP FUNCTION function_name */
258
,
/* (219) agg_func_opt ::= */
258
,
/* (220) agg_func_opt ::= AGGREGATE */
259
,
/* (221) bufsize_opt ::= */
259
,
/* (222) bufsize_opt ::= BUFSIZE NK_INTEGER */
202
,
/* (223) cmd ::= CREATE STREAM stream_name INTO table_name AS query_expression */
202
,
/* (224) cmd ::= DROP STREAM stream_name */
202
,
/* (225) cmd ::= KILL CONNECTION NK_INTEGER */
202
,
/* (226) cmd ::= KILL QUERY NK_INTEGER */
202
,
/* (227) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */
202
,
/* (228) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */
202
,
/* (229) cmd ::= SPLIT VGROUP NK_INTEGER */
261
,
/* (230) dnode_list ::= DNODE NK_INTEGER */
261
,
/* (231) dnode_list ::= dnode_list DNODE NK_INTEGER */
202
,
/* (232) cmd ::= SYNCDB db_name REPLICA */
202
,
/* (233) cmd ::= query_expression */
205
,
/* (234) literal ::= NK_INTEGER */
205
,
/* (235) literal ::= NK_FLOAT */
205
,
/* (236) literal ::= NK_STRING */
205
,
/* (237) literal ::= NK_BOOL */
205
,
/* (238) literal ::= TIMESTAMP NK_STRING */
205
,
/* (239) literal ::= duration_literal */
205
,
/* (240) literal ::= NULL */
250
,
/* (241) duration_literal ::= NK_VARIABLE */
262
,
/* (242) signed ::= NK_INTEGER */
262
,
/* (243) signed ::= NK_PLUS NK_INTEGER */
262
,
/* (244) signed ::= NK_MINUS NK_INTEGER */
262
,
/* (245) signed ::= NK_FLOAT */
262
,
/* (246) signed ::= NK_PLUS NK_FLOAT */
262
,
/* (247) signed ::= NK_MINUS NK_FLOAT */
263
,
/* (248) signed_literal ::= signed */
263
,
/* (249) signed_literal ::= NK_STRING */
263
,
/* (250) signed_literal ::= NK_BOOL */
263
,
/* (251) signed_literal ::= TIMESTAMP NK_STRING */
263
,
/* (252) signed_literal ::= duration_literal */
263
,
/* (253) signed_literal ::= NULL */
233
,
/* (254) literal_list ::= signed_literal */
233
,
/* (255) literal_list ::= literal_list NK_COMMA signed_literal */
211
,
/* (256) db_name ::= NK_ID */
236
,
/* (257) table_name ::= NK_ID */
229
,
/* (258) column_name ::= NK_ID */
246
,
/* (259) function_name ::= NK_ID */
246
,
/* (260) function_name ::= FIRST */
246
,
/* (261) function_name ::= LAST */
264
,
/* (262) table_alias ::= NK_ID */
265
,
/* (263) column_alias ::= NK_ID */
207
,
/* (264) user_name ::= NK_ID */
247
,
/* (265) index_name ::= NK_ID */
254
,
/* (266) topic_name ::= NK_ID */
260
,
/* (267) stream_name ::= NK_ID */
266
,
/* (268) expression ::= literal */
266
,
/* (269) expression ::= pseudo_column */
266
,
/* (270) expression ::= column_reference */
266
,
/* (271) expression ::= function_name NK_LP expression_list NK_RP */
266
,
/* (272) expression ::= function_name NK_LP NK_STAR NK_RP */
266
,
/* (273) expression ::= function_name NK_LP expression AS type_name NK_RP */
266
,
/* (274) expression ::= subquery */
266
,
/* (275) expression ::= NK_LP expression NK_RP */
266
,
/* (276) expression ::= NK_PLUS expression */
266
,
/* (277) expression ::= NK_MINUS expression */
266
,
/* (278) expression ::= expression NK_PLUS expression */
266
,
/* (279) expression ::= expression NK_MINUS expression */
266
,
/* (280) expression ::= expression NK_STAR expression */
266
,
/* (281) expression ::= expression NK_SLASH expression */
266
,
/* (282) expression ::= expression NK_REM expression */
253
,
/* (283) expression_list ::= expression */
253
,
/* (284) expression_list ::= expression_list NK_COMMA expression */
268
,
/* (285) column_reference ::= column_name */
268
,
/* (286) column_reference ::= table_name NK_DOT column_name */
267
,
/* (287) pseudo_column ::= NOW */
267
,
/* (288) pseudo_column ::= ROWTS */
267
,
/* (289) pseudo_column ::= TBNAME */
267
,
/* (290) pseudo_column ::= QSTARTTS */
267
,
/* (291) pseudo_column ::= QENDTS */
267
,
/* (292) pseudo_column ::= WSTARTTS */
267
,
/* (293) pseudo_column ::= WENDTS */
267
,
/* (294) pseudo_column ::= WDURATION */
270
,
/* (295) predicate ::= expression compare_op expression */
270
,
/* (296) predicate ::= expression BETWEEN expression AND expression */
270
,
/* (297) predicate ::= expression NOT BETWEEN expression AND expression */
270
,
/* (298) predicate ::= expression IS NULL */
270
,
/* (299) predicate ::= expression IS NOT NULL */
270
,
/* (300) predicate ::= expression in_op in_predicate_value */
271
,
/* (301) compare_op ::= NK_LT */
271
,
/* (302) compare_op ::= NK_GT */
271
,
/* (303) compare_op ::= NK_LE */
271
,
/* (304) compare_op ::= NK_GE */
271
,
/* (305) compare_op ::= NK_NE */
271
,
/* (306) compare_op ::= NK_EQ */
271
,
/* (307) compare_op ::= LIKE */
271
,
/* (308) compare_op ::= NOT LIKE */
271
,
/* (309) compare_op ::= MATCH */
271
,
/* (310) compare_op ::= NMATCH */
272
,
/* (311) in_op ::= IN */
272
,
/* (312) in_op ::= NOT IN */
273
,
/* (313) in_predicate_value ::= NK_LP expression_list NK_RP */
274
,
/* (314) boolean_value_expression ::= boolean_primary */
274
,
/* (315) boolean_value_expression ::= NOT boolean_primary */
274
,
/* (316) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */
274
,
/* (317) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */
275
,
/* (318) boolean_primary ::= predicate */
275
,
/* (319) boolean_primary ::= NK_LP boolean_value_expression NK_RP */
276
,
/* (320) common_expression ::= expression */
276
,
/* (321) common_expression ::= boolean_value_expression */
277
,
/* (322) from_clause ::= FROM table_reference_list */
278
,
/* (323) table_reference_list ::= table_reference */
278
,
/* (324) table_reference_list ::= table_reference_list NK_COMMA table_reference */
279
,
/* (325) table_reference ::= table_primary */
279
,
/* (326) table_reference ::= joined_table */
280
,
/* (327) table_primary ::= table_name alias_opt */
280
,
/* (328) table_primary ::= db_name NK_DOT table_name alias_opt */
280
,
/* (329) table_primary ::= subquery alias_opt */
280
,
/* (330) table_primary ::= parenthesized_joined_table */
282
,
/* (331) alias_opt ::= */
282
,
/* (332) alias_opt ::= table_alias */
282
,
/* (333) alias_opt ::= AS table_alias */
283
,
/* (334) parenthesized_joined_table ::= NK_LP joined_table NK_RP */
283
,
/* (335) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */
281
,
/* (336) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */
284
,
/* (337) join_type ::= */
284
,
/* (338) join_type ::= INNER */
286
,
/* (339) query_specification ::= SELECT set_quantifier_opt select_list from_clause where_clause_opt partition_by_clause_opt twindow_clause_opt group_by_clause_opt having_clause_opt */
287
,
/* (340) set_quantifier_opt ::= */
287
,
/* (341) set_quantifier_opt ::= DISTINCT */
287
,
/* (342) set_quantifier_opt ::= ALL */
288
,
/* (343) select_list ::= NK_STAR */
288
,
/* (344) select_list ::= select_sublist */
294
,
/* (345) select_sublist ::= select_item */
294
,
/* (346) select_sublist ::= select_sublist NK_COMMA select_item */
295
,
/* (347) select_item ::= common_expression */
295
,
/* (348) select_item ::= common_expression column_alias */
295
,
/* (349) select_item ::= common_expression AS column_alias */
295
,
/* (350) select_item ::= table_name NK_DOT NK_STAR */
289
,
/* (351) where_clause_opt ::= */
289
,
/* (352) where_clause_opt ::= WHERE search_condition */
290
,
/* (353) partition_by_clause_opt ::= */
290
,
/* (354) partition_by_clause_opt ::= PARTITION BY expression_list */
291
,
/* (355) twindow_clause_opt ::= */
291
,
/* (356) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */
291
,
/* (357) twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP */
291
,
/* (358) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */
291
,
/* (359) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */
251
,
/* (360) sliding_opt ::= */
251
,
/* (361) sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */
296
,
/* (362) fill_opt ::= */
296
,
/* (363) fill_opt ::= FILL NK_LP fill_mode NK_RP */
296
,
/* (364) fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */
297
,
/* (365) fill_mode ::= NONE */
297
,
/* (366) fill_mode ::= PREV */
297
,
/* (367) fill_mode ::= NULL */
297
,
/* (368) fill_mode ::= LINEAR */
297
,
/* (369) fill_mode ::= NEXT */
292
,
/* (370) group_by_clause_opt ::= */
292
,
/* (371) group_by_clause_opt ::= GROUP BY group_by_list */
298
,
/* (372) group_by_list ::= expression */
298
,
/* (373) group_by_list ::= group_by_list NK_COMMA expression */
293
,
/* (374) having_clause_opt ::= */
293
,
/* (375) having_clause_opt ::= HAVING search_condition */
255
,
/* (376) query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt */
299
,
/* (377) query_expression_body ::= query_primary */
299
,
/* (378) query_expression_body ::= query_expression_body UNION ALL query_expression_body */
303
,
/* (379) query_primary ::= query_specification */
300
,
/* (380) order_by_clause_opt ::= */
300
,
/* (381) order_by_clause_opt ::= ORDER BY sort_specification_list */
301
,
/* (382) slimit_clause_opt ::= */
301
,
/* (383) slimit_clause_opt ::= SLIMIT NK_INTEGER */
301
,
/* (384) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */
301
,
/* (385) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */
302
,
/* (386) limit_clause_opt ::= */
302
,
/* (387) limit_clause_opt ::= LIMIT NK_INTEGER */
302
,
/* (388) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */
302
,
/* (389) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */
269
,
/* (390) subquery ::= NK_LP query_expression NK_RP */
285
,
/* (391) search_condition ::= common_expression */
304
,
/* (392) sort_specification_list ::= sort_specification */
304
,
/* (393) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */
305
,
/* (394) sort_specification ::= expression ordering_specification_opt null_ordering_opt */
306
,
/* (395) ordering_specification_opt ::= */
306
,
/* (396) ordering_specification_opt ::= ASC */
306
,
/* (397) ordering_specification_opt ::= DESC */
307
,
/* (398) null_ordering_opt ::= */
307
,
/* (399) null_ordering_opt ::= NULLS FIRST */
307
,
/* (400) null_ordering_opt ::= NULLS LAST */
};
/* For rule J, yyRuleInfoNRhs[J] contains the negative of the number
** of symbols on the right-hand side of that rule. */
static
const
signed
char
yyRuleInfoNRhs
[]
=
{
-
6
,
/* (0) cmd ::= CREATE ACCOUNT NK_ID PASS NK_STRING account_options */
-
4
,
/* (1) cmd ::= ALTER ACCOUNT NK_ID alter_account_options */
0
,
/* (2) account_options ::= */
-
3
,
/* (3) account_options ::= account_options PPS literal */
-
3
,
/* (4) account_options ::= account_options TSERIES literal */
-
3
,
/* (5) account_options ::= account_options STORAGE literal */
-
3
,
/* (6) account_options ::= account_options STREAMS literal */
-
3
,
/* (7) account_options ::= account_options QTIME literal */
-
3
,
/* (8) account_options ::= account_options DBS literal */
-
3
,
/* (9) account_options ::= account_options USERS literal */
-
3
,
/* (10) account_options ::= account_options CONNS literal */
-
3
,
/* (11) account_options ::= account_options STATE literal */
-
1
,
/* (12) alter_account_options ::= alter_account_option */
-
2
,
/* (13) alter_account_options ::= alter_account_options alter_account_option */
-
2
,
/* (14) alter_account_option ::= PASS literal */
-
2
,
/* (15) alter_account_option ::= PPS literal */
-
2
,
/* (16) alter_account_option ::= TSERIES literal */
-
2
,
/* (17) alter_account_option ::= STORAGE literal */
-
2
,
/* (18) alter_account_option ::= STREAMS literal */
-
2
,
/* (19) alter_account_option ::= QTIME literal */
-
2
,
/* (20) alter_account_option ::= DBS literal */
-
2
,
/* (21) alter_account_option ::= USERS literal */
-
2
,
/* (22) alter_account_option ::= CONNS literal */
-
2
,
/* (23) alter_account_option ::= STATE literal */
-
5
,
/* (24) cmd ::= CREATE USER user_name PASS NK_STRING */
-
5
,
/* (25) cmd ::= ALTER USER user_name PASS NK_STRING */
-
5
,
/* (26) cmd ::= ALTER USER user_name PRIVILEGE NK_STRING */
-
3
,
/* (27) cmd ::= DROP USER user_name */
-
3
,
/* (28) cmd ::= CREATE DNODE dnode_endpoint */
-
5
,
/* (29) cmd ::= CREATE DNODE dnode_host_name PORT NK_INTEGER */
-
3
,
/* (30) cmd ::= DROP DNODE NK_INTEGER */
-
3
,
/* (31) cmd ::= DROP DNODE dnode_endpoint */
-
4
,
/* (32) cmd ::= ALTER DNODE NK_INTEGER NK_STRING */
-
5
,
/* (33) cmd ::= ALTER DNODE NK_INTEGER NK_STRING NK_STRING */
-
4
,
/* (34) cmd ::= ALTER ALL DNODES NK_STRING */
-
5
,
/* (35) cmd ::= ALTER ALL DNODES NK_STRING NK_STRING */
-
1
,
/* (36) dnode_endpoint ::= NK_STRING */
-
1
,
/* (37) dnode_host_name ::= NK_ID */
-
1
,
/* (38) dnode_host_name ::= NK_IPTOKEN */
-
3
,
/* (39) cmd ::= ALTER LOCAL NK_STRING */
-
4
,
/* (40) cmd ::= ALTER LOCAL NK_STRING NK_STRING */
-
5
,
/* (41) cmd ::= CREATE QNODE ON DNODE NK_INTEGER */
-
5
,
/* (42) cmd ::= DROP QNODE ON DNODE NK_INTEGER */
-
5
,
/* (43) cmd ::= CREATE DATABASE not_exists_opt db_name db_options */
-
4
,
/* (44) cmd ::= DROP DATABASE exists_opt db_name */
-
2
,
/* (45) cmd ::= USE db_name */
-
4
,
/* (46) cmd ::= ALTER DATABASE db_name alter_db_options */
-
3
,
/* (47) not_exists_opt ::= IF NOT EXISTS */
0
,
/* (48) not_exists_opt ::= */
-
2
,
/* (49) exists_opt ::= IF EXISTS */
0
,
/* (50) exists_opt ::= */
0
,
/* (51) db_options ::= */
-
3
,
/* (52) db_options ::= db_options BLOCKS NK_INTEGER */
-
3
,
/* (53) db_options ::= db_options CACHE NK_INTEGER */
-
3
,
/* (54) db_options ::= db_options CACHELAST NK_INTEGER */
-
3
,
/* (55) db_options ::= db_options COMP NK_INTEGER */
-
3
,
/* (56) db_options ::= db_options DAYS NK_INTEGER */
-
3
,
/* (57) db_options ::= db_options DAYS NK_VARIABLE */
-
3
,
/* (58) db_options ::= db_options FSYNC NK_INTEGER */
-
3
,
/* (59) db_options ::= db_options MAXROWS NK_INTEGER */
-
3
,
/* (60) db_options ::= db_options MINROWS NK_INTEGER */
-
3
,
/* (61) db_options ::= db_options KEEP integer_list */
-
3
,
/* (62) db_options ::= db_options KEEP variable_list */
-
3
,
/* (63) db_options ::= db_options PRECISION NK_STRING */
-
3
,
/* (64) db_options ::= db_options QUORUM NK_INTEGER */
-
3
,
/* (65) db_options ::= db_options REPLICA NK_INTEGER */
-
3
,
/* (66) db_options ::= db_options TTL NK_INTEGER */
-
3
,
/* (67) db_options ::= db_options WAL NK_INTEGER */
-
3
,
/* (68) db_options ::= db_options VGROUPS NK_INTEGER */
-
3
,
/* (69) db_options ::= db_options SINGLE_STABLE NK_INTEGER */
-
3
,
/* (70) db_options ::= db_options STREAM_MODE NK_INTEGER */
-
3
,
/* (71) db_options ::= db_options RETENTIONS retention_list */
-
1
,
/* (72) alter_db_options ::= alter_db_option */
-
2
,
/* (73) alter_db_options ::= alter_db_options alter_db_option */
-
2
,
/* (74) alter_db_option ::= BLOCKS NK_INTEGER */
-
2
,
/* (75) alter_db_option ::= FSYNC NK_INTEGER */
-
2
,
/* (76) alter_db_option ::= KEEP integer_list */
-
2
,
/* (77) alter_db_option ::= KEEP variable_list */
-
2
,
/* (78) alter_db_option ::= WAL NK_INTEGER */
-
2
,
/* (79) alter_db_option ::= QUORUM NK_INTEGER */
-
2
,
/* (80) alter_db_option ::= CACHELAST NK_INTEGER */
-
2
,
/* (81) alter_db_option ::= REPLICA NK_INTEGER */
-
1
,
/* (82) integer_list ::= NK_INTEGER */
-
3
,
/* (83) integer_list ::= integer_list NK_COMMA NK_INTEGER */
-
1
,
/* (84) variable_list ::= NK_VARIABLE */
-
3
,
/* (85) variable_list ::= variable_list NK_COMMA NK_VARIABLE */
-
1
,
/* (86) retention_list ::= retention */
-
3
,
/* (87) retention_list ::= retention_list NK_COMMA retention */
-
3
,
/* (88) retention ::= NK_VARIABLE NK_COLON NK_VARIABLE */
-
9
,
/* (89) cmd ::= CREATE TABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def_opt table_options */
-
3
,
/* (90) cmd ::= CREATE TABLE multi_create_clause */
-
9
,
/* (91) cmd ::= CREATE STABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def table_options */
-
3
,
/* (92) cmd ::= DROP TABLE multi_drop_clause */
-
4
,
/* (93) cmd ::= DROP STABLE exists_opt full_table_name */
-
3
,
/* (94) cmd ::= ALTER TABLE alter_table_clause */
-
3
,
/* (95) cmd ::= ALTER STABLE alter_table_clause */
-
2
,
/* (96) alter_table_clause ::= full_table_name alter_table_options */
-
5
,
/* (97) alter_table_clause ::= full_table_name ADD COLUMN column_name type_name */
-
4
,
/* (98) alter_table_clause ::= full_table_name DROP COLUMN column_name */
-
5
,
/* (99) alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */
-
5
,
/* (100) alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */
-
5
,
/* (101) alter_table_clause ::= full_table_name ADD TAG column_name type_name */
-
4
,
/* (102) alter_table_clause ::= full_table_name DROP TAG column_name */
-
5
,
/* (103) alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */
-
5
,
/* (104) alter_table_clause ::= full_table_name RENAME TAG column_name column_name */
-
6
,
/* (105) alter_table_clause ::= full_table_name SET TAG column_name NK_EQ literal */
-
1
,
/* (106) multi_create_clause ::= create_subtable_clause */
-
2
,
/* (107) multi_create_clause ::= multi_create_clause create_subtable_clause */
-
9
,
/* (108) create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_tags_opt TAGS NK_LP literal_list NK_RP */
-
1
,
/* (109) multi_drop_clause ::= drop_table_clause */
-
2
,
/* (110) multi_drop_clause ::= multi_drop_clause drop_table_clause */
-
2
,
/* (111) drop_table_clause ::= exists_opt full_table_name */
0
,
/* (112) specific_tags_opt ::= */
-
3
,
/* (113) specific_tags_opt ::= NK_LP col_name_list NK_RP */
-
1
,
/* (114) full_table_name ::= table_name */
-
3
,
/* (115) full_table_name ::= db_name NK_DOT table_name */
-
1
,
/* (116) column_def_list ::= column_def */
-
3
,
/* (117) column_def_list ::= column_def_list NK_COMMA column_def */
-
2
,
/* (118) column_def ::= column_name type_name */
-
4
,
/* (119) column_def ::= column_name type_name COMMENT NK_STRING */
-
1
,
/* (120) type_name ::= BOOL */
-
1
,
/* (121) type_name ::= TINYINT */
-
1
,
/* (122) type_name ::= SMALLINT */
-
1
,
/* (123) type_name ::= INT */
-
1
,
/* (124) type_name ::= INTEGER */
-
1
,
/* (125) type_name ::= BIGINT */
-
1
,
/* (126) type_name ::= FLOAT */
-
1
,
/* (127) type_name ::= DOUBLE */
-
4
,
/* (128) type_name ::= BINARY NK_LP NK_INTEGER NK_RP */
-
1
,
/* (129) type_name ::= TIMESTAMP */
-
4
,
/* (130) type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */
-
2
,
/* (131) type_name ::= TINYINT UNSIGNED */
-
2
,
/* (132) type_name ::= SMALLINT UNSIGNED */
-
2
,
/* (133) type_name ::= INT UNSIGNED */
-
2
,
/* (134) type_name ::= BIGINT UNSIGNED */
-
1
,
/* (135) type_name ::= JSON */
-
4
,
/* (136) type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */
-
1
,
/* (137) type_name ::= MEDIUMBLOB */
-
1
,
/* (138) type_name ::= BLOB */
-
4
,
/* (139) type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */
-
1
,
/* (140) type_name ::= DECIMAL */
-
4
,
/* (141) type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */
-
6
,
/* (142) type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */
0
,
/* (143) tags_def_opt ::= */
-
1
,
/* (144) tags_def_opt ::= tags_def */
-
4
,
/* (145) tags_def ::= TAGS NK_LP column_def_list NK_RP */
0
,
/* (146) table_options ::= */
-
3
,
/* (147) table_options ::= table_options COMMENT NK_STRING */
-
3
,
/* (148) table_options ::= table_options KEEP integer_list */
-
3
,
/* (149) table_options ::= table_options TTL NK_INTEGER */
-
5
,
/* (150) table_options ::= table_options SMA NK_LP col_name_list NK_RP */
-
5
,
/* (151) table_options ::= table_options ROLLUP NK_LP func_name_list NK_RP */
-
3
,
/* (152) table_options ::= table_options FILE_FACTOR NK_FLOAT */
-
3
,
/* (153) table_options ::= table_options DELAY NK_INTEGER */
-
1
,
/* (154) alter_table_options ::= alter_table_option */
-
2
,
/* (155) alter_table_options ::= alter_table_options alter_table_option */
-
2
,
/* (156) alter_table_option ::= COMMENT NK_STRING */
-
2
,
/* (157) alter_table_option ::= KEEP integer_list */
-
2
,
/* (158) alter_table_option ::= TTL NK_INTEGER */
-
1
,
/* (159) col_name_list ::= col_name */
-
3
,
/* (160) col_name_list ::= col_name_list NK_COMMA col_name */
-
1
,
/* (161) col_name ::= column_name */
-
2
,
/* (162) cmd ::= SHOW DNODES */
-
2
,
/* (163) cmd ::= SHOW USERS */
-
2
,
/* (164) cmd ::= SHOW DATABASES */
-
4
,
/* (165) cmd ::= SHOW db_name_cond_opt TABLES like_pattern_opt */
-
4
,
/* (166) cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */
-
3
,
/* (167) cmd ::= SHOW db_name_cond_opt VGROUPS */
-
2
,
/* (168) cmd ::= SHOW MNODES */
-
2
,
/* (169) cmd ::= SHOW MODULES */
-
2
,
/* (170) cmd ::= SHOW QNODES */
-
2
,
/* (171) cmd ::= SHOW FUNCTIONS */
-
5
,
/* (172) cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */
-
2
,
/* (173) cmd ::= SHOW STREAMS */
-
2
,
/* (174) cmd ::= SHOW ACCOUNTS */
-
2
,
/* (175) cmd ::= SHOW APPS */
-
2
,
/* (176) cmd ::= SHOW CONNECTIONS */
-
2
,
/* (177) cmd ::= SHOW LICENCE */
-
4
,
/* (178) cmd ::= SHOW CREATE DATABASE db_name */
-
4
,
/* (179) cmd ::= SHOW CREATE TABLE full_table_name */
-
4
,
/* (180) cmd ::= SHOW CREATE STABLE full_table_name */
-
2
,
/* (181) cmd ::= SHOW QUERIES */
-
2
,
/* (182) cmd ::= SHOW SCORES */
-
2
,
/* (183) cmd ::= SHOW TOPICS */
-
2
,
/* (184) cmd ::= SHOW VARIABLES */
0
,
/* (185) db_name_cond_opt ::= */
-
2
,
/* (186) db_name_cond_opt ::= db_name NK_DOT */
0
,
/* (187) like_pattern_opt ::= */
-
2
,
/* (188) like_pattern_opt ::= LIKE NK_STRING */
-
1
,
/* (189) table_name_cond ::= table_name */
0
,
/* (190) from_db_opt ::= */
-
2
,
/* (191) from_db_opt ::= FROM db_name */
-
1
,
/* (192) func_name_list ::= func_name */
-
3
,
/* (193) func_name_list ::= func_name_list NK_COMMA col_name */
-
1
,
/* (194) func_name ::= function_name */
-
8
,
/* (195) cmd ::= CREATE SMA INDEX not_exists_opt index_name ON table_name index_options */
-
10
,
/* (196) cmd ::= CREATE FULLTEXT INDEX not_exists_opt index_name ON table_name NK_LP col_name_list NK_RP */
-
6
,
/* (197) cmd ::= DROP INDEX exists_opt index_name ON table_name */
0
,
/* (198) index_options ::= */
-
9
,
/* (199) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt */
-
11
,
/* (200) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt */
-
1
,
/* (201) func_list ::= func */
-
3
,
/* (202) func_list ::= func_list NK_COMMA func */
-
4
,
/* (203) func ::= function_name NK_LP expression_list NK_RP */
-
6
,
/* (204) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_expression */
-
6
,
/* (205) cmd ::= CREATE TOPIC not_exists_opt topic_name AS db_name */
-
4
,
/* (206) cmd ::= DROP TOPIC exists_opt topic_name */
-
2
,
/* (207) cmd ::= DESC full_table_name */
-
2
,
/* (208) cmd ::= DESCRIBE full_table_name */
-
3
,
/* (209) cmd ::= RESET QUERY CACHE */
-
4
,
/* (210) cmd ::= EXPLAIN analyze_opt explain_options query_expression */
0
,
/* (211) analyze_opt ::= */
-
1
,
/* (212) analyze_opt ::= ANALYZE */
0
,
/* (213) explain_options ::= */
-
3
,
/* (214) explain_options ::= explain_options VERBOSE NK_BOOL */
-
3
,
/* (215) explain_options ::= explain_options RATIO NK_FLOAT */
-
6
,
/* (216) cmd ::= COMPACT VNODES IN NK_LP integer_list NK_RP */
-
9
,
/* (217) cmd ::= CREATE agg_func_opt FUNCTION function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt */
-
3
,
/* (218) cmd ::= DROP FUNCTION function_name */
0
,
/* (219) agg_func_opt ::= */
-
1
,
/* (220) agg_func_opt ::= AGGREGATE */
0
,
/* (221) bufsize_opt ::= */
-
2
,
/* (222) bufsize_opt ::= BUFSIZE NK_INTEGER */
-
7
,
/* (223) cmd ::= CREATE STREAM stream_name INTO table_name AS query_expression */
-
3
,
/* (224) cmd ::= DROP STREAM stream_name */
-
3
,
/* (225) cmd ::= KILL CONNECTION NK_INTEGER */
-
3
,
/* (226) cmd ::= KILL QUERY NK_INTEGER */
-
4
,
/* (227) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */
-
4
,
/* (228) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */
-
3
,
/* (229) cmd ::= SPLIT VGROUP NK_INTEGER */
-
2
,
/* (230) dnode_list ::= DNODE NK_INTEGER */
-
3
,
/* (231) dnode_list ::= dnode_list DNODE NK_INTEGER */
-
3
,
/* (232) cmd ::= SYNCDB db_name REPLICA */
-
1
,
/* (233) cmd ::= query_expression */
-
1
,
/* (234) literal ::= NK_INTEGER */
-
1
,
/* (235) literal ::= NK_FLOAT */
-
1
,
/* (236) literal ::= NK_STRING */
-
1
,
/* (237) literal ::= NK_BOOL */
-
2
,
/* (238) literal ::= TIMESTAMP NK_STRING */
-
1
,
/* (239) literal ::= duration_literal */
-
1
,
/* (240) literal ::= NULL */
-
1
,
/* (241) duration_literal ::= NK_VARIABLE */
-
1
,
/* (242) signed ::= NK_INTEGER */
-
2
,
/* (243) signed ::= NK_PLUS NK_INTEGER */
-
2
,
/* (244) signed ::= NK_MINUS NK_INTEGER */
-
1
,
/* (245) signed ::= NK_FLOAT */
-
2
,
/* (246) signed ::= NK_PLUS NK_FLOAT */
-
2
,
/* (247) signed ::= NK_MINUS NK_FLOAT */
-
1
,
/* (248) signed_literal ::= signed */
-
1
,
/* (249) signed_literal ::= NK_STRING */
-
1
,
/* (250) signed_literal ::= NK_BOOL */
-
2
,
/* (251) signed_literal ::= TIMESTAMP NK_STRING */
-
1
,
/* (252) signed_literal ::= duration_literal */
-
1
,
/* (253) signed_literal ::= NULL */
-
1
,
/* (254) literal_list ::= signed_literal */
-
3
,
/* (255) literal_list ::= literal_list NK_COMMA signed_literal */
-
1
,
/* (256) db_name ::= NK_ID */
-
1
,
/* (257) table_name ::= NK_ID */
-
1
,
/* (258) column_name ::= NK_ID */
-
1
,
/* (259) function_name ::= NK_ID */
-
1
,
/* (260) function_name ::= FIRST */
-
1
,
/* (261) function_name ::= LAST */
-
1
,
/* (262) table_alias ::= NK_ID */
-
1
,
/* (263) column_alias ::= NK_ID */
-
1
,
/* (264) user_name ::= NK_ID */
-
1
,
/* (265) index_name ::= NK_ID */
-
1
,
/* (266) topic_name ::= NK_ID */
-
1
,
/* (267) stream_name ::= NK_ID */
-
1
,
/* (268) expression ::= literal */
-
1
,
/* (269) expression ::= pseudo_column */
-
1
,
/* (270) expression ::= column_reference */
-
4
,
/* (271) expression ::= function_name NK_LP expression_list NK_RP */
-
4
,
/* (272) expression ::= function_name NK_LP NK_STAR NK_RP */
-
6
,
/* (273) expression ::= function_name NK_LP expression AS type_name NK_RP */
-
1
,
/* (274) expression ::= subquery */
-
3
,
/* (275) expression ::= NK_LP expression NK_RP */
-
2
,
/* (276) expression ::= NK_PLUS expression */
-
2
,
/* (277) expression ::= NK_MINUS expression */
-
3
,
/* (278) expression ::= expression NK_PLUS expression */
-
3
,
/* (279) expression ::= expression NK_MINUS expression */
-
3
,
/* (280) expression ::= expression NK_STAR expression */
-
3
,
/* (281) expression ::= expression NK_SLASH expression */
-
3
,
/* (282) expression ::= expression NK_REM expression */
-
1
,
/* (283) expression_list ::= expression */
-
3
,
/* (284) expression_list ::= expression_list NK_COMMA expression */
-
1
,
/* (285) column_reference ::= column_name */
-
3
,
/* (286) column_reference ::= table_name NK_DOT column_name */
-
1
,
/* (287) pseudo_column ::= NOW */
-
1
,
/* (288) pseudo_column ::= ROWTS */
-
1
,
/* (289) pseudo_column ::= TBNAME */
-
1
,
/* (290) pseudo_column ::= QSTARTTS */
-
1
,
/* (291) pseudo_column ::= QENDTS */
-
1
,
/* (292) pseudo_column ::= WSTARTTS */
-
1
,
/* (293) pseudo_column ::= WENDTS */
-
1
,
/* (294) pseudo_column ::= WDURATION */
-
3
,
/* (295) predicate ::= expression compare_op expression */
-
5
,
/* (296) predicate ::= expression BETWEEN expression AND expression */
-
6
,
/* (297) predicate ::= expression NOT BETWEEN expression AND expression */
-
3
,
/* (298) predicate ::= expression IS NULL */
-
4
,
/* (299) predicate ::= expression IS NOT NULL */
-
3
,
/* (300) predicate ::= expression in_op in_predicate_value */
-
1
,
/* (301) compare_op ::= NK_LT */
-
1
,
/* (302) compare_op ::= NK_GT */
-
1
,
/* (303) compare_op ::= NK_LE */
-
1
,
/* (304) compare_op ::= NK_GE */
-
1
,
/* (305) compare_op ::= NK_NE */
-
1
,
/* (306) compare_op ::= NK_EQ */
-
1
,
/* (307) compare_op ::= LIKE */
-
2
,
/* (308) compare_op ::= NOT LIKE */
-
1
,
/* (309) compare_op ::= MATCH */
-
1
,
/* (310) compare_op ::= NMATCH */
-
1
,
/* (311) in_op ::= IN */
-
2
,
/* (312) in_op ::= NOT IN */
-
3
,
/* (313) in_predicate_value ::= NK_LP expression_list NK_RP */
-
1
,
/* (314) boolean_value_expression ::= boolean_primary */
-
2
,
/* (315) boolean_value_expression ::= NOT boolean_primary */
-
3
,
/* (316) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */
-
3
,
/* (317) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */
-
1
,
/* (318) boolean_primary ::= predicate */
-
3
,
/* (319) boolean_primary ::= NK_LP boolean_value_expression NK_RP */
-
1
,
/* (320) common_expression ::= expression */
-
1
,
/* (321) common_expression ::= boolean_value_expression */
-
2
,
/* (322) from_clause ::= FROM table_reference_list */
-
1
,
/* (323) table_reference_list ::= table_reference */
-
3
,
/* (324) table_reference_list ::= table_reference_list NK_COMMA table_reference */
-
1
,
/* (325) table_reference ::= table_primary */
-
1
,
/* (326) table_reference ::= joined_table */
-
2
,
/* (327) table_primary ::= table_name alias_opt */
-
4
,
/* (328) table_primary ::= db_name NK_DOT table_name alias_opt */
-
2
,
/* (329) table_primary ::= subquery alias_opt */
-
1
,
/* (330) table_primary ::= parenthesized_joined_table */
0
,
/* (331) alias_opt ::= */
-
1
,
/* (332) alias_opt ::= table_alias */
-
2
,
/* (333) alias_opt ::= AS table_alias */
-
3
,
/* (334) parenthesized_joined_table ::= NK_LP joined_table NK_RP */
-
3
,
/* (335) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */
-
6
,
/* (336) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */
0
,
/* (337) join_type ::= */
-
1
,
/* (338) join_type ::= INNER */
-
9
,
/* (339) query_specification ::= SELECT set_quantifier_opt select_list from_clause where_clause_opt partition_by_clause_opt twindow_clause_opt group_by_clause_opt having_clause_opt */
0
,
/* (340) set_quantifier_opt ::= */
-
1
,
/* (341) set_quantifier_opt ::= DISTINCT */
-
1
,
/* (342) set_quantifier_opt ::= ALL */
-
1
,
/* (343) select_list ::= NK_STAR */
-
1
,
/* (344) select_list ::= select_sublist */
-
1
,
/* (345) select_sublist ::= select_item */
-
3
,
/* (346) select_sublist ::= select_sublist NK_COMMA select_item */
-
1
,
/* (347) select_item ::= common_expression */
-
2
,
/* (348) select_item ::= common_expression column_alias */
-
3
,
/* (349) select_item ::= common_expression AS column_alias */
-
3
,
/* (350) select_item ::= table_name NK_DOT NK_STAR */
0
,
/* (351) where_clause_opt ::= */
-
2
,
/* (352) where_clause_opt ::= WHERE search_condition */
0
,
/* (353) partition_by_clause_opt ::= */
-
3
,
/* (354) partition_by_clause_opt ::= PARTITION BY expression_list */
0
,
/* (355) twindow_clause_opt ::= */
-
6
,
/* (356) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */
-
4
,
/* (357) twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP */
-
6
,
/* (358) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */
-
8
,
/* (359) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */
0
,
/* (360) sliding_opt ::= */
-
4
,
/* (361) sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */
0
,
/* (362) fill_opt ::= */
-
4
,
/* (363) fill_opt ::= FILL NK_LP fill_mode NK_RP */
-
6
,
/* (364) fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */
-
1
,
/* (365) fill_mode ::= NONE */
-
1
,
/* (366) fill_mode ::= PREV */
-
1
,
/* (367) fill_mode ::= NULL */
-
1
,
/* (368) fill_mode ::= LINEAR */
-
1
,
/* (369) fill_mode ::= NEXT */
0
,
/* (370) group_by_clause_opt ::= */
-
3
,
/* (371) group_by_clause_opt ::= GROUP BY group_by_list */
-
1
,
/* (372) group_by_list ::= expression */
-
3
,
/* (373) group_by_list ::= group_by_list NK_COMMA expression */
0
,
/* (374) having_clause_opt ::= */
-
2
,
/* (375) having_clause_opt ::= HAVING search_condition */
-
4
,
/* (376) query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt */
-
1
,
/* (377) query_expression_body ::= query_primary */
-
4
,
/* (378) query_expression_body ::= query_expression_body UNION ALL query_expression_body */
-
1
,
/* (379) query_primary ::= query_specification */
0
,
/* (380) order_by_clause_opt ::= */
-
3
,
/* (381) order_by_clause_opt ::= ORDER BY sort_specification_list */
0
,
/* (382) slimit_clause_opt ::= */
-
2
,
/* (383) slimit_clause_opt ::= SLIMIT NK_INTEGER */
-
4
,
/* (384) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */
-
4
,
/* (385) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */
0
,
/* (386) limit_clause_opt ::= */
-
2
,
/* (387) limit_clause_opt ::= LIMIT NK_INTEGER */
-
4
,
/* (388) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */
-
4
,
/* (389) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */
-
3
,
/* (390) subquery ::= NK_LP query_expression NK_RP */
-
1
,
/* (391) search_condition ::= common_expression */
-
1
,
/* (392) sort_specification_list ::= sort_specification */
-
3
,
/* (393) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */
-
3
,
/* (394) sort_specification ::= expression ordering_specification_opt null_ordering_opt */
0
,
/* (395) ordering_specification_opt ::= */
-
1
,
/* (396) ordering_specification_opt ::= ASC */
-
1
,
/* (397) ordering_specification_opt ::= DESC */
0
,
/* (398) null_ordering_opt ::= */
-
2
,
/* (399) null_ordering_opt ::= NULLS FIRST */
-
2
,
/* (400) null_ordering_opt ::= NULLS LAST */
};
static
void
yy_accept
(
yyParser
*
);
/* Forward Declaration */
...
...
@@ -2495,14 +2900,17 @@ static YYACTIONTYPE yy_reduce(
yymsp
=
yypParser
->
yytos
;
#ifndef NDEBUG
if
(
yyTraceFILE
&&
yyruleno
<
(
int
)(
sizeof
(
yyRuleName
)
/
sizeof
(
yyRuleName
[
0
]))
){
yysize
=
yyRuleInfo
[
yyruleno
].
nrhs
;
yysize
=
yyRuleInfo
NRhs
[
yyruleno
]
;
if
(
yysize
){
fprintf
(
yyTraceFILE
,
"%sReduce %d [%s]
, go
to state %d.
\n
"
,
fprintf
(
yyTraceFILE
,
"%sReduce %d [%s]
%s, pop back
to state %d.
\n
"
,
yyTracePrompt
,
yyruleno
,
yyRuleName
[
yyruleno
],
yymsp
[
yysize
].
stateno
);
yyruleno
,
yyRuleName
[
yyruleno
],
yyruleno
<
YYNRULE_WITH_ACTION
?
""
:
" without external action"
,
yymsp
[
yysize
].
stateno
);
}
else
{
fprintf
(
yyTraceFILE
,
"%sReduce %d [%s].
\n
"
,
yyTracePrompt
,
yyruleno
,
yyRuleName
[
yyruleno
]);
fprintf
(
yyTraceFILE
,
"%sReduce %d [%s]%s.
\n
"
,
yyTracePrompt
,
yyruleno
,
yyRuleName
[
yyruleno
],
yyruleno
<
YYNRULE_WITH_ACTION
?
""
:
" without external action"
);
}
}
#endif
/* NDEBUG */
...
...
@@ -2510,7 +2918,7 @@ static YYACTIONTYPE yy_reduce(
/* Check that the stack is large enough to grow by a single entry
** if the RHS of the rule is empty. This ensures that there is room
** enough on the stack to push the LHS value */
if
(
yyRuleInfo
[
yyruleno
].
nrhs
==
0
){
if
(
yyRuleInfo
NRhs
[
yyruleno
]
==
0
){
#ifdef YYTRACKMAXSTACKDEPTH
if
(
(
int
)(
yypParser
->
yytos
-
yypParser
->
yystack
)
>
yypParser
->
yyhwm
){
yypParser
->
yyhwm
++
;
...
...
@@ -2684,7 +3092,7 @@ static YYACTIONTYPE yy_reduce(
case
50
:
/* exists_opt ::= */
yytestcase
(
yyruleno
==
50
);
case
211
:
/* analyze_opt ::= */
yytestcase
(
yyruleno
==
211
);
case
219
:
/* agg_func_opt ::= */
yytestcase
(
yyruleno
==
219
);
case
3
39
:
/* set_quantifier_opt ::= */
yytestcase
(
yyruleno
==
339
);
case
3
40
:
/* set_quantifier_opt ::= */
yytestcase
(
yyruleno
==
340
);
{
yymsp
[
1
].
minor
.
yy537
=
false
;
}
break
;
case
49
:
/* exists_opt ::= IF EXISTS */
...
...
@@ -2825,8 +3233,8 @@ static YYACTIONTYPE yy_reduce(
case
192
:
/* func_name_list ::= func_name */
yytestcase
(
yyruleno
==
192
);
case
201
:
/* func_list ::= func */
yytestcase
(
yyruleno
==
201
);
case
254
:
/* literal_list ::= signed_literal */
yytestcase
(
yyruleno
==
254
);
case
34
4
:
/* select_sublist ::= select_item */
yytestcase
(
yyruleno
==
344
);
case
39
1
:
/* sort_specification_list ::= sort_specification */
yytestcase
(
yyruleno
==
391
);
case
34
5
:
/* select_sublist ::= select_item */
yytestcase
(
yyruleno
==
345
);
case
39
2
:
/* sort_specification_list ::= sort_specification */
yytestcase
(
yyruleno
==
392
);
{
yylhsminor
.
yy376
=
createNodeList
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
}
yymsp
[
0
].
minor
.
yy376
=
yylhsminor
.
yy376
;
break
;
...
...
@@ -2836,8 +3244,8 @@ static YYACTIONTYPE yy_reduce(
case
193
:
/* func_name_list ::= func_name_list NK_COMMA col_name */
yytestcase
(
yyruleno
==
193
);
case
202
:
/* func_list ::= func_list NK_COMMA func */
yytestcase
(
yyruleno
==
202
);
case
255
:
/* literal_list ::= literal_list NK_COMMA signed_literal */
yytestcase
(
yyruleno
==
255
);
case
34
5
:
/* select_sublist ::= select_sublist NK_COMMA select_item */
yytestcase
(
yyruleno
==
345
);
case
39
2
:
/* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */
yytestcase
(
yyruleno
==
392
);
case
34
6
:
/* select_sublist ::= select_sublist NK_COMMA select_item */
yytestcase
(
yyruleno
==
346
);
case
39
3
:
/* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */
yytestcase
(
yyruleno
==
393
);
{
yylhsminor
.
yy376
=
addNodeToList
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy376
,
yymsp
[
0
].
minor
.
yy168
);
}
yymsp
[
-
2
].
minor
.
yy376
=
yylhsminor
.
yy376
;
break
;
...
...
@@ -2918,9 +3326,9 @@ static YYACTIONTYPE yy_reduce(
break
;
case
112
:
/* specific_tags_opt ::= */
case
143
:
/* tags_def_opt ::= */
yytestcase
(
yyruleno
==
143
);
case
35
2
:
/* partition_by_clause_opt ::= */
yytestcase
(
yyruleno
==
352
);
case
3
69
:
/* group_by_clause_opt ::= */
yytestcase
(
yyruleno
==
369
);
case
3
79
:
/* order_by_clause_opt ::= */
yytestcase
(
yyruleno
==
379
);
case
35
3
:
/* partition_by_clause_opt ::= */
yytestcase
(
yyruleno
==
353
);
case
3
70
:
/* group_by_clause_opt ::= */
yytestcase
(
yyruleno
==
370
);
case
3
80
:
/* order_by_clause_opt ::= */
yytestcase
(
yyruleno
==
380
);
{
yymsp
[
1
].
minor
.
yy376
=
NULL
;
}
break
;
case
113
:
/* specific_tags_opt ::= NK_LP col_name_list NK_RP */
...
...
@@ -3010,7 +3418,7 @@ static YYACTIONTYPE yy_reduce(
{
yymsp
[
-
5
].
minor
.
yy224
=
createDataType
(
TSDB_DATA_TYPE_DECIMAL
);
}
break
;
case
144
:
/* tags_def_opt ::= tags_def */
case
34
3
:
/* select_list ::= select_sublist */
yytestcase
(
yyruleno
==
343
);
case
34
4
:
/* select_list ::= select_sublist */
yytestcase
(
yyruleno
==
344
);
{
yylhsminor
.
yy376
=
yymsp
[
0
].
minor
.
yy376
;
}
yymsp
[
0
].
minor
.
yy376
=
yylhsminor
.
yy376
;
break
;
...
...
@@ -3148,13 +3556,13 @@ static YYACTIONTYPE yy_reduce(
break
;
case
187
:
/* like_pattern_opt ::= */
case
198
:
/* index_options ::= */
yytestcase
(
yyruleno
==
198
);
case
35
0
:
/* where_clause_opt ::= */
yytestcase
(
yyruleno
==
350
);
case
35
4
:
/* twindow_clause_opt ::= */
yytestcase
(
yyruleno
==
354
);
case
3
59
:
/* sliding_opt ::= */
yytestcase
(
yyruleno
==
359
);
case
36
1
:
/* fill_opt ::= */
yytestcase
(
yyruleno
==
361
);
case
37
3
:
/* having_clause_opt ::= */
yytestcase
(
yyruleno
==
373
);
case
38
1
:
/* slimit_clause_opt ::= */
yytestcase
(
yyruleno
==
381
);
case
38
5
:
/* limit_clause_opt ::= */
yytestcase
(
yyruleno
==
385
);
case
35
1
:
/* where_clause_opt ::= */
yytestcase
(
yyruleno
==
351
);
case
35
5
:
/* twindow_clause_opt ::= */
yytestcase
(
yyruleno
==
355
);
case
3
60
:
/* sliding_opt ::= */
yytestcase
(
yyruleno
==
360
);
case
36
2
:
/* fill_opt ::= */
yytestcase
(
yyruleno
==
362
);
case
37
4
:
/* having_clause_opt ::= */
yytestcase
(
yyruleno
==
374
);
case
38
2
:
/* slimit_clause_opt ::= */
yytestcase
(
yyruleno
==
382
);
case
38
6
:
/* limit_clause_opt ::= */
yytestcase
(
yyruleno
==
386
);
{
yymsp
[
1
].
minor
.
yy168
=
NULL
;
}
break
;
case
188
:
/* like_pattern_opt ::= LIKE NK_STRING */
...
...
@@ -3211,7 +3619,7 @@ static YYACTIONTYPE yy_reduce(
break
;
case
212
:
/* analyze_opt ::= ANALYZE */
case
220
:
/* agg_func_opt ::= AGGREGATE */
yytestcase
(
yyruleno
==
220
);
case
34
0
:
/* set_quantifier_opt ::= DISTINCT */
yytestcase
(
yyruleno
==
340
);
case
34
1
:
/* set_quantifier_opt ::= DISTINCT */
yytestcase
(
yyruleno
==
341
);
{
yymsp
[
0
].
minor
.
yy537
=
true
;
}
break
;
case
213
:
/* explain_options ::= */
...
...
@@ -3292,17 +3700,17 @@ static YYACTIONTYPE yy_reduce(
case
268
:
/* expression ::= literal */
yytestcase
(
yyruleno
==
268
);
case
269
:
/* expression ::= pseudo_column */
yytestcase
(
yyruleno
==
269
);
case
270
:
/* expression ::= column_reference */
yytestcase
(
yyruleno
==
270
);
case
27
3
:
/* expression ::= subquery */
yytestcase
(
yyruleno
==
273
);
case
31
3
:
/* boolean_value_expression ::= boolean_primary */
yytestcase
(
yyruleno
==
313
);
case
31
7
:
/* boolean_primary ::= predicate */
yytestcase
(
yyruleno
==
317
);
case
3
19
:
/* common_expression ::= expression */
yytestcase
(
yyruleno
==
319
);
case
32
0
:
/* common_expression ::= boolean_value_expression */
yytestcase
(
yyruleno
==
320
);
case
32
2
:
/* table_reference_list ::= table_reference */
yytestcase
(
yyruleno
==
322
);
case
32
4
:
/* table_reference ::= table_primary */
yytestcase
(
yyruleno
==
324
);
case
32
5
:
/* table_reference ::= joined_table */
yytestcase
(
yyruleno
==
325
);
case
3
29
:
/* table_primary ::= parenthesized_joined_table */
yytestcase
(
yyruleno
==
329
);
case
37
6
:
/* query_expression_body ::= query_primary */
yytestcase
(
yyruleno
==
376
);
case
37
8
:
/* query_primary ::= query_specification */
yytestcase
(
yyruleno
==
378
);
case
27
4
:
/* expression ::= subquery */
yytestcase
(
yyruleno
==
274
);
case
31
4
:
/* boolean_value_expression ::= boolean_primary */
yytestcase
(
yyruleno
==
314
);
case
31
8
:
/* boolean_primary ::= predicate */
yytestcase
(
yyruleno
==
318
);
case
3
20
:
/* common_expression ::= expression */
yytestcase
(
yyruleno
==
320
);
case
32
1
:
/* common_expression ::= boolean_value_expression */
yytestcase
(
yyruleno
==
321
);
case
32
3
:
/* table_reference_list ::= table_reference */
yytestcase
(
yyruleno
==
323
);
case
32
5
:
/* table_reference ::= table_primary */
yytestcase
(
yyruleno
==
325
);
case
32
6
:
/* table_reference ::= joined_table */
yytestcase
(
yyruleno
==
326
);
case
3
30
:
/* table_primary ::= parenthesized_joined_table */
yytestcase
(
yyruleno
==
330
);
case
37
7
:
/* query_expression_body ::= query_primary */
yytestcase
(
yyruleno
==
377
);
case
37
9
:
/* query_primary ::= query_specification */
yytestcase
(
yyruleno
==
379
);
{
yylhsminor
.
yy168
=
yymsp
[
0
].
minor
.
yy168
;
}
yymsp
[
0
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
...
...
@@ -3356,7 +3764,7 @@ static YYACTIONTYPE yy_reduce(
{
yymsp
[
-
1
].
minor
.
yy168
=
createValueNode
(
pCxt
,
TSDB_DATA_TYPE_TIMESTAMP
,
&
yymsp
[
0
].
minor
.
yy0
);
}
break
;
case
252
:
/* signed_literal ::= duration_literal */
case
39
0
:
/* search_condition ::= common_expression */
yytestcase
(
yyruleno
==
390
);
case
39
1
:
/* search_condition ::= common_expression */
yytestcase
(
yyruleno
==
391
);
{
yylhsminor
.
yy168
=
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
}
yymsp
[
0
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
...
...
@@ -3371,26 +3779,34 @@ static YYACTIONTYPE yy_reduce(
{
yylhsminor
.
yy168
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
3
].
minor
.
yy393
,
&
yymsp
[
0
].
minor
.
yy0
,
createFunctionNode
(
pCxt
,
&
yymsp
[
-
3
].
minor
.
yy393
,
createNodeList
(
pCxt
,
createColumnNode
(
pCxt
,
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
))));
}
yymsp
[
-
3
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
274
:
/* expression ::= NK_LP expression NK_RP */
case
318
:
/* boolean_primary ::= NK_LP boolean_value_expression NK_RP */
yytestcase
(
yyruleno
==
318
);
case
273
:
/* expression ::= function_name NK_LP expression AS type_name NK_RP */
{
SNodeList
*
p
=
createNodeList
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy168
));
p
=
addValueNodeFromTypeToList
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy224
,
p
);
yylhsminor
.
yy168
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
5
].
minor
.
yy393
,
&
yymsp
[
0
].
minor
.
yy0
,
createFunctionNode
(
pCxt
,
&
yymsp
[
-
5
].
minor
.
yy393
,
p
));
}
yymsp
[
-
5
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
275
:
/* expression ::= NK_LP expression NK_RP */
case
319
:
/* boolean_primary ::= NK_LP boolean_value_expression NK_RP */
yytestcase
(
yyruleno
==
319
);
{
yylhsminor
.
yy168
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy168
));
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
27
5
:
/* expression ::= NK_PLUS expression */
case
27
6
:
/* expression ::= NK_PLUS expression */
{
SToken
t
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
yylhsminor
.
yy168
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
t
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
));
}
yymsp
[
-
1
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
27
6
:
/* expression ::= NK_MINUS expression */
case
27
7
:
/* expression ::= NK_MINUS expression */
{
SToken
t
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
yylhsminor
.
yy168
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
t
,
createOperatorNode
(
pCxt
,
OP_TYPE_MINUS
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
),
NULL
));
}
yymsp
[
-
1
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
27
7
:
/* expression ::= expression NK_PLUS expression */
case
27
8
:
/* expression ::= expression NK_PLUS expression */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy168
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
...
...
@@ -3398,7 +3814,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
27
8
:
/* expression ::= expression NK_MINUS expression */
case
27
9
:
/* expression ::= expression NK_MINUS expression */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy168
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
...
...
@@ -3406,7 +3822,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
2
79
:
/* expression ::= expression NK_STAR expression */
case
2
80
:
/* expression ::= expression NK_STAR expression */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy168
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
...
...
@@ -3414,7 +3830,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
28
0
:
/* expression ::= expression NK_SLASH expression */
case
28
1
:
/* expression ::= expression NK_SLASH expression */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy168
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
...
...
@@ -3422,7 +3838,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
28
1
:
/* expression ::= expression NK_REM expression */
case
28
2
:
/* expression ::= expression NK_REM expression */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy168
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
...
...
@@ -3430,35 +3846,35 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
28
2
:
/* expression_list ::= expression */
case
28
3
:
/* expression_list ::= expression */
{
yylhsminor
.
yy376
=
createNodeList
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
));
}
yymsp
[
0
].
minor
.
yy376
=
yylhsminor
.
yy376
;
break
;
case
28
3
:
/* expression_list ::= expression_list NK_COMMA expression */
case
28
4
:
/* expression_list ::= expression_list NK_COMMA expression */
{
yylhsminor
.
yy376
=
addNodeToList
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy376
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
));
}
yymsp
[
-
2
].
minor
.
yy376
=
yylhsminor
.
yy376
;
break
;
case
28
4
:
/* column_reference ::= column_name */
case
28
5
:
/* column_reference ::= column_name */
{
yylhsminor
.
yy168
=
createRawExprNode
(
pCxt
,
&
yymsp
[
0
].
minor
.
yy393
,
createColumnNode
(
pCxt
,
NULL
,
&
yymsp
[
0
].
minor
.
yy393
));
}
yymsp
[
0
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
28
5
:
/* column_reference ::= table_name NK_DOT column_name */
case
28
6
:
/* column_reference ::= table_name NK_DOT column_name */
{
yylhsminor
.
yy168
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy393
,
&
yymsp
[
0
].
minor
.
yy393
,
createColumnNode
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy393
,
&
yymsp
[
0
].
minor
.
yy393
));
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
28
6
:
/* pseudo_column ::= NOW */
case
28
7
:
/* pseudo_column ::= ROWTS */
yytestcase
(
yyruleno
==
287
);
case
28
8
:
/* pseudo_column ::= TBNAME */
yytestcase
(
yyruleno
==
288
);
case
2
89
:
/* pseudo_column ::= QSTARTTS */
yytestcase
(
yyruleno
==
289
);
case
29
0
:
/* pseudo_column ::= QENDTS */
yytestcase
(
yyruleno
==
290
);
case
29
1
:
/* pseudo_column ::= WSTARTTS */
yytestcase
(
yyruleno
==
291
);
case
29
2
:
/* pseudo_column ::= WENDTS */
yytestcase
(
yyruleno
==
292
);
case
29
3
:
/* pseudo_column ::= WDURATION */
yytestcase
(
yyruleno
==
293
);
case
28
7
:
/* pseudo_column ::= NOW */
case
28
8
:
/* pseudo_column ::= ROWTS */
yytestcase
(
yyruleno
==
288
);
case
28
9
:
/* pseudo_column ::= TBNAME */
yytestcase
(
yyruleno
==
289
);
case
2
90
:
/* pseudo_column ::= QSTARTTS */
yytestcase
(
yyruleno
==
290
);
case
29
1
:
/* pseudo_column ::= QENDTS */
yytestcase
(
yyruleno
==
291
);
case
29
2
:
/* pseudo_column ::= WSTARTTS */
yytestcase
(
yyruleno
==
292
);
case
29
3
:
/* pseudo_column ::= WENDTS */
yytestcase
(
yyruleno
==
293
);
case
29
4
:
/* pseudo_column ::= WDURATION */
yytestcase
(
yyruleno
==
294
);
{
yylhsminor
.
yy168
=
createRawExprNode
(
pCxt
,
&
yymsp
[
0
].
minor
.
yy0
,
createFunctionNode
(
pCxt
,
&
yymsp
[
0
].
minor
.
yy0
,
NULL
));
}
yymsp
[
0
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
29
4
:
/* predicate ::= expression compare_op expression */
case
299
:
/* predicate ::= expression in_op in_predicate_value */
yytestcase
(
yyruleno
==
299
);
case
29
5
:
/* predicate ::= expression compare_op expression */
case
300
:
/* predicate ::= expression in_op in_predicate_value */
yytestcase
(
yyruleno
==
300
);
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy168
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
...
...
@@ -3466,7 +3882,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
29
5
:
/* predicate ::= expression BETWEEN expression AND expression */
case
29
6
:
/* predicate ::= expression BETWEEN expression AND expression */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
4
].
minor
.
yy168
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
...
...
@@ -3474,7 +3890,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
4
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
29
6
:
/* predicate ::= expression NOT BETWEEN expression AND expression */
case
29
7
:
/* predicate ::= expression NOT BETWEEN expression AND expression */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
5
].
minor
.
yy168
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
...
...
@@ -3482,68 +3898,68 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
5
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
29
7
:
/* predicate ::= expression IS NULL */
case
29
8
:
/* predicate ::= expression IS NULL */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy168
);
yylhsminor
.
yy168
=
createRawExprNodeExt
(
pCxt
,
&
s
,
&
yymsp
[
0
].
minor
.
yy0
,
createOperatorNode
(
pCxt
,
OP_TYPE_IS_NULL
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy168
),
NULL
));
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
29
8
:
/* predicate ::= expression IS NOT NULL */
case
29
9
:
/* predicate ::= expression IS NOT NULL */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy168
);
yylhsminor
.
yy168
=
createRawExprNodeExt
(
pCxt
,
&
s
,
&
yymsp
[
0
].
minor
.
yy0
,
createOperatorNode
(
pCxt
,
OP_TYPE_IS_NOT_NULL
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy168
),
NULL
));
}
yymsp
[
-
3
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
30
0
:
/* compare_op ::= NK_LT */
case
30
1
:
/* compare_op ::= NK_LT */
{
yymsp
[
0
].
minor
.
yy436
=
OP_TYPE_LOWER_THAN
;
}
break
;
case
30
1
:
/* compare_op ::= NK_GT */
case
30
2
:
/* compare_op ::= NK_GT */
{
yymsp
[
0
].
minor
.
yy436
=
OP_TYPE_GREATER_THAN
;
}
break
;
case
30
2
:
/* compare_op ::= NK_LE */
case
30
3
:
/* compare_op ::= NK_LE */
{
yymsp
[
0
].
minor
.
yy436
=
OP_TYPE_LOWER_EQUAL
;
}
break
;
case
30
3
:
/* compare_op ::= NK_GE */
case
30
4
:
/* compare_op ::= NK_GE */
{
yymsp
[
0
].
minor
.
yy436
=
OP_TYPE_GREATER_EQUAL
;
}
break
;
case
30
4
:
/* compare_op ::= NK_NE */
case
30
5
:
/* compare_op ::= NK_NE */
{
yymsp
[
0
].
minor
.
yy436
=
OP_TYPE_NOT_EQUAL
;
}
break
;
case
30
5
:
/* compare_op ::= NK_EQ */
case
30
6
:
/* compare_op ::= NK_EQ */
{
yymsp
[
0
].
minor
.
yy436
=
OP_TYPE_EQUAL
;
}
break
;
case
30
6
:
/* compare_op ::= LIKE */
case
30
7
:
/* compare_op ::= LIKE */
{
yymsp
[
0
].
minor
.
yy436
=
OP_TYPE_LIKE
;
}
break
;
case
30
7
:
/* compare_op ::= NOT LIKE */
case
30
8
:
/* compare_op ::= NOT LIKE */
{
yymsp
[
-
1
].
minor
.
yy436
=
OP_TYPE_NOT_LIKE
;
}
break
;
case
30
8
:
/* compare_op ::= MATCH */
case
30
9
:
/* compare_op ::= MATCH */
{
yymsp
[
0
].
minor
.
yy436
=
OP_TYPE_MATCH
;
}
break
;
case
3
09
:
/* compare_op ::= NMATCH */
case
3
10
:
/* compare_op ::= NMATCH */
{
yymsp
[
0
].
minor
.
yy436
=
OP_TYPE_NMATCH
;
}
break
;
case
31
0
:
/* in_op ::= IN */
case
31
1
:
/* in_op ::= IN */
{
yymsp
[
0
].
minor
.
yy436
=
OP_TYPE_IN
;
}
break
;
case
31
1
:
/* in_op ::= NOT IN */
case
31
2
:
/* in_op ::= NOT IN */
{
yymsp
[
-
1
].
minor
.
yy436
=
OP_TYPE_NOT_IN
;
}
break
;
case
31
2
:
/* in_predicate_value ::= NK_LP expression_list NK_RP */
case
31
3
:
/* in_predicate_value ::= NK_LP expression_list NK_RP */
{
yylhsminor
.
yy168
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
createNodeListNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy376
));
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
31
4
:
/* boolean_value_expression ::= NOT boolean_primary */
case
31
5
:
/* boolean_value_expression ::= NOT boolean_primary */
{
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
yylhsminor
.
yy168
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
e
,
createLogicConditionNode
(
pCxt
,
LOGIC_COND_TYPE_NOT
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
),
NULL
));
}
yymsp
[
-
1
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
31
5
:
/* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */
case
31
6
:
/* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy168
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
...
...
@@ -3551,7 +3967,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
31
6
:
/* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */
case
31
7
:
/* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy168
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
...
...
@@ -3559,52 +3975,52 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
32
1
:
/* from_clause ::= FROM table_reference_list */
case
35
1
:
/* where_clause_opt ::= WHERE search_condition */
yytestcase
(
yyruleno
==
351
);
case
37
4
:
/* having_clause_opt ::= HAVING search_condition */
yytestcase
(
yyruleno
==
374
);
case
32
2
:
/* from_clause ::= FROM table_reference_list */
case
35
2
:
/* where_clause_opt ::= WHERE search_condition */
yytestcase
(
yyruleno
==
352
);
case
37
5
:
/* having_clause_opt ::= HAVING search_condition */
yytestcase
(
yyruleno
==
375
);
{
yymsp
[
-
1
].
minor
.
yy168
=
yymsp
[
0
].
minor
.
yy168
;
}
break
;
case
32
3
:
/* table_reference_list ::= table_reference_list NK_COMMA table_reference */
case
32
4
:
/* table_reference_list ::= table_reference_list NK_COMMA table_reference */
{
yylhsminor
.
yy168
=
createJoinTableNode
(
pCxt
,
JOIN_TYPE_INNER
,
yymsp
[
-
2
].
minor
.
yy168
,
yymsp
[
0
].
minor
.
yy168
,
NULL
);
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
32
6
:
/* table_primary ::= table_name alias_opt */
case
32
7
:
/* table_primary ::= table_name alias_opt */
{
yylhsminor
.
yy168
=
createRealTableNode
(
pCxt
,
NULL
,
&
yymsp
[
-
1
].
minor
.
yy393
,
&
yymsp
[
0
].
minor
.
yy393
);
}
yymsp
[
-
1
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
32
7
:
/* table_primary ::= db_name NK_DOT table_name alias_opt */
case
32
8
:
/* table_primary ::= db_name NK_DOT table_name alias_opt */
{
yylhsminor
.
yy168
=
createRealTableNode
(
pCxt
,
&
yymsp
[
-
3
].
minor
.
yy393
,
&
yymsp
[
-
1
].
minor
.
yy393
,
&
yymsp
[
0
].
minor
.
yy393
);
}
yymsp
[
-
3
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
32
8
:
/* table_primary ::= subquery alias_opt */
case
32
9
:
/* table_primary ::= subquery alias_opt */
{
yylhsminor
.
yy168
=
createTempTableNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy168
),
&
yymsp
[
0
].
minor
.
yy393
);
}
yymsp
[
-
1
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
33
0
:
/* alias_opt ::= */
case
33
1
:
/* alias_opt ::= */
{
yymsp
[
1
].
minor
.
yy393
=
nil_token
;
}
break
;
case
33
1
:
/* alias_opt ::= table_alias */
case
33
2
:
/* alias_opt ::= table_alias */
{
yylhsminor
.
yy393
=
yymsp
[
0
].
minor
.
yy393
;
}
yymsp
[
0
].
minor
.
yy393
=
yylhsminor
.
yy393
;
break
;
case
33
2
:
/* alias_opt ::= AS table_alias */
case
33
3
:
/* alias_opt ::= AS table_alias */
{
yymsp
[
-
1
].
minor
.
yy393
=
yymsp
[
0
].
minor
.
yy393
;
}
break
;
case
33
3
:
/* parenthesized_joined_table ::= NK_LP joined_table NK_RP */
case
33
4
:
/* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */
yytestcase
(
yyruleno
==
334
);
case
33
4
:
/* parenthesized_joined_table ::= NK_LP joined_table NK_RP */
case
33
5
:
/* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */
yytestcase
(
yyruleno
==
335
);
{
yymsp
[
-
2
].
minor
.
yy168
=
yymsp
[
-
1
].
minor
.
yy168
;
}
break
;
case
33
5
:
/* joined_table ::= table_reference join_type JOIN table_reference ON search_condition */
case
33
6
:
/* joined_table ::= table_reference join_type JOIN table_reference ON search_condition */
{
yylhsminor
.
yy168
=
createJoinTableNode
(
pCxt
,
yymsp
[
-
4
].
minor
.
yy596
,
yymsp
[
-
5
].
minor
.
yy168
,
yymsp
[
-
2
].
minor
.
yy168
,
yymsp
[
0
].
minor
.
yy168
);
}
yymsp
[
-
5
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
33
6
:
/* join_type ::= */
case
33
7
:
/* join_type ::= */
{
yymsp
[
1
].
minor
.
yy596
=
JOIN_TYPE_INNER
;
}
break
;
case
33
7
:
/* join_type ::= INNER */
case
33
8
:
/* join_type ::= INNER */
{
yymsp
[
0
].
minor
.
yy596
=
JOIN_TYPE_INNER
;
}
break
;
case
33
8
:
/* query_specification ::= SELECT set_quantifier_opt select_list from_clause where_clause_opt partition_by_clause_opt twindow_clause_opt group_by_clause_opt having_clause_opt */
case
33
9
:
/* query_specification ::= SELECT set_quantifier_opt select_list from_clause where_clause_opt partition_by_clause_opt twindow_clause_opt group_by_clause_opt having_clause_opt */
{
yymsp
[
-
8
].
minor
.
yy168
=
createSelectStmt
(
pCxt
,
yymsp
[
-
7
].
minor
.
yy537
,
yymsp
[
-
6
].
minor
.
yy376
,
yymsp
[
-
5
].
minor
.
yy168
);
yymsp
[
-
8
].
minor
.
yy168
=
addWhereClause
(
pCxt
,
yymsp
[
-
8
].
minor
.
yy168
,
yymsp
[
-
4
].
minor
.
yy168
);
...
...
@@ -3614,81 +4030,81 @@ static YYACTIONTYPE yy_reduce(
yymsp
[
-
8
].
minor
.
yy168
=
addHavingClause
(
pCxt
,
yymsp
[
-
8
].
minor
.
yy168
,
yymsp
[
0
].
minor
.
yy168
);
}
break
;
case
34
1
:
/* set_quantifier_opt ::= ALL */
case
34
2
:
/* set_quantifier_opt ::= ALL */
{
yymsp
[
0
].
minor
.
yy537
=
false
;
}
break
;
case
34
2
:
/* select_list ::= NK_STAR */
case
34
3
:
/* select_list ::= NK_STAR */
{
yymsp
[
0
].
minor
.
yy376
=
NULL
;
}
break
;
case
34
6
:
/* select_item ::= common_expression */
case
34
7
:
/* select_item ::= common_expression */
{
SToken
t
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
yylhsminor
.
yy168
=
setProjectionAlias
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
),
&
t
);
}
yymsp
[
0
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
34
7
:
/* select_item ::= common_expression column_alias */
case
34
8
:
/* select_item ::= common_expression column_alias */
{
yylhsminor
.
yy168
=
setProjectionAlias
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy168
),
&
yymsp
[
0
].
minor
.
yy393
);
}
yymsp
[
-
1
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
34
8
:
/* select_item ::= common_expression AS column_alias */
case
34
9
:
/* select_item ::= common_expression AS column_alias */
{
yylhsminor
.
yy168
=
setProjectionAlias
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy168
),
&
yymsp
[
0
].
minor
.
yy393
);
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
3
49
:
/* select_item ::= table_name NK_DOT NK_STAR */
case
3
50
:
/* select_item ::= table_name NK_DOT NK_STAR */
{
yylhsminor
.
yy168
=
createColumnNode
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy393
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
35
3
:
/* partition_by_clause_opt ::= PARTITION BY expression_list */
case
37
0
:
/* group_by_clause_opt ::= GROUP BY group_by_list */
yytestcase
(
yyruleno
==
370
);
case
38
0
:
/* order_by_clause_opt ::= ORDER BY sort_specification_list */
yytestcase
(
yyruleno
==
380
);
case
35
4
:
/* partition_by_clause_opt ::= PARTITION BY expression_list */
case
37
1
:
/* group_by_clause_opt ::= GROUP BY group_by_list */
yytestcase
(
yyruleno
==
371
);
case
38
1
:
/* order_by_clause_opt ::= ORDER BY sort_specification_list */
yytestcase
(
yyruleno
==
381
);
{
yymsp
[
-
2
].
minor
.
yy376
=
yymsp
[
0
].
minor
.
yy376
;
}
break
;
case
35
5
:
/* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */
case
35
6
:
/* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */
{
yymsp
[
-
5
].
minor
.
yy168
=
createSessionWindowNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy168
),
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy168
));
}
break
;
case
35
6
:
/* twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP */
case
35
7
:
/* twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP */
{
yymsp
[
-
3
].
minor
.
yy168
=
createStateWindowNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy168
));
}
break
;
case
35
7
:
/* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */
case
35
8
:
/* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */
{
yymsp
[
-
5
].
minor
.
yy168
=
createIntervalWindowNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy168
),
NULL
,
yymsp
[
-
1
].
minor
.
yy168
,
yymsp
[
0
].
minor
.
yy168
);
}
break
;
case
35
8
:
/* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */
case
35
9
:
/* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */
{
yymsp
[
-
7
].
minor
.
yy168
=
createIntervalWindowNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
5
].
minor
.
yy168
),
releaseRawExprNode
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy168
),
yymsp
[
-
1
].
minor
.
yy168
,
yymsp
[
0
].
minor
.
yy168
);
}
break
;
case
36
0
:
/* sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */
case
36
1
:
/* sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */
{
yymsp
[
-
3
].
minor
.
yy168
=
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy168
);
}
break
;
case
36
2
:
/* fill_opt ::= FILL NK_LP fill_mode NK_RP */
case
36
3
:
/* fill_opt ::= FILL NK_LP fill_mode NK_RP */
{
yymsp
[
-
3
].
minor
.
yy168
=
createFillNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy382
,
NULL
);
}
break
;
case
36
3
:
/* fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */
case
36
4
:
/* fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */
{
yymsp
[
-
5
].
minor
.
yy168
=
createFillNode
(
pCxt
,
FILL_MODE_VALUE
,
createNodeListNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy376
));
}
break
;
case
36
4
:
/* fill_mode ::= NONE */
case
36
5
:
/* fill_mode ::= NONE */
{
yymsp
[
0
].
minor
.
yy382
=
FILL_MODE_NONE
;
}
break
;
case
36
5
:
/* fill_mode ::= PREV */
case
36
6
:
/* fill_mode ::= PREV */
{
yymsp
[
0
].
minor
.
yy382
=
FILL_MODE_PREV
;
}
break
;
case
36
6
:
/* fill_mode ::= NULL */
case
36
7
:
/* fill_mode ::= NULL */
{
yymsp
[
0
].
minor
.
yy382
=
FILL_MODE_NULL
;
}
break
;
case
36
7
:
/* fill_mode ::= LINEAR */
case
36
8
:
/* fill_mode ::= LINEAR */
{
yymsp
[
0
].
minor
.
yy382
=
FILL_MODE_LINEAR
;
}
break
;
case
36
8
:
/* fill_mode ::= NEXT */
case
36
9
:
/* fill_mode ::= NEXT */
{
yymsp
[
0
].
minor
.
yy382
=
FILL_MODE_NEXT
;
}
break
;
case
37
1
:
/* group_by_list ::= expression */
case
37
2
:
/* group_by_list ::= expression */
{
yylhsminor
.
yy376
=
createNodeList
(
pCxt
,
createGroupingSetNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
)));
}
yymsp
[
0
].
minor
.
yy376
=
yylhsminor
.
yy376
;
break
;
case
37
2
:
/* group_by_list ::= group_by_list NK_COMMA expression */
case
37
3
:
/* group_by_list ::= group_by_list NK_COMMA expression */
{
yylhsminor
.
yy376
=
addNodeToList
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy376
,
createGroupingSetNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
)));
}
yymsp
[
-
2
].
minor
.
yy376
=
yylhsminor
.
yy376
;
break
;
case
37
5
:
/* query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt */
case
37
6
:
/* query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt */
{
yylhsminor
.
yy168
=
addOrderByClause
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy168
,
yymsp
[
-
2
].
minor
.
yy376
);
yylhsminor
.
yy168
=
addSlimitClause
(
pCxt
,
yylhsminor
.
yy168
,
yymsp
[
-
1
].
minor
.
yy168
);
...
...
@@ -3696,55 +4112,55 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
3
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
37
7
:
/* query_expression_body ::= query_expression_body UNION ALL query_expression_body */
case
37
8
:
/* query_expression_body ::= query_expression_body UNION ALL query_expression_body */
{
yylhsminor
.
yy168
=
createSetOperator
(
pCxt
,
SET_OP_TYPE_UNION_ALL
,
yymsp
[
-
3
].
minor
.
yy168
,
yymsp
[
0
].
minor
.
yy168
);
}
yymsp
[
-
3
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
38
2
:
/* slimit_clause_opt ::= SLIMIT NK_INTEGER */
case
38
6
:
/* limit_clause_opt ::= LIMIT NK_INTEGER */
yytestcase
(
yyruleno
==
386
);
case
38
3
:
/* slimit_clause_opt ::= SLIMIT NK_INTEGER */
case
38
7
:
/* limit_clause_opt ::= LIMIT NK_INTEGER */
yytestcase
(
yyruleno
==
387
);
{
yymsp
[
-
1
].
minor
.
yy168
=
createLimitNode
(
pCxt
,
&
yymsp
[
0
].
minor
.
yy0
,
NULL
);
}
break
;
case
38
3
:
/* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */
case
38
7
:
/* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */
yytestcase
(
yyruleno
==
387
);
case
38
4
:
/* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */
case
38
8
:
/* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */
yytestcase
(
yyruleno
==
388
);
{
yymsp
[
-
3
].
minor
.
yy168
=
createLimitNode
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
break
;
case
38
4
:
/* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */
case
38
8
:
/* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */
yytestcase
(
yyruleno
==
388
);
case
38
5
:
/* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */
case
38
9
:
/* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */
yytestcase
(
yyruleno
==
389
);
{
yymsp
[
-
3
].
minor
.
yy168
=
createLimitNode
(
pCxt
,
&
yymsp
[
0
].
minor
.
yy0
,
&
yymsp
[
-
2
].
minor
.
yy0
);
}
break
;
case
3
89
:
/* subquery ::= NK_LP query_expression NK_RP */
case
3
90
:
/* subquery ::= NK_LP query_expression NK_RP */
{
yylhsminor
.
yy168
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
1
].
minor
.
yy168
);
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
39
3
:
/* sort_specification ::= expression ordering_specification_opt null_ordering_opt */
case
39
4
:
/* sort_specification ::= expression ordering_specification_opt null_ordering_opt */
{
yylhsminor
.
yy168
=
createOrderByExprNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy168
),
yymsp
[
-
1
].
minor
.
yy554
,
yymsp
[
0
].
minor
.
yy81
);
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
39
4
:
/* ordering_specification_opt ::= */
case
39
5
:
/* ordering_specification_opt ::= */
{
yymsp
[
1
].
minor
.
yy554
=
ORDER_ASC
;
}
break
;
case
39
5
:
/* ordering_specification_opt ::= ASC */
case
39
6
:
/* ordering_specification_opt ::= ASC */
{
yymsp
[
0
].
minor
.
yy554
=
ORDER_ASC
;
}
break
;
case
39
6
:
/* ordering_specification_opt ::= DESC */
case
39
7
:
/* ordering_specification_opt ::= DESC */
{
yymsp
[
0
].
minor
.
yy554
=
ORDER_DESC
;
}
break
;
case
39
7
:
/* null_ordering_opt ::= */
case
39
8
:
/* null_ordering_opt ::= */
{
yymsp
[
1
].
minor
.
yy81
=
NULL_ORDER_DEFAULT
;
}
break
;
case
39
8
:
/* null_ordering_opt ::= NULLS FIRST */
case
39
9
:
/* null_ordering_opt ::= NULLS FIRST */
{
yymsp
[
-
1
].
minor
.
yy81
=
NULL_ORDER_FIRST
;
}
break
;
case
399
:
/* null_ordering_opt ::= NULLS LAST */
case
400
:
/* null_ordering_opt ::= NULLS LAST */
{
yymsp
[
-
1
].
minor
.
yy81
=
NULL_ORDER_LAST
;
}
break
;
default:
break
;
/********** End reduce actions ************************************************/
};
assert
(
yyruleno
<
sizeof
(
yyRuleInfo
)
/
sizeof
(
yyRuleInfo
[
0
])
);
yygoto
=
yyRuleInfo
[
yyruleno
].
lhs
;
yysize
=
yyRuleInfo
[
yyruleno
].
nrhs
;
assert
(
yyruleno
<
sizeof
(
yyRuleInfo
Lhs
)
/
sizeof
(
yyRuleInfoLhs
[
0
])
);
yygoto
=
yyRuleInfo
Lhs
[
yyruleno
]
;
yysize
=
yyRuleInfo
NRhs
[
yyruleno
]
;
yyact
=
yy_find_reduce_action
(
yymsp
[
yysize
].
stateno
,(
YYCODETYPE
)
yygoto
);
/* There are no SHIFTREDUCE actions on nonterminals because the table
...
...
@@ -4032,11 +4448,10 @@ void Parse(
*/
int
ParseFallback
(
int
iToken
){
#ifdef YYFALLBACK
if
(
iToken
<
(
int
)(
sizeof
(
yyFallback
)
/
sizeof
(
yyFallback
[
0
]))
){
return
yyFallback
[
iToken
];
}
assert
(
iToken
<
(
int
)(
sizeof
(
yyFallback
)
/
sizeof
(
yyFallback
[
0
]))
);
return
yyFallback
[
iToken
];
#else
(
void
)
iToken
;
#endif
return
0
;
#endif
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录