Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
TDengine
提交
c20d5741
T
TDengine
项目概览
慢慢CG
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
c20d5741
编写于
1月 19, 2021
作者:
H
haojun Liao
提交者:
GitHub
1月 19, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #4938 from taosdata/feature/TD-2671
[TD-2671]<fix>:support create/drop/alter stable
上级
20f27624
4c203ccb
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
1767 addition
and
1299 deletion
+1767
-1299
src/client/src/tscSQLParser.c
src/client/src/tscSQLParser.c
+18
-0
src/client/src/tscServer.c
src/client/src/tscServer.c
+1
-1
src/inc/ttokendef.h
src/inc/ttokendef.h
+142
-139
src/query/inc/qSqlparser.h
src/query/inc/qSqlparser.h
+4
-2
src/query/inc/sql.y
src/query/inc/sql.y
+65
-9
src/query/src/qParserImpl.c
src/query/src/qParserImpl.c
+4
-2
src/query/src/sql.c
src/query/src/sql.c
+1533
-1146
未找到文件。
src/client/src/tscSQLParser.c
浏览文件 @
c20d5741
...
...
@@ -264,6 +264,7 @@ int32_t tscToSQLCmd(SSqlObj* pSql, struct SSqlInfo* pInfo) {
case
TSDB_SQL_DROP_DB
:
{
const
char
*
msg2
=
"invalid name"
;
const
char
*
msg3
=
"param name too long"
;
const
char
*
msg4
=
"table is not super table"
;
SStrToken
*
pzName
=
&
pInfo
->
pDCLInfo
->
a
[
0
];
if
((
pInfo
->
type
!=
TSDB_SQL_DROP_DNODE
)
&&
(
tscValidateName
(
pzName
)
!=
TSDB_CODE_SUCCESS
))
{
...
...
@@ -285,6 +286,18 @@ int32_t tscToSQLCmd(SSqlObj* pSql, struct SSqlInfo* pInfo) {
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
return
code
;
}
if
(
pInfo
->
pDCLInfo
->
tableType
==
TSDB_SUPER_TABLE
)
{
code
=
tscGetTableMeta
(
pSql
,
pTableMetaInfo
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
return
code
;
}
if
(
!
UTIL_TABLE_IS_SUPER_TABLE
(
pTableMetaInfo
))
{
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg4
);
}
}
}
else
if
(
pInfo
->
type
==
TSDB_SQL_DROP_DNODE
)
{
pzName
->
n
=
strdequote
(
pzName
->
z
);
strncpy
(
pTableMetaInfo
->
name
,
pzName
->
z
,
pzName
->
n
);
...
...
@@ -4794,6 +4807,7 @@ int32_t setAlterTableInfo(SSqlObj* pSql, struct SSqlInfo* pInfo) {
const
char
*
msg17
=
"invalid column name"
;
const
char
*
msg18
=
"primary timestamp column cannot be dropped"
;
const
char
*
msg19
=
"invalid new tag name"
;
const
char
*
msg20
=
"table is not super table"
;
int32_t
code
=
TSDB_CODE_SUCCESS
;
...
...
@@ -4819,6 +4833,10 @@ int32_t setAlterTableInfo(SSqlObj* pSql, struct SSqlInfo* pInfo) {
STableMeta
*
pTableMeta
=
pTableMetaInfo
->
pTableMeta
;
if
(
pAlterSQL
->
tableType
==
TSDB_SUPER_TABLE
&&
!
(
UTIL_TABLE_IS_SUPER_TABLE
(
pTableMetaInfo
)))
{
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg20
);
}
if
(
pAlterSQL
->
type
==
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
||
pAlterSQL
->
type
==
TSDB_ALTER_TABLE_DROP_TAG_COLUMN
||
pAlterSQL
->
type
==
TSDB_ALTER_TABLE_CHANGE_TAG_COLUMN
)
{
if
(
UTIL_TABLE_IS_NORMAL_TABLE
(
pTableMetaInfo
))
{
...
...
src/client/src/tscServer.c
浏览文件 @
c20d5741
...
...
@@ -2193,7 +2193,7 @@ int tscProcessDropTableRsp(SSqlObj *pSql) {
tscDebug
(
"%p remove table meta after drop table:%s, numOfRemain:%d"
,
pSql
,
pTableMetaInfo
->
name
,
(
int32_t
)
taosHashGetSize
(
tscTableMetaInfo
));
assert
(
pTableMetaInfo
->
pTableMeta
==
NULL
)
;
pTableMetaInfo
->
pTableMeta
=
NULL
;
return
0
;
}
...
...
src/inc/ttokendef.h
浏览文件 @
c20d5741
...
...
@@ -82,151 +82,154 @@
#define TK_STABLES 64
#define TK_VGROUPS 65
#define TK_DROP 66
#define TK_
DNODE
67
#define TK_
USER
68
#define TK_
ACCOUNT
69
#define TK_
USE
70
#define TK_
DESCRIBE
71
#define TK_
ALTER
72
#define TK_
PASS
73
#define TK_P
RIVILEGE
74
#define TK_
LOCAL
75
#define TK_
IF
76
#define TK_
EXISTS
77
#define TK_
PPS
78
#define TK_
TSERIES
79
#define TK_
DBS
80
#define TK_
STORAGE
81
#define TK_
QTIME
82
#define TK_
CONNS
83
#define TK_
STATE
84
#define TK_
KEEP
85
#define TK_
CACHE
86
#define TK_
REPLICA
87
#define TK_
QUORUM
88
#define TK_
DAYS
89
#define TK_
MINROWS
90
#define TK_M
AX
ROWS 91
#define TK_
BLOCKS
92
#define TK_
CTIME
93
#define TK_
WAL
94
#define TK_
FSYNC
95
#define TK_
COMP
96
#define TK_
PRECISION
97
#define TK_
UPDATE
98
#define TK_
CACHELAST
99
#define TK_
LP
100
#define TK_
R
P 101
#define TK_
UNSIGNED
102
#define TK_
TAGS
103
#define TK_
USING
104
#define TK_
AS
105
#define TK_
COMMA
106
#define TK_
NULL
107
#define TK_
SELECT
108
#define TK_
UNION
109
#define TK_
ALL
110
#define TK_
FROM
111
#define TK_
VARIABLE
112
#define TK_
INTERVAL
113
#define TK_
FILL
114
#define TK_
SLIDING
115
#define TK_
ORDER
116
#define TK_
BY
117
#define TK_
ASC
118
#define TK_
DESC
119
#define TK_
GROUP
120
#define TK_
HAVING
121
#define TK_
LIMIT
122
#define TK_
OFFSET
123
#define TK_
SLIMI
T 124
#define TK_S
OFFSET
125
#define TK_
WHERE
126
#define TK_
NOW
127
#define TK_
RESET
128
#define TK_
QUERY
129
#define TK_
ADD
130
#define TK_
COLUMN
131
#define TK_
TAG
132
#define TK_
CHANGE
133
#define TK_
SET
134
#define TK_
KILL
135
#define TK_
CONNECTION
136
#define TK_
STREAM
137
#define TK_
COLON
138
#define TK_
ABORT
139
#define TK_A
FTER
140
#define TK_A
TTACH
141
#define TK_
BEFORE
142
#define TK_BE
GIN
143
#define TK_
CASCADE
144
#define TK_C
LUSTER
145
#define TK_C
ONFLICT
146
#define TK_CO
PY
147
#define TK_
DEFERRED
148
#define TK_DE
LIMITERS
149
#define TK_DE
TACH
150
#define TK_
EACH
151
#define TK_E
ND
152
#define TK_E
XPLAIN
153
#define TK_
FAIL
154
#define TK_F
OR
155
#define TK_
IGNORE
156
#define TK_I
MMEDIATE
157
#define TK_I
NITIALLY
158
#define TK_IN
STEAD
159
#define TK_
MATCH
160
#define TK_
KEY
161
#define TK_
OF
162
#define TK_
RAISE
163
#define TK_R
EPLACE
164
#define TK_RE
STRICT
165
#define TK_R
OW
166
#define TK_
STATEMENT
167
#define TK_
TRIGGER
168
#define TK_
VIEW
169
#define TK_
COUNT
170
#define TK_
SUM
171
#define TK_
AVG
172
#define TK_
MIN
173
#define TK_M
AX
174
#define TK_
FIRST
175
#define TK_
LAST
176
#define TK_
TOP
177
#define TK_
BOTTOM
178
#define TK_
STDDEV
179
#define TK_
PERCENTILE
180
#define TK_
APERCENTILE
181
#define TK_
LEASTSQUARES
182
#define TK_
HISTOGRAM
183
#define TK_
DIFF
184
#define TK_
SPREAD
185
#define TK_
TWA
186
#define TK_
INTERP
187
#define TK_
LAST_ROW
188
#define TK_
RATE
189
#define TK_
IRATE
190
#define TK_
SUM_RATE
191
#define TK_SUM_
IRATE
192
#define TK_
AVG_RATE
193
#define TK_AVG_
IRATE
194
#define TK_
TBID
195
#define TK_
SEMI
196
#define TK_
NONE
197
#define TK_
PREV
198
#define TK_
LINEAR
199
#define TK_
IMPORT
200
#define TK_
METRIC
201
#define TK_
TBNAME
202
#define TK_
JOIN
203
#define TK_
METRICS
204
#define TK_
STABLE
205
#define TK_
STABLE
67
#define TK_
DNODE
68
#define TK_
USER
69
#define TK_
ACCOUNT
70
#define TK_
USE
71
#define TK_
DESCRIBE
72
#define TK_
ALTER
73
#define TK_P
ASS
74
#define TK_
PRIVILEGE
75
#define TK_
LOCAL
76
#define TK_
IF
77
#define TK_
EXISTS
78
#define TK_
PPS
79
#define TK_
TSERIES
80
#define TK_
DBS
81
#define TK_
STORAGE
82
#define TK_
QTIME
83
#define TK_
CONNS
84
#define TK_
STATE
85
#define TK_
KEEP
86
#define TK_
CACHE
87
#define TK_
REPLICA
88
#define TK_
QUORUM
89
#define TK_
DAYS
90
#define TK_M
IN
ROWS 91
#define TK_
MAXROWS
92
#define TK_
BLOCKS
93
#define TK_
CTIME
94
#define TK_
WAL
95
#define TK_
FSYNC
96
#define TK_
COMP
97
#define TK_
PRECISION
98
#define TK_
UPDATE
99
#define TK_
CACHELAST
100
#define TK_
L
P 101
#define TK_
RP
102
#define TK_
UNSIGNED
103
#define TK_
TAGS
104
#define TK_
USING
105
#define TK_
AS
106
#define TK_
COMMA
107
#define TK_
NULL
108
#define TK_
SELECT
109
#define TK_
UNION
110
#define TK_
ALL
111
#define TK_
FROM
112
#define TK_
VARIABLE
113
#define TK_
INTERVAL
114
#define TK_
FILL
115
#define TK_
SLIDING
116
#define TK_
ORDER
117
#define TK_
BY
118
#define TK_
ASC
119
#define TK_
DESC
120
#define TK_
GROUP
121
#define TK_
HAVING
122
#define TK_
LIMIT
123
#define TK_
OFFSE
T 124
#define TK_S
LIMIT
125
#define TK_
SOFFSET
126
#define TK_
WHERE
127
#define TK_
NOW
128
#define TK_
RESET
129
#define TK_
QUERY
130
#define TK_
ADD
131
#define TK_
COLUMN
132
#define TK_
TAG
133
#define TK_
CHANGE
134
#define TK_
SET
135
#define TK_
KILL
136
#define TK_
CONNECTION
137
#define TK_
STREAM
138
#define TK_
COLON
139
#define TK_A
BORT
140
#define TK_A
FTER
141
#define TK_
ATTACH
142
#define TK_BE
FORE
143
#define TK_
BEGIN
144
#define TK_C
ASCADE
145
#define TK_C
LUSTER
146
#define TK_CO
NFLICT
147
#define TK_
COPY
148
#define TK_DE
FERRED
149
#define TK_DE
LIMITERS
150
#define TK_
DETACH
151
#define TK_E
ACH
152
#define TK_E
ND
153
#define TK_
EXPLAIN
154
#define TK_F
AIL
155
#define TK_
FOR
156
#define TK_I
GNORE
157
#define TK_I
MMEDIATE
158
#define TK_IN
ITIALLY
159
#define TK_
INSTEAD
160
#define TK_
MATCH
161
#define TK_
KEY
162
#define TK_
OF
163
#define TK_R
AISE
164
#define TK_RE
PLACE
165
#define TK_R
ESTRICT
166
#define TK_
ROW
167
#define TK_
STATEMENT
168
#define TK_
TRIGGER
169
#define TK_
VIEW
170
#define TK_
COUNT
171
#define TK_
SUM
172
#define TK_
AVG
173
#define TK_M
IN
174
#define TK_
MAX
175
#define TK_
FIRST
176
#define TK_
LAST
177
#define TK_
TOP
178
#define TK_
BOTTOM
179
#define TK_
STDDEV
180
#define TK_
PERCENTILE
181
#define TK_
APERCENTILE
182
#define TK_
LEASTSQUARES
183
#define TK_
HISTOGRAM
184
#define TK_
DIFF
185
#define TK_
SPREAD
186
#define TK_
TWA
187
#define TK_
INTERP
188
#define TK_
LAST_ROW
189
#define TK_
RATE
190
#define TK_
IRATE
191
#define TK_SUM_
RATE
192
#define TK_
SUM_IRATE
193
#define TK_AVG_
RATE
194
#define TK_
AVG_IRATE
195
#define TK_
TBID
196
#define TK_
SEMI
197
#define TK_
NONE
198
#define TK_
PREV
199
#define TK_
LINEAR
200
#define TK_
IMPORT
201
#define TK_
METRIC
202
#define TK_
TBNAME
203
#define TK_
JOIN
204
#define TK_
METRICS
205
#define TK_INSERT 206
#define TK_INTO 207
#define TK_VALUES 208
#define TK_SPACE 300
#define TK_COMMENT 301
#define TK_ILLEGAL 302
...
...
src/query/inc/qSqlparser.h
浏览文件 @
c20d5741
...
...
@@ -98,6 +98,7 @@ typedef struct SCreateTableSQL {
typedef
struct
SAlterTableSQL
{
SStrToken
name
;
int16_t
tableType
;
int16_t
type
;
STagData
tagData
;
SArray
*
pAddColumns
;
// SArray<TAOS_FIELD>
...
...
@@ -156,6 +157,7 @@ typedef struct tDCLSQL {
int32_t
nAlloc
;
/* Number of entries allocated below */
SStrToken
*
a
;
/* one entry for element */
bool
existsCheck
;
int16_t
tableType
;
union
{
SCreateDBInfo
dbOpt
;
...
...
@@ -250,7 +252,7 @@ SCreateTableSQL *tSetCreateSqlElems(SArray *pCols, SArray *pTags, SQuerySQL *pSe
void
tSqlExprNodeDestroy
(
tSQLExpr
*
pExpr
);
SAlterTableSQL
*
tAlterTableSqlElems
(
SStrToken
*
pTableName
,
SArray
*
pCols
,
SArray
*
pVals
,
int32_t
type
);
SAlterTableSQL
*
tAlterTableSqlElems
(
SStrToken
*
pTableName
,
SArray
*
pCols
,
SArray
*
pVals
,
int32_t
type
,
int16_t
tableTable
);
SCreatedTableInfo
createNewChildTableInfo
(
SStrToken
*
pTableName
,
SArray
*
pTagVals
,
SStrToken
*
pToken
,
SStrToken
*
igExists
);
void
destroyAllSelectClause
(
SSubclauseInfo
*
pSql
);
...
...
@@ -267,7 +269,7 @@ void setCreatedTableName(SSqlInfo *pInfo, SStrToken *pTableNameToken, SStrToken
void
SqlInfoDestroy
(
SSqlInfo
*
pInfo
);
void
setDCLSQLElems
(
SSqlInfo
*
pInfo
,
int32_t
type
,
int32_t
nParams
,
...);
void
setDropDbTableInfo
(
SSqlInfo
*
pInfo
,
int32_t
type
,
SStrToken
*
pToken
,
SStrToken
*
existsCheck
);
void
setDropDbTableInfo
(
SSqlInfo
*
pInfo
,
int32_t
type
,
SStrToken
*
pToken
,
SStrToken
*
existsCheck
,
int16_t
tableType
);
void
setShowOptions
(
SSqlInfo
*
pInfo
,
int32_t
type
,
SStrToken
*
prefix
,
SStrToken
*
pPatterns
);
tDCLSQL
*
tTokenListAppend
(
tDCLSQL
*
pTokenList
,
SStrToken
*
pToken
);
...
...
src/query/inc/sql.y
浏览文件 @
c20d5741
...
...
@@ -131,10 +131,16 @@ cmd ::= SHOW dbPrefix(X) VGROUPS ids(Y). {
//drop configure for tables
cmd ::= DROP TABLE ifexists(Y) ids(X) cpxName(Z). {
X.n += Z.n;
setDropDbTableInfo(pInfo, TSDB_SQL_DROP_TABLE, &X, &Y);
setDropDbTableInfo(pInfo, TSDB_SQL_DROP_TABLE, &X, &Y
, -1
);
}
cmd ::= DROP DATABASE ifexists(Y) ids(X). { setDropDbTableInfo(pInfo, TSDB_SQL_DROP_DB, &X, &Y); }
//drop stable
cmd ::= DROP STABLE ifexists(Y) ids(X) cpxName(Z). {
X.n += Z.n;
setDropDbTableInfo(pInfo, TSDB_SQL_DROP_TABLE, &X, &Y, TSDB_SUPER_TABLE);
}
cmd ::= DROP DATABASE ifexists(Y) ids(X). { setDropDbTableInfo(pInfo, TSDB_SQL_DROP_DB, &X, &Y, -1); }
cmd ::= DROP DNODE ids(X). { setDCLSQLElems(pInfo, TSDB_SQL_DROP_DNODE, 1, &X); }
cmd ::= DROP USER ids(X). { setDCLSQLElems(pInfo, TSDB_SQL_DROP_USER, 1, &X); }
cmd ::= DROP ACCOUNT ids(X). { setDCLSQLElems(pInfo, TSDB_SQL_DROP_ACCT, 1, &X); }
...
...
@@ -305,6 +311,8 @@ signed(A) ::= MINUS INTEGER(X). { A = -strtol(X.z, NULL, 10);}
////////////////////////////////// The CREATE TABLE statement ///////////////////////////////
cmd ::= CREATE TABLE create_table_args. {}
cmd ::= CREATE TABLE create_stable_args. {}
cmd ::= CREATE STABLE create_stable_args. {}
cmd ::= CREATE TABLE create_table_list(Z). { pInfo->type = TSDB_SQL_CREATE_TABLE; pInfo->pCreateTableInfo = Z;}
%type create_table_list{SCreateTableSQL*}
...
...
@@ -333,7 +341,8 @@ create_table_args(A) ::= ifnotexists(U) ids(V) cpxName(Z) LP columnlist(X) RP. {
}
// create super table
create_table_args(A) ::= ifnotexists(U) ids(V) cpxName(Z) LP columnlist(X) RP TAGS LP columnlist(Y) RP. {
%type create_stable_args{SCreateTableSQL*}
create_stable_args(A) ::= ifnotexists(U) ids(V) cpxName(Z) LP columnlist(X) RP TAGS LP columnlist(Y) RP. {
A = tSetCreateSqlElems(X, Y, NULL, TSQL_CREATE_STABLE);
setSqlInfo(pInfo, A, NULL, TSDB_SQL_CREATE_TABLE);
...
...
@@ -683,7 +692,7 @@ cmd ::= RESET QUERY CACHE. { setDCLSQLElems(pInfo, TSDB_SQL_RESET_CACHE, 0);}
///////////////////////////////////ALTER TABLE statement//////////////////////////////////
cmd ::= ALTER TABLE ids(X) cpxName(F) ADD COLUMN columnlist(A). {
X.n += F.n;
SAlterTableSQL* pAlterTable = tAlterTableSqlElems(&X, A, NULL, TSDB_ALTER_TABLE_ADD_COLUMN);
SAlterTableSQL* pAlterTable = tAlterTableSqlElems(&X, A, NULL, TSDB_ALTER_TABLE_ADD_COLUMN
, -1
);
setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
...
...
@@ -693,14 +702,14 @@ cmd ::= ALTER TABLE ids(X) cpxName(F) DROP COLUMN ids(A). {
toTSDBType(A.type);
SArray* K = tVariantListAppendToken(NULL, &A, -1);
SAlterTableSQL* pAlterTable = tAlterTableSqlElems(&X, NULL, K, TSDB_ALTER_TABLE_DROP_COLUMN);
SAlterTableSQL* pAlterTable = tAlterTableSqlElems(&X, NULL, K, TSDB_ALTER_TABLE_DROP_COLUMN
, -1
);
setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
//////////////////////////////////ALTER TAGS statement/////////////////////////////////////
cmd ::= ALTER TABLE ids(X) cpxName(Y) ADD TAG columnlist(A). {
X.n += Y.n;
SAlterTableSQL* pAlterTable = tAlterTableSqlElems(&X, A, NULL, TSDB_ALTER_TABLE_ADD_TAG_COLUMN);
SAlterTableSQL* pAlterTable = tAlterTableSqlElems(&X, A, NULL, TSDB_ALTER_TABLE_ADD_TAG_COLUMN
, -1
);
setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
cmd ::= ALTER TABLE ids(X) cpxName(Z) DROP TAG ids(Y). {
...
...
@@ -709,7 +718,7 @@ cmd ::= ALTER TABLE ids(X) cpxName(Z) DROP TAG ids(Y). {
toTSDBType(Y.type);
SArray* A = tVariantListAppendToken(NULL, &Y, -1);
SAlterTableSQL* pAlterTable = tAlterTableSqlElems(&X, NULL, A, TSDB_ALTER_TABLE_DROP_TAG_COLUMN);
SAlterTableSQL* pAlterTable = tAlterTableSqlElems(&X, NULL, A, TSDB_ALTER_TABLE_DROP_TAG_COLUMN
, -1
);
setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
...
...
@@ -722,7 +731,7 @@ cmd ::= ALTER TABLE ids(X) cpxName(F) CHANGE TAG ids(Y) ids(Z). {
toTSDBType(Z.type);
A = tVariantListAppendToken(A, &Z, -1);
SAlterTableSQL* pAlterTable = tAlterTableSqlElems(&X, NULL, A, TSDB_ALTER_TABLE_CHANGE_TAG_COLUMN);
SAlterTableSQL* pAlterTable = tAlterTableSqlElems(&X, NULL, A, TSDB_ALTER_TABLE_CHANGE_TAG_COLUMN
, -1
);
setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
...
...
@@ -733,7 +742,54 @@ cmd ::= ALTER TABLE ids(X) cpxName(F) SET TAG ids(Y) EQ tagitem(Z). {
SArray* A = tVariantListAppendToken(NULL, &Y, -1);
A = tVariantListAppend(A, &Z, -1);
SAlterTableSQL* pAlterTable = tAlterTableSqlElems(&X, NULL, A, TSDB_ALTER_TABLE_UPDATE_TAG_VAL);
SAlterTableSQL* pAlterTable = tAlterTableSqlElems(&X, NULL, A, TSDB_ALTER_TABLE_UPDATE_TAG_VAL, -1);
setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
///////////////////////////////////ALTER STABLE statement//////////////////////////////////
cmd ::= ALTER STABLE ids(X) cpxName(F) ADD COLUMN columnlist(A). {
X.n += F.n;
SAlterTableSQL* pAlterTable = tAlterTableSqlElems(&X, A, NULL, TSDB_ALTER_TABLE_ADD_COLUMN, TSDB_SUPER_TABLE);
setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
cmd ::= ALTER STABLE ids(X) cpxName(F) DROP COLUMN ids(A). {
X.n += F.n;
toTSDBType(A.type);
SArray* K = tVariantListAppendToken(NULL, &A, -1);
SAlterTableSQL* pAlterTable = tAlterTableSqlElems(&X, NULL, K, TSDB_ALTER_TABLE_DROP_COLUMN, TSDB_SUPER_TABLE);
setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
//////////////////////////////////ALTER TAGS statement/////////////////////////////////////
cmd ::= ALTER STABLE ids(X) cpxName(Y) ADD TAG columnlist(A). {
X.n += Y.n;
SAlterTableSQL* pAlterTable = tAlterTableSqlElems(&X, A, NULL, TSDB_ALTER_TABLE_ADD_TAG_COLUMN, TSDB_SUPER_TABLE);
setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
cmd ::= ALTER STABLE ids(X) cpxName(Z) DROP TAG ids(Y). {
X.n += Z.n;
toTSDBType(Y.type);
SArray* A = tVariantListAppendToken(NULL, &Y, -1);
SAlterTableSQL* pAlterTable = tAlterTableSqlElems(&X, NULL, A, TSDB_ALTER_TABLE_DROP_TAG_COLUMN, TSDB_SUPER_TABLE);
setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
cmd ::= ALTER STABLE ids(X) cpxName(F) CHANGE TAG ids(Y) ids(Z). {
X.n += F.n;
toTSDBType(Y.type);
SArray* A = tVariantListAppendToken(NULL, &Y, -1);
toTSDBType(Z.type);
A = tVariantListAppendToken(A, &Z, -1);
SAlterTableSQL* pAlterTable = tAlterTableSqlElems(&X, NULL, A, TSDB_ALTER_TABLE_CHANGE_TAG_COLUMN, TSDB_SUPER_TABLE);
setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
...
...
src/query/src/qParserImpl.c
浏览文件 @
c20d5741
...
...
@@ -585,11 +585,12 @@ SCreatedTableInfo createNewChildTableInfo(SStrToken *pTableName, SArray *pTagVal
return
info
;
}
SAlterTableSQL
*
tAlterTableSqlElems
(
SStrToken
*
pTableName
,
SArray
*
pCols
,
SArray
*
pVals
,
int32_t
type
)
{
SAlterTableSQL
*
tAlterTableSqlElems
(
SStrToken
*
pTableName
,
SArray
*
pCols
,
SArray
*
pVals
,
int32_t
type
,
int16_t
tableType
)
{
SAlterTableSQL
*
pAlterTable
=
calloc
(
1
,
sizeof
(
SAlterTableSQL
));
pAlterTable
->
name
=
*
pTableName
;
pAlterTable
->
type
=
type
;
pAlterTable
->
tableType
=
tableType
;
if
(
type
==
TSDB_ALTER_TABLE_ADD_COLUMN
||
type
==
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
)
{
pAlterTable
->
pAddColumns
=
pCols
;
...
...
@@ -733,9 +734,10 @@ void setDCLSQLElems(SSqlInfo *pInfo, int32_t type, int32_t nParam, ...) {
va_end
(
va
);
}
void
setDropDbTableInfo
(
SSqlInfo
*
pInfo
,
int32_t
type
,
SStrToken
*
pToken
,
SStrToken
*
existsCheck
)
{
void
setDropDbTableInfo
(
SSqlInfo
*
pInfo
,
int32_t
type
,
SStrToken
*
pToken
,
SStrToken
*
existsCheck
,
int16_t
tableType
)
{
pInfo
->
type
=
type
;
pInfo
->
pDCLInfo
=
tTokenListAppend
(
pInfo
->
pDCLInfo
,
pToken
);
pInfo
->
pDCLInfo
->
tableType
=
tableType
;
pInfo
->
pDCLInfo
->
existsCheck
=
(
existsCheck
->
n
==
1
);
}
...
...
src/query/src/sql.c
浏览文件 @
c20d5741
...
...
@@ -23,6 +23,7 @@
** input grammar file:
*/
#include <stdio.h>
#include <assert.h>
/************ Begin %include sections from the grammar ************************/
#include <stdio.h>
...
...
@@ -76,8 +77,10 @@
** zero the stack is dynamically sized using realloc()
** ParseARG_SDECL A static variable declaration for the %extra_argument
** ParseARG_PDECL A parameter declaration for the %extra_argument
** ParseARG_PARAM Code to pass %extra_argument as a subroutine parameter
** ParseARG_STORE Code to store %extra_argument into yypParser
** ParseARG_FETCH Code to extract %extra_argument from yypParser
** ParseCTX_* As ParseARG_ except for %extra_context
** YYERRORSYMBOL is the code number of the error symbol. If not
** defined, then do no error processing.
** YYNSTATE the combined number of states.
...
...
@@ -97,7 +100,7 @@
#endif
/************* Begin control #defines *****************************************/
#define YYCODETYPE unsigned short int
#define YYNOCODE 27
9
#define YYNOCODE 27
8
#define YYACTIONTYPE unsigned short int
#define ParseTOKENTYPE SStrToken
typedef
union
{
...
...
@@ -124,21 +127,29 @@ typedef union {
#endif
#define ParseARG_SDECL SSqlInfo* pInfo;
#define ParseARG_PDECL ,SSqlInfo* pInfo
#define ParseARG_FETCH SSqlInfo* pInfo = yypParser->pInfo
#define ParseARG_STORE yypParser->pInfo = pInfo
#define ParseARG_PARAM ,pInfo
#define ParseARG_FETCH SSqlInfo* pInfo=yypParser->pInfo;
#define ParseARG_STORE yypParser->pInfo=pInfo;
#define ParseCTX_SDECL
#define ParseCTX_PDECL
#define ParseCTX_PARAM
#define ParseCTX_FETCH
#define ParseCTX_STORE
#define YYFALLBACK 1
#define YYNSTATE 258
#define YYNRULE 240
#define YYNSTATE 282
#define YYNRULE 248
#define YYNRULE_WITH_ACTION 248
#define YYNTOKEN 209
#define YY_MAX_SHIFT 2
57
#define YY_MIN_SHIFTREDUCE 4
3
1
#define YY_MAX_SHIFTREDUCE
670
#define YY_ERROR_ACTION
671
#define YY_ACCEPT_ACTION
672
#define YY_NO_ACTION
673
#define YY_MIN_REDUCE
674
#define YY_MAX_REDUCE 9
13
#define YY_MAX_SHIFT 2
81
#define YY_MIN_SHIFTREDUCE 4
6
1
#define YY_MAX_SHIFTREDUCE
708
#define YY_ERROR_ACTION
709
#define YY_ACCEPT_ACTION
710
#define YY_NO_ACTION
711
#define YY_MIN_REDUCE
712
#define YY_MAX_REDUCE 9
59
/************* End control #defines *******************************************/
#define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0])))
/* Define the yytestcase() macro to be a no-op if is not already defined
** otherwise.
...
...
@@ -203,132 +214,136 @@ typedef union {
** yy_default[] Default action for each state.
**
*********** Begin parsing tables **********************************************/
#define YY_ACTTAB_COUNT (
586
)
#define YY_ACTTAB_COUNT (
623
)
static
const
YYACTIONTYPE
yy_action
[]
=
{
/* 0 */
143
,
474
,
143
,
23
,
672
,
257
,
165
,
547
,
827
,
475
,
/* 10 */
900
,
168
,
901
,
37
,
38
,
12
,
39
,
40
,
816
,
23
,
/* 20 */
173
,
31
,
474
,
474
,
210
,
43
,
41
,
45
,
42
,
805
,
/* 30 */
475
,
475
,
163
,
36
,
35
,
232
,
231
,
34
,
33
,
32
,
/* 40 */
37
,
38
,
801
,
39
,
40
,
816
,
110
,
173
,
31
,
162
,
/* 50 */
255
,
210
,
43
,
41
,
45
,
42
,
176
,
66
,
802
,
195
,
/* 60 */
36
,
35
,
178
,
824
,
34
,
33
,
32
,
432
,
433
,
434
,
/* 70 */
435
,
436
,
437
,
438
,
439
,
440
,
441
,
442
,
443
,
256
,
/* 80 */
179
,
225
,
185
,
37
,
38
,
805
,
39
,
40
,
796
,
242
,
/* 90 */
173
,
31
,
143
,
180
,
210
,
43
,
41
,
45
,
42
,
110
,
/* 100 */
110
,
167
,
901
,
36
,
35
,
57
,
853
,
34
,
33
,
32
,
/* 110 */
17
,
223
,
250
,
249
,
222
,
221
,
220
,
248
,
219
,
247
,
/* 120 */
246
,
245
,
218
,
244
,
243
,
803
,
142
,
774
,
624
,
762
,
/* 130 */
763
,
764
,
765
,
766
,
767
,
768
,
769
,
770
,
771
,
772
,
/* 140 */
773
,
775
,
776
,
38
,
181
,
39
,
40
,
229
,
228
,
173
,
/* 150 */
31
,
605
,
606
,
210
,
43
,
41
,
45
,
42
,
207
,
854
,
/* 160 */
61
,
205
,
36
,
35
,
23
,
110
,
34
,
33
,
32
,
188
,
/* 170 */
39
,
40
,
23
,
251
,
173
,
31
,
192
,
191
,
210
,
43
,
/* 180 */
41
,
45
,
42
,
34
,
33
,
32
,
105
,
36
,
35
,
104
,
/* 190 */
147
,
34
,
33
,
32
,
172
,
637
,
805
,
28
,
628
,
897
,
/* 200 */
631
,
177
,
634
,
802
,
172
,
637
,
896
,
13
,
628
,
230
,
/* 210 */
631
,
802
,
634
,
18
,
172
,
637
,
794
,
895
,
628
,
63
,
/* 220 */
631
,
28
,
634
,
155
,
574
,
62
,
169
,
170
,
23
,
156
,
/* 230 */
209
,
29
,
197
,
92
,
91
,
150
,
169
,
170
,
77
,
76
,
/* 240 */
582
,
17
,
198
,
250
,
249
,
159
,
169
,
170
,
248
,
626
,
/* 250 */
247
,
246
,
245
,
715
,
244
,
243
,
133
,
211
,
780
,
80
,
/* 260 */
160
,
778
,
779
,
18
,
242
,
234
,
781
,
802
,
783
,
784
,
/* 270 */
782
,
28
,
785
,
786
,
43
,
41
,
45
,
42
,
724
,
579
,
/* 280 */
64
,
133
,
36
,
35
,
19
,
627
,
34
,
33
,
32
,
3
,
/* 290 */
124
,
194
,
225
,
44
,
910
,
72
,
68
,
71
,
158
,
11
,
/* 300 */
10
,
566
,
592
,
44
,
563
,
636
,
564
,
107
,
565
,
793
,
/* 310 */
22
,
795
,
630
,
44
,
633
,
636
,
716
,
36
,
35
,
133
,
/* 320 */
635
,
34
,
33
,
32
,
171
,
636
,
596
,
49
,
78
,
82
,
/* 330 */
635
,
48
,
182
,
183
,
87
,
90
,
81
,
137
,
135
,
629
,
/* 340 */
635
,
632
,
84
,
95
,
94
,
93
,
50
,
9
,
145
,
640
,
/* 350 */
52
,
65
,
120
,
254
,
253
,
98
,
597
,
656
,
638
,
555
,
/* 360 */
146
,
15
,
14
,
14
,
24
,
4
,
55
,
53
,
546
,
213
,
/* 370 */
556
,
570
,
148
,
571
,
24
,
48
,
568
,
149
,
569
,
89
,
/* 380 */
88
,
103
,
101
,
153
,
154
,
152
,
141
,
151
,
144
,
804
,
/* 390 */
864
,
863
,
818
,
174
,
860
,
859
,
175
,
233
,
826
,
846
,
/* 400 */
831
,
833
,
106
,
121
,
845
,
122
,
567
,
119
,
123
,
726
,
/* 410 */
217
,
139
,
26
,
226
,
102
,
723
,
28
,
227
,
909
,
74
,
/* 420 */
908
,
906
,
125
,
744
,
27
,
25
,
196
,
140
,
713
,
591
,
/* 430 */
83
,
711
,
85
,
86
,
199
,
709
,
708
,
184
,
54
,
134
,
/* 440 */
706
,
164
,
705
,
704
,
703
,
702
,
136
,
700
,
698
,
696
,
/* 450 */
694
,
692
,
138
,
203
,
58
,
59
,
51
,
847
,
815
,
46
,
/* 460 */
208
,
206
,
204
,
202
,
200
,
30
,
79
,
235
,
236
,
237
,
/* 470 */
238
,
239
,
240
,
241
,
161
,
215
,
216
,
252
,
670
,
187
,
/* 480 */
186
,
669
,
69
,
189
,
157
,
190
,
668
,
193
,
661
,
707
,
/* 490 */
197
,
576
,
60
,
56
,
593
,
96
,
128
,
97
,
127
,
745
,
/* 500 */
126
,
130
,
129
,
131
,
132
,
701
,
693
,
113
,
111
,
118
,
/* 510 */
116
,
114
,
112
,
115
,
800
,
1
,
117
,
2
,
166
,
20
,
/* 520 */
108
,
201
,
6
,
598
,
109
,
7
,
639
,
5
,
8
,
21
,
/* 530 */
16
,
67
,
212
,
641
,
214
,
515
,
65
,
511
,
509
,
508
,
/* 540 */
507
,
504
,
478
,
224
,
70
,
47
,
73
,
75
,
24
,
549
,
/* 550 */
548
,
545
,
499
,
497
,
489
,
495
,
491
,
493
,
487
,
485
,
/* 560 */
517
,
516
,
514
,
513
,
512
,
510
,
506
,
505
,
48
,
476
,
/* 570 */
447
,
445
,
674
,
673
,
673
,
673
,
673
,
673
,
673
,
673
,
/* 580 */
673
,
673
,
673
,
673
,
99
,
100
,
/* 0 */
158
,
505
,
158
,
710
,
281
,
857
,
659
,
578
,
182
,
506
,
/* 10 */
941
,
185
,
942
,
41
,
42
,
15
,
43
,
44
,
26
,
179
,
/* 20 */
190
,
35
,
505
,
505
,
231
,
47
,
45
,
49
,
46
,
868
,
/* 30 */
506
,
506
,
846
,
40
,
39
,
256
,
255
,
38
,
37
,
36
,
/* 40 */
41
,
42
,
660
,
43
,
44
,
857
,
951
,
190
,
35
,
178
,
/* 50 */
279
,
231
,
47
,
45
,
49
,
46
,
180
,
195
,
843
,
214
,
/* 60 */
40
,
39
,
157
,
61
,
38
,
37
,
36
,
462
,
463
,
464
,
/* 70 */
465
,
466
,
467
,
468
,
469
,
470
,
471
,
472
,
473
,
280
,
/* 80 */
198
,
846
,
204
,
41
,
42
,
865
,
43
,
44
,
246
,
266
,
/* 90 */
190
,
35
,
158
,
834
,
231
,
47
,
45
,
49
,
46
,
122
,
/* 100 */
122
,
184
,
942
,
40
,
39
,
122
,
62
,
38
,
37
,
36
,
/* 110 */
20
,
244
,
274
,
273
,
243
,
242
,
241
,
272
,
240
,
271
,
/* 120 */
270
,
269
,
239
,
268
,
267
,
38
,
37
,
36
,
813
,
657
,
/* 130 */
801
,
802
,
803
,
804
,
805
,
806
,
807
,
808
,
809
,
810
,
/* 140 */
811
,
812
,
814
,
815
,
42
,
200
,
43
,
44
,
253
,
252
,
/* 150 */
190
,
35
,
835
,
275
,
231
,
47
,
45
,
49
,
46
,
228
,
/* 160 */
895
,
66
,
226
,
40
,
39
,
115
,
894
,
38
,
37
,
36
,
/* 170 */
26
,
43
,
44
,
32
,
26
,
190
,
35
,
846
,
207
,
231
,
/* 180 */
47
,
45
,
49
,
46
,
26
,
211
,
210
,
162
,
40
,
39
,
/* 190 */
196
,
845
,
38
,
37
,
36
,
189
,
670
,
117
,
938
,
661
,
/* 200 */
71
,
664
,
26
,
667
,
122
,
189
,
670
,
188
,
193
,
661
,
/* 210 */
843
,
664
,
194
,
667
,
843
,
189
,
670
,
16
,
21
,
661
,
/* 220 */
90
,
664
,
249
,
667
,
843
,
266
,
32
,
186
,
187
,
246
,
/* 230 */
26
,
230
,
837
,
166
,
278
,
277
,
109
,
186
,
187
,
167
,
/* 240 */
250
,
615
,
843
,
199
,
102
,
101
,
165
,
186
,
187
,
4
,
/* 250 */
20
,
26
,
274
,
273
,
219
,
197
,
26
,
272
,
248
,
271
,
/* 260 */
270
,
269
,
10
,
268
,
267
,
67
,
70
,
132
,
254
,
819
,
/* 270 */
843
,
217
,
817
,
818
,
21
,
844
,
27
,
820
,
905
,
822
,
/* 280 */
823
,
821
,
32
,
824
,
825
,
47
,
45
,
49
,
46
,
258
,
/* 290 */
663
,
843
,
666
,
40
,
39
,
48
,
842
,
38
,
37
,
36
,
/* 300 */
754
,
232
,
213
,
146
,
69
,
48
,
904
,
669
,
763
,
173
,
/* 310 */
755
,
146
,
68
,
146
,
662
,
48
,
665
,
669
,
599
,
638
,
/* 320 */
639
,
596
,
668
,
597
,
33
,
598
,
612
,
669
,
603
,
607
,
/* 330 */
604
,
22
,
668
,
832
,
833
,
25
,
836
,
216
,
625
,
88
,
/* 340 */
92
,
937
,
668
,
119
,
936
,
82
,
97
,
100
,
91
,
201
,
/* 350 */
202
,
191
,
588
,
629
,
94
,
3
,
136
,
27
,
52
,
152
,
/* 360 */
148
,
29
,
77
,
73
,
76
,
150
,
105
,
104
,
103
,
40
,
/* 370 */
39
,
630
,
689
,
38
,
37
,
36
,
18
,
17
,
671
,
53
,
/* 380 */
56
,
174
,
234
,
17
,
589
,
81
,
80
,
27
,
175
,
52
,
/* 390 */
12
,
11
,
99
,
98
,
673
,
87
,
86
,
57
,
54
,
160
,
/* 400 */
59
,
161
,
577
,
14
,
13
,
163
,
601
,
164
,
602
,
114
,
/* 410 */
112
,
170
,
171
,
901
,
169
,
900
,
156
,
168
,
159
,
192
,
/* 420 */
257
,
116
,
867
,
859
,
600
,
872
,
32
,
874
,
118
,
133
,
/* 430 */
887
,
886
,
131
,
134
,
135
,
765
,
238
,
154
,
30
,
215
,
/* 440 */
247
,
762
,
956
,
78
,
955
,
953
,
137
,
251
,
113
,
950
,
/* 450 */
84
,
949
,
947
,
138
,
783
,
31
,
28
,
155
,
752
,
93
,
/* 460 */
750
,
95
,
624
,
220
,
96
,
181
,
748
,
747
,
203
,
147
,
/* 470 */
58
,
745
,
224
,
744
,
743
,
856
,
742
,
741
,
149
,
151
,
/* 480 */
738
,
55
,
50
,
123
,
229
,
227
,
736
,
734
,
225
,
732
,
/* 490 */
223
,
730
,
221
,
153
,
89
,
34
,
218
,
63
,
259
,
260
,
/* 500 */
64
,
888
,
261
,
262
,
263
,
264
,
265
,
276
,
708
,
176
,
/* 510 */
205
,
206
,
707
,
208
,
236
,
237
,
209
,
177
,
172
,
706
,
/* 520 */
74
,
694
,
212
,
216
,
609
,
746
,
60
,
106
,
233
,
6
,
/* 530 */
120
,
141
,
140
,
784
,
139
,
142
,
143
,
740
,
144
,
145
,
/* 540 */
107
,
739
,
2
,
108
,
841
,
731
,
65
,
626
,
1
,
129
,
/* 550 */
126
,
124
,
125
,
183
,
127
,
128
,
130
,
222
,
7
,
631
,
/* 560 */
121
,
23
,
24
,
672
,
8
,
5
,
674
,
9
,
19
,
235
,
/* 570 */
72
,
546
,
542
,
70
,
540
,
539
,
538
,
535
,
509
,
245
,
/* 580 */
79
,
27
,
75
,
580
,
51
,
83
,
85
,
579
,
576
,
530
,
/* 590 */
528
,
520
,
526
,
522
,
524
,
518
,
516
,
548
,
547
,
545
,
/* 600 */
544
,
543
,
541
,
537
,
536
,
52
,
507
,
477
,
475
,
712
,
/* 610 */
711
,
711
,
711
,
711
,
711
,
711
,
711
,
711
,
711
,
711
,
/* 620 */
711
,
110
,
111
,
};
static
const
YYCODETYPE
yy_lookahead
[]
=
{
/* 0 */
267
,
1
,
267
,
2
13
,
210
,
211
,
230
,
5
,
213
,
9
,
/* 10 */
277
,
276
,
277
,
13
,
14
,
267
,
16
,
17
,
2
51
,
213
,
/* 20 */
20
,
21
,
1
,
1
,
24
,
25
,
26
,
27
,
28
,
2
53
,
/* 30 */
9
,
9
,
2
65
,
33
,
34
,
33
,
34
,
37
,
38
,
39
,
/* 40 */
13
,
14
,
252
,
16
,
17
,
251
,
213
,
20
,
21
,
212
,
/* 50 */
21
3
,
24
,
25
,
26
,
27
,
28
,
250
,
218
,
252
,
265
,
/* 60 */
33
,
34
,
2
30
,
268
,
37
,
38
,
39
,
45
,
46
,
47
,
/* 0 */
267
,
1
,
267
,
2
09
,
210
,
251
,
1
,
5
,
229
,
9
,
/* 10 */
277
,
276
,
277
,
13
,
14
,
267
,
16
,
17
,
2
12
,
265
,
/* 20 */
20
,
21
,
1
,
1
,
24
,
25
,
26
,
27
,
28
,
2
12
,
/* 30 */
9
,
9
,
2
53
,
33
,
34
,
33
,
34
,
37
,
38
,
39
,
/* 40 */
13
,
14
,
37
,
16
,
17
,
251
,
253
,
20
,
21
,
211
,
/* 50 */
21
2
,
24
,
25
,
26
,
27
,
28
,
250
,
229
,
252
,
265
,
/* 60 */
33
,
34
,
2
67
,
217
,
37
,
38
,
39
,
45
,
46
,
47
,
/* 70 */
48
,
49
,
50
,
51
,
52
,
53
,
54
,
55
,
56
,
57
,
/* 80 */
66
,
76
,
60
,
13
,
14
,
253
,
16
,
17
,
249
,
78
,
/* 90 */
20
,
21
,
267
,
2
13
,
24
,
25
,
26
,
27
,
28
,
213
,
/* 100 */
21
3
,
276
,
277
,
33
,
34
,
105
,
273
,
37
,
38
,
39
,
/* 110 */
8
5
,
86
,
87
,
88
,
89
,
90
,
91
,
92
,
93
,
94
,
/* 120 */
9
5
,
96
,
97
,
98
,
99
,
245
,
267
,
229
,
101
,
231
,
/* 130 */
23
2
,
233
,
234
,
235
,
236
,
237
,
238
,
239
,
240
,
241
,
/* 140 */
24
2
,
243
,
244
,
14
,
130
,
16
,
17
,
133
,
134
,
20
,
/* 150 */
2
1
,
118
,
119
,
24
,
25
,
26
,
27
,
28
,
271
,
273
,
/* 160 */
273
,
27
5
,
33
,
34
,
213
,
213
,
37
,
38
,
39
,
12
9
,
/* 170 */
16
,
17
,
213
,
230
,
20
,
21
,
136
,
137
,
24
,
25
,
/* 180 */
2
6
,
27
,
28
,
37
,
38
,
39
,
213
,
33
,
34
,
100
,
/* 190 */
267
,
37
,
38
,
39
,
1
,
2
,
253
,
108
,
5
,
267
,
/* 200 */
7
,
250
,
9
,
252
,
1
,
2
,
267
,
44
,
5
,
250
,
/* 210 */
7
,
252
,
9
,
100
,
1
,
2
,
0
,
267
,
5
,
254
,
/* 220 */
7
,
108
,
9
,
60
,
101
,
273
,
33
,
34
,
213
,
66
,
/* 230 */
37
,
266
,
109
,
70
,
71
,
72
,
33
,
34
,
131
,
132
,
/* 240 */
37
,
85
,
269
,
87
,
88
,
267
,
33
,
34
,
92
,
1
,
/* 250 */
94
,
95
,
96
,
217
,
98
,
99
,
220
,
15
,
229
,
73
,
/* 260 */
267
,
232
,
233
,
100
,
78
,
250
,
237
,
252
,
239
,
240
,
/* 270 */
2
41
,
108
,
243
,
244
,
25
,
26
,
27
,
28
,
217
,
106
,
/* 280 */
2
18
,
220
,
33
,
34
,
111
,
37
,
37
,
38
,
39
,
61
,
/* 290 */
62
,
128
,
76
,
100
,
253
,
67
,
68
,
69
,
135
,
131
,
/* 300 */
132
,
2
,
101
,
100
,
5
,
112
,
7
,
106
,
9
,
247
,
/* 310 */
2
48
,
249
,
5
,
100
,
7
,
112
,
217
,
33
,
34
,
220
,
/* 320 */
12
7
,
37
,
38
,
39
,
59
,
112
,
101
,
106
,
61
,
6
2
,
/* 330 */
127
,
106
,
33
,
34
,
67
,
68
,
69
,
61
,
62
,
5
,
/* 340 */
127
,
7
,
75
,
67
,
68
,
69
,
125
,
100
,
267
,
107
,
/* 350 */
106
,
104
,
105
,
63
,
64
,
65
,
101
,
101
,
101
,
10
1
,
/* 360 */
267
,
106
,
106
,
106
,
106
,
100
,
100
,
123
,
102
,
101
,
/* 370 */
101
,
5
,
267
,
7
,
106
,
106
,
5
,
267
,
7
,
73
,
/* 380 */
74
,
61
,
62
,
267
,
267
,
267
,
267
,
267
,
267
,
253
,
/* 390 */
246
,
246
,
251
,
246
,
246
,
246
,
246
,
246
,
213
,
274
,
/* 400 */
213
,
213
,
213
,
213
,
274
,
213
,
107
,
255
,
213
,
213
,
/* 410 */
213
,
213
,
213
,
213
,
59
,
213
,
108
,
213
,
213
,
213
,
/* 420 */
2
13
,
213
,
213
,
213
,
213
,
213
,
251
,
213
,
213
,
1
12
,
/* 430 */
2
13
,
213
,
213
,
213
,
270
,
213
,
213
,
213
,
122
,
213
,
/* 440 */
21
3
,
270
,
213
,
213
,
213
,
213
,
213
,
213
,
213
,
213
,
/* 450 */
21
3
,
213
,
213
,
270
,
214
,
214
,
124
,
214
,
264
,
121
,
/* 460 */
116
,
120
,
115
,
114
,
113
,
126
,
84
,
83
,
49
,
80
,
/* 470 */
82
,
53
,
81
,
79
,
214
,
214
,
214
,
76
,
5
,
5
,
/* 480 */
138
,
5
,
218
,
138
,
214
,
5
,
5
,
129
,
86
,
214
,
/* 490 */
1
09
,
101
,
106
,
110
,
101
,
215
,
222
,
215
,
226
,
228
,
/* 500 */
2
27
,
223
,
225
,
224
,
221
,
214
,
214
,
261
,
263
,
256
,
/* 510 */
258
,
260
,
262
,
259
,
251
,
219
,
257
,
216
,
1
,
106
,
/* 520 */
100
,
100
,
117
,
101
,
100
,
117
,
101
,
100
,
100
,
106
,
/* 530 */
10
0
,
73
,
103
,
107
,
103
,
9
,
104
,
5
,
5
,
5
,
/* 540 */
5
,
5
,
77
,
15
,
73
,
16
,
132
,
132
,
106
,
5
,
/* 550 */
5
,
101
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
/* 560 */
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
106
,
77
,
/* 570 */
59
,
58
,
0
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
/* 580 */
278
,
278
,
278
,
278
,
21
,
21
,
278
,
278
,
278
,
278
,
/* 590 */
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
/* 600 */
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
/* 80 */
66
,
253
,
60
,
13
,
14
,
268
,
16
,
17
,
77
,
79
,
/* 90 */
20
,
21
,
267
,
2
47
,
24
,
25
,
26
,
27
,
28
,
212
,
/* 100 */
21
2
,
276
,
277
,
33
,
34
,
212
,
106
,
37
,
38
,
39
,
/* 110 */
8
6
,
87
,
88
,
89
,
90
,
91
,
92
,
93
,
94
,
95
,
/* 120 */
9
6
,
97
,
98
,
99
,
100
,
37
,
38
,
39
,
228
,
102
,
/* 130 */
23
0
,
231
,
232
,
233
,
234
,
235
,
236
,
237
,
238
,
239
,
/* 140 */
24
0
,
241
,
242
,
243
,
14
,
131
,
16
,
17
,
134
,
135
,
/* 150 */
2
0
,
21
,
0
,
229
,
24
,
25
,
26
,
27
,
28
,
271
,
/* 160 */
273
,
27
3
,
275
,
33
,
34
,
101
,
273
,
37
,
38
,
3
9
,
/* 170 */
212
,
16
,
17
,
109
,
212
,
20
,
21
,
253
,
130
,
24
,
/* 180 */
2
5
,
26
,
27
,
28
,
212
,
137
,
138
,
267
,
33
,
34
,
/* 190 */
66
,
253
,
37
,
38
,
39
,
1
,
2
,
212
,
267
,
5
,
/* 200 */
217
,
7
,
212
,
9
,
212
,
1
,
2
,
59
,
250
,
5
,
/* 210 */
252
,
7
,
250
,
9
,
252
,
1
,
2
,
44
,
101
,
5
,
/* 220 */
74
,
7
,
250
,
9
,
252
,
79
,
109
,
33
,
34
,
77
,
/* 230 */
212
,
37
,
249
,
60
,
63
,
64
,
65
,
33
,
34
,
66
,
/* 240 */
250
,
37
,
252
,
212
,
71
,
72
,
73
,
33
,
34
,
10
1
,
/* 250 */
86
,
212
,
88
,
89
,
269
,
131
,
212
,
93
,
134
,
95
,
/* 260 */
96
,
97
,
101
,
99
,
100
,
273
,
105
,
106
,
250
,
228
,
/* 270 */
2
52
,
102
,
231
,
232
,
101
,
244
,
107
,
236
,
245
,
238
,
/* 280 */
2
39
,
240
,
109
,
242
,
243
,
25
,
26
,
27
,
28
,
250
,
/* 290 */
5
,
252
,
7
,
33
,
34
,
101
,
252
,
37
,
38
,
39
,
/* 300 */
216
,
15
,
129
,
219
,
217
,
101
,
245
,
113
,
216
,
136
,
/* 310 */
2
16
,
219
,
254
,
219
,
5
,
101
,
7
,
113
,
2
,
119
,
/* 320 */
12
0
,
5
,
128
,
7
,
266
,
9
,
107
,
113
,
5
,
10
2
,
/* 330 */
7
,
112
,
128
,
246
,
247
,
248
,
249
,
110
,
102
,
61
,
/* 340 */
62
,
267
,
128
,
107
,
267
,
67
,
68
,
69
,
70
,
33
,
/* 350 */
34
,
245
,
102
,
102
,
76
,
61
,
62
,
107
,
107
,
6
1
,
/* 360 */
62
,
67
,
68
,
69
,
70
,
67
,
68
,
69
,
70
,
33
,
/* 370 */
34
,
102
,
102
,
37
,
38
,
39
,
107
,
107
,
102
,
107
,
/* 380 */
107
,
267
,
102
,
107
,
102
,
132
,
133
,
107
,
267
,
107
,
/* 390 */
132
,
133
,
74
,
75
,
108
,
132
,
133
,
124
,
126
,
267
,
/* 400 */
101
,
267
,
103
,
132
,
133
,
267
,
5
,
267
,
7
,
61
,
/* 410 */
62
,
267
,
267
,
245
,
267
,
245
,
267
,
267
,
267
,
245
,
/* 420 */
2
45
,
212
,
212
,
251
,
108
,
212
,
109
,
212
,
212
,
2
12
,
/* 430 */
2
74
,
274
,
255
,
212
,
212
,
212
,
212
,
212
,
212
,
251
,
/* 440 */
21
2
,
212
,
212
,
212
,
212
,
212
,
212
,
212
,
59
,
212
,
/* 450 */
21
2
,
212
,
212
,
212
,
212
,
212
,
212
,
212
,
212
,
212
,
/* 460 */
212
,
212
,
113
,
270
,
212
,
270
,
212
,
212
,
212
,
212
,
/* 470 */
123
,
212
,
270
,
212
,
212
,
264
,
212
,
212
,
212
,
212
,
/* 480 */
212
,
125
,
122
,
263
,
117
,
121
,
212
,
212
,
116
,
212
,
/* 490 */
1
15
,
212
,
114
,
212
,
85
,
127
,
213
,
213
,
84
,
49
,
/* 500 */
2
13
,
213
,
81
,
83
,
53
,
82
,
80
,
77
,
5
,
213
,
/* 510 */
139
,
5
,
5
,
139
,
213
,
213
,
5
,
213
,
213
,
5
,
/* 520 */
217
,
87
,
130
,
110
,
102
,
213
,
111
,
214
,
104
,
101
,
/* 530 */
10
1
,
221
,
225
,
227
,
226
,
224
,
222
,
213
,
223
,
220
,
/* 540 */
214
,
213
,
215
,
214
,
251
,
213
,
107
,
102
,
218
,
257
,
/* 550 */
260
,
262
,
261
,
1
,
259
,
258
,
256
,
101
,
118
,
102
,
/* 560 */
101
,
107
,
107
,
102
,
118
,
101
,
108
,
101
,
101
,
104
,
/* 570 */
74
,
9
,
5
,
105
,
5
,
5
,
5
,
5
,
78
,
15
,
/* 580 */
133
,
107
,
74
,
5
,
16
,
133
,
133
,
5
,
102
,
5
,
/* 590 */
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
/* 600 */
5
,
5
,
5
,
5
,
5
,
107
,
78
,
59
,
58
,
0
,
/* 610 */
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
/* 620 */
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
/* 620 */
278
,
21
,
21
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
/* 630 */
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
/* 640 */
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
/* 650 */
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
...
...
@@ -345,86 +360,97 @@ static const YYCODETYPE yy_lookahead[] = {
/* 760 */
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
/* 770 */
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
/* 780 */
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
/* 790 */
278
,
278
,
278
,
278
,
278
,
/* 790 */
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
/* 800 */
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
/* 810 */
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
/* 820 */
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
278
,
/* 830 */
278
,
278
,
};
#define YY_SHIFT_COUNT (2
57
)
#define YY_SHIFT_COUNT (2
81
)
#define YY_SHIFT_MIN (0)
#define YY_SHIFT_MAX (
572
)
#define YY_SHIFT_MAX (
609
)
static
const
unsigned
short
int
yy_shift_ofst
[]
=
{
/* 0 */
1
63
,
25
,
156
,
5
,
193
,
213
,
21
,
21
,
21
,
21
,
/* 10 */
21
,
21
,
0
,
22
,
213
,
299
,
299
,
299
,
113
,
21
,
/* 20 */
21
,
21
,
216
,
21
,
21
,
186
,
11
,
11
,
586
,
203
,
/* 30 */
213
,
213
,
213
,
213
,
213
,
213
,
213
,
213
,
213
,
213
,
/* 40 */
21
3
,
213
,
213
,
213
,
213
,
213
,
213
,
299
,
299
,
2
,
/* 50 */
2
,
2
,
2
,
2
,
2
,
2
,
89
,
21
,
21
,
21
,
/* 60 */
21
,
33
,
33
,
173
,
21
,
21
,
21
,
21
,
21
,
21
,
/* 0 */
1
73
,
24
,
164
,
11
,
194
,
214
,
21
,
21
,
21
,
21
,
/* 10 */
21
,
21
,
21
,
21
,
21
,
0
,
22
,
214
,
316
,
316
,
/* 20 */
316
,
117
,
21
,
21
,
21
,
152
,
21
,
21
,
146
,
11
,
/* 30 */
10
,
10
,
623
,
204
,
214
,
214
,
214
,
214
,
214
,
214
,
/* 40 */
21
4
,
214
,
214
,
214
,
214
,
214
,
214
,
214
,
214
,
214
,
/* 50 */
214
,
316
,
316
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
/* 60 */
64
,
21
,
21
,
21
,
21
,
21
,
200
,
200
,
219
,
21
,
/* 70 */
21
,
21
,
21
,
21
,
21
,
21
,
21
,
21
,
21
,
21
,
/* 80 */
21
,
21
,
21
,
21
,
21
,
21
,
21
,
21
,
21
,
21
,
/* 90 */
21
,
21
,
21
,
21
,
21
,
21
,
21
,
21
,
21
,
21
,
/* 100 */
21
,
21
,
21
,
21
,
308
,
355
,
355
,
317
,
317
,
317
,
/* 110 */
355
,
316
,
332
,
338
,
344
,
341
,
347
,
349
,
351
,
339
,
/* 120 */
308
,
355
,
355
,
355
,
5
,
355
,
382
,
384
,
419
,
389
,
/* 130 */
388
,
418
,
391
,
394
,
355
,
401
,
355
,
401
,
355
,
586
,
/* 140 */
586
,
27
,
70
,
70
,
70
,
129
,
154
,
249
,
249
,
249
,
/* 150 */
267
,
284
,
284
,
284
,
284
,
228
,
276
,
14
,
40
,
146
,
/* 160 */
146
,
247
,
290
,
123
,
201
,
225
,
255
,
256
,
257
,
307
,
/* 170 */
334
,
248
,
265
,
242
,
221
,
244
,
258
,
268
,
269
,
107
,
/* 180 */
266
,
168
,
366
,
371
,
306
,
320
,
473
,
342
,
474
,
476
,
/* 190 */
345
,
480
,
481
,
402
,
358
,
381
,
390
,
383
,
386
,
393
,
/* 200 */
420
,
517
,
421
,
422
,
424
,
413
,
405
,
423
,
408
,
425
,
/* 210 */
427
,
426
,
428
,
429
,
430
,
431
,
432
,
458
,
526
,
532
,
/* 220 */
533
,
534
,
535
,
536
,
465
,
528
,
471
,
529
,
414
,
415
,
/* 230 */
442
,
544
,
545
,
450
,
442
,
547
,
548
,
549
,
550
,
551
,
/* 240 */
552
,
553
,
554
,
555
,
556
,
557
,
558
,
559
,
560
,
561
,
/* 250 */
562
,
462
,
492
,
563
,
564
,
511
,
513
,
572
,
/* 100 */
21
,
21
,
21
,
21
,
21
,
21
,
21
,
21
,
21
,
21
,
/* 110 */
21
,
21
,
21
,
21
,
21
,
317
,
389
,
389
,
389
,
349
,
/* 120 */
349
,
349
,
389
,
347
,
356
,
360
,
367
,
364
,
372
,
375
,
/* 130 */
378
,
368
,
317
,
389
,
389
,
389
,
11
,
389
,
389
,
409
,
/* 140 */
414
,
450
,
421
,
420
,
451
,
423
,
426
,
389
,
430
,
389
,
/* 150 */
430
,
389
,
430
,
389
,
623
,
623
,
27
,
70
,
70
,
70
,
/* 160 */
130
,
155
,
260
,
260
,
260
,
278
,
294
,
298
,
336
,
336
,
/* 170 */
336
,
336
,
14
,
48
,
88
,
88
,
161
,
124
,
171
,
227
,
/* 180 */
169
,
236
,
251
,
269
,
270
,
276
,
285
,
309
,
5
,
148
,
/* 190 */
286
,
272
,
273
,
250
,
280
,
282
,
253
,
258
,
263
,
299
,
/* 200 */
271
,
323
,
401
,
318
,
348
,
503
,
371
,
506
,
507
,
374
,
/* 210 */
511
,
514
,
434
,
392
,
413
,
422
,
415
,
424
,
428
,
439
,
/* 220 */
445
,
429
,
552
,
456
,
457
,
459
,
454
,
440
,
455
,
446
,
/* 230 */
461
,
464
,
458
,
466
,
424
,
467
,
465
,
468
,
496
,
562
,
/* 240 */
567
,
569
,
570
,
571
,
572
,
500
,
564
,
508
,
447
,
474
,
/* 250 */
474
,
568
,
452
,
453
,
474
,
578
,
582
,
486
,
474
,
584
,
/* 260 */
585
,
586
,
587
,
588
,
589
,
590
,
591
,
592
,
593
,
594
,
/* 270 */
595
,
596
,
597
,
598
,
599
,
498
,
528
,
600
,
601
,
548
,
/* 280 */
550
,
609
,
};
#define YY_REDUCE_COUNT (1
40
)
#define YY_REDUCE_COUNT (1
55
)
#define YY_REDUCE_MIN (-267)
#define YY_REDUCE_MAX (3
01
)
#define YY_REDUCE_MAX (3
32
)
static
const
short
yy_reduce_ofst
[]
=
{
/* 0 */
-
206
,
-
102
,
29
,
62
,
-
265
,
-
175
,
-
114
,
-
113
,
-
194
,
-
49
,
/* 10 */
-
41
,
15
,
-
205
,
-
163
,
-
267
,
-
224
,
-
168
,
-
57
,
-
233
,
-
27
,
/* 20 */
-
167
,
-
48
,
-
161
,
-
120
,
-
210
,
36
,
61
,
99
,
-
35
,
-
252
,
/* 30 */
-
141
,
-
77
,
-
68
,
-
61
,
-
50
,
-
22
,
-
7
,
81
,
93
,
105
,
/* 40 */
110
,
116
,
117
,
118
,
119
,
120
,
121
,
41
,
136
,
144
,
/* 50 */
145
,
147
,
148
,
149
,
150
,
151
,
141
,
185
,
187
,
188
,
/* 60 */
189
,
125
,
130
,
152
,
190
,
192
,
195
,
196
,
197
,
198
,
/* 70 */
199
,
200
,
202
,
204
,
205
,
206
,
207
,
208
,
209
,
210
,
/* 80 */
211
,
212
,
214
,
215
,
217
,
218
,
219
,
220
,
222
,
223
,
/* 90 */
224
,
226
,
227
,
229
,
230
,
231
,
232
,
233
,
234
,
235
,
/* 100 */
236
,
237
,
238
,
239
,
175
,
240
,
241
,
164
,
171
,
183
,
/* 110 */
243
,
194
,
245
,
250
,
246
,
251
,
254
,
252
,
259
,
253
,
/* 120 */
263
,
260
,
261
,
262
,
264
,
270
,
271
,
273
,
272
,
274
,
/* 130 */
277
,
278
,
279
,
283
,
275
,
280
,
291
,
282
,
292
,
296
,
/* 140 */
301
,
/* 0 */
-
206
,
-
100
,
41
,
87
,
-
265
,
-
175
,
-
194
,
-
113
,
-
112
,
-
42
,
/* 10 */
-
38
,
-
28
,
-
10
,
18
,
39
,
-
183
,
-
162
,
-
267
,
-
221
,
-
172
,
/* 20 */
-
76
,
-
246
,
-
15
,
-
107
,
-
8
,
-
17
,
31
,
44
,
84
,
-
154
,
/* 30 */
92
,
94
,
58
,
-
252
,
-
205
,
-
80
,
-
69
,
74
,
77
,
114
,
/* 40 */
121
,
132
,
134
,
138
,
140
,
144
,
145
,
147
,
149
,
150
,
/* 50 */
151
,
-
207
,
-
62
,
33
,
61
,
106
,
168
,
170
,
174
,
175
,
/* 60 */
172
,
209
,
210
,
213
,
215
,
216
,
156
,
157
,
177
,
217
,
/* 70 */
221
,
222
,
223
,
224
,
225
,
226
,
228
,
229
,
230
,
231
,
/* 80 */
232
,
233
,
234
,
235
,
237
,
238
,
239
,
240
,
241
,
242
,
/* 90 */
243
,
244
,
245
,
246
,
247
,
248
,
249
,
252
,
254
,
255
,
/* 100 */
256
,
257
,
259
,
261
,
262
,
264
,
265
,
266
,
267
,
268
,
/* 110 */
274
,
275
,
277
,
279
,
281
,
188
,
283
,
284
,
287
,
193
,
/* 120 */
195
,
202
,
288
,
211
,
220
,
289
,
291
,
290
,
295
,
297
,
/* 130 */
292
,
300
,
293
,
296
,
301
,
302
,
303
,
304
,
305
,
306
,
/* 140 */
308
,
307
,
310
,
311
,
314
,
315
,
319
,
312
,
313
,
324
,
/* 150 */
326
,
328
,
329
,
332
,
330
,
327
,
};
static
const
YYACTIONTYPE
yy_default
[]
=
{
/* 0 */
671
,
725
,
714
,
722
,
903
,
903
,
671
,
671
,
671
,
671
,
/* 10 */
671
,
671
,
828
,
689
,
903
,
671
,
671
,
671
,
671
,
671
,
/* 20 */
671
,
671
,
722
,
671
,
671
,
727
,
727
,
727
,
823
,
671
,
/* 30 */
671
,
671
,
671
,
671
,
671
,
671
,
671
,
671
,
671
,
671
,
/* 40 */
671
,
671
,
671
,
671
,
671
,
671
,
671
,
671
,
671
,
671
,
/* 50 */
671
,
671
,
671
,
671
,
671
,
671
,
671
,
671
,
830
,
832
,
/* 60 */
671
,
850
,
850
,
821
,
671
,
671
,
671
,
671
,
671
,
671
,
/* 70 */
671
,
671
,
671
,
671
,
671
,
671
,
671
,
671
,
671
,
671
,
/* 80 */
671
,
671
,
671
,
712
,
671
,
710
,
671
,
671
,
671
,
671
,
/* 90 */
671
,
671
,
671
,
671
,
671
,
671
,
671
,
671
,
699
,
671
,
/* 100 */
671
,
671
,
671
,
671
,
671
,
691
,
691
,
671
,
671
,
671
,
/* 110 */
691
,
857
,
861
,
855
,
843
,
851
,
842
,
838
,
837
,
865
,
/* 120 */
671
,
691
,
691
,
691
,
722
,
691
,
743
,
741
,
739
,
731
,
/* 130 */
737
,
733
,
735
,
729
,
691
,
720
,
691
,
720
,
691
,
761
,
/* 140 */
777
,
671
,
866
,
902
,
856
,
892
,
891
,
898
,
890
,
889
,
/* 150 */
671
,
885
,
886
,
888
,
887
,
671
,
671
,
671
,
671
,
894
,
/* 160 */
893
,
671
,
671
,
671
,
671
,
671
,
671
,
671
,
671
,
671
,
/* 170 */
671
,
671
,
868
,
671
,
862
,
858
,
671
,
671
,
671
,
671
,
/* 180 */
787
,
671
,
671
,
671
,
671
,
671
,
671
,
671
,
671
,
671
,
/* 190 */
671
,
671
,
671
,
671
,
671
,
820
,
671
,
671
,
829
,
671
,
/* 200 */
671
,
671
,
671
,
671
,
671
,
852
,
671
,
844
,
671
,
671
,
/* 210 */
671
,
671
,
671
,
797
,
671
,
671
,
671
,
671
,
671
,
671
,
/* 220 */
671
,
671
,
671
,
671
,
671
,
671
,
671
,
671
,
671
,
671
,
/* 230 */
907
,
671
,
671
,
671
,
905
,
671
,
671
,
671
,
671
,
671
,
/* 240 */
671
,
671
,
671
,
671
,
671
,
671
,
671
,
671
,
671
,
671
,
/* 250 */
671
,
746
,
671
,
697
,
695
,
671
,
687
,
671
,
/* 0 */
709
,
764
,
753
,
761
,
944
,
944
,
709
,
709
,
709
,
709
,
/* 10 */
709
,
709
,
709
,
709
,
709
,
869
,
727
,
944
,
709
,
709
,
/* 20 */
709
,
709
,
709
,
709
,
709
,
761
,
709
,
709
,
766
,
761
,
/* 30 */
766
,
766
,
864
,
709
,
709
,
709
,
709
,
709
,
709
,
709
,
/* 40 */
709
,
709
,
709
,
709
,
709
,
709
,
709
,
709
,
709
,
709
,
/* 50 */
709
,
709
,
709
,
709
,
709
,
709
,
709
,
709
,
709
,
709
,
/* 60 */
709
,
709
,
709
,
871
,
873
,
709
,
891
,
891
,
862
,
709
,
/* 70 */
709
,
709
,
709
,
709
,
709
,
709
,
709
,
709
,
709
,
709
,
/* 80 */
709
,
709
,
709
,
709
,
709
,
709
,
709
,
709
,
709
,
709
,
/* 90 */
709
,
709
,
709
,
751
,
709
,
749
,
709
,
709
,
709
,
709
,
/* 100 */
709
,
709
,
709
,
709
,
709
,
709
,
709
,
709
,
709
,
737
,
/* 110 */
709
,
709
,
709
,
709
,
709
,
709
,
729
,
729
,
729
,
709
,
/* 120 */
709
,
709
,
729
,
898
,
902
,
896
,
884
,
892
,
883
,
879
,
/* 130 */
878
,
906
,
709
,
729
,
729
,
729
,
761
,
729
,
729
,
782
,
/* 140 */
780
,
778
,
770
,
776
,
772
,
774
,
768
,
729
,
759
,
729
,
/* 150 */
759
,
729
,
759
,
729
,
800
,
816
,
709
,
907
,
943
,
897
,
/* 160 */
933
,
932
,
939
,
931
,
930
,
709
,
709
,
709
,
926
,
927
,
/* 170 */
929
,
928
,
709
,
709
,
935
,
934
,
709
,
709
,
709
,
709
,
/* 180 */
709
,
709
,
709
,
709
,
709
,
709
,
709
,
709
,
709
,
909
,
/* 190 */
709
,
903
,
899
,
709
,
709
,
709
,
709
,
709
,
709
,
826
,
/* 200 */
709
,
709
,
709
,
709
,
709
,
709
,
709
,
709
,
709
,
709
,
/* 210 */
709
,
709
,
709
,
709
,
861
,
709
,
709
,
709
,
709
,
870
,
/* 220 */
709
,
709
,
709
,
709
,
709
,
709
,
893
,
709
,
885
,
709
,
/* 230 */
709
,
709
,
709
,
709
,
838
,
709
,
709
,
709
,
709
,
709
,
/* 240 */
709
,
709
,
709
,
709
,
709
,
709
,
709
,
709
,
709
,
954
,
/* 250 */
952
,
709
,
709
,
709
,
948
,
709
,
709
,
709
,
946
,
709
,
/* 260 */
709
,
709
,
709
,
709
,
709
,
709
,
709
,
709
,
709
,
709
,
/* 270 */
709
,
709
,
709
,
709
,
709
,
785
,
709
,
735
,
733
,
709
,
/* 280 */
725
,
709
,
};
/********** End of lemon-generated parsing tables *****************************/
...
...
@@ -511,6 +537,7 @@ static const YYCODETYPE yyFallback[] = {
0
,
/* STABLES => nothing */
0
,
/* VGROUPS => nothing */
0
,
/* DROP => nothing */
1
,
/* STABLE => ID */
0
,
/* DNODE => nothing */
0
,
/* USER => nothing */
0
,
/* ACCOUNT => nothing */
...
...
@@ -649,7 +676,6 @@ static const YYCODETYPE yyFallback[] = {
1
,
/* TBNAME => ID */
1
,
/* JOIN => ID */
1
,
/* METRICS => ID */
1
,
/* STABLE => ID */
1
,
/* INSERT => ID */
1
,
/* INTO => ID */
1
,
/* VALUES => ID */
...
...
@@ -692,6 +718,7 @@ struct yyParser {
int
yyerrcnt
;
/* Shifts left before out of the error */
#endif
ParseARG_SDECL
/* A place to hold %extra_argument */
ParseCTX_SDECL
/* A place to hold %extra_context */
#if YYSTACKDEPTH<=0
int
yystksz
;
/* Current side of the stack */
yyStackEntry
*
yystack
;
/* The parser's stack */
...
...
@@ -806,187 +833,187 @@ static const char *const yyTokenName[] = {
/* 64 */
"STABLES"
,
/* 65 */
"VGROUPS"
,
/* 66 */
"DROP"
,
/* 67 */
"
DNOD
E"
,
/* 68 */
"
USER
"
,
/* 69 */
"
ACCOUNT
"
,
/* 70 */
"
USE
"
,
/* 71 */
"
DESCRIB
E"
,
/* 72 */
"
ALTER
"
,
/* 73 */
"
PASS
"
,
/* 74 */
"P
RIVILEGE
"
,
/* 75 */
"
LOCAL
"
,
/* 76 */
"
IF
"
,
/* 77 */
"
EXISTS
"
,
/* 78 */
"
PP
S"
,
/* 79 */
"
TSERIE
S"
,
/* 80 */
"
DB
S"
,
/* 81 */
"
STORAGE
"
,
/* 82 */
"
QTIM
E"
,
/* 83 */
"
CONNS
"
,
/* 84 */
"
STATE
"
,
/* 85 */
"
KEEP
"
,
/* 86 */
"
CACHE
"
,
/* 87 */
"
REPLICA
"
,
/* 88 */
"
QUORUM
"
,
/* 89 */
"
DAYS
"
,
/* 90 */
"
MINROW
S"
,
/* 91 */
"M
AX
ROWS"
,
/* 92 */
"
BLOCK
S"
,
/* 93 */
"
CTIME
"
,
/* 94 */
"
WAL
"
,
/* 95 */
"
FSYNC
"
,
/* 96 */
"
COMP
"
,
/* 97 */
"
PRECISION
"
,
/* 98 */
"
UPDATE
"
,
/* 99 */
"
CACHELAST
"
,
/* 100 */
"
LP
"
,
/* 101 */
"
R
P"
,
/* 102 */
"
UNSIGNED
"
,
/* 103 */
"
TAGS
"
,
/* 104 */
"
USING
"
,
/* 105 */
"
AS
"
,
/* 106 */
"
COMMA
"
,
/* 107 */
"
NULL
"
,
/* 108 */
"
SELECT
"
,
/* 109 */
"
UNION
"
,
/* 110 */
"
ALL
"
,
/* 111 */
"
FROM
"
,
/* 112 */
"
VARIABLE
"
,
/* 113 */
"
INTERVAL
"
,
/* 114 */
"
FIL
L"
,
/* 115 */
"
SLIDING
"
,
/* 116 */
"
ORDER
"
,
/* 117 */
"
BY
"
,
/* 118 */
"
ASC
"
,
/* 119 */
"
DE
SC"
,
/* 120 */
"
GROUP
"
,
/* 121 */
"
HAVING
"
,
/* 122 */
"
LIMIT
"
,
/* 123 */
"
OFFSE
T"
,
/* 124 */
"
SLIMI
T"
,
/* 125 */
"S
OFFSE
T"
,
/* 126 */
"
WHERE
"
,
/* 127 */
"
NOW
"
,
/* 128 */
"
RESET
"
,
/* 129 */
"
QUERY
"
,
/* 130 */
"
ADD
"
,
/* 131 */
"
COLUMN
"
,
/* 132 */
"
TAG
"
,
/* 133 */
"
CHANGE
"
,
/* 134 */
"
SET
"
,
/* 135 */
"
KILL
"
,
/* 136 */
"
CONNECTION
"
,
/* 137 */
"
STREAM
"
,
/* 138 */
"
COLON
"
,
/* 139 */
"
ABORT
"
,
/* 140 */
"A
FTER
"
,
/* 141 */
"A
TTACH
"
,
/* 142 */
"
BEFORE
"
,
/* 143 */
"BE
GIN
"
,
/* 144 */
"
CASCADE
"
,
/* 145 */
"C
LUSTER
"
,
/* 146 */
"C
ONFLICT
"
,
/* 147 */
"CO
PY
"
,
/* 148 */
"
DEFERRED
"
,
/* 149 */
"DE
LIMITERS
"
,
/* 150 */
"DE
TACH
"
,
/* 151 */
"
E
ACH"
,
/* 152 */
"E
ND
"
,
/* 153 */
"E
XPLAIN
"
,
/* 154 */
"
FAIL
"
,
/* 155 */
"F
OR
"
,
/* 156 */
"
IGNORE
"
,
/* 157 */
"I
MMEDIAT
E"
,
/* 158 */
"I
NITIALLY
"
,
/* 159 */
"IN
STEAD
"
,
/* 160 */
"
MATCH
"
,
/* 161 */
"
KEY
"
,
/* 162 */
"
OF
"
,
/* 163 */
"
RAISE
"
,
/* 164 */
"R
EPLAC
E"
,
/* 165 */
"RE
STRICT
"
,
/* 166 */
"R
OW
"
,
/* 167 */
"
STATEMENT
"
,
/* 168 */
"
TRIGGER
"
,
/* 169 */
"
VIEW
"
,
/* 170 */
"
COUNT
"
,
/* 171 */
"
SUM
"
,
/* 172 */
"
AVG
"
,
/* 173 */
"
MIN
"
,
/* 174 */
"M
AX
"
,
/* 175 */
"
FIRST
"
,
/* 176 */
"
LA
ST"
,
/* 177 */
"
TOP
"
,
/* 178 */
"
BOTTOM
"
,
/* 179 */
"
STDDEV
"
,
/* 180 */
"
PERCENTILE
"
,
/* 181 */
"
A
PERCENTILE"
,
/* 182 */
"
LEASTSQUARES
"
,
/* 183 */
"
HISTOGRAM
"
,
/* 184 */
"
DIFF
"
,
/* 185 */
"
SPREAD
"
,
/* 186 */
"
TWA
"
,
/* 187 */
"
INTERP
"
,
/* 188 */
"
LAST_ROW
"
,
/* 189 */
"
RATE
"
,
/* 190 */
"
I
RATE"
,
/* 191 */
"
SUM_
RATE"
,
/* 192 */
"SUM_
I
RATE"
,
/* 193 */
"
AVG_
RATE"
,
/* 194 */
"AVG_
I
RATE"
,
/* 195 */
"
TBID
"
,
/* 196 */
"
SEMI
"
,
/* 197 */
"
NONE
"
,
/* 198 */
"
PREV
"
,
/* 199 */
"
LINEAR
"
,
/* 200 */
"
IMPORT
"
,
/* 201 */
"
METRIC
"
,
/* 202 */
"
TBNAME
"
,
/* 203 */
"
JOIN
"
,
/* 204 */
"
METRICS
"
,
/* 205 */
"
STABLE
"
,
/* 67 */
"
STABL
E"
,
/* 68 */
"
DNODE
"
,
/* 69 */
"
USER
"
,
/* 70 */
"
ACCOUNT
"
,
/* 71 */
"
US
E"
,
/* 72 */
"
DESCRIBE
"
,
/* 73 */
"
ALTER
"
,
/* 74 */
"P
ASS
"
,
/* 75 */
"
PRIVILEGE
"
,
/* 76 */
"
LOCAL
"
,
/* 77 */
"
IF
"
,
/* 78 */
"
EXIST
S"
,
/* 79 */
"
PP
S"
,
/* 80 */
"
TSERIE
S"
,
/* 81 */
"
DBS
"
,
/* 82 */
"
STORAG
E"
,
/* 83 */
"
QTIME
"
,
/* 84 */
"
CONNS
"
,
/* 85 */
"
STATE
"
,
/* 86 */
"
KEEP
"
,
/* 87 */
"
CACHE
"
,
/* 88 */
"
REPLICA
"
,
/* 89 */
"
QUORUM
"
,
/* 90 */
"
DAY
S"
,
/* 91 */
"M
IN
ROWS"
,
/* 92 */
"
MAXROW
S"
,
/* 93 */
"
BLOCKS
"
,
/* 94 */
"
CTIME
"
,
/* 95 */
"
WAL
"
,
/* 96 */
"
FSYNC
"
,
/* 97 */
"
COMP
"
,
/* 98 */
"
PRECISION
"
,
/* 99 */
"
UPDATE
"
,
/* 100 */
"
CACHELAST
"
,
/* 101 */
"
L
P"
,
/* 102 */
"
RP
"
,
/* 103 */
"
UNSIGNED
"
,
/* 104 */
"
TAGS
"
,
/* 105 */
"
USING
"
,
/* 106 */
"
AS
"
,
/* 107 */
"
COMMA
"
,
/* 108 */
"
NULL
"
,
/* 109 */
"
SELECT
"
,
/* 110 */
"
UNION
"
,
/* 111 */
"
ALL
"
,
/* 112 */
"
FROM
"
,
/* 113 */
"
VARIABLE
"
,
/* 114 */
"
INTERVA
L"
,
/* 115 */
"
FILL
"
,
/* 116 */
"
SLIDING
"
,
/* 117 */
"
ORDER
"
,
/* 118 */
"
BY
"
,
/* 119 */
"
A
SC"
,
/* 120 */
"
DESC
"
,
/* 121 */
"
GROUP
"
,
/* 122 */
"
HAVING
"
,
/* 123 */
"
LIMI
T"
,
/* 124 */
"
OFFSE
T"
,
/* 125 */
"S
LIMI
T"
,
/* 126 */
"
SOFFSET
"
,
/* 127 */
"
WHERE
"
,
/* 128 */
"
NOW
"
,
/* 129 */
"
RESET
"
,
/* 130 */
"
QUERY
"
,
/* 131 */
"
ADD
"
,
/* 132 */
"
COLUMN
"
,
/* 133 */
"
TAG
"
,
/* 134 */
"
CHANGE
"
,
/* 135 */
"
SET
"
,
/* 136 */
"
KILL
"
,
/* 137 */
"
CONNECTION
"
,
/* 138 */
"
STREAM
"
,
/* 139 */
"
COLON
"
,
/* 140 */
"A
BORT
"
,
/* 141 */
"A
FTER
"
,
/* 142 */
"
ATTACH
"
,
/* 143 */
"BE
FORE
"
,
/* 144 */
"
BEGIN
"
,
/* 145 */
"C
ASCADE
"
,
/* 146 */
"C
LUSTER
"
,
/* 147 */
"CO
NFLICT
"
,
/* 148 */
"
COPY
"
,
/* 149 */
"DE
FERRED
"
,
/* 150 */
"DE
LIMITERS
"
,
/* 151 */
"
DET
ACH"
,
/* 152 */
"E
ACH
"
,
/* 153 */
"E
ND
"
,
/* 154 */
"
EXPLAIN
"
,
/* 155 */
"F
AIL
"
,
/* 156 */
"
FOR
"
,
/* 157 */
"I
GNOR
E"
,
/* 158 */
"I
MMEDIATE
"
,
/* 159 */
"IN
ITIALLY
"
,
/* 160 */
"
INSTEAD
"
,
/* 161 */
"
MATCH
"
,
/* 162 */
"
KEY
"
,
/* 163 */
"
OF
"
,
/* 164 */
"R
AIS
E"
,
/* 165 */
"RE
PLACE
"
,
/* 166 */
"R
ESTRICT
"
,
/* 167 */
"
ROW
"
,
/* 168 */
"
STATEMENT
"
,
/* 169 */
"
TRIGGER
"
,
/* 170 */
"
VIEW
"
,
/* 171 */
"
COUNT
"
,
/* 172 */
"
SUM
"
,
/* 173 */
"
AVG
"
,
/* 174 */
"M
IN
"
,
/* 175 */
"
MAX
"
,
/* 176 */
"
FIR
ST"
,
/* 177 */
"
LAST
"
,
/* 178 */
"
TOP
"
,
/* 179 */
"
BOTTOM
"
,
/* 180 */
"
STDDEV
"
,
/* 181 */
"PERCENTILE"
,
/* 182 */
"
APERCENTILE
"
,
/* 183 */
"
LEASTSQUARES
"
,
/* 184 */
"
HISTOGRAM
"
,
/* 185 */
"
DIFF
"
,
/* 186 */
"
SPREAD
"
,
/* 187 */
"
TWA
"
,
/* 188 */
"
INTERP
"
,
/* 189 */
"
LAST_ROW
"
,
/* 190 */
"RATE"
,
/* 191 */
"
I
RATE"
,
/* 192 */
"SUM_RATE"
,
/* 193 */
"
SUM_I
RATE"
,
/* 194 */
"AVG_RATE"
,
/* 195 */
"
AVG_IRATE
"
,
/* 196 */
"
TBID
"
,
/* 197 */
"
SEMI
"
,
/* 198 */
"
NONE
"
,
/* 199 */
"
PREV
"
,
/* 200 */
"
LINEAR
"
,
/* 201 */
"
IMPORT
"
,
/* 202 */
"
METRIC
"
,
/* 203 */
"
TBNAME
"
,
/* 204 */
"
JOIN
"
,
/* 205 */
"
METRICS
"
,
/* 206 */
"INSERT"
,
/* 207 */
"INTO"
,
/* 208 */
"VALUES"
,
/* 209 */
"
error
"
,
/* 210 */
"
program
"
,
/* 211 */
"
cmd
"
,
/* 212 */
"
dbPrefix
"
,
/* 213 */
"
ids
"
,
/* 214 */
"
cpxName
"
,
/* 215 */
"
ifexists
"
,
/* 216 */
"a
lter_db
_optr"
,
/* 217 */
"
acct_optr
"
,
/* 218 */
"
ifnotexists
"
,
/* 219 */
"
db_optr
"
,
/* 220 */
"
pp
s"
,
/* 221 */
"
tserie
s"
,
/* 222 */
"
db
s"
,
/* 223 */
"st
reams
"
,
/* 224 */
"
storag
e"
,
/* 225 */
"
qtime
"
,
/* 226 */
"
user
s"
,
/* 227 */
"
conns
"
,
/* 228 */
"
state
"
,
/* 229 */
"
keep
"
,
/* 230 */
"
tagitemlist
"
,
/* 231 */
"
cache
"
,
/* 232 */
"
replica
"
,
/* 233 */
"
quorum
"
,
/* 234 */
"
day
s"
,
/* 235 */
"m
in
rows"
,
/* 236 */
"
maxrow
s"
,
/* 237 */
"
blocks
"
,
/* 238 */
"
ctime
"
,
/* 239 */
"
wal
"
,
/* 240 */
"
fsync
"
,
/* 241 */
"
comp
"
,
/* 242 */
"
prec
"
,
/* 243 */
"
update
"
,
/* 244 */
"
cachelast
"
,
/* 245 */
"
typename
"
,
/* 246 */
"
signed
"
,
/* 247 */
"create_table_args"
,
/* 209 */
"
program
"
,
/* 210 */
"
cmd
"
,
/* 211 */
"
dbPrefix
"
,
/* 212 */
"
ids
"
,
/* 213 */
"
cpxName
"
,
/* 214 */
"
ifexists
"
,
/* 215 */
"
alter_db_optr
"
,
/* 216 */
"a
cct
_optr"
,
/* 217 */
"
ifnotexists
"
,
/* 218 */
"
db_optr
"
,
/* 219 */
"
pps
"
,
/* 220 */
"
tserie
s"
,
/* 221 */
"
db
s"
,
/* 222 */
"
stream
s"
,
/* 223 */
"st
orage
"
,
/* 224 */
"
qtim
e"
,
/* 225 */
"
users
"
,
/* 226 */
"
conn
s"
,
/* 227 */
"
state
"
,
/* 228 */
"
keep
"
,
/* 229 */
"
tagitemlist
"
,
/* 230 */
"
cache
"
,
/* 231 */
"
replica
"
,
/* 232 */
"
quorum
"
,
/* 233 */
"
days
"
,
/* 234 */
"
minrow
s"
,
/* 235 */
"m
ax
rows"
,
/* 236 */
"
block
s"
,
/* 237 */
"
ctime
"
,
/* 238 */
"
wal
"
,
/* 239 */
"
fsync
"
,
/* 240 */
"
comp
"
,
/* 241 */
"
prec
"
,
/* 242 */
"
update
"
,
/* 243 */
"
cachelast
"
,
/* 244 */
"
typename
"
,
/* 245 */
"
signed
"
,
/* 246 */
"
create_table_args
"
,
/* 247 */
"create_
s
table_args"
,
/* 248 */
"create_table_list"
,
/* 249 */
"create_from_stable"
,
/* 250 */
"columnlist"
,
...
...
@@ -1052,218 +1079,226 @@ static const char *const yyRuleName[] = {
/* 25 */
"cmd ::= SHOW dbPrefix VGROUPS"
,
/* 26 */
"cmd ::= SHOW dbPrefix VGROUPS ids"
,
/* 27 */
"cmd ::= DROP TABLE ifexists ids cpxName"
,
/* 28 */
"cmd ::= DROP DATABASE ifexists ids"
,
/* 29 */
"cmd ::= DROP DNODE ids"
,
/* 30 */
"cmd ::= DROP USER ids"
,
/* 31 */
"cmd ::= DROP ACCOUNT ids"
,
/* 32 */
"cmd ::= USE ids"
,
/* 33 */
"cmd ::= DESCRIBE ids cpxName"
,
/* 34 */
"cmd ::= ALTER USER ids PASS ids"
,
/* 35 */
"cmd ::= ALTER USER ids PRIVILEGE ids"
,
/* 36 */
"cmd ::= ALTER DNODE ids ids"
,
/* 37 */
"cmd ::= ALTER DNODE ids ids ids"
,
/* 38 */
"cmd ::= ALTER LOCAL ids"
,
/* 39 */
"cmd ::= ALTER LOCAL ids ids"
,
/* 40 */
"cmd ::= ALTER DATABASE ids alter_db_optr"
,
/* 41 */
"cmd ::= ALTER ACCOUNT ids acct_optr"
,
/* 42 */
"cmd ::= ALTER ACCOUNT ids PASS ids acct_optr"
,
/* 43 */
"ids ::= ID"
,
/* 44 */
"ids ::= STRING"
,
/* 45 */
"ifexists ::= IF EXISTS"
,
/* 46 */
"ifexists ::="
,
/* 47 */
"ifnotexists ::= IF NOT EXISTS"
,
/* 48 */
"ifnotexists ::="
,
/* 49 */
"cmd ::= CREATE DNODE ids"
,
/* 50 */
"cmd ::= CREATE ACCOUNT ids PASS ids acct_optr"
,
/* 51 */
"cmd ::= CREATE DATABASE ifnotexists ids db_optr"
,
/* 52 */
"cmd ::= CREATE USER ids PASS ids"
,
/* 53 */
"pps ::="
,
/* 54 */
"pps ::= PPS INTEGER"
,
/* 55 */
"tseries ::="
,
/* 56 */
"tseries ::= TSERIES INTEGER"
,
/* 57 */
"dbs ::="
,
/* 58 */
"dbs ::= DBS INTEGER"
,
/* 59 */
"streams ::="
,
/* 60 */
"streams ::= STREAMS INTEGER"
,
/* 61 */
"storage ::="
,
/* 62 */
"storage ::= STORAGE INTEGER"
,
/* 63 */
"qtime ::="
,
/* 64 */
"qtime ::= QTIME INTEGER"
,
/* 65 */
"users ::="
,
/* 66 */
"users ::= USERS INTEGER"
,
/* 67 */
"conns ::="
,
/* 68 */
"conns ::= CONNS INTEGER"
,
/* 69 */
"state ::="
,
/* 70 */
"state ::= STATE ids"
,
/* 71 */
"acct_optr ::= pps tseries storage streams qtime dbs users conns state"
,
/* 72 */
"keep ::= KEEP tagitemlist"
,
/* 73 */
"cache ::= CACHE INTEGER"
,
/* 74 */
"replica ::= REPLICA INTEGER"
,
/* 75 */
"quorum ::= QUORUM INTEGER"
,
/* 76 */
"days ::= DAYS INTEGER"
,
/* 77 */
"minrows ::= MINROWS INTEGER"
,
/* 78 */
"maxrows ::= MAXROWS INTEGER"
,
/* 79 */
"blocks ::= BLOCKS INTEGER"
,
/* 80 */
"ctime ::= CTIME INTEGER"
,
/* 81 */
"wal ::= WAL INTEGER"
,
/* 82 */
"fsync ::= FSYNC INTEGER"
,
/* 83 */
"comp ::= COMP INTEGER"
,
/* 84 */
"prec ::= PRECISION STRING"
,
/* 85 */
"update ::= UPDATE INTEGER"
,
/* 86 */
"cachelast ::= CACHELAST INTEGER"
,
/* 87 */
"db_optr ::="
,
/* 88 */
"db_optr ::= db_optr cache"
,
/* 89 */
"db_optr ::= db_optr replica"
,
/* 90 */
"db_optr ::= db_optr quorum"
,
/* 91 */
"db_optr ::= db_optr days"
,
/* 92 */
"db_optr ::= db_optr minrows"
,
/* 93 */
"db_optr ::= db_optr maxrows"
,
/* 94 */
"db_optr ::= db_optr blocks"
,
/* 95 */
"db_optr ::= db_optr ctime"
,
/* 96 */
"db_optr ::= db_optr wal"
,
/* 97 */
"db_optr ::= db_optr fsync"
,
/* 98 */
"db_optr ::= db_optr comp"
,
/* 99 */
"db_optr ::= db_optr prec"
,
/* 100 */
"db_optr ::= db_optr keep"
,
/* 101 */
"db_optr ::= db_optr update"
,
/* 102 */
"db_optr ::= db_optr cachelast"
,
/* 103 */
"alter_db_optr ::="
,
/* 104 */
"alter_db_optr ::= alter_db_optr replica"
,
/* 105 */
"alter_db_optr ::= alter_db_optr quorum"
,
/* 106 */
"alter_db_optr ::= alter_db_optr keep"
,
/* 107 */
"alter_db_optr ::= alter_db_optr blocks"
,
/* 108 */
"alter_db_optr ::= alter_db_optr comp"
,
/* 109 */
"alter_db_optr ::= alter_db_optr wal"
,
/* 110 */
"alter_db_optr ::= alter_db_optr fsync"
,
/* 111 */
"alter_db_optr ::= alter_db_optr update"
,
/* 112 */
"alter_db_optr ::= alter_db_optr cachelast"
,
/* 113 */
"typename ::= ids"
,
/* 114 */
"typename ::= ids LP signed RP"
,
/* 115 */
"typename ::= ids UNSIGNED"
,
/* 116 */
"signed ::= INTEGER"
,
/* 117 */
"signed ::= PLUS INTEGER"
,
/* 118 */
"signed ::= MINUS INTEGER"
,
/* 119 */
"cmd ::= CREATE TABLE create_table_args"
,
/* 120 */
"cmd ::= CREATE TABLE create_table_list"
,
/* 121 */
"create_table_list ::= create_from_stable"
,
/* 122 */
"create_table_list ::= create_table_list create_from_stable"
,
/* 123 */
"create_table_args ::= ifnotexists ids cpxName LP columnlist RP"
,
/* 124 */
"create_table_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP"
,
/* 125 */
"create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP"
,
/* 126 */
"create_table_args ::= ifnotexists ids cpxName AS select"
,
/* 127 */
"columnlist ::= columnlist COMMA column"
,
/* 128 */
"columnlist ::= column"
,
/* 129 */
"column ::= ids typename"
,
/* 130 */
"tagitemlist ::= tagitemlist COMMA tagitem"
,
/* 131 */
"tagitemlist ::= tagitem"
,
/* 132 */
"tagitem ::= INTEGER"
,
/* 133 */
"tagitem ::= FLOAT"
,
/* 134 */
"tagitem ::= STRING"
,
/* 135 */
"tagitem ::= BOOL"
,
/* 136 */
"tagitem ::= NULL"
,
/* 137 */
"tagitem ::= MINUS INTEGER"
,
/* 138 */
"tagitem ::= MINUS FLOAT"
,
/* 139 */
"tagitem ::= PLUS INTEGER"
,
/* 140 */
"tagitem ::= PLUS FLOAT"
,
/* 141 */
"select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt"
,
/* 142 */
"union ::= select"
,
/* 143 */
"union ::= LP union RP"
,
/* 144 */
"union ::= union UNION ALL select"
,
/* 145 */
"union ::= union UNION ALL LP select RP"
,
/* 146 */
"cmd ::= union"
,
/* 147 */
"select ::= SELECT selcollist"
,
/* 148 */
"sclp ::= selcollist COMMA"
,
/* 149 */
"sclp ::="
,
/* 150 */
"selcollist ::= sclp expr as"
,
/* 151 */
"selcollist ::= sclp STAR"
,
/* 152 */
"as ::= AS ids"
,
/* 153 */
"as ::= ids"
,
/* 154 */
"as ::="
,
/* 155 */
"from ::= FROM tablelist"
,
/* 156 */
"tablelist ::= ids cpxName"
,
/* 157 */
"tablelist ::= ids cpxName ids"
,
/* 158 */
"tablelist ::= tablelist COMMA ids cpxName"
,
/* 159 */
"tablelist ::= tablelist COMMA ids cpxName ids"
,
/* 160 */
"tmvar ::= VARIABLE"
,
/* 161 */
"interval_opt ::= INTERVAL LP tmvar RP"
,
/* 162 */
"interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP"
,
/* 163 */
"interval_opt ::="
,
/* 164 */
"fill_opt ::="
,
/* 165 */
"fill_opt ::= FILL LP ID COMMA tagitemlist RP"
,
/* 166 */
"fill_opt ::= FILL LP ID RP"
,
/* 167 */
"sliding_opt ::= SLIDING LP tmvar RP"
,
/* 168 */
"sliding_opt ::="
,
/* 169 */
"orderby_opt ::="
,
/* 170 */
"orderby_opt ::= ORDER BY sortlist"
,
/* 171 */
"sortlist ::= sortlist COMMA item sortorder"
,
/* 172 */
"sortlist ::= item sortorder"
,
/* 173 */
"item ::= ids cpxName"
,
/* 174 */
"sortorder ::= ASC"
,
/* 175 */
"sortorder ::= DESC"
,
/* 176 */
"sortorder ::="
,
/* 177 */
"groupby_opt ::="
,
/* 178 */
"groupby_opt ::= GROUP BY grouplist"
,
/* 179 */
"grouplist ::= grouplist COMMA item"
,
/* 180 */
"grouplist ::= item"
,
/* 181 */
"having_opt ::="
,
/* 182 */
"having_opt ::= HAVING expr"
,
/* 183 */
"limit_opt ::="
,
/* 184 */
"limit_opt ::= LIMIT signed"
,
/* 185 */
"limit_opt ::= LIMIT signed OFFSET signed"
,
/* 186 */
"limit_opt ::= LIMIT signed COMMA signed"
,
/* 187 */
"slimit_opt ::="
,
/* 188 */
"slimit_opt ::= SLIMIT signed"
,
/* 189 */
"slimit_opt ::= SLIMIT signed SOFFSET signed"
,
/* 190 */
"slimit_opt ::= SLIMIT signed COMMA signed"
,
/* 191 */
"where_opt ::="
,
/* 192 */
"where_opt ::= WHERE expr"
,
/* 193 */
"expr ::= LP expr RP"
,
/* 194 */
"expr ::= ID"
,
/* 195 */
"expr ::= ID DOT ID"
,
/* 196 */
"expr ::= ID DOT STAR"
,
/* 197 */
"expr ::= INTEGER"
,
/* 198 */
"expr ::= MINUS INTEGER"
,
/* 199 */
"expr ::= PLUS INTEGER"
,
/* 200 */
"expr ::= FLOAT"
,
/* 201 */
"expr ::= MINUS FLOAT"
,
/* 202 */
"expr ::= PLUS FLOAT"
,
/* 203 */
"expr ::= STRING"
,
/* 204 */
"expr ::= NOW"
,
/* 205 */
"expr ::= VARIABLE"
,
/* 206 */
"expr ::= BOOL"
,
/* 207 */
"expr ::= ID LP exprlist RP"
,
/* 208 */
"expr ::= ID LP STAR RP"
,
/* 209 */
"expr ::= expr IS NULL"
,
/* 210 */
"expr ::= expr IS NOT NULL"
,
/* 211 */
"expr ::= expr LT expr"
,
/* 212 */
"expr ::= expr GT expr"
,
/* 213 */
"expr ::= expr LE expr"
,
/* 214 */
"expr ::= expr GE expr"
,
/* 215 */
"expr ::= expr NE expr"
,
/* 216 */
"expr ::= expr EQ expr"
,
/* 217 */
"expr ::= expr AND expr"
,
/* 218 */
"expr ::= expr OR expr"
,
/* 219 */
"expr ::= expr PLUS expr"
,
/* 220 */
"expr ::= expr MINUS expr"
,
/* 221 */
"expr ::= expr STAR expr"
,
/* 222 */
"expr ::= expr SLASH expr"
,
/* 223 */
"expr ::= expr REM expr"
,
/* 224 */
"expr ::= expr LIKE expr"
,
/* 225 */
"expr ::= expr IN LP exprlist RP"
,
/* 226 */
"exprlist ::= exprlist COMMA expritem"
,
/* 227 */
"exprlist ::= expritem"
,
/* 228 */
"expritem ::= expr"
,
/* 229 */
"expritem ::="
,
/* 230 */
"cmd ::= RESET QUERY CACHE"
,
/* 231 */
"cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist"
,
/* 232 */
"cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids"
,
/* 233 */
"cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist"
,
/* 234 */
"cmd ::= ALTER TABLE ids cpxName DROP TAG ids"
,
/* 235 */
"cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids"
,
/* 236 */
"cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem"
,
/* 237 */
"cmd ::= KILL CONNECTION INTEGER"
,
/* 238 */
"cmd ::= KILL STREAM INTEGER COLON INTEGER"
,
/* 239 */
"cmd ::= KILL QUERY INTEGER COLON INTEGER"
,
/* 28 */
"cmd ::= DROP STABLE ifexists ids cpxName"
,
/* 29 */
"cmd ::= DROP DATABASE ifexists ids"
,
/* 30 */
"cmd ::= DROP DNODE ids"
,
/* 31 */
"cmd ::= DROP USER ids"
,
/* 32 */
"cmd ::= DROP ACCOUNT ids"
,
/* 33 */
"cmd ::= USE ids"
,
/* 34 */
"cmd ::= DESCRIBE ids cpxName"
,
/* 35 */
"cmd ::= ALTER USER ids PASS ids"
,
/* 36 */
"cmd ::= ALTER USER ids PRIVILEGE ids"
,
/* 37 */
"cmd ::= ALTER DNODE ids ids"
,
/* 38 */
"cmd ::= ALTER DNODE ids ids ids"
,
/* 39 */
"cmd ::= ALTER LOCAL ids"
,
/* 40 */
"cmd ::= ALTER LOCAL ids ids"
,
/* 41 */
"cmd ::= ALTER DATABASE ids alter_db_optr"
,
/* 42 */
"cmd ::= ALTER ACCOUNT ids acct_optr"
,
/* 43 */
"cmd ::= ALTER ACCOUNT ids PASS ids acct_optr"
,
/* 44 */
"ids ::= ID"
,
/* 45 */
"ids ::= STRING"
,
/* 46 */
"ifexists ::= IF EXISTS"
,
/* 47 */
"ifexists ::="
,
/* 48 */
"ifnotexists ::= IF NOT EXISTS"
,
/* 49 */
"ifnotexists ::="
,
/* 50 */
"cmd ::= CREATE DNODE ids"
,
/* 51 */
"cmd ::= CREATE ACCOUNT ids PASS ids acct_optr"
,
/* 52 */
"cmd ::= CREATE DATABASE ifnotexists ids db_optr"
,
/* 53 */
"cmd ::= CREATE USER ids PASS ids"
,
/* 54 */
"pps ::="
,
/* 55 */
"pps ::= PPS INTEGER"
,
/* 56 */
"tseries ::="
,
/* 57 */
"tseries ::= TSERIES INTEGER"
,
/* 58 */
"dbs ::="
,
/* 59 */
"dbs ::= DBS INTEGER"
,
/* 60 */
"streams ::="
,
/* 61 */
"streams ::= STREAMS INTEGER"
,
/* 62 */
"storage ::="
,
/* 63 */
"storage ::= STORAGE INTEGER"
,
/* 64 */
"qtime ::="
,
/* 65 */
"qtime ::= QTIME INTEGER"
,
/* 66 */
"users ::="
,
/* 67 */
"users ::= USERS INTEGER"
,
/* 68 */
"conns ::="
,
/* 69 */
"conns ::= CONNS INTEGER"
,
/* 70 */
"state ::="
,
/* 71 */
"state ::= STATE ids"
,
/* 72 */
"acct_optr ::= pps tseries storage streams qtime dbs users conns state"
,
/* 73 */
"keep ::= KEEP tagitemlist"
,
/* 74 */
"cache ::= CACHE INTEGER"
,
/* 75 */
"replica ::= REPLICA INTEGER"
,
/* 76 */
"quorum ::= QUORUM INTEGER"
,
/* 77 */
"days ::= DAYS INTEGER"
,
/* 78 */
"minrows ::= MINROWS INTEGER"
,
/* 79 */
"maxrows ::= MAXROWS INTEGER"
,
/* 80 */
"blocks ::= BLOCKS INTEGER"
,
/* 81 */
"ctime ::= CTIME INTEGER"
,
/* 82 */
"wal ::= WAL INTEGER"
,
/* 83 */
"fsync ::= FSYNC INTEGER"
,
/* 84 */
"comp ::= COMP INTEGER"
,
/* 85 */
"prec ::= PRECISION STRING"
,
/* 86 */
"update ::= UPDATE INTEGER"
,
/* 87 */
"cachelast ::= CACHELAST INTEGER"
,
/* 88 */
"db_optr ::="
,
/* 89 */
"db_optr ::= db_optr cache"
,
/* 90 */
"db_optr ::= db_optr replica"
,
/* 91 */
"db_optr ::= db_optr quorum"
,
/* 92 */
"db_optr ::= db_optr days"
,
/* 93 */
"db_optr ::= db_optr minrows"
,
/* 94 */
"db_optr ::= db_optr maxrows"
,
/* 95 */
"db_optr ::= db_optr blocks"
,
/* 96 */
"db_optr ::= db_optr ctime"
,
/* 97 */
"db_optr ::= db_optr wal"
,
/* 98 */
"db_optr ::= db_optr fsync"
,
/* 99 */
"db_optr ::= db_optr comp"
,
/* 100 */
"db_optr ::= db_optr prec"
,
/* 101 */
"db_optr ::= db_optr keep"
,
/* 102 */
"db_optr ::= db_optr update"
,
/* 103 */
"db_optr ::= db_optr cachelast"
,
/* 104 */
"alter_db_optr ::="
,
/* 105 */
"alter_db_optr ::= alter_db_optr replica"
,
/* 106 */
"alter_db_optr ::= alter_db_optr quorum"
,
/* 107 */
"alter_db_optr ::= alter_db_optr keep"
,
/* 108 */
"alter_db_optr ::= alter_db_optr blocks"
,
/* 109 */
"alter_db_optr ::= alter_db_optr comp"
,
/* 110 */
"alter_db_optr ::= alter_db_optr wal"
,
/* 111 */
"alter_db_optr ::= alter_db_optr fsync"
,
/* 112 */
"alter_db_optr ::= alter_db_optr update"
,
/* 113 */
"alter_db_optr ::= alter_db_optr cachelast"
,
/* 114 */
"typename ::= ids"
,
/* 115 */
"typename ::= ids LP signed RP"
,
/* 116 */
"typename ::= ids UNSIGNED"
,
/* 117 */
"signed ::= INTEGER"
,
/* 118 */
"signed ::= PLUS INTEGER"
,
/* 119 */
"signed ::= MINUS INTEGER"
,
/* 120 */
"cmd ::= CREATE TABLE create_table_args"
,
/* 121 */
"cmd ::= CREATE TABLE create_stable_args"
,
/* 122 */
"cmd ::= CREATE STABLE create_stable_args"
,
/* 123 */
"cmd ::= CREATE TABLE create_table_list"
,
/* 124 */
"create_table_list ::= create_from_stable"
,
/* 125 */
"create_table_list ::= create_table_list create_from_stable"
,
/* 126 */
"create_table_args ::= ifnotexists ids cpxName LP columnlist RP"
,
/* 127 */
"create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP"
,
/* 128 */
"create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP"
,
/* 129 */
"create_table_args ::= ifnotexists ids cpxName AS select"
,
/* 130 */
"columnlist ::= columnlist COMMA column"
,
/* 131 */
"columnlist ::= column"
,
/* 132 */
"column ::= ids typename"
,
/* 133 */
"tagitemlist ::= tagitemlist COMMA tagitem"
,
/* 134 */
"tagitemlist ::= tagitem"
,
/* 135 */
"tagitem ::= INTEGER"
,
/* 136 */
"tagitem ::= FLOAT"
,
/* 137 */
"tagitem ::= STRING"
,
/* 138 */
"tagitem ::= BOOL"
,
/* 139 */
"tagitem ::= NULL"
,
/* 140 */
"tagitem ::= MINUS INTEGER"
,
/* 141 */
"tagitem ::= MINUS FLOAT"
,
/* 142 */
"tagitem ::= PLUS INTEGER"
,
/* 143 */
"tagitem ::= PLUS FLOAT"
,
/* 144 */
"select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt"
,
/* 145 */
"union ::= select"
,
/* 146 */
"union ::= LP union RP"
,
/* 147 */
"union ::= union UNION ALL select"
,
/* 148 */
"union ::= union UNION ALL LP select RP"
,
/* 149 */
"cmd ::= union"
,
/* 150 */
"select ::= SELECT selcollist"
,
/* 151 */
"sclp ::= selcollist COMMA"
,
/* 152 */
"sclp ::="
,
/* 153 */
"selcollist ::= sclp expr as"
,
/* 154 */
"selcollist ::= sclp STAR"
,
/* 155 */
"as ::= AS ids"
,
/* 156 */
"as ::= ids"
,
/* 157 */
"as ::="
,
/* 158 */
"from ::= FROM tablelist"
,
/* 159 */
"tablelist ::= ids cpxName"
,
/* 160 */
"tablelist ::= ids cpxName ids"
,
/* 161 */
"tablelist ::= tablelist COMMA ids cpxName"
,
/* 162 */
"tablelist ::= tablelist COMMA ids cpxName ids"
,
/* 163 */
"tmvar ::= VARIABLE"
,
/* 164 */
"interval_opt ::= INTERVAL LP tmvar RP"
,
/* 165 */
"interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP"
,
/* 166 */
"interval_opt ::="
,
/* 167 */
"fill_opt ::="
,
/* 168 */
"fill_opt ::= FILL LP ID COMMA tagitemlist RP"
,
/* 169 */
"fill_opt ::= FILL LP ID RP"
,
/* 170 */
"sliding_opt ::= SLIDING LP tmvar RP"
,
/* 171 */
"sliding_opt ::="
,
/* 172 */
"orderby_opt ::="
,
/* 173 */
"orderby_opt ::= ORDER BY sortlist"
,
/* 174 */
"sortlist ::= sortlist COMMA item sortorder"
,
/* 175 */
"sortlist ::= item sortorder"
,
/* 176 */
"item ::= ids cpxName"
,
/* 177 */
"sortorder ::= ASC"
,
/* 178 */
"sortorder ::= DESC"
,
/* 179 */
"sortorder ::="
,
/* 180 */
"groupby_opt ::="
,
/* 181 */
"groupby_opt ::= GROUP BY grouplist"
,
/* 182 */
"grouplist ::= grouplist COMMA item"
,
/* 183 */
"grouplist ::= item"
,
/* 184 */
"having_opt ::="
,
/* 185 */
"having_opt ::= HAVING expr"
,
/* 186 */
"limit_opt ::="
,
/* 187 */
"limit_opt ::= LIMIT signed"
,
/* 188 */
"limit_opt ::= LIMIT signed OFFSET signed"
,
/* 189 */
"limit_opt ::= LIMIT signed COMMA signed"
,
/* 190 */
"slimit_opt ::="
,
/* 191 */
"slimit_opt ::= SLIMIT signed"
,
/* 192 */
"slimit_opt ::= SLIMIT signed SOFFSET signed"
,
/* 193 */
"slimit_opt ::= SLIMIT signed COMMA signed"
,
/* 194 */
"where_opt ::="
,
/* 195 */
"where_opt ::= WHERE expr"
,
/* 196 */
"expr ::= LP expr RP"
,
/* 197 */
"expr ::= ID"
,
/* 198 */
"expr ::= ID DOT ID"
,
/* 199 */
"expr ::= ID DOT STAR"
,
/* 200 */
"expr ::= INTEGER"
,
/* 201 */
"expr ::= MINUS INTEGER"
,
/* 202 */
"expr ::= PLUS INTEGER"
,
/* 203 */
"expr ::= FLOAT"
,
/* 204 */
"expr ::= MINUS FLOAT"
,
/* 205 */
"expr ::= PLUS FLOAT"
,
/* 206 */
"expr ::= STRING"
,
/* 207 */
"expr ::= NOW"
,
/* 208 */
"expr ::= VARIABLE"
,
/* 209 */
"expr ::= BOOL"
,
/* 210 */
"expr ::= ID LP exprlist RP"
,
/* 211 */
"expr ::= ID LP STAR RP"
,
/* 212 */
"expr ::= expr IS NULL"
,
/* 213 */
"expr ::= expr IS NOT NULL"
,
/* 214 */
"expr ::= expr LT expr"
,
/* 215 */
"expr ::= expr GT expr"
,
/* 216 */
"expr ::= expr LE expr"
,
/* 217 */
"expr ::= expr GE expr"
,
/* 218 */
"expr ::= expr NE expr"
,
/* 219 */
"expr ::= expr EQ expr"
,
/* 220 */
"expr ::= expr AND expr"
,
/* 221 */
"expr ::= expr OR expr"
,
/* 222 */
"expr ::= expr PLUS expr"
,
/* 223 */
"expr ::= expr MINUS expr"
,
/* 224 */
"expr ::= expr STAR expr"
,
/* 225 */
"expr ::= expr SLASH expr"
,
/* 226 */
"expr ::= expr REM expr"
,
/* 227 */
"expr ::= expr LIKE expr"
,
/* 228 */
"expr ::= expr IN LP exprlist RP"
,
/* 229 */
"exprlist ::= exprlist COMMA expritem"
,
/* 230 */
"exprlist ::= expritem"
,
/* 231 */
"expritem ::= expr"
,
/* 232 */
"expritem ::="
,
/* 233 */
"cmd ::= RESET QUERY CACHE"
,
/* 234 */
"cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist"
,
/* 235 */
"cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids"
,
/* 236 */
"cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist"
,
/* 237 */
"cmd ::= ALTER TABLE ids cpxName DROP TAG ids"
,
/* 238 */
"cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids"
,
/* 239 */
"cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem"
,
/* 240 */
"cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist"
,
/* 241 */
"cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids"
,
/* 242 */
"cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist"
,
/* 243 */
"cmd ::= ALTER STABLE ids cpxName DROP TAG ids"
,
/* 244 */
"cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids"
,
/* 245 */
"cmd ::= KILL CONNECTION INTEGER"
,
/* 246 */
"cmd ::= KILL STREAM INTEGER COLON INTEGER"
,
/* 247 */
"cmd ::= KILL QUERY INTEGER COLON INTEGER"
,
};
#endif
/* NDEBUG */
...
...
@@ -1312,28 +1347,29 @@ static int yyGrowStack(yyParser *p){
/* Initialize a new parser that has already been allocated.
*/
void
ParseInit
(
void
*
yypParser
){
yyParser
*
pParser
=
(
yyParser
*
)
yypParser
;
void
ParseInit
(
void
*
yypRawParser
ParseCTX_PDECL
){
yyParser
*
yypParser
=
(
yyParser
*
)
yypRawParser
;
ParseCTX_STORE
#ifdef YYTRACKMAXSTACKDEPTH
pParser
->
yyhwm
=
0
;
yy
pParser
->
yyhwm
=
0
;
#endif
#if YYSTACKDEPTH<=0
pParser
->
yytos
=
NULL
;
pParser
->
yystack
=
NULL
;
pParser
->
yystksz
=
0
;
if
(
yyGrowStack
(
pParser
)
){
pParser
->
yystack
=
&
pParser
->
yystk0
;
pParser
->
yystksz
=
1
;
yy
pParser
->
yytos
=
NULL
;
yy
pParser
->
yystack
=
NULL
;
yy
pParser
->
yystksz
=
0
;
if
(
yyGrowStack
(
yy
pParser
)
){
yypParser
->
yystack
=
&
yy
pParser
->
yystk0
;
yy
pParser
->
yystksz
=
1
;
}
#endif
#ifndef YYNOERRORRECOVERY
pParser
->
yyerrcnt
=
-
1
;
yy
pParser
->
yyerrcnt
=
-
1
;
#endif
pParser
->
yytos
=
pParser
->
yystack
;
pParser
->
yystack
[
0
].
stateno
=
0
;
pParser
->
yystack
[
0
].
major
=
0
;
yypParser
->
yytos
=
yy
pParser
->
yystack
;
yy
pParser
->
yystack
[
0
].
stateno
=
0
;
yy
pParser
->
yystack
[
0
].
major
=
0
;
#if YYSTACKDEPTH>0
pParser
->
yystackEnd
=
&
pParser
->
yystack
[
YYSTACKDEPTH
-
1
];
yypParser
->
yystackEnd
=
&
yy
pParser
->
yystack
[
YYSTACKDEPTH
-
1
];
#endif
}
...
...
@@ -1350,11 +1386,14 @@ void ParseInit(void *yypParser){
** A pointer to a parser. This pointer is used in subsequent calls
** to Parse and ParseFree.
*/
void
*
ParseAlloc
(
void
*
(
*
mallocProc
)(
YYMALLOCARGTYPE
)){
yyParser
*
pParser
;
pParser
=
(
yyParser
*
)(
*
mallocProc
)(
(
YYMALLOCARGTYPE
)
sizeof
(
yyParser
)
);
if
(
pParser
)
ParseInit
(
pParser
);
return
pParser
;
void
*
ParseAlloc
(
void
*
(
*
mallocProc
)(
YYMALLOCARGTYPE
)
ParseCTX_PDECL
){
yyParser
*
yypParser
;
yypParser
=
(
yyParser
*
)(
*
mallocProc
)(
(
YYMALLOCARGTYPE
)
sizeof
(
yyParser
)
);
if
(
yypParser
){
ParseCTX_STORE
ParseInit
(
yypParser
ParseCTX_PARAM
);
}
return
(
void
*
)
yypParser
;
}
#endif
/* Parse_ENGINEALWAYSONSTACK */
...
...
@@ -1371,7 +1410,8 @@ static void yy_destructor(
YYCODETYPE
yymajor
,
/* Type code for object to destroy */
YYMINORTYPE
*
yypminor
/* The object to be destroyed */
){
ParseARG_FETCH
;
ParseARG_FETCH
ParseCTX_FETCH
switch
(
yymajor
){
/* Here is inserted the actions which take place when a
** terminal or non-terminal is destroyed. This can happen
...
...
@@ -1384,8 +1424,8 @@ static void yy_destructor(
** inside the C code.
*/
/********* Begin destructor definitions ***************************************/
case
22
9
:
/* keep */
case
2
30
:
/* tagitemlist */
case
22
8
:
/* keep */
case
2
29
:
/* tagitemlist */
case
250
:
/* columnlist */
case
258
:
/* fill_opt */
case
260
:
/* groupby_opt */
...
...
@@ -1540,13 +1580,12 @@ int ParseCoverage(FILE *out){
** Find the appropriate action for a parser given the terminal
** look-ahead token iLookAhead.
*/
static
unsigned
int
yy_find_shift_action
(
yyParser
*
pParser
,
/* The parser
*/
YY
CODETYPE
iLookAhead
/* The look-ahead token
*/
static
YYACTIONTYPE
yy_find_shift_action
(
YYCODETYPE
iLookAhead
,
/* The look-ahead token
*/
YY
ACTIONTYPE
stateno
/* Current state number
*/
){
int
i
;
int
stateno
=
pParser
->
yytos
->
stateno
;
if
(
stateno
>
YY_MAX_SHIFT
)
return
stateno
;
assert
(
stateno
<=
YY_SHIFT_COUNT
);
#if defined(YYCOVERAGE)
...
...
@@ -1554,15 +1593,19 @@ static unsigned int yy_find_shift_action(
#endif
do
{
i
=
yy_shift_ofst
[
stateno
];
assert
(
i
>=
0
&&
i
+
YYNTOKEN
<=
sizeof
(
yy_lookahead
)
/
sizeof
(
yy_lookahead
[
0
])
);
assert
(
i
>=
0
);
assert
(
i
<=
YY_ACTTAB_COUNT
);
assert
(
i
+
YYNTOKEN
<=
(
int
)
YY_NLOOKAHEAD
);
assert
(
iLookAhead
!=
YYNOCODE
);
assert
(
iLookAhead
<
YYNTOKEN
);
i
+=
iLookAhead
;
assert
(
i
<
(
int
)
YY_NLOOKAHEAD
);
if
(
yy_lookahead
[
i
]
!=
iLookAhead
){
#ifdef YYFALLBACK
YYCODETYPE
iFallback
;
/* Fallback token */
if
(
iLookAhead
<
sizeof
(
yyFallback
)
/
sizeof
(
yyFallback
[
0
])
&&
(
iFallback
=
yyFallback
[
iLookAhead
])
!=
0
){
assert
(
iLookAhead
<
sizeof
(
yyFallback
)
/
sizeof
(
yyFallback
[
0
])
);
iFallback
=
yyFallback
[
iLookAhead
];
if
(
iFallback
!=
0
){
#ifndef NDEBUG
if
(
yyTraceFILE
){
fprintf
(
yyTraceFILE
,
"%sFALLBACK %s => %s
\n
"
,
...
...
@@ -1577,15 +1620,8 @@ static unsigned int yy_find_shift_action(
#ifdef YYWILDCARD
{
int
j
=
i
-
iLookAhead
+
YYWILDCARD
;
if
(
#if YY_SHIFT_MIN+YYWILDCARD<0
j
>=
0
&&
#endif
#if YY_SHIFT_MAX+YYWILDCARD>=YY_ACTTAB_COUNT
j
<
YY_ACTTAB_COUNT
&&
#endif
yy_lookahead
[
j
]
==
YYWILDCARD
&&
iLookAhead
>
0
){
assert
(
j
<
(
int
)(
sizeof
(
yy_lookahead
)
/
sizeof
(
yy_lookahead
[
0
]))
);
if
(
yy_lookahead
[
j
]
==
YYWILDCARD
&&
iLookAhead
>
0
){
#ifndef NDEBUG
if
(
yyTraceFILE
){
fprintf
(
yyTraceFILE
,
"%sWILDCARD %s => %s
\n
"
,
...
...
@@ -1599,6 +1635,7 @@ static unsigned int yy_find_shift_action(
#endif
/* YYWILDCARD */
return
yy_default
[
stateno
];
}
else
{
assert
(
i
>=
0
&&
i
<
sizeof
(
yy_action
)
/
sizeof
(
yy_action
[
0
])
);
return
yy_action
[
i
];
}
}
while
(
1
);
...
...
@@ -1608,8 +1645,8 @@ static unsigned int yy_find_shift_action(
** Find the appropriate action for a parser given the non-terminal
** look-ahead token iLookAhead.
*/
static
int
yy_find_reduce_action
(
int
stateno
,
/* Current state number */
static
YYACTIONTYPE
yy_find_reduce_action
(
YYACTIONTYPE
stateno
,
/* Current state number */
YYCODETYPE
iLookAhead
/* The look-ahead token */
){
int
i
;
...
...
@@ -1638,7 +1675,8 @@ static int yy_find_reduce_action(
** The following routine is called if the stack overflows.
*/
static
void
yyStackOverflow
(
yyParser
*
yypParser
){
ParseARG_FETCH
;
ParseARG_FETCH
ParseCTX_FETCH
#ifndef NDEBUG
if
(
yyTraceFILE
){
fprintf
(
yyTraceFILE
,
"%sStack Overflow!
\n
"
,
yyTracePrompt
);
...
...
@@ -1649,7 +1687,8 @@ static void yyStackOverflow(yyParser *yypParser){
** stack every overflows */
/******** Begin %stack_overflow code ******************************************/
/******** End %stack_overflow code ********************************************/
ParseARG_STORE
;
/* Suppress warning about unused %extra_argument var */
ParseARG_STORE
/* Suppress warning about unused %extra_argument var */
ParseCTX_STORE
}
/*
...
...
@@ -1678,8 +1717,8 @@ static void yyTraceShift(yyParser *yypParser, int yyNewState, const char *zTag){
*/
static
void
yy_shift
(
yyParser
*
yypParser
,
/* The parser to be shifted */
int
yyNewState
,
/* The new state to shift in */
int
yyMajor
,
/* The major token to shift in */
YYACTIONTYPE
yyNewState
,
/* The new state to shift in */
YYCODETYPE
yyMajor
,
/* The major token to shift in */
ParseTOKENTYPE
yyMinor
/* The minor token to shift in */
){
yyStackEntry
*
yytos
;
...
...
@@ -1709,259 +1748,516 @@ static void yy_shift(
yyNewState
+=
YY_MIN_REDUCE
-
YY_MIN_SHIFTREDUCE
;
}
yytos
=
yypParser
->
yytos
;
yytos
->
stateno
=
(
YYACTIONTYPE
)
yyNewState
;
yytos
->
major
=
(
YYCODETYPE
)
yyMajor
;
yytos
->
stateno
=
yyNewState
;
yytos
->
major
=
yyMajor
;
yytos
->
minor
.
yy0
=
yyMinor
;
yyTraceShift
(
yypParser
,
yyNewState
,
"Shift"
);
}
/* The following table contains information about every rule that
** is used during the reduce.
*/
static
const
struct
{
YYCODETYPE
lhs
;
/* Symbol on the left-hand side of the rule */
signed
char
nrhs
;
/* Negative of the number of RHS symbols in the rule */
}
yyRuleInfo
[]
=
{
{
210
,
-
1
},
/* (0) program ::= cmd */
{
211
,
-
2
},
/* (1) cmd ::= SHOW DATABASES */
{
211
,
-
2
},
/* (2) cmd ::= SHOW MNODES */
{
211
,
-
2
},
/* (3) cmd ::= SHOW DNODES */
{
211
,
-
2
},
/* (4) cmd ::= SHOW ACCOUNTS */
{
211
,
-
2
},
/* (5) cmd ::= SHOW USERS */
{
211
,
-
2
},
/* (6) cmd ::= SHOW MODULES */
{
211
,
-
2
},
/* (7) cmd ::= SHOW QUERIES */
{
211
,
-
2
},
/* (8) cmd ::= SHOW CONNECTIONS */
{
211
,
-
2
},
/* (9) cmd ::= SHOW STREAMS */
{
211
,
-
2
},
/* (10) cmd ::= SHOW VARIABLES */
{
211
,
-
2
},
/* (11) cmd ::= SHOW SCORES */
{
211
,
-
2
},
/* (12) cmd ::= SHOW GRANTS */
{
211
,
-
2
},
/* (13) cmd ::= SHOW VNODES */
{
211
,
-
3
},
/* (14) cmd ::= SHOW VNODES IPTOKEN */
{
212
,
0
},
/* (15) dbPrefix ::= */
{
212
,
-
2
},
/* (16) dbPrefix ::= ids DOT */
{
214
,
0
},
/* (17) cpxName ::= */
{
214
,
-
2
},
/* (18) cpxName ::= DOT ids */
{
211
,
-
5
},
/* (19) cmd ::= SHOW CREATE TABLE ids cpxName */
{
211
,
-
4
},
/* (20) cmd ::= SHOW CREATE DATABASE ids */
{
211
,
-
3
},
/* (21) cmd ::= SHOW dbPrefix TABLES */
{
211
,
-
5
},
/* (22) cmd ::= SHOW dbPrefix TABLES LIKE ids */
{
211
,
-
3
},
/* (23) cmd ::= SHOW dbPrefix STABLES */
{
211
,
-
5
},
/* (24) cmd ::= SHOW dbPrefix STABLES LIKE ids */
{
211
,
-
3
},
/* (25) cmd ::= SHOW dbPrefix VGROUPS */
{
211
,
-
4
},
/* (26) cmd ::= SHOW dbPrefix VGROUPS ids */
{
211
,
-
5
},
/* (27) cmd ::= DROP TABLE ifexists ids cpxName */
{
211
,
-
4
},
/* (28) cmd ::= DROP DATABASE ifexists ids */
{
211
,
-
3
},
/* (29) cmd ::= DROP DNODE ids */
{
211
,
-
3
},
/* (30) cmd ::= DROP USER ids */
{
211
,
-
3
},
/* (31) cmd ::= DROP ACCOUNT ids */
{
211
,
-
2
},
/* (32) cmd ::= USE ids */
{
211
,
-
3
},
/* (33) cmd ::= DESCRIBE ids cpxName */
{
211
,
-
5
},
/* (34) cmd ::= ALTER USER ids PASS ids */
{
211
,
-
5
},
/* (35) cmd ::= ALTER USER ids PRIVILEGE ids */
{
211
,
-
4
},
/* (36) cmd ::= ALTER DNODE ids ids */
{
211
,
-
5
},
/* (37) cmd ::= ALTER DNODE ids ids ids */
{
211
,
-
3
},
/* (38) cmd ::= ALTER LOCAL ids */
{
211
,
-
4
},
/* (39) cmd ::= ALTER LOCAL ids ids */
{
211
,
-
4
},
/* (40) cmd ::= ALTER DATABASE ids alter_db_optr */
{
211
,
-
4
},
/* (41) cmd ::= ALTER ACCOUNT ids acct_optr */
{
211
,
-
6
},
/* (42) cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
{
213
,
-
1
},
/* (43) ids ::= ID */
{
213
,
-
1
},
/* (44) ids ::= STRING */
{
215
,
-
2
},
/* (45) ifexists ::= IF EXISTS */
{
215
,
0
},
/* (46) ifexists ::= */
{
218
,
-
3
},
/* (47) ifnotexists ::= IF NOT EXISTS */
{
218
,
0
},
/* (48) ifnotexists ::= */
{
211
,
-
3
},
/* (49) cmd ::= CREATE DNODE ids */
{
211
,
-
6
},
/* (50) cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
{
211
,
-
5
},
/* (51) cmd ::= CREATE DATABASE ifnotexists ids db_optr */
{
211
,
-
5
},
/* (52) cmd ::= CREATE USER ids PASS ids */
{
220
,
0
},
/* (53) pps ::= */
{
220
,
-
2
},
/* (54) pps ::= PPS INTEGER */
{
221
,
0
},
/* (55) tseries ::= */
{
221
,
-
2
},
/* (56) tseries ::= TSERIES INTEGER */
{
222
,
0
},
/* (57) dbs ::= */
{
222
,
-
2
},
/* (58) dbs ::= DBS INTEGER */
{
223
,
0
},
/* (59) streams ::= */
{
223
,
-
2
},
/* (60) streams ::= STREAMS INTEGER */
{
224
,
0
},
/* (61) storage ::= */
{
224
,
-
2
},
/* (62) storage ::= STORAGE INTEGER */
{
225
,
0
},
/* (63) qtime ::= */
{
225
,
-
2
},
/* (64) qtime ::= QTIME INTEGER */
{
226
,
0
},
/* (65) users ::= */
{
226
,
-
2
},
/* (66) users ::= USERS INTEGER */
{
227
,
0
},
/* (67) conns ::= */
{
227
,
-
2
},
/* (68) conns ::= CONNS INTEGER */
{
228
,
0
},
/* (69) state ::= */
{
228
,
-
2
},
/* (70) state ::= STATE ids */
{
217
,
-
9
},
/* (71) acct_optr ::= pps tseries storage streams qtime dbs users conns state */
{
229
,
-
2
},
/* (72) keep ::= KEEP tagitemlist */
{
231
,
-
2
},
/* (73) cache ::= CACHE INTEGER */
{
232
,
-
2
},
/* (74) replica ::= REPLICA INTEGER */
{
233
,
-
2
},
/* (75) quorum ::= QUORUM INTEGER */
{
234
,
-
2
},
/* (76) days ::= DAYS INTEGER */
{
235
,
-
2
},
/* (77) minrows ::= MINROWS INTEGER */
{
236
,
-
2
},
/* (78) maxrows ::= MAXROWS INTEGER */
{
237
,
-
2
},
/* (79) blocks ::= BLOCKS INTEGER */
{
238
,
-
2
},
/* (80) ctime ::= CTIME INTEGER */
{
239
,
-
2
},
/* (81) wal ::= WAL INTEGER */
{
240
,
-
2
},
/* (82) fsync ::= FSYNC INTEGER */
{
241
,
-
2
},
/* (83) comp ::= COMP INTEGER */
{
242
,
-
2
},
/* (84) prec ::= PRECISION STRING */
{
243
,
-
2
},
/* (85) update ::= UPDATE INTEGER */
{
244
,
-
2
},
/* (86) cachelast ::= CACHELAST INTEGER */
{
219
,
0
},
/* (87) db_optr ::= */
{
219
,
-
2
},
/* (88) db_optr ::= db_optr cache */
{
219
,
-
2
},
/* (89) db_optr ::= db_optr replica */
{
219
,
-
2
},
/* (90) db_optr ::= db_optr quorum */
{
219
,
-
2
},
/* (91) db_optr ::= db_optr days */
{
219
,
-
2
},
/* (92) db_optr ::= db_optr minrows */
{
219
,
-
2
},
/* (93) db_optr ::= db_optr maxrows */
{
219
,
-
2
},
/* (94) db_optr ::= db_optr blocks */
{
219
,
-
2
},
/* (95) db_optr ::= db_optr ctime */
{
219
,
-
2
},
/* (96) db_optr ::= db_optr wal */
{
219
,
-
2
},
/* (97) db_optr ::= db_optr fsync */
{
219
,
-
2
},
/* (98) db_optr ::= db_optr comp */
{
219
,
-
2
},
/* (99) db_optr ::= db_optr prec */
{
219
,
-
2
},
/* (100) db_optr ::= db_optr keep */
{
219
,
-
2
},
/* (101) db_optr ::= db_optr update */
{
219
,
-
2
},
/* (102) db_optr ::= db_optr cachelast */
{
216
,
0
},
/* (103) alter_db_optr ::= */
{
216
,
-
2
},
/* (104) alter_db_optr ::= alter_db_optr replica */
{
216
,
-
2
},
/* (105) alter_db_optr ::= alter_db_optr quorum */
{
216
,
-
2
},
/* (106) alter_db_optr ::= alter_db_optr keep */
{
216
,
-
2
},
/* (107) alter_db_optr ::= alter_db_optr blocks */
{
216
,
-
2
},
/* (108) alter_db_optr ::= alter_db_optr comp */
{
216
,
-
2
},
/* (109) alter_db_optr ::= alter_db_optr wal */
{
216
,
-
2
},
/* (110) alter_db_optr ::= alter_db_optr fsync */
{
216
,
-
2
},
/* (111) alter_db_optr ::= alter_db_optr update */
{
216
,
-
2
},
/* (112) alter_db_optr ::= alter_db_optr cachelast */
{
245
,
-
1
},
/* (113) typename ::= ids */
{
245
,
-
4
},
/* (114) typename ::= ids LP signed RP */
{
245
,
-
2
},
/* (115) typename ::= ids UNSIGNED */
{
246
,
-
1
},
/* (116) signed ::= INTEGER */
{
246
,
-
2
},
/* (117) signed ::= PLUS INTEGER */
{
246
,
-
2
},
/* (118) signed ::= MINUS INTEGER */
{
211
,
-
3
},
/* (119) cmd ::= CREATE TABLE create_table_args */
{
211
,
-
3
},
/* (120) cmd ::= CREATE TABLE create_table_list */
{
248
,
-
1
},
/* (121) create_table_list ::= create_from_stable */
{
248
,
-
2
},
/* (122) create_table_list ::= create_table_list create_from_stable */
{
247
,
-
6
},
/* (123) create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
{
247
,
-
10
},
/* (124) create_table_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
{
249
,
-
10
},
/* (125) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
{
247
,
-
5
},
/* (126) create_table_args ::= ifnotexists ids cpxName AS select */
{
250
,
-
3
},
/* (127) columnlist ::= columnlist COMMA column */
{
250
,
-
1
},
/* (128) columnlist ::= column */
{
252
,
-
2
},
/* (129) column ::= ids typename */
{
230
,
-
3
},
/* (130) tagitemlist ::= tagitemlist COMMA tagitem */
{
230
,
-
1
},
/* (131) tagitemlist ::= tagitem */
{
253
,
-
1
},
/* (132) tagitem ::= INTEGER */
{
253
,
-
1
},
/* (133) tagitem ::= FLOAT */
{
253
,
-
1
},
/* (134) tagitem ::= STRING */
{
253
,
-
1
},
/* (135) tagitem ::= BOOL */
{
253
,
-
1
},
/* (136) tagitem ::= NULL */
{
253
,
-
2
},
/* (137) tagitem ::= MINUS INTEGER */
{
253
,
-
2
},
/* (138) tagitem ::= MINUS FLOAT */
{
253
,
-
2
},
/* (139) tagitem ::= PLUS INTEGER */
{
253
,
-
2
},
/* (140) tagitem ::= PLUS FLOAT */
{
251
,
-
12
},
/* (141) select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
{
265
,
-
1
},
/* (142) union ::= select */
{
265
,
-
3
},
/* (143) union ::= LP union RP */
{
265
,
-
4
},
/* (144) union ::= union UNION ALL select */
{
265
,
-
6
},
/* (145) union ::= union UNION ALL LP select RP */
{
211
,
-
1
},
/* (146) cmd ::= union */
{
251
,
-
2
},
/* (147) select ::= SELECT selcollist */
{
266
,
-
2
},
/* (148) sclp ::= selcollist COMMA */
{
266
,
0
},
/* (149) sclp ::= */
{
254
,
-
3
},
/* (150) selcollist ::= sclp expr as */
{
254
,
-
2
},
/* (151) selcollist ::= sclp STAR */
{
268
,
-
2
},
/* (152) as ::= AS ids */
{
268
,
-
1
},
/* (153) as ::= ids */
{
268
,
0
},
/* (154) as ::= */
{
255
,
-
2
},
/* (155) from ::= FROM tablelist */
{
269
,
-
2
},
/* (156) tablelist ::= ids cpxName */
{
269
,
-
3
},
/* (157) tablelist ::= ids cpxName ids */
{
269
,
-
4
},
/* (158) tablelist ::= tablelist COMMA ids cpxName */
{
269
,
-
5
},
/* (159) tablelist ::= tablelist COMMA ids cpxName ids */
{
270
,
-
1
},
/* (160) tmvar ::= VARIABLE */
{
257
,
-
4
},
/* (161) interval_opt ::= INTERVAL LP tmvar RP */
{
257
,
-
6
},
/* (162) interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
{
257
,
0
},
/* (163) interval_opt ::= */
{
258
,
0
},
/* (164) fill_opt ::= */
{
258
,
-
6
},
/* (165) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
{
258
,
-
4
},
/* (166) fill_opt ::= FILL LP ID RP */
{
259
,
-
4
},
/* (167) sliding_opt ::= SLIDING LP tmvar RP */
{
259
,
0
},
/* (168) sliding_opt ::= */
{
261
,
0
},
/* (169) orderby_opt ::= */
{
261
,
-
3
},
/* (170) orderby_opt ::= ORDER BY sortlist */
{
271
,
-
4
},
/* (171) sortlist ::= sortlist COMMA item sortorder */
{
271
,
-
2
},
/* (172) sortlist ::= item sortorder */
{
273
,
-
2
},
/* (173) item ::= ids cpxName */
{
274
,
-
1
},
/* (174) sortorder ::= ASC */
{
274
,
-
1
},
/* (175) sortorder ::= DESC */
{
274
,
0
},
/* (176) sortorder ::= */
{
260
,
0
},
/* (177) groupby_opt ::= */
{
260
,
-
3
},
/* (178) groupby_opt ::= GROUP BY grouplist */
{
275
,
-
3
},
/* (179) grouplist ::= grouplist COMMA item */
{
275
,
-
1
},
/* (180) grouplist ::= item */
{
262
,
0
},
/* (181) having_opt ::= */
{
262
,
-
2
},
/* (182) having_opt ::= HAVING expr */
{
264
,
0
},
/* (183) limit_opt ::= */
{
264
,
-
2
},
/* (184) limit_opt ::= LIMIT signed */
{
264
,
-
4
},
/* (185) limit_opt ::= LIMIT signed OFFSET signed */
{
264
,
-
4
},
/* (186) limit_opt ::= LIMIT signed COMMA signed */
{
263
,
0
},
/* (187) slimit_opt ::= */
{
263
,
-
2
},
/* (188) slimit_opt ::= SLIMIT signed */
{
263
,
-
4
},
/* (189) slimit_opt ::= SLIMIT signed SOFFSET signed */
{
263
,
-
4
},
/* (190) slimit_opt ::= SLIMIT signed COMMA signed */
{
256
,
0
},
/* (191) where_opt ::= */
{
256
,
-
2
},
/* (192) where_opt ::= WHERE expr */
{
267
,
-
3
},
/* (193) expr ::= LP expr RP */
{
267
,
-
1
},
/* (194) expr ::= ID */
{
267
,
-
3
},
/* (195) expr ::= ID DOT ID */
{
267
,
-
3
},
/* (196) expr ::= ID DOT STAR */
{
267
,
-
1
},
/* (197) expr ::= INTEGER */
{
267
,
-
2
},
/* (198) expr ::= MINUS INTEGER */
{
267
,
-
2
},
/* (199) expr ::= PLUS INTEGER */
{
267
,
-
1
},
/* (200) expr ::= FLOAT */
{
267
,
-
2
},
/* (201) expr ::= MINUS FLOAT */
{
267
,
-
2
},
/* (202) expr ::= PLUS FLOAT */
{
267
,
-
1
},
/* (203) expr ::= STRING */
{
267
,
-
1
},
/* (204) expr ::= NOW */
{
267
,
-
1
},
/* (205) expr ::= VARIABLE */
{
267
,
-
1
},
/* (206) expr ::= BOOL */
{
267
,
-
4
},
/* (207) expr ::= ID LP exprlist RP */
{
267
,
-
4
},
/* (208) expr ::= ID LP STAR RP */
{
267
,
-
3
},
/* (209) expr ::= expr IS NULL */
{
267
,
-
4
},
/* (210) expr ::= expr IS NOT NULL */
{
267
,
-
3
},
/* (211) expr ::= expr LT expr */
{
267
,
-
3
},
/* (212) expr ::= expr GT expr */
{
267
,
-
3
},
/* (213) expr ::= expr LE expr */
{
267
,
-
3
},
/* (214) expr ::= expr GE expr */
{
267
,
-
3
},
/* (215) expr ::= expr NE expr */
{
267
,
-
3
},
/* (216) expr ::= expr EQ expr */
{
267
,
-
3
},
/* (217) expr ::= expr AND expr */
{
267
,
-
3
},
/* (218) expr ::= expr OR expr */
{
267
,
-
3
},
/* (219) expr ::= expr PLUS expr */
{
267
,
-
3
},
/* (220) expr ::= expr MINUS expr */
{
267
,
-
3
},
/* (221) expr ::= expr STAR expr */
{
267
,
-
3
},
/* (222) expr ::= expr SLASH expr */
{
267
,
-
3
},
/* (223) expr ::= expr REM expr */
{
267
,
-
3
},
/* (224) expr ::= expr LIKE expr */
{
267
,
-
5
},
/* (225) expr ::= expr IN LP exprlist RP */
{
276
,
-
3
},
/* (226) exprlist ::= exprlist COMMA expritem */
{
276
,
-
1
},
/* (227) exprlist ::= expritem */
{
277
,
-
1
},
/* (228) expritem ::= expr */
{
277
,
0
},
/* (229) expritem ::= */
{
211
,
-
3
},
/* (230) cmd ::= RESET QUERY CACHE */
{
211
,
-
7
},
/* (231) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
{
211
,
-
7
},
/* (232) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
{
211
,
-
7
},
/* (233) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
{
211
,
-
7
},
/* (234) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
{
211
,
-
8
},
/* (235) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
{
211
,
-
9
},
/* (236) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
{
211
,
-
3
},
/* (237) cmd ::= KILL CONNECTION INTEGER */
{
211
,
-
5
},
/* (238) cmd ::= KILL STREAM INTEGER COLON INTEGER */
{
211
,
-
5
},
/* (239) cmd ::= KILL QUERY INTEGER COLON INTEGER */
/* For rule J, yyRuleInfoLhs[J] contains the symbol on the left-hand side
** of that rule */
static
const
YYCODETYPE
yyRuleInfoLhs
[]
=
{
209
,
/* (0) program ::= cmd */
210
,
/* (1) cmd ::= SHOW DATABASES */
210
,
/* (2) cmd ::= SHOW MNODES */
210
,
/* (3) cmd ::= SHOW DNODES */
210
,
/* (4) cmd ::= SHOW ACCOUNTS */
210
,
/* (5) cmd ::= SHOW USERS */
210
,
/* (6) cmd ::= SHOW MODULES */
210
,
/* (7) cmd ::= SHOW QUERIES */
210
,
/* (8) cmd ::= SHOW CONNECTIONS */
210
,
/* (9) cmd ::= SHOW STREAMS */
210
,
/* (10) cmd ::= SHOW VARIABLES */
210
,
/* (11) cmd ::= SHOW SCORES */
210
,
/* (12) cmd ::= SHOW GRANTS */
210
,
/* (13) cmd ::= SHOW VNODES */
210
,
/* (14) cmd ::= SHOW VNODES IPTOKEN */
211
,
/* (15) dbPrefix ::= */
211
,
/* (16) dbPrefix ::= ids DOT */
213
,
/* (17) cpxName ::= */
213
,
/* (18) cpxName ::= DOT ids */
210
,
/* (19) cmd ::= SHOW CREATE TABLE ids cpxName */
210
,
/* (20) cmd ::= SHOW CREATE DATABASE ids */
210
,
/* (21) cmd ::= SHOW dbPrefix TABLES */
210
,
/* (22) cmd ::= SHOW dbPrefix TABLES LIKE ids */
210
,
/* (23) cmd ::= SHOW dbPrefix STABLES */
210
,
/* (24) cmd ::= SHOW dbPrefix STABLES LIKE ids */
210
,
/* (25) cmd ::= SHOW dbPrefix VGROUPS */
210
,
/* (26) cmd ::= SHOW dbPrefix VGROUPS ids */
210
,
/* (27) cmd ::= DROP TABLE ifexists ids cpxName */
210
,
/* (28) cmd ::= DROP STABLE ifexists ids cpxName */
210
,
/* (29) cmd ::= DROP DATABASE ifexists ids */
210
,
/* (30) cmd ::= DROP DNODE ids */
210
,
/* (31) cmd ::= DROP USER ids */
210
,
/* (32) cmd ::= DROP ACCOUNT ids */
210
,
/* (33) cmd ::= USE ids */
210
,
/* (34) cmd ::= DESCRIBE ids cpxName */
210
,
/* (35) cmd ::= ALTER USER ids PASS ids */
210
,
/* (36) cmd ::= ALTER USER ids PRIVILEGE ids */
210
,
/* (37) cmd ::= ALTER DNODE ids ids */
210
,
/* (38) cmd ::= ALTER DNODE ids ids ids */
210
,
/* (39) cmd ::= ALTER LOCAL ids */
210
,
/* (40) cmd ::= ALTER LOCAL ids ids */
210
,
/* (41) cmd ::= ALTER DATABASE ids alter_db_optr */
210
,
/* (42) cmd ::= ALTER ACCOUNT ids acct_optr */
210
,
/* (43) cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
212
,
/* (44) ids ::= ID */
212
,
/* (45) ids ::= STRING */
214
,
/* (46) ifexists ::= IF EXISTS */
214
,
/* (47) ifexists ::= */
217
,
/* (48) ifnotexists ::= IF NOT EXISTS */
217
,
/* (49) ifnotexists ::= */
210
,
/* (50) cmd ::= CREATE DNODE ids */
210
,
/* (51) cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
210
,
/* (52) cmd ::= CREATE DATABASE ifnotexists ids db_optr */
210
,
/* (53) cmd ::= CREATE USER ids PASS ids */
219
,
/* (54) pps ::= */
219
,
/* (55) pps ::= PPS INTEGER */
220
,
/* (56) tseries ::= */
220
,
/* (57) tseries ::= TSERIES INTEGER */
221
,
/* (58) dbs ::= */
221
,
/* (59) dbs ::= DBS INTEGER */
222
,
/* (60) streams ::= */
222
,
/* (61) streams ::= STREAMS INTEGER */
223
,
/* (62) storage ::= */
223
,
/* (63) storage ::= STORAGE INTEGER */
224
,
/* (64) qtime ::= */
224
,
/* (65) qtime ::= QTIME INTEGER */
225
,
/* (66) users ::= */
225
,
/* (67) users ::= USERS INTEGER */
226
,
/* (68) conns ::= */
226
,
/* (69) conns ::= CONNS INTEGER */
227
,
/* (70) state ::= */
227
,
/* (71) state ::= STATE ids */
216
,
/* (72) acct_optr ::= pps tseries storage streams qtime dbs users conns state */
228
,
/* (73) keep ::= KEEP tagitemlist */
230
,
/* (74) cache ::= CACHE INTEGER */
231
,
/* (75) replica ::= REPLICA INTEGER */
232
,
/* (76) quorum ::= QUORUM INTEGER */
233
,
/* (77) days ::= DAYS INTEGER */
234
,
/* (78) minrows ::= MINROWS INTEGER */
235
,
/* (79) maxrows ::= MAXROWS INTEGER */
236
,
/* (80) blocks ::= BLOCKS INTEGER */
237
,
/* (81) ctime ::= CTIME INTEGER */
238
,
/* (82) wal ::= WAL INTEGER */
239
,
/* (83) fsync ::= FSYNC INTEGER */
240
,
/* (84) comp ::= COMP INTEGER */
241
,
/* (85) prec ::= PRECISION STRING */
242
,
/* (86) update ::= UPDATE INTEGER */
243
,
/* (87) cachelast ::= CACHELAST INTEGER */
218
,
/* (88) db_optr ::= */
218
,
/* (89) db_optr ::= db_optr cache */
218
,
/* (90) db_optr ::= db_optr replica */
218
,
/* (91) db_optr ::= db_optr quorum */
218
,
/* (92) db_optr ::= db_optr days */
218
,
/* (93) db_optr ::= db_optr minrows */
218
,
/* (94) db_optr ::= db_optr maxrows */
218
,
/* (95) db_optr ::= db_optr blocks */
218
,
/* (96) db_optr ::= db_optr ctime */
218
,
/* (97) db_optr ::= db_optr wal */
218
,
/* (98) db_optr ::= db_optr fsync */
218
,
/* (99) db_optr ::= db_optr comp */
218
,
/* (100) db_optr ::= db_optr prec */
218
,
/* (101) db_optr ::= db_optr keep */
218
,
/* (102) db_optr ::= db_optr update */
218
,
/* (103) db_optr ::= db_optr cachelast */
215
,
/* (104) alter_db_optr ::= */
215
,
/* (105) alter_db_optr ::= alter_db_optr replica */
215
,
/* (106) alter_db_optr ::= alter_db_optr quorum */
215
,
/* (107) alter_db_optr ::= alter_db_optr keep */
215
,
/* (108) alter_db_optr ::= alter_db_optr blocks */
215
,
/* (109) alter_db_optr ::= alter_db_optr comp */
215
,
/* (110) alter_db_optr ::= alter_db_optr wal */
215
,
/* (111) alter_db_optr ::= alter_db_optr fsync */
215
,
/* (112) alter_db_optr ::= alter_db_optr update */
215
,
/* (113) alter_db_optr ::= alter_db_optr cachelast */
244
,
/* (114) typename ::= ids */
244
,
/* (115) typename ::= ids LP signed RP */
244
,
/* (116) typename ::= ids UNSIGNED */
245
,
/* (117) signed ::= INTEGER */
245
,
/* (118) signed ::= PLUS INTEGER */
245
,
/* (119) signed ::= MINUS INTEGER */
210
,
/* (120) cmd ::= CREATE TABLE create_table_args */
210
,
/* (121) cmd ::= CREATE TABLE create_stable_args */
210
,
/* (122) cmd ::= CREATE STABLE create_stable_args */
210
,
/* (123) cmd ::= CREATE TABLE create_table_list */
248
,
/* (124) create_table_list ::= create_from_stable */
248
,
/* (125) create_table_list ::= create_table_list create_from_stable */
246
,
/* (126) create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
247
,
/* (127) create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
249
,
/* (128) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
246
,
/* (129) create_table_args ::= ifnotexists ids cpxName AS select */
250
,
/* (130) columnlist ::= columnlist COMMA column */
250
,
/* (131) columnlist ::= column */
252
,
/* (132) column ::= ids typename */
229
,
/* (133) tagitemlist ::= tagitemlist COMMA tagitem */
229
,
/* (134) tagitemlist ::= tagitem */
253
,
/* (135) tagitem ::= INTEGER */
253
,
/* (136) tagitem ::= FLOAT */
253
,
/* (137) tagitem ::= STRING */
253
,
/* (138) tagitem ::= BOOL */
253
,
/* (139) tagitem ::= NULL */
253
,
/* (140) tagitem ::= MINUS INTEGER */
253
,
/* (141) tagitem ::= MINUS FLOAT */
253
,
/* (142) tagitem ::= PLUS INTEGER */
253
,
/* (143) tagitem ::= PLUS FLOAT */
251
,
/* (144) select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
265
,
/* (145) union ::= select */
265
,
/* (146) union ::= LP union RP */
265
,
/* (147) union ::= union UNION ALL select */
265
,
/* (148) union ::= union UNION ALL LP select RP */
210
,
/* (149) cmd ::= union */
251
,
/* (150) select ::= SELECT selcollist */
266
,
/* (151) sclp ::= selcollist COMMA */
266
,
/* (152) sclp ::= */
254
,
/* (153) selcollist ::= sclp expr as */
254
,
/* (154) selcollist ::= sclp STAR */
268
,
/* (155) as ::= AS ids */
268
,
/* (156) as ::= ids */
268
,
/* (157) as ::= */
255
,
/* (158) from ::= FROM tablelist */
269
,
/* (159) tablelist ::= ids cpxName */
269
,
/* (160) tablelist ::= ids cpxName ids */
269
,
/* (161) tablelist ::= tablelist COMMA ids cpxName */
269
,
/* (162) tablelist ::= tablelist COMMA ids cpxName ids */
270
,
/* (163) tmvar ::= VARIABLE */
257
,
/* (164) interval_opt ::= INTERVAL LP tmvar RP */
257
,
/* (165) interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
257
,
/* (166) interval_opt ::= */
258
,
/* (167) fill_opt ::= */
258
,
/* (168) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
258
,
/* (169) fill_opt ::= FILL LP ID RP */
259
,
/* (170) sliding_opt ::= SLIDING LP tmvar RP */
259
,
/* (171) sliding_opt ::= */
261
,
/* (172) orderby_opt ::= */
261
,
/* (173) orderby_opt ::= ORDER BY sortlist */
271
,
/* (174) sortlist ::= sortlist COMMA item sortorder */
271
,
/* (175) sortlist ::= item sortorder */
273
,
/* (176) item ::= ids cpxName */
274
,
/* (177) sortorder ::= ASC */
274
,
/* (178) sortorder ::= DESC */
274
,
/* (179) sortorder ::= */
260
,
/* (180) groupby_opt ::= */
260
,
/* (181) groupby_opt ::= GROUP BY grouplist */
275
,
/* (182) grouplist ::= grouplist COMMA item */
275
,
/* (183) grouplist ::= item */
262
,
/* (184) having_opt ::= */
262
,
/* (185) having_opt ::= HAVING expr */
264
,
/* (186) limit_opt ::= */
264
,
/* (187) limit_opt ::= LIMIT signed */
264
,
/* (188) limit_opt ::= LIMIT signed OFFSET signed */
264
,
/* (189) limit_opt ::= LIMIT signed COMMA signed */
263
,
/* (190) slimit_opt ::= */
263
,
/* (191) slimit_opt ::= SLIMIT signed */
263
,
/* (192) slimit_opt ::= SLIMIT signed SOFFSET signed */
263
,
/* (193) slimit_opt ::= SLIMIT signed COMMA signed */
256
,
/* (194) where_opt ::= */
256
,
/* (195) where_opt ::= WHERE expr */
267
,
/* (196) expr ::= LP expr RP */
267
,
/* (197) expr ::= ID */
267
,
/* (198) expr ::= ID DOT ID */
267
,
/* (199) expr ::= ID DOT STAR */
267
,
/* (200) expr ::= INTEGER */
267
,
/* (201) expr ::= MINUS INTEGER */
267
,
/* (202) expr ::= PLUS INTEGER */
267
,
/* (203) expr ::= FLOAT */
267
,
/* (204) expr ::= MINUS FLOAT */
267
,
/* (205) expr ::= PLUS FLOAT */
267
,
/* (206) expr ::= STRING */
267
,
/* (207) expr ::= NOW */
267
,
/* (208) expr ::= VARIABLE */
267
,
/* (209) expr ::= BOOL */
267
,
/* (210) expr ::= ID LP exprlist RP */
267
,
/* (211) expr ::= ID LP STAR RP */
267
,
/* (212) expr ::= expr IS NULL */
267
,
/* (213) expr ::= expr IS NOT NULL */
267
,
/* (214) expr ::= expr LT expr */
267
,
/* (215) expr ::= expr GT expr */
267
,
/* (216) expr ::= expr LE expr */
267
,
/* (217) expr ::= expr GE expr */
267
,
/* (218) expr ::= expr NE expr */
267
,
/* (219) expr ::= expr EQ expr */
267
,
/* (220) expr ::= expr AND expr */
267
,
/* (221) expr ::= expr OR expr */
267
,
/* (222) expr ::= expr PLUS expr */
267
,
/* (223) expr ::= expr MINUS expr */
267
,
/* (224) expr ::= expr STAR expr */
267
,
/* (225) expr ::= expr SLASH expr */
267
,
/* (226) expr ::= expr REM expr */
267
,
/* (227) expr ::= expr LIKE expr */
267
,
/* (228) expr ::= expr IN LP exprlist RP */
276
,
/* (229) exprlist ::= exprlist COMMA expritem */
276
,
/* (230) exprlist ::= expritem */
277
,
/* (231) expritem ::= expr */
277
,
/* (232) expritem ::= */
210
,
/* (233) cmd ::= RESET QUERY CACHE */
210
,
/* (234) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
210
,
/* (235) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
210
,
/* (236) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
210
,
/* (237) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
210
,
/* (238) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
210
,
/* (239) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
210
,
/* (240) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
210
,
/* (241) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
210
,
/* (242) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
210
,
/* (243) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
210
,
/* (244) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
210
,
/* (245) cmd ::= KILL CONNECTION INTEGER */
210
,
/* (246) cmd ::= KILL STREAM INTEGER COLON INTEGER */
210
,
/* (247) cmd ::= KILL QUERY INTEGER COLON INTEGER */
};
/* 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
[]
=
{
-
1
,
/* (0) program ::= cmd */
-
2
,
/* (1) cmd ::= SHOW DATABASES */
-
2
,
/* (2) cmd ::= SHOW MNODES */
-
2
,
/* (3) cmd ::= SHOW DNODES */
-
2
,
/* (4) cmd ::= SHOW ACCOUNTS */
-
2
,
/* (5) cmd ::= SHOW USERS */
-
2
,
/* (6) cmd ::= SHOW MODULES */
-
2
,
/* (7) cmd ::= SHOW QUERIES */
-
2
,
/* (8) cmd ::= SHOW CONNECTIONS */
-
2
,
/* (9) cmd ::= SHOW STREAMS */
-
2
,
/* (10) cmd ::= SHOW VARIABLES */
-
2
,
/* (11) cmd ::= SHOW SCORES */
-
2
,
/* (12) cmd ::= SHOW GRANTS */
-
2
,
/* (13) cmd ::= SHOW VNODES */
-
3
,
/* (14) cmd ::= SHOW VNODES IPTOKEN */
0
,
/* (15) dbPrefix ::= */
-
2
,
/* (16) dbPrefix ::= ids DOT */
0
,
/* (17) cpxName ::= */
-
2
,
/* (18) cpxName ::= DOT ids */
-
5
,
/* (19) cmd ::= SHOW CREATE TABLE ids cpxName */
-
4
,
/* (20) cmd ::= SHOW CREATE DATABASE ids */
-
3
,
/* (21) cmd ::= SHOW dbPrefix TABLES */
-
5
,
/* (22) cmd ::= SHOW dbPrefix TABLES LIKE ids */
-
3
,
/* (23) cmd ::= SHOW dbPrefix STABLES */
-
5
,
/* (24) cmd ::= SHOW dbPrefix STABLES LIKE ids */
-
3
,
/* (25) cmd ::= SHOW dbPrefix VGROUPS */
-
4
,
/* (26) cmd ::= SHOW dbPrefix VGROUPS ids */
-
5
,
/* (27) cmd ::= DROP TABLE ifexists ids cpxName */
-
5
,
/* (28) cmd ::= DROP STABLE ifexists ids cpxName */
-
4
,
/* (29) cmd ::= DROP DATABASE ifexists ids */
-
3
,
/* (30) cmd ::= DROP DNODE ids */
-
3
,
/* (31) cmd ::= DROP USER ids */
-
3
,
/* (32) cmd ::= DROP ACCOUNT ids */
-
2
,
/* (33) cmd ::= USE ids */
-
3
,
/* (34) cmd ::= DESCRIBE ids cpxName */
-
5
,
/* (35) cmd ::= ALTER USER ids PASS ids */
-
5
,
/* (36) cmd ::= ALTER USER ids PRIVILEGE ids */
-
4
,
/* (37) cmd ::= ALTER DNODE ids ids */
-
5
,
/* (38) cmd ::= ALTER DNODE ids ids ids */
-
3
,
/* (39) cmd ::= ALTER LOCAL ids */
-
4
,
/* (40) cmd ::= ALTER LOCAL ids ids */
-
4
,
/* (41) cmd ::= ALTER DATABASE ids alter_db_optr */
-
4
,
/* (42) cmd ::= ALTER ACCOUNT ids acct_optr */
-
6
,
/* (43) cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
-
1
,
/* (44) ids ::= ID */
-
1
,
/* (45) ids ::= STRING */
-
2
,
/* (46) ifexists ::= IF EXISTS */
0
,
/* (47) ifexists ::= */
-
3
,
/* (48) ifnotexists ::= IF NOT EXISTS */
0
,
/* (49) ifnotexists ::= */
-
3
,
/* (50) cmd ::= CREATE DNODE ids */
-
6
,
/* (51) cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
-
5
,
/* (52) cmd ::= CREATE DATABASE ifnotexists ids db_optr */
-
5
,
/* (53) cmd ::= CREATE USER ids PASS ids */
0
,
/* (54) pps ::= */
-
2
,
/* (55) pps ::= PPS INTEGER */
0
,
/* (56) tseries ::= */
-
2
,
/* (57) tseries ::= TSERIES INTEGER */
0
,
/* (58) dbs ::= */
-
2
,
/* (59) dbs ::= DBS INTEGER */
0
,
/* (60) streams ::= */
-
2
,
/* (61) streams ::= STREAMS INTEGER */
0
,
/* (62) storage ::= */
-
2
,
/* (63) storage ::= STORAGE INTEGER */
0
,
/* (64) qtime ::= */
-
2
,
/* (65) qtime ::= QTIME INTEGER */
0
,
/* (66) users ::= */
-
2
,
/* (67) users ::= USERS INTEGER */
0
,
/* (68) conns ::= */
-
2
,
/* (69) conns ::= CONNS INTEGER */
0
,
/* (70) state ::= */
-
2
,
/* (71) state ::= STATE ids */
-
9
,
/* (72) acct_optr ::= pps tseries storage streams qtime dbs users conns state */
-
2
,
/* (73) keep ::= KEEP tagitemlist */
-
2
,
/* (74) cache ::= CACHE INTEGER */
-
2
,
/* (75) replica ::= REPLICA INTEGER */
-
2
,
/* (76) quorum ::= QUORUM INTEGER */
-
2
,
/* (77) days ::= DAYS INTEGER */
-
2
,
/* (78) minrows ::= MINROWS INTEGER */
-
2
,
/* (79) maxrows ::= MAXROWS INTEGER */
-
2
,
/* (80) blocks ::= BLOCKS INTEGER */
-
2
,
/* (81) ctime ::= CTIME INTEGER */
-
2
,
/* (82) wal ::= WAL INTEGER */
-
2
,
/* (83) fsync ::= FSYNC INTEGER */
-
2
,
/* (84) comp ::= COMP INTEGER */
-
2
,
/* (85) prec ::= PRECISION STRING */
-
2
,
/* (86) update ::= UPDATE INTEGER */
-
2
,
/* (87) cachelast ::= CACHELAST INTEGER */
0
,
/* (88) db_optr ::= */
-
2
,
/* (89) db_optr ::= db_optr cache */
-
2
,
/* (90) db_optr ::= db_optr replica */
-
2
,
/* (91) db_optr ::= db_optr quorum */
-
2
,
/* (92) db_optr ::= db_optr days */
-
2
,
/* (93) db_optr ::= db_optr minrows */
-
2
,
/* (94) db_optr ::= db_optr maxrows */
-
2
,
/* (95) db_optr ::= db_optr blocks */
-
2
,
/* (96) db_optr ::= db_optr ctime */
-
2
,
/* (97) db_optr ::= db_optr wal */
-
2
,
/* (98) db_optr ::= db_optr fsync */
-
2
,
/* (99) db_optr ::= db_optr comp */
-
2
,
/* (100) db_optr ::= db_optr prec */
-
2
,
/* (101) db_optr ::= db_optr keep */
-
2
,
/* (102) db_optr ::= db_optr update */
-
2
,
/* (103) db_optr ::= db_optr cachelast */
0
,
/* (104) alter_db_optr ::= */
-
2
,
/* (105) alter_db_optr ::= alter_db_optr replica */
-
2
,
/* (106) alter_db_optr ::= alter_db_optr quorum */
-
2
,
/* (107) alter_db_optr ::= alter_db_optr keep */
-
2
,
/* (108) alter_db_optr ::= alter_db_optr blocks */
-
2
,
/* (109) alter_db_optr ::= alter_db_optr comp */
-
2
,
/* (110) alter_db_optr ::= alter_db_optr wal */
-
2
,
/* (111) alter_db_optr ::= alter_db_optr fsync */
-
2
,
/* (112) alter_db_optr ::= alter_db_optr update */
-
2
,
/* (113) alter_db_optr ::= alter_db_optr cachelast */
-
1
,
/* (114) typename ::= ids */
-
4
,
/* (115) typename ::= ids LP signed RP */
-
2
,
/* (116) typename ::= ids UNSIGNED */
-
1
,
/* (117) signed ::= INTEGER */
-
2
,
/* (118) signed ::= PLUS INTEGER */
-
2
,
/* (119) signed ::= MINUS INTEGER */
-
3
,
/* (120) cmd ::= CREATE TABLE create_table_args */
-
3
,
/* (121) cmd ::= CREATE TABLE create_stable_args */
-
3
,
/* (122) cmd ::= CREATE STABLE create_stable_args */
-
3
,
/* (123) cmd ::= CREATE TABLE create_table_list */
-
1
,
/* (124) create_table_list ::= create_from_stable */
-
2
,
/* (125) create_table_list ::= create_table_list create_from_stable */
-
6
,
/* (126) create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
-
10
,
/* (127) create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
-
10
,
/* (128) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
-
5
,
/* (129) create_table_args ::= ifnotexists ids cpxName AS select */
-
3
,
/* (130) columnlist ::= columnlist COMMA column */
-
1
,
/* (131) columnlist ::= column */
-
2
,
/* (132) column ::= ids typename */
-
3
,
/* (133) tagitemlist ::= tagitemlist COMMA tagitem */
-
1
,
/* (134) tagitemlist ::= tagitem */
-
1
,
/* (135) tagitem ::= INTEGER */
-
1
,
/* (136) tagitem ::= FLOAT */
-
1
,
/* (137) tagitem ::= STRING */
-
1
,
/* (138) tagitem ::= BOOL */
-
1
,
/* (139) tagitem ::= NULL */
-
2
,
/* (140) tagitem ::= MINUS INTEGER */
-
2
,
/* (141) tagitem ::= MINUS FLOAT */
-
2
,
/* (142) tagitem ::= PLUS INTEGER */
-
2
,
/* (143) tagitem ::= PLUS FLOAT */
-
12
,
/* (144) select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
-
1
,
/* (145) union ::= select */
-
3
,
/* (146) union ::= LP union RP */
-
4
,
/* (147) union ::= union UNION ALL select */
-
6
,
/* (148) union ::= union UNION ALL LP select RP */
-
1
,
/* (149) cmd ::= union */
-
2
,
/* (150) select ::= SELECT selcollist */
-
2
,
/* (151) sclp ::= selcollist COMMA */
0
,
/* (152) sclp ::= */
-
3
,
/* (153) selcollist ::= sclp expr as */
-
2
,
/* (154) selcollist ::= sclp STAR */
-
2
,
/* (155) as ::= AS ids */
-
1
,
/* (156) as ::= ids */
0
,
/* (157) as ::= */
-
2
,
/* (158) from ::= FROM tablelist */
-
2
,
/* (159) tablelist ::= ids cpxName */
-
3
,
/* (160) tablelist ::= ids cpxName ids */
-
4
,
/* (161) tablelist ::= tablelist COMMA ids cpxName */
-
5
,
/* (162) tablelist ::= tablelist COMMA ids cpxName ids */
-
1
,
/* (163) tmvar ::= VARIABLE */
-
4
,
/* (164) interval_opt ::= INTERVAL LP tmvar RP */
-
6
,
/* (165) interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
0
,
/* (166) interval_opt ::= */
0
,
/* (167) fill_opt ::= */
-
6
,
/* (168) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
-
4
,
/* (169) fill_opt ::= FILL LP ID RP */
-
4
,
/* (170) sliding_opt ::= SLIDING LP tmvar RP */
0
,
/* (171) sliding_opt ::= */
0
,
/* (172) orderby_opt ::= */
-
3
,
/* (173) orderby_opt ::= ORDER BY sortlist */
-
4
,
/* (174) sortlist ::= sortlist COMMA item sortorder */
-
2
,
/* (175) sortlist ::= item sortorder */
-
2
,
/* (176) item ::= ids cpxName */
-
1
,
/* (177) sortorder ::= ASC */
-
1
,
/* (178) sortorder ::= DESC */
0
,
/* (179) sortorder ::= */
0
,
/* (180) groupby_opt ::= */
-
3
,
/* (181) groupby_opt ::= GROUP BY grouplist */
-
3
,
/* (182) grouplist ::= grouplist COMMA item */
-
1
,
/* (183) grouplist ::= item */
0
,
/* (184) having_opt ::= */
-
2
,
/* (185) having_opt ::= HAVING expr */
0
,
/* (186) limit_opt ::= */
-
2
,
/* (187) limit_opt ::= LIMIT signed */
-
4
,
/* (188) limit_opt ::= LIMIT signed OFFSET signed */
-
4
,
/* (189) limit_opt ::= LIMIT signed COMMA signed */
0
,
/* (190) slimit_opt ::= */
-
2
,
/* (191) slimit_opt ::= SLIMIT signed */
-
4
,
/* (192) slimit_opt ::= SLIMIT signed SOFFSET signed */
-
4
,
/* (193) slimit_opt ::= SLIMIT signed COMMA signed */
0
,
/* (194) where_opt ::= */
-
2
,
/* (195) where_opt ::= WHERE expr */
-
3
,
/* (196) expr ::= LP expr RP */
-
1
,
/* (197) expr ::= ID */
-
3
,
/* (198) expr ::= ID DOT ID */
-
3
,
/* (199) expr ::= ID DOT STAR */
-
1
,
/* (200) expr ::= INTEGER */
-
2
,
/* (201) expr ::= MINUS INTEGER */
-
2
,
/* (202) expr ::= PLUS INTEGER */
-
1
,
/* (203) expr ::= FLOAT */
-
2
,
/* (204) expr ::= MINUS FLOAT */
-
2
,
/* (205) expr ::= PLUS FLOAT */
-
1
,
/* (206) expr ::= STRING */
-
1
,
/* (207) expr ::= NOW */
-
1
,
/* (208) expr ::= VARIABLE */
-
1
,
/* (209) expr ::= BOOL */
-
4
,
/* (210) expr ::= ID LP exprlist RP */
-
4
,
/* (211) expr ::= ID LP STAR RP */
-
3
,
/* (212) expr ::= expr IS NULL */
-
4
,
/* (213) expr ::= expr IS NOT NULL */
-
3
,
/* (214) expr ::= expr LT expr */
-
3
,
/* (215) expr ::= expr GT expr */
-
3
,
/* (216) expr ::= expr LE expr */
-
3
,
/* (217) expr ::= expr GE expr */
-
3
,
/* (218) expr ::= expr NE expr */
-
3
,
/* (219) expr ::= expr EQ expr */
-
3
,
/* (220) expr ::= expr AND expr */
-
3
,
/* (221) expr ::= expr OR expr */
-
3
,
/* (222) expr ::= expr PLUS expr */
-
3
,
/* (223) expr ::= expr MINUS expr */
-
3
,
/* (224) expr ::= expr STAR expr */
-
3
,
/* (225) expr ::= expr SLASH expr */
-
3
,
/* (226) expr ::= expr REM expr */
-
3
,
/* (227) expr ::= expr LIKE expr */
-
5
,
/* (228) expr ::= expr IN LP exprlist RP */
-
3
,
/* (229) exprlist ::= exprlist COMMA expritem */
-
1
,
/* (230) exprlist ::= expritem */
-
1
,
/* (231) expritem ::= expr */
0
,
/* (232) expritem ::= */
-
3
,
/* (233) cmd ::= RESET QUERY CACHE */
-
7
,
/* (234) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
-
7
,
/* (235) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
-
7
,
/* (236) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
-
7
,
/* (237) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
-
8
,
/* (238) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
-
9
,
/* (239) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
-
7
,
/* (240) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
-
7
,
/* (241) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
-
7
,
/* (242) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
-
7
,
/* (243) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
-
8
,
/* (244) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
-
3
,
/* (245) cmd ::= KILL CONNECTION INTEGER */
-
5
,
/* (246) cmd ::= KILL STREAM INTEGER COLON INTEGER */
-
5
,
/* (247) cmd ::= KILL QUERY INTEGER COLON INTEGER */
};
static
void
yy_accept
(
yyParser
*
);
/* Forward Declaration */
...
...
@@ -1976,30 +2272,34 @@ static void yy_accept(yyParser*); /* Forward Declaration */
** only called from one place, optimizing compilers will in-line it, which
** means that the extra parameters have no performance impact.
*/
static
void
yy_reduce
(
static
YYACTIONTYPE
yy_reduce
(
yyParser
*
yypParser
,
/* The parser */
unsigned
int
yyruleno
,
/* Number of the rule by which to reduce */
int
yyLookahead
,
/* Lookahead token, or YYNOCODE if none */
ParseTOKENTYPE
yyLookaheadToken
/* Value of the lookahead token */
ParseCTX_PDECL
/* %extra_context */
){
int
yygoto
;
/* The next state */
int
yyact
;
/* The next action */
YYACTIONTYPE
yyact
;
/* The next action */
yyStackEntry
*
yymsp
;
/* The top of the parser's stack */
int
yysize
;
/* Amount to pop the stack */
ParseARG_FETCH
;
ParseARG_FETCH
(
void
)
yyLookahead
;
(
void
)
yyLookaheadToken
;
yymsp
=
yypParser
->
yytos
;
#ifndef NDEBUG
if
(
yyTraceFILE
&&
yyruleno
<
(
int
)(
sizeof
(
yyRuleName
)
/
sizeof
(
yyRuleName
[
0
]))
){
yysize
=
yyRuleInfo
[
yyruleno
].
nrhs
;
yysize
=
yyRuleInfo
NRhs
[
yyruleno
]
;
if
(
yysize
){
fprintf
(
yyTraceFILE
,
"%sReduce %d [%s]
, go
to state %d.
\n
"
,
fprintf
(
yyTraceFILE
,
"%sReduce %d [%s]
%s, pop back
to state %d.
\n
"
,
yyTracePrompt
,
yyruleno
,
yyRuleName
[
yyruleno
],
yymsp
[
yysize
].
stateno
);
yyruleno
,
yyRuleName
[
yyruleno
],
yyruleno
<
YYNRULE_WITH_ACTION
?
""
:
" without external action"
,
yymsp
[
yysize
].
stateno
);
}
else
{
fprintf
(
yyTraceFILE
,
"%sReduce %d [%s].
\n
"
,
yyTracePrompt
,
yyruleno
,
yyRuleName
[
yyruleno
]);
fprintf
(
yyTraceFILE
,
"%sReduce %d [%s]%s.
\n
"
,
yyTracePrompt
,
yyruleno
,
yyRuleName
[
yyruleno
],
yyruleno
<
YYNRULE_WITH_ACTION
?
""
:
" without external action"
);
}
}
#endif
/* NDEBUG */
...
...
@@ -2007,7 +2307,7 @@ static void yy_reduce(
/* Check that the stack is large enough to grow by a single entry
** if the RHS of the rule is empty. This ensures that there is room
** enough on the stack to push the LHS value */
if
(
yyRuleInfo
[
yyruleno
].
nrhs
==
0
){
if
(
yyRuleInfo
NRhs
[
yyruleno
]
==
0
){
#ifdef YYTRACKMAXSTACKDEPTH
if
(
(
int
)(
yypParser
->
yytos
-
yypParser
->
yystack
)
>
yypParser
->
yyhwm
){
yypParser
->
yyhwm
++
;
...
...
@@ -2017,13 +2317,19 @@ static void yy_reduce(
#if YYSTACKDEPTH>0
if
(
yypParser
->
yytos
>=
yypParser
->
yystackEnd
){
yyStackOverflow
(
yypParser
);
return
;
/* 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
);
return
;
/* 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
;
}
...
...
@@ -2042,7 +2348,9 @@ static void yy_reduce(
/********** Begin reduce actions **********************************************/
YYMINORTYPE
yylhsminor
;
case
0
:
/* program ::= cmd */
case
119
:
/* cmd ::= CREATE TABLE create_table_args */
yytestcase
(
yyruleno
==
119
);
case
120
:
/* cmd ::= CREATE TABLE create_table_args */
yytestcase
(
yyruleno
==
120
);
case
121
:
/* cmd ::= CREATE TABLE create_stable_args */
yytestcase
(
yyruleno
==
121
);
case
122
:
/* cmd ::= CREATE STABLE create_stable_args */
yytestcase
(
yyruleno
==
122
);
{}
break
;
case
1
:
/* cmd ::= SHOW DATABASES */
...
...
@@ -2150,107 +2458,113 @@ static void yy_reduce(
case
27
:
/* cmd ::= DROP TABLE ifexists ids cpxName */
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
setDropDbTableInfo
(
pInfo
,
TSDB_SQL_DROP_TABLE
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
-
2
].
minor
.
yy0
);
setDropDbTableInfo
(
pInfo
,
TSDB_SQL_DROP_TABLE
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
-
2
].
minor
.
yy0
,
-
1
);
}
break
;
case
28
:
/* cmd ::= DROP STABLE ifexists ids cpxName */
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
setDropDbTableInfo
(
pInfo
,
TSDB_SQL_DROP_TABLE
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
-
2
].
minor
.
yy0
,
TSDB_SUPER_TABLE
);
}
break
;
case
2
8
:
/* cmd ::= DROP DATABASE ifexists ids */
{
setDropDbTableInfo
(
pInfo
,
TSDB_SQL_DROP_DB
,
&
yymsp
[
0
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
);
}
case
2
9
:
/* cmd ::= DROP DATABASE ifexists ids */
{
setDropDbTableInfo
(
pInfo
,
TSDB_SQL_DROP_DB
,
&
yymsp
[
0
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
);
}
break
;
case
29
:
/* cmd ::= DROP DNODE ids */
case
30
:
/* cmd ::= DROP DNODE ids */
{
setDCLSQLElems
(
pInfo
,
TSDB_SQL_DROP_DNODE
,
1
,
&
yymsp
[
0
].
minor
.
yy0
);
}
break
;
case
3
0
:
/* cmd ::= DROP USER ids */
case
3
1
:
/* cmd ::= DROP USER ids */
{
setDCLSQLElems
(
pInfo
,
TSDB_SQL_DROP_USER
,
1
,
&
yymsp
[
0
].
minor
.
yy0
);
}
break
;
case
3
1
:
/* cmd ::= DROP ACCOUNT ids */
case
3
2
:
/* cmd ::= DROP ACCOUNT ids */
{
setDCLSQLElems
(
pInfo
,
TSDB_SQL_DROP_ACCT
,
1
,
&
yymsp
[
0
].
minor
.
yy0
);
}
break
;
case
3
2
:
/* cmd ::= USE ids */
case
3
3
:
/* cmd ::= USE ids */
{
setDCLSQLElems
(
pInfo
,
TSDB_SQL_USE_DB
,
1
,
&
yymsp
[
0
].
minor
.
yy0
);}
break
;
case
3
3
:
/* cmd ::= DESCRIBE ids cpxName */
case
3
4
:
/* cmd ::= DESCRIBE ids cpxName */
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
setDCLSQLElems
(
pInfo
,
TSDB_SQL_DESCRIBE_TABLE
,
1
,
&
yymsp
[
-
1
].
minor
.
yy0
);
}
break
;
case
3
4
:
/* cmd ::= ALTER USER ids PASS ids */
case
3
5
:
/* cmd ::= ALTER USER ids PASS ids */
{
setAlterUserSql
(
pInfo
,
TSDB_ALTER_USER_PASSWD
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
NULL
);
}
break
;
case
3
5
:
/* cmd ::= ALTER USER ids PRIVILEGE ids */
case
3
6
:
/* cmd ::= ALTER USER ids PRIVILEGE ids */
{
setAlterUserSql
(
pInfo
,
TSDB_ALTER_USER_PRIVILEGES
,
&
yymsp
[
-
2
].
minor
.
yy0
,
NULL
,
&
yymsp
[
0
].
minor
.
yy0
);}
break
;
case
3
6
:
/* cmd ::= ALTER DNODE ids ids */
case
3
7
:
/* cmd ::= ALTER DNODE ids ids */
{
setDCLSQLElems
(
pInfo
,
TSDB_SQL_CFG_DNODE
,
2
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
break
;
case
3
7
:
/* cmd ::= ALTER DNODE ids ids ids */
case
3
8
:
/* cmd ::= ALTER DNODE ids ids ids */
{
setDCLSQLElems
(
pInfo
,
TSDB_SQL_CFG_DNODE
,
3
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
break
;
case
3
8
:
/* cmd ::= ALTER LOCAL ids */
case
3
9
:
/* cmd ::= ALTER LOCAL ids */
{
setDCLSQLElems
(
pInfo
,
TSDB_SQL_CFG_LOCAL
,
1
,
&
yymsp
[
0
].
minor
.
yy0
);
}
break
;
case
39
:
/* cmd ::= ALTER LOCAL ids ids */
case
40
:
/* cmd ::= ALTER LOCAL ids ids */
{
setDCLSQLElems
(
pInfo
,
TSDB_SQL_CFG_LOCAL
,
2
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
break
;
case
4
0
:
/* cmd ::= ALTER DATABASE ids alter_db_optr */
case
4
1
:
/* cmd ::= ALTER DATABASE ids alter_db_optr */
{
SStrToken
t
=
{
0
};
setCreateDBSQL
(
pInfo
,
TSDB_SQL_ALTER_DB
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy234
,
&
t
);}
break
;
case
4
1
:
/* cmd ::= ALTER ACCOUNT ids acct_optr */
case
4
2
:
/* cmd ::= ALTER ACCOUNT ids acct_optr */
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_ALTER_ACCT
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
,
&
yymsp
[
0
].
minor
.
yy71
);}
break
;
case
4
2
:
/* cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
case
4
3
:
/* cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_ALTER_ACCT
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy71
);}
break
;
case
4
3
:
/* ids ::= ID */
case
4
4
:
/* ids ::= STRING */
yytestcase
(
yyruleno
==
44
);
case
4
4
:
/* ids ::= ID */
case
4
5
:
/* ids ::= STRING */
yytestcase
(
yyruleno
==
45
);
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
case
4
5
:
/* ifexists ::= IF EXISTS */
case
4
6
:
/* ifexists ::= IF EXISTS */
{
yymsp
[
-
1
].
minor
.
yy0
.
n
=
1
;}
break
;
case
4
6
:
/* ifexists ::= */
case
4
8
:
/* ifnotexists ::= */
yytestcase
(
yyruleno
==
48
);
case
4
7
:
/* ifexists ::= */
case
4
9
:
/* ifnotexists ::= */
yytestcase
(
yyruleno
==
49
);
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;}
break
;
case
4
7
:
/* ifnotexists ::= IF NOT EXISTS */
case
4
8
:
/* ifnotexists ::= IF NOT EXISTS */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
=
1
;}
break
;
case
49
:
/* cmd ::= CREATE DNODE ids */
case
50
:
/* cmd ::= CREATE DNODE ids */
{
setDCLSQLElems
(
pInfo
,
TSDB_SQL_CREATE_DNODE
,
1
,
&
yymsp
[
0
].
minor
.
yy0
);}
break
;
case
5
0
:
/* cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
case
5
1
:
/* cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_CREATE_ACCT
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy71
);}
break
;
case
5
1
:
/* cmd ::= CREATE DATABASE ifnotexists ids db_optr */
case
5
2
:
/* cmd ::= CREATE DATABASE ifnotexists ids db_optr */
{
setCreateDBSQL
(
pInfo
,
TSDB_SQL_CREATE_DB
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy234
,
&
yymsp
[
-
2
].
minor
.
yy0
);}
break
;
case
5
2
:
/* cmd ::= CREATE USER ids PASS ids */
case
5
3
:
/* cmd ::= CREATE USER ids PASS ids */
{
setCreateUserSql
(
pInfo
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);}
break
;
case
5
3
:
/* pps ::= */
case
5
5
:
/* tseries ::= */
yytestcase
(
yyruleno
==
55
);
case
5
7
:
/* dbs ::= */
yytestcase
(
yyruleno
==
57
);
case
59
:
/* streams ::= */
yytestcase
(
yyruleno
==
59
);
case
6
1
:
/* storage ::= */
yytestcase
(
yyruleno
==
61
);
case
6
3
:
/* qtime ::= */
yytestcase
(
yyruleno
==
63
);
case
6
5
:
/* users ::= */
yytestcase
(
yyruleno
==
65
);
case
6
7
:
/* conns ::= */
yytestcase
(
yyruleno
==
67
);
case
69
:
/* state ::= */
yytestcase
(
yyruleno
==
69
);
case
5
4
:
/* pps ::= */
case
5
6
:
/* tseries ::= */
yytestcase
(
yyruleno
==
56
);
case
5
8
:
/* dbs ::= */
yytestcase
(
yyruleno
==
58
);
case
60
:
/* streams ::= */
yytestcase
(
yyruleno
==
60
);
case
6
2
:
/* storage ::= */
yytestcase
(
yyruleno
==
62
);
case
6
4
:
/* qtime ::= */
yytestcase
(
yyruleno
==
64
);
case
6
6
:
/* users ::= */
yytestcase
(
yyruleno
==
66
);
case
6
8
:
/* conns ::= */
yytestcase
(
yyruleno
==
68
);
case
70
:
/* state ::= */
yytestcase
(
yyruleno
==
70
);
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
}
break
;
case
5
4
:
/* pps ::= PPS INTEGER */
case
5
6
:
/* tseries ::= TSERIES INTEGER */
yytestcase
(
yyruleno
==
56
);
case
5
8
:
/* dbs ::= DBS INTEGER */
yytestcase
(
yyruleno
==
58
);
case
6
0
:
/* streams ::= STREAMS INTEGER */
yytestcase
(
yyruleno
==
60
);
case
6
2
:
/* storage ::= STORAGE INTEGER */
yytestcase
(
yyruleno
==
62
);
case
6
4
:
/* qtime ::= QTIME INTEGER */
yytestcase
(
yyruleno
==
64
);
case
6
6
:
/* users ::= USERS INTEGER */
yytestcase
(
yyruleno
==
66
);
case
6
8
:
/* conns ::= CONNS INTEGER */
yytestcase
(
yyruleno
==
68
);
case
7
0
:
/* state ::= STATE ids */
yytestcase
(
yyruleno
==
70
);
case
5
5
:
/* pps ::= PPS INTEGER */
case
5
7
:
/* tseries ::= TSERIES INTEGER */
yytestcase
(
yyruleno
==
57
);
case
5
9
:
/* dbs ::= DBS INTEGER */
yytestcase
(
yyruleno
==
59
);
case
6
1
:
/* streams ::= STREAMS INTEGER */
yytestcase
(
yyruleno
==
61
);
case
6
3
:
/* storage ::= STORAGE INTEGER */
yytestcase
(
yyruleno
==
63
);
case
6
5
:
/* qtime ::= QTIME INTEGER */
yytestcase
(
yyruleno
==
65
);
case
6
7
:
/* users ::= USERS INTEGER */
yytestcase
(
yyruleno
==
67
);
case
6
9
:
/* conns ::= CONNS INTEGER */
yytestcase
(
yyruleno
==
69
);
case
7
1
:
/* state ::= STATE ids */
yytestcase
(
yyruleno
==
71
);
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
break
;
case
7
1
:
/* acct_optr ::= pps tseries storage streams qtime dbs users conns state */
case
7
2
:
/* acct_optr ::= pps tseries storage streams qtime dbs users conns state */
{
yylhsminor
.
yy71
.
maxUsers
=
(
yymsp
[
-
2
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
2
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy71
.
maxDbs
=
(
yymsp
[
-
3
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
3
].
minor
.
yy0
.
z
)
:-
1
;
...
...
@@ -2264,108 +2578,108 @@ static void yy_reduce(
}
yymsp
[
-
8
].
minor
.
yy71
=
yylhsminor
.
yy71
;
break
;
case
7
2
:
/* keep ::= KEEP tagitemlist */
case
7
3
:
/* keep ::= KEEP tagitemlist */
{
yymsp
[
-
1
].
minor
.
yy421
=
yymsp
[
0
].
minor
.
yy421
;
}
break
;
case
7
3
:
/* cache ::= CACHE INTEGER */
case
7
4
:
/* replica ::= REPLICA INTEGER */
yytestcase
(
yyruleno
==
74
);
case
7
5
:
/* quorum ::= QUORUM INTEGER */
yytestcase
(
yyruleno
==
75
);
case
7
6
:
/* days ::= DAYS INTEGER */
yytestcase
(
yyruleno
==
76
);
case
7
7
:
/* minrows ::= MINROWS INTEGER */
yytestcase
(
yyruleno
==
77
);
case
7
8
:
/* maxrows ::= MAXROWS INTEGER */
yytestcase
(
yyruleno
==
78
);
case
79
:
/* blocks ::= BLOCKS INTEGER */
yytestcase
(
yyruleno
==
79
);
case
8
0
:
/* ctime ::= CTIME INTEGER */
yytestcase
(
yyruleno
==
80
);
case
8
1
:
/* wal ::= WAL INTEGER */
yytestcase
(
yyruleno
==
81
);
case
8
2
:
/* fsync ::= FSYNC INTEGER */
yytestcase
(
yyruleno
==
82
);
case
8
3
:
/* comp ::= COMP INTEGER */
yytestcase
(
yyruleno
==
83
);
case
8
4
:
/* prec ::= PRECISION STRING */
yytestcase
(
yyruleno
==
84
);
case
8
5
:
/* update ::= UPDATE INTEGER */
yytestcase
(
yyruleno
==
85
);
case
8
6
:
/* cachelast ::= CACHELAST INTEGER */
yytestcase
(
yyruleno
==
86
);
case
7
4
:
/* cache ::= CACHE INTEGER */
case
7
5
:
/* replica ::= REPLICA INTEGER */
yytestcase
(
yyruleno
==
75
);
case
7
6
:
/* quorum ::= QUORUM INTEGER */
yytestcase
(
yyruleno
==
76
);
case
7
7
:
/* days ::= DAYS INTEGER */
yytestcase
(
yyruleno
==
77
);
case
7
8
:
/* minrows ::= MINROWS INTEGER */
yytestcase
(
yyruleno
==
78
);
case
7
9
:
/* maxrows ::= MAXROWS INTEGER */
yytestcase
(
yyruleno
==
79
);
case
80
:
/* blocks ::= BLOCKS INTEGER */
yytestcase
(
yyruleno
==
80
);
case
8
1
:
/* ctime ::= CTIME INTEGER */
yytestcase
(
yyruleno
==
81
);
case
8
2
:
/* wal ::= WAL INTEGER */
yytestcase
(
yyruleno
==
82
);
case
8
3
:
/* fsync ::= FSYNC INTEGER */
yytestcase
(
yyruleno
==
83
);
case
8
4
:
/* comp ::= COMP INTEGER */
yytestcase
(
yyruleno
==
84
);
case
8
5
:
/* prec ::= PRECISION STRING */
yytestcase
(
yyruleno
==
85
);
case
8
6
:
/* update ::= UPDATE INTEGER */
yytestcase
(
yyruleno
==
86
);
case
8
7
:
/* cachelast ::= CACHELAST INTEGER */
yytestcase
(
yyruleno
==
87
);
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
break
;
case
8
7
:
/* db_optr ::= */
case
8
8
:
/* db_optr ::= */
{
setDefaultCreateDbOption
(
&
yymsp
[
1
].
minor
.
yy234
);}
break
;
case
8
8
:
/* db_optr ::= db_optr cache */
case
8
9
:
/* db_optr ::= db_optr cache */
{
yylhsminor
.
yy234
=
yymsp
[
-
1
].
minor
.
yy234
;
yylhsminor
.
yy234
.
cacheBlockSize
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy234
=
yylhsminor
.
yy234
;
break
;
case
89
:
/* db_optr ::= db_optr replica */
case
10
4
:
/* alter_db_optr ::= alter_db_optr replica */
yytestcase
(
yyruleno
==
104
);
case
90
:
/* db_optr ::= db_optr replica */
case
10
5
:
/* alter_db_optr ::= alter_db_optr replica */
yytestcase
(
yyruleno
==
105
);
{
yylhsminor
.
yy234
=
yymsp
[
-
1
].
minor
.
yy234
;
yylhsminor
.
yy234
.
replica
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy234
=
yylhsminor
.
yy234
;
break
;
case
9
0
:
/* db_optr ::= db_optr quorum */
case
10
5
:
/* alter_db_optr ::= alter_db_optr quorum */
yytestcase
(
yyruleno
==
105
);
case
9
1
:
/* db_optr ::= db_optr quorum */
case
10
6
:
/* alter_db_optr ::= alter_db_optr quorum */
yytestcase
(
yyruleno
==
106
);
{
yylhsminor
.
yy234
=
yymsp
[
-
1
].
minor
.
yy234
;
yylhsminor
.
yy234
.
quorum
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy234
=
yylhsminor
.
yy234
;
break
;
case
9
1
:
/* db_optr ::= db_optr days */
case
9
2
:
/* db_optr ::= db_optr days */
{
yylhsminor
.
yy234
=
yymsp
[
-
1
].
minor
.
yy234
;
yylhsminor
.
yy234
.
daysPerFile
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy234
=
yylhsminor
.
yy234
;
break
;
case
9
2
:
/* db_optr ::= db_optr minrows */
case
9
3
:
/* db_optr ::= db_optr minrows */
{
yylhsminor
.
yy234
=
yymsp
[
-
1
].
minor
.
yy234
;
yylhsminor
.
yy234
.
minRowsPerBlock
=
strtod
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy234
=
yylhsminor
.
yy234
;
break
;
case
9
3
:
/* db_optr ::= db_optr maxrows */
case
9
4
:
/* db_optr ::= db_optr maxrows */
{
yylhsminor
.
yy234
=
yymsp
[
-
1
].
minor
.
yy234
;
yylhsminor
.
yy234
.
maxRowsPerBlock
=
strtod
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy234
=
yylhsminor
.
yy234
;
break
;
case
9
4
:
/* db_optr ::= db_optr blocks */
case
10
7
:
/* alter_db_optr ::= alter_db_optr blocks */
yytestcase
(
yyruleno
==
107
);
case
9
5
:
/* db_optr ::= db_optr blocks */
case
10
8
:
/* alter_db_optr ::= alter_db_optr blocks */
yytestcase
(
yyruleno
==
108
);
{
yylhsminor
.
yy234
=
yymsp
[
-
1
].
minor
.
yy234
;
yylhsminor
.
yy234
.
numOfBlocks
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy234
=
yylhsminor
.
yy234
;
break
;
case
9
5
:
/* db_optr ::= db_optr ctime */
case
9
6
:
/* db_optr ::= db_optr ctime */
{
yylhsminor
.
yy234
=
yymsp
[
-
1
].
minor
.
yy234
;
yylhsminor
.
yy234
.
commitTime
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy234
=
yylhsminor
.
yy234
;
break
;
case
9
6
:
/* db_optr ::= db_optr wal */
case
1
09
:
/* alter_db_optr ::= alter_db_optr wal */
yytestcase
(
yyruleno
==
109
);
case
9
7
:
/* db_optr ::= db_optr wal */
case
1
10
:
/* alter_db_optr ::= alter_db_optr wal */
yytestcase
(
yyruleno
==
110
);
{
yylhsminor
.
yy234
=
yymsp
[
-
1
].
minor
.
yy234
;
yylhsminor
.
yy234
.
walLevel
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy234
=
yylhsminor
.
yy234
;
break
;
case
9
7
:
/* db_optr ::= db_optr fsync */
case
11
0
:
/* alter_db_optr ::= alter_db_optr fsync */
yytestcase
(
yyruleno
==
110
);
case
9
8
:
/* db_optr ::= db_optr fsync */
case
11
1
:
/* alter_db_optr ::= alter_db_optr fsync */
yytestcase
(
yyruleno
==
111
);
{
yylhsminor
.
yy234
=
yymsp
[
-
1
].
minor
.
yy234
;
yylhsminor
.
yy234
.
fsyncPeriod
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy234
=
yylhsminor
.
yy234
;
break
;
case
9
8
:
/* db_optr ::= db_optr comp */
case
10
8
:
/* alter_db_optr ::= alter_db_optr comp */
yytestcase
(
yyruleno
==
108
);
case
9
9
:
/* db_optr ::= db_optr comp */
case
10
9
:
/* alter_db_optr ::= alter_db_optr comp */
yytestcase
(
yyruleno
==
109
);
{
yylhsminor
.
yy234
=
yymsp
[
-
1
].
minor
.
yy234
;
yylhsminor
.
yy234
.
compressionLevel
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy234
=
yylhsminor
.
yy234
;
break
;
case
99
:
/* db_optr ::= db_optr prec */
case
100
:
/* db_optr ::= db_optr prec */
{
yylhsminor
.
yy234
=
yymsp
[
-
1
].
minor
.
yy234
;
yylhsminor
.
yy234
.
precision
=
yymsp
[
0
].
minor
.
yy0
;
}
yymsp
[
-
1
].
minor
.
yy234
=
yylhsminor
.
yy234
;
break
;
case
10
0
:
/* db_optr ::= db_optr keep */
case
10
6
:
/* alter_db_optr ::= alter_db_optr keep */
yytestcase
(
yyruleno
==
106
);
case
10
1
:
/* db_optr ::= db_optr keep */
case
10
7
:
/* alter_db_optr ::= alter_db_optr keep */
yytestcase
(
yyruleno
==
107
);
{
yylhsminor
.
yy234
=
yymsp
[
-
1
].
minor
.
yy234
;
yylhsminor
.
yy234
.
keep
=
yymsp
[
0
].
minor
.
yy421
;
}
yymsp
[
-
1
].
minor
.
yy234
=
yylhsminor
.
yy234
;
break
;
case
10
1
:
/* db_optr ::= db_optr update */
case
11
1
:
/* alter_db_optr ::= alter_db_optr update */
yytestcase
(
yyruleno
==
111
);
case
10
2
:
/* db_optr ::= db_optr update */
case
11
2
:
/* alter_db_optr ::= alter_db_optr update */
yytestcase
(
yyruleno
==
112
);
{
yylhsminor
.
yy234
=
yymsp
[
-
1
].
minor
.
yy234
;
yylhsminor
.
yy234
.
update
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy234
=
yylhsminor
.
yy234
;
break
;
case
10
2
:
/* db_optr ::= db_optr cachelast */
case
11
2
:
/* alter_db_optr ::= alter_db_optr cachelast */
yytestcase
(
yyruleno
==
112
);
case
10
3
:
/* db_optr ::= db_optr cachelast */
case
11
3
:
/* alter_db_optr ::= alter_db_optr cachelast */
yytestcase
(
yyruleno
==
113
);
{
yylhsminor
.
yy234
=
yymsp
[
-
1
].
minor
.
yy234
;
yylhsminor
.
yy234
.
cachelast
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy234
=
yylhsminor
.
yy234
;
break
;
case
10
3
:
/* alter_db_optr ::= */
case
10
4
:
/* alter_db_optr ::= */
{
setDefaultCreateDbOption
(
&
yymsp
[
1
].
minor
.
yy234
);}
break
;
case
11
3
:
/* typename ::= ids */
case
11
4
:
/* typename ::= ids */
{
yymsp
[
0
].
minor
.
yy0
.
type
=
0
;
tSqlSetColumnType
(
&
yylhsminor
.
yy183
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
0
].
minor
.
yy183
=
yylhsminor
.
yy183
;
break
;
case
11
4
:
/* typename ::= ids LP signed RP */
case
11
5
:
/* typename ::= ids LP signed RP */
{
if
(
yymsp
[
-
1
].
minor
.
yy325
<=
0
)
{
yymsp
[
-
3
].
minor
.
yy0
.
type
=
0
;
...
...
@@ -2377,7 +2691,7 @@ static void yy_reduce(
}
yymsp
[
-
3
].
minor
.
yy183
=
yylhsminor
.
yy183
;
break
;
case
11
5
:
/* typename ::= ids UNSIGNED */
case
11
6
:
/* typename ::= ids UNSIGNED */
{
yymsp
[
-
1
].
minor
.
yy0
.
type
=
0
;
yymsp
[
-
1
].
minor
.
yy0
.
n
=
((
yymsp
[
0
].
minor
.
yy0
.
z
+
yymsp
[
0
].
minor
.
yy0
.
n
)
-
yymsp
[
-
1
].
minor
.
yy0
.
z
);
...
...
@@ -2385,20 +2699,20 @@ static void yy_reduce(
}
yymsp
[
-
1
].
minor
.
yy183
=
yylhsminor
.
yy183
;
break
;
case
11
6
:
/* signed ::= INTEGER */
case
11
7
:
/* signed ::= INTEGER */
{
yylhsminor
.
yy325
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
0
].
minor
.
yy325
=
yylhsminor
.
yy325
;
break
;
case
11
7
:
/* signed ::= PLUS INTEGER */
case
11
8
:
/* signed ::= PLUS INTEGER */
{
yymsp
[
-
1
].
minor
.
yy325
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
break
;
case
11
8
:
/* signed ::= MINUS INTEGER */
case
11
9
:
/* signed ::= MINUS INTEGER */
{
yymsp
[
-
1
].
minor
.
yy325
=
-
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);}
break
;
case
12
0
:
/* cmd ::= CREATE TABLE create_table_list */
case
12
3
:
/* cmd ::= CREATE TABLE create_table_list */
{
pInfo
->
type
=
TSDB_SQL_CREATE_TABLE
;
pInfo
->
pCreateTableInfo
=
yymsp
[
0
].
minor
.
yy38
;}
break
;
case
12
1
:
/* create_table_list ::= create_from_stable */
case
12
4
:
/* create_table_list ::= create_from_stable */
{
SCreateTableSQL
*
pCreateTable
=
calloc
(
1
,
sizeof
(
SCreateTableSQL
));
pCreateTable
->
childTableInfo
=
taosArrayInit
(
4
,
sizeof
(
SCreatedTableInfo
));
...
...
@@ -2409,14 +2723,14 @@ static void yy_reduce(
}
yymsp
[
0
].
minor
.
yy38
=
yylhsminor
.
yy38
;
break
;
case
12
2
:
/* create_table_list ::= create_table_list create_from_stable */
case
12
5
:
/* create_table_list ::= create_table_list create_from_stable */
{
taosArrayPush
(
yymsp
[
-
1
].
minor
.
yy38
->
childTableInfo
,
&
yymsp
[
0
].
minor
.
yy152
);
yylhsminor
.
yy38
=
yymsp
[
-
1
].
minor
.
yy38
;
}
yymsp
[
-
1
].
minor
.
yy38
=
yylhsminor
.
yy38
;
break
;
case
12
3
:
/* create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
case
12
6
:
/* create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
{
yylhsminor
.
yy38
=
tSetCreateSqlElems
(
yymsp
[
-
1
].
minor
.
yy421
,
NULL
,
NULL
,
TSQL_CREATE_TABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy38
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
...
...
@@ -2426,7 +2740,7 @@ static void yy_reduce(
}
yymsp
[
-
5
].
minor
.
yy38
=
yylhsminor
.
yy38
;
break
;
case
12
4
:
/* create_
table_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
case
12
7
:
/* create_s
table_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
{
yylhsminor
.
yy38
=
tSetCreateSqlElems
(
yymsp
[
-
5
].
minor
.
yy421
,
yymsp
[
-
1
].
minor
.
yy421
,
NULL
,
TSQL_CREATE_STABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy38
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
...
...
@@ -2436,7 +2750,7 @@ static void yy_reduce(
}
yymsp
[
-
9
].
minor
.
yy38
=
yylhsminor
.
yy38
;
break
;
case
12
5
:
/* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
case
12
8
:
/* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
{
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
yymsp
[
-
8
].
minor
.
yy0
.
n
+=
yymsp
[
-
7
].
minor
.
yy0
.
n
;
...
...
@@ -2444,7 +2758,7 @@ static void yy_reduce(
}
yymsp
[
-
9
].
minor
.
yy152
=
yylhsminor
.
yy152
;
break
;
case
12
6
:
/* create_table_args ::= ifnotexists ids cpxName AS select */
case
12
9
:
/* create_table_args ::= ifnotexists ids cpxName AS select */
{
yylhsminor
.
yy38
=
tSetCreateSqlElems
(
NULL
,
NULL
,
yymsp
[
0
].
minor
.
yy148
,
TSQL_CREATE_STREAM
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy38
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
...
...
@@ -2454,43 +2768,43 @@ static void yy_reduce(
}
yymsp
[
-
4
].
minor
.
yy38
=
yylhsminor
.
yy38
;
break
;
case
1
27
:
/* columnlist ::= columnlist COMMA column */
case
1
30
:
/* columnlist ::= columnlist COMMA column */
{
taosArrayPush
(
yymsp
[
-
2
].
minor
.
yy421
,
&
yymsp
[
0
].
minor
.
yy183
);
yylhsminor
.
yy421
=
yymsp
[
-
2
].
minor
.
yy421
;
}
yymsp
[
-
2
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
1
28
:
/* columnlist ::= column */
case
1
31
:
/* columnlist ::= column */
{
yylhsminor
.
yy421
=
taosArrayInit
(
4
,
sizeof
(
TAOS_FIELD
));
taosArrayPush
(
yylhsminor
.
yy421
,
&
yymsp
[
0
].
minor
.
yy183
);}
yymsp
[
0
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
1
29
:
/* column ::= ids typename */
case
1
32
:
/* column ::= ids typename */
{
tSqlSetColumnInfo
(
&
yylhsminor
.
yy183
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy183
);
}
yymsp
[
-
1
].
minor
.
yy183
=
yylhsminor
.
yy183
;
break
;
case
13
0
:
/* tagitemlist ::= tagitemlist COMMA tagitem */
case
13
3
:
/* tagitemlist ::= tagitemlist COMMA tagitem */
{
yylhsminor
.
yy421
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy421
,
&
yymsp
[
0
].
minor
.
yy430
,
-
1
);
}
yymsp
[
-
2
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
13
1
:
/* tagitemlist ::= tagitem */
case
13
4
:
/* tagitemlist ::= tagitem */
{
yylhsminor
.
yy421
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy430
,
-
1
);
}
yymsp
[
0
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
13
2
:
/* tagitem ::= INTEGER */
case
13
3
:
/* tagitem ::= FLOAT */
yytestcase
(
yyruleno
==
133
);
case
13
4
:
/* tagitem ::= STRING */
yytestcase
(
yyruleno
==
134
);
case
13
5
:
/* tagitem ::= BOOL */
yytestcase
(
yyruleno
==
135
);
case
13
5
:
/* tagitem ::= INTEGER */
case
13
6
:
/* tagitem ::= FLOAT */
yytestcase
(
yyruleno
==
136
);
case
13
7
:
/* tagitem ::= STRING */
yytestcase
(
yyruleno
==
137
);
case
13
8
:
/* tagitem ::= BOOL */
yytestcase
(
yyruleno
==
138
);
{
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
tVariantCreate
(
&
yylhsminor
.
yy430
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
0
].
minor
.
yy430
=
yylhsminor
.
yy430
;
break
;
case
13
6
:
/* tagitem ::= NULL */
case
13
9
:
/* tagitem ::= NULL */
{
yymsp
[
0
].
minor
.
yy0
.
type
=
0
;
tVariantCreate
(
&
yylhsminor
.
yy430
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
0
].
minor
.
yy430
=
yylhsminor
.
yy430
;
break
;
case
1
37
:
/* tagitem ::= MINUS INTEGER */
case
1
38
:
/* tagitem ::= MINUS FLOAT */
yytestcase
(
yyruleno
==
138
);
case
1
39
:
/* tagitem ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
139
);
case
14
0
:
/* tagitem ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
140
);
case
1
40
:
/* tagitem ::= MINUS INTEGER */
case
1
41
:
/* tagitem ::= MINUS FLOAT */
yytestcase
(
yyruleno
==
141
);
case
1
42
:
/* tagitem ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
142
);
case
14
3
:
/* tagitem ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
143
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
yymsp
[
0
].
minor
.
yy0
.
type
;
...
...
@@ -2499,70 +2813,70 @@ static void yy_reduce(
}
yymsp
[
-
1
].
minor
.
yy430
=
yylhsminor
.
yy430
;
break
;
case
14
1
:
/* select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
case
14
4
:
/* select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
{
yylhsminor
.
yy148
=
tSetQuerySqlElems
(
&
yymsp
[
-
11
].
minor
.
yy0
,
yymsp
[
-
10
].
minor
.
yy166
,
yymsp
[
-
9
].
minor
.
yy421
,
yymsp
[
-
8
].
minor
.
yy78
,
yymsp
[
-
4
].
minor
.
yy421
,
yymsp
[
-
3
].
minor
.
yy421
,
&
yymsp
[
-
7
].
minor
.
yy400
,
&
yymsp
[
-
5
].
minor
.
yy0
,
yymsp
[
-
6
].
minor
.
yy421
,
&
yymsp
[
0
].
minor
.
yy167
,
&
yymsp
[
-
1
].
minor
.
yy167
);
}
yymsp
[
-
11
].
minor
.
yy148
=
yylhsminor
.
yy148
;
break
;
case
14
2
:
/* union ::= select */
case
14
5
:
/* union ::= select */
{
yylhsminor
.
yy153
=
setSubclause
(
NULL
,
yymsp
[
0
].
minor
.
yy148
);
}
yymsp
[
0
].
minor
.
yy153
=
yylhsminor
.
yy153
;
break
;
case
14
3
:
/* union ::= LP union RP */
case
14
6
:
/* union ::= LP union RP */
{
yymsp
[
-
2
].
minor
.
yy153
=
yymsp
[
-
1
].
minor
.
yy153
;
}
break
;
case
14
4
:
/* union ::= union UNION ALL select */
case
14
7
:
/* union ::= union UNION ALL select */
{
yylhsminor
.
yy153
=
appendSelectClause
(
yymsp
[
-
3
].
minor
.
yy153
,
yymsp
[
0
].
minor
.
yy148
);
}
yymsp
[
-
3
].
minor
.
yy153
=
yylhsminor
.
yy153
;
break
;
case
14
5
:
/* union ::= union UNION ALL LP select RP */
case
14
8
:
/* union ::= union UNION ALL LP select RP */
{
yylhsminor
.
yy153
=
appendSelectClause
(
yymsp
[
-
5
].
minor
.
yy153
,
yymsp
[
-
1
].
minor
.
yy148
);
}
yymsp
[
-
5
].
minor
.
yy153
=
yylhsminor
.
yy153
;
break
;
case
14
6
:
/* cmd ::= union */
case
14
9
:
/* cmd ::= union */
{
setSqlInfo
(
pInfo
,
yymsp
[
0
].
minor
.
yy153
,
NULL
,
TSDB_SQL_SELECT
);
}
break
;
case
1
47
:
/* select ::= SELECT selcollist */
case
1
50
:
/* select ::= SELECT selcollist */
{
yylhsminor
.
yy148
=
tSetQuerySqlElems
(
&
yymsp
[
-
1
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy166
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy148
=
yylhsminor
.
yy148
;
break
;
case
1
48
:
/* sclp ::= selcollist COMMA */
case
1
51
:
/* sclp ::= selcollist COMMA */
{
yylhsminor
.
yy166
=
yymsp
[
-
1
].
minor
.
yy166
;}
yymsp
[
-
1
].
minor
.
yy166
=
yylhsminor
.
yy166
;
break
;
case
1
49
:
/* sclp ::= */
case
1
52
:
/* sclp ::= */
{
yymsp
[
1
].
minor
.
yy166
=
0
;}
break
;
case
15
0
:
/* selcollist ::= sclp expr as */
case
15
3
:
/* selcollist ::= sclp expr as */
{
yylhsminor
.
yy166
=
tSqlExprListAppend
(
yymsp
[
-
2
].
minor
.
yy166
,
yymsp
[
-
1
].
minor
.
yy78
,
yymsp
[
0
].
minor
.
yy0
.
n
?&
yymsp
[
0
].
minor
.
yy0
:
0
);
}
yymsp
[
-
2
].
minor
.
yy166
=
yylhsminor
.
yy166
;
break
;
case
15
1
:
/* selcollist ::= sclp STAR */
case
15
4
:
/* selcollist ::= sclp STAR */
{
tSQLExpr
*
pNode
=
tSqlExprIdValueCreate
(
NULL
,
TK_ALL
);
yylhsminor
.
yy166
=
tSqlExprListAppend
(
yymsp
[
-
1
].
minor
.
yy166
,
pNode
,
0
);
}
yymsp
[
-
1
].
minor
.
yy166
=
yylhsminor
.
yy166
;
break
;
case
15
2
:
/* as ::= AS ids */
case
15
5
:
/* as ::= AS ids */
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
break
;
case
15
3
:
/* as ::= ids */
case
15
6
:
/* as ::= ids */
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
case
15
4
:
/* as ::= */
case
15
7
:
/* as ::= */
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
}
break
;
case
15
5
:
/* from ::= FROM tablelist */
case
15
8
:
/* from ::= FROM tablelist */
{
yymsp
[
-
1
].
minor
.
yy421
=
yymsp
[
0
].
minor
.
yy421
;}
break
;
case
15
6
:
/* tablelist ::= ids cpxName */
case
15
9
:
/* tablelist ::= ids cpxName */
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
...
...
@@ -2571,7 +2885,7 @@ static void yy_reduce(
}
yymsp
[
-
1
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
1
57
:
/* tablelist ::= ids cpxName ids */
case
1
60
:
/* tablelist ::= ids cpxName ids */
{
toTSDBType
(
yymsp
[
-
2
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
...
...
@@ -2581,7 +2895,7 @@ static void yy_reduce(
}
yymsp
[
-
2
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
1
58
:
/* tablelist ::= tablelist COMMA ids cpxName */
case
1
61
:
/* tablelist ::= tablelist COMMA ids cpxName */
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
...
...
@@ -2590,7 +2904,7 @@ static void yy_reduce(
}
yymsp
[
-
3
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
1
59
:
/* tablelist ::= tablelist COMMA ids cpxName ids */
case
1
62
:
/* tablelist ::= tablelist COMMA ids cpxName ids */
{
toTSDBType
(
yymsp
[
-
2
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
...
...
@@ -2600,23 +2914,23 @@ static void yy_reduce(
}
yymsp
[
-
4
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
16
0
:
/* tmvar ::= VARIABLE */
case
16
3
:
/* tmvar ::= VARIABLE */
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;}
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
case
16
1
:
/* interval_opt ::= INTERVAL LP tmvar RP */
case
16
4
:
/* interval_opt ::= INTERVAL LP tmvar RP */
{
yymsp
[
-
3
].
minor
.
yy400
.
interval
=
yymsp
[
-
1
].
minor
.
yy0
;
yymsp
[
-
3
].
minor
.
yy400
.
offset
.
n
=
0
;
yymsp
[
-
3
].
minor
.
yy400
.
offset
.
z
=
NULL
;
yymsp
[
-
3
].
minor
.
yy400
.
offset
.
type
=
0
;}
break
;
case
16
2
:
/* interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
case
16
5
:
/* interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
{
yymsp
[
-
5
].
minor
.
yy400
.
interval
=
yymsp
[
-
3
].
minor
.
yy0
;
yymsp
[
-
5
].
minor
.
yy400
.
offset
=
yymsp
[
-
1
].
minor
.
yy0
;}
break
;
case
16
3
:
/* interval_opt ::= */
case
16
6
:
/* interval_opt ::= */
{
memset
(
&
yymsp
[
1
].
minor
.
yy400
,
0
,
sizeof
(
yymsp
[
1
].
minor
.
yy400
));}
break
;
case
16
4
:
/* fill_opt ::= */
case
16
7
:
/* fill_opt ::= */
{
yymsp
[
1
].
minor
.
yy421
=
0
;
}
break
;
case
16
5
:
/* fill_opt ::= FILL LP ID COMMA tagitemlist RP */
case
16
8
:
/* fill_opt ::= FILL LP ID COMMA tagitemlist RP */
{
tVariant
A
=
{
0
};
toTSDBType
(
yymsp
[
-
3
].
minor
.
yy0
.
type
);
...
...
@@ -2626,37 +2940,37 @@ static void yy_reduce(
yymsp
[
-
5
].
minor
.
yy421
=
yymsp
[
-
1
].
minor
.
yy421
;
}
break
;
case
16
6
:
/* fill_opt ::= FILL LP ID RP */
case
16
9
:
/* fill_opt ::= FILL LP ID RP */
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
3
].
minor
.
yy421
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
);
}
break
;
case
1
67
:
/* sliding_opt ::= SLIDING LP tmvar RP */
case
1
70
:
/* sliding_opt ::= SLIDING LP tmvar RP */
{
yymsp
[
-
3
].
minor
.
yy0
=
yymsp
[
-
1
].
minor
.
yy0
;
}
break
;
case
1
68
:
/* sliding_opt ::= */
case
1
71
:
/* sliding_opt ::= */
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
yymsp
[
1
].
minor
.
yy0
.
z
=
NULL
;
yymsp
[
1
].
minor
.
yy0
.
type
=
0
;
}
break
;
case
1
69
:
/* orderby_opt ::= */
case
1
72
:
/* orderby_opt ::= */
{
yymsp
[
1
].
minor
.
yy421
=
0
;}
break
;
case
17
0
:
/* orderby_opt ::= ORDER BY sortlist */
case
17
3
:
/* orderby_opt ::= ORDER BY sortlist */
{
yymsp
[
-
2
].
minor
.
yy421
=
yymsp
[
0
].
minor
.
yy421
;}
break
;
case
17
1
:
/* sortlist ::= sortlist COMMA item sortorder */
case
17
4
:
/* sortlist ::= sortlist COMMA item sortorder */
{
yylhsminor
.
yy421
=
tVariantListAppend
(
yymsp
[
-
3
].
minor
.
yy421
,
&
yymsp
[
-
1
].
minor
.
yy430
,
yymsp
[
0
].
minor
.
yy96
);
}
yymsp
[
-
3
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
17
2
:
/* sortlist ::= item sortorder */
case
17
5
:
/* sortlist ::= item sortorder */
{
yylhsminor
.
yy421
=
tVariantListAppend
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy430
,
yymsp
[
0
].
minor
.
yy96
);
}
yymsp
[
-
1
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
17
3
:
/* item ::= ids cpxName */
case
17
6
:
/* item ::= ids cpxName */
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
...
...
@@ -2665,240 +2979,240 @@ static void yy_reduce(
}
yymsp
[
-
1
].
minor
.
yy430
=
yylhsminor
.
yy430
;
break
;
case
17
4
:
/* sortorder ::= ASC */
case
17
7
:
/* sortorder ::= ASC */
{
yymsp
[
0
].
minor
.
yy96
=
TSDB_ORDER_ASC
;
}
break
;
case
17
5
:
/* sortorder ::= DESC */
case
17
8
:
/* sortorder ::= DESC */
{
yymsp
[
0
].
minor
.
yy96
=
TSDB_ORDER_DESC
;}
break
;
case
17
6
:
/* sortorder ::= */
case
17
9
:
/* sortorder ::= */
{
yymsp
[
1
].
minor
.
yy96
=
TSDB_ORDER_ASC
;
}
break
;
case
1
77
:
/* groupby_opt ::= */
case
1
80
:
/* groupby_opt ::= */
{
yymsp
[
1
].
minor
.
yy421
=
0
;}
break
;
case
1
78
:
/* groupby_opt ::= GROUP BY grouplist */
case
1
81
:
/* groupby_opt ::= GROUP BY grouplist */
{
yymsp
[
-
2
].
minor
.
yy421
=
yymsp
[
0
].
minor
.
yy421
;}
break
;
case
1
79
:
/* grouplist ::= grouplist COMMA item */
case
1
82
:
/* grouplist ::= grouplist COMMA item */
{
yylhsminor
.
yy421
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy421
,
&
yymsp
[
0
].
minor
.
yy430
,
-
1
);
}
yymsp
[
-
2
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
18
0
:
/* grouplist ::= item */
case
18
3
:
/* grouplist ::= item */
{
yylhsminor
.
yy421
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy430
,
-
1
);
}
yymsp
[
0
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
18
1
:
/* having_opt ::= */
case
19
1
:
/* where_opt ::= */
yytestcase
(
yyruleno
==
191
);
case
2
29
:
/* expritem ::= */
yytestcase
(
yyruleno
==
229
);
case
18
4
:
/* having_opt ::= */
case
19
4
:
/* where_opt ::= */
yytestcase
(
yyruleno
==
194
);
case
2
32
:
/* expritem ::= */
yytestcase
(
yyruleno
==
232
);
{
yymsp
[
1
].
minor
.
yy78
=
0
;}
break
;
case
18
2
:
/* having_opt ::= HAVING expr */
case
19
2
:
/* where_opt ::= WHERE expr */
yytestcase
(
yyruleno
==
192
);
case
18
5
:
/* having_opt ::= HAVING expr */
case
19
5
:
/* where_opt ::= WHERE expr */
yytestcase
(
yyruleno
==
195
);
{
yymsp
[
-
1
].
minor
.
yy78
=
yymsp
[
0
].
minor
.
yy78
;}
break
;
case
18
3
:
/* limit_opt ::= */
case
1
87
:
/* slimit_opt ::= */
yytestcase
(
yyruleno
==
187
);
case
18
6
:
/* limit_opt ::= */
case
1
90
:
/* slimit_opt ::= */
yytestcase
(
yyruleno
==
190
);
{
yymsp
[
1
].
minor
.
yy167
.
limit
=
-
1
;
yymsp
[
1
].
minor
.
yy167
.
offset
=
0
;}
break
;
case
18
4
:
/* limit_opt ::= LIMIT signed */
case
1
88
:
/* slimit_opt ::= SLIMIT signed */
yytestcase
(
yyruleno
==
188
);
case
18
7
:
/* limit_opt ::= LIMIT signed */
case
1
91
:
/* slimit_opt ::= SLIMIT signed */
yytestcase
(
yyruleno
==
191
);
{
yymsp
[
-
1
].
minor
.
yy167
.
limit
=
yymsp
[
0
].
minor
.
yy325
;
yymsp
[
-
1
].
minor
.
yy167
.
offset
=
0
;}
break
;
case
18
5
:
/* limit_opt ::= LIMIT signed OFFSET signed */
case
18
8
:
/* limit_opt ::= LIMIT signed OFFSET signed */
{
yymsp
[
-
3
].
minor
.
yy167
.
limit
=
yymsp
[
-
2
].
minor
.
yy325
;
yymsp
[
-
3
].
minor
.
yy167
.
offset
=
yymsp
[
0
].
minor
.
yy325
;}
break
;
case
18
6
:
/* limit_opt ::= LIMIT signed COMMA signed */
case
18
9
:
/* limit_opt ::= LIMIT signed COMMA signed */
{
yymsp
[
-
3
].
minor
.
yy167
.
limit
=
yymsp
[
0
].
minor
.
yy325
;
yymsp
[
-
3
].
minor
.
yy167
.
offset
=
yymsp
[
-
2
].
minor
.
yy325
;}
break
;
case
1
89
:
/* slimit_opt ::= SLIMIT signed SOFFSET signed */
case
1
92
:
/* slimit_opt ::= SLIMIT signed SOFFSET signed */
{
yymsp
[
-
3
].
minor
.
yy167
.
limit
=
yymsp
[
-
2
].
minor
.
yy325
;
yymsp
[
-
3
].
minor
.
yy167
.
offset
=
yymsp
[
0
].
minor
.
yy325
;}
break
;
case
19
0
:
/* slimit_opt ::= SLIMIT signed COMMA signed */
case
19
3
:
/* slimit_opt ::= SLIMIT signed COMMA signed */
{
yymsp
[
-
3
].
minor
.
yy167
.
limit
=
yymsp
[
0
].
minor
.
yy325
;
yymsp
[
-
3
].
minor
.
yy167
.
offset
=
yymsp
[
-
2
].
minor
.
yy325
;}
break
;
case
19
3
:
/* expr ::= LP expr RP */
case
19
6
:
/* expr ::= LP expr RP */
{
yylhsminor
.
yy78
=
yymsp
[
-
1
].
minor
.
yy78
;
yylhsminor
.
yy78
->
token
.
z
=
yymsp
[
-
2
].
minor
.
yy0
.
z
;
yylhsminor
.
yy78
->
token
.
n
=
(
yymsp
[
0
].
minor
.
yy0
.
z
-
yymsp
[
-
2
].
minor
.
yy0
.
z
+
1
);}
yymsp
[
-
2
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
19
4
:
/* expr ::= ID */
case
19
7
:
/* expr ::= ID */
{
yylhsminor
.
yy78
=
tSqlExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_ID
);}
yymsp
[
0
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
19
5
:
/* expr ::= ID DOT ID */
case
19
8
:
/* expr ::= ID DOT ID */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy78
=
tSqlExprIdValueCreate
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ID
);}
yymsp
[
-
2
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
19
6
:
/* expr ::= ID DOT STAR */
case
19
9
:
/* expr ::= ID DOT STAR */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy78
=
tSqlExprIdValueCreate
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ALL
);}
yymsp
[
-
2
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
197
:
/* expr ::= INTEGER */
case
200
:
/* expr ::= INTEGER */
{
yylhsminor
.
yy78
=
tSqlExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
0
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
198
:
/* expr ::= MINUS INTEGER */
case
199
:
/* expr ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
199
);
case
201
:
/* expr ::= MINUS INTEGER */
case
202
:
/* expr ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
202
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_INTEGER
;
yylhsminor
.
yy78
=
tSqlExprIdValueCreate
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
-
1
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
20
0
:
/* expr ::= FLOAT */
case
20
3
:
/* expr ::= FLOAT */
{
yylhsminor
.
yy78
=
tSqlExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_FLOAT
);}
yymsp
[
0
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
20
1
:
/* expr ::= MINUS FLOAT */
case
20
2
:
/* expr ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
202
);
case
20
4
:
/* expr ::= MINUS FLOAT */
case
20
5
:
/* expr ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
205
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_FLOAT
;
yylhsminor
.
yy78
=
tSqlExprIdValueCreate
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_FLOAT
);}
yymsp
[
-
1
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
20
3
:
/* expr ::= STRING */
case
20
6
:
/* expr ::= STRING */
{
yylhsminor
.
yy78
=
tSqlExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);}
yymsp
[
0
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
20
4
:
/* expr ::= NOW */
case
20
7
:
/* expr ::= NOW */
{
yylhsminor
.
yy78
=
tSqlExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NOW
);
}
yymsp
[
0
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
20
5
:
/* expr ::= VARIABLE */
case
20
8
:
/* expr ::= VARIABLE */
{
yylhsminor
.
yy78
=
tSqlExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_VARIABLE
);}
yymsp
[
0
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
20
6
:
/* expr ::= BOOL */
case
20
9
:
/* expr ::= BOOL */
{
yylhsminor
.
yy78
=
tSqlExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_BOOL
);}
yymsp
[
0
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
2
07
:
/* expr ::= ID LP exprlist RP */
case
2
10
:
/* expr ::= ID LP exprlist RP */
{
yylhsminor
.
yy78
=
tSqlExprCreateFunction
(
yymsp
[
-
1
].
minor
.
yy166
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
yymsp
[
-
3
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
2
08
:
/* expr ::= ID LP STAR RP */
case
2
11
:
/* expr ::= ID LP STAR RP */
{
yylhsminor
.
yy78
=
tSqlExprCreateFunction
(
NULL
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
yymsp
[
-
3
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
2
09
:
/* expr ::= expr IS NULL */
case
2
12
:
/* expr ::= expr IS NULL */
{
yylhsminor
.
yy78
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy78
,
NULL
,
TK_ISNULL
);}
yymsp
[
-
2
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
21
0
:
/* expr ::= expr IS NOT NULL */
case
21
3
:
/* expr ::= expr IS NOT NULL */
{
yylhsminor
.
yy78
=
tSqlExprCreate
(
yymsp
[
-
3
].
minor
.
yy78
,
NULL
,
TK_NOTNULL
);}
yymsp
[
-
3
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
21
1
:
/* expr ::= expr LT expr */
case
21
4
:
/* expr ::= expr LT expr */
{
yylhsminor
.
yy78
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy78
,
yymsp
[
0
].
minor
.
yy78
,
TK_LT
);}
yymsp
[
-
2
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
21
2
:
/* expr ::= expr GT expr */
case
21
5
:
/* expr ::= expr GT expr */
{
yylhsminor
.
yy78
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy78
,
yymsp
[
0
].
minor
.
yy78
,
TK_GT
);}
yymsp
[
-
2
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
21
3
:
/* expr ::= expr LE expr */
case
21
6
:
/* expr ::= expr LE expr */
{
yylhsminor
.
yy78
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy78
,
yymsp
[
0
].
minor
.
yy78
,
TK_LE
);}
yymsp
[
-
2
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
21
4
:
/* expr ::= expr GE expr */
case
21
7
:
/* expr ::= expr GE expr */
{
yylhsminor
.
yy78
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy78
,
yymsp
[
0
].
minor
.
yy78
,
TK_GE
);}
yymsp
[
-
2
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
21
5
:
/* expr ::= expr NE expr */
case
21
8
:
/* expr ::= expr NE expr */
{
yylhsminor
.
yy78
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy78
,
yymsp
[
0
].
minor
.
yy78
,
TK_NE
);}
yymsp
[
-
2
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
21
6
:
/* expr ::= expr EQ expr */
case
21
9
:
/* expr ::= expr EQ expr */
{
yylhsminor
.
yy78
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy78
,
yymsp
[
0
].
minor
.
yy78
,
TK_EQ
);}
yymsp
[
-
2
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
2
17
:
/* expr ::= expr AND expr */
case
2
20
:
/* expr ::= expr AND expr */
{
yylhsminor
.
yy78
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy78
,
yymsp
[
0
].
minor
.
yy78
,
TK_AND
);}
yymsp
[
-
2
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
2
18
:
/* expr ::= expr OR expr */
case
2
21
:
/* expr ::= expr OR expr */
{
yylhsminor
.
yy78
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy78
,
yymsp
[
0
].
minor
.
yy78
,
TK_OR
);
}
yymsp
[
-
2
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
2
19
:
/* expr ::= expr PLUS expr */
case
2
22
:
/* expr ::= expr PLUS expr */
{
yylhsminor
.
yy78
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy78
,
yymsp
[
0
].
minor
.
yy78
,
TK_PLUS
);
}
yymsp
[
-
2
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
22
0
:
/* expr ::= expr MINUS expr */
case
22
3
:
/* expr ::= expr MINUS expr */
{
yylhsminor
.
yy78
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy78
,
yymsp
[
0
].
minor
.
yy78
,
TK_MINUS
);
}
yymsp
[
-
2
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
22
1
:
/* expr ::= expr STAR expr */
case
22
4
:
/* expr ::= expr STAR expr */
{
yylhsminor
.
yy78
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy78
,
yymsp
[
0
].
minor
.
yy78
,
TK_STAR
);
}
yymsp
[
-
2
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
22
2
:
/* expr ::= expr SLASH expr */
case
22
5
:
/* expr ::= expr SLASH expr */
{
yylhsminor
.
yy78
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy78
,
yymsp
[
0
].
minor
.
yy78
,
TK_DIVIDE
);}
yymsp
[
-
2
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
22
3
:
/* expr ::= expr REM expr */
case
22
6
:
/* expr ::= expr REM expr */
{
yylhsminor
.
yy78
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy78
,
yymsp
[
0
].
minor
.
yy78
,
TK_REM
);
}
yymsp
[
-
2
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
22
4
:
/* expr ::= expr LIKE expr */
case
22
7
:
/* expr ::= expr LIKE expr */
{
yylhsminor
.
yy78
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy78
,
yymsp
[
0
].
minor
.
yy78
,
TK_LIKE
);
}
yymsp
[
-
2
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
22
5
:
/* expr ::= expr IN LP exprlist RP */
case
22
8
:
/* expr ::= expr IN LP exprlist RP */
{
yylhsminor
.
yy78
=
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy78
,
(
tSQLExpr
*
)
yymsp
[
-
1
].
minor
.
yy166
,
TK_IN
);
}
yymsp
[
-
4
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
22
6
:
/* exprlist ::= exprlist COMMA expritem */
case
22
9
:
/* exprlist ::= exprlist COMMA expritem */
{
yylhsminor
.
yy166
=
tSqlExprListAppend
(
yymsp
[
-
2
].
minor
.
yy166
,
yymsp
[
0
].
minor
.
yy78
,
0
);}
yymsp
[
-
2
].
minor
.
yy166
=
yylhsminor
.
yy166
;
break
;
case
2
27
:
/* exprlist ::= expritem */
case
2
30
:
/* exprlist ::= expritem */
{
yylhsminor
.
yy166
=
tSqlExprListAppend
(
0
,
yymsp
[
0
].
minor
.
yy78
,
0
);}
yymsp
[
0
].
minor
.
yy166
=
yylhsminor
.
yy166
;
break
;
case
2
28
:
/* expritem ::= expr */
case
2
31
:
/* expritem ::= expr */
{
yylhsminor
.
yy78
=
yymsp
[
0
].
minor
.
yy78
;}
yymsp
[
0
].
minor
.
yy78
=
yylhsminor
.
yy78
;
break
;
case
23
0
:
/* cmd ::= RESET QUERY CACHE */
case
23
3
:
/* cmd ::= RESET QUERY CACHE */
{
setDCLSQLElems
(
pInfo
,
TSDB_SQL_RESET_CACHE
,
0
);}
break
;
case
23
1
:
/* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
case
23
4
:
/* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableSQL
*
pAlterTable
=
tAlterTableSqlElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy421
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
);
SAlterTableSQL
*
pAlterTable
=
tAlterTableSqlElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy421
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
23
2
:
/* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
case
23
5
:
/* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
SArray
*
K
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
0
].
minor
.
yy0
,
-
1
);
SAlterTableSQL
*
pAlterTable
=
tAlterTableSqlElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
NULL
,
K
,
TSDB_ALTER_TABLE_DROP_COLUMN
);
SAlterTableSQL
*
pAlterTable
=
tAlterTableSqlElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
NULL
,
K
,
TSDB_ALTER_TABLE_DROP_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
23
3
:
/* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
case
23
6
:
/* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableSQL
*
pAlterTable
=
tAlterTableSqlElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy421
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
);
SAlterTableSQL
*
pAlterTable
=
tAlterTableSqlElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy421
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
23
4
:
/* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
case
23
7
:
/* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
SArray
*
A
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
0
].
minor
.
yy0
,
-
1
);
SAlterTableSQL
*
pAlterTable
=
tAlterTableSqlElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
NULL
,
A
,
TSDB_ALTER_TABLE_DROP_TAG_COLUMN
);
SAlterTableSQL
*
pAlterTable
=
tAlterTableSqlElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
NULL
,
A
,
TSDB_ALTER_TABLE_DROP_TAG_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
23
5
:
/* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
case
23
8
:
/* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
{
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
...
...
@@ -2908,11 +3222,11 @@ static void yy_reduce(
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
A
=
tVariantListAppendToken
(
A
,
&
yymsp
[
0
].
minor
.
yy0
,
-
1
);
SAlterTableSQL
*
pAlterTable
=
tAlterTableSqlElems
(
&
yymsp
[
-
5
].
minor
.
yy0
,
NULL
,
A
,
TSDB_ALTER_TABLE_CHANGE_TAG_COLUMN
);
SAlterTableSQL
*
pAlterTable
=
tAlterTableSqlElems
(
&
yymsp
[
-
5
].
minor
.
yy0
,
NULL
,
A
,
TSDB_ALTER_TABLE_CHANGE_TAG_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
23
6
:
/* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
case
23
9
:
/* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
{
yymsp
[
-
6
].
minor
.
yy0
.
n
+=
yymsp
[
-
5
].
minor
.
yy0
.
n
;
...
...
@@ -2920,26 +3234,76 @@ static void yy_reduce(
SArray
*
A
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
2
].
minor
.
yy0
,
-
1
);
A
=
tVariantListAppend
(
A
,
&
yymsp
[
0
].
minor
.
yy430
,
-
1
);
SAlterTableSQL
*
pAlterTable
=
tAlterTableSqlElems
(
&
yymsp
[
-
6
].
minor
.
yy0
,
NULL
,
A
,
TSDB_ALTER_TABLE_UPDATE_TAG_VAL
);
SAlterTableSQL
*
pAlterTable
=
tAlterTableSqlElems
(
&
yymsp
[
-
6
].
minor
.
yy0
,
NULL
,
A
,
TSDB_ALTER_TABLE_UPDATE_TAG_VAL
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
240
:
/* cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableSQL
*
pAlterTable
=
tAlterTableSqlElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy421
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
241
:
/* cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
SArray
*
K
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
0
].
minor
.
yy0
,
-
1
);
SAlterTableSQL
*
pAlterTable
=
tAlterTableSqlElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
NULL
,
K
,
TSDB_ALTER_TABLE_DROP_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
242
:
/* cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableSQL
*
pAlterTable
=
tAlterTableSqlElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy421
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
243
:
/* cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
SArray
*
A
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
0
].
minor
.
yy0
,
-
1
);
SAlterTableSQL
*
pAlterTable
=
tAlterTableSqlElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
NULL
,
A
,
TSDB_ALTER_TABLE_DROP_TAG_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
244
:
/* cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
{
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
SArray
*
A
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
);
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
A
=
tVariantListAppendToken
(
A
,
&
yymsp
[
0
].
minor
.
yy0
,
-
1
);
SAlterTableSQL
*
pAlterTable
=
tAlterTableSqlElems
(
&
yymsp
[
-
5
].
minor
.
yy0
,
NULL
,
A
,
TSDB_ALTER_TABLE_CHANGE_TAG_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
2
37
:
/* cmd ::= KILL CONNECTION INTEGER */
case
2
45
:
/* cmd ::= KILL CONNECTION INTEGER */
{
setKillSql
(
pInfo
,
TSDB_SQL_KILL_CONNECTION
,
&
yymsp
[
0
].
minor
.
yy0
);}
break
;
case
2
38
:
/* cmd ::= KILL STREAM INTEGER COLON INTEGER */
case
2
46
:
/* cmd ::= KILL STREAM INTEGER COLON INTEGER */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
yymsp
[
-
1
].
minor
.
yy0
.
n
+
yymsp
[
0
].
minor
.
yy0
.
n
);
setKillSql
(
pInfo
,
TSDB_SQL_KILL_STREAM
,
&
yymsp
[
-
2
].
minor
.
yy0
);}
break
;
case
2
39
:
/* cmd ::= KILL QUERY INTEGER COLON INTEGER */
case
2
47
:
/* cmd ::= KILL QUERY INTEGER COLON INTEGER */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
yymsp
[
-
1
].
minor
.
yy0
.
n
+
yymsp
[
0
].
minor
.
yy0
.
n
);
setKillSql
(
pInfo
,
TSDB_SQL_KILL_QUERY
,
&
yymsp
[
-
2
].
minor
.
yy0
);}
break
;
default:
break
;
/********** End reduce actions ************************************************/
};
assert
(
yyruleno
<
sizeof
(
yyRuleInfo
)
/
sizeof
(
yyRuleInfo
[
0
])
);
yygoto
=
yyRuleInfo
[
yyruleno
].
lhs
;
yysize
=
yyRuleInfo
[
yyruleno
].
nrhs
;
assert
(
yyruleno
<
sizeof
(
yyRuleInfo
Lhs
)
/
sizeof
(
yyRuleInfoLhs
[
0
])
);
yygoto
=
yyRuleInfo
Lhs
[
yyruleno
]
;
yysize
=
yyRuleInfo
NRhs
[
yyruleno
]
;
yyact
=
yy_find_reduce_action
(
yymsp
[
yysize
].
stateno
,(
YYCODETYPE
)
yygoto
);
/* There are no SHIFTREDUCE actions on nonterminals because the table
...
...
@@ -2954,6 +3318,7 @@ static void yy_reduce(
yymsp
->
stateno
=
(
YYACTIONTYPE
)
yyact
;
yymsp
->
major
=
(
YYCODETYPE
)
yygoto
;
yyTraceShift
(
yypParser
,
yyact
,
"... then shift"
);
return
yyact
;
}
/*
...
...
@@ -2963,7 +3328,8 @@ static void yy_reduce(
static
void
yy_parse_failed
(
yyParser
*
yypParser
/* The parser */
){
ParseARG_FETCH
;
ParseARG_FETCH
ParseCTX_FETCH
#ifndef NDEBUG
if
(
yyTraceFILE
){
fprintf
(
yyTraceFILE
,
"%sFail!
\n
"
,
yyTracePrompt
);
...
...
@@ -2974,7 +3340,8 @@ static void yy_parse_failed(
** parser fails */
/************ Begin %parse_failure code ***************************************/
/************ End %parse_failure code *****************************************/
ParseARG_STORE
;
/* Suppress warning about unused %extra_argument variable */
ParseARG_STORE
/* Suppress warning about unused %extra_argument variable */
ParseCTX_STORE
}
#endif
/* YYNOERRORRECOVERY */
...
...
@@ -2986,7 +3353,8 @@ static void yy_syntax_error(
int
yymajor
,
/* The major type of the error token */
ParseTOKENTYPE
yyminor
/* The minor type of the error token */
){
ParseARG_FETCH
;
ParseARG_FETCH
ParseCTX_FETCH
#define TOKEN yyminor
/************ Begin %syntax_error code ****************************************/
...
...
@@ -3012,7 +3380,8 @@ static void yy_syntax_error(
assert
(
len
<=
outputBufLen
);
/************ End %syntax_error code ******************************************/
ParseARG_STORE
;
/* Suppress warning about unused %extra_argument variable */
ParseARG_STORE
/* Suppress warning about unused %extra_argument variable */
ParseCTX_STORE
}
/*
...
...
@@ -3021,7 +3390,8 @@ static void yy_syntax_error(
static
void
yy_accept
(
yyParser
*
yypParser
/* The parser */
){
ParseARG_FETCH
;
ParseARG_FETCH
ParseCTX_FETCH
#ifndef NDEBUG
if
(
yyTraceFILE
){
fprintf
(
yyTraceFILE
,
"%sAccept!
\n
"
,
yyTracePrompt
);
...
...
@@ -3036,7 +3406,8 @@ static void yy_accept(
/*********** Begin %parse_accept code *****************************************/
/*********** End %parse_accept code *******************************************/
ParseARG_STORE
;
/* Suppress warning about unused %extra_argument variable */
ParseARG_STORE
/* Suppress warning about unused %extra_argument variable */
ParseCTX_STORE
}
/* The main parser program.
...
...
@@ -3065,45 +3436,47 @@ void Parse(
ParseARG_PDECL
/* Optional %extra_argument parameter */
){
YYMINORTYPE
yyminorunion
;
unsigned
int
yyact
;
/* The parser action. */
YYACTIONTYPE
yyact
;
/* The parser action. */
#if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY)
int
yyendofinput
;
/* True if we are at the end of input */
#endif
#ifdef YYERRORSYMBOL
int
yyerrorhit
=
0
;
/* True if yymajor has invoked an error */
#endif
yyParser
*
yypParser
;
/* The parser */
yyParser
*
yypParser
=
(
yyParser
*
)
yyp
;
/* The parser */
ParseCTX_FETCH
ParseARG_STORE
yypParser
=
(
yyParser
*
)
yyp
;
assert
(
yypParser
->
yytos
!=
0
);
#if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY)
yyendofinput
=
(
yymajor
==
0
);
#endif
ParseARG_STORE
;
yyact
=
yypParser
->
yytos
->
stateno
;
#ifndef NDEBUG
if
(
yyTraceFILE
){
int
stateno
=
yypParser
->
yytos
->
stateno
;
if
(
stateno
<
YY_MIN_REDUCE
){
if
(
yyact
<
YY_MIN_REDUCE
){
fprintf
(
yyTraceFILE
,
"%sInput '%s' in state %d
\n
"
,
yyTracePrompt
,
yyTokenName
[
yymajor
],
stateno
);
yyTracePrompt
,
yyTokenName
[
yymajor
],
yyact
);
}
else
{
fprintf
(
yyTraceFILE
,
"%sInput '%s' with pending reduce %d
\n
"
,
yyTracePrompt
,
yyTokenName
[
yymajor
],
stateno
-
YY_MIN_REDUCE
);
yyTracePrompt
,
yyTokenName
[
yymajor
],
yyact
-
YY_MIN_REDUCE
);
}
}
#endif
do
{
yyact
=
yy_find_shift_action
(
yypParser
,(
YYCODETYPE
)
yymajor
);
assert
(
yyact
==
yypParser
->
yytos
->
stateno
);
yyact
=
yy_find_shift_action
((
YYCODETYPE
)
yymajor
,
yyact
);
if
(
yyact
>=
YY_MIN_REDUCE
){
yy_reduce
(
yypParser
,
yyact
-
YY_MIN_REDUCE
,
yymajor
,
yyminor
);
yyact
=
yy_reduce
(
yypParser
,
yyact
-
YY_MIN_REDUCE
,
yymajor
,
yyminor
ParseCTX_PARAM
);
}
else
if
(
yyact
<=
YY_MAX_SHIFTREDUCE
){
yy_shift
(
yypParser
,
yyact
,
yymajor
,
yyminor
);
yy_shift
(
yypParser
,
yyact
,
(
YYCODETYPE
)
yymajor
,
yyminor
);
#ifndef YYNOERRORRECOVERY
yypParser
->
yyerrcnt
--
;
#endif
yymajor
=
YYNOCODE
;
break
;
}
else
if
(
yyact
==
YY_ACCEPT_ACTION
){
yypParser
->
yytos
--
;
yy_accept
(
yypParser
);
...
...
@@ -3154,10 +3527,9 @@ void Parse(
yymajor
=
YYNOCODE
;
}
else
{
while
(
yypParser
->
yytos
>=
yypParser
->
yystack
&&
yymx
!=
YYERRORSYMBOL
&&
(
yyact
=
yy_find_reduce_action
(
yypParser
->
yytos
->
stateno
,
YYERRORSYMBOL
))
>
=
YY_MIN_
REDUCE
YYERRORSYMBOL
))
>
YY_MAX_SHIFT
REDUCE
){
yy_pop_parser_stack
(
yypParser
);
}
...
...
@@ -3174,6 +3546,8 @@ void Parse(
}
yypParser
->
yyerrcnt
=
3
;
yyerrorhit
=
1
;
if
(
yymajor
==
YYNOCODE
)
break
;
yyact
=
yypParser
->
yytos
->
stateno
;
#elif defined(YYNOERRORRECOVERY)
/* If the YYNOERRORRECOVERY macro is defined, then do not attempt to
** do any kind of error recovery. Instead, simply invoke the syntax
...
...
@@ -3184,8 +3558,7 @@ void Parse(
*/
yy_syntax_error
(
yypParser
,
yymajor
,
yyminor
);
yy_destructor
(
yypParser
,(
YYCODETYPE
)
yymajor
,
&
yyminorunion
);
yymajor
=
YYNOCODE
;
break
;
#else
/* YYERRORSYMBOL is not defined */
/* This is what we do if the grammar does not define ERROR:
**
...
...
@@ -3207,10 +3580,10 @@ void Parse(
yypParser
->
yyerrcnt
=
-
1
;
#endif
}
yymajor
=
YYNOCODE
;
break
;
#endif
}
}
while
(
yy
major
!=
YYNOCODE
&&
yy
pParser
->
yytos
>
yypParser
->
yystack
);
}
while
(
yypParser
->
yytos
>
yypParser
->
yystack
);
#ifndef NDEBUG
if
(
yyTraceFILE
){
yyStackEntry
*
i
;
...
...
@@ -3225,3 +3598,17 @@ void Parse(
#endif
return
;
}
/*
** Return the fallback token corresponding to canonical token iToken, or
** 0 if iToken has no fallback.
*/
int
ParseFallback
(
int
iToken
){
#ifdef YYFALLBACK
assert
(
iToken
<
(
int
)(
sizeof
(
yyFallback
)
/
sizeof
(
yyFallback
[
0
]))
);
return
yyFallback
[
iToken
];
#else
(
void
)
iToken
;
return
0
;
#endif
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录