Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
c8591f09
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
c8591f09
编写于
10月 25, 2021
作者:
wmmhello
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix/TD-10399 <fix> fix invalidate error tips
上级
35a20136
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
767 addition
and
105 deletion
+767
-105
src/os/src/detail/osTime.c
src/os/src/detail/osTime.c
+1
-1
src/query/inc/qSqlparser.h
src/query/inc/qSqlparser.h
+1
-1
src/query/inc/sql.y
src/query/inc/sql.y
+18
-19
src/query/src/qSqlParser.c
src/query/src/qSqlParser.c
+3
-3
src/query/src/sql.c
src/query/src/sql.c
+744
-81
未找到文件。
src/os/src/detail/osTime.c
浏览文件 @
c8591f09
...
...
@@ -425,7 +425,7 @@ int64_t convertTimePrecision(int64_t time, int32_t fromPrecision, int32_t toPrec
}
//end switch fromPrecision
end_:
if
(
tempResult
>
(
double
)
INT64_MAX
)
return
INT64_MAX
;
if
(
tempResult
<
(
double
)
INT64_MIN
)
return
INT64_MIN
;
if
(
tempResult
<
(
double
)
INT64_MIN
)
return
INT64_MIN
+
1
;
// INT64_MIN means NULL
return
time
;
}
...
...
src/query/inc/qSqlparser.h
浏览文件 @
c8591f09
...
...
@@ -281,7 +281,7 @@ void *destroyRelationInfo(SRelationInfo* pFromInfo);
SRelationInfo
*
addSubqueryElem
(
SRelationInfo
*
pRelationInfo
,
SArray
*
pSub
,
SStrToken
*
pAlias
);
// sql expr leaf node
tSqlExpr
*
tSqlExprCreateIdValue
(
SStrToken
*
pToken
,
int32_t
optrType
);
tSqlExpr
*
tSqlExprCreateIdValue
(
SS
qlInfo
*
pInfo
,
SS
trToken
*
pToken
,
int32_t
optrType
);
tSqlExpr
*
tSqlExprCreateFunction
(
SArray
*
pParam
,
SStrToken
*
pFuncToken
,
SStrToken
*
endToken
,
int32_t
optType
);
SArray
*
tStrTokenAppend
(
SArray
*
pList
,
SStrToken
*
pToken
);
...
...
src/query/inc/sql.y
浏览文件 @
c8591f09
...
...
@@ -90,7 +90,6 @@ dbPrefix(A) ::= ids(X) DOT. {A = X; }
%type cpxName {SStrToken}
cpxName(A) ::= . {A.n = 0; }
cpxName(A) ::= DOT ids(Y). {A = Y; A.n += 1; }
cmd ::= SHOW CREATE TABLE ids(X) cpxName(Y). {
X.n += Y.n;
setDCLSqlElems(pInfo, TSDB_SQL_SHOW_CREATE_TABLE, 1, &X);
...
...
@@ -520,7 +519,7 @@ selcollist(A) ::= sclp(P) distinct(Z) expr(X) as(Y). {
}
selcollist(A) ::= sclp(P) STAR. {
tSqlExpr *pNode = tSqlExprCreateIdValue(NULL, TK_ALL);
tSqlExpr *pNode = tSqlExprCreateIdValue(
pInfo,
NULL, TK_ALL);
A = tSqlExprListAppend(P, pNode, 0, 0);
}
...
...
@@ -701,23 +700,23 @@ where_opt(A) ::= WHERE expr(X). {A = X;}
expr(A) ::= LP(X) expr(Y) RP(Z). {A = Y; A->exprToken.z = X.z; A->exprToken.n = (Z.z - X.z + 1);}
expr(A) ::= ID(X). { A = tSqlExprCreateIdValue(&X, TK_ID);}
expr(A) ::= ID(X) DOT ID(Y). { X.n += (1+Y.n); A = tSqlExprCreateIdValue(&X, TK_ID);}
expr(A) ::= ID(X) DOT STAR(Y). { X.n += (1+Y.n); A = tSqlExprCreateIdValue(&X, TK_ALL);}
expr(A) ::= INTEGER(X). { A = tSqlExprCreateIdValue(&X, TK_INTEGER);}
expr(A) ::= MINUS(X) INTEGER(Y). { X.n += Y.n; X.type = TK_INTEGER; A = tSqlExprCreateIdValue(&X, TK_INTEGER);}
expr(A) ::= PLUS(X) INTEGER(Y). { X.n += Y.n; X.type = TK_INTEGER; A = tSqlExprCreateIdValue(&X, TK_INTEGER);}
expr(A) ::= FLOAT(X). { A = tSqlExprCreateIdValue(&X, TK_FLOAT);}
expr(A) ::= MINUS(X) FLOAT(Y). { X.n += Y.n; X.type = TK_FLOAT; A = tSqlExprCreateIdValue(&X, TK_FLOAT);}
expr(A) ::= PLUS(X) FLOAT(Y). { X.n += Y.n; X.type = TK_FLOAT; A = tSqlExprCreateIdValue(&X, TK_FLOAT);}
expr(A) ::= STRING(X). { A = tSqlExprCreateIdValue(&X, TK_STRING);}
expr(A) ::= NOW(X). { A = tSqlExprCreateIdValue(&X, TK_NOW); }
expr(A) ::= VARIABLE(X). { A = tSqlExprCreateIdValue(&X, TK_VARIABLE);}
expr(A) ::= PLUS(X) VARIABLE(Y). { X.n += Y.n; X.type = TK_VARIABLE; A = tSqlExprCreateIdValue(&X, TK_VARIABLE);}
expr(A) ::= MINUS(X) VARIABLE(Y). { X.n += Y.n; X.type = TK_VARIABLE; A = tSqlExprCreateIdValue(&X, TK_VARIABLE);}
expr(A) ::= BOOL(X). { A = tSqlExprCreateIdValue(&X, TK_BOOL);}
expr(A) ::= NULL(X). { A = tSqlExprCreateIdValue(&X, TK_NULL);}
expr(A) ::= ID(X). { A = tSqlExprCreateIdValue(
pInfo,
&X, TK_ID);}
expr(A) ::= ID(X) DOT ID(Y). { X.n += (1+Y.n); A = tSqlExprCreateIdValue(
pInfo,
&X, TK_ID);}
expr(A) ::= ID(X) DOT STAR(Y). { X.n += (1+Y.n); A = tSqlExprCreateIdValue(
pInfo,
&X, TK_ALL);}
expr(A) ::= INTEGER(X). { A = tSqlExprCreateIdValue(
pInfo,
&X, TK_INTEGER);}
expr(A) ::= MINUS(X) INTEGER(Y). { X.n += Y.n; X.type = TK_INTEGER; A = tSqlExprCreateIdValue(
pInfo,
&X, TK_INTEGER);}
expr(A) ::= PLUS(X) INTEGER(Y). { X.n += Y.n; X.type = TK_INTEGER; A = tSqlExprCreateIdValue(
pInfo,
&X, TK_INTEGER);}
expr(A) ::= FLOAT(X). { A = tSqlExprCreateIdValue(
pInfo,
&X, TK_FLOAT);}
expr(A) ::= MINUS(X) FLOAT(Y). { X.n += Y.n; X.type = TK_FLOAT; A = tSqlExprCreateIdValue(
pInfo,
&X, TK_FLOAT);}
expr(A) ::= PLUS(X) FLOAT(Y). { X.n += Y.n; X.type = TK_FLOAT; A = tSqlExprCreateIdValue(
pInfo,
&X, TK_FLOAT);}
expr(A) ::= STRING(X). { A = tSqlExprCreateIdValue(
pInfo,
&X, TK_STRING);}
expr(A) ::= NOW(X). { A = tSqlExprCreateIdValue(
pInfo,
&X, TK_NOW); }
expr(A) ::= VARIABLE(X). { A = tSqlExprCreateIdValue(
pInfo,
&X, TK_VARIABLE);}
expr(A) ::= PLUS(X) VARIABLE(Y). { X.n += Y.n; X.type = TK_VARIABLE; A = tSqlExprCreateIdValue(
pInfo,
&X, TK_VARIABLE);}
expr(A) ::= MINUS(X) VARIABLE(Y). { X.n += Y.n; X.type = TK_VARIABLE; A = tSqlExprCreateIdValue(
pInfo,
&X, TK_VARIABLE);}
expr(A) ::= BOOL(X). { A = tSqlExprCreateIdValue(
pInfo,
&X, TK_BOOL);}
expr(A) ::= NULL(X). { A = tSqlExprCreateIdValue(
pInfo,
&X, TK_NULL);}
// ordinary functions: min(x), max(x), top(k, 20)
expr(A) ::= ID(X) LP exprlist(Y) RP(E). { tStrTokenAppend(pInfo->funcs, &X); A = tSqlExprCreateFunction(Y, &X, &E, X.type); }
...
...
src/query/src/qSqlParser.c
浏览文件 @
c8591f09
...
...
@@ -70,8 +70,7 @@ SSqlInfo qSqlParse(const char *pStr) {
default:
Parse
(
pParser
,
t0
.
type
,
t0
,
&
sqlInfo
);
if
(
sqlInfo
.
valid
==
false
||
terrno
!=
TSDB_CODE_SUCCESS
)
{
snprintf
(
sqlInfo
.
msg
,
tListLen
(
sqlInfo
.
msg
),
"%s"
,
t0
.
z
);
if
(
sqlInfo
.
valid
==
false
)
{
goto
abort_parse
;
}
}
...
...
@@ -135,7 +134,7 @@ SArray *tStrTokenAppend(SArray *pList, SStrToken *pToken) {
return
pList
;
}
tSqlExpr
*
tSqlExprCreateIdValue
(
SStrToken
*
pToken
,
int32_t
optrType
)
{
tSqlExpr
*
tSqlExprCreateIdValue
(
SS
qlInfo
*
pInfo
,
SS
trToken
*
pToken
,
int32_t
optrType
)
{
tSqlExpr
*
pSqlExpr
=
calloc
(
1
,
sizeof
(
tSqlExpr
));
if
(
pToken
!=
NULL
)
{
...
...
@@ -170,6 +169,7 @@ tSqlExpr *tSqlExprCreateIdValue(SStrToken *pToken, int32_t optrType) {
char
unit
=
0
;
int32_t
ret
=
parseAbsoluteDuration
(
pToken
->
z
,
pToken
->
n
,
&
pSqlExpr
->
value
.
i64
,
&
unit
,
TSDB_TIME_PRECISION_NANO
);
if
(
ret
!=
TSDB_CODE_SUCCESS
)
{
snprintf
(
pInfo
->
msg
,
tListLen
(
pInfo
->
msg
),
"%s"
,
pToken
->
z
);
terrno
=
TSDB_CODE_TSC_SQL_SYNTAX_ERROR
;
}
}
...
...
src/query/src/sql.c
浏览文件 @
c8591f09
/* This file is automatically generated by Lemon from input grammar
** source file "sql.y". */
/*
** 2000-05-29
**
...
...
@@ -22,9 +24,8 @@
** The following is the concatenation of all %include directives from the
** input grammar file:
*/
#include <stdio.h>
#include <assert.h>
/************ Begin %include sections from the grammar ************************/
#line 23 "sql.y"
#include <stdio.h>
#include <stdlib.h>
...
...
@@ -37,12 +38,209 @@
#include "ttokendef.h"
#include "tutil.h"
#include "tvariant.h"
#line 42 "sql.c"
/**************** End of %include directives **********************************/
/* These constants specify the various numeric values for terminal symbols
** in a format understandable to "makeheaders". This section is blank unless
** "lemon" is run with the "-m" command-line option.
***************** Begin makeheaders token definitions *************************/
/**************** End makeheaders token definitions ***************************/
/* These constants specify the various numeric values for terminal symbols.
***************** Begin token definitions *************************************/
#ifndef TK_ID
#define TK_ID 1
#define TK_BOOL 2
#define TK_TINYINT 3
#define TK_SMALLINT 4
#define TK_INTEGER 5
#define TK_BIGINT 6
#define TK_FLOAT 7
#define TK_DOUBLE 8
#define TK_STRING 9
#define TK_TIMESTAMP 10
#define TK_BINARY 11
#define TK_NCHAR 12
#define TK_OR 13
#define TK_AND 14
#define TK_NOT 15
#define TK_EQ 16
#define TK_NE 17
#define TK_ISNULL 18
#define TK_NOTNULL 19
#define TK_IS 20
#define TK_LIKE 21
#define TK_MATCH 22
#define TK_NMATCH 23
#define TK_GLOB 24
#define TK_BETWEEN 25
#define TK_IN 26
#define TK_GT 27
#define TK_GE 28
#define TK_LT 29
#define TK_LE 30
#define TK_BITAND 31
#define TK_BITOR 32
#define TK_LSHIFT 33
#define TK_RSHIFT 34
#define TK_PLUS 35
#define TK_MINUS 36
#define TK_DIVIDE 37
#define TK_TIMES 38
#define TK_STAR 39
#define TK_SLASH 40
#define TK_REM 41
#define TK_CONCAT 42
#define TK_UMINUS 43
#define TK_UPLUS 44
#define TK_BITNOT 45
#define TK_SHOW 46
#define TK_DATABASES 47
#define TK_TOPICS 48
#define TK_FUNCTIONS 49
#define TK_MNODES 50
#define TK_DNODES 51
#define TK_ACCOUNTS 52
#define TK_USERS 53
#define TK_MODULES 54
#define TK_QUERIES 55
#define TK_CONNECTIONS 56
#define TK_STREAMS 57
#define TK_VARIABLES 58
#define TK_SCORES 59
#define TK_GRANTS 60
#define TK_VNODES 61
#define TK_DOT 62
#define TK_CREATE 63
#define TK_TABLE 64
#define TK_STABLE 65
#define TK_DATABASE 66
#define TK_TABLES 67
#define TK_STABLES 68
#define TK_VGROUPS 69
#define TK_DROP 70
#define TK_TOPIC 71
#define TK_FUNCTION 72
#define TK_DNODE 73
#define TK_USER 74
#define TK_ACCOUNT 75
#define TK_USE 76
#define TK_DESCRIBE 77
#define TK_DESC 78
#define TK_ALTER 79
#define TK_PASS 80
#define TK_PRIVILEGE 81
#define TK_LOCAL 82
#define TK_COMPACT 83
#define TK_LP 84
#define TK_RP 85
#define TK_IF 86
#define TK_EXISTS 87
#define TK_AS 88
#define TK_OUTPUTTYPE 89
#define TK_AGGREGATE 90
#define TK_BUFSIZE 91
#define TK_PPS 92
#define TK_TSERIES 93
#define TK_DBS 94
#define TK_STORAGE 95
#define TK_QTIME 96
#define TK_CONNS 97
#define TK_STATE 98
#define TK_COMMA 99
#define TK_KEEP 100
#define TK_CACHE 101
#define TK_REPLICA 102
#define TK_QUORUM 103
#define TK_DAYS 104
#define TK_MINROWS 105
#define TK_MAXROWS 106
#define TK_BLOCKS 107
#define TK_CTIME 108
#define TK_WAL 109
#define TK_FSYNC 110
#define TK_COMP 111
#define TK_PRECISION 112
#define TK_UPDATE 113
#define TK_CACHELAST 114
#define TK_PARTITIONS 115
#define TK_UNSIGNED 116
#define TK_TAGS 117
#define TK_USING 118
#define TK_NULL 119
#define TK_NOW 120
#define TK_SELECT 121
#define TK_UNION 122
#define TK_ALL 123
#define TK_DISTINCT 124
#define TK_FROM 125
#define TK_VARIABLE 126
#define TK_INTERVAL 127
#define TK_EVERY 128
#define TK_SESSION 129
#define TK_STATE_WINDOW 130
#define TK_FILL 131
#define TK_SLIDING 132
#define TK_ORDER 133
#define TK_BY 134
#define TK_ASC 135
#define TK_GROUP 136
#define TK_HAVING 137
#define TK_LIMIT 138
#define TK_OFFSET 139
#define TK_SLIMIT 140
#define TK_SOFFSET 141
#define TK_WHERE 142
#define TK_RESET 143
#define TK_QUERY 144
#define TK_SYNCDB 145
#define TK_ADD 146
#define TK_COLUMN 147
#define TK_MODIFY 148
#define TK_TAG 149
#define TK_CHANGE 150
#define TK_SET 151
#define TK_KILL 152
#define TK_CONNECTION 153
#define TK_STREAM 154
#define TK_COLON 155
#define TK_ABORT 156
#define TK_AFTER 157
#define TK_ATTACH 158
#define TK_BEFORE 159
#define TK_BEGIN 160
#define TK_CASCADE 161
#define TK_CLUSTER 162
#define TK_CONFLICT 163
#define TK_COPY 164
#define TK_DEFERRED 165
#define TK_DELIMITERS 166
#define TK_DETACH 167
#define TK_EACH 168
#define TK_END 169
#define TK_EXPLAIN 170
#define TK_FAIL 171
#define TK_FOR 172
#define TK_IGNORE 173
#define TK_IMMEDIATE 174
#define TK_INITIALLY 175
#define TK_INSTEAD 176
#define TK_KEY 177
#define TK_OF 178
#define TK_RAISE 179
#define TK_REPLACE 180
#define TK_RESTRICT 181
#define TK_ROW 182
#define TK_STATEMENT 183
#define TK_TRIGGER 184
#define TK_VIEW 185
#define TK_IPTOKEN 186
#define TK_SEMI 187
#define TK_NONE 188
#define TK_PREV 189
#define TK_LINEAR 190
#define TK_IMPORT 191
#define TK_TBNAME 192
#define TK_JOIN 193
#define TK_INSERT 194
#define TK_INTO 195
#define TK_VALUES 196
#endif
/**************** End token definitions ***************************************/
/* The next sections is a series of control #defines.
** various aspects of the generated parser.
...
...
@@ -771,6 +969,7 @@ typedef struct yyParser yyParser;
#ifndef NDEBUG
#include <stdio.h>
#include <assert.h>
static
FILE
*
yyTraceFILE
=
0
;
static
char
*
yyTracePrompt
=
0
;
#endif
/* NDEBUG */
...
...
@@ -1513,7 +1712,9 @@ static void yy_destructor(
case
250
:
/* selcollist */
case
264
:
/* sclp */
{
#line 762 "sql.y"
tSqlExprListDestroy
((
yypminor
->
yy421
));
#line 1717 "sql.c"
}
break
;
case
221
:
/* intitemlist */
...
...
@@ -1527,24 +1728,32 @@ tSqlExprListDestroy((yypminor->yy421));
case
272
:
/* sortlist */
case
276
:
/* grouplist */
{
#line 256 "sql.y"
taosArrayDestroy
((
yypminor
->
yy421
));
#line 1733 "sql.c"
}
break
;
case
242
:
/* create_table_list */
{
#line 364 "sql.y"
destroyCreateTableSql
((
yypminor
->
yy438
));
#line 1740 "sql.c"
}
break
;
case
247
:
/* select */
{
#line 484 "sql.y"
destroySqlNode
((
yypminor
->
yy56
));
#line 1747 "sql.c"
}
break
;
case
251
:
/* from */
case
268
:
/* tablelist */
case
269
:
/* sub */
{
#line 539 "sql.y"
destroyRelationInfo
((
yypminor
->
yy8
));
#line 1756 "sql.c"
}
break
;
case
252
:
/* where_opt */
...
...
@@ -1552,17 +1761,23 @@ destroyRelationInfo((yypminor->yy8));
case
266
:
/* expr */
case
277
:
/* expritem */
{
#line 691 "sql.y"
tSqlExprDestroy
((
yypminor
->
yy439
));
#line 1766 "sql.c"
}
break
;
case
263
:
/* union */
{
#line 492 "sql.y"
destroyAllSqlNode
((
yypminor
->
yy421
));
#line 1773 "sql.c"
}
break
;
case
273
:
/* sortitem */
{
#line 624 "sql.y"
tVariantDestroy
(
&
(
yypminor
->
yy430
));
#line 1780 "sql.c"
}
break
;
/********* End destructor definitions *****************************************/
...
...
@@ -1729,7 +1944,7 @@ static YYACTIONTYPE yy_find_shift_action(
#endif
/* YYWILDCARD */
return
yy_default
[
stateno
];
}
else
{
assert
(
i
>=
0
&&
i
<
sizeof
(
yy_action
)
/
sizeof
(
yy_action
[
0
]
)
);
assert
(
i
>=
0
&&
i
<
(
int
)(
sizeof
(
yy_action
)
/
sizeof
(
yy_action
[
0
])
)
);
return
yy_action
[
i
];
}
}
while
(
1
);
...
...
@@ -2473,54 +2688,6 @@ static YYACTIONTYPE yy_reduce(
(
void
)
yyLookahead
;
(
void
)
yyLookaheadToken
;
yymsp
=
yypParser
->
yytos
;
#ifndef NDEBUG
if
(
yyTraceFILE
&&
yyruleno
<
(
int
)(
sizeof
(
yyRuleName
)
/
sizeof
(
yyRuleName
[
0
]))
){
yysize
=
yyRuleInfoNRhs
[
yyruleno
];
if
(
yysize
){
fprintf
(
yyTraceFILE
,
"%sReduce %d [%s]%s, pop back to state %d.
\n
"
,
yyTracePrompt
,
yyruleno
,
yyRuleName
[
yyruleno
],
yyruleno
<
YYNRULE_WITH_ACTION
?
""
:
" without external action"
,
yymsp
[
yysize
].
stateno
);
}
else
{
fprintf
(
yyTraceFILE
,
"%sReduce %d [%s]%s.
\n
"
,
yyTracePrompt
,
yyruleno
,
yyRuleName
[
yyruleno
],
yyruleno
<
YYNRULE_WITH_ACTION
?
""
:
" without external action"
);
}
}
#endif
/* NDEBUG */
/* Check that the stack is large enough to grow by a single entry
** if the RHS of the rule is empty. This ensures that there is room
** enough on the stack to push the LHS value */
if
(
yyRuleInfoNRhs
[
yyruleno
]
==
0
){
#ifdef YYTRACKMAXSTACKDEPTH
if
(
(
int
)(
yypParser
->
yytos
-
yypParser
->
yystack
)
>
yypParser
->
yyhwm
){
yypParser
->
yyhwm
++
;
assert
(
yypParser
->
yyhwm
==
(
int
)(
yypParser
->
yytos
-
yypParser
->
yystack
));
}
#endif
#if YYSTACKDEPTH>0
if
(
yypParser
->
yytos
>=
yypParser
->
yystackEnd
){
yyStackOverflow
(
yypParser
);
/* The call to yyStackOverflow() above pops the stack until it is
** empty, causing the main parser loop to exit. So the return value
** is never used and does not matter. */
return
0
;
}
#else
if
(
yypParser
->
yytos
>=&
yypParser
->
yystack
[
yypParser
->
yystksz
-
1
]
){
if
(
yyGrowStack
(
yypParser
)
){
yyStackOverflow
(
yypParser
);
/* The call to yyStackOverflow() above pops the stack until it is
** empty, causing the main parser loop to exit. So the return value
** is never used and does not matter. */
return
0
;
}
yymsp
=
yypParser
->
yytos
;
}
#endif
}
switch
(
yyruleno
){
/* Beginning here are the reduction cases. A typical example
...
...
@@ -2537,227 +2704,347 @@ static YYACTIONTYPE yy_reduce(
case
139
:
/* cmd ::= CREATE TABLE create_table_args */
yytestcase
(
yyruleno
==
139
);
case
140
:
/* cmd ::= CREATE TABLE create_stable_args */
yytestcase
(
yyruleno
==
140
);
case
141
:
/* cmd ::= CREATE STABLE create_stable_args */
yytestcase
(
yyruleno
==
141
);
#line 63 "sql.y"
{}
#line 2709 "sql.c"
break
;
case
1
:
/* cmd ::= SHOW DATABASES */
#line 66 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_DB
,
0
,
0
);}
#line 2714 "sql.c"
break
;
case
2
:
/* cmd ::= SHOW TOPICS */
#line 67 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_TP
,
0
,
0
);}
#line 2719 "sql.c"
break
;
case
3
:
/* cmd ::= SHOW FUNCTIONS */
#line 68 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_FUNCTION
,
0
,
0
);}
#line 2724 "sql.c"
break
;
case
4
:
/* cmd ::= SHOW MNODES */
#line 69 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_MNODE
,
0
,
0
);}
#line 2729 "sql.c"
break
;
case
5
:
/* cmd ::= SHOW DNODES */
#line 70 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_DNODE
,
0
,
0
);}
#line 2734 "sql.c"
break
;
case
6
:
/* cmd ::= SHOW ACCOUNTS */
#line 71 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_ACCT
,
0
,
0
);}
#line 2739 "sql.c"
break
;
case
7
:
/* cmd ::= SHOW USERS */
#line 72 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_USER
,
0
,
0
);}
#line 2744 "sql.c"
break
;
case
8
:
/* cmd ::= SHOW MODULES */
#line 74 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_MODULE
,
0
,
0
);
}
#line 2749 "sql.c"
break
;
case
9
:
/* cmd ::= SHOW QUERIES */
#line 75 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_QUERIES
,
0
,
0
);
}
#line 2754 "sql.c"
break
;
case
10
:
/* cmd ::= SHOW CONNECTIONS */
#line 76 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_CONNS
,
0
,
0
);}
#line 2759 "sql.c"
break
;
case
11
:
/* cmd ::= SHOW STREAMS */
#line 77 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_STREAMS
,
0
,
0
);
}
#line 2764 "sql.c"
break
;
case
12
:
/* cmd ::= SHOW VARIABLES */
#line 78 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_VARIABLES
,
0
,
0
);
}
#line 2769 "sql.c"
break
;
case
13
:
/* cmd ::= SHOW SCORES */
#line 79 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_SCORES
,
0
,
0
);
}
#line 2774 "sql.c"
break
;
case
14
:
/* cmd ::= SHOW GRANTS */
#line 80 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_GRANTS
,
0
,
0
);
}
#line 2779 "sql.c"
break
;
case
15
:
/* cmd ::= SHOW VNODES */
#line 82 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_VNODES
,
0
,
0
);
}
#line 2784 "sql.c"
break
;
case
16
:
/* cmd ::= SHOW VNODES ids */
#line 83 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_VNODES
,
&
yymsp
[
0
].
minor
.
yy0
,
0
);
}
#line 2789 "sql.c"
break
;
case
17
:
/* dbPrefix ::= */
#line 87 "sql.y"
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
yymsp
[
1
].
minor
.
yy0
.
type
=
0
;}
#line 2794 "sql.c"
break
;
case
18
:
/* dbPrefix ::= ids DOT */
#line 88 "sql.y"
{
yylhsminor
.
yy0
=
yymsp
[
-
1
].
minor
.
yy0
;
}
#line 2799 "sql.c"
yymsp
[
-
1
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
case
19
:
/* cpxName ::= */
#line 91 "sql.y"
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
}
#line 2805 "sql.c"
break
;
case
20
:
/* cpxName ::= DOT ids */
#line 92 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
1
;
}
#line 2810 "sql.c"
break
;
case
21
:
/* cmd ::= SHOW CREATE TABLE ids cpxName */
#line 93 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
setDCLSqlElems
(
pInfo
,
TSDB_SQL_SHOW_CREATE_TABLE
,
1
,
&
yymsp
[
-
1
].
minor
.
yy0
);
}
#line 2818 "sql.c"
break
;
case
22
:
/* cmd ::= SHOW CREATE STABLE ids cpxName */
#line 97 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
setDCLSqlElems
(
pInfo
,
TSDB_SQL_SHOW_CREATE_STABLE
,
1
,
&
yymsp
[
-
1
].
minor
.
yy0
);
}
#line 2826 "sql.c"
break
;
case
23
:
/* cmd ::= SHOW CREATE DATABASE ids */
#line 102 "sql.y"
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_SHOW_CREATE_DATABASE
,
1
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 2833 "sql.c"
break
;
case
24
:
/* cmd ::= SHOW dbPrefix TABLES */
#line 106 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_TABLE
,
&
yymsp
[
-
1
].
minor
.
yy0
,
0
);
}
#line 2840 "sql.c"
break
;
case
25
:
/* cmd ::= SHOW dbPrefix TABLES LIKE ids */
#line 110 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_TABLE
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 2847 "sql.c"
break
;
case
26
:
/* cmd ::= SHOW dbPrefix STABLES */
#line 114 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_METRIC
,
&
yymsp
[
-
1
].
minor
.
yy0
,
0
);
}
#line 2854 "sql.c"
break
;
case
27
:
/* cmd ::= SHOW dbPrefix STABLES LIKE ids */
#line 118 "sql.y"
{
SStrToken
token
;
tSetDbName
(
&
token
,
&
yymsp
[
-
3
].
minor
.
yy0
);
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_METRIC
,
&
token
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 2863 "sql.c"
break
;
case
28
:
/* cmd ::= SHOW dbPrefix VGROUPS */
#line 124 "sql.y"
{
SStrToken
token
;
tSetDbName
(
&
token
,
&
yymsp
[
-
1
].
minor
.
yy0
);
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_VGROUP
,
&
token
,
0
);
}
#line 2872 "sql.c"
break
;
case
29
:
/* cmd ::= SHOW dbPrefix VGROUPS ids */
#line 130 "sql.y"
{
SStrToken
token
;
tSetDbName
(
&
token
,
&
yymsp
[
-
2
].
minor
.
yy0
);
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_VGROUP
,
&
token
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 2881 "sql.c"
break
;
case
30
:
/* cmd ::= DROP TABLE ifexists ids cpxName */
#line 137 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
setDropDbTableInfo
(
pInfo
,
TSDB_SQL_DROP_TABLE
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
-
2
].
minor
.
yy0
,
-
1
,
-
1
);
}
#line 2889 "sql.c"
break
;
case
31
:
/* cmd ::= DROP STABLE ifexists ids cpxName */
#line 143 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
setDropDbTableInfo
(
pInfo
,
TSDB_SQL_DROP_TABLE
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
-
2
].
minor
.
yy0
,
-
1
,
TSDB_SUPER_TABLE
);
}
#line 2897 "sql.c"
break
;
case
32
:
/* cmd ::= DROP DATABASE ifexists ids */
#line 148 "sql.y"
{
setDropDbTableInfo
(
pInfo
,
TSDB_SQL_DROP_DB
,
&
yymsp
[
0
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
,
TSDB_DB_TYPE_DEFAULT
,
-
1
);
}
#line 2902 "sql.c"
break
;
case
33
:
/* cmd ::= DROP TOPIC ifexists ids */
#line 149 "sql.y"
{
setDropDbTableInfo
(
pInfo
,
TSDB_SQL_DROP_DB
,
&
yymsp
[
0
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
,
TSDB_DB_TYPE_TOPIC
,
-
1
);
}
#line 2907 "sql.c"
break
;
case
34
:
/* cmd ::= DROP FUNCTION ids */
#line 150 "sql.y"
{
setDropFuncInfo
(
pInfo
,
TSDB_SQL_DROP_FUNCTION
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 2912 "sql.c"
break
;
case
35
:
/* cmd ::= DROP DNODE ids */
#line 152 "sql.y"
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_DROP_DNODE
,
1
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 2917 "sql.c"
break
;
case
36
:
/* cmd ::= DROP USER ids */
#line 153 "sql.y"
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_DROP_USER
,
1
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 2922 "sql.c"
break
;
case
37
:
/* cmd ::= DROP ACCOUNT ids */
#line 154 "sql.y"
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_DROP_ACCT
,
1
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 2927 "sql.c"
break
;
case
38
:
/* cmd ::= USE ids */
#line 157 "sql.y"
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_USE_DB
,
1
,
&
yymsp
[
0
].
minor
.
yy0
);}
#line 2932 "sql.c"
break
;
case
39
:
/* cmd ::= DESCRIBE ids cpxName */
case
40
:
/* cmd ::= DESC ids cpxName */
yytestcase
(
yyruleno
==
40
);
#line 160 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
setDCLSqlElems
(
pInfo
,
TSDB_SQL_DESCRIBE_TABLE
,
1
,
&
yymsp
[
-
1
].
minor
.
yy0
);
}
#line 2941 "sql.c"
break
;
case
41
:
/* cmd ::= ALTER USER ids PASS ids */
#line 170 "sql.y"
{
setAlterUserSql
(
pInfo
,
TSDB_ALTER_USER_PASSWD
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
NULL
);
}
#line 2946 "sql.c"
break
;
case
42
:
/* cmd ::= ALTER USER ids PRIVILEGE ids */
#line 171 "sql.y"
{
setAlterUserSql
(
pInfo
,
TSDB_ALTER_USER_PRIVILEGES
,
&
yymsp
[
-
2
].
minor
.
yy0
,
NULL
,
&
yymsp
[
0
].
minor
.
yy0
);}
#line 2951 "sql.c"
break
;
case
43
:
/* cmd ::= ALTER DNODE ids ids */
#line 172 "sql.y"
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_CFG_DNODE
,
2
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 2956 "sql.c"
break
;
case
44
:
/* cmd ::= ALTER DNODE ids ids ids */
#line 173 "sql.y"
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_CFG_DNODE
,
3
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 2961 "sql.c"
break
;
case
45
:
/* cmd ::= ALTER LOCAL ids */
#line 174 "sql.y"
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_CFG_LOCAL
,
1
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 2966 "sql.c"
break
;
case
46
:
/* cmd ::= ALTER LOCAL ids ids */
#line 175 "sql.y"
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_CFG_LOCAL
,
2
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 2971 "sql.c"
break
;
case
47
:
/* cmd ::= ALTER DATABASE ids alter_db_optr */
case
48
:
/* cmd ::= ALTER TOPIC ids alter_topic_optr */
yytestcase
(
yyruleno
==
48
);
#line 176 "sql.y"
{
SStrToken
t
=
{
0
};
setCreateDbInfo
(
pInfo
,
TSDB_SQL_ALTER_DB
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy90
,
&
t
);}
#line 2977 "sql.c"
break
;
case
49
:
/* cmd ::= ALTER ACCOUNT ids acct_optr */
#line 179 "sql.y"
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_ALTER_ACCT
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
,
&
yymsp
[
0
].
minor
.
yy171
);}
#line 2982 "sql.c"
break
;
case
50
:
/* cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
#line 180 "sql.y"
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_ALTER_ACCT
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy171
);}
#line 2987 "sql.c"
break
;
case
51
:
/* cmd ::= COMPACT VNODES IN LP exprlist RP */
#line 184 "sql.y"
{
setCompactVnodeSql
(
pInfo
,
TSDB_SQL_COMPACT_VNODE
,
yymsp
[
-
1
].
minor
.
yy421
);}
#line 2992 "sql.c"
break
;
case
52
:
/* ids ::= ID */
case
53
:
/* ids ::= STRING */
yytestcase
(
yyruleno
==
53
);
#line 190 "sql.y"
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
#line 2998 "sql.c"
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
case
54
:
/* ifexists ::= IF EXISTS */
#line 194 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
.
n
=
1
;}
#line 3004 "sql.c"
break
;
case
55
:
/* ifexists ::= */
case
57
:
/* ifnotexists ::= */
yytestcase
(
yyruleno
==
57
);
case
181
:
/* distinct ::= */
yytestcase
(
yyruleno
==
181
);
#line 195 "sql.y"
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;}
#line 3011 "sql.c"
break
;
case
56
:
/* ifnotexists ::= IF NOT EXISTS */
#line 198 "sql.y"
{
yymsp
[
-
2
].
minor
.
yy0
.
n
=
1
;}
#line 3016 "sql.c"
break
;
case
58
:
/* cmd ::= CREATE DNODE ids */
#line 203 "sql.y"
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_CREATE_DNODE
,
1
,
&
yymsp
[
0
].
minor
.
yy0
);}
#line 3021 "sql.c"
break
;
case
59
:
/* cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
#line 205 "sql.y"
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_CREATE_ACCT
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy171
);}
#line 3026 "sql.c"
break
;
case
60
:
/* cmd ::= CREATE DATABASE ifnotexists ids db_optr */
case
61
:
/* cmd ::= CREATE TOPIC ifnotexists ids topic_optr */
yytestcase
(
yyruleno
==
61
);
#line 206 "sql.y"
{
setCreateDbInfo
(
pInfo
,
TSDB_SQL_CREATE_DB
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy90
,
&
yymsp
[
-
2
].
minor
.
yy0
);}
#line 3032 "sql.c"
break
;
case
62
:
/* cmd ::= CREATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
#line 208 "sql.y"
{
setCreateFuncInfo
(
pInfo
,
TSDB_SQL_CREATE_FUNCTION
,
&
yymsp
[
-
5
].
minor
.
yy0
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy183
,
&
yymsp
[
0
].
minor
.
yy0
,
1
);}
#line 3037 "sql.c"
break
;
case
63
:
/* cmd ::= CREATE AGGREGATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
#line 209 "sql.y"
{
setCreateFuncInfo
(
pInfo
,
TSDB_SQL_CREATE_FUNCTION
,
&
yymsp
[
-
5
].
minor
.
yy0
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy183
,
&
yymsp
[
0
].
minor
.
yy0
,
2
);}
#line 3042 "sql.c"
break
;
case
64
:
/* cmd ::= CREATE USER ids PASS ids */
#line 210 "sql.y"
{
setCreateUserSql
(
pInfo
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);}
#line 3047 "sql.c"
break
;
case
65
:
/* bufsize ::= */
case
67
:
/* pps ::= */
yytestcase
(
yyruleno
==
67
);
...
...
@@ -2769,7 +3056,9 @@ static YYACTIONTYPE yy_reduce(
case
79
:
/* users ::= */
yytestcase
(
yyruleno
==
79
);
case
81
:
/* conns ::= */
yytestcase
(
yyruleno
==
81
);
case
83
:
/* state ::= */
yytestcase
(
yyruleno
==
83
);
#line 212 "sql.y"
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
}
#line 3061 "sql.c"
break
;
case
66
:
/* bufsize ::= BUFSIZE INTEGER */
case
68
:
/* pps ::= PPS INTEGER */
yytestcase
(
yyruleno
==
68
);
...
...
@@ -2781,9 +3070,12 @@ static YYACTIONTYPE yy_reduce(
case
80
:
/* users ::= USERS INTEGER */
yytestcase
(
yyruleno
==
80
);
case
82
:
/* conns ::= CONNS INTEGER */
yytestcase
(
yyruleno
==
82
);
case
84
:
/* state ::= STATE ids */
yytestcase
(
yyruleno
==
84
);
#line 213 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
#line 3075 "sql.c"
break
;
case
85
:
/* acct_optr ::= pps tseries storage streams qtime dbs users conns state */
#line 243 "sql.y"
{
yylhsminor
.
yy171
.
maxUsers
=
(
yymsp
[
-
2
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
2
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy171
.
maxDbs
=
(
yymsp
[
-
3
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
3
].
minor
.
yy0
.
z
)
:-
1
;
...
...
@@ -2795,16 +3087,21 @@ static YYACTIONTYPE yy_reduce(
yylhsminor
.
yy171
.
maxConnections
=
(
yymsp
[
-
1
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
1
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy171
.
stat
=
yymsp
[
0
].
minor
.
yy0
;
}
#line 3090 "sql.c"
yymsp
[
-
8
].
minor
.
yy171
=
yylhsminor
.
yy171
;
break
;
case
86
:
/* intitemlist ::= intitemlist COMMA intitem */
case
155
:
/* tagitemlist ::= tagitemlist COMMA tagitem */
yytestcase
(
yyruleno
==
155
);
#line 259 "sql.y"
{
yylhsminor
.
yy421
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy421
,
&
yymsp
[
0
].
minor
.
yy430
,
-
1
);
}
#line 3097 "sql.c"
yymsp
[
-
2
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
87
:
/* intitemlist ::= intitem */
case
156
:
/* tagitemlist ::= tagitem */
yytestcase
(
yyruleno
==
156
);
#line 260 "sql.y"
{
yylhsminor
.
yy421
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy430
,
-
1
);
}
#line 3104 "sql.c"
yymsp
[
0
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
88
:
/* intitem ::= INTEGER */
...
...
@@ -2812,11 +3109,15 @@ static YYACTIONTYPE yy_reduce(
case
158
:
/* tagitem ::= FLOAT */
yytestcase
(
yyruleno
==
158
);
case
159
:
/* tagitem ::= STRING */
yytestcase
(
yyruleno
==
159
);
case
160
:
/* tagitem ::= BOOL */
yytestcase
(
yyruleno
==
160
);
#line 262 "sql.y"
{
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
tVariantCreate
(
&
yylhsminor
.
yy430
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 3114 "sql.c"
yymsp
[
0
].
minor
.
yy430
=
yylhsminor
.
yy430
;
break
;
case
89
:
/* keep ::= KEEP intitemlist */
#line 266 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy421
=
yymsp
[
0
].
minor
.
yy421
;
}
#line 3120 "sql.c"
break
;
case
90
:
/* cache ::= CACHE INTEGER */
case
91
:
/* replica ::= REPLICA INTEGER */
yytestcase
(
yyruleno
==
91
);
...
...
@@ -2833,99 +3134,142 @@ static YYACTIONTYPE yy_reduce(
case
102
:
/* update ::= UPDATE INTEGER */
yytestcase
(
yyruleno
==
102
);
case
103
:
/* cachelast ::= CACHELAST INTEGER */
yytestcase
(
yyruleno
==
103
);
case
104
:
/* partitions ::= PARTITIONS INTEGER */
yytestcase
(
yyruleno
==
104
);
#line 268 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
#line 3139 "sql.c"
break
;
case
105
:
/* db_optr ::= */
#line 285 "sql.y"
{
setDefaultCreateDbOption
(
&
yymsp
[
1
].
minor
.
yy90
);
yymsp
[
1
].
minor
.
yy90
.
dbType
=
TSDB_DB_TYPE_DEFAULT
;}
#line 3144 "sql.c"
break
;
case
106
:
/* db_optr ::= db_optr cache */
#line 287 "sql.y"
{
yylhsminor
.
yy90
=
yymsp
[
-
1
].
minor
.
yy90
;
yylhsminor
.
yy90
.
cacheBlockSize
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 3149 "sql.c"
yymsp
[
-
1
].
minor
.
yy90
=
yylhsminor
.
yy90
;
break
;
case
107
:
/* db_optr ::= db_optr replica */
case
124
:
/* alter_db_optr ::= alter_db_optr replica */
yytestcase
(
yyruleno
==
124
);
#line 288 "sql.y"
{
yylhsminor
.
yy90
=
yymsp
[
-
1
].
minor
.
yy90
;
yylhsminor
.
yy90
.
replica
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 3156 "sql.c"
yymsp
[
-
1
].
minor
.
yy90
=
yylhsminor
.
yy90
;
break
;
case
108
:
/* db_optr ::= db_optr quorum */
case
125
:
/* alter_db_optr ::= alter_db_optr quorum */
yytestcase
(
yyruleno
==
125
);
#line 289 "sql.y"
{
yylhsminor
.
yy90
=
yymsp
[
-
1
].
minor
.
yy90
;
yylhsminor
.
yy90
.
quorum
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 3163 "sql.c"
yymsp
[
-
1
].
minor
.
yy90
=
yylhsminor
.
yy90
;
break
;
case
109
:
/* db_optr ::= db_optr days */
#line 290 "sql.y"
{
yylhsminor
.
yy90
=
yymsp
[
-
1
].
minor
.
yy90
;
yylhsminor
.
yy90
.
daysPerFile
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 3169 "sql.c"
yymsp
[
-
1
].
minor
.
yy90
=
yylhsminor
.
yy90
;
break
;
case
110
:
/* db_optr ::= db_optr minrows */
#line 291 "sql.y"
{
yylhsminor
.
yy90
=
yymsp
[
-
1
].
minor
.
yy90
;
yylhsminor
.
yy90
.
minRowsPerBlock
=
strtod
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
);
}
#line 3175 "sql.c"
yymsp
[
-
1
].
minor
.
yy90
=
yylhsminor
.
yy90
;
break
;
case
111
:
/* db_optr ::= db_optr maxrows */
#line 292 "sql.y"
{
yylhsminor
.
yy90
=
yymsp
[
-
1
].
minor
.
yy90
;
yylhsminor
.
yy90
.
maxRowsPerBlock
=
strtod
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
);
}
#line 3181 "sql.c"
yymsp
[
-
1
].
minor
.
yy90
=
yylhsminor
.
yy90
;
break
;
case
112
:
/* db_optr ::= db_optr blocks */
case
127
:
/* alter_db_optr ::= alter_db_optr blocks */
yytestcase
(
yyruleno
==
127
);
#line 293 "sql.y"
{
yylhsminor
.
yy90
=
yymsp
[
-
1
].
minor
.
yy90
;
yylhsminor
.
yy90
.
numOfBlocks
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 3188 "sql.c"
yymsp
[
-
1
].
minor
.
yy90
=
yylhsminor
.
yy90
;
break
;
case
113
:
/* db_optr ::= db_optr ctime */
#line 294 "sql.y"
{
yylhsminor
.
yy90
=
yymsp
[
-
1
].
minor
.
yy90
;
yylhsminor
.
yy90
.
commitTime
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 3194 "sql.c"
yymsp
[
-
1
].
minor
.
yy90
=
yylhsminor
.
yy90
;
break
;
case
114
:
/* db_optr ::= db_optr wal */
#line 295 "sql.y"
{
yylhsminor
.
yy90
=
yymsp
[
-
1
].
minor
.
yy90
;
yylhsminor
.
yy90
.
walLevel
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 3200 "sql.c"
yymsp
[
-
1
].
minor
.
yy90
=
yylhsminor
.
yy90
;
break
;
case
115
:
/* db_optr ::= db_optr fsync */
#line 296 "sql.y"
{
yylhsminor
.
yy90
=
yymsp
[
-
1
].
minor
.
yy90
;
yylhsminor
.
yy90
.
fsyncPeriod
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 3206 "sql.c"
yymsp
[
-
1
].
minor
.
yy90
=
yylhsminor
.
yy90
;
break
;
case
116
:
/* db_optr ::= db_optr comp */
case
128
:
/* alter_db_optr ::= alter_db_optr comp */
yytestcase
(
yyruleno
==
128
);
#line 297 "sql.y"
{
yylhsminor
.
yy90
=
yymsp
[
-
1
].
minor
.
yy90
;
yylhsminor
.
yy90
.
compressionLevel
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 3213 "sql.c"
yymsp
[
-
1
].
minor
.
yy90
=
yylhsminor
.
yy90
;
break
;
case
117
:
/* db_optr ::= db_optr prec */
#line 298 "sql.y"
{
yylhsminor
.
yy90
=
yymsp
[
-
1
].
minor
.
yy90
;
yylhsminor
.
yy90
.
precision
=
yymsp
[
0
].
minor
.
yy0
;
}
#line 3219 "sql.c"
yymsp
[
-
1
].
minor
.
yy90
=
yylhsminor
.
yy90
;
break
;
case
118
:
/* db_optr ::= db_optr keep */
case
126
:
/* alter_db_optr ::= alter_db_optr keep */
yytestcase
(
yyruleno
==
126
);
#line 299 "sql.y"
{
yylhsminor
.
yy90
=
yymsp
[
-
1
].
minor
.
yy90
;
yylhsminor
.
yy90
.
keep
=
yymsp
[
0
].
minor
.
yy421
;
}
#line 3226 "sql.c"
yymsp
[
-
1
].
minor
.
yy90
=
yylhsminor
.
yy90
;
break
;
case
119
:
/* db_optr ::= db_optr update */
case
129
:
/* alter_db_optr ::= alter_db_optr update */
yytestcase
(
yyruleno
==
129
);
#line 300 "sql.y"
{
yylhsminor
.
yy90
=
yymsp
[
-
1
].
minor
.
yy90
;
yylhsminor
.
yy90
.
update
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 3233 "sql.c"
yymsp
[
-
1
].
minor
.
yy90
=
yylhsminor
.
yy90
;
break
;
case
120
:
/* db_optr ::= db_optr cachelast */
case
130
:
/* alter_db_optr ::= alter_db_optr cachelast */
yytestcase
(
yyruleno
==
130
);
#line 301 "sql.y"
{
yylhsminor
.
yy90
=
yymsp
[
-
1
].
minor
.
yy90
;
yylhsminor
.
yy90
.
cachelast
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 3240 "sql.c"
yymsp
[
-
1
].
minor
.
yy90
=
yylhsminor
.
yy90
;
break
;
case
121
:
/* topic_optr ::= db_optr */
case
131
:
/* alter_topic_optr ::= alter_db_optr */
yytestcase
(
yyruleno
==
131
);
#line 305 "sql.y"
{
yylhsminor
.
yy90
=
yymsp
[
0
].
minor
.
yy90
;
yylhsminor
.
yy90
.
dbType
=
TSDB_DB_TYPE_TOPIC
;
}
#line 3247 "sql.c"
yymsp
[
0
].
minor
.
yy90
=
yylhsminor
.
yy90
;
break
;
case
122
:
/* topic_optr ::= topic_optr partitions */
case
132
:
/* alter_topic_optr ::= alter_topic_optr partitions */
yytestcase
(
yyruleno
==
132
);
#line 306 "sql.y"
{
yylhsminor
.
yy90
=
yymsp
[
-
1
].
minor
.
yy90
;
yylhsminor
.
yy90
.
partitions
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 3254 "sql.c"
yymsp
[
-
1
].
minor
.
yy90
=
yylhsminor
.
yy90
;
break
;
case
123
:
/* alter_db_optr ::= */
#line 309 "sql.y"
{
setDefaultCreateDbOption
(
&
yymsp
[
1
].
minor
.
yy90
);
yymsp
[
1
].
minor
.
yy90
.
dbType
=
TSDB_DB_TYPE_DEFAULT
;}
#line 3260 "sql.c"
break
;
case
133
:
/* typename ::= ids */
#line 329 "sql.y"
{
yymsp
[
0
].
minor
.
yy0
.
type
=
0
;
tSetColumnType
(
&
yylhsminor
.
yy183
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 3268 "sql.c"
yymsp
[
0
].
minor
.
yy183
=
yylhsminor
.
yy183
;
break
;
case
134
:
/* typename ::= ids LP signed RP */
#line 335 "sql.y"
{
if
(
yymsp
[
-
1
].
minor
.
yy325
<=
0
)
{
yymsp
[
-
3
].
minor
.
yy0
.
type
=
0
;
...
...
@@ -2935,30 +3279,42 @@ static YYACTIONTYPE yy_reduce(
tSetColumnType
(
&
yylhsminor
.
yy183
,
&
yymsp
[
-
3
].
minor
.
yy0
);
}
}
#line 3282 "sql.c"
yymsp
[
-
3
].
minor
.
yy183
=
yylhsminor
.
yy183
;
break
;
case
135
:
/* typename ::= ids UNSIGNED */
#line 346 "sql.y"
{
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
);
tSetColumnType
(
&
yylhsminor
.
yy183
,
&
yymsp
[
-
1
].
minor
.
yy0
);
}
#line 3292 "sql.c"
yymsp
[
-
1
].
minor
.
yy183
=
yylhsminor
.
yy183
;
break
;
case
136
:
/* signed ::= INTEGER */
#line 353 "sql.y"
{
yylhsminor
.
yy325
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 3298 "sql.c"
yymsp
[
0
].
minor
.
yy325
=
yylhsminor
.
yy325
;
break
;
case
137
:
/* signed ::= PLUS INTEGER */
#line 354 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy325
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 3304 "sql.c"
break
;
case
138
:
/* signed ::= MINUS INTEGER */
#line 355 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy325
=
-
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);}
#line 3309 "sql.c"
break
;
case
142
:
/* cmd ::= CREATE TABLE create_table_list */
#line 361 "sql.y"
{
pInfo
->
type
=
TSDB_SQL_CREATE_TABLE
;
pInfo
->
pCreateTableInfo
=
yymsp
[
0
].
minor
.
yy438
;}
#line 3314 "sql.c"
break
;
case
143
:
/* create_table_list ::= create_from_stable */
#line 365 "sql.y"
{
SCreateTableSql
*
pCreateTable
=
calloc
(
1
,
sizeof
(
SCreateTableSql
));
pCreateTable
->
childTableInfo
=
taosArrayInit
(
4
,
sizeof
(
SCreatedTableInfo
));
...
...
@@ -2967,16 +3323,20 @@ static YYACTIONTYPE yy_reduce(
pCreateTable
->
type
=
TSQL_CREATE_TABLE_FROM_STABLE
;
yylhsminor
.
yy438
=
pCreateTable
;
}
#line 3326 "sql.c"
yymsp
[
0
].
minor
.
yy438
=
yylhsminor
.
yy438
;
break
;
case
144
:
/* create_table_list ::= create_table_list create_from_stable */
#line 374 "sql.y"
{
taosArrayPush
(
yymsp
[
-
1
].
minor
.
yy438
->
childTableInfo
,
&
yymsp
[
0
].
minor
.
yy152
);
yylhsminor
.
yy438
=
yymsp
[
-
1
].
minor
.
yy438
;
}
#line 3335 "sql.c"
yymsp
[
-
1
].
minor
.
yy438
=
yylhsminor
.
yy438
;
break
;
case
145
:
/* create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
#line 380 "sql.y"
{
yylhsminor
.
yy438
=
tSetCreateTableInfo
(
yymsp
[
-
1
].
minor
.
yy421
,
NULL
,
NULL
,
TSQL_CREATE_TABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy438
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
...
...
@@ -2984,9 +3344,11 @@ static YYACTIONTYPE yy_reduce(
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
setCreatedTableName
(
pInfo
,
&
yymsp
[
-
4
].
minor
.
yy0
,
&
yymsp
[
-
5
].
minor
.
yy0
);
}
#line 3347 "sql.c"
yymsp
[
-
5
].
minor
.
yy438
=
yylhsminor
.
yy438
;
break
;
case
146
:
/* create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
#line 390 "sql.y"
{
yylhsminor
.
yy438
=
tSetCreateTableInfo
(
yymsp
[
-
5
].
minor
.
yy421
,
yymsp
[
-
1
].
minor
.
yy421
,
NULL
,
TSQL_CREATE_STABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy438
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
...
...
@@ -2994,33 +3356,43 @@ static YYACTIONTYPE yy_reduce(
yymsp
[
-
8
].
minor
.
yy0
.
n
+=
yymsp
[
-
7
].
minor
.
yy0
.
n
;
setCreatedTableName
(
pInfo
,
&
yymsp
[
-
8
].
minor
.
yy0
,
&
yymsp
[
-
9
].
minor
.
yy0
);
}
#line 3359 "sql.c"
yymsp
[
-
9
].
minor
.
yy438
=
yylhsminor
.
yy438
;
break
;
case
147
:
/* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
#line 401 "sql.y"
{
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
yymsp
[
-
8
].
minor
.
yy0
.
n
+=
yymsp
[
-
7
].
minor
.
yy0
.
n
;
yylhsminor
.
yy152
=
createNewChildTableInfo
(
&
yymsp
[
-
5
].
minor
.
yy0
,
NULL
,
yymsp
[
-
1
].
minor
.
yy421
,
&
yymsp
[
-
8
].
minor
.
yy0
,
&
yymsp
[
-
9
].
minor
.
yy0
);
}
#line 3369 "sql.c"
yymsp
[
-
9
].
minor
.
yy152
=
yylhsminor
.
yy152
;
break
;
case
148
:
/* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */
#line 407 "sql.y"
{
yymsp
[
-
8
].
minor
.
yy0
.
n
+=
yymsp
[
-
7
].
minor
.
yy0
.
n
;
yymsp
[
-
11
].
minor
.
yy0
.
n
+=
yymsp
[
-
10
].
minor
.
yy0
.
n
;
yylhsminor
.
yy152
=
createNewChildTableInfo
(
&
yymsp
[
-
8
].
minor
.
yy0
,
yymsp
[
-
5
].
minor
.
yy421
,
yymsp
[
-
1
].
minor
.
yy421
,
&
yymsp
[
-
11
].
minor
.
yy0
,
&
yymsp
[
-
12
].
minor
.
yy0
);
}
#line 3379 "sql.c"
yymsp
[
-
12
].
minor
.
yy152
=
yylhsminor
.
yy152
;
break
;
case
149
:
/* tagNamelist ::= tagNamelist COMMA ids */
#line 415 "sql.y"
{
taosArrayPush
(
yymsp
[
-
2
].
minor
.
yy421
,
&
yymsp
[
0
].
minor
.
yy0
);
yylhsminor
.
yy421
=
yymsp
[
-
2
].
minor
.
yy421
;
}
#line 3385 "sql.c"
yymsp
[
-
2
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
150
:
/* tagNamelist ::= ids */
#line 416 "sql.y"
{
yylhsminor
.
yy421
=
taosArrayInit
(
4
,
sizeof
(
SStrToken
));
taosArrayPush
(
yylhsminor
.
yy421
,
&
yymsp
[
0
].
minor
.
yy0
);}
#line 3391 "sql.c"
yymsp
[
0
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
151
:
/* create_table_args ::= ifnotexists ids cpxName AS select */
#line 420 "sql.y"
{
yylhsminor
.
yy438
=
tSetCreateTableInfo
(
NULL
,
NULL
,
yymsp
[
0
].
minor
.
yy56
,
TSQL_CREATE_STREAM
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy438
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
...
...
@@ -3028,186 +3400,266 @@ static YYACTIONTYPE yy_reduce(
yymsp
[
-
3
].
minor
.
yy0
.
n
+=
yymsp
[
-
2
].
minor
.
yy0
.
n
;
setCreatedTableName
(
pInfo
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
4
].
minor
.
yy0
);
}
#line 3403 "sql.c"
yymsp
[
-
4
].
minor
.
yy438
=
yylhsminor
.
yy438
;
break
;
case
152
:
/* columnlist ::= columnlist COMMA column */
#line 431 "sql.y"
{
taosArrayPush
(
yymsp
[
-
2
].
minor
.
yy421
,
&
yymsp
[
0
].
minor
.
yy183
);
yylhsminor
.
yy421
=
yymsp
[
-
2
].
minor
.
yy421
;
}
#line 3409 "sql.c"
yymsp
[
-
2
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
153
:
/* columnlist ::= column */
#line 432 "sql.y"
{
yylhsminor
.
yy421
=
taosArrayInit
(
4
,
sizeof
(
TAOS_FIELD
));
taosArrayPush
(
yylhsminor
.
yy421
,
&
yymsp
[
0
].
minor
.
yy183
);}
#line 3415 "sql.c"
yymsp
[
0
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
154
:
/* column ::= ids typename */
#line 436 "sql.y"
{
tSetColumnInfo
(
&
yylhsminor
.
yy183
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy183
);
}
#line 3423 "sql.c"
yymsp
[
-
1
].
minor
.
yy183
=
yylhsminor
.
yy183
;
break
;
case
161
:
/* tagitem ::= NULL */
#line 451 "sql.y"
{
yymsp
[
0
].
minor
.
yy0
.
type
=
0
;
tVariantCreate
(
&
yylhsminor
.
yy430
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 3429 "sql.c"
yymsp
[
0
].
minor
.
yy430
=
yylhsminor
.
yy430
;
break
;
case
162
:
/* tagitem ::= NOW */
#line 452 "sql.y"
{
yymsp
[
0
].
minor
.
yy0
.
type
=
TSDB_DATA_TYPE_TIMESTAMP
;
tVariantCreate
(
&
yylhsminor
.
yy430
,
&
yymsp
[
0
].
minor
.
yy0
);}
#line 3435 "sql.c"
yymsp
[
0
].
minor
.
yy430
=
yylhsminor
.
yy430
;
break
;
case
163
:
/* tagitem ::= MINUS INTEGER */
case
164
:
/* tagitem ::= MINUS FLOAT */
yytestcase
(
yyruleno
==
164
);
case
165
:
/* tagitem ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
165
);
case
166
:
/* tagitem ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
166
);
#line 454 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
yymsp
[
0
].
minor
.
yy0
.
type
;
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
tVariantCreate
(
&
yylhsminor
.
yy430
,
&
yymsp
[
-
1
].
minor
.
yy0
);
}
#line 3449 "sql.c"
yymsp
[
-
1
].
minor
.
yy430
=
yylhsminor
.
yy430
;
break
;
case
167
:
/* select ::= SELECT selcollist from where_opt interval_option sliding_opt session_option windowstate_option fill_opt groupby_opt having_opt orderby_opt slimit_opt limit_opt */
#line 485 "sql.y"
{
yylhsminor
.
yy56
=
tSetQuerySqlNode
(
&
yymsp
[
-
13
].
minor
.
yy0
,
yymsp
[
-
12
].
minor
.
yy421
,
yymsp
[
-
11
].
minor
.
yy8
,
yymsp
[
-
10
].
minor
.
yy439
,
yymsp
[
-
4
].
minor
.
yy421
,
yymsp
[
-
2
].
minor
.
yy421
,
&
yymsp
[
-
9
].
minor
.
yy400
,
&
yymsp
[
-
7
].
minor
.
yy147
,
&
yymsp
[
-
6
].
minor
.
yy40
,
&
yymsp
[
-
8
].
minor
.
yy0
,
yymsp
[
-
5
].
minor
.
yy421
,
&
yymsp
[
0
].
minor
.
yy166
,
&
yymsp
[
-
1
].
minor
.
yy166
,
yymsp
[
-
3
].
minor
.
yy439
);
}
#line 3457 "sql.c"
yymsp
[
-
13
].
minor
.
yy56
=
yylhsminor
.
yy56
;
break
;
case
168
:
/* select ::= LP select RP */
#line 489 "sql.y"
{
yymsp
[
-
2
].
minor
.
yy56
=
yymsp
[
-
1
].
minor
.
yy56
;}
#line 3463 "sql.c"
break
;
case
169
:
/* union ::= select */
#line 493 "sql.y"
{
yylhsminor
.
yy421
=
setSubclause
(
NULL
,
yymsp
[
0
].
minor
.
yy56
);
}
#line 3468 "sql.c"
yymsp
[
0
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
170
:
/* union ::= union UNION ALL select */
#line 494 "sql.y"
{
yylhsminor
.
yy421
=
appendSelectClause
(
yymsp
[
-
3
].
minor
.
yy421
,
yymsp
[
0
].
minor
.
yy56
);
}
#line 3474 "sql.c"
yymsp
[
-
3
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
171
:
/* cmd ::= union */
#line 496 "sql.y"
{
setSqlInfo
(
pInfo
,
yymsp
[
0
].
minor
.
yy421
,
NULL
,
TSDB_SQL_SELECT
);
}
#line 3480 "sql.c"
break
;
case
172
:
/* select ::= SELECT selcollist */
#line 503 "sql.y"
{
yylhsminor
.
yy56
=
tSetQuerySqlNode
(
&
yymsp
[
-
1
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy421
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
);
}
#line 3487 "sql.c"
yymsp
[
-
1
].
minor
.
yy56
=
yylhsminor
.
yy56
;
break
;
case
173
:
/* sclp ::= selcollist COMMA */
#line 515 "sql.y"
{
yylhsminor
.
yy421
=
yymsp
[
-
1
].
minor
.
yy421
;}
#line 3493 "sql.c"
yymsp
[
-
1
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
174
:
/* sclp ::= */
case
206
:
/* orderby_opt ::= */
yytestcase
(
yyruleno
==
206
);
#line 516 "sql.y"
{
yymsp
[
1
].
minor
.
yy421
=
0
;}
#line 3500 "sql.c"
break
;
case
175
:
/* selcollist ::= sclp distinct expr as */
#line 517 "sql.y"
{
yylhsminor
.
yy421
=
tSqlExprListAppend
(
yymsp
[
-
3
].
minor
.
yy421
,
yymsp
[
-
1
].
minor
.
yy439
,
yymsp
[
-
2
].
minor
.
yy0
.
n
?
&
yymsp
[
-
2
].
minor
.
yy0
:
0
,
yymsp
[
0
].
minor
.
yy0
.
n
?&
yymsp
[
0
].
minor
.
yy0
:
0
);
}
#line 3507 "sql.c"
yymsp
[
-
3
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
176
:
/* selcollist ::= sclp STAR */
#line 521 "sql.y"
{
tSqlExpr
*
pNode
=
tSqlExprCreateIdValue
(
NULL
,
TK_ALL
);
tSqlExpr
*
pNode
=
tSqlExprCreateIdValue
(
pInfo
,
NULL
,
TK_ALL
);
yylhsminor
.
yy421
=
tSqlExprListAppend
(
yymsp
[
-
1
].
minor
.
yy421
,
pNode
,
0
,
0
);
}
#line 3516 "sql.c"
yymsp
[
-
1
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
177
:
/* as ::= AS ids */
#line 529 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
#line 3522 "sql.c"
break
;
case
178
:
/* as ::= ids */
#line 530 "sql.y"
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
#line 3527 "sql.c"
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
case
179
:
/* as ::= */
#line 531 "sql.y"
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
}
#line 3533 "sql.c"
break
;
case
180
:
/* distinct ::= DISTINCT */
#line 534 "sql.y"
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
#line 3538 "sql.c"
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
case
182
:
/* from ::= FROM tablelist */
case
183
:
/* from ::= FROM sub */
yytestcase
(
yyruleno
==
183
);
#line 540 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy8
=
yymsp
[
0
].
minor
.
yy8
;}
#line 3545 "sql.c"
break
;
case
184
:
/* sub ::= LP union RP */
#line 545 "sql.y"
{
yymsp
[
-
2
].
minor
.
yy8
=
addSubqueryElem
(
NULL
,
yymsp
[
-
1
].
minor
.
yy421
,
NULL
);}
#line 3550 "sql.c"
break
;
case
185
:
/* sub ::= LP union RP ids */
#line 546 "sql.y"
{
yymsp
[
-
3
].
minor
.
yy8
=
addSubqueryElem
(
NULL
,
yymsp
[
-
2
].
minor
.
yy421
,
&
yymsp
[
0
].
minor
.
yy0
);}
#line 3555 "sql.c"
break
;
case
186
:
/* sub ::= sub COMMA LP union RP ids */
#line 547 "sql.y"
{
yylhsminor
.
yy8
=
addSubqueryElem
(
yymsp
[
-
5
].
minor
.
yy8
,
yymsp
[
-
2
].
minor
.
yy421
,
&
yymsp
[
0
].
minor
.
yy0
);}
#line 3560 "sql.c"
yymsp
[
-
5
].
minor
.
yy8
=
yylhsminor
.
yy8
;
break
;
case
187
:
/* tablelist ::= ids cpxName */
#line 551 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yylhsminor
.
yy8
=
setTableNameList
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
);
}
#line 3569 "sql.c"
yymsp
[
-
1
].
minor
.
yy8
=
yylhsminor
.
yy8
;
break
;
case
188
:
/* tablelist ::= ids cpxName ids */
#line 556 "sql.y"
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
yymsp
[
-
1
].
minor
.
yy0
.
n
;
yylhsminor
.
yy8
=
setTableNameList
(
NULL
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 3578 "sql.c"
yymsp
[
-
2
].
minor
.
yy8
=
yylhsminor
.
yy8
;
break
;
case
189
:
/* tablelist ::= tablelist COMMA ids cpxName */
#line 561 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yylhsminor
.
yy8
=
setTableNameList
(
yymsp
[
-
3
].
minor
.
yy8
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
);
}
#line 3587 "sql.c"
yymsp
[
-
3
].
minor
.
yy8
=
yylhsminor
.
yy8
;
break
;
case
190
:
/* tablelist ::= tablelist COMMA ids cpxName ids */
#line 566 "sql.y"
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
yymsp
[
-
1
].
minor
.
yy0
.
n
;
yylhsminor
.
yy8
=
setTableNameList
(
yymsp
[
-
4
].
minor
.
yy8
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 3596 "sql.c"
yymsp
[
-
4
].
minor
.
yy8
=
yylhsminor
.
yy8
;
break
;
case
191
:
/* tmvar ::= VARIABLE */
#line 573 "sql.y"
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;}
#line 3602 "sql.c"
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
case
192
:
/* interval_option ::= intervalKey LP tmvar RP */
#line 576 "sql.y"
{
yylhsminor
.
yy400
.
interval
=
yymsp
[
-
1
].
minor
.
yy0
;
yylhsminor
.
yy400
.
offset
.
n
=
0
;
yylhsminor
.
yy400
.
token
=
yymsp
[
-
3
].
minor
.
yy104
;}
#line 3608 "sql.c"
yymsp
[
-
3
].
minor
.
yy400
=
yylhsminor
.
yy400
;
break
;
case
193
:
/* interval_option ::= intervalKey LP tmvar COMMA tmvar RP */
#line 577 "sql.y"
{
yylhsminor
.
yy400
.
interval
=
yymsp
[
-
3
].
minor
.
yy0
;
yylhsminor
.
yy400
.
offset
=
yymsp
[
-
1
].
minor
.
yy0
;
yylhsminor
.
yy400
.
token
=
yymsp
[
-
5
].
minor
.
yy104
;}
#line 3614 "sql.c"
yymsp
[
-
5
].
minor
.
yy400
=
yylhsminor
.
yy400
;
break
;
case
194
:
/* interval_option ::= */
#line 578 "sql.y"
{
memset
(
&
yymsp
[
1
].
minor
.
yy400
,
0
,
sizeof
(
yymsp
[
1
].
minor
.
yy400
));}
#line 3620 "sql.c"
break
;
case
195
:
/* intervalKey ::= INTERVAL */
#line 581 "sql.y"
{
yymsp
[
0
].
minor
.
yy104
=
TK_INTERVAL
;}
#line 3625 "sql.c"
break
;
case
196
:
/* intervalKey ::= EVERY */
#line 582 "sql.y"
{
yymsp
[
0
].
minor
.
yy104
=
TK_EVERY
;
}
#line 3630 "sql.c"
break
;
case
197
:
/* session_option ::= */
#line 585 "sql.y"
{
yymsp
[
1
].
minor
.
yy147
.
col
.
n
=
0
;
yymsp
[
1
].
minor
.
yy147
.
gap
.
n
=
0
;}
#line 3635 "sql.c"
break
;
case
198
:
/* session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
#line 586 "sql.y"
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
yymsp
[
-
6
].
minor
.
yy147
.
col
=
yymsp
[
-
4
].
minor
.
yy0
;
yymsp
[
-
6
].
minor
.
yy147
.
gap
=
yymsp
[
-
1
].
minor
.
yy0
;
}
#line 3644 "sql.c"
break
;
case
199
:
/* windowstate_option ::= */
#line 593 "sql.y"
{
yymsp
[
1
].
minor
.
yy40
.
col
.
n
=
0
;
yymsp
[
1
].
minor
.
yy40
.
col
.
z
=
NULL
;}
#line 3649 "sql.c"
break
;
case
200
:
/* windowstate_option ::= STATE_WINDOW LP ids RP */
#line 594 "sql.y"
{
yymsp
[
-
3
].
minor
.
yy40
.
col
=
yymsp
[
-
1
].
minor
.
yy0
;
}
#line 3654 "sql.c"
break
;
case
201
:
/* fill_opt ::= */
#line 598 "sql.y"
{
yymsp
[
1
].
minor
.
yy421
=
0
;
}
#line 3659 "sql.c"
break
;
case
202
:
/* fill_opt ::= FILL LP ID COMMA tagitemlist RP */
#line 599 "sql.y"
{
tVariant
A
=
{
0
};
toTSDBType
(
yymsp
[
-
3
].
minor
.
yy0
.
type
);
...
...
@@ -3216,272 +3668,402 @@ static YYACTIONTYPE yy_reduce(
tVariantListInsert
(
yymsp
[
-
1
].
minor
.
yy421
,
&
A
,
-
1
,
0
);
yymsp
[
-
5
].
minor
.
yy421
=
yymsp
[
-
1
].
minor
.
yy421
;
}
#line 3671 "sql.c"
break
;
case
203
:
/* fill_opt ::= FILL LP ID RP */
#line 608 "sql.y"
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
3
].
minor
.
yy421
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
);
}
#line 3679 "sql.c"
break
;
case
204
:
/* sliding_opt ::= SLIDING LP tmvar RP */
#line 614 "sql.y"
{
yymsp
[
-
3
].
minor
.
yy0
=
yymsp
[
-
1
].
minor
.
yy0
;
}
#line 3684 "sql.c"
break
;
case
205
:
/* sliding_opt ::= */
#line 615 "sql.y"
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
yymsp
[
1
].
minor
.
yy0
.
z
=
NULL
;
yymsp
[
1
].
minor
.
yy0
.
type
=
0
;
}
#line 3689 "sql.c"
break
;
case
207
:
/* orderby_opt ::= ORDER BY sortlist */
#line 627 "sql.y"
{
yymsp
[
-
2
].
minor
.
yy421
=
yymsp
[
0
].
minor
.
yy421
;}
#line 3694 "sql.c"
break
;
case
208
:
/* sortlist ::= sortlist COMMA item sortorder */
#line 629 "sql.y"
{
yylhsminor
.
yy421
=
tVariantListAppend
(
yymsp
[
-
3
].
minor
.
yy421
,
&
yymsp
[
-
1
].
minor
.
yy430
,
yymsp
[
0
].
minor
.
yy96
);
}
#line 3701 "sql.c"
yymsp
[
-
3
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
209
:
/* sortlist ::= item sortorder */
#line 633 "sql.y"
{
yylhsminor
.
yy421
=
tVariantListAppend
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy430
,
yymsp
[
0
].
minor
.
yy96
);
}
#line 3709 "sql.c"
yymsp
[
-
1
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
210
:
/* item ::= ids cpxName */
#line 638 "sql.y"
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
tVariantCreate
(
&
yylhsminor
.
yy430
,
&
yymsp
[
-
1
].
minor
.
yy0
);
}
#line 3720 "sql.c"
yymsp
[
-
1
].
minor
.
yy430
=
yylhsminor
.
yy430
;
break
;
case
211
:
/* sortorder ::= ASC */
#line 646 "sql.y"
{
yymsp
[
0
].
minor
.
yy96
=
TSDB_ORDER_ASC
;
}
#line 3726 "sql.c"
break
;
case
212
:
/* sortorder ::= DESC */
#line 647 "sql.y"
{
yymsp
[
0
].
minor
.
yy96
=
TSDB_ORDER_DESC
;}
#line 3731 "sql.c"
break
;
case
213
:
/* sortorder ::= */
#line 648 "sql.y"
{
yymsp
[
1
].
minor
.
yy96
=
TSDB_ORDER_ASC
;
}
#line 3736 "sql.c"
break
;
case
214
:
/* groupby_opt ::= */
#line 656 "sql.y"
{
yymsp
[
1
].
minor
.
yy421
=
0
;}
#line 3741 "sql.c"
break
;
case
215
:
/* groupby_opt ::= GROUP BY grouplist */
#line 657 "sql.y"
{
yymsp
[
-
2
].
minor
.
yy421
=
yymsp
[
0
].
minor
.
yy421
;}
#line 3746 "sql.c"
break
;
case
216
:
/* grouplist ::= grouplist COMMA item */
#line 659 "sql.y"
{
yylhsminor
.
yy421
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy421
,
&
yymsp
[
0
].
minor
.
yy430
,
-
1
);
}
#line 3753 "sql.c"
yymsp
[
-
2
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
217
:
/* grouplist ::= item */
#line 663 "sql.y"
{
yylhsminor
.
yy421
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy430
,
-
1
);
}
#line 3761 "sql.c"
yymsp
[
0
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
218
:
/* having_opt ::= */
case
228
:
/* where_opt ::= */
yytestcase
(
yyruleno
==
228
);
case
272
:
/* expritem ::= */
yytestcase
(
yyruleno
==
272
);
#line 670 "sql.y"
{
yymsp
[
1
].
minor
.
yy439
=
0
;}
#line 3769 "sql.c"
break
;
case
219
:
/* having_opt ::= HAVING expr */
case
229
:
/* where_opt ::= WHERE expr */
yytestcase
(
yyruleno
==
229
);
#line 671 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy439
=
yymsp
[
0
].
minor
.
yy439
;}
#line 3775 "sql.c"
break
;
case
220
:
/* limit_opt ::= */
case
224
:
/* slimit_opt ::= */
yytestcase
(
yyruleno
==
224
);
#line 675 "sql.y"
{
yymsp
[
1
].
minor
.
yy166
.
limit
=
-
1
;
yymsp
[
1
].
minor
.
yy166
.
offset
=
0
;}
#line 3781 "sql.c"
break
;
case
221
:
/* limit_opt ::= LIMIT signed */
case
225
:
/* slimit_opt ::= SLIMIT signed */
yytestcase
(
yyruleno
==
225
);
#line 676 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy166
.
limit
=
yymsp
[
0
].
minor
.
yy325
;
yymsp
[
-
1
].
minor
.
yy166
.
offset
=
0
;}
#line 3787 "sql.c"
break
;
case
222
:
/* limit_opt ::= LIMIT signed OFFSET signed */
#line 678 "sql.y"
{
yymsp
[
-
3
].
minor
.
yy166
.
limit
=
yymsp
[
-
2
].
minor
.
yy325
;
yymsp
[
-
3
].
minor
.
yy166
.
offset
=
yymsp
[
0
].
minor
.
yy325
;}
#line 3792 "sql.c"
break
;
case
223
:
/* limit_opt ::= LIMIT signed COMMA signed */
#line 680 "sql.y"
{
yymsp
[
-
3
].
minor
.
yy166
.
limit
=
yymsp
[
0
].
minor
.
yy325
;
yymsp
[
-
3
].
minor
.
yy166
.
offset
=
yymsp
[
-
2
].
minor
.
yy325
;}
#line 3797 "sql.c"
break
;
case
226
:
/* slimit_opt ::= SLIMIT signed SOFFSET signed */
#line 686 "sql.y"
{
yymsp
[
-
3
].
minor
.
yy166
.
limit
=
yymsp
[
-
2
].
minor
.
yy325
;
yymsp
[
-
3
].
minor
.
yy166
.
offset
=
yymsp
[
0
].
minor
.
yy325
;}
#line 3802 "sql.c"
break
;
case
227
:
/* slimit_opt ::= SLIMIT signed COMMA signed */
#line 688 "sql.y"
{
yymsp
[
-
3
].
minor
.
yy166
.
limit
=
yymsp
[
0
].
minor
.
yy325
;
yymsp
[
-
3
].
minor
.
yy166
.
offset
=
yymsp
[
-
2
].
minor
.
yy325
;}
#line 3807 "sql.c"
break
;
case
230
:
/* expr ::= LP expr RP */
#line 701 "sql.y"
{
yylhsminor
.
yy439
=
yymsp
[
-
1
].
minor
.
yy439
;
yylhsminor
.
yy439
->
exprToken
.
z
=
yymsp
[
-
2
].
minor
.
yy0
.
z
;
yylhsminor
.
yy439
->
exprToken
.
n
=
(
yymsp
[
0
].
minor
.
yy0
.
z
-
yymsp
[
-
2
].
minor
.
yy0
.
z
+
1
);}
#line 3812 "sql.c"
yymsp
[
-
2
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
231
:
/* expr ::= ID */
{
yylhsminor
.
yy439
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_ID
);}
#line 703 "sql.y"
{
yylhsminor
.
yy439
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_ID
);}
#line 3818 "sql.c"
yymsp
[
0
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
232
:
/* expr ::= ID DOT ID */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy439
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ID
);}
#line 704 "sql.y"
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy439
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ID
);}
#line 3824 "sql.c"
yymsp
[
-
2
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
233
:
/* expr ::= ID DOT STAR */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy439
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ALL
);}
#line 705 "sql.y"
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy439
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ALL
);}
#line 3830 "sql.c"
yymsp
[
-
2
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
234
:
/* expr ::= INTEGER */
{
yylhsminor
.
yy439
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_INTEGER
);}
#line 707 "sql.y"
{
yylhsminor
.
yy439
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_INTEGER
);}
#line 3836 "sql.c"
yymsp
[
0
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
235
:
/* expr ::= MINUS INTEGER */
case
236
:
/* expr ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
236
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_INTEGER
;
yylhsminor
.
yy439
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_INTEGER
);}
#line 708 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_INTEGER
;
yylhsminor
.
yy439
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_INTEGER
);}
#line 3843 "sql.c"
yymsp
[
-
1
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
237
:
/* expr ::= FLOAT */
{
yylhsminor
.
yy439
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_FLOAT
);}
#line 710 "sql.y"
{
yylhsminor
.
yy439
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_FLOAT
);}
#line 3849 "sql.c"
yymsp
[
0
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
238
:
/* expr ::= MINUS FLOAT */
case
239
:
/* expr ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
239
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_FLOAT
;
yylhsminor
.
yy439
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_FLOAT
);}
#line 711 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_FLOAT
;
yylhsminor
.
yy439
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_FLOAT
);}
#line 3856 "sql.c"
yymsp
[
-
1
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
240
:
/* expr ::= STRING */
{
yylhsminor
.
yy439
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);}
#line 713 "sql.y"
{
yylhsminor
.
yy439
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);}
#line 3862 "sql.c"
yymsp
[
0
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
241
:
/* expr ::= NOW */
{
yylhsminor
.
yy439
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NOW
);
}
#line 714 "sql.y"
{
yylhsminor
.
yy439
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_NOW
);
}
#line 3868 "sql.c"
yymsp
[
0
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
242
:
/* expr ::= VARIABLE */
{
yylhsminor
.
yy439
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_VARIABLE
);}
#line 715 "sql.y"
{
yylhsminor
.
yy439
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_VARIABLE
);}
#line 3874 "sql.c"
yymsp
[
0
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
243
:
/* expr ::= PLUS VARIABLE */
case
244
:
/* expr ::= MINUS VARIABLE */
yytestcase
(
yyruleno
==
244
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_VARIABLE
;
yylhsminor
.
yy439
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_VARIABLE
);}
#line 716 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_VARIABLE
;
yylhsminor
.
yy439
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_VARIABLE
);}
#line 3881 "sql.c"
yymsp
[
-
1
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
245
:
/* expr ::= BOOL */
{
yylhsminor
.
yy439
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_BOOL
);}
#line 718 "sql.y"
{
yylhsminor
.
yy439
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_BOOL
);}
#line 3887 "sql.c"
yymsp
[
0
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
246
:
/* expr ::= NULL */
{
yylhsminor
.
yy439
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NULL
);}
#line 719 "sql.y"
{
yylhsminor
.
yy439
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_NULL
);}
#line 3893 "sql.c"
yymsp
[
0
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
247
:
/* expr ::= ID LP exprlist RP */
#line 722 "sql.y"
{
tStrTokenAppend
(
pInfo
->
funcs
,
&
yymsp
[
-
3
].
minor
.
yy0
);
yylhsminor
.
yy439
=
tSqlExprCreateFunction
(
yymsp
[
-
1
].
minor
.
yy421
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
#line 3899 "sql.c"
yymsp
[
-
3
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
248
:
/* expr ::= ID LP STAR RP */
#line 725 "sql.y"
{
tStrTokenAppend
(
pInfo
->
funcs
,
&
yymsp
[
-
3
].
minor
.
yy0
);
yylhsminor
.
yy439
=
tSqlExprCreateFunction
(
NULL
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
#line 3905 "sql.c"
yymsp
[
-
3
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
249
:
/* expr ::= expr IS NULL */
#line 728 "sql.y"
{
yylhsminor
.
yy439
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy439
,
NULL
,
TK_ISNULL
);}
#line 3911 "sql.c"
yymsp
[
-
2
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
250
:
/* expr ::= expr IS NOT NULL */
#line 729 "sql.y"
{
yylhsminor
.
yy439
=
tSqlExprCreate
(
yymsp
[
-
3
].
minor
.
yy439
,
NULL
,
TK_NOTNULL
);}
#line 3917 "sql.c"
yymsp
[
-
3
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
251
:
/* expr ::= expr LT expr */
#line 732 "sql.y"
{
yylhsminor
.
yy439
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy439
,
yymsp
[
0
].
minor
.
yy439
,
TK_LT
);}
#line 3923 "sql.c"
yymsp
[
-
2
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
252
:
/* expr ::= expr GT expr */
#line 733 "sql.y"
{
yylhsminor
.
yy439
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy439
,
yymsp
[
0
].
minor
.
yy439
,
TK_GT
);}
#line 3929 "sql.c"
yymsp
[
-
2
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
253
:
/* expr ::= expr LE expr */
#line 734 "sql.y"
{
yylhsminor
.
yy439
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy439
,
yymsp
[
0
].
minor
.
yy439
,
TK_LE
);}
#line 3935 "sql.c"
yymsp
[
-
2
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
254
:
/* expr ::= expr GE expr */
#line 735 "sql.y"
{
yylhsminor
.
yy439
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy439
,
yymsp
[
0
].
minor
.
yy439
,
TK_GE
);}
#line 3941 "sql.c"
yymsp
[
-
2
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
255
:
/* expr ::= expr NE expr */
#line 736 "sql.y"
{
yylhsminor
.
yy439
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy439
,
yymsp
[
0
].
minor
.
yy439
,
TK_NE
);}
#line 3947 "sql.c"
yymsp
[
-
2
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
256
:
/* expr ::= expr EQ expr */
#line 737 "sql.y"
{
yylhsminor
.
yy439
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy439
,
yymsp
[
0
].
minor
.
yy439
,
TK_EQ
);}
#line 3953 "sql.c"
yymsp
[
-
2
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
257
:
/* expr ::= expr BETWEEN expr AND expr */
#line 739 "sql.y"
{
tSqlExpr
*
X2
=
tSqlExprClone
(
yymsp
[
-
4
].
minor
.
yy439
);
yylhsminor
.
yy439
=
tSqlExprCreate
(
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy439
,
yymsp
[
-
2
].
minor
.
yy439
,
TK_GE
),
tSqlExprCreate
(
X2
,
yymsp
[
0
].
minor
.
yy439
,
TK_LE
),
TK_AND
);}
#line 3959 "sql.c"
yymsp
[
-
4
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
258
:
/* expr ::= expr AND expr */
#line 741 "sql.y"
{
yylhsminor
.
yy439
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy439
,
yymsp
[
0
].
minor
.
yy439
,
TK_AND
);}
#line 3965 "sql.c"
yymsp
[
-
2
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
259
:
/* expr ::= expr OR expr */
#line 742 "sql.y"
{
yylhsminor
.
yy439
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy439
,
yymsp
[
0
].
minor
.
yy439
,
TK_OR
);
}
#line 3971 "sql.c"
yymsp
[
-
2
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
260
:
/* expr ::= expr PLUS expr */
#line 745 "sql.y"
{
yylhsminor
.
yy439
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy439
,
yymsp
[
0
].
minor
.
yy439
,
TK_PLUS
);
}
#line 3977 "sql.c"
yymsp
[
-
2
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
261
:
/* expr ::= expr MINUS expr */
#line 746 "sql.y"
{
yylhsminor
.
yy439
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy439
,
yymsp
[
0
].
minor
.
yy439
,
TK_MINUS
);
}
#line 3983 "sql.c"
yymsp
[
-
2
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
262
:
/* expr ::= expr STAR expr */
#line 747 "sql.y"
{
yylhsminor
.
yy439
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy439
,
yymsp
[
0
].
minor
.
yy439
,
TK_STAR
);
}
#line 3989 "sql.c"
yymsp
[
-
2
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
263
:
/* expr ::= expr SLASH expr */
#line 748 "sql.y"
{
yylhsminor
.
yy439
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy439
,
yymsp
[
0
].
minor
.
yy439
,
TK_DIVIDE
);}
#line 3995 "sql.c"
yymsp
[
-
2
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
264
:
/* expr ::= expr REM expr */
#line 749 "sql.y"
{
yylhsminor
.
yy439
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy439
,
yymsp
[
0
].
minor
.
yy439
,
TK_REM
);
}
#line 4001 "sql.c"
yymsp
[
-
2
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
265
:
/* expr ::= expr LIKE expr */
#line 752 "sql.y"
{
yylhsminor
.
yy439
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy439
,
yymsp
[
0
].
minor
.
yy439
,
TK_LIKE
);
}
#line 4007 "sql.c"
yymsp
[
-
2
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
266
:
/* expr ::= expr MATCH expr */
#line 755 "sql.y"
{
yylhsminor
.
yy439
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy439
,
yymsp
[
0
].
minor
.
yy439
,
TK_MATCH
);
}
#line 4013 "sql.c"
yymsp
[
-
2
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
267
:
/* expr ::= expr NMATCH expr */
#line 756 "sql.y"
{
yylhsminor
.
yy439
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy439
,
yymsp
[
0
].
minor
.
yy439
,
TK_NMATCH
);
}
#line 4019 "sql.c"
yymsp
[
-
2
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
268
:
/* expr ::= expr IN LP exprlist RP */
#line 759 "sql.y"
{
yylhsminor
.
yy439
=
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy439
,
(
tSqlExpr
*
)
yymsp
[
-
1
].
minor
.
yy421
,
TK_IN
);
}
#line 4025 "sql.c"
yymsp
[
-
4
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
269
:
/* exprlist ::= exprlist COMMA expritem */
#line 767 "sql.y"
{
yylhsminor
.
yy421
=
tSqlExprListAppend
(
yymsp
[
-
2
].
minor
.
yy421
,
yymsp
[
0
].
minor
.
yy439
,
0
,
0
);}
#line 4031 "sql.c"
yymsp
[
-
2
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
270
:
/* exprlist ::= expritem */
#line 768 "sql.y"
{
yylhsminor
.
yy421
=
tSqlExprListAppend
(
0
,
yymsp
[
0
].
minor
.
yy439
,
0
,
0
);}
#line 4037 "sql.c"
yymsp
[
0
].
minor
.
yy421
=
yylhsminor
.
yy421
;
break
;
case
271
:
/* expritem ::= expr */
#line 769 "sql.y"
{
yylhsminor
.
yy439
=
yymsp
[
0
].
minor
.
yy439
;}
#line 4043 "sql.c"
yymsp
[
0
].
minor
.
yy439
=
yylhsminor
.
yy439
;
break
;
case
273
:
/* cmd ::= RESET QUERY CACHE */
#line 773 "sql.y"
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_RESET_CACHE
,
0
);}
#line 4049 "sql.c"
break
;
case
274
:
/* cmd ::= SYNCDB ids REPLICA */
#line 776 "sql.y"
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_SYNC_DB_REPLICA
,
1
,
&
yymsp
[
-
1
].
minor
.
yy0
);}
#line 4054 "sql.c"
break
;
case
275
:
/* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
#line 779 "sql.y"
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy421
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 4063 "sql.c"
break
;
case
276
:
/* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
#line 785 "sql.y"
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
...
@@ -3491,22 +4073,28 @@ static YYACTIONTYPE yy_reduce(
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
NULL
,
K
,
TSDB_ALTER_TABLE_DROP_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 4076 "sql.c"
break
;
case
277
:
/* cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */
#line 795 "sql.y"
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy421
,
NULL
,
TSDB_ALTER_TABLE_CHANGE_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 4085 "sql.c"
break
;
case
278
:
/* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
#line 802 "sql.y"
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy421
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 4094 "sql.c"
break
;
case
279
:
/* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
#line 807 "sql.y"
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
...
@@ -3516,8 +4104,10 @@ static YYACTIONTYPE yy_reduce(
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
NULL
,
A
,
TSDB_ALTER_TABLE_DROP_TAG_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 4107 "sql.c"
break
;
case
280
:
/* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
#line 817 "sql.y"
{
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
...
...
@@ -3530,8 +4120,10 @@ static YYACTIONTYPE yy_reduce(
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
5
].
minor
.
yy0
,
NULL
,
A
,
TSDB_ALTER_TABLE_CHANGE_TAG_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 4123 "sql.c"
break
;
case
281
:
/* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
#line 830 "sql.y"
{
yymsp
[
-
6
].
minor
.
yy0
.
n
+=
yymsp
[
-
5
].
minor
.
yy0
.
n
;
...
...
@@ -3542,22 +4134,28 @@ static YYACTIONTYPE yy_reduce(
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
6
].
minor
.
yy0
,
NULL
,
A
,
TSDB_ALTER_TABLE_UPDATE_TAG_VAL
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 4137 "sql.c"
break
;
case
282
:
/* cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */
#line 841 "sql.y"
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy421
,
NULL
,
TSDB_ALTER_TABLE_MODIFY_TAG_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 4146 "sql.c"
break
;
case
283
:
/* cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
#line 848 "sql.y"
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
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
);
}
#line 4155 "sql.c"
break
;
case
284
:
/* cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
#line 854 "sql.y"
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
...
@@ -3567,22 +4165,28 @@ static YYACTIONTYPE yy_reduce(
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
NULL
,
K
,
TSDB_ALTER_TABLE_DROP_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 4168 "sql.c"
break
;
case
285
:
/* cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */
#line 864 "sql.y"
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy421
,
NULL
,
TSDB_ALTER_TABLE_CHANGE_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 4177 "sql.c"
break
;
case
286
:
/* cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
#line 871 "sql.y"
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
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
);
}
#line 4186 "sql.c"
break
;
case
287
:
/* cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
#line 876 "sql.y"
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
...
@@ -3592,8 +4196,10 @@ static YYACTIONTYPE yy_reduce(
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
NULL
,
A
,
TSDB_ALTER_TABLE_DROP_TAG_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 4199 "sql.c"
break
;
case
288
:
/* cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
#line 886 "sql.y"
{
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
...
...
@@ -3606,8 +4212,10 @@ static YYACTIONTYPE yy_reduce(
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
5
].
minor
.
yy0
,
NULL
,
A
,
TSDB_ALTER_TABLE_CHANGE_TAG_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 4215 "sql.c"
break
;
case
289
:
/* cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */
#line 899 "sql.y"
{
yymsp
[
-
6
].
minor
.
yy0
.
n
+=
yymsp
[
-
5
].
minor
.
yy0
.
n
;
...
...
@@ -3618,22 +4226,31 @@ static YYACTIONTYPE yy_reduce(
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
6
].
minor
.
yy0
,
NULL
,
A
,
TSDB_ALTER_TABLE_UPDATE_TAG_VAL
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 4229 "sql.c"
break
;
case
290
:
/* cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */
#line 910 "sql.y"
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy421
,
NULL
,
TSDB_ALTER_TABLE_MODIFY_TAG_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 4238 "sql.c"
break
;
case
291
:
/* cmd ::= KILL CONNECTION INTEGER */
#line 917 "sql.y"
{
setKillSql
(
pInfo
,
TSDB_SQL_KILL_CONNECTION
,
&
yymsp
[
0
].
minor
.
yy0
);}
#line 4243 "sql.c"
break
;
case
292
:
/* cmd ::= KILL STREAM INTEGER COLON INTEGER */
#line 918 "sql.y"
{
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
);}
#line 4248 "sql.c"
break
;
case
293
:
/* cmd ::= KILL QUERY INTEGER COLON INTEGER */
#line 919 "sql.y"
{
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
);}
#line 4253 "sql.c"
break
;
default:
break
;
...
...
@@ -3695,6 +4312,7 @@ static void yy_syntax_error(
ParseCTX_FETCH
#define TOKEN yyminor
/************ Begin %syntax_error code ****************************************/
#line 37 "sql.y"
pInfo
->
valid
=
false
;
int32_t
outputBufLen
=
tListLen
(
pInfo
->
msg
);
...
...
@@ -3717,6 +4335,7 @@ static void yy_syntax_error(
}
assert
(
len
<=
outputBufLen
);
#line 4338 "sql.c"
/************ End %syntax_error code ******************************************/
ParseARG_STORE
/* Suppress warning about unused %extra_argument variable */
ParseCTX_STORE
...
...
@@ -3742,7 +4361,8 @@ static void yy_accept(
/* Here code is inserted which will be executed whenever the
** parser accepts */
/*********** Begin %parse_accept code *****************************************/
#line 61 "sql.y"
#line 4365 "sql.c"
/*********** End %parse_accept code *******************************************/
ParseARG_STORE
/* Suppress warning about unused %extra_argument variable */
ParseCTX_STORE
...
...
@@ -3803,12 +4423,56 @@ void Parse(
}
#endif
do
{
while
(
1
){
/* Exit by "break" */
assert
(
yypParser
->
yytos
>=
yypParser
->
yystack
);
assert
(
yyact
==
yypParser
->
yytos
->
stateno
);
yyact
=
yy_find_shift_action
((
YYCODETYPE
)
yymajor
,
yyact
);
if
(
yyact
>=
YY_MIN_REDUCE
){
yyact
=
yy_reduce
(
yypParser
,
yyact
-
YY_MIN_REDUCE
,
yymajor
,
yyminor
ParseCTX_PARAM
);
unsigned
int
yyruleno
=
yyact
-
YY_MIN_REDUCE
;
/* Reduce by this rule */
assert
(
yyruleno
<
(
int
)(
sizeof
(
yyRuleName
)
/
sizeof
(
yyRuleName
[
0
]))
);
#ifndef NDEBUG
if
(
yyTraceFILE
){
int
yysize
=
yyRuleInfoNRhs
[
yyruleno
];
if
(
yysize
){
fprintf
(
yyTraceFILE
,
"%sReduce %d [%s]%s, pop back to state %d.
\n
"
,
yyTracePrompt
,
yyruleno
,
yyRuleName
[
yyruleno
],
yyruleno
<
YYNRULE_WITH_ACTION
?
""
:
" without external action"
,
yypParser
->
yytos
[
yysize
].
stateno
);
}
else
{
fprintf
(
yyTraceFILE
,
"%sReduce %d [%s]%s.
\n
"
,
yyTracePrompt
,
yyruleno
,
yyRuleName
[
yyruleno
],
yyruleno
<
YYNRULE_WITH_ACTION
?
""
:
" without external action"
);
}
}
#endif
/* NDEBUG */
/* Check that the stack is large enough to grow by a single entry
** if the RHS of the rule is empty. This ensures that there is room
** enough on the stack to push the LHS value */
if
(
yyRuleInfoNRhs
[
yyruleno
]
==
0
){
#ifdef YYTRACKMAXSTACKDEPTH
if
(
(
int
)(
yypParser
->
yytos
-
yypParser
->
yystack
)
>
yypParser
->
yyhwm
){
yypParser
->
yyhwm
++
;
assert
(
yypParser
->
yyhwm
==
(
int
)(
yypParser
->
yytos
-
yypParser
->
yystack
));
}
#endif
#if YYSTACKDEPTH>0
if
(
yypParser
->
yytos
>=
yypParser
->
yystackEnd
){
yyStackOverflow
(
yypParser
);
break
;
}
#else
if
(
yypParser
->
yytos
>=&
yypParser
->
yystack
[
yypParser
->
yystksz
-
1
]
){
if
(
yyGrowStack
(
yypParser
)
){
yyStackOverflow
(
yypParser
);
break
;
}
}
#endif
}
yyact
=
yy_reduce
(
yypParser
,
yyruleno
,
yymajor
,
yyminor
ParseCTX_PARAM
);
}
else
if
(
yyact
<=
YY_MAX_SHIFTREDUCE
){
yy_shift
(
yypParser
,
yyact
,(
YYCODETYPE
)
yymajor
,
yyminor
);
#ifndef YYNOERRORRECOVERY
...
...
@@ -3864,14 +4528,13 @@ void Parse(
yy_destructor
(
yypParser
,
(
YYCODETYPE
)
yymajor
,
&
yyminorunion
);
yymajor
=
YYNOCODE
;
}
else
{
while
(
yypParser
->
yytos
>=
yypParser
->
yystack
&&
(
yyact
=
yy_find_reduce_action
(
yypParser
->
yytos
->
stateno
,
YYERRORSYMBOL
))
>
YY_MAX_SHIFTREDUCE
){
while
(
yypParser
->
yytos
>
yypParser
->
yystack
){
yyact
=
yy_find_reduce_action
(
yypParser
->
yytos
->
stateno
,
YYERRORSYMBOL
);
if
(
yyact
<=
YY_MAX_SHIFTREDUCE
)
break
;
yy_pop_parser_stack
(
yypParser
);
}
if
(
yypParser
->
yytos
<
yypParser
->
yystack
||
yymajor
==
0
){
if
(
yypParser
->
yytos
<
=
yypParser
->
yystack
||
yymajor
==
0
){
yy_destructor
(
yypParser
,(
YYCODETYPE
)
yymajor
,
&
yyminorunion
);
yy_parse_failed
(
yypParser
);
#ifndef YYNOERRORRECOVERY
...
...
@@ -3921,7 +4584,7 @@ void Parse(
break
;
#endif
}
}
while
(
yypParser
->
yytos
>
yypParser
->
yystack
);
}
#ifndef NDEBUG
if
(
yyTraceFILE
){
yyStackEntry
*
i
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录