diff --git a/source/client/src/clientHb.c b/source/client/src/clientHb.c index a146712cab..b1f0ea55d8 100644 --- a/source/client/src/clientHb.c +++ b/source/client/src/clientHb.c @@ -496,6 +496,11 @@ static int32_t hbAsyncCallBack(void *param, SDataBuf *pMsg, int32_t code) { if (code != 0) { pInst->onlineDnodes = pInst->totalDnodes ? 0 : -1; tscDebug("hb rsp error %s, update server status %d/%d", tstrerror(code), pInst->onlineDnodes, pInst->totalDnodes); + taosThreadMutexUnlock(&clientHbMgr.lock); + taosMemoryFree(pMsg->pData); + taosMemoryFree(pMsg->pEpSet); + tFreeClientHbBatchRsp(&pRsp); + return -1; } if (rspNum) { diff --git a/source/dnode/mnode/impl/src/mndMain.c b/source/dnode/mnode/impl/src/mndMain.c index ee7cd83a8c..76a9d804e6 100644 --- a/source/dnode/mnode/impl/src/mndMain.c +++ b/source/dnode/mnode/impl/src/mndMain.c @@ -822,7 +822,7 @@ _OVER: "msg:%p, type:%s failed to process since %s, mnode restored:%d stopped:%d, sync restored:%d " "role:%s, redirect numOfEps:%d inUse:%d, type:%s", pMsg, TMSG_INFO(pMsg->msgType), terrstr(), pMnode->restored, pMnode->stopped, state.restored, - syncStr(state.restored), epSet.numOfEps, epSet.inUse, TMSG_INFO(pMsg->msgType)); + syncStr(state.state), epSet.numOfEps, epSet.inUse, TMSG_INFO(pMsg->msgType)); if (epSet.numOfEps <= 0) return -1; diff --git a/source/dnode/vnode/src/tq/tq.c b/source/dnode/vnode/src/tq/tq.c index ccfc8cc7c9..7886967be0 100644 --- a/source/dnode/vnode/src/tq/tq.c +++ b/source/dnode/vnode/src/tq/tq.c @@ -923,13 +923,14 @@ int32_t handleStep2Async(SStreamTask* pStreamTask, void* param) { STaskId hId = pStreamTask->hTaskInfo.id; SStreamTask* pTask = streamMetaAcquireTask(pStreamTask->pMeta, hId.streamId, hId.taskId); if (pTask == NULL) { - // todo handle error + tqWarn("s-task:0x%x failed to acquired it to exec step 2, scan wal quit", (int32_t) hId.taskId); + return TSDB_CODE_SUCCESS; } doStartFillhistoryStep2(pTask, pStreamTask, pTq); streamMetaReleaseTask(pMeta, pTask); - return 0; + return TSDB_CODE_SUCCESS; } // this function should be executed by only one thread, so we set an sentinel to protect this function diff --git a/source/libs/executor/src/executil.c b/source/libs/executor/src/executil.c index add2955a2b..e217977b8b 100644 --- a/source/libs/executor/src/executil.c +++ b/source/libs/executor/src/executil.c @@ -2136,6 +2136,9 @@ int32_t buildGroupIdMapForAllTables(STableListInfo* pTableListInfo, SReadHandle* } pTableListInfo->oneTableForEachGroup = groupByTbname; + if (numOfTables == 1 && pTableListInfo->idInfo.tableType == TSDB_CHILD_TABLE) { + pTableListInfo->oneTableForEachGroup = true; + } if (groupSort && groupByTbname) { taosArraySort(pTableListInfo->pTableList, orderbyGroupIdComparFn); diff --git a/source/libs/executor/src/scanoperator.c b/source/libs/executor/src/scanoperator.c index dc5ce60f95..7b25237aba 100644 --- a/source/libs/executor/src/scanoperator.c +++ b/source/libs/executor/src/scanoperator.c @@ -889,14 +889,15 @@ static SSDataBlock* doGroupedTableScan(SOperatorInfo* pOperator) { if (pTableScanInfo->countState < TABLE_COUNT_STATE_END) { STableListInfo* pTableListInfo = pTableScanInfo->base.pTableListInfo; - if (pTableListInfo->oneTableForEachGroup || pTableListInfo->groupOffset) { // group by tbname, group by tag + sort + if (pTableListInfo->oneTableForEachGroup || pTableListInfo->groupOffset) { // group by tbname, group by tag + sort if (pTableScanInfo->countState < TABLE_COUNT_STATE_PROCESSED) { pTableScanInfo->countState = TABLE_COUNT_STATE_PROCESSED; STableKeyInfo* pStart = (STableKeyInfo*)tableListGetInfo(pTableScanInfo->base.pTableListInfo, pTableScanInfo->tableStartIndex); + if (NULL == pStart) return NULL; return getBlockForEmptyTable(pOperator, pStart); } - } else { // group by tag + no sort + } else { // group by tag + no sort int32_t numOfTables = tableListGetSize(pTableListInfo); if (pTableScanInfo->tableEndIndex + 1 >= numOfTables) { // get empty group, mark processed & rm from hash diff --git a/source/libs/function/src/builtins.c b/source/libs/function/src/builtins.c index b4af77fafc..d690f1fa1c 100644 --- a/source/libs/function/src/builtins.c +++ b/source/libs/function/src/builtins.c @@ -2017,9 +2017,17 @@ static int32_t translateCast(SFunctionNode* pFunc, char* pErrBuf, int32_t len) { if (IS_STR_DATA_TYPE(para2Type)) { para2Bytes -= VARSTR_HEADER_SIZE; } - if (para2Bytes <= 0 || para2Bytes > 4096) { // cast dst var type length limits to 4096 bytes - return buildFuncErrMsg(pErrBuf, len, TSDB_CODE_FUNC_FUNTION_ERROR, - "CAST function converted length should be in range (0, 4096] bytes"); + if (para2Bytes <= 0 || + para2Bytes > TSDB_MAX_BINARY_LEN - VARSTR_HEADER_SIZE) { // cast dst var type length limits to 4096 bytes + if (TSDB_DATA_TYPE_NCHAR == para2Type) { + return buildFuncErrMsg(pErrBuf, len, TSDB_CODE_FUNC_FUNTION_ERROR, + "CAST function converted length should be in range (0, %d] NCHARS", + (TSDB_MAX_BINARY_LEN - VARSTR_HEADER_SIZE)/TSDB_NCHAR_SIZE); + } else { + return buildFuncErrMsg(pErrBuf, len, TSDB_CODE_FUNC_FUNTION_ERROR, + "CAST function converted length should be in range (0, %d] bytes", + TSDB_MAX_BINARY_LEN - VARSTR_HEADER_SIZE); + } } // add database precision as param diff --git a/source/libs/parser/inc/sql.y b/source/libs/parser/inc/sql.y index 88af526d79..368c6bcdc7 100755 --- a/source/libs/parser/inc/sql.y +++ b/source/libs/parser/inc/sql.y @@ -415,6 +415,13 @@ type_name(A) ::= DECIMAL. type_name(A) ::= DECIMAL NK_LP NK_INTEGER NK_RP. { A = createDataType(TSDB_DATA_TYPE_DECIMAL); } type_name(A) ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP. { A = createDataType(TSDB_DATA_TYPE_DECIMAL); } +%type type_name_default_len { SDataType } +%destructor type_name_default_len { } +type_name_default_len(A) ::= BINARY. { A = createVarLenDataType(TSDB_DATA_TYPE_BINARY, NULL); } +type_name_default_len(A) ::= NCHAR. { A = createVarLenDataType(TSDB_DATA_TYPE_NCHAR, NULL); } +type_name_default_len(A) ::= VARCHAR. { A = createVarLenDataType(TSDB_DATA_TYPE_VARCHAR, NULL); } +type_name_default_len(A) ::= VARBINARY. { A = createVarLenDataType(TSDB_DATA_TYPE_VARBINARY, NULL); } + %type tags_def_opt { SNodeList* } %destructor tags_def_opt { nodesDestroyList($$); } tags_def_opt(A) ::= . { A = NULL; } @@ -1111,6 +1118,9 @@ function_expression(A) ::= function_name(B) NK_LP expression_list(C) NK_RP(D). function_expression(A) ::= star_func(B) NK_LP star_func_para_list(C) NK_RP(D). { A = createRawExprNodeExt(pCxt, &B, &D, createFunctionNode(pCxt, &B, C)); } function_expression(A) ::= CAST(B) NK_LP expr_or_subquery(C) AS type_name(D) NK_RP(E). { A = createRawExprNodeExt(pCxt, &B, &E, createCastFunctionNode(pCxt, releaseRawExprNode(pCxt, C), D)); } +function_expression(A) ::= + CAST(B) NK_LP expr_or_subquery(C) AS type_name_default_len(D) NK_RP(E). { A = createRawExprNodeExt(pCxt, &B, &E, createCastFunctionNode(pCxt, releaseRawExprNode(pCxt, C), D)); } + function_expression(A) ::= literal_func(B). { A = B; } literal_func(A) ::= noarg_func(B) NK_LP NK_RP(C). { A = createRawExprNodeExt(pCxt, &B, &C, createFunctionNode(pCxt, &B, NULL)); } diff --git a/source/libs/parser/src/parAstCreater.c b/source/libs/parser/src/parAstCreater.c index 4c2921d5c5..8eed609ddf 100644 --- a/source/libs/parser/src/parAstCreater.c +++ b/source/libs/parser/src/parAstCreater.c @@ -1601,7 +1601,10 @@ SDataType createDataType(uint8_t type) { } SDataType createVarLenDataType(uint8_t type, const SToken* pLen) { - SDataType dt = {.type = type, .precision = 0, .scale = 0, .bytes = taosStr2Int32(pLen->z, NULL, 10)}; + int32_t len = TSDB_MAX_BINARY_LEN - VARSTR_HEADER_SIZE; + if (type == TSDB_DATA_TYPE_NCHAR) len /= TSDB_NCHAR_SIZE; + if(pLen) len = taosStr2Int32(pLen->z, NULL, 10); + SDataType dt = {.type = type, .precision = 0, .scale = 0, .bytes = len}; return dt; } diff --git a/source/libs/parser/src/parInsertSql.c b/source/libs/parser/src/parInsertSql.c index 9a7d0f4839..afdd6089d2 100644 --- a/source/libs/parser/src/parInsertSql.c +++ b/source/libs/parser/src/parInsertSql.c @@ -1572,11 +1572,13 @@ static int32_t parseValueTokenImpl(SInsertParseContext* pCxt, const char** pSql, case TSDB_DATA_TYPE_NCHAR: { // if the converted output len is over than pColumnModel->bytes, return error: 'Argument list too long' int32_t len = 0; - char* pUcs4 = taosMemoryCalloc(1, pSchema->bytes - VARSTR_HEADER_SIZE); + int64_t realLen = pToken->n << 2; + if (realLen > pSchema->bytes - VARSTR_HEADER_SIZE) realLen = pSchema->bytes - VARSTR_HEADER_SIZE; + char* pUcs4 = taosMemoryMalloc(realLen); if (NULL == pUcs4) { return TSDB_CODE_OUT_OF_MEMORY; } - if (!taosMbsToUcs4(pToken->z, pToken->n, (TdUcs4*)pUcs4, pSchema->bytes - VARSTR_HEADER_SIZE, &len)) { + if (!taosMbsToUcs4(pToken->z, pToken->n, (TdUcs4*)pUcs4, realLen, &len)) { taosMemoryFree(pUcs4); if (errno == E2BIG) { return generateSyntaxErrMsg(&pCxt->msg, TSDB_CODE_PAR_VALUE_TOO_LONG, pSchema->name); diff --git a/source/libs/parser/src/parTranslater.c b/source/libs/parser/src/parTranslater.c index 2110013310..3a37d841aa 100644 --- a/source/libs/parser/src/parTranslater.c +++ b/source/libs/parser/src/parTranslater.c @@ -2105,7 +2105,6 @@ static int32_t translateMultiResFunc(STranslateContext* pCxt, SFunctionNode* pFu } if (tsKeepColumnName && 1 == LIST_LENGTH(pFunc->pParameterList) && !pFunc->node.asAlias && !pFunc->node.asParam) { strcpy(pFunc->node.userAlias, ((SExprNode*)nodesListGetNode(pFunc->pParameterList, 0))->userAlias); - strcpy(pFunc->node.aliasName, pFunc->node.userAlias); } return TSDB_CODE_SUCCESS; } @@ -2697,6 +2696,29 @@ static EDealRes rewriteExprToGroupKeyFunc(STranslateContext* pCxt, SNode** pNode return (TSDB_CODE_SUCCESS == pCxt->errCode ? DEAL_RES_IGNORE_CHILD : DEAL_RES_ERROR); } +static bool isTbnameFuction(SNode* pNode) { + return QUERY_NODE_FUNCTION == nodeType(pNode) && FUNCTION_TYPE_TBNAME == ((SFunctionNode*)pNode)->funcType; +} + +static bool hasTbnameFunction(SNodeList* pPartitionByList) { + SNode* pPartKey = NULL; + FOREACH(pPartKey, pPartitionByList) { + if (isTbnameFuction(pPartKey)) { + return true; + } + } + return false; +} + +static bool fromSubtable(SNode* table) { + if (NULL == table) return false; + if (table->type == QUERY_NODE_REAL_TABLE && ((SRealTableNode*)table)->pMeta && + ((SRealTableNode*)table)->pMeta->tableType == TSDB_CHILD_TABLE) { + return true; + } + return false; +} + static EDealRes doCheckExprForGroupBy(SNode** pNode, void* pContext) { STranslateContext* pCxt = (STranslateContext*)pContext; SSelectStmt* pSelect = (SSelectStmt*)pCxt->pCurrStmt; @@ -2708,15 +2730,25 @@ static EDealRes doCheckExprForGroupBy(SNode** pNode, void* pContext) { } SNode* pGroupNode = NULL; FOREACH(pGroupNode, getGroupByList(pCxt)) { - if (nodesEqualNode(getGroupByNode(pGroupNode), *pNode)) { + SNode* pActualNode = getGroupByNode(pGroupNode); + if (nodesEqualNode(pActualNode, *pNode)) { return DEAL_RES_IGNORE_CHILD; } + if (isTbnameFuction(pActualNode) && QUERY_NODE_COLUMN == nodeType(*pNode) && + ((SColumnNode*)*pNode)->colType == COLUMN_TYPE_TAG) { + return rewriteExprToGroupKeyFunc(pCxt, pNode); + } } SNode* pPartKey = NULL; + bool partionByTbname = hasTbnameFunction(pSelect->pPartitionByList); FOREACH(pPartKey, pSelect->pPartitionByList) { if (nodesEqualNode(pPartKey, *pNode)) { return rewriteExprToGroupKeyFunc(pCxt, pNode); } + if ((partionByTbname) && QUERY_NODE_COLUMN == nodeType(*pNode) && + ((SColumnNode*)*pNode)->colType == COLUMN_TYPE_TAG) { + return rewriteExprToGroupKeyFunc(pCxt, pNode); + } } if (NULL != pSelect->pWindow && QUERY_NODE_STATE_WINDOW == nodeType(pSelect->pWindow)) { if (nodesEqualNode(((SStateWindowNode*)pSelect->pWindow)->pExpr, *pNode)) { @@ -2780,11 +2812,19 @@ static EDealRes doCheckAggColCoexist(SNode** pNode, void* pContext) { return DEAL_RES_IGNORE_CHILD; } SNode* pPartKey = NULL; + bool partionByTbname = false; + if (fromSubtable(((SSelectStmt*)pCxt->pTranslateCxt->pCurrStmt)->pFromTable) || + hasTbnameFunction(((SSelectStmt*)pCxt->pTranslateCxt->pCurrStmt)->pPartitionByList)) { + partionByTbname = true; + } FOREACH(pPartKey, ((SSelectStmt*)pCxt->pTranslateCxt->pCurrStmt)->pPartitionByList) { if (nodesEqualNode(pPartKey, *pNode)) { return rewriteExprToGroupKeyFunc(pCxt->pTranslateCxt, pNode); } } + if (partionByTbname && QUERY_NODE_COLUMN == nodeType(*pNode) && ((SColumnNode*)*pNode)->colType == COLUMN_TYPE_TAG) { + return rewriteExprToGroupKeyFunc(pCxt->pTranslateCxt, pNode); + } if (isScanPseudoColumnFunc(*pNode) || QUERY_NODE_COLUMN == nodeType(*pNode)) { pCxt->existCol = true; } @@ -3955,22 +3995,12 @@ static int32_t checkStateExpr(STranslateContext* pCxt, SNode* pNode) { return TSDB_CODE_SUCCESS; } -static bool hasPartitionByTbname(SNodeList* pPartitionByList) { - SNode* pPartKey = NULL; - FOREACH(pPartKey, pPartitionByList) { - if (QUERY_NODE_FUNCTION == nodeType(pPartKey) && FUNCTION_TYPE_TBNAME == ((SFunctionNode*)pPartKey)->funcType) { - return true; - } - } - return false; -} - static int32_t checkStateWindowForStream(STranslateContext* pCxt, SSelectStmt* pSelect) { if (!pCxt->createStream) { return TSDB_CODE_SUCCESS; } if (TSDB_SUPER_TABLE == ((SRealTableNode*)pSelect->pFromTable)->pMeta->tableType && - !hasPartitionByTbname(pSelect->pPartitionByList)) { + !hasTbnameFunction(pSelect->pPartitionByList)) { return generateSyntaxErrMsgExt(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_STREAM_QUERY, "Unsupported stream query"); } return TSDB_CODE_SUCCESS; @@ -7560,12 +7590,12 @@ static int32_t translateKillTransaction(STranslateContext* pCxt, SKillStmt* pStm static bool crossTableWithoutAggOper(SSelectStmt* pSelect) { return NULL == pSelect->pWindow && !pSelect->hasAggFuncs && !pSelect->hasIndefiniteRowsFunc && !pSelect->hasInterpFunc && TSDB_SUPER_TABLE == ((SRealTableNode*)pSelect->pFromTable)->pMeta->tableType && - !hasPartitionByTbname(pSelect->pPartitionByList); + !hasTbnameFunction(pSelect->pPartitionByList); } static bool crossTableWithUdaf(SSelectStmt* pSelect) { return pSelect->hasUdaf && TSDB_SUPER_TABLE == ((SRealTableNode*)pSelect->pFromTable)->pMeta->tableType && - !hasPartitionByTbname(pSelect->pPartitionByList); + !hasTbnameFunction(pSelect->pPartitionByList); } static int32_t checkCreateStream(STranslateContext* pCxt, SCreateStreamStmt* pStmt) { @@ -7823,7 +7853,7 @@ static int32_t checkStreamQuery(STranslateContext* pCxt, SCreateStreamStmt* pStm SSelectStmt* pSelect = (SSelectStmt*)pStmt->pQuery; if ( (SRealTableNode*)pSelect->pFromTable && ((SRealTableNode*)pSelect->pFromTable)->pMeta && TSDB_SUPER_TABLE == ((SRealTableNode*)pSelect->pFromTable)->pMeta->tableType - && !hasPartitionByTbname(pSelect->pPartitionByList) + && !hasTbnameFunction(pSelect->pPartitionByList) && pSelect->pWindow != NULL && pSelect->pWindow->type == QUERY_NODE_EVENT_WINDOW) { return generateSyntaxErrMsgExt(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_STREAM_QUERY, "Event window for stream on super table must patitioned by table name"); @@ -7851,7 +7881,7 @@ static int32_t checkStreamQuery(STranslateContext* pCxt, SCreateStreamStmt* pStm if (pSelect->pWindow != NULL && pSelect->pWindow->type == QUERY_NODE_COUNT_WINDOW) { if ( (SRealTableNode*)pSelect->pFromTable && ((SRealTableNode*)pSelect->pFromTable)->pMeta && TSDB_SUPER_TABLE == ((SRealTableNode*)pSelect->pFromTable)->pMeta->tableType - && !hasPartitionByTbname(pSelect->pPartitionByList) ) { + && !hasTbnameFunction(pSelect->pPartitionByList) ) { return generateSyntaxErrMsgExt(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_STREAM_QUERY, "Count window for stream on super table must patitioned by table name"); } diff --git a/source/libs/parser/src/sql.c b/source/libs/parser/src/sql.c index b8d1bb7f27..3103bbd4cb 100644 --- a/source/libs/parser/src/sql.c +++ b/source/libs/parser/src/sql.c @@ -1,3 +1,5 @@ +/* This file is automatically generated by Lemon from input grammar +** source file "sql.y". */ /* ** 2000-05-29 ** @@ -22,9 +24,8 @@ ** The following is the concatenation of all %include directives from the ** input grammar file: */ -#include -#include /************ Begin %include sections from the grammar ************************/ +#line 11 "sql.y" #include #include @@ -41,12 +42,366 @@ #include "parAst.h" #define YYSTACKDEPTH 0 +#line 46 "sql.c" /**************** End of %include directives **********************************/ -/* These constants specify the various numeric values for terminal symbols -** in a format understandable to "makeheaders". This section is blank unless -** "lemon" is run with the "-m" command-line option. -***************** Begin makeheaders token definitions *************************/ -/**************** End makeheaders token definitions ***************************/ +/* These constants specify the various numeric values for terminal symbols. +***************** Begin token definitions *************************************/ +#ifndef TK_OR +#define TK_OR 1 +#define TK_AND 2 +#define TK_UNION 3 +#define TK_ALL 4 +#define TK_MINUS 5 +#define TK_EXCEPT 6 +#define TK_INTERSECT 7 +#define TK_NK_BITAND 8 +#define TK_NK_BITOR 9 +#define TK_NK_LSHIFT 10 +#define TK_NK_RSHIFT 11 +#define TK_NK_PLUS 12 +#define TK_NK_MINUS 13 +#define TK_NK_STAR 14 +#define TK_NK_SLASH 15 +#define TK_NK_REM 16 +#define TK_NK_CONCAT 17 +#define TK_CREATE 18 +#define TK_ACCOUNT 19 +#define TK_NK_ID 20 +#define TK_PASS 21 +#define TK_NK_STRING 22 +#define TK_ALTER 23 +#define TK_PPS 24 +#define TK_TSERIES 25 +#define TK_STORAGE 26 +#define TK_STREAMS 27 +#define TK_QTIME 28 +#define TK_DBS 29 +#define TK_USERS 30 +#define TK_CONNS 31 +#define TK_STATE 32 +#define TK_NK_COMMA 33 +#define TK_HOST 34 +#define TK_USER 35 +#define TK_ENABLE 36 +#define TK_NK_INTEGER 37 +#define TK_SYSINFO 38 +#define TK_ADD 39 +#define TK_DROP 40 +#define TK_GRANT 41 +#define TK_ON 42 +#define TK_TO 43 +#define TK_REVOKE 44 +#define TK_FROM 45 +#define TK_SUBSCRIBE 46 +#define TK_READ 47 +#define TK_WRITE 48 +#define TK_NK_DOT 49 +#define TK_WITH 50 +#define TK_DNODE 51 +#define TK_PORT 52 +#define TK_DNODES 53 +#define TK_RESTORE 54 +#define TK_NK_IPTOKEN 55 +#define TK_FORCE 56 +#define TK_UNSAFE 57 +#define TK_CLUSTER 58 +#define TK_LOCAL 59 +#define TK_QNODE 60 +#define TK_BNODE 61 +#define TK_SNODE 62 +#define TK_MNODE 63 +#define TK_VNODE 64 +#define TK_DATABASE 65 +#define TK_USE 66 +#define TK_FLUSH 67 +#define TK_TRIM 68 +#define TK_COMPACT 69 +#define TK_IF 70 +#define TK_NOT 71 +#define TK_EXISTS 72 +#define TK_BUFFER 73 +#define TK_CACHEMODEL 74 +#define TK_CACHESIZE 75 +#define TK_COMP 76 +#define TK_DURATION 77 +#define TK_NK_VARIABLE 78 +#define TK_MAXROWS 79 +#define TK_MINROWS 80 +#define TK_KEEP 81 +#define TK_PAGES 82 +#define TK_PAGESIZE 83 +#define TK_TSDB_PAGESIZE 84 +#define TK_PRECISION 85 +#define TK_REPLICA 86 +#define TK_VGROUPS 87 +#define TK_SINGLE_STABLE 88 +#define TK_RETENTIONS 89 +#define TK_SCHEMALESS 90 +#define TK_WAL_LEVEL 91 +#define TK_WAL_FSYNC_PERIOD 92 +#define TK_WAL_RETENTION_PERIOD 93 +#define TK_WAL_RETENTION_SIZE 94 +#define TK_WAL_ROLL_PERIOD 95 +#define TK_WAL_SEGMENT_SIZE 96 +#define TK_STT_TRIGGER 97 +#define TK_TABLE_PREFIX 98 +#define TK_TABLE_SUFFIX 99 +#define TK_KEEP_TIME_OFFSET 100 +#define TK_NK_COLON 101 +#define TK_BWLIMIT 102 +#define TK_START 103 +#define TK_TIMESTAMP 104 +#define TK_END 105 +#define TK_TABLE 106 +#define TK_NK_LP 107 +#define TK_NK_RP 108 +#define TK_STABLE 109 +#define TK_COLUMN 110 +#define TK_MODIFY 111 +#define TK_RENAME 112 +#define TK_TAG 113 +#define TK_SET 114 +#define TK_NK_EQ 115 +#define TK_USING 116 +#define TK_TAGS 117 +#define TK_BOOL 118 +#define TK_TINYINT 119 +#define TK_SMALLINT 120 +#define TK_INT 121 +#define TK_INTEGER 122 +#define TK_BIGINT 123 +#define TK_FLOAT 124 +#define TK_DOUBLE 125 +#define TK_BINARY 126 +#define TK_NCHAR 127 +#define TK_UNSIGNED 128 +#define TK_JSON 129 +#define TK_VARCHAR 130 +#define TK_MEDIUMBLOB 131 +#define TK_BLOB 132 +#define TK_VARBINARY 133 +#define TK_GEOMETRY 134 +#define TK_DECIMAL 135 +#define TK_COMMENT 136 +#define TK_MAX_DELAY 137 +#define TK_WATERMARK 138 +#define TK_ROLLUP 139 +#define TK_TTL 140 +#define TK_SMA 141 +#define TK_DELETE_MARK 142 +#define TK_FIRST 143 +#define TK_LAST 144 +#define TK_SHOW 145 +#define TK_PRIVILEGES 146 +#define TK_DATABASES 147 +#define TK_TABLES 148 +#define TK_STABLES 149 +#define TK_MNODES 150 +#define TK_QNODES 151 +#define TK_ARBGROUPS 152 +#define TK_FUNCTIONS 153 +#define TK_INDEXES 154 +#define TK_ACCOUNTS 155 +#define TK_APPS 156 +#define TK_CONNECTIONS 157 +#define TK_LICENCES 158 +#define TK_GRANTS 159 +#define TK_FULL 160 +#define TK_LOGS 161 +#define TK_MACHINES 162 +#define TK_QUERIES 163 +#define TK_SCORES 164 +#define TK_TOPICS 165 +#define TK_VARIABLES 166 +#define TK_BNODES 167 +#define TK_SNODES 168 +#define TK_TRANSACTIONS 169 +#define TK_DISTRIBUTED 170 +#define TK_CONSUMERS 171 +#define TK_SUBSCRIPTIONS 172 +#define TK_VNODES 173 +#define TK_ALIVE 174 +#define TK_VIEWS 175 +#define TK_VIEW 176 +#define TK_COMPACTS 177 +#define TK_NORMAL 178 +#define TK_CHILD 179 +#define TK_LIKE 180 +#define TK_TBNAME 181 +#define TK_QTAGS 182 +#define TK_AS 183 +#define TK_SYSTEM 184 +#define TK_INDEX 185 +#define TK_FUNCTION 186 +#define TK_INTERVAL 187 +#define TK_COUNT 188 +#define TK_LAST_ROW 189 +#define TK_META 190 +#define TK_ONLY 191 +#define TK_TOPIC 192 +#define TK_CONSUMER 193 +#define TK_GROUP 194 +#define TK_DESC 195 +#define TK_DESCRIBE 196 +#define TK_RESET 197 +#define TK_QUERY 198 +#define TK_CACHE 199 +#define TK_EXPLAIN 200 +#define TK_ANALYZE 201 +#define TK_VERBOSE 202 +#define TK_NK_BOOL 203 +#define TK_RATIO 204 +#define TK_NK_FLOAT 205 +#define TK_OUTPUTTYPE 206 +#define TK_AGGREGATE 207 +#define TK_BUFSIZE 208 +#define TK_LANGUAGE 209 +#define TK_REPLACE 210 +#define TK_STREAM 211 +#define TK_INTO 212 +#define TK_PAUSE 213 +#define TK_RESUME 214 +#define TK_TRIGGER 215 +#define TK_AT_ONCE 216 +#define TK_WINDOW_CLOSE 217 +#define TK_IGNORE 218 +#define TK_EXPIRED 219 +#define TK_FILL_HISTORY 220 +#define TK_UPDATE 221 +#define TK_SUBTABLE 222 +#define TK_UNTREATED 223 +#define TK_KILL 224 +#define TK_CONNECTION 225 +#define TK_TRANSACTION 226 +#define TK_BALANCE 227 +#define TK_VGROUP 228 +#define TK_LEADER 229 +#define TK_MERGE 230 +#define TK_REDISTRIBUTE 231 +#define TK_SPLIT 232 +#define TK_DELETE 233 +#define TK_INSERT 234 +#define TK_NK_BIN 235 +#define TK_NK_HEX 236 +#define TK_NULL 237 +#define TK_NK_QUESTION 238 +#define TK_NK_ALIAS 239 +#define TK_NK_ARROW 240 +#define TK_ROWTS 241 +#define TK_QSTART 242 +#define TK_QEND 243 +#define TK_QDURATION 244 +#define TK_WSTART 245 +#define TK_WEND 246 +#define TK_WDURATION 247 +#define TK_IROWTS 248 +#define TK_ISFILLED 249 +#define TK_CAST 250 +#define TK_NOW 251 +#define TK_TODAY 252 +#define TK_TIMEZONE 253 +#define TK_CLIENT_VERSION 254 +#define TK_SERVER_VERSION 255 +#define TK_SERVER_STATUS 256 +#define TK_CURRENT_USER 257 +#define TK_CASE 258 +#define TK_WHEN 259 +#define TK_THEN 260 +#define TK_ELSE 261 +#define TK_BETWEEN 262 +#define TK_IS 263 +#define TK_NK_LT 264 +#define TK_NK_GT 265 +#define TK_NK_LE 266 +#define TK_NK_GE 267 +#define TK_NK_NE 268 +#define TK_MATCH 269 +#define TK_NMATCH 270 +#define TK_CONTAINS 271 +#define TK_IN 272 +#define TK_JOIN 273 +#define TK_INNER 274 +#define TK_SELECT 275 +#define TK_NK_HINT 276 +#define TK_DISTINCT 277 +#define TK_WHERE 278 +#define TK_PARTITION 279 +#define TK_BY 280 +#define TK_SESSION 281 +#define TK_STATE_WINDOW 282 +#define TK_EVENT_WINDOW 283 +#define TK_COUNT_WINDOW 284 +#define TK_SLIDING 285 +#define TK_FILL 286 +#define TK_VALUE 287 +#define TK_VALUE_F 288 +#define TK_NONE 289 +#define TK_PREV 290 +#define TK_NULL_F 291 +#define TK_LINEAR 292 +#define TK_NEXT 293 +#define TK_HAVING 294 +#define TK_RANGE 295 +#define TK_EVERY 296 +#define TK_ORDER 297 +#define TK_SLIMIT 298 +#define TK_SOFFSET 299 +#define TK_LIMIT 300 +#define TK_OFFSET 301 +#define TK_ASC 302 +#define TK_NULLS 303 +#define TK_ABORT 304 +#define TK_AFTER 305 +#define TK_ATTACH 306 +#define TK_BEFORE 307 +#define TK_BEGIN 308 +#define TK_BITAND 309 +#define TK_BITNOT 310 +#define TK_BITOR 311 +#define TK_BLOCKS 312 +#define TK_CHANGE 313 +#define TK_COMMA 314 +#define TK_CONCAT 315 +#define TK_CONFLICT 316 +#define TK_COPY 317 +#define TK_DEFERRED 318 +#define TK_DELIMITERS 319 +#define TK_DETACH 320 +#define TK_DIVIDE 321 +#define TK_DOT 322 +#define TK_EACH 323 +#define TK_FAIL 324 +#define TK_FILE 325 +#define TK_FOR 326 +#define TK_GLOB 327 +#define TK_ID 328 +#define TK_IMMEDIATE 329 +#define TK_IMPORT 330 +#define TK_INITIALLY 331 +#define TK_INSTEAD 332 +#define TK_ISNULL 333 +#define TK_KEY 334 +#define TK_MODULES 335 +#define TK_NK_BITNOT 336 +#define TK_NK_SEMI 337 +#define TK_NOTNULL 338 +#define TK_OF 339 +#define TK_PLUS 340 +#define TK_PRIVILEGE 341 +#define TK_RAISE 342 +#define TK_RESTRICT 343 +#define TK_ROW 344 +#define TK_SEMI 345 +#define TK_STAR 346 +#define TK_STATEMENT 347 +#define TK_STRICT 348 +#define TK_STRING 349 +#define TK_TIMES 350 +#define TK_VALUES 351 +#define TK_VARIABLE 352 +#define TK_WAL 353 +#endif +/**************** End token definitions ***************************************/ /* The next sections is a series of control #defines. ** various aspects of the generated parser. @@ -104,29 +459,29 @@ #endif /************* Begin control #defines *****************************************/ #define YYCODETYPE unsigned short int -#define YYNOCODE 517 +#define YYNOCODE 518 #define YYACTIONTYPE unsigned short int #define ParseTOKENTYPE SToken typedef union { int yyinit; ParseTOKENTYPE yy0; - SShowTablesOption yy91; - EShowKind yy101; - int32_t yy134; - EFillMode yy206; - SDataType yy224; - ENullOrder yy345; - int64_t yy525; - SNodeList* yy552; - bool yy559; - EOrder yy576; - STokenPair yy665; - SNode* yy718; - EOperatorType yy810; - int8_t yy883; - SAlterOption yy959; - SToken yy965; - EJoinType yy992; + STokenPair yy21; + int32_t yy396; + SNodeList* yy404; + EFillMode yy466; + SDataType yy504; + SAlterOption yy529; + ENullOrder yy669; + EJoinType yy680; + SToken yy701; + EShowKind yy705; + bool yy733; + EOperatorType yy884; + SNode* yy896; + int8_t yy915; + EOrder yy918; + int64_t yy949; + SShowTablesOption yy989; } YYMINORTYPE; #ifndef YYSTACKDEPTH #define YYSTACKDEPTH 100 @@ -142,18 +497,18 @@ typedef union { #define ParseCTX_FETCH #define ParseCTX_STORE #define YYFALLBACK 1 -#define YYNSTATE 890 -#define YYNRULE 691 -#define YYNRULE_WITH_ACTION 691 +#define YYNSTATE 895 +#define YYNRULE 696 +#define YYNRULE_WITH_ACTION 696 #define YYNTOKEN 354 -#define YY_MAX_SHIFT 889 -#define YY_MIN_SHIFTREDUCE 1322 -#define YY_MAX_SHIFTREDUCE 2012 -#define YY_ERROR_ACTION 2013 -#define YY_ACCEPT_ACTION 2014 -#define YY_NO_ACTION 2015 -#define YY_MIN_REDUCE 2016 -#define YY_MAX_REDUCE 2706 +#define YY_MAX_SHIFT 894 +#define YY_MIN_SHIFTREDUCE 1328 +#define YY_MAX_SHIFTREDUCE 2023 +#define YY_ERROR_ACTION 2024 +#define YY_ACCEPT_ACTION 2025 +#define YY_NO_ACTION 2026 +#define YY_MIN_REDUCE 2027 +#define YY_MAX_REDUCE 2722 /************* End control #defines *******************************************/ #define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0]))) @@ -220,629 +575,638 @@ typedef union { ** yy_default[] Default action for each state. ** *********** Begin parsing tables **********************************************/ -#define YY_ACTTAB_COUNT (3048) +#define YY_ACTTAB_COUNT (3138) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 511, 458, 2182, 2464, 741, 2481, 456, 2677, 2611, 169, - /* 10 */ 37, 310, 47, 45, 1934, 604, 425, 2208, 605, 2059, - /* 20 */ 439, 2345, 1774, 2611, 2257, 740, 204, 790, 504, 2485, - /* 30 */ 2678, 742, 2345, 503, 2608, 1860, 2102, 1772, 1800, 2343, - /* 40 */ 778, 2682, 684, 2505, 2677, 571, 569, 442, 390, 2607, - /* 50 */ 2342, 778, 218, 753, 147, 2259, 756, 682, 445, 680, - /* 60 */ 271, 270, 424, 2681, 696, 1855, 2259, 2678, 2680, 795, - /* 70 */ 2257, 19, 830, 408, 2487, 2489, 436, 601, 1780, 712, - /* 80 */ 735, 2257, 2677, 1799, 2523, 795, 599, 40, 39, 595, - /* 90 */ 591, 46, 44, 43, 42, 41, 2471, 66, 773, 612, - /* 100 */ 2683, 204, 605, 2059, 886, 2678, 742, 15, 2523, 861, - /* 110 */ 860, 859, 858, 467, 50, 857, 856, 152, 851, 850, - /* 120 */ 849, 848, 847, 846, 845, 151, 839, 838, 837, 466, - /* 130 */ 465, 834, 833, 832, 184, 183, 831, 790, 2504, 614, - /* 140 */ 2384, 2542, 1469, 1862, 1863, 115, 2506, 777, 2508, 2509, - /* 150 */ 772, 736, 795, 741, 1800, 2039, 2677, 187, 621, 2596, - /* 160 */ 9, 1653, 1654, 435, 2592, 302, 2604, 752, 1369, 139, - /* 170 */ 751, 734, 2677, 62, 740, 204, 753, 147, 206, 2678, - /* 180 */ 742, 1834, 1844, 1471, 791, 2206, 2626, 2038, 1861, 1864, - /* 190 */ 740, 204, 1367, 1368, 1799, 2678, 742, 2016, 460, 695, - /* 200 */ 62, 2252, 2254, 1775, 209, 1773, 1652, 1655, 2471, 2037, - /* 210 */ 753, 147, 40, 39, 622, 2338, 46, 44, 43, 42, - /* 220 */ 41, 137, 136, 135, 134, 133, 132, 131, 130, 129, - /* 230 */ 828, 162, 161, 825, 824, 823, 159, 1778, 1779, 1831, - /* 240 */ 2471, 1833, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, - /* 250 */ 769, 793, 792, 1854, 1856, 1857, 1858, 1859, 2, 47, - /* 260 */ 45, 107, 2471, 790, 388, 2393, 1797, 439, 502, 1774, - /* 270 */ 501, 791, 2206, 554, 2009, 400, 574, 1561, 1562, 651, - /* 280 */ 1891, 573, 1860, 650, 1772, 2105, 2199, 755, 202, 2604, - /* 290 */ 2605, 138, 145, 2609, 791, 2206, 33, 534, 647, 575, - /* 300 */ 500, 1959, 40, 39, 389, 536, 46, 44, 43, 42, - /* 310 */ 41, 175, 1855, 2028, 138, 514, 1960, 1526, 19, 1889, - /* 320 */ 276, 652, 203, 2604, 2605, 1780, 145, 2609, 464, 463, - /* 330 */ 841, 1517, 820, 819, 818, 1521, 817, 1523, 1524, 816, - /* 340 */ 813, 306, 1532, 810, 1534, 1535, 807, 804, 801, 1802, - /* 350 */ 50, 886, 411, 1781, 15, 1633, 1634, 1958, 666, 665, - /* 360 */ 664, 2682, 34, 522, 2677, 656, 144, 660, 306, 239, - /* 370 */ 1831, 659, 1896, 607, 609, 2067, 658, 663, 418, 417, - /* 380 */ 606, 2008, 657, 2681, 1890, 653, 2183, 2678, 2679, 1362, - /* 390 */ 1862, 1863, 1923, 2332, 2311, 843, 562, 561, 560, 559, - /* 400 */ 558, 553, 552, 551, 550, 394, 791, 2206, 1369, 540, - /* 410 */ 539, 538, 537, 531, 530, 529, 2017, 524, 523, 409, - /* 420 */ 2253, 2254, 488, 515, 1621, 1622, 55, 2036, 1834, 1844, - /* 430 */ 1640, 1364, 1367, 1368, 160, 1861, 1864, 128, 416, 415, - /* 440 */ 127, 126, 125, 124, 123, 122, 121, 120, 119, 2184, - /* 450 */ 1775, 128, 1773, 197, 127, 126, 125, 124, 123, 122, - /* 460 */ 121, 120, 119, 1799, 1774, 2246, 36, 437, 1884, 1885, - /* 470 */ 1886, 1887, 1888, 1892, 1893, 1894, 1895, 241, 2035, 1772, - /* 480 */ 2471, 607, 153, 2067, 1778, 1779, 1831, 731, 1833, 1836, - /* 490 */ 1837, 1838, 1839, 1840, 1841, 1842, 1843, 769, 793, 792, - /* 500 */ 1854, 1856, 1857, 1858, 1859, 2, 12, 47, 45, 54, - /* 510 */ 414, 413, 304, 649, 173, 439, 12, 1774, 306, 364, - /* 520 */ 1780, 1784, 828, 162, 161, 825, 824, 823, 159, 2181, - /* 530 */ 1860, 2471, 1772, 565, 620, 651, 362, 75, 160, 650, - /* 540 */ 74, 2682, 314, 315, 520, 2321, 886, 313, 40, 39, - /* 550 */ 391, 492, 46, 44, 43, 42, 41, 12, 1802, 10, - /* 560 */ 1855, 1803, 237, 586, 584, 581, 19, 666, 665, 664, - /* 570 */ 688, 2197, 687, 1780, 656, 144, 660, 1967, 494, 490, - /* 580 */ 659, 737, 732, 725, 721, 658, 663, 418, 417, 753, - /* 590 */ 147, 657, 1938, 220, 653, 229, 643, 642, 1799, 886, - /* 600 */ 40, 39, 15, 62, 46, 44, 43, 42, 41, 2505, - /* 610 */ 40, 39, 1803, 1697, 46, 44, 43, 42, 41, 2481, - /* 620 */ 564, 228, 774, 1388, 1835, 1387, 445, 728, 727, 1965, - /* 630 */ 1966, 1968, 1969, 1970, 2294, 693, 451, 795, 1862, 1863, - /* 640 */ 143, 63, 35, 2485, 1799, 1775, 2002, 1773, 40, 39, - /* 650 */ 2523, 185, 46, 44, 43, 42, 41, 1870, 1389, 1388, - /* 660 */ 160, 1387, 2471, 1799, 773, 828, 162, 161, 825, 824, - /* 670 */ 823, 159, 62, 410, 624, 2325, 1834, 1844, 224, 1778, - /* 680 */ 1779, 830, 1832, 1861, 1864, 43, 42, 41, 2487, 2490, - /* 690 */ 51, 85, 84, 507, 1389, 762, 217, 2568, 1775, 795, - /* 700 */ 1773, 205, 2604, 2605, 2504, 145, 2609, 2542, 2465, 499, - /* 710 */ 497, 177, 2506, 777, 2508, 2509, 772, 2412, 795, 91, - /* 720 */ 387, 304, 90, 486, 526, 2321, 483, 479, 475, 472, - /* 730 */ 500, 62, 1778, 1779, 1831, 1700, 1833, 1836, 1837, 1838, - /* 740 */ 1839, 1840, 1841, 1842, 1843, 769, 793, 792, 1854, 1856, - /* 750 */ 1857, 1858, 1859, 2, 47, 45, 1865, 2505, 2492, 1835, - /* 760 */ 2424, 174, 439, 445, 1774, 743, 2698, 821, 274, 2145, - /* 770 */ 774, 306, 273, 222, 795, 200, 454, 1860, 1780, 1772, - /* 780 */ 1804, 791, 2206, 791, 2206, 171, 2505, 556, 2321, 89, - /* 790 */ 46, 44, 43, 42, 41, 764, 547, 2568, 2523, 756, - /* 800 */ 546, 508, 2425, 509, 1743, 791, 2206, 1855, 545, 1931, - /* 810 */ 2471, 712, 773, 443, 2677, 2259, 2494, 1832, 172, 1803, - /* 820 */ 1780, 172, 434, 185, 1835, 528, 2209, 2523, 696, 2208, - /* 830 */ 2257, 1804, 2683, 204, 450, 449, 227, 2678, 742, 2471, - /* 840 */ 306, 773, 99, 1803, 2278, 397, 886, 2326, 423, 48, - /* 850 */ 686, 844, 2504, 712, 2167, 2542, 2677, 2505, 306, 115, - /* 860 */ 2506, 777, 2508, 2509, 772, 2034, 795, 791, 2206, 149, - /* 870 */ 774, 156, 2567, 2596, 2683, 204, 2195, 435, 2592, 2678, - /* 880 */ 742, 2504, 1832, 2089, 2542, 1862, 1863, 541, 115, 2506, - /* 890 */ 777, 2508, 2509, 772, 96, 795, 791, 2206, 2523, 306, - /* 900 */ 187, 458, 2596, 698, 2384, 667, 435, 2592, 694, 172, - /* 910 */ 2471, 412, 773, 2070, 791, 2206, 542, 2208, 2471, 711, - /* 920 */ 2201, 791, 2206, 1834, 1844, 100, 889, 2611, 2259, 2627, - /* 930 */ 1861, 1864, 40, 39, 543, 444, 46, 44, 43, 42, - /* 940 */ 41, 623, 351, 2257, 1742, 1775, 211, 1773, 349, 14, - /* 950 */ 13, 275, 2504, 2606, 2014, 2542, 1681, 29, 194, 115, - /* 960 */ 2506, 777, 2508, 2509, 772, 879, 795, 877, 873, 869, - /* 970 */ 865, 2571, 348, 2596, 453, 452, 2191, 435, 2592, 1778, - /* 980 */ 1779, 1831, 195, 1833, 1836, 1837, 1838, 1839, 1840, 1841, - /* 990 */ 1842, 1843, 769, 793, 792, 1854, 1856, 1857, 1858, 1859, - /* 1000 */ 2, 47, 45, 2681, 549, 548, 199, 791, 2206, 439, - /* 1010 */ 112, 1774, 719, 114, 1391, 1392, 321, 791, 2206, 109, - /* 1020 */ 791, 2206, 2505, 2033, 1860, 461, 1772, 2203, 113, 2259, - /* 1030 */ 1702, 1703, 1979, 172, 470, 774, 459, 277, 1804, 469, - /* 1040 */ 285, 2208, 2505, 1371, 2257, 150, 791, 2206, 787, 1798, - /* 1050 */ 645, 644, 60, 2198, 1855, 774, 1903, 2069, 791, 2206, - /* 1060 */ 709, 2032, 1804, 2523, 40, 39, 759, 1780, 46, 44, - /* 1070 */ 43, 42, 41, 662, 661, 2471, 2471, 773, 318, 855, - /* 1080 */ 853, 2505, 1930, 2523, 96, 712, 2031, 1954, 2677, 791, - /* 1090 */ 2206, 1799, 309, 886, 774, 2471, 48, 773, 2193, 308, - /* 1100 */ 2505, 791, 2206, 791, 2206, 822, 2683, 204, 2250, 788, - /* 1110 */ 2202, 2678, 742, 774, 2471, 2634, 49, 2504, 279, 2030, - /* 1120 */ 2542, 789, 2523, 345, 116, 2506, 777, 2508, 2509, 772, - /* 1130 */ 2189, 795, 1862, 1863, 2471, 1481, 773, 2504, 2596, 2471, - /* 1140 */ 2542, 2523, 2259, 2593, 115, 2506, 777, 2508, 2509, 772, - /* 1150 */ 1480, 795, 2259, 2471, 745, 773, 2697, 760, 2596, 2027, - /* 1160 */ 791, 2206, 435, 2592, 1978, 2026, 2025, 786, 748, 2024, - /* 1170 */ 1834, 1844, 2471, 2044, 881, 2087, 2504, 1861, 1864, 2542, - /* 1180 */ 462, 2259, 1783, 374, 2506, 777, 2508, 2509, 772, 3, - /* 1190 */ 795, 1964, 1775, 1485, 1773, 2504, 2258, 669, 2542, 2023, - /* 1200 */ 2022, 53, 115, 2506, 777, 2508, 2509, 772, 1484, 795, - /* 1210 */ 691, 767, 2471, 2021, 2697, 2020, 2596, 576, 2471, 2471, - /* 1220 */ 435, 2592, 2471, 2019, 2616, 1923, 1778, 1779, 1831, 738, - /* 1230 */ 1833, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 769, - /* 1240 */ 793, 792, 1854, 1856, 1857, 1858, 1859, 2, 47, 45, - /* 1250 */ 2505, 148, 2471, 2471, 2567, 697, 439, 826, 1774, 827, - /* 1260 */ 2250, 712, 2250, 774, 2677, 2647, 2471, 358, 2471, 2415, - /* 1270 */ 2236, 1860, 140, 1772, 654, 578, 2471, 2304, 77, 286, - /* 1280 */ 2011, 2012, 2683, 204, 87, 2078, 2076, 2678, 742, 2505, - /* 1290 */ 262, 2523, 2146, 260, 2210, 757, 264, 744, 1466, 263, - /* 1300 */ 49, 1855, 774, 2471, 723, 773, 712, 671, 674, 2677, - /* 1310 */ 1832, 655, 266, 198, 1780, 265, 464, 463, 268, 518, - /* 1320 */ 477, 267, 188, 101, 160, 282, 1788, 2683, 204, 64, - /* 1330 */ 2523, 88, 2678, 742, 768, 1464, 49, 14, 13, 1860, - /* 1340 */ 886, 1781, 2471, 15, 773, 2504, 712, 2505, 2542, 2677, - /* 1350 */ 1786, 49, 115, 2506, 777, 2508, 2509, 772, 1782, 795, - /* 1360 */ 774, 2029, 2670, 312, 2697, 76, 2596, 2683, 204, 1855, - /* 1370 */ 435, 2592, 2678, 742, 299, 1963, 2640, 1881, 1424, 1862, - /* 1380 */ 1863, 729, 1780, 158, 2504, 160, 293, 2542, 2523, 142, - /* 1390 */ 2524, 115, 2506, 777, 2508, 2509, 772, 291, 795, 758, - /* 1400 */ 2471, 2143, 773, 2697, 1897, 2596, 324, 323, 766, 435, - /* 1410 */ 2592, 1845, 326, 325, 2142, 673, 2330, 1834, 1844, 1425, - /* 1420 */ 746, 328, 327, 2060, 1861, 1864, 1650, 40, 39, 2630, - /* 1430 */ 685, 46, 44, 43, 42, 41, 749, 73, 316, 1775, - /* 1440 */ 783, 1773, 2504, 330, 329, 2542, 272, 332, 331, 115, - /* 1450 */ 2506, 777, 2508, 2509, 772, 799, 795, 726, 320, 158, - /* 1460 */ 1511, 2697, 676, 2596, 334, 333, 430, 435, 2592, 670, - /* 1470 */ 668, 336, 335, 1778, 1779, 1831, 269, 1833, 1836, 1837, - /* 1480 */ 1838, 1839, 1840, 1841, 1842, 1843, 769, 793, 792, 1854, - /* 1490 */ 1856, 1857, 1858, 1859, 2, 2505, 338, 337, 340, 339, - /* 1500 */ 835, 342, 341, 344, 343, 160, 141, 1789, 774, 1784, - /* 1510 */ 2615, 158, 357, 836, 733, 426, 780, 71, 2331, 468, - /* 1520 */ 70, 2066, 705, 2247, 1443, 2631, 1785, 1950, 2641, 754, - /* 1530 */ 1539, 301, 298, 305, 1543, 2168, 2523, 1441, 5, 471, - /* 1540 */ 406, 1792, 1794, 476, 484, 485, 1807, 496, 2471, 495, - /* 1550 */ 773, 212, 213, 2505, 498, 793, 792, 1854, 1856, 1857, - /* 1560 */ 1858, 1859, 215, 1674, 352, 1797, 774, 512, 1798, 519, - /* 1570 */ 226, 521, 527, 525, 532, 567, 544, 580, 557, 555, - /* 1580 */ 1550, 1548, 2323, 563, 566, 568, 163, 579, 577, 232, - /* 1590 */ 2504, 231, 2505, 2542, 2523, 582, 583, 115, 2506, 777, - /* 1600 */ 2508, 2509, 772, 234, 795, 774, 2471, 585, 773, 2697, - /* 1610 */ 587, 2596, 393, 392, 1805, 435, 2592, 602, 4, 603, - /* 1620 */ 610, 242, 446, 2505, 613, 611, 93, 1800, 245, 615, - /* 1630 */ 1806, 1808, 248, 2523, 616, 1860, 774, 455, 1809, 619, - /* 1640 */ 617, 2339, 250, 94, 625, 2471, 646, 773, 2504, 95, - /* 1650 */ 255, 2542, 2402, 677, 648, 115, 2506, 777, 2508, 2509, - /* 1660 */ 772, 117, 795, 384, 2523, 1855, 678, 2569, 2196, 2596, - /* 1670 */ 690, 259, 2192, 435, 2592, 692, 2471, 261, 773, 165, - /* 1680 */ 166, 2194, 98, 353, 278, 2190, 167, 2504, 168, 1801, - /* 1690 */ 2542, 2385, 154, 281, 115, 2506, 777, 2508, 2509, 772, - /* 1700 */ 701, 795, 283, 700, 2399, 2398, 763, 699, 2596, 704, - /* 1710 */ 716, 2505, 435, 2592, 707, 706, 730, 2646, 2504, 781, - /* 1720 */ 2645, 2542, 8, 739, 774, 116, 2506, 777, 2508, 2509, - /* 1730 */ 772, 2618, 795, 257, 717, 288, 715, 290, 292, 2596, - /* 1740 */ 714, 179, 294, 2595, 2592, 297, 295, 431, 1923, 180, - /* 1750 */ 750, 747, 2523, 146, 1802, 296, 1928, 2612, 641, 637, - /* 1760 */ 633, 629, 191, 256, 2471, 2700, 773, 61, 307, 155, - /* 1770 */ 354, 1926, 355, 779, 2353, 2352, 2351, 441, 784, 785, - /* 1780 */ 356, 157, 106, 2207, 2463, 2462, 2676, 300, 2577, 2458, - /* 1790 */ 2457, 2449, 2448, 1, 207, 2440, 108, 2439, 2455, 2454, - /* 1800 */ 2446, 797, 359, 1765, 97, 1741, 2504, 254, 2505, 2542, - /* 1810 */ 1346, 2445, 2434, 116, 2506, 777, 2508, 2509, 772, 347, - /* 1820 */ 795, 774, 2433, 883, 2452, 2451, 2443, 2596, 2442, 880, - /* 1830 */ 2431, 765, 2592, 2430, 2428, 448, 447, 1766, 164, 2427, - /* 1840 */ 361, 885, 2251, 383, 2423, 2505, 52, 371, 382, 2523, - /* 1850 */ 404, 793, 792, 1854, 1856, 1857, 1858, 1859, 771, 372, - /* 1860 */ 363, 2471, 2422, 773, 2421, 405, 2505, 82, 2416, 473, - /* 1870 */ 474, 1725, 1726, 478, 244, 210, 2414, 480, 481, 774, - /* 1880 */ 482, 2413, 1724, 253, 246, 407, 2523, 2411, 487, 2410, - /* 1890 */ 251, 618, 489, 2409, 491, 2408, 493, 1713, 2471, 2389, - /* 1900 */ 773, 214, 2388, 775, 216, 1677, 2542, 2523, 83, 243, - /* 1910 */ 116, 2506, 777, 2508, 2509, 772, 1676, 795, 2366, 2471, - /* 1920 */ 2365, 773, 505, 506, 2596, 2364, 2363, 2362, 399, 2592, - /* 1930 */ 2313, 510, 1620, 2310, 513, 2309, 2303, 516, 2300, 517, - /* 1940 */ 2504, 219, 2299, 2542, 2298, 2297, 86, 380, 2506, 777, - /* 1950 */ 2508, 2509, 772, 770, 795, 761, 2561, 2302, 221, 2301, - /* 1960 */ 2296, 2504, 2295, 2505, 2542, 2293, 2292, 2291, 176, 2506, - /* 1970 */ 777, 2508, 2509, 772, 223, 795, 774, 533, 2290, 535, - /* 1980 */ 2505, 225, 2271, 2270, 92, 2269, 2268, 2267, 2307, 2305, - /* 1990 */ 2266, 2265, 1626, 774, 2288, 2505, 2287, 2286, 2285, 2308, - /* 2000 */ 2284, 2283, 2282, 2306, 2523, 2289, 2281, 2280, 774, 2279, - /* 2010 */ 713, 2637, 2277, 2276, 2275, 2274, 2471, 2273, 773, 230, - /* 2020 */ 2263, 2523, 2272, 2264, 570, 2262, 572, 2261, 2260, 395, - /* 2030 */ 1482, 2108, 1486, 2471, 396, 773, 2523, 233, 2107, 235, - /* 2040 */ 2106, 1478, 236, 2104, 2101, 2100, 589, 2093, 2471, 2080, - /* 2050 */ 773, 2055, 2054, 588, 186, 428, 2387, 2383, 2504, 2373, - /* 2060 */ 590, 2542, 593, 592, 2505, 176, 2506, 777, 2508, 2509, - /* 2070 */ 772, 594, 795, 596, 598, 2504, 600, 774, 2542, 2505, - /* 2080 */ 238, 597, 381, 2506, 777, 2508, 2509, 772, 79, 795, - /* 2090 */ 2504, 2491, 771, 2542, 1370, 2361, 240, 177, 2506, 777, - /* 2100 */ 2508, 2509, 772, 196, 795, 2523, 80, 249, 2638, 247, - /* 2110 */ 608, 2360, 252, 2337, 2185, 2103, 2099, 2471, 626, 773, - /* 2120 */ 2523, 627, 1417, 2097, 628, 630, 631, 632, 2095, 634, - /* 2130 */ 635, 636, 2471, 2092, 773, 638, 640, 639, 2075, 429, - /* 2140 */ 2073, 2074, 2072, 2051, 2187, 1555, 1554, 258, 72, 2186, - /* 2150 */ 672, 1454, 2699, 2090, 1468, 1467, 1465, 1463, 1462, 2504, - /* 2160 */ 2088, 2079, 2542, 2505, 1461, 852, 381, 2506, 777, 2508, - /* 2170 */ 2509, 772, 854, 795, 2504, 28, 774, 2542, 2505, 118, - /* 2180 */ 1711, 380, 2506, 777, 2508, 2509, 772, 1460, 795, 1453, - /* 2190 */ 2562, 774, 1459, 2505, 1456, 1455, 419, 420, 2077, 421, - /* 2200 */ 422, 2050, 675, 2049, 2523, 2048, 774, 679, 2047, 2505, - /* 2210 */ 681, 2046, 683, 2386, 67, 280, 2471, 1707, 773, 2523, - /* 2220 */ 1709, 1706, 774, 2382, 56, 1683, 1685, 2372, 702, 2359, - /* 2230 */ 170, 2471, 2358, 773, 2523, 20, 2682, 30, 438, 1981, - /* 2240 */ 724, 57, 1955, 703, 17, 1662, 2471, 1687, 773, 718, - /* 2250 */ 2523, 427, 284, 440, 1661, 287, 722, 6, 2504, 708, - /* 2260 */ 23, 2542, 2471, 710, 773, 381, 2506, 777, 2508, 2509, - /* 2270 */ 772, 7, 795, 2504, 720, 21, 2542, 289, 22, 2505, - /* 2280 */ 381, 2506, 777, 2508, 2509, 772, 190, 795, 689, 1962, - /* 2290 */ 1949, 2542, 774, 178, 189, 376, 2506, 777, 2508, 2509, - /* 2300 */ 772, 31, 795, 201, 2504, 2492, 2505, 2542, 32, 65, - /* 2310 */ 24, 366, 2506, 777, 2508, 2509, 772, 2001, 795, 774, - /* 2320 */ 2523, 1996, 81, 1995, 2002, 432, 2000, 1999, 18, 433, - /* 2330 */ 1920, 303, 2471, 1919, 773, 59, 181, 2357, 2505, 2336, - /* 2340 */ 103, 102, 25, 1872, 11, 1871, 13, 2523, 1790, 58, - /* 2350 */ 38, 774, 1847, 182, 1846, 16, 26, 192, 1816, 2471, - /* 2360 */ 1824, 773, 1882, 311, 27, 193, 776, 1957, 317, 69, - /* 2370 */ 2335, 104, 782, 105, 2504, 2547, 2505, 2542, 319, 2523, - /* 2380 */ 109, 365, 2506, 777, 2508, 2509, 772, 1849, 795, 774, - /* 2390 */ 322, 2471, 2546, 773, 798, 796, 457, 802, 794, 805, - /* 2400 */ 68, 2504, 1540, 1537, 2542, 1536, 800, 803, 367, 2506, - /* 2410 */ 777, 2508, 2509, 772, 806, 795, 808, 2523, 1533, 809, - /* 2420 */ 811, 1527, 2505, 812, 814, 1525, 815, 110, 346, 2471, - /* 2430 */ 111, 773, 78, 2504, 1549, 774, 2542, 1545, 1415, 1531, - /* 2440 */ 373, 2506, 777, 2508, 2509, 772, 1530, 795, 2505, 1529, - /* 2450 */ 1528, 829, 1476, 1450, 1447, 1446, 1445, 1444, 1442, 1440, - /* 2460 */ 1439, 774, 1438, 2523, 840, 842, 1475, 208, 1436, 1435, - /* 2470 */ 1434, 2504, 1433, 1421, 2542, 2471, 1432, 773, 377, 2506, - /* 2480 */ 777, 2508, 2509, 772, 1431, 795, 1430, 2098, 1472, 2523, - /* 2490 */ 1470, 1427, 2505, 1426, 1423, 1422, 1420, 862, 2096, 863, - /* 2500 */ 866, 2471, 2094, 773, 864, 774, 867, 868, 870, 872, - /* 2510 */ 2091, 874, 871, 2071, 876, 875, 878, 2504, 1359, 2045, - /* 2520 */ 2542, 2505, 1347, 882, 368, 2506, 777, 2508, 2509, 772, - /* 2530 */ 350, 795, 884, 2523, 774, 887, 2505, 1776, 360, 2015, - /* 2540 */ 888, 2015, 2015, 2504, 2015, 2471, 2542, 773, 2015, 774, - /* 2550 */ 378, 2506, 777, 2508, 2509, 772, 2015, 795, 2015, 2015, - /* 2560 */ 2015, 2015, 2523, 2015, 2015, 2015, 2015, 2505, 2015, 2015, - /* 2570 */ 2015, 2015, 2015, 2015, 2471, 2015, 773, 2523, 2015, 2015, - /* 2580 */ 774, 2015, 2015, 2015, 2015, 2015, 2015, 2504, 2015, 2471, - /* 2590 */ 2542, 773, 2015, 2015, 369, 2506, 777, 2508, 2509, 772, - /* 2600 */ 2015, 795, 2015, 2015, 2015, 2015, 2015, 2015, 2523, 2015, - /* 2610 */ 2015, 2015, 2015, 2015, 2015, 2015, 2504, 2015, 2015, 2542, - /* 2620 */ 2471, 2015, 773, 379, 2506, 777, 2508, 2509, 772, 2015, - /* 2630 */ 795, 2504, 2015, 2015, 2542, 2015, 2015, 2505, 370, 2506, - /* 2640 */ 777, 2508, 2509, 772, 2015, 795, 2015, 2015, 2015, 2015, - /* 2650 */ 774, 2015, 2015, 2505, 2015, 2015, 2015, 2015, 2015, 2015, - /* 2660 */ 2015, 2015, 2504, 2015, 2015, 2542, 774, 2015, 2015, 385, - /* 2670 */ 2506, 777, 2508, 2509, 772, 2015, 795, 2015, 2523, 2015, - /* 2680 */ 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, - /* 2690 */ 2471, 2015, 773, 2015, 2523, 2015, 2015, 2015, 2015, 2015, - /* 2700 */ 2015, 2015, 2015, 2015, 2015, 2015, 2471, 2015, 773, 2015, - /* 2710 */ 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, - /* 2720 */ 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, - /* 2730 */ 2015, 2015, 2504, 2015, 2505, 2542, 2015, 2015, 2015, 386, - /* 2740 */ 2506, 777, 2508, 2509, 772, 2015, 795, 774, 2504, 2015, - /* 2750 */ 2015, 2542, 2015, 2015, 2015, 2517, 2506, 777, 2508, 2509, - /* 2760 */ 772, 2015, 795, 2015, 2015, 2015, 2505, 2015, 2015, 2015, - /* 2770 */ 2015, 2015, 2015, 2015, 2015, 2523, 2015, 2015, 2015, 774, - /* 2780 */ 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2471, 2015, 773, - /* 2790 */ 2015, 2015, 2015, 2505, 2015, 2015, 2015, 2015, 2015, 2015, - /* 2800 */ 2015, 2015, 2015, 2015, 2015, 2015, 774, 2523, 2015, 2015, - /* 2810 */ 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2471, - /* 2820 */ 2015, 773, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2504, - /* 2830 */ 2015, 2015, 2542, 2015, 2523, 2015, 2516, 2506, 777, 2508, - /* 2840 */ 2509, 772, 2015, 795, 2015, 2015, 2471, 2015, 773, 2015, - /* 2850 */ 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, - /* 2860 */ 2015, 2504, 2015, 2505, 2542, 2015, 2015, 2015, 2515, 2506, - /* 2870 */ 777, 2508, 2509, 772, 2015, 795, 774, 2015, 2015, 2505, - /* 2880 */ 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2504, 2015, - /* 2890 */ 2015, 2542, 774, 2015, 2505, 401, 2506, 777, 2508, 2509, - /* 2900 */ 772, 2015, 795, 2015, 2523, 2015, 2015, 774, 2015, 2505, - /* 2910 */ 2015, 2015, 2015, 2015, 2015, 2015, 2471, 2015, 773, 2015, - /* 2920 */ 2523, 2015, 774, 2015, 2015, 2015, 2015, 2015, 2015, 2015, - /* 2930 */ 2015, 2015, 2471, 2015, 773, 2523, 2015, 2015, 2505, 2015, - /* 2940 */ 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2471, 2015, 773, - /* 2950 */ 2523, 774, 2015, 2015, 2015, 2015, 2015, 2015, 2504, 2015, - /* 2960 */ 2015, 2542, 2471, 2015, 773, 402, 2506, 777, 2508, 2509, - /* 2970 */ 772, 2015, 795, 2015, 2504, 2015, 2015, 2542, 2015, 2523, - /* 2980 */ 2015, 398, 2506, 777, 2508, 2509, 772, 2015, 795, 2504, - /* 2990 */ 2015, 2471, 2542, 773, 2015, 2015, 403, 2506, 777, 2508, - /* 3000 */ 2509, 772, 2015, 795, 775, 2015, 2015, 2542, 2015, 2015, - /* 3010 */ 2015, 376, 2506, 777, 2508, 2509, 772, 2015, 795, 2015, - /* 3020 */ 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, - /* 3030 */ 2015, 2015, 2015, 2504, 2015, 2015, 2542, 2015, 2015, 2015, - /* 3040 */ 375, 2506, 777, 2508, 2509, 772, 2015, 795, + /* 0 */ 239, 198, 2479, 504, 607, 456, 2078, 2206, 503, 2309, + /* 10 */ 458, 769, 47, 45, 1945, 511, 2430, 33, 170, 768, + /* 20 */ 439, 795, 1784, 40, 39, 425, 2219, 46, 44, 43, + /* 30 */ 42, 41, 2360, 35, 2272, 1871, 2113, 1782, 748, 40, + /* 40 */ 39, 2360, 2520, 46, 44, 43, 42, 41, 37, 310, + /* 50 */ 2358, 783, 753, 148, 712, 756, 442, 2693, 445, 2357, + /* 60 */ 783, 571, 569, 741, 390, 1866, 2693, 477, 218, 800, + /* 70 */ 2274, 19, 464, 463, 2627, 2699, 204, 408, 1790, 2698, + /* 80 */ 2694, 742, 2693, 2538, 740, 204, 2272, 40, 39, 2694, + /* 90 */ 742, 46, 44, 43, 42, 41, 2486, 1791, 778, 604, + /* 100 */ 2624, 2697, 605, 2070, 891, 2694, 2696, 15, 50, 866, + /* 110 */ 865, 864, 863, 467, 565, 862, 861, 153, 856, 855, + /* 120 */ 854, 853, 852, 851, 850, 152, 844, 843, 842, 466, + /* 130 */ 465, 839, 838, 837, 184, 183, 836, 2208, 2519, 1810, + /* 140 */ 2050, 2558, 601, 1873, 1874, 115, 2521, 782, 2523, 2524, + /* 150 */ 777, 599, 800, 795, 595, 591, 241, 187, 741, 2612, + /* 160 */ 607, 2693, 2078, 435, 2608, 302, 2620, 752, 736, 140, + /* 170 */ 751, 547, 2693, 753, 148, 546, 229, 1809, 206, 740, + /* 180 */ 204, 1844, 1854, 545, 2694, 742, 2642, 1989, 1872, 1875, + /* 190 */ 740, 204, 684, 445, 2486, 2694, 742, 2027, 731, 416, + /* 200 */ 415, 564, 228, 1785, 800, 1783, 795, 682, 609, 680, + /* 210 */ 271, 270, 40, 39, 606, 62, 46, 44, 43, 42, + /* 220 */ 41, 138, 137, 136, 135, 134, 133, 132, 131, 130, + /* 230 */ 833, 163, 162, 830, 829, 828, 160, 1788, 1789, 1841, + /* 240 */ 50, 1843, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, + /* 250 */ 774, 798, 797, 1865, 1867, 1868, 1869, 1870, 2, 47, + /* 260 */ 45, 2274, 1663, 1664, 388, 1794, 1807, 439, 424, 1784, + /* 270 */ 2520, 414, 413, 554, 649, 400, 574, 2272, 1809, 1368, + /* 280 */ 1902, 573, 1871, 776, 1782, 755, 202, 2620, 2621, 2496, + /* 290 */ 146, 2625, 737, 732, 725, 721, 651, 534, 1375, 575, + /* 300 */ 650, 2480, 174, 113, 389, 536, 749, 1662, 1665, 224, + /* 310 */ 2156, 2538, 1866, 849, 2500, 514, 2178, 1532, 19, 1900, + /* 320 */ 151, 1370, 1373, 1374, 2486, 1790, 778, 100, 2209, 796, + /* 330 */ 2217, 1523, 825, 824, 823, 1527, 822, 1529, 1530, 773, + /* 340 */ 772, 2194, 1538, 771, 1540, 1541, 770, 809, 806, 139, + /* 350 */ 91, 891, 411, 90, 15, 696, 647, 445, 1691, 2502, + /* 360 */ 2504, 436, 34, 522, 624, 62, 2519, 1809, 800, 2558, + /* 370 */ 800, 1784, 1907, 380, 2521, 782, 2523, 2524, 777, 775, + /* 380 */ 800, 761, 2577, 306, 1901, 2192, 1782, 1841, 1810, 1949, + /* 390 */ 1873, 1874, 695, 2347, 2326, 1809, 562, 561, 560, 559, + /* 400 */ 558, 553, 552, 551, 550, 394, 796, 2217, 306, 540, + /* 410 */ 539, 538, 537, 531, 530, 529, 2028, 524, 523, 409, + /* 420 */ 89, 735, 846, 515, 1631, 1632, 139, 1790, 1844, 1854, + /* 430 */ 1650, 614, 2399, 652, 1813, 1872, 1875, 129, 1812, 2496, + /* 440 */ 128, 127, 126, 125, 124, 123, 122, 121, 120, 2538, + /* 450 */ 1785, 129, 1783, 891, 128, 127, 126, 125, 124, 123, + /* 460 */ 122, 121, 120, 175, 2500, 2039, 36, 437, 1895, 1896, + /* 470 */ 1897, 1898, 1899, 1903, 1904, 1905, 1906, 833, 163, 162, + /* 480 */ 830, 829, 828, 160, 1788, 1789, 1841, 848, 1843, 1846, + /* 490 */ 1847, 1848, 1849, 1850, 1851, 1852, 1853, 774, 798, 797, + /* 500 */ 1865, 1867, 1868, 1869, 1870, 2, 12, 47, 45, 2502, + /* 510 */ 2505, 1571, 1572, 734, 173, 439, 2049, 1784, 1475, 364, + /* 520 */ 800, 833, 163, 162, 830, 829, 828, 160, 1643, 1644, + /* 530 */ 1871, 612, 1782, 306, 605, 2070, 362, 75, 314, 315, + /* 540 */ 74, 40, 39, 313, 2520, 46, 44, 43, 42, 41, + /* 550 */ 391, 2698, 1785, 2274, 1783, 1881, 1845, 779, 488, 1477, + /* 560 */ 1866, 1809, 237, 586, 584, 581, 19, 62, 1812, 760, + /* 570 */ 2486, 197, 1978, 1790, 40, 39, 2268, 2269, 46, 44, + /* 580 */ 43, 42, 41, 66, 2261, 2538, 1788, 1789, 40, 39, + /* 590 */ 1532, 620, 46, 44, 43, 42, 41, 195, 2486, 891, + /* 600 */ 778, 304, 15, 62, 1523, 825, 824, 823, 1527, 822, + /* 610 */ 1529, 1530, 821, 818, 1842, 1538, 815, 1540, 1541, 812, + /* 620 */ 809, 806, 728, 727, 1976, 1977, 1979, 1980, 1981, 40, + /* 630 */ 39, 2025, 621, 46, 44, 43, 42, 41, 1873, 1874, + /* 640 */ 2519, 63, 257, 2558, 51, 520, 2336, 115, 2521, 782, + /* 650 */ 2523, 2524, 777, 1814, 800, 443, 2013, 150, 180, 157, + /* 660 */ 2583, 2612, 502, 172, 501, 435, 2608, 641, 637, 633, + /* 670 */ 629, 2219, 256, 3, 40, 39, 1844, 1854, 46, 44, + /* 680 */ 43, 42, 41, 1872, 1875, 53, 62, 492, 1961, 622, + /* 690 */ 2353, 85, 84, 507, 500, 220, 217, 835, 1785, 29, + /* 700 */ 1783, 46, 44, 43, 42, 41, 1397, 1398, 451, 499, + /* 710 */ 497, 2048, 470, 97, 494, 490, 254, 469, 643, 642, + /* 720 */ 387, 460, 1845, 486, 2267, 2269, 483, 479, 475, 472, + /* 730 */ 500, 304, 1788, 1789, 1841, 306, 1843, 1846, 1847, 1848, + /* 740 */ 1849, 1850, 1851, 1852, 1853, 774, 798, 797, 1865, 1867, + /* 750 */ 1868, 1869, 1870, 2, 47, 45, 1876, 2520, 796, 2217, + /* 760 */ 696, 2020, 439, 712, 1784, 2486, 2693, 796, 2217, 2698, + /* 770 */ 756, 306, 2693, 454, 1990, 662, 661, 1871, 209, 1782, + /* 780 */ 1842, 645, 644, 244, 2699, 204, 12, 55, 2520, 2694, + /* 790 */ 742, 2697, 253, 246, 185, 2694, 2695, 693, 2538, 251, + /* 800 */ 618, 779, 2627, 2080, 117, 796, 2217, 1866, 2274, 526, + /* 810 */ 2336, 2486, 306, 778, 666, 665, 664, 410, 243, 2340, + /* 820 */ 1790, 656, 145, 660, 791, 508, 2047, 659, 2623, 2538, + /* 830 */ 796, 2217, 658, 663, 418, 417, 698, 2399, 657, 274, + /* 840 */ 96, 653, 2486, 273, 778, 2193, 891, 556, 2336, 48, + /* 850 */ 509, 1813, 185, 2519, 306, 77, 2558, 412, 2520, 222, + /* 860 */ 115, 2521, 782, 2523, 2524, 777, 2212, 800, 2019, 796, + /* 870 */ 2217, 779, 187, 673, 2612, 2046, 1753, 2341, 435, 2608, + /* 880 */ 2486, 12, 711, 10, 2519, 1873, 1874, 2558, 685, 528, + /* 890 */ 2427, 115, 2521, 782, 2523, 2524, 777, 227, 800, 2538, + /* 900 */ 1394, 2643, 1393, 2713, 272, 2612, 450, 449, 88, 435, + /* 910 */ 2608, 1970, 2486, 99, 778, 835, 397, 144, 107, 423, + /* 920 */ 676, 686, 2045, 1844, 1854, 2697, 1971, 670, 668, 2486, + /* 930 */ 1872, 1875, 40, 39, 269, 1395, 46, 44, 43, 42, + /* 940 */ 41, 1752, 458, 2210, 1813, 1785, 762, 1783, 2584, 1790, + /* 950 */ 172, 753, 148, 2274, 2519, 1813, 2627, 2558, 2219, 2439, + /* 960 */ 434, 176, 2521, 782, 2523, 2524, 777, 1969, 800, 2272, + /* 970 */ 827, 453, 452, 2265, 1809, 71, 2486, 826, 70, 1788, + /* 980 */ 1789, 1841, 2622, 1843, 1846, 1847, 1848, 1849, 1850, 1851, + /* 990 */ 1852, 1853, 774, 798, 797, 1865, 1867, 1868, 1869, 1870, + /* 1000 */ 2, 47, 45, 713, 2653, 2520, 2116, 796, 2217, 439, + /* 1010 */ 712, 1784, 2274, 2693, 199, 60, 860, 858, 779, 444, + /* 1020 */ 2650, 796, 2217, 709, 1871, 2293, 1782, 541, 2272, 796, + /* 1030 */ 2217, 2699, 204, 796, 2217, 2520, 2694, 742, 796, 2217, + /* 1040 */ 2274, 542, 796, 2217, 14, 13, 2538, 459, 779, 543, + /* 1050 */ 2663, 753, 148, 793, 1866, 461, 2272, 2274, 623, 2486, + /* 1060 */ 1375, 778, 2214, 172, 203, 2620, 2621, 1790, 146, 2625, + /* 1070 */ 1814, 2219, 1377, 2273, 796, 2217, 2538, 1809, 1808, 666, + /* 1080 */ 665, 664, 796, 2217, 1373, 1374, 656, 145, 660, 2486, + /* 1090 */ 9, 778, 659, 891, 277, 96, 48, 658, 663, 418, + /* 1100 */ 417, 2519, 285, 657, 2558, 2520, 653, 200, 115, 2521, + /* 1110 */ 782, 2523, 2524, 777, 349, 800, 796, 2217, 779, 211, + /* 1120 */ 2713, 2213, 2612, 275, 796, 2217, 435, 2608, 796, 2217, + /* 1130 */ 745, 2519, 1873, 1874, 2558, 1845, 759, 2044, 115, 2521, + /* 1140 */ 782, 2523, 2524, 777, 318, 800, 2538, 1394, 794, 1393, + /* 1150 */ 2713, 1914, 2612, 796, 2217, 1942, 435, 2608, 764, 2486, + /* 1160 */ 2584, 778, 2043, 1814, 205, 2620, 2621, 1793, 146, 2625, + /* 1170 */ 1844, 1854, 1487, 345, 1814, 796, 2217, 1872, 1875, 43, + /* 1180 */ 42, 41, 1395, 2157, 1491, 549, 548, 1486, 172, 2055, + /* 1190 */ 886, 2486, 1785, 1842, 1783, 462, 2220, 149, 2042, 1490, + /* 1200 */ 2583, 2519, 1712, 1713, 2558, 2041, 2440, 2038, 176, 2521, + /* 1210 */ 782, 2523, 2524, 777, 2037, 800, 2486, 2632, 1934, 744, + /* 1220 */ 2036, 691, 2035, 2034, 2408, 651, 1788, 1789, 1841, 650, + /* 1230 */ 1843, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 774, + /* 1240 */ 798, 797, 1865, 1867, 1868, 1869, 1870, 2, 47, 45, + /* 1250 */ 2520, 2654, 2486, 2033, 576, 161, 439, 712, 1784, 2486, + /* 1260 */ 2693, 2486, 2032, 779, 2040, 723, 578, 2031, 2486, 2319, + /* 1270 */ 2030, 1871, 712, 1782, 2486, 2693, 2486, 2486, 2699, 204, + /* 1280 */ 276, 2202, 2520, 2694, 742, 831, 832, 2195, 2265, 2265, + /* 1290 */ 688, 2538, 687, 2699, 204, 779, 1842, 2686, 2694, 742, + /* 1300 */ 141, 1866, 358, 654, 2486, 2251, 778, 2486, 464, 463, + /* 1310 */ 262, 518, 87, 260, 1790, 655, 2486, 2507, 1798, 2100, + /* 1320 */ 154, 2486, 1934, 2538, 2486, 264, 266, 1472, 263, 265, + /* 1330 */ 54, 1871, 161, 1791, 268, 1796, 2486, 267, 778, 1470, + /* 1340 */ 891, 667, 2098, 15, 2089, 161, 2519, 719, 49, 2558, + /* 1350 */ 286, 2022, 2023, 115, 2521, 782, 2523, 2524, 777, 49, + /* 1360 */ 800, 1866, 2087, 188, 669, 2713, 671, 2612, 161, 14, + /* 1370 */ 13, 435, 2608, 2204, 1790, 2509, 697, 767, 2519, 1873, + /* 1380 */ 1874, 2558, 64, 49, 674, 115, 2521, 782, 2523, 2524, + /* 1390 */ 777, 49, 800, 1792, 101, 2200, 746, 2713, 2221, 2612, + /* 1400 */ 766, 324, 323, 435, 2608, 840, 2520, 1707, 282, 326, + /* 1410 */ 325, 2656, 328, 327, 330, 329, 299, 1844, 1854, 779, + /* 1420 */ 1710, 2631, 1965, 1975, 1872, 1875, 729, 712, 1941, 1449, + /* 1430 */ 2693, 312, 332, 331, 1974, 841, 334, 333, 291, 1785, + /* 1440 */ 76, 1783, 143, 758, 336, 335, 112, 2538, 2699, 204, + /* 1450 */ 338, 337, 2539, 2694, 742, 109, 159, 1908, 1855, 1447, + /* 1460 */ 2486, 161, 778, 340, 339, 293, 1660, 2154, 757, 342, + /* 1470 */ 341, 344, 343, 1788, 1789, 1841, 2153, 1843, 1846, 1847, + /* 1480 */ 1848, 1849, 1850, 1851, 1852, 1853, 774, 798, 797, 1865, + /* 1490 */ 1867, 1868, 1869, 1870, 2, 726, 73, 804, 159, 1799, + /* 1500 */ 2345, 1794, 2519, 161, 142, 2558, 316, 393, 392, 115, + /* 1510 */ 2521, 782, 2523, 2524, 777, 788, 800, 446, 159, 712, + /* 1520 */ 2071, 2713, 2693, 2612, 1430, 2081, 2646, 435, 2608, 2520, + /* 1530 */ 1871, 320, 455, 1802, 1804, 430, 1517, 426, 733, 785, + /* 1540 */ 2699, 204, 779, 1892, 468, 2694, 742, 798, 797, 1865, + /* 1550 */ 1867, 1868, 1869, 1870, 2077, 2346, 2262, 705, 2647, 2657, + /* 1560 */ 1866, 1795, 2520, 754, 301, 1431, 298, 2179, 305, 5, + /* 1570 */ 2538, 357, 1545, 1553, 471, 779, 406, 884, 1560, 1558, + /* 1580 */ 476, 484, 485, 2486, 1817, 778, 2520, 496, 495, 212, + /* 1590 */ 213, 498, 215, 164, 1684, 352, 1807, 512, 1808, 779, + /* 1600 */ 519, 226, 521, 2538, 525, 527, 2520, 567, 532, 544, + /* 1610 */ 557, 555, 2338, 563, 566, 568, 2486, 579, 778, 779, + /* 1620 */ 580, 577, 232, 231, 582, 2519, 583, 2538, 2558, 234, + /* 1630 */ 585, 587, 115, 2521, 782, 2523, 2524, 777, 428, 800, + /* 1640 */ 2486, 1815, 778, 602, 2587, 4, 2612, 2538, 603, 611, + /* 1650 */ 435, 2608, 242, 613, 610, 93, 1810, 615, 2519, 1816, + /* 1660 */ 2486, 2558, 778, 1818, 245, 381, 2521, 782, 2523, 2524, + /* 1670 */ 777, 616, 800, 248, 617, 619, 250, 1819, 2354, 94, + /* 1680 */ 625, 95, 2519, 255, 646, 2558, 648, 2207, 690, 115, + /* 1690 */ 2521, 782, 2523, 2524, 777, 259, 800, 677, 1775, 692, + /* 1700 */ 1751, 2585, 2519, 2612, 2520, 2558, 2203, 435, 2608, 115, + /* 1710 */ 2521, 782, 2523, 2524, 777, 261, 800, 779, 166, 694, + /* 1720 */ 118, 763, 167, 2612, 678, 2205, 2201, 435, 2608, 168, + /* 1730 */ 448, 447, 1776, 384, 169, 98, 2417, 894, 699, 278, + /* 1740 */ 2414, 353, 155, 2520, 2413, 2538, 798, 797, 1865, 1867, + /* 1750 */ 1868, 1869, 1870, 351, 1811, 2400, 779, 700, 2486, 281, + /* 1760 */ 778, 704, 701, 283, 707, 716, 730, 2662, 706, 194, + /* 1770 */ 288, 786, 2661, 8, 290, 2520, 2634, 739, 882, 878, + /* 1780 */ 874, 870, 714, 348, 2538, 717, 715, 431, 779, 297, + /* 1790 */ 2716, 2692, 750, 1934, 747, 147, 1812, 2486, 1939, 778, + /* 1800 */ 2519, 191, 2628, 2558, 1937, 295, 292, 116, 2521, 782, + /* 1810 */ 2523, 2524, 777, 307, 800, 156, 2538, 61, 179, 294, + /* 1820 */ 354, 2612, 784, 300, 114, 2611, 2608, 321, 296, 2486, + /* 1830 */ 1, 778, 2520, 355, 2593, 789, 207, 2368, 790, 2519, + /* 1840 */ 2367, 356, 2558, 158, 2366, 779, 116, 2521, 782, 2523, + /* 1850 */ 2524, 777, 441, 800, 106, 2478, 2477, 2520, 2218, 792, + /* 1860 */ 2612, 2473, 108, 2472, 765, 2608, 2464, 2463, 359, 2455, + /* 1870 */ 779, 780, 2454, 2538, 2558, 1352, 802, 885, 116, 2521, + /* 1880 */ 782, 2523, 2524, 777, 2470, 800, 2486, 2469, 778, 347, + /* 1890 */ 888, 383, 2612, 2461, 2460, 165, 399, 2608, 2538, 890, + /* 1900 */ 361, 2449, 404, 309, 2448, 2467, 371, 52, 2466, 2458, + /* 1910 */ 308, 2486, 2457, 778, 363, 2446, 2445, 2443, 2442, 2266, + /* 1920 */ 2438, 2437, 2436, 82, 2431, 382, 372, 473, 2519, 279, + /* 1930 */ 474, 2558, 405, 1735, 1736, 177, 2521, 782, 2523, 2524, + /* 1940 */ 777, 2520, 800, 210, 478, 2429, 480, 481, 482, 1734, + /* 1950 */ 2428, 407, 2426, 2519, 779, 487, 2558, 2520, 2425, 2424, + /* 1960 */ 116, 2521, 782, 2523, 2524, 777, 489, 800, 491, 2423, + /* 1970 */ 779, 493, 1723, 2404, 2612, 214, 2403, 216, 1687, 2609, + /* 1980 */ 83, 1686, 2538, 2381, 2380, 2379, 505, 506, 2378, 743, + /* 1990 */ 2714, 2377, 2328, 510, 2325, 2486, 1630, 778, 2538, 513, + /* 2000 */ 2324, 2318, 516, 2315, 517, 219, 2314, 2313, 2312, 86, + /* 2010 */ 2317, 2486, 2316, 778, 2311, 221, 2520, 429, 2310, 2308, + /* 2020 */ 2307, 2306, 223, 533, 2305, 535, 2303, 2302, 2301, 779, + /* 2030 */ 2300, 2323, 2299, 2298, 2297, 2321, 2304, 2519, 2296, 2295, + /* 2040 */ 2558, 2294, 2292, 2291, 381, 2521, 782, 2523, 2524, 777, + /* 2050 */ 2290, 800, 2289, 2519, 2288, 2287, 2558, 2538, 225, 2286, + /* 2060 */ 374, 2521, 782, 2523, 2524, 777, 2285, 800, 92, 2284, + /* 2070 */ 2486, 2283, 778, 2282, 2322, 2320, 2281, 2280, 1636, 2279, + /* 2080 */ 230, 2278, 570, 2277, 572, 2276, 2520, 2275, 2119, 1488, + /* 2090 */ 395, 2118, 1492, 2117, 396, 1484, 2115, 2112, 588, 776, + /* 2100 */ 589, 2111, 233, 2520, 590, 592, 738, 594, 593, 2104, + /* 2110 */ 235, 236, 2519, 2091, 597, 2558, 779, 596, 2066, 177, + /* 2120 */ 2521, 782, 2523, 2524, 777, 1376, 800, 2538, 598, 600, + /* 2130 */ 2065, 186, 79, 2506, 238, 2402, 2398, 2388, 240, 2376, + /* 2140 */ 2486, 857, 778, 196, 2538, 80, 247, 2375, 608, 249, + /* 2150 */ 2352, 252, 2196, 2114, 1423, 2110, 626, 2486, 627, 778, + /* 2160 */ 2108, 630, 628, 631, 632, 2106, 634, 635, 636, 2103, + /* 2170 */ 638, 2086, 2084, 640, 2715, 2085, 639, 2083, 2062, 438, + /* 2180 */ 1565, 1564, 2519, 2198, 2520, 2558, 2197, 72, 1474, 380, + /* 2190 */ 2521, 782, 2523, 2524, 777, 1473, 800, 779, 2578, 2519, + /* 2200 */ 1471, 1469, 2558, 2520, 1468, 1467, 381, 2521, 782, 2523, + /* 2210 */ 2524, 777, 859, 800, 1460, 2101, 779, 419, 258, 1466, + /* 2220 */ 2099, 1465, 2520, 420, 1462, 2538, 1461, 1459, 2090, 421, + /* 2230 */ 2088, 422, 2061, 675, 672, 779, 2060, 2059, 2486, 679, + /* 2240 */ 778, 2520, 2058, 681, 2538, 2057, 683, 119, 1717, 1719, + /* 2250 */ 1716, 2401, 1721, 28, 779, 67, 2397, 2486, 1697, 778, + /* 2260 */ 440, 56, 1693, 2538, 2387, 280, 1695, 2374, 702, 2373, + /* 2270 */ 17, 2698, 20, 30, 21, 718, 2486, 287, 778, 6, + /* 2280 */ 2519, 1992, 2538, 2558, 1966, 427, 284, 381, 2521, 782, + /* 2290 */ 2523, 2524, 777, 57, 800, 2486, 722, 778, 703, 689, + /* 2300 */ 1672, 720, 2558, 7, 708, 289, 376, 2521, 782, 2523, + /* 2310 */ 2524, 777, 171, 800, 22, 1671, 1973, 710, 2519, 190, + /* 2320 */ 2520, 2558, 724, 201, 178, 366, 2521, 782, 2523, 2524, + /* 2330 */ 777, 1960, 800, 779, 2507, 32, 65, 2519, 189, 24, + /* 2340 */ 2558, 31, 81, 303, 365, 2521, 782, 2523, 2524, 777, + /* 2350 */ 2007, 800, 2006, 2520, 432, 2012, 2011, 2013, 2010, 433, + /* 2360 */ 1931, 2538, 1930, 59, 2372, 181, 779, 2351, 102, 103, + /* 2370 */ 25, 1883, 13, 1800, 2486, 1882, 778, 1834, 811, 1893, + /* 2380 */ 1858, 1857, 814, 817, 820, 38, 787, 1856, 182, 16, + /* 2390 */ 26, 192, 1826, 2350, 2538, 27, 781, 311, 1968, 193, + /* 2400 */ 11, 104, 317, 23, 69, 105, 319, 2486, 18, 778, + /* 2410 */ 322, 58, 109, 1860, 2563, 2562, 2519, 799, 68, 2558, + /* 2420 */ 801, 2520, 1546, 367, 2521, 782, 2523, 2524, 777, 803, + /* 2430 */ 800, 457, 805, 807, 779, 810, 813, 1543, 808, 816, + /* 2440 */ 1542, 819, 1539, 1533, 1531, 110, 1537, 346, 1536, 2519, + /* 2450 */ 111, 1535, 2558, 1559, 1534, 78, 373, 2521, 782, 2523, + /* 2460 */ 2524, 777, 2538, 800, 1555, 1456, 1453, 1421, 834, 1452, + /* 2470 */ 1451, 1450, 1448, 1446, 1445, 2486, 1444, 778, 2520, 1482, + /* 2480 */ 845, 1481, 847, 208, 1442, 1441, 1440, 1439, 1438, 1437, + /* 2490 */ 1436, 779, 1476, 1478, 1433, 1432, 1429, 1428, 2520, 1427, + /* 2500 */ 1426, 2109, 2107, 867, 869, 868, 871, 872, 2105, 873, + /* 2510 */ 875, 779, 876, 877, 2102, 879, 881, 2519, 2082, 2538, + /* 2520 */ 2558, 880, 883, 1365, 377, 2521, 782, 2523, 2524, 777, + /* 2530 */ 2056, 800, 2486, 1353, 778, 350, 887, 2520, 889, 2538, + /* 2540 */ 2026, 1786, 360, 892, 893, 2026, 2026, 2026, 2026, 2026, + /* 2550 */ 779, 2026, 2486, 2026, 778, 2520, 2026, 2026, 2026, 2026, + /* 2560 */ 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 779, 2026, + /* 2570 */ 2026, 2026, 2026, 2026, 2519, 2026, 2026, 2558, 2538, 2026, + /* 2580 */ 2026, 368, 2521, 782, 2523, 2524, 777, 2026, 800, 2026, + /* 2590 */ 2026, 2486, 2026, 778, 2519, 2026, 2538, 2558, 2026, 2026, + /* 2600 */ 2026, 378, 2521, 782, 2523, 2524, 777, 2026, 800, 2486, + /* 2610 */ 2026, 778, 2520, 2026, 2026, 2026, 2026, 2026, 2026, 2026, + /* 2620 */ 2026, 2026, 2026, 2026, 2026, 779, 2026, 2026, 2026, 2026, + /* 2630 */ 2026, 2026, 2026, 2519, 2026, 2026, 2558, 2026, 2026, 2026, + /* 2640 */ 369, 2521, 782, 2523, 2524, 777, 2026, 800, 2026, 2026, + /* 2650 */ 2026, 2519, 2026, 2538, 2558, 2026, 2026, 2026, 379, 2521, + /* 2660 */ 782, 2523, 2524, 777, 2026, 800, 2486, 2026, 778, 2520, + /* 2670 */ 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, + /* 2680 */ 2026, 2026, 779, 2026, 2026, 2520, 2026, 2026, 2026, 2026, + /* 2690 */ 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 779, 2026, + /* 2700 */ 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2519, 2026, + /* 2710 */ 2538, 2558, 2026, 2026, 2026, 370, 2521, 782, 2523, 2524, + /* 2720 */ 777, 2026, 800, 2486, 2026, 778, 2538, 2026, 2026, 2026, + /* 2730 */ 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2486, + /* 2740 */ 2026, 778, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, + /* 2750 */ 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, + /* 2760 */ 2026, 2026, 2026, 2026, 2026, 2519, 2026, 2520, 2558, 2026, + /* 2770 */ 2026, 2026, 385, 2521, 782, 2523, 2524, 777, 2026, 800, + /* 2780 */ 779, 2519, 2026, 2520, 2558, 2026, 2026, 2026, 386, 2521, + /* 2790 */ 782, 2523, 2524, 777, 2026, 800, 779, 2026, 2026, 2026, + /* 2800 */ 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2538, 2026, + /* 2810 */ 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, + /* 2820 */ 2026, 2486, 2026, 778, 2538, 2026, 2026, 2026, 2026, 2026, + /* 2830 */ 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2486, 2026, 778, + /* 2840 */ 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, + /* 2850 */ 2026, 2026, 2026, 2026, 2026, 2026, 2520, 2026, 2026, 2026, + /* 2860 */ 2026, 2026, 2026, 2519, 2026, 2026, 2558, 2026, 2026, 779, + /* 2870 */ 2532, 2521, 782, 2523, 2524, 777, 2026, 800, 2026, 2519, + /* 2880 */ 2026, 2026, 2558, 2520, 2026, 2026, 2531, 2521, 782, 2523, + /* 2890 */ 2524, 777, 2026, 800, 2026, 2026, 779, 2538, 2026, 2026, + /* 2900 */ 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, + /* 2910 */ 2486, 2026, 778, 2520, 2026, 2026, 2026, 2026, 2026, 2026, + /* 2920 */ 2026, 2026, 2026, 2026, 2538, 2026, 779, 2026, 2026, 2026, + /* 2930 */ 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2486, 2026, 778, + /* 2940 */ 2520, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, + /* 2950 */ 2026, 2026, 2519, 779, 2538, 2558, 2026, 2026, 2026, 2530, + /* 2960 */ 2521, 782, 2523, 2524, 777, 2026, 800, 2486, 2026, 778, + /* 2970 */ 2520, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2519, + /* 2980 */ 2026, 2538, 2558, 779, 2026, 2026, 401, 2521, 782, 2523, + /* 2990 */ 2524, 777, 2026, 800, 2486, 2026, 778, 2026, 2026, 2026, + /* 3000 */ 2520, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2519, + /* 3010 */ 2026, 2538, 2558, 779, 2026, 2026, 402, 2521, 782, 2523, + /* 3020 */ 2524, 777, 2026, 800, 2486, 2026, 778, 2520, 2026, 2026, + /* 3030 */ 2026, 2026, 2026, 2026, 2026, 2026, 2519, 2026, 2026, 2558, + /* 3040 */ 779, 2538, 2026, 398, 2521, 782, 2523, 2524, 777, 2026, + /* 3050 */ 800, 2026, 2026, 2026, 2486, 2026, 778, 2026, 2026, 2026, + /* 3060 */ 2026, 2026, 2026, 2026, 2026, 2026, 2519, 2026, 2538, 2558, + /* 3070 */ 2026, 2026, 2026, 403, 2521, 782, 2523, 2524, 777, 2026, + /* 3080 */ 800, 2486, 2026, 778, 2026, 2026, 2026, 2026, 2026, 2026, + /* 3090 */ 2026, 2026, 2026, 2026, 2026, 2026, 780, 2026, 2026, 2558, + /* 3100 */ 2026, 2026, 2026, 376, 2521, 782, 2523, 2524, 777, 2026, + /* 3110 */ 800, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, + /* 3120 */ 2026, 2026, 2026, 2519, 2026, 2026, 2558, 2026, 2026, 2026, + /* 3130 */ 375, 2521, 782, 2523, 2524, 777, 2026, 800, }; static const YYCODETYPE yy_lookahead[] = { - /* 0 */ 369, 390, 0, 400, 485, 386, 403, 488, 458, 398, - /* 10 */ 474, 475, 12, 13, 14, 364, 405, 406, 367, 368, - /* 20 */ 20, 412, 22, 458, 413, 506, 507, 20, 434, 410, - /* 30 */ 511, 512, 412, 439, 484, 35, 0, 37, 20, 430, - /* 40 */ 431, 485, 21, 357, 488, 414, 415, 427, 417, 484, - /* 50 */ 430, 431, 421, 369, 370, 398, 370, 36, 455, 38, - /* 60 */ 39, 40, 405, 507, 369, 65, 398, 511, 512, 466, - /* 70 */ 413, 71, 70, 405, 455, 456, 457, 51, 78, 485, - /* 80 */ 370, 413, 488, 20, 398, 466, 60, 8, 9, 63, - /* 90 */ 64, 12, 13, 14, 15, 16, 410, 4, 412, 364, - /* 100 */ 506, 507, 367, 368, 104, 511, 512, 107, 398, 73, - /* 110 */ 74, 75, 76, 77, 107, 79, 80, 81, 82, 83, + /* 0 */ 365, 441, 400, 435, 369, 403, 371, 399, 440, 0, + /* 10 */ 390, 399, 12, 13, 14, 369, 0, 2, 398, 407, + /* 20 */ 20, 20, 22, 8, 9, 405, 406, 12, 13, 14, + /* 30 */ 15, 16, 413, 2, 414, 35, 0, 37, 33, 8, + /* 40 */ 9, 413, 357, 12, 13, 14, 15, 16, 475, 476, + /* 50 */ 431, 432, 369, 370, 486, 370, 428, 489, 456, 431, + /* 60 */ 432, 415, 416, 486, 418, 65, 489, 51, 422, 467, + /* 70 */ 398, 71, 12, 13, 459, 507, 508, 405, 78, 486, + /* 80 */ 512, 513, 489, 398, 507, 508, 414, 8, 9, 512, + /* 90 */ 513, 12, 13, 14, 15, 16, 411, 37, 413, 364, + /* 100 */ 485, 508, 367, 368, 104, 512, 513, 107, 107, 73, + /* 110 */ 74, 75, 76, 77, 87, 79, 80, 81, 82, 83, /* 120 */ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - /* 130 */ 94, 95, 96, 97, 98, 99, 100, 20, 452, 444, - /* 140 */ 445, 455, 37, 143, 144, 459, 460, 461, 462, 463, - /* 150 */ 464, 20, 466, 485, 20, 357, 488, 471, 369, 473, - /* 160 */ 42, 143, 144, 477, 478, 481, 482, 483, 23, 485, - /* 170 */ 486, 461, 488, 107, 506, 507, 369, 370, 492, 511, - /* 180 */ 512, 181, 182, 78, 369, 370, 500, 357, 188, 189, - /* 190 */ 506, 507, 47, 48, 20, 511, 512, 0, 408, 20, - /* 200 */ 107, 411, 412, 203, 389, 205, 188, 189, 410, 357, - /* 210 */ 369, 370, 8, 9, 425, 426, 12, 13, 14, 15, + /* 130 */ 94, 95, 96, 97, 98, 99, 100, 400, 453, 20, + /* 140 */ 357, 456, 51, 143, 144, 460, 461, 462, 463, 464, + /* 150 */ 465, 60, 467, 20, 63, 64, 365, 472, 486, 474, + /* 160 */ 369, 489, 371, 478, 479, 482, 483, 484, 20, 486, + /* 170 */ 487, 162, 489, 369, 370, 166, 149, 20, 493, 507, + /* 180 */ 508, 181, 182, 174, 512, 513, 501, 108, 188, 189, + /* 190 */ 507, 508, 21, 456, 411, 512, 513, 0, 187, 39, + /* 200 */ 40, 174, 175, 203, 467, 205, 20, 36, 14, 38, + /* 210 */ 39, 40, 8, 9, 20, 107, 12, 13, 14, 15, /* 220 */ 16, 24, 25, 26, 27, 28, 29, 30, 31, 32, /* 230 */ 136, 137, 138, 139, 140, 141, 142, 237, 238, 239, - /* 240 */ 410, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 240 */ 107, 241, 242, 243, 244, 245, 246, 247, 248, 249, /* 250 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 12, - /* 260 */ 13, 376, 410, 20, 18, 394, 20, 20, 202, 22, - /* 270 */ 204, 369, 370, 27, 195, 71, 30, 143, 144, 136, - /* 280 */ 180, 35, 35, 140, 37, 0, 401, 480, 481, 482, - /* 290 */ 483, 389, 485, 486, 369, 370, 2, 51, 396, 53, - /* 300 */ 234, 22, 8, 9, 58, 59, 12, 13, 14, 15, - /* 310 */ 16, 356, 65, 358, 389, 69, 37, 104, 71, 115, - /* 320 */ 449, 396, 481, 482, 483, 78, 485, 486, 12, 13, - /* 330 */ 13, 118, 119, 120, 121, 122, 123, 124, 125, 126, - /* 340 */ 127, 275, 129, 130, 131, 132, 133, 134, 135, 20, - /* 350 */ 107, 104, 106, 37, 107, 181, 182, 78, 73, 74, - /* 360 */ 75, 485, 262, 117, 488, 80, 81, 82, 275, 365, - /* 370 */ 239, 86, 272, 369, 14, 371, 91, 92, 93, 94, - /* 380 */ 20, 302, 97, 507, 180, 100, 0, 511, 512, 4, - /* 390 */ 143, 144, 274, 147, 148, 78, 150, 151, 152, 153, - /* 400 */ 154, 155, 156, 157, 158, 159, 369, 370, 23, 163, + /* 260 */ 13, 398, 143, 144, 18, 205, 20, 20, 405, 22, + /* 270 */ 357, 111, 112, 27, 114, 71, 30, 414, 20, 4, + /* 280 */ 180, 35, 35, 370, 37, 481, 482, 483, 484, 386, + /* 290 */ 486, 487, 281, 282, 283, 284, 136, 51, 23, 53, + /* 300 */ 140, 400, 379, 376, 58, 59, 301, 188, 189, 65, + /* 310 */ 387, 398, 65, 385, 411, 69, 388, 104, 71, 115, + /* 320 */ 393, 46, 47, 48, 411, 78, 413, 176, 401, 369, + /* 330 */ 370, 118, 119, 120, 121, 122, 123, 124, 125, 126, + /* 340 */ 127, 0, 129, 130, 131, 132, 133, 134, 135, 389, + /* 350 */ 106, 104, 106, 109, 107, 369, 396, 456, 207, 456, + /* 360 */ 457, 458, 262, 117, 70, 107, 453, 20, 467, 456, + /* 370 */ 467, 22, 272, 460, 461, 462, 463, 464, 465, 466, + /* 380 */ 467, 468, 469, 275, 180, 0, 37, 239, 20, 14, + /* 390 */ 143, 144, 20, 147, 148, 20, 150, 151, 152, 153, + /* 400 */ 154, 155, 156, 157, 158, 159, 369, 370, 275, 163, /* 410 */ 164, 165, 166, 167, 168, 169, 0, 171, 172, 173, - /* 420 */ 411, 412, 69, 177, 178, 179, 389, 357, 181, 182, - /* 430 */ 184, 46, 47, 48, 33, 188, 189, 21, 39, 40, - /* 440 */ 24, 25, 26, 27, 28, 29, 30, 31, 32, 0, - /* 450 */ 203, 21, 205, 397, 24, 25, 26, 27, 28, 29, - /* 460 */ 30, 31, 32, 20, 22, 409, 262, 263, 264, 265, - /* 470 */ 266, 267, 268, 269, 270, 271, 272, 365, 357, 37, - /* 480 */ 410, 369, 33, 371, 237, 238, 239, 187, 241, 242, + /* 420 */ 176, 370, 13, 177, 178, 179, 389, 78, 181, 182, + /* 430 */ 184, 445, 446, 396, 20, 188, 189, 21, 20, 386, + /* 440 */ 24, 25, 26, 27, 28, 29, 30, 31, 32, 398, + /* 450 */ 203, 21, 205, 104, 24, 25, 26, 27, 28, 29, + /* 460 */ 30, 31, 32, 356, 411, 358, 262, 263, 264, 265, + /* 470 */ 266, 267, 268, 269, 270, 271, 272, 136, 137, 138, + /* 480 */ 139, 140, 141, 142, 237, 238, 239, 78, 241, 242, /* 490 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - /* 500 */ 253, 254, 255, 256, 257, 258, 259, 12, 13, 108, - /* 510 */ 111, 112, 183, 114, 18, 20, 259, 22, 275, 23, - /* 520 */ 78, 205, 136, 137, 138, 139, 140, 141, 142, 0, - /* 530 */ 35, 410, 37, 87, 20, 136, 40, 41, 33, 140, - /* 540 */ 44, 3, 137, 138, 369, 370, 104, 142, 8, 9, - /* 550 */ 54, 198, 12, 13, 14, 15, 16, 259, 20, 261, - /* 560 */ 65, 20, 66, 67, 68, 69, 71, 73, 74, 75, - /* 570 */ 219, 400, 221, 78, 80, 81, 82, 237, 225, 226, - /* 580 */ 86, 281, 282, 283, 284, 91, 92, 93, 94, 369, - /* 590 */ 370, 97, 14, 418, 100, 149, 374, 375, 20, 104, - /* 600 */ 8, 9, 107, 107, 12, 13, 14, 15, 16, 357, - /* 610 */ 8, 9, 20, 108, 12, 13, 14, 15, 16, 386, - /* 620 */ 174, 175, 370, 20, 181, 22, 455, 287, 288, 289, - /* 630 */ 290, 291, 292, 293, 0, 117, 37, 466, 143, 144, - /* 640 */ 37, 145, 2, 410, 20, 203, 108, 205, 8, 9, - /* 650 */ 398, 398, 12, 13, 14, 15, 16, 14, 55, 20, - /* 660 */ 33, 22, 410, 20, 412, 136, 137, 138, 139, 140, - /* 670 */ 141, 142, 107, 420, 70, 422, 181, 182, 65, 237, - /* 680 */ 238, 70, 239, 188, 189, 14, 15, 16, 455, 456, - /* 690 */ 107, 195, 196, 197, 55, 470, 200, 472, 203, 466, - /* 700 */ 205, 481, 482, 483, 452, 485, 486, 455, 400, 213, - /* 710 */ 214, 459, 460, 461, 462, 463, 464, 0, 466, 106, - /* 720 */ 224, 183, 109, 227, 369, 370, 230, 231, 232, 233, - /* 730 */ 234, 107, 237, 238, 239, 108, 241, 242, 243, 244, + /* 500 */ 253, 254, 255, 256, 257, 258, 259, 12, 13, 456, + /* 510 */ 457, 143, 144, 462, 18, 20, 357, 22, 37, 23, + /* 520 */ 467, 136, 137, 138, 139, 140, 141, 142, 181, 182, + /* 530 */ 35, 364, 37, 275, 367, 368, 40, 41, 137, 138, + /* 540 */ 44, 8, 9, 142, 357, 12, 13, 14, 15, 16, + /* 550 */ 54, 3, 203, 398, 205, 14, 181, 370, 69, 78, + /* 560 */ 65, 20, 66, 67, 68, 69, 71, 107, 20, 414, + /* 570 */ 411, 397, 237, 78, 8, 9, 412, 413, 12, 13, + /* 580 */ 14, 15, 16, 4, 410, 398, 237, 238, 8, 9, + /* 590 */ 104, 20, 12, 13, 14, 15, 16, 183, 411, 104, + /* 600 */ 413, 183, 107, 107, 118, 119, 120, 121, 122, 123, + /* 610 */ 124, 125, 126, 127, 239, 129, 130, 131, 132, 133, + /* 620 */ 134, 135, 287, 288, 289, 290, 291, 292, 293, 8, + /* 630 */ 9, 354, 369, 12, 13, 14, 15, 16, 143, 144, + /* 640 */ 453, 145, 35, 456, 107, 369, 370, 460, 461, 462, + /* 650 */ 463, 464, 465, 239, 467, 390, 108, 470, 51, 472, + /* 660 */ 473, 474, 202, 398, 204, 478, 479, 60, 61, 62, + /* 670 */ 63, 406, 65, 33, 8, 9, 181, 182, 12, 13, + /* 680 */ 14, 15, 16, 188, 189, 45, 107, 198, 108, 426, + /* 690 */ 427, 195, 196, 197, 234, 419, 200, 70, 203, 33, + /* 700 */ 205, 12, 13, 14, 15, 16, 56, 57, 37, 213, + /* 710 */ 214, 357, 435, 106, 225, 226, 109, 440, 374, 375, + /* 720 */ 224, 409, 181, 227, 412, 413, 230, 231, 232, 233, + /* 730 */ 234, 183, 237, 238, 239, 275, 241, 242, 243, 244, /* 740 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - /* 750 */ 255, 256, 257, 258, 12, 13, 14, 357, 49, 181, - /* 760 */ 434, 379, 20, 455, 22, 513, 514, 117, 138, 387, - /* 770 */ 370, 275, 142, 418, 466, 183, 37, 35, 78, 37, - /* 780 */ 239, 369, 370, 369, 370, 183, 357, 369, 370, 176, - /* 790 */ 12, 13, 14, 15, 16, 470, 162, 472, 398, 370, - /* 800 */ 166, 389, 434, 389, 205, 369, 370, 65, 174, 4, - /* 810 */ 410, 485, 412, 390, 488, 398, 107, 239, 398, 20, - /* 820 */ 78, 398, 405, 398, 181, 389, 406, 398, 369, 406, - /* 830 */ 413, 239, 506, 507, 235, 236, 418, 511, 512, 410, - /* 840 */ 275, 412, 212, 20, 0, 215, 104, 422, 218, 107, - /* 850 */ 220, 385, 452, 485, 388, 455, 488, 357, 275, 459, - /* 860 */ 460, 461, 462, 463, 464, 357, 466, 369, 370, 469, - /* 870 */ 370, 471, 472, 473, 506, 507, 399, 477, 478, 511, - /* 880 */ 512, 452, 239, 0, 455, 143, 144, 389, 459, 460, - /* 890 */ 461, 462, 463, 464, 378, 466, 369, 370, 398, 275, - /* 900 */ 471, 390, 473, 444, 445, 22, 477, 478, 1, 398, - /* 910 */ 410, 395, 412, 0, 369, 370, 389, 406, 410, 50, - /* 920 */ 404, 369, 370, 181, 182, 176, 19, 458, 398, 500, - /* 930 */ 188, 189, 8, 9, 389, 405, 12, 13, 14, 15, - /* 940 */ 16, 389, 35, 413, 205, 203, 229, 205, 34, 1, - /* 950 */ 2, 137, 452, 484, 354, 455, 207, 33, 51, 459, - /* 960 */ 460, 461, 462, 463, 464, 52, 466, 60, 61, 62, - /* 970 */ 63, 471, 65, 473, 235, 236, 399, 477, 478, 237, - /* 980 */ 238, 239, 183, 241, 242, 243, 244, 245, 246, 247, + /* 750 */ 255, 256, 257, 258, 12, 13, 14, 357, 369, 370, + /* 760 */ 369, 195, 20, 486, 22, 411, 489, 369, 370, 486, + /* 770 */ 370, 275, 489, 37, 108, 383, 384, 35, 389, 37, + /* 780 */ 239, 374, 375, 176, 507, 508, 259, 389, 357, 512, + /* 790 */ 513, 508, 185, 186, 398, 512, 513, 117, 398, 192, + /* 800 */ 193, 370, 459, 372, 183, 369, 370, 65, 398, 369, + /* 810 */ 370, 411, 275, 413, 73, 74, 75, 421, 211, 423, + /* 820 */ 78, 80, 81, 82, 414, 389, 357, 86, 485, 398, + /* 830 */ 369, 370, 91, 92, 93, 94, 445, 446, 97, 138, + /* 840 */ 378, 100, 411, 142, 413, 0, 104, 369, 370, 107, + /* 850 */ 389, 20, 398, 453, 275, 117, 456, 395, 357, 419, + /* 860 */ 460, 461, 462, 463, 464, 465, 404, 467, 302, 369, + /* 870 */ 370, 370, 472, 4, 474, 357, 205, 423, 478, 479, + /* 880 */ 411, 259, 50, 261, 453, 143, 144, 456, 19, 389, + /* 890 */ 0, 460, 461, 462, 463, 464, 465, 419, 467, 398, + /* 900 */ 20, 501, 22, 472, 35, 474, 235, 236, 170, 478, + /* 910 */ 479, 22, 411, 212, 413, 70, 215, 37, 376, 218, + /* 920 */ 51, 220, 357, 181, 182, 3, 37, 58, 59, 411, + /* 930 */ 188, 189, 8, 9, 65, 55, 12, 13, 14, 15, + /* 940 */ 16, 205, 390, 401, 20, 203, 471, 205, 473, 78, + /* 950 */ 398, 369, 370, 398, 453, 20, 459, 456, 406, 435, + /* 960 */ 405, 460, 461, 462, 463, 464, 465, 78, 467, 414, + /* 970 */ 408, 235, 236, 411, 20, 106, 411, 117, 109, 237, + /* 980 */ 238, 239, 485, 241, 242, 243, 244, 245, 246, 247, /* 990 */ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - /* 1000 */ 258, 12, 13, 3, 160, 161, 183, 369, 370, 20, - /* 1010 */ 107, 22, 33, 106, 56, 57, 109, 369, 370, 116, - /* 1020 */ 369, 370, 357, 357, 35, 390, 37, 389, 376, 398, - /* 1030 */ 216, 217, 108, 398, 434, 370, 405, 389, 239, 439, - /* 1040 */ 389, 406, 357, 14, 413, 393, 369, 370, 141, 20, - /* 1050 */ 374, 375, 183, 401, 65, 370, 108, 372, 369, 370, - /* 1060 */ 191, 357, 239, 398, 8, 9, 389, 78, 12, 13, - /* 1070 */ 14, 15, 16, 383, 384, 410, 410, 412, 389, 383, - /* 1080 */ 384, 357, 277, 398, 378, 485, 357, 108, 488, 369, - /* 1090 */ 370, 20, 185, 104, 370, 410, 107, 412, 399, 192, - /* 1100 */ 357, 369, 370, 369, 370, 407, 506, 507, 410, 389, - /* 1110 */ 404, 511, 512, 370, 410, 372, 33, 452, 211, 357, - /* 1120 */ 455, 389, 398, 389, 459, 460, 461, 462, 463, 464, - /* 1130 */ 399, 466, 143, 144, 410, 22, 412, 452, 473, 410, - /* 1140 */ 455, 398, 398, 478, 459, 460, 461, 462, 463, 464, - /* 1150 */ 37, 466, 398, 410, 33, 412, 471, 413, 473, 357, - /* 1160 */ 369, 370, 477, 478, 108, 357, 357, 413, 33, 357, - /* 1170 */ 181, 182, 410, 360, 361, 0, 452, 188, 189, 455, - /* 1180 */ 389, 398, 37, 459, 460, 461, 462, 463, 464, 33, - /* 1190 */ 466, 108, 203, 22, 205, 452, 413, 22, 455, 357, - /* 1200 */ 357, 45, 459, 460, 461, 462, 463, 464, 37, 466, - /* 1210 */ 434, 71, 410, 357, 471, 357, 473, 104, 410, 410, - /* 1220 */ 477, 478, 410, 357, 273, 274, 237, 238, 239, 505, + /* 1000 */ 258, 12, 13, 502, 503, 357, 0, 369, 370, 20, + /* 1010 */ 486, 22, 398, 489, 183, 183, 383, 384, 370, 405, + /* 1020 */ 372, 369, 370, 191, 35, 0, 37, 389, 414, 369, + /* 1030 */ 370, 507, 508, 369, 370, 357, 512, 513, 369, 370, + /* 1040 */ 398, 389, 369, 370, 1, 2, 398, 405, 370, 389, + /* 1050 */ 372, 369, 370, 389, 65, 390, 414, 398, 389, 411, + /* 1060 */ 23, 413, 389, 398, 482, 483, 484, 78, 486, 487, + /* 1070 */ 239, 406, 14, 414, 369, 370, 398, 20, 20, 73, + /* 1080 */ 74, 75, 369, 370, 47, 48, 80, 81, 82, 411, + /* 1090 */ 42, 413, 86, 104, 389, 378, 107, 91, 92, 93, + /* 1100 */ 94, 453, 389, 97, 456, 357, 100, 183, 460, 461, + /* 1110 */ 462, 463, 464, 465, 34, 467, 369, 370, 370, 229, + /* 1120 */ 472, 404, 474, 137, 369, 370, 478, 479, 369, 370, + /* 1130 */ 33, 453, 143, 144, 456, 181, 389, 357, 460, 461, + /* 1140 */ 462, 463, 464, 465, 389, 467, 398, 20, 389, 22, + /* 1150 */ 472, 108, 474, 369, 370, 4, 478, 479, 471, 411, + /* 1160 */ 473, 413, 357, 239, 482, 483, 484, 37, 486, 487, + /* 1170 */ 181, 182, 22, 389, 239, 369, 370, 188, 189, 14, + /* 1180 */ 15, 16, 55, 387, 22, 160, 161, 37, 398, 360, + /* 1190 */ 361, 411, 203, 239, 205, 389, 406, 470, 357, 37, + /* 1200 */ 473, 453, 216, 217, 456, 357, 435, 357, 460, 461, + /* 1210 */ 462, 463, 464, 465, 357, 467, 411, 273, 274, 297, + /* 1220 */ 357, 435, 357, 357, 394, 136, 237, 238, 239, 140, /* 1230 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, /* 1240 */ 251, 252, 253, 254, 255, 256, 257, 258, 12, 13, - /* 1250 */ 357, 469, 410, 410, 472, 434, 20, 407, 22, 407, - /* 1260 */ 410, 485, 410, 370, 488, 372, 410, 391, 410, 0, - /* 1270 */ 394, 35, 33, 37, 13, 104, 410, 0, 117, 65, - /* 1280 */ 143, 144, 506, 507, 45, 0, 0, 511, 512, 357, - /* 1290 */ 110, 398, 387, 113, 399, 434, 110, 297, 37, 113, - /* 1300 */ 33, 65, 370, 410, 372, 412, 485, 22, 22, 488, - /* 1310 */ 239, 13, 110, 440, 78, 113, 12, 13, 110, 42, - /* 1320 */ 51, 113, 33, 109, 33, 399, 22, 506, 507, 33, - /* 1330 */ 398, 170, 511, 512, 399, 37, 33, 1, 2, 35, - /* 1340 */ 104, 37, 410, 107, 412, 452, 485, 357, 455, 488, - /* 1350 */ 205, 33, 459, 460, 461, 462, 463, 464, 37, 466, - /* 1360 */ 370, 358, 372, 33, 471, 33, 473, 506, 507, 65, - /* 1370 */ 477, 478, 511, 512, 515, 108, 423, 237, 37, 143, - /* 1380 */ 144, 504, 78, 33, 452, 33, 497, 455, 398, 373, - /* 1390 */ 398, 459, 460, 461, 462, 463, 464, 108, 466, 108, - /* 1400 */ 410, 386, 412, 471, 108, 473, 12, 13, 104, 477, - /* 1410 */ 478, 108, 12, 13, 386, 4, 423, 181, 182, 78, - /* 1420 */ 299, 12, 13, 368, 188, 189, 108, 8, 9, 423, - /* 1430 */ 19, 12, 13, 14, 15, 16, 301, 33, 108, 203, - /* 1440 */ 108, 205, 452, 12, 13, 455, 35, 12, 13, 459, - /* 1450 */ 460, 461, 462, 463, 464, 33, 466, 503, 108, 33, - /* 1460 */ 108, 471, 51, 473, 12, 13, 503, 477, 478, 58, - /* 1470 */ 59, 12, 13, 237, 238, 239, 65, 241, 242, 243, + /* 1250 */ 357, 503, 411, 357, 104, 33, 20, 486, 22, 411, + /* 1260 */ 489, 411, 357, 370, 358, 372, 104, 357, 411, 0, + /* 1270 */ 357, 35, 486, 37, 411, 489, 411, 411, 507, 508, + /* 1280 */ 450, 399, 357, 512, 513, 408, 408, 0, 411, 411, + /* 1290 */ 219, 398, 221, 507, 508, 370, 239, 372, 512, 513, + /* 1300 */ 33, 65, 391, 13, 411, 394, 413, 411, 12, 13, + /* 1310 */ 110, 42, 45, 113, 78, 13, 411, 49, 22, 0, + /* 1320 */ 33, 411, 274, 398, 411, 110, 110, 37, 113, 113, + /* 1330 */ 108, 35, 33, 37, 110, 205, 411, 113, 413, 37, + /* 1340 */ 104, 22, 0, 107, 0, 33, 453, 33, 33, 456, + /* 1350 */ 65, 143, 144, 460, 461, 462, 463, 464, 465, 33, + /* 1360 */ 467, 65, 0, 33, 22, 472, 22, 474, 33, 1, + /* 1370 */ 2, 478, 479, 399, 78, 107, 435, 71, 453, 143, + /* 1380 */ 144, 456, 33, 33, 22, 460, 461, 462, 463, 464, + /* 1390 */ 465, 33, 467, 37, 109, 399, 299, 472, 399, 474, + /* 1400 */ 104, 12, 13, 478, 479, 13, 357, 108, 399, 12, + /* 1410 */ 13, 424, 12, 13, 12, 13, 516, 181, 182, 370, + /* 1420 */ 108, 372, 108, 108, 188, 189, 505, 486, 277, 37, + /* 1430 */ 489, 33, 12, 13, 108, 13, 12, 13, 108, 203, + /* 1440 */ 33, 205, 373, 108, 12, 13, 107, 398, 507, 508, + /* 1450 */ 12, 13, 398, 512, 513, 116, 33, 108, 108, 37, + /* 1460 */ 411, 33, 413, 12, 13, 498, 108, 386, 435, 12, + /* 1470 */ 13, 12, 13, 237, 238, 239, 386, 241, 242, 243, /* 1480 */ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - /* 1490 */ 254, 255, 256, 257, 258, 357, 12, 13, 12, 13, - /* 1500 */ 13, 12, 13, 12, 13, 33, 33, 203, 370, 205, - /* 1510 */ 372, 33, 108, 13, 503, 433, 503, 106, 423, 373, - /* 1520 */ 109, 370, 441, 409, 37, 423, 205, 108, 423, 487, - /* 1530 */ 108, 508, 479, 490, 108, 388, 398, 37, 278, 435, - /* 1540 */ 454, 237, 238, 51, 42, 453, 20, 446, 410, 218, - /* 1550 */ 412, 451, 378, 357, 446, 251, 252, 253, 254, 255, - /* 1560 */ 256, 257, 378, 201, 437, 20, 370, 369, 20, 370, - /* 1570 */ 45, 419, 419, 370, 416, 180, 369, 382, 419, 370, - /* 1580 */ 108, 108, 369, 416, 416, 416, 108, 105, 103, 369, - /* 1590 */ 452, 381, 357, 455, 398, 102, 380, 459, 460, 461, - /* 1600 */ 462, 463, 464, 369, 466, 370, 410, 369, 412, 471, - /* 1610 */ 369, 473, 12, 13, 20, 477, 478, 362, 50, 366, - /* 1620 */ 362, 378, 22, 357, 446, 366, 378, 20, 378, 412, - /* 1630 */ 20, 20, 378, 398, 371, 35, 370, 37, 20, 371, - /* 1640 */ 436, 426, 378, 378, 369, 410, 362, 412, 452, 378, - /* 1650 */ 378, 455, 410, 360, 398, 459, 460, 461, 462, 463, - /* 1660 */ 464, 369, 466, 362, 398, 65, 360, 471, 398, 473, - /* 1670 */ 222, 398, 398, 477, 478, 450, 410, 398, 412, 398, - /* 1680 */ 398, 398, 107, 446, 376, 398, 398, 452, 398, 20, - /* 1690 */ 455, 445, 448, 442, 459, 460, 461, 462, 463, 464, - /* 1700 */ 443, 466, 376, 209, 410, 410, 471, 208, 473, 412, - /* 1710 */ 410, 357, 477, 478, 369, 435, 286, 496, 452, 285, - /* 1720 */ 496, 455, 294, 194, 370, 459, 460, 461, 462, 463, - /* 1730 */ 464, 499, 466, 35, 296, 428, 295, 428, 498, 473, - /* 1740 */ 279, 496, 495, 477, 478, 435, 494, 303, 274, 51, - /* 1750 */ 300, 298, 398, 370, 20, 493, 117, 458, 60, 61, - /* 1760 */ 62, 63, 371, 65, 410, 516, 412, 107, 376, 376, - /* 1770 */ 428, 276, 428, 410, 410, 410, 410, 410, 186, 424, - /* 1780 */ 394, 376, 376, 370, 410, 410, 510, 509, 476, 410, - /* 1790 */ 410, 410, 410, 491, 489, 410, 107, 410, 410, 410, - /* 1800 */ 410, 402, 369, 203, 106, 205, 452, 109, 357, 455, - /* 1810 */ 22, 410, 410, 459, 460, 461, 462, 463, 464, 376, - /* 1820 */ 466, 370, 410, 359, 410, 410, 410, 473, 410, 38, - /* 1830 */ 410, 477, 478, 410, 410, 235, 236, 237, 363, 410, - /* 1840 */ 377, 362, 410, 447, 0, 357, 438, 392, 392, 398, - /* 1850 */ 429, 251, 252, 253, 254, 255, 256, 257, 370, 392, - /* 1860 */ 355, 410, 0, 412, 0, 429, 357, 45, 0, 37, - /* 1870 */ 228, 37, 37, 228, 176, 37, 0, 37, 37, 370, - /* 1880 */ 228, 0, 37, 185, 186, 228, 398, 0, 37, 0, - /* 1890 */ 192, 193, 37, 0, 22, 0, 37, 223, 410, 0, - /* 1900 */ 412, 211, 0, 452, 211, 205, 455, 398, 212, 211, - /* 1910 */ 459, 460, 461, 462, 463, 464, 203, 466, 0, 410, - /* 1920 */ 0, 412, 199, 198, 473, 0, 0, 0, 477, 478, - /* 1930 */ 148, 49, 49, 0, 37, 0, 0, 37, 0, 51, - /* 1940 */ 452, 49, 0, 455, 0, 0, 45, 459, 460, 461, - /* 1950 */ 462, 463, 464, 465, 466, 467, 468, 0, 49, 0, - /* 1960 */ 0, 452, 0, 357, 455, 0, 0, 0, 459, 460, - /* 1970 */ 461, 462, 463, 464, 166, 466, 370, 37, 0, 166, - /* 1980 */ 357, 49, 0, 0, 45, 0, 0, 0, 0, 0, - /* 1990 */ 0, 0, 22, 370, 0, 357, 0, 0, 0, 0, - /* 2000 */ 0, 0, 0, 0, 398, 0, 0, 0, 370, 0, - /* 2010 */ 501, 502, 0, 0, 0, 0, 410, 0, 412, 148, - /* 2020 */ 0, 398, 0, 0, 147, 0, 146, 0, 0, 50, - /* 2030 */ 22, 0, 22, 410, 50, 412, 398, 65, 0, 65, - /* 2040 */ 0, 37, 65, 0, 0, 0, 51, 0, 410, 0, - /* 2050 */ 412, 0, 0, 37, 33, 432, 0, 0, 452, 0, - /* 2060 */ 42, 455, 51, 37, 357, 459, 460, 461, 462, 463, - /* 2070 */ 464, 42, 466, 37, 42, 452, 37, 370, 455, 357, - /* 2080 */ 45, 51, 459, 460, 461, 462, 463, 464, 42, 466, - /* 2090 */ 452, 49, 370, 455, 14, 0, 43, 459, 460, 461, - /* 2100 */ 462, 463, 464, 49, 466, 398, 42, 194, 502, 42, - /* 2110 */ 49, 0, 49, 0, 0, 0, 0, 410, 37, 412, - /* 2120 */ 398, 51, 72, 0, 42, 37, 51, 42, 0, 37, - /* 2130 */ 51, 42, 410, 0, 412, 37, 42, 51, 0, 432, - /* 2140 */ 0, 0, 0, 0, 0, 37, 22, 113, 115, 0, - /* 2150 */ 53, 22, 514, 0, 37, 37, 37, 37, 37, 452, - /* 2160 */ 0, 0, 455, 357, 37, 33, 459, 460, 461, 462, - /* 2170 */ 463, 464, 33, 466, 452, 107, 370, 455, 357, 20, - /* 2180 */ 108, 459, 460, 461, 462, 463, 464, 37, 466, 37, - /* 2190 */ 468, 370, 37, 357, 37, 37, 22, 22, 0, 22, - /* 2200 */ 22, 0, 37, 0, 398, 0, 370, 37, 0, 357, - /* 2210 */ 37, 0, 22, 0, 107, 49, 410, 37, 412, 398, - /* 2220 */ 37, 37, 370, 0, 183, 37, 22, 0, 22, 0, - /* 2230 */ 206, 410, 0, 412, 398, 33, 3, 107, 432, 108, - /* 2240 */ 103, 183, 108, 183, 280, 183, 410, 210, 412, 37, - /* 2250 */ 398, 37, 186, 432, 183, 107, 105, 50, 452, 190, - /* 2260 */ 280, 455, 410, 190, 412, 459, 460, 461, 462, 463, - /* 2270 */ 464, 50, 466, 452, 107, 33, 455, 108, 33, 357, - /* 2280 */ 459, 460, 461, 462, 463, 464, 33, 466, 452, 108, - /* 2290 */ 108, 455, 370, 107, 107, 459, 460, 461, 462, 463, - /* 2300 */ 464, 107, 466, 49, 452, 49, 357, 455, 33, 3, - /* 2310 */ 33, 459, 460, 461, 462, 463, 464, 108, 466, 370, - /* 2320 */ 398, 37, 107, 37, 108, 37, 37, 37, 280, 37, - /* 2330 */ 108, 49, 410, 108, 412, 33, 49, 0, 357, 0, - /* 2340 */ 42, 107, 33, 105, 260, 105, 2, 398, 22, 273, - /* 2350 */ 107, 370, 108, 49, 108, 107, 107, 49, 108, 410, - /* 2360 */ 22, 412, 237, 108, 107, 107, 240, 108, 107, 107, - /* 2370 */ 0, 42, 187, 107, 452, 107, 357, 455, 185, 398, - /* 2380 */ 116, 459, 460, 461, 462, 463, 464, 108, 466, 370, - /* 2390 */ 49, 410, 107, 412, 37, 117, 37, 37, 107, 37, - /* 2400 */ 107, 452, 108, 108, 455, 108, 107, 107, 459, 460, - /* 2410 */ 461, 462, 463, 464, 107, 466, 37, 398, 108, 107, - /* 2420 */ 37, 108, 357, 107, 37, 108, 107, 107, 33, 410, - /* 2430 */ 107, 412, 107, 452, 37, 370, 455, 22, 72, 128, - /* 2440 */ 459, 460, 461, 462, 463, 464, 128, 466, 357, 128, - /* 2450 */ 128, 71, 78, 37, 37, 37, 37, 37, 37, 37, - /* 2460 */ 37, 370, 37, 398, 101, 101, 78, 33, 37, 37, - /* 2470 */ 37, 452, 22, 22, 455, 410, 37, 412, 459, 460, - /* 2480 */ 461, 462, 463, 464, 37, 466, 37, 0, 78, 398, - /* 2490 */ 37, 37, 357, 37, 37, 37, 37, 37, 0, 51, - /* 2500 */ 37, 410, 0, 412, 42, 370, 51, 42, 37, 42, - /* 2510 */ 0, 37, 51, 0, 42, 51, 37, 452, 37, 0, - /* 2520 */ 455, 357, 22, 33, 459, 460, 461, 462, 463, 464, - /* 2530 */ 22, 466, 21, 398, 370, 21, 357, 22, 22, 517, - /* 2540 */ 20, 517, 517, 452, 517, 410, 455, 412, 517, 370, - /* 2550 */ 459, 460, 461, 462, 463, 464, 517, 466, 517, 517, - /* 2560 */ 517, 517, 398, 517, 517, 517, 517, 357, 517, 517, - /* 2570 */ 517, 517, 517, 517, 410, 517, 412, 398, 517, 517, - /* 2580 */ 370, 517, 517, 517, 517, 517, 517, 452, 517, 410, - /* 2590 */ 455, 412, 517, 517, 459, 460, 461, 462, 463, 464, - /* 2600 */ 517, 466, 517, 517, 517, 517, 517, 517, 398, 517, - /* 2610 */ 517, 517, 517, 517, 517, 517, 452, 517, 517, 455, - /* 2620 */ 410, 517, 412, 459, 460, 461, 462, 463, 464, 517, - /* 2630 */ 466, 452, 517, 517, 455, 517, 517, 357, 459, 460, - /* 2640 */ 461, 462, 463, 464, 517, 466, 517, 517, 517, 517, - /* 2650 */ 370, 517, 517, 357, 517, 517, 517, 517, 517, 517, - /* 2660 */ 517, 517, 452, 517, 517, 455, 370, 517, 517, 459, - /* 2670 */ 460, 461, 462, 463, 464, 517, 466, 517, 398, 517, - /* 2680 */ 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, - /* 2690 */ 410, 517, 412, 517, 398, 517, 517, 517, 517, 517, - /* 2700 */ 517, 517, 517, 517, 517, 517, 410, 517, 412, 517, - /* 2710 */ 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, - /* 2720 */ 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, - /* 2730 */ 517, 517, 452, 517, 357, 455, 517, 517, 517, 459, - /* 2740 */ 460, 461, 462, 463, 464, 517, 466, 370, 452, 517, - /* 2750 */ 517, 455, 517, 517, 517, 459, 460, 461, 462, 463, - /* 2760 */ 464, 517, 466, 517, 517, 517, 357, 517, 517, 517, - /* 2770 */ 517, 517, 517, 517, 517, 398, 517, 517, 517, 370, - /* 2780 */ 517, 517, 517, 517, 517, 517, 517, 410, 517, 412, - /* 2790 */ 517, 517, 517, 357, 517, 517, 517, 517, 517, 517, - /* 2800 */ 517, 517, 517, 517, 517, 517, 370, 398, 517, 517, - /* 2810 */ 517, 517, 517, 517, 517, 517, 517, 517, 517, 410, - /* 2820 */ 517, 412, 517, 517, 517, 517, 517, 517, 517, 452, - /* 2830 */ 517, 517, 455, 517, 398, 517, 459, 460, 461, 462, - /* 2840 */ 463, 464, 517, 466, 517, 517, 410, 517, 412, 517, - /* 2850 */ 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, - /* 2860 */ 517, 452, 517, 357, 455, 517, 517, 517, 459, 460, - /* 2870 */ 461, 462, 463, 464, 517, 466, 370, 517, 517, 357, - /* 2880 */ 517, 517, 517, 517, 517, 517, 517, 517, 452, 517, - /* 2890 */ 517, 455, 370, 517, 357, 459, 460, 461, 462, 463, - /* 2900 */ 464, 517, 466, 517, 398, 517, 517, 370, 517, 357, - /* 2910 */ 517, 517, 517, 517, 517, 517, 410, 517, 412, 517, - /* 2920 */ 398, 517, 370, 517, 517, 517, 517, 517, 517, 517, - /* 2930 */ 517, 517, 410, 517, 412, 398, 517, 517, 357, 517, - /* 2940 */ 517, 517, 517, 517, 517, 517, 517, 410, 517, 412, - /* 2950 */ 398, 370, 517, 517, 517, 517, 517, 517, 452, 517, - /* 2960 */ 517, 455, 410, 517, 412, 459, 460, 461, 462, 463, - /* 2970 */ 464, 517, 466, 517, 452, 517, 517, 455, 517, 398, - /* 2980 */ 517, 459, 460, 461, 462, 463, 464, 517, 466, 452, - /* 2990 */ 517, 410, 455, 412, 517, 517, 459, 460, 461, 462, - /* 3000 */ 463, 464, 517, 466, 452, 517, 517, 455, 517, 517, - /* 3010 */ 517, 459, 460, 461, 462, 463, 464, 517, 466, 517, - /* 3020 */ 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, - /* 3030 */ 517, 517, 517, 452, 517, 517, 455, 517, 517, 517, - /* 3040 */ 459, 460, 461, 462, 463, 464, 517, 466, 354, 354, - /* 3050 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3060 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3070 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3080 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3090 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3100 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3110 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3120 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3130 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 1490 */ 254, 255, 256, 257, 258, 504, 33, 33, 33, 203, + /* 1500 */ 424, 205, 453, 33, 33, 456, 108, 12, 13, 460, + /* 1510 */ 461, 462, 463, 464, 465, 108, 467, 22, 33, 486, + /* 1520 */ 368, 472, 489, 474, 37, 0, 424, 478, 479, 357, + /* 1530 */ 35, 108, 37, 237, 238, 504, 108, 434, 504, 504, + /* 1540 */ 507, 508, 370, 237, 373, 512, 513, 251, 252, 253, + /* 1550 */ 254, 255, 256, 257, 370, 424, 410, 442, 424, 424, + /* 1560 */ 65, 205, 357, 488, 509, 78, 480, 388, 491, 278, + /* 1570 */ 398, 108, 108, 108, 436, 370, 455, 52, 108, 108, + /* 1580 */ 51, 42, 454, 411, 20, 413, 357, 447, 218, 452, + /* 1590 */ 378, 447, 378, 108, 201, 438, 20, 369, 20, 370, + /* 1600 */ 370, 45, 420, 398, 370, 420, 357, 180, 417, 369, + /* 1610 */ 420, 370, 369, 417, 417, 417, 411, 105, 413, 370, + /* 1620 */ 382, 103, 369, 381, 102, 453, 380, 398, 456, 369, + /* 1630 */ 369, 369, 460, 461, 462, 463, 464, 465, 433, 467, + /* 1640 */ 411, 20, 413, 362, 472, 50, 474, 398, 366, 366, + /* 1650 */ 478, 479, 378, 447, 362, 378, 20, 413, 453, 20, + /* 1660 */ 411, 456, 413, 20, 378, 460, 461, 462, 463, 464, + /* 1670 */ 465, 371, 467, 378, 437, 371, 378, 20, 427, 378, + /* 1680 */ 369, 378, 453, 378, 362, 456, 398, 398, 222, 460, + /* 1690 */ 461, 462, 463, 464, 465, 398, 467, 360, 203, 451, + /* 1700 */ 205, 472, 453, 474, 357, 456, 398, 478, 479, 460, + /* 1710 */ 461, 462, 463, 464, 465, 398, 467, 370, 398, 1, + /* 1720 */ 369, 472, 398, 474, 360, 398, 398, 478, 479, 398, + /* 1730 */ 235, 236, 237, 362, 398, 107, 411, 19, 208, 376, + /* 1740 */ 411, 447, 449, 357, 411, 398, 251, 252, 253, 254, + /* 1750 */ 255, 256, 257, 35, 20, 446, 370, 209, 411, 443, + /* 1760 */ 413, 413, 444, 376, 369, 411, 286, 497, 436, 51, + /* 1770 */ 429, 285, 497, 294, 429, 357, 500, 194, 60, 61, + /* 1780 */ 62, 63, 279, 65, 398, 296, 295, 303, 370, 436, + /* 1790 */ 517, 511, 300, 274, 298, 370, 20, 411, 117, 413, + /* 1800 */ 453, 371, 459, 456, 276, 495, 499, 460, 461, 462, + /* 1810 */ 463, 464, 465, 376, 467, 376, 398, 107, 497, 496, + /* 1820 */ 429, 474, 411, 510, 106, 478, 479, 109, 494, 411, + /* 1830 */ 492, 413, 357, 429, 477, 186, 490, 411, 425, 453, + /* 1840 */ 411, 394, 456, 376, 411, 370, 460, 461, 462, 463, + /* 1850 */ 464, 465, 411, 467, 376, 411, 411, 357, 370, 141, + /* 1860 */ 474, 411, 107, 411, 478, 479, 411, 411, 369, 411, + /* 1870 */ 370, 453, 411, 398, 456, 22, 402, 38, 460, 461, + /* 1880 */ 462, 463, 464, 465, 411, 467, 411, 411, 413, 376, + /* 1890 */ 359, 448, 474, 411, 411, 363, 478, 479, 398, 362, + /* 1900 */ 377, 411, 430, 185, 411, 411, 392, 439, 411, 411, + /* 1910 */ 192, 411, 411, 413, 355, 411, 411, 411, 411, 411, + /* 1920 */ 0, 0, 0, 45, 0, 392, 392, 37, 453, 211, + /* 1930 */ 228, 456, 430, 37, 37, 460, 461, 462, 463, 464, + /* 1940 */ 465, 357, 467, 37, 228, 0, 37, 37, 228, 37, + /* 1950 */ 0, 228, 0, 453, 370, 37, 456, 357, 0, 0, + /* 1960 */ 460, 461, 462, 463, 464, 465, 37, 467, 22, 0, + /* 1970 */ 370, 37, 223, 0, 474, 211, 0, 211, 205, 479, + /* 1980 */ 212, 203, 398, 0, 0, 0, 199, 198, 0, 514, + /* 1990 */ 515, 0, 148, 49, 0, 411, 49, 413, 398, 37, + /* 2000 */ 0, 0, 37, 0, 51, 49, 0, 0, 0, 45, + /* 2010 */ 0, 411, 0, 413, 0, 49, 357, 433, 0, 0, + /* 2020 */ 0, 0, 166, 37, 0, 166, 0, 0, 0, 370, + /* 2030 */ 0, 0, 0, 0, 0, 0, 0, 453, 0, 0, + /* 2040 */ 456, 0, 0, 0, 460, 461, 462, 463, 464, 465, + /* 2050 */ 0, 467, 0, 453, 0, 0, 456, 398, 49, 0, + /* 2060 */ 460, 461, 462, 463, 464, 465, 0, 467, 45, 0, + /* 2070 */ 411, 0, 413, 0, 0, 0, 0, 0, 22, 0, + /* 2080 */ 148, 0, 147, 0, 146, 0, 357, 0, 0, 22, + /* 2090 */ 50, 0, 22, 0, 50, 37, 0, 0, 37, 370, + /* 2100 */ 51, 0, 65, 357, 42, 37, 506, 42, 51, 0, + /* 2110 */ 65, 65, 453, 0, 51, 456, 370, 37, 0, 460, + /* 2120 */ 461, 462, 463, 464, 465, 14, 467, 398, 42, 37, + /* 2130 */ 0, 33, 42, 49, 45, 0, 0, 0, 43, 0, + /* 2140 */ 411, 33, 413, 49, 398, 42, 42, 0, 49, 194, + /* 2150 */ 0, 49, 0, 0, 72, 0, 37, 411, 51, 413, + /* 2160 */ 0, 37, 42, 51, 42, 0, 37, 51, 42, 0, + /* 2170 */ 37, 0, 0, 42, 515, 0, 51, 0, 0, 433, + /* 2180 */ 37, 22, 453, 0, 357, 456, 0, 115, 37, 460, + /* 2190 */ 461, 462, 463, 464, 465, 37, 467, 370, 469, 453, + /* 2200 */ 37, 37, 456, 357, 37, 37, 460, 461, 462, 463, + /* 2210 */ 464, 465, 33, 467, 22, 0, 370, 22, 113, 37, + /* 2220 */ 0, 37, 357, 22, 37, 398, 37, 37, 0, 22, + /* 2230 */ 0, 22, 0, 37, 53, 370, 0, 0, 411, 37, + /* 2240 */ 413, 357, 0, 37, 398, 0, 22, 20, 37, 37, + /* 2250 */ 37, 0, 108, 107, 370, 107, 0, 411, 210, 413, + /* 2260 */ 433, 183, 37, 398, 0, 49, 22, 0, 22, 0, + /* 2270 */ 280, 3, 33, 107, 33, 37, 411, 107, 413, 50, + /* 2280 */ 453, 108, 398, 456, 108, 37, 186, 460, 461, 462, + /* 2290 */ 463, 464, 465, 183, 467, 411, 105, 413, 183, 453, + /* 2300 */ 183, 107, 456, 50, 190, 108, 460, 461, 462, 463, + /* 2310 */ 464, 465, 206, 467, 33, 183, 108, 190, 453, 33, + /* 2320 */ 357, 456, 103, 49, 107, 460, 461, 462, 463, 464, + /* 2330 */ 465, 108, 467, 370, 49, 33, 3, 453, 107, 33, + /* 2340 */ 456, 107, 107, 49, 460, 461, 462, 463, 464, 465, + /* 2350 */ 37, 467, 37, 357, 37, 108, 37, 108, 37, 37, + /* 2360 */ 108, 398, 108, 33, 0, 49, 370, 0, 107, 42, + /* 2370 */ 33, 105, 2, 22, 411, 105, 413, 22, 107, 237, + /* 2380 */ 108, 108, 107, 107, 107, 107, 187, 108, 49, 107, + /* 2390 */ 107, 49, 108, 0, 398, 107, 240, 108, 108, 107, + /* 2400 */ 260, 42, 107, 280, 107, 107, 185, 411, 280, 413, + /* 2410 */ 49, 273, 116, 108, 107, 107, 453, 107, 107, 456, + /* 2420 */ 117, 357, 108, 460, 461, 462, 463, 464, 465, 37, + /* 2430 */ 467, 37, 107, 37, 370, 37, 37, 108, 107, 37, + /* 2440 */ 108, 37, 108, 108, 108, 107, 128, 33, 128, 453, + /* 2450 */ 107, 128, 456, 37, 128, 107, 460, 461, 462, 463, + /* 2460 */ 464, 465, 398, 467, 22, 37, 37, 72, 71, 37, + /* 2470 */ 37, 37, 37, 37, 37, 411, 37, 413, 357, 78, + /* 2480 */ 101, 78, 101, 33, 37, 37, 37, 22, 37, 37, + /* 2490 */ 37, 370, 37, 78, 37, 37, 37, 37, 357, 22, + /* 2500 */ 37, 0, 0, 37, 42, 51, 37, 51, 0, 42, + /* 2510 */ 37, 370, 51, 42, 0, 37, 42, 453, 0, 398, + /* 2520 */ 456, 51, 37, 37, 460, 461, 462, 463, 464, 465, + /* 2530 */ 0, 467, 411, 22, 413, 22, 33, 357, 21, 398, + /* 2540 */ 518, 22, 22, 21, 20, 518, 518, 518, 518, 518, + /* 2550 */ 370, 518, 411, 518, 413, 357, 518, 518, 518, 518, + /* 2560 */ 518, 518, 518, 518, 518, 518, 518, 518, 370, 518, + /* 2570 */ 518, 518, 518, 518, 453, 518, 518, 456, 398, 518, + /* 2580 */ 518, 460, 461, 462, 463, 464, 465, 518, 467, 518, + /* 2590 */ 518, 411, 518, 413, 453, 518, 398, 456, 518, 518, + /* 2600 */ 518, 460, 461, 462, 463, 464, 465, 518, 467, 411, + /* 2610 */ 518, 413, 357, 518, 518, 518, 518, 518, 518, 518, + /* 2620 */ 518, 518, 518, 518, 518, 370, 518, 518, 518, 518, + /* 2630 */ 518, 518, 518, 453, 518, 518, 456, 518, 518, 518, + /* 2640 */ 460, 461, 462, 463, 464, 465, 518, 467, 518, 518, + /* 2650 */ 518, 453, 518, 398, 456, 518, 518, 518, 460, 461, + /* 2660 */ 462, 463, 464, 465, 518, 467, 411, 518, 413, 357, + /* 2670 */ 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2680 */ 518, 518, 370, 518, 518, 357, 518, 518, 518, 518, + /* 2690 */ 518, 518, 518, 518, 518, 518, 518, 518, 370, 518, + /* 2700 */ 518, 518, 518, 518, 518, 518, 518, 518, 453, 518, + /* 2710 */ 398, 456, 518, 518, 518, 460, 461, 462, 463, 464, + /* 2720 */ 465, 518, 467, 411, 518, 413, 398, 518, 518, 518, + /* 2730 */ 518, 518, 518, 518, 518, 518, 518, 518, 518, 411, + /* 2740 */ 518, 413, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2750 */ 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2760 */ 518, 518, 518, 518, 518, 453, 518, 357, 456, 518, + /* 2770 */ 518, 518, 460, 461, 462, 463, 464, 465, 518, 467, + /* 2780 */ 370, 453, 518, 357, 456, 518, 518, 518, 460, 461, + /* 2790 */ 462, 463, 464, 465, 518, 467, 370, 518, 518, 518, + /* 2800 */ 518, 518, 518, 518, 518, 518, 518, 518, 398, 518, + /* 2810 */ 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2820 */ 518, 411, 518, 413, 398, 518, 518, 518, 518, 518, + /* 2830 */ 518, 518, 518, 518, 518, 518, 518, 411, 518, 413, + /* 2840 */ 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2850 */ 518, 518, 518, 518, 518, 518, 357, 518, 518, 518, + /* 2860 */ 518, 518, 518, 453, 518, 518, 456, 518, 518, 370, + /* 2870 */ 460, 461, 462, 463, 464, 465, 518, 467, 518, 453, + /* 2880 */ 518, 518, 456, 357, 518, 518, 460, 461, 462, 463, + /* 2890 */ 464, 465, 518, 467, 518, 518, 370, 398, 518, 518, + /* 2900 */ 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2910 */ 411, 518, 413, 357, 518, 518, 518, 518, 518, 518, + /* 2920 */ 518, 518, 518, 518, 398, 518, 370, 518, 518, 518, + /* 2930 */ 518, 518, 518, 518, 518, 518, 518, 411, 518, 413, + /* 2940 */ 357, 518, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2950 */ 518, 518, 453, 370, 398, 456, 518, 518, 518, 460, + /* 2960 */ 461, 462, 463, 464, 465, 518, 467, 411, 518, 413, + /* 2970 */ 357, 518, 518, 518, 518, 518, 518, 518, 518, 453, + /* 2980 */ 518, 398, 456, 370, 518, 518, 460, 461, 462, 463, + /* 2990 */ 464, 465, 518, 467, 411, 518, 413, 518, 518, 518, + /* 3000 */ 357, 518, 518, 518, 518, 518, 518, 518, 518, 453, + /* 3010 */ 518, 398, 456, 370, 518, 518, 460, 461, 462, 463, + /* 3020 */ 464, 465, 518, 467, 411, 518, 413, 357, 518, 518, + /* 3030 */ 518, 518, 518, 518, 518, 518, 453, 518, 518, 456, + /* 3040 */ 370, 398, 518, 460, 461, 462, 463, 464, 465, 518, + /* 3050 */ 467, 518, 518, 518, 411, 518, 413, 518, 518, 518, + /* 3060 */ 518, 518, 518, 518, 518, 518, 453, 518, 398, 456, + /* 3070 */ 518, 518, 518, 460, 461, 462, 463, 464, 465, 518, + /* 3080 */ 467, 411, 518, 413, 518, 518, 518, 518, 518, 518, + /* 3090 */ 518, 518, 518, 518, 518, 518, 453, 518, 518, 456, + /* 3100 */ 518, 518, 518, 460, 461, 462, 463, 464, 465, 518, + /* 3110 */ 467, 518, 518, 518, 518, 518, 518, 518, 518, 518, + /* 3120 */ 518, 518, 518, 453, 518, 518, 456, 518, 518, 518, + /* 3130 */ 460, 461, 462, 463, 464, 465, 518, 467, 354, 354, /* 3140 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, /* 3150 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, /* 3160 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, @@ -869,234 +1233,245 @@ static const YYCODETYPE yy_lookahead[] = { /* 3370 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, /* 3380 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, /* 3390 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3400 */ 354, 354, + /* 3400 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3410 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3420 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3430 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3440 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3450 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3460 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3470 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3480 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3490 */ 354, 354, }; -#define YY_SHIFT_COUNT (889) +#define YY_SHIFT_COUNT (894) #define YY_SHIFT_MIN (0) -#define YY_SHIFT_MAX (2520) +#define YY_SHIFT_MAX (2530) static const unsigned short int yy_shift_ofst[] = { /* 0 */ 496, 0, 247, 0, 495, 495, 495, 495, 495, 495, /* 10 */ 495, 495, 495, 495, 495, 495, 742, 989, 989, 1236, /* 20 */ 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, /* 30 */ 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, /* 40 */ 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, - /* 50 */ 243, 624, 66, 7, 565, 583, 565, 565, 7, 7, - /* 60 */ 565, 1304, 565, 246, 1304, 93, 565, 63, 1600, 18, - /* 70 */ 117, 117, 1600, 1600, 385, 385, 18, 174, 134, 360, - /* 80 */ 360, 131, 117, 117, 117, 117, 117, 117, 117, 117, - /* 90 */ 117, 117, 117, 179, 514, 117, 117, 604, 63, 117, - /* 100 */ 179, 117, 63, 117, 117, 63, 117, 117, 63, 117, - /* 110 */ 63, 63, 63, 117, 611, 204, 204, 494, 430, 442, - /* 120 */ 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, - /* 130 */ 442, 442, 442, 442, 442, 442, 442, 442, 399, 538, - /* 140 */ 174, 134, 958, 958, 105, 329, 329, 329, 298, 298, - /* 150 */ 2, 317, 105, 604, 518, 63, 257, 63, 63, 700, - /* 160 */ 63, 700, 700, 650, 914, 213, 213, 213, 213, 213, - /* 170 */ 213, 213, 213, 907, 285, 416, 592, 79, 340, 300, - /* 180 */ 603, 578, 643, 316, 316, 799, 145, 823, 279, 279, - /* 190 */ 279, 869, 443, 279, 639, 541, 1029, 143, 749, 541, - /* 200 */ 541, 1071, 951, 118, 1000, 951, 1156, 805, 317, 1260, - /* 210 */ 1492, 1502, 1526, 1331, 604, 1526, 604, 1362, 1545, 1548, - /* 220 */ 1525, 1548, 1525, 1395, 1545, 1548, 1545, 1525, 1395, 1395, - /* 230 */ 1395, 1482, 1485, 1545, 1493, 1545, 1545, 1545, 1594, 1568, - /* 240 */ 1594, 1568, 1526, 604, 604, 1607, 604, 1610, 1611, 604, - /* 250 */ 1610, 604, 1618, 604, 604, 1545, 604, 1594, 63, 63, - /* 260 */ 63, 63, 63, 63, 63, 63, 63, 63, 63, 1545, - /* 270 */ 914, 914, 1594, 700, 700, 700, 1448, 1575, 1526, 611, - /* 280 */ 1669, 1494, 1499, 1607, 611, 1260, 1545, 700, 1430, 1434, - /* 290 */ 1430, 1434, 1428, 1529, 1430, 1438, 1441, 1461, 1260, 1444, - /* 300 */ 1450, 1453, 1474, 1548, 1734, 1639, 1495, 1610, 611, 611, - /* 310 */ 1660, 1434, 700, 700, 700, 700, 1434, 700, 1592, 611, - /* 320 */ 650, 611, 1548, 700, 700, 700, 700, 700, 700, 700, - /* 330 */ 700, 700, 700, 700, 700, 700, 700, 700, 700, 700, - /* 340 */ 700, 700, 700, 700, 700, 1689, 700, 1545, 611, 1788, - /* 350 */ 1791, 1594, 3048, 3048, 3048, 3048, 3048, 3048, 3048, 3048, - /* 360 */ 3048, 36, 1698, 197, 1411, 924, 1056, 1419, 294, 640, - /* 370 */ 602, 386, 529, 540, 540, 540, 540, 540, 540, 540, - /* 380 */ 540, 540, 94, 630, 21, 778, 778, 353, 613, 634, - /* 390 */ 446, 26, 599, 739, 844, 1113, 1171, 814, 671, 948, - /* 400 */ 100, 671, 671, 671, 405, 405, 1269, 717, 401, 1277, - /* 410 */ 1239, 1161, 449, 1180, 1186, 1202, 1208, 1261, 1298, 883, - /* 420 */ 1175, 1285, 1286, 351, 505, 627, 1214, 979, 1083, 1267, - /* 430 */ 1289, 1137, 1121, 1135, 1291, 1336, 1296, 1140, 1303, 709, - /* 440 */ 1318, 1330, 1332, 1350, 1352, 1394, 1400, 1409, 1431, 1435, - /* 450 */ 1452, 1459, 1484, 1486, 1489, 1491, 1404, 1422, 1426, 1472, - /* 460 */ 1473, 1478, 903, 1145, 1321, 1487, 1500, 1341, 913, 1844, - /* 470 */ 1862, 1864, 1822, 1868, 1832, 1642, 1834, 1835, 1838, 1645, - /* 480 */ 1876, 1840, 1841, 1652, 1845, 1881, 1657, 1887, 1851, 1889, - /* 490 */ 1855, 1893, 1872, 1895, 1859, 1674, 1899, 1690, 1902, 1693, - /* 500 */ 1696, 1700, 1713, 1918, 1920, 1925, 1723, 1725, 1926, 1927, - /* 510 */ 1782, 1882, 1883, 1933, 1897, 1935, 1936, 1900, 1888, 1938, - /* 520 */ 1892, 1942, 1901, 1944, 1945, 1957, 1909, 1959, 1960, 1962, - /* 530 */ 1965, 1966, 1967, 1808, 1940, 1978, 1813, 1994, 1996, 1997, - /* 540 */ 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006, 2007, 2009, - /* 550 */ 2012, 2013, 2014, 2015, 2017, 2022, 1932, 1982, 1939, 1983, - /* 560 */ 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1970, 2023, 1871, - /* 570 */ 2020, 1877, 2025, 1880, 2027, 2028, 2008, 1979, 2010, 1984, - /* 580 */ 2031, 1972, 2004, 2038, 1974, 2040, 1977, 2043, 2044, 2016, - /* 590 */ 1995, 2018, 2045, 2026, 2011, 2029, 2047, 2036, 2030, 2032, - /* 600 */ 2049, 2039, 2051, 2035, 2046, 2021, 2042, 2054, 2080, 2061, - /* 610 */ 2052, 2053, 2064, 2056, 2057, 2059, 2095, 2067, 1913, 2111, - /* 620 */ 2042, 2063, 2113, 2114, 2050, 2115, 2116, 2081, 2070, 2082, - /* 630 */ 2123, 2088, 2075, 2085, 2128, 2092, 2079, 2089, 2133, 2098, - /* 640 */ 2086, 2094, 2138, 2140, 2141, 2142, 2143, 2144, 2033, 2034, - /* 650 */ 2108, 2124, 2149, 2117, 2118, 2119, 2120, 2121, 2127, 2150, - /* 660 */ 2155, 2132, 2139, 2157, 2158, 2129, 2152, 2153, 2174, 2160, - /* 670 */ 2175, 2161, 2177, 2097, 2198, 2178, 2165, 2201, 2203, 2205, - /* 680 */ 2170, 2208, 2173, 2211, 2190, 2159, 2180, 2183, 2184, 2072, - /* 690 */ 2068, 2213, 2041, 2107, 2037, 2042, 2166, 2223, 2058, 2188, - /* 700 */ 2204, 2227, 2024, 2206, 2060, 2066, 2229, 2232, 2062, 2069, - /* 710 */ 2071, 2073, 2233, 2202, 1964, 2130, 2131, 2148, 2134, 2212, - /* 720 */ 2214, 2167, 2207, 2151, 2221, 2137, 2169, 2242, 2245, 2181, - /* 730 */ 2186, 2187, 2194, 2182, 2253, 2254, 2256, 2215, 2275, 1980, - /* 740 */ 2209, 2216, 2306, 2277, 2048, 2284, 2286, 2288, 2289, 2290, - /* 750 */ 2292, 2222, 2225, 2282, 2076, 2302, 2287, 2337, 2339, 2234, - /* 760 */ 2298, 2309, 2238, 2084, 2240, 2344, 2326, 2125, 2244, 2243, - /* 770 */ 2246, 2304, 2248, 2249, 2308, 2250, 2338, 2126, 2257, 2255, - /* 780 */ 2259, 2258, 2261, 2185, 2262, 2370, 2329, 2193, 2266, 2264, - /* 790 */ 2042, 2341, 2268, 2285, 2279, 2291, 2293, 2278, 2294, 2357, - /* 800 */ 2359, 2299, 2295, 2360, 2300, 2297, 2362, 2307, 2310, 2379, - /* 810 */ 2312, 2313, 2383, 2316, 2317, 2387, 2319, 2311, 2318, 2321, - /* 820 */ 2322, 2320, 2395, 2323, 2397, 2325, 2395, 2395, 2415, 2366, - /* 830 */ 2380, 2416, 2417, 2418, 2419, 2420, 2421, 2422, 2423, 2425, - /* 840 */ 2374, 2363, 2388, 2364, 2434, 2431, 2432, 2433, 2450, 2439, - /* 850 */ 2447, 2449, 2410, 2132, 2453, 2139, 2454, 2456, 2457, 2458, - /* 860 */ 2451, 2459, 2487, 2460, 2448, 2462, 2498, 2463, 2455, 2465, - /* 870 */ 2502, 2471, 2461, 2467, 2510, 2474, 2464, 2472, 2513, 2479, - /* 880 */ 2481, 2519, 2500, 2490, 2508, 2511, 2515, 2516, 2514, 2520, + /* 50 */ 133, 258, 460, 1, 108, 537, 108, 108, 1, 1, + /* 60 */ 108, 1296, 108, 246, 1296, 579, 108, 157, 1495, 119, + /* 70 */ 186, 186, 1495, 1495, 275, 275, 119, 347, 368, 194, + /* 80 */ 194, 148, 186, 186, 186, 186, 186, 186, 186, 186, + /* 90 */ 186, 186, 186, 372, 571, 186, 186, 294, 157, 186, + /* 100 */ 372, 186, 157, 186, 186, 157, 186, 186, 157, 186, + /* 110 */ 157, 157, 157, 186, 627, 204, 204, 213, 741, 430, + /* 120 */ 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, + /* 130 */ 349, 349, 349, 349, 349, 349, 349, 349, 349, 160, + /* 140 */ 548, 347, 368, 650, 650, 481, 418, 418, 418, 622, + /* 150 */ 622, 845, 409, 481, 294, 680, 157, 527, 157, 157, + /* 160 */ 871, 157, 871, 871, 860, 1080, 486, 486, 486, 486, + /* 170 */ 486, 486, 486, 1718, 1006, 416, 924, 566, 335, 11, + /* 180 */ 880, 375, 541, 60, 60, 414, 1037, 831, 889, 889, + /* 190 */ 889, 832, 954, 889, 1127, 935, 1058, 1089, 151, 935, + /* 200 */ 935, 1057, 944, 1048, 922, 944, 640, 1151, 409, 1291, + /* 210 */ 1529, 1539, 1564, 1370, 294, 1564, 294, 1393, 1576, 1578, + /* 220 */ 1556, 1578, 1556, 1427, 1576, 1578, 1576, 1556, 1427, 1427, + /* 230 */ 1427, 1512, 1518, 1576, 1522, 1576, 1576, 1576, 1621, 1595, + /* 240 */ 1621, 1595, 1564, 294, 294, 1636, 294, 1639, 1643, 294, + /* 250 */ 1639, 294, 1657, 294, 294, 1576, 294, 1621, 157, 157, + /* 260 */ 157, 157, 157, 157, 157, 157, 157, 157, 157, 1576, + /* 270 */ 1080, 1080, 1621, 871, 871, 871, 1466, 1628, 1564, 627, + /* 280 */ 1734, 1548, 1530, 1636, 627, 1291, 1576, 871, 1480, 1486, + /* 290 */ 1480, 1486, 1479, 1583, 1480, 1489, 1491, 1503, 1291, 1484, + /* 300 */ 1492, 1496, 1519, 1578, 1776, 1681, 1528, 1639, 627, 627, + /* 310 */ 1710, 1486, 871, 871, 871, 871, 1486, 871, 1649, 627, + /* 320 */ 860, 627, 1578, 871, 871, 871, 871, 871, 871, 871, + /* 330 */ 871, 871, 871, 871, 871, 871, 871, 871, 871, 871, + /* 340 */ 871, 871, 871, 871, 871, 1755, 871, 1576, 627, 1853, + /* 350 */ 1839, 1621, 3138, 3138, 3138, 3138, 3138, 3138, 3138, 3138, + /* 360 */ 3138, 36, 607, 197, 869, 666, 79, 580, 15, 31, + /* 370 */ 621, 341, 385, 533, 533, 533, 533, 533, 533, 533, + /* 380 */ 533, 533, 94, 701, 171, 689, 689, 489, 244, 9, + /* 390 */ 27, 91, 671, 736, 1025, 1150, 1162, 986, 1165, 1043, + /* 400 */ 100, 1165, 1165, 1165, 401, 401, 16, 890, 1222, 1269, + /* 410 */ 1267, 738, 1287, 1200, 1215, 1216, 1224, 1290, 1302, 1319, + /* 420 */ 1342, 1344, 1362, 1071, 1299, 1312, 1285, 1314, 1315, 1326, + /* 430 */ 1330, 1208, 1097, 5, 1335, 1368, 1349, 1306, 1350, 1268, + /* 440 */ 1358, 1398, 1407, 1423, 1428, 1389, 1397, 1400, 1402, 1420, + /* 450 */ 1424, 1432, 1438, 1451, 1457, 1459, 1463, 1464, 1465, 1470, + /* 460 */ 1471, 1485, 1339, 1130, 1356, 1392, 1422, 1487, 1525, 1920, + /* 470 */ 1921, 1922, 1878, 1924, 1890, 1702, 1896, 1897, 1906, 1716, + /* 480 */ 1945, 1909, 1910, 1720, 1912, 1950, 1723, 1952, 1918, 1958, + /* 490 */ 1929, 1959, 1946, 1969, 1934, 1749, 1973, 1764, 1976, 1766, + /* 500 */ 1768, 1773, 1778, 1983, 1984, 1985, 1787, 1789, 1988, 1991, + /* 510 */ 1844, 1944, 1947, 1994, 1962, 2000, 2001, 1965, 1953, 2003, + /* 520 */ 1956, 2006, 1964, 2007, 2008, 2010, 1966, 2012, 2014, 2018, + /* 530 */ 2019, 2020, 2021, 1856, 1986, 2024, 1859, 2026, 2027, 2028, + /* 540 */ 2030, 2031, 2032, 2033, 2034, 2035, 2036, 2038, 2039, 2041, + /* 550 */ 2042, 2043, 2050, 2052, 2054, 2055, 2009, 2059, 2023, 2066, + /* 560 */ 2069, 2071, 2073, 2074, 2075, 2076, 2077, 2056, 2079, 1932, + /* 570 */ 2081, 1935, 2083, 1938, 2085, 2087, 2067, 2040, 2070, 2044, + /* 580 */ 2088, 2037, 2058, 2091, 2045, 2093, 2046, 2096, 2097, 2061, + /* 590 */ 2049, 2062, 2101, 2068, 2057, 2065, 2109, 2080, 2063, 2086, + /* 600 */ 2113, 2092, 2118, 2089, 2090, 2098, 2084, 2094, 2111, 2099, + /* 610 */ 2130, 2095, 2103, 2135, 2136, 2137, 2139, 2104, 1955, 2147, + /* 620 */ 2084, 2102, 2150, 2152, 2082, 2153, 2155, 2119, 2107, 2120, + /* 630 */ 2160, 2124, 2112, 2122, 2165, 2129, 2116, 2126, 2169, 2133, + /* 640 */ 2125, 2131, 2171, 2172, 2175, 2177, 2178, 2183, 2072, 2105, + /* 650 */ 2143, 2159, 2186, 2151, 2158, 2163, 2164, 2167, 2168, 2182, + /* 660 */ 2184, 2108, 2179, 2187, 2189, 2192, 2190, 2215, 2195, 2220, + /* 670 */ 2201, 2228, 2207, 2181, 2230, 2209, 2196, 2232, 2236, 2237, + /* 680 */ 2202, 2242, 2206, 2245, 2224, 2227, 2211, 2212, 2213, 2144, + /* 690 */ 2146, 2251, 2078, 2148, 2048, 2084, 2216, 2256, 2110, 2225, + /* 700 */ 2244, 2264, 2106, 2246, 2115, 2100, 2267, 2269, 2117, 2114, + /* 710 */ 2132, 2127, 2268, 2239, 1990, 2166, 2173, 2170, 2176, 2238, + /* 720 */ 2248, 2194, 2229, 2191, 2253, 2219, 2197, 2241, 2281, 2208, + /* 730 */ 2217, 2231, 2234, 2223, 2286, 2274, 2285, 2235, 2302, 2123, + /* 740 */ 2247, 2249, 2333, 2306, 2128, 2313, 2315, 2317, 2319, 2321, + /* 750 */ 2322, 2252, 2254, 2294, 2138, 2330, 2316, 2364, 2367, 2261, + /* 760 */ 2327, 2337, 2266, 2140, 2270, 2370, 2351, 2142, 2272, 2273, + /* 770 */ 2271, 2275, 2276, 2277, 2278, 2279, 2339, 2282, 2283, 2342, + /* 780 */ 2284, 2355, 2156, 2288, 2289, 2290, 2292, 2295, 2199, 2297, + /* 790 */ 2393, 2359, 2221, 2298, 2296, 2084, 2361, 2307, 2308, 2305, + /* 800 */ 2310, 2311, 2303, 2314, 2392, 2394, 2325, 2329, 2396, 2331, + /* 810 */ 2332, 2398, 2271, 2334, 2399, 2275, 2335, 2402, 2276, 2336, + /* 820 */ 2404, 2277, 2318, 2320, 2323, 2326, 2338, 2414, 2343, 2416, + /* 830 */ 2348, 2414, 2414, 2442, 2395, 2397, 2428, 2429, 2432, 2433, + /* 840 */ 2434, 2435, 2436, 2437, 2439, 2401, 2379, 2403, 2381, 2450, + /* 850 */ 2447, 2448, 2449, 2465, 2451, 2452, 2453, 2415, 2108, 2455, + /* 860 */ 2179, 2457, 2458, 2459, 2460, 2477, 2463, 2501, 2466, 2454, + /* 870 */ 2462, 2502, 2469, 2456, 2467, 2508, 2473, 2461, 2471, 2514, + /* 880 */ 2478, 2470, 2474, 2518, 2485, 2486, 2530, 2511, 2503, 2513, + /* 890 */ 2517, 2519, 2520, 2522, 2524, }; #define YY_REDUCE_COUNT (360) -#define YY_REDUCE_MIN (-481) -#define YY_REDUCE_MAX (2581) +#define YY_REDUCE_MIN (-440) +#define YY_REDUCE_MAX (2670) static const short yy_reduce_ofst[] = { - /* 0 */ 600, -314, 400, 429, 685, 743, 893, 932, 990, 1138, - /* 10 */ 500, 1196, 1235, 1266, 1354, 1451, 1488, 1509, 252, 665, - /* 20 */ 1606, 1623, 1707, 724, 1638, 1722, 1806, 1821, 1836, 1852, - /* 30 */ 1922, 1949, 1981, 2019, 2065, 2091, 2135, 2164, 2179, 2210, - /* 40 */ 2280, 2296, 2377, 2409, 2436, 2506, 2522, 2537, 2552, 2581, - /* 50 */ -316, -332, -406, -193, 326, 368, 776, 821, -159, 220, - /* 60 */ 861, -381, -481, -369, 233, -444, -124, -389, -397, -380, - /* 70 */ -98, -75, 171, 308, -349, -265, -391, 253, -210, 4, - /* 80 */ 112, -290, -185, 37, 412, 414, 175, 355, 436, 498, - /* 90 */ 527, 545, 418, -305, -211, 552, 638, 516, -343, 648, - /* 100 */ 459, 651, 417, 677, 689, 423, 720, 732, 530, 734, - /* 110 */ 511, 631, 635, 791, 652, -464, -464, 382, -45, -202, - /* 120 */ -170, -148, 70, 121, 508, 666, 704, 729, 762, 802, - /* 130 */ 808, 809, 812, 842, 843, 856, 858, 866, 56, -450, - /* 140 */ 425, 9, 222, 676, 690, -450, -435, 469, 225, 325, - /* 150 */ -115, 466, 696, 706, -129, 744, 782, 754, 420, 698, - /* 160 */ 783, 850, 852, 876, 813, 477, 577, 699, 731, 895, - /* 170 */ 926, 935, 895, 873, 905, 1003, 953, 859, 877, 889, - /* 180 */ 1016, 992, 992, 1015, 1028, 993, 1055, 1006, 954, 963, - /* 190 */ 1011, 1082, 992, 1013, 1146, 1095, 1151, 1114, 1081, 1102, - /* 200 */ 1105, 992, 1042, 1042, 1023, 1042, 1053, 1043, 1147, 1104, - /* 210 */ 1086, 1092, 1101, 1100, 1174, 1108, 1184, 1127, 1198, 1199, - /* 220 */ 1152, 1203, 1153, 1158, 1207, 1209, 1213, 1159, 1167, 1168, - /* 230 */ 1169, 1195, 1210, 1220, 1216, 1234, 1238, 1241, 1255, 1253, - /* 240 */ 1258, 1259, 1178, 1243, 1248, 1217, 1250, 1263, 1204, 1254, - /* 250 */ 1268, 1264, 1215, 1265, 1271, 1275, 1272, 1284, 1256, 1270, - /* 260 */ 1273, 1274, 1279, 1281, 1282, 1283, 1287, 1288, 1290, 1292, - /* 270 */ 1293, 1306, 1301, 1242, 1294, 1295, 1225, 1244, 1237, 1308, - /* 280 */ 1246, 1257, 1251, 1297, 1326, 1280, 1345, 1300, 1221, 1307, - /* 290 */ 1224, 1309, 1232, 1240, 1245, 1247, 1252, 1262, 1310, 1249, - /* 300 */ 1276, 1278, 1042, 1383, 1299, 1302, 1305, 1391, 1392, 1393, - /* 310 */ 1312, 1342, 1363, 1364, 1365, 1366, 1344, 1367, 1355, 1405, - /* 320 */ 1386, 1406, 1413, 1374, 1375, 1379, 1380, 1381, 1382, 1385, - /* 330 */ 1387, 1388, 1389, 1390, 1401, 1402, 1412, 1414, 1415, 1416, - /* 340 */ 1418, 1420, 1423, 1424, 1429, 1399, 1432, 1433, 1443, 1464, - /* 350 */ 1475, 1479, 1408, 1396, 1421, 1436, 1455, 1456, 1467, 1463, - /* 360 */ 1505, + /* 0 */ 277, -315, 187, 400, 431, 648, 678, 893, 925, 1049, + /* 10 */ 1172, 1229, 1249, 1347, 1386, 1418, -87, 501, 1475, 1500, + /* 20 */ 748, 1205, 1584, 1600, 1659, 1729, 1746, 1827, 1846, 1865, + /* 30 */ 1884, 1963, 1996, 2064, 2121, 2141, 2180, 2198, 2255, 2312, + /* 40 */ 2328, 2410, 2426, 2499, 2526, 2556, 2583, 2613, 2643, 2670, + /* 50 */ -317, -328, -432, -196, 524, 771, 786, 941, 582, 682, + /* 60 */ 1033, -97, -423, -354, 53, -407, 283, -380, -398, -372, + /* 70 */ -40, 37, -263, -99, -265, 167, -381, 396, 312, -365, + /* 80 */ -209, 51, 389, 398, 436, 461, 276, 440, 500, 638, + /* 90 */ 652, 660, 478, -14, 263, 669, 673, 462, -137, 705, + /* 100 */ 391, 713, 555, 747, 755, 265, 664, 759, 614, 784, + /* 110 */ 552, 642, 665, 806, -73, -427, -427, -388, -77, 107, + /* 120 */ -217, 159, 354, 469, 518, 565, 780, 805, 841, 848, + /* 130 */ 850, 857, 863, 865, 866, 896, 905, 910, 913, 174, + /* 140 */ -385, 454, 164, 344, 407, 392, -385, 343, 497, 475, + /* 150 */ 687, 542, -72, 633, 717, 830, 155, 727, 410, 790, + /* 160 */ 562, 659, 877, 878, 911, 829, -392, 882, 974, 996, + /* 170 */ 999, 1009, 999, -440, 796, 906, 987, 900, 921, 967, + /* 180 */ 1069, 1054, 1054, 1081, 1090, 1076, 1152, 1102, 991, 1031, + /* 190 */ 1034, 1103, 1054, 1035, 1171, 1131, 1184, 1146, 1115, 1134, + /* 200 */ 1135, 1054, 1075, 1075, 1055, 1075, 1086, 1077, 1179, 1138, + /* 210 */ 1121, 1128, 1140, 1137, 1212, 1144, 1214, 1157, 1228, 1230, + /* 220 */ 1182, 1234, 1185, 1191, 1240, 1241, 1243, 1190, 1196, 1197, + /* 230 */ 1198, 1238, 1242, 1253, 1246, 1260, 1261, 1262, 1281, 1282, + /* 240 */ 1292, 1283, 1206, 1274, 1277, 1244, 1286, 1300, 1237, 1295, + /* 250 */ 1304, 1298, 1251, 1301, 1303, 1311, 1305, 1322, 1288, 1289, + /* 260 */ 1297, 1308, 1317, 1320, 1324, 1327, 1328, 1331, 1336, 1351, + /* 270 */ 1337, 1364, 1371, 1325, 1329, 1333, 1248, 1293, 1294, 1363, + /* 280 */ 1309, 1318, 1316, 1348, 1387, 1332, 1395, 1354, 1270, 1341, + /* 290 */ 1275, 1345, 1276, 1307, 1321, 1323, 1310, 1334, 1353, 1273, + /* 300 */ 1280, 1313, 1075, 1425, 1343, 1338, 1346, 1430, 1437, 1439, + /* 310 */ 1357, 1391, 1411, 1426, 1429, 1433, 1404, 1441, 1413, 1467, + /* 320 */ 1447, 1478, 1488, 1444, 1445, 1450, 1452, 1455, 1456, 1458, + /* 330 */ 1461, 1473, 1476, 1482, 1483, 1490, 1493, 1494, 1497, 1498, + /* 340 */ 1501, 1504, 1505, 1506, 1507, 1474, 1508, 1499, 1513, 1531, + /* 350 */ 1532, 1537, 1468, 1443, 1472, 1502, 1514, 1533, 1534, 1523, + /* 360 */ 1559, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 10 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 20 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 30 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 40 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 50 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 60 */ 2354, 2013, 2013, 2317, 2013, 2013, 2013, 2013, 2013, 2013, - /* 70 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2324, 2013, 2013, - /* 80 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 90 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2112, 2013, 2013, - /* 100 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 110 */ 2013, 2013, 2013, 2013, 2110, 2598, 2013, 2013, 2013, 2013, - /* 120 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 130 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2610, - /* 140 */ 2013, 2013, 2084, 2084, 2013, 2610, 2610, 2610, 2570, 2570, - /* 150 */ 2110, 2013, 2013, 2112, 2392, 2013, 2013, 2013, 2013, 2013, - /* 160 */ 2013, 2013, 2013, 2235, 2043, 2013, 2013, 2013, 2013, 2259, - /* 170 */ 2013, 2013, 2013, 2380, 2013, 2013, 2639, 2701, 2013, 2642, - /* 180 */ 2013, 2013, 2013, 2013, 2013, 2329, 2013, 2629, 2013, 2013, - /* 190 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2188, 2374, 2013, - /* 200 */ 2013, 2013, 2602, 2616, 2685, 2603, 2600, 2623, 2013, 2633, - /* 210 */ 2013, 2417, 2013, 2406, 2112, 2013, 2112, 2367, 2312, 2013, - /* 220 */ 2322, 2013, 2322, 2319, 2013, 2013, 2013, 2322, 2319, 2319, - /* 230 */ 2319, 2177, 2173, 2013, 2171, 2013, 2013, 2013, 2013, 2068, - /* 240 */ 2013, 2068, 2013, 2112, 2112, 2013, 2112, 2013, 2013, 2112, - /* 250 */ 2013, 2112, 2013, 2112, 2112, 2013, 2112, 2013, 2013, 2013, - /* 260 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 270 */ 2013, 2013, 2013, 2013, 2013, 2013, 2404, 2390, 2013, 2110, - /* 280 */ 2013, 2378, 2376, 2013, 2110, 2633, 2013, 2013, 2655, 2650, - /* 290 */ 2655, 2650, 2669, 2665, 2655, 2674, 2671, 2635, 2633, 2704, - /* 300 */ 2691, 2687, 2616, 2013, 2013, 2621, 2619, 2013, 2110, 2110, - /* 310 */ 2013, 2650, 2013, 2013, 2013, 2013, 2650, 2013, 2013, 2110, - /* 320 */ 2013, 2110, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 330 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 340 */ 2013, 2013, 2013, 2013, 2013, 2204, 2013, 2013, 2110, 2013, - /* 350 */ 2052, 2013, 2369, 2395, 2350, 2350, 2238, 2238, 2238, 2113, - /* 360 */ 2018, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 370 */ 2013, 2013, 2013, 2668, 2667, 2522, 2013, 2574, 2573, 2572, - /* 380 */ 2563, 2521, 2200, 2013, 2013, 2520, 2519, 2013, 2013, 2013, - /* 390 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2513, 2013, - /* 400 */ 2013, 2514, 2512, 2511, 2341, 2340, 2013, 2013, 2013, 2013, - /* 410 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 420 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 430 */ 2013, 2013, 2688, 2692, 2013, 2599, 2013, 2013, 2013, 2493, - /* 440 */ 2013, 2013, 2013, 2013, 2013, 2461, 2456, 2447, 2438, 2453, - /* 450 */ 2444, 2432, 2450, 2441, 2429, 2426, 2013, 2013, 2013, 2013, - /* 460 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 470 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 480 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 490 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 500 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 510 */ 2318, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 520 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 530 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 540 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 550 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 560 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 570 */ 2013, 2013, 2013, 2333, 2013, 2013, 2013, 2013, 2013, 2013, - /* 580 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 590 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 600 */ 2013, 2013, 2013, 2013, 2013, 2057, 2500, 2013, 2013, 2013, - /* 610 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 620 */ 2503, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 630 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 640 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 650 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 660 */ 2013, 2152, 2151, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 670 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 680 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2504, - /* 690 */ 2013, 2013, 2013, 2013, 2013, 2495, 2013, 2013, 2013, 2013, - /* 700 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 710 */ 2013, 2013, 2684, 2636, 2013, 2013, 2013, 2013, 2013, 2013, - /* 720 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 730 */ 2013, 2013, 2013, 2013, 2013, 2013, 2493, 2013, 2666, 2013, - /* 740 */ 2013, 2682, 2013, 2686, 2013, 2013, 2013, 2013, 2013, 2013, - /* 750 */ 2013, 2609, 2605, 2013, 2013, 2601, 2013, 2013, 2013, 2013, - /* 760 */ 2013, 2560, 2013, 2013, 2013, 2594, 2013, 2013, 2013, 2013, - /* 770 */ 2013, 2013, 2013, 2013, 2013, 2504, 2013, 2507, 2013, 2013, - /* 780 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 790 */ 2492, 2013, 2545, 2544, 2013, 2013, 2013, 2013, 2013, 2013, - /* 800 */ 2013, 2232, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 810 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2216, 2214, 2213, - /* 820 */ 2212, 2013, 2245, 2013, 2013, 2013, 2241, 2240, 2013, 2013, - /* 830 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 840 */ 2013, 2013, 2013, 2013, 2131, 2013, 2013, 2013, 2013, 2013, - /* 850 */ 2013, 2013, 2013, 2123, 2013, 2122, 2013, 2013, 2013, 2013, - /* 860 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 870 */ 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - /* 880 */ 2013, 2013, 2013, 2042, 2013, 2013, 2013, 2013, 2013, 2013, + /* 0 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 10 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 20 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 30 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 40 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 50 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 60 */ 2369, 2024, 2024, 2332, 2024, 2024, 2024, 2024, 2024, 2024, + /* 70 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2339, 2024, 2024, + /* 80 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 90 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2123, 2024, 2024, + /* 100 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 110 */ 2024, 2024, 2024, 2024, 2121, 2614, 2024, 2024, 2024, 2024, + /* 120 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 130 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 140 */ 2626, 2024, 2024, 2095, 2095, 2024, 2626, 2626, 2626, 2586, + /* 150 */ 2586, 2121, 2024, 2024, 2123, 2407, 2024, 2024, 2024, 2024, + /* 160 */ 2024, 2024, 2024, 2024, 2250, 2054, 2024, 2024, 2024, 2024, + /* 170 */ 2274, 2024, 2024, 2395, 2024, 2024, 2655, 2717, 2024, 2658, + /* 180 */ 2024, 2024, 2024, 2024, 2024, 2344, 2024, 2645, 2024, 2024, + /* 190 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2199, 2389, 2024, + /* 200 */ 2024, 2024, 2618, 2632, 2701, 2619, 2616, 2639, 2024, 2649, + /* 210 */ 2024, 2432, 2024, 2421, 2123, 2024, 2123, 2382, 2327, 2024, + /* 220 */ 2337, 2024, 2337, 2334, 2024, 2024, 2024, 2337, 2334, 2334, + /* 230 */ 2334, 2188, 2184, 2024, 2182, 2024, 2024, 2024, 2024, 2079, + /* 240 */ 2024, 2079, 2024, 2123, 2123, 2024, 2123, 2024, 2024, 2123, + /* 250 */ 2024, 2123, 2024, 2123, 2123, 2024, 2123, 2024, 2024, 2024, + /* 260 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 270 */ 2024, 2024, 2024, 2024, 2024, 2024, 2419, 2405, 2024, 2121, + /* 280 */ 2024, 2393, 2391, 2024, 2121, 2649, 2024, 2024, 2671, 2666, + /* 290 */ 2671, 2666, 2685, 2681, 2671, 2690, 2687, 2651, 2649, 2720, + /* 300 */ 2707, 2703, 2632, 2024, 2024, 2637, 2635, 2024, 2121, 2121, + /* 310 */ 2024, 2666, 2024, 2024, 2024, 2024, 2666, 2024, 2024, 2121, + /* 320 */ 2024, 2121, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 330 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 340 */ 2024, 2024, 2024, 2024, 2024, 2215, 2024, 2024, 2121, 2024, + /* 350 */ 2063, 2024, 2384, 2410, 2365, 2365, 2253, 2253, 2253, 2124, + /* 360 */ 2029, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 370 */ 2024, 2024, 2024, 2684, 2683, 2537, 2024, 2590, 2589, 2588, + /* 380 */ 2579, 2536, 2211, 2024, 2024, 2535, 2534, 2024, 2024, 2024, + /* 390 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2528, 2024, + /* 400 */ 2024, 2529, 2527, 2526, 2356, 2355, 2024, 2024, 2024, 2024, + /* 410 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 420 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 430 */ 2024, 2024, 2704, 2708, 2024, 2615, 2024, 2024, 2024, 2508, + /* 440 */ 2024, 2024, 2024, 2024, 2024, 2476, 2471, 2462, 2453, 2468, + /* 450 */ 2459, 2447, 2465, 2456, 2444, 2441, 2024, 2024, 2024, 2024, + /* 460 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 470 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 480 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 490 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 500 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 510 */ 2333, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 520 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 530 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 540 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 550 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 560 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 570 */ 2024, 2024, 2024, 2348, 2024, 2024, 2024, 2024, 2024, 2024, + /* 580 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 590 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 600 */ 2024, 2024, 2024, 2024, 2024, 2068, 2515, 2024, 2024, 2024, + /* 610 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 620 */ 2518, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 630 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 640 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 650 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 660 */ 2024, 2163, 2162, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 670 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 680 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2519, + /* 690 */ 2024, 2024, 2024, 2024, 2024, 2510, 2024, 2024, 2024, 2024, + /* 700 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 710 */ 2024, 2024, 2700, 2652, 2024, 2024, 2024, 2024, 2024, 2024, + /* 720 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 730 */ 2024, 2024, 2024, 2024, 2024, 2024, 2508, 2024, 2682, 2024, + /* 740 */ 2024, 2698, 2024, 2702, 2024, 2024, 2024, 2024, 2024, 2024, + /* 750 */ 2024, 2625, 2621, 2024, 2024, 2617, 2024, 2024, 2024, 2024, + /* 760 */ 2024, 2576, 2024, 2024, 2024, 2610, 2024, 2024, 2024, 2024, + /* 770 */ 2249, 2248, 2247, 2246, 2024, 2024, 2024, 2024, 2024, 2024, + /* 780 */ 2519, 2024, 2522, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 790 */ 2024, 2024, 2024, 2024, 2024, 2507, 2024, 2561, 2560, 2024, + /* 800 */ 2024, 2024, 2024, 2024, 2024, 2024, 2243, 2024, 2024, 2024, + /* 810 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 820 */ 2024, 2024, 2227, 2225, 2224, 2223, 2024, 2260, 2024, 2024, + /* 830 */ 2024, 2256, 2255, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 840 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2142, + /* 850 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2134, 2024, + /* 860 */ 2133, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 870 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + /* 880 */ 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2053, 2024, + /* 890 */ 2024, 2024, 2024, 2024, 2024, }; /********** End of lemon-generated parsing tables *****************************/ @@ -1521,6 +1896,7 @@ struct yyParser { }; typedef struct yyParser yyParser; +#include #ifndef NDEBUG #include static FILE *yyTraceFILE = 0; @@ -1964,116 +2340,117 @@ static const char *const yyTokenName[] = { /* 404 */ "drop_table_clause", /* 405 */ "col_name_list", /* 406 */ "column_def", - /* 407 */ "duration_list", - /* 408 */ "rollup_func_list", - /* 409 */ "alter_table_option", - /* 410 */ "duration_literal", - /* 411 */ "rollup_func_name", - /* 412 */ "function_name", - /* 413 */ "col_name", - /* 414 */ "db_kind_opt", - /* 415 */ "table_kind_db_name_cond_opt", - /* 416 */ "like_pattern_opt", - /* 417 */ "db_name_cond_opt", - /* 418 */ "table_name_cond", - /* 419 */ "from_db_opt", - /* 420 */ "tag_list_opt", - /* 421 */ "table_kind", - /* 422 */ "tag_item", - /* 423 */ "column_alias", - /* 424 */ "index_options", - /* 425 */ "full_index_name", - /* 426 */ "index_name", - /* 427 */ "func_list", - /* 428 */ "sliding_opt", - /* 429 */ "sma_stream_opt", - /* 430 */ "func", - /* 431 */ "sma_func_name", - /* 432 */ "expression_list", - /* 433 */ "with_meta", - /* 434 */ "query_or_subquery", - /* 435 */ "where_clause_opt", - /* 436 */ "cgroup_name", - /* 437 */ "analyze_opt", - /* 438 */ "explain_options", - /* 439 */ "insert_query", - /* 440 */ "or_replace_opt", - /* 441 */ "agg_func_opt", - /* 442 */ "bufsize_opt", - /* 443 */ "language_opt", - /* 444 */ "full_view_name", - /* 445 */ "view_name", - /* 446 */ "stream_name", - /* 447 */ "stream_options", - /* 448 */ "col_list_opt", - /* 449 */ "tag_def_or_ref_opt", - /* 450 */ "subtable_opt", - /* 451 */ "ignore_opt", - /* 452 */ "expression", - /* 453 */ "on_vgroup_id", - /* 454 */ "dnode_list", - /* 455 */ "literal_func", - /* 456 */ "signed_literal", - /* 457 */ "literal_list", - /* 458 */ "table_alias", - /* 459 */ "expr_or_subquery", - /* 460 */ "pseudo_column", - /* 461 */ "column_reference", - /* 462 */ "function_expression", - /* 463 */ "case_when_expression", - /* 464 */ "star_func", - /* 465 */ "star_func_para_list", - /* 466 */ "noarg_func", - /* 467 */ "other_para_list", - /* 468 */ "star_func_para", - /* 469 */ "when_then_list", - /* 470 */ "case_when_else_opt", - /* 471 */ "common_expression", - /* 472 */ "when_then_expr", - /* 473 */ "predicate", - /* 474 */ "compare_op", - /* 475 */ "in_op", - /* 476 */ "in_predicate_value", - /* 477 */ "boolean_value_expression", - /* 478 */ "boolean_primary", - /* 479 */ "from_clause_opt", - /* 480 */ "table_reference_list", - /* 481 */ "table_reference", - /* 482 */ "table_primary", - /* 483 */ "joined_table", - /* 484 */ "alias_opt", - /* 485 */ "subquery", - /* 486 */ "parenthesized_joined_table", - /* 487 */ "join_type", - /* 488 */ "query_specification", - /* 489 */ "hint_list", - /* 490 */ "set_quantifier_opt", - /* 491 */ "tag_mode_opt", - /* 492 */ "select_list", - /* 493 */ "partition_by_clause_opt", - /* 494 */ "range_opt", - /* 495 */ "every_opt", - /* 496 */ "fill_opt", - /* 497 */ "twindow_clause_opt", - /* 498 */ "group_by_clause_opt", - /* 499 */ "having_clause_opt", - /* 500 */ "select_item", - /* 501 */ "partition_list", - /* 502 */ "partition_item", - /* 503 */ "interval_sliding_duration_literal", - /* 504 */ "fill_mode", - /* 505 */ "group_by_list", - /* 506 */ "query_expression", - /* 507 */ "query_simple", - /* 508 */ "order_by_clause_opt", - /* 509 */ "slimit_clause_opt", - /* 510 */ "limit_clause_opt", - /* 511 */ "union_query_expression", - /* 512 */ "query_simple_or_subquery", - /* 513 */ "sort_specification_list", - /* 514 */ "sort_specification", - /* 515 */ "ordering_specification_opt", - /* 516 */ "null_ordering_opt", + /* 407 */ "type_name_default_len", + /* 408 */ "duration_list", + /* 409 */ "rollup_func_list", + /* 410 */ "alter_table_option", + /* 411 */ "duration_literal", + /* 412 */ "rollup_func_name", + /* 413 */ "function_name", + /* 414 */ "col_name", + /* 415 */ "db_kind_opt", + /* 416 */ "table_kind_db_name_cond_opt", + /* 417 */ "like_pattern_opt", + /* 418 */ "db_name_cond_opt", + /* 419 */ "table_name_cond", + /* 420 */ "from_db_opt", + /* 421 */ "tag_list_opt", + /* 422 */ "table_kind", + /* 423 */ "tag_item", + /* 424 */ "column_alias", + /* 425 */ "index_options", + /* 426 */ "full_index_name", + /* 427 */ "index_name", + /* 428 */ "func_list", + /* 429 */ "sliding_opt", + /* 430 */ "sma_stream_opt", + /* 431 */ "func", + /* 432 */ "sma_func_name", + /* 433 */ "expression_list", + /* 434 */ "with_meta", + /* 435 */ "query_or_subquery", + /* 436 */ "where_clause_opt", + /* 437 */ "cgroup_name", + /* 438 */ "analyze_opt", + /* 439 */ "explain_options", + /* 440 */ "insert_query", + /* 441 */ "or_replace_opt", + /* 442 */ "agg_func_opt", + /* 443 */ "bufsize_opt", + /* 444 */ "language_opt", + /* 445 */ "full_view_name", + /* 446 */ "view_name", + /* 447 */ "stream_name", + /* 448 */ "stream_options", + /* 449 */ "col_list_opt", + /* 450 */ "tag_def_or_ref_opt", + /* 451 */ "subtable_opt", + /* 452 */ "ignore_opt", + /* 453 */ "expression", + /* 454 */ "on_vgroup_id", + /* 455 */ "dnode_list", + /* 456 */ "literal_func", + /* 457 */ "signed_literal", + /* 458 */ "literal_list", + /* 459 */ "table_alias", + /* 460 */ "expr_or_subquery", + /* 461 */ "pseudo_column", + /* 462 */ "column_reference", + /* 463 */ "function_expression", + /* 464 */ "case_when_expression", + /* 465 */ "star_func", + /* 466 */ "star_func_para_list", + /* 467 */ "noarg_func", + /* 468 */ "other_para_list", + /* 469 */ "star_func_para", + /* 470 */ "when_then_list", + /* 471 */ "case_when_else_opt", + /* 472 */ "common_expression", + /* 473 */ "when_then_expr", + /* 474 */ "predicate", + /* 475 */ "compare_op", + /* 476 */ "in_op", + /* 477 */ "in_predicate_value", + /* 478 */ "boolean_value_expression", + /* 479 */ "boolean_primary", + /* 480 */ "from_clause_opt", + /* 481 */ "table_reference_list", + /* 482 */ "table_reference", + /* 483 */ "table_primary", + /* 484 */ "joined_table", + /* 485 */ "alias_opt", + /* 486 */ "subquery", + /* 487 */ "parenthesized_joined_table", + /* 488 */ "join_type", + /* 489 */ "query_specification", + /* 490 */ "hint_list", + /* 491 */ "set_quantifier_opt", + /* 492 */ "tag_mode_opt", + /* 493 */ "select_list", + /* 494 */ "partition_by_clause_opt", + /* 495 */ "range_opt", + /* 496 */ "every_opt", + /* 497 */ "fill_opt", + /* 498 */ "twindow_clause_opt", + /* 499 */ "group_by_clause_opt", + /* 500 */ "having_clause_opt", + /* 501 */ "select_item", + /* 502 */ "partition_list", + /* 503 */ "partition_item", + /* 504 */ "interval_sliding_duration_literal", + /* 505 */ "fill_mode", + /* 506 */ "group_by_list", + /* 507 */ "query_expression", + /* 508 */ "query_simple", + /* 509 */ "order_by_clause_opt", + /* 510 */ "slimit_clause_opt", + /* 511 */ "limit_clause_opt", + /* 512 */ "union_query_expression", + /* 513 */ "query_simple_or_subquery", + /* 514 */ "sort_specification_list", + /* 515 */ "sort_specification", + /* 516 */ "ordering_specification_opt", + /* 517 */ "null_ordering_opt", }; #endif /* defined(YYCOVERAGE) || !defined(NDEBUG) */ @@ -2300,478 +2677,483 @@ static const char *const yyRuleName[] = { /* 216 */ "type_name ::= DECIMAL", /* 217 */ "type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP", /* 218 */ "type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP", - /* 219 */ "tags_def_opt ::=", - /* 220 */ "tags_def_opt ::= tags_def", - /* 221 */ "tags_def ::= TAGS NK_LP column_def_list NK_RP", - /* 222 */ "table_options ::=", - /* 223 */ "table_options ::= table_options COMMENT NK_STRING", - /* 224 */ "table_options ::= table_options MAX_DELAY duration_list", - /* 225 */ "table_options ::= table_options WATERMARK duration_list", - /* 226 */ "table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP", - /* 227 */ "table_options ::= table_options TTL NK_INTEGER", - /* 228 */ "table_options ::= table_options SMA NK_LP col_name_list NK_RP", - /* 229 */ "table_options ::= table_options DELETE_MARK duration_list", - /* 230 */ "alter_table_options ::= alter_table_option", - /* 231 */ "alter_table_options ::= alter_table_options alter_table_option", - /* 232 */ "alter_table_option ::= COMMENT NK_STRING", - /* 233 */ "alter_table_option ::= TTL NK_INTEGER", - /* 234 */ "duration_list ::= duration_literal", - /* 235 */ "duration_list ::= duration_list NK_COMMA duration_literal", - /* 236 */ "rollup_func_list ::= rollup_func_name", - /* 237 */ "rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name", - /* 238 */ "rollup_func_name ::= function_name", - /* 239 */ "rollup_func_name ::= FIRST", - /* 240 */ "rollup_func_name ::= LAST", - /* 241 */ "col_name_list ::= col_name", - /* 242 */ "col_name_list ::= col_name_list NK_COMMA col_name", - /* 243 */ "col_name ::= column_name", - /* 244 */ "cmd ::= SHOW DNODES", - /* 245 */ "cmd ::= SHOW USERS", - /* 246 */ "cmd ::= SHOW USER PRIVILEGES", - /* 247 */ "cmd ::= SHOW db_kind_opt DATABASES", - /* 248 */ "cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt", - /* 249 */ "cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt", - /* 250 */ "cmd ::= SHOW db_name_cond_opt VGROUPS", - /* 251 */ "cmd ::= SHOW MNODES", - /* 252 */ "cmd ::= SHOW QNODES", - /* 253 */ "cmd ::= SHOW ARBGROUPS", - /* 254 */ "cmd ::= SHOW FUNCTIONS", - /* 255 */ "cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt", - /* 256 */ "cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name", - /* 257 */ "cmd ::= SHOW STREAMS", - /* 258 */ "cmd ::= SHOW ACCOUNTS", - /* 259 */ "cmd ::= SHOW APPS", - /* 260 */ "cmd ::= SHOW CONNECTIONS", - /* 261 */ "cmd ::= SHOW LICENCES", - /* 262 */ "cmd ::= SHOW GRANTS", - /* 263 */ "cmd ::= SHOW GRANTS FULL", - /* 264 */ "cmd ::= SHOW GRANTS LOGS", - /* 265 */ "cmd ::= SHOW CLUSTER MACHINES", - /* 266 */ "cmd ::= SHOW CREATE DATABASE db_name", - /* 267 */ "cmd ::= SHOW CREATE TABLE full_table_name", - /* 268 */ "cmd ::= SHOW CREATE STABLE full_table_name", - /* 269 */ "cmd ::= SHOW QUERIES", - /* 270 */ "cmd ::= SHOW SCORES", - /* 271 */ "cmd ::= SHOW TOPICS", - /* 272 */ "cmd ::= SHOW VARIABLES", - /* 273 */ "cmd ::= SHOW CLUSTER VARIABLES", - /* 274 */ "cmd ::= SHOW LOCAL VARIABLES", - /* 275 */ "cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt", - /* 276 */ "cmd ::= SHOW BNODES", - /* 277 */ "cmd ::= SHOW SNODES", - /* 278 */ "cmd ::= SHOW CLUSTER", - /* 279 */ "cmd ::= SHOW TRANSACTIONS", - /* 280 */ "cmd ::= SHOW TABLE DISTRIBUTED full_table_name", - /* 281 */ "cmd ::= SHOW CONSUMERS", - /* 282 */ "cmd ::= SHOW SUBSCRIPTIONS", - /* 283 */ "cmd ::= SHOW TAGS FROM table_name_cond from_db_opt", - /* 284 */ "cmd ::= SHOW TAGS FROM db_name NK_DOT table_name", - /* 285 */ "cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt", - /* 286 */ "cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name", - /* 287 */ "cmd ::= SHOW VNODES ON DNODE NK_INTEGER", - /* 288 */ "cmd ::= SHOW VNODES", - /* 289 */ "cmd ::= SHOW db_name_cond_opt ALIVE", - /* 290 */ "cmd ::= SHOW CLUSTER ALIVE", - /* 291 */ "cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt", - /* 292 */ "cmd ::= SHOW CREATE VIEW full_table_name", - /* 293 */ "cmd ::= SHOW COMPACTS", - /* 294 */ "cmd ::= SHOW COMPACT NK_INTEGER", - /* 295 */ "table_kind_db_name_cond_opt ::=", - /* 296 */ "table_kind_db_name_cond_opt ::= table_kind", - /* 297 */ "table_kind_db_name_cond_opt ::= db_name NK_DOT", - /* 298 */ "table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT", - /* 299 */ "table_kind ::= NORMAL", - /* 300 */ "table_kind ::= CHILD", - /* 301 */ "db_name_cond_opt ::=", - /* 302 */ "db_name_cond_opt ::= db_name NK_DOT", - /* 303 */ "like_pattern_opt ::=", - /* 304 */ "like_pattern_opt ::= LIKE NK_STRING", - /* 305 */ "table_name_cond ::= table_name", - /* 306 */ "from_db_opt ::=", - /* 307 */ "from_db_opt ::= FROM db_name", - /* 308 */ "tag_list_opt ::=", - /* 309 */ "tag_list_opt ::= tag_item", - /* 310 */ "tag_list_opt ::= tag_list_opt NK_COMMA tag_item", - /* 311 */ "tag_item ::= TBNAME", - /* 312 */ "tag_item ::= QTAGS", - /* 313 */ "tag_item ::= column_name", - /* 314 */ "tag_item ::= column_name column_alias", - /* 315 */ "tag_item ::= column_name AS column_alias", - /* 316 */ "db_kind_opt ::=", - /* 317 */ "db_kind_opt ::= USER", - /* 318 */ "db_kind_opt ::= SYSTEM", - /* 319 */ "cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options", - /* 320 */ "cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP", - /* 321 */ "cmd ::= DROP INDEX exists_opt full_index_name", - /* 322 */ "full_index_name ::= index_name", - /* 323 */ "full_index_name ::= db_name NK_DOT index_name", - /* 324 */ "index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt", - /* 325 */ "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", - /* 326 */ "func_list ::= func", - /* 327 */ "func_list ::= func_list NK_COMMA func", - /* 328 */ "func ::= sma_func_name NK_LP expression_list NK_RP", - /* 329 */ "sma_func_name ::= function_name", - /* 330 */ "sma_func_name ::= COUNT", - /* 331 */ "sma_func_name ::= FIRST", - /* 332 */ "sma_func_name ::= LAST", - /* 333 */ "sma_func_name ::= LAST_ROW", - /* 334 */ "sma_stream_opt ::=", - /* 335 */ "sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal", - /* 336 */ "sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal", - /* 337 */ "sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal", - /* 338 */ "with_meta ::= AS", - /* 339 */ "with_meta ::= WITH META AS", - /* 340 */ "with_meta ::= ONLY META AS", - /* 341 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery", - /* 342 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name", - /* 343 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt", - /* 344 */ "cmd ::= DROP TOPIC exists_opt topic_name", - /* 345 */ "cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name", - /* 346 */ "cmd ::= DESC full_table_name", - /* 347 */ "cmd ::= DESCRIBE full_table_name", - /* 348 */ "cmd ::= RESET QUERY CACHE", - /* 349 */ "cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery", - /* 350 */ "cmd ::= EXPLAIN analyze_opt explain_options insert_query", - /* 351 */ "analyze_opt ::=", - /* 352 */ "analyze_opt ::= ANALYZE", - /* 353 */ "explain_options ::=", - /* 354 */ "explain_options ::= explain_options VERBOSE NK_BOOL", - /* 355 */ "explain_options ::= explain_options RATIO NK_FLOAT", - /* 356 */ "cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt", - /* 357 */ "cmd ::= DROP FUNCTION exists_opt function_name", - /* 358 */ "agg_func_opt ::=", - /* 359 */ "agg_func_opt ::= AGGREGATE", - /* 360 */ "bufsize_opt ::=", - /* 361 */ "bufsize_opt ::= BUFSIZE NK_INTEGER", - /* 362 */ "language_opt ::=", - /* 363 */ "language_opt ::= LANGUAGE NK_STRING", - /* 364 */ "or_replace_opt ::=", - /* 365 */ "or_replace_opt ::= OR REPLACE", - /* 366 */ "cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery", - /* 367 */ "cmd ::= DROP VIEW exists_opt full_view_name", - /* 368 */ "full_view_name ::= view_name", - /* 369 */ "full_view_name ::= db_name NK_DOT view_name", - /* 370 */ "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", - /* 371 */ "cmd ::= DROP STREAM exists_opt stream_name", - /* 372 */ "cmd ::= PAUSE STREAM exists_opt stream_name", - /* 373 */ "cmd ::= RESUME STREAM exists_opt ignore_opt stream_name", - /* 374 */ "col_list_opt ::=", - /* 375 */ "col_list_opt ::= NK_LP col_name_list NK_RP", - /* 376 */ "tag_def_or_ref_opt ::=", - /* 377 */ "tag_def_or_ref_opt ::= tags_def", - /* 378 */ "tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP", - /* 379 */ "stream_options ::=", - /* 380 */ "stream_options ::= stream_options TRIGGER AT_ONCE", - /* 381 */ "stream_options ::= stream_options TRIGGER WINDOW_CLOSE", - /* 382 */ "stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal", - /* 383 */ "stream_options ::= stream_options WATERMARK duration_literal", - /* 384 */ "stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER", - /* 385 */ "stream_options ::= stream_options FILL_HISTORY NK_INTEGER", - /* 386 */ "stream_options ::= stream_options DELETE_MARK duration_literal", - /* 387 */ "stream_options ::= stream_options IGNORE UPDATE NK_INTEGER", - /* 388 */ "subtable_opt ::=", - /* 389 */ "subtable_opt ::= SUBTABLE NK_LP expression NK_RP", - /* 390 */ "ignore_opt ::=", - /* 391 */ "ignore_opt ::= IGNORE UNTREATED", - /* 392 */ "cmd ::= KILL CONNECTION NK_INTEGER", - /* 393 */ "cmd ::= KILL QUERY NK_STRING", - /* 394 */ "cmd ::= KILL TRANSACTION NK_INTEGER", - /* 395 */ "cmd ::= KILL COMPACT NK_INTEGER", - /* 396 */ "cmd ::= BALANCE VGROUP", - /* 397 */ "cmd ::= BALANCE VGROUP LEADER on_vgroup_id", - /* 398 */ "cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER", - /* 399 */ "cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list", - /* 400 */ "cmd ::= SPLIT VGROUP NK_INTEGER", - /* 401 */ "on_vgroup_id ::=", - /* 402 */ "on_vgroup_id ::= ON NK_INTEGER", - /* 403 */ "dnode_list ::= DNODE NK_INTEGER", - /* 404 */ "dnode_list ::= dnode_list DNODE NK_INTEGER", - /* 405 */ "cmd ::= DELETE FROM full_table_name where_clause_opt", - /* 406 */ "cmd ::= query_or_subquery", - /* 407 */ "cmd ::= insert_query", - /* 408 */ "insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery", - /* 409 */ "insert_query ::= INSERT INTO full_table_name query_or_subquery", - /* 410 */ "tags_literal ::= NK_INTEGER", - /* 411 */ "tags_literal ::= NK_INTEGER NK_PLUS duration_literal", - /* 412 */ "tags_literal ::= NK_INTEGER NK_MINUS duration_literal", - /* 413 */ "tags_literal ::= NK_PLUS NK_INTEGER", - /* 414 */ "tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal", - /* 415 */ "tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal", - /* 416 */ "tags_literal ::= NK_MINUS NK_INTEGER", - /* 417 */ "tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal", - /* 418 */ "tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal", - /* 419 */ "tags_literal ::= NK_FLOAT", - /* 420 */ "tags_literal ::= NK_PLUS NK_FLOAT", - /* 421 */ "tags_literal ::= NK_MINUS NK_FLOAT", - /* 422 */ "tags_literal ::= NK_BIN", - /* 423 */ "tags_literal ::= NK_BIN NK_PLUS duration_literal", - /* 424 */ "tags_literal ::= NK_BIN NK_MINUS duration_literal", - /* 425 */ "tags_literal ::= NK_PLUS NK_BIN", - /* 426 */ "tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal", - /* 427 */ "tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal", - /* 428 */ "tags_literal ::= NK_MINUS NK_BIN", - /* 429 */ "tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal", - /* 430 */ "tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal", - /* 431 */ "tags_literal ::= NK_HEX", - /* 432 */ "tags_literal ::= NK_HEX NK_PLUS duration_literal", - /* 433 */ "tags_literal ::= NK_HEX NK_MINUS duration_literal", - /* 434 */ "tags_literal ::= NK_PLUS NK_HEX", - /* 435 */ "tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal", - /* 436 */ "tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal", - /* 437 */ "tags_literal ::= NK_MINUS NK_HEX", - /* 438 */ "tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal", - /* 439 */ "tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal", - /* 440 */ "tags_literal ::= NK_STRING", - /* 441 */ "tags_literal ::= NK_STRING NK_PLUS duration_literal", - /* 442 */ "tags_literal ::= NK_STRING NK_MINUS duration_literal", - /* 443 */ "tags_literal ::= NK_BOOL", - /* 444 */ "tags_literal ::= NULL", - /* 445 */ "tags_literal ::= literal_func", - /* 446 */ "tags_literal ::= literal_func NK_PLUS duration_literal", - /* 447 */ "tags_literal ::= literal_func NK_MINUS duration_literal", - /* 448 */ "tags_literal_list ::= tags_literal", - /* 449 */ "tags_literal_list ::= tags_literal_list NK_COMMA tags_literal", - /* 450 */ "literal ::= NK_INTEGER", - /* 451 */ "literal ::= NK_FLOAT", - /* 452 */ "literal ::= NK_STRING", - /* 453 */ "literal ::= NK_BOOL", - /* 454 */ "literal ::= TIMESTAMP NK_STRING", - /* 455 */ "literal ::= duration_literal", - /* 456 */ "literal ::= NULL", - /* 457 */ "literal ::= NK_QUESTION", - /* 458 */ "duration_literal ::= NK_VARIABLE", - /* 459 */ "signed ::= NK_INTEGER", - /* 460 */ "signed ::= NK_PLUS NK_INTEGER", - /* 461 */ "signed ::= NK_MINUS NK_INTEGER", - /* 462 */ "signed ::= NK_FLOAT", - /* 463 */ "signed ::= NK_PLUS NK_FLOAT", - /* 464 */ "signed ::= NK_MINUS NK_FLOAT", - /* 465 */ "signed_literal ::= signed", - /* 466 */ "signed_literal ::= NK_STRING", - /* 467 */ "signed_literal ::= NK_BOOL", - /* 468 */ "signed_literal ::= TIMESTAMP NK_STRING", - /* 469 */ "signed_literal ::= duration_literal", - /* 470 */ "signed_literal ::= NULL", - /* 471 */ "signed_literal ::= literal_func", - /* 472 */ "signed_literal ::= NK_QUESTION", - /* 473 */ "literal_list ::= signed_literal", - /* 474 */ "literal_list ::= literal_list NK_COMMA signed_literal", - /* 475 */ "db_name ::= NK_ID", - /* 476 */ "table_name ::= NK_ID", - /* 477 */ "column_name ::= NK_ID", - /* 478 */ "function_name ::= NK_ID", - /* 479 */ "view_name ::= NK_ID", - /* 480 */ "table_alias ::= NK_ID", - /* 481 */ "column_alias ::= NK_ID", - /* 482 */ "column_alias ::= NK_ALIAS", - /* 483 */ "user_name ::= NK_ID", - /* 484 */ "topic_name ::= NK_ID", - /* 485 */ "stream_name ::= NK_ID", - /* 486 */ "cgroup_name ::= NK_ID", - /* 487 */ "index_name ::= NK_ID", - /* 488 */ "expr_or_subquery ::= expression", - /* 489 */ "expression ::= literal", - /* 490 */ "expression ::= pseudo_column", - /* 491 */ "expression ::= column_reference", - /* 492 */ "expression ::= function_expression", - /* 493 */ "expression ::= case_when_expression", - /* 494 */ "expression ::= NK_LP expression NK_RP", - /* 495 */ "expression ::= NK_PLUS expr_or_subquery", - /* 496 */ "expression ::= NK_MINUS expr_or_subquery", - /* 497 */ "expression ::= expr_or_subquery NK_PLUS expr_or_subquery", - /* 498 */ "expression ::= expr_or_subquery NK_MINUS expr_or_subquery", - /* 499 */ "expression ::= expr_or_subquery NK_STAR expr_or_subquery", - /* 500 */ "expression ::= expr_or_subquery NK_SLASH expr_or_subquery", - /* 501 */ "expression ::= expr_or_subquery NK_REM expr_or_subquery", - /* 502 */ "expression ::= column_reference NK_ARROW NK_STRING", - /* 503 */ "expression ::= expr_or_subquery NK_BITAND expr_or_subquery", - /* 504 */ "expression ::= expr_or_subquery NK_BITOR expr_or_subquery", - /* 505 */ "expression_list ::= expr_or_subquery", - /* 506 */ "expression_list ::= expression_list NK_COMMA expr_or_subquery", - /* 507 */ "column_reference ::= column_name", - /* 508 */ "column_reference ::= table_name NK_DOT column_name", - /* 509 */ "column_reference ::= NK_ALIAS", - /* 510 */ "column_reference ::= table_name NK_DOT NK_ALIAS", - /* 511 */ "pseudo_column ::= ROWTS", - /* 512 */ "pseudo_column ::= TBNAME", - /* 513 */ "pseudo_column ::= table_name NK_DOT TBNAME", - /* 514 */ "pseudo_column ::= QSTART", - /* 515 */ "pseudo_column ::= QEND", - /* 516 */ "pseudo_column ::= QDURATION", - /* 517 */ "pseudo_column ::= WSTART", - /* 518 */ "pseudo_column ::= WEND", - /* 519 */ "pseudo_column ::= WDURATION", - /* 520 */ "pseudo_column ::= IROWTS", - /* 521 */ "pseudo_column ::= ISFILLED", - /* 522 */ "pseudo_column ::= QTAGS", - /* 523 */ "function_expression ::= function_name NK_LP expression_list NK_RP", - /* 524 */ "function_expression ::= star_func NK_LP star_func_para_list NK_RP", - /* 525 */ "function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP", - /* 526 */ "function_expression ::= literal_func", - /* 527 */ "literal_func ::= noarg_func NK_LP NK_RP", - /* 528 */ "literal_func ::= NOW", - /* 529 */ "literal_func ::= TODAY", - /* 530 */ "noarg_func ::= NOW", - /* 531 */ "noarg_func ::= TODAY", - /* 532 */ "noarg_func ::= TIMEZONE", - /* 533 */ "noarg_func ::= DATABASE", - /* 534 */ "noarg_func ::= CLIENT_VERSION", - /* 535 */ "noarg_func ::= SERVER_VERSION", - /* 536 */ "noarg_func ::= SERVER_STATUS", - /* 537 */ "noarg_func ::= CURRENT_USER", - /* 538 */ "noarg_func ::= USER", - /* 539 */ "star_func ::= COUNT", - /* 540 */ "star_func ::= FIRST", - /* 541 */ "star_func ::= LAST", - /* 542 */ "star_func ::= LAST_ROW", - /* 543 */ "star_func_para_list ::= NK_STAR", - /* 544 */ "star_func_para_list ::= other_para_list", - /* 545 */ "other_para_list ::= star_func_para", - /* 546 */ "other_para_list ::= other_para_list NK_COMMA star_func_para", - /* 547 */ "star_func_para ::= expr_or_subquery", - /* 548 */ "star_func_para ::= table_name NK_DOT NK_STAR", - /* 549 */ "case_when_expression ::= CASE when_then_list case_when_else_opt END", - /* 550 */ "case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END", - /* 551 */ "when_then_list ::= when_then_expr", - /* 552 */ "when_then_list ::= when_then_list when_then_expr", - /* 553 */ "when_then_expr ::= WHEN common_expression THEN common_expression", - /* 554 */ "case_when_else_opt ::=", - /* 555 */ "case_when_else_opt ::= ELSE common_expression", - /* 556 */ "predicate ::= expr_or_subquery compare_op expr_or_subquery", - /* 557 */ "predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery", - /* 558 */ "predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery", - /* 559 */ "predicate ::= expr_or_subquery IS NULL", - /* 560 */ "predicate ::= expr_or_subquery IS NOT NULL", - /* 561 */ "predicate ::= expr_or_subquery in_op in_predicate_value", - /* 562 */ "compare_op ::= NK_LT", - /* 563 */ "compare_op ::= NK_GT", - /* 564 */ "compare_op ::= NK_LE", - /* 565 */ "compare_op ::= NK_GE", - /* 566 */ "compare_op ::= NK_NE", - /* 567 */ "compare_op ::= NK_EQ", - /* 568 */ "compare_op ::= LIKE", - /* 569 */ "compare_op ::= NOT LIKE", - /* 570 */ "compare_op ::= MATCH", - /* 571 */ "compare_op ::= NMATCH", - /* 572 */ "compare_op ::= CONTAINS", - /* 573 */ "in_op ::= IN", - /* 574 */ "in_op ::= NOT IN", - /* 575 */ "in_predicate_value ::= NK_LP literal_list NK_RP", - /* 576 */ "boolean_value_expression ::= boolean_primary", - /* 577 */ "boolean_value_expression ::= NOT boolean_primary", - /* 578 */ "boolean_value_expression ::= boolean_value_expression OR boolean_value_expression", - /* 579 */ "boolean_value_expression ::= boolean_value_expression AND boolean_value_expression", - /* 580 */ "boolean_primary ::= predicate", - /* 581 */ "boolean_primary ::= NK_LP boolean_value_expression NK_RP", - /* 582 */ "common_expression ::= expr_or_subquery", - /* 583 */ "common_expression ::= boolean_value_expression", - /* 584 */ "from_clause_opt ::=", - /* 585 */ "from_clause_opt ::= FROM table_reference_list", - /* 586 */ "table_reference_list ::= table_reference", - /* 587 */ "table_reference_list ::= table_reference_list NK_COMMA table_reference", - /* 588 */ "table_reference ::= table_primary", - /* 589 */ "table_reference ::= joined_table", - /* 590 */ "table_primary ::= table_name alias_opt", - /* 591 */ "table_primary ::= db_name NK_DOT table_name alias_opt", - /* 592 */ "table_primary ::= subquery alias_opt", - /* 593 */ "table_primary ::= parenthesized_joined_table", - /* 594 */ "alias_opt ::=", - /* 595 */ "alias_opt ::= table_alias", - /* 596 */ "alias_opt ::= AS table_alias", - /* 597 */ "parenthesized_joined_table ::= NK_LP joined_table NK_RP", - /* 598 */ "parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP", - /* 599 */ "joined_table ::= table_reference join_type JOIN table_reference ON search_condition", - /* 600 */ "join_type ::=", - /* 601 */ "join_type ::= INNER", - /* 602 */ "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", - /* 603 */ "hint_list ::=", - /* 604 */ "hint_list ::= NK_HINT", - /* 605 */ "tag_mode_opt ::=", - /* 606 */ "tag_mode_opt ::= TAGS", - /* 607 */ "set_quantifier_opt ::=", - /* 608 */ "set_quantifier_opt ::= DISTINCT", - /* 609 */ "set_quantifier_opt ::= ALL", - /* 610 */ "select_list ::= select_item", - /* 611 */ "select_list ::= select_list NK_COMMA select_item", - /* 612 */ "select_item ::= NK_STAR", - /* 613 */ "select_item ::= common_expression", - /* 614 */ "select_item ::= common_expression column_alias", - /* 615 */ "select_item ::= common_expression AS column_alias", - /* 616 */ "select_item ::= table_name NK_DOT NK_STAR", - /* 617 */ "where_clause_opt ::=", - /* 618 */ "where_clause_opt ::= WHERE search_condition", - /* 619 */ "partition_by_clause_opt ::=", - /* 620 */ "partition_by_clause_opt ::= PARTITION BY partition_list", - /* 621 */ "partition_list ::= partition_item", - /* 622 */ "partition_list ::= partition_list NK_COMMA partition_item", - /* 623 */ "partition_item ::= expr_or_subquery", - /* 624 */ "partition_item ::= expr_or_subquery column_alias", - /* 625 */ "partition_item ::= expr_or_subquery AS column_alias", - /* 626 */ "twindow_clause_opt ::=", - /* 627 */ "twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP", - /* 628 */ "twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP", - /* 629 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt", - /* 630 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt", - /* 631 */ "twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition", - /* 632 */ "twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP", - /* 633 */ "twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP", - /* 634 */ "sliding_opt ::=", - /* 635 */ "sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP", - /* 636 */ "interval_sliding_duration_literal ::= NK_VARIABLE", - /* 637 */ "interval_sliding_duration_literal ::= NK_STRING", - /* 638 */ "interval_sliding_duration_literal ::= NK_INTEGER", - /* 639 */ "fill_opt ::=", - /* 640 */ "fill_opt ::= FILL NK_LP fill_mode NK_RP", - /* 641 */ "fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP", - /* 642 */ "fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP", - /* 643 */ "fill_mode ::= NONE", - /* 644 */ "fill_mode ::= PREV", - /* 645 */ "fill_mode ::= NULL", - /* 646 */ "fill_mode ::= NULL_F", - /* 647 */ "fill_mode ::= LINEAR", - /* 648 */ "fill_mode ::= NEXT", - /* 649 */ "group_by_clause_opt ::=", - /* 650 */ "group_by_clause_opt ::= GROUP BY group_by_list", - /* 651 */ "group_by_list ::= expr_or_subquery", - /* 652 */ "group_by_list ::= group_by_list NK_COMMA expr_or_subquery", - /* 653 */ "having_clause_opt ::=", - /* 654 */ "having_clause_opt ::= HAVING search_condition", - /* 655 */ "range_opt ::=", - /* 656 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP", - /* 657 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_RP", - /* 658 */ "every_opt ::=", - /* 659 */ "every_opt ::= EVERY NK_LP duration_literal NK_RP", - /* 660 */ "query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt", - /* 661 */ "query_simple ::= query_specification", - /* 662 */ "query_simple ::= union_query_expression", - /* 663 */ "union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery", - /* 664 */ "union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery", - /* 665 */ "query_simple_or_subquery ::= query_simple", - /* 666 */ "query_simple_or_subquery ::= subquery", - /* 667 */ "query_or_subquery ::= query_expression", - /* 668 */ "query_or_subquery ::= subquery", - /* 669 */ "order_by_clause_opt ::=", - /* 670 */ "order_by_clause_opt ::= ORDER BY sort_specification_list", - /* 671 */ "slimit_clause_opt ::=", - /* 672 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER", - /* 673 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER", - /* 674 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER", - /* 675 */ "limit_clause_opt ::=", - /* 676 */ "limit_clause_opt ::= LIMIT NK_INTEGER", - /* 677 */ "limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER", - /* 678 */ "limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER", - /* 679 */ "subquery ::= NK_LP query_expression NK_RP", - /* 680 */ "subquery ::= NK_LP subquery NK_RP", - /* 681 */ "search_condition ::= common_expression", - /* 682 */ "sort_specification_list ::= sort_specification", - /* 683 */ "sort_specification_list ::= sort_specification_list NK_COMMA sort_specification", - /* 684 */ "sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt", - /* 685 */ "ordering_specification_opt ::=", - /* 686 */ "ordering_specification_opt ::= ASC", - /* 687 */ "ordering_specification_opt ::= DESC", - /* 688 */ "null_ordering_opt ::=", - /* 689 */ "null_ordering_opt ::= NULLS FIRST", - /* 690 */ "null_ordering_opt ::= NULLS LAST", + /* 219 */ "type_name_default_len ::= BINARY", + /* 220 */ "type_name_default_len ::= NCHAR", + /* 221 */ "type_name_default_len ::= VARCHAR", + /* 222 */ "type_name_default_len ::= VARBINARY", + /* 223 */ "tags_def_opt ::=", + /* 224 */ "tags_def_opt ::= tags_def", + /* 225 */ "tags_def ::= TAGS NK_LP column_def_list NK_RP", + /* 226 */ "table_options ::=", + /* 227 */ "table_options ::= table_options COMMENT NK_STRING", + /* 228 */ "table_options ::= table_options MAX_DELAY duration_list", + /* 229 */ "table_options ::= table_options WATERMARK duration_list", + /* 230 */ "table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP", + /* 231 */ "table_options ::= table_options TTL NK_INTEGER", + /* 232 */ "table_options ::= table_options SMA NK_LP col_name_list NK_RP", + /* 233 */ "table_options ::= table_options DELETE_MARK duration_list", + /* 234 */ "alter_table_options ::= alter_table_option", + /* 235 */ "alter_table_options ::= alter_table_options alter_table_option", + /* 236 */ "alter_table_option ::= COMMENT NK_STRING", + /* 237 */ "alter_table_option ::= TTL NK_INTEGER", + /* 238 */ "duration_list ::= duration_literal", + /* 239 */ "duration_list ::= duration_list NK_COMMA duration_literal", + /* 240 */ "rollup_func_list ::= rollup_func_name", + /* 241 */ "rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name", + /* 242 */ "rollup_func_name ::= function_name", + /* 243 */ "rollup_func_name ::= FIRST", + /* 244 */ "rollup_func_name ::= LAST", + /* 245 */ "col_name_list ::= col_name", + /* 246 */ "col_name_list ::= col_name_list NK_COMMA col_name", + /* 247 */ "col_name ::= column_name", + /* 248 */ "cmd ::= SHOW DNODES", + /* 249 */ "cmd ::= SHOW USERS", + /* 250 */ "cmd ::= SHOW USER PRIVILEGES", + /* 251 */ "cmd ::= SHOW db_kind_opt DATABASES", + /* 252 */ "cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt", + /* 253 */ "cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt", + /* 254 */ "cmd ::= SHOW db_name_cond_opt VGROUPS", + /* 255 */ "cmd ::= SHOW MNODES", + /* 256 */ "cmd ::= SHOW QNODES", + /* 257 */ "cmd ::= SHOW ARBGROUPS", + /* 258 */ "cmd ::= SHOW FUNCTIONS", + /* 259 */ "cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt", + /* 260 */ "cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name", + /* 261 */ "cmd ::= SHOW STREAMS", + /* 262 */ "cmd ::= SHOW ACCOUNTS", + /* 263 */ "cmd ::= SHOW APPS", + /* 264 */ "cmd ::= SHOW CONNECTIONS", + /* 265 */ "cmd ::= SHOW LICENCES", + /* 266 */ "cmd ::= SHOW GRANTS", + /* 267 */ "cmd ::= SHOW GRANTS FULL", + /* 268 */ "cmd ::= SHOW GRANTS LOGS", + /* 269 */ "cmd ::= SHOW CLUSTER MACHINES", + /* 270 */ "cmd ::= SHOW CREATE DATABASE db_name", + /* 271 */ "cmd ::= SHOW CREATE TABLE full_table_name", + /* 272 */ "cmd ::= SHOW CREATE STABLE full_table_name", + /* 273 */ "cmd ::= SHOW QUERIES", + /* 274 */ "cmd ::= SHOW SCORES", + /* 275 */ "cmd ::= SHOW TOPICS", + /* 276 */ "cmd ::= SHOW VARIABLES", + /* 277 */ "cmd ::= SHOW CLUSTER VARIABLES", + /* 278 */ "cmd ::= SHOW LOCAL VARIABLES", + /* 279 */ "cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt", + /* 280 */ "cmd ::= SHOW BNODES", + /* 281 */ "cmd ::= SHOW SNODES", + /* 282 */ "cmd ::= SHOW CLUSTER", + /* 283 */ "cmd ::= SHOW TRANSACTIONS", + /* 284 */ "cmd ::= SHOW TABLE DISTRIBUTED full_table_name", + /* 285 */ "cmd ::= SHOW CONSUMERS", + /* 286 */ "cmd ::= SHOW SUBSCRIPTIONS", + /* 287 */ "cmd ::= SHOW TAGS FROM table_name_cond from_db_opt", + /* 288 */ "cmd ::= SHOW TAGS FROM db_name NK_DOT table_name", + /* 289 */ "cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt", + /* 290 */ "cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name", + /* 291 */ "cmd ::= SHOW VNODES ON DNODE NK_INTEGER", + /* 292 */ "cmd ::= SHOW VNODES", + /* 293 */ "cmd ::= SHOW db_name_cond_opt ALIVE", + /* 294 */ "cmd ::= SHOW CLUSTER ALIVE", + /* 295 */ "cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt", + /* 296 */ "cmd ::= SHOW CREATE VIEW full_table_name", + /* 297 */ "cmd ::= SHOW COMPACTS", + /* 298 */ "cmd ::= SHOW COMPACT NK_INTEGER", + /* 299 */ "table_kind_db_name_cond_opt ::=", + /* 300 */ "table_kind_db_name_cond_opt ::= table_kind", + /* 301 */ "table_kind_db_name_cond_opt ::= db_name NK_DOT", + /* 302 */ "table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT", + /* 303 */ "table_kind ::= NORMAL", + /* 304 */ "table_kind ::= CHILD", + /* 305 */ "db_name_cond_opt ::=", + /* 306 */ "db_name_cond_opt ::= db_name NK_DOT", + /* 307 */ "like_pattern_opt ::=", + /* 308 */ "like_pattern_opt ::= LIKE NK_STRING", + /* 309 */ "table_name_cond ::= table_name", + /* 310 */ "from_db_opt ::=", + /* 311 */ "from_db_opt ::= FROM db_name", + /* 312 */ "tag_list_opt ::=", + /* 313 */ "tag_list_opt ::= tag_item", + /* 314 */ "tag_list_opt ::= tag_list_opt NK_COMMA tag_item", + /* 315 */ "tag_item ::= TBNAME", + /* 316 */ "tag_item ::= QTAGS", + /* 317 */ "tag_item ::= column_name", + /* 318 */ "tag_item ::= column_name column_alias", + /* 319 */ "tag_item ::= column_name AS column_alias", + /* 320 */ "db_kind_opt ::=", + /* 321 */ "db_kind_opt ::= USER", + /* 322 */ "db_kind_opt ::= SYSTEM", + /* 323 */ "cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options", + /* 324 */ "cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP", + /* 325 */ "cmd ::= DROP INDEX exists_opt full_index_name", + /* 326 */ "full_index_name ::= index_name", + /* 327 */ "full_index_name ::= db_name NK_DOT index_name", + /* 328 */ "index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt", + /* 329 */ "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", + /* 330 */ "func_list ::= func", + /* 331 */ "func_list ::= func_list NK_COMMA func", + /* 332 */ "func ::= sma_func_name NK_LP expression_list NK_RP", + /* 333 */ "sma_func_name ::= function_name", + /* 334 */ "sma_func_name ::= COUNT", + /* 335 */ "sma_func_name ::= FIRST", + /* 336 */ "sma_func_name ::= LAST", + /* 337 */ "sma_func_name ::= LAST_ROW", + /* 338 */ "sma_stream_opt ::=", + /* 339 */ "sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal", + /* 340 */ "sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal", + /* 341 */ "sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal", + /* 342 */ "with_meta ::= AS", + /* 343 */ "with_meta ::= WITH META AS", + /* 344 */ "with_meta ::= ONLY META AS", + /* 345 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery", + /* 346 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name", + /* 347 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt", + /* 348 */ "cmd ::= DROP TOPIC exists_opt topic_name", + /* 349 */ "cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name", + /* 350 */ "cmd ::= DESC full_table_name", + /* 351 */ "cmd ::= DESCRIBE full_table_name", + /* 352 */ "cmd ::= RESET QUERY CACHE", + /* 353 */ "cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery", + /* 354 */ "cmd ::= EXPLAIN analyze_opt explain_options insert_query", + /* 355 */ "analyze_opt ::=", + /* 356 */ "analyze_opt ::= ANALYZE", + /* 357 */ "explain_options ::=", + /* 358 */ "explain_options ::= explain_options VERBOSE NK_BOOL", + /* 359 */ "explain_options ::= explain_options RATIO NK_FLOAT", + /* 360 */ "cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt", + /* 361 */ "cmd ::= DROP FUNCTION exists_opt function_name", + /* 362 */ "agg_func_opt ::=", + /* 363 */ "agg_func_opt ::= AGGREGATE", + /* 364 */ "bufsize_opt ::=", + /* 365 */ "bufsize_opt ::= BUFSIZE NK_INTEGER", + /* 366 */ "language_opt ::=", + /* 367 */ "language_opt ::= LANGUAGE NK_STRING", + /* 368 */ "or_replace_opt ::=", + /* 369 */ "or_replace_opt ::= OR REPLACE", + /* 370 */ "cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery", + /* 371 */ "cmd ::= DROP VIEW exists_opt full_view_name", + /* 372 */ "full_view_name ::= view_name", + /* 373 */ "full_view_name ::= db_name NK_DOT view_name", + /* 374 */ "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", + /* 375 */ "cmd ::= DROP STREAM exists_opt stream_name", + /* 376 */ "cmd ::= PAUSE STREAM exists_opt stream_name", + /* 377 */ "cmd ::= RESUME STREAM exists_opt ignore_opt stream_name", + /* 378 */ "col_list_opt ::=", + /* 379 */ "col_list_opt ::= NK_LP col_name_list NK_RP", + /* 380 */ "tag_def_or_ref_opt ::=", + /* 381 */ "tag_def_or_ref_opt ::= tags_def", + /* 382 */ "tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP", + /* 383 */ "stream_options ::=", + /* 384 */ "stream_options ::= stream_options TRIGGER AT_ONCE", + /* 385 */ "stream_options ::= stream_options TRIGGER WINDOW_CLOSE", + /* 386 */ "stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal", + /* 387 */ "stream_options ::= stream_options WATERMARK duration_literal", + /* 388 */ "stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER", + /* 389 */ "stream_options ::= stream_options FILL_HISTORY NK_INTEGER", + /* 390 */ "stream_options ::= stream_options DELETE_MARK duration_literal", + /* 391 */ "stream_options ::= stream_options IGNORE UPDATE NK_INTEGER", + /* 392 */ "subtable_opt ::=", + /* 393 */ "subtable_opt ::= SUBTABLE NK_LP expression NK_RP", + /* 394 */ "ignore_opt ::=", + /* 395 */ "ignore_opt ::= IGNORE UNTREATED", + /* 396 */ "cmd ::= KILL CONNECTION NK_INTEGER", + /* 397 */ "cmd ::= KILL QUERY NK_STRING", + /* 398 */ "cmd ::= KILL TRANSACTION NK_INTEGER", + /* 399 */ "cmd ::= KILL COMPACT NK_INTEGER", + /* 400 */ "cmd ::= BALANCE VGROUP", + /* 401 */ "cmd ::= BALANCE VGROUP LEADER on_vgroup_id", + /* 402 */ "cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER", + /* 403 */ "cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list", + /* 404 */ "cmd ::= SPLIT VGROUP NK_INTEGER", + /* 405 */ "on_vgroup_id ::=", + /* 406 */ "on_vgroup_id ::= ON NK_INTEGER", + /* 407 */ "dnode_list ::= DNODE NK_INTEGER", + /* 408 */ "dnode_list ::= dnode_list DNODE NK_INTEGER", + /* 409 */ "cmd ::= DELETE FROM full_table_name where_clause_opt", + /* 410 */ "cmd ::= query_or_subquery", + /* 411 */ "cmd ::= insert_query", + /* 412 */ "insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery", + /* 413 */ "insert_query ::= INSERT INTO full_table_name query_or_subquery", + /* 414 */ "tags_literal ::= NK_INTEGER", + /* 415 */ "tags_literal ::= NK_INTEGER NK_PLUS duration_literal", + /* 416 */ "tags_literal ::= NK_INTEGER NK_MINUS duration_literal", + /* 417 */ "tags_literal ::= NK_PLUS NK_INTEGER", + /* 418 */ "tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal", + /* 419 */ "tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal", + /* 420 */ "tags_literal ::= NK_MINUS NK_INTEGER", + /* 421 */ "tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal", + /* 422 */ "tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal", + /* 423 */ "tags_literal ::= NK_FLOAT", + /* 424 */ "tags_literal ::= NK_PLUS NK_FLOAT", + /* 425 */ "tags_literal ::= NK_MINUS NK_FLOAT", + /* 426 */ "tags_literal ::= NK_BIN", + /* 427 */ "tags_literal ::= NK_BIN NK_PLUS duration_literal", + /* 428 */ "tags_literal ::= NK_BIN NK_MINUS duration_literal", + /* 429 */ "tags_literal ::= NK_PLUS NK_BIN", + /* 430 */ "tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal", + /* 431 */ "tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal", + /* 432 */ "tags_literal ::= NK_MINUS NK_BIN", + /* 433 */ "tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal", + /* 434 */ "tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal", + /* 435 */ "tags_literal ::= NK_HEX", + /* 436 */ "tags_literal ::= NK_HEX NK_PLUS duration_literal", + /* 437 */ "tags_literal ::= NK_HEX NK_MINUS duration_literal", + /* 438 */ "tags_literal ::= NK_PLUS NK_HEX", + /* 439 */ "tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal", + /* 440 */ "tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal", + /* 441 */ "tags_literal ::= NK_MINUS NK_HEX", + /* 442 */ "tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal", + /* 443 */ "tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal", + /* 444 */ "tags_literal ::= NK_STRING", + /* 445 */ "tags_literal ::= NK_STRING NK_PLUS duration_literal", + /* 446 */ "tags_literal ::= NK_STRING NK_MINUS duration_literal", + /* 447 */ "tags_literal ::= NK_BOOL", + /* 448 */ "tags_literal ::= NULL", + /* 449 */ "tags_literal ::= literal_func", + /* 450 */ "tags_literal ::= literal_func NK_PLUS duration_literal", + /* 451 */ "tags_literal ::= literal_func NK_MINUS duration_literal", + /* 452 */ "tags_literal_list ::= tags_literal", + /* 453 */ "tags_literal_list ::= tags_literal_list NK_COMMA tags_literal", + /* 454 */ "literal ::= NK_INTEGER", + /* 455 */ "literal ::= NK_FLOAT", + /* 456 */ "literal ::= NK_STRING", + /* 457 */ "literal ::= NK_BOOL", + /* 458 */ "literal ::= TIMESTAMP NK_STRING", + /* 459 */ "literal ::= duration_literal", + /* 460 */ "literal ::= NULL", + /* 461 */ "literal ::= NK_QUESTION", + /* 462 */ "duration_literal ::= NK_VARIABLE", + /* 463 */ "signed ::= NK_INTEGER", + /* 464 */ "signed ::= NK_PLUS NK_INTEGER", + /* 465 */ "signed ::= NK_MINUS NK_INTEGER", + /* 466 */ "signed ::= NK_FLOAT", + /* 467 */ "signed ::= NK_PLUS NK_FLOAT", + /* 468 */ "signed ::= NK_MINUS NK_FLOAT", + /* 469 */ "signed_literal ::= signed", + /* 470 */ "signed_literal ::= NK_STRING", + /* 471 */ "signed_literal ::= NK_BOOL", + /* 472 */ "signed_literal ::= TIMESTAMP NK_STRING", + /* 473 */ "signed_literal ::= duration_literal", + /* 474 */ "signed_literal ::= NULL", + /* 475 */ "signed_literal ::= literal_func", + /* 476 */ "signed_literal ::= NK_QUESTION", + /* 477 */ "literal_list ::= signed_literal", + /* 478 */ "literal_list ::= literal_list NK_COMMA signed_literal", + /* 479 */ "db_name ::= NK_ID", + /* 480 */ "table_name ::= NK_ID", + /* 481 */ "column_name ::= NK_ID", + /* 482 */ "function_name ::= NK_ID", + /* 483 */ "view_name ::= NK_ID", + /* 484 */ "table_alias ::= NK_ID", + /* 485 */ "column_alias ::= NK_ID", + /* 486 */ "column_alias ::= NK_ALIAS", + /* 487 */ "user_name ::= NK_ID", + /* 488 */ "topic_name ::= NK_ID", + /* 489 */ "stream_name ::= NK_ID", + /* 490 */ "cgroup_name ::= NK_ID", + /* 491 */ "index_name ::= NK_ID", + /* 492 */ "expr_or_subquery ::= expression", + /* 493 */ "expression ::= literal", + /* 494 */ "expression ::= pseudo_column", + /* 495 */ "expression ::= column_reference", + /* 496 */ "expression ::= function_expression", + /* 497 */ "expression ::= case_when_expression", + /* 498 */ "expression ::= NK_LP expression NK_RP", + /* 499 */ "expression ::= NK_PLUS expr_or_subquery", + /* 500 */ "expression ::= NK_MINUS expr_or_subquery", + /* 501 */ "expression ::= expr_or_subquery NK_PLUS expr_or_subquery", + /* 502 */ "expression ::= expr_or_subquery NK_MINUS expr_or_subquery", + /* 503 */ "expression ::= expr_or_subquery NK_STAR expr_or_subquery", + /* 504 */ "expression ::= expr_or_subquery NK_SLASH expr_or_subquery", + /* 505 */ "expression ::= expr_or_subquery NK_REM expr_or_subquery", + /* 506 */ "expression ::= column_reference NK_ARROW NK_STRING", + /* 507 */ "expression ::= expr_or_subquery NK_BITAND expr_or_subquery", + /* 508 */ "expression ::= expr_or_subquery NK_BITOR expr_or_subquery", + /* 509 */ "expression_list ::= expr_or_subquery", + /* 510 */ "expression_list ::= expression_list NK_COMMA expr_or_subquery", + /* 511 */ "column_reference ::= column_name", + /* 512 */ "column_reference ::= table_name NK_DOT column_name", + /* 513 */ "column_reference ::= NK_ALIAS", + /* 514 */ "column_reference ::= table_name NK_DOT NK_ALIAS", + /* 515 */ "pseudo_column ::= ROWTS", + /* 516 */ "pseudo_column ::= TBNAME", + /* 517 */ "pseudo_column ::= table_name NK_DOT TBNAME", + /* 518 */ "pseudo_column ::= QSTART", + /* 519 */ "pseudo_column ::= QEND", + /* 520 */ "pseudo_column ::= QDURATION", + /* 521 */ "pseudo_column ::= WSTART", + /* 522 */ "pseudo_column ::= WEND", + /* 523 */ "pseudo_column ::= WDURATION", + /* 524 */ "pseudo_column ::= IROWTS", + /* 525 */ "pseudo_column ::= ISFILLED", + /* 526 */ "pseudo_column ::= QTAGS", + /* 527 */ "function_expression ::= function_name NK_LP expression_list NK_RP", + /* 528 */ "function_expression ::= star_func NK_LP star_func_para_list NK_RP", + /* 529 */ "function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP", + /* 530 */ "function_expression ::= CAST NK_LP expr_or_subquery AS type_name_default_len NK_RP", + /* 531 */ "function_expression ::= literal_func", + /* 532 */ "literal_func ::= noarg_func NK_LP NK_RP", + /* 533 */ "literal_func ::= NOW", + /* 534 */ "literal_func ::= TODAY", + /* 535 */ "noarg_func ::= NOW", + /* 536 */ "noarg_func ::= TODAY", + /* 537 */ "noarg_func ::= TIMEZONE", + /* 538 */ "noarg_func ::= DATABASE", + /* 539 */ "noarg_func ::= CLIENT_VERSION", + /* 540 */ "noarg_func ::= SERVER_VERSION", + /* 541 */ "noarg_func ::= SERVER_STATUS", + /* 542 */ "noarg_func ::= CURRENT_USER", + /* 543 */ "noarg_func ::= USER", + /* 544 */ "star_func ::= COUNT", + /* 545 */ "star_func ::= FIRST", + /* 546 */ "star_func ::= LAST", + /* 547 */ "star_func ::= LAST_ROW", + /* 548 */ "star_func_para_list ::= NK_STAR", + /* 549 */ "star_func_para_list ::= other_para_list", + /* 550 */ "other_para_list ::= star_func_para", + /* 551 */ "other_para_list ::= other_para_list NK_COMMA star_func_para", + /* 552 */ "star_func_para ::= expr_or_subquery", + /* 553 */ "star_func_para ::= table_name NK_DOT NK_STAR", + /* 554 */ "case_when_expression ::= CASE when_then_list case_when_else_opt END", + /* 555 */ "case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END", + /* 556 */ "when_then_list ::= when_then_expr", + /* 557 */ "when_then_list ::= when_then_list when_then_expr", + /* 558 */ "when_then_expr ::= WHEN common_expression THEN common_expression", + /* 559 */ "case_when_else_opt ::=", + /* 560 */ "case_when_else_opt ::= ELSE common_expression", + /* 561 */ "predicate ::= expr_or_subquery compare_op expr_or_subquery", + /* 562 */ "predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery", + /* 563 */ "predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery", + /* 564 */ "predicate ::= expr_or_subquery IS NULL", + /* 565 */ "predicate ::= expr_or_subquery IS NOT NULL", + /* 566 */ "predicate ::= expr_or_subquery in_op in_predicate_value", + /* 567 */ "compare_op ::= NK_LT", + /* 568 */ "compare_op ::= NK_GT", + /* 569 */ "compare_op ::= NK_LE", + /* 570 */ "compare_op ::= NK_GE", + /* 571 */ "compare_op ::= NK_NE", + /* 572 */ "compare_op ::= NK_EQ", + /* 573 */ "compare_op ::= LIKE", + /* 574 */ "compare_op ::= NOT LIKE", + /* 575 */ "compare_op ::= MATCH", + /* 576 */ "compare_op ::= NMATCH", + /* 577 */ "compare_op ::= CONTAINS", + /* 578 */ "in_op ::= IN", + /* 579 */ "in_op ::= NOT IN", + /* 580 */ "in_predicate_value ::= NK_LP literal_list NK_RP", + /* 581 */ "boolean_value_expression ::= boolean_primary", + /* 582 */ "boolean_value_expression ::= NOT boolean_primary", + /* 583 */ "boolean_value_expression ::= boolean_value_expression OR boolean_value_expression", + /* 584 */ "boolean_value_expression ::= boolean_value_expression AND boolean_value_expression", + /* 585 */ "boolean_primary ::= predicate", + /* 586 */ "boolean_primary ::= NK_LP boolean_value_expression NK_RP", + /* 587 */ "common_expression ::= expr_or_subquery", + /* 588 */ "common_expression ::= boolean_value_expression", + /* 589 */ "from_clause_opt ::=", + /* 590 */ "from_clause_opt ::= FROM table_reference_list", + /* 591 */ "table_reference_list ::= table_reference", + /* 592 */ "table_reference_list ::= table_reference_list NK_COMMA table_reference", + /* 593 */ "table_reference ::= table_primary", + /* 594 */ "table_reference ::= joined_table", + /* 595 */ "table_primary ::= table_name alias_opt", + /* 596 */ "table_primary ::= db_name NK_DOT table_name alias_opt", + /* 597 */ "table_primary ::= subquery alias_opt", + /* 598 */ "table_primary ::= parenthesized_joined_table", + /* 599 */ "alias_opt ::=", + /* 600 */ "alias_opt ::= table_alias", + /* 601 */ "alias_opt ::= AS table_alias", + /* 602 */ "parenthesized_joined_table ::= NK_LP joined_table NK_RP", + /* 603 */ "parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP", + /* 604 */ "joined_table ::= table_reference join_type JOIN table_reference ON search_condition", + /* 605 */ "join_type ::=", + /* 606 */ "join_type ::= INNER", + /* 607 */ "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", + /* 608 */ "hint_list ::=", + /* 609 */ "hint_list ::= NK_HINT", + /* 610 */ "tag_mode_opt ::=", + /* 611 */ "tag_mode_opt ::= TAGS", + /* 612 */ "set_quantifier_opt ::=", + /* 613 */ "set_quantifier_opt ::= DISTINCT", + /* 614 */ "set_quantifier_opt ::= ALL", + /* 615 */ "select_list ::= select_item", + /* 616 */ "select_list ::= select_list NK_COMMA select_item", + /* 617 */ "select_item ::= NK_STAR", + /* 618 */ "select_item ::= common_expression", + /* 619 */ "select_item ::= common_expression column_alias", + /* 620 */ "select_item ::= common_expression AS column_alias", + /* 621 */ "select_item ::= table_name NK_DOT NK_STAR", + /* 622 */ "where_clause_opt ::=", + /* 623 */ "where_clause_opt ::= WHERE search_condition", + /* 624 */ "partition_by_clause_opt ::=", + /* 625 */ "partition_by_clause_opt ::= PARTITION BY partition_list", + /* 626 */ "partition_list ::= partition_item", + /* 627 */ "partition_list ::= partition_list NK_COMMA partition_item", + /* 628 */ "partition_item ::= expr_or_subquery", + /* 629 */ "partition_item ::= expr_or_subquery column_alias", + /* 630 */ "partition_item ::= expr_or_subquery AS column_alias", + /* 631 */ "twindow_clause_opt ::=", + /* 632 */ "twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP", + /* 633 */ "twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP", + /* 634 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt", + /* 635 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt", + /* 636 */ "twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition", + /* 637 */ "twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP", + /* 638 */ "twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP", + /* 639 */ "sliding_opt ::=", + /* 640 */ "sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP", + /* 641 */ "interval_sliding_duration_literal ::= NK_VARIABLE", + /* 642 */ "interval_sliding_duration_literal ::= NK_STRING", + /* 643 */ "interval_sliding_duration_literal ::= NK_INTEGER", + /* 644 */ "fill_opt ::=", + /* 645 */ "fill_opt ::= FILL NK_LP fill_mode NK_RP", + /* 646 */ "fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP", + /* 647 */ "fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP", + /* 648 */ "fill_mode ::= NONE", + /* 649 */ "fill_mode ::= PREV", + /* 650 */ "fill_mode ::= NULL", + /* 651 */ "fill_mode ::= NULL_F", + /* 652 */ "fill_mode ::= LINEAR", + /* 653 */ "fill_mode ::= NEXT", + /* 654 */ "group_by_clause_opt ::=", + /* 655 */ "group_by_clause_opt ::= GROUP BY group_by_list", + /* 656 */ "group_by_list ::= expr_or_subquery", + /* 657 */ "group_by_list ::= group_by_list NK_COMMA expr_or_subquery", + /* 658 */ "having_clause_opt ::=", + /* 659 */ "having_clause_opt ::= HAVING search_condition", + /* 660 */ "range_opt ::=", + /* 661 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP", + /* 662 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_RP", + /* 663 */ "every_opt ::=", + /* 664 */ "every_opt ::= EVERY NK_LP duration_literal NK_RP", + /* 665 */ "query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt", + /* 666 */ "query_simple ::= query_specification", + /* 667 */ "query_simple ::= union_query_expression", + /* 668 */ "union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery", + /* 669 */ "union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery", + /* 670 */ "query_simple_or_subquery ::= query_simple", + /* 671 */ "query_simple_or_subquery ::= subquery", + /* 672 */ "query_or_subquery ::= query_expression", + /* 673 */ "query_or_subquery ::= subquery", + /* 674 */ "order_by_clause_opt ::=", + /* 675 */ "order_by_clause_opt ::= ORDER BY sort_specification_list", + /* 676 */ "slimit_clause_opt ::=", + /* 677 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER", + /* 678 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER", + /* 679 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER", + /* 680 */ "limit_clause_opt ::=", + /* 681 */ "limit_clause_opt ::= LIMIT NK_INTEGER", + /* 682 */ "limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER", + /* 683 */ "limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER", + /* 684 */ "subquery ::= NK_LP query_expression NK_RP", + /* 685 */ "subquery ::= NK_LP subquery NK_RP", + /* 686 */ "search_condition ::= common_expression", + /* 687 */ "sort_specification_list ::= sort_specification", + /* 688 */ "sort_specification_list ::= sort_specification_list NK_COMMA sort_specification", + /* 689 */ "sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt", + /* 690 */ "ordering_specification_opt ::=", + /* 691 */ "ordering_specification_opt ::= ASC", + /* 692 */ "ordering_specification_opt ::= DESC", + /* 693 */ "null_ordering_opt ::=", + /* 694 */ "null_ordering_opt ::= NULLS FIRST", + /* 695 */ "null_ordering_opt ::= NULLS LAST", }; #endif /* NDEBUG */ @@ -2916,77 +3298,81 @@ static void yy_destructor( case 401: /* create_subtable_clause */ case 404: /* drop_table_clause */ case 406: /* column_def */ - case 410: /* duration_literal */ - case 411: /* rollup_func_name */ - case 413: /* col_name */ - case 416: /* like_pattern_opt */ - case 417: /* db_name_cond_opt */ - case 418: /* table_name_cond */ - case 419: /* from_db_opt */ - case 422: /* tag_item */ - case 424: /* index_options */ - case 425: /* full_index_name */ - case 428: /* sliding_opt */ - case 429: /* sma_stream_opt */ - case 430: /* func */ - case 434: /* query_or_subquery */ - case 435: /* where_clause_opt */ - case 438: /* explain_options */ - case 439: /* insert_query */ - case 444: /* full_view_name */ - case 447: /* stream_options */ - case 450: /* subtable_opt */ - case 452: /* expression */ - case 455: /* literal_func */ - case 456: /* signed_literal */ - case 459: /* expr_or_subquery */ - case 460: /* pseudo_column */ - case 461: /* column_reference */ - case 462: /* function_expression */ - case 463: /* case_when_expression */ - case 468: /* star_func_para */ - case 470: /* case_when_else_opt */ - case 471: /* common_expression */ - case 472: /* when_then_expr */ - case 473: /* predicate */ - case 476: /* in_predicate_value */ - case 477: /* boolean_value_expression */ - case 478: /* boolean_primary */ - case 479: /* from_clause_opt */ - case 480: /* table_reference_list */ - case 481: /* table_reference */ - case 482: /* table_primary */ - case 483: /* joined_table */ - case 485: /* subquery */ - case 486: /* parenthesized_joined_table */ - case 488: /* query_specification */ - case 494: /* range_opt */ - case 495: /* every_opt */ - case 496: /* fill_opt */ - case 497: /* twindow_clause_opt */ - case 499: /* having_clause_opt */ - case 500: /* select_item */ - case 502: /* partition_item */ - case 503: /* interval_sliding_duration_literal */ - case 506: /* query_expression */ - case 507: /* query_simple */ - case 509: /* slimit_clause_opt */ - case 510: /* limit_clause_opt */ - case 511: /* union_query_expression */ - case 512: /* query_simple_or_subquery */ - case 514: /* sort_specification */ + case 411: /* duration_literal */ + case 412: /* rollup_func_name */ + case 414: /* col_name */ + case 417: /* like_pattern_opt */ + case 418: /* db_name_cond_opt */ + case 419: /* table_name_cond */ + case 420: /* from_db_opt */ + case 423: /* tag_item */ + case 425: /* index_options */ + case 426: /* full_index_name */ + case 429: /* sliding_opt */ + case 430: /* sma_stream_opt */ + case 431: /* func */ + case 435: /* query_or_subquery */ + case 436: /* where_clause_opt */ + case 439: /* explain_options */ + case 440: /* insert_query */ + case 445: /* full_view_name */ + case 448: /* stream_options */ + case 451: /* subtable_opt */ + case 453: /* expression */ + case 456: /* literal_func */ + case 457: /* signed_literal */ + case 460: /* expr_or_subquery */ + case 461: /* pseudo_column */ + case 462: /* column_reference */ + case 463: /* function_expression */ + case 464: /* case_when_expression */ + case 469: /* star_func_para */ + case 471: /* case_when_else_opt */ + case 472: /* common_expression */ + case 473: /* when_then_expr */ + case 474: /* predicate */ + case 477: /* in_predicate_value */ + case 478: /* boolean_value_expression */ + case 479: /* boolean_primary */ + case 480: /* from_clause_opt */ + case 481: /* table_reference_list */ + case 482: /* table_reference */ + case 483: /* table_primary */ + case 484: /* joined_table */ + case 486: /* subquery */ + case 487: /* parenthesized_joined_table */ + case 489: /* query_specification */ + case 495: /* range_opt */ + case 496: /* every_opt */ + case 497: /* fill_opt */ + case 498: /* twindow_clause_opt */ + case 500: /* having_clause_opt */ + case 501: /* select_item */ + case 503: /* partition_item */ + case 504: /* interval_sliding_duration_literal */ + case 507: /* query_expression */ + case 508: /* query_simple */ + case 510: /* slimit_clause_opt */ + case 511: /* limit_clause_opt */ + case 512: /* union_query_expression */ + case 513: /* query_simple_or_subquery */ + case 515: /* sort_specification */ { - nodesDestroyNode((yypminor->yy718)); +#line 7 "sql.y" + nodesDestroyNode((yypminor->yy896)); +#line 3363 "sql.c" } break; case 355: /* account_options */ case 356: /* alter_account_options */ case 358: /* alter_account_option */ case 380: /* speed_opt */ - case 433: /* with_meta */ - case 442: /* bufsize_opt */ + case 434: /* with_meta */ + case 443: /* bufsize_opt */ { +#line 54 "sql.y" +#line 3375 "sql.c" } break; case 359: /* ip_range_list */ @@ -3003,28 +3389,30 @@ static void yy_destructor( case 402: /* specific_cols_opt */ case 403: /* tags_literal_list */ case 405: /* col_name_list */ - case 407: /* duration_list */ - case 408: /* rollup_func_list */ - case 420: /* tag_list_opt */ - case 427: /* func_list */ - case 432: /* expression_list */ - case 448: /* col_list_opt */ - case 449: /* tag_def_or_ref_opt */ - case 454: /* dnode_list */ - case 457: /* literal_list */ - case 465: /* star_func_para_list */ - case 467: /* other_para_list */ - case 469: /* when_then_list */ - case 489: /* hint_list */ - case 492: /* select_list */ - case 493: /* partition_by_clause_opt */ - case 498: /* group_by_clause_opt */ - case 501: /* partition_list */ - case 505: /* group_by_list */ - case 508: /* order_by_clause_opt */ - case 513: /* sort_specification_list */ + case 408: /* duration_list */ + case 409: /* rollup_func_list */ + case 421: /* tag_list_opt */ + case 428: /* func_list */ + case 433: /* expression_list */ + case 449: /* col_list_opt */ + case 450: /* tag_def_or_ref_opt */ + case 455: /* dnode_list */ + case 458: /* literal_list */ + case 466: /* star_func_para_list */ + case 468: /* other_para_list */ + case 470: /* when_then_list */ + case 490: /* hint_list */ + case 493: /* select_list */ + case 494: /* partition_by_clause_opt */ + case 499: /* group_by_clause_opt */ + case 502: /* partition_list */ + case 506: /* group_by_list */ + case 509: /* order_by_clause_opt */ + case 514: /* sort_specification_list */ { - nodesDestroyList((yypminor->yy552)); +#line 85 "sql.y" + nodesDestroyList((yypminor->yy404)); +#line 3415 "sql.c" } break; case 362: /* user_name */ @@ -3033,100 +3421,129 @@ static void yy_destructor( case 371: /* topic_name */ case 373: /* dnode_endpoint */ case 398: /* column_name */ - case 412: /* function_name */ - case 423: /* column_alias */ - case 426: /* index_name */ - case 431: /* sma_func_name */ - case 436: /* cgroup_name */ - case 443: /* language_opt */ - case 445: /* view_name */ - case 446: /* stream_name */ - case 453: /* on_vgroup_id */ - case 458: /* table_alias */ - case 464: /* star_func */ - case 466: /* noarg_func */ - case 484: /* alias_opt */ + case 413: /* function_name */ + case 424: /* column_alias */ + case 427: /* index_name */ + case 432: /* sma_func_name */ + case 437: /* cgroup_name */ + case 444: /* language_opt */ + case 446: /* view_name */ + case 447: /* stream_name */ + case 454: /* on_vgroup_id */ + case 459: /* table_alias */ + case 465: /* star_func */ + case 467: /* noarg_func */ + case 485: /* alias_opt */ { +#line 1017 "sql.y" +#line 3440 "sql.c" } break; case 363: /* sysinfo_opt */ { +#line 112 "sql.y" +#line 3447 "sql.c" } break; case 364: /* privileges */ case 367: /* priv_type_list */ case 368: /* priv_type */ { +#line 121 "sql.y" +#line 3456 "sql.c" } break; case 365: /* priv_level */ { +#line 138 "sql.y" +#line 3463 "sql.c" } break; case 374: /* force_opt */ case 375: /* unsafe_opt */ case 376: /* not_exists_opt */ case 378: /* exists_opt */ - case 437: /* analyze_opt */ - case 440: /* or_replace_opt */ - case 441: /* agg_func_opt */ - case 451: /* ignore_opt */ - case 490: /* set_quantifier_opt */ - case 491: /* tag_mode_opt */ + case 438: /* analyze_opt */ + case 441: /* or_replace_opt */ + case 442: /* agg_func_opt */ + case 452: /* ignore_opt */ + case 491: /* set_quantifier_opt */ + case 492: /* tag_mode_opt */ { +#line 167 "sql.y" +#line 3479 "sql.c" } break; case 387: /* alter_db_option */ - case 409: /* alter_table_option */ + case 410: /* alter_table_option */ { +#line 269 "sql.y" +#line 3487 "sql.c" } break; case 399: /* type_name */ + case 407: /* type_name_default_len */ { +#line 392 "sql.y" +#line 3495 "sql.c" } break; - case 414: /* db_kind_opt */ - case 421: /* table_kind */ + case 415: /* db_kind_opt */ + case 422: /* table_kind */ { +#line 568 "sql.y" +#line 3503 "sql.c" } break; - case 415: /* table_kind_db_name_cond_opt */ + case 416: /* table_kind_db_name_cond_opt */ { +#line 533 "sql.y" +#line 3510 "sql.c" } break; - case 474: /* compare_op */ - case 475: /* in_op */ + case 475: /* compare_op */ + case 476: /* in_op */ { +#line 1211 "sql.y" +#line 3518 "sql.c" } break; - case 487: /* join_type */ + case 488: /* join_type */ { +#line 1287 "sql.y" +#line 3525 "sql.c" } break; - case 504: /* fill_mode */ + case 505: /* fill_mode */ { +#line 1382 "sql.y" +#line 3532 "sql.c" } break; - case 515: /* ordering_specification_opt */ + case 516: /* ordering_specification_opt */ { +#line 1467 "sql.y" +#line 3539 "sql.c" } break; - case 516: /* null_ordering_opt */ + case 517: /* null_ordering_opt */ { +#line 1473 "sql.y" +#line 3546 "sql.c" } break; /********* End destructor definitions *****************************************/ @@ -3293,7 +3710,7 @@ static YYACTIONTYPE yy_find_shift_action( #endif /* YYWILDCARD */ return yy_default[stateno]; }else{ - assert( i>=0 && i=0 && i<(int)(sizeof(yy_action)/sizeof(yy_action[0])) ); return yy_action[i]; } }while(1); @@ -3634,478 +4051,483 @@ static const YYCODETYPE yyRuleInfoLhs[] = { 399, /* (216) type_name ::= DECIMAL */ 399, /* (217) type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */ 399, /* (218) type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ - 391, /* (219) tags_def_opt ::= */ - 391, /* (220) tags_def_opt ::= tags_def */ - 394, /* (221) tags_def ::= TAGS NK_LP column_def_list NK_RP */ - 392, /* (222) table_options ::= */ - 392, /* (223) table_options ::= table_options COMMENT NK_STRING */ - 392, /* (224) table_options ::= table_options MAX_DELAY duration_list */ - 392, /* (225) table_options ::= table_options WATERMARK duration_list */ - 392, /* (226) table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ - 392, /* (227) table_options ::= table_options TTL NK_INTEGER */ - 392, /* (228) table_options ::= table_options SMA NK_LP col_name_list NK_RP */ - 392, /* (229) table_options ::= table_options DELETE_MARK duration_list */ - 397, /* (230) alter_table_options ::= alter_table_option */ - 397, /* (231) alter_table_options ::= alter_table_options alter_table_option */ - 409, /* (232) alter_table_option ::= COMMENT NK_STRING */ - 409, /* (233) alter_table_option ::= TTL NK_INTEGER */ - 407, /* (234) duration_list ::= duration_literal */ - 407, /* (235) duration_list ::= duration_list NK_COMMA duration_literal */ - 408, /* (236) rollup_func_list ::= rollup_func_name */ - 408, /* (237) rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ - 411, /* (238) rollup_func_name ::= function_name */ - 411, /* (239) rollup_func_name ::= FIRST */ - 411, /* (240) rollup_func_name ::= LAST */ - 405, /* (241) col_name_list ::= col_name */ - 405, /* (242) col_name_list ::= col_name_list NK_COMMA col_name */ - 413, /* (243) col_name ::= column_name */ - 354, /* (244) cmd ::= SHOW DNODES */ - 354, /* (245) cmd ::= SHOW USERS */ - 354, /* (246) cmd ::= SHOW USER PRIVILEGES */ - 354, /* (247) cmd ::= SHOW db_kind_opt DATABASES */ - 354, /* (248) cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ - 354, /* (249) cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ - 354, /* (250) cmd ::= SHOW db_name_cond_opt VGROUPS */ - 354, /* (251) cmd ::= SHOW MNODES */ - 354, /* (252) cmd ::= SHOW QNODES */ - 354, /* (253) cmd ::= SHOW ARBGROUPS */ - 354, /* (254) cmd ::= SHOW FUNCTIONS */ - 354, /* (255) cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ - 354, /* (256) cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ - 354, /* (257) cmd ::= SHOW STREAMS */ - 354, /* (258) cmd ::= SHOW ACCOUNTS */ - 354, /* (259) cmd ::= SHOW APPS */ - 354, /* (260) cmd ::= SHOW CONNECTIONS */ - 354, /* (261) cmd ::= SHOW LICENCES */ - 354, /* (262) cmd ::= SHOW GRANTS */ - 354, /* (263) cmd ::= SHOW GRANTS FULL */ - 354, /* (264) cmd ::= SHOW GRANTS LOGS */ - 354, /* (265) cmd ::= SHOW CLUSTER MACHINES */ - 354, /* (266) cmd ::= SHOW CREATE DATABASE db_name */ - 354, /* (267) cmd ::= SHOW CREATE TABLE full_table_name */ - 354, /* (268) cmd ::= SHOW CREATE STABLE full_table_name */ - 354, /* (269) cmd ::= SHOW QUERIES */ - 354, /* (270) cmd ::= SHOW SCORES */ - 354, /* (271) cmd ::= SHOW TOPICS */ - 354, /* (272) cmd ::= SHOW VARIABLES */ - 354, /* (273) cmd ::= SHOW CLUSTER VARIABLES */ - 354, /* (274) cmd ::= SHOW LOCAL VARIABLES */ - 354, /* (275) cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ - 354, /* (276) cmd ::= SHOW BNODES */ - 354, /* (277) cmd ::= SHOW SNODES */ - 354, /* (278) cmd ::= SHOW CLUSTER */ - 354, /* (279) cmd ::= SHOW TRANSACTIONS */ - 354, /* (280) cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ - 354, /* (281) cmd ::= SHOW CONSUMERS */ - 354, /* (282) cmd ::= SHOW SUBSCRIPTIONS */ - 354, /* (283) cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ - 354, /* (284) cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ - 354, /* (285) cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ - 354, /* (286) cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name */ - 354, /* (287) cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ - 354, /* (288) cmd ::= SHOW VNODES */ - 354, /* (289) cmd ::= SHOW db_name_cond_opt ALIVE */ - 354, /* (290) cmd ::= SHOW CLUSTER ALIVE */ - 354, /* (291) cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt */ - 354, /* (292) cmd ::= SHOW CREATE VIEW full_table_name */ - 354, /* (293) cmd ::= SHOW COMPACTS */ - 354, /* (294) cmd ::= SHOW COMPACT NK_INTEGER */ - 415, /* (295) table_kind_db_name_cond_opt ::= */ - 415, /* (296) table_kind_db_name_cond_opt ::= table_kind */ - 415, /* (297) table_kind_db_name_cond_opt ::= db_name NK_DOT */ - 415, /* (298) table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ - 421, /* (299) table_kind ::= NORMAL */ - 421, /* (300) table_kind ::= CHILD */ - 417, /* (301) db_name_cond_opt ::= */ - 417, /* (302) db_name_cond_opt ::= db_name NK_DOT */ - 416, /* (303) like_pattern_opt ::= */ - 416, /* (304) like_pattern_opt ::= LIKE NK_STRING */ - 418, /* (305) table_name_cond ::= table_name */ - 419, /* (306) from_db_opt ::= */ - 419, /* (307) from_db_opt ::= FROM db_name */ - 420, /* (308) tag_list_opt ::= */ - 420, /* (309) tag_list_opt ::= tag_item */ - 420, /* (310) tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ - 422, /* (311) tag_item ::= TBNAME */ - 422, /* (312) tag_item ::= QTAGS */ - 422, /* (313) tag_item ::= column_name */ - 422, /* (314) tag_item ::= column_name column_alias */ - 422, /* (315) tag_item ::= column_name AS column_alias */ - 414, /* (316) db_kind_opt ::= */ - 414, /* (317) db_kind_opt ::= USER */ - 414, /* (318) db_kind_opt ::= SYSTEM */ - 354, /* (319) cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options */ - 354, /* (320) cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP */ - 354, /* (321) cmd ::= DROP INDEX exists_opt full_index_name */ - 425, /* (322) full_index_name ::= index_name */ - 425, /* (323) full_index_name ::= db_name NK_DOT index_name */ - 424, /* (324) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ - 424, /* (325) 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 */ - 427, /* (326) func_list ::= func */ - 427, /* (327) func_list ::= func_list NK_COMMA func */ - 430, /* (328) func ::= sma_func_name NK_LP expression_list NK_RP */ - 431, /* (329) sma_func_name ::= function_name */ - 431, /* (330) sma_func_name ::= COUNT */ - 431, /* (331) sma_func_name ::= FIRST */ - 431, /* (332) sma_func_name ::= LAST */ - 431, /* (333) sma_func_name ::= LAST_ROW */ - 429, /* (334) sma_stream_opt ::= */ - 429, /* (335) sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ - 429, /* (336) sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ - 429, /* (337) sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ - 433, /* (338) with_meta ::= AS */ - 433, /* (339) with_meta ::= WITH META AS */ - 433, /* (340) with_meta ::= ONLY META AS */ - 354, /* (341) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ - 354, /* (342) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ - 354, /* (343) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ - 354, /* (344) cmd ::= DROP TOPIC exists_opt topic_name */ - 354, /* (345) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ - 354, /* (346) cmd ::= DESC full_table_name */ - 354, /* (347) cmd ::= DESCRIBE full_table_name */ - 354, /* (348) cmd ::= RESET QUERY CACHE */ - 354, /* (349) cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ - 354, /* (350) cmd ::= EXPLAIN analyze_opt explain_options insert_query */ - 437, /* (351) analyze_opt ::= */ - 437, /* (352) analyze_opt ::= ANALYZE */ - 438, /* (353) explain_options ::= */ - 438, /* (354) explain_options ::= explain_options VERBOSE NK_BOOL */ - 438, /* (355) explain_options ::= explain_options RATIO NK_FLOAT */ - 354, /* (356) cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt */ - 354, /* (357) cmd ::= DROP FUNCTION exists_opt function_name */ - 441, /* (358) agg_func_opt ::= */ - 441, /* (359) agg_func_opt ::= AGGREGATE */ - 442, /* (360) bufsize_opt ::= */ - 442, /* (361) bufsize_opt ::= BUFSIZE NK_INTEGER */ - 443, /* (362) language_opt ::= */ - 443, /* (363) language_opt ::= LANGUAGE NK_STRING */ - 440, /* (364) or_replace_opt ::= */ - 440, /* (365) or_replace_opt ::= OR REPLACE */ - 354, /* (366) cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ - 354, /* (367) cmd ::= DROP VIEW exists_opt full_view_name */ - 444, /* (368) full_view_name ::= view_name */ - 444, /* (369) full_view_name ::= db_name NK_DOT view_name */ - 354, /* (370) 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 */ - 354, /* (371) cmd ::= DROP STREAM exists_opt stream_name */ - 354, /* (372) cmd ::= PAUSE STREAM exists_opt stream_name */ - 354, /* (373) cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ - 448, /* (374) col_list_opt ::= */ - 448, /* (375) col_list_opt ::= NK_LP col_name_list NK_RP */ - 449, /* (376) tag_def_or_ref_opt ::= */ - 449, /* (377) tag_def_or_ref_opt ::= tags_def */ - 449, /* (378) tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ - 447, /* (379) stream_options ::= */ - 447, /* (380) stream_options ::= stream_options TRIGGER AT_ONCE */ - 447, /* (381) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ - 447, /* (382) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ - 447, /* (383) stream_options ::= stream_options WATERMARK duration_literal */ - 447, /* (384) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ - 447, /* (385) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ - 447, /* (386) stream_options ::= stream_options DELETE_MARK duration_literal */ - 447, /* (387) stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ - 450, /* (388) subtable_opt ::= */ - 450, /* (389) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ - 451, /* (390) ignore_opt ::= */ - 451, /* (391) ignore_opt ::= IGNORE UNTREATED */ - 354, /* (392) cmd ::= KILL CONNECTION NK_INTEGER */ - 354, /* (393) cmd ::= KILL QUERY NK_STRING */ - 354, /* (394) cmd ::= KILL TRANSACTION NK_INTEGER */ - 354, /* (395) cmd ::= KILL COMPACT NK_INTEGER */ - 354, /* (396) cmd ::= BALANCE VGROUP */ - 354, /* (397) cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ - 354, /* (398) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ - 354, /* (399) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ - 354, /* (400) cmd ::= SPLIT VGROUP NK_INTEGER */ - 453, /* (401) on_vgroup_id ::= */ - 453, /* (402) on_vgroup_id ::= ON NK_INTEGER */ - 454, /* (403) dnode_list ::= DNODE NK_INTEGER */ - 454, /* (404) dnode_list ::= dnode_list DNODE NK_INTEGER */ - 354, /* (405) cmd ::= DELETE FROM full_table_name where_clause_opt */ - 354, /* (406) cmd ::= query_or_subquery */ - 354, /* (407) cmd ::= insert_query */ - 439, /* (408) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ - 439, /* (409) insert_query ::= INSERT INTO full_table_name query_or_subquery */ - 400, /* (410) tags_literal ::= NK_INTEGER */ - 400, /* (411) tags_literal ::= NK_INTEGER NK_PLUS duration_literal */ - 400, /* (412) tags_literal ::= NK_INTEGER NK_MINUS duration_literal */ - 400, /* (413) tags_literal ::= NK_PLUS NK_INTEGER */ - 400, /* (414) tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal */ - 400, /* (415) tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal */ - 400, /* (416) tags_literal ::= NK_MINUS NK_INTEGER */ - 400, /* (417) tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal */ - 400, /* (418) tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal */ - 400, /* (419) tags_literal ::= NK_FLOAT */ - 400, /* (420) tags_literal ::= NK_PLUS NK_FLOAT */ - 400, /* (421) tags_literal ::= NK_MINUS NK_FLOAT */ - 400, /* (422) tags_literal ::= NK_BIN */ - 400, /* (423) tags_literal ::= NK_BIN NK_PLUS duration_literal */ - 400, /* (424) tags_literal ::= NK_BIN NK_MINUS duration_literal */ - 400, /* (425) tags_literal ::= NK_PLUS NK_BIN */ - 400, /* (426) tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal */ - 400, /* (427) tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal */ - 400, /* (428) tags_literal ::= NK_MINUS NK_BIN */ - 400, /* (429) tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal */ - 400, /* (430) tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal */ - 400, /* (431) tags_literal ::= NK_HEX */ - 400, /* (432) tags_literal ::= NK_HEX NK_PLUS duration_literal */ - 400, /* (433) tags_literal ::= NK_HEX NK_MINUS duration_literal */ - 400, /* (434) tags_literal ::= NK_PLUS NK_HEX */ - 400, /* (435) tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal */ - 400, /* (436) tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal */ - 400, /* (437) tags_literal ::= NK_MINUS NK_HEX */ - 400, /* (438) tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal */ - 400, /* (439) tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal */ - 400, /* (440) tags_literal ::= NK_STRING */ - 400, /* (441) tags_literal ::= NK_STRING NK_PLUS duration_literal */ - 400, /* (442) tags_literal ::= NK_STRING NK_MINUS duration_literal */ - 400, /* (443) tags_literal ::= NK_BOOL */ - 400, /* (444) tags_literal ::= NULL */ - 400, /* (445) tags_literal ::= literal_func */ - 400, /* (446) tags_literal ::= literal_func NK_PLUS duration_literal */ - 400, /* (447) tags_literal ::= literal_func NK_MINUS duration_literal */ - 403, /* (448) tags_literal_list ::= tags_literal */ - 403, /* (449) tags_literal_list ::= tags_literal_list NK_COMMA tags_literal */ - 357, /* (450) literal ::= NK_INTEGER */ - 357, /* (451) literal ::= NK_FLOAT */ - 357, /* (452) literal ::= NK_STRING */ - 357, /* (453) literal ::= NK_BOOL */ - 357, /* (454) literal ::= TIMESTAMP NK_STRING */ - 357, /* (455) literal ::= duration_literal */ - 357, /* (456) literal ::= NULL */ - 357, /* (457) literal ::= NK_QUESTION */ - 410, /* (458) duration_literal ::= NK_VARIABLE */ - 386, /* (459) signed ::= NK_INTEGER */ - 386, /* (460) signed ::= NK_PLUS NK_INTEGER */ - 386, /* (461) signed ::= NK_MINUS NK_INTEGER */ - 386, /* (462) signed ::= NK_FLOAT */ - 386, /* (463) signed ::= NK_PLUS NK_FLOAT */ - 386, /* (464) signed ::= NK_MINUS NK_FLOAT */ - 456, /* (465) signed_literal ::= signed */ - 456, /* (466) signed_literal ::= NK_STRING */ - 456, /* (467) signed_literal ::= NK_BOOL */ - 456, /* (468) signed_literal ::= TIMESTAMP NK_STRING */ - 456, /* (469) signed_literal ::= duration_literal */ - 456, /* (470) signed_literal ::= NULL */ - 456, /* (471) signed_literal ::= literal_func */ - 456, /* (472) signed_literal ::= NK_QUESTION */ - 457, /* (473) literal_list ::= signed_literal */ - 457, /* (474) literal_list ::= literal_list NK_COMMA signed_literal */ - 369, /* (475) db_name ::= NK_ID */ - 370, /* (476) table_name ::= NK_ID */ - 398, /* (477) column_name ::= NK_ID */ - 412, /* (478) function_name ::= NK_ID */ - 445, /* (479) view_name ::= NK_ID */ - 458, /* (480) table_alias ::= NK_ID */ - 423, /* (481) column_alias ::= NK_ID */ - 423, /* (482) column_alias ::= NK_ALIAS */ - 362, /* (483) user_name ::= NK_ID */ - 371, /* (484) topic_name ::= NK_ID */ - 446, /* (485) stream_name ::= NK_ID */ - 436, /* (486) cgroup_name ::= NK_ID */ - 426, /* (487) index_name ::= NK_ID */ - 459, /* (488) expr_or_subquery ::= expression */ - 452, /* (489) expression ::= literal */ - 452, /* (490) expression ::= pseudo_column */ - 452, /* (491) expression ::= column_reference */ - 452, /* (492) expression ::= function_expression */ - 452, /* (493) expression ::= case_when_expression */ - 452, /* (494) expression ::= NK_LP expression NK_RP */ - 452, /* (495) expression ::= NK_PLUS expr_or_subquery */ - 452, /* (496) expression ::= NK_MINUS expr_or_subquery */ - 452, /* (497) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ - 452, /* (498) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ - 452, /* (499) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ - 452, /* (500) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ - 452, /* (501) expression ::= expr_or_subquery NK_REM expr_or_subquery */ - 452, /* (502) expression ::= column_reference NK_ARROW NK_STRING */ - 452, /* (503) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ - 452, /* (504) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ - 432, /* (505) expression_list ::= expr_or_subquery */ - 432, /* (506) expression_list ::= expression_list NK_COMMA expr_or_subquery */ - 461, /* (507) column_reference ::= column_name */ - 461, /* (508) column_reference ::= table_name NK_DOT column_name */ - 461, /* (509) column_reference ::= NK_ALIAS */ - 461, /* (510) column_reference ::= table_name NK_DOT NK_ALIAS */ - 460, /* (511) pseudo_column ::= ROWTS */ - 460, /* (512) pseudo_column ::= TBNAME */ - 460, /* (513) pseudo_column ::= table_name NK_DOT TBNAME */ - 460, /* (514) pseudo_column ::= QSTART */ - 460, /* (515) pseudo_column ::= QEND */ - 460, /* (516) pseudo_column ::= QDURATION */ - 460, /* (517) pseudo_column ::= WSTART */ - 460, /* (518) pseudo_column ::= WEND */ - 460, /* (519) pseudo_column ::= WDURATION */ - 460, /* (520) pseudo_column ::= IROWTS */ - 460, /* (521) pseudo_column ::= ISFILLED */ - 460, /* (522) pseudo_column ::= QTAGS */ - 462, /* (523) function_expression ::= function_name NK_LP expression_list NK_RP */ - 462, /* (524) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ - 462, /* (525) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ - 462, /* (526) function_expression ::= literal_func */ - 455, /* (527) literal_func ::= noarg_func NK_LP NK_RP */ - 455, /* (528) literal_func ::= NOW */ - 455, /* (529) literal_func ::= TODAY */ - 466, /* (530) noarg_func ::= NOW */ - 466, /* (531) noarg_func ::= TODAY */ - 466, /* (532) noarg_func ::= TIMEZONE */ - 466, /* (533) noarg_func ::= DATABASE */ - 466, /* (534) noarg_func ::= CLIENT_VERSION */ - 466, /* (535) noarg_func ::= SERVER_VERSION */ - 466, /* (536) noarg_func ::= SERVER_STATUS */ - 466, /* (537) noarg_func ::= CURRENT_USER */ - 466, /* (538) noarg_func ::= USER */ - 464, /* (539) star_func ::= COUNT */ - 464, /* (540) star_func ::= FIRST */ - 464, /* (541) star_func ::= LAST */ - 464, /* (542) star_func ::= LAST_ROW */ - 465, /* (543) star_func_para_list ::= NK_STAR */ - 465, /* (544) star_func_para_list ::= other_para_list */ - 467, /* (545) other_para_list ::= star_func_para */ - 467, /* (546) other_para_list ::= other_para_list NK_COMMA star_func_para */ - 468, /* (547) star_func_para ::= expr_or_subquery */ - 468, /* (548) star_func_para ::= table_name NK_DOT NK_STAR */ - 463, /* (549) case_when_expression ::= CASE when_then_list case_when_else_opt END */ - 463, /* (550) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ - 469, /* (551) when_then_list ::= when_then_expr */ - 469, /* (552) when_then_list ::= when_then_list when_then_expr */ - 472, /* (553) when_then_expr ::= WHEN common_expression THEN common_expression */ - 470, /* (554) case_when_else_opt ::= */ - 470, /* (555) case_when_else_opt ::= ELSE common_expression */ - 473, /* (556) predicate ::= expr_or_subquery compare_op expr_or_subquery */ - 473, /* (557) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ - 473, /* (558) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ - 473, /* (559) predicate ::= expr_or_subquery IS NULL */ - 473, /* (560) predicate ::= expr_or_subquery IS NOT NULL */ - 473, /* (561) predicate ::= expr_or_subquery in_op in_predicate_value */ - 474, /* (562) compare_op ::= NK_LT */ - 474, /* (563) compare_op ::= NK_GT */ - 474, /* (564) compare_op ::= NK_LE */ - 474, /* (565) compare_op ::= NK_GE */ - 474, /* (566) compare_op ::= NK_NE */ - 474, /* (567) compare_op ::= NK_EQ */ - 474, /* (568) compare_op ::= LIKE */ - 474, /* (569) compare_op ::= NOT LIKE */ - 474, /* (570) compare_op ::= MATCH */ - 474, /* (571) compare_op ::= NMATCH */ - 474, /* (572) compare_op ::= CONTAINS */ - 475, /* (573) in_op ::= IN */ - 475, /* (574) in_op ::= NOT IN */ - 476, /* (575) in_predicate_value ::= NK_LP literal_list NK_RP */ - 477, /* (576) boolean_value_expression ::= boolean_primary */ - 477, /* (577) boolean_value_expression ::= NOT boolean_primary */ - 477, /* (578) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ - 477, /* (579) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ - 478, /* (580) boolean_primary ::= predicate */ - 478, /* (581) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ - 471, /* (582) common_expression ::= expr_or_subquery */ - 471, /* (583) common_expression ::= boolean_value_expression */ - 479, /* (584) from_clause_opt ::= */ - 479, /* (585) from_clause_opt ::= FROM table_reference_list */ - 480, /* (586) table_reference_list ::= table_reference */ - 480, /* (587) table_reference_list ::= table_reference_list NK_COMMA table_reference */ - 481, /* (588) table_reference ::= table_primary */ - 481, /* (589) table_reference ::= joined_table */ - 482, /* (590) table_primary ::= table_name alias_opt */ - 482, /* (591) table_primary ::= db_name NK_DOT table_name alias_opt */ - 482, /* (592) table_primary ::= subquery alias_opt */ - 482, /* (593) table_primary ::= parenthesized_joined_table */ - 484, /* (594) alias_opt ::= */ - 484, /* (595) alias_opt ::= table_alias */ - 484, /* (596) alias_opt ::= AS table_alias */ - 486, /* (597) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ - 486, /* (598) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ - 483, /* (599) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ - 487, /* (600) join_type ::= */ - 487, /* (601) join_type ::= INNER */ - 488, /* (602) 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 */ - 489, /* (603) hint_list ::= */ - 489, /* (604) hint_list ::= NK_HINT */ - 491, /* (605) tag_mode_opt ::= */ - 491, /* (606) tag_mode_opt ::= TAGS */ - 490, /* (607) set_quantifier_opt ::= */ - 490, /* (608) set_quantifier_opt ::= DISTINCT */ - 490, /* (609) set_quantifier_opt ::= ALL */ - 492, /* (610) select_list ::= select_item */ - 492, /* (611) select_list ::= select_list NK_COMMA select_item */ - 500, /* (612) select_item ::= NK_STAR */ - 500, /* (613) select_item ::= common_expression */ - 500, /* (614) select_item ::= common_expression column_alias */ - 500, /* (615) select_item ::= common_expression AS column_alias */ - 500, /* (616) select_item ::= table_name NK_DOT NK_STAR */ - 435, /* (617) where_clause_opt ::= */ - 435, /* (618) where_clause_opt ::= WHERE search_condition */ - 493, /* (619) partition_by_clause_opt ::= */ - 493, /* (620) partition_by_clause_opt ::= PARTITION BY partition_list */ - 501, /* (621) partition_list ::= partition_item */ - 501, /* (622) partition_list ::= partition_list NK_COMMA partition_item */ - 502, /* (623) partition_item ::= expr_or_subquery */ - 502, /* (624) partition_item ::= expr_or_subquery column_alias */ - 502, /* (625) partition_item ::= expr_or_subquery AS column_alias */ - 497, /* (626) twindow_clause_opt ::= */ - 497, /* (627) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ - 497, /* (628) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ - 497, /* (629) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ - 497, /* (630) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ - 497, /* (631) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ - 497, /* (632) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ - 497, /* (633) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ - 428, /* (634) sliding_opt ::= */ - 428, /* (635) sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ - 503, /* (636) interval_sliding_duration_literal ::= NK_VARIABLE */ - 503, /* (637) interval_sliding_duration_literal ::= NK_STRING */ - 503, /* (638) interval_sliding_duration_literal ::= NK_INTEGER */ - 496, /* (639) fill_opt ::= */ - 496, /* (640) fill_opt ::= FILL NK_LP fill_mode NK_RP */ - 496, /* (641) fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ - 496, /* (642) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ - 504, /* (643) fill_mode ::= NONE */ - 504, /* (644) fill_mode ::= PREV */ - 504, /* (645) fill_mode ::= NULL */ - 504, /* (646) fill_mode ::= NULL_F */ - 504, /* (647) fill_mode ::= LINEAR */ - 504, /* (648) fill_mode ::= NEXT */ - 498, /* (649) group_by_clause_opt ::= */ - 498, /* (650) group_by_clause_opt ::= GROUP BY group_by_list */ - 505, /* (651) group_by_list ::= expr_or_subquery */ - 505, /* (652) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ - 499, /* (653) having_clause_opt ::= */ - 499, /* (654) having_clause_opt ::= HAVING search_condition */ - 494, /* (655) range_opt ::= */ - 494, /* (656) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ - 494, /* (657) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ - 495, /* (658) every_opt ::= */ - 495, /* (659) every_opt ::= EVERY NK_LP duration_literal NK_RP */ - 506, /* (660) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ - 507, /* (661) query_simple ::= query_specification */ - 507, /* (662) query_simple ::= union_query_expression */ - 511, /* (663) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ - 511, /* (664) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ - 512, /* (665) query_simple_or_subquery ::= query_simple */ - 512, /* (666) query_simple_or_subquery ::= subquery */ - 434, /* (667) query_or_subquery ::= query_expression */ - 434, /* (668) query_or_subquery ::= subquery */ - 508, /* (669) order_by_clause_opt ::= */ - 508, /* (670) order_by_clause_opt ::= ORDER BY sort_specification_list */ - 509, /* (671) slimit_clause_opt ::= */ - 509, /* (672) slimit_clause_opt ::= SLIMIT NK_INTEGER */ - 509, /* (673) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - 509, /* (674) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - 510, /* (675) limit_clause_opt ::= */ - 510, /* (676) limit_clause_opt ::= LIMIT NK_INTEGER */ - 510, /* (677) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ - 510, /* (678) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - 485, /* (679) subquery ::= NK_LP query_expression NK_RP */ - 485, /* (680) subquery ::= NK_LP subquery NK_RP */ - 372, /* (681) search_condition ::= common_expression */ - 513, /* (682) sort_specification_list ::= sort_specification */ - 513, /* (683) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ - 514, /* (684) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ - 515, /* (685) ordering_specification_opt ::= */ - 515, /* (686) ordering_specification_opt ::= ASC */ - 515, /* (687) ordering_specification_opt ::= DESC */ - 516, /* (688) null_ordering_opt ::= */ - 516, /* (689) null_ordering_opt ::= NULLS FIRST */ - 516, /* (690) null_ordering_opt ::= NULLS LAST */ + 407, /* (219) type_name_default_len ::= BINARY */ + 407, /* (220) type_name_default_len ::= NCHAR */ + 407, /* (221) type_name_default_len ::= VARCHAR */ + 407, /* (222) type_name_default_len ::= VARBINARY */ + 391, /* (223) tags_def_opt ::= */ + 391, /* (224) tags_def_opt ::= tags_def */ + 394, /* (225) tags_def ::= TAGS NK_LP column_def_list NK_RP */ + 392, /* (226) table_options ::= */ + 392, /* (227) table_options ::= table_options COMMENT NK_STRING */ + 392, /* (228) table_options ::= table_options MAX_DELAY duration_list */ + 392, /* (229) table_options ::= table_options WATERMARK duration_list */ + 392, /* (230) table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ + 392, /* (231) table_options ::= table_options TTL NK_INTEGER */ + 392, /* (232) table_options ::= table_options SMA NK_LP col_name_list NK_RP */ + 392, /* (233) table_options ::= table_options DELETE_MARK duration_list */ + 397, /* (234) alter_table_options ::= alter_table_option */ + 397, /* (235) alter_table_options ::= alter_table_options alter_table_option */ + 410, /* (236) alter_table_option ::= COMMENT NK_STRING */ + 410, /* (237) alter_table_option ::= TTL NK_INTEGER */ + 408, /* (238) duration_list ::= duration_literal */ + 408, /* (239) duration_list ::= duration_list NK_COMMA duration_literal */ + 409, /* (240) rollup_func_list ::= rollup_func_name */ + 409, /* (241) rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ + 412, /* (242) rollup_func_name ::= function_name */ + 412, /* (243) rollup_func_name ::= FIRST */ + 412, /* (244) rollup_func_name ::= LAST */ + 405, /* (245) col_name_list ::= col_name */ + 405, /* (246) col_name_list ::= col_name_list NK_COMMA col_name */ + 414, /* (247) col_name ::= column_name */ + 354, /* (248) cmd ::= SHOW DNODES */ + 354, /* (249) cmd ::= SHOW USERS */ + 354, /* (250) cmd ::= SHOW USER PRIVILEGES */ + 354, /* (251) cmd ::= SHOW db_kind_opt DATABASES */ + 354, /* (252) cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ + 354, /* (253) cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ + 354, /* (254) cmd ::= SHOW db_name_cond_opt VGROUPS */ + 354, /* (255) cmd ::= SHOW MNODES */ + 354, /* (256) cmd ::= SHOW QNODES */ + 354, /* (257) cmd ::= SHOW ARBGROUPS */ + 354, /* (258) cmd ::= SHOW FUNCTIONS */ + 354, /* (259) cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ + 354, /* (260) cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ + 354, /* (261) cmd ::= SHOW STREAMS */ + 354, /* (262) cmd ::= SHOW ACCOUNTS */ + 354, /* (263) cmd ::= SHOW APPS */ + 354, /* (264) cmd ::= SHOW CONNECTIONS */ + 354, /* (265) cmd ::= SHOW LICENCES */ + 354, /* (266) cmd ::= SHOW GRANTS */ + 354, /* (267) cmd ::= SHOW GRANTS FULL */ + 354, /* (268) cmd ::= SHOW GRANTS LOGS */ + 354, /* (269) cmd ::= SHOW CLUSTER MACHINES */ + 354, /* (270) cmd ::= SHOW CREATE DATABASE db_name */ + 354, /* (271) cmd ::= SHOW CREATE TABLE full_table_name */ + 354, /* (272) cmd ::= SHOW CREATE STABLE full_table_name */ + 354, /* (273) cmd ::= SHOW QUERIES */ + 354, /* (274) cmd ::= SHOW SCORES */ + 354, /* (275) cmd ::= SHOW TOPICS */ + 354, /* (276) cmd ::= SHOW VARIABLES */ + 354, /* (277) cmd ::= SHOW CLUSTER VARIABLES */ + 354, /* (278) cmd ::= SHOW LOCAL VARIABLES */ + 354, /* (279) cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ + 354, /* (280) cmd ::= SHOW BNODES */ + 354, /* (281) cmd ::= SHOW SNODES */ + 354, /* (282) cmd ::= SHOW CLUSTER */ + 354, /* (283) cmd ::= SHOW TRANSACTIONS */ + 354, /* (284) cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ + 354, /* (285) cmd ::= SHOW CONSUMERS */ + 354, /* (286) cmd ::= SHOW SUBSCRIPTIONS */ + 354, /* (287) cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ + 354, /* (288) cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ + 354, /* (289) cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ + 354, /* (290) cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name */ + 354, /* (291) cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ + 354, /* (292) cmd ::= SHOW VNODES */ + 354, /* (293) cmd ::= SHOW db_name_cond_opt ALIVE */ + 354, /* (294) cmd ::= SHOW CLUSTER ALIVE */ + 354, /* (295) cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt */ + 354, /* (296) cmd ::= SHOW CREATE VIEW full_table_name */ + 354, /* (297) cmd ::= SHOW COMPACTS */ + 354, /* (298) cmd ::= SHOW COMPACT NK_INTEGER */ + 416, /* (299) table_kind_db_name_cond_opt ::= */ + 416, /* (300) table_kind_db_name_cond_opt ::= table_kind */ + 416, /* (301) table_kind_db_name_cond_opt ::= db_name NK_DOT */ + 416, /* (302) table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ + 422, /* (303) table_kind ::= NORMAL */ + 422, /* (304) table_kind ::= CHILD */ + 418, /* (305) db_name_cond_opt ::= */ + 418, /* (306) db_name_cond_opt ::= db_name NK_DOT */ + 417, /* (307) like_pattern_opt ::= */ + 417, /* (308) like_pattern_opt ::= LIKE NK_STRING */ + 419, /* (309) table_name_cond ::= table_name */ + 420, /* (310) from_db_opt ::= */ + 420, /* (311) from_db_opt ::= FROM db_name */ + 421, /* (312) tag_list_opt ::= */ + 421, /* (313) tag_list_opt ::= tag_item */ + 421, /* (314) tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ + 423, /* (315) tag_item ::= TBNAME */ + 423, /* (316) tag_item ::= QTAGS */ + 423, /* (317) tag_item ::= column_name */ + 423, /* (318) tag_item ::= column_name column_alias */ + 423, /* (319) tag_item ::= column_name AS column_alias */ + 415, /* (320) db_kind_opt ::= */ + 415, /* (321) db_kind_opt ::= USER */ + 415, /* (322) db_kind_opt ::= SYSTEM */ + 354, /* (323) cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options */ + 354, /* (324) cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP */ + 354, /* (325) cmd ::= DROP INDEX exists_opt full_index_name */ + 426, /* (326) full_index_name ::= index_name */ + 426, /* (327) full_index_name ::= db_name NK_DOT index_name */ + 425, /* (328) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ + 425, /* (329) 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 */ + 428, /* (330) func_list ::= func */ + 428, /* (331) func_list ::= func_list NK_COMMA func */ + 431, /* (332) func ::= sma_func_name NK_LP expression_list NK_RP */ + 432, /* (333) sma_func_name ::= function_name */ + 432, /* (334) sma_func_name ::= COUNT */ + 432, /* (335) sma_func_name ::= FIRST */ + 432, /* (336) sma_func_name ::= LAST */ + 432, /* (337) sma_func_name ::= LAST_ROW */ + 430, /* (338) sma_stream_opt ::= */ + 430, /* (339) sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ + 430, /* (340) sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ + 430, /* (341) sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ + 434, /* (342) with_meta ::= AS */ + 434, /* (343) with_meta ::= WITH META AS */ + 434, /* (344) with_meta ::= ONLY META AS */ + 354, /* (345) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ + 354, /* (346) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ + 354, /* (347) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ + 354, /* (348) cmd ::= DROP TOPIC exists_opt topic_name */ + 354, /* (349) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ + 354, /* (350) cmd ::= DESC full_table_name */ + 354, /* (351) cmd ::= DESCRIBE full_table_name */ + 354, /* (352) cmd ::= RESET QUERY CACHE */ + 354, /* (353) cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ + 354, /* (354) cmd ::= EXPLAIN analyze_opt explain_options insert_query */ + 438, /* (355) analyze_opt ::= */ + 438, /* (356) analyze_opt ::= ANALYZE */ + 439, /* (357) explain_options ::= */ + 439, /* (358) explain_options ::= explain_options VERBOSE NK_BOOL */ + 439, /* (359) explain_options ::= explain_options RATIO NK_FLOAT */ + 354, /* (360) cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt */ + 354, /* (361) cmd ::= DROP FUNCTION exists_opt function_name */ + 442, /* (362) agg_func_opt ::= */ + 442, /* (363) agg_func_opt ::= AGGREGATE */ + 443, /* (364) bufsize_opt ::= */ + 443, /* (365) bufsize_opt ::= BUFSIZE NK_INTEGER */ + 444, /* (366) language_opt ::= */ + 444, /* (367) language_opt ::= LANGUAGE NK_STRING */ + 441, /* (368) or_replace_opt ::= */ + 441, /* (369) or_replace_opt ::= OR REPLACE */ + 354, /* (370) cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ + 354, /* (371) cmd ::= DROP VIEW exists_opt full_view_name */ + 445, /* (372) full_view_name ::= view_name */ + 445, /* (373) full_view_name ::= db_name NK_DOT view_name */ + 354, /* (374) 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 */ + 354, /* (375) cmd ::= DROP STREAM exists_opt stream_name */ + 354, /* (376) cmd ::= PAUSE STREAM exists_opt stream_name */ + 354, /* (377) cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ + 449, /* (378) col_list_opt ::= */ + 449, /* (379) col_list_opt ::= NK_LP col_name_list NK_RP */ + 450, /* (380) tag_def_or_ref_opt ::= */ + 450, /* (381) tag_def_or_ref_opt ::= tags_def */ + 450, /* (382) tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ + 448, /* (383) stream_options ::= */ + 448, /* (384) stream_options ::= stream_options TRIGGER AT_ONCE */ + 448, /* (385) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ + 448, /* (386) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ + 448, /* (387) stream_options ::= stream_options WATERMARK duration_literal */ + 448, /* (388) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ + 448, /* (389) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ + 448, /* (390) stream_options ::= stream_options DELETE_MARK duration_literal */ + 448, /* (391) stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ + 451, /* (392) subtable_opt ::= */ + 451, /* (393) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ + 452, /* (394) ignore_opt ::= */ + 452, /* (395) ignore_opt ::= IGNORE UNTREATED */ + 354, /* (396) cmd ::= KILL CONNECTION NK_INTEGER */ + 354, /* (397) cmd ::= KILL QUERY NK_STRING */ + 354, /* (398) cmd ::= KILL TRANSACTION NK_INTEGER */ + 354, /* (399) cmd ::= KILL COMPACT NK_INTEGER */ + 354, /* (400) cmd ::= BALANCE VGROUP */ + 354, /* (401) cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ + 354, /* (402) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ + 354, /* (403) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ + 354, /* (404) cmd ::= SPLIT VGROUP NK_INTEGER */ + 454, /* (405) on_vgroup_id ::= */ + 454, /* (406) on_vgroup_id ::= ON NK_INTEGER */ + 455, /* (407) dnode_list ::= DNODE NK_INTEGER */ + 455, /* (408) dnode_list ::= dnode_list DNODE NK_INTEGER */ + 354, /* (409) cmd ::= DELETE FROM full_table_name where_clause_opt */ + 354, /* (410) cmd ::= query_or_subquery */ + 354, /* (411) cmd ::= insert_query */ + 440, /* (412) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ + 440, /* (413) insert_query ::= INSERT INTO full_table_name query_or_subquery */ + 400, /* (414) tags_literal ::= NK_INTEGER */ + 400, /* (415) tags_literal ::= NK_INTEGER NK_PLUS duration_literal */ + 400, /* (416) tags_literal ::= NK_INTEGER NK_MINUS duration_literal */ + 400, /* (417) tags_literal ::= NK_PLUS NK_INTEGER */ + 400, /* (418) tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal */ + 400, /* (419) tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal */ + 400, /* (420) tags_literal ::= NK_MINUS NK_INTEGER */ + 400, /* (421) tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal */ + 400, /* (422) tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal */ + 400, /* (423) tags_literal ::= NK_FLOAT */ + 400, /* (424) tags_literal ::= NK_PLUS NK_FLOAT */ + 400, /* (425) tags_literal ::= NK_MINUS NK_FLOAT */ + 400, /* (426) tags_literal ::= NK_BIN */ + 400, /* (427) tags_literal ::= NK_BIN NK_PLUS duration_literal */ + 400, /* (428) tags_literal ::= NK_BIN NK_MINUS duration_literal */ + 400, /* (429) tags_literal ::= NK_PLUS NK_BIN */ + 400, /* (430) tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal */ + 400, /* (431) tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal */ + 400, /* (432) tags_literal ::= NK_MINUS NK_BIN */ + 400, /* (433) tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal */ + 400, /* (434) tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal */ + 400, /* (435) tags_literal ::= NK_HEX */ + 400, /* (436) tags_literal ::= NK_HEX NK_PLUS duration_literal */ + 400, /* (437) tags_literal ::= NK_HEX NK_MINUS duration_literal */ + 400, /* (438) tags_literal ::= NK_PLUS NK_HEX */ + 400, /* (439) tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal */ + 400, /* (440) tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal */ + 400, /* (441) tags_literal ::= NK_MINUS NK_HEX */ + 400, /* (442) tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal */ + 400, /* (443) tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal */ + 400, /* (444) tags_literal ::= NK_STRING */ + 400, /* (445) tags_literal ::= NK_STRING NK_PLUS duration_literal */ + 400, /* (446) tags_literal ::= NK_STRING NK_MINUS duration_literal */ + 400, /* (447) tags_literal ::= NK_BOOL */ + 400, /* (448) tags_literal ::= NULL */ + 400, /* (449) tags_literal ::= literal_func */ + 400, /* (450) tags_literal ::= literal_func NK_PLUS duration_literal */ + 400, /* (451) tags_literal ::= literal_func NK_MINUS duration_literal */ + 403, /* (452) tags_literal_list ::= tags_literal */ + 403, /* (453) tags_literal_list ::= tags_literal_list NK_COMMA tags_literal */ + 357, /* (454) literal ::= NK_INTEGER */ + 357, /* (455) literal ::= NK_FLOAT */ + 357, /* (456) literal ::= NK_STRING */ + 357, /* (457) literal ::= NK_BOOL */ + 357, /* (458) literal ::= TIMESTAMP NK_STRING */ + 357, /* (459) literal ::= duration_literal */ + 357, /* (460) literal ::= NULL */ + 357, /* (461) literal ::= NK_QUESTION */ + 411, /* (462) duration_literal ::= NK_VARIABLE */ + 386, /* (463) signed ::= NK_INTEGER */ + 386, /* (464) signed ::= NK_PLUS NK_INTEGER */ + 386, /* (465) signed ::= NK_MINUS NK_INTEGER */ + 386, /* (466) signed ::= NK_FLOAT */ + 386, /* (467) signed ::= NK_PLUS NK_FLOAT */ + 386, /* (468) signed ::= NK_MINUS NK_FLOAT */ + 457, /* (469) signed_literal ::= signed */ + 457, /* (470) signed_literal ::= NK_STRING */ + 457, /* (471) signed_literal ::= NK_BOOL */ + 457, /* (472) signed_literal ::= TIMESTAMP NK_STRING */ + 457, /* (473) signed_literal ::= duration_literal */ + 457, /* (474) signed_literal ::= NULL */ + 457, /* (475) signed_literal ::= literal_func */ + 457, /* (476) signed_literal ::= NK_QUESTION */ + 458, /* (477) literal_list ::= signed_literal */ + 458, /* (478) literal_list ::= literal_list NK_COMMA signed_literal */ + 369, /* (479) db_name ::= NK_ID */ + 370, /* (480) table_name ::= NK_ID */ + 398, /* (481) column_name ::= NK_ID */ + 413, /* (482) function_name ::= NK_ID */ + 446, /* (483) view_name ::= NK_ID */ + 459, /* (484) table_alias ::= NK_ID */ + 424, /* (485) column_alias ::= NK_ID */ + 424, /* (486) column_alias ::= NK_ALIAS */ + 362, /* (487) user_name ::= NK_ID */ + 371, /* (488) topic_name ::= NK_ID */ + 447, /* (489) stream_name ::= NK_ID */ + 437, /* (490) cgroup_name ::= NK_ID */ + 427, /* (491) index_name ::= NK_ID */ + 460, /* (492) expr_or_subquery ::= expression */ + 453, /* (493) expression ::= literal */ + 453, /* (494) expression ::= pseudo_column */ + 453, /* (495) expression ::= column_reference */ + 453, /* (496) expression ::= function_expression */ + 453, /* (497) expression ::= case_when_expression */ + 453, /* (498) expression ::= NK_LP expression NK_RP */ + 453, /* (499) expression ::= NK_PLUS expr_or_subquery */ + 453, /* (500) expression ::= NK_MINUS expr_or_subquery */ + 453, /* (501) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ + 453, /* (502) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ + 453, /* (503) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ + 453, /* (504) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ + 453, /* (505) expression ::= expr_or_subquery NK_REM expr_or_subquery */ + 453, /* (506) expression ::= column_reference NK_ARROW NK_STRING */ + 453, /* (507) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ + 453, /* (508) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ + 433, /* (509) expression_list ::= expr_or_subquery */ + 433, /* (510) expression_list ::= expression_list NK_COMMA expr_or_subquery */ + 462, /* (511) column_reference ::= column_name */ + 462, /* (512) column_reference ::= table_name NK_DOT column_name */ + 462, /* (513) column_reference ::= NK_ALIAS */ + 462, /* (514) column_reference ::= table_name NK_DOT NK_ALIAS */ + 461, /* (515) pseudo_column ::= ROWTS */ + 461, /* (516) pseudo_column ::= TBNAME */ + 461, /* (517) pseudo_column ::= table_name NK_DOT TBNAME */ + 461, /* (518) pseudo_column ::= QSTART */ + 461, /* (519) pseudo_column ::= QEND */ + 461, /* (520) pseudo_column ::= QDURATION */ + 461, /* (521) pseudo_column ::= WSTART */ + 461, /* (522) pseudo_column ::= WEND */ + 461, /* (523) pseudo_column ::= WDURATION */ + 461, /* (524) pseudo_column ::= IROWTS */ + 461, /* (525) pseudo_column ::= ISFILLED */ + 461, /* (526) pseudo_column ::= QTAGS */ + 463, /* (527) function_expression ::= function_name NK_LP expression_list NK_RP */ + 463, /* (528) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ + 463, /* (529) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ + 463, /* (530) function_expression ::= CAST NK_LP expr_or_subquery AS type_name_default_len NK_RP */ + 463, /* (531) function_expression ::= literal_func */ + 456, /* (532) literal_func ::= noarg_func NK_LP NK_RP */ + 456, /* (533) literal_func ::= NOW */ + 456, /* (534) literal_func ::= TODAY */ + 467, /* (535) noarg_func ::= NOW */ + 467, /* (536) noarg_func ::= TODAY */ + 467, /* (537) noarg_func ::= TIMEZONE */ + 467, /* (538) noarg_func ::= DATABASE */ + 467, /* (539) noarg_func ::= CLIENT_VERSION */ + 467, /* (540) noarg_func ::= SERVER_VERSION */ + 467, /* (541) noarg_func ::= SERVER_STATUS */ + 467, /* (542) noarg_func ::= CURRENT_USER */ + 467, /* (543) noarg_func ::= USER */ + 465, /* (544) star_func ::= COUNT */ + 465, /* (545) star_func ::= FIRST */ + 465, /* (546) star_func ::= LAST */ + 465, /* (547) star_func ::= LAST_ROW */ + 466, /* (548) star_func_para_list ::= NK_STAR */ + 466, /* (549) star_func_para_list ::= other_para_list */ + 468, /* (550) other_para_list ::= star_func_para */ + 468, /* (551) other_para_list ::= other_para_list NK_COMMA star_func_para */ + 469, /* (552) star_func_para ::= expr_or_subquery */ + 469, /* (553) star_func_para ::= table_name NK_DOT NK_STAR */ + 464, /* (554) case_when_expression ::= CASE when_then_list case_when_else_opt END */ + 464, /* (555) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ + 470, /* (556) when_then_list ::= when_then_expr */ + 470, /* (557) when_then_list ::= when_then_list when_then_expr */ + 473, /* (558) when_then_expr ::= WHEN common_expression THEN common_expression */ + 471, /* (559) case_when_else_opt ::= */ + 471, /* (560) case_when_else_opt ::= ELSE common_expression */ + 474, /* (561) predicate ::= expr_or_subquery compare_op expr_or_subquery */ + 474, /* (562) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ + 474, /* (563) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ + 474, /* (564) predicate ::= expr_or_subquery IS NULL */ + 474, /* (565) predicate ::= expr_or_subquery IS NOT NULL */ + 474, /* (566) predicate ::= expr_or_subquery in_op in_predicate_value */ + 475, /* (567) compare_op ::= NK_LT */ + 475, /* (568) compare_op ::= NK_GT */ + 475, /* (569) compare_op ::= NK_LE */ + 475, /* (570) compare_op ::= NK_GE */ + 475, /* (571) compare_op ::= NK_NE */ + 475, /* (572) compare_op ::= NK_EQ */ + 475, /* (573) compare_op ::= LIKE */ + 475, /* (574) compare_op ::= NOT LIKE */ + 475, /* (575) compare_op ::= MATCH */ + 475, /* (576) compare_op ::= NMATCH */ + 475, /* (577) compare_op ::= CONTAINS */ + 476, /* (578) in_op ::= IN */ + 476, /* (579) in_op ::= NOT IN */ + 477, /* (580) in_predicate_value ::= NK_LP literal_list NK_RP */ + 478, /* (581) boolean_value_expression ::= boolean_primary */ + 478, /* (582) boolean_value_expression ::= NOT boolean_primary */ + 478, /* (583) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ + 478, /* (584) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ + 479, /* (585) boolean_primary ::= predicate */ + 479, /* (586) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ + 472, /* (587) common_expression ::= expr_or_subquery */ + 472, /* (588) common_expression ::= boolean_value_expression */ + 480, /* (589) from_clause_opt ::= */ + 480, /* (590) from_clause_opt ::= FROM table_reference_list */ + 481, /* (591) table_reference_list ::= table_reference */ + 481, /* (592) table_reference_list ::= table_reference_list NK_COMMA table_reference */ + 482, /* (593) table_reference ::= table_primary */ + 482, /* (594) table_reference ::= joined_table */ + 483, /* (595) table_primary ::= table_name alias_opt */ + 483, /* (596) table_primary ::= db_name NK_DOT table_name alias_opt */ + 483, /* (597) table_primary ::= subquery alias_opt */ + 483, /* (598) table_primary ::= parenthesized_joined_table */ + 485, /* (599) alias_opt ::= */ + 485, /* (600) alias_opt ::= table_alias */ + 485, /* (601) alias_opt ::= AS table_alias */ + 487, /* (602) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ + 487, /* (603) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ + 484, /* (604) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ + 488, /* (605) join_type ::= */ + 488, /* (606) join_type ::= INNER */ + 489, /* (607) 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 */ + 490, /* (608) hint_list ::= */ + 490, /* (609) hint_list ::= NK_HINT */ + 492, /* (610) tag_mode_opt ::= */ + 492, /* (611) tag_mode_opt ::= TAGS */ + 491, /* (612) set_quantifier_opt ::= */ + 491, /* (613) set_quantifier_opt ::= DISTINCT */ + 491, /* (614) set_quantifier_opt ::= ALL */ + 493, /* (615) select_list ::= select_item */ + 493, /* (616) select_list ::= select_list NK_COMMA select_item */ + 501, /* (617) select_item ::= NK_STAR */ + 501, /* (618) select_item ::= common_expression */ + 501, /* (619) select_item ::= common_expression column_alias */ + 501, /* (620) select_item ::= common_expression AS column_alias */ + 501, /* (621) select_item ::= table_name NK_DOT NK_STAR */ + 436, /* (622) where_clause_opt ::= */ + 436, /* (623) where_clause_opt ::= WHERE search_condition */ + 494, /* (624) partition_by_clause_opt ::= */ + 494, /* (625) partition_by_clause_opt ::= PARTITION BY partition_list */ + 502, /* (626) partition_list ::= partition_item */ + 502, /* (627) partition_list ::= partition_list NK_COMMA partition_item */ + 503, /* (628) partition_item ::= expr_or_subquery */ + 503, /* (629) partition_item ::= expr_or_subquery column_alias */ + 503, /* (630) partition_item ::= expr_or_subquery AS column_alias */ + 498, /* (631) twindow_clause_opt ::= */ + 498, /* (632) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ + 498, /* (633) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ + 498, /* (634) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + 498, /* (635) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + 498, /* (636) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ + 498, /* (637) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ + 498, /* (638) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ + 429, /* (639) sliding_opt ::= */ + 429, /* (640) sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ + 504, /* (641) interval_sliding_duration_literal ::= NK_VARIABLE */ + 504, /* (642) interval_sliding_duration_literal ::= NK_STRING */ + 504, /* (643) interval_sliding_duration_literal ::= NK_INTEGER */ + 497, /* (644) fill_opt ::= */ + 497, /* (645) fill_opt ::= FILL NK_LP fill_mode NK_RP */ + 497, /* (646) fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ + 497, /* (647) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ + 505, /* (648) fill_mode ::= NONE */ + 505, /* (649) fill_mode ::= PREV */ + 505, /* (650) fill_mode ::= NULL */ + 505, /* (651) fill_mode ::= NULL_F */ + 505, /* (652) fill_mode ::= LINEAR */ + 505, /* (653) fill_mode ::= NEXT */ + 499, /* (654) group_by_clause_opt ::= */ + 499, /* (655) group_by_clause_opt ::= GROUP BY group_by_list */ + 506, /* (656) group_by_list ::= expr_or_subquery */ + 506, /* (657) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ + 500, /* (658) having_clause_opt ::= */ + 500, /* (659) having_clause_opt ::= HAVING search_condition */ + 495, /* (660) range_opt ::= */ + 495, /* (661) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ + 495, /* (662) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ + 496, /* (663) every_opt ::= */ + 496, /* (664) every_opt ::= EVERY NK_LP duration_literal NK_RP */ + 507, /* (665) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + 508, /* (666) query_simple ::= query_specification */ + 508, /* (667) query_simple ::= union_query_expression */ + 512, /* (668) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ + 512, /* (669) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ + 513, /* (670) query_simple_or_subquery ::= query_simple */ + 513, /* (671) query_simple_or_subquery ::= subquery */ + 435, /* (672) query_or_subquery ::= query_expression */ + 435, /* (673) query_or_subquery ::= subquery */ + 509, /* (674) order_by_clause_opt ::= */ + 509, /* (675) order_by_clause_opt ::= ORDER BY sort_specification_list */ + 510, /* (676) slimit_clause_opt ::= */ + 510, /* (677) slimit_clause_opt ::= SLIMIT NK_INTEGER */ + 510, /* (678) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + 510, /* (679) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + 511, /* (680) limit_clause_opt ::= */ + 511, /* (681) limit_clause_opt ::= LIMIT NK_INTEGER */ + 511, /* (682) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ + 511, /* (683) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + 486, /* (684) subquery ::= NK_LP query_expression NK_RP */ + 486, /* (685) subquery ::= NK_LP subquery NK_RP */ + 372, /* (686) search_condition ::= common_expression */ + 514, /* (687) sort_specification_list ::= sort_specification */ + 514, /* (688) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ + 515, /* (689) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ + 516, /* (690) ordering_specification_opt ::= */ + 516, /* (691) ordering_specification_opt ::= ASC */ + 516, /* (692) ordering_specification_opt ::= DESC */ + 517, /* (693) null_ordering_opt ::= */ + 517, /* (694) null_ordering_opt ::= NULLS FIRST */ + 517, /* (695) null_ordering_opt ::= NULLS LAST */ }; /* For rule J, yyRuleInfoNRhs[J] contains the negative of the number @@ -4330,478 +4752,483 @@ static const signed char yyRuleInfoNRhs[] = { -1, /* (216) type_name ::= DECIMAL */ -4, /* (217) type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */ -6, /* (218) type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ - 0, /* (219) tags_def_opt ::= */ - -1, /* (220) tags_def_opt ::= tags_def */ - -4, /* (221) tags_def ::= TAGS NK_LP column_def_list NK_RP */ - 0, /* (222) table_options ::= */ - -3, /* (223) table_options ::= table_options COMMENT NK_STRING */ - -3, /* (224) table_options ::= table_options MAX_DELAY duration_list */ - -3, /* (225) table_options ::= table_options WATERMARK duration_list */ - -5, /* (226) table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ - -3, /* (227) table_options ::= table_options TTL NK_INTEGER */ - -5, /* (228) table_options ::= table_options SMA NK_LP col_name_list NK_RP */ - -3, /* (229) table_options ::= table_options DELETE_MARK duration_list */ - -1, /* (230) alter_table_options ::= alter_table_option */ - -2, /* (231) alter_table_options ::= alter_table_options alter_table_option */ - -2, /* (232) alter_table_option ::= COMMENT NK_STRING */ - -2, /* (233) alter_table_option ::= TTL NK_INTEGER */ - -1, /* (234) duration_list ::= duration_literal */ - -3, /* (235) duration_list ::= duration_list NK_COMMA duration_literal */ - -1, /* (236) rollup_func_list ::= rollup_func_name */ - -3, /* (237) rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ - -1, /* (238) rollup_func_name ::= function_name */ - -1, /* (239) rollup_func_name ::= FIRST */ - -1, /* (240) rollup_func_name ::= LAST */ - -1, /* (241) col_name_list ::= col_name */ - -3, /* (242) col_name_list ::= col_name_list NK_COMMA col_name */ - -1, /* (243) col_name ::= column_name */ - -2, /* (244) cmd ::= SHOW DNODES */ - -2, /* (245) cmd ::= SHOW USERS */ - -3, /* (246) cmd ::= SHOW USER PRIVILEGES */ - -3, /* (247) cmd ::= SHOW db_kind_opt DATABASES */ - -4, /* (248) cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ - -4, /* (249) cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ - -3, /* (250) cmd ::= SHOW db_name_cond_opt VGROUPS */ - -2, /* (251) cmd ::= SHOW MNODES */ - -2, /* (252) cmd ::= SHOW QNODES */ - -2, /* (253) cmd ::= SHOW ARBGROUPS */ - -2, /* (254) cmd ::= SHOW FUNCTIONS */ - -5, /* (255) cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ - -6, /* (256) cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ - -2, /* (257) cmd ::= SHOW STREAMS */ - -2, /* (258) cmd ::= SHOW ACCOUNTS */ - -2, /* (259) cmd ::= SHOW APPS */ - -2, /* (260) cmd ::= SHOW CONNECTIONS */ - -2, /* (261) cmd ::= SHOW LICENCES */ - -2, /* (262) cmd ::= SHOW GRANTS */ - -3, /* (263) cmd ::= SHOW GRANTS FULL */ - -3, /* (264) cmd ::= SHOW GRANTS LOGS */ - -3, /* (265) cmd ::= SHOW CLUSTER MACHINES */ - -4, /* (266) cmd ::= SHOW CREATE DATABASE db_name */ - -4, /* (267) cmd ::= SHOW CREATE TABLE full_table_name */ - -4, /* (268) cmd ::= SHOW CREATE STABLE full_table_name */ - -2, /* (269) cmd ::= SHOW QUERIES */ - -2, /* (270) cmd ::= SHOW SCORES */ - -2, /* (271) cmd ::= SHOW TOPICS */ - -2, /* (272) cmd ::= SHOW VARIABLES */ - -3, /* (273) cmd ::= SHOW CLUSTER VARIABLES */ - -3, /* (274) cmd ::= SHOW LOCAL VARIABLES */ - -5, /* (275) cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ - -2, /* (276) cmd ::= SHOW BNODES */ - -2, /* (277) cmd ::= SHOW SNODES */ - -2, /* (278) cmd ::= SHOW CLUSTER */ - -2, /* (279) cmd ::= SHOW TRANSACTIONS */ - -4, /* (280) cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ - -2, /* (281) cmd ::= SHOW CONSUMERS */ - -2, /* (282) cmd ::= SHOW SUBSCRIPTIONS */ - -5, /* (283) cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ - -6, /* (284) cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ - -7, /* (285) cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ - -8, /* (286) cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name */ - -5, /* (287) cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ - -2, /* (288) cmd ::= SHOW VNODES */ - -3, /* (289) cmd ::= SHOW db_name_cond_opt ALIVE */ - -3, /* (290) cmd ::= SHOW CLUSTER ALIVE */ - -4, /* (291) cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt */ - -4, /* (292) cmd ::= SHOW CREATE VIEW full_table_name */ - -2, /* (293) cmd ::= SHOW COMPACTS */ - -3, /* (294) cmd ::= SHOW COMPACT NK_INTEGER */ - 0, /* (295) table_kind_db_name_cond_opt ::= */ - -1, /* (296) table_kind_db_name_cond_opt ::= table_kind */ - -2, /* (297) table_kind_db_name_cond_opt ::= db_name NK_DOT */ - -3, /* (298) table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ - -1, /* (299) table_kind ::= NORMAL */ - -1, /* (300) table_kind ::= CHILD */ - 0, /* (301) db_name_cond_opt ::= */ - -2, /* (302) db_name_cond_opt ::= db_name NK_DOT */ - 0, /* (303) like_pattern_opt ::= */ - -2, /* (304) like_pattern_opt ::= LIKE NK_STRING */ - -1, /* (305) table_name_cond ::= table_name */ - 0, /* (306) from_db_opt ::= */ - -2, /* (307) from_db_opt ::= FROM db_name */ - 0, /* (308) tag_list_opt ::= */ - -1, /* (309) tag_list_opt ::= tag_item */ - -3, /* (310) tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ - -1, /* (311) tag_item ::= TBNAME */ - -1, /* (312) tag_item ::= QTAGS */ - -1, /* (313) tag_item ::= column_name */ - -2, /* (314) tag_item ::= column_name column_alias */ - -3, /* (315) tag_item ::= column_name AS column_alias */ - 0, /* (316) db_kind_opt ::= */ - -1, /* (317) db_kind_opt ::= USER */ - -1, /* (318) db_kind_opt ::= SYSTEM */ - -8, /* (319) cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options */ - -9, /* (320) cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP */ - -4, /* (321) cmd ::= DROP INDEX exists_opt full_index_name */ - -1, /* (322) full_index_name ::= index_name */ - -3, /* (323) full_index_name ::= db_name NK_DOT index_name */ - -10, /* (324) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ - -12, /* (325) 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 */ - -1, /* (326) func_list ::= func */ - -3, /* (327) func_list ::= func_list NK_COMMA func */ - -4, /* (328) func ::= sma_func_name NK_LP expression_list NK_RP */ - -1, /* (329) sma_func_name ::= function_name */ - -1, /* (330) sma_func_name ::= COUNT */ - -1, /* (331) sma_func_name ::= FIRST */ - -1, /* (332) sma_func_name ::= LAST */ - -1, /* (333) sma_func_name ::= LAST_ROW */ - 0, /* (334) sma_stream_opt ::= */ - -3, /* (335) sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ - -3, /* (336) sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ - -3, /* (337) sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ - -1, /* (338) with_meta ::= AS */ - -3, /* (339) with_meta ::= WITH META AS */ - -3, /* (340) with_meta ::= ONLY META AS */ - -6, /* (341) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ - -7, /* (342) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ - -8, /* (343) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ - -4, /* (344) cmd ::= DROP TOPIC exists_opt topic_name */ - -7, /* (345) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ - -2, /* (346) cmd ::= DESC full_table_name */ - -2, /* (347) cmd ::= DESCRIBE full_table_name */ - -3, /* (348) cmd ::= RESET QUERY CACHE */ - -4, /* (349) cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ - -4, /* (350) cmd ::= EXPLAIN analyze_opt explain_options insert_query */ - 0, /* (351) analyze_opt ::= */ - -1, /* (352) analyze_opt ::= ANALYZE */ - 0, /* (353) explain_options ::= */ - -3, /* (354) explain_options ::= explain_options VERBOSE NK_BOOL */ - -3, /* (355) explain_options ::= explain_options RATIO NK_FLOAT */ - -12, /* (356) cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt */ - -4, /* (357) cmd ::= DROP FUNCTION exists_opt function_name */ - 0, /* (358) agg_func_opt ::= */ - -1, /* (359) agg_func_opt ::= AGGREGATE */ - 0, /* (360) bufsize_opt ::= */ - -2, /* (361) bufsize_opt ::= BUFSIZE NK_INTEGER */ - 0, /* (362) language_opt ::= */ - -2, /* (363) language_opt ::= LANGUAGE NK_STRING */ - 0, /* (364) or_replace_opt ::= */ - -2, /* (365) or_replace_opt ::= OR REPLACE */ - -6, /* (366) cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ - -4, /* (367) cmd ::= DROP VIEW exists_opt full_view_name */ - -1, /* (368) full_view_name ::= view_name */ - -3, /* (369) full_view_name ::= db_name NK_DOT view_name */ - -12, /* (370) 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 */ - -4, /* (371) cmd ::= DROP STREAM exists_opt stream_name */ - -4, /* (372) cmd ::= PAUSE STREAM exists_opt stream_name */ - -5, /* (373) cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ - 0, /* (374) col_list_opt ::= */ - -3, /* (375) col_list_opt ::= NK_LP col_name_list NK_RP */ - 0, /* (376) tag_def_or_ref_opt ::= */ - -1, /* (377) tag_def_or_ref_opt ::= tags_def */ - -4, /* (378) tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ - 0, /* (379) stream_options ::= */ - -3, /* (380) stream_options ::= stream_options TRIGGER AT_ONCE */ - -3, /* (381) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ - -4, /* (382) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ - -3, /* (383) stream_options ::= stream_options WATERMARK duration_literal */ - -4, /* (384) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ - -3, /* (385) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ - -3, /* (386) stream_options ::= stream_options DELETE_MARK duration_literal */ - -4, /* (387) stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ - 0, /* (388) subtable_opt ::= */ - -4, /* (389) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ - 0, /* (390) ignore_opt ::= */ - -2, /* (391) ignore_opt ::= IGNORE UNTREATED */ - -3, /* (392) cmd ::= KILL CONNECTION NK_INTEGER */ - -3, /* (393) cmd ::= KILL QUERY NK_STRING */ - -3, /* (394) cmd ::= KILL TRANSACTION NK_INTEGER */ - -3, /* (395) cmd ::= KILL COMPACT NK_INTEGER */ - -2, /* (396) cmd ::= BALANCE VGROUP */ - -4, /* (397) cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ - -4, /* (398) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ - -4, /* (399) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ - -3, /* (400) cmd ::= SPLIT VGROUP NK_INTEGER */ - 0, /* (401) on_vgroup_id ::= */ - -2, /* (402) on_vgroup_id ::= ON NK_INTEGER */ - -2, /* (403) dnode_list ::= DNODE NK_INTEGER */ - -3, /* (404) dnode_list ::= dnode_list DNODE NK_INTEGER */ - -4, /* (405) cmd ::= DELETE FROM full_table_name where_clause_opt */ - -1, /* (406) cmd ::= query_or_subquery */ - -1, /* (407) cmd ::= insert_query */ - -7, /* (408) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ - -4, /* (409) insert_query ::= INSERT INTO full_table_name query_or_subquery */ - -1, /* (410) tags_literal ::= NK_INTEGER */ - -3, /* (411) tags_literal ::= NK_INTEGER NK_PLUS duration_literal */ - -3, /* (412) tags_literal ::= NK_INTEGER NK_MINUS duration_literal */ - -2, /* (413) tags_literal ::= NK_PLUS NK_INTEGER */ - -4, /* (414) tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal */ - -4, /* (415) tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal */ - -2, /* (416) tags_literal ::= NK_MINUS NK_INTEGER */ - -4, /* (417) tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal */ - -4, /* (418) tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal */ - -1, /* (419) tags_literal ::= NK_FLOAT */ - -2, /* (420) tags_literal ::= NK_PLUS NK_FLOAT */ - -2, /* (421) tags_literal ::= NK_MINUS NK_FLOAT */ - -1, /* (422) tags_literal ::= NK_BIN */ - -3, /* (423) tags_literal ::= NK_BIN NK_PLUS duration_literal */ - -3, /* (424) tags_literal ::= NK_BIN NK_MINUS duration_literal */ - -2, /* (425) tags_literal ::= NK_PLUS NK_BIN */ - -4, /* (426) tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal */ - -4, /* (427) tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal */ - -2, /* (428) tags_literal ::= NK_MINUS NK_BIN */ - -4, /* (429) tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal */ - -4, /* (430) tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal */ - -1, /* (431) tags_literal ::= NK_HEX */ - -3, /* (432) tags_literal ::= NK_HEX NK_PLUS duration_literal */ - -3, /* (433) tags_literal ::= NK_HEX NK_MINUS duration_literal */ - -2, /* (434) tags_literal ::= NK_PLUS NK_HEX */ - -4, /* (435) tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal */ - -4, /* (436) tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal */ - -2, /* (437) tags_literal ::= NK_MINUS NK_HEX */ - -4, /* (438) tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal */ - -4, /* (439) tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal */ - -1, /* (440) tags_literal ::= NK_STRING */ - -3, /* (441) tags_literal ::= NK_STRING NK_PLUS duration_literal */ - -3, /* (442) tags_literal ::= NK_STRING NK_MINUS duration_literal */ - -1, /* (443) tags_literal ::= NK_BOOL */ - -1, /* (444) tags_literal ::= NULL */ - -1, /* (445) tags_literal ::= literal_func */ - -3, /* (446) tags_literal ::= literal_func NK_PLUS duration_literal */ - -3, /* (447) tags_literal ::= literal_func NK_MINUS duration_literal */ - -1, /* (448) tags_literal_list ::= tags_literal */ - -3, /* (449) tags_literal_list ::= tags_literal_list NK_COMMA tags_literal */ - -1, /* (450) literal ::= NK_INTEGER */ - -1, /* (451) literal ::= NK_FLOAT */ - -1, /* (452) literal ::= NK_STRING */ - -1, /* (453) literal ::= NK_BOOL */ - -2, /* (454) literal ::= TIMESTAMP NK_STRING */ - -1, /* (455) literal ::= duration_literal */ - -1, /* (456) literal ::= NULL */ - -1, /* (457) literal ::= NK_QUESTION */ - -1, /* (458) duration_literal ::= NK_VARIABLE */ - -1, /* (459) signed ::= NK_INTEGER */ - -2, /* (460) signed ::= NK_PLUS NK_INTEGER */ - -2, /* (461) signed ::= NK_MINUS NK_INTEGER */ - -1, /* (462) signed ::= NK_FLOAT */ - -2, /* (463) signed ::= NK_PLUS NK_FLOAT */ - -2, /* (464) signed ::= NK_MINUS NK_FLOAT */ - -1, /* (465) signed_literal ::= signed */ - -1, /* (466) signed_literal ::= NK_STRING */ - -1, /* (467) signed_literal ::= NK_BOOL */ - -2, /* (468) signed_literal ::= TIMESTAMP NK_STRING */ - -1, /* (469) signed_literal ::= duration_literal */ - -1, /* (470) signed_literal ::= NULL */ - -1, /* (471) signed_literal ::= literal_func */ - -1, /* (472) signed_literal ::= NK_QUESTION */ - -1, /* (473) literal_list ::= signed_literal */ - -3, /* (474) literal_list ::= literal_list NK_COMMA signed_literal */ - -1, /* (475) db_name ::= NK_ID */ - -1, /* (476) table_name ::= NK_ID */ - -1, /* (477) column_name ::= NK_ID */ - -1, /* (478) function_name ::= NK_ID */ - -1, /* (479) view_name ::= NK_ID */ - -1, /* (480) table_alias ::= NK_ID */ - -1, /* (481) column_alias ::= NK_ID */ - -1, /* (482) column_alias ::= NK_ALIAS */ - -1, /* (483) user_name ::= NK_ID */ - -1, /* (484) topic_name ::= NK_ID */ - -1, /* (485) stream_name ::= NK_ID */ - -1, /* (486) cgroup_name ::= NK_ID */ - -1, /* (487) index_name ::= NK_ID */ - -1, /* (488) expr_or_subquery ::= expression */ - -1, /* (489) expression ::= literal */ - -1, /* (490) expression ::= pseudo_column */ - -1, /* (491) expression ::= column_reference */ - -1, /* (492) expression ::= function_expression */ - -1, /* (493) expression ::= case_when_expression */ - -3, /* (494) expression ::= NK_LP expression NK_RP */ - -2, /* (495) expression ::= NK_PLUS expr_or_subquery */ - -2, /* (496) expression ::= NK_MINUS expr_or_subquery */ - -3, /* (497) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ - -3, /* (498) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ - -3, /* (499) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ - -3, /* (500) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ - -3, /* (501) expression ::= expr_or_subquery NK_REM expr_or_subquery */ - -3, /* (502) expression ::= column_reference NK_ARROW NK_STRING */ - -3, /* (503) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ - -3, /* (504) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ - -1, /* (505) expression_list ::= expr_or_subquery */ - -3, /* (506) expression_list ::= expression_list NK_COMMA expr_or_subquery */ - -1, /* (507) column_reference ::= column_name */ - -3, /* (508) column_reference ::= table_name NK_DOT column_name */ - -1, /* (509) column_reference ::= NK_ALIAS */ - -3, /* (510) column_reference ::= table_name NK_DOT NK_ALIAS */ - -1, /* (511) pseudo_column ::= ROWTS */ - -1, /* (512) pseudo_column ::= TBNAME */ - -3, /* (513) pseudo_column ::= table_name NK_DOT TBNAME */ - -1, /* (514) pseudo_column ::= QSTART */ - -1, /* (515) pseudo_column ::= QEND */ - -1, /* (516) pseudo_column ::= QDURATION */ - -1, /* (517) pseudo_column ::= WSTART */ - -1, /* (518) pseudo_column ::= WEND */ - -1, /* (519) pseudo_column ::= WDURATION */ - -1, /* (520) pseudo_column ::= IROWTS */ - -1, /* (521) pseudo_column ::= ISFILLED */ - -1, /* (522) pseudo_column ::= QTAGS */ - -4, /* (523) function_expression ::= function_name NK_LP expression_list NK_RP */ - -4, /* (524) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ - -6, /* (525) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ - -1, /* (526) function_expression ::= literal_func */ - -3, /* (527) literal_func ::= noarg_func NK_LP NK_RP */ - -1, /* (528) literal_func ::= NOW */ - -1, /* (529) literal_func ::= TODAY */ - -1, /* (530) noarg_func ::= NOW */ - -1, /* (531) noarg_func ::= TODAY */ - -1, /* (532) noarg_func ::= TIMEZONE */ - -1, /* (533) noarg_func ::= DATABASE */ - -1, /* (534) noarg_func ::= CLIENT_VERSION */ - -1, /* (535) noarg_func ::= SERVER_VERSION */ - -1, /* (536) noarg_func ::= SERVER_STATUS */ - -1, /* (537) noarg_func ::= CURRENT_USER */ - -1, /* (538) noarg_func ::= USER */ - -1, /* (539) star_func ::= COUNT */ - -1, /* (540) star_func ::= FIRST */ - -1, /* (541) star_func ::= LAST */ - -1, /* (542) star_func ::= LAST_ROW */ - -1, /* (543) star_func_para_list ::= NK_STAR */ - -1, /* (544) star_func_para_list ::= other_para_list */ - -1, /* (545) other_para_list ::= star_func_para */ - -3, /* (546) other_para_list ::= other_para_list NK_COMMA star_func_para */ - -1, /* (547) star_func_para ::= expr_or_subquery */ - -3, /* (548) star_func_para ::= table_name NK_DOT NK_STAR */ - -4, /* (549) case_when_expression ::= CASE when_then_list case_when_else_opt END */ - -5, /* (550) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ - -1, /* (551) when_then_list ::= when_then_expr */ - -2, /* (552) when_then_list ::= when_then_list when_then_expr */ - -4, /* (553) when_then_expr ::= WHEN common_expression THEN common_expression */ - 0, /* (554) case_when_else_opt ::= */ - -2, /* (555) case_when_else_opt ::= ELSE common_expression */ - -3, /* (556) predicate ::= expr_or_subquery compare_op expr_or_subquery */ - -5, /* (557) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ - -6, /* (558) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ - -3, /* (559) predicate ::= expr_or_subquery IS NULL */ - -4, /* (560) predicate ::= expr_or_subquery IS NOT NULL */ - -3, /* (561) predicate ::= expr_or_subquery in_op in_predicate_value */ - -1, /* (562) compare_op ::= NK_LT */ - -1, /* (563) compare_op ::= NK_GT */ - -1, /* (564) compare_op ::= NK_LE */ - -1, /* (565) compare_op ::= NK_GE */ - -1, /* (566) compare_op ::= NK_NE */ - -1, /* (567) compare_op ::= NK_EQ */ - -1, /* (568) compare_op ::= LIKE */ - -2, /* (569) compare_op ::= NOT LIKE */ - -1, /* (570) compare_op ::= MATCH */ - -1, /* (571) compare_op ::= NMATCH */ - -1, /* (572) compare_op ::= CONTAINS */ - -1, /* (573) in_op ::= IN */ - -2, /* (574) in_op ::= NOT IN */ - -3, /* (575) in_predicate_value ::= NK_LP literal_list NK_RP */ - -1, /* (576) boolean_value_expression ::= boolean_primary */ - -2, /* (577) boolean_value_expression ::= NOT boolean_primary */ - -3, /* (578) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ - -3, /* (579) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ - -1, /* (580) boolean_primary ::= predicate */ - -3, /* (581) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ - -1, /* (582) common_expression ::= expr_or_subquery */ - -1, /* (583) common_expression ::= boolean_value_expression */ - 0, /* (584) from_clause_opt ::= */ - -2, /* (585) from_clause_opt ::= FROM table_reference_list */ - -1, /* (586) table_reference_list ::= table_reference */ - -3, /* (587) table_reference_list ::= table_reference_list NK_COMMA table_reference */ - -1, /* (588) table_reference ::= table_primary */ - -1, /* (589) table_reference ::= joined_table */ - -2, /* (590) table_primary ::= table_name alias_opt */ - -4, /* (591) table_primary ::= db_name NK_DOT table_name alias_opt */ - -2, /* (592) table_primary ::= subquery alias_opt */ - -1, /* (593) table_primary ::= parenthesized_joined_table */ - 0, /* (594) alias_opt ::= */ - -1, /* (595) alias_opt ::= table_alias */ - -2, /* (596) alias_opt ::= AS table_alias */ - -3, /* (597) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ - -3, /* (598) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ - -6, /* (599) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ - 0, /* (600) join_type ::= */ - -1, /* (601) join_type ::= INNER */ - -14, /* (602) 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, /* (603) hint_list ::= */ - -1, /* (604) hint_list ::= NK_HINT */ - 0, /* (605) tag_mode_opt ::= */ - -1, /* (606) tag_mode_opt ::= TAGS */ - 0, /* (607) set_quantifier_opt ::= */ - -1, /* (608) set_quantifier_opt ::= DISTINCT */ - -1, /* (609) set_quantifier_opt ::= ALL */ - -1, /* (610) select_list ::= select_item */ - -3, /* (611) select_list ::= select_list NK_COMMA select_item */ - -1, /* (612) select_item ::= NK_STAR */ - -1, /* (613) select_item ::= common_expression */ - -2, /* (614) select_item ::= common_expression column_alias */ - -3, /* (615) select_item ::= common_expression AS column_alias */ - -3, /* (616) select_item ::= table_name NK_DOT NK_STAR */ - 0, /* (617) where_clause_opt ::= */ - -2, /* (618) where_clause_opt ::= WHERE search_condition */ - 0, /* (619) partition_by_clause_opt ::= */ - -3, /* (620) partition_by_clause_opt ::= PARTITION BY partition_list */ - -1, /* (621) partition_list ::= partition_item */ - -3, /* (622) partition_list ::= partition_list NK_COMMA partition_item */ - -1, /* (623) partition_item ::= expr_or_subquery */ - -2, /* (624) partition_item ::= expr_or_subquery column_alias */ - -3, /* (625) partition_item ::= expr_or_subquery AS column_alias */ - 0, /* (626) twindow_clause_opt ::= */ - -6, /* (627) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ - -4, /* (628) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ - -6, /* (629) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ - -8, /* (630) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ - -7, /* (631) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ - -4, /* (632) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ - -6, /* (633) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ - 0, /* (634) sliding_opt ::= */ - -4, /* (635) sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ - -1, /* (636) interval_sliding_duration_literal ::= NK_VARIABLE */ - -1, /* (637) interval_sliding_duration_literal ::= NK_STRING */ - -1, /* (638) interval_sliding_duration_literal ::= NK_INTEGER */ - 0, /* (639) fill_opt ::= */ - -4, /* (640) fill_opt ::= FILL NK_LP fill_mode NK_RP */ - -6, /* (641) fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ - -6, /* (642) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ - -1, /* (643) fill_mode ::= NONE */ - -1, /* (644) fill_mode ::= PREV */ - -1, /* (645) fill_mode ::= NULL */ - -1, /* (646) fill_mode ::= NULL_F */ - -1, /* (647) fill_mode ::= LINEAR */ - -1, /* (648) fill_mode ::= NEXT */ - 0, /* (649) group_by_clause_opt ::= */ - -3, /* (650) group_by_clause_opt ::= GROUP BY group_by_list */ - -1, /* (651) group_by_list ::= expr_or_subquery */ - -3, /* (652) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ - 0, /* (653) having_clause_opt ::= */ - -2, /* (654) having_clause_opt ::= HAVING search_condition */ - 0, /* (655) range_opt ::= */ - -6, /* (656) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ - -4, /* (657) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ - 0, /* (658) every_opt ::= */ - -4, /* (659) every_opt ::= EVERY NK_LP duration_literal NK_RP */ - -4, /* (660) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ - -1, /* (661) query_simple ::= query_specification */ - -1, /* (662) query_simple ::= union_query_expression */ - -4, /* (663) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ - -3, /* (664) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ - -1, /* (665) query_simple_or_subquery ::= query_simple */ - -1, /* (666) query_simple_or_subquery ::= subquery */ - -1, /* (667) query_or_subquery ::= query_expression */ - -1, /* (668) query_or_subquery ::= subquery */ - 0, /* (669) order_by_clause_opt ::= */ - -3, /* (670) order_by_clause_opt ::= ORDER BY sort_specification_list */ - 0, /* (671) slimit_clause_opt ::= */ - -2, /* (672) slimit_clause_opt ::= SLIMIT NK_INTEGER */ - -4, /* (673) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - -4, /* (674) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - 0, /* (675) limit_clause_opt ::= */ - -2, /* (676) limit_clause_opt ::= LIMIT NK_INTEGER */ - -4, /* (677) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ - -4, /* (678) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - -3, /* (679) subquery ::= NK_LP query_expression NK_RP */ - -3, /* (680) subquery ::= NK_LP subquery NK_RP */ - -1, /* (681) search_condition ::= common_expression */ - -1, /* (682) sort_specification_list ::= sort_specification */ - -3, /* (683) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ - -3, /* (684) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ - 0, /* (685) ordering_specification_opt ::= */ - -1, /* (686) ordering_specification_opt ::= ASC */ - -1, /* (687) ordering_specification_opt ::= DESC */ - 0, /* (688) null_ordering_opt ::= */ - -2, /* (689) null_ordering_opt ::= NULLS FIRST */ - -2, /* (690) null_ordering_opt ::= NULLS LAST */ + -1, /* (219) type_name_default_len ::= BINARY */ + -1, /* (220) type_name_default_len ::= NCHAR */ + -1, /* (221) type_name_default_len ::= VARCHAR */ + -1, /* (222) type_name_default_len ::= VARBINARY */ + 0, /* (223) tags_def_opt ::= */ + -1, /* (224) tags_def_opt ::= tags_def */ + -4, /* (225) tags_def ::= TAGS NK_LP column_def_list NK_RP */ + 0, /* (226) table_options ::= */ + -3, /* (227) table_options ::= table_options COMMENT NK_STRING */ + -3, /* (228) table_options ::= table_options MAX_DELAY duration_list */ + -3, /* (229) table_options ::= table_options WATERMARK duration_list */ + -5, /* (230) table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ + -3, /* (231) table_options ::= table_options TTL NK_INTEGER */ + -5, /* (232) table_options ::= table_options SMA NK_LP col_name_list NK_RP */ + -3, /* (233) table_options ::= table_options DELETE_MARK duration_list */ + -1, /* (234) alter_table_options ::= alter_table_option */ + -2, /* (235) alter_table_options ::= alter_table_options alter_table_option */ + -2, /* (236) alter_table_option ::= COMMENT NK_STRING */ + -2, /* (237) alter_table_option ::= TTL NK_INTEGER */ + -1, /* (238) duration_list ::= duration_literal */ + -3, /* (239) duration_list ::= duration_list NK_COMMA duration_literal */ + -1, /* (240) rollup_func_list ::= rollup_func_name */ + -3, /* (241) rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ + -1, /* (242) rollup_func_name ::= function_name */ + -1, /* (243) rollup_func_name ::= FIRST */ + -1, /* (244) rollup_func_name ::= LAST */ + -1, /* (245) col_name_list ::= col_name */ + -3, /* (246) col_name_list ::= col_name_list NK_COMMA col_name */ + -1, /* (247) col_name ::= column_name */ + -2, /* (248) cmd ::= SHOW DNODES */ + -2, /* (249) cmd ::= SHOW USERS */ + -3, /* (250) cmd ::= SHOW USER PRIVILEGES */ + -3, /* (251) cmd ::= SHOW db_kind_opt DATABASES */ + -4, /* (252) cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ + -4, /* (253) cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ + -3, /* (254) cmd ::= SHOW db_name_cond_opt VGROUPS */ + -2, /* (255) cmd ::= SHOW MNODES */ + -2, /* (256) cmd ::= SHOW QNODES */ + -2, /* (257) cmd ::= SHOW ARBGROUPS */ + -2, /* (258) cmd ::= SHOW FUNCTIONS */ + -5, /* (259) cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ + -6, /* (260) cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ + -2, /* (261) cmd ::= SHOW STREAMS */ + -2, /* (262) cmd ::= SHOW ACCOUNTS */ + -2, /* (263) cmd ::= SHOW APPS */ + -2, /* (264) cmd ::= SHOW CONNECTIONS */ + -2, /* (265) cmd ::= SHOW LICENCES */ + -2, /* (266) cmd ::= SHOW GRANTS */ + -3, /* (267) cmd ::= SHOW GRANTS FULL */ + -3, /* (268) cmd ::= SHOW GRANTS LOGS */ + -3, /* (269) cmd ::= SHOW CLUSTER MACHINES */ + -4, /* (270) cmd ::= SHOW CREATE DATABASE db_name */ + -4, /* (271) cmd ::= SHOW CREATE TABLE full_table_name */ + -4, /* (272) cmd ::= SHOW CREATE STABLE full_table_name */ + -2, /* (273) cmd ::= SHOW QUERIES */ + -2, /* (274) cmd ::= SHOW SCORES */ + -2, /* (275) cmd ::= SHOW TOPICS */ + -2, /* (276) cmd ::= SHOW VARIABLES */ + -3, /* (277) cmd ::= SHOW CLUSTER VARIABLES */ + -3, /* (278) cmd ::= SHOW LOCAL VARIABLES */ + -5, /* (279) cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ + -2, /* (280) cmd ::= SHOW BNODES */ + -2, /* (281) cmd ::= SHOW SNODES */ + -2, /* (282) cmd ::= SHOW CLUSTER */ + -2, /* (283) cmd ::= SHOW TRANSACTIONS */ + -4, /* (284) cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ + -2, /* (285) cmd ::= SHOW CONSUMERS */ + -2, /* (286) cmd ::= SHOW SUBSCRIPTIONS */ + -5, /* (287) cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ + -6, /* (288) cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ + -7, /* (289) cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ + -8, /* (290) cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name */ + -5, /* (291) cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ + -2, /* (292) cmd ::= SHOW VNODES */ + -3, /* (293) cmd ::= SHOW db_name_cond_opt ALIVE */ + -3, /* (294) cmd ::= SHOW CLUSTER ALIVE */ + -4, /* (295) cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt */ + -4, /* (296) cmd ::= SHOW CREATE VIEW full_table_name */ + -2, /* (297) cmd ::= SHOW COMPACTS */ + -3, /* (298) cmd ::= SHOW COMPACT NK_INTEGER */ + 0, /* (299) table_kind_db_name_cond_opt ::= */ + -1, /* (300) table_kind_db_name_cond_opt ::= table_kind */ + -2, /* (301) table_kind_db_name_cond_opt ::= db_name NK_DOT */ + -3, /* (302) table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ + -1, /* (303) table_kind ::= NORMAL */ + -1, /* (304) table_kind ::= CHILD */ + 0, /* (305) db_name_cond_opt ::= */ + -2, /* (306) db_name_cond_opt ::= db_name NK_DOT */ + 0, /* (307) like_pattern_opt ::= */ + -2, /* (308) like_pattern_opt ::= LIKE NK_STRING */ + -1, /* (309) table_name_cond ::= table_name */ + 0, /* (310) from_db_opt ::= */ + -2, /* (311) from_db_opt ::= FROM db_name */ + 0, /* (312) tag_list_opt ::= */ + -1, /* (313) tag_list_opt ::= tag_item */ + -3, /* (314) tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ + -1, /* (315) tag_item ::= TBNAME */ + -1, /* (316) tag_item ::= QTAGS */ + -1, /* (317) tag_item ::= column_name */ + -2, /* (318) tag_item ::= column_name column_alias */ + -3, /* (319) tag_item ::= column_name AS column_alias */ + 0, /* (320) db_kind_opt ::= */ + -1, /* (321) db_kind_opt ::= USER */ + -1, /* (322) db_kind_opt ::= SYSTEM */ + -8, /* (323) cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options */ + -9, /* (324) cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP */ + -4, /* (325) cmd ::= DROP INDEX exists_opt full_index_name */ + -1, /* (326) full_index_name ::= index_name */ + -3, /* (327) full_index_name ::= db_name NK_DOT index_name */ + -10, /* (328) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ + -12, /* (329) 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 */ + -1, /* (330) func_list ::= func */ + -3, /* (331) func_list ::= func_list NK_COMMA func */ + -4, /* (332) func ::= sma_func_name NK_LP expression_list NK_RP */ + -1, /* (333) sma_func_name ::= function_name */ + -1, /* (334) sma_func_name ::= COUNT */ + -1, /* (335) sma_func_name ::= FIRST */ + -1, /* (336) sma_func_name ::= LAST */ + -1, /* (337) sma_func_name ::= LAST_ROW */ + 0, /* (338) sma_stream_opt ::= */ + -3, /* (339) sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ + -3, /* (340) sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ + -3, /* (341) sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ + -1, /* (342) with_meta ::= AS */ + -3, /* (343) with_meta ::= WITH META AS */ + -3, /* (344) with_meta ::= ONLY META AS */ + -6, /* (345) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ + -7, /* (346) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ + -8, /* (347) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ + -4, /* (348) cmd ::= DROP TOPIC exists_opt topic_name */ + -7, /* (349) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ + -2, /* (350) cmd ::= DESC full_table_name */ + -2, /* (351) cmd ::= DESCRIBE full_table_name */ + -3, /* (352) cmd ::= RESET QUERY CACHE */ + -4, /* (353) cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ + -4, /* (354) cmd ::= EXPLAIN analyze_opt explain_options insert_query */ + 0, /* (355) analyze_opt ::= */ + -1, /* (356) analyze_opt ::= ANALYZE */ + 0, /* (357) explain_options ::= */ + -3, /* (358) explain_options ::= explain_options VERBOSE NK_BOOL */ + -3, /* (359) explain_options ::= explain_options RATIO NK_FLOAT */ + -12, /* (360) cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt */ + -4, /* (361) cmd ::= DROP FUNCTION exists_opt function_name */ + 0, /* (362) agg_func_opt ::= */ + -1, /* (363) agg_func_opt ::= AGGREGATE */ + 0, /* (364) bufsize_opt ::= */ + -2, /* (365) bufsize_opt ::= BUFSIZE NK_INTEGER */ + 0, /* (366) language_opt ::= */ + -2, /* (367) language_opt ::= LANGUAGE NK_STRING */ + 0, /* (368) or_replace_opt ::= */ + -2, /* (369) or_replace_opt ::= OR REPLACE */ + -6, /* (370) cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ + -4, /* (371) cmd ::= DROP VIEW exists_opt full_view_name */ + -1, /* (372) full_view_name ::= view_name */ + -3, /* (373) full_view_name ::= db_name NK_DOT view_name */ + -12, /* (374) 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 */ + -4, /* (375) cmd ::= DROP STREAM exists_opt stream_name */ + -4, /* (376) cmd ::= PAUSE STREAM exists_opt stream_name */ + -5, /* (377) cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ + 0, /* (378) col_list_opt ::= */ + -3, /* (379) col_list_opt ::= NK_LP col_name_list NK_RP */ + 0, /* (380) tag_def_or_ref_opt ::= */ + -1, /* (381) tag_def_or_ref_opt ::= tags_def */ + -4, /* (382) tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ + 0, /* (383) stream_options ::= */ + -3, /* (384) stream_options ::= stream_options TRIGGER AT_ONCE */ + -3, /* (385) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ + -4, /* (386) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ + -3, /* (387) stream_options ::= stream_options WATERMARK duration_literal */ + -4, /* (388) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ + -3, /* (389) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ + -3, /* (390) stream_options ::= stream_options DELETE_MARK duration_literal */ + -4, /* (391) stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ + 0, /* (392) subtable_opt ::= */ + -4, /* (393) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ + 0, /* (394) ignore_opt ::= */ + -2, /* (395) ignore_opt ::= IGNORE UNTREATED */ + -3, /* (396) cmd ::= KILL CONNECTION NK_INTEGER */ + -3, /* (397) cmd ::= KILL QUERY NK_STRING */ + -3, /* (398) cmd ::= KILL TRANSACTION NK_INTEGER */ + -3, /* (399) cmd ::= KILL COMPACT NK_INTEGER */ + -2, /* (400) cmd ::= BALANCE VGROUP */ + -4, /* (401) cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ + -4, /* (402) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ + -4, /* (403) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ + -3, /* (404) cmd ::= SPLIT VGROUP NK_INTEGER */ + 0, /* (405) on_vgroup_id ::= */ + -2, /* (406) on_vgroup_id ::= ON NK_INTEGER */ + -2, /* (407) dnode_list ::= DNODE NK_INTEGER */ + -3, /* (408) dnode_list ::= dnode_list DNODE NK_INTEGER */ + -4, /* (409) cmd ::= DELETE FROM full_table_name where_clause_opt */ + -1, /* (410) cmd ::= query_or_subquery */ + -1, /* (411) cmd ::= insert_query */ + -7, /* (412) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ + -4, /* (413) insert_query ::= INSERT INTO full_table_name query_or_subquery */ + -1, /* (414) tags_literal ::= NK_INTEGER */ + -3, /* (415) tags_literal ::= NK_INTEGER NK_PLUS duration_literal */ + -3, /* (416) tags_literal ::= NK_INTEGER NK_MINUS duration_literal */ + -2, /* (417) tags_literal ::= NK_PLUS NK_INTEGER */ + -4, /* (418) tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal */ + -4, /* (419) tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal */ + -2, /* (420) tags_literal ::= NK_MINUS NK_INTEGER */ + -4, /* (421) tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal */ + -4, /* (422) tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal */ + -1, /* (423) tags_literal ::= NK_FLOAT */ + -2, /* (424) tags_literal ::= NK_PLUS NK_FLOAT */ + -2, /* (425) tags_literal ::= NK_MINUS NK_FLOAT */ + -1, /* (426) tags_literal ::= NK_BIN */ + -3, /* (427) tags_literal ::= NK_BIN NK_PLUS duration_literal */ + -3, /* (428) tags_literal ::= NK_BIN NK_MINUS duration_literal */ + -2, /* (429) tags_literal ::= NK_PLUS NK_BIN */ + -4, /* (430) tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal */ + -4, /* (431) tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal */ + -2, /* (432) tags_literal ::= NK_MINUS NK_BIN */ + -4, /* (433) tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal */ + -4, /* (434) tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal */ + -1, /* (435) tags_literal ::= NK_HEX */ + -3, /* (436) tags_literal ::= NK_HEX NK_PLUS duration_literal */ + -3, /* (437) tags_literal ::= NK_HEX NK_MINUS duration_literal */ + -2, /* (438) tags_literal ::= NK_PLUS NK_HEX */ + -4, /* (439) tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal */ + -4, /* (440) tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal */ + -2, /* (441) tags_literal ::= NK_MINUS NK_HEX */ + -4, /* (442) tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal */ + -4, /* (443) tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal */ + -1, /* (444) tags_literal ::= NK_STRING */ + -3, /* (445) tags_literal ::= NK_STRING NK_PLUS duration_literal */ + -3, /* (446) tags_literal ::= NK_STRING NK_MINUS duration_literal */ + -1, /* (447) tags_literal ::= NK_BOOL */ + -1, /* (448) tags_literal ::= NULL */ + -1, /* (449) tags_literal ::= literal_func */ + -3, /* (450) tags_literal ::= literal_func NK_PLUS duration_literal */ + -3, /* (451) tags_literal ::= literal_func NK_MINUS duration_literal */ + -1, /* (452) tags_literal_list ::= tags_literal */ + -3, /* (453) tags_literal_list ::= tags_literal_list NK_COMMA tags_literal */ + -1, /* (454) literal ::= NK_INTEGER */ + -1, /* (455) literal ::= NK_FLOAT */ + -1, /* (456) literal ::= NK_STRING */ + -1, /* (457) literal ::= NK_BOOL */ + -2, /* (458) literal ::= TIMESTAMP NK_STRING */ + -1, /* (459) literal ::= duration_literal */ + -1, /* (460) literal ::= NULL */ + -1, /* (461) literal ::= NK_QUESTION */ + -1, /* (462) duration_literal ::= NK_VARIABLE */ + -1, /* (463) signed ::= NK_INTEGER */ + -2, /* (464) signed ::= NK_PLUS NK_INTEGER */ + -2, /* (465) signed ::= NK_MINUS NK_INTEGER */ + -1, /* (466) signed ::= NK_FLOAT */ + -2, /* (467) signed ::= NK_PLUS NK_FLOAT */ + -2, /* (468) signed ::= NK_MINUS NK_FLOAT */ + -1, /* (469) signed_literal ::= signed */ + -1, /* (470) signed_literal ::= NK_STRING */ + -1, /* (471) signed_literal ::= NK_BOOL */ + -2, /* (472) signed_literal ::= TIMESTAMP NK_STRING */ + -1, /* (473) signed_literal ::= duration_literal */ + -1, /* (474) signed_literal ::= NULL */ + -1, /* (475) signed_literal ::= literal_func */ + -1, /* (476) signed_literal ::= NK_QUESTION */ + -1, /* (477) literal_list ::= signed_literal */ + -3, /* (478) literal_list ::= literal_list NK_COMMA signed_literal */ + -1, /* (479) db_name ::= NK_ID */ + -1, /* (480) table_name ::= NK_ID */ + -1, /* (481) column_name ::= NK_ID */ + -1, /* (482) function_name ::= NK_ID */ + -1, /* (483) view_name ::= NK_ID */ + -1, /* (484) table_alias ::= NK_ID */ + -1, /* (485) column_alias ::= NK_ID */ + -1, /* (486) column_alias ::= NK_ALIAS */ + -1, /* (487) user_name ::= NK_ID */ + -1, /* (488) topic_name ::= NK_ID */ + -1, /* (489) stream_name ::= NK_ID */ + -1, /* (490) cgroup_name ::= NK_ID */ + -1, /* (491) index_name ::= NK_ID */ + -1, /* (492) expr_or_subquery ::= expression */ + -1, /* (493) expression ::= literal */ + -1, /* (494) expression ::= pseudo_column */ + -1, /* (495) expression ::= column_reference */ + -1, /* (496) expression ::= function_expression */ + -1, /* (497) expression ::= case_when_expression */ + -3, /* (498) expression ::= NK_LP expression NK_RP */ + -2, /* (499) expression ::= NK_PLUS expr_or_subquery */ + -2, /* (500) expression ::= NK_MINUS expr_or_subquery */ + -3, /* (501) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ + -3, /* (502) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ + -3, /* (503) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ + -3, /* (504) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ + -3, /* (505) expression ::= expr_or_subquery NK_REM expr_or_subquery */ + -3, /* (506) expression ::= column_reference NK_ARROW NK_STRING */ + -3, /* (507) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ + -3, /* (508) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ + -1, /* (509) expression_list ::= expr_or_subquery */ + -3, /* (510) expression_list ::= expression_list NK_COMMA expr_or_subquery */ + -1, /* (511) column_reference ::= column_name */ + -3, /* (512) column_reference ::= table_name NK_DOT column_name */ + -1, /* (513) column_reference ::= NK_ALIAS */ + -3, /* (514) column_reference ::= table_name NK_DOT NK_ALIAS */ + -1, /* (515) pseudo_column ::= ROWTS */ + -1, /* (516) pseudo_column ::= TBNAME */ + -3, /* (517) pseudo_column ::= table_name NK_DOT TBNAME */ + -1, /* (518) pseudo_column ::= QSTART */ + -1, /* (519) pseudo_column ::= QEND */ + -1, /* (520) pseudo_column ::= QDURATION */ + -1, /* (521) pseudo_column ::= WSTART */ + -1, /* (522) pseudo_column ::= WEND */ + -1, /* (523) pseudo_column ::= WDURATION */ + -1, /* (524) pseudo_column ::= IROWTS */ + -1, /* (525) pseudo_column ::= ISFILLED */ + -1, /* (526) pseudo_column ::= QTAGS */ + -4, /* (527) function_expression ::= function_name NK_LP expression_list NK_RP */ + -4, /* (528) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ + -6, /* (529) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ + -6, /* (530) function_expression ::= CAST NK_LP expr_or_subquery AS type_name_default_len NK_RP */ + -1, /* (531) function_expression ::= literal_func */ + -3, /* (532) literal_func ::= noarg_func NK_LP NK_RP */ + -1, /* (533) literal_func ::= NOW */ + -1, /* (534) literal_func ::= TODAY */ + -1, /* (535) noarg_func ::= NOW */ + -1, /* (536) noarg_func ::= TODAY */ + -1, /* (537) noarg_func ::= TIMEZONE */ + -1, /* (538) noarg_func ::= DATABASE */ + -1, /* (539) noarg_func ::= CLIENT_VERSION */ + -1, /* (540) noarg_func ::= SERVER_VERSION */ + -1, /* (541) noarg_func ::= SERVER_STATUS */ + -1, /* (542) noarg_func ::= CURRENT_USER */ + -1, /* (543) noarg_func ::= USER */ + -1, /* (544) star_func ::= COUNT */ + -1, /* (545) star_func ::= FIRST */ + -1, /* (546) star_func ::= LAST */ + -1, /* (547) star_func ::= LAST_ROW */ + -1, /* (548) star_func_para_list ::= NK_STAR */ + -1, /* (549) star_func_para_list ::= other_para_list */ + -1, /* (550) other_para_list ::= star_func_para */ + -3, /* (551) other_para_list ::= other_para_list NK_COMMA star_func_para */ + -1, /* (552) star_func_para ::= expr_or_subquery */ + -3, /* (553) star_func_para ::= table_name NK_DOT NK_STAR */ + -4, /* (554) case_when_expression ::= CASE when_then_list case_when_else_opt END */ + -5, /* (555) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ + -1, /* (556) when_then_list ::= when_then_expr */ + -2, /* (557) when_then_list ::= when_then_list when_then_expr */ + -4, /* (558) when_then_expr ::= WHEN common_expression THEN common_expression */ + 0, /* (559) case_when_else_opt ::= */ + -2, /* (560) case_when_else_opt ::= ELSE common_expression */ + -3, /* (561) predicate ::= expr_or_subquery compare_op expr_or_subquery */ + -5, /* (562) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ + -6, /* (563) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ + -3, /* (564) predicate ::= expr_or_subquery IS NULL */ + -4, /* (565) predicate ::= expr_or_subquery IS NOT NULL */ + -3, /* (566) predicate ::= expr_or_subquery in_op in_predicate_value */ + -1, /* (567) compare_op ::= NK_LT */ + -1, /* (568) compare_op ::= NK_GT */ + -1, /* (569) compare_op ::= NK_LE */ + -1, /* (570) compare_op ::= NK_GE */ + -1, /* (571) compare_op ::= NK_NE */ + -1, /* (572) compare_op ::= NK_EQ */ + -1, /* (573) compare_op ::= LIKE */ + -2, /* (574) compare_op ::= NOT LIKE */ + -1, /* (575) compare_op ::= MATCH */ + -1, /* (576) compare_op ::= NMATCH */ + -1, /* (577) compare_op ::= CONTAINS */ + -1, /* (578) in_op ::= IN */ + -2, /* (579) in_op ::= NOT IN */ + -3, /* (580) in_predicate_value ::= NK_LP literal_list NK_RP */ + -1, /* (581) boolean_value_expression ::= boolean_primary */ + -2, /* (582) boolean_value_expression ::= NOT boolean_primary */ + -3, /* (583) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ + -3, /* (584) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ + -1, /* (585) boolean_primary ::= predicate */ + -3, /* (586) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ + -1, /* (587) common_expression ::= expr_or_subquery */ + -1, /* (588) common_expression ::= boolean_value_expression */ + 0, /* (589) from_clause_opt ::= */ + -2, /* (590) from_clause_opt ::= FROM table_reference_list */ + -1, /* (591) table_reference_list ::= table_reference */ + -3, /* (592) table_reference_list ::= table_reference_list NK_COMMA table_reference */ + -1, /* (593) table_reference ::= table_primary */ + -1, /* (594) table_reference ::= joined_table */ + -2, /* (595) table_primary ::= table_name alias_opt */ + -4, /* (596) table_primary ::= db_name NK_DOT table_name alias_opt */ + -2, /* (597) table_primary ::= subquery alias_opt */ + -1, /* (598) table_primary ::= parenthesized_joined_table */ + 0, /* (599) alias_opt ::= */ + -1, /* (600) alias_opt ::= table_alias */ + -2, /* (601) alias_opt ::= AS table_alias */ + -3, /* (602) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ + -3, /* (603) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ + -6, /* (604) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ + 0, /* (605) join_type ::= */ + -1, /* (606) join_type ::= INNER */ + -14, /* (607) 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, /* (608) hint_list ::= */ + -1, /* (609) hint_list ::= NK_HINT */ + 0, /* (610) tag_mode_opt ::= */ + -1, /* (611) tag_mode_opt ::= TAGS */ + 0, /* (612) set_quantifier_opt ::= */ + -1, /* (613) set_quantifier_opt ::= DISTINCT */ + -1, /* (614) set_quantifier_opt ::= ALL */ + -1, /* (615) select_list ::= select_item */ + -3, /* (616) select_list ::= select_list NK_COMMA select_item */ + -1, /* (617) select_item ::= NK_STAR */ + -1, /* (618) select_item ::= common_expression */ + -2, /* (619) select_item ::= common_expression column_alias */ + -3, /* (620) select_item ::= common_expression AS column_alias */ + -3, /* (621) select_item ::= table_name NK_DOT NK_STAR */ + 0, /* (622) where_clause_opt ::= */ + -2, /* (623) where_clause_opt ::= WHERE search_condition */ + 0, /* (624) partition_by_clause_opt ::= */ + -3, /* (625) partition_by_clause_opt ::= PARTITION BY partition_list */ + -1, /* (626) partition_list ::= partition_item */ + -3, /* (627) partition_list ::= partition_list NK_COMMA partition_item */ + -1, /* (628) partition_item ::= expr_or_subquery */ + -2, /* (629) partition_item ::= expr_or_subquery column_alias */ + -3, /* (630) partition_item ::= expr_or_subquery AS column_alias */ + 0, /* (631) twindow_clause_opt ::= */ + -6, /* (632) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ + -4, /* (633) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ + -6, /* (634) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + -8, /* (635) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + -7, /* (636) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ + -4, /* (637) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ + -6, /* (638) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ + 0, /* (639) sliding_opt ::= */ + -4, /* (640) sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ + -1, /* (641) interval_sliding_duration_literal ::= NK_VARIABLE */ + -1, /* (642) interval_sliding_duration_literal ::= NK_STRING */ + -1, /* (643) interval_sliding_duration_literal ::= NK_INTEGER */ + 0, /* (644) fill_opt ::= */ + -4, /* (645) fill_opt ::= FILL NK_LP fill_mode NK_RP */ + -6, /* (646) fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ + -6, /* (647) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ + -1, /* (648) fill_mode ::= NONE */ + -1, /* (649) fill_mode ::= PREV */ + -1, /* (650) fill_mode ::= NULL */ + -1, /* (651) fill_mode ::= NULL_F */ + -1, /* (652) fill_mode ::= LINEAR */ + -1, /* (653) fill_mode ::= NEXT */ + 0, /* (654) group_by_clause_opt ::= */ + -3, /* (655) group_by_clause_opt ::= GROUP BY group_by_list */ + -1, /* (656) group_by_list ::= expr_or_subquery */ + -3, /* (657) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ + 0, /* (658) having_clause_opt ::= */ + -2, /* (659) having_clause_opt ::= HAVING search_condition */ + 0, /* (660) range_opt ::= */ + -6, /* (661) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ + -4, /* (662) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ + 0, /* (663) every_opt ::= */ + -4, /* (664) every_opt ::= EVERY NK_LP duration_literal NK_RP */ + -4, /* (665) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + -1, /* (666) query_simple ::= query_specification */ + -1, /* (667) query_simple ::= union_query_expression */ + -4, /* (668) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ + -3, /* (669) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ + -1, /* (670) query_simple_or_subquery ::= query_simple */ + -1, /* (671) query_simple_or_subquery ::= subquery */ + -1, /* (672) query_or_subquery ::= query_expression */ + -1, /* (673) query_or_subquery ::= subquery */ + 0, /* (674) order_by_clause_opt ::= */ + -3, /* (675) order_by_clause_opt ::= ORDER BY sort_specification_list */ + 0, /* (676) slimit_clause_opt ::= */ + -2, /* (677) slimit_clause_opt ::= SLIMIT NK_INTEGER */ + -4, /* (678) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + -4, /* (679) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + 0, /* (680) limit_clause_opt ::= */ + -2, /* (681) limit_clause_opt ::= LIMIT NK_INTEGER */ + -4, /* (682) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ + -4, /* (683) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + -3, /* (684) subquery ::= NK_LP query_expression NK_RP */ + -3, /* (685) subquery ::= NK_LP subquery NK_RP */ + -1, /* (686) search_condition ::= common_expression */ + -1, /* (687) sort_specification_list ::= sort_specification */ + -3, /* (688) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ + -3, /* (689) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ + 0, /* (690) ordering_specification_opt ::= */ + -1, /* (691) ordering_specification_opt ::= ASC */ + -1, /* (692) ordering_specification_opt ::= DESC */ + 0, /* (693) null_ordering_opt ::= */ + -2, /* (694) null_ordering_opt ::= NULLS FIRST */ + -2, /* (695) null_ordering_opt ::= NULLS LAST */ }; static void yy_accept(yyParser*); /* Forward Declaration */ @@ -4831,54 +5258,6 @@ static YYACTIONTYPE yy_reduce( (void)yyLookahead; (void)yyLookaheadToken; yymsp = yypParser->yytos; -#ifndef NDEBUG - if( yyTraceFILE && yyruleno<(int)(sizeof(yyRuleName)/sizeof(yyRuleName[0])) ){ - yysize = yyRuleInfoNRhs[yyruleno]; - if( yysize ){ - fprintf(yyTraceFILE, "%sReduce %d [%s]%s, pop back to state %d.\n", - yyTracePrompt, - yyruleno, yyRuleName[yyruleno], - yyrulenoyytos - yypParser->yystack)>yypParser->yyhwm ){ - yypParser->yyhwm++; - assert( yypParser->yyhwm == (int)(yypParser->yytos - yypParser->yystack)); - } -#endif -#if YYSTACKDEPTH>0 - if( yypParser->yytos>=yypParser->yystackEnd ){ - yyStackOverflow(yypParser); - /* The call to yyStackOverflow() above pops the stack until it is - ** empty, causing the main parser loop to exit. So the return value - ** is never used and does not matter. */ - return 0; - } -#else - if( yypParser->yytos>=&yypParser->yystack[yypParser->yystksz-1] ){ - if( yyGrowStack(yypParser) ){ - yyStackOverflow(yypParser); - /* The call to yyStackOverflow() above pops the stack until it is - ** empty, causing the main parser loop to exit. So the return value - ** is never used and does not matter. */ - return 0; - } - yymsp = yypParser->yytos; - } -#endif - } switch( yyruleno ){ /* Beginning here are the reduction cases. A typical example @@ -4892,15 +5271,21 @@ static YYACTIONTYPE yy_reduce( /********** Begin reduce actions **********************************************/ YYMINORTYPE yylhsminor; case 0: /* cmd ::= CREATE ACCOUNT NK_ID PASS NK_STRING account_options */ +#line 50 "sql.y" { pCxt->errCode = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_EXPRIE_STATEMENT); } +#line 5276 "sql.c" yy_destructor(yypParser,355,&yymsp[0].minor); break; case 1: /* cmd ::= ALTER ACCOUNT NK_ID alter_account_options */ +#line 51 "sql.y" { pCxt->errCode = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_EXPRIE_STATEMENT); } +#line 5282 "sql.c" yy_destructor(yypParser,356,&yymsp[0].minor); break; case 2: /* account_options ::= */ +#line 55 "sql.y" { } +#line 5288 "sql.c" break; case 3: /* account_options ::= account_options PPS literal */ case 4: /* account_options ::= account_options TSERIES literal */ yytestcase(yyruleno==4); @@ -4912,18 +5297,24 @@ static YYACTIONTYPE yy_reduce( 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,355,&yymsp[-2].minor); +#line 56 "sql.y" { } +#line 5302 "sql.c" yy_destructor(yypParser,357,&yymsp[0].minor); } break; case 12: /* alter_account_options ::= alter_account_option */ { yy_destructor(yypParser,358,&yymsp[0].minor); +#line 68 "sql.y" { } +#line 5310 "sql.c" } break; case 13: /* alter_account_options ::= alter_account_options alter_account_option */ { yy_destructor(yypParser,356,&yymsp[-1].minor); +#line 69 "sql.y" { } +#line 5317 "sql.c" yy_destructor(yypParser,358,&yymsp[0].minor); } break; @@ -4937,1892 +5328,2813 @@ static YYACTIONTYPE yy_reduce( case 21: /* alter_account_option ::= USERS literal */ yytestcase(yyruleno==21); case 22: /* alter_account_option ::= CONNS literal */ yytestcase(yyruleno==22); case 23: /* alter_account_option ::= STATE literal */ yytestcase(yyruleno==23); +#line 73 "sql.y" { } +#line 5333 "sql.c" yy_destructor(yypParser,357,&yymsp[0].minor); break; case 24: /* ip_range_list ::= NK_STRING */ -{ yylhsminor.yy552 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy552 = yylhsminor.yy552; +#line 86 "sql.y" +{ yylhsminor.yy404 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } +#line 5339 "sql.c" + yymsp[0].minor.yy404 = yylhsminor.yy404; break; case 25: /* ip_range_list ::= ip_range_list NK_COMMA NK_STRING */ -{ yylhsminor.yy552 = addNodeToList(pCxt, yymsp[-2].minor.yy552, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy552 = yylhsminor.yy552; +#line 87 "sql.y" +{ yylhsminor.yy404 = addNodeToList(pCxt, yymsp[-2].minor.yy404, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } +#line 5345 "sql.c" + yymsp[-2].minor.yy404 = yylhsminor.yy404; break; case 26: /* white_list ::= HOST ip_range_list */ -{ yymsp[-1].minor.yy552 = yymsp[0].minor.yy552; } +#line 91 "sql.y" +{ yymsp[-1].minor.yy404 = yymsp[0].minor.yy404; } +#line 5351 "sql.c" break; case 27: /* white_list_opt ::= */ case 188: /* specific_cols_opt ::= */ yytestcase(yyruleno==188); - case 219: /* tags_def_opt ::= */ yytestcase(yyruleno==219); - case 308: /* tag_list_opt ::= */ yytestcase(yyruleno==308); - case 374: /* col_list_opt ::= */ yytestcase(yyruleno==374); - case 376: /* tag_def_or_ref_opt ::= */ yytestcase(yyruleno==376); - case 619: /* partition_by_clause_opt ::= */ yytestcase(yyruleno==619); - case 649: /* group_by_clause_opt ::= */ yytestcase(yyruleno==649); - case 669: /* order_by_clause_opt ::= */ yytestcase(yyruleno==669); -{ yymsp[1].minor.yy552 = NULL; } + case 223: /* tags_def_opt ::= */ yytestcase(yyruleno==223); + case 312: /* tag_list_opt ::= */ yytestcase(yyruleno==312); + case 378: /* col_list_opt ::= */ yytestcase(yyruleno==378); + case 380: /* tag_def_or_ref_opt ::= */ yytestcase(yyruleno==380); + case 624: /* partition_by_clause_opt ::= */ yytestcase(yyruleno==624); + case 654: /* group_by_clause_opt ::= */ yytestcase(yyruleno==654); + case 674: /* order_by_clause_opt ::= */ yytestcase(yyruleno==674); +#line 95 "sql.y" +{ yymsp[1].minor.yy404 = NULL; } +#line 5364 "sql.c" break; case 28: /* white_list_opt ::= white_list */ - case 220: /* tags_def_opt ::= tags_def */ yytestcase(yyruleno==220); - case 377: /* tag_def_or_ref_opt ::= tags_def */ yytestcase(yyruleno==377); - case 544: /* star_func_para_list ::= other_para_list */ yytestcase(yyruleno==544); -{ yylhsminor.yy552 = yymsp[0].minor.yy552; } - yymsp[0].minor.yy552 = yylhsminor.yy552; + case 224: /* tags_def_opt ::= tags_def */ yytestcase(yyruleno==224); + case 381: /* tag_def_or_ref_opt ::= tags_def */ yytestcase(yyruleno==381); + case 549: /* star_func_para_list ::= other_para_list */ yytestcase(yyruleno==549); +#line 96 "sql.y" +{ yylhsminor.yy404 = yymsp[0].minor.yy404; } +#line 5372 "sql.c" + yymsp[0].minor.yy404 = yylhsminor.yy404; break; case 29: /* cmd ::= CREATE USER user_name PASS NK_STRING sysinfo_opt white_list_opt */ +#line 100 "sql.y" { - pCxt->pRootNode = createCreateUserStmt(pCxt, &yymsp[-4].minor.yy965, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy883); - pCxt->pRootNode = addCreateUserStmtWhiteList(pCxt, pCxt->pRootNode, yymsp[0].minor.yy552); + pCxt->pRootNode = createCreateUserStmt(pCxt, &yymsp[-4].minor.yy701, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy915); + pCxt->pRootNode = addCreateUserStmtWhiteList(pCxt, pCxt->pRootNode, yymsp[0].minor.yy404); } +#line 5381 "sql.c" break; case 30: /* cmd ::= ALTER USER user_name PASS NK_STRING */ -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy965, TSDB_ALTER_USER_PASSWD, &yymsp[0].minor.yy0); } +#line 104 "sql.y" +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy701, TSDB_ALTER_USER_PASSWD, &yymsp[0].minor.yy0); } +#line 5386 "sql.c" break; case 31: /* cmd ::= ALTER USER user_name ENABLE NK_INTEGER */ -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy965, TSDB_ALTER_USER_ENABLE, &yymsp[0].minor.yy0); } +#line 105 "sql.y" +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy701, TSDB_ALTER_USER_ENABLE, &yymsp[0].minor.yy0); } +#line 5391 "sql.c" break; case 32: /* cmd ::= ALTER USER user_name SYSINFO NK_INTEGER */ -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy965, TSDB_ALTER_USER_SYSINFO, &yymsp[0].minor.yy0); } +#line 106 "sql.y" +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy701, TSDB_ALTER_USER_SYSINFO, &yymsp[0].minor.yy0); } +#line 5396 "sql.c" break; case 33: /* cmd ::= ALTER USER user_name ADD white_list */ -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy965, TSDB_ALTER_USER_ADD_WHITE_LIST, yymsp[0].minor.yy552); } +#line 107 "sql.y" +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy701, TSDB_ALTER_USER_ADD_WHITE_LIST, yymsp[0].minor.yy404); } +#line 5401 "sql.c" break; case 34: /* cmd ::= ALTER USER user_name DROP white_list */ -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy965, TSDB_ALTER_USER_DROP_WHITE_LIST, yymsp[0].minor.yy552); } +#line 108 "sql.y" +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy701, TSDB_ALTER_USER_DROP_WHITE_LIST, yymsp[0].minor.yy404); } +#line 5406 "sql.c" break; case 35: /* cmd ::= DROP USER user_name */ -{ pCxt->pRootNode = createDropUserStmt(pCxt, &yymsp[0].minor.yy965); } +#line 109 "sql.y" +{ pCxt->pRootNode = createDropUserStmt(pCxt, &yymsp[0].minor.yy701); } +#line 5411 "sql.c" break; case 36: /* sysinfo_opt ::= */ -{ yymsp[1].minor.yy883 = 1; } +#line 113 "sql.y" +{ yymsp[1].minor.yy915 = 1; } +#line 5416 "sql.c" break; case 37: /* sysinfo_opt ::= SYSINFO NK_INTEGER */ -{ yymsp[-1].minor.yy883 = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); } +#line 114 "sql.y" +{ yymsp[-1].minor.yy915 = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); } +#line 5421 "sql.c" break; case 38: /* cmd ::= GRANT privileges ON priv_level with_opt TO user_name */ -{ pCxt->pRootNode = createGrantStmt(pCxt, yymsp[-5].minor.yy525, &yymsp[-3].minor.yy665, &yymsp[0].minor.yy965, yymsp[-2].minor.yy718); } +#line 117 "sql.y" +{ pCxt->pRootNode = createGrantStmt(pCxt, yymsp[-5].minor.yy949, &yymsp[-3].minor.yy21, &yymsp[0].minor.yy701, yymsp[-2].minor.yy896); } +#line 5426 "sql.c" break; case 39: /* cmd ::= REVOKE privileges ON priv_level with_opt FROM user_name */ -{ pCxt->pRootNode = createRevokeStmt(pCxt, yymsp[-5].minor.yy525, &yymsp[-3].minor.yy665, &yymsp[0].minor.yy965, yymsp[-2].minor.yy718); } +#line 118 "sql.y" +{ pCxt->pRootNode = createRevokeStmt(pCxt, yymsp[-5].minor.yy949, &yymsp[-3].minor.yy21, &yymsp[0].minor.yy701, yymsp[-2].minor.yy896); } +#line 5431 "sql.c" break; case 40: /* privileges ::= ALL */ -{ yymsp[0].minor.yy525 = PRIVILEGE_TYPE_ALL; } +#line 122 "sql.y" +{ yymsp[0].minor.yy949 = PRIVILEGE_TYPE_ALL; } +#line 5436 "sql.c" break; case 41: /* privileges ::= priv_type_list */ case 43: /* priv_type_list ::= priv_type */ yytestcase(yyruleno==43); -{ yylhsminor.yy525 = yymsp[0].minor.yy525; } - yymsp[0].minor.yy525 = yylhsminor.yy525; +#line 123 "sql.y" +{ yylhsminor.yy949 = yymsp[0].minor.yy949; } +#line 5442 "sql.c" + yymsp[0].minor.yy949 = yylhsminor.yy949; break; case 42: /* privileges ::= SUBSCRIBE */ -{ yymsp[0].minor.yy525 = PRIVILEGE_TYPE_SUBSCRIBE; } +#line 124 "sql.y" +{ yymsp[0].minor.yy949 = PRIVILEGE_TYPE_SUBSCRIBE; } +#line 5448 "sql.c" break; case 44: /* priv_type_list ::= priv_type_list NK_COMMA priv_type */ -{ yylhsminor.yy525 = yymsp[-2].minor.yy525 | yymsp[0].minor.yy525; } - yymsp[-2].minor.yy525 = yylhsminor.yy525; +#line 129 "sql.y" +{ yylhsminor.yy949 = yymsp[-2].minor.yy949 | yymsp[0].minor.yy949; } +#line 5453 "sql.c" + yymsp[-2].minor.yy949 = yylhsminor.yy949; break; case 45: /* priv_type ::= READ */ -{ yymsp[0].minor.yy525 = PRIVILEGE_TYPE_READ; } +#line 133 "sql.y" +{ yymsp[0].minor.yy949 = PRIVILEGE_TYPE_READ; } +#line 5459 "sql.c" break; case 46: /* priv_type ::= WRITE */ -{ yymsp[0].minor.yy525 = PRIVILEGE_TYPE_WRITE; } +#line 134 "sql.y" +{ yymsp[0].minor.yy949 = PRIVILEGE_TYPE_WRITE; } +#line 5464 "sql.c" break; case 47: /* priv_type ::= ALTER */ -{ yymsp[0].minor.yy525 = PRIVILEGE_TYPE_ALTER; } +#line 135 "sql.y" +{ yymsp[0].minor.yy949 = PRIVILEGE_TYPE_ALTER; } +#line 5469 "sql.c" break; case 48: /* priv_level ::= NK_STAR NK_DOT NK_STAR */ -{ yylhsminor.yy665.first = yymsp[-2].minor.yy0; yylhsminor.yy665.second = yymsp[0].minor.yy0; } - yymsp[-2].minor.yy665 = yylhsminor.yy665; +#line 139 "sql.y" +{ yylhsminor.yy21.first = yymsp[-2].minor.yy0; yylhsminor.yy21.second = yymsp[0].minor.yy0; } +#line 5474 "sql.c" + yymsp[-2].minor.yy21 = yylhsminor.yy21; break; case 49: /* priv_level ::= db_name NK_DOT NK_STAR */ -{ yylhsminor.yy665.first = yymsp[-2].minor.yy965; yylhsminor.yy665.second = yymsp[0].minor.yy0; } - yymsp[-2].minor.yy665 = yylhsminor.yy665; +#line 140 "sql.y" +{ yylhsminor.yy21.first = yymsp[-2].minor.yy701; yylhsminor.yy21.second = yymsp[0].minor.yy0; } +#line 5480 "sql.c" + yymsp[-2].minor.yy21 = yylhsminor.yy21; break; case 50: /* priv_level ::= db_name NK_DOT table_name */ -{ yylhsminor.yy665.first = yymsp[-2].minor.yy965; yylhsminor.yy665.second = yymsp[0].minor.yy965; } - yymsp[-2].minor.yy665 = yylhsminor.yy665; +#line 141 "sql.y" +{ yylhsminor.yy21.first = yymsp[-2].minor.yy701; yylhsminor.yy21.second = yymsp[0].minor.yy701; } +#line 5486 "sql.c" + yymsp[-2].minor.yy21 = yylhsminor.yy21; break; case 51: /* priv_level ::= topic_name */ -{ yylhsminor.yy665.first = yymsp[0].minor.yy965; yylhsminor.yy665.second = nil_token; } - yymsp[0].minor.yy665 = yylhsminor.yy665; +#line 142 "sql.y" +{ yylhsminor.yy21.first = yymsp[0].minor.yy701; yylhsminor.yy21.second = nil_token; } +#line 5492 "sql.c" + yymsp[0].minor.yy21 = yylhsminor.yy21; break; case 52: /* with_opt ::= */ case 157: /* start_opt ::= */ yytestcase(yyruleno==157); case 161: /* end_opt ::= */ yytestcase(yyruleno==161); - case 303: /* like_pattern_opt ::= */ yytestcase(yyruleno==303); - case 388: /* subtable_opt ::= */ yytestcase(yyruleno==388); - case 554: /* case_when_else_opt ::= */ yytestcase(yyruleno==554); - case 584: /* from_clause_opt ::= */ yytestcase(yyruleno==584); - case 617: /* where_clause_opt ::= */ yytestcase(yyruleno==617); - case 626: /* twindow_clause_opt ::= */ yytestcase(yyruleno==626); - case 634: /* sliding_opt ::= */ yytestcase(yyruleno==634); - case 639: /* fill_opt ::= */ yytestcase(yyruleno==639); - case 653: /* having_clause_opt ::= */ yytestcase(yyruleno==653); - case 655: /* range_opt ::= */ yytestcase(yyruleno==655); - case 658: /* every_opt ::= */ yytestcase(yyruleno==658); - case 671: /* slimit_clause_opt ::= */ yytestcase(yyruleno==671); - case 675: /* limit_clause_opt ::= */ yytestcase(yyruleno==675); -{ yymsp[1].minor.yy718 = NULL; } + case 307: /* like_pattern_opt ::= */ yytestcase(yyruleno==307); + case 392: /* subtable_opt ::= */ yytestcase(yyruleno==392); + case 559: /* case_when_else_opt ::= */ yytestcase(yyruleno==559); + case 589: /* from_clause_opt ::= */ yytestcase(yyruleno==589); + case 622: /* where_clause_opt ::= */ yytestcase(yyruleno==622); + case 631: /* twindow_clause_opt ::= */ yytestcase(yyruleno==631); + case 639: /* sliding_opt ::= */ yytestcase(yyruleno==639); + case 644: /* fill_opt ::= */ yytestcase(yyruleno==644); + case 658: /* having_clause_opt ::= */ yytestcase(yyruleno==658); + case 660: /* range_opt ::= */ yytestcase(yyruleno==660); + case 663: /* every_opt ::= */ yytestcase(yyruleno==663); + case 676: /* slimit_clause_opt ::= */ yytestcase(yyruleno==676); + case 680: /* limit_clause_opt ::= */ yytestcase(yyruleno==680); +#line 144 "sql.y" +{ yymsp[1].minor.yy896 = NULL; } +#line 5513 "sql.c" break; case 53: /* with_opt ::= WITH search_condition */ - case 585: /* from_clause_opt ::= FROM table_reference_list */ yytestcase(yyruleno==585); - case 618: /* where_clause_opt ::= WHERE search_condition */ yytestcase(yyruleno==618); - case 654: /* having_clause_opt ::= HAVING search_condition */ yytestcase(yyruleno==654); -{ yymsp[-1].minor.yy718 = yymsp[0].minor.yy718; } + case 590: /* from_clause_opt ::= FROM table_reference_list */ yytestcase(yyruleno==590); + case 623: /* where_clause_opt ::= WHERE search_condition */ yytestcase(yyruleno==623); + case 659: /* having_clause_opt ::= HAVING search_condition */ yytestcase(yyruleno==659); +#line 145 "sql.y" +{ yymsp[-1].minor.yy896 = yymsp[0].minor.yy896; } +#line 5521 "sql.c" break; case 54: /* cmd ::= CREATE DNODE dnode_endpoint */ -{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[0].minor.yy965, NULL); } +#line 148 "sql.y" +{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[0].minor.yy701, NULL); } +#line 5526 "sql.c" break; case 55: /* cmd ::= CREATE DNODE dnode_endpoint PORT NK_INTEGER */ -{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[-2].minor.yy965, &yymsp[0].minor.yy0); } +#line 149 "sql.y" +{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy0); } +#line 5531 "sql.c" break; case 56: /* cmd ::= DROP DNODE NK_INTEGER force_opt */ -{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy559, false); } +#line 150 "sql.y" +{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy733, false); } +#line 5536 "sql.c" break; case 57: /* cmd ::= DROP DNODE dnode_endpoint force_opt */ -{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy965, yymsp[0].minor.yy559, false); } +#line 151 "sql.y" +{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy701, yymsp[0].minor.yy733, false); } +#line 5541 "sql.c" break; case 58: /* cmd ::= DROP DNODE NK_INTEGER unsafe_opt */ -{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, false, yymsp[0].minor.yy559); } +#line 152 "sql.y" +{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, false, yymsp[0].minor.yy733); } +#line 5546 "sql.c" break; case 59: /* cmd ::= DROP DNODE dnode_endpoint unsafe_opt */ -{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy965, false, yymsp[0].minor.yy559); } +#line 153 "sql.y" +{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy701, false, yymsp[0].minor.yy733); } +#line 5551 "sql.c" break; case 60: /* cmd ::= ALTER DNODE NK_INTEGER NK_STRING */ +#line 154 "sql.y" { pCxt->pRootNode = createAlterDnodeStmt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0, NULL); } +#line 5556 "sql.c" break; case 61: /* cmd ::= ALTER DNODE NK_INTEGER NK_STRING NK_STRING */ +#line 155 "sql.y" { pCxt->pRootNode = createAlterDnodeStmt(pCxt, &yymsp[-2].minor.yy0, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); } +#line 5561 "sql.c" break; case 62: /* cmd ::= ALTER ALL DNODES NK_STRING */ +#line 156 "sql.y" { pCxt->pRootNode = createAlterDnodeStmt(pCxt, NULL, &yymsp[0].minor.yy0, NULL); } +#line 5566 "sql.c" break; case 63: /* cmd ::= ALTER ALL DNODES NK_STRING NK_STRING */ +#line 157 "sql.y" { pCxt->pRootNode = createAlterDnodeStmt(pCxt, NULL, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); } +#line 5571 "sql.c" break; case 64: /* cmd ::= RESTORE DNODE NK_INTEGER */ +#line 158 "sql.y" { pCxt->pRootNode = createRestoreComponentNodeStmt(pCxt, QUERY_NODE_RESTORE_DNODE_STMT, &yymsp[0].minor.yy0); } +#line 5576 "sql.c" break; case 65: /* dnode_endpoint ::= NK_STRING */ case 66: /* dnode_endpoint ::= NK_ID */ yytestcase(yyruleno==66); case 67: /* dnode_endpoint ::= NK_IPTOKEN */ yytestcase(yyruleno==67); - case 330: /* sma_func_name ::= COUNT */ yytestcase(yyruleno==330); - case 331: /* sma_func_name ::= FIRST */ yytestcase(yyruleno==331); - case 332: /* sma_func_name ::= LAST */ yytestcase(yyruleno==332); - case 333: /* sma_func_name ::= LAST_ROW */ yytestcase(yyruleno==333); - case 475: /* db_name ::= NK_ID */ yytestcase(yyruleno==475); - case 476: /* table_name ::= NK_ID */ yytestcase(yyruleno==476); - case 477: /* column_name ::= NK_ID */ yytestcase(yyruleno==477); - case 478: /* function_name ::= NK_ID */ yytestcase(yyruleno==478); - case 479: /* view_name ::= NK_ID */ yytestcase(yyruleno==479); - case 480: /* table_alias ::= NK_ID */ yytestcase(yyruleno==480); - case 481: /* column_alias ::= NK_ID */ yytestcase(yyruleno==481); - case 482: /* column_alias ::= NK_ALIAS */ yytestcase(yyruleno==482); - case 483: /* user_name ::= NK_ID */ yytestcase(yyruleno==483); - case 484: /* topic_name ::= NK_ID */ yytestcase(yyruleno==484); - case 485: /* stream_name ::= NK_ID */ yytestcase(yyruleno==485); - case 486: /* cgroup_name ::= NK_ID */ yytestcase(yyruleno==486); - case 487: /* index_name ::= NK_ID */ yytestcase(yyruleno==487); - case 530: /* noarg_func ::= NOW */ yytestcase(yyruleno==530); - case 531: /* noarg_func ::= TODAY */ yytestcase(yyruleno==531); - case 532: /* noarg_func ::= TIMEZONE */ yytestcase(yyruleno==532); - case 533: /* noarg_func ::= DATABASE */ yytestcase(yyruleno==533); - case 534: /* noarg_func ::= CLIENT_VERSION */ yytestcase(yyruleno==534); - case 535: /* noarg_func ::= SERVER_VERSION */ yytestcase(yyruleno==535); - case 536: /* noarg_func ::= SERVER_STATUS */ yytestcase(yyruleno==536); - case 537: /* noarg_func ::= CURRENT_USER */ yytestcase(yyruleno==537); - case 538: /* noarg_func ::= USER */ yytestcase(yyruleno==538); - case 539: /* star_func ::= COUNT */ yytestcase(yyruleno==539); - case 540: /* star_func ::= FIRST */ yytestcase(yyruleno==540); - case 541: /* star_func ::= LAST */ yytestcase(yyruleno==541); - case 542: /* star_func ::= LAST_ROW */ yytestcase(yyruleno==542); -{ yylhsminor.yy965 = yymsp[0].minor.yy0; } - yymsp[0].minor.yy965 = yylhsminor.yy965; + case 334: /* sma_func_name ::= COUNT */ yytestcase(yyruleno==334); + case 335: /* sma_func_name ::= FIRST */ yytestcase(yyruleno==335); + case 336: /* sma_func_name ::= LAST */ yytestcase(yyruleno==336); + case 337: /* sma_func_name ::= LAST_ROW */ yytestcase(yyruleno==337); + case 479: /* db_name ::= NK_ID */ yytestcase(yyruleno==479); + case 480: /* table_name ::= NK_ID */ yytestcase(yyruleno==480); + case 481: /* column_name ::= NK_ID */ yytestcase(yyruleno==481); + case 482: /* function_name ::= NK_ID */ yytestcase(yyruleno==482); + case 483: /* view_name ::= NK_ID */ yytestcase(yyruleno==483); + case 484: /* table_alias ::= NK_ID */ yytestcase(yyruleno==484); + case 485: /* column_alias ::= NK_ID */ yytestcase(yyruleno==485); + case 486: /* column_alias ::= NK_ALIAS */ yytestcase(yyruleno==486); + case 487: /* user_name ::= NK_ID */ yytestcase(yyruleno==487); + case 488: /* topic_name ::= NK_ID */ yytestcase(yyruleno==488); + case 489: /* stream_name ::= NK_ID */ yytestcase(yyruleno==489); + case 490: /* cgroup_name ::= NK_ID */ yytestcase(yyruleno==490); + case 491: /* index_name ::= NK_ID */ yytestcase(yyruleno==491); + case 535: /* noarg_func ::= NOW */ yytestcase(yyruleno==535); + case 536: /* noarg_func ::= TODAY */ yytestcase(yyruleno==536); + case 537: /* noarg_func ::= TIMEZONE */ yytestcase(yyruleno==537); + case 538: /* noarg_func ::= DATABASE */ yytestcase(yyruleno==538); + case 539: /* noarg_func ::= CLIENT_VERSION */ yytestcase(yyruleno==539); + case 540: /* noarg_func ::= SERVER_VERSION */ yytestcase(yyruleno==540); + case 541: /* noarg_func ::= SERVER_STATUS */ yytestcase(yyruleno==541); + case 542: /* noarg_func ::= CURRENT_USER */ yytestcase(yyruleno==542); + case 543: /* noarg_func ::= USER */ yytestcase(yyruleno==543); + case 544: /* star_func ::= COUNT */ yytestcase(yyruleno==544); + case 545: /* star_func ::= FIRST */ yytestcase(yyruleno==545); + case 546: /* star_func ::= LAST */ yytestcase(yyruleno==546); + case 547: /* star_func ::= LAST_ROW */ yytestcase(yyruleno==547); +#line 162 "sql.y" +{ yylhsminor.yy701 = yymsp[0].minor.yy0; } +#line 5613 "sql.c" + yymsp[0].minor.yy701 = yylhsminor.yy701; break; case 68: /* force_opt ::= */ case 94: /* not_exists_opt ::= */ yytestcase(yyruleno==94); case 96: /* exists_opt ::= */ yytestcase(yyruleno==96); - case 351: /* analyze_opt ::= */ yytestcase(yyruleno==351); - case 358: /* agg_func_opt ::= */ yytestcase(yyruleno==358); - case 364: /* or_replace_opt ::= */ yytestcase(yyruleno==364); - case 390: /* ignore_opt ::= */ yytestcase(yyruleno==390); - case 605: /* tag_mode_opt ::= */ yytestcase(yyruleno==605); - case 607: /* set_quantifier_opt ::= */ yytestcase(yyruleno==607); -{ yymsp[1].minor.yy559 = false; } + case 355: /* analyze_opt ::= */ yytestcase(yyruleno==355); + case 362: /* agg_func_opt ::= */ yytestcase(yyruleno==362); + case 368: /* or_replace_opt ::= */ yytestcase(yyruleno==368); + case 394: /* ignore_opt ::= */ yytestcase(yyruleno==394); + case 610: /* tag_mode_opt ::= */ yytestcase(yyruleno==610); + case 612: /* set_quantifier_opt ::= */ yytestcase(yyruleno==612); +#line 168 "sql.y" +{ yymsp[1].minor.yy733 = false; } +#line 5627 "sql.c" break; case 69: /* force_opt ::= FORCE */ case 70: /* unsafe_opt ::= UNSAFE */ yytestcase(yyruleno==70); - case 352: /* analyze_opt ::= ANALYZE */ yytestcase(yyruleno==352); - case 359: /* agg_func_opt ::= AGGREGATE */ yytestcase(yyruleno==359); - case 606: /* tag_mode_opt ::= TAGS */ yytestcase(yyruleno==606); - case 608: /* set_quantifier_opt ::= DISTINCT */ yytestcase(yyruleno==608); -{ yymsp[0].minor.yy559 = true; } + case 356: /* analyze_opt ::= ANALYZE */ yytestcase(yyruleno==356); + case 363: /* agg_func_opt ::= AGGREGATE */ yytestcase(yyruleno==363); + case 611: /* tag_mode_opt ::= TAGS */ yytestcase(yyruleno==611); + case 613: /* set_quantifier_opt ::= DISTINCT */ yytestcase(yyruleno==613); +#line 169 "sql.y" +{ yymsp[0].minor.yy733 = true; } +#line 5637 "sql.c" break; case 71: /* cmd ::= ALTER CLUSTER NK_STRING */ +#line 176 "sql.y" { pCxt->pRootNode = createAlterClusterStmt(pCxt, &yymsp[0].minor.yy0, NULL); } +#line 5642 "sql.c" break; case 72: /* cmd ::= ALTER CLUSTER NK_STRING NK_STRING */ +#line 177 "sql.y" { pCxt->pRootNode = createAlterClusterStmt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); } +#line 5647 "sql.c" break; case 73: /* cmd ::= ALTER LOCAL NK_STRING */ +#line 180 "sql.y" { pCxt->pRootNode = createAlterLocalStmt(pCxt, &yymsp[0].minor.yy0, NULL); } +#line 5652 "sql.c" break; case 74: /* cmd ::= ALTER LOCAL NK_STRING NK_STRING */ +#line 181 "sql.y" { pCxt->pRootNode = createAlterLocalStmt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); } +#line 5657 "sql.c" break; case 75: /* cmd ::= CREATE QNODE ON DNODE NK_INTEGER */ +#line 184 "sql.y" { pCxt->pRootNode = createCreateComponentNodeStmt(pCxt, QUERY_NODE_CREATE_QNODE_STMT, &yymsp[0].minor.yy0); } +#line 5662 "sql.c" break; case 76: /* cmd ::= DROP QNODE ON DNODE NK_INTEGER */ +#line 185 "sql.y" { pCxt->pRootNode = createDropComponentNodeStmt(pCxt, QUERY_NODE_DROP_QNODE_STMT, &yymsp[0].minor.yy0); } +#line 5667 "sql.c" break; case 77: /* cmd ::= RESTORE QNODE ON DNODE NK_INTEGER */ +#line 186 "sql.y" { pCxt->pRootNode = createRestoreComponentNodeStmt(pCxt, QUERY_NODE_RESTORE_QNODE_STMT, &yymsp[0].minor.yy0); } +#line 5672 "sql.c" break; case 78: /* cmd ::= CREATE BNODE ON DNODE NK_INTEGER */ +#line 189 "sql.y" { pCxt->pRootNode = createCreateComponentNodeStmt(pCxt, QUERY_NODE_CREATE_BNODE_STMT, &yymsp[0].minor.yy0); } +#line 5677 "sql.c" break; case 79: /* cmd ::= DROP BNODE ON DNODE NK_INTEGER */ +#line 190 "sql.y" { pCxt->pRootNode = createDropComponentNodeStmt(pCxt, QUERY_NODE_DROP_BNODE_STMT, &yymsp[0].minor.yy0); } +#line 5682 "sql.c" break; case 80: /* cmd ::= CREATE SNODE ON DNODE NK_INTEGER */ +#line 193 "sql.y" { pCxt->pRootNode = createCreateComponentNodeStmt(pCxt, QUERY_NODE_CREATE_SNODE_STMT, &yymsp[0].minor.yy0); } +#line 5687 "sql.c" break; case 81: /* cmd ::= DROP SNODE ON DNODE NK_INTEGER */ +#line 194 "sql.y" { pCxt->pRootNode = createDropComponentNodeStmt(pCxt, QUERY_NODE_DROP_SNODE_STMT, &yymsp[0].minor.yy0); } +#line 5692 "sql.c" break; case 82: /* cmd ::= CREATE MNODE ON DNODE NK_INTEGER */ +#line 197 "sql.y" { pCxt->pRootNode = createCreateComponentNodeStmt(pCxt, QUERY_NODE_CREATE_MNODE_STMT, &yymsp[0].minor.yy0); } +#line 5697 "sql.c" break; case 83: /* cmd ::= DROP MNODE ON DNODE NK_INTEGER */ +#line 198 "sql.y" { pCxt->pRootNode = createDropComponentNodeStmt(pCxt, QUERY_NODE_DROP_MNODE_STMT, &yymsp[0].minor.yy0); } +#line 5702 "sql.c" break; case 84: /* cmd ::= RESTORE MNODE ON DNODE NK_INTEGER */ +#line 199 "sql.y" { pCxt->pRootNode = createRestoreComponentNodeStmt(pCxt, QUERY_NODE_RESTORE_MNODE_STMT, &yymsp[0].minor.yy0); } +#line 5707 "sql.c" break; case 85: /* cmd ::= RESTORE VNODE ON DNODE NK_INTEGER */ +#line 202 "sql.y" { pCxt->pRootNode = createRestoreComponentNodeStmt(pCxt, QUERY_NODE_RESTORE_VNODE_STMT, &yymsp[0].minor.yy0); } +#line 5712 "sql.c" break; case 86: /* cmd ::= CREATE DATABASE not_exists_opt db_name db_options */ -{ pCxt->pRootNode = createCreateDatabaseStmt(pCxt, yymsp[-2].minor.yy559, &yymsp[-1].minor.yy965, yymsp[0].minor.yy718); } +#line 205 "sql.y" +{ pCxt->pRootNode = createCreateDatabaseStmt(pCxt, yymsp[-2].minor.yy733, &yymsp[-1].minor.yy701, yymsp[0].minor.yy896); } +#line 5717 "sql.c" break; case 87: /* cmd ::= DROP DATABASE exists_opt db_name */ -{ pCxt->pRootNode = createDropDatabaseStmt(pCxt, yymsp[-1].minor.yy559, &yymsp[0].minor.yy965); } +#line 206 "sql.y" +{ pCxt->pRootNode = createDropDatabaseStmt(pCxt, yymsp[-1].minor.yy733, &yymsp[0].minor.yy701); } +#line 5722 "sql.c" break; case 88: /* cmd ::= USE db_name */ -{ pCxt->pRootNode = createUseDatabaseStmt(pCxt, &yymsp[0].minor.yy965); } +#line 207 "sql.y" +{ pCxt->pRootNode = createUseDatabaseStmt(pCxt, &yymsp[0].minor.yy701); } +#line 5727 "sql.c" break; case 89: /* cmd ::= ALTER DATABASE db_name alter_db_options */ -{ pCxt->pRootNode = createAlterDatabaseStmt(pCxt, &yymsp[-1].minor.yy965, yymsp[0].minor.yy718); } +#line 208 "sql.y" +{ pCxt->pRootNode = createAlterDatabaseStmt(pCxt, &yymsp[-1].minor.yy701, yymsp[0].minor.yy896); } +#line 5732 "sql.c" break; case 90: /* cmd ::= FLUSH DATABASE db_name */ -{ pCxt->pRootNode = createFlushDatabaseStmt(pCxt, &yymsp[0].minor.yy965); } +#line 209 "sql.y" +{ pCxt->pRootNode = createFlushDatabaseStmt(pCxt, &yymsp[0].minor.yy701); } +#line 5737 "sql.c" break; case 91: /* cmd ::= TRIM DATABASE db_name speed_opt */ -{ pCxt->pRootNode = createTrimDatabaseStmt(pCxt, &yymsp[-1].minor.yy965, yymsp[0].minor.yy134); } +#line 210 "sql.y" +{ pCxt->pRootNode = createTrimDatabaseStmt(pCxt, &yymsp[-1].minor.yy701, yymsp[0].minor.yy396); } +#line 5742 "sql.c" break; case 92: /* cmd ::= COMPACT DATABASE db_name start_opt end_opt */ -{ pCxt->pRootNode = createCompactStmt(pCxt, &yymsp[-2].minor.yy965, yymsp[-1].minor.yy718, yymsp[0].minor.yy718); } +#line 211 "sql.y" +{ pCxt->pRootNode = createCompactStmt(pCxt, &yymsp[-2].minor.yy701, yymsp[-1].minor.yy896, yymsp[0].minor.yy896); } +#line 5747 "sql.c" break; case 93: /* not_exists_opt ::= IF NOT EXISTS */ -{ yymsp[-2].minor.yy559 = true; } +#line 215 "sql.y" +{ yymsp[-2].minor.yy733 = true; } +#line 5752 "sql.c" break; case 95: /* exists_opt ::= IF EXISTS */ - case 365: /* or_replace_opt ::= OR REPLACE */ yytestcase(yyruleno==365); - case 391: /* ignore_opt ::= IGNORE UNTREATED */ yytestcase(yyruleno==391); -{ yymsp[-1].minor.yy559 = true; } + case 369: /* or_replace_opt ::= OR REPLACE */ yytestcase(yyruleno==369); + case 395: /* ignore_opt ::= IGNORE UNTREATED */ yytestcase(yyruleno==395); +#line 220 "sql.y" +{ yymsp[-1].minor.yy733 = true; } +#line 5759 "sql.c" break; case 97: /* db_options ::= */ -{ yymsp[1].minor.yy718 = createDefaultDatabaseOptions(pCxt); } +#line 223 "sql.y" +{ yymsp[1].minor.yy896 = createDefaultDatabaseOptions(pCxt); } +#line 5764 "sql.c" break; case 98: /* db_options ::= db_options BUFFER NK_INTEGER */ -{ yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-2].minor.yy718, DB_OPTION_BUFFER, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 224 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_BUFFER, &yymsp[0].minor.yy0); } +#line 5769 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 99: /* db_options ::= db_options CACHEMODEL NK_STRING */ -{ yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-2].minor.yy718, DB_OPTION_CACHEMODEL, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 225 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_CACHEMODEL, &yymsp[0].minor.yy0); } +#line 5775 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 100: /* db_options ::= db_options CACHESIZE NK_INTEGER */ -{ yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-2].minor.yy718, DB_OPTION_CACHESIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 226 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_CACHESIZE, &yymsp[0].minor.yy0); } +#line 5781 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 101: /* db_options ::= db_options COMP NK_INTEGER */ -{ yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-2].minor.yy718, DB_OPTION_COMP, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 227 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_COMP, &yymsp[0].minor.yy0); } +#line 5787 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 102: /* db_options ::= db_options DURATION NK_INTEGER */ case 103: /* db_options ::= db_options DURATION NK_VARIABLE */ yytestcase(yyruleno==103); -{ yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-2].minor.yy718, DB_OPTION_DAYS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 228 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_DAYS, &yymsp[0].minor.yy0); } +#line 5794 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 104: /* db_options ::= db_options MAXROWS NK_INTEGER */ -{ yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-2].minor.yy718, DB_OPTION_MAXROWS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 230 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_MAXROWS, &yymsp[0].minor.yy0); } +#line 5800 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 105: /* db_options ::= db_options MINROWS NK_INTEGER */ -{ yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-2].minor.yy718, DB_OPTION_MINROWS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 231 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_MINROWS, &yymsp[0].minor.yy0); } +#line 5806 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 106: /* db_options ::= db_options KEEP integer_list */ case 107: /* db_options ::= db_options KEEP variable_list */ yytestcase(yyruleno==107); -{ yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-2].minor.yy718, DB_OPTION_KEEP, yymsp[0].minor.yy552); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 232 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_KEEP, yymsp[0].minor.yy404); } +#line 5813 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 108: /* db_options ::= db_options PAGES NK_INTEGER */ -{ yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-2].minor.yy718, DB_OPTION_PAGES, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 234 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_PAGES, &yymsp[0].minor.yy0); } +#line 5819 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 109: /* db_options ::= db_options PAGESIZE NK_INTEGER */ -{ yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-2].minor.yy718, DB_OPTION_PAGESIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 235 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_PAGESIZE, &yymsp[0].minor.yy0); } +#line 5825 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 110: /* db_options ::= db_options TSDB_PAGESIZE NK_INTEGER */ -{ yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-2].minor.yy718, DB_OPTION_TSDB_PAGESIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 236 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_TSDB_PAGESIZE, &yymsp[0].minor.yy0); } +#line 5831 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 111: /* db_options ::= db_options PRECISION NK_STRING */ -{ yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-2].minor.yy718, DB_OPTION_PRECISION, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 237 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_PRECISION, &yymsp[0].minor.yy0); } +#line 5837 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 112: /* db_options ::= db_options REPLICA NK_INTEGER */ -{ yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-2].minor.yy718, DB_OPTION_REPLICA, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 238 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_REPLICA, &yymsp[0].minor.yy0); } +#line 5843 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 113: /* db_options ::= db_options VGROUPS NK_INTEGER */ -{ yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-2].minor.yy718, DB_OPTION_VGROUPS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 240 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_VGROUPS, &yymsp[0].minor.yy0); } +#line 5849 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 114: /* db_options ::= db_options SINGLE_STABLE NK_INTEGER */ -{ yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-2].minor.yy718, DB_OPTION_SINGLE_STABLE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 241 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_SINGLE_STABLE, &yymsp[0].minor.yy0); } +#line 5855 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 115: /* db_options ::= db_options RETENTIONS retention_list */ -{ yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-2].minor.yy718, DB_OPTION_RETENTIONS, yymsp[0].minor.yy552); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 242 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_RETENTIONS, yymsp[0].minor.yy404); } +#line 5861 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 116: /* db_options ::= db_options SCHEMALESS NK_INTEGER */ -{ yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-2].minor.yy718, DB_OPTION_SCHEMALESS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 243 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_SCHEMALESS, &yymsp[0].minor.yy0); } +#line 5867 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 117: /* db_options ::= db_options WAL_LEVEL NK_INTEGER */ -{ yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-2].minor.yy718, DB_OPTION_WAL, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 244 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_WAL, &yymsp[0].minor.yy0); } +#line 5873 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 118: /* db_options ::= db_options WAL_FSYNC_PERIOD NK_INTEGER */ -{ yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-2].minor.yy718, DB_OPTION_FSYNC, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 245 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_FSYNC, &yymsp[0].minor.yy0); } +#line 5879 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 119: /* db_options ::= db_options WAL_RETENTION_PERIOD NK_INTEGER */ -{ yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-2].minor.yy718, DB_OPTION_WAL_RETENTION_PERIOD, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 246 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_WAL_RETENTION_PERIOD, &yymsp[0].minor.yy0); } +#line 5885 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 120: /* db_options ::= db_options WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ +#line 247 "sql.y" { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-3].minor.yy718, DB_OPTION_WAL_RETENTION_PERIOD, &t); + yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-3].minor.yy896, DB_OPTION_WAL_RETENTION_PERIOD, &t); } - yymsp[-3].minor.yy718 = yylhsminor.yy718; +#line 5895 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; case 121: /* db_options ::= db_options WAL_RETENTION_SIZE NK_INTEGER */ -{ yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-2].minor.yy718, DB_OPTION_WAL_RETENTION_SIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 252 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_WAL_RETENTION_SIZE, &yymsp[0].minor.yy0); } +#line 5901 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 122: /* db_options ::= db_options WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ +#line 253 "sql.y" { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-3].minor.yy718, DB_OPTION_WAL_RETENTION_SIZE, &t); + yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-3].minor.yy896, DB_OPTION_WAL_RETENTION_SIZE, &t); } - yymsp[-3].minor.yy718 = yylhsminor.yy718; +#line 5911 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; case 123: /* db_options ::= db_options WAL_ROLL_PERIOD NK_INTEGER */ -{ yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-2].minor.yy718, DB_OPTION_WAL_ROLL_PERIOD, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 258 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_WAL_ROLL_PERIOD, &yymsp[0].minor.yy0); } +#line 5917 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 124: /* db_options ::= db_options WAL_SEGMENT_SIZE NK_INTEGER */ -{ yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-2].minor.yy718, DB_OPTION_WAL_SEGMENT_SIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 259 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_WAL_SEGMENT_SIZE, &yymsp[0].minor.yy0); } +#line 5923 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 125: /* db_options ::= db_options STT_TRIGGER NK_INTEGER */ -{ yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-2].minor.yy718, DB_OPTION_STT_TRIGGER, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 260 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_STT_TRIGGER, &yymsp[0].minor.yy0); } +#line 5929 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 126: /* db_options ::= db_options TABLE_PREFIX signed */ -{ yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-2].minor.yy718, DB_OPTION_TABLE_PREFIX, yymsp[0].minor.yy718); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 261 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_TABLE_PREFIX, yymsp[0].minor.yy896); } +#line 5935 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 127: /* db_options ::= db_options TABLE_SUFFIX signed */ -{ yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-2].minor.yy718, DB_OPTION_TABLE_SUFFIX, yymsp[0].minor.yy718); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 262 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_TABLE_SUFFIX, yymsp[0].minor.yy896); } +#line 5941 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 128: /* db_options ::= db_options KEEP_TIME_OFFSET NK_INTEGER */ -{ yylhsminor.yy718 = setDatabaseOption(pCxt, yymsp[-2].minor.yy718, DB_OPTION_KEEP_TIME_OFFSET, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 263 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_KEEP_TIME_OFFSET, &yymsp[0].minor.yy0); } +#line 5947 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 129: /* alter_db_options ::= alter_db_option */ -{ yylhsminor.yy718 = createAlterDatabaseOptions(pCxt); yylhsminor.yy718 = setAlterDatabaseOption(pCxt, yylhsminor.yy718, &yymsp[0].minor.yy959); } - yymsp[0].minor.yy718 = yylhsminor.yy718; +#line 265 "sql.y" +{ yylhsminor.yy896 = createAlterDatabaseOptions(pCxt); yylhsminor.yy896 = setAlterDatabaseOption(pCxt, yylhsminor.yy896, &yymsp[0].minor.yy529); } +#line 5953 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 130: /* alter_db_options ::= alter_db_options alter_db_option */ -{ yylhsminor.yy718 = setAlterDatabaseOption(pCxt, yymsp[-1].minor.yy718, &yymsp[0].minor.yy959); } - yymsp[-1].minor.yy718 = yylhsminor.yy718; +#line 266 "sql.y" +{ yylhsminor.yy896 = setAlterDatabaseOption(pCxt, yymsp[-1].minor.yy896, &yymsp[0].minor.yy529); } +#line 5959 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; case 131: /* alter_db_option ::= BUFFER NK_INTEGER */ -{ yymsp[-1].minor.yy959.type = DB_OPTION_BUFFER; yymsp[-1].minor.yy959.val = yymsp[0].minor.yy0; } +#line 270 "sql.y" +{ yymsp[-1].minor.yy529.type = DB_OPTION_BUFFER; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 5965 "sql.c" break; case 132: /* alter_db_option ::= CACHEMODEL NK_STRING */ -{ yymsp[-1].minor.yy959.type = DB_OPTION_CACHEMODEL; yymsp[-1].minor.yy959.val = yymsp[0].minor.yy0; } +#line 271 "sql.y" +{ yymsp[-1].minor.yy529.type = DB_OPTION_CACHEMODEL; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 5970 "sql.c" break; case 133: /* alter_db_option ::= CACHESIZE NK_INTEGER */ -{ yymsp[-1].minor.yy959.type = DB_OPTION_CACHESIZE; yymsp[-1].minor.yy959.val = yymsp[0].minor.yy0; } +#line 272 "sql.y" +{ yymsp[-1].minor.yy529.type = DB_OPTION_CACHESIZE; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 5975 "sql.c" break; case 134: /* alter_db_option ::= WAL_FSYNC_PERIOD NK_INTEGER */ -{ yymsp[-1].minor.yy959.type = DB_OPTION_FSYNC; yymsp[-1].minor.yy959.val = yymsp[0].minor.yy0; } +#line 273 "sql.y" +{ yymsp[-1].minor.yy529.type = DB_OPTION_FSYNC; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 5980 "sql.c" break; case 135: /* alter_db_option ::= KEEP integer_list */ case 136: /* alter_db_option ::= KEEP variable_list */ yytestcase(yyruleno==136); -{ yymsp[-1].minor.yy959.type = DB_OPTION_KEEP; yymsp[-1].minor.yy959.pList = yymsp[0].minor.yy552; } +#line 274 "sql.y" +{ yymsp[-1].minor.yy529.type = DB_OPTION_KEEP; yymsp[-1].minor.yy529.pList = yymsp[0].minor.yy404; } +#line 5986 "sql.c" break; case 137: /* alter_db_option ::= PAGES NK_INTEGER */ -{ yymsp[-1].minor.yy959.type = DB_OPTION_PAGES; yymsp[-1].minor.yy959.val = yymsp[0].minor.yy0; } +#line 276 "sql.y" +{ yymsp[-1].minor.yy529.type = DB_OPTION_PAGES; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 5991 "sql.c" break; case 138: /* alter_db_option ::= REPLICA NK_INTEGER */ -{ yymsp[-1].minor.yy959.type = DB_OPTION_REPLICA; yymsp[-1].minor.yy959.val = yymsp[0].minor.yy0; } +#line 277 "sql.y" +{ yymsp[-1].minor.yy529.type = DB_OPTION_REPLICA; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 5996 "sql.c" break; case 139: /* alter_db_option ::= WAL_LEVEL NK_INTEGER */ -{ yymsp[-1].minor.yy959.type = DB_OPTION_WAL; yymsp[-1].minor.yy959.val = yymsp[0].minor.yy0; } +#line 279 "sql.y" +{ yymsp[-1].minor.yy529.type = DB_OPTION_WAL; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 6001 "sql.c" break; case 140: /* alter_db_option ::= STT_TRIGGER NK_INTEGER */ -{ yymsp[-1].minor.yy959.type = DB_OPTION_STT_TRIGGER; yymsp[-1].minor.yy959.val = yymsp[0].minor.yy0; } +#line 280 "sql.y" +{ yymsp[-1].minor.yy529.type = DB_OPTION_STT_TRIGGER; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 6006 "sql.c" break; case 141: /* alter_db_option ::= MINROWS NK_INTEGER */ -{ yymsp[-1].minor.yy959.type = DB_OPTION_MINROWS; yymsp[-1].minor.yy959.val = yymsp[0].minor.yy0; } +#line 281 "sql.y" +{ yymsp[-1].minor.yy529.type = DB_OPTION_MINROWS; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 6011 "sql.c" break; case 142: /* alter_db_option ::= WAL_RETENTION_PERIOD NK_INTEGER */ -{ yymsp[-1].minor.yy959.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-1].minor.yy959.val = yymsp[0].minor.yy0; } +#line 282 "sql.y" +{ yymsp[-1].minor.yy529.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 6016 "sql.c" break; case 143: /* alter_db_option ::= WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ +#line 283 "sql.y" { 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.yy959.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-2].minor.yy959.val = t; + yymsp[-2].minor.yy529.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-2].minor.yy529.val = t; } +#line 6025 "sql.c" break; case 144: /* alter_db_option ::= WAL_RETENTION_SIZE NK_INTEGER */ -{ yymsp[-1].minor.yy959.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-1].minor.yy959.val = yymsp[0].minor.yy0; } +#line 288 "sql.y" +{ yymsp[-1].minor.yy529.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 6030 "sql.c" break; case 145: /* alter_db_option ::= WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ +#line 289 "sql.y" { 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.yy959.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-2].minor.yy959.val = t; + yymsp[-2].minor.yy529.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-2].minor.yy529.val = t; } +#line 6039 "sql.c" break; case 146: /* alter_db_option ::= KEEP_TIME_OFFSET NK_INTEGER */ -{ yymsp[-1].minor.yy959.type = DB_OPTION_KEEP_TIME_OFFSET; yymsp[-1].minor.yy959.val = yymsp[0].minor.yy0; } +#line 294 "sql.y" +{ yymsp[-1].minor.yy529.type = DB_OPTION_KEEP_TIME_OFFSET; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 6044 "sql.c" break; case 147: /* integer_list ::= NK_INTEGER */ -{ yylhsminor.yy552 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy552 = yylhsminor.yy552; +#line 298 "sql.y" +{ yylhsminor.yy404 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } +#line 6049 "sql.c" + yymsp[0].minor.yy404 = yylhsminor.yy404; break; case 148: /* integer_list ::= integer_list NK_COMMA NK_INTEGER */ - case 404: /* dnode_list ::= dnode_list DNODE NK_INTEGER */ yytestcase(yyruleno==404); -{ yylhsminor.yy552 = addNodeToList(pCxt, yymsp[-2].minor.yy552, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy552 = yylhsminor.yy552; + case 408: /* dnode_list ::= dnode_list DNODE NK_INTEGER */ yytestcase(yyruleno==408); +#line 299 "sql.y" +{ yylhsminor.yy404 = addNodeToList(pCxt, yymsp[-2].minor.yy404, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } +#line 6056 "sql.c" + yymsp[-2].minor.yy404 = yylhsminor.yy404; break; case 149: /* variable_list ::= NK_VARIABLE */ -{ yylhsminor.yy552 = createNodeList(pCxt, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy552 = yylhsminor.yy552; +#line 303 "sql.y" +{ yylhsminor.yy404 = createNodeList(pCxt, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } +#line 6062 "sql.c" + yymsp[0].minor.yy404 = yylhsminor.yy404; break; case 150: /* variable_list ::= variable_list NK_COMMA NK_VARIABLE */ -{ yylhsminor.yy552 = addNodeToList(pCxt, yymsp[-2].minor.yy552, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy552 = yylhsminor.yy552; +#line 304 "sql.y" +{ yylhsminor.yy404 = addNodeToList(pCxt, yymsp[-2].minor.yy404, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } +#line 6068 "sql.c" + yymsp[-2].minor.yy404 = yylhsminor.yy404; break; case 151: /* retention_list ::= retention */ case 182: /* multi_create_clause ::= create_subtable_clause */ yytestcase(yyruleno==182); case 185: /* multi_drop_clause ::= drop_table_clause */ yytestcase(yyruleno==185); case 192: /* column_def_list ::= column_def */ yytestcase(yyruleno==192); - case 236: /* rollup_func_list ::= rollup_func_name */ yytestcase(yyruleno==236); - case 241: /* col_name_list ::= col_name */ yytestcase(yyruleno==241); - case 309: /* tag_list_opt ::= tag_item */ yytestcase(yyruleno==309); - case 326: /* func_list ::= func */ yytestcase(yyruleno==326); - case 448: /* tags_literal_list ::= tags_literal */ yytestcase(yyruleno==448); - case 473: /* literal_list ::= signed_literal */ yytestcase(yyruleno==473); - case 545: /* other_para_list ::= star_func_para */ yytestcase(yyruleno==545); - case 551: /* when_then_list ::= when_then_expr */ yytestcase(yyruleno==551); - case 610: /* select_list ::= select_item */ yytestcase(yyruleno==610); - case 621: /* partition_list ::= partition_item */ yytestcase(yyruleno==621); - case 682: /* sort_specification_list ::= sort_specification */ yytestcase(yyruleno==682); -{ yylhsminor.yy552 = createNodeList(pCxt, yymsp[0].minor.yy718); } - yymsp[0].minor.yy552 = yylhsminor.yy552; + case 240: /* rollup_func_list ::= rollup_func_name */ yytestcase(yyruleno==240); + case 245: /* col_name_list ::= col_name */ yytestcase(yyruleno==245); + case 313: /* tag_list_opt ::= tag_item */ yytestcase(yyruleno==313); + case 330: /* func_list ::= func */ yytestcase(yyruleno==330); + case 452: /* tags_literal_list ::= tags_literal */ yytestcase(yyruleno==452); + case 477: /* literal_list ::= signed_literal */ yytestcase(yyruleno==477); + case 550: /* other_para_list ::= star_func_para */ yytestcase(yyruleno==550); + case 556: /* when_then_list ::= when_then_expr */ yytestcase(yyruleno==556); + case 615: /* select_list ::= select_item */ yytestcase(yyruleno==615); + case 626: /* partition_list ::= partition_item */ yytestcase(yyruleno==626); + case 687: /* sort_specification_list ::= sort_specification */ yytestcase(yyruleno==687); +#line 308 "sql.y" +{ yylhsminor.yy404 = createNodeList(pCxt, yymsp[0].minor.yy896); } +#line 6088 "sql.c" + yymsp[0].minor.yy404 = yylhsminor.yy404; break; case 152: /* retention_list ::= retention_list NK_COMMA retention */ case 186: /* multi_drop_clause ::= multi_drop_clause NK_COMMA drop_table_clause */ yytestcase(yyruleno==186); case 193: /* column_def_list ::= column_def_list NK_COMMA column_def */ yytestcase(yyruleno==193); - case 237: /* rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ yytestcase(yyruleno==237); - case 242: /* col_name_list ::= col_name_list NK_COMMA col_name */ yytestcase(yyruleno==242); - case 310: /* tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ yytestcase(yyruleno==310); - case 327: /* func_list ::= func_list NK_COMMA func */ yytestcase(yyruleno==327); - case 449: /* tags_literal_list ::= tags_literal_list NK_COMMA tags_literal */ yytestcase(yyruleno==449); - case 474: /* literal_list ::= literal_list NK_COMMA signed_literal */ yytestcase(yyruleno==474); - case 546: /* other_para_list ::= other_para_list NK_COMMA star_func_para */ yytestcase(yyruleno==546); - case 611: /* select_list ::= select_list NK_COMMA select_item */ yytestcase(yyruleno==611); - case 622: /* partition_list ::= partition_list NK_COMMA partition_item */ yytestcase(yyruleno==622); - case 683: /* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ yytestcase(yyruleno==683); -{ yylhsminor.yy552 = addNodeToList(pCxt, yymsp[-2].minor.yy552, yymsp[0].minor.yy718); } - yymsp[-2].minor.yy552 = yylhsminor.yy552; + case 241: /* rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ yytestcase(yyruleno==241); + case 246: /* col_name_list ::= col_name_list NK_COMMA col_name */ yytestcase(yyruleno==246); + case 314: /* tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ yytestcase(yyruleno==314); + case 331: /* func_list ::= func_list NK_COMMA func */ yytestcase(yyruleno==331); + case 453: /* tags_literal_list ::= tags_literal_list NK_COMMA tags_literal */ yytestcase(yyruleno==453); + case 478: /* literal_list ::= literal_list NK_COMMA signed_literal */ yytestcase(yyruleno==478); + case 551: /* other_para_list ::= other_para_list NK_COMMA star_func_para */ yytestcase(yyruleno==551); + case 616: /* select_list ::= select_list NK_COMMA select_item */ yytestcase(yyruleno==616); + case 627: /* partition_list ::= partition_list NK_COMMA partition_item */ yytestcase(yyruleno==627); + case 688: /* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ yytestcase(yyruleno==688); +#line 309 "sql.y" +{ yylhsminor.yy404 = addNodeToList(pCxt, yymsp[-2].minor.yy404, yymsp[0].minor.yy896); } +#line 6106 "sql.c" + yymsp[-2].minor.yy404 = yylhsminor.yy404; break; case 153: /* retention ::= NK_VARIABLE NK_COLON NK_VARIABLE */ case 154: /* retention ::= NK_MINUS NK_COLON NK_VARIABLE */ yytestcase(yyruleno==154); -{ yylhsminor.yy718 = createNodeListNodeEx(pCxt, createDurationValueNode(pCxt, &yymsp[-2].minor.yy0), createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 311 "sql.y" +{ yylhsminor.yy896 = createNodeListNodeEx(pCxt, createDurationValueNode(pCxt, &yymsp[-2].minor.yy0), createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } +#line 6113 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 155: /* speed_opt ::= */ - case 360: /* bufsize_opt ::= */ yytestcase(yyruleno==360); -{ yymsp[1].minor.yy134 = 0; } + case 364: /* bufsize_opt ::= */ yytestcase(yyruleno==364); +#line 316 "sql.y" +{ yymsp[1].minor.yy396 = 0; } +#line 6120 "sql.c" break; case 156: /* speed_opt ::= BWLIMIT NK_INTEGER */ - case 361: /* bufsize_opt ::= BUFSIZE NK_INTEGER */ yytestcase(yyruleno==361); -{ yymsp[-1].minor.yy134 = taosStr2Int32(yymsp[0].minor.yy0.z, NULL, 10); } + case 365: /* bufsize_opt ::= BUFSIZE NK_INTEGER */ yytestcase(yyruleno==365); +#line 317 "sql.y" +{ yymsp[-1].minor.yy396 = taosStr2Int32(yymsp[0].minor.yy0.z, NULL, 10); } +#line 6126 "sql.c" break; case 158: /* start_opt ::= START WITH NK_INTEGER */ case 162: /* end_opt ::= END WITH NK_INTEGER */ yytestcase(yyruleno==162); -{ yymsp[-2].minor.yy718 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0); } +#line 320 "sql.y" +{ yymsp[-2].minor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0); } +#line 6132 "sql.c" break; case 159: /* start_opt ::= START WITH NK_STRING */ case 163: /* end_opt ::= END WITH NK_STRING */ yytestcase(yyruleno==163); -{ yymsp[-2].minor.yy718 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } +#line 321 "sql.y" +{ yymsp[-2].minor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } +#line 6138 "sql.c" break; case 160: /* start_opt ::= START WITH TIMESTAMP NK_STRING */ case 164: /* end_opt ::= END WITH TIMESTAMP NK_STRING */ yytestcase(yyruleno==164); -{ yymsp[-3].minor.yy718 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } +#line 322 "sql.y" +{ yymsp[-3].minor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } +#line 6144 "sql.c" break; case 165: /* cmd ::= CREATE TABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def_opt table_options */ case 167: /* cmd ::= CREATE STABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def table_options */ yytestcase(yyruleno==167); -{ pCxt->pRootNode = createCreateTableStmt(pCxt, yymsp[-6].minor.yy559, yymsp[-5].minor.yy718, yymsp[-3].minor.yy552, yymsp[-1].minor.yy552, yymsp[0].minor.yy718); } +#line 331 "sql.y" +{ pCxt->pRootNode = createCreateTableStmt(pCxt, yymsp[-6].minor.yy733, yymsp[-5].minor.yy896, yymsp[-3].minor.yy404, yymsp[-1].minor.yy404, yymsp[0].minor.yy896); } +#line 6150 "sql.c" break; case 166: /* cmd ::= CREATE TABLE multi_create_clause */ -{ pCxt->pRootNode = createCreateMultiTableStmt(pCxt, yymsp[0].minor.yy552); } +#line 332 "sql.y" +{ pCxt->pRootNode = createCreateMultiTableStmt(pCxt, yymsp[0].minor.yy404); } +#line 6155 "sql.c" break; case 168: /* cmd ::= DROP TABLE multi_drop_clause */ -{ pCxt->pRootNode = createDropTableStmt(pCxt, yymsp[0].minor.yy552); } +#line 335 "sql.y" +{ pCxt->pRootNode = createDropTableStmt(pCxt, yymsp[0].minor.yy404); } +#line 6160 "sql.c" break; case 169: /* cmd ::= DROP STABLE exists_opt full_table_name */ -{ pCxt->pRootNode = createDropSuperTableStmt(pCxt, yymsp[-1].minor.yy559, yymsp[0].minor.yy718); } +#line 336 "sql.y" +{ pCxt->pRootNode = createDropSuperTableStmt(pCxt, yymsp[-1].minor.yy733, yymsp[0].minor.yy896); } +#line 6165 "sql.c" break; case 170: /* cmd ::= ALTER TABLE alter_table_clause */ - case 406: /* cmd ::= query_or_subquery */ yytestcase(yyruleno==406); - case 407: /* cmd ::= insert_query */ yytestcase(yyruleno==407); -{ pCxt->pRootNode = yymsp[0].minor.yy718; } + case 410: /* cmd ::= query_or_subquery */ yytestcase(yyruleno==410); + case 411: /* cmd ::= insert_query */ yytestcase(yyruleno==411); +#line 338 "sql.y" +{ pCxt->pRootNode = yymsp[0].minor.yy896; } +#line 6172 "sql.c" break; case 171: /* cmd ::= ALTER STABLE alter_table_clause */ -{ pCxt->pRootNode = setAlterSuperTableType(yymsp[0].minor.yy718); } +#line 339 "sql.y" +{ pCxt->pRootNode = setAlterSuperTableType(yymsp[0].minor.yy896); } +#line 6177 "sql.c" break; case 172: /* alter_table_clause ::= full_table_name alter_table_options */ -{ yylhsminor.yy718 = createAlterTableModifyOptions(pCxt, yymsp[-1].minor.yy718, yymsp[0].minor.yy718); } - yymsp[-1].minor.yy718 = yylhsminor.yy718; +#line 341 "sql.y" +{ yylhsminor.yy896 = createAlterTableModifyOptions(pCxt, yymsp[-1].minor.yy896, yymsp[0].minor.yy896); } +#line 6182 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; case 173: /* alter_table_clause ::= full_table_name ADD COLUMN column_name type_name */ -{ yylhsminor.yy718 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy718, TSDB_ALTER_TABLE_ADD_COLUMN, &yymsp[-1].minor.yy965, yymsp[0].minor.yy224); } - yymsp[-4].minor.yy718 = yylhsminor.yy718; +#line 343 "sql.y" +{ yylhsminor.yy896 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy896, TSDB_ALTER_TABLE_ADD_COLUMN, &yymsp[-1].minor.yy701, yymsp[0].minor.yy504); } +#line 6188 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; case 174: /* alter_table_clause ::= full_table_name DROP COLUMN column_name */ -{ yylhsminor.yy718 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy718, TSDB_ALTER_TABLE_DROP_COLUMN, &yymsp[0].minor.yy965); } - yymsp[-3].minor.yy718 = yylhsminor.yy718; +#line 344 "sql.y" +{ yylhsminor.yy896 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy896, TSDB_ALTER_TABLE_DROP_COLUMN, &yymsp[0].minor.yy701); } +#line 6194 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; case 175: /* alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */ -{ yylhsminor.yy718 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy718, TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES, &yymsp[-1].minor.yy965, yymsp[0].minor.yy224); } - yymsp[-4].minor.yy718 = yylhsminor.yy718; +#line 346 "sql.y" +{ yylhsminor.yy896 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy896, TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES, &yymsp[-1].minor.yy701, yymsp[0].minor.yy504); } +#line 6200 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; case 176: /* alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */ -{ yylhsminor.yy718 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy718, TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME, &yymsp[-1].minor.yy965, &yymsp[0].minor.yy965); } - yymsp[-4].minor.yy718 = yylhsminor.yy718; +#line 348 "sql.y" +{ yylhsminor.yy896 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy896, TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME, &yymsp[-1].minor.yy701, &yymsp[0].minor.yy701); } +#line 6206 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; case 177: /* alter_table_clause ::= full_table_name ADD TAG column_name type_name */ -{ yylhsminor.yy718 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy718, TSDB_ALTER_TABLE_ADD_TAG, &yymsp[-1].minor.yy965, yymsp[0].minor.yy224); } - yymsp[-4].minor.yy718 = yylhsminor.yy718; +#line 350 "sql.y" +{ yylhsminor.yy896 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy896, TSDB_ALTER_TABLE_ADD_TAG, &yymsp[-1].minor.yy701, yymsp[0].minor.yy504); } +#line 6212 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; case 178: /* alter_table_clause ::= full_table_name DROP TAG column_name */ -{ yylhsminor.yy718 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy718, TSDB_ALTER_TABLE_DROP_TAG, &yymsp[0].minor.yy965); } - yymsp[-3].minor.yy718 = yylhsminor.yy718; +#line 351 "sql.y" +{ yylhsminor.yy896 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy896, TSDB_ALTER_TABLE_DROP_TAG, &yymsp[0].minor.yy701); } +#line 6218 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; case 179: /* alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */ -{ yylhsminor.yy718 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy718, TSDB_ALTER_TABLE_UPDATE_TAG_BYTES, &yymsp[-1].minor.yy965, yymsp[0].minor.yy224); } - yymsp[-4].minor.yy718 = yylhsminor.yy718; +#line 353 "sql.y" +{ yylhsminor.yy896 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy896, TSDB_ALTER_TABLE_UPDATE_TAG_BYTES, &yymsp[-1].minor.yy701, yymsp[0].minor.yy504); } +#line 6224 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; case 180: /* alter_table_clause ::= full_table_name RENAME TAG column_name column_name */ -{ yylhsminor.yy718 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy718, TSDB_ALTER_TABLE_UPDATE_TAG_NAME, &yymsp[-1].minor.yy965, &yymsp[0].minor.yy965); } - yymsp[-4].minor.yy718 = yylhsminor.yy718; +#line 355 "sql.y" +{ yylhsminor.yy896 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy896, TSDB_ALTER_TABLE_UPDATE_TAG_NAME, &yymsp[-1].minor.yy701, &yymsp[0].minor.yy701); } +#line 6230 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; case 181: /* alter_table_clause ::= full_table_name SET TAG column_name NK_EQ tags_literal */ -{ yylhsminor.yy718 = createAlterTableSetTag(pCxt, yymsp[-5].minor.yy718, &yymsp[-2].minor.yy965, yymsp[0].minor.yy718); } - yymsp[-5].minor.yy718 = yylhsminor.yy718; +#line 357 "sql.y" +{ yylhsminor.yy896 = createAlterTableSetTag(pCxt, yymsp[-5].minor.yy896, &yymsp[-2].minor.yy701, yymsp[0].minor.yy896); } +#line 6236 "sql.c" + yymsp[-5].minor.yy896 = yylhsminor.yy896; break; case 183: /* multi_create_clause ::= multi_create_clause create_subtable_clause */ - case 552: /* when_then_list ::= when_then_list when_then_expr */ yytestcase(yyruleno==552); -{ yylhsminor.yy552 = addNodeToList(pCxt, yymsp[-1].minor.yy552, yymsp[0].minor.yy718); } - yymsp[-1].minor.yy552 = yylhsminor.yy552; + case 557: /* when_then_list ::= when_then_list when_then_expr */ yytestcase(yyruleno==557); +#line 362 "sql.y" +{ yylhsminor.yy404 = addNodeToList(pCxt, yymsp[-1].minor.yy404, yymsp[0].minor.yy896); } +#line 6243 "sql.c" + yymsp[-1].minor.yy404 = yylhsminor.yy404; break; case 184: /* create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_cols_opt TAGS NK_LP tags_literal_list NK_RP table_options */ -{ yylhsminor.yy718 = createCreateSubTableClause(pCxt, yymsp[-9].minor.yy559, yymsp[-8].minor.yy718, yymsp[-6].minor.yy718, yymsp[-5].minor.yy552, yymsp[-2].minor.yy552, yymsp[0].minor.yy718); } - yymsp[-9].minor.yy718 = yylhsminor.yy718; +#line 366 "sql.y" +{ yylhsminor.yy896 = createCreateSubTableClause(pCxt, yymsp[-9].minor.yy733, yymsp[-8].minor.yy896, yymsp[-6].minor.yy896, yymsp[-5].minor.yy404, yymsp[-2].minor.yy404, yymsp[0].minor.yy896); } +#line 6249 "sql.c" + yymsp[-9].minor.yy896 = yylhsminor.yy896; break; case 187: /* drop_table_clause ::= exists_opt full_table_name */ -{ yylhsminor.yy718 = createDropTableClause(pCxt, yymsp[-1].minor.yy559, yymsp[0].minor.yy718); } - yymsp[-1].minor.yy718 = yylhsminor.yy718; +#line 373 "sql.y" +{ yylhsminor.yy896 = createDropTableClause(pCxt, yymsp[-1].minor.yy733, yymsp[0].minor.yy896); } +#line 6255 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; case 189: /* specific_cols_opt ::= NK_LP col_name_list NK_RP */ - case 375: /* col_list_opt ::= NK_LP col_name_list NK_RP */ yytestcase(yyruleno==375); -{ yymsp[-2].minor.yy552 = yymsp[-1].minor.yy552; } + case 379: /* col_list_opt ::= NK_LP col_name_list NK_RP */ yytestcase(yyruleno==379); +#line 378 "sql.y" +{ yymsp[-2].minor.yy404 = yymsp[-1].minor.yy404; } +#line 6262 "sql.c" break; case 190: /* full_table_name ::= table_name */ -{ yylhsminor.yy718 = createRealTableNode(pCxt, NULL, &yymsp[0].minor.yy965, NULL); } - yymsp[0].minor.yy718 = yylhsminor.yy718; +#line 380 "sql.y" +{ yylhsminor.yy896 = createRealTableNode(pCxt, NULL, &yymsp[0].minor.yy701, NULL); } +#line 6267 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 191: /* full_table_name ::= db_name NK_DOT table_name */ -{ yylhsminor.yy718 = createRealTableNode(pCxt, &yymsp[-2].minor.yy965, &yymsp[0].minor.yy965, NULL); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 381 "sql.y" +{ yylhsminor.yy896 = createRealTableNode(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy701, NULL); } +#line 6273 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 194: /* column_def ::= column_name type_name */ -{ yylhsminor.yy718 = createColumnDefNode(pCxt, &yymsp[-1].minor.yy965, yymsp[0].minor.yy224, NULL); } - yymsp[-1].minor.yy718 = yylhsminor.yy718; +#line 388 "sql.y" +{ yylhsminor.yy896 = createColumnDefNode(pCxt, &yymsp[-1].minor.yy701, yymsp[0].minor.yy504, NULL); } +#line 6279 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; case 195: /* type_name ::= BOOL */ -{ yymsp[0].minor.yy224 = createDataType(TSDB_DATA_TYPE_BOOL); } +#line 393 "sql.y" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_BOOL); } +#line 6285 "sql.c" break; case 196: /* type_name ::= TINYINT */ -{ yymsp[0].minor.yy224 = createDataType(TSDB_DATA_TYPE_TINYINT); } +#line 394 "sql.y" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_TINYINT); } +#line 6290 "sql.c" break; case 197: /* type_name ::= SMALLINT */ -{ yymsp[0].minor.yy224 = createDataType(TSDB_DATA_TYPE_SMALLINT); } +#line 395 "sql.y" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_SMALLINT); } +#line 6295 "sql.c" break; case 198: /* type_name ::= INT */ case 199: /* type_name ::= INTEGER */ yytestcase(yyruleno==199); -{ yymsp[0].minor.yy224 = createDataType(TSDB_DATA_TYPE_INT); } +#line 396 "sql.y" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_INT); } +#line 6301 "sql.c" break; case 200: /* type_name ::= BIGINT */ -{ yymsp[0].minor.yy224 = createDataType(TSDB_DATA_TYPE_BIGINT); } +#line 398 "sql.y" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_BIGINT); } +#line 6306 "sql.c" break; case 201: /* type_name ::= FLOAT */ -{ yymsp[0].minor.yy224 = createDataType(TSDB_DATA_TYPE_FLOAT); } +#line 399 "sql.y" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_FLOAT); } +#line 6311 "sql.c" break; case 202: /* type_name ::= DOUBLE */ -{ yymsp[0].minor.yy224 = createDataType(TSDB_DATA_TYPE_DOUBLE); } +#line 400 "sql.y" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_DOUBLE); } +#line 6316 "sql.c" break; case 203: /* type_name ::= BINARY NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy224 = createVarLenDataType(TSDB_DATA_TYPE_BINARY, &yymsp[-1].minor.yy0); } +#line 401 "sql.y" +{ yymsp[-3].minor.yy504 = createVarLenDataType(TSDB_DATA_TYPE_BINARY, &yymsp[-1].minor.yy0); } +#line 6321 "sql.c" break; case 204: /* type_name ::= TIMESTAMP */ -{ yymsp[0].minor.yy224 = createDataType(TSDB_DATA_TYPE_TIMESTAMP); } +#line 402 "sql.y" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_TIMESTAMP); } +#line 6326 "sql.c" break; case 205: /* type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy224 = createVarLenDataType(TSDB_DATA_TYPE_NCHAR, &yymsp[-1].minor.yy0); } +#line 403 "sql.y" +{ yymsp[-3].minor.yy504 = createVarLenDataType(TSDB_DATA_TYPE_NCHAR, &yymsp[-1].minor.yy0); } +#line 6331 "sql.c" break; case 206: /* type_name ::= TINYINT UNSIGNED */ -{ yymsp[-1].minor.yy224 = createDataType(TSDB_DATA_TYPE_UTINYINT); } +#line 404 "sql.y" +{ yymsp[-1].minor.yy504 = createDataType(TSDB_DATA_TYPE_UTINYINT); } +#line 6336 "sql.c" break; case 207: /* type_name ::= SMALLINT UNSIGNED */ -{ yymsp[-1].minor.yy224 = createDataType(TSDB_DATA_TYPE_USMALLINT); } +#line 405 "sql.y" +{ yymsp[-1].minor.yy504 = createDataType(TSDB_DATA_TYPE_USMALLINT); } +#line 6341 "sql.c" break; case 208: /* type_name ::= INT UNSIGNED */ -{ yymsp[-1].minor.yy224 = createDataType(TSDB_DATA_TYPE_UINT); } +#line 406 "sql.y" +{ yymsp[-1].minor.yy504 = createDataType(TSDB_DATA_TYPE_UINT); } +#line 6346 "sql.c" break; case 209: /* type_name ::= BIGINT UNSIGNED */ -{ yymsp[-1].minor.yy224 = createDataType(TSDB_DATA_TYPE_UBIGINT); } +#line 407 "sql.y" +{ yymsp[-1].minor.yy504 = createDataType(TSDB_DATA_TYPE_UBIGINT); } +#line 6351 "sql.c" break; case 210: /* type_name ::= JSON */ -{ yymsp[0].minor.yy224 = createDataType(TSDB_DATA_TYPE_JSON); } +#line 408 "sql.y" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_JSON); } +#line 6356 "sql.c" break; case 211: /* type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy224 = createVarLenDataType(TSDB_DATA_TYPE_VARCHAR, &yymsp[-1].minor.yy0); } +#line 409 "sql.y" +{ yymsp[-3].minor.yy504 = createVarLenDataType(TSDB_DATA_TYPE_VARCHAR, &yymsp[-1].minor.yy0); } +#line 6361 "sql.c" break; case 212: /* type_name ::= MEDIUMBLOB */ -{ yymsp[0].minor.yy224 = createDataType(TSDB_DATA_TYPE_MEDIUMBLOB); } +#line 410 "sql.y" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_MEDIUMBLOB); } +#line 6366 "sql.c" break; case 213: /* type_name ::= BLOB */ -{ yymsp[0].minor.yy224 = createDataType(TSDB_DATA_TYPE_BLOB); } +#line 411 "sql.y" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_BLOB); } +#line 6371 "sql.c" break; case 214: /* type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy224 = createVarLenDataType(TSDB_DATA_TYPE_VARBINARY, &yymsp[-1].minor.yy0); } +#line 412 "sql.y" +{ yymsp[-3].minor.yy504 = createVarLenDataType(TSDB_DATA_TYPE_VARBINARY, &yymsp[-1].minor.yy0); } +#line 6376 "sql.c" break; case 215: /* type_name ::= GEOMETRY NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy224 = createVarLenDataType(TSDB_DATA_TYPE_GEOMETRY, &yymsp[-1].minor.yy0); } +#line 413 "sql.y" +{ yymsp[-3].minor.yy504 = createVarLenDataType(TSDB_DATA_TYPE_GEOMETRY, &yymsp[-1].minor.yy0); } +#line 6381 "sql.c" break; case 216: /* type_name ::= DECIMAL */ -{ yymsp[0].minor.yy224 = createDataType(TSDB_DATA_TYPE_DECIMAL); } +#line 414 "sql.y" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_DECIMAL); } +#line 6386 "sql.c" break; case 217: /* type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy224 = createDataType(TSDB_DATA_TYPE_DECIMAL); } +#line 415 "sql.y" +{ yymsp[-3].minor.yy504 = createDataType(TSDB_DATA_TYPE_DECIMAL); } +#line 6391 "sql.c" break; case 218: /* type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ -{ yymsp[-5].minor.yy224 = createDataType(TSDB_DATA_TYPE_DECIMAL); } +#line 416 "sql.y" +{ yymsp[-5].minor.yy504 = createDataType(TSDB_DATA_TYPE_DECIMAL); } +#line 6396 "sql.c" break; - case 221: /* tags_def ::= TAGS NK_LP column_def_list NK_RP */ - case 378: /* tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ yytestcase(yyruleno==378); -{ yymsp[-3].minor.yy552 = yymsp[-1].minor.yy552; } + case 219: /* type_name_default_len ::= BINARY */ +#line 420 "sql.y" +{ yymsp[0].minor.yy504 = createVarLenDataType(TSDB_DATA_TYPE_BINARY, NULL); } +#line 6401 "sql.c" break; - case 222: /* table_options ::= */ -{ yymsp[1].minor.yy718 = createDefaultTableOptions(pCxt); } + case 220: /* type_name_default_len ::= NCHAR */ +#line 421 "sql.y" +{ yymsp[0].minor.yy504 = createVarLenDataType(TSDB_DATA_TYPE_NCHAR, NULL); } +#line 6406 "sql.c" break; - case 223: /* table_options ::= table_options COMMENT NK_STRING */ -{ yylhsminor.yy718 = setTableOption(pCxt, yymsp[-2].minor.yy718, TABLE_OPTION_COMMENT, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 221: /* type_name_default_len ::= VARCHAR */ +#line 422 "sql.y" +{ yymsp[0].minor.yy504 = createVarLenDataType(TSDB_DATA_TYPE_VARCHAR, NULL); } +#line 6411 "sql.c" break; - case 224: /* table_options ::= table_options MAX_DELAY duration_list */ -{ yylhsminor.yy718 = setTableOption(pCxt, yymsp[-2].minor.yy718, TABLE_OPTION_MAXDELAY, yymsp[0].minor.yy552); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 222: /* type_name_default_len ::= VARBINARY */ +#line 423 "sql.y" +{ yymsp[0].minor.yy504 = createVarLenDataType(TSDB_DATA_TYPE_VARBINARY, NULL); } +#line 6416 "sql.c" break; - case 225: /* table_options ::= table_options WATERMARK duration_list */ -{ yylhsminor.yy718 = setTableOption(pCxt, yymsp[-2].minor.yy718, TABLE_OPTION_WATERMARK, yymsp[0].minor.yy552); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 225: /* tags_def ::= TAGS NK_LP column_def_list NK_RP */ + case 382: /* tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ yytestcase(yyruleno==382); +#line 432 "sql.y" +{ yymsp[-3].minor.yy404 = yymsp[-1].minor.yy404; } +#line 6422 "sql.c" break; - case 226: /* table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ -{ yylhsminor.yy718 = setTableOption(pCxt, yymsp[-4].minor.yy718, TABLE_OPTION_ROLLUP, yymsp[-1].minor.yy552); } - yymsp[-4].minor.yy718 = yylhsminor.yy718; + case 226: /* table_options ::= */ +#line 434 "sql.y" +{ yymsp[1].minor.yy896 = createDefaultTableOptions(pCxt); } +#line 6427 "sql.c" break; - case 227: /* table_options ::= table_options TTL NK_INTEGER */ -{ yylhsminor.yy718 = setTableOption(pCxt, yymsp[-2].minor.yy718, TABLE_OPTION_TTL, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 227: /* table_options ::= table_options COMMENT NK_STRING */ +#line 435 "sql.y" +{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-2].minor.yy896, TABLE_OPTION_COMMENT, &yymsp[0].minor.yy0); } +#line 6432 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 228: /* table_options ::= table_options SMA NK_LP col_name_list NK_RP */ -{ yylhsminor.yy718 = setTableOption(pCxt, yymsp[-4].minor.yy718, TABLE_OPTION_SMA, yymsp[-1].minor.yy552); } - yymsp[-4].minor.yy718 = yylhsminor.yy718; + case 228: /* table_options ::= table_options MAX_DELAY duration_list */ +#line 436 "sql.y" +{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-2].minor.yy896, TABLE_OPTION_MAXDELAY, yymsp[0].minor.yy404); } +#line 6438 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 229: /* table_options ::= table_options DELETE_MARK duration_list */ -{ yylhsminor.yy718 = setTableOption(pCxt, yymsp[-2].minor.yy718, TABLE_OPTION_DELETE_MARK, yymsp[0].minor.yy552); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 229: /* table_options ::= table_options WATERMARK duration_list */ +#line 437 "sql.y" +{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-2].minor.yy896, TABLE_OPTION_WATERMARK, yymsp[0].minor.yy404); } +#line 6444 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 230: /* alter_table_options ::= alter_table_option */ -{ yylhsminor.yy718 = createAlterTableOptions(pCxt); yylhsminor.yy718 = setTableOption(pCxt, yylhsminor.yy718, yymsp[0].minor.yy959.type, &yymsp[0].minor.yy959.val); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 230: /* table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ +#line 438 "sql.y" +{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-4].minor.yy896, TABLE_OPTION_ROLLUP, yymsp[-1].minor.yy404); } +#line 6450 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; - case 231: /* alter_table_options ::= alter_table_options alter_table_option */ -{ yylhsminor.yy718 = setTableOption(pCxt, yymsp[-1].minor.yy718, yymsp[0].minor.yy959.type, &yymsp[0].minor.yy959.val); } - yymsp[-1].minor.yy718 = yylhsminor.yy718; + case 231: /* table_options ::= table_options TTL NK_INTEGER */ +#line 439 "sql.y" +{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-2].minor.yy896, TABLE_OPTION_TTL, &yymsp[0].minor.yy0); } +#line 6456 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 232: /* alter_table_option ::= COMMENT NK_STRING */ -{ yymsp[-1].minor.yy959.type = TABLE_OPTION_COMMENT; yymsp[-1].minor.yy959.val = yymsp[0].minor.yy0; } + case 232: /* table_options ::= table_options SMA NK_LP col_name_list NK_RP */ +#line 440 "sql.y" +{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-4].minor.yy896, TABLE_OPTION_SMA, yymsp[-1].minor.yy404); } +#line 6462 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; - case 233: /* alter_table_option ::= TTL NK_INTEGER */ -{ yymsp[-1].minor.yy959.type = TABLE_OPTION_TTL; yymsp[-1].minor.yy959.val = yymsp[0].minor.yy0; } + case 233: /* table_options ::= table_options DELETE_MARK duration_list */ +#line 441 "sql.y" +{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-2].minor.yy896, TABLE_OPTION_DELETE_MARK, yymsp[0].minor.yy404); } +#line 6468 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 234: /* duration_list ::= duration_literal */ - case 505: /* expression_list ::= expr_or_subquery */ yytestcase(yyruleno==505); -{ yylhsminor.yy552 = createNodeList(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy718)); } - yymsp[0].minor.yy552 = yylhsminor.yy552; + case 234: /* alter_table_options ::= alter_table_option */ +#line 443 "sql.y" +{ yylhsminor.yy896 = createAlterTableOptions(pCxt); yylhsminor.yy896 = setTableOption(pCxt, yylhsminor.yy896, yymsp[0].minor.yy529.type, &yymsp[0].minor.yy529.val); } +#line 6474 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 235: /* duration_list ::= duration_list NK_COMMA duration_literal */ - case 506: /* expression_list ::= expression_list NK_COMMA expr_or_subquery */ yytestcase(yyruleno==506); -{ yylhsminor.yy552 = addNodeToList(pCxt, yymsp[-2].minor.yy552, releaseRawExprNode(pCxt, yymsp[0].minor.yy718)); } - yymsp[-2].minor.yy552 = yylhsminor.yy552; + case 235: /* alter_table_options ::= alter_table_options alter_table_option */ +#line 444 "sql.y" +{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-1].minor.yy896, yymsp[0].minor.yy529.type, &yymsp[0].minor.yy529.val); } +#line 6480 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 238: /* rollup_func_name ::= function_name */ -{ yylhsminor.yy718 = createFunctionNode(pCxt, &yymsp[0].minor.yy965, NULL); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 236: /* alter_table_option ::= COMMENT NK_STRING */ +#line 448 "sql.y" +{ yymsp[-1].minor.yy529.type = TABLE_OPTION_COMMENT; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 6486 "sql.c" break; - case 239: /* rollup_func_name ::= FIRST */ - case 240: /* rollup_func_name ::= LAST */ yytestcase(yyruleno==240); - case 312: /* tag_item ::= QTAGS */ yytestcase(yyruleno==312); -{ yylhsminor.yy718 = createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 237: /* alter_table_option ::= TTL NK_INTEGER */ +#line 449 "sql.y" +{ yymsp[-1].minor.yy529.type = TABLE_OPTION_TTL; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 6491 "sql.c" break; - case 243: /* col_name ::= column_name */ - case 313: /* tag_item ::= column_name */ yytestcase(yyruleno==313); -{ yylhsminor.yy718 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy965); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 238: /* duration_list ::= duration_literal */ + case 509: /* expression_list ::= expr_or_subquery */ yytestcase(yyruleno==509); +#line 453 "sql.y" +{ yylhsminor.yy404 = createNodeList(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy896)); } +#line 6497 "sql.c" + yymsp[0].minor.yy404 = yylhsminor.yy404; break; - case 244: /* cmd ::= SHOW DNODES */ + case 239: /* duration_list ::= duration_list NK_COMMA duration_literal */ + case 510: /* expression_list ::= expression_list NK_COMMA expr_or_subquery */ yytestcase(yyruleno==510); +#line 454 "sql.y" +{ yylhsminor.yy404 = addNodeToList(pCxt, yymsp[-2].minor.yy404, releaseRawExprNode(pCxt, yymsp[0].minor.yy896)); } +#line 6504 "sql.c" + yymsp[-2].minor.yy404 = yylhsminor.yy404; + break; + case 242: /* rollup_func_name ::= function_name */ +#line 461 "sql.y" +{ yylhsminor.yy896 = createFunctionNode(pCxt, &yymsp[0].minor.yy701, NULL); } +#line 6510 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; + break; + case 243: /* rollup_func_name ::= FIRST */ + case 244: /* rollup_func_name ::= LAST */ yytestcase(yyruleno==244); + case 316: /* tag_item ::= QTAGS */ yytestcase(yyruleno==316); +#line 462 "sql.y" +{ yylhsminor.yy896 = createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL); } +#line 6518 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; + break; + case 247: /* col_name ::= column_name */ + case 317: /* tag_item ::= column_name */ yytestcase(yyruleno==317); +#line 470 "sql.y" +{ yylhsminor.yy896 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy701); } +#line 6525 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; + break; + case 248: /* cmd ::= SHOW DNODES */ +#line 473 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_DNODES_STMT); } +#line 6531 "sql.c" break; - case 245: /* cmd ::= SHOW USERS */ + case 249: /* cmd ::= SHOW USERS */ +#line 474 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_USERS_STMT); } +#line 6536 "sql.c" break; - case 246: /* cmd ::= SHOW USER PRIVILEGES */ + case 250: /* cmd ::= SHOW USER PRIVILEGES */ +#line 475 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_USER_PRIVILEGES_STMT); } +#line 6541 "sql.c" break; - case 247: /* cmd ::= SHOW db_kind_opt DATABASES */ + case 251: /* cmd ::= SHOW db_kind_opt DATABASES */ +#line 476 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_DATABASES_STMT); - setShowKind(pCxt, pCxt->pRootNode, yymsp[-1].minor.yy101); + setShowKind(pCxt, pCxt->pRootNode, yymsp[-1].minor.yy705); } +#line 6549 "sql.c" break; - case 248: /* cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ + case 252: /* cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ +#line 480 "sql.y" { - pCxt->pRootNode = createShowTablesStmt(pCxt, yymsp[-2].minor.yy91, yymsp[0].minor.yy718, OP_TYPE_LIKE); + pCxt->pRootNode = createShowTablesStmt(pCxt, yymsp[-2].minor.yy989, yymsp[0].minor.yy896, OP_TYPE_LIKE); } +#line 6556 "sql.c" break; - case 249: /* cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_STABLES_STMT, yymsp[-2].minor.yy718, yymsp[0].minor.yy718, OP_TYPE_LIKE); } + case 253: /* cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ +#line 483 "sql.y" +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_STABLES_STMT, yymsp[-2].minor.yy896, yymsp[0].minor.yy896, OP_TYPE_LIKE); } +#line 6561 "sql.c" break; - case 250: /* cmd ::= SHOW db_name_cond_opt VGROUPS */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VGROUPS_STMT, yymsp[-1].minor.yy718, NULL, OP_TYPE_LIKE); } + case 254: /* cmd ::= SHOW db_name_cond_opt VGROUPS */ +#line 484 "sql.y" +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VGROUPS_STMT, yymsp[-1].minor.yy896, NULL, OP_TYPE_LIKE); } +#line 6566 "sql.c" break; - case 251: /* cmd ::= SHOW MNODES */ + case 255: /* cmd ::= SHOW MNODES */ +#line 485 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_MNODES_STMT); } +#line 6571 "sql.c" break; - case 252: /* cmd ::= SHOW QNODES */ + case 256: /* cmd ::= SHOW QNODES */ +#line 487 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_QNODES_STMT); } +#line 6576 "sql.c" break; - case 253: /* cmd ::= SHOW ARBGROUPS */ + case 257: /* cmd ::= SHOW ARBGROUPS */ +#line 488 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_ARBGROUPS_STMT); } +#line 6581 "sql.c" break; - case 254: /* cmd ::= SHOW FUNCTIONS */ + case 258: /* cmd ::= SHOW FUNCTIONS */ +#line 489 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_FUNCTIONS_STMT); } +#line 6586 "sql.c" break; - case 255: /* cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, yymsp[0].minor.yy718, yymsp[-1].minor.yy718, OP_TYPE_EQUAL); } + case 259: /* cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ +#line 490 "sql.y" +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, yymsp[0].minor.yy896, yymsp[-1].minor.yy896, OP_TYPE_EQUAL); } +#line 6591 "sql.c" break; - case 256: /* cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy965), createIdentifierValueNode(pCxt, &yymsp[0].minor.yy965), OP_TYPE_EQUAL); } + case 260: /* cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ +#line 491 "sql.y" +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy701), createIdentifierValueNode(pCxt, &yymsp[0].minor.yy701), OP_TYPE_EQUAL); } +#line 6596 "sql.c" break; - case 257: /* cmd ::= SHOW STREAMS */ + case 261: /* cmd ::= SHOW STREAMS */ +#line 492 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_STREAMS_STMT); } +#line 6601 "sql.c" break; - case 258: /* cmd ::= SHOW ACCOUNTS */ + case 262: /* cmd ::= SHOW ACCOUNTS */ +#line 493 "sql.y" { pCxt->errCode = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_EXPRIE_STATEMENT); } +#line 6606 "sql.c" break; - case 259: /* cmd ::= SHOW APPS */ + case 263: /* cmd ::= SHOW APPS */ +#line 494 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_APPS_STMT); } +#line 6611 "sql.c" break; - case 260: /* cmd ::= SHOW CONNECTIONS */ + case 264: /* cmd ::= SHOW CONNECTIONS */ +#line 495 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CONNECTIONS_STMT); } +#line 6616 "sql.c" break; - case 261: /* cmd ::= SHOW LICENCES */ - case 262: /* cmd ::= SHOW GRANTS */ yytestcase(yyruleno==262); + case 265: /* cmd ::= SHOW LICENCES */ + case 266: /* cmd ::= SHOW GRANTS */ yytestcase(yyruleno==266); +#line 496 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_LICENCES_STMT); } +#line 6622 "sql.c" break; - case 263: /* cmd ::= SHOW GRANTS FULL */ + case 267: /* cmd ::= SHOW GRANTS FULL */ +#line 498 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_GRANTS_FULL_STMT); } +#line 6627 "sql.c" break; - case 264: /* cmd ::= SHOW GRANTS LOGS */ + case 268: /* cmd ::= SHOW GRANTS LOGS */ +#line 499 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_GRANTS_LOGS_STMT); } +#line 6632 "sql.c" break; - case 265: /* cmd ::= SHOW CLUSTER MACHINES */ + case 269: /* cmd ::= SHOW CLUSTER MACHINES */ +#line 500 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CLUSTER_MACHINES_STMT); } +#line 6637 "sql.c" break; - case 266: /* cmd ::= SHOW CREATE DATABASE db_name */ -{ pCxt->pRootNode = createShowCreateDatabaseStmt(pCxt, &yymsp[0].minor.yy965); } + case 270: /* cmd ::= SHOW CREATE DATABASE db_name */ +#line 501 "sql.y" +{ pCxt->pRootNode = createShowCreateDatabaseStmt(pCxt, &yymsp[0].minor.yy701); } +#line 6642 "sql.c" break; - case 267: /* cmd ::= SHOW CREATE TABLE full_table_name */ -{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_TABLE_STMT, yymsp[0].minor.yy718); } + case 271: /* cmd ::= SHOW CREATE TABLE full_table_name */ +#line 502 "sql.y" +{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_TABLE_STMT, yymsp[0].minor.yy896); } +#line 6647 "sql.c" break; - case 268: /* cmd ::= SHOW CREATE STABLE full_table_name */ -{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_STABLE_STMT, yymsp[0].minor.yy718); } + case 272: /* cmd ::= SHOW CREATE STABLE full_table_name */ +#line 503 "sql.y" +{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_STABLE_STMT, yymsp[0].minor.yy896); } +#line 6652 "sql.c" break; - case 269: /* cmd ::= SHOW QUERIES */ + case 273: /* cmd ::= SHOW QUERIES */ +#line 504 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_QUERIES_STMT); } +#line 6657 "sql.c" break; - case 270: /* cmd ::= SHOW SCORES */ + case 274: /* cmd ::= SHOW SCORES */ +#line 505 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_SCORES_STMT); } +#line 6662 "sql.c" break; - case 271: /* cmd ::= SHOW TOPICS */ + case 275: /* cmd ::= SHOW TOPICS */ +#line 506 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_TOPICS_STMT); } +#line 6667 "sql.c" break; - case 272: /* cmd ::= SHOW VARIABLES */ - case 273: /* cmd ::= SHOW CLUSTER VARIABLES */ yytestcase(yyruleno==273); + case 276: /* cmd ::= SHOW VARIABLES */ + case 277: /* cmd ::= SHOW CLUSTER VARIABLES */ yytestcase(yyruleno==277); +#line 507 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_VARIABLES_STMT); } +#line 6673 "sql.c" break; - case 274: /* cmd ::= SHOW LOCAL VARIABLES */ + case 278: /* cmd ::= SHOW LOCAL VARIABLES */ +#line 509 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_LOCAL_VARIABLES_STMT); } +#line 6678 "sql.c" break; - case 275: /* 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.yy718); } + case 279: /* cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ +#line 510 "sql.y" +{ pCxt->pRootNode = createShowDnodeVariablesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[-2].minor.yy0), yymsp[0].minor.yy896); } +#line 6683 "sql.c" break; - case 276: /* cmd ::= SHOW BNODES */ + case 280: /* cmd ::= SHOW BNODES */ +#line 511 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_BNODES_STMT); } +#line 6688 "sql.c" break; - case 277: /* cmd ::= SHOW SNODES */ + case 281: /* cmd ::= SHOW SNODES */ +#line 512 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_SNODES_STMT); } +#line 6693 "sql.c" break; - case 278: /* cmd ::= SHOW CLUSTER */ + case 282: /* cmd ::= SHOW CLUSTER */ +#line 513 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CLUSTER_STMT); } +#line 6698 "sql.c" break; - case 279: /* cmd ::= SHOW TRANSACTIONS */ + case 283: /* cmd ::= SHOW TRANSACTIONS */ +#line 514 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_TRANSACTIONS_STMT); } +#line 6703 "sql.c" break; - case 280: /* cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ -{ pCxt->pRootNode = createShowTableDistributedStmt(pCxt, yymsp[0].minor.yy718); } + case 284: /* cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ +#line 515 "sql.y" +{ pCxt->pRootNode = createShowTableDistributedStmt(pCxt, yymsp[0].minor.yy896); } +#line 6708 "sql.c" break; - case 281: /* cmd ::= SHOW CONSUMERS */ + case 285: /* cmd ::= SHOW CONSUMERS */ +#line 516 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CONSUMERS_STMT); } +#line 6713 "sql.c" break; - case 282: /* cmd ::= SHOW SUBSCRIPTIONS */ + case 286: /* cmd ::= SHOW SUBSCRIPTIONS */ +#line 517 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_SUBSCRIPTIONS_STMT); } +#line 6718 "sql.c" break; - case 283: /* cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, yymsp[0].minor.yy718, yymsp[-1].minor.yy718, OP_TYPE_EQUAL); } + case 287: /* cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ +#line 518 "sql.y" +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, yymsp[0].minor.yy896, yymsp[-1].minor.yy896, OP_TYPE_EQUAL); } +#line 6723 "sql.c" break; - case 284: /* cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy965), createIdentifierValueNode(pCxt, &yymsp[0].minor.yy965), OP_TYPE_EQUAL); } + case 288: /* cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ +#line 519 "sql.y" +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy701), createIdentifierValueNode(pCxt, &yymsp[0].minor.yy701), OP_TYPE_EQUAL); } +#line 6728 "sql.c" break; - case 285: /* cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ -{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, yymsp[-1].minor.yy718, yymsp[0].minor.yy718, yymsp[-3].minor.yy552); } + case 289: /* cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ +#line 520 "sql.y" +{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, yymsp[-1].minor.yy896, yymsp[0].minor.yy896, yymsp[-3].minor.yy404); } +#line 6733 "sql.c" break; - case 286: /* cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name */ -{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, createIdentifierValueNode(pCxt, &yymsp[0].minor.yy965), createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy965), yymsp[-4].minor.yy552); } + case 290: /* cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name */ +#line 521 "sql.y" +{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, createIdentifierValueNode(pCxt, &yymsp[0].minor.yy701), createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy701), yymsp[-4].minor.yy404); } +#line 6738 "sql.c" break; - case 287: /* cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ + case 291: /* cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ +#line 522 "sql.y" { pCxt->pRootNode = createShowVnodesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0), NULL); } +#line 6743 "sql.c" break; - case 288: /* cmd ::= SHOW VNODES */ + case 292: /* cmd ::= SHOW VNODES */ +#line 523 "sql.y" { pCxt->pRootNode = createShowVnodesStmt(pCxt, NULL, NULL); } +#line 6748 "sql.c" break; - case 289: /* cmd ::= SHOW db_name_cond_opt ALIVE */ -{ pCxt->pRootNode = createShowAliveStmt(pCxt, yymsp[-1].minor.yy718, QUERY_NODE_SHOW_DB_ALIVE_STMT); } + case 293: /* cmd ::= SHOW db_name_cond_opt ALIVE */ +#line 525 "sql.y" +{ pCxt->pRootNode = createShowAliveStmt(pCxt, yymsp[-1].minor.yy896, QUERY_NODE_SHOW_DB_ALIVE_STMT); } +#line 6753 "sql.c" break; - case 290: /* cmd ::= SHOW CLUSTER ALIVE */ + case 294: /* cmd ::= SHOW CLUSTER ALIVE */ +#line 526 "sql.y" { pCxt->pRootNode = createShowAliveStmt(pCxt, NULL, QUERY_NODE_SHOW_CLUSTER_ALIVE_STMT); } +#line 6758 "sql.c" break; - case 291: /* cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VIEWS_STMT, yymsp[-2].minor.yy718, yymsp[0].minor.yy718, OP_TYPE_LIKE); } + case 295: /* cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt */ +#line 527 "sql.y" +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VIEWS_STMT, yymsp[-2].minor.yy896, yymsp[0].minor.yy896, OP_TYPE_LIKE); } +#line 6763 "sql.c" break; - case 292: /* cmd ::= SHOW CREATE VIEW full_table_name */ -{ pCxt->pRootNode = createShowCreateViewStmt(pCxt, QUERY_NODE_SHOW_CREATE_VIEW_STMT, yymsp[0].minor.yy718); } + case 296: /* cmd ::= SHOW CREATE VIEW full_table_name */ +#line 528 "sql.y" +{ pCxt->pRootNode = createShowCreateViewStmt(pCxt, QUERY_NODE_SHOW_CREATE_VIEW_STMT, yymsp[0].minor.yy896); } +#line 6768 "sql.c" break; - case 293: /* cmd ::= SHOW COMPACTS */ + case 297: /* cmd ::= SHOW COMPACTS */ +#line 529 "sql.y" { pCxt->pRootNode = createShowCompactsStmt(pCxt, QUERY_NODE_SHOW_COMPACTS_STMT); } +#line 6773 "sql.c" break; - case 294: /* cmd ::= SHOW COMPACT NK_INTEGER */ + case 298: /* cmd ::= SHOW COMPACT NK_INTEGER */ +#line 530 "sql.y" { pCxt->pRootNode = createShowCompactDetailsStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } +#line 6778 "sql.c" break; - case 295: /* table_kind_db_name_cond_opt ::= */ -{ yymsp[1].minor.yy91.kind = SHOW_KIND_ALL; yymsp[1].minor.yy91.dbName = nil_token; } + case 299: /* table_kind_db_name_cond_opt ::= */ +#line 534 "sql.y" +{ yymsp[1].minor.yy989.kind = SHOW_KIND_ALL; yymsp[1].minor.yy989.dbName = nil_token; } +#line 6783 "sql.c" break; - case 296: /* table_kind_db_name_cond_opt ::= table_kind */ -{ yylhsminor.yy91.kind = yymsp[0].minor.yy101; yylhsminor.yy91.dbName = nil_token; } - yymsp[0].minor.yy91 = yylhsminor.yy91; + case 300: /* table_kind_db_name_cond_opt ::= table_kind */ +#line 535 "sql.y" +{ yylhsminor.yy989.kind = yymsp[0].minor.yy705; yylhsminor.yy989.dbName = nil_token; } +#line 6788 "sql.c" + yymsp[0].minor.yy989 = yylhsminor.yy989; break; - case 297: /* table_kind_db_name_cond_opt ::= db_name NK_DOT */ -{ yylhsminor.yy91.kind = SHOW_KIND_ALL; yylhsminor.yy91.dbName = yymsp[-1].minor.yy965; } - yymsp[-1].minor.yy91 = yylhsminor.yy91; + case 301: /* table_kind_db_name_cond_opt ::= db_name NK_DOT */ +#line 536 "sql.y" +{ yylhsminor.yy989.kind = SHOW_KIND_ALL; yylhsminor.yy989.dbName = yymsp[-1].minor.yy701; } +#line 6794 "sql.c" + yymsp[-1].minor.yy989 = yylhsminor.yy989; break; - case 298: /* table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ -{ yylhsminor.yy91.kind = yymsp[-2].minor.yy101; yylhsminor.yy91.dbName = yymsp[-1].minor.yy965; } - yymsp[-2].minor.yy91 = yylhsminor.yy91; + case 302: /* table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ +#line 537 "sql.y" +{ yylhsminor.yy989.kind = yymsp[-2].minor.yy705; yylhsminor.yy989.dbName = yymsp[-1].minor.yy701; } +#line 6800 "sql.c" + yymsp[-2].minor.yy989 = yylhsminor.yy989; break; - case 299: /* table_kind ::= NORMAL */ -{ yymsp[0].minor.yy101 = SHOW_KIND_TABLES_NORMAL; } + case 303: /* table_kind ::= NORMAL */ +#line 541 "sql.y" +{ yymsp[0].minor.yy705 = SHOW_KIND_TABLES_NORMAL; } +#line 6806 "sql.c" break; - case 300: /* table_kind ::= CHILD */ -{ yymsp[0].minor.yy101 = SHOW_KIND_TABLES_CHILD; } + case 304: /* table_kind ::= CHILD */ +#line 542 "sql.y" +{ yymsp[0].minor.yy705 = SHOW_KIND_TABLES_CHILD; } +#line 6811 "sql.c" break; - case 301: /* db_name_cond_opt ::= */ - case 306: /* from_db_opt ::= */ yytestcase(yyruleno==306); -{ yymsp[1].minor.yy718 = createDefaultDatabaseCondValue(pCxt); } + case 305: /* db_name_cond_opt ::= */ + case 310: /* from_db_opt ::= */ yytestcase(yyruleno==310); +#line 544 "sql.y" +{ yymsp[1].minor.yy896 = createDefaultDatabaseCondValue(pCxt); } +#line 6817 "sql.c" break; - case 302: /* db_name_cond_opt ::= db_name NK_DOT */ -{ yylhsminor.yy718 = createIdentifierValueNode(pCxt, &yymsp[-1].minor.yy965); } - yymsp[-1].minor.yy718 = yylhsminor.yy718; + case 306: /* db_name_cond_opt ::= db_name NK_DOT */ +#line 545 "sql.y" +{ yylhsminor.yy896 = createIdentifierValueNode(pCxt, &yymsp[-1].minor.yy701); } +#line 6822 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 304: /* like_pattern_opt ::= LIKE NK_STRING */ -{ yymsp[-1].minor.yy718 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } + case 308: /* like_pattern_opt ::= LIKE NK_STRING */ +#line 548 "sql.y" +{ yymsp[-1].minor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } +#line 6828 "sql.c" break; - case 305: /* table_name_cond ::= table_name */ -{ yylhsminor.yy718 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy965); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 309: /* table_name_cond ::= table_name */ +#line 550 "sql.y" +{ yylhsminor.yy896 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy701); } +#line 6833 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 307: /* from_db_opt ::= FROM db_name */ -{ yymsp[-1].minor.yy718 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy965); } + case 311: /* from_db_opt ::= FROM db_name */ +#line 553 "sql.y" +{ yymsp[-1].minor.yy896 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy701); } +#line 6839 "sql.c" break; - case 311: /* tag_item ::= TBNAME */ -{ yylhsminor.yy718 = setProjectionAlias(pCxt, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL), &yymsp[0].minor.yy0); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 315: /* tag_item ::= TBNAME */ +#line 561 "sql.y" +{ yylhsminor.yy896 = setProjectionAlias(pCxt, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL), &yymsp[0].minor.yy0); } +#line 6844 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 314: /* tag_item ::= column_name column_alias */ -{ yylhsminor.yy718 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-1].minor.yy965), &yymsp[0].minor.yy965); } - yymsp[-1].minor.yy718 = yylhsminor.yy718; + case 318: /* tag_item ::= column_name column_alias */ +#line 564 "sql.y" +{ yylhsminor.yy896 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-1].minor.yy701), &yymsp[0].minor.yy701); } +#line 6850 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 315: /* tag_item ::= column_name AS column_alias */ -{ yylhsminor.yy718 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-2].minor.yy965), &yymsp[0].minor.yy965); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 319: /* tag_item ::= column_name AS column_alias */ +#line 565 "sql.y" +{ yylhsminor.yy896 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-2].minor.yy701), &yymsp[0].minor.yy701); } +#line 6856 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 316: /* db_kind_opt ::= */ -{ yymsp[1].minor.yy101 = SHOW_KIND_ALL; } + case 320: /* db_kind_opt ::= */ +#line 569 "sql.y" +{ yymsp[1].minor.yy705 = SHOW_KIND_ALL; } +#line 6862 "sql.c" break; - case 317: /* db_kind_opt ::= USER */ -{ yymsp[0].minor.yy101 = SHOW_KIND_DATABASES_USER; } + case 321: /* db_kind_opt ::= USER */ +#line 570 "sql.y" +{ yymsp[0].minor.yy705 = SHOW_KIND_DATABASES_USER; } +#line 6867 "sql.c" break; - case 318: /* db_kind_opt ::= SYSTEM */ -{ yymsp[0].minor.yy101 = SHOW_KIND_DATABASES_SYSTEM; } + case 322: /* db_kind_opt ::= SYSTEM */ +#line 571 "sql.y" +{ yymsp[0].minor.yy705 = SHOW_KIND_DATABASES_SYSTEM; } +#line 6872 "sql.c" break; - case 319: /* 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.yy559, yymsp[-3].minor.yy718, yymsp[-1].minor.yy718, NULL, yymsp[0].minor.yy718); } + case 323: /* cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options */ +#line 575 "sql.y" +{ pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_SMA, yymsp[-4].minor.yy733, yymsp[-3].minor.yy896, yymsp[-1].minor.yy896, NULL, yymsp[0].minor.yy896); } +#line 6877 "sql.c" break; - case 320: /* 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.yy559, yymsp[-5].minor.yy718, yymsp[-3].minor.yy718, yymsp[-1].minor.yy552, NULL); } + case 324: /* cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP */ +#line 577 "sql.y" +{ pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_NORMAL, yymsp[-6].minor.yy733, yymsp[-5].minor.yy896, yymsp[-3].minor.yy896, yymsp[-1].minor.yy404, NULL); } +#line 6882 "sql.c" break; - case 321: /* cmd ::= DROP INDEX exists_opt full_index_name */ -{ pCxt->pRootNode = createDropIndexStmt(pCxt, yymsp[-1].minor.yy559, yymsp[0].minor.yy718); } + case 325: /* cmd ::= DROP INDEX exists_opt full_index_name */ +#line 578 "sql.y" +{ pCxt->pRootNode = createDropIndexStmt(pCxt, yymsp[-1].minor.yy733, yymsp[0].minor.yy896); } +#line 6887 "sql.c" break; - case 322: /* full_index_name ::= index_name */ -{ yylhsminor.yy718 = createRealTableNodeForIndexName(pCxt, NULL, &yymsp[0].minor.yy965); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 326: /* full_index_name ::= index_name */ +#line 580 "sql.y" +{ yylhsminor.yy896 = createRealTableNodeForIndexName(pCxt, NULL, &yymsp[0].minor.yy701); } +#line 6892 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 323: /* full_index_name ::= db_name NK_DOT index_name */ -{ yylhsminor.yy718 = createRealTableNodeForIndexName(pCxt, &yymsp[-2].minor.yy965, &yymsp[0].minor.yy965); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 327: /* full_index_name ::= db_name NK_DOT index_name */ +#line 581 "sql.y" +{ yylhsminor.yy896 = createRealTableNodeForIndexName(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy701); } +#line 6898 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 324: /* index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ -{ yymsp[-9].minor.yy718 = createIndexOption(pCxt, yymsp[-7].minor.yy552, releaseRawExprNode(pCxt, yymsp[-3].minor.yy718), NULL, yymsp[-1].minor.yy718, yymsp[0].minor.yy718); } + case 328: /* index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ +#line 584 "sql.y" +{ yymsp[-9].minor.yy896 = createIndexOption(pCxt, yymsp[-7].minor.yy404, releaseRawExprNode(pCxt, yymsp[-3].minor.yy896), NULL, yymsp[-1].minor.yy896, yymsp[0].minor.yy896); } +#line 6904 "sql.c" break; - case 325: /* 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.yy718 = createIndexOption(pCxt, yymsp[-9].minor.yy552, releaseRawExprNode(pCxt, yymsp[-5].minor.yy718), releaseRawExprNode(pCxt, yymsp[-3].minor.yy718), yymsp[-1].minor.yy718, yymsp[0].minor.yy718); } + case 329: /* 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 */ +#line 587 "sql.y" +{ yymsp[-11].minor.yy896 = createIndexOption(pCxt, yymsp[-9].minor.yy404, releaseRawExprNode(pCxt, yymsp[-5].minor.yy896), releaseRawExprNode(pCxt, yymsp[-3].minor.yy896), yymsp[-1].minor.yy896, yymsp[0].minor.yy896); } +#line 6909 "sql.c" break; - case 328: /* func ::= sma_func_name NK_LP expression_list NK_RP */ -{ yylhsminor.yy718 = createFunctionNode(pCxt, &yymsp[-3].minor.yy965, yymsp[-1].minor.yy552); } - yymsp[-3].minor.yy718 = yylhsminor.yy718; + case 332: /* func ::= sma_func_name NK_LP expression_list NK_RP */ +#line 594 "sql.y" +{ yylhsminor.yy896 = createFunctionNode(pCxt, &yymsp[-3].minor.yy701, yymsp[-1].minor.yy404); } +#line 6914 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 329: /* sma_func_name ::= function_name */ - case 595: /* alias_opt ::= table_alias */ yytestcase(yyruleno==595); -{ yylhsminor.yy965 = yymsp[0].minor.yy965; } - yymsp[0].minor.yy965 = yylhsminor.yy965; + case 333: /* sma_func_name ::= function_name */ + case 600: /* alias_opt ::= table_alias */ yytestcase(yyruleno==600); +#line 598 "sql.y" +{ yylhsminor.yy701 = yymsp[0].minor.yy701; } +#line 6921 "sql.c" + yymsp[0].minor.yy701 = yylhsminor.yy701; break; - case 334: /* sma_stream_opt ::= */ - case 379: /* stream_options ::= */ yytestcase(yyruleno==379); -{ yymsp[1].minor.yy718 = createStreamOptions(pCxt); } + case 338: /* sma_stream_opt ::= */ + case 383: /* stream_options ::= */ yytestcase(yyruleno==383); +#line 604 "sql.y" +{ yymsp[1].minor.yy896 = createStreamOptions(pCxt); } +#line 6928 "sql.c" break; - case 335: /* sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ -{ ((SStreamOptions*)yymsp[-2].minor.yy718)->pWatermark = releaseRawExprNode(pCxt, yymsp[0].minor.yy718); yylhsminor.yy718 = yymsp[-2].minor.yy718; } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 339: /* sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ +#line 605 "sql.y" +{ ((SStreamOptions*)yymsp[-2].minor.yy896)->pWatermark = releaseRawExprNode(pCxt, yymsp[0].minor.yy896); yylhsminor.yy896 = yymsp[-2].minor.yy896; } +#line 6933 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 336: /* sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ -{ ((SStreamOptions*)yymsp[-2].minor.yy718)->pDelay = releaseRawExprNode(pCxt, yymsp[0].minor.yy718); yylhsminor.yy718 = yymsp[-2].minor.yy718; } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 340: /* sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ +#line 606 "sql.y" +{ ((SStreamOptions*)yymsp[-2].minor.yy896)->pDelay = releaseRawExprNode(pCxt, yymsp[0].minor.yy896); yylhsminor.yy896 = yymsp[-2].minor.yy896; } +#line 6939 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 337: /* sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ -{ ((SStreamOptions*)yymsp[-2].minor.yy718)->pDeleteMark = releaseRawExprNode(pCxt, yymsp[0].minor.yy718); yylhsminor.yy718 = yymsp[-2].minor.yy718; } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 341: /* sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ +#line 607 "sql.y" +{ ((SStreamOptions*)yymsp[-2].minor.yy896)->pDeleteMark = releaseRawExprNode(pCxt, yymsp[0].minor.yy896); yylhsminor.yy896 = yymsp[-2].minor.yy896; } +#line 6945 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 338: /* with_meta ::= AS */ -{ yymsp[0].minor.yy134 = 0; } + case 342: /* with_meta ::= AS */ +#line 612 "sql.y" +{ yymsp[0].minor.yy396 = 0; } +#line 6951 "sql.c" break; - case 339: /* with_meta ::= WITH META AS */ -{ yymsp[-2].minor.yy134 = 1; } + case 343: /* with_meta ::= WITH META AS */ +#line 613 "sql.y" +{ yymsp[-2].minor.yy396 = 1; } +#line 6956 "sql.c" break; - case 340: /* with_meta ::= ONLY META AS */ -{ yymsp[-2].minor.yy134 = 2; } + case 344: /* with_meta ::= ONLY META AS */ +#line 614 "sql.y" +{ yymsp[-2].minor.yy396 = 2; } +#line 6961 "sql.c" break; - case 341: /* cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ -{ pCxt->pRootNode = createCreateTopicStmtUseQuery(pCxt, yymsp[-3].minor.yy559, &yymsp[-2].minor.yy965, yymsp[0].minor.yy718); } + case 345: /* cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ +#line 616 "sql.y" +{ pCxt->pRootNode = createCreateTopicStmtUseQuery(pCxt, yymsp[-3].minor.yy733, &yymsp[-2].minor.yy701, yymsp[0].minor.yy896); } +#line 6966 "sql.c" break; - case 342: /* cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ -{ pCxt->pRootNode = createCreateTopicStmtUseDb(pCxt, yymsp[-4].minor.yy559, &yymsp[-3].minor.yy965, &yymsp[0].minor.yy965, yymsp[-2].minor.yy134); } + case 346: /* cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ +#line 618 "sql.y" +{ pCxt->pRootNode = createCreateTopicStmtUseDb(pCxt, yymsp[-4].minor.yy733, &yymsp[-3].minor.yy701, &yymsp[0].minor.yy701, yymsp[-2].minor.yy396); } +#line 6971 "sql.c" break; - case 343: /* cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ -{ pCxt->pRootNode = createCreateTopicStmtUseTable(pCxt, yymsp[-5].minor.yy559, &yymsp[-4].minor.yy965, yymsp[-1].minor.yy718, yymsp[-3].minor.yy134, yymsp[0].minor.yy718); } + case 347: /* cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ +#line 620 "sql.y" +{ pCxt->pRootNode = createCreateTopicStmtUseTable(pCxt, yymsp[-5].minor.yy733, &yymsp[-4].minor.yy701, yymsp[-1].minor.yy896, yymsp[-3].minor.yy396, yymsp[0].minor.yy896); } +#line 6976 "sql.c" break; - case 344: /* cmd ::= DROP TOPIC exists_opt topic_name */ -{ pCxt->pRootNode = createDropTopicStmt(pCxt, yymsp[-1].minor.yy559, &yymsp[0].minor.yy965); } + case 348: /* cmd ::= DROP TOPIC exists_opt topic_name */ +#line 622 "sql.y" +{ pCxt->pRootNode = createDropTopicStmt(pCxt, yymsp[-1].minor.yy733, &yymsp[0].minor.yy701); } +#line 6981 "sql.c" break; - case 345: /* cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ -{ pCxt->pRootNode = createDropCGroupStmt(pCxt, yymsp[-3].minor.yy559, &yymsp[-2].minor.yy965, &yymsp[0].minor.yy965); } + case 349: /* cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ +#line 623 "sql.y" +{ pCxt->pRootNode = createDropCGroupStmt(pCxt, yymsp[-3].minor.yy733, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy701); } +#line 6986 "sql.c" break; - case 346: /* cmd ::= DESC full_table_name */ - case 347: /* cmd ::= DESCRIBE full_table_name */ yytestcase(yyruleno==347); -{ pCxt->pRootNode = createDescribeStmt(pCxt, yymsp[0].minor.yy718); } + case 350: /* cmd ::= DESC full_table_name */ + case 351: /* cmd ::= DESCRIBE full_table_name */ yytestcase(yyruleno==351); +#line 626 "sql.y" +{ pCxt->pRootNode = createDescribeStmt(pCxt, yymsp[0].minor.yy896); } +#line 6992 "sql.c" break; - case 348: /* cmd ::= RESET QUERY CACHE */ + case 352: /* cmd ::= RESET QUERY CACHE */ +#line 630 "sql.y" { pCxt->pRootNode = createResetQueryCacheStmt(pCxt); } +#line 6997 "sql.c" break; - case 349: /* cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ - case 350: /* cmd ::= EXPLAIN analyze_opt explain_options insert_query */ yytestcase(yyruleno==350); -{ pCxt->pRootNode = createExplainStmt(pCxt, yymsp[-2].minor.yy559, yymsp[-1].minor.yy718, yymsp[0].minor.yy718); } + case 353: /* cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ + case 354: /* cmd ::= EXPLAIN analyze_opt explain_options insert_query */ yytestcase(yyruleno==354); +#line 633 "sql.y" +{ pCxt->pRootNode = createExplainStmt(pCxt, yymsp[-2].minor.yy733, yymsp[-1].minor.yy896, yymsp[0].minor.yy896); } +#line 7003 "sql.c" break; - case 353: /* explain_options ::= */ -{ yymsp[1].minor.yy718 = createDefaultExplainOptions(pCxt); } + case 357: /* explain_options ::= */ +#line 641 "sql.y" +{ yymsp[1].minor.yy896 = createDefaultExplainOptions(pCxt); } +#line 7008 "sql.c" break; - case 354: /* explain_options ::= explain_options VERBOSE NK_BOOL */ -{ yylhsminor.yy718 = setExplainVerbose(pCxt, yymsp[-2].minor.yy718, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 358: /* explain_options ::= explain_options VERBOSE NK_BOOL */ +#line 642 "sql.y" +{ yylhsminor.yy896 = setExplainVerbose(pCxt, yymsp[-2].minor.yy896, &yymsp[0].minor.yy0); } +#line 7013 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 355: /* explain_options ::= explain_options RATIO NK_FLOAT */ -{ yylhsminor.yy718 = setExplainRatio(pCxt, yymsp[-2].minor.yy718, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 359: /* explain_options ::= explain_options RATIO NK_FLOAT */ +#line 643 "sql.y" +{ yylhsminor.yy896 = setExplainRatio(pCxt, yymsp[-2].minor.yy896, &yymsp[0].minor.yy0); } +#line 7019 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 356: /* 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.yy559, yymsp[-9].minor.yy559, &yymsp[-6].minor.yy965, &yymsp[-4].minor.yy0, yymsp[-2].minor.yy224, yymsp[-1].minor.yy134, &yymsp[0].minor.yy965, yymsp[-10].minor.yy559); } + case 360: /* cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt */ +#line 648 "sql.y" +{ pCxt->pRootNode = createCreateFunctionStmt(pCxt, yymsp[-7].minor.yy733, yymsp[-9].minor.yy733, &yymsp[-6].minor.yy701, &yymsp[-4].minor.yy0, yymsp[-2].minor.yy504, yymsp[-1].minor.yy396, &yymsp[0].minor.yy701, yymsp[-10].minor.yy733); } +#line 7025 "sql.c" break; - case 357: /* cmd ::= DROP FUNCTION exists_opt function_name */ -{ pCxt->pRootNode = createDropFunctionStmt(pCxt, yymsp[-1].minor.yy559, &yymsp[0].minor.yy965); } + case 361: /* cmd ::= DROP FUNCTION exists_opt function_name */ +#line 649 "sql.y" +{ pCxt->pRootNode = createDropFunctionStmt(pCxt, yymsp[-1].minor.yy733, &yymsp[0].minor.yy701); } +#line 7030 "sql.c" break; - case 362: /* language_opt ::= */ - case 401: /* on_vgroup_id ::= */ yytestcase(yyruleno==401); -{ yymsp[1].minor.yy965 = nil_token; } + case 366: /* language_opt ::= */ + case 405: /* on_vgroup_id ::= */ yytestcase(yyruleno==405); +#line 663 "sql.y" +{ yymsp[1].minor.yy701 = nil_token; } +#line 7036 "sql.c" break; - case 363: /* language_opt ::= LANGUAGE NK_STRING */ - case 402: /* on_vgroup_id ::= ON NK_INTEGER */ yytestcase(yyruleno==402); -{ yymsp[-1].minor.yy965 = yymsp[0].minor.yy0; } + case 367: /* language_opt ::= LANGUAGE NK_STRING */ + case 406: /* on_vgroup_id ::= ON NK_INTEGER */ yytestcase(yyruleno==406); +#line 664 "sql.y" +{ yymsp[-1].minor.yy701 = yymsp[0].minor.yy0; } +#line 7042 "sql.c" break; - case 366: /* cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ -{ pCxt->pRootNode = createCreateViewStmt(pCxt, yymsp[-4].minor.yy559, yymsp[-2].minor.yy718, &yymsp[-1].minor.yy0, yymsp[0].minor.yy718); } + case 370: /* cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ +#line 673 "sql.y" +{ pCxt->pRootNode = createCreateViewStmt(pCxt, yymsp[-4].minor.yy733, yymsp[-2].minor.yy896, &yymsp[-1].minor.yy0, yymsp[0].minor.yy896); } +#line 7047 "sql.c" break; - case 367: /* cmd ::= DROP VIEW exists_opt full_view_name */ -{ pCxt->pRootNode = createDropViewStmt(pCxt, yymsp[-1].minor.yy559, yymsp[0].minor.yy718); } + case 371: /* cmd ::= DROP VIEW exists_opt full_view_name */ +#line 674 "sql.y" +{ pCxt->pRootNode = createDropViewStmt(pCxt, yymsp[-1].minor.yy733, yymsp[0].minor.yy896); } +#line 7052 "sql.c" break; - case 368: /* full_view_name ::= view_name */ -{ yylhsminor.yy718 = createViewNode(pCxt, NULL, &yymsp[0].minor.yy965); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 372: /* full_view_name ::= view_name */ +#line 676 "sql.y" +{ yylhsminor.yy896 = createViewNode(pCxt, NULL, &yymsp[0].minor.yy701); } +#line 7057 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 369: /* full_view_name ::= db_name NK_DOT view_name */ -{ yylhsminor.yy718 = createViewNode(pCxt, &yymsp[-2].minor.yy965, &yymsp[0].minor.yy965); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 373: /* full_view_name ::= db_name NK_DOT view_name */ +#line 677 "sql.y" +{ yylhsminor.yy896 = createViewNode(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy701); } +#line 7063 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 370: /* 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.yy559, &yymsp[-8].minor.yy965, yymsp[-5].minor.yy718, yymsp[-7].minor.yy718, yymsp[-3].minor.yy552, yymsp[-2].minor.yy718, yymsp[0].minor.yy718, yymsp[-4].minor.yy552); } + case 374: /* 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 */ +#line 682 "sql.y" +{ pCxt->pRootNode = createCreateStreamStmt(pCxt, yymsp[-9].minor.yy733, &yymsp[-8].minor.yy701, yymsp[-5].minor.yy896, yymsp[-7].minor.yy896, yymsp[-3].minor.yy404, yymsp[-2].minor.yy896, yymsp[0].minor.yy896, yymsp[-4].minor.yy404); } +#line 7069 "sql.c" break; - case 371: /* cmd ::= DROP STREAM exists_opt stream_name */ -{ pCxt->pRootNode = createDropStreamStmt(pCxt, yymsp[-1].minor.yy559, &yymsp[0].minor.yy965); } + case 375: /* cmd ::= DROP STREAM exists_opt stream_name */ +#line 683 "sql.y" +{ pCxt->pRootNode = createDropStreamStmt(pCxt, yymsp[-1].minor.yy733, &yymsp[0].minor.yy701); } +#line 7074 "sql.c" break; - case 372: /* cmd ::= PAUSE STREAM exists_opt stream_name */ -{ pCxt->pRootNode = createPauseStreamStmt(pCxt, yymsp[-1].minor.yy559, &yymsp[0].minor.yy965); } + case 376: /* cmd ::= PAUSE STREAM exists_opt stream_name */ +#line 684 "sql.y" +{ pCxt->pRootNode = createPauseStreamStmt(pCxt, yymsp[-1].minor.yy733, &yymsp[0].minor.yy701); } +#line 7079 "sql.c" break; - case 373: /* cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ -{ pCxt->pRootNode = createResumeStreamStmt(pCxt, yymsp[-2].minor.yy559, yymsp[-1].minor.yy559, &yymsp[0].minor.yy965); } + case 377: /* cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ +#line 685 "sql.y" +{ pCxt->pRootNode = createResumeStreamStmt(pCxt, yymsp[-2].minor.yy733, yymsp[-1].minor.yy733, &yymsp[0].minor.yy701); } +#line 7084 "sql.c" break; - case 380: /* stream_options ::= stream_options TRIGGER AT_ONCE */ - case 381: /* stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ yytestcase(yyruleno==381); -{ yylhsminor.yy718 = setStreamOptions(pCxt, yymsp[-2].minor.yy718, SOPT_TRIGGER_TYPE_SET, &yymsp[0].minor.yy0, NULL); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 384: /* stream_options ::= stream_options TRIGGER AT_ONCE */ + case 385: /* stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ yytestcase(yyruleno==385); +#line 699 "sql.y" +{ yylhsminor.yy896 = setStreamOptions(pCxt, yymsp[-2].minor.yy896, SOPT_TRIGGER_TYPE_SET, &yymsp[0].minor.yy0, NULL); } +#line 7090 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 382: /* stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ -{ yylhsminor.yy718 = setStreamOptions(pCxt, yymsp[-3].minor.yy718, SOPT_TRIGGER_TYPE_SET, &yymsp[-1].minor.yy0, releaseRawExprNode(pCxt, yymsp[0].minor.yy718)); } - yymsp[-3].minor.yy718 = yylhsminor.yy718; + case 386: /* stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ +#line 701 "sql.y" +{ yylhsminor.yy896 = setStreamOptions(pCxt, yymsp[-3].minor.yy896, SOPT_TRIGGER_TYPE_SET, &yymsp[-1].minor.yy0, releaseRawExprNode(pCxt, yymsp[0].minor.yy896)); } +#line 7096 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 383: /* stream_options ::= stream_options WATERMARK duration_literal */ -{ yylhsminor.yy718 = setStreamOptions(pCxt, yymsp[-2].minor.yy718, SOPT_WATERMARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy718)); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 387: /* stream_options ::= stream_options WATERMARK duration_literal */ +#line 702 "sql.y" +{ yylhsminor.yy896 = setStreamOptions(pCxt, yymsp[-2].minor.yy896, SOPT_WATERMARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy896)); } +#line 7102 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 384: /* stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ -{ yylhsminor.yy718 = setStreamOptions(pCxt, yymsp[-3].minor.yy718, SOPT_IGNORE_EXPIRED_SET, &yymsp[0].minor.yy0, NULL); } - yymsp[-3].minor.yy718 = yylhsminor.yy718; + case 388: /* stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ +#line 703 "sql.y" +{ yylhsminor.yy896 = setStreamOptions(pCxt, yymsp[-3].minor.yy896, SOPT_IGNORE_EXPIRED_SET, &yymsp[0].minor.yy0, NULL); } +#line 7108 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 385: /* stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ -{ yylhsminor.yy718 = setStreamOptions(pCxt, yymsp[-2].minor.yy718, SOPT_FILL_HISTORY_SET, &yymsp[0].minor.yy0, NULL); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 389: /* stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ +#line 704 "sql.y" +{ yylhsminor.yy896 = setStreamOptions(pCxt, yymsp[-2].minor.yy896, SOPT_FILL_HISTORY_SET, &yymsp[0].minor.yy0, NULL); } +#line 7114 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 386: /* stream_options ::= stream_options DELETE_MARK duration_literal */ -{ yylhsminor.yy718 = setStreamOptions(pCxt, yymsp[-2].minor.yy718, SOPT_DELETE_MARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy718)); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 390: /* stream_options ::= stream_options DELETE_MARK duration_literal */ +#line 705 "sql.y" +{ yylhsminor.yy896 = setStreamOptions(pCxt, yymsp[-2].minor.yy896, SOPT_DELETE_MARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy896)); } +#line 7120 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 387: /* stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ -{ yylhsminor.yy718 = setStreamOptions(pCxt, yymsp[-3].minor.yy718, SOPT_IGNORE_UPDATE_SET, &yymsp[0].minor.yy0, NULL); } - yymsp[-3].minor.yy718 = yylhsminor.yy718; + case 391: /* stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ +#line 706 "sql.y" +{ yylhsminor.yy896 = setStreamOptions(pCxt, yymsp[-3].minor.yy896, SOPT_IGNORE_UPDATE_SET, &yymsp[0].minor.yy0, NULL); } +#line 7126 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 389: /* subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ - case 635: /* sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ yytestcase(yyruleno==635); - case 659: /* every_opt ::= EVERY NK_LP duration_literal NK_RP */ yytestcase(yyruleno==659); -{ yymsp[-3].minor.yy718 = releaseRawExprNode(pCxt, yymsp[-1].minor.yy718); } + case 393: /* subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ + case 640: /* sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ yytestcase(yyruleno==640); + case 664: /* every_opt ::= EVERY NK_LP duration_literal NK_RP */ yytestcase(yyruleno==664); +#line 709 "sql.y" +{ yymsp[-3].minor.yy896 = releaseRawExprNode(pCxt, yymsp[-1].minor.yy896); } +#line 7134 "sql.c" break; - case 392: /* cmd ::= KILL CONNECTION NK_INTEGER */ + case 396: /* cmd ::= KILL CONNECTION NK_INTEGER */ +#line 717 "sql.y" { pCxt->pRootNode = createKillStmt(pCxt, QUERY_NODE_KILL_CONNECTION_STMT, &yymsp[0].minor.yy0); } +#line 7139 "sql.c" break; - case 393: /* cmd ::= KILL QUERY NK_STRING */ + case 397: /* cmd ::= KILL QUERY NK_STRING */ +#line 718 "sql.y" { pCxt->pRootNode = createKillQueryStmt(pCxt, &yymsp[0].minor.yy0); } +#line 7144 "sql.c" break; - case 394: /* cmd ::= KILL TRANSACTION NK_INTEGER */ + case 398: /* cmd ::= KILL TRANSACTION NK_INTEGER */ +#line 719 "sql.y" { pCxt->pRootNode = createKillStmt(pCxt, QUERY_NODE_KILL_TRANSACTION_STMT, &yymsp[0].minor.yy0); } +#line 7149 "sql.c" break; - case 395: /* cmd ::= KILL COMPACT NK_INTEGER */ + case 399: /* cmd ::= KILL COMPACT NK_INTEGER */ +#line 720 "sql.y" { pCxt->pRootNode = createKillStmt(pCxt, QUERY_NODE_KILL_COMPACT_STMT, &yymsp[0].minor.yy0); } +#line 7154 "sql.c" break; - case 396: /* cmd ::= BALANCE VGROUP */ + case 400: /* cmd ::= BALANCE VGROUP */ +#line 723 "sql.y" { pCxt->pRootNode = createBalanceVgroupStmt(pCxt); } +#line 7159 "sql.c" break; - case 397: /* cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ -{ pCxt->pRootNode = createBalanceVgroupLeaderStmt(pCxt, &yymsp[0].minor.yy965); } + case 401: /* cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ +#line 724 "sql.y" +{ pCxt->pRootNode = createBalanceVgroupLeaderStmt(pCxt, &yymsp[0].minor.yy701); } +#line 7164 "sql.c" break; - case 398: /* cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ + case 402: /* cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ +#line 725 "sql.y" { pCxt->pRootNode = createMergeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); } +#line 7169 "sql.c" break; - case 399: /* cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ -{ pCxt->pRootNode = createRedistributeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy552); } + case 403: /* cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ +#line 726 "sql.y" +{ pCxt->pRootNode = createRedistributeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy404); } +#line 7174 "sql.c" break; - case 400: /* cmd ::= SPLIT VGROUP NK_INTEGER */ + case 404: /* cmd ::= SPLIT VGROUP NK_INTEGER */ +#line 727 "sql.y" { pCxt->pRootNode = createSplitVgroupStmt(pCxt, &yymsp[0].minor.yy0); } +#line 7179 "sql.c" break; - case 403: /* dnode_list ::= DNODE NK_INTEGER */ -{ yymsp[-1].minor.yy552 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } + case 407: /* dnode_list ::= DNODE NK_INTEGER */ +#line 736 "sql.y" +{ yymsp[-1].minor.yy404 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } +#line 7184 "sql.c" break; - case 405: /* cmd ::= DELETE FROM full_table_name where_clause_opt */ -{ pCxt->pRootNode = createDeleteStmt(pCxt, yymsp[-1].minor.yy718, yymsp[0].minor.yy718); } + case 409: /* cmd ::= DELETE FROM full_table_name where_clause_opt */ +#line 743 "sql.y" +{ pCxt->pRootNode = createDeleteStmt(pCxt, yymsp[-1].minor.yy896, yymsp[0].minor.yy896); } +#line 7189 "sql.c" break; - case 408: /* insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ -{ yymsp[-6].minor.yy718 = createInsertStmt(pCxt, yymsp[-4].minor.yy718, yymsp[-2].minor.yy552, yymsp[0].minor.yy718); } + case 412: /* insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ +#line 752 "sql.y" +{ yymsp[-6].minor.yy896 = createInsertStmt(pCxt, yymsp[-4].minor.yy896, yymsp[-2].minor.yy404, yymsp[0].minor.yy896); } +#line 7194 "sql.c" break; - case 409: /* insert_query ::= INSERT INTO full_table_name query_or_subquery */ -{ yymsp[-3].minor.yy718 = createInsertStmt(pCxt, yymsp[-1].minor.yy718, NULL, yymsp[0].minor.yy718); } + case 413: /* insert_query ::= INSERT INTO full_table_name query_or_subquery */ +#line 753 "sql.y" +{ yymsp[-3].minor.yy896 = createInsertStmt(pCxt, yymsp[-1].minor.yy896, NULL, yymsp[0].minor.yy896); } +#line 7199 "sql.c" break; - case 410: /* tags_literal ::= NK_INTEGER */ - case 422: /* tags_literal ::= NK_BIN */ yytestcase(yyruleno==422); - case 431: /* tags_literal ::= NK_HEX */ yytestcase(yyruleno==431); -{ yylhsminor.yy718 = createRawValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0, NULL); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 414: /* tags_literal ::= NK_INTEGER */ + case 426: /* tags_literal ::= NK_BIN */ yytestcase(yyruleno==426); + case 435: /* tags_literal ::= NK_HEX */ yytestcase(yyruleno==435); +#line 756 "sql.y" +{ yylhsminor.yy896 = createRawValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0, NULL); } +#line 7206 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 411: /* tags_literal ::= NK_INTEGER NK_PLUS duration_literal */ - case 412: /* tags_literal ::= NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==412); - case 423: /* tags_literal ::= NK_BIN NK_PLUS duration_literal */ yytestcase(yyruleno==423); - case 424: /* tags_literal ::= NK_BIN NK_MINUS duration_literal */ yytestcase(yyruleno==424); - case 432: /* tags_literal ::= NK_HEX NK_PLUS duration_literal */ yytestcase(yyruleno==432); - case 433: /* tags_literal ::= NK_HEX NK_MINUS duration_literal */ yytestcase(yyruleno==433); - case 441: /* tags_literal ::= NK_STRING NK_PLUS duration_literal */ yytestcase(yyruleno==441); - case 442: /* tags_literal ::= NK_STRING NK_MINUS duration_literal */ yytestcase(yyruleno==442); + case 415: /* tags_literal ::= NK_INTEGER NK_PLUS duration_literal */ + case 416: /* tags_literal ::= NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==416); + case 427: /* tags_literal ::= NK_BIN NK_PLUS duration_literal */ yytestcase(yyruleno==427); + case 428: /* tags_literal ::= NK_BIN NK_MINUS duration_literal */ yytestcase(yyruleno==428); + case 436: /* tags_literal ::= NK_HEX NK_PLUS duration_literal */ yytestcase(yyruleno==436); + case 437: /* tags_literal ::= NK_HEX NK_MINUS duration_literal */ yytestcase(yyruleno==437); + case 445: /* tags_literal ::= NK_STRING NK_PLUS duration_literal */ yytestcase(yyruleno==445); + case 446: /* tags_literal ::= NK_STRING NK_MINUS duration_literal */ yytestcase(yyruleno==446); +#line 757 "sql.y" { SToken l = yymsp[-2].minor.yy0; - SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy718); + SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); l.n = (r.z + r.n) - l.z; - yylhsminor.yy718 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, NULL, yymsp[0].minor.yy718); + yylhsminor.yy896 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, NULL, yymsp[0].minor.yy896); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7224 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 413: /* tags_literal ::= NK_PLUS NK_INTEGER */ - case 416: /* tags_literal ::= NK_MINUS NK_INTEGER */ yytestcase(yyruleno==416); - case 425: /* tags_literal ::= NK_PLUS NK_BIN */ yytestcase(yyruleno==425); - case 428: /* tags_literal ::= NK_MINUS NK_BIN */ yytestcase(yyruleno==428); - case 434: /* tags_literal ::= NK_PLUS NK_HEX */ yytestcase(yyruleno==434); - case 437: /* tags_literal ::= NK_MINUS NK_HEX */ yytestcase(yyruleno==437); + case 417: /* tags_literal ::= NK_PLUS NK_INTEGER */ + case 420: /* tags_literal ::= NK_MINUS NK_INTEGER */ yytestcase(yyruleno==420); + case 429: /* tags_literal ::= NK_PLUS NK_BIN */ yytestcase(yyruleno==429); + case 432: /* tags_literal ::= NK_MINUS NK_BIN */ yytestcase(yyruleno==432); + case 438: /* tags_literal ::= NK_PLUS NK_HEX */ yytestcase(yyruleno==438); + case 441: /* tags_literal ::= NK_MINUS NK_HEX */ yytestcase(yyruleno==441); +#line 769 "sql.y" { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy718 = createRawValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &t, NULL); + yylhsminor.yy896 = createRawValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &t, NULL); } - yymsp[-1].minor.yy718 = yylhsminor.yy718; +#line 7239 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 414: /* tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal */ - case 415: /* tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==415); - case 417: /* tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal */ yytestcase(yyruleno==417); - case 418: /* tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==418); - case 426: /* tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal */ yytestcase(yyruleno==426); - case 427: /* tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal */ yytestcase(yyruleno==427); - case 429: /* tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal */ yytestcase(yyruleno==429); - case 430: /* tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal */ yytestcase(yyruleno==430); - case 435: /* tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal */ yytestcase(yyruleno==435); - case 436: /* tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal */ yytestcase(yyruleno==436); - case 438: /* tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal */ yytestcase(yyruleno==438); - case 439: /* tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal */ yytestcase(yyruleno==439); + case 418: /* tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal */ + case 419: /* tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==419); + case 421: /* tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal */ yytestcase(yyruleno==421); + case 422: /* tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==422); + case 430: /* tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal */ yytestcase(yyruleno==430); + case 431: /* tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal */ yytestcase(yyruleno==431); + case 433: /* tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal */ yytestcase(yyruleno==433); + case 434: /* tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal */ yytestcase(yyruleno==434); + case 439: /* tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal */ yytestcase(yyruleno==439); + case 440: /* tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal */ yytestcase(yyruleno==440); + case 442: /* tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal */ yytestcase(yyruleno==442); + case 443: /* tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal */ yytestcase(yyruleno==443); +#line 774 "sql.y" { SToken l = yymsp[-3].minor.yy0; - SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy718); + SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); l.n = (r.z + r.n) - l.z; - yylhsminor.yy718 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, NULL, yymsp[0].minor.yy718); + yylhsminor.yy896 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, NULL, yymsp[0].minor.yy896); } - yymsp[-3].minor.yy718 = yylhsminor.yy718; +#line 7261 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 419: /* tags_literal ::= NK_FLOAT */ -{ yylhsminor.yy718 = createRawValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0, NULL); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 423: /* tags_literal ::= NK_FLOAT */ +#line 803 "sql.y" +{ yylhsminor.yy896 = createRawValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0, NULL); } +#line 7267 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 420: /* tags_literal ::= NK_PLUS NK_FLOAT */ - case 421: /* tags_literal ::= NK_MINUS NK_FLOAT */ yytestcase(yyruleno==421); + case 424: /* tags_literal ::= NK_PLUS NK_FLOAT */ + case 425: /* tags_literal ::= NK_MINUS NK_FLOAT */ yytestcase(yyruleno==425); +#line 804 "sql.y" { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy718 = createRawValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t, NULL); + yylhsminor.yy896 = createRawValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t, NULL); } - yymsp[-1].minor.yy718 = yylhsminor.yy718; +#line 7278 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 440: /* tags_literal ::= NK_STRING */ -{ yylhsminor.yy718 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0, NULL); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 444: /* tags_literal ::= NK_STRING */ +#line 910 "sql.y" +{ yylhsminor.yy896 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0, NULL); } +#line 7284 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 443: /* tags_literal ::= NK_BOOL */ -{ yylhsminor.yy718 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0, NULL); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 447: /* tags_literal ::= NK_BOOL */ +#line 923 "sql.y" +{ yylhsminor.yy896 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0, NULL); } +#line 7290 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 444: /* tags_literal ::= NULL */ -{ yylhsminor.yy718 = createRawValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0, NULL); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 448: /* tags_literal ::= NULL */ +#line 924 "sql.y" +{ yylhsminor.yy896 = createRawValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0, NULL); } +#line 7296 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 445: /* tags_literal ::= literal_func */ -{ yylhsminor.yy718 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BINARY, NULL, yymsp[0].minor.yy718); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 449: /* tags_literal ::= literal_func */ +#line 926 "sql.y" +{ yylhsminor.yy896 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BINARY, NULL, yymsp[0].minor.yy896); } +#line 7302 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 446: /* tags_literal ::= literal_func NK_PLUS duration_literal */ - case 447: /* tags_literal ::= literal_func NK_MINUS duration_literal */ yytestcase(yyruleno==447); + case 450: /* tags_literal ::= literal_func NK_PLUS duration_literal */ + case 451: /* tags_literal ::= literal_func NK_MINUS duration_literal */ yytestcase(yyruleno==451); +#line 927 "sql.y" { - SToken l = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy718); - SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy718); + SToken l = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy896); + SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); l.n = (r.z + r.n) - l.z; - yylhsminor.yy718 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, yymsp[-2].minor.yy718, yymsp[0].minor.yy718); + yylhsminor.yy896 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, yymsp[-2].minor.yy896, yymsp[0].minor.yy896); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7314 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 450: /* literal ::= NK_INTEGER */ -{ yylhsminor.yy718 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 454: /* literal ::= NK_INTEGER */ +#line 946 "sql.y" +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0)); } +#line 7320 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 451: /* literal ::= NK_FLOAT */ -{ yylhsminor.yy718 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 455: /* literal ::= NK_FLOAT */ +#line 947 "sql.y" +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0)); } +#line 7326 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 452: /* literal ::= NK_STRING */ -{ yylhsminor.yy718 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 456: /* literal ::= NK_STRING */ +#line 948 "sql.y" +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } +#line 7332 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 453: /* literal ::= NK_BOOL */ -{ yylhsminor.yy718 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 457: /* literal ::= NK_BOOL */ +#line 949 "sql.y" +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0)); } +#line 7338 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 454: /* literal ::= TIMESTAMP NK_STRING */ -{ yylhsminor.yy718 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0)); } - yymsp[-1].minor.yy718 = yylhsminor.yy718; + case 458: /* literal ::= TIMESTAMP NK_STRING */ +#line 950 "sql.y" +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0)); } +#line 7344 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 455: /* literal ::= duration_literal */ - case 465: /* signed_literal ::= signed */ yytestcase(yyruleno==465); - case 488: /* expr_or_subquery ::= expression */ yytestcase(yyruleno==488); - case 489: /* expression ::= literal */ yytestcase(yyruleno==489); - case 491: /* expression ::= column_reference */ yytestcase(yyruleno==491); - case 492: /* expression ::= function_expression */ yytestcase(yyruleno==492); - case 493: /* expression ::= case_when_expression */ yytestcase(yyruleno==493); - case 526: /* function_expression ::= literal_func */ yytestcase(yyruleno==526); - case 576: /* boolean_value_expression ::= boolean_primary */ yytestcase(yyruleno==576); - case 580: /* boolean_primary ::= predicate */ yytestcase(yyruleno==580); - case 582: /* common_expression ::= expr_or_subquery */ yytestcase(yyruleno==582); - case 583: /* common_expression ::= boolean_value_expression */ yytestcase(yyruleno==583); - case 586: /* table_reference_list ::= table_reference */ yytestcase(yyruleno==586); - case 588: /* table_reference ::= table_primary */ yytestcase(yyruleno==588); - case 589: /* table_reference ::= joined_table */ yytestcase(yyruleno==589); - case 593: /* table_primary ::= parenthesized_joined_table */ yytestcase(yyruleno==593); - case 661: /* query_simple ::= query_specification */ yytestcase(yyruleno==661); - case 662: /* query_simple ::= union_query_expression */ yytestcase(yyruleno==662); - case 665: /* query_simple_or_subquery ::= query_simple */ yytestcase(yyruleno==665); - case 667: /* query_or_subquery ::= query_expression */ yytestcase(yyruleno==667); -{ yylhsminor.yy718 = yymsp[0].minor.yy718; } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 459: /* literal ::= duration_literal */ + case 469: /* signed_literal ::= signed */ yytestcase(yyruleno==469); + case 492: /* expr_or_subquery ::= expression */ yytestcase(yyruleno==492); + case 493: /* expression ::= literal */ yytestcase(yyruleno==493); + case 495: /* expression ::= column_reference */ yytestcase(yyruleno==495); + case 496: /* expression ::= function_expression */ yytestcase(yyruleno==496); + case 497: /* expression ::= case_when_expression */ yytestcase(yyruleno==497); + case 531: /* function_expression ::= literal_func */ yytestcase(yyruleno==531); + case 581: /* boolean_value_expression ::= boolean_primary */ yytestcase(yyruleno==581); + case 585: /* boolean_primary ::= predicate */ yytestcase(yyruleno==585); + case 587: /* common_expression ::= expr_or_subquery */ yytestcase(yyruleno==587); + case 588: /* common_expression ::= boolean_value_expression */ yytestcase(yyruleno==588); + case 591: /* table_reference_list ::= table_reference */ yytestcase(yyruleno==591); + case 593: /* table_reference ::= table_primary */ yytestcase(yyruleno==593); + case 594: /* table_reference ::= joined_table */ yytestcase(yyruleno==594); + case 598: /* table_primary ::= parenthesized_joined_table */ yytestcase(yyruleno==598); + case 666: /* query_simple ::= query_specification */ yytestcase(yyruleno==666); + case 667: /* query_simple ::= union_query_expression */ yytestcase(yyruleno==667); + case 670: /* query_simple_or_subquery ::= query_simple */ yytestcase(yyruleno==670); + case 672: /* query_or_subquery ::= query_expression */ yytestcase(yyruleno==672); +#line 951 "sql.y" +{ yylhsminor.yy896 = yymsp[0].minor.yy896; } +#line 7369 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 456: /* literal ::= NULL */ -{ yylhsminor.yy718 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 460: /* literal ::= NULL */ +#line 952 "sql.y" +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0)); } +#line 7375 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 457: /* literal ::= NK_QUESTION */ -{ yylhsminor.yy718 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 461: /* literal ::= NK_QUESTION */ +#line 953 "sql.y" +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0)); } +#line 7381 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 458: /* duration_literal ::= NK_VARIABLE */ - case 636: /* interval_sliding_duration_literal ::= NK_VARIABLE */ yytestcase(yyruleno==636); - case 637: /* interval_sliding_duration_literal ::= NK_STRING */ yytestcase(yyruleno==637); - case 638: /* interval_sliding_duration_literal ::= NK_INTEGER */ yytestcase(yyruleno==638); -{ yylhsminor.yy718 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 462: /* duration_literal ::= NK_VARIABLE */ + case 641: /* interval_sliding_duration_literal ::= NK_VARIABLE */ yytestcase(yyruleno==641); + case 642: /* interval_sliding_duration_literal ::= NK_STRING */ yytestcase(yyruleno==642); + case 643: /* interval_sliding_duration_literal ::= NK_INTEGER */ yytestcase(yyruleno==643); +#line 955 "sql.y" +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } +#line 7390 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 459: /* signed ::= NK_INTEGER */ -{ yylhsminor.yy718 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 463: /* signed ::= NK_INTEGER */ +#line 957 "sql.y" +{ yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } +#line 7396 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 460: /* signed ::= NK_PLUS NK_INTEGER */ -{ yymsp[-1].minor.yy718 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } + case 464: /* signed ::= NK_PLUS NK_INTEGER */ +#line 958 "sql.y" +{ yymsp[-1].minor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } +#line 7402 "sql.c" break; - case 461: /* signed ::= NK_MINUS NK_INTEGER */ + case 465: /* signed ::= NK_MINUS NK_INTEGER */ +#line 959 "sql.y" { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy718 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &t); + yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &t); } - yymsp[-1].minor.yy718 = yylhsminor.yy718; +#line 7411 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 462: /* signed ::= NK_FLOAT */ -{ yylhsminor.yy718 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 466: /* signed ::= NK_FLOAT */ +#line 964 "sql.y" +{ yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } +#line 7417 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 463: /* signed ::= NK_PLUS NK_FLOAT */ -{ yymsp[-1].minor.yy718 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } + case 467: /* signed ::= NK_PLUS NK_FLOAT */ +#line 965 "sql.y" +{ yymsp[-1].minor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } +#line 7423 "sql.c" break; - case 464: /* signed ::= NK_MINUS NK_FLOAT */ + case 468: /* signed ::= NK_MINUS NK_FLOAT */ +#line 966 "sql.y" { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy718 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t); + yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t); } - yymsp[-1].minor.yy718 = yylhsminor.yy718; +#line 7432 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 466: /* signed_literal ::= NK_STRING */ -{ yylhsminor.yy718 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 470: /* signed_literal ::= NK_STRING */ +#line 973 "sql.y" +{ yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } +#line 7438 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 467: /* signed_literal ::= NK_BOOL */ -{ yylhsminor.yy718 = createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 471: /* signed_literal ::= NK_BOOL */ +#line 974 "sql.y" +{ yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0); } +#line 7444 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 468: /* signed_literal ::= TIMESTAMP NK_STRING */ -{ yymsp[-1].minor.yy718 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } + case 472: /* signed_literal ::= TIMESTAMP NK_STRING */ +#line 975 "sql.y" +{ yymsp[-1].minor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } +#line 7450 "sql.c" break; - case 469: /* signed_literal ::= duration_literal */ - case 471: /* signed_literal ::= literal_func */ yytestcase(yyruleno==471); - case 547: /* star_func_para ::= expr_or_subquery */ yytestcase(yyruleno==547); - case 613: /* select_item ::= common_expression */ yytestcase(yyruleno==613); - case 623: /* partition_item ::= expr_or_subquery */ yytestcase(yyruleno==623); - case 666: /* query_simple_or_subquery ::= subquery */ yytestcase(yyruleno==666); - case 668: /* query_or_subquery ::= subquery */ yytestcase(yyruleno==668); - case 681: /* search_condition ::= common_expression */ yytestcase(yyruleno==681); -{ yylhsminor.yy718 = releaseRawExprNode(pCxt, yymsp[0].minor.yy718); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 473: /* signed_literal ::= duration_literal */ + case 475: /* signed_literal ::= literal_func */ yytestcase(yyruleno==475); + case 552: /* star_func_para ::= expr_or_subquery */ yytestcase(yyruleno==552); + case 618: /* select_item ::= common_expression */ yytestcase(yyruleno==618); + case 628: /* partition_item ::= expr_or_subquery */ yytestcase(yyruleno==628); + case 671: /* query_simple_or_subquery ::= subquery */ yytestcase(yyruleno==671); + case 673: /* query_or_subquery ::= subquery */ yytestcase(yyruleno==673); + case 686: /* search_condition ::= common_expression */ yytestcase(yyruleno==686); +#line 976 "sql.y" +{ yylhsminor.yy896 = releaseRawExprNode(pCxt, yymsp[0].minor.yy896); } +#line 7462 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 470: /* signed_literal ::= NULL */ -{ yylhsminor.yy718 = createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 474: /* signed_literal ::= NULL */ +#line 977 "sql.y" +{ yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0); } +#line 7468 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 472: /* signed_literal ::= NK_QUESTION */ -{ yylhsminor.yy718 = createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 476: /* signed_literal ::= NK_QUESTION */ +#line 979 "sql.y" +{ yylhsminor.yy896 = createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0); } +#line 7474 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 490: /* expression ::= pseudo_column */ -{ yylhsminor.yy718 = yymsp[0].minor.yy718; setRawExprNodeIsPseudoColumn(pCxt, yylhsminor.yy718, true); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 494: /* expression ::= pseudo_column */ +#line 1041 "sql.y" +{ yylhsminor.yy896 = yymsp[0].minor.yy896; setRawExprNodeIsPseudoColumn(pCxt, yylhsminor.yy896, true); } +#line 7480 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 494: /* expression ::= NK_LP expression NK_RP */ - case 581: /* boolean_primary ::= NK_LP boolean_value_expression NK_RP */ yytestcase(yyruleno==581); - case 680: /* subquery ::= NK_LP subquery NK_RP */ yytestcase(yyruleno==680); -{ yylhsminor.yy718 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, releaseRawExprNode(pCxt, yymsp[-1].minor.yy718)); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 498: /* expression ::= NK_LP expression NK_RP */ + case 586: /* boolean_primary ::= NK_LP boolean_value_expression NK_RP */ yytestcase(yyruleno==586); + case 685: /* subquery ::= NK_LP subquery NK_RP */ yytestcase(yyruleno==685); +#line 1045 "sql.y" +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, releaseRawExprNode(pCxt, yymsp[-1].minor.yy896)); } +#line 7488 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 495: /* expression ::= NK_PLUS expr_or_subquery */ + case 499: /* expression ::= NK_PLUS expr_or_subquery */ +#line 1046 "sql.y" { - SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy718); - yylhsminor.yy718 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, releaseRawExprNode(pCxt, yymsp[0].minor.yy718)); + SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, releaseRawExprNode(pCxt, yymsp[0].minor.yy896)); } - yymsp[-1].minor.yy718 = yylhsminor.yy718; +#line 7497 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 496: /* expression ::= NK_MINUS expr_or_subquery */ + case 500: /* expression ::= NK_MINUS expr_or_subquery */ +#line 1050 "sql.y" { - SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy718); - yylhsminor.yy718 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, createOperatorNode(pCxt, OP_TYPE_MINUS, releaseRawExprNode(pCxt, yymsp[0].minor.yy718), NULL)); + SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, createOperatorNode(pCxt, OP_TYPE_MINUS, releaseRawExprNode(pCxt, yymsp[0].minor.yy896), NULL)); } - yymsp[-1].minor.yy718 = yylhsminor.yy718; +#line 7506 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 497: /* expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ + case 501: /* expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ +#line 1054 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy718); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy718); - yylhsminor.yy718 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_ADD, releaseRawExprNode(pCxt, yymsp[-2].minor.yy718), releaseRawExprNode(pCxt, yymsp[0].minor.yy718))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy896); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_ADD, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7516 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 498: /* expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ + case 502: /* expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ +#line 1059 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy718); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy718); - yylhsminor.yy718 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_SUB, releaseRawExprNode(pCxt, yymsp[-2].minor.yy718), releaseRawExprNode(pCxt, yymsp[0].minor.yy718))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy896); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_SUB, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7526 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 499: /* expression ::= expr_or_subquery NK_STAR expr_or_subquery */ + case 503: /* expression ::= expr_or_subquery NK_STAR expr_or_subquery */ +#line 1064 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy718); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy718); - yylhsminor.yy718 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_MULTI, releaseRawExprNode(pCxt, yymsp[-2].minor.yy718), releaseRawExprNode(pCxt, yymsp[0].minor.yy718))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy896); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_MULTI, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7536 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 500: /* expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ + case 504: /* expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ +#line 1069 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy718); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy718); - yylhsminor.yy718 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_DIV, releaseRawExprNode(pCxt, yymsp[-2].minor.yy718), releaseRawExprNode(pCxt, yymsp[0].minor.yy718))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy896); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_DIV, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7546 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 501: /* expression ::= expr_or_subquery NK_REM expr_or_subquery */ + case 505: /* expression ::= expr_or_subquery NK_REM expr_or_subquery */ +#line 1074 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy718); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy718); - yylhsminor.yy718 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_REM, releaseRawExprNode(pCxt, yymsp[-2].minor.yy718), releaseRawExprNode(pCxt, yymsp[0].minor.yy718))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy896); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_REM, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7556 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 502: /* expression ::= column_reference NK_ARROW NK_STRING */ + case 506: /* expression ::= column_reference NK_ARROW NK_STRING */ +#line 1079 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy718); - yylhsminor.yy718 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_JSON_GET_VALUE, releaseRawExprNode(pCxt, yymsp[-2].minor.yy718), createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_JSON_GET_VALUE, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0))); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7565 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 503: /* expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ + case 507: /* expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ +#line 1083 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy718); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy718); - yylhsminor.yy718 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy718), releaseRawExprNode(pCxt, yymsp[0].minor.yy718))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy896); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7575 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 504: /* expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ + case 508: /* expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ +#line 1088 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy718); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy718); - yylhsminor.yy718 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy718), releaseRawExprNode(pCxt, yymsp[0].minor.yy718))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy896); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7585 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 507: /* column_reference ::= column_name */ -{ yylhsminor.yy718 = createRawExprNode(pCxt, &yymsp[0].minor.yy965, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy965)); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 511: /* column_reference ::= column_name */ +#line 1099 "sql.y" +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy701, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy701)); } +#line 7591 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 508: /* column_reference ::= table_name NK_DOT column_name */ -{ yylhsminor.yy718 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy965, &yymsp[0].minor.yy965, createColumnNode(pCxt, &yymsp[-2].minor.yy965, &yymsp[0].minor.yy965)); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 512: /* column_reference ::= table_name NK_DOT column_name */ +#line 1100 "sql.y" +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy701, createColumnNode(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy701)); } +#line 7597 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 509: /* column_reference ::= NK_ALIAS */ -{ yylhsminor.yy718 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 513: /* column_reference ::= NK_ALIAS */ +#line 1101 "sql.y" +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } +#line 7603 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 510: /* column_reference ::= table_name NK_DOT NK_ALIAS */ -{ yylhsminor.yy718 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy965, &yymsp[0].minor.yy0, createColumnNode(pCxt, &yymsp[-2].minor.yy965, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 514: /* column_reference ::= table_name NK_DOT NK_ALIAS */ +#line 1102 "sql.y" +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy0, createColumnNode(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy0)); } +#line 7609 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 511: /* pseudo_column ::= ROWTS */ - case 512: /* pseudo_column ::= TBNAME */ yytestcase(yyruleno==512); - case 514: /* pseudo_column ::= QSTART */ yytestcase(yyruleno==514); - case 515: /* pseudo_column ::= QEND */ yytestcase(yyruleno==515); - case 516: /* pseudo_column ::= QDURATION */ yytestcase(yyruleno==516); - case 517: /* pseudo_column ::= WSTART */ yytestcase(yyruleno==517); - case 518: /* pseudo_column ::= WEND */ yytestcase(yyruleno==518); - case 519: /* pseudo_column ::= WDURATION */ yytestcase(yyruleno==519); - case 520: /* pseudo_column ::= IROWTS */ yytestcase(yyruleno==520); - case 521: /* pseudo_column ::= ISFILLED */ yytestcase(yyruleno==521); - case 522: /* pseudo_column ::= QTAGS */ yytestcase(yyruleno==522); - case 528: /* literal_func ::= NOW */ yytestcase(yyruleno==528); - case 529: /* literal_func ::= TODAY */ yytestcase(yyruleno==529); -{ yylhsminor.yy718 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL)); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 515: /* pseudo_column ::= ROWTS */ + case 516: /* pseudo_column ::= TBNAME */ yytestcase(yyruleno==516); + case 518: /* pseudo_column ::= QSTART */ yytestcase(yyruleno==518); + case 519: /* pseudo_column ::= QEND */ yytestcase(yyruleno==519); + case 520: /* pseudo_column ::= QDURATION */ yytestcase(yyruleno==520); + case 521: /* pseudo_column ::= WSTART */ yytestcase(yyruleno==521); + case 522: /* pseudo_column ::= WEND */ yytestcase(yyruleno==522); + case 523: /* pseudo_column ::= WDURATION */ yytestcase(yyruleno==523); + case 524: /* pseudo_column ::= IROWTS */ yytestcase(yyruleno==524); + case 525: /* pseudo_column ::= ISFILLED */ yytestcase(yyruleno==525); + case 526: /* pseudo_column ::= QTAGS */ yytestcase(yyruleno==526); + case 533: /* literal_func ::= NOW */ yytestcase(yyruleno==533); + case 534: /* literal_func ::= TODAY */ yytestcase(yyruleno==534); +#line 1104 "sql.y" +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL)); } +#line 7627 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 513: /* pseudo_column ::= table_name NK_DOT TBNAME */ -{ yylhsminor.yy718 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy965, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[-2].minor.yy965)))); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 517: /* pseudo_column ::= table_name NK_DOT TBNAME */ +#line 1106 "sql.y" +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[-2].minor.yy701)))); } +#line 7633 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 523: /* function_expression ::= function_name NK_LP expression_list NK_RP */ - case 524: /* function_expression ::= star_func NK_LP star_func_para_list NK_RP */ yytestcase(yyruleno==524); -{ yylhsminor.yy718 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy965, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-3].minor.yy965, yymsp[-1].minor.yy552)); } - yymsp[-3].minor.yy718 = yylhsminor.yy718; + case 527: /* function_expression ::= function_name NK_LP expression_list NK_RP */ + case 528: /* function_expression ::= star_func NK_LP star_func_para_list NK_RP */ yytestcase(yyruleno==528); +#line 1117 "sql.y" +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy701, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-3].minor.yy701, yymsp[-1].minor.yy404)); } +#line 7640 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 525: /* function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ -{ yylhsminor.yy718 = createRawExprNodeExt(pCxt, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0, createCastFunctionNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy718), yymsp[-1].minor.yy224)); } - yymsp[-5].minor.yy718 = yylhsminor.yy718; + case 529: /* function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ + case 530: /* function_expression ::= CAST NK_LP expr_or_subquery AS type_name_default_len NK_RP */ yytestcase(yyruleno==530); +#line 1120 "sql.y" +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0, createCastFunctionNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy896), yymsp[-1].minor.yy504)); } +#line 7647 "sql.c" + yymsp[-5].minor.yy896 = yylhsminor.yy896; break; - case 527: /* literal_func ::= noarg_func NK_LP NK_RP */ -{ yylhsminor.yy718 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy965, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-2].minor.yy965, NULL)); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 532: /* literal_func ::= noarg_func NK_LP NK_RP */ +#line 1126 "sql.y" +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-2].minor.yy701, NULL)); } +#line 7653 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 543: /* star_func_para_list ::= NK_STAR */ -{ yylhsminor.yy552 = createNodeList(pCxt, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy552 = yylhsminor.yy552; + case 548: /* star_func_para_list ::= NK_STAR */ +#line 1151 "sql.y" +{ yylhsminor.yy404 = createNodeList(pCxt, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } +#line 7659 "sql.c" + yymsp[0].minor.yy404 = yylhsminor.yy404; break; - case 548: /* star_func_para ::= table_name NK_DOT NK_STAR */ - case 616: /* select_item ::= table_name NK_DOT NK_STAR */ yytestcase(yyruleno==616); -{ yylhsminor.yy718 = createColumnNode(pCxt, &yymsp[-2].minor.yy965, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 553: /* star_func_para ::= table_name NK_DOT NK_STAR */ + case 621: /* select_item ::= table_name NK_DOT NK_STAR */ yytestcase(yyruleno==621); +#line 1160 "sql.y" +{ yylhsminor.yy896 = createColumnNode(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy0); } +#line 7666 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 549: /* case_when_expression ::= CASE when_then_list case_when_else_opt END */ -{ yylhsminor.yy718 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, NULL, yymsp[-2].minor.yy552, yymsp[-1].minor.yy718)); } - yymsp[-3].minor.yy718 = yylhsminor.yy718; + case 554: /* case_when_expression ::= CASE when_then_list case_when_else_opt END */ +#line 1163 "sql.y" +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, NULL, yymsp[-2].minor.yy404, yymsp[-1].minor.yy896)); } +#line 7672 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 550: /* case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ -{ yylhsminor.yy718 = createRawExprNodeExt(pCxt, &yymsp[-4].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy718), yymsp[-2].minor.yy552, yymsp[-1].minor.yy718)); } - yymsp[-4].minor.yy718 = yylhsminor.yy718; + case 555: /* case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ +#line 1165 "sql.y" +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-4].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy896), yymsp[-2].minor.yy404, yymsp[-1].minor.yy896)); } +#line 7678 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; - case 553: /* when_then_expr ::= WHEN common_expression THEN common_expression */ -{ yymsp[-3].minor.yy718 = createWhenThenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy718), releaseRawExprNode(pCxt, yymsp[0].minor.yy718)); } + case 558: /* when_then_expr ::= WHEN common_expression THEN common_expression */ +#line 1172 "sql.y" +{ yymsp[-3].minor.yy896 = createWhenThenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896)); } +#line 7684 "sql.c" break; - case 555: /* case_when_else_opt ::= ELSE common_expression */ -{ yymsp[-1].minor.yy718 = releaseRawExprNode(pCxt, yymsp[0].minor.yy718); } + case 560: /* case_when_else_opt ::= ELSE common_expression */ +#line 1175 "sql.y" +{ yymsp[-1].minor.yy896 = releaseRawExprNode(pCxt, yymsp[0].minor.yy896); } +#line 7689 "sql.c" break; - case 556: /* predicate ::= expr_or_subquery compare_op expr_or_subquery */ - case 561: /* predicate ::= expr_or_subquery in_op in_predicate_value */ yytestcase(yyruleno==561); + case 561: /* predicate ::= expr_or_subquery compare_op expr_or_subquery */ + case 566: /* predicate ::= expr_or_subquery in_op in_predicate_value */ yytestcase(yyruleno==566); +#line 1178 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy718); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy718); - yylhsminor.yy718 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, yymsp[-1].minor.yy810, releaseRawExprNode(pCxt, yymsp[-2].minor.yy718), releaseRawExprNode(pCxt, yymsp[0].minor.yy718))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy896); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, yymsp[-1].minor.yy884, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7699 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 557: /* predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ + case 562: /* predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ +#line 1185 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-4].minor.yy718); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy718); - yylhsminor.yy718 = createRawExprNodeExt(pCxt, &s, &e, createBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-4].minor.yy718), releaseRawExprNode(pCxt, yymsp[-2].minor.yy718), releaseRawExprNode(pCxt, yymsp[0].minor.yy718))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-4].minor.yy896); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &e, createBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-4].minor.yy896), releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } - yymsp[-4].minor.yy718 = yylhsminor.yy718; +#line 7709 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; - case 558: /* predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ + case 563: /* predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ +#line 1191 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-5].minor.yy718); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy718); - yylhsminor.yy718 = createRawExprNodeExt(pCxt, &s, &e, createNotBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy718), releaseRawExprNode(pCxt, yymsp[-2].minor.yy718), releaseRawExprNode(pCxt, yymsp[0].minor.yy718))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-5].minor.yy896); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &e, createNotBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy896), releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } - yymsp[-5].minor.yy718 = yylhsminor.yy718; +#line 7719 "sql.c" + yymsp[-5].minor.yy896 = yylhsminor.yy896; break; - case 559: /* predicate ::= expr_or_subquery IS NULL */ + case 564: /* predicate ::= expr_or_subquery IS NULL */ +#line 1196 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy718); - yylhsminor.yy718 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NULL, releaseRawExprNode(pCxt, yymsp[-2].minor.yy718), NULL)); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NULL, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), NULL)); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7728 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 560: /* predicate ::= expr_or_subquery IS NOT NULL */ + case 565: /* predicate ::= expr_or_subquery IS NOT NULL */ +#line 1200 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-3].minor.yy718); - yylhsminor.yy718 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NOT_NULL, releaseRawExprNode(pCxt, yymsp[-3].minor.yy718), NULL)); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-3].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NOT_NULL, releaseRawExprNode(pCxt, yymsp[-3].minor.yy896), NULL)); } - yymsp[-3].minor.yy718 = yylhsminor.yy718; +#line 7737 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 562: /* compare_op ::= NK_LT */ -{ yymsp[0].minor.yy810 = OP_TYPE_LOWER_THAN; } + case 567: /* compare_op ::= NK_LT */ +#line 1212 "sql.y" +{ yymsp[0].minor.yy884 = OP_TYPE_LOWER_THAN; } +#line 7743 "sql.c" break; - case 563: /* compare_op ::= NK_GT */ -{ yymsp[0].minor.yy810 = OP_TYPE_GREATER_THAN; } + case 568: /* compare_op ::= NK_GT */ +#line 1213 "sql.y" +{ yymsp[0].minor.yy884 = OP_TYPE_GREATER_THAN; } +#line 7748 "sql.c" break; - case 564: /* compare_op ::= NK_LE */ -{ yymsp[0].minor.yy810 = OP_TYPE_LOWER_EQUAL; } + case 569: /* compare_op ::= NK_LE */ +#line 1214 "sql.y" +{ yymsp[0].minor.yy884 = OP_TYPE_LOWER_EQUAL; } +#line 7753 "sql.c" break; - case 565: /* compare_op ::= NK_GE */ -{ yymsp[0].minor.yy810 = OP_TYPE_GREATER_EQUAL; } + case 570: /* compare_op ::= NK_GE */ +#line 1215 "sql.y" +{ yymsp[0].minor.yy884 = OP_TYPE_GREATER_EQUAL; } +#line 7758 "sql.c" break; - case 566: /* compare_op ::= NK_NE */ -{ yymsp[0].minor.yy810 = OP_TYPE_NOT_EQUAL; } + case 571: /* compare_op ::= NK_NE */ +#line 1216 "sql.y" +{ yymsp[0].minor.yy884 = OP_TYPE_NOT_EQUAL; } +#line 7763 "sql.c" break; - case 567: /* compare_op ::= NK_EQ */ -{ yymsp[0].minor.yy810 = OP_TYPE_EQUAL; } + case 572: /* compare_op ::= NK_EQ */ +#line 1217 "sql.y" +{ yymsp[0].minor.yy884 = OP_TYPE_EQUAL; } +#line 7768 "sql.c" break; - case 568: /* compare_op ::= LIKE */ -{ yymsp[0].minor.yy810 = OP_TYPE_LIKE; } + case 573: /* compare_op ::= LIKE */ +#line 1218 "sql.y" +{ yymsp[0].minor.yy884 = OP_TYPE_LIKE; } +#line 7773 "sql.c" break; - case 569: /* compare_op ::= NOT LIKE */ -{ yymsp[-1].minor.yy810 = OP_TYPE_NOT_LIKE; } + case 574: /* compare_op ::= NOT LIKE */ +#line 1219 "sql.y" +{ yymsp[-1].minor.yy884 = OP_TYPE_NOT_LIKE; } +#line 7778 "sql.c" break; - case 570: /* compare_op ::= MATCH */ -{ yymsp[0].minor.yy810 = OP_TYPE_MATCH; } + case 575: /* compare_op ::= MATCH */ +#line 1220 "sql.y" +{ yymsp[0].minor.yy884 = OP_TYPE_MATCH; } +#line 7783 "sql.c" break; - case 571: /* compare_op ::= NMATCH */ -{ yymsp[0].minor.yy810 = OP_TYPE_NMATCH; } + case 576: /* compare_op ::= NMATCH */ +#line 1221 "sql.y" +{ yymsp[0].minor.yy884 = OP_TYPE_NMATCH; } +#line 7788 "sql.c" break; - case 572: /* compare_op ::= CONTAINS */ -{ yymsp[0].minor.yy810 = OP_TYPE_JSON_CONTAINS; } + case 577: /* compare_op ::= CONTAINS */ +#line 1222 "sql.y" +{ yymsp[0].minor.yy884 = OP_TYPE_JSON_CONTAINS; } +#line 7793 "sql.c" break; - case 573: /* in_op ::= IN */ -{ yymsp[0].minor.yy810 = OP_TYPE_IN; } + case 578: /* in_op ::= IN */ +#line 1226 "sql.y" +{ yymsp[0].minor.yy884 = OP_TYPE_IN; } +#line 7798 "sql.c" break; - case 574: /* in_op ::= NOT IN */ -{ yymsp[-1].minor.yy810 = OP_TYPE_NOT_IN; } + case 579: /* in_op ::= NOT IN */ +#line 1227 "sql.y" +{ yymsp[-1].minor.yy884 = OP_TYPE_NOT_IN; } +#line 7803 "sql.c" break; - case 575: /* in_predicate_value ::= NK_LP literal_list NK_RP */ -{ yylhsminor.yy718 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, createNodeListNode(pCxt, yymsp[-1].minor.yy552)); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 580: /* in_predicate_value ::= NK_LP literal_list NK_RP */ +#line 1229 "sql.y" +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, createNodeListNode(pCxt, yymsp[-1].minor.yy404)); } +#line 7808 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 577: /* boolean_value_expression ::= NOT boolean_primary */ + case 582: /* boolean_value_expression ::= NOT boolean_primary */ +#line 1233 "sql.y" { - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy718); - yylhsminor.yy718 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_NOT, releaseRawExprNode(pCxt, yymsp[0].minor.yy718), NULL)); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_NOT, releaseRawExprNode(pCxt, yymsp[0].minor.yy896), NULL)); } - yymsp[-1].minor.yy718 = yylhsminor.yy718; +#line 7817 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 578: /* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ + case 583: /* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ +#line 1238 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy718); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy718); - yylhsminor.yy718 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy718), releaseRawExprNode(pCxt, yymsp[0].minor.yy718))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy896); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7827 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 579: /* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ + case 584: /* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ +#line 1244 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy718); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy718); - yylhsminor.yy718 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy718), releaseRawExprNode(pCxt, yymsp[0].minor.yy718))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy896); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7837 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 587: /* table_reference_list ::= table_reference_list NK_COMMA table_reference */ -{ yylhsminor.yy718 = createJoinTableNode(pCxt, JOIN_TYPE_INNER, yymsp[-2].minor.yy718, yymsp[0].minor.yy718, NULL); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 592: /* table_reference_list ::= table_reference_list NK_COMMA table_reference */ +#line 1262 "sql.y" +{ yylhsminor.yy896 = createJoinTableNode(pCxt, JOIN_TYPE_INNER, yymsp[-2].minor.yy896, yymsp[0].minor.yy896, NULL); } +#line 7843 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 590: /* table_primary ::= table_name alias_opt */ -{ yylhsminor.yy718 = createRealTableNode(pCxt, NULL, &yymsp[-1].minor.yy965, &yymsp[0].minor.yy965); } - yymsp[-1].minor.yy718 = yylhsminor.yy718; + case 595: /* table_primary ::= table_name alias_opt */ +#line 1268 "sql.y" +{ yylhsminor.yy896 = createRealTableNode(pCxt, NULL, &yymsp[-1].minor.yy701, &yymsp[0].minor.yy701); } +#line 7849 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 591: /* table_primary ::= db_name NK_DOT table_name alias_opt */ -{ yylhsminor.yy718 = createRealTableNode(pCxt, &yymsp[-3].minor.yy965, &yymsp[-1].minor.yy965, &yymsp[0].minor.yy965); } - yymsp[-3].minor.yy718 = yylhsminor.yy718; + case 596: /* table_primary ::= db_name NK_DOT table_name alias_opt */ +#line 1269 "sql.y" +{ yylhsminor.yy896 = createRealTableNode(pCxt, &yymsp[-3].minor.yy701, &yymsp[-1].minor.yy701, &yymsp[0].minor.yy701); } +#line 7855 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 592: /* table_primary ::= subquery alias_opt */ -{ yylhsminor.yy718 = createTempTableNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy718), &yymsp[0].minor.yy965); } - yymsp[-1].minor.yy718 = yylhsminor.yy718; + case 597: /* table_primary ::= subquery alias_opt */ +#line 1270 "sql.y" +{ yylhsminor.yy896 = createTempTableNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy896), &yymsp[0].minor.yy701); } +#line 7861 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 594: /* alias_opt ::= */ -{ yymsp[1].minor.yy965 = nil_token; } + case 599: /* alias_opt ::= */ +#line 1275 "sql.y" +{ yymsp[1].minor.yy701 = nil_token; } +#line 7867 "sql.c" break; - case 596: /* alias_opt ::= AS table_alias */ -{ yymsp[-1].minor.yy965 = yymsp[0].minor.yy965; } + case 601: /* alias_opt ::= AS table_alias */ +#line 1277 "sql.y" +{ yymsp[-1].minor.yy701 = yymsp[0].minor.yy701; } +#line 7872 "sql.c" break; - case 597: /* parenthesized_joined_table ::= NK_LP joined_table NK_RP */ - case 598: /* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ yytestcase(yyruleno==598); -{ yymsp[-2].minor.yy718 = yymsp[-1].minor.yy718; } + case 602: /* parenthesized_joined_table ::= NK_LP joined_table NK_RP */ + case 603: /* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ yytestcase(yyruleno==603); +#line 1279 "sql.y" +{ yymsp[-2].minor.yy896 = yymsp[-1].minor.yy896; } +#line 7878 "sql.c" break; - case 599: /* joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ -{ yylhsminor.yy718 = createJoinTableNode(pCxt, yymsp[-4].minor.yy992, yymsp[-5].minor.yy718, yymsp[-2].minor.yy718, yymsp[0].minor.yy718); } - yymsp[-5].minor.yy718 = yylhsminor.yy718; + case 604: /* joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ +#line 1284 "sql.y" +{ yylhsminor.yy896 = createJoinTableNode(pCxt, yymsp[-4].minor.yy680, yymsp[-5].minor.yy896, yymsp[-2].minor.yy896, yymsp[0].minor.yy896); } +#line 7883 "sql.c" + yymsp[-5].minor.yy896 = yylhsminor.yy896; break; - case 600: /* join_type ::= */ -{ yymsp[1].minor.yy992 = JOIN_TYPE_INNER; } + case 605: /* join_type ::= */ +#line 1288 "sql.y" +{ yymsp[1].minor.yy680 = JOIN_TYPE_INNER; } +#line 7889 "sql.c" break; - case 601: /* join_type ::= INNER */ -{ yymsp[0].minor.yy992 = JOIN_TYPE_INNER; } + case 606: /* join_type ::= INNER */ +#line 1289 "sql.y" +{ yymsp[0].minor.yy680 = JOIN_TYPE_INNER; } +#line 7894 "sql.c" break; - case 602: /* 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 607: /* 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 */ +#line 1295 "sql.y" { - yymsp[-13].minor.yy718 = createSelectStmt(pCxt, yymsp[-11].minor.yy559, yymsp[-9].minor.yy552, yymsp[-8].minor.yy718, yymsp[-12].minor.yy552); - yymsp[-13].minor.yy718 = setSelectStmtTagMode(pCxt, yymsp[-13].minor.yy718, yymsp[-10].minor.yy559); - yymsp[-13].minor.yy718 = addWhereClause(pCxt, yymsp[-13].minor.yy718, yymsp[-7].minor.yy718); - yymsp[-13].minor.yy718 = addPartitionByClause(pCxt, yymsp[-13].minor.yy718, yymsp[-6].minor.yy552); - yymsp[-13].minor.yy718 = addWindowClauseClause(pCxt, yymsp[-13].minor.yy718, yymsp[-2].minor.yy718); - yymsp[-13].minor.yy718 = addGroupByClause(pCxt, yymsp[-13].minor.yy718, yymsp[-1].minor.yy552); - yymsp[-13].minor.yy718 = addHavingClause(pCxt, yymsp[-13].minor.yy718, yymsp[0].minor.yy718); - yymsp[-13].minor.yy718 = addRangeClause(pCxt, yymsp[-13].minor.yy718, yymsp[-5].minor.yy718); - yymsp[-13].minor.yy718 = addEveryClause(pCxt, yymsp[-13].minor.yy718, yymsp[-4].minor.yy718); - yymsp[-13].minor.yy718 = addFillClause(pCxt, yymsp[-13].minor.yy718, yymsp[-3].minor.yy718); + yymsp[-13].minor.yy896 = createSelectStmt(pCxt, yymsp[-11].minor.yy733, yymsp[-9].minor.yy404, yymsp[-8].minor.yy896, yymsp[-12].minor.yy404); + yymsp[-13].minor.yy896 = setSelectStmtTagMode(pCxt, yymsp[-13].minor.yy896, yymsp[-10].minor.yy733); + yymsp[-13].minor.yy896 = addWhereClause(pCxt, yymsp[-13].minor.yy896, yymsp[-7].minor.yy896); + yymsp[-13].minor.yy896 = addPartitionByClause(pCxt, yymsp[-13].minor.yy896, yymsp[-6].minor.yy404); + yymsp[-13].minor.yy896 = addWindowClauseClause(pCxt, yymsp[-13].minor.yy896, yymsp[-2].minor.yy896); + yymsp[-13].minor.yy896 = addGroupByClause(pCxt, yymsp[-13].minor.yy896, yymsp[-1].minor.yy404); + yymsp[-13].minor.yy896 = addHavingClause(pCxt, yymsp[-13].minor.yy896, yymsp[0].minor.yy896); + yymsp[-13].minor.yy896 = addRangeClause(pCxt, yymsp[-13].minor.yy896, yymsp[-5].minor.yy896); + yymsp[-13].minor.yy896 = addEveryClause(pCxt, yymsp[-13].minor.yy896, yymsp[-4].minor.yy896); + yymsp[-13].minor.yy896 = addFillClause(pCxt, yymsp[-13].minor.yy896, yymsp[-3].minor.yy896); } +#line 7910 "sql.c" break; - case 603: /* hint_list ::= */ -{ yymsp[1].minor.yy552 = createHintNodeList(pCxt, NULL); } + case 608: /* hint_list ::= */ +#line 1310 "sql.y" +{ yymsp[1].minor.yy404 = createHintNodeList(pCxt, NULL); } +#line 7915 "sql.c" break; - case 604: /* hint_list ::= NK_HINT */ -{ yylhsminor.yy552 = createHintNodeList(pCxt, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy552 = yylhsminor.yy552; + case 609: /* hint_list ::= NK_HINT */ +#line 1311 "sql.y" +{ yylhsminor.yy404 = createHintNodeList(pCxt, &yymsp[0].minor.yy0); } +#line 7920 "sql.c" + yymsp[0].minor.yy404 = yylhsminor.yy404; break; - case 609: /* set_quantifier_opt ::= ALL */ -{ yymsp[0].minor.yy559 = false; } + case 614: /* set_quantifier_opt ::= ALL */ +#line 1322 "sql.y" +{ yymsp[0].minor.yy733 = false; } +#line 7926 "sql.c" break; - case 612: /* select_item ::= NK_STAR */ -{ yylhsminor.yy718 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 617: /* select_item ::= NK_STAR */ +#line 1329 "sql.y" +{ yylhsminor.yy896 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0); } +#line 7931 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 614: /* select_item ::= common_expression column_alias */ - case 624: /* partition_item ::= expr_or_subquery column_alias */ yytestcase(yyruleno==624); -{ yylhsminor.yy718 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy718), &yymsp[0].minor.yy965); } - yymsp[-1].minor.yy718 = yylhsminor.yy718; + case 619: /* select_item ::= common_expression column_alias */ + case 629: /* partition_item ::= expr_or_subquery column_alias */ yytestcase(yyruleno==629); +#line 1331 "sql.y" +{ yylhsminor.yy896 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy896), &yymsp[0].minor.yy701); } +#line 7938 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 615: /* select_item ::= common_expression AS column_alias */ - case 625: /* partition_item ::= expr_or_subquery AS column_alias */ yytestcase(yyruleno==625); -{ yylhsminor.yy718 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy718), &yymsp[0].minor.yy965); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 620: /* select_item ::= common_expression AS column_alias */ + case 630: /* partition_item ::= expr_or_subquery AS column_alias */ yytestcase(yyruleno==630); +#line 1332 "sql.y" +{ yylhsminor.yy896 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), &yymsp[0].minor.yy701); } +#line 7945 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 620: /* partition_by_clause_opt ::= PARTITION BY partition_list */ - case 650: /* group_by_clause_opt ::= GROUP BY group_by_list */ yytestcase(yyruleno==650); - case 670: /* order_by_clause_opt ::= ORDER BY sort_specification_list */ yytestcase(yyruleno==670); -{ yymsp[-2].minor.yy552 = yymsp[0].minor.yy552; } + case 625: /* partition_by_clause_opt ::= PARTITION BY partition_list */ + case 655: /* group_by_clause_opt ::= GROUP BY group_by_list */ yytestcase(yyruleno==655); + case 675: /* order_by_clause_opt ::= ORDER BY sort_specification_list */ yytestcase(yyruleno==675); +#line 1341 "sql.y" +{ yymsp[-2].minor.yy404 = yymsp[0].minor.yy404; } +#line 7953 "sql.c" break; - case 627: /* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ -{ yymsp[-5].minor.yy718 = createSessionWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy718), releaseRawExprNode(pCxt, yymsp[-1].minor.yy718)); } + case 632: /* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ +#line 1354 "sql.y" +{ yymsp[-5].minor.yy896 = createSessionWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy896), releaseRawExprNode(pCxt, yymsp[-1].minor.yy896)); } +#line 7958 "sql.c" break; - case 628: /* twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ -{ yymsp[-3].minor.yy718 = createStateWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy718)); } + case 633: /* twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ +#line 1355 "sql.y" +{ yymsp[-3].minor.yy896 = createStateWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy896)); } +#line 7963 "sql.c" break; - case 629: /* twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ -{ yymsp[-5].minor.yy718 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy718), NULL, yymsp[-1].minor.yy718, yymsp[0].minor.yy718); } + case 634: /* twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ +#line 1357 "sql.y" +{ yymsp[-5].minor.yy896 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy896), NULL, yymsp[-1].minor.yy896, yymsp[0].minor.yy896); } +#line 7968 "sql.c" break; - case 630: /* 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.yy718 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy718), releaseRawExprNode(pCxt, yymsp[-3].minor.yy718), yymsp[-1].minor.yy718, yymsp[0].minor.yy718); } + case 635: /* twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ +#line 1361 "sql.y" +{ yymsp[-7].minor.yy896 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy896), releaseRawExprNode(pCxt, yymsp[-3].minor.yy896), yymsp[-1].minor.yy896, yymsp[0].minor.yy896); } +#line 7973 "sql.c" break; - case 631: /* twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ -{ yymsp[-6].minor.yy718 = createEventWindowNode(pCxt, yymsp[-3].minor.yy718, yymsp[0].minor.yy718); } + case 636: /* twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ +#line 1363 "sql.y" +{ yymsp[-6].minor.yy896 = createEventWindowNode(pCxt, yymsp[-3].minor.yy896, yymsp[0].minor.yy896); } +#line 7978 "sql.c" break; - case 632: /* twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy718 = createCountWindowNode(pCxt, &yymsp[-1].minor.yy0, &yymsp[-1].minor.yy0); } + case 637: /* twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ +#line 1365 "sql.y" +{ yymsp[-3].minor.yy896 = createCountWindowNode(pCxt, &yymsp[-1].minor.yy0, &yymsp[-1].minor.yy0); } +#line 7983 "sql.c" break; - case 633: /* twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ -{ yymsp[-5].minor.yy718 = createCountWindowNode(pCxt, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy0); } + case 638: /* twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ +#line 1367 "sql.y" +{ yymsp[-5].minor.yy896 = createCountWindowNode(pCxt, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy0); } +#line 7988 "sql.c" break; - case 640: /* fill_opt ::= FILL NK_LP fill_mode NK_RP */ -{ yymsp[-3].minor.yy718 = createFillNode(pCxt, yymsp[-1].minor.yy206, NULL); } + case 645: /* fill_opt ::= FILL NK_LP fill_mode NK_RP */ +#line 1377 "sql.y" +{ yymsp[-3].minor.yy896 = createFillNode(pCxt, yymsp[-1].minor.yy466, NULL); } +#line 7993 "sql.c" break; - case 641: /* fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ -{ yymsp[-5].minor.yy718 = createFillNode(pCxt, FILL_MODE_VALUE, createNodeListNode(pCxt, yymsp[-1].minor.yy552)); } + case 646: /* fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ +#line 1378 "sql.y" +{ yymsp[-5].minor.yy896 = createFillNode(pCxt, FILL_MODE_VALUE, createNodeListNode(pCxt, yymsp[-1].minor.yy404)); } +#line 7998 "sql.c" break; - case 642: /* fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ -{ yymsp[-5].minor.yy718 = createFillNode(pCxt, FILL_MODE_VALUE_F, createNodeListNode(pCxt, yymsp[-1].minor.yy552)); } + case 647: /* fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ +#line 1379 "sql.y" +{ yymsp[-5].minor.yy896 = createFillNode(pCxt, FILL_MODE_VALUE_F, createNodeListNode(pCxt, yymsp[-1].minor.yy404)); } +#line 8003 "sql.c" break; - case 643: /* fill_mode ::= NONE */ -{ yymsp[0].minor.yy206 = FILL_MODE_NONE; } + case 648: /* fill_mode ::= NONE */ +#line 1383 "sql.y" +{ yymsp[0].minor.yy466 = FILL_MODE_NONE; } +#line 8008 "sql.c" break; - case 644: /* fill_mode ::= PREV */ -{ yymsp[0].minor.yy206 = FILL_MODE_PREV; } + case 649: /* fill_mode ::= PREV */ +#line 1384 "sql.y" +{ yymsp[0].minor.yy466 = FILL_MODE_PREV; } +#line 8013 "sql.c" break; - case 645: /* fill_mode ::= NULL */ -{ yymsp[0].minor.yy206 = FILL_MODE_NULL; } + case 650: /* fill_mode ::= NULL */ +#line 1385 "sql.y" +{ yymsp[0].minor.yy466 = FILL_MODE_NULL; } +#line 8018 "sql.c" break; - case 646: /* fill_mode ::= NULL_F */ -{ yymsp[0].minor.yy206 = FILL_MODE_NULL_F; } + case 651: /* fill_mode ::= NULL_F */ +#line 1386 "sql.y" +{ yymsp[0].minor.yy466 = FILL_MODE_NULL_F; } +#line 8023 "sql.c" break; - case 647: /* fill_mode ::= LINEAR */ -{ yymsp[0].minor.yy206 = FILL_MODE_LINEAR; } + case 652: /* fill_mode ::= LINEAR */ +#line 1387 "sql.y" +{ yymsp[0].minor.yy466 = FILL_MODE_LINEAR; } +#line 8028 "sql.c" break; - case 648: /* fill_mode ::= NEXT */ -{ yymsp[0].minor.yy206 = FILL_MODE_NEXT; } + case 653: /* fill_mode ::= NEXT */ +#line 1388 "sql.y" +{ yymsp[0].minor.yy466 = FILL_MODE_NEXT; } +#line 8033 "sql.c" break; - case 651: /* group_by_list ::= expr_or_subquery */ -{ yylhsminor.yy552 = createNodeList(pCxt, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy718))); } - yymsp[0].minor.yy552 = yylhsminor.yy552; + case 656: /* group_by_list ::= expr_or_subquery */ +#line 1397 "sql.y" +{ yylhsminor.yy404 = createNodeList(pCxt, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } +#line 8038 "sql.c" + yymsp[0].minor.yy404 = yylhsminor.yy404; break; - case 652: /* group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ -{ yylhsminor.yy552 = addNodeToList(pCxt, yymsp[-2].minor.yy552, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy718))); } - yymsp[-2].minor.yy552 = yylhsminor.yy552; + case 657: /* group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ +#line 1398 "sql.y" +{ yylhsminor.yy404 = addNodeToList(pCxt, yymsp[-2].minor.yy404, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } +#line 8044 "sql.c" + yymsp[-2].minor.yy404 = yylhsminor.yy404; break; - case 656: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ -{ yymsp[-5].minor.yy718 = createInterpTimeRange(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy718), releaseRawExprNode(pCxt, yymsp[-1].minor.yy718)); } + case 661: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ +#line 1405 "sql.y" +{ yymsp[-5].minor.yy896 = createInterpTimeRange(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy896), releaseRawExprNode(pCxt, yymsp[-1].minor.yy896)); } +#line 8050 "sql.c" break; - case 657: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ -{ yymsp[-3].minor.yy718 = createInterpTimePoint(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy718)); } + case 662: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ +#line 1407 "sql.y" +{ yymsp[-3].minor.yy896 = createInterpTimePoint(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy896)); } +#line 8055 "sql.c" break; - case 660: /* query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + case 665: /* query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ +#line 1414 "sql.y" { - yylhsminor.yy718 = addOrderByClause(pCxt, yymsp[-3].minor.yy718, yymsp[-2].minor.yy552); - yylhsminor.yy718 = addSlimitClause(pCxt, yylhsminor.yy718, yymsp[-1].minor.yy718); - yylhsminor.yy718 = addLimitClause(pCxt, yylhsminor.yy718, yymsp[0].minor.yy718); + yylhsminor.yy896 = addOrderByClause(pCxt, yymsp[-3].minor.yy896, yymsp[-2].minor.yy404); + yylhsminor.yy896 = addSlimitClause(pCxt, yylhsminor.yy896, yymsp[-1].minor.yy896); + yylhsminor.yy896 = addLimitClause(pCxt, yylhsminor.yy896, yymsp[0].minor.yy896); } - yymsp[-3].minor.yy718 = yylhsminor.yy718; +#line 8064 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 663: /* union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ -{ yylhsminor.yy718 = createSetOperator(pCxt, SET_OP_TYPE_UNION_ALL, yymsp[-3].minor.yy718, yymsp[0].minor.yy718); } - yymsp[-3].minor.yy718 = yylhsminor.yy718; + case 668: /* union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ +#line 1424 "sql.y" +{ yylhsminor.yy896 = createSetOperator(pCxt, SET_OP_TYPE_UNION_ALL, yymsp[-3].minor.yy896, yymsp[0].minor.yy896); } +#line 8070 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 664: /* union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ -{ yylhsminor.yy718 = createSetOperator(pCxt, SET_OP_TYPE_UNION, yymsp[-2].minor.yy718, yymsp[0].minor.yy718); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 669: /* union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ +#line 1426 "sql.y" +{ yylhsminor.yy896 = createSetOperator(pCxt, SET_OP_TYPE_UNION, yymsp[-2].minor.yy896, yymsp[0].minor.yy896); } +#line 8076 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 672: /* slimit_clause_opt ::= SLIMIT NK_INTEGER */ - case 676: /* limit_clause_opt ::= LIMIT NK_INTEGER */ yytestcase(yyruleno==676); -{ yymsp[-1].minor.yy718 = createLimitNode(pCxt, &yymsp[0].minor.yy0, NULL); } + case 677: /* slimit_clause_opt ::= SLIMIT NK_INTEGER */ + case 681: /* limit_clause_opt ::= LIMIT NK_INTEGER */ yytestcase(yyruleno==681); +#line 1440 "sql.y" +{ yymsp[-1].minor.yy896 = createLimitNode(pCxt, &yymsp[0].minor.yy0, NULL); } +#line 8083 "sql.c" break; - case 673: /* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - case 677: /* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ yytestcase(yyruleno==677); -{ yymsp[-3].minor.yy718 = createLimitNode(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } + case 678: /* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + case 682: /* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ yytestcase(yyruleno==682); +#line 1441 "sql.y" +{ yymsp[-3].minor.yy896 = createLimitNode(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } +#line 8089 "sql.c" break; - case 674: /* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - case 678: /* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ yytestcase(yyruleno==678); -{ yymsp[-3].minor.yy718 = createLimitNode(pCxt, &yymsp[0].minor.yy0, &yymsp[-2].minor.yy0); } + case 679: /* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + case 683: /* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ yytestcase(yyruleno==683); +#line 1442 "sql.y" +{ yymsp[-3].minor.yy896 = createLimitNode(pCxt, &yymsp[0].minor.yy0, &yymsp[-2].minor.yy0); } +#line 8095 "sql.c" break; - case 679: /* subquery ::= NK_LP query_expression NK_RP */ -{ yylhsminor.yy718 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-1].minor.yy718); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 684: /* subquery ::= NK_LP query_expression NK_RP */ +#line 1450 "sql.y" +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-1].minor.yy896); } +#line 8100 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 684: /* sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ -{ yylhsminor.yy718 = createOrderByExprNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy718), yymsp[-1].minor.yy576, yymsp[0].minor.yy345); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; + case 689: /* sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ +#line 1464 "sql.y" +{ yylhsminor.yy896 = createOrderByExprNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), yymsp[-1].minor.yy918, yymsp[0].minor.yy669); } +#line 8106 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 685: /* ordering_specification_opt ::= */ -{ yymsp[1].minor.yy576 = ORDER_ASC; } + case 690: /* ordering_specification_opt ::= */ +#line 1468 "sql.y" +{ yymsp[1].minor.yy918 = ORDER_ASC; } +#line 8112 "sql.c" break; - case 686: /* ordering_specification_opt ::= ASC */ -{ yymsp[0].minor.yy576 = ORDER_ASC; } + case 691: /* ordering_specification_opt ::= ASC */ +#line 1469 "sql.y" +{ yymsp[0].minor.yy918 = ORDER_ASC; } +#line 8117 "sql.c" break; - case 687: /* ordering_specification_opt ::= DESC */ -{ yymsp[0].minor.yy576 = ORDER_DESC; } + case 692: /* ordering_specification_opt ::= DESC */ +#line 1470 "sql.y" +{ yymsp[0].minor.yy918 = ORDER_DESC; } +#line 8122 "sql.c" break; - case 688: /* null_ordering_opt ::= */ -{ yymsp[1].minor.yy345 = NULL_ORDER_DEFAULT; } + case 693: /* null_ordering_opt ::= */ +#line 1474 "sql.y" +{ yymsp[1].minor.yy669 = NULL_ORDER_DEFAULT; } +#line 8127 "sql.c" break; - case 689: /* null_ordering_opt ::= NULLS FIRST */ -{ yymsp[-1].minor.yy345 = NULL_ORDER_FIRST; } + case 694: /* null_ordering_opt ::= NULLS FIRST */ +#line 1475 "sql.y" +{ yymsp[-1].minor.yy669 = NULL_ORDER_FIRST; } +#line 8132 "sql.c" break; - case 690: /* null_ordering_opt ::= NULLS LAST */ -{ yymsp[-1].minor.yy345 = NULL_ORDER_LAST; } + case 695: /* null_ordering_opt ::= NULLS LAST */ +#line 1476 "sql.y" +{ yymsp[-1].minor.yy669 = NULL_ORDER_LAST; } +#line 8137 "sql.c" break; default: break; @@ -6884,6 +8196,7 @@ static void yy_syntax_error( ParseCTX_FETCH #define TOKEN yyminor /************ Begin %syntax_error code ****************************************/ +#line 29 "sql.y" if (TSDB_CODE_SUCCESS == pCxt->errCode) { if(TOKEN.z) { @@ -6894,6 +8207,7 @@ static void yy_syntax_error( } else if (TSDB_CODE_PAR_DB_NOT_SPECIFIED == pCxt->errCode && TK_NK_FLOAT == TOKEN.type) { pCxt->errCode = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_SYNTAX_ERROR, TOKEN.z); } +#line 8210 "sql.c" /************ End %syntax_error code ******************************************/ ParseARG_STORE /* Suppress warning about unused %extra_argument variable */ ParseCTX_STORE @@ -6979,12 +8293,56 @@ void Parse( } #endif - do{ + while(1){ /* Exit by "break" */ + assert( yypParser->yytos>=yypParser->yystack ); assert( yyact==yypParser->yytos->stateno ); yyact = yy_find_shift_action((YYCODETYPE)yymajor,yyact); if( yyact >= YY_MIN_REDUCE ){ - yyact = yy_reduce(yypParser,yyact-YY_MIN_REDUCE,yymajor, - yyminor ParseCTX_PARAM); + unsigned int yyruleno = yyact - YY_MIN_REDUCE; /* Reduce by this rule */ +#ifndef NDEBUG + assert( yyruleno<(int)(sizeof(yyRuleName)/sizeof(yyRuleName[0])) ); + if( yyTraceFILE ){ + int yysize = yyRuleInfoNRhs[yyruleno]; + if( yysize ){ + fprintf(yyTraceFILE, "%sReduce %d [%s]%s, pop back to state %d.\n", + yyTracePrompt, + yyruleno, yyRuleName[yyruleno], + yyrulenoyytos[yysize].stateno); + }else{ + fprintf(yyTraceFILE, "%sReduce %d [%s]%s.\n", + yyTracePrompt, yyruleno, yyRuleName[yyruleno], + yyrulenoyytos - yypParser->yystack)>yypParser->yyhwm ){ + yypParser->yyhwm++; + assert( yypParser->yyhwm == + (int)(yypParser->yytos - yypParser->yystack)); + } +#endif +#if YYSTACKDEPTH>0 + if( yypParser->yytos>=yypParser->yystackEnd ){ + yyStackOverflow(yypParser); + break; + } +#else + if( yypParser->yytos>=&yypParser->yystack[yypParser->yystksz-1] ){ + if( yyGrowStack(yypParser) ){ + yyStackOverflow(yypParser); + break; + } + } +#endif + } + yyact = yy_reduce(yypParser,yyruleno,yymajor,yyminor ParseCTX_PARAM); }else if( yyact <= YY_MAX_SHIFTREDUCE ){ yy_shift(yypParser,yyact,(YYCODETYPE)yymajor,yyminor); #ifndef YYNOERRORRECOVERY @@ -7040,14 +8398,13 @@ void Parse( yy_destructor(yypParser, (YYCODETYPE)yymajor, &yyminorunion); yymajor = YYNOCODE; }else{ - while( yypParser->yytos >= yypParser->yystack - && (yyact = yy_find_reduce_action( - yypParser->yytos->stateno, - YYERRORSYMBOL)) > YY_MAX_SHIFTREDUCE - ){ + while( yypParser->yytos > yypParser->yystack ){ + yyact = yy_find_reduce_action(yypParser->yytos->stateno, + YYERRORSYMBOL); + if( yyact<=YY_MAX_SHIFTREDUCE ) break; yy_pop_parser_stack(yypParser); } - if( yypParser->yytos < yypParser->yystack || yymajor==0 ){ + if( yypParser->yytos <= yypParser->yystack || yymajor==0 ){ yy_destructor(yypParser,(YYCODETYPE)yymajor,&yyminorunion); yy_parse_failed(yypParser); #ifndef YYNOERRORRECOVERY @@ -7097,7 +8454,7 @@ void Parse( break; #endif } - }while( yypParser->yytos>yypParser->yystack ); + } #ifndef NDEBUG if( yyTraceFILE ){ yyStackEntry *i; diff --git a/source/libs/planner/src/planLogicCreater.c b/source/libs/planner/src/planLogicCreater.c index c34d8ac64f..7ce623e788 100644 --- a/source/libs/planner/src/planLogicCreater.c +++ b/source/libs/planner/src/planLogicCreater.c @@ -494,6 +494,9 @@ static int32_t createScanLogicNode(SLogicPlanContext* pCxt, SSelectStmt* pSelect } else if (pSelect->pPartitionByList) { isCountByTag = !keysHasCol(pSelect->pPartitionByList); } + if (pScan->tableType == TSDB_CHILD_TABLE) { + isCountByTag = true; + } } pScan->isCountByTag = isCountByTag; diff --git a/source/libs/sync/src/syncMain.c b/source/libs/sync/src/syncMain.c index da18bbdea2..85aa3a2796 100644 --- a/source/libs/sync/src/syncMain.c +++ b/source/libs/sync/src/syncMain.c @@ -276,16 +276,18 @@ int32_t syncForceBecomeFollower(SSyncNode* ths, const SRpcMsg* pRpcMsg) { int32_t syncBecomeAssignedLeader(SSyncNode* ths, SRpcMsg* pRpcMsg) { int32_t ret = -1; + int32_t errcode = TSDB_CODE_MND_ARB_TOKEN_MISMATCH; + void* pHead = NULL; + int32_t contLen = 0; SVArbSetAssignedLeaderReq req = {0}; if (tDeserializeSVArbSetAssignedLeaderReq((char*)pRpcMsg->pCont + sizeof(SMsgHead), pRpcMsg->contLen, &req) != 0) { sError("vgId:%d, failed to deserialize SVArbSetAssignedLeaderReq", ths->vgId); terrno = TSDB_CODE_INVALID_MSG; - return -1; + errcode = terrno; + goto _OVER; } - int32_t errcode = TSDB_CODE_MND_ARB_TOKEN_MISMATCH; - if (ths->arbTerm > req.arbTerm) { sInfo("vgId:%d, skip to set assigned leader, msg with lower term, local:%" PRId64 "msg:%" PRId64, ths->vgId, ths->arbTerm, req.arbTerm); @@ -294,50 +296,58 @@ int32_t syncBecomeAssignedLeader(SSyncNode* ths, SRpcMsg* pRpcMsg) { ths->arbTerm = TMAX(req.arbTerm, ths->arbTerm); - if (strncmp(req.memberToken, ths->arbToken, TSDB_ARB_TOKEN_SIZE) == 0) { - if (ths->state != TAOS_SYNC_STATE_ASSIGNED_LEADER) { - raftStoreNextTerm(ths); - if (terrno != TSDB_CODE_SUCCESS) { - sError("vgId:%d, failed to set next term since:%s", ths->vgId, terrstr()); - goto _OVER; - } - syncNodeBecomeAssignedLeader(ths); - - if (syncNodeAppendNoop(ths) < 0) { - sError("vgId:%d, assigned leader failed to append noop entry since %s", ths->vgId, terrstr()); - } - } - errcode = TSDB_CODE_SUCCESS; - } else { + if (strncmp(req.memberToken, ths->arbToken, TSDB_ARB_TOKEN_SIZE) != 0) { sInfo("vgId:%d, skip to set assigned leader, token mismatch, local:%s, msg:%s", ths->vgId, ths->arbToken, req.memberToken); goto _OVER; } + if (ths->state != TAOS_SYNC_STATE_ASSIGNED_LEADER) { + terrno = TSDB_CODE_SUCCESS; + raftStoreNextTerm(ths); + if (terrno != TSDB_CODE_SUCCESS) { + sError("vgId:%d, failed to set next term since:%s", ths->vgId, terrstr()); + errcode = terrno; + goto _OVER; + } + syncNodeBecomeAssignedLeader(ths); + + if (syncNodeAppendNoop(ths) < 0) { + sError("vgId:%d, assigned leader failed to append noop entry since %s", ths->vgId, terrstr()); + } + } + SVArbSetAssignedLeaderRsp rsp = {0}; rsp.arbToken = req.arbToken; rsp.memberToken = req.memberToken; rsp.vgId = ths->vgId; - int32_t contLen = tSerializeSVArbSetAssignedLeaderRsp(NULL, 0, &rsp); + contLen = tSerializeSVArbSetAssignedLeaderRsp(NULL, 0, &rsp); if (contLen <= 0) { sError("vgId:%d, failed to serialize SVArbSetAssignedLeaderRsp", ths->vgId); terrno = TSDB_CODE_OUT_OF_MEMORY; + errcode = terrno; goto _OVER; } - void* pHead = rpcMallocCont(contLen); + pHead = rpcMallocCont(contLen); if (!pHead) { sError("vgId:%d, failed to malloc memory for SVArbSetAssignedLeaderRsp", ths->vgId); terrno = TSDB_CODE_OUT_OF_MEMORY; + errcode = terrno; goto _OVER; } if (tSerializeSVArbSetAssignedLeaderRsp(pHead, contLen, &rsp) <= 0) { sError("vgId:%d, failed to serialize SVArbSetAssignedLeaderRsp", ths->vgId); terrno = TSDB_CODE_OUT_OF_MEMORY; + errcode = terrno; rpcFreeCont(pHead); goto _OVER; } + errcode = TSDB_CODE_SUCCESS; + ret = 0; + +_OVER:; SRpcMsg rspMsg = { .code = errcode, .pCont = pHead, @@ -347,9 +357,6 @@ int32_t syncBecomeAssignedLeader(SSyncNode* ths, SRpcMsg* pRpcMsg) { tmsgSendRsp(&rspMsg); - ret = 0; - -_OVER: tFreeSVArbSetAssignedLeaderReq(&req); return ret; } diff --git a/source/util/src/tlog.c b/source/util/src/tlog.c index 16ca1b64c3..0c09174970 100644 --- a/source/util/src/tlog.c +++ b/source/util/src/tlog.c @@ -242,6 +242,7 @@ void taosCloseLog() { taosMemoryFreeClear(tsLogObj.logHandle->buffer); taosThreadMutexDestroy(&tsLogObj.logMutex); taosMemoryFreeClear(tsLogObj.logHandle); + tsLogObj.logHandle = NULL; } } @@ -285,8 +286,11 @@ static void taosKeepOldLog(char *oldName) { taosRemoveOldFiles(tsLogDir, tsLogKeepDays); } } - -static void *taosThreadToOpenNewFile(void *param) { +typedef struct { + TdFilePtr pOldFile; + char keepName[LOG_FILE_NAME_LEN + 20]; +} OldFileKeeper; +static OldFileKeeper *taosOpenNewFile() { char keepName[LOG_FILE_NAME_LEN + 20]; sprintf(keepName, "%s.%d", tsLogObj.logName, tsLogObj.flag); @@ -312,13 +316,26 @@ static void *taosThreadToOpenNewFile(void *param) { tsLogObj.logHandle->pFile = pFile; tsLogObj.lines = 0; tsLogObj.openInProgress = 0; - taosSsleep(20); - taosCloseLogByFd(pOldFile); + OldFileKeeper* oldFileKeeper = taosMemoryMalloc(sizeof(OldFileKeeper)); + if (oldFileKeeper == NULL) { + uError("create old log keep info faild! mem is not enough."); + return NULL; + } + oldFileKeeper->pOldFile = pOldFile; + memcpy(oldFileKeeper->keepName, keepName, LOG_FILE_NAME_LEN + 20); uInfo(" new log file:%d is opened", tsLogObj.flag); uInfo("=================================="); - taosKeepOldLog(keepName); + return oldFileKeeper; +} +static void *taosThreadToCloseOldFile(void* param) { + if(!param) return NULL; + OldFileKeeper* oldFileKeeper = (OldFileKeeper*)param; + taosSsleep(20); + taosCloseLogByFd(oldFileKeeper->pOldFile); + taosKeepOldLog(oldFileKeeper->keepName); + taosMemoryFree(oldFileKeeper); return NULL; } @@ -334,7 +351,8 @@ static int32_t taosOpenNewLogFile() { taosThreadAttrInit(&attr); taosThreadAttrSetDetachState(&attr, PTHREAD_CREATE_DETACHED); - taosThreadCreate(&thread, &attr, taosThreadToOpenNewFile, NULL); + OldFileKeeper* oldFileKeeper = taosOpenNewFile(); + taosThreadCreate(&thread, &attr, taosThreadToCloseOldFile, oldFileKeeper); taosThreadAttrDestroy(&attr); } @@ -347,10 +365,11 @@ void taosResetLog() { // force create a new log file tsLogObj.lines = tsNumOfLogLines + 10; - taosOpenNewLogFile(); - - uInfo("=================================="); - uInfo(" reset log file "); + if (tsLogObj.logHandle) { + taosOpenNewLogFile(); + uInfo("=================================="); + uInfo(" reset log file "); + } } static bool taosCheckFileIsOpen(char *logFileName) { diff --git a/tests/develop-test/2-query/pseudo_column.py b/tests/develop-test/2-query/pseudo_column.py index 1d94df4cff..61ea53433f 100644 --- a/tests/develop-test/2-query/pseudo_column.py +++ b/tests/develop-test/2-query/pseudo_column.py @@ -66,10 +66,10 @@ class TDTestCase: tdSql.query('select * from (select tbname, avg(f) from st partition by tbname) a partition by a.tbname order by a.tbname'); tdSql.checkRows(2) tdSql.checkCols(2) - tdSql.checkData(0, 0, 'ct1'); - tdSql.checkData(0, 1, 6.0); - tdSql.checkData(1, 0, 'ct2'); - tdSql.checkData(1, 1, 12.0); + tdSql.checkData(0, 0, 'ct1') + tdSql.checkData(0, 1, 6.0) + tdSql.checkData(1, 0, 'ct2') + tdSql.checkData(1, 1, 12.0) tdSql.error('select tbname from (select * from st)') tdSql.error('select st.tbname from (select st.tbname from st)') diff --git a/tests/script/tsim/parser/select_with_tags.sim b/tests/script/tsim/parser/select_with_tags.sim index 0e777de7e8..0cc8a7db8a 100644 --- a/tests/script/tsim/parser/select_with_tags.sim +++ b/tests/script/tsim/parser/select_with_tags.sim @@ -870,7 +870,7 @@ sql_error select stddev(c2), tbname from select_tags_mt0; sql_error select twa(c2), tbname from select_tags_mt0; sql_error select interp(c2), tbname from select_tags_mt0 where ts=100001; -sql_error select t1,t2,tbname from select_tags_mt0 group by tbname; + sql select count(tbname) from select_tags_mt0 interval(1d); sql select count(tbname) from select_tags_mt0 group by t1; sql select count(tbname),SUM(T1) from select_tags_mt0 interval(1d); @@ -888,16 +888,16 @@ sql_error select tbname, t1 from select_tags_mt0 interval(1y); print ==================================>TD-4231 sql select t1,tbname from select_tags_mt0 where c1<0 sql select t1,tbname from select_tags_mt0 where c1<0 and tbname in ('select_tags_tb12') - sql select tbname from select_tags_mt0 where tbname in ('select_tags_tb12'); -sql_error select first(c1), last(c2), t1 from select_tags_mt0 group by tbname; -sql_error select first(c1), last(c2), tbname, t2 from select_tags_mt0 group by tbname; -sql_error select first(c1), count(*), t2, t1, tbname from select_tags_mt0 group by tbname; -#valid sql: select first(c1), t2 from select_tags_mt0 group by tbname; +sql select first(ts), tbname from select_tags_mt0 group by tbname; +sql select count(c1) from select_tags_mt0 where c1=99 group by tbname; +sql select count(*),tbname from select_tags_mt0 group by tbname -#sql select first(ts), tbname from select_tags_mt0 group by tbname; -#sql select count(c1) from select_tags_mt0 where c1=99 group by tbname; -#sql select count(*),tbname from select_tags_mt0 group by tbname +print ==================================> tag supported in group +sql select t1,t2,tbname from select_tags_mt0 group by tbname; +sql select first(c1), last(c2), t1 from select_tags_mt0 group by tbname; +sql select first(c1), last(c2), tbname, t2 from select_tags_mt0 group by tbname; +sql select first(c1), count(*), t2, t1, tbname from select_tags_mt0 group by tbname; system sh/exec.sh -n dnode1 -s stop -x SIGINT diff --git a/tests/script/tsim/query/count_spread.sim b/tests/script/tsim/query/count_spread.sim index c03783b7fe..082b32d1fb 100644 --- a/tests/script/tsim/query/count_spread.sim +++ b/tests/script/tsim/query/count_spread.sim @@ -3,15 +3,24 @@ system sh/deploy.sh -n dnode1 -i 1 system sh/exec.sh -n dnode1 -s start sql connect -sql create database test; +sql create database test KEEP 36500; sql use test; sql create table st(ts timestamp, f int) tags(t int); -sql insert into ct1 using st tags(1) values(now, 0)(now+1s, 1)(now+2s, 10)(now+3s, 11) -sql insert into ct2 using st tags(2) values(now+2s, 2)(now+3s, 3) -sql insert into ct3 using st tags(3) values(now+4s, 4)(now+5s, 5) -sql insert into ct4 using st tags(4) values(now+6s, 6)(now+7s, 7) -sql select count(*), spread(ts) from st where tbname='ct1' +$ms = 1712135244502 +$ms1 = $ms + 1000 +$ms2 = $ms + 2000 +$ms3 = $ms + 3000 +$ms4 = $ms + 4000 +$ms5 = $ms + 5000 +$ms6 = $ms + 6000 +$ms7 = $ms + 7000 +sql insert into ct1 using st tags(1) values($ms , 0)($ms1 , 1)($ms2 , 10)($ms3 , 11) +sql insert into ct2 using st tags(2) values($ms2 , 2)($ms3 , 3) +sql insert into ct3 using st tags(3) values($ms4 , 4)($ms5 , 5) +sql insert into ct4 using st tags(4) values($ms6 , 6)($ms7 , 7) + +sql select count(*), spread(ts) from st where tbname='ct1' print $data00, $data01 if $data00 != @4@ then return -1 diff --git a/tests/system-test/2-query/cast.py b/tests/system-test/2-query/cast.py index ede1f28324..352395b830 100644 --- a/tests/system-test/2-query/cast.py +++ b/tests/system-test/2-query/cast.py @@ -79,6 +79,10 @@ class TDTestCase: tdSql.query(f"select cast(c1 as binary(32)) as b from {self.dbname}.t1") for i in range(len(data_t1_c1)): tdSql.checkData( i, 0, str(data_t1_c1[i]) ) + + tdSql.query(f"select cast(c1 as binary) as b from {self.dbname}.t1") + for i in range(len(data_t1_c1)): + tdSql.checkData( i, 0, str(data_t1_c1[i]) ) tdLog.printNoPrefix("==========step6: cast int to nchar, expect changes to str(int) ") @@ -130,6 +134,13 @@ class TDTestCase: tdSql.query(f"select cast(c2 as binary(32)) as b from {self.dbname}.t1") for i in range(len(data_t1_c2)): tdSql.checkData( i, 0, str(data_t1_c2[i]) ) + + tdSql.query(f"select cast(c2 as binary) as b from {self.dbname}.ct4") + for i in range(len(data_ct4_c2)): + tdSql.checkData( i, 0, str(data_ct4_c2[i]) ) + tdSql.query(f"select cast(c2 as binary) as b from {self.dbname}.t1") + for i in range(len(data_t1_c2)): + tdSql.checkData( i, 0, str(data_t1_c2[i]) ) tdLog.printNoPrefix("==========step10: cast bigint to nchar, expect changes to str(int) ") @@ -184,6 +195,13 @@ class TDTestCase: tdSql.query(f"select cast(c3 as binary(32)) as b from {self.dbname}.t1") for i in range(len(data_t1_c3)): tdSql.checkData( i, 0, str(data_t1_c3[i]) ) + + tdSql.query(f"select cast(c3 as binary) as b from {self.dbname}.ct4") + for i in range(len(data_ct4_c3)): + tdSql.checkData( i, 0, str(data_ct4_c3[i]) ) + tdSql.query(f"select cast(c3 as binary) as b from {self.dbname}.t1") + for i in range(len(data_t1_c3)): + tdSql.checkData( i, 0, str(data_t1_c3[i]) ) tdLog.printNoPrefix("==========step14: cast smallint to nchar, expect changes to str(int) ") @@ -235,6 +253,13 @@ class TDTestCase: tdSql.query(f"select cast(c4 as binary(32)) as b from {self.dbname}.t1") for i in range(len(data_t1_c4)): tdSql.checkData( i, 0, str(data_t1_c4[i]) ) + + tdSql.query(f"select cast(c4 as binary) as b from {self.dbname}.ct4") + for i in range(len(data_ct4_c4)): + tdSql.checkData( i, 0, str(data_ct4_c4[i]) ) + tdSql.query(f"select cast(c4 as binary) as b from {self.dbname}.t1") + for i in range(len(data_t1_c4)): + tdSql.checkData( i, 0, str(data_t1_c4[i]) ) tdLog.printNoPrefix("==========step18: cast tinyint to nchar, expect changes to str(int) ") @@ -282,6 +307,12 @@ class TDTestCase: for i in range(len(data_ct4_c5)): tdSql.checkData( i, 0, str(data_ct4_c5[i]) ) if data_ct4_c5[i] is None else tdSql.checkData( i, 0, f'{data_ct4_c5[i]:.6f}' ) tdSql.query(f"select cast(c5 as binary(32)) as b from {self.dbname}.t1") + for i in range(len(data_t1_c5)): + tdSql.checkData( i, 0, str(data_t1_c5[i]) ) if data_t1_c5[i] is None else tdSql.checkData( i, 0, f'{data_t1_c5[i]:.6f}' ) + tdSql.query(f"select cast(c5 as binary) as b from {self.dbname}.ct4") + for i in range(len(data_ct4_c5)): + tdSql.checkData( i, 0, str(data_ct4_c5[i]) ) if data_ct4_c5[i] is None else tdSql.checkData( i, 0, f'{data_ct4_c5[i]:.6f}' ) + tdSql.query(f"select cast(c5 as binary) as b from {self.dbname}.t1") for i in range(len(data_t1_c5)): tdSql.checkData( i, 0, str(data_t1_c5[i]) ) if data_t1_c5[i] is None else tdSql.checkData( i, 0, f'{data_t1_c5[i]:.6f}' ) @@ -290,6 +321,12 @@ class TDTestCase: for i in range(len(data_ct4_c5)): tdSql.checkData( i, 0, None ) if data_ct4_c5[i] is None else tdSql.checkData( i, 0, f'{data_ct4_c5[i]:.6f}' ) tdSql.query(f"select cast(c5 as nchar(32)) as b from {self.dbname}.t1") + for i in range(len(data_t1_c5)): + tdSql.checkData( i, 0, None ) if data_t1_c5[i] is None else tdSql.checkData( i, 0, f'{data_t1_c5[i]:.6f}' ) + tdSql.query(f"select cast(c5 as nchar) as b from {self.dbname}.t1") + for i in range(len(data_t1_c5)): + tdSql.checkData( i, 0, None ) if data_t1_c5[i] is None else tdSql.checkData( i, 0, f'{data_t1_c5[i]:.6f}' ) + tdSql.query(f"select cast(c5 as varchar) as b from {self.dbname}.t1") for i in range(len(data_t1_c5)): tdSql.checkData( i, 0, None ) if data_t1_c5[i] is None else tdSql.checkData( i, 0, f'{data_t1_c5[i]:.6f}' ) @@ -580,6 +617,10 @@ class TDTestCase: ( tdSql.checkData(i, 0, '12121.233231') for i in range(tdSql.queryRows) ) tdSql.query(f"select cast(12121.23323131 + 'test~!@`#$%^&*(){'}'}{'{'}][;><.,' as binary(2)) as b from {self.dbname}.ct4") ( tdSql.checkData(i, 0, '12') for i in range(tdSql.queryRows) ) + tdSql.query(f"select cast(12121.23323131 + 'test~!@`#$%^&*(){'}'}{'{'}][;><.,' as binary) as b from {self.dbname}.ct4") + ( tdSql.checkData(i, 0, '12121.233231') for i in range(tdSql.queryRows) ) + tdSql.query(f"select cast(12121.23323131 + 'test~!@`#$%^&*(){'}'}{'{'}][;><.,' as binary) as b from {self.dbname}.ct4") + ( tdSql.checkData(i, 0, '12') for i in range(tdSql.queryRows) ) tdSql.query(f"select cast(12121.23323131 + 'test~!@`#$%^&*(){'}'}{'{'}][;><.,' as nchar(16)) as b from {self.dbname}.ct4") ( tdSql.checkData(i, 0, '12121.233231') for i in range(tdSql.queryRows) ) tdSql.query(f"select cast(12121.23323131 + 'test~!@`#$%^&*(){'}'}{'{'}][;><.,' as nchar(2)) as b from {self.dbname}.ct4") diff --git a/tests/system-test/2-query/count.py b/tests/system-test/2-query/count.py index c06ee28d02..6d34dde791 100644 --- a/tests/system-test/2-query/count.py +++ b/tests/system-test/2-query/count.py @@ -103,6 +103,10 @@ class TDTestCase: tdSql.checkRows(row) tdSql.query(f'select {function_name}(c1),sum(c1) from {self.stbname} partition by tbname') tdSql.checkRows(row) + tdSql.query(f'select t0, {function_name}(c1),sum(c1) from {self.stbname} partition by tbname') + tdSql.checkRows(row) + tdSql.query(f'select cast(t0 as binary(12)), {function_name}(c1),sum(c1) from {self.stbname} partition by tbname') + tdSql.checkRows(row) tdSql.query(f'select {function_name}(c1),sum(c1) from {self.stbname} partition by c1') tdSql.checkRows(0) tdSql.query(f'select {function_name}(c1),sum(c1) from {self.stbname} partition by t0') diff --git a/tests/system-test/2-query/csum.py b/tests/system-test/2-query/csum.py index b16f511491..e3ac529d5e 100644 --- a/tests/system-test/2-query/csum.py +++ b/tests/system-test/2-query/csum.py @@ -470,7 +470,9 @@ class TDTestCase: tdSql.checkRows(40) # bug need fix - tdSql.query("select tbname , csum(c1), csum(c12) from db.stb1 partition by tbname") + tdSql.query("select tbname , st1, csum(c1), csum(c12) from db.stb1 partition by tbname") + tdSql.checkRows(40) + tdSql.query("select tbname , cast(st1 as binary(24)), csum(c1), csum(c12) from db.stb1 partition by tbname") tdSql.checkRows(40) tdSql.query("select tbname , csum(st1) from db.stb1 partition by tbname") tdSql.checkRows(70) diff --git a/tests/system-test/2-query/group_partition.py b/tests/system-test/2-query/group_partition.py index 36e3afd3ca..4b236c1bce 100644 --- a/tests/system-test/2-query/group_partition.py +++ b/tests/system-test/2-query/group_partition.py @@ -91,15 +91,71 @@ class TDTestCase: tdSql.query(f"select t2, t3, c1, count(*) from {self.dbname}.{self.stable} {keyword} by t2, t3, c1 ") tdSql.checkRows(nonempty_tb_num * self.row_nums) + def test_groupby_sub_table(self): + for i in range(self.tb_nums): + tbname = f"{self.dbname}.sub_{self.stable}_{i}" + ts = self.ts + i*10000 + tdSql.query(f"select t1, t2, t3,count(*) from {tbname}") + tdSql.checkRows(1) + tdSql.checkData(0, 1, i) + tdSql.checkData(0, 2, i*10) + + tdSql.query(f"select cast(t2 as binary(12)),count(*) from {tbname}") + tdSql.checkRows(1) + tdSql.checkData(0, 0, i) + + tdSql.query(f"select t2 + 1, count(*) from {tbname}") + tdSql.checkRows(1) + tdSql.checkData(0, 0, i + 1) + + tdSql.query(f"select t1, t2, t3, count(*) from {tbname} group by tbname") + tdSql.checkRows(1) + tdSql.checkData(0, 1, i) + tdSql.checkData(0, 2, i*10) + + tdSql.query(f"select t1, t2, t3, count(*) from {tbname} group by tbname, c1, t4") + tdSql.checkData(0, 1, i) + tdSql.checkData(0, 2, i*10) + + tdSql.query(f"select t1, t2, t3, count(*) from {tbname} partition by tbname") + tdSql.checkRows(1) + tdSql.checkData(0, 1, i) + tdSql.checkData(0, 2, i*10) + + tdSql.query(f"select t1, t2, t3, count(*) from {tbname} partition by c1, tbname") + tdSql.checkData(0, 1, i) + tdSql.checkData(0, 2, i*10) + + tdSql.query(f"select t1, t2, t3, count(*) from {self.dbname}.{self.stable} partition by c1, tbname order by tbname desc") + tdSql.checkRows(50) + tdSql.checkData(0, 1, 4) + tdSql.checkData(0, 2, 40) + def test_multi_group_key(self, check_num, nonempty_tb_num): # multi tag/tbname tdSql.query(f"select t2, t3, tbname, count(*) from {self.dbname}.{self.stable} group by t2, t3, tbname") tdSql.checkRows(check_num) + tdSql.query(f"select cast(t2 as binary(12)), count(*) from {self.dbname}.{self.stable} group by t2, t3, tbname") + tdSql.checkRows(check_num) + tdSql.query(f"select t2, t3, tbname, count(*) from {self.dbname}.{self.stable} partition by t2, t3, tbname") tdSql.checkRows(check_num) + tdSql.query(f"select t2, t3, tbname, count(*) from {self.dbname}.{self.stable} group by tbname order by tbname asc") + tdSql.checkRows(check_num) + tdSql.checkData(0, 0, 0) + tdSql.checkData(1, 0, 1) + tdSql.checkData(2, 1, 20) + tdSql.checkData(3, 1, 30) + + tdSql.query(f"select t2, t3, tbname, count(*) from {self.dbname}.{self.stable} partition by tbname order by tbname asc") + tdSql.checkRows(check_num) + tdSql.checkData(0, 0, 0) + tdSql.checkData(2, 1, 20) + tdSql.checkData(3, 1, 30) + # multi tag + col tdSql.query(f"select t1, t2, c1, count(*) from {self.dbname}.{self.stable} partition by t1, t2, c1 ") tdSql.checkRows(nonempty_tb_num * self.row_nums) @@ -222,12 +278,14 @@ class TDTestCase: self.test_groupby('group', self.tb_nums, nonempty_tb_num) self.test_groupby('partition', self.tb_nums, nonempty_tb_num) + self.test_groupby_sub_table() self.test_innerSelect(self.tb_nums) self.test_multi_group_key(self.tb_nums, nonempty_tb_num) self.test_multi_agg(self.tb_nums, nonempty_tb_num) self.test_window(nonempty_tb_num) self.test_event_window(nonempty_tb_num) + ## test old version before changed # self.test_groupby('group', 0, 0) # self.insert_db(5, self.row_nums) diff --git a/tests/system-test/2-query/multi_res_function.py b/tests/system-test/2-query/multi_res_function.py new file mode 100644 index 0000000000..89038e5c08 --- /dev/null +++ b/tests/system-test/2-query/multi_res_function.py @@ -0,0 +1,130 @@ +################################################################### +# Copyright (c) 2016 by TAOS Technologies, Inc. +# All rights reserved. +# +# This file is proprietary and confidential to TAOS Technologies. +# No part of this file may be reproduced, stored, transmitted, +# disclosed or used in any form or by any means other than as +# expressly provided by the written permission from Jianhui Tao +# +################################################################### + +# -*- coding: utf-8 -*- + +import random +import string +import sys +import taos +from util.common import * +from util.log import * +from util.cases import * +from util.sql import * +import numpy as np + + +class TDTestCase: + def init(self, conn, logSql, replicaVar=1): + self.replicaVar = int(replicaVar) + tdLog.debug("start to execute %s" % __file__) + tdSql.init(conn.cursor()) + + self.rowNum = 10 + self.tbnum = 20 + self.ts = 1537146000000 + self.binary_str = 'taosdata' + self.nchar_str = '涛思数据' + + def first_check_base(self): + dbname = "db" + tdSql.prepare(dbname) + column_dict = { + 'col1': 'tinyint', + 'col2': 'smallint', + 'col3': 'int', + 'col4': 'bigint', + 'col5': 'tinyint unsigned', + 'col6': 'smallint unsigned', + 'col7': 'int unsigned', + 'col8': 'bigint unsigned', + 'col9': 'float', + 'col10': 'double', + 'col11': 'bool', + 'col12': 'binary(20)', + 'col13': 'nchar(20)' + } + tdSql.execute(f"alter local \'keepColumnName\' \'1\'") + tdSql.execute(f'''create table {dbname}.stb(ts timestamp, col1 tinyint, col2 smallint, col3 int, col4 bigint, col5 tinyint unsigned, col6 smallint unsigned, + col7 int unsigned, col8 bigint unsigned, col9 float, col10 double, col11 bool, col12 binary(20), col13 nchar(20)) tags(loc nchar(20))''') + tdSql.execute(f"create table {dbname}.stb_1 using {dbname}.stb tags('beijing')") + tdSql.execute(f"create table {dbname}.stb_2 using {dbname}.stb tags('beijing')") + + column_list = ['col1','col2','col3','col4','col5','col6','col7','col8','col9','col10','col11','col12','col13'] + for i in column_list: + for j in ['stb_1']: + tdSql.query(f"select first({i}) from {dbname}.{j}") + tdSql.checkRows(0) + for n in range(self.rowNum): + i = n + tdSql.execute(f"insert into {dbname}.stb_1 values(%d, %d, %d, %d, %d, %d, %d, %d, %d, %f, %f, %d, '{self.binary_str}%d', '{self.nchar_str}%d')" + % (self.ts + i, i + 1, i + 1, i + 1, i + 1, i + 1, i + 1, i + 1, i + 1, i + 0.1, i + 0.1, i % 2, i + 1, i + 1)) + + for n in range(self.rowNum): + i = n + 10 + tdSql.execute(f"insert into {dbname}.stb_1 values(%d, %d, %d, %d, %d, %d, %d, %d, %d, %f, %f, %d, '{self.binary_str}%d', '{self.nchar_str}%d')" + % (self.ts + i, i + 1, i + 1, i + 1, i + 1, i + 1, i + 1, i + 1, i + 1, i + 0.1, i + 0.1, i % 2, i + 1, i + 1)) + + for n in range(self.rowNum): + i = n + 100 + tdSql.execute(f"insert into {dbname}.stb_2 values(%d, %d, %d, %d, %d, %d, %d, %d, %d, %f, %f, %d, '{self.binary_str}%d', '{self.nchar_str}%d')" + % (self.ts + i, i + 1, i + 1, i + 1, i + 1, i + 1, i + 1, i + 1, i + 1, i + 0.1, i + 0.1, i % 2, i + 1, i + 1)) + + for k, v in column_dict.items(): + + if v == 'tinyint' or v == 'smallint' or v == 'int' or v == 'bigint' or v == 'tinyint unsigned' or v == 'smallint unsigned'\ + or v == 'int unsigned' or v == 'bigint unsigned': + tdSql.query(f"select last({k})-first({k}) from {dbname}.stb") + tdSql.checkData(0, 0, 109) + tdSql.query(f"select first({k})+last({k}) from {dbname}.stb") + tdSql.checkData(0, 0, 111) + tdSql.query(f"select max({k})-first({k}) from {dbname}.stb") + tdSql.checkData(0, 0, 109) + tdSql.query(f"select max({k})-min({k}) from {dbname}.stb") + tdSql.checkData(0, 0, 109) + + tdSql.query(f"select last({k})-first({k}) from {dbname}.stb_1") + tdSql.checkData(0, 0, 19) + tdSql.query(f"select first({k})+last({k}) from {dbname}.stb_1") + tdSql.checkData(0, 0, 21) + tdSql.query(f"select max({k})-first({k}) from {dbname}.stb_1") + tdSql.checkData(0, 0, 19) + tdSql.query(f"select max({k})-min({k}) from {dbname}.stb_1") + tdSql.checkData(0, 0, 19) + + # float,double + elif v == 'float' or v == 'double': + tdSql.query(f"select first({k})+last({k}) from {dbname}.stb") + tdSql.checkData(0, 0, 109.2) + tdSql.query(f"select first({k})+last({k}) from {dbname}.stb_1") + tdSql.checkData(0, 0, 19.2) + # bool + elif v == 'bool': + continue + # binary + elif 'binary' in v: + continue + # nchar + elif 'nchar' in v: + continue + + #tdSql.execute(f'drop database {dbname}') + + def run(self): + self.first_check_base() + + + def stop(self): + tdSql.close() + tdLog.success("%s successfully executed" % __file__) + +tdCases.addWindows(__file__, TDTestCase()) +tdCases.addLinux(__file__, TDTestCase())