Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
9ef7db39
TDengine
项目概览
taosdata
/
TDengine
大约 1 年 前同步成功
通知
1184
Star
22015
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
9ef7db39
编写于
4月 07, 2022
作者:
X
Xiaoyu Wang
提交者:
GitHub
4月 07, 2022
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #11296 from taosdata/feature/3.0_wxy
sort plan bugfix
上级
aa2396ac
07892f0f
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
988 addition
and
945 deletion
+988
-945
include/common/ttokendef.h
include/common/ttokendef.h
+44
-44
include/libs/nodes/plannodes.h
include/libs/nodes/plannodes.h
+2
-0
include/libs/nodes/querynodes.h
include/libs/nodes/querynodes.h
+1
-0
source/libs/nodes/src/nodesCodeFuncs.c
source/libs/nodes/src/nodesCodeFuncs.c
+14
-0
source/libs/nodes/src/nodesTraverseFuncs.c
source/libs/nodes/src/nodesTraverseFuncs.c
+6
-4
source/libs/parser/inc/sql.y
source/libs/parser/inc/sql.y
+2
-0
source/libs/parser/src/parTokenizer.c
source/libs/parser/src/parTokenizer.c
+3
-0
source/libs/parser/src/sql.c
source/libs/parser/src/sql.c
+902
-894
source/libs/planner/src/planLogicCreater.c
source/libs/planner/src/planLogicCreater.c
+1
-1
source/libs/planner/src/planPhysiCreater.c
source/libs/planner/src/planPhysiCreater.c
+10
-2
source/libs/planner/test/plannerTest.cpp
source/libs/planner/test/plannerTest.cpp
+3
-0
未找到文件。
include/common/ttokendef.h
浏览文件 @
9ef7db39
...
...
@@ -173,50 +173,50 @@
#define TK_SPLIT 155
#define TK_SYNCDB 156
#define TK_NULL 157
#define TK_
NOW
158
#define TK_
ROWTS
159
#define TK_
TBNAME
160
#define TK_
QSTARTTS
161
#define TK_
QENDTS
162
#define TK_
W
STARTTS 163
#define TK_
W
ENDTS 164
#define TK_W
DURATION
165
#define TK_
BETWEEN
166
#define TK_
IS
167
#define TK_
NK_LT
168
#define TK_
NK_GT
169
#define TK_NK_L
E
170
#define TK_NK_G
E
171
#define TK_NK_
N
E 172
#define TK_
MATCH
173
#define TK_N
MATCH
174
#define TK_
JOIN
175
#define TK_
INNER
176
#define TK_
SELECT
177
#define TK_
DISTINCT
178
#define TK_
WHERE
179
#define TK_
PARTITION
180
#define TK_
BY
181
#define TK_
SESSION
182
#define TK_
STATE_WINDOW
183
#define TK_S
LIDING
184
#define TK_
FILL
185
#define TK_
VALUE
186
#define TK_
NONE
187
#define TK_
PREV
188
#define TK_
LINEAR
189
#define TK_
NEXT
190
#define TK_
GROUP
191
#define TK_
HAVING
192
#define TK_
ORDER
193
#define TK_
SLIMIT
194
#define TK_
SOFFSET
195
#define TK_
LIMIT
196
#define TK_
OFFSET
197
#define TK_
ASC
198
#define TK_
NULLS
199
#define TK_
FIRST
200
#define TK_
LAST
201
#define TK_
FIRST
158
#define TK_
LAST
159
#define TK_
NOW
160
#define TK_
ROWTS
161
#define TK_
TBNAME
162
#define TK_
Q
STARTTS 163
#define TK_
Q
ENDTS 164
#define TK_W
STARTTS
165
#define TK_
WENDTS
166
#define TK_
WDURATION
167
#define TK_
BETWEEN
168
#define TK_
IS
169
#define TK_NK_L
T
170
#define TK_NK_G
T
171
#define TK_NK_
L
E 172
#define TK_
NK_GE
173
#define TK_N
K_NE
174
#define TK_
MATCH
175
#define TK_
NMATCH
176
#define TK_
JOIN
177
#define TK_
INNER
178
#define TK_
SELECT
179
#define TK_
DISTINCT
180
#define TK_
WHERE
181
#define TK_
PARTITION
182
#define TK_
BY
183
#define TK_S
ESSION
184
#define TK_
STATE_WINDOW
185
#define TK_
SLIDING
186
#define TK_
FILL
187
#define TK_
VALUE
188
#define TK_
NONE
189
#define TK_
PREV
190
#define TK_
LINEAR
191
#define TK_
NEXT
192
#define TK_
GROUP
193
#define TK_
HAVING
194
#define TK_
ORDER
195
#define TK_
SLIMIT
196
#define TK_
SOFFSET
197
#define TK_
LIMIT
198
#define TK_
OFFSET
199
#define TK_
ASC
200
#define TK_
NULLS
201
#define TK_NK_SPACE 300
#define TK_NK_COMMENT 301
...
...
include/libs/nodes/plannodes.h
浏览文件 @
9ef7db39
...
...
@@ -286,12 +286,14 @@ typedef struct SSortPhysiNode {
SPhysiNode
node
;
SNodeList
*
pExprs
;
// these are expression list of order_by_clause and parameter expression of aggregate function
SNodeList
*
pSortKeys
;
// element is SOrderByExprNode, and SOrderByExprNode::pExpr is SColumnNode
SNodeList
*
pTargets
;
}
SSortPhysiNode
;
typedef
struct
SPartitionPhysiNode
{
SPhysiNode
node
;
SNodeList
*
pExprs
;
// these are expression list of partition_by_clause
SNodeList
*
pPartitionKeys
;
SNodeList
*
pTargets
;
}
SPartitionPhysiNode
;
typedef
struct
SDataSinkNode
{
...
...
include/libs/nodes/querynodes.h
浏览文件 @
9ef7db39
...
...
@@ -258,6 +258,7 @@ typedef enum ESqlClause {
SQL_CLAUSE_WINDOW
,
SQL_CLAUSE_GROUP_BY
,
SQL_CLAUSE_HAVING
,
SQL_CLAUSE_DISTINCT
,
SQL_CLAUSE_SELECT
,
SQL_CLAUSE_ORDER_BY
}
ESqlClause
;
...
...
source/libs/nodes/src/nodesCodeFuncs.c
浏览文件 @
9ef7db39
...
...
@@ -994,6 +994,7 @@ static int32_t jsonToPhysiExchangeNode(const SJson* pJson, void* pObj) {
static
const
char
*
jkSortPhysiPlanExprs
=
"Exprs"
;
static
const
char
*
jkSortPhysiPlanSortKeys
=
"SortKeys"
;
static
const
char
*
jkSortPhysiPlanTargets
=
"Targets"
;
static
int32_t
physiSortNodeToJson
(
const
void
*
pObj
,
SJson
*
pJson
)
{
const
SSortPhysiNode
*
pNode
=
(
const
SSortPhysiNode
*
)
pObj
;
...
...
@@ -1005,6 +1006,9 @@ static int32_t physiSortNodeToJson(const void* pObj, SJson* pJson) {
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
nodeListToJson
(
pJson
,
jkSortPhysiPlanSortKeys
,
pNode
->
pSortKeys
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
nodeListToJson
(
pJson
,
jkSortPhysiPlanTargets
,
pNode
->
pTargets
);
}
return
code
;
}
...
...
@@ -1019,6 +1023,9 @@ static int32_t jsonToPhysiSortNode(const SJson* pJson, void* pObj) {
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
jsonToNodeList
(
pJson
,
jkSortPhysiPlanSortKeys
,
&
pNode
->
pSortKeys
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
jsonToNodeList
(
pJson
,
jkSortPhysiPlanTargets
,
&
pNode
->
pTargets
);
}
return
code
;
}
...
...
@@ -1177,6 +1184,7 @@ static int32_t jsonToPhysiStateWindowNode(const SJson* pJson, void* pObj) {
static
const
char
*
jkPartitionPhysiPlanExprs
=
"Exprs"
;
static
const
char
*
jkPartitionPhysiPlanPartitionKeys
=
"PartitionKeys"
;
static
const
char
*
jkPartitionPhysiPlanTargets
=
"Targets"
;
static
int32_t
physiPartitionNodeToJson
(
const
void
*
pObj
,
SJson
*
pJson
)
{
const
SPartitionPhysiNode
*
pNode
=
(
const
SPartitionPhysiNode
*
)
pObj
;
...
...
@@ -1188,6 +1196,9 @@ static int32_t physiPartitionNodeToJson(const void* pObj, SJson* pJson) {
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
nodeListToJson
(
pJson
,
jkPartitionPhysiPlanPartitionKeys
,
pNode
->
pPartitionKeys
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
nodeListToJson
(
pJson
,
jkPartitionPhysiPlanTargets
,
pNode
->
pTargets
);
}
return
code
;
}
...
...
@@ -1202,6 +1213,9 @@ static int32_t jsonToPhysiPartitionNode(const SJson* pJson, void* pObj) {
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
jsonToNodeList
(
pJson
,
jkPartitionPhysiPlanPartitionKeys
,
&
pNode
->
pPartitionKeys
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
jsonToNodeList
(
pJson
,
jkPartitionPhysiPlanTargets
,
&
pNode
->
pTargets
);
}
return
code
;
}
...
...
source/libs/nodes/src/nodesTraverseFuncs.c
浏览文件 @
9ef7db39
...
...
@@ -301,9 +301,10 @@ void nodesWalkSelectStmt(SSelectStmt* pSelect, ESqlClause clause, FNodeWalker wa
case
SQL_CLAUSE_GROUP_BY
:
nodesWalkExpr
(
pSelect
->
pHaving
,
walker
,
pContext
);
case
SQL_CLAUSE_HAVING
:
nodesWalkExprs
(
pSelect
->
pProjectionList
,
walker
,
pContext
);
case
SQL_CLAUSE_SELECT
:
case
SQL_CLAUSE_DISTINCT
:
nodesWalkExprs
(
pSelect
->
pOrderByList
,
walker
,
pContext
);
case
SQL_CLAUSE_ORDER_BY
:
nodesWalkExprs
(
pSelect
->
pProjectionList
,
walker
,
pContext
);
default:
break
;
}
...
...
@@ -329,9 +330,10 @@ void nodesRewriteSelectStmt(SSelectStmt* pSelect, ESqlClause clause, FNodeRewrit
case
SQL_CLAUSE_GROUP_BY
:
nodesRewriteExpr
(
&
(
pSelect
->
pHaving
),
rewriter
,
pContext
);
case
SQL_CLAUSE_HAVING
:
nodesRewriteExprs
(
pSelect
->
pProjectionList
,
rewriter
,
pContext
);
case
SQL_CLAUSE_SELECT
:
case
SQL_CLAUSE_DISTINCT
:
nodesRewriteExprs
(
pSelect
->
pOrderByList
,
rewriter
,
pContext
);
case
SQL_CLAUSE_ORDER_BY
:
nodesRewriteExprs
(
pSelect
->
pProjectionList
,
rewriter
,
pContext
);
default:
break
;
}
...
...
source/libs/parser/inc/sql.y
浏览文件 @
9ef7db39
...
...
@@ -486,6 +486,8 @@ column_name(A) ::= NK_ID(B).
%type function_name { SToken }
%destructor function_name { }
function_name(A) ::= NK_ID(B). { A = B; }
function_name(A) ::= FIRST(B). { A = B; }
function_name(A) ::= LAST(B). { A = B; }
%type table_alias { SToken }
%destructor table_alias { }
...
...
source/libs/parser/src/parTokenizer.c
浏览文件 @
9ef7db39
...
...
@@ -72,6 +72,7 @@ static SKeyword keywordTable[] = {
{
"EXPLAIN"
,
TK_EXPLAIN
},
{
"FILE_FACTOR"
,
TK_FILE_FACTOR
},
{
"FILL"
,
TK_FILL
},
{
"FIRST"
,
TK_FIRST
},
{
"FLOAT"
,
TK_FLOAT
},
{
"FROM"
,
TK_FROM
},
{
"FSYNC"
,
TK_FSYNC
},
...
...
@@ -95,6 +96,7 @@ static SKeyword keywordTable[] = {
{
"JSON"
,
TK_JSON
},
{
"KEEP"
,
TK_KEEP
},
{
"KILL"
,
TK_KILL
},
{
"LAST"
,
TK_LAST
},
{
"LICENCE"
,
TK_LICENCE
},
{
"LIKE"
,
TK_LIKE
},
{
"LIMIT"
,
TK_LIMIT
},
...
...
@@ -113,6 +115,7 @@ static SKeyword keywordTable[] = {
{
"NOT"
,
TK_NOT
},
{
"NOW"
,
TK_NOW
},
{
"NULL"
,
TK_NULL
},
{
"NULLS"
,
TK_NULLS
},
{
"OFFSET"
,
TK_OFFSET
},
{
"ON"
,
TK_ON
},
{
"OR"
,
TK_OR
},
...
...
source/libs/parser/src/sql.c
浏览文件 @
9ef7db39
...
...
@@ -133,16 +133,16 @@ typedef union {
#define ParseCTX_FETCH
#define ParseCTX_STORE
#define YYNSTATE 518
#define YYNRULE
398
#define YYNRULE
400
#define YYNTOKEN 202
#define YY_MAX_SHIFT 517
#define YY_MIN_SHIFTREDUCE 77
4
#define YY_MAX_SHIFTREDUCE 117
1
#define YY_ERROR_ACTION 117
2
#define YY_ACCEPT_ACTION 117
3
#define YY_NO_ACTION 117
4
#define YY_MIN_REDUCE 117
5
#define YY_MAX_REDUCE 157
2
#define YY_MIN_SHIFTREDUCE 77
6
#define YY_MAX_SHIFTREDUCE 117
5
#define YY_ERROR_ACTION 117
6
#define YY_ACCEPT_ACTION 117
7
#define YY_NO_ACTION 117
8
#define YY_MIN_REDUCE 117
9
#define YY_MAX_REDUCE 157
8
/************* End control #defines *******************************************/
#define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0])))
...
...
@@ -209,307 +209,308 @@ typedef union {
** yy_default[] Default action for each state.
**
*********** Begin parsing tables **********************************************/
#define YY_ACTTAB_COUNT (14
72
)
#define YY_ACTTAB_COUNT (14
88
)
static
const
YYACTIONTYPE
yy_action
[]
=
{
/* 0 */
445
,
255
,
1427
,
114
,
389
,
1441
,
1278
,
310
,
445
,
72
,
/* 10 */
272
,
1292
,
31
,
29
,
1423
,
1430
,
352
,
72
,
1427
,
445
,
/* 20 */
264
,
65
,
1010
,
215
,
358
,
1289
,
1319
,
1427
,
308
,
1457
,
/* 30 */
1423
,
1429
,
1551
,
1289
,
1173
,
100
,
416
,
236
,
1008
,
1423
,
/* 40 */
1429
,
116
,
1281
,
1187
,
1289
,
1550
,
431
,
11
,
390
,
1549
,
/* 50 */
1414
,
31
,
29
,
1114
,
1015
,
445
,
445
,
444
,
1441
,
264
,
/* 60 */
444
,
1010
,
1280
,
445
,
309
,
315
,
69
,
1442
,
1443
,
1446
,
/* 70 */
1490
,
1
,
316
,
444
,
257
,
1486
,
123
,
1008
,
1457
,
1551
,
/* 80 */
1289
,
1289
,
1457
,
1032
,
413
,
429
,
11
,
280
,
1289
,
429
,
/* 90 */
31
,
29
,
128
,
1015
,
514
,
1518
,
1549
,
275
,
264
,
431
,
/* 100 */
1010
,
21
,
343
,
1414
,
1367
,
1369
,
1009
,
1414
,
12
,
99
,
/* 110 */
1
,
32
,
30
,
28
,
27
,
26
,
1008
,
406
,
1551
,
70
,
/* 120 */
1442
,
1443
,
1446
,
1490
,
12
,
11
,
1030
,
1489
,
1486
,
31
,
/* 130 */
29
,
128
,
1015
,
514
,
407
,
1549
,
1364
,
264
,
432
,
1010
,
/* 140 */
1011
,
267
,
97
,
136
,
1376
,
1009
,
28
,
27
,
26
,
1
,
/* 150 */
1010
,
415
,
124
,
1497
,
1498
,
1008
,
1502
,
1014
,
1058
,
1059
,
/* 160 */
1060
,
1061
,
1062
,
1063
,
1064
,
1065
,
1008
,
268
,
31
,
29
,
/* 170 */
430
,
1015
,
514
,
1033
,
1336
,
114
,
264
,
129
,
1010
,
1011
,
/* 180 */
254
,
304
,
1015
,
1291
,
1009
,
1334
,
25
,
193
,
7
,
32
,
/* 190 */
30
,
28
,
27
,
26
,
1008
,
413
,
1014
,
1058
,
1059
,
1060
,
/* 200 */
1061
,
1062
,
1063
,
1064
,
1065
,
1267
,
403
,
31
,
29
,
1265
,
/* 210 */
1015
,
514
,
1551
,
378
,
129
,
264
,
274
,
1010
,
1011
,
120
,
/* 220 */
99
,
129
,
514
,
1009
,
114
,
128
,
376
,
7
,
1198
,
1549
,
/* 230 */
1329
,
50
,
1291
,
1008
,
1009
,
1014
,
1058
,
1059
,
1060
,
1061
,
/* 240 */
1062
,
1063
,
1064
,
1065
,
95
,
329
,
31
,
29
,
1221
,
1015
,
/* 250 */
514
,
343
,
1284
,
97
,
264
,
480
,
1010
,
1011
,
408
,
404
,
/* 260 */
480
,
445
,
1009
,
125
,
1497
,
1498
,
7
,
1502
,
1011
,
303
,
/* 270 */
442
,
302
,
1008
,
1414
,
1014
,
1058
,
1059
,
1060
,
1061
,
1062
,
/* 280 */
1063
,
1064
,
1065
,
129
,
1336
,
1014
,
1289
,
1336
,
1015
,
514
,
/* 290 */
269
,
138
,
137
,
276
,
129
,
1334
,
1011
,
366
,
1334
,
360
,
/* 300 */
117
,
1009
,
50
,
365
,
1247
,
1
,
96
,
129
,
361
,
359
,
/* 310 */
483
,
362
,
1261
,
1014
,
1058
,
1059
,
1060
,
1061
,
1062
,
1063
,
/* 320 */
1064
,
1065
,
277
,
1285
,
235
,
162
,
1030
,
295
,
514
,
355
,
/* 330 */
114
,
510
,
509
,
322
,
1034
,
1011
,
334
,
1018
,
1291
,
6
,
/* 340 */
1009
,
811
,
297
,
810
,
1504
,
335
,
32
,
30
,
28
,
27
,
/* 350 */
26
,
357
,
1014
,
1058
,
1059
,
1060
,
1061
,
1062
,
1063
,
1064
,
/* 360 */
1065
,
812
,
1501
,
894
,
468
,
467
,
466
,
898
,
465
,
900
,
/* 370 */
901
,
464
,
903
,
461
,
1011
,
909
,
458
,
911
,
912
,
455
,
/* 380 */
452
,
238
,
1031
,
32
,
30
,
28
,
27
,
26
,
9
,
8
,
/* 390 */
23
,
1014
,
1058
,
1059
,
1060
,
1061
,
1062
,
1063
,
1064
,
1065
,
/* 400 */
32
,
30
,
28
,
27
,
26
,
1021
,
1046
,
32
,
30
,
28
,
/* 410 */
27
,
26
,
134
,
420
,
1077
,
333
,
1197
,
471
,
328
,
327
,
/* 420 */
326
,
325
,
324
,
1176
,
321
,
320
,
319
,
318
,
314
,
313
,
/* 430 */
312
,
311
,
1218
,
32
,
30
,
28
,
27
,
26
,
48
,
364
,
/* 440 */
363
,
47
,
238
,
1128
,
84
,
58
,
188
,
83
,
82
,
81
,
/* 450 */
80
,
79
,
78
,
77
,
76
,
75
,
366
,
482
,
360
,
1090
,
/* 460 */
1078
,
1414
,
365
,
432
,
424
,
96
,
1282
,
361
,
359
,
1377
,
/* 470 */
362
,
1196
,
1109
,
1195
,
1194
,
1077
,
155
,
1193
,
1082
,
153
,
/* 480 */
1192
,
502
,
501
,
500
,
499
,
279
,
1441
,
498
,
497
,
496
,
/* 490 */
101
,
491
,
490
,
489
,
488
,
487
,
486
,
485
,
484
,
108
,
/* 500 */
24
,
262
,
1072
,
1073
,
1074
,
1075
,
1076
,
1080
,
1081
,
115
,
/* 510 */
1457
,
1504
,
1138
,
1191
,
221
,
445
,
1414
,
429
,
1414
,
1414
,
/* 520 */
1079
,
1078
,
1414
,
1035
,
342
,
1414
,
219
,
431
,
1190
,
1500
,
/* 530 */
1189
,
1414
,
495
,
493
,
1186
,
1274
,
139
,
421
,
1083
,
1082
,
/* 540 */
1289
,
400
,
1136
,
1137
,
1139
,
1140
,
1441
,
70
,
1442
,
1443
,
/* 550 */
1446
,
1490
,
1276
,
248
,
1168
,
427
,
1486
,
380
,
1414
,
1441
,
/* 560 */
22
,
24
,
262
,
1072
,
1073
,
1074
,
1075
,
1076
,
1080
,
1081
,
/* 570 */
1457
,
1336
,
1185
,
1414
,
1336
,
1414
,
162
,
429
,
1113
,
1414
,
/* 580 */
355
,
413
,
1368
,
1457
,
1184
,
1335
,
1183
,
431
,
1551
,
445
,
/* 590 */
429
,
1414
,
249
,
425
,
247
,
246
,
417
,
354
,
1286
,
67
,
/* 600 */
431
,
128
,
357
,
419
,
1414
,
1549
,
99
,
68
,
1442
,
1443
,
/* 610 */
1446
,
1490
,
9
,
8
,
1289
,
237
,
1486
,
1414
,
856
,
1167
,
/* 620 */
118
,
1442
,
1443
,
1446
,
46
,
45
,
307
,
1551
,
133
,
1414
,
/* 630 */
1441
,
1414
,
1182
,
301
,
858
,
174
,
1121
,
1504
,
1403
,
97
,
/* 640 */
128
,
244
,
1032
,
293
,
1549
,
289
,
285
,
130
,
445
,
126
,
/* 650 */
1497
,
1498
,
494
,
1502
,
1457
,
1499
,
298
,
443
,
418
,
1564
,
/* 660 */
1181
,
416
,
810
,
445
,
422
,
1180
,
1441
,
1179
,
129
,
1509
,
/* 670 */
1109
,
431
,
207
,
1289
,
287
,
1414
,
84
,
1414
,
350
,
83
,
/* 680 */
82
,
81
,
80
,
79
,
78
,
77
,
76
,
75
,
1289
,
1017
,
/* 690 */
1457
,
69
,
1442
,
1443
,
1446
,
1490
,
428
,
429
,
1272
,
257
,
/* 700 */
1486
,
123
,
1441
,
1178
,
167
,
1414
,
470
,
431
,
271
,
270
,
/* 710 */
1414
,
1414
,
1414
,
189
,
1441
,
1170
,
1171
,
388
,
1023
,
396
,
/* 720 */
1517
,
32
,
30
,
28
,
27
,
26
,
1457
,
69
,
1442
,
1443
,
/* 730 */
1446
,
1490
,
1188
,
429
,
1016
,
257
,
1486
,
1563
,
1457
,
157
,
/* 740 */
1214
,
159
,
156
,
431
,
158
,
429
,
1524
,
1414
,
1414
,
106
,
/* 750 */
1015
,
161
,
1112
,
392
,
160
,
431
,
44
,
1020
,
1248
,
1414
,
/* 760 */
1135
,
445
,
367
,
69
,
1442
,
1443
,
1446
,
1490
,
1441
,
1209
,
/* 770 */
278
,
257
,
1486
,
1563
,
1207
,
69
,
1442
,
1443
,
1446
,
1490
,
/* 780 */
401
,
1046
,
1547
,
257
,
1486
,
1563
,
1289
,
517
,
371
,
177
,
/* 790 */
446
,
369
,
1457
,
179
,
1508
,
64
,
372
,
1330
,
830
,
429
,
/* 800 */
349
,
212
,
1019
,
379
,
94
,
60
,
1069
,
33
,
190
,
431
,
/* 810 */
506
,
1084
,
211
,
1414
,
831
,
1441
,
183
,
164
,
417
,
1520
,
/* 820 */
374
,
414
,
1434
,
413
,
1458
,
368
,
1266
,
192
,
163
,
227
,
/* 830 */
1442
,
1443
,
1446
,
33
,
1432
,
2
,
1024
,
1043
,
66
,
1457
,
/* 840 */
33
,
205
,
1030
,
196
,
977
,
282
,
429
,
198
,
99
,
1551
,
/* 850 */
243
,
103
,
286
,
1027
,
42
,
437
,
431
,
41
,
856
,
104
,
/* 860 */
1414
,
106
,
128
,
204
,
986
,
887
,
1549
,
417
,
245
,
213
,
/* 870 */
44
,
441
,
317
,
1366
,
882
,
135
,
70
,
1442
,
1443
,
1446
,
/* 880 */
1490
,
97
,
450
,
323
,
208
,
1487
,
915
,
331
,
476
,
330
,
/* 890 */
332
,
186
,
1497
,
412
,
336
,
411
,
395
,
1441
,
1551
,
170
,
/* 900 */
104
,
105
,
106
,
1441
,
919
,
925
,
924
,
1039
,
1441
,
104
,
/* 910 */
478
,
128
,
337
,
107
,
994
,
1549
,
166
,
338
,
1038
,
339
,
/* 920 */
142
,
1457
,
340
,
1037
,
341
,
145
,
49
,
1457
,
429
,
475
,
/* 930 */
474
,
473
,
1457
,
472
,
429
,
148
,
344
,
351
,
431
,
429
,
/* 940 */
1036
,
381
,
1414
,
353
,
431
,
263
,
1279
,
152
,
1414
,
431
,
/* 950 */
356
,
397
,
1441
,
1414
,
74
,
382
,
1275
,
154
,
231
,
1442
,
/* 960 */
1443
,
1446
,
109
,
110
,
231
,
1442
,
1443
,
1446
,
383
,
230
,
/* 970 */
1442
,
1443
,
1446
,
1277
,
1273
,
111
,
1457
,
112
,
1441
,
384
,
/* 980 */
169
,
172
,
387
,
429
,
253
,
150
,
1264
,
1035
,
122
,
393
,
/* 990 */
402
,
391
,
435
,
431
,
348
,
1531
,
149
,
1414
,
1015
,
394
,
/* 1000 */
175
,
409
,
1457
,
1521
,
399
,
1441
,
1530
,
178
,
1511
,
429
,
/* 1010 */
5
,
182
,
256
,
118
,
1442
,
1443
,
1446
,
405
,
410
,
431
,
/* 1020 */
398
,
121
,
51
,
1414
,
4
,
147
,
261
,
1109
,
98
,
1457
,
/* 1030 */
1175
,
184
,
1034
,
34
,
185
,
258
,
429
,
423
,
1375
,
231
,
/* 1040 */
1442
,
1443
,
1446
,
1505
,
208
,
426
,
431
,
1441
,
476
,
17
,
/* 1050 */
1414
,
191
,
1565
,
265
,
93
,
92
,
91
,
90
,
89
,
88
,
/* 1060 */
87
,
86
,
85
,
1472
,
1374
,
1548
,
231
,
1442
,
1443
,
1446
,
/* 1070 */
478
,
1457
,
1441
,
1566
,
433
,
434
,
438
,
439
,
429
,
146
,
/* 1080 */
266
,
141
,
200
,
143
,
440
,
202
,
214
,
57
,
431
,
475
,
/* 1090 */
474
,
473
,
1414
,
472
,
1290
,
59
,
1457
,
1441
,
448
,
477
,
/* 1100 */
140
,
1262
,
216
,
429
,
210
,
40
,
513
,
218
,
224
,
1442
,
/* 1110 */
1443
,
1446
,
222
,
431
,
220
,
1408
,
223
,
1414
,
1407
,
281
,
/* 1120 */
1404
,
1457
,
1441
,
283
,
284
,
1004
,
1005
,
131
,
429
,
288
,
/* 1130 */
1402
,
290
,
291
,
229
,
1442
,
1443
,
1446
,
292
,
431
,
1401
,
/* 1140 */
294
,
1400
,
1414
,
296
,
1391
,
132
,
1457
,
299
,
1441
,
300
,
/* 1150 */
989
,
988
,
1385
,
429
,
1384
,
306
,
305
,
1383
,
232
,
1442
,
/* 1160 */
1443
,
1446
,
1382
,
431
,
960
,
1359
,
1358
,
1414
,
102
,
1346
,
/* 1170 */
1345
,
1344
,
1457
,
1441
,
1357
,
1356
,
1355
,
1354
,
1353
,
429
,
/* 1180 */
1352
,
1351
,
1441
,
225
,
1442
,
1443
,
1446
,
1350
,
1349
,
431
,
/* 1190 */
1348
,
1347
,
1343
,
1414
,
1342
,
1341
,
1340
,
1457
,
1339
,
1338
,
/* 1200 */
1337
,
962
,
1220
,
1399
,
429
,
1393
,
1457
,
1441
,
1381
,
233
,
/* 1210 */
1442
,
1443
,
1446
,
429
,
431
,
1372
,
144
,
1268
,
1414
,
1219
,
/* 1220 */
823
,
1217
,
345
,
431
,
1206
,
346
,
347
,
1414
,
1205
,
1202
,
/* 1230 */
1270
,
1457
,
1441
,
73
,
226
,
1442
,
1443
,
1446
,
429
,
151
,
/* 1240 */
930
,
1269
,
932
,
234
,
1442
,
1443
,
1446
,
855
,
431
,
854
,
/* 1250 */
494
,
853
,
1414
,
492
,
852
,
1215
,
1457
,
250
,
1441
,
1210
,
/* 1260 */
849
,
848
,
251
,
429
,
370
,
1208
,
1441
,
252
,
1454
,
1442
,
/* 1270 */
1443
,
1446
,
373
,
431
,
1201
,
375
,
1200
,
1414
,
377
,
1398
,
/* 1280 */
71
,
43
,
1457
,
165
,
996
,
1392
,
385
,
113
,
386
,
429
,
/* 1290 */
1457
,
1380
,
168
,
1453
,
1442
,
1443
,
1446
,
429
,
1379
,
431
,
/* 1300 */
1371
,
171
,
1441
,
1414
,
52
,
3
,
33
,
431
,
14
,
1432
,
/* 1310 */
38
,
1414
,
15
,
35
,
1441
,
176
,
1134
,
181
,
37
,
1452
,
/* 1320 */
1442
,
1443
,
1446
,
119
,
173
,
180
,
1457
,
241
,
1442
,
1443
,
/* 1330 */
1446
,
20
,
19
,
429
,
1127
,
54
,
10
,
53
,
1457
,
1106
,
/* 1340 */
1105
,
36
,
1156
,
431
,
1161
,
429
,
16
,
1414
,
1441
,
1155
,
/* 1350 */
259
,
1160
,
187
,
127
,
1159
,
431
,
260
,
8
,
1070
,
1414
,
/* 1360 */
194
,
1044
,
195
,
240
,
1442
,
1443
,
1446
,
13
,
18
,
436
,
/* 1370 */
1370
,
1132
,
1457
,
1441
,
197
,
242
,
1442
,
1443
,
1446
,
429
,
/* 1380 */
199
,
55
,
201
,
60
,
203
,
56
,
1025
,
916
,
1431
,
431
,
/* 1390 */
206
,
39
,
449
,
1414
,
273
,
451
,
453
,
1457
,
913
,
447
,
/* 1400 */
454
,
456
,
910
,
457
,
429
,
904
,
459
,
460
,
463
,
239
,
/* 1410 */
1442
,
1443
,
1446
,
902
,
431
,
462
,
893
,
908
,
1414
,
907
,
/* 1420 */
61
,
906
,
469
,
905
,
927
,
926
,
923
,
921
,
62
,
821
,
/* 1430 */
63
,
479
,
862
,
209
,
228
,
1442
,
1443
,
1446
,
481
,
844
,
/* 1440 */
843
,
842
,
841
,
837
,
840
,
839
,
838
,
859
,
857
,
834
,
/* 1450 */
833
,
832
,
829
,
828
,
827
,
826
,
1216
,
503
,
504
,
1204
,
/* 1460 */
508
,
505
,
507
,
1203
,
1199
,
511
,
512
,
1174
,
1012
,
217
,
/* 1470 */
515
,
516
,
/* 0 */
255
,
432
,
272
,
1447
,
267
,
52
,
1218
,
1380
,
275
,
25
,
/* 10 */
193
,
304
,
31
,
29
,
121
,
1371
,
1373
,
1431
,
96
,
1431
,
/* 20 */
264
,
444
,
1012
,
1431
,
445
,
1333
,
1288
,
1463
,
367
,
1427
,
/* 30 */
1433
,
1427
,
1433
,
72
,
429
,
1427
,
1434
,
117
,
1010
,
1340
,
/* 40 */
352
,
1251
,
1557
,
310
,
431
,
254
,
1284
,
11
,
1418
,
1293
,
/* 50 */
1338
,
263
,
1225
,
413
,
1017
,
130
,
813
,
432
,
812
,
1555
,
/* 60 */
31
,
29
,
1118
,
1381
,
231
,
1448
,
1449
,
1452
,
264
,
1270
,
/* 70 */
1012
,
1
,
12
,
236
,
31
,
29
,
814
,
444
,
100
,
1340
,
/* 80 */
413
,
444
,
264
,
445
,
1012
,
269
,
1010
,
343
,
31
,
29
,
/* 90 */
1338
,
1418
,
72
,
1035
,
514
,
11
,
264
,
417
,
1012
,
358
,
/* 100 */
1010
,
366
,
1017
,
360
,
858
,
100
,
1011
,
365
,
1293
,
11
,
/* 110 */
97
,
98
,
361
,
359
,
1010
,
362
,
1017
,
1034
,
1340
,
1
,
/* 120 */
860
,
186
,
1503
,
412
,
276
,
411
,
445
,
208
,
1557
,
1338
,
/* 130 */
1017
,
476
,
12
,
1
,
1222
,
308
,
1463
,
116
,
98
,
1191
,
/* 140 */
1013
,
130
,
514
,
429
,
1032
,
1555
,
445
,
7
,
127
,
1503
,
/* 150 */
1504
,
1293
,
1508
,
478
,
1011
,
309
,
514
,
1016
,
1036
,
1037
,
/* 160 */
1062
,
1063
,
1064
,
1065
,
1066
,
1067
,
1068
,
1069
,
1011
,
482
,
/* 170 */
514
,
1293
,
475
,
474
,
473
,
406
,
472
,
163
,
1117
,
131
,
/* 180 */
131
,
355
,
1011
,
502
,
501
,
500
,
499
,
279
,
1013
,
498
,
/* 190 */
497
,
496
,
102
,
491
,
490
,
489
,
488
,
487
,
486
,
485
,
/* 200 */
484
,
108
,
1013
,
357
,
6
,
1016
,
1036
,
1037
,
1062
,
1063
,
/* 210 */
1064
,
1065
,
1066
,
1067
,
1068
,
1069
,
1013
,
510
,
509
,
1016
,
/* 220 */
1036
,
1037
,
1062
,
1063
,
1064
,
1065
,
1066
,
1067
,
1068
,
1069
,
/* 230 */
1038
,
1036
,
1037
,
1016
,
1036
,
1037
,
1062
,
1063
,
1064
,
1065
,
/* 240 */
1066
,
1067
,
1068
,
1069
,
1142
,
1271
,
31
,
29
,
430
,
32
,
/* 250 */
30
,
28
,
27
,
26
,
264
,
131
,
1012
,
136
,
407
,
31
,
/* 260 */
29
,
235
,
303
,
1032
,
302
,
445
,
65
,
264
,
1180
,
1012
,
/* 270 */
322
,
403
,
1010
,
334
,
315
,
400
,
1140
,
1141
,
1143
,
1144
,
/* 280 */
101
,
131
,
335
,
50
,
1202
,
1010
,
49
,
1285
,
1017
,
84
,
/* 290 */
1293
,
343
,
83
,
82
,
81
,
80
,
79
,
78
,
77
,
76
,
/* 300 */
75
,
1017
,
131
,
131
,
329
,
7
,
480
,
896
,
468
,
467
,
/* 310 */
466
,
900
,
465
,
902
,
903
,
464
,
905
,
461
,
7
,
911
,
/* 320 */
458
,
913
,
914
,
455
,
452
,
408
,
404
,
84
,
514
,
1418
,
/* 330 */
83
,
82
,
81
,
80
,
79
,
78
,
77
,
76
,
75
,
1113
,
/* 340 */
1011
,
514
,
188
,
32
,
30
,
28
,
27
,
26
,
364
,
363
,
/* 350 */
140
,
139
,
333
,
1011
,
1116
,
328
,
327
,
326
,
325
,
324
,
/* 360 */
445
,
321
,
320
,
319
,
318
,
314
,
313
,
312
,
311
,
316
,
/* 370 */
1172
,
9
,
8
,
1033
,
1013
,
32
,
30
,
28
,
27
,
26
,
/* 380 */
32
,
30
,
28
,
27
,
26
,
1293
,
1201
,
1013
,
483
,
1200
,
/* 390 */
1265
,
1016
,
1036
,
1037
,
1062
,
1063
,
1064
,
1065
,
1066
,
1067
,
/* 400 */
1068
,
1069
,
421
,
1132
,
1016
,
1036
,
1037
,
1062
,
1063
,
1064
,
/* 410 */
1065
,
1066
,
1067
,
1068
,
1069
,
238
,
1282
,
31
,
29
,
32
,
/* 420 */
30
,
28
,
27
,
26
,
366
,
264
,
360
,
1012
,
1199
,
1447
,
/* 430 */
365
,
1418
,
371
,
97
,
1418
,
361
,
359
,
1171
,
362
,
471
,
/* 440 */
1050
,
445
,
1094
,
1010
,
1447
,
1557
,
445
,
379
,
1081
,
268
,
/* 450 */
342
,
1269
,
380
,
1463
,
238
,
1290
,
1368
,
114
,
1556
,
1017
,
/* 460 */
429
,
165
,
1555
,
138
,
374
,
1295
,
1293
,
52
,
1463
,
368
,
/* 470 */
431
,
1293
,
164
,
1418
,
1418
,
416
,
1
,
445
,
1278
,
417
,
/* 480 */
28
,
27
,
26
,
1557
,
1198
,
431
,
442
,
1081
,
1289
,
1418
,
/* 490 */
227
,
1448
,
1449
,
1452
,
1082
,
1280
,
130
,
480
,
42
,
514
,
/* 500 */
1555
,
41
,
1293
,
1197
,
1083
,
69
,
1448
,
1449
,
1452
,
1496
,
/* 510 */
1557
,
1011
,
1086
,
257
,
1492
,
125
,
274
,
495
,
493
,
1276
,
/* 520 */
1177
,
1039
,
1087
,
130
,
114
,
215
,
420
,
1555
,
1323
,
1418
,
/* 530 */
115
,
422
,
1295
,
1082
,
1524
,
221
,
24
,
262
,
1076
,
1077
,
/* 540 */
1078
,
1079
,
1080
,
1084
,
1085
,
1013
,
22
,
219
,
1418
,
1196
,
/* 550 */
1195
,
1086
,
32
,
30
,
28
,
27
,
26
,
141
,
1515
,
1113
,
/* 560 */
168
,
1447
,
1016
,
1036
,
1037
,
1062
,
1063
,
1064
,
1065
,
1066
,
/* 570 */
1067
,
1068
,
1069
,
280
,
1447
,
24
,
262
,
1076
,
1077
,
1078
,
/* 580 */
1079
,
1080
,
1084
,
1085
,
295
,
1463
,
388
,
271
,
270
,
59
,
/* 590 */
1510
,
445
,
429
,
114
,
1418
,
1418
,
1510
,
1025
,
1463
,
297
,
/* 600 */
443
,
1296
,
431
,
413
,
1557
,
429
,
1418
,
1194
,
1507
,
445
,
/* 610 */
1286
,
417
,
1050
,
1018
,
1506
,
431
,
1293
,
130
,
207
,
1418
,
/* 620 */
67
,
1555
,
68
,
1448
,
1449
,
1452
,
1496
,
470
,
100
,
1017
,
/* 630 */
237
,
1492
,
277
,
174
,
1293
,
70
,
1448
,
1449
,
1452
,
1496
,
/* 640 */
114
,
812
,
1557
,
1495
,
1492
,
48
,
47
,
307
,
1295
,
135
,
/* 650 */
1193
,
1252
,
1418
,
1192
,
301
,
130
,
1407
,
350
,
1190
,
1555
,
/* 660 */
248
,
98
,
244
,
517
,
293
,
1447
,
289
,
285
,
132
,
446
,
/* 670 */
415
,
126
,
1503
,
1504
,
1189
,
1508
,
1188
,
212
,
1125
,
1510
,
/* 680 */
95
,
1021
,
156
,
163
,
1034
,
154
,
506
,
355
,
211
,
1463
,
/* 690 */
494
,
131
,
287
,
1187
,
298
,
1418
,
416
,
1505
,
445
,
249
,
/* 700 */
1447
,
247
,
246
,
1418
,
354
,
1186
,
431
,
278
,
428
,
357
,
/* 710 */
1418
,
1185
,
1184
,
1183
,
66
,
1026
,
106
,
205
,
419
,
1418
,
/* 720 */
392
,
1418
,
1182
,
1293
,
1463
,
1020
,
69
,
1448
,
1449
,
1452
,
/* 730 */
1496
,
429
,
1029
,
1340
,
257
,
1492
,
125
,
1213
,
1418
,
401
,
/* 740 */
1340
,
431
,
1447
,
158
,
1372
,
1418
,
157
,
441
,
189
,
160
,
/* 750 */
1418
,
1339
,
159
,
1447
,
396
,
1523
,
1418
,
1418
,
1418
,
369
,
/* 760 */
1211
,
69
,
1448
,
1449
,
1452
,
1496
,
1463
,
1418
,
378
,
257
,
/* 770 */
1492
,
1569
,
395
,
429
,
190
,
170
,
162
,
1463
,
1447
,
161
,
/* 780 */
1530
,
376
,
372
,
431
,
429
,
44
,
424
,
1418
,
338
,
1139
,
/* 790 */
996
,
177
,
167
,
1023
,
431
,
179
,
9
,
8
,
1418
,
413
,
/* 800 */
389
,
397
,
1463
,
69
,
1448
,
1449
,
1452
,
1496
,
1334
,
429
,
/* 810 */
1019
,
257
,
1492
,
1569
,
231
,
1448
,
1449
,
1452
,
1073
,
431
,
/* 820 */
64
,
1447
,
1553
,
1418
,
100
,
1174
,
1175
,
33
,
387
,
33
,
/* 830 */
61
,
1088
,
1447
,
1047
,
1438
,
183
,
349
,
832
,
1012
,
69
,
/* 840 */
1448
,
1449
,
1452
,
1496
,
390
,
1463
,
1436
,
257
,
1492
,
1569
,
/* 850 */
1526
,
33
,
429
,
833
,
1010
,
979
,
1463
,
98
,
1514
,
1464
,
/* 860 */
196
,
94
,
431
,
429
,
198
,
437
,
1418
,
128
,
1503
,
1504
,
/* 870 */
1017
,
1508
,
104
,
431
,
1447
,
1557
,
204
,
1418
,
1022
,
414
,
/* 880 */
192
,
2
,
70
,
1448
,
1449
,
1452
,
1496
,
1032
,
130
,
282
,
/* 890 */
427
,
1492
,
1555
,
118
,
1448
,
1449
,
1452
,
286
,
1463
,
243
,
/* 900 */
106
,
245
,
1447
,
44
,
889
,
429
,
858
,
884
,
450
,
104
,
/* 910 */
514
,
988
,
917
,
921
,
213
,
431
,
105
,
425
,
151
,
1418
,
/* 920 */
927
,
124
,
1011
,
317
,
106
,
1370
,
1463
,
348
,
926
,
150
,
/* 930 */
1447
,
418
,
1570
,
429
,
137
,
70
,
1448
,
1449
,
1452
,
1496
,
/* 940 */
323
,
104
,
330
,
431
,
1493
,
107
,
331
,
1418
,
332
,
336
,
/* 950 */
1043
,
337
,
1042
,
339
,
1463
,
53
,
1013
,
143
,
148
,
1447
,
/* 960 */
340
,
429
,
1041
,
230
,
1448
,
1449
,
1452
,
21
,
341
,
146
,
/* 970 */
51
,
431
,
1040
,
1016
,
351
,
1418
,
344
,
32
,
30
,
28
,
/* 980 */
27
,
26
,
149
,
1463
,
1447
,
383
,
356
,
353
,
381
,
74
,
/* 990 */
429
,
118
,
1448
,
1449
,
1452
,
409
,
253
,
1283
,
384
,
153
,
/* 1000 */
431
,
382
,
391
,
1279
,
1418
,
155
,
109
,
261
,
1463
,
110
,
/* 1010 */
1281
,
1277
,
147
,
111
,
120
,
429
,
144
,
112
,
1447
,
169
,
/* 1020 */
231
,
1448
,
1449
,
1452
,
23
,
431
,
1179
,
393
,
172
,
1418
,
/* 1030 */
1571
,
1039
,
265
,
142
,
32
,
30
,
28
,
27
,
26
,
402
,
/* 1040 */
1527
,
394
,
1463
,
1017
,
435
,
231
,
1448
,
1449
,
1452
,
429
,
/* 1050 */
93
,
92
,
91
,
90
,
89
,
88
,
87
,
86
,
85
,
431
,
/* 1060 */
1537
,
175
,
1447
,
1418
,
399
,
5
,
178
,
410
,
1447
,
256
,
/* 1070 */
398
,
405
,
1113
,
4
,
1038
,
99
,
123
,
34
,
1517
,
224
,
/* 1080 */
1448
,
1449
,
1452
,
1536
,
185
,
258
,
1463
,
184
,
182
,
1511
,
/* 1090 */
17
,
426
,
1463
,
429
,
423
,
1478
,
1447
,
1572
,
191
,
429
,
/* 1100 */
1379
,
433
,
1554
,
431
,
1447
,
434
,
438
,
1418
,
439
,
431
,
/* 1110 */
1378
,
200
,
266
,
1418
,
202
,
214
,
440
,
58
,
1294
,
60
,
/* 1120 */
1463
,
448
,
1266
,
229
,
1448
,
1449
,
1452
,
429
,
1463
,
232
,
/* 1130 */
1448
,
1449
,
1452
,
477
,
216
,
429
,
210
,
431
,
1447
,
222
,
/* 1140 */
40
,
1418
,
513
,
223
,
220
,
431
,
1268
,
1412
,
218
,
1418
,
/* 1150 */
1447
,
1411
,
281
,
1408
,
283
,
284
,
1006
,
225
,
1448
,
1449
,
/* 1160 */
1452
,
1007
,
1463
,
133
,
1406
,
233
,
1448
,
1449
,
1452
,
429
,
/* 1170 */
288
,
290
,
291
,
292
,
1463
,
1405
,
294
,
1404
,
296
,
431
,
/* 1180 */
1395
,
429
,
134
,
1418
,
299
,
300
,
991
,
990
,
1389
,
1388
,
/* 1190 */
1387
,
431
,
305
,
306
,
1386
,
1418
,
1447
,
962
,
1363
,
226
,
/* 1200 */
1448
,
1449
,
1452
,
1362
,
208
,
1361
,
1360
,
1359
,
476
,
1358
,
/* 1210 */
1357
,
234
,
1448
,
1449
,
1452
,
1356
,
1355
,
1354
,
1353
,
1352
,
/* 1220 */
1463
,
1447
,
1351
,
103
,
1350
,
1349
,
1348
,
429
,
1347
,
1346
,
/* 1230 */
478
,
1345
,
1447
,
964
,
1344
,
1343
,
1342
,
431
,
1341
,
1224
,
/* 1240 */
1403
,
1418
,
1397
,
1385
,
1376
,
1463
,
1272
,
145
,
825
,
475
,
/* 1250 */
474
,
473
,
429
,
472
,
1223
,
1221
,
1463
,
1460
,
1448
,
1449
,
/* 1260 */
1452
,
345
,
431
,
429
,
347
,
1210
,
1418
,
1209
,
1447
,
346
,
/* 1270 */
1206
,
1274
,
73
,
431
,
1447
,
152
,
494
,
1418
,
932
,
934
,
/* 1280 */
1273
,
492
,
1459
,
1448
,
1449
,
1452
,
857
,
856
,
855
,
854
,
/* 1290 */
851
,
850
,
1463
,
1458
,
1448
,
1449
,
1452
,
1219
,
1463
,
429
,
/* 1300 */
250
,
1214
,
1447
,
251
,
1212
,
429
,
252
,
370
,
1205
,
431
,
/* 1310 */
1447
,
373
,
375
,
1418
,
1204
,
431
,
377
,
1402
,
71
,
1418
,
/* 1320 */
166
,
998
,
1396
,
43
,
113
,
385
,
1463
,
386
,
122
,
241
,
/* 1330 */
1448
,
1449
,
1452
,
429
,
1463
,
240
,
1448
,
1449
,
1452
,
1384
,
/* 1340 */
1383
,
429
,
1375
,
431
,
1447
,
54
,
37
,
1418
,
171
,
14
,
/* 1350 */
3
,
431
,
1436
,
33
,
173
,
1418
,
38
,
15
,
176
,
1138
,
/* 1360 */
119
,
181
,
180
,
242
,
1448
,
1449
,
1452
,
19
,
1463
,
10
,
/* 1370 */
55
,
239
,
1448
,
1449
,
1452
,
429
,
56
,
20
,
1131
,
1110
,
/* 1380 */
36
,
16
,
1109
,
187
,
1160
,
431
,
1159
,
1165
,
259
,
1418
,
/* 1390 */
1164
,
1163
,
260
,
8
,
129
,
1048
,
13
,
35
,
18
,
194
,
/* 1400 */
195
,
1136
,
1074
,
197
,
199
,
228
,
1448
,
1449
,
1452
,
436
,
/* 1410 */
1374
,
201
,
45
,
1435
,
57
,
61
,
1027
,
918
,
206
,
203
,
/* 1420 */
39
,
449
,
273
,
915
,
453
,
456
,
447
,
451
,
454
,
895
,
/* 1430 */
912
,
457
,
910
,
906
,
459
,
460
,
462
,
904
,
463
,
929
,
/* 1440 */
62
,
46
,
63
,
909
,
928
,
923
,
469
,
925
,
823
,
479
,
/* 1450 */
481
,
908
,
846
,
864
,
845
,
907
,
209
,
844
,
843
,
842
,
/* 1460 */
841
,
839
,
840
,
859
,
836
,
861
,
835
,
834
,
831
,
830
,
/* 1470 */
829
,
828
,
1220
,
503
,
504
,
1208
,
1207
,
505
,
507
,
508
,
/* 1480 */
1203
,
511
,
512
,
1178
,
1014
,
217
,
515
,
516
,
};
static
const
YYCODETYPE
yy_lookahead
[]
=
{
/* 0 */
2
11
,
233
,
250
,
229
,
211
,
205
,
230
,
211
,
211
,
220
,
/* 10 */
2
33
,
237
,
12
,
13
,
262
,
263
,
227
,
220
,
250
,
211
,
/* 20 */
20
,
210
,
22
,
222
,
227
,
236
,
225
,
250
,
220
,
229
,
/* 30 */
26
2
,
263
,
286
,
236
,
202
,
224
,
236
,
241
,
38
,
262
,
/* 40 */
2
63
,
204
,
231
,
206
,
236
,
299
,
246
,
47
,
255
,
303
,
/* 50 */
2
50
,
12
,
13
,
14
,
54
,
211
,
211
,
20
,
205
,
20
,
/* 60 */
20
,
22
,
205
,
211
,
220
,
220
,
266
,
267
,
268
,
269
,
/* 70 */
270
,
71
,
220
,
20
,
274
,
275
,
276
,
38
,
229
,
286
,
/* 80 */
2
36
,
236
,
229
,
20
,
211
,
236
,
47
,
255
,
236
,
236
,
/* 90 */
12
,
13
,
299
,
54
,
94
,
295
,
303
,
238
,
20
,
246
,
/* 100 */
22
,
2
,
46
,
250
,
245
,
246
,
106
,
250
,
71
,
236
,
/* 110 */
71
,
12
,
13
,
14
,
15
,
16
,
38
,
268
,
286
,
266
,
/* 120 */
267
,
268
,
269
,
270
,
71
,
47
,
20
,
274
,
275
,
12
,
/* 130 */
13
,
299
,
54
,
94
,
20
,
303
,
236
,
20
,
246
,
22
,
/* 140 */
140
,
2
49
,
269
,
243
,
252
,
106
,
14
,
15
,
16
,
71
,
/* 150 */
22
,
278
,
279
,
280
,
281
,
38
,
283
,
157
,
158
,
159
,
/* 160 */
160
,
161
,
162
,
163
,
164
,
165
,
38
,
221
,
12
,
13
,
/* 170 */
14
,
54
,
94
,
20
,
229
,
229
,
20
,
177
,
22
,
140
,
/* 180 */
235
,
255
,
54
,
237
,
106
,
240
,
271
,
272
,
71
,
12
,
/* 190 */
13
,
14
,
15
,
16
,
38
,
211
,
157
,
158
,
159
,
160
,
/* 200 */
161
,
162
,
163
,
164
,
165
,
0
,
130
,
12
,
13
,
0
,
/* 210 */
54
,
94
,
286
,
21
,
177
,
20
,
221
,
22
,
140
,
228
,
/* 220 */
236
,
177
,
94
,
106
,
229
,
299
,
34
,
71
,
205
,
303
,
/* 230 */
239
,
213
,
237
,
38
,
106
,
157
,
158
,
159
,
160
,
161
,
/* 240 */
16
2
,
163
,
164
,
165
,
226
,
64
,
12
,
13
,
0
,
54
,
/* 250 */
94
,
46
,
234
,
269
,
20
,
46
,
22
,
140
,
182
,
183
,
/* 260 */
46
,
211
,
106
,
279
,
280
,
281
,
71
,
283
,
140
,
139
,
/* 270 */
220
,
141
,
38
,
250
,
157
,
158
,
159
,
160
,
161
,
16
2
,
/* 280 */
163
,
164
,
165
,
177
,
229
,
157
,
236
,
229
,
54
,
94
,
/* 290 */
23
5
,
110
,
111
,
235
,
177
,
240
,
140
,
49
,
240
,
5
1
,
/* 300 */
214
,
106
,
213
,
55
,
218
,
71
,
58
,
177
,
60
,
61
,
/* 310 */
217
,
63
,
219
,
157
,
158
,
159
,
160
,
161
,
162
,
163
,
/* 320 */
164
,
165
,
221
,
234
,
18
,
58
,
20
,
136
,
94
,
62
,
/* 330 */
229
,
208
,
209
,
27
,
20
,
140
,
30
,
38
,
237
,
43
,
/* 340 */
106
,
20
,
151
,
22
,
264
,
39
,
12
,
13
,
14
,
15
,
/* 350 */
16
,
84
,
157
,
158
,
159
,
160
,
161
,
162
,
163
,
164
,
/* 360 */
165
,
40
,
282
,
85
,
86
,
87
,
88
,
89
,
90
,
91
,
/* 370 */
92
,
93
,
94
,
95
,
140
,
97
,
98
,
99
,
100
,
101
,
/* 380 */
102
,
47
,
20
,
12
,
13
,
14
,
15
,
16
,
1
,
2
,
/* 390 */
2
,
157
,
158
,
159
,
160
,
161
,
162
,
163
,
164
,
165
,
/* 400 */
12
,
13
,
14
,
15
,
16
,
106
,
72
,
12
,
13
,
14
,
/* 410 */
15
,
16
,
44
,
3
,
80
,
109
,
205
,
82
,
112
,
113
,
/* 420 */
114
,
115
,
116
,
0
,
118
,
119
,
120
,
121
,
122
,
123
,
/* 430 */
124
,
125
,
0
,
12
,
13
,
14
,
15
,
16
,
70
,
215
,
/* 440 */
216
,
73
,
47
,
72
,
21
,
210
,
132
,
24
,
25
,
26
,
/* 450 */
27
,
28
,
29
,
30
,
31
,
32
,
49
,
54
,
51
,
72
,
/* 460 */
126
,
250
,
55
,
246
,
68
,
58
,
231
,
60
,
61
,
252
,
/* 470 */
63
,
205
,
176
,
205
,
205
,
80
,
75
,
205
,
144
,
78
,
/* 480 */
205
,
49
,
50
,
51
,
52
,
53
,
205
,
55
,
56
,
57
,
/* 490 */
58
,
59
,
60
,
61
,
62
,
63
,
64
,
65
,
66
,
67
,
/* 500 */
166
,
167
,
168
,
169
,
170
,
171
,
172
,
173
,
174
,
18
,
/* 510 */
2
29
,
264
,
157
,
205
,
23
,
211
,
250
,
236
,
250
,
25
0
,
/* 520 */
126
,
126
,
250
,
20
,
220
,
250
,
35
,
246
,
205
,
282
,
/* 530 */
205
,
250
,
215
,
216
,
205
,
230
,
45
,
68
,
144
,
144
,
/* 540 */
236
,
186
,
187
,
188
,
189
,
190
,
205
,
266
,
267
,
268
,
/* 550 */
2
69
,
270
,
230
,
35
,
133
,
274
,
275
,
255
,
250
,
205
,
/* 560 */
166
,
166
,
167
,
168
,
169
,
170
,
171
,
172
,
173
,
17
4
,
/* 570 */
229
,
229
,
205
,
250
,
229
,
250
,
58
,
236
,
4
,
250
,
/* 580 */
62
,
211
,
240
,
229
,
205
,
240
,
205
,
246
,
286
,
211
,
/* 590 */
2
36
,
250
,
74
,
197
,
76
,
77
,
255
,
79
,
220
,
108
,
/* 600 */
2
46
,
299
,
84
,
193
,
250
,
303
,
236
,
266
,
267
,
268
,
/* 610 */
2
69
,
270
,
1
,
2
,
236
,
274
,
275
,
250
,
38
,
198
,
/* 620 */
266
,
267
,
268
,
269
,
133
,
134
,
135
,
286
,
137
,
250
,
/* 630 */
2
05
,
250
,
205
,
142
,
54
,
132
,
14
,
264
,
0
,
269
,
/* 640 */
2
99
,
150
,
20
,
152
,
303
,
154
,
155
,
156
,
211
,
279
,
/* 650 */
2
80
,
281
,
68
,
283
,
229
,
282
,
72
,
220
,
304
,
305
,
/* 660 */
205
,
236
,
22
,
211
,
195
,
205
,
205
,
205
,
177
,
175
,
/* 670 */
176
,
246
,
220
,
236
,
36
,
250
,
21
,
250
,
38
,
2
4
,
/* 680 */
25
,
26
,
27
,
28
,
29
,
30
,
31
,
32
,
236
,
38
,
/* 690 */
229
,
266
,
267
,
268
,
269
,
270
,
47
,
236
,
230
,
2
74
,
/* 700 */
2
75
,
276
,
205
,
205
,
230
,
250
,
230
,
246
,
12
,
13
,
/* 710 */
250
,
2
50
,
250
,
288
,
205
,
200
,
201
,
258
,
22
,
294
,
/* 720 */
295
,
12
,
13
,
14
,
15
,
16
,
229
,
266
,
267
,
268
,
/* 730 */
2
69
,
270
,
206
,
236
,
38
,
274
,
275
,
276
,
229
,
75
,
/* 740 */
0
,
75
,
78
,
246
,
78
,
236
,
285
,
250
,
250
,
68
,
/* 750 */
54
,
75
,
178
,
72
,
78
,
246
,
68
,
106
,
218
,
250
,
/* 760 */
72
,
211
,
22
,
266
,
267
,
268
,
269
,
270
,
205
,
0
,
/* 770 */
2
20
,
274
,
275
,
276
,
0
,
266
,
267
,
268
,
269
,
270
,
/* 780 */
2
97
,
72
,
285
,
274
,
275
,
276
,
236
,
19
,
4
,
68
,
/* 790 */
94
,
22
,
229
,
72
,
285
,
71
,
22
,
239
,
38
,
236
,
/* 800 */
2
08
,
33
,
106
,
19
,
36
,
81
,
157
,
68
,
306
,
24
6
,
/* 810 */
42
,
72
,
44
,
250
,
54
,
205
,
291
,
33
,
255
,
265
,
/* 820 */
36
,
284
,
71
,
211
,
229
,
41
,
0
,
300
,
44
,
266
,
/* 830 */
267
,
268
,
269
,
68
,
83
,
287
,
140
,
72
,
70
,
229
,
/* 840 */
68
,
73
,
20
,
68
,
72
,
211
,
236
,
72
,
236
,
28
6
,
/* 850 */
26
1
,
68
,
36
,
157
,
70
,
72
,
246
,
73
,
38
,
68
,
/* 860 */
250
,
68
,
299
,
72
,
138
,
72
,
303
,
255
,
215
,
256
,
/* 870 */
68
,
103
,
211
,
211
,
72
,
117
,
266
,
267
,
268
,
269
,
/* 880 */
270
,
269
,
68
,
244
,
58
,
275
,
72
,
126
,
62
,
242
,
/* 890 */
2
42
,
279
,
280
,
281
,
211
,
283
,
128
,
205
,
286
,
13
1
,
/* 900 */
68
,
68
,
68
,
205
,
72
,
72
,
72
,
20
,
205
,
68
,
/* 910 */
84
,
299
,
260
,
72
,
146
,
303
,
148
,
246
,
20
,
254
,
/* 920 */
213
,
229
,
236
,
20
,
247
,
213
,
213
,
229
,
236
,
103
,
/* 930 */
104
,
105
,
229
,
107
,
236
,
213
,
211
,
207
,
246
,
236
,
/* 940 */
20
,
236
,
250
,
229
,
246
,
253
,
229
,
229
,
250
,
246
,
/* 950 */
215
,
253
,
205
,
250
,
211
,
260
,
229
,
229
,
266
,
267
,
/* 960 */
2
68
,
269
,
229
,
229
,
266
,
267
,
268
,
269
,
147
,
266
,
/* 970 */
2
67
,
268
,
269
,
229
,
229
,
229
,
229
,
229
,
205
,
259
,
/* 980 */
210
,
210
,
246
,
236
,
207
,
33
,
0
,
20
,
36
,
236
,
/* 990 */
185
,
254
,
184
,
246
,
42
,
296
,
44
,
250
,
54
,
247
,
/* 1000 */
2
51
,
298
,
229
,
265
,
250
,
205
,
296
,
251
,
293
,
236
,
/* 1010 */
192
,
292
,
250
,
266
,
267
,
268
,
269
,
250
,
191
,
246
,
/* 1020 */
180
,
290
,
70
,
250
,
179
,
73
,
253
,
176
,
236
,
229
,
/* 1030 */
0
,
289
,
20
,
117
,
277
,
199
,
236
,
194
,
251
,
266
,
/* 1040 */
26
7
,
268
,
269
,
264
,
58
,
196
,
246
,
205
,
62
,
71
,
/* 1050 */
250
,
301
,
305
,
253
,
24
,
25
,
26
,
27
,
28
,
29
,
/* 1060 */
30
,
31
,
32
,
273
,
251
,
302
,
266
,
267
,
268
,
269
,
/* 1070 */
84
,
229
,
205
,
307
,
250
,
250
,
129
,
248
,
236
,
127
,
/* 1080 */
2
50
,
129
,
236
,
131
,
247
,
210
,
225
,
210
,
246
,
103
,
/* 1090 */
104
,
105
,
250
,
107
,
236
,
71
,
229
,
205
,
232
,
215
,
/* 1100 */
148
,
219
,
211
,
236
,
210
,
257
,
207
,
212
,
266
,
267
,
/* 1110 */
2
68
,
269
,
223
,
246
,
203
,
0
,
223
,
250
,
0
,
6
1
,
/* 1120 */
0
,
229
,
205
,
38
,
153
,
38
,
38
,
38
,
236
,
153
,
/* 1130 */
0
,
38
,
38
,
266
,
267
,
268
,
269
,
153
,
246
,
0
,
/* 1140 */
38
,
0
,
250
,
38
,
0
,
71
,
229
,
144
,
205
,
143
,
/* 1150 */
106
,
140
,
0
,
236
,
0
,
136
,
50
,
0
,
266
,
267
,
/* 1160 */
26
8
,
269
,
0
,
246
,
83
,
0
,
0
,
250
,
117
,
0
,
/* 1170 */
0
,
0
,
229
,
205
,
0
,
0
,
0
,
0
,
0
,
23
6
,
/* 1180 */
0
,
0
,
205
,
266
,
267
,
268
,
269
,
0
,
0
,
246
,
/* 1190 */
0
,
0
,
0
,
250
,
0
,
0
,
0
,
229
,
0
,
0
,
/* 1200 */
0
,
22
,
0
,
0
,
236
,
0
,
229
,
205
,
0
,
266
,
/* 1210 */
267
,
268
,
269
,
236
,
246
,
0
,
43
,
0
,
25
0
,
0
,
/* 1220 */
48
,
0
,
38
,
246
,
0
,
36
,
43
,
250
,
0
,
0
,
/* 1230 */
0
,
229
,
205
,
80
,
266
,
267
,
268
,
269
,
236
,
78
,
/* 1240 */
22
,
0
,
38
,
266
,
267
,
268
,
269
,
38
,
246
,
38
,
/* 1250 */
68
,
38
,
250
,
68
,
38
,
0
,
229
,
22
,
205
,
0
,
/* 1260 */
38
,
38
,
22
,
236
,
39
,
0
,
205
,
22
,
266
,
267
,
/* 1270 */
268
,
269
,
38
,
246
,
0
,
22
,
0
,
250
,
22
,
0
,
/* 1280 */
20
,
132
,
229
,
149
,
38
,
0
,
22
,
145
,
132
,
236
,
/* 1290 */
229
,
0
,
129
,
266
,
267
,
268
,
269
,
236
,
0
,
24
6
,
/* 1300 */
0
,
43
,
205
,
250
,
71
,
68
,
68
,
246
,
181
,
83
,
/* 1310 */
68
,
250
,
181
,
175
,
205
,
72
,
72
,
68
,
132
,
266
,
/* 1320 */
267
,
268
,
269
,
71
,
127
,
71
,
229
,
266
,
267
,
268
,
/* 1330 */
26
9
,
68
,
71
,
236
,
72
,
4
,
181
,
71
,
229
,
72
,
/* 1340 */
72
,
68
,
38
,
246
,
72
,
236
,
68
,
250
,
205
,
38
,
/* 1350 */
38
,
38
,
83
,
83
,
38
,
246
,
38
,
2
,
157
,
250
,
/* 1360 */
83
,
72
,
72
,
266
,
267
,
268
,
269
,
71
,
71
,
130
,
/* 1370 */
0
,
72
,
229
,
205
,
71
,
266
,
267
,
268
,
269
,
236
,
/* 1380 */
71
,
71
,
43
,
81
,
127
,
71
,
22
,
72
,
83
,
246
,
/* 1390 */
83
,
71
,
38
,
250
,
38
,
71
,
38
,
229
,
72
,
82
,
/* 1400 */
7
1
,
38
,
72
,
71
,
236
,
72
,
38
,
71
,
71
,
266
,
/* 1410 */
267
,
268
,
269
,
72
,
246
,
38
,
22
,
96
,
250
,
96
,
/* 1420 */
71
,
96
,
84
,
96
,
38
,
106
,
38
,
22
,
71
,
48
,
/* 1430 */
7
1
,
47
,
54
,
68
,
266
,
267
,
268
,
269
,
69
,
38
,
/* 1440 */
38
,
38
,
38
,
22
,
38
,
38
,
38
,
54
,
38
,
38
,
/* 1450 */
38
,
38
,
38
,
38
,
38
,
38
,
0
,
38
,
36
,
0
,
/* 1460 */
3
7
,
43
,
38
,
0
,
0
,
22
,
21
,
308
,
22
,
22
,
/* 1470 */
21
,
20
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
/* 1480 */
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
/* 0 */
2
33
,
246
,
233
,
205
,
249
,
213
,
0
,
252
,
238
,
271
,
/* 10 */
2
72
,
255
,
12
,
13
,
228
,
245
,
246
,
250
,
226
,
250
,
/* 20 */
20
,
20
,
22
,
250
,
211
,
239
,
234
,
229
,
22
,
262
,
/* 30 */
26
3
,
262
,
263
,
220
,
236
,
262
,
263
,
214
,
38
,
229
,
/* 40 */
2
27
,
218
,
286
,
211
,
246
,
235
,
205
,
47
,
250
,
236
,
/* 50 */
2
40
,
253
,
0
,
211
,
54
,
299
,
20
,
246
,
22
,
303
,
/* 60 */
12
,
13
,
14
,
252
,
266
,
267
,
268
,
269
,
20
,
0
,
/* 70 */
22
,
71
,
71
,
241
,
12
,
13
,
40
,
20
,
236
,
229
,
/* 80 */
2
11
,
20
,
20
,
211
,
22
,
235
,
38
,
46
,
12
,
13
,
/* 90 */
240
,
250
,
220
,
20
,
94
,
47
,
20
,
255
,
22
,
227
,
/* 100 */
38
,
49
,
54
,
51
,
38
,
236
,
106
,
55
,
236
,
47
,
/* 110 */
58
,
269
,
60
,
61
,
38
,
63
,
54
,
20
,
229
,
71
,
/* 120 */
54
,
279
,
280
,
281
,
235
,
283
,
211
,
58
,
286
,
240
,
/* 130 */
54
,
62
,
71
,
71
,
0
,
220
,
229
,
204
,
269
,
206
,
/* 140 */
140
,
2
99
,
94
,
236
,
20
,
303
,
211
,
71
,
279
,
280
,
/* 150 */
281
,
236
,
283
,
84
,
106
,
220
,
94
,
157
,
158
,
159
,
/* 160 */
160
,
161
,
162
,
163
,
164
,
165
,
166
,
167
,
106
,
54
,
/* 170 */
94
,
236
,
103
,
104
,
105
,
268
,
107
,
58
,
4
,
179
,
/* 180 */
179
,
62
,
106
,
49
,
50
,
51
,
52
,
53
,
140
,
55
,
/* 190 */
56
,
57
,
58
,
59
,
60
,
61
,
62
,
63
,
64
,
65
,
/* 200 */
66
,
67
,
140
,
84
,
43
,
157
,
158
,
159
,
160
,
161
,
/* 210 */
162
,
163
,
164
,
165
,
166
,
167
,
140
,
208
,
209
,
157
,
/* 220 */
158
,
159
,
160
,
161
,
162
,
163
,
164
,
165
,
166
,
167
,
/* 230 */
20
,
158
,
159
,
157
,
158
,
159
,
160
,
161
,
162
,
163
,
/* 240 */
16
4
,
165
,
166
,
167
,
157
,
0
,
12
,
13
,
14
,
12
,
/* 250 */
13
,
14
,
15
,
16
,
20
,
179
,
22
,
44
,
20
,
12
,
/* 260 */
13
,
18
,
139
,
20
,
141
,
211
,
210
,
20
,
0
,
22
,
/* 270 */
27
,
130
,
38
,
30
,
220
,
188
,
189
,
190
,
191
,
19
2
,
/* 280 */
224
,
179
,
39
,
70
,
205
,
38
,
73
,
231
,
54
,
21
,
/* 290 */
23
6
,
46
,
24
,
25
,
26
,
27
,
28
,
29
,
30
,
3
1
,
/* 300 */
32
,
54
,
179
,
179
,
64
,
71
,
46
,
85
,
86
,
87
,
/* 310 */
88
,
89
,
90
,
91
,
92
,
93
,
94
,
95
,
71
,
97
,
/* 320 */
98
,
99
,
100
,
101
,
102
,
184
,
185
,
21
,
94
,
250
,
/* 330 */
24
,
25
,
26
,
27
,
28
,
29
,
30
,
31
,
32
,
178
,
/* 340 */
106
,
94
,
132
,
12
,
13
,
14
,
15
,
16
,
215
,
216
,
/* 350 */
110
,
111
,
109
,
106
,
180
,
112
,
113
,
114
,
115
,
116
,
/* 360 */
211
,
118
,
119
,
120
,
121
,
122
,
123
,
124
,
125
,
220
,
/* 370 */
133
,
1
,
2
,
20
,
140
,
12
,
13
,
14
,
15
,
16
,
/* 380 */
12
,
13
,
14
,
15
,
16
,
236
,
205
,
140
,
217
,
205
,
/* 390 */
219
,
157
,
158
,
159
,
160
,
161
,
162
,
163
,
164
,
165
,
/* 400 */
166
,
167
,
68
,
72
,
157
,
158
,
159
,
160
,
161
,
162
,
/* 410 */
163
,
164
,
165
,
166
,
167
,
47
,
230
,
12
,
13
,
12
,
/* 420 */
13
,
14
,
15
,
16
,
49
,
20
,
51
,
22
,
205
,
205
,
/* 430 */
55
,
250
,
4
,
58
,
250
,
60
,
61
,
200
,
63
,
82
,
/* 440 */
72
,
211
,
72
,
38
,
205
,
286
,
211
,
19
,
80
,
221
,
/* 450 */
220
,
0
,
255
,
229
,
47
,
220
,
236
,
229
,
299
,
54
,
/* 460 */
236
,
33
,
303
,
243
,
36
,
237
,
236
,
213
,
229
,
41
,
/* 470 */
246
,
236
,
44
,
250
,
250
,
236
,
71
,
211
,
230
,
255
,
/* 480 */
14
,
15
,
16
,
286
,
205
,
246
,
220
,
80
,
234
,
250
,
/* 490 */
266
,
267
,
268
,
269
,
126
,
230
,
299
,
46
,
70
,
94
,
/* 500 */
303
,
73
,
236
,
205
,
126
,
266
,
267
,
268
,
269
,
270
,
/* 510 */
2
86
,
106
,
144
,
274
,
275
,
276
,
221
,
215
,
216
,
23
0
,
/* 520 */
202
,
20
,
144
,
299
,
229
,
222
,
3
,
303
,
225
,
250
,
/* 530 */
18
,
197
,
237
,
126
,
295
,
23
,
168
,
169
,
170
,
171
,
/* 540 */
172
,
173
,
174
,
175
,
176
,
140
,
168
,
35
,
250
,
205
,
/* 550 */
2
05
,
144
,
12
,
13
,
14
,
15
,
16
,
45
,
177
,
178
,
/* 560 */
230
,
205
,
157
,
158
,
159
,
160
,
161
,
162
,
163
,
16
4
,
/* 570 */
165
,
166
,
167
,
255
,
205
,
168
,
169
,
170
,
171
,
172
,
/* 580 */
173
,
174
,
175
,
176
,
136
,
229
,
258
,
12
,
13
,
210
,
/* 590 */
2
64
,
211
,
236
,
229
,
250
,
250
,
264
,
22
,
229
,
151
,
/* 600 */
2
20
,
237
,
246
,
211
,
286
,
236
,
250
,
205
,
282
,
211
,
/* 610 */
2
31
,
255
,
72
,
38
,
282
,
246
,
236
,
299
,
220
,
250
,
/* 620 */
108
,
303
,
266
,
267
,
268
,
269
,
270
,
230
,
236
,
54
,
/* 630 */
2
74
,
275
,
221
,
132
,
236
,
266
,
267
,
268
,
269
,
270
,
/* 640 */
2
29
,
22
,
286
,
274
,
275
,
133
,
134
,
135
,
237
,
137
,
/* 650 */
2
05
,
218
,
250
,
206
,
142
,
299
,
0
,
38
,
205
,
303
,
/* 660 */
35
,
269
,
150
,
19
,
152
,
205
,
154
,
155
,
156
,
94
,
/* 670 */
278
,
279
,
280
,
281
,
205
,
283
,
205
,
33
,
14
,
26
4
,
/* 680 */
36
,
106
,
75
,
58
,
20
,
78
,
42
,
62
,
44
,
229
,
/* 690 */
68
,
179
,
36
,
205
,
72
,
250
,
236
,
282
,
211
,
74
,
/* 700 */
2
05
,
76
,
77
,
250
,
79
,
205
,
246
,
220
,
47
,
84
,
/* 710 */
250
,
2
05
,
205
,
205
,
70
,
140
,
68
,
73
,
195
,
250
,
/* 720 */
72
,
250
,
205
,
236
,
229
,
38
,
266
,
267
,
268
,
269
,
/* 730 */
2
70
,
236
,
157
,
229
,
274
,
275
,
276
,
0
,
250
,
297
,
/* 740 */
229
,
246
,
205
,
75
,
240
,
250
,
78
,
103
,
288
,
75
,
/* 750 */
250
,
240
,
78
,
205
,
294
,
295
,
250
,
250
,
250
,
22
,
/* 760 */
0
,
266
,
267
,
268
,
269
,
270
,
229
,
250
,
21
,
274
,
/* 770 */
2
75
,
276
,
128
,
236
,
306
,
131
,
75
,
229
,
205
,
78
,
/* 780 */
2
85
,
34
,
22
,
246
,
236
,
68
,
68
,
250
,
246
,
72
,
/* 790 */
146
,
68
,
148
,
106
,
246
,
72
,
1
,
2
,
250
,
211
,
/* 800 */
2
11
,
253
,
229
,
266
,
267
,
268
,
269
,
270
,
239
,
23
6
,
/* 810 */
38
,
274
,
275
,
276
,
266
,
267
,
268
,
269
,
157
,
246
,
/* 820 */
71
,
205
,
285
,
250
,
236
,
158
,
159
,
68
,
246
,
68
,
/* 830 */
81
,
72
,
205
,
72
,
71
,
291
,
208
,
38
,
22
,
266
,
/* 840 */
267
,
268
,
269
,
270
,
255
,
229
,
83
,
274
,
275
,
27
6
,
/* 850 */
26
5
,
68
,
236
,
54
,
38
,
72
,
229
,
269
,
285
,
229
,
/* 860 */
68
,
68
,
246
,
236
,
72
,
72
,
250
,
279
,
280
,
281
,
/* 870 */
54
,
283
,
68
,
246
,
205
,
286
,
72
,
250
,
106
,
284
,
/* 880 */
300
,
287
,
266
,
267
,
268
,
269
,
270
,
20
,
299
,
211
,
/* 890 */
2
74
,
275
,
303
,
266
,
267
,
268
,
269
,
36
,
229
,
26
1
,
/* 900 */
68
,
215
,
205
,
68
,
72
,
236
,
38
,
72
,
68
,
68
,
/* 910 */
94
,
138
,
72
,
72
,
256
,
246
,
68
,
199
,
33
,
250
,
/* 920 */
72
,
36
,
106
,
211
,
68
,
211
,
229
,
42
,
72
,
44
,
/* 930 */
205
,
304
,
305
,
236
,
117
,
266
,
267
,
268
,
269
,
270
,
/* 940 */
244
,
68
,
242
,
246
,
275
,
72
,
126
,
250
,
242
,
211
,
/* 950 */
20
,
260
,
20
,
254
,
229
,
70
,
140
,
213
,
73
,
205
,
/* 960 */
2
36
,
236
,
20
,
266
,
267
,
268
,
269
,
2
,
247
,
213
,
/* 970 */
2
13
,
246
,
20
,
157
,
207
,
250
,
211
,
12
,
13
,
14
,
/* 980 */
15
,
16
,
213
,
229
,
205
,
147
,
215
,
229
,
236
,
211
,
/* 990 */
236
,
266
,
267
,
268
,
269
,
298
,
207
,
229
,
259
,
229
,
/* 1000 */
2
46
,
260
,
254
,
229
,
250
,
229
,
229
,
253
,
229
,
229
,
/* 1010 */
229
,
229
,
127
,
229
,
129
,
236
,
131
,
229
,
205
,
210
,
/* 1020 */
266
,
267
,
268
,
269
,
2
,
246
,
0
,
236
,
210
,
250
,
/* 1030 */
305
,
20
,
253
,
148
,
12
,
13
,
14
,
15
,
16
,
187
,
/* 1040 */
26
5
,
247
,
229
,
54
,
186
,
266
,
267
,
268
,
269
,
236
,
/* 1050 */
24
,
25
,
26
,
27
,
28
,
29
,
30
,
31
,
32
,
246
,
/* 1060 */
296
,
251
,
205
,
250
,
250
,
194
,
251
,
193
,
205
,
250
,
/* 1070 */
182
,
250
,
178
,
181
,
20
,
236
,
290
,
117
,
293
,
266
,
/* 1080 */
2
67
,
268
,
269
,
296
,
277
,
201
,
229
,
289
,
292
,
264
,
/* 1090 */
71
,
198
,
229
,
236
,
196
,
273
,
205
,
307
,
301
,
236
,
/* 1100 */
251
,
250
,
302
,
246
,
205
,
250
,
129
,
250
,
248
,
246
,
/* 1110 */
2
51
,
236
,
250
,
250
,
210
,
225
,
247
,
210
,
236
,
7
1
,
/* 1120 */
229
,
232
,
219
,
266
,
267
,
268
,
269
,
236
,
229
,
266
,
/* 1130 */
267
,
268
,
269
,
215
,
211
,
236
,
210
,
246
,
205
,
223
,
/* 1140 */
257
,
250
,
207
,
223
,
203
,
246
,
0
,
0
,
212
,
250
,
/* 1150 */
205
,
0
,
61
,
0
,
38
,
153
,
38
,
266
,
267
,
268
,
/* 1160 */
26
9
,
38
,
229
,
38
,
0
,
266
,
267
,
268
,
269
,
236
,
/* 1170 */
153
,
38
,
38
,
153
,
229
,
0
,
38
,
0
,
38
,
24
6
,
/* 1180 */
0
,
236
,
71
,
250
,
144
,
143
,
106
,
140
,
0
,
0
,
/* 1190 */
0
,
246
,
50
,
136
,
0
,
250
,
205
,
83
,
0
,
266
,
/* 1200 */
267
,
268
,
269
,
0
,
58
,
0
,
0
,
0
,
62
,
0
,
/* 1210 */
0
,
266
,
267
,
268
,
269
,
0
,
0
,
0
,
0
,
0
,
/* 1220 */
229
,
205
,
0
,
117
,
0
,
0
,
0
,
236
,
0
,
0
,
/* 1230 */
84
,
0
,
205
,
22
,
0
,
0
,
0
,
246
,
0
,
0
,
/* 1240 */
0
,
250
,
0
,
0
,
0
,
229
,
0
,
43
,
48
,
103
,
/* 1250 */
104
,
105
,
236
,
107
,
0
,
0
,
229
,
266
,
267
,
268
,
/* 1260 */
269
,
38
,
246
,
236
,
43
,
0
,
250
,
0
,
205
,
36
,
/* 1270 */
0
,
0
,
80
,
246
,
205
,
78
,
68
,
250
,
22
,
38
,
/* 1280 */
0
,
68
,
266
,
267
,
268
,
269
,
38
,
38
,
38
,
38
,
/* 1290 */
38
,
38
,
229
,
266
,
267
,
268
,
269
,
0
,
229
,
23
6
,
/* 1300 */
22
,
0
,
205
,
22
,
0
,
236
,
22
,
39
,
0
,
246
,
/* 1310 */
205
,
38
,
22
,
250
,
0
,
246
,
22
,
0
,
20
,
250
,
/* 1320 */
149
,
38
,
0
,
132
,
145
,
22
,
229
,
132
,
129
,
266
,
/* 1330 */
26
7
,
268
,
269
,
236
,
229
,
266
,
267
,
268
,
269
,
0
,
/* 1340 */
0
,
236
,
0
,
246
,
205
,
71
,
132
,
250
,
43
,
183
,
/* 1350 */
68
,
246
,
83
,
68
,
127
,
250
,
68
,
183
,
72
,
72
,
/* 1360 */
71
,
68
,
71
,
266
,
267
,
268
,
269
,
71
,
229
,
183
,
/* 1370 */
71
,
266
,
267
,
268
,
269
,
236
,
4
,
68
,
72
,
72
,
/* 1380 */
68
,
68
,
72
,
83
,
38
,
246
,
38
,
72
,
38
,
250
,
/* 1390 */
38
,
38
,
38
,
2
,
83
,
72
,
71
,
177
,
71
,
83
,
/* 1400 */
7
2
,
72
,
157
,
71
,
71
,
266
,
267
,
268
,
269
,
130
,
/* 1410 */
0
,
43
,
71
,
83
,
71
,
81
,
22
,
72
,
83
,
127
,
/* 1420 */
71
,
38
,
38
,
72
,
38
,
38
,
82
,
71
,
71
,
22
,
/* 1430 */
7
2
,
71
,
96
,
72
,
38
,
71
,
38
,
72
,
71
,
38
,
/* 1440 */
71
,
71
,
71
,
96
,
106
,
22
,
84
,
38
,
48
,
47
,
/* 1450 */
69
,
96
,
38
,
54
,
38
,
96
,
68
,
38
,
38
,
38
,
/* 1460 */
3
8
,
22
,
38
,
38
,
38
,
54
,
38
,
38
,
38
,
38
,
/* 1470 */
38
,
38
,
0
,
38
,
36
,
0
,
0
,
43
,
38
,
37
,
/* 1480 */
0
,
22
,
21
,
308
,
22
,
22
,
21
,
20
,
308
,
308
,
/* 1490 */
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
/* 1500 */
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
/* 1510 */
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
...
...
@@ -528,145 +529,146 @@ static const YYCODETYPE yy_lookahead[] = {
/* 1640 */
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
/* 1650 */
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
/* 1660 */
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
/* 1670 */
308
,
308
,
308
,
308
,
/* 1670 */
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
/* 1680 */
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
308
,
};
#define YY_SHIFT_COUNT (517)
#define YY_SHIFT_MIN (0)
#define YY_SHIFT_MAX (14
64
)
#define YY_SHIFT_MAX (14
80
)
static
const
unsigned
short
int
yy_shift_ofst
[]
=
{
/* 0 */
491
,
0
,
39
,
78
,
78
,
78
,
78
,
117
,
78
,
78
,
/* 10 */
195
,
234
,
37
,
156
,
195
,
195
,
195
,
195
,
195
,
195
,
/* 20 */
195
,
195
,
195
,
195
,
195
,
195
,
195
,
195
,
195
,
195
,
/* 30 */
195
,
195
,
195
,
195
,
53
,
53
,
53
,
106
,
696
,
696
,
/* 40 */
1
30
,
40
,
40
,
44
,
696
,
40
,
40
,
40
,
40
,
40
,
/* 50 */
40
,
56
,
63
,
114
,
44
,
153
,
63
,
40
,
40
,
63
,
/* 60 */
40
,
63
,
153
,
63
,
63
,
40
,
214
,
306
,
334
,
395
,
/* 70 */
395
,
655
,
518
,
128
,
407
,
128
,
128
,
128
,
128
,
128
,
/* 80 */
128
,
128
,
128
,
128
,
128
,
128
,
128
,
128
,
128
,
128
,
/* 90 */
128
,
128
,
128
,
128
,
321
,
205
,
580
,
314
,
314
,
314
,
/* 100 */
2
09
,
580
,
362
,
153
,
63
,
63
,
63
,
335
,
403
,
278
,
/* 110 */
2
78
,
278
,
278
,
278
,
278
,
768
,
423
,
248
,
421
,
355
,
/* 120 */
267
,
76
,
640
,
503
,
494
,
296
,
494
,
622
,
410
,
57
4
,
/* 130 */
822
,
816
,
820
,
726
,
822
,
822
,
758
,
761
,
761
,
822
,
/* 140 */
8
87
,
153
,
898
,
56
,
362
,
903
,
56
,
56
,
822
,
56
,
/* 150 */
920
,
63
,
63
,
63
,
63
,
63
,
63
,
63
,
63
,
63
,
/* 160 */
63
,
63
,
820
,
822
,
920
,
362
,
887
,
821
,
153
,
898
,
/* 170 */
2
14
,
362
,
903
,
214
,
967
,
805
,
808
,
944
,
805
,
80
8
,
/* 180 */
9
44
,
944
,
818
,
827
,
840
,
845
,
851
,
362
,
1012
,
916
,
/* 190 */
8
36
,
849
,
843
,
978
,
63
,
808
,
944
,
944
,
808
,
944
,
/* 200 */
9
47
,
362
,
903
,
214
,
335
,
214
,
362
,
1024
,
820
,
403
,
/* 210 */
8
22
,
214
,
920
,
1472
,
1472
,
1472
,
1472
,
1472
,
432
,
952
,
/* 220 */
10
30
,
784
,
826
,
986
,
371
,
99
,
388
,
709
,
177
,
177
,
/* 230 */
177
,
177
,
177
,
177
,
177
,
368
,
181
,
387
,
394
,
132
,
/* 240 */
132
,
132
,
132
,
638
,
191
,
584
,
401
,
664
,
666
,
676
,
/* 250 */
740
,
769
,
774
,
192
,
681
,
688
,
721
,
611
,
515
,
469
,
/* 260 */
396
,
739
,
649
,
765
,
751
,
772
,
775
,
783
,
791
,
793
,
/* 270 */
299
,
651
,
802
,
814
,
832
,
833
,
834
,
841
,
724
,
760
,
/* 280 */
11
15
,
1118
,
1058
,
1120
,
1085
,
971
,
1087
,
1088
,
1089
,
976
,
/* 290 */
11
30
,
1093
,
1094
,
984
,
1139
,
1102
,
1141
,
1105
,
1144
,
1074
,
/* 300 */
10
03
,
1006
,
1044
,
1011
,
1152
,
1154
,
1106
,
1019
,
1157
,
1162
,
/* 310 */
1
081
,
1165
,
1166
,
1174
,
1175
,
1176
,
1177
,
1178
,
1180
,
1181
,
/* 320 */
1
187
,
1188
,
1190
,
1191
,
1051
,
1169
,
1170
,
1171
,
1192
,
1194
,
/* 330 */
1
195
,
1179
,
1196
,
1198
,
1199
,
1200
,
1202
,
1203
,
1205
,
1208
,
/* 340 */
12
15
,
1173
,
1217
,
1172
,
1219
,
1221
,
1184
,
1189
,
1183
,
1224
,
/* 350 */
12
28
,
1229
,
1230
,
1153
,
1161
,
1204
,
1182
,
1218
,
1241
,
1209
,
/* 360 */
12
11
,
1213
,
1216
,
1185
,
1182
,
1222
,
1223
,
1255
,
1235
,
1259
,
/* 370 */
12
40
,
1225
,
1265
,
1245
,
1234
,
1274
,
1253
,
1276
,
1256
,
1260
,
/* 380 */
1
279
,
1149
,
1134
,
1246
,
1285
,
1142
,
1264
,
1156
,
1163
,
1291
,
/* 390 */
1
298
,
1186
,
1300
,
1233
,
1258
,
1197
,
1237
,
1238
,
1127
,
1243
,
/* 400 */
12
42
,
1244
,
1252
,
1254
,
1261
,
1262
,
1249
,
1226
,
1266
,
1263
,
/* 410 */
11
31
,
1267
,
1268
,
1269
,
1138
,
1273
,
1270
,
1272
,
1278
,
1155
,
/* 420 */
13
31
,
1304
,
1311
,
1312
,
1313
,
1316
,
1318
,
1355
,
1201
,
1277
,
/* 430 */
1
289
,
1296
,
1297
,
1290
,
1299
,
1303
,
1309
,
1239
,
1310
,
137
0
,
/* 440 */
13
39
,
1257
,
1314
,
1302
,
1305
,
1307
,
1364
,
1320
,
1317
,
131
5
,
/* 450 */
13
54
,
1356
,
1324
,
1326
,
1358
,
1329
,
1330
,
1363
,
1332
,
1333
,
/* 460 */
13
68
,
1336
,
1341
,
1377
,
1337
,
1321
,
1323
,
1325
,
1327
,
1394
,
/* 470 */
13
38
,
1349
,
1386
,
1319
,
1357
,
1359
,
1388
,
1182
,
1405
,
1381
,
/* 480 */
1
384
,
1378
,
1369
,
1365
,
1401
,
1402
,
1403
,
1404
,
1406
,
1407
,
/* 490 */
14
08
,
1421
,
1393
,
1185
,
1410
,
1182
,
1411
,
1412
,
1413
,
1414
,
/* 500 */
14
15
,
1416
,
1417
,
1456
,
1419
,
1422
,
1418
,
1459
,
1424
,
1423
,
/* 510 */
14
63
,
1464
,
1443
,
1445
,
1446
,
1447
,
1449
,
1451
,
/* 0 */
512
,
0
,
48
,
62
,
62
,
62
,
62
,
76
,
62
,
62
,
/* 10 */
247
,
405
,
1
,
234
,
247
,
247
,
247
,
247
,
247
,
247
,
/* 20 */
247
,
247
,
247
,
247
,
247
,
247
,
247
,
247
,
247
,
247
,
/* 30 */
247
,
247
,
247
,
247
,
61
,
61
,
61
,
124
,
575
,
575
,
/* 40 */
1
23
,
57
,
57
,
102
,
575
,
73
,
73
,
57
,
57
,
57
,
/* 50 */
57
,
57
,
57
,
41
,
97
,
238
,
102
,
97
,
57
,
57
,
/* 60 */
97
,
57
,
97
,
97
,
97
,
57
,
260
,
243
,
368
,
407
,
/* 70 */
407
,
306
,
625
,
816
,
375
,
816
,
816
,
816
,
816
,
816
,
/* 80 */
816
,
816
,
816
,
816
,
816
,
816
,
816
,
816
,
816
,
816
,
/* 90 */
816
,
816
,
816
,
816
,
73
,
36
,
245
,
66
,
210
,
210
,
/* 100 */
2
10
,
451
,
66
,
353
,
97
,
97
,
97
,
357
,
115
,
222
,
/* 110 */
2
22
,
222
,
222
,
222
,
222
,
644
,
268
,
52
,
237
,
87
,
/* 120 */
73
,
119
,
73
,
141
,
619
,
501
,
381
,
161
,
381
,
66
4
,
/* 130 */
523
,
174
,
867
,
861
,
868
,
773
,
867
,
867
,
817
,
820
,
/* 140 */
8
20
,
867
,
930
,
932
,
41
,
353
,
942
,
41
,
41
,
867
,
/* 150 */
41
,
952
,
97
,
97
,
97
,
97
,
97
,
97
,
97
,
97
,
/* 160 */
97
,
97
,
97
,
868
,
867
,
952
,
353
,
930
,
838
,
932
,
/* 170 */
2
60
,
353
,
942
,
260
,
1011
,
852
,
858
,
989
,
852
,
85
8
,
/* 180 */
9
89
,
989
,
871
,
874
,
888
,
892
,
894
,
353
,
1054
,
960
,
/* 190 */
8
84
,
893
,
898
,
1019
,
97
,
858
,
989
,
989
,
858
,
989
,
/* 200 */
9
77
,
353
,
942
,
260
,
357
,
260
,
353
,
1048
,
868
,
115
,
/* 210 */
8
67
,
260
,
952
,
1488
,
1488
,
1488
,
1488
,
1488
,
134
,
885
,
/* 220 */
10
26
,
428
,
69
,
1146
,
331
,
965
,
1022
,
540
,
363
,
363
,
/* 230 */
363
,
363
,
363
,
363
,
363
,
213
,
240
,
370
,
378
,
466
,
/* 240 */
466
,
466
,
466
,
656
,
448
,
622
,
607
,
668
,
674
,
701
,
/* 250 */
6
,
737
,
760
,
747
,
648
,
717
,
723
,
795
,
667
,
334
,
/* 260 */
718
,
759
,
661
,
761
,
763
,
783
,
792
,
793
,
804
,
832
,
/* 270 */
687
,
772
,
835
,
840
,
841
,
848
,
856
,
873
,
749
,
799
,
/* 280 */
11
47
,
1151
,
1091
,
1153
,
1116
,
1002
,
1118
,
1123
,
1125
,
1017
,
/* 290 */
11
64
,
1133
,
1134
,
1020
,
1175
,
1138
,
1177
,
1140
,
1180
,
1111
,
/* 300 */
10
40
,
1042
,
1080
,
1047
,
1188
,
1189
,
1142
,
1057
,
1190
,
1194
,
/* 310 */
1
114
,
1198
,
1203
,
1205
,
1206
,
1207
,
1209
,
1210
,
1215
,
1216
,
/* 320 */
1
217
,
1218
,
1219
,
1222
,
1106
,
1224
,
1225
,
1226
,
1228
,
1229
,
/* 330 */
1
231
,
1211
,
1234
,
1235
,
1236
,
1238
,
1239
,
1240
,
1242
,
1243
,
/* 340 */
12
44
,
1204
,
1246
,
1200
,
1254
,
1255
,
1223
,
1233
,
1221
,
1265
,
/* 350 */
12
67
,
1270
,
1271
,
1192
,
1197
,
1241
,
1208
,
1256
,
1280
,
1248
,
/* 360 */
12
49
,
1250
,
1251
,
1213
,
1208
,
1252
,
1253
,
1297
,
1278
,
1301
,
/* 370 */
12
81
,
1268
,
1304
,
1284
,
1273
,
1308
,
1290
,
1314
,
1294
,
1298
,
/* 380 */
1
317
,
1191
,
1171
,
1283
,
1322
,
1179
,
1303
,
1195
,
1199
,
1339
,
/* 390 */
1
340
,
1214
,
1342
,
1274
,
1305
,
1227
,
1282
,
1285
,
1166
,
1286
,
/* 400 */
12
88
,
1287
,
1289
,
1291
,
1296
,
1306
,
1293
,
1269
,
1299
,
1309
,
/* 410 */
11
74
,
1307
,
1310
,
1300
,
1220
,
1312
,
1311
,
1315
,
1313
,
1186
,
/* 420 */
13
72
,
1346
,
1348
,
1350
,
1352
,
1353
,
1354
,
1391
,
1245
,
1316
,
/* 430 */
1
323
,
1325
,
1327
,
1328
,
1329
,
1332
,
1333
,
1279
,
1341
,
141
0
,
/* 440 */
13
68
,
1292
,
1343
,
1334
,
1330
,
1335
,
1394
,
1349
,
1344
,
134
5
,
/* 450 */
13
83
,
1384
,
1356
,
1351
,
1386
,
1357
,
1358
,
1387
,
1360
,
1361
,
/* 460 */
13
96
,
1364
,
1365
,
1398
,
1367
,
1336
,
1347
,
1355
,
1359
,
1407
,
/* 470 */
13
62
,
1369
,
1401
,
1338
,
1370
,
1371
,
1409
,
1208
,
1423
,
1400
,
/* 480 */
1
402
,
1399
,
1381
,
1388
,
1414
,
1416
,
1419
,
1420
,
1421
,
1422
,
/* 490 */
14
24
,
1439
,
1411
,
1213
,
1425
,
1208
,
1426
,
1428
,
1429
,
1430
,
/* 500 */
14
31
,
1432
,
1433
,
1472
,
1435
,
1438
,
1434
,
1475
,
1440
,
1442
,
/* 510 */
14
76
,
1480
,
1459
,
1461
,
1462
,
1463
,
1465
,
1467
,
};
#define YY_REDUCE_COUNT (217)
#define YY_REDUCE_MIN (-2
54
)
#define YY_REDUCE_MAX (11
68
)
#define YY_REDUCE_MIN (-2
62
)
#define YY_REDUCE_MAX (11
39
)
static
const
short
yy_reduce_ofst
[]
=
{
/* 0 */
-
168
,
341
,
425
,
-
200
,
461
,
497
,
509
,
563
,
-
147
,
281
,
/* 10 */
354
,
610
,
612
,
692
,
698
,
703
,
747
,
773
,
800
,
842
,
/* 20 */
8
67
,
892
,
917
,
943
,
968
,
977
,
1002
,
1027
,
1053
,
1061
,
/* 30 */
10
97
,
1109
,
1143
,
1168
,
-
127
,
-
16
,
370
,
-
207
,
-
232
,
-
223
,
/* 40 */
-
74
,
-
211
,
-
203
,
302
,
-
248
,
-
192
,
-
156
,
-
155
,
-
148
,
30
4
,
/* 50 */
378
,
18
,
-
55
,
-
151
,
-
254
,
-
108
,
-
54
,
50
,
437
,
55
,
/* 60 */
452
,
-
5
,
-
141
,
58
,
101
,
550
,
-
189
,
-
204
,
-
85
,
-
85
,
/* 70 */
-
85
,
-
163
,
-
9
,
-
143
,
86
,
23
,
211
,
266
,
268
,
26
9
,
/* 80 */
2
72
,
275
,
308
,
323
,
325
,
329
,
367
,
379
,
381
,
427
,
/* 90 */
455
,
460
,
462
,
498
,
123
,
89
,
224
,
80
,
247
,
373
,
/* 100 */
235
,
317
,
-
100
,
217
,
-
226
,
342
,
345
,
-
199
,
93
,
-
224
,
/* 110 */
305
,
322
,
468
,
474
,
476
,
459
,
526
,
540
,
502
,
483
,
/* 120 */
5
58
,
525
,
592
,
554
,
537
,
537
,
537
,
595
,
527
,
548
,
/* 130 */
634
,
589
,
653
,
613
,
661
,
662
,
639
,
647
,
648
,
683
,
/* 140 */
652
,
671
,
665
,
707
,
686
,
677
,
712
,
713
,
725
,
722
,
/* 150 */
7
30
,
714
,
717
,
718
,
727
,
728
,
733
,
734
,
744
,
745
,
/* 160 */
7
46
,
748
,
735
,
743
,
777
,
705
,
695
,
720
,
736
,
737
,
/* 170 */
770
,
753
,
752
,
771
,
738
,
699
,
749
,
754
,
710
,
756
,
/* 180 */
762
,
767
,
715
,
719
,
731
,
742
,
537
,
792
,
779
,
75
7
,
/* 190 */
7
66
,
763
,
750
,
790
,
595
,
787
,
824
,
825
,
813
,
830
,
/* 200 */
8
29
,
846
,
837
,
875
,
861
,
877
,
858
,
866
,
884
,
882
,
/* 210 */
891
,
894
,
899
,
848
,
889
,
893
,
895
,
91
1
,
/* 0 */
318
,
356
,
460
,
239
,
495
,
537
,
573
,
224
,
369
,
616
,
/* 10 */
627
,
669
,
-
158
,
-
202
,
548
,
697
,
725
,
754
,
779
,
813
,
/* 20 */
8
57
,
863
,
891
,
899
,
933
,
945
,
991
,
1016
,
1027
,
1063
,
/* 30 */
10
69
,
1097
,
1105
,
1139
,
392
,
-
131
,
588
,
589
,
-
233
,
-
231
,
/* 40 */
-
244
,
-
187
,
-
128
,
197
,
-
227
,
-
245
,
-
230
,
-
85
,
-
65
,
5
4
,
/* 50 */
149
,
230
,
235
,
-
208
,
-
190
,
-
93
,
159
,
228
,
266
,
380
,
/* 60 */
-
150
,
398
,
295
,
-
111
,
411
,
487
,
56
,
-
168
,
-
262
,
-
262
,
/* 70 */
-
262
,
-
67
,
-
214
,
-
159
,
-
177
,
79
,
181
,
184
,
223
,
27
9
,
/* 80 */
2
98
,
344
,
345
,
402
,
445
,
453
,
469
,
471
,
488
,
500
,
/* 90 */
506
,
507
,
508
,
517
,
-
189
,
9
,
254
,
133
,
326
,
332
,
/* 100 */
415
,
379
,
302
,
220
,
364
,
504
,
511
,
303
,
171
,
186
,
/* 110 */
248
,
265
,
289
,
330
,
397
,
328
,
447
,
433
,
468
,
442
,
/* 120 */
5
42
,
569
,
582
,
544
,
628
,
585
,
595
,
595
,
595
,
630
,
/* 130 */
580
,
594
,
678
,
638
,
686
,
658
,
712
,
714
,
696
,
700
,
/* 140 */
706
,
738
,
691
,
699
,
744
,
724
,
721
,
756
,
757
,
765
,
/* 150 */
7
69
,
767
,
758
,
768
,
770
,
774
,
776
,
777
,
780
,
781
,
/* 160 */
7
82
,
784
,
788
,
771
,
778
,
789
,
752
,
741
,
739
,
748
,
/* 170 */
809
,
791
,
794
,
818
,
775
,
764
,
810
,
814
,
787
,
815
,
/* 180 */
819
,
821
,
785
,
796
,
786
,
798
,
595
,
839
,
825
,
80
7
,
/* 190 */
7
90
,
800
,
797
,
822
,
630
,
849
,
851
,
855
,
859
,
862
,
/* 200 */
8
60
,
875
,
869
,
904
,
890
,
907
,
882
,
889
,
918
,
903
,
/* 210 */
923
,
926
,
935
,
883
,
916
,
920
,
936
,
94
1
,
};
static
const
YYACTIONTYPE
yy_default
[]
=
{
/* 0 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 10 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 20 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 30 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 40 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 50 */
117
2
,
1225
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 60 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1223
,
1360
,
1172
,
1492
,
/* 70 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 80 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 90 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1225
,
1172
,
1503
,
1503
,
1503
,
/* 100 */
1
223
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1318
,
1172
,
1172
,
/* 110 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1394
,
1172
,
1172
,
1567
,
1172
,
/* 120 */
1
271
,
1527
,
1172
,
1519
,
1495
,
1509
,
1496
,
1172
,
1552
,
1512
,
/* 130 */
1
172
,
1172
,
1172
,
1386
,
1172
,
1172
,
1365
,
1362
,
1362
,
1172
,
/* 140 */
1
172
,
1172
,
1172
,
1225
,
1172
,
1172
,
1225
,
1225
,
1172
,
1225
,
/* 150 */
1
172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 160 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1396
,
1172
,
1172
,
/* 170 */
122
3
,
1172
,
1172
,
1223
,
1172
,
1534
,
1532
,
1172
,
1534
,
1532
,
/* 180 */
117
2
,
1172
,
1546
,
1542
,
1525
,
1523
,
1509
,
1172
,
1172
,
1172
,
/* 190 */
157
0
,
1558
,
1554
,
1172
,
1172
,
1532
,
1172
,
1172
,
1532
,
1172
,
/* 200 */
137
3
,
1172
,
1172
,
1223
,
1172
,
1223
,
1172
,
1287
,
1172
,
1172
,
/* 210 */
117
2
,
1223
,
1172
,
1388
,
1321
,
1321
,
1226
,
1177
,
1172
,
1172
,
/* 220 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1456
,
1545
,
/* 230 */
15
44
,
1455
,
1469
,
1468
,
1467
,
1172
,
1172
,
1172
,
1172
,
1450
,
/* 240 */
145
1
,
1449
,
1448
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 250 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1493
,
1172
,
1555
,
/* 260 */
15
59
,
1172
,
1172
,
1172
,
1433
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 270 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 280 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 290 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 300 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 310 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 320 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 330 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 340 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 350 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1332
,
1172
,
1172
,
1172
,
/* 360 */
117
2
,
1172
,
1172
,
1252
,
1251
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 370 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 380 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 390 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1516
,
1526
,
1172
,
1172
,
/* 400 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1433
,
1172
,
1543
,
/* 410 */
117
2
,
1502
,
1498
,
1172
,
1172
,
1494
,
1172
,
1172
,
1553
,
1172
,
/* 420 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1488
,
1172
,
1172
,
/* 430 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 440 */
117
2
,
1172
,
1172
,
1172
,
1432
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 450 */
117
2
,
1172
,
1315
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 460 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1300
,
1298
,
1297
,
1296
,
1172
,
/* 470 */
129
3
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1323
,
1172
,
1172
,
/* 480 */
117
2
,
1172
,
1172
,
1246
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 490 */
117
2
,
1172
,
1172
,
1237
,
1172
,
1236
,
1172
,
1172
,
1172
,
1172
,
/* 500 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 510 */
117
2
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
1172
,
/* 0 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 10 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 20 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 30 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 40 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 50 */
117
6
,
1176
,
1176
,
1229
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 60 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1227
,
1364
,
1176
,
1498
,
/* 70 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 80 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 90 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1229
,
1176
,
1509
,
1509
,
/* 100 */
1
509
,
1227
,
1176
,
1176
,
1176
,
1176
,
1176
,
1322
,
1176
,
1176
,
/* 110 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1398
,
1176
,
1176
,
1573
,
1176
,
/* 120 */
1
176
,
1275
,
1176
,
1533
,
1176
,
1525
,
1501
,
1515
,
1502
,
1176
,
/* 130 */
1
558
,
1518
,
1176
,
1176
,
1176
,
1390
,
1176
,
1176
,
1369
,
1366
,
/* 140 */
1
366
,
1176
,
1176
,
1176
,
1229
,
1176
,
1176
,
1229
,
1229
,
1176
,
/* 150 */
1
229
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 160 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1400
,
1176
,
/* 170 */
122
7
,
1176
,
1176
,
1227
,
1176
,
1540
,
1538
,
1176
,
1540
,
1538
,
/* 180 */
117
6
,
1176
,
1552
,
1548
,
1531
,
1529
,
1515
,
1176
,
1176
,
1176
,
/* 190 */
157
6
,
1564
,
1560
,
1176
,
1176
,
1538
,
1176
,
1176
,
1538
,
1176
,
/* 200 */
137
7
,
1176
,
1176
,
1227
,
1176
,
1227
,
1176
,
1291
,
1176
,
1176
,
/* 210 */
117
6
,
1227
,
1176
,
1392
,
1325
,
1325
,
1230
,
1181
,
1176
,
1176
,
/* 220 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1462
,
1551
,
/* 230 */
15
50
,
1461
,
1475
,
1474
,
1473
,
1176
,
1176
,
1176
,
1176
,
1456
,
/* 240 */
145
7
,
1455
,
1454
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 250 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1499
,
1176
,
1561
,
/* 260 */
15
65
,
1176
,
1176
,
1176
,
1437
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 270 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 280 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 290 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 300 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 310 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 320 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 330 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 340 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 350 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1336
,
1176
,
1176
,
1176
,
/* 360 */
117
6
,
1176
,
1176
,
1256
,
1255
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 370 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 380 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 390 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1522
,
1532
,
1176
,
1176
,
/* 400 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1437
,
1176
,
1549
,
/* 410 */
117
6
,
1508
,
1504
,
1176
,
1176
,
1500
,
1176
,
1176
,
1559
,
1176
,
/* 420 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1494
,
1176
,
1176
,
/* 430 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 440 */
117
6
,
1176
,
1176
,
1176
,
1436
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 450 */
117
6
,
1176
,
1319
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 460 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1304
,
1302
,
1301
,
1300
,
1176
,
/* 470 */
129
7
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1327
,
1176
,
1176
,
/* 480 */
117
6
,
1176
,
1176
,
1250
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 490 */
117
6
,
1176
,
1176
,
1241
,
1176
,
1240
,
1176
,
1176
,
1176
,
1176
,
/* 500 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
/* 510 */
117
6
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
1176
,
};
/********** End of lemon-generated parsing tables *****************************/
...
...
@@ -931,50 +933,50 @@ static const char *const yyTokenName[] = {
/* 155 */
"SPLIT"
,
/* 156 */
"SYNCDB"
,
/* 157 */
"NULL"
,
/* 158 */
"
NOW
"
,
/* 159 */
"
ROWTS
"
,
/* 160 */
"
TBNAME
"
,
/* 161 */
"
QSTART
TS"
,
/* 162 */
"
QENDTS
"
,
/* 163 */
"
W
STARTTS"
,
/* 164 */
"
W
ENDTS"
,
/* 165 */
"W
DURATION
"
,
/* 166 */
"
BETWEEN
"
,
/* 167 */
"
IS
"
,
/* 168 */
"
NK_LT
"
,
/* 169 */
"
NK_GT
"
,
/* 170 */
"NK_L
E
"
,
/* 171 */
"NK_G
E
"
,
/* 172 */
"NK_
N
E"
,
/* 173 */
"
MATCH
"
,
/* 174 */
"N
MATCH
"
,
/* 175 */
"
JOIN
"
,
/* 176 */
"
INNER
"
,
/* 177 */
"
SELECT
"
,
/* 178 */
"
DISTINCT
"
,
/* 179 */
"
WHERE
"
,
/* 180 */
"
PARTITION
"
,
/* 181 */
"
BY
"
,
/* 182 */
"
SESS
ION"
,
/* 183 */
"
STATE_WINDOW
"
,
/* 184 */
"S
LIDING
"
,
/* 185 */
"
FILL
"
,
/* 186 */
"
VALUE
"
,
/* 187 */
"
NONE
"
,
/* 188 */
"
PREV
"
,
/* 189 */
"
LINEAR
"
,
/* 190 */
"
NEXT
"
,
/* 191 */
"
GROUP
"
,
/* 192 */
"
HAVING
"
,
/* 193 */
"
ORDER
"
,
/* 194 */
"
SLIMIT
"
,
/* 195 */
"
SOFFSET
"
,
/* 196 */
"LIMIT"
,
/* 197 */
"OFFSET"
,
/* 198 */
"
ASC
"
,
/* 199 */
"
NULLS
"
,
/* 200 */
"
FIRST
"
,
/* 201 */
"
LAST
"
,
/* 158 */
"
FIRST
"
,
/* 159 */
"
LAST
"
,
/* 160 */
"
NOW
"
,
/* 161 */
"
ROW
TS"
,
/* 162 */
"
TBNAME
"
,
/* 163 */
"
Q
STARTTS"
,
/* 164 */
"
Q
ENDTS"
,
/* 165 */
"W
STARTTS
"
,
/* 166 */
"
WENDTS
"
,
/* 167 */
"
WDURATION
"
,
/* 168 */
"
BETWEEN
"
,
/* 169 */
"
IS
"
,
/* 170 */
"NK_L
T
"
,
/* 171 */
"NK_G
T
"
,
/* 172 */
"NK_
L
E"
,
/* 173 */
"
NK_GE
"
,
/* 174 */
"N
K_NE
"
,
/* 175 */
"
MATCH
"
,
/* 176 */
"
NMATCH
"
,
/* 177 */
"
JOIN
"
,
/* 178 */
"
INNER
"
,
/* 179 */
"
SELECT
"
,
/* 180 */
"
DISTINCT
"
,
/* 181 */
"
WHERE
"
,
/* 182 */
"
PARTIT
ION"
,
/* 183 */
"
BY
"
,
/* 184 */
"S
ESSION
"
,
/* 185 */
"
STATE_WINDOW
"
,
/* 186 */
"
SLIDING
"
,
/* 187 */
"
FILL
"
,
/* 188 */
"
VALUE
"
,
/* 189 */
"
NONE
"
,
/* 190 */
"
PREV
"
,
/* 191 */
"
LINEAR
"
,
/* 192 */
"
NEXT
"
,
/* 193 */
"
GROUP
"
,
/* 194 */
"
HAVING
"
,
/* 195 */
"
ORDER
"
,
/* 196 */
"
S
LIMIT"
,
/* 197 */
"
S
OFFSET"
,
/* 198 */
"
LIMIT
"
,
/* 199 */
"
OFFSET
"
,
/* 200 */
"
ASC
"
,
/* 201 */
"
NULLS
"
,
/* 202 */
"cmd"
,
/* 203 */
"account_options"
,
/* 204 */
"alter_account_options"
,
...
...
@@ -1348,144 +1350,146 @@ static const char *const yyRuleName[] = {
/* 257 */
"table_name ::= NK_ID"
,
/* 258 */
"column_name ::= NK_ID"
,
/* 259 */
"function_name ::= NK_ID"
,
/* 260 */
"table_alias ::= NK_ID"
,
/* 261 */
"column_alias ::= NK_ID"
,
/* 262 */
"user_name ::= NK_ID"
,
/* 263 */
"index_name ::= NK_ID"
,
/* 264 */
"topic_name ::= NK_ID"
,
/* 265 */
"stream_name ::= NK_ID"
,
/* 266 */
"expression ::= literal"
,
/* 267 */
"expression ::= pseudo_column"
,
/* 268 */
"expression ::= column_reference"
,
/* 269 */
"expression ::= function_name NK_LP expression_list NK_RP"
,
/* 270 */
"expression ::= function_name NK_LP NK_STAR NK_RP"
,
/* 271 */
"expression ::= subquery"
,
/* 272 */
"expression ::= NK_LP expression NK_RP"
,
/* 273 */
"expression ::= NK_PLUS expression"
,
/* 274 */
"expression ::= NK_MINUS expression"
,
/* 275 */
"expression ::= expression NK_PLUS expression"
,
/* 276 */
"expression ::= expression NK_MINUS expression"
,
/* 277 */
"expression ::= expression NK_STAR expression"
,
/* 278 */
"expression ::= expression NK_SLASH expression"
,
/* 279 */
"expression ::= expression NK_REM expression"
,
/* 280 */
"expression_list ::= expression"
,
/* 281 */
"expression_list ::= expression_list NK_COMMA expression"
,
/* 282 */
"column_reference ::= column_name"
,
/* 283 */
"column_reference ::= table_name NK_DOT column_name"
,
/* 284 */
"pseudo_column ::= NOW"
,
/* 285 */
"pseudo_column ::= ROWTS"
,
/* 286 */
"pseudo_column ::= TBNAME"
,
/* 287 */
"pseudo_column ::= QSTARTTS"
,
/* 288 */
"pseudo_column ::= QENDTS"
,
/* 289 */
"pseudo_column ::= WSTARTTS"
,
/* 290 */
"pseudo_column ::= WENDTS"
,
/* 291 */
"pseudo_column ::= WDURATION"
,
/* 292 */
"predicate ::= expression compare_op expression"
,
/* 293 */
"predicate ::= expression BETWEEN expression AND expression"
,
/* 294 */
"predicate ::= expression NOT BETWEEN expression AND expression"
,
/* 295 */
"predicate ::= expression IS NULL"
,
/* 296 */
"predicate ::= expression IS NOT NULL"
,
/* 297 */
"predicate ::= expression in_op in_predicate_value"
,
/* 298 */
"compare_op ::= NK_LT"
,
/* 299 */
"compare_op ::= NK_GT"
,
/* 300 */
"compare_op ::= NK_LE"
,
/* 301 */
"compare_op ::= NK_GE"
,
/* 302 */
"compare_op ::= NK_NE"
,
/* 303 */
"compare_op ::= NK_EQ"
,
/* 304 */
"compare_op ::= LIKE"
,
/* 305 */
"compare_op ::= NOT LIKE"
,
/* 306 */
"compare_op ::= MATCH"
,
/* 307 */
"compare_op ::= NMATCH"
,
/* 308 */
"in_op ::= IN"
,
/* 309 */
"in_op ::= NOT IN"
,
/* 310 */
"in_predicate_value ::= NK_LP expression_list NK_RP"
,
/* 311 */
"boolean_value_expression ::= boolean_primary"
,
/* 312 */
"boolean_value_expression ::= NOT boolean_primary"
,
/* 313 */
"boolean_value_expression ::= boolean_value_expression OR boolean_value_expression"
,
/* 314 */
"boolean_value_expression ::= boolean_value_expression AND boolean_value_expression"
,
/* 315 */
"boolean_primary ::= predicate"
,
/* 316 */
"boolean_primary ::= NK_LP boolean_value_expression NK_RP"
,
/* 317 */
"common_expression ::= expression"
,
/* 318 */
"common_expression ::= boolean_value_expression"
,
/* 319 */
"from_clause ::= FROM table_reference_list"
,
/* 320 */
"table_reference_list ::= table_reference"
,
/* 321 */
"table_reference_list ::= table_reference_list NK_COMMA table_reference"
,
/* 322 */
"table_reference ::= table_primary"
,
/* 323 */
"table_reference ::= joined_table"
,
/* 324 */
"table_primary ::= table_name alias_opt"
,
/* 325 */
"table_primary ::= db_name NK_DOT table_name alias_opt"
,
/* 326 */
"table_primary ::= subquery alias_opt"
,
/* 327 */
"table_primary ::= parenthesized_joined_table"
,
/* 328 */
"alias_opt ::="
,
/* 329 */
"alias_opt ::= table_alias"
,
/* 330 */
"alias_opt ::= AS table_alias"
,
/* 331 */
"parenthesized_joined_table ::= NK_LP joined_table NK_RP"
,
/* 332 */
"parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP"
,
/* 333 */
"joined_table ::= table_reference join_type JOIN table_reference ON search_condition"
,
/* 334 */
"join_type ::="
,
/* 335 */
"join_type ::= INNER"
,
/* 336 */
"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"
,
/* 337 */
"set_quantifier_opt ::="
,
/* 338 */
"set_quantifier_opt ::= DISTINCT"
,
/* 339 */
"set_quantifier_opt ::= ALL"
,
/* 340 */
"select_list ::= NK_STAR"
,
/* 341 */
"select_list ::= select_sublist"
,
/* 342 */
"select_sublist ::= select_item"
,
/* 343 */
"select_sublist ::= select_sublist NK_COMMA select_item"
,
/* 344 */
"select_item ::= common_expression"
,
/* 345 */
"select_item ::= common_expression column_alias"
,
/* 346 */
"select_item ::= common_expression AS column_alias"
,
/* 347 */
"select_item ::= table_name NK_DOT NK_STAR"
,
/* 348 */
"where_clause_opt ::="
,
/* 349 */
"where_clause_opt ::= WHERE search_condition"
,
/* 350 */
"partition_by_clause_opt ::="
,
/* 351 */
"partition_by_clause_opt ::= PARTITION BY expression_list"
,
/* 352 */
"twindow_clause_opt ::="
,
/* 353 */
"twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP"
,
/* 354 */
"twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP"
,
/* 355 */
"twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt"
,
/* 356 */
"twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt"
,
/* 357 */
"sliding_opt ::="
,
/* 358 */
"sliding_opt ::= SLIDING NK_LP duration_literal NK_RP"
,
/* 359 */
"fill_opt ::="
,
/* 360 */
"fill_opt ::= FILL NK_LP fill_mode NK_RP"
,
/* 361 */
"fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP"
,
/* 362 */
"fill_mode ::= NONE"
,
/* 363 */
"fill_mode ::= PREV"
,
/* 364 */
"fill_mode ::= NULL"
,
/* 365 */
"fill_mode ::= LINEAR"
,
/* 366 */
"fill_mode ::= NEXT"
,
/* 367 */
"group_by_clause_opt ::="
,
/* 368 */
"group_by_clause_opt ::= GROUP BY group_by_list"
,
/* 369 */
"group_by_list ::= expression"
,
/* 370 */
"group_by_list ::= group_by_list NK_COMMA expression"
,
/* 371 */
"having_clause_opt ::="
,
/* 372 */
"having_clause_opt ::= HAVING search_condition"
,
/* 373 */
"query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt"
,
/* 374 */
"query_expression_body ::= query_primary"
,
/* 375 */
"query_expression_body ::= query_expression_body UNION ALL query_expression_body"
,
/* 376 */
"query_primary ::= query_specification"
,
/* 377 */
"order_by_clause_opt ::="
,
/* 378 */
"order_by_clause_opt ::= ORDER BY sort_specification_list"
,
/* 379 */
"slimit_clause_opt ::="
,
/* 380 */
"slimit_clause_opt ::= SLIMIT NK_INTEGER"
,
/* 381 */
"slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER"
,
/* 382 */
"slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER"
,
/* 383 */
"limit_clause_opt ::="
,
/* 384 */
"limit_clause_opt ::= LIMIT NK_INTEGER"
,
/* 385 */
"limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER"
,
/* 386 */
"limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER"
,
/* 387 */
"subquery ::= NK_LP query_expression NK_RP"
,
/* 388 */
"search_condition ::= common_expression"
,
/* 389 */
"sort_specification_list ::= sort_specification"
,
/* 390 */
"sort_specification_list ::= sort_specification_list NK_COMMA sort_specification"
,
/* 391 */
"sort_specification ::= expression ordering_specification_opt null_ordering_opt"
,
/* 392 */
"ordering_specification_opt ::="
,
/* 393 */
"ordering_specification_opt ::= ASC"
,
/* 394 */
"ordering_specification_opt ::= DESC"
,
/* 395 */
"null_ordering_opt ::="
,
/* 396 */
"null_ordering_opt ::= NULLS FIRST"
,
/* 397 */
"null_ordering_opt ::= NULLS LAST"
,
/* 260 */
"function_name ::= FIRST"
,
/* 261 */
"function_name ::= LAST"
,
/* 262 */
"table_alias ::= NK_ID"
,
/* 263 */
"column_alias ::= NK_ID"
,
/* 264 */
"user_name ::= NK_ID"
,
/* 265 */
"index_name ::= NK_ID"
,
/* 266 */
"topic_name ::= NK_ID"
,
/* 267 */
"stream_name ::= NK_ID"
,
/* 268 */
"expression ::= literal"
,
/* 269 */
"expression ::= pseudo_column"
,
/* 270 */
"expression ::= column_reference"
,
/* 271 */
"expression ::= function_name NK_LP expression_list NK_RP"
,
/* 272 */
"expression ::= function_name NK_LP NK_STAR NK_RP"
,
/* 273 */
"expression ::= subquery"
,
/* 274 */
"expression ::= NK_LP expression NK_RP"
,
/* 275 */
"expression ::= NK_PLUS expression"
,
/* 276 */
"expression ::= NK_MINUS expression"
,
/* 277 */
"expression ::= expression NK_PLUS expression"
,
/* 278 */
"expression ::= expression NK_MINUS expression"
,
/* 279 */
"expression ::= expression NK_STAR expression"
,
/* 280 */
"expression ::= expression NK_SLASH expression"
,
/* 281 */
"expression ::= expression NK_REM expression"
,
/* 282 */
"expression_list ::= expression"
,
/* 283 */
"expression_list ::= expression_list NK_COMMA expression"
,
/* 284 */
"column_reference ::= column_name"
,
/* 285 */
"column_reference ::= table_name NK_DOT column_name"
,
/* 286 */
"pseudo_column ::= NOW"
,
/* 287 */
"pseudo_column ::= ROWTS"
,
/* 288 */
"pseudo_column ::= TBNAME"
,
/* 289 */
"pseudo_column ::= QSTARTTS"
,
/* 290 */
"pseudo_column ::= QENDTS"
,
/* 291 */
"pseudo_column ::= WSTARTTS"
,
/* 292 */
"pseudo_column ::= WENDTS"
,
/* 293 */
"pseudo_column ::= WDURATION"
,
/* 294 */
"predicate ::= expression compare_op expression"
,
/* 295 */
"predicate ::= expression BETWEEN expression AND expression"
,
/* 296 */
"predicate ::= expression NOT BETWEEN expression AND expression"
,
/* 297 */
"predicate ::= expression IS NULL"
,
/* 298 */
"predicate ::= expression IS NOT NULL"
,
/* 299 */
"predicate ::= expression in_op in_predicate_value"
,
/* 300 */
"compare_op ::= NK_LT"
,
/* 301 */
"compare_op ::= NK_GT"
,
/* 302 */
"compare_op ::= NK_LE"
,
/* 303 */
"compare_op ::= NK_GE"
,
/* 304 */
"compare_op ::= NK_NE"
,
/* 305 */
"compare_op ::= NK_EQ"
,
/* 306 */
"compare_op ::= LIKE"
,
/* 307 */
"compare_op ::= NOT LIKE"
,
/* 308 */
"compare_op ::= MATCH"
,
/* 309 */
"compare_op ::= NMATCH"
,
/* 310 */
"in_op ::= IN"
,
/* 311 */
"in_op ::= NOT IN"
,
/* 312 */
"in_predicate_value ::= NK_LP expression_list NK_RP"
,
/* 313 */
"boolean_value_expression ::= boolean_primary"
,
/* 314 */
"boolean_value_expression ::= NOT boolean_primary"
,
/* 315 */
"boolean_value_expression ::= boolean_value_expression OR boolean_value_expression"
,
/* 316 */
"boolean_value_expression ::= boolean_value_expression AND boolean_value_expression"
,
/* 317 */
"boolean_primary ::= predicate"
,
/* 318 */
"boolean_primary ::= NK_LP boolean_value_expression NK_RP"
,
/* 319 */
"common_expression ::= expression"
,
/* 320 */
"common_expression ::= boolean_value_expression"
,
/* 321 */
"from_clause ::= FROM table_reference_list"
,
/* 322 */
"table_reference_list ::= table_reference"
,
/* 323 */
"table_reference_list ::= table_reference_list NK_COMMA table_reference"
,
/* 324 */
"table_reference ::= table_primary"
,
/* 325 */
"table_reference ::= joined_table"
,
/* 326 */
"table_primary ::= table_name alias_opt"
,
/* 327 */
"table_primary ::= db_name NK_DOT table_name alias_opt"
,
/* 328 */
"table_primary ::= subquery alias_opt"
,
/* 329 */
"table_primary ::= parenthesized_joined_table"
,
/* 330 */
"alias_opt ::="
,
/* 331 */
"alias_opt ::= table_alias"
,
/* 332 */
"alias_opt ::= AS table_alias"
,
/* 333 */
"parenthesized_joined_table ::= NK_LP joined_table NK_RP"
,
/* 334 */
"parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP"
,
/* 335 */
"joined_table ::= table_reference join_type JOIN table_reference ON search_condition"
,
/* 336 */
"join_type ::="
,
/* 337 */
"join_type ::= INNER"
,
/* 338 */
"query_specification ::= SELECT set_quantifier_opt select_list from_clause where_clause_opt partition_by_clause_opt twindow_clause_opt group_by_clause_opt having_clause_opt"
,
/* 339 */
"set_quantifier_opt ::="
,
/* 340 */
"set_quantifier_opt ::= DISTINCT"
,
/* 341 */
"set_quantifier_opt ::= ALL"
,
/* 342 */
"select_list ::= NK_STAR"
,
/* 343 */
"select_list ::= select_sublist"
,
/* 344 */
"select_sublist ::= select_item"
,
/* 345 */
"select_sublist ::= select_sublist NK_COMMA select_item"
,
/* 346 */
"select_item ::= common_expression"
,
/* 347 */
"select_item ::= common_expression column_alias"
,
/* 348 */
"select_item ::= common_expression AS column_alias"
,
/* 349 */
"select_item ::= table_name NK_DOT NK_STAR"
,
/* 350 */
"where_clause_opt ::="
,
/* 351 */
"where_clause_opt ::= WHERE search_condition"
,
/* 352 */
"partition_by_clause_opt ::="
,
/* 353 */
"partition_by_clause_opt ::= PARTITION BY expression_list"
,
/* 354 */
"twindow_clause_opt ::="
,
/* 355 */
"twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP"
,
/* 356 */
"twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP"
,
/* 357 */
"twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt"
,
/* 358 */
"twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt"
,
/* 359 */
"sliding_opt ::="
,
/* 360 */
"sliding_opt ::= SLIDING NK_LP duration_literal NK_RP"
,
/* 361 */
"fill_opt ::="
,
/* 362 */
"fill_opt ::= FILL NK_LP fill_mode NK_RP"
,
/* 363 */
"fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP"
,
/* 364 */
"fill_mode ::= NONE"
,
/* 365 */
"fill_mode ::= PREV"
,
/* 366 */
"fill_mode ::= NULL"
,
/* 367 */
"fill_mode ::= LINEAR"
,
/* 368 */
"fill_mode ::= NEXT"
,
/* 369 */
"group_by_clause_opt ::="
,
/* 370 */
"group_by_clause_opt ::= GROUP BY group_by_list"
,
/* 371 */
"group_by_list ::= expression"
,
/* 372 */
"group_by_list ::= group_by_list NK_COMMA expression"
,
/* 373 */
"having_clause_opt ::="
,
/* 374 */
"having_clause_opt ::= HAVING search_condition"
,
/* 375 */
"query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt"
,
/* 376 */
"query_expression_body ::= query_primary"
,
/* 377 */
"query_expression_body ::= query_expression_body UNION ALL query_expression_body"
,
/* 378 */
"query_primary ::= query_specification"
,
/* 379 */
"order_by_clause_opt ::="
,
/* 380 */
"order_by_clause_opt ::= ORDER BY sort_specification_list"
,
/* 381 */
"slimit_clause_opt ::="
,
/* 382 */
"slimit_clause_opt ::= SLIMIT NK_INTEGER"
,
/* 383 */
"slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER"
,
/* 384 */
"slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER"
,
/* 385 */
"limit_clause_opt ::="
,
/* 386 */
"limit_clause_opt ::= LIMIT NK_INTEGER"
,
/* 387 */
"limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER"
,
/* 388 */
"limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER"
,
/* 389 */
"subquery ::= NK_LP query_expression NK_RP"
,
/* 390 */
"search_condition ::= common_expression"
,
/* 391 */
"sort_specification_list ::= sort_specification"
,
/* 392 */
"sort_specification_list ::= sort_specification_list NK_COMMA sort_specification"
,
/* 393 */
"sort_specification ::= expression ordering_specification_opt null_ordering_opt"
,
/* 394 */
"ordering_specification_opt ::="
,
/* 395 */
"ordering_specification_opt ::= ASC"
,
/* 396 */
"ordering_specification_opt ::= DESC"
,
/* 397 */
"null_ordering_opt ::="
,
/* 398 */
"null_ordering_opt ::= NULLS FIRST"
,
/* 399 */
"null_ordering_opt ::= NULLS LAST"
,
};
#endif
/* NDEBUG */
...
...
@@ -2320,144 +2324,146 @@ static const struct {
{
236
,
-
1
},
/* (257) table_name ::= NK_ID */
{
229
,
-
1
},
/* (258) column_name ::= NK_ID */
{
246
,
-
1
},
/* (259) function_name ::= NK_ID */
{
264
,
-
1
},
/* (260) table_alias ::= NK_ID */
{
265
,
-
1
},
/* (261) column_alias ::= NK_ID */
{
207
,
-
1
},
/* (262) user_name ::= NK_ID */
{
247
,
-
1
},
/* (263) index_name ::= NK_ID */
{
254
,
-
1
},
/* (264) topic_name ::= NK_ID */
{
260
,
-
1
},
/* (265) stream_name ::= NK_ID */
{
266
,
-
1
},
/* (266) expression ::= literal */
{
266
,
-
1
},
/* (267) expression ::= pseudo_column */
{
266
,
-
1
},
/* (268) expression ::= column_reference */
{
266
,
-
4
},
/* (269) expression ::= function_name NK_LP expression_list NK_RP */
{
266
,
-
4
},
/* (270) expression ::= function_name NK_LP NK_STAR NK_RP */
{
266
,
-
1
},
/* (271) expression ::= subquery */
{
266
,
-
3
},
/* (272) expression ::= NK_LP expression NK_RP */
{
266
,
-
2
},
/* (273) expression ::= NK_PLUS expression */
{
266
,
-
2
},
/* (274) expression ::= NK_MINUS expression */
{
266
,
-
3
},
/* (275) expression ::= expression NK_PLUS expression */
{
266
,
-
3
},
/* (276) expression ::= expression NK_MINUS expression */
{
266
,
-
3
},
/* (277) expression ::= expression NK_STAR expression */
{
266
,
-
3
},
/* (278) expression ::= expression NK_SLASH expression */
{
266
,
-
3
},
/* (279) expression ::= expression NK_REM expression */
{
253
,
-
1
},
/* (280) expression_list ::= expression */
{
253
,
-
3
},
/* (281) expression_list ::= expression_list NK_COMMA expression */
{
268
,
-
1
},
/* (282) column_reference ::= column_name */
{
268
,
-
3
},
/* (283) column_reference ::= table_name NK_DOT column_name */
{
267
,
-
1
},
/* (284) pseudo_column ::= NOW */
{
267
,
-
1
},
/* (285) pseudo_column ::= ROWTS */
{
267
,
-
1
},
/* (286) pseudo_column ::= TBNAME */
{
267
,
-
1
},
/* (287) pseudo_column ::= QSTARTTS */
{
267
,
-
1
},
/* (288) pseudo_column ::= QENDTS */
{
267
,
-
1
},
/* (289) pseudo_column ::= WSTARTTS */
{
267
,
-
1
},
/* (290) pseudo_column ::= WENDTS */
{
267
,
-
1
},
/* (291) pseudo_column ::= WDURATION */
{
270
,
-
3
},
/* (292) predicate ::= expression compare_op expression */
{
270
,
-
5
},
/* (293) predicate ::= expression BETWEEN expression AND expression */
{
270
,
-
6
},
/* (294) predicate ::= expression NOT BETWEEN expression AND expression */
{
270
,
-
3
},
/* (295) predicate ::= expression IS NULL */
{
270
,
-
4
},
/* (296) predicate ::= expression IS NOT NULL */
{
270
,
-
3
},
/* (297) predicate ::= expression in_op in_predicate_value */
{
271
,
-
1
},
/* (298) compare_op ::= NK_LT */
{
271
,
-
1
},
/* (299) compare_op ::= NK_GT */
{
271
,
-
1
},
/* (300) compare_op ::= NK_LE */
{
271
,
-
1
},
/* (301) compare_op ::= NK_GE */
{
271
,
-
1
},
/* (302) compare_op ::= NK_NE */
{
271
,
-
1
},
/* (303) compare_op ::= NK_EQ */
{
271
,
-
1
},
/* (304) compare_op ::= LIKE */
{
271
,
-
2
},
/* (305) compare_op ::= NOT LIKE */
{
271
,
-
1
},
/* (306) compare_op ::= MATCH */
{
271
,
-
1
},
/* (307) compare_op ::= NMATCH */
{
272
,
-
1
},
/* (308) in_op ::= IN */
{
272
,
-
2
},
/* (309) in_op ::= NOT IN */
{
273
,
-
3
},
/* (310) in_predicate_value ::= NK_LP expression_list NK_RP */
{
274
,
-
1
},
/* (311) boolean_value_expression ::= boolean_primary */
{
274
,
-
2
},
/* (312) boolean_value_expression ::= NOT boolean_primary */
{
274
,
-
3
},
/* (313) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */
{
274
,
-
3
},
/* (314) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */
{
275
,
-
1
},
/* (315) boolean_primary ::= predicate */
{
275
,
-
3
},
/* (316) boolean_primary ::= NK_LP boolean_value_expression NK_RP */
{
276
,
-
1
},
/* (317) common_expression ::= expression */
{
276
,
-
1
},
/* (318) common_expression ::= boolean_value_expression */
{
277
,
-
2
},
/* (319) from_clause ::= FROM table_reference_list */
{
278
,
-
1
},
/* (320) table_reference_list ::= table_reference */
{
278
,
-
3
},
/* (321) table_reference_list ::= table_reference_list NK_COMMA table_reference */
{
279
,
-
1
},
/* (322) table_reference ::= table_primary */
{
279
,
-
1
},
/* (323) table_reference ::= joined_table */
{
280
,
-
2
},
/* (324) table_primary ::= table_name alias_opt */
{
280
,
-
4
},
/* (325) table_primary ::= db_name NK_DOT table_name alias_opt */
{
280
,
-
2
},
/* (326) table_primary ::= subquery alias_opt */
{
280
,
-
1
},
/* (327) table_primary ::= parenthesized_joined_table */
{
282
,
0
},
/* (328) alias_opt ::= */
{
282
,
-
1
},
/* (329) alias_opt ::= table_alias */
{
282
,
-
2
},
/* (330) alias_opt ::= AS table_alias */
{
283
,
-
3
},
/* (331) parenthesized_joined_table ::= NK_LP joined_table NK_RP */
{
283
,
-
3
},
/* (332) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */
{
281
,
-
6
},
/* (333) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */
{
284
,
0
},
/* (334) join_type ::= */
{
284
,
-
1
},
/* (335) join_type ::= INNER */
{
286
,
-
9
},
/* (336) query_specification ::= SELECT set_quantifier_opt select_list from_clause where_clause_opt partition_by_clause_opt twindow_clause_opt group_by_clause_opt having_clause_opt */
{
287
,
0
},
/* (337) set_quantifier_opt ::= */
{
287
,
-
1
},
/* (338) set_quantifier_opt ::= DISTINCT */
{
287
,
-
1
},
/* (339) set_quantifier_opt ::= ALL */
{
288
,
-
1
},
/* (340) select_list ::= NK_STAR */
{
288
,
-
1
},
/* (341) select_list ::= select_sublist */
{
294
,
-
1
},
/* (342) select_sublist ::= select_item */
{
294
,
-
3
},
/* (343) select_sublist ::= select_sublist NK_COMMA select_item */
{
295
,
-
1
},
/* (344) select_item ::= common_expression */
{
295
,
-
2
},
/* (345) select_item ::= common_expression column_alias */
{
295
,
-
3
},
/* (346) select_item ::= common_expression AS column_alias */
{
295
,
-
3
},
/* (347) select_item ::= table_name NK_DOT NK_STAR */
{
289
,
0
},
/* (348) where_clause_opt ::= */
{
289
,
-
2
},
/* (349) where_clause_opt ::= WHERE search_condition */
{
290
,
0
},
/* (350) partition_by_clause_opt ::= */
{
290
,
-
3
},
/* (351) partition_by_clause_opt ::= PARTITION BY expression_list */
{
291
,
0
},
/* (352) twindow_clause_opt ::= */
{
291
,
-
6
},
/* (353) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */
{
291
,
-
4
},
/* (354) twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP */
{
291
,
-
6
},
/* (355) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */
{
291
,
-
8
},
/* (356) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */
{
251
,
0
},
/* (357) sliding_opt ::= */
{
251
,
-
4
},
/* (358) sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */
{
296
,
0
},
/* (359) fill_opt ::= */
{
296
,
-
4
},
/* (360) fill_opt ::= FILL NK_LP fill_mode NK_RP */
{
296
,
-
6
},
/* (361) fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */
{
297
,
-
1
},
/* (362) fill_mode ::= NONE */
{
297
,
-
1
},
/* (363) fill_mode ::= PREV */
{
297
,
-
1
},
/* (364) fill_mode ::= NULL */
{
297
,
-
1
},
/* (365) fill_mode ::= LINEAR */
{
297
,
-
1
},
/* (366) fill_mode ::= NEXT */
{
292
,
0
},
/* (367) group_by_clause_opt ::= */
{
292
,
-
3
},
/* (368) group_by_clause_opt ::= GROUP BY group_by_list */
{
298
,
-
1
},
/* (369) group_by_list ::= expression */
{
298
,
-
3
},
/* (370) group_by_list ::= group_by_list NK_COMMA expression */
{
293
,
0
},
/* (371) having_clause_opt ::= */
{
293
,
-
2
},
/* (372) having_clause_opt ::= HAVING search_condition */
{
255
,
-
4
},
/* (373) query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt */
{
299
,
-
1
},
/* (374) query_expression_body ::= query_primary */
{
299
,
-
4
},
/* (375) query_expression_body ::= query_expression_body UNION ALL query_expression_body */
{
303
,
-
1
},
/* (376) query_primary ::= query_specification */
{
300
,
0
},
/* (377) order_by_clause_opt ::= */
{
300
,
-
3
},
/* (378) order_by_clause_opt ::= ORDER BY sort_specification_list */
{
301
,
0
},
/* (379) slimit_clause_opt ::= */
{
301
,
-
2
},
/* (380) slimit_clause_opt ::= SLIMIT NK_INTEGER */
{
301
,
-
4
},
/* (381) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */
{
301
,
-
4
},
/* (382) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */
{
302
,
0
},
/* (383) limit_clause_opt ::= */
{
302
,
-
2
},
/* (384) limit_clause_opt ::= LIMIT NK_INTEGER */
{
302
,
-
4
},
/* (385) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */
{
302
,
-
4
},
/* (386) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */
{
269
,
-
3
},
/* (387) subquery ::= NK_LP query_expression NK_RP */
{
285
,
-
1
},
/* (388) search_condition ::= common_expression */
{
304
,
-
1
},
/* (389) sort_specification_list ::= sort_specification */
{
304
,
-
3
},
/* (390) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */
{
305
,
-
3
},
/* (391) sort_specification ::= expression ordering_specification_opt null_ordering_opt */
{
306
,
0
},
/* (392) ordering_specification_opt ::= */
{
306
,
-
1
},
/* (393) ordering_specification_opt ::= ASC */
{
306
,
-
1
},
/* (394) ordering_specification_opt ::= DESC */
{
307
,
0
},
/* (395) null_ordering_opt ::= */
{
307
,
-
2
},
/* (396) null_ordering_opt ::= NULLS FIRST */
{
307
,
-
2
},
/* (397) null_ordering_opt ::= NULLS LAST */
{
246
,
-
1
},
/* (260) function_name ::= FIRST */
{
246
,
-
1
},
/* (261) function_name ::= LAST */
{
264
,
-
1
},
/* (262) table_alias ::= NK_ID */
{
265
,
-
1
},
/* (263) column_alias ::= NK_ID */
{
207
,
-
1
},
/* (264) user_name ::= NK_ID */
{
247
,
-
1
},
/* (265) index_name ::= NK_ID */
{
254
,
-
1
},
/* (266) topic_name ::= NK_ID */
{
260
,
-
1
},
/* (267) stream_name ::= NK_ID */
{
266
,
-
1
},
/* (268) expression ::= literal */
{
266
,
-
1
},
/* (269) expression ::= pseudo_column */
{
266
,
-
1
},
/* (270) expression ::= column_reference */
{
266
,
-
4
},
/* (271) expression ::= function_name NK_LP expression_list NK_RP */
{
266
,
-
4
},
/* (272) expression ::= function_name NK_LP NK_STAR NK_RP */
{
266
,
-
1
},
/* (273) expression ::= subquery */
{
266
,
-
3
},
/* (274) expression ::= NK_LP expression NK_RP */
{
266
,
-
2
},
/* (275) expression ::= NK_PLUS expression */
{
266
,
-
2
},
/* (276) expression ::= NK_MINUS expression */
{
266
,
-
3
},
/* (277) expression ::= expression NK_PLUS expression */
{
266
,
-
3
},
/* (278) expression ::= expression NK_MINUS expression */
{
266
,
-
3
},
/* (279) expression ::= expression NK_STAR expression */
{
266
,
-
3
},
/* (280) expression ::= expression NK_SLASH expression */
{
266
,
-
3
},
/* (281) expression ::= expression NK_REM expression */
{
253
,
-
1
},
/* (282) expression_list ::= expression */
{
253
,
-
3
},
/* (283) expression_list ::= expression_list NK_COMMA expression */
{
268
,
-
1
},
/* (284) column_reference ::= column_name */
{
268
,
-
3
},
/* (285) column_reference ::= table_name NK_DOT column_name */
{
267
,
-
1
},
/* (286) pseudo_column ::= NOW */
{
267
,
-
1
},
/* (287) pseudo_column ::= ROWTS */
{
267
,
-
1
},
/* (288) pseudo_column ::= TBNAME */
{
267
,
-
1
},
/* (289) pseudo_column ::= QSTARTTS */
{
267
,
-
1
},
/* (290) pseudo_column ::= QENDTS */
{
267
,
-
1
},
/* (291) pseudo_column ::= WSTARTTS */
{
267
,
-
1
},
/* (292) pseudo_column ::= WENDTS */
{
267
,
-
1
},
/* (293) pseudo_column ::= WDURATION */
{
270
,
-
3
},
/* (294) predicate ::= expression compare_op expression */
{
270
,
-
5
},
/* (295) predicate ::= expression BETWEEN expression AND expression */
{
270
,
-
6
},
/* (296) predicate ::= expression NOT BETWEEN expression AND expression */
{
270
,
-
3
},
/* (297) predicate ::= expression IS NULL */
{
270
,
-
4
},
/* (298) predicate ::= expression IS NOT NULL */
{
270
,
-
3
},
/* (299) predicate ::= expression in_op in_predicate_value */
{
271
,
-
1
},
/* (300) compare_op ::= NK_LT */
{
271
,
-
1
},
/* (301) compare_op ::= NK_GT */
{
271
,
-
1
},
/* (302) compare_op ::= NK_LE */
{
271
,
-
1
},
/* (303) compare_op ::= NK_GE */
{
271
,
-
1
},
/* (304) compare_op ::= NK_NE */
{
271
,
-
1
},
/* (305) compare_op ::= NK_EQ */
{
271
,
-
1
},
/* (306) compare_op ::= LIKE */
{
271
,
-
2
},
/* (307) compare_op ::= NOT LIKE */
{
271
,
-
1
},
/* (308) compare_op ::= MATCH */
{
271
,
-
1
},
/* (309) compare_op ::= NMATCH */
{
272
,
-
1
},
/* (310) in_op ::= IN */
{
272
,
-
2
},
/* (311) in_op ::= NOT IN */
{
273
,
-
3
},
/* (312) in_predicate_value ::= NK_LP expression_list NK_RP */
{
274
,
-
1
},
/* (313) boolean_value_expression ::= boolean_primary */
{
274
,
-
2
},
/* (314) boolean_value_expression ::= NOT boolean_primary */
{
274
,
-
3
},
/* (315) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */
{
274
,
-
3
},
/* (316) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */
{
275
,
-
1
},
/* (317) boolean_primary ::= predicate */
{
275
,
-
3
},
/* (318) boolean_primary ::= NK_LP boolean_value_expression NK_RP */
{
276
,
-
1
},
/* (319) common_expression ::= expression */
{
276
,
-
1
},
/* (320) common_expression ::= boolean_value_expression */
{
277
,
-
2
},
/* (321) from_clause ::= FROM table_reference_list */
{
278
,
-
1
},
/* (322) table_reference_list ::= table_reference */
{
278
,
-
3
},
/* (323) table_reference_list ::= table_reference_list NK_COMMA table_reference */
{
279
,
-
1
},
/* (324) table_reference ::= table_primary */
{
279
,
-
1
},
/* (325) table_reference ::= joined_table */
{
280
,
-
2
},
/* (326) table_primary ::= table_name alias_opt */
{
280
,
-
4
},
/* (327) table_primary ::= db_name NK_DOT table_name alias_opt */
{
280
,
-
2
},
/* (328) table_primary ::= subquery alias_opt */
{
280
,
-
1
},
/* (329) table_primary ::= parenthesized_joined_table */
{
282
,
0
},
/* (330) alias_opt ::= */
{
282
,
-
1
},
/* (331) alias_opt ::= table_alias */
{
282
,
-
2
},
/* (332) alias_opt ::= AS table_alias */
{
283
,
-
3
},
/* (333) parenthesized_joined_table ::= NK_LP joined_table NK_RP */
{
283
,
-
3
},
/* (334) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */
{
281
,
-
6
},
/* (335) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */
{
284
,
0
},
/* (336) join_type ::= */
{
284
,
-
1
},
/* (337) join_type ::= INNER */
{
286
,
-
9
},
/* (338) query_specification ::= SELECT set_quantifier_opt select_list from_clause where_clause_opt partition_by_clause_opt twindow_clause_opt group_by_clause_opt having_clause_opt */
{
287
,
0
},
/* (339) set_quantifier_opt ::= */
{
287
,
-
1
},
/* (340) set_quantifier_opt ::= DISTINCT */
{
287
,
-
1
},
/* (341) set_quantifier_opt ::= ALL */
{
288
,
-
1
},
/* (342) select_list ::= NK_STAR */
{
288
,
-
1
},
/* (343) select_list ::= select_sublist */
{
294
,
-
1
},
/* (344) select_sublist ::= select_item */
{
294
,
-
3
},
/* (345) select_sublist ::= select_sublist NK_COMMA select_item */
{
295
,
-
1
},
/* (346) select_item ::= common_expression */
{
295
,
-
2
},
/* (347) select_item ::= common_expression column_alias */
{
295
,
-
3
},
/* (348) select_item ::= common_expression AS column_alias */
{
295
,
-
3
},
/* (349) select_item ::= table_name NK_DOT NK_STAR */
{
289
,
0
},
/* (350) where_clause_opt ::= */
{
289
,
-
2
},
/* (351) where_clause_opt ::= WHERE search_condition */
{
290
,
0
},
/* (352) partition_by_clause_opt ::= */
{
290
,
-
3
},
/* (353) partition_by_clause_opt ::= PARTITION BY expression_list */
{
291
,
0
},
/* (354) twindow_clause_opt ::= */
{
291
,
-
6
},
/* (355) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */
{
291
,
-
4
},
/* (356) twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP */
{
291
,
-
6
},
/* (357) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */
{
291
,
-
8
},
/* (358) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */
{
251
,
0
},
/* (359) sliding_opt ::= */
{
251
,
-
4
},
/* (360) sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */
{
296
,
0
},
/* (361) fill_opt ::= */
{
296
,
-
4
},
/* (362) fill_opt ::= FILL NK_LP fill_mode NK_RP */
{
296
,
-
6
},
/* (363) fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */
{
297
,
-
1
},
/* (364) fill_mode ::= NONE */
{
297
,
-
1
},
/* (365) fill_mode ::= PREV */
{
297
,
-
1
},
/* (366) fill_mode ::= NULL */
{
297
,
-
1
},
/* (367) fill_mode ::= LINEAR */
{
297
,
-
1
},
/* (368) fill_mode ::= NEXT */
{
292
,
0
},
/* (369) group_by_clause_opt ::= */
{
292
,
-
3
},
/* (370) group_by_clause_opt ::= GROUP BY group_by_list */
{
298
,
-
1
},
/* (371) group_by_list ::= expression */
{
298
,
-
3
},
/* (372) group_by_list ::= group_by_list NK_COMMA expression */
{
293
,
0
},
/* (373) having_clause_opt ::= */
{
293
,
-
2
},
/* (374) having_clause_opt ::= HAVING search_condition */
{
255
,
-
4
},
/* (375) query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt */
{
299
,
-
1
},
/* (376) query_expression_body ::= query_primary */
{
299
,
-
4
},
/* (377) query_expression_body ::= query_expression_body UNION ALL query_expression_body */
{
303
,
-
1
},
/* (378) query_primary ::= query_specification */
{
300
,
0
},
/* (379) order_by_clause_opt ::= */
{
300
,
-
3
},
/* (380) order_by_clause_opt ::= ORDER BY sort_specification_list */
{
301
,
0
},
/* (381) slimit_clause_opt ::= */
{
301
,
-
2
},
/* (382) slimit_clause_opt ::= SLIMIT NK_INTEGER */
{
301
,
-
4
},
/* (383) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */
{
301
,
-
4
},
/* (384) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */
{
302
,
0
},
/* (385) limit_clause_opt ::= */
{
302
,
-
2
},
/* (386) limit_clause_opt ::= LIMIT NK_INTEGER */
{
302
,
-
4
},
/* (387) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */
{
302
,
-
4
},
/* (388) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */
{
269
,
-
3
},
/* (389) subquery ::= NK_LP query_expression NK_RP */
{
285
,
-
1
},
/* (390) search_condition ::= common_expression */
{
304
,
-
1
},
/* (391) sort_specification_list ::= sort_specification */
{
304
,
-
3
},
/* (392) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */
{
305
,
-
3
},
/* (393) sort_specification ::= expression ordering_specification_opt null_ordering_opt */
{
306
,
0
},
/* (394) ordering_specification_opt ::= */
{
306
,
-
1
},
/* (395) ordering_specification_opt ::= ASC */
{
306
,
-
1
},
/* (396) ordering_specification_opt ::= DESC */
{
307
,
0
},
/* (397) null_ordering_opt ::= */
{
307
,
-
2
},
/* (398) null_ordering_opt ::= NULLS FIRST */
{
307
,
-
2
},
/* (399) null_ordering_opt ::= NULLS LAST */
};
static
void
yy_accept
(
yyParser
*
);
/* Forward Declaration */
...
...
@@ -2636,12 +2642,14 @@ static YYACTIONTYPE yy_reduce(
case
257
:
/* table_name ::= NK_ID */
yytestcase
(
yyruleno
==
257
);
case
258
:
/* column_name ::= NK_ID */
yytestcase
(
yyruleno
==
258
);
case
259
:
/* function_name ::= NK_ID */
yytestcase
(
yyruleno
==
259
);
case
260
:
/* table_alias ::= NK_ID */
yytestcase
(
yyruleno
==
260
);
case
261
:
/* column_alias ::= NK_ID */
yytestcase
(
yyruleno
==
261
);
case
262
:
/* user_name ::= NK_ID */
yytestcase
(
yyruleno
==
262
);
case
263
:
/* index_name ::= NK_ID */
yytestcase
(
yyruleno
==
263
);
case
264
:
/* topic_name ::= NK_ID */
yytestcase
(
yyruleno
==
264
);
case
265
:
/* stream_name ::= NK_ID */
yytestcase
(
yyruleno
==
265
);
case
260
:
/* function_name ::= FIRST */
yytestcase
(
yyruleno
==
260
);
case
261
:
/* function_name ::= LAST */
yytestcase
(
yyruleno
==
261
);
case
262
:
/* table_alias ::= NK_ID */
yytestcase
(
yyruleno
==
262
);
case
263
:
/* column_alias ::= NK_ID */
yytestcase
(
yyruleno
==
263
);
case
264
:
/* user_name ::= NK_ID */
yytestcase
(
yyruleno
==
264
);
case
265
:
/* index_name ::= NK_ID */
yytestcase
(
yyruleno
==
265
);
case
266
:
/* topic_name ::= NK_ID */
yytestcase
(
yyruleno
==
266
);
case
267
:
/* stream_name ::= NK_ID */
yytestcase
(
yyruleno
==
267
);
{
yylhsminor
.
yy393
=
yymsp
[
0
].
minor
.
yy0
;
}
yymsp
[
0
].
minor
.
yy393
=
yylhsminor
.
yy393
;
break
;
...
...
@@ -2676,7 +2684,7 @@ static YYACTIONTYPE yy_reduce(
case
50
:
/* exists_opt ::= */
yytestcase
(
yyruleno
==
50
);
case
211
:
/* analyze_opt ::= */
yytestcase
(
yyruleno
==
211
);
case
219
:
/* agg_func_opt ::= */
yytestcase
(
yyruleno
==
219
);
case
33
7
:
/* set_quantifier_opt ::= */
yytestcase
(
yyruleno
==
337
);
case
33
9
:
/* set_quantifier_opt ::= */
yytestcase
(
yyruleno
==
339
);
{
yymsp
[
1
].
minor
.
yy537
=
false
;
}
break
;
case
49
:
/* exists_opt ::= IF EXISTS */
...
...
@@ -2817,8 +2825,8 @@ static YYACTIONTYPE yy_reduce(
case
192
:
/* func_name_list ::= func_name */
yytestcase
(
yyruleno
==
192
);
case
201
:
/* func_list ::= func */
yytestcase
(
yyruleno
==
201
);
case
254
:
/* literal_list ::= signed_literal */
yytestcase
(
yyruleno
==
254
);
case
34
2
:
/* select_sublist ::= select_item */
yytestcase
(
yyruleno
==
342
);
case
3
89
:
/* sort_specification_list ::= sort_specification */
yytestcase
(
yyruleno
==
389
);
case
34
4
:
/* select_sublist ::= select_item */
yytestcase
(
yyruleno
==
344
);
case
3
91
:
/* sort_specification_list ::= sort_specification */
yytestcase
(
yyruleno
==
391
);
{
yylhsminor
.
yy376
=
createNodeList
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
}
yymsp
[
0
].
minor
.
yy376
=
yylhsminor
.
yy376
;
break
;
...
...
@@ -2828,8 +2836,8 @@ static YYACTIONTYPE yy_reduce(
case
193
:
/* func_name_list ::= func_name_list NK_COMMA col_name */
yytestcase
(
yyruleno
==
193
);
case
202
:
/* func_list ::= func_list NK_COMMA func */
yytestcase
(
yyruleno
==
202
);
case
255
:
/* literal_list ::= literal_list NK_COMMA signed_literal */
yytestcase
(
yyruleno
==
255
);
case
34
3
:
/* select_sublist ::= select_sublist NK_COMMA select_item */
yytestcase
(
yyruleno
==
343
);
case
39
0
:
/* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */
yytestcase
(
yyruleno
==
390
);
case
34
5
:
/* select_sublist ::= select_sublist NK_COMMA select_item */
yytestcase
(
yyruleno
==
345
);
case
39
2
:
/* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */
yytestcase
(
yyruleno
==
392
);
{
yylhsminor
.
yy376
=
addNodeToList
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy376
,
yymsp
[
0
].
minor
.
yy168
);
}
yymsp
[
-
2
].
minor
.
yy376
=
yylhsminor
.
yy376
;
break
;
...
...
@@ -2910,9 +2918,9 @@ static YYACTIONTYPE yy_reduce(
break
;
case
112
:
/* specific_tags_opt ::= */
case
143
:
/* tags_def_opt ::= */
yytestcase
(
yyruleno
==
143
);
case
35
0
:
/* partition_by_clause_opt ::= */
yytestcase
(
yyruleno
==
350
);
case
36
7
:
/* group_by_clause_opt ::= */
yytestcase
(
yyruleno
==
367
);
case
37
7
:
/* order_by_clause_opt ::= */
yytestcase
(
yyruleno
==
377
);
case
35
2
:
/* partition_by_clause_opt ::= */
yytestcase
(
yyruleno
==
352
);
case
36
9
:
/* group_by_clause_opt ::= */
yytestcase
(
yyruleno
==
369
);
case
37
9
:
/* order_by_clause_opt ::= */
yytestcase
(
yyruleno
==
379
);
{
yymsp
[
1
].
minor
.
yy376
=
NULL
;
}
break
;
case
113
:
/* specific_tags_opt ::= NK_LP col_name_list NK_RP */
...
...
@@ -3002,7 +3010,7 @@ static YYACTIONTYPE yy_reduce(
{
yymsp
[
-
5
].
minor
.
yy224
=
createDataType
(
TSDB_DATA_TYPE_DECIMAL
);
}
break
;
case
144
:
/* tags_def_opt ::= tags_def */
case
34
1
:
/* select_list ::= select_sublist */
yytestcase
(
yyruleno
==
341
);
case
34
3
:
/* select_list ::= select_sublist */
yytestcase
(
yyruleno
==
343
);
{
yylhsminor
.
yy376
=
yymsp
[
0
].
minor
.
yy376
;
}
yymsp
[
0
].
minor
.
yy376
=
yylhsminor
.
yy376
;
break
;
...
...
@@ -3140,13 +3148,13 @@ static YYACTIONTYPE yy_reduce(
break
;
case
187
:
/* like_pattern_opt ::= */
case
198
:
/* index_options ::= */
yytestcase
(
yyruleno
==
198
);
case
3
48
:
/* where_clause_opt ::= */
yytestcase
(
yyruleno
==
348
);
case
35
2
:
/* twindow_clause_opt ::= */
yytestcase
(
yyruleno
==
352
);
case
35
7
:
/* sliding_opt ::= */
yytestcase
(
yyruleno
==
357
);
case
3
59
:
/* fill_opt ::= */
yytestcase
(
yyruleno
==
359
);
case
37
1
:
/* having_clause_opt ::= */
yytestcase
(
yyruleno
==
371
);
case
3
79
:
/* slimit_clause_opt ::= */
yytestcase
(
yyruleno
==
379
);
case
38
3
:
/* limit_clause_opt ::= */
yytestcase
(
yyruleno
==
383
);
case
3
50
:
/* where_clause_opt ::= */
yytestcase
(
yyruleno
==
350
);
case
35
4
:
/* twindow_clause_opt ::= */
yytestcase
(
yyruleno
==
354
);
case
35
9
:
/* sliding_opt ::= */
yytestcase
(
yyruleno
==
359
);
case
3
61
:
/* fill_opt ::= */
yytestcase
(
yyruleno
==
361
);
case
37
3
:
/* having_clause_opt ::= */
yytestcase
(
yyruleno
==
373
);
case
3
81
:
/* slimit_clause_opt ::= */
yytestcase
(
yyruleno
==
381
);
case
38
5
:
/* limit_clause_opt ::= */
yytestcase
(
yyruleno
==
385
);
{
yymsp
[
1
].
minor
.
yy168
=
NULL
;
}
break
;
case
188
:
/* like_pattern_opt ::= LIKE NK_STRING */
...
...
@@ -3203,7 +3211,7 @@ static YYACTIONTYPE yy_reduce(
break
;
case
212
:
/* analyze_opt ::= ANALYZE */
case
220
:
/* agg_func_opt ::= AGGREGATE */
yytestcase
(
yyruleno
==
220
);
case
3
38
:
/* set_quantifier_opt ::= DISTINCT */
yytestcase
(
yyruleno
==
338
);
case
3
40
:
/* set_quantifier_opt ::= DISTINCT */
yytestcase
(
yyruleno
==
340
);
{
yymsp
[
0
].
minor
.
yy537
=
true
;
}
break
;
case
213
:
/* explain_options ::= */
...
...
@@ -3281,20 +3289,20 @@ static YYACTIONTYPE yy_reduce(
break
;
case
239
:
/* literal ::= duration_literal */
case
248
:
/* signed_literal ::= signed */
yytestcase
(
yyruleno
==
248
);
case
26
6
:
/* expression ::= literal */
yytestcase
(
yyruleno
==
266
);
case
26
7
:
/* expression ::= pseudo_column */
yytestcase
(
yyruleno
==
267
);
case
2
68
:
/* expression ::= column_reference */
yytestcase
(
yyruleno
==
268
);
case
27
1
:
/* expression ::= subquery */
yytestcase
(
yyruleno
==
271
);
case
31
1
:
/* boolean_value_expression ::= boolean_primary */
yytestcase
(
yyruleno
==
311
);
case
31
5
:
/* boolean_primary ::= predicate */
yytestcase
(
yyruleno
==
315
);
case
31
7
:
/* common_expression ::= expression */
yytestcase
(
yyruleno
==
317
);
case
3
18
:
/* common_expression ::= boolean_value_expression */
yytestcase
(
yyruleno
==
318
);
case
32
0
:
/* table_reference_list ::= table_reference */
yytestcase
(
yyruleno
==
320
);
case
32
2
:
/* table_reference ::= table_primary */
yytestcase
(
yyruleno
==
322
);
case
32
3
:
/* table_reference ::= joined_table */
yytestcase
(
yyruleno
==
323
);
case
32
7
:
/* table_primary ::= parenthesized_joined_table */
yytestcase
(
yyruleno
==
327
);
case
37
4
:
/* query_expression_body ::= query_primary */
yytestcase
(
yyruleno
==
374
);
case
37
6
:
/* query_primary ::= query_specification */
yytestcase
(
yyruleno
==
376
);
case
26
8
:
/* expression ::= literal */
yytestcase
(
yyruleno
==
268
);
case
26
9
:
/* expression ::= pseudo_column */
yytestcase
(
yyruleno
==
269
);
case
2
70
:
/* expression ::= column_reference */
yytestcase
(
yyruleno
==
270
);
case
27
3
:
/* expression ::= subquery */
yytestcase
(
yyruleno
==
273
);
case
31
3
:
/* boolean_value_expression ::= boolean_primary */
yytestcase
(
yyruleno
==
313
);
case
31
7
:
/* boolean_primary ::= predicate */
yytestcase
(
yyruleno
==
317
);
case
31
9
:
/* common_expression ::= expression */
yytestcase
(
yyruleno
==
319
);
case
3
20
:
/* common_expression ::= boolean_value_expression */
yytestcase
(
yyruleno
==
320
);
case
32
2
:
/* table_reference_list ::= table_reference */
yytestcase
(
yyruleno
==
322
);
case
32
4
:
/* table_reference ::= table_primary */
yytestcase
(
yyruleno
==
324
);
case
32
5
:
/* table_reference ::= joined_table */
yytestcase
(
yyruleno
==
325
);
case
32
9
:
/* table_primary ::= parenthesized_joined_table */
yytestcase
(
yyruleno
==
329
);
case
37
6
:
/* query_expression_body ::= query_primary */
yytestcase
(
yyruleno
==
376
);
case
37
8
:
/* query_primary ::= query_specification */
yytestcase
(
yyruleno
==
378
);
{
yylhsminor
.
yy168
=
yymsp
[
0
].
minor
.
yy168
;
}
yymsp
[
0
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
...
...
@@ -3348,41 +3356,41 @@ static YYACTIONTYPE yy_reduce(
{
yymsp
[
-
1
].
minor
.
yy168
=
createValueNode
(
pCxt
,
TSDB_DATA_TYPE_TIMESTAMP
,
&
yymsp
[
0
].
minor
.
yy0
);
}
break
;
case
252
:
/* signed_literal ::= duration_literal */
case
3
88
:
/* search_condition ::= common_expression */
yytestcase
(
yyruleno
==
388
);
case
3
90
:
/* search_condition ::= common_expression */
yytestcase
(
yyruleno
==
390
);
{
yylhsminor
.
yy168
=
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
}
yymsp
[
0
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
253
:
/* signed_literal ::= NULL */
{
yymsp
[
0
].
minor
.
yy168
=
createValueNode
(
pCxt
,
TSDB_DATA_TYPE_NULL
,
NULL
);
}
break
;
case
2
69
:
/* expression ::= function_name NK_LP expression_list NK_RP */
case
2
71
:
/* expression ::= function_name NK_LP expression_list NK_RP */
{
yylhsminor
.
yy168
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
3
].
minor
.
yy393
,
&
yymsp
[
0
].
minor
.
yy0
,
createFunctionNode
(
pCxt
,
&
yymsp
[
-
3
].
minor
.
yy393
,
yymsp
[
-
1
].
minor
.
yy376
));
}
yymsp
[
-
3
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
27
0
:
/* expression ::= function_name NK_LP NK_STAR NK_RP */
case
27
2
:
/* expression ::= function_name NK_LP NK_STAR NK_RP */
{
yylhsminor
.
yy168
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
3
].
minor
.
yy393
,
&
yymsp
[
0
].
minor
.
yy0
,
createFunctionNode
(
pCxt
,
&
yymsp
[
-
3
].
minor
.
yy393
,
createNodeList
(
pCxt
,
createColumnNode
(
pCxt
,
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
))));
}
yymsp
[
-
3
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
27
2
:
/* expression ::= NK_LP expression NK_RP */
case
31
6
:
/* boolean_primary ::= NK_LP boolean_value_expression NK_RP */
yytestcase
(
yyruleno
==
316
);
case
27
4
:
/* expression ::= NK_LP expression NK_RP */
case
31
8
:
/* boolean_primary ::= NK_LP boolean_value_expression NK_RP */
yytestcase
(
yyruleno
==
318
);
{
yylhsminor
.
yy168
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy168
));
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
27
3
:
/* expression ::= NK_PLUS expression */
case
27
5
:
/* expression ::= NK_PLUS expression */
{
SToken
t
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
yylhsminor
.
yy168
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
t
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
));
}
yymsp
[
-
1
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
27
4
:
/* expression ::= NK_MINUS expression */
case
27
6
:
/* expression ::= NK_MINUS expression */
{
SToken
t
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
yylhsminor
.
yy168
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
t
,
createOperatorNode
(
pCxt
,
OP_TYPE_MINUS
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
),
NULL
));
}
yymsp
[
-
1
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
27
5
:
/* expression ::= expression NK_PLUS expression */
case
27
7
:
/* expression ::= expression NK_PLUS expression */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy168
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
...
...
@@ -3390,7 +3398,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
27
6
:
/* expression ::= expression NK_MINUS expression */
case
27
8
:
/* expression ::= expression NK_MINUS expression */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy168
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
...
...
@@ -3398,7 +3406,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
27
7
:
/* expression ::= expression NK_STAR expression */
case
27
9
:
/* expression ::= expression NK_STAR expression */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy168
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
...
...
@@ -3406,7 +3414,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
2
78
:
/* expression ::= expression NK_SLASH expression */
case
2
80
:
/* expression ::= expression NK_SLASH expression */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy168
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
...
...
@@ -3414,7 +3422,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
2
79
:
/* expression ::= expression NK_REM expression */
case
2
81
:
/* expression ::= expression NK_REM expression */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy168
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
...
...
@@ -3422,35 +3430,35 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
28
0
:
/* expression_list ::= expression */
case
28
2
:
/* expression_list ::= expression */
{
yylhsminor
.
yy376
=
createNodeList
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
));
}
yymsp
[
0
].
minor
.
yy376
=
yylhsminor
.
yy376
;
break
;
case
28
1
:
/* expression_list ::= expression_list NK_COMMA expression */
case
28
3
:
/* expression_list ::= expression_list NK_COMMA expression */
{
yylhsminor
.
yy376
=
addNodeToList
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy376
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
));
}
yymsp
[
-
2
].
minor
.
yy376
=
yylhsminor
.
yy376
;
break
;
case
28
2
:
/* column_reference ::= column_name */
case
28
4
:
/* column_reference ::= column_name */
{
yylhsminor
.
yy168
=
createRawExprNode
(
pCxt
,
&
yymsp
[
0
].
minor
.
yy393
,
createColumnNode
(
pCxt
,
NULL
,
&
yymsp
[
0
].
minor
.
yy393
));
}
yymsp
[
0
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
28
3
:
/* column_reference ::= table_name NK_DOT column_name */
case
28
5
:
/* column_reference ::= table_name NK_DOT column_name */
{
yylhsminor
.
yy168
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy393
,
&
yymsp
[
0
].
minor
.
yy393
,
createColumnNode
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy393
,
&
yymsp
[
0
].
minor
.
yy393
));
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
28
4
:
/* pseudo_column ::= NOW */
case
28
5
:
/* pseudo_column ::= ROWTS */
yytestcase
(
yyruleno
==
285
);
case
28
6
:
/* pseudo_column ::= TBNAME */
yytestcase
(
yyruleno
==
286
);
case
28
7
:
/* pseudo_column ::= QSTARTTS */
yytestcase
(
yyruleno
==
287
);
case
2
88
:
/* pseudo_column ::= QENDTS */
yytestcase
(
yyruleno
==
288
);
case
2
89
:
/* pseudo_column ::= WSTARTTS */
yytestcase
(
yyruleno
==
289
);
case
29
0
:
/* pseudo_column ::= WENDTS */
yytestcase
(
yyruleno
==
290
);
case
29
1
:
/* pseudo_column ::= WDURATION */
yytestcase
(
yyruleno
==
291
);
case
28
6
:
/* pseudo_column ::= NOW */
case
28
7
:
/* pseudo_column ::= ROWTS */
yytestcase
(
yyruleno
==
287
);
case
28
8
:
/* pseudo_column ::= TBNAME */
yytestcase
(
yyruleno
==
288
);
case
28
9
:
/* pseudo_column ::= QSTARTTS */
yytestcase
(
yyruleno
==
289
);
case
2
90
:
/* pseudo_column ::= QENDTS */
yytestcase
(
yyruleno
==
290
);
case
2
91
:
/* pseudo_column ::= WSTARTTS */
yytestcase
(
yyruleno
==
291
);
case
29
2
:
/* pseudo_column ::= WENDTS */
yytestcase
(
yyruleno
==
292
);
case
29
3
:
/* pseudo_column ::= WDURATION */
yytestcase
(
yyruleno
==
293
);
{
yylhsminor
.
yy168
=
createRawExprNode
(
pCxt
,
&
yymsp
[
0
].
minor
.
yy0
,
createFunctionNode
(
pCxt
,
&
yymsp
[
0
].
minor
.
yy0
,
NULL
));
}
yymsp
[
0
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
29
2
:
/* predicate ::= expression compare_op expression */
case
29
7
:
/* predicate ::= expression in_op in_predicate_value */
yytestcase
(
yyruleno
==
297
);
case
29
4
:
/* predicate ::= expression compare_op expression */
case
29
9
:
/* predicate ::= expression in_op in_predicate_value */
yytestcase
(
yyruleno
==
299
);
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy168
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
...
...
@@ -3458,7 +3466,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
29
3
:
/* predicate ::= expression BETWEEN expression AND expression */
case
29
5
:
/* predicate ::= expression BETWEEN expression AND expression */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
4
].
minor
.
yy168
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
...
...
@@ -3466,7 +3474,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
4
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
29
4
:
/* predicate ::= expression NOT BETWEEN expression AND expression */
case
29
6
:
/* predicate ::= expression NOT BETWEEN expression AND expression */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
5
].
minor
.
yy168
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
...
...
@@ -3474,68 +3482,68 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
5
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
29
5
:
/* predicate ::= expression IS NULL */
case
29
7
:
/* predicate ::= expression IS NULL */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy168
);
yylhsminor
.
yy168
=
createRawExprNodeExt
(
pCxt
,
&
s
,
&
yymsp
[
0
].
minor
.
yy0
,
createOperatorNode
(
pCxt
,
OP_TYPE_IS_NULL
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy168
),
NULL
));
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
29
6
:
/* predicate ::= expression IS NOT NULL */
case
29
8
:
/* predicate ::= expression IS NOT NULL */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy168
);
yylhsminor
.
yy168
=
createRawExprNodeExt
(
pCxt
,
&
s
,
&
yymsp
[
0
].
minor
.
yy0
,
createOperatorNode
(
pCxt
,
OP_TYPE_IS_NOT_NULL
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy168
),
NULL
));
}
yymsp
[
-
3
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
298
:
/* compare_op ::= NK_LT */
case
300
:
/* compare_op ::= NK_LT */
{
yymsp
[
0
].
minor
.
yy436
=
OP_TYPE_LOWER_THAN
;
}
break
;
case
299
:
/* compare_op ::= NK_GT */
case
301
:
/* compare_op ::= NK_GT */
{
yymsp
[
0
].
minor
.
yy436
=
OP_TYPE_GREATER_THAN
;
}
break
;
case
30
0
:
/* compare_op ::= NK_LE */
case
30
2
:
/* compare_op ::= NK_LE */
{
yymsp
[
0
].
minor
.
yy436
=
OP_TYPE_LOWER_EQUAL
;
}
break
;
case
30
1
:
/* compare_op ::= NK_GE */
case
30
3
:
/* compare_op ::= NK_GE */
{
yymsp
[
0
].
minor
.
yy436
=
OP_TYPE_GREATER_EQUAL
;
}
break
;
case
30
2
:
/* compare_op ::= NK_NE */
case
30
4
:
/* compare_op ::= NK_NE */
{
yymsp
[
0
].
minor
.
yy436
=
OP_TYPE_NOT_EQUAL
;
}
break
;
case
30
3
:
/* compare_op ::= NK_EQ */
case
30
5
:
/* compare_op ::= NK_EQ */
{
yymsp
[
0
].
minor
.
yy436
=
OP_TYPE_EQUAL
;
}
break
;
case
30
4
:
/* compare_op ::= LIKE */
case
30
6
:
/* compare_op ::= LIKE */
{
yymsp
[
0
].
minor
.
yy436
=
OP_TYPE_LIKE
;
}
break
;
case
30
5
:
/* compare_op ::= NOT LIKE */
case
30
7
:
/* compare_op ::= NOT LIKE */
{
yymsp
[
-
1
].
minor
.
yy436
=
OP_TYPE_NOT_LIKE
;
}
break
;
case
30
6
:
/* compare_op ::= MATCH */
case
30
8
:
/* compare_op ::= MATCH */
{
yymsp
[
0
].
minor
.
yy436
=
OP_TYPE_MATCH
;
}
break
;
case
30
7
:
/* compare_op ::= NMATCH */
case
30
9
:
/* compare_op ::= NMATCH */
{
yymsp
[
0
].
minor
.
yy436
=
OP_TYPE_NMATCH
;
}
break
;
case
3
08
:
/* in_op ::= IN */
case
3
10
:
/* in_op ::= IN */
{
yymsp
[
0
].
minor
.
yy436
=
OP_TYPE_IN
;
}
break
;
case
3
09
:
/* in_op ::= NOT IN */
case
3
11
:
/* in_op ::= NOT IN */
{
yymsp
[
-
1
].
minor
.
yy436
=
OP_TYPE_NOT_IN
;
}
break
;
case
31
0
:
/* in_predicate_value ::= NK_LP expression_list NK_RP */
case
31
2
:
/* in_predicate_value ::= NK_LP expression_list NK_RP */
{
yylhsminor
.
yy168
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
createNodeListNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy376
));
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
31
2
:
/* boolean_value_expression ::= NOT boolean_primary */
case
31
4
:
/* boolean_value_expression ::= NOT boolean_primary */
{
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
yylhsminor
.
yy168
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
e
,
createLogicConditionNode
(
pCxt
,
LOGIC_COND_TYPE_NOT
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
),
NULL
));
}
yymsp
[
-
1
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
31
3
:
/* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */
case
31
5
:
/* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy168
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
...
...
@@ -3543,7 +3551,7 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
31
4
:
/* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */
case
31
6
:
/* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */
{
SToken
s
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy168
);
SToken
e
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
...
...
@@ -3551,52 +3559,52 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
3
19
:
/* from_clause ::= FROM table_reference_list */
case
3
49
:
/* where_clause_opt ::= WHERE search_condition */
yytestcase
(
yyruleno
==
349
);
case
37
2
:
/* having_clause_opt ::= HAVING search_condition */
yytestcase
(
yyruleno
==
372
);
case
3
21
:
/* from_clause ::= FROM table_reference_list */
case
3
51
:
/* where_clause_opt ::= WHERE search_condition */
yytestcase
(
yyruleno
==
351
);
case
37
4
:
/* having_clause_opt ::= HAVING search_condition */
yytestcase
(
yyruleno
==
374
);
{
yymsp
[
-
1
].
minor
.
yy168
=
yymsp
[
0
].
minor
.
yy168
;
}
break
;
case
32
1
:
/* table_reference_list ::= table_reference_list NK_COMMA table_reference */
case
32
3
:
/* table_reference_list ::= table_reference_list NK_COMMA table_reference */
{
yylhsminor
.
yy168
=
createJoinTableNode
(
pCxt
,
JOIN_TYPE_INNER
,
yymsp
[
-
2
].
minor
.
yy168
,
yymsp
[
0
].
minor
.
yy168
,
NULL
);
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
32
4
:
/* table_primary ::= table_name alias_opt */
case
32
6
:
/* table_primary ::= table_name alias_opt */
{
yylhsminor
.
yy168
=
createRealTableNode
(
pCxt
,
NULL
,
&
yymsp
[
-
1
].
minor
.
yy393
,
&
yymsp
[
0
].
minor
.
yy393
);
}
yymsp
[
-
1
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
32
5
:
/* table_primary ::= db_name NK_DOT table_name alias_opt */
case
32
7
:
/* table_primary ::= db_name NK_DOT table_name alias_opt */
{
yylhsminor
.
yy168
=
createRealTableNode
(
pCxt
,
&
yymsp
[
-
3
].
minor
.
yy393
,
&
yymsp
[
-
1
].
minor
.
yy393
,
&
yymsp
[
0
].
minor
.
yy393
);
}
yymsp
[
-
3
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
32
6
:
/* table_primary ::= subquery alias_opt */
case
32
8
:
/* table_primary ::= subquery alias_opt */
{
yylhsminor
.
yy168
=
createTempTableNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy168
),
&
yymsp
[
0
].
minor
.
yy393
);
}
yymsp
[
-
1
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
3
28
:
/* alias_opt ::= */
case
3
30
:
/* alias_opt ::= */
{
yymsp
[
1
].
minor
.
yy393
=
nil_token
;
}
break
;
case
3
29
:
/* alias_opt ::= table_alias */
case
3
31
:
/* alias_opt ::= table_alias */
{
yylhsminor
.
yy393
=
yymsp
[
0
].
minor
.
yy393
;
}
yymsp
[
0
].
minor
.
yy393
=
yylhsminor
.
yy393
;
break
;
case
33
0
:
/* alias_opt ::= AS table_alias */
case
33
2
:
/* alias_opt ::= AS table_alias */
{
yymsp
[
-
1
].
minor
.
yy393
=
yymsp
[
0
].
minor
.
yy393
;
}
break
;
case
33
1
:
/* parenthesized_joined_table ::= NK_LP joined_table NK_RP */
case
33
2
:
/* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */
yytestcase
(
yyruleno
==
332
);
case
33
3
:
/* parenthesized_joined_table ::= NK_LP joined_table NK_RP */
case
33
4
:
/* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */
yytestcase
(
yyruleno
==
334
);
{
yymsp
[
-
2
].
minor
.
yy168
=
yymsp
[
-
1
].
minor
.
yy168
;
}
break
;
case
33
3
:
/* joined_table ::= table_reference join_type JOIN table_reference ON search_condition */
case
33
5
:
/* joined_table ::= table_reference join_type JOIN table_reference ON search_condition */
{
yylhsminor
.
yy168
=
createJoinTableNode
(
pCxt
,
yymsp
[
-
4
].
minor
.
yy596
,
yymsp
[
-
5
].
minor
.
yy168
,
yymsp
[
-
2
].
minor
.
yy168
,
yymsp
[
0
].
minor
.
yy168
);
}
yymsp
[
-
5
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
33
4
:
/* join_type ::= */
case
33
6
:
/* join_type ::= */
{
yymsp
[
1
].
minor
.
yy596
=
JOIN_TYPE_INNER
;
}
break
;
case
33
5
:
/* join_type ::= INNER */
case
33
7
:
/* join_type ::= INNER */
{
yymsp
[
0
].
minor
.
yy596
=
JOIN_TYPE_INNER
;
}
break
;
case
33
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
33
8
:
/* query_specification ::= SELECT set_quantifier_opt select_list from_clause where_clause_opt partition_by_clause_opt twindow_clause_opt group_by_clause_opt having_clause_opt */
{
yymsp
[
-
8
].
minor
.
yy168
=
createSelectStmt
(
pCxt
,
yymsp
[
-
7
].
minor
.
yy537
,
yymsp
[
-
6
].
minor
.
yy376
,
yymsp
[
-
5
].
minor
.
yy168
);
yymsp
[
-
8
].
minor
.
yy168
=
addWhereClause
(
pCxt
,
yymsp
[
-
8
].
minor
.
yy168
,
yymsp
[
-
4
].
minor
.
yy168
);
...
...
@@ -3606,81 +3614,81 @@ static YYACTIONTYPE yy_reduce(
yymsp
[
-
8
].
minor
.
yy168
=
addHavingClause
(
pCxt
,
yymsp
[
-
8
].
minor
.
yy168
,
yymsp
[
0
].
minor
.
yy168
);
}
break
;
case
3
39
:
/* set_quantifier_opt ::= ALL */
case
3
41
:
/* set_quantifier_opt ::= ALL */
{
yymsp
[
0
].
minor
.
yy537
=
false
;
}
break
;
case
34
0
:
/* select_list ::= NK_STAR */
case
34
2
:
/* select_list ::= NK_STAR */
{
yymsp
[
0
].
minor
.
yy376
=
NULL
;
}
break
;
case
34
4
:
/* select_item ::= common_expression */
case
34
6
:
/* select_item ::= common_expression */
{
SToken
t
=
getTokenFromRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
);
yylhsminor
.
yy168
=
setProjectionAlias
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
),
&
t
);
}
yymsp
[
0
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
34
5
:
/* select_item ::= common_expression column_alias */
case
34
7
:
/* select_item ::= common_expression column_alias */
{
yylhsminor
.
yy168
=
setProjectionAlias
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy168
),
&
yymsp
[
0
].
minor
.
yy393
);
}
yymsp
[
-
1
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
34
6
:
/* select_item ::= common_expression AS column_alias */
case
34
8
:
/* select_item ::= common_expression AS column_alias */
{
yylhsminor
.
yy168
=
setProjectionAlias
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy168
),
&
yymsp
[
0
].
minor
.
yy393
);
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
34
7
:
/* select_item ::= table_name NK_DOT NK_STAR */
case
34
9
:
/* select_item ::= table_name NK_DOT NK_STAR */
{
yylhsminor
.
yy168
=
createColumnNode
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy393
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
35
1
:
/* partition_by_clause_opt ::= PARTITION BY expression_list */
case
3
68
:
/* group_by_clause_opt ::= GROUP BY group_by_list */
yytestcase
(
yyruleno
==
368
);
case
3
78
:
/* order_by_clause_opt ::= ORDER BY sort_specification_list */
yytestcase
(
yyruleno
==
378
);
case
35
3
:
/* partition_by_clause_opt ::= PARTITION BY expression_list */
case
3
70
:
/* group_by_clause_opt ::= GROUP BY group_by_list */
yytestcase
(
yyruleno
==
370
);
case
3
80
:
/* order_by_clause_opt ::= ORDER BY sort_specification_list */
yytestcase
(
yyruleno
==
380
);
{
yymsp
[
-
2
].
minor
.
yy376
=
yymsp
[
0
].
minor
.
yy376
;
}
break
;
case
35
3
:
/* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */
case
35
5
:
/* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */
{
yymsp
[
-
5
].
minor
.
yy168
=
createSessionWindowNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy168
),
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy168
));
}
break
;
case
35
4
:
/* twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP */
case
35
6
:
/* twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP */
{
yymsp
[
-
3
].
minor
.
yy168
=
createStateWindowNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy168
));
}
break
;
case
35
5
:
/* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */
case
35
7
:
/* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */
{
yymsp
[
-
5
].
minor
.
yy168
=
createIntervalWindowNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy168
),
NULL
,
yymsp
[
-
1
].
minor
.
yy168
,
yymsp
[
0
].
minor
.
yy168
);
}
break
;
case
35
6
:
/* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */
case
35
8
:
/* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */
{
yymsp
[
-
7
].
minor
.
yy168
=
createIntervalWindowNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
5
].
minor
.
yy168
),
releaseRawExprNode
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy168
),
yymsp
[
-
1
].
minor
.
yy168
,
yymsp
[
0
].
minor
.
yy168
);
}
break
;
case
3
58
:
/* sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */
case
3
60
:
/* sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */
{
yymsp
[
-
3
].
minor
.
yy168
=
releaseRawExprNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy168
);
}
break
;
case
36
0
:
/* fill_opt ::= FILL NK_LP fill_mode NK_RP */
case
36
2
:
/* fill_opt ::= FILL NK_LP fill_mode NK_RP */
{
yymsp
[
-
3
].
minor
.
yy168
=
createFillNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy382
,
NULL
);
}
break
;
case
36
1
:
/* fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */
case
36
3
:
/* fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */
{
yymsp
[
-
5
].
minor
.
yy168
=
createFillNode
(
pCxt
,
FILL_MODE_VALUE
,
createNodeListNode
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy376
));
}
break
;
case
36
2
:
/* fill_mode ::= NONE */
case
36
4
:
/* fill_mode ::= NONE */
{
yymsp
[
0
].
minor
.
yy382
=
FILL_MODE_NONE
;
}
break
;
case
36
3
:
/* fill_mode ::= PREV */
case
36
5
:
/* fill_mode ::= PREV */
{
yymsp
[
0
].
minor
.
yy382
=
FILL_MODE_PREV
;
}
break
;
case
36
4
:
/* fill_mode ::= NULL */
case
36
6
:
/* fill_mode ::= NULL */
{
yymsp
[
0
].
minor
.
yy382
=
FILL_MODE_NULL
;
}
break
;
case
36
5
:
/* fill_mode ::= LINEAR */
case
36
7
:
/* fill_mode ::= LINEAR */
{
yymsp
[
0
].
minor
.
yy382
=
FILL_MODE_LINEAR
;
}
break
;
case
36
6
:
/* fill_mode ::= NEXT */
case
36
8
:
/* fill_mode ::= NEXT */
{
yymsp
[
0
].
minor
.
yy382
=
FILL_MODE_NEXT
;
}
break
;
case
3
69
:
/* group_by_list ::= expression */
case
3
71
:
/* group_by_list ::= expression */
{
yylhsminor
.
yy376
=
createNodeList
(
pCxt
,
createGroupingSetNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
)));
}
yymsp
[
0
].
minor
.
yy376
=
yylhsminor
.
yy376
;
break
;
case
37
0
:
/* group_by_list ::= group_by_list NK_COMMA expression */
case
37
2
:
/* group_by_list ::= group_by_list NK_COMMA expression */
{
yylhsminor
.
yy376
=
addNodeToList
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy376
,
createGroupingSetNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy168
)));
}
yymsp
[
-
2
].
minor
.
yy376
=
yylhsminor
.
yy376
;
break
;
case
37
3
:
/* query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt */
case
37
5
:
/* query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt */
{
yylhsminor
.
yy168
=
addOrderByClause
(
pCxt
,
yymsp
[
-
3
].
minor
.
yy168
,
yymsp
[
-
2
].
minor
.
yy376
);
yylhsminor
.
yy168
=
addSlimitClause
(
pCxt
,
yylhsminor
.
yy168
,
yymsp
[
-
1
].
minor
.
yy168
);
...
...
@@ -3688,46 +3696,46 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
3
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
37
5
:
/* query_expression_body ::= query_expression_body UNION ALL query_expression_body */
case
37
7
:
/* query_expression_body ::= query_expression_body UNION ALL query_expression_body */
{
yylhsminor
.
yy168
=
createSetOperator
(
pCxt
,
SET_OP_TYPE_UNION_ALL
,
yymsp
[
-
3
].
minor
.
yy168
,
yymsp
[
0
].
minor
.
yy168
);
}
yymsp
[
-
3
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
38
0
:
/* slimit_clause_opt ::= SLIMIT NK_INTEGER */
case
38
4
:
/* limit_clause_opt ::= LIMIT NK_INTEGER */
yytestcase
(
yyruleno
==
384
);
case
38
2
:
/* slimit_clause_opt ::= SLIMIT NK_INTEGER */
case
38
6
:
/* limit_clause_opt ::= LIMIT NK_INTEGER */
yytestcase
(
yyruleno
==
386
);
{
yymsp
[
-
1
].
minor
.
yy168
=
createLimitNode
(
pCxt
,
&
yymsp
[
0
].
minor
.
yy0
,
NULL
);
}
break
;
case
38
1
:
/* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */
case
38
5
:
/* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */
yytestcase
(
yyruleno
==
385
);
case
38
3
:
/* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */
case
38
7
:
/* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */
yytestcase
(
yyruleno
==
387
);
{
yymsp
[
-
3
].
minor
.
yy168
=
createLimitNode
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
break
;
case
38
2
:
/* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */
case
38
6
:
/* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */
yytestcase
(
yyruleno
==
386
);
case
38
4
:
/* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */
case
38
8
:
/* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */
yytestcase
(
yyruleno
==
388
);
{
yymsp
[
-
3
].
minor
.
yy168
=
createLimitNode
(
pCxt
,
&
yymsp
[
0
].
minor
.
yy0
,
&
yymsp
[
-
2
].
minor
.
yy0
);
}
break
;
case
38
7
:
/* subquery ::= NK_LP query_expression NK_RP */
case
38
9
:
/* subquery ::= NK_LP query_expression NK_RP */
{
yylhsminor
.
yy168
=
createRawExprNodeExt
(
pCxt
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
1
].
minor
.
yy168
);
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
39
1
:
/* sort_specification ::= expression ordering_specification_opt null_ordering_opt */
case
39
3
:
/* sort_specification ::= expression ordering_specification_opt null_ordering_opt */
{
yylhsminor
.
yy168
=
createOrderByExprNode
(
pCxt
,
releaseRawExprNode
(
pCxt
,
yymsp
[
-
2
].
minor
.
yy168
),
yymsp
[
-
1
].
minor
.
yy554
,
yymsp
[
0
].
minor
.
yy81
);
}
yymsp
[
-
2
].
minor
.
yy168
=
yylhsminor
.
yy168
;
break
;
case
39
2
:
/* ordering_specification_opt ::= */
case
39
4
:
/* ordering_specification_opt ::= */
{
yymsp
[
1
].
minor
.
yy554
=
ORDER_ASC
;
}
break
;
case
39
3
:
/* ordering_specification_opt ::= ASC */
case
39
5
:
/* ordering_specification_opt ::= ASC */
{
yymsp
[
0
].
minor
.
yy554
=
ORDER_ASC
;
}
break
;
case
39
4
:
/* ordering_specification_opt ::= DESC */
case
39
6
:
/* ordering_specification_opt ::= DESC */
{
yymsp
[
0
].
minor
.
yy554
=
ORDER_DESC
;
}
break
;
case
39
5
:
/* null_ordering_opt ::= */
case
39
7
:
/* null_ordering_opt ::= */
{
yymsp
[
1
].
minor
.
yy81
=
NULL_ORDER_DEFAULT
;
}
break
;
case
39
6
:
/* null_ordering_opt ::= NULLS FIRST */
case
39
8
:
/* null_ordering_opt ::= NULLS FIRST */
{
yymsp
[
-
1
].
minor
.
yy81
=
NULL_ORDER_FIRST
;
}
break
;
case
39
7
:
/* null_ordering_opt ::= NULLS LAST */
case
39
9
:
/* null_ordering_opt ::= NULLS LAST */
{
yymsp
[
-
1
].
minor
.
yy81
=
NULL_ORDER_LAST
;
}
break
;
default:
...
...
source/libs/planner/src/planLogicCreater.c
浏览文件 @
9ef7db39
...
...
@@ -701,7 +701,7 @@ static int32_t createDistinctLogicNode(SLogicPlanContext* pCxt, SSelectStmt* pSe
// rewrite the expression in subsequent clauses
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
rewriteExpr
(
pAgg
->
pGroupKeys
,
pSelect
,
SQL_CLAUSE_
SELE
CT
);
code
=
rewriteExpr
(
pAgg
->
pGroupKeys
,
pSelect
,
SQL_CLAUSE_
DISTIN
CT
);
}
// set the output
...
...
source/libs/planner/src/planPhysiCreater.c
浏览文件 @
9ef7db39
...
...
@@ -928,8 +928,12 @@ static int32_t createSortPhysiNode(SPhysiPlanContext* pCxt, SNodeList* pChildren
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
setListSlotId
(
pCxt
,
pChildTupe
->
dataBlockId
,
-
1
,
pSortKeys
,
&
pSort
->
pSortKeys
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
setListSlotId
(
pCxt
,
pChildTupe
->
dataBlockId
,
-
1
,
pSortLogicNode
->
node
.
pTargets
,
&
pSort
->
pTargets
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
addDataBlockSlots
(
pCxt
,
pSort
->
p
SortKey
s
,
pSort
->
node
.
pOutputDataBlockDesc
);
code
=
addDataBlockSlots
(
pCxt
,
pSort
->
p
Target
s
,
pSort
->
node
.
pOutputDataBlockDesc
);
}
}
...
...
@@ -963,8 +967,12 @@ static int32_t createPartitionPhysiNode(SPhysiPlanContext* pCxt, SNodeList* pChi
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
setListSlotId
(
pCxt
,
pChildTupe
->
dataBlockId
,
-
1
,
pPartitionKeys
,
&
pPart
->
pPartitionKeys
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
setListSlotId
(
pCxt
,
pChildTupe
->
dataBlockId
,
-
1
,
pPartLogicNode
->
node
.
pTargets
,
&
pPart
->
pTargets
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
addDataBlockSlots
(
pCxt
,
pPart
->
p
PartitionKey
s
,
pPart
->
node
.
pOutputDataBlockDesc
);
code
=
addDataBlockSlots
(
pCxt
,
pPart
->
p
Target
s
,
pPart
->
node
.
pOutputDataBlockDesc
);
}
}
...
...
source/libs/planner/test/plannerTest.cpp
浏览文件 @
9ef7db39
...
...
@@ -254,6 +254,9 @@ TEST_F(PlannerTest, orderBy) {
bind
(
"SELECT * FROM t1 order by c1 + 10, c2"
);
ASSERT_TRUE
(
run
());
bind
(
"SELECT * FROM t1 order by c1 desc nulls first"
);
ASSERT_TRUE
(
run
());
}
TEST_F
(
PlannerTest
,
distinct
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录