diff --git a/src/client/src/tscSQLParser.c b/src/client/src/tscSQLParser.c index 27f7fceedbebcdf331d7f345d737b187c0464857..298bd8dacc09137dbab3aa059d747bbb4912c77b 100644 --- a/src/client/src/tscSQLParser.c +++ b/src/client/src/tscSQLParser.c @@ -2331,8 +2331,10 @@ int32_t addExprAndResultField(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, int32_t col } if (info.precision == TSDB_TIME_PRECISION_MILLI) { + tickPerSec /= 1000000; + } else if (info.precision == TSDB_TIME_PRECISION_MICRO) { tickPerSec /= 1000; - } + } if (tickPerSec <= 0 || tickPerSec < TSDB_TICK_PER_SECOND(info.precision)) { return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg10); @@ -5937,48 +5939,40 @@ int32_t validateLimitNode(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, SSqlNode* pSqlN } static int32_t setKeepOption(SSqlCmd* pCmd, SCreateDbMsg* pMsg, SCreateDbInfo* pCreateDb) { - const char* msg = "invalid number of options"; + const char* msg1 = "invalid number of keep options"; + const char* msg2 = "invalid keep value"; + const char* msg3 = "invalid keep value, should be keep0 <= keep1 <= keep2"; - pMsg->daysToKeep = htonl(-1); + pMsg->daysToKeep0 = htonl(-1); pMsg->daysToKeep1 = htonl(-1); pMsg->daysToKeep2 = htonl(-1); SArray* pKeep = pCreateDb->keep; if (pKeep != NULL) { size_t s = taosArrayGetSize(pKeep); +#ifdef _STORAGE + if (s >= 4 ||s <= 0) { +#else + if (s != 1) { +#endif + return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg1); + } + tVariantListItem* p0 = taosArrayGet(pKeep, 0); - switch (s) { - case 1: { - if ((int32_t)p0->pVar.i64 <= 0) { - return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg); - } - pMsg->daysToKeep = htonl((int32_t)p0->pVar.i64); - } - break; - case 2: { - tVariantListItem* p1 = taosArrayGet(pKeep, 1); - if ((int32_t)p0->pVar.i64 <= 0 || (int32_t)p1->pVar.i64 <= 0) { - return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg); - } - pMsg->daysToKeep = htonl((int32_t)p0->pVar.i64); - pMsg->daysToKeep1 = htonl((int32_t)p1->pVar.i64); - break; - } - case 3: { - tVariantListItem* p1 = taosArrayGet(pKeep, 1); - tVariantListItem* p2 = taosArrayGet(pKeep, 2); + tVariantListItem* p1 = (s > 1) ? taosArrayGet(pKeep, 1) : p0; + tVariantListItem* p2 = (s > 2) ? taosArrayGet(pKeep, 2) : p1; + + if ((int32_t)p0->pVar.i64 <= 0 || (int32_t)p1->pVar.i64 <= 0 || (int32_t)p2->pVar.i64 <= 0) { + return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg2); + } + if (!(((int32_t)p0->pVar.i64 <= (int32_t)p1->pVar.i64) && ((int32_t)p1->pVar.i64 <= (int32_t)p2->pVar.i64))) { + return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg3); + } - if ((int32_t)p0->pVar.i64 <= 0 || (int32_t)p1->pVar.i64 <= 0 || (int32_t)p2->pVar.i64 <= 0) { - return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg); - } + pMsg->daysToKeep0 = htonl((int32_t)p0->pVar.i64); + pMsg->daysToKeep1 = htonl((int32_t)p1->pVar.i64); + pMsg->daysToKeep2 = htonl((int32_t)p2->pVar.i64); - pMsg->daysToKeep = htonl((int32_t)p0->pVar.i64); - pMsg->daysToKeep1 = htonl((int32_t)p1->pVar.i64); - pMsg->daysToKeep2 = htonl((int32_t)p2->pVar.i64); - break; - } - default: { return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg); } - } } return TSDB_CODE_SUCCESS; diff --git a/src/inc/taosmsg.h b/src/inc/taosmsg.h index 15b1da1dd31ea7df4a7772515e1dc8812aaddadb..c7fe64974898937669549599994ddc643ee4d9b0 100644 --- a/src/inc/taosmsg.h +++ b/src/inc/taosmsg.h @@ -548,7 +548,7 @@ typedef struct { int32_t totalBlocks; int32_t maxTables; int32_t daysPerFile; - int32_t daysToKeep; + int32_t daysToKeep0; int32_t daysToKeep1; int32_t daysToKeep2; int32_t minRowsPerFileBlock; diff --git a/src/inc/ttokendef.h b/src/inc/ttokendef.h index c7d630891b59e88af1360af67542dbe5ca601418..fb860137f3ee612a7bfb7966c2bb245b46a35fcd 100644 --- a/src/inc/ttokendef.h +++ b/src/inc/ttokendef.h @@ -104,28 +104,28 @@ #define TK_QTIME 85 #define TK_CONNS 86 #define TK_STATE 87 -#define TK_KEEP 88 -#define TK_CACHE 89 -#define TK_REPLICA 90 -#define TK_QUORUM 91 -#define TK_DAYS 92 -#define TK_MINROWS 93 -#define TK_MAXROWS 94 -#define TK_BLOCKS 95 -#define TK_CTIME 96 -#define TK_WAL 97 -#define TK_FSYNC 98 -#define TK_COMP 99 -#define TK_PRECISION 100 -#define TK_UPDATE 101 -#define TK_CACHELAST 102 -#define TK_PARTITIONS 103 -#define TK_LP 104 -#define TK_RP 105 -#define TK_UNSIGNED 106 -#define TK_TAGS 107 -#define TK_USING 108 -#define TK_COMMA 109 +#define TK_COMMA 88 +#define TK_KEEP 89 +#define TK_CACHE 90 +#define TK_REPLICA 91 +#define TK_QUORUM 92 +#define TK_DAYS 93 +#define TK_MINROWS 94 +#define TK_MAXROWS 95 +#define TK_BLOCKS 96 +#define TK_CTIME 97 +#define TK_WAL 98 +#define TK_FSYNC 99 +#define TK_COMP 100 +#define TK_PRECISION 101 +#define TK_UPDATE 102 +#define TK_CACHELAST 103 +#define TK_PARTITIONS 104 +#define TK_LP 105 +#define TK_RP 106 +#define TK_UNSIGNED 107 +#define TK_TAGS 108 +#define TK_USING 109 #define TK_AS 110 #define TK_NULL 111 #define TK_SELECT 112 @@ -212,7 +212,6 @@ - #define TK_SPACE 300 #define TK_COMMENT 301 #define TK_ILLEGAL 302 diff --git a/src/mnode/inc/mnodeDef.h b/src/mnode/inc/mnodeDef.h index e052f34a33b2a74dcd858721694225859f1581b8..45061dfabd41a095e49136fa19a03edf31778767 100644 --- a/src/mnode/inc/mnodeDef.h +++ b/src/mnode/inc/mnodeDef.h @@ -161,7 +161,7 @@ typedef struct { int32_t totalBlocks; int32_t maxTables; int32_t daysPerFile; - int32_t daysToKeep; + int32_t daysToKeep0; int32_t daysToKeep1; int32_t daysToKeep2; int32_t minRowsPerFileBlock; diff --git a/src/mnode/src/mnodeDb.c b/src/mnode/src/mnodeDb.c index ff36256b188c0540339ebc003f7e029a05bbed35..6ca43ce2da7354ea52ac38943d4d74ebac0a260a 100644 --- a/src/mnode/src/mnodeDb.c +++ b/src/mnode/src/mnodeDb.c @@ -261,26 +261,27 @@ static int32_t mnodeCheckDbCfg(SDbCfg *pCfg) { return TSDB_CODE_MND_INVALID_DB_OPTION_DAYS; } - if (pCfg->daysToKeep < TSDB_MIN_KEEP || pCfg->daysToKeep > TSDB_MAX_KEEP) { - mError("invalid db option daysToKeep:%d valid range: [%d, %d]", pCfg->daysToKeep, TSDB_MIN_KEEP, TSDB_MAX_KEEP); + if (pCfg->daysToKeep0 < TSDB_MIN_KEEP || pCfg->daysToKeep0 > TSDB_MAX_KEEP) { + mError("invalid db option daysToKeep:%d valid range: [%d, %d]", pCfg->daysToKeep0, TSDB_MIN_KEEP, TSDB_MAX_KEEP); return TSDB_CODE_MND_INVALID_DB_OPTION_KEEP; } - if (pCfg->daysToKeep < pCfg->daysPerFile) { - mError("invalid db option daysToKeep:%d should larger than daysPerFile:%d", pCfg->daysToKeep, pCfg->daysPerFile); + if (pCfg->daysToKeep0 < pCfg->daysPerFile) { + mError("invalid db option daysToKeep:%d should larger than daysPerFile:%d", pCfg->daysToKeep0, pCfg->daysPerFile); return TSDB_CODE_MND_INVALID_DB_OPTION_KEEP; } - if (pCfg->daysToKeep2 < TSDB_MIN_KEEP || pCfg->daysToKeep2 > pCfg->daysToKeep) { - mError("invalid db option daysToKeep2:%d valid range: [%d, %d]", pCfg->daysToKeep2, TSDB_MIN_KEEP, pCfg->daysToKeep); + if (pCfg->daysToKeep1 < pCfg->daysToKeep0 || pCfg->daysToKeep1 > TSDB_MAX_KEEP) { + mError("invalid db option daysToKeep1:%d valid range: [%d, %d]", pCfg->daysToKeep1, pCfg->daysToKeep0, TSDB_MAX_KEEP); return TSDB_CODE_MND_INVALID_DB_OPTION_KEEP; } - if (pCfg->daysToKeep1 < TSDB_MIN_KEEP || pCfg->daysToKeep1 > pCfg->daysToKeep2) { - mError("invalid db option daysToKeep1:%d valid range: [%d, %d]", pCfg->daysToKeep1, TSDB_MIN_KEEP, pCfg->daysToKeep2); + if (pCfg->daysToKeep2 < pCfg->daysToKeep1 || pCfg->daysToKeep2 > TSDB_MAX_KEEP) { + mError("invalid db option daysToKeep2:%d valid range: [%d, %d]", pCfg->daysToKeep2, pCfg->daysToKeep1, TSDB_MAX_KEEP); return TSDB_CODE_MND_INVALID_DB_OPTION_KEEP; } + if (pCfg->maxRowsPerFileBlock < TSDB_MIN_MAX_ROW_FBLOCK || pCfg->maxRowsPerFileBlock > TSDB_MAX_MAX_ROW_FBLOCK) { mError("invalid db option maxRowsPerFileBlock:%d valid range: [%d, %d]", pCfg->maxRowsPerFileBlock, TSDB_MIN_MAX_ROW_FBLOCK, TSDB_MAX_MAX_ROW_FBLOCK); @@ -378,9 +379,9 @@ static void mnodeSetDefaultDbCfg(SDbCfg *pCfg) { if (pCfg->totalBlocks < 0) pCfg->totalBlocks = tsBlocksPerVnode; if (pCfg->maxTables < 0) pCfg->maxTables = tsMaxTablePerVnode; if (pCfg->daysPerFile < 0) pCfg->daysPerFile = tsDaysPerFile; - if (pCfg->daysToKeep < 0) pCfg->daysToKeep = tsDaysToKeep; - if (pCfg->daysToKeep1 < 0) pCfg->daysToKeep1 = pCfg->daysToKeep; - if (pCfg->daysToKeep2 < 0) pCfg->daysToKeep2 = pCfg->daysToKeep; + if (pCfg->daysToKeep2 < 0) pCfg->daysToKeep2 = tsDaysToKeep; + if (pCfg->daysToKeep1 < 0) pCfg->daysToKeep1 = pCfg->daysToKeep2; + if (pCfg->daysToKeep0 < 0) pCfg->daysToKeep0 = pCfg->daysToKeep1; if (pCfg->minRowsPerFileBlock < 0) pCfg->minRowsPerFileBlock = tsMinRowsInFileBlock; if (pCfg->maxRowsPerFileBlock < 0) pCfg->maxRowsPerFileBlock = tsMaxRowsInFileBlock; if (pCfg->fsyncPeriod <0) pCfg->fsyncPeriod = tsFsyncPeriod; @@ -435,7 +436,7 @@ static int32_t mnodeCreateDb(SAcctObj *pAcct, SCreateDbMsg *pCreate, SMnodeMsg * .totalBlocks = pCreate->totalBlocks, .maxTables = pCreate->maxTables, .daysPerFile = pCreate->daysPerFile, - .daysToKeep = pCreate->daysToKeep, + .daysToKeep0 = pCreate->daysToKeep0, .daysToKeep1 = pCreate->daysToKeep1, .daysToKeep2 = pCreate->daysToKeep2, .minRowsPerFileBlock = pCreate->minRowsPerFileBlock, @@ -611,7 +612,12 @@ static int32_t mnodeGetDbMeta(STableMetaMsg *pMeta, SShowObj *pShow, void *pConn pShow->bytes[cols] = 24 + VARSTR_HEADER_SIZE; pSchema[cols].type = TSDB_DATA_TYPE_BINARY; - strcpy(pSchema[cols].name, "keep0,keep1,keep(D)"); + +#ifdef _STORAGE + strcpy(pSchema[cols].name, "keep0,keep1,keep2"); +#else + strcpy(pSchema[cols].name, "keep"); +#endif pSchema[cols].bytes = htons(pShow->bytes[cols]); cols++; @@ -777,7 +783,15 @@ static int32_t mnodeRetrieveDbs(SShowObj *pShow, char *data, int32_t rows, void pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows; char tmp[128] = {0}; - sprintf(tmp, "%d,%d,%d", pDb->cfg.daysToKeep1, pDb->cfg.daysToKeep2, pDb->cfg.daysToKeep); +#ifdef _STORAGE + if (pDb->cfg.daysToKeep0 > pDb->cfg.daysToKeep1 || pDb->cfg.daysToKeep0 > pDb->cfg.daysToKeep2) { + sprintf(tmp, "%d,%d,%d", pDb->cfg.daysToKeep1, pDb->cfg.daysToKeep2, pDb->cfg.daysToKeep0); + } else { + sprintf(tmp, "%d,%d,%d", pDb->cfg.daysToKeep0, pDb->cfg.daysToKeep1, pDb->cfg.daysToKeep2); + } +#else + sprintf(tmp, "%d", pDb->cfg.daysToKeep2); +#endif STR_WITH_SIZE_TO_VARSTR(pWrite, tmp, strlen(tmp)); cols++; @@ -895,7 +909,7 @@ static int32_t mnodeProcessCreateDbMsg(SMnodeMsg *pMsg) { pCreate->cacheBlockSize = htonl(pCreate->cacheBlockSize); pCreate->totalBlocks = htonl(pCreate->totalBlocks); pCreate->daysPerFile = htonl(pCreate->daysPerFile); - pCreate->daysToKeep = htonl(pCreate->daysToKeep); + pCreate->daysToKeep0 = htonl(pCreate->daysToKeep0); pCreate->daysToKeep1 = htonl(pCreate->daysToKeep1); pCreate->daysToKeep2 = htonl(pCreate->daysToKeep2); pCreate->commitTime = htonl(pCreate->commitTime); @@ -922,7 +936,7 @@ static SDbCfg mnodeGetAlterDbOption(SDbObj *pDb, SAlterDbMsg *pAlter) { int32_t cacheBlockSize = htonl(pAlter->cacheBlockSize); int32_t totalBlocks = htonl(pAlter->totalBlocks); int32_t daysPerFile = htonl(pAlter->daysPerFile); - int32_t daysToKeep = htonl(pAlter->daysToKeep); + int32_t daysToKeep0 = htonl(pAlter->daysToKeep0); int32_t daysToKeep1 = htonl(pAlter->daysToKeep1); int32_t daysToKeep2 = htonl(pAlter->daysToKeep2); int32_t minRows = htonl(pAlter->minRowsPerFileBlock); @@ -941,6 +955,14 @@ static SDbCfg mnodeGetAlterDbOption(SDbObj *pDb, SAlterDbMsg *pAlter) { terrno = TSDB_CODE_SUCCESS; + //UPGRATE FROM LOW VERSION, reorder it + if (pDb->cfg.daysToKeep0 > pDb->cfg.daysToKeep1 || pDb->cfg.daysToKeep0 > pDb->cfg.daysToKeep2) { + int32_t t = pDb->cfg.daysToKeep0; + newCfg.daysToKeep0 = pDb->cfg.daysToKeep1; + newCfg.daysToKeep1 = pDb->cfg.daysToKeep2; + newCfg.daysToKeep2 = t; + } + if (cacheBlockSize > 0 && cacheBlockSize != pDb->cfg.cacheBlockSize) { mError("db:%s, can't alter cache option", pDb->name); terrno = TSDB_CODE_MND_INVALID_DB_OPTION; @@ -965,17 +987,17 @@ static SDbCfg mnodeGetAlterDbOption(SDbObj *pDb, SAlterDbMsg *pAlter) { terrno = TSDB_CODE_MND_INVALID_DB_OPTION; } - if (daysToKeep > 0 && daysToKeep != pDb->cfg.daysToKeep) { - mDebug("db:%s, daysToKeep:%d change to %d", pDb->name, pDb->cfg.daysToKeep, daysToKeep); - newCfg.daysToKeep = daysToKeep; + if (daysToKeep0 > 0 && (daysToKeep0 != pDb->cfg.daysToKeep0 || newCfg.daysToKeep0 != pDb->cfg.daysToKeep0)) { + mDebug("db:%s, daysToKeep:%d change to %d", pDb->name, pDb->cfg.daysToKeep0, daysToKeep0); + newCfg.daysToKeep0 = daysToKeep0; } - if (daysToKeep1 > 0 && daysToKeep1 != pDb->cfg.daysToKeep1) { + if (daysToKeep1 > 0 && (daysToKeep1 != pDb->cfg.daysToKeep1 || newCfg.daysToKeep1 != pDb->cfg.daysToKeep1)) { mDebug("db:%s, daysToKeep1:%d change to %d", pDb->name, pDb->cfg.daysToKeep1, daysToKeep1); newCfg.daysToKeep1 = daysToKeep1; } - if (daysToKeep2 > 0 && daysToKeep2 != pDb->cfg.daysToKeep2) { + if (daysToKeep2 > 0 && (daysToKeep2 != pDb->cfg.daysToKeep2 || newCfg.daysToKeep2 != pDb->cfg.daysToKeep2)) { mDebug("db:%s, daysToKeep2:%d change to %d", pDb->name, pDb->cfg.daysToKeep2, daysToKeep2); newCfg.daysToKeep2 = daysToKeep2; } @@ -1068,8 +1090,8 @@ static SDbCfg mnodeGetAlterDbOption(SDbObj *pDb, SAlterDbMsg *pAlter) { // community version can only change daysToKeep // but enterprise version can change all daysToKeep options #ifndef _STORAGE - newCfg.daysToKeep1 = newCfg.daysToKeep; - newCfg.daysToKeep2 = newCfg.daysToKeep; + newCfg.daysToKeep1 = newCfg.daysToKeep0; + newCfg.daysToKeep2 = newCfg.daysToKeep0; #endif return newCfg; @@ -1309,4 +1331,4 @@ int32_t mnodeCompactDbs() { mInfo("end to compact dbs table..."); return 0; -} \ No newline at end of file +} diff --git a/src/mnode/src/mnodeVgroup.c b/src/mnode/src/mnodeVgroup.c index a64d2564841241c7f49b7da82a48b51d27783c1a..2a781b9202494332c6fcaf18cf5bdd64e6831c6b 100644 --- a/src/mnode/src/mnodeVgroup.c +++ b/src/mnode/src/mnodeVgroup.c @@ -894,9 +894,9 @@ static SCreateVnodeMsg *mnodeBuildVnodeMsg(SVgObj *pVgroup) { pCfg->totalBlocks = htonl(pDb->cfg.totalBlocks); pCfg->maxTables = htonl(maxTables + 1); pCfg->daysPerFile = htonl(pDb->cfg.daysPerFile); - pCfg->daysToKeep = htonl(pDb->cfg.daysToKeep); - pCfg->daysToKeep1 = htonl(pDb->cfg.daysToKeep1); - pCfg->daysToKeep2 = htonl(pDb->cfg.daysToKeep2); + pCfg->daysToKeep = htonl(pDb->cfg.daysToKeep2); //FROM DB TO VNODE MAP: + pCfg->daysToKeep1 = htonl(pDb->cfg.daysToKeep0); //keep0,keep1,keep2 in SQL is mapped to keep1,keep2,keep in vnode + pCfg->daysToKeep2 = htonl(pDb->cfg.daysToKeep1); //user,client,mnode use keep0,keep1,keep2; vnode use keep1,keep2,keep pCfg->minRowsPerFileBlock = htonl(pDb->cfg.minRowsPerFileBlock); pCfg->maxRowsPerFileBlock = htonl(pDb->cfg.maxRowsPerFileBlock); pCfg->fsyncPeriod = htonl(pDb->cfg.fsyncPeriod); diff --git a/src/plugins/monitor/src/monMain.c b/src/plugins/monitor/src/monMain.c index d9f7d81ebd3eefe77569deb30b75c227ff79e04f..2c4a0c1a4c56e560a9ffe5ec007cc51f9d7f9e24 100644 --- a/src/plugins/monitor/src/monMain.c +++ b/src/plugins/monitor/src/monMain.c @@ -184,11 +184,17 @@ static void *monThreadFunc(void *param) { static void monBuildMonitorSql(char *sql, int32_t cmd) { memset(sql, 0, SQL_LENGTH); +#ifdef _STORAGE + char *keepValue = "30,30,30"; +#else + char *keepValue = "30"; +#endif + if (cmd == MON_CMD_CREATE_DB) { snprintf(sql, SQL_LENGTH, - "create database if not exists %s replica 1 days 10 keep 30 cache %d " + "create database if not exists %s replica 1 days 10 keep %s cache %d " "blocks %d precision 'us'", - tsMonitorDbName, TSDB_MIN_CACHE_BLOCK_SIZE, TSDB_MIN_TOTAL_BLOCKS); + tsMonitorDbName, keepValue, TSDB_MIN_CACHE_BLOCK_SIZE, TSDB_MIN_TOTAL_BLOCKS); } else if (cmd == MON_CMD_CREATE_MT_DN) { snprintf(sql, SQL_LENGTH, "create table if not exists %s.dn(ts timestamp" diff --git a/src/query/inc/sql.y b/src/query/inc/sql.y index c7be2f3c4f196a33e6f6d10810c0a0acebcd7fa7..fbb59e4a728724fd2fc2638d6d754cf2347350b6 100644 --- a/src/query/inc/sql.y +++ b/src/query/inc/sql.y @@ -238,9 +238,18 @@ acct_optr(Y) ::= pps(C) tseries(D) storage(P) streams(F) qtime(Q) dbs(E) users(K Y.stat = M; } +%type intitemlist {SArray*} +%destructor intitemlist {taosArrayDestroy($$);} + +%type intitem {tVariant} +intitemlist(A) ::= intitemlist(X) COMMA intitem(Y). { A = tVariantListAppend(X, &Y, -1); } +intitemlist(A) ::= intitem(X). { A = tVariantListAppend(NULL, &X, -1); } + +intitem(A) ::= INTEGER(X). { toTSDBType(X.type); tVariantCreate(&A, &X); } + %type keep {SArray*} %destructor keep {taosArrayDestroy($$);} -keep(Y) ::= KEEP tagitemlist(X). { Y = X; } +keep(Y) ::= KEEP intitemlist(X). { Y = X; } cache(Y) ::= CACHE INTEGER(X). { Y = X; } replica(Y) ::= REPLICA INTEGER(X). { Y = X; } diff --git a/src/query/src/sql.c b/src/query/src/sql.c index ac6508e45c2a643f0224bed49ea8e75efd441fcd..83deb641f51d412d7f3e4175391942623c995f7e 100644 --- a/src/query/src/sql.c +++ b/src/query/src/sql.c @@ -97,28 +97,28 @@ #endif /************* Begin control #defines *****************************************/ #define YYCODETYPE unsigned short int -#define YYNOCODE 268 +#define YYNOCODE 270 #define YYACTIONTYPE unsigned short int #define ParseTOKENTYPE SStrToken typedef union { int yyinit; ParseTOKENTYPE yy0; - SArray* yy15; - SWindowStateVal yy96; - SSqlNode* yy134; - SLimitVal yy150; - SSessionWindowVal yy151; - SRelationInfo* yy160; - int yy250; - tSqlExpr* yy328; - tVariant yy380; - SCreatedTableInfo yy390; - SCreateAcctInfo yy397; - SCreateDbInfo yy454; - SCreateTableSql* yy482; - int64_t yy489; - SIntervalVal yy496; - TAOS_FIELD yy505; + SSessionWindowVal yy15; + SIntervalVal yy42; + tSqlExpr* yy68; + SCreateAcctInfo yy77; + SArray* yy93; + int yy150; + SSqlNode* yy224; + SWindowStateVal yy274; + int64_t yy279; + SLimitVal yy284; + TAOS_FIELD yy325; + SRelationInfo* yy330; + SCreateDbInfo yy372; + tVariant yy518; + SCreatedTableInfo yy528; + SCreateTableSql* yy532; } YYMINORTYPE; #ifndef YYSTACKDEPTH #define YYSTACKDEPTH 100 @@ -128,17 +128,17 @@ typedef union { #define ParseARG_FETCH SSqlInfo* pInfo = yypParser->pInfo #define ParseARG_STORE yypParser->pInfo = pInfo #define YYFALLBACK 1 -#define YYNSTATE 341 -#define YYNRULE 280 +#define YYNSTATE 342 +#define YYNRULE 283 #define YYNTOKEN 189 -#define YY_MAX_SHIFT 340 -#define YY_MIN_SHIFTREDUCE 538 -#define YY_MAX_SHIFTREDUCE 817 -#define YY_ERROR_ACTION 818 -#define YY_ACCEPT_ACTION 819 -#define YY_NO_ACTION 820 -#define YY_MIN_REDUCE 821 -#define YY_MAX_REDUCE 1100 +#define YY_MAX_SHIFT 341 +#define YY_MIN_SHIFTREDUCE 542 +#define YY_MAX_SHIFTREDUCE 824 +#define YY_ERROR_ACTION 825 +#define YY_ACCEPT_ACTION 826 +#define YY_NO_ACTION 827 +#define YY_MIN_REDUCE 828 +#define YY_MAX_REDUCE 1110 /************* End control #defines *******************************************/ /* Define the yytestcase() macro to be a no-op if is not already defined @@ -204,276 +204,277 @@ typedef union { ** yy_default[] Default action for each state. ** *********** Begin parsing tables **********************************************/ -#define YY_ACTTAB_COUNT (721) +#define YY_ACTTAB_COUNT (725) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 989, 586, 217, 338, 954, 22, 223, 192, 194, 587, - /* 10 */ 819, 340, 198, 52, 53, 151, 56, 57, 226, 1077, - /* 20 */ 229, 46, 1073, 55, 282, 60, 58, 62, 59, 1072, - /* 30 */ 665, 194, 968, 51, 50, 194, 234, 49, 48, 47, - /* 40 */ 52, 53, 1076, 56, 57, 225, 1077, 229, 46, 586, - /* 50 */ 55, 282, 60, 58, 62, 59, 980, 587, 314, 313, - /* 60 */ 51, 50, 968, 986, 49, 48, 47, 53, 35, 56, - /* 70 */ 57, 144, 258, 229, 46, 75, 55, 282, 60, 58, - /* 80 */ 62, 59, 279, 298, 87, 867, 51, 50, 94, 178, - /* 90 */ 49, 48, 47, 539, 540, 541, 542, 543, 544, 545, - /* 100 */ 546, 547, 548, 549, 550, 551, 339, 953, 298, 218, - /* 110 */ 76, 586, 964, 52, 53, 35, 56, 57, 324, 587, - /* 120 */ 229, 46, 956, 55, 282, 60, 58, 62, 59, 49, - /* 130 */ 48, 47, 756, 51, 50, 265, 264, 49, 48, 47, - /* 140 */ 52, 54, 980, 56, 57, 1071, 980, 229, 46, 586, - /* 150 */ 55, 282, 60, 58, 62, 59, 219, 587, 220, 965, - /* 160 */ 51, 50, 221, 212, 49, 48, 47, 28, 296, 333, - /* 170 */ 332, 295, 294, 293, 331, 292, 330, 329, 328, 291, - /* 180 */ 327, 326, 928, 35, 916, 917, 918, 919, 920, 921, - /* 190 */ 922, 923, 924, 925, 926, 927, 929, 930, 56, 57, - /* 200 */ 151, 213, 229, 46, 151, 55, 282, 60, 58, 62, - /* 210 */ 59, 962, 23, 91, 29, 51, 50, 243, 196, 49, - /* 220 */ 48, 47, 228, 771, 232, 197, 760, 965, 763, 203, - /* 230 */ 766, 228, 771, 151, 13, 760, 204, 763, 93, 766, - /* 240 */ 90, 128, 127, 202, 951, 952, 34, 955, 60, 58, - /* 250 */ 62, 59, 966, 235, 214, 215, 51, 50, 281, 1096, - /* 260 */ 49, 48, 47, 214, 215, 337, 336, 136, 28, 1025, - /* 270 */ 333, 332, 82, 88, 250, 331, 704, 330, 329, 328, - /* 280 */ 41, 327, 326, 254, 253, 936, 35, 199, 934, 935, - /* 290 */ 142, 140, 139, 937, 876, 939, 940, 938, 178, 941, - /* 300 */ 942, 82, 1026, 257, 277, 74, 113, 107, 118, 41, - /* 310 */ 236, 334, 211, 117, 123, 126, 116, 239, 762, 193, - /* 320 */ 765, 35, 120, 242, 761, 61, 764, 233, 689, 1088, - /* 330 */ 965, 686, 772, 687, 61, 688, 968, 968, 768, 200, - /* 340 */ 115, 772, 5, 38, 168, 324, 283, 768, 79, 167, - /* 350 */ 101, 96, 100, 868, 708, 767, 261, 178, 35, 245, - /* 360 */ 246, 201, 303, 35, 767, 965, 186, 184, 182, 35, - /* 370 */ 35, 35, 89, 181, 131, 130, 129, 51, 50, 35, - /* 380 */ 35, 49, 48, 47, 1, 166, 77, 240, 967, 238, - /* 390 */ 259, 302, 301, 244, 36, 241, 701, 309, 308, 304, - /* 400 */ 3, 179, 965, 8, 305, 758, 227, 965, 737, 738, - /* 410 */ 306, 310, 311, 965, 965, 965, 67, 80, 207, 70, - /* 420 */ 312, 316, 720, 965, 965, 261, 146, 728, 729, 792, - /* 430 */ 769, 66, 25, 24, 773, 1036, 770, 690, 24, 68, - /* 440 */ 71, 759, 775, 675, 285, 208, 33, 36, 36, 288, - /* 450 */ 6, 206, 677, 287, 676, 255, 66, 92, 66, 73, - /* 460 */ 15, 664, 14, 693, 106, 694, 105, 17, 691, 16, - /* 470 */ 692, 19, 112, 18, 111, 21, 1035, 20, 125, 124, - /* 480 */ 191, 205, 195, 230, 143, 1032, 1031, 231, 315, 988, - /* 490 */ 44, 999, 996, 997, 1001, 145, 981, 262, 149, 271, - /* 500 */ 1018, 1017, 963, 162, 163, 141, 932, 961, 164, 165, - /* 510 */ 719, 879, 266, 290, 325, 160, 158, 276, 153, 978, - /* 520 */ 42, 152, 63, 189, 222, 72, 268, 39, 299, 275, - /* 530 */ 875, 69, 280, 300, 1095, 278, 103, 154, 1094, 155, - /* 540 */ 156, 274, 157, 1091, 169, 307, 1087, 109, 272, 1086, - /* 550 */ 1083, 170, 897, 40, 37, 43, 190, 864, 119, 862, - /* 560 */ 121, 122, 860, 859, 247, 180, 857, 856, 855, 854, - /* 570 */ 853, 852, 183, 185, 849, 847, 845, 843, 187, 840, - /* 580 */ 188, 270, 260, 78, 83, 269, 1019, 267, 45, 114, - /* 590 */ 317, 318, 319, 216, 321, 237, 320, 289, 322, 323, - /* 600 */ 335, 209, 817, 248, 97, 98, 210, 249, 816, 252, - /* 610 */ 815, 251, 798, 797, 256, 858, 261, 132, 173, 133, - /* 620 */ 898, 175, 171, 172, 174, 176, 177, 851, 4, 134, - /* 630 */ 850, 2, 135, 842, 841, 284, 9, 81, 696, 161, - /* 640 */ 159, 30, 147, 263, 84, 944, 224, 721, 724, 85, - /* 650 */ 10, 726, 86, 148, 273, 11, 730, 150, 31, 774, - /* 660 */ 7, 32, 12, 26, 286, 27, 776, 95, 93, 628, - /* 670 */ 624, 622, 621, 620, 617, 590, 297, 99, 64, 36, - /* 680 */ 102, 667, 666, 663, 612, 610, 65, 602, 104, 608, - /* 690 */ 604, 606, 600, 598, 631, 630, 629, 627, 626, 625, - /* 700 */ 623, 619, 618, 108, 110, 66, 588, 555, 553, 821, - /* 710 */ 820, 820, 820, 820, 820, 820, 820, 820, 820, 137, - /* 720 */ 138, + /* 0 */ 224, 590, 235, 999, 978, 144, 978, 590, 195, 591, + /* 10 */ 964, 826, 341, 52, 53, 591, 56, 57, 227, 1087, + /* 20 */ 230, 46, 246, 55, 283, 60, 58, 62, 59, 218, + /* 30 */ 339, 622, 237, 51, 50, 195, 978, 49, 48, 47, + /* 40 */ 52, 53, 34, 56, 57, 226, 1087, 230, 46, 590, + /* 50 */ 55, 283, 60, 58, 62, 59, 151, 591, 976, 990, + /* 60 */ 51, 50, 228, 151, 49, 48, 47, 53, 996, 56, + /* 70 */ 57, 266, 265, 230, 46, 259, 55, 283, 60, 58, + /* 80 */ 62, 59, 299, 75, 220, 151, 51, 50, 975, 299, + /* 90 */ 49, 48, 47, 543, 544, 545, 546, 547, 548, 549, + /* 100 */ 550, 551, 552, 553, 554, 555, 340, 6, 94, 219, + /* 110 */ 76, 52, 53, 82, 56, 57, 963, 195, 230, 46, + /* 120 */ 41, 55, 283, 60, 58, 62, 59, 1036, 1086, 278, + /* 130 */ 325, 51, 50, 763, 1035, 49, 48, 47, 52, 54, + /* 140 */ 22, 56, 57, 966, 990, 230, 46, 35, 55, 283, + /* 150 */ 60, 58, 62, 59, 280, 193, 87, 874, 51, 50, + /* 160 */ 221, 178, 49, 48, 47, 260, 40, 297, 334, 333, + /* 170 */ 296, 295, 294, 332, 293, 331, 330, 329, 292, 328, + /* 180 */ 327, 938, 926, 927, 928, 929, 930, 931, 932, 933, + /* 190 */ 934, 935, 936, 937, 939, 940, 56, 57, 146, 990, + /* 200 */ 230, 46, 199, 55, 283, 60, 58, 62, 59, 49, + /* 210 */ 48, 47, 23, 51, 50, 222, 727, 49, 48, 47, + /* 220 */ 229, 778, 972, 883, 767, 115, 770, 178, 773, 204, + /* 230 */ 325, 229, 778, 335, 907, 767, 205, 770, 769, 773, + /* 240 */ 772, 128, 127, 203, 338, 337, 136, 15, 40, 14, + /* 250 */ 334, 333, 215, 216, 151, 332, 282, 331, 330, 329, + /* 260 */ 977, 328, 327, 215, 216, 946, 236, 944, 945, 590, + /* 270 */ 1083, 34, 947, 82, 949, 950, 948, 591, 951, 952, + /* 280 */ 41, 60, 58, 62, 59, 34, 768, 251, 771, 51, + /* 290 */ 50, 1, 166, 49, 48, 47, 255, 254, 34, 113, + /* 300 */ 107, 118, 1082, 258, 240, 74, 117, 123, 126, 116, + /* 310 */ 245, 696, 212, 233, 693, 120, 694, 975, 695, 5, + /* 320 */ 37, 168, 91, 672, 61, 88, 167, 101, 96, 100, + /* 330 */ 779, 974, 711, 51, 50, 61, 775, 49, 48, 47, + /* 340 */ 234, 779, 242, 243, 975, 34, 34, 775, 34, 284, + /* 350 */ 776, 315, 314, 774, 961, 962, 33, 965, 187, 185, + /* 360 */ 183, 89, 34, 34, 774, 182, 131, 130, 129, 34, + /* 370 */ 34, 34, 1081, 28, 241, 77, 239, 1106, 303, 302, + /* 380 */ 247, 700, 244, 701, 310, 309, 708, 304, 305, 875, + /* 390 */ 306, 975, 975, 178, 975, 13, 3, 179, 777, 93, + /* 400 */ 90, 142, 140, 139, 307, 311, 1098, 64, 975, 975, + /* 410 */ 715, 312, 313, 317, 8, 975, 975, 975, 744, 745, + /* 420 */ 697, 79, 80, 25, 24, 735, 24, 765, 262, 262, + /* 430 */ 67, 70, 35, 35, 64, 92, 64, 32, 125, 124, + /* 440 */ 289, 736, 799, 213, 780, 782, 106, 17, 105, 16, + /* 450 */ 682, 286, 684, 288, 683, 698, 19, 699, 18, 112, + /* 460 */ 73, 111, 671, 766, 21, 214, 20, 197, 198, 200, + /* 470 */ 194, 201, 202, 71, 68, 208, 1046, 209, 207, 192, + /* 480 */ 206, 196, 1045, 231, 1042, 1041, 991, 256, 232, 316, + /* 490 */ 143, 44, 998, 1028, 1009, 1006, 1007, 1011, 263, 145, + /* 500 */ 973, 141, 267, 149, 272, 1027, 162, 163, 223, 726, + /* 510 */ 269, 276, 155, 152, 971, 164, 165, 886, 988, 291, + /* 520 */ 42, 190, 38, 300, 882, 72, 301, 63, 69, 153, + /* 530 */ 1105, 281, 154, 103, 1104, 277, 279, 156, 275, 157, + /* 540 */ 273, 271, 1101, 169, 308, 1097, 109, 1096, 268, 1093, + /* 550 */ 170, 904, 39, 36, 43, 161, 191, 871, 119, 869, + /* 560 */ 121, 122, 867, 866, 248, 181, 864, 863, 862, 45, + /* 570 */ 861, 860, 859, 184, 186, 856, 854, 852, 850, 188, + /* 580 */ 847, 189, 326, 261, 78, 83, 114, 270, 1029, 318, + /* 590 */ 319, 320, 321, 322, 323, 217, 238, 290, 324, 336, + /* 600 */ 824, 210, 249, 250, 97, 98, 211, 823, 252, 253, + /* 610 */ 822, 257, 805, 804, 262, 264, 9, 285, 177, 172, + /* 620 */ 905, 175, 173, 171, 132, 865, 174, 176, 133, 858, + /* 630 */ 4, 857, 942, 134, 135, 703, 906, 849, 848, 81, + /* 640 */ 2, 158, 29, 159, 160, 84, 148, 728, 147, 225, + /* 650 */ 731, 954, 85, 30, 733, 86, 274, 10, 737, 150, + /* 660 */ 31, 781, 11, 95, 7, 12, 26, 783, 27, 635, + /* 670 */ 287, 631, 629, 93, 628, 627, 624, 594, 298, 99, + /* 680 */ 65, 35, 674, 102, 66, 673, 104, 108, 670, 616, + /* 690 */ 110, 614, 606, 612, 608, 610, 604, 602, 638, 637, + /* 700 */ 636, 634, 633, 632, 630, 626, 625, 180, 592, 559, + /* 710 */ 557, 828, 827, 827, 827, 827, 827, 827, 827, 827, + /* 720 */ 827, 827, 827, 137, 138, }; static const YYCODETYPE yy_lookahead[] = { - /* 0 */ 193, 1, 192, 193, 0, 255, 212, 255, 255, 9, - /* 10 */ 190, 191, 255, 13, 14, 193, 16, 17, 265, 266, - /* 20 */ 20, 21, 255, 23, 24, 25, 26, 27, 28, 255, - /* 30 */ 5, 255, 238, 33, 34, 255, 212, 37, 38, 39, - /* 40 */ 13, 14, 266, 16, 17, 265, 266, 20, 21, 1, - /* 50 */ 23, 24, 25, 26, 27, 28, 236, 9, 33, 34, - /* 60 */ 33, 34, 238, 256, 37, 38, 39, 14, 193, 16, - /* 70 */ 17, 193, 252, 20, 21, 199, 23, 24, 25, 26, - /* 80 */ 27, 28, 260, 79, 262, 198, 33, 34, 199, 202, + /* 0 */ 236, 1, 236, 193, 240, 193, 240, 1, 257, 9, + /* 10 */ 0, 190, 191, 13, 14, 9, 16, 17, 267, 268, + /* 20 */ 20, 21, 193, 23, 24, 25, 26, 27, 28, 192, + /* 30 */ 193, 5, 236, 33, 34, 257, 240, 37, 38, 39, + /* 40 */ 13, 14, 193, 16, 17, 267, 268, 20, 21, 1, + /* 50 */ 23, 24, 25, 26, 27, 28, 193, 9, 229, 238, + /* 60 */ 33, 34, 60, 193, 37, 38, 39, 14, 258, 16, + /* 70 */ 17, 259, 260, 20, 21, 254, 23, 24, 25, 26, + /* 80 */ 27, 28, 79, 199, 235, 193, 33, 34, 239, 79, /* 90 */ 37, 38, 39, 45, 46, 47, 48, 49, 50, 51, - /* 100 */ 52, 53, 54, 55, 56, 57, 58, 231, 79, 61, - /* 110 */ 110, 1, 237, 13, 14, 193, 16, 17, 81, 9, - /* 120 */ 20, 21, 233, 23, 24, 25, 26, 27, 28, 37, - /* 130 */ 38, 39, 105, 33, 34, 257, 258, 37, 38, 39, - /* 140 */ 13, 14, 236, 16, 17, 255, 236, 20, 21, 1, - /* 150 */ 23, 24, 25, 26, 27, 28, 234, 9, 252, 237, - /* 160 */ 33, 34, 252, 255, 37, 38, 39, 88, 89, 90, - /* 170 */ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - /* 180 */ 101, 102, 211, 193, 213, 214, 215, 216, 217, 218, - /* 190 */ 219, 220, 221, 222, 223, 224, 225, 226, 16, 17, - /* 200 */ 193, 255, 20, 21, 193, 23, 24, 25, 26, 27, - /* 210 */ 28, 193, 44, 199, 104, 33, 34, 193, 255, 37, - /* 220 */ 38, 39, 1, 2, 234, 255, 5, 237, 7, 61, - /* 230 */ 9, 1, 2, 193, 104, 5, 68, 7, 108, 9, - /* 240 */ 110, 73, 74, 75, 230, 231, 232, 233, 25, 26, - /* 250 */ 27, 28, 228, 235, 33, 34, 33, 34, 37, 238, - /* 260 */ 37, 38, 39, 33, 34, 65, 66, 67, 88, 262, - /* 270 */ 90, 91, 104, 262, 136, 95, 37, 97, 98, 99, - /* 280 */ 112, 101, 102, 145, 146, 211, 193, 255, 214, 215, - /* 290 */ 62, 63, 64, 219, 198, 221, 222, 223, 202, 225, - /* 300 */ 226, 104, 262, 135, 264, 137, 62, 63, 64, 112, - /* 310 */ 212, 212, 144, 69, 70, 71, 72, 68, 5, 255, - /* 320 */ 7, 193, 78, 68, 5, 104, 7, 234, 2, 238, - /* 330 */ 237, 5, 111, 7, 104, 9, 238, 238, 117, 255, - /* 340 */ 76, 111, 62, 63, 64, 81, 15, 117, 105, 69, - /* 350 */ 70, 71, 72, 198, 115, 134, 113, 202, 193, 33, - /* 360 */ 34, 255, 234, 193, 134, 237, 62, 63, 64, 193, - /* 370 */ 193, 193, 239, 69, 70, 71, 72, 33, 34, 193, - /* 380 */ 193, 37, 38, 39, 200, 201, 253, 138, 238, 140, - /* 390 */ 105, 142, 143, 138, 109, 140, 109, 142, 143, 234, - /* 400 */ 196, 197, 237, 116, 234, 1, 60, 237, 125, 126, - /* 410 */ 234, 234, 234, 237, 237, 237, 109, 105, 255, 109, - /* 420 */ 234, 234, 105, 237, 237, 113, 109, 105, 105, 105, - /* 430 */ 117, 109, 109, 109, 105, 229, 117, 111, 109, 132, - /* 440 */ 130, 37, 111, 105, 105, 255, 104, 109, 109, 107, - /* 450 */ 104, 255, 105, 105, 105, 193, 109, 109, 109, 104, - /* 460 */ 139, 106, 141, 5, 139, 7, 141, 139, 5, 141, - /* 470 */ 7, 139, 139, 141, 141, 139, 229, 141, 76, 77, - /* 480 */ 255, 255, 255, 229, 193, 229, 229, 229, 229, 193, - /* 490 */ 254, 193, 193, 193, 193, 193, 236, 236, 193, 193, - /* 500 */ 263, 263, 236, 240, 193, 60, 227, 193, 193, 193, - /* 510 */ 117, 193, 259, 193, 103, 242, 244, 122, 249, 251, - /* 520 */ 193, 250, 128, 193, 259, 129, 259, 193, 193, 259, - /* 530 */ 193, 131, 123, 193, 193, 127, 193, 248, 193, 247, - /* 540 */ 246, 121, 245, 193, 193, 193, 193, 193, 120, 193, - /* 550 */ 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - /* 560 */ 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, + /* 100 */ 52, 53, 54, 55, 56, 57, 58, 105, 199, 61, + /* 110 */ 110, 13, 14, 105, 16, 17, 232, 257, 20, 21, + /* 120 */ 112, 23, 24, 25, 26, 27, 28, 264, 268, 266, + /* 130 */ 81, 33, 34, 106, 264, 37, 38, 39, 13, 14, + /* 140 */ 257, 16, 17, 234, 238, 20, 21, 88, 23, 24, + /* 150 */ 25, 26, 27, 28, 262, 257, 264, 198, 33, 34, + /* 160 */ 254, 202, 37, 38, 39, 106, 89, 90, 91, 92, + /* 170 */ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + /* 180 */ 103, 213, 214, 215, 216, 217, 218, 219, 220, 221, + /* 190 */ 222, 223, 224, 225, 226, 227, 16, 17, 88, 238, + /* 200 */ 20, 21, 257, 23, 24, 25, 26, 27, 28, 37, + /* 210 */ 38, 39, 44, 33, 34, 254, 106, 37, 38, 39, + /* 220 */ 1, 2, 193, 198, 5, 76, 7, 202, 9, 61, + /* 230 */ 81, 1, 2, 211, 212, 5, 68, 7, 5, 9, + /* 240 */ 7, 73, 74, 75, 65, 66, 67, 139, 89, 141, + /* 250 */ 91, 92, 33, 34, 193, 96, 37, 98, 99, 100, + /* 260 */ 240, 102, 103, 33, 34, 213, 237, 215, 216, 1, + /* 270 */ 257, 193, 220, 105, 222, 223, 224, 9, 226, 227, + /* 280 */ 112, 25, 26, 27, 28, 193, 5, 136, 7, 33, + /* 290 */ 34, 200, 201, 37, 38, 39, 145, 146, 193, 62, + /* 300 */ 63, 64, 257, 135, 68, 137, 69, 70, 71, 72, + /* 310 */ 68, 2, 144, 235, 5, 78, 7, 239, 9, 62, + /* 320 */ 63, 64, 199, 5, 105, 264, 69, 70, 71, 72, + /* 330 */ 111, 239, 37, 33, 34, 105, 117, 37, 38, 39, + /* 340 */ 235, 111, 33, 34, 239, 193, 193, 117, 193, 15, + /* 350 */ 117, 33, 34, 134, 231, 232, 233, 234, 62, 63, + /* 360 */ 64, 241, 193, 193, 134, 69, 70, 71, 72, 193, + /* 370 */ 193, 193, 257, 105, 138, 255, 140, 240, 142, 143, + /* 380 */ 138, 5, 140, 7, 142, 143, 88, 235, 235, 198, + /* 390 */ 235, 239, 239, 202, 239, 105, 196, 197, 117, 109, + /* 400 */ 110, 62, 63, 64, 235, 235, 240, 88, 239, 239, + /* 410 */ 115, 235, 235, 235, 116, 239, 239, 239, 125, 126, + /* 420 */ 111, 106, 106, 88, 88, 106, 88, 1, 113, 113, + /* 430 */ 88, 88, 88, 88, 88, 88, 88, 105, 76, 77, + /* 440 */ 108, 106, 106, 257, 106, 111, 139, 139, 141, 141, + /* 450 */ 106, 106, 106, 106, 106, 5, 139, 7, 141, 139, + /* 460 */ 105, 141, 107, 37, 139, 257, 141, 257, 257, 257, + /* 470 */ 257, 257, 257, 130, 132, 257, 230, 257, 257, 257, + /* 480 */ 257, 257, 230, 230, 230, 230, 238, 193, 230, 230, + /* 490 */ 193, 256, 193, 265, 193, 193, 193, 193, 238, 193, + /* 500 */ 238, 60, 261, 193, 193, 265, 242, 193, 261, 117, + /* 510 */ 261, 261, 249, 252, 193, 193, 193, 193, 253, 193, + /* 520 */ 193, 193, 193, 193, 193, 129, 193, 128, 131, 251, + /* 530 */ 193, 123, 250, 193, 193, 122, 127, 248, 121, 247, + /* 540 */ 120, 119, 193, 193, 193, 193, 193, 193, 118, 193, + /* 550 */ 193, 193, 193, 193, 193, 243, 193, 193, 193, 193, + /* 560 */ 193, 193, 193, 193, 193, 193, 193, 193, 193, 133, /* 570 */ 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - /* 580 */ 193, 119, 194, 194, 194, 194, 194, 118, 133, 87, - /* 590 */ 86, 50, 83, 194, 54, 194, 85, 194, 84, 82, - /* 600 */ 79, 194, 5, 147, 199, 199, 194, 5, 5, 5, - /* 610 */ 5, 147, 90, 89, 136, 194, 113, 195, 204, 195, - /* 620 */ 210, 205, 209, 208, 207, 206, 203, 194, 196, 195, - /* 630 */ 194, 200, 195, 194, 194, 107, 104, 114, 105, 241, - /* 640 */ 243, 104, 104, 109, 109, 227, 1, 105, 105, 104, - /* 650 */ 124, 105, 104, 109, 104, 124, 105, 104, 109, 105, - /* 660 */ 104, 109, 104, 104, 107, 104, 111, 76, 108, 9, - /* 670 */ 5, 5, 5, 5, 5, 80, 15, 76, 16, 109, - /* 680 */ 141, 5, 5, 105, 5, 5, 16, 5, 141, 5, - /* 690 */ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - /* 700 */ 5, 5, 5, 141, 141, 109, 80, 60, 59, 0, - /* 710 */ 267, 267, 267, 267, 267, 267, 267, 267, 267, 21, - /* 720 */ 21, 267, 267, 267, 267, 267, 267, 267, 267, 267, - /* 730 */ 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - /* 740 */ 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - /* 750 */ 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - /* 760 */ 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - /* 770 */ 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - /* 780 */ 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - /* 790 */ 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - /* 800 */ 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - /* 810 */ 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - /* 820 */ 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - /* 830 */ 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - /* 840 */ 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - /* 850 */ 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - /* 860 */ 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - /* 870 */ 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - /* 880 */ 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - /* 890 */ 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - /* 900 */ 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, + /* 580 */ 193, 193, 104, 194, 194, 194, 87, 194, 194, 86, + /* 590 */ 50, 83, 85, 54, 84, 194, 194, 194, 82, 79, + /* 600 */ 5, 194, 147, 5, 199, 199, 194, 5, 147, 5, + /* 610 */ 5, 136, 91, 90, 113, 88, 105, 108, 203, 208, + /* 620 */ 210, 205, 204, 209, 195, 194, 207, 206, 195, 194, + /* 630 */ 196, 194, 228, 195, 195, 106, 212, 194, 194, 114, + /* 640 */ 200, 246, 105, 245, 244, 88, 88, 106, 105, 1, + /* 650 */ 106, 228, 105, 88, 106, 105, 105, 124, 106, 105, + /* 660 */ 88, 106, 124, 76, 105, 105, 105, 111, 105, 9, + /* 670 */ 108, 5, 5, 109, 5, 5, 5, 80, 15, 76, + /* 680 */ 16, 88, 5, 141, 16, 5, 141, 141, 106, 5, + /* 690 */ 141, 5, 5, 5, 5, 5, 5, 5, 5, 5, + /* 700 */ 5, 5, 5, 5, 5, 5, 5, 88, 80, 60, + /* 710 */ 59, 0, 269, 269, 269, 269, 269, 269, 269, 269, + /* 720 */ 269, 269, 269, 21, 21, 269, 269, 269, 269, 269, + /* 730 */ 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + /* 740 */ 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + /* 750 */ 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + /* 760 */ 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + /* 770 */ 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + /* 780 */ 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + /* 790 */ 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + /* 800 */ 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + /* 810 */ 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + /* 820 */ 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + /* 830 */ 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + /* 840 */ 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + /* 850 */ 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + /* 860 */ 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + /* 870 */ 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + /* 880 */ 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + /* 890 */ 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + /* 900 */ 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + /* 910 */ 269, 269, 269, 269, }; -#define YY_SHIFT_COUNT (340) +#define YY_SHIFT_COUNT (341) #define YY_SHIFT_MIN (0) -#define YY_SHIFT_MAX (709) +#define YY_SHIFT_MAX (711) static const unsigned short int yy_shift_ofst[] = { - /* 0 */ 168, 79, 79, 180, 180, 29, 221, 230, 110, 148, - /* 10 */ 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, - /* 20 */ 148, 148, 0, 48, 230, 326, 326, 326, 326, 197, - /* 30 */ 197, 148, 148, 148, 4, 148, 148, 264, 29, 37, - /* 40 */ 37, 721, 721, 721, 230, 230, 230, 230, 230, 230, + /* 0 */ 168, 77, 77, 159, 159, 3, 219, 230, 268, 6, + /* 10 */ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + /* 20 */ 6, 6, 0, 48, 230, 309, 309, 309, 8, 8, + /* 30 */ 6, 6, 6, 10, 6, 6, 149, 3, 49, 49, + /* 40 */ 26, 725, 725, 725, 230, 230, 230, 230, 230, 230, /* 50 */ 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, - /* 60 */ 230, 230, 230, 230, 326, 326, 326, 25, 25, 25, - /* 70 */ 25, 25, 25, 25, 148, 148, 148, 239, 148, 148, - /* 80 */ 148, 197, 197, 148, 148, 148, 148, 283, 283, 287, - /* 90 */ 197, 148, 148, 148, 148, 148, 148, 148, 148, 148, - /* 100 */ 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, - /* 110 */ 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, - /* 120 */ 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, - /* 130 */ 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, - /* 140 */ 148, 148, 148, 445, 445, 445, 393, 393, 393, 445, - /* 150 */ 393, 445, 396, 400, 394, 409, 408, 395, 420, 428, - /* 160 */ 462, 469, 455, 445, 445, 445, 411, 29, 29, 445, - /* 170 */ 445, 502, 504, 541, 509, 511, 540, 514, 517, 411, - /* 180 */ 445, 521, 521, 445, 521, 445, 521, 445, 445, 721, - /* 190 */ 721, 27, 100, 127, 100, 100, 53, 182, 223, 223, - /* 200 */ 223, 223, 244, 280, 304, 344, 344, 344, 344, 249, - /* 210 */ 255, 138, 92, 92, 313, 319, 130, 200, 228, 285, - /* 220 */ 243, 312, 317, 322, 323, 324, 329, 404, 346, 331, - /* 230 */ 307, 310, 338, 339, 347, 348, 349, 342, 321, 325, - /* 240 */ 328, 332, 333, 355, 336, 458, 463, 402, 597, 456, - /* 250 */ 602, 603, 464, 604, 605, 522, 524, 478, 503, 528, - /* 260 */ 532, 523, 533, 537, 534, 535, 542, 538, 543, 544, - /* 270 */ 545, 546, 548, 645, 550, 551, 553, 549, 526, 552, - /* 280 */ 531, 554, 556, 555, 558, 528, 559, 557, 561, 560, - /* 290 */ 591, 660, 665, 666, 667, 668, 669, 595, 661, 601, - /* 300 */ 662, 539, 547, 570, 570, 570, 570, 670, 562, 563, - /* 310 */ 570, 570, 570, 676, 677, 578, 570, 679, 680, 682, - /* 320 */ 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, - /* 330 */ 694, 695, 696, 697, 596, 626, 698, 699, 647, 649, - /* 340 */ 709, + /* 60 */ 230, 230, 230, 230, 309, 309, 309, 318, 318, 318, + /* 70 */ 318, 318, 318, 318, 6, 6, 6, 295, 6, 6, + /* 80 */ 6, 8, 8, 6, 6, 6, 6, 293, 293, 298, + /* 90 */ 8, 6, 6, 6, 6, 6, 6, 6, 6, 6, + /* 100 */ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + /* 110 */ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + /* 120 */ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + /* 130 */ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + /* 140 */ 6, 6, 6, 441, 441, 441, 392, 392, 392, 441, + /* 150 */ 392, 441, 396, 397, 399, 408, 409, 413, 417, 420, + /* 160 */ 422, 430, 436, 441, 441, 441, 478, 3, 3, 441, + /* 170 */ 441, 499, 503, 540, 508, 507, 539, 510, 516, 478, + /* 180 */ 26, 441, 520, 520, 441, 520, 441, 520, 441, 441, + /* 190 */ 725, 725, 27, 98, 125, 98, 98, 53, 180, 256, + /* 200 */ 256, 256, 256, 237, 257, 296, 300, 300, 300, 300, + /* 210 */ 236, 242, 151, 172, 172, 233, 281, 290, 179, 339, + /* 220 */ 59, 315, 316, 110, 319, 335, 336, 338, 426, 2, + /* 230 */ 334, 342, 343, 344, 345, 346, 347, 348, 332, 108, + /* 240 */ 307, 308, 376, 450, 317, 320, 355, 325, 362, 595, + /* 250 */ 455, 598, 602, 461, 604, 605, 521, 523, 475, 501, + /* 260 */ 509, 511, 525, 529, 537, 527, 557, 541, 543, 544, + /* 270 */ 558, 547, 548, 550, 648, 551, 552, 554, 565, 533, + /* 280 */ 572, 538, 555, 559, 556, 560, 509, 561, 562, 563, + /* 290 */ 564, 587, 660, 666, 667, 669, 670, 671, 597, 663, + /* 300 */ 603, 664, 542, 545, 593, 593, 593, 593, 668, 546, + /* 310 */ 549, 593, 593, 593, 677, 680, 582, 593, 684, 686, + /* 320 */ 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, + /* 330 */ 697, 698, 699, 700, 701, 619, 628, 702, 703, 649, + /* 340 */ 651, 711, }; -#define YY_REDUCE_COUNT (190) -#define YY_REDUCE_MIN (-250) -#define YY_REDUCE_MAX (440) +#define YY_REDUCE_COUNT (191) +#define YY_REDUCE_MIN (-249) +#define YY_REDUCE_MAX (444) static const short yy_reduce_ofst[] = { - /* 0 */ -180, -29, -29, 74, 74, 14, -247, -220, -122, -78, - /* 10 */ 40, -178, -10, 93, 128, 165, 170, 176, 177, 178, - /* 20 */ 186, 187, -193, -190, -224, -206, -176, 98, 99, -94, - /* 30 */ -90, 7, 11, 18, -111, 24, -125, -113, -124, 96, - /* 40 */ 155, 133, 184, 204, -250, -248, -243, -233, -226, -110, - /* 50 */ -92, -54, -37, -30, 32, 64, 84, 106, 163, 190, - /* 60 */ 196, 225, 226, 227, 21, 91, 150, 206, 247, 254, - /* 70 */ 256, 257, 258, 259, 262, 291, 296, 236, 298, 299, - /* 80 */ 300, 260, 261, 301, 302, 305, 306, 237, 238, 263, - /* 90 */ 266, 311, 314, 315, 316, 318, 320, 327, 330, 334, - /* 100 */ 335, 337, 340, 341, 343, 345, 350, 351, 352, 353, - /* 110 */ 354, 356, 357, 358, 359, 360, 361, 362, 363, 364, + /* 0 */ -179, -32, -32, 52, 52, 123, -249, -222, -188, -151, + /* 10 */ -137, -108, 78, 105, 152, 153, 155, 169, 170, 176, + /* 20 */ 177, 178, -190, -163, -140, -236, -234, -204, -94, -39, + /* 30 */ -130, 61, 29, -91, -171, 92, -41, -116, 25, 191, + /* 40 */ 22, 120, 91, 200, -117, -102, -55, 13, 45, 115, + /* 50 */ 186, 208, 210, 211, 212, 213, 214, 215, 218, 220, + /* 60 */ 221, 222, 223, 224, 20, 137, 166, 246, 252, 253, + /* 70 */ 254, 255, 258, 259, 294, 297, 299, 235, 301, 302, + /* 80 */ 303, 248, 260, 304, 306, 310, 311, 228, 240, 264, + /* 90 */ 262, 314, 321, 322, 323, 324, 326, 327, 328, 329, + /* 100 */ 330, 331, 333, 337, 340, 341, 349, 350, 351, 352, + /* 110 */ 353, 354, 356, 357, 358, 359, 360, 361, 363, 364, /* 120 */ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, - /* 130 */ 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - /* 140 */ 385, 386, 387, 388, 389, 390, 253, 265, 267, 391, - /* 150 */ 270, 392, 268, 271, 269, 289, 292, 294, 297, 272, - /* 160 */ 397, 273, 398, 399, 401, 403, 279, 405, 406, 407, - /* 170 */ 412, 410, 413, 415, 414, 417, 416, 419, 423, 418, - /* 180 */ 421, 422, 424, 433, 434, 436, 437, 439, 440, 431, - /* 190 */ 432, + /* 130 */ 375, 377, 378, 379, 380, 381, 382, 383, 384, 385, + /* 140 */ 386, 387, 388, 389, 390, 391, 241, 247, 249, 393, + /* 150 */ 250, 394, 265, 261, 278, 282, 263, 289, 292, 395, + /* 160 */ 398, 400, 312, 401, 402, 403, 404, 405, 406, 407, + /* 170 */ 412, 410, 414, 411, 418, 419, 416, 421, 415, 423, + /* 180 */ 424, 431, 429, 433, 435, 438, 437, 439, 443, 444, + /* 190 */ 440, 434, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 818, 931, 877, 943, 865, 874, 1079, 1079, 818, 818, - /* 10 */ 818, 818, 818, 818, 818, 818, 818, 818, 818, 818, - /* 20 */ 818, 818, 990, 837, 1079, 818, 818, 818, 818, 818, - /* 30 */ 818, 818, 818, 818, 874, 818, 818, 880, 874, 880, - /* 40 */ 880, 985, 915, 933, 818, 818, 818, 818, 818, 818, - /* 50 */ 818, 818, 818, 818, 818, 818, 818, 818, 818, 818, - /* 60 */ 818, 818, 818, 818, 818, 818, 818, 818, 818, 818, - /* 70 */ 818, 818, 818, 818, 818, 818, 818, 992, 998, 995, - /* 80 */ 818, 818, 818, 1000, 818, 818, 818, 1022, 1022, 983, - /* 90 */ 818, 818, 818, 818, 818, 818, 818, 818, 818, 818, - /* 100 */ 818, 818, 818, 818, 818, 818, 818, 818, 818, 818, - /* 110 */ 818, 818, 818, 818, 818, 818, 818, 818, 818, 863, - /* 120 */ 818, 861, 818, 818, 818, 818, 818, 818, 818, 818, - /* 130 */ 818, 818, 818, 818, 818, 818, 848, 818, 818, 818, - /* 140 */ 818, 818, 818, 839, 839, 839, 818, 818, 818, 839, - /* 150 */ 818, 839, 1029, 1033, 1027, 1015, 1023, 1014, 1010, 1008, - /* 160 */ 1006, 1005, 1037, 839, 839, 839, 878, 874, 874, 839, - /* 170 */ 839, 896, 894, 892, 884, 890, 886, 888, 882, 866, - /* 180 */ 839, 872, 872, 839, 872, 839, 872, 839, 839, 915, - /* 190 */ 933, 818, 1038, 818, 1078, 1028, 1068, 1067, 1074, 1066, - /* 200 */ 1065, 1064, 818, 818, 818, 1060, 1061, 1063, 1062, 818, - /* 210 */ 818, 818, 1070, 1069, 818, 818, 818, 818, 818, 818, - /* 220 */ 818, 818, 818, 818, 818, 818, 818, 818, 1040, 818, - /* 230 */ 1034, 1030, 818, 818, 818, 818, 818, 818, 818, 818, - /* 240 */ 818, 818, 818, 945, 818, 818, 818, 818, 818, 818, - /* 250 */ 818, 818, 818, 818, 818, 818, 818, 818, 982, 818, - /* 260 */ 818, 818, 818, 818, 994, 993, 818, 818, 818, 818, - /* 270 */ 818, 818, 818, 818, 818, 818, 818, 1024, 818, 1016, - /* 280 */ 818, 818, 818, 818, 818, 957, 818, 818, 818, 818, - /* 290 */ 818, 818, 818, 818, 818, 818, 818, 818, 818, 818, - /* 300 */ 818, 818, 818, 1097, 1092, 1093, 1090, 818, 818, 818, - /* 310 */ 1089, 1084, 1085, 818, 818, 818, 1082, 818, 818, 818, - /* 320 */ 818, 818, 818, 818, 818, 818, 818, 818, 818, 818, - /* 330 */ 818, 818, 818, 818, 899, 818, 846, 844, 818, 835, - /* 340 */ 818, + /* 0 */ 825, 941, 884, 953, 872, 881, 1089, 1089, 825, 825, + /* 10 */ 825, 825, 825, 825, 825, 825, 825, 825, 825, 825, + /* 20 */ 825, 825, 1000, 844, 1089, 825, 825, 825, 825, 825, + /* 30 */ 825, 825, 825, 881, 825, 825, 887, 881, 887, 887, + /* 40 */ 825, 995, 925, 943, 825, 825, 825, 825, 825, 825, + /* 50 */ 825, 825, 825, 825, 825, 825, 825, 825, 825, 825, + /* 60 */ 825, 825, 825, 825, 825, 825, 825, 825, 825, 825, + /* 70 */ 825, 825, 825, 825, 825, 825, 825, 1002, 1008, 1005, + /* 80 */ 825, 825, 825, 1010, 825, 825, 825, 1032, 1032, 993, + /* 90 */ 825, 825, 825, 825, 825, 825, 825, 825, 825, 825, + /* 100 */ 825, 825, 825, 825, 825, 825, 825, 825, 825, 825, + /* 110 */ 825, 825, 825, 825, 825, 825, 825, 825, 825, 870, + /* 120 */ 825, 868, 825, 825, 825, 825, 825, 825, 825, 825, + /* 130 */ 825, 825, 825, 825, 825, 825, 855, 825, 825, 825, + /* 140 */ 825, 825, 825, 846, 846, 846, 825, 825, 825, 846, + /* 150 */ 825, 846, 1039, 1043, 1037, 1025, 1033, 1024, 1020, 1018, + /* 160 */ 1016, 1015, 1047, 846, 846, 846, 885, 881, 881, 846, + /* 170 */ 846, 903, 901, 899, 891, 897, 893, 895, 889, 873, + /* 180 */ 825, 846, 879, 879, 846, 879, 846, 879, 846, 846, + /* 190 */ 925, 943, 825, 1048, 825, 1088, 1038, 1078, 1077, 1084, + /* 200 */ 1076, 1075, 1074, 825, 825, 825, 1070, 1071, 1073, 1072, + /* 210 */ 825, 825, 825, 1080, 1079, 825, 825, 825, 825, 825, + /* 220 */ 825, 825, 825, 825, 825, 825, 825, 825, 825, 1050, + /* 230 */ 825, 1044, 1040, 825, 825, 825, 825, 825, 825, 825, + /* 240 */ 825, 825, 825, 825, 825, 825, 955, 825, 825, 825, + /* 250 */ 825, 825, 825, 825, 825, 825, 825, 825, 825, 992, + /* 260 */ 825, 825, 825, 825, 825, 1004, 1003, 825, 825, 825, + /* 270 */ 825, 825, 825, 825, 825, 825, 825, 825, 1034, 825, + /* 280 */ 1026, 825, 825, 825, 825, 825, 967, 825, 825, 825, + /* 290 */ 825, 825, 825, 825, 825, 825, 825, 825, 825, 825, + /* 300 */ 825, 825, 825, 825, 1107, 1102, 1103, 1100, 825, 825, + /* 310 */ 825, 1099, 1094, 1095, 825, 825, 825, 1092, 825, 825, + /* 320 */ 825, 825, 825, 825, 825, 825, 825, 825, 825, 825, + /* 330 */ 825, 825, 825, 825, 825, 909, 825, 853, 851, 825, + /* 340 */ 842, 825, }; /********** End of lemon-generated parsing tables *****************************/ @@ -581,6 +582,7 @@ static const YYCODETYPE yyFallback[] = { 0, /* QTIME => nothing */ 0, /* CONNS => nothing */ 0, /* STATE => nothing */ + 0, /* COMMA => nothing */ 0, /* KEEP => nothing */ 0, /* CACHE => nothing */ 0, /* REPLICA => nothing */ @@ -602,7 +604,6 @@ static const YYCODETYPE yyFallback[] = { 0, /* UNSIGNED => nothing */ 0, /* TAGS => nothing */ 0, /* USING => nothing */ - 0, /* COMMA => nothing */ 0, /* AS => nothing */ 1, /* NULL => ID */ 0, /* SELECT => nothing */ @@ -856,28 +857,28 @@ static const char *const yyTokenName[] = { /* 85 */ "QTIME", /* 86 */ "CONNS", /* 87 */ "STATE", - /* 88 */ "KEEP", - /* 89 */ "CACHE", - /* 90 */ "REPLICA", - /* 91 */ "QUORUM", - /* 92 */ "DAYS", - /* 93 */ "MINROWS", - /* 94 */ "MAXROWS", - /* 95 */ "BLOCKS", - /* 96 */ "CTIME", - /* 97 */ "WAL", - /* 98 */ "FSYNC", - /* 99 */ "COMP", - /* 100 */ "PRECISION", - /* 101 */ "UPDATE", - /* 102 */ "CACHELAST", - /* 103 */ "PARTITIONS", - /* 104 */ "LP", - /* 105 */ "RP", - /* 106 */ "UNSIGNED", - /* 107 */ "TAGS", - /* 108 */ "USING", - /* 109 */ "COMMA", + /* 88 */ "COMMA", + /* 89 */ "KEEP", + /* 90 */ "CACHE", + /* 91 */ "REPLICA", + /* 92 */ "QUORUM", + /* 93 */ "DAYS", + /* 94 */ "MINROWS", + /* 95 */ "MAXROWS", + /* 96 */ "BLOCKS", + /* 97 */ "CTIME", + /* 98 */ "WAL", + /* 99 */ "FSYNC", + /* 100 */ "COMP", + /* 101 */ "PRECISION", + /* 102 */ "UPDATE", + /* 103 */ "CACHELAST", + /* 104 */ "PARTITIONS", + /* 105 */ "LP", + /* 106 */ "RP", + /* 107 */ "UNSIGNED", + /* 108 */ "TAGS", + /* 109 */ "USING", /* 110 */ "AS", /* 111 */ "NULL", /* 112 */ "SELECT", @@ -979,62 +980,64 @@ static const char *const yyTokenName[] = { /* 208 */ "users", /* 209 */ "conns", /* 210 */ "state", - /* 211 */ "keep", - /* 212 */ "tagitemlist", - /* 213 */ "cache", - /* 214 */ "replica", - /* 215 */ "quorum", - /* 216 */ "days", - /* 217 */ "minrows", - /* 218 */ "maxrows", - /* 219 */ "blocks", - /* 220 */ "ctime", - /* 221 */ "wal", - /* 222 */ "fsync", - /* 223 */ "comp", - /* 224 */ "prec", - /* 225 */ "update", - /* 226 */ "cachelast", - /* 227 */ "partitions", - /* 228 */ "typename", - /* 229 */ "signed", - /* 230 */ "create_table_args", - /* 231 */ "create_stable_args", - /* 232 */ "create_table_list", - /* 233 */ "create_from_stable", - /* 234 */ "columnlist", - /* 235 */ "tagNamelist", - /* 236 */ "select", - /* 237 */ "column", - /* 238 */ "tagitem", - /* 239 */ "selcollist", - /* 240 */ "from", - /* 241 */ "where_opt", - /* 242 */ "interval_opt", - /* 243 */ "session_option", - /* 244 */ "windowstate_option", - /* 245 */ "fill_opt", - /* 246 */ "sliding_opt", - /* 247 */ "groupby_opt", - /* 248 */ "orderby_opt", - /* 249 */ "having_opt", - /* 250 */ "slimit_opt", - /* 251 */ "limit_opt", - /* 252 */ "union", - /* 253 */ "sclp", - /* 254 */ "distinct", - /* 255 */ "expr", - /* 256 */ "as", - /* 257 */ "tablelist", - /* 258 */ "sub", - /* 259 */ "tmvar", - /* 260 */ "sortlist", - /* 261 */ "sortitem", - /* 262 */ "item", - /* 263 */ "sortorder", - /* 264 */ "grouplist", - /* 265 */ "exprlist", - /* 266 */ "expritem", + /* 211 */ "intitemlist", + /* 212 */ "intitem", + /* 213 */ "keep", + /* 214 */ "cache", + /* 215 */ "replica", + /* 216 */ "quorum", + /* 217 */ "days", + /* 218 */ "minrows", + /* 219 */ "maxrows", + /* 220 */ "blocks", + /* 221 */ "ctime", + /* 222 */ "wal", + /* 223 */ "fsync", + /* 224 */ "comp", + /* 225 */ "prec", + /* 226 */ "update", + /* 227 */ "cachelast", + /* 228 */ "partitions", + /* 229 */ "typename", + /* 230 */ "signed", + /* 231 */ "create_table_args", + /* 232 */ "create_stable_args", + /* 233 */ "create_table_list", + /* 234 */ "create_from_stable", + /* 235 */ "columnlist", + /* 236 */ "tagitemlist", + /* 237 */ "tagNamelist", + /* 238 */ "select", + /* 239 */ "column", + /* 240 */ "tagitem", + /* 241 */ "selcollist", + /* 242 */ "from", + /* 243 */ "where_opt", + /* 244 */ "interval_opt", + /* 245 */ "session_option", + /* 246 */ "windowstate_option", + /* 247 */ "fill_opt", + /* 248 */ "sliding_opt", + /* 249 */ "groupby_opt", + /* 250 */ "orderby_opt", + /* 251 */ "having_opt", + /* 252 */ "slimit_opt", + /* 253 */ "limit_opt", + /* 254 */ "union", + /* 255 */ "sclp", + /* 256 */ "distinct", + /* 257 */ "expr", + /* 258 */ "as", + /* 259 */ "tablelist", + /* 260 */ "sub", + /* 261 */ "tmvar", + /* 262 */ "sortlist", + /* 263 */ "sortitem", + /* 264 */ "item", + /* 265 */ "sortorder", + /* 266 */ "grouplist", + /* 267 */ "exprlist", + /* 268 */ "expritem", }; #endif /* defined(YYCOVERAGE) || !defined(NDEBUG) */ @@ -1120,208 +1123,211 @@ static const char *const yyRuleName[] = { /* 75 */ "state ::=", /* 76 */ "state ::= STATE ids", /* 77 */ "acct_optr ::= pps tseries storage streams qtime dbs users conns state", - /* 78 */ "keep ::= KEEP tagitemlist", - /* 79 */ "cache ::= CACHE INTEGER", - /* 80 */ "replica ::= REPLICA INTEGER", - /* 81 */ "quorum ::= QUORUM INTEGER", - /* 82 */ "days ::= DAYS INTEGER", - /* 83 */ "minrows ::= MINROWS INTEGER", - /* 84 */ "maxrows ::= MAXROWS INTEGER", - /* 85 */ "blocks ::= BLOCKS INTEGER", - /* 86 */ "ctime ::= CTIME INTEGER", - /* 87 */ "wal ::= WAL INTEGER", - /* 88 */ "fsync ::= FSYNC INTEGER", - /* 89 */ "comp ::= COMP INTEGER", - /* 90 */ "prec ::= PRECISION STRING", - /* 91 */ "update ::= UPDATE INTEGER", - /* 92 */ "cachelast ::= CACHELAST INTEGER", - /* 93 */ "partitions ::= PARTITIONS INTEGER", - /* 94 */ "db_optr ::=", - /* 95 */ "db_optr ::= db_optr cache", - /* 96 */ "db_optr ::= db_optr replica", - /* 97 */ "db_optr ::= db_optr quorum", - /* 98 */ "db_optr ::= db_optr days", - /* 99 */ "db_optr ::= db_optr minrows", - /* 100 */ "db_optr ::= db_optr maxrows", - /* 101 */ "db_optr ::= db_optr blocks", - /* 102 */ "db_optr ::= db_optr ctime", - /* 103 */ "db_optr ::= db_optr wal", - /* 104 */ "db_optr ::= db_optr fsync", - /* 105 */ "db_optr ::= db_optr comp", - /* 106 */ "db_optr ::= db_optr prec", - /* 107 */ "db_optr ::= db_optr keep", - /* 108 */ "db_optr ::= db_optr update", - /* 109 */ "db_optr ::= db_optr cachelast", - /* 110 */ "topic_optr ::= db_optr", - /* 111 */ "topic_optr ::= topic_optr partitions", - /* 112 */ "alter_db_optr ::=", - /* 113 */ "alter_db_optr ::= alter_db_optr replica", - /* 114 */ "alter_db_optr ::= alter_db_optr quorum", - /* 115 */ "alter_db_optr ::= alter_db_optr keep", - /* 116 */ "alter_db_optr ::= alter_db_optr blocks", - /* 117 */ "alter_db_optr ::= alter_db_optr comp", - /* 118 */ "alter_db_optr ::= alter_db_optr wal", - /* 119 */ "alter_db_optr ::= alter_db_optr fsync", - /* 120 */ "alter_db_optr ::= alter_db_optr update", - /* 121 */ "alter_db_optr ::= alter_db_optr cachelast", - /* 122 */ "alter_topic_optr ::= alter_db_optr", - /* 123 */ "alter_topic_optr ::= alter_topic_optr partitions", - /* 124 */ "typename ::= ids", - /* 125 */ "typename ::= ids LP signed RP", - /* 126 */ "typename ::= ids UNSIGNED", - /* 127 */ "signed ::= INTEGER", - /* 128 */ "signed ::= PLUS INTEGER", - /* 129 */ "signed ::= MINUS INTEGER", - /* 130 */ "cmd ::= CREATE TABLE create_table_args", - /* 131 */ "cmd ::= CREATE TABLE create_stable_args", - /* 132 */ "cmd ::= CREATE STABLE create_stable_args", - /* 133 */ "cmd ::= CREATE TABLE create_table_list", - /* 134 */ "create_table_list ::= create_from_stable", - /* 135 */ "create_table_list ::= create_table_list create_from_stable", - /* 136 */ "create_table_args ::= ifnotexists ids cpxName LP columnlist RP", - /* 137 */ "create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP", - /* 138 */ "create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP", - /* 139 */ "create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP", - /* 140 */ "tagNamelist ::= tagNamelist COMMA ids", - /* 141 */ "tagNamelist ::= ids", - /* 142 */ "create_table_args ::= ifnotexists ids cpxName AS select", - /* 143 */ "columnlist ::= columnlist COMMA column", - /* 144 */ "columnlist ::= column", - /* 145 */ "column ::= ids typename", - /* 146 */ "tagitemlist ::= tagitemlist COMMA tagitem", - /* 147 */ "tagitemlist ::= tagitem", - /* 148 */ "tagitem ::= INTEGER", - /* 149 */ "tagitem ::= FLOAT", - /* 150 */ "tagitem ::= STRING", - /* 151 */ "tagitem ::= BOOL", - /* 152 */ "tagitem ::= NULL", - /* 153 */ "tagitem ::= MINUS INTEGER", - /* 154 */ "tagitem ::= MINUS FLOAT", - /* 155 */ "tagitem ::= PLUS INTEGER", - /* 156 */ "tagitem ::= PLUS FLOAT", - /* 157 */ "select ::= SELECT selcollist from where_opt interval_opt session_option windowstate_option fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt", - /* 158 */ "select ::= LP select RP", - /* 159 */ "union ::= select", - /* 160 */ "union ::= union UNION ALL select", - /* 161 */ "cmd ::= union", - /* 162 */ "select ::= SELECT selcollist", - /* 163 */ "sclp ::= selcollist COMMA", - /* 164 */ "sclp ::=", - /* 165 */ "selcollist ::= sclp distinct expr as", - /* 166 */ "selcollist ::= sclp STAR", - /* 167 */ "as ::= AS ids", - /* 168 */ "as ::= ids", - /* 169 */ "as ::=", - /* 170 */ "distinct ::= DISTINCT", - /* 171 */ "distinct ::=", - /* 172 */ "from ::= FROM tablelist", - /* 173 */ "from ::= FROM sub", - /* 174 */ "sub ::= LP union RP", - /* 175 */ "sub ::= LP union RP ids", - /* 176 */ "sub ::= sub COMMA LP union RP ids", - /* 177 */ "tablelist ::= ids cpxName", - /* 178 */ "tablelist ::= ids cpxName ids", - /* 179 */ "tablelist ::= tablelist COMMA ids cpxName", - /* 180 */ "tablelist ::= tablelist COMMA ids cpxName ids", - /* 181 */ "tmvar ::= VARIABLE", - /* 182 */ "interval_opt ::= INTERVAL LP tmvar RP", - /* 183 */ "interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP", - /* 184 */ "interval_opt ::=", - /* 185 */ "session_option ::=", - /* 186 */ "session_option ::= SESSION LP ids cpxName COMMA tmvar RP", - /* 187 */ "windowstate_option ::=", - /* 188 */ "windowstate_option ::= STATE_WINDOW LP ids RP", - /* 189 */ "fill_opt ::=", - /* 190 */ "fill_opt ::= FILL LP ID COMMA tagitemlist RP", - /* 191 */ "fill_opt ::= FILL LP ID RP", - /* 192 */ "sliding_opt ::= SLIDING LP tmvar RP", - /* 193 */ "sliding_opt ::=", - /* 194 */ "orderby_opt ::=", - /* 195 */ "orderby_opt ::= ORDER BY sortlist", - /* 196 */ "sortlist ::= sortlist COMMA item sortorder", - /* 197 */ "sortlist ::= item sortorder", - /* 198 */ "item ::= ids cpxName", - /* 199 */ "sortorder ::= ASC", - /* 200 */ "sortorder ::= DESC", - /* 201 */ "sortorder ::=", - /* 202 */ "groupby_opt ::=", - /* 203 */ "groupby_opt ::= GROUP BY grouplist", - /* 204 */ "grouplist ::= grouplist COMMA item", - /* 205 */ "grouplist ::= item", - /* 206 */ "having_opt ::=", - /* 207 */ "having_opt ::= HAVING expr", - /* 208 */ "limit_opt ::=", - /* 209 */ "limit_opt ::= LIMIT signed", - /* 210 */ "limit_opt ::= LIMIT signed OFFSET signed", - /* 211 */ "limit_opt ::= LIMIT signed COMMA signed", - /* 212 */ "slimit_opt ::=", - /* 213 */ "slimit_opt ::= SLIMIT signed", - /* 214 */ "slimit_opt ::= SLIMIT signed SOFFSET signed", - /* 215 */ "slimit_opt ::= SLIMIT signed COMMA signed", - /* 216 */ "where_opt ::=", - /* 217 */ "where_opt ::= WHERE expr", - /* 218 */ "expr ::= LP expr RP", - /* 219 */ "expr ::= ID", - /* 220 */ "expr ::= ID DOT ID", - /* 221 */ "expr ::= ID DOT STAR", - /* 222 */ "expr ::= INTEGER", - /* 223 */ "expr ::= MINUS INTEGER", - /* 224 */ "expr ::= PLUS INTEGER", - /* 225 */ "expr ::= FLOAT", - /* 226 */ "expr ::= MINUS FLOAT", - /* 227 */ "expr ::= PLUS FLOAT", - /* 228 */ "expr ::= STRING", - /* 229 */ "expr ::= NOW", - /* 230 */ "expr ::= VARIABLE", - /* 231 */ "expr ::= PLUS VARIABLE", - /* 232 */ "expr ::= MINUS VARIABLE", - /* 233 */ "expr ::= BOOL", - /* 234 */ "expr ::= NULL", - /* 235 */ "expr ::= ID LP exprlist RP", - /* 236 */ "expr ::= ID LP STAR RP", - /* 237 */ "expr ::= expr IS NULL", - /* 238 */ "expr ::= expr IS NOT NULL", - /* 239 */ "expr ::= expr LT expr", - /* 240 */ "expr ::= expr GT expr", - /* 241 */ "expr ::= expr LE expr", - /* 242 */ "expr ::= expr GE expr", - /* 243 */ "expr ::= expr NE expr", - /* 244 */ "expr ::= expr EQ expr", - /* 245 */ "expr ::= expr BETWEEN expr AND expr", - /* 246 */ "expr ::= expr AND expr", - /* 247 */ "expr ::= expr OR expr", - /* 248 */ "expr ::= expr PLUS expr", - /* 249 */ "expr ::= expr MINUS expr", - /* 250 */ "expr ::= expr STAR expr", - /* 251 */ "expr ::= expr SLASH expr", - /* 252 */ "expr ::= expr REM expr", - /* 253 */ "expr ::= expr LIKE expr", - /* 254 */ "expr ::= expr IN LP exprlist RP", - /* 255 */ "exprlist ::= exprlist COMMA expritem", - /* 256 */ "exprlist ::= expritem", - /* 257 */ "expritem ::= expr", - /* 258 */ "expritem ::=", - /* 259 */ "cmd ::= RESET QUERY CACHE", - /* 260 */ "cmd ::= SYNCDB ids REPLICA", - /* 261 */ "cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist", - /* 262 */ "cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids", - /* 263 */ "cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist", - /* 264 */ "cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist", - /* 265 */ "cmd ::= ALTER TABLE ids cpxName DROP TAG ids", - /* 266 */ "cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids", - /* 267 */ "cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem", - /* 268 */ "cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist", - /* 269 */ "cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist", - /* 270 */ "cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids", - /* 271 */ "cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist", - /* 272 */ "cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist", - /* 273 */ "cmd ::= ALTER STABLE ids cpxName DROP TAG ids", - /* 274 */ "cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids", - /* 275 */ "cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem", - /* 276 */ "cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist", - /* 277 */ "cmd ::= KILL CONNECTION INTEGER", - /* 278 */ "cmd ::= KILL STREAM INTEGER COLON INTEGER", - /* 279 */ "cmd ::= KILL QUERY INTEGER COLON INTEGER", + /* 78 */ "intitemlist ::= intitemlist COMMA intitem", + /* 79 */ "intitemlist ::= intitem", + /* 80 */ "intitem ::= INTEGER", + /* 81 */ "keep ::= KEEP intitemlist", + /* 82 */ "cache ::= CACHE INTEGER", + /* 83 */ "replica ::= REPLICA INTEGER", + /* 84 */ "quorum ::= QUORUM INTEGER", + /* 85 */ "days ::= DAYS INTEGER", + /* 86 */ "minrows ::= MINROWS INTEGER", + /* 87 */ "maxrows ::= MAXROWS INTEGER", + /* 88 */ "blocks ::= BLOCKS INTEGER", + /* 89 */ "ctime ::= CTIME INTEGER", + /* 90 */ "wal ::= WAL INTEGER", + /* 91 */ "fsync ::= FSYNC INTEGER", + /* 92 */ "comp ::= COMP INTEGER", + /* 93 */ "prec ::= PRECISION STRING", + /* 94 */ "update ::= UPDATE INTEGER", + /* 95 */ "cachelast ::= CACHELAST INTEGER", + /* 96 */ "partitions ::= PARTITIONS INTEGER", + /* 97 */ "db_optr ::=", + /* 98 */ "db_optr ::= db_optr cache", + /* 99 */ "db_optr ::= db_optr replica", + /* 100 */ "db_optr ::= db_optr quorum", + /* 101 */ "db_optr ::= db_optr days", + /* 102 */ "db_optr ::= db_optr minrows", + /* 103 */ "db_optr ::= db_optr maxrows", + /* 104 */ "db_optr ::= db_optr blocks", + /* 105 */ "db_optr ::= db_optr ctime", + /* 106 */ "db_optr ::= db_optr wal", + /* 107 */ "db_optr ::= db_optr fsync", + /* 108 */ "db_optr ::= db_optr comp", + /* 109 */ "db_optr ::= db_optr prec", + /* 110 */ "db_optr ::= db_optr keep", + /* 111 */ "db_optr ::= db_optr update", + /* 112 */ "db_optr ::= db_optr cachelast", + /* 113 */ "topic_optr ::= db_optr", + /* 114 */ "topic_optr ::= topic_optr partitions", + /* 115 */ "alter_db_optr ::=", + /* 116 */ "alter_db_optr ::= alter_db_optr replica", + /* 117 */ "alter_db_optr ::= alter_db_optr quorum", + /* 118 */ "alter_db_optr ::= alter_db_optr keep", + /* 119 */ "alter_db_optr ::= alter_db_optr blocks", + /* 120 */ "alter_db_optr ::= alter_db_optr comp", + /* 121 */ "alter_db_optr ::= alter_db_optr wal", + /* 122 */ "alter_db_optr ::= alter_db_optr fsync", + /* 123 */ "alter_db_optr ::= alter_db_optr update", + /* 124 */ "alter_db_optr ::= alter_db_optr cachelast", + /* 125 */ "alter_topic_optr ::= alter_db_optr", + /* 126 */ "alter_topic_optr ::= alter_topic_optr partitions", + /* 127 */ "typename ::= ids", + /* 128 */ "typename ::= ids LP signed RP", + /* 129 */ "typename ::= ids UNSIGNED", + /* 130 */ "signed ::= INTEGER", + /* 131 */ "signed ::= PLUS INTEGER", + /* 132 */ "signed ::= MINUS INTEGER", + /* 133 */ "cmd ::= CREATE TABLE create_table_args", + /* 134 */ "cmd ::= CREATE TABLE create_stable_args", + /* 135 */ "cmd ::= CREATE STABLE create_stable_args", + /* 136 */ "cmd ::= CREATE TABLE create_table_list", + /* 137 */ "create_table_list ::= create_from_stable", + /* 138 */ "create_table_list ::= create_table_list create_from_stable", + /* 139 */ "create_table_args ::= ifnotexists ids cpxName LP columnlist RP", + /* 140 */ "create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP", + /* 141 */ "create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP", + /* 142 */ "create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP", + /* 143 */ "tagNamelist ::= tagNamelist COMMA ids", + /* 144 */ "tagNamelist ::= ids", + /* 145 */ "create_table_args ::= ifnotexists ids cpxName AS select", + /* 146 */ "columnlist ::= columnlist COMMA column", + /* 147 */ "columnlist ::= column", + /* 148 */ "column ::= ids typename", + /* 149 */ "tagitemlist ::= tagitemlist COMMA tagitem", + /* 150 */ "tagitemlist ::= tagitem", + /* 151 */ "tagitem ::= INTEGER", + /* 152 */ "tagitem ::= FLOAT", + /* 153 */ "tagitem ::= STRING", + /* 154 */ "tagitem ::= BOOL", + /* 155 */ "tagitem ::= NULL", + /* 156 */ "tagitem ::= MINUS INTEGER", + /* 157 */ "tagitem ::= MINUS FLOAT", + /* 158 */ "tagitem ::= PLUS INTEGER", + /* 159 */ "tagitem ::= PLUS FLOAT", + /* 160 */ "select ::= SELECT selcollist from where_opt interval_opt session_option windowstate_option fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt", + /* 161 */ "select ::= LP select RP", + /* 162 */ "union ::= select", + /* 163 */ "union ::= union UNION ALL select", + /* 164 */ "cmd ::= union", + /* 165 */ "select ::= SELECT selcollist", + /* 166 */ "sclp ::= selcollist COMMA", + /* 167 */ "sclp ::=", + /* 168 */ "selcollist ::= sclp distinct expr as", + /* 169 */ "selcollist ::= sclp STAR", + /* 170 */ "as ::= AS ids", + /* 171 */ "as ::= ids", + /* 172 */ "as ::=", + /* 173 */ "distinct ::= DISTINCT", + /* 174 */ "distinct ::=", + /* 175 */ "from ::= FROM tablelist", + /* 176 */ "from ::= FROM sub", + /* 177 */ "sub ::= LP union RP", + /* 178 */ "sub ::= LP union RP ids", + /* 179 */ "sub ::= sub COMMA LP union RP ids", + /* 180 */ "tablelist ::= ids cpxName", + /* 181 */ "tablelist ::= ids cpxName ids", + /* 182 */ "tablelist ::= tablelist COMMA ids cpxName", + /* 183 */ "tablelist ::= tablelist COMMA ids cpxName ids", + /* 184 */ "tmvar ::= VARIABLE", + /* 185 */ "interval_opt ::= INTERVAL LP tmvar RP", + /* 186 */ "interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP", + /* 187 */ "interval_opt ::=", + /* 188 */ "session_option ::=", + /* 189 */ "session_option ::= SESSION LP ids cpxName COMMA tmvar RP", + /* 190 */ "windowstate_option ::=", + /* 191 */ "windowstate_option ::= STATE_WINDOW LP ids RP", + /* 192 */ "fill_opt ::=", + /* 193 */ "fill_opt ::= FILL LP ID COMMA tagitemlist RP", + /* 194 */ "fill_opt ::= FILL LP ID RP", + /* 195 */ "sliding_opt ::= SLIDING LP tmvar RP", + /* 196 */ "sliding_opt ::=", + /* 197 */ "orderby_opt ::=", + /* 198 */ "orderby_opt ::= ORDER BY sortlist", + /* 199 */ "sortlist ::= sortlist COMMA item sortorder", + /* 200 */ "sortlist ::= item sortorder", + /* 201 */ "item ::= ids cpxName", + /* 202 */ "sortorder ::= ASC", + /* 203 */ "sortorder ::= DESC", + /* 204 */ "sortorder ::=", + /* 205 */ "groupby_opt ::=", + /* 206 */ "groupby_opt ::= GROUP BY grouplist", + /* 207 */ "grouplist ::= grouplist COMMA item", + /* 208 */ "grouplist ::= item", + /* 209 */ "having_opt ::=", + /* 210 */ "having_opt ::= HAVING expr", + /* 211 */ "limit_opt ::=", + /* 212 */ "limit_opt ::= LIMIT signed", + /* 213 */ "limit_opt ::= LIMIT signed OFFSET signed", + /* 214 */ "limit_opt ::= LIMIT signed COMMA signed", + /* 215 */ "slimit_opt ::=", + /* 216 */ "slimit_opt ::= SLIMIT signed", + /* 217 */ "slimit_opt ::= SLIMIT signed SOFFSET signed", + /* 218 */ "slimit_opt ::= SLIMIT signed COMMA signed", + /* 219 */ "where_opt ::=", + /* 220 */ "where_opt ::= WHERE expr", + /* 221 */ "expr ::= LP expr RP", + /* 222 */ "expr ::= ID", + /* 223 */ "expr ::= ID DOT ID", + /* 224 */ "expr ::= ID DOT STAR", + /* 225 */ "expr ::= INTEGER", + /* 226 */ "expr ::= MINUS INTEGER", + /* 227 */ "expr ::= PLUS INTEGER", + /* 228 */ "expr ::= FLOAT", + /* 229 */ "expr ::= MINUS FLOAT", + /* 230 */ "expr ::= PLUS FLOAT", + /* 231 */ "expr ::= STRING", + /* 232 */ "expr ::= NOW", + /* 233 */ "expr ::= VARIABLE", + /* 234 */ "expr ::= PLUS VARIABLE", + /* 235 */ "expr ::= MINUS VARIABLE", + /* 236 */ "expr ::= BOOL", + /* 237 */ "expr ::= NULL", + /* 238 */ "expr ::= ID LP exprlist RP", + /* 239 */ "expr ::= ID LP STAR RP", + /* 240 */ "expr ::= expr IS NULL", + /* 241 */ "expr ::= expr IS NOT NULL", + /* 242 */ "expr ::= expr LT expr", + /* 243 */ "expr ::= expr GT expr", + /* 244 */ "expr ::= expr LE expr", + /* 245 */ "expr ::= expr GE expr", + /* 246 */ "expr ::= expr NE expr", + /* 247 */ "expr ::= expr EQ expr", + /* 248 */ "expr ::= expr BETWEEN expr AND expr", + /* 249 */ "expr ::= expr AND expr", + /* 250 */ "expr ::= expr OR expr", + /* 251 */ "expr ::= expr PLUS expr", + /* 252 */ "expr ::= expr MINUS expr", + /* 253 */ "expr ::= expr STAR expr", + /* 254 */ "expr ::= expr SLASH expr", + /* 255 */ "expr ::= expr REM expr", + /* 256 */ "expr ::= expr LIKE expr", + /* 257 */ "expr ::= expr IN LP exprlist RP", + /* 258 */ "exprlist ::= exprlist COMMA expritem", + /* 259 */ "exprlist ::= expritem", + /* 260 */ "expritem ::= expr", + /* 261 */ "expritem ::=", + /* 262 */ "cmd ::= RESET QUERY CACHE", + /* 263 */ "cmd ::= SYNCDB ids REPLICA", + /* 264 */ "cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist", + /* 265 */ "cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids", + /* 266 */ "cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist", + /* 267 */ "cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist", + /* 268 */ "cmd ::= ALTER TABLE ids cpxName DROP TAG ids", + /* 269 */ "cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids", + /* 270 */ "cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem", + /* 271 */ "cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist", + /* 272 */ "cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist", + /* 273 */ "cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids", + /* 274 */ "cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist", + /* 275 */ "cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist", + /* 276 */ "cmd ::= ALTER STABLE ids cpxName DROP TAG ids", + /* 277 */ "cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids", + /* 278 */ "cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem", + /* 279 */ "cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist", + /* 280 */ "cmd ::= KILL CONNECTION INTEGER", + /* 281 */ "cmd ::= KILL STREAM INTEGER COLON INTEGER", + /* 282 */ "cmd ::= KILL QUERY INTEGER COLON INTEGER", }; #endif /* NDEBUG */ @@ -1442,59 +1448,60 @@ static void yy_destructor( ** inside the C code. */ /********* Begin destructor definitions ***************************************/ - case 211: /* keep */ - case 212: /* tagitemlist */ - case 234: /* columnlist */ - case 235: /* tagNamelist */ - case 245: /* fill_opt */ - case 247: /* groupby_opt */ - case 248: /* orderby_opt */ - case 260: /* sortlist */ - case 264: /* grouplist */ -{ -taosArrayDestroy((yypminor->yy15)); + case 211: /* intitemlist */ + case 213: /* keep */ + case 235: /* columnlist */ + case 236: /* tagitemlist */ + case 237: /* tagNamelist */ + case 247: /* fill_opt */ + case 249: /* groupby_opt */ + case 250: /* orderby_opt */ + case 262: /* sortlist */ + case 266: /* grouplist */ +{ +taosArrayDestroy((yypminor->yy93)); } break; - case 232: /* create_table_list */ + case 233: /* create_table_list */ { -destroyCreateTableSql((yypminor->yy482)); +destroyCreateTableSql((yypminor->yy532)); } break; - case 236: /* select */ + case 238: /* select */ { -destroySqlNode((yypminor->yy134)); +destroySqlNode((yypminor->yy224)); } break; - case 239: /* selcollist */ - case 253: /* sclp */ - case 265: /* exprlist */ + case 241: /* selcollist */ + case 255: /* sclp */ + case 267: /* exprlist */ { -tSqlExprListDestroy((yypminor->yy15)); +tSqlExprListDestroy((yypminor->yy93)); } break; - case 240: /* from */ - case 257: /* tablelist */ - case 258: /* sub */ + case 242: /* from */ + case 259: /* tablelist */ + case 260: /* sub */ { -destroyRelationInfo((yypminor->yy160)); +destroyRelationInfo((yypminor->yy330)); } break; - case 241: /* where_opt */ - case 249: /* having_opt */ - case 255: /* expr */ - case 266: /* expritem */ + case 243: /* where_opt */ + case 251: /* having_opt */ + case 257: /* expr */ + case 268: /* expritem */ { -tSqlExprDestroy((yypminor->yy328)); +tSqlExprDestroy((yypminor->yy68)); } break; - case 252: /* union */ + case 254: /* union */ { -destroyAllSqlNode((yypminor->yy15)); +destroyAllSqlNode((yypminor->yy93)); } break; - case 261: /* sortitem */ + case 263: /* sortitem */ { -tVariantDestroy(&(yypminor->yy380)); +tVariantDestroy(&(yypminor->yy518)); } break; /********* End destructor definitions *****************************************/ @@ -1866,208 +1873,211 @@ static const struct { { 210, 0 }, /* (75) state ::= */ { 210, -2 }, /* (76) state ::= STATE ids */ { 198, -9 }, /* (77) acct_optr ::= pps tseries storage streams qtime dbs users conns state */ - { 211, -2 }, /* (78) keep ::= KEEP tagitemlist */ - { 213, -2 }, /* (79) cache ::= CACHE INTEGER */ - { 214, -2 }, /* (80) replica ::= REPLICA INTEGER */ - { 215, -2 }, /* (81) quorum ::= QUORUM INTEGER */ - { 216, -2 }, /* (82) days ::= DAYS INTEGER */ - { 217, -2 }, /* (83) minrows ::= MINROWS INTEGER */ - { 218, -2 }, /* (84) maxrows ::= MAXROWS INTEGER */ - { 219, -2 }, /* (85) blocks ::= BLOCKS INTEGER */ - { 220, -2 }, /* (86) ctime ::= CTIME INTEGER */ - { 221, -2 }, /* (87) wal ::= WAL INTEGER */ - { 222, -2 }, /* (88) fsync ::= FSYNC INTEGER */ - { 223, -2 }, /* (89) comp ::= COMP INTEGER */ - { 224, -2 }, /* (90) prec ::= PRECISION STRING */ - { 225, -2 }, /* (91) update ::= UPDATE INTEGER */ - { 226, -2 }, /* (92) cachelast ::= CACHELAST INTEGER */ - { 227, -2 }, /* (93) partitions ::= PARTITIONS INTEGER */ - { 200, 0 }, /* (94) db_optr ::= */ - { 200, -2 }, /* (95) db_optr ::= db_optr cache */ - { 200, -2 }, /* (96) db_optr ::= db_optr replica */ - { 200, -2 }, /* (97) db_optr ::= db_optr quorum */ - { 200, -2 }, /* (98) db_optr ::= db_optr days */ - { 200, -2 }, /* (99) db_optr ::= db_optr minrows */ - { 200, -2 }, /* (100) db_optr ::= db_optr maxrows */ - { 200, -2 }, /* (101) db_optr ::= db_optr blocks */ - { 200, -2 }, /* (102) db_optr ::= db_optr ctime */ - { 200, -2 }, /* (103) db_optr ::= db_optr wal */ - { 200, -2 }, /* (104) db_optr ::= db_optr fsync */ - { 200, -2 }, /* (105) db_optr ::= db_optr comp */ - { 200, -2 }, /* (106) db_optr ::= db_optr prec */ - { 200, -2 }, /* (107) db_optr ::= db_optr keep */ - { 200, -2 }, /* (108) db_optr ::= db_optr update */ - { 200, -2 }, /* (109) db_optr ::= db_optr cachelast */ - { 201, -1 }, /* (110) topic_optr ::= db_optr */ - { 201, -2 }, /* (111) topic_optr ::= topic_optr partitions */ - { 196, 0 }, /* (112) alter_db_optr ::= */ - { 196, -2 }, /* (113) alter_db_optr ::= alter_db_optr replica */ - { 196, -2 }, /* (114) alter_db_optr ::= alter_db_optr quorum */ - { 196, -2 }, /* (115) alter_db_optr ::= alter_db_optr keep */ - { 196, -2 }, /* (116) alter_db_optr ::= alter_db_optr blocks */ - { 196, -2 }, /* (117) alter_db_optr ::= alter_db_optr comp */ - { 196, -2 }, /* (118) alter_db_optr ::= alter_db_optr wal */ - { 196, -2 }, /* (119) alter_db_optr ::= alter_db_optr fsync */ - { 196, -2 }, /* (120) alter_db_optr ::= alter_db_optr update */ - { 196, -2 }, /* (121) alter_db_optr ::= alter_db_optr cachelast */ - { 197, -1 }, /* (122) alter_topic_optr ::= alter_db_optr */ - { 197, -2 }, /* (123) alter_topic_optr ::= alter_topic_optr partitions */ - { 228, -1 }, /* (124) typename ::= ids */ - { 228, -4 }, /* (125) typename ::= ids LP signed RP */ - { 228, -2 }, /* (126) typename ::= ids UNSIGNED */ - { 229, -1 }, /* (127) signed ::= INTEGER */ - { 229, -2 }, /* (128) signed ::= PLUS INTEGER */ - { 229, -2 }, /* (129) signed ::= MINUS INTEGER */ - { 191, -3 }, /* (130) cmd ::= CREATE TABLE create_table_args */ - { 191, -3 }, /* (131) cmd ::= CREATE TABLE create_stable_args */ - { 191, -3 }, /* (132) cmd ::= CREATE STABLE create_stable_args */ - { 191, -3 }, /* (133) cmd ::= CREATE TABLE create_table_list */ - { 232, -1 }, /* (134) create_table_list ::= create_from_stable */ - { 232, -2 }, /* (135) create_table_list ::= create_table_list create_from_stable */ - { 230, -6 }, /* (136) create_table_args ::= ifnotexists ids cpxName LP columnlist RP */ - { 231, -10 }, /* (137) create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */ - { 233, -10 }, /* (138) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */ - { 233, -13 }, /* (139) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */ - { 235, -3 }, /* (140) tagNamelist ::= tagNamelist COMMA ids */ - { 235, -1 }, /* (141) tagNamelist ::= ids */ - { 230, -5 }, /* (142) create_table_args ::= ifnotexists ids cpxName AS select */ - { 234, -3 }, /* (143) columnlist ::= columnlist COMMA column */ - { 234, -1 }, /* (144) columnlist ::= column */ - { 237, -2 }, /* (145) column ::= ids typename */ - { 212, -3 }, /* (146) tagitemlist ::= tagitemlist COMMA tagitem */ - { 212, -1 }, /* (147) tagitemlist ::= tagitem */ - { 238, -1 }, /* (148) tagitem ::= INTEGER */ - { 238, -1 }, /* (149) tagitem ::= FLOAT */ - { 238, -1 }, /* (150) tagitem ::= STRING */ - { 238, -1 }, /* (151) tagitem ::= BOOL */ - { 238, -1 }, /* (152) tagitem ::= NULL */ - { 238, -2 }, /* (153) tagitem ::= MINUS INTEGER */ - { 238, -2 }, /* (154) tagitem ::= MINUS FLOAT */ - { 238, -2 }, /* (155) tagitem ::= PLUS INTEGER */ - { 238, -2 }, /* (156) tagitem ::= PLUS FLOAT */ - { 236, -14 }, /* (157) select ::= SELECT selcollist from where_opt interval_opt session_option windowstate_option fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */ - { 236, -3 }, /* (158) select ::= LP select RP */ - { 252, -1 }, /* (159) union ::= select */ - { 252, -4 }, /* (160) union ::= union UNION ALL select */ - { 191, -1 }, /* (161) cmd ::= union */ - { 236, -2 }, /* (162) select ::= SELECT selcollist */ - { 253, -2 }, /* (163) sclp ::= selcollist COMMA */ - { 253, 0 }, /* (164) sclp ::= */ - { 239, -4 }, /* (165) selcollist ::= sclp distinct expr as */ - { 239, -2 }, /* (166) selcollist ::= sclp STAR */ - { 256, -2 }, /* (167) as ::= AS ids */ - { 256, -1 }, /* (168) as ::= ids */ - { 256, 0 }, /* (169) as ::= */ - { 254, -1 }, /* (170) distinct ::= DISTINCT */ - { 254, 0 }, /* (171) distinct ::= */ - { 240, -2 }, /* (172) from ::= FROM tablelist */ - { 240, -2 }, /* (173) from ::= FROM sub */ - { 258, -3 }, /* (174) sub ::= LP union RP */ - { 258, -4 }, /* (175) sub ::= LP union RP ids */ - { 258, -6 }, /* (176) sub ::= sub COMMA LP union RP ids */ - { 257, -2 }, /* (177) tablelist ::= ids cpxName */ - { 257, -3 }, /* (178) tablelist ::= ids cpxName ids */ - { 257, -4 }, /* (179) tablelist ::= tablelist COMMA ids cpxName */ - { 257, -5 }, /* (180) tablelist ::= tablelist COMMA ids cpxName ids */ - { 259, -1 }, /* (181) tmvar ::= VARIABLE */ - { 242, -4 }, /* (182) interval_opt ::= INTERVAL LP tmvar RP */ - { 242, -6 }, /* (183) interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */ - { 242, 0 }, /* (184) interval_opt ::= */ - { 243, 0 }, /* (185) session_option ::= */ - { 243, -7 }, /* (186) session_option ::= SESSION LP ids cpxName COMMA tmvar RP */ - { 244, 0 }, /* (187) windowstate_option ::= */ - { 244, -4 }, /* (188) windowstate_option ::= STATE_WINDOW LP ids RP */ - { 245, 0 }, /* (189) fill_opt ::= */ - { 245, -6 }, /* (190) fill_opt ::= FILL LP ID COMMA tagitemlist RP */ - { 245, -4 }, /* (191) fill_opt ::= FILL LP ID RP */ - { 246, -4 }, /* (192) sliding_opt ::= SLIDING LP tmvar RP */ - { 246, 0 }, /* (193) sliding_opt ::= */ - { 248, 0 }, /* (194) orderby_opt ::= */ - { 248, -3 }, /* (195) orderby_opt ::= ORDER BY sortlist */ - { 260, -4 }, /* (196) sortlist ::= sortlist COMMA item sortorder */ - { 260, -2 }, /* (197) sortlist ::= item sortorder */ - { 262, -2 }, /* (198) item ::= ids cpxName */ - { 263, -1 }, /* (199) sortorder ::= ASC */ - { 263, -1 }, /* (200) sortorder ::= DESC */ - { 263, 0 }, /* (201) sortorder ::= */ - { 247, 0 }, /* (202) groupby_opt ::= */ - { 247, -3 }, /* (203) groupby_opt ::= GROUP BY grouplist */ - { 264, -3 }, /* (204) grouplist ::= grouplist COMMA item */ - { 264, -1 }, /* (205) grouplist ::= item */ - { 249, 0 }, /* (206) having_opt ::= */ - { 249, -2 }, /* (207) having_opt ::= HAVING expr */ - { 251, 0 }, /* (208) limit_opt ::= */ - { 251, -2 }, /* (209) limit_opt ::= LIMIT signed */ - { 251, -4 }, /* (210) limit_opt ::= LIMIT signed OFFSET signed */ - { 251, -4 }, /* (211) limit_opt ::= LIMIT signed COMMA signed */ - { 250, 0 }, /* (212) slimit_opt ::= */ - { 250, -2 }, /* (213) slimit_opt ::= SLIMIT signed */ - { 250, -4 }, /* (214) slimit_opt ::= SLIMIT signed SOFFSET signed */ - { 250, -4 }, /* (215) slimit_opt ::= SLIMIT signed COMMA signed */ - { 241, 0 }, /* (216) where_opt ::= */ - { 241, -2 }, /* (217) where_opt ::= WHERE expr */ - { 255, -3 }, /* (218) expr ::= LP expr RP */ - { 255, -1 }, /* (219) expr ::= ID */ - { 255, -3 }, /* (220) expr ::= ID DOT ID */ - { 255, -3 }, /* (221) expr ::= ID DOT STAR */ - { 255, -1 }, /* (222) expr ::= INTEGER */ - { 255, -2 }, /* (223) expr ::= MINUS INTEGER */ - { 255, -2 }, /* (224) expr ::= PLUS INTEGER */ - { 255, -1 }, /* (225) expr ::= FLOAT */ - { 255, -2 }, /* (226) expr ::= MINUS FLOAT */ - { 255, -2 }, /* (227) expr ::= PLUS FLOAT */ - { 255, -1 }, /* (228) expr ::= STRING */ - { 255, -1 }, /* (229) expr ::= NOW */ - { 255, -1 }, /* (230) expr ::= VARIABLE */ - { 255, -2 }, /* (231) expr ::= PLUS VARIABLE */ - { 255, -2 }, /* (232) expr ::= MINUS VARIABLE */ - { 255, -1 }, /* (233) expr ::= BOOL */ - { 255, -1 }, /* (234) expr ::= NULL */ - { 255, -4 }, /* (235) expr ::= ID LP exprlist RP */ - { 255, -4 }, /* (236) expr ::= ID LP STAR RP */ - { 255, -3 }, /* (237) expr ::= expr IS NULL */ - { 255, -4 }, /* (238) expr ::= expr IS NOT NULL */ - { 255, -3 }, /* (239) expr ::= expr LT expr */ - { 255, -3 }, /* (240) expr ::= expr GT expr */ - { 255, -3 }, /* (241) expr ::= expr LE expr */ - { 255, -3 }, /* (242) expr ::= expr GE expr */ - { 255, -3 }, /* (243) expr ::= expr NE expr */ - { 255, -3 }, /* (244) expr ::= expr EQ expr */ - { 255, -5 }, /* (245) expr ::= expr BETWEEN expr AND expr */ - { 255, -3 }, /* (246) expr ::= expr AND expr */ - { 255, -3 }, /* (247) expr ::= expr OR expr */ - { 255, -3 }, /* (248) expr ::= expr PLUS expr */ - { 255, -3 }, /* (249) expr ::= expr MINUS expr */ - { 255, -3 }, /* (250) expr ::= expr STAR expr */ - { 255, -3 }, /* (251) expr ::= expr SLASH expr */ - { 255, -3 }, /* (252) expr ::= expr REM expr */ - { 255, -3 }, /* (253) expr ::= expr LIKE expr */ - { 255, -5 }, /* (254) expr ::= expr IN LP exprlist RP */ - { 265, -3 }, /* (255) exprlist ::= exprlist COMMA expritem */ - { 265, -1 }, /* (256) exprlist ::= expritem */ - { 266, -1 }, /* (257) expritem ::= expr */ - { 266, 0 }, /* (258) expritem ::= */ - { 191, -3 }, /* (259) cmd ::= RESET QUERY CACHE */ - { 191, -3 }, /* (260) cmd ::= SYNCDB ids REPLICA */ - { 191, -7 }, /* (261) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */ - { 191, -7 }, /* (262) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */ - { 191, -7 }, /* (263) cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */ - { 191, -7 }, /* (264) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */ - { 191, -7 }, /* (265) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */ - { 191, -8 }, /* (266) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */ - { 191, -9 }, /* (267) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */ - { 191, -7 }, /* (268) cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */ - { 191, -7 }, /* (269) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */ - { 191, -7 }, /* (270) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */ - { 191, -7 }, /* (271) cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */ - { 191, -7 }, /* (272) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */ - { 191, -7 }, /* (273) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */ - { 191, -8 }, /* (274) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */ - { 191, -9 }, /* (275) cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */ - { 191, -7 }, /* (276) cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */ - { 191, -3 }, /* (277) cmd ::= KILL CONNECTION INTEGER */ - { 191, -5 }, /* (278) cmd ::= KILL STREAM INTEGER COLON INTEGER */ - { 191, -5 }, /* (279) cmd ::= KILL QUERY INTEGER COLON INTEGER */ + { 211, -3 }, /* (78) intitemlist ::= intitemlist COMMA intitem */ + { 211, -1 }, /* (79) intitemlist ::= intitem */ + { 212, -1 }, /* (80) intitem ::= INTEGER */ + { 213, -2 }, /* (81) keep ::= KEEP intitemlist */ + { 214, -2 }, /* (82) cache ::= CACHE INTEGER */ + { 215, -2 }, /* (83) replica ::= REPLICA INTEGER */ + { 216, -2 }, /* (84) quorum ::= QUORUM INTEGER */ + { 217, -2 }, /* (85) days ::= DAYS INTEGER */ + { 218, -2 }, /* (86) minrows ::= MINROWS INTEGER */ + { 219, -2 }, /* (87) maxrows ::= MAXROWS INTEGER */ + { 220, -2 }, /* (88) blocks ::= BLOCKS INTEGER */ + { 221, -2 }, /* (89) ctime ::= CTIME INTEGER */ + { 222, -2 }, /* (90) wal ::= WAL INTEGER */ + { 223, -2 }, /* (91) fsync ::= FSYNC INTEGER */ + { 224, -2 }, /* (92) comp ::= COMP INTEGER */ + { 225, -2 }, /* (93) prec ::= PRECISION STRING */ + { 226, -2 }, /* (94) update ::= UPDATE INTEGER */ + { 227, -2 }, /* (95) cachelast ::= CACHELAST INTEGER */ + { 228, -2 }, /* (96) partitions ::= PARTITIONS INTEGER */ + { 200, 0 }, /* (97) db_optr ::= */ + { 200, -2 }, /* (98) db_optr ::= db_optr cache */ + { 200, -2 }, /* (99) db_optr ::= db_optr replica */ + { 200, -2 }, /* (100) db_optr ::= db_optr quorum */ + { 200, -2 }, /* (101) db_optr ::= db_optr days */ + { 200, -2 }, /* (102) db_optr ::= db_optr minrows */ + { 200, -2 }, /* (103) db_optr ::= db_optr maxrows */ + { 200, -2 }, /* (104) db_optr ::= db_optr blocks */ + { 200, -2 }, /* (105) db_optr ::= db_optr ctime */ + { 200, -2 }, /* (106) db_optr ::= db_optr wal */ + { 200, -2 }, /* (107) db_optr ::= db_optr fsync */ + { 200, -2 }, /* (108) db_optr ::= db_optr comp */ + { 200, -2 }, /* (109) db_optr ::= db_optr prec */ + { 200, -2 }, /* (110) db_optr ::= db_optr keep */ + { 200, -2 }, /* (111) db_optr ::= db_optr update */ + { 200, -2 }, /* (112) db_optr ::= db_optr cachelast */ + { 201, -1 }, /* (113) topic_optr ::= db_optr */ + { 201, -2 }, /* (114) topic_optr ::= topic_optr partitions */ + { 196, 0 }, /* (115) alter_db_optr ::= */ + { 196, -2 }, /* (116) alter_db_optr ::= alter_db_optr replica */ + { 196, -2 }, /* (117) alter_db_optr ::= alter_db_optr quorum */ + { 196, -2 }, /* (118) alter_db_optr ::= alter_db_optr keep */ + { 196, -2 }, /* (119) alter_db_optr ::= alter_db_optr blocks */ + { 196, -2 }, /* (120) alter_db_optr ::= alter_db_optr comp */ + { 196, -2 }, /* (121) alter_db_optr ::= alter_db_optr wal */ + { 196, -2 }, /* (122) alter_db_optr ::= alter_db_optr fsync */ + { 196, -2 }, /* (123) alter_db_optr ::= alter_db_optr update */ + { 196, -2 }, /* (124) alter_db_optr ::= alter_db_optr cachelast */ + { 197, -1 }, /* (125) alter_topic_optr ::= alter_db_optr */ + { 197, -2 }, /* (126) alter_topic_optr ::= alter_topic_optr partitions */ + { 229, -1 }, /* (127) typename ::= ids */ + { 229, -4 }, /* (128) typename ::= ids LP signed RP */ + { 229, -2 }, /* (129) typename ::= ids UNSIGNED */ + { 230, -1 }, /* (130) signed ::= INTEGER */ + { 230, -2 }, /* (131) signed ::= PLUS INTEGER */ + { 230, -2 }, /* (132) signed ::= MINUS INTEGER */ + { 191, -3 }, /* (133) cmd ::= CREATE TABLE create_table_args */ + { 191, -3 }, /* (134) cmd ::= CREATE TABLE create_stable_args */ + { 191, -3 }, /* (135) cmd ::= CREATE STABLE create_stable_args */ + { 191, -3 }, /* (136) cmd ::= CREATE TABLE create_table_list */ + { 233, -1 }, /* (137) create_table_list ::= create_from_stable */ + { 233, -2 }, /* (138) create_table_list ::= create_table_list create_from_stable */ + { 231, -6 }, /* (139) create_table_args ::= ifnotexists ids cpxName LP columnlist RP */ + { 232, -10 }, /* (140) create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */ + { 234, -10 }, /* (141) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */ + { 234, -13 }, /* (142) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */ + { 237, -3 }, /* (143) tagNamelist ::= tagNamelist COMMA ids */ + { 237, -1 }, /* (144) tagNamelist ::= ids */ + { 231, -5 }, /* (145) create_table_args ::= ifnotexists ids cpxName AS select */ + { 235, -3 }, /* (146) columnlist ::= columnlist COMMA column */ + { 235, -1 }, /* (147) columnlist ::= column */ + { 239, -2 }, /* (148) column ::= ids typename */ + { 236, -3 }, /* (149) tagitemlist ::= tagitemlist COMMA tagitem */ + { 236, -1 }, /* (150) tagitemlist ::= tagitem */ + { 240, -1 }, /* (151) tagitem ::= INTEGER */ + { 240, -1 }, /* (152) tagitem ::= FLOAT */ + { 240, -1 }, /* (153) tagitem ::= STRING */ + { 240, -1 }, /* (154) tagitem ::= BOOL */ + { 240, -1 }, /* (155) tagitem ::= NULL */ + { 240, -2 }, /* (156) tagitem ::= MINUS INTEGER */ + { 240, -2 }, /* (157) tagitem ::= MINUS FLOAT */ + { 240, -2 }, /* (158) tagitem ::= PLUS INTEGER */ + { 240, -2 }, /* (159) tagitem ::= PLUS FLOAT */ + { 238, -14 }, /* (160) select ::= SELECT selcollist from where_opt interval_opt session_option windowstate_option fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */ + { 238, -3 }, /* (161) select ::= LP select RP */ + { 254, -1 }, /* (162) union ::= select */ + { 254, -4 }, /* (163) union ::= union UNION ALL select */ + { 191, -1 }, /* (164) cmd ::= union */ + { 238, -2 }, /* (165) select ::= SELECT selcollist */ + { 255, -2 }, /* (166) sclp ::= selcollist COMMA */ + { 255, 0 }, /* (167) sclp ::= */ + { 241, -4 }, /* (168) selcollist ::= sclp distinct expr as */ + { 241, -2 }, /* (169) selcollist ::= sclp STAR */ + { 258, -2 }, /* (170) as ::= AS ids */ + { 258, -1 }, /* (171) as ::= ids */ + { 258, 0 }, /* (172) as ::= */ + { 256, -1 }, /* (173) distinct ::= DISTINCT */ + { 256, 0 }, /* (174) distinct ::= */ + { 242, -2 }, /* (175) from ::= FROM tablelist */ + { 242, -2 }, /* (176) from ::= FROM sub */ + { 260, -3 }, /* (177) sub ::= LP union RP */ + { 260, -4 }, /* (178) sub ::= LP union RP ids */ + { 260, -6 }, /* (179) sub ::= sub COMMA LP union RP ids */ + { 259, -2 }, /* (180) tablelist ::= ids cpxName */ + { 259, -3 }, /* (181) tablelist ::= ids cpxName ids */ + { 259, -4 }, /* (182) tablelist ::= tablelist COMMA ids cpxName */ + { 259, -5 }, /* (183) tablelist ::= tablelist COMMA ids cpxName ids */ + { 261, -1 }, /* (184) tmvar ::= VARIABLE */ + { 244, -4 }, /* (185) interval_opt ::= INTERVAL LP tmvar RP */ + { 244, -6 }, /* (186) interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */ + { 244, 0 }, /* (187) interval_opt ::= */ + { 245, 0 }, /* (188) session_option ::= */ + { 245, -7 }, /* (189) session_option ::= SESSION LP ids cpxName COMMA tmvar RP */ + { 246, 0 }, /* (190) windowstate_option ::= */ + { 246, -4 }, /* (191) windowstate_option ::= STATE_WINDOW LP ids RP */ + { 247, 0 }, /* (192) fill_opt ::= */ + { 247, -6 }, /* (193) fill_opt ::= FILL LP ID COMMA tagitemlist RP */ + { 247, -4 }, /* (194) fill_opt ::= FILL LP ID RP */ + { 248, -4 }, /* (195) sliding_opt ::= SLIDING LP tmvar RP */ + { 248, 0 }, /* (196) sliding_opt ::= */ + { 250, 0 }, /* (197) orderby_opt ::= */ + { 250, -3 }, /* (198) orderby_opt ::= ORDER BY sortlist */ + { 262, -4 }, /* (199) sortlist ::= sortlist COMMA item sortorder */ + { 262, -2 }, /* (200) sortlist ::= item sortorder */ + { 264, -2 }, /* (201) item ::= ids cpxName */ + { 265, -1 }, /* (202) sortorder ::= ASC */ + { 265, -1 }, /* (203) sortorder ::= DESC */ + { 265, 0 }, /* (204) sortorder ::= */ + { 249, 0 }, /* (205) groupby_opt ::= */ + { 249, -3 }, /* (206) groupby_opt ::= GROUP BY grouplist */ + { 266, -3 }, /* (207) grouplist ::= grouplist COMMA item */ + { 266, -1 }, /* (208) grouplist ::= item */ + { 251, 0 }, /* (209) having_opt ::= */ + { 251, -2 }, /* (210) having_opt ::= HAVING expr */ + { 253, 0 }, /* (211) limit_opt ::= */ + { 253, -2 }, /* (212) limit_opt ::= LIMIT signed */ + { 253, -4 }, /* (213) limit_opt ::= LIMIT signed OFFSET signed */ + { 253, -4 }, /* (214) limit_opt ::= LIMIT signed COMMA signed */ + { 252, 0 }, /* (215) slimit_opt ::= */ + { 252, -2 }, /* (216) slimit_opt ::= SLIMIT signed */ + { 252, -4 }, /* (217) slimit_opt ::= SLIMIT signed SOFFSET signed */ + { 252, -4 }, /* (218) slimit_opt ::= SLIMIT signed COMMA signed */ + { 243, 0 }, /* (219) where_opt ::= */ + { 243, -2 }, /* (220) where_opt ::= WHERE expr */ + { 257, -3 }, /* (221) expr ::= LP expr RP */ + { 257, -1 }, /* (222) expr ::= ID */ + { 257, -3 }, /* (223) expr ::= ID DOT ID */ + { 257, -3 }, /* (224) expr ::= ID DOT STAR */ + { 257, -1 }, /* (225) expr ::= INTEGER */ + { 257, -2 }, /* (226) expr ::= MINUS INTEGER */ + { 257, -2 }, /* (227) expr ::= PLUS INTEGER */ + { 257, -1 }, /* (228) expr ::= FLOAT */ + { 257, -2 }, /* (229) expr ::= MINUS FLOAT */ + { 257, -2 }, /* (230) expr ::= PLUS FLOAT */ + { 257, -1 }, /* (231) expr ::= STRING */ + { 257, -1 }, /* (232) expr ::= NOW */ + { 257, -1 }, /* (233) expr ::= VARIABLE */ + { 257, -2 }, /* (234) expr ::= PLUS VARIABLE */ + { 257, -2 }, /* (235) expr ::= MINUS VARIABLE */ + { 257, -1 }, /* (236) expr ::= BOOL */ + { 257, -1 }, /* (237) expr ::= NULL */ + { 257, -4 }, /* (238) expr ::= ID LP exprlist RP */ + { 257, -4 }, /* (239) expr ::= ID LP STAR RP */ + { 257, -3 }, /* (240) expr ::= expr IS NULL */ + { 257, -4 }, /* (241) expr ::= expr IS NOT NULL */ + { 257, -3 }, /* (242) expr ::= expr LT expr */ + { 257, -3 }, /* (243) expr ::= expr GT expr */ + { 257, -3 }, /* (244) expr ::= expr LE expr */ + { 257, -3 }, /* (245) expr ::= expr GE expr */ + { 257, -3 }, /* (246) expr ::= expr NE expr */ + { 257, -3 }, /* (247) expr ::= expr EQ expr */ + { 257, -5 }, /* (248) expr ::= expr BETWEEN expr AND expr */ + { 257, -3 }, /* (249) expr ::= expr AND expr */ + { 257, -3 }, /* (250) expr ::= expr OR expr */ + { 257, -3 }, /* (251) expr ::= expr PLUS expr */ + { 257, -3 }, /* (252) expr ::= expr MINUS expr */ + { 257, -3 }, /* (253) expr ::= expr STAR expr */ + { 257, -3 }, /* (254) expr ::= expr SLASH expr */ + { 257, -3 }, /* (255) expr ::= expr REM expr */ + { 257, -3 }, /* (256) expr ::= expr LIKE expr */ + { 257, -5 }, /* (257) expr ::= expr IN LP exprlist RP */ + { 267, -3 }, /* (258) exprlist ::= exprlist COMMA expritem */ + { 267, -1 }, /* (259) exprlist ::= expritem */ + { 268, -1 }, /* (260) expritem ::= expr */ + { 268, 0 }, /* (261) expritem ::= */ + { 191, -3 }, /* (262) cmd ::= RESET QUERY CACHE */ + { 191, -3 }, /* (263) cmd ::= SYNCDB ids REPLICA */ + { 191, -7 }, /* (264) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */ + { 191, -7 }, /* (265) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */ + { 191, -7 }, /* (266) cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */ + { 191, -7 }, /* (267) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */ + { 191, -7 }, /* (268) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */ + { 191, -8 }, /* (269) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */ + { 191, -9 }, /* (270) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */ + { 191, -7 }, /* (271) cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */ + { 191, -7 }, /* (272) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */ + { 191, -7 }, /* (273) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */ + { 191, -7 }, /* (274) cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */ + { 191, -7 }, /* (275) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */ + { 191, -7 }, /* (276) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */ + { 191, -8 }, /* (277) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */ + { 191, -9 }, /* (278) cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */ + { 191, -7 }, /* (279) cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */ + { 191, -3 }, /* (280) cmd ::= KILL CONNECTION INTEGER */ + { 191, -5 }, /* (281) cmd ::= KILL STREAM INTEGER COLON INTEGER */ + { 191, -5 }, /* (282) cmd ::= KILL QUERY INTEGER COLON INTEGER */ }; static void yy_accept(yyParser*); /* Forward Declaration */ @@ -2148,9 +2158,9 @@ static void yy_reduce( /********** Begin reduce actions **********************************************/ YYMINORTYPE yylhsminor; case 0: /* program ::= cmd */ - case 130: /* cmd ::= CREATE TABLE create_table_args */ yytestcase(yyruleno==130); - case 131: /* cmd ::= CREATE TABLE create_stable_args */ yytestcase(yyruleno==131); - case 132: /* cmd ::= CREATE STABLE create_stable_args */ yytestcase(yyruleno==132); + case 133: /* cmd ::= CREATE TABLE create_table_args */ yytestcase(yyruleno==133); + case 134: /* cmd ::= CREATE TABLE create_stable_args */ yytestcase(yyruleno==134); + case 135: /* cmd ::= CREATE STABLE create_stable_args */ yytestcase(yyruleno==135); {} break; case 1: /* cmd ::= SHOW DATABASES */ @@ -2320,13 +2330,13 @@ static void yy_reduce( break; case 44: /* cmd ::= ALTER DATABASE ids alter_db_optr */ case 45: /* cmd ::= ALTER TOPIC ids alter_topic_optr */ yytestcase(yyruleno==45); -{ SStrToken t = {0}; setCreateDbInfo(pInfo, TSDB_SQL_ALTER_DB, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy454, &t);} +{ SStrToken t = {0}; setCreateDbInfo(pInfo, TSDB_SQL_ALTER_DB, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy372, &t);} break; case 46: /* cmd ::= ALTER ACCOUNT ids acct_optr */ -{ setCreateAcctSql(pInfo, TSDB_SQL_ALTER_ACCT, &yymsp[-1].minor.yy0, NULL, &yymsp[0].minor.yy397);} +{ setCreateAcctSql(pInfo, TSDB_SQL_ALTER_ACCT, &yymsp[-1].minor.yy0, NULL, &yymsp[0].minor.yy77);} break; case 47: /* 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.yy397);} +{ setCreateAcctSql(pInfo, TSDB_SQL_ALTER_ACCT, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy77);} break; case 48: /* ids ::= ID */ case 49: /* ids ::= STRING */ yytestcase(yyruleno==49); @@ -2338,7 +2348,7 @@ static void yy_reduce( break; case 51: /* ifexists ::= */ case 53: /* ifnotexists ::= */ yytestcase(yyruleno==53); - case 171: /* distinct ::= */ yytestcase(yyruleno==171); + case 174: /* distinct ::= */ yytestcase(yyruleno==174); { yymsp[1].minor.yy0.n = 0;} break; case 52: /* ifnotexists ::= IF NOT EXISTS */ @@ -2348,11 +2358,11 @@ static void yy_reduce( { setDCLSqlElems(pInfo, TSDB_SQL_CREATE_DNODE, 1, &yymsp[0].minor.yy0);} break; case 55: /* 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.yy397);} +{ setCreateAcctSql(pInfo, TSDB_SQL_CREATE_ACCT, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy77);} break; case 56: /* cmd ::= CREATE DATABASE ifnotexists ids db_optr */ case 57: /* cmd ::= CREATE TOPIC ifnotexists ids topic_optr */ yytestcase(yyruleno==57); -{ setCreateDbInfo(pInfo, TSDB_SQL_CREATE_DB, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy454, &yymsp[-2].minor.yy0);} +{ setCreateDbInfo(pInfo, TSDB_SQL_CREATE_DB, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy372, &yymsp[-2].minor.yy0);} break; case 58: /* cmd ::= CREATE USER ids PASS ids */ { setCreateUserSql(pInfo, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0);} @@ -2381,682 +2391,685 @@ static void yy_reduce( break; case 77: /* acct_optr ::= pps tseries storage streams qtime dbs users conns state */ { - yylhsminor.yy397.maxUsers = (yymsp[-2].minor.yy0.n>0)?atoi(yymsp[-2].minor.yy0.z):-1; - yylhsminor.yy397.maxDbs = (yymsp[-3].minor.yy0.n>0)?atoi(yymsp[-3].minor.yy0.z):-1; - yylhsminor.yy397.maxTimeSeries = (yymsp[-7].minor.yy0.n>0)?atoi(yymsp[-7].minor.yy0.z):-1; - yylhsminor.yy397.maxStreams = (yymsp[-5].minor.yy0.n>0)?atoi(yymsp[-5].minor.yy0.z):-1; - yylhsminor.yy397.maxPointsPerSecond = (yymsp[-8].minor.yy0.n>0)?atoi(yymsp[-8].minor.yy0.z):-1; - yylhsminor.yy397.maxStorage = (yymsp[-6].minor.yy0.n>0)?strtoll(yymsp[-6].minor.yy0.z, NULL, 10):-1; - yylhsminor.yy397.maxQueryTime = (yymsp[-4].minor.yy0.n>0)?strtoll(yymsp[-4].minor.yy0.z, NULL, 10):-1; - yylhsminor.yy397.maxConnections = (yymsp[-1].minor.yy0.n>0)?atoi(yymsp[-1].minor.yy0.z):-1; - yylhsminor.yy397.stat = yymsp[0].minor.yy0; -} - yymsp[-8].minor.yy397 = yylhsminor.yy397; - break; - case 78: /* keep ::= KEEP tagitemlist */ -{ yymsp[-1].minor.yy15 = yymsp[0].minor.yy15; } - break; - case 79: /* cache ::= CACHE INTEGER */ - case 80: /* replica ::= REPLICA INTEGER */ yytestcase(yyruleno==80); - case 81: /* quorum ::= QUORUM INTEGER */ yytestcase(yyruleno==81); - case 82: /* days ::= DAYS INTEGER */ yytestcase(yyruleno==82); - case 83: /* minrows ::= MINROWS INTEGER */ yytestcase(yyruleno==83); - case 84: /* maxrows ::= MAXROWS INTEGER */ yytestcase(yyruleno==84); - case 85: /* blocks ::= BLOCKS INTEGER */ yytestcase(yyruleno==85); - case 86: /* ctime ::= CTIME INTEGER */ yytestcase(yyruleno==86); - case 87: /* wal ::= WAL INTEGER */ yytestcase(yyruleno==87); - case 88: /* fsync ::= FSYNC INTEGER */ yytestcase(yyruleno==88); - case 89: /* comp ::= COMP INTEGER */ yytestcase(yyruleno==89); - case 90: /* prec ::= PRECISION STRING */ yytestcase(yyruleno==90); - case 91: /* update ::= UPDATE INTEGER */ yytestcase(yyruleno==91); - case 92: /* cachelast ::= CACHELAST INTEGER */ yytestcase(yyruleno==92); - case 93: /* partitions ::= PARTITIONS INTEGER */ yytestcase(yyruleno==93); + yylhsminor.yy77.maxUsers = (yymsp[-2].minor.yy0.n>0)?atoi(yymsp[-2].minor.yy0.z):-1; + yylhsminor.yy77.maxDbs = (yymsp[-3].minor.yy0.n>0)?atoi(yymsp[-3].minor.yy0.z):-1; + yylhsminor.yy77.maxTimeSeries = (yymsp[-7].minor.yy0.n>0)?atoi(yymsp[-7].minor.yy0.z):-1; + yylhsminor.yy77.maxStreams = (yymsp[-5].minor.yy0.n>0)?atoi(yymsp[-5].minor.yy0.z):-1; + yylhsminor.yy77.maxPointsPerSecond = (yymsp[-8].minor.yy0.n>0)?atoi(yymsp[-8].minor.yy0.z):-1; + yylhsminor.yy77.maxStorage = (yymsp[-6].minor.yy0.n>0)?strtoll(yymsp[-6].minor.yy0.z, NULL, 10):-1; + yylhsminor.yy77.maxQueryTime = (yymsp[-4].minor.yy0.n>0)?strtoll(yymsp[-4].minor.yy0.z, NULL, 10):-1; + yylhsminor.yy77.maxConnections = (yymsp[-1].minor.yy0.n>0)?atoi(yymsp[-1].minor.yy0.z):-1; + yylhsminor.yy77.stat = yymsp[0].minor.yy0; +} + yymsp[-8].minor.yy77 = yylhsminor.yy77; + break; + case 78: /* intitemlist ::= intitemlist COMMA intitem */ + case 149: /* tagitemlist ::= tagitemlist COMMA tagitem */ yytestcase(yyruleno==149); +{ yylhsminor.yy93 = tVariantListAppend(yymsp[-2].minor.yy93, &yymsp[0].minor.yy518, -1); } + yymsp[-2].minor.yy93 = yylhsminor.yy93; + break; + case 79: /* intitemlist ::= intitem */ + case 150: /* tagitemlist ::= tagitem */ yytestcase(yyruleno==150); +{ yylhsminor.yy93 = tVariantListAppend(NULL, &yymsp[0].minor.yy518, -1); } + yymsp[0].minor.yy93 = yylhsminor.yy93; + break; + case 80: /* intitem ::= INTEGER */ + case 151: /* tagitem ::= INTEGER */ yytestcase(yyruleno==151); + case 152: /* tagitem ::= FLOAT */ yytestcase(yyruleno==152); + case 153: /* tagitem ::= STRING */ yytestcase(yyruleno==153); + case 154: /* tagitem ::= BOOL */ yytestcase(yyruleno==154); +{ toTSDBType(yymsp[0].minor.yy0.type); tVariantCreate(&yylhsminor.yy518, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy518 = yylhsminor.yy518; + break; + case 81: /* keep ::= KEEP intitemlist */ +{ yymsp[-1].minor.yy93 = yymsp[0].minor.yy93; } + break; + case 82: /* cache ::= CACHE INTEGER */ + case 83: /* replica ::= REPLICA INTEGER */ yytestcase(yyruleno==83); + case 84: /* quorum ::= QUORUM INTEGER */ yytestcase(yyruleno==84); + case 85: /* days ::= DAYS INTEGER */ yytestcase(yyruleno==85); + case 86: /* minrows ::= MINROWS INTEGER */ yytestcase(yyruleno==86); + case 87: /* maxrows ::= MAXROWS INTEGER */ yytestcase(yyruleno==87); + case 88: /* blocks ::= BLOCKS INTEGER */ yytestcase(yyruleno==88); + case 89: /* ctime ::= CTIME INTEGER */ yytestcase(yyruleno==89); + case 90: /* wal ::= WAL INTEGER */ yytestcase(yyruleno==90); + case 91: /* fsync ::= FSYNC INTEGER */ yytestcase(yyruleno==91); + case 92: /* comp ::= COMP INTEGER */ yytestcase(yyruleno==92); + case 93: /* prec ::= PRECISION STRING */ yytestcase(yyruleno==93); + case 94: /* update ::= UPDATE INTEGER */ yytestcase(yyruleno==94); + case 95: /* cachelast ::= CACHELAST INTEGER */ yytestcase(yyruleno==95); + case 96: /* partitions ::= PARTITIONS INTEGER */ yytestcase(yyruleno==96); { yymsp[-1].minor.yy0 = yymsp[0].minor.yy0; } break; - case 94: /* db_optr ::= */ -{setDefaultCreateDbOption(&yymsp[1].minor.yy454); yymsp[1].minor.yy454.dbType = TSDB_DB_TYPE_DEFAULT;} - break; - case 95: /* db_optr ::= db_optr cache */ -{ yylhsminor.yy454 = yymsp[-1].minor.yy454; yylhsminor.yy454.cacheBlockSize = strtol(yymsp[0].minor.yy0.z, NULL, 10); } - yymsp[-1].minor.yy454 = yylhsminor.yy454; - break; - case 96: /* db_optr ::= db_optr replica */ - case 113: /* alter_db_optr ::= alter_db_optr replica */ yytestcase(yyruleno==113); -{ yylhsminor.yy454 = yymsp[-1].minor.yy454; yylhsminor.yy454.replica = strtol(yymsp[0].minor.yy0.z, NULL, 10); } - yymsp[-1].minor.yy454 = yylhsminor.yy454; - break; - case 97: /* db_optr ::= db_optr quorum */ - case 114: /* alter_db_optr ::= alter_db_optr quorum */ yytestcase(yyruleno==114); -{ yylhsminor.yy454 = yymsp[-1].minor.yy454; yylhsminor.yy454.quorum = strtol(yymsp[0].minor.yy0.z, NULL, 10); } - yymsp[-1].minor.yy454 = yylhsminor.yy454; - break; - case 98: /* db_optr ::= db_optr days */ -{ yylhsminor.yy454 = yymsp[-1].minor.yy454; yylhsminor.yy454.daysPerFile = strtol(yymsp[0].minor.yy0.z, NULL, 10); } - yymsp[-1].minor.yy454 = yylhsminor.yy454; - break; - case 99: /* db_optr ::= db_optr minrows */ -{ yylhsminor.yy454 = yymsp[-1].minor.yy454; yylhsminor.yy454.minRowsPerBlock = strtod(yymsp[0].minor.yy0.z, NULL); } - yymsp[-1].minor.yy454 = yylhsminor.yy454; - break; - case 100: /* db_optr ::= db_optr maxrows */ -{ yylhsminor.yy454 = yymsp[-1].minor.yy454; yylhsminor.yy454.maxRowsPerBlock = strtod(yymsp[0].minor.yy0.z, NULL); } - yymsp[-1].minor.yy454 = yylhsminor.yy454; - break; - case 101: /* db_optr ::= db_optr blocks */ - case 116: /* alter_db_optr ::= alter_db_optr blocks */ yytestcase(yyruleno==116); -{ yylhsminor.yy454 = yymsp[-1].minor.yy454; yylhsminor.yy454.numOfBlocks = strtol(yymsp[0].minor.yy0.z, NULL, 10); } - yymsp[-1].minor.yy454 = yylhsminor.yy454; - break; - case 102: /* db_optr ::= db_optr ctime */ -{ yylhsminor.yy454 = yymsp[-1].minor.yy454; yylhsminor.yy454.commitTime = strtol(yymsp[0].minor.yy0.z, NULL, 10); } - yymsp[-1].minor.yy454 = yylhsminor.yy454; - break; - case 103: /* db_optr ::= db_optr wal */ - case 118: /* alter_db_optr ::= alter_db_optr wal */ yytestcase(yyruleno==118); -{ yylhsminor.yy454 = yymsp[-1].minor.yy454; yylhsminor.yy454.walLevel = strtol(yymsp[0].minor.yy0.z, NULL, 10); } - yymsp[-1].minor.yy454 = yylhsminor.yy454; - break; - case 104: /* db_optr ::= db_optr fsync */ - case 119: /* alter_db_optr ::= alter_db_optr fsync */ yytestcase(yyruleno==119); -{ yylhsminor.yy454 = yymsp[-1].minor.yy454; yylhsminor.yy454.fsyncPeriod = strtol(yymsp[0].minor.yy0.z, NULL, 10); } - yymsp[-1].minor.yy454 = yylhsminor.yy454; - break; - case 105: /* db_optr ::= db_optr comp */ - case 117: /* alter_db_optr ::= alter_db_optr comp */ yytestcase(yyruleno==117); -{ yylhsminor.yy454 = yymsp[-1].minor.yy454; yylhsminor.yy454.compressionLevel = strtol(yymsp[0].minor.yy0.z, NULL, 10); } - yymsp[-1].minor.yy454 = yylhsminor.yy454; - break; - case 106: /* db_optr ::= db_optr prec */ -{ yylhsminor.yy454 = yymsp[-1].minor.yy454; yylhsminor.yy454.precision = yymsp[0].minor.yy0; } - yymsp[-1].minor.yy454 = yylhsminor.yy454; - break; - case 107: /* db_optr ::= db_optr keep */ - case 115: /* alter_db_optr ::= alter_db_optr keep */ yytestcase(yyruleno==115); -{ yylhsminor.yy454 = yymsp[-1].minor.yy454; yylhsminor.yy454.keep = yymsp[0].minor.yy15; } - yymsp[-1].minor.yy454 = yylhsminor.yy454; - break; - case 108: /* db_optr ::= db_optr update */ - case 120: /* alter_db_optr ::= alter_db_optr update */ yytestcase(yyruleno==120); -{ yylhsminor.yy454 = yymsp[-1].minor.yy454; yylhsminor.yy454.update = strtol(yymsp[0].minor.yy0.z, NULL, 10); } - yymsp[-1].minor.yy454 = yylhsminor.yy454; - break; - case 109: /* db_optr ::= db_optr cachelast */ - case 121: /* alter_db_optr ::= alter_db_optr cachelast */ yytestcase(yyruleno==121); -{ yylhsminor.yy454 = yymsp[-1].minor.yy454; yylhsminor.yy454.cachelast = strtol(yymsp[0].minor.yy0.z, NULL, 10); } - yymsp[-1].minor.yy454 = yylhsminor.yy454; - break; - case 110: /* topic_optr ::= db_optr */ - case 122: /* alter_topic_optr ::= alter_db_optr */ yytestcase(yyruleno==122); -{ yylhsminor.yy454 = yymsp[0].minor.yy454; yylhsminor.yy454.dbType = TSDB_DB_TYPE_TOPIC; } - yymsp[0].minor.yy454 = yylhsminor.yy454; - break; - case 111: /* topic_optr ::= topic_optr partitions */ - case 123: /* alter_topic_optr ::= alter_topic_optr partitions */ yytestcase(yyruleno==123); -{ yylhsminor.yy454 = yymsp[-1].minor.yy454; yylhsminor.yy454.partitions = strtol(yymsp[0].minor.yy0.z, NULL, 10); } - yymsp[-1].minor.yy454 = yylhsminor.yy454; - break; - case 112: /* alter_db_optr ::= */ -{ setDefaultCreateDbOption(&yymsp[1].minor.yy454); yymsp[1].minor.yy454.dbType = TSDB_DB_TYPE_DEFAULT;} - break; - case 124: /* typename ::= ids */ + case 97: /* db_optr ::= */ +{setDefaultCreateDbOption(&yymsp[1].minor.yy372); yymsp[1].minor.yy372.dbType = TSDB_DB_TYPE_DEFAULT;} + break; + case 98: /* db_optr ::= db_optr cache */ +{ yylhsminor.yy372 = yymsp[-1].minor.yy372; yylhsminor.yy372.cacheBlockSize = strtol(yymsp[0].minor.yy0.z, NULL, 10); } + yymsp[-1].minor.yy372 = yylhsminor.yy372; + break; + case 99: /* db_optr ::= db_optr replica */ + case 116: /* alter_db_optr ::= alter_db_optr replica */ yytestcase(yyruleno==116); +{ yylhsminor.yy372 = yymsp[-1].minor.yy372; yylhsminor.yy372.replica = strtol(yymsp[0].minor.yy0.z, NULL, 10); } + yymsp[-1].minor.yy372 = yylhsminor.yy372; + break; + case 100: /* db_optr ::= db_optr quorum */ + case 117: /* alter_db_optr ::= alter_db_optr quorum */ yytestcase(yyruleno==117); +{ yylhsminor.yy372 = yymsp[-1].minor.yy372; yylhsminor.yy372.quorum = strtol(yymsp[0].minor.yy0.z, NULL, 10); } + yymsp[-1].minor.yy372 = yylhsminor.yy372; + break; + case 101: /* db_optr ::= db_optr days */ +{ yylhsminor.yy372 = yymsp[-1].minor.yy372; yylhsminor.yy372.daysPerFile = strtol(yymsp[0].minor.yy0.z, NULL, 10); } + yymsp[-1].minor.yy372 = yylhsminor.yy372; + break; + case 102: /* db_optr ::= db_optr minrows */ +{ yylhsminor.yy372 = yymsp[-1].minor.yy372; yylhsminor.yy372.minRowsPerBlock = strtod(yymsp[0].minor.yy0.z, NULL); } + yymsp[-1].minor.yy372 = yylhsminor.yy372; + break; + case 103: /* db_optr ::= db_optr maxrows */ +{ yylhsminor.yy372 = yymsp[-1].minor.yy372; yylhsminor.yy372.maxRowsPerBlock = strtod(yymsp[0].minor.yy0.z, NULL); } + yymsp[-1].minor.yy372 = yylhsminor.yy372; + break; + case 104: /* db_optr ::= db_optr blocks */ + case 119: /* alter_db_optr ::= alter_db_optr blocks */ yytestcase(yyruleno==119); +{ yylhsminor.yy372 = yymsp[-1].minor.yy372; yylhsminor.yy372.numOfBlocks = strtol(yymsp[0].minor.yy0.z, NULL, 10); } + yymsp[-1].minor.yy372 = yylhsminor.yy372; + break; + case 105: /* db_optr ::= db_optr ctime */ +{ yylhsminor.yy372 = yymsp[-1].minor.yy372; yylhsminor.yy372.commitTime = strtol(yymsp[0].minor.yy0.z, NULL, 10); } + yymsp[-1].minor.yy372 = yylhsminor.yy372; + break; + case 106: /* db_optr ::= db_optr wal */ + case 121: /* alter_db_optr ::= alter_db_optr wal */ yytestcase(yyruleno==121); +{ yylhsminor.yy372 = yymsp[-1].minor.yy372; yylhsminor.yy372.walLevel = strtol(yymsp[0].minor.yy0.z, NULL, 10); } + yymsp[-1].minor.yy372 = yylhsminor.yy372; + break; + case 107: /* db_optr ::= db_optr fsync */ + case 122: /* alter_db_optr ::= alter_db_optr fsync */ yytestcase(yyruleno==122); +{ yylhsminor.yy372 = yymsp[-1].minor.yy372; yylhsminor.yy372.fsyncPeriod = strtol(yymsp[0].minor.yy0.z, NULL, 10); } + yymsp[-1].minor.yy372 = yylhsminor.yy372; + break; + case 108: /* db_optr ::= db_optr comp */ + case 120: /* alter_db_optr ::= alter_db_optr comp */ yytestcase(yyruleno==120); +{ yylhsminor.yy372 = yymsp[-1].minor.yy372; yylhsminor.yy372.compressionLevel = strtol(yymsp[0].minor.yy0.z, NULL, 10); } + yymsp[-1].minor.yy372 = yylhsminor.yy372; + break; + case 109: /* db_optr ::= db_optr prec */ +{ yylhsminor.yy372 = yymsp[-1].minor.yy372; yylhsminor.yy372.precision = yymsp[0].minor.yy0; } + yymsp[-1].minor.yy372 = yylhsminor.yy372; + break; + case 110: /* db_optr ::= db_optr keep */ + case 118: /* alter_db_optr ::= alter_db_optr keep */ yytestcase(yyruleno==118); +{ yylhsminor.yy372 = yymsp[-1].minor.yy372; yylhsminor.yy372.keep = yymsp[0].minor.yy93; } + yymsp[-1].minor.yy372 = yylhsminor.yy372; + break; + case 111: /* db_optr ::= db_optr update */ + case 123: /* alter_db_optr ::= alter_db_optr update */ yytestcase(yyruleno==123); +{ yylhsminor.yy372 = yymsp[-1].minor.yy372; yylhsminor.yy372.update = strtol(yymsp[0].minor.yy0.z, NULL, 10); } + yymsp[-1].minor.yy372 = yylhsminor.yy372; + break; + case 112: /* db_optr ::= db_optr cachelast */ + case 124: /* alter_db_optr ::= alter_db_optr cachelast */ yytestcase(yyruleno==124); +{ yylhsminor.yy372 = yymsp[-1].minor.yy372; yylhsminor.yy372.cachelast = strtol(yymsp[0].minor.yy0.z, NULL, 10); } + yymsp[-1].minor.yy372 = yylhsminor.yy372; + break; + case 113: /* topic_optr ::= db_optr */ + case 125: /* alter_topic_optr ::= alter_db_optr */ yytestcase(yyruleno==125); +{ yylhsminor.yy372 = yymsp[0].minor.yy372; yylhsminor.yy372.dbType = TSDB_DB_TYPE_TOPIC; } + yymsp[0].minor.yy372 = yylhsminor.yy372; + break; + case 114: /* topic_optr ::= topic_optr partitions */ + case 126: /* alter_topic_optr ::= alter_topic_optr partitions */ yytestcase(yyruleno==126); +{ yylhsminor.yy372 = yymsp[-1].minor.yy372; yylhsminor.yy372.partitions = strtol(yymsp[0].minor.yy0.z, NULL, 10); } + yymsp[-1].minor.yy372 = yylhsminor.yy372; + break; + case 115: /* alter_db_optr ::= */ +{ setDefaultCreateDbOption(&yymsp[1].minor.yy372); yymsp[1].minor.yy372.dbType = TSDB_DB_TYPE_DEFAULT;} + break; + case 127: /* typename ::= ids */ { yymsp[0].minor.yy0.type = 0; - tSetColumnType (&yylhsminor.yy505, &yymsp[0].minor.yy0); + tSetColumnType (&yylhsminor.yy325, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy505 = yylhsminor.yy505; + yymsp[0].minor.yy325 = yylhsminor.yy325; break; - case 125: /* typename ::= ids LP signed RP */ + case 128: /* typename ::= ids LP signed RP */ { - if (yymsp[-1].minor.yy489 <= 0) { + if (yymsp[-1].minor.yy279 <= 0) { yymsp[-3].minor.yy0.type = 0; - tSetColumnType(&yylhsminor.yy505, &yymsp[-3].minor.yy0); + tSetColumnType(&yylhsminor.yy325, &yymsp[-3].minor.yy0); } else { - yymsp[-3].minor.yy0.type = -yymsp[-1].minor.yy489; // negative value of name length - tSetColumnType(&yylhsminor.yy505, &yymsp[-3].minor.yy0); + yymsp[-3].minor.yy0.type = -yymsp[-1].minor.yy279; // negative value of name length + tSetColumnType(&yylhsminor.yy325, &yymsp[-3].minor.yy0); } } - yymsp[-3].minor.yy505 = yylhsminor.yy505; + yymsp[-3].minor.yy325 = yylhsminor.yy325; break; - case 126: /* typename ::= ids UNSIGNED */ + case 129: /* typename ::= ids UNSIGNED */ { yymsp[-1].minor.yy0.type = 0; yymsp[-1].minor.yy0.n = ((yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z); - tSetColumnType (&yylhsminor.yy505, &yymsp[-1].minor.yy0); + tSetColumnType (&yylhsminor.yy325, &yymsp[-1].minor.yy0); } - yymsp[-1].minor.yy505 = yylhsminor.yy505; + yymsp[-1].minor.yy325 = yylhsminor.yy325; break; - case 127: /* signed ::= INTEGER */ -{ yylhsminor.yy489 = strtol(yymsp[0].minor.yy0.z, NULL, 10); } - yymsp[0].minor.yy489 = yylhsminor.yy489; + case 130: /* signed ::= INTEGER */ +{ yylhsminor.yy279 = strtol(yymsp[0].minor.yy0.z, NULL, 10); } + yymsp[0].minor.yy279 = yylhsminor.yy279; break; - case 128: /* signed ::= PLUS INTEGER */ -{ yymsp[-1].minor.yy489 = strtol(yymsp[0].minor.yy0.z, NULL, 10); } + case 131: /* signed ::= PLUS INTEGER */ +{ yymsp[-1].minor.yy279 = strtol(yymsp[0].minor.yy0.z, NULL, 10); } break; - case 129: /* signed ::= MINUS INTEGER */ -{ yymsp[-1].minor.yy489 = -strtol(yymsp[0].minor.yy0.z, NULL, 10);} + case 132: /* signed ::= MINUS INTEGER */ +{ yymsp[-1].minor.yy279 = -strtol(yymsp[0].minor.yy0.z, NULL, 10);} break; - case 133: /* cmd ::= CREATE TABLE create_table_list */ -{ pInfo->type = TSDB_SQL_CREATE_TABLE; pInfo->pCreateTableInfo = yymsp[0].minor.yy482;} + case 136: /* cmd ::= CREATE TABLE create_table_list */ +{ pInfo->type = TSDB_SQL_CREATE_TABLE; pInfo->pCreateTableInfo = yymsp[0].minor.yy532;} break; - case 134: /* create_table_list ::= create_from_stable */ + case 137: /* create_table_list ::= create_from_stable */ { SCreateTableSql* pCreateTable = calloc(1, sizeof(SCreateTableSql)); pCreateTable->childTableInfo = taosArrayInit(4, sizeof(SCreatedTableInfo)); - taosArrayPush(pCreateTable->childTableInfo, &yymsp[0].minor.yy390); + taosArrayPush(pCreateTable->childTableInfo, &yymsp[0].minor.yy528); pCreateTable->type = TSQL_CREATE_TABLE_FROM_STABLE; - yylhsminor.yy482 = pCreateTable; + yylhsminor.yy532 = pCreateTable; } - yymsp[0].minor.yy482 = yylhsminor.yy482; + yymsp[0].minor.yy532 = yylhsminor.yy532; break; - case 135: /* create_table_list ::= create_table_list create_from_stable */ + case 138: /* create_table_list ::= create_table_list create_from_stable */ { - taosArrayPush(yymsp[-1].minor.yy482->childTableInfo, &yymsp[0].minor.yy390); - yylhsminor.yy482 = yymsp[-1].minor.yy482; + taosArrayPush(yymsp[-1].minor.yy532->childTableInfo, &yymsp[0].minor.yy528); + yylhsminor.yy532 = yymsp[-1].minor.yy532; } - yymsp[-1].minor.yy482 = yylhsminor.yy482; + yymsp[-1].minor.yy532 = yylhsminor.yy532; break; - case 136: /* create_table_args ::= ifnotexists ids cpxName LP columnlist RP */ + case 139: /* create_table_args ::= ifnotexists ids cpxName LP columnlist RP */ { - yylhsminor.yy482 = tSetCreateTableInfo(yymsp[-1].minor.yy15, NULL, NULL, TSQL_CREATE_TABLE); - setSqlInfo(pInfo, yylhsminor.yy482, NULL, TSDB_SQL_CREATE_TABLE); + yylhsminor.yy532 = tSetCreateTableInfo(yymsp[-1].minor.yy93, NULL, NULL, TSQL_CREATE_TABLE); + setSqlInfo(pInfo, yylhsminor.yy532, NULL, TSDB_SQL_CREATE_TABLE); yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; setCreatedTableName(pInfo, &yymsp[-4].minor.yy0, &yymsp[-5].minor.yy0); } - yymsp[-5].minor.yy482 = yylhsminor.yy482; + yymsp[-5].minor.yy532 = yylhsminor.yy532; break; - case 137: /* create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */ + case 140: /* create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */ { - yylhsminor.yy482 = tSetCreateTableInfo(yymsp[-5].minor.yy15, yymsp[-1].minor.yy15, NULL, TSQL_CREATE_STABLE); - setSqlInfo(pInfo, yylhsminor.yy482, NULL, TSDB_SQL_CREATE_TABLE); + yylhsminor.yy532 = tSetCreateTableInfo(yymsp[-5].minor.yy93, yymsp[-1].minor.yy93, NULL, TSQL_CREATE_STABLE); + setSqlInfo(pInfo, yylhsminor.yy532, NULL, TSDB_SQL_CREATE_TABLE); yymsp[-8].minor.yy0.n += yymsp[-7].minor.yy0.n; setCreatedTableName(pInfo, &yymsp[-8].minor.yy0, &yymsp[-9].minor.yy0); } - yymsp[-9].minor.yy482 = yylhsminor.yy482; + yymsp[-9].minor.yy532 = yylhsminor.yy532; break; - case 138: /* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */ + case 141: /* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */ { yymsp[-5].minor.yy0.n += yymsp[-4].minor.yy0.n; yymsp[-8].minor.yy0.n += yymsp[-7].minor.yy0.n; - yylhsminor.yy390 = createNewChildTableInfo(&yymsp[-5].minor.yy0, NULL, yymsp[-1].minor.yy15, &yymsp[-8].minor.yy0, &yymsp[-9].minor.yy0); + yylhsminor.yy528 = createNewChildTableInfo(&yymsp[-5].minor.yy0, NULL, yymsp[-1].minor.yy93, &yymsp[-8].minor.yy0, &yymsp[-9].minor.yy0); } - yymsp[-9].minor.yy390 = yylhsminor.yy390; + yymsp[-9].minor.yy528 = yylhsminor.yy528; break; - case 139: /* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */ + case 142: /* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */ { yymsp[-8].minor.yy0.n += yymsp[-7].minor.yy0.n; yymsp[-11].minor.yy0.n += yymsp[-10].minor.yy0.n; - yylhsminor.yy390 = createNewChildTableInfo(&yymsp[-8].minor.yy0, yymsp[-5].minor.yy15, yymsp[-1].minor.yy15, &yymsp[-11].minor.yy0, &yymsp[-12].minor.yy0); + yylhsminor.yy528 = createNewChildTableInfo(&yymsp[-8].minor.yy0, yymsp[-5].minor.yy93, yymsp[-1].minor.yy93, &yymsp[-11].minor.yy0, &yymsp[-12].minor.yy0); } - yymsp[-12].minor.yy390 = yylhsminor.yy390; + yymsp[-12].minor.yy528 = yylhsminor.yy528; break; - case 140: /* tagNamelist ::= tagNamelist COMMA ids */ -{taosArrayPush(yymsp[-2].minor.yy15, &yymsp[0].minor.yy0); yylhsminor.yy15 = yymsp[-2].minor.yy15; } - yymsp[-2].minor.yy15 = yylhsminor.yy15; + case 143: /* tagNamelist ::= tagNamelist COMMA ids */ +{taosArrayPush(yymsp[-2].minor.yy93, &yymsp[0].minor.yy0); yylhsminor.yy93 = yymsp[-2].minor.yy93; } + yymsp[-2].minor.yy93 = yylhsminor.yy93; break; - case 141: /* tagNamelist ::= ids */ -{yylhsminor.yy15 = taosArrayInit(4, sizeof(SStrToken)); taosArrayPush(yylhsminor.yy15, &yymsp[0].minor.yy0);} - yymsp[0].minor.yy15 = yylhsminor.yy15; + case 144: /* tagNamelist ::= ids */ +{yylhsminor.yy93 = taosArrayInit(4, sizeof(SStrToken)); taosArrayPush(yylhsminor.yy93, &yymsp[0].minor.yy0);} + yymsp[0].minor.yy93 = yylhsminor.yy93; break; - case 142: /* create_table_args ::= ifnotexists ids cpxName AS select */ + case 145: /* create_table_args ::= ifnotexists ids cpxName AS select */ { - yylhsminor.yy482 = tSetCreateTableInfo(NULL, NULL, yymsp[0].minor.yy134, TSQL_CREATE_STREAM); - setSqlInfo(pInfo, yylhsminor.yy482, NULL, TSDB_SQL_CREATE_TABLE); + yylhsminor.yy532 = tSetCreateTableInfo(NULL, NULL, yymsp[0].minor.yy224, TSQL_CREATE_STREAM); + setSqlInfo(pInfo, yylhsminor.yy532, NULL, TSDB_SQL_CREATE_TABLE); yymsp[-3].minor.yy0.n += yymsp[-2].minor.yy0.n; setCreatedTableName(pInfo, &yymsp[-3].minor.yy0, &yymsp[-4].minor.yy0); } - yymsp[-4].minor.yy482 = yylhsminor.yy482; + yymsp[-4].minor.yy532 = yylhsminor.yy532; break; - case 143: /* columnlist ::= columnlist COMMA column */ -{taosArrayPush(yymsp[-2].minor.yy15, &yymsp[0].minor.yy505); yylhsminor.yy15 = yymsp[-2].minor.yy15; } - yymsp[-2].minor.yy15 = yylhsminor.yy15; + case 146: /* columnlist ::= columnlist COMMA column */ +{taosArrayPush(yymsp[-2].minor.yy93, &yymsp[0].minor.yy325); yylhsminor.yy93 = yymsp[-2].minor.yy93; } + yymsp[-2].minor.yy93 = yylhsminor.yy93; break; - case 144: /* columnlist ::= column */ -{yylhsminor.yy15 = taosArrayInit(4, sizeof(TAOS_FIELD)); taosArrayPush(yylhsminor.yy15, &yymsp[0].minor.yy505);} - yymsp[0].minor.yy15 = yylhsminor.yy15; + case 147: /* columnlist ::= column */ +{yylhsminor.yy93 = taosArrayInit(4, sizeof(TAOS_FIELD)); taosArrayPush(yylhsminor.yy93, &yymsp[0].minor.yy325);} + yymsp[0].minor.yy93 = yylhsminor.yy93; break; - case 145: /* column ::= ids typename */ + case 148: /* column ::= ids typename */ { - tSetColumnInfo(&yylhsminor.yy505, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy505); + tSetColumnInfo(&yylhsminor.yy325, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy325); } - yymsp[-1].minor.yy505 = yylhsminor.yy505; - break; - case 146: /* tagitemlist ::= tagitemlist COMMA tagitem */ -{ yylhsminor.yy15 = tVariantListAppend(yymsp[-2].minor.yy15, &yymsp[0].minor.yy380, -1); } - yymsp[-2].minor.yy15 = yylhsminor.yy15; - break; - case 147: /* tagitemlist ::= tagitem */ -{ yylhsminor.yy15 = tVariantListAppend(NULL, &yymsp[0].minor.yy380, -1); } - yymsp[0].minor.yy15 = yylhsminor.yy15; - break; - case 148: /* tagitem ::= INTEGER */ - case 149: /* tagitem ::= FLOAT */ yytestcase(yyruleno==149); - case 150: /* tagitem ::= STRING */ yytestcase(yyruleno==150); - case 151: /* tagitem ::= BOOL */ yytestcase(yyruleno==151); -{ toTSDBType(yymsp[0].minor.yy0.type); tVariantCreate(&yylhsminor.yy380, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy380 = yylhsminor.yy380; + yymsp[-1].minor.yy325 = yylhsminor.yy325; break; - case 152: /* tagitem ::= NULL */ -{ yymsp[0].minor.yy0.type = 0; tVariantCreate(&yylhsminor.yy380, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy380 = yylhsminor.yy380; + case 155: /* tagitem ::= NULL */ +{ yymsp[0].minor.yy0.type = 0; tVariantCreate(&yylhsminor.yy518, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy518 = yylhsminor.yy518; break; - case 153: /* tagitem ::= MINUS INTEGER */ - case 154: /* tagitem ::= MINUS FLOAT */ yytestcase(yyruleno==154); - case 155: /* tagitem ::= PLUS INTEGER */ yytestcase(yyruleno==155); - case 156: /* tagitem ::= PLUS FLOAT */ yytestcase(yyruleno==156); + case 156: /* tagitem ::= MINUS INTEGER */ + case 157: /* tagitem ::= MINUS FLOAT */ yytestcase(yyruleno==157); + case 158: /* tagitem ::= PLUS INTEGER */ yytestcase(yyruleno==158); + case 159: /* tagitem ::= PLUS FLOAT */ yytestcase(yyruleno==159); { 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.yy380, &yymsp[-1].minor.yy0); + tVariantCreate(&yylhsminor.yy518, &yymsp[-1].minor.yy0); } - yymsp[-1].minor.yy380 = yylhsminor.yy380; + yymsp[-1].minor.yy518 = yylhsminor.yy518; break; - case 157: /* select ::= SELECT selcollist from where_opt interval_opt session_option windowstate_option fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */ + case 160: /* select ::= SELECT selcollist from where_opt interval_opt session_option windowstate_option fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */ { - yylhsminor.yy134 = tSetQuerySqlNode(&yymsp[-13].minor.yy0, yymsp[-12].minor.yy15, yymsp[-11].minor.yy160, yymsp[-10].minor.yy328, yymsp[-4].minor.yy15, yymsp[-3].minor.yy15, &yymsp[-9].minor.yy496, &yymsp[-8].minor.yy151, &yymsp[-7].minor.yy96, &yymsp[-5].minor.yy0, yymsp[-6].minor.yy15, &yymsp[0].minor.yy150, &yymsp[-1].minor.yy150, yymsp[-2].minor.yy328); + yylhsminor.yy224 = tSetQuerySqlNode(&yymsp[-13].minor.yy0, yymsp[-12].minor.yy93, yymsp[-11].minor.yy330, yymsp[-10].minor.yy68, yymsp[-4].minor.yy93, yymsp[-3].minor.yy93, &yymsp[-9].minor.yy42, &yymsp[-8].minor.yy15, &yymsp[-7].minor.yy274, &yymsp[-5].minor.yy0, yymsp[-6].minor.yy93, &yymsp[0].minor.yy284, &yymsp[-1].minor.yy284, yymsp[-2].minor.yy68); } - yymsp[-13].minor.yy134 = yylhsminor.yy134; + yymsp[-13].minor.yy224 = yylhsminor.yy224; break; - case 158: /* select ::= LP select RP */ -{yymsp[-2].minor.yy134 = yymsp[-1].minor.yy134;} + case 161: /* select ::= LP select RP */ +{yymsp[-2].minor.yy224 = yymsp[-1].minor.yy224;} break; - case 159: /* union ::= select */ -{ yylhsminor.yy15 = setSubclause(NULL, yymsp[0].minor.yy134); } - yymsp[0].minor.yy15 = yylhsminor.yy15; + case 162: /* union ::= select */ +{ yylhsminor.yy93 = setSubclause(NULL, yymsp[0].minor.yy224); } + yymsp[0].minor.yy93 = yylhsminor.yy93; break; - case 160: /* union ::= union UNION ALL select */ -{ yylhsminor.yy15 = appendSelectClause(yymsp[-3].minor.yy15, yymsp[0].minor.yy134); } - yymsp[-3].minor.yy15 = yylhsminor.yy15; + case 163: /* union ::= union UNION ALL select */ +{ yylhsminor.yy93 = appendSelectClause(yymsp[-3].minor.yy93, yymsp[0].minor.yy224); } + yymsp[-3].minor.yy93 = yylhsminor.yy93; break; - case 161: /* cmd ::= union */ -{ setSqlInfo(pInfo, yymsp[0].minor.yy15, NULL, TSDB_SQL_SELECT); } + case 164: /* cmd ::= union */ +{ setSqlInfo(pInfo, yymsp[0].minor.yy93, NULL, TSDB_SQL_SELECT); } break; - case 162: /* select ::= SELECT selcollist */ + case 165: /* select ::= SELECT selcollist */ { - yylhsminor.yy134 = tSetQuerySqlNode(&yymsp[-1].minor.yy0, yymsp[0].minor.yy15, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); + yylhsminor.yy224 = tSetQuerySqlNode(&yymsp[-1].minor.yy0, yymsp[0].minor.yy93, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); } - yymsp[-1].minor.yy134 = yylhsminor.yy134; + yymsp[-1].minor.yy224 = yylhsminor.yy224; break; - case 163: /* sclp ::= selcollist COMMA */ -{yylhsminor.yy15 = yymsp[-1].minor.yy15;} - yymsp[-1].minor.yy15 = yylhsminor.yy15; + case 166: /* sclp ::= selcollist COMMA */ +{yylhsminor.yy93 = yymsp[-1].minor.yy93;} + yymsp[-1].minor.yy93 = yylhsminor.yy93; break; - case 164: /* sclp ::= */ - case 194: /* orderby_opt ::= */ yytestcase(yyruleno==194); -{yymsp[1].minor.yy15 = 0;} + case 167: /* sclp ::= */ + case 197: /* orderby_opt ::= */ yytestcase(yyruleno==197); +{yymsp[1].minor.yy93 = 0;} break; - case 165: /* selcollist ::= sclp distinct expr as */ + case 168: /* selcollist ::= sclp distinct expr as */ { - yylhsminor.yy15 = tSqlExprListAppend(yymsp[-3].minor.yy15, yymsp[-1].minor.yy328, yymsp[-2].minor.yy0.n? &yymsp[-2].minor.yy0:0, yymsp[0].minor.yy0.n?&yymsp[0].minor.yy0:0); + yylhsminor.yy93 = tSqlExprListAppend(yymsp[-3].minor.yy93, yymsp[-1].minor.yy68, yymsp[-2].minor.yy0.n? &yymsp[-2].minor.yy0:0, yymsp[0].minor.yy0.n?&yymsp[0].minor.yy0:0); } - yymsp[-3].minor.yy15 = yylhsminor.yy15; + yymsp[-3].minor.yy93 = yylhsminor.yy93; break; - case 166: /* selcollist ::= sclp STAR */ + case 169: /* selcollist ::= sclp STAR */ { tSqlExpr *pNode = tSqlExprCreateIdValue(NULL, TK_ALL); - yylhsminor.yy15 = tSqlExprListAppend(yymsp[-1].minor.yy15, pNode, 0, 0); + yylhsminor.yy93 = tSqlExprListAppend(yymsp[-1].minor.yy93, pNode, 0, 0); } - yymsp[-1].minor.yy15 = yylhsminor.yy15; + yymsp[-1].minor.yy93 = yylhsminor.yy93; break; - case 167: /* as ::= AS ids */ + case 170: /* as ::= AS ids */ { yymsp[-1].minor.yy0 = yymsp[0].minor.yy0; } break; - case 168: /* as ::= ids */ + case 171: /* as ::= ids */ { yylhsminor.yy0 = yymsp[0].minor.yy0; } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 169: /* as ::= */ + case 172: /* as ::= */ { yymsp[1].minor.yy0.n = 0; } break; - case 170: /* distinct ::= DISTINCT */ + case 173: /* distinct ::= DISTINCT */ { yylhsminor.yy0 = yymsp[0].minor.yy0; } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 172: /* from ::= FROM tablelist */ - case 173: /* from ::= FROM sub */ yytestcase(yyruleno==173); -{yymsp[-1].minor.yy160 = yymsp[0].minor.yy160;} + case 175: /* from ::= FROM tablelist */ + case 176: /* from ::= FROM sub */ yytestcase(yyruleno==176); +{yymsp[-1].minor.yy330 = yymsp[0].minor.yy330;} break; - case 174: /* sub ::= LP union RP */ -{yymsp[-2].minor.yy160 = addSubqueryElem(NULL, yymsp[-1].minor.yy15, NULL);} + case 177: /* sub ::= LP union RP */ +{yymsp[-2].minor.yy330 = addSubqueryElem(NULL, yymsp[-1].minor.yy93, NULL);} break; - case 175: /* sub ::= LP union RP ids */ -{yymsp[-3].minor.yy160 = addSubqueryElem(NULL, yymsp[-2].minor.yy15, &yymsp[0].minor.yy0);} + case 178: /* sub ::= LP union RP ids */ +{yymsp[-3].minor.yy330 = addSubqueryElem(NULL, yymsp[-2].minor.yy93, &yymsp[0].minor.yy0);} break; - case 176: /* sub ::= sub COMMA LP union RP ids */ -{yylhsminor.yy160 = addSubqueryElem(yymsp[-5].minor.yy160, yymsp[-2].minor.yy15, &yymsp[0].minor.yy0);} - yymsp[-5].minor.yy160 = yylhsminor.yy160; + case 179: /* sub ::= sub COMMA LP union RP ids */ +{yylhsminor.yy330 = addSubqueryElem(yymsp[-5].minor.yy330, yymsp[-2].minor.yy93, &yymsp[0].minor.yy0);} + yymsp[-5].minor.yy330 = yylhsminor.yy330; break; - case 177: /* tablelist ::= ids cpxName */ + case 180: /* tablelist ::= ids cpxName */ { yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; - yylhsminor.yy160 = setTableNameList(NULL, &yymsp[-1].minor.yy0, NULL); + yylhsminor.yy330 = setTableNameList(NULL, &yymsp[-1].minor.yy0, NULL); } - yymsp[-1].minor.yy160 = yylhsminor.yy160; + yymsp[-1].minor.yy330 = yylhsminor.yy330; break; - case 178: /* tablelist ::= ids cpxName ids */ + case 181: /* tablelist ::= ids cpxName ids */ { yymsp[-2].minor.yy0.n += yymsp[-1].minor.yy0.n; - yylhsminor.yy160 = setTableNameList(NULL, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); + yylhsminor.yy330 = setTableNameList(NULL, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy160 = yylhsminor.yy160; + yymsp[-2].minor.yy330 = yylhsminor.yy330; break; - case 179: /* tablelist ::= tablelist COMMA ids cpxName */ + case 182: /* tablelist ::= tablelist COMMA ids cpxName */ { yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; - yylhsminor.yy160 = setTableNameList(yymsp[-3].minor.yy160, &yymsp[-1].minor.yy0, NULL); + yylhsminor.yy330 = setTableNameList(yymsp[-3].minor.yy330, &yymsp[-1].minor.yy0, NULL); } - yymsp[-3].minor.yy160 = yylhsminor.yy160; + yymsp[-3].minor.yy330 = yylhsminor.yy330; break; - case 180: /* tablelist ::= tablelist COMMA ids cpxName ids */ + case 183: /* tablelist ::= tablelist COMMA ids cpxName ids */ { yymsp[-2].minor.yy0.n += yymsp[-1].minor.yy0.n; - yylhsminor.yy160 = setTableNameList(yymsp[-4].minor.yy160, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); + yylhsminor.yy330 = setTableNameList(yymsp[-4].minor.yy330, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } - yymsp[-4].minor.yy160 = yylhsminor.yy160; + yymsp[-4].minor.yy330 = yylhsminor.yy330; break; - case 181: /* tmvar ::= VARIABLE */ + case 184: /* tmvar ::= VARIABLE */ {yylhsminor.yy0 = yymsp[0].minor.yy0;} yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 182: /* interval_opt ::= INTERVAL LP tmvar RP */ -{yymsp[-3].minor.yy496.interval = yymsp[-1].minor.yy0; yymsp[-3].minor.yy496.offset.n = 0;} + case 185: /* interval_opt ::= INTERVAL LP tmvar RP */ +{yymsp[-3].minor.yy42.interval = yymsp[-1].minor.yy0; yymsp[-3].minor.yy42.offset.n = 0;} break; - case 183: /* interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */ -{yymsp[-5].minor.yy496.interval = yymsp[-3].minor.yy0; yymsp[-5].minor.yy496.offset = yymsp[-1].minor.yy0;} + case 186: /* interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */ +{yymsp[-5].minor.yy42.interval = yymsp[-3].minor.yy0; yymsp[-5].minor.yy42.offset = yymsp[-1].minor.yy0;} break; - case 184: /* interval_opt ::= */ -{memset(&yymsp[1].minor.yy496, 0, sizeof(yymsp[1].minor.yy496));} + case 187: /* interval_opt ::= */ +{memset(&yymsp[1].minor.yy42, 0, sizeof(yymsp[1].minor.yy42));} break; - case 185: /* session_option ::= */ -{yymsp[1].minor.yy151.col.n = 0; yymsp[1].minor.yy151.gap.n = 0;} + case 188: /* session_option ::= */ +{yymsp[1].minor.yy15.col.n = 0; yymsp[1].minor.yy15.gap.n = 0;} break; - case 186: /* session_option ::= SESSION LP ids cpxName COMMA tmvar RP */ + case 189: /* session_option ::= SESSION LP ids cpxName COMMA tmvar RP */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; - yymsp[-6].minor.yy151.col = yymsp[-4].minor.yy0; - yymsp[-6].minor.yy151.gap = yymsp[-1].minor.yy0; + yymsp[-6].minor.yy15.col = yymsp[-4].minor.yy0; + yymsp[-6].minor.yy15.gap = yymsp[-1].minor.yy0; } break; - case 187: /* windowstate_option ::= */ -{ yymsp[1].minor.yy96.col.n = 0; yymsp[1].minor.yy96.col.z = NULL;} + case 190: /* windowstate_option ::= */ +{ yymsp[1].minor.yy274.col.n = 0; yymsp[1].minor.yy274.col.z = NULL;} break; - case 188: /* windowstate_option ::= STATE_WINDOW LP ids RP */ -{ yymsp[-3].minor.yy96.col = yymsp[-1].minor.yy0; } + case 191: /* windowstate_option ::= STATE_WINDOW LP ids RP */ +{ yymsp[-3].minor.yy274.col = yymsp[-1].minor.yy0; } break; - case 189: /* fill_opt ::= */ -{ yymsp[1].minor.yy15 = 0; } + case 192: /* fill_opt ::= */ +{ yymsp[1].minor.yy93 = 0; } break; - case 190: /* fill_opt ::= FILL LP ID COMMA tagitemlist RP */ + case 193: /* 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.yy15, &A, -1, 0); - yymsp[-5].minor.yy15 = yymsp[-1].minor.yy15; + tVariantListInsert(yymsp[-1].minor.yy93, &A, -1, 0); + yymsp[-5].minor.yy93 = yymsp[-1].minor.yy93; } break; - case 191: /* fill_opt ::= FILL LP ID RP */ + case 194: /* fill_opt ::= FILL LP ID RP */ { toTSDBType(yymsp[-1].minor.yy0.type); - yymsp[-3].minor.yy15 = tVariantListAppendToken(NULL, &yymsp[-1].minor.yy0, -1); + yymsp[-3].minor.yy93 = tVariantListAppendToken(NULL, &yymsp[-1].minor.yy0, -1); } break; - case 192: /* sliding_opt ::= SLIDING LP tmvar RP */ + case 195: /* sliding_opt ::= SLIDING LP tmvar RP */ {yymsp[-3].minor.yy0 = yymsp[-1].minor.yy0; } break; - case 193: /* sliding_opt ::= */ + case 196: /* sliding_opt ::= */ {yymsp[1].minor.yy0.n = 0; yymsp[1].minor.yy0.z = NULL; yymsp[1].minor.yy0.type = 0; } break; - case 195: /* orderby_opt ::= ORDER BY sortlist */ -{yymsp[-2].minor.yy15 = yymsp[0].minor.yy15;} + case 198: /* orderby_opt ::= ORDER BY sortlist */ +{yymsp[-2].minor.yy93 = yymsp[0].minor.yy93;} break; - case 196: /* sortlist ::= sortlist COMMA item sortorder */ + case 199: /* sortlist ::= sortlist COMMA item sortorder */ { - yylhsminor.yy15 = tVariantListAppend(yymsp[-3].minor.yy15, &yymsp[-1].minor.yy380, yymsp[0].minor.yy250); + yylhsminor.yy93 = tVariantListAppend(yymsp[-3].minor.yy93, &yymsp[-1].minor.yy518, yymsp[0].minor.yy150); } - yymsp[-3].minor.yy15 = yylhsminor.yy15; + yymsp[-3].minor.yy93 = yylhsminor.yy93; break; - case 197: /* sortlist ::= item sortorder */ + case 200: /* sortlist ::= item sortorder */ { - yylhsminor.yy15 = tVariantListAppend(NULL, &yymsp[-1].minor.yy380, yymsp[0].minor.yy250); + yylhsminor.yy93 = tVariantListAppend(NULL, &yymsp[-1].minor.yy518, yymsp[0].minor.yy150); } - yymsp[-1].minor.yy15 = yylhsminor.yy15; + yymsp[-1].minor.yy93 = yylhsminor.yy93; break; - case 198: /* item ::= ids cpxName */ + case 201: /* item ::= ids cpxName */ { toTSDBType(yymsp[-1].minor.yy0.type); yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; - tVariantCreate(&yylhsminor.yy380, &yymsp[-1].minor.yy0); + tVariantCreate(&yylhsminor.yy518, &yymsp[-1].minor.yy0); } - yymsp[-1].minor.yy380 = yylhsminor.yy380; + yymsp[-1].minor.yy518 = yylhsminor.yy518; break; - case 199: /* sortorder ::= ASC */ -{ yymsp[0].minor.yy250 = TSDB_ORDER_ASC; } + case 202: /* sortorder ::= ASC */ +{ yymsp[0].minor.yy150 = TSDB_ORDER_ASC; } break; - case 200: /* sortorder ::= DESC */ -{ yymsp[0].minor.yy250 = TSDB_ORDER_DESC;} + case 203: /* sortorder ::= DESC */ +{ yymsp[0].minor.yy150 = TSDB_ORDER_DESC;} break; - case 201: /* sortorder ::= */ -{ yymsp[1].minor.yy250 = TSDB_ORDER_ASC; } + case 204: /* sortorder ::= */ +{ yymsp[1].minor.yy150 = TSDB_ORDER_ASC; } break; - case 202: /* groupby_opt ::= */ -{ yymsp[1].minor.yy15 = 0;} + case 205: /* groupby_opt ::= */ +{ yymsp[1].minor.yy93 = 0;} break; - case 203: /* groupby_opt ::= GROUP BY grouplist */ -{ yymsp[-2].minor.yy15 = yymsp[0].minor.yy15;} + case 206: /* groupby_opt ::= GROUP BY grouplist */ +{ yymsp[-2].minor.yy93 = yymsp[0].minor.yy93;} break; - case 204: /* grouplist ::= grouplist COMMA item */ + case 207: /* grouplist ::= grouplist COMMA item */ { - yylhsminor.yy15 = tVariantListAppend(yymsp[-2].minor.yy15, &yymsp[0].minor.yy380, -1); + yylhsminor.yy93 = tVariantListAppend(yymsp[-2].minor.yy93, &yymsp[0].minor.yy518, -1); } - yymsp[-2].minor.yy15 = yylhsminor.yy15; + yymsp[-2].minor.yy93 = yylhsminor.yy93; break; - case 205: /* grouplist ::= item */ + case 208: /* grouplist ::= item */ { - yylhsminor.yy15 = tVariantListAppend(NULL, &yymsp[0].minor.yy380, -1); + yylhsminor.yy93 = tVariantListAppend(NULL, &yymsp[0].minor.yy518, -1); } - yymsp[0].minor.yy15 = yylhsminor.yy15; + yymsp[0].minor.yy93 = yylhsminor.yy93; break; - case 206: /* having_opt ::= */ - case 216: /* where_opt ::= */ yytestcase(yyruleno==216); - case 258: /* expritem ::= */ yytestcase(yyruleno==258); -{yymsp[1].minor.yy328 = 0;} + case 209: /* having_opt ::= */ + case 219: /* where_opt ::= */ yytestcase(yyruleno==219); + case 261: /* expritem ::= */ yytestcase(yyruleno==261); +{yymsp[1].minor.yy68 = 0;} break; - case 207: /* having_opt ::= HAVING expr */ - case 217: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==217); -{yymsp[-1].minor.yy328 = yymsp[0].minor.yy328;} + case 210: /* having_opt ::= HAVING expr */ + case 220: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==220); +{yymsp[-1].minor.yy68 = yymsp[0].minor.yy68;} break; - case 208: /* limit_opt ::= */ - case 212: /* slimit_opt ::= */ yytestcase(yyruleno==212); -{yymsp[1].minor.yy150.limit = -1; yymsp[1].minor.yy150.offset = 0;} + case 211: /* limit_opt ::= */ + case 215: /* slimit_opt ::= */ yytestcase(yyruleno==215); +{yymsp[1].minor.yy284.limit = -1; yymsp[1].minor.yy284.offset = 0;} break; - case 209: /* limit_opt ::= LIMIT signed */ - case 213: /* slimit_opt ::= SLIMIT signed */ yytestcase(yyruleno==213); -{yymsp[-1].minor.yy150.limit = yymsp[0].minor.yy489; yymsp[-1].minor.yy150.offset = 0;} + case 212: /* limit_opt ::= LIMIT signed */ + case 216: /* slimit_opt ::= SLIMIT signed */ yytestcase(yyruleno==216); +{yymsp[-1].minor.yy284.limit = yymsp[0].minor.yy279; yymsp[-1].minor.yy284.offset = 0;} break; - case 210: /* limit_opt ::= LIMIT signed OFFSET signed */ -{ yymsp[-3].minor.yy150.limit = yymsp[-2].minor.yy489; yymsp[-3].minor.yy150.offset = yymsp[0].minor.yy489;} + case 213: /* limit_opt ::= LIMIT signed OFFSET signed */ +{ yymsp[-3].minor.yy284.limit = yymsp[-2].minor.yy279; yymsp[-3].minor.yy284.offset = yymsp[0].minor.yy279;} break; - case 211: /* limit_opt ::= LIMIT signed COMMA signed */ -{ yymsp[-3].minor.yy150.limit = yymsp[0].minor.yy489; yymsp[-3].minor.yy150.offset = yymsp[-2].minor.yy489;} + case 214: /* limit_opt ::= LIMIT signed COMMA signed */ +{ yymsp[-3].minor.yy284.limit = yymsp[0].minor.yy279; yymsp[-3].minor.yy284.offset = yymsp[-2].minor.yy279;} break; - case 214: /* slimit_opt ::= SLIMIT signed SOFFSET signed */ -{yymsp[-3].minor.yy150.limit = yymsp[-2].minor.yy489; yymsp[-3].minor.yy150.offset = yymsp[0].minor.yy489;} + case 217: /* slimit_opt ::= SLIMIT signed SOFFSET signed */ +{yymsp[-3].minor.yy284.limit = yymsp[-2].minor.yy279; yymsp[-3].minor.yy284.offset = yymsp[0].minor.yy279;} break; - case 215: /* slimit_opt ::= SLIMIT signed COMMA signed */ -{yymsp[-3].minor.yy150.limit = yymsp[0].minor.yy489; yymsp[-3].minor.yy150.offset = yymsp[-2].minor.yy489;} + case 218: /* slimit_opt ::= SLIMIT signed COMMA signed */ +{yymsp[-3].minor.yy284.limit = yymsp[0].minor.yy279; yymsp[-3].minor.yy284.offset = yymsp[-2].minor.yy279;} break; - case 218: /* expr ::= LP expr RP */ -{yylhsminor.yy328 = yymsp[-1].minor.yy328; yylhsminor.yy328->token.z = yymsp[-2].minor.yy0.z; yylhsminor.yy328->token.n = (yymsp[0].minor.yy0.z - yymsp[-2].minor.yy0.z + 1);} - yymsp[-2].minor.yy328 = yylhsminor.yy328; + case 221: /* expr ::= LP expr RP */ +{yylhsminor.yy68 = yymsp[-1].minor.yy68; yylhsminor.yy68->token.z = yymsp[-2].minor.yy0.z; yylhsminor.yy68->token.n = (yymsp[0].minor.yy0.z - yymsp[-2].minor.yy0.z + 1);} + yymsp[-2].minor.yy68 = yylhsminor.yy68; break; - case 219: /* expr ::= ID */ -{ yylhsminor.yy328 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_ID);} - yymsp[0].minor.yy328 = yylhsminor.yy328; + case 222: /* expr ::= ID */ +{ yylhsminor.yy68 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_ID);} + yymsp[0].minor.yy68 = yylhsminor.yy68; break; - case 220: /* expr ::= ID DOT ID */ -{ yymsp[-2].minor.yy0.n += (1+yymsp[0].minor.yy0.n); yylhsminor.yy328 = tSqlExprCreateIdValue(&yymsp[-2].minor.yy0, TK_ID);} - yymsp[-2].minor.yy328 = yylhsminor.yy328; + case 223: /* expr ::= ID DOT ID */ +{ yymsp[-2].minor.yy0.n += (1+yymsp[0].minor.yy0.n); yylhsminor.yy68 = tSqlExprCreateIdValue(&yymsp[-2].minor.yy0, TK_ID);} + yymsp[-2].minor.yy68 = yylhsminor.yy68; break; - case 221: /* expr ::= ID DOT STAR */ -{ yymsp[-2].minor.yy0.n += (1+yymsp[0].minor.yy0.n); yylhsminor.yy328 = tSqlExprCreateIdValue(&yymsp[-2].minor.yy0, TK_ALL);} - yymsp[-2].minor.yy328 = yylhsminor.yy328; + case 224: /* expr ::= ID DOT STAR */ +{ yymsp[-2].minor.yy0.n += (1+yymsp[0].minor.yy0.n); yylhsminor.yy68 = tSqlExprCreateIdValue(&yymsp[-2].minor.yy0, TK_ALL);} + yymsp[-2].minor.yy68 = yylhsminor.yy68; break; - case 222: /* expr ::= INTEGER */ -{ yylhsminor.yy328 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_INTEGER);} - yymsp[0].minor.yy328 = yylhsminor.yy328; + case 225: /* expr ::= INTEGER */ +{ yylhsminor.yy68 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_INTEGER);} + yymsp[0].minor.yy68 = yylhsminor.yy68; break; - case 223: /* expr ::= MINUS INTEGER */ - case 224: /* expr ::= PLUS INTEGER */ yytestcase(yyruleno==224); -{ yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_INTEGER; yylhsminor.yy328 = tSqlExprCreateIdValue(&yymsp[-1].minor.yy0, TK_INTEGER);} - yymsp[-1].minor.yy328 = yylhsminor.yy328; + case 226: /* expr ::= MINUS INTEGER */ + case 227: /* expr ::= PLUS INTEGER */ yytestcase(yyruleno==227); +{ yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_INTEGER; yylhsminor.yy68 = tSqlExprCreateIdValue(&yymsp[-1].minor.yy0, TK_INTEGER);} + yymsp[-1].minor.yy68 = yylhsminor.yy68; break; - case 225: /* expr ::= FLOAT */ -{ yylhsminor.yy328 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_FLOAT);} - yymsp[0].minor.yy328 = yylhsminor.yy328; + case 228: /* expr ::= FLOAT */ +{ yylhsminor.yy68 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_FLOAT);} + yymsp[0].minor.yy68 = yylhsminor.yy68; break; - case 226: /* expr ::= MINUS FLOAT */ - case 227: /* expr ::= PLUS FLOAT */ yytestcase(yyruleno==227); -{ yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_FLOAT; yylhsminor.yy328 = tSqlExprCreateIdValue(&yymsp[-1].minor.yy0, TK_FLOAT);} - yymsp[-1].minor.yy328 = yylhsminor.yy328; + case 229: /* expr ::= MINUS FLOAT */ + case 230: /* expr ::= PLUS FLOAT */ yytestcase(yyruleno==230); +{ yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_FLOAT; yylhsminor.yy68 = tSqlExprCreateIdValue(&yymsp[-1].minor.yy0, TK_FLOAT);} + yymsp[-1].minor.yy68 = yylhsminor.yy68; break; - case 228: /* expr ::= STRING */ -{ yylhsminor.yy328 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_STRING);} - yymsp[0].minor.yy328 = yylhsminor.yy328; + case 231: /* expr ::= STRING */ +{ yylhsminor.yy68 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_STRING);} + yymsp[0].minor.yy68 = yylhsminor.yy68; break; - case 229: /* expr ::= NOW */ -{ yylhsminor.yy328 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_NOW); } - yymsp[0].minor.yy328 = yylhsminor.yy328; + case 232: /* expr ::= NOW */ +{ yylhsminor.yy68 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_NOW); } + yymsp[0].minor.yy68 = yylhsminor.yy68; break; - case 230: /* expr ::= VARIABLE */ -{ yylhsminor.yy328 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_VARIABLE);} - yymsp[0].minor.yy328 = yylhsminor.yy328; + case 233: /* expr ::= VARIABLE */ +{ yylhsminor.yy68 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_VARIABLE);} + yymsp[0].minor.yy68 = yylhsminor.yy68; break; - case 231: /* expr ::= PLUS VARIABLE */ - case 232: /* expr ::= MINUS VARIABLE */ yytestcase(yyruleno==232); -{ yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_VARIABLE; yylhsminor.yy328 = tSqlExprCreateIdValue(&yymsp[-1].minor.yy0, TK_VARIABLE);} - yymsp[-1].minor.yy328 = yylhsminor.yy328; + case 234: /* expr ::= PLUS VARIABLE */ + case 235: /* expr ::= MINUS VARIABLE */ yytestcase(yyruleno==235); +{ yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_VARIABLE; yylhsminor.yy68 = tSqlExprCreateIdValue(&yymsp[-1].minor.yy0, TK_VARIABLE);} + yymsp[-1].minor.yy68 = yylhsminor.yy68; break; - case 233: /* expr ::= BOOL */ -{ yylhsminor.yy328 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_BOOL);} - yymsp[0].minor.yy328 = yylhsminor.yy328; + case 236: /* expr ::= BOOL */ +{ yylhsminor.yy68 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_BOOL);} + yymsp[0].minor.yy68 = yylhsminor.yy68; break; - case 234: /* expr ::= NULL */ -{ yylhsminor.yy328 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_NULL);} - yymsp[0].minor.yy328 = yylhsminor.yy328; + case 237: /* expr ::= NULL */ +{ yylhsminor.yy68 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_NULL);} + yymsp[0].minor.yy68 = yylhsminor.yy68; break; - case 235: /* expr ::= ID LP exprlist RP */ -{ yylhsminor.yy328 = tSqlExprCreateFunction(yymsp[-1].minor.yy15, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, yymsp[-3].minor.yy0.type); } - yymsp[-3].minor.yy328 = yylhsminor.yy328; + case 238: /* expr ::= ID LP exprlist RP */ +{ yylhsminor.yy68 = tSqlExprCreateFunction(yymsp[-1].minor.yy93, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, yymsp[-3].minor.yy0.type); } + yymsp[-3].minor.yy68 = yylhsminor.yy68; break; - case 236: /* expr ::= ID LP STAR RP */ -{ yylhsminor.yy328 = tSqlExprCreateFunction(NULL, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, yymsp[-3].minor.yy0.type); } - yymsp[-3].minor.yy328 = yylhsminor.yy328; + case 239: /* expr ::= ID LP STAR RP */ +{ yylhsminor.yy68 = tSqlExprCreateFunction(NULL, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, yymsp[-3].minor.yy0.type); } + yymsp[-3].minor.yy68 = yylhsminor.yy68; break; - case 237: /* expr ::= expr IS NULL */ -{yylhsminor.yy328 = tSqlExprCreate(yymsp[-2].minor.yy328, NULL, TK_ISNULL);} - yymsp[-2].minor.yy328 = yylhsminor.yy328; + case 240: /* expr ::= expr IS NULL */ +{yylhsminor.yy68 = tSqlExprCreate(yymsp[-2].minor.yy68, NULL, TK_ISNULL);} + yymsp[-2].minor.yy68 = yylhsminor.yy68; break; - case 238: /* expr ::= expr IS NOT NULL */ -{yylhsminor.yy328 = tSqlExprCreate(yymsp[-3].minor.yy328, NULL, TK_NOTNULL);} - yymsp[-3].minor.yy328 = yylhsminor.yy328; + case 241: /* expr ::= expr IS NOT NULL */ +{yylhsminor.yy68 = tSqlExprCreate(yymsp[-3].minor.yy68, NULL, TK_NOTNULL);} + yymsp[-3].minor.yy68 = yylhsminor.yy68; break; - case 239: /* expr ::= expr LT expr */ -{yylhsminor.yy328 = tSqlExprCreate(yymsp[-2].minor.yy328, yymsp[0].minor.yy328, TK_LT);} - yymsp[-2].minor.yy328 = yylhsminor.yy328; + case 242: /* expr ::= expr LT expr */ +{yylhsminor.yy68 = tSqlExprCreate(yymsp[-2].minor.yy68, yymsp[0].minor.yy68, TK_LT);} + yymsp[-2].minor.yy68 = yylhsminor.yy68; break; - case 240: /* expr ::= expr GT expr */ -{yylhsminor.yy328 = tSqlExprCreate(yymsp[-2].minor.yy328, yymsp[0].minor.yy328, TK_GT);} - yymsp[-2].minor.yy328 = yylhsminor.yy328; + case 243: /* expr ::= expr GT expr */ +{yylhsminor.yy68 = tSqlExprCreate(yymsp[-2].minor.yy68, yymsp[0].minor.yy68, TK_GT);} + yymsp[-2].minor.yy68 = yylhsminor.yy68; break; - case 241: /* expr ::= expr LE expr */ -{yylhsminor.yy328 = tSqlExprCreate(yymsp[-2].minor.yy328, yymsp[0].minor.yy328, TK_LE);} - yymsp[-2].minor.yy328 = yylhsminor.yy328; + case 244: /* expr ::= expr LE expr */ +{yylhsminor.yy68 = tSqlExprCreate(yymsp[-2].minor.yy68, yymsp[0].minor.yy68, TK_LE);} + yymsp[-2].minor.yy68 = yylhsminor.yy68; break; - case 242: /* expr ::= expr GE expr */ -{yylhsminor.yy328 = tSqlExprCreate(yymsp[-2].minor.yy328, yymsp[0].minor.yy328, TK_GE);} - yymsp[-2].minor.yy328 = yylhsminor.yy328; + case 245: /* expr ::= expr GE expr */ +{yylhsminor.yy68 = tSqlExprCreate(yymsp[-2].minor.yy68, yymsp[0].minor.yy68, TK_GE);} + yymsp[-2].minor.yy68 = yylhsminor.yy68; break; - case 243: /* expr ::= expr NE expr */ -{yylhsminor.yy328 = tSqlExprCreate(yymsp[-2].minor.yy328, yymsp[0].minor.yy328, TK_NE);} - yymsp[-2].minor.yy328 = yylhsminor.yy328; + case 246: /* expr ::= expr NE expr */ +{yylhsminor.yy68 = tSqlExprCreate(yymsp[-2].minor.yy68, yymsp[0].minor.yy68, TK_NE);} + yymsp[-2].minor.yy68 = yylhsminor.yy68; break; - case 244: /* expr ::= expr EQ expr */ -{yylhsminor.yy328 = tSqlExprCreate(yymsp[-2].minor.yy328, yymsp[0].minor.yy328, TK_EQ);} - yymsp[-2].minor.yy328 = yylhsminor.yy328; + case 247: /* expr ::= expr EQ expr */ +{yylhsminor.yy68 = tSqlExprCreate(yymsp[-2].minor.yy68, yymsp[0].minor.yy68, TK_EQ);} + yymsp[-2].minor.yy68 = yylhsminor.yy68; break; - case 245: /* expr ::= expr BETWEEN expr AND expr */ -{ tSqlExpr* X2 = tSqlExprClone(yymsp[-4].minor.yy328); yylhsminor.yy328 = tSqlExprCreate(tSqlExprCreate(yymsp[-4].minor.yy328, yymsp[-2].minor.yy328, TK_GE), tSqlExprCreate(X2, yymsp[0].minor.yy328, TK_LE), TK_AND);} - yymsp[-4].minor.yy328 = yylhsminor.yy328; + case 248: /* expr ::= expr BETWEEN expr AND expr */ +{ tSqlExpr* X2 = tSqlExprClone(yymsp[-4].minor.yy68); yylhsminor.yy68 = tSqlExprCreate(tSqlExprCreate(yymsp[-4].minor.yy68, yymsp[-2].minor.yy68, TK_GE), tSqlExprCreate(X2, yymsp[0].minor.yy68, TK_LE), TK_AND);} + yymsp[-4].minor.yy68 = yylhsminor.yy68; break; - case 246: /* expr ::= expr AND expr */ -{yylhsminor.yy328 = tSqlExprCreate(yymsp[-2].minor.yy328, yymsp[0].minor.yy328, TK_AND);} - yymsp[-2].minor.yy328 = yylhsminor.yy328; + case 249: /* expr ::= expr AND expr */ +{yylhsminor.yy68 = tSqlExprCreate(yymsp[-2].minor.yy68, yymsp[0].minor.yy68, TK_AND);} + yymsp[-2].minor.yy68 = yylhsminor.yy68; break; - case 247: /* expr ::= expr OR expr */ -{yylhsminor.yy328 = tSqlExprCreate(yymsp[-2].minor.yy328, yymsp[0].minor.yy328, TK_OR); } - yymsp[-2].minor.yy328 = yylhsminor.yy328; + case 250: /* expr ::= expr OR expr */ +{yylhsminor.yy68 = tSqlExprCreate(yymsp[-2].minor.yy68, yymsp[0].minor.yy68, TK_OR); } + yymsp[-2].minor.yy68 = yylhsminor.yy68; break; - case 248: /* expr ::= expr PLUS expr */ -{yylhsminor.yy328 = tSqlExprCreate(yymsp[-2].minor.yy328, yymsp[0].minor.yy328, TK_PLUS); } - yymsp[-2].minor.yy328 = yylhsminor.yy328; + case 251: /* expr ::= expr PLUS expr */ +{yylhsminor.yy68 = tSqlExprCreate(yymsp[-2].minor.yy68, yymsp[0].minor.yy68, TK_PLUS); } + yymsp[-2].minor.yy68 = yylhsminor.yy68; break; - case 249: /* expr ::= expr MINUS expr */ -{yylhsminor.yy328 = tSqlExprCreate(yymsp[-2].minor.yy328, yymsp[0].minor.yy328, TK_MINUS); } - yymsp[-2].minor.yy328 = yylhsminor.yy328; + case 252: /* expr ::= expr MINUS expr */ +{yylhsminor.yy68 = tSqlExprCreate(yymsp[-2].minor.yy68, yymsp[0].minor.yy68, TK_MINUS); } + yymsp[-2].minor.yy68 = yylhsminor.yy68; break; - case 250: /* expr ::= expr STAR expr */ -{yylhsminor.yy328 = tSqlExprCreate(yymsp[-2].minor.yy328, yymsp[0].minor.yy328, TK_STAR); } - yymsp[-2].minor.yy328 = yylhsminor.yy328; + case 253: /* expr ::= expr STAR expr */ +{yylhsminor.yy68 = tSqlExprCreate(yymsp[-2].minor.yy68, yymsp[0].minor.yy68, TK_STAR); } + yymsp[-2].minor.yy68 = yylhsminor.yy68; break; - case 251: /* expr ::= expr SLASH expr */ -{yylhsminor.yy328 = tSqlExprCreate(yymsp[-2].minor.yy328, yymsp[0].minor.yy328, TK_DIVIDE);} - yymsp[-2].minor.yy328 = yylhsminor.yy328; + case 254: /* expr ::= expr SLASH expr */ +{yylhsminor.yy68 = tSqlExprCreate(yymsp[-2].minor.yy68, yymsp[0].minor.yy68, TK_DIVIDE);} + yymsp[-2].minor.yy68 = yylhsminor.yy68; break; - case 252: /* expr ::= expr REM expr */ -{yylhsminor.yy328 = tSqlExprCreate(yymsp[-2].minor.yy328, yymsp[0].minor.yy328, TK_REM); } - yymsp[-2].minor.yy328 = yylhsminor.yy328; + case 255: /* expr ::= expr REM expr */ +{yylhsminor.yy68 = tSqlExprCreate(yymsp[-2].minor.yy68, yymsp[0].minor.yy68, TK_REM); } + yymsp[-2].minor.yy68 = yylhsminor.yy68; break; - case 253: /* expr ::= expr LIKE expr */ -{yylhsminor.yy328 = tSqlExprCreate(yymsp[-2].minor.yy328, yymsp[0].minor.yy328, TK_LIKE); } - yymsp[-2].minor.yy328 = yylhsminor.yy328; + case 256: /* expr ::= expr LIKE expr */ +{yylhsminor.yy68 = tSqlExprCreate(yymsp[-2].minor.yy68, yymsp[0].minor.yy68, TK_LIKE); } + yymsp[-2].minor.yy68 = yylhsminor.yy68; break; - case 254: /* expr ::= expr IN LP exprlist RP */ -{yylhsminor.yy328 = tSqlExprCreate(yymsp[-4].minor.yy328, (tSqlExpr*)yymsp[-1].minor.yy15, TK_IN); } - yymsp[-4].minor.yy328 = yylhsminor.yy328; + case 257: /* expr ::= expr IN LP exprlist RP */ +{yylhsminor.yy68 = tSqlExprCreate(yymsp[-4].minor.yy68, (tSqlExpr*)yymsp[-1].minor.yy93, TK_IN); } + yymsp[-4].minor.yy68 = yylhsminor.yy68; break; - case 255: /* exprlist ::= exprlist COMMA expritem */ -{yylhsminor.yy15 = tSqlExprListAppend(yymsp[-2].minor.yy15,yymsp[0].minor.yy328,0, 0);} - yymsp[-2].minor.yy15 = yylhsminor.yy15; + case 258: /* exprlist ::= exprlist COMMA expritem */ +{yylhsminor.yy93 = tSqlExprListAppend(yymsp[-2].minor.yy93,yymsp[0].minor.yy68,0, 0);} + yymsp[-2].minor.yy93 = yylhsminor.yy93; break; - case 256: /* exprlist ::= expritem */ -{yylhsminor.yy15 = tSqlExprListAppend(0,yymsp[0].minor.yy328,0, 0);} - yymsp[0].minor.yy15 = yylhsminor.yy15; + case 259: /* exprlist ::= expritem */ +{yylhsminor.yy93 = tSqlExprListAppend(0,yymsp[0].minor.yy68,0, 0);} + yymsp[0].minor.yy93 = yylhsminor.yy93; break; - case 257: /* expritem ::= expr */ -{yylhsminor.yy328 = yymsp[0].minor.yy328;} - yymsp[0].minor.yy328 = yylhsminor.yy328; + case 260: /* expritem ::= expr */ +{yylhsminor.yy68 = yymsp[0].minor.yy68;} + yymsp[0].minor.yy68 = yylhsminor.yy68; break; - case 259: /* cmd ::= RESET QUERY CACHE */ + case 262: /* cmd ::= RESET QUERY CACHE */ { setDCLSqlElems(pInfo, TSDB_SQL_RESET_CACHE, 0);} break; - case 260: /* cmd ::= SYNCDB ids REPLICA */ + case 263: /* cmd ::= SYNCDB ids REPLICA */ { setDCLSqlElems(pInfo, TSDB_SQL_SYNC_DB_REPLICA, 1, &yymsp[-1].minor.yy0);} break; - case 261: /* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */ + case 264: /* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; - SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy15, NULL, TSDB_ALTER_TABLE_ADD_COLUMN, -1); + SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy93, NULL, TSDB_ALTER_TABLE_ADD_COLUMN, -1); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 262: /* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */ + case 265: /* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; @@ -3067,21 +3080,21 @@ static void yy_reduce( setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 263: /* cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */ + case 266: /* cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; - SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy15, NULL, TSDB_ALTER_TABLE_CHANGE_COLUMN, -1); + SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy93, NULL, TSDB_ALTER_TABLE_CHANGE_COLUMN, -1); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 264: /* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */ + case 267: /* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; - SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy15, NULL, TSDB_ALTER_TABLE_ADD_TAG_COLUMN, -1); + SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy93, NULL, TSDB_ALTER_TABLE_ADD_TAG_COLUMN, -1); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 265: /* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */ + case 268: /* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; @@ -3092,7 +3105,7 @@ static void yy_reduce( setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 266: /* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */ + case 269: /* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */ { yymsp[-5].minor.yy0.n += yymsp[-4].minor.yy0.n; @@ -3106,33 +3119,33 @@ static void yy_reduce( setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 267: /* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */ + case 270: /* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */ { yymsp[-6].minor.yy0.n += yymsp[-5].minor.yy0.n; toTSDBType(yymsp[-2].minor.yy0.type); SArray* A = tVariantListAppendToken(NULL, &yymsp[-2].minor.yy0, -1); - A = tVariantListAppend(A, &yymsp[0].minor.yy380, -1); + A = tVariantListAppend(A, &yymsp[0].minor.yy518, -1); SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-6].minor.yy0, NULL, A, TSDB_ALTER_TABLE_UPDATE_TAG_VAL, -1); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 268: /* cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */ + case 271: /* cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; - SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy15, NULL, TSDB_ALTER_TABLE_MODIFY_TAG_COLUMN, -1); + SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy93, NULL, TSDB_ALTER_TABLE_MODIFY_TAG_COLUMN, -1); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 269: /* cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */ + case 272: /* cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; - SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy15, NULL, TSDB_ALTER_TABLE_ADD_COLUMN, TSDB_SUPER_TABLE); + SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy93, NULL, TSDB_ALTER_TABLE_ADD_COLUMN, TSDB_SUPER_TABLE); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 270: /* cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */ + case 273: /* cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; @@ -3143,21 +3156,21 @@ static void yy_reduce( setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 271: /* cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */ + case 274: /* cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; - SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy15, NULL, TSDB_ALTER_TABLE_CHANGE_COLUMN, TSDB_SUPER_TABLE); + SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy93, NULL, TSDB_ALTER_TABLE_CHANGE_COLUMN, TSDB_SUPER_TABLE); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 272: /* cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */ + case 275: /* cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; - SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy15, NULL, TSDB_ALTER_TABLE_ADD_TAG_COLUMN, TSDB_SUPER_TABLE); + SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy93, NULL, TSDB_ALTER_TABLE_ADD_TAG_COLUMN, TSDB_SUPER_TABLE); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 273: /* cmd ::= ALTER STABLE ids cpxName DROP TAG ids */ + case 276: /* cmd ::= ALTER STABLE ids cpxName DROP TAG ids */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; @@ -3168,7 +3181,7 @@ static void yy_reduce( setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 274: /* cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */ + case 277: /* cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */ { yymsp[-5].minor.yy0.n += yymsp[-4].minor.yy0.n; @@ -3182,32 +3195,32 @@ static void yy_reduce( setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 275: /* cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */ + case 278: /* cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */ { yymsp[-6].minor.yy0.n += yymsp[-5].minor.yy0.n; toTSDBType(yymsp[-2].minor.yy0.type); SArray* A = tVariantListAppendToken(NULL, &yymsp[-2].minor.yy0, -1); - A = tVariantListAppend(A, &yymsp[0].minor.yy380, -1); + A = tVariantListAppend(A, &yymsp[0].minor.yy518, -1); SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-6].minor.yy0, NULL, A, TSDB_ALTER_TABLE_UPDATE_TAG_VAL, TSDB_SUPER_TABLE); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 276: /* cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */ + case 279: /* cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; - SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy15, NULL, TSDB_ALTER_TABLE_MODIFY_TAG_COLUMN, TSDB_SUPER_TABLE); + SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy93, NULL, TSDB_ALTER_TABLE_MODIFY_TAG_COLUMN, TSDB_SUPER_TABLE); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 277: /* cmd ::= KILL CONNECTION INTEGER */ + case 280: /* cmd ::= KILL CONNECTION INTEGER */ {setKillSql(pInfo, TSDB_SQL_KILL_CONNECTION, &yymsp[0].minor.yy0);} break; - case 278: /* cmd ::= KILL STREAM INTEGER COLON INTEGER */ + case 281: /* 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 279: /* cmd ::= KILL QUERY INTEGER COLON INTEGER */ + case 282: /* 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/util/src/terror.c b/src/util/src/terror.c index 382f872486485d93420d7f180dc11414f570132c..1d37a6e9a4b740d2cfabb18bd3d2252fa6bfd034 100644 --- a/src/util/src/terror.c +++ b/src/util/src/terror.c @@ -193,7 +193,7 @@ TAOS_DEFINE_ERROR(TSDB_CODE_MND_DB_IN_DROPPING, "Database not availabl TAOS_DEFINE_ERROR(TSDB_CODE_MND_VGROUP_NOT_READY, "Database unsynced") TAOS_DEFINE_ERROR(TSDB_CODE_MND_INVALID_DB_OPTION_DAYS, "Invalid database option: days out of range") -TAOS_DEFINE_ERROR(TSDB_CODE_MND_INVALID_DB_OPTION_KEEP, "Invalid database option: keep >= keep1 >= keep0 >= days") +TAOS_DEFINE_ERROR(TSDB_CODE_MND_INVALID_DB_OPTION_KEEP, "Invalid database option: keep2 >= keep1 >= keep0 >= days") TAOS_DEFINE_ERROR(TSDB_CODE_MND_INVALID_TOPIC, "Invalid topic name") TAOS_DEFINE_ERROR(TSDB_CODE_MND_INVALID_TOPIC_OPTION, "Invalid topic option") diff --git a/tests/pytest/alter/alter_keep.py b/tests/pytest/alter/alter_keep.py index cb630963a7c26a531857f9a39ff715f83c14280d..f73b8ce460b9c6613139bd29562bffb00ab397ce 100644 --- a/tests/pytest/alter/alter_keep.py +++ b/tests/pytest/alter/alter_keep.py @@ -72,9 +72,9 @@ class TDTestCase: tdSql.query('show databases') tdSql.checkData(0,7,'3650,3650,3650') - tdSql.error('alter database db keep 10') + tdSql.execute('alter database db keep 10') tdSql.query('show databases') - tdSql.checkData(0,7,'3650,3650,3650') + tdSql.checkData(0,7,'10,10,10') ## the order for altering keep is keep(D), keep0, keep1. ## if the order is changed, please modify the following test @@ -84,17 +84,17 @@ class TDTestCase: tdSql.query('show databases') tdSql.checkData(0,7,'10,10,10') - tdSql.execute('alter database db keep 100, 98 ,99') + tdSql.error('alter database db keep 100, 98 ,99') tdSql.query('show databases') - tdSql.checkData(0,7,'98,99,100') + tdSql.checkData(0,7,'10,10,10') tdSql.execute('alter database db keep 200, 200 ,200') tdSql.query('show databases') tdSql.checkData(0,7,'200,200,200') - tdSql.error('alter database db keep 198, 199 ,200') + tdSql.execute('alter database db keep 198, 199 ,200') tdSql.query('show databases') - tdSql.checkData(0,7,'200,200,200') + tdSql.checkData(0,7,'198,199,200') # tdSql.execute('alter database db keep 3650,3650,3650') # tdSql.error('alter database db keep 4000,3640') diff --git a/tests/script/general/db/alter_option.sim b/tests/script/general/db/alter_option.sim index bd68ddd859142b0904b92b2b8116b328d158cb83..c20a96fd1bd18ba911cce02859d7265d0294b76b 100644 --- a/tests/script/general/db/alter_option.sim +++ b/tests/script/general/db/alter_option.sim @@ -112,21 +112,21 @@ endi sql alter database db keep 30 sql show databases print keep $data7_db -if $data7_db != 20,20,30 then +if $data7_db != 30,30,30 then return -1 endi sql alter database db keep 40 sql show databases print keep $data7_db -if $data7_db != 20,20,40 then +if $data7_db != 40,40,40 then return -1 endi -sql alter database db keep 40 -sql alter database db keep 30 +sql alter database db keep 40,50 +sql alter database db keep 30,31 sql alter database db keep 20 -sql_error alter database db keep 10 +sql_error alter database db keep 10.0 sql_error alter database db keep 9 sql_error alter database db keep 1 sql_error alter database db keep 0 diff --git a/tests/script/general/db/topic1.sim b/tests/script/general/db/topic1.sim index 63cae8dffd24d9c292166ed0892a2416805131b2..4939e5a0e2274e8ab26465fe04ca99a79f9f9ce0 100644 --- a/tests/script/general/db/topic1.sim +++ b/tests/script/general/db/topic1.sim @@ -367,7 +367,7 @@ sql_error topic db keep 30 sql alter database db keep 30 sql show databases print keep $data7_db -if $data7_db != 20,20,30 then +if $data7_db != 30,30,30 then return -1 endi @@ -375,14 +375,14 @@ sql_error alter topic db keep 40 sql alter database db keep 40 sql show databases print keep $data7_db -if $data7_db != 20,20,40 then +if $data7_db != 40,40,40 then return -1 endi sql alter database db keep 40 sql alter database db keep 30 sql alter database db keep 20 -sql_error alter database db keep 10 +sql_error alter database db keep 10.0 sql_error alter database db keep 9 sql_error alter database db keep 1 sql_error alter database db keep 0 diff --git a/tests/script/general/http/restful_full.sim b/tests/script/general/http/restful_full.sim index 8094a943f507a702bb56a7d026da672134188b83..a5d3ac2b862f3b2b72b0453a2c1bb2b578672246 100644 --- a/tests/script/general/http/restful_full.sim +++ b/tests/script/general/http/restful_full.sim @@ -88,7 +88,7 @@ print =============== step2 - no db #11 system_content curl -H 'Authorization: Taosd /KfeAzX/f9na8qdtNZmtONryp201ma04bEl8LcvLUd7a8qdtNZmtONryp201ma04' -d 'show databases' 127.0.0.1:7111/rest/sql print 11-> $system_content -if $system_content != @{"status":"succ","head":["name","created_time","ntables","vgroups","replica","quorum","days","keep0,keep1,keep(D)","cache(MB)","blocks","minrows","maxrows","wallevel","fsync","comp","cachelast","precision","update","status"],"column_meta":[["name",8,32],["created_time",9,8],["ntables",4,4],["vgroups",4,4],["replica",3,2],["quorum",3,2],["days",3,2],["keep0,keep1,keep(D)",8,24],["cache(MB)",4,4],["blocks",4,4],["minrows",4,4],["maxrows",4,4],["wallevel",2,1],["fsync",4,4],["comp",2,1],["cachelast",2,1],["precision",8,3],["update",2,1],["status",8,10]],"data":[],"rows":0}@ then +if $system_content != @{"status":"succ","head":["name","created_time","ntables","vgroups","replica","quorum","days","keep0,keep1,keep2","cache(MB)","blocks","minrows","maxrows","wallevel","fsync","comp","cachelast","precision","update","status"],"column_meta":[["name",8,32],["created_time",9,8],["ntables",4,4],["vgroups",4,4],["replica",3,2],["quorum",3,2],["days",3,2],["keep0,keep1,keep2",8,24],["cache(MB)",4,4],["blocks",4,4],["minrows",4,4],["maxrows",4,4],["wallevel",2,1],["fsync",4,4],["comp",2,1],["cachelast",2,1],["precision",8,3],["update",2,1],["status",8,10]],"data":[],"rows":0}@ then return -1 endi diff --git a/tests/script/general/parser/alter.sim b/tests/script/general/parser/alter.sim index 6c884973963200fe416fba5a428b7050aa2329c2..d1a4702a69dce22e7de0de005d912e7813648e01 100644 --- a/tests/script/general/parser/alter.sim +++ b/tests/script/general/parser/alter.sim @@ -20,8 +20,82 @@ $db = $dbPrefix . $i $mt = $mtPrefix . $i sql drop database if exists $db -sql create database $db +sql create database $db days 10 keep 20,20,20 sql use $db + +sql_error alter database $db keep "20" +sql_error alter database $db keep "20","20","20" +sql_error alter database $db keep 20,19 +sql_error alter database $db keep 20.0 +sql_error alter database $db keep 20.0,20.0,20.0 +sql_error alter database $db keep 0,0,0 +sql_error alter database $db keep -1,-1,-1 +sql_error alter database $db keep 9,20 +sql_error alter database $db keep 9,9,9 +sql_error alter database $db keep 20,20,19 +sql_error alter database $db keep 20,19,20 +sql_error alter database $db keep 20,19,19 +sql_error alter database $db keep 20,19,18 +sql_error alter database $db keep 20,20,20,20 +sql_error alter database $db keep 365001,365001,365001 +sql alter database $db keep 21 +sql show databases +if $rows != 1 then + return -1 +endi +if $data07 != 21,21,21 then + return -1 +endi +sql alter database $db keep 11,12 +sql show databases +if $rows != 1 then + return -1 +endi +if $data07 != 11,12,12 then + return -1 +endi +sql alter database $db keep 20,20,20 +sql show databases +if $rows != 1 then + return -1 +endi +if $data07 != 20,20,20 then + return -1 +endi +sql alter database $db keep 10,10,10 +sql show databases +if $rows != 1 then + return -1 +endi +if $data07 != 10,10,10 then + return -1 +endi +sql alter database $db keep 10,10,11 +sql show databases +if $rows != 1 then + return -1 +endi +if $data07 != 10,10,11 then + return -1 +endi +sql alter database $db keep 11,12,13 +sql show databases +if $rows != 1 then + return -1 +endi +if $data07 != 11,12,13 then + return -1 +endi +sql alter database $db keep 365000,365000,365000 +sql show databases +if $rows != 1 then + return -1 +endi +if $data07 != 365000,365000,365000 then + return -1 +endi + + ##### alter table test, simeplest case sql create table tb (ts timestamp, c1 int, c2 int, c3 int) sql insert into tb values (now, 1, 1, 1) diff --git a/tests/script/general/parser/alter__for_community_version.sim b/tests/script/general/parser/alter__for_community_version.sim new file mode 100644 index 0000000000000000000000000000000000000000..f55fb812a74eead44e54808b000a48c3db92b66d --- /dev/null +++ b/tests/script/general/parser/alter__for_community_version.sim @@ -0,0 +1,316 @@ +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/exec.sh -n dnode1 -s start +sleep 100 +sql connect + +$dbPrefix = m_alt_db +$tbPrefix = m_alt_tb +$mtPrefix = m_alt_mt +$tbNum = 10 +$rowNum = 5 +$totalNum = $tbNum * $rowNum +$ts0 = 1537146000000 +$delta = 600000 +print ========== alter.sim +$i = 0 +$db = $dbPrefix . $i +$mt = $mtPrefix . $i + +sql drop database if exists $db +sql create database $db days 10 keep 20 +sql use $db +sql show databases +if $rows != 1 then + return -1 +endi +if $data07 != 20 then + return -1 +endi + +sql_error alter database $db keep "20" +sql_error alter database $db keep "20","20","20" +sql_error alter database $db keep 0 +sql_error alter database $db keep 20.0 +sql_error alter database $db keep 20.0,20.0,20.0 +sql_error alter database $db keep 0,0,0 +sql_error alter database $db keep 3 +sql_error alter database $db keep -1,-1,-1 +sql_error alter database $db keep 20,20 +sql_error alter database $db keep 9,9,9 +sql_error alter database $db keep 20,20,19 +sql_error alter database $db keep 20,19,20 +sql_error alter database $db keep 20,19,19 +sql_error alter database $db keep 20,19,18 +sql_error alter database $db keep 20,20,20,20 +sql_error alter database $db keep 365001,365001,365001 +sql_error alter database $db keep 365001 +sql alter database $db keep 20 +sql show databases +if $rows != 1 then + return -1 +endi +if $data07 != 20 then + return -1 +endi +sql alter database $db keep 10 +sql show databases +if $rows != 1 then + return -1 +endi +if $data07 != 10 then + return -1 +endi +sql alter database $db keep 11 +sql show databases +if $rows != 1 then + return -1 +endi +if $data07 != 11 then + return -1 +endi +sql alter database $db keep 13 +sql show databases +if $rows != 1 then + return -1 +endi +if $data07 != 13 then + return -1 +endi +sql alter database $db keep 365000 +sql show databases +if $rows != 1 then + return -1 +endi +if $data07 != 365000 then + return -1 +endi + + +##### alter table test, simeplest case +sql create table tb (ts timestamp, c1 int, c2 int, c3 int) +sql insert into tb values (now, 1, 1, 1) +sql select * from tb order by ts desc +if $rows != 1 then + return -1 +endi +sql alter table tb drop column c3 +sql select * from tb order by ts desc +if $data01 != 1 then + return -1 +endi +if $data02 != 1 then + return -1 +endi +if $data03 != null then + return -1 +endi +sql alter table tb add column c3 nchar(4) +sql select * from tb order by ts desc +if $rows != 1 then + return -1 +endi +if $data03 != NULL then + return -1 +endi +sql insert into tb values (now, 2, 2, 'taos') +sql select * from tb order by ts desc +if $rows != 2 then + return -1 +endi +print data03 = $data03 +if $data03 != taos then + print expect taos, actual: $data03 + return -1 +endi +sql drop table tb + +##### alter metric test, simplest case +sql create table mt (ts timestamp, c1 int, c2 int, c3 int) tags (t1 int) +sql create table tb using mt tags(1) +sql insert into tb values (now, 1, 1, 1) +sql alter table mt drop column c3 +sql select * from tb order by ts desc +if $data01 != 1 then + return -1 +endi +if $data02 != 1 then + return -1 +endi +if $data03 != null then + return -1 +endi + +sql alter table mt add column c3 nchar(4) +sql select * from tb order by ts desc +if $data03 != NULL then + return -1 +endi +sql insert into tb values (now, 2, 2, 'taos') +sql select * from tb order by ts desc +if $rows != 2 then + return -1 +endi +if $data03 != taos then + return -1 +endi +if $data13 != NULL then + return -1 +endi +sql drop table tb +sql drop table mt + +## [TBASE272] +sql create table tb (ts timestamp, c1 int, c2 int, c3 int) +sql insert into tb values (now, 1, 1, 1) +sql alter table tb drop column c3 +sql alter table tb add column c3 nchar(5) +sql insert into tb values(now, 2, 2, 'taos') +sql drop table tb +sql create table mt (ts timestamp, c1 int, c2 int, c3 int) tags (t1 int) +sql create table tb using mt tags(1) +sql insert into tb values (now, 1, 1, 1) +sql alter table mt drop column c3 +sql select * from tb order by ts desc +if $rows != 1 then + return -1 +endi +sql drop table tb +sql drop table mt + +sleep 100 +### ALTER TABLE WHILE STREAMING [TBASE271] +#sql create table tb1 (ts timestamp, c1 int, c2 nchar(5), c3 int) +#sql create table strm as select count(*), avg(c1), first(c2), sum(c3) from tb1 interval(2s) +#sql select * from strm +#if $rows != 0 then +# return -1 +#endi +##sleep 12000 +#sql insert into tb1 values (now, 1, 'taos', 1) +#sleep 20000 +#sql select * from strm +#print rows = $rows +#if $rows != 1 then +# return -1 +#endi +#if $data04 != 1 then +# return -1 +#endi +#sql alter table tb1 drop column c3 +#sleep 500 +#sql insert into tb1 values (now, 2, 'taos') +#sleep 30000 +#sql select * from strm +#if $rows != 2 then +# return -1 +#endi +#if $data04 != 1 then +# return -1 +#endi +#sql alter table tb1 add column c3 int +#sleep 500 +#sql insert into tb1 values (now, 3, 'taos', 3); +#sleep 100 +#sql select * from strm +#if $rows != 3 then +# return -1 +#endi +#if $data04 != 1 then +# return -1 +#endi + +## ALTER TABLE AND INSERT BY COLUMNS +sql create table mt (ts timestamp, c1 int, c2 int) tags(t1 int) +sql create table tb using mt tags(0) +sql insert into tb values (now-1m, 1, 1) +sql alter table mt drop column c2 +sql_error insert into tb (ts, c1, c2) values (now, 2, 2) +sql insert into tb (ts, c1) values (now, 2) +sql select * from tb order by ts desc +if $rows != 2 then + return -1 +endi +if $data01 != 2 then + return -1 +endi +if $data02 != null then + return -1 +endi +sql alter table mt add column c2 int +sql insert into tb (ts, c2) values (now, 3) +sql select * from tb order by ts desc +if $data02 != 3 then + return -1 +endi + +## ALTER TABLE AND IMPORT +sql drop database $db +sql create database $db +sql use $db +sql create table mt (ts timestamp, c1 int, c2 nchar(7), c3 int) tags (t1 int) +sql create table tb using mt tags(1) +sleep 100 +sql insert into tb values ('2018-11-01 16:30:00.000', 1, 'insert', 1) +sql alter table mt drop column c3 + +sql insert into tb values ('2018-11-01 16:29:59.000', 1, 'insert') +sql import into tb values ('2018-11-01 16:29:59.000', 1, 'import') +sql select * from tb order by ts desc +if $data01 != 1 then + return -1 +endi +if $data02 != insert then + return -1 +endi +sql alter table mt add column c3 nchar(4) +sql select * from tb order by ts desc +if $data03 != NULL then + return -1 +endi + +print ============================>TD-3366 TD-3486 +sql insert into td_3366(ts, c3, c1) using mt(t1) tags(911) values('2018-1-1 11:11:11', 'new1', 12); +sql insert into td_3486(ts, c3, c1) using mt(t1) tags(-12) values('2018-1-1 11:11:11', 'new1', 12); +sql insert into ttxu(ts, c3, c1) using mt(t1) tags('-121') values('2018-1-1 11:11:11', 'new1', 12); + +sql insert into tb(ts, c1, c3) using mt(t1) tags(123) values('2018-11-01 16:29:58.000', 2, 'port') + +sql insert into tb values ('2018-11-01 16:29:58.000', 2, 'import', 3) +sql import into tb values ('2018-11-01 16:29:58.000', 2, 'import', 3) +sql import into tb values ('2018-11-01 16:39:58.000', 2, 'import', 3) +sql select * from tb order by ts desc +if $rows != 4 then + return -1 +endi + +if $data03 != 3 then + return -1 +endi + +##### ILLEGAL OPERATIONS + +# try dropping columns that are defined in metric +sql_error alter table tb drop column c1; + +# try dropping primary key +sql_error alter table mt drop column ts; + +# try modifying two columns in a single statement +sql_error alter table mt add column c5 nchar(3) c6 nchar(4) + +# duplicate columns +sql_error alter table mt add column c1 int + +# drop non-existing columns +sql_error alter table mt drop column c9 + +#sql drop database $db +#sql show databases +#if $rows != 0 then +# return -1 +#endi + +system sh/exec.sh -n dnode1 -s stop -x SIGINT diff --git a/tests/script/general/parser/create_db.sim b/tests/script/general/parser/create_db.sim index 9ca84af136ad16735c9faf4f10ba913775f53103..7881060ad178fe3b3f7a9ea0530a1ac517264a3e 100644 --- a/tests/script/general/parser/create_db.sim +++ b/tests/script/general/parser/create_db.sim @@ -102,7 +102,7 @@ print create_db.sim case5: db_meta_data test # cfg params $replica = 1 # max=3 $days = 10 -$keep = 365 +$keep = 365,365,365 $rows_db = 1000 $cache = 16 # 16MB $ablocks = 100 @@ -150,6 +150,73 @@ sql_error create database $db day 3651 # keep [1, infinity] sql_error create database $db keep 0 +sql_error create database $db keep 0,0,0 +sql_error create database $db keep 3,3,3 +sql_error create database $db keep 11.0 +sql_error create database $db keep 11.0,11.0,11.0 +sql_error create database $db keep "11","11","11" +sql_error create database $db keep "11" +sql_error create database $db keep 13,12,11 +sql_error create database $db keep 11,12,11 +sql_error create database $db keep 12,11,12 +sql_error create database $db keep 8 +sql_error create database $db keep 12,11 +sql_error create database $db keep 365001,365001,365001 +sql create database dbk0 keep 19 +sql show databases +if $rows != 1 then + return -1 +endi +if $data07 != 19,19,19 then + return -1 +endi +sql drop database dbk0 +sql create database dbka keep 19,20 +sql show databases +if $rows != 1 then + return -1 +endi +if $data07 != 19,20,20 then + return -1 +endi +sql drop database dbka + +sql create database dbk1 keep 11,11,11 +sql show databases +if $rows != 1 then + return -1 +endi +if $data07 != 11,11,11 then + return -1 +endi +sql drop database dbk1 +sql create database dbk2 keep 11,12,13 +sql show databases +if $rows != 1 then + return -1 +endi +if $data07 != 11,12,13 then + return -1 +endi +sql drop database dbk2 +sql create database dbk3 keep 11,11,13 +sql show databases +if $rows != 1 then + return -1 +endi +if $data07 != 11,11,13 then + return -1 +endi +sql drop database dbk3 +sql create database dbk4 keep 11,13,13 +sql show databases +if $rows != 1 then + return -1 +endi +if $data07 != 11,13,13 then + return -1 +endi +sql drop database dbk4 #sql_error create database $db keep 3651 # rows [200, 10000] diff --git a/tests/script/general/parser/create_db__for_community_version.sim b/tests/script/general/parser/create_db__for_community_version.sim new file mode 100644 index 0000000000000000000000000000000000000000..406e69b0e6a025c5e733ab753510f65677e4b550 --- /dev/null +++ b/tests/script/general/parser/create_db__for_community_version.sim @@ -0,0 +1,238 @@ +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/exec.sh -n dnode1 -s start + +sleep 100 +sql connect +print ======================== dnode1 start + +$dbPrefix = fi_in_db +$tbPrefix = fi_in_tb +$mtPrefix = fi_in_mt +$tbNum = 10 +$rowNum = 20 +$totalNum = 200 + +print excuting test script create_db.sim +print =============== set up +$i = 0 +$db = $dbPrefix . $i +$mt = $mtPrefix . $i + +sql_error createdatabase $db +sql create database $db +sql use $db +sql show databases + +if $rows != 1 then + return -1 +endi +if $data00 != $db then + return -1 +endi +sql drop database $db + +# case1: case_insensitivity test +print =========== create_db.sim case1: case insensitivity test +sql_error CREATEDATABASE $db +sql CREATE DATABASE $db +sql use $db +sql show databases + +if $rows != 1 then + return -1 +endi +if $data00 != $db then + return -1 +endi +sql drop database $db +print case_insensitivity test passed + +# case2: illegal_db_name test +print =========== create_db.sim case2: illegal_db_name test +$illegal_db1 = 1db +$illegal_db2 = d@b + +sql_error create database $illegal_db1 +sql_error create database $illegal_db2 +print illegal_db_name test passed + +# case3: chinese_char_in_db_name test +print ========== create_db.sim case3: chinese_char_in_db_name test +$CN_db1 = 数据库 +$CN_db2 = 数据库1 +$CN_db3 = db数据库1 +sql_error create database $CN_db1 +sql_error create database $CN_db2 +sql_error create database $CN_db3 +#sql show databases +#if $rows != 3 then +# return -1 +#endi +#if $data00 != $CN_db1 then +# return -1 +#endi +#if $data10 != $CN_db2 then +# return -1 +#endi +#if $data20 != $CN_db3 then +# return -1 +#endi +#sql drop database $CN_db1 +#sql drop database $CN_db2 +#sql drop database $CN_db3 +print case_chinese_char_in_db_name test passed + +# case4: db_already_exists +print create_db.sim case4: db_already_exists +sql create database db0 +sql create database db0 +sql show databases +if $rows != 1 then + return -1 +endi +sql drop database db0 +print db_already_exists test passed + +# case5: db_meta_data +print create_db.sim case5: db_meta_data test +# cfg params +$replica = 1 # max=3 +$days = 10 +$keep = 365 +$rows_db = 1000 +$cache = 16 # 16MB +$ablocks = 100 +$tblocks = 32 # max=512, automatically trimmed when exceeding +$ctime = 36000 # 10 hours +$wal = 1 # valid value is 1, 2 +$comp = 1 # max=32, automatically trimmed when exceeding + +sql create database $db replica $replica days $days keep $keep maxrows $rows_db cache $cache blocks 4 ctime $ctime wal $wal comp $comp +sql show databases +if $rows != 1 then + return -1 +endi +if $data00 != $db then + return -1 +endi +if $data04 != $replica then + return -1 +endi +if $data06 != $days then + return -1 +endi +if $data07 != 365 then + return -1 +endi +print data08 = $data07 +if $data08 != $cache then + print expect $cache, actual:$data08 + return -1 +endi +if $data09 != 4 then + return -1 +endi + +sql drop database $db + +## param range tests +# replica [1,3] +#sql_error create database $db replica 0 +sql_error create database $db replica 4 + +# day [1, 3650] +sql_error create database $db day 0 +sql_error create database $db day 3651 + +# keep [1, infinity] +sql_error create database $db keep 0 +sql_error create database $db keep 0,0,0 +sql_error create database $db keep 3,3,3 +sql_error create database $db keep 3 +sql_error create database $db keep 11.0 +sql_error create database $db keep 11.0,11.0,11.0 +sql_error create database $db keep "11","11","11" +sql_error create database $db keep "11" +sql_error create database $db keep 13,12,11 +sql_error create database $db keep 11,12,11 +sql_error create database $db keep 12,11,12 +sql_error create database $db keep 11,12,13 +sql_error create database $db keep 11,12,13,14 +sql_error create database $db keep 11,11 +sql_error create database $db keep 365001,365001,365001 +sql_error create database $db keep 365001 +sql create database dbk1 keep 11 +sql show databases +if $rows != 1 then + return -1 +endi +if $data07 != 11 then + return -1 +endi +sql drop database dbk1 +sql create database dbk2 keep 12 +sql show databases +if $rows != 1 then + return -1 +endi +if $data07 != 12 then + return -1 +endi +sql drop database dbk2 +sql create database dbk3 keep 11 +sql show databases +if $rows != 1 then + return -1 +endi +if $data07 != 11 then + return -1 +endi +sql drop database dbk3 +sql create database dbk4 keep 13 +sql show databases +if $rows != 1 then + return -1 +endi +if $data07 != 13 then + return -1 +endi +sql drop database dbk4 +#sql_error create database $db keep 3651 + +# rows [200, 10000] +sql_error create database $db maxrows 199 +#sql_error create database $db maxrows 10001 + +# cache [100, 10485760] +sql_error create database $db cache 0 +#sql_error create database $db cache 10485761 + + +# blocks [32, 4096 overwriten by 4096 if exceeds, Note added:2018-10-24] +#sql_error create database $db tblocks 31 +#sql_error create database $db tblocks 4097 + +# ctime [30, 40960] +sql_error create database $db ctime 29 +sql_error create database $db ctime 40961 + +# wal {0, 2} +#sql_error create database $db wal 0 +sql_error create database $db wal -1 +sql_error create database $db wal 3 + +# comp {0, 1, 2} +sql_error create database $db comp -1 +sql_error create database $db comp 3 + +sql_error drop database $db +sql show databases +if $rows != 0 then + return -1 +endi + +system sh/exec.sh -n dnode1 -s stop -x SIGINT diff --git a/tests/script/general/parser/first_last.sim b/tests/script/general/parser/first_last.sim index f47f67ddc668c94f423cb3a42d97be3d52c8dcda..09047b4528a68219f27fc3b2e913a62fd567cd42 100644 --- a/tests/script/general/parser/first_last.sim +++ b/tests/script/general/parser/first_last.sim @@ -124,4 +124,4 @@ if $rows != 10000 then return -1 endi -system sh/exec.sh -n dnode1 -s stop -x SIGINT \ No newline at end of file +system sh/exec.sh -n dnode1 -s stop -x SIGINT diff --git a/tests/script/general/parser/join_multivnode.sim b/tests/script/general/parser/join_multivnode.sim index c72b2c5b3e4018c892f1194671b0d577c053c7f5..61438241b0cb943cf9d1df09799076cf7dbadeab 100644 --- a/tests/script/general/parser/join_multivnode.sim +++ b/tests/script/general/parser/join_multivnode.sim @@ -367,4 +367,4 @@ if $data35 != 5 then return -1 endi -system sh/exec.sh -n dnode1 -s stop -x SIGINT \ No newline at end of file +system sh/exec.sh -n dnode1 -s stop -x SIGINT diff --git a/tests/script/general/parser/select_with_tags.sim b/tests/script/general/parser/select_with_tags.sim index 9d5214bfaaa6fdca44def066a85f49b87731c836..45f6f5c49fbe48f6b881e4f03c3ed1af18a4b1a9 100644 --- a/tests/script/general/parser/select_with_tags.sim +++ b/tests/script/general/parser/select_with_tags.sim @@ -902,4 +902,4 @@ sql_error select first(c1), count(*), t2, t1, tbname from select_tags_mt0 group #sql select count(c1) from select_tags_mt0 where c1=99 group by tbname; #sql select count(*),tbname from select_tags_mt0 group by tbname -system sh/exec.sh -n dnode1 -s stop -x SIGINT \ No newline at end of file +system sh/exec.sh -n dnode1 -s stop -x SIGINT diff --git a/tests/script/general/parser/topbot.sim b/tests/script/general/parser/topbot.sim index 5c61acb2ba246f1f0102ed01b90e0b164ebfa8dc..ddab1b3f83acfc4fc454740093c3e4e003bab3d4 100644 --- a/tests/script/general/parser/topbot.sim +++ b/tests/script/general/parser/topbot.sim @@ -175,7 +175,7 @@ if $data21 != 2.10000 then endi print =====================td-1302 case -sql create database t1 keep 36500; +sql create database t1 keep 36500 sql use t1; sql create table test(ts timestamp, k int); sql insert into test values(29999, 1)(70000, 2)(80000, 3) @@ -194,7 +194,7 @@ if $rows != 3 then endi print ==============>td-1308 -sql create database db keep 36500; +sql create database db keep 36500 sql use db; sql create table stb (ts timestamp, c1 int, c2 binary(10)) tags(t1 binary(10)); @@ -377,4 +377,4 @@ sql_error select * from ttm2 where k<>null sql_error select * from ttm2 where k like null sql_error select * from ttm2 where k