diff --git a/deps/arm/dm_static/libdmodule.a b/deps/arm/dm_static/libdmodule.a index f71b97dc2b..dd2afa9037 100644 Binary files a/deps/arm/dm_static/libdmodule.a and b/deps/arm/dm_static/libdmodule.a differ diff --git a/deps/darwin/arm/dm_static/libdmodule.a b/deps/darwin/arm/dm_static/libdmodule.a index 22d14a84d0..d1f37cf4f4 100644 Binary files a/deps/darwin/arm/dm_static/libdmodule.a and b/deps/darwin/arm/dm_static/libdmodule.a differ diff --git a/deps/darwin/x64/dm_static/libdmodule.a b/deps/darwin/x64/dm_static/libdmodule.a index 9853fe6571..da082d9224 100644 Binary files a/deps/darwin/x64/dm_static/libdmodule.a and b/deps/darwin/x64/dm_static/libdmodule.a differ diff --git a/deps/win/x64/dm_static/dmodule.lib b/deps/win/x64/dm_static/dmodule.lib index 52b8cd407d..36ce1d81d3 100644 Binary files a/deps/win/x64/dm_static/dmodule.lib and b/deps/win/x64/dm_static/dmodule.lib differ diff --git a/deps/x86/dm_static/libdmodule.a b/deps/x86/dm_static/libdmodule.a index 348568f8d1..c7286f316d 100644 Binary files a/deps/x86/dm_static/libdmodule.a and b/deps/x86/dm_static/libdmodule.a differ diff --git a/include/common/tgrant.h b/include/common/tgrant.h index cfc6c13c48..f06fca8014 100644 --- a/include/common/tgrant.h +++ b/include/common/tgrant.h @@ -51,11 +51,7 @@ typedef enum { } EGrantType; int32_t grantCheck(EGrantType grant); -#ifndef TD_GRANT_OPTIMIZE -int32_t grantAlterActiveCode(const char* old, const char* newer, char* out, int8_t type); -#else int32_t grantAlterActiveCode(int32_t did, const char* old, const char* newer, char* out, int8_t type); -#endif #ifndef GRANTS_CFG #ifdef TD_ENTERPRISE diff --git a/include/common/tmsg.h b/include/common/tmsg.h index bb15b24bde..b492a1d231 100644 --- a/include/common/tmsg.h +++ b/include/common/tmsg.h @@ -1568,6 +1568,9 @@ typedef struct { typedef struct { int32_t id; int8_t isMnode; +#ifdef TD_GRANT_HB_OPTIMIZE + int8_t offlineReason; +#endif SEp ep; char active[TSDB_ACTIVE_KEY_LEN]; char connActive[TSDB_CONN_ACTIVE_KEY_LEN]; diff --git a/include/common/ttokendef.h b/include/common/ttokendef.h index 82ebce2ca8..5e8ebbdf83 100644 --- a/include/common/ttokendef.h +++ b/include/common/ttokendef.h @@ -248,120 +248,120 @@ #define TK_INSERT 229 #define TK_NULL 230 #define TK_NK_QUESTION 231 -#define TK_NK_ARROW 232 -#define TK_ROWTS 233 -#define TK_QSTART 234 -#define TK_QEND 235 -#define TK_QDURATION 236 -#define TK_WSTART 237 -#define TK_WEND 238 -#define TK_WDURATION 239 -#define TK_IROWTS 240 -#define TK_ISFILLED 241 -#define TK_CAST 242 -#define TK_NOW 243 -#define TK_TODAY 244 -#define TK_TIMEZONE 245 -#define TK_CLIENT_VERSION 246 -#define TK_SERVER_VERSION 247 -#define TK_SERVER_STATUS 248 -#define TK_CURRENT_USER 249 -#define TK_CASE 250 -#define TK_WHEN 251 -#define TK_THEN 252 -#define TK_ELSE 253 -#define TK_BETWEEN 254 -#define TK_IS 255 -#define TK_NK_LT 256 -#define TK_NK_GT 257 -#define TK_NK_LE 258 -#define TK_NK_GE 259 -#define TK_NK_NE 260 -#define TK_MATCH 261 -#define TK_NMATCH 262 -#define TK_CONTAINS 263 -#define TK_IN 264 -#define TK_JOIN 265 -#define TK_INNER 266 -#define TK_SELECT 267 -#define TK_NK_HINT 268 -#define TK_DISTINCT 269 -#define TK_WHERE 270 -#define TK_PARTITION 271 -#define TK_BY 272 -#define TK_SESSION 273 -#define TK_STATE_WINDOW 274 -#define TK_EVENT_WINDOW 275 -#define TK_SLIDING 276 -#define TK_FILL 277 -#define TK_VALUE 278 -#define TK_VALUE_F 279 -#define TK_NONE 280 -#define TK_PREV 281 -#define TK_NULL_F 282 -#define TK_LINEAR 283 -#define TK_NEXT 284 -#define TK_HAVING 285 -#define TK_RANGE 286 -#define TK_EVERY 287 -#define TK_ORDER 288 -#define TK_SLIMIT 289 -#define TK_SOFFSET 290 -#define TK_LIMIT 291 -#define TK_OFFSET 292 -#define TK_ASC 293 -#define TK_NULLS 294 -#define TK_ABORT 295 -#define TK_AFTER 296 -#define TK_ATTACH 297 -#define TK_BEFORE 298 -#define TK_BEGIN 299 -#define TK_BITAND 300 -#define TK_BITNOT 301 -#define TK_BITOR 302 -#define TK_BLOCKS 303 -#define TK_CHANGE 304 -#define TK_COMMA 305 -#define TK_CONCAT 306 -#define TK_CONFLICT 307 -#define TK_COPY 308 -#define TK_DEFERRED 309 -#define TK_DELIMITERS 310 -#define TK_DETACH 311 -#define TK_DIVIDE 312 -#define TK_DOT 313 -#define TK_EACH 314 -#define TK_FAIL 315 -#define TK_FILE 316 -#define TK_FOR 317 -#define TK_GLOB 318 -#define TK_ID 319 -#define TK_IMMEDIATE 320 -#define TK_IMPORT 321 -#define TK_INITIALLY 322 -#define TK_INSTEAD 323 -#define TK_ISNULL 324 -#define TK_KEY 325 -#define TK_MODULES 326 -#define TK_NK_BITNOT 327 -#define TK_NK_SEMI 328 -#define TK_NOTNULL 329 -#define TK_OF 330 -#define TK_PLUS 331 -#define TK_PRIVILEGE 332 -#define TK_RAISE 333 -#define TK_RESTRICT 334 -#define TK_ROW 335 -#define TK_SEMI 336 -#define TK_STAR 337 -#define TK_STATEMENT 338 -#define TK_STRICT 339 -#define TK_STRING 340 -#define TK_TIMES 341 -#define TK_VALUES 342 -#define TK_VARIABLE 343 -#define TK_WAL 344 - +#define TK_NK_ALIAS 232 +#define TK_NK_ARROW 233 +#define TK_ROWTS 234 +#define TK_QSTART 235 +#define TK_QEND 236 +#define TK_QDURATION 237 +#define TK_WSTART 238 +#define TK_WEND 239 +#define TK_WDURATION 240 +#define TK_IROWTS 241 +#define TK_ISFILLED 242 +#define TK_CAST 243 +#define TK_NOW 244 +#define TK_TODAY 245 +#define TK_TIMEZONE 246 +#define TK_CLIENT_VERSION 247 +#define TK_SERVER_VERSION 248 +#define TK_SERVER_STATUS 249 +#define TK_CURRENT_USER 250 +#define TK_CASE 251 +#define TK_WHEN 252 +#define TK_THEN 253 +#define TK_ELSE 254 +#define TK_BETWEEN 255 +#define TK_IS 256 +#define TK_NK_LT 257 +#define TK_NK_GT 258 +#define TK_NK_LE 259 +#define TK_NK_GE 260 +#define TK_NK_NE 261 +#define TK_MATCH 262 +#define TK_NMATCH 263 +#define TK_CONTAINS 264 +#define TK_IN 265 +#define TK_JOIN 266 +#define TK_INNER 267 +#define TK_SELECT 268 +#define TK_NK_HINT 269 +#define TK_DISTINCT 270 +#define TK_WHERE 271 +#define TK_PARTITION 272 +#define TK_BY 273 +#define TK_SESSION 274 +#define TK_STATE_WINDOW 275 +#define TK_EVENT_WINDOW 276 +#define TK_SLIDING 277 +#define TK_FILL 278 +#define TK_VALUE 279 +#define TK_VALUE_F 280 +#define TK_NONE 281 +#define TK_PREV 282 +#define TK_NULL_F 283 +#define TK_LINEAR 284 +#define TK_NEXT 285 +#define TK_HAVING 286 +#define TK_RANGE 287 +#define TK_EVERY 288 +#define TK_ORDER 289 +#define TK_SLIMIT 290 +#define TK_SOFFSET 291 +#define TK_LIMIT 292 +#define TK_OFFSET 293 +#define TK_ASC 294 +#define TK_NULLS 295 +#define TK_ABORT 296 +#define TK_AFTER 297 +#define TK_ATTACH 298 +#define TK_BEFORE 299 +#define TK_BEGIN 300 +#define TK_BITAND 301 +#define TK_BITNOT 302 +#define TK_BITOR 303 +#define TK_BLOCKS 304 +#define TK_CHANGE 305 +#define TK_COMMA 306 +#define TK_CONCAT 307 +#define TK_CONFLICT 308 +#define TK_COPY 309 +#define TK_DEFERRED 310 +#define TK_DELIMITERS 311 +#define TK_DETACH 312 +#define TK_DIVIDE 313 +#define TK_DOT 314 +#define TK_EACH 315 +#define TK_FAIL 316 +#define TK_FILE 317 +#define TK_FOR 318 +#define TK_GLOB 319 +#define TK_ID 320 +#define TK_IMMEDIATE 321 +#define TK_IMPORT 322 +#define TK_INITIALLY 323 +#define TK_INSTEAD 324 +#define TK_ISNULL 325 +#define TK_KEY 326 +#define TK_MODULES 327 +#define TK_NK_BITNOT 328 +#define TK_NK_SEMI 329 +#define TK_NOTNULL 330 +#define TK_OF 331 +#define TK_PLUS 332 +#define TK_PRIVILEGE 333 +#define TK_RAISE 334 +#define TK_RESTRICT 335 +#define TK_ROW 336 +#define TK_SEMI 337 +#define TK_STAR 338 +#define TK_STATEMENT 339 +#define TK_STRICT 340 +#define TK_STRING 341 +#define TK_TIMES 342 +#define TK_VALUES 343 +#define TK_VARIABLE 344 +#define TK_WAL 345 diff --git a/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c b/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c index c7ba0187f3..737a0338ef 100644 --- a/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c +++ b/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c @@ -163,7 +163,7 @@ SArray *mmGetMsgHandles() { if (dmSetMgmtHandle(pArray, TDMT_MND_DROP_STREAM, mmPutMsgToWriteQueue, 0) == NULL) goto _OVER; if (dmSetMgmtHandle(pArray, TDMT_MND_PAUSE_STREAM, mmPutMsgToWriteQueue, 0) == NULL) goto _OVER; if (dmSetMgmtHandle(pArray, TDMT_MND_RESUME_STREAM, mmPutMsgToWriteQueue, 0) == NULL) goto _OVER; - + if (dmSetMgmtHandle(pArray, TDMT_MND_GRANT_RSP, mmPutMsgToReadQueue, 0) == NULL) goto _OVER; if (dmSetMgmtHandle(pArray, TDMT_MND_RETRIEVE_IP_WHITE, mmPutMsgToReadQueue, 0) == NULL) goto _OVER; if (dmSetMgmtHandle(pArray, TDMT_MND_GET_USER_WHITELIST, mmPutMsgToReadQueue, 0) == NULL) goto _OVER; diff --git a/source/dnode/mgmt/node_mgmt/inc/dmMgmt.h b/source/dnode/mgmt/node_mgmt/inc/dmMgmt.h index 20789772e5..b04d336c51 100644 --- a/source/dnode/mgmt/node_mgmt/inc/dmMgmt.h +++ b/source/dnode/mgmt/node_mgmt/inc/dmMgmt.h @@ -97,7 +97,11 @@ int32_t dmMarkWrapper(SMgmtWrapper *pWrapper); void dmReleaseWrapper(SMgmtWrapper *pWrapper); int32_t dmInitVars(SDnode *pDnode); void dmClearVars(SDnode *pDnode); +#if defined(TD_MODULE_OPTIMIZE) || !defined(TD_ENTERPRISE) +int32_t dmInitModule(SDnode *pDnode, SMgmtWrapper *wrappers); +#else int32_t dmInitModule(SDnode *pDnode); +#endif bool dmRequireNode(SDnode *pDnode, SMgmtWrapper *pWrapper); SMgmtInputOpt dmBuildMgmtInputOpt(SMgmtWrapper *pWrapper); void dmSetStatus(SDnode *pDnode, EDndRunStatus stype); @@ -119,7 +123,11 @@ int32_t dmInitStatusClient(SDnode *pDnode); void dmCleanupClient(SDnode *pDnode); void dmCleanupStatusClient(SDnode *pDnode); SMsgCb dmGetMsgcb(SDnode *pDnode); +#if defined(TD_MODULE_OPTIMIZE) || !defined(TD_ENTERPRISE) +int32_t dmInitMsgHandle(SDnode *pDnode, SMgmtWrapper *wrappers); +#else int32_t dmInitMsgHandle(SDnode *pDnode); +#endif int32_t dmProcessNodeMsg(SMgmtWrapper *pWrapper, SRpcMsg *pMsg); // dmMonitor.c diff --git a/source/dnode/mgmt/node_mgmt/src/dmMgmt.c b/source/dnode/mgmt/node_mgmt/src/dmMgmt.c index 5164d60ba6..e9ce4c4f89 100644 --- a/source/dnode/mgmt/node_mgmt/src/dmMgmt.c +++ b/source/dnode/mgmt/node_mgmt/src/dmMgmt.c @@ -66,9 +66,15 @@ int32_t dmInitDnode(SDnode *pDnode) { goto _OVER; } +#if defined(TD_MODULE_OPTIMIZE) || !defined(TD_ENTERPRISE) + if (dmInitModule(pDnode, pDnode->wrappers) != 0) { + goto _OVER; + } +#else if (dmInitModule(pDnode) != 0) { goto _OVER; } +#endif indexInit(tsNumOfCommitThreads); streamMetaInit(); @@ -107,6 +113,77 @@ void dmCleanupDnode(SDnode *pDnode) { dDebug("dnode is closed, ptr:%p", pDnode); } +#if defined(TD_MODULE_OPTIMIZE) || !defined(TD_ENTERPRISE) +int32_t dmInitVars(SDnode *pDnode) { + SDnodeData *pData = &pDnode->data; + pData->dnodeId = 0; + pData->clusterId = 0; + pData->dnodeVer = 0; + pData->engineVer = 0; + pData->updateTime = 0; + pData->rebootTime = taosGetTimestampMs(); + pData->dropped = 0; + pData->stopped = 0; + + pData->dnodeHash = taosHashInit(4, taosGetDefaultHashFunction(TSDB_DATA_TYPE_INT), true, HASH_NO_LOCK); + if (pData->dnodeHash == NULL) { + dError("failed to init dnode hash"); + terrno = TSDB_CODE_OUT_OF_MEMORY; + return -1; + } + + if (dmReadEps(pData) != 0) { + dError("failed to read file since %s", terrstr()); + return -1; + } + + if (pData->dropped) { + dError("dnode will not start since its already dropped"); + return -1; + } + + taosThreadRwlockInit(&pData->lock, NULL); + taosThreadMutexInit(&pDnode->mutex, NULL); + return 0; +} + +void dmClearVars(SDnode *pDnode) { + for (EDndNodeType ntype = DNODE; ntype < NODE_END; ++ntype) { + SMgmtWrapper *pWrapper = &pDnode->wrappers[ntype]; + taosMemoryFreeClear(pWrapper->path); + taosThreadRwlockDestroy(&pWrapper->lock); + } + if (pDnode->lockfile != NULL) { + taosUnLockFile(pDnode->lockfile); + taosCloseFile(&pDnode->lockfile); + pDnode->lockfile = NULL; + } + + SDnodeData *pData = &pDnode->data; + taosThreadRwlockWrlock(&pData->lock); + if (pData->oldDnodeEps != NULL) { + if (dmWriteEps(pData) == 0) { + dmRemoveDnodePairs(pData); + } + taosArrayDestroy(pData->oldDnodeEps); + pData->oldDnodeEps = NULL; + } + if (pData->dnodeEps != NULL) { + taosArrayDestroy(pData->dnodeEps); + pData->dnodeEps = NULL; + } + if (pData->dnodeHash != NULL) { + taosHashCleanup(pData->dnodeHash); + pData->dnodeHash = NULL; + } + taosThreadRwlockUnlock(&pData->lock); + + taosThreadRwlockDestroy(&pData->lock); + taosThreadMutexDestroy(&pDnode->mutex); + memset(&pDnode->mutex, 0, sizeof(pDnode->mutex)); +} +#endif + void dmSetStatus(SDnode *pDnode, EDndRunStatus status) { if (pDnode->status != status) { dDebug("dnode status set from %s to %s", dmStatStr(pDnode->status), dmStatStr(status)); diff --git a/source/dnode/mgmt/node_mgmt/src/dmTransport.c b/source/dnode/mgmt/node_mgmt/src/dmTransport.c index ce6b21dd56..b7381891d1 100644 --- a/source/dnode/mgmt/node_mgmt/src/dmTransport.c +++ b/source/dnode/mgmt/node_mgmt/src/dmTransport.c @@ -251,6 +251,33 @@ _OVER: dmReleaseWrapper(pWrapper); } +#if defined(TD_MODULE_OPTIMIZE) || !defined(TD_ENTERPRISE) +int32_t dmInitMsgHandle(SDnode *pDnode, SMgmtWrapper *wrappers) { + SDnodeTrans *pTrans = &pDnode->trans; + + for (EDndNodeType ntype = DNODE; ntype < NODE_END; ++ntype) { + SMgmtWrapper *pWrapper = wrappers + ntype; + SArray *pArray = (*pWrapper->func.getHandlesFp)(); + if (pArray == NULL) return -1; + + for (int32_t i = 0; i < taosArrayGetSize(pArray); ++i) { + SMgmtHandle *pMgmt = taosArrayGet(pArray, i); + SDnodeHandle *pHandle = &pTrans->msgHandles[TMSG_INDEX(pMgmt->msgType)]; + if (pMgmt->needCheckVgId) { + pHandle->needCheckVgId = pMgmt->needCheckVgId; + } + if (!pMgmt->needCheckVgId) { + pHandle->defaultNtype = ntype; + } + pWrapper->msgFps[TMSG_INDEX(pMgmt->msgType)] = pMgmt->msgFp; + } + + taosArrayDestroy(pArray); + } + + return 0; +} +#else int32_t dmInitMsgHandle(SDnode *pDnode) { SDnodeTrans *pTrans = &pDnode->trans; @@ -276,6 +303,7 @@ int32_t dmInitMsgHandle(SDnode *pDnode) { return 0; } +#endif static inline int32_t dmSendReq(const SEpSet *pEpSet, SRpcMsg *pMsg) { SDnode *pDnode = dmInstance(); diff --git a/source/dnode/mnode/impl/src/mndDnode.c b/source/dnode/mnode/impl/src/mndDnode.c index b53dee7bff..4e93bcdbe7 100644 --- a/source/dnode/mnode/impl/src/mndDnode.c +++ b/source/dnode/mnode/impl/src/mndDnode.c @@ -397,6 +397,9 @@ void mndGetDnodeData(SMnode *pMnode, SArray *pDnodeInfo) { SDnodeInfo dInfo; dInfo.id = pDnode->id; dInfo.ep.port = pDnode->port; +#ifdef TD_GRANT_HB_OPTIMIZE + dInfo.offlineReason = pDnode->offlineReason; +#endif tstrncpy(dInfo.ep.fqdn, pDnode->fqdn, TSDB_FQDN_LEN); tstrncpy(dInfo.active, pDnode->active, TSDB_ACTIVE_KEY_LEN); tstrncpy(dInfo.connActive, pDnode->connActive, TSDB_CONN_ACTIVE_KEY_LEN); @@ -781,11 +784,7 @@ static int32_t mndConfigDnode(SMnode *pMnode, SRpcMsg *pReq, SMCfgDnodeReq *pCfg SDnodeObj tmpDnode = *pDnode; if (action == DND_ACTIVE_CODE) { -#ifndef TD_GRANT_OPTIMIZE - if (grantAlterActiveCode(pDnode->active, pCfgReq->value, tmpDnode.active, 0) != 0) { -#else if (grantAlterActiveCode(pDnode->id, pDnode->active, pCfgReq->value, tmpDnode.active, 0) != 0) { -#endif if (TSDB_CODE_DUP_KEY != terrno) { mError("dnode:%d, config dnode:%d, app:%p config:%s value:%s failed since %s", pDnode->id, pCfgReq->dnodeId, pReq->info.ahandle, pCfgReq->config, pCfgReq->value, terrstr()); @@ -801,11 +800,7 @@ static int32_t mndConfigDnode(SMnode *pMnode, SRpcMsg *pReq, SMCfgDnodeReq *pCfg goto _OVER; } } else if (action == DND_CONN_ACTIVE_CODE) { -#ifndef TD_GRANT_OPTIMIZE - if (grantAlterActiveCode(pDnode->connActive, pCfgReq->value, tmpDnode.connActive, 1) != 0) { -#else if (grantAlterActiveCode(pDnode->id, pDnode->connActive, pCfgReq->value, tmpDnode.connActive, 1) != 0) { -#endif if (TSDB_CODE_DUP_KEY != terrno) { mError("dnode:%d, config dnode:%d, app:%p config:%s value:%s failed since %s", pDnode->id, pCfgReq->dnodeId, pReq->info.ahandle, pCfgReq->config, pCfgReq->value, terrstr()); diff --git a/source/dnode/mnode/impl/src/mndGrant.c b/source/dnode/mnode/impl/src/mndGrant.c index 9f2ac68da5..c4e1894263 100644 --- a/source/dnode/mnode/impl/src/mndGrant.c +++ b/source/dnode/mnode/impl/src/mndGrant.c @@ -131,13 +131,9 @@ void grantAdd(EGrantType grant, uint64_t value) {} void grantRestore(EGrantType grant, uint64_t value) {} int32_t dmProcessGrantReq(void *pInfo, SRpcMsg *pMsg) { return TSDB_CODE_SUCCESS; } int32_t dmProcessGrantNotify(void *pInfo, SRpcMsg *pMsg) { return TSDB_CODE_SUCCESS; } -#ifndef TD_GRANT_OPTIMIZE -int32_t grantAlterActiveCode(const char *old, const char *new, char *out, int8_t type) { return TSDB_CODE_SUCCESS; } -#else int32_t grantAlterActiveCode(int32_t did, const char *old, const char *new, char *out, int8_t type) { return TSDB_CODE_SUCCESS; } -#endif #endif diff --git a/source/dnode/mnode/impl/src/mndSync.c b/source/dnode/mnode/impl/src/mndSync.c index 7f6a0397ad..f46f33ac22 100644 --- a/source/dnode/mnode/impl/src/mndSync.c +++ b/source/dnode/mnode/impl/src/mndSync.c @@ -95,7 +95,11 @@ static int32_t mndTransValidatePrepareAction(SMnode *pMnode, STrans *pTrans, STr } _OUT: - taosMemoryFreeClear(pRow); + if (pRow) { + SdbDeleteFp deleteFp = pSdb->deleteFps[pRaw->type]; + if (deleteFp) (*deleteFp)(pSdb, pRow->pObj, false); + taosMemoryFreeClear(pRow); + } return code; } diff --git a/source/dnode/vnode/src/tsdb/tsdbSnapshot.c b/source/dnode/vnode/src/tsdb/tsdbSnapshot.c index 3b4827a6be..76177766ed 100644 --- a/source/dnode/vnode/src/tsdb/tsdbSnapshot.c +++ b/source/dnode/vnode/src/tsdb/tsdbSnapshot.c @@ -1521,7 +1521,8 @@ ETsdbFsState tsdbSnapGetFsState(SVnode* pVnode) { return pVnode->pTsdb->pFS->fsstate; } for (int32_t lvl = 0; lvl < TSDB_RETENTION_MAX; ++lvl) { - if (SMA_RSMA_GET_TSDB(pVnode, lvl)->pFS->fsstate != TSDB_FS_STATE_NORMAL) { + STsdb* pTsdb = SMA_RSMA_GET_TSDB(pVnode, lvl); + if (pTsdb && pTsdb->pFS->fsstate != TSDB_FS_STATE_NORMAL) { return TSDB_FS_STATE_INCOMPLETE; } } diff --git a/source/libs/parser/inc/sql.y b/source/libs/parser/inc/sql.y index 87b03469ce..60abbf0ef1 100755 --- a/source/libs/parser/inc/sql.y +++ b/source/libs/parser/inc/sql.y @@ -802,6 +802,7 @@ table_alias(A) ::= NK_ID(B). %type column_alias { SToken } %destructor column_alias { } column_alias(A) ::= NK_ID(B). { A = B; } +column_alias(A) ::= NK_ALIAS(B). { A = B; } %type user_name { SToken } %destructor user_name { } @@ -888,6 +889,8 @@ expression_list(A) ::= expression_list(B) NK_COMMA expr_or_subquery(C). column_reference(A) ::= column_name(B). { A = createRawExprNode(pCxt, &B, createColumnNode(pCxt, NULL, &B)); } column_reference(A) ::= table_name(B) NK_DOT column_name(C). { A = createRawExprNodeExt(pCxt, &B, &C, createColumnNode(pCxt, &B, &C)); } +column_reference(A) ::= NK_ALIAS(B). { A = createRawExprNode(pCxt, &B, createColumnNode(pCxt, NULL, &B)); } +column_reference(A) ::= table_name(B) NK_DOT NK_ALIAS(C). { A = createRawExprNodeExt(pCxt, &B, &C, createColumnNode(pCxt, &B, &C)); } pseudo_column(A) ::= ROWTS(B). { A = createRawExprNode(pCxt, &B, createFunctionNode(pCxt, &B, NULL)); } pseudo_column(A) ::= TBNAME(B). { A = createRawExprNode(pCxt, &B, createFunctionNode(pCxt, &B, NULL)); } diff --git a/source/libs/parser/src/parTokenizer.c b/source/libs/parser/src/parTokenizer.c index 7bbf42814f..5193bdc47f 100644 --- a/source/libs/parser/src/parTokenizer.c +++ b/source/libs/parser/src/parTokenizer.c @@ -629,9 +629,21 @@ uint32_t tGetToken(const char* z, uint32_t* tokenId) { case 't': case 'F': case 'f': { - for (i = 1; ((z[i] & 0x80) == 0) && isIdChar[(uint8_t)z[i]]; i++) { + bool hasNonAsciiChars = false; + for (i = 1;; i++) { + if ((z[i] & 0x80) != 0) { + // utf-8 characters + // currently, we support using utf-8 characters only in alias + hasNonAsciiChars = true; + } else if (isIdChar[(uint8_t)z[i]]) { + } else { + break; + } + } + if (hasNonAsciiChars) { + *tokenId = TK_NK_ALIAS; // must be alias + return i; } - if ((i == 4 && strncasecmp(z, "true", 4) == 0) || (i == 5 && strncasecmp(z, "false", 5) == 0)) { *tokenId = TK_NK_BOOL; return i; @@ -640,10 +652,21 @@ uint32_t tGetToken(const char* z, uint32_t* tokenId) { return i; } default: { - if (((*z & 0x80) != 0) || !isIdChar[(uint8_t)*z]) { + if ((*z & 0x80) == 0 && !isIdChar[(uint8_t)*z]) { break; } - for (i = 1; ((z[i] & 0x80) == 0) && isIdChar[(uint8_t)z[i]]; i++) { + bool hasNonAsciiChars = false; + for (i = 1; ; i++) { + if ((z[i] & 0x80) != 0) { + hasNonAsciiChars = true; + } else if (isIdChar[(uint8_t)z[i]]){ + } else { + break; + } + } + if (hasNonAsciiChars) { + *tokenId = TK_NK_ALIAS; + return i; } *tokenId = tKeywordCode(z, i); return i; diff --git a/source/libs/parser/src/parTranslater.c b/source/libs/parser/src/parTranslater.c index 833886d092..c01648237c 100644 --- a/source/libs/parser/src/parTranslater.c +++ b/source/libs/parser/src/parTranslater.c @@ -4636,7 +4636,7 @@ static int32_t checkDbEnumOption(STranslateContext* pCxt, const char* pName, int return TSDB_CODE_SUCCESS; } -static int32_t checkDbRetentionsOption(STranslateContext* pCxt, SNodeList* pRetentions) { +static int32_t checkDbRetentionsOption(STranslateContext* pCxt, SNodeList* pRetentions, int8_t precision) { if (NULL == pRetentions) { return TSDB_CODE_SUCCESS; } @@ -4659,11 +4659,55 @@ static int32_t checkDbRetentionsOption(STranslateContext* pCxt, SNodeList* pRete SValueNode* pFreq = (SValueNode*)nodesListGetNode(((SNodeListNode*)pRetention)->pNodeList, 0); SValueNode* pKeep = (SValueNode*)nodesListGetNode(((SNodeListNode*)pRetention)->pNodeList, 1); - if (pFreq->datum.i <= 0 || 'n' == pFreq->unit || 'y' == pFreq->unit || pFreq->datum.i >= pKeep->datum.i || - (NULL != pPrevFreq && pPrevFreq->datum.i >= pFreq->datum.i) || - (NULL != pPrevKeep && pPrevKeep->datum.i > pKeep->datum.i)) { - return generateSyntaxErrMsgExt(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_DB_OPTION, "Invalid option retentions"); + + ASSERTS(pFreq->isDuration && pKeep->isDuration, "Retentions freq/keep should have unit"); + + // check unit + if (pFreq->isDuration && TIME_UNIT_SECOND != pFreq->unit && TIME_UNIT_MINUTE != pFreq->unit && + TIME_UNIT_HOUR != pFreq->unit && TIME_UNIT_DAY != pFreq->unit && TIME_UNIT_WEEK != pFreq->unit) { + return generateSyntaxErrMsgExt(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_DB_OPTION, + "Invalid option retentions(freq): %s, only s, m, h, d, w allowed", pFreq->literal); } + + if (pKeep->isDuration && TIME_UNIT_MINUTE != pKeep->unit && TIME_UNIT_HOUR != pKeep->unit && + TIME_UNIT_DAY != pKeep->unit) { + return generateSyntaxErrMsgExt(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_DB_OPTION, + "Invalid option retentions(keep): %s, only m, h, d allowed", pKeep->literal); + } + + // check value range + if (pFreq->datum.i <= 0) { + return generateSyntaxErrMsgExt(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_DB_OPTION, + "Invalid option retentions(freq): %s should larger than 0", pFreq->literal); + } + int64_t keepMinute = pKeep->datum.i / getUnitPerMinute(pKeep->node.resType.precision); + int64_t tsdbMaxKeep = TSDB_TIME_PRECISION_NANO == precision ? TSDB_MAX_KEEP_NS : TSDB_MAX_KEEP; + if (keepMinute < TSDB_MIN_KEEP || keepMinute > tsdbMaxKeep) { + return generateSyntaxErrMsgExt(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_DB_OPTION, + "Invalid option retentions(keep): %" PRId64 "m, valid range: [%" PRIi64 + "m, %" PRId64 "m]", + keepMinute, TSDB_MIN_KEEP, tsdbMaxKeep); + } + + // check relationships + if (pFreq->datum.i >= pKeep->datum.i) { + return generateSyntaxErrMsgExt(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_DB_OPTION, + "Invalid option retentions(freq/keep): %s should larger than %s", pKeep->literal, + pFreq->literal); + } + + if (NULL != pPrevFreq && pPrevFreq->datum.i >= pFreq->datum.i) { + return generateSyntaxErrMsgExt(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_DB_OPTION, + "Invalid option retentions(freq): %s should larger than %s", pFreq->literal, + pPrevFreq->literal); + } + + if (NULL != pPrevKeep && pPrevKeep->datum.i > pKeep->datum.i) { + return generateSyntaxErrMsgExt(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_DB_OPTION, + "Invalid option retentions(keep): %s should not larger than %s", + pPrevKeep->literal, pKeep->literal); + } + pPrevFreq = pFreq; pPrevKeep = pKeep; } @@ -4783,7 +4827,7 @@ static int32_t checkDatabaseOptions(STranslateContext* pCxt, const char* pDbName TSDB_DB_SINGLE_STABLE_OFF); } if (TSDB_CODE_SUCCESS == code) { - code = checkDbRetentionsOption(pCxt, pOptions->pRetentions); + code = checkDbRetentionsOption(pCxt, pOptions->pRetentions, pOptions->precision); } if (TSDB_CODE_SUCCESS == code) { code = checkDbEnumOption(pCxt, "schemaless", pOptions->schemaless, TSDB_DB_SCHEMALESS_ON, TSDB_DB_SCHEMALESS_OFF); @@ -5081,7 +5125,7 @@ static int32_t checkTableSmaOption(STranslateContext* pCxt, SCreateTableStmt* pS } static bool validRollupFunc(const char* pFunc) { - static const char* rollupFuncs[] = {"avg", "sum", "min", "max", "last", "first"}; + static const char* rollupFuncs[] = {"avg", "sum", "min", "max", "last", "first"}; static const int32_t numOfRollupFuncs = (sizeof(rollupFuncs) / sizeof(char*)); for (int i = 0; i < numOfRollupFuncs; ++i) { if (0 == strcmp(rollupFuncs[i], pFunc)) { @@ -5091,6 +5135,17 @@ static bool validRollupFunc(const char* pFunc) { return false; } +static bool aggrRollupFunc(const char* pFunc) { + static const char* aggrRollupFuncs[] = {"avg", "sum"}; + static const int32_t numOfAggrRollupFuncs = (sizeof(aggrRollupFuncs) / sizeof(char*)); + for (int i = 0; i < numOfAggrRollupFuncs; ++i) { + if (0 == strcmp(aggrRollupFuncs[i], pFunc)) { + return true; + } + } + return false; +} + static int32_t checkTableRollupOption(STranslateContext* pCxt, SNodeList* pFuncs, bool createStable, SDbCfgInfo* pDbCfg) { if (NULL == pFuncs) { @@ -5164,7 +5219,8 @@ static int32_t checkTableTagsSchema(STranslateContext* pCxt, SHashObj* pHash, SN return code; } -static int32_t checkTableColsSchema(STranslateContext* pCxt, SHashObj* pHash, int32_t ntags, SNodeList* pCols) { +static int32_t checkTableColsSchema(STranslateContext* pCxt, SHashObj* pHash, int32_t ntags, SNodeList* pCols, + SNodeList* pRollupFuncs) { int32_t ncols = LIST_LENGTH(pCols); if (ncols < TSDB_MIN_COLUMNS) { return generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_COLUMNS_NUM); @@ -5174,13 +5230,19 @@ static int32_t checkTableColsSchema(STranslateContext* pCxt, SHashObj* pHash, in int32_t code = TSDB_CODE_SUCCESS; - bool first = true; + int32_t colIndex = 0; int32_t rowSize = 0; SNode* pNode = NULL; + char* pFunc = NULL; + bool isAggrRollup = false; + + if (pRollupFuncs) { + pFunc = ((SFunctionNode*)nodesListGetNode(pRollupFuncs, 0))->functionName; + isAggrRollup = aggrRollupFunc(pFunc); + } FOREACH(pNode, pCols) { SColumnDefNode* pCol = (SColumnDefNode*)pNode; - if (first) { - first = false; + if (0 == colIndex) { if (TSDB_DATA_TYPE_TIMESTAMP != pCol->dataType.type) { code = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_FIRST_COLUMN); } @@ -5200,6 +5262,15 @@ static int32_t checkTableColsSchema(STranslateContext* pCxt, SHashObj* pHash, in code = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_VAR_COLUMN_LEN); } } + + if (TSDB_CODE_SUCCESS == code && isAggrRollup && 0 != colIndex) { + if (pCol->dataType.type != TSDB_DATA_TYPE_FLOAT && pCol->dataType.type != TSDB_DATA_TYPE_DOUBLE) { + code = + generateSyntaxErrMsgExt(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_COLUMN, + "Invalid column type: %s, only float/double allowed for %s", pCol->colName, pFunc); + } + } + if (TSDB_CODE_SUCCESS == code) { code = taosHashPut(pHash, pCol->colName, len, &pCol, POINTER_BYTES); } @@ -5208,6 +5279,8 @@ static int32_t checkTableColsSchema(STranslateContext* pCxt, SHashObj* pHash, in } else { break; } + // next column + ++colIndex; } if (TSDB_CODE_SUCCESS == code && rowSize > TSDB_MAX_BYTES_PER_ROW) { @@ -5226,7 +5299,7 @@ static int32_t checkTableSchema(STranslateContext* pCxt, SCreateTableStmt* pStmt int32_t code = checkTableTagsSchema(pCxt, pHash, pStmt->pTags); if (TSDB_CODE_SUCCESS == code) { - code = checkTableColsSchema(pCxt, pHash, LIST_LENGTH(pStmt->pTags), pStmt->pCols); + code = checkTableColsSchema(pCxt, pHash, LIST_LENGTH(pStmt->pTags), pStmt->pCols, pStmt->pOptions->pRollupFuncs); } taosHashCleanup(pHash); diff --git a/source/libs/parser/src/sql.c b/source/libs/parser/src/sql.c index 6c1f9166d5..e0c4ccff43 100644 --- a/source/libs/parser/src/sql.c +++ b/source/libs/parser/src/sql.c @@ -104,29 +104,29 @@ #endif /************* Begin control #defines *****************************************/ #define YYCODETYPE unsigned short int -#define YYNOCODE 506 +#define YYNOCODE 507 #define YYACTIONTYPE unsigned short int #define ParseTOKENTYPE SToken typedef union { int yyinit; ParseTOKENTYPE yy0; - EFillMode yy30; - int64_t yy41; - STokenPair yy49; - int32_t yy156; - SAlterOption yy189; - SNodeList* yy332; - EJoinType yy333; - EOperatorType yy436; - SNode* yy476; - SToken yy481; - EShowKind yy585; - SShowTablesOption yy729; - int8_t yy751; - SDataType yy752; - EOrder yy906; - ENullOrder yy961; - bool yy977; + EFillMode yy36; + SNode* yy80; + SNodeList* yy106; + SDataType yy292; + EOperatorType yy428; + int8_t yy431; + SAlterOption yy455; + EShowKind yy459; + STokenPair yy573; + SShowTablesOption yy709; + ENullOrder yy763; + SToken yy785; + EOrder yy812; + EJoinType yy828; + bool yy923; + int32_t yy982; + int64_t yy987; } YYMINORTYPE; #ifndef YYSTACKDEPTH #define YYSTACKDEPTH 100 @@ -143,17 +143,17 @@ typedef union { #define ParseCTX_STORE #define YYFALLBACK 1 #define YYNSTATE 833 -#define YYNRULE 635 -#define YYNRULE_WITH_ACTION 635 -#define YYNTOKEN 345 +#define YYNRULE 638 +#define YYNRULE_WITH_ACTION 638 +#define YYNTOKEN 346 #define YY_MAX_SHIFT 832 -#define YY_MIN_SHIFTREDUCE 1231 -#define YY_MAX_SHIFTREDUCE 1865 -#define YY_ERROR_ACTION 1866 -#define YY_ACCEPT_ACTION 1867 -#define YY_NO_ACTION 1868 -#define YY_MIN_REDUCE 1869 -#define YY_MAX_REDUCE 2503 +#define YY_MIN_SHIFTREDUCE 1234 +#define YY_MAX_SHIFTREDUCE 1871 +#define YY_ERROR_ACTION 1872 +#define YY_ACCEPT_ACTION 1873 +#define YY_NO_ACTION 1874 +#define YY_MIN_REDUCE 1875 +#define YY_MAX_REDUCE 2512 /************* End control #defines *******************************************/ #define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0]))) @@ -220,858 +220,895 @@ typedef union { ** yy_default[] Default action for each state. ** *********** Begin parsing tables **********************************************/ -#define YY_ACTTAB_COUNT (2992) +#define YY_ACTTAB_COUNT (3178) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 173, 409, 462, 418, 2267, 720, 2056, 461, 1996, 171, - /* 10 */ 1997, 168, 48, 46, 1789, 424, 423, 2058, 397, 2058, - /* 20 */ 415, 2478, 1633, 41, 40, 137, 2107, 47, 45, 44, - /* 30 */ 43, 42, 599, 1659, 1892, 1715, 1953, 1631, 41, 40, - /* 40 */ 1640, 2109, 47, 45, 44, 43, 42, 2307, 396, 720, - /* 50 */ 2056, 2109, 662, 469, 662, 2474, 2107, 2474, 381, 1658, - /* 60 */ 702, 38, 319, 30, 1710, 1870, 2107, 719, 556, 203, - /* 70 */ 19, 557, 1912, 2480, 198, 2480, 198, 1639, 2475, 688, - /* 80 */ 2475, 688, 699, 146, 720, 2056, 127, 2274, 2325, 126, + /* 0 */ 173, 409, 462, 418, 2273, 720, 2062, 461, 2002, 171, + /* 10 */ 2003, 168, 48, 46, 1795, 424, 423, 2064, 397, 2064, + /* 20 */ 415, 1665, 1636, 41, 40, 137, 2113, 47, 45, 44, + /* 30 */ 43, 42, 599, 475, 2171, 1721, 1959, 1634, 41, 40, + /* 40 */ 1643, 694, 47, 45, 44, 43, 42, 2314, 1661, 720, + /* 50 */ 2062, 2115, 662, 469, 662, 2483, 681, 2483, 381, 148, + /* 60 */ 702, 184, 2375, 30, 1716, 1876, 2113, 719, 556, 207, + /* 70 */ 19, 557, 1918, 2489, 203, 2489, 203, 1642, 2484, 688, + /* 80 */ 2484, 688, 218, 383, 2332, 2175, 127, 719, 2332, 126, /* 90 */ 125, 124, 123, 122, 121, 120, 119, 118, 523, 521, - /* 100 */ 2274, 364, 736, 829, 56, 212, 15, 561, 804, 803, - /* 110 */ 802, 801, 427, 558, 800, 799, 150, 794, 793, 792, + /* 100 */ 2280, 364, 736, 829, 645, 216, 15, 1661, 804, 803, + /* 110 */ 802, 801, 427, 719, 800, 799, 150, 794, 793, 792, /* 120 */ 791, 790, 789, 788, 162, 784, 783, 782, 426, 425, - /* 130 */ 779, 778, 777, 181, 180, 776, 687, 1832, 174, 2474, - /* 140 */ 1881, 2306, 1717, 1718, 2342, 219, 719, 114, 2308, 740, - /* 150 */ 2310, 2311, 735, 51, 730, 1467, 1468, 686, 198, 195, - /* 160 */ 106, 2395, 2475, 688, 127, 411, 2391, 126, 125, 124, - /* 170 */ 123, 122, 121, 120, 119, 118, 1690, 1700, 564, 418, - /* 180 */ 200, 557, 1912, 1716, 1719, 2049, 89, 171, 2425, 88, - /* 190 */ 699, 146, 299, 2403, 698, 2058, 138, 697, 1634, 2474, - /* 200 */ 1632, 677, 719, 1643, 193, 1862, 420, 41, 40, 2102, - /* 210 */ 2104, 47, 45, 44, 43, 42, 2096, 686, 198, 576, - /* 220 */ 41, 40, 2475, 688, 47, 45, 44, 43, 42, 681, - /* 230 */ 1637, 1638, 51, 1689, 1692, 1693, 1694, 1695, 1696, 1697, - /* 240 */ 1698, 1699, 732, 728, 1708, 1709, 1711, 1712, 1713, 1714, - /* 250 */ 2, 48, 46, 87, 421, 68, 363, 2325, 1656, 415, - /* 260 */ 1658, 1633, 171, 517, 148, 507, 2307, 2366, 526, 375, - /* 270 */ 2058, 475, 2165, 525, 1715, 1661, 1631, 41, 40, 737, - /* 280 */ 2109, 47, 45, 44, 43, 42, 268, 405, 191, 489, - /* 290 */ 267, 527, 683, 678, 671, 2107, 491, 98, 112, 701, - /* 300 */ 196, 2403, 2404, 1710, 144, 2408, 690, 2325, 1861, 19, - /* 310 */ 383, 634, 2169, 1744, 303, 147, 1639, 2189, 680, 2274, - /* 320 */ 214, 736, 1891, 2048, 2307, 223, 632, 1581, 630, 265, - /* 330 */ 264, 618, 617, 616, 645, 2187, 707, 702, 608, 143, - /* 340 */ 612, 63, 829, 384, 611, 15, 63, 516, 515, 610, - /* 350 */ 615, 391, 390, 1658, 477, 609, 97, 63, 605, 370, - /* 360 */ 2306, 158, 395, 2342, 636, 2325, 175, 2308, 740, 2310, - /* 370 */ 2311, 735, 1659, 730, 1745, 2274, 1831, 2274, 94, 736, - /* 380 */ 1793, 1717, 1718, 643, 2176, 2155, 1658, 514, 513, 512, - /* 390 */ 511, 506, 505, 504, 503, 502, 497, 496, 495, 494, - /* 400 */ 367, 486, 485, 484, 2052, 479, 478, 382, 663, 2436, - /* 410 */ 603, 1521, 1522, 2479, 602, 1690, 1700, 1540, 2306, 481, - /* 420 */ 2165, 2342, 1716, 1719, 114, 2308, 740, 2310, 2311, 735, - /* 430 */ 1661, 730, 460, 301, 459, 55, 195, 1634, 2395, 1632, - /* 440 */ 41, 40, 411, 2391, 47, 45, 44, 43, 42, 699, - /* 450 */ 146, 9, 1662, 37, 413, 1739, 1740, 1741, 1742, 1743, - /* 460 */ 1747, 1748, 1749, 1750, 458, 2426, 389, 388, 217, 1637, - /* 470 */ 1638, 1820, 1689, 1692, 1693, 1694, 1695, 1696, 1697, 1698, - /* 480 */ 1699, 732, 728, 1708, 1709, 1711, 1712, 1713, 1714, 2, - /* 490 */ 12, 48, 46, 2307, 1553, 1554, 1633, 1387, 623, 415, - /* 500 */ 1890, 1633, 303, 191, 699, 146, 737, 303, 1278, 1533, - /* 510 */ 1534, 1631, 1386, 635, 1715, 572, 1631, 1855, 303, 674, - /* 520 */ 673, 1818, 1819, 1821, 1822, 1823, 2307, 2170, 2479, 266, - /* 530 */ 682, 2474, 1276, 1277, 2325, 1552, 1555, 387, 386, 737, - /* 540 */ 601, 1922, 1691, 1710, 1869, 626, 2274, 775, 736, 19, - /* 550 */ 2478, 1639, 620, 2274, 2475, 2477, 1639, 1786, 263, 197, - /* 560 */ 2403, 2404, 603, 144, 2408, 2189, 602, 2325, 136, 135, - /* 570 */ 134, 133, 132, 131, 130, 129, 128, 829, 528, 2274, - /* 580 */ 408, 736, 829, 2186, 707, 15, 63, 2306, 301, 52, - /* 590 */ 2342, 94, 2150, 114, 2308, 740, 2310, 2311, 735, 72, - /* 600 */ 730, 334, 71, 149, 2086, 155, 2366, 2395, 385, 450, - /* 610 */ 282, 411, 2391, 12, 199, 2403, 2404, 2051, 144, 2408, - /* 620 */ 2306, 1717, 1718, 2342, 509, 2165, 114, 2308, 740, 2310, - /* 630 */ 2311, 735, 2033, 730, 473, 233, 452, 448, 2494, 559, - /* 640 */ 2395, 1920, 41, 40, 411, 2391, 47, 45, 44, 43, - /* 650 */ 42, 1639, 2410, 41, 40, 1690, 1700, 47, 45, 44, - /* 660 */ 43, 42, 1716, 1719, 1271, 766, 47, 45, 44, 43, - /* 670 */ 42, 1432, 1634, 222, 1632, 1778, 235, 1634, 2407, 1632, - /* 680 */ 559, 767, 1920, 1278, 2100, 1423, 765, 764, 763, 1427, - /* 690 */ 762, 1429, 1430, 761, 758, 171, 1438, 755, 1440, 1441, - /* 700 */ 752, 749, 746, 2059, 1637, 1638, 1273, 1276, 1277, 1637, - /* 710 */ 1638, 1889, 1689, 1692, 1693, 1694, 1695, 1696, 1697, 1698, - /* 720 */ 1699, 732, 728, 1708, 1709, 1711, 1712, 1713, 1714, 2, - /* 730 */ 48, 46, 1720, 2307, 720, 2056, 1725, 2109, 415, 1888, - /* 740 */ 1633, 1805, 1658, 1376, 410, 325, 737, 303, 2433, 1297, - /* 750 */ 303, 1296, 2107, 1715, 466, 1631, 773, 160, 159, 770, - /* 760 */ 769, 768, 157, 2284, 2274, 2307, 142, 773, 160, 159, - /* 770 */ 770, 769, 768, 157, 2325, 2103, 2104, 2292, 737, 1297, - /* 780 */ 2446, 1296, 1710, 1378, 1298, 553, 2274, 2288, 736, 2031, - /* 790 */ 1887, 771, 2274, 551, 2100, 1639, 547, 543, 34, 720, - /* 800 */ 2056, 1746, 1886, 2307, 41, 40, 2325, 573, 47, 45, - /* 810 */ 44, 43, 42, 2255, 1298, 2140, 737, 646, 2274, 137, - /* 820 */ 736, 829, 1785, 170, 49, 1885, 604, 2306, 720, 2056, - /* 830 */ 2342, 2290, 412, 114, 2308, 740, 2310, 2311, 735, 1658, - /* 840 */ 730, 730, 2109, 2274, 2325, 2494, 1884, 2395, 467, 419, - /* 850 */ 2410, 411, 2391, 720, 2056, 2274, 2274, 2107, 736, 2306, - /* 860 */ 1717, 1718, 2342, 574, 2182, 114, 2308, 740, 2310, 2311, - /* 870 */ 735, 772, 730, 483, 2100, 36, 2406, 2494, 2274, 2395, - /* 880 */ 35, 41, 40, 411, 2391, 47, 45, 44, 43, 42, - /* 890 */ 1751, 566, 2228, 786, 1690, 1700, 2237, 2306, 1691, 2274, - /* 900 */ 2342, 1716, 1719, 114, 2308, 740, 2310, 2311, 735, 2479, - /* 910 */ 730, 787, 2474, 661, 2018, 2370, 1634, 2395, 1632, 2284, - /* 920 */ 687, 411, 2391, 2474, 773, 160, 159, 770, 769, 768, - /* 930 */ 157, 2478, 2032, 2047, 280, 2475, 2476, 1883, 2268, 1300, - /* 940 */ 1301, 686, 198, 2288, 1662, 1880, 2475, 688, 1637, 1638, - /* 950 */ 270, 1689, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, - /* 960 */ 732, 728, 1708, 1709, 1711, 1712, 1713, 1714, 2, 48, - /* 970 */ 46, 2307, 646, 720, 2056, 2284, 493, 415, 99, 1633, - /* 980 */ 720, 2056, 720, 2056, 737, 492, 669, 2290, 662, 2293, - /* 990 */ 2274, 2474, 1715, 498, 1631, 1691, 1812, 730, 2274, 2288, - /* 1000 */ 499, 775, 500, 1391, 2307, 595, 594, 720, 2056, 2480, - /* 1010 */ 198, 1813, 2325, 1879, 2475, 688, 694, 737, 1390, 2467, - /* 1020 */ 606, 1710, 720, 2056, 2274, 2109, 736, 575, 720, 2056, - /* 1030 */ 720, 2056, 720, 2056, 1639, 720, 2056, 205, 720, 2056, - /* 1040 */ 706, 61, 2053, 2290, 1373, 2325, 648, 2228, 271, 659, - /* 1050 */ 279, 1811, 705, 730, 269, 314, 2410, 2274, 717, 736, - /* 1060 */ 829, 720, 2056, 49, 1662, 2306, 2274, 641, 2342, 614, - /* 1070 */ 613, 114, 2308, 740, 2310, 2311, 735, 256, 730, 1956, - /* 1080 */ 254, 718, 2405, 2494, 530, 2395, 310, 311, 1280, 411, - /* 1090 */ 2391, 309, 720, 2056, 1657, 720, 2056, 1878, 2306, 1717, - /* 1100 */ 1718, 2342, 215, 1877, 114, 2308, 740, 2310, 2311, 735, - /* 1110 */ 1876, 730, 320, 14, 13, 422, 2494, 662, 2395, 691, - /* 1120 */ 2474, 1875, 411, 2391, 44, 43, 42, 1874, 1873, 1602, - /* 1130 */ 1603, 1872, 2258, 1690, 1700, 597, 596, 3, 2480, 198, - /* 1140 */ 1716, 1719, 139, 2475, 688, 722, 12, 2367, 10, 54, - /* 1150 */ 2274, 618, 617, 616, 85, 1634, 2274, 1632, 608, 143, - /* 1160 */ 612, 798, 796, 2274, 611, 76, 724, 2109, 2367, 610, - /* 1170 */ 615, 391, 390, 158, 2274, 609, 1897, 824, 605, 2034, - /* 1180 */ 2274, 2274, 715, 437, 2274, 2415, 1778, 1637, 1638, 607, - /* 1190 */ 1689, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 732, - /* 1200 */ 728, 1708, 1709, 1711, 1712, 1713, 1714, 2, 48, 46, - /* 1210 */ 2307, 2109, 151, 1371, 647, 86, 415, 258, 1633, 1758, - /* 1220 */ 257, 1940, 281, 737, 260, 2414, 2108, 259, 1931, 1864, - /* 1230 */ 1865, 1715, 262, 1631, 1929, 261, 424, 423, 638, 727, - /* 1240 */ 637, 2295, 158, 619, 50, 50, 1647, 1597, 111, 183, - /* 1250 */ 621, 2325, 1867, 14, 13, 1642, 624, 108, 158, 1715, - /* 1260 */ 1710, 1640, 2045, 2274, 662, 736, 50, 2474, 308, 1331, - /* 1270 */ 780, 75, 156, 1639, 158, 695, 66, 50, 50, 744, - /* 1280 */ 156, 781, 2041, 2043, 703, 2480, 198, 1641, 1710, 2039, - /* 1290 */ 2475, 688, 158, 140, 1350, 2060, 276, 194, 2297, 829, - /* 1300 */ 156, 1639, 15, 731, 2306, 1348, 1923, 2342, 1882, 1332, - /* 1310 */ 114, 2308, 740, 2310, 2311, 735, 1600, 730, 1817, 1816, - /* 1320 */ 675, 172, 2494, 287, 2395, 2439, 341, 726, 411, 2391, - /* 1330 */ 296, 430, 704, 141, 662, 290, 429, 2474, 1717, 1718, - /* 1340 */ 1550, 1994, 312, 338, 74, 712, 316, 73, 1417, 1993, - /* 1350 */ 1752, 1701, 333, 1445, 1449, 2480, 198, 365, 822, 1913, - /* 1360 */ 2475, 688, 2326, 672, 398, 428, 1456, 1454, 231, 538, - /* 1370 */ 536, 533, 1690, 1700, 161, 2174, 692, 401, 679, 1716, - /* 1380 */ 1719, 662, 709, 1919, 2474, 2097, 655, 295, 700, 2429, - /* 1390 */ 5, 298, 431, 302, 1634, 436, 1632, 379, 444, 1736, - /* 1400 */ 1665, 445, 2480, 198, 453, 207, 454, 2475, 688, 63, - /* 1410 */ 209, 1574, 206, 456, 328, 1656, 470, 1657, 1645, 474, - /* 1420 */ 221, 476, 1648, 1662, 1643, 480, 1637, 1638, 2175, 1689, - /* 1430 */ 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 732, 728, - /* 1440 */ 1708, 1709, 1711, 1712, 1713, 1714, 2, 64, 2307, 482, - /* 1450 */ 1644, 519, 487, 501, 1651, 1653, 508, 2167, 510, 518, - /* 1460 */ 520, 737, 532, 531, 529, 226, 225, 728, 1708, 1709, - /* 1470 */ 1711, 1712, 1713, 1714, 534, 1663, 228, 535, 537, 539, - /* 1480 */ 554, 4, 555, 2307, 562, 563, 565, 1659, 567, 2325, - /* 1490 */ 236, 91, 1664, 83, 82, 465, 737, 1666, 211, 239, - /* 1500 */ 568, 2274, 569, 736, 1667, 242, 2307, 571, 244, 2183, - /* 1510 */ 92, 457, 455, 93, 577, 249, 598, 627, 600, 737, - /* 1520 */ 116, 628, 366, 2046, 2325, 446, 253, 2246, 443, 439, - /* 1530 */ 435, 432, 458, 360, 2243, 640, 2274, 2042, 736, 255, - /* 1540 */ 164, 2307, 2306, 642, 165, 2342, 2044, 2325, 114, 2308, - /* 1550 */ 740, 2310, 2311, 735, 737, 730, 2040, 166, 96, 2274, - /* 1560 */ 2368, 736, 2395, 167, 272, 2242, 411, 2391, 1660, 650, - /* 1570 */ 303, 649, 277, 657, 654, 2430, 2440, 2306, 666, 275, - /* 1580 */ 2342, 152, 2325, 114, 2308, 740, 2310, 2311, 735, 329, - /* 1590 */ 730, 2229, 651, 676, 2274, 723, 736, 2395, 656, 2445, - /* 1600 */ 2306, 411, 2391, 2342, 710, 284, 115, 2308, 740, 2310, - /* 1610 */ 2311, 735, 8, 730, 286, 685, 667, 665, 664, 294, - /* 1620 */ 2395, 696, 2497, 2473, 2394, 2391, 402, 693, 1661, 1778, - /* 1630 */ 145, 2411, 1783, 187, 2444, 2306, 330, 2307, 2342, 644, - /* 1640 */ 2417, 115, 2308, 740, 2310, 2311, 735, 1781, 730, 304, - /* 1650 */ 737, 153, 289, 154, 708, 2395, 291, 832, 292, 725, - /* 1660 */ 2391, 331, 2197, 2307, 293, 1, 179, 201, 713, 714, - /* 1670 */ 332, 2196, 105, 327, 2195, 407, 734, 62, 2325, 2376, - /* 1680 */ 2057, 297, 107, 742, 2101, 335, 2019, 323, 1255, 190, - /* 1690 */ 2274, 826, 736, 823, 163, 828, 344, 820, 816, 812, - /* 1700 */ 808, 359, 324, 53, 2325, 358, 2307, 371, 372, 348, - /* 1710 */ 339, 337, 2266, 2265, 2264, 80, 2274, 2259, 736, 737, - /* 1720 */ 433, 434, 1624, 1625, 204, 438, 2257, 440, 441, 442, - /* 1730 */ 1623, 738, 2256, 380, 2342, 2254, 447, 115, 2308, 740, - /* 1740 */ 2310, 2311, 735, 113, 730, 2253, 317, 2325, 2252, 449, - /* 1750 */ 1613, 2395, 451, 2233, 2232, 374, 2391, 2306, 208, 2274, - /* 1760 */ 2342, 736, 210, 356, 2308, 740, 2310, 2311, 735, 733, - /* 1770 */ 730, 721, 2360, 2307, 81, 1577, 1576, 2210, 716, 2209, - /* 1780 */ 2208, 463, 464, 2207, 2206, 468, 737, 2157, 1520, 2149, - /* 1790 */ 2146, 472, 471, 213, 2145, 84, 2144, 2143, 2148, 2147, - /* 1800 */ 2306, 216, 2142, 2342, 2307, 2141, 176, 2308, 740, 2310, - /* 1810 */ 2311, 735, 2139, 730, 2325, 218, 2136, 737, 306, 2138, - /* 1820 */ 2137, 490, 488, 2152, 2135, 305, 2274, 2134, 736, 2133, - /* 1830 */ 2132, 2131, 2154, 2130, 2129, 2128, 2127, 2126, 2307, 2125, - /* 1840 */ 2124, 2123, 2122, 2121, 273, 2325, 2120, 2119, 90, 220, - /* 1850 */ 2118, 737, 2117, 2153, 2151, 2116, 2115, 2274, 224, 736, - /* 1860 */ 689, 2495, 2114, 2113, 522, 2112, 1526, 2306, 524, 2111, - /* 1870 */ 2342, 2110, 368, 115, 2308, 740, 2310, 2311, 735, 2325, - /* 1880 */ 730, 2307, 1388, 1392, 399, 1959, 1384, 2395, 369, 227, - /* 1890 */ 1958, 2274, 2392, 736, 737, 1957, 1955, 1952, 2306, 542, - /* 1900 */ 1951, 2342, 1944, 2307, 175, 2308, 740, 2310, 2311, 735, - /* 1910 */ 540, 730, 229, 544, 546, 230, 737, 541, 545, 548, - /* 1920 */ 550, 549, 2325, 1933, 552, 1908, 232, 400, 78, 1279, - /* 1930 */ 1907, 182, 2306, 2294, 2274, 2342, 736, 192, 357, 2308, - /* 1940 */ 740, 2310, 2311, 735, 2325, 730, 234, 2437, 560, 79, - /* 1950 */ 2231, 2227, 2217, 2205, 241, 243, 2274, 246, 736, 2204, - /* 1960 */ 2307, 2181, 2035, 1324, 1954, 1950, 578, 579, 580, 1948, - /* 1970 */ 582, 583, 1946, 737, 584, 2306, 586, 588, 2342, 587, - /* 1980 */ 1943, 357, 2308, 740, 2310, 2311, 735, 591, 730, 592, - /* 1990 */ 1928, 590, 1926, 1927, 1925, 1904, 2037, 2306, 1460, 2036, - /* 2000 */ 2342, 2325, 1941, 350, 2308, 740, 2310, 2311, 735, 1932, - /* 2010 */ 730, 1461, 1375, 2274, 1374, 736, 622, 252, 65, 1372, - /* 2020 */ 1370, 1369, 1368, 1367, 1366, 2307, 1363, 1361, 1362, 392, - /* 2030 */ 795, 797, 393, 1930, 394, 1903, 1902, 1360, 737, 1901, - /* 2040 */ 625, 629, 1900, 631, 1899, 633, 117, 1611, 1607, 684, - /* 2050 */ 1609, 29, 1606, 2230, 2306, 2307, 2226, 2342, 2216, 1583, - /* 2060 */ 176, 2308, 740, 2310, 2311, 735, 2325, 730, 734, 57, - /* 2070 */ 274, 406, 69, 1587, 1585, 169, 652, 2203, 2274, 58, - /* 2080 */ 736, 2202, 2479, 17, 653, 1834, 288, 1562, 20, 1561, - /* 2090 */ 2307, 278, 21, 6, 31, 7, 2325, 22, 658, 660, - /* 2100 */ 185, 33, 67, 737, 24, 2201, 2295, 283, 2274, 300, - /* 2110 */ 736, 1849, 668, 1848, 186, 2496, 60, 23, 670, 2306, - /* 2120 */ 2307, 403, 2342, 1853, 285, 357, 2308, 740, 2310, 2311, - /* 2130 */ 735, 2325, 730, 737, 1815, 177, 414, 184, 32, 1852, - /* 2140 */ 404, 1804, 59, 2274, 100, 736, 102, 1854, 1855, 2306, - /* 2150 */ 2180, 18, 2342, 1775, 1774, 356, 2308, 740, 2310, 2311, - /* 2160 */ 735, 2325, 730, 2307, 2361, 103, 416, 101, 25, 2179, - /* 2170 */ 307, 318, 188, 2274, 26, 736, 737, 1810, 13, 313, - /* 2180 */ 1649, 70, 1727, 11, 2306, 1737, 104, 2342, 2345, 1726, - /* 2190 */ 357, 2308, 740, 2310, 2311, 735, 1705, 730, 729, 315, - /* 2200 */ 711, 1703, 108, 39, 2325, 1702, 2307, 16, 189, 202, - /* 2210 */ 1682, 741, 27, 739, 2306, 1674, 2274, 2342, 736, 737, - /* 2220 */ 357, 2308, 740, 2310, 2311, 735, 251, 730, 2307, 743, - /* 2230 */ 28, 417, 1446, 745, 747, 1443, 748, 750, 1442, 751, - /* 2240 */ 753, 737, 178, 1439, 754, 756, 1433, 2325, 757, 759, - /* 2250 */ 593, 589, 585, 581, 1431, 250, 321, 639, 760, 2274, - /* 2260 */ 2342, 736, 1437, 352, 2308, 740, 2310, 2311, 735, 2325, - /* 2270 */ 730, 1436, 1435, 109, 110, 1434, 1455, 77, 1451, 1382, - /* 2280 */ 1322, 2274, 1357, 736, 774, 1354, 1353, 1352, 1351, 1349, - /* 2290 */ 1347, 1346, 1345, 785, 322, 1340, 95, 1343, 1379, 248, - /* 2300 */ 2306, 1342, 1341, 2342, 1339, 2307, 342, 2308, 740, 2310, - /* 2310 */ 2311, 735, 1338, 730, 1337, 1377, 1334, 1333, 737, 1330, - /* 2320 */ 1329, 1328, 2306, 1327, 1949, 2342, 805, 2307, 340, 2308, - /* 2330 */ 740, 2310, 2311, 735, 807, 730, 806, 1947, 809, 810, - /* 2340 */ 737, 1945, 811, 813, 814, 815, 2325, 1942, 817, 818, - /* 2350 */ 819, 1924, 821, 1268, 1898, 1256, 825, 326, 2274, 827, - /* 2360 */ 736, 1635, 2307, 238, 336, 830, 831, 1868, 2325, 1868, - /* 2370 */ 1868, 247, 240, 1868, 1868, 737, 1868, 1868, 245, 570, - /* 2380 */ 2274, 1868, 736, 1868, 1868, 1868, 1868, 1868, 1868, 1868, - /* 2390 */ 1868, 1868, 1868, 1868, 1868, 1868, 1868, 237, 2307, 2306, - /* 2400 */ 1868, 1868, 2342, 2325, 1868, 343, 2308, 740, 2310, 2311, - /* 2410 */ 735, 737, 730, 1868, 1868, 2274, 1868, 736, 1868, 1868, - /* 2420 */ 2307, 2306, 1868, 1868, 2342, 1868, 1868, 349, 2308, 740, - /* 2430 */ 2310, 2311, 735, 737, 730, 1868, 1868, 1868, 1868, 2325, - /* 2440 */ 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, - /* 2450 */ 1868, 2274, 1868, 736, 1868, 1868, 2306, 1868, 1868, 2342, - /* 2460 */ 1868, 2325, 353, 2308, 740, 2310, 2311, 735, 1868, 730, - /* 2470 */ 1868, 1868, 1868, 2274, 1868, 736, 1868, 2307, 1868, 1868, - /* 2480 */ 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, - /* 2490 */ 737, 1868, 2306, 1868, 2307, 2342, 1868, 1868, 345, 2308, - /* 2500 */ 740, 2310, 2311, 735, 1868, 730, 1868, 737, 1868, 1868, - /* 2510 */ 1868, 1868, 1868, 2307, 2306, 1868, 1868, 2342, 2325, 1868, - /* 2520 */ 354, 2308, 740, 2310, 2311, 735, 737, 730, 1868, 1868, - /* 2530 */ 2274, 1868, 736, 1868, 1868, 2325, 1868, 1868, 1868, 1868, - /* 2540 */ 1868, 1868, 1868, 1868, 1868, 1868, 1868, 2274, 1868, 736, - /* 2550 */ 1868, 1868, 1868, 1868, 2325, 1868, 1868, 1868, 1868, 1868, - /* 2560 */ 1868, 1868, 1868, 1868, 1868, 1868, 2274, 1868, 736, 1868, - /* 2570 */ 2307, 2306, 1868, 1868, 2342, 1868, 1868, 346, 2308, 740, - /* 2580 */ 2310, 2311, 735, 737, 730, 1868, 1868, 1868, 2306, 1868, - /* 2590 */ 2307, 2342, 1868, 1868, 355, 2308, 740, 2310, 2311, 735, - /* 2600 */ 1868, 730, 1868, 737, 1868, 1868, 2307, 2306, 1868, 1868, - /* 2610 */ 2342, 2325, 1868, 347, 2308, 740, 2310, 2311, 735, 737, - /* 2620 */ 730, 1868, 1868, 2274, 1868, 736, 1868, 1868, 1868, 1868, - /* 2630 */ 1868, 2325, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, - /* 2640 */ 1868, 1868, 1868, 2274, 1868, 736, 1868, 2325, 1868, 1868, - /* 2650 */ 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 2274, - /* 2660 */ 1868, 736, 1868, 1868, 2306, 1868, 1868, 2342, 1868, 1868, - /* 2670 */ 361, 2308, 740, 2310, 2311, 735, 2307, 730, 1868, 1868, - /* 2680 */ 1868, 1868, 1868, 1868, 2306, 1868, 1868, 2342, 1868, 737, - /* 2690 */ 362, 2308, 740, 2310, 2311, 735, 1868, 730, 1868, 1868, - /* 2700 */ 2306, 1868, 1868, 2342, 1868, 1868, 2319, 2308, 740, 2310, - /* 2710 */ 2311, 735, 2307, 730, 1868, 1868, 1868, 2325, 1868, 1868, - /* 2720 */ 1868, 1868, 1868, 1868, 1868, 737, 1868, 1868, 1868, 2274, - /* 2730 */ 1868, 736, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, - /* 2740 */ 1868, 1868, 1868, 1868, 1868, 1868, 2307, 1868, 1868, 1868, - /* 2750 */ 1868, 1868, 1868, 2325, 1868, 1868, 1868, 1868, 1868, 737, - /* 2760 */ 1868, 1868, 1868, 1868, 1868, 2274, 1868, 736, 1868, 2307, - /* 2770 */ 2306, 1868, 1868, 2342, 1868, 1868, 2318, 2308, 740, 2310, - /* 2780 */ 2311, 735, 737, 730, 1868, 1868, 1868, 2325, 1868, 1868, - /* 2790 */ 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 2274, - /* 2800 */ 1868, 736, 1868, 1868, 1868, 1868, 2306, 1868, 1868, 2342, - /* 2810 */ 2325, 1868, 2317, 2308, 740, 2310, 2311, 735, 1868, 730, - /* 2820 */ 1868, 1868, 2274, 1868, 736, 1868, 2307, 1868, 1868, 1868, - /* 2830 */ 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 737, - /* 2840 */ 2306, 2307, 1868, 2342, 1868, 1868, 376, 2308, 740, 2310, - /* 2850 */ 2311, 735, 1868, 730, 737, 1868, 1868, 1868, 1868, 1868, - /* 2860 */ 1868, 1868, 2307, 2306, 1868, 1868, 2342, 2325, 1868, 377, - /* 2870 */ 2308, 740, 2310, 2311, 735, 737, 730, 1868, 1868, 2274, - /* 2880 */ 1868, 736, 2325, 1868, 2307, 1868, 1868, 1868, 1868, 1868, - /* 2890 */ 1868, 1868, 1868, 1868, 2274, 1868, 736, 737, 1868, 1868, - /* 2900 */ 1868, 1868, 1868, 2325, 1868, 1868, 1868, 1868, 1868, 1868, - /* 2910 */ 1868, 1868, 1868, 1868, 1868, 2274, 1868, 736, 1868, 1868, - /* 2920 */ 2306, 1868, 1868, 2342, 1868, 2325, 373, 2308, 740, 2310, - /* 2930 */ 2311, 735, 1868, 730, 1868, 2306, 1868, 2274, 2342, 736, - /* 2940 */ 1868, 378, 2308, 740, 2310, 2311, 735, 1868, 730, 1868, - /* 2950 */ 1868, 1868, 1868, 1868, 1868, 1868, 738, 1868, 1868, 2342, - /* 2960 */ 1868, 1868, 352, 2308, 740, 2310, 2311, 735, 1868, 730, - /* 2970 */ 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 2306, 1868, - /* 2980 */ 1868, 2342, 1868, 1868, 351, 2308, 740, 2310, 2311, 735, - /* 2990 */ 1868, 730, + /* 130 */ 779, 778, 777, 183, 182, 776, 687, 1838, 573, 2483, + /* 140 */ 561, 2313, 1723, 1724, 2351, 680, 558, 114, 2315, 740, + /* 150 */ 2317, 2318, 735, 51, 730, 2419, 2195, 686, 203, 186, + /* 160 */ 2195, 2404, 2484, 688, 687, 411, 2400, 2483, 572, 720, + /* 170 */ 2062, 408, 699, 146, 2192, 707, 1696, 1706, 2193, 707, + /* 180 */ 205, 2416, 1661, 1722, 1725, 686, 203, 1379, 2434, 137, + /* 190 */ 2484, 688, 1435, 682, 574, 2188, 604, 1873, 1637, 51, + /* 200 */ 1635, 677, 2290, 1646, 2301, 1868, 1426, 765, 764, 763, + /* 210 */ 1430, 762, 1432, 1433, 761, 758, 2298, 1441, 755, 1443, + /* 220 */ 1444, 752, 749, 746, 481, 2171, 2294, 1381, 389, 388, + /* 230 */ 1640, 1641, 1693, 1666, 1695, 1698, 1699, 1700, 1701, 1702, + /* 240 */ 1703, 1704, 1705, 732, 728, 1714, 1715, 1717, 1718, 1719, + /* 250 */ 1720, 2, 48, 46, 509, 2171, 576, 363, 63, 1659, + /* 260 */ 415, 2303, 1636, 1536, 1537, 2314, 507, 184, 63, 526, + /* 270 */ 2296, 412, 95, 220, 525, 1721, 430, 1634, 734, 95, + /* 280 */ 730, 429, 299, 2412, 698, 68, 138, 697, 1664, 2483, + /* 290 */ 489, 2176, 527, 683, 678, 671, 385, 491, 2058, 387, + /* 300 */ 386, 695, 601, 225, 1716, 2057, 2332, 686, 203, 1867, + /* 310 */ 19, 1662, 2484, 688, 618, 617, 616, 1642, 2280, 2419, + /* 320 */ 736, 608, 143, 612, 603, 1818, 662, 611, 602, 2483, + /* 330 */ 720, 2062, 610, 615, 391, 390, 1799, 643, 609, 634, + /* 340 */ 1819, 605, 1661, 829, 384, 2415, 15, 2489, 203, 460, + /* 350 */ 56, 459, 2484, 688, 632, 477, 630, 268, 267, 2313, + /* 360 */ 564, 303, 2351, 557, 1918, 356, 2315, 740, 2317, 2318, + /* 370 */ 735, 733, 730, 721, 2369, 47, 45, 44, 43, 42, + /* 380 */ 1817, 458, 1723, 1724, 63, 2182, 2161, 63, 514, 513, + /* 390 */ 512, 511, 506, 505, 504, 503, 502, 497, 496, 495, + /* 400 */ 494, 367, 486, 485, 484, 1693, 479, 478, 382, 172, + /* 410 */ 38, 319, 1524, 1525, 341, 34, 1696, 1706, 1543, 222, + /* 420 */ 303, 41, 40, 1722, 1725, 47, 45, 44, 43, 42, + /* 430 */ 303, 338, 74, 1470, 1471, 73, 646, 775, 1637, 420, + /* 440 */ 1635, 1962, 2108, 2110, 517, 365, 301, 41, 40, 52, + /* 450 */ 1642, 47, 45, 44, 43, 42, 234, 538, 536, 533, + /* 460 */ 90, 41, 40, 89, 1898, 47, 45, 44, 43, 42, + /* 470 */ 1640, 1641, 1693, 1665, 1695, 1698, 1699, 1700, 1701, 1702, + /* 480 */ 1703, 1704, 1705, 732, 728, 1714, 1715, 1717, 1718, 1719, + /* 490 */ 1720, 2, 12, 48, 46, 158, 553, 63, 1697, 720, + /* 500 */ 2062, 415, 2243, 1636, 551, 644, 226, 547, 543, 375, + /* 510 */ 566, 2234, 12, 618, 617, 616, 1721, 2280, 1634, 466, + /* 520 */ 608, 143, 612, 832, 699, 146, 611, 88, 516, 515, + /* 530 */ 1731, 610, 615, 391, 390, 64, 1661, 609, 236, 327, + /* 540 */ 605, 283, 559, 1826, 1926, 1716, 303, 1665, 2314, 303, + /* 550 */ 196, 19, 661, 1750, 1694, 193, 273, 1752, 1642, 720, + /* 560 */ 2062, 702, 2102, 820, 816, 812, 808, 127, 324, 55, + /* 570 */ 126, 125, 124, 123, 122, 121, 120, 119, 118, 467, + /* 580 */ 9, 84, 83, 465, 829, 100, 215, 15, 12, 2332, + /* 590 */ 10, 1636, 674, 673, 1824, 1825, 1827, 1828, 1829, 457, + /* 600 */ 455, 2280, 766, 736, 112, 2488, 1634, 720, 2062, 113, + /* 610 */ 366, 303, 317, 446, 1751, 1662, 443, 439, 435, 432, + /* 620 */ 458, 147, 1664, 1723, 1724, 2039, 1300, 483, 1299, 2054, + /* 630 */ 174, 199, 1887, 701, 201, 2412, 2413, 35, 144, 2417, + /* 640 */ 699, 146, 2313, 142, 716, 2351, 1642, 1757, 114, 2315, + /* 650 */ 740, 2317, 2318, 735, 1897, 730, 2115, 1696, 1706, 303, + /* 660 */ 186, 1301, 2404, 36, 1722, 1725, 411, 2400, 106, 41, + /* 670 */ 40, 706, 829, 47, 45, 44, 43, 42, 2038, 1637, + /* 680 */ 61, 1635, 699, 146, 306, 1666, 720, 2062, 659, 2435, + /* 690 */ 786, 305, 1697, 2055, 37, 413, 1745, 1746, 1747, 1748, + /* 700 */ 1749, 1753, 1754, 1755, 1756, 194, 498, 2280, 1283, 1861, + /* 710 */ 276, 1640, 1641, 1693, 1660, 1695, 1698, 1699, 1700, 1701, + /* 720 */ 1702, 1703, 1704, 1705, 732, 728, 1714, 1715, 1717, 1718, + /* 730 */ 1719, 1720, 2, 48, 46, 1726, 2314, 1556, 1557, 325, + /* 740 */ 238, 415, 1896, 1636, 559, 1792, 1926, 775, 1694, 737, + /* 750 */ 202, 2412, 2413, 603, 144, 2417, 1721, 602, 1634, 1666, + /* 760 */ 773, 160, 159, 770, 769, 768, 157, 1637, 2314, 1635, + /* 770 */ 773, 160, 159, 770, 769, 768, 157, 2332, 1555, 1558, + /* 780 */ 301, 737, 1895, 1928, 727, 1716, 1875, 720, 2062, 2280, + /* 790 */ 1665, 736, 204, 2412, 2413, 2280, 144, 2417, 1642, 1640, + /* 800 */ 1641, 2109, 2110, 1894, 646, 1784, 2314, 499, 2419, 2332, + /* 810 */ 136, 135, 134, 133, 132, 131, 130, 129, 128, 737, + /* 820 */ 1661, 2280, 99, 736, 829, 720, 2062, 49, 1661, 623, + /* 830 */ 2313, 720, 2062, 2351, 2414, 2280, 114, 2315, 740, 2317, + /* 840 */ 2318, 735, 1893, 730, 635, 500, 149, 2332, 155, 2375, + /* 850 */ 2404, 575, 1584, 271, 411, 2400, 2280, 270, 418, 2280, + /* 860 */ 269, 736, 2313, 1723, 1724, 2351, 171, 2146, 114, 2315, + /* 870 */ 740, 2317, 2318, 735, 2064, 730, 626, 2037, 648, 2234, + /* 880 */ 2503, 2115, 2404, 620, 2115, 296, 411, 2400, 396, 266, + /* 890 */ 2051, 405, 720, 2062, 1892, 2280, 2113, 1696, 1706, 2113, + /* 900 */ 2313, 595, 594, 2351, 1722, 1725, 114, 2315, 740, 2317, + /* 910 */ 2318, 735, 2059, 730, 2290, 722, 254, 2376, 2379, 1637, + /* 920 */ 2404, 1635, 1891, 98, 411, 2400, 370, 1890, 2053, 395, + /* 930 */ 72, 636, 178, 71, 2115, 1274, 614, 613, 2294, 2047, + /* 940 */ 593, 589, 585, 581, 1742, 253, 1889, 2280, 198, 715, + /* 950 */ 2274, 1640, 1641, 1693, 1281, 1695, 1698, 1699, 1700, 1701, + /* 960 */ 1702, 1703, 1704, 1705, 732, 728, 1714, 1715, 1717, 1718, + /* 970 */ 1719, 1720, 2, 48, 46, 2280, 1697, 1276, 1279, 1280, + /* 980 */ 2280, 415, 2296, 1636, 720, 2062, 96, 720, 2062, 251, + /* 990 */ 2115, 2487, 730, 197, 2115, 2314, 1721, 410, 1634, 2280, + /* 1000 */ 662, 419, 1666, 2483, 274, 2113, 1281, 282, 737, 2113, + /* 1010 */ 2442, 1791, 773, 160, 159, 770, 769, 768, 157, 720, + /* 1020 */ 2062, 2489, 203, 720, 2062, 1716, 2484, 688, 493, 2314, + /* 1030 */ 1279, 1280, 1694, 421, 720, 2062, 2332, 492, 1642, 705, + /* 1040 */ 1694, 171, 737, 314, 2455, 720, 2062, 2049, 2280, 2064, + /* 1050 */ 736, 41, 40, 241, 717, 47, 45, 44, 43, 42, + /* 1060 */ 2045, 250, 243, 450, 829, 718, 2156, 49, 248, 570, + /* 1070 */ 2332, 41, 40, 720, 2062, 47, 45, 44, 43, 42, + /* 1080 */ 1303, 1304, 2280, 2066, 736, 720, 2062, 240, 1334, 2313, + /* 1090 */ 452, 448, 2351, 320, 1929, 114, 2315, 740, 2317, 2318, + /* 1100 */ 735, 641, 730, 1723, 1724, 422, 2261, 2503, 473, 2404, + /* 1110 */ 647, 41, 40, 411, 2400, 47, 45, 44, 43, 42, + /* 1120 */ 1300, 1886, 1299, 2313, 798, 796, 2351, 1885, 1335, 114, + /* 1130 */ 2315, 740, 2317, 2318, 735, 691, 730, 1696, 1706, 597, + /* 1140 */ 596, 2503, 272, 2404, 1722, 1725, 822, 411, 2400, 2488, + /* 1150 */ 1837, 662, 2483, 787, 2483, 1301, 2024, 310, 311, 1637, + /* 1160 */ 662, 1635, 309, 2483, 724, 2290, 2376, 1884, 1390, 703, + /* 1170 */ 1811, 2487, 2489, 203, 2280, 2484, 2486, 2484, 688, 2299, + /* 1180 */ 2280, 2489, 203, 1389, 14, 13, 2484, 688, 638, 2294, + /* 1190 */ 637, 1640, 1641, 1693, 1883, 1695, 1698, 1699, 1700, 1701, + /* 1200 */ 1702, 1703, 1704, 1705, 732, 728, 1714, 1715, 1717, 1718, + /* 1210 */ 1719, 1720, 2, 48, 46, 2314, 2448, 1605, 1606, 662, + /* 1220 */ 2280, 415, 2483, 1636, 1394, 44, 43, 42, 737, 1882, + /* 1230 */ 669, 2488, 767, 2296, 2483, 2106, 1721, 2115, 1634, 1393, + /* 1240 */ 2489, 203, 1881, 730, 1880, 2484, 688, 2280, 2314, 528, + /* 1250 */ 1645, 171, 2114, 2487, 279, 1879, 2332, 2484, 2485, 2065, + /* 1260 */ 1878, 737, 1644, 2476, 771, 1716, 334, 2106, 2280, 2092, + /* 1270 */ 736, 772, 1903, 824, 2106, 2424, 1784, 690, 1642, 41, + /* 1280 */ 40, 170, 2280, 47, 45, 44, 43, 42, 2264, 2332, + /* 1290 */ 1764, 2040, 1946, 731, 3, 2280, 76, 2280, 139, 259, + /* 1300 */ 158, 2280, 257, 736, 829, 530, 54, 15, 2280, 2313, + /* 1310 */ 86, 675, 2351, 2280, 619, 114, 2315, 740, 2317, 2318, + /* 1320 */ 735, 1888, 730, 261, 151, 263, 260, 2503, 262, 2404, + /* 1330 */ 209, 424, 423, 411, 2400, 265, 1937, 606, 264, 437, + /* 1340 */ 607, 1650, 2313, 1723, 1724, 2351, 87, 1935, 114, 2315, + /* 1350 */ 740, 2317, 2318, 735, 1721, 730, 1643, 141, 621, 111, + /* 1360 */ 2503, 1376, 2404, 290, 1374, 2333, 411, 2400, 108, 624, + /* 1370 */ 1870, 1871, 14, 13, 1600, 2314, 2000, 1696, 1706, 158, + /* 1380 */ 1999, 50, 50, 1716, 1722, 1725, 187, 158, 737, 50, + /* 1390 */ 2423, 2180, 308, 692, 75, 780, 1642, 1919, 672, 1637, + /* 1400 */ 156, 1635, 2438, 401, 398, 679, 709, 66, 2181, 428, + /* 1410 */ 781, 158, 50, 1648, 1925, 2103, 2332, 50, 744, 1353, + /* 1420 */ 2439, 156, 726, 158, 140, 1647, 156, 655, 2280, 700, + /* 1430 */ 736, 1640, 1641, 1693, 1351, 1695, 1698, 1699, 1700, 1701, + /* 1440 */ 1702, 1703, 1704, 1705, 732, 728, 1714, 1715, 1717, 1718, + /* 1450 */ 1719, 1720, 2, 1603, 2449, 1823, 1822, 298, 295, 302, + /* 1460 */ 288, 704, 5, 1553, 431, 436, 312, 379, 712, 2313, + /* 1470 */ 444, 445, 2351, 1669, 316, 114, 2315, 740, 2317, 2318, + /* 1480 */ 735, 1758, 730, 2314, 454, 1420, 1707, 2503, 453, 2404, + /* 1490 */ 210, 333, 1448, 411, 2400, 1452, 737, 1459, 1457, 211, + /* 1500 */ 161, 456, 213, 1577, 328, 1659, 470, 1660, 224, 474, + /* 1510 */ 476, 480, 482, 519, 501, 487, 508, 1651, 2173, 1646, + /* 1520 */ 510, 518, 520, 531, 2332, 532, 529, 229, 228, 231, + /* 1530 */ 534, 535, 537, 539, 1667, 554, 2280, 555, 736, 4, + /* 1540 */ 562, 2314, 563, 239, 92, 565, 1662, 567, 242, 1654, + /* 1550 */ 1656, 1668, 568, 1670, 737, 569, 571, 245, 247, 1671, + /* 1560 */ 2189, 598, 2252, 728, 1714, 1715, 1717, 1718, 1719, 1720, + /* 1570 */ 93, 577, 600, 94, 252, 2052, 627, 2313, 2314, 628, + /* 1580 */ 2351, 640, 2332, 114, 2315, 740, 2317, 2318, 735, 256, + /* 1590 */ 730, 737, 116, 360, 2280, 2377, 736, 2404, 2048, 258, + /* 1600 */ 2249, 411, 2400, 642, 97, 164, 152, 165, 2050, 2046, + /* 1610 */ 166, 2314, 167, 329, 2248, 275, 1663, 650, 649, 2332, + /* 1620 */ 280, 657, 656, 676, 737, 654, 2454, 710, 2426, 651, + /* 1630 */ 2235, 2280, 666, 736, 2453, 2313, 685, 8, 2351, 278, + /* 1640 */ 289, 114, 2315, 740, 2317, 2318, 735, 179, 730, 291, + /* 1650 */ 667, 145, 2332, 723, 2314, 2404, 285, 287, 664, 411, + /* 1660 */ 2400, 292, 665, 402, 2280, 696, 736, 737, 294, 2506, + /* 1670 */ 2482, 693, 2313, 1784, 297, 2351, 1664, 1789, 115, 2315, + /* 1680 */ 740, 2317, 2318, 735, 190, 730, 2420, 1787, 293, 330, + /* 1690 */ 304, 2314, 2404, 153, 331, 2332, 2403, 2400, 708, 2203, + /* 1700 */ 2202, 2201, 206, 407, 737, 2313, 713, 2280, 2351, 736, + /* 1710 */ 714, 115, 2315, 740, 2317, 2318, 735, 332, 730, 2063, + /* 1720 */ 154, 1, 62, 105, 2385, 2404, 107, 742, 2107, 725, + /* 1730 */ 2400, 335, 2332, 323, 1258, 823, 371, 828, 2025, 53, + /* 1740 */ 826, 359, 163, 339, 2280, 2272, 736, 344, 738, 2314, + /* 1750 */ 372, 2351, 2271, 358, 115, 2315, 740, 2317, 2318, 735, + /* 1760 */ 348, 730, 737, 337, 2270, 81, 2314, 2265, 2404, 433, + /* 1770 */ 434, 1627, 374, 2400, 1628, 208, 438, 2263, 440, 737, + /* 1780 */ 441, 442, 2262, 1626, 2260, 2313, 380, 2314, 2351, 2259, + /* 1790 */ 2332, 175, 2315, 740, 2317, 2318, 735, 447, 730, 2258, + /* 1800 */ 737, 449, 2280, 451, 736, 1616, 2239, 2332, 212, 2238, + /* 1810 */ 214, 1580, 82, 1579, 2216, 2215, 2214, 463, 464, 2280, + /* 1820 */ 2213, 736, 2212, 2163, 468, 1523, 2155, 471, 2332, 472, + /* 1830 */ 2152, 2151, 217, 663, 2445, 2150, 85, 2149, 2154, 2153, + /* 1840 */ 2280, 219, 736, 2313, 2148, 2147, 2351, 2145, 2144, 176, + /* 1850 */ 2315, 740, 2317, 2318, 735, 2143, 730, 221, 488, 2142, + /* 1860 */ 2313, 490, 2158, 2351, 2141, 2140, 115, 2315, 740, 2317, + /* 1870 */ 2318, 735, 2139, 730, 2138, 2137, 2160, 2136, 2135, 2134, + /* 1880 */ 2404, 2313, 2133, 2132, 2351, 2401, 2314, 175, 2315, 740, + /* 1890 */ 2317, 2318, 735, 2131, 730, 2130, 2129, 2128, 2127, 737, + /* 1900 */ 223, 2126, 91, 689, 2504, 2125, 2124, 2123, 2159, 2157, + /* 1910 */ 2122, 2121, 1529, 2314, 2120, 227, 2119, 522, 2118, 524, + /* 1920 */ 2117, 2116, 1391, 368, 1395, 1965, 737, 2332, 1387, 1964, + /* 1930 */ 2446, 369, 399, 230, 232, 1963, 1961, 1958, 541, 2280, + /* 1940 */ 540, 736, 1957, 545, 2314, 1950, 542, 1939, 233, 544, + /* 1950 */ 549, 1914, 548, 1282, 2332, 546, 1913, 737, 2237, 400, + /* 1960 */ 552, 550, 235, 185, 78, 2233, 2280, 2223, 736, 2211, + /* 1970 */ 246, 237, 2210, 2300, 79, 195, 560, 2187, 2041, 1960, + /* 1980 */ 2313, 2314, 244, 2351, 1956, 2332, 357, 2315, 740, 2317, + /* 1990 */ 2318, 735, 249, 730, 737, 579, 578, 2280, 1463, 736, + /* 2000 */ 1954, 582, 1327, 580, 583, 584, 1952, 2313, 586, 1949, + /* 2010 */ 2351, 587, 588, 357, 2315, 740, 2317, 2318, 735, 590, + /* 2020 */ 730, 1934, 2332, 1932, 591, 592, 1933, 1931, 1910, 2043, + /* 2030 */ 1464, 2042, 1378, 1377, 2280, 1947, 736, 795, 2313, 1375, + /* 2040 */ 1373, 2351, 1372, 797, 350, 2315, 740, 2317, 2318, 735, + /* 2050 */ 1371, 730, 65, 255, 2314, 1370, 1369, 1366, 392, 1365, + /* 2060 */ 1364, 1363, 1938, 393, 622, 1936, 394, 737, 1909, 625, + /* 2070 */ 1908, 1907, 1906, 1905, 629, 2313, 631, 633, 2351, 2314, + /* 2080 */ 117, 176, 2315, 740, 2317, 2318, 735, 1610, 730, 1612, + /* 2090 */ 684, 1609, 734, 1614, 29, 2332, 2236, 69, 277, 1590, + /* 2100 */ 406, 2232, 1588, 1586, 2222, 652, 2209, 2280, 2208, 736, + /* 2110 */ 2488, 57, 58, 17, 20, 1840, 23, 6, 31, 7, + /* 2120 */ 2332, 284, 2314, 286, 1821, 21, 653, 22, 1565, 668, + /* 2130 */ 281, 189, 2280, 1564, 736, 737, 2505, 2314, 200, 658, + /* 2140 */ 177, 67, 660, 2207, 670, 33, 188, 169, 2313, 32, + /* 2150 */ 737, 2351, 2314, 1810, 357, 2315, 740, 2317, 2318, 735, + /* 2160 */ 2301, 730, 80, 2332, 1860, 737, 1861, 24, 414, 1855, + /* 2170 */ 1854, 1781, 403, 2313, 1859, 2280, 2351, 736, 2332, 356, + /* 2180 */ 2315, 740, 2317, 2318, 735, 1858, 730, 404, 2370, 1780, + /* 2190 */ 2280, 300, 736, 2332, 60, 180, 2186, 102, 416, 101, + /* 2200 */ 2185, 25, 103, 108, 307, 2280, 1816, 736, 191, 313, + /* 2210 */ 13, 70, 711, 315, 318, 104, 2313, 2314, 59, 2351, + /* 2220 */ 26, 1733, 357, 2315, 740, 2317, 2318, 735, 11, 730, + /* 2230 */ 737, 639, 1732, 1652, 2351, 2314, 2354, 352, 2315, 740, + /* 2240 */ 2317, 2318, 735, 1711, 730, 729, 2313, 18, 737, 2351, + /* 2250 */ 181, 1709, 357, 2315, 740, 2317, 2318, 735, 2332, 730, + /* 2260 */ 39, 192, 1686, 1708, 16, 27, 743, 741, 417, 1678, + /* 2270 */ 2280, 1449, 736, 28, 745, 1743, 2332, 1446, 747, 748, + /* 2280 */ 739, 1445, 750, 1442, 751, 753, 754, 756, 2280, 1436, + /* 2290 */ 736, 757, 759, 1434, 760, 109, 1440, 321, 1439, 1438, + /* 2300 */ 110, 77, 1437, 1458, 1454, 1325, 774, 1360, 1357, 1356, + /* 2310 */ 1385, 2313, 1355, 1354, 2351, 1352, 1350, 342, 2315, 740, + /* 2320 */ 2317, 2318, 735, 1349, 730, 1348, 785, 322, 1346, 2313, + /* 2330 */ 2314, 1343, 2351, 1345, 1344, 340, 2315, 740, 2317, 2318, + /* 2340 */ 735, 1342, 730, 737, 1341, 1340, 1382, 2314, 1380, 1337, + /* 2350 */ 1336, 1333, 1332, 1331, 1330, 1955, 805, 806, 807, 1953, + /* 2360 */ 737, 809, 811, 2314, 1951, 813, 1948, 815, 819, 810, + /* 2370 */ 817, 2332, 814, 818, 1930, 821, 737, 1271, 1904, 1259, + /* 2380 */ 825, 831, 326, 2280, 827, 736, 1874, 1638, 2332, 336, + /* 2390 */ 830, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, + /* 2400 */ 2280, 1874, 736, 1874, 2332, 1874, 1874, 1874, 1874, 1874, + /* 2410 */ 1874, 1874, 1874, 1874, 1874, 1874, 2280, 1874, 736, 1874, + /* 2420 */ 1874, 1874, 1874, 1874, 2313, 1874, 1874, 2351, 1874, 1874, + /* 2430 */ 343, 2315, 740, 2317, 2318, 735, 1874, 730, 1874, 1874, + /* 2440 */ 2314, 2313, 1874, 1874, 2351, 1874, 1874, 349, 2315, 740, + /* 2450 */ 2317, 2318, 735, 737, 730, 1874, 1874, 2313, 1874, 2314, + /* 2460 */ 2351, 1874, 1874, 353, 2315, 740, 2317, 2318, 735, 1874, + /* 2470 */ 730, 1874, 737, 1874, 1874, 1874, 1874, 1874, 1874, 1874, + /* 2480 */ 1874, 2332, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, + /* 2490 */ 1874, 1874, 1874, 2280, 1874, 736, 1874, 1874, 1874, 1874, + /* 2500 */ 2332, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, + /* 2510 */ 1874, 1874, 2280, 1874, 736, 1874, 1874, 1874, 1874, 1874, + /* 2520 */ 1874, 1874, 1874, 1874, 1874, 1874, 2314, 1874, 1874, 1874, + /* 2530 */ 1874, 1874, 1874, 1874, 2313, 1874, 1874, 2351, 1874, 737, + /* 2540 */ 345, 2315, 740, 2317, 2318, 735, 1874, 730, 1874, 1874, + /* 2550 */ 1874, 1874, 1874, 2313, 1874, 2314, 2351, 1874, 1874, 354, + /* 2560 */ 2315, 740, 2317, 2318, 735, 1874, 730, 2332, 737, 1874, + /* 2570 */ 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 2280, + /* 2580 */ 1874, 736, 1874, 1874, 2314, 1874, 1874, 1874, 1874, 1874, + /* 2590 */ 1874, 1874, 1874, 1874, 1874, 1874, 2332, 737, 1874, 1874, + /* 2600 */ 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 2280, 1874, + /* 2610 */ 736, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, + /* 2620 */ 2313, 1874, 2314, 2351, 1874, 2332, 346, 2315, 740, 2317, + /* 2630 */ 2318, 735, 1874, 730, 1874, 737, 1874, 2280, 1874, 736, + /* 2640 */ 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 2313, + /* 2650 */ 1874, 1874, 2351, 1874, 1874, 355, 2315, 740, 2317, 2318, + /* 2660 */ 735, 1874, 730, 2332, 1874, 1874, 1874, 1874, 1874, 1874, + /* 2670 */ 1874, 1874, 1874, 1874, 1874, 2280, 1874, 736, 2313, 2314, + /* 2680 */ 1874, 2351, 1874, 1874, 347, 2315, 740, 2317, 2318, 735, + /* 2690 */ 1874, 730, 737, 1874, 1874, 1874, 1874, 2314, 1874, 1874, + /* 2700 */ 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, + /* 2710 */ 737, 1874, 1874, 1874, 1874, 1874, 2313, 1874, 1874, 2351, + /* 2720 */ 2332, 1874, 361, 2315, 740, 2317, 2318, 735, 1874, 730, + /* 2730 */ 1874, 1874, 2280, 1874, 736, 1874, 1874, 1874, 2332, 1874, + /* 2740 */ 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, + /* 2750 */ 2280, 1874, 736, 1874, 2314, 1874, 1874, 1874, 1874, 1874, + /* 2760 */ 1874, 1874, 1874, 1874, 1874, 1874, 1874, 737, 1874, 1874, + /* 2770 */ 1874, 1874, 1874, 2313, 2314, 1874, 2351, 1874, 1874, 362, + /* 2780 */ 2315, 740, 2317, 2318, 735, 1874, 730, 737, 1874, 1874, + /* 2790 */ 2314, 2313, 1874, 1874, 2351, 2332, 1874, 2326, 2315, 740, + /* 2800 */ 2317, 2318, 735, 737, 730, 1874, 1874, 2280, 1874, 736, + /* 2810 */ 1874, 1874, 1874, 1874, 1874, 2332, 1874, 1874, 1874, 1874, + /* 2820 */ 1874, 1874, 1874, 1874, 1874, 1874, 1874, 2280, 1874, 736, + /* 2830 */ 1874, 2332, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, + /* 2840 */ 1874, 1874, 1874, 2280, 1874, 736, 1874, 1874, 2313, 1874, + /* 2850 */ 1874, 2351, 1874, 1874, 2325, 2315, 740, 2317, 2318, 735, + /* 2860 */ 1874, 730, 1874, 1874, 1874, 1874, 1874, 1874, 2313, 1874, + /* 2870 */ 1874, 2351, 1874, 1874, 2324, 2315, 740, 2317, 2318, 735, + /* 2880 */ 1874, 730, 1874, 1874, 2313, 1874, 1874, 2351, 1874, 2314, + /* 2890 */ 376, 2315, 740, 2317, 2318, 735, 1874, 730, 1874, 1874, + /* 2900 */ 1874, 1874, 737, 1874, 1874, 2314, 1874, 1874, 1874, 1874, + /* 2910 */ 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 737, 1874, + /* 2920 */ 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, + /* 2930 */ 2332, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, + /* 2940 */ 1874, 1874, 2280, 1874, 736, 1874, 2332, 1874, 1874, 1874, + /* 2950 */ 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 2280, 1874, + /* 2960 */ 736, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, + /* 2970 */ 1874, 1874, 2314, 1874, 1874, 1874, 1874, 1874, 1874, 1874, + /* 2980 */ 1874, 1874, 1874, 2313, 1874, 737, 2351, 2314, 1874, 377, + /* 2990 */ 2315, 740, 2317, 2318, 735, 1874, 730, 1874, 1874, 2313, + /* 3000 */ 737, 1874, 2351, 1874, 1874, 373, 2315, 740, 2317, 2318, + /* 3010 */ 735, 1874, 730, 2332, 1874, 1874, 1874, 1874, 1874, 1874, + /* 3020 */ 1874, 1874, 1874, 1874, 1874, 2280, 1874, 736, 2332, 1874, + /* 3030 */ 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, + /* 3040 */ 2280, 1874, 736, 1874, 1874, 1874, 1874, 1874, 1874, 1874, + /* 3050 */ 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, + /* 3060 */ 1874, 1874, 1874, 1874, 1874, 1874, 2313, 1874, 1874, 2351, + /* 3070 */ 2314, 1874, 378, 2315, 740, 2317, 2318, 735, 1874, 730, + /* 3080 */ 1874, 738, 1874, 737, 2351, 1874, 1874, 352, 2315, 740, + /* 3090 */ 2317, 2318, 735, 1874, 730, 1874, 1874, 1874, 1874, 1874, + /* 3100 */ 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, + /* 3110 */ 1874, 2332, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, + /* 3120 */ 1874, 1874, 1874, 2280, 1874, 736, 1874, 1874, 1874, 1874, + /* 3130 */ 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, + /* 3140 */ 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, + /* 3150 */ 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, + /* 3160 */ 1874, 1874, 1874, 1874, 2313, 1874, 1874, 2351, 1874, 1874, + /* 3170 */ 351, 2315, 740, 2317, 2318, 735, 1874, 730, }; static const YYCODETYPE yy_lookahead[] = { - /* 0 */ 370, 381, 424, 381, 424, 360, 361, 429, 378, 389, - /* 10 */ 378, 389, 12, 13, 14, 12, 13, 397, 396, 397, - /* 20 */ 20, 3, 22, 8, 9, 380, 404, 12, 13, 14, - /* 30 */ 15, 16, 387, 20, 348, 35, 0, 37, 8, 9, - /* 40 */ 37, 389, 12, 13, 14, 15, 16, 348, 396, 360, - /* 50 */ 361, 389, 474, 360, 474, 477, 404, 477, 396, 20, - /* 60 */ 361, 463, 464, 33, 64, 0, 404, 20, 355, 380, - /* 70 */ 70, 358, 359, 495, 496, 495, 496, 77, 500, 501, - /* 80 */ 500, 501, 360, 361, 360, 361, 21, 401, 389, 24, - /* 90 */ 25, 26, 27, 28, 29, 30, 31, 32, 405, 406, - /* 100 */ 401, 408, 403, 103, 380, 412, 106, 14, 72, 73, + /* 0 */ 371, 382, 425, 382, 425, 361, 362, 430, 379, 390, + /* 10 */ 379, 390, 12, 13, 14, 12, 13, 398, 397, 398, + /* 20 */ 20, 20, 22, 8, 9, 381, 405, 12, 13, 14, + /* 30 */ 15, 16, 388, 361, 362, 35, 0, 37, 8, 9, + /* 40 */ 37, 33, 12, 13, 14, 15, 16, 349, 20, 361, + /* 50 */ 362, 390, 475, 361, 475, 478, 362, 478, 397, 459, + /* 60 */ 362, 390, 462, 33, 64, 0, 405, 20, 356, 381, + /* 70 */ 70, 359, 360, 496, 497, 496, 497, 77, 501, 502, + /* 80 */ 501, 502, 410, 412, 390, 414, 21, 20, 390, 24, + /* 90 */ 25, 26, 27, 28, 29, 30, 31, 32, 406, 407, + /* 100 */ 402, 409, 404, 103, 20, 413, 106, 20, 72, 73, /* 110 */ 74, 75, 76, 20, 78, 79, 80, 81, 82, 83, /* 120 */ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - /* 130 */ 94, 95, 96, 97, 98, 99, 474, 107, 347, 477, - /* 140 */ 349, 442, 142, 143, 445, 64, 20, 448, 449, 450, - /* 150 */ 451, 452, 453, 106, 455, 142, 143, 495, 496, 460, - /* 160 */ 367, 462, 500, 501, 21, 466, 467, 24, 25, 26, - /* 170 */ 27, 28, 29, 30, 31, 32, 176, 177, 355, 381, - /* 180 */ 481, 358, 359, 183, 184, 392, 105, 389, 489, 108, - /* 190 */ 360, 361, 470, 471, 472, 397, 474, 475, 198, 477, - /* 200 */ 200, 182, 20, 200, 388, 190, 399, 8, 9, 402, - /* 210 */ 403, 12, 13, 14, 15, 16, 400, 495, 496, 69, - /* 220 */ 8, 9, 500, 501, 12, 13, 14, 15, 16, 361, - /* 230 */ 230, 231, 106, 233, 234, 235, 236, 237, 238, 239, + /* 130 */ 94, 95, 96, 97, 98, 99, 475, 107, 361, 478, + /* 140 */ 14, 443, 142, 143, 446, 451, 20, 449, 450, 451, + /* 150 */ 452, 453, 454, 106, 456, 448, 404, 496, 497, 461, + /* 160 */ 404, 463, 501, 502, 475, 467, 468, 478, 20, 361, + /* 170 */ 362, 419, 361, 362, 422, 423, 176, 177, 422, 423, + /* 180 */ 482, 474, 20, 183, 184, 496, 497, 37, 490, 381, + /* 190 */ 501, 502, 103, 20, 417, 418, 388, 346, 198, 106, + /* 200 */ 200, 182, 378, 200, 49, 190, 117, 118, 119, 120, + /* 210 */ 121, 122, 123, 124, 125, 126, 392, 128, 129, 130, + /* 220 */ 131, 132, 133, 134, 361, 362, 402, 77, 39, 40, + /* 230 */ 230, 231, 232, 232, 234, 235, 236, 237, 238, 239, /* 240 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, - /* 250 */ 250, 12, 13, 172, 381, 4, 18, 389, 20, 20, - /* 260 */ 20, 22, 389, 86, 458, 27, 348, 461, 30, 70, - /* 270 */ 397, 360, 361, 35, 35, 20, 37, 8, 9, 361, - /* 280 */ 389, 12, 13, 14, 15, 16, 137, 396, 389, 51, - /* 290 */ 141, 53, 273, 274, 275, 404, 58, 172, 367, 469, - /* 300 */ 470, 471, 472, 64, 474, 475, 288, 389, 293, 70, - /* 310 */ 411, 21, 413, 114, 267, 384, 77, 403, 450, 401, - /* 320 */ 409, 403, 348, 392, 348, 148, 36, 202, 38, 39, - /* 330 */ 40, 72, 73, 74, 20, 421, 422, 361, 79, 80, - /* 340 */ 81, 106, 103, 105, 85, 106, 106, 170, 171, 90, - /* 350 */ 91, 92, 93, 20, 116, 96, 207, 106, 99, 210, - /* 360 */ 442, 33, 213, 445, 215, 389, 448, 449, 450, 451, - /* 370 */ 452, 453, 20, 455, 175, 401, 107, 401, 369, 403, - /* 380 */ 14, 142, 143, 116, 146, 147, 20, 149, 150, 151, - /* 390 */ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - /* 400 */ 162, 163, 164, 165, 395, 167, 168, 169, 490, 491, - /* 410 */ 135, 173, 174, 3, 139, 176, 177, 179, 442, 360, - /* 420 */ 361, 445, 183, 184, 448, 449, 450, 451, 452, 453, - /* 430 */ 20, 455, 197, 178, 199, 107, 460, 198, 462, 200, - /* 440 */ 8, 9, 466, 467, 12, 13, 14, 15, 16, 360, - /* 450 */ 361, 42, 20, 254, 255, 256, 257, 258, 259, 260, - /* 460 */ 261, 262, 263, 264, 229, 489, 39, 40, 409, 230, - /* 470 */ 231, 230, 233, 234, 235, 236, 237, 238, 239, 240, - /* 480 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, - /* 490 */ 251, 12, 13, 348, 142, 143, 22, 22, 4, 20, - /* 500 */ 348, 22, 267, 389, 360, 361, 361, 267, 23, 176, - /* 510 */ 177, 37, 37, 19, 35, 20, 37, 107, 267, 278, - /* 520 */ 279, 280, 281, 282, 283, 284, 348, 413, 474, 35, - /* 530 */ 20, 477, 47, 48, 389, 183, 184, 110, 111, 361, - /* 540 */ 113, 363, 176, 64, 0, 51, 401, 69, 403, 70, - /* 550 */ 496, 77, 58, 401, 500, 501, 77, 4, 64, 470, - /* 560 */ 471, 472, 135, 474, 475, 403, 139, 389, 24, 25, - /* 570 */ 26, 27, 28, 29, 30, 31, 32, 103, 103, 401, - /* 580 */ 418, 403, 103, 421, 422, 106, 106, 442, 178, 106, - /* 590 */ 445, 369, 0, 448, 449, 450, 451, 452, 453, 105, - /* 600 */ 455, 382, 108, 458, 385, 460, 461, 462, 386, 193, - /* 610 */ 178, 466, 467, 251, 470, 471, 472, 395, 474, 475, - /* 620 */ 442, 142, 143, 445, 360, 361, 448, 449, 450, 451, - /* 630 */ 452, 453, 0, 455, 42, 356, 220, 221, 460, 360, - /* 640 */ 462, 362, 8, 9, 466, 467, 12, 13, 14, 15, - /* 650 */ 16, 77, 447, 8, 9, 176, 177, 12, 13, 14, - /* 660 */ 15, 16, 183, 184, 4, 116, 12, 13, 14, 15, - /* 670 */ 16, 103, 198, 409, 200, 266, 356, 198, 473, 200, - /* 680 */ 360, 398, 362, 23, 401, 117, 118, 119, 120, 121, - /* 690 */ 122, 123, 124, 125, 126, 389, 128, 129, 130, 131, - /* 700 */ 132, 133, 134, 397, 230, 231, 46, 47, 48, 230, - /* 710 */ 231, 348, 233, 234, 235, 236, 237, 238, 239, 240, - /* 720 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, - /* 730 */ 12, 13, 14, 348, 360, 361, 14, 389, 20, 348, - /* 740 */ 22, 107, 20, 37, 396, 34, 361, 267, 363, 20, - /* 750 */ 267, 22, 404, 35, 380, 37, 135, 136, 137, 138, - /* 760 */ 139, 140, 141, 377, 401, 348, 37, 135, 136, 137, - /* 770 */ 138, 139, 140, 141, 389, 402, 403, 391, 361, 20, - /* 780 */ 363, 22, 64, 77, 55, 51, 401, 401, 403, 0, - /* 790 */ 348, 398, 401, 59, 401, 77, 62, 63, 2, 360, - /* 800 */ 361, 175, 348, 348, 8, 9, 389, 360, 12, 13, - /* 810 */ 14, 15, 16, 0, 55, 0, 361, 360, 401, 380, - /* 820 */ 403, 103, 269, 178, 106, 348, 387, 442, 360, 361, - /* 830 */ 445, 445, 446, 448, 449, 450, 451, 452, 453, 20, - /* 840 */ 455, 455, 389, 401, 389, 460, 348, 462, 380, 396, - /* 850 */ 447, 466, 467, 360, 361, 401, 401, 404, 403, 442, - /* 860 */ 142, 143, 445, 416, 417, 448, 449, 450, 451, 452, - /* 870 */ 453, 398, 455, 380, 401, 2, 473, 460, 401, 462, - /* 880 */ 254, 8, 9, 466, 467, 12, 13, 14, 15, 16, - /* 890 */ 264, 434, 435, 77, 176, 177, 385, 442, 176, 401, - /* 900 */ 445, 183, 184, 448, 449, 450, 451, 452, 453, 474, - /* 910 */ 455, 376, 477, 50, 379, 460, 198, 462, 200, 377, - /* 920 */ 474, 466, 467, 477, 135, 136, 137, 138, 139, 140, - /* 930 */ 141, 496, 0, 391, 64, 500, 501, 348, 424, 56, - /* 940 */ 57, 495, 496, 401, 20, 348, 500, 501, 230, 231, - /* 950 */ 439, 233, 234, 235, 236, 237, 238, 239, 240, 241, - /* 960 */ 242, 243, 244, 245, 246, 247, 248, 249, 250, 12, - /* 970 */ 13, 348, 360, 360, 361, 377, 161, 20, 108, 22, - /* 980 */ 360, 361, 360, 361, 361, 170, 363, 445, 474, 391, - /* 990 */ 401, 477, 35, 380, 37, 176, 22, 455, 401, 401, - /* 1000 */ 380, 69, 380, 22, 348, 365, 366, 360, 361, 495, - /* 1010 */ 496, 37, 389, 348, 500, 501, 33, 361, 37, 363, - /* 1020 */ 13, 64, 360, 361, 401, 389, 403, 380, 360, 361, - /* 1030 */ 360, 361, 360, 361, 77, 360, 361, 224, 360, 361, - /* 1040 */ 404, 178, 380, 445, 37, 389, 434, 435, 380, 186, - /* 1050 */ 380, 77, 380, 455, 136, 380, 447, 401, 380, 403, - /* 1060 */ 103, 360, 361, 106, 20, 442, 401, 424, 445, 374, - /* 1070 */ 375, 448, 449, 450, 451, 452, 453, 109, 455, 0, - /* 1080 */ 112, 380, 473, 460, 103, 462, 136, 137, 14, 466, - /* 1090 */ 467, 141, 360, 361, 20, 360, 361, 348, 442, 142, - /* 1100 */ 143, 445, 178, 348, 448, 449, 450, 451, 452, 453, - /* 1110 */ 348, 455, 380, 1, 2, 380, 460, 474, 462, 33, - /* 1120 */ 477, 348, 466, 467, 14, 15, 16, 348, 348, 211, - /* 1130 */ 212, 348, 0, 176, 177, 365, 366, 33, 495, 496, - /* 1140 */ 183, 184, 33, 500, 501, 459, 251, 461, 253, 45, - /* 1150 */ 401, 72, 73, 74, 45, 198, 401, 200, 79, 80, - /* 1160 */ 81, 374, 375, 401, 85, 116, 459, 389, 461, 90, - /* 1170 */ 91, 92, 93, 33, 401, 96, 351, 352, 99, 0, - /* 1180 */ 401, 401, 404, 51, 401, 265, 266, 230, 231, 13, - /* 1190 */ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - /* 1200 */ 243, 244, 245, 246, 247, 248, 249, 250, 12, 13, - /* 1210 */ 348, 389, 33, 37, 424, 166, 20, 109, 22, 107, - /* 1220 */ 112, 0, 178, 361, 109, 363, 404, 112, 0, 142, - /* 1230 */ 143, 35, 109, 37, 0, 112, 12, 13, 214, 70, - /* 1240 */ 216, 49, 33, 22, 33, 33, 22, 107, 106, 33, - /* 1250 */ 22, 389, 345, 1, 2, 37, 22, 115, 33, 35, - /* 1260 */ 64, 37, 390, 401, 474, 403, 33, 477, 33, 37, - /* 1270 */ 13, 33, 33, 77, 33, 292, 33, 33, 33, 33, - /* 1280 */ 33, 13, 390, 390, 424, 495, 496, 37, 64, 390, - /* 1290 */ 500, 501, 33, 33, 37, 390, 390, 430, 106, 103, - /* 1300 */ 33, 77, 106, 390, 442, 37, 0, 445, 349, 77, - /* 1310 */ 448, 449, 450, 451, 452, 453, 107, 455, 107, 107, - /* 1320 */ 493, 18, 460, 107, 462, 414, 23, 103, 466, 467, - /* 1330 */ 504, 424, 107, 364, 474, 486, 429, 477, 142, 143, - /* 1340 */ 107, 377, 107, 40, 41, 107, 107, 44, 107, 377, - /* 1350 */ 107, 107, 107, 107, 107, 495, 496, 54, 52, 359, - /* 1360 */ 500, 501, 389, 492, 423, 364, 107, 107, 65, 66, - /* 1370 */ 67, 68, 176, 177, 107, 414, 290, 492, 492, 183, - /* 1380 */ 184, 474, 492, 361, 477, 400, 431, 468, 476, 414, - /* 1390 */ 270, 497, 425, 479, 198, 51, 200, 444, 42, 230, - /* 1400 */ 20, 443, 495, 496, 213, 369, 436, 500, 501, 106, - /* 1410 */ 369, 196, 441, 436, 427, 20, 360, 20, 200, 361, - /* 1420 */ 45, 410, 198, 20, 200, 361, 230, 231, 414, 233, - /* 1430 */ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - /* 1440 */ 244, 245, 246, 247, 248, 249, 250, 144, 348, 410, - /* 1450 */ 200, 175, 407, 360, 230, 231, 361, 360, 410, 407, - /* 1460 */ 407, 361, 373, 104, 102, 360, 372, 243, 244, 245, - /* 1470 */ 246, 247, 248, 249, 101, 20, 360, 371, 360, 360, - /* 1480 */ 353, 50, 357, 348, 353, 357, 436, 20, 403, 389, - /* 1490 */ 369, 369, 20, 190, 191, 192, 361, 20, 195, 369, - /* 1500 */ 362, 401, 426, 403, 20, 369, 348, 362, 369, 417, - /* 1510 */ 369, 208, 209, 369, 360, 369, 353, 351, 389, 361, - /* 1520 */ 360, 351, 219, 389, 389, 222, 389, 401, 225, 226, - /* 1530 */ 227, 228, 229, 353, 401, 217, 401, 389, 403, 389, - /* 1540 */ 389, 348, 442, 440, 389, 445, 389, 389, 448, 449, - /* 1550 */ 450, 451, 452, 453, 361, 455, 389, 389, 106, 401, - /* 1560 */ 460, 403, 462, 389, 367, 401, 466, 467, 20, 204, - /* 1570 */ 267, 203, 367, 360, 403, 414, 414, 442, 401, 432, - /* 1580 */ 445, 438, 389, 448, 449, 450, 451, 452, 453, 436, - /* 1590 */ 455, 435, 433, 277, 401, 460, 403, 462, 425, 485, - /* 1600 */ 442, 466, 467, 445, 276, 419, 448, 449, 450, 451, - /* 1610 */ 452, 453, 285, 455, 419, 189, 287, 286, 271, 425, - /* 1620 */ 462, 291, 505, 499, 466, 467, 294, 289, 20, 266, - /* 1630 */ 361, 447, 116, 362, 485, 442, 419, 348, 445, 1, - /* 1640 */ 488, 448, 449, 450, 451, 452, 453, 268, 455, 367, - /* 1650 */ 361, 367, 487, 367, 401, 462, 484, 19, 483, 466, - /* 1660 */ 467, 419, 401, 348, 482, 480, 485, 478, 181, 415, - /* 1670 */ 385, 401, 367, 35, 401, 401, 361, 106, 389, 465, - /* 1680 */ 361, 498, 106, 393, 401, 360, 379, 367, 22, 51, - /* 1690 */ 401, 350, 403, 38, 354, 353, 383, 59, 60, 61, - /* 1700 */ 62, 437, 64, 428, 389, 383, 348, 420, 420, 383, - /* 1710 */ 346, 368, 0, 0, 0, 45, 401, 0, 403, 361, - /* 1720 */ 37, 223, 37, 37, 37, 223, 0, 37, 37, 223, - /* 1730 */ 37, 442, 0, 223, 445, 0, 37, 448, 449, 450, - /* 1740 */ 451, 452, 453, 105, 455, 0, 108, 389, 0, 22, - /* 1750 */ 218, 462, 37, 0, 0, 466, 467, 442, 206, 401, - /* 1760 */ 445, 403, 206, 448, 449, 450, 451, 452, 453, 454, - /* 1770 */ 455, 456, 457, 348, 207, 200, 198, 0, 140, 0, - /* 1780 */ 0, 194, 193, 0, 0, 49, 361, 147, 49, 0, - /* 1790 */ 0, 51, 37, 49, 0, 45, 0, 0, 0, 0, - /* 1800 */ 442, 49, 0, 445, 348, 0, 448, 449, 450, 451, - /* 1810 */ 452, 453, 0, 455, 389, 161, 0, 361, 180, 0, - /* 1820 */ 0, 161, 37, 0, 0, 187, 401, 0, 403, 0, - /* 1830 */ 0, 0, 0, 0, 0, 0, 0, 0, 348, 0, - /* 1840 */ 0, 0, 0, 0, 206, 389, 0, 0, 45, 49, - /* 1850 */ 0, 361, 0, 0, 0, 0, 0, 401, 147, 403, - /* 1860 */ 502, 503, 0, 0, 146, 0, 22, 442, 145, 0, - /* 1870 */ 445, 0, 50, 448, 449, 450, 451, 452, 453, 389, - /* 1880 */ 455, 348, 22, 22, 394, 0, 37, 462, 50, 64, - /* 1890 */ 0, 401, 467, 403, 361, 0, 0, 0, 442, 42, - /* 1900 */ 0, 445, 0, 348, 448, 449, 450, 451, 452, 453, - /* 1910 */ 37, 455, 64, 37, 42, 64, 361, 51, 51, 37, - /* 1920 */ 42, 51, 389, 0, 37, 0, 45, 394, 42, 14, - /* 1930 */ 0, 33, 442, 49, 401, 445, 403, 49, 448, 449, - /* 1940 */ 450, 451, 452, 453, 389, 455, 43, 491, 49, 42, - /* 1950 */ 0, 0, 0, 0, 42, 189, 401, 49, 403, 0, - /* 1960 */ 348, 0, 0, 71, 0, 0, 37, 51, 42, 0, - /* 1970 */ 37, 51, 0, 361, 42, 442, 37, 42, 445, 51, - /* 1980 */ 0, 448, 449, 450, 451, 452, 453, 51, 455, 42, - /* 1990 */ 0, 37, 0, 0, 0, 0, 0, 442, 22, 0, - /* 2000 */ 445, 389, 0, 448, 449, 450, 451, 452, 453, 0, - /* 2010 */ 455, 37, 37, 401, 37, 403, 53, 112, 114, 37, - /* 2020 */ 37, 37, 37, 37, 37, 348, 37, 22, 37, 22, - /* 2030 */ 33, 33, 22, 0, 22, 0, 0, 37, 361, 0, - /* 2040 */ 37, 37, 0, 37, 0, 22, 20, 107, 37, 494, - /* 2050 */ 37, 106, 37, 0, 442, 348, 0, 445, 0, 37, - /* 2060 */ 448, 449, 450, 451, 452, 453, 389, 455, 361, 178, - /* 2070 */ 49, 394, 106, 205, 22, 201, 22, 0, 401, 178, - /* 2080 */ 403, 0, 3, 272, 178, 107, 49, 178, 33, 178, - /* 2090 */ 348, 181, 33, 50, 106, 50, 389, 33, 185, 185, - /* 2100 */ 33, 33, 3, 361, 33, 0, 49, 106, 401, 49, - /* 2110 */ 403, 37, 104, 37, 49, 503, 33, 272, 102, 442, - /* 2120 */ 348, 37, 445, 37, 107, 448, 449, 450, 451, 452, - /* 2130 */ 453, 389, 455, 361, 107, 106, 394, 106, 106, 37, - /* 2140 */ 37, 107, 265, 401, 106, 403, 42, 107, 107, 442, - /* 2150 */ 0, 272, 445, 107, 107, 448, 449, 450, 451, 452, - /* 2160 */ 453, 389, 455, 348, 457, 42, 394, 106, 106, 0, - /* 2170 */ 107, 49, 106, 401, 33, 403, 361, 107, 2, 106, - /* 2180 */ 22, 106, 104, 252, 442, 230, 106, 445, 106, 104, - /* 2190 */ 448, 449, 450, 451, 452, 453, 107, 455, 106, 180, - /* 2200 */ 182, 107, 115, 106, 389, 107, 348, 106, 49, 49, - /* 2210 */ 22, 116, 106, 232, 442, 107, 401, 445, 403, 361, - /* 2220 */ 448, 449, 450, 451, 452, 453, 35, 455, 348, 37, - /* 2230 */ 106, 37, 107, 106, 37, 107, 106, 37, 107, 106, - /* 2240 */ 37, 361, 51, 107, 106, 37, 107, 389, 106, 37, - /* 2250 */ 59, 60, 61, 62, 107, 64, 33, 442, 106, 401, - /* 2260 */ 445, 403, 127, 448, 449, 450, 451, 452, 453, 389, - /* 2270 */ 455, 127, 127, 106, 106, 127, 37, 106, 22, 77, - /* 2280 */ 71, 401, 37, 403, 70, 37, 37, 37, 37, 37, - /* 2290 */ 37, 37, 37, 100, 33, 22, 105, 37, 77, 108, - /* 2300 */ 442, 37, 37, 445, 37, 348, 448, 449, 450, 451, - /* 2310 */ 452, 453, 37, 455, 37, 37, 37, 37, 361, 37, - /* 2320 */ 37, 22, 442, 37, 0, 445, 37, 348, 448, 449, - /* 2330 */ 450, 451, 452, 453, 42, 455, 51, 0, 37, 51, - /* 2340 */ 361, 0, 42, 37, 51, 42, 389, 0, 37, 51, - /* 2350 */ 42, 0, 37, 37, 0, 22, 33, 22, 401, 21, - /* 2360 */ 403, 22, 348, 172, 22, 21, 20, 506, 389, 506, - /* 2370 */ 506, 180, 181, 506, 506, 361, 506, 506, 187, 188, - /* 2380 */ 401, 506, 403, 506, 506, 506, 506, 506, 506, 506, - /* 2390 */ 506, 506, 506, 506, 506, 506, 506, 206, 348, 442, - /* 2400 */ 506, 506, 445, 389, 506, 448, 449, 450, 451, 452, - /* 2410 */ 453, 361, 455, 506, 506, 401, 506, 403, 506, 506, - /* 2420 */ 348, 442, 506, 506, 445, 506, 506, 448, 449, 450, - /* 2430 */ 451, 452, 453, 361, 455, 506, 506, 506, 506, 389, - /* 2440 */ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, - /* 2450 */ 506, 401, 506, 403, 506, 506, 442, 506, 506, 445, - /* 2460 */ 506, 389, 448, 449, 450, 451, 452, 453, 506, 455, - /* 2470 */ 506, 506, 506, 401, 506, 403, 506, 348, 506, 506, - /* 2480 */ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, - /* 2490 */ 361, 506, 442, 506, 348, 445, 506, 506, 448, 449, - /* 2500 */ 450, 451, 452, 453, 506, 455, 506, 361, 506, 506, - /* 2510 */ 506, 506, 506, 348, 442, 506, 506, 445, 389, 506, - /* 2520 */ 448, 449, 450, 451, 452, 453, 361, 455, 506, 506, - /* 2530 */ 401, 506, 403, 506, 506, 389, 506, 506, 506, 506, - /* 2540 */ 506, 506, 506, 506, 506, 506, 506, 401, 506, 403, - /* 2550 */ 506, 506, 506, 506, 389, 506, 506, 506, 506, 506, - /* 2560 */ 506, 506, 506, 506, 506, 506, 401, 506, 403, 506, - /* 2570 */ 348, 442, 506, 506, 445, 506, 506, 448, 449, 450, - /* 2580 */ 451, 452, 453, 361, 455, 506, 506, 506, 442, 506, - /* 2590 */ 348, 445, 506, 506, 448, 449, 450, 451, 452, 453, - /* 2600 */ 506, 455, 506, 361, 506, 506, 348, 442, 506, 506, - /* 2610 */ 445, 389, 506, 448, 449, 450, 451, 452, 453, 361, - /* 2620 */ 455, 506, 506, 401, 506, 403, 506, 506, 506, 506, - /* 2630 */ 506, 389, 506, 506, 506, 506, 506, 506, 506, 506, - /* 2640 */ 506, 506, 506, 401, 506, 403, 506, 389, 506, 506, - /* 2650 */ 506, 506, 506, 506, 506, 506, 506, 506, 506, 401, - /* 2660 */ 506, 403, 506, 506, 442, 506, 506, 445, 506, 506, - /* 2670 */ 448, 449, 450, 451, 452, 453, 348, 455, 506, 506, - /* 2680 */ 506, 506, 506, 506, 442, 506, 506, 445, 506, 361, - /* 2690 */ 448, 449, 450, 451, 452, 453, 506, 455, 506, 506, - /* 2700 */ 442, 506, 506, 445, 506, 506, 448, 449, 450, 451, - /* 2710 */ 452, 453, 348, 455, 506, 506, 506, 389, 506, 506, - /* 2720 */ 506, 506, 506, 506, 506, 361, 506, 506, 506, 401, - /* 2730 */ 506, 403, 506, 506, 506, 506, 506, 506, 506, 506, - /* 2740 */ 506, 506, 506, 506, 506, 506, 348, 506, 506, 506, - /* 2750 */ 506, 506, 506, 389, 506, 506, 506, 506, 506, 361, - /* 2760 */ 506, 506, 506, 506, 506, 401, 506, 403, 506, 348, - /* 2770 */ 442, 506, 506, 445, 506, 506, 448, 449, 450, 451, - /* 2780 */ 452, 453, 361, 455, 506, 506, 506, 389, 506, 506, - /* 2790 */ 506, 506, 506, 506, 506, 506, 506, 506, 506, 401, - /* 2800 */ 506, 403, 506, 506, 506, 506, 442, 506, 506, 445, - /* 2810 */ 389, 506, 448, 449, 450, 451, 452, 453, 506, 455, - /* 2820 */ 506, 506, 401, 506, 403, 506, 348, 506, 506, 506, - /* 2830 */ 506, 506, 506, 506, 506, 506, 506, 506, 506, 361, - /* 2840 */ 442, 348, 506, 445, 506, 506, 448, 449, 450, 451, - /* 2850 */ 452, 453, 506, 455, 361, 506, 506, 506, 506, 506, - /* 2860 */ 506, 506, 348, 442, 506, 506, 445, 389, 506, 448, - /* 2870 */ 449, 450, 451, 452, 453, 361, 455, 506, 506, 401, - /* 2880 */ 506, 403, 389, 506, 348, 506, 506, 506, 506, 506, - /* 2890 */ 506, 506, 506, 506, 401, 506, 403, 361, 506, 506, - /* 2900 */ 506, 506, 506, 389, 506, 506, 506, 506, 506, 506, - /* 2910 */ 506, 506, 506, 506, 506, 401, 506, 403, 506, 506, - /* 2920 */ 442, 506, 506, 445, 506, 389, 448, 449, 450, 451, - /* 2930 */ 452, 453, 506, 455, 506, 442, 506, 401, 445, 403, - /* 2940 */ 506, 448, 449, 450, 451, 452, 453, 506, 455, 506, - /* 2950 */ 506, 506, 506, 506, 506, 506, 442, 506, 506, 445, - /* 2960 */ 506, 506, 448, 449, 450, 451, 452, 453, 506, 455, - /* 2970 */ 506, 506, 506, 506, 506, 506, 506, 506, 442, 506, - /* 2980 */ 506, 445, 506, 506, 448, 449, 450, 451, 452, 453, - /* 2990 */ 506, 455, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3000 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3010 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3020 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3030 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3040 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3050 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3060 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3070 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3080 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3090 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3100 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3110 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3120 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3130 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3140 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3150 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3160 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3170 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3180 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3190 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3200 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3210 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3220 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3230 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3240 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3250 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3260 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3270 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3280 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3290 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3300 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3310 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3320 */ 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - /* 3330 */ 345, 345, 345, 345, 345, 345, 345, + /* 250 */ 250, 251, 12, 13, 361, 362, 69, 18, 106, 20, + /* 260 */ 20, 106, 22, 176, 177, 349, 27, 390, 106, 30, + /* 270 */ 446, 447, 370, 410, 35, 35, 425, 37, 362, 370, + /* 280 */ 456, 430, 471, 472, 473, 4, 475, 476, 20, 478, + /* 290 */ 51, 414, 53, 274, 275, 276, 387, 58, 396, 110, + /* 300 */ 111, 293, 113, 410, 64, 396, 390, 496, 497, 294, + /* 310 */ 70, 20, 501, 502, 72, 73, 74, 77, 402, 448, + /* 320 */ 404, 79, 80, 81, 135, 22, 475, 85, 139, 478, + /* 330 */ 361, 362, 90, 91, 92, 93, 14, 116, 96, 21, + /* 340 */ 37, 99, 20, 103, 105, 474, 106, 496, 497, 197, + /* 350 */ 381, 199, 501, 502, 36, 116, 38, 39, 40, 443, + /* 360 */ 356, 268, 446, 359, 360, 449, 450, 451, 452, 453, + /* 370 */ 454, 455, 456, 457, 458, 12, 13, 14, 15, 16, + /* 380 */ 77, 229, 142, 143, 106, 146, 147, 106, 149, 150, + /* 390 */ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + /* 400 */ 161, 162, 163, 164, 165, 232, 167, 168, 169, 18, + /* 410 */ 464, 465, 173, 174, 23, 2, 176, 177, 179, 64, + /* 420 */ 268, 8, 9, 183, 184, 12, 13, 14, 15, 16, + /* 430 */ 268, 40, 41, 142, 143, 44, 361, 69, 198, 400, + /* 440 */ 200, 0, 403, 404, 86, 54, 178, 8, 9, 106, + /* 450 */ 77, 12, 13, 14, 15, 16, 65, 66, 67, 68, + /* 460 */ 105, 8, 9, 108, 349, 12, 13, 14, 15, 16, + /* 470 */ 230, 231, 232, 20, 234, 235, 236, 237, 238, 239, + /* 480 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 490 */ 250, 251, 252, 12, 13, 33, 51, 106, 176, 361, + /* 500 */ 362, 20, 386, 22, 59, 1, 148, 62, 63, 70, + /* 510 */ 435, 436, 252, 72, 73, 74, 35, 402, 37, 381, + /* 520 */ 79, 80, 81, 19, 361, 362, 85, 172, 170, 171, + /* 530 */ 14, 90, 91, 92, 93, 144, 20, 96, 357, 35, + /* 540 */ 99, 64, 361, 230, 363, 64, 268, 20, 349, 268, + /* 550 */ 389, 70, 50, 114, 232, 51, 440, 175, 77, 361, + /* 560 */ 362, 362, 401, 59, 60, 61, 62, 21, 64, 107, + /* 570 */ 24, 25, 26, 27, 28, 29, 30, 31, 32, 381, + /* 580 */ 42, 190, 191, 192, 103, 108, 195, 106, 252, 390, + /* 590 */ 254, 22, 279, 280, 281, 282, 283, 284, 285, 208, + /* 600 */ 209, 402, 116, 404, 368, 3, 37, 361, 362, 105, + /* 610 */ 219, 268, 108, 222, 175, 20, 225, 226, 227, 228, + /* 620 */ 229, 385, 20, 142, 143, 0, 20, 381, 22, 393, + /* 630 */ 348, 178, 350, 470, 471, 472, 473, 255, 475, 476, + /* 640 */ 361, 362, 443, 37, 140, 446, 77, 265, 449, 450, + /* 650 */ 451, 452, 453, 454, 349, 456, 390, 176, 177, 268, + /* 660 */ 461, 55, 463, 2, 183, 184, 467, 468, 368, 8, + /* 670 */ 9, 405, 103, 12, 13, 14, 15, 16, 0, 198, + /* 680 */ 178, 200, 361, 362, 180, 232, 361, 362, 186, 490, + /* 690 */ 77, 187, 176, 393, 255, 256, 257, 258, 259, 260, + /* 700 */ 261, 262, 263, 264, 265, 178, 381, 402, 14, 107, + /* 710 */ 206, 230, 231, 232, 20, 234, 235, 236, 237, 238, + /* 720 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 730 */ 249, 250, 251, 12, 13, 14, 349, 142, 143, 34, + /* 740 */ 357, 20, 349, 22, 361, 4, 363, 69, 232, 362, + /* 750 */ 471, 472, 473, 135, 475, 476, 35, 139, 37, 232, + /* 760 */ 135, 136, 137, 138, 139, 140, 141, 198, 349, 200, + /* 770 */ 135, 136, 137, 138, 139, 140, 141, 390, 183, 184, + /* 780 */ 178, 362, 349, 364, 70, 64, 0, 361, 362, 402, + /* 790 */ 20, 404, 471, 472, 473, 402, 475, 476, 77, 230, + /* 800 */ 231, 403, 404, 349, 361, 267, 349, 381, 448, 390, + /* 810 */ 24, 25, 26, 27, 28, 29, 30, 31, 32, 362, + /* 820 */ 20, 402, 172, 404, 103, 361, 362, 106, 20, 4, + /* 830 */ 443, 361, 362, 446, 474, 402, 449, 450, 451, 452, + /* 840 */ 453, 454, 349, 456, 19, 381, 459, 390, 461, 462, + /* 850 */ 463, 381, 202, 137, 467, 468, 402, 141, 382, 402, + /* 860 */ 35, 404, 443, 142, 143, 446, 390, 0, 449, 450, + /* 870 */ 451, 452, 453, 454, 398, 456, 51, 0, 435, 436, + /* 880 */ 461, 390, 463, 58, 390, 505, 467, 468, 397, 64, + /* 890 */ 391, 397, 361, 362, 349, 402, 405, 176, 177, 405, + /* 900 */ 443, 366, 367, 446, 183, 184, 449, 450, 451, 452, + /* 910 */ 453, 454, 381, 456, 378, 460, 35, 462, 461, 198, + /* 920 */ 463, 200, 349, 207, 467, 468, 210, 349, 392, 213, + /* 930 */ 105, 215, 51, 108, 390, 4, 375, 376, 402, 391, + /* 940 */ 59, 60, 61, 62, 230, 64, 349, 402, 178, 405, + /* 950 */ 425, 230, 231, 232, 23, 234, 235, 236, 237, 238, + /* 960 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 970 */ 249, 250, 251, 12, 13, 402, 176, 46, 47, 48, + /* 980 */ 402, 20, 446, 22, 361, 362, 105, 361, 362, 108, + /* 990 */ 390, 3, 456, 431, 390, 349, 35, 397, 37, 402, + /* 1000 */ 475, 397, 232, 478, 381, 405, 23, 381, 362, 405, + /* 1010 */ 364, 270, 135, 136, 137, 138, 139, 140, 141, 361, + /* 1020 */ 362, 496, 497, 361, 362, 64, 501, 502, 161, 349, + /* 1030 */ 47, 48, 232, 382, 361, 362, 390, 170, 77, 381, + /* 1040 */ 232, 390, 362, 381, 364, 361, 362, 391, 402, 398, + /* 1050 */ 404, 8, 9, 172, 381, 12, 13, 14, 15, 16, + /* 1060 */ 391, 180, 181, 193, 103, 381, 0, 106, 187, 188, + /* 1070 */ 390, 8, 9, 361, 362, 12, 13, 14, 15, 16, + /* 1080 */ 56, 57, 402, 391, 404, 361, 362, 206, 37, 443, + /* 1090 */ 220, 221, 446, 381, 0, 449, 450, 451, 452, 453, + /* 1100 */ 454, 425, 456, 142, 143, 381, 0, 461, 42, 463, + /* 1110 */ 425, 8, 9, 467, 468, 12, 13, 14, 15, 16, + /* 1120 */ 20, 349, 22, 443, 375, 376, 446, 349, 77, 449, + /* 1130 */ 450, 451, 452, 453, 454, 33, 456, 176, 177, 366, + /* 1140 */ 367, 461, 136, 463, 183, 184, 52, 467, 468, 475, + /* 1150 */ 107, 475, 478, 377, 478, 55, 380, 136, 137, 198, + /* 1160 */ 475, 200, 141, 478, 460, 378, 462, 349, 22, 425, + /* 1170 */ 107, 497, 496, 497, 402, 501, 502, 501, 502, 392, + /* 1180 */ 402, 496, 497, 37, 1, 2, 501, 502, 214, 402, + /* 1190 */ 216, 230, 231, 232, 349, 234, 235, 236, 237, 238, + /* 1200 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 1210 */ 249, 250, 251, 12, 13, 349, 415, 211, 212, 475, + /* 1220 */ 402, 20, 478, 22, 22, 14, 15, 16, 362, 349, + /* 1230 */ 364, 475, 399, 446, 478, 402, 35, 390, 37, 37, + /* 1240 */ 496, 497, 349, 456, 349, 501, 502, 402, 349, 103, + /* 1250 */ 37, 390, 405, 497, 391, 349, 390, 501, 502, 398, + /* 1260 */ 349, 362, 37, 364, 399, 64, 383, 402, 402, 386, + /* 1270 */ 404, 399, 352, 353, 402, 266, 267, 289, 77, 8, + /* 1280 */ 9, 178, 402, 12, 13, 14, 15, 16, 0, 390, + /* 1290 */ 107, 0, 0, 391, 33, 402, 116, 402, 33, 109, + /* 1300 */ 33, 402, 112, 404, 103, 103, 45, 106, 402, 443, + /* 1310 */ 45, 494, 446, 402, 22, 449, 450, 451, 452, 453, + /* 1320 */ 454, 350, 456, 109, 33, 109, 112, 461, 112, 463, + /* 1330 */ 224, 12, 13, 467, 468, 109, 0, 13, 112, 51, + /* 1340 */ 13, 22, 443, 142, 143, 446, 166, 0, 449, 450, + /* 1350 */ 451, 452, 453, 454, 35, 456, 37, 365, 22, 106, + /* 1360 */ 461, 37, 463, 487, 37, 390, 467, 468, 115, 22, + /* 1370 */ 142, 143, 1, 2, 107, 349, 378, 176, 177, 33, + /* 1380 */ 378, 33, 33, 64, 183, 184, 33, 33, 362, 33, + /* 1390 */ 364, 415, 33, 291, 33, 13, 77, 360, 493, 198, + /* 1400 */ 33, 200, 415, 493, 424, 493, 493, 33, 415, 365, + /* 1410 */ 13, 33, 33, 200, 362, 401, 390, 33, 33, 37, + /* 1420 */ 415, 33, 103, 33, 33, 200, 33, 432, 402, 477, + /* 1430 */ 404, 230, 231, 232, 37, 234, 235, 236, 237, 238, + /* 1440 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 1450 */ 249, 250, 251, 107, 415, 107, 107, 498, 469, 480, + /* 1460 */ 107, 107, 271, 107, 426, 51, 107, 445, 107, 443, + /* 1470 */ 42, 444, 446, 20, 107, 449, 450, 451, 452, 453, + /* 1480 */ 454, 107, 456, 349, 437, 107, 107, 461, 213, 463, + /* 1490 */ 442, 107, 107, 467, 468, 107, 362, 107, 107, 370, + /* 1500 */ 107, 437, 370, 196, 428, 20, 361, 20, 45, 362, + /* 1510 */ 411, 362, 411, 175, 361, 408, 362, 198, 361, 200, + /* 1520 */ 411, 408, 408, 104, 390, 374, 102, 361, 373, 361, + /* 1530 */ 101, 372, 361, 361, 20, 354, 402, 358, 404, 50, + /* 1540 */ 354, 349, 358, 370, 370, 437, 20, 404, 370, 230, + /* 1550 */ 231, 20, 363, 20, 362, 427, 363, 370, 370, 20, + /* 1560 */ 418, 354, 402, 244, 245, 246, 247, 248, 249, 250, + /* 1570 */ 370, 361, 390, 370, 370, 390, 352, 443, 349, 352, + /* 1580 */ 446, 217, 390, 449, 450, 451, 452, 453, 454, 390, + /* 1590 */ 456, 362, 361, 354, 402, 461, 404, 463, 390, 390, + /* 1600 */ 402, 467, 468, 441, 106, 390, 439, 390, 390, 390, + /* 1610 */ 390, 349, 390, 437, 402, 368, 20, 204, 203, 390, + /* 1620 */ 368, 361, 426, 278, 362, 404, 486, 277, 489, 434, + /* 1630 */ 436, 402, 402, 404, 486, 443, 189, 286, 446, 433, + /* 1640 */ 488, 449, 450, 451, 452, 453, 454, 486, 456, 485, + /* 1650 */ 288, 362, 390, 461, 349, 463, 420, 420, 272, 467, + /* 1660 */ 468, 484, 287, 295, 402, 292, 404, 362, 426, 506, + /* 1670 */ 500, 290, 443, 267, 499, 446, 20, 116, 449, 450, + /* 1680 */ 451, 452, 453, 454, 363, 456, 448, 269, 483, 420, + /* 1690 */ 368, 349, 463, 368, 420, 390, 467, 468, 402, 402, + /* 1700 */ 402, 402, 479, 402, 362, 443, 181, 402, 446, 404, + /* 1710 */ 416, 449, 450, 451, 452, 453, 454, 386, 456, 362, + /* 1720 */ 368, 481, 106, 368, 466, 463, 106, 394, 402, 467, + /* 1730 */ 468, 361, 390, 368, 22, 38, 421, 354, 380, 429, + /* 1740 */ 351, 438, 355, 347, 402, 0, 404, 384, 443, 349, + /* 1750 */ 421, 446, 0, 384, 449, 450, 451, 452, 453, 454, + /* 1760 */ 384, 456, 362, 369, 0, 45, 349, 0, 463, 37, + /* 1770 */ 223, 37, 467, 468, 37, 37, 223, 0, 37, 362, + /* 1780 */ 37, 223, 0, 37, 0, 443, 223, 349, 446, 0, + /* 1790 */ 390, 449, 450, 451, 452, 453, 454, 37, 456, 0, + /* 1800 */ 362, 22, 402, 37, 404, 218, 0, 390, 206, 0, + /* 1810 */ 206, 200, 207, 198, 0, 0, 0, 194, 193, 402, + /* 1820 */ 0, 404, 0, 147, 49, 49, 0, 37, 390, 51, + /* 1830 */ 0, 0, 49, 491, 492, 0, 45, 0, 0, 0, + /* 1840 */ 402, 49, 404, 443, 0, 0, 446, 0, 0, 449, + /* 1850 */ 450, 451, 452, 453, 454, 0, 456, 161, 37, 0, + /* 1860 */ 443, 161, 0, 446, 0, 0, 449, 450, 451, 452, + /* 1870 */ 453, 454, 0, 456, 0, 0, 0, 0, 0, 0, + /* 1880 */ 463, 443, 0, 0, 446, 468, 349, 449, 450, 451, + /* 1890 */ 452, 453, 454, 0, 456, 0, 0, 0, 0, 362, + /* 1900 */ 49, 0, 45, 503, 504, 0, 0, 0, 0, 0, + /* 1910 */ 0, 0, 22, 349, 0, 147, 0, 146, 0, 145, + /* 1920 */ 0, 0, 22, 50, 22, 0, 362, 390, 37, 0, + /* 1930 */ 492, 50, 395, 64, 64, 0, 0, 0, 51, 402, + /* 1940 */ 37, 404, 0, 51, 349, 0, 42, 0, 64, 37, + /* 1950 */ 51, 0, 37, 14, 390, 42, 0, 362, 0, 395, + /* 1960 */ 37, 42, 45, 33, 42, 0, 402, 0, 404, 0, + /* 1970 */ 189, 43, 0, 49, 42, 49, 49, 0, 0, 0, + /* 1980 */ 443, 349, 42, 446, 0, 390, 449, 450, 451, 452, + /* 1990 */ 453, 454, 49, 456, 362, 51, 37, 402, 22, 404, + /* 2000 */ 0, 37, 71, 42, 51, 42, 0, 443, 37, 0, + /* 2010 */ 446, 51, 42, 449, 450, 451, 452, 453, 454, 37, + /* 2020 */ 456, 0, 390, 0, 51, 42, 0, 0, 0, 0, + /* 2030 */ 37, 0, 37, 37, 402, 0, 404, 33, 443, 37, + /* 2040 */ 37, 446, 37, 33, 449, 450, 451, 452, 453, 454, + /* 2050 */ 37, 456, 114, 112, 349, 37, 37, 37, 22, 37, + /* 2060 */ 22, 37, 0, 22, 53, 0, 22, 362, 0, 37, + /* 2070 */ 0, 0, 0, 0, 37, 443, 37, 22, 446, 349, + /* 2080 */ 20, 449, 450, 451, 452, 453, 454, 37, 456, 37, + /* 2090 */ 495, 37, 362, 107, 106, 390, 0, 106, 49, 205, + /* 2100 */ 395, 0, 22, 37, 0, 22, 0, 402, 0, 404, + /* 2110 */ 3, 178, 178, 273, 33, 107, 273, 50, 106, 50, + /* 2120 */ 390, 106, 349, 107, 107, 33, 178, 33, 178, 104, + /* 2130 */ 181, 33, 402, 178, 404, 362, 504, 349, 49, 185, + /* 2140 */ 106, 3, 185, 0, 102, 33, 106, 201, 443, 106, + /* 2150 */ 362, 446, 349, 107, 449, 450, 451, 452, 453, 454, + /* 2160 */ 49, 456, 106, 390, 107, 362, 107, 33, 395, 37, + /* 2170 */ 37, 107, 37, 443, 37, 402, 446, 404, 390, 449, + /* 2180 */ 450, 451, 452, 453, 454, 37, 456, 37, 458, 107, + /* 2190 */ 402, 49, 404, 390, 33, 49, 0, 42, 395, 106, + /* 2200 */ 0, 106, 42, 115, 107, 402, 107, 404, 106, 106, + /* 2210 */ 2, 106, 182, 180, 49, 106, 443, 349, 266, 446, + /* 2220 */ 33, 104, 449, 450, 451, 452, 453, 454, 253, 456, + /* 2230 */ 362, 443, 104, 22, 446, 349, 106, 449, 450, 451, + /* 2240 */ 452, 453, 454, 107, 456, 106, 443, 273, 362, 446, + /* 2250 */ 49, 107, 449, 450, 451, 452, 453, 454, 390, 456, + /* 2260 */ 106, 49, 22, 107, 106, 106, 37, 116, 37, 107, + /* 2270 */ 402, 107, 404, 106, 106, 230, 390, 107, 37, 106, + /* 2280 */ 233, 107, 37, 107, 106, 37, 106, 37, 402, 107, + /* 2290 */ 404, 106, 37, 107, 106, 106, 127, 33, 127, 127, + /* 2300 */ 106, 106, 127, 37, 22, 71, 70, 37, 37, 37, + /* 2310 */ 77, 443, 37, 37, 446, 37, 37, 449, 450, 451, + /* 2320 */ 452, 453, 454, 37, 456, 37, 100, 33, 37, 443, + /* 2330 */ 349, 22, 446, 37, 37, 449, 450, 451, 452, 453, + /* 2340 */ 454, 37, 456, 362, 37, 37, 77, 349, 37, 37, + /* 2350 */ 37, 37, 37, 22, 37, 0, 37, 51, 42, 0, + /* 2360 */ 362, 37, 42, 349, 0, 37, 0, 42, 42, 51, + /* 2370 */ 37, 390, 51, 51, 0, 37, 362, 37, 0, 22, + /* 2380 */ 33, 20, 22, 402, 21, 404, 507, 22, 390, 22, + /* 2390 */ 21, 507, 507, 507, 507, 507, 507, 507, 507, 507, + /* 2400 */ 402, 507, 404, 507, 390, 507, 507, 507, 507, 507, + /* 2410 */ 507, 507, 507, 507, 507, 507, 402, 507, 404, 507, + /* 2420 */ 507, 507, 507, 507, 443, 507, 507, 446, 507, 507, + /* 2430 */ 449, 450, 451, 452, 453, 454, 507, 456, 507, 507, + /* 2440 */ 349, 443, 507, 507, 446, 507, 507, 449, 450, 451, + /* 2450 */ 452, 453, 454, 362, 456, 507, 507, 443, 507, 349, + /* 2460 */ 446, 507, 507, 449, 450, 451, 452, 453, 454, 507, + /* 2470 */ 456, 507, 362, 507, 507, 507, 507, 507, 507, 507, + /* 2480 */ 507, 390, 507, 507, 507, 507, 507, 507, 507, 507, + /* 2490 */ 507, 507, 507, 402, 507, 404, 507, 507, 507, 507, + /* 2500 */ 390, 507, 507, 507, 507, 507, 507, 507, 507, 507, + /* 2510 */ 507, 507, 402, 507, 404, 507, 507, 507, 507, 507, + /* 2520 */ 507, 507, 507, 507, 507, 507, 349, 507, 507, 507, + /* 2530 */ 507, 507, 507, 507, 443, 507, 507, 446, 507, 362, + /* 2540 */ 449, 450, 451, 452, 453, 454, 507, 456, 507, 507, + /* 2550 */ 507, 507, 507, 443, 507, 349, 446, 507, 507, 449, + /* 2560 */ 450, 451, 452, 453, 454, 507, 456, 390, 362, 507, + /* 2570 */ 507, 507, 507, 507, 507, 507, 507, 507, 507, 402, + /* 2580 */ 507, 404, 507, 507, 349, 507, 507, 507, 507, 507, + /* 2590 */ 507, 507, 507, 507, 507, 507, 390, 362, 507, 507, + /* 2600 */ 507, 507, 507, 507, 507, 507, 507, 507, 402, 507, + /* 2610 */ 404, 507, 507, 507, 507, 507, 507, 507, 507, 507, + /* 2620 */ 443, 507, 349, 446, 507, 390, 449, 450, 451, 452, + /* 2630 */ 453, 454, 507, 456, 507, 362, 507, 402, 507, 404, + /* 2640 */ 507, 507, 507, 507, 507, 507, 507, 507, 507, 443, + /* 2650 */ 507, 507, 446, 507, 507, 449, 450, 451, 452, 453, + /* 2660 */ 454, 507, 456, 390, 507, 507, 507, 507, 507, 507, + /* 2670 */ 507, 507, 507, 507, 507, 402, 507, 404, 443, 349, + /* 2680 */ 507, 446, 507, 507, 449, 450, 451, 452, 453, 454, + /* 2690 */ 507, 456, 362, 507, 507, 507, 507, 349, 507, 507, + /* 2700 */ 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, + /* 2710 */ 362, 507, 507, 507, 507, 507, 443, 507, 507, 446, + /* 2720 */ 390, 507, 449, 450, 451, 452, 453, 454, 507, 456, + /* 2730 */ 507, 507, 402, 507, 404, 507, 507, 507, 390, 507, + /* 2740 */ 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, + /* 2750 */ 402, 507, 404, 507, 349, 507, 507, 507, 507, 507, + /* 2760 */ 507, 507, 507, 507, 507, 507, 507, 362, 507, 507, + /* 2770 */ 507, 507, 507, 443, 349, 507, 446, 507, 507, 449, + /* 2780 */ 450, 451, 452, 453, 454, 507, 456, 362, 507, 507, + /* 2790 */ 349, 443, 507, 507, 446, 390, 507, 449, 450, 451, + /* 2800 */ 452, 453, 454, 362, 456, 507, 507, 402, 507, 404, + /* 2810 */ 507, 507, 507, 507, 507, 390, 507, 507, 507, 507, + /* 2820 */ 507, 507, 507, 507, 507, 507, 507, 402, 507, 404, + /* 2830 */ 507, 390, 507, 507, 507, 507, 507, 507, 507, 507, + /* 2840 */ 507, 507, 507, 402, 507, 404, 507, 507, 443, 507, + /* 2850 */ 507, 446, 507, 507, 449, 450, 451, 452, 453, 454, + /* 2860 */ 507, 456, 507, 507, 507, 507, 507, 507, 443, 507, + /* 2870 */ 507, 446, 507, 507, 449, 450, 451, 452, 453, 454, + /* 2880 */ 507, 456, 507, 507, 443, 507, 507, 446, 507, 349, + /* 2890 */ 449, 450, 451, 452, 453, 454, 507, 456, 507, 507, + /* 2900 */ 507, 507, 362, 507, 507, 349, 507, 507, 507, 507, + /* 2910 */ 507, 507, 507, 507, 507, 507, 507, 507, 362, 507, + /* 2920 */ 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, + /* 2930 */ 390, 507, 507, 507, 507, 507, 507, 507, 507, 507, + /* 2940 */ 507, 507, 402, 507, 404, 507, 390, 507, 507, 507, + /* 2950 */ 507, 507, 507, 507, 507, 507, 507, 507, 402, 507, + /* 2960 */ 404, 507, 507, 507, 507, 507, 507, 507, 507, 507, + /* 2970 */ 507, 507, 349, 507, 507, 507, 507, 507, 507, 507, + /* 2980 */ 507, 507, 507, 443, 507, 362, 446, 349, 507, 449, + /* 2990 */ 450, 451, 452, 453, 454, 507, 456, 507, 507, 443, + /* 3000 */ 362, 507, 446, 507, 507, 449, 450, 451, 452, 453, + /* 3010 */ 454, 507, 456, 390, 507, 507, 507, 507, 507, 507, + /* 3020 */ 507, 507, 507, 507, 507, 402, 507, 404, 390, 507, + /* 3030 */ 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, + /* 3040 */ 402, 507, 404, 507, 507, 507, 507, 507, 507, 507, + /* 3050 */ 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, + /* 3060 */ 507, 507, 507, 507, 507, 507, 443, 507, 507, 446, + /* 3070 */ 349, 507, 449, 450, 451, 452, 453, 454, 507, 456, + /* 3080 */ 507, 443, 507, 362, 446, 507, 507, 449, 450, 451, + /* 3090 */ 452, 453, 454, 507, 456, 507, 507, 507, 507, 507, + /* 3100 */ 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, + /* 3110 */ 507, 390, 507, 507, 507, 507, 507, 507, 507, 507, + /* 3120 */ 507, 507, 507, 402, 507, 404, 507, 507, 507, 507, + /* 3130 */ 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, + /* 3140 */ 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, + /* 3150 */ 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, + /* 3160 */ 507, 507, 507, 507, 443, 507, 507, 446, 507, 507, + /* 3170 */ 449, 450, 451, 452, 453, 454, 507, 456, 346, 346, + /* 3180 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3190 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3200 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3210 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3220 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3230 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3240 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3250 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3260 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3270 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3280 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3290 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3300 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3310 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3320 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3330 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3340 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3350 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3360 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3370 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3380 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3390 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3400 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3410 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3420 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3430 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3440 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3450 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3460 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3470 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3480 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3490 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3500 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3510 */ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + /* 3520 */ 346, 346, 346, 346, }; #define YY_SHIFT_COUNT (832) #define YY_SHIFT_MIN (0) -#define YY_SHIFT_MAX (2354) +#define YY_SHIFT_MAX (2378) static const unsigned short int yy_shift_ofst[] = { - /* 0 */ 1303, 0, 239, 0, 479, 479, 479, 479, 479, 479, - /* 10 */ 479, 479, 479, 479, 479, 479, 718, 957, 957, 1196, - /* 20 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, - /* 30 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, - /* 40 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, - /* 50 */ 957, 47, 240, 235, 126, 480, 483, 480, 480, 126, - /* 60 */ 126, 480, 1224, 480, 238, 1224, 1224, 251, 480, 39, - /* 70 */ 352, 182, 182, 660, 660, 352, 333, 13, 93, 93, - /* 80 */ 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, - /* 90 */ 182, 314, 495, 182, 182, 150, 39, 182, 314, 182, - /* 100 */ 510, 39, 182, 182, 39, 182, 182, 39, 182, 39, - /* 110 */ 39, 39, 182, 478, 199, 199, 259, 143, 474, 474, - /* 120 */ 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, - /* 130 */ 474, 474, 474, 474, 474, 474, 474, 427, 410, 333, - /* 140 */ 13, 883, 883, 706, 255, 255, 255, 932, 895, 895, - /* 150 */ 706, 150, 267, 39, 39, 362, 39, 574, 39, 574, - /* 160 */ 574, 549, 816, 711, 568, 568, 568, 568, 568, 568, - /* 170 */ 568, 568, 1638, 1079, 65, 432, 15, 241, 729, 19, - /* 180 */ 3, 3, 485, 974, 974, 974, 366, 863, 974, 722, - /* 190 */ 759, 924, 1074, 275, 125, 1044, 920, 409, 18, 920, - /* 200 */ 1104, 553, 819, 1120, 1344, 1356, 1380, 1191, 150, 1380, - /* 210 */ 150, 1215, 1395, 1397, 1375, 1403, 1397, 1375, 1276, 1395, - /* 220 */ 1397, 1395, 1375, 1276, 1276, 1359, 1362, 1395, 1373, 1395, - /* 230 */ 1395, 1395, 1455, 1431, 1455, 1431, 1380, 150, 150, 1467, - /* 240 */ 150, 1472, 1477, 150, 1472, 150, 1484, 150, 150, 1395, - /* 250 */ 150, 1455, 39, 39, 39, 39, 39, 39, 39, 39, - /* 260 */ 39, 39, 39, 1395, 711, 711, 1455, 574, 574, 574, - /* 270 */ 1318, 1452, 1380, 478, 1548, 1365, 1368, 1467, 478, 1120, - /* 280 */ 1395, 1403, 1403, 574, 1316, 1328, 1316, 1328, 39, 1327, - /* 290 */ 1426, 1316, 1329, 1331, 1347, 1120, 1332, 1330, 1338, 1363, - /* 300 */ 1397, 1608, 1516, 1379, 1472, 478, 478, 1328, 574, 574, - /* 310 */ 574, 574, 1328, 574, 1487, 478, 549, 478, 1397, 1571, - /* 320 */ 1576, 574, 816, 1395, 478, 1666, 1655, 1455, 2992, 2992, - /* 330 */ 2992, 2992, 2992, 2992, 2992, 2992, 2992, 36, 2191, 544, - /* 340 */ 30, 494, 269, 634, 632, 796, 873, 645, 789, 212, - /* 350 */ 212, 212, 212, 212, 212, 212, 212, 212, 621, 149, - /* 360 */ 290, 654, 654, 81, 177, 734, 416, 815, 475, 981, - /* 370 */ 918, 950, 950, 1110, 1112, 626, 1110, 1110, 1110, 1132, - /* 380 */ 813, 328, 592, 1109, 1049, 1179, 968, 1108, 1115, 1123, - /* 390 */ 1007, 1176, 1221, 1228, 1234, 1024, 1140, 1209, 870, 1211, - /* 400 */ 1212, 1216, 1087, 1086, 983, 1225, 1233, 1235, 1238, 1239, - /* 410 */ 1241, 1252, 1243, 1169, 1244, 1192, 1245, 1246, 1247, 1259, - /* 420 */ 1260, 1267, 1142, 1218, 1250, 1257, 1268, 1232, 1306, 1712, - /* 430 */ 1713, 1714, 1670, 1717, 1683, 1498, 1685, 1686, 1687, 1502, - /* 440 */ 1726, 1690, 1691, 1506, 1693, 1732, 1510, 1735, 1699, 1745, - /* 450 */ 1727, 1748, 1715, 1532, 1753, 1552, 1754, 1556, 1567, 1575, - /* 460 */ 1578, 1777, 1779, 1780, 1587, 1589, 1783, 1784, 1640, 1736, - /* 470 */ 1739, 1789, 1755, 1740, 1790, 1744, 1794, 1750, 1796, 1797, - /* 480 */ 1798, 1752, 1799, 1802, 1805, 1812, 1819, 1820, 1654, 1785, - /* 490 */ 1816, 1660, 1823, 1824, 1827, 1829, 1830, 1831, 1832, 1833, - /* 500 */ 1834, 1835, 1836, 1837, 1839, 1840, 1841, 1842, 1843, 1800, - /* 510 */ 1846, 1803, 1847, 1850, 1852, 1853, 1854, 1855, 1856, 1844, - /* 520 */ 1862, 1711, 1863, 1718, 1865, 1723, 1869, 1871, 1860, 1822, - /* 530 */ 1861, 1838, 1885, 1825, 1849, 1890, 1848, 1895, 1851, 1896, - /* 540 */ 1897, 1873, 1866, 1857, 1900, 1876, 1867, 1872, 1902, 1882, - /* 550 */ 1870, 1878, 1923, 1887, 1925, 1881, 1886, 1898, 1884, 1888, - /* 560 */ 1915, 1899, 1930, 1903, 1907, 1950, 1951, 1952, 1953, 1912, - /* 570 */ 1766, 1959, 1884, 1908, 1961, 1962, 1892, 1964, 1965, 1929, - /* 580 */ 1916, 1926, 1969, 1933, 1920, 1932, 1972, 1939, 1928, 1935, - /* 590 */ 1980, 1954, 1936, 1947, 1990, 1992, 1993, 1994, 1995, 1996, - /* 600 */ 1904, 1905, 1974, 1976, 1999, 1975, 1977, 1982, 1983, 1984, - /* 610 */ 1985, 1986, 1987, 1997, 1998, 1989, 1991, 2005, 2000, 2002, - /* 620 */ 2007, 2009, 2010, 1963, 2033, 2012, 2003, 2035, 2036, 2039, - /* 630 */ 2004, 2042, 2006, 2044, 2023, 2026, 2011, 2013, 2015, 1940, - /* 640 */ 1945, 2053, 1891, 1966, 1868, 1884, 2021, 2056, 1901, 2022, - /* 650 */ 2052, 2058, 1874, 2054, 1906, 1910, 2077, 2081, 1909, 1913, - /* 660 */ 1911, 1914, 2079, 2055, 1811, 1988, 1978, 2001, 2043, 2008, - /* 670 */ 2045, 2016, 2017, 2059, 2064, 2027, 2029, 2031, 2032, 2034, - /* 680 */ 2067, 2037, 2057, 2038, 2068, 1845, 2040, 2041, 2099, 2071, - /* 690 */ 1879, 2074, 2076, 2084, 2086, 2102, 2103, 2046, 2047, 2060, - /* 700 */ 1877, 2083, 2065, 2105, 2150, 2061, 2104, 2062, 2063, 2070, - /* 710 */ 2066, 2073, 2018, 2075, 2169, 2123, 2019, 2080, 2087, 1884, - /* 720 */ 2122, 2141, 2078, 1931, 2085, 2176, 2158, 1955, 2082, 2089, - /* 730 */ 2092, 2094, 2097, 2098, 2159, 2101, 2106, 2160, 2108, 2188, - /* 740 */ 1981, 2124, 2095, 2125, 2192, 2194, 2127, 2128, 2197, 2130, - /* 750 */ 2131, 2200, 2133, 2136, 2203, 2138, 2139, 2208, 2142, 2147, - /* 760 */ 2212, 2152, 2135, 2144, 2145, 2148, 2167, 2223, 2168, 2239, - /* 770 */ 2171, 2223, 2223, 2256, 2209, 2214, 2245, 2248, 2249, 2250, - /* 780 */ 2251, 2252, 2253, 2254, 2255, 2202, 2193, 2261, 2260, 2264, - /* 790 */ 2265, 2273, 2267, 2275, 2277, 2221, 1997, 2278, 1998, 2279, - /* 800 */ 2280, 2282, 2283, 2299, 2286, 2324, 2289, 2285, 2292, 2337, - /* 810 */ 2301, 2288, 2300, 2341, 2306, 2293, 2303, 2347, 2311, 2298, - /* 820 */ 2308, 2351, 2315, 2316, 2354, 2333, 2323, 2335, 2338, 2339, - /* 830 */ 2342, 2344, 2346, + /* 0 */ 391, 0, 240, 0, 481, 481, 481, 481, 481, 481, + /* 10 */ 481, 481, 481, 481, 481, 481, 721, 961, 961, 1201, + /* 20 */ 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, + /* 30 */ 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, + /* 40 */ 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, + /* 50 */ 961, 93, 162, 152, 47, 278, 343, 278, 278, 47, + /* 60 */ 47, 278, 1319, 278, 239, 1319, 1319, 281, 278, 28, + /* 70 */ 595, 67, 67, 931, 931, 595, 87, 291, 126, 126, + /* 80 */ 173, 67, 67, 67, 67, 67, 67, 67, 67, 67, + /* 90 */ 67, 67, 84, 148, 67, 67, 187, 28, 67, 84, + /* 100 */ 67, 28, 67, 67, 28, 67, 67, 28, 67, 28, + /* 110 */ 28, 28, 67, 368, 439, 439, 242, 546, 569, 569, + /* 120 */ 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, + /* 130 */ 569, 569, 569, 569, 569, 569, 569, 189, 602, 87, + /* 140 */ 291, 1024, 1024, 150, 268, 268, 268, 678, 336, 336, + /* 150 */ 150, 187, 221, 28, 28, 260, 28, 373, 28, 373, + /* 160 */ 373, 486, 613, 705, 89, 89, 89, 89, 89, 89, + /* 170 */ 89, 89, 504, 441, 65, 453, 15, 313, 606, 19, + /* 180 */ 322, 516, 3, 3, 527, 983, 770, 303, 303, 303, + /* 190 */ 502, 303, 800, 1100, 1, 694, 618, 650, 1, 1, + /* 200 */ 808, 1009, 538, 988, 1009, 1261, 741, 1191, 1414, 1428, + /* 210 */ 1453, 1275, 187, 1453, 187, 1307, 1485, 1487, 1463, 1487, + /* 220 */ 1463, 1338, 1485, 1487, 1485, 1463, 1338, 1338, 1419, 1424, + /* 230 */ 1485, 1429, 1485, 1485, 1485, 1514, 1489, 1514, 1489, 1453, + /* 240 */ 187, 187, 1526, 187, 1531, 1533, 187, 1531, 187, 1539, + /* 250 */ 187, 187, 1485, 187, 1514, 28, 28, 28, 28, 28, + /* 260 */ 28, 28, 28, 28, 28, 28, 1485, 705, 705, 1514, + /* 270 */ 373, 373, 373, 1364, 1498, 1453, 368, 1596, 1413, 1415, + /* 280 */ 1526, 368, 1191, 1485, 373, 1345, 1350, 1345, 1350, 1351, + /* 290 */ 1447, 1345, 1362, 1375, 1386, 1191, 1368, 1373, 1381, 1406, + /* 300 */ 1487, 1656, 1561, 1418, 1531, 368, 368, 1350, 373, 373, + /* 310 */ 373, 373, 1350, 373, 1525, 368, 486, 368, 1487, 1616, + /* 320 */ 1620, 373, 613, 1485, 368, 1712, 1697, 1514, 3178, 3178, + /* 330 */ 3178, 3178, 3178, 3178, 3178, 3178, 3178, 36, 881, 786, + /* 340 */ 30, 825, 1043, 1063, 625, 413, 661, 1103, 877, 1271, + /* 350 */ 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 635, 716, + /* 360 */ 318, 363, 363, 355, 358, 445, 870, 867, 1146, 1202, + /* 370 */ 1006, 1021, 1021, 1211, 1183, 382, 1211, 1211, 1211, 1288, + /* 380 */ 1106, 462, 1066, 1265, 1180, 1291, 1190, 1214, 1216, 1226, + /* 390 */ 1324, 1327, 1292, 1336, 1347, 974, 1267, 1346, 477, 1348, + /* 400 */ 1349, 1353, 1228, 1102, 8, 1354, 1356, 1359, 1361, 1367, + /* 410 */ 1378, 1371, 1374, 714, 1379, 155, 1384, 1385, 1388, 1390, + /* 420 */ 1391, 1393, 1253, 1213, 1225, 1382, 1397, 1051, 1094, 1745, + /* 430 */ 1752, 1764, 1720, 1767, 1732, 1547, 1734, 1737, 1738, 1553, + /* 440 */ 1777, 1741, 1743, 1558, 1746, 1782, 1563, 1784, 1760, 1789, + /* 450 */ 1779, 1799, 1766, 1587, 1806, 1602, 1809, 1604, 1605, 1611, + /* 460 */ 1615, 1814, 1815, 1816, 1623, 1625, 1820, 1822, 1676, 1775, + /* 470 */ 1776, 1826, 1790, 1778, 1830, 1783, 1831, 1791, 1835, 1837, + /* 480 */ 1838, 1792, 1839, 1844, 1845, 1847, 1848, 1855, 1696, 1821, + /* 490 */ 1859, 1700, 1862, 1864, 1865, 1872, 1874, 1875, 1876, 1877, + /* 500 */ 1878, 1879, 1882, 1883, 1893, 1895, 1896, 1897, 1898, 1851, + /* 510 */ 1901, 1857, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1890, + /* 520 */ 1914, 1768, 1916, 1771, 1918, 1774, 1920, 1921, 1900, 1873, + /* 530 */ 1902, 1881, 1925, 1869, 1891, 1929, 1870, 1935, 1884, 1936, + /* 540 */ 1937, 1903, 1887, 1904, 1942, 1912, 1892, 1913, 1945, 1915, + /* 550 */ 1899, 1919, 1947, 1923, 1951, 1917, 1922, 1930, 1924, 1926, + /* 560 */ 1939, 1927, 1956, 1928, 1932, 1958, 1965, 1967, 1969, 1940, + /* 570 */ 1781, 1972, 1924, 1943, 1977, 1978, 1931, 1979, 1984, 1959, + /* 580 */ 1944, 1961, 2000, 1964, 1953, 1963, 2006, 1971, 1960, 1970, + /* 590 */ 2009, 1982, 1973, 1983, 2021, 2023, 2026, 2027, 2028, 2029, + /* 600 */ 1938, 1941, 1993, 1976, 2031, 1995, 1996, 2002, 2003, 2005, + /* 610 */ 2013, 2018, 2019, 2004, 2010, 2020, 2022, 2038, 2024, 2035, + /* 620 */ 2036, 2062, 2041, 2011, 2065, 2044, 2032, 2068, 2070, 2071, + /* 630 */ 2037, 2072, 2039, 2073, 2055, 2060, 2050, 2052, 2054, 1986, + /* 640 */ 1988, 2096, 1933, 1991, 1894, 1924, 2049, 2101, 1934, 2066, + /* 650 */ 2080, 2104, 1946, 2083, 1948, 1949, 2106, 2108, 1950, 1954, + /* 660 */ 1955, 1957, 2107, 2081, 1840, 2012, 2008, 2015, 2067, 2025, + /* 670 */ 2069, 2042, 2016, 2092, 2094, 2017, 2034, 2040, 2043, 2046, + /* 680 */ 2098, 2089, 2111, 2056, 2112, 1843, 2057, 2059, 2138, 2134, + /* 690 */ 1974, 2132, 2133, 2135, 2137, 2148, 2150, 2064, 2082, 2142, + /* 700 */ 1952, 2161, 2146, 2143, 2196, 2093, 2155, 2095, 2097, 2099, + /* 710 */ 2102, 2103, 2030, 2105, 2200, 2160, 2033, 2109, 2088, 1924, + /* 720 */ 2165, 2187, 2117, 1975, 2128, 2208, 2211, 2045, 2130, 2136, + /* 730 */ 2139, 2144, 2154, 2156, 2201, 2158, 2159, 2212, 2162, 2240, + /* 740 */ 2047, 2167, 2151, 2164, 2229, 2231, 2168, 2170, 2241, 2173, + /* 750 */ 2174, 2245, 2178, 2176, 2248, 2180, 2182, 2250, 2185, 2186, + /* 760 */ 2255, 2188, 2169, 2171, 2172, 2175, 2189, 2264, 2194, 2266, + /* 770 */ 2195, 2264, 2264, 2282, 2234, 2236, 2270, 2271, 2272, 2275, + /* 780 */ 2276, 2278, 2279, 2286, 2288, 2233, 2226, 2294, 2291, 2296, + /* 790 */ 2297, 2309, 2304, 2307, 2308, 2269, 2004, 2311, 2010, 2312, + /* 800 */ 2313, 2314, 2315, 2331, 2317, 2355, 2319, 2306, 2316, 2359, + /* 810 */ 2324, 2318, 2320, 2364, 2328, 2321, 2325, 2366, 2333, 2322, + /* 820 */ 2326, 2374, 2338, 2340, 2378, 2357, 2347, 2360, 2363, 2365, + /* 830 */ 2367, 2369, 2361, }; #define YY_REDUCE_COUNT (336) -#define YY_REDUCE_MIN (-422) -#define YY_REDUCE_MAX (2536) +#define YY_REDUCE_MIN (-423) +#define YY_REDUCE_MAX (2721) static const short yy_reduce_ofst[] = { - /* 0 */ 907, -301, 145, -24, 178, 385, 417, 623, 656, 862, - /* 10 */ 455, 1100, 1135, 1158, 1193, 1289, 1315, -82, 1358, 1425, - /* 20 */ 1456, 1490, 1533, 1555, 1612, 1677, 1707, 1742, 1772, 1815, - /* 30 */ 1858, 1880, 1957, 1979, 2014, 2050, 2072, 2129, 2146, 2165, - /* 40 */ 2222, 2242, 2258, 2328, 2364, 2398, 2421, 2478, 2493, 2514, - /* 50 */ 2536, -278, -338, -422, -170, -420, 514, 643, 790, 89, - /* 60 */ 144, 860, 386, 446, -307, 542, 598, 54, 435, -378, - /* 70 */ 162, -355, 439, -287, -177, -86, -101, -193, 279, 320, - /* 80 */ -311, -276, 374, 468, -89, 59, 493, 613, 620, 622, - /* 90 */ 264, 457, 447, 647, 662, 222, -348, 668, 612, 670, - /* 100 */ -132, -109, 672, 675, -380, 678, 701, 348, 732, -202, - /* 110 */ 453, -127, 735, -69, -402, -402, -370, -209, -314, -26, - /* 120 */ 152, 363, 391, 442, 454, 477, 498, 589, 597, 665, - /* 130 */ 749, 755, 762, 773, 779, 780, 783, -184, 205, 114, - /* 140 */ 373, 640, 770, 695, 205, 403, 609, -207, 686, 707, - /* 150 */ 787, 9, 511, 636, 778, -194, 306, 283, 822, 393, - /* 160 */ 473, 219, 535, 825, 872, 892, 893, 899, 905, 906, - /* 170 */ 913, 905, 867, -368, 959, 911, 826, 827, 969, 849, - /* 180 */ 964, 972, 1000, 871, 885, 886, 973, 941, 890, 973, - /* 190 */ 1001, 961, 1022, 985, 955, 975, 912, 912, 894, 912, - /* 200 */ 919, 914, 973, 967, 953, 958, 970, 971, 1036, 977, - /* 210 */ 1041, 987, 1056, 1058, 1011, 1014, 1064, 1039, 1045, 1093, - /* 220 */ 1095, 1097, 1048, 1052, 1053, 1089, 1094, 1105, 1106, 1116, - /* 230 */ 1118, 1119, 1127, 1125, 1131, 1128, 1050, 1121, 1122, 1085, - /* 240 */ 1130, 1138, 1076, 1136, 1145, 1139, 1092, 1141, 1144, 1154, - /* 250 */ 1146, 1163, 1129, 1134, 1137, 1148, 1150, 1151, 1155, 1157, - /* 260 */ 1167, 1168, 1174, 1160, 1166, 1170, 1180, 1126, 1133, 1164, - /* 270 */ 1103, 1143, 1153, 1197, 1156, 1159, 1147, 1171, 1205, 1173, - /* 280 */ 1213, 1161, 1162, 1177, 1114, 1186, 1149, 1195, 973, 1152, - /* 290 */ 1165, 1181, 1172, 1175, 1182, 1194, 1117, 1124, 1183, 912, - /* 300 */ 1269, 1184, 1185, 1189, 1271, 1282, 1284, 1217, 1253, 1261, - /* 310 */ 1270, 1273, 1242, 1274, 1254, 1286, 1285, 1305, 1319, 1214, - /* 320 */ 1290, 1283, 1307, 1325, 1320, 1341, 1340, 1342, 1275, 1264, - /* 330 */ 1287, 1288, 1313, 1322, 1326, 1343, 1364, + /* 0 */ -149, -302, 387, 199, 419, 646, 680, 866, 899, 1026, + /* 10 */ 457, 1134, 1192, 1229, 1262, 1305, -84, 1342, 1400, 1417, + /* 20 */ 1438, 1537, 1564, 1595, 1632, 1705, 1730, 1773, 1803, 1788, + /* 30 */ 1868, 1886, 1981, 1998, 2014, 2091, 2110, 2177, 2206, 2235, + /* 40 */ 2273, 2330, 2348, 2405, 2425, 2441, 2540, 2556, 2623, 2638, + /* 50 */ 2721, -189, -339, -423, 163, -421, 525, 676, 685, 279, + /* 60 */ 321, 744, -176, -311, -308, 536, 787, 674, 756, -379, + /* 70 */ -248, -356, -192, -288, 4, -244, -329, 39, 181, 383, + /* 80 */ -306, -312, -31, 138, 198, -328, -137, 246, 325, 426, + /* 90 */ 464, -107, 75, -223, 470, 531, -91, 491, 623, 443, + /* 100 */ 626, 494, 658, 662, -381, 673, 684, 600, 712, 476, + /* 110 */ 604, 651, 724, 236, -54, -54, -371, 282, 115, 305, + /* 120 */ 393, 433, 454, 493, 545, 573, 578, 597, 772, 778, + /* 130 */ 818, 845, 880, 893, 895, 906, 911, 161, -293, -123, + /* 140 */ 398, 535, 773, 561, -293, -129, 360, 300, 455, 704, + /* 150 */ 749, -98, 116, 266, 544, -400, 861, 833, 847, 865, + /* 160 */ 872, 883, 776, 920, 499, 548, 656, 669, 692, 863, + /* 170 */ 902, 692, 562, -369, 971, 801, 380, 817, 992, 876, + /* 180 */ 975, 975, 998, 1002, 976, 1037, 987, 905, 910, 912, + /* 190 */ 980, 913, 975, 1044, 993, 1052, 1014, 995, 1005, 1039, + /* 200 */ 975, 952, 952, 959, 952, 989, 979, 1038, 1022, 1027, + /* 210 */ 1047, 1048, 1129, 1064, 1132, 1076, 1145, 1147, 1099, 1149, + /* 220 */ 1101, 1107, 1153, 1154, 1157, 1109, 1113, 1114, 1151, 1155, + /* 230 */ 1166, 1159, 1168, 1171, 1172, 1181, 1179, 1186, 1184, 1108, + /* 240 */ 1173, 1174, 1143, 1178, 1189, 1128, 1187, 1193, 1188, 1142, + /* 250 */ 1200, 1203, 1210, 1204, 1207, 1182, 1185, 1199, 1208, 1209, + /* 260 */ 1215, 1217, 1218, 1219, 1220, 1222, 1231, 1224, 1227, 1239, + /* 270 */ 1160, 1198, 1212, 1162, 1167, 1176, 1247, 1194, 1195, 1206, + /* 280 */ 1221, 1252, 1196, 1260, 1230, 1140, 1236, 1148, 1237, 1139, + /* 290 */ 1152, 1161, 1164, 1177, 1205, 1242, 1163, 1170, 1175, 952, + /* 300 */ 1289, 1238, 1240, 1223, 1321, 1322, 1325, 1269, 1296, 1297, + /* 310 */ 1298, 1299, 1274, 1301, 1294, 1352, 1331, 1355, 1357, 1258, + /* 320 */ 1333, 1326, 1358, 1370, 1365, 1389, 1387, 1383, 1310, 1303, + /* 330 */ 1315, 1329, 1363, 1369, 1376, 1394, 1396, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 10 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 20 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 30 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 40 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 50 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 60 */ 1866, 2198, 1866, 1866, 2161, 1866, 1866, 1866, 1866, 1866, - /* 70 */ 1866, 1866, 1866, 1866, 1866, 1866, 2168, 1866, 1866, 1866, - /* 80 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 90 */ 1866, 1866, 1866, 1866, 1866, 1963, 1866, 1866, 1866, 1866, - /* 100 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 110 */ 1866, 1866, 1866, 1961, 2397, 1866, 1866, 1866, 1866, 1866, - /* 120 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 130 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 2409, 1866, - /* 140 */ 1866, 1937, 1937, 1866, 2409, 2409, 2409, 1961, 2369, 2369, - /* 150 */ 1866, 1963, 2236, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 160 */ 1866, 2085, 1866, 1896, 1866, 1866, 1866, 1866, 2109, 1866, - /* 170 */ 1866, 1866, 2224, 1866, 1866, 2438, 2498, 1866, 1866, 2441, - /* 180 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 190 */ 1866, 2173, 1866, 2038, 2218, 2428, 2401, 2415, 2482, 2402, - /* 200 */ 2399, 2422, 1866, 2432, 1866, 2260, 1866, 2250, 1963, 1866, - /* 210 */ 1963, 2211, 2156, 1866, 2166, 1866, 1866, 2166, 2163, 1866, - /* 220 */ 1866, 1866, 2166, 2163, 2163, 2027, 2023, 1866, 2021, 1866, - /* 230 */ 1866, 1866, 1866, 1921, 1866, 1921, 1866, 1963, 1963, 1866, - /* 240 */ 1963, 1866, 1866, 1963, 1866, 1963, 1866, 1963, 1963, 1866, - /* 250 */ 1963, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 260 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 270 */ 2248, 2234, 1866, 1961, 1866, 2222, 2220, 1866, 1961, 2432, - /* 280 */ 1866, 1866, 1866, 1866, 2452, 2447, 2452, 2447, 1866, 2466, - /* 290 */ 2462, 2452, 2471, 2468, 2434, 2432, 2501, 2488, 2484, 2415, - /* 300 */ 1866, 1866, 2420, 2418, 1866, 1961, 1961, 2447, 1866, 1866, - /* 310 */ 1866, 1866, 2447, 1866, 1866, 1961, 1866, 1961, 1866, 1866, - /* 320 */ 2054, 1866, 1866, 1866, 1961, 1866, 1905, 1866, 2213, 2239, - /* 330 */ 2194, 2194, 2088, 2088, 2088, 1964, 1871, 1866, 1866, 1866, - /* 340 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 2465, - /* 350 */ 2464, 2324, 1866, 2373, 2372, 2371, 2362, 2323, 2050, 1866, - /* 360 */ 1866, 2322, 2321, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 370 */ 1866, 2185, 2184, 2315, 1866, 1866, 2316, 2314, 2313, 1866, - /* 380 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 390 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 400 */ 1866, 1866, 1866, 2485, 2489, 1866, 1866, 1866, 1866, 1866, - /* 410 */ 1866, 2398, 1866, 1866, 1866, 2296, 1866, 1866, 1866, 1866, - /* 420 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 430 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 440 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 450 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 460 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 2162, 1866, - /* 470 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 480 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 490 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 500 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 510 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 520 */ 1866, 1866, 1866, 1866, 1866, 2177, 1866, 1866, 1866, 1866, - /* 530 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 540 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 550 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1910, 2302, 1866, - /* 560 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 570 */ 1866, 1866, 2305, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 580 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 590 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 600 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 610 */ 1866, 1866, 1866, 2003, 2002, 1866, 1866, 1866, 1866, 1866, - /* 620 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 630 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 2306, - /* 640 */ 1866, 1866, 1866, 1866, 1866, 2298, 1866, 1866, 1866, 1866, - /* 650 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 660 */ 1866, 1866, 2481, 2435, 1866, 1866, 1866, 1866, 1866, 1866, - /* 670 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 680 */ 1866, 1866, 2296, 1866, 2463, 1866, 1866, 2479, 1866, 2483, - /* 690 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 2408, 2404, 1866, - /* 700 */ 1866, 2400, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 710 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 2295, - /* 720 */ 1866, 2359, 1866, 1866, 1866, 2393, 1866, 1866, 2344, 1866, - /* 730 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 2306, 1866, - /* 740 */ 2309, 1866, 1866, 1866, 1866, 1866, 2082, 1866, 1866, 1866, - /* 750 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 760 */ 1866, 1866, 2066, 2064, 2063, 2062, 1866, 2095, 1866, 1866, - /* 770 */ 1866, 2091, 2090, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 780 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1982, 1866, 1866, - /* 790 */ 1866, 1866, 1866, 1866, 1866, 1866, 1974, 1866, 1973, 1866, - /* 800 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 810 */ 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - /* 820 */ 1866, 1866, 1866, 1866, 1866, 1866, 1895, 1866, 1866, 1866, - /* 830 */ 1866, 1866, 1866, + /* 0 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 10 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 20 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 30 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 40 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 50 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 60 */ 1872, 2204, 1872, 1872, 2167, 1872, 1872, 1872, 1872, 1872, + /* 70 */ 1872, 1872, 1872, 1872, 1872, 1872, 2174, 1872, 1872, 1872, + /* 80 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 90 */ 1872, 1872, 1872, 1872, 1872, 1872, 1969, 1872, 1872, 1872, + /* 100 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 110 */ 1872, 1872, 1872, 1967, 2406, 1872, 1872, 1872, 1872, 1872, + /* 120 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 130 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 2418, 1872, + /* 140 */ 1872, 1943, 1943, 1872, 2418, 2418, 2418, 1967, 2378, 2378, + /* 150 */ 1872, 1969, 2242, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 160 */ 1872, 2091, 1872, 1902, 1872, 1872, 1872, 1872, 2115, 1872, + /* 170 */ 1872, 1872, 2230, 1872, 1872, 2447, 2507, 1872, 1872, 2450, + /* 180 */ 1872, 1872, 1872, 1872, 2179, 1872, 2437, 1872, 1872, 1872, + /* 190 */ 1872, 1872, 1872, 1872, 1872, 1872, 2044, 2224, 1872, 1872, + /* 200 */ 1872, 2410, 2424, 2491, 2411, 2408, 2431, 2441, 1872, 2266, + /* 210 */ 1872, 2256, 1969, 1872, 1969, 2217, 2162, 1872, 2172, 1872, + /* 220 */ 2172, 2169, 1872, 1872, 1872, 2172, 2169, 2169, 2033, 2029, + /* 230 */ 1872, 2027, 1872, 1872, 1872, 1872, 1927, 1872, 1927, 1872, + /* 240 */ 1969, 1969, 1872, 1969, 1872, 1872, 1969, 1872, 1969, 1872, + /* 250 */ 1969, 1969, 1872, 1969, 1872, 1872, 1872, 1872, 1872, 1872, + /* 260 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 270 */ 1872, 1872, 1872, 2254, 2240, 1872, 1967, 1872, 2228, 2226, + /* 280 */ 1872, 1967, 2441, 1872, 1872, 2461, 2456, 2461, 2456, 2475, + /* 290 */ 2471, 2461, 2480, 2477, 2443, 2441, 2510, 2497, 2493, 2424, + /* 300 */ 1872, 1872, 2429, 2427, 1872, 1967, 1967, 2456, 1872, 1872, + /* 310 */ 1872, 1872, 2456, 1872, 1872, 1967, 1872, 1967, 1872, 1872, + /* 320 */ 2060, 1872, 1872, 1872, 1967, 1872, 1911, 1872, 2219, 2245, + /* 330 */ 2200, 2200, 2094, 2094, 2094, 1970, 1877, 1872, 1872, 1872, + /* 340 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 2474, + /* 350 */ 2473, 2331, 1872, 2382, 2381, 2380, 2371, 2330, 2056, 1872, + /* 360 */ 1872, 2329, 2328, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 370 */ 1872, 2191, 2190, 2322, 1872, 1872, 2323, 2321, 2320, 1872, + /* 380 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 390 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 400 */ 1872, 1872, 1872, 2494, 2498, 1872, 1872, 1872, 1872, 1872, + /* 410 */ 1872, 2407, 1872, 1872, 1872, 2302, 1872, 1872, 1872, 1872, + /* 420 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 430 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 440 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 450 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 460 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 2168, 1872, + /* 470 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 480 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 490 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 500 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 510 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 520 */ 1872, 1872, 1872, 1872, 1872, 2183, 1872, 1872, 1872, 1872, + /* 530 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 540 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 550 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1916, 2309, 1872, + /* 560 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 570 */ 1872, 1872, 2312, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 580 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 590 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 600 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 610 */ 1872, 1872, 1872, 2009, 2008, 1872, 1872, 1872, 1872, 1872, + /* 620 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 630 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 2313, + /* 640 */ 1872, 1872, 1872, 1872, 1872, 2304, 1872, 1872, 1872, 1872, + /* 650 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 660 */ 1872, 1872, 2490, 2444, 1872, 1872, 1872, 1872, 1872, 1872, + /* 670 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 680 */ 1872, 1872, 2302, 1872, 2472, 1872, 1872, 2488, 1872, 2492, + /* 690 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 2417, 2413, 1872, + /* 700 */ 1872, 2409, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 710 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 2301, + /* 720 */ 1872, 2368, 1872, 1872, 1872, 2402, 1872, 1872, 2353, 1872, + /* 730 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 2313, 1872, + /* 740 */ 2316, 1872, 1872, 1872, 1872, 1872, 2088, 1872, 1872, 1872, + /* 750 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 760 */ 1872, 1872, 2072, 2070, 2069, 2068, 1872, 2101, 1872, 1872, + /* 770 */ 1872, 2097, 2096, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 780 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1988, 1872, 1872, + /* 790 */ 1872, 1872, 1872, 1872, 1872, 1872, 1980, 1872, 1979, 1872, + /* 800 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 810 */ 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + /* 820 */ 1872, 1872, 1872, 1872, 1872, 1872, 1901, 1872, 1872, 1872, + /* 830 */ 1872, 1872, 1872, }; /********** End of lemon-generated parsing tables *****************************/ @@ -1195,7 +1232,7 @@ static const YYCODETYPE yyFallback[] = { 0, /* BWLIMIT => nothing */ 0, /* START => nothing */ 0, /* TIMESTAMP => nothing */ - 295, /* END => ABORT */ + 296, /* END => ABORT */ 0, /* TABLE => nothing */ 0, /* NK_LP => nothing */ 0, /* NK_RP => nothing */ @@ -1263,7 +1300,7 @@ static const YYCODETYPE yyFallback[] = { 0, /* VNODES => nothing */ 0, /* ALIVE => nothing */ 0, /* VIEWS => nothing */ - 295, /* VIEW => ABORT */ + 296, /* VIEW => ABORT */ 0, /* NORMAL => nothing */ 0, /* CHILD => nothing */ 0, /* LIKE => nothing */ @@ -1323,6 +1360,7 @@ static const YYCODETYPE yyFallback[] = { 0, /* INSERT => nothing */ 0, /* NULL => nothing */ 0, /* NK_QUESTION => nothing */ + 0, /* NK_ALIAS => nothing */ 0, /* NK_ARROW => nothing */ 0, /* ROWTS => nothing */ 0, /* QSTART => nothing */ @@ -1387,55 +1425,55 @@ static const YYCODETYPE yyFallback[] = { 0, /* ASC => nothing */ 0, /* NULLS => nothing */ 0, /* ABORT => nothing */ - 295, /* AFTER => ABORT */ - 295, /* ATTACH => ABORT */ - 295, /* BEFORE => ABORT */ - 295, /* BEGIN => ABORT */ - 295, /* BITAND => ABORT */ - 295, /* BITNOT => ABORT */ - 295, /* BITOR => ABORT */ - 295, /* BLOCKS => ABORT */ - 295, /* CHANGE => ABORT */ - 295, /* COMMA => ABORT */ - 295, /* CONCAT => ABORT */ - 295, /* CONFLICT => ABORT */ - 295, /* COPY => ABORT */ - 295, /* DEFERRED => ABORT */ - 295, /* DELIMITERS => ABORT */ - 295, /* DETACH => ABORT */ - 295, /* DIVIDE => ABORT */ - 295, /* DOT => ABORT */ - 295, /* EACH => ABORT */ - 295, /* FAIL => ABORT */ - 295, /* FILE => ABORT */ - 295, /* FOR => ABORT */ - 295, /* GLOB => ABORT */ - 295, /* ID => ABORT */ - 295, /* IMMEDIATE => ABORT */ - 295, /* IMPORT => ABORT */ - 295, /* INITIALLY => ABORT */ - 295, /* INSTEAD => ABORT */ - 295, /* ISNULL => ABORT */ - 295, /* KEY => ABORT */ - 295, /* MODULES => ABORT */ - 295, /* NK_BITNOT => ABORT */ - 295, /* NK_SEMI => ABORT */ - 295, /* NOTNULL => ABORT */ - 295, /* OF => ABORT */ - 295, /* PLUS => ABORT */ - 295, /* PRIVILEGE => ABORT */ - 295, /* RAISE => ABORT */ - 295, /* RESTRICT => ABORT */ - 295, /* ROW => ABORT */ - 295, /* SEMI => ABORT */ - 295, /* STAR => ABORT */ - 295, /* STATEMENT => ABORT */ - 295, /* STRICT => ABORT */ - 295, /* STRING => ABORT */ - 295, /* TIMES => ABORT */ - 295, /* VALUES => ABORT */ - 295, /* VARIABLE => ABORT */ - 295, /* WAL => ABORT */ + 296, /* AFTER => ABORT */ + 296, /* ATTACH => ABORT */ + 296, /* BEFORE => ABORT */ + 296, /* BEGIN => ABORT */ + 296, /* BITAND => ABORT */ + 296, /* BITNOT => ABORT */ + 296, /* BITOR => ABORT */ + 296, /* BLOCKS => ABORT */ + 296, /* CHANGE => ABORT */ + 296, /* COMMA => ABORT */ + 296, /* CONCAT => ABORT */ + 296, /* CONFLICT => ABORT */ + 296, /* COPY => ABORT */ + 296, /* DEFERRED => ABORT */ + 296, /* DELIMITERS => ABORT */ + 296, /* DETACH => ABORT */ + 296, /* DIVIDE => ABORT */ + 296, /* DOT => ABORT */ + 296, /* EACH => ABORT */ + 296, /* FAIL => ABORT */ + 296, /* FILE => ABORT */ + 296, /* FOR => ABORT */ + 296, /* GLOB => ABORT */ + 296, /* ID => ABORT */ + 296, /* IMMEDIATE => ABORT */ + 296, /* IMPORT => ABORT */ + 296, /* INITIALLY => ABORT */ + 296, /* INSTEAD => ABORT */ + 296, /* ISNULL => ABORT */ + 296, /* KEY => ABORT */ + 296, /* MODULES => ABORT */ + 296, /* NK_BITNOT => ABORT */ + 296, /* NK_SEMI => ABORT */ + 296, /* NOTNULL => ABORT */ + 296, /* OF => ABORT */ + 296, /* PLUS => ABORT */ + 296, /* PRIVILEGE => ABORT */ + 296, /* RAISE => ABORT */ + 296, /* RESTRICT => ABORT */ + 296, /* ROW => ABORT */ + 296, /* SEMI => ABORT */ + 296, /* STAR => ABORT */ + 296, /* STATEMENT => ABORT */ + 296, /* STRICT => ABORT */ + 296, /* STRING => ABORT */ + 296, /* TIMES => ABORT */ + 296, /* VALUES => ABORT */ + 296, /* VARIABLE => ABORT */ + 296, /* WAL => ABORT */ }; #endif /* YYFALLBACK */ @@ -1755,280 +1793,281 @@ static const char *const yyTokenName[] = { /* 229 */ "INSERT", /* 230 */ "NULL", /* 231 */ "NK_QUESTION", - /* 232 */ "NK_ARROW", - /* 233 */ "ROWTS", - /* 234 */ "QSTART", - /* 235 */ "QEND", - /* 236 */ "QDURATION", - /* 237 */ "WSTART", - /* 238 */ "WEND", - /* 239 */ "WDURATION", - /* 240 */ "IROWTS", - /* 241 */ "ISFILLED", - /* 242 */ "CAST", - /* 243 */ "NOW", - /* 244 */ "TODAY", - /* 245 */ "TIMEZONE", - /* 246 */ "CLIENT_VERSION", - /* 247 */ "SERVER_VERSION", - /* 248 */ "SERVER_STATUS", - /* 249 */ "CURRENT_USER", - /* 250 */ "CASE", - /* 251 */ "WHEN", - /* 252 */ "THEN", - /* 253 */ "ELSE", - /* 254 */ "BETWEEN", - /* 255 */ "IS", - /* 256 */ "NK_LT", - /* 257 */ "NK_GT", - /* 258 */ "NK_LE", - /* 259 */ "NK_GE", - /* 260 */ "NK_NE", - /* 261 */ "MATCH", - /* 262 */ "NMATCH", - /* 263 */ "CONTAINS", - /* 264 */ "IN", - /* 265 */ "JOIN", - /* 266 */ "INNER", - /* 267 */ "SELECT", - /* 268 */ "NK_HINT", - /* 269 */ "DISTINCT", - /* 270 */ "WHERE", - /* 271 */ "PARTITION", - /* 272 */ "BY", - /* 273 */ "SESSION", - /* 274 */ "STATE_WINDOW", - /* 275 */ "EVENT_WINDOW", - /* 276 */ "SLIDING", - /* 277 */ "FILL", - /* 278 */ "VALUE", - /* 279 */ "VALUE_F", - /* 280 */ "NONE", - /* 281 */ "PREV", - /* 282 */ "NULL_F", - /* 283 */ "LINEAR", - /* 284 */ "NEXT", - /* 285 */ "HAVING", - /* 286 */ "RANGE", - /* 287 */ "EVERY", - /* 288 */ "ORDER", - /* 289 */ "SLIMIT", - /* 290 */ "SOFFSET", - /* 291 */ "LIMIT", - /* 292 */ "OFFSET", - /* 293 */ "ASC", - /* 294 */ "NULLS", - /* 295 */ "ABORT", - /* 296 */ "AFTER", - /* 297 */ "ATTACH", - /* 298 */ "BEFORE", - /* 299 */ "BEGIN", - /* 300 */ "BITAND", - /* 301 */ "BITNOT", - /* 302 */ "BITOR", - /* 303 */ "BLOCKS", - /* 304 */ "CHANGE", - /* 305 */ "COMMA", - /* 306 */ "CONCAT", - /* 307 */ "CONFLICT", - /* 308 */ "COPY", - /* 309 */ "DEFERRED", - /* 310 */ "DELIMITERS", - /* 311 */ "DETACH", - /* 312 */ "DIVIDE", - /* 313 */ "DOT", - /* 314 */ "EACH", - /* 315 */ "FAIL", - /* 316 */ "FILE", - /* 317 */ "FOR", - /* 318 */ "GLOB", - /* 319 */ "ID", - /* 320 */ "IMMEDIATE", - /* 321 */ "IMPORT", - /* 322 */ "INITIALLY", - /* 323 */ "INSTEAD", - /* 324 */ "ISNULL", - /* 325 */ "KEY", - /* 326 */ "MODULES", - /* 327 */ "NK_BITNOT", - /* 328 */ "NK_SEMI", - /* 329 */ "NOTNULL", - /* 330 */ "OF", - /* 331 */ "PLUS", - /* 332 */ "PRIVILEGE", - /* 333 */ "RAISE", - /* 334 */ "RESTRICT", - /* 335 */ "ROW", - /* 336 */ "SEMI", - /* 337 */ "STAR", - /* 338 */ "STATEMENT", - /* 339 */ "STRICT", - /* 340 */ "STRING", - /* 341 */ "TIMES", - /* 342 */ "VALUES", - /* 343 */ "VARIABLE", - /* 344 */ "WAL", - /* 345 */ "cmd", - /* 346 */ "account_options", - /* 347 */ "alter_account_options", - /* 348 */ "literal", - /* 349 */ "alter_account_option", - /* 350 */ "ip_range_list", - /* 351 */ "white_list", - /* 352 */ "white_list_opt", - /* 353 */ "user_name", - /* 354 */ "sysinfo_opt", - /* 355 */ "privileges", - /* 356 */ "priv_level", - /* 357 */ "with_opt", - /* 358 */ "priv_type_list", - /* 359 */ "priv_type", - /* 360 */ "db_name", - /* 361 */ "table_name", - /* 362 */ "topic_name", - /* 363 */ "search_condition", - /* 364 */ "dnode_endpoint", - /* 365 */ "force_opt", - /* 366 */ "unsafe_opt", - /* 367 */ "not_exists_opt", - /* 368 */ "db_options", - /* 369 */ "exists_opt", - /* 370 */ "alter_db_options", - /* 371 */ "speed_opt", - /* 372 */ "start_opt", - /* 373 */ "end_opt", - /* 374 */ "integer_list", - /* 375 */ "variable_list", - /* 376 */ "retention_list", - /* 377 */ "signed", - /* 378 */ "alter_db_option", - /* 379 */ "retention", - /* 380 */ "full_table_name", - /* 381 */ "column_def_list", - /* 382 */ "tags_def_opt", - /* 383 */ "table_options", - /* 384 */ "multi_create_clause", - /* 385 */ "tags_def", - /* 386 */ "multi_drop_clause", - /* 387 */ "alter_table_clause", - /* 388 */ "alter_table_options", - /* 389 */ "column_name", - /* 390 */ "type_name", - /* 391 */ "signed_literal", - /* 392 */ "create_subtable_clause", - /* 393 */ "specific_cols_opt", - /* 394 */ "expression_list", - /* 395 */ "drop_table_clause", - /* 396 */ "col_name_list", - /* 397 */ "column_def", - /* 398 */ "duration_list", - /* 399 */ "rollup_func_list", - /* 400 */ "alter_table_option", - /* 401 */ "duration_literal", - /* 402 */ "rollup_func_name", - /* 403 */ "function_name", - /* 404 */ "col_name", - /* 405 */ "db_kind_opt", - /* 406 */ "table_kind_db_name_cond_opt", - /* 407 */ "like_pattern_opt", - /* 408 */ "db_name_cond_opt", - /* 409 */ "table_name_cond", - /* 410 */ "from_db_opt", - /* 411 */ "tag_list_opt", - /* 412 */ "table_kind", - /* 413 */ "tag_item", - /* 414 */ "column_alias", - /* 415 */ "index_options", - /* 416 */ "full_index_name", - /* 417 */ "index_name", - /* 418 */ "func_list", - /* 419 */ "sliding_opt", - /* 420 */ "sma_stream_opt", - /* 421 */ "func", - /* 422 */ "sma_func_name", - /* 423 */ "with_meta", - /* 424 */ "query_or_subquery", - /* 425 */ "where_clause_opt", - /* 426 */ "cgroup_name", - /* 427 */ "analyze_opt", - /* 428 */ "explain_options", - /* 429 */ "insert_query", - /* 430 */ "or_replace_opt", - /* 431 */ "agg_func_opt", - /* 432 */ "bufsize_opt", - /* 433 */ "language_opt", - /* 434 */ "full_view_name", - /* 435 */ "view_name", - /* 436 */ "stream_name", - /* 437 */ "stream_options", - /* 438 */ "col_list_opt", - /* 439 */ "tag_def_or_ref_opt", - /* 440 */ "subtable_opt", - /* 441 */ "ignore_opt", - /* 442 */ "expression", - /* 443 */ "on_vgroup_id", - /* 444 */ "dnode_list", - /* 445 */ "literal_func", - /* 446 */ "literal_list", - /* 447 */ "table_alias", - /* 448 */ "expr_or_subquery", - /* 449 */ "pseudo_column", - /* 450 */ "column_reference", - /* 451 */ "function_expression", - /* 452 */ "case_when_expression", - /* 453 */ "star_func", - /* 454 */ "star_func_para_list", - /* 455 */ "noarg_func", - /* 456 */ "other_para_list", - /* 457 */ "star_func_para", - /* 458 */ "when_then_list", - /* 459 */ "case_when_else_opt", - /* 460 */ "common_expression", - /* 461 */ "when_then_expr", - /* 462 */ "predicate", - /* 463 */ "compare_op", - /* 464 */ "in_op", - /* 465 */ "in_predicate_value", - /* 466 */ "boolean_value_expression", - /* 467 */ "boolean_primary", - /* 468 */ "from_clause_opt", - /* 469 */ "table_reference_list", - /* 470 */ "table_reference", - /* 471 */ "table_primary", - /* 472 */ "joined_table", - /* 473 */ "alias_opt", - /* 474 */ "subquery", - /* 475 */ "parenthesized_joined_table", - /* 476 */ "join_type", - /* 477 */ "query_specification", - /* 478 */ "hint_list", - /* 479 */ "set_quantifier_opt", - /* 480 */ "tag_mode_opt", - /* 481 */ "select_list", - /* 482 */ "partition_by_clause_opt", - /* 483 */ "range_opt", - /* 484 */ "every_opt", - /* 485 */ "fill_opt", - /* 486 */ "twindow_clause_opt", - /* 487 */ "group_by_clause_opt", - /* 488 */ "having_clause_opt", - /* 489 */ "select_item", - /* 490 */ "partition_list", - /* 491 */ "partition_item", - /* 492 */ "interval_sliding_duration_literal", - /* 493 */ "fill_mode", - /* 494 */ "group_by_list", - /* 495 */ "query_expression", - /* 496 */ "query_simple", - /* 497 */ "order_by_clause_opt", - /* 498 */ "slimit_clause_opt", - /* 499 */ "limit_clause_opt", - /* 500 */ "union_query_expression", - /* 501 */ "query_simple_or_subquery", - /* 502 */ "sort_specification_list", - /* 503 */ "sort_specification", - /* 504 */ "ordering_specification_opt", - /* 505 */ "null_ordering_opt", + /* 232 */ "NK_ALIAS", + /* 233 */ "NK_ARROW", + /* 234 */ "ROWTS", + /* 235 */ "QSTART", + /* 236 */ "QEND", + /* 237 */ "QDURATION", + /* 238 */ "WSTART", + /* 239 */ "WEND", + /* 240 */ "WDURATION", + /* 241 */ "IROWTS", + /* 242 */ "ISFILLED", + /* 243 */ "CAST", + /* 244 */ "NOW", + /* 245 */ "TODAY", + /* 246 */ "TIMEZONE", + /* 247 */ "CLIENT_VERSION", + /* 248 */ "SERVER_VERSION", + /* 249 */ "SERVER_STATUS", + /* 250 */ "CURRENT_USER", + /* 251 */ "CASE", + /* 252 */ "WHEN", + /* 253 */ "THEN", + /* 254 */ "ELSE", + /* 255 */ "BETWEEN", + /* 256 */ "IS", + /* 257 */ "NK_LT", + /* 258 */ "NK_GT", + /* 259 */ "NK_LE", + /* 260 */ "NK_GE", + /* 261 */ "NK_NE", + /* 262 */ "MATCH", + /* 263 */ "NMATCH", + /* 264 */ "CONTAINS", + /* 265 */ "IN", + /* 266 */ "JOIN", + /* 267 */ "INNER", + /* 268 */ "SELECT", + /* 269 */ "NK_HINT", + /* 270 */ "DISTINCT", + /* 271 */ "WHERE", + /* 272 */ "PARTITION", + /* 273 */ "BY", + /* 274 */ "SESSION", + /* 275 */ "STATE_WINDOW", + /* 276 */ "EVENT_WINDOW", + /* 277 */ "SLIDING", + /* 278 */ "FILL", + /* 279 */ "VALUE", + /* 280 */ "VALUE_F", + /* 281 */ "NONE", + /* 282 */ "PREV", + /* 283 */ "NULL_F", + /* 284 */ "LINEAR", + /* 285 */ "NEXT", + /* 286 */ "HAVING", + /* 287 */ "RANGE", + /* 288 */ "EVERY", + /* 289 */ "ORDER", + /* 290 */ "SLIMIT", + /* 291 */ "SOFFSET", + /* 292 */ "LIMIT", + /* 293 */ "OFFSET", + /* 294 */ "ASC", + /* 295 */ "NULLS", + /* 296 */ "ABORT", + /* 297 */ "AFTER", + /* 298 */ "ATTACH", + /* 299 */ "BEFORE", + /* 300 */ "BEGIN", + /* 301 */ "BITAND", + /* 302 */ "BITNOT", + /* 303 */ "BITOR", + /* 304 */ "BLOCKS", + /* 305 */ "CHANGE", + /* 306 */ "COMMA", + /* 307 */ "CONCAT", + /* 308 */ "CONFLICT", + /* 309 */ "COPY", + /* 310 */ "DEFERRED", + /* 311 */ "DELIMITERS", + /* 312 */ "DETACH", + /* 313 */ "DIVIDE", + /* 314 */ "DOT", + /* 315 */ "EACH", + /* 316 */ "FAIL", + /* 317 */ "FILE", + /* 318 */ "FOR", + /* 319 */ "GLOB", + /* 320 */ "ID", + /* 321 */ "IMMEDIATE", + /* 322 */ "IMPORT", + /* 323 */ "INITIALLY", + /* 324 */ "INSTEAD", + /* 325 */ "ISNULL", + /* 326 */ "KEY", + /* 327 */ "MODULES", + /* 328 */ "NK_BITNOT", + /* 329 */ "NK_SEMI", + /* 330 */ "NOTNULL", + /* 331 */ "OF", + /* 332 */ "PLUS", + /* 333 */ "PRIVILEGE", + /* 334 */ "RAISE", + /* 335 */ "RESTRICT", + /* 336 */ "ROW", + /* 337 */ "SEMI", + /* 338 */ "STAR", + /* 339 */ "STATEMENT", + /* 340 */ "STRICT", + /* 341 */ "STRING", + /* 342 */ "TIMES", + /* 343 */ "VALUES", + /* 344 */ "VARIABLE", + /* 345 */ "WAL", + /* 346 */ "cmd", + /* 347 */ "account_options", + /* 348 */ "alter_account_options", + /* 349 */ "literal", + /* 350 */ "alter_account_option", + /* 351 */ "ip_range_list", + /* 352 */ "white_list", + /* 353 */ "white_list_opt", + /* 354 */ "user_name", + /* 355 */ "sysinfo_opt", + /* 356 */ "privileges", + /* 357 */ "priv_level", + /* 358 */ "with_opt", + /* 359 */ "priv_type_list", + /* 360 */ "priv_type", + /* 361 */ "db_name", + /* 362 */ "table_name", + /* 363 */ "topic_name", + /* 364 */ "search_condition", + /* 365 */ "dnode_endpoint", + /* 366 */ "force_opt", + /* 367 */ "unsafe_opt", + /* 368 */ "not_exists_opt", + /* 369 */ "db_options", + /* 370 */ "exists_opt", + /* 371 */ "alter_db_options", + /* 372 */ "speed_opt", + /* 373 */ "start_opt", + /* 374 */ "end_opt", + /* 375 */ "integer_list", + /* 376 */ "variable_list", + /* 377 */ "retention_list", + /* 378 */ "signed", + /* 379 */ "alter_db_option", + /* 380 */ "retention", + /* 381 */ "full_table_name", + /* 382 */ "column_def_list", + /* 383 */ "tags_def_opt", + /* 384 */ "table_options", + /* 385 */ "multi_create_clause", + /* 386 */ "tags_def", + /* 387 */ "multi_drop_clause", + /* 388 */ "alter_table_clause", + /* 389 */ "alter_table_options", + /* 390 */ "column_name", + /* 391 */ "type_name", + /* 392 */ "signed_literal", + /* 393 */ "create_subtable_clause", + /* 394 */ "specific_cols_opt", + /* 395 */ "expression_list", + /* 396 */ "drop_table_clause", + /* 397 */ "col_name_list", + /* 398 */ "column_def", + /* 399 */ "duration_list", + /* 400 */ "rollup_func_list", + /* 401 */ "alter_table_option", + /* 402 */ "duration_literal", + /* 403 */ "rollup_func_name", + /* 404 */ "function_name", + /* 405 */ "col_name", + /* 406 */ "db_kind_opt", + /* 407 */ "table_kind_db_name_cond_opt", + /* 408 */ "like_pattern_opt", + /* 409 */ "db_name_cond_opt", + /* 410 */ "table_name_cond", + /* 411 */ "from_db_opt", + /* 412 */ "tag_list_opt", + /* 413 */ "table_kind", + /* 414 */ "tag_item", + /* 415 */ "column_alias", + /* 416 */ "index_options", + /* 417 */ "full_index_name", + /* 418 */ "index_name", + /* 419 */ "func_list", + /* 420 */ "sliding_opt", + /* 421 */ "sma_stream_opt", + /* 422 */ "func", + /* 423 */ "sma_func_name", + /* 424 */ "with_meta", + /* 425 */ "query_or_subquery", + /* 426 */ "where_clause_opt", + /* 427 */ "cgroup_name", + /* 428 */ "analyze_opt", + /* 429 */ "explain_options", + /* 430 */ "insert_query", + /* 431 */ "or_replace_opt", + /* 432 */ "agg_func_opt", + /* 433 */ "bufsize_opt", + /* 434 */ "language_opt", + /* 435 */ "full_view_name", + /* 436 */ "view_name", + /* 437 */ "stream_name", + /* 438 */ "stream_options", + /* 439 */ "col_list_opt", + /* 440 */ "tag_def_or_ref_opt", + /* 441 */ "subtable_opt", + /* 442 */ "ignore_opt", + /* 443 */ "expression", + /* 444 */ "on_vgroup_id", + /* 445 */ "dnode_list", + /* 446 */ "literal_func", + /* 447 */ "literal_list", + /* 448 */ "table_alias", + /* 449 */ "expr_or_subquery", + /* 450 */ "pseudo_column", + /* 451 */ "column_reference", + /* 452 */ "function_expression", + /* 453 */ "case_when_expression", + /* 454 */ "star_func", + /* 455 */ "star_func_para_list", + /* 456 */ "noarg_func", + /* 457 */ "other_para_list", + /* 458 */ "star_func_para", + /* 459 */ "when_then_list", + /* 460 */ "case_when_else_opt", + /* 461 */ "common_expression", + /* 462 */ "when_then_expr", + /* 463 */ "predicate", + /* 464 */ "compare_op", + /* 465 */ "in_op", + /* 466 */ "in_predicate_value", + /* 467 */ "boolean_value_expression", + /* 468 */ "boolean_primary", + /* 469 */ "from_clause_opt", + /* 470 */ "table_reference_list", + /* 471 */ "table_reference", + /* 472 */ "table_primary", + /* 473 */ "joined_table", + /* 474 */ "alias_opt", + /* 475 */ "subquery", + /* 476 */ "parenthesized_joined_table", + /* 477 */ "join_type", + /* 478 */ "query_specification", + /* 479 */ "hint_list", + /* 480 */ "set_quantifier_opt", + /* 481 */ "tag_mode_opt", + /* 482 */ "select_list", + /* 483 */ "partition_by_clause_opt", + /* 484 */ "range_opt", + /* 485 */ "every_opt", + /* 486 */ "fill_opt", + /* 487 */ "twindow_clause_opt", + /* 488 */ "group_by_clause_opt", + /* 489 */ "having_clause_opt", + /* 490 */ "select_item", + /* 491 */ "partition_list", + /* 492 */ "partition_item", + /* 493 */ "interval_sliding_duration_literal", + /* 494 */ "fill_mode", + /* 495 */ "group_by_list", + /* 496 */ "query_expression", + /* 497 */ "query_simple", + /* 498 */ "order_by_clause_opt", + /* 499 */ "slimit_clause_opt", + /* 500 */ "limit_clause_opt", + /* 501 */ "union_query_expression", + /* 502 */ "query_simple_or_subquery", + /* 503 */ "sort_specification_list", + /* 504 */ "sort_specification", + /* 505 */ "ordering_specification_opt", + /* 506 */ "null_ordering_opt", }; #endif /* defined(YYCOVERAGE) || !defined(NDEBUG) */ @@ -2468,209 +2507,212 @@ static const char *const yyRuleName[] = { /* 429 */ "view_name ::= NK_ID", /* 430 */ "table_alias ::= NK_ID", /* 431 */ "column_alias ::= NK_ID", - /* 432 */ "user_name ::= NK_ID", - /* 433 */ "topic_name ::= NK_ID", - /* 434 */ "stream_name ::= NK_ID", - /* 435 */ "cgroup_name ::= NK_ID", - /* 436 */ "index_name ::= NK_ID", - /* 437 */ "expr_or_subquery ::= expression", - /* 438 */ "expression ::= literal", - /* 439 */ "expression ::= pseudo_column", - /* 440 */ "expression ::= column_reference", - /* 441 */ "expression ::= function_expression", - /* 442 */ "expression ::= case_when_expression", - /* 443 */ "expression ::= NK_LP expression NK_RP", - /* 444 */ "expression ::= NK_PLUS expr_or_subquery", - /* 445 */ "expression ::= NK_MINUS expr_or_subquery", - /* 446 */ "expression ::= expr_or_subquery NK_PLUS expr_or_subquery", - /* 447 */ "expression ::= expr_or_subquery NK_MINUS expr_or_subquery", - /* 448 */ "expression ::= expr_or_subquery NK_STAR expr_or_subquery", - /* 449 */ "expression ::= expr_or_subquery NK_SLASH expr_or_subquery", - /* 450 */ "expression ::= expr_or_subquery NK_REM expr_or_subquery", - /* 451 */ "expression ::= column_reference NK_ARROW NK_STRING", - /* 452 */ "expression ::= expr_or_subquery NK_BITAND expr_or_subquery", - /* 453 */ "expression ::= expr_or_subquery NK_BITOR expr_or_subquery", - /* 454 */ "expression_list ::= expr_or_subquery", - /* 455 */ "expression_list ::= expression_list NK_COMMA expr_or_subquery", - /* 456 */ "column_reference ::= column_name", - /* 457 */ "column_reference ::= table_name NK_DOT column_name", - /* 458 */ "pseudo_column ::= ROWTS", - /* 459 */ "pseudo_column ::= TBNAME", - /* 460 */ "pseudo_column ::= table_name NK_DOT TBNAME", - /* 461 */ "pseudo_column ::= QSTART", - /* 462 */ "pseudo_column ::= QEND", - /* 463 */ "pseudo_column ::= QDURATION", - /* 464 */ "pseudo_column ::= WSTART", - /* 465 */ "pseudo_column ::= WEND", - /* 466 */ "pseudo_column ::= WDURATION", - /* 467 */ "pseudo_column ::= IROWTS", - /* 468 */ "pseudo_column ::= ISFILLED", - /* 469 */ "pseudo_column ::= QTAGS", - /* 470 */ "function_expression ::= function_name NK_LP expression_list NK_RP", - /* 471 */ "function_expression ::= star_func NK_LP star_func_para_list NK_RP", - /* 472 */ "function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP", - /* 473 */ "function_expression ::= literal_func", - /* 474 */ "literal_func ::= noarg_func NK_LP NK_RP", - /* 475 */ "literal_func ::= NOW", - /* 476 */ "noarg_func ::= NOW", - /* 477 */ "noarg_func ::= TODAY", - /* 478 */ "noarg_func ::= TIMEZONE", - /* 479 */ "noarg_func ::= DATABASE", - /* 480 */ "noarg_func ::= CLIENT_VERSION", - /* 481 */ "noarg_func ::= SERVER_VERSION", - /* 482 */ "noarg_func ::= SERVER_STATUS", - /* 483 */ "noarg_func ::= CURRENT_USER", - /* 484 */ "noarg_func ::= USER", - /* 485 */ "star_func ::= COUNT", - /* 486 */ "star_func ::= FIRST", - /* 487 */ "star_func ::= LAST", - /* 488 */ "star_func ::= LAST_ROW", - /* 489 */ "star_func_para_list ::= NK_STAR", - /* 490 */ "star_func_para_list ::= other_para_list", - /* 491 */ "other_para_list ::= star_func_para", - /* 492 */ "other_para_list ::= other_para_list NK_COMMA star_func_para", - /* 493 */ "star_func_para ::= expr_or_subquery", - /* 494 */ "star_func_para ::= table_name NK_DOT NK_STAR", - /* 495 */ "case_when_expression ::= CASE when_then_list case_when_else_opt END", - /* 496 */ "case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END", - /* 497 */ "when_then_list ::= when_then_expr", - /* 498 */ "when_then_list ::= when_then_list when_then_expr", - /* 499 */ "when_then_expr ::= WHEN common_expression THEN common_expression", - /* 500 */ "case_when_else_opt ::=", - /* 501 */ "case_when_else_opt ::= ELSE common_expression", - /* 502 */ "predicate ::= expr_or_subquery compare_op expr_or_subquery", - /* 503 */ "predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery", - /* 504 */ "predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery", - /* 505 */ "predicate ::= expr_or_subquery IS NULL", - /* 506 */ "predicate ::= expr_or_subquery IS NOT NULL", - /* 507 */ "predicate ::= expr_or_subquery in_op in_predicate_value", - /* 508 */ "compare_op ::= NK_LT", - /* 509 */ "compare_op ::= NK_GT", - /* 510 */ "compare_op ::= NK_LE", - /* 511 */ "compare_op ::= NK_GE", - /* 512 */ "compare_op ::= NK_NE", - /* 513 */ "compare_op ::= NK_EQ", - /* 514 */ "compare_op ::= LIKE", - /* 515 */ "compare_op ::= NOT LIKE", - /* 516 */ "compare_op ::= MATCH", - /* 517 */ "compare_op ::= NMATCH", - /* 518 */ "compare_op ::= CONTAINS", - /* 519 */ "in_op ::= IN", - /* 520 */ "in_op ::= NOT IN", - /* 521 */ "in_predicate_value ::= NK_LP literal_list NK_RP", - /* 522 */ "boolean_value_expression ::= boolean_primary", - /* 523 */ "boolean_value_expression ::= NOT boolean_primary", - /* 524 */ "boolean_value_expression ::= boolean_value_expression OR boolean_value_expression", - /* 525 */ "boolean_value_expression ::= boolean_value_expression AND boolean_value_expression", - /* 526 */ "boolean_primary ::= predicate", - /* 527 */ "boolean_primary ::= NK_LP boolean_value_expression NK_RP", - /* 528 */ "common_expression ::= expr_or_subquery", - /* 529 */ "common_expression ::= boolean_value_expression", - /* 530 */ "from_clause_opt ::=", - /* 531 */ "from_clause_opt ::= FROM table_reference_list", - /* 532 */ "table_reference_list ::= table_reference", - /* 533 */ "table_reference_list ::= table_reference_list NK_COMMA table_reference", - /* 534 */ "table_reference ::= table_primary", - /* 535 */ "table_reference ::= joined_table", - /* 536 */ "table_primary ::= table_name alias_opt", - /* 537 */ "table_primary ::= db_name NK_DOT table_name alias_opt", - /* 538 */ "table_primary ::= subquery alias_opt", - /* 539 */ "table_primary ::= parenthesized_joined_table", - /* 540 */ "alias_opt ::=", - /* 541 */ "alias_opt ::= table_alias", - /* 542 */ "alias_opt ::= AS table_alias", - /* 543 */ "parenthesized_joined_table ::= NK_LP joined_table NK_RP", - /* 544 */ "parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP", - /* 545 */ "joined_table ::= table_reference join_type JOIN table_reference ON search_condition", - /* 546 */ "join_type ::=", - /* 547 */ "join_type ::= INNER", - /* 548 */ "query_specification ::= SELECT hint_list set_quantifier_opt tag_mode_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt", - /* 549 */ "hint_list ::=", - /* 550 */ "hint_list ::= NK_HINT", - /* 551 */ "tag_mode_opt ::=", - /* 552 */ "tag_mode_opt ::= TAGS", - /* 553 */ "set_quantifier_opt ::=", - /* 554 */ "set_quantifier_opt ::= DISTINCT", - /* 555 */ "set_quantifier_opt ::= ALL", - /* 556 */ "select_list ::= select_item", - /* 557 */ "select_list ::= select_list NK_COMMA select_item", - /* 558 */ "select_item ::= NK_STAR", - /* 559 */ "select_item ::= common_expression", - /* 560 */ "select_item ::= common_expression column_alias", - /* 561 */ "select_item ::= common_expression AS column_alias", - /* 562 */ "select_item ::= table_name NK_DOT NK_STAR", - /* 563 */ "where_clause_opt ::=", - /* 564 */ "where_clause_opt ::= WHERE search_condition", - /* 565 */ "partition_by_clause_opt ::=", - /* 566 */ "partition_by_clause_opt ::= PARTITION BY partition_list", - /* 567 */ "partition_list ::= partition_item", - /* 568 */ "partition_list ::= partition_list NK_COMMA partition_item", - /* 569 */ "partition_item ::= expr_or_subquery", - /* 570 */ "partition_item ::= expr_or_subquery column_alias", - /* 571 */ "partition_item ::= expr_or_subquery AS column_alias", - /* 572 */ "twindow_clause_opt ::=", - /* 573 */ "twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP", - /* 574 */ "twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP", - /* 575 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt", - /* 576 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt", - /* 577 */ "twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition", - /* 578 */ "sliding_opt ::=", - /* 579 */ "sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP", - /* 580 */ "interval_sliding_duration_literal ::= NK_VARIABLE", - /* 581 */ "interval_sliding_duration_literal ::= NK_STRING", - /* 582 */ "interval_sliding_duration_literal ::= NK_INTEGER", - /* 583 */ "fill_opt ::=", - /* 584 */ "fill_opt ::= FILL NK_LP fill_mode NK_RP", - /* 585 */ "fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP", - /* 586 */ "fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP", - /* 587 */ "fill_mode ::= NONE", - /* 588 */ "fill_mode ::= PREV", - /* 589 */ "fill_mode ::= NULL", - /* 590 */ "fill_mode ::= NULL_F", - /* 591 */ "fill_mode ::= LINEAR", - /* 592 */ "fill_mode ::= NEXT", - /* 593 */ "group_by_clause_opt ::=", - /* 594 */ "group_by_clause_opt ::= GROUP BY group_by_list", - /* 595 */ "group_by_list ::= expr_or_subquery", - /* 596 */ "group_by_list ::= group_by_list NK_COMMA expr_or_subquery", - /* 597 */ "having_clause_opt ::=", - /* 598 */ "having_clause_opt ::= HAVING search_condition", - /* 599 */ "range_opt ::=", - /* 600 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP", - /* 601 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_RP", - /* 602 */ "every_opt ::=", - /* 603 */ "every_opt ::= EVERY NK_LP duration_literal NK_RP", - /* 604 */ "query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt", - /* 605 */ "query_simple ::= query_specification", - /* 606 */ "query_simple ::= union_query_expression", - /* 607 */ "union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery", - /* 608 */ "union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery", - /* 609 */ "query_simple_or_subquery ::= query_simple", - /* 610 */ "query_simple_or_subquery ::= subquery", - /* 611 */ "query_or_subquery ::= query_expression", - /* 612 */ "query_or_subquery ::= subquery", - /* 613 */ "order_by_clause_opt ::=", - /* 614 */ "order_by_clause_opt ::= ORDER BY sort_specification_list", - /* 615 */ "slimit_clause_opt ::=", - /* 616 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER", - /* 617 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER", - /* 618 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER", - /* 619 */ "limit_clause_opt ::=", - /* 620 */ "limit_clause_opt ::= LIMIT NK_INTEGER", - /* 621 */ "limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER", - /* 622 */ "limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER", - /* 623 */ "subquery ::= NK_LP query_expression NK_RP", - /* 624 */ "subquery ::= NK_LP subquery NK_RP", - /* 625 */ "search_condition ::= common_expression", - /* 626 */ "sort_specification_list ::= sort_specification", - /* 627 */ "sort_specification_list ::= sort_specification_list NK_COMMA sort_specification", - /* 628 */ "sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt", - /* 629 */ "ordering_specification_opt ::=", - /* 630 */ "ordering_specification_opt ::= ASC", - /* 631 */ "ordering_specification_opt ::= DESC", - /* 632 */ "null_ordering_opt ::=", - /* 633 */ "null_ordering_opt ::= NULLS FIRST", - /* 634 */ "null_ordering_opt ::= NULLS LAST", + /* 432 */ "column_alias ::= NK_ALIAS", + /* 433 */ "user_name ::= NK_ID", + /* 434 */ "topic_name ::= NK_ID", + /* 435 */ "stream_name ::= NK_ID", + /* 436 */ "cgroup_name ::= NK_ID", + /* 437 */ "index_name ::= NK_ID", + /* 438 */ "expr_or_subquery ::= expression", + /* 439 */ "expression ::= literal", + /* 440 */ "expression ::= pseudo_column", + /* 441 */ "expression ::= column_reference", + /* 442 */ "expression ::= function_expression", + /* 443 */ "expression ::= case_when_expression", + /* 444 */ "expression ::= NK_LP expression NK_RP", + /* 445 */ "expression ::= NK_PLUS expr_or_subquery", + /* 446 */ "expression ::= NK_MINUS expr_or_subquery", + /* 447 */ "expression ::= expr_or_subquery NK_PLUS expr_or_subquery", + /* 448 */ "expression ::= expr_or_subquery NK_MINUS expr_or_subquery", + /* 449 */ "expression ::= expr_or_subquery NK_STAR expr_or_subquery", + /* 450 */ "expression ::= expr_or_subquery NK_SLASH expr_or_subquery", + /* 451 */ "expression ::= expr_or_subquery NK_REM expr_or_subquery", + /* 452 */ "expression ::= column_reference NK_ARROW NK_STRING", + /* 453 */ "expression ::= expr_or_subquery NK_BITAND expr_or_subquery", + /* 454 */ "expression ::= expr_or_subquery NK_BITOR expr_or_subquery", + /* 455 */ "expression_list ::= expr_or_subquery", + /* 456 */ "expression_list ::= expression_list NK_COMMA expr_or_subquery", + /* 457 */ "column_reference ::= column_name", + /* 458 */ "column_reference ::= table_name NK_DOT column_name", + /* 459 */ "column_reference ::= NK_ALIAS", + /* 460 */ "column_reference ::= table_name NK_DOT NK_ALIAS", + /* 461 */ "pseudo_column ::= ROWTS", + /* 462 */ "pseudo_column ::= TBNAME", + /* 463 */ "pseudo_column ::= table_name NK_DOT TBNAME", + /* 464 */ "pseudo_column ::= QSTART", + /* 465 */ "pseudo_column ::= QEND", + /* 466 */ "pseudo_column ::= QDURATION", + /* 467 */ "pseudo_column ::= WSTART", + /* 468 */ "pseudo_column ::= WEND", + /* 469 */ "pseudo_column ::= WDURATION", + /* 470 */ "pseudo_column ::= IROWTS", + /* 471 */ "pseudo_column ::= ISFILLED", + /* 472 */ "pseudo_column ::= QTAGS", + /* 473 */ "function_expression ::= function_name NK_LP expression_list NK_RP", + /* 474 */ "function_expression ::= star_func NK_LP star_func_para_list NK_RP", + /* 475 */ "function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP", + /* 476 */ "function_expression ::= literal_func", + /* 477 */ "literal_func ::= noarg_func NK_LP NK_RP", + /* 478 */ "literal_func ::= NOW", + /* 479 */ "noarg_func ::= NOW", + /* 480 */ "noarg_func ::= TODAY", + /* 481 */ "noarg_func ::= TIMEZONE", + /* 482 */ "noarg_func ::= DATABASE", + /* 483 */ "noarg_func ::= CLIENT_VERSION", + /* 484 */ "noarg_func ::= SERVER_VERSION", + /* 485 */ "noarg_func ::= SERVER_STATUS", + /* 486 */ "noarg_func ::= CURRENT_USER", + /* 487 */ "noarg_func ::= USER", + /* 488 */ "star_func ::= COUNT", + /* 489 */ "star_func ::= FIRST", + /* 490 */ "star_func ::= LAST", + /* 491 */ "star_func ::= LAST_ROW", + /* 492 */ "star_func_para_list ::= NK_STAR", + /* 493 */ "star_func_para_list ::= other_para_list", + /* 494 */ "other_para_list ::= star_func_para", + /* 495 */ "other_para_list ::= other_para_list NK_COMMA star_func_para", + /* 496 */ "star_func_para ::= expr_or_subquery", + /* 497 */ "star_func_para ::= table_name NK_DOT NK_STAR", + /* 498 */ "case_when_expression ::= CASE when_then_list case_when_else_opt END", + /* 499 */ "case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END", + /* 500 */ "when_then_list ::= when_then_expr", + /* 501 */ "when_then_list ::= when_then_list when_then_expr", + /* 502 */ "when_then_expr ::= WHEN common_expression THEN common_expression", + /* 503 */ "case_when_else_opt ::=", + /* 504 */ "case_when_else_opt ::= ELSE common_expression", + /* 505 */ "predicate ::= expr_or_subquery compare_op expr_or_subquery", + /* 506 */ "predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery", + /* 507 */ "predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery", + /* 508 */ "predicate ::= expr_or_subquery IS NULL", + /* 509 */ "predicate ::= expr_or_subquery IS NOT NULL", + /* 510 */ "predicate ::= expr_or_subquery in_op in_predicate_value", + /* 511 */ "compare_op ::= NK_LT", + /* 512 */ "compare_op ::= NK_GT", + /* 513 */ "compare_op ::= NK_LE", + /* 514 */ "compare_op ::= NK_GE", + /* 515 */ "compare_op ::= NK_NE", + /* 516 */ "compare_op ::= NK_EQ", + /* 517 */ "compare_op ::= LIKE", + /* 518 */ "compare_op ::= NOT LIKE", + /* 519 */ "compare_op ::= MATCH", + /* 520 */ "compare_op ::= NMATCH", + /* 521 */ "compare_op ::= CONTAINS", + /* 522 */ "in_op ::= IN", + /* 523 */ "in_op ::= NOT IN", + /* 524 */ "in_predicate_value ::= NK_LP literal_list NK_RP", + /* 525 */ "boolean_value_expression ::= boolean_primary", + /* 526 */ "boolean_value_expression ::= NOT boolean_primary", + /* 527 */ "boolean_value_expression ::= boolean_value_expression OR boolean_value_expression", + /* 528 */ "boolean_value_expression ::= boolean_value_expression AND boolean_value_expression", + /* 529 */ "boolean_primary ::= predicate", + /* 530 */ "boolean_primary ::= NK_LP boolean_value_expression NK_RP", + /* 531 */ "common_expression ::= expr_or_subquery", + /* 532 */ "common_expression ::= boolean_value_expression", + /* 533 */ "from_clause_opt ::=", + /* 534 */ "from_clause_opt ::= FROM table_reference_list", + /* 535 */ "table_reference_list ::= table_reference", + /* 536 */ "table_reference_list ::= table_reference_list NK_COMMA table_reference", + /* 537 */ "table_reference ::= table_primary", + /* 538 */ "table_reference ::= joined_table", + /* 539 */ "table_primary ::= table_name alias_opt", + /* 540 */ "table_primary ::= db_name NK_DOT table_name alias_opt", + /* 541 */ "table_primary ::= subquery alias_opt", + /* 542 */ "table_primary ::= parenthesized_joined_table", + /* 543 */ "alias_opt ::=", + /* 544 */ "alias_opt ::= table_alias", + /* 545 */ "alias_opt ::= AS table_alias", + /* 546 */ "parenthesized_joined_table ::= NK_LP joined_table NK_RP", + /* 547 */ "parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP", + /* 548 */ "joined_table ::= table_reference join_type JOIN table_reference ON search_condition", + /* 549 */ "join_type ::=", + /* 550 */ "join_type ::= INNER", + /* 551 */ "query_specification ::= SELECT hint_list set_quantifier_opt tag_mode_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt", + /* 552 */ "hint_list ::=", + /* 553 */ "hint_list ::= NK_HINT", + /* 554 */ "tag_mode_opt ::=", + /* 555 */ "tag_mode_opt ::= TAGS", + /* 556 */ "set_quantifier_opt ::=", + /* 557 */ "set_quantifier_opt ::= DISTINCT", + /* 558 */ "set_quantifier_opt ::= ALL", + /* 559 */ "select_list ::= select_item", + /* 560 */ "select_list ::= select_list NK_COMMA select_item", + /* 561 */ "select_item ::= NK_STAR", + /* 562 */ "select_item ::= common_expression", + /* 563 */ "select_item ::= common_expression column_alias", + /* 564 */ "select_item ::= common_expression AS column_alias", + /* 565 */ "select_item ::= table_name NK_DOT NK_STAR", + /* 566 */ "where_clause_opt ::=", + /* 567 */ "where_clause_opt ::= WHERE search_condition", + /* 568 */ "partition_by_clause_opt ::=", + /* 569 */ "partition_by_clause_opt ::= PARTITION BY partition_list", + /* 570 */ "partition_list ::= partition_item", + /* 571 */ "partition_list ::= partition_list NK_COMMA partition_item", + /* 572 */ "partition_item ::= expr_or_subquery", + /* 573 */ "partition_item ::= expr_or_subquery column_alias", + /* 574 */ "partition_item ::= expr_or_subquery AS column_alias", + /* 575 */ "twindow_clause_opt ::=", + /* 576 */ "twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP", + /* 577 */ "twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP", + /* 578 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt", + /* 579 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt", + /* 580 */ "twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition", + /* 581 */ "sliding_opt ::=", + /* 582 */ "sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP", + /* 583 */ "interval_sliding_duration_literal ::= NK_VARIABLE", + /* 584 */ "interval_sliding_duration_literal ::= NK_STRING", + /* 585 */ "interval_sliding_duration_literal ::= NK_INTEGER", + /* 586 */ "fill_opt ::=", + /* 587 */ "fill_opt ::= FILL NK_LP fill_mode NK_RP", + /* 588 */ "fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP", + /* 589 */ "fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP", + /* 590 */ "fill_mode ::= NONE", + /* 591 */ "fill_mode ::= PREV", + /* 592 */ "fill_mode ::= NULL", + /* 593 */ "fill_mode ::= NULL_F", + /* 594 */ "fill_mode ::= LINEAR", + /* 595 */ "fill_mode ::= NEXT", + /* 596 */ "group_by_clause_opt ::=", + /* 597 */ "group_by_clause_opt ::= GROUP BY group_by_list", + /* 598 */ "group_by_list ::= expr_or_subquery", + /* 599 */ "group_by_list ::= group_by_list NK_COMMA expr_or_subquery", + /* 600 */ "having_clause_opt ::=", + /* 601 */ "having_clause_opt ::= HAVING search_condition", + /* 602 */ "range_opt ::=", + /* 603 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP", + /* 604 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_RP", + /* 605 */ "every_opt ::=", + /* 606 */ "every_opt ::= EVERY NK_LP duration_literal NK_RP", + /* 607 */ "query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt", + /* 608 */ "query_simple ::= query_specification", + /* 609 */ "query_simple ::= union_query_expression", + /* 610 */ "union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery", + /* 611 */ "union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery", + /* 612 */ "query_simple_or_subquery ::= query_simple", + /* 613 */ "query_simple_or_subquery ::= subquery", + /* 614 */ "query_or_subquery ::= query_expression", + /* 615 */ "query_or_subquery ::= subquery", + /* 616 */ "order_by_clause_opt ::=", + /* 617 */ "order_by_clause_opt ::= ORDER BY sort_specification_list", + /* 618 */ "slimit_clause_opt ::=", + /* 619 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER", + /* 620 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER", + /* 621 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER", + /* 622 */ "limit_clause_opt ::=", + /* 623 */ "limit_clause_opt ::= LIMIT NK_INTEGER", + /* 624 */ "limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER", + /* 625 */ "limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER", + /* 626 */ "subquery ::= NK_LP query_expression NK_RP", + /* 627 */ "subquery ::= NK_LP subquery NK_RP", + /* 628 */ "search_condition ::= common_expression", + /* 629 */ "sort_specification_list ::= sort_specification", + /* 630 */ "sort_specification_list ::= sort_specification_list NK_COMMA sort_specification", + /* 631 */ "sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt", + /* 632 */ "ordering_specification_opt ::=", + /* 633 */ "ordering_specification_opt ::= ASC", + /* 634 */ "ordering_specification_opt ::= DESC", + /* 635 */ "null_ordering_opt ::=", + /* 636 */ "null_ordering_opt ::= NULLS FIRST", + /* 637 */ "null_ordering_opt ::= NULLS LAST", }; #endif /* NDEBUG */ @@ -2797,231 +2839,231 @@ static void yy_destructor( */ /********* Begin destructor definitions ***************************************/ /* Default NON-TERMINAL Destructor */ - case 345: /* cmd */ - case 348: /* literal */ - case 357: /* with_opt */ - case 363: /* search_condition */ - case 368: /* db_options */ - case 370: /* alter_db_options */ - case 372: /* start_opt */ - case 373: /* end_opt */ - case 377: /* signed */ - case 379: /* retention */ - case 380: /* full_table_name */ - case 383: /* table_options */ - case 387: /* alter_table_clause */ - case 388: /* alter_table_options */ - case 391: /* signed_literal */ - case 392: /* create_subtable_clause */ - case 395: /* drop_table_clause */ - case 397: /* column_def */ - case 401: /* duration_literal */ - case 402: /* rollup_func_name */ - case 404: /* col_name */ - case 407: /* like_pattern_opt */ - case 408: /* db_name_cond_opt */ - case 409: /* table_name_cond */ - case 410: /* from_db_opt */ - case 413: /* tag_item */ - case 415: /* index_options */ - case 416: /* full_index_name */ - case 419: /* sliding_opt */ - case 420: /* sma_stream_opt */ - case 421: /* func */ - case 424: /* query_or_subquery */ - case 425: /* where_clause_opt */ - case 428: /* explain_options */ - case 429: /* insert_query */ - case 434: /* full_view_name */ - case 437: /* stream_options */ - case 440: /* subtable_opt */ - case 442: /* expression */ - case 445: /* literal_func */ - case 448: /* expr_or_subquery */ - case 449: /* pseudo_column */ - case 450: /* column_reference */ - case 451: /* function_expression */ - case 452: /* case_when_expression */ - case 457: /* star_func_para */ - case 459: /* case_when_else_opt */ - case 460: /* common_expression */ - case 461: /* when_then_expr */ - case 462: /* predicate */ - case 465: /* in_predicate_value */ - case 466: /* boolean_value_expression */ - case 467: /* boolean_primary */ - case 468: /* from_clause_opt */ - case 469: /* table_reference_list */ - case 470: /* table_reference */ - case 471: /* table_primary */ - case 472: /* joined_table */ - case 474: /* subquery */ - case 475: /* parenthesized_joined_table */ - case 477: /* query_specification */ - case 483: /* range_opt */ - case 484: /* every_opt */ - case 485: /* fill_opt */ - case 486: /* twindow_clause_opt */ - case 488: /* having_clause_opt */ - case 489: /* select_item */ - case 491: /* partition_item */ - case 492: /* interval_sliding_duration_literal */ - case 495: /* query_expression */ - case 496: /* query_simple */ - case 498: /* slimit_clause_opt */ - case 499: /* limit_clause_opt */ - case 500: /* union_query_expression */ - case 501: /* query_simple_or_subquery */ - case 503: /* sort_specification */ + case 346: /* cmd */ + case 349: /* literal */ + case 358: /* with_opt */ + case 364: /* search_condition */ + case 369: /* db_options */ + case 371: /* alter_db_options */ + case 373: /* start_opt */ + case 374: /* end_opt */ + case 378: /* signed */ + case 380: /* retention */ + case 381: /* full_table_name */ + case 384: /* table_options */ + case 388: /* alter_table_clause */ + case 389: /* alter_table_options */ + case 392: /* signed_literal */ + case 393: /* create_subtable_clause */ + case 396: /* drop_table_clause */ + case 398: /* column_def */ + case 402: /* duration_literal */ + case 403: /* rollup_func_name */ + case 405: /* col_name */ + case 408: /* like_pattern_opt */ + case 409: /* db_name_cond_opt */ + case 410: /* table_name_cond */ + case 411: /* from_db_opt */ + case 414: /* tag_item */ + case 416: /* index_options */ + case 417: /* full_index_name */ + case 420: /* sliding_opt */ + case 421: /* sma_stream_opt */ + case 422: /* func */ + case 425: /* query_or_subquery */ + case 426: /* where_clause_opt */ + case 429: /* explain_options */ + case 430: /* insert_query */ + case 435: /* full_view_name */ + case 438: /* stream_options */ + case 441: /* subtable_opt */ + case 443: /* expression */ + case 446: /* literal_func */ + case 449: /* expr_or_subquery */ + case 450: /* pseudo_column */ + case 451: /* column_reference */ + case 452: /* function_expression */ + case 453: /* case_when_expression */ + case 458: /* star_func_para */ + case 460: /* case_when_else_opt */ + case 461: /* common_expression */ + case 462: /* when_then_expr */ + case 463: /* predicate */ + case 466: /* in_predicate_value */ + case 467: /* boolean_value_expression */ + case 468: /* boolean_primary */ + case 469: /* from_clause_opt */ + case 470: /* table_reference_list */ + case 471: /* table_reference */ + case 472: /* table_primary */ + case 473: /* joined_table */ + case 475: /* subquery */ + case 476: /* parenthesized_joined_table */ + case 478: /* query_specification */ + case 484: /* range_opt */ + case 485: /* every_opt */ + case 486: /* fill_opt */ + case 487: /* twindow_clause_opt */ + case 489: /* having_clause_opt */ + case 490: /* select_item */ + case 492: /* partition_item */ + case 493: /* interval_sliding_duration_literal */ + case 496: /* query_expression */ + case 497: /* query_simple */ + case 499: /* slimit_clause_opt */ + case 500: /* limit_clause_opt */ + case 501: /* union_query_expression */ + case 502: /* query_simple_or_subquery */ + case 504: /* sort_specification */ { - nodesDestroyNode((yypminor->yy476)); + nodesDestroyNode((yypminor->yy80)); } break; - case 346: /* account_options */ - case 347: /* alter_account_options */ - case 349: /* alter_account_option */ - case 371: /* speed_opt */ - case 423: /* with_meta */ - case 432: /* bufsize_opt */ + case 347: /* account_options */ + case 348: /* alter_account_options */ + case 350: /* alter_account_option */ + case 372: /* speed_opt */ + case 424: /* with_meta */ + case 433: /* bufsize_opt */ { } break; - case 350: /* ip_range_list */ - case 351: /* white_list */ - case 352: /* white_list_opt */ - case 374: /* integer_list */ - case 375: /* variable_list */ - case 376: /* retention_list */ - case 381: /* column_def_list */ - case 382: /* tags_def_opt */ - case 384: /* multi_create_clause */ - case 385: /* tags_def */ - case 386: /* multi_drop_clause */ - case 393: /* specific_cols_opt */ - case 394: /* expression_list */ - case 396: /* col_name_list */ - case 398: /* duration_list */ - case 399: /* rollup_func_list */ - case 411: /* tag_list_opt */ - case 418: /* func_list */ - case 438: /* col_list_opt */ - case 439: /* tag_def_or_ref_opt */ - case 444: /* dnode_list */ - case 446: /* literal_list */ - case 454: /* star_func_para_list */ - case 456: /* other_para_list */ - case 458: /* when_then_list */ - case 478: /* hint_list */ - case 481: /* select_list */ - case 482: /* partition_by_clause_opt */ - case 487: /* group_by_clause_opt */ - case 490: /* partition_list */ - case 494: /* group_by_list */ - case 497: /* order_by_clause_opt */ - case 502: /* sort_specification_list */ + case 351: /* ip_range_list */ + case 352: /* white_list */ + case 353: /* white_list_opt */ + case 375: /* integer_list */ + case 376: /* variable_list */ + case 377: /* retention_list */ + case 382: /* column_def_list */ + case 383: /* tags_def_opt */ + case 385: /* multi_create_clause */ + case 386: /* tags_def */ + case 387: /* multi_drop_clause */ + case 394: /* specific_cols_opt */ + case 395: /* expression_list */ + case 397: /* col_name_list */ + case 399: /* duration_list */ + case 400: /* rollup_func_list */ + case 412: /* tag_list_opt */ + case 419: /* func_list */ + case 439: /* col_list_opt */ + case 440: /* tag_def_or_ref_opt */ + case 445: /* dnode_list */ + case 447: /* literal_list */ + case 455: /* star_func_para_list */ + case 457: /* other_para_list */ + case 459: /* when_then_list */ + case 479: /* hint_list */ + case 482: /* select_list */ + case 483: /* partition_by_clause_opt */ + case 488: /* group_by_clause_opt */ + case 491: /* partition_list */ + case 495: /* group_by_list */ + case 498: /* order_by_clause_opt */ + case 503: /* sort_specification_list */ { - nodesDestroyList((yypminor->yy332)); + nodesDestroyList((yypminor->yy106)); } break; - case 353: /* user_name */ - case 360: /* db_name */ - case 361: /* table_name */ - case 362: /* topic_name */ - case 364: /* dnode_endpoint */ - case 389: /* column_name */ - case 403: /* function_name */ - case 414: /* column_alias */ - case 417: /* index_name */ - case 422: /* sma_func_name */ - case 426: /* cgroup_name */ - case 433: /* language_opt */ - case 435: /* view_name */ - case 436: /* stream_name */ - case 443: /* on_vgroup_id */ - case 447: /* table_alias */ - case 453: /* star_func */ - case 455: /* noarg_func */ - case 473: /* alias_opt */ + case 354: /* user_name */ + case 361: /* db_name */ + case 362: /* table_name */ + case 363: /* topic_name */ + case 365: /* dnode_endpoint */ + case 390: /* column_name */ + case 404: /* function_name */ + case 415: /* column_alias */ + case 418: /* index_name */ + case 423: /* sma_func_name */ + case 427: /* cgroup_name */ + case 434: /* language_opt */ + case 436: /* view_name */ + case 437: /* stream_name */ + case 444: /* on_vgroup_id */ + case 448: /* table_alias */ + case 454: /* star_func */ + case 456: /* noarg_func */ + case 474: /* alias_opt */ { } break; - case 354: /* sysinfo_opt */ + case 355: /* sysinfo_opt */ { } break; - case 355: /* privileges */ - case 358: /* priv_type_list */ - case 359: /* priv_type */ + case 356: /* privileges */ + case 359: /* priv_type_list */ + case 360: /* priv_type */ { } break; - case 356: /* priv_level */ + case 357: /* priv_level */ { } break; - case 365: /* force_opt */ - case 366: /* unsafe_opt */ - case 367: /* not_exists_opt */ - case 369: /* exists_opt */ - case 427: /* analyze_opt */ - case 430: /* or_replace_opt */ - case 431: /* agg_func_opt */ - case 441: /* ignore_opt */ - case 479: /* set_quantifier_opt */ - case 480: /* tag_mode_opt */ + case 366: /* force_opt */ + case 367: /* unsafe_opt */ + case 368: /* not_exists_opt */ + case 370: /* exists_opt */ + case 428: /* analyze_opt */ + case 431: /* or_replace_opt */ + case 432: /* agg_func_opt */ + case 442: /* ignore_opt */ + case 480: /* set_quantifier_opt */ + case 481: /* tag_mode_opt */ { } break; - case 378: /* alter_db_option */ - case 400: /* alter_table_option */ + case 379: /* alter_db_option */ + case 401: /* alter_table_option */ { } break; - case 390: /* type_name */ + case 391: /* type_name */ { } break; - case 405: /* db_kind_opt */ - case 412: /* table_kind */ + case 406: /* db_kind_opt */ + case 413: /* table_kind */ { } break; - case 406: /* table_kind_db_name_cond_opt */ + case 407: /* table_kind_db_name_cond_opt */ { } break; - case 463: /* compare_op */ - case 464: /* in_op */ + case 464: /* compare_op */ + case 465: /* in_op */ { } break; - case 476: /* join_type */ + case 477: /* join_type */ { } break; - case 493: /* fill_mode */ + case 494: /* fill_mode */ { } break; - case 504: /* ordering_specification_opt */ + case 505: /* ordering_specification_opt */ { } break; - case 505: /* null_ordering_opt */ + case 506: /* null_ordering_opt */ { } @@ -3312,641 +3354,644 @@ static void yy_shift( /* For rule J, yyRuleInfoLhs[J] contains the symbol on the left-hand side ** of that rule */ static const YYCODETYPE yyRuleInfoLhs[] = { - 345, /* (0) cmd ::= CREATE ACCOUNT NK_ID PASS NK_STRING account_options */ - 345, /* (1) cmd ::= ALTER ACCOUNT NK_ID alter_account_options */ - 346, /* (2) account_options ::= */ - 346, /* (3) account_options ::= account_options PPS literal */ - 346, /* (4) account_options ::= account_options TSERIES literal */ - 346, /* (5) account_options ::= account_options STORAGE literal */ - 346, /* (6) account_options ::= account_options STREAMS literal */ - 346, /* (7) account_options ::= account_options QTIME literal */ - 346, /* (8) account_options ::= account_options DBS literal */ - 346, /* (9) account_options ::= account_options USERS literal */ - 346, /* (10) account_options ::= account_options CONNS literal */ - 346, /* (11) account_options ::= account_options STATE literal */ - 347, /* (12) alter_account_options ::= alter_account_option */ - 347, /* (13) alter_account_options ::= alter_account_options alter_account_option */ - 349, /* (14) alter_account_option ::= PASS literal */ - 349, /* (15) alter_account_option ::= PPS literal */ - 349, /* (16) alter_account_option ::= TSERIES literal */ - 349, /* (17) alter_account_option ::= STORAGE literal */ - 349, /* (18) alter_account_option ::= STREAMS literal */ - 349, /* (19) alter_account_option ::= QTIME literal */ - 349, /* (20) alter_account_option ::= DBS literal */ - 349, /* (21) alter_account_option ::= USERS literal */ - 349, /* (22) alter_account_option ::= CONNS literal */ - 349, /* (23) alter_account_option ::= STATE literal */ - 350, /* (24) ip_range_list ::= NK_STRING */ - 350, /* (25) ip_range_list ::= ip_range_list NK_COMMA NK_STRING */ - 351, /* (26) white_list ::= HOST ip_range_list */ - 352, /* (27) white_list_opt ::= */ - 352, /* (28) white_list_opt ::= white_list */ - 345, /* (29) cmd ::= CREATE USER user_name PASS NK_STRING sysinfo_opt white_list_opt */ - 345, /* (30) cmd ::= ALTER USER user_name PASS NK_STRING */ - 345, /* (31) cmd ::= ALTER USER user_name ENABLE NK_INTEGER */ - 345, /* (32) cmd ::= ALTER USER user_name SYSINFO NK_INTEGER */ - 345, /* (33) cmd ::= ALTER USER user_name ADD white_list */ - 345, /* (34) cmd ::= ALTER USER user_name DROP white_list */ - 345, /* (35) cmd ::= DROP USER user_name */ - 354, /* (36) sysinfo_opt ::= */ - 354, /* (37) sysinfo_opt ::= SYSINFO NK_INTEGER */ - 345, /* (38) cmd ::= GRANT privileges ON priv_level with_opt TO user_name */ - 345, /* (39) cmd ::= REVOKE privileges ON priv_level with_opt FROM user_name */ - 355, /* (40) privileges ::= ALL */ - 355, /* (41) privileges ::= priv_type_list */ - 355, /* (42) privileges ::= SUBSCRIBE */ - 358, /* (43) priv_type_list ::= priv_type */ - 358, /* (44) priv_type_list ::= priv_type_list NK_COMMA priv_type */ - 359, /* (45) priv_type ::= READ */ - 359, /* (46) priv_type ::= WRITE */ - 359, /* (47) priv_type ::= ALTER */ - 356, /* (48) priv_level ::= NK_STAR NK_DOT NK_STAR */ - 356, /* (49) priv_level ::= db_name NK_DOT NK_STAR */ - 356, /* (50) priv_level ::= db_name NK_DOT table_name */ - 356, /* (51) priv_level ::= topic_name */ - 357, /* (52) with_opt ::= */ - 357, /* (53) with_opt ::= WITH search_condition */ - 345, /* (54) cmd ::= CREATE DNODE dnode_endpoint */ - 345, /* (55) cmd ::= CREATE DNODE dnode_endpoint PORT NK_INTEGER */ - 345, /* (56) cmd ::= DROP DNODE NK_INTEGER force_opt */ - 345, /* (57) cmd ::= DROP DNODE dnode_endpoint force_opt */ - 345, /* (58) cmd ::= DROP DNODE NK_INTEGER unsafe_opt */ - 345, /* (59) cmd ::= DROP DNODE dnode_endpoint unsafe_opt */ - 345, /* (60) cmd ::= ALTER DNODE NK_INTEGER NK_STRING */ - 345, /* (61) cmd ::= ALTER DNODE NK_INTEGER NK_STRING NK_STRING */ - 345, /* (62) cmd ::= ALTER ALL DNODES NK_STRING */ - 345, /* (63) cmd ::= ALTER ALL DNODES NK_STRING NK_STRING */ - 345, /* (64) cmd ::= RESTORE DNODE NK_INTEGER */ - 364, /* (65) dnode_endpoint ::= NK_STRING */ - 364, /* (66) dnode_endpoint ::= NK_ID */ - 364, /* (67) dnode_endpoint ::= NK_IPTOKEN */ - 365, /* (68) force_opt ::= */ - 365, /* (69) force_opt ::= FORCE */ - 366, /* (70) unsafe_opt ::= UNSAFE */ - 345, /* (71) cmd ::= ALTER LOCAL NK_STRING */ - 345, /* (72) cmd ::= ALTER LOCAL NK_STRING NK_STRING */ - 345, /* (73) cmd ::= CREATE QNODE ON DNODE NK_INTEGER */ - 345, /* (74) cmd ::= DROP QNODE ON DNODE NK_INTEGER */ - 345, /* (75) cmd ::= RESTORE QNODE ON DNODE NK_INTEGER */ - 345, /* (76) cmd ::= CREATE BNODE ON DNODE NK_INTEGER */ - 345, /* (77) cmd ::= DROP BNODE ON DNODE NK_INTEGER */ - 345, /* (78) cmd ::= CREATE SNODE ON DNODE NK_INTEGER */ - 345, /* (79) cmd ::= DROP SNODE ON DNODE NK_INTEGER */ - 345, /* (80) cmd ::= CREATE MNODE ON DNODE NK_INTEGER */ - 345, /* (81) cmd ::= DROP MNODE ON DNODE NK_INTEGER */ - 345, /* (82) cmd ::= RESTORE MNODE ON DNODE NK_INTEGER */ - 345, /* (83) cmd ::= RESTORE VNODE ON DNODE NK_INTEGER */ - 345, /* (84) cmd ::= CREATE DATABASE not_exists_opt db_name db_options */ - 345, /* (85) cmd ::= DROP DATABASE exists_opt db_name */ - 345, /* (86) cmd ::= USE db_name */ - 345, /* (87) cmd ::= ALTER DATABASE db_name alter_db_options */ - 345, /* (88) cmd ::= FLUSH DATABASE db_name */ - 345, /* (89) cmd ::= TRIM DATABASE db_name speed_opt */ - 345, /* (90) cmd ::= COMPACT DATABASE db_name start_opt end_opt */ - 367, /* (91) not_exists_opt ::= IF NOT EXISTS */ - 367, /* (92) not_exists_opt ::= */ - 369, /* (93) exists_opt ::= IF EXISTS */ - 369, /* (94) exists_opt ::= */ - 368, /* (95) db_options ::= */ - 368, /* (96) db_options ::= db_options BUFFER NK_INTEGER */ - 368, /* (97) db_options ::= db_options CACHEMODEL NK_STRING */ - 368, /* (98) db_options ::= db_options CACHESIZE NK_INTEGER */ - 368, /* (99) db_options ::= db_options COMP NK_INTEGER */ - 368, /* (100) db_options ::= db_options DURATION NK_INTEGER */ - 368, /* (101) db_options ::= db_options DURATION NK_VARIABLE */ - 368, /* (102) db_options ::= db_options MAXROWS NK_INTEGER */ - 368, /* (103) db_options ::= db_options MINROWS NK_INTEGER */ - 368, /* (104) db_options ::= db_options KEEP integer_list */ - 368, /* (105) db_options ::= db_options KEEP variable_list */ - 368, /* (106) db_options ::= db_options PAGES NK_INTEGER */ - 368, /* (107) db_options ::= db_options PAGESIZE NK_INTEGER */ - 368, /* (108) db_options ::= db_options TSDB_PAGESIZE NK_INTEGER */ - 368, /* (109) db_options ::= db_options PRECISION NK_STRING */ - 368, /* (110) db_options ::= db_options REPLICA NK_INTEGER */ - 368, /* (111) db_options ::= db_options VGROUPS NK_INTEGER */ - 368, /* (112) db_options ::= db_options SINGLE_STABLE NK_INTEGER */ - 368, /* (113) db_options ::= db_options RETENTIONS retention_list */ - 368, /* (114) db_options ::= db_options SCHEMALESS NK_INTEGER */ - 368, /* (115) db_options ::= db_options WAL_LEVEL NK_INTEGER */ - 368, /* (116) db_options ::= db_options WAL_FSYNC_PERIOD NK_INTEGER */ - 368, /* (117) db_options ::= db_options WAL_RETENTION_PERIOD NK_INTEGER */ - 368, /* (118) db_options ::= db_options WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ - 368, /* (119) db_options ::= db_options WAL_RETENTION_SIZE NK_INTEGER */ - 368, /* (120) db_options ::= db_options WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ - 368, /* (121) db_options ::= db_options WAL_ROLL_PERIOD NK_INTEGER */ - 368, /* (122) db_options ::= db_options WAL_SEGMENT_SIZE NK_INTEGER */ - 368, /* (123) db_options ::= db_options STT_TRIGGER NK_INTEGER */ - 368, /* (124) db_options ::= db_options TABLE_PREFIX signed */ - 368, /* (125) db_options ::= db_options TABLE_SUFFIX signed */ - 368, /* (126) db_options ::= db_options KEEP_TIME_OFFSET NK_INTEGER */ - 370, /* (127) alter_db_options ::= alter_db_option */ - 370, /* (128) alter_db_options ::= alter_db_options alter_db_option */ - 378, /* (129) alter_db_option ::= BUFFER NK_INTEGER */ - 378, /* (130) alter_db_option ::= CACHEMODEL NK_STRING */ - 378, /* (131) alter_db_option ::= CACHESIZE NK_INTEGER */ - 378, /* (132) alter_db_option ::= WAL_FSYNC_PERIOD NK_INTEGER */ - 378, /* (133) alter_db_option ::= KEEP integer_list */ - 378, /* (134) alter_db_option ::= KEEP variable_list */ - 378, /* (135) alter_db_option ::= PAGES NK_INTEGER */ - 378, /* (136) alter_db_option ::= REPLICA NK_INTEGER */ - 378, /* (137) alter_db_option ::= WAL_LEVEL NK_INTEGER */ - 378, /* (138) alter_db_option ::= STT_TRIGGER NK_INTEGER */ - 378, /* (139) alter_db_option ::= MINROWS NK_INTEGER */ - 378, /* (140) alter_db_option ::= WAL_RETENTION_PERIOD NK_INTEGER */ - 378, /* (141) alter_db_option ::= WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ - 378, /* (142) alter_db_option ::= WAL_RETENTION_SIZE NK_INTEGER */ - 378, /* (143) alter_db_option ::= WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ - 378, /* (144) alter_db_option ::= KEEP_TIME_OFFSET NK_INTEGER */ - 374, /* (145) integer_list ::= NK_INTEGER */ - 374, /* (146) integer_list ::= integer_list NK_COMMA NK_INTEGER */ - 375, /* (147) variable_list ::= NK_VARIABLE */ - 375, /* (148) variable_list ::= variable_list NK_COMMA NK_VARIABLE */ - 376, /* (149) retention_list ::= retention */ - 376, /* (150) retention_list ::= retention_list NK_COMMA retention */ - 379, /* (151) retention ::= NK_VARIABLE NK_COLON NK_VARIABLE */ - 371, /* (152) speed_opt ::= */ - 371, /* (153) speed_opt ::= BWLIMIT NK_INTEGER */ - 372, /* (154) start_opt ::= */ - 372, /* (155) start_opt ::= START WITH NK_INTEGER */ - 372, /* (156) start_opt ::= START WITH NK_STRING */ - 372, /* (157) start_opt ::= START WITH TIMESTAMP NK_STRING */ - 373, /* (158) end_opt ::= */ - 373, /* (159) end_opt ::= END WITH NK_INTEGER */ - 373, /* (160) end_opt ::= END WITH NK_STRING */ - 373, /* (161) end_opt ::= END WITH TIMESTAMP NK_STRING */ - 345, /* (162) cmd ::= CREATE TABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def_opt table_options */ - 345, /* (163) cmd ::= CREATE TABLE multi_create_clause */ - 345, /* (164) cmd ::= CREATE STABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def table_options */ - 345, /* (165) cmd ::= DROP TABLE multi_drop_clause */ - 345, /* (166) cmd ::= DROP STABLE exists_opt full_table_name */ - 345, /* (167) cmd ::= ALTER TABLE alter_table_clause */ - 345, /* (168) cmd ::= ALTER STABLE alter_table_clause */ - 387, /* (169) alter_table_clause ::= full_table_name alter_table_options */ - 387, /* (170) alter_table_clause ::= full_table_name ADD COLUMN column_name type_name */ - 387, /* (171) alter_table_clause ::= full_table_name DROP COLUMN column_name */ - 387, /* (172) alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */ - 387, /* (173) alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */ - 387, /* (174) alter_table_clause ::= full_table_name ADD TAG column_name type_name */ - 387, /* (175) alter_table_clause ::= full_table_name DROP TAG column_name */ - 387, /* (176) alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */ - 387, /* (177) alter_table_clause ::= full_table_name RENAME TAG column_name column_name */ - 387, /* (178) alter_table_clause ::= full_table_name SET TAG column_name NK_EQ signed_literal */ - 384, /* (179) multi_create_clause ::= create_subtable_clause */ - 384, /* (180) multi_create_clause ::= multi_create_clause create_subtable_clause */ - 392, /* (181) create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_cols_opt TAGS NK_LP expression_list NK_RP table_options */ - 386, /* (182) multi_drop_clause ::= drop_table_clause */ - 386, /* (183) multi_drop_clause ::= multi_drop_clause NK_COMMA drop_table_clause */ - 395, /* (184) drop_table_clause ::= exists_opt full_table_name */ - 393, /* (185) specific_cols_opt ::= */ - 393, /* (186) specific_cols_opt ::= NK_LP col_name_list NK_RP */ - 380, /* (187) full_table_name ::= table_name */ - 380, /* (188) full_table_name ::= db_name NK_DOT table_name */ - 381, /* (189) column_def_list ::= column_def */ - 381, /* (190) column_def_list ::= column_def_list NK_COMMA column_def */ - 397, /* (191) column_def ::= column_name type_name */ - 390, /* (192) type_name ::= BOOL */ - 390, /* (193) type_name ::= TINYINT */ - 390, /* (194) type_name ::= SMALLINT */ - 390, /* (195) type_name ::= INT */ - 390, /* (196) type_name ::= INTEGER */ - 390, /* (197) type_name ::= BIGINT */ - 390, /* (198) type_name ::= FLOAT */ - 390, /* (199) type_name ::= DOUBLE */ - 390, /* (200) type_name ::= BINARY NK_LP NK_INTEGER NK_RP */ - 390, /* (201) type_name ::= TIMESTAMP */ - 390, /* (202) type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */ - 390, /* (203) type_name ::= TINYINT UNSIGNED */ - 390, /* (204) type_name ::= SMALLINT UNSIGNED */ - 390, /* (205) type_name ::= INT UNSIGNED */ - 390, /* (206) type_name ::= BIGINT UNSIGNED */ - 390, /* (207) type_name ::= JSON */ - 390, /* (208) type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */ - 390, /* (209) type_name ::= MEDIUMBLOB */ - 390, /* (210) type_name ::= BLOB */ - 390, /* (211) type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */ - 390, /* (212) type_name ::= GEOMETRY NK_LP NK_INTEGER NK_RP */ - 390, /* (213) type_name ::= DECIMAL */ - 390, /* (214) type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */ - 390, /* (215) type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ - 382, /* (216) tags_def_opt ::= */ - 382, /* (217) tags_def_opt ::= tags_def */ - 385, /* (218) tags_def ::= TAGS NK_LP column_def_list NK_RP */ - 383, /* (219) table_options ::= */ - 383, /* (220) table_options ::= table_options COMMENT NK_STRING */ - 383, /* (221) table_options ::= table_options MAX_DELAY duration_list */ - 383, /* (222) table_options ::= table_options WATERMARK duration_list */ - 383, /* (223) table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ - 383, /* (224) table_options ::= table_options TTL NK_INTEGER */ - 383, /* (225) table_options ::= table_options SMA NK_LP col_name_list NK_RP */ - 383, /* (226) table_options ::= table_options DELETE_MARK duration_list */ - 388, /* (227) alter_table_options ::= alter_table_option */ - 388, /* (228) alter_table_options ::= alter_table_options alter_table_option */ - 400, /* (229) alter_table_option ::= COMMENT NK_STRING */ - 400, /* (230) alter_table_option ::= TTL NK_INTEGER */ - 398, /* (231) duration_list ::= duration_literal */ - 398, /* (232) duration_list ::= duration_list NK_COMMA duration_literal */ - 399, /* (233) rollup_func_list ::= rollup_func_name */ - 399, /* (234) rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ - 402, /* (235) rollup_func_name ::= function_name */ - 402, /* (236) rollup_func_name ::= FIRST */ - 402, /* (237) rollup_func_name ::= LAST */ - 396, /* (238) col_name_list ::= col_name */ - 396, /* (239) col_name_list ::= col_name_list NK_COMMA col_name */ - 404, /* (240) col_name ::= column_name */ - 345, /* (241) cmd ::= SHOW DNODES */ - 345, /* (242) cmd ::= SHOW USERS */ - 345, /* (243) cmd ::= SHOW USER PRIVILEGES */ - 345, /* (244) cmd ::= SHOW db_kind_opt DATABASES */ - 345, /* (245) cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ - 345, /* (246) cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ - 345, /* (247) cmd ::= SHOW db_name_cond_opt VGROUPS */ - 345, /* (248) cmd ::= SHOW MNODES */ - 345, /* (249) cmd ::= SHOW QNODES */ - 345, /* (250) cmd ::= SHOW FUNCTIONS */ - 345, /* (251) cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ - 345, /* (252) cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ - 345, /* (253) cmd ::= SHOW STREAMS */ - 345, /* (254) cmd ::= SHOW ACCOUNTS */ - 345, /* (255) cmd ::= SHOW APPS */ - 345, /* (256) cmd ::= SHOW CONNECTIONS */ - 345, /* (257) cmd ::= SHOW LICENCES */ - 345, /* (258) cmd ::= SHOW GRANTS */ - 345, /* (259) cmd ::= SHOW CREATE DATABASE db_name */ - 345, /* (260) cmd ::= SHOW CREATE TABLE full_table_name */ - 345, /* (261) cmd ::= SHOW CREATE STABLE full_table_name */ - 345, /* (262) cmd ::= SHOW QUERIES */ - 345, /* (263) cmd ::= SHOW SCORES */ - 345, /* (264) cmd ::= SHOW TOPICS */ - 345, /* (265) cmd ::= SHOW VARIABLES */ - 345, /* (266) cmd ::= SHOW CLUSTER VARIABLES */ - 345, /* (267) cmd ::= SHOW LOCAL VARIABLES */ - 345, /* (268) cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ - 345, /* (269) cmd ::= SHOW BNODES */ - 345, /* (270) cmd ::= SHOW SNODES */ - 345, /* (271) cmd ::= SHOW CLUSTER */ - 345, /* (272) cmd ::= SHOW TRANSACTIONS */ - 345, /* (273) cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ - 345, /* (274) cmd ::= SHOW CONSUMERS */ - 345, /* (275) cmd ::= SHOW SUBSCRIPTIONS */ - 345, /* (276) cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ - 345, /* (277) cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ - 345, /* (278) cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ - 345, /* (279) cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name */ - 345, /* (280) cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ - 345, /* (281) cmd ::= SHOW VNODES */ - 345, /* (282) cmd ::= SHOW db_name_cond_opt ALIVE */ - 345, /* (283) cmd ::= SHOW CLUSTER ALIVE */ - 345, /* (284) cmd ::= SHOW db_name_cond_opt VIEWS */ - 345, /* (285) cmd ::= SHOW CREATE VIEW full_table_name */ - 406, /* (286) table_kind_db_name_cond_opt ::= */ - 406, /* (287) table_kind_db_name_cond_opt ::= table_kind */ - 406, /* (288) table_kind_db_name_cond_opt ::= db_name NK_DOT */ - 406, /* (289) table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ - 412, /* (290) table_kind ::= NORMAL */ - 412, /* (291) table_kind ::= CHILD */ - 408, /* (292) db_name_cond_opt ::= */ - 408, /* (293) db_name_cond_opt ::= db_name NK_DOT */ - 407, /* (294) like_pattern_opt ::= */ - 407, /* (295) like_pattern_opt ::= LIKE NK_STRING */ - 409, /* (296) table_name_cond ::= table_name */ - 410, /* (297) from_db_opt ::= */ - 410, /* (298) from_db_opt ::= FROM db_name */ - 411, /* (299) tag_list_opt ::= */ - 411, /* (300) tag_list_opt ::= tag_item */ - 411, /* (301) tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ - 413, /* (302) tag_item ::= TBNAME */ - 413, /* (303) tag_item ::= QTAGS */ - 413, /* (304) tag_item ::= column_name */ - 413, /* (305) tag_item ::= column_name column_alias */ - 413, /* (306) tag_item ::= column_name AS column_alias */ - 405, /* (307) db_kind_opt ::= */ - 405, /* (308) db_kind_opt ::= USER */ - 405, /* (309) db_kind_opt ::= SYSTEM */ - 345, /* (310) cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options */ - 345, /* (311) cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP */ - 345, /* (312) cmd ::= DROP INDEX exists_opt full_index_name */ - 416, /* (313) full_index_name ::= index_name */ - 416, /* (314) full_index_name ::= db_name NK_DOT index_name */ - 415, /* (315) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ - 415, /* (316) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt sma_stream_opt */ - 418, /* (317) func_list ::= func */ - 418, /* (318) func_list ::= func_list NK_COMMA func */ - 421, /* (319) func ::= sma_func_name NK_LP expression_list NK_RP */ - 422, /* (320) sma_func_name ::= function_name */ - 422, /* (321) sma_func_name ::= COUNT */ - 422, /* (322) sma_func_name ::= FIRST */ - 422, /* (323) sma_func_name ::= LAST */ - 422, /* (324) sma_func_name ::= LAST_ROW */ - 420, /* (325) sma_stream_opt ::= */ - 420, /* (326) sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ - 420, /* (327) sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ - 420, /* (328) sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ - 423, /* (329) with_meta ::= AS */ - 423, /* (330) with_meta ::= WITH META AS */ - 423, /* (331) with_meta ::= ONLY META AS */ - 345, /* (332) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ - 345, /* (333) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ - 345, /* (334) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ - 345, /* (335) cmd ::= DROP TOPIC exists_opt topic_name */ - 345, /* (336) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ - 345, /* (337) cmd ::= DESC full_table_name */ - 345, /* (338) cmd ::= DESCRIBE full_table_name */ - 345, /* (339) cmd ::= RESET QUERY CACHE */ - 345, /* (340) cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ - 345, /* (341) cmd ::= EXPLAIN analyze_opt explain_options insert_query */ - 427, /* (342) analyze_opt ::= */ - 427, /* (343) analyze_opt ::= ANALYZE */ - 428, /* (344) explain_options ::= */ - 428, /* (345) explain_options ::= explain_options VERBOSE NK_BOOL */ - 428, /* (346) explain_options ::= explain_options RATIO NK_FLOAT */ - 345, /* (347) cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt */ - 345, /* (348) cmd ::= DROP FUNCTION exists_opt function_name */ - 431, /* (349) agg_func_opt ::= */ - 431, /* (350) agg_func_opt ::= AGGREGATE */ - 432, /* (351) bufsize_opt ::= */ - 432, /* (352) bufsize_opt ::= BUFSIZE NK_INTEGER */ - 433, /* (353) language_opt ::= */ - 433, /* (354) language_opt ::= LANGUAGE NK_STRING */ - 430, /* (355) or_replace_opt ::= */ - 430, /* (356) or_replace_opt ::= OR REPLACE */ - 345, /* (357) cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ - 345, /* (358) cmd ::= DROP VIEW exists_opt full_view_name */ - 434, /* (359) full_view_name ::= view_name */ - 434, /* (360) full_view_name ::= db_name NK_DOT view_name */ - 345, /* (361) cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name col_list_opt tag_def_or_ref_opt subtable_opt AS query_or_subquery */ - 345, /* (362) cmd ::= DROP STREAM exists_opt stream_name */ - 345, /* (363) cmd ::= PAUSE STREAM exists_opt stream_name */ - 345, /* (364) cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ - 438, /* (365) col_list_opt ::= */ - 438, /* (366) col_list_opt ::= NK_LP col_name_list NK_RP */ - 439, /* (367) tag_def_or_ref_opt ::= */ - 439, /* (368) tag_def_or_ref_opt ::= tags_def */ - 439, /* (369) tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ - 437, /* (370) stream_options ::= */ - 437, /* (371) stream_options ::= stream_options TRIGGER AT_ONCE */ - 437, /* (372) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ - 437, /* (373) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ - 437, /* (374) stream_options ::= stream_options WATERMARK duration_literal */ - 437, /* (375) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ - 437, /* (376) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ - 437, /* (377) stream_options ::= stream_options DELETE_MARK duration_literal */ - 437, /* (378) stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ - 440, /* (379) subtable_opt ::= */ - 440, /* (380) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ - 441, /* (381) ignore_opt ::= */ - 441, /* (382) ignore_opt ::= IGNORE UNTREATED */ - 345, /* (383) cmd ::= KILL CONNECTION NK_INTEGER */ - 345, /* (384) cmd ::= KILL QUERY NK_STRING */ - 345, /* (385) cmd ::= KILL TRANSACTION NK_INTEGER */ - 345, /* (386) cmd ::= BALANCE VGROUP */ - 345, /* (387) cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ - 345, /* (388) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ - 345, /* (389) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ - 345, /* (390) cmd ::= SPLIT VGROUP NK_INTEGER */ - 443, /* (391) on_vgroup_id ::= */ - 443, /* (392) on_vgroup_id ::= ON NK_INTEGER */ - 444, /* (393) dnode_list ::= DNODE NK_INTEGER */ - 444, /* (394) dnode_list ::= dnode_list DNODE NK_INTEGER */ - 345, /* (395) cmd ::= DELETE FROM full_table_name where_clause_opt */ - 345, /* (396) cmd ::= query_or_subquery */ - 345, /* (397) cmd ::= insert_query */ - 429, /* (398) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ - 429, /* (399) insert_query ::= INSERT INTO full_table_name query_or_subquery */ - 348, /* (400) literal ::= NK_INTEGER */ - 348, /* (401) literal ::= NK_FLOAT */ - 348, /* (402) literal ::= NK_STRING */ - 348, /* (403) literal ::= NK_BOOL */ - 348, /* (404) literal ::= TIMESTAMP NK_STRING */ - 348, /* (405) literal ::= duration_literal */ - 348, /* (406) literal ::= NULL */ - 348, /* (407) literal ::= NK_QUESTION */ - 401, /* (408) duration_literal ::= NK_VARIABLE */ - 377, /* (409) signed ::= NK_INTEGER */ - 377, /* (410) signed ::= NK_PLUS NK_INTEGER */ - 377, /* (411) signed ::= NK_MINUS NK_INTEGER */ - 377, /* (412) signed ::= NK_FLOAT */ - 377, /* (413) signed ::= NK_PLUS NK_FLOAT */ - 377, /* (414) signed ::= NK_MINUS NK_FLOAT */ - 391, /* (415) signed_literal ::= signed */ - 391, /* (416) signed_literal ::= NK_STRING */ - 391, /* (417) signed_literal ::= NK_BOOL */ - 391, /* (418) signed_literal ::= TIMESTAMP NK_STRING */ - 391, /* (419) signed_literal ::= duration_literal */ - 391, /* (420) signed_literal ::= NULL */ - 391, /* (421) signed_literal ::= literal_func */ - 391, /* (422) signed_literal ::= NK_QUESTION */ - 446, /* (423) literal_list ::= signed_literal */ - 446, /* (424) literal_list ::= literal_list NK_COMMA signed_literal */ - 360, /* (425) db_name ::= NK_ID */ - 361, /* (426) table_name ::= NK_ID */ - 389, /* (427) column_name ::= NK_ID */ - 403, /* (428) function_name ::= NK_ID */ - 435, /* (429) view_name ::= NK_ID */ - 447, /* (430) table_alias ::= NK_ID */ - 414, /* (431) column_alias ::= NK_ID */ - 353, /* (432) user_name ::= NK_ID */ - 362, /* (433) topic_name ::= NK_ID */ - 436, /* (434) stream_name ::= NK_ID */ - 426, /* (435) cgroup_name ::= NK_ID */ - 417, /* (436) index_name ::= NK_ID */ - 448, /* (437) expr_or_subquery ::= expression */ - 442, /* (438) expression ::= literal */ - 442, /* (439) expression ::= pseudo_column */ - 442, /* (440) expression ::= column_reference */ - 442, /* (441) expression ::= function_expression */ - 442, /* (442) expression ::= case_when_expression */ - 442, /* (443) expression ::= NK_LP expression NK_RP */ - 442, /* (444) expression ::= NK_PLUS expr_or_subquery */ - 442, /* (445) expression ::= NK_MINUS expr_or_subquery */ - 442, /* (446) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ - 442, /* (447) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ - 442, /* (448) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ - 442, /* (449) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ - 442, /* (450) expression ::= expr_or_subquery NK_REM expr_or_subquery */ - 442, /* (451) expression ::= column_reference NK_ARROW NK_STRING */ - 442, /* (452) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ - 442, /* (453) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ - 394, /* (454) expression_list ::= expr_or_subquery */ - 394, /* (455) expression_list ::= expression_list NK_COMMA expr_or_subquery */ - 450, /* (456) column_reference ::= column_name */ - 450, /* (457) column_reference ::= table_name NK_DOT column_name */ - 449, /* (458) pseudo_column ::= ROWTS */ - 449, /* (459) pseudo_column ::= TBNAME */ - 449, /* (460) pseudo_column ::= table_name NK_DOT TBNAME */ - 449, /* (461) pseudo_column ::= QSTART */ - 449, /* (462) pseudo_column ::= QEND */ - 449, /* (463) pseudo_column ::= QDURATION */ - 449, /* (464) pseudo_column ::= WSTART */ - 449, /* (465) pseudo_column ::= WEND */ - 449, /* (466) pseudo_column ::= WDURATION */ - 449, /* (467) pseudo_column ::= IROWTS */ - 449, /* (468) pseudo_column ::= ISFILLED */ - 449, /* (469) pseudo_column ::= QTAGS */ - 451, /* (470) function_expression ::= function_name NK_LP expression_list NK_RP */ - 451, /* (471) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ - 451, /* (472) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ - 451, /* (473) function_expression ::= literal_func */ - 445, /* (474) literal_func ::= noarg_func NK_LP NK_RP */ - 445, /* (475) literal_func ::= NOW */ - 455, /* (476) noarg_func ::= NOW */ - 455, /* (477) noarg_func ::= TODAY */ - 455, /* (478) noarg_func ::= TIMEZONE */ - 455, /* (479) noarg_func ::= DATABASE */ - 455, /* (480) noarg_func ::= CLIENT_VERSION */ - 455, /* (481) noarg_func ::= SERVER_VERSION */ - 455, /* (482) noarg_func ::= SERVER_STATUS */ - 455, /* (483) noarg_func ::= CURRENT_USER */ - 455, /* (484) noarg_func ::= USER */ - 453, /* (485) star_func ::= COUNT */ - 453, /* (486) star_func ::= FIRST */ - 453, /* (487) star_func ::= LAST */ - 453, /* (488) star_func ::= LAST_ROW */ - 454, /* (489) star_func_para_list ::= NK_STAR */ - 454, /* (490) star_func_para_list ::= other_para_list */ - 456, /* (491) other_para_list ::= star_func_para */ - 456, /* (492) other_para_list ::= other_para_list NK_COMMA star_func_para */ - 457, /* (493) star_func_para ::= expr_or_subquery */ - 457, /* (494) star_func_para ::= table_name NK_DOT NK_STAR */ - 452, /* (495) case_when_expression ::= CASE when_then_list case_when_else_opt END */ - 452, /* (496) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ - 458, /* (497) when_then_list ::= when_then_expr */ - 458, /* (498) when_then_list ::= when_then_list when_then_expr */ - 461, /* (499) when_then_expr ::= WHEN common_expression THEN common_expression */ - 459, /* (500) case_when_else_opt ::= */ - 459, /* (501) case_when_else_opt ::= ELSE common_expression */ - 462, /* (502) predicate ::= expr_or_subquery compare_op expr_or_subquery */ - 462, /* (503) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ - 462, /* (504) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ - 462, /* (505) predicate ::= expr_or_subquery IS NULL */ - 462, /* (506) predicate ::= expr_or_subquery IS NOT NULL */ - 462, /* (507) predicate ::= expr_or_subquery in_op in_predicate_value */ - 463, /* (508) compare_op ::= NK_LT */ - 463, /* (509) compare_op ::= NK_GT */ - 463, /* (510) compare_op ::= NK_LE */ - 463, /* (511) compare_op ::= NK_GE */ - 463, /* (512) compare_op ::= NK_NE */ - 463, /* (513) compare_op ::= NK_EQ */ - 463, /* (514) compare_op ::= LIKE */ - 463, /* (515) compare_op ::= NOT LIKE */ - 463, /* (516) compare_op ::= MATCH */ - 463, /* (517) compare_op ::= NMATCH */ - 463, /* (518) compare_op ::= CONTAINS */ - 464, /* (519) in_op ::= IN */ - 464, /* (520) in_op ::= NOT IN */ - 465, /* (521) in_predicate_value ::= NK_LP literal_list NK_RP */ - 466, /* (522) boolean_value_expression ::= boolean_primary */ - 466, /* (523) boolean_value_expression ::= NOT boolean_primary */ - 466, /* (524) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ - 466, /* (525) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ - 467, /* (526) boolean_primary ::= predicate */ - 467, /* (527) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ - 460, /* (528) common_expression ::= expr_or_subquery */ - 460, /* (529) common_expression ::= boolean_value_expression */ - 468, /* (530) from_clause_opt ::= */ - 468, /* (531) from_clause_opt ::= FROM table_reference_list */ - 469, /* (532) table_reference_list ::= table_reference */ - 469, /* (533) table_reference_list ::= table_reference_list NK_COMMA table_reference */ - 470, /* (534) table_reference ::= table_primary */ - 470, /* (535) table_reference ::= joined_table */ - 471, /* (536) table_primary ::= table_name alias_opt */ - 471, /* (537) table_primary ::= db_name NK_DOT table_name alias_opt */ - 471, /* (538) table_primary ::= subquery alias_opt */ - 471, /* (539) table_primary ::= parenthesized_joined_table */ - 473, /* (540) alias_opt ::= */ - 473, /* (541) alias_opt ::= table_alias */ - 473, /* (542) alias_opt ::= AS table_alias */ - 475, /* (543) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ - 475, /* (544) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ - 472, /* (545) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ - 476, /* (546) join_type ::= */ - 476, /* (547) join_type ::= INNER */ - 477, /* (548) query_specification ::= SELECT hint_list set_quantifier_opt tag_mode_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt */ - 478, /* (549) hint_list ::= */ - 478, /* (550) hint_list ::= NK_HINT */ - 480, /* (551) tag_mode_opt ::= */ - 480, /* (552) tag_mode_opt ::= TAGS */ - 479, /* (553) set_quantifier_opt ::= */ - 479, /* (554) set_quantifier_opt ::= DISTINCT */ - 479, /* (555) set_quantifier_opt ::= ALL */ - 481, /* (556) select_list ::= select_item */ - 481, /* (557) select_list ::= select_list NK_COMMA select_item */ - 489, /* (558) select_item ::= NK_STAR */ - 489, /* (559) select_item ::= common_expression */ - 489, /* (560) select_item ::= common_expression column_alias */ - 489, /* (561) select_item ::= common_expression AS column_alias */ - 489, /* (562) select_item ::= table_name NK_DOT NK_STAR */ - 425, /* (563) where_clause_opt ::= */ - 425, /* (564) where_clause_opt ::= WHERE search_condition */ - 482, /* (565) partition_by_clause_opt ::= */ - 482, /* (566) partition_by_clause_opt ::= PARTITION BY partition_list */ - 490, /* (567) partition_list ::= partition_item */ - 490, /* (568) partition_list ::= partition_list NK_COMMA partition_item */ - 491, /* (569) partition_item ::= expr_or_subquery */ - 491, /* (570) partition_item ::= expr_or_subquery column_alias */ - 491, /* (571) partition_item ::= expr_or_subquery AS column_alias */ - 486, /* (572) twindow_clause_opt ::= */ - 486, /* (573) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ - 486, /* (574) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ - 486, /* (575) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ - 486, /* (576) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ - 486, /* (577) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ - 419, /* (578) sliding_opt ::= */ - 419, /* (579) sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ - 492, /* (580) interval_sliding_duration_literal ::= NK_VARIABLE */ - 492, /* (581) interval_sliding_duration_literal ::= NK_STRING */ - 492, /* (582) interval_sliding_duration_literal ::= NK_INTEGER */ - 485, /* (583) fill_opt ::= */ - 485, /* (584) fill_opt ::= FILL NK_LP fill_mode NK_RP */ - 485, /* (585) fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ - 485, /* (586) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ - 493, /* (587) fill_mode ::= NONE */ - 493, /* (588) fill_mode ::= PREV */ - 493, /* (589) fill_mode ::= NULL */ - 493, /* (590) fill_mode ::= NULL_F */ - 493, /* (591) fill_mode ::= LINEAR */ - 493, /* (592) fill_mode ::= NEXT */ - 487, /* (593) group_by_clause_opt ::= */ - 487, /* (594) group_by_clause_opt ::= GROUP BY group_by_list */ - 494, /* (595) group_by_list ::= expr_or_subquery */ - 494, /* (596) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ - 488, /* (597) having_clause_opt ::= */ - 488, /* (598) having_clause_opt ::= HAVING search_condition */ - 483, /* (599) range_opt ::= */ - 483, /* (600) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ - 483, /* (601) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ - 484, /* (602) every_opt ::= */ - 484, /* (603) every_opt ::= EVERY NK_LP duration_literal NK_RP */ - 495, /* (604) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ - 496, /* (605) query_simple ::= query_specification */ - 496, /* (606) query_simple ::= union_query_expression */ - 500, /* (607) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ - 500, /* (608) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ - 501, /* (609) query_simple_or_subquery ::= query_simple */ - 501, /* (610) query_simple_or_subquery ::= subquery */ - 424, /* (611) query_or_subquery ::= query_expression */ - 424, /* (612) query_or_subquery ::= subquery */ - 497, /* (613) order_by_clause_opt ::= */ - 497, /* (614) order_by_clause_opt ::= ORDER BY sort_specification_list */ - 498, /* (615) slimit_clause_opt ::= */ - 498, /* (616) slimit_clause_opt ::= SLIMIT NK_INTEGER */ - 498, /* (617) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - 498, /* (618) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - 499, /* (619) limit_clause_opt ::= */ - 499, /* (620) limit_clause_opt ::= LIMIT NK_INTEGER */ - 499, /* (621) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ - 499, /* (622) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - 474, /* (623) subquery ::= NK_LP query_expression NK_RP */ - 474, /* (624) subquery ::= NK_LP subquery NK_RP */ - 363, /* (625) search_condition ::= common_expression */ - 502, /* (626) sort_specification_list ::= sort_specification */ - 502, /* (627) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ - 503, /* (628) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ - 504, /* (629) ordering_specification_opt ::= */ - 504, /* (630) ordering_specification_opt ::= ASC */ - 504, /* (631) ordering_specification_opt ::= DESC */ - 505, /* (632) null_ordering_opt ::= */ - 505, /* (633) null_ordering_opt ::= NULLS FIRST */ - 505, /* (634) null_ordering_opt ::= NULLS LAST */ + 346, /* (0) cmd ::= CREATE ACCOUNT NK_ID PASS NK_STRING account_options */ + 346, /* (1) cmd ::= ALTER ACCOUNT NK_ID alter_account_options */ + 347, /* (2) account_options ::= */ + 347, /* (3) account_options ::= account_options PPS literal */ + 347, /* (4) account_options ::= account_options TSERIES literal */ + 347, /* (5) account_options ::= account_options STORAGE literal */ + 347, /* (6) account_options ::= account_options STREAMS literal */ + 347, /* (7) account_options ::= account_options QTIME literal */ + 347, /* (8) account_options ::= account_options DBS literal */ + 347, /* (9) account_options ::= account_options USERS literal */ + 347, /* (10) account_options ::= account_options CONNS literal */ + 347, /* (11) account_options ::= account_options STATE literal */ + 348, /* (12) alter_account_options ::= alter_account_option */ + 348, /* (13) alter_account_options ::= alter_account_options alter_account_option */ + 350, /* (14) alter_account_option ::= PASS literal */ + 350, /* (15) alter_account_option ::= PPS literal */ + 350, /* (16) alter_account_option ::= TSERIES literal */ + 350, /* (17) alter_account_option ::= STORAGE literal */ + 350, /* (18) alter_account_option ::= STREAMS literal */ + 350, /* (19) alter_account_option ::= QTIME literal */ + 350, /* (20) alter_account_option ::= DBS literal */ + 350, /* (21) alter_account_option ::= USERS literal */ + 350, /* (22) alter_account_option ::= CONNS literal */ + 350, /* (23) alter_account_option ::= STATE literal */ + 351, /* (24) ip_range_list ::= NK_STRING */ + 351, /* (25) ip_range_list ::= ip_range_list NK_COMMA NK_STRING */ + 352, /* (26) white_list ::= HOST ip_range_list */ + 353, /* (27) white_list_opt ::= */ + 353, /* (28) white_list_opt ::= white_list */ + 346, /* (29) cmd ::= CREATE USER user_name PASS NK_STRING sysinfo_opt white_list_opt */ + 346, /* (30) cmd ::= ALTER USER user_name PASS NK_STRING */ + 346, /* (31) cmd ::= ALTER USER user_name ENABLE NK_INTEGER */ + 346, /* (32) cmd ::= ALTER USER user_name SYSINFO NK_INTEGER */ + 346, /* (33) cmd ::= ALTER USER user_name ADD white_list */ + 346, /* (34) cmd ::= ALTER USER user_name DROP white_list */ + 346, /* (35) cmd ::= DROP USER user_name */ + 355, /* (36) sysinfo_opt ::= */ + 355, /* (37) sysinfo_opt ::= SYSINFO NK_INTEGER */ + 346, /* (38) cmd ::= GRANT privileges ON priv_level with_opt TO user_name */ + 346, /* (39) cmd ::= REVOKE privileges ON priv_level with_opt FROM user_name */ + 356, /* (40) privileges ::= ALL */ + 356, /* (41) privileges ::= priv_type_list */ + 356, /* (42) privileges ::= SUBSCRIBE */ + 359, /* (43) priv_type_list ::= priv_type */ + 359, /* (44) priv_type_list ::= priv_type_list NK_COMMA priv_type */ + 360, /* (45) priv_type ::= READ */ + 360, /* (46) priv_type ::= WRITE */ + 360, /* (47) priv_type ::= ALTER */ + 357, /* (48) priv_level ::= NK_STAR NK_DOT NK_STAR */ + 357, /* (49) priv_level ::= db_name NK_DOT NK_STAR */ + 357, /* (50) priv_level ::= db_name NK_DOT table_name */ + 357, /* (51) priv_level ::= topic_name */ + 358, /* (52) with_opt ::= */ + 358, /* (53) with_opt ::= WITH search_condition */ + 346, /* (54) cmd ::= CREATE DNODE dnode_endpoint */ + 346, /* (55) cmd ::= CREATE DNODE dnode_endpoint PORT NK_INTEGER */ + 346, /* (56) cmd ::= DROP DNODE NK_INTEGER force_opt */ + 346, /* (57) cmd ::= DROP DNODE dnode_endpoint force_opt */ + 346, /* (58) cmd ::= DROP DNODE NK_INTEGER unsafe_opt */ + 346, /* (59) cmd ::= DROP DNODE dnode_endpoint unsafe_opt */ + 346, /* (60) cmd ::= ALTER DNODE NK_INTEGER NK_STRING */ + 346, /* (61) cmd ::= ALTER DNODE NK_INTEGER NK_STRING NK_STRING */ + 346, /* (62) cmd ::= ALTER ALL DNODES NK_STRING */ + 346, /* (63) cmd ::= ALTER ALL DNODES NK_STRING NK_STRING */ + 346, /* (64) cmd ::= RESTORE DNODE NK_INTEGER */ + 365, /* (65) dnode_endpoint ::= NK_STRING */ + 365, /* (66) dnode_endpoint ::= NK_ID */ + 365, /* (67) dnode_endpoint ::= NK_IPTOKEN */ + 366, /* (68) force_opt ::= */ + 366, /* (69) force_opt ::= FORCE */ + 367, /* (70) unsafe_opt ::= UNSAFE */ + 346, /* (71) cmd ::= ALTER LOCAL NK_STRING */ + 346, /* (72) cmd ::= ALTER LOCAL NK_STRING NK_STRING */ + 346, /* (73) cmd ::= CREATE QNODE ON DNODE NK_INTEGER */ + 346, /* (74) cmd ::= DROP QNODE ON DNODE NK_INTEGER */ + 346, /* (75) cmd ::= RESTORE QNODE ON DNODE NK_INTEGER */ + 346, /* (76) cmd ::= CREATE BNODE ON DNODE NK_INTEGER */ + 346, /* (77) cmd ::= DROP BNODE ON DNODE NK_INTEGER */ + 346, /* (78) cmd ::= CREATE SNODE ON DNODE NK_INTEGER */ + 346, /* (79) cmd ::= DROP SNODE ON DNODE NK_INTEGER */ + 346, /* (80) cmd ::= CREATE MNODE ON DNODE NK_INTEGER */ + 346, /* (81) cmd ::= DROP MNODE ON DNODE NK_INTEGER */ + 346, /* (82) cmd ::= RESTORE MNODE ON DNODE NK_INTEGER */ + 346, /* (83) cmd ::= RESTORE VNODE ON DNODE NK_INTEGER */ + 346, /* (84) cmd ::= CREATE DATABASE not_exists_opt db_name db_options */ + 346, /* (85) cmd ::= DROP DATABASE exists_opt db_name */ + 346, /* (86) cmd ::= USE db_name */ + 346, /* (87) cmd ::= ALTER DATABASE db_name alter_db_options */ + 346, /* (88) cmd ::= FLUSH DATABASE db_name */ + 346, /* (89) cmd ::= TRIM DATABASE db_name speed_opt */ + 346, /* (90) cmd ::= COMPACT DATABASE db_name start_opt end_opt */ + 368, /* (91) not_exists_opt ::= IF NOT EXISTS */ + 368, /* (92) not_exists_opt ::= */ + 370, /* (93) exists_opt ::= IF EXISTS */ + 370, /* (94) exists_opt ::= */ + 369, /* (95) db_options ::= */ + 369, /* (96) db_options ::= db_options BUFFER NK_INTEGER */ + 369, /* (97) db_options ::= db_options CACHEMODEL NK_STRING */ + 369, /* (98) db_options ::= db_options CACHESIZE NK_INTEGER */ + 369, /* (99) db_options ::= db_options COMP NK_INTEGER */ + 369, /* (100) db_options ::= db_options DURATION NK_INTEGER */ + 369, /* (101) db_options ::= db_options DURATION NK_VARIABLE */ + 369, /* (102) db_options ::= db_options MAXROWS NK_INTEGER */ + 369, /* (103) db_options ::= db_options MINROWS NK_INTEGER */ + 369, /* (104) db_options ::= db_options KEEP integer_list */ + 369, /* (105) db_options ::= db_options KEEP variable_list */ + 369, /* (106) db_options ::= db_options PAGES NK_INTEGER */ + 369, /* (107) db_options ::= db_options PAGESIZE NK_INTEGER */ + 369, /* (108) db_options ::= db_options TSDB_PAGESIZE NK_INTEGER */ + 369, /* (109) db_options ::= db_options PRECISION NK_STRING */ + 369, /* (110) db_options ::= db_options REPLICA NK_INTEGER */ + 369, /* (111) db_options ::= db_options VGROUPS NK_INTEGER */ + 369, /* (112) db_options ::= db_options SINGLE_STABLE NK_INTEGER */ + 369, /* (113) db_options ::= db_options RETENTIONS retention_list */ + 369, /* (114) db_options ::= db_options SCHEMALESS NK_INTEGER */ + 369, /* (115) db_options ::= db_options WAL_LEVEL NK_INTEGER */ + 369, /* (116) db_options ::= db_options WAL_FSYNC_PERIOD NK_INTEGER */ + 369, /* (117) db_options ::= db_options WAL_RETENTION_PERIOD NK_INTEGER */ + 369, /* (118) db_options ::= db_options WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ + 369, /* (119) db_options ::= db_options WAL_RETENTION_SIZE NK_INTEGER */ + 369, /* (120) db_options ::= db_options WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ + 369, /* (121) db_options ::= db_options WAL_ROLL_PERIOD NK_INTEGER */ + 369, /* (122) db_options ::= db_options WAL_SEGMENT_SIZE NK_INTEGER */ + 369, /* (123) db_options ::= db_options STT_TRIGGER NK_INTEGER */ + 369, /* (124) db_options ::= db_options TABLE_PREFIX signed */ + 369, /* (125) db_options ::= db_options TABLE_SUFFIX signed */ + 369, /* (126) db_options ::= db_options KEEP_TIME_OFFSET NK_INTEGER */ + 371, /* (127) alter_db_options ::= alter_db_option */ + 371, /* (128) alter_db_options ::= alter_db_options alter_db_option */ + 379, /* (129) alter_db_option ::= BUFFER NK_INTEGER */ + 379, /* (130) alter_db_option ::= CACHEMODEL NK_STRING */ + 379, /* (131) alter_db_option ::= CACHESIZE NK_INTEGER */ + 379, /* (132) alter_db_option ::= WAL_FSYNC_PERIOD NK_INTEGER */ + 379, /* (133) alter_db_option ::= KEEP integer_list */ + 379, /* (134) alter_db_option ::= KEEP variable_list */ + 379, /* (135) alter_db_option ::= PAGES NK_INTEGER */ + 379, /* (136) alter_db_option ::= REPLICA NK_INTEGER */ + 379, /* (137) alter_db_option ::= WAL_LEVEL NK_INTEGER */ + 379, /* (138) alter_db_option ::= STT_TRIGGER NK_INTEGER */ + 379, /* (139) alter_db_option ::= MINROWS NK_INTEGER */ + 379, /* (140) alter_db_option ::= WAL_RETENTION_PERIOD NK_INTEGER */ + 379, /* (141) alter_db_option ::= WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ + 379, /* (142) alter_db_option ::= WAL_RETENTION_SIZE NK_INTEGER */ + 379, /* (143) alter_db_option ::= WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ + 379, /* (144) alter_db_option ::= KEEP_TIME_OFFSET NK_INTEGER */ + 375, /* (145) integer_list ::= NK_INTEGER */ + 375, /* (146) integer_list ::= integer_list NK_COMMA NK_INTEGER */ + 376, /* (147) variable_list ::= NK_VARIABLE */ + 376, /* (148) variable_list ::= variable_list NK_COMMA NK_VARIABLE */ + 377, /* (149) retention_list ::= retention */ + 377, /* (150) retention_list ::= retention_list NK_COMMA retention */ + 380, /* (151) retention ::= NK_VARIABLE NK_COLON NK_VARIABLE */ + 372, /* (152) speed_opt ::= */ + 372, /* (153) speed_opt ::= BWLIMIT NK_INTEGER */ + 373, /* (154) start_opt ::= */ + 373, /* (155) start_opt ::= START WITH NK_INTEGER */ + 373, /* (156) start_opt ::= START WITH NK_STRING */ + 373, /* (157) start_opt ::= START WITH TIMESTAMP NK_STRING */ + 374, /* (158) end_opt ::= */ + 374, /* (159) end_opt ::= END WITH NK_INTEGER */ + 374, /* (160) end_opt ::= END WITH NK_STRING */ + 374, /* (161) end_opt ::= END WITH TIMESTAMP NK_STRING */ + 346, /* (162) cmd ::= CREATE TABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def_opt table_options */ + 346, /* (163) cmd ::= CREATE TABLE multi_create_clause */ + 346, /* (164) cmd ::= CREATE STABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def table_options */ + 346, /* (165) cmd ::= DROP TABLE multi_drop_clause */ + 346, /* (166) cmd ::= DROP STABLE exists_opt full_table_name */ + 346, /* (167) cmd ::= ALTER TABLE alter_table_clause */ + 346, /* (168) cmd ::= ALTER STABLE alter_table_clause */ + 388, /* (169) alter_table_clause ::= full_table_name alter_table_options */ + 388, /* (170) alter_table_clause ::= full_table_name ADD COLUMN column_name type_name */ + 388, /* (171) alter_table_clause ::= full_table_name DROP COLUMN column_name */ + 388, /* (172) alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */ + 388, /* (173) alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */ + 388, /* (174) alter_table_clause ::= full_table_name ADD TAG column_name type_name */ + 388, /* (175) alter_table_clause ::= full_table_name DROP TAG column_name */ + 388, /* (176) alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */ + 388, /* (177) alter_table_clause ::= full_table_name RENAME TAG column_name column_name */ + 388, /* (178) alter_table_clause ::= full_table_name SET TAG column_name NK_EQ signed_literal */ + 385, /* (179) multi_create_clause ::= create_subtable_clause */ + 385, /* (180) multi_create_clause ::= multi_create_clause create_subtable_clause */ + 393, /* (181) create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_cols_opt TAGS NK_LP expression_list NK_RP table_options */ + 387, /* (182) multi_drop_clause ::= drop_table_clause */ + 387, /* (183) multi_drop_clause ::= multi_drop_clause NK_COMMA drop_table_clause */ + 396, /* (184) drop_table_clause ::= exists_opt full_table_name */ + 394, /* (185) specific_cols_opt ::= */ + 394, /* (186) specific_cols_opt ::= NK_LP col_name_list NK_RP */ + 381, /* (187) full_table_name ::= table_name */ + 381, /* (188) full_table_name ::= db_name NK_DOT table_name */ + 382, /* (189) column_def_list ::= column_def */ + 382, /* (190) column_def_list ::= column_def_list NK_COMMA column_def */ + 398, /* (191) column_def ::= column_name type_name */ + 391, /* (192) type_name ::= BOOL */ + 391, /* (193) type_name ::= TINYINT */ + 391, /* (194) type_name ::= SMALLINT */ + 391, /* (195) type_name ::= INT */ + 391, /* (196) type_name ::= INTEGER */ + 391, /* (197) type_name ::= BIGINT */ + 391, /* (198) type_name ::= FLOAT */ + 391, /* (199) type_name ::= DOUBLE */ + 391, /* (200) type_name ::= BINARY NK_LP NK_INTEGER NK_RP */ + 391, /* (201) type_name ::= TIMESTAMP */ + 391, /* (202) type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */ + 391, /* (203) type_name ::= TINYINT UNSIGNED */ + 391, /* (204) type_name ::= SMALLINT UNSIGNED */ + 391, /* (205) type_name ::= INT UNSIGNED */ + 391, /* (206) type_name ::= BIGINT UNSIGNED */ + 391, /* (207) type_name ::= JSON */ + 391, /* (208) type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */ + 391, /* (209) type_name ::= MEDIUMBLOB */ + 391, /* (210) type_name ::= BLOB */ + 391, /* (211) type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */ + 391, /* (212) type_name ::= GEOMETRY NK_LP NK_INTEGER NK_RP */ + 391, /* (213) type_name ::= DECIMAL */ + 391, /* (214) type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */ + 391, /* (215) type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ + 383, /* (216) tags_def_opt ::= */ + 383, /* (217) tags_def_opt ::= tags_def */ + 386, /* (218) tags_def ::= TAGS NK_LP column_def_list NK_RP */ + 384, /* (219) table_options ::= */ + 384, /* (220) table_options ::= table_options COMMENT NK_STRING */ + 384, /* (221) table_options ::= table_options MAX_DELAY duration_list */ + 384, /* (222) table_options ::= table_options WATERMARK duration_list */ + 384, /* (223) table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ + 384, /* (224) table_options ::= table_options TTL NK_INTEGER */ + 384, /* (225) table_options ::= table_options SMA NK_LP col_name_list NK_RP */ + 384, /* (226) table_options ::= table_options DELETE_MARK duration_list */ + 389, /* (227) alter_table_options ::= alter_table_option */ + 389, /* (228) alter_table_options ::= alter_table_options alter_table_option */ + 401, /* (229) alter_table_option ::= COMMENT NK_STRING */ + 401, /* (230) alter_table_option ::= TTL NK_INTEGER */ + 399, /* (231) duration_list ::= duration_literal */ + 399, /* (232) duration_list ::= duration_list NK_COMMA duration_literal */ + 400, /* (233) rollup_func_list ::= rollup_func_name */ + 400, /* (234) rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ + 403, /* (235) rollup_func_name ::= function_name */ + 403, /* (236) rollup_func_name ::= FIRST */ + 403, /* (237) rollup_func_name ::= LAST */ + 397, /* (238) col_name_list ::= col_name */ + 397, /* (239) col_name_list ::= col_name_list NK_COMMA col_name */ + 405, /* (240) col_name ::= column_name */ + 346, /* (241) cmd ::= SHOW DNODES */ + 346, /* (242) cmd ::= SHOW USERS */ + 346, /* (243) cmd ::= SHOW USER PRIVILEGES */ + 346, /* (244) cmd ::= SHOW db_kind_opt DATABASES */ + 346, /* (245) cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ + 346, /* (246) cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ + 346, /* (247) cmd ::= SHOW db_name_cond_opt VGROUPS */ + 346, /* (248) cmd ::= SHOW MNODES */ + 346, /* (249) cmd ::= SHOW QNODES */ + 346, /* (250) cmd ::= SHOW FUNCTIONS */ + 346, /* (251) cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ + 346, /* (252) cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ + 346, /* (253) cmd ::= SHOW STREAMS */ + 346, /* (254) cmd ::= SHOW ACCOUNTS */ + 346, /* (255) cmd ::= SHOW APPS */ + 346, /* (256) cmd ::= SHOW CONNECTIONS */ + 346, /* (257) cmd ::= SHOW LICENCES */ + 346, /* (258) cmd ::= SHOW GRANTS */ + 346, /* (259) cmd ::= SHOW CREATE DATABASE db_name */ + 346, /* (260) cmd ::= SHOW CREATE TABLE full_table_name */ + 346, /* (261) cmd ::= SHOW CREATE STABLE full_table_name */ + 346, /* (262) cmd ::= SHOW QUERIES */ + 346, /* (263) cmd ::= SHOW SCORES */ + 346, /* (264) cmd ::= SHOW TOPICS */ + 346, /* (265) cmd ::= SHOW VARIABLES */ + 346, /* (266) cmd ::= SHOW CLUSTER VARIABLES */ + 346, /* (267) cmd ::= SHOW LOCAL VARIABLES */ + 346, /* (268) cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ + 346, /* (269) cmd ::= SHOW BNODES */ + 346, /* (270) cmd ::= SHOW SNODES */ + 346, /* (271) cmd ::= SHOW CLUSTER */ + 346, /* (272) cmd ::= SHOW TRANSACTIONS */ + 346, /* (273) cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ + 346, /* (274) cmd ::= SHOW CONSUMERS */ + 346, /* (275) cmd ::= SHOW SUBSCRIPTIONS */ + 346, /* (276) cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ + 346, /* (277) cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ + 346, /* (278) cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ + 346, /* (279) cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name */ + 346, /* (280) cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ + 346, /* (281) cmd ::= SHOW VNODES */ + 346, /* (282) cmd ::= SHOW db_name_cond_opt ALIVE */ + 346, /* (283) cmd ::= SHOW CLUSTER ALIVE */ + 346, /* (284) cmd ::= SHOW db_name_cond_opt VIEWS */ + 346, /* (285) cmd ::= SHOW CREATE VIEW full_table_name */ + 407, /* (286) table_kind_db_name_cond_opt ::= */ + 407, /* (287) table_kind_db_name_cond_opt ::= table_kind */ + 407, /* (288) table_kind_db_name_cond_opt ::= db_name NK_DOT */ + 407, /* (289) table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ + 413, /* (290) table_kind ::= NORMAL */ + 413, /* (291) table_kind ::= CHILD */ + 409, /* (292) db_name_cond_opt ::= */ + 409, /* (293) db_name_cond_opt ::= db_name NK_DOT */ + 408, /* (294) like_pattern_opt ::= */ + 408, /* (295) like_pattern_opt ::= LIKE NK_STRING */ + 410, /* (296) table_name_cond ::= table_name */ + 411, /* (297) from_db_opt ::= */ + 411, /* (298) from_db_opt ::= FROM db_name */ + 412, /* (299) tag_list_opt ::= */ + 412, /* (300) tag_list_opt ::= tag_item */ + 412, /* (301) tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ + 414, /* (302) tag_item ::= TBNAME */ + 414, /* (303) tag_item ::= QTAGS */ + 414, /* (304) tag_item ::= column_name */ + 414, /* (305) tag_item ::= column_name column_alias */ + 414, /* (306) tag_item ::= column_name AS column_alias */ + 406, /* (307) db_kind_opt ::= */ + 406, /* (308) db_kind_opt ::= USER */ + 406, /* (309) db_kind_opt ::= SYSTEM */ + 346, /* (310) cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options */ + 346, /* (311) cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP */ + 346, /* (312) cmd ::= DROP INDEX exists_opt full_index_name */ + 417, /* (313) full_index_name ::= index_name */ + 417, /* (314) full_index_name ::= db_name NK_DOT index_name */ + 416, /* (315) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ + 416, /* (316) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt sma_stream_opt */ + 419, /* (317) func_list ::= func */ + 419, /* (318) func_list ::= func_list NK_COMMA func */ + 422, /* (319) func ::= sma_func_name NK_LP expression_list NK_RP */ + 423, /* (320) sma_func_name ::= function_name */ + 423, /* (321) sma_func_name ::= COUNT */ + 423, /* (322) sma_func_name ::= FIRST */ + 423, /* (323) sma_func_name ::= LAST */ + 423, /* (324) sma_func_name ::= LAST_ROW */ + 421, /* (325) sma_stream_opt ::= */ + 421, /* (326) sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ + 421, /* (327) sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ + 421, /* (328) sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ + 424, /* (329) with_meta ::= AS */ + 424, /* (330) with_meta ::= WITH META AS */ + 424, /* (331) with_meta ::= ONLY META AS */ + 346, /* (332) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ + 346, /* (333) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ + 346, /* (334) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ + 346, /* (335) cmd ::= DROP TOPIC exists_opt topic_name */ + 346, /* (336) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ + 346, /* (337) cmd ::= DESC full_table_name */ + 346, /* (338) cmd ::= DESCRIBE full_table_name */ + 346, /* (339) cmd ::= RESET QUERY CACHE */ + 346, /* (340) cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ + 346, /* (341) cmd ::= EXPLAIN analyze_opt explain_options insert_query */ + 428, /* (342) analyze_opt ::= */ + 428, /* (343) analyze_opt ::= ANALYZE */ + 429, /* (344) explain_options ::= */ + 429, /* (345) explain_options ::= explain_options VERBOSE NK_BOOL */ + 429, /* (346) explain_options ::= explain_options RATIO NK_FLOAT */ + 346, /* (347) cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt */ + 346, /* (348) cmd ::= DROP FUNCTION exists_opt function_name */ + 432, /* (349) agg_func_opt ::= */ + 432, /* (350) agg_func_opt ::= AGGREGATE */ + 433, /* (351) bufsize_opt ::= */ + 433, /* (352) bufsize_opt ::= BUFSIZE NK_INTEGER */ + 434, /* (353) language_opt ::= */ + 434, /* (354) language_opt ::= LANGUAGE NK_STRING */ + 431, /* (355) or_replace_opt ::= */ + 431, /* (356) or_replace_opt ::= OR REPLACE */ + 346, /* (357) cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ + 346, /* (358) cmd ::= DROP VIEW exists_opt full_view_name */ + 435, /* (359) full_view_name ::= view_name */ + 435, /* (360) full_view_name ::= db_name NK_DOT view_name */ + 346, /* (361) cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name col_list_opt tag_def_or_ref_opt subtable_opt AS query_or_subquery */ + 346, /* (362) cmd ::= DROP STREAM exists_opt stream_name */ + 346, /* (363) cmd ::= PAUSE STREAM exists_opt stream_name */ + 346, /* (364) cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ + 439, /* (365) col_list_opt ::= */ + 439, /* (366) col_list_opt ::= NK_LP col_name_list NK_RP */ + 440, /* (367) tag_def_or_ref_opt ::= */ + 440, /* (368) tag_def_or_ref_opt ::= tags_def */ + 440, /* (369) tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ + 438, /* (370) stream_options ::= */ + 438, /* (371) stream_options ::= stream_options TRIGGER AT_ONCE */ + 438, /* (372) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ + 438, /* (373) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ + 438, /* (374) stream_options ::= stream_options WATERMARK duration_literal */ + 438, /* (375) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ + 438, /* (376) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ + 438, /* (377) stream_options ::= stream_options DELETE_MARK duration_literal */ + 438, /* (378) stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ + 441, /* (379) subtable_opt ::= */ + 441, /* (380) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ + 442, /* (381) ignore_opt ::= */ + 442, /* (382) ignore_opt ::= IGNORE UNTREATED */ + 346, /* (383) cmd ::= KILL CONNECTION NK_INTEGER */ + 346, /* (384) cmd ::= KILL QUERY NK_STRING */ + 346, /* (385) cmd ::= KILL TRANSACTION NK_INTEGER */ + 346, /* (386) cmd ::= BALANCE VGROUP */ + 346, /* (387) cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ + 346, /* (388) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ + 346, /* (389) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ + 346, /* (390) cmd ::= SPLIT VGROUP NK_INTEGER */ + 444, /* (391) on_vgroup_id ::= */ + 444, /* (392) on_vgroup_id ::= ON NK_INTEGER */ + 445, /* (393) dnode_list ::= DNODE NK_INTEGER */ + 445, /* (394) dnode_list ::= dnode_list DNODE NK_INTEGER */ + 346, /* (395) cmd ::= DELETE FROM full_table_name where_clause_opt */ + 346, /* (396) cmd ::= query_or_subquery */ + 346, /* (397) cmd ::= insert_query */ + 430, /* (398) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ + 430, /* (399) insert_query ::= INSERT INTO full_table_name query_or_subquery */ + 349, /* (400) literal ::= NK_INTEGER */ + 349, /* (401) literal ::= NK_FLOAT */ + 349, /* (402) literal ::= NK_STRING */ + 349, /* (403) literal ::= NK_BOOL */ + 349, /* (404) literal ::= TIMESTAMP NK_STRING */ + 349, /* (405) literal ::= duration_literal */ + 349, /* (406) literal ::= NULL */ + 349, /* (407) literal ::= NK_QUESTION */ + 402, /* (408) duration_literal ::= NK_VARIABLE */ + 378, /* (409) signed ::= NK_INTEGER */ + 378, /* (410) signed ::= NK_PLUS NK_INTEGER */ + 378, /* (411) signed ::= NK_MINUS NK_INTEGER */ + 378, /* (412) signed ::= NK_FLOAT */ + 378, /* (413) signed ::= NK_PLUS NK_FLOAT */ + 378, /* (414) signed ::= NK_MINUS NK_FLOAT */ + 392, /* (415) signed_literal ::= signed */ + 392, /* (416) signed_literal ::= NK_STRING */ + 392, /* (417) signed_literal ::= NK_BOOL */ + 392, /* (418) signed_literal ::= TIMESTAMP NK_STRING */ + 392, /* (419) signed_literal ::= duration_literal */ + 392, /* (420) signed_literal ::= NULL */ + 392, /* (421) signed_literal ::= literal_func */ + 392, /* (422) signed_literal ::= NK_QUESTION */ + 447, /* (423) literal_list ::= signed_literal */ + 447, /* (424) literal_list ::= literal_list NK_COMMA signed_literal */ + 361, /* (425) db_name ::= NK_ID */ + 362, /* (426) table_name ::= NK_ID */ + 390, /* (427) column_name ::= NK_ID */ + 404, /* (428) function_name ::= NK_ID */ + 436, /* (429) view_name ::= NK_ID */ + 448, /* (430) table_alias ::= NK_ID */ + 415, /* (431) column_alias ::= NK_ID */ + 415, /* (432) column_alias ::= NK_ALIAS */ + 354, /* (433) user_name ::= NK_ID */ + 363, /* (434) topic_name ::= NK_ID */ + 437, /* (435) stream_name ::= NK_ID */ + 427, /* (436) cgroup_name ::= NK_ID */ + 418, /* (437) index_name ::= NK_ID */ + 449, /* (438) expr_or_subquery ::= expression */ + 443, /* (439) expression ::= literal */ + 443, /* (440) expression ::= pseudo_column */ + 443, /* (441) expression ::= column_reference */ + 443, /* (442) expression ::= function_expression */ + 443, /* (443) expression ::= case_when_expression */ + 443, /* (444) expression ::= NK_LP expression NK_RP */ + 443, /* (445) expression ::= NK_PLUS expr_or_subquery */ + 443, /* (446) expression ::= NK_MINUS expr_or_subquery */ + 443, /* (447) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ + 443, /* (448) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ + 443, /* (449) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ + 443, /* (450) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ + 443, /* (451) expression ::= expr_or_subquery NK_REM expr_or_subquery */ + 443, /* (452) expression ::= column_reference NK_ARROW NK_STRING */ + 443, /* (453) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ + 443, /* (454) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ + 395, /* (455) expression_list ::= expr_or_subquery */ + 395, /* (456) expression_list ::= expression_list NK_COMMA expr_or_subquery */ + 451, /* (457) column_reference ::= column_name */ + 451, /* (458) column_reference ::= table_name NK_DOT column_name */ + 451, /* (459) column_reference ::= NK_ALIAS */ + 451, /* (460) column_reference ::= table_name NK_DOT NK_ALIAS */ + 450, /* (461) pseudo_column ::= ROWTS */ + 450, /* (462) pseudo_column ::= TBNAME */ + 450, /* (463) pseudo_column ::= table_name NK_DOT TBNAME */ + 450, /* (464) pseudo_column ::= QSTART */ + 450, /* (465) pseudo_column ::= QEND */ + 450, /* (466) pseudo_column ::= QDURATION */ + 450, /* (467) pseudo_column ::= WSTART */ + 450, /* (468) pseudo_column ::= WEND */ + 450, /* (469) pseudo_column ::= WDURATION */ + 450, /* (470) pseudo_column ::= IROWTS */ + 450, /* (471) pseudo_column ::= ISFILLED */ + 450, /* (472) pseudo_column ::= QTAGS */ + 452, /* (473) function_expression ::= function_name NK_LP expression_list NK_RP */ + 452, /* (474) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ + 452, /* (475) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ + 452, /* (476) function_expression ::= literal_func */ + 446, /* (477) literal_func ::= noarg_func NK_LP NK_RP */ + 446, /* (478) literal_func ::= NOW */ + 456, /* (479) noarg_func ::= NOW */ + 456, /* (480) noarg_func ::= TODAY */ + 456, /* (481) noarg_func ::= TIMEZONE */ + 456, /* (482) noarg_func ::= DATABASE */ + 456, /* (483) noarg_func ::= CLIENT_VERSION */ + 456, /* (484) noarg_func ::= SERVER_VERSION */ + 456, /* (485) noarg_func ::= SERVER_STATUS */ + 456, /* (486) noarg_func ::= CURRENT_USER */ + 456, /* (487) noarg_func ::= USER */ + 454, /* (488) star_func ::= COUNT */ + 454, /* (489) star_func ::= FIRST */ + 454, /* (490) star_func ::= LAST */ + 454, /* (491) star_func ::= LAST_ROW */ + 455, /* (492) star_func_para_list ::= NK_STAR */ + 455, /* (493) star_func_para_list ::= other_para_list */ + 457, /* (494) other_para_list ::= star_func_para */ + 457, /* (495) other_para_list ::= other_para_list NK_COMMA star_func_para */ + 458, /* (496) star_func_para ::= expr_or_subquery */ + 458, /* (497) star_func_para ::= table_name NK_DOT NK_STAR */ + 453, /* (498) case_when_expression ::= CASE when_then_list case_when_else_opt END */ + 453, /* (499) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ + 459, /* (500) when_then_list ::= when_then_expr */ + 459, /* (501) when_then_list ::= when_then_list when_then_expr */ + 462, /* (502) when_then_expr ::= WHEN common_expression THEN common_expression */ + 460, /* (503) case_when_else_opt ::= */ + 460, /* (504) case_when_else_opt ::= ELSE common_expression */ + 463, /* (505) predicate ::= expr_or_subquery compare_op expr_or_subquery */ + 463, /* (506) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ + 463, /* (507) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ + 463, /* (508) predicate ::= expr_or_subquery IS NULL */ + 463, /* (509) predicate ::= expr_or_subquery IS NOT NULL */ + 463, /* (510) predicate ::= expr_or_subquery in_op in_predicate_value */ + 464, /* (511) compare_op ::= NK_LT */ + 464, /* (512) compare_op ::= NK_GT */ + 464, /* (513) compare_op ::= NK_LE */ + 464, /* (514) compare_op ::= NK_GE */ + 464, /* (515) compare_op ::= NK_NE */ + 464, /* (516) compare_op ::= NK_EQ */ + 464, /* (517) compare_op ::= LIKE */ + 464, /* (518) compare_op ::= NOT LIKE */ + 464, /* (519) compare_op ::= MATCH */ + 464, /* (520) compare_op ::= NMATCH */ + 464, /* (521) compare_op ::= CONTAINS */ + 465, /* (522) in_op ::= IN */ + 465, /* (523) in_op ::= NOT IN */ + 466, /* (524) in_predicate_value ::= NK_LP literal_list NK_RP */ + 467, /* (525) boolean_value_expression ::= boolean_primary */ + 467, /* (526) boolean_value_expression ::= NOT boolean_primary */ + 467, /* (527) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ + 467, /* (528) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ + 468, /* (529) boolean_primary ::= predicate */ + 468, /* (530) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ + 461, /* (531) common_expression ::= expr_or_subquery */ + 461, /* (532) common_expression ::= boolean_value_expression */ + 469, /* (533) from_clause_opt ::= */ + 469, /* (534) from_clause_opt ::= FROM table_reference_list */ + 470, /* (535) table_reference_list ::= table_reference */ + 470, /* (536) table_reference_list ::= table_reference_list NK_COMMA table_reference */ + 471, /* (537) table_reference ::= table_primary */ + 471, /* (538) table_reference ::= joined_table */ + 472, /* (539) table_primary ::= table_name alias_opt */ + 472, /* (540) table_primary ::= db_name NK_DOT table_name alias_opt */ + 472, /* (541) table_primary ::= subquery alias_opt */ + 472, /* (542) table_primary ::= parenthesized_joined_table */ + 474, /* (543) alias_opt ::= */ + 474, /* (544) alias_opt ::= table_alias */ + 474, /* (545) alias_opt ::= AS table_alias */ + 476, /* (546) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ + 476, /* (547) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ + 473, /* (548) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ + 477, /* (549) join_type ::= */ + 477, /* (550) join_type ::= INNER */ + 478, /* (551) query_specification ::= SELECT hint_list set_quantifier_opt tag_mode_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt */ + 479, /* (552) hint_list ::= */ + 479, /* (553) hint_list ::= NK_HINT */ + 481, /* (554) tag_mode_opt ::= */ + 481, /* (555) tag_mode_opt ::= TAGS */ + 480, /* (556) set_quantifier_opt ::= */ + 480, /* (557) set_quantifier_opt ::= DISTINCT */ + 480, /* (558) set_quantifier_opt ::= ALL */ + 482, /* (559) select_list ::= select_item */ + 482, /* (560) select_list ::= select_list NK_COMMA select_item */ + 490, /* (561) select_item ::= NK_STAR */ + 490, /* (562) select_item ::= common_expression */ + 490, /* (563) select_item ::= common_expression column_alias */ + 490, /* (564) select_item ::= common_expression AS column_alias */ + 490, /* (565) select_item ::= table_name NK_DOT NK_STAR */ + 426, /* (566) where_clause_opt ::= */ + 426, /* (567) where_clause_opt ::= WHERE search_condition */ + 483, /* (568) partition_by_clause_opt ::= */ + 483, /* (569) partition_by_clause_opt ::= PARTITION BY partition_list */ + 491, /* (570) partition_list ::= partition_item */ + 491, /* (571) partition_list ::= partition_list NK_COMMA partition_item */ + 492, /* (572) partition_item ::= expr_or_subquery */ + 492, /* (573) partition_item ::= expr_or_subquery column_alias */ + 492, /* (574) partition_item ::= expr_or_subquery AS column_alias */ + 487, /* (575) twindow_clause_opt ::= */ + 487, /* (576) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ + 487, /* (577) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ + 487, /* (578) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + 487, /* (579) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + 487, /* (580) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ + 420, /* (581) sliding_opt ::= */ + 420, /* (582) sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ + 493, /* (583) interval_sliding_duration_literal ::= NK_VARIABLE */ + 493, /* (584) interval_sliding_duration_literal ::= NK_STRING */ + 493, /* (585) interval_sliding_duration_literal ::= NK_INTEGER */ + 486, /* (586) fill_opt ::= */ + 486, /* (587) fill_opt ::= FILL NK_LP fill_mode NK_RP */ + 486, /* (588) fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ + 486, /* (589) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ + 494, /* (590) fill_mode ::= NONE */ + 494, /* (591) fill_mode ::= PREV */ + 494, /* (592) fill_mode ::= NULL */ + 494, /* (593) fill_mode ::= NULL_F */ + 494, /* (594) fill_mode ::= LINEAR */ + 494, /* (595) fill_mode ::= NEXT */ + 488, /* (596) group_by_clause_opt ::= */ + 488, /* (597) group_by_clause_opt ::= GROUP BY group_by_list */ + 495, /* (598) group_by_list ::= expr_or_subquery */ + 495, /* (599) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ + 489, /* (600) having_clause_opt ::= */ + 489, /* (601) having_clause_opt ::= HAVING search_condition */ + 484, /* (602) range_opt ::= */ + 484, /* (603) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ + 484, /* (604) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ + 485, /* (605) every_opt ::= */ + 485, /* (606) every_opt ::= EVERY NK_LP duration_literal NK_RP */ + 496, /* (607) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + 497, /* (608) query_simple ::= query_specification */ + 497, /* (609) query_simple ::= union_query_expression */ + 501, /* (610) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ + 501, /* (611) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ + 502, /* (612) query_simple_or_subquery ::= query_simple */ + 502, /* (613) query_simple_or_subquery ::= subquery */ + 425, /* (614) query_or_subquery ::= query_expression */ + 425, /* (615) query_or_subquery ::= subquery */ + 498, /* (616) order_by_clause_opt ::= */ + 498, /* (617) order_by_clause_opt ::= ORDER BY sort_specification_list */ + 499, /* (618) slimit_clause_opt ::= */ + 499, /* (619) slimit_clause_opt ::= SLIMIT NK_INTEGER */ + 499, /* (620) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + 499, /* (621) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + 500, /* (622) limit_clause_opt ::= */ + 500, /* (623) limit_clause_opt ::= LIMIT NK_INTEGER */ + 500, /* (624) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ + 500, /* (625) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + 475, /* (626) subquery ::= NK_LP query_expression NK_RP */ + 475, /* (627) subquery ::= NK_LP subquery NK_RP */ + 364, /* (628) search_condition ::= common_expression */ + 503, /* (629) sort_specification_list ::= sort_specification */ + 503, /* (630) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ + 504, /* (631) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ + 505, /* (632) ordering_specification_opt ::= */ + 505, /* (633) ordering_specification_opt ::= ASC */ + 505, /* (634) ordering_specification_opt ::= DESC */ + 506, /* (635) null_ordering_opt ::= */ + 506, /* (636) null_ordering_opt ::= NULLS FIRST */ + 506, /* (637) null_ordering_opt ::= NULLS LAST */ }; /* For rule J, yyRuleInfoNRhs[J] contains the negative of the number @@ -4384,209 +4429,212 @@ static const signed char yyRuleInfoNRhs[] = { -1, /* (429) view_name ::= NK_ID */ -1, /* (430) table_alias ::= NK_ID */ -1, /* (431) column_alias ::= NK_ID */ - -1, /* (432) user_name ::= NK_ID */ - -1, /* (433) topic_name ::= NK_ID */ - -1, /* (434) stream_name ::= NK_ID */ - -1, /* (435) cgroup_name ::= NK_ID */ - -1, /* (436) index_name ::= NK_ID */ - -1, /* (437) expr_or_subquery ::= expression */ - -1, /* (438) expression ::= literal */ - -1, /* (439) expression ::= pseudo_column */ - -1, /* (440) expression ::= column_reference */ - -1, /* (441) expression ::= function_expression */ - -1, /* (442) expression ::= case_when_expression */ - -3, /* (443) expression ::= NK_LP expression NK_RP */ - -2, /* (444) expression ::= NK_PLUS expr_or_subquery */ - -2, /* (445) expression ::= NK_MINUS expr_or_subquery */ - -3, /* (446) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ - -3, /* (447) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ - -3, /* (448) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ - -3, /* (449) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ - -3, /* (450) expression ::= expr_or_subquery NK_REM expr_or_subquery */ - -3, /* (451) expression ::= column_reference NK_ARROW NK_STRING */ - -3, /* (452) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ - -3, /* (453) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ - -1, /* (454) expression_list ::= expr_or_subquery */ - -3, /* (455) expression_list ::= expression_list NK_COMMA expr_or_subquery */ - -1, /* (456) column_reference ::= column_name */ - -3, /* (457) column_reference ::= table_name NK_DOT column_name */ - -1, /* (458) pseudo_column ::= ROWTS */ - -1, /* (459) pseudo_column ::= TBNAME */ - -3, /* (460) pseudo_column ::= table_name NK_DOT TBNAME */ - -1, /* (461) pseudo_column ::= QSTART */ - -1, /* (462) pseudo_column ::= QEND */ - -1, /* (463) pseudo_column ::= QDURATION */ - -1, /* (464) pseudo_column ::= WSTART */ - -1, /* (465) pseudo_column ::= WEND */ - -1, /* (466) pseudo_column ::= WDURATION */ - -1, /* (467) pseudo_column ::= IROWTS */ - -1, /* (468) pseudo_column ::= ISFILLED */ - -1, /* (469) pseudo_column ::= QTAGS */ - -4, /* (470) function_expression ::= function_name NK_LP expression_list NK_RP */ - -4, /* (471) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ - -6, /* (472) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ - -1, /* (473) function_expression ::= literal_func */ - -3, /* (474) literal_func ::= noarg_func NK_LP NK_RP */ - -1, /* (475) literal_func ::= NOW */ - -1, /* (476) noarg_func ::= NOW */ - -1, /* (477) noarg_func ::= TODAY */ - -1, /* (478) noarg_func ::= TIMEZONE */ - -1, /* (479) noarg_func ::= DATABASE */ - -1, /* (480) noarg_func ::= CLIENT_VERSION */ - -1, /* (481) noarg_func ::= SERVER_VERSION */ - -1, /* (482) noarg_func ::= SERVER_STATUS */ - -1, /* (483) noarg_func ::= CURRENT_USER */ - -1, /* (484) noarg_func ::= USER */ - -1, /* (485) star_func ::= COUNT */ - -1, /* (486) star_func ::= FIRST */ - -1, /* (487) star_func ::= LAST */ - -1, /* (488) star_func ::= LAST_ROW */ - -1, /* (489) star_func_para_list ::= NK_STAR */ - -1, /* (490) star_func_para_list ::= other_para_list */ - -1, /* (491) other_para_list ::= star_func_para */ - -3, /* (492) other_para_list ::= other_para_list NK_COMMA star_func_para */ - -1, /* (493) star_func_para ::= expr_or_subquery */ - -3, /* (494) star_func_para ::= table_name NK_DOT NK_STAR */ - -4, /* (495) case_when_expression ::= CASE when_then_list case_when_else_opt END */ - -5, /* (496) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ - -1, /* (497) when_then_list ::= when_then_expr */ - -2, /* (498) when_then_list ::= when_then_list when_then_expr */ - -4, /* (499) when_then_expr ::= WHEN common_expression THEN common_expression */ - 0, /* (500) case_when_else_opt ::= */ - -2, /* (501) case_when_else_opt ::= ELSE common_expression */ - -3, /* (502) predicate ::= expr_or_subquery compare_op expr_or_subquery */ - -5, /* (503) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ - -6, /* (504) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ - -3, /* (505) predicate ::= expr_or_subquery IS NULL */ - -4, /* (506) predicate ::= expr_or_subquery IS NOT NULL */ - -3, /* (507) predicate ::= expr_or_subquery in_op in_predicate_value */ - -1, /* (508) compare_op ::= NK_LT */ - -1, /* (509) compare_op ::= NK_GT */ - -1, /* (510) compare_op ::= NK_LE */ - -1, /* (511) compare_op ::= NK_GE */ - -1, /* (512) compare_op ::= NK_NE */ - -1, /* (513) compare_op ::= NK_EQ */ - -1, /* (514) compare_op ::= LIKE */ - -2, /* (515) compare_op ::= NOT LIKE */ - -1, /* (516) compare_op ::= MATCH */ - -1, /* (517) compare_op ::= NMATCH */ - -1, /* (518) compare_op ::= CONTAINS */ - -1, /* (519) in_op ::= IN */ - -2, /* (520) in_op ::= NOT IN */ - -3, /* (521) in_predicate_value ::= NK_LP literal_list NK_RP */ - -1, /* (522) boolean_value_expression ::= boolean_primary */ - -2, /* (523) boolean_value_expression ::= NOT boolean_primary */ - -3, /* (524) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ - -3, /* (525) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ - -1, /* (526) boolean_primary ::= predicate */ - -3, /* (527) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ - -1, /* (528) common_expression ::= expr_or_subquery */ - -1, /* (529) common_expression ::= boolean_value_expression */ - 0, /* (530) from_clause_opt ::= */ - -2, /* (531) from_clause_opt ::= FROM table_reference_list */ - -1, /* (532) table_reference_list ::= table_reference */ - -3, /* (533) table_reference_list ::= table_reference_list NK_COMMA table_reference */ - -1, /* (534) table_reference ::= table_primary */ - -1, /* (535) table_reference ::= joined_table */ - -2, /* (536) table_primary ::= table_name alias_opt */ - -4, /* (537) table_primary ::= db_name NK_DOT table_name alias_opt */ - -2, /* (538) table_primary ::= subquery alias_opt */ - -1, /* (539) table_primary ::= parenthesized_joined_table */ - 0, /* (540) alias_opt ::= */ - -1, /* (541) alias_opt ::= table_alias */ - -2, /* (542) alias_opt ::= AS table_alias */ - -3, /* (543) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ - -3, /* (544) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ - -6, /* (545) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ - 0, /* (546) join_type ::= */ - -1, /* (547) join_type ::= INNER */ - -14, /* (548) query_specification ::= SELECT hint_list set_quantifier_opt tag_mode_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt */ - 0, /* (549) hint_list ::= */ - -1, /* (550) hint_list ::= NK_HINT */ - 0, /* (551) tag_mode_opt ::= */ - -1, /* (552) tag_mode_opt ::= TAGS */ - 0, /* (553) set_quantifier_opt ::= */ - -1, /* (554) set_quantifier_opt ::= DISTINCT */ - -1, /* (555) set_quantifier_opt ::= ALL */ - -1, /* (556) select_list ::= select_item */ - -3, /* (557) select_list ::= select_list NK_COMMA select_item */ - -1, /* (558) select_item ::= NK_STAR */ - -1, /* (559) select_item ::= common_expression */ - -2, /* (560) select_item ::= common_expression column_alias */ - -3, /* (561) select_item ::= common_expression AS column_alias */ - -3, /* (562) select_item ::= table_name NK_DOT NK_STAR */ - 0, /* (563) where_clause_opt ::= */ - -2, /* (564) where_clause_opt ::= WHERE search_condition */ - 0, /* (565) partition_by_clause_opt ::= */ - -3, /* (566) partition_by_clause_opt ::= PARTITION BY partition_list */ - -1, /* (567) partition_list ::= partition_item */ - -3, /* (568) partition_list ::= partition_list NK_COMMA partition_item */ - -1, /* (569) partition_item ::= expr_or_subquery */ - -2, /* (570) partition_item ::= expr_or_subquery column_alias */ - -3, /* (571) partition_item ::= expr_or_subquery AS column_alias */ - 0, /* (572) twindow_clause_opt ::= */ - -6, /* (573) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ - -4, /* (574) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ - -6, /* (575) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ - -8, /* (576) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ - -7, /* (577) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ - 0, /* (578) sliding_opt ::= */ - -4, /* (579) sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ - -1, /* (580) interval_sliding_duration_literal ::= NK_VARIABLE */ - -1, /* (581) interval_sliding_duration_literal ::= NK_STRING */ - -1, /* (582) interval_sliding_duration_literal ::= NK_INTEGER */ - 0, /* (583) fill_opt ::= */ - -4, /* (584) fill_opt ::= FILL NK_LP fill_mode NK_RP */ - -6, /* (585) fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ - -6, /* (586) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ - -1, /* (587) fill_mode ::= NONE */ - -1, /* (588) fill_mode ::= PREV */ - -1, /* (589) fill_mode ::= NULL */ - -1, /* (590) fill_mode ::= NULL_F */ - -1, /* (591) fill_mode ::= LINEAR */ - -1, /* (592) fill_mode ::= NEXT */ - 0, /* (593) group_by_clause_opt ::= */ - -3, /* (594) group_by_clause_opt ::= GROUP BY group_by_list */ - -1, /* (595) group_by_list ::= expr_or_subquery */ - -3, /* (596) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ - 0, /* (597) having_clause_opt ::= */ - -2, /* (598) having_clause_opt ::= HAVING search_condition */ - 0, /* (599) range_opt ::= */ - -6, /* (600) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ - -4, /* (601) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ - 0, /* (602) every_opt ::= */ - -4, /* (603) every_opt ::= EVERY NK_LP duration_literal NK_RP */ - -4, /* (604) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ - -1, /* (605) query_simple ::= query_specification */ - -1, /* (606) query_simple ::= union_query_expression */ - -4, /* (607) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ - -3, /* (608) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ - -1, /* (609) query_simple_or_subquery ::= query_simple */ - -1, /* (610) query_simple_or_subquery ::= subquery */ - -1, /* (611) query_or_subquery ::= query_expression */ - -1, /* (612) query_or_subquery ::= subquery */ - 0, /* (613) order_by_clause_opt ::= */ - -3, /* (614) order_by_clause_opt ::= ORDER BY sort_specification_list */ - 0, /* (615) slimit_clause_opt ::= */ - -2, /* (616) slimit_clause_opt ::= SLIMIT NK_INTEGER */ - -4, /* (617) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - -4, /* (618) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - 0, /* (619) limit_clause_opt ::= */ - -2, /* (620) limit_clause_opt ::= LIMIT NK_INTEGER */ - -4, /* (621) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ - -4, /* (622) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - -3, /* (623) subquery ::= NK_LP query_expression NK_RP */ - -3, /* (624) subquery ::= NK_LP subquery NK_RP */ - -1, /* (625) search_condition ::= common_expression */ - -1, /* (626) sort_specification_list ::= sort_specification */ - -3, /* (627) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ - -3, /* (628) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ - 0, /* (629) ordering_specification_opt ::= */ - -1, /* (630) ordering_specification_opt ::= ASC */ - -1, /* (631) ordering_specification_opt ::= DESC */ - 0, /* (632) null_ordering_opt ::= */ - -2, /* (633) null_ordering_opt ::= NULLS FIRST */ - -2, /* (634) null_ordering_opt ::= NULLS LAST */ + -1, /* (432) column_alias ::= NK_ALIAS */ + -1, /* (433) user_name ::= NK_ID */ + -1, /* (434) topic_name ::= NK_ID */ + -1, /* (435) stream_name ::= NK_ID */ + -1, /* (436) cgroup_name ::= NK_ID */ + -1, /* (437) index_name ::= NK_ID */ + -1, /* (438) expr_or_subquery ::= expression */ + -1, /* (439) expression ::= literal */ + -1, /* (440) expression ::= pseudo_column */ + -1, /* (441) expression ::= column_reference */ + -1, /* (442) expression ::= function_expression */ + -1, /* (443) expression ::= case_when_expression */ + -3, /* (444) expression ::= NK_LP expression NK_RP */ + -2, /* (445) expression ::= NK_PLUS expr_or_subquery */ + -2, /* (446) expression ::= NK_MINUS expr_or_subquery */ + -3, /* (447) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ + -3, /* (448) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ + -3, /* (449) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ + -3, /* (450) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ + -3, /* (451) expression ::= expr_or_subquery NK_REM expr_or_subquery */ + -3, /* (452) expression ::= column_reference NK_ARROW NK_STRING */ + -3, /* (453) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ + -3, /* (454) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ + -1, /* (455) expression_list ::= expr_or_subquery */ + -3, /* (456) expression_list ::= expression_list NK_COMMA expr_or_subquery */ + -1, /* (457) column_reference ::= column_name */ + -3, /* (458) column_reference ::= table_name NK_DOT column_name */ + -1, /* (459) column_reference ::= NK_ALIAS */ + -3, /* (460) column_reference ::= table_name NK_DOT NK_ALIAS */ + -1, /* (461) pseudo_column ::= ROWTS */ + -1, /* (462) pseudo_column ::= TBNAME */ + -3, /* (463) pseudo_column ::= table_name NK_DOT TBNAME */ + -1, /* (464) pseudo_column ::= QSTART */ + -1, /* (465) pseudo_column ::= QEND */ + -1, /* (466) pseudo_column ::= QDURATION */ + -1, /* (467) pseudo_column ::= WSTART */ + -1, /* (468) pseudo_column ::= WEND */ + -1, /* (469) pseudo_column ::= WDURATION */ + -1, /* (470) pseudo_column ::= IROWTS */ + -1, /* (471) pseudo_column ::= ISFILLED */ + -1, /* (472) pseudo_column ::= QTAGS */ + -4, /* (473) function_expression ::= function_name NK_LP expression_list NK_RP */ + -4, /* (474) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ + -6, /* (475) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ + -1, /* (476) function_expression ::= literal_func */ + -3, /* (477) literal_func ::= noarg_func NK_LP NK_RP */ + -1, /* (478) literal_func ::= NOW */ + -1, /* (479) noarg_func ::= NOW */ + -1, /* (480) noarg_func ::= TODAY */ + -1, /* (481) noarg_func ::= TIMEZONE */ + -1, /* (482) noarg_func ::= DATABASE */ + -1, /* (483) noarg_func ::= CLIENT_VERSION */ + -1, /* (484) noarg_func ::= SERVER_VERSION */ + -1, /* (485) noarg_func ::= SERVER_STATUS */ + -1, /* (486) noarg_func ::= CURRENT_USER */ + -1, /* (487) noarg_func ::= USER */ + -1, /* (488) star_func ::= COUNT */ + -1, /* (489) star_func ::= FIRST */ + -1, /* (490) star_func ::= LAST */ + -1, /* (491) star_func ::= LAST_ROW */ + -1, /* (492) star_func_para_list ::= NK_STAR */ + -1, /* (493) star_func_para_list ::= other_para_list */ + -1, /* (494) other_para_list ::= star_func_para */ + -3, /* (495) other_para_list ::= other_para_list NK_COMMA star_func_para */ + -1, /* (496) star_func_para ::= expr_or_subquery */ + -3, /* (497) star_func_para ::= table_name NK_DOT NK_STAR */ + -4, /* (498) case_when_expression ::= CASE when_then_list case_when_else_opt END */ + -5, /* (499) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ + -1, /* (500) when_then_list ::= when_then_expr */ + -2, /* (501) when_then_list ::= when_then_list when_then_expr */ + -4, /* (502) when_then_expr ::= WHEN common_expression THEN common_expression */ + 0, /* (503) case_when_else_opt ::= */ + -2, /* (504) case_when_else_opt ::= ELSE common_expression */ + -3, /* (505) predicate ::= expr_or_subquery compare_op expr_or_subquery */ + -5, /* (506) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ + -6, /* (507) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ + -3, /* (508) predicate ::= expr_or_subquery IS NULL */ + -4, /* (509) predicate ::= expr_or_subquery IS NOT NULL */ + -3, /* (510) predicate ::= expr_or_subquery in_op in_predicate_value */ + -1, /* (511) compare_op ::= NK_LT */ + -1, /* (512) compare_op ::= NK_GT */ + -1, /* (513) compare_op ::= NK_LE */ + -1, /* (514) compare_op ::= NK_GE */ + -1, /* (515) compare_op ::= NK_NE */ + -1, /* (516) compare_op ::= NK_EQ */ + -1, /* (517) compare_op ::= LIKE */ + -2, /* (518) compare_op ::= NOT LIKE */ + -1, /* (519) compare_op ::= MATCH */ + -1, /* (520) compare_op ::= NMATCH */ + -1, /* (521) compare_op ::= CONTAINS */ + -1, /* (522) in_op ::= IN */ + -2, /* (523) in_op ::= NOT IN */ + -3, /* (524) in_predicate_value ::= NK_LP literal_list NK_RP */ + -1, /* (525) boolean_value_expression ::= boolean_primary */ + -2, /* (526) boolean_value_expression ::= NOT boolean_primary */ + -3, /* (527) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ + -3, /* (528) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ + -1, /* (529) boolean_primary ::= predicate */ + -3, /* (530) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ + -1, /* (531) common_expression ::= expr_or_subquery */ + -1, /* (532) common_expression ::= boolean_value_expression */ + 0, /* (533) from_clause_opt ::= */ + -2, /* (534) from_clause_opt ::= FROM table_reference_list */ + -1, /* (535) table_reference_list ::= table_reference */ + -3, /* (536) table_reference_list ::= table_reference_list NK_COMMA table_reference */ + -1, /* (537) table_reference ::= table_primary */ + -1, /* (538) table_reference ::= joined_table */ + -2, /* (539) table_primary ::= table_name alias_opt */ + -4, /* (540) table_primary ::= db_name NK_DOT table_name alias_opt */ + -2, /* (541) table_primary ::= subquery alias_opt */ + -1, /* (542) table_primary ::= parenthesized_joined_table */ + 0, /* (543) alias_opt ::= */ + -1, /* (544) alias_opt ::= table_alias */ + -2, /* (545) alias_opt ::= AS table_alias */ + -3, /* (546) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ + -3, /* (547) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ + -6, /* (548) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ + 0, /* (549) join_type ::= */ + -1, /* (550) join_type ::= INNER */ + -14, /* (551) query_specification ::= SELECT hint_list set_quantifier_opt tag_mode_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt */ + 0, /* (552) hint_list ::= */ + -1, /* (553) hint_list ::= NK_HINT */ + 0, /* (554) tag_mode_opt ::= */ + -1, /* (555) tag_mode_opt ::= TAGS */ + 0, /* (556) set_quantifier_opt ::= */ + -1, /* (557) set_quantifier_opt ::= DISTINCT */ + -1, /* (558) set_quantifier_opt ::= ALL */ + -1, /* (559) select_list ::= select_item */ + -3, /* (560) select_list ::= select_list NK_COMMA select_item */ + -1, /* (561) select_item ::= NK_STAR */ + -1, /* (562) select_item ::= common_expression */ + -2, /* (563) select_item ::= common_expression column_alias */ + -3, /* (564) select_item ::= common_expression AS column_alias */ + -3, /* (565) select_item ::= table_name NK_DOT NK_STAR */ + 0, /* (566) where_clause_opt ::= */ + -2, /* (567) where_clause_opt ::= WHERE search_condition */ + 0, /* (568) partition_by_clause_opt ::= */ + -3, /* (569) partition_by_clause_opt ::= PARTITION BY partition_list */ + -1, /* (570) partition_list ::= partition_item */ + -3, /* (571) partition_list ::= partition_list NK_COMMA partition_item */ + -1, /* (572) partition_item ::= expr_or_subquery */ + -2, /* (573) partition_item ::= expr_or_subquery column_alias */ + -3, /* (574) partition_item ::= expr_or_subquery AS column_alias */ + 0, /* (575) twindow_clause_opt ::= */ + -6, /* (576) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ + -4, /* (577) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ + -6, /* (578) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + -8, /* (579) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + -7, /* (580) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ + 0, /* (581) sliding_opt ::= */ + -4, /* (582) sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ + -1, /* (583) interval_sliding_duration_literal ::= NK_VARIABLE */ + -1, /* (584) interval_sliding_duration_literal ::= NK_STRING */ + -1, /* (585) interval_sliding_duration_literal ::= NK_INTEGER */ + 0, /* (586) fill_opt ::= */ + -4, /* (587) fill_opt ::= FILL NK_LP fill_mode NK_RP */ + -6, /* (588) fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ + -6, /* (589) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ + -1, /* (590) fill_mode ::= NONE */ + -1, /* (591) fill_mode ::= PREV */ + -1, /* (592) fill_mode ::= NULL */ + -1, /* (593) fill_mode ::= NULL_F */ + -1, /* (594) fill_mode ::= LINEAR */ + -1, /* (595) fill_mode ::= NEXT */ + 0, /* (596) group_by_clause_opt ::= */ + -3, /* (597) group_by_clause_opt ::= GROUP BY group_by_list */ + -1, /* (598) group_by_list ::= expr_or_subquery */ + -3, /* (599) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ + 0, /* (600) having_clause_opt ::= */ + -2, /* (601) having_clause_opt ::= HAVING search_condition */ + 0, /* (602) range_opt ::= */ + -6, /* (603) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ + -4, /* (604) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ + 0, /* (605) every_opt ::= */ + -4, /* (606) every_opt ::= EVERY NK_LP duration_literal NK_RP */ + -4, /* (607) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + -1, /* (608) query_simple ::= query_specification */ + -1, /* (609) query_simple ::= union_query_expression */ + -4, /* (610) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ + -3, /* (611) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ + -1, /* (612) query_simple_or_subquery ::= query_simple */ + -1, /* (613) query_simple_or_subquery ::= subquery */ + -1, /* (614) query_or_subquery ::= query_expression */ + -1, /* (615) query_or_subquery ::= subquery */ + 0, /* (616) order_by_clause_opt ::= */ + -3, /* (617) order_by_clause_opt ::= ORDER BY sort_specification_list */ + 0, /* (618) slimit_clause_opt ::= */ + -2, /* (619) slimit_clause_opt ::= SLIMIT NK_INTEGER */ + -4, /* (620) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + -4, /* (621) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + 0, /* (622) limit_clause_opt ::= */ + -2, /* (623) limit_clause_opt ::= LIMIT NK_INTEGER */ + -4, /* (624) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ + -4, /* (625) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + -3, /* (626) subquery ::= NK_LP query_expression NK_RP */ + -3, /* (627) subquery ::= NK_LP subquery NK_RP */ + -1, /* (628) search_condition ::= common_expression */ + -1, /* (629) sort_specification_list ::= sort_specification */ + -3, /* (630) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ + -3, /* (631) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ + 0, /* (632) ordering_specification_opt ::= */ + -1, /* (633) ordering_specification_opt ::= ASC */ + -1, /* (634) ordering_specification_opt ::= DESC */ + 0, /* (635) null_ordering_opt ::= */ + -2, /* (636) null_ordering_opt ::= NULLS FIRST */ + -2, /* (637) null_ordering_opt ::= NULLS LAST */ }; static void yy_accept(yyParser*); /* Forward Declaration */ @@ -4678,11 +4726,11 @@ static YYACTIONTYPE yy_reduce( YYMINORTYPE yylhsminor; case 0: /* cmd ::= CREATE ACCOUNT NK_ID PASS NK_STRING account_options */ { pCxt->errCode = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_EXPRIE_STATEMENT); } - yy_destructor(yypParser,346,&yymsp[0].minor); + yy_destructor(yypParser,347,&yymsp[0].minor); break; case 1: /* cmd ::= ALTER ACCOUNT NK_ID alter_account_options */ { pCxt->errCode = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_EXPRIE_STATEMENT); } - yy_destructor(yypParser,347,&yymsp[0].minor); + yy_destructor(yypParser,348,&yymsp[0].minor); break; case 2: /* account_options ::= */ { } @@ -4696,20 +4744,20 @@ static YYACTIONTYPE yy_reduce( case 9: /* account_options ::= account_options USERS literal */ yytestcase(yyruleno==9); case 10: /* account_options ::= account_options CONNS literal */ yytestcase(yyruleno==10); case 11: /* account_options ::= account_options STATE literal */ yytestcase(yyruleno==11); -{ yy_destructor(yypParser,346,&yymsp[-2].minor); +{ yy_destructor(yypParser,347,&yymsp[-2].minor); { } - yy_destructor(yypParser,348,&yymsp[0].minor); + yy_destructor(yypParser,349,&yymsp[0].minor); } break; case 12: /* alter_account_options ::= alter_account_option */ -{ yy_destructor(yypParser,349,&yymsp[0].minor); +{ yy_destructor(yypParser,350,&yymsp[0].minor); { } } break; case 13: /* alter_account_options ::= alter_account_options alter_account_option */ -{ yy_destructor(yypParser,347,&yymsp[-1].minor); +{ yy_destructor(yypParser,348,&yymsp[-1].minor); { } - yy_destructor(yypParser,349,&yymsp[0].minor); + yy_destructor(yypParser,350,&yymsp[0].minor); } break; case 14: /* alter_account_option ::= PASS literal */ @@ -4723,18 +4771,18 @@ static YYACTIONTYPE yy_reduce( case 22: /* alter_account_option ::= CONNS literal */ yytestcase(yyruleno==22); case 23: /* alter_account_option ::= STATE literal */ yytestcase(yyruleno==23); { } - yy_destructor(yypParser,348,&yymsp[0].minor); + yy_destructor(yypParser,349,&yymsp[0].minor); break; case 24: /* ip_range_list ::= NK_STRING */ -{ yylhsminor.yy332 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy332 = yylhsminor.yy332; +{ yylhsminor.yy106 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy106 = yylhsminor.yy106; break; case 25: /* ip_range_list ::= ip_range_list NK_COMMA NK_STRING */ -{ yylhsminor.yy332 = addNodeToList(pCxt, yymsp[-2].minor.yy332, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy332 = yylhsminor.yy332; +{ yylhsminor.yy106 = addNodeToList(pCxt, yymsp[-2].minor.yy106, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } + yymsp[-2].minor.yy106 = yylhsminor.yy106; break; case 26: /* white_list ::= HOST ip_range_list */ -{ yymsp[-1].minor.yy332 = yymsp[0].minor.yy332; } +{ yymsp[-1].minor.yy106 = yymsp[0].minor.yy106; } break; case 27: /* white_list_opt ::= */ case 185: /* specific_cols_opt ::= */ yytestcase(yyruleno==185); @@ -4742,135 +4790,135 @@ static YYACTIONTYPE yy_reduce( case 299: /* tag_list_opt ::= */ yytestcase(yyruleno==299); case 365: /* col_list_opt ::= */ yytestcase(yyruleno==365); case 367: /* tag_def_or_ref_opt ::= */ yytestcase(yyruleno==367); - case 565: /* partition_by_clause_opt ::= */ yytestcase(yyruleno==565); - case 593: /* group_by_clause_opt ::= */ yytestcase(yyruleno==593); - case 613: /* order_by_clause_opt ::= */ yytestcase(yyruleno==613); -{ yymsp[1].minor.yy332 = NULL; } + case 568: /* partition_by_clause_opt ::= */ yytestcase(yyruleno==568); + case 596: /* group_by_clause_opt ::= */ yytestcase(yyruleno==596); + case 616: /* order_by_clause_opt ::= */ yytestcase(yyruleno==616); +{ yymsp[1].minor.yy106 = NULL; } break; case 28: /* white_list_opt ::= white_list */ case 217: /* tags_def_opt ::= tags_def */ yytestcase(yyruleno==217); case 368: /* tag_def_or_ref_opt ::= tags_def */ yytestcase(yyruleno==368); - case 490: /* star_func_para_list ::= other_para_list */ yytestcase(yyruleno==490); -{ yylhsminor.yy332 = yymsp[0].minor.yy332; } - yymsp[0].minor.yy332 = yylhsminor.yy332; + case 493: /* star_func_para_list ::= other_para_list */ yytestcase(yyruleno==493); +{ yylhsminor.yy106 = yymsp[0].minor.yy106; } + yymsp[0].minor.yy106 = yylhsminor.yy106; break; case 29: /* cmd ::= CREATE USER user_name PASS NK_STRING sysinfo_opt white_list_opt */ { - pCxt->pRootNode = createCreateUserStmt(pCxt, &yymsp[-4].minor.yy481, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy751); - pCxt->pRootNode = addCreateUserStmtWhiteList(pCxt, pCxt->pRootNode, yymsp[0].minor.yy332); + pCxt->pRootNode = createCreateUserStmt(pCxt, &yymsp[-4].minor.yy785, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy431); + pCxt->pRootNode = addCreateUserStmtWhiteList(pCxt, pCxt->pRootNode, yymsp[0].minor.yy106); } break; case 30: /* cmd ::= ALTER USER user_name PASS NK_STRING */ -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy481, TSDB_ALTER_USER_PASSWD, &yymsp[0].minor.yy0); } +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy785, TSDB_ALTER_USER_PASSWD, &yymsp[0].minor.yy0); } break; case 31: /* cmd ::= ALTER USER user_name ENABLE NK_INTEGER */ -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy481, TSDB_ALTER_USER_ENABLE, &yymsp[0].minor.yy0); } +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy785, TSDB_ALTER_USER_ENABLE, &yymsp[0].minor.yy0); } break; case 32: /* cmd ::= ALTER USER user_name SYSINFO NK_INTEGER */ -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy481, TSDB_ALTER_USER_SYSINFO, &yymsp[0].minor.yy0); } +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy785, TSDB_ALTER_USER_SYSINFO, &yymsp[0].minor.yy0); } break; case 33: /* cmd ::= ALTER USER user_name ADD white_list */ -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy481, TSDB_ALTER_USER_ADD_WHITE_LIST, yymsp[0].minor.yy332); } +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy785, TSDB_ALTER_USER_ADD_WHITE_LIST, yymsp[0].minor.yy106); } break; case 34: /* cmd ::= ALTER USER user_name DROP white_list */ -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy481, TSDB_ALTER_USER_DROP_WHITE_LIST, yymsp[0].minor.yy332); } +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy785, TSDB_ALTER_USER_DROP_WHITE_LIST, yymsp[0].minor.yy106); } break; case 35: /* cmd ::= DROP USER user_name */ -{ pCxt->pRootNode = createDropUserStmt(pCxt, &yymsp[0].minor.yy481); } +{ pCxt->pRootNode = createDropUserStmt(pCxt, &yymsp[0].minor.yy785); } break; case 36: /* sysinfo_opt ::= */ -{ yymsp[1].minor.yy751 = 1; } +{ yymsp[1].minor.yy431 = 1; } break; case 37: /* sysinfo_opt ::= SYSINFO NK_INTEGER */ -{ yymsp[-1].minor.yy751 = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); } +{ yymsp[-1].minor.yy431 = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); } break; case 38: /* cmd ::= GRANT privileges ON priv_level with_opt TO user_name */ -{ pCxt->pRootNode = createGrantStmt(pCxt, yymsp[-5].minor.yy41, &yymsp[-3].minor.yy49, &yymsp[0].minor.yy481, yymsp[-2].minor.yy476); } +{ pCxt->pRootNode = createGrantStmt(pCxt, yymsp[-5].minor.yy987, &yymsp[-3].minor.yy573, &yymsp[0].minor.yy785, yymsp[-2].minor.yy80); } break; case 39: /* cmd ::= REVOKE privileges ON priv_level with_opt FROM user_name */ -{ pCxt->pRootNode = createRevokeStmt(pCxt, yymsp[-5].minor.yy41, &yymsp[-3].minor.yy49, &yymsp[0].minor.yy481, yymsp[-2].minor.yy476); } +{ pCxt->pRootNode = createRevokeStmt(pCxt, yymsp[-5].minor.yy987, &yymsp[-3].minor.yy573, &yymsp[0].minor.yy785, yymsp[-2].minor.yy80); } break; case 40: /* privileges ::= ALL */ -{ yymsp[0].minor.yy41 = PRIVILEGE_TYPE_ALL; } +{ yymsp[0].minor.yy987 = PRIVILEGE_TYPE_ALL; } break; case 41: /* privileges ::= priv_type_list */ case 43: /* priv_type_list ::= priv_type */ yytestcase(yyruleno==43); -{ yylhsminor.yy41 = yymsp[0].minor.yy41; } - yymsp[0].minor.yy41 = yylhsminor.yy41; +{ yylhsminor.yy987 = yymsp[0].minor.yy987; } + yymsp[0].minor.yy987 = yylhsminor.yy987; break; case 42: /* privileges ::= SUBSCRIBE */ -{ yymsp[0].minor.yy41 = PRIVILEGE_TYPE_SUBSCRIBE; } +{ yymsp[0].minor.yy987 = PRIVILEGE_TYPE_SUBSCRIBE; } break; case 44: /* priv_type_list ::= priv_type_list NK_COMMA priv_type */ -{ yylhsminor.yy41 = yymsp[-2].minor.yy41 | yymsp[0].minor.yy41; } - yymsp[-2].minor.yy41 = yylhsminor.yy41; +{ yylhsminor.yy987 = yymsp[-2].minor.yy987 | yymsp[0].minor.yy987; } + yymsp[-2].minor.yy987 = yylhsminor.yy987; break; case 45: /* priv_type ::= READ */ -{ yymsp[0].minor.yy41 = PRIVILEGE_TYPE_READ; } +{ yymsp[0].minor.yy987 = PRIVILEGE_TYPE_READ; } break; case 46: /* priv_type ::= WRITE */ -{ yymsp[0].minor.yy41 = PRIVILEGE_TYPE_WRITE; } +{ yymsp[0].minor.yy987 = PRIVILEGE_TYPE_WRITE; } break; case 47: /* priv_type ::= ALTER */ -{ yymsp[0].minor.yy41 = PRIVILEGE_TYPE_ALTER; } +{ yymsp[0].minor.yy987 = PRIVILEGE_TYPE_ALTER; } break; case 48: /* priv_level ::= NK_STAR NK_DOT NK_STAR */ -{ yylhsminor.yy49.first = yymsp[-2].minor.yy0; yylhsminor.yy49.second = yymsp[0].minor.yy0; } - yymsp[-2].minor.yy49 = yylhsminor.yy49; +{ yylhsminor.yy573.first = yymsp[-2].minor.yy0; yylhsminor.yy573.second = yymsp[0].minor.yy0; } + yymsp[-2].minor.yy573 = yylhsminor.yy573; break; case 49: /* priv_level ::= db_name NK_DOT NK_STAR */ -{ yylhsminor.yy49.first = yymsp[-2].minor.yy481; yylhsminor.yy49.second = yymsp[0].minor.yy0; } - yymsp[-2].minor.yy49 = yylhsminor.yy49; +{ yylhsminor.yy573.first = yymsp[-2].minor.yy785; yylhsminor.yy573.second = yymsp[0].minor.yy0; } + yymsp[-2].minor.yy573 = yylhsminor.yy573; break; case 50: /* priv_level ::= db_name NK_DOT table_name */ -{ yylhsminor.yy49.first = yymsp[-2].minor.yy481; yylhsminor.yy49.second = yymsp[0].minor.yy481; } - yymsp[-2].minor.yy49 = yylhsminor.yy49; +{ yylhsminor.yy573.first = yymsp[-2].minor.yy785; yylhsminor.yy573.second = yymsp[0].minor.yy785; } + yymsp[-2].minor.yy573 = yylhsminor.yy573; break; case 51: /* priv_level ::= topic_name */ -{ yylhsminor.yy49.first = yymsp[0].minor.yy481; yylhsminor.yy49.second = nil_token; } - yymsp[0].minor.yy49 = yylhsminor.yy49; +{ yylhsminor.yy573.first = yymsp[0].minor.yy785; yylhsminor.yy573.second = nil_token; } + yymsp[0].minor.yy573 = yylhsminor.yy573; break; case 52: /* with_opt ::= */ case 154: /* start_opt ::= */ yytestcase(yyruleno==154); case 158: /* end_opt ::= */ yytestcase(yyruleno==158); case 294: /* like_pattern_opt ::= */ yytestcase(yyruleno==294); case 379: /* subtable_opt ::= */ yytestcase(yyruleno==379); - case 500: /* case_when_else_opt ::= */ yytestcase(yyruleno==500); - case 530: /* from_clause_opt ::= */ yytestcase(yyruleno==530); - case 563: /* where_clause_opt ::= */ yytestcase(yyruleno==563); - case 572: /* twindow_clause_opt ::= */ yytestcase(yyruleno==572); - case 578: /* sliding_opt ::= */ yytestcase(yyruleno==578); - case 583: /* fill_opt ::= */ yytestcase(yyruleno==583); - case 597: /* having_clause_opt ::= */ yytestcase(yyruleno==597); - case 599: /* range_opt ::= */ yytestcase(yyruleno==599); - case 602: /* every_opt ::= */ yytestcase(yyruleno==602); - case 615: /* slimit_clause_opt ::= */ yytestcase(yyruleno==615); - case 619: /* limit_clause_opt ::= */ yytestcase(yyruleno==619); -{ yymsp[1].minor.yy476 = NULL; } + case 503: /* case_when_else_opt ::= */ yytestcase(yyruleno==503); + case 533: /* from_clause_opt ::= */ yytestcase(yyruleno==533); + case 566: /* where_clause_opt ::= */ yytestcase(yyruleno==566); + case 575: /* twindow_clause_opt ::= */ yytestcase(yyruleno==575); + case 581: /* sliding_opt ::= */ yytestcase(yyruleno==581); + case 586: /* fill_opt ::= */ yytestcase(yyruleno==586); + case 600: /* having_clause_opt ::= */ yytestcase(yyruleno==600); + case 602: /* range_opt ::= */ yytestcase(yyruleno==602); + case 605: /* every_opt ::= */ yytestcase(yyruleno==605); + case 618: /* slimit_clause_opt ::= */ yytestcase(yyruleno==618); + case 622: /* limit_clause_opt ::= */ yytestcase(yyruleno==622); +{ yymsp[1].minor.yy80 = NULL; } break; case 53: /* with_opt ::= WITH search_condition */ - case 531: /* from_clause_opt ::= FROM table_reference_list */ yytestcase(yyruleno==531); - case 564: /* where_clause_opt ::= WHERE search_condition */ yytestcase(yyruleno==564); - case 598: /* having_clause_opt ::= HAVING search_condition */ yytestcase(yyruleno==598); -{ yymsp[-1].minor.yy476 = yymsp[0].minor.yy476; } + case 534: /* from_clause_opt ::= FROM table_reference_list */ yytestcase(yyruleno==534); + case 567: /* where_clause_opt ::= WHERE search_condition */ yytestcase(yyruleno==567); + case 601: /* having_clause_opt ::= HAVING search_condition */ yytestcase(yyruleno==601); +{ yymsp[-1].minor.yy80 = yymsp[0].minor.yy80; } break; case 54: /* cmd ::= CREATE DNODE dnode_endpoint */ -{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[0].minor.yy481, NULL); } +{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[0].minor.yy785, NULL); } break; case 55: /* cmd ::= CREATE DNODE dnode_endpoint PORT NK_INTEGER */ -{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[-2].minor.yy481, &yymsp[0].minor.yy0); } +{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[-2].minor.yy785, &yymsp[0].minor.yy0); } break; case 56: /* cmd ::= DROP DNODE NK_INTEGER force_opt */ -{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy977, false); } +{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy923, false); } break; case 57: /* cmd ::= DROP DNODE dnode_endpoint force_opt */ -{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy481, yymsp[0].minor.yy977, false); } +{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy785, yymsp[0].minor.yy923, false); } break; case 58: /* cmd ::= DROP DNODE NK_INTEGER unsafe_opt */ -{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, false, yymsp[0].minor.yy977); } +{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, false, yymsp[0].minor.yy923); } break; case 59: /* cmd ::= DROP DNODE dnode_endpoint unsafe_opt */ -{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy481, false, yymsp[0].minor.yy977); } +{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy785, false, yymsp[0].minor.yy923); } break; case 60: /* cmd ::= ALTER DNODE NK_INTEGER NK_STRING */ { pCxt->pRootNode = createAlterDnodeStmt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0, NULL); } @@ -4901,26 +4949,27 @@ static YYACTIONTYPE yy_reduce( case 429: /* view_name ::= NK_ID */ yytestcase(yyruleno==429); case 430: /* table_alias ::= NK_ID */ yytestcase(yyruleno==430); case 431: /* column_alias ::= NK_ID */ yytestcase(yyruleno==431); - case 432: /* user_name ::= NK_ID */ yytestcase(yyruleno==432); - case 433: /* topic_name ::= NK_ID */ yytestcase(yyruleno==433); - case 434: /* stream_name ::= NK_ID */ yytestcase(yyruleno==434); - case 435: /* cgroup_name ::= NK_ID */ yytestcase(yyruleno==435); - case 436: /* index_name ::= NK_ID */ yytestcase(yyruleno==436); - case 476: /* noarg_func ::= NOW */ yytestcase(yyruleno==476); - case 477: /* noarg_func ::= TODAY */ yytestcase(yyruleno==477); - case 478: /* noarg_func ::= TIMEZONE */ yytestcase(yyruleno==478); - case 479: /* noarg_func ::= DATABASE */ yytestcase(yyruleno==479); - case 480: /* noarg_func ::= CLIENT_VERSION */ yytestcase(yyruleno==480); - case 481: /* noarg_func ::= SERVER_VERSION */ yytestcase(yyruleno==481); - case 482: /* noarg_func ::= SERVER_STATUS */ yytestcase(yyruleno==482); - case 483: /* noarg_func ::= CURRENT_USER */ yytestcase(yyruleno==483); - case 484: /* noarg_func ::= USER */ yytestcase(yyruleno==484); - case 485: /* star_func ::= COUNT */ yytestcase(yyruleno==485); - case 486: /* star_func ::= FIRST */ yytestcase(yyruleno==486); - case 487: /* star_func ::= LAST */ yytestcase(yyruleno==487); - case 488: /* star_func ::= LAST_ROW */ yytestcase(yyruleno==488); -{ yylhsminor.yy481 = yymsp[0].minor.yy0; } - yymsp[0].minor.yy481 = yylhsminor.yy481; + case 432: /* column_alias ::= NK_ALIAS */ yytestcase(yyruleno==432); + case 433: /* user_name ::= NK_ID */ yytestcase(yyruleno==433); + case 434: /* topic_name ::= NK_ID */ yytestcase(yyruleno==434); + case 435: /* stream_name ::= NK_ID */ yytestcase(yyruleno==435); + case 436: /* cgroup_name ::= NK_ID */ yytestcase(yyruleno==436); + case 437: /* index_name ::= NK_ID */ yytestcase(yyruleno==437); + case 479: /* noarg_func ::= NOW */ yytestcase(yyruleno==479); + case 480: /* noarg_func ::= TODAY */ yytestcase(yyruleno==480); + case 481: /* noarg_func ::= TIMEZONE */ yytestcase(yyruleno==481); + case 482: /* noarg_func ::= DATABASE */ yytestcase(yyruleno==482); + case 483: /* noarg_func ::= CLIENT_VERSION */ yytestcase(yyruleno==483); + case 484: /* noarg_func ::= SERVER_VERSION */ yytestcase(yyruleno==484); + case 485: /* noarg_func ::= SERVER_STATUS */ yytestcase(yyruleno==485); + case 486: /* noarg_func ::= CURRENT_USER */ yytestcase(yyruleno==486); + case 487: /* noarg_func ::= USER */ yytestcase(yyruleno==487); + case 488: /* star_func ::= COUNT */ yytestcase(yyruleno==488); + case 489: /* star_func ::= FIRST */ yytestcase(yyruleno==489); + case 490: /* star_func ::= LAST */ yytestcase(yyruleno==490); + case 491: /* star_func ::= LAST_ROW */ yytestcase(yyruleno==491); +{ yylhsminor.yy785 = yymsp[0].minor.yy0; } + yymsp[0].minor.yy785 = yylhsminor.yy785; break; case 68: /* force_opt ::= */ case 92: /* not_exists_opt ::= */ yytestcase(yyruleno==92); @@ -4929,17 +4978,17 @@ static YYACTIONTYPE yy_reduce( case 349: /* agg_func_opt ::= */ yytestcase(yyruleno==349); case 355: /* or_replace_opt ::= */ yytestcase(yyruleno==355); case 381: /* ignore_opt ::= */ yytestcase(yyruleno==381); - case 551: /* tag_mode_opt ::= */ yytestcase(yyruleno==551); - case 553: /* set_quantifier_opt ::= */ yytestcase(yyruleno==553); -{ yymsp[1].minor.yy977 = false; } + case 554: /* tag_mode_opt ::= */ yytestcase(yyruleno==554); + case 556: /* set_quantifier_opt ::= */ yytestcase(yyruleno==556); +{ yymsp[1].minor.yy923 = false; } break; case 69: /* force_opt ::= FORCE */ case 70: /* unsafe_opt ::= UNSAFE */ yytestcase(yyruleno==70); case 343: /* analyze_opt ::= ANALYZE */ yytestcase(yyruleno==343); case 350: /* agg_func_opt ::= AGGREGATE */ yytestcase(yyruleno==350); - case 552: /* tag_mode_opt ::= TAGS */ yytestcase(yyruleno==552); - case 554: /* set_quantifier_opt ::= DISTINCT */ yytestcase(yyruleno==554); -{ yymsp[0].minor.yy977 = true; } + case 555: /* tag_mode_opt ::= TAGS */ yytestcase(yyruleno==555); + case 557: /* set_quantifier_opt ::= DISTINCT */ yytestcase(yyruleno==557); +{ yymsp[0].minor.yy923 = true; } break; case 71: /* cmd ::= ALTER LOCAL NK_STRING */ { pCxt->pRootNode = createAlterLocalStmt(pCxt, &yymsp[0].minor.yy0, NULL); } @@ -4981,241 +5030,241 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createRestoreComponentNodeStmt(pCxt, QUERY_NODE_RESTORE_VNODE_STMT, &yymsp[0].minor.yy0); } break; case 84: /* cmd ::= CREATE DATABASE not_exists_opt db_name db_options */ -{ pCxt->pRootNode = createCreateDatabaseStmt(pCxt, yymsp[-2].minor.yy977, &yymsp[-1].minor.yy481, yymsp[0].minor.yy476); } +{ pCxt->pRootNode = createCreateDatabaseStmt(pCxt, yymsp[-2].minor.yy923, &yymsp[-1].minor.yy785, yymsp[0].minor.yy80); } break; case 85: /* cmd ::= DROP DATABASE exists_opt db_name */ -{ pCxt->pRootNode = createDropDatabaseStmt(pCxt, yymsp[-1].minor.yy977, &yymsp[0].minor.yy481); } +{ pCxt->pRootNode = createDropDatabaseStmt(pCxt, yymsp[-1].minor.yy923, &yymsp[0].minor.yy785); } break; case 86: /* cmd ::= USE db_name */ -{ pCxt->pRootNode = createUseDatabaseStmt(pCxt, &yymsp[0].minor.yy481); } +{ pCxt->pRootNode = createUseDatabaseStmt(pCxt, &yymsp[0].minor.yy785); } break; case 87: /* cmd ::= ALTER DATABASE db_name alter_db_options */ -{ pCxt->pRootNode = createAlterDatabaseStmt(pCxt, &yymsp[-1].minor.yy481, yymsp[0].minor.yy476); } +{ pCxt->pRootNode = createAlterDatabaseStmt(pCxt, &yymsp[-1].minor.yy785, yymsp[0].minor.yy80); } break; case 88: /* cmd ::= FLUSH DATABASE db_name */ -{ pCxt->pRootNode = createFlushDatabaseStmt(pCxt, &yymsp[0].minor.yy481); } +{ pCxt->pRootNode = createFlushDatabaseStmt(pCxt, &yymsp[0].minor.yy785); } break; case 89: /* cmd ::= TRIM DATABASE db_name speed_opt */ -{ pCxt->pRootNode = createTrimDatabaseStmt(pCxt, &yymsp[-1].minor.yy481, yymsp[0].minor.yy156); } +{ pCxt->pRootNode = createTrimDatabaseStmt(pCxt, &yymsp[-1].minor.yy785, yymsp[0].minor.yy982); } break; case 90: /* cmd ::= COMPACT DATABASE db_name start_opt end_opt */ -{ pCxt->pRootNode = createCompactStmt(pCxt, &yymsp[-2].minor.yy481, yymsp[-1].minor.yy476, yymsp[0].minor.yy476); } +{ pCxt->pRootNode = createCompactStmt(pCxt, &yymsp[-2].minor.yy785, yymsp[-1].minor.yy80, yymsp[0].minor.yy80); } break; case 91: /* not_exists_opt ::= IF NOT EXISTS */ -{ yymsp[-2].minor.yy977 = true; } +{ yymsp[-2].minor.yy923 = true; } break; case 93: /* exists_opt ::= IF EXISTS */ case 356: /* or_replace_opt ::= OR REPLACE */ yytestcase(yyruleno==356); case 382: /* ignore_opt ::= IGNORE UNTREATED */ yytestcase(yyruleno==382); -{ yymsp[-1].minor.yy977 = true; } +{ yymsp[-1].minor.yy923 = true; } break; case 95: /* db_options ::= */ -{ yymsp[1].minor.yy476 = createDefaultDatabaseOptions(pCxt); } +{ yymsp[1].minor.yy80 = createDefaultDatabaseOptions(pCxt); } break; case 96: /* db_options ::= db_options BUFFER NK_INTEGER */ -{ yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-2].minor.yy476, DB_OPTION_BUFFER, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-2].minor.yy80, DB_OPTION_BUFFER, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 97: /* db_options ::= db_options CACHEMODEL NK_STRING */ -{ yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-2].minor.yy476, DB_OPTION_CACHEMODEL, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-2].minor.yy80, DB_OPTION_CACHEMODEL, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 98: /* db_options ::= db_options CACHESIZE NK_INTEGER */ -{ yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-2].minor.yy476, DB_OPTION_CACHESIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-2].minor.yy80, DB_OPTION_CACHESIZE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 99: /* db_options ::= db_options COMP NK_INTEGER */ -{ yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-2].minor.yy476, DB_OPTION_COMP, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-2].minor.yy80, DB_OPTION_COMP, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 100: /* db_options ::= db_options DURATION NK_INTEGER */ case 101: /* db_options ::= db_options DURATION NK_VARIABLE */ yytestcase(yyruleno==101); -{ yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-2].minor.yy476, DB_OPTION_DAYS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-2].minor.yy80, DB_OPTION_DAYS, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 102: /* db_options ::= db_options MAXROWS NK_INTEGER */ -{ yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-2].minor.yy476, DB_OPTION_MAXROWS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-2].minor.yy80, DB_OPTION_MAXROWS, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 103: /* db_options ::= db_options MINROWS NK_INTEGER */ -{ yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-2].minor.yy476, DB_OPTION_MINROWS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-2].minor.yy80, DB_OPTION_MINROWS, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 104: /* db_options ::= db_options KEEP integer_list */ case 105: /* db_options ::= db_options KEEP variable_list */ yytestcase(yyruleno==105); -{ yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-2].minor.yy476, DB_OPTION_KEEP, yymsp[0].minor.yy332); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-2].minor.yy80, DB_OPTION_KEEP, yymsp[0].minor.yy106); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 106: /* db_options ::= db_options PAGES NK_INTEGER */ -{ yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-2].minor.yy476, DB_OPTION_PAGES, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-2].minor.yy80, DB_OPTION_PAGES, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 107: /* db_options ::= db_options PAGESIZE NK_INTEGER */ -{ yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-2].minor.yy476, DB_OPTION_PAGESIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-2].minor.yy80, DB_OPTION_PAGESIZE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 108: /* db_options ::= db_options TSDB_PAGESIZE NK_INTEGER */ -{ yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-2].minor.yy476, DB_OPTION_TSDB_PAGESIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-2].minor.yy80, DB_OPTION_TSDB_PAGESIZE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 109: /* db_options ::= db_options PRECISION NK_STRING */ -{ yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-2].minor.yy476, DB_OPTION_PRECISION, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-2].minor.yy80, DB_OPTION_PRECISION, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 110: /* db_options ::= db_options REPLICA NK_INTEGER */ -{ yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-2].minor.yy476, DB_OPTION_REPLICA, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-2].minor.yy80, DB_OPTION_REPLICA, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 111: /* db_options ::= db_options VGROUPS NK_INTEGER */ -{ yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-2].minor.yy476, DB_OPTION_VGROUPS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-2].minor.yy80, DB_OPTION_VGROUPS, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 112: /* db_options ::= db_options SINGLE_STABLE NK_INTEGER */ -{ yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-2].minor.yy476, DB_OPTION_SINGLE_STABLE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-2].minor.yy80, DB_OPTION_SINGLE_STABLE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 113: /* db_options ::= db_options RETENTIONS retention_list */ -{ yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-2].minor.yy476, DB_OPTION_RETENTIONS, yymsp[0].minor.yy332); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-2].minor.yy80, DB_OPTION_RETENTIONS, yymsp[0].minor.yy106); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 114: /* db_options ::= db_options SCHEMALESS NK_INTEGER */ -{ yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-2].minor.yy476, DB_OPTION_SCHEMALESS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-2].minor.yy80, DB_OPTION_SCHEMALESS, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 115: /* db_options ::= db_options WAL_LEVEL NK_INTEGER */ -{ yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-2].minor.yy476, DB_OPTION_WAL, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-2].minor.yy80, DB_OPTION_WAL, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 116: /* db_options ::= db_options WAL_FSYNC_PERIOD NK_INTEGER */ -{ yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-2].minor.yy476, DB_OPTION_FSYNC, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-2].minor.yy80, DB_OPTION_FSYNC, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 117: /* db_options ::= db_options WAL_RETENTION_PERIOD NK_INTEGER */ -{ yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-2].minor.yy476, DB_OPTION_WAL_RETENTION_PERIOD, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-2].minor.yy80, DB_OPTION_WAL_RETENTION_PERIOD, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 118: /* db_options ::= db_options WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-3].minor.yy476, DB_OPTION_WAL_RETENTION_PERIOD, &t); + yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-3].minor.yy80, DB_OPTION_WAL_RETENTION_PERIOD, &t); } - yymsp[-3].minor.yy476 = yylhsminor.yy476; + yymsp[-3].minor.yy80 = yylhsminor.yy80; break; case 119: /* db_options ::= db_options WAL_RETENTION_SIZE NK_INTEGER */ -{ yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-2].minor.yy476, DB_OPTION_WAL_RETENTION_SIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-2].minor.yy80, DB_OPTION_WAL_RETENTION_SIZE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 120: /* db_options ::= db_options WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-3].minor.yy476, DB_OPTION_WAL_RETENTION_SIZE, &t); + yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-3].minor.yy80, DB_OPTION_WAL_RETENTION_SIZE, &t); } - yymsp[-3].minor.yy476 = yylhsminor.yy476; + yymsp[-3].minor.yy80 = yylhsminor.yy80; break; case 121: /* db_options ::= db_options WAL_ROLL_PERIOD NK_INTEGER */ -{ yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-2].minor.yy476, DB_OPTION_WAL_ROLL_PERIOD, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-2].minor.yy80, DB_OPTION_WAL_ROLL_PERIOD, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 122: /* db_options ::= db_options WAL_SEGMENT_SIZE NK_INTEGER */ -{ yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-2].minor.yy476, DB_OPTION_WAL_SEGMENT_SIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-2].minor.yy80, DB_OPTION_WAL_SEGMENT_SIZE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 123: /* db_options ::= db_options STT_TRIGGER NK_INTEGER */ -{ yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-2].minor.yy476, DB_OPTION_STT_TRIGGER, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-2].minor.yy80, DB_OPTION_STT_TRIGGER, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 124: /* db_options ::= db_options TABLE_PREFIX signed */ -{ yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-2].minor.yy476, DB_OPTION_TABLE_PREFIX, yymsp[0].minor.yy476); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-2].minor.yy80, DB_OPTION_TABLE_PREFIX, yymsp[0].minor.yy80); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 125: /* db_options ::= db_options TABLE_SUFFIX signed */ -{ yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-2].minor.yy476, DB_OPTION_TABLE_SUFFIX, yymsp[0].minor.yy476); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-2].minor.yy80, DB_OPTION_TABLE_SUFFIX, yymsp[0].minor.yy80); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 126: /* db_options ::= db_options KEEP_TIME_OFFSET NK_INTEGER */ -{ yylhsminor.yy476 = setDatabaseOption(pCxt, yymsp[-2].minor.yy476, DB_OPTION_KEEP_TIME_OFFSET, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setDatabaseOption(pCxt, yymsp[-2].minor.yy80, DB_OPTION_KEEP_TIME_OFFSET, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 127: /* alter_db_options ::= alter_db_option */ -{ yylhsminor.yy476 = createAlterDatabaseOptions(pCxt); yylhsminor.yy476 = setAlterDatabaseOption(pCxt, yylhsminor.yy476, &yymsp[0].minor.yy189); } - yymsp[0].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createAlterDatabaseOptions(pCxt); yylhsminor.yy80 = setAlterDatabaseOption(pCxt, yylhsminor.yy80, &yymsp[0].minor.yy455); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; case 128: /* alter_db_options ::= alter_db_options alter_db_option */ -{ yylhsminor.yy476 = setAlterDatabaseOption(pCxt, yymsp[-1].minor.yy476, &yymsp[0].minor.yy189); } - yymsp[-1].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setAlterDatabaseOption(pCxt, yymsp[-1].minor.yy80, &yymsp[0].minor.yy455); } + yymsp[-1].minor.yy80 = yylhsminor.yy80; break; case 129: /* alter_db_option ::= BUFFER NK_INTEGER */ -{ yymsp[-1].minor.yy189.type = DB_OPTION_BUFFER; yymsp[-1].minor.yy189.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy455.type = DB_OPTION_BUFFER; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } break; case 130: /* alter_db_option ::= CACHEMODEL NK_STRING */ -{ yymsp[-1].minor.yy189.type = DB_OPTION_CACHEMODEL; yymsp[-1].minor.yy189.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy455.type = DB_OPTION_CACHEMODEL; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } break; case 131: /* alter_db_option ::= CACHESIZE NK_INTEGER */ -{ yymsp[-1].minor.yy189.type = DB_OPTION_CACHESIZE; yymsp[-1].minor.yy189.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy455.type = DB_OPTION_CACHESIZE; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } break; case 132: /* alter_db_option ::= WAL_FSYNC_PERIOD NK_INTEGER */ -{ yymsp[-1].minor.yy189.type = DB_OPTION_FSYNC; yymsp[-1].minor.yy189.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy455.type = DB_OPTION_FSYNC; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } break; case 133: /* alter_db_option ::= KEEP integer_list */ case 134: /* alter_db_option ::= KEEP variable_list */ yytestcase(yyruleno==134); -{ yymsp[-1].minor.yy189.type = DB_OPTION_KEEP; yymsp[-1].minor.yy189.pList = yymsp[0].minor.yy332; } +{ yymsp[-1].minor.yy455.type = DB_OPTION_KEEP; yymsp[-1].minor.yy455.pList = yymsp[0].minor.yy106; } break; case 135: /* alter_db_option ::= PAGES NK_INTEGER */ -{ yymsp[-1].minor.yy189.type = DB_OPTION_PAGES; yymsp[-1].minor.yy189.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy455.type = DB_OPTION_PAGES; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } break; case 136: /* alter_db_option ::= REPLICA NK_INTEGER */ -{ yymsp[-1].minor.yy189.type = DB_OPTION_REPLICA; yymsp[-1].minor.yy189.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy455.type = DB_OPTION_REPLICA; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } break; case 137: /* alter_db_option ::= WAL_LEVEL NK_INTEGER */ -{ yymsp[-1].minor.yy189.type = DB_OPTION_WAL; yymsp[-1].minor.yy189.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy455.type = DB_OPTION_WAL; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } break; case 138: /* alter_db_option ::= STT_TRIGGER NK_INTEGER */ -{ yymsp[-1].minor.yy189.type = DB_OPTION_STT_TRIGGER; yymsp[-1].minor.yy189.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy455.type = DB_OPTION_STT_TRIGGER; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } break; case 139: /* alter_db_option ::= MINROWS NK_INTEGER */ -{ yymsp[-1].minor.yy189.type = DB_OPTION_MINROWS; yymsp[-1].minor.yy189.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy455.type = DB_OPTION_MINROWS; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } break; case 140: /* alter_db_option ::= WAL_RETENTION_PERIOD NK_INTEGER */ -{ yymsp[-1].minor.yy189.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-1].minor.yy189.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy455.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } break; case 141: /* alter_db_option ::= WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yymsp[-2].minor.yy189.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-2].minor.yy189.val = t; + yymsp[-2].minor.yy455.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-2].minor.yy455.val = t; } break; case 142: /* alter_db_option ::= WAL_RETENTION_SIZE NK_INTEGER */ -{ yymsp[-1].minor.yy189.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-1].minor.yy189.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy455.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } break; case 143: /* alter_db_option ::= WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yymsp[-2].minor.yy189.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-2].minor.yy189.val = t; + yymsp[-2].minor.yy455.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-2].minor.yy455.val = t; } break; case 144: /* alter_db_option ::= KEEP_TIME_OFFSET NK_INTEGER */ -{ yymsp[-1].minor.yy189.type = DB_OPTION_KEEP_TIME_OFFSET; yymsp[-1].minor.yy189.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy455.type = DB_OPTION_KEEP_TIME_OFFSET; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } break; case 145: /* integer_list ::= NK_INTEGER */ -{ yylhsminor.yy332 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy332 = yylhsminor.yy332; +{ yylhsminor.yy106 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy106 = yylhsminor.yy106; break; case 146: /* integer_list ::= integer_list NK_COMMA NK_INTEGER */ case 394: /* dnode_list ::= dnode_list DNODE NK_INTEGER */ yytestcase(yyruleno==394); -{ yylhsminor.yy332 = addNodeToList(pCxt, yymsp[-2].minor.yy332, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy332 = yylhsminor.yy332; +{ yylhsminor.yy106 = addNodeToList(pCxt, yymsp[-2].minor.yy106, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } + yymsp[-2].minor.yy106 = yylhsminor.yy106; break; case 147: /* variable_list ::= NK_VARIABLE */ -{ yylhsminor.yy332 = createNodeList(pCxt, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy332 = yylhsminor.yy332; +{ yylhsminor.yy106 = createNodeList(pCxt, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy106 = yylhsminor.yy106; break; case 148: /* variable_list ::= variable_list NK_COMMA NK_VARIABLE */ -{ yylhsminor.yy332 = addNodeToList(pCxt, yymsp[-2].minor.yy332, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy332 = yylhsminor.yy332; +{ yylhsminor.yy106 = addNodeToList(pCxt, yymsp[-2].minor.yy106, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } + yymsp[-2].minor.yy106 = yylhsminor.yy106; break; case 149: /* retention_list ::= retention */ case 179: /* multi_create_clause ::= create_subtable_clause */ yytestcase(yyruleno==179); @@ -5226,13 +5275,13 @@ static YYACTIONTYPE yy_reduce( case 300: /* tag_list_opt ::= tag_item */ yytestcase(yyruleno==300); case 317: /* func_list ::= func */ yytestcase(yyruleno==317); case 423: /* literal_list ::= signed_literal */ yytestcase(yyruleno==423); - case 491: /* other_para_list ::= star_func_para */ yytestcase(yyruleno==491); - case 497: /* when_then_list ::= when_then_expr */ yytestcase(yyruleno==497); - case 556: /* select_list ::= select_item */ yytestcase(yyruleno==556); - case 567: /* partition_list ::= partition_item */ yytestcase(yyruleno==567); - case 626: /* sort_specification_list ::= sort_specification */ yytestcase(yyruleno==626); -{ yylhsminor.yy332 = createNodeList(pCxt, yymsp[0].minor.yy476); } - yymsp[0].minor.yy332 = yylhsminor.yy332; + case 494: /* other_para_list ::= star_func_para */ yytestcase(yyruleno==494); + case 500: /* when_then_list ::= when_then_expr */ yytestcase(yyruleno==500); + case 559: /* select_list ::= select_item */ yytestcase(yyruleno==559); + case 570: /* partition_list ::= partition_item */ yytestcase(yyruleno==570); + case 629: /* sort_specification_list ::= sort_specification */ yytestcase(yyruleno==629); +{ yylhsminor.yy106 = createNodeList(pCxt, yymsp[0].minor.yy80); } + yymsp[0].minor.yy106 = yylhsminor.yy106; break; case 150: /* retention_list ::= retention_list NK_COMMA retention */ case 183: /* multi_drop_clause ::= multi_drop_clause NK_COMMA drop_table_clause */ yytestcase(yyruleno==183); @@ -5242,270 +5291,270 @@ static YYACTIONTYPE yy_reduce( case 301: /* tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ yytestcase(yyruleno==301); case 318: /* func_list ::= func_list NK_COMMA func */ yytestcase(yyruleno==318); case 424: /* literal_list ::= literal_list NK_COMMA signed_literal */ yytestcase(yyruleno==424); - case 492: /* other_para_list ::= other_para_list NK_COMMA star_func_para */ yytestcase(yyruleno==492); - case 557: /* select_list ::= select_list NK_COMMA select_item */ yytestcase(yyruleno==557); - case 568: /* partition_list ::= partition_list NK_COMMA partition_item */ yytestcase(yyruleno==568); - case 627: /* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ yytestcase(yyruleno==627); -{ yylhsminor.yy332 = addNodeToList(pCxt, yymsp[-2].minor.yy332, yymsp[0].minor.yy476); } - yymsp[-2].minor.yy332 = yylhsminor.yy332; + case 495: /* other_para_list ::= other_para_list NK_COMMA star_func_para */ yytestcase(yyruleno==495); + case 560: /* select_list ::= select_list NK_COMMA select_item */ yytestcase(yyruleno==560); + case 571: /* partition_list ::= partition_list NK_COMMA partition_item */ yytestcase(yyruleno==571); + case 630: /* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ yytestcase(yyruleno==630); +{ yylhsminor.yy106 = addNodeToList(pCxt, yymsp[-2].minor.yy106, yymsp[0].minor.yy80); } + yymsp[-2].minor.yy106 = yylhsminor.yy106; break; case 151: /* retention ::= NK_VARIABLE NK_COLON NK_VARIABLE */ -{ yylhsminor.yy476 = createNodeListNodeEx(pCxt, createDurationValueNode(pCxt, &yymsp[-2].minor.yy0), createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createNodeListNodeEx(pCxt, createDurationValueNode(pCxt, &yymsp[-2].minor.yy0), createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 152: /* speed_opt ::= */ case 351: /* bufsize_opt ::= */ yytestcase(yyruleno==351); -{ yymsp[1].minor.yy156 = 0; } +{ yymsp[1].minor.yy982 = 0; } break; case 153: /* speed_opt ::= BWLIMIT NK_INTEGER */ case 352: /* bufsize_opt ::= BUFSIZE NK_INTEGER */ yytestcase(yyruleno==352); -{ yymsp[-1].minor.yy156 = taosStr2Int32(yymsp[0].minor.yy0.z, NULL, 10); } +{ yymsp[-1].minor.yy982 = taosStr2Int32(yymsp[0].minor.yy0.z, NULL, 10); } break; case 155: /* start_opt ::= START WITH NK_INTEGER */ case 159: /* end_opt ::= END WITH NK_INTEGER */ yytestcase(yyruleno==159); -{ yymsp[-2].minor.yy476 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0); } +{ yymsp[-2].minor.yy80 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0); } break; case 156: /* start_opt ::= START WITH NK_STRING */ case 160: /* end_opt ::= END WITH NK_STRING */ yytestcase(yyruleno==160); -{ yymsp[-2].minor.yy476 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } +{ yymsp[-2].minor.yy80 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } break; case 157: /* start_opt ::= START WITH TIMESTAMP NK_STRING */ case 161: /* end_opt ::= END WITH TIMESTAMP NK_STRING */ yytestcase(yyruleno==161); -{ yymsp[-3].minor.yy476 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } +{ yymsp[-3].minor.yy80 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } break; case 162: /* cmd ::= CREATE TABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def_opt table_options */ case 164: /* cmd ::= CREATE STABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def table_options */ yytestcase(yyruleno==164); -{ pCxt->pRootNode = createCreateTableStmt(pCxt, yymsp[-6].minor.yy977, yymsp[-5].minor.yy476, yymsp[-3].minor.yy332, yymsp[-1].minor.yy332, yymsp[0].minor.yy476); } +{ pCxt->pRootNode = createCreateTableStmt(pCxt, yymsp[-6].minor.yy923, yymsp[-5].minor.yy80, yymsp[-3].minor.yy106, yymsp[-1].minor.yy106, yymsp[0].minor.yy80); } break; case 163: /* cmd ::= CREATE TABLE multi_create_clause */ -{ pCxt->pRootNode = createCreateMultiTableStmt(pCxt, yymsp[0].minor.yy332); } +{ pCxt->pRootNode = createCreateMultiTableStmt(pCxt, yymsp[0].minor.yy106); } break; case 165: /* cmd ::= DROP TABLE multi_drop_clause */ -{ pCxt->pRootNode = createDropTableStmt(pCxt, yymsp[0].minor.yy332); } +{ pCxt->pRootNode = createDropTableStmt(pCxt, yymsp[0].minor.yy106); } break; case 166: /* cmd ::= DROP STABLE exists_opt full_table_name */ -{ pCxt->pRootNode = createDropSuperTableStmt(pCxt, yymsp[-1].minor.yy977, yymsp[0].minor.yy476); } +{ pCxt->pRootNode = createDropSuperTableStmt(pCxt, yymsp[-1].minor.yy923, yymsp[0].minor.yy80); } break; case 167: /* cmd ::= ALTER TABLE alter_table_clause */ case 396: /* cmd ::= query_or_subquery */ yytestcase(yyruleno==396); case 397: /* cmd ::= insert_query */ yytestcase(yyruleno==397); -{ pCxt->pRootNode = yymsp[0].minor.yy476; } +{ pCxt->pRootNode = yymsp[0].minor.yy80; } break; case 168: /* cmd ::= ALTER STABLE alter_table_clause */ -{ pCxt->pRootNode = setAlterSuperTableType(yymsp[0].minor.yy476); } +{ pCxt->pRootNode = setAlterSuperTableType(yymsp[0].minor.yy80); } break; case 169: /* alter_table_clause ::= full_table_name alter_table_options */ -{ yylhsminor.yy476 = createAlterTableModifyOptions(pCxt, yymsp[-1].minor.yy476, yymsp[0].minor.yy476); } - yymsp[-1].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createAlterTableModifyOptions(pCxt, yymsp[-1].minor.yy80, yymsp[0].minor.yy80); } + yymsp[-1].minor.yy80 = yylhsminor.yy80; break; case 170: /* alter_table_clause ::= full_table_name ADD COLUMN column_name type_name */ -{ yylhsminor.yy476 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy476, TSDB_ALTER_TABLE_ADD_COLUMN, &yymsp[-1].minor.yy481, yymsp[0].minor.yy752); } - yymsp[-4].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy80, TSDB_ALTER_TABLE_ADD_COLUMN, &yymsp[-1].minor.yy785, yymsp[0].minor.yy292); } + yymsp[-4].minor.yy80 = yylhsminor.yy80; break; case 171: /* alter_table_clause ::= full_table_name DROP COLUMN column_name */ -{ yylhsminor.yy476 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy476, TSDB_ALTER_TABLE_DROP_COLUMN, &yymsp[0].minor.yy481); } - yymsp[-3].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy80, TSDB_ALTER_TABLE_DROP_COLUMN, &yymsp[0].minor.yy785); } + yymsp[-3].minor.yy80 = yylhsminor.yy80; break; case 172: /* alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */ -{ yylhsminor.yy476 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy476, TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES, &yymsp[-1].minor.yy481, yymsp[0].minor.yy752); } - yymsp[-4].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy80, TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES, &yymsp[-1].minor.yy785, yymsp[0].minor.yy292); } + yymsp[-4].minor.yy80 = yylhsminor.yy80; break; case 173: /* alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */ -{ yylhsminor.yy476 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy476, TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME, &yymsp[-1].minor.yy481, &yymsp[0].minor.yy481); } - yymsp[-4].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy80, TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME, &yymsp[-1].minor.yy785, &yymsp[0].minor.yy785); } + yymsp[-4].minor.yy80 = yylhsminor.yy80; break; case 174: /* alter_table_clause ::= full_table_name ADD TAG column_name type_name */ -{ yylhsminor.yy476 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy476, TSDB_ALTER_TABLE_ADD_TAG, &yymsp[-1].minor.yy481, yymsp[0].minor.yy752); } - yymsp[-4].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy80, TSDB_ALTER_TABLE_ADD_TAG, &yymsp[-1].minor.yy785, yymsp[0].minor.yy292); } + yymsp[-4].minor.yy80 = yylhsminor.yy80; break; case 175: /* alter_table_clause ::= full_table_name DROP TAG column_name */ -{ yylhsminor.yy476 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy476, TSDB_ALTER_TABLE_DROP_TAG, &yymsp[0].minor.yy481); } - yymsp[-3].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy80, TSDB_ALTER_TABLE_DROP_TAG, &yymsp[0].minor.yy785); } + yymsp[-3].minor.yy80 = yylhsminor.yy80; break; case 176: /* alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */ -{ yylhsminor.yy476 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy476, TSDB_ALTER_TABLE_UPDATE_TAG_BYTES, &yymsp[-1].minor.yy481, yymsp[0].minor.yy752); } - yymsp[-4].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy80, TSDB_ALTER_TABLE_UPDATE_TAG_BYTES, &yymsp[-1].minor.yy785, yymsp[0].minor.yy292); } + yymsp[-4].minor.yy80 = yylhsminor.yy80; break; case 177: /* alter_table_clause ::= full_table_name RENAME TAG column_name column_name */ -{ yylhsminor.yy476 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy476, TSDB_ALTER_TABLE_UPDATE_TAG_NAME, &yymsp[-1].minor.yy481, &yymsp[0].minor.yy481); } - yymsp[-4].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy80, TSDB_ALTER_TABLE_UPDATE_TAG_NAME, &yymsp[-1].minor.yy785, &yymsp[0].minor.yy785); } + yymsp[-4].minor.yy80 = yylhsminor.yy80; break; case 178: /* alter_table_clause ::= full_table_name SET TAG column_name NK_EQ signed_literal */ -{ yylhsminor.yy476 = createAlterTableSetTag(pCxt, yymsp[-5].minor.yy476, &yymsp[-2].minor.yy481, yymsp[0].minor.yy476); } - yymsp[-5].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createAlterTableSetTag(pCxt, yymsp[-5].minor.yy80, &yymsp[-2].minor.yy785, yymsp[0].minor.yy80); } + yymsp[-5].minor.yy80 = yylhsminor.yy80; break; case 180: /* multi_create_clause ::= multi_create_clause create_subtable_clause */ - case 498: /* when_then_list ::= when_then_list when_then_expr */ yytestcase(yyruleno==498); -{ yylhsminor.yy332 = addNodeToList(pCxt, yymsp[-1].minor.yy332, yymsp[0].minor.yy476); } - yymsp[-1].minor.yy332 = yylhsminor.yy332; + case 501: /* when_then_list ::= when_then_list when_then_expr */ yytestcase(yyruleno==501); +{ yylhsminor.yy106 = addNodeToList(pCxt, yymsp[-1].minor.yy106, yymsp[0].minor.yy80); } + yymsp[-1].minor.yy106 = yylhsminor.yy106; break; case 181: /* create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_cols_opt TAGS NK_LP expression_list NK_RP table_options */ -{ yylhsminor.yy476 = createCreateSubTableClause(pCxt, yymsp[-9].minor.yy977, yymsp[-8].minor.yy476, yymsp[-6].minor.yy476, yymsp[-5].minor.yy332, yymsp[-2].minor.yy332, yymsp[0].minor.yy476); } - yymsp[-9].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createCreateSubTableClause(pCxt, yymsp[-9].minor.yy923, yymsp[-8].minor.yy80, yymsp[-6].minor.yy80, yymsp[-5].minor.yy106, yymsp[-2].minor.yy106, yymsp[0].minor.yy80); } + yymsp[-9].minor.yy80 = yylhsminor.yy80; break; case 184: /* drop_table_clause ::= exists_opt full_table_name */ -{ yylhsminor.yy476 = createDropTableClause(pCxt, yymsp[-1].minor.yy977, yymsp[0].minor.yy476); } - yymsp[-1].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createDropTableClause(pCxt, yymsp[-1].minor.yy923, yymsp[0].minor.yy80); } + yymsp[-1].minor.yy80 = yylhsminor.yy80; break; case 186: /* specific_cols_opt ::= NK_LP col_name_list NK_RP */ case 366: /* col_list_opt ::= NK_LP col_name_list NK_RP */ yytestcase(yyruleno==366); -{ yymsp[-2].minor.yy332 = yymsp[-1].minor.yy332; } +{ yymsp[-2].minor.yy106 = yymsp[-1].minor.yy106; } break; case 187: /* full_table_name ::= table_name */ -{ yylhsminor.yy476 = createRealTableNode(pCxt, NULL, &yymsp[0].minor.yy481, NULL); } - yymsp[0].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createRealTableNode(pCxt, NULL, &yymsp[0].minor.yy785, NULL); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; case 188: /* full_table_name ::= db_name NK_DOT table_name */ -{ yylhsminor.yy476 = createRealTableNode(pCxt, &yymsp[-2].minor.yy481, &yymsp[0].minor.yy481, NULL); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createRealTableNode(pCxt, &yymsp[-2].minor.yy785, &yymsp[0].minor.yy785, NULL); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 191: /* column_def ::= column_name type_name */ -{ yylhsminor.yy476 = createColumnDefNode(pCxt, &yymsp[-1].minor.yy481, yymsp[0].minor.yy752, NULL); } - yymsp[-1].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createColumnDefNode(pCxt, &yymsp[-1].minor.yy785, yymsp[0].minor.yy292, NULL); } + yymsp[-1].minor.yy80 = yylhsminor.yy80; break; case 192: /* type_name ::= BOOL */ -{ yymsp[0].minor.yy752 = createDataType(TSDB_DATA_TYPE_BOOL); } +{ yymsp[0].minor.yy292 = createDataType(TSDB_DATA_TYPE_BOOL); } break; case 193: /* type_name ::= TINYINT */ -{ yymsp[0].minor.yy752 = createDataType(TSDB_DATA_TYPE_TINYINT); } +{ yymsp[0].minor.yy292 = createDataType(TSDB_DATA_TYPE_TINYINT); } break; case 194: /* type_name ::= SMALLINT */ -{ yymsp[0].minor.yy752 = createDataType(TSDB_DATA_TYPE_SMALLINT); } +{ yymsp[0].minor.yy292 = createDataType(TSDB_DATA_TYPE_SMALLINT); } break; case 195: /* type_name ::= INT */ case 196: /* type_name ::= INTEGER */ yytestcase(yyruleno==196); -{ yymsp[0].minor.yy752 = createDataType(TSDB_DATA_TYPE_INT); } +{ yymsp[0].minor.yy292 = createDataType(TSDB_DATA_TYPE_INT); } break; case 197: /* type_name ::= BIGINT */ -{ yymsp[0].minor.yy752 = createDataType(TSDB_DATA_TYPE_BIGINT); } +{ yymsp[0].minor.yy292 = createDataType(TSDB_DATA_TYPE_BIGINT); } break; case 198: /* type_name ::= FLOAT */ -{ yymsp[0].minor.yy752 = createDataType(TSDB_DATA_TYPE_FLOAT); } +{ yymsp[0].minor.yy292 = createDataType(TSDB_DATA_TYPE_FLOAT); } break; case 199: /* type_name ::= DOUBLE */ -{ yymsp[0].minor.yy752 = createDataType(TSDB_DATA_TYPE_DOUBLE); } +{ yymsp[0].minor.yy292 = createDataType(TSDB_DATA_TYPE_DOUBLE); } break; case 200: /* type_name ::= BINARY NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy752 = createVarLenDataType(TSDB_DATA_TYPE_BINARY, &yymsp[-1].minor.yy0); } +{ yymsp[-3].minor.yy292 = createVarLenDataType(TSDB_DATA_TYPE_BINARY, &yymsp[-1].minor.yy0); } break; case 201: /* type_name ::= TIMESTAMP */ -{ yymsp[0].minor.yy752 = createDataType(TSDB_DATA_TYPE_TIMESTAMP); } +{ yymsp[0].minor.yy292 = createDataType(TSDB_DATA_TYPE_TIMESTAMP); } break; case 202: /* type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy752 = createVarLenDataType(TSDB_DATA_TYPE_NCHAR, &yymsp[-1].minor.yy0); } +{ yymsp[-3].minor.yy292 = createVarLenDataType(TSDB_DATA_TYPE_NCHAR, &yymsp[-1].minor.yy0); } break; case 203: /* type_name ::= TINYINT UNSIGNED */ -{ yymsp[-1].minor.yy752 = createDataType(TSDB_DATA_TYPE_UTINYINT); } +{ yymsp[-1].minor.yy292 = createDataType(TSDB_DATA_TYPE_UTINYINT); } break; case 204: /* type_name ::= SMALLINT UNSIGNED */ -{ yymsp[-1].minor.yy752 = createDataType(TSDB_DATA_TYPE_USMALLINT); } +{ yymsp[-1].minor.yy292 = createDataType(TSDB_DATA_TYPE_USMALLINT); } break; case 205: /* type_name ::= INT UNSIGNED */ -{ yymsp[-1].minor.yy752 = createDataType(TSDB_DATA_TYPE_UINT); } +{ yymsp[-1].minor.yy292 = createDataType(TSDB_DATA_TYPE_UINT); } break; case 206: /* type_name ::= BIGINT UNSIGNED */ -{ yymsp[-1].minor.yy752 = createDataType(TSDB_DATA_TYPE_UBIGINT); } +{ yymsp[-1].minor.yy292 = createDataType(TSDB_DATA_TYPE_UBIGINT); } break; case 207: /* type_name ::= JSON */ -{ yymsp[0].minor.yy752 = createDataType(TSDB_DATA_TYPE_JSON); } +{ yymsp[0].minor.yy292 = createDataType(TSDB_DATA_TYPE_JSON); } break; case 208: /* type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy752 = createVarLenDataType(TSDB_DATA_TYPE_VARCHAR, &yymsp[-1].minor.yy0); } +{ yymsp[-3].minor.yy292 = createVarLenDataType(TSDB_DATA_TYPE_VARCHAR, &yymsp[-1].minor.yy0); } break; case 209: /* type_name ::= MEDIUMBLOB */ -{ yymsp[0].minor.yy752 = createDataType(TSDB_DATA_TYPE_MEDIUMBLOB); } +{ yymsp[0].minor.yy292 = createDataType(TSDB_DATA_TYPE_MEDIUMBLOB); } break; case 210: /* type_name ::= BLOB */ -{ yymsp[0].minor.yy752 = createDataType(TSDB_DATA_TYPE_BLOB); } +{ yymsp[0].minor.yy292 = createDataType(TSDB_DATA_TYPE_BLOB); } break; case 211: /* type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy752 = createVarLenDataType(TSDB_DATA_TYPE_VARBINARY, &yymsp[-1].minor.yy0); } +{ yymsp[-3].minor.yy292 = createVarLenDataType(TSDB_DATA_TYPE_VARBINARY, &yymsp[-1].minor.yy0); } break; case 212: /* type_name ::= GEOMETRY NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy752 = createVarLenDataType(TSDB_DATA_TYPE_GEOMETRY, &yymsp[-1].minor.yy0); } +{ yymsp[-3].minor.yy292 = createVarLenDataType(TSDB_DATA_TYPE_GEOMETRY, &yymsp[-1].minor.yy0); } break; case 213: /* type_name ::= DECIMAL */ -{ yymsp[0].minor.yy752 = createDataType(TSDB_DATA_TYPE_DECIMAL); } +{ yymsp[0].minor.yy292 = createDataType(TSDB_DATA_TYPE_DECIMAL); } break; case 214: /* type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy752 = createDataType(TSDB_DATA_TYPE_DECIMAL); } +{ yymsp[-3].minor.yy292 = createDataType(TSDB_DATA_TYPE_DECIMAL); } break; case 215: /* type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ -{ yymsp[-5].minor.yy752 = createDataType(TSDB_DATA_TYPE_DECIMAL); } +{ yymsp[-5].minor.yy292 = createDataType(TSDB_DATA_TYPE_DECIMAL); } break; case 218: /* tags_def ::= TAGS NK_LP column_def_list NK_RP */ case 369: /* tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ yytestcase(yyruleno==369); -{ yymsp[-3].minor.yy332 = yymsp[-1].minor.yy332; } +{ yymsp[-3].minor.yy106 = yymsp[-1].minor.yy106; } break; case 219: /* table_options ::= */ -{ yymsp[1].minor.yy476 = createDefaultTableOptions(pCxt); } +{ yymsp[1].minor.yy80 = createDefaultTableOptions(pCxt); } break; case 220: /* table_options ::= table_options COMMENT NK_STRING */ -{ yylhsminor.yy476 = setTableOption(pCxt, yymsp[-2].minor.yy476, TABLE_OPTION_COMMENT, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setTableOption(pCxt, yymsp[-2].minor.yy80, TABLE_OPTION_COMMENT, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 221: /* table_options ::= table_options MAX_DELAY duration_list */ -{ yylhsminor.yy476 = setTableOption(pCxt, yymsp[-2].minor.yy476, TABLE_OPTION_MAXDELAY, yymsp[0].minor.yy332); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setTableOption(pCxt, yymsp[-2].minor.yy80, TABLE_OPTION_MAXDELAY, yymsp[0].minor.yy106); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 222: /* table_options ::= table_options WATERMARK duration_list */ -{ yylhsminor.yy476 = setTableOption(pCxt, yymsp[-2].minor.yy476, TABLE_OPTION_WATERMARK, yymsp[0].minor.yy332); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setTableOption(pCxt, yymsp[-2].minor.yy80, TABLE_OPTION_WATERMARK, yymsp[0].minor.yy106); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 223: /* table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ -{ yylhsminor.yy476 = setTableOption(pCxt, yymsp[-4].minor.yy476, TABLE_OPTION_ROLLUP, yymsp[-1].minor.yy332); } - yymsp[-4].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setTableOption(pCxt, yymsp[-4].minor.yy80, TABLE_OPTION_ROLLUP, yymsp[-1].minor.yy106); } + yymsp[-4].minor.yy80 = yylhsminor.yy80; break; case 224: /* table_options ::= table_options TTL NK_INTEGER */ -{ yylhsminor.yy476 = setTableOption(pCxt, yymsp[-2].minor.yy476, TABLE_OPTION_TTL, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setTableOption(pCxt, yymsp[-2].minor.yy80, TABLE_OPTION_TTL, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 225: /* table_options ::= table_options SMA NK_LP col_name_list NK_RP */ -{ yylhsminor.yy476 = setTableOption(pCxt, yymsp[-4].minor.yy476, TABLE_OPTION_SMA, yymsp[-1].minor.yy332); } - yymsp[-4].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setTableOption(pCxt, yymsp[-4].minor.yy80, TABLE_OPTION_SMA, yymsp[-1].minor.yy106); } + yymsp[-4].minor.yy80 = yylhsminor.yy80; break; case 226: /* table_options ::= table_options DELETE_MARK duration_list */ -{ yylhsminor.yy476 = setTableOption(pCxt, yymsp[-2].minor.yy476, TABLE_OPTION_DELETE_MARK, yymsp[0].minor.yy332); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setTableOption(pCxt, yymsp[-2].minor.yy80, TABLE_OPTION_DELETE_MARK, yymsp[0].minor.yy106); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 227: /* alter_table_options ::= alter_table_option */ -{ yylhsminor.yy476 = createAlterTableOptions(pCxt); yylhsminor.yy476 = setTableOption(pCxt, yylhsminor.yy476, yymsp[0].minor.yy189.type, &yymsp[0].minor.yy189.val); } - yymsp[0].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createAlterTableOptions(pCxt); yylhsminor.yy80 = setTableOption(pCxt, yylhsminor.yy80, yymsp[0].minor.yy455.type, &yymsp[0].minor.yy455.val); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; case 228: /* alter_table_options ::= alter_table_options alter_table_option */ -{ yylhsminor.yy476 = setTableOption(pCxt, yymsp[-1].minor.yy476, yymsp[0].minor.yy189.type, &yymsp[0].minor.yy189.val); } - yymsp[-1].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setTableOption(pCxt, yymsp[-1].minor.yy80, yymsp[0].minor.yy455.type, &yymsp[0].minor.yy455.val); } + yymsp[-1].minor.yy80 = yylhsminor.yy80; break; case 229: /* alter_table_option ::= COMMENT NK_STRING */ -{ yymsp[-1].minor.yy189.type = TABLE_OPTION_COMMENT; yymsp[-1].minor.yy189.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy455.type = TABLE_OPTION_COMMENT; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } break; case 230: /* alter_table_option ::= TTL NK_INTEGER */ -{ yymsp[-1].minor.yy189.type = TABLE_OPTION_TTL; yymsp[-1].minor.yy189.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy455.type = TABLE_OPTION_TTL; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } break; case 231: /* duration_list ::= duration_literal */ - case 454: /* expression_list ::= expr_or_subquery */ yytestcase(yyruleno==454); -{ yylhsminor.yy332 = createNodeList(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy476)); } - yymsp[0].minor.yy332 = yylhsminor.yy332; + case 455: /* expression_list ::= expr_or_subquery */ yytestcase(yyruleno==455); +{ yylhsminor.yy106 = createNodeList(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy80)); } + yymsp[0].minor.yy106 = yylhsminor.yy106; break; case 232: /* duration_list ::= duration_list NK_COMMA duration_literal */ - case 455: /* expression_list ::= expression_list NK_COMMA expr_or_subquery */ yytestcase(yyruleno==455); -{ yylhsminor.yy332 = addNodeToList(pCxt, yymsp[-2].minor.yy332, releaseRawExprNode(pCxt, yymsp[0].minor.yy476)); } - yymsp[-2].minor.yy332 = yylhsminor.yy332; + case 456: /* expression_list ::= expression_list NK_COMMA expr_or_subquery */ yytestcase(yyruleno==456); +{ yylhsminor.yy106 = addNodeToList(pCxt, yymsp[-2].minor.yy106, releaseRawExprNode(pCxt, yymsp[0].minor.yy80)); } + yymsp[-2].minor.yy106 = yylhsminor.yy106; break; case 235: /* rollup_func_name ::= function_name */ -{ yylhsminor.yy476 = createFunctionNode(pCxt, &yymsp[0].minor.yy481, NULL); } - yymsp[0].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createFunctionNode(pCxt, &yymsp[0].minor.yy785, NULL); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; case 236: /* rollup_func_name ::= FIRST */ case 237: /* rollup_func_name ::= LAST */ yytestcase(yyruleno==237); case 303: /* tag_item ::= QTAGS */ yytestcase(yyruleno==303); -{ yylhsminor.yy476 = createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL); } - yymsp[0].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; case 240: /* col_name ::= column_name */ case 304: /* tag_item ::= column_name */ yytestcase(yyruleno==304); -{ yylhsminor.yy476 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy481); } - yymsp[0].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy785); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; case 241: /* cmd ::= SHOW DNODES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_DNODES_STMT); } @@ -5519,19 +5568,19 @@ static YYACTIONTYPE yy_reduce( case 244: /* cmd ::= SHOW db_kind_opt DATABASES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_DATABASES_STMT); - setShowKind(pCxt, pCxt->pRootNode, yymsp[-1].minor.yy585); + setShowKind(pCxt, pCxt->pRootNode, yymsp[-1].minor.yy459); } break; case 245: /* cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ { - pCxt->pRootNode = createShowTablesStmt(pCxt, yymsp[-2].minor.yy729, yymsp[0].minor.yy476, OP_TYPE_LIKE); + pCxt->pRootNode = createShowTablesStmt(pCxt, yymsp[-2].minor.yy709, yymsp[0].minor.yy80, OP_TYPE_LIKE); } break; case 246: /* cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_STABLES_STMT, yymsp[-2].minor.yy476, yymsp[0].minor.yy476, OP_TYPE_LIKE); } +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_STABLES_STMT, yymsp[-2].minor.yy80, yymsp[0].minor.yy80, OP_TYPE_LIKE); } break; case 247: /* cmd ::= SHOW db_name_cond_opt VGROUPS */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VGROUPS_STMT, yymsp[-1].minor.yy476, NULL, OP_TYPE_LIKE); } +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VGROUPS_STMT, yymsp[-1].minor.yy80, NULL, OP_TYPE_LIKE); } break; case 248: /* cmd ::= SHOW MNODES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_MNODES_STMT); } @@ -5543,10 +5592,10 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_FUNCTIONS_STMT); } break; case 251: /* cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, yymsp[0].minor.yy476, yymsp[-1].minor.yy476, OP_TYPE_EQUAL); } +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, yymsp[0].minor.yy80, yymsp[-1].minor.yy80, OP_TYPE_EQUAL); } break; case 252: /* cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy481), createIdentifierValueNode(pCxt, &yymsp[0].minor.yy481), OP_TYPE_EQUAL); } +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy785), createIdentifierValueNode(pCxt, &yymsp[0].minor.yy785), OP_TYPE_EQUAL); } break; case 253: /* cmd ::= SHOW STREAMS */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_STREAMS_STMT); } @@ -5565,13 +5614,13 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_LICENCES_STMT); } break; case 259: /* cmd ::= SHOW CREATE DATABASE db_name */ -{ pCxt->pRootNode = createShowCreateDatabaseStmt(pCxt, &yymsp[0].minor.yy481); } +{ pCxt->pRootNode = createShowCreateDatabaseStmt(pCxt, &yymsp[0].minor.yy785); } break; case 260: /* cmd ::= SHOW CREATE TABLE full_table_name */ -{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_TABLE_STMT, yymsp[0].minor.yy476); } +{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_TABLE_STMT, yymsp[0].minor.yy80); } break; case 261: /* cmd ::= SHOW CREATE STABLE full_table_name */ -{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_STABLE_STMT, yymsp[0].minor.yy476); } +{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_STABLE_STMT, yymsp[0].minor.yy80); } break; case 262: /* cmd ::= SHOW QUERIES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_QUERIES_STMT); } @@ -5590,7 +5639,7 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_LOCAL_VARIABLES_STMT); } break; case 268: /* cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ -{ pCxt->pRootNode = createShowDnodeVariablesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[-2].minor.yy0), yymsp[0].minor.yy476); } +{ pCxt->pRootNode = createShowDnodeVariablesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[-2].minor.yy0), yymsp[0].minor.yy80); } break; case 269: /* cmd ::= SHOW BNODES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_BNODES_STMT); } @@ -5605,7 +5654,7 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_TRANSACTIONS_STMT); } break; case 273: /* cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ -{ pCxt->pRootNode = createShowTableDistributedStmt(pCxt, yymsp[0].minor.yy476); } +{ pCxt->pRootNode = createShowTableDistributedStmt(pCxt, yymsp[0].minor.yy80); } break; case 274: /* cmd ::= SHOW CONSUMERS */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CONSUMERS_STMT); } @@ -5614,16 +5663,16 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_SUBSCRIPTIONS_STMT); } break; case 276: /* cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, yymsp[0].minor.yy476, yymsp[-1].minor.yy476, OP_TYPE_EQUAL); } +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, yymsp[0].minor.yy80, yymsp[-1].minor.yy80, OP_TYPE_EQUAL); } break; case 277: /* cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy481), createIdentifierValueNode(pCxt, &yymsp[0].minor.yy481), OP_TYPE_EQUAL); } +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy785), createIdentifierValueNode(pCxt, &yymsp[0].minor.yy785), OP_TYPE_EQUAL); } break; case 278: /* cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ -{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, yymsp[-1].minor.yy476, yymsp[0].minor.yy476, yymsp[-3].minor.yy332); } +{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, yymsp[-1].minor.yy80, yymsp[0].minor.yy80, yymsp[-3].minor.yy106); } break; case 279: /* cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name */ -{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, createIdentifierValueNode(pCxt, &yymsp[0].minor.yy481), createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy481), yymsp[-4].minor.yy332); } +{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, createIdentifierValueNode(pCxt, &yymsp[0].minor.yy785), createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy785), yymsp[-4].minor.yy106); } break; case 280: /* cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ { pCxt->pRootNode = createShowVnodesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0), NULL); } @@ -5632,244 +5681,244 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createShowVnodesStmt(pCxt, NULL, NULL); } break; case 282: /* cmd ::= SHOW db_name_cond_opt ALIVE */ -{ pCxt->pRootNode = createShowAliveStmt(pCxt, yymsp[-1].minor.yy476, QUERY_NODE_SHOW_DB_ALIVE_STMT); } +{ pCxt->pRootNode = createShowAliveStmt(pCxt, yymsp[-1].minor.yy80, QUERY_NODE_SHOW_DB_ALIVE_STMT); } break; case 283: /* cmd ::= SHOW CLUSTER ALIVE */ { pCxt->pRootNode = createShowAliveStmt(pCxt, NULL, QUERY_NODE_SHOW_CLUSTER_ALIVE_STMT); } break; case 284: /* cmd ::= SHOW db_name_cond_opt VIEWS */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VIEWS_STMT, yymsp[-1].minor.yy476, NULL, OP_TYPE_LIKE); } +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VIEWS_STMT, yymsp[-1].minor.yy80, NULL, OP_TYPE_LIKE); } break; case 285: /* cmd ::= SHOW CREATE VIEW full_table_name */ -{ pCxt->pRootNode = createShowCreateViewStmt(pCxt, QUERY_NODE_SHOW_CREATE_VIEW_STMT, yymsp[0].minor.yy476); } +{ pCxt->pRootNode = createShowCreateViewStmt(pCxt, QUERY_NODE_SHOW_CREATE_VIEW_STMT, yymsp[0].minor.yy80); } break; case 286: /* table_kind_db_name_cond_opt ::= */ -{ yymsp[1].minor.yy729.kind = SHOW_KIND_ALL; yymsp[1].minor.yy729.dbName = nil_token; } +{ yymsp[1].minor.yy709.kind = SHOW_KIND_ALL; yymsp[1].minor.yy709.dbName = nil_token; } break; case 287: /* table_kind_db_name_cond_opt ::= table_kind */ -{ yylhsminor.yy729.kind = yymsp[0].minor.yy585; yylhsminor.yy729.dbName = nil_token; } - yymsp[0].minor.yy729 = yylhsminor.yy729; +{ yylhsminor.yy709.kind = yymsp[0].minor.yy459; yylhsminor.yy709.dbName = nil_token; } + yymsp[0].minor.yy709 = yylhsminor.yy709; break; case 288: /* table_kind_db_name_cond_opt ::= db_name NK_DOT */ -{ yylhsminor.yy729.kind = SHOW_KIND_ALL; yylhsminor.yy729.dbName = yymsp[-1].minor.yy481; } - yymsp[-1].minor.yy729 = yylhsminor.yy729; +{ yylhsminor.yy709.kind = SHOW_KIND_ALL; yylhsminor.yy709.dbName = yymsp[-1].minor.yy785; } + yymsp[-1].minor.yy709 = yylhsminor.yy709; break; case 289: /* table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ -{ yylhsminor.yy729.kind = yymsp[-2].minor.yy585; yylhsminor.yy729.dbName = yymsp[-1].minor.yy481; } - yymsp[-2].minor.yy729 = yylhsminor.yy729; +{ yylhsminor.yy709.kind = yymsp[-2].minor.yy459; yylhsminor.yy709.dbName = yymsp[-1].minor.yy785; } + yymsp[-2].minor.yy709 = yylhsminor.yy709; break; case 290: /* table_kind ::= NORMAL */ -{ yymsp[0].minor.yy585 = SHOW_KIND_TABLES_NORMAL; } +{ yymsp[0].minor.yy459 = SHOW_KIND_TABLES_NORMAL; } break; case 291: /* table_kind ::= CHILD */ -{ yymsp[0].minor.yy585 = SHOW_KIND_TABLES_CHILD; } +{ yymsp[0].minor.yy459 = SHOW_KIND_TABLES_CHILD; } break; case 292: /* db_name_cond_opt ::= */ case 297: /* from_db_opt ::= */ yytestcase(yyruleno==297); -{ yymsp[1].minor.yy476 = createDefaultDatabaseCondValue(pCxt); } +{ yymsp[1].minor.yy80 = createDefaultDatabaseCondValue(pCxt); } break; case 293: /* db_name_cond_opt ::= db_name NK_DOT */ -{ yylhsminor.yy476 = createIdentifierValueNode(pCxt, &yymsp[-1].minor.yy481); } - yymsp[-1].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createIdentifierValueNode(pCxt, &yymsp[-1].minor.yy785); } + yymsp[-1].minor.yy80 = yylhsminor.yy80; break; case 295: /* like_pattern_opt ::= LIKE NK_STRING */ -{ yymsp[-1].minor.yy476 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } +{ yymsp[-1].minor.yy80 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } break; case 296: /* table_name_cond ::= table_name */ -{ yylhsminor.yy476 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy481); } - yymsp[0].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy785); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; case 298: /* from_db_opt ::= FROM db_name */ -{ yymsp[-1].minor.yy476 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy481); } +{ yymsp[-1].minor.yy80 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy785); } break; case 302: /* tag_item ::= TBNAME */ -{ yylhsminor.yy476 = setProjectionAlias(pCxt, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL), &yymsp[0].minor.yy0); } - yymsp[0].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setProjectionAlias(pCxt, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL), &yymsp[0].minor.yy0); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; case 305: /* tag_item ::= column_name column_alias */ -{ yylhsminor.yy476 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-1].minor.yy481), &yymsp[0].minor.yy481); } - yymsp[-1].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-1].minor.yy785), &yymsp[0].minor.yy785); } + yymsp[-1].minor.yy80 = yylhsminor.yy80; break; case 306: /* tag_item ::= column_name AS column_alias */ -{ yylhsminor.yy476 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-2].minor.yy481), &yymsp[0].minor.yy481); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-2].minor.yy785), &yymsp[0].minor.yy785); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 307: /* db_kind_opt ::= */ -{ yymsp[1].minor.yy585 = SHOW_KIND_ALL; } +{ yymsp[1].minor.yy459 = SHOW_KIND_ALL; } break; case 308: /* db_kind_opt ::= USER */ -{ yymsp[0].minor.yy585 = SHOW_KIND_DATABASES_USER; } +{ yymsp[0].minor.yy459 = SHOW_KIND_DATABASES_USER; } break; case 309: /* db_kind_opt ::= SYSTEM */ -{ yymsp[0].minor.yy585 = SHOW_KIND_DATABASES_SYSTEM; } +{ yymsp[0].minor.yy459 = SHOW_KIND_DATABASES_SYSTEM; } break; case 310: /* cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options */ -{ pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_SMA, yymsp[-4].minor.yy977, yymsp[-3].minor.yy476, yymsp[-1].minor.yy476, NULL, yymsp[0].minor.yy476); } +{ pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_SMA, yymsp[-4].minor.yy923, yymsp[-3].minor.yy80, yymsp[-1].minor.yy80, NULL, yymsp[0].minor.yy80); } break; case 311: /* cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP */ -{ pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_NORMAL, yymsp[-6].minor.yy977, yymsp[-5].minor.yy476, yymsp[-3].minor.yy476, yymsp[-1].minor.yy332, NULL); } +{ pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_NORMAL, yymsp[-6].minor.yy923, yymsp[-5].minor.yy80, yymsp[-3].minor.yy80, yymsp[-1].minor.yy106, NULL); } break; case 312: /* cmd ::= DROP INDEX exists_opt full_index_name */ -{ pCxt->pRootNode = createDropIndexStmt(pCxt, yymsp[-1].minor.yy977, yymsp[0].minor.yy476); } +{ pCxt->pRootNode = createDropIndexStmt(pCxt, yymsp[-1].minor.yy923, yymsp[0].minor.yy80); } break; case 313: /* full_index_name ::= index_name */ -{ yylhsminor.yy476 = createRealTableNodeForIndexName(pCxt, NULL, &yymsp[0].minor.yy481); } - yymsp[0].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createRealTableNodeForIndexName(pCxt, NULL, &yymsp[0].minor.yy785); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; case 314: /* full_index_name ::= db_name NK_DOT index_name */ -{ yylhsminor.yy476 = createRealTableNodeForIndexName(pCxt, &yymsp[-2].minor.yy481, &yymsp[0].minor.yy481); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createRealTableNodeForIndexName(pCxt, &yymsp[-2].minor.yy785, &yymsp[0].minor.yy785); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 315: /* index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ -{ yymsp[-9].minor.yy476 = createIndexOption(pCxt, yymsp[-7].minor.yy332, releaseRawExprNode(pCxt, yymsp[-3].minor.yy476), NULL, yymsp[-1].minor.yy476, yymsp[0].minor.yy476); } +{ yymsp[-9].minor.yy80 = createIndexOption(pCxt, yymsp[-7].minor.yy106, releaseRawExprNode(pCxt, yymsp[-3].minor.yy80), NULL, yymsp[-1].minor.yy80, yymsp[0].minor.yy80); } break; case 316: /* index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt sma_stream_opt */ -{ yymsp[-11].minor.yy476 = createIndexOption(pCxt, yymsp[-9].minor.yy332, releaseRawExprNode(pCxt, yymsp[-5].minor.yy476), releaseRawExprNode(pCxt, yymsp[-3].minor.yy476), yymsp[-1].minor.yy476, yymsp[0].minor.yy476); } +{ yymsp[-11].minor.yy80 = createIndexOption(pCxt, yymsp[-9].minor.yy106, releaseRawExprNode(pCxt, yymsp[-5].minor.yy80), releaseRawExprNode(pCxt, yymsp[-3].minor.yy80), yymsp[-1].minor.yy80, yymsp[0].minor.yy80); } break; case 319: /* func ::= sma_func_name NK_LP expression_list NK_RP */ -{ yylhsminor.yy476 = createFunctionNode(pCxt, &yymsp[-3].minor.yy481, yymsp[-1].minor.yy332); } - yymsp[-3].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createFunctionNode(pCxt, &yymsp[-3].minor.yy785, yymsp[-1].minor.yy106); } + yymsp[-3].minor.yy80 = yylhsminor.yy80; break; case 320: /* sma_func_name ::= function_name */ - case 541: /* alias_opt ::= table_alias */ yytestcase(yyruleno==541); -{ yylhsminor.yy481 = yymsp[0].minor.yy481; } - yymsp[0].minor.yy481 = yylhsminor.yy481; + case 544: /* alias_opt ::= table_alias */ yytestcase(yyruleno==544); +{ yylhsminor.yy785 = yymsp[0].minor.yy785; } + yymsp[0].minor.yy785 = yylhsminor.yy785; break; case 325: /* sma_stream_opt ::= */ case 370: /* stream_options ::= */ yytestcase(yyruleno==370); -{ yymsp[1].minor.yy476 = createStreamOptions(pCxt); } +{ yymsp[1].minor.yy80 = createStreamOptions(pCxt); } break; case 326: /* sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ -{ ((SStreamOptions*)yymsp[-2].minor.yy476)->pWatermark = releaseRawExprNode(pCxt, yymsp[0].minor.yy476); yylhsminor.yy476 = yymsp[-2].minor.yy476; } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ ((SStreamOptions*)yymsp[-2].minor.yy80)->pWatermark = releaseRawExprNode(pCxt, yymsp[0].minor.yy80); yylhsminor.yy80 = yymsp[-2].minor.yy80; } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 327: /* sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ -{ ((SStreamOptions*)yymsp[-2].minor.yy476)->pDelay = releaseRawExprNode(pCxt, yymsp[0].minor.yy476); yylhsminor.yy476 = yymsp[-2].minor.yy476; } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ ((SStreamOptions*)yymsp[-2].minor.yy80)->pDelay = releaseRawExprNode(pCxt, yymsp[0].minor.yy80); yylhsminor.yy80 = yymsp[-2].minor.yy80; } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 328: /* sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ -{ ((SStreamOptions*)yymsp[-2].minor.yy476)->pDeleteMark = releaseRawExprNode(pCxt, yymsp[0].minor.yy476); yylhsminor.yy476 = yymsp[-2].minor.yy476; } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ ((SStreamOptions*)yymsp[-2].minor.yy80)->pDeleteMark = releaseRawExprNode(pCxt, yymsp[0].minor.yy80); yylhsminor.yy80 = yymsp[-2].minor.yy80; } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 329: /* with_meta ::= AS */ -{ yymsp[0].minor.yy156 = 0; } +{ yymsp[0].minor.yy982 = 0; } break; case 330: /* with_meta ::= WITH META AS */ -{ yymsp[-2].minor.yy156 = 1; } +{ yymsp[-2].minor.yy982 = 1; } break; case 331: /* with_meta ::= ONLY META AS */ -{ yymsp[-2].minor.yy156 = 2; } +{ yymsp[-2].minor.yy982 = 2; } break; case 332: /* cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ -{ pCxt->pRootNode = createCreateTopicStmtUseQuery(pCxt, yymsp[-3].minor.yy977, &yymsp[-2].minor.yy481, yymsp[0].minor.yy476); } +{ pCxt->pRootNode = createCreateTopicStmtUseQuery(pCxt, yymsp[-3].minor.yy923, &yymsp[-2].minor.yy785, yymsp[0].minor.yy80); } break; case 333: /* cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ -{ pCxt->pRootNode = createCreateTopicStmtUseDb(pCxt, yymsp[-4].minor.yy977, &yymsp[-3].minor.yy481, &yymsp[0].minor.yy481, yymsp[-2].minor.yy156); } +{ pCxt->pRootNode = createCreateTopicStmtUseDb(pCxt, yymsp[-4].minor.yy923, &yymsp[-3].minor.yy785, &yymsp[0].minor.yy785, yymsp[-2].minor.yy982); } break; case 334: /* cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ -{ pCxt->pRootNode = createCreateTopicStmtUseTable(pCxt, yymsp[-5].minor.yy977, &yymsp[-4].minor.yy481, yymsp[-1].minor.yy476, yymsp[-3].minor.yy156, yymsp[0].minor.yy476); } +{ pCxt->pRootNode = createCreateTopicStmtUseTable(pCxt, yymsp[-5].minor.yy923, &yymsp[-4].minor.yy785, yymsp[-1].minor.yy80, yymsp[-3].minor.yy982, yymsp[0].minor.yy80); } break; case 335: /* cmd ::= DROP TOPIC exists_opt topic_name */ -{ pCxt->pRootNode = createDropTopicStmt(pCxt, yymsp[-1].minor.yy977, &yymsp[0].minor.yy481); } +{ pCxt->pRootNode = createDropTopicStmt(pCxt, yymsp[-1].minor.yy923, &yymsp[0].minor.yy785); } break; case 336: /* cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ -{ pCxt->pRootNode = createDropCGroupStmt(pCxt, yymsp[-3].minor.yy977, &yymsp[-2].minor.yy481, &yymsp[0].minor.yy481); } +{ pCxt->pRootNode = createDropCGroupStmt(pCxt, yymsp[-3].minor.yy923, &yymsp[-2].minor.yy785, &yymsp[0].minor.yy785); } break; case 337: /* cmd ::= DESC full_table_name */ case 338: /* cmd ::= DESCRIBE full_table_name */ yytestcase(yyruleno==338); -{ pCxt->pRootNode = createDescribeStmt(pCxt, yymsp[0].minor.yy476); } +{ pCxt->pRootNode = createDescribeStmt(pCxt, yymsp[0].minor.yy80); } break; case 339: /* cmd ::= RESET QUERY CACHE */ { pCxt->pRootNode = createResetQueryCacheStmt(pCxt); } break; case 340: /* cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ case 341: /* cmd ::= EXPLAIN analyze_opt explain_options insert_query */ yytestcase(yyruleno==341); -{ pCxt->pRootNode = createExplainStmt(pCxt, yymsp[-2].minor.yy977, yymsp[-1].minor.yy476, yymsp[0].minor.yy476); } +{ pCxt->pRootNode = createExplainStmt(pCxt, yymsp[-2].minor.yy923, yymsp[-1].minor.yy80, yymsp[0].minor.yy80); } break; case 344: /* explain_options ::= */ -{ yymsp[1].minor.yy476 = createDefaultExplainOptions(pCxt); } +{ yymsp[1].minor.yy80 = createDefaultExplainOptions(pCxt); } break; case 345: /* explain_options ::= explain_options VERBOSE NK_BOOL */ -{ yylhsminor.yy476 = setExplainVerbose(pCxt, yymsp[-2].minor.yy476, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setExplainVerbose(pCxt, yymsp[-2].minor.yy80, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 346: /* explain_options ::= explain_options RATIO NK_FLOAT */ -{ yylhsminor.yy476 = setExplainRatio(pCxt, yymsp[-2].minor.yy476, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setExplainRatio(pCxt, yymsp[-2].minor.yy80, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 347: /* cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt */ -{ pCxt->pRootNode = createCreateFunctionStmt(pCxt, yymsp[-7].minor.yy977, yymsp[-9].minor.yy977, &yymsp[-6].minor.yy481, &yymsp[-4].minor.yy0, yymsp[-2].minor.yy752, yymsp[-1].minor.yy156, &yymsp[0].minor.yy481, yymsp[-10].minor.yy977); } +{ pCxt->pRootNode = createCreateFunctionStmt(pCxt, yymsp[-7].minor.yy923, yymsp[-9].minor.yy923, &yymsp[-6].minor.yy785, &yymsp[-4].minor.yy0, yymsp[-2].minor.yy292, yymsp[-1].minor.yy982, &yymsp[0].minor.yy785, yymsp[-10].minor.yy923); } break; case 348: /* cmd ::= DROP FUNCTION exists_opt function_name */ -{ pCxt->pRootNode = createDropFunctionStmt(pCxt, yymsp[-1].minor.yy977, &yymsp[0].minor.yy481); } +{ pCxt->pRootNode = createDropFunctionStmt(pCxt, yymsp[-1].minor.yy923, &yymsp[0].minor.yy785); } break; case 353: /* language_opt ::= */ case 391: /* on_vgroup_id ::= */ yytestcase(yyruleno==391); -{ yymsp[1].minor.yy481 = nil_token; } +{ yymsp[1].minor.yy785 = nil_token; } break; case 354: /* language_opt ::= LANGUAGE NK_STRING */ case 392: /* on_vgroup_id ::= ON NK_INTEGER */ yytestcase(yyruleno==392); -{ yymsp[-1].minor.yy481 = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy785 = yymsp[0].minor.yy0; } break; case 357: /* cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ -{ pCxt->pRootNode = createCreateViewStmt(pCxt, yymsp[-4].minor.yy977, yymsp[-2].minor.yy476, &yymsp[-1].minor.yy0, yymsp[0].minor.yy476); } +{ pCxt->pRootNode = createCreateViewStmt(pCxt, yymsp[-4].minor.yy923, yymsp[-2].minor.yy80, &yymsp[-1].minor.yy0, yymsp[0].minor.yy80); } break; case 358: /* cmd ::= DROP VIEW exists_opt full_view_name */ -{ pCxt->pRootNode = createDropViewStmt(pCxt, yymsp[-1].minor.yy977, yymsp[0].minor.yy476); } +{ pCxt->pRootNode = createDropViewStmt(pCxt, yymsp[-1].minor.yy923, yymsp[0].minor.yy80); } break; case 359: /* full_view_name ::= view_name */ -{ yylhsminor.yy476 = createViewNode(pCxt, NULL, &yymsp[0].minor.yy481); } - yymsp[0].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createViewNode(pCxt, NULL, &yymsp[0].minor.yy785); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; case 360: /* full_view_name ::= db_name NK_DOT view_name */ -{ yylhsminor.yy476 = createViewNode(pCxt, &yymsp[-2].minor.yy481, &yymsp[0].minor.yy481); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createViewNode(pCxt, &yymsp[-2].minor.yy785, &yymsp[0].minor.yy785); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 361: /* cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name col_list_opt tag_def_or_ref_opt subtable_opt AS query_or_subquery */ -{ pCxt->pRootNode = createCreateStreamStmt(pCxt, yymsp[-9].minor.yy977, &yymsp[-8].minor.yy481, yymsp[-5].minor.yy476, yymsp[-7].minor.yy476, yymsp[-3].minor.yy332, yymsp[-2].minor.yy476, yymsp[0].minor.yy476, yymsp[-4].minor.yy332); } +{ pCxt->pRootNode = createCreateStreamStmt(pCxt, yymsp[-9].minor.yy923, &yymsp[-8].minor.yy785, yymsp[-5].minor.yy80, yymsp[-7].minor.yy80, yymsp[-3].minor.yy106, yymsp[-2].minor.yy80, yymsp[0].minor.yy80, yymsp[-4].minor.yy106); } break; case 362: /* cmd ::= DROP STREAM exists_opt stream_name */ -{ pCxt->pRootNode = createDropStreamStmt(pCxt, yymsp[-1].minor.yy977, &yymsp[0].minor.yy481); } +{ pCxt->pRootNode = createDropStreamStmt(pCxt, yymsp[-1].minor.yy923, &yymsp[0].minor.yy785); } break; case 363: /* cmd ::= PAUSE STREAM exists_opt stream_name */ -{ pCxt->pRootNode = createPauseStreamStmt(pCxt, yymsp[-1].minor.yy977, &yymsp[0].minor.yy481); } +{ pCxt->pRootNode = createPauseStreamStmt(pCxt, yymsp[-1].minor.yy923, &yymsp[0].minor.yy785); } break; case 364: /* cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ -{ pCxt->pRootNode = createResumeStreamStmt(pCxt, yymsp[-2].minor.yy977, yymsp[-1].minor.yy977, &yymsp[0].minor.yy481); } +{ pCxt->pRootNode = createResumeStreamStmt(pCxt, yymsp[-2].minor.yy923, yymsp[-1].minor.yy923, &yymsp[0].minor.yy785); } break; case 371: /* stream_options ::= stream_options TRIGGER AT_ONCE */ case 372: /* stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ yytestcase(yyruleno==372); -{ yylhsminor.yy476 = setStreamOptions(pCxt, yymsp[-2].minor.yy476, SOPT_TRIGGER_TYPE_SET, &yymsp[0].minor.yy0, NULL); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setStreamOptions(pCxt, yymsp[-2].minor.yy80, SOPT_TRIGGER_TYPE_SET, &yymsp[0].minor.yy0, NULL); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 373: /* stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ -{ yylhsminor.yy476 = setStreamOptions(pCxt, yymsp[-3].minor.yy476, SOPT_TRIGGER_TYPE_SET, &yymsp[-1].minor.yy0, releaseRawExprNode(pCxt, yymsp[0].minor.yy476)); } - yymsp[-3].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setStreamOptions(pCxt, yymsp[-3].minor.yy80, SOPT_TRIGGER_TYPE_SET, &yymsp[-1].minor.yy0, releaseRawExprNode(pCxt, yymsp[0].minor.yy80)); } + yymsp[-3].minor.yy80 = yylhsminor.yy80; break; case 374: /* stream_options ::= stream_options WATERMARK duration_literal */ -{ yylhsminor.yy476 = setStreamOptions(pCxt, yymsp[-2].minor.yy476, SOPT_WATERMARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy476)); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setStreamOptions(pCxt, yymsp[-2].minor.yy80, SOPT_WATERMARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy80)); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 375: /* stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ -{ yylhsminor.yy476 = setStreamOptions(pCxt, yymsp[-3].minor.yy476, SOPT_IGNORE_EXPIRED_SET, &yymsp[0].minor.yy0, NULL); } - yymsp[-3].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setStreamOptions(pCxt, yymsp[-3].minor.yy80, SOPT_IGNORE_EXPIRED_SET, &yymsp[0].minor.yy0, NULL); } + yymsp[-3].minor.yy80 = yylhsminor.yy80; break; case 376: /* stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ -{ yylhsminor.yy476 = setStreamOptions(pCxt, yymsp[-2].minor.yy476, SOPT_FILL_HISTORY_SET, &yymsp[0].minor.yy0, NULL); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setStreamOptions(pCxt, yymsp[-2].minor.yy80, SOPT_FILL_HISTORY_SET, &yymsp[0].minor.yy0, NULL); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 377: /* stream_options ::= stream_options DELETE_MARK duration_literal */ -{ yylhsminor.yy476 = setStreamOptions(pCxt, yymsp[-2].minor.yy476, SOPT_DELETE_MARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy476)); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setStreamOptions(pCxt, yymsp[-2].minor.yy80, SOPT_DELETE_MARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy80)); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; case 378: /* stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ -{ yylhsminor.yy476 = setStreamOptions(pCxt, yymsp[-3].minor.yy476, SOPT_IGNORE_UPDATE_SET, &yymsp[0].minor.yy0, NULL); } - yymsp[-3].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = setStreamOptions(pCxt, yymsp[-3].minor.yy80, SOPT_IGNORE_UPDATE_SET, &yymsp[0].minor.yy0, NULL); } + yymsp[-3].minor.yy80 = yylhsminor.yy80; break; case 380: /* subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ - case 579: /* sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ yytestcase(yyruleno==579); - case 603: /* every_opt ::= EVERY NK_LP duration_literal NK_RP */ yytestcase(yyruleno==603); -{ yymsp[-3].minor.yy476 = releaseRawExprNode(pCxt, yymsp[-1].minor.yy476); } + case 582: /* sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ yytestcase(yyruleno==582); + case 606: /* every_opt ::= EVERY NK_LP duration_literal NK_RP */ yytestcase(yyruleno==606); +{ yymsp[-3].minor.yy80 = releaseRawExprNode(pCxt, yymsp[-1].minor.yy80); } break; case 383: /* cmd ::= KILL CONNECTION NK_INTEGER */ { pCxt->pRootNode = createKillStmt(pCxt, QUERY_NODE_KILL_CONNECTION_STMT, &yymsp[0].minor.yy0); } @@ -5884,590 +5933,598 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createBalanceVgroupStmt(pCxt); } break; case 387: /* cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ -{ pCxt->pRootNode = createBalanceVgroupLeaderStmt(pCxt, &yymsp[0].minor.yy481); } +{ pCxt->pRootNode = createBalanceVgroupLeaderStmt(pCxt, &yymsp[0].minor.yy785); } break; case 388: /* cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ { pCxt->pRootNode = createMergeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); } break; case 389: /* cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ -{ pCxt->pRootNode = createRedistributeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy332); } +{ pCxt->pRootNode = createRedistributeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy106); } break; case 390: /* cmd ::= SPLIT VGROUP NK_INTEGER */ { pCxt->pRootNode = createSplitVgroupStmt(pCxt, &yymsp[0].minor.yy0); } break; case 393: /* dnode_list ::= DNODE NK_INTEGER */ -{ yymsp[-1].minor.yy332 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } +{ yymsp[-1].minor.yy106 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } break; case 395: /* cmd ::= DELETE FROM full_table_name where_clause_opt */ -{ pCxt->pRootNode = createDeleteStmt(pCxt, yymsp[-1].minor.yy476, yymsp[0].minor.yy476); } +{ pCxt->pRootNode = createDeleteStmt(pCxt, yymsp[-1].minor.yy80, yymsp[0].minor.yy80); } break; case 398: /* insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ -{ yymsp[-6].minor.yy476 = createInsertStmt(pCxt, yymsp[-4].minor.yy476, yymsp[-2].minor.yy332, yymsp[0].minor.yy476); } +{ yymsp[-6].minor.yy80 = createInsertStmt(pCxt, yymsp[-4].minor.yy80, yymsp[-2].minor.yy106, yymsp[0].minor.yy80); } break; case 399: /* insert_query ::= INSERT INTO full_table_name query_or_subquery */ -{ yymsp[-3].minor.yy476 = createInsertStmt(pCxt, yymsp[-1].minor.yy476, NULL, yymsp[0].minor.yy476); } +{ yymsp[-3].minor.yy80 = createInsertStmt(pCxt, yymsp[-1].minor.yy80, NULL, yymsp[0].minor.yy80); } break; case 400: /* literal ::= NK_INTEGER */ -{ yylhsminor.yy476 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; case 401: /* literal ::= NK_FLOAT */ -{ yylhsminor.yy476 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; case 402: /* literal ::= NK_STRING */ -{ yylhsminor.yy476 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; case 403: /* literal ::= NK_BOOL */ -{ yylhsminor.yy476 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; case 404: /* literal ::= TIMESTAMP NK_STRING */ -{ yylhsminor.yy476 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0)); } - yymsp[-1].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0)); } + yymsp[-1].minor.yy80 = yylhsminor.yy80; break; case 405: /* literal ::= duration_literal */ case 415: /* signed_literal ::= signed */ yytestcase(yyruleno==415); - case 437: /* expr_or_subquery ::= expression */ yytestcase(yyruleno==437); - case 438: /* expression ::= literal */ yytestcase(yyruleno==438); - case 440: /* expression ::= column_reference */ yytestcase(yyruleno==440); - case 441: /* expression ::= function_expression */ yytestcase(yyruleno==441); - case 442: /* expression ::= case_when_expression */ yytestcase(yyruleno==442); - case 473: /* function_expression ::= literal_func */ yytestcase(yyruleno==473); - case 522: /* boolean_value_expression ::= boolean_primary */ yytestcase(yyruleno==522); - case 526: /* boolean_primary ::= predicate */ yytestcase(yyruleno==526); - case 528: /* common_expression ::= expr_or_subquery */ yytestcase(yyruleno==528); - case 529: /* common_expression ::= boolean_value_expression */ yytestcase(yyruleno==529); - case 532: /* table_reference_list ::= table_reference */ yytestcase(yyruleno==532); - case 534: /* table_reference ::= table_primary */ yytestcase(yyruleno==534); - case 535: /* table_reference ::= joined_table */ yytestcase(yyruleno==535); - case 539: /* table_primary ::= parenthesized_joined_table */ yytestcase(yyruleno==539); - case 605: /* query_simple ::= query_specification */ yytestcase(yyruleno==605); - case 606: /* query_simple ::= union_query_expression */ yytestcase(yyruleno==606); - case 609: /* query_simple_or_subquery ::= query_simple */ yytestcase(yyruleno==609); - case 611: /* query_or_subquery ::= query_expression */ yytestcase(yyruleno==611); -{ yylhsminor.yy476 = yymsp[0].minor.yy476; } - yymsp[0].minor.yy476 = yylhsminor.yy476; + case 438: /* expr_or_subquery ::= expression */ yytestcase(yyruleno==438); + case 439: /* expression ::= literal */ yytestcase(yyruleno==439); + case 441: /* expression ::= column_reference */ yytestcase(yyruleno==441); + case 442: /* expression ::= function_expression */ yytestcase(yyruleno==442); + case 443: /* expression ::= case_when_expression */ yytestcase(yyruleno==443); + case 476: /* function_expression ::= literal_func */ yytestcase(yyruleno==476); + case 525: /* boolean_value_expression ::= boolean_primary */ yytestcase(yyruleno==525); + case 529: /* boolean_primary ::= predicate */ yytestcase(yyruleno==529); + case 531: /* common_expression ::= expr_or_subquery */ yytestcase(yyruleno==531); + case 532: /* common_expression ::= boolean_value_expression */ yytestcase(yyruleno==532); + case 535: /* table_reference_list ::= table_reference */ yytestcase(yyruleno==535); + case 537: /* table_reference ::= table_primary */ yytestcase(yyruleno==537); + case 538: /* table_reference ::= joined_table */ yytestcase(yyruleno==538); + case 542: /* table_primary ::= parenthesized_joined_table */ yytestcase(yyruleno==542); + case 608: /* query_simple ::= query_specification */ yytestcase(yyruleno==608); + case 609: /* query_simple ::= union_query_expression */ yytestcase(yyruleno==609); + case 612: /* query_simple_or_subquery ::= query_simple */ yytestcase(yyruleno==612); + case 614: /* query_or_subquery ::= query_expression */ yytestcase(yyruleno==614); +{ yylhsminor.yy80 = yymsp[0].minor.yy80; } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; case 406: /* literal ::= NULL */ -{ yylhsminor.yy476 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; case 407: /* literal ::= NK_QUESTION */ -{ yylhsminor.yy476 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; case 408: /* duration_literal ::= NK_VARIABLE */ - case 580: /* interval_sliding_duration_literal ::= NK_VARIABLE */ yytestcase(yyruleno==580); - case 581: /* interval_sliding_duration_literal ::= NK_STRING */ yytestcase(yyruleno==581); - case 582: /* interval_sliding_duration_literal ::= NK_INTEGER */ yytestcase(yyruleno==582); -{ yylhsminor.yy476 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy476 = yylhsminor.yy476; + case 583: /* interval_sliding_duration_literal ::= NK_VARIABLE */ yytestcase(yyruleno==583); + case 584: /* interval_sliding_duration_literal ::= NK_STRING */ yytestcase(yyruleno==584); + case 585: /* interval_sliding_duration_literal ::= NK_INTEGER */ yytestcase(yyruleno==585); +{ yylhsminor.yy80 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; case 409: /* signed ::= NK_INTEGER */ -{ yylhsminor.yy476 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; case 410: /* signed ::= NK_PLUS NK_INTEGER */ -{ yymsp[-1].minor.yy476 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } +{ yymsp[-1].minor.yy80 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } break; case 411: /* signed ::= NK_MINUS NK_INTEGER */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy476 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &t); + yylhsminor.yy80 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &t); } - yymsp[-1].minor.yy476 = yylhsminor.yy476; + yymsp[-1].minor.yy80 = yylhsminor.yy80; break; case 412: /* signed ::= NK_FLOAT */ -{ yylhsminor.yy476 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; case 413: /* signed ::= NK_PLUS NK_FLOAT */ -{ yymsp[-1].minor.yy476 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } +{ yymsp[-1].minor.yy80 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } break; case 414: /* signed ::= NK_MINUS NK_FLOAT */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy476 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t); + yylhsminor.yy80 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t); } - yymsp[-1].minor.yy476 = yylhsminor.yy476; + yymsp[-1].minor.yy80 = yylhsminor.yy80; break; case 416: /* signed_literal ::= NK_STRING */ -{ yylhsminor.yy476 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; case 417: /* signed_literal ::= NK_BOOL */ -{ yylhsminor.yy476 = createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; case 418: /* signed_literal ::= TIMESTAMP NK_STRING */ -{ yymsp[-1].minor.yy476 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } +{ yymsp[-1].minor.yy80 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } break; case 419: /* signed_literal ::= duration_literal */ case 421: /* signed_literal ::= literal_func */ yytestcase(yyruleno==421); - case 493: /* star_func_para ::= expr_or_subquery */ yytestcase(yyruleno==493); - case 559: /* select_item ::= common_expression */ yytestcase(yyruleno==559); - case 569: /* partition_item ::= expr_or_subquery */ yytestcase(yyruleno==569); - case 610: /* query_simple_or_subquery ::= subquery */ yytestcase(yyruleno==610); - case 612: /* query_or_subquery ::= subquery */ yytestcase(yyruleno==612); - case 625: /* search_condition ::= common_expression */ yytestcase(yyruleno==625); -{ yylhsminor.yy476 = releaseRawExprNode(pCxt, yymsp[0].minor.yy476); } - yymsp[0].minor.yy476 = yylhsminor.yy476; + case 496: /* star_func_para ::= expr_or_subquery */ yytestcase(yyruleno==496); + case 562: /* select_item ::= common_expression */ yytestcase(yyruleno==562); + case 572: /* partition_item ::= expr_or_subquery */ yytestcase(yyruleno==572); + case 613: /* query_simple_or_subquery ::= subquery */ yytestcase(yyruleno==613); + case 615: /* query_or_subquery ::= subquery */ yytestcase(yyruleno==615); + case 628: /* search_condition ::= common_expression */ yytestcase(yyruleno==628); +{ yylhsminor.yy80 = releaseRawExprNode(pCxt, yymsp[0].minor.yy80); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; case 420: /* signed_literal ::= NULL */ -{ yylhsminor.yy476 = createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; case 422: /* signed_literal ::= NK_QUESTION */ -{ yylhsminor.yy476 = createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy476 = yylhsminor.yy476; +{ yylhsminor.yy80 = createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; - case 439: /* expression ::= pseudo_column */ -{ yylhsminor.yy476 = yymsp[0].minor.yy476; setRawExprNodeIsPseudoColumn(pCxt, yylhsminor.yy476, true); } - yymsp[0].minor.yy476 = yylhsminor.yy476; + case 440: /* expression ::= pseudo_column */ +{ yylhsminor.yy80 = yymsp[0].minor.yy80; setRawExprNodeIsPseudoColumn(pCxt, yylhsminor.yy80, true); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; - case 443: /* expression ::= NK_LP expression NK_RP */ - case 527: /* boolean_primary ::= NK_LP boolean_value_expression NK_RP */ yytestcase(yyruleno==527); - case 624: /* subquery ::= NK_LP subquery NK_RP */ yytestcase(yyruleno==624); -{ yylhsminor.yy476 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, releaseRawExprNode(pCxt, yymsp[-1].minor.yy476)); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; + case 444: /* expression ::= NK_LP expression NK_RP */ + case 530: /* boolean_primary ::= NK_LP boolean_value_expression NK_RP */ yytestcase(yyruleno==530); + case 627: /* subquery ::= NK_LP subquery NK_RP */ yytestcase(yyruleno==627); +{ yylhsminor.yy80 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, releaseRawExprNode(pCxt, yymsp[-1].minor.yy80)); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; - case 444: /* expression ::= NK_PLUS expr_or_subquery */ + case 445: /* expression ::= NK_PLUS expr_or_subquery */ { - SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy476); - yylhsminor.yy476 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, releaseRawExprNode(pCxt, yymsp[0].minor.yy476)); + SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy80); + yylhsminor.yy80 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, releaseRawExprNode(pCxt, yymsp[0].minor.yy80)); } - yymsp[-1].minor.yy476 = yylhsminor.yy476; + yymsp[-1].minor.yy80 = yylhsminor.yy80; break; - case 445: /* expression ::= NK_MINUS expr_or_subquery */ + case 446: /* expression ::= NK_MINUS expr_or_subquery */ { - SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy476); - yylhsminor.yy476 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, createOperatorNode(pCxt, OP_TYPE_MINUS, releaseRawExprNode(pCxt, yymsp[0].minor.yy476), NULL)); + SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy80); + yylhsminor.yy80 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, createOperatorNode(pCxt, OP_TYPE_MINUS, releaseRawExprNode(pCxt, yymsp[0].minor.yy80), NULL)); } - yymsp[-1].minor.yy476 = yylhsminor.yy476; + yymsp[-1].minor.yy80 = yylhsminor.yy80; break; - case 446: /* expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ + case 447: /* expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy476); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy476); - yylhsminor.yy476 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_ADD, releaseRawExprNode(pCxt, yymsp[-2].minor.yy476), releaseRawExprNode(pCxt, yymsp[0].minor.yy476))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy80); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy80); + yylhsminor.yy80 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_ADD, releaseRawExprNode(pCxt, yymsp[-2].minor.yy80), releaseRawExprNode(pCxt, yymsp[0].minor.yy80))); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; - case 447: /* expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ + case 448: /* expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy476); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy476); - yylhsminor.yy476 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_SUB, releaseRawExprNode(pCxt, yymsp[-2].minor.yy476), releaseRawExprNode(pCxt, yymsp[0].minor.yy476))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy80); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy80); + yylhsminor.yy80 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_SUB, releaseRawExprNode(pCxt, yymsp[-2].minor.yy80), releaseRawExprNode(pCxt, yymsp[0].minor.yy80))); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; - case 448: /* expression ::= expr_or_subquery NK_STAR expr_or_subquery */ + case 449: /* expression ::= expr_or_subquery NK_STAR expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy476); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy476); - yylhsminor.yy476 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_MULTI, releaseRawExprNode(pCxt, yymsp[-2].minor.yy476), releaseRawExprNode(pCxt, yymsp[0].minor.yy476))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy80); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy80); + yylhsminor.yy80 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_MULTI, releaseRawExprNode(pCxt, yymsp[-2].minor.yy80), releaseRawExprNode(pCxt, yymsp[0].minor.yy80))); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; - case 449: /* expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ + case 450: /* expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy476); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy476); - yylhsminor.yy476 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_DIV, releaseRawExprNode(pCxt, yymsp[-2].minor.yy476), releaseRawExprNode(pCxt, yymsp[0].minor.yy476))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy80); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy80); + yylhsminor.yy80 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_DIV, releaseRawExprNode(pCxt, yymsp[-2].minor.yy80), releaseRawExprNode(pCxt, yymsp[0].minor.yy80))); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; - case 450: /* expression ::= expr_or_subquery NK_REM expr_or_subquery */ + case 451: /* expression ::= expr_or_subquery NK_REM expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy476); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy476); - yylhsminor.yy476 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_REM, releaseRawExprNode(pCxt, yymsp[-2].minor.yy476), releaseRawExprNode(pCxt, yymsp[0].minor.yy476))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy80); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy80); + yylhsminor.yy80 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_REM, releaseRawExprNode(pCxt, yymsp[-2].minor.yy80), releaseRawExprNode(pCxt, yymsp[0].minor.yy80))); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; - case 451: /* expression ::= column_reference NK_ARROW NK_STRING */ + case 452: /* expression ::= column_reference NK_ARROW NK_STRING */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy476); - yylhsminor.yy476 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_JSON_GET_VALUE, releaseRawExprNode(pCxt, yymsp[-2].minor.yy476), createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy80); + yylhsminor.yy80 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_JSON_GET_VALUE, releaseRawExprNode(pCxt, yymsp[-2].minor.yy80), createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0))); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; - case 452: /* expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ + case 453: /* expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy476); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy476); - yylhsminor.yy476 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy476), releaseRawExprNode(pCxt, yymsp[0].minor.yy476))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy80); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy80); + yylhsminor.yy80 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy80), releaseRawExprNode(pCxt, yymsp[0].minor.yy80))); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; - case 453: /* expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ + case 454: /* expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy476); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy476); - yylhsminor.yy476 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy476), releaseRawExprNode(pCxt, yymsp[0].minor.yy476))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy80); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy80); + yylhsminor.yy80 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy80), releaseRawExprNode(pCxt, yymsp[0].minor.yy80))); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; - case 456: /* column_reference ::= column_name */ -{ yylhsminor.yy476 = createRawExprNode(pCxt, &yymsp[0].minor.yy481, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy481)); } - yymsp[0].minor.yy476 = yylhsminor.yy476; + case 457: /* column_reference ::= column_name */ +{ yylhsminor.yy80 = createRawExprNode(pCxt, &yymsp[0].minor.yy785, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy785)); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; - case 457: /* column_reference ::= table_name NK_DOT column_name */ -{ yylhsminor.yy476 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy481, &yymsp[0].minor.yy481, createColumnNode(pCxt, &yymsp[-2].minor.yy481, &yymsp[0].minor.yy481)); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; + case 458: /* column_reference ::= table_name NK_DOT column_name */ +{ yylhsminor.yy80 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy785, &yymsp[0].minor.yy785, createColumnNode(pCxt, &yymsp[-2].minor.yy785, &yymsp[0].minor.yy785)); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; - case 458: /* pseudo_column ::= ROWTS */ - case 459: /* pseudo_column ::= TBNAME */ yytestcase(yyruleno==459); - case 461: /* pseudo_column ::= QSTART */ yytestcase(yyruleno==461); - case 462: /* pseudo_column ::= QEND */ yytestcase(yyruleno==462); - case 463: /* pseudo_column ::= QDURATION */ yytestcase(yyruleno==463); - case 464: /* pseudo_column ::= WSTART */ yytestcase(yyruleno==464); - case 465: /* pseudo_column ::= WEND */ yytestcase(yyruleno==465); - case 466: /* pseudo_column ::= WDURATION */ yytestcase(yyruleno==466); - case 467: /* pseudo_column ::= IROWTS */ yytestcase(yyruleno==467); - case 468: /* pseudo_column ::= ISFILLED */ yytestcase(yyruleno==468); - case 469: /* pseudo_column ::= QTAGS */ yytestcase(yyruleno==469); - case 475: /* literal_func ::= NOW */ yytestcase(yyruleno==475); -{ yylhsminor.yy476 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL)); } - yymsp[0].minor.yy476 = yylhsminor.yy476; + case 459: /* column_reference ::= NK_ALIAS */ +{ yylhsminor.yy80 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; - case 460: /* pseudo_column ::= table_name NK_DOT TBNAME */ -{ yylhsminor.yy476 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy481, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[-2].minor.yy481)))); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; + case 460: /* column_reference ::= table_name NK_DOT NK_ALIAS */ +{ yylhsminor.yy80 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy785, &yymsp[0].minor.yy0, createColumnNode(pCxt, &yymsp[-2].minor.yy785, &yymsp[0].minor.yy0)); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; - case 470: /* function_expression ::= function_name NK_LP expression_list NK_RP */ - case 471: /* function_expression ::= star_func NK_LP star_func_para_list NK_RP */ yytestcase(yyruleno==471); -{ yylhsminor.yy476 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy481, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-3].minor.yy481, yymsp[-1].minor.yy332)); } - yymsp[-3].minor.yy476 = yylhsminor.yy476; + case 461: /* pseudo_column ::= ROWTS */ + case 462: /* pseudo_column ::= TBNAME */ yytestcase(yyruleno==462); + case 464: /* pseudo_column ::= QSTART */ yytestcase(yyruleno==464); + case 465: /* pseudo_column ::= QEND */ yytestcase(yyruleno==465); + case 466: /* pseudo_column ::= QDURATION */ yytestcase(yyruleno==466); + case 467: /* pseudo_column ::= WSTART */ yytestcase(yyruleno==467); + case 468: /* pseudo_column ::= WEND */ yytestcase(yyruleno==468); + case 469: /* pseudo_column ::= WDURATION */ yytestcase(yyruleno==469); + case 470: /* pseudo_column ::= IROWTS */ yytestcase(yyruleno==470); + case 471: /* pseudo_column ::= ISFILLED */ yytestcase(yyruleno==471); + case 472: /* pseudo_column ::= QTAGS */ yytestcase(yyruleno==472); + case 478: /* literal_func ::= NOW */ yytestcase(yyruleno==478); +{ yylhsminor.yy80 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL)); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; - case 472: /* function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ -{ yylhsminor.yy476 = createRawExprNodeExt(pCxt, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0, createCastFunctionNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy476), yymsp[-1].minor.yy752)); } - yymsp[-5].minor.yy476 = yylhsminor.yy476; + case 463: /* pseudo_column ::= table_name NK_DOT TBNAME */ +{ yylhsminor.yy80 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy785, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[-2].minor.yy785)))); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; - case 474: /* literal_func ::= noarg_func NK_LP NK_RP */ -{ yylhsminor.yy476 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy481, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-2].minor.yy481, NULL)); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; + case 473: /* function_expression ::= function_name NK_LP expression_list NK_RP */ + case 474: /* function_expression ::= star_func NK_LP star_func_para_list NK_RP */ yytestcase(yyruleno==474); +{ yylhsminor.yy80 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy785, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-3].minor.yy785, yymsp[-1].minor.yy106)); } + yymsp[-3].minor.yy80 = yylhsminor.yy80; break; - case 489: /* star_func_para_list ::= NK_STAR */ -{ yylhsminor.yy332 = createNodeList(pCxt, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy332 = yylhsminor.yy332; + case 475: /* function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ +{ yylhsminor.yy80 = createRawExprNodeExt(pCxt, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0, createCastFunctionNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy80), yymsp[-1].minor.yy292)); } + yymsp[-5].minor.yy80 = yylhsminor.yy80; break; - case 494: /* star_func_para ::= table_name NK_DOT NK_STAR */ - case 562: /* select_item ::= table_name NK_DOT NK_STAR */ yytestcase(yyruleno==562); -{ yylhsminor.yy476 = createColumnNode(pCxt, &yymsp[-2].minor.yy481, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; + case 477: /* literal_func ::= noarg_func NK_LP NK_RP */ +{ yylhsminor.yy80 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy785, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-2].minor.yy785, NULL)); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; - case 495: /* case_when_expression ::= CASE when_then_list case_when_else_opt END */ -{ yylhsminor.yy476 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, NULL, yymsp[-2].minor.yy332, yymsp[-1].minor.yy476)); } - yymsp[-3].minor.yy476 = yylhsminor.yy476; + case 492: /* star_func_para_list ::= NK_STAR */ +{ yylhsminor.yy106 = createNodeList(pCxt, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy106 = yylhsminor.yy106; break; - case 496: /* case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ -{ yylhsminor.yy476 = createRawExprNodeExt(pCxt, &yymsp[-4].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy476), yymsp[-2].minor.yy332, yymsp[-1].minor.yy476)); } - yymsp[-4].minor.yy476 = yylhsminor.yy476; + case 497: /* star_func_para ::= table_name NK_DOT NK_STAR */ + case 565: /* select_item ::= table_name NK_DOT NK_STAR */ yytestcase(yyruleno==565); +{ yylhsminor.yy80 = createColumnNode(pCxt, &yymsp[-2].minor.yy785, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; - case 499: /* when_then_expr ::= WHEN common_expression THEN common_expression */ -{ yymsp[-3].minor.yy476 = createWhenThenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy476), releaseRawExprNode(pCxt, yymsp[0].minor.yy476)); } + case 498: /* case_when_expression ::= CASE when_then_list case_when_else_opt END */ +{ yylhsminor.yy80 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, NULL, yymsp[-2].minor.yy106, yymsp[-1].minor.yy80)); } + yymsp[-3].minor.yy80 = yylhsminor.yy80; break; - case 501: /* case_when_else_opt ::= ELSE common_expression */ -{ yymsp[-1].minor.yy476 = releaseRawExprNode(pCxt, yymsp[0].minor.yy476); } + case 499: /* case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ +{ yylhsminor.yy80 = createRawExprNodeExt(pCxt, &yymsp[-4].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy80), yymsp[-2].minor.yy106, yymsp[-1].minor.yy80)); } + yymsp[-4].minor.yy80 = yylhsminor.yy80; break; - case 502: /* predicate ::= expr_or_subquery compare_op expr_or_subquery */ - case 507: /* predicate ::= expr_or_subquery in_op in_predicate_value */ yytestcase(yyruleno==507); + case 502: /* when_then_expr ::= WHEN common_expression THEN common_expression */ +{ yymsp[-3].minor.yy80 = createWhenThenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy80), releaseRawExprNode(pCxt, yymsp[0].minor.yy80)); } + break; + case 504: /* case_when_else_opt ::= ELSE common_expression */ +{ yymsp[-1].minor.yy80 = releaseRawExprNode(pCxt, yymsp[0].minor.yy80); } + break; + case 505: /* predicate ::= expr_or_subquery compare_op expr_or_subquery */ + case 510: /* predicate ::= expr_or_subquery in_op in_predicate_value */ yytestcase(yyruleno==510); { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy476); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy476); - yylhsminor.yy476 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, yymsp[-1].minor.yy436, releaseRawExprNode(pCxt, yymsp[-2].minor.yy476), releaseRawExprNode(pCxt, yymsp[0].minor.yy476))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy80); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy80); + yylhsminor.yy80 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, yymsp[-1].minor.yy428, releaseRawExprNode(pCxt, yymsp[-2].minor.yy80), releaseRawExprNode(pCxt, yymsp[0].minor.yy80))); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; - case 503: /* predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ + case 506: /* predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-4].minor.yy476); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy476); - yylhsminor.yy476 = createRawExprNodeExt(pCxt, &s, &e, createBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-4].minor.yy476), releaseRawExprNode(pCxt, yymsp[-2].minor.yy476), releaseRawExprNode(pCxt, yymsp[0].minor.yy476))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-4].minor.yy80); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy80); + yylhsminor.yy80 = createRawExprNodeExt(pCxt, &s, &e, createBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-4].minor.yy80), releaseRawExprNode(pCxt, yymsp[-2].minor.yy80), releaseRawExprNode(pCxt, yymsp[0].minor.yy80))); } - yymsp[-4].minor.yy476 = yylhsminor.yy476; + yymsp[-4].minor.yy80 = yylhsminor.yy80; break; - case 504: /* predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ + case 507: /* predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-5].minor.yy476); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy476); - yylhsminor.yy476 = createRawExprNodeExt(pCxt, &s, &e, createNotBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy476), releaseRawExprNode(pCxt, yymsp[-2].minor.yy476), releaseRawExprNode(pCxt, yymsp[0].minor.yy476))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-5].minor.yy80); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy80); + yylhsminor.yy80 = createRawExprNodeExt(pCxt, &s, &e, createNotBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy80), releaseRawExprNode(pCxt, yymsp[-2].minor.yy80), releaseRawExprNode(pCxt, yymsp[0].minor.yy80))); } - yymsp[-5].minor.yy476 = yylhsminor.yy476; + yymsp[-5].minor.yy80 = yylhsminor.yy80; break; - case 505: /* predicate ::= expr_or_subquery IS NULL */ + case 508: /* predicate ::= expr_or_subquery IS NULL */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy476); - yylhsminor.yy476 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NULL, releaseRawExprNode(pCxt, yymsp[-2].minor.yy476), NULL)); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy80); + yylhsminor.yy80 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NULL, releaseRawExprNode(pCxt, yymsp[-2].minor.yy80), NULL)); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; - case 506: /* predicate ::= expr_or_subquery IS NOT NULL */ + case 509: /* predicate ::= expr_or_subquery IS NOT NULL */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-3].minor.yy476); - yylhsminor.yy476 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NOT_NULL, releaseRawExprNode(pCxt, yymsp[-3].minor.yy476), NULL)); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-3].minor.yy80); + yylhsminor.yy80 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NOT_NULL, releaseRawExprNode(pCxt, yymsp[-3].minor.yy80), NULL)); } - yymsp[-3].minor.yy476 = yylhsminor.yy476; + yymsp[-3].minor.yy80 = yylhsminor.yy80; break; - case 508: /* compare_op ::= NK_LT */ -{ yymsp[0].minor.yy436 = OP_TYPE_LOWER_THAN; } + case 511: /* compare_op ::= NK_LT */ +{ yymsp[0].minor.yy428 = OP_TYPE_LOWER_THAN; } break; - case 509: /* compare_op ::= NK_GT */ -{ yymsp[0].minor.yy436 = OP_TYPE_GREATER_THAN; } + case 512: /* compare_op ::= NK_GT */ +{ yymsp[0].minor.yy428 = OP_TYPE_GREATER_THAN; } break; - case 510: /* compare_op ::= NK_LE */ -{ yymsp[0].minor.yy436 = OP_TYPE_LOWER_EQUAL; } + case 513: /* compare_op ::= NK_LE */ +{ yymsp[0].minor.yy428 = OP_TYPE_LOWER_EQUAL; } break; - case 511: /* compare_op ::= NK_GE */ -{ yymsp[0].minor.yy436 = OP_TYPE_GREATER_EQUAL; } + case 514: /* compare_op ::= NK_GE */ +{ yymsp[0].minor.yy428 = OP_TYPE_GREATER_EQUAL; } break; - case 512: /* compare_op ::= NK_NE */ -{ yymsp[0].minor.yy436 = OP_TYPE_NOT_EQUAL; } + case 515: /* compare_op ::= NK_NE */ +{ yymsp[0].minor.yy428 = OP_TYPE_NOT_EQUAL; } break; - case 513: /* compare_op ::= NK_EQ */ -{ yymsp[0].minor.yy436 = OP_TYPE_EQUAL; } + case 516: /* compare_op ::= NK_EQ */ +{ yymsp[0].minor.yy428 = OP_TYPE_EQUAL; } break; - case 514: /* compare_op ::= LIKE */ -{ yymsp[0].minor.yy436 = OP_TYPE_LIKE; } + case 517: /* compare_op ::= LIKE */ +{ yymsp[0].minor.yy428 = OP_TYPE_LIKE; } break; - case 515: /* compare_op ::= NOT LIKE */ -{ yymsp[-1].minor.yy436 = OP_TYPE_NOT_LIKE; } + case 518: /* compare_op ::= NOT LIKE */ +{ yymsp[-1].minor.yy428 = OP_TYPE_NOT_LIKE; } break; - case 516: /* compare_op ::= MATCH */ -{ yymsp[0].minor.yy436 = OP_TYPE_MATCH; } + case 519: /* compare_op ::= MATCH */ +{ yymsp[0].minor.yy428 = OP_TYPE_MATCH; } break; - case 517: /* compare_op ::= NMATCH */ -{ yymsp[0].minor.yy436 = OP_TYPE_NMATCH; } + case 520: /* compare_op ::= NMATCH */ +{ yymsp[0].minor.yy428 = OP_TYPE_NMATCH; } break; - case 518: /* compare_op ::= CONTAINS */ -{ yymsp[0].minor.yy436 = OP_TYPE_JSON_CONTAINS; } + case 521: /* compare_op ::= CONTAINS */ +{ yymsp[0].minor.yy428 = OP_TYPE_JSON_CONTAINS; } break; - case 519: /* in_op ::= IN */ -{ yymsp[0].minor.yy436 = OP_TYPE_IN; } + case 522: /* in_op ::= IN */ +{ yymsp[0].minor.yy428 = OP_TYPE_IN; } break; - case 520: /* in_op ::= NOT IN */ -{ yymsp[-1].minor.yy436 = OP_TYPE_NOT_IN; } + case 523: /* in_op ::= NOT IN */ +{ yymsp[-1].minor.yy428 = OP_TYPE_NOT_IN; } break; - case 521: /* in_predicate_value ::= NK_LP literal_list NK_RP */ -{ yylhsminor.yy476 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, createNodeListNode(pCxt, yymsp[-1].minor.yy332)); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; + case 524: /* in_predicate_value ::= NK_LP literal_list NK_RP */ +{ yylhsminor.yy80 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, createNodeListNode(pCxt, yymsp[-1].minor.yy106)); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; - case 523: /* boolean_value_expression ::= NOT boolean_primary */ + case 526: /* boolean_value_expression ::= NOT boolean_primary */ { - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy476); - yylhsminor.yy476 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_NOT, releaseRawExprNode(pCxt, yymsp[0].minor.yy476), NULL)); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy80); + yylhsminor.yy80 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_NOT, releaseRawExprNode(pCxt, yymsp[0].minor.yy80), NULL)); } - yymsp[-1].minor.yy476 = yylhsminor.yy476; + yymsp[-1].minor.yy80 = yylhsminor.yy80; break; - case 524: /* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ + case 527: /* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy476); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy476); - yylhsminor.yy476 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy476), releaseRawExprNode(pCxt, yymsp[0].minor.yy476))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy80); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy80); + yylhsminor.yy80 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy80), releaseRawExprNode(pCxt, yymsp[0].minor.yy80))); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; - case 525: /* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ + case 528: /* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy476); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy476); - yylhsminor.yy476 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy476), releaseRawExprNode(pCxt, yymsp[0].minor.yy476))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy80); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy80); + yylhsminor.yy80 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy80), releaseRawExprNode(pCxt, yymsp[0].minor.yy80))); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; - case 533: /* table_reference_list ::= table_reference_list NK_COMMA table_reference */ -{ yylhsminor.yy476 = createJoinTableNode(pCxt, JOIN_TYPE_INNER, yymsp[-2].minor.yy476, yymsp[0].minor.yy476, NULL); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; + case 536: /* table_reference_list ::= table_reference_list NK_COMMA table_reference */ +{ yylhsminor.yy80 = createJoinTableNode(pCxt, JOIN_TYPE_INNER, yymsp[-2].minor.yy80, yymsp[0].minor.yy80, NULL); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; - case 536: /* table_primary ::= table_name alias_opt */ -{ yylhsminor.yy476 = createRealTableNode(pCxt, NULL, &yymsp[-1].minor.yy481, &yymsp[0].minor.yy481); } - yymsp[-1].minor.yy476 = yylhsminor.yy476; + case 539: /* table_primary ::= table_name alias_opt */ +{ yylhsminor.yy80 = createRealTableNode(pCxt, NULL, &yymsp[-1].minor.yy785, &yymsp[0].minor.yy785); } + yymsp[-1].minor.yy80 = yylhsminor.yy80; break; - case 537: /* table_primary ::= db_name NK_DOT table_name alias_opt */ -{ yylhsminor.yy476 = createRealTableNode(pCxt, &yymsp[-3].minor.yy481, &yymsp[-1].minor.yy481, &yymsp[0].minor.yy481); } - yymsp[-3].minor.yy476 = yylhsminor.yy476; + case 540: /* table_primary ::= db_name NK_DOT table_name alias_opt */ +{ yylhsminor.yy80 = createRealTableNode(pCxt, &yymsp[-3].minor.yy785, &yymsp[-1].minor.yy785, &yymsp[0].minor.yy785); } + yymsp[-3].minor.yy80 = yylhsminor.yy80; break; - case 538: /* table_primary ::= subquery alias_opt */ -{ yylhsminor.yy476 = createTempTableNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy476), &yymsp[0].minor.yy481); } - yymsp[-1].minor.yy476 = yylhsminor.yy476; + case 541: /* table_primary ::= subquery alias_opt */ +{ yylhsminor.yy80 = createTempTableNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy80), &yymsp[0].minor.yy785); } + yymsp[-1].minor.yy80 = yylhsminor.yy80; break; - case 540: /* alias_opt ::= */ -{ yymsp[1].minor.yy481 = nil_token; } + case 543: /* alias_opt ::= */ +{ yymsp[1].minor.yy785 = nil_token; } break; - case 542: /* alias_opt ::= AS table_alias */ -{ yymsp[-1].minor.yy481 = yymsp[0].minor.yy481; } + case 545: /* alias_opt ::= AS table_alias */ +{ yymsp[-1].minor.yy785 = yymsp[0].minor.yy785; } break; - case 543: /* parenthesized_joined_table ::= NK_LP joined_table NK_RP */ - case 544: /* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ yytestcase(yyruleno==544); -{ yymsp[-2].minor.yy476 = yymsp[-1].minor.yy476; } + case 546: /* parenthesized_joined_table ::= NK_LP joined_table NK_RP */ + case 547: /* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ yytestcase(yyruleno==547); +{ yymsp[-2].minor.yy80 = yymsp[-1].minor.yy80; } break; - case 545: /* joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ -{ yylhsminor.yy476 = createJoinTableNode(pCxt, yymsp[-4].minor.yy333, yymsp[-5].minor.yy476, yymsp[-2].minor.yy476, yymsp[0].minor.yy476); } - yymsp[-5].minor.yy476 = yylhsminor.yy476; + case 548: /* joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ +{ yylhsminor.yy80 = createJoinTableNode(pCxt, yymsp[-4].minor.yy828, yymsp[-5].minor.yy80, yymsp[-2].minor.yy80, yymsp[0].minor.yy80); } + yymsp[-5].minor.yy80 = yylhsminor.yy80; break; - case 546: /* join_type ::= */ -{ yymsp[1].minor.yy333 = JOIN_TYPE_INNER; } + case 549: /* join_type ::= */ +{ yymsp[1].minor.yy828 = JOIN_TYPE_INNER; } break; - case 547: /* join_type ::= INNER */ -{ yymsp[0].minor.yy333 = JOIN_TYPE_INNER; } + case 550: /* join_type ::= INNER */ +{ yymsp[0].minor.yy828 = JOIN_TYPE_INNER; } break; - case 548: /* query_specification ::= SELECT hint_list set_quantifier_opt tag_mode_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt */ + case 551: /* query_specification ::= SELECT hint_list set_quantifier_opt tag_mode_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt */ { - yymsp[-13].minor.yy476 = createSelectStmt(pCxt, yymsp[-11].minor.yy977, yymsp[-9].minor.yy332, yymsp[-8].minor.yy476, yymsp[-12].minor.yy332); - yymsp[-13].minor.yy476 = setSelectStmtTagMode(pCxt, yymsp[-13].minor.yy476, yymsp[-10].minor.yy977); - yymsp[-13].minor.yy476 = addWhereClause(pCxt, yymsp[-13].minor.yy476, yymsp[-7].minor.yy476); - yymsp[-13].minor.yy476 = addPartitionByClause(pCxt, yymsp[-13].minor.yy476, yymsp[-6].minor.yy332); - yymsp[-13].minor.yy476 = addWindowClauseClause(pCxt, yymsp[-13].minor.yy476, yymsp[-2].minor.yy476); - yymsp[-13].minor.yy476 = addGroupByClause(pCxt, yymsp[-13].minor.yy476, yymsp[-1].minor.yy332); - yymsp[-13].minor.yy476 = addHavingClause(pCxt, yymsp[-13].minor.yy476, yymsp[0].minor.yy476); - yymsp[-13].minor.yy476 = addRangeClause(pCxt, yymsp[-13].minor.yy476, yymsp[-5].minor.yy476); - yymsp[-13].minor.yy476 = addEveryClause(pCxt, yymsp[-13].minor.yy476, yymsp[-4].minor.yy476); - yymsp[-13].minor.yy476 = addFillClause(pCxt, yymsp[-13].minor.yy476, yymsp[-3].minor.yy476); + yymsp[-13].minor.yy80 = createSelectStmt(pCxt, yymsp[-11].minor.yy923, yymsp[-9].minor.yy106, yymsp[-8].minor.yy80, yymsp[-12].minor.yy106); + yymsp[-13].minor.yy80 = setSelectStmtTagMode(pCxt, yymsp[-13].minor.yy80, yymsp[-10].minor.yy923); + yymsp[-13].minor.yy80 = addWhereClause(pCxt, yymsp[-13].minor.yy80, yymsp[-7].minor.yy80); + yymsp[-13].minor.yy80 = addPartitionByClause(pCxt, yymsp[-13].minor.yy80, yymsp[-6].minor.yy106); + yymsp[-13].minor.yy80 = addWindowClauseClause(pCxt, yymsp[-13].minor.yy80, yymsp[-2].minor.yy80); + yymsp[-13].minor.yy80 = addGroupByClause(pCxt, yymsp[-13].minor.yy80, yymsp[-1].minor.yy106); + yymsp[-13].minor.yy80 = addHavingClause(pCxt, yymsp[-13].minor.yy80, yymsp[0].minor.yy80); + yymsp[-13].minor.yy80 = addRangeClause(pCxt, yymsp[-13].minor.yy80, yymsp[-5].minor.yy80); + yymsp[-13].minor.yy80 = addEveryClause(pCxt, yymsp[-13].minor.yy80, yymsp[-4].minor.yy80); + yymsp[-13].minor.yy80 = addFillClause(pCxt, yymsp[-13].minor.yy80, yymsp[-3].minor.yy80); } break; - case 549: /* hint_list ::= */ -{ yymsp[1].minor.yy332 = createHintNodeList(pCxt, NULL); } + case 552: /* hint_list ::= */ +{ yymsp[1].minor.yy106 = createHintNodeList(pCxt, NULL); } break; - case 550: /* hint_list ::= NK_HINT */ -{ yylhsminor.yy332 = createHintNodeList(pCxt, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy332 = yylhsminor.yy332; + case 553: /* hint_list ::= NK_HINT */ +{ yylhsminor.yy106 = createHintNodeList(pCxt, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy106 = yylhsminor.yy106; break; - case 555: /* set_quantifier_opt ::= ALL */ -{ yymsp[0].minor.yy977 = false; } + case 558: /* set_quantifier_opt ::= ALL */ +{ yymsp[0].minor.yy923 = false; } break; - case 558: /* select_item ::= NK_STAR */ -{ yylhsminor.yy476 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy476 = yylhsminor.yy476; + case 561: /* select_item ::= NK_STAR */ +{ yylhsminor.yy80 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy80 = yylhsminor.yy80; break; - case 560: /* select_item ::= common_expression column_alias */ - case 570: /* partition_item ::= expr_or_subquery column_alias */ yytestcase(yyruleno==570); -{ yylhsminor.yy476 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy476), &yymsp[0].minor.yy481); } - yymsp[-1].minor.yy476 = yylhsminor.yy476; + case 563: /* select_item ::= common_expression column_alias */ + case 573: /* partition_item ::= expr_or_subquery column_alias */ yytestcase(yyruleno==573); +{ yylhsminor.yy80 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy80), &yymsp[0].minor.yy785); } + yymsp[-1].minor.yy80 = yylhsminor.yy80; break; - case 561: /* select_item ::= common_expression AS column_alias */ - case 571: /* partition_item ::= expr_or_subquery AS column_alias */ yytestcase(yyruleno==571); -{ yylhsminor.yy476 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy476), &yymsp[0].minor.yy481); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; + case 564: /* select_item ::= common_expression AS column_alias */ + case 574: /* partition_item ::= expr_or_subquery AS column_alias */ yytestcase(yyruleno==574); +{ yylhsminor.yy80 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy80), &yymsp[0].minor.yy785); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; - case 566: /* partition_by_clause_opt ::= PARTITION BY partition_list */ - case 594: /* group_by_clause_opt ::= GROUP BY group_by_list */ yytestcase(yyruleno==594); - case 614: /* order_by_clause_opt ::= ORDER BY sort_specification_list */ yytestcase(yyruleno==614); -{ yymsp[-2].minor.yy332 = yymsp[0].minor.yy332; } + case 569: /* partition_by_clause_opt ::= PARTITION BY partition_list */ + case 597: /* group_by_clause_opt ::= GROUP BY group_by_list */ yytestcase(yyruleno==597); + case 617: /* order_by_clause_opt ::= ORDER BY sort_specification_list */ yytestcase(yyruleno==617); +{ yymsp[-2].minor.yy106 = yymsp[0].minor.yy106; } break; - case 573: /* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ -{ yymsp[-5].minor.yy476 = createSessionWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy476), releaseRawExprNode(pCxt, yymsp[-1].minor.yy476)); } + case 576: /* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ +{ yymsp[-5].minor.yy80 = createSessionWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy80), releaseRawExprNode(pCxt, yymsp[-1].minor.yy80)); } break; - case 574: /* twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ -{ yymsp[-3].minor.yy476 = createStateWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy476)); } + case 577: /* twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ +{ yymsp[-3].minor.yy80 = createStateWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy80)); } break; - case 575: /* twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ -{ yymsp[-5].minor.yy476 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy476), NULL, yymsp[-1].minor.yy476, yymsp[0].minor.yy476); } + case 578: /* twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ +{ yymsp[-5].minor.yy80 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy80), NULL, yymsp[-1].minor.yy80, yymsp[0].minor.yy80); } break; - case 576: /* twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ -{ yymsp[-7].minor.yy476 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy476), releaseRawExprNode(pCxt, yymsp[-3].minor.yy476), yymsp[-1].minor.yy476, yymsp[0].minor.yy476); } + case 579: /* twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ +{ yymsp[-7].minor.yy80 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy80), releaseRawExprNode(pCxt, yymsp[-3].minor.yy80), yymsp[-1].minor.yy80, yymsp[0].minor.yy80); } break; - case 577: /* twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ -{ yymsp[-6].minor.yy476 = createEventWindowNode(pCxt, yymsp[-3].minor.yy476, yymsp[0].minor.yy476); } + case 580: /* twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ +{ yymsp[-6].minor.yy80 = createEventWindowNode(pCxt, yymsp[-3].minor.yy80, yymsp[0].minor.yy80); } break; - case 584: /* fill_opt ::= FILL NK_LP fill_mode NK_RP */ -{ yymsp[-3].minor.yy476 = createFillNode(pCxt, yymsp[-1].minor.yy30, NULL); } + case 587: /* fill_opt ::= FILL NK_LP fill_mode NK_RP */ +{ yymsp[-3].minor.yy80 = createFillNode(pCxt, yymsp[-1].minor.yy36, NULL); } break; - case 585: /* fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ -{ yymsp[-5].minor.yy476 = createFillNode(pCxt, FILL_MODE_VALUE, createNodeListNode(pCxt, yymsp[-1].minor.yy332)); } + case 588: /* fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ +{ yymsp[-5].minor.yy80 = createFillNode(pCxt, FILL_MODE_VALUE, createNodeListNode(pCxt, yymsp[-1].minor.yy106)); } break; - case 586: /* fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ -{ yymsp[-5].minor.yy476 = createFillNode(pCxt, FILL_MODE_VALUE_F, createNodeListNode(pCxt, yymsp[-1].minor.yy332)); } + case 589: /* fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ +{ yymsp[-5].minor.yy80 = createFillNode(pCxt, FILL_MODE_VALUE_F, createNodeListNode(pCxt, yymsp[-1].minor.yy106)); } break; - case 587: /* fill_mode ::= NONE */ -{ yymsp[0].minor.yy30 = FILL_MODE_NONE; } + case 590: /* fill_mode ::= NONE */ +{ yymsp[0].minor.yy36 = FILL_MODE_NONE; } break; - case 588: /* fill_mode ::= PREV */ -{ yymsp[0].minor.yy30 = FILL_MODE_PREV; } + case 591: /* fill_mode ::= PREV */ +{ yymsp[0].minor.yy36 = FILL_MODE_PREV; } break; - case 589: /* fill_mode ::= NULL */ -{ yymsp[0].minor.yy30 = FILL_MODE_NULL; } + case 592: /* fill_mode ::= NULL */ +{ yymsp[0].minor.yy36 = FILL_MODE_NULL; } break; - case 590: /* fill_mode ::= NULL_F */ -{ yymsp[0].minor.yy30 = FILL_MODE_NULL_F; } + case 593: /* fill_mode ::= NULL_F */ +{ yymsp[0].minor.yy36 = FILL_MODE_NULL_F; } break; - case 591: /* fill_mode ::= LINEAR */ -{ yymsp[0].minor.yy30 = FILL_MODE_LINEAR; } + case 594: /* fill_mode ::= LINEAR */ +{ yymsp[0].minor.yy36 = FILL_MODE_LINEAR; } break; - case 592: /* fill_mode ::= NEXT */ -{ yymsp[0].minor.yy30 = FILL_MODE_NEXT; } + case 595: /* fill_mode ::= NEXT */ +{ yymsp[0].minor.yy36 = FILL_MODE_NEXT; } break; - case 595: /* group_by_list ::= expr_or_subquery */ -{ yylhsminor.yy332 = createNodeList(pCxt, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy476))); } - yymsp[0].minor.yy332 = yylhsminor.yy332; + case 598: /* group_by_list ::= expr_or_subquery */ +{ yylhsminor.yy106 = createNodeList(pCxt, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy80))); } + yymsp[0].minor.yy106 = yylhsminor.yy106; break; - case 596: /* group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ -{ yylhsminor.yy332 = addNodeToList(pCxt, yymsp[-2].minor.yy332, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy476))); } - yymsp[-2].minor.yy332 = yylhsminor.yy332; + case 599: /* group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ +{ yylhsminor.yy106 = addNodeToList(pCxt, yymsp[-2].minor.yy106, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy80))); } + yymsp[-2].minor.yy106 = yylhsminor.yy106; break; - case 600: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ -{ yymsp[-5].minor.yy476 = createInterpTimeRange(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy476), releaseRawExprNode(pCxt, yymsp[-1].minor.yy476)); } + case 603: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ +{ yymsp[-5].minor.yy80 = createInterpTimeRange(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy80), releaseRawExprNode(pCxt, yymsp[-1].minor.yy80)); } break; - case 601: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ -{ yymsp[-3].minor.yy476 = createInterpTimePoint(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy476)); } + case 604: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ +{ yymsp[-3].minor.yy80 = createInterpTimePoint(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy80)); } break; - case 604: /* query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + case 607: /* query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ { - yylhsminor.yy476 = addOrderByClause(pCxt, yymsp[-3].minor.yy476, yymsp[-2].minor.yy332); - yylhsminor.yy476 = addSlimitClause(pCxt, yylhsminor.yy476, yymsp[-1].minor.yy476); - yylhsminor.yy476 = addLimitClause(pCxt, yylhsminor.yy476, yymsp[0].minor.yy476); + yylhsminor.yy80 = addOrderByClause(pCxt, yymsp[-3].minor.yy80, yymsp[-2].minor.yy106); + yylhsminor.yy80 = addSlimitClause(pCxt, yylhsminor.yy80, yymsp[-1].minor.yy80); + yylhsminor.yy80 = addLimitClause(pCxt, yylhsminor.yy80, yymsp[0].minor.yy80); } - yymsp[-3].minor.yy476 = yylhsminor.yy476; + yymsp[-3].minor.yy80 = yylhsminor.yy80; break; - case 607: /* union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ -{ yylhsminor.yy476 = createSetOperator(pCxt, SET_OP_TYPE_UNION_ALL, yymsp[-3].minor.yy476, yymsp[0].minor.yy476); } - yymsp[-3].minor.yy476 = yylhsminor.yy476; + case 610: /* union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ +{ yylhsminor.yy80 = createSetOperator(pCxt, SET_OP_TYPE_UNION_ALL, yymsp[-3].minor.yy80, yymsp[0].minor.yy80); } + yymsp[-3].minor.yy80 = yylhsminor.yy80; break; - case 608: /* union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ -{ yylhsminor.yy476 = createSetOperator(pCxt, SET_OP_TYPE_UNION, yymsp[-2].minor.yy476, yymsp[0].minor.yy476); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; + case 611: /* union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ +{ yylhsminor.yy80 = createSetOperator(pCxt, SET_OP_TYPE_UNION, yymsp[-2].minor.yy80, yymsp[0].minor.yy80); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; - case 616: /* slimit_clause_opt ::= SLIMIT NK_INTEGER */ - case 620: /* limit_clause_opt ::= LIMIT NK_INTEGER */ yytestcase(yyruleno==620); -{ yymsp[-1].minor.yy476 = createLimitNode(pCxt, &yymsp[0].minor.yy0, NULL); } + case 619: /* slimit_clause_opt ::= SLIMIT NK_INTEGER */ + case 623: /* limit_clause_opt ::= LIMIT NK_INTEGER */ yytestcase(yyruleno==623); +{ yymsp[-1].minor.yy80 = createLimitNode(pCxt, &yymsp[0].minor.yy0, NULL); } break; - case 617: /* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - case 621: /* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ yytestcase(yyruleno==621); -{ yymsp[-3].minor.yy476 = createLimitNode(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } + case 620: /* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + case 624: /* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ yytestcase(yyruleno==624); +{ yymsp[-3].minor.yy80 = createLimitNode(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } break; - case 618: /* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - case 622: /* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ yytestcase(yyruleno==622); -{ yymsp[-3].minor.yy476 = createLimitNode(pCxt, &yymsp[0].minor.yy0, &yymsp[-2].minor.yy0); } + case 621: /* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + case 625: /* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ yytestcase(yyruleno==625); +{ yymsp[-3].minor.yy80 = createLimitNode(pCxt, &yymsp[0].minor.yy0, &yymsp[-2].minor.yy0); } break; - case 623: /* subquery ::= NK_LP query_expression NK_RP */ -{ yylhsminor.yy476 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-1].minor.yy476); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; + case 626: /* subquery ::= NK_LP query_expression NK_RP */ +{ yylhsminor.yy80 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-1].minor.yy80); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; - case 628: /* sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ -{ yylhsminor.yy476 = createOrderByExprNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy476), yymsp[-1].minor.yy906, yymsp[0].minor.yy961); } - yymsp[-2].minor.yy476 = yylhsminor.yy476; + case 631: /* sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ +{ yylhsminor.yy80 = createOrderByExprNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy80), yymsp[-1].minor.yy812, yymsp[0].minor.yy763); } + yymsp[-2].minor.yy80 = yylhsminor.yy80; break; - case 629: /* ordering_specification_opt ::= */ -{ yymsp[1].minor.yy906 = ORDER_ASC; } + case 632: /* ordering_specification_opt ::= */ +{ yymsp[1].minor.yy812 = ORDER_ASC; } break; - case 630: /* ordering_specification_opt ::= ASC */ -{ yymsp[0].minor.yy906 = ORDER_ASC; } + case 633: /* ordering_specification_opt ::= ASC */ +{ yymsp[0].minor.yy812 = ORDER_ASC; } break; - case 631: /* ordering_specification_opt ::= DESC */ -{ yymsp[0].minor.yy906 = ORDER_DESC; } + case 634: /* ordering_specification_opt ::= DESC */ +{ yymsp[0].minor.yy812 = ORDER_DESC; } break; - case 632: /* null_ordering_opt ::= */ -{ yymsp[1].minor.yy961 = NULL_ORDER_DEFAULT; } + case 635: /* null_ordering_opt ::= */ +{ yymsp[1].minor.yy763 = NULL_ORDER_DEFAULT; } break; - case 633: /* null_ordering_opt ::= NULLS FIRST */ -{ yymsp[-1].minor.yy961 = NULL_ORDER_FIRST; } + case 636: /* null_ordering_opt ::= NULLS FIRST */ +{ yymsp[-1].minor.yy763 = NULL_ORDER_FIRST; } break; - case 634: /* null_ordering_opt ::= NULLS LAST */ -{ yymsp[-1].minor.yy961 = NULL_ORDER_LAST; } + case 637: /* null_ordering_opt ::= NULLS LAST */ +{ yymsp[-1].minor.yy763 = NULL_ORDER_LAST; } break; default: break; diff --git a/tests/system-test/1-insert/create_retentions.py b/tests/system-test/1-insert/create_retentions.py index 0090a7124f..9435dcd081 100644 --- a/tests/system-test/1-insert/create_retentions.py +++ b/tests/system-test/1-insert/create_retentions.py @@ -52,13 +52,41 @@ class TDTestCase: @property def create_databases_sql_err(self): return [ - "create database db1 retentions 0s:1d", - "create database db3 retentions 1s:0d", - "create database db1 retentions 1s:1y", + # check grammar + "create database db1 retentions", + "create database db1 retentions 1s:1d,2s:2d,3s:3d,4s:4d", + # check unit + "create database db1 retentions 1b:1d", + "create database db1 retentions 1u:1d", + "create database db1 retentions 1a:1d", + "create database db1 retentions 1n:1d", + "create database db1 retentions 1y:1d", + "create database db1 retentions 1s:86400s", + "create database db1 retentions 1s:86400000a", + "create database db1 retentions 1s:86400000000u", + "create database db1 retentions 1s:86400000000000b", + "create database db1 retentions 1s:1w", "create database db1 retentions 1s:1n", - "create database db2 retentions 1w:1d ;", - "create database db5 retentions 1s:1d,3s:3d,2s:2d", - "create database db1 retentions 1s:1n,2s:2d,3s:3d,4s:4d", + "create database db1 retentions 1s:1y", + # check value range + "create database db1 retentions -1s:1d", + "create database db1 retentions 0s:1d", + "create database db3 retentions 1s:-1d", + "create database db3 retentions 1s:0d", + "create database db3 retentions 1s:1439m", + "create database db3 retentions 1s:365001d", + "create database db3 retentions 1s:8760001h", + "create database db3 retentions 1s:525600001m", + "create database db3 retentions 1s:106581d precision 'ns'", + "create database db3 retentions 1s:2557921h precision 'ns'", + "create database db3 retentions 1s:153475201m precision 'ns'", + # check relationships + "create database db5 retentions 1441m:1440m,2d:3d", + "create database db5 retentions 2m:1d,1s:2d", + "create database db5 retentions 1s:2880m,2s:2879m", + "create database db5 retentions 1s:1d,2s:2d,2s:3d", + "create database db5 retentions 1s:1d,3s:2d,2s:3d", + "create database db1 retentions 1s:1d,2s:3d,3s:2d", ] @property @@ -92,6 +120,16 @@ class TDTestCase: f"create stable {dbname}.stb24 ({PRIMARY_COL} timestamp, {INT_COL} int) tags (tag1 int) " , f"create stable {dbname}.stb25 ({PRIMARY_COL} timestamp, {INT_COL} int) " , f"create stable {dbname}.stb26 ({PRIMARY_COL} timestamp, {INT_COL} int, {BINARY_COL} nchar(16)) " , + # only float/double allowd for avg/sum + f"create stable {dbname}.stb11 ({PRIMARY_COL} timestamp, {INT_COL} int) tags (tag1 int) rollup(avg)", + f"create stable {dbname}.stb11 ({PRIMARY_COL} timestamp, {BINT_COL} bigint) tags (tag1 int) rollup(avg)", + f"create stable {dbname}.stb11 ({PRIMARY_COL} timestamp, {BOOL_COL} bool) tags (tag1 int) rollup(avg)", + f"create stable {dbname}.stb11 ({PRIMARY_COL} timestamp, {BINARY_COL} binary(10)) tags (tag1 int) rollup(avg)", + f"create stable {dbname}.stb11 ({PRIMARY_COL} timestamp, {INT_COL} int) tags (tag1 int) rollup(sum)", + f"create stable {dbname}.stb11 ({PRIMARY_COL} timestamp, {BINT_COL} bigint) tags (tag1 int) rollup(sum)", + f"create stable {dbname}.stb11 ({PRIMARY_COL} timestamp, {BOOL_COL} bool) tags (tag1 int) rollup(sum)", + f"create stable {dbname}.stb11 ({PRIMARY_COL} timestamp, {BINARY_COL} binary(10)) tags (tag1 int) rollup(sum)", + # watermark, max_delay: [0, 900000], [ms, s, m, ?] f"create stable stb17 ({PRIMARY_COL} timestamp, {INT_COL} int) tags (tag1 int) rollup(min) max_delay 1u", @@ -108,10 +146,10 @@ class TDTestCase: @property def create_stable_sql_current(self): return [ - f"create stable stb1 ({PRIMARY_COL} timestamp, {INT_COL} int) tags (tag1 int) rollup(avg)", + f"create stable stb1 ({PRIMARY_COL} timestamp, {FLOAT_COL} float) tags (tag1 int) rollup(avg)", f"create stable stb2 ({PRIMARY_COL} timestamp, {INT_COL} int) tags (tag1 int) rollup(min) watermark 5s max_delay 1m", f"create stable stb3 ({PRIMARY_COL} timestamp, {INT_COL} int) tags (tag1 int) rollup(max) watermark 5s max_delay 1m", - f"create stable stb4 ({PRIMARY_COL} timestamp, {INT_COL} int) tags (tag1 int) rollup(sum) watermark 5s max_delay 1m", + f"create stable stb4 ({PRIMARY_COL} timestamp, {DOUBLE_COL} double) tags (tag1 int) rollup(sum) watermark 5s max_delay 1m", f"create stable stb5 ({PRIMARY_COL} timestamp, {INT_COL} int) tags (tag1 int) rollup(last) watermark 5s max_delay 1m", f"create stable stb6 ({PRIMARY_COL} timestamp, {INT_COL} int) tags (tag1 int) rollup(first) watermark 5s max_delay 1m", f"create stable stb7 ({PRIMARY_COL} timestamp, {INT_COL} int) tags (tag1 int) rollup(first) watermark 5s max_delay 1m sma({INT_COL})", @@ -154,6 +192,12 @@ class TDTestCase: {INT_UN_COL} int unsigned, {BINT_UN_COL} bigint unsigned, {BINARY_COL} binary(16) ) tags ({INT_TAG} int) rollup({rsma_type}) watermark 5s,5s max_delay 5s,5s ''' + elif rsma_type.lower().strip() in ("sum", "avg"): + create_stb_sql = f'''create table {dbname}.{stb}( + ts timestamp, {DOUBLE_COL} double, {DOUBLE_COL}_1 double, {DOUBLE_COL}_2 double, {DOUBLE_COL}_3 double, + {FLOAT_COL} float, {DOUBLE_COL}_4 double, {FLOAT_COL}_1 float, {FLOAT_COL}_2 float, {FLOAT_COL}_3 float, + {DOUBLE_COL}_5 double) tags ({INT_TAG} int) rollup({rsma_type}) watermark 5s,5s max_delay 5s,5s + ''' else: create_stb_sql = f'''create table {dbname}.{stb}( ts timestamp, {INT_COL} int, {BINT_COL} bigint, {SINT_COL} smallint, {TINT_COL} tinyint, @@ -200,11 +244,16 @@ class TDTestCase: {data.int_data[i]}, {data.bint_data[i]}, {data.sint_data[i]}, {data.tint_data[i]}, {data.float_data[i]}, {data.double_data[i]}, {data.utint_data[i]}, {data.usint_data[i]}, {data.uint_data[i]}, {data.ubint_data[i]}, '{data.vchar_data[i]}' ''' - else: + elif rsma_type.lower().strip() in ("sum", "avg"): row_data = f''' {data.int_data[i]}, {data.bint_data[i]}, {data.sint_data[i]}, {data.tint_data[i]}, {data.float_data[i]}, {data.double_data[i]}, {data.utint_data[i]}, {data.usint_data[i]}, {data.uint_data[i]}, {data.ubint_data[i]} ''' + else: + row_data = f''' + {data.double_data[i]}, {data.double_data[i]}, {data.double_data[i]}, {data.double_data[i]}, {data.float_data[i]}, {data.double_data[i]}, + {data.float_data[i]}, {data.float_data[i]}, {data.float_data[i]}, {data.double_data[i]} + ''' else: row_data = f''' {data.int_data[i]}, {data.bint_data[i]}, {data.sint_data[i]}, {data.tint_data[i]}, {data.float_data[i]}, {data.double_data[i]}, @@ -245,17 +294,17 @@ class TDTestCase: tdSql.query(f"select count(*) from {DB3}.{STBNAME} where ts > now()-5m") tdSql.checkData(0, 0, self.rows * db3_ctb_num) tdSql.checkRows(1) - tdSql.query(f"select {INT_COL} from {DB3}.{CTBNAME} where ts > now()-4d") + tdSql.query(f"select {FLOAT_COL} from {DB3}.{CTBNAME} where ts > now()-4d") # not stable #tdSql.checkData(0, 0, self.rows-1) - tdSql.query(f"select {INT_COL} from {DB3}.{CTBNAME} where ts > now()-6d") + tdSql.query(f"select {DOUBLE_COL} from {DB3}.{CTBNAME} where ts > now()-6d") # not stable # tdSql.checkData(0, 0, self.rows-1) # from ...pytest.util.sql import tdSql tdLog.printNoPrefix("==========step2.1.1 : alter stb schemaL drop column") - tdSql.query(f"select {BINT_COL} from {DB3}.{STBNAME}") + tdSql.query(f"select {FLOAT_COL} from {DB3}.{STBNAME}") #tdSql.execute(f"alter stable {DB3}.stb1 drop column {BINT_COL}") # not support alter stable schema anymore tdSql.error(f"alter stable {DB3}.stb1 drop column {BINT_COL}") diff --git a/tests/system-test/2-query/select_null.py b/tests/system-test/2-query/select_null.py index 68eea8bc67..e20f6131c9 100755 --- a/tests/system-test/2-query/select_null.py +++ b/tests/system-test/2-query/select_null.py @@ -432,10 +432,39 @@ class TDTestCase: self.ts_3036("%s" %self.db) + self.test_select_as_chinese_characters(); endTime = time.time() print("total time %ds" % (endTime - startTime)) + def test_select_as_chinese_characters(self): + tdSql.execute("use sel_null") + tdSql.query("select ts as 时间戳, c0 as c第一列, t0 标签1 from sel_null.stb0_0 limit 10", queryTimes=1) + tdSql.checkRows(10) + tdSql.query("select 时间戳 from (select ts as 时间戳, c0 as c第一列, t0 标签1 from sel_null.stb0_0) where 时间戳 > '2023-1-1' and c第一列 != 0 and 标签1 == 0 limit 10", queryTimes=1) + tdSql.checkRows(10) + tdSql.query("select count(*) as 计数 from sel_null.stb0_0 partition by c0 as 分组列", queryTimes=1) + tdSql.error("create database 数据库") + tdSql.error("create table sel_null.中文库 (ts timestamp, c2 int)") + tdSql.error("create table sel_null.table1(ts timestamp, 列2 int)") + tdSql.execute("create stable sel_null.stable1(ts timestamp, `值` int) tags(`标签1` int, `标签2` int)") + tdSql.execute('insert into sel_null.ct1 using sel_null.stable1 tags(1, 1) values(now, 1)', queryTimes=1) + tdSql.execute('insert into sel_null.ct1 using sel_null.stable1 tags(2, 2) values(now, 2)', queryTimes=1) + tdSql.execute('insert into sel_null.ct1 using sel_null.stable1 tags(2, 2) values(now, 3)', queryTimes=1) + tdSql.query('select 值 , 标签1 from sel_null.stable1', queryTimes=1) + tdSql.query('select case 值 when 标签1 then 标签1 else 标签2 end from sel_null.stable1', queryTimes=1) + tdSql.query('select count(*) from sel_null.stable1 group by 值 having sum(标签1) > 0', queryTimes=1) + tdSql.query('show table tags `标签1` 标签n from sel_null.stable1', queryTimes=1) + tdSql.query('create sma index a on sel_null.stable1 FUNCTION (sum(值)) interval(1s)', queryTimes=1) + tdSql.query('select count(值) from sel_null.stable1', queryTimes=1) + tdSql.query('select stable1.值 from sel_null.stable1', queryTimes=1) + tdSql.query('select stable1.值 from sel_null.stable1 order by 值', queryTimes=1) + tdSql.execute('create stable sel_null.join_stable(`时间戳` timestamp, c1 int) tags(`标签1` int)', queryTimes=1) + tdSql.query('select a.值 from sel_null.stable1 a join sel_null.join_stable b on a.ts = 时间戳;', queryTimes=1) + tdSql.query('select a.值 from sel_null.stable1 a join sel_null.join_stable b on a.ts = b.时间戳;', queryTimes=1) + tdSql.execute('create user user1 pass "asd"', queryTimes=1) + tdSql.execute('grant write on sel_null.stable1 with 标签1 = 1 to user1',queryTimes=1) + tdSql.execute('select count(*) from sel_null.stable1 state_window(值)', queryTimes=1) def stop(self): tdSql.close() diff --git a/tools/shell/src/shellEngine.c b/tools/shell/src/shellEngine.c index a7f79fc9db..3b150230e7 100644 --- a/tools/shell/src/shellEngine.c +++ b/tools/shell/src/shellEngine.c @@ -22,6 +22,23 @@ #include "shellAuto.h" #include "shellInt.h" +typedef struct { + const char *sql; + bool vertical; + tsem_t sem; + int64_t numOfRows; // the num of this batch + int64_t numOfAllRows; + + int32_t numFields; + TAOS_FIELD *fields; + int32_t precision; + + int32_t maxColNameLen; // for vertical print + int32_t width[TSDB_MAX_COLUMNS]; // for horizontal print + + uint64_t resShowMaxNum; +} tsDumpInfo; + static bool shellIsEmptyCommand(const char *cmd); static int32_t shellRunSingleCommand(char *command); static void shellRecordCommandToHistory(char *command); @@ -31,8 +48,8 @@ static char *shellFormatTimestamp(char *buf, int64_t val, int32_t precision); static int64_t shellDumpResultToFile(const char *fname, TAOS_RES *tres); static void shellPrintNChar(const char *str, int32_t length, int32_t width); static void shellPrintGeometry(const unsigned char *str, int32_t length, int32_t width); -static int64_t shellVerticalPrintResult(TAOS_RES *tres, const char *sql); -static int64_t shellHorizontalPrintResult(TAOS_RES *tres, const char *sql); +static void shellVerticalPrintResult(TAOS_RES *tres, tsDumpInfo* dump_info); +static void shellHorizontalPrintResult(TAOS_RES *tres, tsDumpInfo* dump_info); static int64_t shellDumpResult(TAOS_RES *tres, char *fname, int32_t *error_no, bool vertical, const char *sql); static void shellReadHistory(); static void shellWriteHistory(); @@ -702,49 +719,67 @@ bool shellIsShowQuery(const char *sql) { return false; } -int64_t shellVerticalPrintResult(TAOS_RES *tres, const char *sql) { - TAOS_ROW row = taos_fetch_row(tres); - if (row == NULL) { - return 0; +void init_dump_info(tsDumpInfo *dump_info, TAOS_RES *tres, const char *sql, bool vertical) { + dump_info->sql = sql; + dump_info->vertical = vertical; + tsem_init(&dump_info->sem, 0, 0); + dump_info->numOfAllRows = 0; + + dump_info->numFields = taos_num_fields(tres); + dump_info->fields = taos_fetch_fields(tres); + dump_info->precision = taos_result_precision(tres); + + dump_info->resShowMaxNum = UINT64_MAX; + + if (shell.args.commands == NULL && shell.args.file[0] == 0 && !shellIsShowWhole(dump_info->sql)) { + dump_info->resShowMaxNum = SHELL_DEFAULT_RES_SHOW_NUM; } - int32_t num_fields = taos_num_fields(tres); - TAOS_FIELD *fields = taos_fetch_fields(tres); - int32_t precision = taos_result_precision(tres); - - int32_t maxColNameLen = 0; - for (int32_t col = 0; col < num_fields; col++) { - int32_t len = (int32_t)strlen(fields[col].name); - if (len > maxColNameLen) { - maxColNameLen = len; + if (vertical) { + dump_info->maxColNameLen = 0; + for (int32_t col = 0; col < dump_info->numFields; col++) { + int32_t len = (int32_t)strlen(dump_info->fields[col].name); + if (len > dump_info->maxColNameLen) { + dump_info->maxColNameLen = len; + } + } + } else { + for (int32_t col = 0; col < dump_info->numFields; col++) { + dump_info->width[col] = shellCalcColWidth(dump_info->fields + col, dump_info->precision); } } +} - uint64_t resShowMaxNum = UINT64_MAX; - - if (shell.args.commands == NULL && shell.args.file[0] == 0 && !shellIsShowWhole(sql)) { - resShowMaxNum = SHELL_DEFAULT_RES_SHOW_NUM; +void shellVerticalPrintResult(TAOS_RES *tres, tsDumpInfo *dump_info) { + TAOS_ROW row = taos_fetch_row(tres); + if (row == NULL) { + printf("\033[31mtaos_fetch_row failed.\033[0m\n"); + return; } - int64_t numOfRows = 0; - int32_t showMore = 1; - do { - if (numOfRows < resShowMaxNum) { - printf("*************************** %"PRId64".row ***************************\r\n", numOfRows + 1); + int64_t numOfPintRows = dump_info->numOfAllRows; + int numOfPrintRowsThisOne = 0; - int32_t *length = taos_fetch_lengths(tres); + while (row != NULL) { + printf("*************************** %" PRId64 ".row ***************************\r\n", numOfPintRows + 1); - for (int32_t i = 0; i < num_fields; i++) { - TAOS_FIELD *field = fields + i; + int32_t *length = taos_fetch_lengths(tres); - int32_t padding = (int32_t)(maxColNameLen - strlen(field->name)); - printf("%*.s%s: ", padding, " ", field->name); + for (int32_t i = 0; i < dump_info->numFields; i++) { + TAOS_FIELD *field = dump_info->fields + i; - shellPrintField((const char *)row[i], field, 0, length[i], precision); - putchar('\r'); - putchar('\n'); - } - } else if (showMore) { + int32_t padding = (int32_t)(dump_info->maxColNameLen - strlen(field->name)); + printf("%*.s%s: ", padding, " ", field->name); + + shellPrintField((const char *)row[i], field, 0, length[i], dump_info->precision); + putchar('\r'); + putchar('\n'); + } + + numOfPintRows++; + numOfPrintRowsThisOne++; + + if (numOfPintRows == dump_info->resShowMaxNum) { printf("\r\n"); printf(" Notice: The result shows only the first %d rows.\r\n", SHELL_DEFAULT_RES_SHOW_NUM); printf(" You can use the `LIMIT` clause to get fewer result to show.\r\n"); @@ -752,14 +787,16 @@ int64_t shellVerticalPrintResult(TAOS_RES *tres, const char *sql) { printf("\r\n"); printf(" You can use Ctrl+C to stop the underway fetching.\r\n"); printf("\r\n"); - showMore = 0; + return; } - numOfRows++; - row = taos_fetch_row(tres); - } while (row != NULL); + if (numOfPrintRowsThisOne == dump_info->numOfRows) { + return; + } - return numOfRows; + row = taos_fetch_row(tres); + } + return; } int32_t shellCalcColWidth(TAOS_FIELD *field, int32_t precision) { @@ -856,47 +893,38 @@ void shellPrintHeader(TAOS_FIELD *fields, int32_t *width, int32_t num_fields) { putchar('\n'); } -int64_t shellHorizontalPrintResult(TAOS_RES *tres, const char *sql) { +void shellHorizontalPrintResult(TAOS_RES *tres, tsDumpInfo *dump_info) { TAOS_ROW row = taos_fetch_row(tres); if (row == NULL) { - return 0; + printf("\033[31mtaos_fetch_row failed.\033[0m\n"); + return; } - int32_t num_fields = taos_num_fields(tres); - TAOS_FIELD *fields = taos_fetch_fields(tres); - int32_t precision = taos_result_precision(tres); - - int32_t width[TSDB_MAX_COLUMNS]; - for (int32_t col = 0; col < num_fields; col++) { - width[col] = shellCalcColWidth(fields + col, precision); + int64_t numOfPintRows = dump_info->numOfAllRows; + int numOfPrintRowsThisOne = 0; + if (numOfPintRows == 0) { + shellPrintHeader(dump_info->fields, dump_info->width, dump_info->numFields); } - shellPrintHeader(fields, width, num_fields); - - uint64_t resShowMaxNum = UINT64_MAX; - - if (shell.args.commands == NULL && shell.args.file[0] == 0 && !shellIsShowWhole(sql)) { - resShowMaxNum = SHELL_DEFAULT_RES_SHOW_NUM; - } - - int64_t numOfRows = 0; - int32_t showMore = 1; - - do { + while (row != NULL) { int32_t *length = taos_fetch_lengths(tres); - if (numOfRows < resShowMaxNum) { - for (int32_t i = 0; i < num_fields; i++) { - putchar(' '); - shellPrintField((const char *)row[i], fields + i, width[i], length[i], precision); - putchar(' '); - putchar('|'); - } - putchar('\r'); - putchar('\n'); - } else if (showMore) { + for (int32_t i = 0; i < dump_info->numFields; i++) { + putchar(' '); + shellPrintField((const char *)row[i], dump_info->fields + i, dump_info->width[i], length[i], + dump_info->precision); + putchar(' '); + putchar('|'); + } + putchar('\r'); + putchar('\n'); + + numOfPintRows++; + numOfPrintRowsThisOne++; + + if (numOfPintRows == dump_info->resShowMaxNum) { printf("\r\n"); printf(" Notice: The result shows only the first %d rows.\r\n", SHELL_DEFAULT_RES_SHOW_NUM); - if (shellIsShowQuery(sql)) { + if (shellIsShowQuery(dump_info->sql)) { printf(" You can use '>>' to redirect the whole set of the result to a specified file.\r\n"); } else { printf(" You can use the `LIMIT` clause to get fewer result to show.\r\n"); @@ -905,28 +933,53 @@ int64_t shellHorizontalPrintResult(TAOS_RES *tres, const char *sql) { printf("\r\n"); printf(" You can use Ctrl+C to stop the underway fetching.\r\n"); printf("\r\n"); - showMore = 0; + return; } - numOfRows++; - row = taos_fetch_row(tres); - } while (row != NULL); + if (numOfPrintRowsThisOne == dump_info->numOfRows) { + return; + } - return numOfRows; + row = taos_fetch_row(tres); + } + return; +} + +void shellDumpResultCallback(void *param, TAOS_RES *tres, int num_of_rows) { + tsDumpInfo *dump_info = (tsDumpInfo *)param; + if (num_of_rows > 0) { + dump_info->numOfRows = num_of_rows; + if (dump_info->numOfAllRows < dump_info->resShowMaxNum) { + if (dump_info->vertical) { + shellVerticalPrintResult(tres, dump_info); + } else { + shellHorizontalPrintResult(tres, dump_info); + } + } + dump_info->numOfAllRows += num_of_rows; + taos_fetch_rows_a(tres, shellDumpResultCallback, param); + } else { + if (num_of_rows < 0) { + printf("\033[31masync retrieve failed, code: %d\033[0m\n", num_of_rows); + } + tsem_post(&dump_info->sem); + } } int64_t shellDumpResult(TAOS_RES *tres, char *fname, int32_t *error_no, bool vertical, const char *sql) { - int64_t numOfRows = 0; + int64_t num_of_rows = 0; if (fname != NULL) { - numOfRows = shellDumpResultToFile(fname, tres); - } else if (vertical) { - numOfRows = shellVerticalPrintResult(tres, sql); + num_of_rows = shellDumpResultToFile(fname, tres); } else { - numOfRows = shellHorizontalPrintResult(tres, sql); + tsDumpInfo dump_info; + init_dump_info(&dump_info, tres, sql, vertical); + taos_fetch_rows_a(tres, shellDumpResultCallback, &dump_info); + tsem_wait(&dump_info.sem); + num_of_rows = dump_info.numOfAllRows; } *error_no = taos_errno(tres); - return numOfRows; + return num_of_rows; } void shellReadHistory() {