diff --git a/cmake/platform.inc b/cmake/platform.inc
index 7834a3541127363539270a5a41282991cf7740d8..889f6c73cf2be982df7f1db207114e58d6af3e92 100755
--- a/cmake/platform.inc
+++ b/cmake/platform.inc
@@ -114,6 +114,9 @@ ELSEIF (${OSTYPE} MATCHES "Ningsi80")
MESSAGE(STATUS "input osType: Ningsi80")
ELSEIF (${OSTYPE} MATCHES "Linux")
MESSAGE(STATUS "input osType: Linux")
+ELSEIF (${OSTYPE} MATCHES "Alpine")
+ MESSAGE(STATUS "input osType: Alpine")
+ SET(TD_APLHINE TRUE)
ELSE ()
MESSAGE(STATUS "input osType unknown: " ${OSTYPE})
-ENDIF ()
\ No newline at end of file
+ENDIF ()
diff --git a/cmake/version.inc b/cmake/version.inc
index c620d753a6babeff993469d5c48a9718f8f00d8d..52d62fca6581a4c496531335ee836342b5cc1f24 100644
--- a/cmake/version.inc
+++ b/cmake/version.inc
@@ -4,7 +4,7 @@ PROJECT(TDengine)
IF (DEFINED VERNUMBER)
SET(TD_VER_NUMBER ${VERNUMBER})
ELSE ()
- SET(TD_VER_NUMBER "2.0.2.0")
+ SET(TD_VER_NUMBER "2.0.3.0")
ENDIF ()
IF (DEFINED VERCOMPATIBLE)
diff --git a/packaging/docker/dockerbuild.sh b/packaging/docker/dockerbuild.sh
index a0ac49bed1272ff84ed8b02e5ee33c8f69b054fd..7532832c07800d9f55a0043dd3564d5d58e81488 100755
--- a/packaging/docker/dockerbuild.sh
+++ b/packaging/docker/dockerbuild.sh
@@ -1,6 +1,5 @@
#!/bin/bash
set -x
-$1
docker build --rm -f "Dockerfile" -t tdengine/tdengine:$1 "."
docker login -u tdengine -p $2 #replace the docker registry username and password
docker push tdengine/tdengine:$1
diff --git a/src/client/src/tscSQLParser.c b/src/client/src/tscSQLParser.c
index de608961c2a24f246148d4ca2af90a20a66c91fd..48980fefb66bb2079c0c9ad1138b76b8b3fa8ec1 100644
--- a/src/client/src/tscSQLParser.c
+++ b/src/client/src/tscSQLParser.c
@@ -5088,7 +5088,7 @@ static int32_t setTimePrecision(SSqlCmd* pCmd, SCMCreateDbMsg* pMsg, SCreateDBIn
}
static void setCreateDBOption(SCMCreateDbMsg* pMsg, SCreateDBInfo* pCreateDb) {
- pMsg->maxTables = htonl(pCreateDb->maxTablesPerVnode);
+ pMsg->maxTables = htonl(-1); // max tables can not be set anymore
pMsg->cacheBlockSize = htonl(pCreateDb->cacheBlockSize);
pMsg->totalBlocks = htonl(pCreateDb->numOfBlocks);
pMsg->daysPerFile = htonl(pCreateDb->daysPerFile);
diff --git a/src/client/src/tscServer.c b/src/client/src/tscServer.c
index 16e3458e133980bf5e85ea85c25da893c2b55929..fbc02cc40e902ea136e9f5a97ab276da5ca2ef1f 100644
--- a/src/client/src/tscServer.c
+++ b/src/client/src/tscServer.c
@@ -406,7 +406,7 @@ int doProcessSql(SSqlObj *pSql) {
if (code != TSDB_CODE_SUCCESS) {
pRes->code = code;
tscQueueAsyncRes(pSql);
- return pRes->code;
+ return code;
}
return TSDB_CODE_SUCCESS;
diff --git a/src/client/src/tscUtil.c b/src/client/src/tscUtil.c
index b45d40f49cdb30a7ff88f488e9a9b7354ce89b81..80e3828c9d70bb70e89dfd43fa6cd32610b0c4cb 100644
--- a/src/client/src/tscUtil.c
+++ b/src/client/src/tscUtil.c
@@ -718,6 +718,7 @@ int32_t tscMergeTableDataBlocks(SSqlObj* pSql, SArray* pTableDataBlockList) {
return TSDB_CODE_SUCCESS;
}
+// TODO: all subqueries should be freed correctly before close this connection.
void tscCloseTscObj(STscObj* pObj) {
assert(pObj != NULL);
@@ -727,6 +728,7 @@ void tscCloseTscObj(STscObj* pObj) {
if (pObj->pDnodeConn != NULL) {
rpcClose(pObj->pDnodeConn);
+ pObj->pDnodeConn = NULL;
}
tscDebug("%p DB connection is closed, dnodeConn:%p", pObj, pObj->pDnodeConn);
diff --git a/src/inc/ttokendef.h b/src/inc/ttokendef.h
index c1579fe9e7b84174428115c2218354282c4363b9..c5831a9b8a708c8913bcb374e0c88baa947160e7 100644
--- a/src/inc/ttokendef.h
+++ b/src/inc/ttokendef.h
@@ -101,127 +101,126 @@
#define TK_CONNS 83
#define TK_STATE 84
#define TK_KEEP 85
-#define TK_MAXTABLES 86
-#define TK_CACHE 87
-#define TK_REPLICA 88
-#define TK_QUORUM 89
-#define TK_DAYS 90
-#define TK_MINROWS 91
-#define TK_MAXROWS 92
-#define TK_BLOCKS 93
-#define TK_CTIME 94
-#define TK_WAL 95
-#define TK_FSYNC 96
-#define TK_COMP 97
-#define TK_PRECISION 98
-#define TK_LP 99
-#define TK_RP 100
-#define TK_TAGS 101
-#define TK_USING 102
-#define TK_AS 103
-#define TK_COMMA 104
-#define TK_NULL 105
-#define TK_SELECT 106
-#define TK_UNION 107
-#define TK_ALL 108
-#define TK_FROM 109
-#define TK_VARIABLE 110
-#define TK_INTERVAL 111
-#define TK_FILL 112
-#define TK_SLIDING 113
-#define TK_ORDER 114
-#define TK_BY 115
-#define TK_ASC 116
-#define TK_DESC 117
-#define TK_GROUP 118
-#define TK_HAVING 119
-#define TK_LIMIT 120
-#define TK_OFFSET 121
-#define TK_SLIMIT 122
-#define TK_SOFFSET 123
-#define TK_WHERE 124
-#define TK_NOW 125
-#define TK_RESET 126
-#define TK_QUERY 127
-#define TK_ADD 128
-#define TK_COLUMN 129
-#define TK_TAG 130
-#define TK_CHANGE 131
-#define TK_SET 132
-#define TK_KILL 133
-#define TK_CONNECTION 134
-#define TK_STREAM 135
-#define TK_COLON 136
-#define TK_ABORT 137
-#define TK_AFTER 138
-#define TK_ATTACH 139
-#define TK_BEFORE 140
-#define TK_BEGIN 141
-#define TK_CASCADE 142
-#define TK_CLUSTER 143
-#define TK_CONFLICT 144
-#define TK_COPY 145
-#define TK_DEFERRED 146
-#define TK_DELIMITERS 147
-#define TK_DETACH 148
-#define TK_EACH 149
-#define TK_END 150
-#define TK_EXPLAIN 151
-#define TK_FAIL 152
-#define TK_FOR 153
-#define TK_IGNORE 154
-#define TK_IMMEDIATE 155
-#define TK_INITIALLY 156
-#define TK_INSTEAD 157
-#define TK_MATCH 158
-#define TK_KEY 159
-#define TK_OF 160
-#define TK_RAISE 161
-#define TK_REPLACE 162
-#define TK_RESTRICT 163
-#define TK_ROW 164
-#define TK_STATEMENT 165
-#define TK_TRIGGER 166
-#define TK_VIEW 167
-#define TK_COUNT 168
-#define TK_SUM 169
-#define TK_AVG 170
-#define TK_MIN 171
-#define TK_MAX 172
-#define TK_FIRST 173
-#define TK_LAST 174
-#define TK_TOP 175
-#define TK_BOTTOM 176
-#define TK_STDDEV 177
-#define TK_PERCENTILE 178
-#define TK_APERCENTILE 179
-#define TK_LEASTSQUARES 180
-#define TK_HISTOGRAM 181
-#define TK_DIFF 182
-#define TK_SPREAD 183
-#define TK_TWA 184
-#define TK_INTERP 185
-#define TK_LAST_ROW 186
-#define TK_RATE 187
-#define TK_IRATE 188
-#define TK_SUM_RATE 189
-#define TK_SUM_IRATE 190
-#define TK_AVG_RATE 191
-#define TK_AVG_IRATE 192
-#define TK_TBID 193
-#define TK_SEMI 194
-#define TK_NONE 195
-#define TK_PREV 196
-#define TK_LINEAR 197
-#define TK_IMPORT 198
-#define TK_METRIC 199
-#define TK_TBNAME 200
-#define TK_JOIN 201
-#define TK_METRICS 202
-#define TK_STABLE 203
-#define TK_INSERT 204
-#define TK_INTO 205
-#define TK_VALUES 206
+#define TK_CACHE 86
+#define TK_REPLICA 87
+#define TK_QUORUM 88
+#define TK_DAYS 89
+#define TK_MINROWS 90
+#define TK_MAXROWS 91
+#define TK_BLOCKS 92
+#define TK_CTIME 93
+#define TK_WAL 94
+#define TK_FSYNC 95
+#define TK_COMP 96
+#define TK_PRECISION 97
+#define TK_LP 98
+#define TK_RP 99
+#define TK_TAGS 100
+#define TK_USING 101
+#define TK_AS 102
+#define TK_COMMA 103
+#define TK_NULL 104
+#define TK_SELECT 105
+#define TK_UNION 106
+#define TK_ALL 107
+#define TK_FROM 108
+#define TK_VARIABLE 109
+#define TK_INTERVAL 110
+#define TK_FILL 111
+#define TK_SLIDING 112
+#define TK_ORDER 113
+#define TK_BY 114
+#define TK_ASC 115
+#define TK_DESC 116
+#define TK_GROUP 117
+#define TK_HAVING 118
+#define TK_LIMIT 119
+#define TK_OFFSET 120
+#define TK_SLIMIT 121
+#define TK_SOFFSET 122
+#define TK_WHERE 123
+#define TK_NOW 124
+#define TK_RESET 125
+#define TK_QUERY 126
+#define TK_ADD 127
+#define TK_COLUMN 128
+#define TK_TAG 129
+#define TK_CHANGE 130
+#define TK_SET 131
+#define TK_KILL 132
+#define TK_CONNECTION 133
+#define TK_STREAM 134
+#define TK_COLON 135
+#define TK_ABORT 136
+#define TK_AFTER 137
+#define TK_ATTACH 138
+#define TK_BEFORE 139
+#define TK_BEGIN 140
+#define TK_CASCADE 141
+#define TK_CLUSTER 142
+#define TK_CONFLICT 143
+#define TK_COPY 144
+#define TK_DEFERRED 145
+#define TK_DELIMITERS 146
+#define TK_DETACH 147
+#define TK_EACH 148
+#define TK_END 149
+#define TK_EXPLAIN 150
+#define TK_FAIL 151
+#define TK_FOR 152
+#define TK_IGNORE 153
+#define TK_IMMEDIATE 154
+#define TK_INITIALLY 155
+#define TK_INSTEAD 156
+#define TK_MATCH 157
+#define TK_KEY 158
+#define TK_OF 159
+#define TK_RAISE 160
+#define TK_REPLACE 161
+#define TK_RESTRICT 162
+#define TK_ROW 163
+#define TK_STATEMENT 164
+#define TK_TRIGGER 165
+#define TK_VIEW 166
+#define TK_COUNT 167
+#define TK_SUM 168
+#define TK_AVG 169
+#define TK_MIN 170
+#define TK_MAX 171
+#define TK_FIRST 172
+#define TK_LAST 173
+#define TK_TOP 174
+#define TK_BOTTOM 175
+#define TK_STDDEV 176
+#define TK_PERCENTILE 177
+#define TK_APERCENTILE 178
+#define TK_LEASTSQUARES 179
+#define TK_HISTOGRAM 180
+#define TK_DIFF 181
+#define TK_SPREAD 182
+#define TK_TWA 183
+#define TK_INTERP 184
+#define TK_LAST_ROW 185
+#define TK_RATE 186
+#define TK_IRATE 187
+#define TK_SUM_RATE 188
+#define TK_SUM_IRATE 189
+#define TK_AVG_RATE 190
+#define TK_AVG_IRATE 191
+#define TK_TBID 192
+#define TK_SEMI 193
+#define TK_NONE 194
+#define TK_PREV 195
+#define TK_LINEAR 196
+#define TK_IMPORT 197
+#define TK_METRIC 198
+#define TK_TBNAME 199
+#define TK_JOIN 200
+#define TK_METRICS 201
+#define TK_STABLE 202
+#define TK_INSERT 203
+#define TK_INTO 204
+#define TK_VALUES 205
#define TK_SPACE 300
diff --git a/src/os/inc/os.h b/src/os/inc/os.h
index df4b847fbb83c04cc5501dd73b6197b94ceff1c3..d4b71173a07fe2c36ee1479bc94bbf274b8dd6b6 100644
--- a/src/os/inc/os.h
+++ b/src/os/inc/os.h
@@ -36,7 +36,7 @@ extern "C" {
#include "osLinux32.h"
#endif
-#ifdef _TD_ALPINE
+#ifdef _ALPINE
#include "osAlpine.h"
#endif
diff --git a/src/os/inc/osAlpine.h b/src/os/inc/osAlpine.h
index b8212373ce84fa7b028c0b60e0149547c789e950..d939adfb6dafb5251f936187225857660842e54e 100644
--- a/src/os/inc/osAlpine.h
+++ b/src/os/inc/osAlpine.h
@@ -13,8 +13,8 @@
* along with this program. If not, see .
*/
-#ifndef TDENGINE_OS_LINUX64_H
-#define TDENGINE_OS_LINUX64_H
+#ifndef TDENGINE_OS_ALPINE_H
+#define TDENGINE_OS_ALPINE_H
#ifdef __cplusplus
extern "C" {
diff --git a/src/os/inc/osLinux64.h b/src/os/inc/osLinux64.h
index 0a99f4b74593e43a5c9e579abd82c5511dc5ac4d..c0841c41bde7ab848bcae2b9cbd037675407afbf 100644
--- a/src/os/inc/osLinux64.h
+++ b/src/os/inc/osLinux64.h
@@ -75,7 +75,9 @@ extern "C" {
#include
#include
#include
+#ifndef _ALPINE
#include
+#endif
#include
#ifdef __cplusplus
diff --git a/src/os/src/detail/osSysinfo.c b/src/os/src/detail/osSysinfo.c
index c75e254b0e6fdc8af1a67a156b13c8d6d2fe46d2..83ecd8580946db628e7a785b5becca87db23118c 100644
--- a/src/os/src/detail/osSysinfo.c
+++ b/src/os/src/detail/osSysinfo.c
@@ -579,7 +579,11 @@ void taosSetCoreDump() {
struct rlimit rlim;
struct rlimit rlim_new;
if (getrlimit(RLIMIT_CORE, &rlim) == 0) {
+ #ifndef _ALPINE
uInfo("the old unlimited para: rlim_cur=%" PRIu64 ", rlim_max=%" PRIu64, rlim.rlim_cur, rlim.rlim_max);
+ #else
+ uInfo("the old unlimited para: rlim_cur=%llu, rlim_max=%llu", rlim.rlim_cur, rlim.rlim_max);
+ #endif
rlim_new.rlim_cur = RLIM_INFINITY;
rlim_new.rlim_max = RLIM_INFINITY;
if (setrlimit(RLIMIT_CORE, &rlim_new) != 0) {
@@ -591,7 +595,11 @@ void taosSetCoreDump() {
}
if (getrlimit(RLIMIT_CORE, &rlim) == 0) {
+ #ifndef _ALPINE
uInfo("the new unlimited para: rlim_cur=%" PRIu64 ", rlim_max=%" PRIu64, rlim.rlim_cur, rlim.rlim_max);
+ #else
+ uInfo("the new unlimited para: rlim_cur=%llu, rlim_max=%llu", rlim.rlim_cur, rlim.rlim_max);
+ #endif
}
#ifndef _TD_ARM_
@@ -659,4 +667,4 @@ bool taosGetSystemUid(char *uid) {
return false;
}
-#endif
\ No newline at end of file
+#endif
diff --git a/src/query/inc/sql.y b/src/query/inc/sql.y
index 7500dcba5667b83613a8b9ff035dff3a7b7574be..79aec2f349ef93f1cc9827e7544538d325b019c2 100644
--- a/src/query/inc/sql.y
+++ b/src/query/inc/sql.y
@@ -217,7 +217,6 @@ acct_optr(Y) ::= pps(C) tseries(D) storage(P) streams(F) qtime(Q) dbs(E) users(K
%destructor keep {tVariantListDestroy($$);}
keep(Y) ::= KEEP tagitemlist(X). { Y = X; }
-tables(Y) ::= MAXTABLES INTEGER(X). { Y = X; }
cache(Y) ::= CACHE INTEGER(X). { Y = X; }
replica(Y) ::= REPLICA INTEGER(X). { Y = X; }
quorum(Y) ::= QUORUM INTEGER(X). { Y = X; }
@@ -234,7 +233,6 @@ prec(Y) ::= PRECISION STRING(X). { Y = X; }
%type db_optr {SCreateDBInfo}
db_optr(Y) ::= . {setDefaultCreateDbOption(&Y);}
-db_optr(Y) ::= db_optr(Z) tables(X). { Y = Z; Y.maxTablesPerVnode = strtol(X.z, NULL, 10); }
db_optr(Y) ::= db_optr(Z) cache(X). { Y = Z; Y.cacheBlockSize = strtol(X.z, NULL, 10); }
db_optr(Y) ::= db_optr(Z) replica(X). { Y = Z; Y.replica = strtol(X.z, NULL, 10); }
db_optr(Y) ::= db_optr(Z) quorum(X). { Y = Z; Y.quorum = strtol(X.z, NULL, 10); }
@@ -254,7 +252,6 @@ alter_db_optr(Y) ::= . { setDefaultCreateDbOption(&Y);}
alter_db_optr(Y) ::= alter_db_optr(Z) replica(X). { Y = Z; Y.replica = strtol(X.z, NULL, 10); }
alter_db_optr(Y) ::= alter_db_optr(Z) quorum(X). { Y = Z; Y.quorum = strtol(X.z, NULL, 10); }
-alter_db_optr(Y) ::= alter_db_optr(Z) tables(X). { Y = Z; Y.maxTablesPerVnode = strtol(X.z, NULL, 10); }
alter_db_optr(Y) ::= alter_db_optr(Z) keep(X). { Y = Z; Y.keep = X; }
alter_db_optr(Y) ::= alter_db_optr(Z) blocks(X). { Y = Z; Y.numOfBlocks = strtol(X.z, NULL, 10); }
alter_db_optr(Y) ::= alter_db_optr(Z) comp(X). { Y = Z; Y.compressionLevel = strtol(X.z, NULL, 10); }
diff --git a/src/query/src/qTokenizer.c b/src/query/src/qTokenizer.c
index 5fdabca166131b84e27e3a79b56b6535a4672971..0c9f92786fdf837e2453fe70f594c10e7a093421 100644
--- a/src/query/src/qTokenizer.c
+++ b/src/query/src/qTokenizer.c
@@ -121,7 +121,6 @@ static SKeyword keywordTable[] = {
{"MINROWS", TK_MINROWS},
{"MAXROWS", TK_MAXROWS},
{"BLOCKS", TK_BLOCKS},
- {"MAXTABLES", TK_MAXTABLES},
{"CACHE", TK_CACHE},
{"CTIME", TK_CTIME},
{"WAL", TK_WAL},
diff --git a/src/query/src/sql.c b/src/query/src/sql.c
index f3f55791b09809cab42793e491b59f36143ebfd3..373e57963cf29d4c7d279e2d87fe4d063dd1df66 100644
--- a/src/query/src/sql.c
+++ b/src/query/src/sql.c
@@ -97,26 +97,26 @@
#endif
/************* Begin control #defines *****************************************/
#define YYCODETYPE unsigned short int
-#define YYNOCODE 274
+#define YYNOCODE 272
#define YYACTIONTYPE unsigned short int
#define ParseTOKENTYPE SStrToken
typedef union {
int yyinit;
ParseTOKENTYPE yy0;
- int yy46;
- tSQLExpr* yy64;
- tVariant yy134;
- SCreateAcctSQL yy149;
- int64_t yy207;
- SLimitVal yy216;
- TAOS_FIELD yy223;
- SSubclauseInfo* yy231;
- SCreateDBInfo yy268;
- tSQLExprList* yy290;
- SQuerySQL* yy414;
- SCreateTableSQL* yy470;
- tVariantList* yy498;
- tFieldList* yy523;
+ SSubclauseInfo* yy25;
+ tSQLExpr* yy66;
+ SCreateAcctSQL yy73;
+ int yy82;
+ SQuerySQL* yy150;
+ SCreateDBInfo yy158;
+ TAOS_FIELD yy181;
+ SLimitVal yy188;
+ tSQLExprList* yy224;
+ int64_t yy271;
+ tVariant yy312;
+ SCreateTableSQL* yy374;
+ tFieldList* yy449;
+ tVariantList* yy494;
} YYMINORTYPE;
#ifndef YYSTACKDEPTH
#define YYSTACKDEPTH 100
@@ -126,17 +126,17 @@ typedef union {
#define ParseARG_FETCH SSqlInfo* pInfo = yypParser->pInfo
#define ParseARG_STORE yypParser->pInfo = pInfo
#define YYFALLBACK 1
-#define YYNSTATE 245
-#define YYNRULE 228
-#define YYNTOKEN 207
-#define YY_MAX_SHIFT 244
-#define YY_MIN_SHIFTREDUCE 407
-#define YY_MAX_SHIFTREDUCE 634
-#define YY_ERROR_ACTION 635
-#define YY_ACCEPT_ACTION 636
-#define YY_NO_ACTION 637
-#define YY_MIN_REDUCE 638
-#define YY_MAX_REDUCE 865
+#define YYNSTATE 244
+#define YYNRULE 225
+#define YYNTOKEN 206
+#define YY_MAX_SHIFT 243
+#define YY_MIN_SHIFTREDUCE 403
+#define YY_MAX_SHIFTREDUCE 627
+#define YY_ERROR_ACTION 628
+#define YY_ACCEPT_ACTION 629
+#define YY_NO_ACTION 630
+#define YY_MIN_REDUCE 631
+#define YY_MAX_REDUCE 855
/************* End control #defines *******************************************/
/* Define the yytestcase() macro to be a no-op if is not already defined
@@ -202,219 +202,217 @@ typedef union {
** yy_default[] Default action for each state.
**
*********** Begin parsing tables **********************************************/
-#define YY_ACTTAB_COUNT (554)
+#define YY_ACTTAB_COUNT (549)
static const YYACTIONTYPE yy_action[] = {
- /* 0 */ 105, 448, 137, 677, 636, 244, 128, 517, 137, 449,
- /* 10 */ 137, 160, 853, 41, 43, 11, 35, 36, 852, 159,
- /* 20 */ 853, 29, 136, 448, 199, 39, 37, 40, 38, 157,
- /* 30 */ 105, 449, 141, 34, 33, 219, 218, 32, 31, 30,
- /* 40 */ 41, 43, 771, 35, 36, 32, 31, 30, 29, 760,
- /* 50 */ 448, 199, 39, 37, 40, 38, 184, 808, 449, 194,
- /* 60 */ 34, 33, 21, 21, 32, 31, 30, 408, 409, 410,
- /* 70 */ 411, 412, 413, 414, 415, 416, 417, 418, 419, 243,
- /* 80 */ 41, 43, 230, 35, 36, 196, 849, 60, 29, 21,
- /* 90 */ 848, 199, 39, 37, 40, 38, 168, 169, 757, 757,
- /* 100 */ 34, 33, 170, 56, 32, 31, 30, 782, 847, 16,
- /* 110 */ 237, 210, 236, 235, 209, 208, 207, 234, 206, 233,
- /* 120 */ 232, 231, 205, 217, 153, 757, 736, 590, 723, 724,
- /* 130 */ 725, 726, 727, 728, 729, 730, 731, 732, 733, 734,
- /* 140 */ 735, 43, 8, 35, 36, 63, 115, 21, 29, 155,
- /* 150 */ 242, 199, 39, 37, 40, 38, 241, 240, 97, 779,
- /* 160 */ 34, 33, 167, 101, 32, 31, 30, 171, 35, 36,
- /* 170 */ 216, 215, 596, 29, 599, 105, 199, 39, 37, 40,
- /* 180 */ 38, 222, 760, 757, 238, 34, 33, 177, 12, 32,
- /* 190 */ 31, 30, 164, 603, 181, 180, 594, 771, 597, 105,
- /* 200 */ 600, 163, 164, 603, 760, 17, 594, 150, 597, 154,
- /* 210 */ 600, 156, 26, 90, 89, 144, 187, 571, 572, 16,
- /* 220 */ 237, 149, 236, 235, 161, 162, 221, 234, 198, 233,
- /* 230 */ 232, 231, 807, 78, 161, 162, 164, 603, 549, 230,
- /* 240 */ 594, 3, 597, 17, 600, 76, 80, 85, 88, 79,
- /* 250 */ 26, 39, 37, 40, 38, 82, 61, 758, 21, 34,
- /* 260 */ 33, 546, 62, 32, 31, 30, 18, 142, 161, 162,
- /* 270 */ 183, 741, 541, 740, 27, 738, 739, 152, 686, 186,
- /* 280 */ 742, 128, 744, 745, 743, 678, 533, 143, 128, 530,
- /* 290 */ 42, 531, 562, 532, 756, 595, 46, 598, 34, 33,
- /* 300 */ 42, 602, 32, 31, 30, 118, 119, 70, 66, 69,
- /* 310 */ 592, 602, 145, 50, 75, 74, 601, 172, 173, 132,
- /* 320 */ 130, 93, 92, 91, 100, 47, 601, 146, 563, 620,
- /* 330 */ 51, 26, 14, 13, 42, 147, 604, 523, 522, 203,
- /* 340 */ 13, 46, 22, 22, 48, 602, 593, 10, 9, 537,
- /* 350 */ 535, 538, 536, 87, 86, 148, 139, 135, 862, 140,
- /* 360 */ 601, 138, 759, 818, 817, 165, 814, 813, 166, 781,
- /* 370 */ 751, 220, 800, 786, 788, 773, 102, 799, 26, 116,
- /* 380 */ 114, 117, 688, 185, 204, 133, 24, 213, 685, 534,
- /* 390 */ 214, 861, 95, 72, 860, 858, 558, 120, 706, 25,
- /* 400 */ 23, 134, 52, 188, 675, 81, 673, 83, 84, 671,
- /* 410 */ 670, 174, 192, 129, 668, 667, 666, 665, 664, 656,
- /* 420 */ 49, 131, 662, 660, 658, 770, 57, 58, 801, 44,
- /* 430 */ 197, 195, 193, 191, 189, 28, 106, 212, 77, 223,
- /* 440 */ 224, 225, 226, 201, 53, 227, 228, 229, 239, 64,
- /* 450 */ 67, 634, 151, 175, 176, 633, 178, 179, 632, 669,
- /* 460 */ 186, 625, 94, 96, 123, 127, 2, 122, 707, 755,
- /* 470 */ 121, 124, 125, 111, 107, 108, 126, 109, 110, 112,
- /* 480 */ 663, 113, 182, 1, 543, 55, 59, 559, 103, 158,
- /* 490 */ 564, 5, 190, 104, 6, 65, 490, 605, 4, 19,
- /* 500 */ 20, 15, 200, 7, 202, 486, 484, 483, 482, 479,
- /* 510 */ 452, 211, 68, 45, 22, 71, 73, 519, 518, 516,
- /* 520 */ 54, 473, 471, 463, 469, 465, 467, 461, 459, 489,
- /* 530 */ 488, 487, 485, 481, 480, 478, 46, 450, 423, 421,
- /* 540 */ 638, 637, 637, 637, 637, 637, 637, 637, 637, 637,
- /* 550 */ 637, 637, 98, 99,
+ /* 0 */ 731, 444, 221, 729, 730, 629, 243, 510, 732, 445,
+ /* 10 */ 734, 735, 733, 41, 43, 526, 35, 36, 523, 11,
+ /* 20 */ 524, 29, 525, 444, 199, 39, 37, 40, 38, 155,
+ /* 30 */ 241, 445, 748, 34, 33, 219, 218, 32, 31, 30,
+ /* 40 */ 41, 43, 761, 35, 36, 136, 172, 173, 29, 137,
+ /* 50 */ 21, 199, 39, 37, 40, 38, 184, 141, 160, 843,
+ /* 60 */ 34, 33, 839, 772, 32, 31, 30, 404, 405, 406,
+ /* 70 */ 407, 408, 409, 410, 411, 412, 413, 414, 415, 242,
+ /* 80 */ 41, 43, 230, 35, 36, 746, 62, 137, 29, 137,
+ /* 90 */ 21, 199, 39, 37, 40, 38, 159, 843, 27, 842,
+ /* 100 */ 34, 33, 56, 838, 32, 31, 30, 105, 43, 8,
+ /* 110 */ 35, 36, 63, 115, 769, 29, 761, 527, 199, 39,
+ /* 120 */ 37, 40, 38, 168, 539, 747, 583, 34, 33, 18,
+ /* 130 */ 156, 32, 31, 30, 16, 210, 236, 235, 209, 208,
+ /* 140 */ 207, 234, 206, 233, 232, 231, 205, 727, 105, 715,
+ /* 150 */ 716, 717, 718, 719, 720, 721, 722, 723, 724, 725,
+ /* 160 */ 726, 35, 36, 798, 837, 194, 29, 177, 157, 199,
+ /* 170 */ 39, 37, 40, 38, 181, 180, 21, 21, 34, 33,
+ /* 180 */ 444, 12, 32, 31, 30, 164, 596, 750, 445, 587,
+ /* 190 */ 153, 590, 154, 593, 105, 164, 596, 21, 17, 587,
+ /* 200 */ 150, 590, 196, 593, 60, 26, 90, 89, 144, 169,
+ /* 210 */ 217, 747, 747, 16, 149, 236, 235, 161, 162, 167,
+ /* 220 */ 234, 198, 233, 232, 231, 142, 670, 161, 162, 128,
+ /* 230 */ 222, 542, 747, 164, 596, 17, 143, 587, 750, 590,
+ /* 240 */ 105, 593, 26, 39, 37, 40, 38, 100, 170, 145,
+ /* 250 */ 797, 34, 33, 101, 26, 32, 31, 30, 32, 31,
+ /* 260 */ 30, 78, 183, 564, 565, 161, 162, 230, 589, 152,
+ /* 270 */ 592, 76, 80, 85, 88, 79, 240, 239, 97, 34,
+ /* 280 */ 33, 82, 42, 32, 31, 30, 118, 119, 70, 66,
+ /* 290 */ 69, 237, 42, 595, 679, 163, 61, 128, 132, 130,
+ /* 300 */ 93, 92, 91, 595, 671, 187, 585, 128, 594, 588,
+ /* 310 */ 750, 591, 171, 534, 47, 216, 215, 146, 594, 555,
+ /* 320 */ 186, 147, 556, 46, 613, 148, 14, 597, 13, 139,
+ /* 330 */ 42, 13, 50, 48, 3, 135, 75, 74, 140, 516,
+ /* 340 */ 515, 595, 586, 46, 22, 138, 203, 10, 9, 51,
+ /* 350 */ 22, 852, 530, 528, 531, 529, 594, 87, 86, 749,
+ /* 360 */ 808, 807, 165, 804, 803, 166, 771, 741, 220, 776,
+ /* 370 */ 763, 778, 102, 790, 789, 116, 117, 114, 681, 204,
+ /* 380 */ 133, 24, 213, 678, 214, 851, 72, 850, 848, 26,
+ /* 390 */ 120, 699, 25, 23, 185, 95, 134, 668, 81, 551,
+ /* 400 */ 666, 83, 84, 664, 188, 663, 174, 129, 661, 660,
+ /* 410 */ 659, 658, 657, 649, 131, 655, 653, 192, 52, 651,
+ /* 420 */ 760, 57, 49, 58, 791, 44, 197, 195, 193, 191,
+ /* 430 */ 189, 28, 212, 77, 223, 224, 225, 226, 227, 228,
+ /* 440 */ 229, 238, 627, 176, 175, 626, 201, 178, 179, 53,
+ /* 450 */ 625, 618, 182, 536, 64, 151, 186, 67, 552, 55,
+ /* 460 */ 103, 158, 662, 59, 200, 94, 96, 123, 700, 121,
+ /* 470 */ 126, 106, 107, 122, 124, 125, 127, 112, 108, 109,
+ /* 480 */ 113, 745, 110, 656, 111, 1, 2, 190, 5, 557,
+ /* 490 */ 104, 19, 6, 598, 20, 4, 15, 7, 65, 485,
+ /* 500 */ 202, 481, 479, 478, 477, 474, 448, 211, 68, 45,
+ /* 510 */ 71, 73, 22, 512, 511, 509, 54, 469, 467, 459,
+ /* 520 */ 465, 461, 463, 457, 455, 484, 483, 482, 480, 476,
+ /* 530 */ 475, 46, 446, 419, 417, 631, 630, 630, 630, 630,
+ /* 540 */ 630, 630, 630, 630, 630, 630, 630, 98, 99,
};
static const YYCODETYPE yy_lookahead[] = {
- /* 0 */ 211, 1, 262, 215, 208, 209, 218, 5, 262, 9,
- /* 10 */ 262, 271, 272, 13, 14, 262, 16, 17, 272, 271,
- /* 20 */ 272, 21, 262, 1, 24, 25, 26, 27, 28, 228,
- /* 30 */ 211, 9, 262, 33, 34, 33, 34, 37, 38, 39,
- /* 40 */ 13, 14, 246, 16, 17, 37, 38, 39, 21, 248,
- /* 50 */ 1, 24, 25, 26, 27, 28, 260, 268, 9, 270,
- /* 60 */ 33, 34, 211, 211, 37, 38, 39, 45, 46, 47,
+ /* 0 */ 226, 1, 210, 229, 230, 207, 208, 5, 234, 9,
+ /* 10 */ 236, 237, 238, 13, 14, 2, 16, 17, 5, 260,
+ /* 20 */ 7, 21, 9, 1, 24, 25, 26, 27, 28, 209,
+ /* 30 */ 210, 9, 240, 33, 34, 33, 34, 37, 38, 39,
+ /* 40 */ 13, 14, 244, 16, 17, 260, 33, 34, 21, 260,
+ /* 50 */ 210, 24, 25, 26, 27, 28, 258, 260, 269, 270,
+ /* 60 */ 33, 34, 260, 210, 37, 38, 39, 45, 46, 47,
/* 70 */ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- /* 80 */ 13, 14, 78, 16, 17, 266, 262, 268, 21, 211,
- /* 90 */ 262, 24, 25, 26, 27, 28, 245, 245, 247, 247,
- /* 100 */ 33, 34, 63, 103, 37, 38, 39, 211, 262, 85,
- /* 110 */ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
- /* 120 */ 96, 97, 98, 245, 262, 247, 227, 100, 229, 230,
- /* 130 */ 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
- /* 140 */ 241, 14, 99, 16, 17, 102, 103, 211, 21, 210,
- /* 150 */ 211, 24, 25, 26, 27, 28, 60, 61, 62, 263,
- /* 160 */ 33, 34, 228, 211, 37, 38, 39, 128, 16, 17,
- /* 170 */ 131, 132, 5, 21, 7, 211, 24, 25, 26, 27,
- /* 180 */ 28, 245, 248, 247, 228, 33, 34, 127, 44, 37,
- /* 190 */ 38, 39, 1, 2, 134, 135, 5, 246, 7, 211,
- /* 200 */ 9, 59, 1, 2, 248, 99, 5, 63, 7, 262,
- /* 210 */ 9, 260, 106, 69, 70, 71, 264, 116, 117, 85,
- /* 220 */ 86, 77, 88, 89, 33, 34, 211, 93, 37, 95,
- /* 230 */ 96, 97, 268, 72, 33, 34, 1, 2, 37, 78,
- /* 240 */ 5, 99, 7, 99, 9, 64, 65, 66, 67, 68,
- /* 250 */ 106, 25, 26, 27, 28, 74, 268, 242, 211, 33,
- /* 260 */ 34, 104, 249, 37, 38, 39, 109, 262, 33, 34,
- /* 270 */ 126, 227, 100, 229, 261, 231, 232, 133, 215, 107,
- /* 280 */ 236, 218, 238, 239, 240, 215, 2, 262, 218, 5,
- /* 290 */ 99, 7, 100, 9, 247, 5, 104, 7, 33, 34,
- /* 300 */ 99, 110, 37, 38, 39, 64, 65, 66, 67, 68,
- /* 310 */ 1, 110, 262, 104, 129, 130, 125, 33, 34, 64,
- /* 320 */ 65, 66, 67, 68, 99, 104, 125, 262, 100, 100,
- /* 330 */ 121, 106, 104, 104, 99, 262, 100, 100, 100, 100,
- /* 340 */ 104, 104, 104, 104, 123, 110, 37, 129, 130, 5,
- /* 350 */ 5, 7, 7, 72, 73, 262, 262, 262, 248, 262,
- /* 360 */ 125, 262, 248, 243, 243, 243, 243, 243, 243, 211,
- /* 370 */ 244, 243, 269, 211, 211, 246, 211, 269, 106, 211,
- /* 380 */ 250, 211, 211, 246, 211, 211, 211, 211, 211, 105,
- /* 390 */ 211, 211, 59, 211, 211, 211, 110, 211, 211, 211,
- /* 400 */ 211, 211, 120, 265, 211, 211, 211, 211, 211, 211,
- /* 410 */ 211, 211, 265, 211, 211, 211, 211, 211, 211, 211,
- /* 420 */ 122, 211, 211, 211, 211, 259, 212, 212, 212, 119,
- /* 430 */ 114, 118, 113, 112, 111, 124, 258, 75, 84, 83,
- /* 440 */ 49, 80, 82, 212, 212, 53, 81, 79, 75, 216,
- /* 450 */ 216, 5, 212, 136, 5, 5, 136, 5, 5, 212,
- /* 460 */ 107, 87, 213, 213, 220, 219, 214, 224, 226, 246,
- /* 470 */ 225, 223, 221, 253, 257, 256, 222, 255, 254, 252,
- /* 480 */ 212, 251, 127, 217, 100, 108, 104, 100, 99, 1,
- /* 490 */ 100, 115, 99, 99, 115, 72, 9, 100, 99, 104,
- /* 500 */ 104, 99, 101, 99, 101, 5, 5, 5, 5, 5,
- /* 510 */ 76, 15, 72, 16, 104, 130, 130, 5, 5, 100,
- /* 520 */ 99, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- /* 530 */ 5, 5, 5, 5, 5, 5, 104, 76, 59, 58,
- /* 540 */ 0, 273, 273, 273, 273, 273, 273, 273, 273, 273,
- /* 550 */ 273, 273, 21, 21, 273, 273, 273, 273, 273, 273,
- /* 560 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
- /* 570 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
- /* 580 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
- /* 590 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
- /* 600 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
- /* 610 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
- /* 620 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
- /* 630 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
- /* 640 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
- /* 650 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
- /* 660 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
- /* 670 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
- /* 680 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
- /* 690 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
- /* 700 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
- /* 710 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
- /* 720 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
- /* 730 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
- /* 740 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
- /* 750 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
- /* 760 */ 273,
+ /* 80 */ 13, 14, 78, 16, 17, 245, 247, 260, 21, 260,
+ /* 90 */ 210, 24, 25, 26, 27, 28, 269, 270, 259, 270,
+ /* 100 */ 33, 34, 102, 260, 37, 38, 39, 210, 14, 98,
+ /* 110 */ 16, 17, 101, 102, 261, 21, 244, 104, 24, 25,
+ /* 120 */ 26, 27, 28, 243, 103, 245, 99, 33, 34, 108,
+ /* 130 */ 258, 37, 38, 39, 85, 86, 87, 88, 89, 90,
+ /* 140 */ 91, 92, 93, 94, 95, 96, 97, 226, 210, 228,
+ /* 150 */ 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
+ /* 160 */ 239, 16, 17, 266, 260, 268, 21, 126, 227, 24,
+ /* 170 */ 25, 26, 27, 28, 133, 134, 210, 210, 33, 34,
+ /* 180 */ 1, 44, 37, 38, 39, 1, 2, 246, 9, 5,
+ /* 190 */ 260, 7, 260, 9, 210, 1, 2, 210, 98, 5,
+ /* 200 */ 63, 7, 264, 9, 266, 105, 69, 70, 71, 243,
+ /* 210 */ 243, 245, 245, 85, 77, 87, 88, 33, 34, 227,
+ /* 220 */ 92, 37, 94, 95, 96, 260, 214, 33, 34, 217,
+ /* 230 */ 243, 37, 245, 1, 2, 98, 260, 5, 246, 7,
+ /* 240 */ 210, 9, 105, 25, 26, 27, 28, 98, 63, 260,
+ /* 250 */ 266, 33, 34, 210, 105, 37, 38, 39, 37, 38,
+ /* 260 */ 39, 72, 125, 115, 116, 33, 34, 78, 5, 132,
+ /* 270 */ 7, 64, 65, 66, 67, 68, 60, 61, 62, 33,
+ /* 280 */ 34, 74, 98, 37, 38, 39, 64, 65, 66, 67,
+ /* 290 */ 68, 227, 98, 109, 214, 59, 266, 217, 64, 65,
+ /* 300 */ 66, 67, 68, 109, 214, 262, 1, 217, 124, 5,
+ /* 310 */ 246, 7, 127, 99, 103, 130, 131, 260, 124, 99,
+ /* 320 */ 106, 260, 99, 103, 99, 260, 103, 99, 103, 260,
+ /* 330 */ 98, 103, 103, 122, 98, 260, 128, 129, 260, 99,
+ /* 340 */ 99, 109, 37, 103, 103, 260, 99, 128, 129, 120,
+ /* 350 */ 103, 246, 5, 5, 7, 7, 124, 72, 73, 246,
+ /* 360 */ 241, 241, 241, 241, 241, 241, 210, 242, 241, 210,
+ /* 370 */ 244, 210, 210, 267, 267, 210, 210, 248, 210, 210,
+ /* 380 */ 210, 210, 210, 210, 210, 210, 210, 210, 210, 105,
+ /* 390 */ 210, 210, 210, 210, 244, 59, 210, 210, 210, 109,
+ /* 400 */ 210, 210, 210, 210, 263, 210, 210, 210, 210, 210,
+ /* 410 */ 210, 210, 210, 210, 210, 210, 210, 263, 119, 210,
+ /* 420 */ 257, 211, 121, 211, 211, 118, 113, 117, 112, 111,
+ /* 430 */ 110, 123, 75, 84, 83, 49, 80, 82, 53, 81,
+ /* 440 */ 79, 75, 5, 5, 135, 5, 211, 135, 5, 211,
+ /* 450 */ 5, 86, 126, 99, 215, 211, 106, 215, 99, 107,
+ /* 460 */ 98, 1, 211, 103, 100, 212, 212, 219, 225, 224,
+ /* 470 */ 221, 256, 255, 223, 222, 220, 218, 250, 254, 253,
+ /* 480 */ 249, 244, 252, 211, 251, 216, 213, 98, 114, 99,
+ /* 490 */ 98, 103, 114, 99, 103, 98, 98, 98, 72, 9,
+ /* 500 */ 100, 5, 5, 5, 5, 5, 76, 15, 72, 16,
+ /* 510 */ 129, 129, 103, 5, 5, 99, 98, 5, 5, 5,
+ /* 520 */ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ /* 530 */ 5, 103, 76, 59, 58, 0, 271, 271, 271, 271,
+ /* 540 */ 271, 271, 271, 271, 271, 271, 271, 21, 21, 271,
+ /* 550 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
+ /* 560 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
+ /* 570 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
+ /* 580 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
+ /* 590 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
+ /* 600 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
+ /* 610 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
+ /* 620 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
+ /* 630 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
+ /* 640 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
+ /* 650 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
+ /* 660 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
+ /* 670 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
+ /* 680 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
+ /* 690 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
+ /* 700 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
+ /* 710 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
+ /* 720 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
+ /* 730 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
+ /* 740 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
+ /* 750 */ 271, 271, 271, 271, 271,
};
-#define YY_SHIFT_COUNT (244)
+#define YY_SHIFT_COUNT (243)
#define YY_SHIFT_MIN (0)
-#define YY_SHIFT_MAX (540)
+#define YY_SHIFT_MAX (535)
static const unsigned short int yy_shift_ofst[] = {
- /* 0 */ 144, 24, 134, 191, 235, 49, 49, 49, 49, 49,
- /* 10 */ 49, 0, 22, 235, 284, 284, 284, 106, 49, 49,
- /* 20 */ 49, 49, 49, 161, 4, 4, 554, 201, 235, 235,
- /* 30 */ 235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
- /* 40 */ 235, 235, 235, 235, 235, 284, 284, 2, 2, 2,
- /* 50 */ 2, 2, 2, 43, 2, 225, 49, 49, 49, 49,
- /* 60 */ 101, 101, 157, 49, 49, 49, 49, 49, 49, 49,
- /* 70 */ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
- /* 80 */ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
- /* 90 */ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
- /* 100 */ 272, 333, 333, 286, 286, 333, 282, 298, 310, 316,
- /* 110 */ 313, 319, 321, 323, 311, 272, 333, 333, 362, 362,
- /* 120 */ 333, 354, 356, 391, 361, 360, 392, 365, 368, 333,
- /* 130 */ 373, 333, 373, 554, 554, 27, 67, 67, 67, 127,
- /* 140 */ 152, 226, 226, 226, 181, 265, 265, 265, 265, 241,
- /* 150 */ 255, 39, 60, 8, 8, 96, 172, 192, 228, 229,
- /* 160 */ 236, 167, 290, 309, 142, 221, 209, 237, 238, 239,
- /* 170 */ 185, 218, 344, 345, 281, 446, 317, 449, 450, 320,
- /* 180 */ 452, 453, 374, 355, 353, 384, 377, 382, 387, 389,
- /* 190 */ 488, 393, 390, 394, 395, 376, 396, 379, 397, 399,
- /* 200 */ 402, 401, 404, 403, 423, 487, 500, 501, 502, 503,
- /* 210 */ 504, 434, 496, 440, 497, 385, 386, 410, 512, 513,
- /* 220 */ 419, 421, 410, 516, 517, 518, 519, 520, 521, 522,
- /* 230 */ 523, 524, 525, 526, 527, 528, 529, 530, 432, 461,
- /* 240 */ 531, 532, 479, 481, 540,
+ /* 0 */ 137, 49, 128, 184, 232, 179, 179, 179, 179, 179,
+ /* 10 */ 179, 0, 22, 232, 13, 13, 13, 100, 179, 179,
+ /* 20 */ 179, 179, 179, 189, 4, 4, 549, 194, 232, 232,
+ /* 30 */ 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
+ /* 40 */ 232, 232, 232, 232, 232, 13, 13, 2, 2, 2,
+ /* 50 */ 2, 2, 2, 11, 2, 149, 179, 179, 179, 179,
+ /* 60 */ 148, 148, 21, 179, 179, 179, 179, 179, 179, 179,
+ /* 70 */ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ /* 80 */ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ /* 90 */ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ /* 100 */ 284, 336, 336, 290, 290, 336, 299, 301, 307, 313,
+ /* 110 */ 310, 316, 318, 320, 308, 284, 336, 336, 357, 357,
+ /* 120 */ 336, 349, 351, 386, 356, 355, 385, 358, 361, 336,
+ /* 130 */ 366, 336, 366, 549, 549, 27, 67, 67, 67, 94,
+ /* 140 */ 145, 218, 218, 218, 207, 246, 246, 246, 246, 222,
+ /* 150 */ 234, 185, 41, 221, 221, 216, 214, 220, 223, 225,
+ /* 160 */ 228, 263, 304, 305, 236, 211, 229, 240, 241, 247,
+ /* 170 */ 208, 219, 347, 348, 285, 437, 309, 438, 440, 312,
+ /* 180 */ 443, 445, 365, 326, 350, 354, 352, 360, 359, 362,
+ /* 190 */ 460, 389, 390, 392, 388, 374, 391, 378, 394, 397,
+ /* 200 */ 398, 364, 399, 400, 426, 490, 496, 497, 498, 499,
+ /* 210 */ 500, 430, 492, 436, 493, 381, 382, 409, 508, 509,
+ /* 220 */ 416, 418, 409, 512, 513, 514, 515, 516, 517, 518,
+ /* 230 */ 519, 520, 521, 522, 523, 524, 525, 428, 456, 526,
+ /* 240 */ 527, 474, 476, 535,
};
#define YY_REDUCE_COUNT (134)
-#define YY_REDUCE_MIN (-260)
-#define YY_REDUCE_MAX (268)
+#define YY_REDUCE_MIN (-241)
+#define YY_REDUCE_MAX (273)
static const short yy_reduce_ofst[] = {
- /* 0 */ -204, -101, 44, -260, -252, -211, -181, -149, -148, -122,
- /* 10 */ -64, -104, -61, -254, -199, -66, -44, -49, -48, -36,
- /* 20 */ -12, 15, 47, -212, 63, 70, 13, -247, -240, -230,
- /* 30 */ -176, -172, -154, -138, -53, 5, 25, 50, 65, 73,
- /* 40 */ 93, 94, 95, 97, 99, 110, 114, 120, 121, 122,
- /* 50 */ 123, 124, 125, 126, 128, 129, 158, 162, 163, 165,
- /* 60 */ 103, 108, 130, 168, 170, 171, 173, 174, 175, 176,
- /* 70 */ 177, 179, 180, 182, 183, 184, 186, 187, 188, 189,
- /* 80 */ 190, 193, 194, 195, 196, 197, 198, 199, 200, 202,
- /* 90 */ 203, 204, 205, 206, 207, 208, 210, 211, 212, 213,
- /* 100 */ 137, 214, 215, 138, 147, 216, 166, 178, 217, 219,
- /* 110 */ 222, 224, 220, 227, 230, 223, 231, 232, 233, 234,
- /* 120 */ 240, 242, 245, 243, 244, 248, 251, 254, 246, 247,
- /* 130 */ 249, 268, 250, 266, 252,
+ /* 0 */ -202, -79, -226, -211, -173, -103, -62, -120, -34, -33,
+ /* 10 */ -13, -147, -180, -171, -59, -8, 64, -128, 43, -16,
+ /* 20 */ 30, -208, -160, 12, 80, 90, -161, -241, -215, -203,
+ /* 30 */ -198, -157, -96, -70, -68, -35, -24, -11, 57, 61,
+ /* 40 */ 65, 69, 75, 78, 85, 105, 113, 119, 120, 121,
+ /* 50 */ 122, 123, 124, 125, 127, 126, 156, 159, 161, 162,
+ /* 60 */ 106, 107, 129, 165, 166, 168, 169, 170, 171, 172,
+ /* 70 */ 173, 174, 175, 176, 177, 178, 180, 181, 182, 183,
+ /* 80 */ 186, 187, 188, 190, 191, 192, 193, 195, 196, 197,
+ /* 90 */ 198, 199, 200, 201, 202, 203, 204, 205, 206, 209,
+ /* 100 */ 150, 210, 212, 141, 154, 213, 163, 215, 217, 224,
+ /* 110 */ 226, 230, 233, 227, 231, 237, 235, 238, 239, 242,
+ /* 120 */ 244, 243, 245, 250, 248, 252, 255, 249, 258, 251,
+ /* 130 */ 253, 272, 254, 269, 273,
};
static const YYACTIONTYPE yy_default[] = {
- /* 0 */ 635, 687, 676, 855, 855, 635, 635, 635, 635, 635,
- /* 10 */ 635, 783, 653, 855, 635, 635, 635, 635, 635, 635,
- /* 20 */ 635, 635, 635, 689, 689, 689, 778, 635, 635, 635,
- /* 30 */ 635, 635, 635, 635, 635, 635, 635, 635, 635, 635,
- /* 40 */ 635, 635, 635, 635, 635, 635, 635, 635, 635, 635,
- /* 50 */ 635, 635, 635, 635, 635, 635, 635, 785, 787, 635,
- /* 60 */ 804, 804, 776, 635, 635, 635, 635, 635, 635, 635,
- /* 70 */ 635, 635, 635, 635, 635, 635, 635, 635, 635, 635,
- /* 80 */ 635, 674, 635, 672, 635, 635, 635, 635, 635, 635,
- /* 90 */ 635, 635, 635, 635, 635, 635, 635, 661, 635, 635,
- /* 100 */ 635, 655, 655, 635, 635, 655, 811, 815, 809, 797,
- /* 110 */ 805, 796, 792, 791, 819, 635, 655, 655, 684, 684,
- /* 120 */ 655, 705, 703, 701, 693, 699, 695, 697, 691, 655,
- /* 130 */ 682, 655, 682, 722, 737, 635, 820, 854, 810, 838,
- /* 140 */ 837, 850, 844, 843, 635, 842, 841, 840, 839, 635,
- /* 150 */ 635, 635, 635, 846, 845, 635, 635, 635, 635, 635,
- /* 160 */ 635, 635, 635, 635, 822, 816, 812, 635, 635, 635,
- /* 170 */ 635, 635, 635, 635, 635, 635, 635, 635, 635, 635,
- /* 180 */ 635, 635, 635, 635, 775, 635, 635, 784, 635, 635,
- /* 190 */ 635, 635, 635, 635, 806, 635, 798, 635, 635, 635,
- /* 200 */ 635, 635, 635, 752, 635, 635, 635, 635, 635, 635,
- /* 210 */ 635, 635, 635, 635, 635, 635, 635, 859, 635, 635,
- /* 220 */ 635, 746, 857, 635, 635, 635, 635, 635, 635, 635,
- /* 230 */ 635, 635, 635, 635, 635, 635, 635, 635, 708, 635,
- /* 240 */ 659, 657, 635, 651, 635,
+ /* 0 */ 628, 680, 669, 845, 845, 628, 628, 628, 628, 628,
+ /* 10 */ 628, 773, 646, 845, 628, 628, 628, 628, 628, 628,
+ /* 20 */ 628, 628, 628, 682, 682, 682, 768, 628, 628, 628,
+ /* 30 */ 628, 628, 628, 628, 628, 628, 628, 628, 628, 628,
+ /* 40 */ 628, 628, 628, 628, 628, 628, 628, 628, 628, 628,
+ /* 50 */ 628, 628, 628, 628, 628, 628, 628, 775, 777, 628,
+ /* 60 */ 794, 794, 766, 628, 628, 628, 628, 628, 628, 628,
+ /* 70 */ 628, 628, 628, 628, 628, 628, 628, 628, 628, 628,
+ /* 80 */ 628, 667, 628, 665, 628, 628, 628, 628, 628, 628,
+ /* 90 */ 628, 628, 628, 628, 628, 628, 628, 654, 628, 628,
+ /* 100 */ 628, 648, 648, 628, 628, 648, 801, 805, 799, 787,
+ /* 110 */ 795, 786, 782, 781, 809, 628, 648, 648, 677, 677,
+ /* 120 */ 648, 698, 696, 694, 686, 692, 688, 690, 684, 648,
+ /* 130 */ 675, 648, 675, 714, 728, 628, 810, 844, 800, 828,
+ /* 140 */ 827, 840, 834, 833, 628, 832, 831, 830, 829, 628,
+ /* 150 */ 628, 628, 628, 836, 835, 628, 628, 628, 628, 628,
+ /* 160 */ 628, 628, 628, 628, 812, 806, 802, 628, 628, 628,
+ /* 170 */ 628, 628, 628, 628, 628, 628, 628, 628, 628, 628,
+ /* 180 */ 628, 628, 628, 628, 765, 628, 628, 774, 628, 628,
+ /* 190 */ 628, 628, 628, 628, 796, 628, 788, 628, 628, 628,
+ /* 200 */ 628, 628, 628, 742, 628, 628, 628, 628, 628, 628,
+ /* 210 */ 628, 628, 628, 628, 628, 628, 628, 849, 628, 628,
+ /* 220 */ 628, 736, 847, 628, 628, 628, 628, 628, 628, 628,
+ /* 230 */ 628, 628, 628, 628, 628, 628, 628, 701, 628, 652,
+ /* 240 */ 650, 628, 644, 628,
};
/********** End of lemon-generated parsing tables *****************************/
@@ -520,7 +518,6 @@ static const YYCODETYPE yyFallback[] = {
0, /* CONNS => nothing */
0, /* STATE => nothing */
0, /* KEEP => nothing */
- 0, /* MAXTABLES => nothing */
0, /* CACHE => nothing */
0, /* REPLICA => nothing */
0, /* QUORUM => nothing */
@@ -813,193 +810,191 @@ static const char *const yyTokenName[] = {
/* 83 */ "CONNS",
/* 84 */ "STATE",
/* 85 */ "KEEP",
- /* 86 */ "MAXTABLES",
- /* 87 */ "CACHE",
- /* 88 */ "REPLICA",
- /* 89 */ "QUORUM",
- /* 90 */ "DAYS",
- /* 91 */ "MINROWS",
- /* 92 */ "MAXROWS",
- /* 93 */ "BLOCKS",
- /* 94 */ "CTIME",
- /* 95 */ "WAL",
- /* 96 */ "FSYNC",
- /* 97 */ "COMP",
- /* 98 */ "PRECISION",
- /* 99 */ "LP",
- /* 100 */ "RP",
- /* 101 */ "TAGS",
- /* 102 */ "USING",
- /* 103 */ "AS",
- /* 104 */ "COMMA",
- /* 105 */ "NULL",
- /* 106 */ "SELECT",
- /* 107 */ "UNION",
- /* 108 */ "ALL",
- /* 109 */ "FROM",
- /* 110 */ "VARIABLE",
- /* 111 */ "INTERVAL",
- /* 112 */ "FILL",
- /* 113 */ "SLIDING",
- /* 114 */ "ORDER",
- /* 115 */ "BY",
- /* 116 */ "ASC",
- /* 117 */ "DESC",
- /* 118 */ "GROUP",
- /* 119 */ "HAVING",
- /* 120 */ "LIMIT",
- /* 121 */ "OFFSET",
- /* 122 */ "SLIMIT",
- /* 123 */ "SOFFSET",
- /* 124 */ "WHERE",
- /* 125 */ "NOW",
- /* 126 */ "RESET",
- /* 127 */ "QUERY",
- /* 128 */ "ADD",
- /* 129 */ "COLUMN",
- /* 130 */ "TAG",
- /* 131 */ "CHANGE",
- /* 132 */ "SET",
- /* 133 */ "KILL",
- /* 134 */ "CONNECTION",
- /* 135 */ "STREAM",
- /* 136 */ "COLON",
- /* 137 */ "ABORT",
- /* 138 */ "AFTER",
- /* 139 */ "ATTACH",
- /* 140 */ "BEFORE",
- /* 141 */ "BEGIN",
- /* 142 */ "CASCADE",
- /* 143 */ "CLUSTER",
- /* 144 */ "CONFLICT",
- /* 145 */ "COPY",
- /* 146 */ "DEFERRED",
- /* 147 */ "DELIMITERS",
- /* 148 */ "DETACH",
- /* 149 */ "EACH",
- /* 150 */ "END",
- /* 151 */ "EXPLAIN",
- /* 152 */ "FAIL",
- /* 153 */ "FOR",
- /* 154 */ "IGNORE",
- /* 155 */ "IMMEDIATE",
- /* 156 */ "INITIALLY",
- /* 157 */ "INSTEAD",
- /* 158 */ "MATCH",
- /* 159 */ "KEY",
- /* 160 */ "OF",
- /* 161 */ "RAISE",
- /* 162 */ "REPLACE",
- /* 163 */ "RESTRICT",
- /* 164 */ "ROW",
- /* 165 */ "STATEMENT",
- /* 166 */ "TRIGGER",
- /* 167 */ "VIEW",
- /* 168 */ "COUNT",
- /* 169 */ "SUM",
- /* 170 */ "AVG",
- /* 171 */ "MIN",
- /* 172 */ "MAX",
- /* 173 */ "FIRST",
- /* 174 */ "LAST",
- /* 175 */ "TOP",
- /* 176 */ "BOTTOM",
- /* 177 */ "STDDEV",
- /* 178 */ "PERCENTILE",
- /* 179 */ "APERCENTILE",
- /* 180 */ "LEASTSQUARES",
- /* 181 */ "HISTOGRAM",
- /* 182 */ "DIFF",
- /* 183 */ "SPREAD",
- /* 184 */ "TWA",
- /* 185 */ "INTERP",
- /* 186 */ "LAST_ROW",
- /* 187 */ "RATE",
- /* 188 */ "IRATE",
- /* 189 */ "SUM_RATE",
- /* 190 */ "SUM_IRATE",
- /* 191 */ "AVG_RATE",
- /* 192 */ "AVG_IRATE",
- /* 193 */ "TBID",
- /* 194 */ "SEMI",
- /* 195 */ "NONE",
- /* 196 */ "PREV",
- /* 197 */ "LINEAR",
- /* 198 */ "IMPORT",
- /* 199 */ "METRIC",
- /* 200 */ "TBNAME",
- /* 201 */ "JOIN",
- /* 202 */ "METRICS",
- /* 203 */ "STABLE",
- /* 204 */ "INSERT",
- /* 205 */ "INTO",
- /* 206 */ "VALUES",
- /* 207 */ "error",
- /* 208 */ "program",
- /* 209 */ "cmd",
- /* 210 */ "dbPrefix",
- /* 211 */ "ids",
- /* 212 */ "cpxName",
- /* 213 */ "ifexists",
- /* 214 */ "alter_db_optr",
- /* 215 */ "acct_optr",
- /* 216 */ "ifnotexists",
- /* 217 */ "db_optr",
- /* 218 */ "pps",
- /* 219 */ "tseries",
- /* 220 */ "dbs",
- /* 221 */ "streams",
- /* 222 */ "storage",
- /* 223 */ "qtime",
- /* 224 */ "users",
- /* 225 */ "conns",
- /* 226 */ "state",
- /* 227 */ "keep",
- /* 228 */ "tagitemlist",
- /* 229 */ "tables",
- /* 230 */ "cache",
- /* 231 */ "replica",
- /* 232 */ "quorum",
- /* 233 */ "days",
- /* 234 */ "minrows",
- /* 235 */ "maxrows",
- /* 236 */ "blocks",
- /* 237 */ "ctime",
- /* 238 */ "wal",
- /* 239 */ "fsync",
- /* 240 */ "comp",
- /* 241 */ "prec",
- /* 242 */ "typename",
- /* 243 */ "signed",
- /* 244 */ "create_table_args",
- /* 245 */ "columnlist",
- /* 246 */ "select",
- /* 247 */ "column",
- /* 248 */ "tagitem",
- /* 249 */ "selcollist",
- /* 250 */ "from",
- /* 251 */ "where_opt",
- /* 252 */ "interval_opt",
- /* 253 */ "fill_opt",
- /* 254 */ "sliding_opt",
- /* 255 */ "groupby_opt",
- /* 256 */ "orderby_opt",
- /* 257 */ "having_opt",
- /* 258 */ "slimit_opt",
- /* 259 */ "limit_opt",
- /* 260 */ "union",
- /* 261 */ "sclp",
- /* 262 */ "expr",
- /* 263 */ "as",
- /* 264 */ "tablelist",
- /* 265 */ "tmvar",
- /* 266 */ "sortlist",
- /* 267 */ "sortitem",
- /* 268 */ "item",
- /* 269 */ "sortorder",
- /* 270 */ "grouplist",
- /* 271 */ "exprlist",
- /* 272 */ "expritem",
+ /* 86 */ "CACHE",
+ /* 87 */ "REPLICA",
+ /* 88 */ "QUORUM",
+ /* 89 */ "DAYS",
+ /* 90 */ "MINROWS",
+ /* 91 */ "MAXROWS",
+ /* 92 */ "BLOCKS",
+ /* 93 */ "CTIME",
+ /* 94 */ "WAL",
+ /* 95 */ "FSYNC",
+ /* 96 */ "COMP",
+ /* 97 */ "PRECISION",
+ /* 98 */ "LP",
+ /* 99 */ "RP",
+ /* 100 */ "TAGS",
+ /* 101 */ "USING",
+ /* 102 */ "AS",
+ /* 103 */ "COMMA",
+ /* 104 */ "NULL",
+ /* 105 */ "SELECT",
+ /* 106 */ "UNION",
+ /* 107 */ "ALL",
+ /* 108 */ "FROM",
+ /* 109 */ "VARIABLE",
+ /* 110 */ "INTERVAL",
+ /* 111 */ "FILL",
+ /* 112 */ "SLIDING",
+ /* 113 */ "ORDER",
+ /* 114 */ "BY",
+ /* 115 */ "ASC",
+ /* 116 */ "DESC",
+ /* 117 */ "GROUP",
+ /* 118 */ "HAVING",
+ /* 119 */ "LIMIT",
+ /* 120 */ "OFFSET",
+ /* 121 */ "SLIMIT",
+ /* 122 */ "SOFFSET",
+ /* 123 */ "WHERE",
+ /* 124 */ "NOW",
+ /* 125 */ "RESET",
+ /* 126 */ "QUERY",
+ /* 127 */ "ADD",
+ /* 128 */ "COLUMN",
+ /* 129 */ "TAG",
+ /* 130 */ "CHANGE",
+ /* 131 */ "SET",
+ /* 132 */ "KILL",
+ /* 133 */ "CONNECTION",
+ /* 134 */ "STREAM",
+ /* 135 */ "COLON",
+ /* 136 */ "ABORT",
+ /* 137 */ "AFTER",
+ /* 138 */ "ATTACH",
+ /* 139 */ "BEFORE",
+ /* 140 */ "BEGIN",
+ /* 141 */ "CASCADE",
+ /* 142 */ "CLUSTER",
+ /* 143 */ "CONFLICT",
+ /* 144 */ "COPY",
+ /* 145 */ "DEFERRED",
+ /* 146 */ "DELIMITERS",
+ /* 147 */ "DETACH",
+ /* 148 */ "EACH",
+ /* 149 */ "END",
+ /* 150 */ "EXPLAIN",
+ /* 151 */ "FAIL",
+ /* 152 */ "FOR",
+ /* 153 */ "IGNORE",
+ /* 154 */ "IMMEDIATE",
+ /* 155 */ "INITIALLY",
+ /* 156 */ "INSTEAD",
+ /* 157 */ "MATCH",
+ /* 158 */ "KEY",
+ /* 159 */ "OF",
+ /* 160 */ "RAISE",
+ /* 161 */ "REPLACE",
+ /* 162 */ "RESTRICT",
+ /* 163 */ "ROW",
+ /* 164 */ "STATEMENT",
+ /* 165 */ "TRIGGER",
+ /* 166 */ "VIEW",
+ /* 167 */ "COUNT",
+ /* 168 */ "SUM",
+ /* 169 */ "AVG",
+ /* 170 */ "MIN",
+ /* 171 */ "MAX",
+ /* 172 */ "FIRST",
+ /* 173 */ "LAST",
+ /* 174 */ "TOP",
+ /* 175 */ "BOTTOM",
+ /* 176 */ "STDDEV",
+ /* 177 */ "PERCENTILE",
+ /* 178 */ "APERCENTILE",
+ /* 179 */ "LEASTSQUARES",
+ /* 180 */ "HISTOGRAM",
+ /* 181 */ "DIFF",
+ /* 182 */ "SPREAD",
+ /* 183 */ "TWA",
+ /* 184 */ "INTERP",
+ /* 185 */ "LAST_ROW",
+ /* 186 */ "RATE",
+ /* 187 */ "IRATE",
+ /* 188 */ "SUM_RATE",
+ /* 189 */ "SUM_IRATE",
+ /* 190 */ "AVG_RATE",
+ /* 191 */ "AVG_IRATE",
+ /* 192 */ "TBID",
+ /* 193 */ "SEMI",
+ /* 194 */ "NONE",
+ /* 195 */ "PREV",
+ /* 196 */ "LINEAR",
+ /* 197 */ "IMPORT",
+ /* 198 */ "METRIC",
+ /* 199 */ "TBNAME",
+ /* 200 */ "JOIN",
+ /* 201 */ "METRICS",
+ /* 202 */ "STABLE",
+ /* 203 */ "INSERT",
+ /* 204 */ "INTO",
+ /* 205 */ "VALUES",
+ /* 206 */ "error",
+ /* 207 */ "program",
+ /* 208 */ "cmd",
+ /* 209 */ "dbPrefix",
+ /* 210 */ "ids",
+ /* 211 */ "cpxName",
+ /* 212 */ "ifexists",
+ /* 213 */ "alter_db_optr",
+ /* 214 */ "acct_optr",
+ /* 215 */ "ifnotexists",
+ /* 216 */ "db_optr",
+ /* 217 */ "pps",
+ /* 218 */ "tseries",
+ /* 219 */ "dbs",
+ /* 220 */ "streams",
+ /* 221 */ "storage",
+ /* 222 */ "qtime",
+ /* 223 */ "users",
+ /* 224 */ "conns",
+ /* 225 */ "state",
+ /* 226 */ "keep",
+ /* 227 */ "tagitemlist",
+ /* 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 */ "typename",
+ /* 241 */ "signed",
+ /* 242 */ "create_table_args",
+ /* 243 */ "columnlist",
+ /* 244 */ "select",
+ /* 245 */ "column",
+ /* 246 */ "tagitem",
+ /* 247 */ "selcollist",
+ /* 248 */ "from",
+ /* 249 */ "where_opt",
+ /* 250 */ "interval_opt",
+ /* 251 */ "fill_opt",
+ /* 252 */ "sliding_opt",
+ /* 253 */ "groupby_opt",
+ /* 254 */ "orderby_opt",
+ /* 255 */ "having_opt",
+ /* 256 */ "slimit_opt",
+ /* 257 */ "limit_opt",
+ /* 258 */ "union",
+ /* 259 */ "sclp",
+ /* 260 */ "expr",
+ /* 261 */ "as",
+ /* 262 */ "tablelist",
+ /* 263 */ "tmvar",
+ /* 264 */ "sortlist",
+ /* 265 */ "sortitem",
+ /* 266 */ "item",
+ /* 267 */ "sortorder",
+ /* 268 */ "grouplist",
+ /* 269 */ "exprlist",
+ /* 270 */ "expritem",
};
#endif /* defined(YYCOVERAGE) || !defined(NDEBUG) */
@@ -1078,163 +1073,160 @@ static const char *const yyRuleName[] = {
/* 68 */ "state ::= STATE ids",
/* 69 */ "acct_optr ::= pps tseries storage streams qtime dbs users conns state",
/* 70 */ "keep ::= KEEP tagitemlist",
- /* 71 */ "tables ::= MAXTABLES INTEGER",
- /* 72 */ "cache ::= CACHE INTEGER",
- /* 73 */ "replica ::= REPLICA INTEGER",
- /* 74 */ "quorum ::= QUORUM INTEGER",
- /* 75 */ "days ::= DAYS INTEGER",
- /* 76 */ "minrows ::= MINROWS INTEGER",
- /* 77 */ "maxrows ::= MAXROWS INTEGER",
- /* 78 */ "blocks ::= BLOCKS INTEGER",
- /* 79 */ "ctime ::= CTIME INTEGER",
- /* 80 */ "wal ::= WAL INTEGER",
- /* 81 */ "fsync ::= FSYNC INTEGER",
- /* 82 */ "comp ::= COMP INTEGER",
- /* 83 */ "prec ::= PRECISION STRING",
- /* 84 */ "db_optr ::=",
- /* 85 */ "db_optr ::= db_optr tables",
- /* 86 */ "db_optr ::= db_optr cache",
- /* 87 */ "db_optr ::= db_optr replica",
- /* 88 */ "db_optr ::= db_optr quorum",
- /* 89 */ "db_optr ::= db_optr days",
- /* 90 */ "db_optr ::= db_optr minrows",
- /* 91 */ "db_optr ::= db_optr maxrows",
- /* 92 */ "db_optr ::= db_optr blocks",
- /* 93 */ "db_optr ::= db_optr ctime",
- /* 94 */ "db_optr ::= db_optr wal",
- /* 95 */ "db_optr ::= db_optr fsync",
- /* 96 */ "db_optr ::= db_optr comp",
- /* 97 */ "db_optr ::= db_optr prec",
- /* 98 */ "db_optr ::= db_optr keep",
- /* 99 */ "alter_db_optr ::=",
- /* 100 */ "alter_db_optr ::= alter_db_optr replica",
- /* 101 */ "alter_db_optr ::= alter_db_optr quorum",
- /* 102 */ "alter_db_optr ::= alter_db_optr tables",
- /* 103 */ "alter_db_optr ::= alter_db_optr keep",
- /* 104 */ "alter_db_optr ::= alter_db_optr blocks",
- /* 105 */ "alter_db_optr ::= alter_db_optr comp",
- /* 106 */ "alter_db_optr ::= alter_db_optr wal",
- /* 107 */ "alter_db_optr ::= alter_db_optr fsync",
- /* 108 */ "typename ::= ids",
- /* 109 */ "typename ::= ids LP signed RP",
- /* 110 */ "signed ::= INTEGER",
- /* 111 */ "signed ::= PLUS INTEGER",
- /* 112 */ "signed ::= MINUS INTEGER",
- /* 113 */ "cmd ::= CREATE TABLE ifnotexists ids cpxName create_table_args",
- /* 114 */ "create_table_args ::= LP columnlist RP",
- /* 115 */ "create_table_args ::= LP columnlist RP TAGS LP columnlist RP",
- /* 116 */ "create_table_args ::= USING ids cpxName TAGS LP tagitemlist RP",
- /* 117 */ "create_table_args ::= AS select",
- /* 118 */ "columnlist ::= columnlist COMMA column",
- /* 119 */ "columnlist ::= column",
- /* 120 */ "column ::= ids typename",
- /* 121 */ "tagitemlist ::= tagitemlist COMMA tagitem",
- /* 122 */ "tagitemlist ::= tagitem",
- /* 123 */ "tagitem ::= INTEGER",
- /* 124 */ "tagitem ::= FLOAT",
- /* 125 */ "tagitem ::= STRING",
- /* 126 */ "tagitem ::= BOOL",
- /* 127 */ "tagitem ::= NULL",
- /* 128 */ "tagitem ::= MINUS INTEGER",
- /* 129 */ "tagitem ::= MINUS FLOAT",
- /* 130 */ "tagitem ::= PLUS INTEGER",
- /* 131 */ "tagitem ::= PLUS FLOAT",
- /* 132 */ "select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt",
- /* 133 */ "union ::= select",
- /* 134 */ "union ::= LP union RP",
- /* 135 */ "union ::= union UNION ALL select",
- /* 136 */ "union ::= union UNION ALL LP select RP",
- /* 137 */ "cmd ::= union",
- /* 138 */ "select ::= SELECT selcollist",
- /* 139 */ "sclp ::= selcollist COMMA",
- /* 140 */ "sclp ::=",
- /* 141 */ "selcollist ::= sclp expr as",
- /* 142 */ "selcollist ::= sclp STAR",
- /* 143 */ "as ::= AS ids",
- /* 144 */ "as ::= ids",
- /* 145 */ "as ::=",
- /* 146 */ "from ::= FROM tablelist",
- /* 147 */ "tablelist ::= ids cpxName",
- /* 148 */ "tablelist ::= ids cpxName ids",
- /* 149 */ "tablelist ::= tablelist COMMA ids cpxName",
- /* 150 */ "tablelist ::= tablelist COMMA ids cpxName ids",
- /* 151 */ "tmvar ::= VARIABLE",
- /* 152 */ "interval_opt ::= INTERVAL LP tmvar RP",
- /* 153 */ "interval_opt ::=",
- /* 154 */ "fill_opt ::=",
- /* 155 */ "fill_opt ::= FILL LP ID COMMA tagitemlist RP",
- /* 156 */ "fill_opt ::= FILL LP ID RP",
- /* 157 */ "sliding_opt ::= SLIDING LP tmvar RP",
- /* 158 */ "sliding_opt ::=",
- /* 159 */ "orderby_opt ::=",
- /* 160 */ "orderby_opt ::= ORDER BY sortlist",
- /* 161 */ "sortlist ::= sortlist COMMA item sortorder",
- /* 162 */ "sortlist ::= item sortorder",
- /* 163 */ "item ::= ids cpxName",
- /* 164 */ "sortorder ::= ASC",
- /* 165 */ "sortorder ::= DESC",
- /* 166 */ "sortorder ::=",
- /* 167 */ "groupby_opt ::=",
- /* 168 */ "groupby_opt ::= GROUP BY grouplist",
- /* 169 */ "grouplist ::= grouplist COMMA item",
- /* 170 */ "grouplist ::= item",
- /* 171 */ "having_opt ::=",
- /* 172 */ "having_opt ::= HAVING expr",
- /* 173 */ "limit_opt ::=",
- /* 174 */ "limit_opt ::= LIMIT signed",
- /* 175 */ "limit_opt ::= LIMIT signed OFFSET signed",
- /* 176 */ "limit_opt ::= LIMIT signed COMMA signed",
- /* 177 */ "slimit_opt ::=",
- /* 178 */ "slimit_opt ::= SLIMIT signed",
- /* 179 */ "slimit_opt ::= SLIMIT signed SOFFSET signed",
- /* 180 */ "slimit_opt ::= SLIMIT signed COMMA signed",
- /* 181 */ "where_opt ::=",
- /* 182 */ "where_opt ::= WHERE expr",
- /* 183 */ "expr ::= LP expr RP",
- /* 184 */ "expr ::= ID",
- /* 185 */ "expr ::= ID DOT ID",
- /* 186 */ "expr ::= ID DOT STAR",
- /* 187 */ "expr ::= INTEGER",
- /* 188 */ "expr ::= MINUS INTEGER",
- /* 189 */ "expr ::= PLUS INTEGER",
- /* 190 */ "expr ::= FLOAT",
- /* 191 */ "expr ::= MINUS FLOAT",
- /* 192 */ "expr ::= PLUS FLOAT",
- /* 193 */ "expr ::= STRING",
- /* 194 */ "expr ::= NOW",
- /* 195 */ "expr ::= VARIABLE",
- /* 196 */ "expr ::= BOOL",
- /* 197 */ "expr ::= ID LP exprlist RP",
- /* 198 */ "expr ::= ID LP STAR RP",
- /* 199 */ "expr ::= expr AND expr",
- /* 200 */ "expr ::= expr OR expr",
- /* 201 */ "expr ::= expr LT expr",
- /* 202 */ "expr ::= expr GT expr",
- /* 203 */ "expr ::= expr LE expr",
- /* 204 */ "expr ::= expr GE expr",
- /* 205 */ "expr ::= expr NE expr",
- /* 206 */ "expr ::= expr EQ expr",
- /* 207 */ "expr ::= expr PLUS expr",
- /* 208 */ "expr ::= expr MINUS expr",
- /* 209 */ "expr ::= expr STAR expr",
- /* 210 */ "expr ::= expr SLASH expr",
- /* 211 */ "expr ::= expr REM expr",
- /* 212 */ "expr ::= expr LIKE expr",
- /* 213 */ "expr ::= expr IN LP exprlist RP",
- /* 214 */ "exprlist ::= exprlist COMMA expritem",
- /* 215 */ "exprlist ::= expritem",
- /* 216 */ "expritem ::= expr",
- /* 217 */ "expritem ::=",
- /* 218 */ "cmd ::= RESET QUERY CACHE",
- /* 219 */ "cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist",
- /* 220 */ "cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids",
- /* 221 */ "cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist",
- /* 222 */ "cmd ::= ALTER TABLE ids cpxName DROP TAG ids",
- /* 223 */ "cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids",
- /* 224 */ "cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem",
- /* 225 */ "cmd ::= KILL CONNECTION INTEGER",
- /* 226 */ "cmd ::= KILL STREAM INTEGER COLON INTEGER",
- /* 227 */ "cmd ::= KILL QUERY INTEGER COLON INTEGER",
+ /* 71 */ "cache ::= CACHE INTEGER",
+ /* 72 */ "replica ::= REPLICA INTEGER",
+ /* 73 */ "quorum ::= QUORUM INTEGER",
+ /* 74 */ "days ::= DAYS INTEGER",
+ /* 75 */ "minrows ::= MINROWS INTEGER",
+ /* 76 */ "maxrows ::= MAXROWS INTEGER",
+ /* 77 */ "blocks ::= BLOCKS INTEGER",
+ /* 78 */ "ctime ::= CTIME INTEGER",
+ /* 79 */ "wal ::= WAL INTEGER",
+ /* 80 */ "fsync ::= FSYNC INTEGER",
+ /* 81 */ "comp ::= COMP INTEGER",
+ /* 82 */ "prec ::= PRECISION STRING",
+ /* 83 */ "db_optr ::=",
+ /* 84 */ "db_optr ::= db_optr cache",
+ /* 85 */ "db_optr ::= db_optr replica",
+ /* 86 */ "db_optr ::= db_optr quorum",
+ /* 87 */ "db_optr ::= db_optr days",
+ /* 88 */ "db_optr ::= db_optr minrows",
+ /* 89 */ "db_optr ::= db_optr maxrows",
+ /* 90 */ "db_optr ::= db_optr blocks",
+ /* 91 */ "db_optr ::= db_optr ctime",
+ /* 92 */ "db_optr ::= db_optr wal",
+ /* 93 */ "db_optr ::= db_optr fsync",
+ /* 94 */ "db_optr ::= db_optr comp",
+ /* 95 */ "db_optr ::= db_optr prec",
+ /* 96 */ "db_optr ::= db_optr keep",
+ /* 97 */ "alter_db_optr ::=",
+ /* 98 */ "alter_db_optr ::= alter_db_optr replica",
+ /* 99 */ "alter_db_optr ::= alter_db_optr quorum",
+ /* 100 */ "alter_db_optr ::= alter_db_optr keep",
+ /* 101 */ "alter_db_optr ::= alter_db_optr blocks",
+ /* 102 */ "alter_db_optr ::= alter_db_optr comp",
+ /* 103 */ "alter_db_optr ::= alter_db_optr wal",
+ /* 104 */ "alter_db_optr ::= alter_db_optr fsync",
+ /* 105 */ "typename ::= ids",
+ /* 106 */ "typename ::= ids LP signed RP",
+ /* 107 */ "signed ::= INTEGER",
+ /* 108 */ "signed ::= PLUS INTEGER",
+ /* 109 */ "signed ::= MINUS INTEGER",
+ /* 110 */ "cmd ::= CREATE TABLE ifnotexists ids cpxName create_table_args",
+ /* 111 */ "create_table_args ::= LP columnlist RP",
+ /* 112 */ "create_table_args ::= LP columnlist RP TAGS LP columnlist RP",
+ /* 113 */ "create_table_args ::= USING ids cpxName TAGS LP tagitemlist RP",
+ /* 114 */ "create_table_args ::= AS select",
+ /* 115 */ "columnlist ::= columnlist COMMA column",
+ /* 116 */ "columnlist ::= column",
+ /* 117 */ "column ::= ids typename",
+ /* 118 */ "tagitemlist ::= tagitemlist COMMA tagitem",
+ /* 119 */ "tagitemlist ::= tagitem",
+ /* 120 */ "tagitem ::= INTEGER",
+ /* 121 */ "tagitem ::= FLOAT",
+ /* 122 */ "tagitem ::= STRING",
+ /* 123 */ "tagitem ::= BOOL",
+ /* 124 */ "tagitem ::= NULL",
+ /* 125 */ "tagitem ::= MINUS INTEGER",
+ /* 126 */ "tagitem ::= MINUS FLOAT",
+ /* 127 */ "tagitem ::= PLUS INTEGER",
+ /* 128 */ "tagitem ::= PLUS FLOAT",
+ /* 129 */ "select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt",
+ /* 130 */ "union ::= select",
+ /* 131 */ "union ::= LP union RP",
+ /* 132 */ "union ::= union UNION ALL select",
+ /* 133 */ "union ::= union UNION ALL LP select RP",
+ /* 134 */ "cmd ::= union",
+ /* 135 */ "select ::= SELECT selcollist",
+ /* 136 */ "sclp ::= selcollist COMMA",
+ /* 137 */ "sclp ::=",
+ /* 138 */ "selcollist ::= sclp expr as",
+ /* 139 */ "selcollist ::= sclp STAR",
+ /* 140 */ "as ::= AS ids",
+ /* 141 */ "as ::= ids",
+ /* 142 */ "as ::=",
+ /* 143 */ "from ::= FROM tablelist",
+ /* 144 */ "tablelist ::= ids cpxName",
+ /* 145 */ "tablelist ::= ids cpxName ids",
+ /* 146 */ "tablelist ::= tablelist COMMA ids cpxName",
+ /* 147 */ "tablelist ::= tablelist COMMA ids cpxName ids",
+ /* 148 */ "tmvar ::= VARIABLE",
+ /* 149 */ "interval_opt ::= INTERVAL LP tmvar RP",
+ /* 150 */ "interval_opt ::=",
+ /* 151 */ "fill_opt ::=",
+ /* 152 */ "fill_opt ::= FILL LP ID COMMA tagitemlist RP",
+ /* 153 */ "fill_opt ::= FILL LP ID RP",
+ /* 154 */ "sliding_opt ::= SLIDING LP tmvar RP",
+ /* 155 */ "sliding_opt ::=",
+ /* 156 */ "orderby_opt ::=",
+ /* 157 */ "orderby_opt ::= ORDER BY sortlist",
+ /* 158 */ "sortlist ::= sortlist COMMA item sortorder",
+ /* 159 */ "sortlist ::= item sortorder",
+ /* 160 */ "item ::= ids cpxName",
+ /* 161 */ "sortorder ::= ASC",
+ /* 162 */ "sortorder ::= DESC",
+ /* 163 */ "sortorder ::=",
+ /* 164 */ "groupby_opt ::=",
+ /* 165 */ "groupby_opt ::= GROUP BY grouplist",
+ /* 166 */ "grouplist ::= grouplist COMMA item",
+ /* 167 */ "grouplist ::= item",
+ /* 168 */ "having_opt ::=",
+ /* 169 */ "having_opt ::= HAVING expr",
+ /* 170 */ "limit_opt ::=",
+ /* 171 */ "limit_opt ::= LIMIT signed",
+ /* 172 */ "limit_opt ::= LIMIT signed OFFSET signed",
+ /* 173 */ "limit_opt ::= LIMIT signed COMMA signed",
+ /* 174 */ "slimit_opt ::=",
+ /* 175 */ "slimit_opt ::= SLIMIT signed",
+ /* 176 */ "slimit_opt ::= SLIMIT signed SOFFSET signed",
+ /* 177 */ "slimit_opt ::= SLIMIT signed COMMA signed",
+ /* 178 */ "where_opt ::=",
+ /* 179 */ "where_opt ::= WHERE expr",
+ /* 180 */ "expr ::= LP expr RP",
+ /* 181 */ "expr ::= ID",
+ /* 182 */ "expr ::= ID DOT ID",
+ /* 183 */ "expr ::= ID DOT STAR",
+ /* 184 */ "expr ::= INTEGER",
+ /* 185 */ "expr ::= MINUS INTEGER",
+ /* 186 */ "expr ::= PLUS INTEGER",
+ /* 187 */ "expr ::= FLOAT",
+ /* 188 */ "expr ::= MINUS FLOAT",
+ /* 189 */ "expr ::= PLUS FLOAT",
+ /* 190 */ "expr ::= STRING",
+ /* 191 */ "expr ::= NOW",
+ /* 192 */ "expr ::= VARIABLE",
+ /* 193 */ "expr ::= BOOL",
+ /* 194 */ "expr ::= ID LP exprlist RP",
+ /* 195 */ "expr ::= ID LP STAR RP",
+ /* 196 */ "expr ::= expr AND expr",
+ /* 197 */ "expr ::= expr OR expr",
+ /* 198 */ "expr ::= expr LT expr",
+ /* 199 */ "expr ::= expr GT expr",
+ /* 200 */ "expr ::= expr LE expr",
+ /* 201 */ "expr ::= expr GE expr",
+ /* 202 */ "expr ::= expr NE expr",
+ /* 203 */ "expr ::= expr EQ expr",
+ /* 204 */ "expr ::= expr PLUS expr",
+ /* 205 */ "expr ::= expr MINUS expr",
+ /* 206 */ "expr ::= expr STAR expr",
+ /* 207 */ "expr ::= expr SLASH expr",
+ /* 208 */ "expr ::= expr REM expr",
+ /* 209 */ "expr ::= expr LIKE expr",
+ /* 210 */ "expr ::= expr IN LP exprlist RP",
+ /* 211 */ "exprlist ::= exprlist COMMA expritem",
+ /* 212 */ "exprlist ::= expritem",
+ /* 213 */ "expritem ::= expr",
+ /* 214 */ "expritem ::=",
+ /* 215 */ "cmd ::= RESET QUERY CACHE",
+ /* 216 */ "cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist",
+ /* 217 */ "cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids",
+ /* 218 */ "cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist",
+ /* 219 */ "cmd ::= ALTER TABLE ids cpxName DROP TAG ids",
+ /* 220 */ "cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids",
+ /* 221 */ "cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem",
+ /* 222 */ "cmd ::= KILL CONNECTION INTEGER",
+ /* 223 */ "cmd ::= KILL STREAM INTEGER COLON INTEGER",
+ /* 224 */ "cmd ::= KILL QUERY INTEGER COLON INTEGER",
};
#endif /* NDEBUG */
@@ -1355,50 +1347,50 @@ static void yy_destructor(
** inside the C code.
*/
/********* Begin destructor definitions ***************************************/
- case 227: /* keep */
- case 228: /* tagitemlist */
- case 253: /* fill_opt */
- case 255: /* groupby_opt */
- case 256: /* orderby_opt */
- case 266: /* sortlist */
- case 270: /* grouplist */
+ case 226: /* keep */
+ case 227: /* tagitemlist */
+ case 251: /* fill_opt */
+ case 253: /* groupby_opt */
+ case 254: /* orderby_opt */
+ case 264: /* sortlist */
+ case 268: /* grouplist */
{
-tVariantListDestroy((yypminor->yy498));
+tVariantListDestroy((yypminor->yy494));
}
break;
- case 245: /* columnlist */
+ case 243: /* columnlist */
{
-tFieldListDestroy((yypminor->yy523));
+tFieldListDestroy((yypminor->yy449));
}
break;
- case 246: /* select */
+ case 244: /* select */
{
-doDestroyQuerySql((yypminor->yy414));
+doDestroyQuerySql((yypminor->yy150));
}
break;
- case 249: /* selcollist */
- case 261: /* sclp */
- case 271: /* exprlist */
+ case 247: /* selcollist */
+ case 259: /* sclp */
+ case 269: /* exprlist */
{
-tSQLExprListDestroy((yypminor->yy290));
+tSQLExprListDestroy((yypminor->yy224));
}
break;
- case 251: /* where_opt */
- case 257: /* having_opt */
- case 262: /* expr */
- case 272: /* expritem */
+ case 249: /* where_opt */
+ case 255: /* having_opt */
+ case 260: /* expr */
+ case 270: /* expritem */
{
-tSQLExprDestroy((yypminor->yy64));
+tSQLExprDestroy((yypminor->yy66));
}
break;
- case 260: /* union */
+ case 258: /* union */
{
-destroyAllSelectClause((yypminor->yy231));
+destroyAllSelectClause((yypminor->yy25));
}
break;
- case 267: /* sortitem */
+ case 265: /* sortitem */
{
-tVariantDestroy(&(yypminor->yy134));
+tVariantDestroy(&(yypminor->yy312));
}
break;
/********* End destructor definitions *****************************************/
@@ -1692,234 +1684,231 @@ static const struct {
YYCODETYPE lhs; /* Symbol on the left-hand side of the rule */
signed char nrhs; /* Negative of the number of RHS symbols in the rule */
} yyRuleInfo[] = {
- { 208, -1 }, /* (0) program ::= cmd */
- { 209, -2 }, /* (1) cmd ::= SHOW DATABASES */
- { 209, -2 }, /* (2) cmd ::= SHOW MNODES */
- { 209, -2 }, /* (3) cmd ::= SHOW DNODES */
- { 209, -2 }, /* (4) cmd ::= SHOW ACCOUNTS */
- { 209, -2 }, /* (5) cmd ::= SHOW USERS */
- { 209, -2 }, /* (6) cmd ::= SHOW MODULES */
- { 209, -2 }, /* (7) cmd ::= SHOW QUERIES */
- { 209, -2 }, /* (8) cmd ::= SHOW CONNECTIONS */
- { 209, -2 }, /* (9) cmd ::= SHOW STREAMS */
- { 209, -2 }, /* (10) cmd ::= SHOW VARIABLES */
- { 209, -2 }, /* (11) cmd ::= SHOW SCORES */
- { 209, -2 }, /* (12) cmd ::= SHOW GRANTS */
- { 209, -2 }, /* (13) cmd ::= SHOW VNODES */
- { 209, -3 }, /* (14) cmd ::= SHOW VNODES IPTOKEN */
- { 210, 0 }, /* (15) dbPrefix ::= */
- { 210, -2 }, /* (16) dbPrefix ::= ids DOT */
- { 212, 0 }, /* (17) cpxName ::= */
- { 212, -2 }, /* (18) cpxName ::= DOT ids */
- { 209, -3 }, /* (19) cmd ::= SHOW dbPrefix TABLES */
- { 209, -5 }, /* (20) cmd ::= SHOW dbPrefix TABLES LIKE ids */
- { 209, -3 }, /* (21) cmd ::= SHOW dbPrefix STABLES */
- { 209, -5 }, /* (22) cmd ::= SHOW dbPrefix STABLES LIKE ids */
- { 209, -3 }, /* (23) cmd ::= SHOW dbPrefix VGROUPS */
- { 209, -4 }, /* (24) cmd ::= SHOW dbPrefix VGROUPS ids */
- { 209, -5 }, /* (25) cmd ::= DROP TABLE ifexists ids cpxName */
- { 209, -4 }, /* (26) cmd ::= DROP DATABASE ifexists ids */
- { 209, -3 }, /* (27) cmd ::= DROP DNODE ids */
- { 209, -3 }, /* (28) cmd ::= DROP USER ids */
- { 209, -3 }, /* (29) cmd ::= DROP ACCOUNT ids */
- { 209, -2 }, /* (30) cmd ::= USE ids */
- { 209, -3 }, /* (31) cmd ::= DESCRIBE ids cpxName */
- { 209, -5 }, /* (32) cmd ::= ALTER USER ids PASS ids */
- { 209, -5 }, /* (33) cmd ::= ALTER USER ids PRIVILEGE ids */
- { 209, -4 }, /* (34) cmd ::= ALTER DNODE ids ids */
- { 209, -5 }, /* (35) cmd ::= ALTER DNODE ids ids ids */
- { 209, -3 }, /* (36) cmd ::= ALTER LOCAL ids */
- { 209, -4 }, /* (37) cmd ::= ALTER LOCAL ids ids */
- { 209, -4 }, /* (38) cmd ::= ALTER DATABASE ids alter_db_optr */
- { 209, -4 }, /* (39) cmd ::= ALTER ACCOUNT ids acct_optr */
- { 209, -6 }, /* (40) cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
- { 211, -1 }, /* (41) ids ::= ID */
- { 211, -1 }, /* (42) ids ::= STRING */
- { 213, -2 }, /* (43) ifexists ::= IF EXISTS */
- { 213, 0 }, /* (44) ifexists ::= */
- { 216, -3 }, /* (45) ifnotexists ::= IF NOT EXISTS */
- { 216, 0 }, /* (46) ifnotexists ::= */
- { 209, -3 }, /* (47) cmd ::= CREATE DNODE ids */
- { 209, -6 }, /* (48) cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
- { 209, -5 }, /* (49) cmd ::= CREATE DATABASE ifnotexists ids db_optr */
- { 209, -5 }, /* (50) cmd ::= CREATE USER ids PASS ids */
- { 218, 0 }, /* (51) pps ::= */
- { 218, -2 }, /* (52) pps ::= PPS INTEGER */
- { 219, 0 }, /* (53) tseries ::= */
- { 219, -2 }, /* (54) tseries ::= TSERIES INTEGER */
- { 220, 0 }, /* (55) dbs ::= */
- { 220, -2 }, /* (56) dbs ::= DBS INTEGER */
- { 221, 0 }, /* (57) streams ::= */
- { 221, -2 }, /* (58) streams ::= STREAMS INTEGER */
- { 222, 0 }, /* (59) storage ::= */
- { 222, -2 }, /* (60) storage ::= STORAGE INTEGER */
- { 223, 0 }, /* (61) qtime ::= */
- { 223, -2 }, /* (62) qtime ::= QTIME INTEGER */
- { 224, 0 }, /* (63) users ::= */
- { 224, -2 }, /* (64) users ::= USERS INTEGER */
- { 225, 0 }, /* (65) conns ::= */
- { 225, -2 }, /* (66) conns ::= CONNS INTEGER */
- { 226, 0 }, /* (67) state ::= */
- { 226, -2 }, /* (68) state ::= STATE ids */
- { 215, -9 }, /* (69) acct_optr ::= pps tseries storage streams qtime dbs users conns state */
- { 227, -2 }, /* (70) keep ::= KEEP tagitemlist */
- { 229, -2 }, /* (71) tables ::= MAXTABLES INTEGER */
- { 230, -2 }, /* (72) cache ::= CACHE INTEGER */
- { 231, -2 }, /* (73) replica ::= REPLICA INTEGER */
- { 232, -2 }, /* (74) quorum ::= QUORUM INTEGER */
- { 233, -2 }, /* (75) days ::= DAYS INTEGER */
- { 234, -2 }, /* (76) minrows ::= MINROWS INTEGER */
- { 235, -2 }, /* (77) maxrows ::= MAXROWS INTEGER */
- { 236, -2 }, /* (78) blocks ::= BLOCKS INTEGER */
- { 237, -2 }, /* (79) ctime ::= CTIME INTEGER */
- { 238, -2 }, /* (80) wal ::= WAL INTEGER */
- { 239, -2 }, /* (81) fsync ::= FSYNC INTEGER */
- { 240, -2 }, /* (82) comp ::= COMP INTEGER */
- { 241, -2 }, /* (83) prec ::= PRECISION STRING */
- { 217, 0 }, /* (84) db_optr ::= */
- { 217, -2 }, /* (85) db_optr ::= db_optr tables */
- { 217, -2 }, /* (86) db_optr ::= db_optr cache */
- { 217, -2 }, /* (87) db_optr ::= db_optr replica */
- { 217, -2 }, /* (88) db_optr ::= db_optr quorum */
- { 217, -2 }, /* (89) db_optr ::= db_optr days */
- { 217, -2 }, /* (90) db_optr ::= db_optr minrows */
- { 217, -2 }, /* (91) db_optr ::= db_optr maxrows */
- { 217, -2 }, /* (92) db_optr ::= db_optr blocks */
- { 217, -2 }, /* (93) db_optr ::= db_optr ctime */
- { 217, -2 }, /* (94) db_optr ::= db_optr wal */
- { 217, -2 }, /* (95) db_optr ::= db_optr fsync */
- { 217, -2 }, /* (96) db_optr ::= db_optr comp */
- { 217, -2 }, /* (97) db_optr ::= db_optr prec */
- { 217, -2 }, /* (98) db_optr ::= db_optr keep */
- { 214, 0 }, /* (99) alter_db_optr ::= */
- { 214, -2 }, /* (100) alter_db_optr ::= alter_db_optr replica */
- { 214, -2 }, /* (101) alter_db_optr ::= alter_db_optr quorum */
- { 214, -2 }, /* (102) alter_db_optr ::= alter_db_optr tables */
- { 214, -2 }, /* (103) alter_db_optr ::= alter_db_optr keep */
- { 214, -2 }, /* (104) alter_db_optr ::= alter_db_optr blocks */
- { 214, -2 }, /* (105) alter_db_optr ::= alter_db_optr comp */
- { 214, -2 }, /* (106) alter_db_optr ::= alter_db_optr wal */
- { 214, -2 }, /* (107) alter_db_optr ::= alter_db_optr fsync */
- { 242, -1 }, /* (108) typename ::= ids */
- { 242, -4 }, /* (109) typename ::= ids LP signed RP */
- { 243, -1 }, /* (110) signed ::= INTEGER */
- { 243, -2 }, /* (111) signed ::= PLUS INTEGER */
- { 243, -2 }, /* (112) signed ::= MINUS INTEGER */
- { 209, -6 }, /* (113) cmd ::= CREATE TABLE ifnotexists ids cpxName create_table_args */
- { 244, -3 }, /* (114) create_table_args ::= LP columnlist RP */
- { 244, -7 }, /* (115) create_table_args ::= LP columnlist RP TAGS LP columnlist RP */
- { 244, -7 }, /* (116) create_table_args ::= USING ids cpxName TAGS LP tagitemlist RP */
- { 244, -2 }, /* (117) create_table_args ::= AS select */
- { 245, -3 }, /* (118) columnlist ::= columnlist COMMA column */
- { 245, -1 }, /* (119) columnlist ::= column */
- { 247, -2 }, /* (120) column ::= ids typename */
- { 228, -3 }, /* (121) tagitemlist ::= tagitemlist COMMA tagitem */
- { 228, -1 }, /* (122) tagitemlist ::= tagitem */
- { 248, -1 }, /* (123) tagitem ::= INTEGER */
- { 248, -1 }, /* (124) tagitem ::= FLOAT */
- { 248, -1 }, /* (125) tagitem ::= STRING */
- { 248, -1 }, /* (126) tagitem ::= BOOL */
- { 248, -1 }, /* (127) tagitem ::= NULL */
- { 248, -2 }, /* (128) tagitem ::= MINUS INTEGER */
- { 248, -2 }, /* (129) tagitem ::= MINUS FLOAT */
- { 248, -2 }, /* (130) tagitem ::= PLUS INTEGER */
- { 248, -2 }, /* (131) tagitem ::= PLUS FLOAT */
- { 246, -12 }, /* (132) select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
- { 260, -1 }, /* (133) union ::= select */
- { 260, -3 }, /* (134) union ::= LP union RP */
- { 260, -4 }, /* (135) union ::= union UNION ALL select */
- { 260, -6 }, /* (136) union ::= union UNION ALL LP select RP */
- { 209, -1 }, /* (137) cmd ::= union */
- { 246, -2 }, /* (138) select ::= SELECT selcollist */
- { 261, -2 }, /* (139) sclp ::= selcollist COMMA */
- { 261, 0 }, /* (140) sclp ::= */
- { 249, -3 }, /* (141) selcollist ::= sclp expr as */
- { 249, -2 }, /* (142) selcollist ::= sclp STAR */
- { 263, -2 }, /* (143) as ::= AS ids */
- { 263, -1 }, /* (144) as ::= ids */
- { 263, 0 }, /* (145) as ::= */
- { 250, -2 }, /* (146) from ::= FROM tablelist */
- { 264, -2 }, /* (147) tablelist ::= ids cpxName */
- { 264, -3 }, /* (148) tablelist ::= ids cpxName ids */
- { 264, -4 }, /* (149) tablelist ::= tablelist COMMA ids cpxName */
- { 264, -5 }, /* (150) tablelist ::= tablelist COMMA ids cpxName ids */
- { 265, -1 }, /* (151) tmvar ::= VARIABLE */
- { 252, -4 }, /* (152) interval_opt ::= INTERVAL LP tmvar RP */
- { 252, 0 }, /* (153) interval_opt ::= */
- { 253, 0 }, /* (154) fill_opt ::= */
- { 253, -6 }, /* (155) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
- { 253, -4 }, /* (156) fill_opt ::= FILL LP ID RP */
- { 254, -4 }, /* (157) sliding_opt ::= SLIDING LP tmvar RP */
- { 254, 0 }, /* (158) sliding_opt ::= */
- { 256, 0 }, /* (159) orderby_opt ::= */
- { 256, -3 }, /* (160) orderby_opt ::= ORDER BY sortlist */
- { 266, -4 }, /* (161) sortlist ::= sortlist COMMA item sortorder */
- { 266, -2 }, /* (162) sortlist ::= item sortorder */
- { 268, -2 }, /* (163) item ::= ids cpxName */
- { 269, -1 }, /* (164) sortorder ::= ASC */
- { 269, -1 }, /* (165) sortorder ::= DESC */
- { 269, 0 }, /* (166) sortorder ::= */
- { 255, 0 }, /* (167) groupby_opt ::= */
- { 255, -3 }, /* (168) groupby_opt ::= GROUP BY grouplist */
- { 270, -3 }, /* (169) grouplist ::= grouplist COMMA item */
- { 270, -1 }, /* (170) grouplist ::= item */
- { 257, 0 }, /* (171) having_opt ::= */
- { 257, -2 }, /* (172) having_opt ::= HAVING expr */
- { 259, 0 }, /* (173) limit_opt ::= */
- { 259, -2 }, /* (174) limit_opt ::= LIMIT signed */
- { 259, -4 }, /* (175) limit_opt ::= LIMIT signed OFFSET signed */
- { 259, -4 }, /* (176) limit_opt ::= LIMIT signed COMMA signed */
- { 258, 0 }, /* (177) slimit_opt ::= */
- { 258, -2 }, /* (178) slimit_opt ::= SLIMIT signed */
- { 258, -4 }, /* (179) slimit_opt ::= SLIMIT signed SOFFSET signed */
- { 258, -4 }, /* (180) slimit_opt ::= SLIMIT signed COMMA signed */
- { 251, 0 }, /* (181) where_opt ::= */
- { 251, -2 }, /* (182) where_opt ::= WHERE expr */
- { 262, -3 }, /* (183) expr ::= LP expr RP */
- { 262, -1 }, /* (184) expr ::= ID */
- { 262, -3 }, /* (185) expr ::= ID DOT ID */
- { 262, -3 }, /* (186) expr ::= ID DOT STAR */
- { 262, -1 }, /* (187) expr ::= INTEGER */
- { 262, -2 }, /* (188) expr ::= MINUS INTEGER */
- { 262, -2 }, /* (189) expr ::= PLUS INTEGER */
- { 262, -1 }, /* (190) expr ::= FLOAT */
- { 262, -2 }, /* (191) expr ::= MINUS FLOAT */
- { 262, -2 }, /* (192) expr ::= PLUS FLOAT */
- { 262, -1 }, /* (193) expr ::= STRING */
- { 262, -1 }, /* (194) expr ::= NOW */
- { 262, -1 }, /* (195) expr ::= VARIABLE */
- { 262, -1 }, /* (196) expr ::= BOOL */
- { 262, -4 }, /* (197) expr ::= ID LP exprlist RP */
- { 262, -4 }, /* (198) expr ::= ID LP STAR RP */
- { 262, -3 }, /* (199) expr ::= expr AND expr */
- { 262, -3 }, /* (200) expr ::= expr OR expr */
- { 262, -3 }, /* (201) expr ::= expr LT expr */
- { 262, -3 }, /* (202) expr ::= expr GT expr */
- { 262, -3 }, /* (203) expr ::= expr LE expr */
- { 262, -3 }, /* (204) expr ::= expr GE expr */
- { 262, -3 }, /* (205) expr ::= expr NE expr */
- { 262, -3 }, /* (206) expr ::= expr EQ expr */
- { 262, -3 }, /* (207) expr ::= expr PLUS expr */
- { 262, -3 }, /* (208) expr ::= expr MINUS expr */
- { 262, -3 }, /* (209) expr ::= expr STAR expr */
- { 262, -3 }, /* (210) expr ::= expr SLASH expr */
- { 262, -3 }, /* (211) expr ::= expr REM expr */
- { 262, -3 }, /* (212) expr ::= expr LIKE expr */
- { 262, -5 }, /* (213) expr ::= expr IN LP exprlist RP */
- { 271, -3 }, /* (214) exprlist ::= exprlist COMMA expritem */
- { 271, -1 }, /* (215) exprlist ::= expritem */
- { 272, -1 }, /* (216) expritem ::= expr */
- { 272, 0 }, /* (217) expritem ::= */
- { 209, -3 }, /* (218) cmd ::= RESET QUERY CACHE */
- { 209, -7 }, /* (219) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
- { 209, -7 }, /* (220) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
- { 209, -7 }, /* (221) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
- { 209, -7 }, /* (222) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
- { 209, -8 }, /* (223) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
- { 209, -9 }, /* (224) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
- { 209, -3 }, /* (225) cmd ::= KILL CONNECTION INTEGER */
- { 209, -5 }, /* (226) cmd ::= KILL STREAM INTEGER COLON INTEGER */
- { 209, -5 }, /* (227) cmd ::= KILL QUERY INTEGER COLON INTEGER */
+ { 207, -1 }, /* (0) program ::= cmd */
+ { 208, -2 }, /* (1) cmd ::= SHOW DATABASES */
+ { 208, -2 }, /* (2) cmd ::= SHOW MNODES */
+ { 208, -2 }, /* (3) cmd ::= SHOW DNODES */
+ { 208, -2 }, /* (4) cmd ::= SHOW ACCOUNTS */
+ { 208, -2 }, /* (5) cmd ::= SHOW USERS */
+ { 208, -2 }, /* (6) cmd ::= SHOW MODULES */
+ { 208, -2 }, /* (7) cmd ::= SHOW QUERIES */
+ { 208, -2 }, /* (8) cmd ::= SHOW CONNECTIONS */
+ { 208, -2 }, /* (9) cmd ::= SHOW STREAMS */
+ { 208, -2 }, /* (10) cmd ::= SHOW VARIABLES */
+ { 208, -2 }, /* (11) cmd ::= SHOW SCORES */
+ { 208, -2 }, /* (12) cmd ::= SHOW GRANTS */
+ { 208, -2 }, /* (13) cmd ::= SHOW VNODES */
+ { 208, -3 }, /* (14) cmd ::= SHOW VNODES IPTOKEN */
+ { 209, 0 }, /* (15) dbPrefix ::= */
+ { 209, -2 }, /* (16) dbPrefix ::= ids DOT */
+ { 211, 0 }, /* (17) cpxName ::= */
+ { 211, -2 }, /* (18) cpxName ::= DOT ids */
+ { 208, -3 }, /* (19) cmd ::= SHOW dbPrefix TABLES */
+ { 208, -5 }, /* (20) cmd ::= SHOW dbPrefix TABLES LIKE ids */
+ { 208, -3 }, /* (21) cmd ::= SHOW dbPrefix STABLES */
+ { 208, -5 }, /* (22) cmd ::= SHOW dbPrefix STABLES LIKE ids */
+ { 208, -3 }, /* (23) cmd ::= SHOW dbPrefix VGROUPS */
+ { 208, -4 }, /* (24) cmd ::= SHOW dbPrefix VGROUPS ids */
+ { 208, -5 }, /* (25) cmd ::= DROP TABLE ifexists ids cpxName */
+ { 208, -4 }, /* (26) cmd ::= DROP DATABASE ifexists ids */
+ { 208, -3 }, /* (27) cmd ::= DROP DNODE ids */
+ { 208, -3 }, /* (28) cmd ::= DROP USER ids */
+ { 208, -3 }, /* (29) cmd ::= DROP ACCOUNT ids */
+ { 208, -2 }, /* (30) cmd ::= USE ids */
+ { 208, -3 }, /* (31) cmd ::= DESCRIBE ids cpxName */
+ { 208, -5 }, /* (32) cmd ::= ALTER USER ids PASS ids */
+ { 208, -5 }, /* (33) cmd ::= ALTER USER ids PRIVILEGE ids */
+ { 208, -4 }, /* (34) cmd ::= ALTER DNODE ids ids */
+ { 208, -5 }, /* (35) cmd ::= ALTER DNODE ids ids ids */
+ { 208, -3 }, /* (36) cmd ::= ALTER LOCAL ids */
+ { 208, -4 }, /* (37) cmd ::= ALTER LOCAL ids ids */
+ { 208, -4 }, /* (38) cmd ::= ALTER DATABASE ids alter_db_optr */
+ { 208, -4 }, /* (39) cmd ::= ALTER ACCOUNT ids acct_optr */
+ { 208, -6 }, /* (40) cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
+ { 210, -1 }, /* (41) ids ::= ID */
+ { 210, -1 }, /* (42) ids ::= STRING */
+ { 212, -2 }, /* (43) ifexists ::= IF EXISTS */
+ { 212, 0 }, /* (44) ifexists ::= */
+ { 215, -3 }, /* (45) ifnotexists ::= IF NOT EXISTS */
+ { 215, 0 }, /* (46) ifnotexists ::= */
+ { 208, -3 }, /* (47) cmd ::= CREATE DNODE ids */
+ { 208, -6 }, /* (48) cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
+ { 208, -5 }, /* (49) cmd ::= CREATE DATABASE ifnotexists ids db_optr */
+ { 208, -5 }, /* (50) cmd ::= CREATE USER ids PASS ids */
+ { 217, 0 }, /* (51) pps ::= */
+ { 217, -2 }, /* (52) pps ::= PPS INTEGER */
+ { 218, 0 }, /* (53) tseries ::= */
+ { 218, -2 }, /* (54) tseries ::= TSERIES INTEGER */
+ { 219, 0 }, /* (55) dbs ::= */
+ { 219, -2 }, /* (56) dbs ::= DBS INTEGER */
+ { 220, 0 }, /* (57) streams ::= */
+ { 220, -2 }, /* (58) streams ::= STREAMS INTEGER */
+ { 221, 0 }, /* (59) storage ::= */
+ { 221, -2 }, /* (60) storage ::= STORAGE INTEGER */
+ { 222, 0 }, /* (61) qtime ::= */
+ { 222, -2 }, /* (62) qtime ::= QTIME INTEGER */
+ { 223, 0 }, /* (63) users ::= */
+ { 223, -2 }, /* (64) users ::= USERS INTEGER */
+ { 224, 0 }, /* (65) conns ::= */
+ { 224, -2 }, /* (66) conns ::= CONNS INTEGER */
+ { 225, 0 }, /* (67) state ::= */
+ { 225, -2 }, /* (68) state ::= STATE ids */
+ { 214, -9 }, /* (69) acct_optr ::= pps tseries storage streams qtime dbs users conns state */
+ { 226, -2 }, /* (70) keep ::= KEEP tagitemlist */
+ { 228, -2 }, /* (71) cache ::= CACHE INTEGER */
+ { 229, -2 }, /* (72) replica ::= REPLICA INTEGER */
+ { 230, -2 }, /* (73) quorum ::= QUORUM INTEGER */
+ { 231, -2 }, /* (74) days ::= DAYS INTEGER */
+ { 232, -2 }, /* (75) minrows ::= MINROWS INTEGER */
+ { 233, -2 }, /* (76) maxrows ::= MAXROWS INTEGER */
+ { 234, -2 }, /* (77) blocks ::= BLOCKS INTEGER */
+ { 235, -2 }, /* (78) ctime ::= CTIME INTEGER */
+ { 236, -2 }, /* (79) wal ::= WAL INTEGER */
+ { 237, -2 }, /* (80) fsync ::= FSYNC INTEGER */
+ { 238, -2 }, /* (81) comp ::= COMP INTEGER */
+ { 239, -2 }, /* (82) prec ::= PRECISION STRING */
+ { 216, 0 }, /* (83) db_optr ::= */
+ { 216, -2 }, /* (84) db_optr ::= db_optr cache */
+ { 216, -2 }, /* (85) db_optr ::= db_optr replica */
+ { 216, -2 }, /* (86) db_optr ::= db_optr quorum */
+ { 216, -2 }, /* (87) db_optr ::= db_optr days */
+ { 216, -2 }, /* (88) db_optr ::= db_optr minrows */
+ { 216, -2 }, /* (89) db_optr ::= db_optr maxrows */
+ { 216, -2 }, /* (90) db_optr ::= db_optr blocks */
+ { 216, -2 }, /* (91) db_optr ::= db_optr ctime */
+ { 216, -2 }, /* (92) db_optr ::= db_optr wal */
+ { 216, -2 }, /* (93) db_optr ::= db_optr fsync */
+ { 216, -2 }, /* (94) db_optr ::= db_optr comp */
+ { 216, -2 }, /* (95) db_optr ::= db_optr prec */
+ { 216, -2 }, /* (96) db_optr ::= db_optr keep */
+ { 213, 0 }, /* (97) alter_db_optr ::= */
+ { 213, -2 }, /* (98) alter_db_optr ::= alter_db_optr replica */
+ { 213, -2 }, /* (99) alter_db_optr ::= alter_db_optr quorum */
+ { 213, -2 }, /* (100) alter_db_optr ::= alter_db_optr keep */
+ { 213, -2 }, /* (101) alter_db_optr ::= alter_db_optr blocks */
+ { 213, -2 }, /* (102) alter_db_optr ::= alter_db_optr comp */
+ { 213, -2 }, /* (103) alter_db_optr ::= alter_db_optr wal */
+ { 213, -2 }, /* (104) alter_db_optr ::= alter_db_optr fsync */
+ { 240, -1 }, /* (105) typename ::= ids */
+ { 240, -4 }, /* (106) typename ::= ids LP signed RP */
+ { 241, -1 }, /* (107) signed ::= INTEGER */
+ { 241, -2 }, /* (108) signed ::= PLUS INTEGER */
+ { 241, -2 }, /* (109) signed ::= MINUS INTEGER */
+ { 208, -6 }, /* (110) cmd ::= CREATE TABLE ifnotexists ids cpxName create_table_args */
+ { 242, -3 }, /* (111) create_table_args ::= LP columnlist RP */
+ { 242, -7 }, /* (112) create_table_args ::= LP columnlist RP TAGS LP columnlist RP */
+ { 242, -7 }, /* (113) create_table_args ::= USING ids cpxName TAGS LP tagitemlist RP */
+ { 242, -2 }, /* (114) create_table_args ::= AS select */
+ { 243, -3 }, /* (115) columnlist ::= columnlist COMMA column */
+ { 243, -1 }, /* (116) columnlist ::= column */
+ { 245, -2 }, /* (117) column ::= ids typename */
+ { 227, -3 }, /* (118) tagitemlist ::= tagitemlist COMMA tagitem */
+ { 227, -1 }, /* (119) tagitemlist ::= tagitem */
+ { 246, -1 }, /* (120) tagitem ::= INTEGER */
+ { 246, -1 }, /* (121) tagitem ::= FLOAT */
+ { 246, -1 }, /* (122) tagitem ::= STRING */
+ { 246, -1 }, /* (123) tagitem ::= BOOL */
+ { 246, -1 }, /* (124) tagitem ::= NULL */
+ { 246, -2 }, /* (125) tagitem ::= MINUS INTEGER */
+ { 246, -2 }, /* (126) tagitem ::= MINUS FLOAT */
+ { 246, -2 }, /* (127) tagitem ::= PLUS INTEGER */
+ { 246, -2 }, /* (128) tagitem ::= PLUS FLOAT */
+ { 244, -12 }, /* (129) select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
+ { 258, -1 }, /* (130) union ::= select */
+ { 258, -3 }, /* (131) union ::= LP union RP */
+ { 258, -4 }, /* (132) union ::= union UNION ALL select */
+ { 258, -6 }, /* (133) union ::= union UNION ALL LP select RP */
+ { 208, -1 }, /* (134) cmd ::= union */
+ { 244, -2 }, /* (135) select ::= SELECT selcollist */
+ { 259, -2 }, /* (136) sclp ::= selcollist COMMA */
+ { 259, 0 }, /* (137) sclp ::= */
+ { 247, -3 }, /* (138) selcollist ::= sclp expr as */
+ { 247, -2 }, /* (139) selcollist ::= sclp STAR */
+ { 261, -2 }, /* (140) as ::= AS ids */
+ { 261, -1 }, /* (141) as ::= ids */
+ { 261, 0 }, /* (142) as ::= */
+ { 248, -2 }, /* (143) from ::= FROM tablelist */
+ { 262, -2 }, /* (144) tablelist ::= ids cpxName */
+ { 262, -3 }, /* (145) tablelist ::= ids cpxName ids */
+ { 262, -4 }, /* (146) tablelist ::= tablelist COMMA ids cpxName */
+ { 262, -5 }, /* (147) tablelist ::= tablelist COMMA ids cpxName ids */
+ { 263, -1 }, /* (148) tmvar ::= VARIABLE */
+ { 250, -4 }, /* (149) interval_opt ::= INTERVAL LP tmvar RP */
+ { 250, 0 }, /* (150) interval_opt ::= */
+ { 251, 0 }, /* (151) fill_opt ::= */
+ { 251, -6 }, /* (152) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
+ { 251, -4 }, /* (153) fill_opt ::= FILL LP ID RP */
+ { 252, -4 }, /* (154) sliding_opt ::= SLIDING LP tmvar RP */
+ { 252, 0 }, /* (155) sliding_opt ::= */
+ { 254, 0 }, /* (156) orderby_opt ::= */
+ { 254, -3 }, /* (157) orderby_opt ::= ORDER BY sortlist */
+ { 264, -4 }, /* (158) sortlist ::= sortlist COMMA item sortorder */
+ { 264, -2 }, /* (159) sortlist ::= item sortorder */
+ { 266, -2 }, /* (160) item ::= ids cpxName */
+ { 267, -1 }, /* (161) sortorder ::= ASC */
+ { 267, -1 }, /* (162) sortorder ::= DESC */
+ { 267, 0 }, /* (163) sortorder ::= */
+ { 253, 0 }, /* (164) groupby_opt ::= */
+ { 253, -3 }, /* (165) groupby_opt ::= GROUP BY grouplist */
+ { 268, -3 }, /* (166) grouplist ::= grouplist COMMA item */
+ { 268, -1 }, /* (167) grouplist ::= item */
+ { 255, 0 }, /* (168) having_opt ::= */
+ { 255, -2 }, /* (169) having_opt ::= HAVING expr */
+ { 257, 0 }, /* (170) limit_opt ::= */
+ { 257, -2 }, /* (171) limit_opt ::= LIMIT signed */
+ { 257, -4 }, /* (172) limit_opt ::= LIMIT signed OFFSET signed */
+ { 257, -4 }, /* (173) limit_opt ::= LIMIT signed COMMA signed */
+ { 256, 0 }, /* (174) slimit_opt ::= */
+ { 256, -2 }, /* (175) slimit_opt ::= SLIMIT signed */
+ { 256, -4 }, /* (176) slimit_opt ::= SLIMIT signed SOFFSET signed */
+ { 256, -4 }, /* (177) slimit_opt ::= SLIMIT signed COMMA signed */
+ { 249, 0 }, /* (178) where_opt ::= */
+ { 249, -2 }, /* (179) where_opt ::= WHERE expr */
+ { 260, -3 }, /* (180) expr ::= LP expr RP */
+ { 260, -1 }, /* (181) expr ::= ID */
+ { 260, -3 }, /* (182) expr ::= ID DOT ID */
+ { 260, -3 }, /* (183) expr ::= ID DOT STAR */
+ { 260, -1 }, /* (184) expr ::= INTEGER */
+ { 260, -2 }, /* (185) expr ::= MINUS INTEGER */
+ { 260, -2 }, /* (186) expr ::= PLUS INTEGER */
+ { 260, -1 }, /* (187) expr ::= FLOAT */
+ { 260, -2 }, /* (188) expr ::= MINUS FLOAT */
+ { 260, -2 }, /* (189) expr ::= PLUS FLOAT */
+ { 260, -1 }, /* (190) expr ::= STRING */
+ { 260, -1 }, /* (191) expr ::= NOW */
+ { 260, -1 }, /* (192) expr ::= VARIABLE */
+ { 260, -1 }, /* (193) expr ::= BOOL */
+ { 260, -4 }, /* (194) expr ::= ID LP exprlist RP */
+ { 260, -4 }, /* (195) expr ::= ID LP STAR RP */
+ { 260, -3 }, /* (196) expr ::= expr AND expr */
+ { 260, -3 }, /* (197) expr ::= expr OR expr */
+ { 260, -3 }, /* (198) expr ::= expr LT expr */
+ { 260, -3 }, /* (199) expr ::= expr GT expr */
+ { 260, -3 }, /* (200) expr ::= expr LE expr */
+ { 260, -3 }, /* (201) expr ::= expr GE expr */
+ { 260, -3 }, /* (202) expr ::= expr NE expr */
+ { 260, -3 }, /* (203) expr ::= expr EQ expr */
+ { 260, -3 }, /* (204) expr ::= expr PLUS expr */
+ { 260, -3 }, /* (205) expr ::= expr MINUS expr */
+ { 260, -3 }, /* (206) expr ::= expr STAR expr */
+ { 260, -3 }, /* (207) expr ::= expr SLASH expr */
+ { 260, -3 }, /* (208) expr ::= expr REM expr */
+ { 260, -3 }, /* (209) expr ::= expr LIKE expr */
+ { 260, -5 }, /* (210) expr ::= expr IN LP exprlist RP */
+ { 269, -3 }, /* (211) exprlist ::= exprlist COMMA expritem */
+ { 269, -1 }, /* (212) exprlist ::= expritem */
+ { 270, -1 }, /* (213) expritem ::= expr */
+ { 270, 0 }, /* (214) expritem ::= */
+ { 208, -3 }, /* (215) cmd ::= RESET QUERY CACHE */
+ { 208, -7 }, /* (216) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
+ { 208, -7 }, /* (217) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
+ { 208, -7 }, /* (218) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
+ { 208, -7 }, /* (219) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
+ { 208, -8 }, /* (220) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
+ { 208, -9 }, /* (221) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
+ { 208, -3 }, /* (222) cmd ::= KILL CONNECTION INTEGER */
+ { 208, -5 }, /* (223) cmd ::= KILL STREAM INTEGER COLON INTEGER */
+ { 208, -5 }, /* (224) cmd ::= KILL QUERY INTEGER COLON INTEGER */
};
static void yy_accept(yyParser*); /* Forward Declaration */
@@ -2139,13 +2128,13 @@ static void yy_reduce(
{ setDCLSQLElems(pInfo, TSDB_SQL_CFG_LOCAL, 2, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); }
break;
case 38: /* cmd ::= ALTER DATABASE ids alter_db_optr */
-{ SStrToken t = {0}; setCreateDBSQL(pInfo, TSDB_SQL_ALTER_DB, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy268, &t);}
+{ SStrToken t = {0}; setCreateDBSQL(pInfo, TSDB_SQL_ALTER_DB, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy158, &t);}
break;
case 39: /* cmd ::= ALTER ACCOUNT ids acct_optr */
-{ setCreateAcctSQL(pInfo, TSDB_SQL_ALTER_ACCT, &yymsp[-1].minor.yy0, NULL, &yymsp[0].minor.yy149);}
+{ setCreateAcctSQL(pInfo, TSDB_SQL_ALTER_ACCT, &yymsp[-1].minor.yy0, NULL, &yymsp[0].minor.yy73);}
break;
case 40: /* 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.yy149);}
+{ setCreateAcctSQL(pInfo, TSDB_SQL_ALTER_ACCT, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy73);}
break;
case 41: /* ids ::= ID */
case 42: /* ids ::= STRING */ yytestcase(yyruleno==42);
@@ -2166,10 +2155,10 @@ static void yy_reduce(
{ setDCLSQLElems(pInfo, TSDB_SQL_CREATE_DNODE, 1, &yymsp[0].minor.yy0);}
break;
case 48: /* 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.yy149);}
+{ setCreateAcctSQL(pInfo, TSDB_SQL_CREATE_ACCT, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy73);}
break;
case 49: /* cmd ::= CREATE DATABASE ifnotexists ids db_optr */
-{ setCreateDBSQL(pInfo, TSDB_SQL_CREATE_DB, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy268, &yymsp[-2].minor.yy0);}
+{ setCreateDBSQL(pInfo, TSDB_SQL_CREATE_DB, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy158, &yymsp[-2].minor.yy0);}
break;
case 50: /* cmd ::= CREATE USER ids PASS ids */
{ setCreateUserSQL(pInfo, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0);}
@@ -2198,562 +2187,556 @@ static void yy_reduce(
break;
case 69: /* acct_optr ::= pps tseries storage streams qtime dbs users conns state */
{
- yylhsminor.yy149.maxUsers = (yymsp[-2].minor.yy0.n>0)?atoi(yymsp[-2].minor.yy0.z):-1;
- yylhsminor.yy149.maxDbs = (yymsp[-3].minor.yy0.n>0)?atoi(yymsp[-3].minor.yy0.z):-1;
- yylhsminor.yy149.maxTimeSeries = (yymsp[-7].minor.yy0.n>0)?atoi(yymsp[-7].minor.yy0.z):-1;
- yylhsminor.yy149.maxStreams = (yymsp[-5].minor.yy0.n>0)?atoi(yymsp[-5].minor.yy0.z):-1;
- yylhsminor.yy149.maxPointsPerSecond = (yymsp[-8].minor.yy0.n>0)?atoi(yymsp[-8].minor.yy0.z):-1;
- yylhsminor.yy149.maxStorage = (yymsp[-6].minor.yy0.n>0)?strtoll(yymsp[-6].minor.yy0.z, NULL, 10):-1;
- yylhsminor.yy149.maxQueryTime = (yymsp[-4].minor.yy0.n>0)?strtoll(yymsp[-4].minor.yy0.z, NULL, 10):-1;
- yylhsminor.yy149.maxConnections = (yymsp[-1].minor.yy0.n>0)?atoi(yymsp[-1].minor.yy0.z):-1;
- yylhsminor.yy149.stat = yymsp[0].minor.yy0;
-}
- yymsp[-8].minor.yy149 = yylhsminor.yy149;
+ yylhsminor.yy73.maxUsers = (yymsp[-2].minor.yy0.n>0)?atoi(yymsp[-2].minor.yy0.z):-1;
+ yylhsminor.yy73.maxDbs = (yymsp[-3].minor.yy0.n>0)?atoi(yymsp[-3].minor.yy0.z):-1;
+ yylhsminor.yy73.maxTimeSeries = (yymsp[-7].minor.yy0.n>0)?atoi(yymsp[-7].minor.yy0.z):-1;
+ yylhsminor.yy73.maxStreams = (yymsp[-5].minor.yy0.n>0)?atoi(yymsp[-5].minor.yy0.z):-1;
+ yylhsminor.yy73.maxPointsPerSecond = (yymsp[-8].minor.yy0.n>0)?atoi(yymsp[-8].minor.yy0.z):-1;
+ yylhsminor.yy73.maxStorage = (yymsp[-6].minor.yy0.n>0)?strtoll(yymsp[-6].minor.yy0.z, NULL, 10):-1;
+ yylhsminor.yy73.maxQueryTime = (yymsp[-4].minor.yy0.n>0)?strtoll(yymsp[-4].minor.yy0.z, NULL, 10):-1;
+ yylhsminor.yy73.maxConnections = (yymsp[-1].minor.yy0.n>0)?atoi(yymsp[-1].minor.yy0.z):-1;
+ yylhsminor.yy73.stat = yymsp[0].minor.yy0;
+}
+ yymsp[-8].minor.yy73 = yylhsminor.yy73;
break;
case 70: /* keep ::= KEEP tagitemlist */
-{ yymsp[-1].minor.yy498 = yymsp[0].minor.yy498; }
- break;
- case 71: /* tables ::= MAXTABLES INTEGER */
- case 72: /* cache ::= CACHE INTEGER */ yytestcase(yyruleno==72);
- case 73: /* replica ::= REPLICA INTEGER */ yytestcase(yyruleno==73);
- case 74: /* quorum ::= QUORUM INTEGER */ yytestcase(yyruleno==74);
- case 75: /* days ::= DAYS INTEGER */ yytestcase(yyruleno==75);
- case 76: /* minrows ::= MINROWS INTEGER */ yytestcase(yyruleno==76);
- case 77: /* maxrows ::= MAXROWS INTEGER */ yytestcase(yyruleno==77);
- case 78: /* blocks ::= BLOCKS INTEGER */ yytestcase(yyruleno==78);
- case 79: /* ctime ::= CTIME INTEGER */ yytestcase(yyruleno==79);
- case 80: /* wal ::= WAL INTEGER */ yytestcase(yyruleno==80);
- case 81: /* fsync ::= FSYNC INTEGER */ yytestcase(yyruleno==81);
- case 82: /* comp ::= COMP INTEGER */ yytestcase(yyruleno==82);
- case 83: /* prec ::= PRECISION STRING */ yytestcase(yyruleno==83);
+{ yymsp[-1].minor.yy494 = yymsp[0].minor.yy494; }
+ break;
+ case 71: /* cache ::= CACHE INTEGER */
+ case 72: /* replica ::= REPLICA INTEGER */ yytestcase(yyruleno==72);
+ case 73: /* quorum ::= QUORUM INTEGER */ yytestcase(yyruleno==73);
+ case 74: /* days ::= DAYS INTEGER */ yytestcase(yyruleno==74);
+ case 75: /* minrows ::= MINROWS INTEGER */ yytestcase(yyruleno==75);
+ case 76: /* maxrows ::= MAXROWS INTEGER */ yytestcase(yyruleno==76);
+ case 77: /* blocks ::= BLOCKS INTEGER */ yytestcase(yyruleno==77);
+ case 78: /* ctime ::= CTIME INTEGER */ yytestcase(yyruleno==78);
+ case 79: /* wal ::= WAL INTEGER */ yytestcase(yyruleno==79);
+ case 80: /* fsync ::= FSYNC INTEGER */ yytestcase(yyruleno==80);
+ case 81: /* comp ::= COMP INTEGER */ yytestcase(yyruleno==81);
+ case 82: /* prec ::= PRECISION STRING */ yytestcase(yyruleno==82);
{ yymsp[-1].minor.yy0 = yymsp[0].minor.yy0; }
break;
- case 84: /* db_optr ::= */
-{setDefaultCreateDbOption(&yymsp[1].minor.yy268);}
- break;
- case 85: /* db_optr ::= db_optr tables */
- case 102: /* alter_db_optr ::= alter_db_optr tables */ yytestcase(yyruleno==102);
-{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.maxTablesPerVnode = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
- yymsp[-1].minor.yy268 = yylhsminor.yy268;
- break;
- case 86: /* db_optr ::= db_optr cache */
-{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.cacheBlockSize = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
- yymsp[-1].minor.yy268 = yylhsminor.yy268;
- break;
- case 87: /* db_optr ::= db_optr replica */
- case 100: /* alter_db_optr ::= alter_db_optr replica */ yytestcase(yyruleno==100);
-{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.replica = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
- yymsp[-1].minor.yy268 = yylhsminor.yy268;
- break;
- case 88: /* db_optr ::= db_optr quorum */
- case 101: /* alter_db_optr ::= alter_db_optr quorum */ yytestcase(yyruleno==101);
-{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.quorum = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
- yymsp[-1].minor.yy268 = yylhsminor.yy268;
- break;
- case 89: /* db_optr ::= db_optr days */
-{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.daysPerFile = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
- yymsp[-1].minor.yy268 = yylhsminor.yy268;
- break;
- case 90: /* db_optr ::= db_optr minrows */
-{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.minRowsPerBlock = strtod(yymsp[0].minor.yy0.z, NULL); }
- yymsp[-1].minor.yy268 = yylhsminor.yy268;
- break;
- case 91: /* db_optr ::= db_optr maxrows */
-{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.maxRowsPerBlock = strtod(yymsp[0].minor.yy0.z, NULL); }
- yymsp[-1].minor.yy268 = yylhsminor.yy268;
- break;
- case 92: /* db_optr ::= db_optr blocks */
- case 104: /* alter_db_optr ::= alter_db_optr blocks */ yytestcase(yyruleno==104);
-{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.numOfBlocks = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
- yymsp[-1].minor.yy268 = yylhsminor.yy268;
- break;
- case 93: /* db_optr ::= db_optr ctime */
-{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.commitTime = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
- yymsp[-1].minor.yy268 = yylhsminor.yy268;
- break;
- case 94: /* db_optr ::= db_optr wal */
- case 106: /* alter_db_optr ::= alter_db_optr wal */ yytestcase(yyruleno==106);
-{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.walLevel = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
- yymsp[-1].minor.yy268 = yylhsminor.yy268;
- break;
- case 95: /* db_optr ::= db_optr fsync */
- case 107: /* alter_db_optr ::= alter_db_optr fsync */ yytestcase(yyruleno==107);
-{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.fsyncPeriod = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
- yymsp[-1].minor.yy268 = yylhsminor.yy268;
- break;
- case 96: /* db_optr ::= db_optr comp */
- case 105: /* alter_db_optr ::= alter_db_optr comp */ yytestcase(yyruleno==105);
-{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.compressionLevel = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
- yymsp[-1].minor.yy268 = yylhsminor.yy268;
- break;
- case 97: /* db_optr ::= db_optr prec */
-{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.precision = yymsp[0].minor.yy0; }
- yymsp[-1].minor.yy268 = yylhsminor.yy268;
- break;
- case 98: /* db_optr ::= db_optr keep */
- case 103: /* alter_db_optr ::= alter_db_optr keep */ yytestcase(yyruleno==103);
-{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.keep = yymsp[0].minor.yy498; }
- yymsp[-1].minor.yy268 = yylhsminor.yy268;
- break;
- case 99: /* alter_db_optr ::= */
-{ setDefaultCreateDbOption(&yymsp[1].minor.yy268);}
- break;
- case 108: /* typename ::= ids */
+ case 83: /* db_optr ::= */
+{setDefaultCreateDbOption(&yymsp[1].minor.yy158);}
+ break;
+ case 84: /* db_optr ::= db_optr cache */
+{ yylhsminor.yy158 = yymsp[-1].minor.yy158; yylhsminor.yy158.cacheBlockSize = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
+ yymsp[-1].minor.yy158 = yylhsminor.yy158;
+ break;
+ case 85: /* db_optr ::= db_optr replica */
+ case 98: /* alter_db_optr ::= alter_db_optr replica */ yytestcase(yyruleno==98);
+{ yylhsminor.yy158 = yymsp[-1].minor.yy158; yylhsminor.yy158.replica = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
+ yymsp[-1].minor.yy158 = yylhsminor.yy158;
+ break;
+ case 86: /* db_optr ::= db_optr quorum */
+ case 99: /* alter_db_optr ::= alter_db_optr quorum */ yytestcase(yyruleno==99);
+{ yylhsminor.yy158 = yymsp[-1].minor.yy158; yylhsminor.yy158.quorum = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
+ yymsp[-1].minor.yy158 = yylhsminor.yy158;
+ break;
+ case 87: /* db_optr ::= db_optr days */
+{ yylhsminor.yy158 = yymsp[-1].minor.yy158; yylhsminor.yy158.daysPerFile = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
+ yymsp[-1].minor.yy158 = yylhsminor.yy158;
+ break;
+ case 88: /* db_optr ::= db_optr minrows */
+{ yylhsminor.yy158 = yymsp[-1].minor.yy158; yylhsminor.yy158.minRowsPerBlock = strtod(yymsp[0].minor.yy0.z, NULL); }
+ yymsp[-1].minor.yy158 = yylhsminor.yy158;
+ break;
+ case 89: /* db_optr ::= db_optr maxrows */
+{ yylhsminor.yy158 = yymsp[-1].minor.yy158; yylhsminor.yy158.maxRowsPerBlock = strtod(yymsp[0].minor.yy0.z, NULL); }
+ yymsp[-1].minor.yy158 = yylhsminor.yy158;
+ break;
+ case 90: /* db_optr ::= db_optr blocks */
+ case 101: /* alter_db_optr ::= alter_db_optr blocks */ yytestcase(yyruleno==101);
+{ yylhsminor.yy158 = yymsp[-1].minor.yy158; yylhsminor.yy158.numOfBlocks = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
+ yymsp[-1].minor.yy158 = yylhsminor.yy158;
+ break;
+ case 91: /* db_optr ::= db_optr ctime */
+{ yylhsminor.yy158 = yymsp[-1].minor.yy158; yylhsminor.yy158.commitTime = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
+ yymsp[-1].minor.yy158 = yylhsminor.yy158;
+ break;
+ case 92: /* db_optr ::= db_optr wal */
+ case 103: /* alter_db_optr ::= alter_db_optr wal */ yytestcase(yyruleno==103);
+{ yylhsminor.yy158 = yymsp[-1].minor.yy158; yylhsminor.yy158.walLevel = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
+ yymsp[-1].minor.yy158 = yylhsminor.yy158;
+ break;
+ case 93: /* db_optr ::= db_optr fsync */
+ case 104: /* alter_db_optr ::= alter_db_optr fsync */ yytestcase(yyruleno==104);
+{ yylhsminor.yy158 = yymsp[-1].minor.yy158; yylhsminor.yy158.fsyncPeriod = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
+ yymsp[-1].minor.yy158 = yylhsminor.yy158;
+ break;
+ case 94: /* db_optr ::= db_optr comp */
+ case 102: /* alter_db_optr ::= alter_db_optr comp */ yytestcase(yyruleno==102);
+{ yylhsminor.yy158 = yymsp[-1].minor.yy158; yylhsminor.yy158.compressionLevel = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
+ yymsp[-1].minor.yy158 = yylhsminor.yy158;
+ break;
+ case 95: /* db_optr ::= db_optr prec */
+{ yylhsminor.yy158 = yymsp[-1].minor.yy158; yylhsminor.yy158.precision = yymsp[0].minor.yy0; }
+ yymsp[-1].minor.yy158 = yylhsminor.yy158;
+ break;
+ case 96: /* db_optr ::= db_optr keep */
+ case 100: /* alter_db_optr ::= alter_db_optr keep */ yytestcase(yyruleno==100);
+{ yylhsminor.yy158 = yymsp[-1].minor.yy158; yylhsminor.yy158.keep = yymsp[0].minor.yy494; }
+ yymsp[-1].minor.yy158 = yylhsminor.yy158;
+ break;
+ case 97: /* alter_db_optr ::= */
+{ setDefaultCreateDbOption(&yymsp[1].minor.yy158);}
+ break;
+ case 105: /* typename ::= ids */
{
yymsp[0].minor.yy0.type = 0;
- tSQLSetColumnType (&yylhsminor.yy223, &yymsp[0].minor.yy0);
+ tSQLSetColumnType (&yylhsminor.yy181, &yymsp[0].minor.yy0);
}
- yymsp[0].minor.yy223 = yylhsminor.yy223;
+ yymsp[0].minor.yy181 = yylhsminor.yy181;
break;
- case 109: /* typename ::= ids LP signed RP */
+ case 106: /* typename ::= ids LP signed RP */
{
- if (yymsp[-1].minor.yy207 <= 0) {
+ if (yymsp[-1].minor.yy271 <= 0) {
yymsp[-3].minor.yy0.type = 0;
- tSQLSetColumnType(&yylhsminor.yy223, &yymsp[-3].minor.yy0);
+ tSQLSetColumnType(&yylhsminor.yy181, &yymsp[-3].minor.yy0);
} else {
- yymsp[-3].minor.yy0.type = -yymsp[-1].minor.yy207; // negative value of name length
- tSQLSetColumnType(&yylhsminor.yy223, &yymsp[-3].minor.yy0);
+ yymsp[-3].minor.yy0.type = -yymsp[-1].minor.yy271; // negative value of name length
+ tSQLSetColumnType(&yylhsminor.yy181, &yymsp[-3].minor.yy0);
}
}
- yymsp[-3].minor.yy223 = yylhsminor.yy223;
+ yymsp[-3].minor.yy181 = yylhsminor.yy181;
break;
- case 110: /* signed ::= INTEGER */
-{ yylhsminor.yy207 = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
- yymsp[0].minor.yy207 = yylhsminor.yy207;
+ case 107: /* signed ::= INTEGER */
+{ yylhsminor.yy271 = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
+ yymsp[0].minor.yy271 = yylhsminor.yy271;
break;
- case 111: /* signed ::= PLUS INTEGER */
-{ yymsp[-1].minor.yy207 = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
+ case 108: /* signed ::= PLUS INTEGER */
+{ yymsp[-1].minor.yy271 = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
break;
- case 112: /* signed ::= MINUS INTEGER */
-{ yymsp[-1].minor.yy207 = -strtol(yymsp[0].minor.yy0.z, NULL, 10);}
+ case 109: /* signed ::= MINUS INTEGER */
+{ yymsp[-1].minor.yy271 = -strtol(yymsp[0].minor.yy0.z, NULL, 10);}
break;
- case 113: /* cmd ::= CREATE TABLE ifnotexists ids cpxName create_table_args */
+ case 110: /* cmd ::= CREATE TABLE ifnotexists ids cpxName create_table_args */
{
yymsp[-2].minor.yy0.n += yymsp[-1].minor.yy0.n;
setCreatedTableName(pInfo, &yymsp[-2].minor.yy0, &yymsp[-3].minor.yy0);
}
break;
- case 114: /* create_table_args ::= LP columnlist RP */
+ case 111: /* create_table_args ::= LP columnlist RP */
{
- yymsp[-2].minor.yy470 = tSetCreateSQLElems(yymsp[-1].minor.yy523, NULL, NULL, NULL, NULL, TSQL_CREATE_TABLE);
- setSQLInfo(pInfo, yymsp[-2].minor.yy470, NULL, TSDB_SQL_CREATE_TABLE);
+ yymsp[-2].minor.yy374 = tSetCreateSQLElems(yymsp[-1].minor.yy449, NULL, NULL, NULL, NULL, TSQL_CREATE_TABLE);
+ setSQLInfo(pInfo, yymsp[-2].minor.yy374, NULL, TSDB_SQL_CREATE_TABLE);
}
break;
- case 115: /* create_table_args ::= LP columnlist RP TAGS LP columnlist RP */
+ case 112: /* create_table_args ::= LP columnlist RP TAGS LP columnlist RP */
{
- yymsp[-6].minor.yy470 = tSetCreateSQLElems(yymsp[-5].minor.yy523, yymsp[-1].minor.yy523, NULL, NULL, NULL, TSQL_CREATE_STABLE);
- setSQLInfo(pInfo, yymsp[-6].minor.yy470, NULL, TSDB_SQL_CREATE_TABLE);
+ yymsp[-6].minor.yy374 = tSetCreateSQLElems(yymsp[-5].minor.yy449, yymsp[-1].minor.yy449, NULL, NULL, NULL, TSQL_CREATE_STABLE);
+ setSQLInfo(pInfo, yymsp[-6].minor.yy374, NULL, TSDB_SQL_CREATE_TABLE);
}
break;
- case 116: /* create_table_args ::= USING ids cpxName TAGS LP tagitemlist RP */
+ case 113: /* create_table_args ::= USING ids cpxName TAGS LP tagitemlist RP */
{
yymsp[-5].minor.yy0.n += yymsp[-4].minor.yy0.n;
- yymsp[-6].minor.yy470 = tSetCreateSQLElems(NULL, NULL, &yymsp[-5].minor.yy0, yymsp[-1].minor.yy498, NULL, TSQL_CREATE_TABLE_FROM_STABLE);
- setSQLInfo(pInfo, yymsp[-6].minor.yy470, NULL, TSDB_SQL_CREATE_TABLE);
+ yymsp[-6].minor.yy374 = tSetCreateSQLElems(NULL, NULL, &yymsp[-5].minor.yy0, yymsp[-1].minor.yy494, NULL, TSQL_CREATE_TABLE_FROM_STABLE);
+ setSQLInfo(pInfo, yymsp[-6].minor.yy374, NULL, TSDB_SQL_CREATE_TABLE);
}
break;
- case 117: /* create_table_args ::= AS select */
+ case 114: /* create_table_args ::= AS select */
{
- yymsp[-1].minor.yy470 = tSetCreateSQLElems(NULL, NULL, NULL, NULL, yymsp[0].minor.yy414, TSQL_CREATE_STREAM);
- setSQLInfo(pInfo, yymsp[-1].minor.yy470, NULL, TSDB_SQL_CREATE_TABLE);
+ yymsp[-1].minor.yy374 = tSetCreateSQLElems(NULL, NULL, NULL, NULL, yymsp[0].minor.yy150, TSQL_CREATE_STREAM);
+ setSQLInfo(pInfo, yymsp[-1].minor.yy374, NULL, TSDB_SQL_CREATE_TABLE);
}
break;
- case 118: /* columnlist ::= columnlist COMMA column */
-{yylhsminor.yy523 = tFieldListAppend(yymsp[-2].minor.yy523, &yymsp[0].minor.yy223); }
- yymsp[-2].minor.yy523 = yylhsminor.yy523;
+ case 115: /* columnlist ::= columnlist COMMA column */
+{yylhsminor.yy449 = tFieldListAppend(yymsp[-2].minor.yy449, &yymsp[0].minor.yy181); }
+ yymsp[-2].minor.yy449 = yylhsminor.yy449;
break;
- case 119: /* columnlist ::= column */
-{yylhsminor.yy523 = tFieldListAppend(NULL, &yymsp[0].minor.yy223);}
- yymsp[0].minor.yy523 = yylhsminor.yy523;
+ case 116: /* columnlist ::= column */
+{yylhsminor.yy449 = tFieldListAppend(NULL, &yymsp[0].minor.yy181);}
+ yymsp[0].minor.yy449 = yylhsminor.yy449;
break;
- case 120: /* column ::= ids typename */
+ case 117: /* column ::= ids typename */
{
- tSQLSetColumnInfo(&yylhsminor.yy223, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy223);
+ tSQLSetColumnInfo(&yylhsminor.yy181, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy181);
}
- yymsp[-1].minor.yy223 = yylhsminor.yy223;
+ yymsp[-1].minor.yy181 = yylhsminor.yy181;
break;
- case 121: /* tagitemlist ::= tagitemlist COMMA tagitem */
-{ yylhsminor.yy498 = tVariantListAppend(yymsp[-2].minor.yy498, &yymsp[0].minor.yy134, -1); }
- yymsp[-2].minor.yy498 = yylhsminor.yy498;
+ case 118: /* tagitemlist ::= tagitemlist COMMA tagitem */
+{ yylhsminor.yy494 = tVariantListAppend(yymsp[-2].minor.yy494, &yymsp[0].minor.yy312, -1); }
+ yymsp[-2].minor.yy494 = yylhsminor.yy494;
break;
- case 122: /* tagitemlist ::= tagitem */
-{ yylhsminor.yy498 = tVariantListAppend(NULL, &yymsp[0].minor.yy134, -1); }
- yymsp[0].minor.yy498 = yylhsminor.yy498;
+ case 119: /* tagitemlist ::= tagitem */
+{ yylhsminor.yy494 = tVariantListAppend(NULL, &yymsp[0].minor.yy312, -1); }
+ yymsp[0].minor.yy494 = yylhsminor.yy494;
break;
- case 123: /* tagitem ::= INTEGER */
- case 124: /* tagitem ::= FLOAT */ yytestcase(yyruleno==124);
- case 125: /* tagitem ::= STRING */ yytestcase(yyruleno==125);
- case 126: /* tagitem ::= BOOL */ yytestcase(yyruleno==126);
-{toTSDBType(yymsp[0].minor.yy0.type); tVariantCreate(&yylhsminor.yy134, &yymsp[0].minor.yy0); }
- yymsp[0].minor.yy134 = yylhsminor.yy134;
+ case 120: /* tagitem ::= INTEGER */
+ case 121: /* tagitem ::= FLOAT */ yytestcase(yyruleno==121);
+ case 122: /* tagitem ::= STRING */ yytestcase(yyruleno==122);
+ case 123: /* tagitem ::= BOOL */ yytestcase(yyruleno==123);
+{toTSDBType(yymsp[0].minor.yy0.type); tVariantCreate(&yylhsminor.yy312, &yymsp[0].minor.yy0); }
+ yymsp[0].minor.yy312 = yylhsminor.yy312;
break;
- case 127: /* tagitem ::= NULL */
-{ yymsp[0].minor.yy0.type = 0; tVariantCreate(&yylhsminor.yy134, &yymsp[0].minor.yy0); }
- yymsp[0].minor.yy134 = yylhsminor.yy134;
+ case 124: /* tagitem ::= NULL */
+{ yymsp[0].minor.yy0.type = 0; tVariantCreate(&yylhsminor.yy312, &yymsp[0].minor.yy0); }
+ yymsp[0].minor.yy312 = yylhsminor.yy312;
break;
- case 128: /* tagitem ::= MINUS INTEGER */
- case 129: /* tagitem ::= MINUS FLOAT */ yytestcase(yyruleno==129);
- case 130: /* tagitem ::= PLUS INTEGER */ yytestcase(yyruleno==130);
- case 131: /* tagitem ::= PLUS FLOAT */ yytestcase(yyruleno==131);
+ case 125: /* tagitem ::= MINUS INTEGER */
+ case 126: /* tagitem ::= MINUS FLOAT */ yytestcase(yyruleno==126);
+ case 127: /* tagitem ::= PLUS INTEGER */ yytestcase(yyruleno==127);
+ case 128: /* tagitem ::= PLUS FLOAT */ yytestcase(yyruleno==128);
{
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.yy134, &yymsp[-1].minor.yy0);
+ tVariantCreate(&yylhsminor.yy312, &yymsp[-1].minor.yy0);
}
- yymsp[-1].minor.yy134 = yylhsminor.yy134;
+ yymsp[-1].minor.yy312 = yylhsminor.yy312;
break;
- case 132: /* select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
+ case 129: /* select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
{
- yylhsminor.yy414 = tSetQuerySQLElems(&yymsp[-11].minor.yy0, yymsp[-10].minor.yy290, yymsp[-9].minor.yy498, yymsp[-8].minor.yy64, yymsp[-4].minor.yy498, yymsp[-3].minor.yy498, &yymsp[-7].minor.yy0, &yymsp[-5].minor.yy0, yymsp[-6].minor.yy498, &yymsp[0].minor.yy216, &yymsp[-1].minor.yy216);
+ yylhsminor.yy150 = tSetQuerySQLElems(&yymsp[-11].minor.yy0, yymsp[-10].minor.yy224, yymsp[-9].minor.yy494, yymsp[-8].minor.yy66, yymsp[-4].minor.yy494, yymsp[-3].minor.yy494, &yymsp[-7].minor.yy0, &yymsp[-5].minor.yy0, yymsp[-6].minor.yy494, &yymsp[0].minor.yy188, &yymsp[-1].minor.yy188);
}
- yymsp[-11].minor.yy414 = yylhsminor.yy414;
+ yymsp[-11].minor.yy150 = yylhsminor.yy150;
break;
- case 133: /* union ::= select */
-{ yylhsminor.yy231 = setSubclause(NULL, yymsp[0].minor.yy414); }
- yymsp[0].minor.yy231 = yylhsminor.yy231;
+ case 130: /* union ::= select */
+{ yylhsminor.yy25 = setSubclause(NULL, yymsp[0].minor.yy150); }
+ yymsp[0].minor.yy25 = yylhsminor.yy25;
break;
- case 134: /* union ::= LP union RP */
-{ yymsp[-2].minor.yy231 = yymsp[-1].minor.yy231; }
+ case 131: /* union ::= LP union RP */
+{ yymsp[-2].minor.yy25 = yymsp[-1].minor.yy25; }
break;
- case 135: /* union ::= union UNION ALL select */
-{ yylhsminor.yy231 = appendSelectClause(yymsp[-3].minor.yy231, yymsp[0].minor.yy414); }
- yymsp[-3].minor.yy231 = yylhsminor.yy231;
+ case 132: /* union ::= union UNION ALL select */
+{ yylhsminor.yy25 = appendSelectClause(yymsp[-3].minor.yy25, yymsp[0].minor.yy150); }
+ yymsp[-3].minor.yy25 = yylhsminor.yy25;
break;
- case 136: /* union ::= union UNION ALL LP select RP */
-{ yylhsminor.yy231 = appendSelectClause(yymsp[-5].minor.yy231, yymsp[-1].minor.yy414); }
- yymsp[-5].minor.yy231 = yylhsminor.yy231;
+ case 133: /* union ::= union UNION ALL LP select RP */
+{ yylhsminor.yy25 = appendSelectClause(yymsp[-5].minor.yy25, yymsp[-1].minor.yy150); }
+ yymsp[-5].minor.yy25 = yylhsminor.yy25;
break;
- case 137: /* cmd ::= union */
-{ setSQLInfo(pInfo, yymsp[0].minor.yy231, NULL, TSDB_SQL_SELECT); }
+ case 134: /* cmd ::= union */
+{ setSQLInfo(pInfo, yymsp[0].minor.yy25, NULL, TSDB_SQL_SELECT); }
break;
- case 138: /* select ::= SELECT selcollist */
+ case 135: /* select ::= SELECT selcollist */
{
- yylhsminor.yy414 = tSetQuerySQLElems(&yymsp[-1].minor.yy0, yymsp[0].minor.yy290, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+ yylhsminor.yy150 = tSetQuerySQLElems(&yymsp[-1].minor.yy0, yymsp[0].minor.yy224, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
}
- yymsp[-1].minor.yy414 = yylhsminor.yy414;
+ yymsp[-1].minor.yy150 = yylhsminor.yy150;
break;
- case 139: /* sclp ::= selcollist COMMA */
-{yylhsminor.yy290 = yymsp[-1].minor.yy290;}
- yymsp[-1].minor.yy290 = yylhsminor.yy290;
+ case 136: /* sclp ::= selcollist COMMA */
+{yylhsminor.yy224 = yymsp[-1].minor.yy224;}
+ yymsp[-1].minor.yy224 = yylhsminor.yy224;
break;
- case 140: /* sclp ::= */
-{yymsp[1].minor.yy290 = 0;}
+ case 137: /* sclp ::= */
+{yymsp[1].minor.yy224 = 0;}
break;
- case 141: /* selcollist ::= sclp expr as */
+ case 138: /* selcollist ::= sclp expr as */
{
- yylhsminor.yy290 = tSQLExprListAppend(yymsp[-2].minor.yy290, yymsp[-1].minor.yy64, yymsp[0].minor.yy0.n?&yymsp[0].minor.yy0:0);
+ yylhsminor.yy224 = tSQLExprListAppend(yymsp[-2].minor.yy224, yymsp[-1].minor.yy66, yymsp[0].minor.yy0.n?&yymsp[0].minor.yy0:0);
}
- yymsp[-2].minor.yy290 = yylhsminor.yy290;
+ yymsp[-2].minor.yy224 = yylhsminor.yy224;
break;
- case 142: /* selcollist ::= sclp STAR */
+ case 139: /* selcollist ::= sclp STAR */
{
tSQLExpr *pNode = tSQLExprIdValueCreate(NULL, TK_ALL);
- yylhsminor.yy290 = tSQLExprListAppend(yymsp[-1].minor.yy290, pNode, 0);
+ yylhsminor.yy224 = tSQLExprListAppend(yymsp[-1].minor.yy224, pNode, 0);
}
- yymsp[-1].minor.yy290 = yylhsminor.yy290;
+ yymsp[-1].minor.yy224 = yylhsminor.yy224;
break;
- case 143: /* as ::= AS ids */
+ case 140: /* as ::= AS ids */
{ yymsp[-1].minor.yy0 = yymsp[0].minor.yy0; }
break;
- case 144: /* as ::= ids */
+ case 141: /* as ::= ids */
{ yylhsminor.yy0 = yymsp[0].minor.yy0; }
yymsp[0].minor.yy0 = yylhsminor.yy0;
break;
- case 145: /* as ::= */
+ case 142: /* as ::= */
{ yymsp[1].minor.yy0.n = 0; }
break;
- case 146: /* from ::= FROM tablelist */
-{yymsp[-1].minor.yy498 = yymsp[0].minor.yy498;}
+ case 143: /* from ::= FROM tablelist */
+{yymsp[-1].minor.yy494 = yymsp[0].minor.yy494;}
break;
- case 147: /* tablelist ::= ids cpxName */
+ case 144: /* tablelist ::= ids cpxName */
{
toTSDBType(yymsp[-1].minor.yy0.type);
yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n;
- yylhsminor.yy498 = tVariantListAppendToken(NULL, &yymsp[-1].minor.yy0, -1);
- yylhsminor.yy498 = tVariantListAppendToken(yylhsminor.yy498, &yymsp[-1].minor.yy0, -1); // table alias name
+ yylhsminor.yy494 = tVariantListAppendToken(NULL, &yymsp[-1].minor.yy0, -1);
+ yylhsminor.yy494 = tVariantListAppendToken(yylhsminor.yy494, &yymsp[-1].minor.yy0, -1); // table alias name
}
- yymsp[-1].minor.yy498 = yylhsminor.yy498;
+ yymsp[-1].minor.yy494 = yylhsminor.yy494;
break;
- case 148: /* tablelist ::= ids cpxName ids */
+ case 145: /* tablelist ::= ids cpxName ids */
{
toTSDBType(yymsp[-2].minor.yy0.type);
toTSDBType(yymsp[0].minor.yy0.type);
yymsp[-2].minor.yy0.n += yymsp[-1].minor.yy0.n;
- yylhsminor.yy498 = tVariantListAppendToken(NULL, &yymsp[-2].minor.yy0, -1);
- yylhsminor.yy498 = tVariantListAppendToken(yylhsminor.yy498, &yymsp[0].minor.yy0, -1);
+ yylhsminor.yy494 = tVariantListAppendToken(NULL, &yymsp[-2].minor.yy0, -1);
+ yylhsminor.yy494 = tVariantListAppendToken(yylhsminor.yy494, &yymsp[0].minor.yy0, -1);
}
- yymsp[-2].minor.yy498 = yylhsminor.yy498;
+ yymsp[-2].minor.yy494 = yylhsminor.yy494;
break;
- case 149: /* tablelist ::= tablelist COMMA ids cpxName */
+ case 146: /* tablelist ::= tablelist COMMA ids cpxName */
{
toTSDBType(yymsp[-1].minor.yy0.type);
yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n;
- yylhsminor.yy498 = tVariantListAppendToken(yymsp[-3].minor.yy498, &yymsp[-1].minor.yy0, -1);
- yylhsminor.yy498 = tVariantListAppendToken(yylhsminor.yy498, &yymsp[-1].minor.yy0, -1);
+ yylhsminor.yy494 = tVariantListAppendToken(yymsp[-3].minor.yy494, &yymsp[-1].minor.yy0, -1);
+ yylhsminor.yy494 = tVariantListAppendToken(yylhsminor.yy494, &yymsp[-1].minor.yy0, -1);
}
- yymsp[-3].minor.yy498 = yylhsminor.yy498;
+ yymsp[-3].minor.yy494 = yylhsminor.yy494;
break;
- case 150: /* tablelist ::= tablelist COMMA ids cpxName ids */
+ case 147: /* tablelist ::= tablelist COMMA ids cpxName ids */
{
toTSDBType(yymsp[-2].minor.yy0.type);
toTSDBType(yymsp[0].minor.yy0.type);
yymsp[-2].minor.yy0.n += yymsp[-1].minor.yy0.n;
- yylhsminor.yy498 = tVariantListAppendToken(yymsp[-4].minor.yy498, &yymsp[-2].minor.yy0, -1);
- yylhsminor.yy498 = tVariantListAppendToken(yylhsminor.yy498, &yymsp[0].minor.yy0, -1);
+ yylhsminor.yy494 = tVariantListAppendToken(yymsp[-4].minor.yy494, &yymsp[-2].minor.yy0, -1);
+ yylhsminor.yy494 = tVariantListAppendToken(yylhsminor.yy494, &yymsp[0].minor.yy0, -1);
}
- yymsp[-4].minor.yy498 = yylhsminor.yy498;
+ yymsp[-4].minor.yy494 = yylhsminor.yy494;
break;
- case 151: /* tmvar ::= VARIABLE */
+ case 148: /* tmvar ::= VARIABLE */
{yylhsminor.yy0 = yymsp[0].minor.yy0;}
yymsp[0].minor.yy0 = yylhsminor.yy0;
break;
- case 152: /* interval_opt ::= INTERVAL LP tmvar RP */
- case 157: /* sliding_opt ::= SLIDING LP tmvar RP */ yytestcase(yyruleno==157);
+ case 149: /* interval_opt ::= INTERVAL LP tmvar RP */
+ case 154: /* sliding_opt ::= SLIDING LP tmvar RP */ yytestcase(yyruleno==154);
{yymsp[-3].minor.yy0 = yymsp[-1].minor.yy0; }
break;
- case 153: /* interval_opt ::= */
- case 158: /* sliding_opt ::= */ yytestcase(yyruleno==158);
+ case 150: /* interval_opt ::= */
+ case 155: /* sliding_opt ::= */ yytestcase(yyruleno==155);
{yymsp[1].minor.yy0.n = 0; yymsp[1].minor.yy0.z = NULL; yymsp[1].minor.yy0.type = 0; }
break;
- case 154: /* fill_opt ::= */
-{yymsp[1].minor.yy498 = 0; }
+ case 151: /* fill_opt ::= */
+{yymsp[1].minor.yy494 = 0; }
break;
- case 155: /* fill_opt ::= FILL LP ID COMMA tagitemlist RP */
+ case 152: /* fill_opt ::= FILL LP ID COMMA tagitemlist RP */
{
tVariant A = {0};
toTSDBType(yymsp[-3].minor.yy0.type);
tVariantCreate(&A, &yymsp[-3].minor.yy0);
- tVariantListInsert(yymsp[-1].minor.yy498, &A, -1, 0);
- yymsp[-5].minor.yy498 = yymsp[-1].minor.yy498;
+ tVariantListInsert(yymsp[-1].minor.yy494, &A, -1, 0);
+ yymsp[-5].minor.yy494 = yymsp[-1].minor.yy494;
}
break;
- case 156: /* fill_opt ::= FILL LP ID RP */
+ case 153: /* fill_opt ::= FILL LP ID RP */
{
toTSDBType(yymsp[-1].minor.yy0.type);
- yymsp[-3].minor.yy498 = tVariantListAppendToken(NULL, &yymsp[-1].minor.yy0, -1);
+ yymsp[-3].minor.yy494 = tVariantListAppendToken(NULL, &yymsp[-1].minor.yy0, -1);
}
break;
- case 159: /* orderby_opt ::= */
- case 167: /* groupby_opt ::= */ yytestcase(yyruleno==167);
-{yymsp[1].minor.yy498 = 0;}
+ case 156: /* orderby_opt ::= */
+ case 164: /* groupby_opt ::= */ yytestcase(yyruleno==164);
+{yymsp[1].minor.yy494 = 0;}
break;
- case 160: /* orderby_opt ::= ORDER BY sortlist */
- case 168: /* groupby_opt ::= GROUP BY grouplist */ yytestcase(yyruleno==168);
-{yymsp[-2].minor.yy498 = yymsp[0].minor.yy498;}
+ case 157: /* orderby_opt ::= ORDER BY sortlist */
+ case 165: /* groupby_opt ::= GROUP BY grouplist */ yytestcase(yyruleno==165);
+{yymsp[-2].minor.yy494 = yymsp[0].minor.yy494;}
break;
- case 161: /* sortlist ::= sortlist COMMA item sortorder */
+ case 158: /* sortlist ::= sortlist COMMA item sortorder */
{
- yylhsminor.yy498 = tVariantListAppend(yymsp[-3].minor.yy498, &yymsp[-1].minor.yy134, yymsp[0].minor.yy46);
+ yylhsminor.yy494 = tVariantListAppend(yymsp[-3].minor.yy494, &yymsp[-1].minor.yy312, yymsp[0].minor.yy82);
}
- yymsp[-3].minor.yy498 = yylhsminor.yy498;
+ yymsp[-3].minor.yy494 = yylhsminor.yy494;
break;
- case 162: /* sortlist ::= item sortorder */
+ case 159: /* sortlist ::= item sortorder */
{
- yylhsminor.yy498 = tVariantListAppend(NULL, &yymsp[-1].minor.yy134, yymsp[0].minor.yy46);
+ yylhsminor.yy494 = tVariantListAppend(NULL, &yymsp[-1].minor.yy312, yymsp[0].minor.yy82);
}
- yymsp[-1].minor.yy498 = yylhsminor.yy498;
+ yymsp[-1].minor.yy494 = yylhsminor.yy494;
break;
- case 163: /* item ::= ids cpxName */
+ case 160: /* item ::= ids cpxName */
{
toTSDBType(yymsp[-1].minor.yy0.type);
yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n;
- tVariantCreate(&yylhsminor.yy134, &yymsp[-1].minor.yy0);
+ tVariantCreate(&yylhsminor.yy312, &yymsp[-1].minor.yy0);
}
- yymsp[-1].minor.yy134 = yylhsminor.yy134;
+ yymsp[-1].minor.yy312 = yylhsminor.yy312;
break;
- case 164: /* sortorder ::= ASC */
-{yymsp[0].minor.yy46 = TSDB_ORDER_ASC; }
+ case 161: /* sortorder ::= ASC */
+{yymsp[0].minor.yy82 = TSDB_ORDER_ASC; }
break;
- case 165: /* sortorder ::= DESC */
-{yymsp[0].minor.yy46 = TSDB_ORDER_DESC;}
+ case 162: /* sortorder ::= DESC */
+{yymsp[0].minor.yy82 = TSDB_ORDER_DESC;}
break;
- case 166: /* sortorder ::= */
-{yymsp[1].minor.yy46 = TSDB_ORDER_ASC;}
+ case 163: /* sortorder ::= */
+{yymsp[1].minor.yy82 = TSDB_ORDER_ASC;}
break;
- case 169: /* grouplist ::= grouplist COMMA item */
+ case 166: /* grouplist ::= grouplist COMMA item */
{
- yylhsminor.yy498 = tVariantListAppend(yymsp[-2].minor.yy498, &yymsp[0].minor.yy134, -1);
+ yylhsminor.yy494 = tVariantListAppend(yymsp[-2].minor.yy494, &yymsp[0].minor.yy312, -1);
}
- yymsp[-2].minor.yy498 = yylhsminor.yy498;
+ yymsp[-2].minor.yy494 = yylhsminor.yy494;
break;
- case 170: /* grouplist ::= item */
+ case 167: /* grouplist ::= item */
{
- yylhsminor.yy498 = tVariantListAppend(NULL, &yymsp[0].minor.yy134, -1);
+ yylhsminor.yy494 = tVariantListAppend(NULL, &yymsp[0].minor.yy312, -1);
}
- yymsp[0].minor.yy498 = yylhsminor.yy498;
+ yymsp[0].minor.yy494 = yylhsminor.yy494;
break;
- case 171: /* having_opt ::= */
- case 181: /* where_opt ::= */ yytestcase(yyruleno==181);
- case 217: /* expritem ::= */ yytestcase(yyruleno==217);
-{yymsp[1].minor.yy64 = 0;}
+ case 168: /* having_opt ::= */
+ case 178: /* where_opt ::= */ yytestcase(yyruleno==178);
+ case 214: /* expritem ::= */ yytestcase(yyruleno==214);
+{yymsp[1].minor.yy66 = 0;}
break;
- case 172: /* having_opt ::= HAVING expr */
- case 182: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==182);
-{yymsp[-1].minor.yy64 = yymsp[0].minor.yy64;}
+ case 169: /* having_opt ::= HAVING expr */
+ case 179: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==179);
+{yymsp[-1].minor.yy66 = yymsp[0].minor.yy66;}
break;
- case 173: /* limit_opt ::= */
- case 177: /* slimit_opt ::= */ yytestcase(yyruleno==177);
-{yymsp[1].minor.yy216.limit = -1; yymsp[1].minor.yy216.offset = 0;}
+ case 170: /* limit_opt ::= */
+ case 174: /* slimit_opt ::= */ yytestcase(yyruleno==174);
+{yymsp[1].minor.yy188.limit = -1; yymsp[1].minor.yy188.offset = 0;}
break;
- case 174: /* limit_opt ::= LIMIT signed */
- case 178: /* slimit_opt ::= SLIMIT signed */ yytestcase(yyruleno==178);
-{yymsp[-1].minor.yy216.limit = yymsp[0].minor.yy207; yymsp[-1].minor.yy216.offset = 0;}
+ case 171: /* limit_opt ::= LIMIT signed */
+ case 175: /* slimit_opt ::= SLIMIT signed */ yytestcase(yyruleno==175);
+{yymsp[-1].minor.yy188.limit = yymsp[0].minor.yy271; yymsp[-1].minor.yy188.offset = 0;}
break;
- case 175: /* limit_opt ::= LIMIT signed OFFSET signed */
- case 179: /* slimit_opt ::= SLIMIT signed SOFFSET signed */ yytestcase(yyruleno==179);
-{yymsp[-3].minor.yy216.limit = yymsp[-2].minor.yy207; yymsp[-3].minor.yy216.offset = yymsp[0].minor.yy207;}
+ case 172: /* limit_opt ::= LIMIT signed OFFSET signed */
+ case 176: /* slimit_opt ::= SLIMIT signed SOFFSET signed */ yytestcase(yyruleno==176);
+{yymsp[-3].minor.yy188.limit = yymsp[-2].minor.yy271; yymsp[-3].minor.yy188.offset = yymsp[0].minor.yy271;}
break;
- case 176: /* limit_opt ::= LIMIT signed COMMA signed */
- case 180: /* slimit_opt ::= SLIMIT signed COMMA signed */ yytestcase(yyruleno==180);
-{yymsp[-3].minor.yy216.limit = yymsp[0].minor.yy207; yymsp[-3].minor.yy216.offset = yymsp[-2].minor.yy207;}
+ case 173: /* limit_opt ::= LIMIT signed COMMA signed */
+ case 177: /* slimit_opt ::= SLIMIT signed COMMA signed */ yytestcase(yyruleno==177);
+{yymsp[-3].minor.yy188.limit = yymsp[0].minor.yy271; yymsp[-3].minor.yy188.offset = yymsp[-2].minor.yy271;}
break;
- case 183: /* expr ::= LP expr RP */
-{yymsp[-2].minor.yy64 = yymsp[-1].minor.yy64; }
+ case 180: /* expr ::= LP expr RP */
+{yymsp[-2].minor.yy66 = yymsp[-1].minor.yy66; }
break;
- case 184: /* expr ::= ID */
-{yylhsminor.yy64 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_ID);}
- yymsp[0].minor.yy64 = yylhsminor.yy64;
+ case 181: /* expr ::= ID */
+{yylhsminor.yy66 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_ID);}
+ yymsp[0].minor.yy66 = yylhsminor.yy66;
break;
- case 185: /* expr ::= ID DOT ID */
-{yymsp[-2].minor.yy0.n += (1+yymsp[0].minor.yy0.n); yylhsminor.yy64 = tSQLExprIdValueCreate(&yymsp[-2].minor.yy0, TK_ID);}
- yymsp[-2].minor.yy64 = yylhsminor.yy64;
+ case 182: /* expr ::= ID DOT ID */
+{yymsp[-2].minor.yy0.n += (1+yymsp[0].minor.yy0.n); yylhsminor.yy66 = tSQLExprIdValueCreate(&yymsp[-2].minor.yy0, TK_ID);}
+ yymsp[-2].minor.yy66 = yylhsminor.yy66;
break;
- case 186: /* expr ::= ID DOT STAR */
-{yymsp[-2].minor.yy0.n += (1+yymsp[0].minor.yy0.n); yylhsminor.yy64 = tSQLExprIdValueCreate(&yymsp[-2].minor.yy0, TK_ALL);}
- yymsp[-2].minor.yy64 = yylhsminor.yy64;
+ case 183: /* expr ::= ID DOT STAR */
+{yymsp[-2].minor.yy0.n += (1+yymsp[0].minor.yy0.n); yylhsminor.yy66 = tSQLExprIdValueCreate(&yymsp[-2].minor.yy0, TK_ALL);}
+ yymsp[-2].minor.yy66 = yylhsminor.yy66;
break;
- case 187: /* expr ::= INTEGER */
-{yylhsminor.yy64 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_INTEGER);}
- yymsp[0].minor.yy64 = yylhsminor.yy64;
+ case 184: /* expr ::= INTEGER */
+{yylhsminor.yy66 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_INTEGER);}
+ yymsp[0].minor.yy66 = yylhsminor.yy66;
break;
- case 188: /* expr ::= MINUS INTEGER */
- case 189: /* expr ::= PLUS INTEGER */ yytestcase(yyruleno==189);
-{yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_INTEGER; yylhsminor.yy64 = tSQLExprIdValueCreate(&yymsp[-1].minor.yy0, TK_INTEGER);}
- yymsp[-1].minor.yy64 = yylhsminor.yy64;
+ case 185: /* expr ::= MINUS INTEGER */
+ case 186: /* expr ::= PLUS INTEGER */ yytestcase(yyruleno==186);
+{yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_INTEGER; yylhsminor.yy66 = tSQLExprIdValueCreate(&yymsp[-1].minor.yy0, TK_INTEGER);}
+ yymsp[-1].minor.yy66 = yylhsminor.yy66;
break;
- case 190: /* expr ::= FLOAT */
-{yylhsminor.yy64 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_FLOAT);}
- yymsp[0].minor.yy64 = yylhsminor.yy64;
+ case 187: /* expr ::= FLOAT */
+{yylhsminor.yy66 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_FLOAT);}
+ yymsp[0].minor.yy66 = yylhsminor.yy66;
break;
- case 191: /* expr ::= MINUS FLOAT */
- case 192: /* expr ::= PLUS FLOAT */ yytestcase(yyruleno==192);
-{yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_FLOAT; yylhsminor.yy64 = tSQLExprIdValueCreate(&yymsp[-1].minor.yy0, TK_FLOAT);}
- yymsp[-1].minor.yy64 = yylhsminor.yy64;
+ case 188: /* expr ::= MINUS FLOAT */
+ case 189: /* expr ::= PLUS FLOAT */ yytestcase(yyruleno==189);
+{yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_FLOAT; yylhsminor.yy66 = tSQLExprIdValueCreate(&yymsp[-1].minor.yy0, TK_FLOAT);}
+ yymsp[-1].minor.yy66 = yylhsminor.yy66;
break;
- case 193: /* expr ::= STRING */
-{yylhsminor.yy64 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_STRING);}
- yymsp[0].minor.yy64 = yylhsminor.yy64;
+ case 190: /* expr ::= STRING */
+{yylhsminor.yy66 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_STRING);}
+ yymsp[0].minor.yy66 = yylhsminor.yy66;
break;
- case 194: /* expr ::= NOW */
-{yylhsminor.yy64 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_NOW); }
- yymsp[0].minor.yy64 = yylhsminor.yy64;
+ case 191: /* expr ::= NOW */
+{yylhsminor.yy66 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_NOW); }
+ yymsp[0].minor.yy66 = yylhsminor.yy66;
break;
- case 195: /* expr ::= VARIABLE */
-{yylhsminor.yy64 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_VARIABLE);}
- yymsp[0].minor.yy64 = yylhsminor.yy64;
+ case 192: /* expr ::= VARIABLE */
+{yylhsminor.yy66 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_VARIABLE);}
+ yymsp[0].minor.yy66 = yylhsminor.yy66;
break;
- case 196: /* expr ::= BOOL */
-{yylhsminor.yy64 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_BOOL);}
- yymsp[0].minor.yy64 = yylhsminor.yy64;
+ case 193: /* expr ::= BOOL */
+{yylhsminor.yy66 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_BOOL);}
+ yymsp[0].minor.yy66 = yylhsminor.yy66;
break;
- case 197: /* expr ::= ID LP exprlist RP */
+ case 194: /* expr ::= ID LP exprlist RP */
{
- yylhsminor.yy64 = tSQLExprCreateFunction(yymsp[-1].minor.yy290, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, yymsp[-3].minor.yy0.type);
+ yylhsminor.yy66 = tSQLExprCreateFunction(yymsp[-1].minor.yy224, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, yymsp[-3].minor.yy0.type);
}
- yymsp[-3].minor.yy64 = yylhsminor.yy64;
+ yymsp[-3].minor.yy66 = yylhsminor.yy66;
break;
- case 198: /* expr ::= ID LP STAR RP */
+ case 195: /* expr ::= ID LP STAR RP */
{
- yylhsminor.yy64 = tSQLExprCreateFunction(NULL, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, yymsp[-3].minor.yy0.type);
+ yylhsminor.yy66 = tSQLExprCreateFunction(NULL, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, yymsp[-3].minor.yy0.type);
}
- yymsp[-3].minor.yy64 = yylhsminor.yy64;
+ yymsp[-3].minor.yy66 = yylhsminor.yy66;
break;
- case 199: /* expr ::= expr AND expr */
-{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_AND);}
- yymsp[-2].minor.yy64 = yylhsminor.yy64;
+ case 196: /* expr ::= expr AND expr */
+{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_AND);}
+ yymsp[-2].minor.yy66 = yylhsminor.yy66;
break;
- case 200: /* expr ::= expr OR expr */
-{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_OR); }
- yymsp[-2].minor.yy64 = yylhsminor.yy64;
+ case 197: /* expr ::= expr OR expr */
+{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_OR); }
+ yymsp[-2].minor.yy66 = yylhsminor.yy66;
break;
- case 201: /* expr ::= expr LT expr */
-{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_LT);}
- yymsp[-2].minor.yy64 = yylhsminor.yy64;
+ case 198: /* expr ::= expr LT expr */
+{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_LT);}
+ yymsp[-2].minor.yy66 = yylhsminor.yy66;
break;
- case 202: /* expr ::= expr GT expr */
-{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_GT);}
- yymsp[-2].minor.yy64 = yylhsminor.yy64;
+ case 199: /* expr ::= expr GT expr */
+{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_GT);}
+ yymsp[-2].minor.yy66 = yylhsminor.yy66;
break;
- case 203: /* expr ::= expr LE expr */
-{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_LE);}
- yymsp[-2].minor.yy64 = yylhsminor.yy64;
+ case 200: /* expr ::= expr LE expr */
+{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_LE);}
+ yymsp[-2].minor.yy66 = yylhsminor.yy66;
break;
- case 204: /* expr ::= expr GE expr */
-{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_GE);}
- yymsp[-2].minor.yy64 = yylhsminor.yy64;
+ case 201: /* expr ::= expr GE expr */
+{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_GE);}
+ yymsp[-2].minor.yy66 = yylhsminor.yy66;
break;
- case 205: /* expr ::= expr NE expr */
-{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_NE);}
- yymsp[-2].minor.yy64 = yylhsminor.yy64;
+ case 202: /* expr ::= expr NE expr */
+{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_NE);}
+ yymsp[-2].minor.yy66 = yylhsminor.yy66;
break;
- case 206: /* expr ::= expr EQ expr */
-{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_EQ);}
- yymsp[-2].minor.yy64 = yylhsminor.yy64;
+ case 203: /* expr ::= expr EQ expr */
+{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_EQ);}
+ yymsp[-2].minor.yy66 = yylhsminor.yy66;
break;
- case 207: /* expr ::= expr PLUS expr */
-{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_PLUS); }
- yymsp[-2].minor.yy64 = yylhsminor.yy64;
+ case 204: /* expr ::= expr PLUS expr */
+{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_PLUS); }
+ yymsp[-2].minor.yy66 = yylhsminor.yy66;
break;
- case 208: /* expr ::= expr MINUS expr */
-{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_MINUS); }
- yymsp[-2].minor.yy64 = yylhsminor.yy64;
+ case 205: /* expr ::= expr MINUS expr */
+{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_MINUS); }
+ yymsp[-2].minor.yy66 = yylhsminor.yy66;
break;
- case 209: /* expr ::= expr STAR expr */
-{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_STAR); }
- yymsp[-2].minor.yy64 = yylhsminor.yy64;
+ case 206: /* expr ::= expr STAR expr */
+{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_STAR); }
+ yymsp[-2].minor.yy66 = yylhsminor.yy66;
break;
- case 210: /* expr ::= expr SLASH expr */
-{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_DIVIDE);}
- yymsp[-2].minor.yy64 = yylhsminor.yy64;
+ case 207: /* expr ::= expr SLASH expr */
+{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_DIVIDE);}
+ yymsp[-2].minor.yy66 = yylhsminor.yy66;
break;
- case 211: /* expr ::= expr REM expr */
-{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_REM); }
- yymsp[-2].minor.yy64 = yylhsminor.yy64;
+ case 208: /* expr ::= expr REM expr */
+{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_REM); }
+ yymsp[-2].minor.yy66 = yylhsminor.yy66;
break;
- case 212: /* expr ::= expr LIKE expr */
-{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_LIKE); }
- yymsp[-2].minor.yy64 = yylhsminor.yy64;
+ case 209: /* expr ::= expr LIKE expr */
+{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_LIKE); }
+ yymsp[-2].minor.yy66 = yylhsminor.yy66;
break;
- case 213: /* expr ::= expr IN LP exprlist RP */
-{yylhsminor.yy64 = tSQLExprCreate(yymsp[-4].minor.yy64, (tSQLExpr*)yymsp[-1].minor.yy290, TK_IN); }
- yymsp[-4].minor.yy64 = yylhsminor.yy64;
+ case 210: /* expr ::= expr IN LP exprlist RP */
+{yylhsminor.yy66 = tSQLExprCreate(yymsp[-4].minor.yy66, (tSQLExpr*)yymsp[-1].minor.yy224, TK_IN); }
+ yymsp[-4].minor.yy66 = yylhsminor.yy66;
break;
- case 214: /* exprlist ::= exprlist COMMA expritem */
-{yylhsminor.yy290 = tSQLExprListAppend(yymsp[-2].minor.yy290,yymsp[0].minor.yy64,0);}
- yymsp[-2].minor.yy290 = yylhsminor.yy290;
+ case 211: /* exprlist ::= exprlist COMMA expritem */
+{yylhsminor.yy224 = tSQLExprListAppend(yymsp[-2].minor.yy224,yymsp[0].minor.yy66,0);}
+ yymsp[-2].minor.yy224 = yylhsminor.yy224;
break;
- case 215: /* exprlist ::= expritem */
-{yylhsminor.yy290 = tSQLExprListAppend(0,yymsp[0].minor.yy64,0);}
- yymsp[0].minor.yy290 = yylhsminor.yy290;
+ case 212: /* exprlist ::= expritem */
+{yylhsminor.yy224 = tSQLExprListAppend(0,yymsp[0].minor.yy66,0);}
+ yymsp[0].minor.yy224 = yylhsminor.yy224;
break;
- case 216: /* expritem ::= expr */
-{yylhsminor.yy64 = yymsp[0].minor.yy64;}
- yymsp[0].minor.yy64 = yylhsminor.yy64;
+ case 213: /* expritem ::= expr */
+{yylhsminor.yy66 = yymsp[0].minor.yy66;}
+ yymsp[0].minor.yy66 = yylhsminor.yy66;
break;
- case 218: /* cmd ::= RESET QUERY CACHE */
+ case 215: /* cmd ::= RESET QUERY CACHE */
{ setDCLSQLElems(pInfo, TSDB_SQL_RESET_CACHE, 0);}
break;
- case 219: /* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
+ case 216: /* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
{
yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n;
- SAlterTableSQL* pAlterTable = tAlterTableSQLElems(&yymsp[-4].minor.yy0, yymsp[0].minor.yy523, NULL, TSDB_ALTER_TABLE_ADD_COLUMN);
+ SAlterTableSQL* pAlterTable = tAlterTableSQLElems(&yymsp[-4].minor.yy0, yymsp[0].minor.yy449, NULL, TSDB_ALTER_TABLE_ADD_COLUMN);
setSQLInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
break;
- case 220: /* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
+ case 217: /* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
{
yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n;
@@ -2764,14 +2747,14 @@ static void yy_reduce(
setSQLInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
break;
- case 221: /* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
+ case 218: /* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
{
yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n;
- SAlterTableSQL* pAlterTable = tAlterTableSQLElems(&yymsp[-4].minor.yy0, yymsp[0].minor.yy523, NULL, TSDB_ALTER_TABLE_ADD_TAG_COLUMN);
+ SAlterTableSQL* pAlterTable = tAlterTableSQLElems(&yymsp[-4].minor.yy0, yymsp[0].minor.yy449, NULL, TSDB_ALTER_TABLE_ADD_TAG_COLUMN);
setSQLInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
break;
- case 222: /* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
+ case 219: /* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
{
yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n;
@@ -2782,7 +2765,7 @@ static void yy_reduce(
setSQLInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
break;
- case 223: /* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
+ case 220: /* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
{
yymsp[-5].minor.yy0.n += yymsp[-4].minor.yy0.n;
@@ -2796,25 +2779,25 @@ static void yy_reduce(
setSQLInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
break;
- case 224: /* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
+ case 221: /* 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);
tVariantList* A = tVariantListAppendToken(NULL, &yymsp[-2].minor.yy0, -1);
- A = tVariantListAppend(A, &yymsp[0].minor.yy134, -1);
+ A = tVariantListAppend(A, &yymsp[0].minor.yy312, -1);
SAlterTableSQL* pAlterTable = tAlterTableSQLElems(&yymsp[-6].minor.yy0, NULL, A, TSDB_ALTER_TABLE_UPDATE_TAG_VAL);
setSQLInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
break;
- case 225: /* cmd ::= KILL CONNECTION INTEGER */
+ case 222: /* cmd ::= KILL CONNECTION INTEGER */
{setKillSQL(pInfo, TSDB_SQL_KILL_CONNECTION, &yymsp[0].minor.yy0);}
break;
- case 226: /* cmd ::= KILL STREAM INTEGER COLON INTEGER */
+ case 223: /* 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 227: /* cmd ::= KILL QUERY INTEGER COLON INTEGER */
+ case 224: /* 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:
diff --git a/src/tsdb/src/tsdbRead.c b/src/tsdb/src/tsdbRead.c
index ac7eba72b2e2bd308bf5f2f513edda73100073c9..506d185d1cfb5cbcfef9ad2e7d5ba8a9eba0367d 100644
--- a/src/tsdb/src/tsdbRead.c
+++ b/src/tsdb/src/tsdbRead.c
@@ -734,6 +734,11 @@ static int32_t doLoadFileDataBlock(STsdbQueryHandle* pQueryHandle, SCompBlock* p
return TSDB_CODE_SUCCESS;
}
+static int32_t doCopyRowsFromFileBlock(STsdbQueryHandle* pQueryHandle, int32_t capacity, int32_t numOfRows, int32_t start, int32_t end);
+static void moveDataToFront(STsdbQueryHandle* pQueryHandle, int32_t numOfRows, int32_t numOfCols);
+static void doCheckGeneratedBlockRange(STsdbQueryHandle* pQueryHandle);
+static void copyAllRemainRowsFromFileBlock(STsdbQueryHandle* pQueryHandle, STableCheckInfo* pCheckInfo, SDataBlockInfo* pBlockInfo, int32_t endPos);
+
static int32_t handleDataMergeIfNeeded(STsdbQueryHandle* pQueryHandle, SCompBlock* pBlock, STableCheckInfo* pCheckInfo){
SQueryFilePos* cur = &pQueryHandle->cur;
SDataBlockInfo binfo = GET_FILE_DATA_BLOCK_INFO(pCheckInfo, pBlock);
@@ -742,11 +747,11 @@ static int32_t handleDataMergeIfNeeded(STsdbQueryHandle* pQueryHandle, SCompBloc
/*bool hasData = */ initTableMemIterator(pQueryHandle, pCheckInfo);
SDataRow row = getSDataRowInTableMem(pCheckInfo, pQueryHandle->order);
+ assert(cur->pos >= 0 && cur->pos <= binfo.rows);
+
TSKEY key = (row != NULL)? dataRowKey(row):TSKEY_INITIAL_VAL;
tsdbDebug("%p key in mem:%"PRId64", %p", pQueryHandle, key, pQueryHandle->qinfo);
- cur->pos = ASCENDING_TRAVERSE(pQueryHandle->order)? 0:(binfo.rows-1);
-
if ((ASCENDING_TRAVERSE(pQueryHandle->order) && (key != TSKEY_INITIAL_VAL && key <= binfo.window.ekey)) ||
(!ASCENDING_TRAVERSE(pQueryHandle->order) && (key != TSKEY_INITIAL_VAL && key >= binfo.window.skey))) {
@@ -785,14 +790,32 @@ static int32_t handleDataMergeIfNeeded(STsdbQueryHandle* pQueryHandle, SCompBloc
* Here the buffer is not enough, so only part of file block can be loaded into memory buffer
*/
assert(pQueryHandle->outputCapacity >= binfo.rows);
- pQueryHandle->realNumOfRows = binfo.rows;
- cur->rows = binfo.rows;
- cur->win = binfo.window;
- cur->mixBlock = false;
- cur->blockCompleted = true;
- cur->lastKey = binfo.window.ekey + (ASCENDING_TRAVERSE(pQueryHandle->order)? 1:-1);
- pCheckInfo->lastKey = cur->lastKey;
+ if ((cur->pos == 0 && ASCENDING_TRAVERSE(pQueryHandle->order)) ||
+ (cur->pos == (binfo.rows - 1) && (!ASCENDING_TRAVERSE(pQueryHandle->order)))) {
+ pQueryHandle->realNumOfRows = binfo.rows;
+
+ cur->rows = binfo.rows;
+ cur->win = binfo.window;
+ cur->mixBlock = false;
+ cur->blockCompleted = true;
+
+ if (ASCENDING_TRAVERSE(pQueryHandle->order)) {
+ cur->lastKey = binfo.window.ekey + 1;
+ cur->pos = binfo.rows;
+ } else {
+ cur->lastKey = binfo.window.skey - 1;
+ cur->pos = -1;
+ }
+ } else { // partially copy to dest buffer
+ int32_t endPos = ASCENDING_TRAVERSE(pQueryHandle->order)? (binfo.rows - 1): 0;
+ copyAllRemainRowsFromFileBlock(pQueryHandle, pCheckInfo, &binfo, endPos);
+ cur->mixBlock = true;
+ }
+
+ assert(cur->blockCompleted);
+ tsdbDebug("create data block from remain file block, brange:%"PRId64"-%"PRId64", rows:%d, lastKey:%"PRId64", %p",
+ cur->win.skey, cur->win.ekey, cur->rows, cur->lastKey, pQueryHandle);
}
return code;
@@ -823,6 +846,7 @@ static int32_t loadFileDataBlock(STsdbQueryHandle* pQueryHandle, SCompBlock* pBl
assert(pCheckInfo->lastKey <= pBlock->keyLast);
doMergeTwoLevelData(pQueryHandle, pCheckInfo, pBlock);
} else { // the whole block is loaded in to buffer
+ cur->pos = ASCENDING_TRAVERSE(pQueryHandle->order)? 0:(pBlock->numOfRows - 1);
code = handleDataMergeIfNeeded(pQueryHandle, pBlock, pCheckInfo);
}
} else { //desc order, query ended in current block
@@ -842,6 +866,7 @@ static int32_t loadFileDataBlock(STsdbQueryHandle* pQueryHandle, SCompBlock* pBl
assert(pCheckInfo->lastKey >= pBlock->keyFirst);
doMergeTwoLevelData(pQueryHandle, pCheckInfo, pBlock);
} else {
+ cur->pos = ASCENDING_TRAVERSE(pQueryHandle->order)? 0:(pBlock->numOfRows-1);
code = handleDataMergeIfNeeded(pQueryHandle, pBlock, pCheckInfo);
}
}
@@ -912,7 +937,7 @@ static int doBinarySearchKey(char* pValue, int num, TSKEY key, int order) {
return midPos;
}
-static int32_t copyDataFromFileBlock(STsdbQueryHandle* pQueryHandle, int32_t capacity, int32_t numOfRows, int32_t start, int32_t end) {
+int32_t doCopyRowsFromFileBlock(STsdbQueryHandle* pQueryHandle, int32_t capacity, int32_t numOfRows, int32_t start, int32_t end) {
char* pData = NULL;
int32_t step = ASCENDING_TRAVERSE(pQueryHandle->order)? 1 : -1;
@@ -1137,6 +1162,47 @@ static void doCheckGeneratedBlockRange(STsdbQueryHandle* pQueryHandle) {
}
}
+static void copyAllRemainRowsFromFileBlock(STsdbQueryHandle* pQueryHandle, STableCheckInfo* pCheckInfo, SDataBlockInfo* pBlockInfo, int32_t endPos) {
+ SQueryFilePos* cur = &pQueryHandle->cur;
+
+ SDataCols* pCols = pQueryHandle->rhelper.pDataCols[0];
+ TSKEY* tsArray = pCols->cols[0].pData;
+
+ int32_t step = ASCENDING_TRAVERSE(pQueryHandle->order)? 1:-1;
+ int32_t numOfCols = (int32_t)(QH_GET_NUM_OF_COLS(pQueryHandle));
+
+ int32_t pos = cur->pos;
+
+ int32_t start = cur->pos;
+ int32_t end = endPos;
+
+ if (!ASCENDING_TRAVERSE(pQueryHandle->order)) {
+ assert(start >= end);
+ SWAP(start, end, int32_t);
+ }
+
+ assert(pQueryHandle->outputCapacity >= (end - start + 1));
+ int32_t numOfRows = doCopyRowsFromFileBlock(pQueryHandle, pQueryHandle->outputCapacity, 0, start, end);
+
+ // the time window should always be ascending order: skey <= ekey
+ cur->win = (STimeWindow) {.skey = tsArray[start], .ekey = tsArray[end]};
+ cur->mixBlock = (start > 0 && end < pBlockInfo->rows - 1);
+ cur->lastKey = tsArray[endPos] + step;
+ cur->blockCompleted = true;
+
+ // if the buffer is not full in case of descending order query, move the data in the front of the buffer
+ moveDataToFront(pQueryHandle, numOfRows, numOfCols);
+
+ // The value of pos may be -1 or pBlockInfo->rows, and it is invalid in both cases.
+ pos = endPos + step;
+ updateInfoAfterMerge(pQueryHandle, pCheckInfo, numOfRows, pos);
+ doCheckGeneratedBlockRange(pQueryHandle);
+
+ tsdbDebug("%p uid:%" PRIu64",tid:%d data block created, mixblock:%d, brange:%"PRIu64"-%"PRIu64" rows:%d, %p",
+ pQueryHandle, pCheckInfo->tableId.uid, pCheckInfo->tableId.tid, cur->mixBlock, cur->win.skey,
+ cur->win.ekey, cur->rows, pQueryHandle->qinfo);
+}
+
// only return the qualified data to client in terms of query time window, data rows in the same block but do not
// be included in the query time window will be discarded
static void doMergeTwoLevelData(STsdbQueryHandle* pQueryHandle, STableCheckInfo* pCheckInfo, SCompBlock* pBlock) {
@@ -1179,37 +1245,13 @@ static void doMergeTwoLevelData(STsdbQueryHandle* pQueryHandle, STableCheckInfo*
// compared with the data from in-memory buffer, to generate the correct timestamp array list
int32_t numOfRows = 0;
+
int32_t pos = cur->pos;
cur->win = TSWINDOW_INITIALIZER;
// no data in buffer, load data from file directly
if (pCheckInfo->iiter == NULL && pCheckInfo->iter == NULL) {
- int32_t start = cur->pos;
- int32_t end = endPos;
-
- if (!ASCENDING_TRAVERSE(pQueryHandle->order)) {
- SWAP(start, end, int32_t);
- }
-
- numOfRows = copyDataFromFileBlock(pQueryHandle, pQueryHandle->outputCapacity, numOfRows, start, end);
-
- // the time window should always be right order: skey <= ekey
- cur->win = (STimeWindow) {.skey = tsArray[start], .ekey = tsArray[end]};
- cur->lastKey = tsArray[endPos];
- pos += (end - start + 1) * step;
-
- cur->blockCompleted =
- (((pos >= endPos || cur->lastKey > pQueryHandle->window.ekey) && ASCENDING_TRAVERSE(pQueryHandle->order)) ||
- ((pos <= endPos || cur->lastKey < pQueryHandle->window.ekey) && !ASCENDING_TRAVERSE(pQueryHandle->order)));
-
- // if the buffer is not full in case of descending order query, move the data in the front of the buffer
- moveDataToFront(pQueryHandle, numOfRows, numOfCols);
- updateInfoAfterMerge(pQueryHandle, pCheckInfo, numOfRows, pos);
- doCheckGeneratedBlockRange(pQueryHandle);
-
- tsdbDebug("%p uid:%" PRIu64",tid:%d data block created, mixblock:%d, brange:%"PRIu64"-%"PRIu64" rows:%d, %p",
- pQueryHandle, pCheckInfo->tableId.uid, pCheckInfo->tableId.tid, cur->mixBlock, cur->win.skey,
- cur->win.ekey, cur->rows, pQueryHandle->qinfo);
+ copyAllRemainRowsFromFileBlock(pQueryHandle, pCheckInfo, &blockInfo, endPos);
return;
} else if (pCheckInfo->iter != NULL || pCheckInfo->iiter != NULL) {
SSkipListNode* node = NULL;
@@ -1261,7 +1303,7 @@ static void doMergeTwoLevelData(STsdbQueryHandle* pQueryHandle, STableCheckInfo*
int32_t qstart = 0, qend = 0;
getQualifiedRowsPos(pQueryHandle, pos, end, numOfRows, &qstart, &qend);
- numOfRows = copyDataFromFileBlock(pQueryHandle, pQueryHandle->outputCapacity, numOfRows, qstart, qend);
+ numOfRows = doCopyRowsFromFileBlock(pQueryHandle, pQueryHandle->outputCapacity, numOfRows, qstart, qend);
pos += (qend - qstart + 1) * step;
cur->win.ekey = ASCENDING_TRAVERSE(pQueryHandle->order)? tsArray[qend]:tsArray[qstart];
@@ -1285,7 +1327,7 @@ static void doMergeTwoLevelData(STsdbQueryHandle* pQueryHandle, STableCheckInfo*
int32_t start = -1, end = -1;
getQualifiedRowsPos(pQueryHandle, pos, endPos, numOfRows, &start, &end);
- numOfRows = copyDataFromFileBlock(pQueryHandle, pQueryHandle->outputCapacity, numOfRows, start, end);
+ numOfRows = doCopyRowsFromFileBlock(pQueryHandle, pQueryHandle->outputCapacity, numOfRows, start, end);
pos += (end - start + 1) * step;
cur->win.ekey = ASCENDING_TRAVERSE(pQueryHandle->order)? tsArray[end]:tsArray[start];
@@ -1658,7 +1700,7 @@ static int32_t getDataBlocksInFiles(STsdbQueryHandle* pQueryHandle, bool* exists
return loadFileDataBlock(pQueryHandle, pNext->compBlock, pNext->pTableCheckInfo, exists);
}
} else {
- tsdbDebug("%p continue in current data block, index:%d, %p", pQueryHandle, cur->slot, pQueryHandle->qinfo);
+ tsdbDebug("%p continue in current data block, index:%d, pos:%d, %p", pQueryHandle, cur->slot, cur->pos, pQueryHandle->qinfo);
int32_t code = handleDataMergeIfNeeded(pQueryHandle, pBlockInfo->compBlock, pCheckInfo);
*exists = pQueryHandle->realNumOfRows > 0;
@@ -2156,7 +2198,7 @@ SArray* tsdbRetrieveDataBlock(TsdbQueryHandleT* pQueryHandle, SArray* pIdList) {
}
// todo refactor
- int32_t numOfRows = copyDataFromFileBlock(pHandle, pHandle->outputCapacity, 0, 0, pBlock->numOfRows - 1);
+ int32_t numOfRows = doCopyRowsFromFileBlock(pHandle, pHandle->outputCapacity, 0, 0, pBlock->numOfRows - 1);
// if the buffer is not full in case of descending order query, move the data in the front of the buffer
if (!ASCENDING_TRAVERSE(pHandle->order) && numOfRows < pHandle->outputCapacity) {
diff --git a/src/util/inc/hash.h b/src/util/inc/hash.h
index f289a4e8c366c6569ce6f7db1ceaef350be3478b..2a58bec8830faab4cf9909bd417a44e2e8881570 100644
--- a/src/util/inc/hash.h
+++ b/src/util/inc/hash.h
@@ -110,7 +110,17 @@ int32_t taosHashPut(SHashObj *pHashObj, const void *key, size_t keyLen, void *da
*/
void *taosHashGet(SHashObj *pHashObj, const void *key, size_t keyLen);
-void *taosHashGetCB(SHashObj *pHashObj, const void *key, size_t keyLen, void(*fp)(void*));
+/**
+ * apply the udf before return the result
+ * @param pHashObj
+ * @param key
+ * @param keyLen
+ * @param fp
+ * @param d
+ * @param dsize
+ * @return
+ */
+void* taosHashGetCB(SHashObj *pHashObj, const void *key, size_t keyLen, void (*fp)(void *), void* d, size_t dsize);
/**
* remove item with the specified key
diff --git a/src/util/inc/tcache.h b/src/util/inc/tcache.h
index 3d6f9705eec9db4c39985e2d283e5e7ae8ed26d7..af5f30c7c3858ee37af253589cdd5e4323ad1d69 100644
--- a/src/util/inc/tcache.h
+++ b/src/util/inc/tcache.h
@@ -42,7 +42,7 @@ typedef struct SCacheDataNode {
uint64_t signature;
struct STrashElem *pTNodeHeader; // point to trash node head
uint16_t keySize: 15; // max key size: 32kb
- bool inTrashCan: 1;// denote if it is in trash or not
+ bool inTrashcan: 1;// denote if it is in trash or not
uint32_t size; // allocated size for current SCacheDataNode
T_REF_DECLARE()
char *key;
diff --git a/src/util/src/hash.c b/src/util/src/hash.c
index cc96f83f445a3b8e0ff1047b8fb0fd1d7721f7ce..7427a2e4f345887888afe6a6e2901ef8e0d21252 100644
--- a/src/util/src/hash.c
+++ b/src/util/src/hash.c
@@ -255,10 +255,10 @@ int32_t taosHashPut(SHashObj *pHashObj, const void *key, size_t keyLen, void *da
}
void *taosHashGet(SHashObj *pHashObj, const void *key, size_t keyLen) {
- return taosHashGetCB(pHashObj, key, keyLen, NULL);
+ return taosHashGetCB(pHashObj, key, keyLen, NULL, NULL, 0);
}
-void *taosHashGetCB(SHashObj *pHashObj, const void *key, size_t keyLen, void (*fp)(void *)) {
+void* taosHashGetCB(SHashObj *pHashObj, const void *key, size_t keyLen, void (*fp)(void *), void* d, size_t dsize) {
if (pHashObj->size <= 0 || keyLen == 0 || key == NULL) {
return NULL;
}
@@ -273,7 +273,6 @@ void *taosHashGetCB(SHashObj *pHashObj, const void *key, size_t keyLen, void (*f
// no data, return directly
if (atomic_load_32(&pe->num) == 0) {
-
__rd_unlock(&pHashObj->lock, pHashObj->type);
return NULL;
}
@@ -297,7 +296,11 @@ void *taosHashGetCB(SHashObj *pHashObj, const void *key, size_t keyLen, void (*f
fp(pNode->data);
}
- data = pNode->data;
+ if (d != NULL) {
+ memcpy(d, pNode->data, dsize);
+ } else {
+ data = pNode->data;
+ }
}
if (pHashObj->type == HASH_ENTRY_LOCK) {
diff --git a/src/util/src/tcache.c b/src/util/src/tcache.c
index e5526647cb6dbd53ed457a2e36357407d0f7134e..ab489e2e46488159c5ceb00d35716e8dc067e880 100644
--- a/src/util/src/tcache.c
+++ b/src/util/src/tcache.c
@@ -90,7 +90,6 @@ static void taosTrashCanEmpty(SCacheObj *pCacheObj, bool force);
static FORCE_INLINE void taosCacheReleaseNode(SCacheObj *pCacheObj, SCacheDataNode *pNode) {
if (pNode->signature != (uint64_t)pNode) {
uError("key:%s, %p data is invalid, or has been released", pNode->key, pNode);
- assert(0);
return;
}
@@ -110,7 +109,7 @@ static FORCE_INLINE void taosCacheReleaseNode(SCacheObj *pCacheObj, SCacheDataNo
static FORCE_INLINE void doRemoveElemInTrashcan(SCacheObj* pCacheObj, STrashElem *pElem) {
if (pElem->pData->signature != (uint64_t) pElem->pData) {
- uError("key:sig:0x%" PRIx64 " %p data has been released, ignore", pElem->pData->signature, pElem->pData);
+ uWarn("key:sig:0x%" PRIx64 " %p data has been released, ignore", pElem->pData->signature, pElem->pData);
return;
}
@@ -224,7 +223,7 @@ void *taosCachePut(SCacheObj *pCacheObj, const void *key, size_t keyLen, const v
taosTFree(p);
} else {
taosAddToTrash(pCacheObj, p);
- uDebug("cache:%s, key:%p, %p exist in cache, updated old:%p", pCacheObj->name, key, pNode1->data, p);
+ uDebug("cache:%s, key:%p, %p exist in cache, updated old:%p", pCacheObj->name, key, pNode1->data, p->data);
}
}
@@ -265,17 +264,14 @@ void *taosCacheAcquireByKey(SCacheObj *pCacheObj, const void *key, size_t keyLen
return NULL;
}
- SCacheDataNode **ptNode = (SCacheDataNode **)taosHashGetCB(pCacheObj->pHashTable, key, keyLen, incRefFn);
- if (ptNode != NULL) {
- assert ((*ptNode) != NULL && (int64_t) ((*ptNode)->data) != 0x40);
- }
+ SCacheDataNode* ptNode = NULL;
+ taosHashGetCB(pCacheObj->pHashTable, key, keyLen, incRefFn, &ptNode, sizeof(void*));
- void* pData = (ptNode != NULL)? (*ptNode)->data:NULL;
- assert((int64_t)pData != 0x40);
+ void* pData = (ptNode != NULL)? ptNode->data:NULL;
if (pData != NULL) {
atomic_add_fetch_32(&pCacheObj->statistics.hitCount, 1);
- uDebug("cache:%s, key:%p, %p is retrieved from cache, refcnt:%d", pCacheObj->name, key, pData, T_REF_VAL_GET(*ptNode));
+ uDebug("cache:%s, key:%p, %p is retrieved from cache, refcnt:%d", pCacheObj->name, key, pData, T_REF_VAL_GET(ptNode));
} else {
atomic_add_fetch_32(&pCacheObj->statistics.missCount, 1);
uDebug("cache:%s, key:%p, not in cache, retrieved failed", pCacheObj->name, key);
@@ -292,7 +288,7 @@ void *taosCacheAcquireByData(SCacheObj *pCacheObj, void *data) {
SCacheDataNode *ptNode = (SCacheDataNode *)((char *)data - offset);
if (ptNode->signature != (uint64_t)ptNode) {
- uError("key: %p the data from cache is invalid", ptNode);
+ uError("cache:%s, key: %p the data from cache is invalid", pCacheObj->name, ptNode);
return NULL;
}
@@ -311,7 +307,7 @@ void *taosCacheTransfer(SCacheObj *pCacheObj, void **data) {
SCacheDataNode *ptNode = (SCacheDataNode *)((char *)(*data) - offset);
if (ptNode->signature != (uint64_t)ptNode) {
- uError("key: %p the data from cache is invalid", ptNode);
+ uError("cache:%s, key: %p the data from cache is invalid", pCacheObj->name, ptNode);
return NULL;
}
@@ -334,16 +330,16 @@ void taosCacheRelease(SCacheObj *pCacheObj, void **data, bool _remove) {
SCacheDataNode *pNode = (SCacheDataNode *)((char *)(*data) - offset);
if (pNode->signature != (uint64_t)pNode) {
- uError("%p, release invalid cache data", pNode);
+ uError("cache:%s, %p, release invalid cache data", pCacheObj->name, pNode);
return;
}
*data = NULL;
// note: extend lifespan before dec ref count
- bool inTrashCan = pNode->inTrashCan;
+ bool inTrashcan = pNode->inTrashcan;
- if (pCacheObj->extendLifespan && (!inTrashCan) && (!_remove)) {
+ if (pCacheObj->extendLifespan && (!inTrashcan) && (!_remove)) {
atomic_store_64(&pNode->expireTime, pNode->lifespan + taosGetTimestampMs());
uDebug("cache:%s data:%p extend expire time: %"PRId64, pCacheObj->name, pNode->data, pNode->expireTime);
}
@@ -354,7 +350,7 @@ void taosCacheRelease(SCacheObj *pCacheObj, void **data, bool _remove) {
char* d = pNode->data;
int32_t ref = T_REF_VAL_GET(pNode);
- uDebug("cache:%s, key:%p, %p is released, refcnt:%d, intrash:%d", pCacheObj->name, key, d, ref - 1, inTrashCan);
+ uDebug("cache:%s, key:%p, %p is released, refcnt:%d, in trashcan:%d", pCacheObj->name, key, d, ref - 1, inTrashcan);
/*
* If it is not referenced by other users, remove it immediately. Otherwise move this node to trashcan wait for all users
@@ -363,17 +359,25 @@ void taosCacheRelease(SCacheObj *pCacheObj, void **data, bool _remove) {
* NOTE: previous ref is 0, and current ref is still 0, remove it. If previous is not 0, there is another thread
* that tries to do the same thing.
*/
- if (inTrashCan) {
- ref = T_REF_DEC(pNode);
+ if (inTrashcan) {
+ ref = T_REF_VAL_GET(pNode);
- if (ref == 0) {
+ if (ref == 1) {
+ // If it is the last ref, remove it from trashcan linked-list first, and then destroy it.Otherwise, it may be
+ // destroyed by refresh worker if decrease ref count before removing it from linked-list.
assert(pNode->pTNodeHeader->pData == pNode);
__cache_wr_lock(pCacheObj);
doRemoveElemInTrashcan(pCacheObj, pNode->pTNodeHeader);
__cache_unlock(pCacheObj);
+ ref = T_REF_DEC(pNode);
+ assert(ref == 0);
+
doDestroyTrashcanElem(pCacheObj, pNode->pTNodeHeader);
+ } else {
+ ref = T_REF_DEC(pNode);
+ assert(ref >= 0);
}
} else {
// NOTE: remove it from hash in the first place, otherwise, the pNode may have been released by other thread
@@ -413,7 +417,7 @@ void taosCacheRelease(SCacheObj *pCacheObj, void **data, bool _remove) {
}
}
} else {
- uDebug("cache:%s, key:%p, %p has been removed from hash table by other thread already, refcnt:%d",
+ uDebug("cache:%s, key:%p, %p has been removed from hash table by others already, refcnt:%d",
pCacheObj->name, pNode->key, pNode->data, ref);
}
}
@@ -424,7 +428,7 @@ void taosCacheRelease(SCacheObj *pCacheObj, void **data, bool _remove) {
char* p = pNode->data;
int32_t ref = T_REF_DEC(pNode);
- uDebug("cache:%s, key:%p, %p released, refcnt:%d, data in trancan:%d", pCacheObj->name, key, p, ref, inTrashCan);
+ uDebug("cache:%s, key:%p, %p released, refcnt:%d, data in trashcan:%d", pCacheObj->name, key, p, ref, inTrashcan);
}
}
@@ -495,7 +499,7 @@ SCacheDataNode *taosCreateCacheNode(const char *key, size_t keyLen, const char *
}
void taosAddToTrash(SCacheObj *pCacheObj, SCacheDataNode *pNode) {
- if (pNode->inTrashCan) { /* node is already in trash */
+ if (pNode->inTrashcan) { /* node is already in trash */
assert(pNode->pTNodeHeader != NULL && pNode->pTNodeHeader->pData == pNode);
return;
}
@@ -503,7 +507,7 @@ void taosAddToTrash(SCacheObj *pCacheObj, SCacheDataNode *pNode) {
STrashElem *pElem = calloc(1, sizeof(STrashElem));
pElem->pData = pNode;
pElem->prev = NULL;
- pNode->inTrashCan = true;
+ pNode->inTrashcan = true;
pNode->pTNodeHeader = pElem;
__cache_wr_lock(pCacheObj);
@@ -525,7 +529,7 @@ void taosTrashCanEmpty(SCacheObj *pCacheObj, bool force) {
if (pCacheObj->numOfElemsInTrash == 0) {
if (pCacheObj->pTrash != NULL) {
- uError("key:inconsistency data in cache, numOfElem in trash:%d", pCacheObj->numOfElemsInTrash);
+ uError("cache:%s, key:inconsistency data in cache, numOfElem in trashcan:%d", pCacheObj->name, pCacheObj->numOfElemsInTrash);
}
pCacheObj->pTrash = NULL;
@@ -542,7 +546,7 @@ void taosTrashCanEmpty(SCacheObj *pCacheObj, bool force) {
}
if (force || (T_REF_VAL_GET(pElem->pData) == 0)) {
- uDebug("key:%p, %p removed from trash. numOfElem in trash:%d", pElem->pData->key, pElem->pData->data,
+ uDebug("cache:%s, key:%p, %p removed from trashcan. numOfElem in trashcan:%d", pCacheObj->name, pElem->pData->key, pElem->pData->data,
pCacheObj->numOfElemsInTrash - 1);
STrashElem *p = pElem;
diff --git a/src/util/src/tnote.c b/src/util/src/tnote.c
index ea097094498bdafdea19d71c48aa2a6f61a6e181..4f05277a847a07831371278915011ebc4da400c6 100644
--- a/src/util/src/tnote.c
+++ b/src/util/src/tnote.c
@@ -253,7 +253,7 @@ void taosNotePrint(taosNoteInfo * pNote, const char * const format, ...)
ptm->tm_min, ptm->tm_sec, (int)timeSecs.tv_usec, taosGetPthreadId());
#else
len = sprintf(buffer, "%02d/%02d %02d:%02d:%02d.%06d %lx ", ptm->tm_mon + 1, ptm->tm_mday, ptm->tm_hour, ptm->tm_min,
- ptm->tm_sec, (int)timeSecs.tv_usec, pthread_self());
+ ptm->tm_sec, (int)timeSecs.tv_usec, (unsigned long int)pthread_self());
#endif
va_start(argpointer, format);
len += vsnprintf(buffer + len, MAX_NOTE_LINE_SIZE - len, format, argpointer);
diff --git a/tests/examples/JDBC/JDBCDemo/pom.xml b/tests/examples/JDBC/JDBCDemo/pom.xml
index 50313a0a0cf432fd9ad0e5f2538d171755166b02..f0234f2bd762bd56fa0668af0d2b345d25320fea 100644
--- a/tests/examples/JDBC/JDBCDemo/pom.xml
+++ b/tests/examples/JDBC/JDBCDemo/pom.xml
@@ -63,7 +63,7 @@
com.taosdata.jdbc
taos-jdbcdriver
- 2.0.2
+ 2.0.4
diff --git a/tests/perftest-scripts/coverage_test.sh b/tests/perftest-scripts/coverage_test.sh
index 6644cc62a3ecc7863d99d2e6b9a61affa1485b26..a0c8fe4b3fe7c3477e233f1628d5ecf7d0744ec1 100755
--- a/tests/perftest-scripts/coverage_test.sh
+++ b/tests/perftest-scripts/coverage_test.sh
@@ -74,21 +74,36 @@ function runTest {
runGeneralCaseOneByOne jenkins/basic.txt
- totalSuccess=`grep 'success' $TDENGINE_COVERAGE_REPORT | wc -l`
+ sed -i "1i\SIM cases test result" $TDENGINE_COVERAGE_REPORT
+ totalSuccess=`grep 'success' $TDENGINE_COVERAGE_REPORT | wc -l`
if [ "$totalSuccess" -gt "0" ]; then
- echo -e "\n${GREEN} ### Total $totalSuccess coverage test case(s) succeed! ### ${NC}" | tee -a $TDENGINE_COVERAGE_REPORT
+ sed -i -e "2i\ ### Total $totalSuccess SIM test case(s) succeed! ###" $TDENGINE_COVERAGE_REPORT
fi
totalFailed=`grep 'failed\|fault' $TDENGINE_COVERAGE_REPORT | wc -l`
if [ "$totalFailed" -ne "0" ]; then
- echo -e "${RED} ### Total $totalFailed coverage test case(s) failed! ### ${NC}\n" | tee -a $TDENGINE_COVERAGE_REPORT
-# exit $totalPyFailed
+ sed -i '3i\### Total $totalFailed SIM test case(s) failed! ###' $TDENGINE_COVERAGE_REPORT
+ else
+ sed -i '3i\\n' $TDENGINE_COVERAGE_REPORT
fi
cd $TDENGINE_DIR/tests
rm -rf ../sim
./test-all.sh full python | tee -a $TDENGINE_COVERAGE_REPORT
+
+ sed -i "4i\Python cases test result" $TDENGINE_COVERAGE_REPORT
+ totalPySuccess=`grep 'python case(s) succeed!' $TDENGINE_COVERAGE_REPORT | awk '{print $4}'`
+ if [ "$totalPySuccess" -gt "0" ]; then
+ sed -i -e "5i\ ### Total $totalPySuccess Python test case(s) succeed! ###" $TDENGINE_COVERAGE_REPORT
+ fi
+
+ totalPyFailed=`grep 'python case(s) failed!' $TDENGINE_COVERAGE_REPORT | awk '{print $4}'`
+ if [ -z $totalPyFailed ]; then
+ sed -i '6i\\n' $TDENGINE_COVERAGE_REPORT
+ else
+ sed -i '6i\### Total $totalPyFailed Python test case(s) failed! ###' $TDENGINE_COVERAGE_REPORT
+ fi
# Test Connector
stopTaosd
diff --git a/tests/perftest-scripts/perftest-taosdemo.sh b/tests/perftest-scripts/perftest-taosdemo.sh
index e459769512a5f246a4a0935e1a50f28795b51430..ae9e8dd7371cca2f522810da6d7816adba86a862 100755
--- a/tests/perftest-scripts/perftest-taosdemo.sh
+++ b/tests/perftest-scripts/perftest-taosdemo.sh
@@ -1,6 +1,7 @@
#!/bin/bash
WORK_DIR=/mnt/root
+TDENGINE_DIR=/root/TDengine
walLevel=`grep "^walLevel" /etc/taos/taos.cfg | awk '{print $2}'`
if [[ "$walLevel" -eq "2" ]]; then
@@ -71,9 +72,17 @@ function runCreateTableThenInsert {
restartTaosd
/usr/bin/time -f "Total: %e" -o totaltime.out bash -c "yes | taosdemo 2>&1 | tee -a taosdemo-$walPostfix-$today.log"
- demoTableAndInsert=`grep "Total:" totaltime.out|awk '{print $2}'`
- demoRPS=`grep "records\/second" taosdemo-$walPostfix-$today.log | tail -n1 | awk '{print $13}'`
-}
+ demoTableAndInsert=`grep "Total:" totaltime.out|awk '{print $2}'`
+ demoRPS=`grep "records\/second" taosdemo-$walPostfix-$today.log | tail -n1 | awk '{print $13}'`
+}
+
+function queryPerformance {
+ echoInfo "Restart Taosd"
+ restartTaosd
+
+ cd $TDENGINE_DIR/tests/pytest
+ python3 query/queryPerformance.py
+}
function generateTaosdemoPlot {
echo "${today} $walPostfix, demoCreateTableOnly: ${demoCreateTableOnly}, demoDeleteTableOnly: ${demoDeleteTableOnly}, demoTableAndInsert: ${demoTableAndInsert}" | tee -a taosdemo-$today.log
@@ -101,13 +110,16 @@ today=`date +"%Y%m%d"`
cd $WORK_DIR
echoInfo "Test Create Table Only "
runCreateTableOnly
-echoInfo "Test Create Table then Insert data"
+echoInfo "Test Delete Table Only"
runDeleteTableOnly
echoInfo "Test Create Table then Insert data"
runCreateTableThenInsert
+echoInfo "Query Performance for 10 Billion Records"
+queryPerformance
echoInfo "Generate plot for taosdemo"
generateTaosdemoPlot
+
tar czf $WORK_DIR/taos-log-taosdemo-$today.tar.gz $logDir/*
echoInfo "End of TaosDemo Test" | tee -a $WORK_DIR/cron.log
diff --git a/tests/pytest/query/queryPerformance.py b/tests/pytest/query/queryPerformance.py
new file mode 100644
index 0000000000000000000000000000000000000000..a7fc08c5a39d7b9a59068463f521d83106865c2d
--- /dev/null
+++ b/tests/pytest/query/queryPerformance.py
@@ -0,0 +1,82 @@
+###################################################################
+# Copyright (c) 2016 by TAOS Technologies, Inc.
+# All rights reserved.
+#
+# This file is proprietary and confidential to TAOS Technologies.
+# No part of this file may be reproduced, stored, transmitted,
+# disclosed or used in any form or by any means other than as
+# expressly provided by the written permission from Jianhui Tao
+#
+###################################################################
+
+# -*- coding: utf-8 -*-
+
+import sys
+import os
+import taos
+import time
+
+
+class taosdemoQueryPerformace:
+ def initConnection(self):
+ self.host = "127.0.0.1"
+ self.user = "root"
+ self.password = "taosdata"
+ self.config = "/etc/taos"
+ self.conn = taos.connect(
+ self.host,
+ self.user,
+ self.password,
+ self.config)
+
+
+ def query(self):
+ cursor = self.conn.cursor()
+ cursor.execute("use test")
+
+ totalTime = 0
+ for i in range(100):
+ startTime = time.time()
+ cursor.execute("select count(*) from test.meters")
+ totalTime += time.time() - startTime
+ print("query time for: select count(*) from test.meters %f seconds" % (totalTime / 100))
+
+ totalTime = 0
+ for i in range(100):
+ startTime = time.time()
+ cursor.execute("select avg(f1), max(f2), min(f3) from test.meters")
+ totalTime += time.time() - startTime
+ print("query time for: select avg(f1), max(f2), min(f3) from test.meters %f seconds" % (totalTime / 100))
+
+ totalTime = 0
+ for i in range(100):
+ startTime = time.time()
+ cursor.execute("select count(*) from test.meters where loc='beijing'")
+ totalTime += time.time() - startTime
+ print("query time for: select count(*) from test.meters where loc='beijing' %f seconds" % (totalTime / 100))
+
+ totalTime = 0
+ for i in range(100):
+ startTime = time.time()
+ cursor.execute("select avg(f1), max(f2), min(f3) from test.meters where areaid=10")
+ totalTime += time.time() - startTime
+ print("query time for: select avg(f1), max(f2), min(f3) from test.meters where areaid=10 %f seconds" % (totalTime / 100))
+
+ totalTime = 0
+ for i in range(100):
+ startTime = time.time()
+ cursor.execute("select avg(f1), max(f2), min(f3) from test.t10 interval(10s)")
+ totalTime += time.time() - startTime
+ print("query time for: select avg(f1), max(f2), min(f3) from test.t10 interval(10s) %f seconds" % (totalTime / 100))
+
+ totalTime = 0
+ for i in range(100):
+ startTime = time.time()
+ cursor.execute("select last_row(*) from meters")
+ totalTime += time.time() - startTime
+ print("query time for: select last_row(*) from meters %f seconds" % (totalTime / 100))
+
+if __name__ == '__main__':
+ perftest = taosdemoQueryPerformace()
+ perftest.initConnection()
+ perftest.query()
\ No newline at end of file
diff --git a/tests/script/general/parser/auto_create_tb_drop_tb.sim b/tests/script/general/parser/auto_create_tb_drop_tb.sim
index f739f42a6ed87f11f024047a671a81adbc480dcb..68e9c5afb724c5596ea67457c26085bf46b85458 100644
--- a/tests/script/general/parser/auto_create_tb_drop_tb.sim
+++ b/tests/script/general/parser/auto_create_tb_drop_tb.sim
@@ -1,6 +1,7 @@
system sh/stop_dnodes.sh
system sh/deploy.sh -n dnode1 -i 1
system sh/cfg.sh -n dnode1 -c walLevel -v 1
+system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 1
system sh/cfg.sh -n dnode1 -c ctime -v 30
system sh/exec.sh -n dnode1 -s start
sleep 3000
@@ -21,7 +22,7 @@ $stb = $stbPrefix . $i
sql drop database $db -x step1
step1:
-sql create database $db maxrows 200 cache 2 maxTables 4
+sql create database $db maxrows 200 cache 2
print ====== create tables
sql use $db
diff --git a/tests/script/general/stable/disk.sim b/tests/script/general/stable/disk.sim
index 8fc7931a73b4c5d661729644745b51f72a86cf76..f49d0239284889692b1836e356bd13f6f1ebc42d 100644
--- a/tests/script/general/stable/disk.sim
+++ b/tests/script/general/stable/disk.sim
@@ -23,7 +23,7 @@ $i = 0
$db = $dbPrefix . $i
$mt = $mtPrefix . $i
-sql create database $db maxTables 4
+sql create database $db
sql use $db
sql create table $mt (ts timestamp, tbcol int) TAGS(tgcol int)
diff --git a/tests/script/general/stable/vnode3.sim b/tests/script/general/stable/vnode3.sim
index ffe046d94a45bd2aafa77310a5dcb1d61a00d5f6..560c5e38fcdfd5675e78744601e6cc23d77eeea5 100644
--- a/tests/script/general/stable/vnode3.sim
+++ b/tests/script/general/stable/vnode3.sim
@@ -22,7 +22,7 @@ $i = 0
$db = $dbPrefix . $i
$mt = $mtPrefix . $i
-sql create database $db maxTables 4
+sql create database $db
sql use $db
sql create table $mt (ts timestamp, tbcol int) TAGS(tgcol int)
diff --git a/tests/script/general/table/vgroup.sim b/tests/script/general/table/vgroup.sim
index 9a86c3ef3144d79ca214595ae28cc142061f3646..75fda328f313659699a5a1577b9c25dcfa167f03 100644
--- a/tests/script/general/table/vgroup.sim
+++ b/tests/script/general/table/vgroup.sim
@@ -15,7 +15,7 @@ $db = $dbPrefix . $i
$tb = $tbPrefix . $i
print =================== step 1
-sql create database $db maxTables 4
+sql create database $db
sql use $db
sql show vgroups
if $rows != 0 then