Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
6ca5d1cf
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
6ca5d1cf
编写于
5月 31, 2022
作者:
X
Xiaoyu Wang
提交者:
GitHub
5月 31, 2022
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #13317 from taosdata/feature/topic_grammar_wxy
fix: compile error
上级
5c8d59e5
d8054395
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
543 addition
and
1249 deletion
+543
-1249
source/libs/parser/src/sql.c
source/libs/parser/src/sql.c
+543
-1249
未找到文件。
source/libs/parser/src/sql.c
浏览文件 @
6ca5d1cf
/* This file is automatically generated by Lemon from input grammar
** source file "sql.y". */
/*
** 2000-05-29
**
...
...
@@ -24,7 +22,10 @@
** The following is the concatenation of all %include directives from the
** input grammar file:
*/
#include <stdio.h>
#include <assert.h>
/************ Begin %include sections from the grammar ************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
...
...
@@ -37,247 +38,11 @@
#include "ttokendef.h"
#include "parAst.h"
/**************** End of %include directives **********************************/
/* These constants specify the various numeric values for terminal symbols.
***************** Begin token definitions *************************************/
#ifndef TK_OR
#define TK_OR 1
#define TK_AND 2
#define TK_UNION 3
#define TK_ALL 4
#define TK_MINUS 5
#define TK_EXCEPT 6
#define TK_INTERSECT 7
#define TK_NK_BITAND 8
#define TK_NK_BITOR 9
#define TK_NK_LSHIFT 10
#define TK_NK_RSHIFT 11
#define TK_NK_PLUS 12
#define TK_NK_MINUS 13
#define TK_NK_STAR 14
#define TK_NK_SLASH 15
#define TK_NK_REM 16
#define TK_NK_CONCAT 17
#define TK_CREATE 18
#define TK_ACCOUNT 19
#define TK_NK_ID 20
#define TK_PASS 21
#define TK_NK_STRING 22
#define TK_ALTER 23
#define TK_PPS 24
#define TK_TSERIES 25
#define TK_STORAGE 26
#define TK_STREAMS 27
#define TK_QTIME 28
#define TK_DBS 29
#define TK_USERS 30
#define TK_CONNS 31
#define TK_STATE 32
#define TK_USER 33
#define TK_PRIVILEGE 34
#define TK_DROP 35
#define TK_GRANT 36
#define TK_ON 37
#define TK_TO 38
#define TK_REVOKE 39
#define TK_FROM 40
#define TK_NK_COMMA 41
#define TK_READ 42
#define TK_WRITE 43
#define TK_NK_DOT 44
#define TK_DNODE 45
#define TK_PORT 46
#define TK_NK_INTEGER 47
#define TK_DNODES 48
#define TK_NK_IPTOKEN 49
#define TK_LOCAL 50
#define TK_QNODE 51
#define TK_BNODE 52
#define TK_SNODE 53
#define TK_MNODE 54
#define TK_DATABASE 55
#define TK_USE 56
#define TK_IF 57
#define TK_NOT 58
#define TK_EXISTS 59
#define TK_BUFFER 60
#define TK_CACHELAST 61
#define TK_COMP 62
#define TK_DAYS 63
#define TK_NK_VARIABLE 64
#define TK_FSYNC 65
#define TK_MAXROWS 66
#define TK_MINROWS 67
#define TK_KEEP 68
#define TK_PAGES 69
#define TK_PAGESIZE 70
#define TK_PRECISION 71
#define TK_REPLICA 72
#define TK_STRICT 73
#define TK_WAL 74
#define TK_VGROUPS 75
#define TK_SINGLE_STABLE 76
#define TK_RETENTIONS 77
#define TK_SCHEMALESS 78
#define TK_NK_COLON 79
#define TK_TABLE 80
#define TK_NK_LP 81
#define TK_NK_RP 82
#define TK_STABLE 83
#define TK_ADD 84
#define TK_COLUMN 85
#define TK_MODIFY 86
#define TK_RENAME 87
#define TK_TAG 88
#define TK_SET 89
#define TK_NK_EQ 90
#define TK_USING 91
#define TK_TAGS 92
#define TK_COMMENT 93
#define TK_BOOL 94
#define TK_TINYINT 95
#define TK_SMALLINT 96
#define TK_INT 97
#define TK_INTEGER 98
#define TK_BIGINT 99
#define TK_FLOAT 100
#define TK_DOUBLE 101
#define TK_BINARY 102
#define TK_TIMESTAMP 103
#define TK_NCHAR 104
#define TK_UNSIGNED 105
#define TK_JSON 106
#define TK_VARCHAR 107
#define TK_MEDIUMBLOB 108
#define TK_BLOB 109
#define TK_VARBINARY 110
#define TK_DECIMAL 111
#define TK_FILE_FACTOR 112
#define TK_NK_FLOAT 113
#define TK_ROLLUP 114
#define TK_TTL 115
#define TK_SMA 116
#define TK_SHOW 117
#define TK_DATABASES 118
#define TK_TABLES 119
#define TK_STABLES 120
#define TK_MNODES 121
#define TK_MODULES 122
#define TK_QNODES 123
#define TK_FUNCTIONS 124
#define TK_INDEXES 125
#define TK_ACCOUNTS 126
#define TK_APPS 127
#define TK_CONNECTIONS 128
#define TK_LICENCE 129
#define TK_GRANTS 130
#define TK_QUERIES 131
#define TK_SCORES 132
#define TK_TOPICS 133
#define TK_VARIABLES 134
#define TK_BNODES 135
#define TK_SNODES 136
#define TK_CLUSTER 137
#define TK_TRANSACTIONS 138
#define TK_LIKE 139
#define TK_INDEX 140
#define TK_FULLTEXT 141
#define TK_FUNCTION 142
#define TK_INTERVAL 143
#define TK_TOPIC 144
#define TK_AS 145
#define TK_CONSUMER 146
#define TK_GROUP 147
#define TK_DESC 148
#define TK_DESCRIBE 149
#define TK_RESET 150
#define TK_QUERY 151
#define TK_CACHE 152
#define TK_EXPLAIN 153
#define TK_ANALYZE 154
#define TK_VERBOSE 155
#define TK_NK_BOOL 156
#define TK_RATIO 157
#define TK_COMPACT 158
#define TK_VNODES 159
#define TK_IN 160
#define TK_OUTPUTTYPE 161
#define TK_AGGREGATE 162
#define TK_BUFSIZE 163
#define TK_STREAM 164
#define TK_INTO 165
#define TK_TRIGGER 166
#define TK_AT_ONCE 167
#define TK_WINDOW_CLOSE 168
#define TK_WATERMARK 169
#define TK_KILL 170
#define TK_CONNECTION 171
#define TK_TRANSACTION 172
#define TK_MERGE 173
#define TK_VGROUP 174
#define TK_REDISTRIBUTE 175
#define TK_SPLIT 176
#define TK_SYNCDB 177
#define TK_NULL 178
#define TK_NK_QUESTION 179
#define TK_NK_ARROW 180
#define TK_ROWTS 181
#define TK_TBNAME 182
#define TK_QSTARTTS 183
#define TK_QENDTS 184
#define TK_WSTARTTS 185
#define TK_WENDTS 186
#define TK_WDURATION 187
#define TK_CAST 188
#define TK_NOW 189
#define TK_TODAY 190
#define TK_TIMEZONE 191
#define TK_COUNT 192
#define TK_FIRST 193
#define TK_LAST 194
#define TK_LAST_ROW 195
#define TK_BETWEEN 196
#define TK_IS 197
#define TK_NK_LT 198
#define TK_NK_GT 199
#define TK_NK_LE 200
#define TK_NK_GE 201
#define TK_NK_NE 202
#define TK_MATCH 203
#define TK_NMATCH 204
#define TK_CONTAINS 205
#define TK_JOIN 206
#define TK_INNER 207
#define TK_SELECT 208
#define TK_DISTINCT 209
#define TK_WHERE 210
#define TK_PARTITION 211
#define TK_BY 212
#define TK_SESSION 213
#define TK_STATE_WINDOW 214
#define TK_SLIDING 215
#define TK_FILL 216
#define TK_VALUE 217
#define TK_NONE 218
#define TK_PREV 219
#define TK_LINEAR 220
#define TK_NEXT 221
#define TK_HAVING 222
#define TK_ORDER 223
#define TK_SLIMIT 224
#define TK_SOFFSET 225
#define TK_LIMIT 226
#define TK_OFFSET 227
#define TK_ASC 228
#define TK_NULLS 229
#define TK_ID 230
#define TK_NK_BITNOT 231
#define TK_INSERT 232
#define TK_VALUES 233
#define TK_IMPORT 234
#define TK_NK_SEMI 235
#define TK_FILE 236
#endif
/**************** End token definitions ***************************************/
/* These constants specify the various numeric values for terminal symbols
** in a format understandable to "makeheaders". This section is blank unless
** "lemon" is run with the "-m" command-line option.
***************** Begin makeheaders token definitions *************************/
/**************** End makeheaders token definitions ***************************/
/* The next sections is a series of control #defines.
** various aspects of the generated parser.
...
...
@@ -371,7 +136,6 @@ typedef union {
#define YYFALLBACK 1
#define YYNSTATE 612
#define YYNRULE 451
#define YYNRULE_WITH_ACTION 451
#define YYNTOKEN 237
#define YY_MAX_SHIFT 611
#define YY_MIN_SHIFTREDUCE 898
...
...
@@ -876,31 +640,7 @@ static const YYCODETYPE yy_lookahead[] = {
/* 2090 */
357
,
357
,
357
,
357
,
357
,
357
,
357
,
357
,
357
,
357
,
/* 2100 */
328
,
329
,
330
,
357
,
332
,
357
,
357
,
335
,
357
,
357
,
/* 2110 */
357
,
357
,
357
,
357
,
357
,
357
,
357
,
357
,
357
,
357
,
/* 2120 */
348
,
357
,
357
,
357
,
352
,
237
,
237
,
237
,
237
,
237
,
/* 2130 */
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
/* 2140 */
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
/* 2150 */
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
/* 2160 */
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
/* 2170 */
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
/* 2180 */
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
/* 2190 */
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
/* 2200 */
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
/* 2210 */
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
/* 2220 */
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
/* 2230 */
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
/* 2240 */
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
/* 2250 */
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
/* 2260 */
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
/* 2270 */
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
/* 2280 */
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
/* 2290 */
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
/* 2300 */
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
/* 2310 */
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
/* 2320 */
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
/* 2330 */
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
/* 2340 */
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
/* 2350 */
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
/* 2360 */
237
,
237
,
/* 2120 */
348
,
357
,
357
,
357
,
352
,
};
#define YY_SHIFT_COUNT (611)
#define YY_SHIFT_MIN (0)
...
...
@@ -1370,7 +1110,6 @@ struct yyParser {
};
typedef
struct
yyParser
yyParser
;
#include <assert.h>
#ifndef NDEBUG
#include <stdio.h>
static
FILE
*
yyTraceFILE
=
0
;
...
...
@@ -2643,18 +2382,15 @@ static YYACTIONTYPE yy_find_shift_action(
do
{
i
=
yy_shift_ofst
[
stateno
];
assert
(
i
>=
0
);
assert
(
i
<=
YY_ACTTAB_COUNT
);
assert
(
i
+
YYNTOKEN
<=
(
int
)
YY_NLOOKAHEAD
);
/* assert( i+YYNTOKEN<=(int)YY_NLOOKAHEAD ); */
assert
(
iLookAhead
!=
YYNOCODE
);
assert
(
iLookAhead
<
YYNTOKEN
);
i
+=
iLookAhead
;
assert
(
i
<
(
int
)
YY_NLOOKAHEAD
);
if
(
yy_lookahead
[
i
]
!=
iLookAhead
){
if
(
i
>=
YY_NLOOKAHEAD
||
yy_lookahead
[
i
]
!=
iLookAhead
){
#ifdef YYFALLBACK
YYCODETYPE
iFallback
;
/* Fallback token */
assert
(
iLookAhead
<
sizeof
(
yyFallback
)
/
sizeof
(
yyFallback
[
0
])
);
iFallback
=
yyFallback
[
iLookAhead
];
if
(
iFallback
!=
0
){
if
(
iLookAhead
<
sizeof
(
yyFallback
)
/
sizeof
(
yyFallback
[
0
])
&&
(
iFallback
=
yyFallback
[
iLookAhead
])
!=
0
){
#ifndef NDEBUG
if
(
yyTraceFILE
){
fprintf
(
yyTraceFILE
,
"%sFALLBACK %s => %s
\n
"
,
...
...
@@ -2669,8 +2405,16 @@ static YYACTIONTYPE yy_find_shift_action(
#ifdef YYWILDCARD
{
int
j
=
i
-
iLookAhead
+
YYWILDCARD
;
assert
(
j
<
(
int
)(
sizeof
(
yy_lookahead
)
/
sizeof
(
yy_lookahead
[
0
]))
);
if
(
yy_lookahead
[
j
]
==
YYWILDCARD
&&
iLookAhead
>
0
){
if
(
#if YY_SHIFT_MIN+YYWILDCARD<0
j
>=
0
&&
#endif
#if YY_SHIFT_MAX+YYWILDCARD>=YY_ACTTAB_COUNT
j
<
YY_ACTTAB_COUNT
&&
#endif
j
<
(
int
)(
sizeof
(
yy_lookahead
)
/
sizeof
(
yy_lookahead
[
0
]))
&&
yy_lookahead
[
j
]
==
YYWILDCARD
&&
iLookAhead
>
0
){
#ifndef NDEBUG
if
(
yyTraceFILE
){
fprintf
(
yyTraceFILE
,
"%sWILDCARD %s => %s
\n
"
,
...
...
@@ -2684,7 +2428,6 @@ static YYACTIONTYPE yy_find_shift_action(
#endif
/* YYWILDCARD */
return
yy_default
[
stateno
];
}
else
{
assert
(
i
>=
0
&&
i
<
(
int
)(
sizeof
(
yy_action
)
/
sizeof
(
yy_action
[
0
]))
);
return
yy_action
[
i
];
}
}
while
(
1
);
...
...
@@ -2803,916 +2546,464 @@ static void yy_shift(
yyTraceShift
(
yypParser
,
yyNewState
,
"Shift"
);
}
/* For rule J, yyRuleInfoLhs[J] contains the symbol on the left-hand side
** of that rule */
static
const
YYCODETYPE
yyRuleInfoLhs
[]
=
{
237
,
/* (0) cmd ::= CREATE ACCOUNT NK_ID PASS NK_STRING account_options */
237
,
/* (1) cmd ::= ALTER ACCOUNT NK_ID alter_account_options */
238
,
/* (2) account_options ::= */
238
,
/* (3) account_options ::= account_options PPS literal */
238
,
/* (4) account_options ::= account_options TSERIES literal */
238
,
/* (5) account_options ::= account_options STORAGE literal */
238
,
/* (6) account_options ::= account_options STREAMS literal */
238
,
/* (7) account_options ::= account_options QTIME literal */
238
,
/* (8) account_options ::= account_options DBS literal */
238
,
/* (9) account_options ::= account_options USERS literal */
238
,
/* (10) account_options ::= account_options CONNS literal */
238
,
/* (11) account_options ::= account_options STATE literal */
239
,
/* (12) alter_account_options ::= alter_account_option */
239
,
/* (13) alter_account_options ::= alter_account_options alter_account_option */
241
,
/* (14) alter_account_option ::= PASS literal */
241
,
/* (15) alter_account_option ::= PPS literal */
241
,
/* (16) alter_account_option ::= TSERIES literal */
241
,
/* (17) alter_account_option ::= STORAGE literal */
241
,
/* (18) alter_account_option ::= STREAMS literal */
241
,
/* (19) alter_account_option ::= QTIME literal */
241
,
/* (20) alter_account_option ::= DBS literal */
241
,
/* (21) alter_account_option ::= USERS literal */
241
,
/* (22) alter_account_option ::= CONNS literal */
241
,
/* (23) alter_account_option ::= STATE literal */
237
,
/* (24) cmd ::= CREATE USER user_name PASS NK_STRING */
237
,
/* (25) cmd ::= ALTER USER user_name PASS NK_STRING */
237
,
/* (26) cmd ::= ALTER USER user_name PRIVILEGE NK_STRING */
237
,
/* (27) cmd ::= DROP USER user_name */
237
,
/* (28) cmd ::= GRANT privileges ON priv_level TO user_name */
237
,
/* (29) cmd ::= REVOKE privileges ON priv_level FROM user_name */
243
,
/* (30) privileges ::= ALL */
243
,
/* (31) privileges ::= priv_type_list */
245
,
/* (32) priv_type_list ::= priv_type */
245
,
/* (33) priv_type_list ::= priv_type_list NK_COMMA priv_type */
246
,
/* (34) priv_type ::= READ */
246
,
/* (35) priv_type ::= WRITE */
244
,
/* (36) priv_level ::= NK_STAR NK_DOT NK_STAR */
244
,
/* (37) priv_level ::= db_name NK_DOT NK_STAR */
237
,
/* (38) cmd ::= CREATE DNODE dnode_endpoint */
237
,
/* (39) cmd ::= CREATE DNODE dnode_host_name PORT NK_INTEGER */
237
,
/* (40) cmd ::= DROP DNODE NK_INTEGER */
237
,
/* (41) cmd ::= DROP DNODE dnode_endpoint */
237
,
/* (42) cmd ::= ALTER DNODE NK_INTEGER NK_STRING */
237
,
/* (43) cmd ::= ALTER DNODE NK_INTEGER NK_STRING NK_STRING */
237
,
/* (44) cmd ::= ALTER ALL DNODES NK_STRING */
237
,
/* (45) cmd ::= ALTER ALL DNODES NK_STRING NK_STRING */
248
,
/* (46) dnode_endpoint ::= NK_STRING */
249
,
/* (47) dnode_host_name ::= NK_ID */
249
,
/* (48) dnode_host_name ::= NK_IPTOKEN */
237
,
/* (49) cmd ::= ALTER LOCAL NK_STRING */
237
,
/* (50) cmd ::= ALTER LOCAL NK_STRING NK_STRING */
237
,
/* (51) cmd ::= CREATE QNODE ON DNODE NK_INTEGER */
237
,
/* (52) cmd ::= DROP QNODE ON DNODE NK_INTEGER */
237
,
/* (53) cmd ::= CREATE BNODE ON DNODE NK_INTEGER */
237
,
/* (54) cmd ::= DROP BNODE ON DNODE NK_INTEGER */
237
,
/* (55) cmd ::= CREATE SNODE ON DNODE NK_INTEGER */
237
,
/* (56) cmd ::= DROP SNODE ON DNODE NK_INTEGER */
237
,
/* (57) cmd ::= CREATE MNODE ON DNODE NK_INTEGER */
237
,
/* (58) cmd ::= DROP MNODE ON DNODE NK_INTEGER */
237
,
/* (59) cmd ::= CREATE DATABASE not_exists_opt db_name db_options */
237
,
/* (60) cmd ::= DROP DATABASE exists_opt db_name */
237
,
/* (61) cmd ::= USE db_name */
237
,
/* (62) cmd ::= ALTER DATABASE db_name alter_db_options */
250
,
/* (63) not_exists_opt ::= IF NOT EXISTS */
250
,
/* (64) not_exists_opt ::= */
252
,
/* (65) exists_opt ::= IF EXISTS */
252
,
/* (66) exists_opt ::= */
251
,
/* (67) db_options ::= */
251
,
/* (68) db_options ::= db_options BUFFER NK_INTEGER */
251
,
/* (69) db_options ::= db_options CACHELAST NK_INTEGER */
251
,
/* (70) db_options ::= db_options COMP NK_INTEGER */
251
,
/* (71) db_options ::= db_options DAYS NK_INTEGER */
251
,
/* (72) db_options ::= db_options DAYS NK_VARIABLE */
251
,
/* (73) db_options ::= db_options FSYNC NK_INTEGER */
251
,
/* (74) db_options ::= db_options MAXROWS NK_INTEGER */
251
,
/* (75) db_options ::= db_options MINROWS NK_INTEGER */
251
,
/* (76) db_options ::= db_options KEEP integer_list */
251
,
/* (77) db_options ::= db_options KEEP variable_list */
251
,
/* (78) db_options ::= db_options PAGES NK_INTEGER */
251
,
/* (79) db_options ::= db_options PAGESIZE NK_INTEGER */
251
,
/* (80) db_options ::= db_options PRECISION NK_STRING */
251
,
/* (81) db_options ::= db_options REPLICA NK_INTEGER */
251
,
/* (82) db_options ::= db_options STRICT NK_INTEGER */
251
,
/* (83) db_options ::= db_options WAL NK_INTEGER */
251
,
/* (84) db_options ::= db_options VGROUPS NK_INTEGER */
251
,
/* (85) db_options ::= db_options SINGLE_STABLE NK_INTEGER */
251
,
/* (86) db_options ::= db_options RETENTIONS retention_list */
251
,
/* (87) db_options ::= db_options SCHEMALESS NK_INTEGER */
253
,
/* (88) alter_db_options ::= alter_db_option */
253
,
/* (89) alter_db_options ::= alter_db_options alter_db_option */
257
,
/* (90) alter_db_option ::= BUFFER NK_INTEGER */
257
,
/* (91) alter_db_option ::= CACHELAST NK_INTEGER */
257
,
/* (92) alter_db_option ::= FSYNC NK_INTEGER */
257
,
/* (93) alter_db_option ::= KEEP integer_list */
257
,
/* (94) alter_db_option ::= KEEP variable_list */
257
,
/* (95) alter_db_option ::= PAGES NK_INTEGER */
257
,
/* (96) alter_db_option ::= REPLICA NK_INTEGER */
257
,
/* (97) alter_db_option ::= STRICT NK_INTEGER */
257
,
/* (98) alter_db_option ::= WAL NK_INTEGER */
254
,
/* (99) integer_list ::= NK_INTEGER */
254
,
/* (100) integer_list ::= integer_list NK_COMMA NK_INTEGER */
255
,
/* (101) variable_list ::= NK_VARIABLE */
255
,
/* (102) variable_list ::= variable_list NK_COMMA NK_VARIABLE */
256
,
/* (103) retention_list ::= retention */
256
,
/* (104) retention_list ::= retention_list NK_COMMA retention */
258
,
/* (105) retention ::= NK_VARIABLE NK_COLON NK_VARIABLE */
237
,
/* (106) cmd ::= CREATE TABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def_opt table_options */
237
,
/* (107) cmd ::= CREATE TABLE multi_create_clause */
237
,
/* (108) cmd ::= CREATE STABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def table_options */
237
,
/* (109) cmd ::= DROP TABLE multi_drop_clause */
237
,
/* (110) cmd ::= DROP STABLE exists_opt full_table_name */
237
,
/* (111) cmd ::= ALTER TABLE alter_table_clause */
237
,
/* (112) cmd ::= ALTER STABLE alter_table_clause */
266
,
/* (113) alter_table_clause ::= full_table_name alter_table_options */
266
,
/* (114) alter_table_clause ::= full_table_name ADD COLUMN column_name type_name */
266
,
/* (115) alter_table_clause ::= full_table_name DROP COLUMN column_name */
266
,
/* (116) alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */
266
,
/* (117) alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */
266
,
/* (118) alter_table_clause ::= full_table_name ADD TAG column_name type_name */
266
,
/* (119) alter_table_clause ::= full_table_name DROP TAG column_name */
266
,
/* (120) alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */
266
,
/* (121) alter_table_clause ::= full_table_name RENAME TAG column_name column_name */
266
,
/* (122) alter_table_clause ::= full_table_name SET TAG column_name NK_EQ signed_literal */
263
,
/* (123) multi_create_clause ::= create_subtable_clause */
263
,
/* (124) multi_create_clause ::= multi_create_clause create_subtable_clause */
271
,
/* (125) create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_tags_opt TAGS NK_LP literal_list NK_RP table_options */
265
,
/* (126) multi_drop_clause ::= drop_table_clause */
265
,
/* (127) multi_drop_clause ::= multi_drop_clause drop_table_clause */
274
,
/* (128) drop_table_clause ::= exists_opt full_table_name */
272
,
/* (129) specific_tags_opt ::= */
272
,
/* (130) specific_tags_opt ::= NK_LP col_name_list NK_RP */
259
,
/* (131) full_table_name ::= table_name */
259
,
/* (132) full_table_name ::= db_name NK_DOT table_name */
260
,
/* (133) column_def_list ::= column_def */
260
,
/* (134) column_def_list ::= column_def_list NK_COMMA column_def */
277
,
/* (135) column_def ::= column_name type_name */
277
,
/* (136) column_def ::= column_name type_name COMMENT NK_STRING */
269
,
/* (137) type_name ::= BOOL */
269
,
/* (138) type_name ::= TINYINT */
269
,
/* (139) type_name ::= SMALLINT */
269
,
/* (140) type_name ::= INT */
269
,
/* (141) type_name ::= INTEGER */
269
,
/* (142) type_name ::= BIGINT */
269
,
/* (143) type_name ::= FLOAT */
269
,
/* (144) type_name ::= DOUBLE */
269
,
/* (145) type_name ::= BINARY NK_LP NK_INTEGER NK_RP */
269
,
/* (146) type_name ::= TIMESTAMP */
269
,
/* (147) type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */
269
,
/* (148) type_name ::= TINYINT UNSIGNED */
269
,
/* (149) type_name ::= SMALLINT UNSIGNED */
269
,
/* (150) type_name ::= INT UNSIGNED */
269
,
/* (151) type_name ::= BIGINT UNSIGNED */
269
,
/* (152) type_name ::= JSON */
269
,
/* (153) type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */
269
,
/* (154) type_name ::= MEDIUMBLOB */
269
,
/* (155) type_name ::= BLOB */
269
,
/* (156) type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */
269
,
/* (157) type_name ::= DECIMAL */
269
,
/* (158) type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */
269
,
/* (159) type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */
261
,
/* (160) tags_def_opt ::= */
261
,
/* (161) tags_def_opt ::= tags_def */
264
,
/* (162) tags_def ::= TAGS NK_LP column_def_list NK_RP */
262
,
/* (163) table_options ::= */
262
,
/* (164) table_options ::= table_options COMMENT NK_STRING */
262
,
/* (165) table_options ::= table_options FILE_FACTOR NK_FLOAT */
262
,
/* (166) table_options ::= table_options ROLLUP NK_LP func_name_list NK_RP */
262
,
/* (167) table_options ::= table_options TTL NK_INTEGER */
262
,
/* (168) table_options ::= table_options SMA NK_LP col_name_list NK_RP */
267
,
/* (169) alter_table_options ::= alter_table_option */
267
,
/* (170) alter_table_options ::= alter_table_options alter_table_option */
279
,
/* (171) alter_table_option ::= COMMENT NK_STRING */
279
,
/* (172) alter_table_option ::= TTL NK_INTEGER */
275
,
/* (173) col_name_list ::= col_name */
275
,
/* (174) col_name_list ::= col_name_list NK_COMMA col_name */
280
,
/* (175) col_name ::= column_name */
237
,
/* (176) cmd ::= SHOW DNODES */
237
,
/* (177) cmd ::= SHOW USERS */
237
,
/* (178) cmd ::= SHOW DATABASES */
237
,
/* (179) cmd ::= SHOW db_name_cond_opt TABLES like_pattern_opt */
237
,
/* (180) cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */
237
,
/* (181) cmd ::= SHOW db_name_cond_opt VGROUPS */
237
,
/* (182) cmd ::= SHOW MNODES */
237
,
/* (183) cmd ::= SHOW MODULES */
237
,
/* (184) cmd ::= SHOW QNODES */
237
,
/* (185) cmd ::= SHOW FUNCTIONS */
237
,
/* (186) cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */
237
,
/* (187) cmd ::= SHOW STREAMS */
237
,
/* (188) cmd ::= SHOW ACCOUNTS */
237
,
/* (189) cmd ::= SHOW APPS */
237
,
/* (190) cmd ::= SHOW CONNECTIONS */
237
,
/* (191) cmd ::= SHOW LICENCE */
237
,
/* (192) cmd ::= SHOW GRANTS */
237
,
/* (193) cmd ::= SHOW CREATE DATABASE db_name */
237
,
/* (194) cmd ::= SHOW CREATE TABLE full_table_name */
237
,
/* (195) cmd ::= SHOW CREATE STABLE full_table_name */
237
,
/* (196) cmd ::= SHOW QUERIES */
237
,
/* (197) cmd ::= SHOW SCORES */
237
,
/* (198) cmd ::= SHOW TOPICS */
237
,
/* (199) cmd ::= SHOW VARIABLES */
237
,
/* (200) cmd ::= SHOW BNODES */
237
,
/* (201) cmd ::= SHOW SNODES */
237
,
/* (202) cmd ::= SHOW CLUSTER */
237
,
/* (203) cmd ::= SHOW TRANSACTIONS */
281
,
/* (204) db_name_cond_opt ::= */
281
,
/* (205) db_name_cond_opt ::= db_name NK_DOT */
282
,
/* (206) like_pattern_opt ::= */
282
,
/* (207) like_pattern_opt ::= LIKE NK_STRING */
283
,
/* (208) table_name_cond ::= table_name */
284
,
/* (209) from_db_opt ::= */
284
,
/* (210) from_db_opt ::= FROM db_name */
278
,
/* (211) func_name_list ::= func_name */
278
,
/* (212) func_name_list ::= func_name_list NK_COMMA func_name */
285
,
/* (213) func_name ::= function_name */
237
,
/* (214) cmd ::= CREATE SMA INDEX not_exists_opt index_name ON table_name index_options */
237
,
/* (215) cmd ::= CREATE FULLTEXT INDEX not_exists_opt index_name ON table_name NK_LP col_name_list NK_RP */
237
,
/* (216) cmd ::= DROP INDEX exists_opt index_name ON table_name */
288
,
/* (217) index_options ::= */
288
,
/* (218) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt */
288
,
/* (219) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt */
289
,
/* (220) func_list ::= func */
289
,
/* (221) func_list ::= func_list NK_COMMA func */
292
,
/* (222) func ::= function_name NK_LP expression_list NK_RP */
237
,
/* (223) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_expression */
237
,
/* (224) cmd ::= CREATE TOPIC not_exists_opt topic_name AS DATABASE db_name */
237
,
/* (225) cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name */
237
,
/* (226) cmd ::= DROP TOPIC exists_opt topic_name */
237
,
/* (227) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */
237
,
/* (228) cmd ::= DESC full_table_name */
237
,
/* (229) cmd ::= DESCRIBE full_table_name */
237
,
/* (230) cmd ::= RESET QUERY CACHE */
237
,
/* (231) cmd ::= EXPLAIN analyze_opt explain_options query_expression */
297
,
/* (232) analyze_opt ::= */
297
,
/* (233) analyze_opt ::= ANALYZE */
298
,
/* (234) explain_options ::= */
298
,
/* (235) explain_options ::= explain_options VERBOSE NK_BOOL */
298
,
/* (236) explain_options ::= explain_options RATIO NK_FLOAT */
237
,
/* (237) cmd ::= COMPACT VNODES IN NK_LP integer_list NK_RP */
237
,
/* (238) cmd ::= CREATE agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt */
237
,
/* (239) cmd ::= DROP FUNCTION exists_opt function_name */
299
,
/* (240) agg_func_opt ::= */
299
,
/* (241) agg_func_opt ::= AGGREGATE */
300
,
/* (242) bufsize_opt ::= */
300
,
/* (243) bufsize_opt ::= BUFSIZE NK_INTEGER */
237
,
/* (244) cmd ::= CREATE STREAM not_exists_opt stream_name stream_options into_opt AS query_expression */
237
,
/* (245) cmd ::= DROP STREAM exists_opt stream_name */
303
,
/* (246) into_opt ::= */
303
,
/* (247) into_opt ::= INTO full_table_name */
302
,
/* (248) stream_options ::= */
302
,
/* (249) stream_options ::= stream_options TRIGGER AT_ONCE */
302
,
/* (250) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */
302
,
/* (251) stream_options ::= stream_options WATERMARK duration_literal */
237
,
/* (252) cmd ::= KILL CONNECTION NK_INTEGER */
237
,
/* (253) cmd ::= KILL QUERY NK_INTEGER */
237
,
/* (254) cmd ::= KILL TRANSACTION NK_INTEGER */
237
,
/* (255) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */
237
,
/* (256) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */
237
,
/* (257) cmd ::= SPLIT VGROUP NK_INTEGER */
304
,
/* (258) dnode_list ::= DNODE NK_INTEGER */
304
,
/* (259) dnode_list ::= dnode_list DNODE NK_INTEGER */
237
,
/* (260) cmd ::= SYNCDB db_name REPLICA */
237
,
/* (261) cmd ::= query_expression */
240
,
/* (262) literal ::= NK_INTEGER */
240
,
/* (263) literal ::= NK_FLOAT */
240
,
/* (264) literal ::= NK_STRING */
240
,
/* (265) literal ::= NK_BOOL */
240
,
/* (266) literal ::= TIMESTAMP NK_STRING */
240
,
/* (267) literal ::= duration_literal */
240
,
/* (268) literal ::= NULL */
240
,
/* (269) literal ::= NK_QUESTION */
290
,
/* (270) duration_literal ::= NK_VARIABLE */
305
,
/* (271) signed ::= NK_INTEGER */
305
,
/* (272) signed ::= NK_PLUS NK_INTEGER */
305
,
/* (273) signed ::= NK_MINUS NK_INTEGER */
305
,
/* (274) signed ::= NK_FLOAT */
305
,
/* (275) signed ::= NK_PLUS NK_FLOAT */
305
,
/* (276) signed ::= NK_MINUS NK_FLOAT */
270
,
/* (277) signed_literal ::= signed */
270
,
/* (278) signed_literal ::= NK_STRING */
270
,
/* (279) signed_literal ::= NK_BOOL */
270
,
/* (280) signed_literal ::= TIMESTAMP NK_STRING */
270
,
/* (281) signed_literal ::= duration_literal */
270
,
/* (282) signed_literal ::= NULL */
270
,
/* (283) signed_literal ::= literal_func */
273
,
/* (284) literal_list ::= signed_literal */
273
,
/* (285) literal_list ::= literal_list NK_COMMA signed_literal */
247
,
/* (286) db_name ::= NK_ID */
276
,
/* (287) table_name ::= NK_ID */
268
,
/* (288) column_name ::= NK_ID */
286
,
/* (289) function_name ::= NK_ID */
307
,
/* (290) table_alias ::= NK_ID */
308
,
/* (291) column_alias ::= NK_ID */
242
,
/* (292) user_name ::= NK_ID */
287
,
/* (293) index_name ::= NK_ID */
294
,
/* (294) topic_name ::= NK_ID */
301
,
/* (295) stream_name ::= NK_ID */
296
,
/* (296) cgroup_name ::= NK_ID */
309
,
/* (297) expression ::= literal */
309
,
/* (298) expression ::= pseudo_column */
309
,
/* (299) expression ::= column_reference */
309
,
/* (300) expression ::= function_expression */
309
,
/* (301) expression ::= subquery */
309
,
/* (302) expression ::= NK_LP expression NK_RP */
309
,
/* (303) expression ::= NK_PLUS expression */
309
,
/* (304) expression ::= NK_MINUS expression */
309
,
/* (305) expression ::= expression NK_PLUS expression */
309
,
/* (306) expression ::= expression NK_MINUS expression */
309
,
/* (307) expression ::= expression NK_STAR expression */
309
,
/* (308) expression ::= expression NK_SLASH expression */
309
,
/* (309) expression ::= expression NK_REM expression */
309
,
/* (310) expression ::= column_reference NK_ARROW NK_STRING */
293
,
/* (311) expression_list ::= expression */
293
,
/* (312) expression_list ::= expression_list NK_COMMA expression */
311
,
/* (313) column_reference ::= column_name */
311
,
/* (314) column_reference ::= table_name NK_DOT column_name */
310
,
/* (315) pseudo_column ::= ROWTS */
310
,
/* (316) pseudo_column ::= TBNAME */
310
,
/* (317) pseudo_column ::= table_name NK_DOT TBNAME */
310
,
/* (318) pseudo_column ::= QSTARTTS */
310
,
/* (319) pseudo_column ::= QENDTS */
310
,
/* (320) pseudo_column ::= WSTARTTS */
310
,
/* (321) pseudo_column ::= WENDTS */
310
,
/* (322) pseudo_column ::= WDURATION */
312
,
/* (323) function_expression ::= function_name NK_LP expression_list NK_RP */
312
,
/* (324) function_expression ::= star_func NK_LP star_func_para_list NK_RP */
312
,
/* (325) function_expression ::= CAST NK_LP expression AS type_name NK_RP */
312
,
/* (326) function_expression ::= literal_func */
306
,
/* (327) literal_func ::= noarg_func NK_LP NK_RP */
306
,
/* (328) literal_func ::= NOW */
316
,
/* (329) noarg_func ::= NOW */
316
,
/* (330) noarg_func ::= TODAY */
316
,
/* (331) noarg_func ::= TIMEZONE */
314
,
/* (332) star_func ::= COUNT */
314
,
/* (333) star_func ::= FIRST */
314
,
/* (334) star_func ::= LAST */
314
,
/* (335) star_func ::= LAST_ROW */
315
,
/* (336) star_func_para_list ::= NK_STAR */
315
,
/* (337) star_func_para_list ::= other_para_list */
317
,
/* (338) other_para_list ::= star_func_para */
317
,
/* (339) other_para_list ::= other_para_list NK_COMMA star_func_para */
318
,
/* (340) star_func_para ::= expression */
318
,
/* (341) star_func_para ::= table_name NK_DOT NK_STAR */
319
,
/* (342) predicate ::= expression compare_op expression */
319
,
/* (343) predicate ::= expression BETWEEN expression AND expression */
319
,
/* (344) predicate ::= expression NOT BETWEEN expression AND expression */
319
,
/* (345) predicate ::= expression IS NULL */
319
,
/* (346) predicate ::= expression IS NOT NULL */
319
,
/* (347) predicate ::= expression in_op in_predicate_value */
320
,
/* (348) compare_op ::= NK_LT */
320
,
/* (349) compare_op ::= NK_GT */
320
,
/* (350) compare_op ::= NK_LE */
320
,
/* (351) compare_op ::= NK_GE */
320
,
/* (352) compare_op ::= NK_NE */
320
,
/* (353) compare_op ::= NK_EQ */
320
,
/* (354) compare_op ::= LIKE */
320
,
/* (355) compare_op ::= NOT LIKE */
320
,
/* (356) compare_op ::= MATCH */
320
,
/* (357) compare_op ::= NMATCH */
320
,
/* (358) compare_op ::= CONTAINS */
321
,
/* (359) in_op ::= IN */
321
,
/* (360) in_op ::= NOT IN */
322
,
/* (361) in_predicate_value ::= NK_LP expression_list NK_RP */
323
,
/* (362) boolean_value_expression ::= boolean_primary */
323
,
/* (363) boolean_value_expression ::= NOT boolean_primary */
323
,
/* (364) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */
323
,
/* (365) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */
324
,
/* (366) boolean_primary ::= predicate */
324
,
/* (367) boolean_primary ::= NK_LP boolean_value_expression NK_RP */
325
,
/* (368) common_expression ::= expression */
325
,
/* (369) common_expression ::= boolean_value_expression */
326
,
/* (370) from_clause ::= FROM table_reference_list */
327
,
/* (371) table_reference_list ::= table_reference */
327
,
/* (372) table_reference_list ::= table_reference_list NK_COMMA table_reference */
328
,
/* (373) table_reference ::= table_primary */
328
,
/* (374) table_reference ::= joined_table */
329
,
/* (375) table_primary ::= table_name alias_opt */
329
,
/* (376) table_primary ::= db_name NK_DOT table_name alias_opt */
329
,
/* (377) table_primary ::= subquery alias_opt */
329
,
/* (378) table_primary ::= parenthesized_joined_table */
331
,
/* (379) alias_opt ::= */
331
,
/* (380) alias_opt ::= table_alias */
331
,
/* (381) alias_opt ::= AS table_alias */
332
,
/* (382) parenthesized_joined_table ::= NK_LP joined_table NK_RP */
332
,
/* (383) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */
330
,
/* (384) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */
333
,
/* (385) join_type ::= */
333
,
/* (386) join_type ::= INNER */
335
,
/* (387) 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 */
336
,
/* (388) set_quantifier_opt ::= */
336
,
/* (389) set_quantifier_opt ::= DISTINCT */
336
,
/* (390) set_quantifier_opt ::= ALL */
337
,
/* (391) select_list ::= NK_STAR */
337
,
/* (392) select_list ::= select_sublist */
343
,
/* (393) select_sublist ::= select_item */
343
,
/* (394) select_sublist ::= select_sublist NK_COMMA select_item */
344
,
/* (395) select_item ::= common_expression */
344
,
/* (396) select_item ::= common_expression column_alias */
344
,
/* (397) select_item ::= common_expression AS column_alias */
344
,
/* (398) select_item ::= table_name NK_DOT NK_STAR */
338
,
/* (399) where_clause_opt ::= */
338
,
/* (400) where_clause_opt ::= WHERE search_condition */
339
,
/* (401) partition_by_clause_opt ::= */
339
,
/* (402) partition_by_clause_opt ::= PARTITION BY expression_list */
340
,
/* (403) twindow_clause_opt ::= */
340
,
/* (404) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */
340
,
/* (405) twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP */
340
,
/* (406) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */
340
,
/* (407) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */
291
,
/* (408) sliding_opt ::= */
291
,
/* (409) sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */
345
,
/* (410) fill_opt ::= */
345
,
/* (411) fill_opt ::= FILL NK_LP fill_mode NK_RP */
345
,
/* (412) fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */
346
,
/* (413) fill_mode ::= NONE */
346
,
/* (414) fill_mode ::= PREV */
346
,
/* (415) fill_mode ::= NULL */
346
,
/* (416) fill_mode ::= LINEAR */
346
,
/* (417) fill_mode ::= NEXT */
341
,
/* (418) group_by_clause_opt ::= */
341
,
/* (419) group_by_clause_opt ::= GROUP BY group_by_list */
347
,
/* (420) group_by_list ::= expression */
347
,
/* (421) group_by_list ::= group_by_list NK_COMMA expression */
342
,
/* (422) having_clause_opt ::= */
342
,
/* (423) having_clause_opt ::= HAVING search_condition */
295
,
/* (424) query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt */
348
,
/* (425) query_expression_body ::= query_primary */
348
,
/* (426) query_expression_body ::= query_expression_body UNION ALL query_expression_body */
348
,
/* (427) query_expression_body ::= query_expression_body UNION query_expression_body */
352
,
/* (428) query_primary ::= query_specification */
352
,
/* (429) query_primary ::= NK_LP query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt NK_RP */
349
,
/* (430) order_by_clause_opt ::= */
349
,
/* (431) order_by_clause_opt ::= ORDER BY sort_specification_list */
350
,
/* (432) slimit_clause_opt ::= */
350
,
/* (433) slimit_clause_opt ::= SLIMIT NK_INTEGER */
350
,
/* (434) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */
350
,
/* (435) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */
351
,
/* (436) limit_clause_opt ::= */
351
,
/* (437) limit_clause_opt ::= LIMIT NK_INTEGER */
351
,
/* (438) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */
351
,
/* (439) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */
313
,
/* (440) subquery ::= NK_LP query_expression NK_RP */
334
,
/* (441) search_condition ::= common_expression */
353
,
/* (442) sort_specification_list ::= sort_specification */
353
,
/* (443) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */
354
,
/* (444) sort_specification ::= expression ordering_specification_opt null_ordering_opt */
355
,
/* (445) ordering_specification_opt ::= */
355
,
/* (446) ordering_specification_opt ::= ASC */
355
,
/* (447) ordering_specification_opt ::= DESC */
356
,
/* (448) null_ordering_opt ::= */
356
,
/* (449) null_ordering_opt ::= NULLS FIRST */
356
,
/* (450) null_ordering_opt ::= NULLS LAST */
};
/* For rule J, yyRuleInfoNRhs[J] contains the negative of the number
** of symbols on the right-hand side of that rule. */
static
const
signed
char
yyRuleInfoNRhs
[]
=
{
-
6
,
/* (0) cmd ::= CREATE ACCOUNT NK_ID PASS NK_STRING account_options */
-
4
,
/* (1) cmd ::= ALTER ACCOUNT NK_ID alter_account_options */
0
,
/* (2) account_options ::= */
-
3
,
/* (3) account_options ::= account_options PPS literal */
-
3
,
/* (4) account_options ::= account_options TSERIES literal */
-
3
,
/* (5) account_options ::= account_options STORAGE literal */
-
3
,
/* (6) account_options ::= account_options STREAMS literal */
-
3
,
/* (7) account_options ::= account_options QTIME literal */
-
3
,
/* (8) account_options ::= account_options DBS literal */
-
3
,
/* (9) account_options ::= account_options USERS literal */
-
3
,
/* (10) account_options ::= account_options CONNS literal */
-
3
,
/* (11) account_options ::= account_options STATE literal */
-
1
,
/* (12) alter_account_options ::= alter_account_option */
-
2
,
/* (13) alter_account_options ::= alter_account_options alter_account_option */
-
2
,
/* (14) alter_account_option ::= PASS literal */
-
2
,
/* (15) alter_account_option ::= PPS literal */
-
2
,
/* (16) alter_account_option ::= TSERIES literal */
-
2
,
/* (17) alter_account_option ::= STORAGE literal */
-
2
,
/* (18) alter_account_option ::= STREAMS literal */
-
2
,
/* (19) alter_account_option ::= QTIME literal */
-
2
,
/* (20) alter_account_option ::= DBS literal */
-
2
,
/* (21) alter_account_option ::= USERS literal */
-
2
,
/* (22) alter_account_option ::= CONNS literal */
-
2
,
/* (23) alter_account_option ::= STATE literal */
-
5
,
/* (24) cmd ::= CREATE USER user_name PASS NK_STRING */
-
5
,
/* (25) cmd ::= ALTER USER user_name PASS NK_STRING */
-
5
,
/* (26) cmd ::= ALTER USER user_name PRIVILEGE NK_STRING */
-
3
,
/* (27) cmd ::= DROP USER user_name */
-
6
,
/* (28) cmd ::= GRANT privileges ON priv_level TO user_name */
-
6
,
/* (29) cmd ::= REVOKE privileges ON priv_level FROM user_name */
-
1
,
/* (30) privileges ::= ALL */
-
1
,
/* (31) privileges ::= priv_type_list */
-
1
,
/* (32) priv_type_list ::= priv_type */
-
3
,
/* (33) priv_type_list ::= priv_type_list NK_COMMA priv_type */
-
1
,
/* (34) priv_type ::= READ */
-
1
,
/* (35) priv_type ::= WRITE */
-
3
,
/* (36) priv_level ::= NK_STAR NK_DOT NK_STAR */
-
3
,
/* (37) priv_level ::= db_name NK_DOT NK_STAR */
-
3
,
/* (38) cmd ::= CREATE DNODE dnode_endpoint */
-
5
,
/* (39) cmd ::= CREATE DNODE dnode_host_name PORT NK_INTEGER */
-
3
,
/* (40) cmd ::= DROP DNODE NK_INTEGER */
-
3
,
/* (41) cmd ::= DROP DNODE dnode_endpoint */
-
4
,
/* (42) cmd ::= ALTER DNODE NK_INTEGER NK_STRING */
-
5
,
/* (43) cmd ::= ALTER DNODE NK_INTEGER NK_STRING NK_STRING */
-
4
,
/* (44) cmd ::= ALTER ALL DNODES NK_STRING */
-
5
,
/* (45) cmd ::= ALTER ALL DNODES NK_STRING NK_STRING */
-
1
,
/* (46) dnode_endpoint ::= NK_STRING */
-
1
,
/* (47) dnode_host_name ::= NK_ID */
-
1
,
/* (48) dnode_host_name ::= NK_IPTOKEN */
-
3
,
/* (49) cmd ::= ALTER LOCAL NK_STRING */
-
4
,
/* (50) cmd ::= ALTER LOCAL NK_STRING NK_STRING */
-
5
,
/* (51) cmd ::= CREATE QNODE ON DNODE NK_INTEGER */
-
5
,
/* (52) cmd ::= DROP QNODE ON DNODE NK_INTEGER */
-
5
,
/* (53) cmd ::= CREATE BNODE ON DNODE NK_INTEGER */
-
5
,
/* (54) cmd ::= DROP BNODE ON DNODE NK_INTEGER */
-
5
,
/* (55) cmd ::= CREATE SNODE ON DNODE NK_INTEGER */
-
5
,
/* (56) cmd ::= DROP SNODE ON DNODE NK_INTEGER */
-
5
,
/* (57) cmd ::= CREATE MNODE ON DNODE NK_INTEGER */
-
5
,
/* (58) cmd ::= DROP MNODE ON DNODE NK_INTEGER */
-
5
,
/* (59) cmd ::= CREATE DATABASE not_exists_opt db_name db_options */
-
4
,
/* (60) cmd ::= DROP DATABASE exists_opt db_name */
-
2
,
/* (61) cmd ::= USE db_name */
-
4
,
/* (62) cmd ::= ALTER DATABASE db_name alter_db_options */
-
3
,
/* (63) not_exists_opt ::= IF NOT EXISTS */
0
,
/* (64) not_exists_opt ::= */
-
2
,
/* (65) exists_opt ::= IF EXISTS */
0
,
/* (66) exists_opt ::= */
0
,
/* (67) db_options ::= */
-
3
,
/* (68) db_options ::= db_options BUFFER NK_INTEGER */
-
3
,
/* (69) db_options ::= db_options CACHELAST NK_INTEGER */
-
3
,
/* (70) db_options ::= db_options COMP NK_INTEGER */
-
3
,
/* (71) db_options ::= db_options DAYS NK_INTEGER */
-
3
,
/* (72) db_options ::= db_options DAYS NK_VARIABLE */
-
3
,
/* (73) db_options ::= db_options FSYNC NK_INTEGER */
-
3
,
/* (74) db_options ::= db_options MAXROWS NK_INTEGER */
-
3
,
/* (75) db_options ::= db_options MINROWS NK_INTEGER */
-
3
,
/* (76) db_options ::= db_options KEEP integer_list */
-
3
,
/* (77) db_options ::= db_options KEEP variable_list */
-
3
,
/* (78) db_options ::= db_options PAGES NK_INTEGER */
-
3
,
/* (79) db_options ::= db_options PAGESIZE NK_INTEGER */
-
3
,
/* (80) db_options ::= db_options PRECISION NK_STRING */
-
3
,
/* (81) db_options ::= db_options REPLICA NK_INTEGER */
-
3
,
/* (82) db_options ::= db_options STRICT NK_INTEGER */
-
3
,
/* (83) db_options ::= db_options WAL NK_INTEGER */
-
3
,
/* (84) db_options ::= db_options VGROUPS NK_INTEGER */
-
3
,
/* (85) db_options ::= db_options SINGLE_STABLE NK_INTEGER */
-
3
,
/* (86) db_options ::= db_options RETENTIONS retention_list */
-
3
,
/* (87) db_options ::= db_options SCHEMALESS NK_INTEGER */
-
1
,
/* (88) alter_db_options ::= alter_db_option */
-
2
,
/* (89) alter_db_options ::= alter_db_options alter_db_option */
-
2
,
/* (90) alter_db_option ::= BUFFER NK_INTEGER */
-
2
,
/* (91) alter_db_option ::= CACHELAST NK_INTEGER */
-
2
,
/* (92) alter_db_option ::= FSYNC NK_INTEGER */
-
2
,
/* (93) alter_db_option ::= KEEP integer_list */
-
2
,
/* (94) alter_db_option ::= KEEP variable_list */
-
2
,
/* (95) alter_db_option ::= PAGES NK_INTEGER */
-
2
,
/* (96) alter_db_option ::= REPLICA NK_INTEGER */
-
2
,
/* (97) alter_db_option ::= STRICT NK_INTEGER */
-
2
,
/* (98) alter_db_option ::= WAL NK_INTEGER */
-
1
,
/* (99) integer_list ::= NK_INTEGER */
-
3
,
/* (100) integer_list ::= integer_list NK_COMMA NK_INTEGER */
-
1
,
/* (101) variable_list ::= NK_VARIABLE */
-
3
,
/* (102) variable_list ::= variable_list NK_COMMA NK_VARIABLE */
-
1
,
/* (103) retention_list ::= retention */
-
3
,
/* (104) retention_list ::= retention_list NK_COMMA retention */
-
3
,
/* (105) retention ::= NK_VARIABLE NK_COLON NK_VARIABLE */
-
9
,
/* (106) cmd ::= CREATE TABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def_opt table_options */
-
3
,
/* (107) cmd ::= CREATE TABLE multi_create_clause */
-
9
,
/* (108) cmd ::= CREATE STABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def table_options */
-
3
,
/* (109) cmd ::= DROP TABLE multi_drop_clause */
-
4
,
/* (110) cmd ::= DROP STABLE exists_opt full_table_name */
-
3
,
/* (111) cmd ::= ALTER TABLE alter_table_clause */
-
3
,
/* (112) cmd ::= ALTER STABLE alter_table_clause */
-
2
,
/* (113) alter_table_clause ::= full_table_name alter_table_options */
-
5
,
/* (114) alter_table_clause ::= full_table_name ADD COLUMN column_name type_name */
-
4
,
/* (115) alter_table_clause ::= full_table_name DROP COLUMN column_name */
-
5
,
/* (116) alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */
-
5
,
/* (117) alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */
-
5
,
/* (118) alter_table_clause ::= full_table_name ADD TAG column_name type_name */
-
4
,
/* (119) alter_table_clause ::= full_table_name DROP TAG column_name */
-
5
,
/* (120) alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */
-
5
,
/* (121) alter_table_clause ::= full_table_name RENAME TAG column_name column_name */
-
6
,
/* (122) alter_table_clause ::= full_table_name SET TAG column_name NK_EQ signed_literal */
-
1
,
/* (123) multi_create_clause ::= create_subtable_clause */
-
2
,
/* (124) multi_create_clause ::= multi_create_clause create_subtable_clause */
-
10
,
/* (125) create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_tags_opt TAGS NK_LP literal_list NK_RP table_options */
-
1
,
/* (126) multi_drop_clause ::= drop_table_clause */
-
2
,
/* (127) multi_drop_clause ::= multi_drop_clause drop_table_clause */
-
2
,
/* (128) drop_table_clause ::= exists_opt full_table_name */
0
,
/* (129) specific_tags_opt ::= */
-
3
,
/* (130) specific_tags_opt ::= NK_LP col_name_list NK_RP */
-
1
,
/* (131) full_table_name ::= table_name */
-
3
,
/* (132) full_table_name ::= db_name NK_DOT table_name */
-
1
,
/* (133) column_def_list ::= column_def */
-
3
,
/* (134) column_def_list ::= column_def_list NK_COMMA column_def */
-
2
,
/* (135) column_def ::= column_name type_name */
-
4
,
/* (136) column_def ::= column_name type_name COMMENT NK_STRING */
-
1
,
/* (137) type_name ::= BOOL */
-
1
,
/* (138) type_name ::= TINYINT */
-
1
,
/* (139) type_name ::= SMALLINT */
-
1
,
/* (140) type_name ::= INT */
-
1
,
/* (141) type_name ::= INTEGER */
-
1
,
/* (142) type_name ::= BIGINT */
-
1
,
/* (143) type_name ::= FLOAT */
-
1
,
/* (144) type_name ::= DOUBLE */
-
4
,
/* (145) type_name ::= BINARY NK_LP NK_INTEGER NK_RP */
-
1
,
/* (146) type_name ::= TIMESTAMP */
-
4
,
/* (147) type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */
-
2
,
/* (148) type_name ::= TINYINT UNSIGNED */
-
2
,
/* (149) type_name ::= SMALLINT UNSIGNED */
-
2
,
/* (150) type_name ::= INT UNSIGNED */
-
2
,
/* (151) type_name ::= BIGINT UNSIGNED */
-
1
,
/* (152) type_name ::= JSON */
-
4
,
/* (153) type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */
-
1
,
/* (154) type_name ::= MEDIUMBLOB */
-
1
,
/* (155) type_name ::= BLOB */
-
4
,
/* (156) type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */
-
1
,
/* (157) type_name ::= DECIMAL */
-
4
,
/* (158) type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */
-
6
,
/* (159) type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */
0
,
/* (160) tags_def_opt ::= */
-
1
,
/* (161) tags_def_opt ::= tags_def */
-
4
,
/* (162) tags_def ::= TAGS NK_LP column_def_list NK_RP */
0
,
/* (163) table_options ::= */
-
3
,
/* (164) table_options ::= table_options COMMENT NK_STRING */
-
3
,
/* (165) table_options ::= table_options FILE_FACTOR NK_FLOAT */
-
5
,
/* (166) table_options ::= table_options ROLLUP NK_LP func_name_list NK_RP */
-
3
,
/* (167) table_options ::= table_options TTL NK_INTEGER */
-
5
,
/* (168) table_options ::= table_options SMA NK_LP col_name_list NK_RP */
-
1
,
/* (169) alter_table_options ::= alter_table_option */
-
2
,
/* (170) alter_table_options ::= alter_table_options alter_table_option */
-
2
,
/* (171) alter_table_option ::= COMMENT NK_STRING */
-
2
,
/* (172) alter_table_option ::= TTL NK_INTEGER */
-
1
,
/* (173) col_name_list ::= col_name */
-
3
,
/* (174) col_name_list ::= col_name_list NK_COMMA col_name */
-
1
,
/* (175) col_name ::= column_name */
-
2
,
/* (176) cmd ::= SHOW DNODES */
-
2
,
/* (177) cmd ::= SHOW USERS */
-
2
,
/* (178) cmd ::= SHOW DATABASES */
-
4
,
/* (179) cmd ::= SHOW db_name_cond_opt TABLES like_pattern_opt */
-
4
,
/* (180) cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */
-
3
,
/* (181) cmd ::= SHOW db_name_cond_opt VGROUPS */
-
2
,
/* (182) cmd ::= SHOW MNODES */
-
2
,
/* (183) cmd ::= SHOW MODULES */
-
2
,
/* (184) cmd ::= SHOW QNODES */
-
2
,
/* (185) cmd ::= SHOW FUNCTIONS */
-
5
,
/* (186) cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */
-
2
,
/* (187) cmd ::= SHOW STREAMS */
-
2
,
/* (188) cmd ::= SHOW ACCOUNTS */
-
2
,
/* (189) cmd ::= SHOW APPS */
-
2
,
/* (190) cmd ::= SHOW CONNECTIONS */
-
2
,
/* (191) cmd ::= SHOW LICENCE */
-
2
,
/* (192) cmd ::= SHOW GRANTS */
-
4
,
/* (193) cmd ::= SHOW CREATE DATABASE db_name */
-
4
,
/* (194) cmd ::= SHOW CREATE TABLE full_table_name */
-
4
,
/* (195) cmd ::= SHOW CREATE STABLE full_table_name */
-
2
,
/* (196) cmd ::= SHOW QUERIES */
-
2
,
/* (197) cmd ::= SHOW SCORES */
-
2
,
/* (198) cmd ::= SHOW TOPICS */
-
2
,
/* (199) cmd ::= SHOW VARIABLES */
-
2
,
/* (200) cmd ::= SHOW BNODES */
-
2
,
/* (201) cmd ::= SHOW SNODES */
-
2
,
/* (202) cmd ::= SHOW CLUSTER */
-
2
,
/* (203) cmd ::= SHOW TRANSACTIONS */
0
,
/* (204) db_name_cond_opt ::= */
-
2
,
/* (205) db_name_cond_opt ::= db_name NK_DOT */
0
,
/* (206) like_pattern_opt ::= */
-
2
,
/* (207) like_pattern_opt ::= LIKE NK_STRING */
-
1
,
/* (208) table_name_cond ::= table_name */
0
,
/* (209) from_db_opt ::= */
-
2
,
/* (210) from_db_opt ::= FROM db_name */
-
1
,
/* (211) func_name_list ::= func_name */
-
3
,
/* (212) func_name_list ::= func_name_list NK_COMMA func_name */
-
1
,
/* (213) func_name ::= function_name */
-
8
,
/* (214) cmd ::= CREATE SMA INDEX not_exists_opt index_name ON table_name index_options */
-
10
,
/* (215) cmd ::= CREATE FULLTEXT INDEX not_exists_opt index_name ON table_name NK_LP col_name_list NK_RP */
-
6
,
/* (216) cmd ::= DROP INDEX exists_opt index_name ON table_name */
0
,
/* (217) index_options ::= */
-
9
,
/* (218) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt */
-
11
,
/* (219) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt */
-
1
,
/* (220) func_list ::= func */
-
3
,
/* (221) func_list ::= func_list NK_COMMA func */
-
4
,
/* (222) func ::= function_name NK_LP expression_list NK_RP */
-
6
,
/* (223) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_expression */
-
7
,
/* (224) cmd ::= CREATE TOPIC not_exists_opt topic_name AS DATABASE db_name */
-
7
,
/* (225) cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name */
-
4
,
/* (226) cmd ::= DROP TOPIC exists_opt topic_name */
-
7
,
/* (227) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */
-
2
,
/* (228) cmd ::= DESC full_table_name */
-
2
,
/* (229) cmd ::= DESCRIBE full_table_name */
-
3
,
/* (230) cmd ::= RESET QUERY CACHE */
-
4
,
/* (231) cmd ::= EXPLAIN analyze_opt explain_options query_expression */
0
,
/* (232) analyze_opt ::= */
-
1
,
/* (233) analyze_opt ::= ANALYZE */
0
,
/* (234) explain_options ::= */
-
3
,
/* (235) explain_options ::= explain_options VERBOSE NK_BOOL */
-
3
,
/* (236) explain_options ::= explain_options RATIO NK_FLOAT */
-
6
,
/* (237) cmd ::= COMPACT VNODES IN NK_LP integer_list NK_RP */
-
10
,
/* (238) cmd ::= CREATE agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt */
-
4
,
/* (239) cmd ::= DROP FUNCTION exists_opt function_name */
0
,
/* (240) agg_func_opt ::= */
-
1
,
/* (241) agg_func_opt ::= AGGREGATE */
0
,
/* (242) bufsize_opt ::= */
-
2
,
/* (243) bufsize_opt ::= BUFSIZE NK_INTEGER */
-
8
,
/* (244) cmd ::= CREATE STREAM not_exists_opt stream_name stream_options into_opt AS query_expression */
-
4
,
/* (245) cmd ::= DROP STREAM exists_opt stream_name */
0
,
/* (246) into_opt ::= */
-
2
,
/* (247) into_opt ::= INTO full_table_name */
0
,
/* (248) stream_options ::= */
-
3
,
/* (249) stream_options ::= stream_options TRIGGER AT_ONCE */
-
3
,
/* (250) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */
-
3
,
/* (251) stream_options ::= stream_options WATERMARK duration_literal */
-
3
,
/* (252) cmd ::= KILL CONNECTION NK_INTEGER */
-
3
,
/* (253) cmd ::= KILL QUERY NK_INTEGER */
-
3
,
/* (254) cmd ::= KILL TRANSACTION NK_INTEGER */
-
4
,
/* (255) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */
-
4
,
/* (256) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */
-
3
,
/* (257) cmd ::= SPLIT VGROUP NK_INTEGER */
-
2
,
/* (258) dnode_list ::= DNODE NK_INTEGER */
-
3
,
/* (259) dnode_list ::= dnode_list DNODE NK_INTEGER */
-
3
,
/* (260) cmd ::= SYNCDB db_name REPLICA */
-
1
,
/* (261) cmd ::= query_expression */
-
1
,
/* (262) literal ::= NK_INTEGER */
-
1
,
/* (263) literal ::= NK_FLOAT */
-
1
,
/* (264) literal ::= NK_STRING */
-
1
,
/* (265) literal ::= NK_BOOL */
-
2
,
/* (266) literal ::= TIMESTAMP NK_STRING */
-
1
,
/* (267) literal ::= duration_literal */
-
1
,
/* (268) literal ::= NULL */
-
1
,
/* (269) literal ::= NK_QUESTION */
-
1
,
/* (270) duration_literal ::= NK_VARIABLE */
-
1
,
/* (271) signed ::= NK_INTEGER */
-
2
,
/* (272) signed ::= NK_PLUS NK_INTEGER */
-
2
,
/* (273) signed ::= NK_MINUS NK_INTEGER */
-
1
,
/* (274) signed ::= NK_FLOAT */
-
2
,
/* (275) signed ::= NK_PLUS NK_FLOAT */
-
2
,
/* (276) signed ::= NK_MINUS NK_FLOAT */
-
1
,
/* (277) signed_literal ::= signed */
-
1
,
/* (278) signed_literal ::= NK_STRING */
-
1
,
/* (279) signed_literal ::= NK_BOOL */
-
2
,
/* (280) signed_literal ::= TIMESTAMP NK_STRING */
-
1
,
/* (281) signed_literal ::= duration_literal */
-
1
,
/* (282) signed_literal ::= NULL */
-
1
,
/* (283) signed_literal ::= literal_func */
-
1
,
/* (284) literal_list ::= signed_literal */
-
3
,
/* (285) literal_list ::= literal_list NK_COMMA signed_literal */
-
1
,
/* (286) db_name ::= NK_ID */
-
1
,
/* (287) table_name ::= NK_ID */
-
1
,
/* (288) column_name ::= NK_ID */
-
1
,
/* (289) function_name ::= NK_ID */
-
1
,
/* (290) table_alias ::= NK_ID */
-
1
,
/* (291) column_alias ::= NK_ID */
-
1
,
/* (292) user_name ::= NK_ID */
-
1
,
/* (293) index_name ::= NK_ID */
-
1
,
/* (294) topic_name ::= NK_ID */
-
1
,
/* (295) stream_name ::= NK_ID */
-
1
,
/* (296) cgroup_name ::= NK_ID */
-
1
,
/* (297) expression ::= literal */
-
1
,
/* (298) expression ::= pseudo_column */
-
1
,
/* (299) expression ::= column_reference */
-
1
,
/* (300) expression ::= function_expression */
-
1
,
/* (301) expression ::= subquery */
-
3
,
/* (302) expression ::= NK_LP expression NK_RP */
-
2
,
/* (303) expression ::= NK_PLUS expression */
-
2
,
/* (304) expression ::= NK_MINUS expression */
-
3
,
/* (305) expression ::= expression NK_PLUS expression */
-
3
,
/* (306) expression ::= expression NK_MINUS expression */
-
3
,
/* (307) expression ::= expression NK_STAR expression */
-
3
,
/* (308) expression ::= expression NK_SLASH expression */
-
3
,
/* (309) expression ::= expression NK_REM expression */
-
3
,
/* (310) expression ::= column_reference NK_ARROW NK_STRING */
-
1
,
/* (311) expression_list ::= expression */
-
3
,
/* (312) expression_list ::= expression_list NK_COMMA expression */
-
1
,
/* (313) column_reference ::= column_name */
-
3
,
/* (314) column_reference ::= table_name NK_DOT column_name */
-
1
,
/* (315) pseudo_column ::= ROWTS */
-
1
,
/* (316) pseudo_column ::= TBNAME */
-
3
,
/* (317) pseudo_column ::= table_name NK_DOT TBNAME */
-
1
,
/* (318) pseudo_column ::= QSTARTTS */
-
1
,
/* (319) pseudo_column ::= QENDTS */
-
1
,
/* (320) pseudo_column ::= WSTARTTS */
-
1
,
/* (321) pseudo_column ::= WENDTS */
-
1
,
/* (322) pseudo_column ::= WDURATION */
-
4
,
/* (323) function_expression ::= function_name NK_LP expression_list NK_RP */
-
4
,
/* (324) function_expression ::= star_func NK_LP star_func_para_list NK_RP */
-
6
,
/* (325) function_expression ::= CAST NK_LP expression AS type_name NK_RP */
-
1
,
/* (326) function_expression ::= literal_func */
-
3
,
/* (327) literal_func ::= noarg_func NK_LP NK_RP */
-
1
,
/* (328) literal_func ::= NOW */
-
1
,
/* (329) noarg_func ::= NOW */
-
1
,
/* (330) noarg_func ::= TODAY */
-
1
,
/* (331) noarg_func ::= TIMEZONE */
-
1
,
/* (332) star_func ::= COUNT */
-
1
,
/* (333) star_func ::= FIRST */
-
1
,
/* (334) star_func ::= LAST */
-
1
,
/* (335) star_func ::= LAST_ROW */
-
1
,
/* (336) star_func_para_list ::= NK_STAR */
-
1
,
/* (337) star_func_para_list ::= other_para_list */
-
1
,
/* (338) other_para_list ::= star_func_para */
-
3
,
/* (339) other_para_list ::= other_para_list NK_COMMA star_func_para */
-
1
,
/* (340) star_func_para ::= expression */
-
3
,
/* (341) star_func_para ::= table_name NK_DOT NK_STAR */
-
3
,
/* (342) predicate ::= expression compare_op expression */
-
5
,
/* (343) predicate ::= expression BETWEEN expression AND expression */
-
6
,
/* (344) predicate ::= expression NOT BETWEEN expression AND expression */
-
3
,
/* (345) predicate ::= expression IS NULL */
-
4
,
/* (346) predicate ::= expression IS NOT NULL */
-
3
,
/* (347) predicate ::= expression in_op in_predicate_value */
-
1
,
/* (348) compare_op ::= NK_LT */
-
1
,
/* (349) compare_op ::= NK_GT */
-
1
,
/* (350) compare_op ::= NK_LE */
-
1
,
/* (351) compare_op ::= NK_GE */
-
1
,
/* (352) compare_op ::= NK_NE */
-
1
,
/* (353) compare_op ::= NK_EQ */
-
1
,
/* (354) compare_op ::= LIKE */
-
2
,
/* (355) compare_op ::= NOT LIKE */
-
1
,
/* (356) compare_op ::= MATCH */
-
1
,
/* (357) compare_op ::= NMATCH */
-
1
,
/* (358) compare_op ::= CONTAINS */
-
1
,
/* (359) in_op ::= IN */
-
2
,
/* (360) in_op ::= NOT IN */
-
3
,
/* (361) in_predicate_value ::= NK_LP expression_list NK_RP */
-
1
,
/* (362) boolean_value_expression ::= boolean_primary */
-
2
,
/* (363) boolean_value_expression ::= NOT boolean_primary */
-
3
,
/* (364) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */
-
3
,
/* (365) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */
-
1
,
/* (366) boolean_primary ::= predicate */
-
3
,
/* (367) boolean_primary ::= NK_LP boolean_value_expression NK_RP */
-
1
,
/* (368) common_expression ::= expression */
-
1
,
/* (369) common_expression ::= boolean_value_expression */
-
2
,
/* (370) from_clause ::= FROM table_reference_list */
-
1
,
/* (371) table_reference_list ::= table_reference */
-
3
,
/* (372) table_reference_list ::= table_reference_list NK_COMMA table_reference */
-
1
,
/* (373) table_reference ::= table_primary */
-
1
,
/* (374) table_reference ::= joined_table */
-
2
,
/* (375) table_primary ::= table_name alias_opt */
-
4
,
/* (376) table_primary ::= db_name NK_DOT table_name alias_opt */
-
2
,
/* (377) table_primary ::= subquery alias_opt */
-
1
,
/* (378) table_primary ::= parenthesized_joined_table */
0
,
/* (379) alias_opt ::= */
-
1
,
/* (380) alias_opt ::= table_alias */
-
2
,
/* (381) alias_opt ::= AS table_alias */
-
3
,
/* (382) parenthesized_joined_table ::= NK_LP joined_table NK_RP */
-
3
,
/* (383) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */
-
6
,
/* (384) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */
0
,
/* (385) join_type ::= */
-
1
,
/* (386) join_type ::= INNER */
-
9
,
/* (387) query_specification ::= SELECT set_quantifier_opt select_list from_clause where_clause_opt partition_by_clause_opt twindow_clause_opt group_by_clause_opt having_clause_opt */
0
,
/* (388) set_quantifier_opt ::= */
-
1
,
/* (389) set_quantifier_opt ::= DISTINCT */
-
1
,
/* (390) set_quantifier_opt ::= ALL */
-
1
,
/* (391) select_list ::= NK_STAR */
-
1
,
/* (392) select_list ::= select_sublist */
-
1
,
/* (393) select_sublist ::= select_item */
-
3
,
/* (394) select_sublist ::= select_sublist NK_COMMA select_item */
-
1
,
/* (395) select_item ::= common_expression */
-
2
,
/* (396) select_item ::= common_expression column_alias */
-
3
,
/* (397) select_item ::= common_expression AS column_alias */
-
3
,
/* (398) select_item ::= table_name NK_DOT NK_STAR */
0
,
/* (399) where_clause_opt ::= */
-
2
,
/* (400) where_clause_opt ::= WHERE search_condition */
0
,
/* (401) partition_by_clause_opt ::= */
-
3
,
/* (402) partition_by_clause_opt ::= PARTITION BY expression_list */
0
,
/* (403) twindow_clause_opt ::= */
-
6
,
/* (404) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */
-
4
,
/* (405) twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP */
-
6
,
/* (406) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */
-
8
,
/* (407) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */
0
,
/* (408) sliding_opt ::= */
-
4
,
/* (409) sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */
0
,
/* (410) fill_opt ::= */
-
4
,
/* (411) fill_opt ::= FILL NK_LP fill_mode NK_RP */
-
6
,
/* (412) fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */
-
1
,
/* (413) fill_mode ::= NONE */
-
1
,
/* (414) fill_mode ::= PREV */
-
1
,
/* (415) fill_mode ::= NULL */
-
1
,
/* (416) fill_mode ::= LINEAR */
-
1
,
/* (417) fill_mode ::= NEXT */
0
,
/* (418) group_by_clause_opt ::= */
-
3
,
/* (419) group_by_clause_opt ::= GROUP BY group_by_list */
-
1
,
/* (420) group_by_list ::= expression */
-
3
,
/* (421) group_by_list ::= group_by_list NK_COMMA expression */
0
,
/* (422) having_clause_opt ::= */
-
2
,
/* (423) having_clause_opt ::= HAVING search_condition */
-
4
,
/* (424) query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt */
-
1
,
/* (425) query_expression_body ::= query_primary */
-
4
,
/* (426) query_expression_body ::= query_expression_body UNION ALL query_expression_body */
-
3
,
/* (427) query_expression_body ::= query_expression_body UNION query_expression_body */
-
1
,
/* (428) query_primary ::= query_specification */
-
6
,
/* (429) query_primary ::= NK_LP query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt NK_RP */
0
,
/* (430) order_by_clause_opt ::= */
-
3
,
/* (431) order_by_clause_opt ::= ORDER BY sort_specification_list */
0
,
/* (432) slimit_clause_opt ::= */
-
2
,
/* (433) slimit_clause_opt ::= SLIMIT NK_INTEGER */
-
4
,
/* (434) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */
-
4
,
/* (435) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */
0
,
/* (436) limit_clause_opt ::= */
-
2
,
/* (437) limit_clause_opt ::= LIMIT NK_INTEGER */
-
4
,
/* (438) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */
-
4
,
/* (439) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */
-
3
,
/* (440) subquery ::= NK_LP query_expression NK_RP */
-
1
,
/* (441) search_condition ::= common_expression */
-
1
,
/* (442) sort_specification_list ::= sort_specification */
-
3
,
/* (443) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */
-
3
,
/* (444) sort_specification ::= expression ordering_specification_opt null_ordering_opt */
0
,
/* (445) ordering_specification_opt ::= */
-
1
,
/* (446) ordering_specification_opt ::= ASC */
-
1
,
/* (447) ordering_specification_opt ::= DESC */
0
,
/* (448) null_ordering_opt ::= */
-
2
,
/* (449) null_ordering_opt ::= NULLS FIRST */
-
2
,
/* (450) null_ordering_opt ::= NULLS LAST */
/* The following table contains information about every rule that
** is used during the reduce.
*/
static
const
struct
{
YYCODETYPE
lhs
;
/* Symbol on the left-hand side of the rule */
signed
char
nrhs
;
/* Negative of the number of RHS symbols in the rule */
}
yyRuleInfo
[]
=
{
{
237
,
-
6
},
/* (0) cmd ::= CREATE ACCOUNT NK_ID PASS NK_STRING account_options */
{
237
,
-
4
},
/* (1) cmd ::= ALTER ACCOUNT NK_ID alter_account_options */
{
238
,
0
},
/* (2) account_options ::= */
{
238
,
-
3
},
/* (3) account_options ::= account_options PPS literal */
{
238
,
-
3
},
/* (4) account_options ::= account_options TSERIES literal */
{
238
,
-
3
},
/* (5) account_options ::= account_options STORAGE literal */
{
238
,
-
3
},
/* (6) account_options ::= account_options STREAMS literal */
{
238
,
-
3
},
/* (7) account_options ::= account_options QTIME literal */
{
238
,
-
3
},
/* (8) account_options ::= account_options DBS literal */
{
238
,
-
3
},
/* (9) account_options ::= account_options USERS literal */
{
238
,
-
3
},
/* (10) account_options ::= account_options CONNS literal */
{
238
,
-
3
},
/* (11) account_options ::= account_options STATE literal */
{
239
,
-
1
},
/* (12) alter_account_options ::= alter_account_option */
{
239
,
-
2
},
/* (13) alter_account_options ::= alter_account_options alter_account_option */
{
241
,
-
2
},
/* (14) alter_account_option ::= PASS literal */
{
241
,
-
2
},
/* (15) alter_account_option ::= PPS literal */
{
241
,
-
2
},
/* (16) alter_account_option ::= TSERIES literal */
{
241
,
-
2
},
/* (17) alter_account_option ::= STORAGE literal */
{
241
,
-
2
},
/* (18) alter_account_option ::= STREAMS literal */
{
241
,
-
2
},
/* (19) alter_account_option ::= QTIME literal */
{
241
,
-
2
},
/* (20) alter_account_option ::= DBS literal */
{
241
,
-
2
},
/* (21) alter_account_option ::= USERS literal */
{
241
,
-
2
},
/* (22) alter_account_option ::= CONNS literal */
{
241
,
-
2
},
/* (23) alter_account_option ::= STATE literal */
{
237
,
-
5
},
/* (24) cmd ::= CREATE USER user_name PASS NK_STRING */
{
237
,
-
5
},
/* (25) cmd ::= ALTER USER user_name PASS NK_STRING */
{
237
,
-
5
},
/* (26) cmd ::= ALTER USER user_name PRIVILEGE NK_STRING */
{
237
,
-
3
},
/* (27) cmd ::= DROP USER user_name */
{
237
,
-
6
},
/* (28) cmd ::= GRANT privileges ON priv_level TO user_name */
{
237
,
-
6
},
/* (29) cmd ::= REVOKE privileges ON priv_level FROM user_name */
{
243
,
-
1
},
/* (30) privileges ::= ALL */
{
243
,
-
1
},
/* (31) privileges ::= priv_type_list */
{
245
,
-
1
},
/* (32) priv_type_list ::= priv_type */
{
245
,
-
3
},
/* (33) priv_type_list ::= priv_type_list NK_COMMA priv_type */
{
246
,
-
1
},
/* (34) priv_type ::= READ */
{
246
,
-
1
},
/* (35) priv_type ::= WRITE */
{
244
,
-
3
},
/* (36) priv_level ::= NK_STAR NK_DOT NK_STAR */
{
244
,
-
3
},
/* (37) priv_level ::= db_name NK_DOT NK_STAR */
{
237
,
-
3
},
/* (38) cmd ::= CREATE DNODE dnode_endpoint */
{
237
,
-
5
},
/* (39) cmd ::= CREATE DNODE dnode_host_name PORT NK_INTEGER */
{
237
,
-
3
},
/* (40) cmd ::= DROP DNODE NK_INTEGER */
{
237
,
-
3
},
/* (41) cmd ::= DROP DNODE dnode_endpoint */
{
237
,
-
4
},
/* (42) cmd ::= ALTER DNODE NK_INTEGER NK_STRING */
{
237
,
-
5
},
/* (43) cmd ::= ALTER DNODE NK_INTEGER NK_STRING NK_STRING */
{
237
,
-
4
},
/* (44) cmd ::= ALTER ALL DNODES NK_STRING */
{
237
,
-
5
},
/* (45) cmd ::= ALTER ALL DNODES NK_STRING NK_STRING */
{
248
,
-
1
},
/* (46) dnode_endpoint ::= NK_STRING */
{
249
,
-
1
},
/* (47) dnode_host_name ::= NK_ID */
{
249
,
-
1
},
/* (48) dnode_host_name ::= NK_IPTOKEN */
{
237
,
-
3
},
/* (49) cmd ::= ALTER LOCAL NK_STRING */
{
237
,
-
4
},
/* (50) cmd ::= ALTER LOCAL NK_STRING NK_STRING */
{
237
,
-
5
},
/* (51) cmd ::= CREATE QNODE ON DNODE NK_INTEGER */
{
237
,
-
5
},
/* (52) cmd ::= DROP QNODE ON DNODE NK_INTEGER */
{
237
,
-
5
},
/* (53) cmd ::= CREATE BNODE ON DNODE NK_INTEGER */
{
237
,
-
5
},
/* (54) cmd ::= DROP BNODE ON DNODE NK_INTEGER */
{
237
,
-
5
},
/* (55) cmd ::= CREATE SNODE ON DNODE NK_INTEGER */
{
237
,
-
5
},
/* (56) cmd ::= DROP SNODE ON DNODE NK_INTEGER */
{
237
,
-
5
},
/* (57) cmd ::= CREATE MNODE ON DNODE NK_INTEGER */
{
237
,
-
5
},
/* (58) cmd ::= DROP MNODE ON DNODE NK_INTEGER */
{
237
,
-
5
},
/* (59) cmd ::= CREATE DATABASE not_exists_opt db_name db_options */
{
237
,
-
4
},
/* (60) cmd ::= DROP DATABASE exists_opt db_name */
{
237
,
-
2
},
/* (61) cmd ::= USE db_name */
{
237
,
-
4
},
/* (62) cmd ::= ALTER DATABASE db_name alter_db_options */
{
250
,
-
3
},
/* (63) not_exists_opt ::= IF NOT EXISTS */
{
250
,
0
},
/* (64) not_exists_opt ::= */
{
252
,
-
2
},
/* (65) exists_opt ::= IF EXISTS */
{
252
,
0
},
/* (66) exists_opt ::= */
{
251
,
0
},
/* (67) db_options ::= */
{
251
,
-
3
},
/* (68) db_options ::= db_options BUFFER NK_INTEGER */
{
251
,
-
3
},
/* (69) db_options ::= db_options CACHELAST NK_INTEGER */
{
251
,
-
3
},
/* (70) db_options ::= db_options COMP NK_INTEGER */
{
251
,
-
3
},
/* (71) db_options ::= db_options DAYS NK_INTEGER */
{
251
,
-
3
},
/* (72) db_options ::= db_options DAYS NK_VARIABLE */
{
251
,
-
3
},
/* (73) db_options ::= db_options FSYNC NK_INTEGER */
{
251
,
-
3
},
/* (74) db_options ::= db_options MAXROWS NK_INTEGER */
{
251
,
-
3
},
/* (75) db_options ::= db_options MINROWS NK_INTEGER */
{
251
,
-
3
},
/* (76) db_options ::= db_options KEEP integer_list */
{
251
,
-
3
},
/* (77) db_options ::= db_options KEEP variable_list */
{
251
,
-
3
},
/* (78) db_options ::= db_options PAGES NK_INTEGER */
{
251
,
-
3
},
/* (79) db_options ::= db_options PAGESIZE NK_INTEGER */
{
251
,
-
3
},
/* (80) db_options ::= db_options PRECISION NK_STRING */
{
251
,
-
3
},
/* (81) db_options ::= db_options REPLICA NK_INTEGER */
{
251
,
-
3
},
/* (82) db_options ::= db_options STRICT NK_INTEGER */
{
251
,
-
3
},
/* (83) db_options ::= db_options WAL NK_INTEGER */
{
251
,
-
3
},
/* (84) db_options ::= db_options VGROUPS NK_INTEGER */
{
251
,
-
3
},
/* (85) db_options ::= db_options SINGLE_STABLE NK_INTEGER */
{
251
,
-
3
},
/* (86) db_options ::= db_options RETENTIONS retention_list */
{
251
,
-
3
},
/* (87) db_options ::= db_options SCHEMALESS NK_INTEGER */
{
253
,
-
1
},
/* (88) alter_db_options ::= alter_db_option */
{
253
,
-
2
},
/* (89) alter_db_options ::= alter_db_options alter_db_option */
{
257
,
-
2
},
/* (90) alter_db_option ::= BUFFER NK_INTEGER */
{
257
,
-
2
},
/* (91) alter_db_option ::= CACHELAST NK_INTEGER */
{
257
,
-
2
},
/* (92) alter_db_option ::= FSYNC NK_INTEGER */
{
257
,
-
2
},
/* (93) alter_db_option ::= KEEP integer_list */
{
257
,
-
2
},
/* (94) alter_db_option ::= KEEP variable_list */
{
257
,
-
2
},
/* (95) alter_db_option ::= PAGES NK_INTEGER */
{
257
,
-
2
},
/* (96) alter_db_option ::= REPLICA NK_INTEGER */
{
257
,
-
2
},
/* (97) alter_db_option ::= STRICT NK_INTEGER */
{
257
,
-
2
},
/* (98) alter_db_option ::= WAL NK_INTEGER */
{
254
,
-
1
},
/* (99) integer_list ::= NK_INTEGER */
{
254
,
-
3
},
/* (100) integer_list ::= integer_list NK_COMMA NK_INTEGER */
{
255
,
-
1
},
/* (101) variable_list ::= NK_VARIABLE */
{
255
,
-
3
},
/* (102) variable_list ::= variable_list NK_COMMA NK_VARIABLE */
{
256
,
-
1
},
/* (103) retention_list ::= retention */
{
256
,
-
3
},
/* (104) retention_list ::= retention_list NK_COMMA retention */
{
258
,
-
3
},
/* (105) retention ::= NK_VARIABLE NK_COLON NK_VARIABLE */
{
237
,
-
9
},
/* (106) cmd ::= CREATE TABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def_opt table_options */
{
237
,
-
3
},
/* (107) cmd ::= CREATE TABLE multi_create_clause */
{
237
,
-
9
},
/* (108) cmd ::= CREATE STABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def table_options */
{
237
,
-
3
},
/* (109) cmd ::= DROP TABLE multi_drop_clause */
{
237
,
-
4
},
/* (110) cmd ::= DROP STABLE exists_opt full_table_name */
{
237
,
-
3
},
/* (111) cmd ::= ALTER TABLE alter_table_clause */
{
237
,
-
3
},
/* (112) cmd ::= ALTER STABLE alter_table_clause */
{
266
,
-
2
},
/* (113) alter_table_clause ::= full_table_name alter_table_options */
{
266
,
-
5
},
/* (114) alter_table_clause ::= full_table_name ADD COLUMN column_name type_name */
{
266
,
-
4
},
/* (115) alter_table_clause ::= full_table_name DROP COLUMN column_name */
{
266
,
-
5
},
/* (116) alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */
{
266
,
-
5
},
/* (117) alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */
{
266
,
-
5
},
/* (118) alter_table_clause ::= full_table_name ADD TAG column_name type_name */
{
266
,
-
4
},
/* (119) alter_table_clause ::= full_table_name DROP TAG column_name */
{
266
,
-
5
},
/* (120) alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */
{
266
,
-
5
},
/* (121) alter_table_clause ::= full_table_name RENAME TAG column_name column_name */
{
266
,
-
6
},
/* (122) alter_table_clause ::= full_table_name SET TAG column_name NK_EQ signed_literal */
{
263
,
-
1
},
/* (123) multi_create_clause ::= create_subtable_clause */
{
263
,
-
2
},
/* (124) multi_create_clause ::= multi_create_clause create_subtable_clause */
{
271
,
-
10
},
/* (125) create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_tags_opt TAGS NK_LP literal_list NK_RP table_options */
{
265
,
-
1
},
/* (126) multi_drop_clause ::= drop_table_clause */
{
265
,
-
2
},
/* (127) multi_drop_clause ::= multi_drop_clause drop_table_clause */
{
274
,
-
2
},
/* (128) drop_table_clause ::= exists_opt full_table_name */
{
272
,
0
},
/* (129) specific_tags_opt ::= */
{
272
,
-
3
},
/* (130) specific_tags_opt ::= NK_LP col_name_list NK_RP */
{
259
,
-
1
},
/* (131) full_table_name ::= table_name */
{
259
,
-
3
},
/* (132) full_table_name ::= db_name NK_DOT table_name */
{
260
,
-
1
},
/* (133) column_def_list ::= column_def */
{
260
,
-
3
},
/* (134) column_def_list ::= column_def_list NK_COMMA column_def */
{
277
,
-
2
},
/* (135) column_def ::= column_name type_name */
{
277
,
-
4
},
/* (136) column_def ::= column_name type_name COMMENT NK_STRING */
{
269
,
-
1
},
/* (137) type_name ::= BOOL */
{
269
,
-
1
},
/* (138) type_name ::= TINYINT */
{
269
,
-
1
},
/* (139) type_name ::= SMALLINT */
{
269
,
-
1
},
/* (140) type_name ::= INT */
{
269
,
-
1
},
/* (141) type_name ::= INTEGER */
{
269
,
-
1
},
/* (142) type_name ::= BIGINT */
{
269
,
-
1
},
/* (143) type_name ::= FLOAT */
{
269
,
-
1
},
/* (144) type_name ::= DOUBLE */
{
269
,
-
4
},
/* (145) type_name ::= BINARY NK_LP NK_INTEGER NK_RP */
{
269
,
-
1
},
/* (146) type_name ::= TIMESTAMP */
{
269
,
-
4
},
/* (147) type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */
{
269
,
-
2
},
/* (148) type_name ::= TINYINT UNSIGNED */
{
269
,
-
2
},
/* (149) type_name ::= SMALLINT UNSIGNED */
{
269
,
-
2
},
/* (150) type_name ::= INT UNSIGNED */
{
269
,
-
2
},
/* (151) type_name ::= BIGINT UNSIGNED */
{
269
,
-
1
},
/* (152) type_name ::= JSON */
{
269
,
-
4
},
/* (153) type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */
{
269
,
-
1
},
/* (154) type_name ::= MEDIUMBLOB */
{
269
,
-
1
},
/* (155) type_name ::= BLOB */
{
269
,
-
4
},
/* (156) type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */
{
269
,
-
1
},
/* (157) type_name ::= DECIMAL */
{
269
,
-
4
},
/* (158) type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */
{
269
,
-
6
},
/* (159) type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */
{
261
,
0
},
/* (160) tags_def_opt ::= */
{
261
,
-
1
},
/* (161) tags_def_opt ::= tags_def */
{
264
,
-
4
},
/* (162) tags_def ::= TAGS NK_LP column_def_list NK_RP */
{
262
,
0
},
/* (163) table_options ::= */
{
262
,
-
3
},
/* (164) table_options ::= table_options COMMENT NK_STRING */
{
262
,
-
3
},
/* (165) table_options ::= table_options FILE_FACTOR NK_FLOAT */
{
262
,
-
5
},
/* (166) table_options ::= table_options ROLLUP NK_LP func_name_list NK_RP */
{
262
,
-
3
},
/* (167) table_options ::= table_options TTL NK_INTEGER */
{
262
,
-
5
},
/* (168) table_options ::= table_options SMA NK_LP col_name_list NK_RP */
{
267
,
-
1
},
/* (169) alter_table_options ::= alter_table_option */
{
267
,
-
2
},
/* (170) alter_table_options ::= alter_table_options alter_table_option */
{
279
,
-
2
},
/* (171) alter_table_option ::= COMMENT NK_STRING */
{
279
,
-
2
},
/* (172) alter_table_option ::= TTL NK_INTEGER */
{
275
,
-
1
},
/* (173) col_name_list ::= col_name */
{
275
,
-
3
},
/* (174) col_name_list ::= col_name_list NK_COMMA col_name */
{
280
,
-
1
},
/* (175) col_name ::= column_name */
{
237
,
-
2
},
/* (176) cmd ::= SHOW DNODES */
{
237
,
-
2
},
/* (177) cmd ::= SHOW USERS */
{
237
,
-
2
},
/* (178) cmd ::= SHOW DATABASES */
{
237
,
-
4
},
/* (179) cmd ::= SHOW db_name_cond_opt TABLES like_pattern_opt */
{
237
,
-
4
},
/* (180) cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */
{
237
,
-
3
},
/* (181) cmd ::= SHOW db_name_cond_opt VGROUPS */
{
237
,
-
2
},
/* (182) cmd ::= SHOW MNODES */
{
237
,
-
2
},
/* (183) cmd ::= SHOW MODULES */
{
237
,
-
2
},
/* (184) cmd ::= SHOW QNODES */
{
237
,
-
2
},
/* (185) cmd ::= SHOW FUNCTIONS */
{
237
,
-
5
},
/* (186) cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */
{
237
,
-
2
},
/* (187) cmd ::= SHOW STREAMS */
{
237
,
-
2
},
/* (188) cmd ::= SHOW ACCOUNTS */
{
237
,
-
2
},
/* (189) cmd ::= SHOW APPS */
{
237
,
-
2
},
/* (190) cmd ::= SHOW CONNECTIONS */
{
237
,
-
2
},
/* (191) cmd ::= SHOW LICENCE */
{
237
,
-
2
},
/* (192) cmd ::= SHOW GRANTS */
{
237
,
-
4
},
/* (193) cmd ::= SHOW CREATE DATABASE db_name */
{
237
,
-
4
},
/* (194) cmd ::= SHOW CREATE TABLE full_table_name */
{
237
,
-
4
},
/* (195) cmd ::= SHOW CREATE STABLE full_table_name */
{
237
,
-
2
},
/* (196) cmd ::= SHOW QUERIES */
{
237
,
-
2
},
/* (197) cmd ::= SHOW SCORES */
{
237
,
-
2
},
/* (198) cmd ::= SHOW TOPICS */
{
237
,
-
2
},
/* (199) cmd ::= SHOW VARIABLES */
{
237
,
-
2
},
/* (200) cmd ::= SHOW BNODES */
{
237
,
-
2
},
/* (201) cmd ::= SHOW SNODES */
{
237
,
-
2
},
/* (202) cmd ::= SHOW CLUSTER */
{
237
,
-
2
},
/* (203) cmd ::= SHOW TRANSACTIONS */
{
281
,
0
},
/* (204) db_name_cond_opt ::= */
{
281
,
-
2
},
/* (205) db_name_cond_opt ::= db_name NK_DOT */
{
282
,
0
},
/* (206) like_pattern_opt ::= */
{
282
,
-
2
},
/* (207) like_pattern_opt ::= LIKE NK_STRING */
{
283
,
-
1
},
/* (208) table_name_cond ::= table_name */
{
284
,
0
},
/* (209) from_db_opt ::= */
{
284
,
-
2
},
/* (210) from_db_opt ::= FROM db_name */
{
278
,
-
1
},
/* (211) func_name_list ::= func_name */
{
278
,
-
3
},
/* (212) func_name_list ::= func_name_list NK_COMMA func_name */
{
285
,
-
1
},
/* (213) func_name ::= function_name */
{
237
,
-
8
},
/* (214) cmd ::= CREATE SMA INDEX not_exists_opt index_name ON table_name index_options */
{
237
,
-
10
},
/* (215) cmd ::= CREATE FULLTEXT INDEX not_exists_opt index_name ON table_name NK_LP col_name_list NK_RP */
{
237
,
-
6
},
/* (216) cmd ::= DROP INDEX exists_opt index_name ON table_name */
{
288
,
0
},
/* (217) index_options ::= */
{
288
,
-
9
},
/* (218) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt */
{
288
,
-
11
},
/* (219) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt */
{
289
,
-
1
},
/* (220) func_list ::= func */
{
289
,
-
3
},
/* (221) func_list ::= func_list NK_COMMA func */
{
292
,
-
4
},
/* (222) func ::= function_name NK_LP expression_list NK_RP */
{
237
,
-
6
},
/* (223) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_expression */
{
237
,
-
7
},
/* (224) cmd ::= CREATE TOPIC not_exists_opt topic_name AS DATABASE db_name */
{
237
,
-
7
},
/* (225) cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name */
{
237
,
-
4
},
/* (226) cmd ::= DROP TOPIC exists_opt topic_name */
{
237
,
-
7
},
/* (227) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */
{
237
,
-
2
},
/* (228) cmd ::= DESC full_table_name */
{
237
,
-
2
},
/* (229) cmd ::= DESCRIBE full_table_name */
{
237
,
-
3
},
/* (230) cmd ::= RESET QUERY CACHE */
{
237
,
-
4
},
/* (231) cmd ::= EXPLAIN analyze_opt explain_options query_expression */
{
297
,
0
},
/* (232) analyze_opt ::= */
{
297
,
-
1
},
/* (233) analyze_opt ::= ANALYZE */
{
298
,
0
},
/* (234) explain_options ::= */
{
298
,
-
3
},
/* (235) explain_options ::= explain_options VERBOSE NK_BOOL */
{
298
,
-
3
},
/* (236) explain_options ::= explain_options RATIO NK_FLOAT */
{
237
,
-
6
},
/* (237) cmd ::= COMPACT VNODES IN NK_LP integer_list NK_RP */
{
237
,
-
10
},
/* (238) cmd ::= CREATE agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt */
{
237
,
-
4
},
/* (239) cmd ::= DROP FUNCTION exists_opt function_name */
{
299
,
0
},
/* (240) agg_func_opt ::= */
{
299
,
-
1
},
/* (241) agg_func_opt ::= AGGREGATE */
{
300
,
0
},
/* (242) bufsize_opt ::= */
{
300
,
-
2
},
/* (243) bufsize_opt ::= BUFSIZE NK_INTEGER */
{
237
,
-
8
},
/* (244) cmd ::= CREATE STREAM not_exists_opt stream_name stream_options into_opt AS query_expression */
{
237
,
-
4
},
/* (245) cmd ::= DROP STREAM exists_opt stream_name */
{
303
,
0
},
/* (246) into_opt ::= */
{
303
,
-
2
},
/* (247) into_opt ::= INTO full_table_name */
{
302
,
0
},
/* (248) stream_options ::= */
{
302
,
-
3
},
/* (249) stream_options ::= stream_options TRIGGER AT_ONCE */
{
302
,
-
3
},
/* (250) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */
{
302
,
-
3
},
/* (251) stream_options ::= stream_options WATERMARK duration_literal */
{
237
,
-
3
},
/* (252) cmd ::= KILL CONNECTION NK_INTEGER */
{
237
,
-
3
},
/* (253) cmd ::= KILL QUERY NK_INTEGER */
{
237
,
-
3
},
/* (254) cmd ::= KILL TRANSACTION NK_INTEGER */
{
237
,
-
4
},
/* (255) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */
{
237
,
-
4
},
/* (256) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */
{
237
,
-
3
},
/* (257) cmd ::= SPLIT VGROUP NK_INTEGER */
{
304
,
-
2
},
/* (258) dnode_list ::= DNODE NK_INTEGER */
{
304
,
-
3
},
/* (259) dnode_list ::= dnode_list DNODE NK_INTEGER */
{
237
,
-
3
},
/* (260) cmd ::= SYNCDB db_name REPLICA */
{
237
,
-
1
},
/* (261) cmd ::= query_expression */
{
240
,
-
1
},
/* (262) literal ::= NK_INTEGER */
{
240
,
-
1
},
/* (263) literal ::= NK_FLOAT */
{
240
,
-
1
},
/* (264) literal ::= NK_STRING */
{
240
,
-
1
},
/* (265) literal ::= NK_BOOL */
{
240
,
-
2
},
/* (266) literal ::= TIMESTAMP NK_STRING */
{
240
,
-
1
},
/* (267) literal ::= duration_literal */
{
240
,
-
1
},
/* (268) literal ::= NULL */
{
240
,
-
1
},
/* (269) literal ::= NK_QUESTION */
{
290
,
-
1
},
/* (270) duration_literal ::= NK_VARIABLE */
{
305
,
-
1
},
/* (271) signed ::= NK_INTEGER */
{
305
,
-
2
},
/* (272) signed ::= NK_PLUS NK_INTEGER */
{
305
,
-
2
},
/* (273) signed ::= NK_MINUS NK_INTEGER */
{
305
,
-
1
},
/* (274) signed ::= NK_FLOAT */
{
305
,
-
2
},
/* (275) signed ::= NK_PLUS NK_FLOAT */
{
305
,
-
2
},
/* (276) signed ::= NK_MINUS NK_FLOAT */
{
270
,
-
1
},
/* (277) signed_literal ::= signed */
{
270
,
-
1
},
/* (278) signed_literal ::= NK_STRING */
{
270
,
-
1
},
/* (279) signed_literal ::= NK_BOOL */
{
270
,
-
2
},
/* (280) signed_literal ::= TIMESTAMP NK_STRING */
{
270
,
-
1
},
/* (281) signed_literal ::= duration_literal */
{
270
,
-
1
},
/* (282) signed_literal ::= NULL */
{
270
,
-
1
},
/* (283) signed_literal ::= literal_func */
{
273
,
-
1
},
/* (284) literal_list ::= signed_literal */
{
273
,
-
3
},
/* (285) literal_list ::= literal_list NK_COMMA signed_literal */
{
247
,
-
1
},
/* (286) db_name ::= NK_ID */
{
276
,
-
1
},
/* (287) table_name ::= NK_ID */
{
268
,
-
1
},
/* (288) column_name ::= NK_ID */
{
286
,
-
1
},
/* (289) function_name ::= NK_ID */
{
307
,
-
1
},
/* (290) table_alias ::= NK_ID */
{
308
,
-
1
},
/* (291) column_alias ::= NK_ID */
{
242
,
-
1
},
/* (292) user_name ::= NK_ID */
{
287
,
-
1
},
/* (293) index_name ::= NK_ID */
{
294
,
-
1
},
/* (294) topic_name ::= NK_ID */
{
301
,
-
1
},
/* (295) stream_name ::= NK_ID */
{
296
,
-
1
},
/* (296) cgroup_name ::= NK_ID */
{
309
,
-
1
},
/* (297) expression ::= literal */
{
309
,
-
1
},
/* (298) expression ::= pseudo_column */
{
309
,
-
1
},
/* (299) expression ::= column_reference */
{
309
,
-
1
},
/* (300) expression ::= function_expression */
{
309
,
-
1
},
/* (301) expression ::= subquery */
{
309
,
-
3
},
/* (302) expression ::= NK_LP expression NK_RP */
{
309
,
-
2
},
/* (303) expression ::= NK_PLUS expression */
{
309
,
-
2
},
/* (304) expression ::= NK_MINUS expression */
{
309
,
-
3
},
/* (305) expression ::= expression NK_PLUS expression */
{
309
,
-
3
},
/* (306) expression ::= expression NK_MINUS expression */
{
309
,
-
3
},
/* (307) expression ::= expression NK_STAR expression */
{
309
,
-
3
},
/* (308) expression ::= expression NK_SLASH expression */
{
309
,
-
3
},
/* (309) expression ::= expression NK_REM expression */
{
309
,
-
3
},
/* (310) expression ::= column_reference NK_ARROW NK_STRING */
{
293
,
-
1
},
/* (311) expression_list ::= expression */
{
293
,
-
3
},
/* (312) expression_list ::= expression_list NK_COMMA expression */
{
311
,
-
1
},
/* (313) column_reference ::= column_name */
{
311
,
-
3
},
/* (314) column_reference ::= table_name NK_DOT column_name */
{
310
,
-
1
},
/* (315) pseudo_column ::= ROWTS */
{
310
,
-
1
},
/* (316) pseudo_column ::= TBNAME */
{
310
,
-
3
},
/* (317) pseudo_column ::= table_name NK_DOT TBNAME */
{
310
,
-
1
},
/* (318) pseudo_column ::= QSTARTTS */
{
310
,
-
1
},
/* (319) pseudo_column ::= QENDTS */
{
310
,
-
1
},
/* (320) pseudo_column ::= WSTARTTS */
{
310
,
-
1
},
/* (321) pseudo_column ::= WENDTS */
{
310
,
-
1
},
/* (322) pseudo_column ::= WDURATION */
{
312
,
-
4
},
/* (323) function_expression ::= function_name NK_LP expression_list NK_RP */
{
312
,
-
4
},
/* (324) function_expression ::= star_func NK_LP star_func_para_list NK_RP */
{
312
,
-
6
},
/* (325) function_expression ::= CAST NK_LP expression AS type_name NK_RP */
{
312
,
-
1
},
/* (326) function_expression ::= literal_func */
{
306
,
-
3
},
/* (327) literal_func ::= noarg_func NK_LP NK_RP */
{
306
,
-
1
},
/* (328) literal_func ::= NOW */
{
316
,
-
1
},
/* (329) noarg_func ::= NOW */
{
316
,
-
1
},
/* (330) noarg_func ::= TODAY */
{
316
,
-
1
},
/* (331) noarg_func ::= TIMEZONE */
{
314
,
-
1
},
/* (332) star_func ::= COUNT */
{
314
,
-
1
},
/* (333) star_func ::= FIRST */
{
314
,
-
1
},
/* (334) star_func ::= LAST */
{
314
,
-
1
},
/* (335) star_func ::= LAST_ROW */
{
315
,
-
1
},
/* (336) star_func_para_list ::= NK_STAR */
{
315
,
-
1
},
/* (337) star_func_para_list ::= other_para_list */
{
317
,
-
1
},
/* (338) other_para_list ::= star_func_para */
{
317
,
-
3
},
/* (339) other_para_list ::= other_para_list NK_COMMA star_func_para */
{
318
,
-
1
},
/* (340) star_func_para ::= expression */
{
318
,
-
3
},
/* (341) star_func_para ::= table_name NK_DOT NK_STAR */
{
319
,
-
3
},
/* (342) predicate ::= expression compare_op expression */
{
319
,
-
5
},
/* (343) predicate ::= expression BETWEEN expression AND expression */
{
319
,
-
6
},
/* (344) predicate ::= expression NOT BETWEEN expression AND expression */
{
319
,
-
3
},
/* (345) predicate ::= expression IS NULL */
{
319
,
-
4
},
/* (346) predicate ::= expression IS NOT NULL */
{
319
,
-
3
},
/* (347) predicate ::= expression in_op in_predicate_value */
{
320
,
-
1
},
/* (348) compare_op ::= NK_LT */
{
320
,
-
1
},
/* (349) compare_op ::= NK_GT */
{
320
,
-
1
},
/* (350) compare_op ::= NK_LE */
{
320
,
-
1
},
/* (351) compare_op ::= NK_GE */
{
320
,
-
1
},
/* (352) compare_op ::= NK_NE */
{
320
,
-
1
},
/* (353) compare_op ::= NK_EQ */
{
320
,
-
1
},
/* (354) compare_op ::= LIKE */
{
320
,
-
2
},
/* (355) compare_op ::= NOT LIKE */
{
320
,
-
1
},
/* (356) compare_op ::= MATCH */
{
320
,
-
1
},
/* (357) compare_op ::= NMATCH */
{
320
,
-
1
},
/* (358) compare_op ::= CONTAINS */
{
321
,
-
1
},
/* (359) in_op ::= IN */
{
321
,
-
2
},
/* (360) in_op ::= NOT IN */
{
322
,
-
3
},
/* (361) in_predicate_value ::= NK_LP expression_list NK_RP */
{
323
,
-
1
},
/* (362) boolean_value_expression ::= boolean_primary */
{
323
,
-
2
},
/* (363) boolean_value_expression ::= NOT boolean_primary */
{
323
,
-
3
},
/* (364) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */
{
323
,
-
3
},
/* (365) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */
{
324
,
-
1
},
/* (366) boolean_primary ::= predicate */
{
324
,
-
3
},
/* (367) boolean_primary ::= NK_LP boolean_value_expression NK_RP */
{
325
,
-
1
},
/* (368) common_expression ::= expression */
{
325
,
-
1
},
/* (369) common_expression ::= boolean_value_expression */
{
326
,
-
2
},
/* (370) from_clause ::= FROM table_reference_list */
{
327
,
-
1
},
/* (371) table_reference_list ::= table_reference */
{
327
,
-
3
},
/* (372) table_reference_list ::= table_reference_list NK_COMMA table_reference */
{
328
,
-
1
},
/* (373) table_reference ::= table_primary */
{
328
,
-
1
},
/* (374) table_reference ::= joined_table */
{
329
,
-
2
},
/* (375) table_primary ::= table_name alias_opt */
{
329
,
-
4
},
/* (376) table_primary ::= db_name NK_DOT table_name alias_opt */
{
329
,
-
2
},
/* (377) table_primary ::= subquery alias_opt */
{
329
,
-
1
},
/* (378) table_primary ::= parenthesized_joined_table */
{
331
,
0
},
/* (379) alias_opt ::= */
{
331
,
-
1
},
/* (380) alias_opt ::= table_alias */
{
331
,
-
2
},
/* (381) alias_opt ::= AS table_alias */
{
332
,
-
3
},
/* (382) parenthesized_joined_table ::= NK_LP joined_table NK_RP */
{
332
,
-
3
},
/* (383) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */
{
330
,
-
6
},
/* (384) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */
{
333
,
0
},
/* (385) join_type ::= */
{
333
,
-
1
},
/* (386) join_type ::= INNER */
{
335
,
-
9
},
/* (387) 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 */
{
336
,
0
},
/* (388) set_quantifier_opt ::= */
{
336
,
-
1
},
/* (389) set_quantifier_opt ::= DISTINCT */
{
336
,
-
1
},
/* (390) set_quantifier_opt ::= ALL */
{
337
,
-
1
},
/* (391) select_list ::= NK_STAR */
{
337
,
-
1
},
/* (392) select_list ::= select_sublist */
{
343
,
-
1
},
/* (393) select_sublist ::= select_item */
{
343
,
-
3
},
/* (394) select_sublist ::= select_sublist NK_COMMA select_item */
{
344
,
-
1
},
/* (395) select_item ::= common_expression */
{
344
,
-
2
},
/* (396) select_item ::= common_expression column_alias */
{
344
,
-
3
},
/* (397) select_item ::= common_expression AS column_alias */
{
344
,
-
3
},
/* (398) select_item ::= table_name NK_DOT NK_STAR */
{
338
,
0
},
/* (399) where_clause_opt ::= */
{
338
,
-
2
},
/* (400) where_clause_opt ::= WHERE search_condition */
{
339
,
0
},
/* (401) partition_by_clause_opt ::= */
{
339
,
-
3
},
/* (402) partition_by_clause_opt ::= PARTITION BY expression_list */
{
340
,
0
},
/* (403) twindow_clause_opt ::= */
{
340
,
-
6
},
/* (404) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */
{
340
,
-
4
},
/* (405) twindow_clause_opt ::= STATE_WINDOW NK_LP expression NK_RP */
{
340
,
-
6
},
/* (406) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */
{
340
,
-
8
},
/* (407) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */
{
291
,
0
},
/* (408) sliding_opt ::= */
{
291
,
-
4
},
/* (409) sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */
{
345
,
0
},
/* (410) fill_opt ::= */
{
345
,
-
4
},
/* (411) fill_opt ::= FILL NK_LP fill_mode NK_RP */
{
345
,
-
6
},
/* (412) fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */
{
346
,
-
1
},
/* (413) fill_mode ::= NONE */
{
346
,
-
1
},
/* (414) fill_mode ::= PREV */
{
346
,
-
1
},
/* (415) fill_mode ::= NULL */
{
346
,
-
1
},
/* (416) fill_mode ::= LINEAR */
{
346
,
-
1
},
/* (417) fill_mode ::= NEXT */
{
341
,
0
},
/* (418) group_by_clause_opt ::= */
{
341
,
-
3
},
/* (419) group_by_clause_opt ::= GROUP BY group_by_list */
{
347
,
-
1
},
/* (420) group_by_list ::= expression */
{
347
,
-
3
},
/* (421) group_by_list ::= group_by_list NK_COMMA expression */
{
342
,
0
},
/* (422) having_clause_opt ::= */
{
342
,
-
2
},
/* (423) having_clause_opt ::= HAVING search_condition */
{
295
,
-
4
},
/* (424) query_expression ::= query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt */
{
348
,
-
1
},
/* (425) query_expression_body ::= query_primary */
{
348
,
-
4
},
/* (426) query_expression_body ::= query_expression_body UNION ALL query_expression_body */
{
348
,
-
3
},
/* (427) query_expression_body ::= query_expression_body UNION query_expression_body */
{
352
,
-
1
},
/* (428) query_primary ::= query_specification */
{
352
,
-
6
},
/* (429) query_primary ::= NK_LP query_expression_body order_by_clause_opt slimit_clause_opt limit_clause_opt NK_RP */
{
349
,
0
},
/* (430) order_by_clause_opt ::= */
{
349
,
-
3
},
/* (431) order_by_clause_opt ::= ORDER BY sort_specification_list */
{
350
,
0
},
/* (432) slimit_clause_opt ::= */
{
350
,
-
2
},
/* (433) slimit_clause_opt ::= SLIMIT NK_INTEGER */
{
350
,
-
4
},
/* (434) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */
{
350
,
-
4
},
/* (435) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */
{
351
,
0
},
/* (436) limit_clause_opt ::= */
{
351
,
-
2
},
/* (437) limit_clause_opt ::= LIMIT NK_INTEGER */
{
351
,
-
4
},
/* (438) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */
{
351
,
-
4
},
/* (439) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */
{
313
,
-
3
},
/* (440) subquery ::= NK_LP query_expression NK_RP */
{
334
,
-
1
},
/* (441) search_condition ::= common_expression */
{
353
,
-
1
},
/* (442) sort_specification_list ::= sort_specification */
{
353
,
-
3
},
/* (443) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */
{
354
,
-
3
},
/* (444) sort_specification ::= expression ordering_specification_opt null_ordering_opt */
{
355
,
0
},
/* (445) ordering_specification_opt ::= */
{
355
,
-
1
},
/* (446) ordering_specification_opt ::= ASC */
{
355
,
-
1
},
/* (447) ordering_specification_opt ::= DESC */
{
356
,
0
},
/* (448) null_ordering_opt ::= */
{
356
,
-
2
},
/* (449) null_ordering_opt ::= NULLS FIRST */
{
356
,
-
2
},
/* (450) null_ordering_opt ::= NULLS LAST */
};
static
void
yy_accept
(
yyParser
*
);
/* Forward Declaration */
...
...
@@ -3742,6 +3033,51 @@ static YYACTIONTYPE yy_reduce(
(
void
)
yyLookahead
;
(
void
)
yyLookaheadToken
;
yymsp
=
yypParser
->
yytos
;
#ifndef NDEBUG
if
(
yyTraceFILE
&&
yyruleno
<
(
int
)(
sizeof
(
yyRuleName
)
/
sizeof
(
yyRuleName
[
0
]))
){
yysize
=
yyRuleInfo
[
yyruleno
].
nrhs
;
if
(
yysize
){
fprintf
(
yyTraceFILE
,
"%sReduce %d [%s], go to state %d.
\n
"
,
yyTracePrompt
,
yyruleno
,
yyRuleName
[
yyruleno
],
yymsp
[
yysize
].
stateno
);
}
else
{
fprintf
(
yyTraceFILE
,
"%sReduce %d [%s].
\n
"
,
yyTracePrompt
,
yyruleno
,
yyRuleName
[
yyruleno
]);
}
}
#endif
/* NDEBUG */
/* Check that the stack is large enough to grow by a single entry
** if the RHS of the rule is empty. This ensures that there is room
** enough on the stack to push the LHS value */
if
(
yyRuleInfo
[
yyruleno
].
nrhs
==
0
){
#ifdef YYTRACKMAXSTACKDEPTH
if
(
(
int
)(
yypParser
->
yytos
-
yypParser
->
yystack
)
>
yypParser
->
yyhwm
){
yypParser
->
yyhwm
++
;
assert
(
yypParser
->
yyhwm
==
(
int
)(
yypParser
->
yytos
-
yypParser
->
yystack
));
}
#endif
#if YYSTACKDEPTH>0
if
(
yypParser
->
yytos
>=
yypParser
->
yystackEnd
){
yyStackOverflow
(
yypParser
);
/* The call to yyStackOverflow() above pops the stack until it is
** empty, causing the main parser loop to exit. So the return value
** is never used and does not matter. */
return
0
;
}
#else
if
(
yypParser
->
yytos
>=&
yypParser
->
yystack
[
yypParser
->
yystksz
-
1
]
){
if
(
yyGrowStack
(
yypParser
)
){
yyStackOverflow
(
yypParser
);
/* The call to yyStackOverflow() above pops the stack until it is
** empty, causing the main parser loop to exit. So the return value
** is never used and does not matter. */
return
0
;
}
yymsp
=
yypParser
->
yytos
;
}
#endif
}
switch
(
yyruleno
){
/* Beginning here are the reduction cases. A typical example
...
...
@@ -5070,9 +4406,9 @@ static YYACTIONTYPE yy_reduce(
break
;
/********** End reduce actions ************************************************/
};
assert
(
yyruleno
<
sizeof
(
yyRuleInfo
Lhs
)
/
sizeof
(
yyRuleInfoLhs
[
0
])
);
yygoto
=
yyRuleInfo
Lhs
[
yyruleno
]
;
yysize
=
yyRuleInfo
NRhs
[
yyruleno
]
;
assert
(
yyruleno
<
sizeof
(
yyRuleInfo
)
/
sizeof
(
yyRuleInfo
[
0
])
);
yygoto
=
yyRuleInfo
[
yyruleno
].
lhs
;
yysize
=
yyRuleInfo
[
yyruleno
].
nrhs
;
yyact
=
yy_find_reduce_action
(
yymsp
[
yysize
].
stateno
,(
YYCODETYPE
)
yygoto
);
/* There are no SHIFTREDUCE actions on nonterminals because the table
...
...
@@ -5219,56 +4555,12 @@ void Parse(
}
#endif
while
(
1
){
/* Exit by "break" */
assert
(
yypParser
->
yytos
>=
yypParser
->
yystack
);
do
{
assert
(
yyact
==
yypParser
->
yytos
->
stateno
);
yyact
=
yy_find_shift_action
((
YYCODETYPE
)
yymajor
,
yyact
);
if
(
yyact
>=
YY_MIN_REDUCE
){
unsigned
int
yyruleno
=
yyact
-
YY_MIN_REDUCE
;
/* Reduce by this rule */
#ifndef NDEBUG
assert
(
yyruleno
<
(
int
)(
sizeof
(
yyRuleName
)
/
sizeof
(
yyRuleName
[
0
]))
);
if
(
yyTraceFILE
){
int
yysize
=
yyRuleInfoNRhs
[
yyruleno
];
if
(
yysize
){
fprintf
(
yyTraceFILE
,
"%sReduce %d [%s]%s, pop back to state %d.
\n
"
,
yyTracePrompt
,
yyruleno
,
yyRuleName
[
yyruleno
],
yyruleno
<
YYNRULE_WITH_ACTION
?
""
:
" without external action"
,
yypParser
->
yytos
[
yysize
].
stateno
);
}
else
{
fprintf
(
yyTraceFILE
,
"%sReduce %d [%s]%s.
\n
"
,
yyTracePrompt
,
yyruleno
,
yyRuleName
[
yyruleno
],
yyruleno
<
YYNRULE_WITH_ACTION
?
""
:
" without external action"
);
}
}
#endif
/* NDEBUG */
/* Check that the stack is large enough to grow by a single entry
** if the RHS of the rule is empty. This ensures that there is room
** enough on the stack to push the LHS value */
if
(
yyRuleInfoNRhs
[
yyruleno
]
==
0
){
#ifdef YYTRACKMAXSTACKDEPTH
if
(
(
int
)(
yypParser
->
yytos
-
yypParser
->
yystack
)
>
yypParser
->
yyhwm
){
yypParser
->
yyhwm
++
;
assert
(
yypParser
->
yyhwm
==
(
int
)(
yypParser
->
yytos
-
yypParser
->
yystack
));
}
#endif
#if YYSTACKDEPTH>0
if
(
yypParser
->
yytos
>=
yypParser
->
yystackEnd
){
yyStackOverflow
(
yypParser
);
break
;
}
#else
if
(
yypParser
->
yytos
>=&
yypParser
->
yystack
[
yypParser
->
yystksz
-
1
]
){
if
(
yyGrowStack
(
yypParser
)
){
yyStackOverflow
(
yypParser
);
break
;
}
}
#endif
}
yyact
=
yy_reduce
(
yypParser
,
yyruleno
,
yymajor
,
yyminor
ParseCTX_PARAM
);
yyact
=
yy_reduce
(
yypParser
,
yyact
-
YY_MIN_REDUCE
,
yymajor
,
yyminor
ParseCTX_PARAM
);
}
else
if
(
yyact
<=
YY_MAX_SHIFTREDUCE
){
yy_shift
(
yypParser
,
yyact
,(
YYCODETYPE
)
yymajor
,
yyminor
);
#ifndef YYNOERRORRECOVERY
...
...
@@ -5324,13 +4616,14 @@ void Parse(
yy_destructor
(
yypParser
,
(
YYCODETYPE
)
yymajor
,
&
yyminorunion
);
yymajor
=
YYNOCODE
;
}
else
{
while
(
yypParser
->
yytos
>
yypParser
->
yystack
){
yyact
=
yy_find_reduce_action
(
yypParser
->
yytos
->
stateno
,
YYERRORSYMBOL
);
if
(
yyact
<=
YY_MAX_SHIFTREDUCE
)
break
;
while
(
yypParser
->
yytos
>=
yypParser
->
yystack
&&
(
yyact
=
yy_find_reduce_action
(
yypParser
->
yytos
->
stateno
,
YYERRORSYMBOL
))
>
YY_MAX_SHIFTREDUCE
){
yy_pop_parser_stack
(
yypParser
);
}
if
(
yypParser
->
yytos
<
=
yypParser
->
yystack
||
yymajor
==
0
){
if
(
yypParser
->
yytos
<
yypParser
->
yystack
||
yymajor
==
0
){
yy_destructor
(
yypParser
,(
YYCODETYPE
)
yymajor
,
&
yyminorunion
);
yy_parse_failed
(
yypParser
);
#ifndef YYNOERRORRECOVERY
...
...
@@ -5380,7 +4673,7 @@ void Parse(
break
;
#endif
}
}
}
while
(
yypParser
->
yytos
>
yypParser
->
yystack
);
#ifndef NDEBUG
if
(
yyTraceFILE
){
yyStackEntry
*
i
;
...
...
@@ -5402,10 +4695,11 @@ void Parse(
*/
int
ParseFallback
(
int
iToken
){
#ifdef YYFALLBACK
assert
(
iToken
<
(
int
)(
sizeof
(
yyFallback
)
/
sizeof
(
yyFallback
[
0
]))
);
return
yyFallback
[
iToken
];
if
(
iToken
<
(
int
)(
sizeof
(
yyFallback
)
/
sizeof
(
yyFallback
[
0
]))
){
return
yyFallback
[
iToken
];
}
#else
(
void
)
iToken
;
return
0
;
#endif
return
0
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录