提交 162a11ac 编写于 作者: wmmhello's avatar wmmhello

fix error tips because of overflowing of convert time precision & invalidate...

fix error tips because of overflowing of convert time precision & invalidate tips in function of derivative
上级 c75eb889
......@@ -343,15 +343,20 @@ int64_t convertTimePrecision(int64_t time, int32_t fromPrecision, int32_t toPrec
assert(toPrecision == TSDB_TIME_PRECISION_MILLI ||
toPrecision == TSDB_TIME_PRECISION_MICRO ||
toPrecision == TSDB_TIME_PRECISION_NANO);
double tempResult = time;
switch(fromPrecision) {
case TSDB_TIME_PRECISION_MILLI: {
switch (toPrecision) {
case TSDB_TIME_PRECISION_MILLI:
return time;
case TSDB_TIME_PRECISION_MICRO:
return time * 1000;
tempResult *= 1000;
time *= 1000;
goto end_;
case TSDB_TIME_PRECISION_NANO:
return time * 1000000;
tempResult *= 1000000;
time *= 1000000;
goto end_;
}
} // end from milli
case TSDB_TIME_PRECISION_MICRO: {
......@@ -361,7 +366,9 @@ int64_t convertTimePrecision(int64_t time, int32_t fromPrecision, int32_t toPrec
case TSDB_TIME_PRECISION_MICRO:
return time;
case TSDB_TIME_PRECISION_NANO:
return time * 1000;
tempResult *= 1000;
time *= 1000;
goto end_;
}
} //end from micro
case TSDB_TIME_PRECISION_NANO: {
......@@ -379,6 +386,10 @@ int64_t convertTimePrecision(int64_t time, int32_t fromPrecision, int32_t toPrec
return time; // only to pass windows compilation
}
} //end switch fromPrecision
end_:
if (tempResult > (double)INT64_MAX) return INT64_MAX;
if (tempResult < (double)INT64_MIN) return INT64_MIN + 1; // INT64_MIN means NULL
return time;
}
static int32_t getDuration(int64_t val, char unit, int64_t* result, int32_t timePrecision) {
......
......@@ -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(SSqlInfo* pInfo, SStrToken *pToken, int32_t optrType);
tSqlExpr *tSqlExprCreateFunction(SArray *pParam, SStrToken *pFuncToken, SStrToken *endToken, int32_t optType);
SArray *tStrTokenAppend(SArray *pList, SStrToken *pToken);
......
......@@ -521,7 +521,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);
}
......@@ -702,23 +702,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); }
......
......@@ -134,7 +134,7 @@ SArray *tStrTokenAppend(SArray *pList, SStrToken *pToken) {
return pList;
}
tSqlExpr *tSqlExprCreateIdValue(SStrToken *pToken, int32_t optrType) {
tSqlExpr *tSqlExprCreateIdValue(SSqlInfo* pInfo, SStrToken *pToken, int32_t optrType) {
tSqlExpr *pSqlExpr = calloc(1, sizeof(tSqlExpr));
if (pToken != NULL) {
......@@ -169,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;
}
}
......
/* This file is automatically generated by Lemon from input grammar
** source file "sql.y". */
/*
** 2000-05-29
**
......@@ -22,8 +24,8 @@
** The following is the concatenation of all %include directives from the
** input grammar file:
*/
#include <stdio.h>
/************ Begin %include sections from the grammar ************************/
#line 23 "sql.y"
#include <stdio.h>
#include <stdlib.h>
......@@ -36,12 +38,208 @@
#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_GLOB 22
#define TK_BETWEEN 23
#define TK_IN 24
#define TK_GT 25
#define TK_GE 26
#define TK_LT 27
#define TK_LE 28
#define TK_BITAND 29
#define TK_BITOR 30
#define TK_LSHIFT 31
#define TK_RSHIFT 32
#define TK_PLUS 33
#define TK_MINUS 34
#define TK_DIVIDE 35
#define TK_TIMES 36
#define TK_STAR 37
#define TK_SLASH 38
#define TK_REM 39
#define TK_CONCAT 40
#define TK_UMINUS 41
#define TK_UPLUS 42
#define TK_BITNOT 43
#define TK_SHOW 44
#define TK_DATABASES 45
#define TK_TOPICS 46
#define TK_FUNCTIONS 47
#define TK_MNODES 48
#define TK_DNODES 49
#define TK_ACCOUNTS 50
#define TK_USERS 51
#define TK_MODULES 52
#define TK_QUERIES 53
#define TK_CONNECTIONS 54
#define TK_STREAMS 55
#define TK_VARIABLES 56
#define TK_SCORES 57
#define TK_GRANTS 58
#define TK_VNODES 59
#define TK_IPTOKEN 60
#define TK_DOT 61
#define TK_CREATE 62
#define TK_TABLE 63
#define TK_STABLE 64
#define TK_DATABASE 65
#define TK_TABLES 66
#define TK_STABLES 67
#define TK_VGROUPS 68
#define TK_DROP 69
#define TK_TOPIC 70
#define TK_FUNCTION 71
#define TK_DNODE 72
#define TK_USER 73
#define TK_ACCOUNT 74
#define TK_USE 75
#define TK_DESCRIBE 76
#define TK_DESC 77
#define TK_ALTER 78
#define TK_PASS 79
#define TK_PRIVILEGE 80
#define TK_LOCAL 81
#define TK_COMPACT 82
#define TK_LP 83
#define TK_RP 84
#define TK_IF 85
#define TK_EXISTS 86
#define TK_AS 87
#define TK_OUTPUTTYPE 88
#define TK_AGGREGATE 89
#define TK_BUFSIZE 90
#define TK_PPS 91
#define TK_TSERIES 92
#define TK_DBS 93
#define TK_STORAGE 94
#define TK_QTIME 95
#define TK_CONNS 96
#define TK_STATE 97
#define TK_COMMA 98
#define TK_KEEP 99
#define TK_CACHE 100
#define TK_REPLICA 101
#define TK_QUORUM 102
#define TK_DAYS 103
#define TK_MINROWS 104
#define TK_MAXROWS 105
#define TK_BLOCKS 106
#define TK_CTIME 107
#define TK_WAL 108
#define TK_FSYNC 109
#define TK_COMP 110
#define TK_PRECISION 111
#define TK_UPDATE 112
#define TK_CACHELAST 113
#define TK_PARTITIONS 114
#define TK_UNSIGNED 115
#define TK_TAGS 116
#define TK_USING 117
#define TK_NULL 118
#define TK_NOW 119
#define TK_SELECT 120
#define TK_UNION 121
#define TK_ALL 122
#define TK_DISTINCT 123
#define TK_FROM 124
#define TK_VARIABLE 125
#define TK_INTERVAL 126
#define TK_EVERY 127
#define TK_SESSION 128
#define TK_STATE_WINDOW 129
#define TK_FILL 130
#define TK_SLIDING 131
#define TK_ORDER 132
#define TK_BY 133
#define TK_ASC 134
#define TK_GROUP 135
#define TK_HAVING 136
#define TK_LIMIT 137
#define TK_OFFSET 138
#define TK_SLIMIT 139
#define TK_SOFFSET 140
#define TK_WHERE 141
#define TK_RESET 142
#define TK_QUERY 143
#define TK_SYNCDB 144
#define TK_ADD 145
#define TK_COLUMN 146
#define TK_MODIFY 147
#define TK_TAG 148
#define TK_CHANGE 149
#define TK_SET 150
#define TK_KILL 151
#define TK_CONNECTION 152
#define TK_STREAM 153
#define TK_COLON 154
#define TK_ABORT 155
#define TK_AFTER 156
#define TK_ATTACH 157
#define TK_BEFORE 158
#define TK_BEGIN 159
#define TK_CASCADE 160
#define TK_CLUSTER 161
#define TK_CONFLICT 162
#define TK_COPY 163
#define TK_DEFERRED 164
#define TK_DELIMITERS 165
#define TK_DETACH 166
#define TK_EACH 167
#define TK_END 168
#define TK_EXPLAIN 169
#define TK_FAIL 170
#define TK_FOR 171
#define TK_IGNORE 172
#define TK_IMMEDIATE 173
#define TK_INITIALLY 174
#define TK_INSTEAD 175
#define TK_MATCH 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_SEMI 186
#define TK_NONE 187
#define TK_PREV 188
#define TK_LINEAR 189
#define TK_IMPORT 190
#define TK_TBNAME 191
#define TK_JOIN 192
#define TK_INSERT 193
#define TK_INTO 194
#define TK_VALUES 195
#endif
/**************** End token definitions ***************************************/
/* The next sections is a series of control #defines.
** various aspects of the generated parser.
......@@ -76,8 +274,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,40 +297,47 @@
#endif
/************* Begin control #defines *****************************************/
#define YYCODETYPE unsigned short int
#define YYNOCODE 279
#define YYNOCODE 277
#define YYACTIONTYPE unsigned short int
#define ParseTOKENTYPE SStrToken
typedef union {
int yyinit;
ParseTOKENTYPE yy0;
SRelationInfo* yy8;
SWindowStateVal yy40;
SSqlNode* yy56;
SCreateDbInfo yy90;
int yy96;
int32_t yy104;
SSessionWindowVal yy147;
SCreatedTableInfo yy152;
SLimitVal yy166;
SCreateAcctInfo yy171;
TAOS_FIELD yy183;
int64_t yy325;
SIntervalVal yy400;
SArray* yy421;
tVariant yy430;
SCreateTableSql* yy438;
tSqlExpr* yy439;
SCreateTableSql* yy56;
int yy70;
SCreatedTableInfo yy84;
SRelationInfo* yy114;
int32_t yy202;
SIntervalVal yy222;
SSqlNode* yy224;
SCreateDbInfo yy246;
tSqlExpr* yy260;
TAOS_FIELD yy363;
SSessionWindowVal yy365;
SCreateAcctInfo yy377;
int64_t yy387;
SArray* yy403;
SLimitVal yy404;
tVariant yy488;
SWindowStateVal yy544;
} YYMINORTYPE;
#ifndef YYSTACKDEPTH
#define YYSTACKDEPTH 100
#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 364
#define YYNRULE 292
#define YYNRULE_WITH_ACTION 292
#define YYNTOKEN 196
#define YY_MAX_SHIFT 363
#define YY_MIN_SHIFTREDUCE 572
......@@ -141,6 +348,7 @@ typedef union {
#define YY_MIN_REDUCE 867
#define YY_MAX_REDUCE 1158
/************* 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.
......@@ -220,167 +428,167 @@ static const YYACTIONTYPE yy_action[] = {
/* 100 */ 51, 1017, 60, 319, 65, 63, 66, 64, 1134, 1084,
/* 110 */ 272, 291, 56, 55, 317, 1083, 54, 53, 52, 57,
/* 120 */ 59, 244, 61, 62, 1011, 1023, 250, 51, 95, 60,
/* 130 */ 319, 65, 63, 66, 64, 45, 802, 349, 1036, 56,
/* 140 */ 55, 161, 1022, 54, 53, 52, 58, 243, 61, 62,
/* 130 */ 319, 65, 63, 66, 64, 45, 802, 23, 1036, 56,
/* 140 */ 55, 161, 349, 54, 53, 52, 58, 243, 61, 62,
/* 150 */ 767, 768, 250, 51, 234, 60, 319, 65, 63, 66,
/* 160 */ 64, 1006, 1007, 35, 1010, 56, 55, 317, 246, 54,
/* 170 */ 53, 52, 44, 315, 356, 355, 314, 313, 312, 354,
/* 180 */ 311, 310, 309, 353, 308, 352, 351, 985, 973, 974,
/* 190 */ 975, 976, 977, 978, 979, 980, 981, 982, 983, 984,
/* 200 */ 986, 987, 61, 62, 24, 23, 250, 51, 264, 60,
/* 210 */ 319, 65, 63, 66, 64, 92, 79, 268, 267, 56,
/* 220 */ 55, 123, 211, 54, 53, 52, 249, 817, 208, 217,
/* 230 */ 806, 93, 809, 349, 812, 137, 136, 135, 216, 1135,
/* 240 */ 249, 817, 324, 86, 806, 81, 809, 259, 812, 251,
/* 250 */ 1008, 205, 65, 63, 66, 64, 161, 175, 228, 229,
/* 260 */ 56, 55, 320, 916, 54, 53, 52, 5, 41, 179,
/* 200 */ 986, 987, 61, 62, 24, 205, 250, 51, 264, 60,
/* 210 */ 319, 65, 63, 66, 64, 92, 74, 268, 267, 56,
/* 220 */ 55, 259, 211, 54, 53, 52, 249, 817, 208, 217,
/* 230 */ 806, 175, 809, 123, 812, 137, 136, 135, 216, 1135,
/* 240 */ 249, 817, 324, 86, 806, 349, 809, 161, 812, 251,
/* 250 */ 916, 206, 65, 63, 66, 64, 75, 189, 228, 229,
/* 260 */ 56, 55, 320, 926, 54, 53, 52, 5, 41, 179,
/* 270 */ 189, 624, 228, 229, 178, 104, 109, 100, 108, 625,
/* 280 */ 45, 732, 357, 954, 729, 38, 730, 38, 731, 121,
/* 290 */ 115, 126, 253, 304, 38, 16, 125, 15, 131, 134,
/* 300 */ 124, 206, 271, 38, 78, 258, 784, 128, 67, 208,
/* 310 */ 748, 224, 255, 256, 3, 190, 199, 197, 195, 808,
/* 320 */ 1135, 811, 67, 194, 141, 140, 139, 138, 293, 240,
/* 330 */ 91, 241, 926, 1020, 44, 1020, 356, 355, 328, 189,
/* 340 */ 38, 354, 1020, 818, 813, 353, 38, 352, 351, 708,
/* 350 */ 814, 1019, 807, 29, 810, 212, 38, 818, 813, 38,
/* 360 */ 1094, 56, 55, 783, 814, 54, 53, 52, 254, 38,
/* 370 */ 252, 38, 327, 326, 38, 14, 1131, 339, 338, 94,
/* 380 */ 917, 260, 745, 257, 329, 334, 333, 189, 1020, 259,
/* 390 */ 330, 54, 53, 52, 1020, 259, 752, 733, 734, 176,
/* 400 */ 331, 1, 177, 335, 1020, 1021, 273, 1020, 9, 97,
/* 410 */ 83, 84, 34, 336, 71, 337, 764, 1020, 341, 1020,
/* 420 */ 39, 774, 1020, 360, 359, 146, 152, 150, 149, 775,
/* 430 */ 156, 74, 718, 804, 321, 68, 296, 720, 77, 815,
/* 440 */ 248, 133, 132, 26, 298, 299, 39, 275, 275, 719,
/* 450 */ 39, 68, 838, 819, 623, 114, 72, 113, 96, 18,
/* 460 */ 1130, 17, 6, 68, 1129, 226, 25, 25, 25, 805,
/* 470 */ 707, 75, 816, 737, 735, 738, 736, 20, 227, 19,
/* 480 */ 120, 22, 119, 21, 209, 210, 213, 207, 214, 1154,
/* 490 */ 215, 1146, 1037, 1093, 219, 238, 220, 221, 218, 204,
/* 500 */ 1090, 1089, 239, 340, 269, 153, 1044, 1055, 48, 1076,
/* 510 */ 1052, 1053, 276, 1075, 1018, 1057, 151, 155, 160, 287,
/* 520 */ 171, 172, 280, 1016, 173, 174, 163, 235, 282, 284,
/* 530 */ 931, 164, 165, 1034, 166, 763, 301, 821, 302, 303,
/* 540 */ 306, 307, 46, 202, 162, 294, 42, 290, 168, 318,
/* 550 */ 925, 325, 76, 73, 50, 292, 1153, 288, 111, 1152,
/* 560 */ 283, 1149, 286, 49, 180, 305, 332, 1145, 167, 122,
/* 570 */ 350, 117, 1144, 1141, 181, 951, 43, 40, 47, 342,
/* 580 */ 203, 913, 127, 911, 129, 130, 909, 908, 261, 192,
/* 590 */ 193, 905, 904, 903, 902, 901, 900, 899, 196, 198,
/* 600 */ 896, 894, 892, 890, 200, 887, 201, 343, 274, 82,
/* 610 */ 87, 344, 285, 1077, 345, 346, 347, 348, 358, 863,
/* 620 */ 263, 262, 862, 266, 225, 245, 300, 265, 861, 844,
/* 630 */ 843, 270, 222, 275, 10, 85, 295, 930, 929, 223,
/* 640 */ 105, 740, 106, 277, 30, 88, 765, 907, 906, 157,
/* 650 */ 158, 142, 143, 898, 184, 183, 952, 187, 182, 185,
/* 660 */ 186, 188, 144, 897, 776, 145, 953, 889, 989, 2,
/* 670 */ 169, 888, 770, 33, 4, 159, 89, 237, 772, 90,
/* 680 */ 289, 999, 31, 11, 32, 12, 13, 27, 297, 28,
/* 290 */ 115, 126, 253, 304, 38, 808, 125, 811, 131, 134,
/* 300 */ 124, 807, 271, 810, 78, 258, 38, 128, 67, 208,
/* 310 */ 212, 224, 255, 256, 3, 190, 199, 197, 195, 293,
/* 320 */ 1135, 91, 67, 194, 141, 140, 139, 138, 1131, 240,
/* 330 */ 38, 241, 38, 1020, 44, 1020, 356, 355, 328, 259,
/* 340 */ 38, 354, 1020, 818, 813, 353, 38, 352, 351, 176,
/* 350 */ 814, 748, 38, 29, 1019, 38, 745, 818, 813, 1130,
/* 360 */ 38, 56, 55, 708, 814, 54, 53, 52, 254, 259,
/* 370 */ 252, 14, 327, 326, 329, 94, 330, 784, 1020, 1021,
/* 380 */ 1020, 260, 9, 257, 331, 334, 333, 273, 1020, 79,
/* 390 */ 335, 339, 338, 93, 1020, 917, 336, 733, 734, 337,
/* 400 */ 1020, 39, 189, 1020, 341, 97, 83, 81, 1020, 54,
/* 410 */ 53, 52, 360, 359, 146, 815, 152, 150, 149, 1,
/* 420 */ 177, 816, 84, 1008, 764, 774, 775, 718, 71, 804,
/* 430 */ 248, 296, 720, 298, 783, 719, 838, 752, 156, 68,
/* 440 */ 26, 39, 34, 275, 321, 39, 68, 96, 819, 68,
/* 450 */ 25, 16, 6, 15, 623, 114, 18, 113, 17, 275,
/* 460 */ 77, 737, 25, 738, 735, 805, 736, 20, 25, 19,
/* 470 */ 72, 120, 22, 119, 21, 299, 133, 132, 1129, 226,
/* 480 */ 227, 209, 210, 213, 207, 214, 215, 219, 1022, 220,
/* 490 */ 1154, 1146, 707, 221, 218, 204, 269, 1094, 1093, 238,
/* 500 */ 1090, 1089, 239, 340, 171, 153, 1044, 1055, 48, 151,
/* 510 */ 1052, 1053, 1037, 276, 1057, 155, 160, 287, 1018, 1076,
/* 520 */ 1075, 280, 172, 1016, 235, 282, 173, 164, 174, 1034,
/* 530 */ 931, 301, 302, 303, 306, 307, 46, 763, 202, 163,
/* 540 */ 284, 162, 294, 42, 318, 290, 165, 821, 76, 925,
/* 550 */ 50, 292, 73, 325, 1153, 111, 1152, 166, 286, 1149,
/* 560 */ 180, 332, 1145, 288, 117, 1144, 1141, 181, 167, 283,
/* 570 */ 951, 33, 43, 40, 47, 203, 49, 913, 127, 911,
/* 580 */ 129, 130, 909, 908, 261, 192, 193, 905, 904, 903,
/* 590 */ 902, 901, 900, 899, 196, 198, 305, 896, 894, 892,
/* 600 */ 890, 200, 887, 201, 350, 274, 82, 87, 285, 1077,
/* 610 */ 122, 342, 343, 344, 345, 346, 347, 348, 225, 358,
/* 620 */ 245, 300, 863, 262, 263, 862, 222, 223, 265, 266,
/* 630 */ 861, 105, 930, 929, 844, 843, 270, 106, 275, 295,
/* 640 */ 10, 277, 740, 85, 88, 907, 906, 30, 142, 898,
/* 650 */ 183, 952, 184, 185, 182, 186, 188, 187, 143, 144,
/* 660 */ 897, 989, 145, 889, 953, 888, 4, 765, 157, 2,
/* 670 */ 776, 168, 169, 158, 159, 770, 89, 999, 772, 90,
/* 680 */ 237, 289, 31, 11, 12, 32, 13, 27, 297, 28,
/* 690 */ 97, 99, 102, 36, 101, 638, 37, 103, 673, 671,
/* 700 */ 670, 669, 667, 666, 665, 662, 628, 316, 107, 7,
/* 710 */ 822, 820, 322, 8, 323, 710, 110, 69, 112, 70,
/* 720 */ 39, 709, 116, 118, 706, 654, 652, 644, 650, 646,
/* 700 */ 670, 669, 667, 666, 665, 662, 316, 107, 628, 7,
/* 710 */ 822, 820, 8, 323, 110, 112, 322, 69, 70, 116,
/* 720 */ 710, 39, 118, 709, 706, 654, 652, 644, 650, 646,
/* 730 */ 648, 642, 640, 676, 675, 674, 672, 668, 664, 663,
/* 740 */ 191, 590, 626, 588, 867, 866, 866, 866, 866, 866,
/* 740 */ 191, 626, 590, 588, 867, 866, 866, 866, 866, 866,
/* 750 */ 866, 866, 866, 866, 866, 866, 147, 148,
};
static const YYCODETYPE yy_lookahead[] = {
/* 0 */ 253, 1, 245, 1, 199, 200, 249, 200, 245, 9,
/* 10 */ 206, 9, 249, 13, 14, 200, 16, 17, 271, 200,
/* 20 */ 20, 21, 1, 23, 24, 25, 26, 27, 28, 223,
/* 30 */ 9, 225, 226, 33, 34, 200, 230, 37, 38, 39,
/* 40 */ 234, 200, 236, 237, 197, 198, 247, 45, 46, 47,
/* 0 */ 252, 1, 244, 1, 198, 199, 248, 199, 244, 9,
/* 10 */ 205, 9, 248, 13, 14, 199, 16, 17, 270, 199,
/* 20 */ 20, 21, 1, 23, 24, 25, 26, 27, 28, 222,
/* 30 */ 9, 224, 225, 33, 34, 199, 229, 37, 38, 39,
/* 40 */ 233, 199, 235, 236, 196, 197, 246, 45, 46, 47,
/* 50 */ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
/* 60 */ 58, 59, 263, 244, 62, 13, 14, 248, 16, 17,
/* 70 */ 266, 5, 20, 21, 267, 23, 24, 25, 26, 27,
/* 80 */ 28, 277, 0, 268, 269, 33, 34, 87, 207, 37,
/* 90 */ 38, 39, 13, 14, 247, 16, 17, 266, 83, 20,
/* 100 */ 21, 200, 23, 24, 25, 26, 27, 28, 277, 274,
/* 110 */ 263, 276, 33, 34, 85, 274, 37, 38, 39, 13,
/* 120 */ 14, 245, 16, 17, 243, 249, 20, 21, 207, 23,
/* 130 */ 24, 25, 26, 27, 28, 120, 84, 91, 247, 33,
/* 140 */ 34, 200, 249, 37, 38, 39, 14, 246, 16, 17,
/* 150 */ 126, 127, 20, 21, 263, 23, 24, 25, 26, 27,
/* 160 */ 28, 240, 241, 242, 243, 33, 34, 85, 206, 37,
/* 60 */ 58, 59, 262, 243, 62, 13, 14, 247, 16, 17,
/* 70 */ 265, 5, 20, 21, 266, 23, 24, 25, 26, 27,
/* 80 */ 28, 276, 0, 267, 268, 33, 34, 87, 206, 37,
/* 90 */ 38, 39, 13, 14, 246, 16, 17, 265, 83, 20,
/* 100 */ 21, 199, 23, 24, 25, 26, 27, 28, 276, 273,
/* 110 */ 262, 275, 33, 34, 85, 273, 37, 38, 39, 13,
/* 120 */ 14, 244, 16, 17, 242, 248, 20, 21, 206, 23,
/* 130 */ 24, 25, 26, 27, 28, 120, 84, 265, 246, 33,
/* 140 */ 34, 199, 91, 37, 38, 39, 14, 245, 16, 17,
/* 150 */ 126, 127, 20, 21, 262, 23, 24, 25, 26, 27,
/* 160 */ 28, 239, 240, 241, 242, 33, 34, 85, 205, 37,
/* 170 */ 38, 39, 99, 100, 101, 102, 103, 104, 105, 106,
/* 180 */ 107, 108, 109, 110, 111, 112, 113, 223, 224, 225,
/* 190 */ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
/* 200 */ 236, 237, 16, 17, 44, 266, 20, 21, 143, 23,
/* 210 */ 24, 25, 26, 27, 28, 274, 207, 152, 153, 33,
/* 220 */ 34, 79, 62, 37, 38, 39, 1, 2, 266, 69,
/* 230 */ 5, 250, 7, 91, 9, 75, 76, 77, 78, 277,
/* 240 */ 1, 2, 82, 83, 5, 264, 7, 200, 9, 206,
/* 250 */ 241, 266, 25, 26, 27, 28, 200, 210, 33, 34,
/* 260 */ 33, 34, 37, 205, 37, 38, 39, 63, 64, 65,
/* 270 */ 212, 1, 33, 34, 70, 71, 72, 73, 74, 9,
/* 280 */ 120, 2, 221, 222, 5, 200, 7, 200, 9, 63,
/* 290 */ 64, 65, 69, 89, 200, 146, 70, 148, 72, 73,
/* 300 */ 74, 266, 142, 200, 144, 69, 77, 81, 83, 266,
/* 310 */ 37, 151, 33, 34, 203, 204, 63, 64, 65, 5,
/* 320 */ 277, 7, 83, 70, 71, 72, 73, 74, 272, 244,
/* 330 */ 274, 244, 205, 248, 99, 248, 101, 102, 244, 212,
/* 340 */ 200, 106, 248, 118, 119, 110, 200, 112, 113, 5,
/* 350 */ 125, 248, 5, 83, 7, 266, 200, 118, 119, 200,
/* 360 */ 239, 33, 34, 134, 125, 37, 38, 39, 145, 200,
/* 370 */ 147, 200, 149, 150, 200, 83, 266, 33, 34, 87,
/* 380 */ 205, 145, 98, 147, 244, 149, 150, 212, 248, 200,
/* 390 */ 244, 37, 38, 39, 248, 200, 123, 118, 119, 210,
/* 400 */ 244, 208, 209, 244, 248, 210, 84, 248, 124, 117,
/* 410 */ 84, 84, 83, 244, 98, 244, 84, 248, 244, 248,
/* 420 */ 98, 84, 248, 66, 67, 68, 63, 64, 65, 84,
/* 430 */ 98, 98, 84, 1, 15, 98, 84, 84, 83, 125,
/* 440 */ 61, 79, 80, 98, 84, 116, 98, 121, 121, 84,
/* 450 */ 98, 98, 84, 84, 84, 146, 140, 148, 98, 146,
/* 460 */ 266, 148, 83, 98, 266, 266, 98, 98, 98, 37,
/* 470 */ 115, 138, 125, 5, 5, 7, 7, 146, 266, 148,
/* 480 */ 146, 146, 148, 148, 266, 266, 266, 266, 266, 249,
/* 490 */ 266, 249, 247, 239, 266, 239, 266, 266, 266, 266,
/* 500 */ 239, 239, 239, 239, 200, 200, 200, 200, 265, 275,
/* 510 */ 200, 200, 247, 275, 247, 200, 61, 200, 200, 200,
/* 520 */ 251, 200, 270, 200, 200, 200, 260, 270, 270, 270,
/* 530 */ 200, 259, 258, 262, 257, 125, 200, 118, 200, 200,
/* 540 */ 200, 200, 200, 200, 261, 132, 200, 130, 255, 200,
/* 550 */ 200, 200, 137, 139, 136, 135, 200, 129, 200, 200,
/* 560 */ 131, 200, 128, 141, 200, 90, 200, 200, 256, 97,
/* 570 */ 114, 200, 200, 200, 200, 200, 200, 200, 200, 96,
/* 580 */ 200, 200, 200, 200, 200, 200, 200, 200, 200, 200,
/* 590 */ 200, 200, 200, 200, 200, 200, 200, 200, 200, 200,
/* 600 */ 200, 200, 200, 200, 200, 200, 200, 51, 201, 201,
/* 610 */ 201, 93, 201, 201, 95, 55, 94, 92, 85, 5,
/* 620 */ 5, 154, 5, 5, 201, 201, 201, 154, 5, 101,
/* 630 */ 100, 143, 201, 121, 83, 122, 116, 211, 211, 201,
/* 640 */ 207, 84, 207, 98, 83, 98, 84, 201, 201, 83,
/* 650 */ 83, 202, 202, 201, 214, 218, 220, 216, 219, 217,
/* 660 */ 215, 213, 202, 201, 84, 202, 222, 201, 238, 208,
/* 670 */ 254, 201, 84, 252, 203, 98, 83, 1, 84, 83,
/* 680 */ 83, 238, 98, 133, 98, 133, 83, 83, 116, 83,
/* 180 */ 107, 108, 109, 110, 111, 112, 113, 222, 223, 224,
/* 190 */ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
/* 200 */ 235, 236, 16, 17, 44, 265, 20, 21, 143, 23,
/* 210 */ 24, 25, 26, 27, 28, 273, 98, 152, 153, 33,
/* 220 */ 34, 199, 62, 37, 38, 39, 1, 2, 265, 69,
/* 230 */ 5, 209, 7, 79, 9, 75, 76, 77, 78, 276,
/* 240 */ 1, 2, 82, 83, 5, 91, 7, 199, 9, 205,
/* 250 */ 204, 265, 25, 26, 27, 28, 138, 211, 33, 34,
/* 260 */ 33, 34, 37, 204, 37, 38, 39, 63, 64, 65,
/* 270 */ 211, 1, 33, 34, 70, 71, 72, 73, 74, 9,
/* 280 */ 120, 2, 220, 221, 5, 199, 7, 199, 9, 63,
/* 290 */ 64, 65, 69, 89, 199, 5, 70, 7, 72, 73,
/* 300 */ 74, 5, 142, 7, 144, 69, 199, 81, 83, 265,
/* 310 */ 265, 151, 33, 34, 202, 203, 63, 64, 65, 271,
/* 320 */ 276, 273, 83, 70, 71, 72, 73, 74, 265, 243,
/* 330 */ 199, 243, 199, 247, 99, 247, 101, 102, 243, 199,
/* 340 */ 199, 106, 247, 118, 119, 110, 199, 112, 113, 209,
/* 350 */ 125, 37, 199, 83, 247, 199, 98, 118, 119, 265,
/* 360 */ 199, 33, 34, 5, 125, 37, 38, 39, 145, 199,
/* 370 */ 147, 83, 149, 150, 243, 87, 243, 77, 247, 209,
/* 380 */ 247, 145, 124, 147, 243, 149, 150, 84, 247, 206,
/* 390 */ 243, 33, 34, 249, 247, 204, 243, 118, 119, 243,
/* 400 */ 247, 98, 211, 247, 243, 117, 84, 263, 247, 37,
/* 410 */ 38, 39, 66, 67, 68, 125, 63, 64, 65, 207,
/* 420 */ 208, 125, 84, 240, 84, 84, 84, 84, 98, 1,
/* 430 */ 61, 84, 84, 84, 134, 84, 84, 123, 98, 98,
/* 440 */ 98, 98, 83, 121, 15, 98, 98, 98, 84, 98,
/* 450 */ 98, 146, 83, 148, 84, 146, 146, 148, 148, 121,
/* 460 */ 83, 5, 98, 7, 5, 37, 7, 146, 98, 148,
/* 470 */ 140, 146, 146, 148, 148, 116, 79, 80, 265, 265,
/* 480 */ 265, 265, 265, 265, 265, 265, 265, 265, 248, 265,
/* 490 */ 248, 248, 115, 265, 265, 265, 199, 238, 238, 238,
/* 500 */ 238, 238, 238, 238, 250, 199, 199, 199, 264, 61,
/* 510 */ 199, 199, 246, 246, 199, 199, 199, 199, 246, 274,
/* 520 */ 274, 269, 199, 199, 269, 269, 199, 258, 199, 261,
/* 530 */ 199, 199, 199, 199, 199, 199, 199, 125, 199, 259,
/* 540 */ 269, 260, 132, 199, 199, 130, 257, 118, 137, 199,
/* 550 */ 136, 135, 139, 199, 199, 199, 199, 256, 128, 199,
/* 560 */ 199, 199, 199, 129, 199, 199, 199, 199, 255, 131,
/* 570 */ 199, 251, 199, 199, 199, 199, 141, 199, 199, 199,
/* 580 */ 199, 199, 199, 199, 199, 199, 199, 199, 199, 199,
/* 590 */ 199, 199, 199, 199, 199, 199, 90, 199, 199, 199,
/* 600 */ 199, 199, 199, 199, 114, 200, 200, 200, 200, 200,
/* 610 */ 97, 96, 51, 93, 95, 55, 94, 92, 200, 85,
/* 620 */ 200, 200, 5, 154, 5, 5, 200, 200, 154, 5,
/* 630 */ 5, 206, 210, 210, 101, 100, 143, 206, 121, 116,
/* 640 */ 83, 98, 84, 122, 98, 200, 200, 83, 201, 200,
/* 650 */ 217, 219, 213, 216, 218, 214, 212, 215, 201, 201,
/* 660 */ 200, 237, 201, 200, 221, 200, 202, 84, 83, 207,
/* 670 */ 84, 254, 253, 83, 98, 84, 83, 237, 84, 83,
/* 680 */ 1, 83, 98, 133, 133, 98, 83, 83, 116, 83,
/* 690 */ 117, 79, 71, 88, 87, 5, 88, 87, 9, 5,
/* 700 */ 5, 5, 5, 5, 5, 5, 86, 15, 79, 83,
/* 710 */ 118, 84, 24, 83, 59, 5, 148, 16, 148, 16,
/* 720 */ 98, 5, 148, 148, 84, 5, 5, 5, 5, 5,
/* 700 */ 5, 5, 5, 5, 5, 5, 15, 79, 86, 83,
/* 710 */ 118, 84, 83, 59, 148, 148, 24, 16, 16, 148,
/* 720 */ 5, 98, 148, 5, 84, 5, 5, 5, 5, 5,
/* 730 */ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
/* 740 */ 98, 61, 86, 60, 0, 278, 278, 278, 278, 278,
/* 750 */ 278, 278, 278, 278, 278, 278, 21, 21, 278, 278,
/* 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, 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, 278, 278, 278, 278, 278, 278, 278, 278,
/* 840 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
/* 850 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
/* 860 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
/* 870 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
/* 880 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
/* 890 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
/* 900 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
/* 910 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
/* 920 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
/* 930 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
/* 940 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
/* 950 */ 278, 278, 278, 278,
/* 740 */ 98, 86, 61, 60, 0, 277, 277, 277, 277, 277,
/* 750 */ 277, 277, 277, 277, 277, 277, 21, 21, 277, 277,
/* 760 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 770 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 780 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 790 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 800 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 810 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 820 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 830 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 840 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 850 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 860 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 870 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 880 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 890 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 900 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 910 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 920 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 930 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 940 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 950 */ 277, 277, 277, 277,
};
#define YY_SHIFT_COUNT (363)
#define YY_SHIFT_MIN (0)
......@@ -390,65 +598,65 @@ static const unsigned short int yy_shift_ofst[] = {
/* 10 */ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
/* 20 */ 21, 21, 21, 0, 2, 239, 279, 279, 279, 15,
/* 30 */ 15, 21, 21, 24, 21, 82, 21, 21, 21, 21,
/* 40 */ 142, 29, 46, 46, 66, 758, 758, 758, 239, 239,
/* 40 */ 154, 29, 51, 51, 66, 758, 758, 758, 239, 239,
/* 50 */ 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
/* 60 */ 239, 239, 239, 239, 239, 239, 239, 239, 279, 279,
/* 70 */ 279, 344, 344, 344, 344, 344, 344, 344, 21, 21,
/* 80 */ 21, 273, 21, 21, 21, 15, 15, 21, 21, 21,
/* 90 */ 21, 229, 229, 284, 15, 21, 21, 21, 21, 21,
/* 70 */ 279, 358, 358, 358, 358, 358, 358, 358, 21, 21,
/* 80 */ 21, 314, 21, 21, 21, 15, 15, 21, 21, 21,
/* 90 */ 21, 300, 300, 258, 15, 21, 21, 21, 21, 21,
/* 100 */ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
/* 110 */ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
/* 120 */ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
/* 130 */ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
/* 140 */ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
/* 150 */ 21, 21, 21, 455, 455, 455, 410, 410, 410, 410,
/* 160 */ 455, 455, 415, 414, 413, 418, 420, 417, 428, 434,
/* 170 */ 429, 422, 455, 455, 455, 475, 475, 456, 29, 29,
/* 180 */ 455, 455, 472, 483, 556, 518, 519, 560, 522, 525,
/* 190 */ 456, 66, 455, 455, 533, 533, 455, 533, 455, 533,
/* 200 */ 455, 455, 758, 758, 52, 79, 79, 106, 79, 132,
/* 150 */ 21, 21, 21, 448, 448, 448, 412, 412, 412, 412,
/* 160 */ 448, 448, 411, 413, 410, 414, 416, 415, 434, 430,
/* 170 */ 438, 435, 448, 448, 448, 506, 506, 490, 29, 29,
/* 180 */ 448, 448, 513, 515, 561, 520, 519, 560, 522, 525,
/* 190 */ 490, 66, 448, 448, 534, 534, 448, 534, 448, 534,
/* 200 */ 448, 448, 758, 758, 52, 79, 79, 106, 79, 132,
/* 210 */ 186, 204, 227, 227, 227, 227, 226, 253, 328, 328,
/* 220 */ 328, 328, 223, 236, 65, 292, 354, 354, 314, 347,
/* 230 */ 357, 363, 322, 326, 327, 332, 337, 345, 316, 333,
/* 240 */ 348, 352, 353, 360, 365, 329, 368, 369, 432, 379,
/* 250 */ 419, 370, 149, 309, 313, 468, 469, 331, 334, 355,
/* 260 */ 335, 362, 614, 467, 615, 617, 473, 618, 623, 528,
/* 270 */ 530, 488, 512, 520, 551, 513, 557, 561, 545, 547,
/* 280 */ 562, 566, 580, 567, 588, 577, 593, 594, 596, 676,
/* 290 */ 597, 584, 550, 586, 552, 603, 520, 604, 572, 606,
/* 220 */ 328, 328, 223, 236, 65, 288, 372, 372, 290, 296,
/* 230 */ 346, 353, 303, 322, 338, 340, 341, 342, 330, 118,
/* 240 */ 343, 347, 348, 349, 351, 359, 352, 364, 428, 369,
/* 250 */ 429, 370, 305, 309, 310, 456, 459, 321, 325, 377,
/* 260 */ 326, 397, 617, 469, 619, 620, 474, 624, 625, 533,
/* 270 */ 535, 493, 517, 523, 557, 521, 558, 564, 543, 546,
/* 280 */ 583, 585, 586, 590, 591, 576, 593, 594, 596, 679,
/* 290 */ 598, 584, 550, 587, 551, 603, 523, 604, 572, 606,
/* 300 */ 573, 612, 605, 607, 621, 690, 608, 610, 689, 694,
/* 310 */ 695, 696, 697, 698, 699, 700, 620, 692, 629, 626,
/* 320 */ 627, 592, 630, 688, 655, 701, 568, 570, 622, 622,
/* 330 */ 622, 622, 703, 574, 575, 622, 622, 622, 710, 716,
/* 340 */ 640, 622, 720, 721, 722, 723, 724, 725, 726, 727,
/* 350 */ 728, 729, 730, 731, 732, 733, 734, 642, 656, 735,
/* 360 */ 736, 680, 683, 744,
/* 310 */ 695, 696, 697, 698, 699, 700, 622, 691, 628, 626,
/* 320 */ 627, 592, 629, 692, 654, 701, 566, 567, 623, 623,
/* 330 */ 623, 623, 702, 571, 574, 623, 623, 623, 715, 718,
/* 340 */ 640, 623, 720, 721, 722, 723, 724, 725, 726, 727,
/* 350 */ 728, 729, 730, 731, 732, 733, 734, 642, 655, 735,
/* 360 */ 736, 681, 683, 744,
};
#define YY_REDUCE_COUNT (203)
#define YY_REDUCE_MIN (-253)
#define YY_REDUCE_MAX (471)
#define YY_REDUCE_MIN (-252)
#define YY_REDUCE_MAX (465)
static const short yy_reduce_ofst[] = {
/* 0 */ -153, -36, -36, -194, -194, -79, -196, -38, 43, -185,
/* 10 */ -181, -165, 56, 85, 87, 94, 140, 146, 156, 159,
/* 20 */ 169, 171, 174, -193, -195, -169, -243, -237, -124, -201,
/* 30 */ -109, -159, -59, -253, -99, -119, 47, 189, 195, 103,
/* 40 */ 58, 9, 127, 175, 61, -19, 193, 111, -61, -15,
/* 50 */ 35, 89, 110, 194, 198, 199, 212, 218, 219, 220,
/* 60 */ 221, 222, 224, 228, 230, 231, 232, 233, -107, 240,
/* 70 */ 242, 121, 254, 256, 261, 262, 263, 264, 304, 305,
/* 80 */ 306, 243, 307, 310, 311, 245, 265, 315, 317, 318,
/* 90 */ 319, 234, 238, 269, 267, 321, 323, 324, 325, 330,
/* 100 */ 336, 338, 339, 340, 341, 342, 343, 346, 349, 350,
/* 110 */ 351, 356, 358, 359, 361, 364, 366, 367, 371, 372,
/* 120 */ 373, 374, 375, 376, 377, 378, 380, 381, 382, 383,
/* 130 */ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
/* 140 */ 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
/* 150 */ 404, 405, 406, 407, 408, 409, 252, 257, 258, 259,
/* 160 */ 411, 412, 271, 283, 266, 272, 274, 277, 312, 293,
/* 170 */ 416, 421, 423, 424, 425, 426, 427, 430, 433, 435,
/* 180 */ 431, 438, 436, 439, 437, 440, 442, 445, 441, 448,
/* 190 */ 443, 444, 446, 447, 449, 450, 452, 460, 462, 463,
/* 200 */ 466, 470, 461, 471,
/* 0 */ -152, -35, -35, -193, -193, -78, -195, -37, 44, -184,
/* 10 */ -180, -164, 48, 86, 88, 95, 131, 133, 141, 147,
/* 20 */ 153, 156, 161, -192, -194, -168, -242, -236, -123, -200,
/* 30 */ -108, -158, -58, -252, -98, -118, 22, 140, 170, 107,
/* 40 */ 46, 183, 59, 191, 62, 144, 212, 112, -128, -60,
/* 50 */ -14, 45, 63, 94, 213, 214, 215, 216, 217, 218,
/* 60 */ 219, 220, 221, 222, 224, 228, 229, 230, 240, 242,
/* 70 */ 243, 259, 260, 261, 262, 263, 264, 265, 297, 306,
/* 80 */ 307, 244, 308, 311, 312, 266, 267, 315, 316, 317,
/* 90 */ 318, 245, 246, 254, 272, 323, 324, 327, 329, 331,
/* 100 */ 332, 333, 334, 335, 336, 337, 339, 344, 345, 350,
/* 110 */ 354, 355, 356, 357, 360, 361, 362, 363, 365, 366,
/* 120 */ 367, 368, 371, 373, 374, 375, 376, 378, 379, 380,
/* 130 */ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
/* 140 */ 391, 392, 393, 394, 395, 396, 398, 399, 400, 401,
/* 150 */ 402, 403, 404, 405, 406, 407, 252, 255, 256, 271,
/* 160 */ 408, 409, 268, 281, 280, 269, 289, 301, 313, 417,
/* 170 */ 419, 320, 418, 420, 421, 422, 423, 424, 425, 431,
/* 180 */ 426, 427, 432, 436, 433, 439, 437, 441, 442, 444,
/* 190 */ 440, 443, 445, 446, 447, 457, 449, 458, 460, 461,
/* 200 */ 463, 465, 462, 464,
};
static const YYACTIONTYPE yy_default[] = {
/* 0 */ 864, 988, 927, 998, 914, 924, 1137, 1137, 1137, 864,
......@@ -742,6 +950,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 */
......@@ -755,6 +964,7 @@ typedef struct yyParser yyParser;
#ifndef NDEBUG
#include <stdio.h>
#include <assert.h>
static FILE *yyTraceFILE = 0;
static char *yyTracePrompt = 0;
#endif /* NDEBUG */
......@@ -985,88 +1195,87 @@ static const char *const yyTokenName[] = {
/* 193 */ "INSERT",
/* 194 */ "INTO",
/* 195 */ "VALUES",
/* 196 */ "error",
/* 197 */ "program",
/* 198 */ "cmd",
/* 199 */ "dbPrefix",
/* 200 */ "ids",
/* 201 */ "cpxName",
/* 202 */ "ifexists",
/* 203 */ "alter_db_optr",
/* 204 */ "alter_topic_optr",
/* 205 */ "acct_optr",
/* 206 */ "exprlist",
/* 207 */ "ifnotexists",
/* 208 */ "db_optr",
/* 209 */ "topic_optr",
/* 210 */ "typename",
/* 211 */ "bufsize",
/* 212 */ "pps",
/* 213 */ "tseries",
/* 214 */ "dbs",
/* 215 */ "streams",
/* 216 */ "storage",
/* 217 */ "qtime",
/* 218 */ "users",
/* 219 */ "conns",
/* 220 */ "state",
/* 221 */ "intitemlist",
/* 222 */ "intitem",
/* 223 */ "keep",
/* 224 */ "cache",
/* 225 */ "replica",
/* 226 */ "quorum",
/* 227 */ "days",
/* 228 */ "minrows",
/* 229 */ "maxrows",
/* 230 */ "blocks",
/* 231 */ "ctime",
/* 232 */ "wal",
/* 233 */ "fsync",
/* 234 */ "comp",
/* 235 */ "prec",
/* 236 */ "update",
/* 237 */ "cachelast",
/* 238 */ "partitions",
/* 239 */ "signed",
/* 240 */ "create_table_args",
/* 241 */ "create_stable_args",
/* 242 */ "create_table_list",
/* 243 */ "create_from_stable",
/* 244 */ "columnlist",
/* 245 */ "tagitemlist",
/* 246 */ "tagNamelist",
/* 247 */ "select",
/* 248 */ "column",
/* 249 */ "tagitem",
/* 250 */ "selcollist",
/* 251 */ "from",
/* 252 */ "where_opt",
/* 253 */ "interval_option",
/* 254 */ "sliding_opt",
/* 255 */ "session_option",
/* 256 */ "windowstate_option",
/* 257 */ "fill_opt",
/* 258 */ "groupby_opt",
/* 259 */ "having_opt",
/* 260 */ "orderby_opt",
/* 261 */ "slimit_opt",
/* 262 */ "limit_opt",
/* 263 */ "union",
/* 264 */ "sclp",
/* 265 */ "distinct",
/* 266 */ "expr",
/* 267 */ "as",
/* 268 */ "tablelist",
/* 269 */ "sub",
/* 270 */ "tmvar",
/* 271 */ "intervalKey",
/* 272 */ "sortlist",
/* 273 */ "sortitem",
/* 274 */ "item",
/* 275 */ "sortorder",
/* 276 */ "grouplist",
/* 277 */ "expritem",
/* 196 */ "program",
/* 197 */ "cmd",
/* 198 */ "dbPrefix",
/* 199 */ "ids",
/* 200 */ "cpxName",
/* 201 */ "ifexists",
/* 202 */ "alter_db_optr",
/* 203 */ "alter_topic_optr",
/* 204 */ "acct_optr",
/* 205 */ "exprlist",
/* 206 */ "ifnotexists",
/* 207 */ "db_optr",
/* 208 */ "topic_optr",
/* 209 */ "typename",
/* 210 */ "bufsize",
/* 211 */ "pps",
/* 212 */ "tseries",
/* 213 */ "dbs",
/* 214 */ "streams",
/* 215 */ "storage",
/* 216 */ "qtime",
/* 217 */ "users",
/* 218 */ "conns",
/* 219 */ "state",
/* 220 */ "intitemlist",
/* 221 */ "intitem",
/* 222 */ "keep",
/* 223 */ "cache",
/* 224 */ "replica",
/* 225 */ "quorum",
/* 226 */ "days",
/* 227 */ "minrows",
/* 228 */ "maxrows",
/* 229 */ "blocks",
/* 230 */ "ctime",
/* 231 */ "wal",
/* 232 */ "fsync",
/* 233 */ "comp",
/* 234 */ "prec",
/* 235 */ "update",
/* 236 */ "cachelast",
/* 237 */ "partitions",
/* 238 */ "signed",
/* 239 */ "create_table_args",
/* 240 */ "create_stable_args",
/* 241 */ "create_table_list",
/* 242 */ "create_from_stable",
/* 243 */ "columnlist",
/* 244 */ "tagitemlist",
/* 245 */ "tagNamelist",
/* 246 */ "select",
/* 247 */ "column",
/* 248 */ "tagitem",
/* 249 */ "selcollist",
/* 250 */ "from",
/* 251 */ "where_opt",
/* 252 */ "interval_option",
/* 253 */ "sliding_opt",
/* 254 */ "session_option",
/* 255 */ "windowstate_option",
/* 256 */ "fill_opt",
/* 257 */ "groupby_opt",
/* 258 */ "having_opt",
/* 259 */ "orderby_opt",
/* 260 */ "slimit_opt",
/* 261 */ "limit_opt",
/* 262 */ "union",
/* 263 */ "sclp",
/* 264 */ "distinct",
/* 265 */ "expr",
/* 266 */ "as",
/* 267 */ "tablelist",
/* 268 */ "sub",
/* 269 */ "tmvar",
/* 270 */ "intervalKey",
/* 271 */ "sortlist",
/* 272 */ "sortitem",
/* 273 */ "item",
/* 274 */ "sortorder",
/* 275 */ "grouplist",
/* 276 */ "expritem",
};
#endif /* defined(YYCOVERAGE) || !defined(NDEBUG) */
......@@ -1414,28 +1623,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;
yypParser->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;
yypParser->yytos = NULL;
yypParser->yystack = NULL;
yypParser->yystksz = 0;
if( yyGrowStack(yypParser) ){
yypParser->yystack = &yypParser->yystk0;
yypParser->yystksz = 1;
}
#endif
#ifndef YYNOERRORRECOVERY
pParser->yyerrcnt = -1;
yypParser->yyerrcnt = -1;
#endif
pParser->yytos = pParser->yystack;
pParser->yystack[0].stateno = 0;
pParser->yystack[0].major = 0;
yypParser->yytos = yypParser->yystack;
yypParser->yystack[0].stateno = 0;
yypParser->yystack[0].major = 0;
#if YYSTACKDEPTH>0
pParser->yystackEnd = &pParser->yystack[YYSTACKDEPTH-1];
yypParser->yystackEnd = &yypParser->yystack[YYSTACKDEPTH-1];
#endif
}
......@@ -1452,11 +1662,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 */
......@@ -1473,7 +1686,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
......@@ -1486,60 +1700,76 @@ static void yy_destructor(
** inside the C code.
*/
/********* Begin destructor definitions ***************************************/
case 206: /* exprlist */
case 250: /* selcollist */
case 264: /* sclp */
case 205: /* exprlist */
case 249: /* selcollist */
case 263: /* sclp */
{
tSqlExprListDestroy((yypminor->yy421));
#line 760 "sql.y"
tSqlExprListDestroy((yypminor->yy403));
#line 1709 "sql.c"
}
break;
case 221: /* intitemlist */
case 223: /* keep */
case 244: /* columnlist */
case 245: /* tagitemlist */
case 246: /* tagNamelist */
case 257: /* fill_opt */
case 258: /* groupby_opt */
case 260: /* orderby_opt */
case 272: /* sortlist */
case 276: /* grouplist */
case 220: /* intitemlist */
case 222: /* keep */
case 243: /* columnlist */
case 244: /* tagitemlist */
case 245: /* tagNamelist */
case 256: /* fill_opt */
case 257: /* groupby_opt */
case 259: /* orderby_opt */
case 271: /* sortlist */
case 275: /* grouplist */
{
taosArrayDestroy((yypminor->yy421));
#line 258 "sql.y"
taosArrayDestroy((yypminor->yy403));
#line 1725 "sql.c"
}
break;
case 242: /* create_table_list */
case 241: /* create_table_list */
{
destroyCreateTableSql((yypminor->yy438));
#line 366 "sql.y"
destroyCreateTableSql((yypminor->yy56));
#line 1732 "sql.c"
}
break;
case 247: /* select */
case 246: /* select */
{
destroySqlNode((yypminor->yy56));
#line 486 "sql.y"
destroySqlNode((yypminor->yy224));
#line 1739 "sql.c"
}
break;
case 251: /* from */
case 268: /* tablelist */
case 269: /* sub */
case 250: /* from */
case 267: /* tablelist */
case 268: /* sub */
{
destroyRelationInfo((yypminor->yy8));
#line 541 "sql.y"
destroyRelationInfo((yypminor->yy114));
#line 1748 "sql.c"
}
break;
case 252: /* where_opt */
case 259: /* having_opt */
case 266: /* expr */
case 277: /* expritem */
case 251: /* where_opt */
case 258: /* having_opt */
case 265: /* expr */
case 276: /* expritem */
{
tSqlExprDestroy((yypminor->yy439));
#line 693 "sql.y"
tSqlExprDestroy((yypminor->yy260));
#line 1758 "sql.c"
}
break;
case 263: /* union */
case 262: /* union */
{
destroyAllSqlNode((yypminor->yy421));
#line 494 "sql.y"
destroyAllSqlNode((yypminor->yy403));
#line 1765 "sql.c"
}
break;
case 273: /* sortitem */
case 272: /* sortitem */
{
tVariantDestroy(&(yypminor->yy430));
#line 626 "sql.y"
tVariantDestroy(&(yypminor->yy488));
#line 1772 "sql.c"
}
break;
/********* End destructor definitions *****************************************/
......@@ -1651,12 +1881,11 @@ 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 */
YYCODETYPE iLookAhead /* The look-ahead token */
static YYACTIONTYPE yy_find_shift_action(
YYCODETYPE iLookAhead, /* The look-ahead token */
YYACTIONTYPE stateno /* Current state number */
){
int i;
int stateno = pParser->yytos->stateno;
if( stateno>YY_MAX_SHIFT ) return stateno;
assert( stateno <= YY_SHIFT_COUNT );
......@@ -1665,15 +1894,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",
......@@ -1688,15 +1921,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",
......@@ -1710,6 +1936,7 @@ static unsigned int yy_find_shift_action(
#endif /* YYWILDCARD */
return yy_default[stateno];
}else{
assert( i>=0 && i<(int)(sizeof(yy_action)/sizeof(yy_action[0])) );
return yy_action[i];
}
}while(1);
......@@ -1719,8 +1946,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;
......@@ -1749,7 +1976,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);
......@@ -1760,7 +1988,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
}
/*
......@@ -1789,8 +2018,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;
......@@ -1820,311 +2049,604 @@ 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[] = {
{ 197, -1 }, /* (0) program ::= cmd */
{ 198, -2 }, /* (1) cmd ::= SHOW DATABASES */
{ 198, -2 }, /* (2) cmd ::= SHOW TOPICS */
{ 198, -2 }, /* (3) cmd ::= SHOW FUNCTIONS */
{ 198, -2 }, /* (4) cmd ::= SHOW MNODES */
{ 198, -2 }, /* (5) cmd ::= SHOW DNODES */
{ 198, -2 }, /* (6) cmd ::= SHOW ACCOUNTS */
{ 198, -2 }, /* (7) cmd ::= SHOW USERS */
{ 198, -2 }, /* (8) cmd ::= SHOW MODULES */
{ 198, -2 }, /* (9) cmd ::= SHOW QUERIES */
{ 198, -2 }, /* (10) cmd ::= SHOW CONNECTIONS */
{ 198, -2 }, /* (11) cmd ::= SHOW STREAMS */
{ 198, -2 }, /* (12) cmd ::= SHOW VARIABLES */
{ 198, -2 }, /* (13) cmd ::= SHOW SCORES */
{ 198, -2 }, /* (14) cmd ::= SHOW GRANTS */
{ 198, -2 }, /* (15) cmd ::= SHOW VNODES */
{ 198, -3 }, /* (16) cmd ::= SHOW VNODES IPTOKEN */
{ 199, 0 }, /* (17) dbPrefix ::= */
{ 199, -2 }, /* (18) dbPrefix ::= ids DOT */
{ 201, 0 }, /* (19) cpxName ::= */
{ 201, -2 }, /* (20) cpxName ::= DOT ids */
{ 198, -5 }, /* (21) cmd ::= SHOW CREATE TABLE ids cpxName */
{ 198, -5 }, /* (22) cmd ::= SHOW CREATE STABLE ids cpxName */
{ 198, -4 }, /* (23) cmd ::= SHOW CREATE DATABASE ids */
{ 198, -3 }, /* (24) cmd ::= SHOW dbPrefix TABLES */
{ 198, -5 }, /* (25) cmd ::= SHOW dbPrefix TABLES LIKE ids */
{ 198, -3 }, /* (26) cmd ::= SHOW dbPrefix STABLES */
{ 198, -5 }, /* (27) cmd ::= SHOW dbPrefix STABLES LIKE ids */
{ 198, -3 }, /* (28) cmd ::= SHOW dbPrefix VGROUPS */
{ 198, -4 }, /* (29) cmd ::= SHOW dbPrefix VGROUPS ids */
{ 198, -5 }, /* (30) cmd ::= DROP TABLE ifexists ids cpxName */
{ 198, -5 }, /* (31) cmd ::= DROP STABLE ifexists ids cpxName */
{ 198, -4 }, /* (32) cmd ::= DROP DATABASE ifexists ids */
{ 198, -4 }, /* (33) cmd ::= DROP TOPIC ifexists ids */
{ 198, -3 }, /* (34) cmd ::= DROP FUNCTION ids */
{ 198, -3 }, /* (35) cmd ::= DROP DNODE ids */
{ 198, -3 }, /* (36) cmd ::= DROP USER ids */
{ 198, -3 }, /* (37) cmd ::= DROP ACCOUNT ids */
{ 198, -2 }, /* (38) cmd ::= USE ids */
{ 198, -3 }, /* (39) cmd ::= DESCRIBE ids cpxName */
{ 198, -3 }, /* (40) cmd ::= DESC ids cpxName */
{ 198, -5 }, /* (41) cmd ::= ALTER USER ids PASS ids */
{ 198, -5 }, /* (42) cmd ::= ALTER USER ids PRIVILEGE ids */
{ 198, -4 }, /* (43) cmd ::= ALTER DNODE ids ids */
{ 198, -5 }, /* (44) cmd ::= ALTER DNODE ids ids ids */
{ 198, -3 }, /* (45) cmd ::= ALTER LOCAL ids */
{ 198, -4 }, /* (46) cmd ::= ALTER LOCAL ids ids */
{ 198, -4 }, /* (47) cmd ::= ALTER DATABASE ids alter_db_optr */
{ 198, -4 }, /* (48) cmd ::= ALTER TOPIC ids alter_topic_optr */
{ 198, -4 }, /* (49) cmd ::= ALTER ACCOUNT ids acct_optr */
{ 198, -6 }, /* (50) cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
{ 198, -6 }, /* (51) cmd ::= COMPACT VNODES IN LP exprlist RP */
{ 200, -1 }, /* (52) ids ::= ID */
{ 200, -1 }, /* (53) ids ::= STRING */
{ 202, -2 }, /* (54) ifexists ::= IF EXISTS */
{ 202, 0 }, /* (55) ifexists ::= */
{ 207, -3 }, /* (56) ifnotexists ::= IF NOT EXISTS */
{ 207, 0 }, /* (57) ifnotexists ::= */
{ 198, -3 }, /* (58) cmd ::= CREATE DNODE ids */
{ 198, -6 }, /* (59) cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
{ 198, -5 }, /* (60) cmd ::= CREATE DATABASE ifnotexists ids db_optr */
{ 198, -5 }, /* (61) cmd ::= CREATE TOPIC ifnotexists ids topic_optr */
{ 198, -8 }, /* (62) cmd ::= CREATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
{ 198, -9 }, /* (63) cmd ::= CREATE AGGREGATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
{ 198, -5 }, /* (64) cmd ::= CREATE USER ids PASS ids */
{ 211, 0 }, /* (65) bufsize ::= */
{ 211, -2 }, /* (66) bufsize ::= BUFSIZE INTEGER */
{ 212, 0 }, /* (67) pps ::= */
{ 212, -2 }, /* (68) pps ::= PPS INTEGER */
{ 213, 0 }, /* (69) tseries ::= */
{ 213, -2 }, /* (70) tseries ::= TSERIES INTEGER */
{ 214, 0 }, /* (71) dbs ::= */
{ 214, -2 }, /* (72) dbs ::= DBS INTEGER */
{ 215, 0 }, /* (73) streams ::= */
{ 215, -2 }, /* (74) streams ::= STREAMS INTEGER */
{ 216, 0 }, /* (75) storage ::= */
{ 216, -2 }, /* (76) storage ::= STORAGE INTEGER */
{ 217, 0 }, /* (77) qtime ::= */
{ 217, -2 }, /* (78) qtime ::= QTIME INTEGER */
{ 218, 0 }, /* (79) users ::= */
{ 218, -2 }, /* (80) users ::= USERS INTEGER */
{ 219, 0 }, /* (81) conns ::= */
{ 219, -2 }, /* (82) conns ::= CONNS INTEGER */
{ 220, 0 }, /* (83) state ::= */
{ 220, -2 }, /* (84) state ::= STATE ids */
{ 205, -9 }, /* (85) acct_optr ::= pps tseries storage streams qtime dbs users conns state */
{ 221, -3 }, /* (86) intitemlist ::= intitemlist COMMA intitem */
{ 221, -1 }, /* (87) intitemlist ::= intitem */
{ 222, -1 }, /* (88) intitem ::= INTEGER */
{ 223, -2 }, /* (89) keep ::= KEEP intitemlist */
{ 224, -2 }, /* (90) cache ::= CACHE INTEGER */
{ 225, -2 }, /* (91) replica ::= REPLICA INTEGER */
{ 226, -2 }, /* (92) quorum ::= QUORUM INTEGER */
{ 227, -2 }, /* (93) days ::= DAYS INTEGER */
{ 228, -2 }, /* (94) minrows ::= MINROWS INTEGER */
{ 229, -2 }, /* (95) maxrows ::= MAXROWS INTEGER */
{ 230, -2 }, /* (96) blocks ::= BLOCKS INTEGER */
{ 231, -2 }, /* (97) ctime ::= CTIME INTEGER */
{ 232, -2 }, /* (98) wal ::= WAL INTEGER */
{ 233, -2 }, /* (99) fsync ::= FSYNC INTEGER */
{ 234, -2 }, /* (100) comp ::= COMP INTEGER */
{ 235, -2 }, /* (101) prec ::= PRECISION STRING */
{ 236, -2 }, /* (102) update ::= UPDATE INTEGER */
{ 237, -2 }, /* (103) cachelast ::= CACHELAST INTEGER */
{ 238, -2 }, /* (104) partitions ::= PARTITIONS INTEGER */
{ 208, 0 }, /* (105) db_optr ::= */
{ 208, -2 }, /* (106) db_optr ::= db_optr cache */
{ 208, -2 }, /* (107) db_optr ::= db_optr replica */
{ 208, -2 }, /* (108) db_optr ::= db_optr quorum */
{ 208, -2 }, /* (109) db_optr ::= db_optr days */
{ 208, -2 }, /* (110) db_optr ::= db_optr minrows */
{ 208, -2 }, /* (111) db_optr ::= db_optr maxrows */
{ 208, -2 }, /* (112) db_optr ::= db_optr blocks */
{ 208, -2 }, /* (113) db_optr ::= db_optr ctime */
{ 208, -2 }, /* (114) db_optr ::= db_optr wal */
{ 208, -2 }, /* (115) db_optr ::= db_optr fsync */
{ 208, -2 }, /* (116) db_optr ::= db_optr comp */
{ 208, -2 }, /* (117) db_optr ::= db_optr prec */
{ 208, -2 }, /* (118) db_optr ::= db_optr keep */
{ 208, -2 }, /* (119) db_optr ::= db_optr update */
{ 208, -2 }, /* (120) db_optr ::= db_optr cachelast */
{ 209, -1 }, /* (121) topic_optr ::= db_optr */
{ 209, -2 }, /* (122) topic_optr ::= topic_optr partitions */
{ 203, 0 }, /* (123) alter_db_optr ::= */
{ 203, -2 }, /* (124) alter_db_optr ::= alter_db_optr replica */
{ 203, -2 }, /* (125) alter_db_optr ::= alter_db_optr quorum */
{ 203, -2 }, /* (126) alter_db_optr ::= alter_db_optr keep */
{ 203, -2 }, /* (127) alter_db_optr ::= alter_db_optr blocks */
{ 203, -2 }, /* (128) alter_db_optr ::= alter_db_optr comp */
{ 203, -2 }, /* (129) alter_db_optr ::= alter_db_optr update */
{ 203, -2 }, /* (130) alter_db_optr ::= alter_db_optr cachelast */
{ 204, -1 }, /* (131) alter_topic_optr ::= alter_db_optr */
{ 204, -2 }, /* (132) alter_topic_optr ::= alter_topic_optr partitions */
{ 210, -1 }, /* (133) typename ::= ids */
{ 210, -4 }, /* (134) typename ::= ids LP signed RP */
{ 210, -2 }, /* (135) typename ::= ids UNSIGNED */
{ 239, -1 }, /* (136) signed ::= INTEGER */
{ 239, -2 }, /* (137) signed ::= PLUS INTEGER */
{ 239, -2 }, /* (138) signed ::= MINUS INTEGER */
{ 198, -3 }, /* (139) cmd ::= CREATE TABLE create_table_args */
{ 198, -3 }, /* (140) cmd ::= CREATE TABLE create_stable_args */
{ 198, -3 }, /* (141) cmd ::= CREATE STABLE create_stable_args */
{ 198, -3 }, /* (142) cmd ::= CREATE TABLE create_table_list */
{ 242, -1 }, /* (143) create_table_list ::= create_from_stable */
{ 242, -2 }, /* (144) create_table_list ::= create_table_list create_from_stable */
{ 240, -6 }, /* (145) create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
{ 241, -10 }, /* (146) create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
{ 243, -10 }, /* (147) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
{ 243, -13 }, /* (148) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */
{ 246, -3 }, /* (149) tagNamelist ::= tagNamelist COMMA ids */
{ 246, -1 }, /* (150) tagNamelist ::= ids */
{ 240, -5 }, /* (151) create_table_args ::= ifnotexists ids cpxName AS select */
{ 244, -3 }, /* (152) columnlist ::= columnlist COMMA column */
{ 244, -1 }, /* (153) columnlist ::= column */
{ 248, -2 }, /* (154) column ::= ids typename */
{ 245, -3 }, /* (155) tagitemlist ::= tagitemlist COMMA tagitem */
{ 245, -1 }, /* (156) tagitemlist ::= tagitem */
{ 249, -1 }, /* (157) tagitem ::= INTEGER */
{ 249, -1 }, /* (158) tagitem ::= FLOAT */
{ 249, -1 }, /* (159) tagitem ::= STRING */
{ 249, -1 }, /* (160) tagitem ::= BOOL */
{ 249, -1 }, /* (161) tagitem ::= NULL */
{ 249, -1 }, /* (162) tagitem ::= NOW */
{ 249, -2 }, /* (163) tagitem ::= MINUS INTEGER */
{ 249, -2 }, /* (164) tagitem ::= MINUS FLOAT */
{ 249, -2 }, /* (165) tagitem ::= PLUS INTEGER */
{ 249, -2 }, /* (166) tagitem ::= PLUS FLOAT */
{ 247, -14 }, /* (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 */
{ 247, -3 }, /* (168) select ::= LP select RP */
{ 263, -1 }, /* (169) union ::= select */
{ 263, -4 }, /* (170) union ::= union UNION ALL select */
{ 198, -1 }, /* (171) cmd ::= union */
{ 247, -2 }, /* (172) select ::= SELECT selcollist */
{ 264, -2 }, /* (173) sclp ::= selcollist COMMA */
{ 264, 0 }, /* (174) sclp ::= */
{ 250, -4 }, /* (175) selcollist ::= sclp distinct expr as */
{ 250, -2 }, /* (176) selcollist ::= sclp STAR */
{ 267, -2 }, /* (177) as ::= AS ids */
{ 267, -1 }, /* (178) as ::= ids */
{ 267, 0 }, /* (179) as ::= */
{ 265, -1 }, /* (180) distinct ::= DISTINCT */
{ 265, 0 }, /* (181) distinct ::= */
{ 251, -2 }, /* (182) from ::= FROM tablelist */
{ 251, -2 }, /* (183) from ::= FROM sub */
{ 269, -3 }, /* (184) sub ::= LP union RP */
{ 269, -4 }, /* (185) sub ::= LP union RP ids */
{ 269, -6 }, /* (186) sub ::= sub COMMA LP union RP ids */
{ 268, -2 }, /* (187) tablelist ::= ids cpxName */
{ 268, -3 }, /* (188) tablelist ::= ids cpxName ids */
{ 268, -4 }, /* (189) tablelist ::= tablelist COMMA ids cpxName */
{ 268, -5 }, /* (190) tablelist ::= tablelist COMMA ids cpxName ids */
{ 270, -1 }, /* (191) tmvar ::= VARIABLE */
{ 253, -4 }, /* (192) interval_option ::= intervalKey LP tmvar RP */
{ 253, -6 }, /* (193) interval_option ::= intervalKey LP tmvar COMMA tmvar RP */
{ 253, 0 }, /* (194) interval_option ::= */
{ 271, -1 }, /* (195) intervalKey ::= INTERVAL */
{ 271, -1 }, /* (196) intervalKey ::= EVERY */
{ 255, 0 }, /* (197) session_option ::= */
{ 255, -7 }, /* (198) session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
{ 256, 0 }, /* (199) windowstate_option ::= */
{ 256, -4 }, /* (200) windowstate_option ::= STATE_WINDOW LP ids RP */
{ 257, 0 }, /* (201) fill_opt ::= */
{ 257, -6 }, /* (202) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
{ 257, -4 }, /* (203) fill_opt ::= FILL LP ID RP */
{ 254, -4 }, /* (204) sliding_opt ::= SLIDING LP tmvar RP */
{ 254, 0 }, /* (205) sliding_opt ::= */
{ 260, 0 }, /* (206) orderby_opt ::= */
{ 260, -3 }, /* (207) orderby_opt ::= ORDER BY sortlist */
{ 272, -4 }, /* (208) sortlist ::= sortlist COMMA item sortorder */
{ 272, -2 }, /* (209) sortlist ::= item sortorder */
{ 274, -2 }, /* (210) item ::= ids cpxName */
{ 275, -1 }, /* (211) sortorder ::= ASC */
{ 275, -1 }, /* (212) sortorder ::= DESC */
{ 275, 0 }, /* (213) sortorder ::= */
{ 258, 0 }, /* (214) groupby_opt ::= */
{ 258, -3 }, /* (215) groupby_opt ::= GROUP BY grouplist */
{ 276, -3 }, /* (216) grouplist ::= grouplist COMMA item */
{ 276, -1 }, /* (217) grouplist ::= item */
{ 259, 0 }, /* (218) having_opt ::= */
{ 259, -2 }, /* (219) having_opt ::= HAVING expr */
{ 262, 0 }, /* (220) limit_opt ::= */
{ 262, -2 }, /* (221) limit_opt ::= LIMIT signed */
{ 262, -4 }, /* (222) limit_opt ::= LIMIT signed OFFSET signed */
{ 262, -4 }, /* (223) limit_opt ::= LIMIT signed COMMA signed */
{ 261, 0 }, /* (224) slimit_opt ::= */
{ 261, -2 }, /* (225) slimit_opt ::= SLIMIT signed */
{ 261, -4 }, /* (226) slimit_opt ::= SLIMIT signed SOFFSET signed */
{ 261, -4 }, /* (227) slimit_opt ::= SLIMIT signed COMMA signed */
{ 252, 0 }, /* (228) where_opt ::= */
{ 252, -2 }, /* (229) where_opt ::= WHERE expr */
{ 266, -3 }, /* (230) expr ::= LP expr RP */
{ 266, -1 }, /* (231) expr ::= ID */
{ 266, -3 }, /* (232) expr ::= ID DOT ID */
{ 266, -3 }, /* (233) expr ::= ID DOT STAR */
{ 266, -1 }, /* (234) expr ::= INTEGER */
{ 266, -2 }, /* (235) expr ::= MINUS INTEGER */
{ 266, -2 }, /* (236) expr ::= PLUS INTEGER */
{ 266, -1 }, /* (237) expr ::= FLOAT */
{ 266, -2 }, /* (238) expr ::= MINUS FLOAT */
{ 266, -2 }, /* (239) expr ::= PLUS FLOAT */
{ 266, -1 }, /* (240) expr ::= STRING */
{ 266, -1 }, /* (241) expr ::= NOW */
{ 266, -1 }, /* (242) expr ::= VARIABLE */
{ 266, -2 }, /* (243) expr ::= PLUS VARIABLE */
{ 266, -2 }, /* (244) expr ::= MINUS VARIABLE */
{ 266, -1 }, /* (245) expr ::= BOOL */
{ 266, -1 }, /* (246) expr ::= NULL */
{ 266, -4 }, /* (247) expr ::= ID LP exprlist RP */
{ 266, -4 }, /* (248) expr ::= ID LP STAR RP */
{ 266, -3 }, /* (249) expr ::= expr IS NULL */
{ 266, -4 }, /* (250) expr ::= expr IS NOT NULL */
{ 266, -3 }, /* (251) expr ::= expr LT expr */
{ 266, -3 }, /* (252) expr ::= expr GT expr */
{ 266, -3 }, /* (253) expr ::= expr LE expr */
{ 266, -3 }, /* (254) expr ::= expr GE expr */
{ 266, -3 }, /* (255) expr ::= expr NE expr */
{ 266, -3 }, /* (256) expr ::= expr EQ expr */
{ 266, -5 }, /* (257) expr ::= expr BETWEEN expr AND expr */
{ 266, -3 }, /* (258) expr ::= expr AND expr */
{ 266, -3 }, /* (259) expr ::= expr OR expr */
{ 266, -3 }, /* (260) expr ::= expr PLUS expr */
{ 266, -3 }, /* (261) expr ::= expr MINUS expr */
{ 266, -3 }, /* (262) expr ::= expr STAR expr */
{ 266, -3 }, /* (263) expr ::= expr SLASH expr */
{ 266, -3 }, /* (264) expr ::= expr REM expr */
{ 266, -3 }, /* (265) expr ::= expr LIKE expr */
{ 266, -5 }, /* (266) expr ::= expr IN LP exprlist RP */
{ 206, -3 }, /* (267) exprlist ::= exprlist COMMA expritem */
{ 206, -1 }, /* (268) exprlist ::= expritem */
{ 277, -1 }, /* (269) expritem ::= expr */
{ 277, 0 }, /* (270) expritem ::= */
{ 198, -3 }, /* (271) cmd ::= RESET QUERY CACHE */
{ 198, -3 }, /* (272) cmd ::= SYNCDB ids REPLICA */
{ 198, -7 }, /* (273) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
{ 198, -7 }, /* (274) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
{ 198, -7 }, /* (275) cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */
{ 198, -7 }, /* (276) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
{ 198, -7 }, /* (277) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
{ 198, -8 }, /* (278) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
{ 198, -9 }, /* (279) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
{ 198, -7 }, /* (280) cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */
{ 198, -7 }, /* (281) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
{ 198, -7 }, /* (282) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
{ 198, -7 }, /* (283) cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */
{ 198, -7 }, /* (284) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
{ 198, -7 }, /* (285) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
{ 198, -8 }, /* (286) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
{ 198, -9 }, /* (287) cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */
{ 198, -7 }, /* (288) cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */
{ 198, -3 }, /* (289) cmd ::= KILL CONNECTION INTEGER */
{ 198, -5 }, /* (290) cmd ::= KILL STREAM INTEGER COLON INTEGER */
{ 198, -5 }, /* (291) 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[] = {
196, /* (0) program ::= cmd */
197, /* (1) cmd ::= SHOW DATABASES */
197, /* (2) cmd ::= SHOW TOPICS */
197, /* (3) cmd ::= SHOW FUNCTIONS */
197, /* (4) cmd ::= SHOW MNODES */
197, /* (5) cmd ::= SHOW DNODES */
197, /* (6) cmd ::= SHOW ACCOUNTS */
197, /* (7) cmd ::= SHOW USERS */
197, /* (8) cmd ::= SHOW MODULES */
197, /* (9) cmd ::= SHOW QUERIES */
197, /* (10) cmd ::= SHOW CONNECTIONS */
197, /* (11) cmd ::= SHOW STREAMS */
197, /* (12) cmd ::= SHOW VARIABLES */
197, /* (13) cmd ::= SHOW SCORES */
197, /* (14) cmd ::= SHOW GRANTS */
197, /* (15) cmd ::= SHOW VNODES */
197, /* (16) cmd ::= SHOW VNODES IPTOKEN */
198, /* (17) dbPrefix ::= */
198, /* (18) dbPrefix ::= ids DOT */
200, /* (19) cpxName ::= */
200, /* (20) cpxName ::= DOT ids */
197, /* (21) cmd ::= SHOW CREATE TABLE ids cpxName */
197, /* (22) cmd ::= SHOW CREATE STABLE ids cpxName */
197, /* (23) cmd ::= SHOW CREATE DATABASE ids */
197, /* (24) cmd ::= SHOW dbPrefix TABLES */
197, /* (25) cmd ::= SHOW dbPrefix TABLES LIKE ids */
197, /* (26) cmd ::= SHOW dbPrefix STABLES */
197, /* (27) cmd ::= SHOW dbPrefix STABLES LIKE ids */
197, /* (28) cmd ::= SHOW dbPrefix VGROUPS */
197, /* (29) cmd ::= SHOW dbPrefix VGROUPS ids */
197, /* (30) cmd ::= DROP TABLE ifexists ids cpxName */
197, /* (31) cmd ::= DROP STABLE ifexists ids cpxName */
197, /* (32) cmd ::= DROP DATABASE ifexists ids */
197, /* (33) cmd ::= DROP TOPIC ifexists ids */
197, /* (34) cmd ::= DROP FUNCTION ids */
197, /* (35) cmd ::= DROP DNODE ids */
197, /* (36) cmd ::= DROP USER ids */
197, /* (37) cmd ::= DROP ACCOUNT ids */
197, /* (38) cmd ::= USE ids */
197, /* (39) cmd ::= DESCRIBE ids cpxName */
197, /* (40) cmd ::= DESC ids cpxName */
197, /* (41) cmd ::= ALTER USER ids PASS ids */
197, /* (42) cmd ::= ALTER USER ids PRIVILEGE ids */
197, /* (43) cmd ::= ALTER DNODE ids ids */
197, /* (44) cmd ::= ALTER DNODE ids ids ids */
197, /* (45) cmd ::= ALTER LOCAL ids */
197, /* (46) cmd ::= ALTER LOCAL ids ids */
197, /* (47) cmd ::= ALTER DATABASE ids alter_db_optr */
197, /* (48) cmd ::= ALTER TOPIC ids alter_topic_optr */
197, /* (49) cmd ::= ALTER ACCOUNT ids acct_optr */
197, /* (50) cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
197, /* (51) cmd ::= COMPACT VNODES IN LP exprlist RP */
199, /* (52) ids ::= ID */
199, /* (53) ids ::= STRING */
201, /* (54) ifexists ::= IF EXISTS */
201, /* (55) ifexists ::= */
206, /* (56) ifnotexists ::= IF NOT EXISTS */
206, /* (57) ifnotexists ::= */
197, /* (58) cmd ::= CREATE DNODE ids */
197, /* (59) cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
197, /* (60) cmd ::= CREATE DATABASE ifnotexists ids db_optr */
197, /* (61) cmd ::= CREATE TOPIC ifnotexists ids topic_optr */
197, /* (62) cmd ::= CREATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
197, /* (63) cmd ::= CREATE AGGREGATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
197, /* (64) cmd ::= CREATE USER ids PASS ids */
210, /* (65) bufsize ::= */
210, /* (66) bufsize ::= BUFSIZE INTEGER */
211, /* (67) pps ::= */
211, /* (68) pps ::= PPS INTEGER */
212, /* (69) tseries ::= */
212, /* (70) tseries ::= TSERIES INTEGER */
213, /* (71) dbs ::= */
213, /* (72) dbs ::= DBS INTEGER */
214, /* (73) streams ::= */
214, /* (74) streams ::= STREAMS INTEGER */
215, /* (75) storage ::= */
215, /* (76) storage ::= STORAGE INTEGER */
216, /* (77) qtime ::= */
216, /* (78) qtime ::= QTIME INTEGER */
217, /* (79) users ::= */
217, /* (80) users ::= USERS INTEGER */
218, /* (81) conns ::= */
218, /* (82) conns ::= CONNS INTEGER */
219, /* (83) state ::= */
219, /* (84) state ::= STATE ids */
204, /* (85) acct_optr ::= pps tseries storage streams qtime dbs users conns state */
220, /* (86) intitemlist ::= intitemlist COMMA intitem */
220, /* (87) intitemlist ::= intitem */
221, /* (88) intitem ::= INTEGER */
222, /* (89) keep ::= KEEP intitemlist */
223, /* (90) cache ::= CACHE INTEGER */
224, /* (91) replica ::= REPLICA INTEGER */
225, /* (92) quorum ::= QUORUM INTEGER */
226, /* (93) days ::= DAYS INTEGER */
227, /* (94) minrows ::= MINROWS INTEGER */
228, /* (95) maxrows ::= MAXROWS INTEGER */
229, /* (96) blocks ::= BLOCKS INTEGER */
230, /* (97) ctime ::= CTIME INTEGER */
231, /* (98) wal ::= WAL INTEGER */
232, /* (99) fsync ::= FSYNC INTEGER */
233, /* (100) comp ::= COMP INTEGER */
234, /* (101) prec ::= PRECISION STRING */
235, /* (102) update ::= UPDATE INTEGER */
236, /* (103) cachelast ::= CACHELAST INTEGER */
237, /* (104) partitions ::= PARTITIONS INTEGER */
207, /* (105) db_optr ::= */
207, /* (106) db_optr ::= db_optr cache */
207, /* (107) db_optr ::= db_optr replica */
207, /* (108) db_optr ::= db_optr quorum */
207, /* (109) db_optr ::= db_optr days */
207, /* (110) db_optr ::= db_optr minrows */
207, /* (111) db_optr ::= db_optr maxrows */
207, /* (112) db_optr ::= db_optr blocks */
207, /* (113) db_optr ::= db_optr ctime */
207, /* (114) db_optr ::= db_optr wal */
207, /* (115) db_optr ::= db_optr fsync */
207, /* (116) db_optr ::= db_optr comp */
207, /* (117) db_optr ::= db_optr prec */
207, /* (118) db_optr ::= db_optr keep */
207, /* (119) db_optr ::= db_optr update */
207, /* (120) db_optr ::= db_optr cachelast */
208, /* (121) topic_optr ::= db_optr */
208, /* (122) topic_optr ::= topic_optr partitions */
202, /* (123) alter_db_optr ::= */
202, /* (124) alter_db_optr ::= alter_db_optr replica */
202, /* (125) alter_db_optr ::= alter_db_optr quorum */
202, /* (126) alter_db_optr ::= alter_db_optr keep */
202, /* (127) alter_db_optr ::= alter_db_optr blocks */
202, /* (128) alter_db_optr ::= alter_db_optr comp */
202, /* (129) alter_db_optr ::= alter_db_optr update */
202, /* (130) alter_db_optr ::= alter_db_optr cachelast */
203, /* (131) alter_topic_optr ::= alter_db_optr */
203, /* (132) alter_topic_optr ::= alter_topic_optr partitions */
209, /* (133) typename ::= ids */
209, /* (134) typename ::= ids LP signed RP */
209, /* (135) typename ::= ids UNSIGNED */
238, /* (136) signed ::= INTEGER */
238, /* (137) signed ::= PLUS INTEGER */
238, /* (138) signed ::= MINUS INTEGER */
197, /* (139) cmd ::= CREATE TABLE create_table_args */
197, /* (140) cmd ::= CREATE TABLE create_stable_args */
197, /* (141) cmd ::= CREATE STABLE create_stable_args */
197, /* (142) cmd ::= CREATE TABLE create_table_list */
241, /* (143) create_table_list ::= create_from_stable */
241, /* (144) create_table_list ::= create_table_list create_from_stable */
239, /* (145) create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
240, /* (146) create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
242, /* (147) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
242, /* (148) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */
245, /* (149) tagNamelist ::= tagNamelist COMMA ids */
245, /* (150) tagNamelist ::= ids */
239, /* (151) create_table_args ::= ifnotexists ids cpxName AS select */
243, /* (152) columnlist ::= columnlist COMMA column */
243, /* (153) columnlist ::= column */
247, /* (154) column ::= ids typename */
244, /* (155) tagitemlist ::= tagitemlist COMMA tagitem */
244, /* (156) tagitemlist ::= tagitem */
248, /* (157) tagitem ::= INTEGER */
248, /* (158) tagitem ::= FLOAT */
248, /* (159) tagitem ::= STRING */
248, /* (160) tagitem ::= BOOL */
248, /* (161) tagitem ::= NULL */
248, /* (162) tagitem ::= NOW */
248, /* (163) tagitem ::= MINUS INTEGER */
248, /* (164) tagitem ::= MINUS FLOAT */
248, /* (165) tagitem ::= PLUS INTEGER */
248, /* (166) tagitem ::= PLUS FLOAT */
246, /* (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 */
246, /* (168) select ::= LP select RP */
262, /* (169) union ::= select */
262, /* (170) union ::= union UNION ALL select */
197, /* (171) cmd ::= union */
246, /* (172) select ::= SELECT selcollist */
263, /* (173) sclp ::= selcollist COMMA */
263, /* (174) sclp ::= */
249, /* (175) selcollist ::= sclp distinct expr as */
249, /* (176) selcollist ::= sclp STAR */
266, /* (177) as ::= AS ids */
266, /* (178) as ::= ids */
266, /* (179) as ::= */
264, /* (180) distinct ::= DISTINCT */
264, /* (181) distinct ::= */
250, /* (182) from ::= FROM tablelist */
250, /* (183) from ::= FROM sub */
268, /* (184) sub ::= LP union RP */
268, /* (185) sub ::= LP union RP ids */
268, /* (186) sub ::= sub COMMA LP union RP ids */
267, /* (187) tablelist ::= ids cpxName */
267, /* (188) tablelist ::= ids cpxName ids */
267, /* (189) tablelist ::= tablelist COMMA ids cpxName */
267, /* (190) tablelist ::= tablelist COMMA ids cpxName ids */
269, /* (191) tmvar ::= VARIABLE */
252, /* (192) interval_option ::= intervalKey LP tmvar RP */
252, /* (193) interval_option ::= intervalKey LP tmvar COMMA tmvar RP */
252, /* (194) interval_option ::= */
270, /* (195) intervalKey ::= INTERVAL */
270, /* (196) intervalKey ::= EVERY */
254, /* (197) session_option ::= */
254, /* (198) session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
255, /* (199) windowstate_option ::= */
255, /* (200) windowstate_option ::= STATE_WINDOW LP ids RP */
256, /* (201) fill_opt ::= */
256, /* (202) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
256, /* (203) fill_opt ::= FILL LP ID RP */
253, /* (204) sliding_opt ::= SLIDING LP tmvar RP */
253, /* (205) sliding_opt ::= */
259, /* (206) orderby_opt ::= */
259, /* (207) orderby_opt ::= ORDER BY sortlist */
271, /* (208) sortlist ::= sortlist COMMA item sortorder */
271, /* (209) sortlist ::= item sortorder */
273, /* (210) item ::= ids cpxName */
274, /* (211) sortorder ::= ASC */
274, /* (212) sortorder ::= DESC */
274, /* (213) sortorder ::= */
257, /* (214) groupby_opt ::= */
257, /* (215) groupby_opt ::= GROUP BY grouplist */
275, /* (216) grouplist ::= grouplist COMMA item */
275, /* (217) grouplist ::= item */
258, /* (218) having_opt ::= */
258, /* (219) having_opt ::= HAVING expr */
261, /* (220) limit_opt ::= */
261, /* (221) limit_opt ::= LIMIT signed */
261, /* (222) limit_opt ::= LIMIT signed OFFSET signed */
261, /* (223) limit_opt ::= LIMIT signed COMMA signed */
260, /* (224) slimit_opt ::= */
260, /* (225) slimit_opt ::= SLIMIT signed */
260, /* (226) slimit_opt ::= SLIMIT signed SOFFSET signed */
260, /* (227) slimit_opt ::= SLIMIT signed COMMA signed */
251, /* (228) where_opt ::= */
251, /* (229) where_opt ::= WHERE expr */
265, /* (230) expr ::= LP expr RP */
265, /* (231) expr ::= ID */
265, /* (232) expr ::= ID DOT ID */
265, /* (233) expr ::= ID DOT STAR */
265, /* (234) expr ::= INTEGER */
265, /* (235) expr ::= MINUS INTEGER */
265, /* (236) expr ::= PLUS INTEGER */
265, /* (237) expr ::= FLOAT */
265, /* (238) expr ::= MINUS FLOAT */
265, /* (239) expr ::= PLUS FLOAT */
265, /* (240) expr ::= STRING */
265, /* (241) expr ::= NOW */
265, /* (242) expr ::= VARIABLE */
265, /* (243) expr ::= PLUS VARIABLE */
265, /* (244) expr ::= MINUS VARIABLE */
265, /* (245) expr ::= BOOL */
265, /* (246) expr ::= NULL */
265, /* (247) expr ::= ID LP exprlist RP */
265, /* (248) expr ::= ID LP STAR RP */
265, /* (249) expr ::= expr IS NULL */
265, /* (250) expr ::= expr IS NOT NULL */
265, /* (251) expr ::= expr LT expr */
265, /* (252) expr ::= expr GT expr */
265, /* (253) expr ::= expr LE expr */
265, /* (254) expr ::= expr GE expr */
265, /* (255) expr ::= expr NE expr */
265, /* (256) expr ::= expr EQ expr */
265, /* (257) expr ::= expr BETWEEN expr AND expr */
265, /* (258) expr ::= expr AND expr */
265, /* (259) expr ::= expr OR expr */
265, /* (260) expr ::= expr PLUS expr */
265, /* (261) expr ::= expr MINUS expr */
265, /* (262) expr ::= expr STAR expr */
265, /* (263) expr ::= expr SLASH expr */
265, /* (264) expr ::= expr REM expr */
265, /* (265) expr ::= expr LIKE expr */
265, /* (266) expr ::= expr IN LP exprlist RP */
205, /* (267) exprlist ::= exprlist COMMA expritem */
205, /* (268) exprlist ::= expritem */
276, /* (269) expritem ::= expr */
276, /* (270) expritem ::= */
197, /* (271) cmd ::= RESET QUERY CACHE */
197, /* (272) cmd ::= SYNCDB ids REPLICA */
197, /* (273) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
197, /* (274) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
197, /* (275) cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */
197, /* (276) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
197, /* (277) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
197, /* (278) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
197, /* (279) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
197, /* (280) cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */
197, /* (281) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
197, /* (282) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
197, /* (283) cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */
197, /* (284) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
197, /* (285) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
197, /* (286) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
197, /* (287) cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */
197, /* (288) cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */
197, /* (289) cmd ::= KILL CONNECTION INTEGER */
197, /* (290) cmd ::= KILL STREAM INTEGER COLON INTEGER */
197, /* (291) 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 TOPICS */
-2, /* (3) cmd ::= SHOW FUNCTIONS */
-2, /* (4) cmd ::= SHOW MNODES */
-2, /* (5) cmd ::= SHOW DNODES */
-2, /* (6) cmd ::= SHOW ACCOUNTS */
-2, /* (7) cmd ::= SHOW USERS */
-2, /* (8) cmd ::= SHOW MODULES */
-2, /* (9) cmd ::= SHOW QUERIES */
-2, /* (10) cmd ::= SHOW CONNECTIONS */
-2, /* (11) cmd ::= SHOW STREAMS */
-2, /* (12) cmd ::= SHOW VARIABLES */
-2, /* (13) cmd ::= SHOW SCORES */
-2, /* (14) cmd ::= SHOW GRANTS */
-2, /* (15) cmd ::= SHOW VNODES */
-3, /* (16) cmd ::= SHOW VNODES IPTOKEN */
0, /* (17) dbPrefix ::= */
-2, /* (18) dbPrefix ::= ids DOT */
0, /* (19) cpxName ::= */
-2, /* (20) cpxName ::= DOT ids */
-5, /* (21) cmd ::= SHOW CREATE TABLE ids cpxName */
-5, /* (22) cmd ::= SHOW CREATE STABLE ids cpxName */
-4, /* (23) cmd ::= SHOW CREATE DATABASE ids */
-3, /* (24) cmd ::= SHOW dbPrefix TABLES */
-5, /* (25) cmd ::= SHOW dbPrefix TABLES LIKE ids */
-3, /* (26) cmd ::= SHOW dbPrefix STABLES */
-5, /* (27) cmd ::= SHOW dbPrefix STABLES LIKE ids */
-3, /* (28) cmd ::= SHOW dbPrefix VGROUPS */
-4, /* (29) cmd ::= SHOW dbPrefix VGROUPS ids */
-5, /* (30) cmd ::= DROP TABLE ifexists ids cpxName */
-5, /* (31) cmd ::= DROP STABLE ifexists ids cpxName */
-4, /* (32) cmd ::= DROP DATABASE ifexists ids */
-4, /* (33) cmd ::= DROP TOPIC ifexists ids */
-3, /* (34) cmd ::= DROP FUNCTION ids */
-3, /* (35) cmd ::= DROP DNODE ids */
-3, /* (36) cmd ::= DROP USER ids */
-3, /* (37) cmd ::= DROP ACCOUNT ids */
-2, /* (38) cmd ::= USE ids */
-3, /* (39) cmd ::= DESCRIBE ids cpxName */
-3, /* (40) cmd ::= DESC ids cpxName */
-5, /* (41) cmd ::= ALTER USER ids PASS ids */
-5, /* (42) cmd ::= ALTER USER ids PRIVILEGE ids */
-4, /* (43) cmd ::= ALTER DNODE ids ids */
-5, /* (44) cmd ::= ALTER DNODE ids ids ids */
-3, /* (45) cmd ::= ALTER LOCAL ids */
-4, /* (46) cmd ::= ALTER LOCAL ids ids */
-4, /* (47) cmd ::= ALTER DATABASE ids alter_db_optr */
-4, /* (48) cmd ::= ALTER TOPIC ids alter_topic_optr */
-4, /* (49) cmd ::= ALTER ACCOUNT ids acct_optr */
-6, /* (50) cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
-6, /* (51) cmd ::= COMPACT VNODES IN LP exprlist RP */
-1, /* (52) ids ::= ID */
-1, /* (53) ids ::= STRING */
-2, /* (54) ifexists ::= IF EXISTS */
0, /* (55) ifexists ::= */
-3, /* (56) ifnotexists ::= IF NOT EXISTS */
0, /* (57) ifnotexists ::= */
-3, /* (58) cmd ::= CREATE DNODE ids */
-6, /* (59) cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
-5, /* (60) cmd ::= CREATE DATABASE ifnotexists ids db_optr */
-5, /* (61) cmd ::= CREATE TOPIC ifnotexists ids topic_optr */
-8, /* (62) cmd ::= CREATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
-9, /* (63) cmd ::= CREATE AGGREGATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
-5, /* (64) cmd ::= CREATE USER ids PASS ids */
0, /* (65) bufsize ::= */
-2, /* (66) bufsize ::= BUFSIZE INTEGER */
0, /* (67) pps ::= */
-2, /* (68) pps ::= PPS INTEGER */
0, /* (69) tseries ::= */
-2, /* (70) tseries ::= TSERIES INTEGER */
0, /* (71) dbs ::= */
-2, /* (72) dbs ::= DBS INTEGER */
0, /* (73) streams ::= */
-2, /* (74) streams ::= STREAMS INTEGER */
0, /* (75) storage ::= */
-2, /* (76) storage ::= STORAGE INTEGER */
0, /* (77) qtime ::= */
-2, /* (78) qtime ::= QTIME INTEGER */
0, /* (79) users ::= */
-2, /* (80) users ::= USERS INTEGER */
0, /* (81) conns ::= */
-2, /* (82) conns ::= CONNS INTEGER */
0, /* (83) state ::= */
-2, /* (84) state ::= STATE ids */
-9, /* (85) acct_optr ::= pps tseries storage streams qtime dbs users conns state */
-3, /* (86) intitemlist ::= intitemlist COMMA intitem */
-1, /* (87) intitemlist ::= intitem */
-1, /* (88) intitem ::= INTEGER */
-2, /* (89) keep ::= KEEP intitemlist */
-2, /* (90) cache ::= CACHE INTEGER */
-2, /* (91) replica ::= REPLICA INTEGER */
-2, /* (92) quorum ::= QUORUM INTEGER */
-2, /* (93) days ::= DAYS INTEGER */
-2, /* (94) minrows ::= MINROWS INTEGER */
-2, /* (95) maxrows ::= MAXROWS INTEGER */
-2, /* (96) blocks ::= BLOCKS INTEGER */
-2, /* (97) ctime ::= CTIME INTEGER */
-2, /* (98) wal ::= WAL INTEGER */
-2, /* (99) fsync ::= FSYNC INTEGER */
-2, /* (100) comp ::= COMP INTEGER */
-2, /* (101) prec ::= PRECISION STRING */
-2, /* (102) update ::= UPDATE INTEGER */
-2, /* (103) cachelast ::= CACHELAST INTEGER */
-2, /* (104) partitions ::= PARTITIONS INTEGER */
0, /* (105) db_optr ::= */
-2, /* (106) db_optr ::= db_optr cache */
-2, /* (107) db_optr ::= db_optr replica */
-2, /* (108) db_optr ::= db_optr quorum */
-2, /* (109) db_optr ::= db_optr days */
-2, /* (110) db_optr ::= db_optr minrows */
-2, /* (111) db_optr ::= db_optr maxrows */
-2, /* (112) db_optr ::= db_optr blocks */
-2, /* (113) db_optr ::= db_optr ctime */
-2, /* (114) db_optr ::= db_optr wal */
-2, /* (115) db_optr ::= db_optr fsync */
-2, /* (116) db_optr ::= db_optr comp */
-2, /* (117) db_optr ::= db_optr prec */
-2, /* (118) db_optr ::= db_optr keep */
-2, /* (119) db_optr ::= db_optr update */
-2, /* (120) db_optr ::= db_optr cachelast */
-1, /* (121) topic_optr ::= db_optr */
-2, /* (122) topic_optr ::= topic_optr partitions */
0, /* (123) alter_db_optr ::= */
-2, /* (124) alter_db_optr ::= alter_db_optr replica */
-2, /* (125) alter_db_optr ::= alter_db_optr quorum */
-2, /* (126) alter_db_optr ::= alter_db_optr keep */
-2, /* (127) alter_db_optr ::= alter_db_optr blocks */
-2, /* (128) alter_db_optr ::= alter_db_optr comp */
-2, /* (129) alter_db_optr ::= alter_db_optr update */
-2, /* (130) alter_db_optr ::= alter_db_optr cachelast */
-1, /* (131) alter_topic_optr ::= alter_db_optr */
-2, /* (132) alter_topic_optr ::= alter_topic_optr partitions */
-1, /* (133) typename ::= ids */
-4, /* (134) typename ::= ids LP signed RP */
-2, /* (135) typename ::= ids UNSIGNED */
-1, /* (136) signed ::= INTEGER */
-2, /* (137) signed ::= PLUS INTEGER */
-2, /* (138) signed ::= MINUS INTEGER */
-3, /* (139) cmd ::= CREATE TABLE create_table_args */
-3, /* (140) cmd ::= CREATE TABLE create_stable_args */
-3, /* (141) cmd ::= CREATE STABLE create_stable_args */
-3, /* (142) cmd ::= CREATE TABLE create_table_list */
-1, /* (143) create_table_list ::= create_from_stable */
-2, /* (144) create_table_list ::= create_table_list create_from_stable */
-6, /* (145) create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
-10, /* (146) create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
-10, /* (147) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
-13, /* (148) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */
-3, /* (149) tagNamelist ::= tagNamelist COMMA ids */
-1, /* (150) tagNamelist ::= ids */
-5, /* (151) create_table_args ::= ifnotexists ids cpxName AS select */
-3, /* (152) columnlist ::= columnlist COMMA column */
-1, /* (153) columnlist ::= column */
-2, /* (154) column ::= ids typename */
-3, /* (155) tagitemlist ::= tagitemlist COMMA tagitem */
-1, /* (156) tagitemlist ::= tagitem */
-1, /* (157) tagitem ::= INTEGER */
-1, /* (158) tagitem ::= FLOAT */
-1, /* (159) tagitem ::= STRING */
-1, /* (160) tagitem ::= BOOL */
-1, /* (161) tagitem ::= NULL */
-1, /* (162) tagitem ::= NOW */
-2, /* (163) tagitem ::= MINUS INTEGER */
-2, /* (164) tagitem ::= MINUS FLOAT */
-2, /* (165) tagitem ::= PLUS INTEGER */
-2, /* (166) tagitem ::= PLUS FLOAT */
-14, /* (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 */
-3, /* (168) select ::= LP select RP */
-1, /* (169) union ::= select */
-4, /* (170) union ::= union UNION ALL select */
-1, /* (171) cmd ::= union */
-2, /* (172) select ::= SELECT selcollist */
-2, /* (173) sclp ::= selcollist COMMA */
0, /* (174) sclp ::= */
-4, /* (175) selcollist ::= sclp distinct expr as */
-2, /* (176) selcollist ::= sclp STAR */
-2, /* (177) as ::= AS ids */
-1, /* (178) as ::= ids */
0, /* (179) as ::= */
-1, /* (180) distinct ::= DISTINCT */
0, /* (181) distinct ::= */
-2, /* (182) from ::= FROM tablelist */
-2, /* (183) from ::= FROM sub */
-3, /* (184) sub ::= LP union RP */
-4, /* (185) sub ::= LP union RP ids */
-6, /* (186) sub ::= sub COMMA LP union RP ids */
-2, /* (187) tablelist ::= ids cpxName */
-3, /* (188) tablelist ::= ids cpxName ids */
-4, /* (189) tablelist ::= tablelist COMMA ids cpxName */
-5, /* (190) tablelist ::= tablelist COMMA ids cpxName ids */
-1, /* (191) tmvar ::= VARIABLE */
-4, /* (192) interval_option ::= intervalKey LP tmvar RP */
-6, /* (193) interval_option ::= intervalKey LP tmvar COMMA tmvar RP */
0, /* (194) interval_option ::= */
-1, /* (195) intervalKey ::= INTERVAL */
-1, /* (196) intervalKey ::= EVERY */
0, /* (197) session_option ::= */
-7, /* (198) session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
0, /* (199) windowstate_option ::= */
-4, /* (200) windowstate_option ::= STATE_WINDOW LP ids RP */
0, /* (201) fill_opt ::= */
-6, /* (202) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
-4, /* (203) fill_opt ::= FILL LP ID RP */
-4, /* (204) sliding_opt ::= SLIDING LP tmvar RP */
0, /* (205) sliding_opt ::= */
0, /* (206) orderby_opt ::= */
-3, /* (207) orderby_opt ::= ORDER BY sortlist */
-4, /* (208) sortlist ::= sortlist COMMA item sortorder */
-2, /* (209) sortlist ::= item sortorder */
-2, /* (210) item ::= ids cpxName */
-1, /* (211) sortorder ::= ASC */
-1, /* (212) sortorder ::= DESC */
0, /* (213) sortorder ::= */
0, /* (214) groupby_opt ::= */
-3, /* (215) groupby_opt ::= GROUP BY grouplist */
-3, /* (216) grouplist ::= grouplist COMMA item */
-1, /* (217) grouplist ::= item */
0, /* (218) having_opt ::= */
-2, /* (219) having_opt ::= HAVING expr */
0, /* (220) limit_opt ::= */
-2, /* (221) limit_opt ::= LIMIT signed */
-4, /* (222) limit_opt ::= LIMIT signed OFFSET signed */
-4, /* (223) limit_opt ::= LIMIT signed COMMA signed */
0, /* (224) slimit_opt ::= */
-2, /* (225) slimit_opt ::= SLIMIT signed */
-4, /* (226) slimit_opt ::= SLIMIT signed SOFFSET signed */
-4, /* (227) slimit_opt ::= SLIMIT signed COMMA signed */
0, /* (228) where_opt ::= */
-2, /* (229) where_opt ::= WHERE expr */
-3, /* (230) expr ::= LP expr RP */
-1, /* (231) expr ::= ID */
-3, /* (232) expr ::= ID DOT ID */
-3, /* (233) expr ::= ID DOT STAR */
-1, /* (234) expr ::= INTEGER */
-2, /* (235) expr ::= MINUS INTEGER */
-2, /* (236) expr ::= PLUS INTEGER */
-1, /* (237) expr ::= FLOAT */
-2, /* (238) expr ::= MINUS FLOAT */
-2, /* (239) expr ::= PLUS FLOAT */
-1, /* (240) expr ::= STRING */
-1, /* (241) expr ::= NOW */
-1, /* (242) expr ::= VARIABLE */
-2, /* (243) expr ::= PLUS VARIABLE */
-2, /* (244) expr ::= MINUS VARIABLE */
-1, /* (245) expr ::= BOOL */
-1, /* (246) expr ::= NULL */
-4, /* (247) expr ::= ID LP exprlist RP */
-4, /* (248) expr ::= ID LP STAR RP */
-3, /* (249) expr ::= expr IS NULL */
-4, /* (250) expr ::= expr IS NOT NULL */
-3, /* (251) expr ::= expr LT expr */
-3, /* (252) expr ::= expr GT expr */
-3, /* (253) expr ::= expr LE expr */
-3, /* (254) expr ::= expr GE expr */
-3, /* (255) expr ::= expr NE expr */
-3, /* (256) expr ::= expr EQ expr */
-5, /* (257) expr ::= expr BETWEEN expr AND expr */
-3, /* (258) expr ::= expr AND expr */
-3, /* (259) expr ::= expr OR expr */
-3, /* (260) expr ::= expr PLUS expr */
-3, /* (261) expr ::= expr MINUS expr */
-3, /* (262) expr ::= expr STAR expr */
-3, /* (263) expr ::= expr SLASH expr */
-3, /* (264) expr ::= expr REM expr */
-3, /* (265) expr ::= expr LIKE expr */
-5, /* (266) expr ::= expr IN LP exprlist RP */
-3, /* (267) exprlist ::= exprlist COMMA expritem */
-1, /* (268) exprlist ::= expritem */
-1, /* (269) expritem ::= expr */
0, /* (270) expritem ::= */
-3, /* (271) cmd ::= RESET QUERY CACHE */
-3, /* (272) cmd ::= SYNCDB ids REPLICA */
-7, /* (273) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
-7, /* (274) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
-7, /* (275) cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */
-7, /* (276) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
-7, /* (277) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
-8, /* (278) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
-9, /* (279) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
-7, /* (280) cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */
-7, /* (281) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
-7, /* (282) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
-7, /* (283) cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */
-7, /* (284) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
-7, /* (285) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
-8, /* (286) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
-9, /* (287) cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */
-7, /* (288) cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */
-3, /* (289) cmd ::= KILL CONNECTION INTEGER */
-5, /* (290) cmd ::= KILL STREAM INTEGER COLON INTEGER */
-5, /* (291) cmd ::= KILL QUERY INTEGER COLON INTEGER */
};
static void yy_accept(yyParser*); /* Forward Declaration */
......@@ -2139,59 +2661,21 @@ 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;
if( yysize ){
fprintf(yyTraceFILE, "%sReduce %d [%s], go to state %d.\n",
yyTracePrompt,
yyruleno, yyRuleName[yyruleno], yymsp[yysize].stateno);
}else{
fprintf(yyTraceFILE, "%sReduce %d [%s].\n",
yyTracePrompt, yyruleno, yyRuleName[yyruleno]);
}
}
#endif /* NDEBUG */
/* Check that the stack is large enough to grow by a single entry
** if the RHS of the rule is empty. This ensures that there is room
** enough on the stack to push the LHS value */
if( yyRuleInfo[yyruleno].nrhs==0 ){
#ifdef YYTRACKMAXSTACKDEPTH
if( (int)(yypParser->yytos - yypParser->yystack)>yypParser->yyhwm ){
yypParser->yyhwm++;
assert( yypParser->yyhwm == (int)(yypParser->yytos - yypParser->yystack));
}
#endif
#if YYSTACKDEPTH>0
if( yypParser->yytos>=yypParser->yystackEnd ){
yyStackOverflow(yypParser);
return;
}
#else
if( yypParser->yytos>=&yypParser->yystack[yypParser->yystksz-1] ){
if( yyGrowStack(yypParser) ){
yyStackOverflow(yypParser);
return;
}
yymsp = yypParser->yytos;
}
#endif
}
switch( yyruleno ){
/* Beginning here are the reduction cases. A typical example
......@@ -2208,227 +2692,347 @@ static void 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 2697 "sql.c"
break;
case 1: /* cmd ::= SHOW DATABASES */
#line 66 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_DB, 0, 0);}
#line 2702 "sql.c"
break;
case 2: /* cmd ::= SHOW TOPICS */
#line 67 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_TP, 0, 0);}
#line 2707 "sql.c"
break;
case 3: /* cmd ::= SHOW FUNCTIONS */
#line 68 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_FUNCTION, 0, 0);}
#line 2712 "sql.c"
break;
case 4: /* cmd ::= SHOW MNODES */
#line 69 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_MNODE, 0, 0);}
#line 2717 "sql.c"
break;
case 5: /* cmd ::= SHOW DNODES */
#line 70 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_DNODE, 0, 0);}
#line 2722 "sql.c"
break;
case 6: /* cmd ::= SHOW ACCOUNTS */
#line 71 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_ACCT, 0, 0);}
#line 2727 "sql.c"
break;
case 7: /* cmd ::= SHOW USERS */
#line 72 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_USER, 0, 0);}
#line 2732 "sql.c"
break;
case 8: /* cmd ::= SHOW MODULES */
#line 74 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_MODULE, 0, 0); }
#line 2737 "sql.c"
break;
case 9: /* cmd ::= SHOW QUERIES */
#line 75 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_QUERIES, 0, 0); }
#line 2742 "sql.c"
break;
case 10: /* cmd ::= SHOW CONNECTIONS */
#line 76 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_CONNS, 0, 0);}
#line 2747 "sql.c"
break;
case 11: /* cmd ::= SHOW STREAMS */
#line 77 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_STREAMS, 0, 0); }
#line 2752 "sql.c"
break;
case 12: /* cmd ::= SHOW VARIABLES */
#line 78 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_VARIABLES, 0, 0); }
#line 2757 "sql.c"
break;
case 13: /* cmd ::= SHOW SCORES */
#line 79 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_SCORES, 0, 0); }
#line 2762 "sql.c"
break;
case 14: /* cmd ::= SHOW GRANTS */
#line 80 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_GRANTS, 0, 0); }
#line 2767 "sql.c"
break;
case 15: /* cmd ::= SHOW VNODES */
#line 82 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_VNODES, 0, 0); }
#line 2772 "sql.c"
break;
case 16: /* cmd ::= SHOW VNODES IPTOKEN */
#line 83 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_VNODES, &yymsp[0].minor.yy0, 0); }
#line 2777 "sql.c"
break;
case 17: /* dbPrefix ::= */
#line 87 "sql.y"
{yymsp[1].minor.yy0.n = 0; yymsp[1].minor.yy0.type = 0;}
#line 2782 "sql.c"
break;
case 18: /* dbPrefix ::= ids DOT */
#line 88 "sql.y"
{yylhsminor.yy0 = yymsp[-1].minor.yy0; }
#line 2787 "sql.c"
yymsp[-1].minor.yy0 = yylhsminor.yy0;
break;
case 19: /* cpxName ::= */
#line 91 "sql.y"
{yymsp[1].minor.yy0.n = 0; }
#line 2793 "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 2798 "sql.c"
break;
case 21: /* cmd ::= SHOW CREATE TABLE ids cpxName */
#line 94 "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 2806 "sql.c"
break;
case 22: /* cmd ::= SHOW CREATE STABLE ids cpxName */
#line 98 "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 2814 "sql.c"
break;
case 23: /* cmd ::= SHOW CREATE DATABASE ids */
#line 103 "sql.y"
{
setDCLSqlElems(pInfo, TSDB_SQL_SHOW_CREATE_DATABASE, 1, &yymsp[0].minor.yy0);
}
#line 2821 "sql.c"
break;
case 24: /* cmd ::= SHOW dbPrefix TABLES */
#line 107 "sql.y"
{
setShowOptions(pInfo, TSDB_MGMT_TABLE_TABLE, &yymsp[-1].minor.yy0, 0);
}
#line 2828 "sql.c"
break;
case 25: /* cmd ::= SHOW dbPrefix TABLES LIKE ids */
#line 111 "sql.y"
{
setShowOptions(pInfo, TSDB_MGMT_TABLE_TABLE, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0);
}
#line 2835 "sql.c"
break;
case 26: /* cmd ::= SHOW dbPrefix STABLES */
#line 115 "sql.y"
{
setShowOptions(pInfo, TSDB_MGMT_TABLE_METRIC, &yymsp[-1].minor.yy0, 0);
}
#line 2842 "sql.c"
break;
case 27: /* cmd ::= SHOW dbPrefix STABLES LIKE ids */
#line 119 "sql.y"
{
SStrToken token;
tSetDbName(&token, &yymsp[-3].minor.yy0);
setShowOptions(pInfo, TSDB_MGMT_TABLE_METRIC, &token, &yymsp[0].minor.yy0);
}
#line 2851 "sql.c"
break;
case 28: /* cmd ::= SHOW dbPrefix VGROUPS */
#line 125 "sql.y"
{
SStrToken token;
tSetDbName(&token, &yymsp[-1].minor.yy0);
setShowOptions(pInfo, TSDB_MGMT_TABLE_VGROUP, &token, 0);
}
#line 2860 "sql.c"
break;
case 29: /* cmd ::= SHOW dbPrefix VGROUPS ids */
#line 131 "sql.y"
{
SStrToken token;
tSetDbName(&token, &yymsp[-2].minor.yy0);
setShowOptions(pInfo, TSDB_MGMT_TABLE_VGROUP, &token, &yymsp[0].minor.yy0);
}
#line 2869 "sql.c"
break;
case 30: /* cmd ::= DROP TABLE ifexists ids cpxName */
#line 138 "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 2877 "sql.c"
break;
case 31: /* cmd ::= DROP STABLE ifexists ids cpxName */
#line 144 "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 2885 "sql.c"
break;
case 32: /* cmd ::= DROP DATABASE ifexists ids */
#line 149 "sql.y"
{ setDropDbTableInfo(pInfo, TSDB_SQL_DROP_DB, &yymsp[0].minor.yy0, &yymsp[-1].minor.yy0, TSDB_DB_TYPE_DEFAULT, -1); }
#line 2890 "sql.c"
break;
case 33: /* cmd ::= DROP TOPIC ifexists ids */
#line 150 "sql.y"
{ setDropDbTableInfo(pInfo, TSDB_SQL_DROP_DB, &yymsp[0].minor.yy0, &yymsp[-1].minor.yy0, TSDB_DB_TYPE_TOPIC, -1); }
#line 2895 "sql.c"
break;
case 34: /* cmd ::= DROP FUNCTION ids */
#line 151 "sql.y"
{ setDropFuncInfo(pInfo, TSDB_SQL_DROP_FUNCTION, &yymsp[0].minor.yy0); }
#line 2900 "sql.c"
break;
case 35: /* cmd ::= DROP DNODE ids */
#line 153 "sql.y"
{ setDCLSqlElems(pInfo, TSDB_SQL_DROP_DNODE, 1, &yymsp[0].minor.yy0); }
#line 2905 "sql.c"
break;
case 36: /* cmd ::= DROP USER ids */
#line 154 "sql.y"
{ setDCLSqlElems(pInfo, TSDB_SQL_DROP_USER, 1, &yymsp[0].minor.yy0); }
#line 2910 "sql.c"
break;
case 37: /* cmd ::= DROP ACCOUNT ids */
#line 155 "sql.y"
{ setDCLSqlElems(pInfo, TSDB_SQL_DROP_ACCT, 1, &yymsp[0].minor.yy0); }
#line 2915 "sql.c"
break;
case 38: /* cmd ::= USE ids */
#line 158 "sql.y"
{ setDCLSqlElems(pInfo, TSDB_SQL_USE_DB, 1, &yymsp[0].minor.yy0);}
#line 2920 "sql.c"
break;
case 39: /* cmd ::= DESCRIBE ids cpxName */
case 40: /* cmd ::= DESC ids cpxName */ yytestcase(yyruleno==40);
#line 161 "sql.y"
{
yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n;
setDCLSqlElems(pInfo, TSDB_SQL_DESCRIBE_TABLE, 1, &yymsp[-1].minor.yy0);
}
#line 2929 "sql.c"
break;
case 41: /* cmd ::= ALTER USER ids PASS ids */
#line 172 "sql.y"
{ setAlterUserSql(pInfo, TSDB_ALTER_USER_PASSWD, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, NULL); }
#line 2934 "sql.c"
break;
case 42: /* cmd ::= ALTER USER ids PRIVILEGE ids */
#line 173 "sql.y"
{ setAlterUserSql(pInfo, TSDB_ALTER_USER_PRIVILEGES, &yymsp[-2].minor.yy0, NULL, &yymsp[0].minor.yy0);}
#line 2939 "sql.c"
break;
case 43: /* cmd ::= ALTER DNODE ids ids */
#line 174 "sql.y"
{ setDCLSqlElems(pInfo, TSDB_SQL_CFG_DNODE, 2, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); }
#line 2944 "sql.c"
break;
case 44: /* cmd ::= ALTER DNODE ids ids ids */
#line 175 "sql.y"
{ setDCLSqlElems(pInfo, TSDB_SQL_CFG_DNODE, 3, &yymsp[-2].minor.yy0, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); }
#line 2949 "sql.c"
break;
case 45: /* cmd ::= ALTER LOCAL ids */
#line 176 "sql.y"
{ setDCLSqlElems(pInfo, TSDB_SQL_CFG_LOCAL, 1, &yymsp[0].minor.yy0); }
#line 2954 "sql.c"
break;
case 46: /* cmd ::= ALTER LOCAL ids ids */
#line 177 "sql.y"
{ setDCLSqlElems(pInfo, TSDB_SQL_CFG_LOCAL, 2, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); }
#line 2959 "sql.c"
break;
case 47: /* cmd ::= ALTER DATABASE ids alter_db_optr */
case 48: /* cmd ::= ALTER TOPIC ids alter_topic_optr */ yytestcase(yyruleno==48);
{ SStrToken t = {0}; setCreateDbInfo(pInfo, TSDB_SQL_ALTER_DB, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy90, &t);}
#line 178 "sql.y"
{ SStrToken t = {0}; setCreateDbInfo(pInfo, TSDB_SQL_ALTER_DB, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy246, &t);}
#line 2965 "sql.c"
break;
case 49: /* cmd ::= ALTER ACCOUNT ids acct_optr */
{ setCreateAcctSql(pInfo, TSDB_SQL_ALTER_ACCT, &yymsp[-1].minor.yy0, NULL, &yymsp[0].minor.yy171);}
#line 181 "sql.y"
{ setCreateAcctSql(pInfo, TSDB_SQL_ALTER_ACCT, &yymsp[-1].minor.yy0, NULL, &yymsp[0].minor.yy377);}
#line 2970 "sql.c"
break;
case 50: /* 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.yy171);}
#line 182 "sql.y"
{ setCreateAcctSql(pInfo, TSDB_SQL_ALTER_ACCT, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy377);}
#line 2975 "sql.c"
break;
case 51: /* cmd ::= COMPACT VNODES IN LP exprlist RP */
{ setCompactVnodeSql(pInfo, TSDB_SQL_COMPACT_VNODE, yymsp[-1].minor.yy421);}
#line 186 "sql.y"
{ setCompactVnodeSql(pInfo, TSDB_SQL_COMPACT_VNODE, yymsp[-1].minor.yy403);}
#line 2980 "sql.c"
break;
case 52: /* ids ::= ID */
case 53: /* ids ::= STRING */ yytestcase(yyruleno==53);
#line 192 "sql.y"
{yylhsminor.yy0 = yymsp[0].minor.yy0; }
#line 2986 "sql.c"
yymsp[0].minor.yy0 = yylhsminor.yy0;
break;
case 54: /* ifexists ::= IF EXISTS */
#line 196 "sql.y"
{ yymsp[-1].minor.yy0.n = 1;}
#line 2992 "sql.c"
break;
case 55: /* ifexists ::= */
case 57: /* ifnotexists ::= */ yytestcase(yyruleno==57);
case 181: /* distinct ::= */ yytestcase(yyruleno==181);
#line 197 "sql.y"
{ yymsp[1].minor.yy0.n = 0;}
#line 2999 "sql.c"
break;
case 56: /* ifnotexists ::= IF NOT EXISTS */
#line 200 "sql.y"
{ yymsp[-2].minor.yy0.n = 1;}
#line 3004 "sql.c"
break;
case 58: /* cmd ::= CREATE DNODE ids */
#line 205 "sql.y"
{ setDCLSqlElems(pInfo, TSDB_SQL_CREATE_DNODE, 1, &yymsp[0].minor.yy0);}
#line 3009 "sql.c"
break;
case 59: /* 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.yy171);}
#line 207 "sql.y"
{ setCreateAcctSql(pInfo, TSDB_SQL_CREATE_ACCT, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy377);}
#line 3014 "sql.c"
break;
case 60: /* cmd ::= CREATE DATABASE ifnotexists ids db_optr */
case 61: /* cmd ::= CREATE TOPIC ifnotexists ids topic_optr */ yytestcase(yyruleno==61);
{ setCreateDbInfo(pInfo, TSDB_SQL_CREATE_DB, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy90, &yymsp[-2].minor.yy0);}
#line 208 "sql.y"
{ setCreateDbInfo(pInfo, TSDB_SQL_CREATE_DB, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy246, &yymsp[-2].minor.yy0);}
#line 3020 "sql.c"
break;
case 62: /* cmd ::= CREATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
{ setCreateFuncInfo(pInfo, TSDB_SQL_CREATE_FUNCTION, &yymsp[-5].minor.yy0, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy183, &yymsp[0].minor.yy0, 1);}
#line 210 "sql.y"
{ setCreateFuncInfo(pInfo, TSDB_SQL_CREATE_FUNCTION, &yymsp[-5].minor.yy0, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy363, &yymsp[0].minor.yy0, 1);}
#line 3025 "sql.c"
break;
case 63: /* cmd ::= CREATE AGGREGATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
{ setCreateFuncInfo(pInfo, TSDB_SQL_CREATE_FUNCTION, &yymsp[-5].minor.yy0, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy183, &yymsp[0].minor.yy0, 2);}
#line 211 "sql.y"
{ setCreateFuncInfo(pInfo, TSDB_SQL_CREATE_FUNCTION, &yymsp[-5].minor.yy0, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy363, &yymsp[0].minor.yy0, 2);}
#line 3030 "sql.c"
break;
case 64: /* cmd ::= CREATE USER ids PASS ids */
#line 212 "sql.y"
{ setCreateUserSql(pInfo, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0);}
#line 3035 "sql.c"
break;
case 65: /* bufsize ::= */
case 67: /* pps ::= */ yytestcase(yyruleno==67);
......@@ -2440,7 +3044,9 @@ static void yy_reduce(
case 79: /* users ::= */ yytestcase(yyruleno==79);
case 81: /* conns ::= */ yytestcase(yyruleno==81);
case 83: /* state ::= */ yytestcase(yyruleno==83);
#line 214 "sql.y"
{ yymsp[1].minor.yy0.n = 0; }
#line 3049 "sql.c"
break;
case 66: /* bufsize ::= BUFSIZE INTEGER */
case 68: /* pps ::= PPS INTEGER */ yytestcase(yyruleno==68);
......@@ -2452,42 +3058,54 @@ static void 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 215 "sql.y"
{ yymsp[-1].minor.yy0 = yymsp[0].minor.yy0; }
#line 3063 "sql.c"
break;
case 85: /* acct_optr ::= pps tseries storage streams qtime dbs users conns state */
#line 245 "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;
yylhsminor.yy171.maxTimeSeries = (yymsp[-7].minor.yy0.n>0)?atoi(yymsp[-7].minor.yy0.z):-1;
yylhsminor.yy171.maxStreams = (yymsp[-5].minor.yy0.n>0)?atoi(yymsp[-5].minor.yy0.z):-1;
yylhsminor.yy171.maxPointsPerSecond = (yymsp[-8].minor.yy0.n>0)?atoi(yymsp[-8].minor.yy0.z):-1;
yylhsminor.yy171.maxStorage = (yymsp[-6].minor.yy0.n>0)?strtoll(yymsp[-6].minor.yy0.z, NULL, 10):-1;
yylhsminor.yy171.maxQueryTime = (yymsp[-4].minor.yy0.n>0)?strtoll(yymsp[-4].minor.yy0.z, NULL, 10):-1;
yylhsminor.yy171.maxConnections = (yymsp[-1].minor.yy0.n>0)?atoi(yymsp[-1].minor.yy0.z):-1;
yylhsminor.yy171.stat = yymsp[0].minor.yy0;
yylhsminor.yy377.maxUsers = (yymsp[-2].minor.yy0.n>0)?atoi(yymsp[-2].minor.yy0.z):-1;
yylhsminor.yy377.maxDbs = (yymsp[-3].minor.yy0.n>0)?atoi(yymsp[-3].minor.yy0.z):-1;
yylhsminor.yy377.maxTimeSeries = (yymsp[-7].minor.yy0.n>0)?atoi(yymsp[-7].minor.yy0.z):-1;
yylhsminor.yy377.maxStreams = (yymsp[-5].minor.yy0.n>0)?atoi(yymsp[-5].minor.yy0.z):-1;
yylhsminor.yy377.maxPointsPerSecond = (yymsp[-8].minor.yy0.n>0)?atoi(yymsp[-8].minor.yy0.z):-1;
yylhsminor.yy377.maxStorage = (yymsp[-6].minor.yy0.n>0)?strtoll(yymsp[-6].minor.yy0.z, NULL, 10):-1;
yylhsminor.yy377.maxQueryTime = (yymsp[-4].minor.yy0.n>0)?strtoll(yymsp[-4].minor.yy0.z, NULL, 10):-1;
yylhsminor.yy377.maxConnections = (yymsp[-1].minor.yy0.n>0)?atoi(yymsp[-1].minor.yy0.z):-1;
yylhsminor.yy377.stat = yymsp[0].minor.yy0;
}
yymsp[-8].minor.yy171 = yylhsminor.yy171;
#line 3078 "sql.c"
yymsp[-8].minor.yy377 = yylhsminor.yy377;
break;
case 86: /* intitemlist ::= intitemlist COMMA intitem */
case 155: /* tagitemlist ::= tagitemlist COMMA tagitem */ yytestcase(yyruleno==155);
{ yylhsminor.yy421 = tVariantListAppend(yymsp[-2].minor.yy421, &yymsp[0].minor.yy430, -1); }
yymsp[-2].minor.yy421 = yylhsminor.yy421;
#line 261 "sql.y"
{ yylhsminor.yy403 = tVariantListAppend(yymsp[-2].minor.yy403, &yymsp[0].minor.yy488, -1); }
#line 3085 "sql.c"
yymsp[-2].minor.yy403 = yylhsminor.yy403;
break;
case 87: /* intitemlist ::= intitem */
case 156: /* tagitemlist ::= tagitem */ yytestcase(yyruleno==156);
{ yylhsminor.yy421 = tVariantListAppend(NULL, &yymsp[0].minor.yy430, -1); }
yymsp[0].minor.yy421 = yylhsminor.yy421;
#line 262 "sql.y"
{ yylhsminor.yy403 = tVariantListAppend(NULL, &yymsp[0].minor.yy488, -1); }
#line 3092 "sql.c"
yymsp[0].minor.yy403 = yylhsminor.yy403;
break;
case 88: /* intitem ::= INTEGER */
case 157: /* tagitem ::= INTEGER */ yytestcase(yyruleno==157);
case 158: /* tagitem ::= FLOAT */ yytestcase(yyruleno==158);
case 159: /* tagitem ::= STRING */ yytestcase(yyruleno==159);
case 160: /* tagitem ::= BOOL */ yytestcase(yyruleno==160);
{ toTSDBType(yymsp[0].minor.yy0.type); tVariantCreate(&yylhsminor.yy430, &yymsp[0].minor.yy0); }
yymsp[0].minor.yy430 = yylhsminor.yy430;
#line 264 "sql.y"
{ toTSDBType(yymsp[0].minor.yy0.type); tVariantCreate(&yylhsminor.yy488, &yymsp[0].minor.yy0); }
#line 3102 "sql.c"
yymsp[0].minor.yy488 = yylhsminor.yy488;
break;
case 89: /* keep ::= KEEP intitemlist */
{ yymsp[-1].minor.yy421 = yymsp[0].minor.yy421; }
#line 268 "sql.y"
{ yymsp[-1].minor.yy403 = yymsp[0].minor.yy403; }
#line 3108 "sql.c"
break;
case 90: /* cache ::= CACHE INTEGER */
case 91: /* replica ::= REPLICA INTEGER */ yytestcase(yyruleno==91);
......@@ -2504,647 +3122,924 @@ static void 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 270 "sql.y"
{ yymsp[-1].minor.yy0 = yymsp[0].minor.yy0; }
#line 3127 "sql.c"
break;
case 105: /* db_optr ::= */
{setDefaultCreateDbOption(&yymsp[1].minor.yy90); yymsp[1].minor.yy90.dbType = TSDB_DB_TYPE_DEFAULT;}
#line 287 "sql.y"
{setDefaultCreateDbOption(&yymsp[1].minor.yy246); yymsp[1].minor.yy246.dbType = TSDB_DB_TYPE_DEFAULT;}
#line 3132 "sql.c"
break;
case 106: /* db_optr ::= db_optr cache */
{ yylhsminor.yy90 = yymsp[-1].minor.yy90; yylhsminor.yy90.cacheBlockSize = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
yymsp[-1].minor.yy90 = yylhsminor.yy90;
#line 289 "sql.y"
{ yylhsminor.yy246 = yymsp[-1].minor.yy246; yylhsminor.yy246.cacheBlockSize = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
#line 3137 "sql.c"
yymsp[-1].minor.yy246 = yylhsminor.yy246;
break;
case 107: /* db_optr ::= db_optr replica */
case 124: /* alter_db_optr ::= alter_db_optr replica */ yytestcase(yyruleno==124);
{ yylhsminor.yy90 = yymsp[-1].minor.yy90; yylhsminor.yy90.replica = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
yymsp[-1].minor.yy90 = yylhsminor.yy90;
#line 290 "sql.y"
{ yylhsminor.yy246 = yymsp[-1].minor.yy246; yylhsminor.yy246.replica = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
#line 3144 "sql.c"
yymsp[-1].minor.yy246 = yylhsminor.yy246;
break;
case 108: /* db_optr ::= db_optr quorum */
case 125: /* alter_db_optr ::= alter_db_optr quorum */ yytestcase(yyruleno==125);
{ yylhsminor.yy90 = yymsp[-1].minor.yy90; yylhsminor.yy90.quorum = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
yymsp[-1].minor.yy90 = yylhsminor.yy90;
#line 291 "sql.y"
{ yylhsminor.yy246 = yymsp[-1].minor.yy246; yylhsminor.yy246.quorum = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
#line 3151 "sql.c"
yymsp[-1].minor.yy246 = yylhsminor.yy246;
break;
case 109: /* db_optr ::= db_optr days */
{ yylhsminor.yy90 = yymsp[-1].minor.yy90; yylhsminor.yy90.daysPerFile = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
yymsp[-1].minor.yy90 = yylhsminor.yy90;
#line 292 "sql.y"
{ yylhsminor.yy246 = yymsp[-1].minor.yy246; yylhsminor.yy246.daysPerFile = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
#line 3157 "sql.c"
yymsp[-1].minor.yy246 = yylhsminor.yy246;
break;
case 110: /* db_optr ::= db_optr minrows */
{ yylhsminor.yy90 = yymsp[-1].minor.yy90; yylhsminor.yy90.minRowsPerBlock = strtod(yymsp[0].minor.yy0.z, NULL); }
yymsp[-1].minor.yy90 = yylhsminor.yy90;
#line 293 "sql.y"
{ yylhsminor.yy246 = yymsp[-1].minor.yy246; yylhsminor.yy246.minRowsPerBlock = strtod(yymsp[0].minor.yy0.z, NULL); }
#line 3163 "sql.c"
yymsp[-1].minor.yy246 = yylhsminor.yy246;
break;
case 111: /* db_optr ::= db_optr maxrows */
{ yylhsminor.yy90 = yymsp[-1].minor.yy90; yylhsminor.yy90.maxRowsPerBlock = strtod(yymsp[0].minor.yy0.z, NULL); }
yymsp[-1].minor.yy90 = yylhsminor.yy90;
#line 294 "sql.y"
{ yylhsminor.yy246 = yymsp[-1].minor.yy246; yylhsminor.yy246.maxRowsPerBlock = strtod(yymsp[0].minor.yy0.z, NULL); }
#line 3169 "sql.c"
yymsp[-1].minor.yy246 = yylhsminor.yy246;
break;
case 112: /* db_optr ::= db_optr blocks */
case 127: /* alter_db_optr ::= alter_db_optr blocks */ yytestcase(yyruleno==127);
{ yylhsminor.yy90 = yymsp[-1].minor.yy90; yylhsminor.yy90.numOfBlocks = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
yymsp[-1].minor.yy90 = yylhsminor.yy90;
#line 295 "sql.y"
{ yylhsminor.yy246 = yymsp[-1].minor.yy246; yylhsminor.yy246.numOfBlocks = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
#line 3176 "sql.c"
yymsp[-1].minor.yy246 = yylhsminor.yy246;
break;
case 113: /* db_optr ::= db_optr ctime */
{ yylhsminor.yy90 = yymsp[-1].minor.yy90; yylhsminor.yy90.commitTime = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
yymsp[-1].minor.yy90 = yylhsminor.yy90;
#line 296 "sql.y"
{ yylhsminor.yy246 = yymsp[-1].minor.yy246; yylhsminor.yy246.commitTime = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
#line 3182 "sql.c"
yymsp[-1].minor.yy246 = yylhsminor.yy246;
break;
case 114: /* db_optr ::= db_optr wal */
{ yylhsminor.yy90 = yymsp[-1].minor.yy90; yylhsminor.yy90.walLevel = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
yymsp[-1].minor.yy90 = yylhsminor.yy90;
#line 297 "sql.y"
{ yylhsminor.yy246 = yymsp[-1].minor.yy246; yylhsminor.yy246.walLevel = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
#line 3188 "sql.c"
yymsp[-1].minor.yy246 = yylhsminor.yy246;
break;
case 115: /* db_optr ::= db_optr fsync */
{ yylhsminor.yy90 = yymsp[-1].minor.yy90; yylhsminor.yy90.fsyncPeriod = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
yymsp[-1].minor.yy90 = yylhsminor.yy90;
#line 298 "sql.y"
{ yylhsminor.yy246 = yymsp[-1].minor.yy246; yylhsminor.yy246.fsyncPeriod = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
#line 3194 "sql.c"
yymsp[-1].minor.yy246 = yylhsminor.yy246;
break;
case 116: /* db_optr ::= db_optr comp */
case 128: /* alter_db_optr ::= alter_db_optr comp */ yytestcase(yyruleno==128);
{ yylhsminor.yy90 = yymsp[-1].minor.yy90; yylhsminor.yy90.compressionLevel = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
yymsp[-1].minor.yy90 = yylhsminor.yy90;
#line 299 "sql.y"
{ yylhsminor.yy246 = yymsp[-1].minor.yy246; yylhsminor.yy246.compressionLevel = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
#line 3201 "sql.c"
yymsp[-1].minor.yy246 = yylhsminor.yy246;
break;
case 117: /* db_optr ::= db_optr prec */
{ yylhsminor.yy90 = yymsp[-1].minor.yy90; yylhsminor.yy90.precision = yymsp[0].minor.yy0; }
yymsp[-1].minor.yy90 = yylhsminor.yy90;
#line 300 "sql.y"
{ yylhsminor.yy246 = yymsp[-1].minor.yy246; yylhsminor.yy246.precision = yymsp[0].minor.yy0; }
#line 3207 "sql.c"
yymsp[-1].minor.yy246 = yylhsminor.yy246;
break;
case 118: /* db_optr ::= db_optr keep */
case 126: /* alter_db_optr ::= alter_db_optr keep */ yytestcase(yyruleno==126);
{ yylhsminor.yy90 = yymsp[-1].minor.yy90; yylhsminor.yy90.keep = yymsp[0].minor.yy421; }
yymsp[-1].minor.yy90 = yylhsminor.yy90;
#line 301 "sql.y"
{ yylhsminor.yy246 = yymsp[-1].minor.yy246; yylhsminor.yy246.keep = yymsp[0].minor.yy403; }
#line 3214 "sql.c"
yymsp[-1].minor.yy246 = yylhsminor.yy246;
break;
case 119: /* db_optr ::= db_optr update */
case 129: /* alter_db_optr ::= alter_db_optr update */ yytestcase(yyruleno==129);
{ yylhsminor.yy90 = yymsp[-1].minor.yy90; yylhsminor.yy90.update = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
yymsp[-1].minor.yy90 = yylhsminor.yy90;
#line 302 "sql.y"
{ yylhsminor.yy246 = yymsp[-1].minor.yy246; yylhsminor.yy246.update = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
#line 3221 "sql.c"
yymsp[-1].minor.yy246 = yylhsminor.yy246;
break;
case 120: /* db_optr ::= db_optr cachelast */
case 130: /* alter_db_optr ::= alter_db_optr cachelast */ yytestcase(yyruleno==130);
{ yylhsminor.yy90 = yymsp[-1].minor.yy90; yylhsminor.yy90.cachelast = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
yymsp[-1].minor.yy90 = yylhsminor.yy90;
#line 303 "sql.y"
{ yylhsminor.yy246 = yymsp[-1].minor.yy246; yylhsminor.yy246.cachelast = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
#line 3228 "sql.c"
yymsp[-1].minor.yy246 = yylhsminor.yy246;
break;
case 121: /* topic_optr ::= db_optr */
case 131: /* alter_topic_optr ::= alter_db_optr */ yytestcase(yyruleno==131);
{ yylhsminor.yy90 = yymsp[0].minor.yy90; yylhsminor.yy90.dbType = TSDB_DB_TYPE_TOPIC; }
yymsp[0].minor.yy90 = yylhsminor.yy90;
#line 307 "sql.y"
{ yylhsminor.yy246 = yymsp[0].minor.yy246; yylhsminor.yy246.dbType = TSDB_DB_TYPE_TOPIC; }
#line 3235 "sql.c"
yymsp[0].minor.yy246 = yylhsminor.yy246;
break;
case 122: /* topic_optr ::= topic_optr partitions */
case 132: /* alter_topic_optr ::= alter_topic_optr partitions */ yytestcase(yyruleno==132);
{ yylhsminor.yy90 = yymsp[-1].minor.yy90; yylhsminor.yy90.partitions = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
yymsp[-1].minor.yy90 = yylhsminor.yy90;
#line 308 "sql.y"
{ yylhsminor.yy246 = yymsp[-1].minor.yy246; yylhsminor.yy246.partitions = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
#line 3242 "sql.c"
yymsp[-1].minor.yy246 = yylhsminor.yy246;
break;
case 123: /* alter_db_optr ::= */
{ setDefaultCreateDbOption(&yymsp[1].minor.yy90); yymsp[1].minor.yy90.dbType = TSDB_DB_TYPE_DEFAULT;}
#line 311 "sql.y"
{ setDefaultCreateDbOption(&yymsp[1].minor.yy246); yymsp[1].minor.yy246.dbType = TSDB_DB_TYPE_DEFAULT;}
#line 3248 "sql.c"
break;
case 133: /* typename ::= ids */
#line 331 "sql.y"
{
yymsp[0].minor.yy0.type = 0;
tSetColumnType (&yylhsminor.yy183, &yymsp[0].minor.yy0);
tSetColumnType (&yylhsminor.yy363, &yymsp[0].minor.yy0);
}
yymsp[0].minor.yy183 = yylhsminor.yy183;
#line 3256 "sql.c"
yymsp[0].minor.yy363 = yylhsminor.yy363;
break;
case 134: /* typename ::= ids LP signed RP */
#line 337 "sql.y"
{
if (yymsp[-1].minor.yy325 <= 0) {
if (yymsp[-1].minor.yy387 <= 0) {
yymsp[-3].minor.yy0.type = 0;
tSetColumnType(&yylhsminor.yy183, &yymsp[-3].minor.yy0);
tSetColumnType(&yylhsminor.yy363, &yymsp[-3].minor.yy0);
} else {
yymsp[-3].minor.yy0.type = -yymsp[-1].minor.yy325; // negative value of name length
tSetColumnType(&yylhsminor.yy183, &yymsp[-3].minor.yy0);
yymsp[-3].minor.yy0.type = -yymsp[-1].minor.yy387; // negative value of name length
tSetColumnType(&yylhsminor.yy363, &yymsp[-3].minor.yy0);
}
}
yymsp[-3].minor.yy183 = yylhsminor.yy183;
#line 3270 "sql.c"
yymsp[-3].minor.yy363 = yylhsminor.yy363;
break;
case 135: /* typename ::= ids UNSIGNED */
#line 348 "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);
tSetColumnType (&yylhsminor.yy363, &yymsp[-1].minor.yy0);
}
yymsp[-1].minor.yy183 = yylhsminor.yy183;
#line 3280 "sql.c"
yymsp[-1].minor.yy363 = yylhsminor.yy363;
break;
case 136: /* signed ::= INTEGER */
{ yylhsminor.yy325 = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
yymsp[0].minor.yy325 = yylhsminor.yy325;
#line 355 "sql.y"
{ yylhsminor.yy387 = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
#line 3286 "sql.c"
yymsp[0].minor.yy387 = yylhsminor.yy387;
break;
case 137: /* signed ::= PLUS INTEGER */
{ yymsp[-1].minor.yy325 = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
#line 356 "sql.y"
{ yymsp[-1].minor.yy387 = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
#line 3292 "sql.c"
break;
case 138: /* signed ::= MINUS INTEGER */
{ yymsp[-1].minor.yy325 = -strtol(yymsp[0].minor.yy0.z, NULL, 10);}
#line 357 "sql.y"
{ yymsp[-1].minor.yy387 = -strtol(yymsp[0].minor.yy0.z, NULL, 10);}
#line 3297 "sql.c"
break;
case 142: /* cmd ::= CREATE TABLE create_table_list */
{ pInfo->type = TSDB_SQL_CREATE_TABLE; pInfo->pCreateTableInfo = yymsp[0].minor.yy438;}
#line 363 "sql.y"
{ pInfo->type = TSDB_SQL_CREATE_TABLE; pInfo->pCreateTableInfo = yymsp[0].minor.yy56;}
#line 3302 "sql.c"
break;
case 143: /* create_table_list ::= create_from_stable */
#line 367 "sql.y"
{
SCreateTableSql* pCreateTable = calloc(1, sizeof(SCreateTableSql));
pCreateTable->childTableInfo = taosArrayInit(4, sizeof(SCreatedTableInfo));
taosArrayPush(pCreateTable->childTableInfo, &yymsp[0].minor.yy152);
taosArrayPush(pCreateTable->childTableInfo, &yymsp[0].minor.yy84);
pCreateTable->type = TSQL_CREATE_TABLE_FROM_STABLE;
yylhsminor.yy438 = pCreateTable;
yylhsminor.yy56 = pCreateTable;
}
yymsp[0].minor.yy438 = yylhsminor.yy438;
#line 3314 "sql.c"
yymsp[0].minor.yy56 = yylhsminor.yy56;
break;
case 144: /* create_table_list ::= create_table_list create_from_stable */
#line 376 "sql.y"
{
taosArrayPush(yymsp[-1].minor.yy438->childTableInfo, &yymsp[0].minor.yy152);
yylhsminor.yy438 = yymsp[-1].minor.yy438;
taosArrayPush(yymsp[-1].minor.yy56->childTableInfo, &yymsp[0].minor.yy84);
yylhsminor.yy56 = yymsp[-1].minor.yy56;
}
yymsp[-1].minor.yy438 = yylhsminor.yy438;
#line 3323 "sql.c"
yymsp[-1].minor.yy56 = yylhsminor.yy56;
break;
case 145: /* create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
#line 382 "sql.y"
{
yylhsminor.yy438 = tSetCreateTableInfo(yymsp[-1].minor.yy421, NULL, NULL, TSQL_CREATE_TABLE);
setSqlInfo(pInfo, yylhsminor.yy438, NULL, TSDB_SQL_CREATE_TABLE);
yylhsminor.yy56 = tSetCreateTableInfo(yymsp[-1].minor.yy403, NULL, NULL, TSQL_CREATE_TABLE);
setSqlInfo(pInfo, yylhsminor.yy56, NULL, TSDB_SQL_CREATE_TABLE);
yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n;
setCreatedTableName(pInfo, &yymsp[-4].minor.yy0, &yymsp[-5].minor.yy0);
}
yymsp[-5].minor.yy438 = yylhsminor.yy438;
#line 3335 "sql.c"
yymsp[-5].minor.yy56 = yylhsminor.yy56;
break;
case 146: /* create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
#line 392 "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);
yylhsminor.yy56 = tSetCreateTableInfo(yymsp[-5].minor.yy403, yymsp[-1].minor.yy403, NULL, TSQL_CREATE_STABLE);
setSqlInfo(pInfo, yylhsminor.yy56, NULL, TSDB_SQL_CREATE_TABLE);
yymsp[-8].minor.yy0.n += yymsp[-7].minor.yy0.n;
setCreatedTableName(pInfo, &yymsp[-8].minor.yy0, &yymsp[-9].minor.yy0);
}
yymsp[-9].minor.yy438 = yylhsminor.yy438;
#line 3347 "sql.c"
yymsp[-9].minor.yy56 = yylhsminor.yy56;
break;
case 147: /* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
#line 403 "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);
yylhsminor.yy84 = createNewChildTableInfo(&yymsp[-5].minor.yy0, NULL, yymsp[-1].minor.yy403, &yymsp[-8].minor.yy0, &yymsp[-9].minor.yy0);
}
yymsp[-9].minor.yy152 = yylhsminor.yy152;
#line 3357 "sql.c"
yymsp[-9].minor.yy84 = yylhsminor.yy84;
break;
case 148: /* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */
#line 409 "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);
yylhsminor.yy84 = createNewChildTableInfo(&yymsp[-8].minor.yy0, yymsp[-5].minor.yy403, yymsp[-1].minor.yy403, &yymsp[-11].minor.yy0, &yymsp[-12].minor.yy0);
}
yymsp[-12].minor.yy152 = yylhsminor.yy152;
#line 3367 "sql.c"
yymsp[-12].minor.yy84 = yylhsminor.yy84;
break;
case 149: /* tagNamelist ::= tagNamelist COMMA ids */
{taosArrayPush(yymsp[-2].minor.yy421, &yymsp[0].minor.yy0); yylhsminor.yy421 = yymsp[-2].minor.yy421; }
yymsp[-2].minor.yy421 = yylhsminor.yy421;
#line 417 "sql.y"
{taosArrayPush(yymsp[-2].minor.yy403, &yymsp[0].minor.yy0); yylhsminor.yy403 = yymsp[-2].minor.yy403; }
#line 3373 "sql.c"
yymsp[-2].minor.yy403 = yylhsminor.yy403;
break;
case 150: /* tagNamelist ::= ids */
{yylhsminor.yy421 = taosArrayInit(4, sizeof(SStrToken)); taosArrayPush(yylhsminor.yy421, &yymsp[0].minor.yy0);}
yymsp[0].minor.yy421 = yylhsminor.yy421;
#line 418 "sql.y"
{yylhsminor.yy403 = taosArrayInit(4, sizeof(SStrToken)); taosArrayPush(yylhsminor.yy403, &yymsp[0].minor.yy0);}
#line 3379 "sql.c"
yymsp[0].minor.yy403 = yylhsminor.yy403;
break;
case 151: /* create_table_args ::= ifnotexists ids cpxName AS select */
#line 422 "sql.y"
{
yylhsminor.yy438 = tSetCreateTableInfo(NULL, NULL, yymsp[0].minor.yy56, TSQL_CREATE_STREAM);
setSqlInfo(pInfo, yylhsminor.yy438, NULL, TSDB_SQL_CREATE_TABLE);
yylhsminor.yy56 = tSetCreateTableInfo(NULL, NULL, yymsp[0].minor.yy224, TSQL_CREATE_STREAM);
setSqlInfo(pInfo, yylhsminor.yy56, NULL, TSDB_SQL_CREATE_TABLE);
yymsp[-3].minor.yy0.n += yymsp[-2].minor.yy0.n;
setCreatedTableName(pInfo, &yymsp[-3].minor.yy0, &yymsp[-4].minor.yy0);
}
yymsp[-4].minor.yy438 = yylhsminor.yy438;
#line 3391 "sql.c"
yymsp[-4].minor.yy56 = yylhsminor.yy56;
break;
case 152: /* 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;
#line 433 "sql.y"
{taosArrayPush(yymsp[-2].minor.yy403, &yymsp[0].minor.yy363); yylhsminor.yy403 = yymsp[-2].minor.yy403; }
#line 3397 "sql.c"
yymsp[-2].minor.yy403 = yylhsminor.yy403;
break;
case 153: /* columnlist ::= column */
{yylhsminor.yy421 = taosArrayInit(4, sizeof(TAOS_FIELD)); taosArrayPush(yylhsminor.yy421, &yymsp[0].minor.yy183);}
yymsp[0].minor.yy421 = yylhsminor.yy421;
#line 434 "sql.y"
{yylhsminor.yy403 = taosArrayInit(4, sizeof(TAOS_FIELD)); taosArrayPush(yylhsminor.yy403, &yymsp[0].minor.yy363);}
#line 3403 "sql.c"
yymsp[0].minor.yy403 = yylhsminor.yy403;
break;
case 154: /* column ::= ids typename */
#line 438 "sql.y"
{
tSetColumnInfo(&yylhsminor.yy183, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy183);
tSetColumnInfo(&yylhsminor.yy363, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy363);
}
yymsp[-1].minor.yy183 = yylhsminor.yy183;
#line 3411 "sql.c"
yymsp[-1].minor.yy363 = yylhsminor.yy363;
break;
case 161: /* tagitem ::= NULL */
{ yymsp[0].minor.yy0.type = 0; tVariantCreate(&yylhsminor.yy430, &yymsp[0].minor.yy0); }
yymsp[0].minor.yy430 = yylhsminor.yy430;
#line 453 "sql.y"
{ yymsp[0].minor.yy0.type = 0; tVariantCreate(&yylhsminor.yy488, &yymsp[0].minor.yy0); }
#line 3417 "sql.c"
yymsp[0].minor.yy488 = yylhsminor.yy488;
break;
case 162: /* tagitem ::= NOW */
{ yymsp[0].minor.yy0.type = TSDB_DATA_TYPE_TIMESTAMP; tVariantCreate(&yylhsminor.yy430, &yymsp[0].minor.yy0);}
yymsp[0].minor.yy430 = yylhsminor.yy430;
#line 454 "sql.y"
{ yymsp[0].minor.yy0.type = TSDB_DATA_TYPE_TIMESTAMP; tVariantCreate(&yylhsminor.yy488, &yymsp[0].minor.yy0);}
#line 3423 "sql.c"
yymsp[0].minor.yy488 = yylhsminor.yy488;
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 456 "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);
tVariantCreate(&yylhsminor.yy488, &yymsp[-1].minor.yy0);
}
yymsp[-1].minor.yy430 = yylhsminor.yy430;
#line 3437 "sql.c"
yymsp[-1].minor.yy488 = yylhsminor.yy488;
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 487 "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);
yylhsminor.yy224 = tSetQuerySqlNode(&yymsp[-13].minor.yy0, yymsp[-12].minor.yy403, yymsp[-11].minor.yy114, yymsp[-10].minor.yy260, yymsp[-4].minor.yy403, yymsp[-2].minor.yy403, &yymsp[-9].minor.yy222, &yymsp[-7].minor.yy365, &yymsp[-6].minor.yy544, &yymsp[-8].minor.yy0, yymsp[-5].minor.yy403, &yymsp[0].minor.yy404, &yymsp[-1].minor.yy404, yymsp[-3].minor.yy260);
}
yymsp[-13].minor.yy56 = yylhsminor.yy56;
#line 3445 "sql.c"
yymsp[-13].minor.yy224 = yylhsminor.yy224;
break;
case 168: /* select ::= LP select RP */
{yymsp[-2].minor.yy56 = yymsp[-1].minor.yy56;}
#line 491 "sql.y"
{yymsp[-2].minor.yy224 = yymsp[-1].minor.yy224;}
#line 3451 "sql.c"
break;
case 169: /* union ::= select */
{ yylhsminor.yy421 = setSubclause(NULL, yymsp[0].minor.yy56); }
yymsp[0].minor.yy421 = yylhsminor.yy421;
#line 495 "sql.y"
{ yylhsminor.yy403 = setSubclause(NULL, yymsp[0].minor.yy224); }
#line 3456 "sql.c"
yymsp[0].minor.yy403 = yylhsminor.yy403;
break;
case 170: /* union ::= union UNION ALL select */
{ yylhsminor.yy421 = appendSelectClause(yymsp[-3].minor.yy421, yymsp[0].minor.yy56); }
yymsp[-3].minor.yy421 = yylhsminor.yy421;
#line 496 "sql.y"
{ yylhsminor.yy403 = appendSelectClause(yymsp[-3].minor.yy403, yymsp[0].minor.yy224); }
#line 3462 "sql.c"
yymsp[-3].minor.yy403 = yylhsminor.yy403;
break;
case 171: /* cmd ::= union */
{ setSqlInfo(pInfo, yymsp[0].minor.yy421, NULL, TSDB_SQL_SELECT); }
#line 498 "sql.y"
{ setSqlInfo(pInfo, yymsp[0].minor.yy403, NULL, TSDB_SQL_SELECT); }
#line 3468 "sql.c"
break;
case 172: /* select ::= SELECT selcollist */
#line 505 "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);
yylhsminor.yy224 = tSetQuerySqlNode(&yymsp[-1].minor.yy0, yymsp[0].minor.yy403, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
}
yymsp[-1].minor.yy56 = yylhsminor.yy56;
#line 3475 "sql.c"
yymsp[-1].minor.yy224 = yylhsminor.yy224;
break;
case 173: /* sclp ::= selcollist COMMA */
{yylhsminor.yy421 = yymsp[-1].minor.yy421;}
yymsp[-1].minor.yy421 = yylhsminor.yy421;
#line 517 "sql.y"
{yylhsminor.yy403 = yymsp[-1].minor.yy403;}
#line 3481 "sql.c"
yymsp[-1].minor.yy403 = yylhsminor.yy403;
break;
case 174: /* sclp ::= */
case 206: /* orderby_opt ::= */ yytestcase(yyruleno==206);
{yymsp[1].minor.yy421 = 0;}
#line 518 "sql.y"
{yymsp[1].minor.yy403 = 0;}
#line 3488 "sql.c"
break;
case 175: /* selcollist ::= sclp distinct expr as */
#line 519 "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);
yylhsminor.yy403 = tSqlExprListAppend(yymsp[-3].minor.yy403, yymsp[-1].minor.yy260, yymsp[-2].minor.yy0.n? &yymsp[-2].minor.yy0:0, yymsp[0].minor.yy0.n?&yymsp[0].minor.yy0:0);
}
yymsp[-3].minor.yy421 = yylhsminor.yy421;
#line 3495 "sql.c"
yymsp[-3].minor.yy403 = yylhsminor.yy403;
break;
case 176: /* selcollist ::= sclp STAR */
#line 523 "sql.y"
{
tSqlExpr *pNode = tSqlExprCreateIdValue(NULL, TK_ALL);
yylhsminor.yy421 = tSqlExprListAppend(yymsp[-1].minor.yy421, pNode, 0, 0);
tSqlExpr *pNode = tSqlExprCreateIdValue(pInfo, NULL, TK_ALL);
yylhsminor.yy403 = tSqlExprListAppend(yymsp[-1].minor.yy403, pNode, 0, 0);
}
yymsp[-1].minor.yy421 = yylhsminor.yy421;
#line 3504 "sql.c"
yymsp[-1].minor.yy403 = yylhsminor.yy403;
break;
case 177: /* as ::= AS ids */
#line 531 "sql.y"
{ yymsp[-1].minor.yy0 = yymsp[0].minor.yy0; }
#line 3510 "sql.c"
break;
case 178: /* as ::= ids */
#line 532 "sql.y"
{ yylhsminor.yy0 = yymsp[0].minor.yy0; }
#line 3515 "sql.c"
yymsp[0].minor.yy0 = yylhsminor.yy0;
break;
case 179: /* as ::= */
#line 533 "sql.y"
{ yymsp[1].minor.yy0.n = 0; }
#line 3521 "sql.c"
break;
case 180: /* distinct ::= DISTINCT */
#line 536 "sql.y"
{ yylhsminor.yy0 = yymsp[0].minor.yy0; }
#line 3526 "sql.c"
yymsp[0].minor.yy0 = yylhsminor.yy0;
break;
case 182: /* from ::= FROM tablelist */
case 183: /* from ::= FROM sub */ yytestcase(yyruleno==183);
{yymsp[-1].minor.yy8 = yymsp[0].minor.yy8;}
#line 542 "sql.y"
{yymsp[-1].minor.yy114 = yymsp[0].minor.yy114;}
#line 3533 "sql.c"
break;
case 184: /* sub ::= LP union RP */
{yymsp[-2].minor.yy8 = addSubqueryElem(NULL, yymsp[-1].minor.yy421, NULL);}
#line 547 "sql.y"
{yymsp[-2].minor.yy114 = addSubqueryElem(NULL, yymsp[-1].minor.yy403, NULL);}
#line 3538 "sql.c"
break;
case 185: /* sub ::= LP union RP ids */
{yymsp[-3].minor.yy8 = addSubqueryElem(NULL, yymsp[-2].minor.yy421, &yymsp[0].minor.yy0);}
#line 548 "sql.y"
{yymsp[-3].minor.yy114 = addSubqueryElem(NULL, yymsp[-2].minor.yy403, &yymsp[0].minor.yy0);}
#line 3543 "sql.c"
break;
case 186: /* sub ::= sub COMMA LP union RP ids */
{yylhsminor.yy8 = addSubqueryElem(yymsp[-5].minor.yy8, yymsp[-2].minor.yy421, &yymsp[0].minor.yy0);}
yymsp[-5].minor.yy8 = yylhsminor.yy8;
#line 549 "sql.y"
{yylhsminor.yy114 = addSubqueryElem(yymsp[-5].minor.yy114, yymsp[-2].minor.yy403, &yymsp[0].minor.yy0);}
#line 3548 "sql.c"
yymsp[-5].minor.yy114 = yylhsminor.yy114;
break;
case 187: /* tablelist ::= ids cpxName */
#line 553 "sql.y"
{
yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n;
yylhsminor.yy8 = setTableNameList(NULL, &yymsp[-1].minor.yy0, NULL);
yylhsminor.yy114 = setTableNameList(NULL, &yymsp[-1].minor.yy0, NULL);
}
yymsp[-1].minor.yy8 = yylhsminor.yy8;
#line 3557 "sql.c"
yymsp[-1].minor.yy114 = yylhsminor.yy114;
break;
case 188: /* tablelist ::= ids cpxName ids */
#line 558 "sql.y"
{
yymsp[-2].minor.yy0.n += yymsp[-1].minor.yy0.n;
yylhsminor.yy8 = setTableNameList(NULL, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0);
yylhsminor.yy114 = setTableNameList(NULL, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0);
}
yymsp[-2].minor.yy8 = yylhsminor.yy8;
#line 3566 "sql.c"
yymsp[-2].minor.yy114 = yylhsminor.yy114;
break;
case 189: /* tablelist ::= tablelist COMMA ids cpxName */
#line 563 "sql.y"
{
yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n;
yylhsminor.yy8 = setTableNameList(yymsp[-3].minor.yy8, &yymsp[-1].minor.yy0, NULL);
yylhsminor.yy114 = setTableNameList(yymsp[-3].minor.yy114, &yymsp[-1].minor.yy0, NULL);
}
yymsp[-3].minor.yy8 = yylhsminor.yy8;
#line 3575 "sql.c"
yymsp[-3].minor.yy114 = yylhsminor.yy114;
break;
case 190: /* tablelist ::= tablelist COMMA ids cpxName ids */
#line 568 "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);
yylhsminor.yy114 = setTableNameList(yymsp[-4].minor.yy114, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0);
}
yymsp[-4].minor.yy8 = yylhsminor.yy8;
#line 3584 "sql.c"
yymsp[-4].minor.yy114 = yylhsminor.yy114;
break;
case 191: /* tmvar ::= VARIABLE */
#line 575 "sql.y"
{yylhsminor.yy0 = yymsp[0].minor.yy0;}
#line 3590 "sql.c"
yymsp[0].minor.yy0 = yylhsminor.yy0;
break;
case 192: /* interval_option ::= intervalKey LP tmvar RP */
{yylhsminor.yy400.interval = yymsp[-1].minor.yy0; yylhsminor.yy400.offset.n = 0; yylhsminor.yy400.token = yymsp[-3].minor.yy104;}
yymsp[-3].minor.yy400 = yylhsminor.yy400;
#line 578 "sql.y"
{yylhsminor.yy222.interval = yymsp[-1].minor.yy0; yylhsminor.yy222.offset.n = 0; yylhsminor.yy222.token = yymsp[-3].minor.yy202;}
#line 3596 "sql.c"
yymsp[-3].minor.yy222 = yylhsminor.yy222;
break;
case 193: /* interval_option ::= intervalKey LP tmvar COMMA tmvar RP */
{yylhsminor.yy400.interval = yymsp[-3].minor.yy0; yylhsminor.yy400.offset = yymsp[-1].minor.yy0; yylhsminor.yy400.token = yymsp[-5].minor.yy104;}
yymsp[-5].minor.yy400 = yylhsminor.yy400;
#line 579 "sql.y"
{yylhsminor.yy222.interval = yymsp[-3].minor.yy0; yylhsminor.yy222.offset = yymsp[-1].minor.yy0; yylhsminor.yy222.token = yymsp[-5].minor.yy202;}
#line 3602 "sql.c"
yymsp[-5].minor.yy222 = yylhsminor.yy222;
break;
case 194: /* interval_option ::= */
{memset(&yymsp[1].minor.yy400, 0, sizeof(yymsp[1].minor.yy400));}
#line 580 "sql.y"
{memset(&yymsp[1].minor.yy222, 0, sizeof(yymsp[1].minor.yy222));}
#line 3608 "sql.c"
break;
case 195: /* intervalKey ::= INTERVAL */
{yymsp[0].minor.yy104 = TK_INTERVAL;}
#line 583 "sql.y"
{yymsp[0].minor.yy202 = TK_INTERVAL;}
#line 3613 "sql.c"
break;
case 196: /* intervalKey ::= EVERY */
{yymsp[0].minor.yy104 = TK_EVERY; }
#line 584 "sql.y"
{yymsp[0].minor.yy202 = TK_EVERY; }
#line 3618 "sql.c"
break;
case 197: /* session_option ::= */
{yymsp[1].minor.yy147.col.n = 0; yymsp[1].minor.yy147.gap.n = 0;}
#line 587 "sql.y"
{yymsp[1].minor.yy365.col.n = 0; yymsp[1].minor.yy365.gap.n = 0;}
#line 3623 "sql.c"
break;
case 198: /* session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
#line 588 "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;
yymsp[-6].minor.yy365.col = yymsp[-4].minor.yy0;
yymsp[-6].minor.yy365.gap = yymsp[-1].minor.yy0;
}
#line 3632 "sql.c"
break;
case 199: /* windowstate_option ::= */
{ yymsp[1].minor.yy40.col.n = 0; yymsp[1].minor.yy40.col.z = NULL;}
#line 595 "sql.y"
{ yymsp[1].minor.yy544.col.n = 0; yymsp[1].minor.yy544.col.z = NULL;}
#line 3637 "sql.c"
break;
case 200: /* windowstate_option ::= STATE_WINDOW LP ids RP */
{ yymsp[-3].minor.yy40.col = yymsp[-1].minor.yy0; }
#line 596 "sql.y"
{ yymsp[-3].minor.yy544.col = yymsp[-1].minor.yy0; }
#line 3642 "sql.c"
break;
case 201: /* fill_opt ::= */
{ yymsp[1].minor.yy421 = 0; }
#line 600 "sql.y"
{ yymsp[1].minor.yy403 = 0; }
#line 3647 "sql.c"
break;
case 202: /* fill_opt ::= FILL LP ID COMMA tagitemlist RP */
#line 601 "sql.y"
{
tVariant A = {0};
toTSDBType(yymsp[-3].minor.yy0.type);
tVariantCreate(&A, &yymsp[-3].minor.yy0);
tVariantListInsert(yymsp[-1].minor.yy421, &A, -1, 0);
yymsp[-5].minor.yy421 = yymsp[-1].minor.yy421;
tVariantListInsert(yymsp[-1].minor.yy403, &A, -1, 0);
yymsp[-5].minor.yy403 = yymsp[-1].minor.yy403;
}
#line 3659 "sql.c"
break;
case 203: /* fill_opt ::= FILL LP ID RP */
#line 610 "sql.y"
{
toTSDBType(yymsp[-1].minor.yy0.type);
yymsp[-3].minor.yy421 = tVariantListAppendToken(NULL, &yymsp[-1].minor.yy0, -1);
yymsp[-3].minor.yy403 = tVariantListAppendToken(NULL, &yymsp[-1].minor.yy0, -1);
}
#line 3667 "sql.c"
break;
case 204: /* sliding_opt ::= SLIDING LP tmvar RP */
#line 616 "sql.y"
{yymsp[-3].minor.yy0 = yymsp[-1].minor.yy0; }
#line 3672 "sql.c"
break;
case 205: /* sliding_opt ::= */
#line 617 "sql.y"
{yymsp[1].minor.yy0.n = 0; yymsp[1].minor.yy0.z = NULL; yymsp[1].minor.yy0.type = 0; }
#line 3677 "sql.c"
break;
case 207: /* orderby_opt ::= ORDER BY sortlist */
{yymsp[-2].minor.yy421 = yymsp[0].minor.yy421;}
#line 629 "sql.y"
{yymsp[-2].minor.yy403 = yymsp[0].minor.yy403;}
#line 3682 "sql.c"
break;
case 208: /* sortlist ::= sortlist COMMA item sortorder */
#line 631 "sql.y"
{
yylhsminor.yy421 = tVariantListAppend(yymsp[-3].minor.yy421, &yymsp[-1].minor.yy430, yymsp[0].minor.yy96);
yylhsminor.yy403 = tVariantListAppend(yymsp[-3].minor.yy403, &yymsp[-1].minor.yy488, yymsp[0].minor.yy70);
}
yymsp[-3].minor.yy421 = yylhsminor.yy421;
#line 3689 "sql.c"
yymsp[-3].minor.yy403 = yylhsminor.yy403;
break;
case 209: /* sortlist ::= item sortorder */
#line 635 "sql.y"
{
yylhsminor.yy421 = tVariantListAppend(NULL, &yymsp[-1].minor.yy430, yymsp[0].minor.yy96);
yylhsminor.yy403 = tVariantListAppend(NULL, &yymsp[-1].minor.yy488, yymsp[0].minor.yy70);
}
yymsp[-1].minor.yy421 = yylhsminor.yy421;
#line 3697 "sql.c"
yymsp[-1].minor.yy403 = yylhsminor.yy403;
break;
case 210: /* item ::= ids cpxName */
#line 640 "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);
tVariantCreate(&yylhsminor.yy488, &yymsp[-1].minor.yy0);
}
yymsp[-1].minor.yy430 = yylhsminor.yy430;
#line 3708 "sql.c"
yymsp[-1].minor.yy488 = yylhsminor.yy488;
break;
case 211: /* sortorder ::= ASC */
{ yymsp[0].minor.yy96 = TSDB_ORDER_ASC; }
#line 648 "sql.y"
{ yymsp[0].minor.yy70 = TSDB_ORDER_ASC; }
#line 3714 "sql.c"
break;
case 212: /* sortorder ::= DESC */
{ yymsp[0].minor.yy96 = TSDB_ORDER_DESC;}
#line 649 "sql.y"
{ yymsp[0].minor.yy70 = TSDB_ORDER_DESC;}
#line 3719 "sql.c"
break;
case 213: /* sortorder ::= */
{ yymsp[1].minor.yy96 = TSDB_ORDER_ASC; }
#line 650 "sql.y"
{ yymsp[1].minor.yy70 = TSDB_ORDER_ASC; }
#line 3724 "sql.c"
break;
case 214: /* groupby_opt ::= */
{ yymsp[1].minor.yy421 = 0;}
#line 658 "sql.y"
{ yymsp[1].minor.yy403 = 0;}
#line 3729 "sql.c"
break;
case 215: /* groupby_opt ::= GROUP BY grouplist */
{ yymsp[-2].minor.yy421 = yymsp[0].minor.yy421;}
#line 659 "sql.y"
{ yymsp[-2].minor.yy403 = yymsp[0].minor.yy403;}
#line 3734 "sql.c"
break;
case 216: /* grouplist ::= grouplist COMMA item */
#line 661 "sql.y"
{
yylhsminor.yy421 = tVariantListAppend(yymsp[-2].minor.yy421, &yymsp[0].minor.yy430, -1);
yylhsminor.yy403 = tVariantListAppend(yymsp[-2].minor.yy403, &yymsp[0].minor.yy488, -1);
}
yymsp[-2].minor.yy421 = yylhsminor.yy421;
#line 3741 "sql.c"
yymsp[-2].minor.yy403 = yylhsminor.yy403;
break;
case 217: /* grouplist ::= item */
#line 665 "sql.y"
{
yylhsminor.yy421 = tVariantListAppend(NULL, &yymsp[0].minor.yy430, -1);
yylhsminor.yy403 = tVariantListAppend(NULL, &yymsp[0].minor.yy488, -1);
}
yymsp[0].minor.yy421 = yylhsminor.yy421;
#line 3749 "sql.c"
yymsp[0].minor.yy403 = yylhsminor.yy403;
break;
case 218: /* having_opt ::= */
case 228: /* where_opt ::= */ yytestcase(yyruleno==228);
case 270: /* expritem ::= */ yytestcase(yyruleno==270);
{yymsp[1].minor.yy439 = 0;}
#line 672 "sql.y"
{yymsp[1].minor.yy260 = 0;}
#line 3757 "sql.c"
break;
case 219: /* having_opt ::= HAVING expr */
case 229: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==229);
{yymsp[-1].minor.yy439 = yymsp[0].minor.yy439;}
#line 673 "sql.y"
{yymsp[-1].minor.yy260 = yymsp[0].minor.yy260;}
#line 3763 "sql.c"
break;
case 220: /* limit_opt ::= */
case 224: /* slimit_opt ::= */ yytestcase(yyruleno==224);
{yymsp[1].minor.yy166.limit = -1; yymsp[1].minor.yy166.offset = 0;}
#line 677 "sql.y"
{yymsp[1].minor.yy404.limit = -1; yymsp[1].minor.yy404.offset = 0;}
#line 3769 "sql.c"
break;
case 221: /* limit_opt ::= LIMIT signed */
case 225: /* slimit_opt ::= SLIMIT signed */ yytestcase(yyruleno==225);
{yymsp[-1].minor.yy166.limit = yymsp[0].minor.yy325; yymsp[-1].minor.yy166.offset = 0;}
#line 678 "sql.y"
{yymsp[-1].minor.yy404.limit = yymsp[0].minor.yy387; yymsp[-1].minor.yy404.offset = 0;}
#line 3775 "sql.c"
break;
case 222: /* limit_opt ::= LIMIT signed OFFSET signed */
{ yymsp[-3].minor.yy166.limit = yymsp[-2].minor.yy325; yymsp[-3].minor.yy166.offset = yymsp[0].minor.yy325;}
#line 680 "sql.y"
{ yymsp[-3].minor.yy404.limit = yymsp[-2].minor.yy387; yymsp[-3].minor.yy404.offset = yymsp[0].minor.yy387;}
#line 3780 "sql.c"
break;
case 223: /* limit_opt ::= LIMIT signed COMMA signed */
{ yymsp[-3].minor.yy166.limit = yymsp[0].minor.yy325; yymsp[-3].minor.yy166.offset = yymsp[-2].minor.yy325;}
#line 682 "sql.y"
{ yymsp[-3].minor.yy404.limit = yymsp[0].minor.yy387; yymsp[-3].minor.yy404.offset = yymsp[-2].minor.yy387;}
#line 3785 "sql.c"
break;
case 226: /* slimit_opt ::= SLIMIT signed SOFFSET signed */
{yymsp[-3].minor.yy166.limit = yymsp[-2].minor.yy325; yymsp[-3].minor.yy166.offset = yymsp[0].minor.yy325;}
#line 688 "sql.y"
{yymsp[-3].minor.yy404.limit = yymsp[-2].minor.yy387; yymsp[-3].minor.yy404.offset = yymsp[0].minor.yy387;}
#line 3790 "sql.c"
break;
case 227: /* slimit_opt ::= SLIMIT signed COMMA signed */
{yymsp[-3].minor.yy166.limit = yymsp[0].minor.yy325; yymsp[-3].minor.yy166.offset = yymsp[-2].minor.yy325;}
#line 690 "sql.y"
{yymsp[-3].minor.yy404.limit = yymsp[0].minor.yy387; yymsp[-3].minor.yy404.offset = yymsp[-2].minor.yy387;}
#line 3795 "sql.c"
break;
case 230: /* expr ::= LP expr RP */
{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);}
yymsp[-2].minor.yy439 = yylhsminor.yy439;
#line 703 "sql.y"
{yylhsminor.yy260 = yymsp[-1].minor.yy260; yylhsminor.yy260->exprToken.z = yymsp[-2].minor.yy0.z; yylhsminor.yy260->exprToken.n = (yymsp[0].minor.yy0.z - yymsp[-2].minor.yy0.z + 1);}
#line 3800 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break;
case 231: /* expr ::= ID */
{ yylhsminor.yy439 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_ID);}
yymsp[0].minor.yy439 = yylhsminor.yy439;
#line 705 "sql.y"
{ yylhsminor.yy260 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_ID);}
#line 3806 "sql.c"
yymsp[0].minor.yy260 = yylhsminor.yy260;
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);}
yymsp[-2].minor.yy439 = yylhsminor.yy439;
#line 706 "sql.y"
{ yymsp[-2].minor.yy0.n += (1+yymsp[0].minor.yy0.n); yylhsminor.yy260 = tSqlExprCreateIdValue(pInfo, &yymsp[-2].minor.yy0, TK_ID);}
#line 3812 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
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);}
yymsp[-2].minor.yy439 = yylhsminor.yy439;
#line 707 "sql.y"
{ yymsp[-2].minor.yy0.n += (1+yymsp[0].minor.yy0.n); yylhsminor.yy260 = tSqlExprCreateIdValue(pInfo, &yymsp[-2].minor.yy0, TK_ALL);}
#line 3818 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break;
case 234: /* expr ::= INTEGER */
{ yylhsminor.yy439 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_INTEGER);}
yymsp[0].minor.yy439 = yylhsminor.yy439;
#line 709 "sql.y"
{ yylhsminor.yy260 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_INTEGER);}
#line 3824 "sql.c"
yymsp[0].minor.yy260 = yylhsminor.yy260;
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);}
yymsp[-1].minor.yy439 = yylhsminor.yy439;
#line 710 "sql.y"
{ yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_INTEGER; yylhsminor.yy260 = tSqlExprCreateIdValue(pInfo, &yymsp[-1].minor.yy0, TK_INTEGER);}
#line 3831 "sql.c"
yymsp[-1].minor.yy260 = yylhsminor.yy260;
break;
case 237: /* expr ::= FLOAT */
{ yylhsminor.yy439 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_FLOAT);}
yymsp[0].minor.yy439 = yylhsminor.yy439;
#line 712 "sql.y"
{ yylhsminor.yy260 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_FLOAT);}
#line 3837 "sql.c"
yymsp[0].minor.yy260 = yylhsminor.yy260;
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);}
yymsp[-1].minor.yy439 = yylhsminor.yy439;
#line 713 "sql.y"
{ yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_FLOAT; yylhsminor.yy260 = tSqlExprCreateIdValue(pInfo, &yymsp[-1].minor.yy0, TK_FLOAT);}
#line 3844 "sql.c"
yymsp[-1].minor.yy260 = yylhsminor.yy260;
break;
case 240: /* expr ::= STRING */
{ yylhsminor.yy439 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_STRING);}
yymsp[0].minor.yy439 = yylhsminor.yy439;
#line 715 "sql.y"
{ yylhsminor.yy260 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_STRING);}
#line 3850 "sql.c"
yymsp[0].minor.yy260 = yylhsminor.yy260;
break;
case 241: /* expr ::= NOW */
{ yylhsminor.yy439 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_NOW); }
yymsp[0].minor.yy439 = yylhsminor.yy439;
#line 716 "sql.y"
{ yylhsminor.yy260 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_NOW); }
#line 3856 "sql.c"
yymsp[0].minor.yy260 = yylhsminor.yy260;
break;
case 242: /* expr ::= VARIABLE */
{ yylhsminor.yy439 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_VARIABLE);}
yymsp[0].minor.yy439 = yylhsminor.yy439;
#line 717 "sql.y"
{ yylhsminor.yy260 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_VARIABLE);}
#line 3862 "sql.c"
yymsp[0].minor.yy260 = yylhsminor.yy260;
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);}
yymsp[-1].minor.yy439 = yylhsminor.yy439;
#line 718 "sql.y"
{ yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_VARIABLE; yylhsminor.yy260 = tSqlExprCreateIdValue(pInfo, &yymsp[-1].minor.yy0, TK_VARIABLE);}
#line 3869 "sql.c"
yymsp[-1].minor.yy260 = yylhsminor.yy260;
break;
case 245: /* expr ::= BOOL */
{ yylhsminor.yy439 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_BOOL);}
yymsp[0].minor.yy439 = yylhsminor.yy439;
#line 720 "sql.y"
{ yylhsminor.yy260 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_BOOL);}
#line 3875 "sql.c"
yymsp[0].minor.yy260 = yylhsminor.yy260;
break;
case 246: /* expr ::= NULL */
{ yylhsminor.yy439 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_NULL);}
yymsp[0].minor.yy439 = yylhsminor.yy439;
#line 721 "sql.y"
{ yylhsminor.yy260 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_NULL);}
#line 3881 "sql.c"
yymsp[0].minor.yy260 = yylhsminor.yy260;
break;
case 247: /* expr ::= ID LP exprlist RP */
{ 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); }
yymsp[-3].minor.yy439 = yylhsminor.yy439;
#line 724 "sql.y"
{ tStrTokenAppend(pInfo->funcs, &yymsp[-3].minor.yy0); yylhsminor.yy260 = tSqlExprCreateFunction(yymsp[-1].minor.yy403, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, yymsp[-3].minor.yy0.type); }
#line 3887 "sql.c"
yymsp[-3].minor.yy260 = yylhsminor.yy260;
break;
case 248: /* expr ::= ID LP STAR RP */
{ tStrTokenAppend(pInfo->funcs, &yymsp[-3].minor.yy0); yylhsminor.yy439 = tSqlExprCreateFunction(NULL, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, yymsp[-3].minor.yy0.type); }
yymsp[-3].minor.yy439 = yylhsminor.yy439;
#line 727 "sql.y"
{ tStrTokenAppend(pInfo->funcs, &yymsp[-3].minor.yy0); yylhsminor.yy260 = tSqlExprCreateFunction(NULL, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, yymsp[-3].minor.yy0.type); }
#line 3893 "sql.c"
yymsp[-3].minor.yy260 = yylhsminor.yy260;
break;
case 249: /* expr ::= expr IS NULL */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, NULL, TK_ISNULL);}
yymsp[-2].minor.yy439 = yylhsminor.yy439;
#line 730 "sql.y"
{yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, NULL, TK_ISNULL);}
#line 3899 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break;
case 250: /* expr ::= expr IS NOT NULL */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-3].minor.yy439, NULL, TK_NOTNULL);}
yymsp[-3].minor.yy439 = yylhsminor.yy439;
#line 731 "sql.y"
{yylhsminor.yy260 = tSqlExprCreate(yymsp[-3].minor.yy260, NULL, TK_NOTNULL);}
#line 3905 "sql.c"
yymsp[-3].minor.yy260 = yylhsminor.yy260;
break;
case 251: /* expr ::= expr LT expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_LT);}
yymsp[-2].minor.yy439 = yylhsminor.yy439;
#line 734 "sql.y"
{yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_LT);}
#line 3911 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break;
case 252: /* expr ::= expr GT expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_GT);}
yymsp[-2].minor.yy439 = yylhsminor.yy439;
#line 735 "sql.y"
{yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_GT);}
#line 3917 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break;
case 253: /* expr ::= expr LE expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_LE);}
yymsp[-2].minor.yy439 = yylhsminor.yy439;
#line 736 "sql.y"
{yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_LE);}
#line 3923 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break;
case 254: /* expr ::= expr GE expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_GE);}
yymsp[-2].minor.yy439 = yylhsminor.yy439;
#line 737 "sql.y"
{yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_GE);}
#line 3929 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break;
case 255: /* expr ::= expr NE expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_NE);}
yymsp[-2].minor.yy439 = yylhsminor.yy439;
#line 738 "sql.y"
{yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_NE);}
#line 3935 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break;
case 256: /* expr ::= expr EQ expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_EQ);}
yymsp[-2].minor.yy439 = yylhsminor.yy439;
#line 739 "sql.y"
{yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_EQ);}
#line 3941 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break;
case 257: /* expr ::= expr BETWEEN expr AND expr */
{ 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);}
yymsp[-4].minor.yy439 = yylhsminor.yy439;
#line 741 "sql.y"
{ tSqlExpr* X2 = tSqlExprClone(yymsp[-4].minor.yy260); yylhsminor.yy260 = tSqlExprCreate(tSqlExprCreate(yymsp[-4].minor.yy260, yymsp[-2].minor.yy260, TK_GE), tSqlExprCreate(X2, yymsp[0].minor.yy260, TK_LE), TK_AND);}
#line 3947 "sql.c"
yymsp[-4].minor.yy260 = yylhsminor.yy260;
break;
case 258: /* expr ::= expr AND expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_AND);}
yymsp[-2].minor.yy439 = yylhsminor.yy439;
#line 743 "sql.y"
{yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_AND);}
#line 3953 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break;
case 259: /* expr ::= expr OR expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_OR); }
yymsp[-2].minor.yy439 = yylhsminor.yy439;
#line 744 "sql.y"
{yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_OR); }
#line 3959 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break;
case 260: /* expr ::= expr PLUS expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_PLUS); }
yymsp[-2].minor.yy439 = yylhsminor.yy439;
#line 747 "sql.y"
{yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_PLUS); }
#line 3965 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break;
case 261: /* expr ::= expr MINUS expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_MINUS); }
yymsp[-2].minor.yy439 = yylhsminor.yy439;
#line 748 "sql.y"
{yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_MINUS); }
#line 3971 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break;
case 262: /* expr ::= expr STAR expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_STAR); }
yymsp[-2].minor.yy439 = yylhsminor.yy439;
#line 749 "sql.y"
{yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_STAR); }
#line 3977 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break;
case 263: /* expr ::= expr SLASH expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_DIVIDE);}
yymsp[-2].minor.yy439 = yylhsminor.yy439;
#line 750 "sql.y"
{yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_DIVIDE);}
#line 3983 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break;
case 264: /* expr ::= expr REM expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_REM); }
yymsp[-2].minor.yy439 = yylhsminor.yy439;
#line 751 "sql.y"
{yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_REM); }
#line 3989 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break;
case 265: /* expr ::= expr LIKE expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_LIKE); }
yymsp[-2].minor.yy439 = yylhsminor.yy439;
#line 754 "sql.y"
{yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_LIKE); }
#line 3995 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break;
case 266: /* expr ::= expr IN LP exprlist RP */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-4].minor.yy439, (tSqlExpr*)yymsp[-1].minor.yy421, TK_IN); }
yymsp[-4].minor.yy439 = yylhsminor.yy439;
#line 757 "sql.y"
{yylhsminor.yy260 = tSqlExprCreate(yymsp[-4].minor.yy260, (tSqlExpr*)yymsp[-1].minor.yy403, TK_IN); }
#line 4001 "sql.c"
yymsp[-4].minor.yy260 = yylhsminor.yy260;
break;
case 267: /* exprlist ::= exprlist COMMA expritem */
{yylhsminor.yy421 = tSqlExprListAppend(yymsp[-2].minor.yy421,yymsp[0].minor.yy439,0, 0);}
yymsp[-2].minor.yy421 = yylhsminor.yy421;
#line 765 "sql.y"
{yylhsminor.yy403 = tSqlExprListAppend(yymsp[-2].minor.yy403,yymsp[0].minor.yy260,0, 0);}
#line 4007 "sql.c"
yymsp[-2].minor.yy403 = yylhsminor.yy403;
break;
case 268: /* exprlist ::= expritem */
{yylhsminor.yy421 = tSqlExprListAppend(0,yymsp[0].minor.yy439,0, 0);}
yymsp[0].minor.yy421 = yylhsminor.yy421;
#line 766 "sql.y"
{yylhsminor.yy403 = tSqlExprListAppend(0,yymsp[0].minor.yy260,0, 0);}
#line 4013 "sql.c"
yymsp[0].minor.yy403 = yylhsminor.yy403;
break;
case 269: /* expritem ::= expr */
{yylhsminor.yy439 = yymsp[0].minor.yy439;}
yymsp[0].minor.yy439 = yylhsminor.yy439;
#line 767 "sql.y"
{yylhsminor.yy260 = yymsp[0].minor.yy260;}
#line 4019 "sql.c"
yymsp[0].minor.yy260 = yylhsminor.yy260;
break;
case 271: /* cmd ::= RESET QUERY CACHE */
#line 771 "sql.y"
{ setDCLSqlElems(pInfo, TSDB_SQL_RESET_CACHE, 0);}
#line 4025 "sql.c"
break;
case 272: /* cmd ::= SYNCDB ids REPLICA */
#line 774 "sql.y"
{ setDCLSqlElems(pInfo, TSDB_SQL_SYNC_DB_REPLICA, 1, &yymsp[-1].minor.yy0);}
#line 4030 "sql.c"
break;
case 273: /* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
#line 777 "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);
SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy403, NULL, TSDB_ALTER_TABLE_ADD_COLUMN, -1);
setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
#line 4039 "sql.c"
break;
case 274: /* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
#line 783 "sql.y"
{
yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n;
......@@ -3154,22 +4049,28 @@ static void 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 4052 "sql.c"
break;
case 275: /* cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */
#line 793 "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);
SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy403, NULL, TSDB_ALTER_TABLE_CHANGE_COLUMN, -1);
setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
#line 4061 "sql.c"
break;
case 276: /* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
#line 800 "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);
SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy403, NULL, TSDB_ALTER_TABLE_ADD_TAG_COLUMN, -1);
setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
#line 4070 "sql.c"
break;
case 277: /* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
#line 805 "sql.y"
{
yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n;
......@@ -3179,8 +4080,10 @@ static void 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 4083 "sql.c"
break;
case 278: /* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
#line 815 "sql.y"
{
yymsp[-5].minor.yy0.n += yymsp[-4].minor.yy0.n;
......@@ -3193,34 +4096,42 @@ static void 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 4099 "sql.c"
break;
case 279: /* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
#line 828 "sql.y"
{
yymsp[-6].minor.yy0.n += yymsp[-5].minor.yy0.n;
toTSDBType(yymsp[-2].minor.yy0.type);
SArray* A = tVariantListAppendToken(NULL, &yymsp[-2].minor.yy0, -1);
A = tVariantListAppend(A, &yymsp[0].minor.yy430, -1);
A = tVariantListAppend(A, &yymsp[0].minor.yy488, -1);
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 4113 "sql.c"
break;
case 280: /* cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */
#line 839 "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);
SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy403, NULL, TSDB_ALTER_TABLE_MODIFY_TAG_COLUMN, -1);
setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
#line 4122 "sql.c"
break;
case 281: /* cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
#line 846 "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);
SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy403, NULL, TSDB_ALTER_TABLE_ADD_COLUMN, TSDB_SUPER_TABLE);
setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
#line 4131 "sql.c"
break;
case 282: /* cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
#line 852 "sql.y"
{
yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n;
......@@ -3230,22 +4141,28 @@ static void 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 4144 "sql.c"
break;
case 283: /* cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */
#line 862 "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);
SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy403, NULL, TSDB_ALTER_TABLE_CHANGE_COLUMN, TSDB_SUPER_TABLE);
setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
#line 4153 "sql.c"
break;
case 284: /* cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
#line 869 "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);
SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy403, NULL, TSDB_ALTER_TABLE_ADD_TAG_COLUMN, TSDB_SUPER_TABLE);
setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
#line 4162 "sql.c"
break;
case 285: /* cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
#line 874 "sql.y"
{
yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n;
......@@ -3255,8 +4172,10 @@ static void 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 4175 "sql.c"
break;
case 286: /* cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
#line 884 "sql.y"
{
yymsp[-5].minor.yy0.n += yymsp[-4].minor.yy0.n;
......@@ -3269,42 +4188,53 @@ static void 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 4191 "sql.c"
break;
case 287: /* cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */
#line 897 "sql.y"
{
yymsp[-6].minor.yy0.n += yymsp[-5].minor.yy0.n;
toTSDBType(yymsp[-2].minor.yy0.type);
SArray* A = tVariantListAppendToken(NULL, &yymsp[-2].minor.yy0, -1);
A = tVariantListAppend(A, &yymsp[0].minor.yy430, -1);
A = tVariantListAppend(A, &yymsp[0].minor.yy488, -1);
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 4205 "sql.c"
break;
case 288: /* cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */
#line 908 "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);
SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy403, NULL, TSDB_ALTER_TABLE_MODIFY_TAG_COLUMN, TSDB_SUPER_TABLE);
setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
#line 4214 "sql.c"
break;
case 289: /* cmd ::= KILL CONNECTION INTEGER */
#line 915 "sql.y"
{setKillSql(pInfo, TSDB_SQL_KILL_CONNECTION, &yymsp[0].minor.yy0);}
#line 4219 "sql.c"
break;
case 290: /* cmd ::= KILL STREAM INTEGER COLON INTEGER */
#line 916 "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 4224 "sql.c"
break;
case 291: /* cmd ::= KILL QUERY INTEGER COLON INTEGER */
#line 917 "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 4229 "sql.c"
break;
default:
break;
/********** End reduce actions ************************************************/
};
assert( yyruleno<sizeof(yyRuleInfo)/sizeof(yyRuleInfo[0]) );
yygoto = yyRuleInfo[yyruleno].lhs;
yysize = yyRuleInfo[yyruleno].nrhs;
assert( yyruleno<sizeof(yyRuleInfoLhs)/sizeof(yyRuleInfoLhs[0]) );
yygoto = yyRuleInfoLhs[yyruleno];
yysize = yyRuleInfoNRhs[yyruleno];
yyact = yy_find_reduce_action(yymsp[yysize].stateno,(YYCODETYPE)yygoto);
/* There are no SHIFTREDUCE actions on nonterminals because the table
......@@ -3319,6 +4249,7 @@ static void yy_reduce(
yymsp->stateno = (YYACTIONTYPE)yyact;
yymsp->major = (YYCODETYPE)yygoto;
yyTraceShift(yypParser, yyact, "... then shift");
return yyact;
}
/*
......@@ -3328,7 +4259,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);
......@@ -3339,7 +4271,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 */
......@@ -3351,9 +4284,11 @@ 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 ****************************************/
#line 37 "sql.y"
pInfo->valid = false;
int32_t outputBufLen = tListLen(pInfo->msg);
......@@ -3376,8 +4311,10 @@ static void yy_syntax_error(
}
assert(len <= outputBufLen);
#line 4314 "sql.c"
/************ End %syntax_error code ******************************************/
ParseARG_STORE; /* Suppress warning about unused %extra_argument variable */
ParseARG_STORE /* Suppress warning about unused %extra_argument variable */
ParseCTX_STORE
}
/*
......@@ -3386,7 +4323,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);
......@@ -3399,9 +4337,11 @@ 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 4341 "sql.c"
/*********** 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.
......@@ -3430,45 +4370,91 @@ 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);
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 ){
yy_reduce(yypParser,yyact-YY_MIN_REDUCE,yymajor,yyminor);
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,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);
......@@ -3518,15 +4504,13 @@ void Parse(
yy_destructor(yypParser, (YYCODETYPE)yymajor, &yyminorunion);
yymajor = YYNOCODE;
}else{
while( yypParser->yytos >= yypParser->yystack
&& yymx != YYERRORSYMBOL
&& (yyact = yy_find_reduce_action(
yypParser->yytos->stateno,
YYERRORSYMBOL)) >= YY_MIN_REDUCE
){
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
......@@ -3539,6 +4523,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
......@@ -3549,8 +4535,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:
**
......@@ -3572,10 +4557,10 @@ void Parse(
yypParser->yyerrcnt = -1;
#endif
}
yymajor = YYNOCODE;
break;
#endif
}
}while( yymajor!=YYNOCODE && yypParser->yytos>yypParser->yystack );
}
#ifndef NDEBUG
if( yyTraceFILE ){
yyStackEntry *i;
......@@ -3590,3 +4575,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
}
......@@ -147,6 +147,9 @@ class TDTestCase:
tdSql.error("select derivative(col, 10s, 1) from stb group by id")
tdSql.error("select derivative(col, 999ms, 1) from stb group by id")
tdSql.error("select derivative(col, 10s, 2) from stb group by id")
tdSql.error("select derivative(col, -106752999999999922222d, 0) from stb group by tbname"); #overflow error
tdSql.error("select derivative(col, 10y, 0) from stb group by tbname") #TD-10399, DB error: syntax error near '10y, 0) from stb group by tbname;'
tdSql.error("select derivative(col, -106752d, 0) from stb group by tbname") #TD-10398 overflow tips
def run(self):
tdSql.prepare()
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册