提交 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 ...@@ -343,15 +343,20 @@ int64_t convertTimePrecision(int64_t time, int32_t fromPrecision, int32_t toPrec
assert(toPrecision == TSDB_TIME_PRECISION_MILLI || assert(toPrecision == TSDB_TIME_PRECISION_MILLI ||
toPrecision == TSDB_TIME_PRECISION_MICRO || toPrecision == TSDB_TIME_PRECISION_MICRO ||
toPrecision == TSDB_TIME_PRECISION_NANO); toPrecision == TSDB_TIME_PRECISION_NANO);
double tempResult = time;
switch(fromPrecision) { switch(fromPrecision) {
case TSDB_TIME_PRECISION_MILLI: { case TSDB_TIME_PRECISION_MILLI: {
switch (toPrecision) { switch (toPrecision) {
case TSDB_TIME_PRECISION_MILLI: case TSDB_TIME_PRECISION_MILLI:
return time; return time;
case TSDB_TIME_PRECISION_MICRO: case TSDB_TIME_PRECISION_MICRO:
return time * 1000; tempResult *= 1000;
time *= 1000;
goto end_;
case TSDB_TIME_PRECISION_NANO: case TSDB_TIME_PRECISION_NANO:
return time * 1000000; tempResult *= 1000000;
time *= 1000000;
goto end_;
} }
} // end from milli } // end from milli
case TSDB_TIME_PRECISION_MICRO: { case TSDB_TIME_PRECISION_MICRO: {
...@@ -361,7 +366,9 @@ int64_t convertTimePrecision(int64_t time, int32_t fromPrecision, int32_t toPrec ...@@ -361,7 +366,9 @@ int64_t convertTimePrecision(int64_t time, int32_t fromPrecision, int32_t toPrec
case TSDB_TIME_PRECISION_MICRO: case TSDB_TIME_PRECISION_MICRO:
return time; return time;
case TSDB_TIME_PRECISION_NANO: case TSDB_TIME_PRECISION_NANO:
return time * 1000; tempResult *= 1000;
time *= 1000;
goto end_;
} }
} //end from micro } //end from micro
case TSDB_TIME_PRECISION_NANO: { case TSDB_TIME_PRECISION_NANO: {
...@@ -379,6 +386,10 @@ int64_t convertTimePrecision(int64_t time, int32_t fromPrecision, int32_t toPrec ...@@ -379,6 +386,10 @@ int64_t convertTimePrecision(int64_t time, int32_t fromPrecision, int32_t toPrec
return time; // only to pass windows compilation return time; // only to pass windows compilation
} }
} //end switch fromPrecision } //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) { static int32_t getDuration(int64_t val, char unit, int64_t* result, int32_t timePrecision) {
......
...@@ -281,7 +281,7 @@ void *destroyRelationInfo(SRelationInfo* pFromInfo); ...@@ -281,7 +281,7 @@ void *destroyRelationInfo(SRelationInfo* pFromInfo);
SRelationInfo *addSubqueryElem(SRelationInfo* pRelationInfo, SArray* pSub, SStrToken* pAlias); SRelationInfo *addSubqueryElem(SRelationInfo* pRelationInfo, SArray* pSub, SStrToken* pAlias);
// sql expr leaf node // 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); tSqlExpr *tSqlExprCreateFunction(SArray *pParam, SStrToken *pFuncToken, SStrToken *endToken, int32_t optType);
SArray *tStrTokenAppend(SArray *pList, SStrToken *pToken); SArray *tStrTokenAppend(SArray *pList, SStrToken *pToken);
......
...@@ -521,7 +521,7 @@ selcollist(A) ::= sclp(P) distinct(Z) expr(X) as(Y). { ...@@ -521,7 +521,7 @@ selcollist(A) ::= sclp(P) distinct(Z) expr(X) as(Y). {
} }
selcollist(A) ::= sclp(P) STAR. { selcollist(A) ::= sclp(P) STAR. {
tSqlExpr *pNode = tSqlExprCreateIdValue(NULL, TK_ALL); tSqlExpr *pNode = tSqlExprCreateIdValue(pInfo, NULL, TK_ALL);
A = tSqlExprListAppend(P, pNode, 0, 0); A = tSqlExprListAppend(P, pNode, 0, 0);
} }
...@@ -702,23 +702,23 @@ where_opt(A) ::= WHERE expr(X). {A = X;} ...@@ -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) ::= 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). { A = tSqlExprCreateIdValue(pInfo, &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 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(&X, TK_ALL);} expr(A) ::= ID(X) DOT STAR(Y). { X.n += (1+Y.n); A = tSqlExprCreateIdValue(pInfo, &X, TK_ALL);}
expr(A) ::= INTEGER(X). { A = tSqlExprCreateIdValue(&X, TK_INTEGER);} 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(&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(&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(&X, TK_FLOAT);} 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(&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(&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(&X, TK_STRING);} expr(A) ::= STRING(X). { A = tSqlExprCreateIdValue(pInfo, &X, TK_STRING);}
expr(A) ::= NOW(X). { A = tSqlExprCreateIdValue(&X, TK_NOW); } expr(A) ::= NOW(X). { A = tSqlExprCreateIdValue(pInfo, &X, TK_NOW); }
expr(A) ::= VARIABLE(X). { A = tSqlExprCreateIdValue(&X, TK_VARIABLE);} 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(&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(&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(&X, TK_BOOL);} expr(A) ::= BOOL(X). { A = tSqlExprCreateIdValue(pInfo, &X, TK_BOOL);}
expr(A) ::= NULL(X). { A = tSqlExprCreateIdValue(&X, TK_NULL);} expr(A) ::= NULL(X). { A = tSqlExprCreateIdValue(pInfo, &X, TK_NULL);}
// ordinary functions: min(x), max(x), top(k, 20) // 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); } 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) { ...@@ -134,7 +134,7 @@ SArray *tStrTokenAppend(SArray *pList, SStrToken *pToken) {
return pList; return pList;
} }
tSqlExpr *tSqlExprCreateIdValue(SStrToken *pToken, int32_t optrType) { tSqlExpr *tSqlExprCreateIdValue(SSqlInfo* pInfo, SStrToken *pToken, int32_t optrType) {
tSqlExpr *pSqlExpr = calloc(1, sizeof(tSqlExpr)); tSqlExpr *pSqlExpr = calloc(1, sizeof(tSqlExpr));
if (pToken != NULL) { if (pToken != NULL) {
...@@ -169,6 +169,7 @@ tSqlExpr *tSqlExprCreateIdValue(SStrToken *pToken, int32_t optrType) { ...@@ -169,6 +169,7 @@ tSqlExpr *tSqlExprCreateIdValue(SStrToken *pToken, int32_t optrType) {
char unit = 0; char unit = 0;
int32_t ret = parseAbsoluteDuration(pToken->z, pToken->n, &pSqlExpr->value.i64, &unit, TSDB_TIME_PRECISION_NANO); int32_t ret = parseAbsoluteDuration(pToken->z, pToken->n, &pSqlExpr->value.i64, &unit, TSDB_TIME_PRECISION_NANO);
if (ret != TSDB_CODE_SUCCESS) { if (ret != TSDB_CODE_SUCCESS) {
snprintf(pInfo->msg, tListLen(pInfo->msg), "%s", pToken->z);
terrno = TSDB_CODE_TSC_SQL_SYNTAX_ERROR; terrno = TSDB_CODE_TSC_SQL_SYNTAX_ERROR;
} }
} }
......
/* This file is automatically generated by Lemon from input grammar
** source file "sql.y". */
/* /*
** 2000-05-29 ** 2000-05-29
** **
...@@ -22,8 +24,8 @@ ...@@ -22,8 +24,8 @@
** The following is the concatenation of all %include directives from the ** The following is the concatenation of all %include directives from the
** input grammar file: ** input grammar file:
*/ */
#include <stdio.h>
/************ Begin %include sections from the grammar ************************/ /************ Begin %include sections from the grammar ************************/
#line 23 "sql.y"
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
...@@ -36,12 +38,208 @@ ...@@ -36,12 +38,208 @@
#include "ttokendef.h" #include "ttokendef.h"
#include "tutil.h" #include "tutil.h"
#include "tvariant.h" #include "tvariant.h"
#line 42 "sql.c"
/**************** End of %include directives **********************************/ /**************** End of %include directives **********************************/
/* These constants specify the various numeric values for terminal symbols /* These constants specify the various numeric values for terminal symbols.
** in a format understandable to "makeheaders". This section is blank unless ***************** Begin token definitions *************************************/
** "lemon" is run with the "-m" command-line option. #ifndef TK_ID
***************** Begin makeheaders token definitions *************************/ #define TK_ID 1
/**************** End makeheaders token definitions ***************************/ #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. /* The next sections is a series of control #defines.
** various aspects of the generated parser. ** various aspects of the generated parser.
...@@ -76,8 +274,10 @@ ...@@ -76,8 +274,10 @@
** zero the stack is dynamically sized using realloc() ** zero the stack is dynamically sized using realloc()
** ParseARG_SDECL A static variable declaration for the %extra_argument ** ParseARG_SDECL A static variable declaration for the %extra_argument
** ParseARG_PDECL A parameter 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_STORE Code to store %extra_argument into yypParser
** ParseARG_FETCH Code to extract %extra_argument from 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 ** YYERRORSYMBOL is the code number of the error symbol. If not
** defined, then do no error processing. ** defined, then do no error processing.
** YYNSTATE the combined number of states. ** YYNSTATE the combined number of states.
...@@ -97,40 +297,47 @@ ...@@ -97,40 +297,47 @@
#endif #endif
/************* Begin control #defines *****************************************/ /************* Begin control #defines *****************************************/
#define YYCODETYPE unsigned short int #define YYCODETYPE unsigned short int
#define YYNOCODE 279 #define YYNOCODE 277
#define YYACTIONTYPE unsigned short int #define YYACTIONTYPE unsigned short int
#define ParseTOKENTYPE SStrToken #define ParseTOKENTYPE SStrToken
typedef union { typedef union {
int yyinit; int yyinit;
ParseTOKENTYPE yy0; ParseTOKENTYPE yy0;
SRelationInfo* yy8; SCreateTableSql* yy56;
SWindowStateVal yy40; int yy70;
SSqlNode* yy56; SCreatedTableInfo yy84;
SCreateDbInfo yy90; SRelationInfo* yy114;
int yy96; int32_t yy202;
int32_t yy104; SIntervalVal yy222;
SSessionWindowVal yy147; SSqlNode* yy224;
SCreatedTableInfo yy152; SCreateDbInfo yy246;
SLimitVal yy166; tSqlExpr* yy260;
SCreateAcctInfo yy171; TAOS_FIELD yy363;
TAOS_FIELD yy183; SSessionWindowVal yy365;
int64_t yy325; SCreateAcctInfo yy377;
SIntervalVal yy400; int64_t yy387;
SArray* yy421; SArray* yy403;
tVariant yy430; SLimitVal yy404;
SCreateTableSql* yy438; tVariant yy488;
tSqlExpr* yy439; SWindowStateVal yy544;
} YYMINORTYPE; } YYMINORTYPE;
#ifndef YYSTACKDEPTH #ifndef YYSTACKDEPTH
#define YYSTACKDEPTH 100 #define YYSTACKDEPTH 100
#endif #endif
#define ParseARG_SDECL SSqlInfo* pInfo; #define ParseARG_SDECL SSqlInfo* pInfo;
#define ParseARG_PDECL ,SSqlInfo* pInfo #define ParseARG_PDECL ,SSqlInfo* pInfo
#define ParseARG_FETCH SSqlInfo* pInfo = yypParser->pInfo #define ParseARG_PARAM ,pInfo
#define ParseARG_STORE yypParser->pInfo = 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 YYFALLBACK 1
#define YYNSTATE 364 #define YYNSTATE 364
#define YYNRULE 292 #define YYNRULE 292
#define YYNRULE_WITH_ACTION 292
#define YYNTOKEN 196 #define YYNTOKEN 196
#define YY_MAX_SHIFT 363 #define YY_MAX_SHIFT 363
#define YY_MIN_SHIFTREDUCE 572 #define YY_MIN_SHIFTREDUCE 572
...@@ -141,6 +348,7 @@ typedef union { ...@@ -141,6 +348,7 @@ typedef union {
#define YY_MIN_REDUCE 867 #define YY_MIN_REDUCE 867
#define YY_MAX_REDUCE 1158 #define YY_MAX_REDUCE 1158
/************* End control #defines *******************************************/ /************* 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 /* Define the yytestcase() macro to be a no-op if is not already defined
** otherwise. ** otherwise.
...@@ -220,167 +428,167 @@ static const YYACTIONTYPE yy_action[] = { ...@@ -220,167 +428,167 @@ static const YYACTIONTYPE yy_action[] = {
/* 100 */ 51, 1017, 60, 319, 65, 63, 66, 64, 1134, 1084, /* 100 */ 51, 1017, 60, 319, 65, 63, 66, 64, 1134, 1084,
/* 110 */ 272, 291, 56, 55, 317, 1083, 54, 53, 52, 57, /* 110 */ 272, 291, 56, 55, 317, 1083, 54, 53, 52, 57,
/* 120 */ 59, 244, 61, 62, 1011, 1023, 250, 51, 95, 60, /* 120 */ 59, 244, 61, 62, 1011, 1023, 250, 51, 95, 60,
/* 130 */ 319, 65, 63, 66, 64, 45, 802, 349, 1036, 56, /* 130 */ 319, 65, 63, 66, 64, 45, 802, 23, 1036, 56,
/* 140 */ 55, 161, 1022, 54, 53, 52, 58, 243, 61, 62, /* 140 */ 55, 161, 349, 54, 53, 52, 58, 243, 61, 62,
/* 150 */ 767, 768, 250, 51, 234, 60, 319, 65, 63, 66, /* 150 */ 767, 768, 250, 51, 234, 60, 319, 65, 63, 66,
/* 160 */ 64, 1006, 1007, 35, 1010, 56, 55, 317, 246, 54, /* 160 */ 64, 1006, 1007, 35, 1010, 56, 55, 317, 246, 54,
/* 170 */ 53, 52, 44, 315, 356, 355, 314, 313, 312, 354, /* 170 */ 53, 52, 44, 315, 356, 355, 314, 313, 312, 354,
/* 180 */ 311, 310, 309, 353, 308, 352, 351, 985, 973, 974, /* 180 */ 311, 310, 309, 353, 308, 352, 351, 985, 973, 974,
/* 190 */ 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, /* 190 */ 975, 976, 977, 978, 979, 980, 981, 982, 983, 984,
/* 200 */ 986, 987, 61, 62, 24, 23, 250, 51, 264, 60, /* 200 */ 986, 987, 61, 62, 24, 205, 250, 51, 264, 60,
/* 210 */ 319, 65, 63, 66, 64, 92, 79, 268, 267, 56, /* 210 */ 319, 65, 63, 66, 64, 92, 74, 268, 267, 56,
/* 220 */ 55, 123, 211, 54, 53, 52, 249, 817, 208, 217, /* 220 */ 55, 259, 211, 54, 53, 52, 249, 817, 208, 217,
/* 230 */ 806, 93, 809, 349, 812, 137, 136, 135, 216, 1135, /* 230 */ 806, 175, 809, 123, 812, 137, 136, 135, 216, 1135,
/* 240 */ 249, 817, 324, 86, 806, 81, 809, 259, 812, 251, /* 240 */ 249, 817, 324, 86, 806, 349, 809, 161, 812, 251,
/* 250 */ 1008, 205, 65, 63, 66, 64, 161, 175, 228, 229, /* 250 */ 916, 206, 65, 63, 66, 64, 75, 189, 228, 229,
/* 260 */ 56, 55, 320, 916, 54, 53, 52, 5, 41, 179, /* 260 */ 56, 55, 320, 926, 54, 53, 52, 5, 41, 179,
/* 270 */ 189, 624, 228, 229, 178, 104, 109, 100, 108, 625, /* 270 */ 189, 624, 228, 229, 178, 104, 109, 100, 108, 625,
/* 280 */ 45, 732, 357, 954, 729, 38, 730, 38, 731, 121, /* 280 */ 45, 732, 357, 954, 729, 38, 730, 38, 731, 121,
/* 290 */ 115, 126, 253, 304, 38, 16, 125, 15, 131, 134, /* 290 */ 115, 126, 253, 304, 38, 808, 125, 811, 131, 134,
/* 300 */ 124, 206, 271, 38, 78, 258, 784, 128, 67, 208, /* 300 */ 124, 807, 271, 810, 78, 258, 38, 128, 67, 208,
/* 310 */ 748, 224, 255, 256, 3, 190, 199, 197, 195, 808, /* 310 */ 212, 224, 255, 256, 3, 190, 199, 197, 195, 293,
/* 320 */ 1135, 811, 67, 194, 141, 140, 139, 138, 293, 240, /* 320 */ 1135, 91, 67, 194, 141, 140, 139, 138, 1131, 240,
/* 330 */ 91, 241, 926, 1020, 44, 1020, 356, 355, 328, 189, /* 330 */ 38, 241, 38, 1020, 44, 1020, 356, 355, 328, 259,
/* 340 */ 38, 354, 1020, 818, 813, 353, 38, 352, 351, 708, /* 340 */ 38, 354, 1020, 818, 813, 353, 38, 352, 351, 176,
/* 350 */ 814, 1019, 807, 29, 810, 212, 38, 818, 813, 38, /* 350 */ 814, 748, 38, 29, 1019, 38, 745, 818, 813, 1130,
/* 360 */ 1094, 56, 55, 783, 814, 54, 53, 52, 254, 38, /* 360 */ 38, 56, 55, 708, 814, 54, 53, 52, 254, 259,
/* 370 */ 252, 38, 327, 326, 38, 14, 1131, 339, 338, 94, /* 370 */ 252, 14, 327, 326, 329, 94, 330, 784, 1020, 1021,
/* 380 */ 917, 260, 745, 257, 329, 334, 333, 189, 1020, 259, /* 380 */ 1020, 260, 9, 257, 331, 334, 333, 273, 1020, 79,
/* 390 */ 330, 54, 53, 52, 1020, 259, 752, 733, 734, 176, /* 390 */ 335, 339, 338, 93, 1020, 917, 336, 733, 734, 337,
/* 400 */ 331, 1, 177, 335, 1020, 1021, 273, 1020, 9, 97, /* 400 */ 1020, 39, 189, 1020, 341, 97, 83, 81, 1020, 54,
/* 410 */ 83, 84, 34, 336, 71, 337, 764, 1020, 341, 1020, /* 410 */ 53, 52, 360, 359, 146, 815, 152, 150, 149, 1,
/* 420 */ 39, 774, 1020, 360, 359, 146, 152, 150, 149, 775, /* 420 */ 177, 816, 84, 1008, 764, 774, 775, 718, 71, 804,
/* 430 */ 156, 74, 718, 804, 321, 68, 296, 720, 77, 815, /* 430 */ 248, 296, 720, 298, 783, 719, 838, 752, 156, 68,
/* 440 */ 248, 133, 132, 26, 298, 299, 39, 275, 275, 719, /* 440 */ 26, 39, 34, 275, 321, 39, 68, 96, 819, 68,
/* 450 */ 39, 68, 838, 819, 623, 114, 72, 113, 96, 18, /* 450 */ 25, 16, 6, 15, 623, 114, 18, 113, 17, 275,
/* 460 */ 1130, 17, 6, 68, 1129, 226, 25, 25, 25, 805, /* 460 */ 77, 737, 25, 738, 735, 805, 736, 20, 25, 19,
/* 470 */ 707, 75, 816, 737, 735, 738, 736, 20, 227, 19, /* 470 */ 72, 120, 22, 119, 21, 299, 133, 132, 1129, 226,
/* 480 */ 120, 22, 119, 21, 209, 210, 213, 207, 214, 1154, /* 480 */ 227, 209, 210, 213, 207, 214, 215, 219, 1022, 220,
/* 490 */ 215, 1146, 1037, 1093, 219, 238, 220, 221, 218, 204, /* 490 */ 1154, 1146, 707, 221, 218, 204, 269, 1094, 1093, 238,
/* 500 */ 1090, 1089, 239, 340, 269, 153, 1044, 1055, 48, 1076, /* 500 */ 1090, 1089, 239, 340, 171, 153, 1044, 1055, 48, 151,
/* 510 */ 1052, 1053, 276, 1075, 1018, 1057, 151, 155, 160, 287, /* 510 */ 1052, 1053, 1037, 276, 1057, 155, 160, 287, 1018, 1076,
/* 520 */ 171, 172, 280, 1016, 173, 174, 163, 235, 282, 284, /* 520 */ 1075, 280, 172, 1016, 235, 282, 173, 164, 174, 1034,
/* 530 */ 931, 164, 165, 1034, 166, 763, 301, 821, 302, 303, /* 530 */ 931, 301, 302, 303, 306, 307, 46, 763, 202, 163,
/* 540 */ 306, 307, 46, 202, 162, 294, 42, 290, 168, 318, /* 540 */ 284, 162, 294, 42, 318, 290, 165, 821, 76, 925,
/* 550 */ 925, 325, 76, 73, 50, 292, 1153, 288, 111, 1152, /* 550 */ 50, 292, 73, 325, 1153, 111, 1152, 166, 286, 1149,
/* 560 */ 283, 1149, 286, 49, 180, 305, 332, 1145, 167, 122, /* 560 */ 180, 332, 1145, 288, 117, 1144, 1141, 181, 167, 283,
/* 570 */ 350, 117, 1144, 1141, 181, 951, 43, 40, 47, 342, /* 570 */ 951, 33, 43, 40, 47, 203, 49, 913, 127, 911,
/* 580 */ 203, 913, 127, 911, 129, 130, 909, 908, 261, 192, /* 580 */ 129, 130, 909, 908, 261, 192, 193, 905, 904, 903,
/* 590 */ 193, 905, 904, 903, 902, 901, 900, 899, 196, 198, /* 590 */ 902, 901, 900, 899, 196, 198, 305, 896, 894, 892,
/* 600 */ 896, 894, 892, 890, 200, 887, 201, 343, 274, 82, /* 600 */ 890, 200, 887, 201, 350, 274, 82, 87, 285, 1077,
/* 610 */ 87, 344, 285, 1077, 345, 346, 347, 348, 358, 863, /* 610 */ 122, 342, 343, 344, 345, 346, 347, 348, 225, 358,
/* 620 */ 263, 262, 862, 266, 225, 245, 300, 265, 861, 844, /* 620 */ 245, 300, 863, 262, 263, 862, 222, 223, 265, 266,
/* 630 */ 843, 270, 222, 275, 10, 85, 295, 930, 929, 223, /* 630 */ 861, 105, 930, 929, 844, 843, 270, 106, 275, 295,
/* 640 */ 105, 740, 106, 277, 30, 88, 765, 907, 906, 157, /* 640 */ 10, 277, 740, 85, 88, 907, 906, 30, 142, 898,
/* 650 */ 158, 142, 143, 898, 184, 183, 952, 187, 182, 185, /* 650 */ 183, 952, 184, 185, 182, 186, 188, 187, 143, 144,
/* 660 */ 186, 188, 144, 897, 776, 145, 953, 889, 989, 2, /* 660 */ 897, 989, 145, 889, 953, 888, 4, 765, 157, 2,
/* 670 */ 169, 888, 770, 33, 4, 159, 89, 237, 772, 90, /* 670 */ 776, 168, 169, 158, 159, 770, 89, 999, 772, 90,
/* 680 */ 289, 999, 31, 11, 32, 12, 13, 27, 297, 28, /* 680 */ 237, 289, 31, 11, 12, 32, 13, 27, 297, 28,
/* 690 */ 97, 99, 102, 36, 101, 638, 37, 103, 673, 671, /* 690 */ 97, 99, 102, 36, 101, 638, 37, 103, 673, 671,
/* 700 */ 670, 669, 667, 666, 665, 662, 628, 316, 107, 7, /* 700 */ 670, 669, 667, 666, 665, 662, 316, 107, 628, 7,
/* 710 */ 822, 820, 322, 8, 323, 710, 110, 69, 112, 70, /* 710 */ 822, 820, 8, 323, 110, 112, 322, 69, 70, 116,
/* 720 */ 39, 709, 116, 118, 706, 654, 652, 644, 650, 646, /* 720 */ 710, 39, 118, 709, 706, 654, 652, 644, 650, 646,
/* 730 */ 648, 642, 640, 676, 675, 674, 672, 668, 664, 663, /* 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, /* 750 */ 866, 866, 866, 866, 866, 866, 147, 148,
}; };
static const YYCODETYPE yy_lookahead[] = { static const YYCODETYPE yy_lookahead[] = {
/* 0 */ 253, 1, 245, 1, 199, 200, 249, 200, 245, 9, /* 0 */ 252, 1, 244, 1, 198, 199, 248, 199, 244, 9,
/* 10 */ 206, 9, 249, 13, 14, 200, 16, 17, 271, 200, /* 10 */ 205, 9, 248, 13, 14, 199, 16, 17, 270, 199,
/* 20 */ 20, 21, 1, 23, 24, 25, 26, 27, 28, 223, /* 20 */ 20, 21, 1, 23, 24, 25, 26, 27, 28, 222,
/* 30 */ 9, 225, 226, 33, 34, 200, 230, 37, 38, 39, /* 30 */ 9, 224, 225, 33, 34, 199, 229, 37, 38, 39,
/* 40 */ 234, 200, 236, 237, 197, 198, 247, 45, 46, 47, /* 40 */ 233, 199, 235, 236, 196, 197, 246, 45, 46, 47,
/* 50 */ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, /* 50 */ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
/* 60 */ 58, 59, 263, 244, 62, 13, 14, 248, 16, 17, /* 60 */ 58, 59, 262, 243, 62, 13, 14, 247, 16, 17,
/* 70 */ 266, 5, 20, 21, 267, 23, 24, 25, 26, 27, /* 70 */ 265, 5, 20, 21, 266, 23, 24, 25, 26, 27,
/* 80 */ 28, 277, 0, 268, 269, 33, 34, 87, 207, 37, /* 80 */ 28, 276, 0, 267, 268, 33, 34, 87, 206, 37,
/* 90 */ 38, 39, 13, 14, 247, 16, 17, 266, 83, 20, /* 90 */ 38, 39, 13, 14, 246, 16, 17, 265, 83, 20,
/* 100 */ 21, 200, 23, 24, 25, 26, 27, 28, 277, 274, /* 100 */ 21, 199, 23, 24, 25, 26, 27, 28, 276, 273,
/* 110 */ 263, 276, 33, 34, 85, 274, 37, 38, 39, 13, /* 110 */ 262, 275, 33, 34, 85, 273, 37, 38, 39, 13,
/* 120 */ 14, 245, 16, 17, 243, 249, 20, 21, 207, 23, /* 120 */ 14, 244, 16, 17, 242, 248, 20, 21, 206, 23,
/* 130 */ 24, 25, 26, 27, 28, 120, 84, 91, 247, 33, /* 130 */ 24, 25, 26, 27, 28, 120, 84, 265, 246, 33,
/* 140 */ 34, 200, 249, 37, 38, 39, 14, 246, 16, 17, /* 140 */ 34, 199, 91, 37, 38, 39, 14, 245, 16, 17,
/* 150 */ 126, 127, 20, 21, 263, 23, 24, 25, 26, 27, /* 150 */ 126, 127, 20, 21, 262, 23, 24, 25, 26, 27,
/* 160 */ 28, 240, 241, 242, 243, 33, 34, 85, 206, 37, /* 160 */ 28, 239, 240, 241, 242, 33, 34, 85, 205, 37,
/* 170 */ 38, 39, 99, 100, 101, 102, 103, 104, 105, 106, /* 170 */ 38, 39, 99, 100, 101, 102, 103, 104, 105, 106,
/* 180 */ 107, 108, 109, 110, 111, 112, 113, 223, 224, 225, /* 180 */ 107, 108, 109, 110, 111, 112, 113, 222, 223, 224,
/* 190 */ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, /* 190 */ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
/* 200 */ 236, 237, 16, 17, 44, 266, 20, 21, 143, 23, /* 200 */ 235, 236, 16, 17, 44, 265, 20, 21, 143, 23,
/* 210 */ 24, 25, 26, 27, 28, 274, 207, 152, 153, 33, /* 210 */ 24, 25, 26, 27, 28, 273, 98, 152, 153, 33,
/* 220 */ 34, 79, 62, 37, 38, 39, 1, 2, 266, 69, /* 220 */ 34, 199, 62, 37, 38, 39, 1, 2, 265, 69,
/* 230 */ 5, 250, 7, 91, 9, 75, 76, 77, 78, 277, /* 230 */ 5, 209, 7, 79, 9, 75, 76, 77, 78, 276,
/* 240 */ 1, 2, 82, 83, 5, 264, 7, 200, 9, 206, /* 240 */ 1, 2, 82, 83, 5, 91, 7, 199, 9, 205,
/* 250 */ 241, 266, 25, 26, 27, 28, 200, 210, 33, 34, /* 250 */ 204, 265, 25, 26, 27, 28, 138, 211, 33, 34,
/* 260 */ 33, 34, 37, 205, 37, 38, 39, 63, 64, 65, /* 260 */ 33, 34, 37, 204, 37, 38, 39, 63, 64, 65,
/* 270 */ 212, 1, 33, 34, 70, 71, 72, 73, 74, 9, /* 270 */ 211, 1, 33, 34, 70, 71, 72, 73, 74, 9,
/* 280 */ 120, 2, 221, 222, 5, 200, 7, 200, 9, 63, /* 280 */ 120, 2, 220, 221, 5, 199, 7, 199, 9, 63,
/* 290 */ 64, 65, 69, 89, 200, 146, 70, 148, 72, 73, /* 290 */ 64, 65, 69, 89, 199, 5, 70, 7, 72, 73,
/* 300 */ 74, 266, 142, 200, 144, 69, 77, 81, 83, 266, /* 300 */ 74, 5, 142, 7, 144, 69, 199, 81, 83, 265,
/* 310 */ 37, 151, 33, 34, 203, 204, 63, 64, 65, 5, /* 310 */ 265, 151, 33, 34, 202, 203, 63, 64, 65, 271,
/* 320 */ 277, 7, 83, 70, 71, 72, 73, 74, 272, 244, /* 320 */ 276, 273, 83, 70, 71, 72, 73, 74, 265, 243,
/* 330 */ 274, 244, 205, 248, 99, 248, 101, 102, 244, 212, /* 330 */ 199, 243, 199, 247, 99, 247, 101, 102, 243, 199,
/* 340 */ 200, 106, 248, 118, 119, 110, 200, 112, 113, 5, /* 340 */ 199, 106, 247, 118, 119, 110, 199, 112, 113, 209,
/* 350 */ 125, 248, 5, 83, 7, 266, 200, 118, 119, 200, /* 350 */ 125, 37, 199, 83, 247, 199, 98, 118, 119, 265,
/* 360 */ 239, 33, 34, 134, 125, 37, 38, 39, 145, 200, /* 360 */ 199, 33, 34, 5, 125, 37, 38, 39, 145, 199,
/* 370 */ 147, 200, 149, 150, 200, 83, 266, 33, 34, 87, /* 370 */ 147, 83, 149, 150, 243, 87, 243, 77, 247, 209,
/* 380 */ 205, 145, 98, 147, 244, 149, 150, 212, 248, 200, /* 380 */ 247, 145, 124, 147, 243, 149, 150, 84, 247, 206,
/* 390 */ 244, 37, 38, 39, 248, 200, 123, 118, 119, 210, /* 390 */ 243, 33, 34, 249, 247, 204, 243, 118, 119, 243,
/* 400 */ 244, 208, 209, 244, 248, 210, 84, 248, 124, 117, /* 400 */ 247, 98, 211, 247, 243, 117, 84, 263, 247, 37,
/* 410 */ 84, 84, 83, 244, 98, 244, 84, 248, 244, 248, /* 410 */ 38, 39, 66, 67, 68, 125, 63, 64, 65, 207,
/* 420 */ 98, 84, 248, 66, 67, 68, 63, 64, 65, 84, /* 420 */ 208, 125, 84, 240, 84, 84, 84, 84, 98, 1,
/* 430 */ 98, 98, 84, 1, 15, 98, 84, 84, 83, 125, /* 430 */ 61, 84, 84, 84, 134, 84, 84, 123, 98, 98,
/* 440 */ 61, 79, 80, 98, 84, 116, 98, 121, 121, 84, /* 440 */ 98, 98, 83, 121, 15, 98, 98, 98, 84, 98,
/* 450 */ 98, 98, 84, 84, 84, 146, 140, 148, 98, 146, /* 450 */ 98, 146, 83, 148, 84, 146, 146, 148, 148, 121,
/* 460 */ 266, 148, 83, 98, 266, 266, 98, 98, 98, 37, /* 460 */ 83, 5, 98, 7, 5, 37, 7, 146, 98, 148,
/* 470 */ 115, 138, 125, 5, 5, 7, 7, 146, 266, 148, /* 470 */ 140, 146, 146, 148, 148, 116, 79, 80, 265, 265,
/* 480 */ 146, 146, 148, 148, 266, 266, 266, 266, 266, 249, /* 480 */ 265, 265, 265, 265, 265, 265, 265, 265, 248, 265,
/* 490 */ 266, 249, 247, 239, 266, 239, 266, 266, 266, 266, /* 490 */ 248, 248, 115, 265, 265, 265, 199, 238, 238, 238,
/* 500 */ 239, 239, 239, 239, 200, 200, 200, 200, 265, 275, /* 500 */ 238, 238, 238, 238, 250, 199, 199, 199, 264, 61,
/* 510 */ 200, 200, 247, 275, 247, 200, 61, 200, 200, 200, /* 510 */ 199, 199, 246, 246, 199, 199, 199, 199, 246, 274,
/* 520 */ 251, 200, 270, 200, 200, 200, 260, 270, 270, 270, /* 520 */ 274, 269, 199, 199, 269, 269, 199, 258, 199, 261,
/* 530 */ 200, 259, 258, 262, 257, 125, 200, 118, 200, 200, /* 530 */ 199, 199, 199, 199, 199, 199, 199, 125, 199, 259,
/* 540 */ 200, 200, 200, 200, 261, 132, 200, 130, 255, 200, /* 540 */ 269, 260, 132, 199, 199, 130, 257, 118, 137, 199,
/* 550 */ 200, 200, 137, 139, 136, 135, 200, 129, 200, 200, /* 550 */ 136, 135, 139, 199, 199, 199, 199, 256, 128, 199,
/* 560 */ 131, 200, 128, 141, 200, 90, 200, 200, 256, 97, /* 560 */ 199, 199, 199, 129, 199, 199, 199, 199, 255, 131,
/* 570 */ 114, 200, 200, 200, 200, 200, 200, 200, 200, 96, /* 570 */ 199, 251, 199, 199, 199, 199, 141, 199, 199, 199,
/* 580 */ 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, /* 580 */ 199, 199, 199, 199, 199, 199, 199, 199, 199, 199,
/* 590 */ 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, /* 590 */ 199, 199, 199, 199, 199, 199, 90, 199, 199, 199,
/* 600 */ 200, 200, 200, 200, 200, 200, 200, 51, 201, 201, /* 600 */ 199, 199, 199, 199, 114, 200, 200, 200, 200, 200,
/* 610 */ 201, 93, 201, 201, 95, 55, 94, 92, 85, 5, /* 610 */ 97, 96, 51, 93, 95, 55, 94, 92, 200, 85,
/* 620 */ 5, 154, 5, 5, 201, 201, 201, 154, 5, 101, /* 620 */ 200, 200, 5, 154, 5, 5, 200, 200, 154, 5,
/* 630 */ 100, 143, 201, 121, 83, 122, 116, 211, 211, 201, /* 630 */ 5, 206, 210, 210, 101, 100, 143, 206, 121, 116,
/* 640 */ 207, 84, 207, 98, 83, 98, 84, 201, 201, 83, /* 640 */ 83, 98, 84, 122, 98, 200, 200, 83, 201, 200,
/* 650 */ 83, 202, 202, 201, 214, 218, 220, 216, 219, 217, /* 650 */ 217, 219, 213, 216, 218, 214, 212, 215, 201, 201,
/* 660 */ 215, 213, 202, 201, 84, 202, 222, 201, 238, 208, /* 660 */ 200, 237, 201, 200, 221, 200, 202, 84, 83, 207,
/* 670 */ 254, 201, 84, 252, 203, 98, 83, 1, 84, 83, /* 670 */ 84, 254, 253, 83, 98, 84, 83, 237, 84, 83,
/* 680 */ 83, 238, 98, 133, 98, 133, 83, 83, 116, 83, /* 680 */ 1, 83, 98, 133, 133, 98, 83, 83, 116, 83,
/* 690 */ 117, 79, 71, 88, 87, 5, 88, 87, 9, 5, /* 690 */ 117, 79, 71, 88, 87, 5, 88, 87, 9, 5,
/* 700 */ 5, 5, 5, 5, 5, 5, 86, 15, 79, 83, /* 700 */ 5, 5, 5, 5, 5, 5, 15, 79, 86, 83,
/* 710 */ 118, 84, 24, 83, 59, 5, 148, 16, 148, 16, /* 710 */ 118, 84, 83, 59, 148, 148, 24, 16, 16, 148,
/* 720 */ 98, 5, 148, 148, 84, 5, 5, 5, 5, 5, /* 720 */ 5, 98, 148, 5, 84, 5, 5, 5, 5, 5,
/* 730 */ 5, 5, 5, 5, 5, 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, /* 740 */ 98, 86, 61, 60, 0, 277, 277, 277, 277, 277,
/* 750 */ 278, 278, 278, 278, 278, 278, 21, 21, 278, 278, /* 750 */ 277, 277, 277, 277, 277, 277, 21, 21, 277, 277,
/* 760 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, /* 760 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 770 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, /* 770 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 780 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, /* 780 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 790 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, /* 790 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 800 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, /* 800 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 810 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, /* 810 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 820 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, /* 820 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 830 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, /* 830 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 840 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, /* 840 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 850 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, /* 850 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 860 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, /* 860 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 870 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, /* 870 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 880 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, /* 880 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 890 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, /* 890 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 900 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, /* 900 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 910 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, /* 910 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 920 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, /* 920 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 930 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, /* 930 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 940 */ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, /* 940 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
/* 950 */ 278, 278, 278, 278, /* 950 */ 277, 277, 277, 277,
}; };
#define YY_SHIFT_COUNT (363) #define YY_SHIFT_COUNT (363)
#define YY_SHIFT_MIN (0) #define YY_SHIFT_MIN (0)
...@@ -390,65 +598,65 @@ static const unsigned short int yy_shift_ofst[] = { ...@@ -390,65 +598,65 @@ static const unsigned short int yy_shift_ofst[] = {
/* 10 */ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, /* 10 */ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
/* 20 */ 21, 21, 21, 0, 2, 239, 279, 279, 279, 15, /* 20 */ 21, 21, 21, 0, 2, 239, 279, 279, 279, 15,
/* 30 */ 15, 21, 21, 24, 21, 82, 21, 21, 21, 21, /* 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, /* 50 */ 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
/* 60 */ 239, 239, 239, 239, 239, 239, 239, 239, 279, 279, /* 60 */ 239, 239, 239, 239, 239, 239, 239, 239, 279, 279,
/* 70 */ 279, 344, 344, 344, 344, 344, 344, 344, 21, 21, /* 70 */ 279, 358, 358, 358, 358, 358, 358, 358, 21, 21,
/* 80 */ 21, 273, 21, 21, 21, 15, 15, 21, 21, 21, /* 80 */ 21, 314, 21, 21, 21, 15, 15, 21, 21, 21,
/* 90 */ 21, 229, 229, 284, 15, 21, 21, 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, /* 100 */ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
/* 110 */ 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, /* 120 */ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
/* 130 */ 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, /* 140 */ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
/* 150 */ 21, 21, 21, 455, 455, 455, 410, 410, 410, 410, /* 150 */ 21, 21, 21, 448, 448, 448, 412, 412, 412, 412,
/* 160 */ 455, 455, 415, 414, 413, 418, 420, 417, 428, 434, /* 160 */ 448, 448, 411, 413, 410, 414, 416, 415, 434, 430,
/* 170 */ 429, 422, 455, 455, 455, 475, 475, 456, 29, 29, /* 170 */ 438, 435, 448, 448, 448, 506, 506, 490, 29, 29,
/* 180 */ 455, 455, 472, 483, 556, 518, 519, 560, 522, 525, /* 180 */ 448, 448, 513, 515, 561, 520, 519, 560, 522, 525,
/* 190 */ 456, 66, 455, 455, 533, 533, 455, 533, 455, 533, /* 190 */ 490, 66, 448, 448, 534, 534, 448, 534, 448, 534,
/* 200 */ 455, 455, 758, 758, 52, 79, 79, 106, 79, 132, /* 200 */ 448, 448, 758, 758, 52, 79, 79, 106, 79, 132,
/* 210 */ 186, 204, 227, 227, 227, 227, 226, 253, 328, 328, /* 210 */ 186, 204, 227, 227, 227, 227, 226, 253, 328, 328,
/* 220 */ 328, 328, 223, 236, 65, 292, 354, 354, 314, 347, /* 220 */ 328, 328, 223, 236, 65, 288, 372, 372, 290, 296,
/* 230 */ 357, 363, 322, 326, 327, 332, 337, 345, 316, 333, /* 230 */ 346, 353, 303, 322, 338, 340, 341, 342, 330, 118,
/* 240 */ 348, 352, 353, 360, 365, 329, 368, 369, 432, 379, /* 240 */ 343, 347, 348, 349, 351, 359, 352, 364, 428, 369,
/* 250 */ 419, 370, 149, 309, 313, 468, 469, 331, 334, 355, /* 250 */ 429, 370, 305, 309, 310, 456, 459, 321, 325, 377,
/* 260 */ 335, 362, 614, 467, 615, 617, 473, 618, 623, 528, /* 260 */ 326, 397, 617, 469, 619, 620, 474, 624, 625, 533,
/* 270 */ 530, 488, 512, 520, 551, 513, 557, 561, 545, 547, /* 270 */ 535, 493, 517, 523, 557, 521, 558, 564, 543, 546,
/* 280 */ 562, 566, 580, 567, 588, 577, 593, 594, 596, 676, /* 280 */ 583, 585, 586, 590, 591, 576, 593, 594, 596, 679,
/* 290 */ 597, 584, 550, 586, 552, 603, 520, 604, 572, 606, /* 290 */ 598, 584, 550, 587, 551, 603, 523, 604, 572, 606,
/* 300 */ 573, 612, 605, 607, 621, 690, 608, 610, 689, 694, /* 300 */ 573, 612, 605, 607, 621, 690, 608, 610, 689, 694,
/* 310 */ 695, 696, 697, 698, 699, 700, 620, 692, 629, 626, /* 310 */ 695, 696, 697, 698, 699, 700, 622, 691, 628, 626,
/* 320 */ 627, 592, 630, 688, 655, 701, 568, 570, 622, 622, /* 320 */ 627, 592, 629, 692, 654, 701, 566, 567, 623, 623,
/* 330 */ 622, 622, 703, 574, 575, 622, 622, 622, 710, 716, /* 330 */ 623, 623, 702, 571, 574, 623, 623, 623, 715, 718,
/* 340 */ 640, 622, 720, 721, 722, 723, 724, 725, 726, 727, /* 340 */ 640, 623, 720, 721, 722, 723, 724, 725, 726, 727,
/* 350 */ 728, 729, 730, 731, 732, 733, 734, 642, 656, 735, /* 350 */ 728, 729, 730, 731, 732, 733, 734, 642, 655, 735,
/* 360 */ 736, 680, 683, 744, /* 360 */ 736, 681, 683, 744,
}; };
#define YY_REDUCE_COUNT (203) #define YY_REDUCE_COUNT (203)
#define YY_REDUCE_MIN (-253) #define YY_REDUCE_MIN (-252)
#define YY_REDUCE_MAX (471) #define YY_REDUCE_MAX (465)
static const short yy_reduce_ofst[] = { static const short yy_reduce_ofst[] = {
/* 0 */ -153, -36, -36, -194, -194, -79, -196, -38, 43, -185, /* 0 */ -152, -35, -35, -193, -193, -78, -195, -37, 44, -184,
/* 10 */ -181, -165, 56, 85, 87, 94, 140, 146, 156, 159, /* 10 */ -180, -164, 48, 86, 88, 95, 131, 133, 141, 147,
/* 20 */ 169, 171, 174, -193, -195, -169, -243, -237, -124, -201, /* 20 */ 153, 156, 161, -192, -194, -168, -242, -236, -123, -200,
/* 30 */ -109, -159, -59, -253, -99, -119, 47, 189, 195, 103, /* 30 */ -108, -158, -58, -252, -98, -118, 22, 140, 170, 107,
/* 40 */ 58, 9, 127, 175, 61, -19, 193, 111, -61, -15, /* 40 */ 46, 183, 59, 191, 62, 144, 212, 112, -128, -60,
/* 50 */ 35, 89, 110, 194, 198, 199, 212, 218, 219, 220, /* 50 */ -14, 45, 63, 94, 213, 214, 215, 216, 217, 218,
/* 60 */ 221, 222, 224, 228, 230, 231, 232, 233, -107, 240, /* 60 */ 219, 220, 221, 222, 224, 228, 229, 230, 240, 242,
/* 70 */ 242, 121, 254, 256, 261, 262, 263, 264, 304, 305, /* 70 */ 243, 259, 260, 261, 262, 263, 264, 265, 297, 306,
/* 80 */ 306, 243, 307, 310, 311, 245, 265, 315, 317, 318, /* 80 */ 307, 244, 308, 311, 312, 266, 267, 315, 316, 317,
/* 90 */ 319, 234, 238, 269, 267, 321, 323, 324, 325, 330, /* 90 */ 318, 245, 246, 254, 272, 323, 324, 327, 329, 331,
/* 100 */ 336, 338, 339, 340, 341, 342, 343, 346, 349, 350, /* 100 */ 332, 333, 334, 335, 336, 337, 339, 344, 345, 350,
/* 110 */ 351, 356, 358, 359, 361, 364, 366, 367, 371, 372, /* 110 */ 354, 355, 356, 357, 360, 361, 362, 363, 365, 366,
/* 120 */ 373, 374, 375, 376, 377, 378, 380, 381, 382, 383, /* 120 */ 367, 368, 371, 373, 374, 375, 376, 378, 379, 380,
/* 130 */ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, /* 130 */ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
/* 140 */ 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, /* 140 */ 391, 392, 393, 394, 395, 396, 398, 399, 400, 401,
/* 150 */ 404, 405, 406, 407, 408, 409, 252, 257, 258, 259, /* 150 */ 402, 403, 404, 405, 406, 407, 252, 255, 256, 271,
/* 160 */ 411, 412, 271, 283, 266, 272, 274, 277, 312, 293, /* 160 */ 408, 409, 268, 281, 280, 269, 289, 301, 313, 417,
/* 170 */ 416, 421, 423, 424, 425, 426, 427, 430, 433, 435, /* 170 */ 419, 320, 418, 420, 421, 422, 423, 424, 425, 431,
/* 180 */ 431, 438, 436, 439, 437, 440, 442, 445, 441, 448, /* 180 */ 426, 427, 432, 436, 433, 439, 437, 441, 442, 444,
/* 190 */ 443, 444, 446, 447, 449, 450, 452, 460, 462, 463, /* 190 */ 440, 443, 445, 446, 447, 457, 449, 458, 460, 461,
/* 200 */ 466, 470, 461, 471, /* 200 */ 463, 465, 462, 464,
}; };
static const YYACTIONTYPE yy_default[] = { static const YYACTIONTYPE yy_default[] = {
/* 0 */ 864, 988, 927, 998, 914, 924, 1137, 1137, 1137, 864, /* 0 */ 864, 988, 927, 998, 914, 924, 1137, 1137, 1137, 864,
...@@ -742,6 +950,7 @@ struct yyParser { ...@@ -742,6 +950,7 @@ struct yyParser {
int yyerrcnt; /* Shifts left before out of the error */ int yyerrcnt; /* Shifts left before out of the error */
#endif #endif
ParseARG_SDECL /* A place to hold %extra_argument */ ParseARG_SDECL /* A place to hold %extra_argument */
ParseCTX_SDECL /* A place to hold %extra_context */
#if YYSTACKDEPTH<=0 #if YYSTACKDEPTH<=0
int yystksz; /* Current side of the stack */ int yystksz; /* Current side of the stack */
yyStackEntry *yystack; /* The parser's stack */ yyStackEntry *yystack; /* The parser's stack */
...@@ -755,6 +964,7 @@ typedef struct yyParser yyParser; ...@@ -755,6 +964,7 @@ typedef struct yyParser yyParser;
#ifndef NDEBUG #ifndef NDEBUG
#include <stdio.h> #include <stdio.h>
#include <assert.h>
static FILE *yyTraceFILE = 0; static FILE *yyTraceFILE = 0;
static char *yyTracePrompt = 0; static char *yyTracePrompt = 0;
#endif /* NDEBUG */ #endif /* NDEBUG */
...@@ -985,88 +1195,87 @@ static const char *const yyTokenName[] = { ...@@ -985,88 +1195,87 @@ static const char *const yyTokenName[] = {
/* 193 */ "INSERT", /* 193 */ "INSERT",
/* 194 */ "INTO", /* 194 */ "INTO",
/* 195 */ "VALUES", /* 195 */ "VALUES",
/* 196 */ "error", /* 196 */ "program",
/* 197 */ "program", /* 197 */ "cmd",
/* 198 */ "cmd", /* 198 */ "dbPrefix",
/* 199 */ "dbPrefix", /* 199 */ "ids",
/* 200 */ "ids", /* 200 */ "cpxName",
/* 201 */ "cpxName", /* 201 */ "ifexists",
/* 202 */ "ifexists", /* 202 */ "alter_db_optr",
/* 203 */ "alter_db_optr", /* 203 */ "alter_topic_optr",
/* 204 */ "alter_topic_optr", /* 204 */ "acct_optr",
/* 205 */ "acct_optr", /* 205 */ "exprlist",
/* 206 */ "exprlist", /* 206 */ "ifnotexists",
/* 207 */ "ifnotexists", /* 207 */ "db_optr",
/* 208 */ "db_optr", /* 208 */ "topic_optr",
/* 209 */ "topic_optr", /* 209 */ "typename",
/* 210 */ "typename", /* 210 */ "bufsize",
/* 211 */ "bufsize", /* 211 */ "pps",
/* 212 */ "pps", /* 212 */ "tseries",
/* 213 */ "tseries", /* 213 */ "dbs",
/* 214 */ "dbs", /* 214 */ "streams",
/* 215 */ "streams", /* 215 */ "storage",
/* 216 */ "storage", /* 216 */ "qtime",
/* 217 */ "qtime", /* 217 */ "users",
/* 218 */ "users", /* 218 */ "conns",
/* 219 */ "conns", /* 219 */ "state",
/* 220 */ "state", /* 220 */ "intitemlist",
/* 221 */ "intitemlist", /* 221 */ "intitem",
/* 222 */ "intitem", /* 222 */ "keep",
/* 223 */ "keep", /* 223 */ "cache",
/* 224 */ "cache", /* 224 */ "replica",
/* 225 */ "replica", /* 225 */ "quorum",
/* 226 */ "quorum", /* 226 */ "days",
/* 227 */ "days", /* 227 */ "minrows",
/* 228 */ "minrows", /* 228 */ "maxrows",
/* 229 */ "maxrows", /* 229 */ "blocks",
/* 230 */ "blocks", /* 230 */ "ctime",
/* 231 */ "ctime", /* 231 */ "wal",
/* 232 */ "wal", /* 232 */ "fsync",
/* 233 */ "fsync", /* 233 */ "comp",
/* 234 */ "comp", /* 234 */ "prec",
/* 235 */ "prec", /* 235 */ "update",
/* 236 */ "update", /* 236 */ "cachelast",
/* 237 */ "cachelast", /* 237 */ "partitions",
/* 238 */ "partitions", /* 238 */ "signed",
/* 239 */ "signed", /* 239 */ "create_table_args",
/* 240 */ "create_table_args", /* 240 */ "create_stable_args",
/* 241 */ "create_stable_args", /* 241 */ "create_table_list",
/* 242 */ "create_table_list", /* 242 */ "create_from_stable",
/* 243 */ "create_from_stable", /* 243 */ "columnlist",
/* 244 */ "columnlist", /* 244 */ "tagitemlist",
/* 245 */ "tagitemlist", /* 245 */ "tagNamelist",
/* 246 */ "tagNamelist", /* 246 */ "select",
/* 247 */ "select", /* 247 */ "column",
/* 248 */ "column", /* 248 */ "tagitem",
/* 249 */ "tagitem", /* 249 */ "selcollist",
/* 250 */ "selcollist", /* 250 */ "from",
/* 251 */ "from", /* 251 */ "where_opt",
/* 252 */ "where_opt", /* 252 */ "interval_option",
/* 253 */ "interval_option", /* 253 */ "sliding_opt",
/* 254 */ "sliding_opt", /* 254 */ "session_option",
/* 255 */ "session_option", /* 255 */ "windowstate_option",
/* 256 */ "windowstate_option", /* 256 */ "fill_opt",
/* 257 */ "fill_opt", /* 257 */ "groupby_opt",
/* 258 */ "groupby_opt", /* 258 */ "having_opt",
/* 259 */ "having_opt", /* 259 */ "orderby_opt",
/* 260 */ "orderby_opt", /* 260 */ "slimit_opt",
/* 261 */ "slimit_opt", /* 261 */ "limit_opt",
/* 262 */ "limit_opt", /* 262 */ "union",
/* 263 */ "union", /* 263 */ "sclp",
/* 264 */ "sclp", /* 264 */ "distinct",
/* 265 */ "distinct", /* 265 */ "expr",
/* 266 */ "expr", /* 266 */ "as",
/* 267 */ "as", /* 267 */ "tablelist",
/* 268 */ "tablelist", /* 268 */ "sub",
/* 269 */ "sub", /* 269 */ "tmvar",
/* 270 */ "tmvar", /* 270 */ "intervalKey",
/* 271 */ "intervalKey", /* 271 */ "sortlist",
/* 272 */ "sortlist", /* 272 */ "sortitem",
/* 273 */ "sortitem", /* 273 */ "item",
/* 274 */ "item", /* 274 */ "sortorder",
/* 275 */ "sortorder", /* 275 */ "grouplist",
/* 276 */ "grouplist", /* 276 */ "expritem",
/* 277 */ "expritem",
}; };
#endif /* defined(YYCOVERAGE) || !defined(NDEBUG) */ #endif /* defined(YYCOVERAGE) || !defined(NDEBUG) */
...@@ -1414,28 +1623,29 @@ static int yyGrowStack(yyParser *p){ ...@@ -1414,28 +1623,29 @@ static int yyGrowStack(yyParser *p){
/* Initialize a new parser that has already been allocated. /* Initialize a new parser that has already been allocated.
*/ */
void ParseInit(void *yypParser){ void ParseInit(void *yypRawParser ParseCTX_PDECL){
yyParser *pParser = (yyParser*)yypParser; yyParser *yypParser = (yyParser*)yypRawParser;
ParseCTX_STORE
#ifdef YYTRACKMAXSTACKDEPTH #ifdef YYTRACKMAXSTACKDEPTH
pParser->yyhwm = 0; yypParser->yyhwm = 0;
#endif #endif
#if YYSTACKDEPTH<=0 #if YYSTACKDEPTH<=0
pParser->yytos = NULL; yypParser->yytos = NULL;
pParser->yystack = NULL; yypParser->yystack = NULL;
pParser->yystksz = 0; yypParser->yystksz = 0;
if( yyGrowStack(pParser) ){ if( yyGrowStack(yypParser) ){
pParser->yystack = &pParser->yystk0; yypParser->yystack = &yypParser->yystk0;
pParser->yystksz = 1; yypParser->yystksz = 1;
} }
#endif #endif
#ifndef YYNOERRORRECOVERY #ifndef YYNOERRORRECOVERY
pParser->yyerrcnt = -1; yypParser->yyerrcnt = -1;
#endif #endif
pParser->yytos = pParser->yystack; yypParser->yytos = yypParser->yystack;
pParser->yystack[0].stateno = 0; yypParser->yystack[0].stateno = 0;
pParser->yystack[0].major = 0; yypParser->yystack[0].major = 0;
#if YYSTACKDEPTH>0 #if YYSTACKDEPTH>0
pParser->yystackEnd = &pParser->yystack[YYSTACKDEPTH-1]; yypParser->yystackEnd = &yypParser->yystack[YYSTACKDEPTH-1];
#endif #endif
} }
...@@ -1452,11 +1662,14 @@ void ParseInit(void *yypParser){ ...@@ -1452,11 +1662,14 @@ void ParseInit(void *yypParser){
** A pointer to a parser. This pointer is used in subsequent calls ** A pointer to a parser. This pointer is used in subsequent calls
** to Parse and ParseFree. ** to Parse and ParseFree.
*/ */
void *ParseAlloc(void *(*mallocProc)(YYMALLOCARGTYPE)){ void *ParseAlloc(void *(*mallocProc)(YYMALLOCARGTYPE) ParseCTX_PDECL){
yyParser *pParser; yyParser *yypParser;
pParser = (yyParser*)(*mallocProc)( (YYMALLOCARGTYPE)sizeof(yyParser) ); yypParser = (yyParser*)(*mallocProc)( (YYMALLOCARGTYPE)sizeof(yyParser) );
if( pParser ) ParseInit(pParser); if( yypParser ){
return pParser; ParseCTX_STORE
ParseInit(yypParser ParseCTX_PARAM);
}
return (void*)yypParser;
} }
#endif /* Parse_ENGINEALWAYSONSTACK */ #endif /* Parse_ENGINEALWAYSONSTACK */
...@@ -1473,7 +1686,8 @@ static void yy_destructor( ...@@ -1473,7 +1686,8 @@ static void yy_destructor(
YYCODETYPE yymajor, /* Type code for object to destroy */ YYCODETYPE yymajor, /* Type code for object to destroy */
YYMINORTYPE *yypminor /* The object to be destroyed */ YYMINORTYPE *yypminor /* The object to be destroyed */
){ ){
ParseARG_FETCH; ParseARG_FETCH
ParseCTX_FETCH
switch( yymajor ){ switch( yymajor ){
/* Here is inserted the actions which take place when a /* Here is inserted the actions which take place when a
** terminal or non-terminal is destroyed. This can happen ** terminal or non-terminal is destroyed. This can happen
...@@ -1486,60 +1700,76 @@ static void yy_destructor( ...@@ -1486,60 +1700,76 @@ static void yy_destructor(
** inside the C code. ** inside the C code.
*/ */
/********* Begin destructor definitions ***************************************/ /********* Begin destructor definitions ***************************************/
case 206: /* exprlist */ case 205: /* exprlist */
case 250: /* selcollist */ case 249: /* selcollist */
case 264: /* sclp */ case 263: /* sclp */
{ {
tSqlExprListDestroy((yypminor->yy421)); #line 760 "sql.y"
tSqlExprListDestroy((yypminor->yy403));
#line 1709 "sql.c"
} }
break; break;
case 221: /* intitemlist */ case 220: /* intitemlist */
case 223: /* keep */ case 222: /* keep */
case 244: /* columnlist */ case 243: /* columnlist */
case 245: /* tagitemlist */ case 244: /* tagitemlist */
case 246: /* tagNamelist */ case 245: /* tagNamelist */
case 257: /* fill_opt */ case 256: /* fill_opt */
case 258: /* groupby_opt */ case 257: /* groupby_opt */
case 260: /* orderby_opt */ case 259: /* orderby_opt */
case 272: /* sortlist */ case 271: /* sortlist */
case 276: /* grouplist */ case 275: /* grouplist */
{ {
taosArrayDestroy((yypminor->yy421)); #line 258 "sql.y"
taosArrayDestroy((yypminor->yy403));
#line 1725 "sql.c"
} }
break; 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; break;
case 247: /* select */ case 246: /* select */
{ {
destroySqlNode((yypminor->yy56)); #line 486 "sql.y"
destroySqlNode((yypminor->yy224));
#line 1739 "sql.c"
} }
break; break;
case 251: /* from */ case 250: /* from */
case 268: /* tablelist */ case 267: /* tablelist */
case 269: /* sub */ case 268: /* sub */
{ {
destroyRelationInfo((yypminor->yy8)); #line 541 "sql.y"
destroyRelationInfo((yypminor->yy114));
#line 1748 "sql.c"
} }
break; break;
case 252: /* where_opt */ case 251: /* where_opt */
case 259: /* having_opt */ case 258: /* having_opt */
case 266: /* expr */ case 265: /* expr */
case 277: /* expritem */ case 276: /* expritem */
{ {
tSqlExprDestroy((yypminor->yy439)); #line 693 "sql.y"
tSqlExprDestroy((yypminor->yy260));
#line 1758 "sql.c"
} }
break; break;
case 263: /* union */ case 262: /* union */
{ {
destroyAllSqlNode((yypminor->yy421)); #line 494 "sql.y"
destroyAllSqlNode((yypminor->yy403));
#line 1765 "sql.c"
} }
break; break;
case 273: /* sortitem */ case 272: /* sortitem */
{ {
tVariantDestroy(&(yypminor->yy430)); #line 626 "sql.y"
tVariantDestroy(&(yypminor->yy488));
#line 1772 "sql.c"
} }
break; break;
/********* End destructor definitions *****************************************/ /********* End destructor definitions *****************************************/
...@@ -1651,12 +1881,11 @@ int ParseCoverage(FILE *out){ ...@@ -1651,12 +1881,11 @@ int ParseCoverage(FILE *out){
** Find the appropriate action for a parser given the terminal ** Find the appropriate action for a parser given the terminal
** look-ahead token iLookAhead. ** look-ahead token iLookAhead.
*/ */
static unsigned int yy_find_shift_action( static YYACTIONTYPE yy_find_shift_action(
yyParser *pParser, /* The parser */ YYCODETYPE iLookAhead, /* The look-ahead token */
YYCODETYPE iLookAhead /* The look-ahead token */ YYACTIONTYPE stateno /* Current state number */
){ ){
int i; int i;
int stateno = pParser->yytos->stateno;
if( stateno>YY_MAX_SHIFT ) return stateno; if( stateno>YY_MAX_SHIFT ) return stateno;
assert( stateno <= YY_SHIFT_COUNT ); assert( stateno <= YY_SHIFT_COUNT );
...@@ -1665,15 +1894,19 @@ static unsigned int yy_find_shift_action( ...@@ -1665,15 +1894,19 @@ static unsigned int yy_find_shift_action(
#endif #endif
do{ do{
i = yy_shift_ofst[stateno]; 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!=YYNOCODE );
assert( iLookAhead < YYNTOKEN ); assert( iLookAhead < YYNTOKEN );
i += iLookAhead; i += iLookAhead;
assert( i<(int)YY_NLOOKAHEAD );
if( yy_lookahead[i]!=iLookAhead ){ if( yy_lookahead[i]!=iLookAhead ){
#ifdef YYFALLBACK #ifdef YYFALLBACK
YYCODETYPE iFallback; /* Fallback token */ YYCODETYPE iFallback; /* Fallback token */
if( iLookAhead<sizeof(yyFallback)/sizeof(yyFallback[0]) assert( iLookAhead<sizeof(yyFallback)/sizeof(yyFallback[0]) );
&& (iFallback = yyFallback[iLookAhead])!=0 ){ iFallback = yyFallback[iLookAhead];
if( iFallback!=0 ){
#ifndef NDEBUG #ifndef NDEBUG
if( yyTraceFILE ){ if( yyTraceFILE ){
fprintf(yyTraceFILE, "%sFALLBACK %s => %s\n", fprintf(yyTraceFILE, "%sFALLBACK %s => %s\n",
...@@ -1688,15 +1921,8 @@ static unsigned int yy_find_shift_action( ...@@ -1688,15 +1921,8 @@ static unsigned int yy_find_shift_action(
#ifdef YYWILDCARD #ifdef YYWILDCARD
{ {
int j = i - iLookAhead + YYWILDCARD; int j = i - iLookAhead + YYWILDCARD;
if( assert( j<(int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0])) );
#if YY_SHIFT_MIN+YYWILDCARD<0 if( yy_lookahead[j]==YYWILDCARD && iLookAhead>0 ){
j>=0 &&
#endif
#if YY_SHIFT_MAX+YYWILDCARD>=YY_ACTTAB_COUNT
j<YY_ACTTAB_COUNT &&
#endif
yy_lookahead[j]==YYWILDCARD && iLookAhead>0
){
#ifndef NDEBUG #ifndef NDEBUG
if( yyTraceFILE ){ if( yyTraceFILE ){
fprintf(yyTraceFILE, "%sWILDCARD %s => %s\n", fprintf(yyTraceFILE, "%sWILDCARD %s => %s\n",
...@@ -1710,6 +1936,7 @@ static unsigned int yy_find_shift_action( ...@@ -1710,6 +1936,7 @@ static unsigned int yy_find_shift_action(
#endif /* YYWILDCARD */ #endif /* YYWILDCARD */
return yy_default[stateno]; return yy_default[stateno];
}else{ }else{
assert( i>=0 && i<(int)(sizeof(yy_action)/sizeof(yy_action[0])) );
return yy_action[i]; return yy_action[i];
} }
}while(1); }while(1);
...@@ -1719,8 +1946,8 @@ static unsigned int yy_find_shift_action( ...@@ -1719,8 +1946,8 @@ static unsigned int yy_find_shift_action(
** Find the appropriate action for a parser given the non-terminal ** Find the appropriate action for a parser given the non-terminal
** look-ahead token iLookAhead. ** look-ahead token iLookAhead.
*/ */
static int yy_find_reduce_action( static YYACTIONTYPE yy_find_reduce_action(
int stateno, /* Current state number */ YYACTIONTYPE stateno, /* Current state number */
YYCODETYPE iLookAhead /* The look-ahead token */ YYCODETYPE iLookAhead /* The look-ahead token */
){ ){
int i; int i;
...@@ -1749,7 +1976,8 @@ static int yy_find_reduce_action( ...@@ -1749,7 +1976,8 @@ static int yy_find_reduce_action(
** The following routine is called if the stack overflows. ** The following routine is called if the stack overflows.
*/ */
static void yyStackOverflow(yyParser *yypParser){ static void yyStackOverflow(yyParser *yypParser){
ParseARG_FETCH; ParseARG_FETCH
ParseCTX_FETCH
#ifndef NDEBUG #ifndef NDEBUG
if( yyTraceFILE ){ if( yyTraceFILE ){
fprintf(yyTraceFILE,"%sStack Overflow!\n",yyTracePrompt); fprintf(yyTraceFILE,"%sStack Overflow!\n",yyTracePrompt);
...@@ -1760,7 +1988,8 @@ static void yyStackOverflow(yyParser *yypParser){ ...@@ -1760,7 +1988,8 @@ static void yyStackOverflow(yyParser *yypParser){
** stack every overflows */ ** stack every overflows */
/******** Begin %stack_overflow code ******************************************/ /******** Begin %stack_overflow code ******************************************/
/******** End %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){ ...@@ -1789,8 +2018,8 @@ static void yyTraceShift(yyParser *yypParser, int yyNewState, const char *zTag){
*/ */
static void yy_shift( static void yy_shift(
yyParser *yypParser, /* The parser to be shifted */ yyParser *yypParser, /* The parser to be shifted */
int yyNewState, /* The new state to shift in */ YYACTIONTYPE yyNewState, /* The new state to shift in */
int yyMajor, /* The major token to shift in */ YYCODETYPE yyMajor, /* The major token to shift in */
ParseTOKENTYPE yyMinor /* The minor token to shift in */ ParseTOKENTYPE yyMinor /* The minor token to shift in */
){ ){
yyStackEntry *yytos; yyStackEntry *yytos;
...@@ -1820,311 +2049,604 @@ static void yy_shift( ...@@ -1820,311 +2049,604 @@ static void yy_shift(
yyNewState += YY_MIN_REDUCE - YY_MIN_SHIFTREDUCE; yyNewState += YY_MIN_REDUCE - YY_MIN_SHIFTREDUCE;
} }
yytos = yypParser->yytos; yytos = yypParser->yytos;
yytos->stateno = (YYACTIONTYPE)yyNewState; yytos->stateno = yyNewState;
yytos->major = (YYCODETYPE)yyMajor; yytos->major = yyMajor;
yytos->minor.yy0 = yyMinor; yytos->minor.yy0 = yyMinor;
yyTraceShift(yypParser, yyNewState, "Shift"); yyTraceShift(yypParser, yyNewState, "Shift");
} }
/* The following table contains information about every rule that /* For rule J, yyRuleInfoLhs[J] contains the symbol on the left-hand side
** is used during the reduce. ** of that rule */
*/ static const YYCODETYPE yyRuleInfoLhs[] = {
static const struct { 196, /* (0) program ::= cmd */
YYCODETYPE lhs; /* Symbol on the left-hand side of the rule */ 197, /* (1) cmd ::= SHOW DATABASES */
signed char nrhs; /* Negative of the number of RHS symbols in the rule */ 197, /* (2) cmd ::= SHOW TOPICS */
} yyRuleInfo[] = { 197, /* (3) cmd ::= SHOW FUNCTIONS */
{ 197, -1 }, /* (0) program ::= cmd */ 197, /* (4) cmd ::= SHOW MNODES */
{ 198, -2 }, /* (1) cmd ::= SHOW DATABASES */ 197, /* (5) cmd ::= SHOW DNODES */
{ 198, -2 }, /* (2) cmd ::= SHOW TOPICS */ 197, /* (6) cmd ::= SHOW ACCOUNTS */
{ 198, -2 }, /* (3) cmd ::= SHOW FUNCTIONS */ 197, /* (7) cmd ::= SHOW USERS */
{ 198, -2 }, /* (4) cmd ::= SHOW MNODES */ 197, /* (8) cmd ::= SHOW MODULES */
{ 198, -2 }, /* (5) cmd ::= SHOW DNODES */ 197, /* (9) cmd ::= SHOW QUERIES */
{ 198, -2 }, /* (6) cmd ::= SHOW ACCOUNTS */ 197, /* (10) cmd ::= SHOW CONNECTIONS */
{ 198, -2 }, /* (7) cmd ::= SHOW USERS */ 197, /* (11) cmd ::= SHOW STREAMS */
{ 198, -2 }, /* (8) cmd ::= SHOW MODULES */ 197, /* (12) cmd ::= SHOW VARIABLES */
{ 198, -2 }, /* (9) cmd ::= SHOW QUERIES */ 197, /* (13) cmd ::= SHOW SCORES */
{ 198, -2 }, /* (10) cmd ::= SHOW CONNECTIONS */ 197, /* (14) cmd ::= SHOW GRANTS */
{ 198, -2 }, /* (11) cmd ::= SHOW STREAMS */ 197, /* (15) cmd ::= SHOW VNODES */
{ 198, -2 }, /* (12) cmd ::= SHOW VARIABLES */ 197, /* (16) cmd ::= SHOW VNODES IPTOKEN */
{ 198, -2 }, /* (13) cmd ::= SHOW SCORES */ 198, /* (17) dbPrefix ::= */
{ 198, -2 }, /* (14) cmd ::= SHOW GRANTS */ 198, /* (18) dbPrefix ::= ids DOT */
{ 198, -2 }, /* (15) cmd ::= SHOW VNODES */ 200, /* (19) cpxName ::= */
{ 198, -3 }, /* (16) cmd ::= SHOW VNODES IPTOKEN */ 200, /* (20) cpxName ::= DOT ids */
{ 199, 0 }, /* (17) dbPrefix ::= */ 197, /* (21) cmd ::= SHOW CREATE TABLE ids cpxName */
{ 199, -2 }, /* (18) dbPrefix ::= ids DOT */ 197, /* (22) cmd ::= SHOW CREATE STABLE ids cpxName */
{ 201, 0 }, /* (19) cpxName ::= */ 197, /* (23) cmd ::= SHOW CREATE DATABASE ids */
{ 201, -2 }, /* (20) cpxName ::= DOT ids */ 197, /* (24) cmd ::= SHOW dbPrefix TABLES */
{ 198, -5 }, /* (21) cmd ::= SHOW CREATE TABLE ids cpxName */ 197, /* (25) cmd ::= SHOW dbPrefix TABLES LIKE ids */
{ 198, -5 }, /* (22) cmd ::= SHOW CREATE STABLE ids cpxName */ 197, /* (26) cmd ::= SHOW dbPrefix STABLES */
{ 198, -4 }, /* (23) cmd ::= SHOW CREATE DATABASE ids */ 197, /* (27) cmd ::= SHOW dbPrefix STABLES LIKE ids */
{ 198, -3 }, /* (24) cmd ::= SHOW dbPrefix TABLES */ 197, /* (28) cmd ::= SHOW dbPrefix VGROUPS */
{ 198, -5 }, /* (25) cmd ::= SHOW dbPrefix TABLES LIKE ids */ 197, /* (29) cmd ::= SHOW dbPrefix VGROUPS ids */
{ 198, -3 }, /* (26) cmd ::= SHOW dbPrefix STABLES */ 197, /* (30) cmd ::= DROP TABLE ifexists ids cpxName */
{ 198, -5 }, /* (27) cmd ::= SHOW dbPrefix STABLES LIKE ids */ 197, /* (31) cmd ::= DROP STABLE ifexists ids cpxName */
{ 198, -3 }, /* (28) cmd ::= SHOW dbPrefix VGROUPS */ 197, /* (32) cmd ::= DROP DATABASE ifexists ids */
{ 198, -4 }, /* (29) cmd ::= SHOW dbPrefix VGROUPS ids */ 197, /* (33) cmd ::= DROP TOPIC ifexists ids */
{ 198, -5 }, /* (30) cmd ::= DROP TABLE ifexists ids cpxName */ 197, /* (34) cmd ::= DROP FUNCTION ids */
{ 198, -5 }, /* (31) cmd ::= DROP STABLE ifexists ids cpxName */ 197, /* (35) cmd ::= DROP DNODE ids */
{ 198, -4 }, /* (32) cmd ::= DROP DATABASE ifexists ids */ 197, /* (36) cmd ::= DROP USER ids */
{ 198, -4 }, /* (33) cmd ::= DROP TOPIC ifexists ids */ 197, /* (37) cmd ::= DROP ACCOUNT ids */
{ 198, -3 }, /* (34) cmd ::= DROP FUNCTION ids */ 197, /* (38) cmd ::= USE ids */
{ 198, -3 }, /* (35) cmd ::= DROP DNODE ids */ 197, /* (39) cmd ::= DESCRIBE ids cpxName */
{ 198, -3 }, /* (36) cmd ::= DROP USER ids */ 197, /* (40) cmd ::= DESC ids cpxName */
{ 198, -3 }, /* (37) cmd ::= DROP ACCOUNT ids */ 197, /* (41) cmd ::= ALTER USER ids PASS ids */
{ 198, -2 }, /* (38) cmd ::= USE ids */ 197, /* (42) cmd ::= ALTER USER ids PRIVILEGE ids */
{ 198, -3 }, /* (39) cmd ::= DESCRIBE ids cpxName */ 197, /* (43) cmd ::= ALTER DNODE ids ids */
{ 198, -3 }, /* (40) cmd ::= DESC ids cpxName */ 197, /* (44) cmd ::= ALTER DNODE ids ids ids */
{ 198, -5 }, /* (41) cmd ::= ALTER USER ids PASS ids */ 197, /* (45) cmd ::= ALTER LOCAL ids */
{ 198, -5 }, /* (42) cmd ::= ALTER USER ids PRIVILEGE ids */ 197, /* (46) cmd ::= ALTER LOCAL ids ids */
{ 198, -4 }, /* (43) cmd ::= ALTER DNODE ids ids */ 197, /* (47) cmd ::= ALTER DATABASE ids alter_db_optr */
{ 198, -5 }, /* (44) cmd ::= ALTER DNODE ids ids ids */ 197, /* (48) cmd ::= ALTER TOPIC ids alter_topic_optr */
{ 198, -3 }, /* (45) cmd ::= ALTER LOCAL ids */ 197, /* (49) cmd ::= ALTER ACCOUNT ids acct_optr */
{ 198, -4 }, /* (46) cmd ::= ALTER LOCAL ids ids */ 197, /* (50) cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
{ 198, -4 }, /* (47) cmd ::= ALTER DATABASE ids alter_db_optr */ 197, /* (51) cmd ::= COMPACT VNODES IN LP exprlist RP */
{ 198, -4 }, /* (48) cmd ::= ALTER TOPIC ids alter_topic_optr */ 199, /* (52) ids ::= ID */
{ 198, -4 }, /* (49) cmd ::= ALTER ACCOUNT ids acct_optr */ 199, /* (53) ids ::= STRING */
{ 198, -6 }, /* (50) cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */ 201, /* (54) ifexists ::= IF EXISTS */
{ 198, -6 }, /* (51) cmd ::= COMPACT VNODES IN LP exprlist RP */ 201, /* (55) ifexists ::= */
{ 200, -1 }, /* (52) ids ::= ID */ 206, /* (56) ifnotexists ::= IF NOT EXISTS */
{ 200, -1 }, /* (53) ids ::= STRING */ 206, /* (57) ifnotexists ::= */
{ 202, -2 }, /* (54) ifexists ::= IF EXISTS */ 197, /* (58) cmd ::= CREATE DNODE ids */
{ 202, 0 }, /* (55) ifexists ::= */ 197, /* (59) cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
{ 207, -3 }, /* (56) ifnotexists ::= IF NOT EXISTS */ 197, /* (60) cmd ::= CREATE DATABASE ifnotexists ids db_optr */
{ 207, 0 }, /* (57) ifnotexists ::= */ 197, /* (61) cmd ::= CREATE TOPIC ifnotexists ids topic_optr */
{ 198, -3 }, /* (58) cmd ::= CREATE DNODE ids */ 197, /* (62) cmd ::= CREATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
{ 198, -6 }, /* (59) cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */ 197, /* (63) cmd ::= CREATE AGGREGATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
{ 198, -5 }, /* (60) cmd ::= CREATE DATABASE ifnotexists ids db_optr */ 197, /* (64) cmd ::= CREATE USER ids PASS ids */
{ 198, -5 }, /* (61) cmd ::= CREATE TOPIC ifnotexists ids topic_optr */ 210, /* (65) bufsize ::= */
{ 198, -8 }, /* (62) cmd ::= CREATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */ 210, /* (66) bufsize ::= BUFSIZE INTEGER */
{ 198, -9 }, /* (63) cmd ::= CREATE AGGREGATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */ 211, /* (67) pps ::= */
{ 198, -5 }, /* (64) cmd ::= CREATE USER ids PASS ids */ 211, /* (68) pps ::= PPS INTEGER */
{ 211, 0 }, /* (65) bufsize ::= */ 212, /* (69) tseries ::= */
{ 211, -2 }, /* (66) bufsize ::= BUFSIZE INTEGER */ 212, /* (70) tseries ::= TSERIES INTEGER */
{ 212, 0 }, /* (67) pps ::= */ 213, /* (71) dbs ::= */
{ 212, -2 }, /* (68) pps ::= PPS INTEGER */ 213, /* (72) dbs ::= DBS INTEGER */
{ 213, 0 }, /* (69) tseries ::= */ 214, /* (73) streams ::= */
{ 213, -2 }, /* (70) tseries ::= TSERIES INTEGER */ 214, /* (74) streams ::= STREAMS INTEGER */
{ 214, 0 }, /* (71) dbs ::= */ 215, /* (75) storage ::= */
{ 214, -2 }, /* (72) dbs ::= DBS INTEGER */ 215, /* (76) storage ::= STORAGE INTEGER */
{ 215, 0 }, /* (73) streams ::= */ 216, /* (77) qtime ::= */
{ 215, -2 }, /* (74) streams ::= STREAMS INTEGER */ 216, /* (78) qtime ::= QTIME INTEGER */
{ 216, 0 }, /* (75) storage ::= */ 217, /* (79) users ::= */
{ 216, -2 }, /* (76) storage ::= STORAGE INTEGER */ 217, /* (80) users ::= USERS INTEGER */
{ 217, 0 }, /* (77) qtime ::= */ 218, /* (81) conns ::= */
{ 217, -2 }, /* (78) qtime ::= QTIME INTEGER */ 218, /* (82) conns ::= CONNS INTEGER */
{ 218, 0 }, /* (79) users ::= */ 219, /* (83) state ::= */
{ 218, -2 }, /* (80) users ::= USERS INTEGER */ 219, /* (84) state ::= STATE ids */
{ 219, 0 }, /* (81) conns ::= */ 204, /* (85) acct_optr ::= pps tseries storage streams qtime dbs users conns state */
{ 219, -2 }, /* (82) conns ::= CONNS INTEGER */ 220, /* (86) intitemlist ::= intitemlist COMMA intitem */
{ 220, 0 }, /* (83) state ::= */ 220, /* (87) intitemlist ::= intitem */
{ 220, -2 }, /* (84) state ::= STATE ids */ 221, /* (88) intitem ::= INTEGER */
{ 205, -9 }, /* (85) acct_optr ::= pps tseries storage streams qtime dbs users conns state */ 222, /* (89) keep ::= KEEP intitemlist */
{ 221, -3 }, /* (86) intitemlist ::= intitemlist COMMA intitem */ 223, /* (90) cache ::= CACHE INTEGER */
{ 221, -1 }, /* (87) intitemlist ::= intitem */ 224, /* (91) replica ::= REPLICA INTEGER */
{ 222, -1 }, /* (88) intitem ::= INTEGER */ 225, /* (92) quorum ::= QUORUM INTEGER */
{ 223, -2 }, /* (89) keep ::= KEEP intitemlist */ 226, /* (93) days ::= DAYS INTEGER */
{ 224, -2 }, /* (90) cache ::= CACHE INTEGER */ 227, /* (94) minrows ::= MINROWS INTEGER */
{ 225, -2 }, /* (91) replica ::= REPLICA INTEGER */ 228, /* (95) maxrows ::= MAXROWS INTEGER */
{ 226, -2 }, /* (92) quorum ::= QUORUM INTEGER */ 229, /* (96) blocks ::= BLOCKS INTEGER */
{ 227, -2 }, /* (93) days ::= DAYS INTEGER */ 230, /* (97) ctime ::= CTIME INTEGER */
{ 228, -2 }, /* (94) minrows ::= MINROWS INTEGER */ 231, /* (98) wal ::= WAL INTEGER */
{ 229, -2 }, /* (95) maxrows ::= MAXROWS INTEGER */ 232, /* (99) fsync ::= FSYNC INTEGER */
{ 230, -2 }, /* (96) blocks ::= BLOCKS INTEGER */ 233, /* (100) comp ::= COMP INTEGER */
{ 231, -2 }, /* (97) ctime ::= CTIME INTEGER */ 234, /* (101) prec ::= PRECISION STRING */
{ 232, -2 }, /* (98) wal ::= WAL INTEGER */ 235, /* (102) update ::= UPDATE INTEGER */
{ 233, -2 }, /* (99) fsync ::= FSYNC INTEGER */ 236, /* (103) cachelast ::= CACHELAST INTEGER */
{ 234, -2 }, /* (100) comp ::= COMP INTEGER */ 237, /* (104) partitions ::= PARTITIONS INTEGER */
{ 235, -2 }, /* (101) prec ::= PRECISION STRING */ 207, /* (105) db_optr ::= */
{ 236, -2 }, /* (102) update ::= UPDATE INTEGER */ 207, /* (106) db_optr ::= db_optr cache */
{ 237, -2 }, /* (103) cachelast ::= CACHELAST INTEGER */ 207, /* (107) db_optr ::= db_optr replica */
{ 238, -2 }, /* (104) partitions ::= PARTITIONS INTEGER */ 207, /* (108) db_optr ::= db_optr quorum */
{ 208, 0 }, /* (105) db_optr ::= */ 207, /* (109) db_optr ::= db_optr days */
{ 208, -2 }, /* (106) db_optr ::= db_optr cache */ 207, /* (110) db_optr ::= db_optr minrows */
{ 208, -2 }, /* (107) db_optr ::= db_optr replica */ 207, /* (111) db_optr ::= db_optr maxrows */
{ 208, -2 }, /* (108) db_optr ::= db_optr quorum */ 207, /* (112) db_optr ::= db_optr blocks */
{ 208, -2 }, /* (109) db_optr ::= db_optr days */ 207, /* (113) db_optr ::= db_optr ctime */
{ 208, -2 }, /* (110) db_optr ::= db_optr minrows */ 207, /* (114) db_optr ::= db_optr wal */
{ 208, -2 }, /* (111) db_optr ::= db_optr maxrows */ 207, /* (115) db_optr ::= db_optr fsync */
{ 208, -2 }, /* (112) db_optr ::= db_optr blocks */ 207, /* (116) db_optr ::= db_optr comp */
{ 208, -2 }, /* (113) db_optr ::= db_optr ctime */ 207, /* (117) db_optr ::= db_optr prec */
{ 208, -2 }, /* (114) db_optr ::= db_optr wal */ 207, /* (118) db_optr ::= db_optr keep */
{ 208, -2 }, /* (115) db_optr ::= db_optr fsync */ 207, /* (119) db_optr ::= db_optr update */
{ 208, -2 }, /* (116) db_optr ::= db_optr comp */ 207, /* (120) db_optr ::= db_optr cachelast */
{ 208, -2 }, /* (117) db_optr ::= db_optr prec */ 208, /* (121) topic_optr ::= db_optr */
{ 208, -2 }, /* (118) db_optr ::= db_optr keep */ 208, /* (122) topic_optr ::= topic_optr partitions */
{ 208, -2 }, /* (119) db_optr ::= db_optr update */ 202, /* (123) alter_db_optr ::= */
{ 208, -2 }, /* (120) db_optr ::= db_optr cachelast */ 202, /* (124) alter_db_optr ::= alter_db_optr replica */
{ 209, -1 }, /* (121) topic_optr ::= db_optr */ 202, /* (125) alter_db_optr ::= alter_db_optr quorum */
{ 209, -2 }, /* (122) topic_optr ::= topic_optr partitions */ 202, /* (126) alter_db_optr ::= alter_db_optr keep */
{ 203, 0 }, /* (123) alter_db_optr ::= */ 202, /* (127) alter_db_optr ::= alter_db_optr blocks */
{ 203, -2 }, /* (124) alter_db_optr ::= alter_db_optr replica */ 202, /* (128) alter_db_optr ::= alter_db_optr comp */
{ 203, -2 }, /* (125) alter_db_optr ::= alter_db_optr quorum */ 202, /* (129) alter_db_optr ::= alter_db_optr update */
{ 203, -2 }, /* (126) alter_db_optr ::= alter_db_optr keep */ 202, /* (130) alter_db_optr ::= alter_db_optr cachelast */
{ 203, -2 }, /* (127) alter_db_optr ::= alter_db_optr blocks */ 203, /* (131) alter_topic_optr ::= alter_db_optr */
{ 203, -2 }, /* (128) alter_db_optr ::= alter_db_optr comp */ 203, /* (132) alter_topic_optr ::= alter_topic_optr partitions */
{ 203, -2 }, /* (129) alter_db_optr ::= alter_db_optr update */ 209, /* (133) typename ::= ids */
{ 203, -2 }, /* (130) alter_db_optr ::= alter_db_optr cachelast */ 209, /* (134) typename ::= ids LP signed RP */
{ 204, -1 }, /* (131) alter_topic_optr ::= alter_db_optr */ 209, /* (135) typename ::= ids UNSIGNED */
{ 204, -2 }, /* (132) alter_topic_optr ::= alter_topic_optr partitions */ 238, /* (136) signed ::= INTEGER */
{ 210, -1 }, /* (133) typename ::= ids */ 238, /* (137) signed ::= PLUS INTEGER */
{ 210, -4 }, /* (134) typename ::= ids LP signed RP */ 238, /* (138) signed ::= MINUS INTEGER */
{ 210, -2 }, /* (135) typename ::= ids UNSIGNED */ 197, /* (139) cmd ::= CREATE TABLE create_table_args */
{ 239, -1 }, /* (136) signed ::= INTEGER */ 197, /* (140) cmd ::= CREATE TABLE create_stable_args */
{ 239, -2 }, /* (137) signed ::= PLUS INTEGER */ 197, /* (141) cmd ::= CREATE STABLE create_stable_args */
{ 239, -2 }, /* (138) signed ::= MINUS INTEGER */ 197, /* (142) cmd ::= CREATE TABLE create_table_list */
{ 198, -3 }, /* (139) cmd ::= CREATE TABLE create_table_args */ 241, /* (143) create_table_list ::= create_from_stable */
{ 198, -3 }, /* (140) cmd ::= CREATE TABLE create_stable_args */ 241, /* (144) create_table_list ::= create_table_list create_from_stable */
{ 198, -3 }, /* (141) cmd ::= CREATE STABLE create_stable_args */ 239, /* (145) create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
{ 198, -3 }, /* (142) cmd ::= CREATE TABLE create_table_list */ 240, /* (146) create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
{ 242, -1 }, /* (143) create_table_list ::= create_from_stable */ 242, /* (147) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
{ 242, -2 }, /* (144) create_table_list ::= create_table_list create_from_stable */ 242, /* (148) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */
{ 240, -6 }, /* (145) create_table_args ::= ifnotexists ids cpxName LP columnlist RP */ 245, /* (149) tagNamelist ::= tagNamelist COMMA ids */
{ 241, -10 }, /* (146) create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */ 245, /* (150) tagNamelist ::= ids */
{ 243, -10 }, /* (147) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */ 239, /* (151) create_table_args ::= ifnotexists ids cpxName AS select */
{ 243, -13 }, /* (148) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */ 243, /* (152) columnlist ::= columnlist COMMA column */
{ 246, -3 }, /* (149) tagNamelist ::= tagNamelist COMMA ids */ 243, /* (153) columnlist ::= column */
{ 246, -1 }, /* (150) tagNamelist ::= ids */ 247, /* (154) column ::= ids typename */
{ 240, -5 }, /* (151) create_table_args ::= ifnotexists ids cpxName AS select */ 244, /* (155) tagitemlist ::= tagitemlist COMMA tagitem */
{ 244, -3 }, /* (152) columnlist ::= columnlist COMMA column */ 244, /* (156) tagitemlist ::= tagitem */
{ 244, -1 }, /* (153) columnlist ::= column */ 248, /* (157) tagitem ::= INTEGER */
{ 248, -2 }, /* (154) column ::= ids typename */ 248, /* (158) tagitem ::= FLOAT */
{ 245, -3 }, /* (155) tagitemlist ::= tagitemlist COMMA tagitem */ 248, /* (159) tagitem ::= STRING */
{ 245, -1 }, /* (156) tagitemlist ::= tagitem */ 248, /* (160) tagitem ::= BOOL */
{ 249, -1 }, /* (157) tagitem ::= INTEGER */ 248, /* (161) tagitem ::= NULL */
{ 249, -1 }, /* (158) tagitem ::= FLOAT */ 248, /* (162) tagitem ::= NOW */
{ 249, -1 }, /* (159) tagitem ::= STRING */ 248, /* (163) tagitem ::= MINUS INTEGER */
{ 249, -1 }, /* (160) tagitem ::= BOOL */ 248, /* (164) tagitem ::= MINUS FLOAT */
{ 249, -1 }, /* (161) tagitem ::= NULL */ 248, /* (165) tagitem ::= PLUS INTEGER */
{ 249, -1 }, /* (162) tagitem ::= NOW */ 248, /* (166) tagitem ::= PLUS FLOAT */
{ 249, -2 }, /* (163) tagitem ::= MINUS INTEGER */ 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 */
{ 249, -2 }, /* (164) tagitem ::= MINUS FLOAT */ 246, /* (168) select ::= LP select RP */
{ 249, -2 }, /* (165) tagitem ::= PLUS INTEGER */ 262, /* (169) union ::= select */
{ 249, -2 }, /* (166) tagitem ::= PLUS FLOAT */ 262, /* (170) union ::= union UNION ALL select */
{ 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 */ 197, /* (171) cmd ::= union */
{ 247, -3 }, /* (168) select ::= LP select RP */ 246, /* (172) select ::= SELECT selcollist */
{ 263, -1 }, /* (169) union ::= select */ 263, /* (173) sclp ::= selcollist COMMA */
{ 263, -4 }, /* (170) union ::= union UNION ALL select */ 263, /* (174) sclp ::= */
{ 198, -1 }, /* (171) cmd ::= union */ 249, /* (175) selcollist ::= sclp distinct expr as */
{ 247, -2 }, /* (172) select ::= SELECT selcollist */ 249, /* (176) selcollist ::= sclp STAR */
{ 264, -2 }, /* (173) sclp ::= selcollist COMMA */ 266, /* (177) as ::= AS ids */
{ 264, 0 }, /* (174) sclp ::= */ 266, /* (178) as ::= ids */
{ 250, -4 }, /* (175) selcollist ::= sclp distinct expr as */ 266, /* (179) as ::= */
{ 250, -2 }, /* (176) selcollist ::= sclp STAR */ 264, /* (180) distinct ::= DISTINCT */
{ 267, -2 }, /* (177) as ::= AS ids */ 264, /* (181) distinct ::= */
{ 267, -1 }, /* (178) as ::= ids */ 250, /* (182) from ::= FROM tablelist */
{ 267, 0 }, /* (179) as ::= */ 250, /* (183) from ::= FROM sub */
{ 265, -1 }, /* (180) distinct ::= DISTINCT */ 268, /* (184) sub ::= LP union RP */
{ 265, 0 }, /* (181) distinct ::= */ 268, /* (185) sub ::= LP union RP ids */
{ 251, -2 }, /* (182) from ::= FROM tablelist */ 268, /* (186) sub ::= sub COMMA LP union RP ids */
{ 251, -2 }, /* (183) from ::= FROM sub */ 267, /* (187) tablelist ::= ids cpxName */
{ 269, -3 }, /* (184) sub ::= LP union RP */ 267, /* (188) tablelist ::= ids cpxName ids */
{ 269, -4 }, /* (185) sub ::= LP union RP ids */ 267, /* (189) tablelist ::= tablelist COMMA ids cpxName */
{ 269, -6 }, /* (186) sub ::= sub COMMA LP union RP ids */ 267, /* (190) tablelist ::= tablelist COMMA ids cpxName ids */
{ 268, -2 }, /* (187) tablelist ::= ids cpxName */ 269, /* (191) tmvar ::= VARIABLE */
{ 268, -3 }, /* (188) tablelist ::= ids cpxName ids */ 252, /* (192) interval_option ::= intervalKey LP tmvar RP */
{ 268, -4 }, /* (189) tablelist ::= tablelist COMMA ids cpxName */ 252, /* (193) interval_option ::= intervalKey LP tmvar COMMA tmvar RP */
{ 268, -5 }, /* (190) tablelist ::= tablelist COMMA ids cpxName ids */ 252, /* (194) interval_option ::= */
{ 270, -1 }, /* (191) tmvar ::= VARIABLE */ 270, /* (195) intervalKey ::= INTERVAL */
{ 253, -4 }, /* (192) interval_option ::= intervalKey LP tmvar RP */ 270, /* (196) intervalKey ::= EVERY */
{ 253, -6 }, /* (193) interval_option ::= intervalKey LP tmvar COMMA tmvar RP */ 254, /* (197) session_option ::= */
{ 253, 0 }, /* (194) interval_option ::= */ 254, /* (198) session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
{ 271, -1 }, /* (195) intervalKey ::= INTERVAL */ 255, /* (199) windowstate_option ::= */
{ 271, -1 }, /* (196) intervalKey ::= EVERY */ 255, /* (200) windowstate_option ::= STATE_WINDOW LP ids RP */
{ 255, 0 }, /* (197) session_option ::= */ 256, /* (201) fill_opt ::= */
{ 255, -7 }, /* (198) session_option ::= SESSION LP ids cpxName COMMA tmvar RP */ 256, /* (202) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
{ 256, 0 }, /* (199) windowstate_option ::= */ 256, /* (203) fill_opt ::= FILL LP ID RP */
{ 256, -4 }, /* (200) windowstate_option ::= STATE_WINDOW LP ids RP */ 253, /* (204) sliding_opt ::= SLIDING LP tmvar RP */
{ 257, 0 }, /* (201) fill_opt ::= */ 253, /* (205) sliding_opt ::= */
{ 257, -6 }, /* (202) fill_opt ::= FILL LP ID COMMA tagitemlist RP */ 259, /* (206) orderby_opt ::= */
{ 257, -4 }, /* (203) fill_opt ::= FILL LP ID RP */ 259, /* (207) orderby_opt ::= ORDER BY sortlist */
{ 254, -4 }, /* (204) sliding_opt ::= SLIDING LP tmvar RP */ 271, /* (208) sortlist ::= sortlist COMMA item sortorder */
{ 254, 0 }, /* (205) sliding_opt ::= */ 271, /* (209) sortlist ::= item sortorder */
{ 260, 0 }, /* (206) orderby_opt ::= */ 273, /* (210) item ::= ids cpxName */
{ 260, -3 }, /* (207) orderby_opt ::= ORDER BY sortlist */ 274, /* (211) sortorder ::= ASC */
{ 272, -4 }, /* (208) sortlist ::= sortlist COMMA item sortorder */ 274, /* (212) sortorder ::= DESC */
{ 272, -2 }, /* (209) sortlist ::= item sortorder */ 274, /* (213) sortorder ::= */
{ 274, -2 }, /* (210) item ::= ids cpxName */ 257, /* (214) groupby_opt ::= */
{ 275, -1 }, /* (211) sortorder ::= ASC */ 257, /* (215) groupby_opt ::= GROUP BY grouplist */
{ 275, -1 }, /* (212) sortorder ::= DESC */ 275, /* (216) grouplist ::= grouplist COMMA item */
{ 275, 0 }, /* (213) sortorder ::= */ 275, /* (217) grouplist ::= item */
{ 258, 0 }, /* (214) groupby_opt ::= */ 258, /* (218) having_opt ::= */
{ 258, -3 }, /* (215) groupby_opt ::= GROUP BY grouplist */ 258, /* (219) having_opt ::= HAVING expr */
{ 276, -3 }, /* (216) grouplist ::= grouplist COMMA item */ 261, /* (220) limit_opt ::= */
{ 276, -1 }, /* (217) grouplist ::= item */ 261, /* (221) limit_opt ::= LIMIT signed */
{ 259, 0 }, /* (218) having_opt ::= */ 261, /* (222) limit_opt ::= LIMIT signed OFFSET signed */
{ 259, -2 }, /* (219) having_opt ::= HAVING expr */ 261, /* (223) limit_opt ::= LIMIT signed COMMA signed */
{ 262, 0 }, /* (220) limit_opt ::= */ 260, /* (224) slimit_opt ::= */
{ 262, -2 }, /* (221) limit_opt ::= LIMIT signed */ 260, /* (225) slimit_opt ::= SLIMIT signed */
{ 262, -4 }, /* (222) limit_opt ::= LIMIT signed OFFSET signed */ 260, /* (226) slimit_opt ::= SLIMIT signed SOFFSET signed */
{ 262, -4 }, /* (223) limit_opt ::= LIMIT signed COMMA signed */ 260, /* (227) slimit_opt ::= SLIMIT signed COMMA signed */
{ 261, 0 }, /* (224) slimit_opt ::= */ 251, /* (228) where_opt ::= */
{ 261, -2 }, /* (225) slimit_opt ::= SLIMIT signed */ 251, /* (229) where_opt ::= WHERE expr */
{ 261, -4 }, /* (226) slimit_opt ::= SLIMIT signed SOFFSET signed */ 265, /* (230) expr ::= LP expr RP */
{ 261, -4 }, /* (227) slimit_opt ::= SLIMIT signed COMMA signed */ 265, /* (231) expr ::= ID */
{ 252, 0 }, /* (228) where_opt ::= */ 265, /* (232) expr ::= ID DOT ID */
{ 252, -2 }, /* (229) where_opt ::= WHERE expr */ 265, /* (233) expr ::= ID DOT STAR */
{ 266, -3 }, /* (230) expr ::= LP expr RP */ 265, /* (234) expr ::= INTEGER */
{ 266, -1 }, /* (231) expr ::= ID */ 265, /* (235) expr ::= MINUS INTEGER */
{ 266, -3 }, /* (232) expr ::= ID DOT ID */ 265, /* (236) expr ::= PLUS INTEGER */
{ 266, -3 }, /* (233) expr ::= ID DOT STAR */ 265, /* (237) expr ::= FLOAT */
{ 266, -1 }, /* (234) expr ::= INTEGER */ 265, /* (238) expr ::= MINUS FLOAT */
{ 266, -2 }, /* (235) expr ::= MINUS INTEGER */ 265, /* (239) expr ::= PLUS FLOAT */
{ 266, -2 }, /* (236) expr ::= PLUS INTEGER */ 265, /* (240) expr ::= STRING */
{ 266, -1 }, /* (237) expr ::= FLOAT */ 265, /* (241) expr ::= NOW */
{ 266, -2 }, /* (238) expr ::= MINUS FLOAT */ 265, /* (242) expr ::= VARIABLE */
{ 266, -2 }, /* (239) expr ::= PLUS FLOAT */ 265, /* (243) expr ::= PLUS VARIABLE */
{ 266, -1 }, /* (240) expr ::= STRING */ 265, /* (244) expr ::= MINUS VARIABLE */
{ 266, -1 }, /* (241) expr ::= NOW */ 265, /* (245) expr ::= BOOL */
{ 266, -1 }, /* (242) expr ::= VARIABLE */ 265, /* (246) expr ::= NULL */
{ 266, -2 }, /* (243) expr ::= PLUS VARIABLE */ 265, /* (247) expr ::= ID LP exprlist RP */
{ 266, -2 }, /* (244) expr ::= MINUS VARIABLE */ 265, /* (248) expr ::= ID LP STAR RP */
{ 266, -1 }, /* (245) expr ::= BOOL */ 265, /* (249) expr ::= expr IS NULL */
{ 266, -1 }, /* (246) expr ::= NULL */ 265, /* (250) expr ::= expr IS NOT NULL */
{ 266, -4 }, /* (247) expr ::= ID LP exprlist RP */ 265, /* (251) expr ::= expr LT expr */
{ 266, -4 }, /* (248) expr ::= ID LP STAR RP */ 265, /* (252) expr ::= expr GT expr */
{ 266, -3 }, /* (249) expr ::= expr IS NULL */ 265, /* (253) expr ::= expr LE expr */
{ 266, -4 }, /* (250) expr ::= expr IS NOT NULL */ 265, /* (254) expr ::= expr GE expr */
{ 266, -3 }, /* (251) expr ::= expr LT expr */ 265, /* (255) expr ::= expr NE expr */
{ 266, -3 }, /* (252) expr ::= expr GT expr */ 265, /* (256) expr ::= expr EQ expr */
{ 266, -3 }, /* (253) expr ::= expr LE expr */ 265, /* (257) expr ::= expr BETWEEN expr AND expr */
{ 266, -3 }, /* (254) expr ::= expr GE expr */ 265, /* (258) expr ::= expr AND expr */
{ 266, -3 }, /* (255) expr ::= expr NE expr */ 265, /* (259) expr ::= expr OR expr */
{ 266, -3 }, /* (256) expr ::= expr EQ expr */ 265, /* (260) expr ::= expr PLUS expr */
{ 266, -5 }, /* (257) expr ::= expr BETWEEN expr AND expr */ 265, /* (261) expr ::= expr MINUS expr */
{ 266, -3 }, /* (258) expr ::= expr AND expr */ 265, /* (262) expr ::= expr STAR expr */
{ 266, -3 }, /* (259) expr ::= expr OR expr */ 265, /* (263) expr ::= expr SLASH expr */
{ 266, -3 }, /* (260) expr ::= expr PLUS expr */ 265, /* (264) expr ::= expr REM expr */
{ 266, -3 }, /* (261) expr ::= expr MINUS expr */ 265, /* (265) expr ::= expr LIKE expr */
{ 266, -3 }, /* (262) expr ::= expr STAR expr */ 265, /* (266) expr ::= expr IN LP exprlist RP */
{ 266, -3 }, /* (263) expr ::= expr SLASH expr */ 205, /* (267) exprlist ::= exprlist COMMA expritem */
{ 266, -3 }, /* (264) expr ::= expr REM expr */ 205, /* (268) exprlist ::= expritem */
{ 266, -3 }, /* (265) expr ::= expr LIKE expr */ 276, /* (269) expritem ::= expr */
{ 266, -5 }, /* (266) expr ::= expr IN LP exprlist RP */ 276, /* (270) expritem ::= */
{ 206, -3 }, /* (267) exprlist ::= exprlist COMMA expritem */ 197, /* (271) cmd ::= RESET QUERY CACHE */
{ 206, -1 }, /* (268) exprlist ::= expritem */ 197, /* (272) cmd ::= SYNCDB ids REPLICA */
{ 277, -1 }, /* (269) expritem ::= expr */ 197, /* (273) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
{ 277, 0 }, /* (270) expritem ::= */ 197, /* (274) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
{ 198, -3 }, /* (271) cmd ::= RESET QUERY CACHE */ 197, /* (275) cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */
{ 198, -3 }, /* (272) cmd ::= SYNCDB ids REPLICA */ 197, /* (276) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
{ 198, -7 }, /* (273) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */ 197, /* (277) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
{ 198, -7 }, /* (274) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */ 197, /* (278) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
{ 198, -7 }, /* (275) cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */ 197, /* (279) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
{ 198, -7 }, /* (276) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */ 197, /* (280) cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */
{ 198, -7 }, /* (277) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */ 197, /* (281) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
{ 198, -8 }, /* (278) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */ 197, /* (282) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
{ 198, -9 }, /* (279) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */ 197, /* (283) cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */
{ 198, -7 }, /* (280) cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */ 197, /* (284) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
{ 198, -7 }, /* (281) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */ 197, /* (285) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
{ 198, -7 }, /* (282) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */ 197, /* (286) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
{ 198, -7 }, /* (283) cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */ 197, /* (287) cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */
{ 198, -7 }, /* (284) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */ 197, /* (288) cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */
{ 198, -7 }, /* (285) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */ 197, /* (289) cmd ::= KILL CONNECTION INTEGER */
{ 198, -8 }, /* (286) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */ 197, /* (290) cmd ::= KILL STREAM INTEGER COLON INTEGER */
{ 198, -9 }, /* (287) cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */ 197, /* (291) cmd ::= KILL QUERY INTEGER COLON INTEGER */
{ 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 */ /* For rule J, yyRuleInfoNRhs[J] contains the negative of the number
{ 198, -5 }, /* (291) cmd ::= KILL QUERY INTEGER COLON INTEGER */ ** 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 */ static void yy_accept(yyParser*); /* Forward Declaration */
...@@ -2139,59 +2661,21 @@ 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 ** only called from one place, optimizing compilers will in-line it, which
** means that the extra parameters have no performance impact. ** means that the extra parameters have no performance impact.
*/ */
static void yy_reduce( static YYACTIONTYPE yy_reduce(
yyParser *yypParser, /* The parser */ yyParser *yypParser, /* The parser */
unsigned int yyruleno, /* Number of the rule by which to reduce */ unsigned int yyruleno, /* Number of the rule by which to reduce */
int yyLookahead, /* Lookahead token, or YYNOCODE if none */ int yyLookahead, /* Lookahead token, or YYNOCODE if none */
ParseTOKENTYPE yyLookaheadToken /* Value of the lookahead token */ ParseTOKENTYPE yyLookaheadToken /* Value of the lookahead token */
ParseCTX_PDECL /* %extra_context */
){ ){
int yygoto; /* The next state */ int yygoto; /* The next state */
int yyact; /* The next action */ YYACTIONTYPE yyact; /* The next action */
yyStackEntry *yymsp; /* The top of the parser's stack */ yyStackEntry *yymsp; /* The top of the parser's stack */
int yysize; /* Amount to pop the stack */ int yysize; /* Amount to pop the stack */
ParseARG_FETCH; ParseARG_FETCH
(void)yyLookahead; (void)yyLookahead;
(void)yyLookaheadToken; (void)yyLookaheadToken;
yymsp = yypParser->yytos; 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 ){ switch( yyruleno ){
/* Beginning here are the reduction cases. A typical example /* Beginning here are the reduction cases. A typical example
...@@ -2208,227 +2692,347 @@ static void yy_reduce( ...@@ -2208,227 +2692,347 @@ static void yy_reduce(
case 139: /* cmd ::= CREATE TABLE create_table_args */ yytestcase(yyruleno==139); case 139: /* cmd ::= CREATE TABLE create_table_args */ yytestcase(yyruleno==139);
case 140: /* cmd ::= CREATE TABLE create_stable_args */ yytestcase(yyruleno==140); case 140: /* cmd ::= CREATE TABLE create_stable_args */ yytestcase(yyruleno==140);
case 141: /* cmd ::= CREATE STABLE create_stable_args */ yytestcase(yyruleno==141); case 141: /* cmd ::= CREATE STABLE create_stable_args */ yytestcase(yyruleno==141);
#line 63 "sql.y"
{} {}
#line 2697 "sql.c"
break; break;
case 1: /* cmd ::= SHOW DATABASES */ case 1: /* cmd ::= SHOW DATABASES */
#line 66 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_DB, 0, 0);} { setShowOptions(pInfo, TSDB_MGMT_TABLE_DB, 0, 0);}
#line 2702 "sql.c"
break; break;
case 2: /* cmd ::= SHOW TOPICS */ case 2: /* cmd ::= SHOW TOPICS */
#line 67 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_TP, 0, 0);} { setShowOptions(pInfo, TSDB_MGMT_TABLE_TP, 0, 0);}
#line 2707 "sql.c"
break; break;
case 3: /* cmd ::= SHOW FUNCTIONS */ case 3: /* cmd ::= SHOW FUNCTIONS */
#line 68 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_FUNCTION, 0, 0);} { setShowOptions(pInfo, TSDB_MGMT_TABLE_FUNCTION, 0, 0);}
#line 2712 "sql.c"
break; break;
case 4: /* cmd ::= SHOW MNODES */ case 4: /* cmd ::= SHOW MNODES */
#line 69 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_MNODE, 0, 0);} { setShowOptions(pInfo, TSDB_MGMT_TABLE_MNODE, 0, 0);}
#line 2717 "sql.c"
break; break;
case 5: /* cmd ::= SHOW DNODES */ case 5: /* cmd ::= SHOW DNODES */
#line 70 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_DNODE, 0, 0);} { setShowOptions(pInfo, TSDB_MGMT_TABLE_DNODE, 0, 0);}
#line 2722 "sql.c"
break; break;
case 6: /* cmd ::= SHOW ACCOUNTS */ case 6: /* cmd ::= SHOW ACCOUNTS */
#line 71 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_ACCT, 0, 0);} { setShowOptions(pInfo, TSDB_MGMT_TABLE_ACCT, 0, 0);}
#line 2727 "sql.c"
break; break;
case 7: /* cmd ::= SHOW USERS */ case 7: /* cmd ::= SHOW USERS */
#line 72 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_USER, 0, 0);} { setShowOptions(pInfo, TSDB_MGMT_TABLE_USER, 0, 0);}
#line 2732 "sql.c"
break; break;
case 8: /* cmd ::= SHOW MODULES */ case 8: /* cmd ::= SHOW MODULES */
#line 74 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_MODULE, 0, 0); } { setShowOptions(pInfo, TSDB_MGMT_TABLE_MODULE, 0, 0); }
#line 2737 "sql.c"
break; break;
case 9: /* cmd ::= SHOW QUERIES */ case 9: /* cmd ::= SHOW QUERIES */
#line 75 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_QUERIES, 0, 0); } { setShowOptions(pInfo, TSDB_MGMT_TABLE_QUERIES, 0, 0); }
#line 2742 "sql.c"
break; break;
case 10: /* cmd ::= SHOW CONNECTIONS */ case 10: /* cmd ::= SHOW CONNECTIONS */
#line 76 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_CONNS, 0, 0);} { setShowOptions(pInfo, TSDB_MGMT_TABLE_CONNS, 0, 0);}
#line 2747 "sql.c"
break; break;
case 11: /* cmd ::= SHOW STREAMS */ case 11: /* cmd ::= SHOW STREAMS */
#line 77 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_STREAMS, 0, 0); } { setShowOptions(pInfo, TSDB_MGMT_TABLE_STREAMS, 0, 0); }
#line 2752 "sql.c"
break; break;
case 12: /* cmd ::= SHOW VARIABLES */ case 12: /* cmd ::= SHOW VARIABLES */
#line 78 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_VARIABLES, 0, 0); } { setShowOptions(pInfo, TSDB_MGMT_TABLE_VARIABLES, 0, 0); }
#line 2757 "sql.c"
break; break;
case 13: /* cmd ::= SHOW SCORES */ case 13: /* cmd ::= SHOW SCORES */
#line 79 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_SCORES, 0, 0); } { setShowOptions(pInfo, TSDB_MGMT_TABLE_SCORES, 0, 0); }
#line 2762 "sql.c"
break; break;
case 14: /* cmd ::= SHOW GRANTS */ case 14: /* cmd ::= SHOW GRANTS */
#line 80 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_GRANTS, 0, 0); } { setShowOptions(pInfo, TSDB_MGMT_TABLE_GRANTS, 0, 0); }
#line 2767 "sql.c"
break; break;
case 15: /* cmd ::= SHOW VNODES */ case 15: /* cmd ::= SHOW VNODES */
#line 82 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_VNODES, 0, 0); } { setShowOptions(pInfo, TSDB_MGMT_TABLE_VNODES, 0, 0); }
#line 2772 "sql.c"
break; break;
case 16: /* cmd ::= SHOW VNODES IPTOKEN */ case 16: /* cmd ::= SHOW VNODES IPTOKEN */
#line 83 "sql.y"
{ setShowOptions(pInfo, TSDB_MGMT_TABLE_VNODES, &yymsp[0].minor.yy0, 0); } { setShowOptions(pInfo, TSDB_MGMT_TABLE_VNODES, &yymsp[0].minor.yy0, 0); }
#line 2777 "sql.c"
break; break;
case 17: /* dbPrefix ::= */ case 17: /* dbPrefix ::= */
#line 87 "sql.y"
{yymsp[1].minor.yy0.n = 0; yymsp[1].minor.yy0.type = 0;} {yymsp[1].minor.yy0.n = 0; yymsp[1].minor.yy0.type = 0;}
#line 2782 "sql.c"
break; break;
case 18: /* dbPrefix ::= ids DOT */ case 18: /* dbPrefix ::= ids DOT */
#line 88 "sql.y"
{yylhsminor.yy0 = yymsp[-1].minor.yy0; } {yylhsminor.yy0 = yymsp[-1].minor.yy0; }
#line 2787 "sql.c"
yymsp[-1].minor.yy0 = yylhsminor.yy0; yymsp[-1].minor.yy0 = yylhsminor.yy0;
break; break;
case 19: /* cpxName ::= */ case 19: /* cpxName ::= */
#line 91 "sql.y"
{yymsp[1].minor.yy0.n = 0; } {yymsp[1].minor.yy0.n = 0; }
#line 2793 "sql.c"
break; break;
case 20: /* cpxName ::= DOT ids */ case 20: /* cpxName ::= DOT ids */
#line 92 "sql.y"
{yymsp[-1].minor.yy0 = yymsp[0].minor.yy0; yymsp[-1].minor.yy0.n += 1; } {yymsp[-1].minor.yy0 = yymsp[0].minor.yy0; yymsp[-1].minor.yy0.n += 1; }
#line 2798 "sql.c"
break; break;
case 21: /* cmd ::= SHOW CREATE TABLE ids cpxName */ case 21: /* cmd ::= SHOW CREATE TABLE ids cpxName */
#line 94 "sql.y"
{ {
yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n;
setDCLSqlElems(pInfo, TSDB_SQL_SHOW_CREATE_TABLE, 1, &yymsp[-1].minor.yy0); setDCLSqlElems(pInfo, TSDB_SQL_SHOW_CREATE_TABLE, 1, &yymsp[-1].minor.yy0);
} }
#line 2806 "sql.c"
break; break;
case 22: /* cmd ::= SHOW CREATE STABLE ids cpxName */ case 22: /* cmd ::= SHOW CREATE STABLE ids cpxName */
#line 98 "sql.y"
{ {
yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n;
setDCLSqlElems(pInfo, TSDB_SQL_SHOW_CREATE_STABLE, 1, &yymsp[-1].minor.yy0); setDCLSqlElems(pInfo, TSDB_SQL_SHOW_CREATE_STABLE, 1, &yymsp[-1].minor.yy0);
} }
#line 2814 "sql.c"
break; break;
case 23: /* cmd ::= SHOW CREATE DATABASE ids */ case 23: /* cmd ::= SHOW CREATE DATABASE ids */
#line 103 "sql.y"
{ {
setDCLSqlElems(pInfo, TSDB_SQL_SHOW_CREATE_DATABASE, 1, &yymsp[0].minor.yy0); setDCLSqlElems(pInfo, TSDB_SQL_SHOW_CREATE_DATABASE, 1, &yymsp[0].minor.yy0);
} }
#line 2821 "sql.c"
break; break;
case 24: /* cmd ::= SHOW dbPrefix TABLES */ case 24: /* cmd ::= SHOW dbPrefix TABLES */
#line 107 "sql.y"
{ {
setShowOptions(pInfo, TSDB_MGMT_TABLE_TABLE, &yymsp[-1].minor.yy0, 0); setShowOptions(pInfo, TSDB_MGMT_TABLE_TABLE, &yymsp[-1].minor.yy0, 0);
} }
#line 2828 "sql.c"
break; break;
case 25: /* cmd ::= SHOW dbPrefix TABLES LIKE ids */ 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); setShowOptions(pInfo, TSDB_MGMT_TABLE_TABLE, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0);
} }
#line 2835 "sql.c"
break; break;
case 26: /* cmd ::= SHOW dbPrefix STABLES */ case 26: /* cmd ::= SHOW dbPrefix STABLES */
#line 115 "sql.y"
{ {
setShowOptions(pInfo, TSDB_MGMT_TABLE_METRIC, &yymsp[-1].minor.yy0, 0); setShowOptions(pInfo, TSDB_MGMT_TABLE_METRIC, &yymsp[-1].minor.yy0, 0);
} }
#line 2842 "sql.c"
break; break;
case 27: /* cmd ::= SHOW dbPrefix STABLES LIKE ids */ case 27: /* cmd ::= SHOW dbPrefix STABLES LIKE ids */
#line 119 "sql.y"
{ {
SStrToken token; SStrToken token;
tSetDbName(&token, &yymsp[-3].minor.yy0); tSetDbName(&token, &yymsp[-3].minor.yy0);
setShowOptions(pInfo, TSDB_MGMT_TABLE_METRIC, &token, &yymsp[0].minor.yy0); setShowOptions(pInfo, TSDB_MGMT_TABLE_METRIC, &token, &yymsp[0].minor.yy0);
} }
#line 2851 "sql.c"
break; break;
case 28: /* cmd ::= SHOW dbPrefix VGROUPS */ case 28: /* cmd ::= SHOW dbPrefix VGROUPS */
#line 125 "sql.y"
{ {
SStrToken token; SStrToken token;
tSetDbName(&token, &yymsp[-1].minor.yy0); tSetDbName(&token, &yymsp[-1].minor.yy0);
setShowOptions(pInfo, TSDB_MGMT_TABLE_VGROUP, &token, 0); setShowOptions(pInfo, TSDB_MGMT_TABLE_VGROUP, &token, 0);
} }
#line 2860 "sql.c"
break; break;
case 29: /* cmd ::= SHOW dbPrefix VGROUPS ids */ case 29: /* cmd ::= SHOW dbPrefix VGROUPS ids */
#line 131 "sql.y"
{ {
SStrToken token; SStrToken token;
tSetDbName(&token, &yymsp[-2].minor.yy0); tSetDbName(&token, &yymsp[-2].minor.yy0);
setShowOptions(pInfo, TSDB_MGMT_TABLE_VGROUP, &token, &yymsp[0].minor.yy0); setShowOptions(pInfo, TSDB_MGMT_TABLE_VGROUP, &token, &yymsp[0].minor.yy0);
} }
#line 2869 "sql.c"
break; break;
case 30: /* cmd ::= DROP TABLE ifexists ids cpxName */ case 30: /* cmd ::= DROP TABLE ifexists ids cpxName */
#line 138 "sql.y"
{ {
yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; 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); setDropDbTableInfo(pInfo, TSDB_SQL_DROP_TABLE, &yymsp[-1].minor.yy0, &yymsp[-2].minor.yy0, -1, -1);
} }
#line 2877 "sql.c"
break; break;
case 31: /* cmd ::= DROP STABLE ifexists ids cpxName */ case 31: /* cmd ::= DROP STABLE ifexists ids cpxName */
#line 144 "sql.y"
{ {
yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; 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); setDropDbTableInfo(pInfo, TSDB_SQL_DROP_TABLE, &yymsp[-1].minor.yy0, &yymsp[-2].minor.yy0, -1, TSDB_SUPER_TABLE);
} }
#line 2885 "sql.c"
break; break;
case 32: /* cmd ::= DROP DATABASE ifexists ids */ 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); } { setDropDbTableInfo(pInfo, TSDB_SQL_DROP_DB, &yymsp[0].minor.yy0, &yymsp[-1].minor.yy0, TSDB_DB_TYPE_DEFAULT, -1); }
#line 2890 "sql.c"
break; break;
case 33: /* cmd ::= DROP TOPIC ifexists ids */ 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); } { setDropDbTableInfo(pInfo, TSDB_SQL_DROP_DB, &yymsp[0].minor.yy0, &yymsp[-1].minor.yy0, TSDB_DB_TYPE_TOPIC, -1); }
#line 2895 "sql.c"
break; break;
case 34: /* cmd ::= DROP FUNCTION ids */ case 34: /* cmd ::= DROP FUNCTION ids */
#line 151 "sql.y"
{ setDropFuncInfo(pInfo, TSDB_SQL_DROP_FUNCTION, &yymsp[0].minor.yy0); } { setDropFuncInfo(pInfo, TSDB_SQL_DROP_FUNCTION, &yymsp[0].minor.yy0); }
#line 2900 "sql.c"
break; break;
case 35: /* cmd ::= DROP DNODE ids */ case 35: /* cmd ::= DROP DNODE ids */
#line 153 "sql.y"
{ setDCLSqlElems(pInfo, TSDB_SQL_DROP_DNODE, 1, &yymsp[0].minor.yy0); } { setDCLSqlElems(pInfo, TSDB_SQL_DROP_DNODE, 1, &yymsp[0].minor.yy0); }
#line 2905 "sql.c"
break; break;
case 36: /* cmd ::= DROP USER ids */ case 36: /* cmd ::= DROP USER ids */
#line 154 "sql.y"
{ setDCLSqlElems(pInfo, TSDB_SQL_DROP_USER, 1, &yymsp[0].minor.yy0); } { setDCLSqlElems(pInfo, TSDB_SQL_DROP_USER, 1, &yymsp[0].minor.yy0); }
#line 2910 "sql.c"
break; break;
case 37: /* cmd ::= DROP ACCOUNT ids */ case 37: /* cmd ::= DROP ACCOUNT ids */
#line 155 "sql.y"
{ setDCLSqlElems(pInfo, TSDB_SQL_DROP_ACCT, 1, &yymsp[0].minor.yy0); } { setDCLSqlElems(pInfo, TSDB_SQL_DROP_ACCT, 1, &yymsp[0].minor.yy0); }
#line 2915 "sql.c"
break; break;
case 38: /* cmd ::= USE ids */ case 38: /* cmd ::= USE ids */
#line 158 "sql.y"
{ setDCLSqlElems(pInfo, TSDB_SQL_USE_DB, 1, &yymsp[0].minor.yy0);} { setDCLSqlElems(pInfo, TSDB_SQL_USE_DB, 1, &yymsp[0].minor.yy0);}
#line 2920 "sql.c"
break; break;
case 39: /* cmd ::= DESCRIBE ids cpxName */ case 39: /* cmd ::= DESCRIBE ids cpxName */
case 40: /* cmd ::= DESC ids cpxName */ yytestcase(yyruleno==40); case 40: /* cmd ::= DESC ids cpxName */ yytestcase(yyruleno==40);
#line 161 "sql.y"
{ {
yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n;
setDCLSqlElems(pInfo, TSDB_SQL_DESCRIBE_TABLE, 1, &yymsp[-1].minor.yy0); setDCLSqlElems(pInfo, TSDB_SQL_DESCRIBE_TABLE, 1, &yymsp[-1].minor.yy0);
} }
#line 2929 "sql.c"
break; break;
case 41: /* cmd ::= ALTER USER ids PASS ids */ 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); } { setAlterUserSql(pInfo, TSDB_ALTER_USER_PASSWD, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, NULL); }
#line 2934 "sql.c"
break; break;
case 42: /* cmd ::= ALTER USER ids PRIVILEGE ids */ 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);} { setAlterUserSql(pInfo, TSDB_ALTER_USER_PRIVILEGES, &yymsp[-2].minor.yy0, NULL, &yymsp[0].minor.yy0);}
#line 2939 "sql.c"
break; break;
case 43: /* cmd ::= ALTER DNODE ids ids */ 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); } { setDCLSqlElems(pInfo, TSDB_SQL_CFG_DNODE, 2, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); }
#line 2944 "sql.c"
break; break;
case 44: /* cmd ::= ALTER DNODE ids ids ids */ 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); } { setDCLSqlElems(pInfo, TSDB_SQL_CFG_DNODE, 3, &yymsp[-2].minor.yy0, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); }
#line 2949 "sql.c"
break; break;
case 45: /* cmd ::= ALTER LOCAL ids */ case 45: /* cmd ::= ALTER LOCAL ids */
#line 176 "sql.y"
{ setDCLSqlElems(pInfo, TSDB_SQL_CFG_LOCAL, 1, &yymsp[0].minor.yy0); } { setDCLSqlElems(pInfo, TSDB_SQL_CFG_LOCAL, 1, &yymsp[0].minor.yy0); }
#line 2954 "sql.c"
break; break;
case 46: /* cmd ::= ALTER LOCAL ids ids */ 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); } { setDCLSqlElems(pInfo, TSDB_SQL_CFG_LOCAL, 2, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); }
#line 2959 "sql.c"
break; break;
case 47: /* cmd ::= ALTER DATABASE ids alter_db_optr */ case 47: /* cmd ::= ALTER DATABASE ids alter_db_optr */
case 48: /* cmd ::= ALTER TOPIC ids alter_topic_optr */ yytestcase(yyruleno==48); 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; break;
case 49: /* cmd ::= ALTER ACCOUNT ids acct_optr */ 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; break;
case 50: /* cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */ 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; break;
case 51: /* cmd ::= COMPACT VNODES IN LP exprlist RP */ 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; break;
case 52: /* ids ::= ID */ case 52: /* ids ::= ID */
case 53: /* ids ::= STRING */ yytestcase(yyruleno==53); case 53: /* ids ::= STRING */ yytestcase(yyruleno==53);
#line 192 "sql.y"
{yylhsminor.yy0 = yymsp[0].minor.yy0; } {yylhsminor.yy0 = yymsp[0].minor.yy0; }
#line 2986 "sql.c"
yymsp[0].minor.yy0 = yylhsminor.yy0; yymsp[0].minor.yy0 = yylhsminor.yy0;
break; break;
case 54: /* ifexists ::= IF EXISTS */ case 54: /* ifexists ::= IF EXISTS */
#line 196 "sql.y"
{ yymsp[-1].minor.yy0.n = 1;} { yymsp[-1].minor.yy0.n = 1;}
#line 2992 "sql.c"
break; break;
case 55: /* ifexists ::= */ case 55: /* ifexists ::= */
case 57: /* ifnotexists ::= */ yytestcase(yyruleno==57); case 57: /* ifnotexists ::= */ yytestcase(yyruleno==57);
case 181: /* distinct ::= */ yytestcase(yyruleno==181); case 181: /* distinct ::= */ yytestcase(yyruleno==181);
#line 197 "sql.y"
{ yymsp[1].minor.yy0.n = 0;} { yymsp[1].minor.yy0.n = 0;}
#line 2999 "sql.c"
break; break;
case 56: /* ifnotexists ::= IF NOT EXISTS */ case 56: /* ifnotexists ::= IF NOT EXISTS */
#line 200 "sql.y"
{ yymsp[-2].minor.yy0.n = 1;} { yymsp[-2].minor.yy0.n = 1;}
#line 3004 "sql.c"
break; break;
case 58: /* cmd ::= CREATE DNODE ids */ case 58: /* cmd ::= CREATE DNODE ids */
#line 205 "sql.y"
{ setDCLSqlElems(pInfo, TSDB_SQL_CREATE_DNODE, 1, &yymsp[0].minor.yy0);} { setDCLSqlElems(pInfo, TSDB_SQL_CREATE_DNODE, 1, &yymsp[0].minor.yy0);}
#line 3009 "sql.c"
break; break;
case 59: /* cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */ 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; break;
case 60: /* cmd ::= CREATE DATABASE ifnotexists ids db_optr */ case 60: /* cmd ::= CREATE DATABASE ifnotexists ids db_optr */
case 61: /* cmd ::= CREATE TOPIC ifnotexists ids topic_optr */ yytestcase(yyruleno==61); 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; break;
case 62: /* cmd ::= CREATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */ 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; break;
case 63: /* cmd ::= CREATE AGGREGATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */ 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; break;
case 64: /* cmd ::= CREATE USER ids PASS ids */ case 64: /* cmd ::= CREATE USER ids PASS ids */
#line 212 "sql.y"
{ setCreateUserSql(pInfo, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0);} { setCreateUserSql(pInfo, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0);}
#line 3035 "sql.c"
break; break;
case 65: /* bufsize ::= */ case 65: /* bufsize ::= */
case 67: /* pps ::= */ yytestcase(yyruleno==67); case 67: /* pps ::= */ yytestcase(yyruleno==67);
...@@ -2440,7 +3044,9 @@ static void yy_reduce( ...@@ -2440,7 +3044,9 @@ static void yy_reduce(
case 79: /* users ::= */ yytestcase(yyruleno==79); case 79: /* users ::= */ yytestcase(yyruleno==79);
case 81: /* conns ::= */ yytestcase(yyruleno==81); case 81: /* conns ::= */ yytestcase(yyruleno==81);
case 83: /* state ::= */ yytestcase(yyruleno==83); case 83: /* state ::= */ yytestcase(yyruleno==83);
#line 214 "sql.y"
{ yymsp[1].minor.yy0.n = 0; } { yymsp[1].minor.yy0.n = 0; }
#line 3049 "sql.c"
break; break;
case 66: /* bufsize ::= BUFSIZE INTEGER */ case 66: /* bufsize ::= BUFSIZE INTEGER */
case 68: /* pps ::= PPS INTEGER */ yytestcase(yyruleno==68); case 68: /* pps ::= PPS INTEGER */ yytestcase(yyruleno==68);
...@@ -2452,42 +3058,54 @@ static void yy_reduce( ...@@ -2452,42 +3058,54 @@ static void yy_reduce(
case 80: /* users ::= USERS INTEGER */ yytestcase(yyruleno==80); case 80: /* users ::= USERS INTEGER */ yytestcase(yyruleno==80);
case 82: /* conns ::= CONNS INTEGER */ yytestcase(yyruleno==82); case 82: /* conns ::= CONNS INTEGER */ yytestcase(yyruleno==82);
case 84: /* state ::= STATE ids */ yytestcase(yyruleno==84); case 84: /* state ::= STATE ids */ yytestcase(yyruleno==84);
#line 215 "sql.y"
{ yymsp[-1].minor.yy0 = yymsp[0].minor.yy0; } { yymsp[-1].minor.yy0 = yymsp[0].minor.yy0; }
#line 3063 "sql.c"
break; break;
case 85: /* acct_optr ::= pps tseries storage streams qtime dbs users conns state */ 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.yy377.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.yy377.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.yy377.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.yy377.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.yy377.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.yy377.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.yy377.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.yy377.maxConnections = (yymsp[-1].minor.yy0.n>0)?atoi(yymsp[-1].minor.yy0.z):-1;
yylhsminor.yy171.stat = yymsp[0].minor.yy0; yylhsminor.yy377.stat = yymsp[0].minor.yy0;
} }
yymsp[-8].minor.yy171 = yylhsminor.yy171; #line 3078 "sql.c"
yymsp[-8].minor.yy377 = yylhsminor.yy377;
break; break;
case 86: /* intitemlist ::= intitemlist COMMA intitem */ case 86: /* intitemlist ::= intitemlist COMMA intitem */
case 155: /* tagitemlist ::= tagitemlist COMMA tagitem */ yytestcase(yyruleno==155); case 155: /* tagitemlist ::= tagitemlist COMMA tagitem */ yytestcase(yyruleno==155);
{ yylhsminor.yy421 = tVariantListAppend(yymsp[-2].minor.yy421, &yymsp[0].minor.yy430, -1); } #line 261 "sql.y"
yymsp[-2].minor.yy421 = yylhsminor.yy421; { yylhsminor.yy403 = tVariantListAppend(yymsp[-2].minor.yy403, &yymsp[0].minor.yy488, -1); }
#line 3085 "sql.c"
yymsp[-2].minor.yy403 = yylhsminor.yy403;
break; break;
case 87: /* intitemlist ::= intitem */ case 87: /* intitemlist ::= intitem */
case 156: /* tagitemlist ::= tagitem */ yytestcase(yyruleno==156); case 156: /* tagitemlist ::= tagitem */ yytestcase(yyruleno==156);
{ yylhsminor.yy421 = tVariantListAppend(NULL, &yymsp[0].minor.yy430, -1); } #line 262 "sql.y"
yymsp[0].minor.yy421 = yylhsminor.yy421; { yylhsminor.yy403 = tVariantListAppend(NULL, &yymsp[0].minor.yy488, -1); }
#line 3092 "sql.c"
yymsp[0].minor.yy403 = yylhsminor.yy403;
break; break;
case 88: /* intitem ::= INTEGER */ case 88: /* intitem ::= INTEGER */
case 157: /* tagitem ::= INTEGER */ yytestcase(yyruleno==157); case 157: /* tagitem ::= INTEGER */ yytestcase(yyruleno==157);
case 158: /* tagitem ::= FLOAT */ yytestcase(yyruleno==158); case 158: /* tagitem ::= FLOAT */ yytestcase(yyruleno==158);
case 159: /* tagitem ::= STRING */ yytestcase(yyruleno==159); case 159: /* tagitem ::= STRING */ yytestcase(yyruleno==159);
case 160: /* tagitem ::= BOOL */ yytestcase(yyruleno==160); case 160: /* tagitem ::= BOOL */ yytestcase(yyruleno==160);
{ toTSDBType(yymsp[0].minor.yy0.type); tVariantCreate(&yylhsminor.yy430, &yymsp[0].minor.yy0); } #line 264 "sql.y"
yymsp[0].minor.yy430 = yylhsminor.yy430; { toTSDBType(yymsp[0].minor.yy0.type); tVariantCreate(&yylhsminor.yy488, &yymsp[0].minor.yy0); }
#line 3102 "sql.c"
yymsp[0].minor.yy488 = yylhsminor.yy488;
break; break;
case 89: /* keep ::= KEEP intitemlist */ 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; break;
case 90: /* cache ::= CACHE INTEGER */ case 90: /* cache ::= CACHE INTEGER */
case 91: /* replica ::= REPLICA INTEGER */ yytestcase(yyruleno==91); case 91: /* replica ::= REPLICA INTEGER */ yytestcase(yyruleno==91);
...@@ -2504,647 +3122,924 @@ static void yy_reduce( ...@@ -2504,647 +3122,924 @@ static void yy_reduce(
case 102: /* update ::= UPDATE INTEGER */ yytestcase(yyruleno==102); case 102: /* update ::= UPDATE INTEGER */ yytestcase(yyruleno==102);
case 103: /* cachelast ::= CACHELAST INTEGER */ yytestcase(yyruleno==103); case 103: /* cachelast ::= CACHELAST INTEGER */ yytestcase(yyruleno==103);
case 104: /* partitions ::= PARTITIONS INTEGER */ yytestcase(yyruleno==104); case 104: /* partitions ::= PARTITIONS INTEGER */ yytestcase(yyruleno==104);
#line 270 "sql.y"
{ yymsp[-1].minor.yy0 = yymsp[0].minor.yy0; } { yymsp[-1].minor.yy0 = yymsp[0].minor.yy0; }
#line 3127 "sql.c"
break; break;
case 105: /* db_optr ::= */ 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; break;
case 106: /* db_optr ::= db_optr cache */ case 106: /* db_optr ::= db_optr cache */
{ yylhsminor.yy90 = yymsp[-1].minor.yy90; yylhsminor.yy90.cacheBlockSize = strtol(yymsp[0].minor.yy0.z, NULL, 10); } #line 289 "sql.y"
yymsp[-1].minor.yy90 = yylhsminor.yy90; { 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; break;
case 107: /* db_optr ::= db_optr replica */ case 107: /* db_optr ::= db_optr replica */
case 124: /* alter_db_optr ::= alter_db_optr replica */ yytestcase(yyruleno==124); 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); } #line 290 "sql.y"
yymsp[-1].minor.yy90 = yylhsminor.yy90; { 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; break;
case 108: /* db_optr ::= db_optr quorum */ case 108: /* db_optr ::= db_optr quorum */
case 125: /* alter_db_optr ::= alter_db_optr quorum */ yytestcase(yyruleno==125); 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); } #line 291 "sql.y"
yymsp[-1].minor.yy90 = yylhsminor.yy90; { 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; break;
case 109: /* db_optr ::= db_optr days */ case 109: /* db_optr ::= db_optr days */
{ yylhsminor.yy90 = yymsp[-1].minor.yy90; yylhsminor.yy90.daysPerFile = strtol(yymsp[0].minor.yy0.z, NULL, 10); } #line 292 "sql.y"
yymsp[-1].minor.yy90 = yylhsminor.yy90; { 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; break;
case 110: /* db_optr ::= db_optr minrows */ case 110: /* db_optr ::= db_optr minrows */
{ yylhsminor.yy90 = yymsp[-1].minor.yy90; yylhsminor.yy90.minRowsPerBlock = strtod(yymsp[0].minor.yy0.z, NULL); } #line 293 "sql.y"
yymsp[-1].minor.yy90 = yylhsminor.yy90; { 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; break;
case 111: /* db_optr ::= db_optr maxrows */ case 111: /* db_optr ::= db_optr maxrows */
{ yylhsminor.yy90 = yymsp[-1].minor.yy90; yylhsminor.yy90.maxRowsPerBlock = strtod(yymsp[0].minor.yy0.z, NULL); } #line 294 "sql.y"
yymsp[-1].minor.yy90 = yylhsminor.yy90; { 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; break;
case 112: /* db_optr ::= db_optr blocks */ case 112: /* db_optr ::= db_optr blocks */
case 127: /* alter_db_optr ::= alter_db_optr blocks */ yytestcase(yyruleno==127); 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); } #line 295 "sql.y"
yymsp[-1].minor.yy90 = yylhsminor.yy90; { 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; break;
case 113: /* db_optr ::= db_optr ctime */ case 113: /* db_optr ::= db_optr ctime */
{ yylhsminor.yy90 = yymsp[-1].minor.yy90; yylhsminor.yy90.commitTime = strtol(yymsp[0].minor.yy0.z, NULL, 10); } #line 296 "sql.y"
yymsp[-1].minor.yy90 = yylhsminor.yy90; { 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; break;
case 114: /* db_optr ::= db_optr wal */ case 114: /* db_optr ::= db_optr wal */
{ yylhsminor.yy90 = yymsp[-1].minor.yy90; yylhsminor.yy90.walLevel = strtol(yymsp[0].minor.yy0.z, NULL, 10); } #line 297 "sql.y"
yymsp[-1].minor.yy90 = yylhsminor.yy90; { 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; break;
case 115: /* db_optr ::= db_optr fsync */ case 115: /* db_optr ::= db_optr fsync */
{ yylhsminor.yy90 = yymsp[-1].minor.yy90; yylhsminor.yy90.fsyncPeriod = strtol(yymsp[0].minor.yy0.z, NULL, 10); } #line 298 "sql.y"
yymsp[-1].minor.yy90 = yylhsminor.yy90; { 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; break;
case 116: /* db_optr ::= db_optr comp */ case 116: /* db_optr ::= db_optr comp */
case 128: /* alter_db_optr ::= alter_db_optr comp */ yytestcase(yyruleno==128); 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); } #line 299 "sql.y"
yymsp[-1].minor.yy90 = yylhsminor.yy90; { 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; break;
case 117: /* db_optr ::= db_optr prec */ case 117: /* db_optr ::= db_optr prec */
{ yylhsminor.yy90 = yymsp[-1].minor.yy90; yylhsminor.yy90.precision = yymsp[0].minor.yy0; } #line 300 "sql.y"
yymsp[-1].minor.yy90 = yylhsminor.yy90; { yylhsminor.yy246 = yymsp[-1].minor.yy246; yylhsminor.yy246.precision = yymsp[0].minor.yy0; }
#line 3207 "sql.c"
yymsp[-1].minor.yy246 = yylhsminor.yy246;
break; break;
case 118: /* db_optr ::= db_optr keep */ case 118: /* db_optr ::= db_optr keep */
case 126: /* alter_db_optr ::= alter_db_optr keep */ yytestcase(yyruleno==126); 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; } #line 301 "sql.y"
yymsp[-1].minor.yy90 = yylhsminor.yy90; { yylhsminor.yy246 = yymsp[-1].minor.yy246; yylhsminor.yy246.keep = yymsp[0].minor.yy403; }
#line 3214 "sql.c"
yymsp[-1].minor.yy246 = yylhsminor.yy246;
break; break;
case 119: /* db_optr ::= db_optr update */ case 119: /* db_optr ::= db_optr update */
case 129: /* alter_db_optr ::= alter_db_optr update */ yytestcase(yyruleno==129); 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); } #line 302 "sql.y"
yymsp[-1].minor.yy90 = yylhsminor.yy90; { 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; break;
case 120: /* db_optr ::= db_optr cachelast */ case 120: /* db_optr ::= db_optr cachelast */
case 130: /* alter_db_optr ::= alter_db_optr cachelast */ yytestcase(yyruleno==130); 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); } #line 303 "sql.y"
yymsp[-1].minor.yy90 = yylhsminor.yy90; { 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; break;
case 121: /* topic_optr ::= db_optr */ case 121: /* topic_optr ::= db_optr */
case 131: /* alter_topic_optr ::= alter_db_optr */ yytestcase(yyruleno==131); case 131: /* alter_topic_optr ::= alter_db_optr */ yytestcase(yyruleno==131);
{ yylhsminor.yy90 = yymsp[0].minor.yy90; yylhsminor.yy90.dbType = TSDB_DB_TYPE_TOPIC; } #line 307 "sql.y"
yymsp[0].minor.yy90 = yylhsminor.yy90; { yylhsminor.yy246 = yymsp[0].minor.yy246; yylhsminor.yy246.dbType = TSDB_DB_TYPE_TOPIC; }
#line 3235 "sql.c"
yymsp[0].minor.yy246 = yylhsminor.yy246;
break; break;
case 122: /* topic_optr ::= topic_optr partitions */ case 122: /* topic_optr ::= topic_optr partitions */
case 132: /* alter_topic_optr ::= alter_topic_optr partitions */ yytestcase(yyruleno==132); 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); } #line 308 "sql.y"
yymsp[-1].minor.yy90 = yylhsminor.yy90; { 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; break;
case 123: /* alter_db_optr ::= */ 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; break;
case 133: /* typename ::= ids */ case 133: /* typename ::= ids */
#line 331 "sql.y"
{ {
yymsp[0].minor.yy0.type = 0; 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; break;
case 134: /* typename ::= ids LP signed RP */ 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; yymsp[-3].minor.yy0.type = 0;
tSetColumnType(&yylhsminor.yy183, &yymsp[-3].minor.yy0); tSetColumnType(&yylhsminor.yy363, &yymsp[-3].minor.yy0);
} else { } else {
yymsp[-3].minor.yy0.type = -yymsp[-1].minor.yy325; // negative value of name length yymsp[-3].minor.yy0.type = -yymsp[-1].minor.yy387; // negative value of name length
tSetColumnType(&yylhsminor.yy183, &yymsp[-3].minor.yy0); tSetColumnType(&yylhsminor.yy363, &yymsp[-3].minor.yy0);
} }
} }
yymsp[-3].minor.yy183 = yylhsminor.yy183; #line 3270 "sql.c"
yymsp[-3].minor.yy363 = yylhsminor.yy363;
break; break;
case 135: /* typename ::= ids UNSIGNED */ case 135: /* typename ::= ids UNSIGNED */
#line 348 "sql.y"
{ {
yymsp[-1].minor.yy0.type = 0; 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); 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; break;
case 136: /* signed ::= INTEGER */ case 136: /* signed ::= INTEGER */
{ yylhsminor.yy325 = strtol(yymsp[0].minor.yy0.z, NULL, 10); } #line 355 "sql.y"
yymsp[0].minor.yy325 = yylhsminor.yy325; { yylhsminor.yy387 = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
#line 3286 "sql.c"
yymsp[0].minor.yy387 = yylhsminor.yy387;
break; break;
case 137: /* signed ::= PLUS INTEGER */ 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; break;
case 138: /* signed ::= MINUS INTEGER */ 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; break;
case 142: /* cmd ::= CREATE TABLE create_table_list */ 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; break;
case 143: /* create_table_list ::= create_from_stable */ case 143: /* create_table_list ::= create_from_stable */
#line 367 "sql.y"
{ {
SCreateTableSql* pCreateTable = calloc(1, sizeof(SCreateTableSql)); SCreateTableSql* pCreateTable = calloc(1, sizeof(SCreateTableSql));
pCreateTable->childTableInfo = taosArrayInit(4, sizeof(SCreatedTableInfo)); 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; 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; break;
case 144: /* create_table_list ::= create_table_list create_from_stable */ 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); taosArrayPush(yymsp[-1].minor.yy56->childTableInfo, &yymsp[0].minor.yy84);
yylhsminor.yy438 = yymsp[-1].minor.yy438; yylhsminor.yy56 = yymsp[-1].minor.yy56;
} }
yymsp[-1].minor.yy438 = yylhsminor.yy438; #line 3323 "sql.c"
yymsp[-1].minor.yy56 = yylhsminor.yy56;
break; break;
case 145: /* create_table_args ::= ifnotexists ids cpxName LP columnlist RP */ 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); yylhsminor.yy56 = tSetCreateTableInfo(yymsp[-1].minor.yy403, NULL, NULL, TSQL_CREATE_TABLE);
setSqlInfo(pInfo, yylhsminor.yy438, NULL, TSDB_SQL_CREATE_TABLE); setSqlInfo(pInfo, yylhsminor.yy56, NULL, TSDB_SQL_CREATE_TABLE);
yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n;
setCreatedTableName(pInfo, &yymsp[-4].minor.yy0, &yymsp[-5].minor.yy0); 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; break;
case 146: /* create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */ 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); yylhsminor.yy56 = tSetCreateTableInfo(yymsp[-5].minor.yy403, yymsp[-1].minor.yy403, NULL, TSQL_CREATE_STABLE);
setSqlInfo(pInfo, yylhsminor.yy438, NULL, TSDB_SQL_CREATE_TABLE); setSqlInfo(pInfo, yylhsminor.yy56, NULL, TSDB_SQL_CREATE_TABLE);
yymsp[-8].minor.yy0.n += yymsp[-7].minor.yy0.n; yymsp[-8].minor.yy0.n += yymsp[-7].minor.yy0.n;
setCreatedTableName(pInfo, &yymsp[-8].minor.yy0, &yymsp[-9].minor.yy0); 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; break;
case 147: /* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */ 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[-5].minor.yy0.n += yymsp[-4].minor.yy0.n;
yymsp[-8].minor.yy0.n += yymsp[-7].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; break;
case 148: /* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */ 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[-8].minor.yy0.n += yymsp[-7].minor.yy0.n;
yymsp[-11].minor.yy0.n += yymsp[-10].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; break;
case 149: /* tagNamelist ::= tagNamelist COMMA ids */ case 149: /* tagNamelist ::= tagNamelist COMMA ids */
{taosArrayPush(yymsp[-2].minor.yy421, &yymsp[0].minor.yy0); yylhsminor.yy421 = yymsp[-2].minor.yy421; } #line 417 "sql.y"
yymsp[-2].minor.yy421 = yylhsminor.yy421; {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; break;
case 150: /* tagNamelist ::= ids */ case 150: /* tagNamelist ::= ids */
{yylhsminor.yy421 = taosArrayInit(4, sizeof(SStrToken)); taosArrayPush(yylhsminor.yy421, &yymsp[0].minor.yy0);} #line 418 "sql.y"
yymsp[0].minor.yy421 = yylhsminor.yy421; {yylhsminor.yy403 = taosArrayInit(4, sizeof(SStrToken)); taosArrayPush(yylhsminor.yy403, &yymsp[0].minor.yy0);}
#line 3379 "sql.c"
yymsp[0].minor.yy403 = yylhsminor.yy403;
break; break;
case 151: /* create_table_args ::= ifnotexists ids cpxName AS select */ 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); yylhsminor.yy56 = tSetCreateTableInfo(NULL, NULL, yymsp[0].minor.yy224, TSQL_CREATE_STREAM);
setSqlInfo(pInfo, yylhsminor.yy438, NULL, TSDB_SQL_CREATE_TABLE); setSqlInfo(pInfo, yylhsminor.yy56, NULL, TSDB_SQL_CREATE_TABLE);
yymsp[-3].minor.yy0.n += yymsp[-2].minor.yy0.n; yymsp[-3].minor.yy0.n += yymsp[-2].minor.yy0.n;
setCreatedTableName(pInfo, &yymsp[-3].minor.yy0, &yymsp[-4].minor.yy0); 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; break;
case 152: /* columnlist ::= columnlist COMMA column */ case 152: /* columnlist ::= columnlist COMMA column */
{taosArrayPush(yymsp[-2].minor.yy421, &yymsp[0].minor.yy183); yylhsminor.yy421 = yymsp[-2].minor.yy421; } #line 433 "sql.y"
yymsp[-2].minor.yy421 = yylhsminor.yy421; {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; break;
case 153: /* columnlist ::= column */ case 153: /* columnlist ::= column */
{yylhsminor.yy421 = taosArrayInit(4, sizeof(TAOS_FIELD)); taosArrayPush(yylhsminor.yy421, &yymsp[0].minor.yy183);} #line 434 "sql.y"
yymsp[0].minor.yy421 = yylhsminor.yy421; {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; break;
case 154: /* column ::= ids typename */ 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; break;
case 161: /* tagitem ::= NULL */ case 161: /* tagitem ::= NULL */
{ yymsp[0].minor.yy0.type = 0; tVariantCreate(&yylhsminor.yy430, &yymsp[0].minor.yy0); } #line 453 "sql.y"
yymsp[0].minor.yy430 = yylhsminor.yy430; { yymsp[0].minor.yy0.type = 0; tVariantCreate(&yylhsminor.yy488, &yymsp[0].minor.yy0); }
#line 3417 "sql.c"
yymsp[0].minor.yy488 = yylhsminor.yy488;
break; break;
case 162: /* tagitem ::= NOW */ case 162: /* tagitem ::= NOW */
{ yymsp[0].minor.yy0.type = TSDB_DATA_TYPE_TIMESTAMP; tVariantCreate(&yylhsminor.yy430, &yymsp[0].minor.yy0);} #line 454 "sql.y"
yymsp[0].minor.yy430 = yylhsminor.yy430; { 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; break;
case 163: /* tagitem ::= MINUS INTEGER */ case 163: /* tagitem ::= MINUS INTEGER */
case 164: /* tagitem ::= MINUS FLOAT */ yytestcase(yyruleno==164); case 164: /* tagitem ::= MINUS FLOAT */ yytestcase(yyruleno==164);
case 165: /* tagitem ::= PLUS INTEGER */ yytestcase(yyruleno==165); case 165: /* tagitem ::= PLUS INTEGER */ yytestcase(yyruleno==165);
case 166: /* tagitem ::= PLUS FLOAT */ yytestcase(yyruleno==166); 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.n += yymsp[0].minor.yy0.n;
yymsp[-1].minor.yy0.type = yymsp[0].minor.yy0.type; yymsp[-1].minor.yy0.type = yymsp[0].minor.yy0.type;
toTSDBType(yymsp[-1].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; 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 */ 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; break;
case 168: /* select ::= LP select RP */ 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; break;
case 169: /* union ::= select */ case 169: /* union ::= select */
{ yylhsminor.yy421 = setSubclause(NULL, yymsp[0].minor.yy56); } #line 495 "sql.y"
yymsp[0].minor.yy421 = yylhsminor.yy421; { yylhsminor.yy403 = setSubclause(NULL, yymsp[0].minor.yy224); }
#line 3456 "sql.c"
yymsp[0].minor.yy403 = yylhsminor.yy403;
break; break;
case 170: /* union ::= union UNION ALL select */ case 170: /* union ::= union UNION ALL select */
{ yylhsminor.yy421 = appendSelectClause(yymsp[-3].minor.yy421, yymsp[0].minor.yy56); } #line 496 "sql.y"
yymsp[-3].minor.yy421 = yylhsminor.yy421; { yylhsminor.yy403 = appendSelectClause(yymsp[-3].minor.yy403, yymsp[0].minor.yy224); }
#line 3462 "sql.c"
yymsp[-3].minor.yy403 = yylhsminor.yy403;
break; break;
case 171: /* cmd ::= union */ 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; break;
case 172: /* select ::= SELECT selcollist */ 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; break;
case 173: /* sclp ::= selcollist COMMA */ case 173: /* sclp ::= selcollist COMMA */
{yylhsminor.yy421 = yymsp[-1].minor.yy421;} #line 517 "sql.y"
yymsp[-1].minor.yy421 = yylhsminor.yy421; {yylhsminor.yy403 = yymsp[-1].minor.yy403;}
#line 3481 "sql.c"
yymsp[-1].minor.yy403 = yylhsminor.yy403;
break; break;
case 174: /* sclp ::= */ case 174: /* sclp ::= */
case 206: /* orderby_opt ::= */ yytestcase(yyruleno==206); 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; break;
case 175: /* selcollist ::= sclp distinct expr as */ 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; break;
case 176: /* selcollist ::= sclp STAR */ case 176: /* selcollist ::= sclp STAR */
#line 523 "sql.y"
{ {
tSqlExpr *pNode = tSqlExprCreateIdValue(NULL, TK_ALL); tSqlExpr *pNode = tSqlExprCreateIdValue(pInfo, NULL, TK_ALL);
yylhsminor.yy421 = tSqlExprListAppend(yymsp[-1].minor.yy421, pNode, 0, 0); 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; break;
case 177: /* as ::= AS ids */ case 177: /* as ::= AS ids */
#line 531 "sql.y"
{ yymsp[-1].minor.yy0 = yymsp[0].minor.yy0; } { yymsp[-1].minor.yy0 = yymsp[0].minor.yy0; }
#line 3510 "sql.c"
break; break;
case 178: /* as ::= ids */ case 178: /* as ::= ids */
#line 532 "sql.y"
{ yylhsminor.yy0 = yymsp[0].minor.yy0; } { yylhsminor.yy0 = yymsp[0].minor.yy0; }
#line 3515 "sql.c"
yymsp[0].minor.yy0 = yylhsminor.yy0; yymsp[0].minor.yy0 = yylhsminor.yy0;
break; break;
case 179: /* as ::= */ case 179: /* as ::= */
#line 533 "sql.y"
{ yymsp[1].minor.yy0.n = 0; } { yymsp[1].minor.yy0.n = 0; }
#line 3521 "sql.c"
break; break;
case 180: /* distinct ::= DISTINCT */ case 180: /* distinct ::= DISTINCT */
#line 536 "sql.y"
{ yylhsminor.yy0 = yymsp[0].minor.yy0; } { yylhsminor.yy0 = yymsp[0].minor.yy0; }
#line 3526 "sql.c"
yymsp[0].minor.yy0 = yylhsminor.yy0; yymsp[0].minor.yy0 = yylhsminor.yy0;
break; break;
case 182: /* from ::= FROM tablelist */ case 182: /* from ::= FROM tablelist */
case 183: /* from ::= FROM sub */ yytestcase(yyruleno==183); 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; break;
case 184: /* sub ::= LP union RP */ 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; break;
case 185: /* sub ::= LP union RP ids */ 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; break;
case 186: /* sub ::= sub COMMA LP union RP ids */ case 186: /* sub ::= sub COMMA LP union RP ids */
{yylhsminor.yy8 = addSubqueryElem(yymsp[-5].minor.yy8, yymsp[-2].minor.yy421, &yymsp[0].minor.yy0);} #line 549 "sql.y"
yymsp[-5].minor.yy8 = yylhsminor.yy8; {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; break;
case 187: /* tablelist ::= ids cpxName */ case 187: /* tablelist ::= ids cpxName */
#line 553 "sql.y"
{ {
yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; 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; break;
case 188: /* tablelist ::= ids cpxName ids */ case 188: /* tablelist ::= ids cpxName ids */
#line 558 "sql.y"
{ {
yymsp[-2].minor.yy0.n += yymsp[-1].minor.yy0.n; 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; break;
case 189: /* tablelist ::= tablelist COMMA ids cpxName */ case 189: /* tablelist ::= tablelist COMMA ids cpxName */
#line 563 "sql.y"
{ {
yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; 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; break;
case 190: /* tablelist ::= tablelist COMMA ids cpxName ids */ case 190: /* tablelist ::= tablelist COMMA ids cpxName ids */
#line 568 "sql.y"
{ {
yymsp[-2].minor.yy0.n += yymsp[-1].minor.yy0.n; 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; break;
case 191: /* tmvar ::= VARIABLE */ case 191: /* tmvar ::= VARIABLE */
#line 575 "sql.y"
{yylhsminor.yy0 = yymsp[0].minor.yy0;} {yylhsminor.yy0 = yymsp[0].minor.yy0;}
#line 3590 "sql.c"
yymsp[0].minor.yy0 = yylhsminor.yy0; yymsp[0].minor.yy0 = yylhsminor.yy0;
break; break;
case 192: /* interval_option ::= intervalKey LP tmvar RP */ 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;} #line 578 "sql.y"
yymsp[-3].minor.yy400 = yylhsminor.yy400; {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; break;
case 193: /* interval_option ::= intervalKey LP tmvar COMMA tmvar RP */ 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;} #line 579 "sql.y"
yymsp[-5].minor.yy400 = yylhsminor.yy400; {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; break;
case 194: /* interval_option ::= */ 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; break;
case 195: /* intervalKey ::= INTERVAL */ 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; break;
case 196: /* intervalKey ::= EVERY */ 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; break;
case 197: /* session_option ::= */ 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; break;
case 198: /* session_option ::= SESSION LP ids cpxName COMMA tmvar RP */ 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[-4].minor.yy0.n += yymsp[-3].minor.yy0.n;
yymsp[-6].minor.yy147.col = yymsp[-4].minor.yy0; yymsp[-6].minor.yy365.col = yymsp[-4].minor.yy0;
yymsp[-6].minor.yy147.gap = yymsp[-1].minor.yy0; yymsp[-6].minor.yy365.gap = yymsp[-1].minor.yy0;
} }
#line 3632 "sql.c"
break; break;
case 199: /* windowstate_option ::= */ 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; break;
case 200: /* windowstate_option ::= STATE_WINDOW LP ids RP */ 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; break;
case 201: /* fill_opt ::= */ case 201: /* fill_opt ::= */
{ yymsp[1].minor.yy421 = 0; } #line 600 "sql.y"
{ yymsp[1].minor.yy403 = 0; }
#line 3647 "sql.c"
break; break;
case 202: /* fill_opt ::= FILL LP ID COMMA tagitemlist RP */ case 202: /* fill_opt ::= FILL LP ID COMMA tagitemlist RP */
#line 601 "sql.y"
{ {
tVariant A = {0}; tVariant A = {0};
toTSDBType(yymsp[-3].minor.yy0.type); toTSDBType(yymsp[-3].minor.yy0.type);
tVariantCreate(&A, &yymsp[-3].minor.yy0); tVariantCreate(&A, &yymsp[-3].minor.yy0);
tVariantListInsert(yymsp[-1].minor.yy421, &A, -1, 0); tVariantListInsert(yymsp[-1].minor.yy403, &A, -1, 0);
yymsp[-5].minor.yy421 = yymsp[-1].minor.yy421; yymsp[-5].minor.yy403 = yymsp[-1].minor.yy403;
} }
#line 3659 "sql.c"
break; break;
case 203: /* fill_opt ::= FILL LP ID RP */ case 203: /* fill_opt ::= FILL LP ID RP */
#line 610 "sql.y"
{ {
toTSDBType(yymsp[-1].minor.yy0.type); 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; break;
case 204: /* sliding_opt ::= SLIDING LP tmvar RP */ case 204: /* sliding_opt ::= SLIDING LP tmvar RP */
#line 616 "sql.y"
{yymsp[-3].minor.yy0 = yymsp[-1].minor.yy0; } {yymsp[-3].minor.yy0 = yymsp[-1].minor.yy0; }
#line 3672 "sql.c"
break; break;
case 205: /* sliding_opt ::= */ 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; } {yymsp[1].minor.yy0.n = 0; yymsp[1].minor.yy0.z = NULL; yymsp[1].minor.yy0.type = 0; }
#line 3677 "sql.c"
break; break;
case 207: /* orderby_opt ::= ORDER BY sortlist */ 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; break;
case 208: /* sortlist ::= sortlist COMMA item sortorder */ 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; break;
case 209: /* sortlist ::= item sortorder */ 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; break;
case 210: /* item ::= ids cpxName */ case 210: /* item ::= ids cpxName */
#line 640 "sql.y"
{ {
toTSDBType(yymsp[-1].minor.yy0.type); toTSDBType(yymsp[-1].minor.yy0.type);
yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; 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; break;
case 211: /* sortorder ::= ASC */ 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; break;
case 212: /* sortorder ::= DESC */ 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; break;
case 213: /* sortorder ::= */ 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; break;
case 214: /* groupby_opt ::= */ case 214: /* groupby_opt ::= */
{ yymsp[1].minor.yy421 = 0;} #line 658 "sql.y"
{ yymsp[1].minor.yy403 = 0;}
#line 3729 "sql.c"
break; break;
case 215: /* groupby_opt ::= GROUP BY grouplist */ 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; break;
case 216: /* grouplist ::= grouplist COMMA item */ 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; break;
case 217: /* grouplist ::= item */ 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; break;
case 218: /* having_opt ::= */ case 218: /* having_opt ::= */
case 228: /* where_opt ::= */ yytestcase(yyruleno==228); case 228: /* where_opt ::= */ yytestcase(yyruleno==228);
case 270: /* expritem ::= */ yytestcase(yyruleno==270); 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; break;
case 219: /* having_opt ::= HAVING expr */ case 219: /* having_opt ::= HAVING expr */
case 229: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==229); 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; break;
case 220: /* limit_opt ::= */ case 220: /* limit_opt ::= */
case 224: /* slimit_opt ::= */ yytestcase(yyruleno==224); 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; break;
case 221: /* limit_opt ::= LIMIT signed */ case 221: /* limit_opt ::= LIMIT signed */
case 225: /* slimit_opt ::= SLIMIT signed */ yytestcase(yyruleno==225); 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; break;
case 222: /* limit_opt ::= LIMIT signed OFFSET signed */ 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; break;
case 223: /* limit_opt ::= LIMIT signed COMMA signed */ 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; break;
case 226: /* slimit_opt ::= SLIMIT signed SOFFSET signed */ 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; break;
case 227: /* slimit_opt ::= SLIMIT signed COMMA signed */ 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; break;
case 230: /* expr ::= LP expr RP */ 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);} #line 703 "sql.y"
yymsp[-2].minor.yy439 = yylhsminor.yy439; {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; break;
case 231: /* expr ::= ID */ case 231: /* expr ::= ID */
{ yylhsminor.yy439 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_ID);} #line 705 "sql.y"
yymsp[0].minor.yy439 = yylhsminor.yy439; { yylhsminor.yy260 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_ID);}
#line 3806 "sql.c"
yymsp[0].minor.yy260 = yylhsminor.yy260;
break; break;
case 232: /* expr ::= ID DOT ID */ case 232: /* expr ::= ID DOT ID */
{ yymsp[-2].minor.yy0.n += (1+yymsp[0].minor.yy0.n); yylhsminor.yy439 = tSqlExprCreateIdValue(&yymsp[-2].minor.yy0, TK_ID);} #line 706 "sql.y"
yymsp[-2].minor.yy439 = yylhsminor.yy439; { 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; break;
case 233: /* expr ::= ID DOT STAR */ case 233: /* expr ::= ID DOT STAR */
{ yymsp[-2].minor.yy0.n += (1+yymsp[0].minor.yy0.n); yylhsminor.yy439 = tSqlExprCreateIdValue(&yymsp[-2].minor.yy0, TK_ALL);} #line 707 "sql.y"
yymsp[-2].minor.yy439 = yylhsminor.yy439; { 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; break;
case 234: /* expr ::= INTEGER */ case 234: /* expr ::= INTEGER */
{ yylhsminor.yy439 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_INTEGER);} #line 709 "sql.y"
yymsp[0].minor.yy439 = yylhsminor.yy439; { yylhsminor.yy260 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_INTEGER);}
#line 3824 "sql.c"
yymsp[0].minor.yy260 = yylhsminor.yy260;
break; break;
case 235: /* expr ::= MINUS INTEGER */ case 235: /* expr ::= MINUS INTEGER */
case 236: /* expr ::= PLUS INTEGER */ yytestcase(yyruleno==236); case 236: /* expr ::= PLUS INTEGER */ yytestcase(yyruleno==236);
{ yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_INTEGER; yylhsminor.yy439 = tSqlExprCreateIdValue(&yymsp[-1].minor.yy0, TK_INTEGER);} #line 710 "sql.y"
yymsp[-1].minor.yy439 = yylhsminor.yy439; { 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; break;
case 237: /* expr ::= FLOAT */ case 237: /* expr ::= FLOAT */
{ yylhsminor.yy439 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_FLOAT);} #line 712 "sql.y"
yymsp[0].minor.yy439 = yylhsminor.yy439; { yylhsminor.yy260 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_FLOAT);}
#line 3837 "sql.c"
yymsp[0].minor.yy260 = yylhsminor.yy260;
break; break;
case 238: /* expr ::= MINUS FLOAT */ case 238: /* expr ::= MINUS FLOAT */
case 239: /* expr ::= PLUS FLOAT */ yytestcase(yyruleno==239); case 239: /* expr ::= PLUS FLOAT */ yytestcase(yyruleno==239);
{ yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_FLOAT; yylhsminor.yy439 = tSqlExprCreateIdValue(&yymsp[-1].minor.yy0, TK_FLOAT);} #line 713 "sql.y"
yymsp[-1].minor.yy439 = yylhsminor.yy439; { 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; break;
case 240: /* expr ::= STRING */ case 240: /* expr ::= STRING */
{ yylhsminor.yy439 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_STRING);} #line 715 "sql.y"
yymsp[0].minor.yy439 = yylhsminor.yy439; { yylhsminor.yy260 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_STRING);}
#line 3850 "sql.c"
yymsp[0].minor.yy260 = yylhsminor.yy260;
break; break;
case 241: /* expr ::= NOW */ case 241: /* expr ::= NOW */
{ yylhsminor.yy439 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_NOW); } #line 716 "sql.y"
yymsp[0].minor.yy439 = yylhsminor.yy439; { yylhsminor.yy260 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_NOW); }
#line 3856 "sql.c"
yymsp[0].minor.yy260 = yylhsminor.yy260;
break; break;
case 242: /* expr ::= VARIABLE */ case 242: /* expr ::= VARIABLE */
{ yylhsminor.yy439 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_VARIABLE);} #line 717 "sql.y"
yymsp[0].minor.yy439 = yylhsminor.yy439; { yylhsminor.yy260 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_VARIABLE);}
#line 3862 "sql.c"
yymsp[0].minor.yy260 = yylhsminor.yy260;
break; break;
case 243: /* expr ::= PLUS VARIABLE */ case 243: /* expr ::= PLUS VARIABLE */
case 244: /* expr ::= MINUS VARIABLE */ yytestcase(yyruleno==244); case 244: /* expr ::= MINUS VARIABLE */ yytestcase(yyruleno==244);
{ yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_VARIABLE; yylhsminor.yy439 = tSqlExprCreateIdValue(&yymsp[-1].minor.yy0, TK_VARIABLE);} #line 718 "sql.y"
yymsp[-1].minor.yy439 = yylhsminor.yy439; { 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; break;
case 245: /* expr ::= BOOL */ case 245: /* expr ::= BOOL */
{ yylhsminor.yy439 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_BOOL);} #line 720 "sql.y"
yymsp[0].minor.yy439 = yylhsminor.yy439; { yylhsminor.yy260 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_BOOL);}
#line 3875 "sql.c"
yymsp[0].minor.yy260 = yylhsminor.yy260;
break; break;
case 246: /* expr ::= NULL */ case 246: /* expr ::= NULL */
{ yylhsminor.yy439 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_NULL);} #line 721 "sql.y"
yymsp[0].minor.yy439 = yylhsminor.yy439; { yylhsminor.yy260 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_NULL);}
#line 3881 "sql.c"
yymsp[0].minor.yy260 = yylhsminor.yy260;
break; break;
case 247: /* expr ::= ID LP exprlist RP */ 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); } #line 724 "sql.y"
yymsp[-3].minor.yy439 = yylhsminor.yy439; { 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; break;
case 248: /* expr ::= ID LP STAR RP */ 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); } #line 727 "sql.y"
yymsp[-3].minor.yy439 = yylhsminor.yy439; { 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; break;
case 249: /* expr ::= expr IS NULL */ case 249: /* expr ::= expr IS NULL */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, NULL, TK_ISNULL);} #line 730 "sql.y"
yymsp[-2].minor.yy439 = yylhsminor.yy439; {yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, NULL, TK_ISNULL);}
#line 3899 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break; break;
case 250: /* expr ::= expr IS NOT NULL */ case 250: /* expr ::= expr IS NOT NULL */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-3].minor.yy439, NULL, TK_NOTNULL);} #line 731 "sql.y"
yymsp[-3].minor.yy439 = yylhsminor.yy439; {yylhsminor.yy260 = tSqlExprCreate(yymsp[-3].minor.yy260, NULL, TK_NOTNULL);}
#line 3905 "sql.c"
yymsp[-3].minor.yy260 = yylhsminor.yy260;
break; break;
case 251: /* expr ::= expr LT expr */ case 251: /* expr ::= expr LT expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_LT);} #line 734 "sql.y"
yymsp[-2].minor.yy439 = yylhsminor.yy439; {yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_LT);}
#line 3911 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break; break;
case 252: /* expr ::= expr GT expr */ case 252: /* expr ::= expr GT expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_GT);} #line 735 "sql.y"
yymsp[-2].minor.yy439 = yylhsminor.yy439; {yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_GT);}
#line 3917 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break; break;
case 253: /* expr ::= expr LE expr */ case 253: /* expr ::= expr LE expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_LE);} #line 736 "sql.y"
yymsp[-2].minor.yy439 = yylhsminor.yy439; {yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_LE);}
#line 3923 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break; break;
case 254: /* expr ::= expr GE expr */ case 254: /* expr ::= expr GE expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_GE);} #line 737 "sql.y"
yymsp[-2].minor.yy439 = yylhsminor.yy439; {yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_GE);}
#line 3929 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break; break;
case 255: /* expr ::= expr NE expr */ case 255: /* expr ::= expr NE expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_NE);} #line 738 "sql.y"
yymsp[-2].minor.yy439 = yylhsminor.yy439; {yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_NE);}
#line 3935 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break; break;
case 256: /* expr ::= expr EQ expr */ case 256: /* expr ::= expr EQ expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_EQ);} #line 739 "sql.y"
yymsp[-2].minor.yy439 = yylhsminor.yy439; {yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_EQ);}
#line 3941 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break; break;
case 257: /* expr ::= expr BETWEEN expr AND expr */ 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);} #line 741 "sql.y"
yymsp[-4].minor.yy439 = yylhsminor.yy439; { 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; break;
case 258: /* expr ::= expr AND expr */ case 258: /* expr ::= expr AND expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_AND);} #line 743 "sql.y"
yymsp[-2].minor.yy439 = yylhsminor.yy439; {yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_AND);}
#line 3953 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break; break;
case 259: /* expr ::= expr OR expr */ case 259: /* expr ::= expr OR expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_OR); } #line 744 "sql.y"
yymsp[-2].minor.yy439 = yylhsminor.yy439; {yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_OR); }
#line 3959 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break; break;
case 260: /* expr ::= expr PLUS expr */ case 260: /* expr ::= expr PLUS expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_PLUS); } #line 747 "sql.y"
yymsp[-2].minor.yy439 = yylhsminor.yy439; {yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_PLUS); }
#line 3965 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break; break;
case 261: /* expr ::= expr MINUS expr */ case 261: /* expr ::= expr MINUS expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_MINUS); } #line 748 "sql.y"
yymsp[-2].minor.yy439 = yylhsminor.yy439; {yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_MINUS); }
#line 3971 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break; break;
case 262: /* expr ::= expr STAR expr */ case 262: /* expr ::= expr STAR expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_STAR); } #line 749 "sql.y"
yymsp[-2].minor.yy439 = yylhsminor.yy439; {yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_STAR); }
#line 3977 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break; break;
case 263: /* expr ::= expr SLASH expr */ case 263: /* expr ::= expr SLASH expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_DIVIDE);} #line 750 "sql.y"
yymsp[-2].minor.yy439 = yylhsminor.yy439; {yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_DIVIDE);}
#line 3983 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break; break;
case 264: /* expr ::= expr REM expr */ case 264: /* expr ::= expr REM expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_REM); } #line 751 "sql.y"
yymsp[-2].minor.yy439 = yylhsminor.yy439; {yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_REM); }
#line 3989 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break; break;
case 265: /* expr ::= expr LIKE expr */ case 265: /* expr ::= expr LIKE expr */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-2].minor.yy439, yymsp[0].minor.yy439, TK_LIKE); } #line 754 "sql.y"
yymsp[-2].minor.yy439 = yylhsminor.yy439; {yylhsminor.yy260 = tSqlExprCreate(yymsp[-2].minor.yy260, yymsp[0].minor.yy260, TK_LIKE); }
#line 3995 "sql.c"
yymsp[-2].minor.yy260 = yylhsminor.yy260;
break; break;
case 266: /* expr ::= expr IN LP exprlist RP */ case 266: /* expr ::= expr IN LP exprlist RP */
{yylhsminor.yy439 = tSqlExprCreate(yymsp[-4].minor.yy439, (tSqlExpr*)yymsp[-1].minor.yy421, TK_IN); } #line 757 "sql.y"
yymsp[-4].minor.yy439 = yylhsminor.yy439; {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; break;
case 267: /* exprlist ::= exprlist COMMA expritem */ case 267: /* exprlist ::= exprlist COMMA expritem */
{yylhsminor.yy421 = tSqlExprListAppend(yymsp[-2].minor.yy421,yymsp[0].minor.yy439,0, 0);} #line 765 "sql.y"
yymsp[-2].minor.yy421 = yylhsminor.yy421; {yylhsminor.yy403 = tSqlExprListAppend(yymsp[-2].minor.yy403,yymsp[0].minor.yy260,0, 0);}
#line 4007 "sql.c"
yymsp[-2].minor.yy403 = yylhsminor.yy403;
break; break;
case 268: /* exprlist ::= expritem */ case 268: /* exprlist ::= expritem */
{yylhsminor.yy421 = tSqlExprListAppend(0,yymsp[0].minor.yy439,0, 0);} #line 766 "sql.y"
yymsp[0].minor.yy421 = yylhsminor.yy421; {yylhsminor.yy403 = tSqlExprListAppend(0,yymsp[0].minor.yy260,0, 0);}
#line 4013 "sql.c"
yymsp[0].minor.yy403 = yylhsminor.yy403;
break; break;
case 269: /* expritem ::= expr */ case 269: /* expritem ::= expr */
{yylhsminor.yy439 = yymsp[0].minor.yy439;} #line 767 "sql.y"
yymsp[0].minor.yy439 = yylhsminor.yy439; {yylhsminor.yy260 = yymsp[0].minor.yy260;}
#line 4019 "sql.c"
yymsp[0].minor.yy260 = yylhsminor.yy260;
break; break;
case 271: /* cmd ::= RESET QUERY CACHE */ case 271: /* cmd ::= RESET QUERY CACHE */
#line 771 "sql.y"
{ setDCLSqlElems(pInfo, TSDB_SQL_RESET_CACHE, 0);} { setDCLSqlElems(pInfo, TSDB_SQL_RESET_CACHE, 0);}
#line 4025 "sql.c"
break; break;
case 272: /* cmd ::= SYNCDB ids REPLICA */ case 272: /* cmd ::= SYNCDB ids REPLICA */
#line 774 "sql.y"
{ setDCLSqlElems(pInfo, TSDB_SQL_SYNC_DB_REPLICA, 1, &yymsp[-1].minor.yy0);} { setDCLSqlElems(pInfo, TSDB_SQL_SYNC_DB_REPLICA, 1, &yymsp[-1].minor.yy0);}
#line 4030 "sql.c"
break; break;
case 273: /* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */ case 273: /* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
#line 777 "sql.y"
{ {
yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; 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); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
} }
#line 4039 "sql.c"
break; break;
case 274: /* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */ case 274: /* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
#line 783 "sql.y"
{ {
yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n;
...@@ -3154,22 +4049,28 @@ static void yy_reduce( ...@@ -3154,22 +4049,28 @@ static void yy_reduce(
SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, NULL, K, TSDB_ALTER_TABLE_DROP_COLUMN, -1); SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, NULL, K, TSDB_ALTER_TABLE_DROP_COLUMN, -1);
setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
} }
#line 4052 "sql.c"
break; break;
case 275: /* cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */ case 275: /* cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */
#line 793 "sql.y"
{ {
yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; 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); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
} }
#line 4061 "sql.c"
break; break;
case 276: /* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */ case 276: /* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
#line 800 "sql.y"
{ {
yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; 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); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
} }
#line 4070 "sql.c"
break; break;
case 277: /* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */ case 277: /* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
#line 805 "sql.y"
{ {
yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n;
...@@ -3179,8 +4080,10 @@ static void yy_reduce( ...@@ -3179,8 +4080,10 @@ static void yy_reduce(
SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, NULL, A, TSDB_ALTER_TABLE_DROP_TAG_COLUMN, -1); SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, NULL, A, TSDB_ALTER_TABLE_DROP_TAG_COLUMN, -1);
setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
} }
#line 4083 "sql.c"
break; break;
case 278: /* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */ 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; yymsp[-5].minor.yy0.n += yymsp[-4].minor.yy0.n;
...@@ -3193,34 +4096,42 @@ static void yy_reduce( ...@@ -3193,34 +4096,42 @@ static void yy_reduce(
SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-5].minor.yy0, NULL, A, TSDB_ALTER_TABLE_CHANGE_TAG_COLUMN, -1); SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-5].minor.yy0, NULL, A, TSDB_ALTER_TABLE_CHANGE_TAG_COLUMN, -1);
setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
} }
#line 4099 "sql.c"
break; break;
case 279: /* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */ 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; yymsp[-6].minor.yy0.n += yymsp[-5].minor.yy0.n;
toTSDBType(yymsp[-2].minor.yy0.type); toTSDBType(yymsp[-2].minor.yy0.type);
SArray* A = tVariantListAppendToken(NULL, &yymsp[-2].minor.yy0, -1); 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); SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-6].minor.yy0, NULL, A, TSDB_ALTER_TABLE_UPDATE_TAG_VAL, -1);
setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
} }
#line 4113 "sql.c"
break; break;
case 280: /* cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */ case 280: /* cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */
#line 839 "sql.y"
{ {
yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; 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); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
} }
#line 4122 "sql.c"
break; break;
case 281: /* cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */ case 281: /* cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
#line 846 "sql.y"
{ {
yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; 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); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
} }
#line 4131 "sql.c"
break; break;
case 282: /* cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */ case 282: /* cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
#line 852 "sql.y"
{ {
yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n;
...@@ -3230,22 +4141,28 @@ static void yy_reduce( ...@@ -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); 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); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
} }
#line 4144 "sql.c"
break; break;
case 283: /* cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */ case 283: /* cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */
#line 862 "sql.y"
{ {
yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; 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); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
} }
#line 4153 "sql.c"
break; break;
case 284: /* cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */ case 284: /* cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
#line 869 "sql.y"
{ {
yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; 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); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
} }
#line 4162 "sql.c"
break; break;
case 285: /* cmd ::= ALTER STABLE ids cpxName DROP TAG ids */ case 285: /* cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
#line 874 "sql.y"
{ {
yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n;
...@@ -3255,8 +4172,10 @@ static void yy_reduce( ...@@ -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); 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); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
} }
#line 4175 "sql.c"
break; break;
case 286: /* cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */ 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; yymsp[-5].minor.yy0.n += yymsp[-4].minor.yy0.n;
...@@ -3269,42 +4188,53 @@ static void yy_reduce( ...@@ -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); 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); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
} }
#line 4191 "sql.c"
break; break;
case 287: /* cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */ 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; yymsp[-6].minor.yy0.n += yymsp[-5].minor.yy0.n;
toTSDBType(yymsp[-2].minor.yy0.type); toTSDBType(yymsp[-2].minor.yy0.type);
SArray* A = tVariantListAppendToken(NULL, &yymsp[-2].minor.yy0, -1); 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); 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); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
} }
#line 4205 "sql.c"
break; break;
case 288: /* cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */ case 288: /* cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */
#line 908 "sql.y"
{ {
yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; 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); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
} }
#line 4214 "sql.c"
break; break;
case 289: /* cmd ::= KILL CONNECTION INTEGER */ case 289: /* cmd ::= KILL CONNECTION INTEGER */
#line 915 "sql.y"
{setKillSql(pInfo, TSDB_SQL_KILL_CONNECTION, &yymsp[0].minor.yy0);} {setKillSql(pInfo, TSDB_SQL_KILL_CONNECTION, &yymsp[0].minor.yy0);}
#line 4219 "sql.c"
break; break;
case 290: /* cmd ::= KILL STREAM INTEGER COLON INTEGER */ 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);} {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; break;
case 291: /* cmd ::= KILL QUERY INTEGER COLON INTEGER */ 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);} {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; break;
default: default:
break; break;
/********** End reduce actions ************************************************/ /********** End reduce actions ************************************************/
}; };
assert( yyruleno<sizeof(yyRuleInfo)/sizeof(yyRuleInfo[0]) ); assert( yyruleno<sizeof(yyRuleInfoLhs)/sizeof(yyRuleInfoLhs[0]) );
yygoto = yyRuleInfo[yyruleno].lhs; yygoto = yyRuleInfoLhs[yyruleno];
yysize = yyRuleInfo[yyruleno].nrhs; yysize = yyRuleInfoNRhs[yyruleno];
yyact = yy_find_reduce_action(yymsp[yysize].stateno,(YYCODETYPE)yygoto); yyact = yy_find_reduce_action(yymsp[yysize].stateno,(YYCODETYPE)yygoto);
/* There are no SHIFTREDUCE actions on nonterminals because the table /* There are no SHIFTREDUCE actions on nonterminals because the table
...@@ -3319,6 +4249,7 @@ static void yy_reduce( ...@@ -3319,6 +4249,7 @@ static void yy_reduce(
yymsp->stateno = (YYACTIONTYPE)yyact; yymsp->stateno = (YYACTIONTYPE)yyact;
yymsp->major = (YYCODETYPE)yygoto; yymsp->major = (YYCODETYPE)yygoto;
yyTraceShift(yypParser, yyact, "... then shift"); yyTraceShift(yypParser, yyact, "... then shift");
return yyact;
} }
/* /*
...@@ -3328,7 +4259,8 @@ static void yy_reduce( ...@@ -3328,7 +4259,8 @@ static void yy_reduce(
static void yy_parse_failed( static void yy_parse_failed(
yyParser *yypParser /* The parser */ yyParser *yypParser /* The parser */
){ ){
ParseARG_FETCH; ParseARG_FETCH
ParseCTX_FETCH
#ifndef NDEBUG #ifndef NDEBUG
if( yyTraceFILE ){ if( yyTraceFILE ){
fprintf(yyTraceFILE,"%sFail!\n",yyTracePrompt); fprintf(yyTraceFILE,"%sFail!\n",yyTracePrompt);
...@@ -3339,7 +4271,8 @@ static void yy_parse_failed( ...@@ -3339,7 +4271,8 @@ static void yy_parse_failed(
** parser fails */ ** parser fails */
/************ Begin %parse_failure code ***************************************/ /************ Begin %parse_failure code ***************************************/
/************ End %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 */ #endif /* YYNOERRORRECOVERY */
...@@ -3351,9 +4284,11 @@ static void yy_syntax_error( ...@@ -3351,9 +4284,11 @@ static void yy_syntax_error(
int yymajor, /* The major type of the error token */ int yymajor, /* The major type of the error token */
ParseTOKENTYPE yyminor /* The minor type of the error token */ ParseTOKENTYPE yyminor /* The minor type of the error token */
){ ){
ParseARG_FETCH; ParseARG_FETCH
ParseCTX_FETCH
#define TOKEN yyminor #define TOKEN yyminor
/************ Begin %syntax_error code ****************************************/ /************ Begin %syntax_error code ****************************************/
#line 37 "sql.y"
pInfo->valid = false; pInfo->valid = false;
int32_t outputBufLen = tListLen(pInfo->msg); int32_t outputBufLen = tListLen(pInfo->msg);
...@@ -3376,8 +4311,10 @@ static void yy_syntax_error( ...@@ -3376,8 +4311,10 @@ static void yy_syntax_error(
} }
assert(len <= outputBufLen); assert(len <= outputBufLen);
#line 4314 "sql.c"
/************ End %syntax_error code ******************************************/ /************ 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( ...@@ -3386,7 +4323,8 @@ static void yy_syntax_error(
static void yy_accept( static void yy_accept(
yyParser *yypParser /* The parser */ yyParser *yypParser /* The parser */
){ ){
ParseARG_FETCH; ParseARG_FETCH
ParseCTX_FETCH
#ifndef NDEBUG #ifndef NDEBUG
if( yyTraceFILE ){ if( yyTraceFILE ){
fprintf(yyTraceFILE,"%sAccept!\n",yyTracePrompt); fprintf(yyTraceFILE,"%sAccept!\n",yyTracePrompt);
...@@ -3399,9 +4337,11 @@ static void yy_accept( ...@@ -3399,9 +4337,11 @@ static void yy_accept(
/* Here code is inserted which will be executed whenever the /* Here code is inserted which will be executed whenever the
** parser accepts */ ** parser accepts */
/*********** Begin %parse_accept code *****************************************/ /*********** Begin %parse_accept code *****************************************/
#line 61 "sql.y"
#line 4341 "sql.c"
/*********** End %parse_accept code *******************************************/ /*********** End %parse_accept code *******************************************/
ParseARG_STORE; /* Suppress warning about unused %extra_argument variable */ ParseARG_STORE /* Suppress warning about unused %extra_argument variable */
ParseCTX_STORE
} }
/* The main parser program. /* The main parser program.
...@@ -3430,45 +4370,91 @@ void Parse( ...@@ -3430,45 +4370,91 @@ void Parse(
ParseARG_PDECL /* Optional %extra_argument parameter */ ParseARG_PDECL /* Optional %extra_argument parameter */
){ ){
YYMINORTYPE yyminorunion; YYMINORTYPE yyminorunion;
unsigned int yyact; /* The parser action. */ YYACTIONTYPE yyact; /* The parser action. */
#if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY) #if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY)
int yyendofinput; /* True if we are at the end of input */ int yyendofinput; /* True if we are at the end of input */
#endif #endif
#ifdef YYERRORSYMBOL #ifdef YYERRORSYMBOL
int yyerrorhit = 0; /* True if yymajor has invoked an error */ int yyerrorhit = 0; /* True if yymajor has invoked an error */
#endif #endif
yyParser *yypParser; /* The parser */ yyParser *yypParser = (yyParser*)yyp; /* The parser */
ParseCTX_FETCH
ParseARG_STORE
yypParser = (yyParser*)yyp;
assert( yypParser->yytos!=0 ); assert( yypParser->yytos!=0 );
#if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY) #if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY)
yyendofinput = (yymajor==0); yyendofinput = (yymajor==0);
#endif #endif
ParseARG_STORE;
yyact = yypParser->yytos->stateno;
#ifndef NDEBUG #ifndef NDEBUG
if( yyTraceFILE ){ if( yyTraceFILE ){
int stateno = yypParser->yytos->stateno; if( yyact < YY_MIN_REDUCE ){
if( stateno < YY_MIN_REDUCE ){
fprintf(yyTraceFILE,"%sInput '%s' in state %d\n", fprintf(yyTraceFILE,"%sInput '%s' in state %d\n",
yyTracePrompt,yyTokenName[yymajor],stateno); yyTracePrompt,yyTokenName[yymajor],yyact);
}else{ }else{
fprintf(yyTraceFILE,"%sInput '%s' with pending reduce %d\n", fprintf(yyTraceFILE,"%sInput '%s' with pending reduce %d\n",
yyTracePrompt,yyTokenName[yymajor],stateno-YY_MIN_REDUCE); yyTracePrompt,yyTokenName[yymajor],yyact-YY_MIN_REDUCE);
} }
} }
#endif #endif
do{ while(1){ /* Exit by "break" */
yyact = yy_find_shift_action(yypParser,(YYCODETYPE)yymajor); assert( yypParser->yytos>=yypParser->yystack );
assert( yyact==yypParser->yytos->stateno );
yyact = yy_find_shift_action((YYCODETYPE)yymajor,yyact);
if( yyact >= YY_MIN_REDUCE ){ 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 ){ }else if( yyact <= YY_MAX_SHIFTREDUCE ){
yy_shift(yypParser,yyact,yymajor,yyminor); yy_shift(yypParser,yyact,(YYCODETYPE)yymajor,yyminor);
#ifndef YYNOERRORRECOVERY #ifndef YYNOERRORRECOVERY
yypParser->yyerrcnt--; yypParser->yyerrcnt--;
#endif #endif
yymajor = YYNOCODE; break;
}else if( yyact==YY_ACCEPT_ACTION ){ }else if( yyact==YY_ACCEPT_ACTION ){
yypParser->yytos--; yypParser->yytos--;
yy_accept(yypParser); yy_accept(yypParser);
...@@ -3518,15 +4504,13 @@ void Parse( ...@@ -3518,15 +4504,13 @@ void Parse(
yy_destructor(yypParser, (YYCODETYPE)yymajor, &yyminorunion); yy_destructor(yypParser, (YYCODETYPE)yymajor, &yyminorunion);
yymajor = YYNOCODE; yymajor = YYNOCODE;
}else{ }else{
while( yypParser->yytos >= yypParser->yystack while( yypParser->yytos > yypParser->yystack ){
&& yymx != YYERRORSYMBOL yyact = yy_find_reduce_action(yypParser->yytos->stateno,
&& (yyact = yy_find_reduce_action( YYERRORSYMBOL);
yypParser->yytos->stateno, if( yyact<=YY_MAX_SHIFTREDUCE ) break;
YYERRORSYMBOL)) >= YY_MIN_REDUCE
){
yy_pop_parser_stack(yypParser); 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_destructor(yypParser,(YYCODETYPE)yymajor,&yyminorunion);
yy_parse_failed(yypParser); yy_parse_failed(yypParser);
#ifndef YYNOERRORRECOVERY #ifndef YYNOERRORRECOVERY
...@@ -3539,6 +4523,8 @@ void Parse( ...@@ -3539,6 +4523,8 @@ void Parse(
} }
yypParser->yyerrcnt = 3; yypParser->yyerrcnt = 3;
yyerrorhit = 1; yyerrorhit = 1;
if( yymajor==YYNOCODE ) break;
yyact = yypParser->yytos->stateno;
#elif defined(YYNOERRORRECOVERY) #elif defined(YYNOERRORRECOVERY)
/* If the YYNOERRORRECOVERY macro is defined, then do not attempt to /* If the YYNOERRORRECOVERY macro is defined, then do not attempt to
** do any kind of error recovery. Instead, simply invoke the syntax ** do any kind of error recovery. Instead, simply invoke the syntax
...@@ -3549,8 +4535,7 @@ void Parse( ...@@ -3549,8 +4535,7 @@ void Parse(
*/ */
yy_syntax_error(yypParser,yymajor, yyminor); yy_syntax_error(yypParser,yymajor, yyminor);
yy_destructor(yypParser,(YYCODETYPE)yymajor,&yyminorunion); yy_destructor(yypParser,(YYCODETYPE)yymajor,&yyminorunion);
yymajor = YYNOCODE; break;
#else /* YYERRORSYMBOL is not defined */ #else /* YYERRORSYMBOL is not defined */
/* This is what we do if the grammar does not define ERROR: /* This is what we do if the grammar does not define ERROR:
** **
...@@ -3572,10 +4557,10 @@ void Parse( ...@@ -3572,10 +4557,10 @@ void Parse(
yypParser->yyerrcnt = -1; yypParser->yyerrcnt = -1;
#endif #endif
} }
yymajor = YYNOCODE; break;
#endif #endif
} }
}while( yymajor!=YYNOCODE && yypParser->yytos>yypParser->yystack ); }
#ifndef NDEBUG #ifndef NDEBUG
if( yyTraceFILE ){ if( yyTraceFILE ){
yyStackEntry *i; yyStackEntry *i;
...@@ -3590,3 +4575,17 @@ void Parse( ...@@ -3590,3 +4575,17 @@ void Parse(
#endif #endif
return; 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: ...@@ -147,6 +147,9 @@ class TDTestCase:
tdSql.error("select derivative(col, 10s, 1) from stb group by id") 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, 999ms, 1) from stb group by id")
tdSql.error("select derivative(col, 10s, 2) 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): def run(self):
tdSql.prepare() tdSql.prepare()
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册