From d2c2254827a1527fcaf1e25c0156f75ae096229f Mon Sep 17 00:00:00 2001 From: Ganlin Zhao Date: Tue, 8 Feb 2022 14:29:41 +0800 Subject: [PATCH] [TD-11220](query): time related functions --- src/inc/ttokendef.h | 112 +- src/query/inc/sql.y | 3 +- src/query/src/qSqlParser.c | 8 +- src/query/src/sql.c | 2892 +++++++++++++++++------------------- src/util/src/ttokenizer.c | 1 + 5 files changed, 1419 insertions(+), 1597 deletions(-) diff --git a/src/inc/ttokendef.h b/src/inc/ttokendef.h index 7d721d21a0..f2648e8c45 100644 --- a/src/inc/ttokendef.h +++ b/src/inc/ttokendef.h @@ -161,62 +161,62 @@ #define TK_SLIMIT 143 #define TK_SOFFSET 144 #define TK_WHERE 145 -#define TK_RESET 146 -#define TK_QUERY 147 -#define TK_SYNCDB 148 -#define TK_ADD 149 -#define TK_COLUMN 150 -#define TK_MODIFY 151 -#define TK_TAG 152 -#define TK_CHANGE 153 -#define TK_SET 154 -#define TK_KILL 155 -#define TK_CONNECTION 156 -#define TK_STREAM 157 -#define TK_COLON 158 -#define TK_ABORT 159 -#define TK_AFTER 160 -#define TK_ATTACH 161 -#define TK_BEFORE 162 -#define TK_BEGIN 163 -#define TK_CASCADE 164 -#define TK_CLUSTER 165 -#define TK_CONFLICT 166 -#define TK_COPY 167 -#define TK_DEFERRED 168 -#define TK_DELIMITERS 169 -#define TK_DETACH 170 -#define TK_EACH 171 -#define TK_END 172 -#define TK_EXPLAIN 173 -#define TK_FAIL 174 -#define TK_FOR 175 -#define TK_IGNORE 176 -#define TK_IMMEDIATE 177 -#define TK_INITIALLY 178 -#define TK_INSTEAD 179 -#define TK_KEY 180 -#define TK_OF 181 -#define TK_RAISE 182 -#define TK_REPLACE 183 -#define TK_RESTRICT 184 -#define TK_ROW 185 -#define TK_STATEMENT 186 -#define TK_TRIGGER 187 -#define TK_VIEW 188 -#define TK_IPTOKEN 189 -#define TK_SEMI 190 -#define TK_NONE 191 -#define TK_PREV 192 -#define TK_LINEAR 193 -#define TK_IMPORT 194 -#define TK_TBNAME 195 -#define TK_JOIN 196 -#define TK_INSERT 197 -#define TK_INTO 198 -#define TK_VALUES 199 -#define TK_FILE 200 - +#define TK_TODAY 146 +#define TK_RESET 147 +#define TK_QUERY 148 +#define TK_SYNCDB 149 +#define TK_ADD 150 +#define TK_COLUMN 151 +#define TK_MODIFY 152 +#define TK_TAG 153 +#define TK_CHANGE 154 +#define TK_SET 155 +#define TK_KILL 156 +#define TK_CONNECTION 157 +#define TK_STREAM 158 +#define TK_COLON 159 +#define TK_ABORT 160 +#define TK_AFTER 161 +#define TK_ATTACH 162 +#define TK_BEFORE 163 +#define TK_BEGIN 164 +#define TK_CASCADE 165 +#define TK_CLUSTER 166 +#define TK_CONFLICT 167 +#define TK_COPY 168 +#define TK_DEFERRED 169 +#define TK_DELIMITERS 170 +#define TK_DETACH 171 +#define TK_EACH 172 +#define TK_END 173 +#define TK_EXPLAIN 174 +#define TK_FAIL 175 +#define TK_FOR 176 +#define TK_IGNORE 177 +#define TK_IMMEDIATE 178 +#define TK_INITIALLY 179 +#define TK_INSTEAD 180 +#define TK_KEY 181 +#define TK_OF 182 +#define TK_RAISE 183 +#define TK_REPLACE 184 +#define TK_RESTRICT 185 +#define TK_ROW 186 +#define TK_STATEMENT 187 +#define TK_TRIGGER 188 +#define TK_VIEW 189 +#define TK_IPTOKEN 190 +#define TK_SEMI 191 +#define TK_NONE 192 +#define TK_PREV 193 +#define TK_LINEAR 194 +#define TK_IMPORT 195 +#define TK_TBNAME 196 +#define TK_JOIN 197 +#define TK_INSERT 198 +#define TK_INTO 199 +#define TK_VALUES 200 +#define TK_FILE 201 #define TK_SPACE 300 #define TK_COMMENT 301 diff --git a/src/query/inc/sql.y b/src/query/inc/sql.y index e8aea259ce..f6bb1b8fc9 100644 --- a/src/query/inc/sql.y +++ b/src/query/inc/sql.y @@ -748,6 +748,7 @@ expr(A) ::= MINUS(X) FLOAT(Y). { X.n += Y.n; X.type = TK_FLOAT; A = tSqlExprCr expr(A) ::= PLUS(X) FLOAT(Y). { X.n += Y.n; X.type = TK_FLOAT; A = tSqlExprCreateIdValue(pInfo, &X, TK_FLOAT);} expr(A) ::= STRING(X). { A = tSqlExprCreateIdValue(pInfo, &X, TK_STRING);} expr(A) ::= NOW(X). { A = tSqlExprCreateIdValue(pInfo, &X, TK_NOW); } +expr(A) ::= TODAY(X). { A = tSqlExprCreateIdValue(pInfo, &X, TK_TODAY); } expr(A) ::= VARIABLE(X). { A = tSqlExprCreateIdValue(pInfo, &X, TK_VARIABLE);} expr(A) ::= PLUS(X) VARIABLE(Y). { X.n += Y.n; X.type = TK_VARIABLE; A = tSqlExprCreateIdValue(pInfo, &X, TK_VARIABLE);} expr(A) ::= MINUS(X) VARIABLE(Y). { X.n += Y.n; X.type = TK_VARIABLE; A = tSqlExprCreateIdValue(pInfo, &X, TK_VARIABLE);} @@ -972,4 +973,4 @@ cmd ::= KILL QUERY INTEGER(X) COLON(Z) INTEGER(Y). {X.n += (Z.n + Y.n); s %fallback ID ABORT AFTER ASC ATTACH BEFORE BEGIN CASCADE CLUSTER CONFLICT COPY DATABASE DEFERRED DELIMITERS DESC DETACH EACH END EXPLAIN FAIL FOR GLOB IGNORE IMMEDIATE INITIALLY INSTEAD LIKE MATCH NMATCH KEY OF OFFSET RAISE REPLACE RESTRICT ROW STATEMENT TRIGGER VIEW ALL - NOW IPTOKEN SEMI NONE PREV LINEAR IMPORT TBNAME JOIN STABLE NULL INSERT INTO VALUES FILE. + NOW TODAY IPTOKEN SEMI NONE PREV LINEAR IMPORT TBNAME JOIN STABLE NULL INSERT INTO VALUES FILE. diff --git a/src/query/src/qSqlParser.c b/src/query/src/qSqlParser.c index a21c36594a..9dd62f935e 100644 --- a/src/query/src/qSqlParser.c +++ b/src/query/src/qSqlParser.c @@ -161,9 +161,13 @@ tSqlExpr *tSqlExprCreateIdValue(SSqlInfo* pInfo, SStrToken *pToken, int32_t optr } pSqlExpr->tokenId = optrType; pSqlExpr->type = SQL_NODE_VALUE; - } else if (optrType == TK_NOW) { + } else if (optrType == TK_NOW || optrType == TK_TODAY) { // use nanosecond by default TODO set value after getting database precision - pSqlExpr->value.i64 = taosGetTimestamp(TSDB_TIME_PRECISION_NANO); + if (optrType == TK_NOW) { + pSqlExpr->value.i64 = taosGetTimestamp(TSDB_TIME_PRECISION_NANO); + } else { + pSqlExpr->value.i64 = taosGetTimestampToday() * 1000000000; + } pSqlExpr->value.nType = TSDB_DATA_TYPE_BIGINT; pSqlExpr->tokenId = TK_TIMESTAMP; // TK_TIMESTAMP used to denote the time value is in microsecond pSqlExpr->type = SQL_NODE_VALUE; diff --git a/src/query/src/sql.c b/src/query/src/sql.c index 38115561fb..a90a0fe438 100644 --- a/src/query/src/sql.c +++ b/src/query/src/sql.c @@ -1,5 +1,3 @@ -/* This file is automatically generated by Lemon from input grammar -** source file "sql.y". */ /* ** 2000-05-29 ** @@ -24,7 +22,10 @@ ** The following is the concatenation of all %include directives from the ** input grammar file: */ +#include +#include /************ Begin %include sections from the grammar ************************/ + #include #include #include @@ -37,211 +38,11 @@ #include "tutil.h" #include "tvariant.h" /**************** End of %include directives **********************************/ -/* These constants specify the various numeric values for terminal symbols. -***************** Begin token definitions *************************************/ -#ifndef TK_ID -#define TK_ID 1 -#define TK_BOOL 2 -#define TK_TINYINT 3 -#define TK_SMALLINT 4 -#define TK_INTEGER 5 -#define TK_BIGINT 6 -#define TK_FLOAT 7 -#define TK_DOUBLE 8 -#define TK_STRING 9 -#define TK_TIMESTAMP 10 -#define TK_BINARY 11 -#define TK_NCHAR 12 -#define TK_JSON 13 -#define TK_OR 14 -#define TK_AND 15 -#define TK_NOT 16 -#define TK_EQ 17 -#define TK_NE 18 -#define TK_ISNULL 19 -#define TK_NOTNULL 20 -#define TK_IS 21 -#define TK_LIKE 22 -#define TK_MATCH 23 -#define TK_NMATCH 24 -#define TK_CONTAINS 25 -#define TK_GLOB 26 -#define TK_BETWEEN 27 -#define TK_IN 28 -#define TK_GT 29 -#define TK_GE 30 -#define TK_LT 31 -#define TK_LE 32 -#define TK_BITAND 33 -#define TK_BITOR 34 -#define TK_LSHIFT 35 -#define TK_RSHIFT 36 -#define TK_PLUS 37 -#define TK_MINUS 38 -#define TK_DIVIDE 39 -#define TK_TIMES 40 -#define TK_STAR 41 -#define TK_SLASH 42 -#define TK_REM 43 -#define TK_UMINUS 44 -#define TK_UPLUS 45 -#define TK_BITNOT 46 -#define TK_ARROW 47 -#define TK_SHOW 48 -#define TK_DATABASES 49 -#define TK_TOPICS 50 -#define TK_FUNCTIONS 51 -#define TK_MNODES 52 -#define TK_DNODES 53 -#define TK_ACCOUNTS 54 -#define TK_USERS 55 -#define TK_MODULES 56 -#define TK_QUERIES 57 -#define TK_CONNECTIONS 58 -#define TK_STREAMS 59 -#define TK_VARIABLES 60 -#define TK_SCORES 61 -#define TK_GRANTS 62 -#define TK_VNODES 63 -#define TK_DOT 64 -#define TK_CREATE 65 -#define TK_TABLE 66 -#define TK_STABLE 67 -#define TK_DATABASE 68 -#define TK_TABLES 69 -#define TK_STABLES 70 -#define TK_VGROUPS 71 -#define TK_DROP 72 -#define TK_TOPIC 73 -#define TK_FUNCTION 74 -#define TK_DNODE 75 -#define TK_USER 76 -#define TK_ACCOUNT 77 -#define TK_USE 78 -#define TK_DESCRIBE 79 -#define TK_DESC 80 -#define TK_ALTER 81 -#define TK_PASS 82 -#define TK_PRIVILEGE 83 -#define TK_LOCAL 84 -#define TK_COMPACT 85 -#define TK_LP 86 -#define TK_RP 87 -#define TK_IF 88 -#define TK_EXISTS 89 -#define TK_AS 90 -#define TK_OUTPUTTYPE 91 -#define TK_AGGREGATE 92 -#define TK_BUFSIZE 93 -#define TK_PPS 94 -#define TK_TSERIES 95 -#define TK_DBS 96 -#define TK_STORAGE 97 -#define TK_QTIME 98 -#define TK_CONNS 99 -#define TK_STATE 100 -#define TK_COMMA 101 -#define TK_KEEP 102 -#define TK_CACHE 103 -#define TK_REPLICA 104 -#define TK_QUORUM 105 -#define TK_DAYS 106 -#define TK_MINROWS 107 -#define TK_MAXROWS 108 -#define TK_BLOCKS 109 -#define TK_CTIME 110 -#define TK_WAL 111 -#define TK_FSYNC 112 -#define TK_COMP 113 -#define TK_PRECISION 114 -#define TK_UPDATE 115 -#define TK_CACHELAST 116 -#define TK_PARTITIONS 117 -#define TK_UNSIGNED 118 -#define TK_TAGS 119 -#define TK_USING 120 -#define TK_NULL 121 -#define TK_NOW 122 -#define TK_VARIABLE 123 -#define TK_SELECT 124 -#define TK_UNION 125 -#define TK_ALL 126 -#define TK_DISTINCT 127 -#define TK_FROM 128 -#define TK_RANGE 129 -#define TK_INTERVAL 130 -#define TK_EVERY 131 -#define TK_SESSION 132 -#define TK_STATE_WINDOW 133 -#define TK_FILL 134 -#define TK_SLIDING 135 -#define TK_ORDER 136 -#define TK_BY 137 -#define TK_ASC 138 -#define TK_GROUP 139 -#define TK_HAVING 140 -#define TK_LIMIT 141 -#define TK_OFFSET 142 -#define TK_SLIMIT 143 -#define TK_SOFFSET 144 -#define TK_WHERE 145 -#define TK_RESET 146 -#define TK_QUERY 147 -#define TK_SYNCDB 148 -#define TK_ADD 149 -#define TK_COLUMN 150 -#define TK_MODIFY 151 -#define TK_TAG 152 -#define TK_CHANGE 153 -#define TK_SET 154 -#define TK_KILL 155 -#define TK_CONNECTION 156 -#define TK_STREAM 157 -#define TK_COLON 158 -#define TK_ABORT 159 -#define TK_AFTER 160 -#define TK_ATTACH 161 -#define TK_BEFORE 162 -#define TK_BEGIN 163 -#define TK_CASCADE 164 -#define TK_CLUSTER 165 -#define TK_CONFLICT 166 -#define TK_COPY 167 -#define TK_DEFERRED 168 -#define TK_DELIMITERS 169 -#define TK_DETACH 170 -#define TK_EACH 171 -#define TK_END 172 -#define TK_EXPLAIN 173 -#define TK_FAIL 174 -#define TK_FOR 175 -#define TK_IGNORE 176 -#define TK_IMMEDIATE 177 -#define TK_INITIALLY 178 -#define TK_INSTEAD 179 -#define TK_KEY 180 -#define TK_OF 181 -#define TK_RAISE 182 -#define TK_REPLACE 183 -#define TK_RESTRICT 184 -#define TK_ROW 185 -#define TK_STATEMENT 186 -#define TK_TRIGGER 187 -#define TK_VIEW 188 -#define TK_IPTOKEN 189 -#define TK_SEMI 190 -#define TK_NONE 191 -#define TK_PREV 192 -#define TK_LINEAR 193 -#define TK_IMPORT 194 -#define TK_TBNAME 195 -#define TK_JOIN 196 -#define TK_INSERT 197 -#define TK_INTO 198 -#define TK_VALUES 199 -#define TK_FILE 200 -#endif -/**************** End token definitions ***************************************/ +/* These constants specify the various numeric values for terminal symbols +** in a format understandable to "makeheaders". This section is blank unless +** "lemon" is run with the "-m" command-line option. +***************** Begin makeheaders token definitions *************************/ +/**************** End makeheaders token definitions ***************************/ /* The next sections is a series of control #defines. ** various aspects of the generated parser. @@ -299,30 +100,30 @@ #endif /************* Begin control #defines *****************************************/ #define YYCODETYPE unsigned short int -#define YYNOCODE 284 +#define YYNOCODE 285 #define YYACTIONTYPE unsigned short int #define ParseTOKENTYPE SStrToken typedef union { int yyinit; ParseTOKENTYPE yy0; - SCreateTableSql* yy6; - SSqlNode* yy16; - tSqlExpr* yy18; - SIntervalVal yy32; - SRelationInfo* yy36; - SLimitVal yy38; - SCreateAcctInfo yy51; - int64_t yy69; - SRangeVal yy124; - SSessionWindowVal yy155; - tVariant yy162; - SArray* yy189; - SCreatedTableInfo yy208; - TAOS_FIELD yy279; - SWindowStateVal yy336; - int yy420; - SCreateDbInfo yy470; - int32_t yy516; + SCreateAcctInfo yy31; + SSqlNode* yy86; + TAOS_FIELD yy103; + tVariant yy176; + tSqlExpr* yy226; + SWindowStateVal yy228; + SArray* yy231; + SCreatedTableInfo yy306; + int32_t yy310; + SSessionWindowVal yy409; + SCreateTableSql* yy422; + SIntervalVal yy430; + SLimitVal yy444; + SRangeVal yy480; + SRelationInfo* yy484; + int yy502; + SCreateDbInfo yy532; + int64_t yy549; } YYMINORTYPE; #ifndef YYSTACKDEPTH #define YYSTACKDEPTH 100 @@ -339,17 +140,17 @@ typedef union { #define ParseCTX_STORE #define YYFALLBACK 1 #define YYNSTATE 393 -#define YYNRULE 315 -#define YYNRULE_WITH_ACTION 315 -#define YYNTOKEN 201 +#define YYNRULE 316 +#define YYNRULE_WITH_ACTION 316 +#define YYNTOKEN 202 #define YY_MAX_SHIFT 392 -#define YY_MIN_SHIFTREDUCE 617 -#define YY_MAX_SHIFTREDUCE 931 -#define YY_ERROR_ACTION 932 -#define YY_ACCEPT_ACTION 933 -#define YY_NO_ACTION 934 -#define YY_MIN_REDUCE 935 -#define YY_MAX_REDUCE 1249 +#define YY_MIN_SHIFTREDUCE 618 +#define YY_MAX_SHIFTREDUCE 933 +#define YY_ERROR_ACTION 934 +#define YY_ACCEPT_ACTION 935 +#define YY_NO_ACTION 936 +#define YY_MIN_REDUCE 937 +#define YY_MAX_REDUCE 1252 /************* End control #defines *******************************************/ #define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0]))) @@ -416,313 +217,315 @@ typedef union { ** yy_default[] Default action for each state. ** *********** Begin parsing tables **********************************************/ -#define YY_ACTTAB_COUNT (845) +#define YY_ACTTAB_COUNT (858) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 102, 668, 668, 1166, 159, 1167, 310, 810, 258, 669, - /* 10 */ 669, 813, 391, 239, 37, 38, 24, 41, 42, 1084, - /* 20 */ 1076, 261, 31, 30, 29, 1089, 1223, 40, 342, 45, - /* 30 */ 43, 46, 44, 1073, 1074, 55, 1077, 36, 35, 296, - /* 40 */ 297, 34, 33, 32, 37, 38, 211, 41, 42, 248, - /* 50 */ 84, 261, 31, 30, 29, 212, 1223, 40, 342, 45, - /* 60 */ 43, 46, 44, 933, 392, 1223, 254, 36, 35, 209, - /* 70 */ 213, 34, 33, 32, 291, 290, 128, 122, 133, 1223, - /* 80 */ 1223, 1226, 1225, 132, 1075, 138, 141, 131, 37, 38, - /* 90 */ 85, 41, 42, 983, 135, 261, 31, 30, 29, 668, - /* 100 */ 194, 40, 342, 45, 43, 46, 44, 669, 338, 285, - /* 110 */ 13, 36, 35, 1105, 101, 34, 33, 32, 37, 38, + /* 0 */ 102, 669, 669, 1168, 159, 1169, 310, 811, 258, 670, + /* 10 */ 670, 814, 391, 239, 37, 38, 24, 41, 42, 1086, + /* 20 */ 1078, 261, 31, 30, 29, 1091, 1226, 40, 342, 45, + /* 30 */ 43, 46, 44, 1075, 1076, 55, 1079, 36, 35, 296, + /* 40 */ 297, 34, 33, 32, 37, 38, 211, 41, 42, 705, + /* 50 */ 84, 261, 31, 30, 29, 212, 1226, 40, 342, 45, + /* 60 */ 43, 46, 44, 935, 392, 1226, 254, 36, 35, 209, + /* 70 */ 213, 34, 33, 32, 291, 290, 128, 122, 133, 1226, + /* 80 */ 1226, 1229, 1228, 132, 1077, 138, 141, 131, 37, 38, + /* 90 */ 85, 41, 42, 985, 135, 261, 31, 30, 29, 669, + /* 100 */ 194, 40, 342, 45, 43, 46, 44, 670, 338, 285, + /* 110 */ 13, 36, 35, 1107, 101, 34, 33, 32, 37, 38, /* 120 */ 58, 41, 42, 60, 244, 261, 31, 30, 29, 218, - /* 130 */ 284, 40, 342, 45, 43, 46, 44, 314, 97, 1223, - /* 140 */ 96, 36, 35, 668, 104, 34, 33, 32, 338, 37, - /* 150 */ 39, 669, 41, 42, 1105, 174, 261, 31, 30, 29, - /* 160 */ 1114, 862, 40, 342, 45, 43, 46, 44, 34, 33, - /* 170 */ 32, 242, 36, 35, 300, 219, 34, 33, 32, 204, - /* 180 */ 202, 200, 377, 59, 51, 1223, 199, 148, 147, 146, - /* 190 */ 145, 618, 619, 620, 621, 622, 623, 624, 625, 626, - /* 200 */ 627, 628, 629, 630, 631, 157, 993, 240, 38, 276, - /* 210 */ 41, 42, 59, 194, 261, 31, 30, 29, 280, 279, - /* 220 */ 40, 342, 45, 43, 46, 44, 984, 220, 241, 1111, - /* 230 */ 36, 35, 1087, 194, 34, 33, 32, 1223, 41, 42, - /* 240 */ 385, 1021, 261, 31, 30, 29, 822, 823, 40, 342, - /* 250 */ 45, 43, 46, 44, 390, 388, 645, 251, 36, 35, - /* 260 */ 704, 1087, 34, 33, 32, 67, 336, 384, 383, 335, + /* 130 */ 284, 40, 342, 45, 43, 46, 44, 314, 97, 1226, + /* 140 */ 96, 36, 35, 669, 104, 34, 33, 32, 338, 37, + /* 150 */ 39, 670, 41, 42, 1107, 174, 261, 31, 30, 29, + /* 160 */ 276, 863, 40, 342, 45, 43, 46, 44, 1116, 280, + /* 170 */ 279, 242, 36, 35, 300, 219, 34, 33, 32, 204, + /* 180 */ 202, 200, 105, 59, 51, 1226, 199, 148, 147, 146, + /* 190 */ 145, 619, 620, 621, 622, 623, 624, 625, 626, 627, + /* 200 */ 628, 629, 630, 631, 632, 157, 995, 240, 38, 220, + /* 210 */ 41, 42, 59, 194, 261, 31, 30, 29, 1080, 1226, + /* 220 */ 40, 342, 45, 43, 46, 44, 823, 824, 241, 1107, + /* 230 */ 36, 35, 1089, 986, 34, 33, 32, 1113, 41, 42, + /* 240 */ 194, 248, 261, 31, 30, 29, 243, 377, 40, 342, + /* 250 */ 45, 43, 46, 44, 34, 33, 32, 251, 36, 35, + /* 260 */ 1248, 1089, 34, 33, 32, 67, 336, 384, 383, 335, /* 270 */ 334, 333, 382, 332, 331, 330, 381, 329, 380, 379, - /* 280 */ 1052, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, - /* 290 */ 1049, 1050, 1051, 1053, 1054, 232, 877, 25, 1215, 866, - /* 300 */ 1164, 869, 1165, 872, 776, 59, 59, 773, 1223, 774, - /* 310 */ 868, 775, 871, 867, 217, 870, 232, 877, 59, 1245, - /* 320 */ 866, 225, 869, 1214, 872, 340, 264, 144, 143, 142, - /* 330 */ 224, 237, 238, 1223, 350, 91, 5, 62, 184, 266, - /* 340 */ 267, 257, 313, 183, 111, 116, 107, 115, 270, 59, - /* 350 */ 252, 354, 237, 238, 1087, 1087, 344, 45, 43, 46, - /* 360 */ 44, 67, 325, 384, 383, 36, 35, 1086, 382, 34, - /* 370 */ 33, 32, 381, 68, 380, 379, 100, 59, 262, 1060, - /* 380 */ 47, 1058, 1059, 36, 35, 1237, 1061, 34, 33, 32, - /* 390 */ 1062, 86, 1063, 1064, 355, 283, 341, 83, 1087, 59, - /* 400 */ 752, 47, 213, 265, 233, 263, 246, 353, 352, 59, - /* 410 */ 1090, 59, 1223, 292, 1226, 878, 873, 874, 340, 59, - /* 420 */ 59, 91, 356, 777, 268, 272, 1087, 269, 875, 362, - /* 430 */ 361, 876, 367, 366, 271, 260, 878, 873, 874, 213, - /* 440 */ 156, 154, 153, 253, 357, 180, 255, 1090, 1087, 1223, - /* 450 */ 1090, 1226, 1213, 235, 363, 130, 364, 6, 1087, 68, - /* 460 */ 1087, 236, 1223, 1223, 365, 369, 215, 377, 1087, 1087, - /* 470 */ 216, 1223, 221, 214, 222, 223, 1223, 1105, 105, 794, - /* 480 */ 1223, 227, 1223, 1223, 1223, 1223, 228, 271, 842, 229, - /* 490 */ 226, 1223, 791, 210, 243, 271, 1223, 88, 181, 1223, - /* 500 */ 1223, 271, 99, 1223, 98, 89, 343, 1, 182, 819, - /* 510 */ 3, 195, 1088, 829, 1078, 295, 294, 830, 76, 10, - /* 520 */ 762, 79, 317, 161, 764, 347, 319, 71, 763, 259, - /* 530 */ 54, 48, 346, 906, 60, 287, 60, 879, 71, 667, - /* 540 */ 103, 293, 71, 287, 1177, 82, 841, 9, 15, 1176, - /* 550 */ 14, 9, 249, 9, 345, 121, 17, 120, 16, 359, - /* 560 */ 358, 77, 80, 320, 783, 798, 784, 1173, 781, 865, - /* 570 */ 782, 19, 1172, 18, 127, 250, 126, 751, 21, 368, - /* 580 */ 20, 140, 139, 281, 158, 1113, 26, 1124, 1121, 1122, - /* 590 */ 1106, 288, 1126, 160, 1156, 165, 306, 1155, 1154, 1153, - /* 600 */ 176, 1085, 177, 1083, 178, 179, 998, 322, 155, 809, - /* 610 */ 323, 1103, 324, 299, 327, 328, 69, 207, 65, 339, - /* 620 */ 166, 315, 992, 245, 301, 167, 351, 303, 1244, 81, - /* 630 */ 882, 28, 118, 78, 1243, 1240, 168, 185, 169, 360, - /* 640 */ 311, 170, 309, 1236, 307, 124, 1235, 305, 1232, 171, - /* 650 */ 186, 1018, 66, 302, 61, 173, 70, 208, 980, 134, - /* 660 */ 978, 136, 298, 137, 976, 975, 273, 197, 198, 972, - /* 670 */ 971, 970, 969, 968, 967, 966, 201, 203, 958, 205, - /* 680 */ 955, 27, 206, 951, 53, 326, 286, 87, 92, 304, - /* 690 */ 378, 129, 370, 371, 372, 373, 374, 234, 256, 321, - /* 700 */ 375, 376, 386, 931, 274, 230, 275, 930, 231, 112, - /* 710 */ 997, 996, 277, 113, 278, 929, 912, 282, 911, 287, - /* 720 */ 316, 11, 90, 786, 974, 52, 973, 188, 1019, 187, - /* 730 */ 189, 190, 191, 193, 192, 149, 150, 965, 2, 1056, - /* 740 */ 151, 152, 964, 957, 956, 175, 1020, 172, 4, 289, - /* 750 */ 93, 818, 74, 816, 815, 812, 811, 75, 162, 1066, - /* 760 */ 820, 831, 163, 164, 825, 94, 247, 827, 95, 308, - /* 770 */ 63, 22, 345, 312, 12, 49, 64, 23, 318, 50, - /* 780 */ 104, 106, 56, 682, 108, 109, 57, 110, 717, 715, - /* 790 */ 714, 713, 711, 710, 709, 706, 672, 337, 114, 7, - /* 800 */ 903, 901, 881, 904, 880, 902, 883, 8, 348, 349, - /* 810 */ 72, 754, 73, 117, 753, 119, 750, 123, 125, 60, - /* 820 */ 698, 696, 688, 780, 694, 690, 779, 692, 686, 684, - /* 830 */ 720, 719, 718, 716, 712, 708, 707, 196, 670, 635, - /* 840 */ 387, 644, 642, 389, 935, + /* 280 */ 1054, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, + /* 290 */ 1051, 1052, 1053, 1055, 1056, 232, 879, 25, 246, 867, + /* 300 */ 1218, 870, 1092, 873, 777, 1217, 59, 774, 1216, 775, + /* 310 */ 1226, 776, 1240, 235, 217, 1226, 232, 879, 1226, 820, + /* 320 */ 867, 225, 870, 1226, 873, 385, 1023, 144, 143, 142, + /* 330 */ 224, 237, 238, 161, 350, 91, 5, 62, 184, 266, + /* 340 */ 267, 292, 130, 183, 111, 116, 107, 115, 264, 293, + /* 350 */ 59, 252, 237, 238, 377, 1089, 344, 45, 43, 46, + /* 360 */ 44, 67, 325, 384, 383, 36, 35, 270, 382, 34, + /* 370 */ 33, 32, 381, 68, 380, 379, 1062, 271, 1060, 1061, + /* 380 */ 47, 753, 341, 1063, 869, 257, 872, 1064, 180, 1065, + /* 390 */ 1066, 262, 868, 253, 871, 354, 283, 1092, 83, 1089, + /* 400 */ 271, 47, 36, 35, 340, 233, 34, 33, 32, 236, + /* 410 */ 59, 181, 1179, 367, 366, 880, 874, 876, 54, 1226, + /* 420 */ 59, 260, 59, 778, 268, 79, 265, 59, 263, 59, + /* 430 */ 353, 352, 390, 388, 646, 59, 880, 874, 876, 795, + /* 440 */ 875, 59, 59, 6, 255, 272, 213, 269, 1092, 362, + /* 450 */ 361, 320, 213, 215, 91, 355, 1226, 271, 1229, 1089, + /* 460 */ 216, 875, 1226, 1226, 1229, 356, 80, 357, 343, 1089, + /* 470 */ 1226, 1089, 363, 843, 364, 221, 1089, 214, 1089, 830, + /* 480 */ 365, 156, 154, 153, 1089, 1226, 369, 1226, 88, 222, + /* 490 */ 1089, 1088, 68, 71, 223, 1166, 227, 1167, 228, 1226, + /* 500 */ 792, 229, 877, 271, 1226, 226, 1226, 210, 1226, 100, + /* 510 */ 878, 1226, 3, 195, 1090, 1226, 99, 1226, 98, 1, + /* 520 */ 182, 89, 295, 294, 86, 799, 287, 10, 831, 340, + /* 530 */ 76, 842, 346, 763, 317, 765, 319, 764, 908, 881, + /* 540 */ 259, 347, 48, 668, 1178, 82, 313, 60, 60, 71, + /* 550 */ 103, 71, 9, 9, 345, 249, 15, 9, 14, 287, + /* 560 */ 121, 17, 120, 16, 784, 782, 785, 783, 359, 358, + /* 570 */ 19, 1175, 18, 77, 127, 1174, 126, 752, 250, 21, + /* 580 */ 866, 20, 140, 139, 368, 281, 158, 1115, 26, 1126, + /* 590 */ 1123, 1108, 1124, 288, 1128, 160, 1087, 1158, 165, 306, + /* 600 */ 1157, 1156, 1155, 176, 177, 155, 1085, 178, 179, 810, + /* 610 */ 1000, 322, 323, 299, 245, 324, 327, 328, 69, 301, + /* 620 */ 207, 65, 339, 1105, 994, 351, 1247, 303, 118, 1246, + /* 630 */ 1243, 185, 81, 78, 360, 1239, 124, 1238, 166, 1235, + /* 640 */ 186, 1020, 66, 61, 70, 315, 884, 208, 982, 134, + /* 650 */ 167, 28, 311, 309, 168, 307, 305, 980, 136, 137, + /* 660 */ 169, 978, 977, 302, 273, 197, 198, 974, 973, 972, + /* 670 */ 971, 970, 969, 968, 201, 203, 960, 205, 957, 206, + /* 680 */ 953, 298, 27, 286, 87, 92, 304, 326, 378, 129, + /* 690 */ 370, 371, 372, 373, 374, 234, 375, 376, 256, 321, + /* 700 */ 386, 933, 274, 275, 230, 170, 932, 277, 231, 112, + /* 710 */ 999, 998, 278, 113, 931, 914, 913, 282, 287, 316, + /* 720 */ 11, 976, 975, 189, 1021, 149, 191, 187, 188, 967, + /* 730 */ 190, 192, 193, 150, 151, 966, 90, 152, 959, 1058, + /* 740 */ 958, 787, 53, 171, 172, 175, 2, 173, 1022, 52, + /* 750 */ 4, 289, 93, 819, 74, 1068, 817, 813, 812, 75, + /* 760 */ 816, 821, 162, 164, 832, 163, 247, 826, 94, 63, + /* 770 */ 828, 95, 308, 345, 312, 22, 64, 23, 12, 49, + /* 780 */ 318, 50, 106, 683, 104, 56, 109, 108, 718, 716, + /* 790 */ 57, 715, 110, 714, 712, 711, 710, 707, 337, 673, + /* 800 */ 114, 7, 905, 903, 883, 906, 882, 904, 885, 8, + /* 810 */ 349, 348, 72, 117, 60, 755, 73, 754, 119, 751, + /* 820 */ 123, 699, 125, 697, 689, 695, 781, 780, 691, 693, + /* 830 */ 687, 685, 721, 720, 719, 717, 713, 709, 708, 196, + /* 840 */ 671, 636, 937, 645, 387, 643, 936, 936, 936, 936, + /* 850 */ 936, 936, 936, 936, 936, 936, 936, 389, }; static const YYCODETYPE yy_lookahead[] = { - /* 0 */ 211, 1, 1, 279, 203, 281, 282, 5, 210, 9, - /* 10 */ 9, 9, 203, 204, 14, 15, 271, 17, 18, 203, - /* 20 */ 0, 21, 22, 23, 24, 253, 281, 27, 28, 29, - /* 30 */ 30, 31, 32, 244, 245, 246, 247, 37, 38, 37, - /* 40 */ 38, 41, 42, 43, 14, 15, 271, 17, 18, 1, - /* 50 */ 211, 21, 22, 23, 24, 271, 281, 27, 28, 29, - /* 60 */ 30, 31, 32, 201, 202, 281, 250, 37, 38, 271, - /* 70 */ 271, 41, 42, 43, 273, 274, 66, 67, 68, 281, - /* 80 */ 281, 283, 283, 73, 245, 75, 76, 77, 14, 15, - /* 90 */ 90, 17, 18, 209, 84, 21, 22, 23, 24, 1, - /* 100 */ 216, 27, 28, 29, 30, 31, 32, 9, 88, 87, - /* 110 */ 86, 37, 38, 251, 90, 41, 42, 43, 14, 15, - /* 120 */ 90, 17, 18, 101, 122, 21, 22, 23, 24, 271, - /* 130 */ 268, 27, 28, 29, 30, 31, 32, 278, 279, 281, - /* 140 */ 281, 37, 38, 1, 120, 41, 42, 43, 88, 14, - /* 150 */ 15, 9, 17, 18, 251, 258, 21, 22, 23, 24, - /* 160 */ 203, 87, 27, 28, 29, 30, 31, 32, 41, 42, - /* 170 */ 43, 268, 37, 38, 277, 271, 41, 42, 43, 66, - /* 180 */ 67, 68, 94, 203, 86, 281, 73, 74, 75, 76, + /* 0 */ 212, 1, 1, 280, 204, 282, 283, 5, 211, 9, + /* 10 */ 9, 9, 204, 205, 14, 15, 272, 17, 18, 204, + /* 20 */ 0, 21, 22, 23, 24, 254, 282, 27, 28, 29, + /* 30 */ 30, 31, 32, 245, 246, 247, 248, 37, 38, 37, + /* 40 */ 38, 41, 42, 43, 14, 15, 272, 17, 18, 5, + /* 50 */ 212, 21, 22, 23, 24, 272, 282, 27, 28, 29, + /* 60 */ 30, 31, 32, 202, 203, 282, 251, 37, 38, 272, + /* 70 */ 272, 41, 42, 43, 274, 275, 66, 67, 68, 282, + /* 80 */ 282, 284, 284, 73, 246, 75, 76, 77, 14, 15, + /* 90 */ 90, 17, 18, 210, 84, 21, 22, 23, 24, 1, + /* 100 */ 217, 27, 28, 29, 30, 31, 32, 9, 88, 87, + /* 110 */ 86, 37, 38, 252, 90, 41, 42, 43, 14, 15, + /* 120 */ 90, 17, 18, 101, 122, 21, 22, 23, 24, 272, + /* 130 */ 269, 27, 28, 29, 30, 31, 32, 279, 280, 282, + /* 140 */ 282, 37, 38, 1, 120, 41, 42, 43, 88, 14, + /* 150 */ 15, 9, 17, 18, 252, 259, 21, 22, 23, 24, + /* 160 */ 148, 87, 27, 28, 29, 30, 31, 32, 204, 157, + /* 170 */ 158, 269, 37, 38, 278, 272, 41, 42, 43, 66, + /* 180 */ 67, 68, 212, 204, 86, 282, 73, 74, 75, 76, /* 190 */ 77, 49, 50, 51, 52, 53, 54, 55, 56, 57, - /* 200 */ 58, 59, 60, 61, 62, 63, 209, 65, 15, 147, - /* 210 */ 17, 18, 203, 216, 21, 22, 23, 24, 156, 157, - /* 220 */ 27, 28, 29, 30, 31, 32, 209, 271, 248, 272, - /* 230 */ 37, 38, 252, 216, 41, 42, 43, 281, 17, 18, - /* 240 */ 225, 226, 21, 22, 23, 24, 130, 131, 27, 28, - /* 250 */ 29, 30, 31, 32, 69, 70, 71, 248, 37, 38, - /* 260 */ 5, 252, 41, 42, 43, 102, 103, 104, 105, 106, + /* 200 */ 58, 59, 60, 61, 62, 63, 210, 65, 15, 272, + /* 210 */ 17, 18, 204, 217, 21, 22, 23, 24, 248, 282, + /* 220 */ 27, 28, 29, 30, 31, 32, 130, 131, 249, 252, + /* 230 */ 37, 38, 253, 210, 41, 42, 43, 273, 17, 18, + /* 240 */ 217, 1, 21, 22, 23, 24, 269, 94, 27, 28, + /* 250 */ 29, 30, 31, 32, 41, 42, 43, 249, 37, 38, + /* 260 */ 254, 253, 41, 42, 43, 102, 103, 104, 105, 106, /* 270 */ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - /* 280 */ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, - /* 290 */ 237, 238, 239, 240, 241, 1, 2, 48, 271, 5, - /* 300 */ 279, 7, 281, 9, 2, 203, 203, 5, 281, 7, - /* 310 */ 5, 9, 7, 5, 65, 7, 1, 2, 203, 253, - /* 320 */ 5, 72, 7, 271, 9, 47, 72, 78, 79, 80, - /* 330 */ 81, 37, 38, 281, 85, 86, 66, 67, 68, 37, - /* 340 */ 38, 210, 64, 73, 74, 75, 76, 77, 72, 203, - /* 350 */ 248, 248, 37, 38, 252, 252, 41, 29, 30, 31, - /* 360 */ 32, 102, 92, 104, 105, 37, 38, 252, 109, 41, - /* 370 */ 42, 43, 113, 124, 115, 116, 254, 203, 210, 227, - /* 380 */ 86, 229, 230, 37, 38, 253, 234, 41, 42, 43, - /* 390 */ 238, 269, 240, 241, 248, 146, 25, 148, 252, 203, - /* 400 */ 5, 86, 271, 149, 155, 151, 249, 153, 154, 203, - /* 410 */ 253, 203, 281, 276, 283, 121, 122, 123, 47, 203, - /* 420 */ 203, 86, 248, 121, 122, 149, 252, 151, 123, 153, - /* 430 */ 154, 123, 37, 38, 203, 64, 121, 122, 123, 271, - /* 440 */ 66, 67, 68, 249, 248, 214, 249, 253, 252, 281, - /* 450 */ 253, 283, 271, 271, 248, 82, 248, 86, 252, 124, - /* 460 */ 252, 271, 281, 281, 248, 248, 271, 94, 252, 252, - /* 470 */ 271, 281, 271, 271, 271, 271, 281, 251, 211, 41, - /* 480 */ 281, 271, 281, 281, 281, 281, 271, 203, 80, 271, - /* 490 */ 271, 281, 101, 271, 268, 203, 281, 87, 214, 281, - /* 500 */ 281, 203, 279, 281, 281, 87, 214, 212, 213, 87, - /* 510 */ 207, 208, 214, 87, 247, 37, 38, 87, 101, 128, - /* 520 */ 87, 101, 87, 101, 87, 16, 87, 101, 87, 1, - /* 530 */ 86, 101, 25, 87, 101, 125, 101, 87, 101, 87, - /* 540 */ 101, 276, 101, 125, 243, 86, 138, 101, 150, 243, - /* 550 */ 152, 101, 243, 101, 47, 150, 150, 152, 152, 37, - /* 560 */ 38, 144, 142, 119, 5, 127, 7, 243, 5, 41, - /* 570 */ 7, 150, 243, 152, 150, 243, 152, 118, 150, 243, - /* 580 */ 152, 82, 83, 203, 203, 203, 270, 203, 203, 203, - /* 590 */ 251, 251, 203, 203, 280, 203, 203, 280, 280, 280, - /* 600 */ 255, 251, 203, 203, 203, 203, 203, 203, 64, 123, - /* 610 */ 203, 267, 203, 275, 203, 203, 203, 203, 203, 203, - /* 620 */ 266, 136, 203, 275, 275, 265, 203, 275, 203, 141, - /* 630 */ 121, 140, 203, 143, 203, 203, 264, 203, 263, 203, - /* 640 */ 139, 262, 134, 203, 133, 203, 203, 132, 203, 261, - /* 650 */ 203, 203, 203, 135, 203, 259, 203, 203, 203, 203, - /* 660 */ 203, 203, 129, 203, 203, 203, 203, 203, 203, 203, - /* 670 */ 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, - /* 680 */ 203, 145, 203, 203, 257, 93, 205, 205, 205, 205, - /* 690 */ 117, 100, 99, 55, 96, 98, 59, 205, 205, 205, - /* 700 */ 97, 95, 88, 5, 158, 205, 5, 5, 205, 211, - /* 710 */ 215, 215, 158, 211, 5, 5, 104, 147, 103, 125, - /* 720 */ 119, 86, 126, 87, 205, 86, 205, 222, 224, 223, - /* 730 */ 218, 221, 219, 217, 220, 206, 206, 205, 212, 242, - /* 740 */ 206, 206, 205, 205, 205, 256, 226, 260, 207, 101, - /* 750 */ 101, 87, 101, 123, 123, 5, 5, 86, 86, 242, - /* 760 */ 87, 87, 86, 101, 87, 86, 1, 87, 86, 86, - /* 770 */ 101, 137, 47, 1, 86, 86, 101, 137, 119, 86, - /* 780 */ 120, 82, 91, 5, 90, 74, 91, 90, 9, 5, - /* 790 */ 5, 5, 5, 5, 5, 5, 89, 16, 82, 86, - /* 800 */ 9, 9, 87, 9, 87, 9, 121, 86, 28, 63, - /* 810 */ 17, 5, 17, 152, 5, 152, 87, 152, 152, 101, - /* 820 */ 5, 5, 5, 123, 5, 5, 123, 5, 5, 5, - /* 830 */ 5, 5, 5, 5, 5, 5, 5, 101, 89, 64, - /* 840 */ 22, 9, 9, 22, 0, 284, 284, 284, 284, 284, - /* 850 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - /* 860 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - /* 870 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - /* 880 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - /* 890 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - /* 900 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - /* 910 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - /* 920 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - /* 930 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - /* 940 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - /* 950 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - /* 960 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - /* 970 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - /* 980 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - /* 990 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - /* 1000 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - /* 1010 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - /* 1020 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - /* 1030 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - /* 1040 */ 284, 284, 284, 284, 284, 284, + /* 280 */ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + /* 290 */ 238, 239, 240, 241, 242, 1, 2, 48, 250, 5, + /* 300 */ 272, 7, 254, 9, 2, 272, 204, 5, 272, 7, + /* 310 */ 282, 9, 254, 272, 65, 282, 1, 2, 282, 87, + /* 320 */ 5, 72, 7, 282, 9, 226, 227, 78, 79, 80, + /* 330 */ 81, 37, 38, 101, 85, 86, 66, 67, 68, 37, + /* 340 */ 38, 277, 82, 73, 74, 75, 76, 77, 72, 277, + /* 350 */ 204, 249, 37, 38, 94, 253, 41, 29, 30, 31, + /* 360 */ 32, 102, 92, 104, 105, 37, 38, 72, 109, 41, + /* 370 */ 42, 43, 113, 124, 115, 116, 228, 204, 230, 231, + /* 380 */ 86, 5, 25, 235, 5, 211, 7, 239, 215, 241, + /* 390 */ 242, 211, 5, 250, 7, 249, 147, 254, 149, 253, + /* 400 */ 204, 86, 37, 38, 47, 156, 41, 42, 43, 272, + /* 410 */ 204, 215, 244, 37, 38, 121, 122, 123, 86, 282, + /* 420 */ 204, 64, 204, 121, 122, 101, 150, 204, 152, 204, + /* 430 */ 154, 155, 69, 70, 71, 204, 121, 122, 123, 41, + /* 440 */ 146, 204, 204, 86, 250, 150, 272, 152, 254, 154, + /* 450 */ 155, 119, 272, 272, 86, 249, 282, 204, 284, 253, + /* 460 */ 272, 146, 282, 282, 284, 249, 142, 249, 215, 253, + /* 470 */ 282, 253, 249, 80, 249, 272, 253, 272, 253, 87, + /* 480 */ 249, 66, 67, 68, 253, 282, 249, 282, 87, 272, + /* 490 */ 253, 253, 124, 101, 272, 280, 272, 282, 272, 282, + /* 500 */ 101, 272, 123, 204, 282, 272, 282, 272, 282, 255, + /* 510 */ 123, 282, 208, 209, 215, 282, 280, 282, 282, 213, + /* 520 */ 214, 87, 37, 38, 270, 127, 125, 128, 87, 47, + /* 530 */ 101, 138, 25, 87, 87, 87, 87, 87, 87, 87, + /* 540 */ 1, 16, 101, 87, 244, 86, 64, 101, 101, 101, + /* 550 */ 101, 101, 101, 101, 47, 244, 151, 101, 153, 125, + /* 560 */ 151, 151, 153, 153, 5, 5, 7, 7, 37, 38, + /* 570 */ 151, 244, 153, 144, 151, 244, 153, 118, 244, 151, + /* 580 */ 41, 153, 82, 83, 244, 204, 204, 204, 271, 204, + /* 590 */ 204, 252, 204, 252, 204, 204, 252, 281, 204, 204, + /* 600 */ 281, 281, 281, 256, 204, 64, 204, 204, 204, 123, + /* 610 */ 204, 204, 204, 276, 276, 204, 204, 204, 204, 276, + /* 620 */ 204, 204, 204, 268, 204, 204, 204, 276, 204, 204, + /* 630 */ 204, 204, 141, 143, 204, 204, 204, 204, 267, 204, + /* 640 */ 204, 204, 204, 204, 204, 136, 121, 204, 204, 204, + /* 650 */ 266, 140, 139, 134, 265, 133, 132, 204, 204, 204, + /* 660 */ 264, 204, 204, 135, 204, 204, 204, 204, 204, 204, + /* 670 */ 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, + /* 680 */ 204, 129, 145, 206, 206, 206, 206, 93, 117, 100, + /* 690 */ 99, 55, 96, 98, 59, 206, 97, 95, 206, 206, + /* 700 */ 88, 5, 159, 5, 206, 263, 5, 159, 206, 212, + /* 710 */ 216, 216, 5, 212, 5, 104, 103, 148, 125, 119, + /* 720 */ 86, 206, 206, 219, 225, 207, 220, 224, 223, 206, + /* 730 */ 222, 221, 218, 207, 207, 206, 126, 207, 206, 243, + /* 740 */ 206, 87, 258, 262, 261, 257, 213, 260, 227, 86, + /* 750 */ 208, 101, 101, 87, 101, 243, 123, 5, 5, 86, + /* 760 */ 123, 87, 86, 101, 87, 86, 1, 87, 86, 101, + /* 770 */ 87, 86, 86, 47, 1, 137, 101, 137, 86, 86, + /* 780 */ 119, 86, 82, 5, 120, 91, 74, 90, 9, 5, + /* 790 */ 91, 5, 90, 5, 5, 5, 5, 5, 16, 89, + /* 800 */ 82, 86, 9, 9, 87, 9, 87, 9, 121, 86, + /* 810 */ 63, 28, 17, 153, 101, 5, 17, 5, 153, 87, + /* 820 */ 153, 5, 153, 5, 5, 5, 123, 123, 5, 5, + /* 830 */ 5, 5, 5, 5, 5, 5, 5, 5, 5, 101, + /* 840 */ 89, 64, 0, 9, 22, 9, 285, 285, 285, 285, + /* 850 */ 285, 285, 285, 285, 285, 285, 285, 22, 285, 285, + /* 860 */ 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, + /* 870 */ 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, + /* 880 */ 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, + /* 890 */ 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, + /* 900 */ 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, + /* 910 */ 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, + /* 920 */ 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, + /* 930 */ 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, + /* 940 */ 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, + /* 950 */ 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, + /* 960 */ 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, + /* 970 */ 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, + /* 980 */ 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, + /* 990 */ 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, + /* 1000 */ 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, + /* 1010 */ 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, + /* 1020 */ 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, + /* 1030 */ 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, + /* 1040 */ 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, + /* 1050 */ 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, }; #define YY_SHIFT_COUNT (392) #define YY_SHIFT_MIN (0) -#define YY_SHIFT_MAX (844) +#define YY_SHIFT_MAX (842) static const unsigned short int yy_shift_ofst[] = { /* 0 */ 249, 163, 163, 259, 259, 60, 315, 294, 294, 294, /* 10 */ 98, 1, 1, 1, 1, 1, 1, 1, 1, 1, - /* 20 */ 1, 1, 48, 48, 0, 142, 294, 294, 294, 294, + /* 20 */ 1, 1, 240, 240, 0, 142, 294, 294, 294, 294, /* 30 */ 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, /* 40 */ 294, 294, 294, 294, 294, 294, 294, 294, 302, 302, - /* 50 */ 302, 335, 335, 116, 1, 20, 1, 1, 1, 1, - /* 60 */ 1, 373, 60, 48, 48, 88, 88, 255, 845, 845, - /* 70 */ 845, 302, 302, 302, 2, 2, 395, 395, 395, 395, - /* 80 */ 395, 395, 395, 1, 1, 1, 438, 1, 1, 1, - /* 90 */ 335, 335, 1, 1, 1, 1, 408, 408, 408, 408, - /* 100 */ 391, 335, 1, 1, 1, 1, 1, 1, 1, 1, + /* 50 */ 302, 368, 368, 96, 1, 20, 1, 1, 1, 1, + /* 60 */ 1, 260, 60, 240, 240, 153, 153, 44, 858, 858, + /* 70 */ 858, 302, 302, 302, 2, 2, 376, 376, 376, 376, + /* 80 */ 376, 376, 376, 1, 1, 1, 398, 1, 1, 1, + /* 90 */ 368, 368, 1, 1, 1, 1, 393, 393, 393, 393, + /* 100 */ 399, 368, 1, 1, 1, 1, 1, 1, 1, 1, /* 110 */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 120 */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 130 */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 140 */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - /* 150 */ 1, 1, 1, 1, 1, 1, 1, 1, 544, 544, - /* 160 */ 544, 486, 486, 486, 486, 544, 488, 490, 485, 491, - /* 170 */ 501, 508, 511, 515, 518, 533, 536, 544, 544, 544, - /* 180 */ 592, 592, 573, 60, 60, 544, 544, 591, 593, 638, - /* 190 */ 598, 597, 637, 603, 606, 573, 255, 544, 544, 614, - /* 200 */ 614, 544, 614, 544, 614, 544, 544, 845, 845, 30, + /* 150 */ 1, 1, 1, 1, 1, 1, 1, 1, 541, 541, + /* 160 */ 541, 486, 486, 486, 486, 541, 491, 490, 509, 511, + /* 170 */ 513, 519, 522, 524, 528, 552, 537, 541, 541, 541, + /* 180 */ 594, 594, 571, 60, 60, 541, 541, 589, 591, 636, + /* 190 */ 596, 595, 635, 599, 602, 571, 44, 541, 541, 612, + /* 200 */ 612, 541, 612, 541, 612, 541, 541, 858, 858, 30, /* 210 */ 74, 104, 104, 104, 135, 193, 221, 270, 328, 328, - /* 220 */ 328, 328, 328, 328, 10, 113, 346, 346, 346, 346, - /* 230 */ 254, 276, 371, 62, 24, 127, 127, 305, 308, 185, - /* 240 */ 374, 22, 410, 418, 478, 422, 426, 430, 278, 417, - /* 250 */ 420, 433, 435, 437, 439, 441, 444, 446, 450, 507, - /* 260 */ 528, 509, 452, 398, 405, 406, 559, 563, 522, 421, - /* 270 */ 424, 459, 428, 499, 698, 546, 701, 702, 554, 709, - /* 280 */ 710, 612, 615, 570, 594, 601, 635, 596, 636, 639, - /* 290 */ 648, 649, 664, 651, 630, 631, 750, 751, 671, 673, - /* 300 */ 672, 674, 676, 677, 662, 679, 680, 682, 765, 683, - /* 310 */ 669, 634, 725, 772, 675, 640, 688, 601, 689, 659, - /* 320 */ 693, 660, 699, 691, 694, 711, 778, 695, 697, 779, - /* 330 */ 784, 785, 786, 787, 788, 789, 790, 707, 781, 716, - /* 340 */ 791, 792, 713, 715, 717, 794, 796, 685, 721, 780, - /* 350 */ 746, 793, 661, 663, 718, 718, 718, 718, 700, 703, - /* 360 */ 795, 665, 666, 718, 718, 718, 806, 809, 729, 718, - /* 370 */ 815, 816, 817, 819, 820, 822, 823, 824, 825, 826, - /* 380 */ 827, 828, 829, 830, 831, 736, 749, 832, 818, 833, - /* 390 */ 821, 775, 844, + /* 220 */ 328, 328, 328, 328, 10, 113, 365, 365, 365, 365, + /* 230 */ 276, 295, 357, 12, 24, 213, 213, 379, 387, 363, + /* 240 */ 415, 22, 401, 434, 485, 232, 392, 441, 482, 429, + /* 250 */ 324, 446, 447, 448, 449, 450, 332, 451, 452, 507, + /* 260 */ 539, 525, 456, 405, 409, 410, 559, 560, 531, 419, + /* 270 */ 423, 459, 428, 500, 696, 543, 698, 701, 548, 707, + /* 280 */ 709, 611, 613, 569, 593, 600, 634, 610, 654, 663, + /* 290 */ 650, 651, 666, 653, 633, 637, 752, 753, 673, 674, + /* 300 */ 676, 677, 679, 680, 662, 682, 683, 685, 765, 686, + /* 310 */ 668, 638, 726, 773, 675, 640, 692, 600, 693, 661, + /* 320 */ 695, 664, 700, 694, 697, 712, 778, 699, 702, 779, + /* 330 */ 784, 786, 788, 789, 790, 791, 792, 710, 782, 718, + /* 340 */ 793, 794, 715, 717, 719, 796, 798, 687, 723, 783, + /* 350 */ 747, 795, 660, 665, 713, 713, 713, 713, 703, 704, + /* 360 */ 799, 667, 669, 713, 713, 713, 810, 812, 732, 713, + /* 370 */ 816, 818, 819, 820, 823, 824, 825, 826, 827, 828, + /* 380 */ 829, 830, 831, 832, 833, 738, 751, 834, 822, 836, + /* 390 */ 835, 777, 842, }; #define YY_REDUCE_COUNT (208) -#define YY_REDUCE_MIN (-276) -#define YY_REDUCE_MAX (541) +#define YY_REDUCE_MIN (-277) +#define YY_REDUCE_MAX (542) static const short yy_reduce_ofst[] = { - /* 0 */ -138, 53, 53, 152, 152, -211, -202, 131, 168, -201, - /* 10 */ -199, -20, 9, 102, 103, 146, 174, 196, 206, 208, - /* 20 */ 216, 217, -276, -141, -43, -191, -255, -225, -216, -142, - /* 30 */ -96, -44, 27, 52, 181, 182, 190, 195, 199, 201, - /* 40 */ 202, 203, 204, 210, 215, 218, 219, 222, 157, 194, - /* 50 */ 197, -97, 226, -103, -184, 267, 231, 284, 292, 298, - /* 60 */ 115, -116, -161, 21, 223, -3, 17, 15, 122, 295, - /* 70 */ 303, -228, 66, 132, 137, 265, 301, 306, 309, 324, - /* 80 */ 329, 332, 336, 380, 381, 382, 316, 384, 385, 386, - /* 90 */ 339, 340, 389, 390, 392, 393, 314, 317, 318, 319, - /* 100 */ 345, 350, 399, 400, 401, 402, 403, 404, 407, 409, - /* 110 */ 411, 412, 413, 414, 415, 416, 419, 423, 425, 429, - /* 120 */ 431, 432, 434, 436, 440, 442, 443, 445, 447, 448, - /* 130 */ 449, 451, 453, 454, 455, 456, 457, 458, 460, 461, - /* 140 */ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - /* 150 */ 472, 473, 474, 475, 476, 477, 479, 480, 481, 482, - /* 160 */ 483, 338, 348, 349, 352, 484, 344, 354, 360, 372, - /* 170 */ 375, 379, 388, 487, 396, 427, 489, 492, 493, 494, - /* 180 */ 495, 496, 497, 498, 502, 500, 503, 504, 506, 505, - /* 190 */ 512, 510, 513, 514, 516, 517, 520, 519, 521, 529, - /* 200 */ 530, 532, 534, 537, 535, 538, 539, 526, 541, + /* 0 */ -139, 52, 52, 148, 148, -212, -203, 174, 180, -202, + /* 10 */ -200, -21, 8, 102, 146, 206, 216, 218, 223, 225, + /* 20 */ 231, 237, -277, -142, -36, -192, -256, -226, -217, -143, + /* 30 */ -97, -63, 28, 33, 36, 41, 137, 181, 188, 203, + /* 40 */ 205, 217, 222, 224, 226, 229, 233, 235, 48, 143, + /* 50 */ 194, -98, -23, -104, -185, -30, 173, 196, 253, 299, + /* 60 */ 238, -117, -162, 215, 236, -4, 23, 99, 254, 306, + /* 70 */ 304, -229, 6, 58, 64, 72, 168, 300, 311, 327, + /* 80 */ 331, 334, 340, 381, 382, 383, 317, 385, 386, 388, + /* 90 */ 339, 341, 390, 391, 394, 395, 316, 319, 320, 321, + /* 100 */ 347, 344, 400, 402, 403, 404, 406, 407, 408, 411, + /* 110 */ 412, 413, 414, 416, 417, 418, 420, 421, 422, 424, + /* 120 */ 425, 426, 427, 430, 431, 432, 433, 435, 436, 437, + /* 130 */ 438, 439, 440, 443, 444, 445, 453, 454, 455, 457, + /* 140 */ 458, 460, 461, 462, 463, 464, 465, 466, 467, 468, + /* 150 */ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, + /* 160 */ 479, 337, 338, 343, 351, 480, 355, 371, 384, 389, + /* 170 */ 396, 442, 481, 483, 487, 484, 488, 489, 492, 493, + /* 180 */ 494, 495, 496, 497, 501, 498, 502, 499, 503, 505, + /* 190 */ 504, 508, 506, 510, 514, 512, 521, 515, 516, 518, + /* 200 */ 526, 523, 527, 529, 530, 532, 534, 533, 542, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 932, 1055, 994, 1065, 981, 991, 1228, 1228, 1228, 1228, - /* 10 */ 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, - /* 20 */ 932, 932, 932, 932, 1115, 952, 932, 932, 932, 932, - /* 30 */ 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, - /* 40 */ 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, - /* 50 */ 932, 932, 932, 1139, 932, 991, 932, 932, 932, 932, - /* 60 */ 932, 1001, 991, 932, 932, 1001, 1001, 932, 1110, 1039, - /* 70 */ 1057, 932, 932, 932, 932, 932, 932, 932, 932, 932, - /* 80 */ 932, 932, 932, 932, 932, 932, 1117, 1123, 1120, 932, - /* 90 */ 932, 932, 1125, 932, 932, 932, 1161, 1161, 1161, 1161, - /* 100 */ 1108, 932, 932, 932, 932, 932, 932, 932, 932, 932, - /* 110 */ 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, - /* 120 */ 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, - /* 130 */ 932, 932, 932, 932, 979, 932, 977, 932, 932, 932, - /* 140 */ 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, - /* 150 */ 932, 932, 932, 932, 932, 932, 932, 950, 954, 954, - /* 160 */ 954, 932, 932, 932, 932, 954, 1170, 1174, 1151, 1168, - /* 170 */ 1162, 1146, 1144, 1142, 1150, 1135, 1178, 954, 954, 954, - /* 180 */ 999, 999, 995, 991, 991, 954, 954, 1017, 1015, 1013, - /* 190 */ 1005, 1011, 1007, 1009, 1003, 982, 932, 954, 954, 989, - /* 200 */ 989, 954, 989, 954, 989, 954, 954, 1039, 1057, 1227, - /* 210 */ 932, 1179, 1169, 1227, 932, 1210, 1209, 932, 1218, 1217, - /* 220 */ 1216, 1208, 1207, 1206, 932, 932, 1202, 1205, 1204, 1203, - /* 230 */ 932, 932, 1181, 932, 932, 1212, 1211, 932, 932, 932, - /* 240 */ 932, 932, 932, 932, 1132, 932, 932, 932, 1157, 1175, - /* 250 */ 1171, 932, 932, 932, 932, 932, 932, 932, 932, 1182, - /* 260 */ 932, 932, 932, 932, 932, 932, 932, 932, 1096, 932, - /* 270 */ 932, 1067, 932, 932, 932, 932, 932, 932, 932, 932, - /* 280 */ 932, 932, 932, 932, 1107, 932, 932, 932, 932, 932, - /* 290 */ 1119, 1118, 932, 932, 932, 932, 932, 932, 932, 932, - /* 300 */ 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, - /* 310 */ 1163, 932, 1158, 932, 1152, 932, 932, 1079, 932, 932, - /* 320 */ 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, - /* 330 */ 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, - /* 340 */ 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, - /* 350 */ 932, 932, 932, 932, 1246, 1241, 1242, 1239, 932, 932, - /* 360 */ 932, 932, 932, 1238, 1233, 1234, 932, 932, 932, 1231, - /* 370 */ 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, - /* 380 */ 932, 932, 932, 932, 932, 1023, 932, 932, 961, 932, - /* 390 */ 959, 932, 932, + /* 0 */ 934, 1057, 996, 1067, 983, 993, 1231, 1231, 1231, 1231, + /* 10 */ 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, + /* 20 */ 934, 934, 934, 934, 1117, 954, 934, 934, 934, 934, + /* 30 */ 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, + /* 40 */ 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, + /* 50 */ 934, 934, 934, 1141, 934, 993, 934, 934, 934, 934, + /* 60 */ 934, 1003, 993, 934, 934, 1003, 1003, 934, 1112, 1041, + /* 70 */ 1059, 934, 934, 934, 934, 934, 934, 934, 934, 934, + /* 80 */ 934, 934, 934, 934, 934, 934, 1119, 1125, 1122, 934, + /* 90 */ 934, 934, 1127, 934, 934, 934, 1163, 1163, 1163, 1163, + /* 100 */ 1110, 934, 934, 934, 934, 934, 934, 934, 934, 934, + /* 110 */ 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, + /* 120 */ 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, + /* 130 */ 934, 934, 934, 934, 981, 934, 979, 934, 934, 934, + /* 140 */ 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, + /* 150 */ 934, 934, 934, 934, 934, 934, 934, 952, 956, 956, + /* 160 */ 956, 934, 934, 934, 934, 956, 1172, 1176, 1153, 1170, + /* 170 */ 1164, 1148, 1146, 1144, 1152, 1137, 1180, 956, 956, 956, + /* 180 */ 1001, 1001, 997, 993, 993, 956, 956, 1019, 1017, 1015, + /* 190 */ 1007, 1013, 1009, 1011, 1005, 984, 934, 956, 956, 991, + /* 200 */ 991, 956, 991, 956, 991, 956, 956, 1041, 1059, 1230, + /* 210 */ 934, 1181, 1171, 1230, 934, 1213, 1212, 934, 1221, 1220, + /* 220 */ 1219, 1211, 1210, 1209, 934, 934, 1205, 1208, 1207, 1206, + /* 230 */ 934, 934, 1183, 934, 934, 1215, 1214, 934, 934, 934, + /* 240 */ 934, 934, 934, 934, 1134, 934, 934, 934, 1159, 1177, + /* 250 */ 1173, 934, 934, 934, 934, 934, 934, 934, 934, 1184, + /* 260 */ 934, 934, 934, 934, 934, 934, 934, 934, 1098, 934, + /* 270 */ 934, 1069, 934, 934, 934, 934, 934, 934, 934, 934, + /* 280 */ 934, 934, 934, 934, 1109, 934, 934, 934, 934, 934, + /* 290 */ 1121, 1120, 934, 934, 934, 934, 934, 934, 934, 934, + /* 300 */ 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, + /* 310 */ 1165, 934, 1160, 934, 1154, 934, 934, 1081, 934, 934, + /* 320 */ 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, + /* 330 */ 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, + /* 340 */ 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, + /* 350 */ 934, 934, 934, 934, 1249, 1244, 1245, 1242, 934, 934, + /* 360 */ 934, 934, 934, 1241, 1236, 1237, 934, 934, 934, 1234, + /* 370 */ 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, + /* 380 */ 934, 934, 934, 934, 934, 1025, 934, 934, 963, 934, + /* 390 */ 961, 934, 934, }; /********** End of lemon-generated parsing tables *****************************/ @@ -888,6 +691,7 @@ static const YYCODETYPE yyFallback[] = { 0, /* SLIMIT => nothing */ 0, /* SOFFSET => nothing */ 0, /* WHERE => nothing */ + 1, /* TODAY => ID */ 0, /* RESET => nothing */ 0, /* QUERY => nothing */ 0, /* SYNCDB => nothing */ @@ -996,7 +800,6 @@ typedef struct yyParser yyParser; #ifndef NDEBUG #include -#include static FILE *yyTraceFILE = 0; static char *yyTracePrompt = 0; #endif /* NDEBUG */ @@ -1177,144 +980,145 @@ static const char *const yyTokenName[] = { /* 143 */ "SLIMIT", /* 144 */ "SOFFSET", /* 145 */ "WHERE", - /* 146 */ "RESET", - /* 147 */ "QUERY", - /* 148 */ "SYNCDB", - /* 149 */ "ADD", - /* 150 */ "COLUMN", - /* 151 */ "MODIFY", - /* 152 */ "TAG", - /* 153 */ "CHANGE", - /* 154 */ "SET", - /* 155 */ "KILL", - /* 156 */ "CONNECTION", - /* 157 */ "STREAM", - /* 158 */ "COLON", - /* 159 */ "ABORT", - /* 160 */ "AFTER", - /* 161 */ "ATTACH", - /* 162 */ "BEFORE", - /* 163 */ "BEGIN", - /* 164 */ "CASCADE", - /* 165 */ "CLUSTER", - /* 166 */ "CONFLICT", - /* 167 */ "COPY", - /* 168 */ "DEFERRED", - /* 169 */ "DELIMITERS", - /* 170 */ "DETACH", - /* 171 */ "EACH", - /* 172 */ "END", - /* 173 */ "EXPLAIN", - /* 174 */ "FAIL", - /* 175 */ "FOR", - /* 176 */ "IGNORE", - /* 177 */ "IMMEDIATE", - /* 178 */ "INITIALLY", - /* 179 */ "INSTEAD", - /* 180 */ "KEY", - /* 181 */ "OF", - /* 182 */ "RAISE", - /* 183 */ "REPLACE", - /* 184 */ "RESTRICT", - /* 185 */ "ROW", - /* 186 */ "STATEMENT", - /* 187 */ "TRIGGER", - /* 188 */ "VIEW", - /* 189 */ "IPTOKEN", - /* 190 */ "SEMI", - /* 191 */ "NONE", - /* 192 */ "PREV", - /* 193 */ "LINEAR", - /* 194 */ "IMPORT", - /* 195 */ "TBNAME", - /* 196 */ "JOIN", - /* 197 */ "INSERT", - /* 198 */ "INTO", - /* 199 */ "VALUES", - /* 200 */ "FILE", - /* 201 */ "program", - /* 202 */ "cmd", - /* 203 */ "ids", - /* 204 */ "dbPrefix", - /* 205 */ "cpxName", - /* 206 */ "ifexists", - /* 207 */ "alter_db_optr", - /* 208 */ "alter_topic_optr", - /* 209 */ "acct_optr", - /* 210 */ "exprlist", - /* 211 */ "ifnotexists", - /* 212 */ "db_optr", - /* 213 */ "topic_optr", - /* 214 */ "typename", - /* 215 */ "bufsize", - /* 216 */ "pps", - /* 217 */ "tseries", - /* 218 */ "dbs", - /* 219 */ "streams", - /* 220 */ "storage", - /* 221 */ "qtime", - /* 222 */ "users", - /* 223 */ "conns", - /* 224 */ "state", - /* 225 */ "intitemlist", - /* 226 */ "intitem", - /* 227 */ "keep", - /* 228 */ "cache", - /* 229 */ "replica", - /* 230 */ "quorum", - /* 231 */ "days", - /* 232 */ "minrows", - /* 233 */ "maxrows", - /* 234 */ "blocks", - /* 235 */ "ctime", - /* 236 */ "wal", - /* 237 */ "fsync", - /* 238 */ "comp", - /* 239 */ "prec", - /* 240 */ "update", - /* 241 */ "cachelast", - /* 242 */ "partitions", - /* 243 */ "signed", - /* 244 */ "create_table_args", - /* 245 */ "create_stable_args", - /* 246 */ "create_table_list", - /* 247 */ "create_from_stable", - /* 248 */ "columnlist", - /* 249 */ "tagitemlist", - /* 250 */ "tagNamelist", - /* 251 */ "select", - /* 252 */ "column", - /* 253 */ "tagitem", - /* 254 */ "selcollist", - /* 255 */ "from", - /* 256 */ "where_opt", - /* 257 */ "range_option", - /* 258 */ "interval_option", - /* 259 */ "sliding_opt", - /* 260 */ "session_option", - /* 261 */ "windowstate_option", - /* 262 */ "fill_opt", - /* 263 */ "groupby_opt", - /* 264 */ "having_opt", - /* 265 */ "orderby_opt", - /* 266 */ "slimit_opt", - /* 267 */ "limit_opt", - /* 268 */ "union", - /* 269 */ "sclp", - /* 270 */ "distinct", - /* 271 */ "expr", - /* 272 */ "as", - /* 273 */ "tablelist", - /* 274 */ "sub", - /* 275 */ "tmvar", - /* 276 */ "timestamp", - /* 277 */ "intervalKey", - /* 278 */ "sortlist", - /* 279 */ "item", - /* 280 */ "sortorder", - /* 281 */ "arrow", - /* 282 */ "grouplist", - /* 283 */ "expritem", + /* 146 */ "TODAY", + /* 147 */ "RESET", + /* 148 */ "QUERY", + /* 149 */ "SYNCDB", + /* 150 */ "ADD", + /* 151 */ "COLUMN", + /* 152 */ "MODIFY", + /* 153 */ "TAG", + /* 154 */ "CHANGE", + /* 155 */ "SET", + /* 156 */ "KILL", + /* 157 */ "CONNECTION", + /* 158 */ "STREAM", + /* 159 */ "COLON", + /* 160 */ "ABORT", + /* 161 */ "AFTER", + /* 162 */ "ATTACH", + /* 163 */ "BEFORE", + /* 164 */ "BEGIN", + /* 165 */ "CASCADE", + /* 166 */ "CLUSTER", + /* 167 */ "CONFLICT", + /* 168 */ "COPY", + /* 169 */ "DEFERRED", + /* 170 */ "DELIMITERS", + /* 171 */ "DETACH", + /* 172 */ "EACH", + /* 173 */ "END", + /* 174 */ "EXPLAIN", + /* 175 */ "FAIL", + /* 176 */ "FOR", + /* 177 */ "IGNORE", + /* 178 */ "IMMEDIATE", + /* 179 */ "INITIALLY", + /* 180 */ "INSTEAD", + /* 181 */ "KEY", + /* 182 */ "OF", + /* 183 */ "RAISE", + /* 184 */ "REPLACE", + /* 185 */ "RESTRICT", + /* 186 */ "ROW", + /* 187 */ "STATEMENT", + /* 188 */ "TRIGGER", + /* 189 */ "VIEW", + /* 190 */ "IPTOKEN", + /* 191 */ "SEMI", + /* 192 */ "NONE", + /* 193 */ "PREV", + /* 194 */ "LINEAR", + /* 195 */ "IMPORT", + /* 196 */ "TBNAME", + /* 197 */ "JOIN", + /* 198 */ "INSERT", + /* 199 */ "INTO", + /* 200 */ "VALUES", + /* 201 */ "FILE", + /* 202 */ "program", + /* 203 */ "cmd", + /* 204 */ "ids", + /* 205 */ "dbPrefix", + /* 206 */ "cpxName", + /* 207 */ "ifexists", + /* 208 */ "alter_db_optr", + /* 209 */ "alter_topic_optr", + /* 210 */ "acct_optr", + /* 211 */ "exprlist", + /* 212 */ "ifnotexists", + /* 213 */ "db_optr", + /* 214 */ "topic_optr", + /* 215 */ "typename", + /* 216 */ "bufsize", + /* 217 */ "pps", + /* 218 */ "tseries", + /* 219 */ "dbs", + /* 220 */ "streams", + /* 221 */ "storage", + /* 222 */ "qtime", + /* 223 */ "users", + /* 224 */ "conns", + /* 225 */ "state", + /* 226 */ "intitemlist", + /* 227 */ "intitem", + /* 228 */ "keep", + /* 229 */ "cache", + /* 230 */ "replica", + /* 231 */ "quorum", + /* 232 */ "days", + /* 233 */ "minrows", + /* 234 */ "maxrows", + /* 235 */ "blocks", + /* 236 */ "ctime", + /* 237 */ "wal", + /* 238 */ "fsync", + /* 239 */ "comp", + /* 240 */ "prec", + /* 241 */ "update", + /* 242 */ "cachelast", + /* 243 */ "partitions", + /* 244 */ "signed", + /* 245 */ "create_table_args", + /* 246 */ "create_stable_args", + /* 247 */ "create_table_list", + /* 248 */ "create_from_stable", + /* 249 */ "columnlist", + /* 250 */ "tagitemlist", + /* 251 */ "tagNamelist", + /* 252 */ "select", + /* 253 */ "column", + /* 254 */ "tagitem", + /* 255 */ "selcollist", + /* 256 */ "from", + /* 257 */ "where_opt", + /* 258 */ "range_option", + /* 259 */ "interval_option", + /* 260 */ "sliding_opt", + /* 261 */ "session_option", + /* 262 */ "windowstate_option", + /* 263 */ "fill_opt", + /* 264 */ "groupby_opt", + /* 265 */ "having_opt", + /* 266 */ "orderby_opt", + /* 267 */ "slimit_opt", + /* 268 */ "limit_opt", + /* 269 */ "union", + /* 270 */ "sclp", + /* 271 */ "distinct", + /* 272 */ "expr", + /* 273 */ "as", + /* 274 */ "tablelist", + /* 275 */ "sub", + /* 276 */ "tmvar", + /* 277 */ "timestamp", + /* 278 */ "intervalKey", + /* 279 */ "sortlist", + /* 280 */ "item", + /* 281 */ "sortorder", + /* 282 */ "arrow", + /* 283 */ "grouplist", + /* 284 */ "expritem", }; #endif /* defined(YYCOVERAGE) || !defined(NDEBUG) */ @@ -1579,64 +1383,65 @@ static const char *const yyRuleName[] = { /* 254 */ "expr ::= PLUS FLOAT", /* 255 */ "expr ::= STRING", /* 256 */ "expr ::= NOW", - /* 257 */ "expr ::= VARIABLE", - /* 258 */ "expr ::= PLUS VARIABLE", - /* 259 */ "expr ::= MINUS VARIABLE", - /* 260 */ "expr ::= BOOL", - /* 261 */ "expr ::= NULL", - /* 262 */ "expr ::= ID LP exprlist RP", - /* 263 */ "expr ::= ID LP STAR RP", - /* 264 */ "expr ::= ID LP expr AS typename RP", - /* 265 */ "expr ::= expr IS NULL", - /* 266 */ "expr ::= expr IS NOT NULL", - /* 267 */ "expr ::= expr LT expr", - /* 268 */ "expr ::= expr GT expr", - /* 269 */ "expr ::= expr LE expr", - /* 270 */ "expr ::= expr GE expr", - /* 271 */ "expr ::= expr NE expr", - /* 272 */ "expr ::= expr EQ expr", - /* 273 */ "expr ::= expr BETWEEN expr AND expr", - /* 274 */ "expr ::= expr AND expr", - /* 275 */ "expr ::= expr OR expr", - /* 276 */ "expr ::= expr PLUS expr", - /* 277 */ "expr ::= expr MINUS expr", - /* 278 */ "expr ::= expr STAR expr", - /* 279 */ "expr ::= expr SLASH expr", - /* 280 */ "expr ::= expr REM expr", - /* 281 */ "expr ::= expr LIKE expr", - /* 282 */ "expr ::= expr MATCH expr", - /* 283 */ "expr ::= expr NMATCH expr", - /* 284 */ "expr ::= ID CONTAINS STRING", - /* 285 */ "expr ::= ID DOT ID CONTAINS STRING", - /* 286 */ "arrow ::= ID ARROW STRING", - /* 287 */ "arrow ::= ID DOT ID ARROW STRING", - /* 288 */ "expr ::= arrow", - /* 289 */ "expr ::= expr IN LP exprlist RP", - /* 290 */ "exprlist ::= exprlist COMMA expritem", - /* 291 */ "exprlist ::= expritem", - /* 292 */ "expritem ::= expr", - /* 293 */ "expritem ::=", - /* 294 */ "cmd ::= RESET QUERY CACHE", - /* 295 */ "cmd ::= SYNCDB ids REPLICA", - /* 296 */ "cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist", - /* 297 */ "cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids", - /* 298 */ "cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist", - /* 299 */ "cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist", - /* 300 */ "cmd ::= ALTER TABLE ids cpxName DROP TAG ids", - /* 301 */ "cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids", - /* 302 */ "cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem", - /* 303 */ "cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist", - /* 304 */ "cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist", - /* 305 */ "cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids", - /* 306 */ "cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist", - /* 307 */ "cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist", - /* 308 */ "cmd ::= ALTER STABLE ids cpxName DROP TAG ids", - /* 309 */ "cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids", - /* 310 */ "cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem", - /* 311 */ "cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist", - /* 312 */ "cmd ::= KILL CONNECTION INTEGER", - /* 313 */ "cmd ::= KILL STREAM INTEGER COLON INTEGER", - /* 314 */ "cmd ::= KILL QUERY INTEGER COLON INTEGER", + /* 257 */ "expr ::= TODAY", + /* 258 */ "expr ::= VARIABLE", + /* 259 */ "expr ::= PLUS VARIABLE", + /* 260 */ "expr ::= MINUS VARIABLE", + /* 261 */ "expr ::= BOOL", + /* 262 */ "expr ::= NULL", + /* 263 */ "expr ::= ID LP exprlist RP", + /* 264 */ "expr ::= ID LP STAR RP", + /* 265 */ "expr ::= ID LP expr AS typename RP", + /* 266 */ "expr ::= expr IS NULL", + /* 267 */ "expr ::= expr IS NOT NULL", + /* 268 */ "expr ::= expr LT expr", + /* 269 */ "expr ::= expr GT expr", + /* 270 */ "expr ::= expr LE expr", + /* 271 */ "expr ::= expr GE expr", + /* 272 */ "expr ::= expr NE expr", + /* 273 */ "expr ::= expr EQ expr", + /* 274 */ "expr ::= expr BETWEEN expr AND expr", + /* 275 */ "expr ::= expr AND expr", + /* 276 */ "expr ::= expr OR expr", + /* 277 */ "expr ::= expr PLUS expr", + /* 278 */ "expr ::= expr MINUS expr", + /* 279 */ "expr ::= expr STAR expr", + /* 280 */ "expr ::= expr SLASH expr", + /* 281 */ "expr ::= expr REM expr", + /* 282 */ "expr ::= expr LIKE expr", + /* 283 */ "expr ::= expr MATCH expr", + /* 284 */ "expr ::= expr NMATCH expr", + /* 285 */ "expr ::= ID CONTAINS STRING", + /* 286 */ "expr ::= ID DOT ID CONTAINS STRING", + /* 287 */ "arrow ::= ID ARROW STRING", + /* 288 */ "arrow ::= ID DOT ID ARROW STRING", + /* 289 */ "expr ::= arrow", + /* 290 */ "expr ::= expr IN LP exprlist RP", + /* 291 */ "exprlist ::= exprlist COMMA expritem", + /* 292 */ "exprlist ::= expritem", + /* 293 */ "expritem ::= expr", + /* 294 */ "expritem ::=", + /* 295 */ "cmd ::= RESET QUERY CACHE", + /* 296 */ "cmd ::= SYNCDB ids REPLICA", + /* 297 */ "cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist", + /* 298 */ "cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids", + /* 299 */ "cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist", + /* 300 */ "cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist", + /* 301 */ "cmd ::= ALTER TABLE ids cpxName DROP TAG ids", + /* 302 */ "cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids", + /* 303 */ "cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem", + /* 304 */ "cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist", + /* 305 */ "cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist", + /* 306 */ "cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids", + /* 307 */ "cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist", + /* 308 */ "cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist", + /* 309 */ "cmd ::= ALTER STABLE ids cpxName DROP TAG ids", + /* 310 */ "cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids", + /* 311 */ "cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem", + /* 312 */ "cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist", + /* 313 */ "cmd ::= KILL CONNECTION INTEGER", + /* 314 */ "cmd ::= KILL STREAM INTEGER COLON INTEGER", + /* 315 */ "cmd ::= KILL QUERY INTEGER COLON INTEGER", }; #endif /* NDEBUG */ @@ -1762,57 +1567,57 @@ static void yy_destructor( ** inside the C code. */ /********* Begin destructor definitions ***************************************/ - case 210: /* exprlist */ - case 254: /* selcollist */ - case 269: /* sclp */ + case 211: /* exprlist */ + case 255: /* selcollist */ + case 270: /* sclp */ { -tSqlExprListDestroy((yypminor->yy189)); +tSqlExprListDestroy((yypminor->yy231)); } break; - case 225: /* intitemlist */ - case 227: /* keep */ - case 248: /* columnlist */ - case 249: /* tagitemlist */ - case 250: /* tagNamelist */ - case 262: /* fill_opt */ - case 263: /* groupby_opt */ - case 265: /* orderby_opt */ - case 278: /* sortlist */ - case 282: /* grouplist */ + case 226: /* intitemlist */ + case 228: /* keep */ + case 249: /* columnlist */ + case 250: /* tagitemlist */ + case 251: /* tagNamelist */ + case 263: /* fill_opt */ + case 264: /* groupby_opt */ + case 266: /* orderby_opt */ + case 279: /* sortlist */ + case 283: /* grouplist */ { -taosArrayDestroy(&(yypminor->yy189)); +taosArrayDestroy(&(yypminor->yy231)); } break; - case 246: /* create_table_list */ + case 247: /* create_table_list */ { -destroyCreateTableSql((yypminor->yy6)); +destroyCreateTableSql((yypminor->yy422)); } break; - case 251: /* select */ + case 252: /* select */ { -destroySqlNode((yypminor->yy16)); +destroySqlNode((yypminor->yy86)); } break; - case 255: /* from */ - case 273: /* tablelist */ - case 274: /* sub */ + case 256: /* from */ + case 274: /* tablelist */ + case 275: /* sub */ { -destroyRelationInfo((yypminor->yy36)); +destroyRelationInfo((yypminor->yy484)); } break; - case 256: /* where_opt */ - case 264: /* having_opt */ - case 271: /* expr */ - case 276: /* timestamp */ - case 281: /* arrow */ - case 283: /* expritem */ + case 257: /* where_opt */ + case 265: /* having_opt */ + case 272: /* expr */ + case 277: /* timestamp */ + case 282: /* arrow */ + case 284: /* expritem */ { -tSqlExprDestroy((yypminor->yy18)); +tSqlExprDestroy((yypminor->yy226)); } break; - case 268: /* union */ + case 269: /* union */ { -destroyAllSqlNode((yypminor->yy189)); +destroyAllSqlNode((yypminor->yy231)); } break; /********* End destructor definitions *****************************************/ @@ -1979,7 +1784,7 @@ static YYACTIONTYPE yy_find_shift_action( #endif /* YYWILDCARD */ return yy_default[stateno]; }else{ - assert( i>=0 && i<(int)(sizeof(yy_action)/sizeof(yy_action[0])) ); + assert( i>=0 && iyytos; +#ifndef NDEBUG + if( yyTraceFILE && yyruleno<(int)(sizeof(yyRuleName)/sizeof(yyRuleName[0])) ){ + yysize = yyRuleInfoNRhs[yyruleno]; + if( yysize ){ + fprintf(yyTraceFILE, "%sReduce %d [%s]%s, pop back to state %d.\n", + yyTracePrompt, + yyruleno, yyRuleName[yyruleno], + yyrulenoyytos - yypParser->yystack)>yypParser->yyhwm ){ + yypParser->yyhwm++; + assert( yypParser->yyhwm == (int)(yypParser->yytos - yypParser->yystack)); + } +#endif +#if YYSTACKDEPTH>0 + if( yypParser->yytos>=yypParser->yystackEnd ){ + yyStackOverflow(yypParser); + /* The call to yyStackOverflow() above pops the stack until it is + ** empty, causing the main parser loop to exit. So the return value + ** is never used and does not matter. */ + return 0; + } +#else + if( yypParser->yytos>=&yypParser->yystack[yypParser->yystksz-1] ){ + if( yyGrowStack(yypParser) ){ + yyStackOverflow(yypParser); + /* The call to yyStackOverflow() above pops the stack until it is + ** empty, causing the main parser loop to exit. So the return value + ** is never used and does not matter. */ + return 0; + } + yymsp = yypParser->yytos; + } +#endif + } switch( yyruleno ){ /* Beginning here are the reduction cases. A typical example @@ -2950,16 +2805,16 @@ static YYACTIONTYPE yy_reduce( break; case 46: /* cmd ::= ALTER DATABASE ids alter_db_optr */ case 47: /* cmd ::= ALTER TOPIC ids alter_topic_optr */ yytestcase(yyruleno==47); -{ SStrToken t = {0}; setCreateDbInfo(pInfo, TSDB_SQL_ALTER_DB, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy470, &t);} +{ SStrToken t = {0}; setCreateDbInfo(pInfo, TSDB_SQL_ALTER_DB, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy532, &t);} break; case 48: /* cmd ::= ALTER ACCOUNT ids acct_optr */ -{ setCreateAcctSql(pInfo, TSDB_SQL_ALTER_ACCT, &yymsp[-1].minor.yy0, NULL, &yymsp[0].minor.yy51);} +{ setCreateAcctSql(pInfo, TSDB_SQL_ALTER_ACCT, &yymsp[-1].minor.yy0, NULL, &yymsp[0].minor.yy31);} break; case 49: /* 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.yy51);} +{ setCreateAcctSql(pInfo, TSDB_SQL_ALTER_ACCT, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy31);} break; case 50: /* cmd ::= COMPACT VNODES IN LP exprlist RP */ -{ setCompactVnodeSql(pInfo, TSDB_SQL_COMPACT_VNODE, yymsp[-1].minor.yy189);} +{ setCompactVnodeSql(pInfo, TSDB_SQL_COMPACT_VNODE, yymsp[-1].minor.yy231);} break; case 51: /* ids ::= ID */ case 52: /* ids ::= STRING */ yytestcase(yyruleno==52); @@ -2981,17 +2836,17 @@ static YYACTIONTYPE yy_reduce( { setDCLSqlElems(pInfo, TSDB_SQL_CREATE_DNODE, 1, &yymsp[0].minor.yy0);} break; case 58: /* 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.yy51);} +{ setCreateAcctSql(pInfo, TSDB_SQL_CREATE_ACCT, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy31);} break; case 59: /* cmd ::= CREATE DATABASE ifnotexists ids db_optr */ case 60: /* cmd ::= CREATE TOPIC ifnotexists ids topic_optr */ yytestcase(yyruleno==60); -{ setCreateDbInfo(pInfo, TSDB_SQL_CREATE_DB, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy470, &yymsp[-2].minor.yy0);} +{ setCreateDbInfo(pInfo, TSDB_SQL_CREATE_DB, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy532, &yymsp[-2].minor.yy0);} break; case 61: /* 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.yy279, &yymsp[0].minor.yy0, 1);} +{ setCreateFuncInfo(pInfo, TSDB_SQL_CREATE_FUNCTION, &yymsp[-5].minor.yy0, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy103, &yymsp[0].minor.yy0, 1);} break; case 62: /* 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.yy279, &yymsp[0].minor.yy0, 2);} +{ setCreateFuncInfo(pInfo, TSDB_SQL_CREATE_FUNCTION, &yymsp[-5].minor.yy0, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy103, &yymsp[0].minor.yy0, 2);} break; case 63: /* cmd ::= CREATE USER ids PASS ids */ { setCreateUserSql(pInfo, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0);} @@ -3022,38 +2877,38 @@ static YYACTIONTYPE yy_reduce( break; case 84: /* acct_optr ::= pps tseries storage streams qtime dbs users conns state */ { - yylhsminor.yy51.maxUsers = (yymsp[-2].minor.yy0.n>0)?atoi(yymsp[-2].minor.yy0.z):-1; - yylhsminor.yy51.maxDbs = (yymsp[-3].minor.yy0.n>0)?atoi(yymsp[-3].minor.yy0.z):-1; - yylhsminor.yy51.maxTimeSeries = (yymsp[-7].minor.yy0.n>0)?atoi(yymsp[-7].minor.yy0.z):-1; - yylhsminor.yy51.maxStreams = (yymsp[-5].minor.yy0.n>0)?atoi(yymsp[-5].minor.yy0.z):-1; - yylhsminor.yy51.maxPointsPerSecond = (yymsp[-8].minor.yy0.n>0)?atoi(yymsp[-8].minor.yy0.z):-1; - yylhsminor.yy51.maxStorage = (yymsp[-6].minor.yy0.n>0)?strtoll(yymsp[-6].minor.yy0.z, NULL, 10):-1; - yylhsminor.yy51.maxQueryTime = (yymsp[-4].minor.yy0.n>0)?strtoll(yymsp[-4].minor.yy0.z, NULL, 10):-1; - yylhsminor.yy51.maxConnections = (yymsp[-1].minor.yy0.n>0)?atoi(yymsp[-1].minor.yy0.z):-1; - yylhsminor.yy51.stat = yymsp[0].minor.yy0; + yylhsminor.yy31.maxUsers = (yymsp[-2].minor.yy0.n>0)?atoi(yymsp[-2].minor.yy0.z):-1; + yylhsminor.yy31.maxDbs = (yymsp[-3].minor.yy0.n>0)?atoi(yymsp[-3].minor.yy0.z):-1; + yylhsminor.yy31.maxTimeSeries = (yymsp[-7].minor.yy0.n>0)?atoi(yymsp[-7].minor.yy0.z):-1; + yylhsminor.yy31.maxStreams = (yymsp[-5].minor.yy0.n>0)?atoi(yymsp[-5].minor.yy0.z):-1; + yylhsminor.yy31.maxPointsPerSecond = (yymsp[-8].minor.yy0.n>0)?atoi(yymsp[-8].minor.yy0.z):-1; + yylhsminor.yy31.maxStorage = (yymsp[-6].minor.yy0.n>0)?strtoll(yymsp[-6].minor.yy0.z, NULL, 10):-1; + yylhsminor.yy31.maxQueryTime = (yymsp[-4].minor.yy0.n>0)?strtoll(yymsp[-4].minor.yy0.z, NULL, 10):-1; + yylhsminor.yy31.maxConnections = (yymsp[-1].minor.yy0.n>0)?atoi(yymsp[-1].minor.yy0.z):-1; + yylhsminor.yy31.stat = yymsp[0].minor.yy0; } - yymsp[-8].minor.yy51 = yylhsminor.yy51; + yymsp[-8].minor.yy31 = yylhsminor.yy31; break; case 85: /* intitemlist ::= intitemlist COMMA intitem */ case 154: /* tagitemlist ::= tagitemlist COMMA tagitem */ yytestcase(yyruleno==154); -{ yylhsminor.yy189 = tVariantListAppend(yymsp[-2].minor.yy189, &yymsp[0].minor.yy162, -1); } - yymsp[-2].minor.yy189 = yylhsminor.yy189; +{ yylhsminor.yy231 = tVariantListAppend(yymsp[-2].minor.yy231, &yymsp[0].minor.yy176, -1); } + yymsp[-2].minor.yy231 = yylhsminor.yy231; break; case 86: /* intitemlist ::= intitem */ case 155: /* tagitemlist ::= tagitem */ yytestcase(yyruleno==155); -{ yylhsminor.yy189 = tVariantListAppend(NULL, &yymsp[0].minor.yy162, -1); } - yymsp[0].minor.yy189 = yylhsminor.yy189; +{ yylhsminor.yy231 = tVariantListAppend(NULL, &yymsp[0].minor.yy176, -1); } + yymsp[0].minor.yy231 = yylhsminor.yy231; break; case 87: /* intitem ::= INTEGER */ case 156: /* tagitem ::= INTEGER */ yytestcase(yyruleno==156); case 157: /* tagitem ::= FLOAT */ yytestcase(yyruleno==157); case 158: /* tagitem ::= STRING */ yytestcase(yyruleno==158); case 159: /* tagitem ::= BOOL */ yytestcase(yyruleno==159); -{ toTSDBType(yymsp[0].minor.yy0.type); tVariantCreate(&yylhsminor.yy162, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy162 = yylhsminor.yy162; +{ toTSDBType(yymsp[0].minor.yy0.type); tVariantCreate(&yylhsminor.yy176, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy176 = yylhsminor.yy176; break; case 88: /* keep ::= KEEP intitemlist */ -{ yymsp[-1].minor.yy189 = yymsp[0].minor.yy189; } +{ yymsp[-1].minor.yy231 = yymsp[0].minor.yy231; } break; case 89: /* cache ::= CACHE INTEGER */ case 90: /* replica ::= REPLICA INTEGER */ yytestcase(yyruleno==90); @@ -3073,232 +2928,232 @@ static YYACTIONTYPE yy_reduce( { yymsp[-1].minor.yy0 = yymsp[0].minor.yy0; } break; case 104: /* db_optr ::= */ -{setDefaultCreateDbOption(&yymsp[1].minor.yy470); yymsp[1].minor.yy470.dbType = TSDB_DB_TYPE_DEFAULT;} +{setDefaultCreateDbOption(&yymsp[1].minor.yy532); yymsp[1].minor.yy532.dbType = TSDB_DB_TYPE_DEFAULT;} break; case 105: /* db_optr ::= db_optr cache */ -{ yylhsminor.yy470 = yymsp[-1].minor.yy470; yylhsminor.yy470.cacheBlockSize = strtol(yymsp[0].minor.yy0.z, NULL, 10); } - yymsp[-1].minor.yy470 = yylhsminor.yy470; +{ yylhsminor.yy532 = yymsp[-1].minor.yy532; yylhsminor.yy532.cacheBlockSize = strtol(yymsp[0].minor.yy0.z, NULL, 10); } + yymsp[-1].minor.yy532 = yylhsminor.yy532; break; case 106: /* db_optr ::= db_optr replica */ case 123: /* alter_db_optr ::= alter_db_optr replica */ yytestcase(yyruleno==123); -{ yylhsminor.yy470 = yymsp[-1].minor.yy470; yylhsminor.yy470.replica = strtol(yymsp[0].minor.yy0.z, NULL, 10); } - yymsp[-1].minor.yy470 = yylhsminor.yy470; +{ yylhsminor.yy532 = yymsp[-1].minor.yy532; yylhsminor.yy532.replica = strtol(yymsp[0].minor.yy0.z, NULL, 10); } + yymsp[-1].minor.yy532 = yylhsminor.yy532; break; case 107: /* db_optr ::= db_optr quorum */ case 124: /* alter_db_optr ::= alter_db_optr quorum */ yytestcase(yyruleno==124); -{ yylhsminor.yy470 = yymsp[-1].minor.yy470; yylhsminor.yy470.quorum = strtol(yymsp[0].minor.yy0.z, NULL, 10); } - yymsp[-1].minor.yy470 = yylhsminor.yy470; +{ yylhsminor.yy532 = yymsp[-1].minor.yy532; yylhsminor.yy532.quorum = strtol(yymsp[0].minor.yy0.z, NULL, 10); } + yymsp[-1].minor.yy532 = yylhsminor.yy532; break; case 108: /* db_optr ::= db_optr days */ -{ yylhsminor.yy470 = yymsp[-1].minor.yy470; yylhsminor.yy470.daysPerFile = strtol(yymsp[0].minor.yy0.z, NULL, 10); } - yymsp[-1].minor.yy470 = yylhsminor.yy470; +{ yylhsminor.yy532 = yymsp[-1].minor.yy532; yylhsminor.yy532.daysPerFile = strtol(yymsp[0].minor.yy0.z, NULL, 10); } + yymsp[-1].minor.yy532 = yylhsminor.yy532; break; case 109: /* db_optr ::= db_optr minrows */ -{ yylhsminor.yy470 = yymsp[-1].minor.yy470; yylhsminor.yy470.minRowsPerBlock = strtod(yymsp[0].minor.yy0.z, NULL); } - yymsp[-1].minor.yy470 = yylhsminor.yy470; +{ yylhsminor.yy532 = yymsp[-1].minor.yy532; yylhsminor.yy532.minRowsPerBlock = strtod(yymsp[0].minor.yy0.z, NULL); } + yymsp[-1].minor.yy532 = yylhsminor.yy532; break; case 110: /* db_optr ::= db_optr maxrows */ -{ yylhsminor.yy470 = yymsp[-1].minor.yy470; yylhsminor.yy470.maxRowsPerBlock = strtod(yymsp[0].minor.yy0.z, NULL); } - yymsp[-1].minor.yy470 = yylhsminor.yy470; +{ yylhsminor.yy532 = yymsp[-1].minor.yy532; yylhsminor.yy532.maxRowsPerBlock = strtod(yymsp[0].minor.yy0.z, NULL); } + yymsp[-1].minor.yy532 = yylhsminor.yy532; break; case 111: /* db_optr ::= db_optr blocks */ case 126: /* alter_db_optr ::= alter_db_optr blocks */ yytestcase(yyruleno==126); -{ yylhsminor.yy470 = yymsp[-1].minor.yy470; yylhsminor.yy470.numOfBlocks = strtol(yymsp[0].minor.yy0.z, NULL, 10); } - yymsp[-1].minor.yy470 = yylhsminor.yy470; +{ yylhsminor.yy532 = yymsp[-1].minor.yy532; yylhsminor.yy532.numOfBlocks = strtol(yymsp[0].minor.yy0.z, NULL, 10); } + yymsp[-1].minor.yy532 = yylhsminor.yy532; break; case 112: /* db_optr ::= db_optr ctime */ -{ yylhsminor.yy470 = yymsp[-1].minor.yy470; yylhsminor.yy470.commitTime = strtol(yymsp[0].minor.yy0.z, NULL, 10); } - yymsp[-1].minor.yy470 = yylhsminor.yy470; +{ yylhsminor.yy532 = yymsp[-1].minor.yy532; yylhsminor.yy532.commitTime = strtol(yymsp[0].minor.yy0.z, NULL, 10); } + yymsp[-1].minor.yy532 = yylhsminor.yy532; break; case 113: /* db_optr ::= db_optr wal */ -{ yylhsminor.yy470 = yymsp[-1].minor.yy470; yylhsminor.yy470.walLevel = strtol(yymsp[0].minor.yy0.z, NULL, 10); } - yymsp[-1].minor.yy470 = yylhsminor.yy470; +{ yylhsminor.yy532 = yymsp[-1].minor.yy532; yylhsminor.yy532.walLevel = strtol(yymsp[0].minor.yy0.z, NULL, 10); } + yymsp[-1].minor.yy532 = yylhsminor.yy532; break; case 114: /* db_optr ::= db_optr fsync */ -{ yylhsminor.yy470 = yymsp[-1].minor.yy470; yylhsminor.yy470.fsyncPeriod = strtol(yymsp[0].minor.yy0.z, NULL, 10); } - yymsp[-1].minor.yy470 = yylhsminor.yy470; +{ yylhsminor.yy532 = yymsp[-1].minor.yy532; yylhsminor.yy532.fsyncPeriod = strtol(yymsp[0].minor.yy0.z, NULL, 10); } + yymsp[-1].minor.yy532 = yylhsminor.yy532; break; case 115: /* db_optr ::= db_optr comp */ case 127: /* alter_db_optr ::= alter_db_optr comp */ yytestcase(yyruleno==127); -{ yylhsminor.yy470 = yymsp[-1].minor.yy470; yylhsminor.yy470.compressionLevel = strtol(yymsp[0].minor.yy0.z, NULL, 10); } - yymsp[-1].minor.yy470 = yylhsminor.yy470; +{ yylhsminor.yy532 = yymsp[-1].minor.yy532; yylhsminor.yy532.compressionLevel = strtol(yymsp[0].minor.yy0.z, NULL, 10); } + yymsp[-1].minor.yy532 = yylhsminor.yy532; break; case 116: /* db_optr ::= db_optr prec */ -{ yylhsminor.yy470 = yymsp[-1].minor.yy470; yylhsminor.yy470.precision = yymsp[0].minor.yy0; } - yymsp[-1].minor.yy470 = yylhsminor.yy470; +{ yylhsminor.yy532 = yymsp[-1].minor.yy532; yylhsminor.yy532.precision = yymsp[0].minor.yy0; } + yymsp[-1].minor.yy532 = yylhsminor.yy532; break; case 117: /* db_optr ::= db_optr keep */ case 125: /* alter_db_optr ::= alter_db_optr keep */ yytestcase(yyruleno==125); -{ yylhsminor.yy470 = yymsp[-1].minor.yy470; yylhsminor.yy470.keep = yymsp[0].minor.yy189; } - yymsp[-1].minor.yy470 = yylhsminor.yy470; +{ yylhsminor.yy532 = yymsp[-1].minor.yy532; yylhsminor.yy532.keep = yymsp[0].minor.yy231; } + yymsp[-1].minor.yy532 = yylhsminor.yy532; break; case 118: /* db_optr ::= db_optr update */ case 128: /* alter_db_optr ::= alter_db_optr update */ yytestcase(yyruleno==128); -{ yylhsminor.yy470 = yymsp[-1].minor.yy470; yylhsminor.yy470.update = strtol(yymsp[0].minor.yy0.z, NULL, 10); } - yymsp[-1].minor.yy470 = yylhsminor.yy470; +{ yylhsminor.yy532 = yymsp[-1].minor.yy532; yylhsminor.yy532.update = strtol(yymsp[0].minor.yy0.z, NULL, 10); } + yymsp[-1].minor.yy532 = yylhsminor.yy532; break; case 119: /* db_optr ::= db_optr cachelast */ case 129: /* alter_db_optr ::= alter_db_optr cachelast */ yytestcase(yyruleno==129); -{ yylhsminor.yy470 = yymsp[-1].minor.yy470; yylhsminor.yy470.cachelast = strtol(yymsp[0].minor.yy0.z, NULL, 10); } - yymsp[-1].minor.yy470 = yylhsminor.yy470; +{ yylhsminor.yy532 = yymsp[-1].minor.yy532; yylhsminor.yy532.cachelast = strtol(yymsp[0].minor.yy0.z, NULL, 10); } + yymsp[-1].minor.yy532 = yylhsminor.yy532; break; case 120: /* topic_optr ::= db_optr */ case 130: /* alter_topic_optr ::= alter_db_optr */ yytestcase(yyruleno==130); -{ yylhsminor.yy470 = yymsp[0].minor.yy470; yylhsminor.yy470.dbType = TSDB_DB_TYPE_TOPIC; } - yymsp[0].minor.yy470 = yylhsminor.yy470; +{ yylhsminor.yy532 = yymsp[0].minor.yy532; yylhsminor.yy532.dbType = TSDB_DB_TYPE_TOPIC; } + yymsp[0].minor.yy532 = yylhsminor.yy532; break; case 121: /* topic_optr ::= topic_optr partitions */ case 131: /* alter_topic_optr ::= alter_topic_optr partitions */ yytestcase(yyruleno==131); -{ yylhsminor.yy470 = yymsp[-1].minor.yy470; yylhsminor.yy470.partitions = strtol(yymsp[0].minor.yy0.z, NULL, 10); } - yymsp[-1].minor.yy470 = yylhsminor.yy470; +{ yylhsminor.yy532 = yymsp[-1].minor.yy532; yylhsminor.yy532.partitions = strtol(yymsp[0].minor.yy0.z, NULL, 10); } + yymsp[-1].minor.yy532 = yylhsminor.yy532; break; case 122: /* alter_db_optr ::= */ -{ setDefaultCreateDbOption(&yymsp[1].minor.yy470); yymsp[1].minor.yy470.dbType = TSDB_DB_TYPE_DEFAULT;} +{ setDefaultCreateDbOption(&yymsp[1].minor.yy532); yymsp[1].minor.yy532.dbType = TSDB_DB_TYPE_DEFAULT;} break; case 132: /* typename ::= ids */ { yymsp[0].minor.yy0.type = 0; - tSetColumnType (&yylhsminor.yy279, &yymsp[0].minor.yy0); + tSetColumnType (&yylhsminor.yy103, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy279 = yylhsminor.yy279; + yymsp[0].minor.yy103 = yylhsminor.yy103; break; case 133: /* typename ::= ids LP signed RP */ { - if (yymsp[-1].minor.yy69 <= 0) { + if (yymsp[-1].minor.yy549 <= 0) { yymsp[-3].minor.yy0.type = 0; - tSetColumnType(&yylhsminor.yy279, &yymsp[-3].minor.yy0); + tSetColumnType(&yylhsminor.yy103, &yymsp[-3].minor.yy0); } else { - yymsp[-3].minor.yy0.type = -yymsp[-1].minor.yy69; // negative value of name length - tSetColumnType(&yylhsminor.yy279, &yymsp[-3].minor.yy0); + yymsp[-3].minor.yy0.type = -yymsp[-1].minor.yy549; // negative value of name length + tSetColumnType(&yylhsminor.yy103, &yymsp[-3].minor.yy0); } } - yymsp[-3].minor.yy279 = yylhsminor.yy279; + yymsp[-3].minor.yy103 = yylhsminor.yy103; break; case 134: /* typename ::= ids UNSIGNED */ { yymsp[-1].minor.yy0.type = 0; yymsp[-1].minor.yy0.n = ((yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z); - tSetColumnType (&yylhsminor.yy279, &yymsp[-1].minor.yy0); + tSetColumnType (&yylhsminor.yy103, &yymsp[-1].minor.yy0); } - yymsp[-1].minor.yy279 = yylhsminor.yy279; + yymsp[-1].minor.yy103 = yylhsminor.yy103; break; case 135: /* signed ::= INTEGER */ -{ yylhsminor.yy69 = strtol(yymsp[0].minor.yy0.z, NULL, 10); } - yymsp[0].minor.yy69 = yylhsminor.yy69; +{ yylhsminor.yy549 = strtol(yymsp[0].minor.yy0.z, NULL, 10); } + yymsp[0].minor.yy549 = yylhsminor.yy549; break; case 136: /* signed ::= PLUS INTEGER */ -{ yymsp[-1].minor.yy69 = strtol(yymsp[0].minor.yy0.z, NULL, 10); } +{ yymsp[-1].minor.yy549 = strtol(yymsp[0].minor.yy0.z, NULL, 10); } break; case 137: /* signed ::= MINUS INTEGER */ -{ yymsp[-1].minor.yy69 = -strtol(yymsp[0].minor.yy0.z, NULL, 10);} +{ yymsp[-1].minor.yy549 = -strtol(yymsp[0].minor.yy0.z, NULL, 10);} break; case 141: /* cmd ::= CREATE TABLE create_table_list */ -{ pInfo->type = TSDB_SQL_CREATE_TABLE; pInfo->pCreateTableInfo = yymsp[0].minor.yy6;} +{ pInfo->type = TSDB_SQL_CREATE_TABLE; pInfo->pCreateTableInfo = yymsp[0].minor.yy422;} break; case 142: /* create_table_list ::= create_from_stable */ { SCreateTableSql* pCreateTable = calloc(1, sizeof(SCreateTableSql)); pCreateTable->childTableInfo = taosArrayInit(4, sizeof(SCreatedTableInfo)); - taosArrayPush(pCreateTable->childTableInfo, &yymsp[0].minor.yy208); + taosArrayPush(pCreateTable->childTableInfo, &yymsp[0].minor.yy306); pCreateTable->type = TSQL_CREATE_TABLE_FROM_STABLE; - yylhsminor.yy6 = pCreateTable; + yylhsminor.yy422 = pCreateTable; } - yymsp[0].minor.yy6 = yylhsminor.yy6; + yymsp[0].minor.yy422 = yylhsminor.yy422; break; case 143: /* create_table_list ::= create_table_list create_from_stable */ { - taosArrayPush(yymsp[-1].minor.yy6->childTableInfo, &yymsp[0].minor.yy208); - yylhsminor.yy6 = yymsp[-1].minor.yy6; + taosArrayPush(yymsp[-1].minor.yy422->childTableInfo, &yymsp[0].minor.yy306); + yylhsminor.yy422 = yymsp[-1].minor.yy422; } - yymsp[-1].minor.yy6 = yylhsminor.yy6; + yymsp[-1].minor.yy422 = yylhsminor.yy422; break; case 144: /* create_table_args ::= ifnotexists ids cpxName LP columnlist RP */ { - yylhsminor.yy6 = tSetCreateTableInfo(yymsp[-1].minor.yy189, NULL, NULL, TSQL_CREATE_TABLE); - setSqlInfo(pInfo, yylhsminor.yy6, NULL, TSDB_SQL_CREATE_TABLE); + yylhsminor.yy422 = tSetCreateTableInfo(yymsp[-1].minor.yy231, NULL, NULL, TSQL_CREATE_TABLE); + setSqlInfo(pInfo, yylhsminor.yy422, NULL, TSDB_SQL_CREATE_TABLE); yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; setCreatedTableName(pInfo, &yymsp[-4].minor.yy0, &yymsp[-5].minor.yy0); } - yymsp[-5].minor.yy6 = yylhsminor.yy6; + yymsp[-5].minor.yy422 = yylhsminor.yy422; break; case 145: /* create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */ { - yylhsminor.yy6 = tSetCreateTableInfo(yymsp[-5].minor.yy189, yymsp[-1].minor.yy189, NULL, TSQL_CREATE_STABLE); - setSqlInfo(pInfo, yylhsminor.yy6, NULL, TSDB_SQL_CREATE_TABLE); + yylhsminor.yy422 = tSetCreateTableInfo(yymsp[-5].minor.yy231, yymsp[-1].minor.yy231, NULL, TSQL_CREATE_STABLE); + setSqlInfo(pInfo, yylhsminor.yy422, NULL, TSDB_SQL_CREATE_TABLE); yymsp[-8].minor.yy0.n += yymsp[-7].minor.yy0.n; setCreatedTableName(pInfo, &yymsp[-8].minor.yy0, &yymsp[-9].minor.yy0); } - yymsp[-9].minor.yy6 = yylhsminor.yy6; + yymsp[-9].minor.yy422 = yylhsminor.yy422; break; case 146: /* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */ { yymsp[-5].minor.yy0.n += yymsp[-4].minor.yy0.n; yymsp[-8].minor.yy0.n += yymsp[-7].minor.yy0.n; - yylhsminor.yy208 = createNewChildTableInfo(&yymsp[-5].minor.yy0, NULL, yymsp[-1].minor.yy189, &yymsp[-8].minor.yy0, &yymsp[-9].minor.yy0); + yylhsminor.yy306 = createNewChildTableInfo(&yymsp[-5].minor.yy0, NULL, yymsp[-1].minor.yy231, &yymsp[-8].minor.yy0, &yymsp[-9].minor.yy0); } - yymsp[-9].minor.yy208 = yylhsminor.yy208; + yymsp[-9].minor.yy306 = yylhsminor.yy306; break; case 147: /* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */ { yymsp[-8].minor.yy0.n += yymsp[-7].minor.yy0.n; yymsp[-11].minor.yy0.n += yymsp[-10].minor.yy0.n; - yylhsminor.yy208 = createNewChildTableInfo(&yymsp[-8].minor.yy0, yymsp[-5].minor.yy189, yymsp[-1].minor.yy189, &yymsp[-11].minor.yy0, &yymsp[-12].minor.yy0); + yylhsminor.yy306 = createNewChildTableInfo(&yymsp[-8].minor.yy0, yymsp[-5].minor.yy231, yymsp[-1].minor.yy231, &yymsp[-11].minor.yy0, &yymsp[-12].minor.yy0); } - yymsp[-12].minor.yy208 = yylhsminor.yy208; + yymsp[-12].minor.yy306 = yylhsminor.yy306; break; case 148: /* tagNamelist ::= tagNamelist COMMA ids */ -{taosArrayPush(yymsp[-2].minor.yy189, &yymsp[0].minor.yy0); yylhsminor.yy189 = yymsp[-2].minor.yy189; } - yymsp[-2].minor.yy189 = yylhsminor.yy189; +{taosArrayPush(yymsp[-2].minor.yy231, &yymsp[0].minor.yy0); yylhsminor.yy231 = yymsp[-2].minor.yy231; } + yymsp[-2].minor.yy231 = yylhsminor.yy231; break; case 149: /* tagNamelist ::= ids */ -{yylhsminor.yy189 = taosArrayInit(4, sizeof(SStrToken)); taosArrayPush(yylhsminor.yy189, &yymsp[0].minor.yy0);} - yymsp[0].minor.yy189 = yylhsminor.yy189; +{yylhsminor.yy231 = taosArrayInit(4, sizeof(SStrToken)); taosArrayPush(yylhsminor.yy231, &yymsp[0].minor.yy0);} + yymsp[0].minor.yy231 = yylhsminor.yy231; break; case 150: /* create_table_args ::= ifnotexists ids cpxName AS select */ { - yylhsminor.yy6 = tSetCreateTableInfo(NULL, NULL, yymsp[0].minor.yy16, TSQL_CREATE_STREAM); - setSqlInfo(pInfo, yylhsminor.yy6, NULL, TSDB_SQL_CREATE_TABLE); + yylhsminor.yy422 = tSetCreateTableInfo(NULL, NULL, yymsp[0].minor.yy86, TSQL_CREATE_STREAM); + setSqlInfo(pInfo, yylhsminor.yy422, NULL, TSDB_SQL_CREATE_TABLE); yymsp[-3].minor.yy0.n += yymsp[-2].minor.yy0.n; setCreatedTableName(pInfo, &yymsp[-3].minor.yy0, &yymsp[-4].minor.yy0); } - yymsp[-4].minor.yy6 = yylhsminor.yy6; + yymsp[-4].minor.yy422 = yylhsminor.yy422; break; case 151: /* columnlist ::= columnlist COMMA column */ -{taosArrayPush(yymsp[-2].minor.yy189, &yymsp[0].minor.yy279); yylhsminor.yy189 = yymsp[-2].minor.yy189; } - yymsp[-2].minor.yy189 = yylhsminor.yy189; +{taosArrayPush(yymsp[-2].minor.yy231, &yymsp[0].minor.yy103); yylhsminor.yy231 = yymsp[-2].minor.yy231; } + yymsp[-2].minor.yy231 = yylhsminor.yy231; break; case 152: /* columnlist ::= column */ -{yylhsminor.yy189 = taosArrayInit(4, sizeof(TAOS_FIELD)); taosArrayPush(yylhsminor.yy189, &yymsp[0].minor.yy279);} - yymsp[0].minor.yy189 = yylhsminor.yy189; +{yylhsminor.yy231 = taosArrayInit(4, sizeof(TAOS_FIELD)); taosArrayPush(yylhsminor.yy231, &yymsp[0].minor.yy103);} + yymsp[0].minor.yy231 = yylhsminor.yy231; break; case 153: /* column ::= ids typename */ { - tSetColumnInfo(&yylhsminor.yy279, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy279); + tSetColumnInfo(&yylhsminor.yy103, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy103); } - yymsp[-1].minor.yy279 = yylhsminor.yy279; + yymsp[-1].minor.yy103 = yylhsminor.yy103; break; case 160: /* tagitem ::= NULL */ -{ yymsp[0].minor.yy0.type = 0; tVariantCreate(&yylhsminor.yy162, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy162 = yylhsminor.yy162; +{ yymsp[0].minor.yy0.type = 0; tVariantCreate(&yylhsminor.yy176, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy176 = yylhsminor.yy176; break; case 161: /* tagitem ::= NOW */ -{ yymsp[0].minor.yy0.type = TSDB_DATA_TYPE_TIMESTAMP; tVariantCreateExt(&yylhsminor.yy162, &yymsp[0].minor.yy0, TK_NOW, true);} - yymsp[0].minor.yy162 = yylhsminor.yy162; +{ yymsp[0].minor.yy0.type = TSDB_DATA_TYPE_TIMESTAMP; tVariantCreateExt(&yylhsminor.yy176, &yymsp[0].minor.yy0, TK_NOW, true);} + yymsp[0].minor.yy176 = yylhsminor.yy176; break; case 162: /* tagitem ::= NOW PLUS VARIABLE */ { yymsp[0].minor.yy0.type = TSDB_DATA_TYPE_TIMESTAMP; - tVariantCreateExt(&yymsp[-2].minor.yy162, &yymsp[0].minor.yy0, TK_PLUS, true); + tVariantCreateExt(&yymsp[-2].minor.yy176, &yymsp[0].minor.yy0, TK_PLUS, true); } break; case 163: /* tagitem ::= NOW MINUS VARIABLE */ { yymsp[0].minor.yy0.type = TSDB_DATA_TYPE_TIMESTAMP; - tVariantCreateExt(&yymsp[-2].minor.yy162, &yymsp[0].minor.yy0, TK_MINUS, true); + tVariantCreateExt(&yymsp[-2].minor.yy176, &yymsp[0].minor.yy0, TK_MINUS, true); } break; case 164: /* tagitem ::= MINUS INTEGER */ @@ -3309,56 +3164,56 @@ static YYACTIONTYPE yy_reduce( yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = yymsp[0].minor.yy0.type; toTSDBType(yymsp[-1].minor.yy0.type); - tVariantCreate(&yylhsminor.yy162, &yymsp[-1].minor.yy0); + tVariantCreate(&yylhsminor.yy176, &yymsp[-1].minor.yy0); } - yymsp[-1].minor.yy162 = yylhsminor.yy162; + yymsp[-1].minor.yy176 = yylhsminor.yy176; break; case 168: /* select ::= SELECT selcollist from where_opt range_option interval_option sliding_opt session_option windowstate_option fill_opt groupby_opt having_opt orderby_opt slimit_opt limit_opt */ { - yylhsminor.yy16 = tSetQuerySqlNode(&yymsp[-14].minor.yy0, yymsp[-13].minor.yy189, yymsp[-12].minor.yy36, yymsp[-11].minor.yy18, yymsp[-4].minor.yy189, yymsp[-2].minor.yy189, &yymsp[-9].minor.yy32, &yymsp[-7].minor.yy155, &yymsp[-6].minor.yy336, &yymsp[-8].minor.yy0, yymsp[-5].minor.yy189, &yymsp[0].minor.yy38, &yymsp[-1].minor.yy38, yymsp[-3].minor.yy18, &yymsp[-10].minor.yy124); + yylhsminor.yy86 = tSetQuerySqlNode(&yymsp[-14].minor.yy0, yymsp[-13].minor.yy231, yymsp[-12].minor.yy484, yymsp[-11].minor.yy226, yymsp[-4].minor.yy231, yymsp[-2].minor.yy231, &yymsp[-9].minor.yy430, &yymsp[-7].minor.yy409, &yymsp[-6].minor.yy228, &yymsp[-8].minor.yy0, yymsp[-5].minor.yy231, &yymsp[0].minor.yy444, &yymsp[-1].minor.yy444, yymsp[-3].minor.yy226, &yymsp[-10].minor.yy480); } - yymsp[-14].minor.yy16 = yylhsminor.yy16; + yymsp[-14].minor.yy86 = yylhsminor.yy86; break; case 169: /* select ::= LP select RP */ -{yymsp[-2].minor.yy16 = yymsp[-1].minor.yy16;} +{yymsp[-2].minor.yy86 = yymsp[-1].minor.yy86;} break; case 170: /* union ::= select */ -{ yylhsminor.yy189 = setSubclause(NULL, yymsp[0].minor.yy16); } - yymsp[0].minor.yy189 = yylhsminor.yy189; +{ yylhsminor.yy231 = setSubclause(NULL, yymsp[0].minor.yy86); } + yymsp[0].minor.yy231 = yylhsminor.yy231; break; case 171: /* union ::= union UNION ALL select */ -{ yylhsminor.yy189 = appendSelectClause(yymsp[-3].minor.yy189, yymsp[0].minor.yy16); } - yymsp[-3].minor.yy189 = yylhsminor.yy189; +{ yylhsminor.yy231 = appendSelectClause(yymsp[-3].minor.yy231, yymsp[0].minor.yy86); } + yymsp[-3].minor.yy231 = yylhsminor.yy231; break; case 172: /* cmd ::= union */ -{ setSqlInfo(pInfo, yymsp[0].minor.yy189, NULL, TSDB_SQL_SELECT); } +{ setSqlInfo(pInfo, yymsp[0].minor.yy231, NULL, TSDB_SQL_SELECT); } break; case 173: /* select ::= SELECT selcollist */ { - yylhsminor.yy16 = tSetQuerySqlNode(&yymsp[-1].minor.yy0, yymsp[0].minor.yy189, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); + yylhsminor.yy86 = tSetQuerySqlNode(&yymsp[-1].minor.yy0, yymsp[0].minor.yy231, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); } - yymsp[-1].minor.yy16 = yylhsminor.yy16; + yymsp[-1].minor.yy86 = yylhsminor.yy86; break; case 174: /* sclp ::= selcollist COMMA */ -{yylhsminor.yy189 = yymsp[-1].minor.yy189;} - yymsp[-1].minor.yy189 = yylhsminor.yy189; +{yylhsminor.yy231 = yymsp[-1].minor.yy231;} + yymsp[-1].minor.yy231 = yylhsminor.yy231; break; case 175: /* sclp ::= */ case 216: /* orderby_opt ::= */ yytestcase(yyruleno==216); -{yymsp[1].minor.yy189 = 0;} +{yymsp[1].minor.yy231 = 0;} break; case 176: /* selcollist ::= sclp distinct expr as */ { - yylhsminor.yy189 = tSqlExprListAppend(yymsp[-3].minor.yy189, yymsp[-1].minor.yy18, yymsp[-2].minor.yy0.n? &yymsp[-2].minor.yy0:0, yymsp[0].minor.yy0.n?&yymsp[0].minor.yy0:0); + yylhsminor.yy231 = tSqlExprListAppend(yymsp[-3].minor.yy231, yymsp[-1].minor.yy226, yymsp[-2].minor.yy0.n? &yymsp[-2].minor.yy0:0, yymsp[0].minor.yy0.n?&yymsp[0].minor.yy0:0); } - yymsp[-3].minor.yy189 = yylhsminor.yy189; + yymsp[-3].minor.yy231 = yylhsminor.yy231; break; case 177: /* selcollist ::= sclp STAR */ { tSqlExpr *pNode = tSqlExprCreateIdValue(pInfo, NULL, TK_ALL); - yylhsminor.yy189 = tSqlExprListAppend(yymsp[-1].minor.yy189, pNode, 0, 0); + yylhsminor.yy231 = tSqlExprListAppend(yymsp[-1].minor.yy231, pNode, 0, 0); } - yymsp[-1].minor.yy189 = yylhsminor.yy189; + yymsp[-1].minor.yy231 = yylhsminor.yy231; break; case 178: /* as ::= AS ids */ { yymsp[-1].minor.yy0 = yymsp[0].minor.yy0; } @@ -3376,114 +3231,114 @@ static YYACTIONTYPE yy_reduce( break; case 183: /* from ::= FROM tablelist */ case 184: /* from ::= FROM sub */ yytestcase(yyruleno==184); -{yymsp[-1].minor.yy36 = yymsp[0].minor.yy36;} +{yymsp[-1].minor.yy484 = yymsp[0].minor.yy484;} break; case 185: /* sub ::= LP union RP */ -{yymsp[-2].minor.yy36 = addSubqueryElem(NULL, yymsp[-1].minor.yy189, NULL);} +{yymsp[-2].minor.yy484 = addSubqueryElem(NULL, yymsp[-1].minor.yy231, NULL);} break; case 186: /* sub ::= LP union RP ids */ -{yymsp[-3].minor.yy36 = addSubqueryElem(NULL, yymsp[-2].minor.yy189, &yymsp[0].minor.yy0);} +{yymsp[-3].minor.yy484 = addSubqueryElem(NULL, yymsp[-2].minor.yy231, &yymsp[0].minor.yy0);} break; case 187: /* sub ::= sub COMMA LP union RP ids */ -{yylhsminor.yy36 = addSubqueryElem(yymsp[-5].minor.yy36, yymsp[-2].minor.yy189, &yymsp[0].minor.yy0);} - yymsp[-5].minor.yy36 = yylhsminor.yy36; +{yylhsminor.yy484 = addSubqueryElem(yymsp[-5].minor.yy484, yymsp[-2].minor.yy231, &yymsp[0].minor.yy0);} + yymsp[-5].minor.yy484 = yylhsminor.yy484; break; case 188: /* tablelist ::= ids cpxName */ { yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; - yylhsminor.yy36 = setTableNameList(NULL, &yymsp[-1].minor.yy0, NULL); + yylhsminor.yy484 = setTableNameList(NULL, &yymsp[-1].minor.yy0, NULL); } - yymsp[-1].minor.yy36 = yylhsminor.yy36; + yymsp[-1].minor.yy484 = yylhsminor.yy484; break; case 189: /* tablelist ::= ids cpxName ids */ { yymsp[-2].minor.yy0.n += yymsp[-1].minor.yy0.n; - yylhsminor.yy36 = setTableNameList(NULL, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); + yylhsminor.yy484 = setTableNameList(NULL, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy36 = yylhsminor.yy36; + yymsp[-2].minor.yy484 = yylhsminor.yy484; break; case 190: /* tablelist ::= tablelist COMMA ids cpxName */ { yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; - yylhsminor.yy36 = setTableNameList(yymsp[-3].minor.yy36, &yymsp[-1].minor.yy0, NULL); + yylhsminor.yy484 = setTableNameList(yymsp[-3].minor.yy484, &yymsp[-1].minor.yy0, NULL); } - yymsp[-3].minor.yy36 = yylhsminor.yy36; + yymsp[-3].minor.yy484 = yylhsminor.yy484; break; case 191: /* tablelist ::= tablelist COMMA ids cpxName ids */ { yymsp[-2].minor.yy0.n += yymsp[-1].minor.yy0.n; - yylhsminor.yy36 = setTableNameList(yymsp[-4].minor.yy36, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); + yylhsminor.yy484 = setTableNameList(yymsp[-4].minor.yy484, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } - yymsp[-4].minor.yy36 = yylhsminor.yy36; + yymsp[-4].minor.yy484 = yylhsminor.yy484; break; case 192: /* tmvar ::= VARIABLE */ {yylhsminor.yy0 = yymsp[0].minor.yy0;} yymsp[0].minor.yy0 = yylhsminor.yy0; break; case 193: /* timestamp ::= INTEGER */ -{ yylhsminor.yy18 = tSqlExprCreateTimestamp(&yymsp[0].minor.yy0, TK_INTEGER);} - yymsp[0].minor.yy18 = yylhsminor.yy18; +{ yylhsminor.yy226 = tSqlExprCreateTimestamp(&yymsp[0].minor.yy0, TK_INTEGER);} + yymsp[0].minor.yy226 = yylhsminor.yy226; break; case 194: /* timestamp ::= MINUS INTEGER */ case 195: /* timestamp ::= PLUS INTEGER */ yytestcase(yyruleno==195); -{ yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_INTEGER; yylhsminor.yy18 = tSqlExprCreateTimestamp(&yymsp[-1].minor.yy0, TK_INTEGER);} - yymsp[-1].minor.yy18 = yylhsminor.yy18; +{ yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_INTEGER; yylhsminor.yy226 = tSqlExprCreateTimestamp(&yymsp[-1].minor.yy0, TK_INTEGER);} + yymsp[-1].minor.yy226 = yylhsminor.yy226; break; case 196: /* timestamp ::= STRING */ -{ yylhsminor.yy18 = tSqlExprCreateTimestamp(&yymsp[0].minor.yy0, TK_STRING);} - yymsp[0].minor.yy18 = yylhsminor.yy18; +{ yylhsminor.yy226 = tSqlExprCreateTimestamp(&yymsp[0].minor.yy0, TK_STRING);} + yymsp[0].minor.yy226 = yylhsminor.yy226; break; case 197: /* timestamp ::= NOW */ -{ yylhsminor.yy18 = tSqlExprCreateTimestamp(&yymsp[0].minor.yy0, TK_NOW); } - yymsp[0].minor.yy18 = yylhsminor.yy18; +{ yylhsminor.yy226 = tSqlExprCreateTimestamp(&yymsp[0].minor.yy0, TK_NOW); } + yymsp[0].minor.yy226 = yylhsminor.yy226; break; case 198: /* timestamp ::= NOW PLUS VARIABLE */ -{yymsp[-2].minor.yy18 = tSqlExprCreateTimestamp(&yymsp[0].minor.yy0, TK_PLUS); } +{yymsp[-2].minor.yy226 = tSqlExprCreateTimestamp(&yymsp[0].minor.yy0, TK_PLUS); } break; case 199: /* timestamp ::= NOW MINUS VARIABLE */ -{yymsp[-2].minor.yy18 = tSqlExprCreateTimestamp(&yymsp[0].minor.yy0, TK_MINUS); } +{yymsp[-2].minor.yy226 = tSqlExprCreateTimestamp(&yymsp[0].minor.yy0, TK_MINUS); } break; case 200: /* range_option ::= */ -{yymsp[1].minor.yy124.start = 0; yymsp[1].minor.yy124.end = 0;} +{yymsp[1].minor.yy480.start = 0; yymsp[1].minor.yy480.end = 0;} break; case 201: /* range_option ::= RANGE LP timestamp COMMA timestamp RP */ -{yymsp[-5].minor.yy124.start = yymsp[-3].minor.yy18; yymsp[-5].minor.yy124.end = yymsp[-1].minor.yy18;} +{yymsp[-5].minor.yy480.start = yymsp[-3].minor.yy226; yymsp[-5].minor.yy480.end = yymsp[-1].minor.yy226;} break; case 202: /* interval_option ::= intervalKey LP tmvar RP */ -{yylhsminor.yy32.interval = yymsp[-1].minor.yy0; yylhsminor.yy32.offset.n = 0; yylhsminor.yy32.token = yymsp[-3].minor.yy516;} - yymsp[-3].minor.yy32 = yylhsminor.yy32; +{yylhsminor.yy430.interval = yymsp[-1].minor.yy0; yylhsminor.yy430.offset.n = 0; yylhsminor.yy430.token = yymsp[-3].minor.yy310;} + yymsp[-3].minor.yy430 = yylhsminor.yy430; break; case 203: /* interval_option ::= intervalKey LP tmvar COMMA tmvar RP */ -{yylhsminor.yy32.interval = yymsp[-3].minor.yy0; yylhsminor.yy32.offset = yymsp[-1].minor.yy0; yylhsminor.yy32.token = yymsp[-5].minor.yy516;} - yymsp[-5].minor.yy32 = yylhsminor.yy32; +{yylhsminor.yy430.interval = yymsp[-3].minor.yy0; yylhsminor.yy430.offset = yymsp[-1].minor.yy0; yylhsminor.yy430.token = yymsp[-5].minor.yy310;} + yymsp[-5].minor.yy430 = yylhsminor.yy430; break; case 204: /* interval_option ::= */ -{memset(&yymsp[1].minor.yy32, 0, sizeof(yymsp[1].minor.yy32));} +{memset(&yymsp[1].minor.yy430, 0, sizeof(yymsp[1].minor.yy430));} break; case 205: /* intervalKey ::= INTERVAL */ -{yymsp[0].minor.yy516 = TK_INTERVAL;} +{yymsp[0].minor.yy310 = TK_INTERVAL;} break; case 206: /* intervalKey ::= EVERY */ -{yymsp[0].minor.yy516 = TK_EVERY; } +{yymsp[0].minor.yy310 = TK_EVERY; } break; case 207: /* session_option ::= */ -{yymsp[1].minor.yy155.col.n = 0; yymsp[1].minor.yy155.gap.n = 0;} +{yymsp[1].minor.yy409.col.n = 0; yymsp[1].minor.yy409.gap.n = 0;} break; case 208: /* session_option ::= SESSION LP ids cpxName COMMA tmvar RP */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; - yymsp[-6].minor.yy155.col = yymsp[-4].minor.yy0; - yymsp[-6].minor.yy155.gap = yymsp[-1].minor.yy0; + yymsp[-6].minor.yy409.col = yymsp[-4].minor.yy0; + yymsp[-6].minor.yy409.gap = yymsp[-1].minor.yy0; } break; case 209: /* windowstate_option ::= */ -{ yymsp[1].minor.yy336.col.n = 0; yymsp[1].minor.yy336.col.z = NULL;} +{ yymsp[1].minor.yy228.col.n = 0; yymsp[1].minor.yy228.col.z = NULL;} break; case 210: /* windowstate_option ::= STATE_WINDOW LP ids RP */ -{ yymsp[-3].minor.yy336.col = yymsp[-1].minor.yy0; } +{ yymsp[-3].minor.yy228.col = yymsp[-1].minor.yy0; } break; case 211: /* fill_opt ::= */ -{ yymsp[1].minor.yy189 = 0; } +{ yymsp[1].minor.yy231 = 0; } break; case 212: /* fill_opt ::= FILL LP ID COMMA tagitemlist RP */ { @@ -3491,14 +3346,14 @@ static YYACTIONTYPE yy_reduce( toTSDBType(yymsp[-3].minor.yy0.type); tVariantCreate(&A, &yymsp[-3].minor.yy0); - tVariantListInsert(yymsp[-1].minor.yy189, &A, -1, 0); - yymsp[-5].minor.yy189 = yymsp[-1].minor.yy189; + tVariantListInsert(yymsp[-1].minor.yy231, &A, -1, 0); + yymsp[-5].minor.yy231 = yymsp[-1].minor.yy231; } break; case 213: /* fill_opt ::= FILL LP ID RP */ { toTSDBType(yymsp[-1].minor.yy0.type); - yymsp[-3].minor.yy189 = tVariantListAppendToken(NULL, &yymsp[-1].minor.yy0, -1, true); + yymsp[-3].minor.yy231 = tVariantListAppendToken(NULL, &yymsp[-1].minor.yy0, -1, true); } break; case 214: /* sliding_opt ::= SLIDING LP tmvar RP */ @@ -3508,309 +3363,313 @@ static YYACTIONTYPE yy_reduce( {yymsp[1].minor.yy0.n = 0; yymsp[1].minor.yy0.z = NULL; yymsp[1].minor.yy0.type = 0; } break; case 217: /* orderby_opt ::= ORDER BY sortlist */ -{yymsp[-2].minor.yy189 = yymsp[0].minor.yy189;} +{yymsp[-2].minor.yy231 = yymsp[0].minor.yy231;} break; case 218: /* sortlist ::= sortlist COMMA item sortorder */ { - yylhsminor.yy189 = commonItemAppend(yymsp[-3].minor.yy189, &yymsp[-1].minor.yy162, NULL, false, yymsp[0].minor.yy420); + yylhsminor.yy231 = commonItemAppend(yymsp[-3].minor.yy231, &yymsp[-1].minor.yy176, NULL, false, yymsp[0].minor.yy502); } - yymsp[-3].minor.yy189 = yylhsminor.yy189; + yymsp[-3].minor.yy231 = yylhsminor.yy231; break; case 219: /* sortlist ::= sortlist COMMA arrow sortorder */ { - yylhsminor.yy189 = commonItemAppend(yymsp[-3].minor.yy189, NULL, yymsp[-1].minor.yy18, true, yymsp[0].minor.yy420); + yylhsminor.yy231 = commonItemAppend(yymsp[-3].minor.yy231, NULL, yymsp[-1].minor.yy226, true, yymsp[0].minor.yy502); } - yymsp[-3].minor.yy189 = yylhsminor.yy189; + yymsp[-3].minor.yy231 = yylhsminor.yy231; break; case 220: /* sortlist ::= item sortorder */ { - yylhsminor.yy189 = commonItemAppend(NULL, &yymsp[-1].minor.yy162, NULL, false, yymsp[0].minor.yy420); + yylhsminor.yy231 = commonItemAppend(NULL, &yymsp[-1].minor.yy176, NULL, false, yymsp[0].minor.yy502); } - yymsp[-1].minor.yy189 = yylhsminor.yy189; + yymsp[-1].minor.yy231 = yylhsminor.yy231; break; case 221: /* sortlist ::= arrow sortorder */ { - yylhsminor.yy189 = commonItemAppend(NULL, NULL, yymsp[-1].minor.yy18, true, yymsp[0].minor.yy420); + yylhsminor.yy231 = commonItemAppend(NULL, NULL, yymsp[-1].minor.yy226, true, yymsp[0].minor.yy502); } - yymsp[-1].minor.yy189 = yylhsminor.yy189; + yymsp[-1].minor.yy231 = yylhsminor.yy231; break; case 222: /* item ::= ID */ { toTSDBType(yymsp[0].minor.yy0.type); - tVariantCreate(&yylhsminor.yy162, &yymsp[0].minor.yy0); + tVariantCreate(&yylhsminor.yy176, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy162 = yylhsminor.yy162; + yymsp[0].minor.yy176 = yylhsminor.yy176; break; case 223: /* item ::= ID DOT ID */ { toTSDBType(yymsp[-2].minor.yy0.type); yymsp[-2].minor.yy0.n += (1+yymsp[0].minor.yy0.n); - tVariantCreate(&yylhsminor.yy162, &yymsp[-2].minor.yy0); + tVariantCreate(&yylhsminor.yy176, &yymsp[-2].minor.yy0); } - yymsp[-2].minor.yy162 = yylhsminor.yy162; + yymsp[-2].minor.yy176 = yylhsminor.yy176; break; case 224: /* sortorder ::= ASC */ -{ yymsp[0].minor.yy420 = TSDB_ORDER_ASC; } +{ yymsp[0].minor.yy502 = TSDB_ORDER_ASC; } break; case 225: /* sortorder ::= DESC */ -{ yymsp[0].minor.yy420 = TSDB_ORDER_DESC;} +{ yymsp[0].minor.yy502 = TSDB_ORDER_DESC;} break; case 226: /* sortorder ::= */ -{ yymsp[1].minor.yy420 = TSDB_ORDER_ASC; } +{ yymsp[1].minor.yy502 = TSDB_ORDER_ASC; } break; case 227: /* groupby_opt ::= */ -{ yymsp[1].minor.yy189 = 0;} +{ yymsp[1].minor.yy231 = 0;} break; case 228: /* groupby_opt ::= GROUP BY grouplist */ -{ yymsp[-2].minor.yy189 = yymsp[0].minor.yy189;} +{ yymsp[-2].minor.yy231 = yymsp[0].minor.yy231;} break; case 229: /* grouplist ::= grouplist COMMA item */ { - yylhsminor.yy189 = commonItemAppend(yymsp[-2].minor.yy189, &yymsp[0].minor.yy162, NULL, false, -1); + yylhsminor.yy231 = commonItemAppend(yymsp[-2].minor.yy231, &yymsp[0].minor.yy176, NULL, false, -1); } - yymsp[-2].minor.yy189 = yylhsminor.yy189; + yymsp[-2].minor.yy231 = yylhsminor.yy231; break; case 230: /* grouplist ::= grouplist COMMA arrow */ { - yylhsminor.yy189 = commonItemAppend(yymsp[-2].minor.yy189, NULL, yymsp[0].minor.yy18, true, -1); + yylhsminor.yy231 = commonItemAppend(yymsp[-2].minor.yy231, NULL, yymsp[0].minor.yy226, true, -1); } - yymsp[-2].minor.yy189 = yylhsminor.yy189; + yymsp[-2].minor.yy231 = yylhsminor.yy231; break; case 231: /* grouplist ::= item */ { - yylhsminor.yy189 = commonItemAppend(NULL, &yymsp[0].minor.yy162, NULL, false, -1); + yylhsminor.yy231 = commonItemAppend(NULL, &yymsp[0].minor.yy176, NULL, false, -1); } - yymsp[0].minor.yy189 = yylhsminor.yy189; + yymsp[0].minor.yy231 = yylhsminor.yy231; break; case 232: /* grouplist ::= arrow */ { - yylhsminor.yy189 = commonItemAppend(NULL, NULL, yymsp[0].minor.yy18, true, -1); + yylhsminor.yy231 = commonItemAppend(NULL, NULL, yymsp[0].minor.yy226, true, -1); } - yymsp[0].minor.yy189 = yylhsminor.yy189; + yymsp[0].minor.yy231 = yylhsminor.yy231; break; case 233: /* having_opt ::= */ case 243: /* where_opt ::= */ yytestcase(yyruleno==243); - case 293: /* expritem ::= */ yytestcase(yyruleno==293); -{yymsp[1].minor.yy18 = 0;} + case 294: /* expritem ::= */ yytestcase(yyruleno==294); +{yymsp[1].minor.yy226 = 0;} break; case 234: /* having_opt ::= HAVING expr */ case 244: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==244); -{yymsp[-1].minor.yy18 = yymsp[0].minor.yy18;} +{yymsp[-1].minor.yy226 = yymsp[0].minor.yy226;} break; case 235: /* limit_opt ::= */ case 239: /* slimit_opt ::= */ yytestcase(yyruleno==239); -{yymsp[1].minor.yy38.limit = -1; yymsp[1].minor.yy38.offset = 0;} +{yymsp[1].minor.yy444.limit = -1; yymsp[1].minor.yy444.offset = 0;} break; case 236: /* limit_opt ::= LIMIT signed */ case 240: /* slimit_opt ::= SLIMIT signed */ yytestcase(yyruleno==240); -{yymsp[-1].minor.yy38.limit = yymsp[0].minor.yy69; yymsp[-1].minor.yy38.offset = 0;} +{yymsp[-1].minor.yy444.limit = yymsp[0].minor.yy549; yymsp[-1].minor.yy444.offset = 0;} break; case 237: /* limit_opt ::= LIMIT signed OFFSET signed */ -{ yymsp[-3].minor.yy38.limit = yymsp[-2].minor.yy69; yymsp[-3].minor.yy38.offset = yymsp[0].minor.yy69;} +{ yymsp[-3].minor.yy444.limit = yymsp[-2].minor.yy549; yymsp[-3].minor.yy444.offset = yymsp[0].minor.yy549;} break; case 238: /* limit_opt ::= LIMIT signed COMMA signed */ -{ yymsp[-3].minor.yy38.limit = yymsp[0].minor.yy69; yymsp[-3].minor.yy38.offset = yymsp[-2].minor.yy69;} +{ yymsp[-3].minor.yy444.limit = yymsp[0].minor.yy549; yymsp[-3].minor.yy444.offset = yymsp[-2].minor.yy549;} break; case 241: /* slimit_opt ::= SLIMIT signed SOFFSET signed */ -{yymsp[-3].minor.yy38.limit = yymsp[-2].minor.yy69; yymsp[-3].minor.yy38.offset = yymsp[0].minor.yy69;} +{yymsp[-3].minor.yy444.limit = yymsp[-2].minor.yy549; yymsp[-3].minor.yy444.offset = yymsp[0].minor.yy549;} break; case 242: /* slimit_opt ::= SLIMIT signed COMMA signed */ -{yymsp[-3].minor.yy38.limit = yymsp[0].minor.yy69; yymsp[-3].minor.yy38.offset = yymsp[-2].minor.yy69;} +{yymsp[-3].minor.yy444.limit = yymsp[0].minor.yy549; yymsp[-3].minor.yy444.offset = yymsp[-2].minor.yy549;} break; case 245: /* expr ::= LP expr RP */ -{yylhsminor.yy18 = yymsp[-1].minor.yy18; yylhsminor.yy18->exprToken.z = yymsp[-2].minor.yy0.z; yylhsminor.yy18->exprToken.n = (yymsp[0].minor.yy0.z - yymsp[-2].minor.yy0.z + 1);} - yymsp[-2].minor.yy18 = yylhsminor.yy18; +{yylhsminor.yy226 = yymsp[-1].minor.yy226; yylhsminor.yy226->exprToken.z = yymsp[-2].minor.yy0.z; yylhsminor.yy226->exprToken.n = (yymsp[0].minor.yy0.z - yymsp[-2].minor.yy0.z + 1);} + yymsp[-2].minor.yy226 = yylhsminor.yy226; break; case 246: /* expr ::= ID */ -{ yylhsminor.yy18 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_ID);} - yymsp[0].minor.yy18 = yylhsminor.yy18; +{ yylhsminor.yy226 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_ID);} + yymsp[0].minor.yy226 = yylhsminor.yy226; break; case 247: /* expr ::= ID DOT ID */ -{ yymsp[-2].minor.yy0.n += (1+yymsp[0].minor.yy0.n); yylhsminor.yy18 = tSqlExprCreateIdValue(pInfo, &yymsp[-2].minor.yy0, TK_ID);} - yymsp[-2].minor.yy18 = yylhsminor.yy18; +{ yymsp[-2].minor.yy0.n += (1+yymsp[0].minor.yy0.n); yylhsminor.yy226 = tSqlExprCreateIdValue(pInfo, &yymsp[-2].minor.yy0, TK_ID);} + yymsp[-2].minor.yy226 = yylhsminor.yy226; break; case 248: /* expr ::= ID DOT STAR */ -{ yymsp[-2].minor.yy0.n += (1+yymsp[0].minor.yy0.n); yylhsminor.yy18 = tSqlExprCreateIdValue(pInfo, &yymsp[-2].minor.yy0, TK_ALL);} - yymsp[-2].minor.yy18 = yylhsminor.yy18; +{ yymsp[-2].minor.yy0.n += (1+yymsp[0].minor.yy0.n); yylhsminor.yy226 = tSqlExprCreateIdValue(pInfo, &yymsp[-2].minor.yy0, TK_ALL);} + yymsp[-2].minor.yy226 = yylhsminor.yy226; break; case 249: /* expr ::= INTEGER */ -{ yylhsminor.yy18 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_INTEGER);} - yymsp[0].minor.yy18 = yylhsminor.yy18; +{ yylhsminor.yy226 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_INTEGER);} + yymsp[0].minor.yy226 = yylhsminor.yy226; break; case 250: /* expr ::= MINUS INTEGER */ case 251: /* expr ::= PLUS INTEGER */ yytestcase(yyruleno==251); -{ yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_INTEGER; yylhsminor.yy18 = tSqlExprCreateIdValue(pInfo, &yymsp[-1].minor.yy0, TK_INTEGER);} - yymsp[-1].minor.yy18 = yylhsminor.yy18; +{ yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_INTEGER; yylhsminor.yy226 = tSqlExprCreateIdValue(pInfo, &yymsp[-1].minor.yy0, TK_INTEGER);} + yymsp[-1].minor.yy226 = yylhsminor.yy226; break; case 252: /* expr ::= FLOAT */ -{ yylhsminor.yy18 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_FLOAT);} - yymsp[0].minor.yy18 = yylhsminor.yy18; +{ yylhsminor.yy226 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_FLOAT);} + yymsp[0].minor.yy226 = yylhsminor.yy226; break; case 253: /* expr ::= MINUS FLOAT */ case 254: /* expr ::= PLUS FLOAT */ yytestcase(yyruleno==254); -{ yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_FLOAT; yylhsminor.yy18 = tSqlExprCreateIdValue(pInfo, &yymsp[-1].minor.yy0, TK_FLOAT);} - yymsp[-1].minor.yy18 = yylhsminor.yy18; +{ yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_FLOAT; yylhsminor.yy226 = tSqlExprCreateIdValue(pInfo, &yymsp[-1].minor.yy0, TK_FLOAT);} + yymsp[-1].minor.yy226 = yylhsminor.yy226; break; case 255: /* expr ::= STRING */ -{ yylhsminor.yy18 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_STRING);} - yymsp[0].minor.yy18 = yylhsminor.yy18; +{ yylhsminor.yy226 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_STRING);} + yymsp[0].minor.yy226 = yylhsminor.yy226; break; case 256: /* expr ::= NOW */ -{ yylhsminor.yy18 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_NOW); } - yymsp[0].minor.yy18 = yylhsminor.yy18; +{ yylhsminor.yy226 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_NOW); } + yymsp[0].minor.yy226 = yylhsminor.yy226; + break; + case 257: /* expr ::= TODAY */ +{ yylhsminor.yy226 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_TODAY); } + yymsp[0].minor.yy226 = yylhsminor.yy226; break; - case 257: /* expr ::= VARIABLE */ -{ yylhsminor.yy18 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_VARIABLE);} - yymsp[0].minor.yy18 = yylhsminor.yy18; + case 258: /* expr ::= VARIABLE */ +{ yylhsminor.yy226 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_VARIABLE);} + yymsp[0].minor.yy226 = yylhsminor.yy226; break; - case 258: /* expr ::= PLUS VARIABLE */ - case 259: /* expr ::= MINUS VARIABLE */ yytestcase(yyruleno==259); -{ yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_VARIABLE; yylhsminor.yy18 = tSqlExprCreateIdValue(pInfo, &yymsp[-1].minor.yy0, TK_VARIABLE);} - yymsp[-1].minor.yy18 = yylhsminor.yy18; + case 259: /* expr ::= PLUS VARIABLE */ + case 260: /* expr ::= MINUS VARIABLE */ yytestcase(yyruleno==260); +{ yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_VARIABLE; yylhsminor.yy226 = tSqlExprCreateIdValue(pInfo, &yymsp[-1].minor.yy0, TK_VARIABLE);} + yymsp[-1].minor.yy226 = yylhsminor.yy226; break; - case 260: /* expr ::= BOOL */ -{ yylhsminor.yy18 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_BOOL);} - yymsp[0].minor.yy18 = yylhsminor.yy18; + case 261: /* expr ::= BOOL */ +{ yylhsminor.yy226 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_BOOL);} + yymsp[0].minor.yy226 = yylhsminor.yy226; break; - case 261: /* expr ::= NULL */ -{ yylhsminor.yy18 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_NULL);} - yymsp[0].minor.yy18 = yylhsminor.yy18; + case 262: /* expr ::= NULL */ +{ yylhsminor.yy226 = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_NULL);} + yymsp[0].minor.yy226 = yylhsminor.yy226; break; - case 262: /* expr ::= ID LP exprlist RP */ -{ tStrTokenAppend(pInfo->funcs, &yymsp[-3].minor.yy0); yylhsminor.yy18 = tSqlExprCreateFunction(yymsp[-1].minor.yy189, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, yymsp[-3].minor.yy0.type); } - yymsp[-3].minor.yy18 = yylhsminor.yy18; + case 263: /* expr ::= ID LP exprlist RP */ +{ tStrTokenAppend(pInfo->funcs, &yymsp[-3].minor.yy0); yylhsminor.yy226 = tSqlExprCreateFunction(yymsp[-1].minor.yy231, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, yymsp[-3].minor.yy0.type); } + yymsp[-3].minor.yy226 = yylhsminor.yy226; break; - case 263: /* expr ::= ID LP STAR RP */ -{ tStrTokenAppend(pInfo->funcs, &yymsp[-3].minor.yy0); yylhsminor.yy18 = tSqlExprCreateFunction(NULL, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, yymsp[-3].minor.yy0.type); } - yymsp[-3].minor.yy18 = yylhsminor.yy18; - break; - case 264: /* expr ::= ID LP expr AS typename RP */ -{ tStrTokenAppend(pInfo->funcs, &yymsp[-5].minor.yy0); yylhsminor.yy18 = tSqlExprCreateFuncWithParams(pInfo, yymsp[-3].minor.yy18, &yymsp[-1].minor.yy279, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0, yymsp[-5].minor.yy0.type); } - yymsp[-5].minor.yy18 = yylhsminor.yy18; - break; - case 265: /* expr ::= expr IS NULL */ -{yylhsminor.yy18 = tSqlExprCreate(yymsp[-2].minor.yy18, NULL, TK_ISNULL);} - yymsp[-2].minor.yy18 = yylhsminor.yy18; - break; - case 266: /* expr ::= expr IS NOT NULL */ -{yylhsminor.yy18 = tSqlExprCreate(yymsp[-3].minor.yy18, NULL, TK_NOTNULL);} - yymsp[-3].minor.yy18 = yylhsminor.yy18; - break; - case 267: /* expr ::= expr LT expr */ -{yylhsminor.yy18 = tSqlExprCreate(yymsp[-2].minor.yy18, yymsp[0].minor.yy18, TK_LT);} - yymsp[-2].minor.yy18 = yylhsminor.yy18; + case 264: /* expr ::= ID LP STAR RP */ +{ tStrTokenAppend(pInfo->funcs, &yymsp[-3].minor.yy0); yylhsminor.yy226 = tSqlExprCreateFunction(NULL, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, yymsp[-3].minor.yy0.type); } + yymsp[-3].minor.yy226 = yylhsminor.yy226; + break; + case 265: /* expr ::= ID LP expr AS typename RP */ +{ tStrTokenAppend(pInfo->funcs, &yymsp[-5].minor.yy0); yylhsminor.yy226 = tSqlExprCreateFuncWithParams(pInfo, yymsp[-3].minor.yy226, &yymsp[-1].minor.yy103, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0, yymsp[-5].minor.yy0.type); } + yymsp[-5].minor.yy226 = yylhsminor.yy226; + break; + case 266: /* expr ::= expr IS NULL */ +{yylhsminor.yy226 = tSqlExprCreate(yymsp[-2].minor.yy226, NULL, TK_ISNULL);} + yymsp[-2].minor.yy226 = yylhsminor.yy226; + break; + case 267: /* expr ::= expr IS NOT NULL */ +{yylhsminor.yy226 = tSqlExprCreate(yymsp[-3].minor.yy226, NULL, TK_NOTNULL);} + yymsp[-3].minor.yy226 = yylhsminor.yy226; + break; + case 268: /* expr ::= expr LT expr */ +{yylhsminor.yy226 = tSqlExprCreate(yymsp[-2].minor.yy226, yymsp[0].minor.yy226, TK_LT);} + yymsp[-2].minor.yy226 = yylhsminor.yy226; break; - case 268: /* expr ::= expr GT expr */ -{yylhsminor.yy18 = tSqlExprCreate(yymsp[-2].minor.yy18, yymsp[0].minor.yy18, TK_GT);} - yymsp[-2].minor.yy18 = yylhsminor.yy18; + case 269: /* expr ::= expr GT expr */ +{yylhsminor.yy226 = tSqlExprCreate(yymsp[-2].minor.yy226, yymsp[0].minor.yy226, TK_GT);} + yymsp[-2].minor.yy226 = yylhsminor.yy226; break; - case 269: /* expr ::= expr LE expr */ -{yylhsminor.yy18 = tSqlExprCreate(yymsp[-2].minor.yy18, yymsp[0].minor.yy18, TK_LE);} - yymsp[-2].minor.yy18 = yylhsminor.yy18; + case 270: /* expr ::= expr LE expr */ +{yylhsminor.yy226 = tSqlExprCreate(yymsp[-2].minor.yy226, yymsp[0].minor.yy226, TK_LE);} + yymsp[-2].minor.yy226 = yylhsminor.yy226; break; - case 270: /* expr ::= expr GE expr */ -{yylhsminor.yy18 = tSqlExprCreate(yymsp[-2].minor.yy18, yymsp[0].minor.yy18, TK_GE);} - yymsp[-2].minor.yy18 = yylhsminor.yy18; + case 271: /* expr ::= expr GE expr */ +{yylhsminor.yy226 = tSqlExprCreate(yymsp[-2].minor.yy226, yymsp[0].minor.yy226, TK_GE);} + yymsp[-2].minor.yy226 = yylhsminor.yy226; break; - case 271: /* expr ::= expr NE expr */ -{yylhsminor.yy18 = tSqlExprCreate(yymsp[-2].minor.yy18, yymsp[0].minor.yy18, TK_NE);} - yymsp[-2].minor.yy18 = yylhsminor.yy18; + case 272: /* expr ::= expr NE expr */ +{yylhsminor.yy226 = tSqlExprCreate(yymsp[-2].minor.yy226, yymsp[0].minor.yy226, TK_NE);} + yymsp[-2].minor.yy226 = yylhsminor.yy226; break; - case 272: /* expr ::= expr EQ expr */ -{yylhsminor.yy18 = tSqlExprCreate(yymsp[-2].minor.yy18, yymsp[0].minor.yy18, TK_EQ);} - yymsp[-2].minor.yy18 = yylhsminor.yy18; + case 273: /* expr ::= expr EQ expr */ +{yylhsminor.yy226 = tSqlExprCreate(yymsp[-2].minor.yy226, yymsp[0].minor.yy226, TK_EQ);} + yymsp[-2].minor.yy226 = yylhsminor.yy226; break; - case 273: /* expr ::= expr BETWEEN expr AND expr */ -{ tSqlExpr* X2 = tSqlExprClone(yymsp[-4].minor.yy18); yylhsminor.yy18 = tSqlExprCreate(tSqlExprCreate(yymsp[-4].minor.yy18, yymsp[-2].minor.yy18, TK_GE), tSqlExprCreate(X2, yymsp[0].minor.yy18, TK_LE), TK_AND);} - yymsp[-4].minor.yy18 = yylhsminor.yy18; + case 274: /* expr ::= expr BETWEEN expr AND expr */ +{ tSqlExpr* X2 = tSqlExprClone(yymsp[-4].minor.yy226); yylhsminor.yy226 = tSqlExprCreate(tSqlExprCreate(yymsp[-4].minor.yy226, yymsp[-2].minor.yy226, TK_GE), tSqlExprCreate(X2, yymsp[0].minor.yy226, TK_LE), TK_AND);} + yymsp[-4].minor.yy226 = yylhsminor.yy226; break; - case 274: /* expr ::= expr AND expr */ -{yylhsminor.yy18 = tSqlExprCreate(yymsp[-2].minor.yy18, yymsp[0].minor.yy18, TK_AND);} - yymsp[-2].minor.yy18 = yylhsminor.yy18; + case 275: /* expr ::= expr AND expr */ +{yylhsminor.yy226 = tSqlExprCreate(yymsp[-2].minor.yy226, yymsp[0].minor.yy226, TK_AND);} + yymsp[-2].minor.yy226 = yylhsminor.yy226; break; - case 275: /* expr ::= expr OR expr */ -{yylhsminor.yy18 = tSqlExprCreate(yymsp[-2].minor.yy18, yymsp[0].minor.yy18, TK_OR); } - yymsp[-2].minor.yy18 = yylhsminor.yy18; + case 276: /* expr ::= expr OR expr */ +{yylhsminor.yy226 = tSqlExprCreate(yymsp[-2].minor.yy226, yymsp[0].minor.yy226, TK_OR); } + yymsp[-2].minor.yy226 = yylhsminor.yy226; break; - case 276: /* expr ::= expr PLUS expr */ -{yylhsminor.yy18 = tSqlExprCreate(yymsp[-2].minor.yy18, yymsp[0].minor.yy18, TK_PLUS); } - yymsp[-2].minor.yy18 = yylhsminor.yy18; + case 277: /* expr ::= expr PLUS expr */ +{yylhsminor.yy226 = tSqlExprCreate(yymsp[-2].minor.yy226, yymsp[0].minor.yy226, TK_PLUS); } + yymsp[-2].minor.yy226 = yylhsminor.yy226; break; - case 277: /* expr ::= expr MINUS expr */ -{yylhsminor.yy18 = tSqlExprCreate(yymsp[-2].minor.yy18, yymsp[0].minor.yy18, TK_MINUS); } - yymsp[-2].minor.yy18 = yylhsminor.yy18; + case 278: /* expr ::= expr MINUS expr */ +{yylhsminor.yy226 = tSqlExprCreate(yymsp[-2].minor.yy226, yymsp[0].minor.yy226, TK_MINUS); } + yymsp[-2].minor.yy226 = yylhsminor.yy226; break; - case 278: /* expr ::= expr STAR expr */ -{yylhsminor.yy18 = tSqlExprCreate(yymsp[-2].minor.yy18, yymsp[0].minor.yy18, TK_STAR); } - yymsp[-2].minor.yy18 = yylhsminor.yy18; + case 279: /* expr ::= expr STAR expr */ +{yylhsminor.yy226 = tSqlExprCreate(yymsp[-2].minor.yy226, yymsp[0].minor.yy226, TK_STAR); } + yymsp[-2].minor.yy226 = yylhsminor.yy226; break; - case 279: /* expr ::= expr SLASH expr */ -{yylhsminor.yy18 = tSqlExprCreate(yymsp[-2].minor.yy18, yymsp[0].minor.yy18, TK_DIVIDE);} - yymsp[-2].minor.yy18 = yylhsminor.yy18; + case 280: /* expr ::= expr SLASH expr */ +{yylhsminor.yy226 = tSqlExprCreate(yymsp[-2].minor.yy226, yymsp[0].minor.yy226, TK_DIVIDE);} + yymsp[-2].minor.yy226 = yylhsminor.yy226; break; - case 280: /* expr ::= expr REM expr */ -{yylhsminor.yy18 = tSqlExprCreate(yymsp[-2].minor.yy18, yymsp[0].minor.yy18, TK_REM); } - yymsp[-2].minor.yy18 = yylhsminor.yy18; + case 281: /* expr ::= expr REM expr */ +{yylhsminor.yy226 = tSqlExprCreate(yymsp[-2].minor.yy226, yymsp[0].minor.yy226, TK_REM); } + yymsp[-2].minor.yy226 = yylhsminor.yy226; break; - case 281: /* expr ::= expr LIKE expr */ -{yylhsminor.yy18 = tSqlExprCreate(yymsp[-2].minor.yy18, yymsp[0].minor.yy18, TK_LIKE); } - yymsp[-2].minor.yy18 = yylhsminor.yy18; + case 282: /* expr ::= expr LIKE expr */ +{yylhsminor.yy226 = tSqlExprCreate(yymsp[-2].minor.yy226, yymsp[0].minor.yy226, TK_LIKE); } + yymsp[-2].minor.yy226 = yylhsminor.yy226; break; - case 282: /* expr ::= expr MATCH expr */ -{yylhsminor.yy18 = tSqlExprCreate(yymsp[-2].minor.yy18, yymsp[0].minor.yy18, TK_MATCH); } - yymsp[-2].minor.yy18 = yylhsminor.yy18; + case 283: /* expr ::= expr MATCH expr */ +{yylhsminor.yy226 = tSqlExprCreate(yymsp[-2].minor.yy226, yymsp[0].minor.yy226, TK_MATCH); } + yymsp[-2].minor.yy226 = yylhsminor.yy226; break; - case 283: /* expr ::= expr NMATCH expr */ -{yylhsminor.yy18 = tSqlExprCreate(yymsp[-2].minor.yy18, yymsp[0].minor.yy18, TK_NMATCH); } - yymsp[-2].minor.yy18 = yylhsminor.yy18; + case 284: /* expr ::= expr NMATCH expr */ +{yylhsminor.yy226 = tSqlExprCreate(yymsp[-2].minor.yy226, yymsp[0].minor.yy226, TK_NMATCH); } + yymsp[-2].minor.yy226 = yylhsminor.yy226; break; - case 284: /* expr ::= ID CONTAINS STRING */ -{ tSqlExpr* S = tSqlExprCreateIdValue(pInfo, &yymsp[-2].minor.yy0, TK_ID); tSqlExpr* M = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_STRING); yylhsminor.yy18 = tSqlExprCreate(S, M, TK_CONTAINS); } - yymsp[-2].minor.yy18 = yylhsminor.yy18; + case 285: /* expr ::= ID CONTAINS STRING */ +{ tSqlExpr* S = tSqlExprCreateIdValue(pInfo, &yymsp[-2].minor.yy0, TK_ID); tSqlExpr* M = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_STRING); yylhsminor.yy226 = tSqlExprCreate(S, M, TK_CONTAINS); } + yymsp[-2].minor.yy226 = yylhsminor.yy226; break; - case 285: /* expr ::= ID DOT ID CONTAINS STRING */ -{ yymsp[-4].minor.yy0.n += (1+yymsp[-2].minor.yy0.n); tSqlExpr* S = tSqlExprCreateIdValue(pInfo, &yymsp[-4].minor.yy0, TK_ID); tSqlExpr* M = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_STRING); yylhsminor.yy18 = tSqlExprCreate(S, M, TK_CONTAINS); } - yymsp[-4].minor.yy18 = yylhsminor.yy18; + case 286: /* expr ::= ID DOT ID CONTAINS STRING */ +{ yymsp[-4].minor.yy0.n += (1+yymsp[-2].minor.yy0.n); tSqlExpr* S = tSqlExprCreateIdValue(pInfo, &yymsp[-4].minor.yy0, TK_ID); tSqlExpr* M = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_STRING); yylhsminor.yy226 = tSqlExprCreate(S, M, TK_CONTAINS); } + yymsp[-4].minor.yy226 = yylhsminor.yy226; break; - case 286: /* arrow ::= ID ARROW STRING */ -{tSqlExpr* S = tSqlExprCreateIdValue(pInfo, &yymsp[-2].minor.yy0, TK_ID); tSqlExpr* M = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_STRING); yylhsminor.yy18 = tSqlExprCreate(S, M, TK_ARROW); } - yymsp[-2].minor.yy18 = yylhsminor.yy18; + case 287: /* arrow ::= ID ARROW STRING */ +{tSqlExpr* S = tSqlExprCreateIdValue(pInfo, &yymsp[-2].minor.yy0, TK_ID); tSqlExpr* M = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_STRING); yylhsminor.yy226 = tSqlExprCreate(S, M, TK_ARROW); } + yymsp[-2].minor.yy226 = yylhsminor.yy226; break; - case 287: /* arrow ::= ID DOT ID ARROW STRING */ -{yymsp[-4].minor.yy0.n += (1+yymsp[-2].minor.yy0.n); tSqlExpr* S = tSqlExprCreateIdValue(pInfo, &yymsp[-4].minor.yy0, TK_ID); tSqlExpr* M = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_STRING); yylhsminor.yy18 = tSqlExprCreate(S, M, TK_ARROW); } - yymsp[-4].minor.yy18 = yylhsminor.yy18; + case 288: /* arrow ::= ID DOT ID ARROW STRING */ +{yymsp[-4].minor.yy0.n += (1+yymsp[-2].minor.yy0.n); tSqlExpr* S = tSqlExprCreateIdValue(pInfo, &yymsp[-4].minor.yy0, TK_ID); tSqlExpr* M = tSqlExprCreateIdValue(pInfo, &yymsp[0].minor.yy0, TK_STRING); yylhsminor.yy226 = tSqlExprCreate(S, M, TK_ARROW); } + yymsp[-4].minor.yy226 = yylhsminor.yy226; break; - case 288: /* expr ::= arrow */ - case 292: /* expritem ::= expr */ yytestcase(yyruleno==292); -{yylhsminor.yy18 = yymsp[0].minor.yy18;} - yymsp[0].minor.yy18 = yylhsminor.yy18; + case 289: /* expr ::= arrow */ + case 293: /* expritem ::= expr */ yytestcase(yyruleno==293); +{yylhsminor.yy226 = yymsp[0].minor.yy226;} + yymsp[0].minor.yy226 = yylhsminor.yy226; break; - case 289: /* expr ::= expr IN LP exprlist RP */ -{yylhsminor.yy18 = tSqlExprCreate(yymsp[-4].minor.yy18, (tSqlExpr*)yymsp[-1].minor.yy189, TK_IN); } - yymsp[-4].minor.yy18 = yylhsminor.yy18; + case 290: /* expr ::= expr IN LP exprlist RP */ +{yylhsminor.yy226 = tSqlExprCreate(yymsp[-4].minor.yy226, (tSqlExpr*)yymsp[-1].minor.yy231, TK_IN); } + yymsp[-4].minor.yy226 = yylhsminor.yy226; break; - case 290: /* exprlist ::= exprlist COMMA expritem */ -{yylhsminor.yy189 = tSqlExprListAppend(yymsp[-2].minor.yy189,yymsp[0].minor.yy18,0, 0);} - yymsp[-2].minor.yy189 = yylhsminor.yy189; + case 291: /* exprlist ::= exprlist COMMA expritem */ +{yylhsminor.yy231 = tSqlExprListAppend(yymsp[-2].minor.yy231,yymsp[0].minor.yy226,0, 0);} + yymsp[-2].minor.yy231 = yylhsminor.yy231; break; - case 291: /* exprlist ::= expritem */ -{yylhsminor.yy189 = tSqlExprListAppend(0,yymsp[0].minor.yy18,0, 0);} - yymsp[0].minor.yy189 = yylhsminor.yy189; + case 292: /* exprlist ::= expritem */ +{yylhsminor.yy231 = tSqlExprListAppend(0,yymsp[0].minor.yy226,0, 0);} + yymsp[0].minor.yy231 = yylhsminor.yy231; break; - case 294: /* cmd ::= RESET QUERY CACHE */ + case 295: /* cmd ::= RESET QUERY CACHE */ { setDCLSqlElems(pInfo, TSDB_SQL_RESET_CACHE, 0);} break; - case 295: /* cmd ::= SYNCDB ids REPLICA */ + case 296: /* cmd ::= SYNCDB ids REPLICA */ { setDCLSqlElems(pInfo, TSDB_SQL_SYNC_DB_REPLICA, 1, &yymsp[-1].minor.yy0);} break; - case 296: /* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */ + case 297: /* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; - SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy189, NULL, TSDB_ALTER_TABLE_ADD_COLUMN, -1); + SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy231, NULL, TSDB_ALTER_TABLE_ADD_COLUMN, -1); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 297: /* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */ + case 298: /* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; @@ -3821,21 +3680,21 @@ static YYACTIONTYPE yy_reduce( setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 298: /* cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */ + case 299: /* cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; - SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy189, NULL, TSDB_ALTER_TABLE_CHANGE_COLUMN, -1); + SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy231, NULL, TSDB_ALTER_TABLE_CHANGE_COLUMN, -1); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 299: /* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */ + case 300: /* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; - SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy189, NULL, TSDB_ALTER_TABLE_ADD_TAG_COLUMN, -1); + SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy231, NULL, TSDB_ALTER_TABLE_ADD_TAG_COLUMN, -1); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 300: /* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */ + case 301: /* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; @@ -3846,7 +3705,7 @@ static YYACTIONTYPE yy_reduce( setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 301: /* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */ + case 302: /* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */ { yymsp[-5].minor.yy0.n += yymsp[-4].minor.yy0.n; @@ -3860,33 +3719,33 @@ static YYACTIONTYPE yy_reduce( setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 302: /* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */ + case 303: /* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */ { yymsp[-6].minor.yy0.n += yymsp[-5].minor.yy0.n; toTSDBType(yymsp[-2].minor.yy0.type); SArray* A = tVariantListAppendToken(NULL, &yymsp[-2].minor.yy0, -1, false); - A = tVariantListAppend(A, &yymsp[0].minor.yy162, -1); + A = tVariantListAppend(A, &yymsp[0].minor.yy176, -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); } break; - case 303: /* cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */ + case 304: /* cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; - SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy189, NULL, TSDB_ALTER_TABLE_MODIFY_TAG_COLUMN, -1); + SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy231, NULL, TSDB_ALTER_TABLE_MODIFY_TAG_COLUMN, -1); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 304: /* cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */ + case 305: /* cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; - SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy189, NULL, TSDB_ALTER_TABLE_ADD_COLUMN, TSDB_SUPER_TABLE); + SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy231, NULL, TSDB_ALTER_TABLE_ADD_COLUMN, TSDB_SUPER_TABLE); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 305: /* cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */ + case 306: /* cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; @@ -3897,21 +3756,21 @@ static YYACTIONTYPE yy_reduce( setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 306: /* cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */ + case 307: /* cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; - SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy189, NULL, TSDB_ALTER_TABLE_CHANGE_COLUMN, TSDB_SUPER_TABLE); + SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy231, NULL, TSDB_ALTER_TABLE_CHANGE_COLUMN, TSDB_SUPER_TABLE); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 307: /* cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */ + case 308: /* cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; - SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy189, NULL, TSDB_ALTER_TABLE_ADD_TAG_COLUMN, TSDB_SUPER_TABLE); + SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy231, NULL, TSDB_ALTER_TABLE_ADD_TAG_COLUMN, TSDB_SUPER_TABLE); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 308: /* cmd ::= ALTER STABLE ids cpxName DROP TAG ids */ + case 309: /* cmd ::= ALTER STABLE ids cpxName DROP TAG ids */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; @@ -3922,7 +3781,7 @@ static YYACTIONTYPE yy_reduce( setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 309: /* cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */ + case 310: /* cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */ { yymsp[-5].minor.yy0.n += yymsp[-4].minor.yy0.n; @@ -3936,32 +3795,32 @@ static YYACTIONTYPE yy_reduce( setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 310: /* cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */ + case 311: /* cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */ { yymsp[-6].minor.yy0.n += yymsp[-5].minor.yy0.n; toTSDBType(yymsp[-2].minor.yy0.type); SArray* A = tVariantListAppendToken(NULL, &yymsp[-2].minor.yy0, -1, false); - A = tVariantListAppend(A, &yymsp[0].minor.yy162, -1); + A = tVariantListAppend(A, &yymsp[0].minor.yy176, -1); SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-6].minor.yy0, NULL, A, TSDB_ALTER_TABLE_UPDATE_TAG_VAL, TSDB_SUPER_TABLE); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 311: /* cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */ + case 312: /* cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; - SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy189, NULL, TSDB_ALTER_TABLE_MODIFY_TAG_COLUMN, TSDB_SUPER_TABLE); + SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy231, NULL, TSDB_ALTER_TABLE_MODIFY_TAG_COLUMN, TSDB_SUPER_TABLE); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 312: /* cmd ::= KILL CONNECTION INTEGER */ + case 313: /* cmd ::= KILL CONNECTION INTEGER */ {setKillSql(pInfo, TSDB_SQL_KILL_CONNECTION, &yymsp[0].minor.yy0);} break; - case 313: /* cmd ::= KILL STREAM INTEGER COLON INTEGER */ + case 314: /* cmd ::= KILL STREAM INTEGER COLON INTEGER */ {yymsp[-2].minor.yy0.n += (yymsp[-1].minor.yy0.n + yymsp[0].minor.yy0.n); setKillSql(pInfo, TSDB_SQL_KILL_STREAM, &yymsp[-2].minor.yy0);} break; - case 314: /* cmd ::= KILL QUERY INTEGER COLON INTEGER */ + case 315: /* cmd ::= KILL QUERY INTEGER COLON INTEGER */ {yymsp[-2].minor.yy0.n += (yymsp[-1].minor.yy0.n + yymsp[0].minor.yy0.n); setKillSql(pInfo, TSDB_SQL_KILL_QUERY, &yymsp[-2].minor.yy0);} break; default: @@ -4132,56 +3991,12 @@ void Parse( } #endif - while(1){ /* Exit by "break" */ - assert( yypParser->yytos>=yypParser->yystack ); + do{ assert( yyact==yypParser->yytos->stateno ); yyact = yy_find_shift_action((YYCODETYPE)yymajor,yyact); if( yyact >= YY_MIN_REDUCE ){ - unsigned int yyruleno = yyact - YY_MIN_REDUCE; /* Reduce by this rule */ - 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], - yyrulenoyytos[yysize].stateno); - }else{ - fprintf(yyTraceFILE, "%sReduce %d [%s]%s.\n", - yyTracePrompt, yyruleno, yyRuleName[yyruleno], - yyrulenoyytos - yypParser->yystack)>yypParser->yyhwm ){ - yypParser->yyhwm++; - assert( yypParser->yyhwm == - (int)(yypParser->yytos - yypParser->yystack)); - } -#endif -#if YYSTACKDEPTH>0 - if( yypParser->yytos>=yypParser->yystackEnd ){ - yyStackOverflow(yypParser); - break; - } -#else - if( yypParser->yytos>=&yypParser->yystack[yypParser->yystksz-1] ){ - if( yyGrowStack(yypParser) ){ - yyStackOverflow(yypParser); - break; - } - } -#endif - } - yyact = yy_reduce(yypParser,yyruleno,yymajor,yyminor ParseCTX_PARAM); + yyact = yy_reduce(yypParser,yyact-YY_MIN_REDUCE,yymajor, + yyminor ParseCTX_PARAM); }else if( yyact <= YY_MAX_SHIFTREDUCE ){ yy_shift(yypParser,yyact,(YYCODETYPE)yymajor,yyminor); #ifndef YYNOERRORRECOVERY @@ -4237,13 +4052,14 @@ void Parse( yy_destructor(yypParser, (YYCODETYPE)yymajor, &yyminorunion); yymajor = YYNOCODE; }else{ - while( yypParser->yytos > yypParser->yystack ){ - yyact = yy_find_reduce_action(yypParser->yytos->stateno, - YYERRORSYMBOL); - if( yyact<=YY_MAX_SHIFTREDUCE ) break; + while( yypParser->yytos >= yypParser->yystack + && (yyact = yy_find_reduce_action( + yypParser->yytos->stateno, + YYERRORSYMBOL)) > YY_MAX_SHIFTREDUCE + ){ yy_pop_parser_stack(yypParser); } - if( yypParser->yytos <= yypParser->yystack || yymajor==0 ){ + if( yypParser->yytos < yypParser->yystack || yymajor==0 ){ yy_destructor(yypParser,(YYCODETYPE)yymajor,&yyminorunion); yy_parse_failed(yypParser); #ifndef YYNOERRORRECOVERY @@ -4293,7 +4109,7 @@ void Parse( break; #endif } - } + }while( yypParser->yytos>yypParser->yystack ); #ifndef NDEBUG if( yyTraceFILE ){ yyStackEntry *i; diff --git a/src/util/src/ttokenizer.c b/src/util/src/ttokenizer.c index 03e92a2a4a..8b97912984 100644 --- a/src/util/src/ttokenizer.c +++ b/src/util/src/ttokenizer.c @@ -159,6 +159,7 @@ static SKeyword keywordTable[] = { {"SOFFSET", TK_SOFFSET}, {"WHERE", TK_WHERE}, {"NOW", TK_NOW}, + {"TODAY", TK_TODAY}, {"INSERT", TK_INSERT}, {"INTO", TK_INTO}, {"VALUES", TK_VALUES}, -- GitLab