Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
6a734a74
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
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看板
未验证
提交
6a734a74
编写于
4月 10, 2022
作者:
G
Ganlin Zhao
提交者:
GitHub
4月 10, 2022
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #11365 from taosdata/feature/TD-14242
<feat>[query]: add cast function SQL syntax
上级
fb87872d
5fb7a795
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
1542 addition
and
1081 deletion
+1542
-1081
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
+1501
-1081
未找到文件。
source/libs/function/src/builtins.c
浏览文件 @
6a734a74
...
...
@@ -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
浏览文件 @
6a734a74
...
...
@@ -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
浏览文件 @
6a734a74
...
...
@@ -534,6 +534,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
浏览文件 @
6a734a74
...
...
@@ -251,6 +251,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
浏览文件 @
6a734a74
...
...
@@ -132,17 +132,18 @@ typedef union {
#define ParseCTX_PARAM
#define ParseCTX_FETCH
#define ParseCTX_STORE
#define YYNSTATE 544
#define YYNRULE 408
#define YYNSTATE 547
#define YYNRULE 409
#define YYNRULE_WITH_ACTION 409
#define YYNTOKEN 207
#define YY_MAX_SHIFT 54
3
#define YY_MIN_SHIFTREDUCE 80
2
#define YY_MAX_SHIFTREDUCE 12
09
#define YY_ERROR_ACTION 121
0
#define YY_ACCEPT_ACTION 121
1
#define YY_NO_ACTION 121
2
#define YY_MIN_REDUCE 121
3
#define YY_MAX_REDUCE 162
0
#define YY_MAX_SHIFT 54
6
#define YY_MIN_SHIFTREDUCE 80
6
#define YY_MAX_SHIFTREDUCE 12
14
#define YY_ERROR_ACTION 121
5
#define YY_ACCEPT_ACTION 121
6
#define YY_NO_ACTION 121
7
#define YY_MIN_REDUCE 121
8
#define YY_MAX_REDUCE 162
6
/************* End control #defines *******************************************/
#define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0])))
...
...
@@ -209,161 +210,161 @@ typedef union {
** yy_default[] Default action for each state.
**
*********** Begin parsing tables **********************************************/
#define YY_ACTTAB_COUNT (152
3
)
#define YY_ACTTAB_COUNT (152
9
)
static
const
YYACTIONTYPE
yy_action
[]
=
{
/* 0 */
25
,
19
3
,
1473
,
1322
,
255
,
446
,
1489
,
459
,
267
,
310
,
/* 10 */
27
5
,
1422
,
31
,
29
,
1469
,
1476
,
308
,
1413
,
1415
,
1449
,
/* 20 */
26
4
,
1473
,
1046
,
272
,
427
,
32
,
30
,
28
,
27
,
26
,
/* 30 */
15
05
,
21
,
1333
,
1469
,
1475
,
304
,
458
,
443
,
1044
,
236
,
/* 40 */
147
3
,
32
,
30
,
28
,
27
,
26
,
1068
,
445
,
23
,
100
,
/* 50 */
11
,
146
0
,
1469
,
1475
,
1489
,
287
,
431
,
1051
,
32
,
30
,
/* 60 */
2
8
,
27
,
26
,
31
,
29
,
1152
,
1599
,
227
,
1490
,
1491
,
/* 70 */
1
494
,
264
,
215
,
1046
,
1
,
1363
,
31
,
29
,
1505
,
130
,
/* 80 */
155
2
,
136
,
98
,
1597
,
264
,
443
,
1046
,
1599
,
1166
,
1044
,
/* 90 */
52
,
4
29
,
126
,
1545
,
1546
,
445
,
1550
,
540
,
1549
,
1460
,
/* 100 */
13
0
,
11
,
1044
,
96
,
1597
,
1069
,
1211
,
50
,
1051
,
1045
,
/* 110 */
49
,
13
28
,
378
,
377
,
11
,
70
,
1490
,
1491
,
1494
,
1538
,
/* 120 */
4
58
,
1051
,
345
,
1537
,
1534
,
1
,
1214
,
928
,
482
,
481
,
/* 130 */
48
0
,
932
,
479
,
934
,
935
,
478
,
937
,
475
,
1
,
943
,
/* 140 */
47
2
,
945
,
946
,
469
,
466
,
1047
,
485
,
84
,
540
,
1324
,
/* 150 */
83
,
82
,
81
,
80
,
79
,
78
,
77
,
76
,
75
,
28
0
,
/* 160 */
104
5
,
540
,
1050
,
1070
,
1071
,
1096
,
1097
,
1098
,
1099
,
1100
,
/* 170 */
110
1
,
1102
,
1103
,
1045
,
12
,
1046
,
459
,
1066
,
163
,
31
,
/* 180 */
2
9
,
116
,
369
,
1225
,
131
,
309
,
380
,
264
,
374
,
1046
,
/* 190 */
1
599
,
1044
,
379
,
403
,
1460
,
97
,
1047
,
375
,
373
,
156
,
/* 200 */
37
6
,
1333
,
154
,
130
,
371
,
1044
,
303
,
1597
,
302
,
1047
,
/* 210 */
105
1
,
394
,
458
,
1050
,
1070
,
1071
,
1096
,
1097
,
1098
,
1099
,
/* 220 */
110
0
,
1101
,
1102
,
1103
,
1051
,
417
,
1050
,
1070
,
1071
,
1096
,
/* 230 */
1
097
,
1098
,
1099
,
1100
,
1101
,
1102
,
1103
,
404
,
459
,
1176
,
/* 240 */
13
1
,
7
,
1599
,
31
,
29
,
444
,
131
,
72
,
1070
,
1071
,
/* 250 */
54
0
,
264
,
459
,
1046
,
366
,
130
,
890
,
31
,
29
,
1597
,
/* 260 */
107
2
,
317
,
1045
,
1333
,
540
,
264
,
12
,
1046
,
1599
,
1044
,
/* 270 */
41
4
,
1174
,
1175
,
1177
,
1178
,
892
,
1045
,
1333
,
52
,
422
,
/* 280 */
4
18
,
130
,
1489
,
1044
,
131
,
1597
,
84
,
1599
,
1051
,
83
,
/* 290 */
82
,
81
,
80
,
79
,
78
,
77
,
76
,
75
,
10
47
,
1329
,
/* 300 */
1
598
,
331
,
1051
,
65
,
1597
,
7
,
1505
,
32
,
30
,
28
,
/* 310 */
27
,
26
,
10
47
,
443
,
1505
,
1050
,
117
,
101
,
1236
,
7
,
/* 320 */
129
1
,
443
,
421
,
445
,
1325
,
1489
,
1311
,
1460
,
540
,
1050
,
/* 330 */
107
0
,
1071
,
1096
,
1097
,
1098
,
1099
,
1100
,
1101
,
1102
,
1103
,
/* 340 */
104
5
,
131
,
540
,
118
,
1490
,
1491
,
1494
,
140
,
139
,
1505
,
/* 350 */
23
5
,
131
,
1066
,
420
,
1045
,
459
,
443
,
121
,
494
,
324
,
/* 360 */
4
59
,
1552
,
336
,
1460
,
318
,
1067
,
445
,
427
,
1373
,
344
,
/* 370 */
146
0
,
337
,
1380
,
263
,
1235
,
345
,
1047
,
188
,
254
,
1548
,
/* 380 */
133
3
,
432
,
1612
,
1378
,
1309
,
1333
,
231
,
1490
,
1491
,
1494
,
/* 390 */
10
47
,
496
,
100
,
1050
,
1070
,
1071
,
1096
,
1097
,
1098
,
1099
,
/* 400 */
110
0
,
1101
,
1102
,
1103
,
28
,
27
,
26
,
1050
,
1070
,
1071
,
/* 410 */
1
096
,
1097
,
1098
,
1099
,
1100
,
1101
,
1102
,
1103
,
459
,
1460
,
/* 420 */
3
1
,
29
,
434
,
1380
,
268
,
98
,
1234
,
1330
,
264
,
269
,
/* 430 */
10
46
,
1262
,
114
,
494
,
1378
,
127
,
1545
,
1546
,
1410
,
1550
,
/* 440 */
1335
,
536
,
535
,
1333
,
335
,
138
,
1044
,
330
,
329
,
328
,
/* 450 */
32
7
,
326
,
59
,
323
,
322
,
321
,
320
,
316
,
315
,
314
,
/* 460 */
31
3
,
312
,
311
,
459
,
1151
,
1051
,
32
,
30
,
28
,
27
,
/* 470 */
26
,
146
0
,
456
,
1326
,
1318
,
32
,
30
,
28
,
27
,
26
,
/* 480 */
2
48
,
1320
,
1
,
516
,
515
,
514
,
513
,
279
,
1333
,
512
,
/* 490 */
51
1
,
510
,
102
,
505
,
504
,
503
,
502
,
501
,
500
,
499
,
/* 500 */
498
,
108
,
1489
,
459
,
238
,
540
,
163
,
508
,
114
,
459
,
/* 510 */
3
69
,
298
,
72
,
238
,
446
,
274
,
1336
,
1045
,
457
,
372
,
/* 520 */
142
3
,
1316
,
249
,
114
,
247
,
246
,
1505
,
368
,
1333
,
1084
,
/* 530 */
121
3
,
1335
,
371
,
443
,
1333
,
1073
,
277
,
1115
,
32
,
30
,
/* 540 */
2
8
,
27
,
26
,
445
,
114
,
1292
,
1115
,
1460
,
839
,
1117
,
/* 550 */
838
,
1552
,
1335
,
1047
,
93
,
92
,
91
,
90
,
89
,
88
,
/* 560 */
87
,
86
,
85
,
22
4
,
1490
,
1491
,
1494
,
1121
,
840
,
1547
,
/* 570 */
105
0
,
1070
,
1071
,
1096
,
1097
,
1098
,
1099
,
1100
,
1101
,
1102
,
/* 580 */
110
3
,
385
,
9
,
8
,
459
,
1116
,
1380
,
509
,
507
,
459
,
/* 590 */
11
5
,
22
,
276
,
207
,
1116
,
221
,
393
,
1378
,
278
,
148
0
,
/* 600 */
497
,
1084
,
1305
,
1120
,
1233
,
838
,
1232
,
219
,
1265
,
1333
,
/* 610 */
16
5
,
1478
,
1120
,
388
,
1333
,
1380
,
1231
,
6
,
382
,
433
,
/* 620 */
14
1
,
364
,
1230
,
1489
,
164
,
1229
,
1414
,
24
,
262
,
1110
,
/* 630 */
111
1
,
1112
,
1113
,
1114
,
1118
,
1119
,
24
,
262
,
1110
,
1111
,
/* 640 */
111
2
,
1113
,
1114
,
1118
,
1119
,
1150
,
168
,
1505
,
1380
,
1460
,
/* 650 */
42
,
146
0
,
174
,
41
,
443
,
435
,
1128
,
1228
,
1227
,
1379
,
/* 660 */
38
0
,
1460
,
374
,
484
,
445
,
1054
,
379
,
1460
,
1460
,
97
,
/* 670 */
146
0
,
375
,
373
,
431
,
376
,
1557
,
1147
,
1489
,
1224
,
1223
,
/* 680 */
122
2
,
1221
,
295
,
67
,
68
,
1490
,
1491
,
1494
,
1538
,
1220
,
/* 690 */
27
1
,
270
,
237
,
1534
,
392
,
9
,
8
,
297
,
1219
,
1218
,
/* 700 */
10
59
,
1505
,
1460
,
1460
,
1599
,
1217
,
438
,
390
,
430
,
1216
,
/* 710 */
48
,
47
,
30
7
,
402
,
135
,
1252
,
1052
,
130
,
445
,
301
,
/* 720 */
1226
,
1597
,
1460
,
1460
,
1460
,
1460
,
1460
,
244
,
1489
,
293
,
/* 730 */
1053
,
289
,
285
,
132
,
1460
,
1051
,
1057
,
381
,
69
,
1490
,
/* 740 */
149
1
,
1494
,
1538
,
1460
,
1460
,
864
,
257
,
1534
,
125
,
115
9
,
/* 750 */
146
0
,
543
,
1505
,
190
,
1460
,
1068
,
131
,
1147
,
158
,
430
,
/* 760 */
1
89
,
157
,
1208
,
1209
,
865
,
212
,
410
,
1565
,
95
,
445
,
/* 770 */
442
,
1489
,
1247
,
1460
,
532
,
460
,
528
,
524
,
520
,
211
,
/* 780 */
415
,
160
,
162
,
1489
,
159
,
161
,
436
,
1055
,
1245
,
69
,
/* 790 */
149
0
,
1491
,
1494
,
1538
,
383
,
1505
,
1489
,
257
,
1534
,
125
,
/* 800 */
340
,
1056
,
443
,
1374
,
401
,
66
,
183
,
1505
,
205
,
106
,
/* 810 */
38
6
,
363
,
445
,
406
,
443
,
44
,
1460
,
1568
,
1566
,
1173
,
/* 820 */
15
05
,
177
,
33
,
1060
,
445
,
179
,
1122
,
443
,
1460
,
428
,
/* 830 */
1
506
,
1489
,
229
,
1490
,
1491
,
1494
,
192
,
445
,
455
,
439
,
/* 840 */
106
3
,
1460
,
2
,
1489
,
69
,
1490
,
1491
,
1494
,
1538
,
1066
,
/* 850 */
282
,
243
,
257
,
1534
,
1611
,
1505
,
286
,
70
,
1490
,
1491
,
/* 860 */
1
494
,
1538
,
443
,
1572
,
890
,
409
,
1535
,
1505
,
170
,
33
,
/* 870 */
64
,
33
,
445
,
1081
,
443
,
1013
,
1460
,
196
,
245
,
1022
,
/* 880 */
61
,
198
,
1107
,
1030
,
445
,
167
,
94
,
104
,
1460
,
213
,
/* 890 */
451
,
204
,
69
,
1490
,
1491
,
1494
,
1538
,
319
,
1412
,
137
,
/* 900 */
25
7
,
1534
,
1611
,
1489
,
69
,
1490
,
1491
,
1494
,
1538
,
325
,
/* 910 */
332
,
1595
,
257
,
1534
,
1611
,
106
,
333
,
151
,
427
,
921
,
/* 920 */
12
4
,
334
,
338
,
1556
,
339
,
1077
,
362
,
1505
,
358
,
354
,
/* 930 */
35
0
,
150
,
44
,
464
,
443
,
1076
,
916
,
949
,
104
,
1489
,
/* 940 */
143
,
105
,
953
,
100
,
445
,
959
,
341
,
106
,
1460
,
342
,
/* 950 */
14
89
,
958
,
32
,
30
,
28
,
27
,
26
,
53
,
1075
,
146
,
/* 960 */
14
8
,
343
,
431
,
1505
,
70
,
1490
,
1491
,
1494
,
1538
,
365
,
/* 970 */
44
3
,
51
,
441
,
1534
,
1505
,
104
,
98
,
346
,
149
,
107
,
/* 980 */
44
5
,
443
,
1074
,
427
,
1460
,
74
,
186
,
1545
,
426
,
367
,
/* 990 */
42
5
,
445
,
1323
,
1599
,
370
,
1460
,
153
,
1319
,
411
,
155
,
/* 1000 */
23
0
,
1490
,
1491
,
1494
,
1489
,
109
,
130
,
110
,
100
,
1489
,
/* 1010 */
1
597
,
231
,
1490
,
1491
,
1494
,
1321
,
147
,
1317
,
120
,
253
,
/* 1020 */
14
4
,
111
,
408
,
112
,
396
,
395
,
397
,
405
,
1505
,
169
,
/* 1030 */
398
,
407
,
423
,
1505
,
172
,
443
,
1073
,
142
,
1489
,
416
,
/* 1040 */
44
3
,
98
,
449
,
1579
,
1051
,
445
,
1569
,
175
,
413
,
1460
,
/* 1050 */
44
5
,
128
,
1545
,
1546
,
1460
,
1550
,
256
,
261
,
178
,
419
,
/* 1060 */
41
2
,
424
,
1505
,
5
,
1489
,
118
,
1490
,
1491
,
1494
,
443
,
/* 1070 */
23
1
,
1490
,
1491
,
1494
,
4
,
1559
,
1578
,
182
,
1206
,
445
,
/* 1080 */
1147
,
123
,
99
,
1460
,
1072
,
34
,
265
,
1553
,
1505
,
18
4
,
/* 1090 */
185
,
258
,
440
,
437
,
1614
,
443
,
17
,
447
,
191
,
231
,
/* 1100 */
149
0
,
1491
,
1494
,
1520
,
1613
,
445
,
1489
,
452
,
1421
,
1460
,
/* 1110 */
1596
,
1489
,
448
,
200
,
1420
,
266
,
214
,
1489
,
453
,
1334
,
/* 1120 */
45
4
,
202
,
60
,
58
,
462
,
232
,
1490
,
1491
,
1494
,
491
,
/* 1130 */
15
05
,
539
,
216
,
210
,
1306
,
1505
,
220
,
443
,
218
,
40
,
/* 1140 */
222
,
1505
,
443
,
1454
,
1453
,
1205
,
281
,
445
,
443
,
1310
,
/* 1150 */
223
,
1460
,
445
,
1450
,
283
,
284
,
1460
,
1040
,
445
,
1489
,
/* 1160 */
1041
,
133
,
1460
,
288
,
1448
,
290
,
291
,
225
,
1490
,
1491
,
/* 1170 */
1
494
,
1489
,
233
,
1490
,
1491
,
1494
,
292
,
1447
,
226
,
1490
,
/* 1180 */
149
1
,
1494
,
1446
,
1505
,
1489
,
294
,
296
,
1437
,
134
,
299
,
/* 1190 */
44
3
,
300
,
1025
,
1431
,
1024
,
1505
,
1430
,
306
,
305
,
1429
,
/* 1200 */
44
5
,
1308
,
443
,
1428
,
1460
,
1405
,
996
,
1404
,
1505
,
1403
,
/* 1210 */
20
8
,
1402
,
445
,
1489
,
490
,
443
,
1460
,
1401
,
1400
,
1399
,
/* 1220 */
23
4
,
1490
,
1491
,
1494
,
1398
,
445
,
1397
,
1396
,
1395
,
1460
,
/* 1230 */
1
394
,
1393
,
1502
,
1490
,
1491
,
1494
,
492
,
1505
,
1392
,
1489
,
/* 1240 */
1
391
,
103
,
1390
,
1389
,
443
,
1501
,
1490
,
1491
,
1494
,
1388
,
/* 1250 */
13
87
,
1386
,
1385
,
1384
,
445
,
489
,
488
,
487
,
1460
,
486
,
/* 1260 */
1383
,
998
,
208
,
1505
,
1382
,
1489
,
490
,
1381
,
1264
,
1445
,
/* 1270 */
44
3
,
1439
,
1427
,
1489
,
1500
,
1490
,
1491
,
1494
,
1418
,
145
,
/* 1280 */
44
5
,
1312
,
1263
,
857
,
1460
,
1261
,
347
,
349
,
492
,
1505
,
/* 1290 */
348
,
1259
,
352
,
351
,
1257
,
355
,
443
,
1505
,
1255
,
1489
,
/* 1300 */
241
,
1490
,
1491
,
1494
,
443
,
353
,
445
,
489
,
488
,
487
,
/* 1310 */
146
0
,
486
,
356
,
357
,
445
,
359
,
360
,
361
,
1460
,
1244
,
/* 1320 */
12
43
,
1240
,
1314
,
1505
,
73
,
966
,
240
,
1490
,
1491
,
1494
,
/* 1330 */
44
3
,
964
,
508
,
1313
,
242
,
1490
,
1491
,
1494
,
889
,
152
,
/* 1340 */
44
5
,
1489
,
888
,
887
,
1460
,
886
,
506
,
1253
,
883
,
882
,
/* 1350 */
250
,
1248
,
251
,
384
,
1246
,
387
,
252
,
1239
,
389
,
1238
,
/* 1360 */
239
,
149
0
,
1491
,
1494
,
391
,
1505
,
71
,
1444
,
166
,
1032
,
/* 1370 */
43
,
1438
,
443
,
113
,
399
,
1426
,
1425
,
1417
,
171
,
122
,
/* 1380 */
54
,
1478
,
445
,
400
,
37
,
14
,
1460
,
3
,
176
,
33
,
/* 1390 */
1172
,
173
,
15
,
56
,
38
,
35
,
10
,
8
,
119
,
180
,
/* 1400 */
19
,
55
,
228
,
1490
,
1491
,
1494
,
1194
,
1165
,
181
,
2
0
,
/* 1410 */
1193
,
259
,
1198
,
1416
,
1144
,
1143
,
36
,
1197
,
260
,
1199
,
/* 1420 */
16
,
450
,
203
,
1061
,
13
,
1108
,
201
,
187
,
1082
,
129
,
/* 1430 */
18
,
463
,
273
,
195
,
194
,
1170
,
197
,
199
,
45
,
57
,
/* 1440 */
467
,
1477
,
470
,
39
,
473
,
61
,
476
,
927
,
961
,
957
,
/* 1450 */
955
,
871
,
206
,
950
,
1260
,
461
,
465
,
878
,
877
,
947
,
/* 1460 */
468
,
876
,
944
,
938
,
471
,
474
,
855
,
936
,
493
,
896
,
/* 1470 */
47
7
,
875
,
874
,
873
,
62
,
872
,
891
,
868
,
893
,
4
6
,
/* 1480 */
9
42
,
63
,
867
,
866
,
941
,
209
,
483
,
863
,
495
,
86
2
,
/* 1490 */
8
61
,
860
,
518
,
517
,
1258
,
522
,
940
,
939
,
521
,
1256
,
/* 1500 */
519
,
523
,
525
,
526
,
527
,
1254
,
529
,
530
,
531
,
124
2
,
/* 1510 */
5
33
,
534
,
960
,
1241
,
1237
,
537
,
538
,
1212
,
1048
,
217
,
/* 1520 */
12
12
,
541
,
542
,
/* 0 */
25
,
19
4
,
1478
,
1327
,
257
,
449
,
1494
,
462
,
269
,
312
,
/* 10 */
27
7
,
1427
,
30
,
28
,
1474
,
1481
,
310
,
1418
,
1420
,
1454
,
/* 20 */
26
6
,
1478
,
1050
,
274
,
429
,
32
,
31
,
29
,
27
,
26
,
/* 30 */
15
11
,
21
,
1338
,
1474
,
1480
,
306
,
461
,
445
,
1048
,
238
,
/* 40 */
147
8
,
32
,
31
,
29
,
27
,
26
,
1072
,
448
,
23
,
100
,
/* 50 */
11
,
146
5
,
1474
,
1480
,
1494
,
289
,
433
,
1055
,
32
,
31
,
/* 60 */
2
9
,
27
,
26
,
30
,
28
,
1157
,
1605
,
228
,
1495
,
1496
,
/* 70 */
1
500
,
266
,
216
,
1050
,
1
,
1368
,
30
,
28
,
1511
,
131
,
/* 80 */
155
8
,
137
,
98
,
1603
,
266
,
445
,
1050
,
1605
,
1171
,
1048
,
/* 90 */
52
,
4
31
,
127
,
1551
,
1552
,
448
,
1556
,
543
,
1555
,
1465
,
/* 100 */
13
1
,
11
,
1048
,
96
,
1603
,
1073
,
1216
,
50
,
1055
,
1049
,
/* 110 */
49
,
13
33
,
380
,
379
,
11
,
70
,
1495
,
1496
,
1500
,
1544
,
/* 120 */
4
61
,
1055
,
347
,
1543
,
1540
,
1
,
1219
,
932
,
485
,
484
,
/* 130 */
48
3
,
936
,
482
,
938
,
939
,
481
,
941
,
478
,
1
,
947
,
/* 140 */
47
5
,
949
,
950
,
472
,
469
,
1051
,
488
,
84
,
543
,
1329
,
/* 150 */
83
,
82
,
81
,
80
,
79
,
78
,
77
,
76
,
75
,
28
2
,
/* 160 */
104
9
,
543
,
1054
,
1074
,
1075
,
1101
,
1102
,
1103
,
1104
,
1105
,
/* 170 */
110
6
,
1107
,
1108
,
1049
,
12
,
1050
,
462
,
1070
,
164
,
30
,
/* 180 */
2
8
,
117
,
371
,
1230
,
132
,
311
,
382
,
266
,
376
,
1050
,
/* 190 */
1
605
,
1048
,
381
,
405
,
1465
,
97
,
1051
,
377
,
375
,
157
,
/* 200 */
37
8
,
1338
,
155
,
131
,
373
,
1048
,
305
,
1603
,
304
,
1051
,
/* 210 */
105
5
,
396
,
461
,
1054
,
1074
,
1075
,
1101
,
1102
,
1103
,
1104
,
/* 220 */
110
5
,
1106
,
1107
,
1108
,
1055
,
419
,
1054
,
1074
,
1075
,
1101
,
/* 230 */
1
102
,
1103
,
1104
,
1105
,
1106
,
1107
,
1108
,
406
,
462
,
1181
,
/* 240 */
13
2
,
7
,
1605
,
30
,
28
,
447
,
132
,
72
,
1074
,
1075
,
/* 250 */
54
3
,
266
,
462
,
1050
,
368
,
131
,
894
,
30
,
28
,
1603
,
/* 260 */
107
6
,
319
,
1049
,
1338
,
543
,
266
,
12
,
1050
,
1605
,
1048
,
/* 270 */
41
6
,
1179
,
1180
,
1182
,
1183
,
896
,
1049
,
1338
,
52
,
424
,
/* 280 */
4
20
,
131
,
1494
,
1048
,
132
,
1603
,
84
,
1605
,
1055
,
83
,
/* 290 */
82
,
81
,
80
,
79
,
78
,
77
,
76
,
75
,
10
51
,
1334
,
/* 300 */
1
604
,
333
,
1055
,
65
,
1603
,
7
,
1511
,
32
,
31
,
29
,
/* 310 */
27
,
26
,
10
51
,
445
,
1511
,
1054
,
118
,
101
,
1241
,
7
,
/* 320 */
129
6
,
445
,
423
,
448
,
1330
,
1494
,
1316
,
1465
,
543
,
1054
,
/* 330 */
107
4
,
1075
,
1101
,
1102
,
1103
,
1104
,
1105
,
1106
,
1107
,
1108
,
/* 340 */
104
9
,
132
,
543
,
119
,
1495
,
1496
,
1500
,
141
,
140
,
1511
,
/* 350 */
23
7
,
132
,
1070
,
422
,
1049
,
462
,
445
,
122
,
497
,
326
,
/* 360 */
4
62
,
1558
,
338
,
1465
,
320
,
1071
,
448
,
429
,
1378
,
346
,
/* 370 */
146
5
,
339
,
1385
,
265
,
1240
,
347
,
1051
,
189
,
256
,
1554
,
/* 380 */
133
8
,
434
,
1618
,
1383
,
59
,
1338
,
229
,
1495
,
1496
,
1500
,
/* 390 */
10
51
,
499
,
100
,
1054
,
1074
,
1075
,
1101
,
1102
,
1103
,
1104
,
/* 400 */
110
5
,
1106
,
1107
,
1108
,
843
,
1331
,
842
,
1054
,
1074
,
1075
,
/* 410 */
1
101
,
1102
,
1103
,
1104
,
1105
,
1106
,
1107
,
1108
,
462
,
1465
,
/* 420 */
3
0
,
28
,
1385
,
1385
,
844
,
98
,
1239
,
1335
,
266
,
271
,
/* 430 */
10
50
,
1267
,
114
,
1419
,
1383
,
128
,
1551
,
1552
,
1415
,
1556
,
/* 440 */
29
,
27
,
26
,
1338
,
337
,
139
,
1048
,
332
,
331
,
330
,
/* 450 */
32
9
,
328
,
1485
,
325
,
324
,
323
,
322
,
318
,
317
,
316
,
/* 460 */
31
5
,
314
,
313
,
462
,
1483
,
1055
,
32
,
31
,
29
,
27
,
/* 470 */
26
,
146
5
,
459
,
539
,
538
,
32
,
31
,
29
,
27
,
26
,
/* 480 */
2
50
,
1323
,
1
,
519
,
518
,
517
,
516
,
281
,
1338
,
515
,
/* 490 */
51
4
,
513
,
102
,
508
,
507
,
506
,
505
,
504
,
503
,
502
,
/* 500 */
501
,
108
,
1494
,
462
,
241
,
543
,
164
,
511
,
115
,
462
,
/* 510 */
3
71
,
300
,
72
,
241
,
449
,
270
,
1341
,
1049
,
460
,
374
,
/* 520 */
142
8
,
1325
,
251
,
115
,
249
,
248
,
1511
,
370
,
1338
,
1089
,
/* 530 */
121
8
,
1340
,
373
,
445
,
1338
,
842
,
276
,
1120
,
32
,
31
,
/* 540 */
2
9
,
27
,
26
,
448
,
115
,
404
,
1120
,
1465
,
9
,
8
,
/* 550 */
1558
,
366
,
1340
,
1051
,
93
,
92
,
91
,
90
,
89
,
88
,
/* 560 */
87
,
86
,
85
,
22
5
,
1495
,
1496
,
1500
,
1314
,
1553
,
1122
,
/* 570 */
105
4
,
1074
,
1075
,
1101
,
1102
,
1103
,
1104
,
1105
,
1106
,
1107
,
/* 580 */
110
8
,
387
,
1164
,
279
,
462
,
1121
,
1385
,
1126
,
1072
,
462
,
/* 590 */
11
6
,
115
,
278
,
208
,
1121
,
222
,
395
,
1383
,
280
,
134
0
,
/* 600 */
1238
,
1089
,
868
,
1125
,
1237
,
6
,
1236
,
220
,
1270
,
1338
,
/* 610 */
16
6
,
22
,
1125
,
390
,
1338
,
1385
,
497
,
500
,
384
,
1310
,
/* 620 */
14
2
,
869
,
1133
,
1494
,
165
,
1235
,
1384
,
24
,
264
,
1115
,
/* 630 */
111
6
,
1117
,
1118
,
1119
,
1123
,
1124
,
24
,
264
,
1115
,
1116
,
/* 640 */
111
7
,
1118
,
1119
,
1123
,
1124
,
1465
,
1077
,
1511
,
1156
,
1465
,
/* 650 */
42
,
146
5
,
1234
,
41
,
445
,
32
,
31
,
29
,
27
,
26
,
/* 660 */
38
2
,
1233
,
376
,
106
,
448
,
1321
,
381
,
408
,
1465
,
97
,
/* 670 */
146
5
,
377
,
375
,
433
,
378
,
512
,
510
,
1494
,
1232
,
1229
,
/* 680 */
122
8
,
1227
,
436
,
67
,
68
,
1495
,
1496
,
1500
,
1544
,
1226
,
/* 690 */
27
3
,
272
,
240
,
1540
,
394
,
9
,
8
,
1465
,
1225
,
1224
,
/* 700 */
10
63
,
1511
,
1563
,
1152
,
1605
,
1223
,
1465
,
392
,
432
,
1222
,
/* 710 */
48
,
47
,
30
9
,
1221
,
136
,
297
,
1056
,
131
,
448
,
303
,
/* 720 */
437
,
1603
,
1465
,
1465
,
1465
,
1465
,
1465
,
246
,
1494
,
295
,
/* 730 */
299
,
291
,
287
,
133
,
1465
,
1055
,
440
,
444
,
69
,
1495
,
/* 740 */
149
6
,
1500
,
1544
,
1465
,
1465
,
1152
,
259
,
1540
,
126
,
16
9
,
/* 750 */
146
5
,
546
,
1511
,
44
,
1465
,
1231
,
132
,
1178
,
1465
,
432
,
/* 760 */
1
90
,
159
,
446
,
175
,
158
,
213
,
412
,
1571
,
95
,
448
,
/* 770 */
64
,
1494
,
1257
,
1465
,
535
,
463
,
531
,
527
,
523
,
212
,
/* 780 */
61
,
161
,
163
,
1494
,
160
,
162
,
487
,
1059
,
1252
,
69
,
/* 790 */
149
5
,
1496
,
1500
,
1544
,
383
,
1511
,
1494
,
259
,
1540
,
126
,
/* 800 */
1250
,
1297
,
445
,
1213
,
1214
,
66
,
417
,
1511
,
206
,
191
,
/* 810 */
38
5
,
342
,
448
,
178
,
445
,
33
,
1465
,
180
,
1572
,
1127
,
/* 820 */
15
11
,
403
,
388
,
1064
,
448
,
1379
,
33
,
445
,
1465
,
1155
,
/* 830 */
1
085
,
1494
,
231
,
1495
,
1496
,
1500
,
184
,
448
,
458
,
1058
,
/* 840 */
106
7
,
1465
,
365
,
1494
,
69
,
1495
,
1496
,
1500
,
1544
,
1112
,
/* 850 */
1574
,
438
,
259
,
1540
,
1617
,
1511
,
1512
,
70
,
1495
,
1496
,
/* 860 */
1
500
,
1544
,
445
,
1578
,
430
,
411
,
1541
,
1511
,
171
,
441
,
/* 870 */
1057
,
193
,
448
,
1070
,
445
,
2
,
1465
,
33
,
284
,
435
,
/* 880 */
245
,
1017
,
197
,
1034
,
448
,
168
,
199
,
94
,
1465
,
894
,
/* 890 */
247
,
454
,
69
,
1495
,
1496
,
1500
,
1544
,
1026
,
214
,
288
,
/* 900 */
25
9
,
1540
,
1617
,
1494
,
69
,
1495
,
1496
,
1500
,
1544
,
138
,
/* 910 */
1061
,
1601
,
259
,
1540
,
1617
,
104
,
321
,
152
,
429
,
205
,
/* 920 */
12
5
,
106
,
1417
,
1562
,
327
,
925
,
364
,
1511
,
360
,
356
,
/* 930 */
35
2
,
151
,
44
,
467
,
445
,
335
,
920
,
953
,
104
,
1494
,
/* 940 */
340
,
1060
,
957
,
100
,
448
,
334
,
336
,
1081
,
1465
,
341
,
/* 950 */
14
94
,
1080
,
32
,
31
,
29
,
27
,
26
,
53
,
344
,
144
,
/* 960 */
14
9
,
1079
,
433
,
1511
,
70
,
1495
,
1496
,
1500
,
1544
,
343
,
/* 970 */
44
5
,
345
,
443
,
1540
,
1511
,
105
,
98
,
147
,
51
,
963
,
/* 980 */
44
8
,
445
,
348
,
429
,
1465
,
106
,
187
,
1551
,
428
,
962
,
/* 990 */
42
7
,
448
,
104
,
1605
,
150
,
1465
,
107
,
1078
,
413
,
367
,
/* 1000 */
23
2
,
1495
,
1496
,
1500
,
1494
,
369
,
131
,
1328
,
100
,
1494
,
/* 1010 */
1
603
,
233
,
1495
,
1496
,
1500
,
154
,
148
,
1324
,
121
,
156
,
/* 1020 */
14
5
,
74
,
372
,
397
,
109
,
110
,
1326
,
1322
,
1511
,
111
,
/* 1030 */
112
,
255
,
425
,
1511
,
398
,
445
,
407
,
143
,
1494
,
399
,
/* 1040 */
44
5
,
98
,
400
,
1077
,
170
,
448
,
173
,
418
,
409
,
1465
,
/* 1050 */
44
8
,
129
,
1551
,
1552
,
1465
,
1556
,
1575
,
263
,
1585
,
452
,
/* 1060 */
41
0
,
1055
,
1511
,
1584
,
1494
,
119
,
1495
,
1496
,
1500
,
445
,
/* 1070 */
23
3
,
1495
,
1496
,
1500
,
176
,
415
,
5
,
179
,
1211
,
448
,
/* 1080 */
258
,
421
,
1565
,
1465
,
426
,
414
,
267
,
99
,
1511
,
4
,
/* 1090 */
1076
,
1152
,
1559
,
124
,
183
,
445
,
34
,
185
,
260
,
233
,
/* 1100 */
149
5
,
1496
,
1500
,
442
,
1619
,
448
,
1494
,
439
,
17
,
1465
,
/* 1110 */
456
,
1494
,
186
,
1526
,
1426
,
450
,
192
,
1494
,
455
,
1602
,
/* 1120 */
45
1
,
1620
,
1425
,
201
,
268
,
234
,
1495
,
1496
,
1500
,
215
,
/* 1130 */
15
11
,
457
,
203
,
58
,
1339
,
1511
,
60
,
445
,
217
,
465
,
/* 1140 */
494
,
1511
,
445
,
1311
,
211
,
1210
,
542
,
448
,
445
,
1315
,
/* 1150 */
40
,
1465
,
448
,
223
,
224
,
219
,
1465
,
1459
,
448
,
1494
,
/* 1160 */
221
,
1458
,
1465
,
283
,
1455
,
285
,
286
,
226
,
1495
,
1496
,
/* 1170 */
1
500
,
1494
,
235
,
1495
,
1496
,
1500
,
1044
,
1045
,
227
,
1495
,
/* 1180 */
149
6
,
1500
,
134
,
1511
,
1494
,
290
,
1453
,
1452
,
292
,
293
,
/* 1190 */
44
5
,
294
,
296
,
1451
,
298
,
1511
,
1442
,
135
,
301
,
302
,
/* 1200 */
44
8
,
1313
,
445
,
1029
,
1465
,
1028
,
1436
,
1435
,
1511
,
308
,
/* 1210 */
20
9
,
307
,
448
,
1494
,
493
,
445
,
1465
,
1434
,
1433
,
1000
,
/* 1220 */
23
6
,
1495
,
1496
,
1500
,
1410
,
448
,
1409
,
1408
,
1407
,
1465
,
/* 1230 */
1
406
,
1405
,
1508
,
1495
,
1496
,
1500
,
495
,
1511
,
1404
,
1494
,
/* 1240 */
1
403
,
1402
,
1401
,
1400
,
445
,
1507
,
1495
,
1496
,
1500
,
1399
,
/* 1250 */
13
98
,
1397
,
1396
,
1395
,
448
,
492
,
491
,
490
,
1465
,
489
,
/* 1260 */
103
,
1394
,
209
,
1511
,
1393
,
1494
,
493
,
1392
,
1391
,
1390
,
/* 1270 */
44
5
,
1389
,
1388
,
1494
,
243
,
1495
,
1496
,
1500
,
1002
,
1387
,
/* 1280 */
44
8
,
1386
,
1269
,
1450
,
1465
,
1444
,
1432
,
1423
,
495
,
1511
,
/* 1290 */
146
,
1317
,
1268
,
1266
,
350
,
861
,
445
,
1511
,
349
,
1494
,
/* 1300 */
1506
,
1495
,
1496
,
1500
,
445
,
351
,
448
,
492
,
491
,
490
,
/* 1310 */
146
5
,
489
,
1264
,
353
,
448
,
1262
,
354
,
355
,
1465
,
359
,
/* 1320 */
12
60
,
363
,
357
,
1511
,
358
,
362
,
244
,
1495
,
1496
,
1500
,
/* 1330 */
44
5
,
1249
,
361
,
1248
,
242
,
1495
,
1496
,
1500
,
1245
,
1319
,
/* 1340 */
44
8
,
1494
,
73
,
970
,
1465
,
968
,
153
,
1318
,
511
,
893
,
/* 1350 */
1258
,
892
,
891
,
1253
,
890
,
887
,
886
,
252
,
253
,
1251
,
/* 1360 */
239
,
149
5
,
1496
,
1500
,
386
,
1511
,
509
,
254
,
389
,
1244
,
/* 1370 */
391
,
1243
,
445
,
393
,
71
,
1449
,
43
,
167
,
1036
,
1443
,
/* 1380 */
401
,
1431
,
448
,
113
,
1430
,
402
,
1465
,
1422
,
123
,
172
,
/* 1390 */
14
,
15
,
37
,
54
,
1483
,
174
,
177
,
3
,
33
,
38
,
/* 1400 */
182
,
35
,
230
,
1495
,
1496
,
1500
,
56
,
1177
,
120
,
1
0
,
/* 1410 */
188
,
181
,
1199
,
8
,
20
,
19
,
1198
,
1170
,
55
,
1113
,
/* 1420 */
261
,
1203
,
1421
,
1202
,
1149
,
453
,
36
,
1148
,
262
,
202
,
/* 1430 */
204
,
16
,
1204
,
466
,
1065
,
275
,
470
,
1087
,
1086
,
13
,
/* 1440 */
18
,
198
,
130
,
196
,
473
,
1175
,
200
,
195
,
61
,
931
,
/* 1450 */
45
,
57
,
476
,
479
,
965
,
959
,
875
,
540
,
961
,
1482
,
/* 1460 */
541
,
544
,
39
,
882
,
881
,
468
,
207
,
954
,
951
,
948
,
/* 1470 */
47
1
,
1265
,
859
,
474
,
464
,
942
,
940
,
477
,
480
,
49
6
,
/* 1480 */
9
00
,
880
,
879
,
878
,
877
,
876
,
895
,
62
,
897
,
87
2
,
/* 1490 */
8
71
,
870
,
46
,
63
,
867
,
866
,
498
,
486
,
865
,
210
,
/* 1500 */
1263
,
864
,
520
,
521
,
946
,
525
,
945
,
944
,
943
,
52
2
,
/* 1510 */
5
24
,
526
,
1261
,
528
,
529
,
1259
,
530
,
532
,
533
,
534
,
/* 1520 */
12
47
,
536
,
537
,
1246
,
1242
,
1052
,
964
,
218
,
545
,
};
static
const
YYCODETYPE
yy_lookahead
[]
=
{
/* 0 */
276
,
277
,
255
,
235
,
238
,
251
,
210
,
216
,
254
,
216
,
...
...
@@ -404,121 +405,121 @@ static const YYCODETYPE yy_lookahead[] = {
/* 350 */
18
,
184
,
20
,
273
,
109
,
216
,
241
,
233
,
49
,
27
,
/* 360 */
216
,
269
,
30
,
255
,
225
,
20
,
251
,
216
,
244
,
225
,
/* 370 */
255
,
39
,
234
,
258
,
210
,
49
,
145
,
137
,
240
,
287
,
/* 380 */
241
,
309
,
310
,
245
,
0
,
241
,
271
,
272
,
273
,
274
,
/* 380 */
241
,
309
,
310
,
245
,
215
,
241
,
271
,
272
,
273
,
274
,
/* 390 */
145
,
57
,
241
,
162
,
163
,
164
,
165
,
166
,
167
,
168
,
/* 400 */
169
,
170
,
171
,
172
,
14
,
15
,
16
,
162
,
163
,
164
,
/* 400 */
169
,
170
,
171
,
172
,
20
,
236
,
22
,
162
,
163
,
164
,
/* 410 */
165
,
166
,
167
,
168
,
169
,
170
,
171
,
172
,
216
,
255
,
/* 420 */
12
,
13
,
3
,
234
,
226
,
274
,
210
,
225
,
20
,
240
,
/* 430 */
22
,
0
,
234
,
49
,
245
,
284
,
285
,
286
,
241
,
288
,
/* 440 */
242
,
213
,
214
,
241
,
112
,
248
,
38
,
115
,
116
,
117
,
/* 450 */
118
,
119
,
215
,
121
,
122
,
123
,
124
,
125
,
126
,
127
,
/* 460 */
128
,
129
,
130
,
216
,
4
,
57
,
12
,
13
,
14
,
15
,
/* 470 */
16
,
255
,
225
,
2
36
,
235
,
12
,
13
,
14
,
15
,
16
,
/* 420 */
12
,
13
,
234
,
234
,
40
,
274
,
210
,
225
,
20
,
240
,
/* 430 */
22
,
0
,
137
,
245
,
245
,
284
,
285
,
286
,
241
,
288
,
/* 440 */
14
,
15
,
16
,
241
,
112
,
248
,
38
,
115
,
116
,
117
,
/* 450 */
118
,
119
,
74
,
121
,
122
,
123
,
124
,
125
,
126
,
127
,
/* 460 */
128
,
129
,
130
,
216
,
86
,
57
,
12
,
13
,
14
,
15
,
/* 470 */
16
,
255
,
225
,
2
13
,
214
,
12
,
13
,
14
,
15
,
16
,
/* 480 */
35
,
235
,
74
,
52
,
53
,
54
,
55
,
56
,
241
,
58
,
/* 490 */
59
,
60
,
61
,
62
,
63
,
64
,
65
,
66
,
67
,
68
,
/* 500 */
69
,
70
,
210
,
216
,
50
,
97
,
61
,
71
,
234
,
216
,
/* 510 */
65
,
75
,
225
,
50
,
251
,
226
,
242
,
109
,
225
,
232
,
/* 520 */
257
,
235
,
77
,
234
,
79
,
80
,
234
,
82
,
241
,
75
,
/* 530 */
0
,
242
,
87
,
241
,
241
,
2
0
,
226
,
83
,
12
,
13
,
/* 540 */
14
,
15
,
16
,
251
,
234
,
2
23
,
83
,
255
,
20
,
131
,
/* 550 */
22
,
269
,
242
,
145
,
24
,
25
,
26
,
27
,
28
,
29
,
/* 560 */
30
,
31
,
32
,
271
,
272
,
273
,
274
,
149
,
40
,
287
,
/* 530 */
0
,
242
,
87
,
241
,
241
,
2
2
,
226
,
83
,
12
,
13
,
/* 540 */
14
,
15
,
16
,
251
,
234
,
2
63
,
83
,
255
,
1
,
2
,
/* 550 */
269
,
38
,
242
,
145
,
24
,
25
,
26
,
27
,
28
,
29
,
/* 560 */
30
,
31
,
32
,
271
,
272
,
273
,
274
,
0
,
287
,
131
,
/* 570 */
162
,
163
,
164
,
165
,
166
,
167
,
168
,
169
,
170
,
171
,
/* 580 */
172
,
4
,
1
,
2
,
216
,
131
,
234
,
220
,
221
,
216
,
/* 590 */
18
,
173
,
240
,
225
,
131
,
23
,
19
,
245
,
225
,
74
,
/* 600 */
2
22
,
75
,
224
,
149
,
210
,
22
,
210
,
35
,
0
,
241
,
/* 610 */
33
,
86
,
149
,
36
,
241
,
234
,
210
,
43
,
41
,
200
,
/* 620 */
48
,
38
,
210
,
210
,
47
,
210
,
245
,
173
,
174
,
175
,
/* 580 */
172
,
4
,
14
,
226
,
216
,
131
,
234
,
149
,
20
,
216
,
/* 590 */
18
,
234
,
240
,
225
,
131
,
23
,
19
,
245
,
225
,
242
,
/* 600 */
2
10
,
75
,
38
,
149
,
210
,
43
,
210
,
35
,
0
,
241
,
/* 610 */
33
,
173
,
149
,
36
,
241
,
234
,
49
,
222
,
41
,
224
,
/* 620 */
48
,
57
,
75
,
210
,
47
,
210
,
245
,
173
,
174
,
175
,
/* 630 */
176
,
177
,
178
,
179
,
180
,
181
,
173
,
174
,
175
,
176
,
/* 640 */
177
,
178
,
179
,
180
,
181
,
185
,
235
,
234
,
23
4
,
255
,
/* 650 */
73
,
255
,
137
,
76
,
241
,
71
,
75
,
210
,
210
,
245
,
/* 660 */
52
,
2
55
,
54
,
235
,
251
,
38
,
58
,
25
5
,
255
,
61
,
/* 670 */
255
,
63
,
64
,
260
,
66
,
182
,
183
,
210
,
210
,
210
,
/* 680 */
210
,
210
,
141
,
111
,
271
,
272
,
273
,
274
,
275
,
210
,
/* 690 */
12
,
13
,
279
,
280
,
21
,
1
,
2
,
156
,
210
,
210
,
/* 700 */
22
,
234
,
255
,
255
,
291
,
210
,
71
,
34
,
241
,
210
,
/* 710 */
138
,
139
,
140
,
2
63
,
142
,
0
,
38
,
304
,
251
,
147
,
/* 720 */
21
1
,
308
,
255
,
255
,
255
,
255
,
255
,
155
,
210
,
157
,
/* 730 */
38
,
159
,
160
,
161
,
255
,
57
,
109
,
22
,
271
,
272
,
/* 740 */
273
,
274
,
275
,
255
,
255
,
38
,
279
,
280
,
281
,
14
,
/* 750 */
255
,
19
,
234
,
311
,
255
,
20
,
184
,
183
,
78
,
241
,
/* 760 */
293
,
81
,
163
,
164
,
57
,
33
,
299
,
300
,
36
,
251
,
/* 770 */
50
,
210
,
0
,
255
,
42
,
97
,
44
,
45
,
46
,
47
,
/* 780 */
302
,
78
,
78
,
210
,
81
,
81
,
202
,
109
,
0
,
271
,
/* 640 */
177
,
178
,
179
,
180
,
181
,
255
,
20
,
234
,
4
,
255
,
/* 650 */
73
,
255
,
210
,
76
,
241
,
12
,
13
,
14
,
15
,
16
,
/* 660 */
52
,
2
10
,
54
,
71
,
251
,
235
,
58
,
7
5
,
255
,
61
,
/* 670 */
255
,
63
,
64
,
260
,
66
,
220
,
221
,
210
,
210
,
210
,
/* 680 */
210
,
210
,
3
,
111
,
271
,
272
,
273
,
274
,
275
,
210
,
/* 690 */
12
,
13
,
279
,
280
,
21
,
1
,
2
,
255
,
210
,
210
,
/* 700 */
22
,
234
,
182
,
183
,
291
,
210
,
255
,
34
,
241
,
210
,
/* 710 */
138
,
139
,
140
,
2
10
,
142
,
141
,
38
,
304
,
251
,
147
,
/* 720 */
7
1
,
308
,
255
,
255
,
255
,
255
,
255
,
155
,
210
,
157
,
/* 730 */
156
,
159
,
160
,
161
,
255
,
57
,
71
,
50
,
271
,
272
,
/* 740 */
273
,
274
,
275
,
255
,
255
,
183
,
279
,
280
,
281
,
235
,
/* 750 */
255
,
19
,
234
,
71
,
255
,
211
,
184
,
75
,
255
,
241
,
/* 760 */
293
,
78
,
235
,
137
,
81
,
33
,
299
,
300
,
36
,
251
,
/* 770 */
74
,
210
,
0
,
255
,
42
,
97
,
44
,
45
,
46
,
47
,
/* 780 */
84
,
78
,
78
,
210
,
81
,
81
,
235
,
109
,
0
,
271
,
/* 790 */
272
,
273
,
274
,
275
,
22
,
234
,
210
,
279
,
280
,
281
,
/* 800 */
251
,
109
,
241
,
244
,
251
,
73
,
296
,
234
,
76
,
7
1
,
/* 810 */
22
,
2
13
,
251
,
75
,
241
,
71
,
255
,
270
,
300
,
75
,
/* 820 */
234
,
71
,
71
,
145
,
251
,
75
,
75
,
241
,
255
,
289
,
/* 830 */
234
,
210
,
271
,
272
,
273
,
274
,
305
,
251
,
106
,
204
,
/* 840 */
162
,
255
,
2
92
,
210
,
271
,
272
,
273
,
274
,
275
,
20
,
/* 850 */
2
16
,
266
,
279
,
280
,
281
,
234
,
36
,
271
,
272
,
273
,
/* 860 */
274
,
275
,
241
,
290
,
38
,
133
,
280
,
234
,
136
,
71
,
/* 870 */
74
,
71
,
251
,
75
,
241
,
75
,
255
,
71
,
220
,
143
,
/* 880 */
84
,
75
,
162
,
151
,
251
,
153
,
71
,
71
,
255
,
261
,
/* 890 */
75
,
75
,
271
,
272
,
273
,
274
,
275
,
216
,
216
,
120
,
/* 900 */
279
,
280
,
281
,
210
,
271
,
272
,
273
,
274
,
275
,
249
,
/* 910 */
247
,
290
,
279
,
280
,
281
,
71
,
131
,
33
,
216
,
75
,
/* 920 */
36
,
247
,
216
,
290
,
265
,
20
,
42
,
234
,
44
,
45
,
/* 930 */
46
,
47
,
71
,
71
,
241
,
20
,
75
,
75
,
71
,
210
,
/* 940 */
21
8
,
71
,
75
,
241
,
251
,
75
,
259
,
71
,
255
,
241
,
/* 950 */
210
,
75
,
12
,
13
,
14
,
15
,
16
,
73
,
20
,
218
,
/* 960 */
76
,
252
,
260
,
234
,
271
,
272
,
273
,
274
,
275
,
212
,
/* 970 */
241
,
2
18
,
279
,
280
,
234
,
71
,
274
,
216
,
218
,
75
,
/* 980 */
251
,
241
,
20
,
216
,
255
,
216
,
284
,
285
,
286
,
234
,
/* 990 */
288
,
251
,
234
,
291
,
220
,
255
,
234
,
234
,
258
,
234
,
/* 800 */
0
,
223
,
241
,
163
,
164
,
73
,
302
,
234
,
76
,
31
1
,
/* 810 */
22
,
2
51
,
251
,
71
,
241
,
71
,
255
,
75
,
300
,
75
,
/* 820 */
234
,
251
,
22
,
145
,
251
,
244
,
71
,
241
,
255
,
185
,
/* 830 */
75
,
210
,
271
,
272
,
273
,
274
,
296
,
251
,
106
,
38
,
/* 840 */
162
,
255
,
2
13
,
210
,
271
,
272
,
273
,
274
,
275
,
162
,
/* 850 */
2
70
,
202
,
279
,
280
,
281
,
234
,
234
,
271
,
272
,
273
,
/* 860 */
274
,
275
,
241
,
290
,
289
,
133
,
280
,
234
,
136
,
204
,
/* 870 */
38
,
305
,
251
,
20
,
241
,
292
,
255
,
71
,
216
,
200
,
/* 880 */
266
,
75
,
71
,
151
,
251
,
153
,
75
,
71
,
255
,
38
,
/* 890 */
220
,
75
,
271
,
272
,
273
,
274
,
275
,
143
,
261
,
36
,
/* 900 */
279
,
280
,
281
,
210
,
271
,
272
,
273
,
274
,
275
,
120
,
/* 910 */
109
,
290
,
279
,
280
,
281
,
71
,
216
,
33
,
216
,
75
,
/* 920 */
36
,
71
,
216
,
290
,
249
,
75
,
42
,
234
,
44
,
45
,
/* 930 */
46
,
47
,
71
,
71
,
241
,
131
,
75
,
75
,
71
,
210
,
/* 940 */
21
6
,
109
,
75
,
241
,
251
,
247
,
247
,
20
,
255
,
265
,
/* 950 */
210
,
20
,
12
,
13
,
14
,
15
,
16
,
73
,
241
,
218
,
/* 960 */
76
,
20
,
260
,
234
,
271
,
272
,
273
,
274
,
275
,
259
,
/* 970 */
241
,
2
52
,
279
,
280
,
234
,
71
,
274
,
218
,
218
,
75
,
/* 980 */
251
,
241
,
216
,
216
,
255
,
71
,
284
,
285
,
286
,
75
,
/* 990 */
288
,
251
,
71
,
291
,
218
,
255
,
75
,
20
,
258
,
212
,
/* 1000 */
271
,
272
,
273
,
274
,
210
,
234
,
304
,
234
,
241
,
210
,
/* 1010 */
308
,
271
,
272
,
273
,
274
,
234
,
132
,
234
,
134
,
2
12
,
/* 1020 */
136
,
2
34
,
252
,
234
,
265
,
241
,
152
,
259
,
234
,
215
,
/* 1030 */
2
64
,
241
,
303
,
234
,
215
,
241
,
20
,
153
,
210
,
19
2
,
/* 1040 */
241
,
274
,
191
,
301
,
57
,
251
,
270
,
256
,
255
,
255
,
/* 1050 */
251
,
284
,
285
,
286
,
255
,
288
,
2
55
,
258
,
256
,
255
,
/* 1060 */
187
,
198
,
234
,
199
,
210
,
271
,
272
,
273
,
274
,
241
,
/* 1070 */
271
,
272
,
273
,
274
,
186
,
298
,
301
,
297
,
138
,
251
,
/* 1080 */
183
,
295
,
241
,
255
,
20
,
120
,
258
,
269
,
234
,
294
,
/* 1090 */
282
,
206
,
203
,
201
,
312
,
241
,
74
,
255
,
3
06
,
271
,
/* 1100 */
272
,
273
,
274
,
2
78
,
310
,
251
,
210
,
134
,
256
,
255
,
/* 1110 */
307
,
210
,
255
,
241
,
256
,
255
,
230
,
210
,
253
,
241
,
/* 1120 */
25
2
,
215
,
74
,
215
,
237
,
271
,
272
,
273
,
274
,
22
0
,
/* 1130 */
234
,
2
12
,
216
,
215
,
224
,
234
,
208
,
241
,
217
,
262
,
/* 1140 */
22
8
,
234
,
241
,
0
,
0
,
205
,
64
,
251
,
241
,
0
,
/* 1150 */
2
28
,
255
,
251
,
0
,
38
,
158
,
255
,
38
,
251
,
210
,
/* 1160 */
38
,
38
,
255
,
158
,
0
,
38
,
3
8
,
271
,
272
,
273
,
/* 1170 */
274
,
210
,
271
,
272
,
273
,
274
,
158
,
0
,
271
,
272
,
/* 1180 */
273
,
274
,
0
,
234
,
210
,
38
,
38
,
0
,
74
,
149
,
/* 1190 */
241
,
1
48
,
109
,
0
,
145
,
234
,
0
,
141
,
53
,
0
,
/* 1200 */
251
,
0
,
241
,
0
,
255
,
0
,
86
,
0
,
234
,
0
,
/* 1210 */
61
,
0
,
251
,
210
,
65
,
241
,
255
,
0
,
0
,
0
,
/* 1010 */
308
,
271
,
272
,
273
,
274
,
234
,
132
,
234
,
134
,
2
34
,
/* 1020 */
136
,
2
16
,
220
,
241
,
234
,
234
,
234
,
234
,
234
,
234
,
/* 1030 */
2
34
,
212
,
303
,
234
,
265
,
241
,
259
,
153
,
210
,
15
2
,
/* 1040 */
241
,
274
,
264
,
20
,
215
,
251
,
215
,
192
,
241
,
255
,
/* 1050 */
251
,
284
,
285
,
286
,
255
,
288
,
2
70
,
258
,
301
,
191
,
/* 1060 */
252
,
57
,
234
,
301
,
210
,
271
,
272
,
273
,
274
,
241
,
/* 1070 */
271
,
272
,
273
,
274
,
256
,
255
,
199
,
256
,
138
,
251
,
/* 1080 */
255
,
255
,
298
,
255
,
198
,
187
,
258
,
241
,
234
,
186
,
/* 1090 */
20
,
183
,
269
,
295
,
297
,
241
,
120
,
294
,
2
06
,
271
,
/* 1100 */
272
,
273
,
274
,
2
03
,
310
,
251
,
210
,
201
,
74
,
255
,
/* 1110 */
253
,
210
,
282
,
278
,
256
,
255
,
306
,
210
,
134
,
307
,
/* 1120 */
25
5
,
312
,
256
,
241
,
255
,
271
,
272
,
273
,
274
,
23
0
,
/* 1130 */
234
,
2
52
,
215
,
215
,
241
,
234
,
74
,
241
,
216
,
237
,
/* 1140 */
22
0
,
234
,
241
,
224
,
215
,
205
,
212
,
251
,
241
,
0
,
/* 1150 */
2
62
,
255
,
251
,
228
,
228
,
217
,
255
,
0
,
251
,
210
,
/* 1160 */
208
,
0
,
255
,
64
,
0
,
38
,
15
8
,
271
,
272
,
273
,
/* 1170 */
274
,
210
,
271
,
272
,
273
,
274
,
38
,
38
,
271
,
272
,
/* 1180 */
273
,
274
,
38
,
234
,
210
,
158
,
0
,
0
,
38
,
38
,
/* 1190 */
241
,
1
58
,
38
,
0
,
38
,
234
,
0
,
74
,
149
,
148
,
/* 1200 */
251
,
0
,
241
,
109
,
255
,
145
,
0
,
0
,
234
,
141
,
/* 1210 */
61
,
53
,
251
,
210
,
65
,
241
,
255
,
0
,
0
,
86
,
/* 1220 */
271
,
272
,
273
,
274
,
0
,
251
,
0
,
0
,
0
,
255
,
/* 1230 */
0
,
0
,
271
,
272
,
273
,
274
,
87
,
234
,
0
,
210
,
/* 1240 */
0
,
12
0
,
0
,
0
,
241
,
271
,
272
,
273
,
274
,
0
,
/* 1240 */
0
,
0
,
0
,
0
,
241
,
271
,
272
,
273
,
274
,
0
,
/* 1250 */
0
,
0
,
0
,
0
,
251
,
106
,
107
,
108
,
255
,
110
,
/* 1260 */
0
,
22
,
61
,
234
,
0
,
210
,
65
,
0
,
0
,
0
,
/* 1270 */
241
,
0
,
0
,
210
,
271
,
272
,
273
,
274
,
0
,
43
,
/* 1280 */
251
,
0
,
0
,
51
,
255
,
0
,
38
,
43
,
87
,
234
,
/* 1290 */
36
,
0
,
36
,
38
,
0
,
38
,
241
,
234
,
0
,
210
,
/* 1260 */
120
,
0
,
61
,
234
,
0
,
210
,
65
,
0
,
0
,
0
,
/* 1270 */
241
,
0
,
0
,
210
,
271
,
272
,
273
,
274
,
22
,
0
,
/* 1280 */
251
,
0
,
0
,
0
,
255
,
0
,
0
,
0
,
87
,
234
,
/* 1290 */
43
,
0
,
0
,
0
,
36
,
51
,
241
,
234
,
38
,
210
,
/* 1300 */
271
,
272
,
273
,
274
,
241
,
43
,
251
,
106
,
107
,
108
,
/* 1310 */
255
,
110
,
36
,
43
,
251
,
38
,
36
,
43
,
255
,
0
,
/* 1320 */
0
,
0
,
0
,
234
,
83
,
38
,
271
,
272
,
273
,
274
,
/* 1330 */
241
,
22
,
71
,
0
,
271
,
272
,
273
,
274
,
38
,
81
,
/* 1340 */
251
,
210
,
38
,
38
,
255
,
38
,
71
,
0
,
38
,
38
,
/* 1350 */
22
,
0
,
22
,
39
,
0
,
38
,
22
,
0
,
22
,
0
,
/* 1360 */
271
,
272
,
273
,
274
,
22
,
234
,
20
,
0
,
154
,
38
,
/* 1370 */
137
,
0
,
241
,
150
,
22
,
0
,
0
,
0
,
43
,
134
,
/* 1380 */
74
,
86
,
251
,
137
,
137
,
188
,
255
,
71
,
75
,
71
,
/* 1390 */
75
,
132
,
188
,
4
,
71
,
182
,
188
,
2
,
74
,
74
,
/* 1400 */
7
4
,
74
,
271
,
272
,
273
,
274
,
38
,
75
,
71
,
71
,
/* 1410 */
38
,
38
,
38
,
0
,
75
,
75
,
71
,
38
,
38
,
75
,
/* 1420 */
71
,
135
,
132
,
22
,
74
,
162
,
43
,
86
,
75
,
86
,
/* 1430 */
74
,
38
,
38
,
75
,
86
,
75
,
74
,
74
,
74
,
74
,
/* 1440 */
38
,
86
,
38
,
74
,
38
,
84
,
38
,
22
,
38
,
38
,
/* 1450 */
22
,
22
,
86
,
75
,
0
,
85
,
74
,
38
,
38
,
75
,
/* 1460 */
74
,
38
,
75
,
75
,
74
,
74
,
51
,
75
,
50
,
57
,
/* 1470 */
74
,
38
,
38
,
38
,
74
,
38
,
38
,
38
,
57
,
74
,
/* 1480 */
99
,
74
,
38
,
38
,
99
,
71
,
87
,
38
,
72
,
38
,
/* 1490 */
38
,
38
,
36
,
38
,
0
,
36
,
99
,
99
,
38
,
0
,
/* 1500 */
43
,
43
,
38
,
36
,
43
,
0
,
38
,
36
,
43
,
0
,
/* 1510 */
38
,
37
,
109
,
0
,
0
,
22
,
21
,
313
,
22
,
22
,
/* 1520 */
313
,
21
,
20
,
313
,
313
,
313
,
313
,
313
,
313
,
313
,
/* 1310 */
255
,
110
,
0
,
38
,
251
,
0
,
36
,
43
,
255
,
43
,
/* 1320 */
0
,
43
,
38
,
234
,
36
,
36
,
271
,
272
,
273
,
274
,
/* 1330 */
241
,
0
,
38
,
0
,
271
,
272
,
273
,
274
,
0
,
0
,
/* 1340 */
251
,
210
,
83
,
38
,
255
,
22
,
81
,
0
,
71
,
38
,
/* 1350 */
0
,
38
,
38
,
0
,
38
,
38
,
38
,
22
,
22
,
0
,
/* 1360 */
271
,
272
,
273
,
274
,
39
,
234
,
71
,
22
,
38
,
0
,
/* 1370 */
22
,
0
,
241
,
22
,
20
,
0
,
137
,
154
,
38
,
0
,
/* 1380 */
22
,
0
,
251
,
150
,
0
,
137
,
255
,
0
,
134
,
43
,
/* 1390 */
188
,
188
,
137
,
74
,
86
,
132
,
75
,
71
,
71
,
71
,
/* 1400 */
7
1
,
182
,
271
,
272
,
273
,
274
,
4
,
75
,
74
,
188
,
/* 1410 */
86
,
74
,
38
,
2
,
71
,
74
,
38
,
75
,
74
,
162
,
/* 1420 */
38
,
38
,
0
,
38
,
75
,
135
,
71
,
75
,
38
,
43
,
/* 1430 */
132
,
71
,
75
,
38
,
22
,
38
,
38
,
75
,
75
,
74
,
/* 1440 */
74
,
74
,
86
,
75
,
38
,
75
,
74
,
86
,
84
,
22
,
/* 1450 */
74
,
74
,
38
,
38
,
38
,
22
,
22
,
22
,
38
,
86
,
/* 1460 */
21
,
21
,
74
,
38
,
38
,
74
,
86
,
75
,
75
,
75
,
/* 1470 */
74
,
0
,
51
,
74
,
85
,
75
,
75
,
74
,
74
,
50
,
/* 1480 */
57
,
38
,
38
,
38
,
38
,
38
,
38
,
74
,
57
,
38
,
/* 1490 */
38
,
38
,
74
,
74
,
38
,
38
,
72
,
87
,
38
,
71
,
/* 1500 */
0
,
38
,
38
,
36
,
99
,
36
,
99
,
99
,
99
,
43
,
/* 1510 */
38
,
43
,
0
,
38
,
36
,
0
,
43
,
38
,
36
,
43
,
/* 1520 */
0
,
38
,
37
,
0
,
0
,
22
,
109
,
22
,
20
,
313
,
/* 1530 */
313
,
313
,
313
,
313
,
313
,
313
,
313
,
313
,
313
,
313
,
/* 1540 */
313
,
313
,
313
,
313
,
313
,
313
,
313
,
313
,
313
,
313
,
/* 1550 */
313
,
313
,
313
,
313
,
313
,
313
,
313
,
313
,
313
,
313
,
...
...
@@ -539,10 +540,11 @@ static const YYCODETYPE yy_lookahead[] = {
/* 1700 */
313
,
313
,
313
,
313
,
313
,
313
,
313
,
313
,
313
,
313
,
/* 1710 */
313
,
313
,
313
,
313
,
313
,
313
,
313
,
313
,
313
,
313
,
/* 1720 */
313
,
313
,
313
,
313
,
313
,
313
,
313
,
313
,
313
,
313
,
/* 1730 */
313
,
313
,
313
,
313
,
313
,
313
,
};
#define YY_SHIFT_COUNT (54
3
)
#define YY_SHIFT_COUNT (54
6
)
#define YY_SHIFT_MIN (0)
#define YY_SHIFT_MAX (15
1
4)
#define YY_SHIFT_MAX (15
2
4)
static
const
unsigned
short
int
yy_shift_ofst
[]
=
{
/* 0 */
572
,
0
,
51
,
64
,
64
,
64
,
64
,
167
,
64
,
64
,
/* 10 */
245
,
408
,
100
,
231
,
245
,
245
,
245
,
245
,
245
,
245
,
...
...
@@ -553,54 +555,54 @@ static const unsigned short int yy_shift_ofst[] = {
/* 60 */
26
,
16
,
26
,
26
,
26
,
16
,
309
,
332
,
454
,
463
,
/* 70 */
463
,
265
,
445
,
153
,
134
,
153
,
153
,
153
,
153
,
153
,
/* 80 */
153
,
153
,
153
,
153
,
153
,
153
,
153
,
153
,
153
,
153
,
/* 90 */
153
,
153
,
153
,
153
,
85
,
528
,
326
,
218
,
240
,
240
,
/* 100 */
240
,
384
,
218
,
345
,
26
,
26
,
26
,
61
,
334
,
39
,
/* 110 */
39
,
39
,
39
,
39
,
39
,
732
,
126
,
608
,
940
,
77
,
/* 120 */
85
,
117
,
85
,
90
,
583
,
515
,
493
,
574
,
493
,
735
,
/* 130 */
419
,
460
,
829
,
820
,
826
,
736
,
829
,
829
,
779
,
785
,
/* 140 */
785
,
829
,
905
,
915
,
73
,
345
,
938
,
73
,
73
,
829
,
/* 150 */
73
,
962
,
26
,
26
,
26
,
26
,
26
,
26
,
26
,
26
,
/* 160 */
26
,
26
,
26
,
826
,
829
,
962
,
345
,
905
,
874
,
915
,
/* 170 */
309
,
345
,
938
,
309
,
1016
,
847
,
851
,
987
,
847
,
851
,
/* 180 */
987
,
987
,
864
,
863
,
873
,
888
,
897
,
345
,
1064
,
965
,
/* 190 */
885
,
889
,
892
,
1022
,
26
,
851
,
987
,
987
,
851
,
987
,
/* 200 */
973
,
345
,
938
,
309
,
61
,
309
,
345
,
1048
,
826
,
334
,
/* 210 */
829
,
309
,
962
,
1523
,
1523
,
1523
,
1523
,
1523
,
431
,
884
,
/* 220 */
530
,
577
,
1149
,
1201
,
13
,
29
,
46
,
526
,
295
,
295
,
/* 230 */
295
,
295
,
295
,
295
,
295
,
34
,
234
,
581
,
418
,
390
,
/* 240 */
390
,
390
,
390
,
19
,
541
,
436
,
121
,
680
,
703
,
704
,
/* 250 */
7
15
,
772
,
788
,
673
,
738
,
744
,
750
,
694
,
599
,
58
4
,
/* 260 */
6
35
,
751
,
720
,
798
,
525
,
800
,
806
,
815
,
816
,
844
,
/* 270 */
627
,
692
,
861
,
862
,
867
,
870
,
876
,
904
,
796
,
707
,
/* 280 */
1143
,
1144
,
1082
,
1153
,
1116
,
997
,
1119
,
1122
,
1123
,
1005
,
/* 290 */
11
64
,
1127
,
1128
,
1018
,
1177
,
1147
,
1182
,
1148
,
1187
,
1114
,
/* 300 */
1
040
,
1043
,
1083
,
1049
,
1193
,
1196
,
1145
,
1056
,
1199
,
1203
,
/* 310 */
1
120
,
1205
,
1207
,
1209
,
1211
,
1217
,
1218
,
1219
,
1224
,
1226
,
/* 320 */
12
27
,
1228
,
1230
,
1231
,
1238
,
1240
,
1121
,
1242
,
1243
,
1249
,
/* 330 */
12
50
,
1251
,
1252
,
1239
,
1253
,
1260
,
1264
,
1267
,
1268
,
1269
,
/* 340 */
12
71
,
1272
,
1278
,
1236
,
1281
,
1232
,
1282
,
1285
,
1248
,
1254
,
/* 350 */
12
44
,
1291
,
1255
,
1256
,
1262
,
1294
,
1257
,
1276
,
1270
,
129
8
,
/* 360 */
127
7
,
1280
,
1274
,
1319
,
1320
,
1321
,
1322
,
1241
,
1258
,
1287
,
/* 370 */
126
1
,
1309
,
1333
,
1300
,
1304
,
1305
,
1307
,
1275
,
1261
,
1310
,
/* 380 */
1
311
,
1347
,
1328
,
1351
,
1330
,
1314
,
1354
,
1334
,
1317
,
1357
,
/* 390 */
133
6
,
1359
,
1342
,
1346
,
1367
,
1233
,
1214
,
1331
,
1371
,
1223
,
/* 400 */
13
52
,
1246
,
1245
,
1375
,
1376
,
1247
,
1377
,
1306
,
1335
,
125
9
,
/* 410 */
13
16
,
1318
,
1197
,
1313
,
1323
,
1315
,
1324
,
1325
,
1326
,
1332
,
/* 420 */
13
37
,
1295
,
1327
,
1338
,
1204
,
1339
,
1340
,
1341
,
1213
,
1345
,
/* 430 */
1
343
,
1344
,
1349
,
1208
,
1389
,
1368
,
1372
,
1373
,
1374
,
1379
,
/* 440 */
138
0
,
1395
,
1263
,
1348
,
1353
,
1350
,
1356
,
1358
,
1360
,
1362
,
/* 450 */
136
3
,
1286
,
1364
,
1413
,
1383
,
1290
,
1365
,
1361
,
1355
,
1366
,
/* 460 */
1
401
,
1369
,
1370
,
1378
,
1393
,
1394
,
1382
,
1384
,
1402
,
1386
,
/* 470 */
13
87
,
1404
,
1390
,
1388
,
1406
,
1391
,
1392
,
1408
,
1396
,
138
1
,
/* 480 */
1
385
,
1397
,
1398
,
1425
,
1399
,
1400
,
1410
,
1403
,
1405
,
1407
,
/* 490 */
141
1
,
1261
,
1428
,
1415
,
1418
,
1412
,
1416
,
1414
,
1419
,
1420
,
/* 500 */
142
3
,
1433
,
1434
,
1435
,
1437
,
1429
,
1421
,
1275
,
1438
,
126
1
,
/* 510 */
1
439
,
1444
,
1445
,
1449
,
1451
,
1452
,
1453
,
1454
,
1455
,
1456
,
/* 520 */
14
57
,
1494
,
1460
,
1459
,
1458
,
1499
,
1464
,
1467
,
1461
,
150
5
,
/* 530 */
14
68
,
1471
,
1465
,
1509
,
1472
,
1474
,
1513
,
1514
,
1493
,
1495
,
/* 540 */
1
496
,
1497
,
1500
,
1502
,
/* 90 */
153
,
153
,
153
,
153
,
85
,
384
,
326
,
218
,
240
,
240
,
/* 100 */
240
,
567
,
218
,
345
,
26
,
26
,
26
,
61
,
334
,
39
,
/* 110 */
39
,
39
,
39
,
39
,
39
,
39
,
732
,
126
,
608
,
940
,
/* 120 */
77
,
85
,
117
,
85
,
90
,
513
,
626
,
520
,
562
,
520
,
/* 130 */
568
,
679
,
644
,
853
,
863
,
851
,
754
,
853
,
853
,
789
,
/* 140 */
804
,
804
,
853
,
927
,
931
,
73
,
345
,
941
,
73
,
73
,
/* 150 */
853
,
73
,
977
,
26
,
26
,
26
,
26
,
26
,
26
,
26
,
/* 160 */
26
,
26
,
26
,
26
,
851
,
853
,
977
,
345
,
927
,
887
,
/* 170 */
931
,
309
,
345
,
941
,
309
,
1023
,
855
,
868
,
1004
,
855
,
/* 180 */
868
,
1004
,
1004
,
877
,
886
,
898
,
903
,
908
,
345
,
1070
,
/* 190 */
976
,
892
,
900
,
906
,
1034
,
26
,
868
,
1004
,
1004
,
868
,
/* 200 */
1004
,
984
,
345
,
941
,
309
,
61
,
309
,
345
,
1062
,
851
,
/* 210 */
334
,
853
,
309
,
977
,
1529
,
1529
,
1529
,
1529
,
1529
,
431
,
/* 220 */
884
,
530
,
577
,
1149
,
1201
,
13
,
29
,
46
,
526
,
295
,
/* 230 */
643
,
643
,
643
,
643
,
643
,
643
,
643
,
34
,
234
,
426
,
/* 240 */
547
,
438
,
426
,
426
,
426
,
19
,
574
,
436
,
121
,
683
,
/* 250 */
7
03
,
704
,
772
,
788
,
800
,
673
,
592
,
682
,
742
,
69
4
,
/* 260 */
6
40
,
649
,
665
,
744
,
687
,
755
,
378
,
806
,
811
,
816
,
/* 270 */
844
,
850
,
801
,
832
,
861
,
862
,
867
,
904
,
914
,
921
,
/* 280 */
696
,
564
,
1157
,
1161
,
1099
,
1164
,
1127
,
1008
,
1138
,
1139
,
/* 290 */
11
44
,
1027
,
1186
,
1150
,
1151
,
1033
,
1187
,
1154
,
1193
,
1156
,
/* 300 */
1
196
,
1123
,
1049
,
1051
,
1094
,
1060
,
1206
,
1207
,
1158
,
1068
,
/* 310 */
1
217
,
1218
,
1133
,
1224
,
1226
,
1227
,
1228
,
1230
,
1231
,
1238
,
/* 320 */
12
40
,
1241
,
1242
,
1243
,
1249
,
1250
,
1251
,
1252
,
1140
,
1253
,
/* 330 */
12
61
,
1264
,
1267
,
1268
,
1269
,
1256
,
1271
,
1272
,
1279
,
1281
,
/* 340 */
12
82
,
1283
,
1285
,
1286
,
1287
,
1247
,
1291
,
1244
,
1292
,
1293
,
/* 350 */
12
60
,
1258
,
1262
,
1312
,
1275
,
1280
,
1274
,
1315
,
1284
,
128
8
,
/* 360 */
127
6
,
1320
,
1294
,
1289
,
1278
,
1331
,
1333
,
1338
,
1339
,
1259
,
/* 370 */
126
5
,
1305
,
1277
,
1323
,
1347
,
1311
,
1313
,
1314
,
1316
,
1295
,
/* 380 */
1
277
,
1317
,
1318
,
1350
,
1335
,
1353
,
1336
,
1325
,
1359
,
1345
,
/* 390 */
133
0
,
1369
,
1348
,
1371
,
1351
,
1354
,
1375
,
1239
,
1223
,
1340
,
/* 400 */
13
79
,
1233
,
1358
,
1248
,
1254
,
1381
,
1384
,
1255
,
1387
,
131
9
,
/* 410 */
13
46
,
1263
,
1326
,
1327
,
1202
,
1321
,
1328
,
1332
,
1334
,
1337
,
/* 420 */
13
41
,
1342
,
1329
,
1308
,
1344
,
1343
,
1203
,
1349
,
1352
,
1324
,
/* 430 */
1
219
,
1355
,
1356
,
1357
,
1360
,
1221
,
1402
,
1374
,
1378
,
1382
,
/* 440 */
138
3
,
1385
,
1390
,
1411
,
1257
,
1361
,
1362
,
1363
,
1365
,
1366
,
/* 450 */
136
8
,
1370
,
1367
,
1372
,
1290
,
1376
,
1422
,
1386
,
1298
,
1377
,
/* 460 */
1
364
,
1373
,
1380
,
1412
,
1388
,
1389
,
1392
,
1395
,
1397
,
1391
,
/* 470 */
13
93
,
1398
,
1396
,
1394
,
1406
,
1399
,
1400
,
1414
,
1403
,
140
1
,
/* 480 */
1
415
,
1404
,
1405
,
1407
,
1408
,
1409
,
1427
,
1410
,
1413
,
1416
,
/* 490 */
141
7
,
1418
,
1419
,
1420
,
1277
,
1433
,
1421
,
1429
,
1423
,
1424
,
/* 500 */
142
8
,
1425
,
1426
,
1443
,
1444
,
1445
,
1446
,
1447
,
1434
,
143
1
,
/* 510 */
1
295
,
1448
,
1277
,
1451
,
1452
,
1453
,
1456
,
1457
,
1460
,
1463
,
/* 520 */
14
71
,
1464
,
1467
,
1466
,
1500
,
1472
,
1469
,
1468
,
1512
,
147
5
,
/* 530 */
14
78
,
1473
,
1515
,
1479
,
1482
,
1476
,
1520
,
1483
,
1485
,
1523
,
/* 540 */
1
524
,
1435
,
1439
,
1503
,
1505
,
1440
,
1508
,
};
#define YY_REDUCE_COUNT (21
7
)
#define YY_REDUCE_COUNT (21
8
)
#define YY_REDUCE_MIN (-276)
#define YY_REDUCE_MAX (1131)
static
const
short
yy_reduce_ofst
[]
=
{
...
...
@@ -609,80 +611,80 @@ static const short yy_reduce_ofst[] = {
/* 20 */
561
,
854
,
896
,
901
,
907
,
949
,
961
,
974
,
1003
,
1029
,
/* 30 */
1055
,
1063
,
1089
,
1131
,
-
192
,
151
,
767
,
-
23
,
-
234
,
-
215
,
/* 40 */
-
225
,
22
,
287
,
-
49
,
-
253
,
-
246
,
-
233
,
-
209
,
-
40
,
36
,
/* 50 */
139
,
144
,
202
,
-
128
,
138
,
80
,
-
4
,
198
,
247
,
293
,
/* 60 */
189
,
368
,
289
,
352
,
310
,
373
,
88
,
-
207
,
-
276
,
-
276
,
/* 70 */
-
276
,
-
28
,
124
,
-
61
,
97
,
108
,
164
,
216
,
39
4
,
396
,
/* 80 */
406
,
412
,
415
,
447
,
448
,
468
,
469
,
470
,
471
,
479
,
/* 90 */
48
8
,
489
,
495
,
499
,
263
,
228
,
60
,
-
108
,
-
189
,
92
,
/* 100 */
28
2
,
237
,
367
,
197
,
274
,
381
,
414
,
-
155
,
378
,
-
232
,
/* 110 */
2
39
,
246
,
286
,
411
,
428
,
450
,
509
,
322
,
442
,
47
8
,
/* 120 */
5
49
,
559
,
553
,
510
,
598
,
547
,
540
,
540
,
540
,
596
,
/* 130 */
531
,
550
,
634
,
585
,
658
,
628
,
681
,
682
,
660
,
663
,
/* 140 */
6
74
,
706
,
659
,
687
,
722
,
708
,
709
,
741
,
753
,
761
,
/* 150 */
76
0
,
757
,
755
,
758
,
762
,
763
,
765
,
771
,
773
,
78
1
,
/* 160 */
7
83
,
787
,
789
,
774
,
769
,
807
,
784
,
759
,
766
,
76
8
,
/* 170 */
814
,
790
,
770
,
819
,
776
,
742
,
791
,
793
,
775
,
80
2
,
/* 180 */
8
01
,
804
,
777
,
780
,
786
,
795
,
540
,
841
,
818
,
808
,
/* 190 */
782
,
803
,
792
,
825
,
596
,
852
,
842
,
857
,
858
,
860
,
/* 200 */
86
5
,
872
,
868
,
906
,
886
,
908
,
878
,
887
,
909
,
91
0
,
/* 210 */
91
6
,
918
,
919
,
877
,
912
,
922
,
921
,
928
,
/* 50 */
139
,
144
,
202
,
-
128
,
138
,
80
,
-
4
,
289
,
247
,
293
,
/* 60 */
189
,
368
,
310
,
352
,
357
,
373
,
88
,
-
207
,
-
276
,
-
276
,
/* 70 */
-
276
,
-
28
,
124
,
-
61
,
97
,
108
,
164
,
216
,
39
0
,
394
,
/* 80 */
396
,
415
,
442
,
451
,
468
,
469
,
470
,
471
,
479
,
488
,
/* 90 */
48
9
,
495
,
499
,
503
,
263
,
260
,
60
,
-
108
,
-
189
,
92
,
/* 100 */
28
1
,
169
,
455
,
197
,
274
,
188
,
381
,
-
155
,
395
,
-
232
,
/* 110 */
2
46
,
286
,
430
,
514
,
527
,
551
,
282
,
544
,
578
,
49
8
,
/* 120 */
5
04
,
560
,
581
,
570
,
540
,
629
,
580
,
575
,
575
,
575
,
/* 130 */
622
,
566
,
583
,
662
,
614
,
670
,
637
,
700
,
706
,
675
,
/* 140 */
6
98
,
699
,
724
,
684
,
710
,
741
,
717
,
719
,
759
,
760
,
/* 150 */
76
6
,
776
,
787
,
771
,
773
,
781
,
783
,
785
,
790
,
79
1
,
/* 160 */
7
92
,
793
,
795
,
796
,
802
,
805
,
819
,
782
,
769
,
77
8
,
/* 170 */
777
,
829
,
807
,
808
,
831
,
786
,
757
,
818
,
820
,
76
2
,
/* 180 */
8
21
,
825
,
826
,
784
,
797
,
798
,
803
,
575
,
846
,
823
,
/* 190 */
830
,
809
,
812
,
810
,
835
,
622
,
858
,
860
,
865
,
866
,
/* 200 */
86
9
,
857
,
882
,
879
,
917
,
899
,
918
,
893
,
902
,
92
0
,
/* 210 */
91
9
,
922
,
929
,
934
,
888
,
925
,
926
,
938
,
952
,
};
static
const
YYACTIONTYPE
yy_default
[]
=
{
/* 0 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 10 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 20 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 30 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 40 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 50 */
121
0
,
1210
,
1210
,
1269
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 60 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1267
,
1406
,
1210
,
1540
,
/* 70 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 80 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 90 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1269
,
1210
,
1551
,
1551
,
/* 100 */
155
1
,
1267
,
1210
,
1210
,
1210
,
1210
,
1210
,
1362
,
1210
,
1210
,
/* 110 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1440
,
1210
,
1210
,
1615
,
1210
,
/* 120 */
121
0
,
1315
,
1210
,
1575
,
1210
,
1567
,
1543
,
1557
,
1544
,
121
0
,
/* 130 */
1
600
,
1560
,
1210
,
1210
,
1210
,
1432
,
1210
,
1210
,
1411
,
1408
,
/* 140 */
14
08
,
1210
,
1210
,
1210
,
1269
,
1210
,
1210
,
1269
,
1269
,
1210
,
/* 150 */
12
69
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 160 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1442
,
1210
,
/* 170 */
12
67
,
1210
,
1210
,
1267
,
1210
,
1582
,
1580
,
1210
,
1582
,
1580
,
/* 180 */
1
210
,
1210
,
1594
,
1590
,
1573
,
1571
,
1557
,
1210
,
1210
,
1210
,
/* 190 */
1
618
,
1606
,
1602
,
1210
,
1210
,
1580
,
1210
,
1210
,
1580
,
1210
,
/* 200 */
1
419
,
1210
,
1210
,
1267
,
1210
,
1267
,
1210
,
1331
,
1210
,
1210
,
/* 210 */
121
0
,
1267
,
1210
,
1434
,
1365
,
1365
,
1270
,
1215
,
1210
,
1210
,
/* 220 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1504
,
1593
,
/* 230 */
15
92
,
1503
,
1517
,
1516
,
1515
,
1210
,
1210
,
1210
,
1210
,
1498
,
/* 240 */
1
499
,
1497
,
1496
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 250 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1541
,
1210
,
1603
,
/* 260 */
1
607
,
1210
,
1210
,
1210
,
1479
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 270 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 280 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 290 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 300 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 310 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 320 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 330 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 340 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 350 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 360 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 370 */
1
376
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1296
,
1295
,
1210
,
/* 380 */
1
210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 390 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 400 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 410 */
1
564
,
1574
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 420 */
121
0
,
1479
,
1210
,
1591
,
1210
,
1550
,
1546
,
1210
,
1210
,
1542
,
/* 430 */
121
0
,
1210
,
1601
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 440 */
121
0
,
1536
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 450 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1478
,
1210
,
/* 460 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1359
,
1210
,
1210
,
1210
,
/* 470 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1344
,
/* 480 */
1
342
,
1341
,
1340
,
1210
,
1337
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 490 */
121
0
,
1367
,
1210
,
1210
,
1210
,
1210
,
1210
,
1290
,
1210
,
1210
,
/* 500 */
12
10
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1281
,
1210
,
1280
,
/* 510 */
12
10
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 520 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 530 */
121
0
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
1210
,
/* 540 */
121
0
,
1210
,
1210
,
1210
,
/* 0 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 10 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 20 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 30 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 40 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 50 */
121
5
,
1215
,
1215
,
1274
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 60 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1272
,
1411
,
1215
,
1546
,
/* 70 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 80 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 90 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1274
,
1215
,
1557
,
1557
,
/* 100 */
155
7
,
1272
,
1215
,
1215
,
1215
,
1215
,
1215
,
1367
,
1215
,
1215
,
/* 110 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1445
,
1215
,
1215
,
1621
,
/* 120 */
121
5
,
1215
,
1320
,
1215
,
1581
,
1215
,
1573
,
1549
,
1563
,
155
0
,
/* 130 */
1
215
,
1606
,
1566
,
1215
,
1215
,
1215
,
1437
,
1215
,
1215
,
1416
,
/* 140 */
14
13
,
1413
,
1215
,
1215
,
1215
,
1274
,
1215
,
1215
,
1274
,
1274
,
/* 150 */
12
15
,
1274
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 160 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1447
,
/* 170 */
12
15
,
1272
,
1215
,
1215
,
1272
,
1215
,
1588
,
1586
,
1215
,
1588
,
/* 180 */
1
586
,
1215
,
1215
,
1600
,
1596
,
1579
,
1577
,
1563
,
1215
,
1215
,
/* 190 */
1
215
,
1624
,
1612
,
1608
,
1215
,
1215
,
1586
,
1215
,
1215
,
1586
,
/* 200 */
1
215
,
1424
,
1215
,
1215
,
1272
,
1215
,
1272
,
1215
,
1336
,
1215
,
/* 210 */
121
5
,
1215
,
1272
,
1215
,
1439
,
1370
,
1370
,
1275
,
1220
,
1215
,
/* 220 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1509
,
/* 230 */
15
10
,
1599
,
1598
,
1509
,
1523
,
1522
,
1521
,
1215
,
1215
,
1504
,
/* 240 */
1
215
,
1215
,
1505
,
1503
,
1502
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 250 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1547
,
/* 260 */
1
215
,
1609
,
1613
,
1215
,
1215
,
1215
,
1484
,
1215
,
1215
,
1215
,
/* 270 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 280 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 290 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 300 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 310 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 320 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 330 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 340 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 350 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 360 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 370 */
1
215
,
1215
,
1381
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1301
,
/* 380 */
1
300
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 390 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 400 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 410 */
1
215
,
1215
,
1570
,
1580
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 420 */
121
5
,
1215
,
1215
,
1484
,
1215
,
1597
,
1215
,
1556
,
1552
,
1215
,
/* 430 */
121
5
,
1548
,
1215
,
1215
,
1607
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 440 */
121
5
,
1215
,
1215
,
1542
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 450 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 460 */
121
5
,
1483
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1364
,
/* 470 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 480 */
1
215
,
1215
,
1349
,
1347
,
1346
,
1345
,
1215
,
1342
,
1215
,
1215
,
/* 490 */
121
5
,
1215
,
1215
,
1215
,
1372
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 500 */
12
95
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 510 */
12
86
,
1215
,
1285
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 520 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 530 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
/* 540 */
121
5
,
1215
,
1215
,
1215
,
1215
,
1215
,
1215
,
};
/********** End of lemon-generated parsing tables *****************************/
...
...
@@ -1390,133 +1392,134 @@ static const char *const yyRuleName[] = {
/* 278 */
"expression ::= column_reference"
,
/* 279 */
"expression ::= function_name NK_LP expression_list NK_RP"
,
/* 280 */
"expression ::= function_name NK_LP NK_STAR NK_RP"
,
/* 281 */
"expression ::= subquery"
,
/* 282 */
"expression ::= NK_LP expression NK_RP"
,
/* 283 */
"expression ::= NK_PLUS expression"
,
/* 284 */
"expression ::= NK_MINUS expression"
,
/* 285 */
"expression ::= expression NK_PLUS expression"
,
/* 286 */
"expression ::= expression NK_MINUS expression"
,
/* 287 */
"expression ::= expression NK_STAR expression"
,
/* 288 */
"expression ::= expression NK_SLASH expression"
,
/* 289 */
"expression ::= expression NK_REM expression"
,
/* 290 */
"expression_list ::= expression"
,
/* 291 */
"expression_list ::= expression_list NK_COMMA expression"
,
/* 292 */
"column_reference ::= column_name"
,
/* 293 */
"column_reference ::= table_name NK_DOT column_name"
,
/* 294 */
"pseudo_column ::= NOW"
,
/* 295 */
"pseudo_column ::= ROWTS"
,
/* 296 */
"pseudo_column ::= TBNAME"
,
/* 297 */
"pseudo_column ::= QSTARTTS"
,
/* 298 */
"pseudo_column ::= QENDTS"
,
/* 299 */
"pseudo_column ::= WSTARTTS"
,
/* 300 */
"pseudo_column ::= WENDTS"
,
/* 301 */
"pseudo_column ::= WDURATION"
,
/* 302 */
"predicate ::= expression compare_op expression"
,
/* 303 */
"predicate ::= expression BETWEEN expression AND expression"
,
/* 304 */
"predicate ::= expression NOT BETWEEN expression AND expression"
,
/* 305 */
"predicate ::= expression IS NULL"
,
/* 306 */
"predicate ::= expression IS NOT NULL"
,
/* 307 */
"predicate ::= expression in_op in_predicate_value"
,
/* 308 */
"compare_op ::= NK_LT"
,
/* 309 */
"compare_op ::= NK_GT"
,
/* 310 */
"compare_op ::= NK_LE"
,
/* 311 */
"compare_op ::= NK_GE"
,
/* 312 */
"compare_op ::= NK_NE"
,
/* 313 */
"compare_op ::= NK_EQ"
,
/* 314 */
"compare_op ::= LIKE"
,
/* 315 */
"compare_op ::= NOT LIKE"
,
/* 316 */
"compare_op ::= MATCH"
,
/* 317 */
"compare_op ::= NMATCH"
,
/* 318 */
"in_op ::= IN"
,
/* 319 */
"in_op ::= NOT IN"
,
/* 320 */
"in_predicate_value ::= NK_LP expression_list NK_RP"
,
/* 321 */
"boolean_value_expression ::= boolean_primary"
,
/* 322 */
"boolean_value_expression ::= NOT boolean_primary"
,
/* 323 */
"boolean_value_expression ::= boolean_value_expression OR boolean_value_expression"
,
/* 324 */
"boolean_value_expression ::= boolean_value_expression AND boolean_value_expression"
,
/* 325 */
"boolean_primary ::= predicate"
,
/* 326 */
"boolean_primary ::= NK_LP boolean_value_expression NK_RP"
,
/* 327 */
"common_expression ::= expression"
,
/* 328 */
"common_expression ::= boolean_value_expression"
,
/* 329 */
"from_clause ::= FROM table_reference_list"
,
/* 330 */
"table_reference_list ::= table_reference"
,
/* 331 */
"table_reference_list ::= table_reference_list NK_COMMA table_reference"
,
/* 332 */
"table_reference ::= table_primary"
,
/* 333 */
"table_reference ::= joined_table"
,
/* 334 */
"table_primary ::= table_name alias_opt"
,
/* 335 */
"table_primary ::= db_name NK_DOT table_name alias_opt"
,
/* 336 */
"table_primary ::= subquery alias_opt"
,
/* 337 */
"table_primary ::= parenthesized_joined_table"
,
/* 338 */
"alias_opt ::="
,
/* 339 */
"alias_opt ::= table_alias"
,
/* 340 */
"alias_opt ::= AS table_alias"
,
/* 341 */
"parenthesized_joined_table ::= NK_LP joined_table NK_RP"
,
/* 342 */
"parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP"
,
/* 343 */
"joined_table ::= table_reference join_type JOIN table_reference ON search_condition"
,
/* 344 */
"join_type ::="
,
/* 345 */
"join_type ::= INNER"
,
/* 346 */
"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"
,
/* 347 */
"set_quantifier_opt ::="
,
/* 348 */
"set_quantifier_opt ::= DISTINCT"
,
/* 349 */
"set_quantifier_opt ::= ALL"
,
/* 350 */
"select_list ::= NK_STAR"
,
/* 351 */
"select_list ::= select_sublist"
,
/* 352 */
"select_sublist ::= select_item"
,
/* 353 */
"select_sublist ::= select_sublist NK_COMMA select_item"
,
/* 354 */
"select_item ::= common_expression"
,
/* 355 */
"select_item ::= common_expression column_alias"
,
/* 356 */
"select_item ::= common_expression AS column_alias"
,
/* 357 */
"select_item ::= table_name NK_DOT NK_STAR"
,
/* 358 */
"where_clause_opt ::="
,
/* 359 */
"where_clause_opt ::= WHERE search_condition"
,
/* 360 */
"partition_by_clause_opt ::="
,
/* 361 */
"partition_by_clause_opt ::= PARTITION BY expression_list"
,
/* 362 */
"twindow_clause_opt ::="
,
/* 363 */
"twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP"
,
/* 364 */
"twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP"
,
/* 365 */
"twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt"
,
/* 366 */
"twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt"
,
/* 367 */
"sliding_opt ::="
,
/* 368 */
"sliding_opt ::= SLIDING NK_LP duration_literal NK_RP"
,
/* 369 */
"fill_opt ::="
,
/* 370 */
"fill_opt ::= FILL NK_LP fill_mode NK_RP"
,
/* 371 */
"fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP"
,
/* 372 */
"fill_mode ::= NONE"
,
/* 373 */
"fill_mode ::= PREV"
,
/* 374 */
"fill_mode ::= NULL"
,
/* 375 */
"fill_mode ::= LINEAR"
,
/* 376 */
"fill_mode ::= NEXT"
,
/* 377 */
"group_by_clause_opt ::="
,
/* 378 */
"group_by_clause_opt ::= GROUP BY group_by_list"
,
/* 379 */
"group_by_list ::= expression"
,
/* 380 */
"group_by_list ::= group_by_list NK_COMMA expression"
,
/* 381 */
"having_clause_opt ::="
,
/* 382 */
"having_clause_opt ::= HAVING search_condition"
,
/* 383 */
"query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt"
,
/* 384 */
"query_expression_body ::= query_primary"
,
/* 385 */
"query_expression_body ::= query_expression_body UNION ALL query_expression_body"
,
/* 386 */
"query_primary ::= query_specification"
,
/* 387 */
"order_by_clause_opt ::="
,
/* 388 */
"order_by_clause_opt ::= ORDER BY sort_specification_list"
,
/* 389 */
"slimit_clause_opt ::="
,
/* 390 */
"slimit_clause_opt ::= SLIMIT NK_INTEGER"
,
/* 391 */
"slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER"
,
/* 392 */
"slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER"
,
/* 393 */
"limit_clause_opt ::="
,
/* 394 */
"limit_clause_opt ::= LIMIT NK_INTEGER"
,
/* 395 */
"limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER"
,
/* 396 */
"limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER"
,
/* 397 */
"subquery ::= NK_LP query_expression NK_RP"
,
/* 398 */
"search_condition ::= common_expression"
,
/* 399 */
"sort_specification_list ::= sort_specification"
,
/* 400 */
"sort_specification_list ::= sort_specification_list NK_COMMA sort_specification"
,
/* 401 */
"sort_specification ::= expression ordering_specification_opt null_ordering_opt"
,
/* 402 */
"ordering_specification_opt ::="
,
/* 403 */
"ordering_specification_opt ::= ASC"
,
/* 404 */
"ordering_specification_opt ::= DESC"
,
/* 405 */
"null_ordering_opt ::="
,
/* 406 */
"null_ordering_opt ::= NULLS FIRST"
,
/* 407 */
"null_ordering_opt ::= NULLS LAST"
,
/* 281 */
"expression ::= function_name NK_LP expression AS type_name NK_RP"
,
/* 282 */
"expression ::= subquery"
,
/* 283 */
"expression ::= NK_LP expression NK_RP"
,
/* 284 */
"expression ::= NK_PLUS expression"
,
/* 285 */
"expression ::= NK_MINUS expression"
,
/* 286 */
"expression ::= expression NK_PLUS expression"
,
/* 287 */
"expression ::= expression NK_MINUS expression"
,
/* 288 */
"expression ::= expression NK_STAR expression"
,
/* 289 */
"expression ::= expression NK_SLASH expression"
,
/* 290 */
"expression ::= expression NK_REM expression"
,
/* 291 */
"expression_list ::= expression"
,
/* 292 */
"expression_list ::= expression_list NK_COMMA expression"
,
/* 293 */
"column_reference ::= column_name"
,
/* 294 */
"column_reference ::= table_name NK_DOT column_name"
,
/* 295 */
"pseudo_column ::= NOW"
,
/* 296 */
"pseudo_column ::= ROWTS"
,
/* 297 */
"pseudo_column ::= TBNAME"
,
/* 298 */
"pseudo_column ::= QSTARTTS"
,
/* 299 */
"pseudo_column ::= QENDTS"
,
/* 300 */
"pseudo_column ::= WSTARTTS"
,
/* 301 */
"pseudo_column ::= WENDTS"
,
/* 302 */
"pseudo_column ::= WDURATION"
,
/* 303 */
"predicate ::= expression compare_op expression"
,
/* 304 */
"predicate ::= expression BETWEEN expression AND expression"
,
/* 305 */
"predicate ::= expression NOT BETWEEN expression AND expression"
,
/* 306 */
"predicate ::= expression IS NULL"
,
/* 307 */
"predicate ::= expression IS NOT NULL"
,
/* 308 */
"predicate ::= expression in_op in_predicate_value"
,
/* 309 */
"compare_op ::= NK_LT"
,
/* 310 */
"compare_op ::= NK_GT"
,
/* 311 */
"compare_op ::= NK_LE"
,
/* 312 */
"compare_op ::= NK_GE"
,
/* 313 */
"compare_op ::= NK_NE"
,
/* 314 */
"compare_op ::= NK_EQ"
,
/* 315 */
"compare_op ::= LIKE"
,
/* 316 */
"compare_op ::= NOT LIKE"
,
/* 317 */
"compare_op ::= MATCH"
,
/* 318 */
"compare_op ::= NMATCH"
,
/* 319 */
"in_op ::= IN"
,
/* 320 */
"in_op ::= NOT IN"
,
/* 321 */
"in_predicate_value ::= NK_LP expression_list NK_RP"
,
/* 322 */
"boolean_value_expression ::= boolean_primary"
,
/* 323 */
"boolean_value_expression ::= NOT boolean_primary"
,
/* 324 */
"boolean_value_expression ::= boolean_value_expression OR boolean_value_expression"
,
/* 325 */
"boolean_value_expression ::= boolean_value_expression AND boolean_value_expression"
,
/* 326 */
"boolean_primary ::= predicate"
,
/* 327 */
"boolean_primary ::= NK_LP boolean_value_expression NK_RP"
,
/* 328 */
"common_expression ::= expression"
,
/* 329 */
"common_expression ::= boolean_value_expression"
,
/* 330 */
"from_clause ::= FROM table_reference_list"
,
/* 331 */
"table_reference_list ::= table_reference"
,
/* 332 */
"table_reference_list ::= table_reference_list NK_COMMA table_reference"
,
/* 333 */
"table_reference ::= table_primary"
,
/* 334 */
"table_reference ::= joined_table"
,
/* 335 */
"table_primary ::= table_name alias_opt"
,
/* 336 */
"table_primary ::= db_name NK_DOT table_name alias_opt"
,
/* 337 */
"table_primary ::= subquery alias_opt"
,
/* 338 */
"table_primary ::= parenthesized_joined_table"
,
/* 339 */
"alias_opt ::="
,
/* 340 */
"alias_opt ::= table_alias"
,
/* 341 */
"alias_opt ::= AS table_alias"
,
/* 342 */
"parenthesized_joined_table ::= NK_LP joined_table NK_RP"
,
/* 343 */
"parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP"
,
/* 344 */
"joined_table ::= table_reference join_type JOIN table_reference ON search_condition"
,
/* 345 */
"join_type ::="
,
/* 346 */
"join_type ::= INNER"
,
/* 347 */
"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"
,
/* 348 */
"set_quantifier_opt ::="
,
/* 349 */
"set_quantifier_opt ::= DISTINCT"
,
/* 350 */
"set_quantifier_opt ::= ALL"
,
/* 351 */
"select_list ::= NK_STAR"
,
/* 352 */
"select_list ::= select_sublist"
,
/* 353 */
"select_sublist ::= select_item"
,
/* 354 */
"select_sublist ::= select_sublist NK_COMMA select_item"
,
/* 355 */
"select_item ::= common_expression"
,
/* 356 */
"select_item ::= common_expression column_alias"
,
/* 357 */
"select_item ::= common_expression AS column_alias"
,
/* 358 */
"select_item ::= table_name NK_DOT NK_STAR"
,
/* 359 */
"where_clause_opt ::="
,
/* 360 */
"where_clause_opt ::= WHERE search_condition"
,
/* 361 */
"partition_by_clause_opt ::="
,
/* 362 */
"partition_by_clause_opt ::= PARTITION BY expression_list"
,
/* 363 */
"twindow_clause_opt ::="
,
/* 364 */
"twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP"
,
/* 365 */
"twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP"
,
/* 366 */
"twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt"
,
/* 367 */
"twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt"
,
/* 368 */
"sliding_opt ::="
,
/* 369 */
"sliding_opt ::= SLIDING NK_LP duration_literal NK_RP"
,
/* 370 */
"fill_opt ::="
,
/* 371 */
"fill_opt ::= FILL NK_LP fill_mode NK_RP"
,
/* 372 */
"fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP"
,
/* 373 */
"fill_mode ::= NONE"
,
/* 374 */
"fill_mode ::= PREV"
,
/* 375 */
"fill_mode ::= NULL"
,
/* 376 */
"fill_mode ::= LINEAR"
,
/* 377 */
"fill_mode ::= NEXT"
,
/* 378 */
"group_by_clause_opt ::="
,
/* 379 */
"group_by_clause_opt ::= GROUP BY group_by_list"
,
/* 380 */
"group_by_list ::= expression"
,
/* 381 */
"group_by_list ::= group_by_list NK_COMMA expression"
,
/* 382 */
"having_clause_opt ::="
,
/* 383 */
"having_clause_opt ::= HAVING search_condition"
,
/* 384 */
"query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt"
,
/* 385 */
"query_expression_body ::= query_primary"
,
/* 386 */
"query_expression_body ::= query_expression_body UNION ALL query_expression_body"
,
/* 387 */
"query_primary ::= query_specification"
,
/* 388 */
"order_by_clause_opt ::="
,
/* 389 */
"order_by_clause_opt ::= ORDER BY sort_specification_list"
,
/* 390 */
"slimit_clause_opt ::="
,
/* 391 */
"slimit_clause_opt ::= SLIMIT NK_INTEGER"
,
/* 392 */
"slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER"
,
/* 393 */
"slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER"
,
/* 394 */
"limit_clause_opt ::="
,
/* 395 */
"limit_clause_opt ::= LIMIT NK_INTEGER"
,
/* 396 */
"limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER"
,
/* 397 */
"limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER"
,
/* 398 */
"subquery ::= NK_LP query_expression NK_RP"
,
/* 399 */
"search_condition ::= common_expression"
,
/* 400 */
"sort_specification_list ::= sort_specification"
,
/* 401 */
"sort_specification_list ::= sort_specification_list NK_COMMA sort_specification"
,
/* 402 */
"sort_specification ::= expression ordering_specification_opt null_ordering_opt"
,
/* 403 */
"ordering_specification_opt ::="
,
/* 404 */
"ordering_specification_opt ::= ASC"
,
/* 405 */
"ordering_specification_opt ::= DESC"
,
/* 406 */
"null_ordering_opt ::="
,
/* 407 */
"null_ordering_opt ::= NULLS FIRST"
,
/* 408 */
"null_ordering_opt ::= NULLS LAST"
,
};
#endif
/* NDEBUG */
...
...
@@ -1920,15 +1923,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
"
,
...
...
@@ -1943,16 +1949,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
"
,
...
...
@@ -1966,6 +1964,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
);
...
...
@@ -2084,421 +2083,832 @@ 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
[]
=
{
{
207
,
-
6
},
/* (0) cmd ::= CREATE ACCOUNT NK_ID PASS NK_STRING account_options */
{
207
,
-
4
},
/* (1) cmd ::= ALTER ACCOUNT NK_ID alter_account_options */
{
208
,
0
},
/* (2) account_options ::= */
{
208
,
-
3
},
/* (3) account_options ::= account_options PPS literal */
{
208
,
-
3
},
/* (4) account_options ::= account_options TSERIES literal */
{
208
,
-
3
},
/* (5) account_options ::= account_options STORAGE literal */
{
208
,
-
3
},
/* (6) account_options ::= account_options STREAMS literal */
{
208
,
-
3
},
/* (7) account_options ::= account_options QTIME literal */
{
208
,
-
3
},
/* (8) account_options ::= account_options DBS literal */
{
208
,
-
3
},
/* (9) account_options ::= account_options USERS literal */
{
208
,
-
3
},
/* (10) account_options ::= account_options CONNS literal */
{
208
,
-
3
},
/* (11) account_options ::= account_options STATE literal */
{
209
,
-
1
},
/* (12) alter_account_options ::= alter_account_option */
{
209
,
-
2
},
/* (13) alter_account_options ::= alter_account_options alter_account_option */
{
211
,
-
2
},
/* (14) alter_account_option ::= PASS literal */
{
211
,
-
2
},
/* (15) alter_account_option ::= PPS literal */
{
211
,
-
2
},
/* (16) alter_account_option ::= TSERIES literal */
{
211
,
-
2
},
/* (17) alter_account_option ::= STORAGE literal */
{
211
,
-
2
},
/* (18) alter_account_option ::= STREAMS literal */
{
211
,
-
2
},
/* (19) alter_account_option ::= QTIME literal */
{
211
,
-
2
},
/* (20) alter_account_option ::= DBS literal */
{
211
,
-
2
},
/* (21) alter_account_option ::= USERS literal */
{
211
,
-
2
},
/* (22) alter_account_option ::= CONNS literal */
{
211
,
-
2
},
/* (23) alter_account_option ::= STATE literal */
{
207
,
-
5
},
/* (24) cmd ::= CREATE USER user_name PASS NK_STRING */
{
207
,
-
5
},
/* (25) cmd ::= ALTER USER user_name PASS NK_STRING */
{
207
,
-
5
},
/* (26) cmd ::= ALTER USER user_name PRIVILEGE NK_STRING */
{
207
,
-
3
},
/* (27) cmd ::= DROP USER user_name */
{
207
,
-
3
},
/* (28) cmd ::= CREATE DNODE dnode_endpoint */
{
207
,
-
5
},
/* (29) cmd ::= CREATE DNODE dnode_host_name PORT NK_INTEGER */
{
207
,
-
3
},
/* (30) cmd ::= DROP DNODE NK_INTEGER */
{
207
,
-
3
},
/* (31) cmd ::= DROP DNODE dnode_endpoint */
{
207
,
-
4
},
/* (32) cmd ::= ALTER DNODE NK_INTEGER NK_STRING */
{
207
,
-
5
},
/* (33) cmd ::= ALTER DNODE NK_INTEGER NK_STRING NK_STRING */
{
207
,
-
4
},
/* (34) cmd ::= ALTER ALL DNODES NK_STRING */
{
207
,
-
5
},
/* (35) cmd ::= ALTER ALL DNODES NK_STRING NK_STRING */
{
213
,
-
1
},
/* (36) dnode_endpoint ::= NK_STRING */
{
214
,
-
1
},
/* (37) dnode_host_name ::= NK_ID */
{
214
,
-
1
},
/* (38) dnode_host_name ::= NK_IPTOKEN */
{
207
,
-
3
},
/* (39) cmd ::= ALTER LOCAL NK_STRING */
{
207
,
-
4
},
/* (40) cmd ::= ALTER LOCAL NK_STRING NK_STRING */
{
207
,
-
5
},
/* (41) cmd ::= CREATE QNODE ON DNODE NK_INTEGER */
{
207
,
-
5
},
/* (42) cmd ::= DROP QNODE ON DNODE NK_INTEGER */
{
207
,
-
5
},
/* (43) cmd ::= CREATE BNODE ON DNODE NK_INTEGER */
{
207
,
-
5
},
/* (44) cmd ::= DROP BNODE ON DNODE NK_INTEGER */
{
207
,
-
5
},
/* (45) cmd ::= CREATE SNODE ON DNODE NK_INTEGER */
{
207
,
-
5
},
/* (46) cmd ::= DROP SNODE ON DNODE NK_INTEGER */
{
207
,
-
5
},
/* (47) cmd ::= CREATE MNODE ON DNODE NK_INTEGER */
{
207
,
-
5
},
/* (48) cmd ::= DROP MNODE ON DNODE NK_INTEGER */
{
207
,
-
5
},
/* (49) cmd ::= CREATE DATABASE not_exists_opt db_name db_options */
{
207
,
-
4
},
/* (50) cmd ::= DROP DATABASE exists_opt db_name */
{
207
,
-
2
},
/* (51) cmd ::= USE db_name */
{
207
,
-
4
},
/* (52) cmd ::= ALTER DATABASE db_name alter_db_options */
{
215
,
-
3
},
/* (53) not_exists_opt ::= IF NOT EXISTS */
{
215
,
0
},
/* (54) not_exists_opt ::= */
{
218
,
-
2
},
/* (55) exists_opt ::= IF EXISTS */
{
218
,
0
},
/* (56) exists_opt ::= */
{
217
,
0
},
/* (57) db_options ::= */
{
217
,
-
3
},
/* (58) db_options ::= db_options BLOCKS NK_INTEGER */
{
217
,
-
3
},
/* (59) db_options ::= db_options CACHE NK_INTEGER */
{
217
,
-
3
},
/* (60) db_options ::= db_options CACHELAST NK_INTEGER */
{
217
,
-
3
},
/* (61) db_options ::= db_options COMP NK_INTEGER */
{
217
,
-
3
},
/* (62) db_options ::= db_options DAYS NK_INTEGER */
{
217
,
-
3
},
/* (63) db_options ::= db_options DAYS NK_VARIABLE */
{
217
,
-
3
},
/* (64) db_options ::= db_options FSYNC NK_INTEGER */
{
217
,
-
3
},
/* (65) db_options ::= db_options MAXROWS NK_INTEGER */
{
217
,
-
3
},
/* (66) db_options ::= db_options MINROWS NK_INTEGER */
{
217
,
-
3
},
/* (67) db_options ::= db_options KEEP integer_list */
{
217
,
-
3
},
/* (68) db_options ::= db_options KEEP variable_list */
{
217
,
-
3
},
/* (69) db_options ::= db_options PRECISION NK_STRING */
{
217
,
-
3
},
/* (70) db_options ::= db_options QUORUM NK_INTEGER */
{
217
,
-
3
},
/* (71) db_options ::= db_options REPLICA NK_INTEGER */
{
217
,
-
3
},
/* (72) db_options ::= db_options TTL NK_INTEGER */
{
217
,
-
3
},
/* (73) db_options ::= db_options WAL NK_INTEGER */
{
217
,
-
3
},
/* (74) db_options ::= db_options VGROUPS NK_INTEGER */
{
217
,
-
3
},
/* (75) db_options ::= db_options SINGLE_STABLE NK_INTEGER */
{
217
,
-
3
},
/* (76) db_options ::= db_options STREAM_MODE NK_INTEGER */
{
217
,
-
3
},
/* (77) db_options ::= db_options RETENTIONS retention_list */
{
219
,
-
1
},
/* (78) alter_db_options ::= alter_db_option */
{
219
,
-
2
},
/* (79) alter_db_options ::= alter_db_options alter_db_option */
{
223
,
-
2
},
/* (80) alter_db_option ::= BLOCKS NK_INTEGER */
{
223
,
-
2
},
/* (81) alter_db_option ::= FSYNC NK_INTEGER */
{
223
,
-
2
},
/* (82) alter_db_option ::= KEEP integer_list */
{
223
,
-
2
},
/* (83) alter_db_option ::= KEEP variable_list */
{
223
,
-
2
},
/* (84) alter_db_option ::= WAL NK_INTEGER */
{
223
,
-
2
},
/* (85) alter_db_option ::= QUORUM NK_INTEGER */
{
223
,
-
2
},
/* (86) alter_db_option ::= CACHELAST NK_INTEGER */
{
223
,
-
2
},
/* (87) alter_db_option ::= REPLICA NK_INTEGER */
{
220
,
-
1
},
/* (88) integer_list ::= NK_INTEGER */
{
220
,
-
3
},
/* (89) integer_list ::= integer_list NK_COMMA NK_INTEGER */
{
221
,
-
1
},
/* (90) variable_list ::= NK_VARIABLE */
{
221
,
-
3
},
/* (91) variable_list ::= variable_list NK_COMMA NK_VARIABLE */
{
222
,
-
1
},
/* (92) retention_list ::= retention */
{
222
,
-
3
},
/* (93) retention_list ::= retention_list NK_COMMA retention */
{
224
,
-
3
},
/* (94) retention ::= NK_VARIABLE NK_COLON NK_VARIABLE */
{
207
,
-
9
},
/* (95) cmd ::= CREATE TABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def_opt table_options */
{
207
,
-
3
},
/* (96) cmd ::= CREATE TABLE multi_create_clause */
{
207
,
-
9
},
/* (97) cmd ::= CREATE STABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def table_options */
{
207
,
-
3
},
/* (98) cmd ::= DROP TABLE multi_drop_clause */
{
207
,
-
4
},
/* (99) cmd ::= DROP STABLE exists_opt full_table_name */
{
207
,
-
3
},
/* (100) cmd ::= ALTER TABLE alter_table_clause */
{
207
,
-
3
},
/* (101) cmd ::= ALTER STABLE alter_table_clause */
{
232
,
-
2
},
/* (102) alter_table_clause ::= full_table_name alter_table_options */
{
232
,
-
5
},
/* (103) alter_table_clause ::= full_table_name ADD COLUMN column_name type_name */
{
232
,
-
4
},
/* (104) alter_table_clause ::= full_table_name DROP COLUMN column_name */
{
232
,
-
5
},
/* (105) alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */
{
232
,
-
5
},
/* (106) alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */
{
232
,
-
5
},
/* (107) alter_table_clause ::= full_table_name ADD TAG column_name type_name */
{
232
,
-
4
},
/* (108) alter_table_clause ::= full_table_name DROP TAG column_name */
{
232
,
-
5
},
/* (109) alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */
{
232
,
-
5
},
/* (110) alter_table_clause ::= full_table_name RENAME TAG column_name column_name */
{
232
,
-
6
},
/* (111) alter_table_clause ::= full_table_name SET TAG column_name NK_EQ literal */
{
229
,
-
1
},
/* (112) multi_create_clause ::= create_subtable_clause */
{
229
,
-
2
},
/* (113) multi_create_clause ::= multi_create_clause create_subtable_clause */
{
236
,
-
9
},
/* (114) create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_tags_opt TAGS NK_LP literal_list NK_RP */
{
231
,
-
1
},
/* (115) multi_drop_clause ::= drop_table_clause */
{
231
,
-
2
},
/* (116) multi_drop_clause ::= multi_drop_clause drop_table_clause */
{
239
,
-
2
},
/* (117) drop_table_clause ::= exists_opt full_table_name */
{
237
,
0
},
/* (118) specific_tags_opt ::= */
{
237
,
-
3
},
/* (119) specific_tags_opt ::= NK_LP col_name_list NK_RP */
{
225
,
-
1
},
/* (120) full_table_name ::= table_name */
{
225
,
-
3
},
/* (121) full_table_name ::= db_name NK_DOT table_name */
{
226
,
-
1
},
/* (122) column_def_list ::= column_def */
{
226
,
-
3
},
/* (123) column_def_list ::= column_def_list NK_COMMA column_def */
{
242
,
-
2
},
/* (124) column_def ::= column_name type_name */
{
242
,
-
4
},
/* (125) column_def ::= column_name type_name COMMENT NK_STRING */
{
235
,
-
1
},
/* (126) type_name ::= BOOL */
{
235
,
-
1
},
/* (127) type_name ::= TINYINT */
{
235
,
-
1
},
/* (128) type_name ::= SMALLINT */
{
235
,
-
1
},
/* (129) type_name ::= INT */
{
235
,
-
1
},
/* (130) type_name ::= INTEGER */
{
235
,
-
1
},
/* (131) type_name ::= BIGINT */
{
235
,
-
1
},
/* (132) type_name ::= FLOAT */
{
235
,
-
1
},
/* (133) type_name ::= DOUBLE */
{
235
,
-
4
},
/* (134) type_name ::= BINARY NK_LP NK_INTEGER NK_RP */
{
235
,
-
1
},
/* (135) type_name ::= TIMESTAMP */
{
235
,
-
4
},
/* (136) type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */
{
235
,
-
2
},
/* (137) type_name ::= TINYINT UNSIGNED */
{
235
,
-
2
},
/* (138) type_name ::= SMALLINT UNSIGNED */
{
235
,
-
2
},
/* (139) type_name ::= INT UNSIGNED */
{
235
,
-
2
},
/* (140) type_name ::= BIGINT UNSIGNED */
{
235
,
-
1
},
/* (141) type_name ::= JSON */
{
235
,
-
4
},
/* (142) type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */
{
235
,
-
1
},
/* (143) type_name ::= MEDIUMBLOB */
{
235
,
-
1
},
/* (144) type_name ::= BLOB */
{
235
,
-
4
},
/* (145) type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */
{
235
,
-
1
},
/* (146) type_name ::= DECIMAL */
{
235
,
-
4
},
/* (147) type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */
{
235
,
-
6
},
/* (148) type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */
{
227
,
0
},
/* (149) tags_def_opt ::= */
{
227
,
-
1
},
/* (150) tags_def_opt ::= tags_def */
{
230
,
-
4
},
/* (151) tags_def ::= TAGS NK_LP column_def_list NK_RP */
{
228
,
0
},
/* (152) table_options ::= */
{
228
,
-
3
},
/* (153) table_options ::= table_options COMMENT NK_STRING */
{
228
,
-
3
},
/* (154) table_options ::= table_options KEEP integer_list */
{
228
,
-
3
},
/* (155) table_options ::= table_options TTL NK_INTEGER */
{
228
,
-
5
},
/* (156) table_options ::= table_options SMA NK_LP col_name_list NK_RP */
{
228
,
-
5
},
/* (157) table_options ::= table_options ROLLUP NK_LP func_name_list NK_RP */
{
228
,
-
3
},
/* (158) table_options ::= table_options FILE_FACTOR NK_FLOAT */
{
228
,
-
3
},
/* (159) table_options ::= table_options DELAY NK_INTEGER */
{
233
,
-
1
},
/* (160) alter_table_options ::= alter_table_option */
{
233
,
-
2
},
/* (161) alter_table_options ::= alter_table_options alter_table_option */
{
244
,
-
2
},
/* (162) alter_table_option ::= COMMENT NK_STRING */
{
244
,
-
2
},
/* (163) alter_table_option ::= KEEP integer_list */
{
244
,
-
2
},
/* (164) alter_table_option ::= TTL NK_INTEGER */
{
240
,
-
1
},
/* (165) col_name_list ::= col_name */
{
240
,
-
3
},
/* (166) col_name_list ::= col_name_list NK_COMMA col_name */
{
245
,
-
1
},
/* (167) col_name ::= column_name */
{
207
,
-
2
},
/* (168) cmd ::= SHOW DNODES */
{
207
,
-
2
},
/* (169) cmd ::= SHOW USERS */
{
207
,
-
2
},
/* (170) cmd ::= SHOW DATABASES */
{
207
,
-
4
},
/* (171) cmd ::= SHOW db_name_cond_opt TABLES like_pattern_opt */
{
207
,
-
4
},
/* (172) cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */
{
207
,
-
3
},
/* (173) cmd ::= SHOW db_name_cond_opt VGROUPS */
{
207
,
-
2
},
/* (174) cmd ::= SHOW MNODES */
{
207
,
-
2
},
/* (175) cmd ::= SHOW MODULES */
{
207
,
-
2
},
/* (176) cmd ::= SHOW QNODES */
{
207
,
-
2
},
/* (177) cmd ::= SHOW FUNCTIONS */
{
207
,
-
5
},
/* (178) cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */
{
207
,
-
2
},
/* (179) cmd ::= SHOW STREAMS */
{
207
,
-
2
},
/* (180) cmd ::= SHOW ACCOUNTS */
{
207
,
-
2
},
/* (181) cmd ::= SHOW APPS */
{
207
,
-
2
},
/* (182) cmd ::= SHOW CONNECTIONS */
{
207
,
-
2
},
/* (183) cmd ::= SHOW LICENCE */
{
207
,
-
4
},
/* (184) cmd ::= SHOW CREATE DATABASE db_name */
{
207
,
-
4
},
/* (185) cmd ::= SHOW CREATE TABLE full_table_name */
{
207
,
-
4
},
/* (186) cmd ::= SHOW CREATE STABLE full_table_name */
{
207
,
-
2
},
/* (187) cmd ::= SHOW QUERIES */
{
207
,
-
2
},
/* (188) cmd ::= SHOW SCORES */
{
207
,
-
2
},
/* (189) cmd ::= SHOW TOPICS */
{
207
,
-
2
},
/* (190) cmd ::= SHOW VARIABLES */
{
207
,
-
2
},
/* (191) cmd ::= SHOW BNODES */
{
207
,
-
2
},
/* (192) cmd ::= SHOW SNODES */
{
246
,
0
},
/* (193) db_name_cond_opt ::= */
{
246
,
-
2
},
/* (194) db_name_cond_opt ::= db_name NK_DOT */
{
247
,
0
},
/* (195) like_pattern_opt ::= */
{
247
,
-
2
},
/* (196) like_pattern_opt ::= LIKE NK_STRING */
{
248
,
-
1
},
/* (197) table_name_cond ::= table_name */
{
249
,
0
},
/* (198) from_db_opt ::= */
{
249
,
-
2
},
/* (199) from_db_opt ::= FROM db_name */
{
243
,
-
1
},
/* (200) func_name_list ::= func_name */
{
243
,
-
3
},
/* (201) func_name_list ::= func_name_list NK_COMMA col_name */
{
250
,
-
1
},
/* (202) func_name ::= function_name */
{
207
,
-
8
},
/* (203) cmd ::= CREATE SMA INDEX not_exists_opt index_name ON table_name index_options */
{
207
,
-
10
},
/* (204) cmd ::= CREATE FULLTEXT INDEX not_exists_opt index_name ON table_name NK_LP col_name_list NK_RP */
{
207
,
-
6
},
/* (205) cmd ::= DROP INDEX exists_opt index_name ON table_name */
{
253
,
0
},
/* (206) index_options ::= */
{
253
,
-
9
},
/* (207) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt */
{
253
,
-
11
},
/* (208) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt */
{
254
,
-
1
},
/* (209) func_list ::= func */
{
254
,
-
3
},
/* (210) func_list ::= func_list NK_COMMA func */
{
257
,
-
4
},
/* (211) func ::= function_name NK_LP expression_list NK_RP */
{
207
,
-
6
},
/* (212) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_expression */
{
207
,
-
6
},
/* (213) cmd ::= CREATE TOPIC not_exists_opt topic_name AS db_name */
{
207
,
-
4
},
/* (214) cmd ::= DROP TOPIC exists_opt topic_name */
{
207
,
-
2
},
/* (215) cmd ::= DESC full_table_name */
{
207
,
-
2
},
/* (216) cmd ::= DESCRIBE full_table_name */
{
207
,
-
3
},
/* (217) cmd ::= RESET QUERY CACHE */
{
207
,
-
4
},
/* (218) cmd ::= EXPLAIN analyze_opt explain_options query_expression */
{
261
,
0
},
/* (219) analyze_opt ::= */
{
261
,
-
1
},
/* (220) analyze_opt ::= ANALYZE */
{
262
,
0
},
/* (221) explain_options ::= */
{
262
,
-
3
},
/* (222) explain_options ::= explain_options VERBOSE NK_BOOL */
{
262
,
-
3
},
/* (223) explain_options ::= explain_options RATIO NK_FLOAT */
{
207
,
-
6
},
/* (224) cmd ::= COMPACT VNODES IN NK_LP integer_list NK_RP */
{
207
,
-
9
},
/* (225) cmd ::= CREATE agg_func_opt FUNCTION function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt */
{
207
,
-
3
},
/* (226) cmd ::= DROP FUNCTION function_name */
{
263
,
0
},
/* (227) agg_func_opt ::= */
{
263
,
-
1
},
/* (228) agg_func_opt ::= AGGREGATE */
{
264
,
0
},
/* (229) bufsize_opt ::= */
{
264
,
-
2
},
/* (230) bufsize_opt ::= BUFSIZE NK_INTEGER */
{
207
,
-
7
},
/* (231) cmd ::= CREATE STREAM stream_name INTO table_name AS query_expression */
{
207
,
-
3
},
/* (232) cmd ::= DROP STREAM stream_name */
{
207
,
-
3
},
/* (233) cmd ::= KILL CONNECTION NK_INTEGER */
{
207
,
-
3
},
/* (234) cmd ::= KILL QUERY NK_INTEGER */
{
207
,
-
4
},
/* (235) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */
{
207
,
-
4
},
/* (236) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */
{
207
,
-
3
},
/* (237) cmd ::= SPLIT VGROUP NK_INTEGER */
{
266
,
-
2
},
/* (238) dnode_list ::= DNODE NK_INTEGER */
{
266
,
-
3
},
/* (239) dnode_list ::= dnode_list DNODE NK_INTEGER */
{
207
,
-
3
},
/* (240) cmd ::= SYNCDB db_name REPLICA */
{
207
,
-
1
},
/* (241) cmd ::= query_expression */
{
210
,
-
1
},
/* (242) literal ::= NK_INTEGER */
{
210
,
-
1
},
/* (243) literal ::= NK_FLOAT */
{
210
,
-
1
},
/* (244) literal ::= NK_STRING */
{
210
,
-
1
},
/* (245) literal ::= NK_BOOL */
{
210
,
-
2
},
/* (246) literal ::= TIMESTAMP NK_STRING */
{
210
,
-
1
},
/* (247) literal ::= duration_literal */
{
210
,
-
1
},
/* (248) literal ::= NULL */
{
255
,
-
1
},
/* (249) duration_literal ::= NK_VARIABLE */
{
267
,
-
1
},
/* (250) signed ::= NK_INTEGER */
{
267
,
-
2
},
/* (251) signed ::= NK_PLUS NK_INTEGER */
{
267
,
-
2
},
/* (252) signed ::= NK_MINUS NK_INTEGER */
{
267
,
-
1
},
/* (253) signed ::= NK_FLOAT */
{
267
,
-
2
},
/* (254) signed ::= NK_PLUS NK_FLOAT */
{
267
,
-
2
},
/* (255) signed ::= NK_MINUS NK_FLOAT */
{
268
,
-
1
},
/* (256) signed_literal ::= signed */
{
268
,
-
1
},
/* (257) signed_literal ::= NK_STRING */
{
268
,
-
1
},
/* (258) signed_literal ::= NK_BOOL */
{
268
,
-
2
},
/* (259) signed_literal ::= TIMESTAMP NK_STRING */
{
268
,
-
1
},
/* (260) signed_literal ::= duration_literal */
{
268
,
-
1
},
/* (261) signed_literal ::= NULL */
{
238
,
-
1
},
/* (262) literal_list ::= signed_literal */
{
238
,
-
3
},
/* (263) literal_list ::= literal_list NK_COMMA signed_literal */
{
216
,
-
1
},
/* (264) db_name ::= NK_ID */
{
241
,
-
1
},
/* (265) table_name ::= NK_ID */
{
234
,
-
1
},
/* (266) column_name ::= NK_ID */
{
251
,
-
1
},
/* (267) function_name ::= NK_ID */
{
251
,
-
1
},
/* (268) function_name ::= FIRST */
{
251
,
-
1
},
/* (269) function_name ::= LAST */
{
269
,
-
1
},
/* (270) table_alias ::= NK_ID */
{
270
,
-
1
},
/* (271) column_alias ::= NK_ID */
{
212
,
-
1
},
/* (272) user_name ::= NK_ID */
{
252
,
-
1
},
/* (273) index_name ::= NK_ID */
{
259
,
-
1
},
/* (274) topic_name ::= NK_ID */
{
265
,
-
1
},
/* (275) stream_name ::= NK_ID */
{
271
,
-
1
},
/* (276) expression ::= literal */
{
271
,
-
1
},
/* (277) expression ::= pseudo_column */
{
271
,
-
1
},
/* (278) expression ::= column_reference */
{
271
,
-
4
},
/* (279) expression ::= function_name NK_LP expression_list NK_RP */
{
271
,
-
4
},
/* (280) expression ::= function_name NK_LP NK_STAR NK_RP */
{
271
,
-
1
},
/* (281) expression ::= subquery */
{
271
,
-
3
},
/* (282) expression ::= NK_LP expression NK_RP */
{
271
,
-
2
},
/* (283) expression ::= NK_PLUS expression */
{
271
,
-
2
},
/* (284) expression ::= NK_MINUS expression */
{
271
,
-
3
},
/* (285) expression ::= expression NK_PLUS expression */
{
271
,
-
3
},
/* (286) expression ::= expression NK_MINUS expression */
{
271
,
-
3
},
/* (287) expression ::= expression NK_STAR expression */
{
271
,
-
3
},
/* (288) expression ::= expression NK_SLASH expression */
{
271
,
-
3
},
/* (289) expression ::= expression NK_REM expression */
{
258
,
-
1
},
/* (290) expression_list ::= expression */
{
258
,
-
3
},
/* (291) expression_list ::= expression_list NK_COMMA expression */
{
273
,
-
1
},
/* (292) column_reference ::= column_name */
{
273
,
-
3
},
/* (293) column_reference ::= table_name NK_DOT column_name */
{
272
,
-
1
},
/* (294) pseudo_column ::= NOW */
{
272
,
-
1
},
/* (295) pseudo_column ::= ROWTS */
{
272
,
-
1
},
/* (296) pseudo_column ::= TBNAME */
{
272
,
-
1
},
/* (297) pseudo_column ::= QSTARTTS */
{
272
,
-
1
},
/* (298) pseudo_column ::= QENDTS */
{
272
,
-
1
},
/* (299) pseudo_column ::= WSTARTTS */
{
272
,
-
1
},
/* (300) pseudo_column ::= WENDTS */
{
272
,
-
1
},
/* (301) pseudo_column ::= WDURATION */
{
275
,
-
3
},
/* (302) predicate ::= expression compare_op expression */
{
275
,
-
5
},
/* (303) predicate ::= expression BETWEEN expression AND expression */
{
275
,
-
6
},
/* (304) predicate ::= expression NOT BETWEEN expression AND expression */
{
275
,
-
3
},
/* (305) predicate ::= expression IS NULL */
{
275
,
-
4
},
/* (306) predicate ::= expression IS NOT NULL */
{
275
,
-
3
},
/* (307) predicate ::= expression in_op in_predicate_value */
{
276
,
-
1
},
/* (308) compare_op ::= NK_LT */
{
276
,
-
1
},
/* (309) compare_op ::= NK_GT */
{
276
,
-
1
},
/* (310) compare_op ::= NK_LE */
{
276
,
-
1
},
/* (311) compare_op ::= NK_GE */
{
276
,
-
1
},
/* (312) compare_op ::= NK_NE */
{
276
,
-
1
},
/* (313) compare_op ::= NK_EQ */
{
276
,
-
1
},
/* (314) compare_op ::= LIKE */
{
276
,
-
2
},
/* (315) compare_op ::= NOT LIKE */
{
276
,
-
1
},
/* (316) compare_op ::= MATCH */
{
276
,
-
1
},
/* (317) compare_op ::= NMATCH */
{
277
,
-
1
},
/* (318) in_op ::= IN */
{
277
,
-
2
},
/* (319) in_op ::= NOT IN */
{
278
,
-
3
},
/* (320) in_predicate_value ::= NK_LP expression_list NK_RP */
{
279
,
-
1
},
/* (321) boolean_value_expression ::= boolean_primary */
{
279
,
-
2
},
/* (322) boolean_value_expression ::= NOT boolean_primary */
{
279
,
-
3
},
/* (323) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */
{
279
,
-
3
},
/* (324) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */
{
280
,
-
1
},
/* (325) boolean_primary ::= predicate */
{
280
,
-
3
},
/* (326) boolean_primary ::= NK_LP boolean_value_expression NK_RP */
{
281
,
-
1
},
/* (327) common_expression ::= expression */
{
281
,
-
1
},
/* (328) common_expression ::= boolean_value_expression */
{
282
,
-
2
},
/* (329) from_clause ::= FROM table_reference_list */
{
283
,
-
1
},
/* (330) table_reference_list ::= table_reference */
{
283
,
-
3
},
/* (331) table_reference_list ::= table_reference_list NK_COMMA table_reference */
{
284
,
-
1
},
/* (332) table_reference ::= table_primary */
{
284
,
-
1
},
/* (333) table_reference ::= joined_table */
{
285
,
-
2
},
/* (334) table_primary ::= table_name alias_opt */
{
285
,
-
4
},
/* (335) table_primary ::= db_name NK_DOT table_name alias_opt */
{
285
,
-
2
},
/* (336) table_primary ::= subquery alias_opt */
{
285
,
-
1
},
/* (337) table_primary ::= parenthesized_joined_table */
{
287
,
0
},
/* (338) alias_opt ::= */
{
287
,
-
1
},
/* (339) alias_opt ::= table_alias */
{
287
,
-
2
},
/* (340) alias_opt ::= AS table_alias */
{
288
,
-
3
},
/* (341) parenthesized_joined_table ::= NK_LP joined_table NK_RP */
{
288
,
-
3
},
/* (342) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */
{
286
,
-
6
},
/* (343) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */
{
289
,
0
},
/* (344) join_type ::= */
{
289
,
-
1
},
/* (345) join_type ::= INNER */
{
291
,
-
9
},
/* (346) 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 */
{
292
,
0
},
/* (347) set_quantifier_opt ::= */
{
292
,
-
1
},
/* (348) set_quantifier_opt ::= DISTINCT */
{
292
,
-
1
},
/* (349) set_quantifier_opt ::= ALL */
{
293
,
-
1
},
/* (350) select_list ::= NK_STAR */
{
293
,
-
1
},
/* (351) select_list ::= select_sublist */
{
299
,
-
1
},
/* (352) select_sublist ::= select_item */
{
299
,
-
3
},
/* (353) select_sublist ::= select_sublist NK_COMMA select_item */
{
300
,
-
1
},
/* (354) select_item ::= common_expression */
{
300
,
-
2
},
/* (355) select_item ::= common_expression column_alias */
{
300
,
-
3
},
/* (356) select_item ::= common_expression AS column_alias */
{
300
,
-
3
},
/* (357) select_item ::= table_name NK_DOT NK_STAR */
{
294
,
0
},
/* (358) where_clause_opt ::= */
{
294
,
-
2
},
/* (359) where_clause_opt ::= WHERE search_condition */
{
295
,
0
},
/* (360) partition_by_clause_opt ::= */
{
295
,
-
3
},
/* (361) partition_by_clause_opt ::= PARTITION BY expression_list */
{
296
,
0
},
/* (362) twindow_clause_opt ::= */
{
296
,
-
6
},
/* (363) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */
{
296
,
-
4
},
/* (364) twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP */
{
296
,
-
6
},
/* (365) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */
{
296
,
-
8
},
/* (366) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */
{
256
,
0
},
/* (367) sliding_opt ::= */
{
256
,
-
4
},
/* (368) sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */
{
301
,
0
},
/* (369) fill_opt ::= */
{
301
,
-
4
},
/* (370) fill_opt ::= FILL NK_LP fill_mode NK_RP */
{
301
,
-
6
},
/* (371) fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */
{
302
,
-
1
},
/* (372) fill_mode ::= NONE */
{
302
,
-
1
},
/* (373) fill_mode ::= PREV */
{
302
,
-
1
},
/* (374) fill_mode ::= NULL */
{
302
,
-
1
},
/* (375) fill_mode ::= LINEAR */
{
302
,
-
1
},
/* (376) fill_mode ::= NEXT */
{
297
,
0
},
/* (377) group_by_clause_opt ::= */
{
297
,
-
3
},
/* (378) group_by_clause_opt ::= GROUP BY group_by_list */
{
303
,
-
1
},
/* (379) group_by_list ::= expression */
{
303
,
-
3
},
/* (380) group_by_list ::= group_by_list NK_COMMA expression */
{
298
,
0
},
/* (381) having_clause_opt ::= */
{
298
,
-
2
},
/* (382) having_clause_opt ::= HAVING search_condition */
{
260
,
-
4
},
/* (383) query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt */
{
304
,
-
1
},
/* (384) query_expression_body ::= query_primary */
{
304
,
-
4
},
/* (385) query_expression_body ::= query_expression_body UNION ALL query_expression_body */
{
308
,
-
1
},
/* (386) query_primary ::= query_specification */
{
305
,
0
},
/* (387) order_by_clause_opt ::= */
{
305
,
-
3
},
/* (388) order_by_clause_opt ::= ORDER BY sort_specification_list */
{
306
,
0
},
/* (389) slimit_clause_opt ::= */
{
306
,
-
2
},
/* (390) slimit_clause_opt ::= SLIMIT NK_INTEGER */
{
306
,
-
4
},
/* (391) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */
{
306
,
-
4
},
/* (392) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */
{
307
,
0
},
/* (393) limit_clause_opt ::= */
{
307
,
-
2
},
/* (394) limit_clause_opt ::= LIMIT NK_INTEGER */
{
307
,
-
4
},
/* (395) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */
{
307
,
-
4
},
/* (396) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */
{
274
,
-
3
},
/* (397) subquery ::= NK_LP query_expression NK_RP */
{
290
,
-
1
},
/* (398) search_condition ::= common_expression */
{
309
,
-
1
},
/* (399) sort_specification_list ::= sort_specification */
{
309
,
-
3
},
/* (400) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */
{
310
,
-
3
},
/* (401) sort_specification ::= expression ordering_specification_opt null_ordering_opt */
{
311
,
0
},
/* (402) ordering_specification_opt ::= */
{
311
,
-
1
},
/* (403) ordering_specification_opt ::= ASC */
{
311
,
-
1
},
/* (404) ordering_specification_opt ::= DESC */
{
312
,
0
},
/* (405) null_ordering_opt ::= */
{
312
,
-
2
},
/* (406) null_ordering_opt ::= NULLS FIRST */
{
312
,
-
2
},
/* (407) 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
[]
=
{
207
,
/* (0) cmd ::= CREATE ACCOUNT NK_ID PASS NK_STRING account_options */
207
,
/* (1) cmd ::= ALTER ACCOUNT NK_ID alter_account_options */
208
,
/* (2) account_options ::= */
208
,
/* (3) account_options ::= account_options PPS literal */
208
,
/* (4) account_options ::= account_options TSERIES literal */
208
,
/* (5) account_options ::= account_options STORAGE literal */
208
,
/* (6) account_options ::= account_options STREAMS literal */
208
,
/* (7) account_options ::= account_options QTIME literal */
208
,
/* (8) account_options ::= account_options DBS literal */
208
,
/* (9) account_options ::= account_options USERS literal */
208
,
/* (10) account_options ::= account_options CONNS literal */
208
,
/* (11) account_options ::= account_options STATE literal */
209
,
/* (12) alter_account_options ::= alter_account_option */
209
,
/* (13) alter_account_options ::= alter_account_options alter_account_option */
211
,
/* (14) alter_account_option ::= PASS literal */
211
,
/* (15) alter_account_option ::= PPS literal */
211
,
/* (16) alter_account_option ::= TSERIES literal */
211
,
/* (17) alter_account_option ::= STORAGE literal */
211
,
/* (18) alter_account_option ::= STREAMS literal */
211
,
/* (19) alter_account_option ::= QTIME literal */
211
,
/* (20) alter_account_option ::= DBS literal */
211
,
/* (21) alter_account_option ::= USERS literal */
211
,
/* (22) alter_account_option ::= CONNS literal */
211
,
/* (23) alter_account_option ::= STATE literal */
207
,
/* (24) cmd ::= CREATE USER user_name PASS NK_STRING */
207
,
/* (25) cmd ::= ALTER USER user_name PASS NK_STRING */
207
,
/* (26) cmd ::= ALTER USER user_name PRIVILEGE NK_STRING */
207
,
/* (27) cmd ::= DROP USER user_name */
207
,
/* (28) cmd ::= CREATE DNODE dnode_endpoint */
207
,
/* (29) cmd ::= CREATE DNODE dnode_host_name PORT NK_INTEGER */
207
,
/* (30) cmd ::= DROP DNODE NK_INTEGER */
207
,
/* (31) cmd ::= DROP DNODE dnode_endpoint */
207
,
/* (32) cmd ::= ALTER DNODE NK_INTEGER NK_STRING */
207
,
/* (33) cmd ::= ALTER DNODE NK_INTEGER NK_STRING NK_STRING */
207
,
/* (34) cmd ::= ALTER ALL DNODES NK_STRING */
207
,
/* (35) cmd ::= ALTER ALL DNODES NK_STRING NK_STRING */
213
,
/* (36) dnode_endpoint ::= NK_STRING */
214
,
/* (37) dnode_host_name ::= NK_ID */
214
,
/* (38) dnode_host_name ::= NK_IPTOKEN */
207
,
/* (39) cmd ::= ALTER LOCAL NK_STRING */
207
,
/* (40) cmd ::= ALTER LOCAL NK_STRING NK_STRING */
207
,
/* (41) cmd ::= CREATE QNODE ON DNODE NK_INTEGER */
207
,
/* (42) cmd ::= DROP QNODE ON DNODE NK_INTEGER */
207
,
/* (43) cmd ::= CREATE BNODE ON DNODE NK_INTEGER */
207
,
/* (44) cmd ::= DROP BNODE ON DNODE NK_INTEGER */
207
,
/* (45) cmd ::= CREATE SNODE ON DNODE NK_INTEGER */
207
,
/* (46) cmd ::= DROP SNODE ON DNODE NK_INTEGER */
207
,
/* (47) cmd ::= CREATE MNODE ON DNODE NK_INTEGER */
207
,
/* (48) cmd ::= DROP MNODE ON DNODE NK_INTEGER */
207
,
/* (49) cmd ::= CREATE DATABASE not_exists_opt db_name db_options */
207
,
/* (50) cmd ::= DROP DATABASE exists_opt db_name */
207
,
/* (51) cmd ::= USE db_name */
207
,
/* (52) cmd ::= ALTER DATABASE db_name alter_db_options */
215
,
/* (53) not_exists_opt ::= IF NOT EXISTS */
215
,
/* (54) not_exists_opt ::= */
218
,
/* (55) exists_opt ::= IF EXISTS */
218
,
/* (56) exists_opt ::= */
217
,
/* (57) db_options ::= */
217
,
/* (58) db_options ::= db_options BLOCKS NK_INTEGER */
217
,
/* (59) db_options ::= db_options CACHE NK_INTEGER */
217
,
/* (60) db_options ::= db_options CACHELAST NK_INTEGER */
217
,
/* (61) db_options ::= db_options COMP NK_INTEGER */
217
,
/* (62) db_options ::= db_options DAYS NK_INTEGER */
217
,
/* (63) db_options ::= db_options DAYS NK_VARIABLE */
217
,
/* (64) db_options ::= db_options FSYNC NK_INTEGER */
217
,
/* (65) db_options ::= db_options MAXROWS NK_INTEGER */
217
,
/* (66) db_options ::= db_options MINROWS NK_INTEGER */
217
,
/* (67) db_options ::= db_options KEEP integer_list */
217
,
/* (68) db_options ::= db_options KEEP variable_list */
217
,
/* (69) db_options ::= db_options PRECISION NK_STRING */
217
,
/* (70) db_options ::= db_options QUORUM NK_INTEGER */
217
,
/* (71) db_options ::= db_options REPLICA NK_INTEGER */
217
,
/* (72) db_options ::= db_options TTL NK_INTEGER */
217
,
/* (73) db_options ::= db_options WAL NK_INTEGER */
217
,
/* (74) db_options ::= db_options VGROUPS NK_INTEGER */
217
,
/* (75) db_options ::= db_options SINGLE_STABLE NK_INTEGER */
217
,
/* (76) db_options ::= db_options STREAM_MODE NK_INTEGER */
217
,
/* (77) db_options ::= db_options RETENTIONS retention_list */
219
,
/* (78) alter_db_options ::= alter_db_option */
219
,
/* (79) alter_db_options ::= alter_db_options alter_db_option */
223
,
/* (80) alter_db_option ::= BLOCKS NK_INTEGER */
223
,
/* (81) alter_db_option ::= FSYNC NK_INTEGER */
223
,
/* (82) alter_db_option ::= KEEP integer_list */
223
,
/* (83) alter_db_option ::= KEEP variable_list */
223
,
/* (84) alter_db_option ::= WAL NK_INTEGER */
223
,
/* (85) alter_db_option ::= QUORUM NK_INTEGER */
223
,
/* (86) alter_db_option ::= CACHELAST NK_INTEGER */
223
,
/* (87) alter_db_option ::= REPLICA NK_INTEGER */
220
,
/* (88) integer_list ::= NK_INTEGER */
220
,
/* (89) integer_list ::= integer_list NK_COMMA NK_INTEGER */
221
,
/* (90) variable_list ::= NK_VARIABLE */
221
,
/* (91) variable_list ::= variable_list NK_COMMA NK_VARIABLE */
222
,
/* (92) retention_list ::= retention */
222
,
/* (93) retention_list ::= retention_list NK_COMMA retention */
224
,
/* (94) retention ::= NK_VARIABLE NK_COLON NK_VARIABLE */
207
,
/* (95) cmd ::= CREATE TABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def_opt table_options */
207
,
/* (96) cmd ::= CREATE TABLE multi_create_clause */
207
,
/* (97) cmd ::= CREATE STABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def table_options */
207
,
/* (98) cmd ::= DROP TABLE multi_drop_clause */
207
,
/* (99) cmd ::= DROP STABLE exists_opt full_table_name */
207
,
/* (100) cmd ::= ALTER TABLE alter_table_clause */
207
,
/* (101) cmd ::= ALTER STABLE alter_table_clause */
232
,
/* (102) alter_table_clause ::= full_table_name alter_table_options */
232
,
/* (103) alter_table_clause ::= full_table_name ADD COLUMN column_name type_name */
232
,
/* (104) alter_table_clause ::= full_table_name DROP COLUMN column_name */
232
,
/* (105) alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */
232
,
/* (106) alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */
232
,
/* (107) alter_table_clause ::= full_table_name ADD TAG column_name type_name */
232
,
/* (108) alter_table_clause ::= full_table_name DROP TAG column_name */
232
,
/* (109) alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */
232
,
/* (110) alter_table_clause ::= full_table_name RENAME TAG column_name column_name */
232
,
/* (111) alter_table_clause ::= full_table_name SET TAG column_name NK_EQ literal */
229
,
/* (112) multi_create_clause ::= create_subtable_clause */
229
,
/* (113) multi_create_clause ::= multi_create_clause create_subtable_clause */
236
,
/* (114) create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_tags_opt TAGS NK_LP literal_list NK_RP */
231
,
/* (115) multi_drop_clause ::= drop_table_clause */
231
,
/* (116) multi_drop_clause ::= multi_drop_clause drop_table_clause */
239
,
/* (117) drop_table_clause ::= exists_opt full_table_name */
237
,
/* (118) specific_tags_opt ::= */
237
,
/* (119) specific_tags_opt ::= NK_LP col_name_list NK_RP */
225
,
/* (120) full_table_name ::= table_name */
225
,
/* (121) full_table_name ::= db_name NK_DOT table_name */
226
,
/* (122) column_def_list ::= column_def */
226
,
/* (123) column_def_list ::= column_def_list NK_COMMA column_def */
242
,
/* (124) column_def ::= column_name type_name */
242
,
/* (125) column_def ::= column_name type_name COMMENT NK_STRING */
235
,
/* (126) type_name ::= BOOL */
235
,
/* (127) type_name ::= TINYINT */
235
,
/* (128) type_name ::= SMALLINT */
235
,
/* (129) type_name ::= INT */
235
,
/* (130) type_name ::= INTEGER */
235
,
/* (131) type_name ::= BIGINT */
235
,
/* (132) type_name ::= FLOAT */
235
,
/* (133) type_name ::= DOUBLE */
235
,
/* (134) type_name ::= BINARY NK_LP NK_INTEGER NK_RP */
235
,
/* (135) type_name ::= TIMESTAMP */
235
,
/* (136) type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */
235
,
/* (137) type_name ::= TINYINT UNSIGNED */
235
,
/* (138) type_name ::= SMALLINT UNSIGNED */
235
,
/* (139) type_name ::= INT UNSIGNED */
235
,
/* (140) type_name ::= BIGINT UNSIGNED */
235
,
/* (141) type_name ::= JSON */
235
,
/* (142) type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */
235
,
/* (143) type_name ::= MEDIUMBLOB */
235
,
/* (144) type_name ::= BLOB */
235
,
/* (145) type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */
235
,
/* (146) type_name ::= DECIMAL */
235
,
/* (147) type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */
235
,
/* (148) type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */
227
,
/* (149) tags_def_opt ::= */
227
,
/* (150) tags_def_opt ::= tags_def */
230
,
/* (151) tags_def ::= TAGS NK_LP column_def_list NK_RP */
228
,
/* (152) table_options ::= */
228
,
/* (153) table_options ::= table_options COMMENT NK_STRING */
228
,
/* (154) table_options ::= table_options KEEP integer_list */
228
,
/* (155) table_options ::= table_options TTL NK_INTEGER */
228
,
/* (156) table_options ::= table_options SMA NK_LP col_name_list NK_RP */
228
,
/* (157) table_options ::= table_options ROLLUP NK_LP func_name_list NK_RP */
228
,
/* (158) table_options ::= table_options FILE_FACTOR NK_FLOAT */
228
,
/* (159) table_options ::= table_options DELAY NK_INTEGER */
233
,
/* (160) alter_table_options ::= alter_table_option */
233
,
/* (161) alter_table_options ::= alter_table_options alter_table_option */
244
,
/* (162) alter_table_option ::= COMMENT NK_STRING */
244
,
/* (163) alter_table_option ::= KEEP integer_list */
244
,
/* (164) alter_table_option ::= TTL NK_INTEGER */
240
,
/* (165) col_name_list ::= col_name */
240
,
/* (166) col_name_list ::= col_name_list NK_COMMA col_name */
245
,
/* (167) col_name ::= column_name */
207
,
/* (168) cmd ::= SHOW DNODES */
207
,
/* (169) cmd ::= SHOW USERS */
207
,
/* (170) cmd ::= SHOW DATABASES */
207
,
/* (171) cmd ::= SHOW db_name_cond_opt TABLES like_pattern_opt */
207
,
/* (172) cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */
207
,
/* (173) cmd ::= SHOW db_name_cond_opt VGROUPS */
207
,
/* (174) cmd ::= SHOW MNODES */
207
,
/* (175) cmd ::= SHOW MODULES */
207
,
/* (176) cmd ::= SHOW QNODES */
207
,
/* (177) cmd ::= SHOW FUNCTIONS */
207
,
/* (178) cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */
207
,
/* (179) cmd ::= SHOW STREAMS */
207
,
/* (180) cmd ::= SHOW ACCOUNTS */
207
,
/* (181) cmd ::= SHOW APPS */
207
,
/* (182) cmd ::= SHOW CONNECTIONS */
207
,
/* (183) cmd ::= SHOW LICENCE */
207
,
/* (184) cmd ::= SHOW CREATE DATABASE db_name */
207
,
/* (185) cmd ::= SHOW CREATE TABLE full_table_name */
207
,
/* (186) cmd ::= SHOW CREATE STABLE full_table_name */
207
,
/* (187) cmd ::= SHOW QUERIES */
207
,
/* (188) cmd ::= SHOW SCORES */
207
,
/* (189) cmd ::= SHOW TOPICS */
207
,
/* (190) cmd ::= SHOW VARIABLES */
207
,
/* (191) cmd ::= SHOW BNODES */
207
,
/* (192) cmd ::= SHOW SNODES */
246
,
/* (193) db_name_cond_opt ::= */
246
,
/* (194) db_name_cond_opt ::= db_name NK_DOT */
247
,
/* (195) like_pattern_opt ::= */
247
,
/* (196) like_pattern_opt ::= LIKE NK_STRING */
248
,
/* (197) table_name_cond ::= table_name */
249
,
/* (198) from_db_opt ::= */
249
,
/* (199) from_db_opt ::= FROM db_name */
243
,
/* (200) func_name_list ::= func_name */
243
,
/* (201) func_name_list ::= func_name_list NK_COMMA col_name */
250
,
/* (202) func_name ::= function_name */
207
,
/* (203) cmd ::= CREATE SMA INDEX not_exists_opt index_name ON table_name index_options */
207
,
/* (204) cmd ::= CREATE FULLTEXT INDEX not_exists_opt index_name ON table_name NK_LP col_name_list NK_RP */
207
,
/* (205) cmd ::= DROP INDEX exists_opt index_name ON table_name */
253
,
/* (206) index_options ::= */
253
,
/* (207) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt */
253
,
/* (208) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt */
254
,
/* (209) func_list ::= func */
254
,
/* (210) func_list ::= func_list NK_COMMA func */
257
,
/* (211) func ::= function_name NK_LP expression_list NK_RP */
207
,
/* (212) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_expression */
207
,
/* (213) cmd ::= CREATE TOPIC not_exists_opt topic_name AS db_name */
207
,
/* (214) cmd ::= DROP TOPIC exists_opt topic_name */
207
,
/* (215) cmd ::= DESC full_table_name */
207
,
/* (216) cmd ::= DESCRIBE full_table_name */
207
,
/* (217) cmd ::= RESET QUERY CACHE */
207
,
/* (218) cmd ::= EXPLAIN analyze_opt explain_options query_expression */
261
,
/* (219) analyze_opt ::= */
261
,
/* (220) analyze_opt ::= ANALYZE */
262
,
/* (221) explain_options ::= */
262
,
/* (222) explain_options ::= explain_options VERBOSE NK_BOOL */
262
,
/* (223) explain_options ::= explain_options RATIO NK_FLOAT */
207
,
/* (224) cmd ::= COMPACT VNODES IN NK_LP integer_list NK_RP */
207
,
/* (225) cmd ::= CREATE agg_func_opt FUNCTION function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt */
207
,
/* (226) cmd ::= DROP FUNCTION function_name */
263
,
/* (227) agg_func_opt ::= */
263
,
/* (228) agg_func_opt ::= AGGREGATE */
264
,
/* (229) bufsize_opt ::= */
264
,
/* (230) bufsize_opt ::= BUFSIZE NK_INTEGER */
207
,
/* (231) cmd ::= CREATE STREAM stream_name INTO table_name AS query_expression */
207
,
/* (232) cmd ::= DROP STREAM stream_name */
207
,
/* (233) cmd ::= KILL CONNECTION NK_INTEGER */
207
,
/* (234) cmd ::= KILL QUERY NK_INTEGER */
207
,
/* (235) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */
207
,
/* (236) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */
207
,
/* (237) cmd ::= SPLIT VGROUP NK_INTEGER */
266
,
/* (238) dnode_list ::= DNODE NK_INTEGER */
266
,
/* (239) dnode_list ::= dnode_list DNODE NK_INTEGER */
207
,
/* (240) cmd ::= SYNCDB db_name REPLICA */
207
,
/* (241) cmd ::= query_expression */
210
,
/* (242) literal ::= NK_INTEGER */
210
,
/* (243) literal ::= NK_FLOAT */
210
,
/* (244) literal ::= NK_STRING */
210
,
/* (245) literal ::= NK_BOOL */
210
,
/* (246) literal ::= TIMESTAMP NK_STRING */
210
,
/* (247) literal ::= duration_literal */
210
,
/* (248) literal ::= NULL */
255
,
/* (249) duration_literal ::= NK_VARIABLE */
267
,
/* (250) signed ::= NK_INTEGER */
267
,
/* (251) signed ::= NK_PLUS NK_INTEGER */
267
,
/* (252) signed ::= NK_MINUS NK_INTEGER */
267
,
/* (253) signed ::= NK_FLOAT */
267
,
/* (254) signed ::= NK_PLUS NK_FLOAT */
267
,
/* (255) signed ::= NK_MINUS NK_FLOAT */
268
,
/* (256) signed_literal ::= signed */
268
,
/* (257) signed_literal ::= NK_STRING */
268
,
/* (258) signed_literal ::= NK_BOOL */
268
,
/* (259) signed_literal ::= TIMESTAMP NK_STRING */
268
,
/* (260) signed_literal ::= duration_literal */
268
,
/* (261) signed_literal ::= NULL */
238
,
/* (262) literal_list ::= signed_literal */
238
,
/* (263) literal_list ::= literal_list NK_COMMA signed_literal */
216
,
/* (264) db_name ::= NK_ID */
241
,
/* (265) table_name ::= NK_ID */
234
,
/* (266) column_name ::= NK_ID */
251
,
/* (267) function_name ::= NK_ID */
251
,
/* (268) function_name ::= FIRST */
251
,
/* (269) function_name ::= LAST */
269
,
/* (270) table_alias ::= NK_ID */
270
,
/* (271) column_alias ::= NK_ID */
212
,
/* (272) user_name ::= NK_ID */
252
,
/* (273) index_name ::= NK_ID */
259
,
/* (274) topic_name ::= NK_ID */
265
,
/* (275) stream_name ::= NK_ID */
271
,
/* (276) expression ::= literal */
271
,
/* (277) expression ::= pseudo_column */
271
,
/* (278) expression ::= column_reference */
271
,
/* (279) expression ::= function_name NK_LP expression_list NK_RP */
271
,
/* (280) expression ::= function_name NK_LP NK_STAR NK_RP */
271
,
/* (281) expression ::= function_name NK_LP expression AS type_name NK_RP */
271
,
/* (282) expression ::= subquery */
271
,
/* (283) expression ::= NK_LP expression NK_RP */
271
,
/* (284) expression ::= NK_PLUS expression */
271
,
/* (285) expression ::= NK_MINUS expression */
271
,
/* (286) expression ::= expression NK_PLUS expression */
271
,
/* (287) expression ::= expression NK_MINUS expression */
271
,
/* (288) expression ::= expression NK_STAR expression */
271
,
/* (289) expression ::= expression NK_SLASH expression */
271
,
/* (290) expression ::= expression NK_REM expression */
258
,
/* (291) expression_list ::= expression */
258
,
/* (292) expression_list ::= expression_list NK_COMMA expression */
273
,
/* (293) column_reference ::= column_name */
273
,
/* (294) column_reference ::= table_name NK_DOT column_name */
272
,
/* (295) pseudo_column ::= NOW */
272
,
/* (296) pseudo_column ::= ROWTS */
272
,
/* (297) pseudo_column ::= TBNAME */
272
,
/* (298) pseudo_column ::= QSTARTTS */
272
,
/* (299) pseudo_column ::= QENDTS */
272
,
/* (300) pseudo_column ::= WSTARTTS */
272
,
/* (301) pseudo_column ::= WENDTS */
272
,
/* (302) pseudo_column ::= WDURATION */
275
,
/* (303) predicate ::= expression compare_op expression */
275
,
/* (304) predicate ::= expression BETWEEN expression AND expression */
275
,
/* (305) predicate ::= expression NOT BETWEEN expression AND expression */
275
,
/* (306) predicate ::= expression IS NULL */
275
,
/* (307) predicate ::= expression IS NOT NULL */
275
,
/* (308) predicate ::= expression in_op in_predicate_value */
276
,
/* (309) compare_op ::= NK_LT */
276
,
/* (310) compare_op ::= NK_GT */
276
,
/* (311) compare_op ::= NK_LE */
276
,
/* (312) compare_op ::= NK_GE */
276
,
/* (313) compare_op ::= NK_NE */
276
,
/* (314) compare_op ::= NK_EQ */
276
,
/* (315) compare_op ::= LIKE */
276
,
/* (316) compare_op ::= NOT LIKE */
276
,
/* (317) compare_op ::= MATCH */
276
,
/* (318) compare_op ::= NMATCH */
277
,
/* (319) in_op ::= IN */
277
,
/* (320) in_op ::= NOT IN */
278
,
/* (321) in_predicate_value ::= NK_LP expression_list NK_RP */
279
,
/* (322) boolean_value_expression ::= boolean_primary */
279
,
/* (323) boolean_value_expression ::= NOT boolean_primary */
279
,
/* (324) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */
279
,
/* (325) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */
280
,
/* (326) boolean_primary ::= predicate */
280
,
/* (327) boolean_primary ::= NK_LP boolean_value_expression NK_RP */
281
,
/* (328) common_expression ::= expression */
281
,
/* (329) common_expression ::= boolean_value_expression */
282
,
/* (330) from_clause ::= FROM table_reference_list */
283
,
/* (331) table_reference_list ::= table_reference */
283
,
/* (332) table_reference_list ::= table_reference_list NK_COMMA table_reference */
284
,
/* (333) table_reference ::= table_primary */
284
,
/* (334) table_reference ::= joined_table */
285
,
/* (335) table_primary ::= table_name alias_opt */
285
,
/* (336) table_primary ::= db_name NK_DOT table_name alias_opt */
285
,
/* (337) table_primary ::= subquery alias_opt */
285
,
/* (338) table_primary ::= parenthesized_joined_table */
287
,
/* (339) alias_opt ::= */
287
,
/* (340) alias_opt ::= table_alias */
287
,
/* (341) alias_opt ::= AS table_alias */
288
,
/* (342) parenthesized_joined_table ::= NK_LP joined_table NK_RP */
288
,
/* (343) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */
286
,
/* (344) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */
289
,
/* (345) join_type ::= */
289
,
/* (346) join_type ::= INNER */
291
,
/* (347) 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 */
292
,
/* (348) set_quantifier_opt ::= */
292
,
/* (349) set_quantifier_opt ::= DISTINCT */
292
,
/* (350) set_quantifier_opt ::= ALL */
293
,
/* (351) select_list ::= NK_STAR */
293
,
/* (352) select_list ::= select_sublist */
299
,
/* (353) select_sublist ::= select_item */
299
,
/* (354) select_sublist ::= select_sublist NK_COMMA select_item */
300
,
/* (355) select_item ::= common_expression */
300
,
/* (356) select_item ::= common_expression column_alias */
300
,
/* (357) select_item ::= common_expression AS column_alias */
300
,
/* (358) select_item ::= table_name NK_DOT NK_STAR */
294
,
/* (359) where_clause_opt ::= */
294
,
/* (360) where_clause_opt ::= WHERE search_condition */
295
,
/* (361) partition_by_clause_opt ::= */
295
,
/* (362) partition_by_clause_opt ::= PARTITION BY expression_list */
296
,
/* (363) twindow_clause_opt ::= */
296
,
/* (364) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */
296
,
/* (365) twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP */
296
,
/* (366) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */
296
,
/* (367) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */
256
,
/* (368) sliding_opt ::= */
256
,
/* (369) sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */
301
,
/* (370) fill_opt ::= */
301
,
/* (371) fill_opt ::= FILL NK_LP fill_mode NK_RP */
301
,
/* (372) fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */
302
,
/* (373) fill_mode ::= NONE */
302
,
/* (374) fill_mode ::= PREV */
302
,
/* (375) fill_mode ::= NULL */
302
,
/* (376) fill_mode ::= LINEAR */
302
,
/* (377) fill_mode ::= NEXT */
297
,
/* (378) group_by_clause_opt ::= */
297
,
/* (379) group_by_clause_opt ::= GROUP BY group_by_list */
303
,
/* (380) group_by_list ::= expression */
303
,
/* (381) group_by_list ::= group_by_list NK_COMMA expression */
298
,
/* (382) having_clause_opt ::= */
298
,
/* (383) having_clause_opt ::= HAVING search_condition */
260
,
/* (384) query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt */
304
,
/* (385) query_expression_body ::= query_primary */
304
,
/* (386) query_expression_body ::= query_expression_body UNION ALL query_expression_body */
308
,
/* (387) query_primary ::= query_specification */
305
,
/* (388) order_by_clause_opt ::= */
305
,
/* (389) order_by_clause_opt ::= ORDER BY sort_specification_list */
306
,
/* (390) slimit_clause_opt ::= */
306
,
/* (391) slimit_clause_opt ::= SLIMIT NK_INTEGER */
306
,
/* (392) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */
306
,
/* (393) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */
307
,
/* (394) limit_clause_opt ::= */
307
,
/* (395) limit_clause_opt ::= LIMIT NK_INTEGER */
307
,
/* (396) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */
307
,
/* (397) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */
274
,
/* (398) subquery ::= NK_LP query_expression NK_RP */
290
,
/* (399) search_condition ::= common_expression */
309
,
/* (400) sort_specification_list ::= sort_specification */
309
,
/* (401) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */
310
,
/* (402) sort_specification ::= expression ordering_specification_opt null_ordering_opt */
311
,
/* (403) ordering_specification_opt ::= */
311
,
/* (404) ordering_specification_opt ::= ASC */
311
,
/* (405) ordering_specification_opt ::= DESC */
312
,
/* (406) null_ordering_opt ::= */
312
,
/* (407) null_ordering_opt ::= NULLS FIRST */
312
,
/* (408) 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 BNODE ON DNODE NK_INTEGER */
-
5
,
/* (44) cmd ::= DROP BNODE ON DNODE NK_INTEGER */
-
5
,
/* (45) cmd ::= CREATE SNODE ON DNODE NK_INTEGER */
-
5
,
/* (46) cmd ::= DROP SNODE ON DNODE NK_INTEGER */
-
5
,
/* (47) cmd ::= CREATE MNODE ON DNODE NK_INTEGER */
-
5
,
/* (48) cmd ::= DROP MNODE ON DNODE NK_INTEGER */
-
5
,
/* (49) cmd ::= CREATE DATABASE not_exists_opt db_name db_options */
-
4
,
/* (50) cmd ::= DROP DATABASE exists_opt db_name */
-
2
,
/* (51) cmd ::= USE db_name */
-
4
,
/* (52) cmd ::= ALTER DATABASE db_name alter_db_options */
-
3
,
/* (53) not_exists_opt ::= IF NOT EXISTS */
0
,
/* (54) not_exists_opt ::= */
-
2
,
/* (55) exists_opt ::= IF EXISTS */
0
,
/* (56) exists_opt ::= */
0
,
/* (57) db_options ::= */
-
3
,
/* (58) db_options ::= db_options BLOCKS NK_INTEGER */
-
3
,
/* (59) db_options ::= db_options CACHE NK_INTEGER */
-
3
,
/* (60) db_options ::= db_options CACHELAST NK_INTEGER */
-
3
,
/* (61) db_options ::= db_options COMP NK_INTEGER */
-
3
,
/* (62) db_options ::= db_options DAYS NK_INTEGER */
-
3
,
/* (63) db_options ::= db_options DAYS NK_VARIABLE */
-
3
,
/* (64) db_options ::= db_options FSYNC NK_INTEGER */
-
3
,
/* (65) db_options ::= db_options MAXROWS NK_INTEGER */
-
3
,
/* (66) db_options ::= db_options MINROWS NK_INTEGER */
-
3
,
/* (67) db_options ::= db_options KEEP integer_list */
-
3
,
/* (68) db_options ::= db_options KEEP variable_list */
-
3
,
/* (69) db_options ::= db_options PRECISION NK_STRING */
-
3
,
/* (70) db_options ::= db_options QUORUM NK_INTEGER */
-
3
,
/* (71) db_options ::= db_options REPLICA NK_INTEGER */
-
3
,
/* (72) db_options ::= db_options TTL NK_INTEGER */
-
3
,
/* (73) db_options ::= db_options WAL NK_INTEGER */
-
3
,
/* (74) db_options ::= db_options VGROUPS NK_INTEGER */
-
3
,
/* (75) db_options ::= db_options SINGLE_STABLE NK_INTEGER */
-
3
,
/* (76) db_options ::= db_options STREAM_MODE NK_INTEGER */
-
3
,
/* (77) db_options ::= db_options RETENTIONS retention_list */
-
1
,
/* (78) alter_db_options ::= alter_db_option */
-
2
,
/* (79) alter_db_options ::= alter_db_options alter_db_option */
-
2
,
/* (80) alter_db_option ::= BLOCKS NK_INTEGER */
-
2
,
/* (81) alter_db_option ::= FSYNC NK_INTEGER */
-
2
,
/* (82) alter_db_option ::= KEEP integer_list */
-
2
,
/* (83) alter_db_option ::= KEEP variable_list */
-
2
,
/* (84) alter_db_option ::= WAL NK_INTEGER */
-
2
,
/* (85) alter_db_option ::= QUORUM NK_INTEGER */
-
2
,
/* (86) alter_db_option ::= CACHELAST NK_INTEGER */
-
2
,
/* (87) alter_db_option ::= REPLICA NK_INTEGER */
-
1
,
/* (88) integer_list ::= NK_INTEGER */
-
3
,
/* (89) integer_list ::= integer_list NK_COMMA NK_INTEGER */
-
1
,
/* (90) variable_list ::= NK_VARIABLE */
-
3
,
/* (91) variable_list ::= variable_list NK_COMMA NK_VARIABLE */
-
1
,
/* (92) retention_list ::= retention */
-
3
,
/* (93) retention_list ::= retention_list NK_COMMA retention */
-
3
,
/* (94) retention ::= NK_VARIABLE NK_COLON NK_VARIABLE */
-
9
,
/* (95) cmd ::= CREATE TABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def_opt table_options */
-
3
,
/* (96) cmd ::= CREATE TABLE multi_create_clause */
-
9
,
/* (97) cmd ::= CREATE STABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def table_options */
-
3
,
/* (98) cmd ::= DROP TABLE multi_drop_clause */
-
4
,
/* (99) cmd ::= DROP STABLE exists_opt full_table_name */
-
3
,
/* (100) cmd ::= ALTER TABLE alter_table_clause */
-
3
,
/* (101) cmd ::= ALTER STABLE alter_table_clause */
-
2
,
/* (102) alter_table_clause ::= full_table_name alter_table_options */
-
5
,
/* (103) alter_table_clause ::= full_table_name ADD COLUMN column_name type_name */
-
4
,
/* (104) alter_table_clause ::= full_table_name DROP COLUMN column_name */
-
5
,
/* (105) alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */
-
5
,
/* (106) alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */
-
5
,
/* (107) alter_table_clause ::= full_table_name ADD TAG column_name type_name */
-
4
,
/* (108) alter_table_clause ::= full_table_name DROP TAG column_name */
-
5
,
/* (109) alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */
-
5
,
/* (110) alter_table_clause ::= full_table_name RENAME TAG column_name column_name */
-
6
,
/* (111) alter_table_clause ::= full_table_name SET TAG column_name NK_EQ literal */
-
1
,
/* (112) multi_create_clause ::= create_subtable_clause */
-
2
,
/* (113) multi_create_clause ::= multi_create_clause create_subtable_clause */
-
9
,
/* (114) create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_tags_opt TAGS NK_LP literal_list NK_RP */
-
1
,
/* (115) multi_drop_clause ::= drop_table_clause */
-
2
,
/* (116) multi_drop_clause ::= multi_drop_clause drop_table_clause */
-
2
,
/* (117) drop_table_clause ::= exists_opt full_table_name */
0
,
/* (118) specific_tags_opt ::= */
-
3
,
/* (119) specific_tags_opt ::= NK_LP col_name_list NK_RP */
-
1
,
/* (120) full_table_name ::= table_name */
-
3
,
/* (121) full_table_name ::= db_name NK_DOT table_name */
-
1
,
/* (122) column_def_list ::= column_def */
-
3
,
/* (123) column_def_list ::= column_def_list NK_COMMA column_def */
-
2
,
/* (124) column_def ::= column_name type_name */
-
4
,
/* (125) column_def ::= column_name type_name COMMENT NK_STRING */
-
1
,
/* (126) type_name ::= BOOL */
-
1
,
/* (127) type_name ::= TINYINT */
-
1
,
/* (128) type_name ::= SMALLINT */
-
1
,
/* (129) type_name ::= INT */
-
1
,
/* (130) type_name ::= INTEGER */
-
1
,
/* (131) type_name ::= BIGINT */
-
1
,
/* (132) type_name ::= FLOAT */
-
1
,
/* (133) type_name ::= DOUBLE */
-
4
,
/* (134) type_name ::= BINARY NK_LP NK_INTEGER NK_RP */
-
1
,
/* (135) type_name ::= TIMESTAMP */
-
4
,
/* (136) type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */
-
2
,
/* (137) type_name ::= TINYINT UNSIGNED */
-
2
,
/* (138) type_name ::= SMALLINT UNSIGNED */
-
2
,
/* (139) type_name ::= INT UNSIGNED */
-
2
,
/* (140) type_name ::= BIGINT UNSIGNED */
-
1
,
/* (141) type_name ::= JSON */
-
4
,
/* (142) type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */
-
1
,
/* (143) type_name ::= MEDIUMBLOB */
-
1
,
/* (144) type_name ::= BLOB */
-
4
,
/* (145) type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */
-
1
,
/* (146) type_name ::= DECIMAL */
-
4
,
/* (147) type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */
-
6
,
/* (148) type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */
0
,
/* (149) tags_def_opt ::= */
-
1
,
/* (150) tags_def_opt ::= tags_def */
-
4
,
/* (151) tags_def ::= TAGS NK_LP column_def_list NK_RP */
0
,
/* (152) table_options ::= */
-
3
,
/* (153) table_options ::= table_options COMMENT NK_STRING */
-
3
,
/* (154) table_options ::= table_options KEEP integer_list */
-
3
,
/* (155) table_options ::= table_options TTL NK_INTEGER */
-
5
,
/* (156) table_options ::= table_options SMA NK_LP col_name_list NK_RP */
-
5
,
/* (157) table_options ::= table_options ROLLUP NK_LP func_name_list NK_RP */
-
3
,
/* (158) table_options ::= table_options FILE_FACTOR NK_FLOAT */
-
3
,
/* (159) table_options ::= table_options DELAY NK_INTEGER */
-
1
,
/* (160) alter_table_options ::= alter_table_option */
-
2
,
/* (161) alter_table_options ::= alter_table_options alter_table_option */
-
2
,
/* (162) alter_table_option ::= COMMENT NK_STRING */
-
2
,
/* (163) alter_table_option ::= KEEP integer_list */
-
2
,
/* (164) alter_table_option ::= TTL NK_INTEGER */
-
1
,
/* (165) col_name_list ::= col_name */
-
3
,
/* (166) col_name_list ::= col_name_list NK_COMMA col_name */
-
1
,
/* (167) col_name ::= column_name */
-
2
,
/* (168) cmd ::= SHOW DNODES */
-
2
,
/* (169) cmd ::= SHOW USERS */
-
2
,
/* (170) cmd ::= SHOW DATABASES */
-
4
,
/* (171) cmd ::= SHOW db_name_cond_opt TABLES like_pattern_opt */
-
4
,
/* (172) cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */
-
3
,
/* (173) cmd ::= SHOW db_name_cond_opt VGROUPS */
-
2
,
/* (174) cmd ::= SHOW MNODES */
-
2
,
/* (175) cmd ::= SHOW MODULES */
-
2
,
/* (176) cmd ::= SHOW QNODES */
-
2
,
/* (177) cmd ::= SHOW FUNCTIONS */
-
5
,
/* (178) cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */
-
2
,
/* (179) cmd ::= SHOW STREAMS */
-
2
,
/* (180) cmd ::= SHOW ACCOUNTS */
-
2
,
/* (181) cmd ::= SHOW APPS */
-
2
,
/* (182) cmd ::= SHOW CONNECTIONS */
-
2
,
/* (183) cmd ::= SHOW LICENCE */
-
4
,
/* (184) cmd ::= SHOW CREATE DATABASE db_name */
-
4
,
/* (185) cmd ::= SHOW CREATE TABLE full_table_name */
-
4
,
/* (186) cmd ::= SHOW CREATE STABLE full_table_name */
-
2
,
/* (187) cmd ::= SHOW QUERIES */
-
2
,
/* (188) cmd ::= SHOW SCORES */
-
2
,
/* (189) cmd ::= SHOW TOPICS */
-
2
,
/* (190) cmd ::= SHOW VARIABLES */
-
2
,
/* (191) cmd ::= SHOW BNODES */
-
2
,
/* (192) cmd ::= SHOW SNODES */
0
,
/* (193) db_name_cond_opt ::= */
-
2
,
/* (194) db_name_cond_opt ::= db_name NK_DOT */
0
,
/* (195) like_pattern_opt ::= */
-
2
,
/* (196) like_pattern_opt ::= LIKE NK_STRING */
-
1
,
/* (197) table_name_cond ::= table_name */
0
,
/* (198) from_db_opt ::= */
-
2
,
/* (199) from_db_opt ::= FROM db_name */
-
1
,
/* (200) func_name_list ::= func_name */
-
3
,
/* (201) func_name_list ::= func_name_list NK_COMMA col_name */
-
1
,
/* (202) func_name ::= function_name */
-
8
,
/* (203) cmd ::= CREATE SMA INDEX not_exists_opt index_name ON table_name index_options */
-
10
,
/* (204) cmd ::= CREATE FULLTEXT INDEX not_exists_opt index_name ON table_name NK_LP col_name_list NK_RP */
-
6
,
/* (205) cmd ::= DROP INDEX exists_opt index_name ON table_name */
0
,
/* (206) index_options ::= */
-
9
,
/* (207) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt */
-
11
,
/* (208) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt */
-
1
,
/* (209) func_list ::= func */
-
3
,
/* (210) func_list ::= func_list NK_COMMA func */
-
4
,
/* (211) func ::= function_name NK_LP expression_list NK_RP */
-
6
,
/* (212) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_expression */
-
6
,
/* (213) cmd ::= CREATE TOPIC not_exists_opt topic_name AS db_name */
-
4
,
/* (214) cmd ::= DROP TOPIC exists_opt topic_name */
-
2
,
/* (215) cmd ::= DESC full_table_name */
-
2
,
/* (216) cmd ::= DESCRIBE full_table_name */
-
3
,
/* (217) cmd ::= RESET QUERY CACHE */
-
4
,
/* (218) cmd ::= EXPLAIN analyze_opt explain_options query_expression */
0
,
/* (219) analyze_opt ::= */
-
1
,
/* (220) analyze_opt ::= ANALYZE */
0
,
/* (221) explain_options ::= */
-
3
,
/* (222) explain_options ::= explain_options VERBOSE NK_BOOL */
-
3
,
/* (223) explain_options ::= explain_options RATIO NK_FLOAT */
-
6
,
/* (224) cmd ::= COMPACT VNODES IN NK_LP integer_list NK_RP */
-
9
,
/* (225) cmd ::= CREATE agg_func_opt FUNCTION function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt */
-
3
,
/* (226) cmd ::= DROP FUNCTION function_name */
0
,
/* (227) agg_func_opt ::= */
-
1
,
/* (228) agg_func_opt ::= AGGREGATE */
0
,
/* (229) bufsize_opt ::= */
-
2
,
/* (230) bufsize_opt ::= BUFSIZE NK_INTEGER */
-
7
,
/* (231) cmd ::= CREATE STREAM stream_name INTO table_name AS query_expression */
-
3
,
/* (232) cmd ::= DROP STREAM stream_name */
-
3
,
/* (233) cmd ::= KILL CONNECTION NK_INTEGER */
-
3
,
/* (234) cmd ::= KILL QUERY NK_INTEGER */
-
4
,
/* (235) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */
-
4
,
/* (236) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */
-
3
,
/* (237) cmd ::= SPLIT VGROUP NK_INTEGER */
-
2
,
/* (238) dnode_list ::= DNODE NK_INTEGER */
-
3
,
/* (239) dnode_list ::= dnode_list DNODE NK_INTEGER */
-
3
,
/* (240) cmd ::= SYNCDB db_name REPLICA */
-
1
,
/* (241) cmd ::= query_expression */
-
1
,
/* (242) literal ::= NK_INTEGER */
-
1
,
/* (243) literal ::= NK_FLOAT */
-
1
,
/* (244) literal ::= NK_STRING */
-
1
,
/* (245) literal ::= NK_BOOL */
-
2
,
/* (246) literal ::= TIMESTAMP NK_STRING */
-
1
,
/* (247) literal ::= duration_literal */
-
1
,
/* (248) literal ::= NULL */
-
1
,
/* (249) duration_literal ::= NK_VARIABLE */
-
1
,
/* (250) signed ::= NK_INTEGER */
-
2
,
/* (251) signed ::= NK_PLUS NK_INTEGER */
-
2
,
/* (252) signed ::= NK_MINUS NK_INTEGER */
-
1
,
/* (253) signed ::= NK_FLOAT */
-
2
,
/* (254) signed ::= NK_PLUS NK_FLOAT */
-
2
,
/* (255) signed ::= NK_MINUS NK_FLOAT */
-
1
,
/* (256) signed_literal ::= signed */
-
1
,
/* (257) signed_literal ::= NK_STRING */
-
1
,
/* (258) signed_literal ::= NK_BOOL */
-
2
,
/* (259) signed_literal ::= TIMESTAMP NK_STRING */
-
1
,
/* (260) signed_literal ::= duration_literal */
-
1
,
/* (261) signed_literal ::= NULL */
-
1
,
/* (262) literal_list ::= signed_literal */
-
3
,
/* (263) literal_list ::= literal_list NK_COMMA signed_literal */
-
1
,
/* (264) db_name ::= NK_ID */
-
1
,
/* (265) table_name ::= NK_ID */
-
1
,
/* (266) column_name ::= NK_ID */
-
1
,
/* (267) function_name ::= NK_ID */
-
1
,
/* (268) function_name ::= FIRST */
-
1
,
/* (269) function_name ::= LAST */
-
1
,
/* (270) table_alias ::= NK_ID */
-
1
,
/* (271) column_alias ::= NK_ID */
-
1
,
/* (272) user_name ::= NK_ID */
-
1
,
/* (273) index_name ::= NK_ID */
-
1
,
/* (274) topic_name ::= NK_ID */
-
1
,
/* (275) stream_name ::= NK_ID */
-
1
,
/* (276) expression ::= literal */
-
1
,
/* (277) expression ::= pseudo_column */
-
1
,
/* (278) expression ::= column_reference */
-
4
,
/* (279) expression ::= function_name NK_LP expression_list NK_RP */
-
4
,
/* (280) expression ::= function_name NK_LP NK_STAR NK_RP */
-
6
,
/* (281) expression ::= function_name NK_LP expression AS type_name NK_RP */
-
1
,
/* (282) expression ::= subquery */
-
3
,
/* (283) expression ::= NK_LP expression NK_RP */
-
2
,
/* (284) expression ::= NK_PLUS expression */
-
2
,
/* (285) expression ::= NK_MINUS expression */
-
3
,
/* (286) expression ::= expression NK_PLUS expression */
-
3
,
/* (287) expression ::= expression NK_MINUS expression */
-
3
,
/* (288) expression ::= expression NK_STAR expression */
-
3
,
/* (289) expression ::= expression NK_SLASH expression */
-
3
,
/* (290) expression ::= expression NK_REM expression */
-
1
,
/* (291) expression_list ::= expression */
-
3
,
/* (292) expression_list ::= expression_list NK_COMMA expression */
-
1
,
/* (293) column_reference ::= column_name */
-
3
,
/* (294) column_reference ::= table_name NK_DOT column_name */
-
1
,
/* (295) pseudo_column ::= NOW */
-
1
,
/* (296) pseudo_column ::= ROWTS */
-
1
,
/* (297) pseudo_column ::= TBNAME */
-
1
,
/* (298) pseudo_column ::= QSTARTTS */
-
1
,
/* (299) pseudo_column ::= QENDTS */
-
1
,
/* (300) pseudo_column ::= WSTARTTS */
-
1
,
/* (301) pseudo_column ::= WENDTS */
-
1
,
/* (302) pseudo_column ::= WDURATION */
-
3
,
/* (303) predicate ::= expression compare_op expression */
-
5
,
/* (304) predicate ::= expression BETWEEN expression AND expression */
-
6
,
/* (305) predicate ::= expression NOT BETWEEN expression AND expression */
-
3
,
/* (306) predicate ::= expression IS NULL */
-
4
,
/* (307) predicate ::= expression IS NOT NULL */
-
3
,
/* (308) predicate ::= expression in_op in_predicate_value */
-
1
,
/* (309) compare_op ::= NK_LT */
-
1
,
/* (310) compare_op ::= NK_GT */
-
1
,
/* (311) compare_op ::= NK_LE */
-
1
,
/* (312) compare_op ::= NK_GE */
-
1
,
/* (313) compare_op ::= NK_NE */
-
1
,
/* (314) compare_op ::= NK_EQ */
-
1
,
/* (315) compare_op ::= LIKE */
-
2
,
/* (316) compare_op ::= NOT LIKE */
-
1
,
/* (317) compare_op ::= MATCH */
-
1
,
/* (318) compare_op ::= NMATCH */
-
1
,
/* (319) in_op ::= IN */
-
2
,
/* (320) in_op ::= NOT IN */
-
3
,
/* (321) in_predicate_value ::= NK_LP expression_list NK_RP */
-
1
,
/* (322) boolean_value_expression ::= boolean_primary */
-
2
,
/* (323) boolean_value_expression ::= NOT boolean_primary */
-
3
,
/* (324) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */
-
3
,
/* (325) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */
-
1
,
/* (326) boolean_primary ::= predicate */
-
3
,
/* (327) boolean_primary ::= NK_LP boolean_value_expression NK_RP */
-
1
,
/* (328) common_expression ::= expression */
-
1
,
/* (329) common_expression ::= boolean_value_expression */
-
2
,
/* (330) from_clause ::= FROM table_reference_list */
-
1
,
/* (331) table_reference_list ::= table_reference */
-
3
,
/* (332) table_reference_list ::= table_reference_list NK_COMMA table_reference */
-
1
,
/* (333) table_reference ::= table_primary */
-
1
,
/* (334) table_reference ::= joined_table */
-
2
,
/* (335) table_primary ::= table_name alias_opt */
-
4
,
/* (336) table_primary ::= db_name NK_DOT table_name alias_opt */
-
2
,
/* (337) table_primary ::= subquery alias_opt */
-
1
,
/* (338) table_primary ::= parenthesized_joined_table */
0
,
/* (339) alias_opt ::= */
-
1
,
/* (340) alias_opt ::= table_alias */
-
2
,
/* (341) alias_opt ::= AS table_alias */
-
3
,
/* (342) parenthesized_joined_table ::= NK_LP joined_table NK_RP */
-
3
,
/* (343) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */
-
6
,
/* (344) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */
0
,
/* (345) join_type ::= */
-
1
,
/* (346) join_type ::= INNER */
-
9
,
/* (347) 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
,
/* (348) set_quantifier_opt ::= */
-
1
,
/* (349) set_quantifier_opt ::= DISTINCT */
-
1
,
/* (350) set_quantifier_opt ::= ALL */
-
1
,
/* (351) select_list ::= NK_STAR */
-
1
,
/* (352) select_list ::= select_sublist */
-
1
,
/* (353) select_sublist ::= select_item */
-
3
,
/* (354) select_sublist ::= select_sublist NK_COMMA select_item */
-
1
,
/* (355) select_item ::= common_expression */
-
2
,
/* (356) select_item ::= common_expression column_alias */
-
3
,
/* (357) select_item ::= common_expression AS column_alias */
-
3
,
/* (358) select_item ::= table_name NK_DOT NK_STAR */
0
,
/* (359) where_clause_opt ::= */
-
2
,
/* (360) where_clause_opt ::= WHERE search_condition */
0
,
/* (361) partition_by_clause_opt ::= */
-
3
,
/* (362) partition_by_clause_opt ::= PARTITION BY expression_list */
0
,
/* (363) twindow_clause_opt ::= */
-
6
,
/* (364) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */
-
4
,
/* (365) twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP */
-
6
,
/* (366) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */
-
8
,
/* (367) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */
0
,
/* (368) sliding_opt ::= */
-
4
,
/* (369) sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */
0
,
/* (370) fill_opt ::= */
-
4
,
/* (371) fill_opt ::= FILL NK_LP fill_mode NK_RP */
-
6
,
/* (372) fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */
-
1
,
/* (373) fill_mode ::= NONE */
-
1
,
/* (374) fill_mode ::= PREV */
-
1
,
/* (375) fill_mode ::= NULL */
-
1
,
/* (376) fill_mode ::= LINEAR */
-
1
,
/* (377) fill_mode ::= NEXT */
0
,
/* (378) group_by_clause_opt ::= */
-
3
,
/* (379) group_by_clause_opt ::= GROUP BY group_by_list */
-
1
,
/* (380) group_by_list ::= expression */
-
3
,
/* (381) group_by_list ::= group_by_list NK_COMMA expression */
0
,
/* (382) having_clause_opt ::= */
-
2
,
/* (383) having_clause_opt ::= HAVING search_condition */
-
4
,
/* (384) query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt */
-
1
,
/* (385) query_expression_body ::= query_primary */
-
4
,
/* (386) query_expression_body ::= query_expression_body UNION ALL query_expression_body */
-
1
,
/* (387) query_primary ::= query_specification */
0
,
/* (388) order_by_clause_opt ::= */
-
3
,
/* (389) order_by_clause_opt ::= ORDER BY sort_specification_list */
0
,
/* (390) slimit_clause_opt ::= */
-
2
,
/* (391) slimit_clause_opt ::= SLIMIT NK_INTEGER */
-
4
,
/* (392) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */
-
4
,
/* (393) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */
0
,
/* (394) limit_clause_opt ::= */
-
2
,
/* (395) limit_clause_opt ::= LIMIT NK_INTEGER */
-
4
,
/* (396) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */
-
4
,
/* (397) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */
-
3
,
/* (398) subquery ::= NK_LP query_expression NK_RP */
-
1
,
/* (399) search_condition ::= common_expression */
-
1
,
/* (400) sort_specification_list ::= sort_specification */
-
3
,
/* (401) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */
-
3
,
/* (402) sort_specification ::= expression ordering_specification_opt null_ordering_opt */
0
,
/* (403) ordering_specification_opt ::= */
-
1
,
/* (404) ordering_specification_opt ::= ASC */
-
1
,
/* (405) ordering_specification_opt ::= DESC */
0
,
/* (406) null_ordering_opt ::= */
-
2
,
/* (407) null_ordering_opt ::= NULLS FIRST */
-
2
,
/* (408) null_ordering_opt ::= NULLS LAST */
};
static
void
yy_accept
(
yyParser
*
);
/* Forward Declaration */
...
...
@@ -2530,14 +2940,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 */
...
...
@@ -2545,7 +2958,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
++
;
...
...
@@ -2737,7 +3150,7 @@ static YYACTIONTYPE yy_reduce(
case
56
:
/* exists_opt ::= */
yytestcase
(
yyruleno
==
56
);
case
219
:
/* analyze_opt ::= */
yytestcase
(
yyruleno
==
219
);
case
227
:
/* agg_func_opt ::= */
yytestcase
(
yyruleno
==
227
);
case
34
7
:
/* set_quantifier_opt ::= */
yytestcase
(
yyruleno
==
347
);
case
34
8
:
/* set_quantifier_opt ::= */
yytestcase
(
yyruleno
==
348
);
{
yymsp
[
1
].
minor
.
yy173
=
false
;
}
break
;
case
55
:
/* exists_opt ::= IF EXISTS */
...
...
@@ -2878,8 +3291,8 @@ static YYACTIONTYPE yy_reduce(
case
200
:
/* func_name_list ::= func_name */
yytestcase
(
yyruleno
==
200
);
case
209
:
/* func_list ::= func */
yytestcase
(
yyruleno
==
209
);
case
262
:
/* literal_list ::= signed_literal */
yytestcase
(
yyruleno
==
262
);
case
35
2
:
/* select_sublist ::= select_item */
yytestcase
(
yyruleno
==
352
);
case
399
:
/* sort_specification_list ::= sort_specification */
yytestcase
(
yyruleno
==
399
);
case
35
3
:
/* select_sublist ::= select_item */
yytestcase
(
yyruleno
==
353
);
case
400
:
/* sort_specification_list ::= sort_specification */
yytestcase
(
yyruleno
==
400
);
{
yylhsminor
.
yy476
=
createNodeList
(
pCxt
,
yymsp
[
0
].
minor
.
yy564
);
}
yymsp
[
0
].
minor
.
yy476
=
yylhsminor
.
yy476
;
break
;
...
...
@@ -2889,8 +3302,8 @@ static YYACTIONTYPE yy_reduce(
case
201
:
/* func_name_list ::= func_name_list NK_COMMA col_name */
yytestcase
(
yyruleno
==
201
);
case
210
:
/* func_list ::= func_list NK_COMMA func */
yytestcase
(
yyruleno
==
210
);
case
263
:
/* literal_list ::= literal_list NK_COMMA signed_literal */
yytestcase
(
yyruleno
==
263
);
case
35
3
:
/* select_sublist ::= select_sublist NK_COMMA select_item */
yytestcase
(
yyruleno
==
353
);
case
40
0
:
/* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */
yytestcase
(
yyruleno
==
400
);
case
35
4
:
/* select_sublist ::= select_sublist NK_COMMA select_item */
yytestcase
(
yyruleno
==
354
);
case
40
1
:
/* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */
yytestcase
(
yyruleno
==
401
);
{
yylhsminor
.
yy476
=
addNodeToList
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy476
,
yymsp
[
0
].
minor
.
yy564
);
}
yymsp
[
-
2
].
minor
.
yy476
=
yylhsminor
.
yy476
;
break
;
...
...
@@ -2971,9 +3384,9 @@ static YYACTIONTYPE yy_reduce(
break
;
case
118
:
/* specific_tags_opt ::= */
case
149
:
/* tags_def_opt ::= */
yytestcase
(
yyruleno
==
149
);
case
36
0
:
/* partition_by_clause_opt ::= */
yytestcase
(
yyruleno
==
360
);
case
37
7
:
/* group_by_clause_opt ::= */
yytestcase
(
yyruleno
==
377
);
case
38
7
:
/* order_by_clause_opt ::= */
yytestcase
(
yyruleno
==
387
);
case
36
1
:
/* partition_by_clause_opt ::= */
yytestcase
(
yyruleno
==
361
);
case
37
8
:
/* group_by_clause_opt ::= */
yytestcase
(
yyruleno
==
378
);
case
38
8
:
/* order_by_clause_opt ::= */
yytestcase
(
yyruleno
==
388
);
{
yymsp
[
1
].
minor
.
yy476
=
NULL
;
}
break
;
case
119
:
/* specific_tags_opt ::= NK_LP col_name_list NK_RP */
...
...
@@ -3063,7 +3476,7 @@ static YYACTIONTYPE yy_reduce(
{
yymsp
[
-
5
].
minor
.
yy288
=
createDataType
(
TSDB_DATA_TYPE_DECIMAL
);
}
break
;
case
150
:
/* tags_def_opt ::= tags_def */
case
35
1
:
/* select_list ::= select_sublist */
yytestcase
(
yyruleno
==
351
);
case
35
2
:
/* select_list ::= select_sublist */
yytestcase
(
yyruleno
==
352
);
{
yylhsminor
.
yy476
=
yymsp
[
0
].
minor
.
yy476
;
}
yymsp
[
0
].
minor
.
yy476
=
yylhsminor
.
yy476
;
break
;
...
...
@@ -3207,13 +3620,13 @@ static YYACTIONTYPE yy_reduce(
break
;
case
195
:
/* like_pattern_opt ::= */
case
206
:
/* index_options ::= */
yytestcase
(
yyruleno
==
206
);
case
35
8
:
/* where_clause_opt ::= */
yytestcase
(
yyruleno
==
358
);
case
36
2
:
/* twindow_clause_opt ::= */
yytestcase
(
yyruleno
==
362
);
case
36
7
:
/* sliding_opt ::= */
yytestcase
(
yyruleno
==
367
);
case
3
69
:
/* fill_opt ::= */
yytestcase
(
yyruleno
==
369
);
case
38
1
:
/* having_clause_opt ::= */
yytestcase
(
yyruleno
==
381
);
case
3
89
:
/* slimit_clause_opt ::= */
yytestcase
(
yyruleno
==
389
);
case
39
3
:
/* limit_clause_opt ::= */
yytestcase
(
yyruleno
==
393
);
case
35
9
:
/* where_clause_opt ::= */
yytestcase
(
yyruleno
==
359
);
case
36
3
:
/* twindow_clause_opt ::= */
yytestcase
(
yyruleno
==
363
);
case
36
8
:
/* sliding_opt ::= */
yytestcase
(
yyruleno
==
368
);
case
3
70
:
/* fill_opt ::= */
yytestcase
(
yyruleno
==
370
);
case
38
2
:
/* having_clause_opt ::= */
yytestcase
(
yyruleno
==
382
);
case
3
90
:
/* slimit_clause_opt ::= */
yytestcase
(
yyruleno
==
390
);
case
39
4
:
/* limit_clause_opt ::= */
yytestcase
(
yyruleno
==
394
);
{
yymsp
[
1
].
minor
.
yy564
=
NULL
;
}
break
;
case
196
:
/* like_pattern_opt ::= LIKE NK_STRING */
...
...
@@ -3270,7 +3683,7 @@ static YYACTIONTYPE yy_reduce(
break
;
case
220
:
/* analyze_opt ::= ANALYZE */
case
228
:
/* agg_func_opt ::= AGGREGATE */
yytestcase
(
yyruleno
==
228
);
case
34
8
:
/* set_quantifier_opt ::= DISTINCT */
yytestcase
(
yyruleno
==
348
);
case
34
9
:
/* set_quantifier_opt ::= DISTINCT */
yytestcase
(
yyruleno
==
349
);
{
yymsp
[
0
].
minor
.
yy173
=
true
;
}
break
;
case
221
:
/* explain_options ::= */
...
...
@@ -3351,17 +3764,17 @@ static YYACTIONTYPE yy_reduce(
case
276
:
/* expression ::= literal */
yytestcase
(
yyruleno
==
276
);
case
277
:
/* expression ::= pseudo_column */
yytestcase
(
yyruleno
==
277
);
case
278
:
/* expression ::= column_reference */
yytestcase
(
yyruleno
==
278
);
case
28
1
:
/* expression ::= subquery */
yytestcase
(
yyruleno
==
281
);
case
32
1
:
/* boolean_value_expression ::= boolean_primary */
yytestcase
(
yyruleno
==
321
);
case
32
5
:
/* boolean_primary ::= predicate */
yytestcase
(
yyruleno
==
325
);
case
32
7
:
/* common_expression ::= expression */
yytestcase
(
yyruleno
==
327
);
case
32
8
:
/* common_expression ::= boolean_value_expression */
yytestcase
(
yyruleno
==
328
);
case
33
0
:
/* table_reference_list ::= table_reference */
yytestcase
(
yyruleno
==
330
);
case
33
2
:
/* table_reference ::= table_primary */
yytestcase
(
yyruleno
==
332
);
case
33
3
:
/* table_reference ::= joined_table */
yytestcase
(
yyruleno
==
333
);
case
33
7
:
/* table_primary ::= parenthesized_joined_table */
yytestcase
(
yyruleno
==
337
);
case
38
4
:
/* query_expression_body ::= query_primary */
yytestcase
(
yyruleno
==
384
);
case
38
6
:
/* query_primary ::= query_specification */
yytestcase
(
yyruleno
==
386
);
case
28
2
:
/* expression ::= subquery */
yytestcase
(
yyruleno
==
282
);
case
32
2
:
/* boolean_value_expression ::= boolean_primary */
yytestcase
(
yyruleno
==
322
);
case
32
6
:
/* boolean_primary ::= predicate */
yytestcase
(
yyruleno
==
326
);
case
32
8
:
/* common_expression ::= expression */
yytestcase
(
yyruleno
==
328
);
case
32
9
:
/* common_expression ::= boolean_value_expression */
yytestcase
(
yyruleno
==
329
);
case
33
1
:
/* table_reference_list ::= table_reference */
yytestcase
(
yyruleno
==
331
);
case
33
3
:
/* table_reference ::= table_primary */
yytestcase
(
yyruleno
==
333
);
case
33
4
:
/* table_reference ::= joined_table */
yytestcase
(
yyruleno
==
334
);
case
33
8
:
/* table_primary ::= parenthesized_joined_table */
yytestcase
(
yyruleno
==
338
);
case
38
5
:
/* query_expression_body ::= query_primary */
yytestcase
(
yyruleno
==
385
);
case
38
7
:
/* query_primary ::= query_specification */
yytestcase
(
yyruleno
==
387
);
{
yylhsminor
.
yy564
=
yymsp
[
0
].
minor
.
yy564
;
}
yymsp
[
0
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
...
...
@@ -3415,8 +3828,8 @@ static YYACTIONTYPE yy_reduce(
{
yymsp
[
-
1
].
minor
.
yy564
=
createValueNode
(
pCxt
,
TSDB_DATA_TYPE_TIMESTAMP
,
&
yymsp
[
0
].
minor
.
yy0
);
}
break
;
case
260
:
/* signed_literal ::= duration_literal */
case
35
4
:
/* select_item ::= common_expression */
yytestcase
(
yyruleno
==
354
);
case
39
8
:
/* search_condition ::= common_expression */
yytestcase
(
yyruleno
==
398
);
case
35
5
:
/* select_item ::= common_expression */
yytestcase
(
yyruleno
==
355
);
case
39
9
:
/* search_condition ::= common_expression */
yytestcase
(
yyruleno
==
399
);
{
yylhsminor
.
yy564
=
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy564
);
}
yymsp
[
0
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
...
...
@@ -3431,26 +3844,34 @@ static YYACTIONTYPE yy_reduce(
{
yylhsminor
.
yy564
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
3
].
minor
.
yy21
,
&
yymsp
[
0
].
minor
.
yy0
,
createFunctionNode
(
pCxt
,
&
yymsp
[
-
3
].
minor
.
yy21
,
createNodeList
(
pCxt
,
createColumnNode
(
pCxt
,
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
))));
}
yymsp
[
-
3
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
282
:
/* expression ::= NK_LP expression NK_RP */
case
326
:
/* boolean_primary ::= NK_LP boolean_value_expression NK_RP */
yytestcase
(
yyruleno
==
326
);
case
281
:
/* expression ::= function_name NK_LP expression AS type_name NK_RP */
{
SNodeList
*
p
=
createNodeList
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy564
));
p
=
addValueNodeFromTypeToList
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy288
,
p
);
yylhsminor
.
yy564
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
5
].
minor
.
yy21
,
&
yymsp
[
0
].
minor
.
yy0
,
createFunctionNode
(
pCxt
,
&
yymsp
[
-
5
].
minor
.
yy21
,
p
));
}
yymsp
[
-
5
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
283
:
/* expression ::= NK_LP expression NK_RP */
case
327
:
/* boolean_primary ::= NK_LP boolean_value_expression NK_RP */
yytestcase
(
yyruleno
==
327
);
{
yylhsminor
.
yy564
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy564
));
}
yymsp
[
-
2
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
28
3
:
/* expression ::= NK_PLUS expression */
case
28
4
:
/* expression ::= NK_PLUS expression */
{
SToken
t
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy564
);
yylhsminor
.
yy564
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
t
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy564
));
}
yymsp
[
-
1
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
28
4
:
/* expression ::= NK_MINUS expression */
case
28
5
:
/* expression ::= NK_MINUS expression */
{
SToken
t
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy564
);
yylhsminor
.
yy564
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
t
,
createOperatorNode
(
pCxt
,
OP_TYPE_MINUS
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy564
),
NULL
));
}
yymsp
[
-
1
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
28
5
:
/* expression ::= expression NK_PLUS expression */
case
28
6
:
/* expression ::= expression NK_PLUS expression */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy564
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy564
);
...
...
@@ -3458,7 +3879,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
2
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
28
6
:
/* expression ::= expression NK_MINUS expression */
case
28
7
:
/* expression ::= expression NK_MINUS expression */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy564
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy564
);
...
...
@@ -3466,7 +3887,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
2
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
28
7
:
/* expression ::= expression NK_STAR expression */
case
28
8
:
/* expression ::= expression NK_STAR expression */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy564
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy564
);
...
...
@@ -3474,7 +3895,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
2
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
28
8
:
/* expression ::= expression NK_SLASH expression */
case
28
9
:
/* expression ::= expression NK_SLASH expression */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy564
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy564
);
...
...
@@ -3482,7 +3903,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
2
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
2
89
:
/* expression ::= expression NK_REM expression */
case
2
90
:
/* expression ::= expression NK_REM expression */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy564
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy564
);
...
...
@@ -3490,35 +3911,35 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
2
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
29
0
:
/* expression_list ::= expression */
case
29
1
:
/* expression_list ::= expression */
{
yylhsminor
.
yy476
=
createNodeList
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy564
));
}
yymsp
[
0
].
minor
.
yy476
=
yylhsminor
.
yy476
;
break
;
case
29
1
:
/* expression_list ::= expression_list NK_COMMA expression */
case
29
2
:
/* expression_list ::= expression_list NK_COMMA expression */
{
yylhsminor
.
yy476
=
addNodeToList
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy476
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy564
));
}
yymsp
[
-
2
].
minor
.
yy476
=
yylhsminor
.
yy476
;
break
;
case
29
2
:
/* column_reference ::= column_name */
case
29
3
:
/* column_reference ::= column_name */
{
yylhsminor
.
yy564
=
createRawExprNode
(
pCxt
,
&
yymsp
[
0
].
minor
.
yy21
,
createColumnNode
(
pCxt
,
NULL
,
&
yymsp
[
0
].
minor
.
yy21
));
}
yymsp
[
0
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
29
3
:
/* column_reference ::= table_name NK_DOT column_name */
case
29
4
:
/* column_reference ::= table_name NK_DOT column_name */
{
yylhsminor
.
yy564
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy21
,
&
yymsp
[
0
].
minor
.
yy21
,
createColumnNode
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy21
,
&
yymsp
[
0
].
minor
.
yy21
));
}
yymsp
[
-
2
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
29
4
:
/* pseudo_column ::= NOW */
case
29
5
:
/* pseudo_column ::= ROWTS */
yytestcase
(
yyruleno
==
295
);
case
29
6
:
/* pseudo_column ::= TBNAME */
yytestcase
(
yyruleno
==
296
);
case
29
7
:
/* pseudo_column ::= QSTARTTS */
yytestcase
(
yyruleno
==
297
);
case
29
8
:
/* pseudo_column ::= QENDTS */
yytestcase
(
yyruleno
==
298
);
case
299
:
/* pseudo_column ::= WSTARTTS */
yytestcase
(
yyruleno
==
299
);
case
30
0
:
/* pseudo_column ::= WENDTS */
yytestcase
(
yyruleno
==
300
);
case
30
1
:
/* pseudo_column ::= WDURATION */
yytestcase
(
yyruleno
==
301
);
case
29
5
:
/* pseudo_column ::= NOW */
case
29
6
:
/* pseudo_column ::= ROWTS */
yytestcase
(
yyruleno
==
296
);
case
29
7
:
/* pseudo_column ::= TBNAME */
yytestcase
(
yyruleno
==
297
);
case
29
8
:
/* pseudo_column ::= QSTARTTS */
yytestcase
(
yyruleno
==
298
);
case
29
9
:
/* pseudo_column ::= QENDTS */
yytestcase
(
yyruleno
==
299
);
case
300
:
/* pseudo_column ::= WSTARTTS */
yytestcase
(
yyruleno
==
300
);
case
30
1
:
/* pseudo_column ::= WENDTS */
yytestcase
(
yyruleno
==
301
);
case
30
2
:
/* pseudo_column ::= WDURATION */
yytestcase
(
yyruleno
==
302
);
{
yylhsminor
.
yy564
=
createRawExprNode
(
pCxt
,
&
yymsp
[
0
].
minor
.
yy0
,
createFunctionNode
(
pCxt
,
&
yymsp
[
0
].
minor
.
yy0
,
NULL
));
}
yymsp
[
0
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
30
2
:
/* predicate ::= expression compare_op expression */
case
30
7
:
/* predicate ::= expression in_op in_predicate_value */
yytestcase
(
yyruleno
==
307
);
case
30
3
:
/* predicate ::= expression compare_op expression */
case
30
8
:
/* predicate ::= expression in_op in_predicate_value */
yytestcase
(
yyruleno
==
308
);
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy564
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy564
);
...
...
@@ -3526,7 +3947,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
2
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
30
3
:
/* predicate ::= expression BETWEEN expression AND expression */
case
30
4
:
/* predicate ::= expression BETWEEN expression AND expression */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
4
].
minor
.
yy564
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy564
);
...
...
@@ -3534,7 +3955,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
4
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
30
4
:
/* predicate ::= expression NOT BETWEEN expression AND expression */
case
30
5
:
/* predicate ::= expression NOT BETWEEN expression AND expression */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
5
].
minor
.
yy564
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy564
);
...
...
@@ -3542,68 +3963,68 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
5
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
30
5
:
/* predicate ::= expression IS NULL */
case
30
6
:
/* predicate ::= expression IS NULL */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy564
);
yylhsminor
.
yy564
=
createRawExprNodeExt
(
pCxt
,
&
s
,
&
yymsp
[
0
].
minor
.
yy0
,
createOperatorNode
(
pCxt
,
OP_TYPE_IS_NULL
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy564
),
NULL
));
}
yymsp
[
-
2
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
30
6
:
/* predicate ::= expression IS NOT NULL */
case
30
7
:
/* predicate ::= expression IS NOT NULL */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy564
);
yylhsminor
.
yy564
=
createRawExprNodeExt
(
pCxt
,
&
s
,
&
yymsp
[
0
].
minor
.
yy0
,
createOperatorNode
(
pCxt
,
OP_TYPE_IS_NOT_NULL
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy564
),
NULL
));
}
yymsp
[
-
3
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
30
8
:
/* compare_op ::= NK_LT */
case
30
9
:
/* compare_op ::= NK_LT */
{
yymsp
[
0
].
minor
.
yy468
=
OP_TYPE_LOWER_THAN
;
}
break
;
case
3
09
:
/* compare_op ::= NK_GT */
case
3
10
:
/* compare_op ::= NK_GT */
{
yymsp
[
0
].
minor
.
yy468
=
OP_TYPE_GREATER_THAN
;
}
break
;
case
31
0
:
/* compare_op ::= NK_LE */
case
31
1
:
/* compare_op ::= NK_LE */
{
yymsp
[
0
].
minor
.
yy468
=
OP_TYPE_LOWER_EQUAL
;
}
break
;
case
31
1
:
/* compare_op ::= NK_GE */
case
31
2
:
/* compare_op ::= NK_GE */
{
yymsp
[
0
].
minor
.
yy468
=
OP_TYPE_GREATER_EQUAL
;
}
break
;
case
31
2
:
/* compare_op ::= NK_NE */
case
31
3
:
/* compare_op ::= NK_NE */
{
yymsp
[
0
].
minor
.
yy468
=
OP_TYPE_NOT_EQUAL
;
}
break
;
case
31
3
:
/* compare_op ::= NK_EQ */
case
31
4
:
/* compare_op ::= NK_EQ */
{
yymsp
[
0
].
minor
.
yy468
=
OP_TYPE_EQUAL
;
}
break
;
case
31
4
:
/* compare_op ::= LIKE */
case
31
5
:
/* compare_op ::= LIKE */
{
yymsp
[
0
].
minor
.
yy468
=
OP_TYPE_LIKE
;
}
break
;
case
31
5
:
/* compare_op ::= NOT LIKE */
case
31
6
:
/* compare_op ::= NOT LIKE */
{
yymsp
[
-
1
].
minor
.
yy468
=
OP_TYPE_NOT_LIKE
;
}
break
;
case
31
6
:
/* compare_op ::= MATCH */
case
31
7
:
/* compare_op ::= MATCH */
{
yymsp
[
0
].
minor
.
yy468
=
OP_TYPE_MATCH
;
}
break
;
case
31
7
:
/* compare_op ::= NMATCH */
case
31
8
:
/* compare_op ::= NMATCH */
{
yymsp
[
0
].
minor
.
yy468
=
OP_TYPE_NMATCH
;
}
break
;
case
31
8
:
/* in_op ::= IN */
case
31
9
:
/* in_op ::= IN */
{
yymsp
[
0
].
minor
.
yy468
=
OP_TYPE_IN
;
}
break
;
case
3
19
:
/* in_op ::= NOT IN */
case
3
20
:
/* in_op ::= NOT IN */
{
yymsp
[
-
1
].
minor
.
yy468
=
OP_TYPE_NOT_IN
;
}
break
;
case
32
0
:
/* in_predicate_value ::= NK_LP expression_list NK_RP */
case
32
1
:
/* in_predicate_value ::= NK_LP expression_list NK_RP */
{
yylhsminor
.
yy564
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
createNodeListNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy476
));
}
yymsp
[
-
2
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
32
2
:
/* boolean_value_expression ::= NOT boolean_primary */
case
32
3
:
/* boolean_value_expression ::= NOT boolean_primary */
{
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy564
);
yylhsminor
.
yy564
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
e
,
createLogicConditionNode
(
pCxt
,
LOGIC_COND_TYPE_NOT
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy564
),
NULL
));
}
yymsp
[
-
1
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
32
3
:
/* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */
case
32
4
:
/* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy564
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy564
);
...
...
@@ -3611,7 +4032,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
2
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
32
4
:
/* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */
case
32
5
:
/* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy564
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy564
);
...
...
@@ -3619,52 +4040,52 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
2
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
3
29
:
/* from_clause ::= FROM table_reference_list */
case
3
59
:
/* where_clause_opt ::= WHERE search_condition */
yytestcase
(
yyruleno
==
359
);
case
38
2
:
/* having_clause_opt ::= HAVING search_condition */
yytestcase
(
yyruleno
==
382
);
case
3
30
:
/* from_clause ::= FROM table_reference_list */
case
3
60
:
/* where_clause_opt ::= WHERE search_condition */
yytestcase
(
yyruleno
==
360
);
case
38
3
:
/* having_clause_opt ::= HAVING search_condition */
yytestcase
(
yyruleno
==
383
);
{
yymsp
[
-
1
].
minor
.
yy564
=
yymsp
[
0
].
minor
.
yy564
;
}
break
;
case
33
1
:
/* table_reference_list ::= table_reference_list NK_COMMA table_reference */
case
33
2
:
/* table_reference_list ::= table_reference_list NK_COMMA table_reference */
{
yylhsminor
.
yy564
=
createJoinTableNode
(
pCxt
,
JOIN_TYPE_INNER
,
yymsp
[
-
2
].
minor
.
yy564
,
yymsp
[
0
].
minor
.
yy564
,
NULL
);
}
yymsp
[
-
2
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
33
4
:
/* table_primary ::= table_name alias_opt */
case
33
5
:
/* table_primary ::= table_name alias_opt */
{
yylhsminor
.
yy564
=
createRealTableNode
(
pCxt
,
NULL
,
&
yymsp
[
-
1
].
minor
.
yy21
,
&
yymsp
[
0
].
minor
.
yy21
);
}
yymsp
[
-
1
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
33
5
:
/* table_primary ::= db_name NK_DOT table_name alias_opt */
case
33
6
:
/* table_primary ::= db_name NK_DOT table_name alias_opt */
{
yylhsminor
.
yy564
=
createRealTableNode
(
pCxt
,
&
yymsp
[
-
3
].
minor
.
yy21
,
&
yymsp
[
-
1
].
minor
.
yy21
,
&
yymsp
[
0
].
minor
.
yy21
);
}
yymsp
[
-
3
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
33
6
:
/* table_primary ::= subquery alias_opt */
case
33
7
:
/* table_primary ::= subquery alias_opt */
{
yylhsminor
.
yy564
=
createTempTableNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy564
),
&
yymsp
[
0
].
minor
.
yy21
);
}
yymsp
[
-
1
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
33
8
:
/* alias_opt ::= */
case
33
9
:
/* alias_opt ::= */
{
yymsp
[
1
].
minor
.
yy21
=
nil_token
;
}
break
;
case
3
39
:
/* alias_opt ::= table_alias */
case
3
40
:
/* alias_opt ::= table_alias */
{
yylhsminor
.
yy21
=
yymsp
[
0
].
minor
.
yy21
;
}
yymsp
[
0
].
minor
.
yy21
=
yylhsminor
.
yy21
;
break
;
case
34
0
:
/* alias_opt ::= AS table_alias */
case
34
1
:
/* alias_opt ::= AS table_alias */
{
yymsp
[
-
1
].
minor
.
yy21
=
yymsp
[
0
].
minor
.
yy21
;
}
break
;
case
34
1
:
/* parenthesized_joined_table ::= NK_LP joined_table NK_RP */
case
34
2
:
/* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */
yytestcase
(
yyruleno
==
342
);
case
34
2
:
/* parenthesized_joined_table ::= NK_LP joined_table NK_RP */
case
34
3
:
/* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */
yytestcase
(
yyruleno
==
343
);
{
yymsp
[
-
2
].
minor
.
yy564
=
yymsp
[
-
1
].
minor
.
yy564
;
}
break
;
case
34
3
:
/* joined_table ::= table_reference join_type JOIN table_reference ON search_condition */
case
34
4
:
/* joined_table ::= table_reference join_type JOIN table_reference ON search_condition */
{
yylhsminor
.
yy564
=
createJoinTableNode
(
pCxt
,
yymsp
[
-
4
].
minor
.
yy440
,
yymsp
[
-
5
].
minor
.
yy564
,
yymsp
[
-
2
].
minor
.
yy564
,
yymsp
[
0
].
minor
.
yy564
);
}
yymsp
[
-
5
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
34
4
:
/* join_type ::= */
case
34
5
:
/* join_type ::= */
{
yymsp
[
1
].
minor
.
yy440
=
JOIN_TYPE_INNER
;
}
break
;
case
34
5
:
/* join_type ::= INNER */
case
34
6
:
/* join_type ::= INNER */
{
yymsp
[
0
].
minor
.
yy440
=
JOIN_TYPE_INNER
;
}
break
;
case
34
6
:
/* 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
34
7
:
/* 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
.
yy564
=
createSelectStmt
(
pCxt
,
yymsp
[
-
7
].
minor
.
yy173
,
yymsp
[
-
6
].
minor
.
yy476
,
yymsp
[
-
5
].
minor
.
yy564
);
yymsp
[
-
8
].
minor
.
yy564
=
addWhereClause
(
pCxt
,
yymsp
[
-
8
].
minor
.
yy564
,
yymsp
[
-
4
].
minor
.
yy564
);
...
...
@@ -3674,74 +4095,74 @@ static YYACTIONTYPE yy_reduce(
yymsp
[
-
8
].
minor
.
yy564
=
addHavingClause
(
pCxt
,
yymsp
[
-
8
].
minor
.
yy564
,
yymsp
[
0
].
minor
.
yy564
);
}
break
;
case
3
49
:
/* set_quantifier_opt ::= ALL */
case
3
50
:
/* set_quantifier_opt ::= ALL */
{
yymsp
[
0
].
minor
.
yy173
=
false
;
}
break
;
case
35
0
:
/* select_list ::= NK_STAR */
case
35
1
:
/* select_list ::= NK_STAR */
{
yymsp
[
0
].
minor
.
yy476
=
NULL
;
}
break
;
case
35
5
:
/* select_item ::= common_expression column_alias */
case
35
6
:
/* select_item ::= common_expression column_alias */
{
yylhsminor
.
yy564
=
setProjectionAlias
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy564
),
&
yymsp
[
0
].
minor
.
yy21
);
}
yymsp
[
-
1
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
35
6
:
/* select_item ::= common_expression AS column_alias */
case
35
7
:
/* select_item ::= common_expression AS column_alias */
{
yylhsminor
.
yy564
=
setProjectionAlias
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy564
),
&
yymsp
[
0
].
minor
.
yy21
);
}
yymsp
[
-
2
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
35
7
:
/* select_item ::= table_name NK_DOT NK_STAR */
case
35
8
:
/* select_item ::= table_name NK_DOT NK_STAR */
{
yylhsminor
.
yy564
=
createColumnNode
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy21
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
-
2
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
36
1
:
/* partition_by_clause_opt ::= PARTITION BY expression_list */
case
37
8
:
/* group_by_clause_opt ::= GROUP BY group_by_list */
yytestcase
(
yyruleno
==
378
);
case
38
8
:
/* order_by_clause_opt ::= ORDER BY sort_specification_list */
yytestcase
(
yyruleno
==
388
);
case
36
2
:
/* partition_by_clause_opt ::= PARTITION BY expression_list */
case
37
9
:
/* group_by_clause_opt ::= GROUP BY group_by_list */
yytestcase
(
yyruleno
==
379
);
case
38
9
:
/* order_by_clause_opt ::= ORDER BY sort_specification_list */
yytestcase
(
yyruleno
==
389
);
{
yymsp
[
-
2
].
minor
.
yy476
=
yymsp
[
0
].
minor
.
yy476
;
}
break
;
case
36
3
:
/* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */
case
36
4
:
/* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */
{
yymsp
[
-
5
].
minor
.
yy564
=
createSessionWindowNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy564
),
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy564
));
}
break
;
case
36
4
:
/* twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP */
case
36
5
:
/* twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP */
{
yymsp
[
-
3
].
minor
.
yy564
=
createStateWindowNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy564
));
}
break
;
case
36
5
:
/* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */
case
36
6
:
/* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */
{
yymsp
[
-
5
].
minor
.
yy564
=
createIntervalWindowNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy564
),
NULL
,
yymsp
[
-
1
].
minor
.
yy564
,
yymsp
[
0
].
minor
.
yy564
);
}
break
;
case
36
6
:
/* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */
case
36
7
:
/* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */
{
yymsp
[
-
7
].
minor
.
yy564
=
createIntervalWindowNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
5
].
minor
.
yy564
),
releaseRawExprNode
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy564
),
yymsp
[
-
1
].
minor
.
yy564
,
yymsp
[
0
].
minor
.
yy564
);
}
break
;
case
36
8
:
/* sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */
case
36
9
:
/* sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */
{
yymsp
[
-
3
].
minor
.
yy564
=
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy564
);
}
break
;
case
37
0
:
/* fill_opt ::= FILL NK_LP fill_mode NK_RP */
case
37
1
:
/* fill_opt ::= FILL NK_LP fill_mode NK_RP */
{
yymsp
[
-
3
].
minor
.
yy564
=
createFillNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy268
,
NULL
);
}
break
;
case
37
1
:
/* fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */
case
37
2
:
/* fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */
{
yymsp
[
-
5
].
minor
.
yy564
=
createFillNode
(
pCxt
,
FILL_MODE_VALUE
,
createNodeListNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy476
));
}
break
;
case
37
2
:
/* fill_mode ::= NONE */
case
37
3
:
/* fill_mode ::= NONE */
{
yymsp
[
0
].
minor
.
yy268
=
FILL_MODE_NONE
;
}
break
;
case
37
3
:
/* fill_mode ::= PREV */
case
37
4
:
/* fill_mode ::= PREV */
{
yymsp
[
0
].
minor
.
yy268
=
FILL_MODE_PREV
;
}
break
;
case
37
4
:
/* fill_mode ::= NULL */
case
37
5
:
/* fill_mode ::= NULL */
{
yymsp
[
0
].
minor
.
yy268
=
FILL_MODE_NULL
;
}
break
;
case
37
5
:
/* fill_mode ::= LINEAR */
case
37
6
:
/* fill_mode ::= LINEAR */
{
yymsp
[
0
].
minor
.
yy268
=
FILL_MODE_LINEAR
;
}
break
;
case
37
6
:
/* fill_mode ::= NEXT */
case
37
7
:
/* fill_mode ::= NEXT */
{
yymsp
[
0
].
minor
.
yy268
=
FILL_MODE_NEXT
;
}
break
;
case
3
79
:
/* group_by_list ::= expression */
case
3
80
:
/* group_by_list ::= expression */
{
yylhsminor
.
yy476
=
createNodeList
(
pCxt
,
createGroupingSetNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy564
)));
}
yymsp
[
0
].
minor
.
yy476
=
yylhsminor
.
yy476
;
break
;
case
38
0
:
/* group_by_list ::= group_by_list NK_COMMA expression */
case
38
1
:
/* group_by_list ::= group_by_list NK_COMMA expression */
{
yylhsminor
.
yy476
=
addNodeToList
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy476
,
createGroupingSetNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy564
)));
}
yymsp
[
-
2
].
minor
.
yy476
=
yylhsminor
.
yy476
;
break
;
case
38
3
:
/* query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt */
case
38
4
:
/* query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt */
{
yylhsminor
.
yy564
=
addOrderByClause
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy564
,
yymsp
[
-
2
].
minor
.
yy476
);
yylhsminor
.
yy564
=
addSlimitClause
(
pCxt
,
yylhsminor
.
yy564
,
yymsp
[
-
1
].
minor
.
yy564
);
...
...
@@ -3749,55 +4170,55 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
3
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
38
5
:
/* query_expression_body ::= query_expression_body UNION ALL query_expression_body */
case
38
6
:
/* query_expression_body ::= query_expression_body UNION ALL query_expression_body */
{
yylhsminor
.
yy564
=
createSetOperator
(
pCxt
,
SET_OP_TYPE_UNION_ALL
,
yymsp
[
-
3
].
minor
.
yy564
,
yymsp
[
0
].
minor
.
yy564
);
}
yymsp
[
-
3
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
39
0
:
/* slimit_clause_opt ::= SLIMIT NK_INTEGER */
case
39
4
:
/* limit_clause_opt ::= LIMIT NK_INTEGER */
yytestcase
(
yyruleno
==
394
);
case
39
1
:
/* slimit_clause_opt ::= SLIMIT NK_INTEGER */
case
39
5
:
/* limit_clause_opt ::= LIMIT NK_INTEGER */
yytestcase
(
yyruleno
==
395
);
{
yymsp
[
-
1
].
minor
.
yy564
=
createLimitNode
(
pCxt
,
&
yymsp
[
0
].
minor
.
yy0
,
NULL
);
}
break
;
case
39
1
:
/* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */
case
39
5
:
/* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */
yytestcase
(
yyruleno
==
395
);
case
39
2
:
/* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */
case
39
6
:
/* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */
yytestcase
(
yyruleno
==
396
);
{
yymsp
[
-
3
].
minor
.
yy564
=
createLimitNode
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
break
;
case
39
2
:
/* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */
case
39
6
:
/* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */
yytestcase
(
yyruleno
==
396
);
case
39
3
:
/* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */
case
39
7
:
/* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */
yytestcase
(
yyruleno
==
397
);
{
yymsp
[
-
3
].
minor
.
yy564
=
createLimitNode
(
pCxt
,
&
yymsp
[
0
].
minor
.
yy0
,
&
yymsp
[
-
2
].
minor
.
yy0
);
}
break
;
case
39
7
:
/* subquery ::= NK_LP query_expression NK_RP */
case
39
8
:
/* subquery ::= NK_LP query_expression NK_RP */
{
yylhsminor
.
yy564
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
1
].
minor
.
yy564
);
}
yymsp
[
-
2
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
40
1
:
/* sort_specification ::= expression ordering_specification_opt null_ordering_opt */
case
40
2
:
/* sort_specification ::= expression ordering_specification_opt null_ordering_opt */
{
yylhsminor
.
yy564
=
createOrderByExprNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy564
),
yymsp
[
-
1
].
minor
.
yy256
,
yymsp
[
0
].
minor
.
yy525
);
}
yymsp
[
-
2
].
minor
.
yy564
=
yylhsminor
.
yy564
;
break
;
case
40
2
:
/* ordering_specification_opt ::= */
case
40
3
:
/* ordering_specification_opt ::= */
{
yymsp
[
1
].
minor
.
yy256
=
ORDER_ASC
;
}
break
;
case
40
3
:
/* ordering_specification_opt ::= ASC */
case
40
4
:
/* ordering_specification_opt ::= ASC */
{
yymsp
[
0
].
minor
.
yy256
=
ORDER_ASC
;
}
break
;
case
40
4
:
/* ordering_specification_opt ::= DESC */
case
40
5
:
/* ordering_specification_opt ::= DESC */
{
yymsp
[
0
].
minor
.
yy256
=
ORDER_DESC
;
}
break
;
case
40
5
:
/* null_ordering_opt ::= */
case
40
6
:
/* null_ordering_opt ::= */
{
yymsp
[
1
].
minor
.
yy525
=
NULL_ORDER_DEFAULT
;
}
break
;
case
40
6
:
/* null_ordering_opt ::= NULLS FIRST */
case
40
7
:
/* null_ordering_opt ::= NULLS FIRST */
{
yymsp
[
-
1
].
minor
.
yy525
=
NULL_ORDER_FIRST
;
}
break
;
case
40
7
:
/* null_ordering_opt ::= NULLS LAST */
case
40
8
:
/* null_ordering_opt ::= NULLS LAST */
{
yymsp
[
-
1
].
minor
.
yy525
=
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
...
...
@@ -4085,11 +4506,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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录