From c472bf6b08032305e3cd36433cdd003e5d08acfc Mon Sep 17 00:00:00 2001 From: factosea <285808407@qq.com> Date: Thu, 14 Mar 2024 19:00:31 +0800 Subject: [PATCH 01/20] feat: tag supported with group/partition --- source/libs/parser/src/parTranslater.c | 51 ++++++++++++++------ tests/develop-test/2-query/pseudo_column.py | 8 +-- tests/system-test/2-query/count.py | 2 + tests/system-test/2-query/csum.py | 2 +- tests/system-test/2-query/group_partition.py | 6 +++ 5 files changed, 48 insertions(+), 21 deletions(-) diff --git a/source/libs/parser/src/parTranslater.c b/source/libs/parser/src/parTranslater.c index 38737d7a17..6e34ab1b3b 100644 --- a/source/libs/parser/src/parTranslater.c +++ b/source/libs/parser/src/parTranslater.c @@ -2688,6 +2688,20 @@ 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 EDealRes doCheckExprForGroupBy(SNode** pNode, void* pContext) { STranslateContext* pCxt = (STranslateContext*)pContext; SSelectStmt* pSelect = (SSelectStmt*)pCxt->pCurrStmt; @@ -2699,15 +2713,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)) { @@ -2771,10 +2795,15 @@ static EDealRes doCheckAggColCoexist(SNode** pNode, void* pContext) { return DEAL_RES_IGNORE_CHILD; } SNode* pPartKey = NULL; + bool partionByTbname = hasTbnameFunction(((SSelectStmt*)pCxt->pTranslateCxt->pCurrStmt)->pPartitionByList); 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; @@ -3946,22 +3975,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; @@ -7539,12 +7558,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) { @@ -7802,7 +7821,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"); @@ -7830,7 +7849,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/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/system-test/2-query/count.py b/tests/system-test/2-query/count.py index c06ee28d02..f94e9eac00 100644 --- a/tests/system-test/2-query/count.py +++ b/tests/system-test/2-query/count.py @@ -103,6 +103,8 @@ 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 {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..f5e7456049 100644 --- a/tests/system-test/2-query/csum.py +++ b/tests/system-test/2-query/csum.py @@ -470,7 +470,7 @@ 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 , 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 a20b124c33..2d206ce228 100644 --- a/tests/system-test/2-query/group_partition.py +++ b/tests/system-test/2-query/group_partition.py @@ -100,6 +100,12 @@ class TDTestCase: 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") + tdSql.checkRows(check_num) + + tdSql.query(f"select t2, t3, tbname, count(*) from {self.dbname}.{self.stable} partition by tbname") + tdSql.checkRows(check_num) + # 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) From 1d1770ecca3a5f5530ff2c316b74552a996f45c4 Mon Sep 17 00:00:00 2001 From: factosea <285808407@qq.com> Date: Fri, 15 Mar 2024 09:09:51 +0800 Subject: [PATCH 02/20] fix: test case --- tests/script/tsim/parser/select_with_tags.sim | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) 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 From 932fba9f340056b3abd8c8b42a22daad190c70e4 Mon Sep 17 00:00:00 2001 From: factosea <285808407@qq.com> Date: Fri, 15 Mar 2024 14:23:30 +0800 Subject: [PATCH 03/20] add test case --- tests/system-test/2-query/group_partition.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tests/system-test/2-query/group_partition.py b/tests/system-test/2-query/group_partition.py index 2d206ce228..50325579c4 100644 --- a/tests/system-test/2-query/group_partition.py +++ b/tests/system-test/2-query/group_partition.py @@ -100,11 +100,18 @@ class TDTestCase: 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") + 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") + 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 ") From 61e7ae53c84195bfc69b4edbdf303dd2f377d0d8 Mon Sep 17 00:00:00 2001 From: factosea <285808407@qq.com> Date: Mon, 25 Mar 2024 21:23:27 +0800 Subject: [PATCH 04/20] fix: tag supported when count on subtable --- tests/system-test/2-query/group_partition.py | 21 ++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tests/system-test/2-query/group_partition.py b/tests/system-test/2-query/group_partition.py index 50325579c4..73be70defa 100644 --- a/tests/system-test/2-query/group_partition.py +++ b/tests/system-test/2-query/group_partition.py @@ -91,6 +91,25 @@ 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 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} partition by tbname") + tdSql.checkRows(1) + tdSql.checkData(0, 1, i) + tdSql.checkData(0, 2, i*10) + def test_multi_group_key(self, check_num, nonempty_tb_num): # multi tag/tbname @@ -235,12 +254,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) From 3257c7c08216af559cf6a7aa656719380e630d61 Mon Sep 17 00:00:00 2001 From: factosea <285808407@qq.com> Date: Mon, 1 Apr 2024 19:44:26 +0800 Subject: [PATCH 05/20] fix: tag is null when table is empty --- source/libs/executor/src/executil.c | 3 +++ source/libs/executor/src/scanoperator.c | 5 +++-- source/libs/parser/src/parTranslater.c | 22 +++++++++++++++++----- source/libs/planner/src/planLogicCreater.c | 3 +++ 4 files changed, 26 insertions(+), 7 deletions(-) diff --git a/source/libs/executor/src/executil.c b/source/libs/executor/src/executil.c index bb89fb587b..1d58666625 100644 --- a/source/libs/executor/src/executil.c +++ b/source/libs/executor/src/executil.c @@ -2132,6 +2132,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 51edfcb42c..49006186bb 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/parser/src/parTranslater.c b/source/libs/parser/src/parTranslater.c index 6e34ab1b3b..72cc2df632 100644 --- a/source/libs/parser/src/parTranslater.c +++ b/source/libs/parser/src/parTranslater.c @@ -2702,6 +2702,15 @@ static bool hasTbnameFunction(SNodeList* pPartitionByList) { 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; @@ -2795,15 +2804,18 @@ static EDealRes doCheckAggColCoexist(SNode** pNode, void* pContext) { return DEAL_RES_IGNORE_CHILD; } SNode* pPartKey = NULL; - bool partionByTbname = hasTbnameFunction(((SSelectStmt*)pCxt->pTranslateCxt->pCurrStmt)->pPartitionByList); + 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 (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; 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; From f95c57695fbe5f465890e4041c60dedaab6fd279 Mon Sep 17 00:00:00 2001 From: factosea <285808407@qq.com> Date: Wed, 3 Apr 2024 13:56:52 +0800 Subject: [PATCH 06/20] add test case --- tests/system-test/2-query/count.py | 2 ++ tests/system-test/2-query/csum.py | 2 ++ tests/system-test/2-query/group_partition.py | 13 ++++++++++++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/tests/system-test/2-query/count.py b/tests/system-test/2-query/count.py index f94e9eac00..6d34dde791 100644 --- a/tests/system-test/2-query/count.py +++ b/tests/system-test/2-query/count.py @@ -105,6 +105,8 @@ class TDTestCase: 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 f5e7456049..e3ac529d5e 100644 --- a/tests/system-test/2-query/csum.py +++ b/tests/system-test/2-query/csum.py @@ -472,6 +472,8 @@ class TDTestCase: # bug need fix 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) tdSql.query("select tbname , csum(st1) from db.stb1 partition by tbname slimit 1") diff --git a/tests/system-test/2-query/group_partition.py b/tests/system-test/2-query/group_partition.py index 73be70defa..7c5f110cc9 100644 --- a/tests/system-test/2-query/group_partition.py +++ b/tests/system-test/2-query/group_partition.py @@ -100,11 +100,19 @@ class TDTestCase: 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} partition by tbname") tdSql.checkRows(1) tdSql.checkData(0, 1, i) @@ -116,6 +124,9 @@ class TDTestCase: 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) From ad1c474dc6286bda868f83eecc174a910a61f06a Mon Sep 17 00:00:00 2001 From: factosea <285808407@qq.com> Date: Wed, 3 Apr 2024 15:29:08 +0800 Subject: [PATCH 07/20] fix: logFileHandle NULL --- source/util/src/tlog.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/source/util/src/tlog.c b/source/util/src/tlog.c index 16ca1b64c3..7802b77e6a 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; } } @@ -347,10 +348,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) { From 8c34d14a9bf26ecb5775a3666f1ded313ed686ce Mon Sep 17 00:00:00 2001 From: factosea <285808407@qq.com> Date: Wed, 3 Apr 2024 17:26:51 +0800 Subject: [PATCH 08/20] fix test case --- tests/script/tsim/query/count_spread.sim | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) 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 From 049de874de13168daa23f20508811b0d147de644 Mon Sep 17 00:00:00 2001 From: factosea <285808407@qq.com> Date: Sun, 7 Apr 2024 14:48:54 +0800 Subject: [PATCH 09/20] test case --- tests/system-test/2-query/group_partition.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tests/system-test/2-query/group_partition.py b/tests/system-test/2-query/group_partition.py index 7c5f110cc9..7bd5ff7954 100644 --- a/tests/system-test/2-query/group_partition.py +++ b/tests/system-test/2-query/group_partition.py @@ -113,11 +113,24 @@ class TDTestCase: 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.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 From 30c0d944d93b56f75683e2fe27fc3c0733e80adf Mon Sep 17 00:00:00 2001 From: factosea <285808407@qq.com> Date: Sun, 7 Apr 2024 17:45:45 +0800 Subject: [PATCH 10/20] fix test case --- tests/system-test/2-query/group_partition.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/system-test/2-query/group_partition.py b/tests/system-test/2-query/group_partition.py index 7bd5ff7954..7c3c0555c9 100644 --- a/tests/system-test/2-query/group_partition.py +++ b/tests/system-test/2-query/group_partition.py @@ -126,7 +126,7 @@ class TDTestCase: tdSql.checkData(0, 1, i) tdSql.checkData(0, 2, i*10) - tdSql.query(f"select t1, t2, t3, count(*) from {self.stable} partition by c1, tbname order by tbname desc") + 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) From e6764af48f0a2cd33e98a2ee5c6feecf7c5cdf84 Mon Sep 17 00:00:00 2001 From: dapan1121 Date: Mon, 8 Apr 2024 11:12:18 +0800 Subject: [PATCH 11/20] fix: heartbeat error handling issue --- source/client/src/clientHb.c | 5 +++++ 1 file changed, 5 insertions(+) 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) { From 16e0fc44e24f33474c74596da6d8a798a69db9c5 Mon Sep 17 00:00:00 2001 From: Shungang Li Date: Mon, 8 Apr 2024 19:55:11 +0800 Subject: [PATCH 12/20] fix: arb reply to set-assigned no matter what error --- source/dnode/mnode/impl/src/mndMain.c | 2 +- source/libs/sync/src/syncMain.c | 53 +++++++++++++++------------ 2 files changed, 31 insertions(+), 24 deletions(-) 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/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; } From 36066d8f6353f2dc446f201c09777aab8a632aa6 Mon Sep 17 00:00:00 2001 From: factosea <285808407@qq.com> Date: Tue, 9 Apr 2024 15:22:16 +0800 Subject: [PATCH 13/20] fix: multiresFunction --- source/libs/parser/src/parTranslater.c | 1 - .../system-test/2-query/multi_res_function.py | 130 ++++++++++++++++++ 2 files changed, 130 insertions(+), 1 deletion(-) create mode 100644 tests/system-test/2-query/multi_res_function.py diff --git a/source/libs/parser/src/parTranslater.c b/source/libs/parser/src/parTranslater.c index 2110013310..e236c5194e 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; } 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()) From 22b0067819a42ecf228d68ee5d07441b1eb5283a Mon Sep 17 00:00:00 2001 From: Haojun Liao Date: Tue, 9 Apr 2024 17:58:03 +0800 Subject: [PATCH 14/20] fix(stream): add dropped stream task check. --- source/dnode/vnode/src/tq/tq.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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 From 239844e3b09827912a91141f17902614ac113577 Mon Sep 17 00:00:00 2001 From: factosea <285808407@qq.com> Date: Tue, 9 Apr 2024 18:00:48 +0800 Subject: [PATCH 15/20] feat/binary without length supported --- source/libs/function/src/builtins.c | 4 +- source/libs/parser/inc/sql.y | 7 + source/libs/parser/src/parAstCreater.c | 4 +- source/libs/parser/src/sql.c | 8721 ++++++++++++++---------- tests/system-test/2-query/cast.py | 35 + 5 files changed, 5099 insertions(+), 3672 deletions(-) diff --git a/source/libs/function/src/builtins.c b/source/libs/function/src/builtins.c index b4af77fafc..9cd6ef6685 100644 --- a/source/libs/function/src/builtins.c +++ b/source/libs/function/src/builtins.c @@ -2017,9 +2017,9 @@ 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 + if (para2Bytes <= 0 || para2Bytes > TSDB_MAX_BINARY_LEN - VARSTR_HEADER_SIZE) { // 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"); + "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..13181a5399 100755 --- a/source/libs/parser/inc/sql.y +++ b/source/libs/parser/inc/sql.y @@ -415,6 +415,10 @@ 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_binary { SDataType } +%destructor type_name_bin { } +type_name_binary(A) ::= BINARY. { A = createVarLenDataType(TSDB_DATA_TYPE_BINARY, NULL); } + %type tags_def_opt { SNodeList* } %destructor tags_def_opt { nodesDestroyList($$); } tags_def_opt(A) ::= . { A = NULL; } @@ -1111,6 +1115,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_binary(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..876a850ccd 100644 --- a/source/libs/parser/src/parAstCreater.c +++ b/source/libs/parser/src/parAstCreater.c @@ -1601,7 +1601,9 @@ 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(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/sql.c b/source/libs/parser/src/sql.c index b8d1bb7f27..89d4913852 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 519 #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; + EOperatorType yy2; + SDataType yy34; + int64_t yy57; + SShowTablesOption yy61; + SNode* yy110; + int8_t yy203; + EShowKind yy291; + int32_t yy376; + SAlterOption yy491; + EFillMode yy534; + EOrder yy596; + SNodeList* yy652; + EJoinType yy684; + STokenPair yy825; + SToken yy863; + ENullOrder yy991; + bool yy1019; } 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 892 +#define YYNRULE 693 +#define YYNRULE_WITH_ACTION 693 #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 891 +#define YY_MIN_SHIFTREDUCE 1325 +#define YY_MAX_SHIFTREDUCE 2017 +#define YY_ERROR_ACTION 2018 +#define YY_ACCEPT_ACTION 2019 +#define YY_NO_ACTION 2020 +#define YY_MIN_REDUCE 2021 +#define YY_MAX_REDUCE 2713 /************* End control #defines *******************************************/ #define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0]))) @@ -220,883 +575,945 @@ typedef union { ** yy_default[] Default action for each state. ** *********** Begin parsing tables **********************************************/ -#define YY_ACTTAB_COUNT (3048) +#define YY_ACTTAB_COUNT (3349) 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 */ 458, 769, 504, 443, 2202, 2471, 2200, 503, 170, 768, + /* 10 */ 511, 172, 47, 45, 1939, 425, 2213, 33, 458, 2213, + /* 20 */ 439, 735, 1778, 40, 39, 2263, 172, 46, 44, 43, + /* 30 */ 42, 41, 35, 96, 2213, 1865, 2107, 1776, 40, 39, + /* 40 */ 1472, 2511, 46, 44, 43, 42, 41, 1803, 2351, 2529, + /* 50 */ 412, 753, 148, 712, 756, 792, 2684, 571, 569, 2206, + /* 60 */ 390, 445, 445, 442, 218, 1860, 2348, 780, 792, 2265, + /* 70 */ 66, 19, 797, 797, 2690, 204, 408, 696, 1784, 2685, + /* 80 */ 742, 1474, 2529, 40, 39, 2044, 2263, 46, 44, 43, + /* 90 */ 42, 41, 753, 148, 2470, 609, 2477, 456, 775, 604, + /* 100 */ 695, 606, 605, 2064, 888, 792, 843, 15, 736, 863, + /* 110 */ 862, 861, 860, 467, 734, 859, 858, 153, 853, 852, + /* 120 */ 851, 850, 849, 848, 847, 152, 841, 840, 839, 466, + /* 130 */ 465, 836, 835, 834, 184, 183, 833, 620, 2510, 1804, + /* 140 */ 2477, 2549, 50, 1867, 1868, 115, 2512, 779, 2514, 2515, + /* 150 */ 774, 445, 797, 1803, 614, 2390, 62, 187, 741, 2603, + /* 160 */ 461, 2684, 797, 435, 2599, 302, 2611, 752, 172, 140, + /* 170 */ 751, 845, 2684, 62, 793, 2211, 2213, 693, 206, 740, + /* 180 */ 204, 1838, 1848, 1983, 2685, 742, 2633, 1806, 1866, 1869, + /* 190 */ 740, 204, 50, 624, 139, 2685, 742, 2021, 2689, 416, + /* 200 */ 415, 647, 175, 1779, 2033, 1777, 203, 2611, 2612, 832, + /* 210 */ 146, 2616, 40, 39, 1784, 1806, 46, 44, 43, 42, + /* 220 */ 41, 138, 137, 136, 135, 134, 133, 132, 131, 130, + /* 230 */ 830, 163, 162, 827, 826, 825, 160, 1782, 1783, 1835, + /* 240 */ 62, 1837, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, + /* 250 */ 771, 795, 794, 1859, 1861, 1862, 1863, 1864, 2, 47, + /* 260 */ 45, 2351, 1657, 1658, 388, 2511, 1801, 439, 2043, 1778, + /* 270 */ 2265, 414, 413, 554, 649, 400, 574, 488, 776, 2349, + /* 280 */ 780, 573, 1865, 100, 1776, 40, 39, 760, 1943, 46, + /* 290 */ 44, 43, 42, 41, 1803, 2487, 651, 534, 612, 575, + /* 300 */ 650, 605, 2064, 2007, 389, 536, 2529, 1656, 1659, 2042, + /* 310 */ 29, 684, 1860, 451, 1685, 514, 1803, 1529, 19, 1894, + /* 320 */ 2477, 2491, 775, 2477, 306, 1784, 682, 1835, 680, 271, + /* 330 */ 270, 1520, 822, 821, 820, 1524, 819, 1526, 1527, 770, + /* 340 */ 815, 306, 1535, 812, 1537, 1538, 809, 806, 803, 2487, + /* 350 */ 304, 888, 411, 174, 15, 46, 44, 43, 42, 41, + /* 360 */ 306, 2150, 2510, 522, 2477, 2549, 2493, 2495, 436, 115, + /* 370 */ 2512, 779, 2514, 2515, 774, 2491, 797, 797, 304, 150, + /* 380 */ 621, 157, 2574, 2603, 1895, 1984, 2188, 435, 2599, 1875, + /* 390 */ 1867, 1868, 2399, 2338, 2317, 1803, 562, 561, 560, 559, + /* 400 */ 558, 553, 552, 551, 550, 394, 492, 1972, 306, 540, + /* 410 */ 539, 538, 537, 531, 530, 529, 2022, 524, 523, 409, + /* 420 */ 2493, 2496, 651, 515, 1625, 1626, 650, 185, 1838, 1848, + /* 430 */ 1644, 797, 696, 494, 490, 1866, 1869, 129, 622, 2344, + /* 440 */ 128, 127, 126, 125, 124, 123, 122, 121, 120, 276, + /* 450 */ 1779, 410, 1777, 2331, 823, 1839, 565, 728, 727, 1970, + /* 460 */ 1971, 1973, 1974, 1975, 37, 310, 36, 437, 1889, 1890, + /* 470 */ 1891, 1892, 1893, 1897, 1898, 1899, 1900, 1637, 1638, 753, + /* 480 */ 148, 1747, 314, 315, 1782, 1783, 1835, 313, 1837, 1840, + /* 490 */ 1841, 1842, 1843, 1844, 1845, 1846, 1847, 771, 795, 794, + /* 500 */ 1859, 1861, 1862, 1863, 1864, 2, 12, 47, 45, 698, + /* 510 */ 2390, 450, 449, 1836, 173, 439, 161, 1778, 229, 364, + /* 520 */ 12, 694, 830, 163, 162, 827, 826, 825, 160, 239, + /* 530 */ 1865, 741, 1776, 607, 2684, 2072, 362, 75, 748, 891, + /* 540 */ 74, 40, 39, 564, 228, 46, 44, 43, 42, 41, + /* 550 */ 391, 349, 740, 204, 51, 351, 1839, 2685, 742, 12, + /* 560 */ 1860, 10, 237, 586, 584, 581, 19, 793, 2211, 2265, + /* 570 */ 197, 194, 2110, 1784, 2689, 460, 424, 2684, 2258, 2260, + /* 580 */ 879, 875, 871, 867, 2252, 348, 2263, 209, 753, 148, + /* 590 */ 1529, 54, 755, 202, 2611, 2612, 2688, 146, 2616, 888, + /* 600 */ 2685, 2687, 15, 62, 1520, 822, 821, 820, 1524, 819, + /* 610 */ 1526, 1527, 818, 815, 1836, 1535, 812, 1537, 1538, 809, + /* 620 */ 806, 803, 2689, 793, 2211, 2684, 114, 40, 39, 321, + /* 630 */ 2196, 46, 44, 43, 42, 41, 1365, 2198, 1867, 1868, + /* 640 */ 1391, 63, 1390, 139, 2688, 666, 665, 664, 2685, 2686, + /* 650 */ 652, 172, 656, 145, 660, 1372, 241, 144, 659, 2214, + /* 660 */ 607, 789, 2072, 658, 663, 418, 417, 520, 2327, 657, + /* 670 */ 526, 2327, 653, 556, 2327, 1392, 1838, 1848, 1367, 1370, + /* 680 */ 1371, 40, 39, 1866, 1869, 46, 44, 43, 42, 41, + /* 690 */ 454, 85, 84, 507, 2259, 2260, 217, 198, 1779, 2618, + /* 700 */ 1777, 1804, 205, 2611, 2612, 309, 146, 2616, 846, 499, + /* 710 */ 497, 2172, 308, 762, 62, 2575, 117, 2019, 220, 224, + /* 720 */ 387, 222, 306, 486, 227, 2615, 483, 479, 475, 472, + /* 730 */ 500, 279, 1782, 1783, 1835, 2194, 1837, 1840, 1841, 1842, + /* 740 */ 1843, 1844, 1845, 1846, 1847, 771, 795, 794, 1859, 1861, + /* 750 */ 1862, 1863, 1864, 2, 47, 45, 1870, 2511, 1394, 1395, + /* 760 */ 91, 1778, 439, 90, 1778, 666, 665, 664, 793, 2211, + /* 770 */ 756, 306, 656, 145, 660, 1964, 1776, 1865, 659, 1776, + /* 780 */ 113, 1955, 601, 658, 663, 418, 417, 2511, 55, 657, + /* 790 */ 1965, 599, 653, 2265, 595, 591, 2265, 151, 2529, 470, + /* 800 */ 776, 2265, 2074, 434, 469, 2203, 749, 1860, 444, 502, + /* 810 */ 788, 501, 2477, 2263, 775, 2041, 711, 1784, 2263, 2040, + /* 820 */ 1784, 1803, 464, 463, 1565, 1566, 2039, 1372, 2529, 129, + /* 830 */ 89, 1963, 128, 127, 126, 125, 124, 123, 122, 121, + /* 840 */ 120, 500, 2477, 888, 775, 1484, 888, 1785, 2300, 48, + /* 850 */ 712, 1370, 1371, 2684, 2510, 274, 2511, 2549, 1746, 273, + /* 860 */ 1483, 115, 2512, 779, 2514, 2515, 774, 2215, 797, 773, + /* 870 */ 2477, 2690, 204, 187, 2477, 2603, 2685, 742, 185, 435, + /* 880 */ 2599, 2477, 306, 2265, 2510, 1867, 1868, 2549, 453, 452, + /* 890 */ 459, 115, 2512, 779, 2514, 2515, 774, 2529, 797, 2038, + /* 900 */ 2263, 1807, 2634, 2704, 2332, 2603, 793, 2211, 2421, 435, + /* 910 */ 2599, 2477, 282, 775, 40, 39, 793, 2211, 46, 44, + /* 920 */ 43, 42, 41, 1838, 1848, 1488, 508, 576, 2151, 99, + /* 930 */ 1866, 1869, 397, 643, 642, 423, 509, 686, 793, 2211, + /* 940 */ 1487, 2034, 1779, 2186, 1777, 1779, 2647, 1777, 2284, 60, + /* 950 */ 793, 2211, 2618, 2510, 2477, 2187, 2549, 709, 528, 477, + /* 960 */ 380, 2512, 779, 2514, 2515, 774, 772, 797, 761, 2568, + /* 970 */ 541, 1391, 1807, 1390, 645, 644, 1782, 1783, 2614, 1782, + /* 980 */ 1783, 1835, 1839, 1837, 1840, 1841, 1842, 1843, 1844, 1845, + /* 990 */ 1846, 1847, 771, 795, 794, 1859, 1861, 1862, 1863, 1864, + /* 1000 */ 2, 47, 45, 257, 2265, 673, 1392, 578, 731, 439, + /* 1010 */ 547, 1778, 793, 2211, 546, 1788, 107, 793, 2211, 180, + /* 1020 */ 685, 2264, 545, 2037, 1865, 832, 1776, 2618, 641, 637, + /* 1030 */ 633, 629, 542, 256, 2511, 2036, 272, 543, 40, 39, + /* 1040 */ 1836, 2204, 46, 44, 43, 42, 41, 776, 9, 2641, + /* 1050 */ 1807, 2035, 676, 2613, 1860, 1807, 793, 2211, 2511, 670, + /* 1060 */ 668, 43, 42, 41, 195, 1803, 269, 1784, 793, 2211, + /* 1070 */ 2032, 776, 1936, 2654, 97, 2529, 623, 254, 2477, 830, + /* 1080 */ 163, 162, 827, 826, 825, 160, 14, 13, 2208, 2477, + /* 1090 */ 2477, 775, 2418, 888, 793, 2211, 48, 793, 2211, 2529, + /* 1100 */ 96, 2014, 737, 732, 725, 721, 2477, 71, 549, 548, + /* 1110 */ 70, 2049, 883, 2477, 277, 775, 2688, 285, 2031, 275, + /* 1120 */ 1808, 662, 661, 729, 1896, 2477, 2207, 793, 2211, 857, + /* 1130 */ 855, 2510, 1867, 1868, 2549, 199, 293, 77, 115, 2512, + /* 1140 */ 779, 2514, 2515, 774, 244, 797, 2430, 759, 793, 2211, + /* 1150 */ 2704, 2498, 2603, 253, 246, 2510, 435, 2599, 2549, 2030, + /* 1160 */ 251, 618, 115, 2512, 779, 2514, 2515, 774, 318, 797, + /* 1170 */ 1838, 1848, 824, 2477, 2704, 2256, 2603, 1866, 1869, 243, + /* 1180 */ 435, 2599, 793, 2211, 793, 2211, 149, 793, 2211, 2574, + /* 1190 */ 88, 1808, 1779, 1908, 1777, 793, 2211, 712, 1706, 1707, + /* 1200 */ 2684, 764, 790, 2575, 791, 654, 34, 345, 2013, 2500, + /* 1210 */ 2431, 2029, 2028, 200, 2477, 462, 1901, 2027, 2690, 204, + /* 1220 */ 2026, 2025, 2024, 2685, 742, 767, 1782, 1783, 1835, 1469, + /* 1230 */ 1837, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 771, + /* 1240 */ 795, 794, 1859, 1861, 1862, 1863, 1864, 2, 47, 45, + /* 1250 */ 2511, 828, 829, 1374, 2256, 2256, 439, 358, 1778, 1802, + /* 1260 */ 2242, 712, 2310, 776, 2684, 723, 2477, 2477, 286, 1808, + /* 1270 */ 2189, 1865, 2477, 1776, 1808, 2477, 2477, 2477, 2623, 1928, + /* 1280 */ 1928, 2511, 2690, 204, 1836, 3, 141, 2685, 742, 262, + /* 1290 */ 264, 2529, 260, 263, 776, 2094, 2677, 53, 87, 266, + /* 1300 */ 655, 1860, 265, 154, 518, 2477, 2092, 775, 268, 464, + /* 1310 */ 463, 267, 101, 745, 1784, 2083, 688, 667, 687, 1792, + /* 1320 */ 2081, 211, 2529, 161, 1467, 161, 112, 719, 669, 2016, + /* 1330 */ 2017, 49, 1865, 49, 1785, 109, 2477, 671, 775, 299, + /* 1340 */ 888, 188, 674, 15, 161, 1935, 64, 2510, 143, 1787, + /* 1350 */ 2549, 49, 14, 13, 115, 2512, 779, 2514, 2515, 774, + /* 1360 */ 2530, 797, 1860, 49, 1427, 312, 2704, 76, 2603, 2148, + /* 1370 */ 159, 161, 435, 2599, 2147, 1784, 324, 323, 2510, 1867, + /* 1380 */ 1868, 2549, 691, 326, 325, 115, 2512, 779, 2514, 2515, + /* 1390 */ 774, 1886, 797, 697, 328, 327, 1786, 2704, 1701, 2603, + /* 1400 */ 1704, 766, 1959, 435, 2599, 1428, 1969, 2511, 1968, 2336, + /* 1410 */ 744, 330, 329, 332, 331, 2637, 291, 1838, 1848, 758, + /* 1420 */ 776, 1902, 2622, 73, 1866, 1869, 1849, 334, 333, 336, + /* 1430 */ 335, 338, 337, 712, 340, 339, 2684, 2065, 1654, 1779, + /* 1440 */ 316, 1777, 785, 2075, 712, 320, 1514, 2684, 2529, 342, + /* 1450 */ 341, 344, 343, 801, 2690, 204, 159, 161, 726, 2685, + /* 1460 */ 742, 142, 2477, 159, 775, 2690, 204, 468, 757, 430, + /* 1470 */ 2685, 742, 733, 1782, 1783, 1835, 426, 1837, 1840, 1841, + /* 1480 */ 1842, 1843, 1844, 1845, 1846, 1847, 771, 795, 794, 1859, + /* 1490 */ 1861, 1862, 1863, 1864, 2, 881, 782, 837, 357, 2337, + /* 1500 */ 1793, 2071, 1788, 838, 2510, 705, 2253, 2549, 2638, 2648, + /* 1510 */ 754, 115, 2512, 779, 2514, 2515, 774, 1790, 797, 712, + /* 1520 */ 2511, 1446, 2684, 2704, 301, 2603, 305, 1444, 1542, 435, + /* 1530 */ 2599, 1547, 1554, 776, 1796, 1798, 1552, 298, 164, 2173, + /* 1540 */ 2690, 204, 471, 5, 476, 2685, 742, 406, 795, 794, + /* 1550 */ 1859, 1861, 1862, 1863, 1864, 484, 485, 1811, 496, 495, + /* 1560 */ 212, 2529, 393, 392, 1789, 213, 498, 1678, 215, 352, + /* 1570 */ 512, 1801, 446, 1802, 519, 2477, 226, 775, 521, 746, + /* 1580 */ 525, 527, 567, 532, 544, 1865, 555, 455, 557, 2511, + /* 1590 */ 2329, 563, 566, 568, 579, 580, 232, 577, 231, 582, + /* 1600 */ 583, 1809, 776, 234, 585, 602, 587, 4, 603, 610, + /* 1610 */ 611, 242, 613, 1804, 615, 1860, 93, 2510, 245, 1810, + /* 1620 */ 2549, 2511, 616, 1812, 115, 2512, 779, 2514, 2515, 774, + /* 1630 */ 2529, 797, 617, 248, 776, 250, 2578, 619, 2603, 1813, + /* 1640 */ 2345, 94, 435, 2599, 2477, 95, 775, 625, 646, 255, + /* 1650 */ 118, 677, 648, 678, 2201, 690, 259, 2197, 261, 166, + /* 1660 */ 2408, 384, 2529, 692, 155, 98, 167, 2199, 1805, 2391, + /* 1670 */ 2195, 168, 169, 353, 700, 701, 2477, 278, 775, 699, + /* 1680 */ 283, 730, 706, 707, 2625, 281, 2510, 2405, 2404, 2549, + /* 1690 */ 783, 704, 8, 115, 2512, 779, 2514, 2515, 774, 739, + /* 1700 */ 797, 716, 292, 2653, 2652, 2576, 179, 2603, 717, 288, + /* 1710 */ 714, 435, 2599, 290, 431, 294, 715, 2707, 2510, 295, + /* 1720 */ 2511, 2549, 297, 296, 747, 115, 2512, 779, 2514, 2515, + /* 1730 */ 774, 1928, 797, 776, 750, 147, 2683, 763, 1806, 2603, + /* 1740 */ 300, 1933, 2619, 435, 2599, 1931, 191, 61, 307, 156, + /* 1750 */ 786, 354, 781, 1769, 2359, 1745, 2358, 2511, 2357, 355, + /* 1760 */ 441, 2529, 2584, 158, 356, 787, 2212, 106, 2469, 2468, + /* 1770 */ 776, 108, 2464, 2463, 2455, 2477, 799, 775, 1349, 2454, + /* 1780 */ 2446, 1, 359, 882, 347, 448, 447, 1770, 2445, 2461, + /* 1790 */ 2460, 2452, 2451, 207, 885, 2440, 2439, 2458, 2529, 165, + /* 1800 */ 2457, 795, 794, 1859, 1861, 1862, 1863, 1864, 887, 2449, + /* 1810 */ 371, 363, 2477, 2429, 775, 2448, 2437, 2510, 2436, 2434, + /* 1820 */ 2549, 2433, 2257, 404, 116, 2512, 779, 2514, 2515, 774, + /* 1830 */ 383, 797, 2511, 52, 382, 361, 372, 2428, 2603, 2427, + /* 1840 */ 82, 2422, 2602, 2599, 474, 776, 473, 405, 1729, 1730, + /* 1850 */ 478, 210, 2420, 480, 2510, 481, 482, 2549, 1728, 2419, + /* 1860 */ 407, 116, 2512, 779, 2514, 2515, 774, 2417, 797, 2511, + /* 1870 */ 487, 2416, 489, 2529, 2415, 2603, 491, 2414, 1717, 765, + /* 1880 */ 2599, 2395, 776, 493, 214, 2394, 216, 2477, 83, 775, + /* 1890 */ 1681, 1680, 2511, 2372, 2371, 2370, 505, 506, 2369, 2368, + /* 1900 */ 2319, 2316, 510, 513, 1624, 776, 2315, 2309, 517, 516, + /* 1910 */ 2529, 2306, 219, 2305, 86, 2304, 2303, 2308, 2307, 221, + /* 1920 */ 2302, 2301, 2299, 2298, 2477, 2297, 775, 223, 533, 777, + /* 1930 */ 2296, 535, 2549, 2529, 2294, 2293, 116, 2512, 779, 2514, + /* 1940 */ 2515, 774, 2292, 797, 2291, 2314, 2290, 2477, 2289, 775, + /* 1950 */ 2603, 2288, 2312, 2295, 399, 2599, 2287, 2286, 2285, 2283, + /* 1960 */ 2282, 2281, 2280, 2279, 2278, 2277, 2510, 2276, 225, 2549, + /* 1970 */ 2275, 92, 2274, 176, 2512, 779, 2514, 2515, 774, 2273, + /* 1980 */ 797, 2313, 2511, 2311, 2272, 2271, 2270, 2269, 1630, 2510, + /* 1990 */ 230, 2268, 2549, 2267, 570, 776, 177, 2512, 779, 2514, + /* 2000 */ 2515, 774, 572, 797, 2511, 2266, 2113, 2112, 233, 2111, + /* 2010 */ 1485, 1489, 1481, 2109, 235, 713, 2644, 776, 395, 396, + /* 2020 */ 236, 2106, 589, 2529, 590, 2105, 2098, 588, 593, 592, + /* 2030 */ 2085, 597, 596, 2060, 600, 186, 594, 2477, 1373, 775, + /* 2040 */ 598, 2059, 79, 80, 238, 2529, 2393, 2389, 2379, 2367, + /* 2050 */ 743, 2705, 2497, 196, 240, 249, 247, 608, 2366, 2477, + /* 2060 */ 2343, 775, 2190, 2108, 252, 2511, 2104, 2102, 626, 627, + /* 2070 */ 628, 630, 2100, 631, 632, 634, 2097, 636, 776, 2510, + /* 2080 */ 635, 638, 2549, 2511, 1420, 2080, 116, 2512, 779, 2514, + /* 2090 */ 2515, 774, 640, 797, 639, 2078, 776, 1558, 1559, 2191, + /* 2100 */ 2603, 2510, 2079, 2077, 2549, 2600, 2529, 2056, 176, 2512, + /* 2110 */ 779, 2514, 2515, 774, 2192, 797, 1471, 1470, 1468, 1466, + /* 2120 */ 2477, 1465, 775, 1464, 2529, 72, 1463, 1462, 1459, 854, + /* 2130 */ 258, 856, 1457, 2095, 419, 2093, 2084, 1458, 2477, 420, + /* 2140 */ 775, 1456, 428, 2511, 421, 672, 2082, 422, 675, 2055, + /* 2150 */ 2054, 2645, 2053, 679, 2052, 681, 776, 2051, 119, 683, + /* 2160 */ 429, 1711, 2510, 1713, 2511, 2549, 1710, 1715, 2392, 381, + /* 2170 */ 2512, 779, 2514, 2515, 774, 28, 797, 776, 67, 280, + /* 2180 */ 2510, 2388, 1687, 2549, 2529, 1689, 1691, 381, 2512, 779, + /* 2190 */ 2514, 2515, 774, 2378, 797, 702, 2365, 2364, 2477, 718, + /* 2200 */ 775, 2511, 56, 57, 2689, 2529, 427, 20, 17, 1986, + /* 2210 */ 703, 6, 30, 287, 773, 7, 1960, 289, 724, 2477, + /* 2220 */ 720, 775, 2511, 284, 722, 1666, 708, 21, 1665, 171, + /* 2230 */ 710, 22, 190, 201, 178, 776, 1967, 2498, 189, 31, + /* 2240 */ 2510, 81, 2529, 2549, 32, 65, 24, 374, 2512, 779, + /* 2250 */ 2514, 2515, 774, 23, 797, 1954, 2477, 2001, 775, 2006, + /* 2260 */ 2000, 2510, 432, 2529, 2549, 2005, 2007, 2004, 177, 2512, + /* 2270 */ 779, 2514, 2515, 774, 433, 797, 303, 2477, 1925, 775, + /* 2280 */ 1924, 59, 181, 2363, 2511, 2342, 102, 103, 25, 13, + /* 2290 */ 1877, 1876, 1794, 738, 1887, 1852, 817, 776, 2510, 438, + /* 2300 */ 1851, 2549, 38, 182, 1828, 380, 2512, 779, 2514, 2515, + /* 2310 */ 774, 1850, 797, 11, 2569, 16, 26, 192, 1820, 2510, + /* 2320 */ 311, 27, 2549, 2706, 58, 2529, 381, 2512, 779, 2514, + /* 2330 */ 2515, 774, 18, 797, 778, 784, 2341, 1962, 193, 2477, + /* 2340 */ 104, 775, 317, 69, 319, 105, 322, 2554, 109, 1854, + /* 2350 */ 2553, 798, 800, 2511, 796, 457, 68, 804, 1543, 802, + /* 2360 */ 805, 440, 807, 346, 1540, 1539, 776, 808, 810, 1536, + /* 2370 */ 811, 813, 1530, 2511, 814, 816, 1553, 1528, 1549, 1534, + /* 2380 */ 110, 2510, 111, 78, 2549, 1418, 776, 1533, 381, 2512, + /* 2390 */ 779, 2514, 2515, 774, 2529, 797, 1453, 1450, 831, 1532, + /* 2400 */ 1531, 1449, 1448, 1447, 1445, 1443, 1442, 1441, 2477, 842, + /* 2410 */ 775, 1479, 844, 1478, 2529, 208, 1439, 1438, 1437, 1436, + /* 2420 */ 1435, 1434, 1433, 1475, 1473, 1430, 1429, 1426, 2477, 1425, + /* 2430 */ 775, 1424, 1423, 2103, 2101, 864, 866, 865, 868, 2099, + /* 2440 */ 872, 870, 869, 2096, 873, 876, 874, 877, 878, 2076, + /* 2450 */ 689, 880, 2050, 2549, 2511, 1362, 884, 376, 2512, 779, + /* 2460 */ 2514, 2515, 774, 1350, 797, 890, 350, 776, 886, 889, + /* 2470 */ 2510, 2020, 1780, 2549, 2020, 360, 2020, 366, 2512, 779, + /* 2480 */ 2514, 2515, 774, 2020, 797, 2020, 2020, 2020, 2020, 2020, + /* 2490 */ 2020, 2020, 2020, 2020, 2020, 2529, 2020, 2020, 2020, 2020, + /* 2500 */ 2511, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2477, + /* 2510 */ 2020, 775, 2020, 776, 2020, 2020, 2020, 2020, 2020, 2020, + /* 2520 */ 2020, 2020, 2020, 2511, 2020, 2020, 2020, 2020, 2020, 2020, + /* 2530 */ 2020, 2020, 2020, 2020, 2020, 2020, 776, 2020, 2020, 2020, + /* 2540 */ 2020, 2529, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 2550 */ 2020, 2510, 2020, 2020, 2549, 2477, 2020, 775, 365, 2512, + /* 2560 */ 779, 2514, 2515, 774, 2529, 797, 2020, 2020, 2020, 2020, + /* 2570 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2477, 2020, + /* 2580 */ 775, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 2590 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2510, 2020, 2020, + /* 2600 */ 2549, 2511, 2020, 2020, 367, 2512, 779, 2514, 2515, 774, + /* 2610 */ 2020, 797, 2020, 2020, 776, 2020, 2020, 2020, 2020, 2020, + /* 2620 */ 2510, 2020, 2511, 2549, 2020, 2020, 2020, 373, 2512, 779, + /* 2630 */ 2514, 2515, 774, 2020, 797, 776, 2020, 2511, 2020, 2020, + /* 2640 */ 2020, 2020, 2529, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 2650 */ 776, 2020, 2020, 2020, 2020, 2020, 2477, 2020, 775, 2511, + /* 2660 */ 2020, 2020, 2020, 2529, 2020, 2020, 2020, 2020, 2020, 2020, + /* 2670 */ 2020, 2020, 776, 2020, 2020, 2020, 2020, 2477, 2529, 775, + /* 2680 */ 2020, 2020, 2020, 2511, 2020, 2020, 2020, 2020, 2020, 2020, + /* 2690 */ 2020, 2020, 2477, 2020, 775, 2020, 776, 2020, 2510, 2020, + /* 2700 */ 2529, 2549, 2020, 2020, 2020, 377, 2512, 779, 2514, 2515, + /* 2710 */ 774, 2020, 797, 2020, 2477, 2020, 775, 2020, 2020, 2510, + /* 2720 */ 2020, 2020, 2549, 2020, 2529, 2020, 368, 2512, 779, 2514, + /* 2730 */ 2515, 774, 2020, 797, 2510, 2020, 2020, 2549, 2477, 2020, + /* 2740 */ 775, 378, 2512, 779, 2514, 2515, 774, 2020, 797, 2020, + /* 2750 */ 2020, 2020, 2020, 2020, 2020, 2020, 2510, 2020, 2020, 2549, + /* 2760 */ 2020, 2020, 2020, 369, 2512, 779, 2514, 2515, 774, 2020, + /* 2770 */ 797, 2020, 2511, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 2780 */ 2510, 2020, 2020, 2549, 2020, 776, 2020, 379, 2512, 779, + /* 2790 */ 2514, 2515, 774, 2020, 797, 2020, 2020, 2020, 2020, 2020, + /* 2800 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2511, 2020, + /* 2810 */ 2020, 2020, 2020, 2529, 2020, 2020, 2020, 2020, 2020, 2020, + /* 2820 */ 2020, 776, 2020, 2020, 2020, 2020, 2020, 2477, 2020, 775, + /* 2830 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 2840 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2529, + /* 2850 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 2860 */ 2020, 2020, 2020, 2477, 2020, 775, 2020, 2020, 2020, 2510, + /* 2870 */ 2020, 2020, 2549, 2020, 2020, 2020, 370, 2512, 779, 2514, + /* 2880 */ 2515, 774, 2020, 797, 2020, 2020, 2020, 2020, 2020, 2020, + /* 2890 */ 2020, 2020, 2020, 2020, 2511, 2020, 2020, 2020, 2020, 2020, + /* 2900 */ 2020, 2020, 2020, 2020, 2020, 2510, 2020, 776, 2549, 2511, + /* 2910 */ 2020, 2020, 385, 2512, 779, 2514, 2515, 774, 2020, 797, + /* 2920 */ 2020, 2020, 776, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 2930 */ 2020, 2020, 2020, 2020, 2020, 2529, 2020, 2020, 2020, 2020, + /* 2940 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2477, + /* 2950 */ 2529, 775, 2020, 2020, 2020, 2511, 2020, 2020, 2020, 2020, + /* 2960 */ 2020, 2020, 2020, 2020, 2477, 2020, 775, 2020, 776, 2020, + /* 2970 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 2980 */ 2511, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 2990 */ 2020, 2510, 2020, 776, 2549, 2020, 2529, 2020, 386, 2512, + /* 3000 */ 779, 2514, 2515, 774, 2020, 797, 2510, 2020, 2020, 2549, + /* 3010 */ 2477, 2020, 775, 2523, 2512, 779, 2514, 2515, 774, 2020, + /* 3020 */ 797, 2529, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 3030 */ 2020, 2020, 2020, 2020, 2020, 2477, 2020, 775, 2020, 2020, + /* 3040 */ 2020, 2511, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 3050 */ 2020, 2020, 2510, 2020, 776, 2549, 2511, 2020, 2020, 2522, + /* 3060 */ 2512, 779, 2514, 2515, 774, 2020, 797, 2020, 2020, 776, + /* 3070 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2510, 2020, 2020, + /* 3080 */ 2549, 2020, 2529, 2020, 2521, 2512, 779, 2514, 2515, 774, + /* 3090 */ 2020, 797, 2020, 2020, 2020, 2020, 2477, 2529, 775, 2020, + /* 3100 */ 2020, 2020, 2511, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 3110 */ 2020, 2477, 2020, 775, 2020, 776, 2020, 2511, 2020, 2020, + /* 3120 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 3130 */ 776, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2510, 2020, + /* 3140 */ 2020, 2549, 2020, 2529, 2020, 401, 2512, 779, 2514, 2515, + /* 3150 */ 774, 2020, 797, 2510, 2020, 2020, 2549, 2477, 2529, 775, + /* 3160 */ 402, 2512, 779, 2514, 2515, 774, 2020, 797, 2020, 2020, + /* 3170 */ 2020, 2020, 2477, 2020, 775, 2020, 2020, 2020, 2020, 2511, + /* 3180 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 3190 */ 2020, 2020, 776, 2020, 2020, 2020, 2020, 2020, 2020, 2510, + /* 3200 */ 2020, 2020, 2549, 2020, 2020, 2020, 398, 2512, 779, 2514, + /* 3210 */ 2515, 774, 2020, 797, 2510, 2020, 2020, 2549, 2020, 2020, + /* 3220 */ 2529, 403, 2512, 779, 2514, 2515, 774, 2020, 797, 2020, + /* 3230 */ 2020, 2020, 2020, 2020, 2477, 2020, 775, 2511, 2020, 2020, + /* 3240 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 3250 */ 776, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 3260 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 3270 */ 2020, 2020, 2020, 2020, 2020, 2020, 777, 2020, 2529, 2549, + /* 3280 */ 2020, 2020, 2020, 376, 2512, 779, 2514, 2515, 774, 2020, + /* 3290 */ 797, 2020, 2477, 2020, 775, 2020, 2020, 2020, 2020, 2020, + /* 3300 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 3310 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 3320 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 3330 */ 2020, 2020, 2020, 2020, 2510, 2020, 2020, 2549, 2020, 2020, + /* 3340 */ 2020, 375, 2512, 779, 2514, 2515, 774, 2020, 797, }; 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 */ 390, 399, 436, 390, 400, 400, 399, 441, 398, 407, + /* 10 */ 369, 398, 12, 13, 14, 405, 406, 2, 390, 406, + /* 20 */ 20, 370, 22, 8, 9, 415, 398, 12, 13, 14, + /* 30 */ 15, 16, 2, 378, 406, 35, 0, 37, 8, 9, + /* 40 */ 37, 357, 12, 13, 14, 15, 16, 20, 414, 398, + /* 50 */ 395, 369, 370, 487, 370, 20, 490, 416, 417, 404, + /* 60 */ 419, 457, 457, 429, 423, 65, 432, 433, 20, 398, + /* 70 */ 4, 71, 468, 468, 508, 509, 405, 369, 78, 513, + /* 80 */ 514, 78, 398, 8, 9, 357, 415, 12, 13, 14, + /* 90 */ 15, 16, 369, 370, 400, 14, 412, 403, 414, 364, + /* 100 */ 20, 20, 367, 368, 104, 20, 13, 107, 20, 73, + /* 110 */ 74, 75, 76, 77, 463, 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, 20, 454, 20, + /* 140 */ 412, 457, 107, 143, 144, 461, 462, 463, 464, 465, + /* 150 */ 466, 457, 468, 20, 446, 447, 107, 473, 487, 475, + /* 160 */ 390, 490, 468, 479, 480, 483, 484, 485, 398, 487, + /* 170 */ 488, 78, 490, 107, 369, 370, 406, 117, 494, 508, + /* 180 */ 509, 181, 182, 108, 513, 514, 502, 20, 188, 189, + /* 190 */ 508, 509, 107, 70, 389, 513, 514, 0, 3, 39, + /* 200 */ 40, 396, 356, 203, 358, 205, 483, 484, 485, 70, + /* 210 */ 487, 488, 8, 9, 78, 20, 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, 414, 143, 144, 18, 357, 20, 20, 357, 22, + /* 270 */ 398, 111, 112, 27, 114, 71, 30, 69, 370, 432, + /* 280 */ 433, 35, 35, 176, 37, 8, 9, 415, 14, 12, + /* 290 */ 13, 14, 15, 16, 20, 386, 136, 51, 364, 53, + /* 300 */ 140, 367, 368, 108, 58, 59, 398, 188, 189, 357, + /* 310 */ 33, 21, 65, 37, 207, 69, 20, 104, 71, 115, + /* 320 */ 412, 412, 414, 412, 275, 78, 36, 239, 38, 39, + /* 330 */ 40, 118, 119, 120, 121, 122, 123, 124, 125, 126, + /* 340 */ 127, 275, 129, 130, 131, 132, 133, 134, 135, 386, + /* 350 */ 183, 104, 106, 379, 107, 12, 13, 14, 15, 16, + /* 360 */ 275, 387, 454, 117, 412, 457, 457, 458, 459, 461, + /* 370 */ 462, 463, 464, 465, 466, 412, 468, 468, 183, 471, + /* 380 */ 369, 473, 474, 475, 180, 108, 0, 479, 480, 14, + /* 390 */ 143, 144, 394, 147, 148, 20, 150, 151, 152, 153, + /* 400 */ 154, 155, 156, 157, 158, 159, 198, 237, 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 */ 457, 458, 136, 177, 178, 179, 140, 398, 181, 182, + /* 430 */ 184, 468, 369, 225, 226, 188, 189, 21, 427, 428, + /* 440 */ 24, 25, 26, 27, 28, 29, 30, 31, 32, 451, + /* 450 */ 203, 422, 205, 424, 117, 181, 87, 287, 288, 289, + /* 460 */ 290, 291, 292, 293, 476, 477, 262, 263, 264, 265, + /* 470 */ 266, 267, 268, 269, 270, 271, 272, 181, 182, 369, + /* 480 */ 370, 205, 137, 138, 237, 238, 239, 142, 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, 446, + /* 510 */ 447, 235, 236, 239, 18, 20, 33, 22, 149, 23, + /* 520 */ 259, 1, 136, 137, 138, 139, 140, 141, 142, 365, + /* 530 */ 35, 487, 37, 369, 490, 371, 40, 41, 33, 19, + /* 540 */ 44, 8, 9, 174, 175, 12, 13, 14, 15, 16, + /* 550 */ 54, 34, 508, 509, 107, 35, 181, 513, 514, 259, + /* 560 */ 65, 261, 66, 67, 68, 69, 71, 369, 370, 398, + /* 570 */ 397, 51, 0, 78, 487, 410, 405, 490, 413, 414, + /* 580 */ 60, 61, 62, 63, 411, 65, 415, 389, 369, 370, + /* 590 */ 104, 108, 482, 483, 484, 485, 509, 487, 488, 104, + /* 600 */ 513, 514, 107, 107, 118, 119, 120, 121, 122, 123, + /* 610 */ 124, 125, 126, 127, 239, 129, 130, 131, 132, 133, + /* 620 */ 134, 135, 487, 369, 370, 490, 106, 8, 9, 109, + /* 630 */ 399, 12, 13, 14, 15, 16, 4, 399, 143, 144, + /* 640 */ 20, 145, 22, 389, 509, 73, 74, 75, 513, 514, + /* 650 */ 396, 398, 80, 81, 82, 23, 365, 37, 86, 406, + /* 660 */ 369, 141, 371, 91, 92, 93, 94, 369, 370, 97, + /* 670 */ 369, 370, 100, 369, 370, 55, 181, 182, 46, 47, + /* 680 */ 48, 8, 9, 188, 189, 12, 13, 14, 15, 16, + /* 690 */ 37, 195, 196, 197, 413, 414, 200, 442, 203, 460, + /* 700 */ 205, 20, 483, 484, 485, 185, 487, 488, 385, 213, + /* 710 */ 214, 388, 192, 472, 107, 474, 183, 354, 420, 65, + /* 720 */ 224, 420, 275, 227, 420, 486, 230, 231, 232, 233, + /* 730 */ 234, 211, 237, 238, 239, 399, 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, 56, 57, + /* 760 */ 106, 22, 20, 109, 22, 73, 74, 75, 369, 370, + /* 770 */ 370, 275, 80, 81, 82, 22, 37, 35, 86, 37, + /* 780 */ 376, 108, 51, 91, 92, 93, 94, 357, 389, 97, + /* 790 */ 37, 60, 100, 398, 63, 64, 398, 393, 398, 436, + /* 800 */ 370, 398, 372, 405, 441, 401, 301, 65, 405, 202, + /* 810 */ 415, 204, 412, 415, 414, 357, 50, 78, 415, 357, + /* 820 */ 78, 20, 12, 13, 143, 144, 357, 23, 398, 21, + /* 830 */ 176, 78, 24, 25, 26, 27, 28, 29, 30, 31, + /* 840 */ 32, 234, 412, 104, 414, 22, 104, 37, 0, 107, + /* 850 */ 487, 47, 48, 490, 454, 138, 357, 457, 205, 142, + /* 860 */ 37, 461, 462, 463, 464, 465, 466, 399, 468, 370, + /* 870 */ 412, 508, 509, 473, 412, 475, 513, 514, 398, 479, + /* 880 */ 480, 412, 275, 398, 454, 143, 144, 457, 235, 236, + /* 890 */ 405, 461, 462, 463, 464, 465, 466, 398, 468, 357, + /* 900 */ 415, 20, 502, 473, 424, 475, 369, 370, 0, 479, + /* 910 */ 480, 412, 399, 414, 8, 9, 369, 370, 12, 13, + /* 920 */ 14, 15, 16, 181, 182, 22, 389, 104, 387, 212, + /* 930 */ 188, 189, 215, 374, 375, 218, 389, 220, 369, 370, + /* 940 */ 37, 358, 203, 0, 205, 203, 425, 205, 0, 183, + /* 950 */ 369, 370, 460, 454, 412, 0, 457, 191, 389, 51, + /* 960 */ 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, + /* 970 */ 389, 20, 20, 22, 374, 375, 237, 238, 486, 237, + /* 980 */ 238, 239, 181, 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, 35, 398, 4, 55, 104, 187, 20, + /* 1010 */ 162, 22, 369, 370, 166, 205, 376, 369, 370, 51, + /* 1020 */ 19, 415, 174, 357, 35, 70, 37, 460, 60, 61, + /* 1030 */ 62, 63, 389, 65, 357, 357, 35, 389, 8, 9, + /* 1040 */ 239, 401, 12, 13, 14, 15, 16, 370, 42, 372, + /* 1050 */ 20, 357, 51, 486, 65, 20, 369, 370, 357, 58, + /* 1060 */ 59, 14, 15, 16, 183, 20, 65, 78, 369, 370, + /* 1070 */ 357, 370, 4, 372, 106, 398, 389, 109, 412, 136, + /* 1080 */ 137, 138, 139, 140, 141, 142, 1, 2, 389, 412, + /* 1090 */ 412, 414, 0, 104, 369, 370, 107, 369, 370, 398, + /* 1100 */ 378, 195, 281, 282, 283, 284, 412, 106, 160, 161, + /* 1110 */ 109, 360, 361, 412, 389, 414, 3, 389, 357, 137, + /* 1120 */ 239, 383, 384, 506, 180, 412, 404, 369, 370, 383, + /* 1130 */ 384, 454, 143, 144, 457, 183, 499, 117, 461, 462, + /* 1140 */ 463, 464, 465, 466, 176, 468, 436, 389, 369, 370, + /* 1150 */ 473, 49, 475, 185, 186, 454, 479, 480, 457, 357, + /* 1160 */ 192, 193, 461, 462, 463, 464, 465, 466, 389, 468, + /* 1170 */ 181, 182, 409, 412, 473, 412, 475, 188, 189, 211, + /* 1180 */ 479, 480, 369, 370, 369, 370, 471, 369, 370, 474, + /* 1190 */ 170, 239, 203, 108, 205, 369, 370, 487, 216, 217, + /* 1200 */ 490, 472, 389, 474, 389, 13, 262, 389, 302, 107, + /* 1210 */ 436, 357, 357, 183, 412, 389, 272, 357, 508, 509, + /* 1220 */ 357, 357, 357, 513, 514, 71, 237, 238, 239, 37, /* 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, 409, 409, 14, 412, 412, 20, 391, 22, 20, + /* 1260 */ 394, 487, 0, 370, 490, 372, 412, 412, 65, 239, + /* 1270 */ 0, 35, 412, 37, 239, 412, 412, 412, 273, 274, + /* 1280 */ 274, 357, 508, 509, 239, 33, 33, 513, 514, 110, + /* 1290 */ 110, 398, 113, 113, 370, 0, 372, 45, 45, 110, + /* 1300 */ 13, 65, 113, 33, 42, 412, 0, 414, 110, 12, + /* 1310 */ 13, 113, 109, 33, 78, 0, 219, 22, 221, 22, + /* 1320 */ 0, 229, 398, 33, 37, 33, 107, 33, 22, 143, + /* 1330 */ 144, 33, 35, 33, 37, 116, 412, 22, 414, 517, + /* 1340 */ 104, 33, 22, 107, 33, 277, 33, 454, 373, 37, + /* 1350 */ 457, 33, 1, 2, 461, 462, 463, 464, 465, 466, + /* 1360 */ 398, 468, 65, 33, 37, 33, 473, 33, 475, 386, + /* 1370 */ 33, 33, 479, 480, 386, 78, 12, 13, 454, 143, + /* 1380 */ 144, 457, 436, 12, 13, 461, 462, 463, 464, 465, + /* 1390 */ 466, 237, 468, 436, 12, 13, 37, 473, 108, 475, + /* 1400 */ 108, 104, 108, 479, 480, 78, 108, 357, 108, 425, + /* 1410 */ 297, 12, 13, 12, 13, 425, 108, 181, 182, 108, + /* 1420 */ 370, 108, 372, 33, 188, 189, 108, 12, 13, 12, + /* 1430 */ 13, 12, 13, 487, 12, 13, 490, 368, 108, 203, + /* 1440 */ 108, 205, 108, 0, 487, 108, 108, 490, 398, 12, + /* 1450 */ 13, 12, 13, 33, 508, 509, 33, 33, 505, 513, + /* 1460 */ 514, 33, 412, 33, 414, 508, 509, 373, 436, 505, + /* 1470 */ 513, 514, 505, 237, 238, 239, 435, 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, - /* 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, - /* 3170 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3180 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3190 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3200 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3210 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3220 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3230 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3240 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3250 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3260 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3270 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3280 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3290 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3300 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3310 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3320 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3330 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3340 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 1490 */ 254, 255, 256, 257, 258, 52, 505, 13, 108, 425, + /* 1500 */ 203, 370, 205, 13, 454, 443, 411, 457, 425, 425, + /* 1510 */ 489, 461, 462, 463, 464, 465, 466, 205, 468, 487, + /* 1520 */ 357, 37, 490, 473, 510, 475, 492, 37, 108, 479, + /* 1530 */ 480, 108, 108, 370, 237, 238, 108, 481, 108, 388, + /* 1540 */ 508, 509, 437, 278, 51, 513, 514, 456, 251, 252, + /* 1550 */ 253, 254, 255, 256, 257, 42, 455, 20, 448, 218, + /* 1560 */ 453, 398, 12, 13, 205, 378, 448, 201, 378, 439, + /* 1570 */ 369, 20, 22, 20, 370, 412, 45, 414, 421, 299, + /* 1580 */ 370, 421, 180, 418, 369, 35, 370, 37, 421, 357, + /* 1590 */ 369, 418, 418, 418, 105, 382, 369, 103, 381, 102, + /* 1600 */ 380, 20, 370, 369, 369, 362, 369, 50, 366, 362, + /* 1610 */ 366, 378, 448, 20, 414, 65, 378, 454, 378, 20, + /* 1620 */ 457, 357, 371, 20, 461, 462, 463, 464, 465, 466, + /* 1630 */ 398, 468, 438, 378, 370, 378, 473, 371, 475, 20, + /* 1640 */ 428, 378, 479, 480, 412, 378, 414, 369, 362, 378, + /* 1650 */ 369, 360, 398, 360, 398, 222, 398, 398, 398, 398, + /* 1660 */ 412, 362, 398, 452, 450, 107, 398, 398, 20, 447, + /* 1670 */ 398, 398, 398, 448, 209, 445, 412, 376, 414, 208, + /* 1680 */ 376, 286, 437, 369, 501, 444, 454, 412, 412, 457, + /* 1690 */ 285, 414, 294, 461, 462, 463, 464, 465, 466, 194, + /* 1700 */ 468, 412, 500, 498, 498, 473, 498, 475, 296, 430, + /* 1710 */ 279, 479, 480, 430, 303, 497, 295, 518, 454, 496, + /* 1720 */ 357, 457, 437, 495, 298, 461, 462, 463, 464, 465, + /* 1730 */ 466, 274, 468, 370, 300, 370, 512, 473, 20, 475, + /* 1740 */ 511, 117, 460, 479, 480, 276, 371, 107, 376, 376, + /* 1750 */ 186, 430, 412, 203, 412, 205, 412, 357, 412, 430, + /* 1760 */ 412, 398, 478, 376, 394, 426, 370, 376, 412, 412, + /* 1770 */ 370, 107, 412, 412, 412, 412, 402, 414, 22, 412, + /* 1780 */ 412, 493, 369, 38, 376, 235, 236, 237, 412, 412, + /* 1790 */ 412, 412, 412, 491, 359, 412, 412, 412, 398, 363, + /* 1800 */ 412, 251, 252, 253, 254, 255, 256, 257, 362, 412, + /* 1810 */ 392, 355, 412, 0, 414, 412, 412, 454, 412, 412, + /* 1820 */ 457, 412, 412, 431, 461, 462, 463, 464, 465, 466, + /* 1830 */ 449, 468, 357, 440, 392, 377, 392, 0, 475, 0, + /* 1840 */ 45, 0, 479, 480, 228, 370, 37, 431, 37, 37, + /* 1850 */ 228, 37, 0, 37, 454, 37, 228, 457, 37, 0, + /* 1860 */ 228, 461, 462, 463, 464, 465, 466, 0, 468, 357, + /* 1870 */ 37, 0, 37, 398, 0, 475, 22, 0, 223, 479, + /* 1880 */ 480, 0, 370, 37, 211, 0, 211, 412, 212, 414, + /* 1890 */ 205, 203, 357, 0, 0, 0, 199, 198, 0, 0, + /* 1900 */ 148, 0, 49, 37, 49, 370, 0, 0, 51, 37, + /* 1910 */ 398, 0, 49, 0, 45, 0, 0, 0, 0, 49, + /* 1920 */ 0, 0, 0, 0, 412, 0, 414, 166, 37, 454, + /* 1930 */ 0, 166, 457, 398, 0, 0, 461, 462, 463, 464, + /* 1940 */ 465, 466, 0, 468, 0, 0, 0, 412, 0, 414, + /* 1950 */ 475, 0, 0, 0, 479, 480, 0, 0, 0, 0, + /* 1960 */ 0, 0, 0, 0, 0, 0, 454, 0, 49, 457, + /* 1970 */ 0, 45, 0, 461, 462, 463, 464, 465, 466, 0, + /* 1980 */ 468, 0, 357, 0, 0, 0, 0, 0, 22, 454, + /* 1990 */ 148, 0, 457, 0, 147, 370, 461, 462, 463, 464, + /* 2000 */ 465, 466, 146, 468, 357, 0, 0, 0, 65, 0, + /* 2010 */ 22, 22, 37, 0, 65, 503, 504, 370, 50, 50, + /* 2020 */ 65, 0, 51, 398, 42, 0, 0, 37, 51, 37, + /* 2030 */ 0, 51, 37, 0, 37, 33, 42, 412, 14, 414, + /* 2040 */ 42, 0, 42, 42, 45, 398, 0, 0, 0, 0, + /* 2050 */ 515, 516, 49, 49, 43, 194, 42, 49, 0, 412, + /* 2060 */ 0, 414, 0, 0, 49, 357, 0, 0, 37, 51, + /* 2070 */ 42, 37, 0, 51, 42, 37, 0, 42, 370, 454, + /* 2080 */ 51, 37, 457, 357, 72, 0, 461, 462, 463, 464, + /* 2090 */ 465, 466, 42, 468, 51, 0, 370, 22, 37, 0, + /* 2100 */ 475, 454, 0, 0, 457, 480, 398, 0, 461, 462, + /* 2110 */ 463, 464, 465, 466, 0, 468, 37, 37, 37, 37, + /* 2120 */ 412, 37, 414, 37, 398, 115, 37, 37, 37, 33, + /* 2130 */ 113, 33, 22, 0, 22, 0, 0, 37, 412, 22, + /* 2140 */ 414, 37, 434, 357, 22, 53, 0, 22, 37, 0, + /* 2150 */ 0, 504, 0, 37, 0, 37, 370, 0, 20, 22, + /* 2160 */ 434, 37, 454, 37, 357, 457, 37, 108, 0, 461, + /* 2170 */ 462, 463, 464, 465, 466, 107, 468, 370, 107, 49, + /* 2180 */ 454, 0, 37, 457, 398, 22, 210, 461, 462, 463, + /* 2190 */ 464, 465, 466, 0, 468, 22, 0, 0, 412, 37, + /* 2200 */ 414, 357, 183, 183, 3, 398, 37, 33, 280, 108, + /* 2210 */ 183, 50, 107, 107, 370, 50, 108, 108, 103, 412, + /* 2220 */ 107, 414, 357, 186, 105, 183, 190, 33, 183, 206, + /* 2230 */ 190, 33, 33, 49, 107, 370, 108, 49, 107, 107, + /* 2240 */ 454, 107, 398, 457, 33, 3, 33, 461, 462, 463, + /* 2250 */ 464, 465, 466, 280, 468, 108, 412, 37, 414, 108, + /* 2260 */ 37, 454, 37, 398, 457, 37, 108, 37, 461, 462, + /* 2270 */ 463, 464, 465, 466, 37, 468, 49, 412, 108, 414, + /* 2280 */ 108, 33, 49, 0, 357, 0, 107, 42, 33, 2, + /* 2290 */ 105, 105, 22, 507, 237, 108, 107, 370, 454, 434, + /* 2300 */ 108, 457, 107, 49, 22, 461, 462, 463, 464, 465, + /* 2310 */ 466, 108, 468, 260, 470, 107, 107, 49, 108, 454, + /* 2320 */ 108, 107, 457, 516, 273, 398, 461, 462, 463, 464, + /* 2330 */ 465, 466, 280, 468, 240, 187, 0, 108, 107, 412, + /* 2340 */ 42, 414, 107, 107, 185, 107, 49, 107, 116, 108, + /* 2350 */ 107, 117, 37, 357, 107, 37, 107, 37, 108, 107, + /* 2360 */ 107, 434, 37, 33, 108, 108, 370, 107, 37, 108, + /* 2370 */ 107, 37, 108, 357, 107, 37, 37, 108, 22, 128, + /* 2380 */ 107, 454, 107, 107, 457, 72, 370, 128, 461, 462, + /* 2390 */ 463, 464, 465, 466, 398, 468, 37, 37, 71, 128, + /* 2400 */ 128, 37, 37, 37, 37, 37, 37, 37, 412, 101, + /* 2410 */ 414, 78, 101, 78, 398, 33, 37, 37, 37, 22, + /* 2420 */ 37, 37, 37, 78, 37, 37, 37, 37, 412, 37, + /* 2430 */ 414, 22, 37, 0, 0, 37, 42, 51, 37, 0, + /* 2440 */ 37, 42, 51, 0, 51, 37, 42, 51, 42, 0, + /* 2450 */ 454, 37, 0, 457, 357, 37, 33, 461, 462, 463, + /* 2460 */ 464, 465, 466, 22, 468, 20, 22, 370, 21, 21, + /* 2470 */ 454, 519, 22, 457, 519, 22, 519, 461, 462, 463, + /* 2480 */ 464, 465, 466, 519, 468, 519, 519, 519, 519, 519, + /* 2490 */ 519, 519, 519, 519, 519, 398, 519, 519, 519, 519, + /* 2500 */ 357, 519, 519, 519, 519, 519, 519, 519, 519, 412, + /* 2510 */ 519, 414, 519, 370, 519, 519, 519, 519, 519, 519, + /* 2520 */ 519, 519, 519, 357, 519, 519, 519, 519, 519, 519, + /* 2530 */ 519, 519, 519, 519, 519, 519, 370, 519, 519, 519, + /* 2540 */ 519, 398, 519, 519, 519, 519, 519, 519, 519, 519, + /* 2550 */ 519, 454, 519, 519, 457, 412, 519, 414, 461, 462, + /* 2560 */ 463, 464, 465, 466, 398, 468, 519, 519, 519, 519, + /* 2570 */ 519, 519, 519, 519, 519, 519, 519, 519, 412, 519, + /* 2580 */ 414, 519, 519, 519, 519, 519, 519, 519, 519, 519, + /* 2590 */ 519, 519, 519, 519, 519, 519, 519, 454, 519, 519, + /* 2600 */ 457, 357, 519, 519, 461, 462, 463, 464, 465, 466, + /* 2610 */ 519, 468, 519, 519, 370, 519, 519, 519, 519, 519, + /* 2620 */ 454, 519, 357, 457, 519, 519, 519, 461, 462, 463, + /* 2630 */ 464, 465, 466, 519, 468, 370, 519, 357, 519, 519, + /* 2640 */ 519, 519, 398, 519, 519, 519, 519, 519, 519, 519, + /* 2650 */ 370, 519, 519, 519, 519, 519, 412, 519, 414, 357, + /* 2660 */ 519, 519, 519, 398, 519, 519, 519, 519, 519, 519, + /* 2670 */ 519, 519, 370, 519, 519, 519, 519, 412, 398, 414, + /* 2680 */ 519, 519, 519, 357, 519, 519, 519, 519, 519, 519, + /* 2690 */ 519, 519, 412, 519, 414, 519, 370, 519, 454, 519, + /* 2700 */ 398, 457, 519, 519, 519, 461, 462, 463, 464, 465, + /* 2710 */ 466, 519, 468, 519, 412, 519, 414, 519, 519, 454, + /* 2720 */ 519, 519, 457, 519, 398, 519, 461, 462, 463, 464, + /* 2730 */ 465, 466, 519, 468, 454, 519, 519, 457, 412, 519, + /* 2740 */ 414, 461, 462, 463, 464, 465, 466, 519, 468, 519, + /* 2750 */ 519, 519, 519, 519, 519, 519, 454, 519, 519, 457, + /* 2760 */ 519, 519, 519, 461, 462, 463, 464, 465, 466, 519, + /* 2770 */ 468, 519, 357, 519, 519, 519, 519, 519, 519, 519, + /* 2780 */ 454, 519, 519, 457, 519, 370, 519, 461, 462, 463, + /* 2790 */ 464, 465, 466, 519, 468, 519, 519, 519, 519, 519, + /* 2800 */ 519, 519, 519, 519, 519, 519, 519, 519, 357, 519, + /* 2810 */ 519, 519, 519, 398, 519, 519, 519, 519, 519, 519, + /* 2820 */ 519, 370, 519, 519, 519, 519, 519, 412, 519, 414, + /* 2830 */ 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, + /* 2840 */ 519, 519, 519, 519, 519, 519, 519, 519, 519, 398, + /* 2850 */ 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, + /* 2860 */ 519, 519, 519, 412, 519, 414, 519, 519, 519, 454, + /* 2870 */ 519, 519, 457, 519, 519, 519, 461, 462, 463, 464, + /* 2880 */ 465, 466, 519, 468, 519, 519, 519, 519, 519, 519, + /* 2890 */ 519, 519, 519, 519, 357, 519, 519, 519, 519, 519, + /* 2900 */ 519, 519, 519, 519, 519, 454, 519, 370, 457, 357, + /* 2910 */ 519, 519, 461, 462, 463, 464, 465, 466, 519, 468, + /* 2920 */ 519, 519, 370, 519, 519, 519, 519, 519, 519, 519, + /* 2930 */ 519, 519, 519, 519, 519, 398, 519, 519, 519, 519, + /* 2940 */ 519, 519, 519, 519, 519, 519, 519, 519, 519, 412, + /* 2950 */ 398, 414, 519, 519, 519, 357, 519, 519, 519, 519, + /* 2960 */ 519, 519, 519, 519, 412, 519, 414, 519, 370, 519, + /* 2970 */ 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, + /* 2980 */ 357, 519, 519, 519, 519, 519, 519, 519, 519, 519, + /* 2990 */ 519, 454, 519, 370, 457, 519, 398, 519, 461, 462, + /* 3000 */ 463, 464, 465, 466, 519, 468, 454, 519, 519, 457, + /* 3010 */ 412, 519, 414, 461, 462, 463, 464, 465, 466, 519, + /* 3020 */ 468, 398, 519, 519, 519, 519, 519, 519, 519, 519, + /* 3030 */ 519, 519, 519, 519, 519, 412, 519, 414, 519, 519, + /* 3040 */ 519, 357, 519, 519, 519, 519, 519, 519, 519, 519, + /* 3050 */ 519, 519, 454, 519, 370, 457, 357, 519, 519, 461, + /* 3060 */ 462, 463, 464, 465, 466, 519, 468, 519, 519, 370, + /* 3070 */ 519, 519, 519, 519, 519, 519, 519, 454, 519, 519, + /* 3080 */ 457, 519, 398, 519, 461, 462, 463, 464, 465, 466, + /* 3090 */ 519, 468, 519, 519, 519, 519, 412, 398, 414, 519, + /* 3100 */ 519, 519, 357, 519, 519, 519, 519, 519, 519, 519, + /* 3110 */ 519, 412, 519, 414, 519, 370, 519, 357, 519, 519, + /* 3120 */ 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, + /* 3130 */ 370, 519, 519, 519, 519, 519, 519, 519, 454, 519, + /* 3140 */ 519, 457, 519, 398, 519, 461, 462, 463, 464, 465, + /* 3150 */ 466, 519, 468, 454, 519, 519, 457, 412, 398, 414, + /* 3160 */ 461, 462, 463, 464, 465, 466, 519, 468, 519, 519, + /* 3170 */ 519, 519, 412, 519, 414, 519, 519, 519, 519, 357, + /* 3180 */ 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, + /* 3190 */ 519, 519, 370, 519, 519, 519, 519, 519, 519, 454, + /* 3200 */ 519, 519, 457, 519, 519, 519, 461, 462, 463, 464, + /* 3210 */ 465, 466, 519, 468, 454, 519, 519, 457, 519, 519, + /* 3220 */ 398, 461, 462, 463, 464, 465, 466, 519, 468, 519, + /* 3230 */ 519, 519, 519, 519, 412, 519, 414, 357, 519, 519, + /* 3240 */ 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, + /* 3250 */ 370, 519, 519, 519, 519, 519, 519, 519, 519, 519, + /* 3260 */ 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, + /* 3270 */ 519, 519, 519, 519, 519, 519, 454, 519, 398, 457, + /* 3280 */ 519, 519, 519, 461, 462, 463, 464, 465, 466, 519, + /* 3290 */ 468, 519, 412, 519, 414, 519, 519, 519, 519, 519, + /* 3300 */ 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, + /* 3310 */ 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, + /* 3320 */ 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, + /* 3330 */ 519, 519, 519, 519, 454, 519, 519, 457, 519, 519, + /* 3340 */ 519, 461, 462, 463, 464, 465, 466, 519, 468, 354, /* 3350 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, /* 3360 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, /* 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, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3500 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3510 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3520 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3530 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3540 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3550 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3560 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3570 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3580 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3590 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3600 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3610 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3620 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3630 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3640 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3650 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3660 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3670 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3680 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3690 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3700 */ 354, 354, 354, }; -#define YY_SHIFT_COUNT (889) +#define YY_SHIFT_COUNT (891) #define YY_SHIFT_MIN (0) -#define YY_SHIFT_MAX (2520) +#define YY_SHIFT_MAX (2453) 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 */ 85, 133, 607, 35, 49, 447, 49, 49, 35, 35, + /* 60 */ 49, 1297, 49, 246, 1297, 66, 49, 27, 1550, 119, + /* 70 */ 48, 48, 1550, 1550, 632, 632, 119, 296, 681, 81, + /* 80 */ 81, 88, 48, 48, 48, 48, 48, 48, 48, 48, + /* 90 */ 48, 48, 48, 80, 117, 48, 48, 123, 27, 48, + /* 100 */ 80, 48, 27, 48, 48, 27, 48, 48, 27, 48, + /* 110 */ 27, 27, 27, 48, 139, 204, 204, 213, 692, 808, + /* 120 */ 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, + /* 130 */ 739, 739, 739, 739, 739, 739, 739, 739, 739, 160, + /* 140 */ 195, 296, 681, 702, 702, 3, 167, 167, 167, 300, + /* 150 */ 300, 955, 93, 3, 123, 60, 27, 261, 27, 27, + /* 160 */ 136, 27, 136, 136, 337, 517, 486, 486, 486, 486, + /* 170 */ 486, 486, 486, 520, 572, 416, 1030, 906, 170, 821, + /* 180 */ 620, 274, 375, 810, 810, 881, 804, 952, 753, 753, + /* 190 */ 753, 766, 801, 753, 951, 1035, 1239, 286, 107, 1035, + /* 200 */ 1035, 1045, 1005, 1006, 1113, 1005, 1252, 1068, 93, 1265, + /* 210 */ 1493, 1513, 1537, 1341, 123, 1537, 123, 1366, 1551, 1553, + /* 220 */ 1531, 1553, 1531, 1402, 1551, 1553, 1551, 1531, 1402, 1402, + /* 230 */ 1402, 1489, 1494, 1551, 1497, 1551, 1551, 1551, 1581, 1557, + /* 240 */ 1581, 1557, 1537, 123, 123, 1593, 123, 1599, 1603, 123, + /* 250 */ 1599, 123, 1619, 123, 123, 1551, 123, 1581, 27, 27, + /* 260 */ 27, 27, 27, 27, 27, 27, 27, 27, 27, 1551, + /* 270 */ 517, 517, 1581, 136, 136, 136, 1433, 1558, 1537, 139, + /* 280 */ 1648, 1465, 1471, 1593, 139, 1265, 1551, 136, 1395, 1405, + /* 290 */ 1395, 1405, 1398, 1505, 1395, 1412, 1421, 1431, 1265, 1411, + /* 300 */ 1434, 1426, 1457, 1553, 1718, 1624, 1469, 1599, 139, 139, + /* 310 */ 1640, 1405, 136, 136, 136, 136, 1405, 136, 1564, 139, + /* 320 */ 337, 139, 1553, 136, 136, 136, 136, 136, 136, 136, + /* 330 */ 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + /* 340 */ 136, 136, 136, 136, 136, 1664, 136, 1551, 139, 1756, + /* 350 */ 1745, 1581, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, + /* 360 */ 3349, 36, 968, 197, 1001, 277, 75, 673, 15, 30, + /* 370 */ 533, 386, 943, 619, 619, 619, 619, 619, 619, 619, + /* 380 */ 619, 619, 94, 717, 290, 343, 343, 208, 654, 848, + /* 390 */ 369, 731, 276, 653, 948, 823, 903, 982, 1047, 1085, + /* 400 */ 944, 1047, 1047, 1047, 345, 345, 908, 1092, 483, 1262, + /* 410 */ 1253, 1020, 1270, 1179, 1180, 1189, 1198, 1192, 1287, 1295, + /* 420 */ 1306, 1315, 1320, 1097, 1290, 1292, 1203, 1294, 1298, 1300, + /* 430 */ 1308, 1186, 1280, 505, 1311, 1351, 1313, 1154, 1318, 1102, + /* 440 */ 1330, 1332, 1334, 1337, 1338, 1364, 1371, 1382, 1399, 1401, + /* 450 */ 1415, 1417, 1419, 1422, 1437, 1439, 1390, 1420, 1423, 1424, + /* 460 */ 1428, 1430, 1219, 1312, 1359, 1484, 1490, 1327, 1443, 1813, + /* 470 */ 1837, 1839, 1795, 1841, 1809, 1616, 1811, 1812, 1814, 1622, + /* 480 */ 1852, 1816, 1818, 1628, 1821, 1859, 1632, 1867, 1833, 1871, + /* 490 */ 1835, 1874, 1854, 1877, 1846, 1655, 1881, 1673, 1885, 1675, + /* 500 */ 1676, 1685, 1688, 1893, 1894, 1895, 1697, 1699, 1898, 1899, + /* 510 */ 1752, 1853, 1855, 1901, 1866, 1906, 1907, 1872, 1857, 1911, + /* 520 */ 1863, 1913, 1869, 1915, 1916, 1917, 1870, 1918, 1920, 1921, + /* 530 */ 1922, 1923, 1925, 1761, 1891, 1930, 1765, 1934, 1935, 1942, + /* 540 */ 1944, 1945, 1946, 1948, 1951, 1952, 1953, 1956, 1957, 1958, + /* 550 */ 1959, 1960, 1961, 1962, 1963, 1964, 1919, 1965, 1926, 1967, + /* 560 */ 1970, 1972, 1979, 1981, 1983, 1984, 1985, 1966, 1986, 1842, + /* 570 */ 1987, 1847, 1991, 1856, 1993, 2005, 1988, 1968, 1989, 1969, + /* 580 */ 2006, 1943, 1975, 2007, 1949, 2009, 1955, 2013, 2021, 1990, + /* 590 */ 1971, 1982, 2025, 1992, 1977, 1994, 2026, 1995, 1980, 1998, + /* 600 */ 2030, 1997, 2033, 1999, 2000, 2002, 2003, 2004, 2024, 2008, + /* 610 */ 2041, 2011, 2001, 2046, 2047, 2048, 2049, 2014, 1861, 2058, + /* 620 */ 2003, 2015, 2060, 2062, 2012, 2063, 2066, 2031, 2018, 2028, + /* 630 */ 2067, 2034, 2022, 2032, 2072, 2038, 2029, 2035, 2076, 2044, + /* 640 */ 2043, 2050, 2085, 2095, 2102, 2103, 2107, 2114, 2010, 2017, + /* 650 */ 2061, 2075, 2099, 2079, 2080, 2081, 2082, 2084, 2086, 2089, + /* 660 */ 2090, 2096, 2098, 2091, 2100, 2110, 2104, 2133, 2112, 2135, + /* 670 */ 2117, 2136, 2122, 2092, 2146, 2125, 2111, 2149, 2150, 2152, + /* 680 */ 2116, 2154, 2118, 2157, 2137, 2138, 2124, 2126, 2129, 2059, + /* 690 */ 2068, 2168, 2019, 2071, 1976, 2003, 2130, 2181, 2020, 2145, + /* 700 */ 2163, 2193, 2023, 2173, 2027, 2037, 2196, 2197, 2042, 2036, + /* 710 */ 2045, 2040, 2201, 2174, 1928, 2105, 2101, 2106, 2108, 2162, + /* 720 */ 2169, 2113, 2161, 2119, 2165, 2115, 2109, 2194, 2198, 2128, + /* 730 */ 2127, 2131, 2132, 2147, 2199, 2184, 2188, 2134, 2211, 1973, + /* 740 */ 2151, 2158, 2242, 2213, 2052, 2220, 2223, 2225, 2228, 2230, + /* 750 */ 2237, 2170, 2172, 2227, 2051, 2248, 2233, 2283, 2285, 2179, + /* 760 */ 2245, 2255, 2185, 2053, 2186, 2287, 2270, 2057, 2187, 2192, + /* 770 */ 2189, 2195, 2203, 2254, 2208, 2209, 2268, 2210, 2282, 2094, + /* 780 */ 2214, 2212, 2229, 2231, 2235, 2148, 2236, 2336, 2298, 2159, + /* 790 */ 2238, 2232, 2003, 2297, 2240, 2243, 2241, 2247, 2249, 2234, + /* 800 */ 2250, 2315, 2318, 2252, 2256, 2320, 2253, 2257, 2325, 2260, + /* 810 */ 2261, 2331, 2263, 2264, 2334, 2267, 2269, 2338, 2189, 2251, + /* 820 */ 2259, 2271, 2272, 2273, 2330, 2275, 2339, 2276, 2330, 2330, + /* 830 */ 2356, 2313, 2327, 2359, 2360, 2364, 2365, 2366, 2367, 2368, + /* 840 */ 2369, 2370, 2333, 2308, 2335, 2311, 2382, 2379, 2380, 2381, + /* 850 */ 2397, 2383, 2384, 2385, 2345, 2096, 2387, 2098, 2388, 2389, + /* 860 */ 2390, 2392, 2409, 2395, 2433, 2398, 2386, 2394, 2434, 2401, + /* 870 */ 2391, 2399, 2439, 2403, 2393, 2404, 2443, 2408, 2396, 2406, + /* 880 */ 2449, 2414, 2418, 2452, 2441, 2423, 2444, 2447, 2450, 2453, + /* 890 */ 2448, 2445, }; #define YY_REDUCE_COUNT (360) -#define YY_REDUCE_MIN (-481) -#define YY_REDUCE_MAX (2581) +#define YY_REDUCE_MIN (-434) +#define YY_REDUCE_MAX (2880) 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 */ 363, -316, -92, 400, 430, 677, 701, 893, 924, 1050, + /* 10 */ 1163, 1232, 1264, 1363, 1400, 1475, 499, 1512, 1535, 1625, + /* 20 */ 1647, 1708, 1726, 1786, 1807, 1844, 1865, 1927, 1996, 2016, + /* 30 */ 2097, 2143, 2166, 2244, 2265, 2280, 2302, 2326, 2415, 2451, + /* 40 */ 2537, 2552, 2598, 2623, 2684, 2699, 2745, 2760, 2822, 2880, + /* 50 */ -318, -329, -434, 110, 710, 774, 946, 957, -277, 219, + /* 60 */ 1032, -91, 44, -359, -37, 87, 135, -390, -306, -366, + /* 70 */ -195, 254, -396, -395, -265, -66, -153, 29, 165, 164, + /* 80 */ 291, -349, 198, 399, 537, 547, 298, 301, 569, 581, + /* 90 */ 643, 648, 304, -292, 11, 687, 699, -345, 171, 725, + /* 100 */ 63, 728, 398, 758, 779, -387, 813, 815, 403, 818, + /* 110 */ -372, 485, -230, 826, 404, -12, -12, -398, -26, -154, + /* 120 */ -272, -89, -48, 458, 462, 469, 542, 666, 678, 694, + /* 130 */ 713, 761, 802, 854, 855, 860, 863, 864, 865, 173, + /* 140 */ 239, 480, 281, 559, 600, 738, 239, 492, 567, 241, + /* 150 */ 729, 640, 323, 746, 722, -2, -128, 715, 395, 253, + /* 160 */ 763, 606, 842, 843, 866, 751, -393, 231, 238, 336, + /* 170 */ 468, 513, 468, 255, 541, 583, 521, 822, 617, 637, + /* 180 */ 975, 962, 962, 983, 988, 984, 1069, 990, 953, 964, + /* 190 */ 967, 1041, 962, 991, 1094, 1074, 1131, 1095, 1062, 1083, + /* 200 */ 1084, 962, 1021, 1021, 1014, 1021, 1056, 1034, 1151, 1105, + /* 210 */ 1091, 1101, 1110, 1107, 1187, 1118, 1190, 1130, 1201, 1204, + /* 220 */ 1157, 1210, 1160, 1165, 1215, 1216, 1221, 1167, 1173, 1174, + /* 230 */ 1175, 1213, 1217, 1227, 1220, 1234, 1235, 1237, 1243, 1242, + /* 240 */ 1247, 1244, 1164, 1233, 1238, 1200, 1240, 1251, 1194, 1255, + /* 250 */ 1266, 1257, 1212, 1263, 1267, 1278, 1271, 1286, 1254, 1256, + /* 260 */ 1258, 1259, 1260, 1261, 1268, 1269, 1272, 1273, 1274, 1281, + /* 270 */ 1291, 1293, 1299, 1248, 1275, 1276, 1211, 1214, 1225, 1301, + /* 280 */ 1222, 1230, 1241, 1277, 1304, 1245, 1314, 1289, 1205, 1279, + /* 290 */ 1206, 1283, 1183, 1202, 1208, 1218, 1223, 1228, 1285, 1199, + /* 300 */ 1224, 1229, 1021, 1365, 1282, 1288, 1302, 1375, 1372, 1373, + /* 310 */ 1284, 1321, 1340, 1342, 1344, 1346, 1329, 1348, 1339, 1387, + /* 320 */ 1370, 1391, 1396, 1356, 1357, 1360, 1361, 1362, 1367, 1368, + /* 330 */ 1376, 1377, 1378, 1379, 1380, 1383, 1384, 1385, 1388, 1397, + /* 340 */ 1403, 1404, 1406, 1407, 1409, 1374, 1410, 1413, 1408, 1435, + /* 350 */ 1436, 1446, 1393, 1381, 1392, 1416, 1418, 1442, 1444, 1458, + /* 360 */ 1456, }; 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 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 10 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 20 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 30 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 40 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 50 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 60 */ 2360, 2018, 2018, 2323, 2018, 2018, 2018, 2018, 2018, 2018, + /* 70 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2330, 2018, 2018, + /* 80 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 90 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2117, 2018, 2018, + /* 100 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 110 */ 2018, 2018, 2018, 2018, 2115, 2605, 2018, 2018, 2018, 2018, + /* 120 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 130 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 140 */ 2617, 2018, 2018, 2089, 2089, 2018, 2617, 2617, 2617, 2577, + /* 150 */ 2577, 2115, 2018, 2018, 2117, 2398, 2018, 2018, 2018, 2018, + /* 160 */ 2018, 2018, 2018, 2018, 2241, 2048, 2018, 2018, 2018, 2018, + /* 170 */ 2265, 2018, 2018, 2386, 2018, 2018, 2646, 2708, 2018, 2649, + /* 180 */ 2018, 2018, 2018, 2018, 2018, 2335, 2018, 2636, 2018, 2018, + /* 190 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2193, 2380, 2018, + /* 200 */ 2018, 2018, 2609, 2623, 2692, 2610, 2607, 2630, 2018, 2640, + /* 210 */ 2018, 2423, 2018, 2412, 2117, 2018, 2117, 2373, 2318, 2018, + /* 220 */ 2328, 2018, 2328, 2325, 2018, 2018, 2018, 2328, 2325, 2325, + /* 230 */ 2325, 2182, 2178, 2018, 2176, 2018, 2018, 2018, 2018, 2073, + /* 240 */ 2018, 2073, 2018, 2117, 2117, 2018, 2117, 2018, 2018, 2117, + /* 250 */ 2018, 2117, 2018, 2117, 2117, 2018, 2117, 2018, 2018, 2018, + /* 260 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 270 */ 2018, 2018, 2018, 2018, 2018, 2018, 2410, 2396, 2018, 2115, + /* 280 */ 2018, 2384, 2382, 2018, 2115, 2640, 2018, 2018, 2662, 2657, + /* 290 */ 2662, 2657, 2676, 2672, 2662, 2681, 2678, 2642, 2640, 2711, + /* 300 */ 2698, 2694, 2623, 2018, 2018, 2628, 2626, 2018, 2115, 2115, + /* 310 */ 2018, 2657, 2018, 2018, 2018, 2018, 2657, 2018, 2018, 2115, + /* 320 */ 2018, 2115, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 330 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 340 */ 2018, 2018, 2018, 2018, 2018, 2209, 2018, 2018, 2115, 2018, + /* 350 */ 2057, 2018, 2375, 2401, 2356, 2356, 2244, 2244, 2244, 2118, + /* 360 */ 2023, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 370 */ 2018, 2018, 2018, 2675, 2674, 2528, 2018, 2581, 2580, 2579, + /* 380 */ 2570, 2527, 2205, 2018, 2018, 2526, 2525, 2018, 2018, 2018, + /* 390 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2519, 2018, + /* 400 */ 2018, 2520, 2518, 2517, 2347, 2346, 2018, 2018, 2018, 2018, + /* 410 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 420 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 430 */ 2018, 2018, 2695, 2699, 2018, 2606, 2018, 2018, 2018, 2499, + /* 440 */ 2018, 2018, 2018, 2018, 2018, 2467, 2462, 2453, 2444, 2459, + /* 450 */ 2450, 2438, 2456, 2447, 2435, 2432, 2018, 2018, 2018, 2018, + /* 460 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 470 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 480 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 490 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 500 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 510 */ 2324, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 520 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 530 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 540 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 550 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 560 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 570 */ 2018, 2018, 2018, 2339, 2018, 2018, 2018, 2018, 2018, 2018, + /* 580 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 590 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 600 */ 2018, 2018, 2018, 2018, 2018, 2062, 2506, 2018, 2018, 2018, + /* 610 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 620 */ 2509, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 630 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 640 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 650 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 660 */ 2018, 2157, 2156, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 670 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 680 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2510, + /* 690 */ 2018, 2018, 2018, 2018, 2018, 2501, 2018, 2018, 2018, 2018, + /* 700 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 710 */ 2018, 2018, 2691, 2643, 2018, 2018, 2018, 2018, 2018, 2018, + /* 720 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 730 */ 2018, 2018, 2018, 2018, 2018, 2018, 2499, 2018, 2673, 2018, + /* 740 */ 2018, 2689, 2018, 2693, 2018, 2018, 2018, 2018, 2018, 2018, + /* 750 */ 2018, 2616, 2612, 2018, 2018, 2608, 2018, 2018, 2018, 2018, + /* 760 */ 2018, 2567, 2018, 2018, 2018, 2601, 2018, 2018, 2018, 2018, + /* 770 */ 2240, 2018, 2018, 2018, 2018, 2018, 2018, 2510, 2018, 2513, + /* 780 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 790 */ 2018, 2018, 2498, 2018, 2552, 2551, 2018, 2018, 2018, 2018, + /* 800 */ 2018, 2018, 2018, 2237, 2018, 2018, 2018, 2018, 2018, 2018, + /* 810 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2221, + /* 820 */ 2219, 2218, 2217, 2018, 2251, 2018, 2018, 2018, 2247, 2246, + /* 830 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 840 */ 2018, 2018, 2018, 2018, 2018, 2018, 2136, 2018, 2018, 2018, + /* 850 */ 2018, 2018, 2018, 2018, 2018, 2128, 2018, 2127, 2018, 2018, + /* 860 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 870 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + /* 880 */ 2018, 2018, 2018, 2018, 2018, 2047, 2018, 2018, 2018, 2018, + /* 890 */ 2018, 2018, }; /********** End of lemon-generated parsing tables *****************************/ @@ -1521,6 +1938,7 @@ struct yyParser { }; typedef struct yyParser yyParser; +#include #ifndef NDEBUG #include static FILE *yyTraceFILE = 0; @@ -1964,116 +2382,118 @@ 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_binary", + /* 408 */ "type_name_bin", + /* 409 */ "duration_list", + /* 410 */ "rollup_func_list", + /* 411 */ "alter_table_option", + /* 412 */ "duration_literal", + /* 413 */ "rollup_func_name", + /* 414 */ "function_name", + /* 415 */ "col_name", + /* 416 */ "db_kind_opt", + /* 417 */ "table_kind_db_name_cond_opt", + /* 418 */ "like_pattern_opt", + /* 419 */ "db_name_cond_opt", + /* 420 */ "table_name_cond", + /* 421 */ "from_db_opt", + /* 422 */ "tag_list_opt", + /* 423 */ "table_kind", + /* 424 */ "tag_item", + /* 425 */ "column_alias", + /* 426 */ "index_options", + /* 427 */ "full_index_name", + /* 428 */ "index_name", + /* 429 */ "func_list", + /* 430 */ "sliding_opt", + /* 431 */ "sma_stream_opt", + /* 432 */ "func", + /* 433 */ "sma_func_name", + /* 434 */ "expression_list", + /* 435 */ "with_meta", + /* 436 */ "query_or_subquery", + /* 437 */ "where_clause_opt", + /* 438 */ "cgroup_name", + /* 439 */ "analyze_opt", + /* 440 */ "explain_options", + /* 441 */ "insert_query", + /* 442 */ "or_replace_opt", + /* 443 */ "agg_func_opt", + /* 444 */ "bufsize_opt", + /* 445 */ "language_opt", + /* 446 */ "full_view_name", + /* 447 */ "view_name", + /* 448 */ "stream_name", + /* 449 */ "stream_options", + /* 450 */ "col_list_opt", + /* 451 */ "tag_def_or_ref_opt", + /* 452 */ "subtable_opt", + /* 453 */ "ignore_opt", + /* 454 */ "expression", + /* 455 */ "on_vgroup_id", + /* 456 */ "dnode_list", + /* 457 */ "literal_func", + /* 458 */ "signed_literal", + /* 459 */ "literal_list", + /* 460 */ "table_alias", + /* 461 */ "expr_or_subquery", + /* 462 */ "pseudo_column", + /* 463 */ "column_reference", + /* 464 */ "function_expression", + /* 465 */ "case_when_expression", + /* 466 */ "star_func", + /* 467 */ "star_func_para_list", + /* 468 */ "noarg_func", + /* 469 */ "other_para_list", + /* 470 */ "star_func_para", + /* 471 */ "when_then_list", + /* 472 */ "case_when_else_opt", + /* 473 */ "common_expression", + /* 474 */ "when_then_expr", + /* 475 */ "predicate", + /* 476 */ "compare_op", + /* 477 */ "in_op", + /* 478 */ "in_predicate_value", + /* 479 */ "boolean_value_expression", + /* 480 */ "boolean_primary", + /* 481 */ "from_clause_opt", + /* 482 */ "table_reference_list", + /* 483 */ "table_reference", + /* 484 */ "table_primary", + /* 485 */ "joined_table", + /* 486 */ "alias_opt", + /* 487 */ "subquery", + /* 488 */ "parenthesized_joined_table", + /* 489 */ "join_type", + /* 490 */ "query_specification", + /* 491 */ "hint_list", + /* 492 */ "set_quantifier_opt", + /* 493 */ "tag_mode_opt", + /* 494 */ "select_list", + /* 495 */ "partition_by_clause_opt", + /* 496 */ "range_opt", + /* 497 */ "every_opt", + /* 498 */ "fill_opt", + /* 499 */ "twindow_clause_opt", + /* 500 */ "group_by_clause_opt", + /* 501 */ "having_clause_opt", + /* 502 */ "select_item", + /* 503 */ "partition_list", + /* 504 */ "partition_item", + /* 505 */ "interval_sliding_duration_literal", + /* 506 */ "fill_mode", + /* 507 */ "group_by_list", + /* 508 */ "query_expression", + /* 509 */ "query_simple", + /* 510 */ "order_by_clause_opt", + /* 511 */ "slimit_clause_opt", + /* 512 */ "limit_clause_opt", + /* 513 */ "union_query_expression", + /* 514 */ "query_simple_or_subquery", + /* 515 */ "sort_specification_list", + /* 516 */ "sort_specification", + /* 517 */ "ordering_specification_opt", + /* 518 */ "null_ordering_opt", }; #endif /* defined(YYCOVERAGE) || !defined(NDEBUG) */ @@ -2300,478 +2720,480 @@ 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_binary ::= BINARY", + /* 220 */ "tags_def_opt ::=", + /* 221 */ "tags_def_opt ::= tags_def", + /* 222 */ "tags_def ::= TAGS NK_LP column_def_list NK_RP", + /* 223 */ "table_options ::=", + /* 224 */ "table_options ::= table_options COMMENT NK_STRING", + /* 225 */ "table_options ::= table_options MAX_DELAY duration_list", + /* 226 */ "table_options ::= table_options WATERMARK duration_list", + /* 227 */ "table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP", + /* 228 */ "table_options ::= table_options TTL NK_INTEGER", + /* 229 */ "table_options ::= table_options SMA NK_LP col_name_list NK_RP", + /* 230 */ "table_options ::= table_options DELETE_MARK duration_list", + /* 231 */ "alter_table_options ::= alter_table_option", + /* 232 */ "alter_table_options ::= alter_table_options alter_table_option", + /* 233 */ "alter_table_option ::= COMMENT NK_STRING", + /* 234 */ "alter_table_option ::= TTL NK_INTEGER", + /* 235 */ "duration_list ::= duration_literal", + /* 236 */ "duration_list ::= duration_list NK_COMMA duration_literal", + /* 237 */ "rollup_func_list ::= rollup_func_name", + /* 238 */ "rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name", + /* 239 */ "rollup_func_name ::= function_name", + /* 240 */ "rollup_func_name ::= FIRST", + /* 241 */ "rollup_func_name ::= LAST", + /* 242 */ "col_name_list ::= col_name", + /* 243 */ "col_name_list ::= col_name_list NK_COMMA col_name", + /* 244 */ "col_name ::= column_name", + /* 245 */ "cmd ::= SHOW DNODES", + /* 246 */ "cmd ::= SHOW USERS", + /* 247 */ "cmd ::= SHOW USER PRIVILEGES", + /* 248 */ "cmd ::= SHOW db_kind_opt DATABASES", + /* 249 */ "cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt", + /* 250 */ "cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt", + /* 251 */ "cmd ::= SHOW db_name_cond_opt VGROUPS", + /* 252 */ "cmd ::= SHOW MNODES", + /* 253 */ "cmd ::= SHOW QNODES", + /* 254 */ "cmd ::= SHOW ARBGROUPS", + /* 255 */ "cmd ::= SHOW FUNCTIONS", + /* 256 */ "cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt", + /* 257 */ "cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name", + /* 258 */ "cmd ::= SHOW STREAMS", + /* 259 */ "cmd ::= SHOW ACCOUNTS", + /* 260 */ "cmd ::= SHOW APPS", + /* 261 */ "cmd ::= SHOW CONNECTIONS", + /* 262 */ "cmd ::= SHOW LICENCES", + /* 263 */ "cmd ::= SHOW GRANTS", + /* 264 */ "cmd ::= SHOW GRANTS FULL", + /* 265 */ "cmd ::= SHOW GRANTS LOGS", + /* 266 */ "cmd ::= SHOW CLUSTER MACHINES", + /* 267 */ "cmd ::= SHOW CREATE DATABASE db_name", + /* 268 */ "cmd ::= SHOW CREATE TABLE full_table_name", + /* 269 */ "cmd ::= SHOW CREATE STABLE full_table_name", + /* 270 */ "cmd ::= SHOW QUERIES", + /* 271 */ "cmd ::= SHOW SCORES", + /* 272 */ "cmd ::= SHOW TOPICS", + /* 273 */ "cmd ::= SHOW VARIABLES", + /* 274 */ "cmd ::= SHOW CLUSTER VARIABLES", + /* 275 */ "cmd ::= SHOW LOCAL VARIABLES", + /* 276 */ "cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt", + /* 277 */ "cmd ::= SHOW BNODES", + /* 278 */ "cmd ::= SHOW SNODES", + /* 279 */ "cmd ::= SHOW CLUSTER", + /* 280 */ "cmd ::= SHOW TRANSACTIONS", + /* 281 */ "cmd ::= SHOW TABLE DISTRIBUTED full_table_name", + /* 282 */ "cmd ::= SHOW CONSUMERS", + /* 283 */ "cmd ::= SHOW SUBSCRIPTIONS", + /* 284 */ "cmd ::= SHOW TAGS FROM table_name_cond from_db_opt", + /* 285 */ "cmd ::= SHOW TAGS FROM db_name NK_DOT table_name", + /* 286 */ "cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt", + /* 287 */ "cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name", + /* 288 */ "cmd ::= SHOW VNODES ON DNODE NK_INTEGER", + /* 289 */ "cmd ::= SHOW VNODES", + /* 290 */ "cmd ::= SHOW db_name_cond_opt ALIVE", + /* 291 */ "cmd ::= SHOW CLUSTER ALIVE", + /* 292 */ "cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt", + /* 293 */ "cmd ::= SHOW CREATE VIEW full_table_name", + /* 294 */ "cmd ::= SHOW COMPACTS", + /* 295 */ "cmd ::= SHOW COMPACT NK_INTEGER", + /* 296 */ "table_kind_db_name_cond_opt ::=", + /* 297 */ "table_kind_db_name_cond_opt ::= table_kind", + /* 298 */ "table_kind_db_name_cond_opt ::= db_name NK_DOT", + /* 299 */ "table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT", + /* 300 */ "table_kind ::= NORMAL", + /* 301 */ "table_kind ::= CHILD", + /* 302 */ "db_name_cond_opt ::=", + /* 303 */ "db_name_cond_opt ::= db_name NK_DOT", + /* 304 */ "like_pattern_opt ::=", + /* 305 */ "like_pattern_opt ::= LIKE NK_STRING", + /* 306 */ "table_name_cond ::= table_name", + /* 307 */ "from_db_opt ::=", + /* 308 */ "from_db_opt ::= FROM db_name", + /* 309 */ "tag_list_opt ::=", + /* 310 */ "tag_list_opt ::= tag_item", + /* 311 */ "tag_list_opt ::= tag_list_opt NK_COMMA tag_item", + /* 312 */ "tag_item ::= TBNAME", + /* 313 */ "tag_item ::= QTAGS", + /* 314 */ "tag_item ::= column_name", + /* 315 */ "tag_item ::= column_name column_alias", + /* 316 */ "tag_item ::= column_name AS column_alias", + /* 317 */ "db_kind_opt ::=", + /* 318 */ "db_kind_opt ::= USER", + /* 319 */ "db_kind_opt ::= SYSTEM", + /* 320 */ "cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options", + /* 321 */ "cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP", + /* 322 */ "cmd ::= DROP INDEX exists_opt full_index_name", + /* 323 */ "full_index_name ::= index_name", + /* 324 */ "full_index_name ::= db_name NK_DOT index_name", + /* 325 */ "index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt", + /* 326 */ "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", + /* 327 */ "func_list ::= func", + /* 328 */ "func_list ::= func_list NK_COMMA func", + /* 329 */ "func ::= sma_func_name NK_LP expression_list NK_RP", + /* 330 */ "sma_func_name ::= function_name", + /* 331 */ "sma_func_name ::= COUNT", + /* 332 */ "sma_func_name ::= FIRST", + /* 333 */ "sma_func_name ::= LAST", + /* 334 */ "sma_func_name ::= LAST_ROW", + /* 335 */ "sma_stream_opt ::=", + /* 336 */ "sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal", + /* 337 */ "sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal", + /* 338 */ "sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal", + /* 339 */ "with_meta ::= AS", + /* 340 */ "with_meta ::= WITH META AS", + /* 341 */ "with_meta ::= ONLY META AS", + /* 342 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery", + /* 343 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name", + /* 344 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt", + /* 345 */ "cmd ::= DROP TOPIC exists_opt topic_name", + /* 346 */ "cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name", + /* 347 */ "cmd ::= DESC full_table_name", + /* 348 */ "cmd ::= DESCRIBE full_table_name", + /* 349 */ "cmd ::= RESET QUERY CACHE", + /* 350 */ "cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery", + /* 351 */ "cmd ::= EXPLAIN analyze_opt explain_options insert_query", + /* 352 */ "analyze_opt ::=", + /* 353 */ "analyze_opt ::= ANALYZE", + /* 354 */ "explain_options ::=", + /* 355 */ "explain_options ::= explain_options VERBOSE NK_BOOL", + /* 356 */ "explain_options ::= explain_options RATIO NK_FLOAT", + /* 357 */ "cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt", + /* 358 */ "cmd ::= DROP FUNCTION exists_opt function_name", + /* 359 */ "agg_func_opt ::=", + /* 360 */ "agg_func_opt ::= AGGREGATE", + /* 361 */ "bufsize_opt ::=", + /* 362 */ "bufsize_opt ::= BUFSIZE NK_INTEGER", + /* 363 */ "language_opt ::=", + /* 364 */ "language_opt ::= LANGUAGE NK_STRING", + /* 365 */ "or_replace_opt ::=", + /* 366 */ "or_replace_opt ::= OR REPLACE", + /* 367 */ "cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery", + /* 368 */ "cmd ::= DROP VIEW exists_opt full_view_name", + /* 369 */ "full_view_name ::= view_name", + /* 370 */ "full_view_name ::= db_name NK_DOT view_name", + /* 371 */ "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", + /* 372 */ "cmd ::= DROP STREAM exists_opt stream_name", + /* 373 */ "cmd ::= PAUSE STREAM exists_opt stream_name", + /* 374 */ "cmd ::= RESUME STREAM exists_opt ignore_opt stream_name", + /* 375 */ "col_list_opt ::=", + /* 376 */ "col_list_opt ::= NK_LP col_name_list NK_RP", + /* 377 */ "tag_def_or_ref_opt ::=", + /* 378 */ "tag_def_or_ref_opt ::= tags_def", + /* 379 */ "tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP", + /* 380 */ "stream_options ::=", + /* 381 */ "stream_options ::= stream_options TRIGGER AT_ONCE", + /* 382 */ "stream_options ::= stream_options TRIGGER WINDOW_CLOSE", + /* 383 */ "stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal", + /* 384 */ "stream_options ::= stream_options WATERMARK duration_literal", + /* 385 */ "stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER", + /* 386 */ "stream_options ::= stream_options FILL_HISTORY NK_INTEGER", + /* 387 */ "stream_options ::= stream_options DELETE_MARK duration_literal", + /* 388 */ "stream_options ::= stream_options IGNORE UPDATE NK_INTEGER", + /* 389 */ "subtable_opt ::=", + /* 390 */ "subtable_opt ::= SUBTABLE NK_LP expression NK_RP", + /* 391 */ "ignore_opt ::=", + /* 392 */ "ignore_opt ::= IGNORE UNTREATED", + /* 393 */ "cmd ::= KILL CONNECTION NK_INTEGER", + /* 394 */ "cmd ::= KILL QUERY NK_STRING", + /* 395 */ "cmd ::= KILL TRANSACTION NK_INTEGER", + /* 396 */ "cmd ::= KILL COMPACT NK_INTEGER", + /* 397 */ "cmd ::= BALANCE VGROUP", + /* 398 */ "cmd ::= BALANCE VGROUP LEADER on_vgroup_id", + /* 399 */ "cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER", + /* 400 */ "cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list", + /* 401 */ "cmd ::= SPLIT VGROUP NK_INTEGER", + /* 402 */ "on_vgroup_id ::=", + /* 403 */ "on_vgroup_id ::= ON NK_INTEGER", + /* 404 */ "dnode_list ::= DNODE NK_INTEGER", + /* 405 */ "dnode_list ::= dnode_list DNODE NK_INTEGER", + /* 406 */ "cmd ::= DELETE FROM full_table_name where_clause_opt", + /* 407 */ "cmd ::= query_or_subquery", + /* 408 */ "cmd ::= insert_query", + /* 409 */ "insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery", + /* 410 */ "insert_query ::= INSERT INTO full_table_name query_or_subquery", + /* 411 */ "tags_literal ::= NK_INTEGER", + /* 412 */ "tags_literal ::= NK_INTEGER NK_PLUS duration_literal", + /* 413 */ "tags_literal ::= NK_INTEGER NK_MINUS duration_literal", + /* 414 */ "tags_literal ::= NK_PLUS NK_INTEGER", + /* 415 */ "tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal", + /* 416 */ "tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal", + /* 417 */ "tags_literal ::= NK_MINUS NK_INTEGER", + /* 418 */ "tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal", + /* 419 */ "tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal", + /* 420 */ "tags_literal ::= NK_FLOAT", + /* 421 */ "tags_literal ::= NK_PLUS NK_FLOAT", + /* 422 */ "tags_literal ::= NK_MINUS NK_FLOAT", + /* 423 */ "tags_literal ::= NK_BIN", + /* 424 */ "tags_literal ::= NK_BIN NK_PLUS duration_literal", + /* 425 */ "tags_literal ::= NK_BIN NK_MINUS duration_literal", + /* 426 */ "tags_literal ::= NK_PLUS NK_BIN", + /* 427 */ "tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal", + /* 428 */ "tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal", + /* 429 */ "tags_literal ::= NK_MINUS NK_BIN", + /* 430 */ "tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal", + /* 431 */ "tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal", + /* 432 */ "tags_literal ::= NK_HEX", + /* 433 */ "tags_literal ::= NK_HEX NK_PLUS duration_literal", + /* 434 */ "tags_literal ::= NK_HEX NK_MINUS duration_literal", + /* 435 */ "tags_literal ::= NK_PLUS NK_HEX", + /* 436 */ "tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal", + /* 437 */ "tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal", + /* 438 */ "tags_literal ::= NK_MINUS NK_HEX", + /* 439 */ "tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal", + /* 440 */ "tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal", + /* 441 */ "tags_literal ::= NK_STRING", + /* 442 */ "tags_literal ::= NK_STRING NK_PLUS duration_literal", + /* 443 */ "tags_literal ::= NK_STRING NK_MINUS duration_literal", + /* 444 */ "tags_literal ::= NK_BOOL", + /* 445 */ "tags_literal ::= NULL", + /* 446 */ "tags_literal ::= literal_func", + /* 447 */ "tags_literal ::= literal_func NK_PLUS duration_literal", + /* 448 */ "tags_literal ::= literal_func NK_MINUS duration_literal", + /* 449 */ "tags_literal_list ::= tags_literal", + /* 450 */ "tags_literal_list ::= tags_literal_list NK_COMMA tags_literal", + /* 451 */ "literal ::= NK_INTEGER", + /* 452 */ "literal ::= NK_FLOAT", + /* 453 */ "literal ::= NK_STRING", + /* 454 */ "literal ::= NK_BOOL", + /* 455 */ "literal ::= TIMESTAMP NK_STRING", + /* 456 */ "literal ::= duration_literal", + /* 457 */ "literal ::= NULL", + /* 458 */ "literal ::= NK_QUESTION", + /* 459 */ "duration_literal ::= NK_VARIABLE", + /* 460 */ "signed ::= NK_INTEGER", + /* 461 */ "signed ::= NK_PLUS NK_INTEGER", + /* 462 */ "signed ::= NK_MINUS NK_INTEGER", + /* 463 */ "signed ::= NK_FLOAT", + /* 464 */ "signed ::= NK_PLUS NK_FLOAT", + /* 465 */ "signed ::= NK_MINUS NK_FLOAT", + /* 466 */ "signed_literal ::= signed", + /* 467 */ "signed_literal ::= NK_STRING", + /* 468 */ "signed_literal ::= NK_BOOL", + /* 469 */ "signed_literal ::= TIMESTAMP NK_STRING", + /* 470 */ "signed_literal ::= duration_literal", + /* 471 */ "signed_literal ::= NULL", + /* 472 */ "signed_literal ::= literal_func", + /* 473 */ "signed_literal ::= NK_QUESTION", + /* 474 */ "literal_list ::= signed_literal", + /* 475 */ "literal_list ::= literal_list NK_COMMA signed_literal", + /* 476 */ "db_name ::= NK_ID", + /* 477 */ "table_name ::= NK_ID", + /* 478 */ "column_name ::= NK_ID", + /* 479 */ "function_name ::= NK_ID", + /* 480 */ "view_name ::= NK_ID", + /* 481 */ "table_alias ::= NK_ID", + /* 482 */ "column_alias ::= NK_ID", + /* 483 */ "column_alias ::= NK_ALIAS", + /* 484 */ "user_name ::= NK_ID", + /* 485 */ "topic_name ::= NK_ID", + /* 486 */ "stream_name ::= NK_ID", + /* 487 */ "cgroup_name ::= NK_ID", + /* 488 */ "index_name ::= NK_ID", + /* 489 */ "expr_or_subquery ::= expression", + /* 490 */ "expression ::= literal", + /* 491 */ "expression ::= pseudo_column", + /* 492 */ "expression ::= column_reference", + /* 493 */ "expression ::= function_expression", + /* 494 */ "expression ::= case_when_expression", + /* 495 */ "expression ::= NK_LP expression NK_RP", + /* 496 */ "expression ::= NK_PLUS expr_or_subquery", + /* 497 */ "expression ::= NK_MINUS expr_or_subquery", + /* 498 */ "expression ::= expr_or_subquery NK_PLUS expr_or_subquery", + /* 499 */ "expression ::= expr_or_subquery NK_MINUS expr_or_subquery", + /* 500 */ "expression ::= expr_or_subquery NK_STAR expr_or_subquery", + /* 501 */ "expression ::= expr_or_subquery NK_SLASH expr_or_subquery", + /* 502 */ "expression ::= expr_or_subquery NK_REM expr_or_subquery", + /* 503 */ "expression ::= column_reference NK_ARROW NK_STRING", + /* 504 */ "expression ::= expr_or_subquery NK_BITAND expr_or_subquery", + /* 505 */ "expression ::= expr_or_subquery NK_BITOR expr_or_subquery", + /* 506 */ "expression_list ::= expr_or_subquery", + /* 507 */ "expression_list ::= expression_list NK_COMMA expr_or_subquery", + /* 508 */ "column_reference ::= column_name", + /* 509 */ "column_reference ::= table_name NK_DOT column_name", + /* 510 */ "column_reference ::= NK_ALIAS", + /* 511 */ "column_reference ::= table_name NK_DOT NK_ALIAS", + /* 512 */ "pseudo_column ::= ROWTS", + /* 513 */ "pseudo_column ::= TBNAME", + /* 514 */ "pseudo_column ::= table_name NK_DOT TBNAME", + /* 515 */ "pseudo_column ::= QSTART", + /* 516 */ "pseudo_column ::= QEND", + /* 517 */ "pseudo_column ::= QDURATION", + /* 518 */ "pseudo_column ::= WSTART", + /* 519 */ "pseudo_column ::= WEND", + /* 520 */ "pseudo_column ::= WDURATION", + /* 521 */ "pseudo_column ::= IROWTS", + /* 522 */ "pseudo_column ::= ISFILLED", + /* 523 */ "pseudo_column ::= QTAGS", + /* 524 */ "function_expression ::= function_name NK_LP expression_list NK_RP", + /* 525 */ "function_expression ::= star_func NK_LP star_func_para_list NK_RP", + /* 526 */ "function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP", + /* 527 */ "function_expression ::= CAST NK_LP expr_or_subquery AS type_name_binary NK_RP", + /* 528 */ "function_expression ::= literal_func", + /* 529 */ "literal_func ::= noarg_func NK_LP NK_RP", + /* 530 */ "literal_func ::= NOW", + /* 531 */ "literal_func ::= TODAY", + /* 532 */ "noarg_func ::= NOW", + /* 533 */ "noarg_func ::= TODAY", + /* 534 */ "noarg_func ::= TIMEZONE", + /* 535 */ "noarg_func ::= DATABASE", + /* 536 */ "noarg_func ::= CLIENT_VERSION", + /* 537 */ "noarg_func ::= SERVER_VERSION", + /* 538 */ "noarg_func ::= SERVER_STATUS", + /* 539 */ "noarg_func ::= CURRENT_USER", + /* 540 */ "noarg_func ::= USER", + /* 541 */ "star_func ::= COUNT", + /* 542 */ "star_func ::= FIRST", + /* 543 */ "star_func ::= LAST", + /* 544 */ "star_func ::= LAST_ROW", + /* 545 */ "star_func_para_list ::= NK_STAR", + /* 546 */ "star_func_para_list ::= other_para_list", + /* 547 */ "other_para_list ::= star_func_para", + /* 548 */ "other_para_list ::= other_para_list NK_COMMA star_func_para", + /* 549 */ "star_func_para ::= expr_or_subquery", + /* 550 */ "star_func_para ::= table_name NK_DOT NK_STAR", + /* 551 */ "case_when_expression ::= CASE when_then_list case_when_else_opt END", + /* 552 */ "case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END", + /* 553 */ "when_then_list ::= when_then_expr", + /* 554 */ "when_then_list ::= when_then_list when_then_expr", + /* 555 */ "when_then_expr ::= WHEN common_expression THEN common_expression", + /* 556 */ "case_when_else_opt ::=", + /* 557 */ "case_when_else_opt ::= ELSE common_expression", + /* 558 */ "predicate ::= expr_or_subquery compare_op expr_or_subquery", + /* 559 */ "predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery", + /* 560 */ "predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery", + /* 561 */ "predicate ::= expr_or_subquery IS NULL", + /* 562 */ "predicate ::= expr_or_subquery IS NOT NULL", + /* 563 */ "predicate ::= expr_or_subquery in_op in_predicate_value", + /* 564 */ "compare_op ::= NK_LT", + /* 565 */ "compare_op ::= NK_GT", + /* 566 */ "compare_op ::= NK_LE", + /* 567 */ "compare_op ::= NK_GE", + /* 568 */ "compare_op ::= NK_NE", + /* 569 */ "compare_op ::= NK_EQ", + /* 570 */ "compare_op ::= LIKE", + /* 571 */ "compare_op ::= NOT LIKE", + /* 572 */ "compare_op ::= MATCH", + /* 573 */ "compare_op ::= NMATCH", + /* 574 */ "compare_op ::= CONTAINS", + /* 575 */ "in_op ::= IN", + /* 576 */ "in_op ::= NOT IN", + /* 577 */ "in_predicate_value ::= NK_LP literal_list NK_RP", + /* 578 */ "boolean_value_expression ::= boolean_primary", + /* 579 */ "boolean_value_expression ::= NOT boolean_primary", + /* 580 */ "boolean_value_expression ::= boolean_value_expression OR boolean_value_expression", + /* 581 */ "boolean_value_expression ::= boolean_value_expression AND boolean_value_expression", + /* 582 */ "boolean_primary ::= predicate", + /* 583 */ "boolean_primary ::= NK_LP boolean_value_expression NK_RP", + /* 584 */ "common_expression ::= expr_or_subquery", + /* 585 */ "common_expression ::= boolean_value_expression", + /* 586 */ "from_clause_opt ::=", + /* 587 */ "from_clause_opt ::= FROM table_reference_list", + /* 588 */ "table_reference_list ::= table_reference", + /* 589 */ "table_reference_list ::= table_reference_list NK_COMMA table_reference", + /* 590 */ "table_reference ::= table_primary", + /* 591 */ "table_reference ::= joined_table", + /* 592 */ "table_primary ::= table_name alias_opt", + /* 593 */ "table_primary ::= db_name NK_DOT table_name alias_opt", + /* 594 */ "table_primary ::= subquery alias_opt", + /* 595 */ "table_primary ::= parenthesized_joined_table", + /* 596 */ "alias_opt ::=", + /* 597 */ "alias_opt ::= table_alias", + /* 598 */ "alias_opt ::= AS table_alias", + /* 599 */ "parenthesized_joined_table ::= NK_LP joined_table NK_RP", + /* 600 */ "parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP", + /* 601 */ "joined_table ::= table_reference join_type JOIN table_reference ON search_condition", + /* 602 */ "join_type ::=", + /* 603 */ "join_type ::= INNER", + /* 604 */ "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", + /* 605 */ "hint_list ::=", + /* 606 */ "hint_list ::= NK_HINT", + /* 607 */ "tag_mode_opt ::=", + /* 608 */ "tag_mode_opt ::= TAGS", + /* 609 */ "set_quantifier_opt ::=", + /* 610 */ "set_quantifier_opt ::= DISTINCT", + /* 611 */ "set_quantifier_opt ::= ALL", + /* 612 */ "select_list ::= select_item", + /* 613 */ "select_list ::= select_list NK_COMMA select_item", + /* 614 */ "select_item ::= NK_STAR", + /* 615 */ "select_item ::= common_expression", + /* 616 */ "select_item ::= common_expression column_alias", + /* 617 */ "select_item ::= common_expression AS column_alias", + /* 618 */ "select_item ::= table_name NK_DOT NK_STAR", + /* 619 */ "where_clause_opt ::=", + /* 620 */ "where_clause_opt ::= WHERE search_condition", + /* 621 */ "partition_by_clause_opt ::=", + /* 622 */ "partition_by_clause_opt ::= PARTITION BY partition_list", + /* 623 */ "partition_list ::= partition_item", + /* 624 */ "partition_list ::= partition_list NK_COMMA partition_item", + /* 625 */ "partition_item ::= expr_or_subquery", + /* 626 */ "partition_item ::= expr_or_subquery column_alias", + /* 627 */ "partition_item ::= expr_or_subquery AS column_alias", + /* 628 */ "twindow_clause_opt ::=", + /* 629 */ "twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP", + /* 630 */ "twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP", + /* 631 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt", + /* 632 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt", + /* 633 */ "twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition", + /* 634 */ "twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP", + /* 635 */ "twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP", + /* 636 */ "sliding_opt ::=", + /* 637 */ "sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP", + /* 638 */ "interval_sliding_duration_literal ::= NK_VARIABLE", + /* 639 */ "interval_sliding_duration_literal ::= NK_STRING", + /* 640 */ "interval_sliding_duration_literal ::= NK_INTEGER", + /* 641 */ "fill_opt ::=", + /* 642 */ "fill_opt ::= FILL NK_LP fill_mode NK_RP", + /* 643 */ "fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP", + /* 644 */ "fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP", + /* 645 */ "fill_mode ::= NONE", + /* 646 */ "fill_mode ::= PREV", + /* 647 */ "fill_mode ::= NULL", + /* 648 */ "fill_mode ::= NULL_F", + /* 649 */ "fill_mode ::= LINEAR", + /* 650 */ "fill_mode ::= NEXT", + /* 651 */ "group_by_clause_opt ::=", + /* 652 */ "group_by_clause_opt ::= GROUP BY group_by_list", + /* 653 */ "group_by_list ::= expr_or_subquery", + /* 654 */ "group_by_list ::= group_by_list NK_COMMA expr_or_subquery", + /* 655 */ "having_clause_opt ::=", + /* 656 */ "having_clause_opt ::= HAVING search_condition", + /* 657 */ "range_opt ::=", + /* 658 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP", + /* 659 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_RP", + /* 660 */ "every_opt ::=", + /* 661 */ "every_opt ::= EVERY NK_LP duration_literal NK_RP", + /* 662 */ "query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt", + /* 663 */ "query_simple ::= query_specification", + /* 664 */ "query_simple ::= union_query_expression", + /* 665 */ "union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery", + /* 666 */ "union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery", + /* 667 */ "query_simple_or_subquery ::= query_simple", + /* 668 */ "query_simple_or_subquery ::= subquery", + /* 669 */ "query_or_subquery ::= query_expression", + /* 670 */ "query_or_subquery ::= subquery", + /* 671 */ "order_by_clause_opt ::=", + /* 672 */ "order_by_clause_opt ::= ORDER BY sort_specification_list", + /* 673 */ "slimit_clause_opt ::=", + /* 674 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER", + /* 675 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER", + /* 676 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER", + /* 677 */ "limit_clause_opt ::=", + /* 678 */ "limit_clause_opt ::= LIMIT NK_INTEGER", + /* 679 */ "limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER", + /* 680 */ "limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER", + /* 681 */ "subquery ::= NK_LP query_expression NK_RP", + /* 682 */ "subquery ::= NK_LP subquery NK_RP", + /* 683 */ "search_condition ::= common_expression", + /* 684 */ "sort_specification_list ::= sort_specification", + /* 685 */ "sort_specification_list ::= sort_specification_list NK_COMMA sort_specification", + /* 686 */ "sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt", + /* 687 */ "ordering_specification_opt ::=", + /* 688 */ "ordering_specification_opt ::= ASC", + /* 689 */ "ordering_specification_opt ::= DESC", + /* 690 */ "null_ordering_opt ::=", + /* 691 */ "null_ordering_opt ::= NULLS FIRST", + /* 692 */ "null_ordering_opt ::= NULLS LAST", }; #endif /* NDEBUG */ @@ -2916,77 +3338,82 @@ 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 407: /* type_name_binary */ + case 412: /* duration_literal */ + case 413: /* rollup_func_name */ + case 415: /* col_name */ + case 418: /* like_pattern_opt */ + case 419: /* db_name_cond_opt */ + case 420: /* table_name_cond */ + case 421: /* from_db_opt */ + case 424: /* tag_item */ + case 426: /* index_options */ + case 427: /* full_index_name */ + case 430: /* sliding_opt */ + case 431: /* sma_stream_opt */ + case 432: /* func */ + case 436: /* query_or_subquery */ + case 437: /* where_clause_opt */ + case 440: /* explain_options */ + case 441: /* insert_query */ + case 446: /* full_view_name */ + case 449: /* stream_options */ + case 452: /* subtable_opt */ + case 454: /* expression */ + case 457: /* literal_func */ + case 458: /* signed_literal */ + case 461: /* expr_or_subquery */ + case 462: /* pseudo_column */ + case 463: /* column_reference */ + case 464: /* function_expression */ + case 465: /* case_when_expression */ + case 470: /* star_func_para */ + case 472: /* case_when_else_opt */ + case 473: /* common_expression */ + case 474: /* when_then_expr */ + case 475: /* predicate */ + case 478: /* in_predicate_value */ + case 479: /* boolean_value_expression */ + case 480: /* boolean_primary */ + case 481: /* from_clause_opt */ + case 482: /* table_reference_list */ + case 483: /* table_reference */ + case 484: /* table_primary */ + case 485: /* joined_table */ + case 487: /* subquery */ + case 488: /* parenthesized_joined_table */ + case 490: /* query_specification */ + case 496: /* range_opt */ + case 497: /* every_opt */ + case 498: /* fill_opt */ + case 499: /* twindow_clause_opt */ + case 501: /* having_clause_opt */ + case 502: /* select_item */ + case 504: /* partition_item */ + case 505: /* interval_sliding_duration_literal */ + case 508: /* query_expression */ + case 509: /* query_simple */ + case 511: /* slimit_clause_opt */ + case 512: /* limit_clause_opt */ + case 513: /* union_query_expression */ + case 514: /* query_simple_or_subquery */ + case 516: /* sort_specification */ { - nodesDestroyNode((yypminor->yy718)); +#line 7 "sql.y" + nodesDestroyNode((yypminor->yy110)); +#line 3404 "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 435: /* with_meta */ + case 444: /* bufsize_opt */ { +#line 54 "sql.y" +#line 3416 "sql.c" } break; case 359: /* ip_range_list */ @@ -3003,28 +3430,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 409: /* duration_list */ + case 410: /* rollup_func_list */ + case 422: /* tag_list_opt */ + case 429: /* func_list */ + case 434: /* expression_list */ + case 450: /* col_list_opt */ + case 451: /* tag_def_or_ref_opt */ + case 456: /* dnode_list */ + case 459: /* literal_list */ + case 467: /* star_func_para_list */ + case 469: /* other_para_list */ + case 471: /* when_then_list */ + case 491: /* hint_list */ + case 494: /* select_list */ + case 495: /* partition_by_clause_opt */ + case 500: /* group_by_clause_opt */ + case 503: /* partition_list */ + case 507: /* group_by_list */ + case 510: /* order_by_clause_opt */ + case 515: /* sort_specification_list */ { - nodesDestroyList((yypminor->yy552)); +#line 85 "sql.y" + nodesDestroyList((yypminor->yy652)); +#line 3456 "sql.c" } break; case 362: /* user_name */ @@ -3033,100 +3462,135 @@ 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 414: /* function_name */ + case 425: /* column_alias */ + case 428: /* index_name */ + case 433: /* sma_func_name */ + case 438: /* cgroup_name */ + case 445: /* language_opt */ + case 447: /* view_name */ + case 448: /* stream_name */ + case 455: /* on_vgroup_id */ + case 460: /* table_alias */ + case 466: /* star_func */ + case 468: /* noarg_func */ + case 486: /* alias_opt */ { +#line 1014 "sql.y" +#line 3481 "sql.c" } break; case 363: /* sysinfo_opt */ { +#line 112 "sql.y" +#line 3488 "sql.c" } break; case 364: /* privileges */ case 367: /* priv_type_list */ case 368: /* priv_type */ { +#line 121 "sql.y" +#line 3497 "sql.c" } break; case 365: /* priv_level */ { +#line 138 "sql.y" +#line 3504 "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 439: /* analyze_opt */ + case 442: /* or_replace_opt */ + case 443: /* agg_func_opt */ + case 453: /* ignore_opt */ + case 492: /* set_quantifier_opt */ + case 493: /* tag_mode_opt */ { +#line 167 "sql.y" +#line 3520 "sql.c" } break; case 387: /* alter_db_option */ - case 409: /* alter_table_option */ + case 411: /* alter_table_option */ { +#line 269 "sql.y" +#line 3528 "sql.c" } break; case 399: /* type_name */ { +#line 392 "sql.y" +#line 3535 "sql.c" } break; - case 414: /* db_kind_opt */ - case 421: /* table_kind */ + case 408: /* type_name_bin */ { +#line 419 "sql.y" +#line 3542 "sql.c" } break; - case 415: /* table_kind_db_name_cond_opt */ + case 416: /* db_kind_opt */ + case 423: /* table_kind */ { +#line 565 "sql.y" +#line 3550 "sql.c" } break; - case 474: /* compare_op */ - case 475: /* in_op */ + case 417: /* table_kind_db_name_cond_opt */ { +#line 530 "sql.y" +#line 3557 "sql.c" } break; - case 487: /* join_type */ + case 476: /* compare_op */ + case 477: /* in_op */ { +#line 1208 "sql.y" +#line 3565 "sql.c" } break; - case 504: /* fill_mode */ + case 489: /* join_type */ { +#line 1284 "sql.y" +#line 3572 "sql.c" } break; - case 515: /* ordering_specification_opt */ + case 506: /* fill_mode */ { +#line 1379 "sql.y" +#line 3579 "sql.c" } break; - case 516: /* null_ordering_opt */ + case 517: /* ordering_specification_opt */ { +#line 1464 "sql.y" +#line 3586 "sql.c" +} + break; + case 518: /* null_ordering_opt */ +{ +#line 1470 "sql.y" + +#line 3593 "sql.c" } break; /********* End destructor definitions *****************************************/ @@ -3293,7 +3757,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 +4098,480 @@ 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_binary ::= BINARY */ + 391, /* (220) tags_def_opt ::= */ + 391, /* (221) tags_def_opt ::= tags_def */ + 394, /* (222) tags_def ::= TAGS NK_LP column_def_list NK_RP */ + 392, /* (223) table_options ::= */ + 392, /* (224) table_options ::= table_options COMMENT NK_STRING */ + 392, /* (225) table_options ::= table_options MAX_DELAY duration_list */ + 392, /* (226) table_options ::= table_options WATERMARK duration_list */ + 392, /* (227) table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ + 392, /* (228) table_options ::= table_options TTL NK_INTEGER */ + 392, /* (229) table_options ::= table_options SMA NK_LP col_name_list NK_RP */ + 392, /* (230) table_options ::= table_options DELETE_MARK duration_list */ + 397, /* (231) alter_table_options ::= alter_table_option */ + 397, /* (232) alter_table_options ::= alter_table_options alter_table_option */ + 411, /* (233) alter_table_option ::= COMMENT NK_STRING */ + 411, /* (234) alter_table_option ::= TTL NK_INTEGER */ + 409, /* (235) duration_list ::= duration_literal */ + 409, /* (236) duration_list ::= duration_list NK_COMMA duration_literal */ + 410, /* (237) rollup_func_list ::= rollup_func_name */ + 410, /* (238) rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ + 413, /* (239) rollup_func_name ::= function_name */ + 413, /* (240) rollup_func_name ::= FIRST */ + 413, /* (241) rollup_func_name ::= LAST */ + 405, /* (242) col_name_list ::= col_name */ + 405, /* (243) col_name_list ::= col_name_list NK_COMMA col_name */ + 415, /* (244) col_name ::= column_name */ + 354, /* (245) cmd ::= SHOW DNODES */ + 354, /* (246) cmd ::= SHOW USERS */ + 354, /* (247) cmd ::= SHOW USER PRIVILEGES */ + 354, /* (248) cmd ::= SHOW db_kind_opt DATABASES */ + 354, /* (249) cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ + 354, /* (250) cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ + 354, /* (251) cmd ::= SHOW db_name_cond_opt VGROUPS */ + 354, /* (252) cmd ::= SHOW MNODES */ + 354, /* (253) cmd ::= SHOW QNODES */ + 354, /* (254) cmd ::= SHOW ARBGROUPS */ + 354, /* (255) cmd ::= SHOW FUNCTIONS */ + 354, /* (256) cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ + 354, /* (257) cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ + 354, /* (258) cmd ::= SHOW STREAMS */ + 354, /* (259) cmd ::= SHOW ACCOUNTS */ + 354, /* (260) cmd ::= SHOW APPS */ + 354, /* (261) cmd ::= SHOW CONNECTIONS */ + 354, /* (262) cmd ::= SHOW LICENCES */ + 354, /* (263) cmd ::= SHOW GRANTS */ + 354, /* (264) cmd ::= SHOW GRANTS FULL */ + 354, /* (265) cmd ::= SHOW GRANTS LOGS */ + 354, /* (266) cmd ::= SHOW CLUSTER MACHINES */ + 354, /* (267) cmd ::= SHOW CREATE DATABASE db_name */ + 354, /* (268) cmd ::= SHOW CREATE TABLE full_table_name */ + 354, /* (269) cmd ::= SHOW CREATE STABLE full_table_name */ + 354, /* (270) cmd ::= SHOW QUERIES */ + 354, /* (271) cmd ::= SHOW SCORES */ + 354, /* (272) cmd ::= SHOW TOPICS */ + 354, /* (273) cmd ::= SHOW VARIABLES */ + 354, /* (274) cmd ::= SHOW CLUSTER VARIABLES */ + 354, /* (275) cmd ::= SHOW LOCAL VARIABLES */ + 354, /* (276) cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ + 354, /* (277) cmd ::= SHOW BNODES */ + 354, /* (278) cmd ::= SHOW SNODES */ + 354, /* (279) cmd ::= SHOW CLUSTER */ + 354, /* (280) cmd ::= SHOW TRANSACTIONS */ + 354, /* (281) cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ + 354, /* (282) cmd ::= SHOW CONSUMERS */ + 354, /* (283) cmd ::= SHOW SUBSCRIPTIONS */ + 354, /* (284) cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ + 354, /* (285) cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ + 354, /* (286) cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ + 354, /* (287) cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name */ + 354, /* (288) cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ + 354, /* (289) cmd ::= SHOW VNODES */ + 354, /* (290) cmd ::= SHOW db_name_cond_opt ALIVE */ + 354, /* (291) cmd ::= SHOW CLUSTER ALIVE */ + 354, /* (292) cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt */ + 354, /* (293) cmd ::= SHOW CREATE VIEW full_table_name */ + 354, /* (294) cmd ::= SHOW COMPACTS */ + 354, /* (295) cmd ::= SHOW COMPACT NK_INTEGER */ + 417, /* (296) table_kind_db_name_cond_opt ::= */ + 417, /* (297) table_kind_db_name_cond_opt ::= table_kind */ + 417, /* (298) table_kind_db_name_cond_opt ::= db_name NK_DOT */ + 417, /* (299) table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ + 423, /* (300) table_kind ::= NORMAL */ + 423, /* (301) table_kind ::= CHILD */ + 419, /* (302) db_name_cond_opt ::= */ + 419, /* (303) db_name_cond_opt ::= db_name NK_DOT */ + 418, /* (304) like_pattern_opt ::= */ + 418, /* (305) like_pattern_opt ::= LIKE NK_STRING */ + 420, /* (306) table_name_cond ::= table_name */ + 421, /* (307) from_db_opt ::= */ + 421, /* (308) from_db_opt ::= FROM db_name */ + 422, /* (309) tag_list_opt ::= */ + 422, /* (310) tag_list_opt ::= tag_item */ + 422, /* (311) tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ + 424, /* (312) tag_item ::= TBNAME */ + 424, /* (313) tag_item ::= QTAGS */ + 424, /* (314) tag_item ::= column_name */ + 424, /* (315) tag_item ::= column_name column_alias */ + 424, /* (316) tag_item ::= column_name AS column_alias */ + 416, /* (317) db_kind_opt ::= */ + 416, /* (318) db_kind_opt ::= USER */ + 416, /* (319) db_kind_opt ::= SYSTEM */ + 354, /* (320) cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options */ + 354, /* (321) cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP */ + 354, /* (322) cmd ::= DROP INDEX exists_opt full_index_name */ + 427, /* (323) full_index_name ::= index_name */ + 427, /* (324) full_index_name ::= db_name NK_DOT index_name */ + 426, /* (325) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ + 426, /* (326) 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 */ + 429, /* (327) func_list ::= func */ + 429, /* (328) func_list ::= func_list NK_COMMA func */ + 432, /* (329) func ::= sma_func_name NK_LP expression_list NK_RP */ + 433, /* (330) sma_func_name ::= function_name */ + 433, /* (331) sma_func_name ::= COUNT */ + 433, /* (332) sma_func_name ::= FIRST */ + 433, /* (333) sma_func_name ::= LAST */ + 433, /* (334) sma_func_name ::= LAST_ROW */ + 431, /* (335) sma_stream_opt ::= */ + 431, /* (336) sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ + 431, /* (337) sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ + 431, /* (338) sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ + 435, /* (339) with_meta ::= AS */ + 435, /* (340) with_meta ::= WITH META AS */ + 435, /* (341) with_meta ::= ONLY META AS */ + 354, /* (342) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ + 354, /* (343) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ + 354, /* (344) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ + 354, /* (345) cmd ::= DROP TOPIC exists_opt topic_name */ + 354, /* (346) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ + 354, /* (347) cmd ::= DESC full_table_name */ + 354, /* (348) cmd ::= DESCRIBE full_table_name */ + 354, /* (349) cmd ::= RESET QUERY CACHE */ + 354, /* (350) cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ + 354, /* (351) cmd ::= EXPLAIN analyze_opt explain_options insert_query */ + 439, /* (352) analyze_opt ::= */ + 439, /* (353) analyze_opt ::= ANALYZE */ + 440, /* (354) explain_options ::= */ + 440, /* (355) explain_options ::= explain_options VERBOSE NK_BOOL */ + 440, /* (356) explain_options ::= explain_options RATIO NK_FLOAT */ + 354, /* (357) 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, /* (358) cmd ::= DROP FUNCTION exists_opt function_name */ + 443, /* (359) agg_func_opt ::= */ + 443, /* (360) agg_func_opt ::= AGGREGATE */ + 444, /* (361) bufsize_opt ::= */ + 444, /* (362) bufsize_opt ::= BUFSIZE NK_INTEGER */ + 445, /* (363) language_opt ::= */ + 445, /* (364) language_opt ::= LANGUAGE NK_STRING */ + 442, /* (365) or_replace_opt ::= */ + 442, /* (366) or_replace_opt ::= OR REPLACE */ + 354, /* (367) cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ + 354, /* (368) cmd ::= DROP VIEW exists_opt full_view_name */ + 446, /* (369) full_view_name ::= view_name */ + 446, /* (370) full_view_name ::= db_name NK_DOT view_name */ + 354, /* (371) 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, /* (372) cmd ::= DROP STREAM exists_opt stream_name */ + 354, /* (373) cmd ::= PAUSE STREAM exists_opt stream_name */ + 354, /* (374) cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ + 450, /* (375) col_list_opt ::= */ + 450, /* (376) col_list_opt ::= NK_LP col_name_list NK_RP */ + 451, /* (377) tag_def_or_ref_opt ::= */ + 451, /* (378) tag_def_or_ref_opt ::= tags_def */ + 451, /* (379) tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ + 449, /* (380) stream_options ::= */ + 449, /* (381) stream_options ::= stream_options TRIGGER AT_ONCE */ + 449, /* (382) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ + 449, /* (383) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ + 449, /* (384) stream_options ::= stream_options WATERMARK duration_literal */ + 449, /* (385) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ + 449, /* (386) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ + 449, /* (387) stream_options ::= stream_options DELETE_MARK duration_literal */ + 449, /* (388) stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ + 452, /* (389) subtable_opt ::= */ + 452, /* (390) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ + 453, /* (391) ignore_opt ::= */ + 453, /* (392) ignore_opt ::= IGNORE UNTREATED */ + 354, /* (393) cmd ::= KILL CONNECTION NK_INTEGER */ + 354, /* (394) cmd ::= KILL QUERY NK_STRING */ + 354, /* (395) cmd ::= KILL TRANSACTION NK_INTEGER */ + 354, /* (396) cmd ::= KILL COMPACT NK_INTEGER */ + 354, /* (397) cmd ::= BALANCE VGROUP */ + 354, /* (398) cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ + 354, /* (399) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ + 354, /* (400) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ + 354, /* (401) cmd ::= SPLIT VGROUP NK_INTEGER */ + 455, /* (402) on_vgroup_id ::= */ + 455, /* (403) on_vgroup_id ::= ON NK_INTEGER */ + 456, /* (404) dnode_list ::= DNODE NK_INTEGER */ + 456, /* (405) dnode_list ::= dnode_list DNODE NK_INTEGER */ + 354, /* (406) cmd ::= DELETE FROM full_table_name where_clause_opt */ + 354, /* (407) cmd ::= query_or_subquery */ + 354, /* (408) cmd ::= insert_query */ + 441, /* (409) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ + 441, /* (410) insert_query ::= INSERT INTO full_table_name query_or_subquery */ + 400, /* (411) tags_literal ::= NK_INTEGER */ + 400, /* (412) tags_literal ::= NK_INTEGER NK_PLUS duration_literal */ + 400, /* (413) tags_literal ::= NK_INTEGER NK_MINUS duration_literal */ + 400, /* (414) tags_literal ::= NK_PLUS NK_INTEGER */ + 400, /* (415) tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal */ + 400, /* (416) tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal */ + 400, /* (417) tags_literal ::= NK_MINUS NK_INTEGER */ + 400, /* (418) tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal */ + 400, /* (419) tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal */ + 400, /* (420) tags_literal ::= NK_FLOAT */ + 400, /* (421) tags_literal ::= NK_PLUS NK_FLOAT */ + 400, /* (422) tags_literal ::= NK_MINUS NK_FLOAT */ + 400, /* (423) tags_literal ::= NK_BIN */ + 400, /* (424) tags_literal ::= NK_BIN NK_PLUS duration_literal */ + 400, /* (425) tags_literal ::= NK_BIN NK_MINUS duration_literal */ + 400, /* (426) tags_literal ::= NK_PLUS NK_BIN */ + 400, /* (427) tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal */ + 400, /* (428) tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal */ + 400, /* (429) tags_literal ::= NK_MINUS NK_BIN */ + 400, /* (430) tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal */ + 400, /* (431) tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal */ + 400, /* (432) tags_literal ::= NK_HEX */ + 400, /* (433) tags_literal ::= NK_HEX NK_PLUS duration_literal */ + 400, /* (434) tags_literal ::= NK_HEX NK_MINUS duration_literal */ + 400, /* (435) tags_literal ::= NK_PLUS NK_HEX */ + 400, /* (436) tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal */ + 400, /* (437) tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal */ + 400, /* (438) tags_literal ::= NK_MINUS NK_HEX */ + 400, /* (439) tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal */ + 400, /* (440) tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal */ + 400, /* (441) tags_literal ::= NK_STRING */ + 400, /* (442) tags_literal ::= NK_STRING NK_PLUS duration_literal */ + 400, /* (443) tags_literal ::= NK_STRING NK_MINUS duration_literal */ + 400, /* (444) tags_literal ::= NK_BOOL */ + 400, /* (445) tags_literal ::= NULL */ + 400, /* (446) tags_literal ::= literal_func */ + 400, /* (447) tags_literal ::= literal_func NK_PLUS duration_literal */ + 400, /* (448) tags_literal ::= literal_func NK_MINUS duration_literal */ + 403, /* (449) tags_literal_list ::= tags_literal */ + 403, /* (450) tags_literal_list ::= tags_literal_list NK_COMMA tags_literal */ + 357, /* (451) literal ::= NK_INTEGER */ + 357, /* (452) literal ::= NK_FLOAT */ + 357, /* (453) literal ::= NK_STRING */ + 357, /* (454) literal ::= NK_BOOL */ + 357, /* (455) literal ::= TIMESTAMP NK_STRING */ + 357, /* (456) literal ::= duration_literal */ + 357, /* (457) literal ::= NULL */ + 357, /* (458) literal ::= NK_QUESTION */ + 412, /* (459) duration_literal ::= NK_VARIABLE */ + 386, /* (460) signed ::= NK_INTEGER */ + 386, /* (461) signed ::= NK_PLUS NK_INTEGER */ + 386, /* (462) signed ::= NK_MINUS NK_INTEGER */ + 386, /* (463) signed ::= NK_FLOAT */ + 386, /* (464) signed ::= NK_PLUS NK_FLOAT */ + 386, /* (465) signed ::= NK_MINUS NK_FLOAT */ + 458, /* (466) signed_literal ::= signed */ + 458, /* (467) signed_literal ::= NK_STRING */ + 458, /* (468) signed_literal ::= NK_BOOL */ + 458, /* (469) signed_literal ::= TIMESTAMP NK_STRING */ + 458, /* (470) signed_literal ::= duration_literal */ + 458, /* (471) signed_literal ::= NULL */ + 458, /* (472) signed_literal ::= literal_func */ + 458, /* (473) signed_literal ::= NK_QUESTION */ + 459, /* (474) literal_list ::= signed_literal */ + 459, /* (475) literal_list ::= literal_list NK_COMMA signed_literal */ + 369, /* (476) db_name ::= NK_ID */ + 370, /* (477) table_name ::= NK_ID */ + 398, /* (478) column_name ::= NK_ID */ + 414, /* (479) function_name ::= NK_ID */ + 447, /* (480) view_name ::= NK_ID */ + 460, /* (481) table_alias ::= NK_ID */ + 425, /* (482) column_alias ::= NK_ID */ + 425, /* (483) column_alias ::= NK_ALIAS */ + 362, /* (484) user_name ::= NK_ID */ + 371, /* (485) topic_name ::= NK_ID */ + 448, /* (486) stream_name ::= NK_ID */ + 438, /* (487) cgroup_name ::= NK_ID */ + 428, /* (488) index_name ::= NK_ID */ + 461, /* (489) expr_or_subquery ::= expression */ + 454, /* (490) expression ::= literal */ + 454, /* (491) expression ::= pseudo_column */ + 454, /* (492) expression ::= column_reference */ + 454, /* (493) expression ::= function_expression */ + 454, /* (494) expression ::= case_when_expression */ + 454, /* (495) expression ::= NK_LP expression NK_RP */ + 454, /* (496) expression ::= NK_PLUS expr_or_subquery */ + 454, /* (497) expression ::= NK_MINUS expr_or_subquery */ + 454, /* (498) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ + 454, /* (499) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ + 454, /* (500) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ + 454, /* (501) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ + 454, /* (502) expression ::= expr_or_subquery NK_REM expr_or_subquery */ + 454, /* (503) expression ::= column_reference NK_ARROW NK_STRING */ + 454, /* (504) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ + 454, /* (505) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ + 434, /* (506) expression_list ::= expr_or_subquery */ + 434, /* (507) expression_list ::= expression_list NK_COMMA expr_or_subquery */ + 463, /* (508) column_reference ::= column_name */ + 463, /* (509) column_reference ::= table_name NK_DOT column_name */ + 463, /* (510) column_reference ::= NK_ALIAS */ + 463, /* (511) column_reference ::= table_name NK_DOT NK_ALIAS */ + 462, /* (512) pseudo_column ::= ROWTS */ + 462, /* (513) pseudo_column ::= TBNAME */ + 462, /* (514) pseudo_column ::= table_name NK_DOT TBNAME */ + 462, /* (515) pseudo_column ::= QSTART */ + 462, /* (516) pseudo_column ::= QEND */ + 462, /* (517) pseudo_column ::= QDURATION */ + 462, /* (518) pseudo_column ::= WSTART */ + 462, /* (519) pseudo_column ::= WEND */ + 462, /* (520) pseudo_column ::= WDURATION */ + 462, /* (521) pseudo_column ::= IROWTS */ + 462, /* (522) pseudo_column ::= ISFILLED */ + 462, /* (523) pseudo_column ::= QTAGS */ + 464, /* (524) function_expression ::= function_name NK_LP expression_list NK_RP */ + 464, /* (525) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ + 464, /* (526) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ + 464, /* (527) function_expression ::= CAST NK_LP expr_or_subquery AS type_name_binary NK_RP */ + 464, /* (528) function_expression ::= literal_func */ + 457, /* (529) literal_func ::= noarg_func NK_LP NK_RP */ + 457, /* (530) literal_func ::= NOW */ + 457, /* (531) literal_func ::= TODAY */ + 468, /* (532) noarg_func ::= NOW */ + 468, /* (533) noarg_func ::= TODAY */ + 468, /* (534) noarg_func ::= TIMEZONE */ + 468, /* (535) noarg_func ::= DATABASE */ + 468, /* (536) noarg_func ::= CLIENT_VERSION */ + 468, /* (537) noarg_func ::= SERVER_VERSION */ + 468, /* (538) noarg_func ::= SERVER_STATUS */ + 468, /* (539) noarg_func ::= CURRENT_USER */ + 468, /* (540) noarg_func ::= USER */ + 466, /* (541) star_func ::= COUNT */ + 466, /* (542) star_func ::= FIRST */ + 466, /* (543) star_func ::= LAST */ + 466, /* (544) star_func ::= LAST_ROW */ + 467, /* (545) star_func_para_list ::= NK_STAR */ + 467, /* (546) star_func_para_list ::= other_para_list */ + 469, /* (547) other_para_list ::= star_func_para */ + 469, /* (548) other_para_list ::= other_para_list NK_COMMA star_func_para */ + 470, /* (549) star_func_para ::= expr_or_subquery */ + 470, /* (550) star_func_para ::= table_name NK_DOT NK_STAR */ + 465, /* (551) case_when_expression ::= CASE when_then_list case_when_else_opt END */ + 465, /* (552) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ + 471, /* (553) when_then_list ::= when_then_expr */ + 471, /* (554) when_then_list ::= when_then_list when_then_expr */ + 474, /* (555) when_then_expr ::= WHEN common_expression THEN common_expression */ + 472, /* (556) case_when_else_opt ::= */ + 472, /* (557) case_when_else_opt ::= ELSE common_expression */ + 475, /* (558) predicate ::= expr_or_subquery compare_op expr_or_subquery */ + 475, /* (559) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ + 475, /* (560) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ + 475, /* (561) predicate ::= expr_or_subquery IS NULL */ + 475, /* (562) predicate ::= expr_or_subquery IS NOT NULL */ + 475, /* (563) predicate ::= expr_or_subquery in_op in_predicate_value */ + 476, /* (564) compare_op ::= NK_LT */ + 476, /* (565) compare_op ::= NK_GT */ + 476, /* (566) compare_op ::= NK_LE */ + 476, /* (567) compare_op ::= NK_GE */ + 476, /* (568) compare_op ::= NK_NE */ + 476, /* (569) compare_op ::= NK_EQ */ + 476, /* (570) compare_op ::= LIKE */ + 476, /* (571) compare_op ::= NOT LIKE */ + 476, /* (572) compare_op ::= MATCH */ + 476, /* (573) compare_op ::= NMATCH */ + 476, /* (574) compare_op ::= CONTAINS */ + 477, /* (575) in_op ::= IN */ + 477, /* (576) in_op ::= NOT IN */ + 478, /* (577) in_predicate_value ::= NK_LP literal_list NK_RP */ + 479, /* (578) boolean_value_expression ::= boolean_primary */ + 479, /* (579) boolean_value_expression ::= NOT boolean_primary */ + 479, /* (580) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ + 479, /* (581) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ + 480, /* (582) boolean_primary ::= predicate */ + 480, /* (583) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ + 473, /* (584) common_expression ::= expr_or_subquery */ + 473, /* (585) common_expression ::= boolean_value_expression */ + 481, /* (586) from_clause_opt ::= */ + 481, /* (587) from_clause_opt ::= FROM table_reference_list */ + 482, /* (588) table_reference_list ::= table_reference */ + 482, /* (589) table_reference_list ::= table_reference_list NK_COMMA table_reference */ + 483, /* (590) table_reference ::= table_primary */ + 483, /* (591) table_reference ::= joined_table */ + 484, /* (592) table_primary ::= table_name alias_opt */ + 484, /* (593) table_primary ::= db_name NK_DOT table_name alias_opt */ + 484, /* (594) table_primary ::= subquery alias_opt */ + 484, /* (595) table_primary ::= parenthesized_joined_table */ + 486, /* (596) alias_opt ::= */ + 486, /* (597) alias_opt ::= table_alias */ + 486, /* (598) alias_opt ::= AS table_alias */ + 488, /* (599) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ + 488, /* (600) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ + 485, /* (601) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ + 489, /* (602) join_type ::= */ + 489, /* (603) join_type ::= INNER */ + 490, /* (604) 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 */ + 491, /* (605) hint_list ::= */ + 491, /* (606) hint_list ::= NK_HINT */ + 493, /* (607) tag_mode_opt ::= */ + 493, /* (608) tag_mode_opt ::= TAGS */ + 492, /* (609) set_quantifier_opt ::= */ + 492, /* (610) set_quantifier_opt ::= DISTINCT */ + 492, /* (611) set_quantifier_opt ::= ALL */ + 494, /* (612) select_list ::= select_item */ + 494, /* (613) select_list ::= select_list NK_COMMA select_item */ + 502, /* (614) select_item ::= NK_STAR */ + 502, /* (615) select_item ::= common_expression */ + 502, /* (616) select_item ::= common_expression column_alias */ + 502, /* (617) select_item ::= common_expression AS column_alias */ + 502, /* (618) select_item ::= table_name NK_DOT NK_STAR */ + 437, /* (619) where_clause_opt ::= */ + 437, /* (620) where_clause_opt ::= WHERE search_condition */ + 495, /* (621) partition_by_clause_opt ::= */ + 495, /* (622) partition_by_clause_opt ::= PARTITION BY partition_list */ + 503, /* (623) partition_list ::= partition_item */ + 503, /* (624) partition_list ::= partition_list NK_COMMA partition_item */ + 504, /* (625) partition_item ::= expr_or_subquery */ + 504, /* (626) partition_item ::= expr_or_subquery column_alias */ + 504, /* (627) partition_item ::= expr_or_subquery AS column_alias */ + 499, /* (628) twindow_clause_opt ::= */ + 499, /* (629) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ + 499, /* (630) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ + 499, /* (631) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + 499, /* (632) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + 499, /* (633) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ + 499, /* (634) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ + 499, /* (635) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ + 430, /* (636) sliding_opt ::= */ + 430, /* (637) sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ + 505, /* (638) interval_sliding_duration_literal ::= NK_VARIABLE */ + 505, /* (639) interval_sliding_duration_literal ::= NK_STRING */ + 505, /* (640) interval_sliding_duration_literal ::= NK_INTEGER */ + 498, /* (641) fill_opt ::= */ + 498, /* (642) fill_opt ::= FILL NK_LP fill_mode NK_RP */ + 498, /* (643) fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ + 498, /* (644) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ + 506, /* (645) fill_mode ::= NONE */ + 506, /* (646) fill_mode ::= PREV */ + 506, /* (647) fill_mode ::= NULL */ + 506, /* (648) fill_mode ::= NULL_F */ + 506, /* (649) fill_mode ::= LINEAR */ + 506, /* (650) fill_mode ::= NEXT */ + 500, /* (651) group_by_clause_opt ::= */ + 500, /* (652) group_by_clause_opt ::= GROUP BY group_by_list */ + 507, /* (653) group_by_list ::= expr_or_subquery */ + 507, /* (654) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ + 501, /* (655) having_clause_opt ::= */ + 501, /* (656) having_clause_opt ::= HAVING search_condition */ + 496, /* (657) range_opt ::= */ + 496, /* (658) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ + 496, /* (659) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ + 497, /* (660) every_opt ::= */ + 497, /* (661) every_opt ::= EVERY NK_LP duration_literal NK_RP */ + 508, /* (662) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + 509, /* (663) query_simple ::= query_specification */ + 509, /* (664) query_simple ::= union_query_expression */ + 513, /* (665) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ + 513, /* (666) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ + 514, /* (667) query_simple_or_subquery ::= query_simple */ + 514, /* (668) query_simple_or_subquery ::= subquery */ + 436, /* (669) query_or_subquery ::= query_expression */ + 436, /* (670) query_or_subquery ::= subquery */ + 510, /* (671) order_by_clause_opt ::= */ + 510, /* (672) order_by_clause_opt ::= ORDER BY sort_specification_list */ + 511, /* (673) slimit_clause_opt ::= */ + 511, /* (674) slimit_clause_opt ::= SLIMIT NK_INTEGER */ + 511, /* (675) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + 511, /* (676) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + 512, /* (677) limit_clause_opt ::= */ + 512, /* (678) limit_clause_opt ::= LIMIT NK_INTEGER */ + 512, /* (679) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ + 512, /* (680) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + 487, /* (681) subquery ::= NK_LP query_expression NK_RP */ + 487, /* (682) subquery ::= NK_LP subquery NK_RP */ + 372, /* (683) search_condition ::= common_expression */ + 515, /* (684) sort_specification_list ::= sort_specification */ + 515, /* (685) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ + 516, /* (686) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ + 517, /* (687) ordering_specification_opt ::= */ + 517, /* (688) ordering_specification_opt ::= ASC */ + 517, /* (689) ordering_specification_opt ::= DESC */ + 518, /* (690) null_ordering_opt ::= */ + 518, /* (691) null_ordering_opt ::= NULLS FIRST */ + 518, /* (692) null_ordering_opt ::= NULLS LAST */ }; /* For rule J, yyRuleInfoNRhs[J] contains the negative of the number @@ -4330,478 +4796,480 @@ 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_binary ::= BINARY */ + 0, /* (220) tags_def_opt ::= */ + -1, /* (221) tags_def_opt ::= tags_def */ + -4, /* (222) tags_def ::= TAGS NK_LP column_def_list NK_RP */ + 0, /* (223) table_options ::= */ + -3, /* (224) table_options ::= table_options COMMENT NK_STRING */ + -3, /* (225) table_options ::= table_options MAX_DELAY duration_list */ + -3, /* (226) table_options ::= table_options WATERMARK duration_list */ + -5, /* (227) table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ + -3, /* (228) table_options ::= table_options TTL NK_INTEGER */ + -5, /* (229) table_options ::= table_options SMA NK_LP col_name_list NK_RP */ + -3, /* (230) table_options ::= table_options DELETE_MARK duration_list */ + -1, /* (231) alter_table_options ::= alter_table_option */ + -2, /* (232) alter_table_options ::= alter_table_options alter_table_option */ + -2, /* (233) alter_table_option ::= COMMENT NK_STRING */ + -2, /* (234) alter_table_option ::= TTL NK_INTEGER */ + -1, /* (235) duration_list ::= duration_literal */ + -3, /* (236) duration_list ::= duration_list NK_COMMA duration_literal */ + -1, /* (237) rollup_func_list ::= rollup_func_name */ + -3, /* (238) rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ + -1, /* (239) rollup_func_name ::= function_name */ + -1, /* (240) rollup_func_name ::= FIRST */ + -1, /* (241) rollup_func_name ::= LAST */ + -1, /* (242) col_name_list ::= col_name */ + -3, /* (243) col_name_list ::= col_name_list NK_COMMA col_name */ + -1, /* (244) col_name ::= column_name */ + -2, /* (245) cmd ::= SHOW DNODES */ + -2, /* (246) cmd ::= SHOW USERS */ + -3, /* (247) cmd ::= SHOW USER PRIVILEGES */ + -3, /* (248) cmd ::= SHOW db_kind_opt DATABASES */ + -4, /* (249) cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ + -4, /* (250) cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ + -3, /* (251) cmd ::= SHOW db_name_cond_opt VGROUPS */ + -2, /* (252) cmd ::= SHOW MNODES */ + -2, /* (253) cmd ::= SHOW QNODES */ + -2, /* (254) cmd ::= SHOW ARBGROUPS */ + -2, /* (255) cmd ::= SHOW FUNCTIONS */ + -5, /* (256) cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ + -6, /* (257) cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ + -2, /* (258) cmd ::= SHOW STREAMS */ + -2, /* (259) cmd ::= SHOW ACCOUNTS */ + -2, /* (260) cmd ::= SHOW APPS */ + -2, /* (261) cmd ::= SHOW CONNECTIONS */ + -2, /* (262) cmd ::= SHOW LICENCES */ + -2, /* (263) cmd ::= SHOW GRANTS */ + -3, /* (264) cmd ::= SHOW GRANTS FULL */ + -3, /* (265) cmd ::= SHOW GRANTS LOGS */ + -3, /* (266) cmd ::= SHOW CLUSTER MACHINES */ + -4, /* (267) cmd ::= SHOW CREATE DATABASE db_name */ + -4, /* (268) cmd ::= SHOW CREATE TABLE full_table_name */ + -4, /* (269) cmd ::= SHOW CREATE STABLE full_table_name */ + -2, /* (270) cmd ::= SHOW QUERIES */ + -2, /* (271) cmd ::= SHOW SCORES */ + -2, /* (272) cmd ::= SHOW TOPICS */ + -2, /* (273) cmd ::= SHOW VARIABLES */ + -3, /* (274) cmd ::= SHOW CLUSTER VARIABLES */ + -3, /* (275) cmd ::= SHOW LOCAL VARIABLES */ + -5, /* (276) cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ + -2, /* (277) cmd ::= SHOW BNODES */ + -2, /* (278) cmd ::= SHOW SNODES */ + -2, /* (279) cmd ::= SHOW CLUSTER */ + -2, /* (280) cmd ::= SHOW TRANSACTIONS */ + -4, /* (281) cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ + -2, /* (282) cmd ::= SHOW CONSUMERS */ + -2, /* (283) cmd ::= SHOW SUBSCRIPTIONS */ + -5, /* (284) cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ + -6, /* (285) cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ + -7, /* (286) cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ + -8, /* (287) cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name */ + -5, /* (288) cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ + -2, /* (289) cmd ::= SHOW VNODES */ + -3, /* (290) cmd ::= SHOW db_name_cond_opt ALIVE */ + -3, /* (291) cmd ::= SHOW CLUSTER ALIVE */ + -4, /* (292) cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt */ + -4, /* (293) cmd ::= SHOW CREATE VIEW full_table_name */ + -2, /* (294) cmd ::= SHOW COMPACTS */ + -3, /* (295) cmd ::= SHOW COMPACT NK_INTEGER */ + 0, /* (296) table_kind_db_name_cond_opt ::= */ + -1, /* (297) table_kind_db_name_cond_opt ::= table_kind */ + -2, /* (298) table_kind_db_name_cond_opt ::= db_name NK_DOT */ + -3, /* (299) table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ + -1, /* (300) table_kind ::= NORMAL */ + -1, /* (301) table_kind ::= CHILD */ + 0, /* (302) db_name_cond_opt ::= */ + -2, /* (303) db_name_cond_opt ::= db_name NK_DOT */ + 0, /* (304) like_pattern_opt ::= */ + -2, /* (305) like_pattern_opt ::= LIKE NK_STRING */ + -1, /* (306) table_name_cond ::= table_name */ + 0, /* (307) from_db_opt ::= */ + -2, /* (308) from_db_opt ::= FROM db_name */ + 0, /* (309) tag_list_opt ::= */ + -1, /* (310) tag_list_opt ::= tag_item */ + -3, /* (311) tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ + -1, /* (312) tag_item ::= TBNAME */ + -1, /* (313) tag_item ::= QTAGS */ + -1, /* (314) tag_item ::= column_name */ + -2, /* (315) tag_item ::= column_name column_alias */ + -3, /* (316) tag_item ::= column_name AS column_alias */ + 0, /* (317) db_kind_opt ::= */ + -1, /* (318) db_kind_opt ::= USER */ + -1, /* (319) db_kind_opt ::= SYSTEM */ + -8, /* (320) cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options */ + -9, /* (321) cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP */ + -4, /* (322) cmd ::= DROP INDEX exists_opt full_index_name */ + -1, /* (323) full_index_name ::= index_name */ + -3, /* (324) full_index_name ::= db_name NK_DOT index_name */ + -10, /* (325) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ + -12, /* (326) 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, /* (327) func_list ::= func */ + -3, /* (328) func_list ::= func_list NK_COMMA func */ + -4, /* (329) func ::= sma_func_name NK_LP expression_list NK_RP */ + -1, /* (330) sma_func_name ::= function_name */ + -1, /* (331) sma_func_name ::= COUNT */ + -1, /* (332) sma_func_name ::= FIRST */ + -1, /* (333) sma_func_name ::= LAST */ + -1, /* (334) sma_func_name ::= LAST_ROW */ + 0, /* (335) sma_stream_opt ::= */ + -3, /* (336) sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ + -3, /* (337) sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ + -3, /* (338) sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ + -1, /* (339) with_meta ::= AS */ + -3, /* (340) with_meta ::= WITH META AS */ + -3, /* (341) with_meta ::= ONLY META AS */ + -6, /* (342) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ + -7, /* (343) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ + -8, /* (344) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ + -4, /* (345) cmd ::= DROP TOPIC exists_opt topic_name */ + -7, /* (346) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ + -2, /* (347) cmd ::= DESC full_table_name */ + -2, /* (348) cmd ::= DESCRIBE full_table_name */ + -3, /* (349) cmd ::= RESET QUERY CACHE */ + -4, /* (350) cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ + -4, /* (351) cmd ::= EXPLAIN analyze_opt explain_options insert_query */ + 0, /* (352) analyze_opt ::= */ + -1, /* (353) analyze_opt ::= ANALYZE */ + 0, /* (354) explain_options ::= */ + -3, /* (355) explain_options ::= explain_options VERBOSE NK_BOOL */ + -3, /* (356) explain_options ::= explain_options RATIO NK_FLOAT */ + -12, /* (357) 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, /* (358) cmd ::= DROP FUNCTION exists_opt function_name */ + 0, /* (359) agg_func_opt ::= */ + -1, /* (360) agg_func_opt ::= AGGREGATE */ + 0, /* (361) bufsize_opt ::= */ + -2, /* (362) bufsize_opt ::= BUFSIZE NK_INTEGER */ + 0, /* (363) language_opt ::= */ + -2, /* (364) language_opt ::= LANGUAGE NK_STRING */ + 0, /* (365) or_replace_opt ::= */ + -2, /* (366) or_replace_opt ::= OR REPLACE */ + -6, /* (367) cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ + -4, /* (368) cmd ::= DROP VIEW exists_opt full_view_name */ + -1, /* (369) full_view_name ::= view_name */ + -3, /* (370) full_view_name ::= db_name NK_DOT view_name */ + -12, /* (371) 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, /* (372) cmd ::= DROP STREAM exists_opt stream_name */ + -4, /* (373) cmd ::= PAUSE STREAM exists_opt stream_name */ + -5, /* (374) cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ + 0, /* (375) col_list_opt ::= */ + -3, /* (376) col_list_opt ::= NK_LP col_name_list NK_RP */ + 0, /* (377) tag_def_or_ref_opt ::= */ + -1, /* (378) tag_def_or_ref_opt ::= tags_def */ + -4, /* (379) tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ + 0, /* (380) stream_options ::= */ + -3, /* (381) stream_options ::= stream_options TRIGGER AT_ONCE */ + -3, /* (382) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ + -4, /* (383) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ + -3, /* (384) stream_options ::= stream_options WATERMARK duration_literal */ + -4, /* (385) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ + -3, /* (386) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ + -3, /* (387) stream_options ::= stream_options DELETE_MARK duration_literal */ + -4, /* (388) stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ + 0, /* (389) subtable_opt ::= */ + -4, /* (390) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ + 0, /* (391) ignore_opt ::= */ + -2, /* (392) ignore_opt ::= IGNORE UNTREATED */ + -3, /* (393) cmd ::= KILL CONNECTION NK_INTEGER */ + -3, /* (394) cmd ::= KILL QUERY NK_STRING */ + -3, /* (395) cmd ::= KILL TRANSACTION NK_INTEGER */ + -3, /* (396) cmd ::= KILL COMPACT NK_INTEGER */ + -2, /* (397) cmd ::= BALANCE VGROUP */ + -4, /* (398) cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ + -4, /* (399) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ + -4, /* (400) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ + -3, /* (401) cmd ::= SPLIT VGROUP NK_INTEGER */ + 0, /* (402) on_vgroup_id ::= */ + -2, /* (403) on_vgroup_id ::= ON NK_INTEGER */ + -2, /* (404) dnode_list ::= DNODE NK_INTEGER */ + -3, /* (405) dnode_list ::= dnode_list DNODE NK_INTEGER */ + -4, /* (406) cmd ::= DELETE FROM full_table_name where_clause_opt */ + -1, /* (407) cmd ::= query_or_subquery */ + -1, /* (408) cmd ::= insert_query */ + -7, /* (409) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ + -4, /* (410) insert_query ::= INSERT INTO full_table_name query_or_subquery */ + -1, /* (411) tags_literal ::= NK_INTEGER */ + -3, /* (412) tags_literal ::= NK_INTEGER NK_PLUS duration_literal */ + -3, /* (413) tags_literal ::= NK_INTEGER NK_MINUS duration_literal */ + -2, /* (414) tags_literal ::= NK_PLUS NK_INTEGER */ + -4, /* (415) tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal */ + -4, /* (416) tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal */ + -2, /* (417) tags_literal ::= NK_MINUS NK_INTEGER */ + -4, /* (418) tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal */ + -4, /* (419) tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal */ + -1, /* (420) tags_literal ::= NK_FLOAT */ + -2, /* (421) tags_literal ::= NK_PLUS NK_FLOAT */ + -2, /* (422) tags_literal ::= NK_MINUS NK_FLOAT */ + -1, /* (423) tags_literal ::= NK_BIN */ + -3, /* (424) tags_literal ::= NK_BIN NK_PLUS duration_literal */ + -3, /* (425) tags_literal ::= NK_BIN NK_MINUS duration_literal */ + -2, /* (426) tags_literal ::= NK_PLUS NK_BIN */ + -4, /* (427) tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal */ + -4, /* (428) tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal */ + -2, /* (429) tags_literal ::= NK_MINUS NK_BIN */ + -4, /* (430) tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal */ + -4, /* (431) tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal */ + -1, /* (432) tags_literal ::= NK_HEX */ + -3, /* (433) tags_literal ::= NK_HEX NK_PLUS duration_literal */ + -3, /* (434) tags_literal ::= NK_HEX NK_MINUS duration_literal */ + -2, /* (435) tags_literal ::= NK_PLUS NK_HEX */ + -4, /* (436) tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal */ + -4, /* (437) tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal */ + -2, /* (438) tags_literal ::= NK_MINUS NK_HEX */ + -4, /* (439) tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal */ + -4, /* (440) tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal */ + -1, /* (441) tags_literal ::= NK_STRING */ + -3, /* (442) tags_literal ::= NK_STRING NK_PLUS duration_literal */ + -3, /* (443) tags_literal ::= NK_STRING NK_MINUS duration_literal */ + -1, /* (444) tags_literal ::= NK_BOOL */ + -1, /* (445) tags_literal ::= NULL */ + -1, /* (446) tags_literal ::= literal_func */ + -3, /* (447) tags_literal ::= literal_func NK_PLUS duration_literal */ + -3, /* (448) tags_literal ::= literal_func NK_MINUS duration_literal */ + -1, /* (449) tags_literal_list ::= tags_literal */ + -3, /* (450) tags_literal_list ::= tags_literal_list NK_COMMA tags_literal */ + -1, /* (451) literal ::= NK_INTEGER */ + -1, /* (452) literal ::= NK_FLOAT */ + -1, /* (453) literal ::= NK_STRING */ + -1, /* (454) literal ::= NK_BOOL */ + -2, /* (455) literal ::= TIMESTAMP NK_STRING */ + -1, /* (456) literal ::= duration_literal */ + -1, /* (457) literal ::= NULL */ + -1, /* (458) literal ::= NK_QUESTION */ + -1, /* (459) duration_literal ::= NK_VARIABLE */ + -1, /* (460) signed ::= NK_INTEGER */ + -2, /* (461) signed ::= NK_PLUS NK_INTEGER */ + -2, /* (462) signed ::= NK_MINUS NK_INTEGER */ + -1, /* (463) signed ::= NK_FLOAT */ + -2, /* (464) signed ::= NK_PLUS NK_FLOAT */ + -2, /* (465) signed ::= NK_MINUS NK_FLOAT */ + -1, /* (466) signed_literal ::= signed */ + -1, /* (467) signed_literal ::= NK_STRING */ + -1, /* (468) signed_literal ::= NK_BOOL */ + -2, /* (469) signed_literal ::= TIMESTAMP NK_STRING */ + -1, /* (470) signed_literal ::= duration_literal */ + -1, /* (471) signed_literal ::= NULL */ + -1, /* (472) signed_literal ::= literal_func */ + -1, /* (473) signed_literal ::= NK_QUESTION */ + -1, /* (474) literal_list ::= signed_literal */ + -3, /* (475) literal_list ::= literal_list NK_COMMA signed_literal */ + -1, /* (476) db_name ::= NK_ID */ + -1, /* (477) table_name ::= NK_ID */ + -1, /* (478) column_name ::= NK_ID */ + -1, /* (479) function_name ::= NK_ID */ + -1, /* (480) view_name ::= NK_ID */ + -1, /* (481) table_alias ::= NK_ID */ + -1, /* (482) column_alias ::= NK_ID */ + -1, /* (483) column_alias ::= NK_ALIAS */ + -1, /* (484) user_name ::= NK_ID */ + -1, /* (485) topic_name ::= NK_ID */ + -1, /* (486) stream_name ::= NK_ID */ + -1, /* (487) cgroup_name ::= NK_ID */ + -1, /* (488) index_name ::= NK_ID */ + -1, /* (489) expr_or_subquery ::= expression */ + -1, /* (490) expression ::= literal */ + -1, /* (491) expression ::= pseudo_column */ + -1, /* (492) expression ::= column_reference */ + -1, /* (493) expression ::= function_expression */ + -1, /* (494) expression ::= case_when_expression */ + -3, /* (495) expression ::= NK_LP expression NK_RP */ + -2, /* (496) expression ::= NK_PLUS expr_or_subquery */ + -2, /* (497) expression ::= NK_MINUS expr_or_subquery */ + -3, /* (498) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ + -3, /* (499) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ + -3, /* (500) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ + -3, /* (501) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ + -3, /* (502) expression ::= expr_or_subquery NK_REM expr_or_subquery */ + -3, /* (503) expression ::= column_reference NK_ARROW NK_STRING */ + -3, /* (504) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ + -3, /* (505) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ + -1, /* (506) expression_list ::= expr_or_subquery */ + -3, /* (507) expression_list ::= expression_list NK_COMMA expr_or_subquery */ + -1, /* (508) column_reference ::= column_name */ + -3, /* (509) column_reference ::= table_name NK_DOT column_name */ + -1, /* (510) column_reference ::= NK_ALIAS */ + -3, /* (511) column_reference ::= table_name NK_DOT NK_ALIAS */ + -1, /* (512) pseudo_column ::= ROWTS */ + -1, /* (513) pseudo_column ::= TBNAME */ + -3, /* (514) pseudo_column ::= table_name NK_DOT TBNAME */ + -1, /* (515) pseudo_column ::= QSTART */ + -1, /* (516) pseudo_column ::= QEND */ + -1, /* (517) pseudo_column ::= QDURATION */ + -1, /* (518) pseudo_column ::= WSTART */ + -1, /* (519) pseudo_column ::= WEND */ + -1, /* (520) pseudo_column ::= WDURATION */ + -1, /* (521) pseudo_column ::= IROWTS */ + -1, /* (522) pseudo_column ::= ISFILLED */ + -1, /* (523) pseudo_column ::= QTAGS */ + -4, /* (524) function_expression ::= function_name NK_LP expression_list NK_RP */ + -4, /* (525) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ + -6, /* (526) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ + -6, /* (527) function_expression ::= CAST NK_LP expr_or_subquery AS type_name_binary NK_RP */ + -1, /* (528) function_expression ::= literal_func */ + -3, /* (529) literal_func ::= noarg_func NK_LP NK_RP */ + -1, /* (530) literal_func ::= NOW */ + -1, /* (531) literal_func ::= TODAY */ + -1, /* (532) noarg_func ::= NOW */ + -1, /* (533) noarg_func ::= TODAY */ + -1, /* (534) noarg_func ::= TIMEZONE */ + -1, /* (535) noarg_func ::= DATABASE */ + -1, /* (536) noarg_func ::= CLIENT_VERSION */ + -1, /* (537) noarg_func ::= SERVER_VERSION */ + -1, /* (538) noarg_func ::= SERVER_STATUS */ + -1, /* (539) noarg_func ::= CURRENT_USER */ + -1, /* (540) noarg_func ::= USER */ + -1, /* (541) star_func ::= COUNT */ + -1, /* (542) star_func ::= FIRST */ + -1, /* (543) star_func ::= LAST */ + -1, /* (544) star_func ::= LAST_ROW */ + -1, /* (545) star_func_para_list ::= NK_STAR */ + -1, /* (546) star_func_para_list ::= other_para_list */ + -1, /* (547) other_para_list ::= star_func_para */ + -3, /* (548) other_para_list ::= other_para_list NK_COMMA star_func_para */ + -1, /* (549) star_func_para ::= expr_or_subquery */ + -3, /* (550) star_func_para ::= table_name NK_DOT NK_STAR */ + -4, /* (551) case_when_expression ::= CASE when_then_list case_when_else_opt END */ + -5, /* (552) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ + -1, /* (553) when_then_list ::= when_then_expr */ + -2, /* (554) when_then_list ::= when_then_list when_then_expr */ + -4, /* (555) when_then_expr ::= WHEN common_expression THEN common_expression */ + 0, /* (556) case_when_else_opt ::= */ + -2, /* (557) case_when_else_opt ::= ELSE common_expression */ + -3, /* (558) predicate ::= expr_or_subquery compare_op expr_or_subquery */ + -5, /* (559) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ + -6, /* (560) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ + -3, /* (561) predicate ::= expr_or_subquery IS NULL */ + -4, /* (562) predicate ::= expr_or_subquery IS NOT NULL */ + -3, /* (563) predicate ::= expr_or_subquery in_op in_predicate_value */ + -1, /* (564) compare_op ::= NK_LT */ + -1, /* (565) compare_op ::= NK_GT */ + -1, /* (566) compare_op ::= NK_LE */ + -1, /* (567) compare_op ::= NK_GE */ + -1, /* (568) compare_op ::= NK_NE */ + -1, /* (569) compare_op ::= NK_EQ */ + -1, /* (570) compare_op ::= LIKE */ + -2, /* (571) compare_op ::= NOT LIKE */ + -1, /* (572) compare_op ::= MATCH */ + -1, /* (573) compare_op ::= NMATCH */ + -1, /* (574) compare_op ::= CONTAINS */ + -1, /* (575) in_op ::= IN */ + -2, /* (576) in_op ::= NOT IN */ + -3, /* (577) in_predicate_value ::= NK_LP literal_list NK_RP */ + -1, /* (578) boolean_value_expression ::= boolean_primary */ + -2, /* (579) boolean_value_expression ::= NOT boolean_primary */ + -3, /* (580) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ + -3, /* (581) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ + -1, /* (582) boolean_primary ::= predicate */ + -3, /* (583) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ + -1, /* (584) common_expression ::= expr_or_subquery */ + -1, /* (585) common_expression ::= boolean_value_expression */ + 0, /* (586) from_clause_opt ::= */ + -2, /* (587) from_clause_opt ::= FROM table_reference_list */ + -1, /* (588) table_reference_list ::= table_reference */ + -3, /* (589) table_reference_list ::= table_reference_list NK_COMMA table_reference */ + -1, /* (590) table_reference ::= table_primary */ + -1, /* (591) table_reference ::= joined_table */ + -2, /* (592) table_primary ::= table_name alias_opt */ + -4, /* (593) table_primary ::= db_name NK_DOT table_name alias_opt */ + -2, /* (594) table_primary ::= subquery alias_opt */ + -1, /* (595) table_primary ::= parenthesized_joined_table */ + 0, /* (596) alias_opt ::= */ + -1, /* (597) alias_opt ::= table_alias */ + -2, /* (598) alias_opt ::= AS table_alias */ + -3, /* (599) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ + -3, /* (600) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ + -6, /* (601) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ + 0, /* (602) join_type ::= */ + -1, /* (603) join_type ::= INNER */ + -14, /* (604) 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, /* (605) hint_list ::= */ + -1, /* (606) hint_list ::= NK_HINT */ + 0, /* (607) tag_mode_opt ::= */ + -1, /* (608) tag_mode_opt ::= TAGS */ + 0, /* (609) set_quantifier_opt ::= */ + -1, /* (610) set_quantifier_opt ::= DISTINCT */ + -1, /* (611) set_quantifier_opt ::= ALL */ + -1, /* (612) select_list ::= select_item */ + -3, /* (613) select_list ::= select_list NK_COMMA select_item */ + -1, /* (614) select_item ::= NK_STAR */ + -1, /* (615) select_item ::= common_expression */ + -2, /* (616) select_item ::= common_expression column_alias */ + -3, /* (617) select_item ::= common_expression AS column_alias */ + -3, /* (618) select_item ::= table_name NK_DOT NK_STAR */ + 0, /* (619) where_clause_opt ::= */ + -2, /* (620) where_clause_opt ::= WHERE search_condition */ + 0, /* (621) partition_by_clause_opt ::= */ + -3, /* (622) partition_by_clause_opt ::= PARTITION BY partition_list */ + -1, /* (623) partition_list ::= partition_item */ + -3, /* (624) partition_list ::= partition_list NK_COMMA partition_item */ + -1, /* (625) partition_item ::= expr_or_subquery */ + -2, /* (626) partition_item ::= expr_or_subquery column_alias */ + -3, /* (627) partition_item ::= expr_or_subquery AS column_alias */ + 0, /* (628) twindow_clause_opt ::= */ + -6, /* (629) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ + -4, /* (630) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ + -6, /* (631) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + -8, /* (632) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + -7, /* (633) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ + -4, /* (634) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ + -6, /* (635) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ + 0, /* (636) sliding_opt ::= */ + -4, /* (637) sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ + -1, /* (638) interval_sliding_duration_literal ::= NK_VARIABLE */ + -1, /* (639) interval_sliding_duration_literal ::= NK_STRING */ + -1, /* (640) interval_sliding_duration_literal ::= NK_INTEGER */ + 0, /* (641) fill_opt ::= */ + -4, /* (642) fill_opt ::= FILL NK_LP fill_mode NK_RP */ + -6, /* (643) fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ + -6, /* (644) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ + -1, /* (645) fill_mode ::= NONE */ + -1, /* (646) fill_mode ::= PREV */ + -1, /* (647) fill_mode ::= NULL */ + -1, /* (648) fill_mode ::= NULL_F */ + -1, /* (649) fill_mode ::= LINEAR */ + -1, /* (650) fill_mode ::= NEXT */ + 0, /* (651) group_by_clause_opt ::= */ + -3, /* (652) group_by_clause_opt ::= GROUP BY group_by_list */ + -1, /* (653) group_by_list ::= expr_or_subquery */ + -3, /* (654) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ + 0, /* (655) having_clause_opt ::= */ + -2, /* (656) having_clause_opt ::= HAVING search_condition */ + 0, /* (657) range_opt ::= */ + -6, /* (658) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ + -4, /* (659) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ + 0, /* (660) every_opt ::= */ + -4, /* (661) every_opt ::= EVERY NK_LP duration_literal NK_RP */ + -4, /* (662) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + -1, /* (663) query_simple ::= query_specification */ + -1, /* (664) query_simple ::= union_query_expression */ + -4, /* (665) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ + -3, /* (666) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ + -1, /* (667) query_simple_or_subquery ::= query_simple */ + -1, /* (668) query_simple_or_subquery ::= subquery */ + -1, /* (669) query_or_subquery ::= query_expression */ + -1, /* (670) query_or_subquery ::= subquery */ + 0, /* (671) order_by_clause_opt ::= */ + -3, /* (672) order_by_clause_opt ::= ORDER BY sort_specification_list */ + 0, /* (673) slimit_clause_opt ::= */ + -2, /* (674) slimit_clause_opt ::= SLIMIT NK_INTEGER */ + -4, /* (675) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + -4, /* (676) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + 0, /* (677) limit_clause_opt ::= */ + -2, /* (678) limit_clause_opt ::= LIMIT NK_INTEGER */ + -4, /* (679) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ + -4, /* (680) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + -3, /* (681) subquery ::= NK_LP query_expression NK_RP */ + -3, /* (682) subquery ::= NK_LP subquery NK_RP */ + -1, /* (683) search_condition ::= common_expression */ + -1, /* (684) sort_specification_list ::= sort_specification */ + -3, /* (685) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ + -3, /* (686) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ + 0, /* (687) ordering_specification_opt ::= */ + -1, /* (688) ordering_specification_opt ::= ASC */ + -1, /* (689) ordering_specification_opt ::= DESC */ + 0, /* (690) null_ordering_opt ::= */ + -2, /* (691) null_ordering_opt ::= NULLS FIRST */ + -2, /* (692) null_ordering_opt ::= NULLS LAST */ }; static void yy_accept(yyParser*); /* Forward Declaration */ @@ -4831,54 +5299,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 +5312,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 5317 "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 5323 "sql.c" yy_destructor(yypParser,356,&yymsp[0].minor); break; case 2: /* account_options ::= */ +#line 55 "sql.y" { } +#line 5329 "sql.c" break; case 3: /* account_options ::= account_options PPS literal */ case 4: /* account_options ::= account_options TSERIES literal */ yytestcase(yyruleno==4); @@ -4912,18 +5338,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 5343 "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 5351 "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 5358 "sql.c" yy_destructor(yypParser,358,&yymsp[0].minor); } break; @@ -4937,1892 +5369,2798 @@ 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 5374 "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.yy652 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } +#line 5380 "sql.c" + yymsp[0].minor.yy652 = yylhsminor.yy652; 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.yy652 = addNodeToList(pCxt, yymsp[-2].minor.yy652, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } +#line 5386 "sql.c" + yymsp[-2].minor.yy652 = yylhsminor.yy652; break; case 26: /* white_list ::= HOST ip_range_list */ -{ yymsp[-1].minor.yy552 = yymsp[0].minor.yy552; } +#line 91 "sql.y" +{ yymsp[-1].minor.yy652 = yymsp[0].minor.yy652; } +#line 5392 "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 220: /* tags_def_opt ::= */ yytestcase(yyruleno==220); + case 309: /* tag_list_opt ::= */ yytestcase(yyruleno==309); + case 375: /* col_list_opt ::= */ yytestcase(yyruleno==375); + case 377: /* tag_def_or_ref_opt ::= */ yytestcase(yyruleno==377); + case 621: /* partition_by_clause_opt ::= */ yytestcase(yyruleno==621); + case 651: /* group_by_clause_opt ::= */ yytestcase(yyruleno==651); + case 671: /* order_by_clause_opt ::= */ yytestcase(yyruleno==671); +#line 95 "sql.y" +{ yymsp[1].minor.yy652 = NULL; } +#line 5405 "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 221: /* tags_def_opt ::= tags_def */ yytestcase(yyruleno==221); + case 378: /* tag_def_or_ref_opt ::= tags_def */ yytestcase(yyruleno==378); + case 546: /* star_func_para_list ::= other_para_list */ yytestcase(yyruleno==546); +#line 96 "sql.y" +{ yylhsminor.yy652 = yymsp[0].minor.yy652; } +#line 5413 "sql.c" + yymsp[0].minor.yy652 = yylhsminor.yy652; 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.yy863, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy203); + pCxt->pRootNode = addCreateUserStmtWhiteList(pCxt, pCxt->pRootNode, yymsp[0].minor.yy652); } +#line 5422 "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.yy863, TSDB_ALTER_USER_PASSWD, &yymsp[0].minor.yy0); } +#line 5427 "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.yy863, TSDB_ALTER_USER_ENABLE, &yymsp[0].minor.yy0); } +#line 5432 "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.yy863, TSDB_ALTER_USER_SYSINFO, &yymsp[0].minor.yy0); } +#line 5437 "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.yy863, TSDB_ALTER_USER_ADD_WHITE_LIST, yymsp[0].minor.yy652); } +#line 5442 "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.yy863, TSDB_ALTER_USER_DROP_WHITE_LIST, yymsp[0].minor.yy652); } +#line 5447 "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.yy863); } +#line 5452 "sql.c" break; case 36: /* sysinfo_opt ::= */ -{ yymsp[1].minor.yy883 = 1; } +#line 113 "sql.y" +{ yymsp[1].minor.yy203 = 1; } +#line 5457 "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.yy203 = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); } +#line 5462 "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.yy57, &yymsp[-3].minor.yy825, &yymsp[0].minor.yy863, yymsp[-2].minor.yy110); } +#line 5467 "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.yy57, &yymsp[-3].minor.yy825, &yymsp[0].minor.yy863, yymsp[-2].minor.yy110); } +#line 5472 "sql.c" break; case 40: /* privileges ::= ALL */ -{ yymsp[0].minor.yy525 = PRIVILEGE_TYPE_ALL; } +#line 122 "sql.y" +{ yymsp[0].minor.yy57 = PRIVILEGE_TYPE_ALL; } +#line 5477 "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.yy57 = yymsp[0].minor.yy57; } +#line 5483 "sql.c" + yymsp[0].minor.yy57 = yylhsminor.yy57; break; case 42: /* privileges ::= SUBSCRIBE */ -{ yymsp[0].minor.yy525 = PRIVILEGE_TYPE_SUBSCRIBE; } +#line 124 "sql.y" +{ yymsp[0].minor.yy57 = PRIVILEGE_TYPE_SUBSCRIBE; } +#line 5489 "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.yy57 = yymsp[-2].minor.yy57 | yymsp[0].minor.yy57; } +#line 5494 "sql.c" + yymsp[-2].minor.yy57 = yylhsminor.yy57; break; case 45: /* priv_type ::= READ */ -{ yymsp[0].minor.yy525 = PRIVILEGE_TYPE_READ; } +#line 133 "sql.y" +{ yymsp[0].minor.yy57 = PRIVILEGE_TYPE_READ; } +#line 5500 "sql.c" break; case 46: /* priv_type ::= WRITE */ -{ yymsp[0].minor.yy525 = PRIVILEGE_TYPE_WRITE; } +#line 134 "sql.y" +{ yymsp[0].minor.yy57 = PRIVILEGE_TYPE_WRITE; } +#line 5505 "sql.c" break; case 47: /* priv_type ::= ALTER */ -{ yymsp[0].minor.yy525 = PRIVILEGE_TYPE_ALTER; } +#line 135 "sql.y" +{ yymsp[0].minor.yy57 = PRIVILEGE_TYPE_ALTER; } +#line 5510 "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.yy825.first = yymsp[-2].minor.yy0; yylhsminor.yy825.second = yymsp[0].minor.yy0; } +#line 5515 "sql.c" + yymsp[-2].minor.yy825 = yylhsminor.yy825; 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.yy825.first = yymsp[-2].minor.yy863; yylhsminor.yy825.second = yymsp[0].minor.yy0; } +#line 5521 "sql.c" + yymsp[-2].minor.yy825 = yylhsminor.yy825; 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.yy825.first = yymsp[-2].minor.yy863; yylhsminor.yy825.second = yymsp[0].minor.yy863; } +#line 5527 "sql.c" + yymsp[-2].minor.yy825 = yylhsminor.yy825; 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.yy825.first = yymsp[0].minor.yy863; yylhsminor.yy825.second = nil_token; } +#line 5533 "sql.c" + yymsp[0].minor.yy825 = yylhsminor.yy825; 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 304: /* like_pattern_opt ::= */ yytestcase(yyruleno==304); + case 389: /* subtable_opt ::= */ yytestcase(yyruleno==389); + case 556: /* case_when_else_opt ::= */ yytestcase(yyruleno==556); + case 586: /* from_clause_opt ::= */ yytestcase(yyruleno==586); + case 619: /* where_clause_opt ::= */ yytestcase(yyruleno==619); + case 628: /* twindow_clause_opt ::= */ yytestcase(yyruleno==628); + case 636: /* sliding_opt ::= */ yytestcase(yyruleno==636); + case 641: /* fill_opt ::= */ yytestcase(yyruleno==641); + case 655: /* having_clause_opt ::= */ yytestcase(yyruleno==655); + case 657: /* range_opt ::= */ yytestcase(yyruleno==657); + case 660: /* every_opt ::= */ yytestcase(yyruleno==660); + case 673: /* slimit_clause_opt ::= */ yytestcase(yyruleno==673); + case 677: /* limit_clause_opt ::= */ yytestcase(yyruleno==677); +#line 144 "sql.y" +{ yymsp[1].minor.yy110 = NULL; } +#line 5554 "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 587: /* from_clause_opt ::= FROM table_reference_list */ yytestcase(yyruleno==587); + case 620: /* where_clause_opt ::= WHERE search_condition */ yytestcase(yyruleno==620); + case 656: /* having_clause_opt ::= HAVING search_condition */ yytestcase(yyruleno==656); +#line 145 "sql.y" +{ yymsp[-1].minor.yy110 = yymsp[0].minor.yy110; } +#line 5562 "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.yy863, NULL); } +#line 5567 "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.yy863, &yymsp[0].minor.yy0); } +#line 5572 "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.yy1019, false); } +#line 5577 "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.yy863, yymsp[0].minor.yy1019, false); } +#line 5582 "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.yy1019); } +#line 5587 "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.yy863, false, yymsp[0].minor.yy1019); } +#line 5592 "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 5597 "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 5602 "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 5607 "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 5612 "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 5617 "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 331: /* sma_func_name ::= COUNT */ yytestcase(yyruleno==331); + case 332: /* sma_func_name ::= FIRST */ yytestcase(yyruleno==332); + case 333: /* sma_func_name ::= LAST */ yytestcase(yyruleno==333); + case 334: /* sma_func_name ::= LAST_ROW */ yytestcase(yyruleno==334); + case 476: /* db_name ::= NK_ID */ yytestcase(yyruleno==476); + case 477: /* table_name ::= NK_ID */ yytestcase(yyruleno==477); + case 478: /* column_name ::= NK_ID */ yytestcase(yyruleno==478); + case 479: /* function_name ::= NK_ID */ yytestcase(yyruleno==479); + case 480: /* view_name ::= NK_ID */ yytestcase(yyruleno==480); + case 481: /* table_alias ::= NK_ID */ yytestcase(yyruleno==481); + case 482: /* column_alias ::= NK_ID */ yytestcase(yyruleno==482); + case 483: /* column_alias ::= NK_ALIAS */ yytestcase(yyruleno==483); + case 484: /* user_name ::= NK_ID */ yytestcase(yyruleno==484); + case 485: /* topic_name ::= NK_ID */ yytestcase(yyruleno==485); + case 486: /* stream_name ::= NK_ID */ yytestcase(yyruleno==486); + case 487: /* cgroup_name ::= NK_ID */ yytestcase(yyruleno==487); + case 488: /* index_name ::= NK_ID */ yytestcase(yyruleno==488); + case 532: /* noarg_func ::= NOW */ yytestcase(yyruleno==532); + case 533: /* noarg_func ::= TODAY */ yytestcase(yyruleno==533); + case 534: /* noarg_func ::= TIMEZONE */ yytestcase(yyruleno==534); + case 535: /* noarg_func ::= DATABASE */ yytestcase(yyruleno==535); + case 536: /* noarg_func ::= CLIENT_VERSION */ yytestcase(yyruleno==536); + case 537: /* noarg_func ::= SERVER_VERSION */ yytestcase(yyruleno==537); + case 538: /* noarg_func ::= SERVER_STATUS */ yytestcase(yyruleno==538); + case 539: /* noarg_func ::= CURRENT_USER */ yytestcase(yyruleno==539); + case 540: /* noarg_func ::= USER */ yytestcase(yyruleno==540); + case 541: /* star_func ::= COUNT */ yytestcase(yyruleno==541); + case 542: /* star_func ::= FIRST */ yytestcase(yyruleno==542); + case 543: /* star_func ::= LAST */ yytestcase(yyruleno==543); + case 544: /* star_func ::= LAST_ROW */ yytestcase(yyruleno==544); +#line 162 "sql.y" +{ yylhsminor.yy863 = yymsp[0].minor.yy0; } +#line 5654 "sql.c" + yymsp[0].minor.yy863 = yylhsminor.yy863; 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 352: /* analyze_opt ::= */ yytestcase(yyruleno==352); + case 359: /* agg_func_opt ::= */ yytestcase(yyruleno==359); + case 365: /* or_replace_opt ::= */ yytestcase(yyruleno==365); + case 391: /* ignore_opt ::= */ yytestcase(yyruleno==391); + case 607: /* tag_mode_opt ::= */ yytestcase(yyruleno==607); + case 609: /* set_quantifier_opt ::= */ yytestcase(yyruleno==609); +#line 168 "sql.y" +{ yymsp[1].minor.yy1019 = false; } +#line 5668 "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 353: /* analyze_opt ::= ANALYZE */ yytestcase(yyruleno==353); + case 360: /* agg_func_opt ::= AGGREGATE */ yytestcase(yyruleno==360); + case 608: /* tag_mode_opt ::= TAGS */ yytestcase(yyruleno==608); + case 610: /* set_quantifier_opt ::= DISTINCT */ yytestcase(yyruleno==610); +#line 169 "sql.y" +{ yymsp[0].minor.yy1019 = true; } +#line 5678 "sql.c" break; case 71: /* cmd ::= ALTER CLUSTER NK_STRING */ +#line 176 "sql.y" { pCxt->pRootNode = createAlterClusterStmt(pCxt, &yymsp[0].minor.yy0, NULL); } +#line 5683 "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 5688 "sql.c" break; case 73: /* cmd ::= ALTER LOCAL NK_STRING */ +#line 180 "sql.y" { pCxt->pRootNode = createAlterLocalStmt(pCxt, &yymsp[0].minor.yy0, NULL); } +#line 5693 "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 5698 "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 5703 "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 5708 "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 5713 "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 5718 "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 5723 "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 5728 "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 5733 "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 5738 "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 5743 "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 5748 "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 5753 "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.yy1019, &yymsp[-1].minor.yy863, yymsp[0].minor.yy110); } +#line 5758 "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.yy1019, &yymsp[0].minor.yy863); } +#line 5763 "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.yy863); } +#line 5768 "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.yy863, yymsp[0].minor.yy110); } +#line 5773 "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.yy863); } +#line 5778 "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.yy863, yymsp[0].minor.yy376); } +#line 5783 "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.yy863, yymsp[-1].minor.yy110, yymsp[0].minor.yy110); } +#line 5788 "sql.c" break; case 93: /* not_exists_opt ::= IF NOT EXISTS */ -{ yymsp[-2].minor.yy559 = true; } +#line 215 "sql.y" +{ yymsp[-2].minor.yy1019 = true; } +#line 5793 "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 366: /* or_replace_opt ::= OR REPLACE */ yytestcase(yyruleno==366); + case 392: /* ignore_opt ::= IGNORE UNTREATED */ yytestcase(yyruleno==392); +#line 220 "sql.y" +{ yymsp[-1].minor.yy1019 = true; } +#line 5800 "sql.c" break; case 97: /* db_options ::= */ -{ yymsp[1].minor.yy718 = createDefaultDatabaseOptions(pCxt); } +#line 223 "sql.y" +{ yymsp[1].minor.yy110 = createDefaultDatabaseOptions(pCxt); } +#line 5805 "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.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_BUFFER, &yymsp[0].minor.yy0); } +#line 5810 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_CACHEMODEL, &yymsp[0].minor.yy0); } +#line 5816 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_CACHESIZE, &yymsp[0].minor.yy0); } +#line 5822 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_COMP, &yymsp[0].minor.yy0); } +#line 5828 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_DAYS, &yymsp[0].minor.yy0); } +#line 5835 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_MAXROWS, &yymsp[0].minor.yy0); } +#line 5841 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_MINROWS, &yymsp[0].minor.yy0); } +#line 5847 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_KEEP, yymsp[0].minor.yy652); } +#line 5854 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_PAGES, &yymsp[0].minor.yy0); } +#line 5860 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_PAGESIZE, &yymsp[0].minor.yy0); } +#line 5866 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_TSDB_PAGESIZE, &yymsp[0].minor.yy0); } +#line 5872 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_PRECISION, &yymsp[0].minor.yy0); } +#line 5878 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_REPLICA, &yymsp[0].minor.yy0); } +#line 5884 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_VGROUPS, &yymsp[0].minor.yy0); } +#line 5890 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_SINGLE_STABLE, &yymsp[0].minor.yy0); } +#line 5896 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_RETENTIONS, yymsp[0].minor.yy652); } +#line 5902 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_SCHEMALESS, &yymsp[0].minor.yy0); } +#line 5908 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_WAL, &yymsp[0].minor.yy0); } +#line 5914 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_FSYNC, &yymsp[0].minor.yy0); } +#line 5920 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_WAL_RETENTION_PERIOD, &yymsp[0].minor.yy0); } +#line 5926 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-3].minor.yy110, DB_OPTION_WAL_RETENTION_PERIOD, &t); } - yymsp[-3].minor.yy718 = yylhsminor.yy718; +#line 5936 "sql.c" + yymsp[-3].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_WAL_RETENTION_SIZE, &yymsp[0].minor.yy0); } +#line 5942 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-3].minor.yy110, DB_OPTION_WAL_RETENTION_SIZE, &t); } - yymsp[-3].minor.yy718 = yylhsminor.yy718; +#line 5952 "sql.c" + yymsp[-3].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_WAL_ROLL_PERIOD, &yymsp[0].minor.yy0); } +#line 5958 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_WAL_SEGMENT_SIZE, &yymsp[0].minor.yy0); } +#line 5964 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_STT_TRIGGER, &yymsp[0].minor.yy0); } +#line 5970 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_TABLE_PREFIX, yymsp[0].minor.yy110); } +#line 5976 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_TABLE_SUFFIX, yymsp[0].minor.yy110); } +#line 5982 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_KEEP_TIME_OFFSET, &yymsp[0].minor.yy0); } +#line 5988 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = createAlterDatabaseOptions(pCxt); yylhsminor.yy110 = setAlterDatabaseOption(pCxt, yylhsminor.yy110, &yymsp[0].minor.yy491); } +#line 5994 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; 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.yy110 = setAlterDatabaseOption(pCxt, yymsp[-1].minor.yy110, &yymsp[0].minor.yy491); } +#line 6000 "sql.c" + yymsp[-1].minor.yy110 = yylhsminor.yy110; 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.yy491.type = DB_OPTION_BUFFER; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } +#line 6006 "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.yy491.type = DB_OPTION_CACHEMODEL; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } +#line 6011 "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.yy491.type = DB_OPTION_CACHESIZE; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } +#line 6016 "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.yy491.type = DB_OPTION_FSYNC; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } +#line 6021 "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.yy491.type = DB_OPTION_KEEP; yymsp[-1].minor.yy491.pList = yymsp[0].minor.yy652; } +#line 6027 "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.yy491.type = DB_OPTION_PAGES; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } +#line 6032 "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.yy491.type = DB_OPTION_REPLICA; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } +#line 6037 "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.yy491.type = DB_OPTION_WAL; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } +#line 6042 "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.yy491.type = DB_OPTION_STT_TRIGGER; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } +#line 6047 "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.yy491.type = DB_OPTION_MINROWS; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } +#line 6052 "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.yy491.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } +#line 6057 "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.yy491.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-2].minor.yy491.val = t; } +#line 6066 "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.yy491.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } +#line 6071 "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.yy491.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-2].minor.yy491.val = t; } +#line 6080 "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.yy491.type = DB_OPTION_KEEP_TIME_OFFSET; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } +#line 6085 "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.yy652 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } +#line 6090 "sql.c" + yymsp[0].minor.yy652 = yylhsminor.yy652; 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 405: /* dnode_list ::= dnode_list DNODE NK_INTEGER */ yytestcase(yyruleno==405); +#line 299 "sql.y" +{ yylhsminor.yy652 = addNodeToList(pCxt, yymsp[-2].minor.yy652, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } +#line 6097 "sql.c" + yymsp[-2].minor.yy652 = yylhsminor.yy652; 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.yy652 = createNodeList(pCxt, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } +#line 6103 "sql.c" + yymsp[0].minor.yy652 = yylhsminor.yy652; 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.yy652 = addNodeToList(pCxt, yymsp[-2].minor.yy652, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } +#line 6109 "sql.c" + yymsp[-2].minor.yy652 = yylhsminor.yy652; 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 237: /* rollup_func_list ::= rollup_func_name */ yytestcase(yyruleno==237); + case 242: /* col_name_list ::= col_name */ yytestcase(yyruleno==242); + case 310: /* tag_list_opt ::= tag_item */ yytestcase(yyruleno==310); + case 327: /* func_list ::= func */ yytestcase(yyruleno==327); + case 449: /* tags_literal_list ::= tags_literal */ yytestcase(yyruleno==449); + case 474: /* literal_list ::= signed_literal */ yytestcase(yyruleno==474); + case 547: /* other_para_list ::= star_func_para */ yytestcase(yyruleno==547); + case 553: /* when_then_list ::= when_then_expr */ yytestcase(yyruleno==553); + case 612: /* select_list ::= select_item */ yytestcase(yyruleno==612); + case 623: /* partition_list ::= partition_item */ yytestcase(yyruleno==623); + case 684: /* sort_specification_list ::= sort_specification */ yytestcase(yyruleno==684); +#line 308 "sql.y" +{ yylhsminor.yy652 = createNodeList(pCxt, yymsp[0].minor.yy110); } +#line 6129 "sql.c" + yymsp[0].minor.yy652 = yylhsminor.yy652; 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 238: /* rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ yytestcase(yyruleno==238); + case 243: /* col_name_list ::= col_name_list NK_COMMA col_name */ yytestcase(yyruleno==243); + case 311: /* tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ yytestcase(yyruleno==311); + case 328: /* func_list ::= func_list NK_COMMA func */ yytestcase(yyruleno==328); + case 450: /* tags_literal_list ::= tags_literal_list NK_COMMA tags_literal */ yytestcase(yyruleno==450); + case 475: /* literal_list ::= literal_list NK_COMMA signed_literal */ yytestcase(yyruleno==475); + case 548: /* other_para_list ::= other_para_list NK_COMMA star_func_para */ yytestcase(yyruleno==548); + case 613: /* select_list ::= select_list NK_COMMA select_item */ yytestcase(yyruleno==613); + case 624: /* partition_list ::= partition_list NK_COMMA partition_item */ yytestcase(yyruleno==624); + case 685: /* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ yytestcase(yyruleno==685); +#line 309 "sql.y" +{ yylhsminor.yy652 = addNodeToList(pCxt, yymsp[-2].minor.yy652, yymsp[0].minor.yy110); } +#line 6147 "sql.c" + yymsp[-2].minor.yy652 = yylhsminor.yy652; 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.yy110 = createNodeListNodeEx(pCxt, createDurationValueNode(pCxt, &yymsp[-2].minor.yy0), createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } +#line 6154 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; break; case 155: /* speed_opt ::= */ - case 360: /* bufsize_opt ::= */ yytestcase(yyruleno==360); -{ yymsp[1].minor.yy134 = 0; } + case 361: /* bufsize_opt ::= */ yytestcase(yyruleno==361); +#line 316 "sql.y" +{ yymsp[1].minor.yy376 = 0; } +#line 6161 "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 362: /* bufsize_opt ::= BUFSIZE NK_INTEGER */ yytestcase(yyruleno==362); +#line 317 "sql.y" +{ yymsp[-1].minor.yy376 = taosStr2Int32(yymsp[0].minor.yy0.z, NULL, 10); } +#line 6167 "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.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0); } +#line 6173 "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.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } +#line 6179 "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.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } +#line 6185 "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.yy1019, yymsp[-5].minor.yy110, yymsp[-3].minor.yy652, yymsp[-1].minor.yy652, yymsp[0].minor.yy110); } +#line 6191 "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.yy652); } +#line 6196 "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.yy652); } +#line 6201 "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.yy1019, yymsp[0].minor.yy110); } +#line 6206 "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 407: /* cmd ::= query_or_subquery */ yytestcase(yyruleno==407); + case 408: /* cmd ::= insert_query */ yytestcase(yyruleno==408); +#line 338 "sql.y" +{ pCxt->pRootNode = yymsp[0].minor.yy110; } +#line 6213 "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.yy110); } +#line 6218 "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.yy110 = createAlterTableModifyOptions(pCxt, yymsp[-1].minor.yy110, yymsp[0].minor.yy110); } +#line 6223 "sql.c" + yymsp[-1].minor.yy110 = yylhsminor.yy110; 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.yy110 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy110, TSDB_ALTER_TABLE_ADD_COLUMN, &yymsp[-1].minor.yy863, yymsp[0].minor.yy34); } +#line 6229 "sql.c" + yymsp[-4].minor.yy110 = yylhsminor.yy110; 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.yy110 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy110, TSDB_ALTER_TABLE_DROP_COLUMN, &yymsp[0].minor.yy863); } +#line 6235 "sql.c" + yymsp[-3].minor.yy110 = yylhsminor.yy110; 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.yy110 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy110, TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES, &yymsp[-1].minor.yy863, yymsp[0].minor.yy34); } +#line 6241 "sql.c" + yymsp[-4].minor.yy110 = yylhsminor.yy110; 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.yy110 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy110, TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME, &yymsp[-1].minor.yy863, &yymsp[0].minor.yy863); } +#line 6247 "sql.c" + yymsp[-4].minor.yy110 = yylhsminor.yy110; 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.yy110 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy110, TSDB_ALTER_TABLE_ADD_TAG, &yymsp[-1].minor.yy863, yymsp[0].minor.yy34); } +#line 6253 "sql.c" + yymsp[-4].minor.yy110 = yylhsminor.yy110; 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.yy110 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy110, TSDB_ALTER_TABLE_DROP_TAG, &yymsp[0].minor.yy863); } +#line 6259 "sql.c" + yymsp[-3].minor.yy110 = yylhsminor.yy110; 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.yy110 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy110, TSDB_ALTER_TABLE_UPDATE_TAG_BYTES, &yymsp[-1].minor.yy863, yymsp[0].minor.yy34); } +#line 6265 "sql.c" + yymsp[-4].minor.yy110 = yylhsminor.yy110; 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.yy110 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy110, TSDB_ALTER_TABLE_UPDATE_TAG_NAME, &yymsp[-1].minor.yy863, &yymsp[0].minor.yy863); } +#line 6271 "sql.c" + yymsp[-4].minor.yy110 = yylhsminor.yy110; 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.yy110 = createAlterTableSetTag(pCxt, yymsp[-5].minor.yy110, &yymsp[-2].minor.yy863, yymsp[0].minor.yy110); } +#line 6277 "sql.c" + yymsp[-5].minor.yy110 = yylhsminor.yy110; 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 554: /* when_then_list ::= when_then_list when_then_expr */ yytestcase(yyruleno==554); +#line 362 "sql.y" +{ yylhsminor.yy652 = addNodeToList(pCxt, yymsp[-1].minor.yy652, yymsp[0].minor.yy110); } +#line 6284 "sql.c" + yymsp[-1].minor.yy652 = yylhsminor.yy652; 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.yy110 = createCreateSubTableClause(pCxt, yymsp[-9].minor.yy1019, yymsp[-8].minor.yy110, yymsp[-6].minor.yy110, yymsp[-5].minor.yy652, yymsp[-2].minor.yy652, yymsp[0].minor.yy110); } +#line 6290 "sql.c" + yymsp[-9].minor.yy110 = yylhsminor.yy110; 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.yy110 = createDropTableClause(pCxt, yymsp[-1].minor.yy1019, yymsp[0].minor.yy110); } +#line 6296 "sql.c" + yymsp[-1].minor.yy110 = yylhsminor.yy110; 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 376: /* col_list_opt ::= NK_LP col_name_list NK_RP */ yytestcase(yyruleno==376); +#line 378 "sql.y" +{ yymsp[-2].minor.yy652 = yymsp[-1].minor.yy652; } +#line 6303 "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.yy110 = createRealTableNode(pCxt, NULL, &yymsp[0].minor.yy863, NULL); } +#line 6308 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; 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.yy110 = createRealTableNode(pCxt, &yymsp[-2].minor.yy863, &yymsp[0].minor.yy863, NULL); } +#line 6314 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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.yy110 = createColumnDefNode(pCxt, &yymsp[-1].minor.yy863, yymsp[0].minor.yy34, NULL); } +#line 6320 "sql.c" + yymsp[-1].minor.yy110 = yylhsminor.yy110; break; case 195: /* type_name ::= BOOL */ -{ yymsp[0].minor.yy224 = createDataType(TSDB_DATA_TYPE_BOOL); } +#line 393 "sql.y" +{ yymsp[0].minor.yy34 = createDataType(TSDB_DATA_TYPE_BOOL); } +#line 6326 "sql.c" break; case 196: /* type_name ::= TINYINT */ -{ yymsp[0].minor.yy224 = createDataType(TSDB_DATA_TYPE_TINYINT); } +#line 394 "sql.y" +{ yymsp[0].minor.yy34 = createDataType(TSDB_DATA_TYPE_TINYINT); } +#line 6331 "sql.c" break; case 197: /* type_name ::= SMALLINT */ -{ yymsp[0].minor.yy224 = createDataType(TSDB_DATA_TYPE_SMALLINT); } +#line 395 "sql.y" +{ yymsp[0].minor.yy34 = createDataType(TSDB_DATA_TYPE_SMALLINT); } +#line 6336 "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.yy34 = createDataType(TSDB_DATA_TYPE_INT); } +#line 6342 "sql.c" break; case 200: /* type_name ::= BIGINT */ -{ yymsp[0].minor.yy224 = createDataType(TSDB_DATA_TYPE_BIGINT); } +#line 398 "sql.y" +{ yymsp[0].minor.yy34 = createDataType(TSDB_DATA_TYPE_BIGINT); } +#line 6347 "sql.c" break; case 201: /* type_name ::= FLOAT */ -{ yymsp[0].minor.yy224 = createDataType(TSDB_DATA_TYPE_FLOAT); } +#line 399 "sql.y" +{ yymsp[0].minor.yy34 = createDataType(TSDB_DATA_TYPE_FLOAT); } +#line 6352 "sql.c" break; case 202: /* type_name ::= DOUBLE */ -{ yymsp[0].minor.yy224 = createDataType(TSDB_DATA_TYPE_DOUBLE); } +#line 400 "sql.y" +{ yymsp[0].minor.yy34 = createDataType(TSDB_DATA_TYPE_DOUBLE); } +#line 6357 "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.yy34 = createVarLenDataType(TSDB_DATA_TYPE_BINARY, &yymsp[-1].minor.yy0); } +#line 6362 "sql.c" break; case 204: /* type_name ::= TIMESTAMP */ -{ yymsp[0].minor.yy224 = createDataType(TSDB_DATA_TYPE_TIMESTAMP); } +#line 402 "sql.y" +{ yymsp[0].minor.yy34 = createDataType(TSDB_DATA_TYPE_TIMESTAMP); } +#line 6367 "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.yy34 = createVarLenDataType(TSDB_DATA_TYPE_NCHAR, &yymsp[-1].minor.yy0); } +#line 6372 "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.yy34 = createDataType(TSDB_DATA_TYPE_UTINYINT); } +#line 6377 "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.yy34 = createDataType(TSDB_DATA_TYPE_USMALLINT); } +#line 6382 "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.yy34 = createDataType(TSDB_DATA_TYPE_UINT); } +#line 6387 "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.yy34 = createDataType(TSDB_DATA_TYPE_UBIGINT); } +#line 6392 "sql.c" break; case 210: /* type_name ::= JSON */ -{ yymsp[0].minor.yy224 = createDataType(TSDB_DATA_TYPE_JSON); } +#line 408 "sql.y" +{ yymsp[0].minor.yy34 = createDataType(TSDB_DATA_TYPE_JSON); } +#line 6397 "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.yy34 = createVarLenDataType(TSDB_DATA_TYPE_VARCHAR, &yymsp[-1].minor.yy0); } +#line 6402 "sql.c" break; case 212: /* type_name ::= MEDIUMBLOB */ -{ yymsp[0].minor.yy224 = createDataType(TSDB_DATA_TYPE_MEDIUMBLOB); } +#line 410 "sql.y" +{ yymsp[0].minor.yy34 = createDataType(TSDB_DATA_TYPE_MEDIUMBLOB); } +#line 6407 "sql.c" break; case 213: /* type_name ::= BLOB */ -{ yymsp[0].minor.yy224 = createDataType(TSDB_DATA_TYPE_BLOB); } +#line 411 "sql.y" +{ yymsp[0].minor.yy34 = createDataType(TSDB_DATA_TYPE_BLOB); } +#line 6412 "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.yy34 = createVarLenDataType(TSDB_DATA_TYPE_VARBINARY, &yymsp[-1].minor.yy0); } +#line 6417 "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.yy34 = createVarLenDataType(TSDB_DATA_TYPE_GEOMETRY, &yymsp[-1].minor.yy0); } +#line 6422 "sql.c" break; case 216: /* type_name ::= DECIMAL */ -{ yymsp[0].minor.yy224 = createDataType(TSDB_DATA_TYPE_DECIMAL); } +#line 414 "sql.y" +{ yymsp[0].minor.yy34 = createDataType(TSDB_DATA_TYPE_DECIMAL); } +#line 6427 "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.yy34 = createDataType(TSDB_DATA_TYPE_DECIMAL); } +#line 6432 "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.yy34 = createDataType(TSDB_DATA_TYPE_DECIMAL); } +#line 6437 "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_binary ::= BINARY */ +#line 420 "sql.y" +{ yymsp[0].minor.yy34 = createVarLenDataType(TSDB_DATA_TYPE_BINARY, NULL); } +#line 6442 "sql.c" break; - case 222: /* table_options ::= */ -{ yymsp[1].minor.yy718 = createDefaultTableOptions(pCxt); } + case 222: /* tags_def ::= TAGS NK_LP column_def_list NK_RP */ + case 379: /* tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ yytestcase(yyruleno==379); +#line 429 "sql.y" +{ yymsp[-3].minor.yy652 = yymsp[-1].minor.yy652; } +#line 6448 "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 223: /* table_options ::= */ +#line 431 "sql.y" +{ yymsp[1].minor.yy110 = createDefaultTableOptions(pCxt); } +#line 6453 "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 224: /* table_options ::= table_options COMMENT NK_STRING */ +#line 432 "sql.y" +{ yylhsminor.yy110 = setTableOption(pCxt, yymsp[-2].minor.yy110, TABLE_OPTION_COMMENT, &yymsp[0].minor.yy0); } +#line 6458 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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: /* table_options ::= table_options MAX_DELAY duration_list */ +#line 433 "sql.y" +{ yylhsminor.yy110 = setTableOption(pCxt, yymsp[-2].minor.yy110, TABLE_OPTION_MAXDELAY, yymsp[0].minor.yy652); } +#line 6464 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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 ::= table_options WATERMARK duration_list */ +#line 434 "sql.y" +{ yylhsminor.yy110 = setTableOption(pCxt, yymsp[-2].minor.yy110, TABLE_OPTION_WATERMARK, yymsp[0].minor.yy652); } +#line 6470 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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 ROLLUP NK_LP rollup_func_list NK_RP */ +#line 435 "sql.y" +{ yylhsminor.yy110 = setTableOption(pCxt, yymsp[-4].minor.yy110, TABLE_OPTION_ROLLUP, yymsp[-1].minor.yy652); } +#line 6476 "sql.c" + yymsp[-4].minor.yy110 = yylhsminor.yy110; 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 TTL NK_INTEGER */ +#line 436 "sql.y" +{ yylhsminor.yy110 = setTableOption(pCxt, yymsp[-2].minor.yy110, TABLE_OPTION_TTL, &yymsp[0].minor.yy0); } +#line 6482 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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 SMA NK_LP col_name_list NK_RP */ +#line 437 "sql.y" +{ yylhsminor.yy110 = setTableOption(pCxt, yymsp[-4].minor.yy110, TABLE_OPTION_SMA, yymsp[-1].minor.yy652); } +#line 6488 "sql.c" + yymsp[-4].minor.yy110 = yylhsminor.yy110; 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 DELETE_MARK duration_list */ +#line 438 "sql.y" +{ yylhsminor.yy110 = setTableOption(pCxt, yymsp[-2].minor.yy110, TABLE_OPTION_DELETE_MARK, yymsp[0].minor.yy652); } +#line 6494 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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: /* alter_table_options ::= alter_table_option */ +#line 440 "sql.y" +{ yylhsminor.yy110 = createAlterTableOptions(pCxt); yylhsminor.yy110 = setTableOption(pCxt, yylhsminor.yy110, yymsp[0].minor.yy491.type, &yymsp[0].minor.yy491.val); } +#line 6500 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; 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: /* alter_table_options ::= alter_table_options alter_table_option */ +#line 441 "sql.y" +{ yylhsminor.yy110 = setTableOption(pCxt, yymsp[-1].minor.yy110, yymsp[0].minor.yy491.type, &yymsp[0].minor.yy491.val); } +#line 6506 "sql.c" + yymsp[-1].minor.yy110 = yylhsminor.yy110; 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: /* alter_table_option ::= COMMENT NK_STRING */ +#line 445 "sql.y" +{ yymsp[-1].minor.yy491.type = TABLE_OPTION_COMMENT; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } +#line 6512 "sql.c" 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_option ::= TTL NK_INTEGER */ +#line 446 "sql.y" +{ yymsp[-1].minor.yy491.type = TABLE_OPTION_TTL; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } +#line 6517 "sql.c" 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: /* duration_list ::= duration_literal */ + case 506: /* expression_list ::= expr_or_subquery */ yytestcase(yyruleno==506); +#line 450 "sql.y" +{ yylhsminor.yy652 = createNodeList(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy110)); } +#line 6523 "sql.c" + yymsp[0].minor.yy652 = yylhsminor.yy652; 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: /* duration_list ::= duration_list NK_COMMA duration_literal */ + case 507: /* expression_list ::= expression_list NK_COMMA expr_or_subquery */ yytestcase(yyruleno==507); +#line 451 "sql.y" +{ yylhsminor.yy652 = addNodeToList(pCxt, yymsp[-2].minor.yy652, releaseRawExprNode(pCxt, yymsp[0].minor.yy110)); } +#line 6530 "sql.c" + yymsp[-2].minor.yy652 = yylhsminor.yy652; 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 239: /* rollup_func_name ::= function_name */ +#line 458 "sql.y" +{ yylhsminor.yy110 = createFunctionNode(pCxt, &yymsp[0].minor.yy863, NULL); } +#line 6536 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; 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 240: /* rollup_func_name ::= FIRST */ + case 241: /* rollup_func_name ::= LAST */ yytestcase(yyruleno==241); + case 313: /* tag_item ::= QTAGS */ yytestcase(yyruleno==313); +#line 459 "sql.y" +{ yylhsminor.yy110 = createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL); } +#line 6544 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; break; - case 244: /* cmd ::= SHOW DNODES */ + case 244: /* col_name ::= column_name */ + case 314: /* tag_item ::= column_name */ yytestcase(yyruleno==314); +#line 467 "sql.y" +{ yylhsminor.yy110 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy863); } +#line 6551 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; + break; + case 245: /* cmd ::= SHOW DNODES */ +#line 470 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_DNODES_STMT); } +#line 6557 "sql.c" break; - case 245: /* cmd ::= SHOW USERS */ + case 246: /* cmd ::= SHOW USERS */ +#line 471 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_USERS_STMT); } +#line 6562 "sql.c" break; - case 246: /* cmd ::= SHOW USER PRIVILEGES */ + case 247: /* cmd ::= SHOW USER PRIVILEGES */ +#line 472 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_USER_PRIVILEGES_STMT); } +#line 6567 "sql.c" break; - case 247: /* cmd ::= SHOW db_kind_opt DATABASES */ + case 248: /* cmd ::= SHOW db_kind_opt DATABASES */ +#line 473 "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.yy291); } +#line 6575 "sql.c" break; - case 248: /* cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ + case 249: /* cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ +#line 477 "sql.y" { - pCxt->pRootNode = createShowTablesStmt(pCxt, yymsp[-2].minor.yy91, yymsp[0].minor.yy718, OP_TYPE_LIKE); + pCxt->pRootNode = createShowTablesStmt(pCxt, yymsp[-2].minor.yy61, yymsp[0].minor.yy110, OP_TYPE_LIKE); } +#line 6582 "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 250: /* cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ +#line 480 "sql.y" +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_STABLES_STMT, yymsp[-2].minor.yy110, yymsp[0].minor.yy110, OP_TYPE_LIKE); } +#line 6587 "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 251: /* cmd ::= SHOW db_name_cond_opt VGROUPS */ +#line 481 "sql.y" +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VGROUPS_STMT, yymsp[-1].minor.yy110, NULL, OP_TYPE_LIKE); } +#line 6592 "sql.c" break; - case 251: /* cmd ::= SHOW MNODES */ + case 252: /* cmd ::= SHOW MNODES */ +#line 482 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_MNODES_STMT); } +#line 6597 "sql.c" break; - case 252: /* cmd ::= SHOW QNODES */ + case 253: /* cmd ::= SHOW QNODES */ +#line 484 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_QNODES_STMT); } +#line 6602 "sql.c" break; - case 253: /* cmd ::= SHOW ARBGROUPS */ + case 254: /* cmd ::= SHOW ARBGROUPS */ +#line 485 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_ARBGROUPS_STMT); } +#line 6607 "sql.c" break; - case 254: /* cmd ::= SHOW FUNCTIONS */ + case 255: /* cmd ::= SHOW FUNCTIONS */ +#line 486 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_FUNCTIONS_STMT); } +#line 6612 "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 256: /* cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ +#line 487 "sql.y" +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, yymsp[0].minor.yy110, yymsp[-1].minor.yy110, OP_TYPE_EQUAL); } +#line 6617 "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 257: /* cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ +#line 488 "sql.y" +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy863), createIdentifierValueNode(pCxt, &yymsp[0].minor.yy863), OP_TYPE_EQUAL); } +#line 6622 "sql.c" break; - case 257: /* cmd ::= SHOW STREAMS */ + case 258: /* cmd ::= SHOW STREAMS */ +#line 489 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_STREAMS_STMT); } +#line 6627 "sql.c" break; - case 258: /* cmd ::= SHOW ACCOUNTS */ + case 259: /* cmd ::= SHOW ACCOUNTS */ +#line 490 "sql.y" { pCxt->errCode = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_EXPRIE_STATEMENT); } +#line 6632 "sql.c" break; - case 259: /* cmd ::= SHOW APPS */ + case 260: /* cmd ::= SHOW APPS */ +#line 491 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_APPS_STMT); } +#line 6637 "sql.c" break; - case 260: /* cmd ::= SHOW CONNECTIONS */ + case 261: /* cmd ::= SHOW CONNECTIONS */ +#line 492 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CONNECTIONS_STMT); } +#line 6642 "sql.c" break; - case 261: /* cmd ::= SHOW LICENCES */ - case 262: /* cmd ::= SHOW GRANTS */ yytestcase(yyruleno==262); + case 262: /* cmd ::= SHOW LICENCES */ + case 263: /* cmd ::= SHOW GRANTS */ yytestcase(yyruleno==263); +#line 493 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_LICENCES_STMT); } +#line 6648 "sql.c" break; - case 263: /* cmd ::= SHOW GRANTS FULL */ + case 264: /* cmd ::= SHOW GRANTS FULL */ +#line 495 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_GRANTS_FULL_STMT); } +#line 6653 "sql.c" break; - case 264: /* cmd ::= SHOW GRANTS LOGS */ + case 265: /* cmd ::= SHOW GRANTS LOGS */ +#line 496 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_GRANTS_LOGS_STMT); } +#line 6658 "sql.c" break; - case 265: /* cmd ::= SHOW CLUSTER MACHINES */ + case 266: /* cmd ::= SHOW CLUSTER MACHINES */ +#line 497 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CLUSTER_MACHINES_STMT); } +#line 6663 "sql.c" break; - case 266: /* cmd ::= SHOW CREATE DATABASE db_name */ -{ pCxt->pRootNode = createShowCreateDatabaseStmt(pCxt, &yymsp[0].minor.yy965); } + case 267: /* cmd ::= SHOW CREATE DATABASE db_name */ +#line 498 "sql.y" +{ pCxt->pRootNode = createShowCreateDatabaseStmt(pCxt, &yymsp[0].minor.yy863); } +#line 6668 "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 268: /* cmd ::= SHOW CREATE TABLE full_table_name */ +#line 499 "sql.y" +{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_TABLE_STMT, yymsp[0].minor.yy110); } +#line 6673 "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 269: /* cmd ::= SHOW CREATE STABLE full_table_name */ +#line 500 "sql.y" +{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_STABLE_STMT, yymsp[0].minor.yy110); } +#line 6678 "sql.c" break; - case 269: /* cmd ::= SHOW QUERIES */ + case 270: /* cmd ::= SHOW QUERIES */ +#line 501 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_QUERIES_STMT); } +#line 6683 "sql.c" break; - case 270: /* cmd ::= SHOW SCORES */ + case 271: /* cmd ::= SHOW SCORES */ +#line 502 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_SCORES_STMT); } +#line 6688 "sql.c" break; - case 271: /* cmd ::= SHOW TOPICS */ + case 272: /* cmd ::= SHOW TOPICS */ +#line 503 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_TOPICS_STMT); } +#line 6693 "sql.c" break; - case 272: /* cmd ::= SHOW VARIABLES */ - case 273: /* cmd ::= SHOW CLUSTER VARIABLES */ yytestcase(yyruleno==273); + case 273: /* cmd ::= SHOW VARIABLES */ + case 274: /* cmd ::= SHOW CLUSTER VARIABLES */ yytestcase(yyruleno==274); +#line 504 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_VARIABLES_STMT); } +#line 6699 "sql.c" break; - case 274: /* cmd ::= SHOW LOCAL VARIABLES */ + case 275: /* cmd ::= SHOW LOCAL VARIABLES */ +#line 506 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_LOCAL_VARIABLES_STMT); } +#line 6704 "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 276: /* cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ +#line 507 "sql.y" +{ pCxt->pRootNode = createShowDnodeVariablesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[-2].minor.yy0), yymsp[0].minor.yy110); } +#line 6709 "sql.c" break; - case 276: /* cmd ::= SHOW BNODES */ + case 277: /* cmd ::= SHOW BNODES */ +#line 508 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_BNODES_STMT); } +#line 6714 "sql.c" break; - case 277: /* cmd ::= SHOW SNODES */ + case 278: /* cmd ::= SHOW SNODES */ +#line 509 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_SNODES_STMT); } +#line 6719 "sql.c" break; - case 278: /* cmd ::= SHOW CLUSTER */ + case 279: /* cmd ::= SHOW CLUSTER */ +#line 510 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CLUSTER_STMT); } +#line 6724 "sql.c" break; - case 279: /* cmd ::= SHOW TRANSACTIONS */ + case 280: /* cmd ::= SHOW TRANSACTIONS */ +#line 511 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_TRANSACTIONS_STMT); } +#line 6729 "sql.c" break; - case 280: /* cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ -{ pCxt->pRootNode = createShowTableDistributedStmt(pCxt, yymsp[0].minor.yy718); } + case 281: /* cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ +#line 512 "sql.y" +{ pCxt->pRootNode = createShowTableDistributedStmt(pCxt, yymsp[0].minor.yy110); } +#line 6734 "sql.c" break; - case 281: /* cmd ::= SHOW CONSUMERS */ + case 282: /* cmd ::= SHOW CONSUMERS */ +#line 513 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CONSUMERS_STMT); } +#line 6739 "sql.c" break; - case 282: /* cmd ::= SHOW SUBSCRIPTIONS */ + case 283: /* cmd ::= SHOW SUBSCRIPTIONS */ +#line 514 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_SUBSCRIPTIONS_STMT); } +#line 6744 "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 284: /* cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ +#line 515 "sql.y" +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, yymsp[0].minor.yy110, yymsp[-1].minor.yy110, OP_TYPE_EQUAL); } +#line 6749 "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 285: /* cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ +#line 516 "sql.y" +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy863), createIdentifierValueNode(pCxt, &yymsp[0].minor.yy863), OP_TYPE_EQUAL); } +#line 6754 "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 286: /* cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ +#line 517 "sql.y" +{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, yymsp[-1].minor.yy110, yymsp[0].minor.yy110, yymsp[-3].minor.yy652); } +#line 6759 "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 287: /* cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name */ +#line 518 "sql.y" +{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, createIdentifierValueNode(pCxt, &yymsp[0].minor.yy863), createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy863), yymsp[-4].minor.yy652); } +#line 6764 "sql.c" break; - case 287: /* cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ + case 288: /* cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ +#line 519 "sql.y" { pCxt->pRootNode = createShowVnodesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0), NULL); } +#line 6769 "sql.c" break; - case 288: /* cmd ::= SHOW VNODES */ + case 289: /* cmd ::= SHOW VNODES */ +#line 520 "sql.y" { pCxt->pRootNode = createShowVnodesStmt(pCxt, NULL, NULL); } +#line 6774 "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 290: /* cmd ::= SHOW db_name_cond_opt ALIVE */ +#line 522 "sql.y" +{ pCxt->pRootNode = createShowAliveStmt(pCxt, yymsp[-1].minor.yy110, QUERY_NODE_SHOW_DB_ALIVE_STMT); } +#line 6779 "sql.c" break; - case 290: /* cmd ::= SHOW CLUSTER ALIVE */ + case 291: /* cmd ::= SHOW CLUSTER ALIVE */ +#line 523 "sql.y" { pCxt->pRootNode = createShowAliveStmt(pCxt, NULL, QUERY_NODE_SHOW_CLUSTER_ALIVE_STMT); } +#line 6784 "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 292: /* cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt */ +#line 524 "sql.y" +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VIEWS_STMT, yymsp[-2].minor.yy110, yymsp[0].minor.yy110, OP_TYPE_LIKE); } +#line 6789 "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 293: /* cmd ::= SHOW CREATE VIEW full_table_name */ +#line 525 "sql.y" +{ pCxt->pRootNode = createShowCreateViewStmt(pCxt, QUERY_NODE_SHOW_CREATE_VIEW_STMT, yymsp[0].minor.yy110); } +#line 6794 "sql.c" break; - case 293: /* cmd ::= SHOW COMPACTS */ + case 294: /* cmd ::= SHOW COMPACTS */ +#line 526 "sql.y" { pCxt->pRootNode = createShowCompactsStmt(pCxt, QUERY_NODE_SHOW_COMPACTS_STMT); } +#line 6799 "sql.c" break; - case 294: /* cmd ::= SHOW COMPACT NK_INTEGER */ + case 295: /* cmd ::= SHOW COMPACT NK_INTEGER */ +#line 527 "sql.y" { pCxt->pRootNode = createShowCompactDetailsStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } +#line 6804 "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 296: /* table_kind_db_name_cond_opt ::= */ +#line 531 "sql.y" +{ yymsp[1].minor.yy61.kind = SHOW_KIND_ALL; yymsp[1].minor.yy61.dbName = nil_token; } +#line 6809 "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 297: /* table_kind_db_name_cond_opt ::= table_kind */ +#line 532 "sql.y" +{ yylhsminor.yy61.kind = yymsp[0].minor.yy291; yylhsminor.yy61.dbName = nil_token; } +#line 6814 "sql.c" + yymsp[0].minor.yy61 = yylhsminor.yy61; 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 298: /* table_kind_db_name_cond_opt ::= db_name NK_DOT */ +#line 533 "sql.y" +{ yylhsminor.yy61.kind = SHOW_KIND_ALL; yylhsminor.yy61.dbName = yymsp[-1].minor.yy863; } +#line 6820 "sql.c" + yymsp[-1].minor.yy61 = yylhsminor.yy61; 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 299: /* table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ +#line 534 "sql.y" +{ yylhsminor.yy61.kind = yymsp[-2].minor.yy291; yylhsminor.yy61.dbName = yymsp[-1].minor.yy863; } +#line 6826 "sql.c" + yymsp[-2].minor.yy61 = yylhsminor.yy61; break; - case 299: /* table_kind ::= NORMAL */ -{ yymsp[0].minor.yy101 = SHOW_KIND_TABLES_NORMAL; } + case 300: /* table_kind ::= NORMAL */ +#line 538 "sql.y" +{ yymsp[0].minor.yy291 = SHOW_KIND_TABLES_NORMAL; } +#line 6832 "sql.c" break; - case 300: /* table_kind ::= CHILD */ -{ yymsp[0].minor.yy101 = SHOW_KIND_TABLES_CHILD; } + case 301: /* table_kind ::= CHILD */ +#line 539 "sql.y" +{ yymsp[0].minor.yy291 = SHOW_KIND_TABLES_CHILD; } +#line 6837 "sql.c" break; - case 301: /* db_name_cond_opt ::= */ - case 306: /* from_db_opt ::= */ yytestcase(yyruleno==306); -{ yymsp[1].minor.yy718 = createDefaultDatabaseCondValue(pCxt); } + case 302: /* db_name_cond_opt ::= */ + case 307: /* from_db_opt ::= */ yytestcase(yyruleno==307); +#line 541 "sql.y" +{ yymsp[1].minor.yy110 = createDefaultDatabaseCondValue(pCxt); } +#line 6843 "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 303: /* db_name_cond_opt ::= db_name NK_DOT */ +#line 542 "sql.y" +{ yylhsminor.yy110 = createIdentifierValueNode(pCxt, &yymsp[-1].minor.yy863); } +#line 6848 "sql.c" + yymsp[-1].minor.yy110 = yylhsminor.yy110; break; - case 304: /* like_pattern_opt ::= LIKE NK_STRING */ -{ yymsp[-1].minor.yy718 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } + case 305: /* like_pattern_opt ::= LIKE NK_STRING */ +#line 545 "sql.y" +{ yymsp[-1].minor.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } +#line 6854 "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 306: /* table_name_cond ::= table_name */ +#line 547 "sql.y" +{ yylhsminor.yy110 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy863); } +#line 6859 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; break; - case 307: /* from_db_opt ::= FROM db_name */ -{ yymsp[-1].minor.yy718 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy965); } + case 308: /* from_db_opt ::= FROM db_name */ +#line 550 "sql.y" +{ yymsp[-1].minor.yy110 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy863); } +#line 6865 "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 312: /* tag_item ::= TBNAME */ +#line 558 "sql.y" +{ yylhsminor.yy110 = setProjectionAlias(pCxt, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL), &yymsp[0].minor.yy0); } +#line 6870 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; 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 315: /* tag_item ::= column_name column_alias */ +#line 561 "sql.y" +{ yylhsminor.yy110 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-1].minor.yy863), &yymsp[0].minor.yy863); } +#line 6876 "sql.c" + yymsp[-1].minor.yy110 = yylhsminor.yy110; 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 316: /* tag_item ::= column_name AS column_alias */ +#line 562 "sql.y" +{ yylhsminor.yy110 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-2].minor.yy863), &yymsp[0].minor.yy863); } +#line 6882 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; break; - case 316: /* db_kind_opt ::= */ -{ yymsp[1].minor.yy101 = SHOW_KIND_ALL; } + case 317: /* db_kind_opt ::= */ +#line 566 "sql.y" +{ yymsp[1].minor.yy291 = SHOW_KIND_ALL; } +#line 6888 "sql.c" break; - case 317: /* db_kind_opt ::= USER */ -{ yymsp[0].minor.yy101 = SHOW_KIND_DATABASES_USER; } + case 318: /* db_kind_opt ::= USER */ +#line 567 "sql.y" +{ yymsp[0].minor.yy291 = SHOW_KIND_DATABASES_USER; } +#line 6893 "sql.c" break; - case 318: /* db_kind_opt ::= SYSTEM */ -{ yymsp[0].minor.yy101 = SHOW_KIND_DATABASES_SYSTEM; } + case 319: /* db_kind_opt ::= SYSTEM */ +#line 568 "sql.y" +{ yymsp[0].minor.yy291 = SHOW_KIND_DATABASES_SYSTEM; } +#line 6898 "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 320: /* cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options */ +#line 572 "sql.y" +{ pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_SMA, yymsp[-4].minor.yy1019, yymsp[-3].minor.yy110, yymsp[-1].minor.yy110, NULL, yymsp[0].minor.yy110); } +#line 6903 "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 321: /* cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP */ +#line 574 "sql.y" +{ pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_NORMAL, yymsp[-6].minor.yy1019, yymsp[-5].minor.yy110, yymsp[-3].minor.yy110, yymsp[-1].minor.yy652, NULL); } +#line 6908 "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 322: /* cmd ::= DROP INDEX exists_opt full_index_name */ +#line 575 "sql.y" +{ pCxt->pRootNode = createDropIndexStmt(pCxt, yymsp[-1].minor.yy1019, yymsp[0].minor.yy110); } +#line 6913 "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 323: /* full_index_name ::= index_name */ +#line 577 "sql.y" +{ yylhsminor.yy110 = createRealTableNodeForIndexName(pCxt, NULL, &yymsp[0].minor.yy863); } +#line 6918 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; 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 324: /* full_index_name ::= db_name NK_DOT index_name */ +#line 578 "sql.y" +{ yylhsminor.yy110 = createRealTableNodeForIndexName(pCxt, &yymsp[-2].minor.yy863, &yymsp[0].minor.yy863); } +#line 6924 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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 325: /* index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ +#line 581 "sql.y" +{ yymsp[-9].minor.yy110 = createIndexOption(pCxt, yymsp[-7].minor.yy652, releaseRawExprNode(pCxt, yymsp[-3].minor.yy110), NULL, yymsp[-1].minor.yy110, yymsp[0].minor.yy110); } +#line 6930 "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 326: /* 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 584 "sql.y" +{ yymsp[-11].minor.yy110 = createIndexOption(pCxt, yymsp[-9].minor.yy652, releaseRawExprNode(pCxt, yymsp[-5].minor.yy110), releaseRawExprNode(pCxt, yymsp[-3].minor.yy110), yymsp[-1].minor.yy110, yymsp[0].minor.yy110); } +#line 6935 "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 329: /* func ::= sma_func_name NK_LP expression_list NK_RP */ +#line 591 "sql.y" +{ yylhsminor.yy110 = createFunctionNode(pCxt, &yymsp[-3].minor.yy863, yymsp[-1].minor.yy652); } +#line 6940 "sql.c" + yymsp[-3].minor.yy110 = yylhsminor.yy110; 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 330: /* sma_func_name ::= function_name */ + case 597: /* alias_opt ::= table_alias */ yytestcase(yyruleno==597); +#line 595 "sql.y" +{ yylhsminor.yy863 = yymsp[0].minor.yy863; } +#line 6947 "sql.c" + yymsp[0].minor.yy863 = yylhsminor.yy863; break; - case 334: /* sma_stream_opt ::= */ - case 379: /* stream_options ::= */ yytestcase(yyruleno==379); -{ yymsp[1].minor.yy718 = createStreamOptions(pCxt); } + case 335: /* sma_stream_opt ::= */ + case 380: /* stream_options ::= */ yytestcase(yyruleno==380); +#line 601 "sql.y" +{ yymsp[1].minor.yy110 = createStreamOptions(pCxt); } +#line 6954 "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 336: /* sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ +#line 602 "sql.y" +{ ((SStreamOptions*)yymsp[-2].minor.yy110)->pWatermark = releaseRawExprNode(pCxt, yymsp[0].minor.yy110); yylhsminor.yy110 = yymsp[-2].minor.yy110; } +#line 6959 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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 337: /* sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ +#line 603 "sql.y" +{ ((SStreamOptions*)yymsp[-2].minor.yy110)->pDelay = releaseRawExprNode(pCxt, yymsp[0].minor.yy110); yylhsminor.yy110 = yymsp[-2].minor.yy110; } +#line 6965 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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 338: /* sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ +#line 604 "sql.y" +{ ((SStreamOptions*)yymsp[-2].minor.yy110)->pDeleteMark = releaseRawExprNode(pCxt, yymsp[0].minor.yy110); yylhsminor.yy110 = yymsp[-2].minor.yy110; } +#line 6971 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; break; - case 338: /* with_meta ::= AS */ -{ yymsp[0].minor.yy134 = 0; } + case 339: /* with_meta ::= AS */ +#line 609 "sql.y" +{ yymsp[0].minor.yy376 = 0; } +#line 6977 "sql.c" break; - case 339: /* with_meta ::= WITH META AS */ -{ yymsp[-2].minor.yy134 = 1; } + case 340: /* with_meta ::= WITH META AS */ +#line 610 "sql.y" +{ yymsp[-2].minor.yy376 = 1; } +#line 6982 "sql.c" break; - case 340: /* with_meta ::= ONLY META AS */ -{ yymsp[-2].minor.yy134 = 2; } + case 341: /* with_meta ::= ONLY META AS */ +#line 611 "sql.y" +{ yymsp[-2].minor.yy376 = 2; } +#line 6987 "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 342: /* cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ +#line 613 "sql.y" +{ pCxt->pRootNode = createCreateTopicStmtUseQuery(pCxt, yymsp[-3].minor.yy1019, &yymsp[-2].minor.yy863, yymsp[0].minor.yy110); } +#line 6992 "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 343: /* cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ +#line 615 "sql.y" +{ pCxt->pRootNode = createCreateTopicStmtUseDb(pCxt, yymsp[-4].minor.yy1019, &yymsp[-3].minor.yy863, &yymsp[0].minor.yy863, yymsp[-2].minor.yy376); } +#line 6997 "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 344: /* cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ +#line 617 "sql.y" +{ pCxt->pRootNode = createCreateTopicStmtUseTable(pCxt, yymsp[-5].minor.yy1019, &yymsp[-4].minor.yy863, yymsp[-1].minor.yy110, yymsp[-3].minor.yy376, yymsp[0].minor.yy110); } +#line 7002 "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 345: /* cmd ::= DROP TOPIC exists_opt topic_name */ +#line 619 "sql.y" +{ pCxt->pRootNode = createDropTopicStmt(pCxt, yymsp[-1].minor.yy1019, &yymsp[0].minor.yy863); } +#line 7007 "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 346: /* cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ +#line 620 "sql.y" +{ pCxt->pRootNode = createDropCGroupStmt(pCxt, yymsp[-3].minor.yy1019, &yymsp[-2].minor.yy863, &yymsp[0].minor.yy863); } +#line 7012 "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 347: /* cmd ::= DESC full_table_name */ + case 348: /* cmd ::= DESCRIBE full_table_name */ yytestcase(yyruleno==348); +#line 623 "sql.y" +{ pCxt->pRootNode = createDescribeStmt(pCxt, yymsp[0].minor.yy110); } +#line 7018 "sql.c" break; - case 348: /* cmd ::= RESET QUERY CACHE */ + case 349: /* cmd ::= RESET QUERY CACHE */ +#line 627 "sql.y" { pCxt->pRootNode = createResetQueryCacheStmt(pCxt); } +#line 7023 "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 350: /* cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ + case 351: /* cmd ::= EXPLAIN analyze_opt explain_options insert_query */ yytestcase(yyruleno==351); +#line 630 "sql.y" +{ pCxt->pRootNode = createExplainStmt(pCxt, yymsp[-2].minor.yy1019, yymsp[-1].minor.yy110, yymsp[0].minor.yy110); } +#line 7029 "sql.c" break; - case 353: /* explain_options ::= */ -{ yymsp[1].minor.yy718 = createDefaultExplainOptions(pCxt); } + case 354: /* explain_options ::= */ +#line 638 "sql.y" +{ yymsp[1].minor.yy110 = createDefaultExplainOptions(pCxt); } +#line 7034 "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 355: /* explain_options ::= explain_options VERBOSE NK_BOOL */ +#line 639 "sql.y" +{ yylhsminor.yy110 = setExplainVerbose(pCxt, yymsp[-2].minor.yy110, &yymsp[0].minor.yy0); } +#line 7039 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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 356: /* explain_options ::= explain_options RATIO NK_FLOAT */ +#line 640 "sql.y" +{ yylhsminor.yy110 = setExplainRatio(pCxt, yymsp[-2].minor.yy110, &yymsp[0].minor.yy0); } +#line 7045 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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 357: /* 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 645 "sql.y" +{ pCxt->pRootNode = createCreateFunctionStmt(pCxt, yymsp[-7].minor.yy1019, yymsp[-9].minor.yy1019, &yymsp[-6].minor.yy863, &yymsp[-4].minor.yy0, yymsp[-2].minor.yy34, yymsp[-1].minor.yy376, &yymsp[0].minor.yy863, yymsp[-10].minor.yy1019); } +#line 7051 "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 358: /* cmd ::= DROP FUNCTION exists_opt function_name */ +#line 646 "sql.y" +{ pCxt->pRootNode = createDropFunctionStmt(pCxt, yymsp[-1].minor.yy1019, &yymsp[0].minor.yy863); } +#line 7056 "sql.c" break; - case 362: /* language_opt ::= */ - case 401: /* on_vgroup_id ::= */ yytestcase(yyruleno==401); -{ yymsp[1].minor.yy965 = nil_token; } + case 363: /* language_opt ::= */ + case 402: /* on_vgroup_id ::= */ yytestcase(yyruleno==402); +#line 660 "sql.y" +{ yymsp[1].minor.yy863 = nil_token; } +#line 7062 "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 364: /* language_opt ::= LANGUAGE NK_STRING */ + case 403: /* on_vgroup_id ::= ON NK_INTEGER */ yytestcase(yyruleno==403); +#line 661 "sql.y" +{ yymsp[-1].minor.yy863 = yymsp[0].minor.yy0; } +#line 7068 "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 367: /* cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ +#line 670 "sql.y" +{ pCxt->pRootNode = createCreateViewStmt(pCxt, yymsp[-4].minor.yy1019, yymsp[-2].minor.yy110, &yymsp[-1].minor.yy0, yymsp[0].minor.yy110); } +#line 7073 "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 368: /* cmd ::= DROP VIEW exists_opt full_view_name */ +#line 671 "sql.y" +{ pCxt->pRootNode = createDropViewStmt(pCxt, yymsp[-1].minor.yy1019, yymsp[0].minor.yy110); } +#line 7078 "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 369: /* full_view_name ::= view_name */ +#line 673 "sql.y" +{ yylhsminor.yy110 = createViewNode(pCxt, NULL, &yymsp[0].minor.yy863); } +#line 7083 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; 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 370: /* full_view_name ::= db_name NK_DOT view_name */ +#line 674 "sql.y" +{ yylhsminor.yy110 = createViewNode(pCxt, &yymsp[-2].minor.yy863, &yymsp[0].minor.yy863); } +#line 7089 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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 371: /* 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 679 "sql.y" +{ pCxt->pRootNode = createCreateStreamStmt(pCxt, yymsp[-9].minor.yy1019, &yymsp[-8].minor.yy863, yymsp[-5].minor.yy110, yymsp[-7].minor.yy110, yymsp[-3].minor.yy652, yymsp[-2].minor.yy110, yymsp[0].minor.yy110, yymsp[-4].minor.yy652); } +#line 7095 "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 372: /* cmd ::= DROP STREAM exists_opt stream_name */ +#line 680 "sql.y" +{ pCxt->pRootNode = createDropStreamStmt(pCxt, yymsp[-1].minor.yy1019, &yymsp[0].minor.yy863); } +#line 7100 "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 373: /* cmd ::= PAUSE STREAM exists_opt stream_name */ +#line 681 "sql.y" +{ pCxt->pRootNode = createPauseStreamStmt(pCxt, yymsp[-1].minor.yy1019, &yymsp[0].minor.yy863); } +#line 7105 "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 374: /* cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ +#line 682 "sql.y" +{ pCxt->pRootNode = createResumeStreamStmt(pCxt, yymsp[-2].minor.yy1019, yymsp[-1].minor.yy1019, &yymsp[0].minor.yy863); } +#line 7110 "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 381: /* stream_options ::= stream_options TRIGGER AT_ONCE */ + case 382: /* stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ yytestcase(yyruleno==382); +#line 696 "sql.y" +{ yylhsminor.yy110 = setStreamOptions(pCxt, yymsp[-2].minor.yy110, SOPT_TRIGGER_TYPE_SET, &yymsp[0].minor.yy0, NULL); } +#line 7116 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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 383: /* stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ +#line 698 "sql.y" +{ yylhsminor.yy110 = setStreamOptions(pCxt, yymsp[-3].minor.yy110, SOPT_TRIGGER_TYPE_SET, &yymsp[-1].minor.yy0, releaseRawExprNode(pCxt, yymsp[0].minor.yy110)); } +#line 7122 "sql.c" + yymsp[-3].minor.yy110 = yylhsminor.yy110; 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 384: /* stream_options ::= stream_options WATERMARK duration_literal */ +#line 699 "sql.y" +{ yylhsminor.yy110 = setStreamOptions(pCxt, yymsp[-2].minor.yy110, SOPT_WATERMARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy110)); } +#line 7128 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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 385: /* stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ +#line 700 "sql.y" +{ yylhsminor.yy110 = setStreamOptions(pCxt, yymsp[-3].minor.yy110, SOPT_IGNORE_EXPIRED_SET, &yymsp[0].minor.yy0, NULL); } +#line 7134 "sql.c" + yymsp[-3].minor.yy110 = yylhsminor.yy110; 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 386: /* stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ +#line 701 "sql.y" +{ yylhsminor.yy110 = setStreamOptions(pCxt, yymsp[-2].minor.yy110, SOPT_FILL_HISTORY_SET, &yymsp[0].minor.yy0, NULL); } +#line 7140 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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 387: /* stream_options ::= stream_options DELETE_MARK duration_literal */ +#line 702 "sql.y" +{ yylhsminor.yy110 = setStreamOptions(pCxt, yymsp[-2].minor.yy110, SOPT_DELETE_MARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy110)); } +#line 7146 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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 388: /* stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ +#line 703 "sql.y" +{ yylhsminor.yy110 = setStreamOptions(pCxt, yymsp[-3].minor.yy110, SOPT_IGNORE_UPDATE_SET, &yymsp[0].minor.yy0, NULL); } +#line 7152 "sql.c" + yymsp[-3].minor.yy110 = yylhsminor.yy110; 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 390: /* subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ + case 637: /* sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ yytestcase(yyruleno==637); + case 661: /* every_opt ::= EVERY NK_LP duration_literal NK_RP */ yytestcase(yyruleno==661); +#line 706 "sql.y" +{ yymsp[-3].minor.yy110 = releaseRawExprNode(pCxt, yymsp[-1].minor.yy110); } +#line 7160 "sql.c" break; - case 392: /* cmd ::= KILL CONNECTION NK_INTEGER */ + case 393: /* cmd ::= KILL CONNECTION NK_INTEGER */ +#line 714 "sql.y" { pCxt->pRootNode = createKillStmt(pCxt, QUERY_NODE_KILL_CONNECTION_STMT, &yymsp[0].minor.yy0); } +#line 7165 "sql.c" break; - case 393: /* cmd ::= KILL QUERY NK_STRING */ + case 394: /* cmd ::= KILL QUERY NK_STRING */ +#line 715 "sql.y" { pCxt->pRootNode = createKillQueryStmt(pCxt, &yymsp[0].minor.yy0); } +#line 7170 "sql.c" break; - case 394: /* cmd ::= KILL TRANSACTION NK_INTEGER */ + case 395: /* cmd ::= KILL TRANSACTION NK_INTEGER */ +#line 716 "sql.y" { pCxt->pRootNode = createKillStmt(pCxt, QUERY_NODE_KILL_TRANSACTION_STMT, &yymsp[0].minor.yy0); } +#line 7175 "sql.c" break; - case 395: /* cmd ::= KILL COMPACT NK_INTEGER */ + case 396: /* cmd ::= KILL COMPACT NK_INTEGER */ +#line 717 "sql.y" { pCxt->pRootNode = createKillStmt(pCxt, QUERY_NODE_KILL_COMPACT_STMT, &yymsp[0].minor.yy0); } +#line 7180 "sql.c" break; - case 396: /* cmd ::= BALANCE VGROUP */ + case 397: /* cmd ::= BALANCE VGROUP */ +#line 720 "sql.y" { pCxt->pRootNode = createBalanceVgroupStmt(pCxt); } +#line 7185 "sql.c" break; - case 397: /* cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ -{ pCxt->pRootNode = createBalanceVgroupLeaderStmt(pCxt, &yymsp[0].minor.yy965); } + case 398: /* cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ +#line 721 "sql.y" +{ pCxt->pRootNode = createBalanceVgroupLeaderStmt(pCxt, &yymsp[0].minor.yy863); } +#line 7190 "sql.c" break; - case 398: /* cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ + case 399: /* cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ +#line 722 "sql.y" { pCxt->pRootNode = createMergeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); } +#line 7195 "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 400: /* cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ +#line 723 "sql.y" +{ pCxt->pRootNode = createRedistributeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy652); } +#line 7200 "sql.c" break; - case 400: /* cmd ::= SPLIT VGROUP NK_INTEGER */ + case 401: /* cmd ::= SPLIT VGROUP NK_INTEGER */ +#line 724 "sql.y" { pCxt->pRootNode = createSplitVgroupStmt(pCxt, &yymsp[0].minor.yy0); } +#line 7205 "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 404: /* dnode_list ::= DNODE NK_INTEGER */ +#line 733 "sql.y" +{ yymsp[-1].minor.yy652 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } +#line 7210 "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 406: /* cmd ::= DELETE FROM full_table_name where_clause_opt */ +#line 740 "sql.y" +{ pCxt->pRootNode = createDeleteStmt(pCxt, yymsp[-1].minor.yy110, yymsp[0].minor.yy110); } +#line 7215 "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 409: /* insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ +#line 749 "sql.y" +{ yymsp[-6].minor.yy110 = createInsertStmt(pCxt, yymsp[-4].minor.yy110, yymsp[-2].minor.yy652, yymsp[0].minor.yy110); } +#line 7220 "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 410: /* insert_query ::= INSERT INTO full_table_name query_or_subquery */ +#line 750 "sql.y" +{ yymsp[-3].minor.yy110 = createInsertStmt(pCxt, yymsp[-1].minor.yy110, NULL, yymsp[0].minor.yy110); } +#line 7225 "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 411: /* tags_literal ::= NK_INTEGER */ + case 423: /* tags_literal ::= NK_BIN */ yytestcase(yyruleno==423); + case 432: /* tags_literal ::= NK_HEX */ yytestcase(yyruleno==432); +#line 753 "sql.y" +{ yylhsminor.yy110 = createRawValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0, NULL); } +#line 7232 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; 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 412: /* tags_literal ::= NK_INTEGER NK_PLUS duration_literal */ + case 413: /* tags_literal ::= NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==413); + case 424: /* tags_literal ::= NK_BIN NK_PLUS duration_literal */ yytestcase(yyruleno==424); + case 425: /* tags_literal ::= NK_BIN NK_MINUS duration_literal */ yytestcase(yyruleno==425); + case 433: /* tags_literal ::= NK_HEX NK_PLUS duration_literal */ yytestcase(yyruleno==433); + case 434: /* tags_literal ::= NK_HEX NK_MINUS duration_literal */ yytestcase(yyruleno==434); + case 442: /* tags_literal ::= NK_STRING NK_PLUS duration_literal */ yytestcase(yyruleno==442); + case 443: /* tags_literal ::= NK_STRING NK_MINUS duration_literal */ yytestcase(yyruleno==443); +#line 754 "sql.y" { SToken l = yymsp[-2].minor.yy0; - SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy718); + SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); l.n = (r.z + r.n) - l.z; - yylhsminor.yy718 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, NULL, yymsp[0].minor.yy718); + yylhsminor.yy110 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, NULL, yymsp[0].minor.yy110); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7250 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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 414: /* tags_literal ::= NK_PLUS NK_INTEGER */ + case 417: /* tags_literal ::= NK_MINUS NK_INTEGER */ yytestcase(yyruleno==417); + case 426: /* tags_literal ::= NK_PLUS NK_BIN */ yytestcase(yyruleno==426); + case 429: /* tags_literal ::= NK_MINUS NK_BIN */ yytestcase(yyruleno==429); + case 435: /* tags_literal ::= NK_PLUS NK_HEX */ yytestcase(yyruleno==435); + case 438: /* tags_literal ::= NK_MINUS NK_HEX */ yytestcase(yyruleno==438); +#line 766 "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.yy110 = createRawValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &t, NULL); } - yymsp[-1].minor.yy718 = yylhsminor.yy718; +#line 7265 "sql.c" + yymsp[-1].minor.yy110 = yylhsminor.yy110; 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 415: /* tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal */ + case 416: /* tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==416); + case 418: /* tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal */ yytestcase(yyruleno==418); + case 419: /* tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==419); + case 427: /* tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal */ yytestcase(yyruleno==427); + case 428: /* tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal */ yytestcase(yyruleno==428); + case 430: /* tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal */ yytestcase(yyruleno==430); + case 431: /* tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal */ yytestcase(yyruleno==431); + case 436: /* tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal */ yytestcase(yyruleno==436); + case 437: /* tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal */ yytestcase(yyruleno==437); + case 439: /* tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal */ yytestcase(yyruleno==439); + case 440: /* tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal */ yytestcase(yyruleno==440); +#line 771 "sql.y" { SToken l = yymsp[-3].minor.yy0; - SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy718); + SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); l.n = (r.z + r.n) - l.z; - yylhsminor.yy718 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, NULL, yymsp[0].minor.yy718); + yylhsminor.yy110 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, NULL, yymsp[0].minor.yy110); } - yymsp[-3].minor.yy718 = yylhsminor.yy718; +#line 7287 "sql.c" + yymsp[-3].minor.yy110 = yylhsminor.yy110; 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 420: /* tags_literal ::= NK_FLOAT */ +#line 800 "sql.y" +{ yylhsminor.yy110 = createRawValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0, NULL); } +#line 7293 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; break; - case 420: /* tags_literal ::= NK_PLUS NK_FLOAT */ - case 421: /* tags_literal ::= NK_MINUS NK_FLOAT */ yytestcase(yyruleno==421); + case 421: /* tags_literal ::= NK_PLUS NK_FLOAT */ + case 422: /* tags_literal ::= NK_MINUS NK_FLOAT */ yytestcase(yyruleno==422); +#line 801 "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.yy110 = createRawValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t, NULL); } - yymsp[-1].minor.yy718 = yylhsminor.yy718; +#line 7304 "sql.c" + yymsp[-1].minor.yy110 = yylhsminor.yy110; 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 441: /* tags_literal ::= NK_STRING */ +#line 907 "sql.y" +{ yylhsminor.yy110 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0, NULL); } +#line 7310 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; 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 444: /* tags_literal ::= NK_BOOL */ +#line 920 "sql.y" +{ yylhsminor.yy110 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0, NULL); } +#line 7316 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; 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 445: /* tags_literal ::= NULL */ +#line 921 "sql.y" +{ yylhsminor.yy110 = createRawValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0, NULL); } +#line 7322 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; 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 446: /* tags_literal ::= literal_func */ +#line 923 "sql.y" +{ yylhsminor.yy110 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BINARY, NULL, yymsp[0].minor.yy110); } +#line 7328 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; 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 447: /* tags_literal ::= literal_func NK_PLUS duration_literal */ + case 448: /* tags_literal ::= literal_func NK_MINUS duration_literal */ yytestcase(yyruleno==448); +#line 924 "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.yy110); + SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); 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.yy110 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, yymsp[-2].minor.yy110, yymsp[0].minor.yy110); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7340 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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 451: /* literal ::= NK_INTEGER */ +#line 943 "sql.y" +{ yylhsminor.yy110 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0)); } +#line 7346 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; 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 452: /* literal ::= NK_FLOAT */ +#line 944 "sql.y" +{ yylhsminor.yy110 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0)); } +#line 7352 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; 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 453: /* literal ::= NK_STRING */ +#line 945 "sql.y" +{ yylhsminor.yy110 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } +#line 7358 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; 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 454: /* literal ::= NK_BOOL */ +#line 946 "sql.y" +{ yylhsminor.yy110 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0)); } +#line 7364 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; 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 455: /* literal ::= TIMESTAMP NK_STRING */ +#line 947 "sql.y" +{ yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0)); } +#line 7370 "sql.c" + yymsp[-1].minor.yy110 = yylhsminor.yy110; 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 456: /* literal ::= duration_literal */ + case 466: /* signed_literal ::= signed */ yytestcase(yyruleno==466); + case 489: /* expr_or_subquery ::= expression */ yytestcase(yyruleno==489); + case 490: /* expression ::= literal */ yytestcase(yyruleno==490); + case 492: /* expression ::= column_reference */ yytestcase(yyruleno==492); + case 493: /* expression ::= function_expression */ yytestcase(yyruleno==493); + case 494: /* expression ::= case_when_expression */ yytestcase(yyruleno==494); + case 528: /* function_expression ::= literal_func */ yytestcase(yyruleno==528); + case 578: /* boolean_value_expression ::= boolean_primary */ yytestcase(yyruleno==578); + case 582: /* boolean_primary ::= predicate */ yytestcase(yyruleno==582); + case 584: /* common_expression ::= expr_or_subquery */ yytestcase(yyruleno==584); + case 585: /* common_expression ::= boolean_value_expression */ yytestcase(yyruleno==585); + case 588: /* table_reference_list ::= table_reference */ yytestcase(yyruleno==588); + case 590: /* table_reference ::= table_primary */ yytestcase(yyruleno==590); + case 591: /* table_reference ::= joined_table */ yytestcase(yyruleno==591); + case 595: /* table_primary ::= parenthesized_joined_table */ yytestcase(yyruleno==595); + case 663: /* query_simple ::= query_specification */ yytestcase(yyruleno==663); + case 664: /* query_simple ::= union_query_expression */ yytestcase(yyruleno==664); + case 667: /* query_simple_or_subquery ::= query_simple */ yytestcase(yyruleno==667); + case 669: /* query_or_subquery ::= query_expression */ yytestcase(yyruleno==669); +#line 948 "sql.y" +{ yylhsminor.yy110 = yymsp[0].minor.yy110; } +#line 7395 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; 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 457: /* literal ::= NULL */ +#line 949 "sql.y" +{ yylhsminor.yy110 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0)); } +#line 7401 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; 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 458: /* literal ::= NK_QUESTION */ +#line 950 "sql.y" +{ yylhsminor.yy110 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0)); } +#line 7407 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; 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 459: /* duration_literal ::= NK_VARIABLE */ + case 638: /* interval_sliding_duration_literal ::= NK_VARIABLE */ yytestcase(yyruleno==638); + case 639: /* interval_sliding_duration_literal ::= NK_STRING */ yytestcase(yyruleno==639); + case 640: /* interval_sliding_duration_literal ::= NK_INTEGER */ yytestcase(yyruleno==640); +#line 952 "sql.y" +{ yylhsminor.yy110 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } +#line 7416 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; 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 460: /* signed ::= NK_INTEGER */ +#line 954 "sql.y" +{ yylhsminor.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } +#line 7422 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; break; - case 460: /* signed ::= NK_PLUS NK_INTEGER */ -{ yymsp[-1].minor.yy718 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } + case 461: /* signed ::= NK_PLUS NK_INTEGER */ +#line 955 "sql.y" +{ yymsp[-1].minor.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } +#line 7428 "sql.c" break; - case 461: /* signed ::= NK_MINUS NK_INTEGER */ + case 462: /* signed ::= NK_MINUS NK_INTEGER */ +#line 956 "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.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &t); } - yymsp[-1].minor.yy718 = yylhsminor.yy718; +#line 7437 "sql.c" + yymsp[-1].minor.yy110 = yylhsminor.yy110; 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 463: /* signed ::= NK_FLOAT */ +#line 961 "sql.y" +{ yylhsminor.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } +#line 7443 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; break; - case 463: /* signed ::= NK_PLUS NK_FLOAT */ -{ yymsp[-1].minor.yy718 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } + case 464: /* signed ::= NK_PLUS NK_FLOAT */ +#line 962 "sql.y" +{ yymsp[-1].minor.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } +#line 7449 "sql.c" break; - case 464: /* signed ::= NK_MINUS NK_FLOAT */ + case 465: /* signed ::= NK_MINUS NK_FLOAT */ +#line 963 "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.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t); } - yymsp[-1].minor.yy718 = yylhsminor.yy718; +#line 7458 "sql.c" + yymsp[-1].minor.yy110 = yylhsminor.yy110; 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 467: /* signed_literal ::= NK_STRING */ +#line 970 "sql.y" +{ yylhsminor.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } +#line 7464 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; 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 468: /* signed_literal ::= NK_BOOL */ +#line 971 "sql.y" +{ yylhsminor.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0); } +#line 7470 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; break; - case 468: /* signed_literal ::= TIMESTAMP NK_STRING */ -{ yymsp[-1].minor.yy718 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } + case 469: /* signed_literal ::= TIMESTAMP NK_STRING */ +#line 972 "sql.y" +{ yymsp[-1].minor.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } +#line 7476 "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 470: /* signed_literal ::= duration_literal */ + case 472: /* signed_literal ::= literal_func */ yytestcase(yyruleno==472); + case 549: /* star_func_para ::= expr_or_subquery */ yytestcase(yyruleno==549); + case 615: /* select_item ::= common_expression */ yytestcase(yyruleno==615); + case 625: /* partition_item ::= expr_or_subquery */ yytestcase(yyruleno==625); + case 668: /* query_simple_or_subquery ::= subquery */ yytestcase(yyruleno==668); + case 670: /* query_or_subquery ::= subquery */ yytestcase(yyruleno==670); + case 683: /* search_condition ::= common_expression */ yytestcase(yyruleno==683); +#line 973 "sql.y" +{ yylhsminor.yy110 = releaseRawExprNode(pCxt, yymsp[0].minor.yy110); } +#line 7488 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; 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 471: /* signed_literal ::= NULL */ +#line 974 "sql.y" +{ yylhsminor.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0); } +#line 7494 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; break; - case 472: /* signed_literal ::= NK_QUESTION */ -{ yylhsminor.yy718 = createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 473: /* signed_literal ::= NK_QUESTION */ +#line 976 "sql.y" +{ yylhsminor.yy110 = createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0); } +#line 7500 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; break; - case 490: /* expression ::= pseudo_column */ -{ yylhsminor.yy718 = yymsp[0].minor.yy718; setRawExprNodeIsPseudoColumn(pCxt, yylhsminor.yy718, true); } - yymsp[0].minor.yy718 = yylhsminor.yy718; + case 491: /* expression ::= pseudo_column */ +#line 1038 "sql.y" +{ yylhsminor.yy110 = yymsp[0].minor.yy110; setRawExprNodeIsPseudoColumn(pCxt, yylhsminor.yy110, true); } +#line 7506 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; 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 495: /* expression ::= NK_LP expression NK_RP */ + case 583: /* boolean_primary ::= NK_LP boolean_value_expression NK_RP */ yytestcase(yyruleno==583); + case 682: /* subquery ::= NK_LP subquery NK_RP */ yytestcase(yyruleno==682); +#line 1042 "sql.y" +{ yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, releaseRawExprNode(pCxt, yymsp[-1].minor.yy110)); } +#line 7514 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; break; - case 495: /* expression ::= NK_PLUS expr_or_subquery */ + case 496: /* expression ::= NK_PLUS expr_or_subquery */ +#line 1043 "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.yy110); + yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, releaseRawExprNode(pCxt, yymsp[0].minor.yy110)); } - yymsp[-1].minor.yy718 = yylhsminor.yy718; +#line 7523 "sql.c" + yymsp[-1].minor.yy110 = yylhsminor.yy110; break; - case 496: /* expression ::= NK_MINUS expr_or_subquery */ + case 497: /* expression ::= NK_MINUS expr_or_subquery */ +#line 1047 "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.yy110); + yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, createOperatorNode(pCxt, OP_TYPE_MINUS, releaseRawExprNode(pCxt, yymsp[0].minor.yy110), NULL)); } - yymsp[-1].minor.yy718 = yylhsminor.yy718; +#line 7532 "sql.c" + yymsp[-1].minor.yy110 = yylhsminor.yy110; break; - case 497: /* expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ + case 498: /* expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ +#line 1051 "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.yy110); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); + yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_ADD, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7542 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; break; - case 498: /* expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ + case 499: /* expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ +#line 1056 "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.yy110); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); + yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_SUB, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7552 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; break; - case 499: /* expression ::= expr_or_subquery NK_STAR expr_or_subquery */ + case 500: /* expression ::= expr_or_subquery NK_STAR expr_or_subquery */ +#line 1061 "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.yy110); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); + yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_MULTI, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7562 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; break; - case 500: /* expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ + case 501: /* expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ +#line 1066 "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.yy110); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); + yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_DIV, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7572 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; break; - case 501: /* expression ::= expr_or_subquery NK_REM expr_or_subquery */ + case 502: /* expression ::= expr_or_subquery NK_REM expr_or_subquery */ +#line 1071 "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.yy110); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); + yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_REM, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7582 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; break; - case 502: /* expression ::= column_reference NK_ARROW NK_STRING */ + case 503: /* expression ::= column_reference NK_ARROW NK_STRING */ +#line 1076 "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.yy110); + yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_JSON_GET_VALUE, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0))); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7591 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; break; - case 503: /* expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ + case 504: /* expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ +#line 1080 "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.yy110); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); + yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7601 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; break; - case 504: /* expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ + case 505: /* expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ +#line 1085 "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.yy110); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); + yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7611 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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 508: /* column_reference ::= column_name */ +#line 1096 "sql.y" +{ yylhsminor.yy110 = createRawExprNode(pCxt, &yymsp[0].minor.yy863, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy863)); } +#line 7617 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; 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 509: /* column_reference ::= table_name NK_DOT column_name */ +#line 1097 "sql.y" +{ yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy863, &yymsp[0].minor.yy863, createColumnNode(pCxt, &yymsp[-2].minor.yy863, &yymsp[0].minor.yy863)); } +#line 7623 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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 510: /* column_reference ::= NK_ALIAS */ +#line 1098 "sql.y" +{ yylhsminor.yy110 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } +#line 7629 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; 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 511: /* column_reference ::= table_name NK_DOT NK_ALIAS */ +#line 1099 "sql.y" +{ yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy863, &yymsp[0].minor.yy0, createColumnNode(pCxt, &yymsp[-2].minor.yy863, &yymsp[0].minor.yy0)); } +#line 7635 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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 512: /* pseudo_column ::= ROWTS */ + case 513: /* pseudo_column ::= TBNAME */ yytestcase(yyruleno==513); + case 515: /* pseudo_column ::= QSTART */ yytestcase(yyruleno==515); + case 516: /* pseudo_column ::= QEND */ yytestcase(yyruleno==516); + case 517: /* pseudo_column ::= QDURATION */ yytestcase(yyruleno==517); + case 518: /* pseudo_column ::= WSTART */ yytestcase(yyruleno==518); + case 519: /* pseudo_column ::= WEND */ yytestcase(yyruleno==519); + case 520: /* pseudo_column ::= WDURATION */ yytestcase(yyruleno==520); + case 521: /* pseudo_column ::= IROWTS */ yytestcase(yyruleno==521); + case 522: /* pseudo_column ::= ISFILLED */ yytestcase(yyruleno==522); + case 523: /* pseudo_column ::= QTAGS */ yytestcase(yyruleno==523); + case 530: /* literal_func ::= NOW */ yytestcase(yyruleno==530); + case 531: /* literal_func ::= TODAY */ yytestcase(yyruleno==531); +#line 1101 "sql.y" +{ yylhsminor.yy110 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL)); } +#line 7653 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; 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 514: /* pseudo_column ::= table_name NK_DOT TBNAME */ +#line 1103 "sql.y" +{ yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy863, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[-2].minor.yy863)))); } +#line 7659 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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 524: /* function_expression ::= function_name NK_LP expression_list NK_RP */ + case 525: /* function_expression ::= star_func NK_LP star_func_para_list NK_RP */ yytestcase(yyruleno==525); +#line 1114 "sql.y" +{ yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy863, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-3].minor.yy863, yymsp[-1].minor.yy652)); } +#line 7666 "sql.c" + yymsp[-3].minor.yy110 = yylhsminor.yy110; 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 526: /* function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ + case 527: /* function_expression ::= CAST NK_LP expr_or_subquery AS type_name_binary NK_RP */ yytestcase(yyruleno==527); +#line 1117 "sql.y" +{ yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0, createCastFunctionNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy110), yymsp[-1].minor.yy34)); } +#line 7673 "sql.c" + yymsp[-5].minor.yy110 = yylhsminor.yy110; 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 529: /* literal_func ::= noarg_func NK_LP NK_RP */ +#line 1123 "sql.y" +{ yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy863, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-2].minor.yy863, NULL)); } +#line 7679 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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 545: /* star_func_para_list ::= NK_STAR */ +#line 1148 "sql.y" +{ yylhsminor.yy652 = createNodeList(pCxt, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } +#line 7685 "sql.c" + yymsp[0].minor.yy652 = yylhsminor.yy652; 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 550: /* star_func_para ::= table_name NK_DOT NK_STAR */ + case 618: /* select_item ::= table_name NK_DOT NK_STAR */ yytestcase(yyruleno==618); +#line 1157 "sql.y" +{ yylhsminor.yy110 = createColumnNode(pCxt, &yymsp[-2].minor.yy863, &yymsp[0].minor.yy0); } +#line 7692 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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 551: /* case_when_expression ::= CASE when_then_list case_when_else_opt END */ +#line 1160 "sql.y" +{ yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, NULL, yymsp[-2].minor.yy652, yymsp[-1].minor.yy110)); } +#line 7698 "sql.c" + yymsp[-3].minor.yy110 = yylhsminor.yy110; 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 552: /* case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ +#line 1162 "sql.y" +{ yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-4].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy110), yymsp[-2].minor.yy652, yymsp[-1].minor.yy110)); } +#line 7704 "sql.c" + yymsp[-4].minor.yy110 = yylhsminor.yy110; 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 555: /* when_then_expr ::= WHEN common_expression THEN common_expression */ +#line 1169 "sql.y" +{ yymsp[-3].minor.yy110 = createWhenThenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), releaseRawExprNode(pCxt, yymsp[0].minor.yy110)); } +#line 7710 "sql.c" break; - case 555: /* case_when_else_opt ::= ELSE common_expression */ -{ yymsp[-1].minor.yy718 = releaseRawExprNode(pCxt, yymsp[0].minor.yy718); } + case 557: /* case_when_else_opt ::= ELSE common_expression */ +#line 1172 "sql.y" +{ yymsp[-1].minor.yy110 = releaseRawExprNode(pCxt, yymsp[0].minor.yy110); } +#line 7715 "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 558: /* predicate ::= expr_or_subquery compare_op expr_or_subquery */ + case 563: /* predicate ::= expr_or_subquery in_op in_predicate_value */ yytestcase(yyruleno==563); +#line 1175 "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.yy110); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); + yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, yymsp[-1].minor.yy2, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7725 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; break; - case 557: /* predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ + case 559: /* predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ +#line 1182 "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.yy110); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); + yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &e, createBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-4].minor.yy110), releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); } - yymsp[-4].minor.yy718 = yylhsminor.yy718; +#line 7735 "sql.c" + yymsp[-4].minor.yy110 = yylhsminor.yy110; break; - case 558: /* predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ + case 560: /* predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ +#line 1188 "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.yy110); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); + yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &e, createNotBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy110), releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); } - yymsp[-5].minor.yy718 = yylhsminor.yy718; +#line 7745 "sql.c" + yymsp[-5].minor.yy110 = yylhsminor.yy110; break; - case 559: /* predicate ::= expr_or_subquery IS NULL */ + case 561: /* predicate ::= expr_or_subquery IS NULL */ +#line 1193 "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.yy110); + yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NULL, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), NULL)); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7754 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; break; - case 560: /* predicate ::= expr_or_subquery IS NOT NULL */ + case 562: /* predicate ::= expr_or_subquery IS NOT NULL */ +#line 1197 "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.yy110); + yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NOT_NULL, releaseRawExprNode(pCxt, yymsp[-3].minor.yy110), NULL)); } - yymsp[-3].minor.yy718 = yylhsminor.yy718; +#line 7763 "sql.c" + yymsp[-3].minor.yy110 = yylhsminor.yy110; break; - case 562: /* compare_op ::= NK_LT */ -{ yymsp[0].minor.yy810 = OP_TYPE_LOWER_THAN; } + case 564: /* compare_op ::= NK_LT */ +#line 1209 "sql.y" +{ yymsp[0].minor.yy2 = OP_TYPE_LOWER_THAN; } +#line 7769 "sql.c" break; - case 563: /* compare_op ::= NK_GT */ -{ yymsp[0].minor.yy810 = OP_TYPE_GREATER_THAN; } + case 565: /* compare_op ::= NK_GT */ +#line 1210 "sql.y" +{ yymsp[0].minor.yy2 = OP_TYPE_GREATER_THAN; } +#line 7774 "sql.c" break; - case 564: /* compare_op ::= NK_LE */ -{ yymsp[0].minor.yy810 = OP_TYPE_LOWER_EQUAL; } + case 566: /* compare_op ::= NK_LE */ +#line 1211 "sql.y" +{ yymsp[0].minor.yy2 = OP_TYPE_LOWER_EQUAL; } +#line 7779 "sql.c" break; - case 565: /* compare_op ::= NK_GE */ -{ yymsp[0].minor.yy810 = OP_TYPE_GREATER_EQUAL; } + case 567: /* compare_op ::= NK_GE */ +#line 1212 "sql.y" +{ yymsp[0].minor.yy2 = OP_TYPE_GREATER_EQUAL; } +#line 7784 "sql.c" break; - case 566: /* compare_op ::= NK_NE */ -{ yymsp[0].minor.yy810 = OP_TYPE_NOT_EQUAL; } + case 568: /* compare_op ::= NK_NE */ +#line 1213 "sql.y" +{ yymsp[0].minor.yy2 = OP_TYPE_NOT_EQUAL; } +#line 7789 "sql.c" break; - case 567: /* compare_op ::= NK_EQ */ -{ yymsp[0].minor.yy810 = OP_TYPE_EQUAL; } + case 569: /* compare_op ::= NK_EQ */ +#line 1214 "sql.y" +{ yymsp[0].minor.yy2 = OP_TYPE_EQUAL; } +#line 7794 "sql.c" break; - case 568: /* compare_op ::= LIKE */ -{ yymsp[0].minor.yy810 = OP_TYPE_LIKE; } + case 570: /* compare_op ::= LIKE */ +#line 1215 "sql.y" +{ yymsp[0].minor.yy2 = OP_TYPE_LIKE; } +#line 7799 "sql.c" break; - case 569: /* compare_op ::= NOT LIKE */ -{ yymsp[-1].minor.yy810 = OP_TYPE_NOT_LIKE; } + case 571: /* compare_op ::= NOT LIKE */ +#line 1216 "sql.y" +{ yymsp[-1].minor.yy2 = OP_TYPE_NOT_LIKE; } +#line 7804 "sql.c" break; - case 570: /* compare_op ::= MATCH */ -{ yymsp[0].minor.yy810 = OP_TYPE_MATCH; } + case 572: /* compare_op ::= MATCH */ +#line 1217 "sql.y" +{ yymsp[0].minor.yy2 = OP_TYPE_MATCH; } +#line 7809 "sql.c" break; - case 571: /* compare_op ::= NMATCH */ -{ yymsp[0].minor.yy810 = OP_TYPE_NMATCH; } + case 573: /* compare_op ::= NMATCH */ +#line 1218 "sql.y" +{ yymsp[0].minor.yy2 = OP_TYPE_NMATCH; } +#line 7814 "sql.c" break; - case 572: /* compare_op ::= CONTAINS */ -{ yymsp[0].minor.yy810 = OP_TYPE_JSON_CONTAINS; } + case 574: /* compare_op ::= CONTAINS */ +#line 1219 "sql.y" +{ yymsp[0].minor.yy2 = OP_TYPE_JSON_CONTAINS; } +#line 7819 "sql.c" break; - case 573: /* in_op ::= IN */ -{ yymsp[0].minor.yy810 = OP_TYPE_IN; } + case 575: /* in_op ::= IN */ +#line 1223 "sql.y" +{ yymsp[0].minor.yy2 = OP_TYPE_IN; } +#line 7824 "sql.c" break; - case 574: /* in_op ::= NOT IN */ -{ yymsp[-1].minor.yy810 = OP_TYPE_NOT_IN; } + case 576: /* in_op ::= NOT IN */ +#line 1224 "sql.y" +{ yymsp[-1].minor.yy2 = OP_TYPE_NOT_IN; } +#line 7829 "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 577: /* in_predicate_value ::= NK_LP literal_list NK_RP */ +#line 1226 "sql.y" +{ yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, createNodeListNode(pCxt, yymsp[-1].minor.yy652)); } +#line 7834 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; break; - case 577: /* boolean_value_expression ::= NOT boolean_primary */ + case 579: /* boolean_value_expression ::= NOT boolean_primary */ +#line 1230 "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.yy110); + yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_NOT, releaseRawExprNode(pCxt, yymsp[0].minor.yy110), NULL)); } - yymsp[-1].minor.yy718 = yylhsminor.yy718; +#line 7843 "sql.c" + yymsp[-1].minor.yy110 = yylhsminor.yy110; break; - case 578: /* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ + case 580: /* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ +#line 1235 "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.yy110); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); + yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7853 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; break; - case 579: /* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ + case 581: /* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ +#line 1241 "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.yy110); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); + yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); } - yymsp[-2].minor.yy718 = yylhsminor.yy718; +#line 7863 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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 589: /* table_reference_list ::= table_reference_list NK_COMMA table_reference */ +#line 1259 "sql.y" +{ yylhsminor.yy110 = createJoinTableNode(pCxt, JOIN_TYPE_INNER, yymsp[-2].minor.yy110, yymsp[0].minor.yy110, NULL); } +#line 7869 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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 592: /* table_primary ::= table_name alias_opt */ +#line 1265 "sql.y" +{ yylhsminor.yy110 = createRealTableNode(pCxt, NULL, &yymsp[-1].minor.yy863, &yymsp[0].minor.yy863); } +#line 7875 "sql.c" + yymsp[-1].minor.yy110 = yylhsminor.yy110; 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 593: /* table_primary ::= db_name NK_DOT table_name alias_opt */ +#line 1266 "sql.y" +{ yylhsminor.yy110 = createRealTableNode(pCxt, &yymsp[-3].minor.yy863, &yymsp[-1].minor.yy863, &yymsp[0].minor.yy863); } +#line 7881 "sql.c" + yymsp[-3].minor.yy110 = yylhsminor.yy110; 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 594: /* table_primary ::= subquery alias_opt */ +#line 1267 "sql.y" +{ yylhsminor.yy110 = createTempTableNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy110), &yymsp[0].minor.yy863); } +#line 7887 "sql.c" + yymsp[-1].minor.yy110 = yylhsminor.yy110; break; - case 594: /* alias_opt ::= */ -{ yymsp[1].minor.yy965 = nil_token; } + case 596: /* alias_opt ::= */ +#line 1272 "sql.y" +{ yymsp[1].minor.yy863 = nil_token; } +#line 7893 "sql.c" break; - case 596: /* alias_opt ::= AS table_alias */ -{ yymsp[-1].minor.yy965 = yymsp[0].minor.yy965; } + case 598: /* alias_opt ::= AS table_alias */ +#line 1274 "sql.y" +{ yymsp[-1].minor.yy863 = yymsp[0].minor.yy863; } +#line 7898 "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 599: /* parenthesized_joined_table ::= NK_LP joined_table NK_RP */ + case 600: /* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ yytestcase(yyruleno==600); +#line 1276 "sql.y" +{ yymsp[-2].minor.yy110 = yymsp[-1].minor.yy110; } +#line 7904 "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 601: /* joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ +#line 1281 "sql.y" +{ yylhsminor.yy110 = createJoinTableNode(pCxt, yymsp[-4].minor.yy684, yymsp[-5].minor.yy110, yymsp[-2].minor.yy110, yymsp[0].minor.yy110); } +#line 7909 "sql.c" + yymsp[-5].minor.yy110 = yylhsminor.yy110; break; - case 600: /* join_type ::= */ -{ yymsp[1].minor.yy992 = JOIN_TYPE_INNER; } + case 602: /* join_type ::= */ +#line 1285 "sql.y" +{ yymsp[1].minor.yy684 = JOIN_TYPE_INNER; } +#line 7915 "sql.c" break; - case 601: /* join_type ::= INNER */ -{ yymsp[0].minor.yy992 = JOIN_TYPE_INNER; } + case 603: /* join_type ::= INNER */ +#line 1286 "sql.y" +{ yymsp[0].minor.yy684 = JOIN_TYPE_INNER; } +#line 7920 "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 604: /* 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 1292 "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.yy110 = createSelectStmt(pCxt, yymsp[-11].minor.yy1019, yymsp[-9].minor.yy652, yymsp[-8].minor.yy110, yymsp[-12].minor.yy652); + yymsp[-13].minor.yy110 = setSelectStmtTagMode(pCxt, yymsp[-13].minor.yy110, yymsp[-10].minor.yy1019); + yymsp[-13].minor.yy110 = addWhereClause(pCxt, yymsp[-13].minor.yy110, yymsp[-7].minor.yy110); + yymsp[-13].minor.yy110 = addPartitionByClause(pCxt, yymsp[-13].minor.yy110, yymsp[-6].minor.yy652); + yymsp[-13].minor.yy110 = addWindowClauseClause(pCxt, yymsp[-13].minor.yy110, yymsp[-2].minor.yy110); + yymsp[-13].minor.yy110 = addGroupByClause(pCxt, yymsp[-13].minor.yy110, yymsp[-1].minor.yy652); + yymsp[-13].minor.yy110 = addHavingClause(pCxt, yymsp[-13].minor.yy110, yymsp[0].minor.yy110); + yymsp[-13].minor.yy110 = addRangeClause(pCxt, yymsp[-13].minor.yy110, yymsp[-5].minor.yy110); + yymsp[-13].minor.yy110 = addEveryClause(pCxt, yymsp[-13].minor.yy110, yymsp[-4].minor.yy110); + yymsp[-13].minor.yy110 = addFillClause(pCxt, yymsp[-13].minor.yy110, yymsp[-3].minor.yy110); } +#line 7936 "sql.c" break; - case 603: /* hint_list ::= */ -{ yymsp[1].minor.yy552 = createHintNodeList(pCxt, NULL); } + case 605: /* hint_list ::= */ +#line 1307 "sql.y" +{ yymsp[1].minor.yy652 = createHintNodeList(pCxt, NULL); } +#line 7941 "sql.c" break; - case 604: /* hint_list ::= NK_HINT */ -{ yylhsminor.yy552 = createHintNodeList(pCxt, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy552 = yylhsminor.yy552; + case 606: /* hint_list ::= NK_HINT */ +#line 1308 "sql.y" +{ yylhsminor.yy652 = createHintNodeList(pCxt, &yymsp[0].minor.yy0); } +#line 7946 "sql.c" + yymsp[0].minor.yy652 = yylhsminor.yy652; break; - case 609: /* set_quantifier_opt ::= ALL */ -{ yymsp[0].minor.yy559 = false; } + case 611: /* set_quantifier_opt ::= ALL */ +#line 1319 "sql.y" +{ yymsp[0].minor.yy1019 = false; } +#line 7952 "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 614: /* select_item ::= NK_STAR */ +#line 1326 "sql.y" +{ yylhsminor.yy110 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0); } +#line 7957 "sql.c" + yymsp[0].minor.yy110 = yylhsminor.yy110; 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 616: /* select_item ::= common_expression column_alias */ + case 626: /* partition_item ::= expr_or_subquery column_alias */ yytestcase(yyruleno==626); +#line 1328 "sql.y" +{ yylhsminor.yy110 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy110), &yymsp[0].minor.yy863); } +#line 7964 "sql.c" + yymsp[-1].minor.yy110 = yylhsminor.yy110; 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 617: /* select_item ::= common_expression AS column_alias */ + case 627: /* partition_item ::= expr_or_subquery AS column_alias */ yytestcase(yyruleno==627); +#line 1329 "sql.y" +{ yylhsminor.yy110 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), &yymsp[0].minor.yy863); } +#line 7971 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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 622: /* partition_by_clause_opt ::= PARTITION BY partition_list */ + case 652: /* group_by_clause_opt ::= GROUP BY group_by_list */ yytestcase(yyruleno==652); + case 672: /* order_by_clause_opt ::= ORDER BY sort_specification_list */ yytestcase(yyruleno==672); +#line 1338 "sql.y" +{ yymsp[-2].minor.yy652 = yymsp[0].minor.yy652; } +#line 7979 "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 629: /* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ +#line 1351 "sql.y" +{ yymsp[-5].minor.yy110 = createSessionWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy110), releaseRawExprNode(pCxt, yymsp[-1].minor.yy110)); } +#line 7984 "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 630: /* twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ +#line 1352 "sql.y" +{ yymsp[-3].minor.yy110 = createStateWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy110)); } +#line 7989 "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 631: /* twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ +#line 1354 "sql.y" +{ yymsp[-5].minor.yy110 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy110), NULL, yymsp[-1].minor.yy110, yymsp[0].minor.yy110); } +#line 7994 "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 632: /* twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ +#line 1358 "sql.y" +{ yymsp[-7].minor.yy110 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy110), releaseRawExprNode(pCxt, yymsp[-3].minor.yy110), yymsp[-1].minor.yy110, yymsp[0].minor.yy110); } +#line 7999 "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 633: /* twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ +#line 1360 "sql.y" +{ yymsp[-6].minor.yy110 = createEventWindowNode(pCxt, yymsp[-3].minor.yy110, yymsp[0].minor.yy110); } +#line 8004 "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 634: /* twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ +#line 1362 "sql.y" +{ yymsp[-3].minor.yy110 = createCountWindowNode(pCxt, &yymsp[-1].minor.yy0, &yymsp[-1].minor.yy0); } +#line 8009 "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 635: /* twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ +#line 1364 "sql.y" +{ yymsp[-5].minor.yy110 = createCountWindowNode(pCxt, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy0); } +#line 8014 "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 642: /* fill_opt ::= FILL NK_LP fill_mode NK_RP */ +#line 1374 "sql.y" +{ yymsp[-3].minor.yy110 = createFillNode(pCxt, yymsp[-1].minor.yy534, NULL); } +#line 8019 "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 643: /* fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ +#line 1375 "sql.y" +{ yymsp[-5].minor.yy110 = createFillNode(pCxt, FILL_MODE_VALUE, createNodeListNode(pCxt, yymsp[-1].minor.yy652)); } +#line 8024 "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 644: /* fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ +#line 1376 "sql.y" +{ yymsp[-5].minor.yy110 = createFillNode(pCxt, FILL_MODE_VALUE_F, createNodeListNode(pCxt, yymsp[-1].minor.yy652)); } +#line 8029 "sql.c" break; - case 643: /* fill_mode ::= NONE */ -{ yymsp[0].minor.yy206 = FILL_MODE_NONE; } + case 645: /* fill_mode ::= NONE */ +#line 1380 "sql.y" +{ yymsp[0].minor.yy534 = FILL_MODE_NONE; } +#line 8034 "sql.c" break; - case 644: /* fill_mode ::= PREV */ -{ yymsp[0].minor.yy206 = FILL_MODE_PREV; } + case 646: /* fill_mode ::= PREV */ +#line 1381 "sql.y" +{ yymsp[0].minor.yy534 = FILL_MODE_PREV; } +#line 8039 "sql.c" break; - case 645: /* fill_mode ::= NULL */ -{ yymsp[0].minor.yy206 = FILL_MODE_NULL; } + case 647: /* fill_mode ::= NULL */ +#line 1382 "sql.y" +{ yymsp[0].minor.yy534 = FILL_MODE_NULL; } +#line 8044 "sql.c" break; - case 646: /* fill_mode ::= NULL_F */ -{ yymsp[0].minor.yy206 = FILL_MODE_NULL_F; } + case 648: /* fill_mode ::= NULL_F */ +#line 1383 "sql.y" +{ yymsp[0].minor.yy534 = FILL_MODE_NULL_F; } +#line 8049 "sql.c" break; - case 647: /* fill_mode ::= LINEAR */ -{ yymsp[0].minor.yy206 = FILL_MODE_LINEAR; } + case 649: /* fill_mode ::= LINEAR */ +#line 1384 "sql.y" +{ yymsp[0].minor.yy534 = FILL_MODE_LINEAR; } +#line 8054 "sql.c" break; - case 648: /* fill_mode ::= NEXT */ -{ yymsp[0].minor.yy206 = FILL_MODE_NEXT; } + case 650: /* fill_mode ::= NEXT */ +#line 1385 "sql.y" +{ yymsp[0].minor.yy534 = FILL_MODE_NEXT; } +#line 8059 "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 653: /* group_by_list ::= expr_or_subquery */ +#line 1394 "sql.y" +{ yylhsminor.yy652 = createNodeList(pCxt, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); } +#line 8064 "sql.c" + yymsp[0].minor.yy652 = yylhsminor.yy652; 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 654: /* group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ +#line 1395 "sql.y" +{ yylhsminor.yy652 = addNodeToList(pCxt, yymsp[-2].minor.yy652, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); } +#line 8070 "sql.c" + yymsp[-2].minor.yy652 = yylhsminor.yy652; 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 658: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ +#line 1402 "sql.y" +{ yymsp[-5].minor.yy110 = createInterpTimeRange(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy110), releaseRawExprNode(pCxt, yymsp[-1].minor.yy110)); } +#line 8076 "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 659: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ +#line 1404 "sql.y" +{ yymsp[-3].minor.yy110 = createInterpTimePoint(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy110)); } +#line 8081 "sql.c" break; - case 660: /* query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + case 662: /* query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ +#line 1411 "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.yy110 = addOrderByClause(pCxt, yymsp[-3].minor.yy110, yymsp[-2].minor.yy652); + yylhsminor.yy110 = addSlimitClause(pCxt, yylhsminor.yy110, yymsp[-1].minor.yy110); + yylhsminor.yy110 = addLimitClause(pCxt, yylhsminor.yy110, yymsp[0].minor.yy110); } - yymsp[-3].minor.yy718 = yylhsminor.yy718; +#line 8090 "sql.c" + yymsp[-3].minor.yy110 = yylhsminor.yy110; 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 665: /* union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ +#line 1421 "sql.y" +{ yylhsminor.yy110 = createSetOperator(pCxt, SET_OP_TYPE_UNION_ALL, yymsp[-3].minor.yy110, yymsp[0].minor.yy110); } +#line 8096 "sql.c" + yymsp[-3].minor.yy110 = yylhsminor.yy110; 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 666: /* union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ +#line 1423 "sql.y" +{ yylhsminor.yy110 = createSetOperator(pCxt, SET_OP_TYPE_UNION, yymsp[-2].minor.yy110, yymsp[0].minor.yy110); } +#line 8102 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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 674: /* slimit_clause_opt ::= SLIMIT NK_INTEGER */ + case 678: /* limit_clause_opt ::= LIMIT NK_INTEGER */ yytestcase(yyruleno==678); +#line 1437 "sql.y" +{ yymsp[-1].minor.yy110 = createLimitNode(pCxt, &yymsp[0].minor.yy0, NULL); } +#line 8109 "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 675: /* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + case 679: /* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ yytestcase(yyruleno==679); +#line 1438 "sql.y" +{ yymsp[-3].minor.yy110 = createLimitNode(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } +#line 8115 "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 676: /* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + case 680: /* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ yytestcase(yyruleno==680); +#line 1439 "sql.y" +{ yymsp[-3].minor.yy110 = createLimitNode(pCxt, &yymsp[0].minor.yy0, &yymsp[-2].minor.yy0); } +#line 8121 "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 681: /* subquery ::= NK_LP query_expression NK_RP */ +#line 1447 "sql.y" +{ yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-1].minor.yy110); } +#line 8126 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; 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 686: /* sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ +#line 1461 "sql.y" +{ yylhsminor.yy110 = createOrderByExprNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), yymsp[-1].minor.yy596, yymsp[0].minor.yy991); } +#line 8132 "sql.c" + yymsp[-2].minor.yy110 = yylhsminor.yy110; break; - case 685: /* ordering_specification_opt ::= */ -{ yymsp[1].minor.yy576 = ORDER_ASC; } + case 687: /* ordering_specification_opt ::= */ +#line 1465 "sql.y" +{ yymsp[1].minor.yy596 = ORDER_ASC; } +#line 8138 "sql.c" break; - case 686: /* ordering_specification_opt ::= ASC */ -{ yymsp[0].minor.yy576 = ORDER_ASC; } + case 688: /* ordering_specification_opt ::= ASC */ +#line 1466 "sql.y" +{ yymsp[0].minor.yy596 = ORDER_ASC; } +#line 8143 "sql.c" break; - case 687: /* ordering_specification_opt ::= DESC */ -{ yymsp[0].minor.yy576 = ORDER_DESC; } + case 689: /* ordering_specification_opt ::= DESC */ +#line 1467 "sql.y" +{ yymsp[0].minor.yy596 = ORDER_DESC; } +#line 8148 "sql.c" break; - case 688: /* null_ordering_opt ::= */ -{ yymsp[1].minor.yy345 = NULL_ORDER_DEFAULT; } + case 690: /* null_ordering_opt ::= */ +#line 1471 "sql.y" +{ yymsp[1].minor.yy991 = NULL_ORDER_DEFAULT; } +#line 8153 "sql.c" break; - case 689: /* null_ordering_opt ::= NULLS FIRST */ -{ yymsp[-1].minor.yy345 = NULL_ORDER_FIRST; } + case 691: /* null_ordering_opt ::= NULLS FIRST */ +#line 1472 "sql.y" +{ yymsp[-1].minor.yy991 = NULL_ORDER_FIRST; } +#line 8158 "sql.c" break; - case 690: /* null_ordering_opt ::= NULLS LAST */ -{ yymsp[-1].minor.yy345 = NULL_ORDER_LAST; } + case 692: /* null_ordering_opt ::= NULLS LAST */ +#line 1473 "sql.y" +{ yymsp[-1].minor.yy991 = NULL_ORDER_LAST; } +#line 8163 "sql.c" break; default: break; @@ -6884,6 +8222,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 +8233,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 8236 "sql.c" /************ End %syntax_error code ******************************************/ ParseARG_STORE /* Suppress warning about unused %extra_argument variable */ ParseCTX_STORE @@ -6979,12 +8319,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 +8424,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 +8480,7 @@ void Parse( break; #endif } - }while( yypParser->yytos>yypParser->yystack ); + } #ifndef NDEBUG if( yyTraceFILE ){ yyStackEntry *i; diff --git a/tests/system-test/2-query/cast.py b/tests/system-test/2-query/cast.py index ede1f28324..1dddbf66c4 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}' ) @@ -580,6 +611,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") From 29583e20b8d3d2b1efb7cc70e1fb1980ddcd575f Mon Sep 17 00:00:00 2001 From: factosea <285808407@qq.com> Date: Tue, 9 Apr 2024 18:03:56 +0800 Subject: [PATCH 16/20] fix: sql --- source/libs/parser/inc/sql.y | 2 +- source/libs/parser/src/sql.c | 4852 +++++++++++++++++----------------- 2 files changed, 2402 insertions(+), 2452 deletions(-) diff --git a/source/libs/parser/inc/sql.y b/source/libs/parser/inc/sql.y index 13181a5399..9fdaf50e3f 100755 --- a/source/libs/parser/inc/sql.y +++ b/source/libs/parser/inc/sql.y @@ -416,7 +416,7 @@ type_name(A) ::= DECIMAL NK_LP NK_INTEGER NK_RP. type_name(A) ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP. { A = createDataType(TSDB_DATA_TYPE_DECIMAL); } %type type_name_binary { SDataType } -%destructor type_name_bin { } +%destructor type_name_binary { } type_name_binary(A) ::= BINARY. { A = createVarLenDataType(TSDB_DATA_TYPE_BINARY, NULL); } %type tags_def_opt { SNodeList* } diff --git a/source/libs/parser/src/sql.c b/source/libs/parser/src/sql.c index 89d4913852..f42e3af5e2 100644 --- a/source/libs/parser/src/sql.c +++ b/source/libs/parser/src/sql.c @@ -459,29 +459,29 @@ #endif /************* Begin control #defines *****************************************/ #define YYCODETYPE unsigned short int -#define YYNOCODE 519 +#define YYNOCODE 518 #define YYACTIONTYPE unsigned short int #define ParseTOKENTYPE SToken typedef union { int yyinit; ParseTOKENTYPE yy0; - EOperatorType yy2; - SDataType yy34; - int64_t yy57; - SShowTablesOption yy61; - SNode* yy110; - int8_t yy203; - EShowKind yy291; - int32_t yy376; - SAlterOption yy491; - EFillMode yy534; - EOrder yy596; - SNodeList* yy652; - EJoinType yy684; - STokenPair yy825; - SToken yy863; - ENullOrder yy991; - bool yy1019; + 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 @@ -575,680 +575,659 @@ typedef union { ** yy_default[] Default action for each state. ** *********** Begin parsing tables **********************************************/ -#define YY_ACTTAB_COUNT (3349) +#define YY_ACTTAB_COUNT (3138) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 458, 769, 504, 443, 2202, 2471, 2200, 503, 170, 768, - /* 10 */ 511, 172, 47, 45, 1939, 425, 2213, 33, 458, 2213, - /* 20 */ 439, 735, 1778, 40, 39, 2263, 172, 46, 44, 43, - /* 30 */ 42, 41, 35, 96, 2213, 1865, 2107, 1776, 40, 39, - /* 40 */ 1472, 2511, 46, 44, 43, 42, 41, 1803, 2351, 2529, - /* 50 */ 412, 753, 148, 712, 756, 792, 2684, 571, 569, 2206, - /* 60 */ 390, 445, 445, 442, 218, 1860, 2348, 780, 792, 2265, - /* 70 */ 66, 19, 797, 797, 2690, 204, 408, 696, 1784, 2685, - /* 80 */ 742, 1474, 2529, 40, 39, 2044, 2263, 46, 44, 43, - /* 90 */ 42, 41, 753, 148, 2470, 609, 2477, 456, 775, 604, - /* 100 */ 695, 606, 605, 2064, 888, 792, 843, 15, 736, 863, - /* 110 */ 862, 861, 860, 467, 734, 859, 858, 153, 853, 852, + /* 0 */ 239, 198, 2470, 504, 607, 456, 2072, 2200, 503, 2300, + /* 10 */ 458, 769, 47, 45, 1939, 511, 2421, 33, 170, 768, + /* 20 */ 439, 792, 1778, 40, 39, 425, 2213, 46, 44, 43, + /* 30 */ 42, 41, 2351, 35, 2263, 1865, 2107, 1776, 748, 40, + /* 40 */ 39, 2351, 2511, 46, 44, 43, 42, 41, 37, 310, + /* 50 */ 2349, 780, 753, 148, 712, 756, 442, 2684, 445, 2348, + /* 60 */ 780, 571, 569, 741, 390, 1860, 2684, 477, 218, 797, + /* 70 */ 2265, 19, 464, 463, 2618, 2690, 204, 408, 1784, 2689, + /* 80 */ 2685, 742, 2684, 2529, 740, 204, 2263, 40, 39, 2685, + /* 90 */ 742, 46, 44, 43, 42, 41, 2477, 1785, 775, 604, + /* 100 */ 2615, 2688, 605, 2064, 888, 2685, 2687, 15, 50, 863, + /* 110 */ 862, 861, 860, 467, 565, 859, 858, 153, 853, 852, /* 120 */ 851, 850, 849, 848, 847, 152, 841, 840, 839, 466, - /* 130 */ 465, 836, 835, 834, 184, 183, 833, 620, 2510, 1804, - /* 140 */ 2477, 2549, 50, 1867, 1868, 115, 2512, 779, 2514, 2515, - /* 150 */ 774, 445, 797, 1803, 614, 2390, 62, 187, 741, 2603, - /* 160 */ 461, 2684, 797, 435, 2599, 302, 2611, 752, 172, 140, - /* 170 */ 751, 845, 2684, 62, 793, 2211, 2213, 693, 206, 740, - /* 180 */ 204, 1838, 1848, 1983, 2685, 742, 2633, 1806, 1866, 1869, - /* 190 */ 740, 204, 50, 624, 139, 2685, 742, 2021, 2689, 416, - /* 200 */ 415, 647, 175, 1779, 2033, 1777, 203, 2611, 2612, 832, - /* 210 */ 146, 2616, 40, 39, 1784, 1806, 46, 44, 43, 42, + /* 130 */ 465, 836, 835, 834, 184, 183, 833, 2202, 2510, 1804, + /* 140 */ 2044, 2549, 601, 1867, 1868, 115, 2512, 779, 2514, 2515, + /* 150 */ 774, 599, 797, 792, 595, 591, 241, 187, 741, 2603, + /* 160 */ 607, 2684, 2072, 435, 2599, 302, 2611, 752, 736, 140, + /* 170 */ 751, 547, 2684, 753, 148, 546, 229, 1803, 206, 740, + /* 180 */ 204, 1838, 1848, 545, 2685, 742, 2633, 1983, 1866, 1869, + /* 190 */ 740, 204, 684, 445, 2477, 2685, 742, 2021, 731, 416, + /* 200 */ 415, 564, 228, 1779, 797, 1777, 792, 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 */ 830, 163, 162, 827, 826, 825, 160, 1782, 1783, 1835, - /* 240 */ 62, 1837, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, + /* 240 */ 50, 1837, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, /* 250 */ 771, 795, 794, 1859, 1861, 1862, 1863, 1864, 2, 47, - /* 260 */ 45, 2351, 1657, 1658, 388, 2511, 1801, 439, 2043, 1778, - /* 270 */ 2265, 414, 413, 554, 649, 400, 574, 488, 776, 2349, - /* 280 */ 780, 573, 1865, 100, 1776, 40, 39, 760, 1943, 46, - /* 290 */ 44, 43, 42, 41, 1803, 2487, 651, 534, 612, 575, - /* 300 */ 650, 605, 2064, 2007, 389, 536, 2529, 1656, 1659, 2042, - /* 310 */ 29, 684, 1860, 451, 1685, 514, 1803, 1529, 19, 1894, - /* 320 */ 2477, 2491, 775, 2477, 306, 1784, 682, 1835, 680, 271, - /* 330 */ 270, 1520, 822, 821, 820, 1524, 819, 1526, 1527, 770, - /* 340 */ 815, 306, 1535, 812, 1537, 1538, 809, 806, 803, 2487, - /* 350 */ 304, 888, 411, 174, 15, 46, 44, 43, 42, 41, - /* 360 */ 306, 2150, 2510, 522, 2477, 2549, 2493, 2495, 436, 115, - /* 370 */ 2512, 779, 2514, 2515, 774, 2491, 797, 797, 304, 150, - /* 380 */ 621, 157, 2574, 2603, 1895, 1984, 2188, 435, 2599, 1875, - /* 390 */ 1867, 1868, 2399, 2338, 2317, 1803, 562, 561, 560, 559, - /* 400 */ 558, 553, 552, 551, 550, 394, 492, 1972, 306, 540, + /* 260 */ 45, 2265, 1657, 1658, 388, 1788, 1801, 439, 424, 1778, + /* 270 */ 2511, 414, 413, 554, 649, 400, 574, 2263, 1803, 1365, + /* 280 */ 1896, 573, 1865, 773, 1776, 755, 202, 2611, 2612, 2487, + /* 290 */ 146, 2616, 737, 732, 725, 721, 651, 534, 1372, 575, + /* 300 */ 650, 2471, 174, 113, 389, 536, 749, 1656, 1659, 224, + /* 310 */ 2150, 2529, 1860, 846, 2491, 514, 2172, 1529, 19, 1894, + /* 320 */ 151, 1367, 1370, 1371, 2477, 1784, 775, 100, 2203, 793, + /* 330 */ 2211, 1520, 822, 821, 820, 1524, 819, 1526, 1527, 770, + /* 340 */ 815, 2188, 1535, 812, 1537, 1538, 809, 806, 803, 139, + /* 350 */ 91, 888, 411, 90, 15, 696, 647, 445, 1685, 2493, + /* 360 */ 2495, 436, 34, 522, 624, 62, 2510, 1803, 797, 2549, + /* 370 */ 797, 1778, 1901, 380, 2512, 779, 2514, 2515, 774, 772, + /* 380 */ 797, 761, 2568, 306, 1895, 2186, 1776, 1835, 1804, 1943, + /* 390 */ 1867, 1868, 695, 2338, 2317, 1803, 562, 561, 560, 559, + /* 400 */ 558, 553, 552, 551, 550, 394, 793, 2211, 306, 540, /* 410 */ 539, 538, 537, 531, 530, 529, 2022, 524, 523, 409, - /* 420 */ 2493, 2496, 651, 515, 1625, 1626, 650, 185, 1838, 1848, - /* 430 */ 1644, 797, 696, 494, 490, 1866, 1869, 129, 622, 2344, - /* 440 */ 128, 127, 126, 125, 124, 123, 122, 121, 120, 276, - /* 450 */ 1779, 410, 1777, 2331, 823, 1839, 565, 728, 727, 1970, - /* 460 */ 1971, 1973, 1974, 1975, 37, 310, 36, 437, 1889, 1890, - /* 470 */ 1891, 1892, 1893, 1897, 1898, 1899, 1900, 1637, 1638, 753, - /* 480 */ 148, 1747, 314, 315, 1782, 1783, 1835, 313, 1837, 1840, + /* 420 */ 89, 735, 843, 515, 1625, 1626, 139, 1784, 1838, 1848, + /* 430 */ 1644, 614, 2390, 652, 1807, 1866, 1869, 129, 1806, 2487, + /* 440 */ 128, 127, 126, 125, 124, 123, 122, 121, 120, 2529, + /* 450 */ 1779, 129, 1777, 888, 128, 127, 126, 125, 124, 123, + /* 460 */ 122, 121, 120, 175, 2491, 2033, 36, 437, 1889, 1890, + /* 470 */ 1891, 1892, 1893, 1897, 1898, 1899, 1900, 830, 163, 162, + /* 480 */ 827, 826, 825, 160, 1782, 1783, 1835, 845, 1837, 1840, /* 490 */ 1841, 1842, 1843, 1844, 1845, 1846, 1847, 771, 795, 794, - /* 500 */ 1859, 1861, 1862, 1863, 1864, 2, 12, 47, 45, 698, - /* 510 */ 2390, 450, 449, 1836, 173, 439, 161, 1778, 229, 364, - /* 520 */ 12, 694, 830, 163, 162, 827, 826, 825, 160, 239, - /* 530 */ 1865, 741, 1776, 607, 2684, 2072, 362, 75, 748, 891, - /* 540 */ 74, 40, 39, 564, 228, 46, 44, 43, 42, 41, - /* 550 */ 391, 349, 740, 204, 51, 351, 1839, 2685, 742, 12, - /* 560 */ 1860, 10, 237, 586, 584, 581, 19, 793, 2211, 2265, - /* 570 */ 197, 194, 2110, 1784, 2689, 460, 424, 2684, 2258, 2260, - /* 580 */ 879, 875, 871, 867, 2252, 348, 2263, 209, 753, 148, - /* 590 */ 1529, 54, 755, 202, 2611, 2612, 2688, 146, 2616, 888, - /* 600 */ 2685, 2687, 15, 62, 1520, 822, 821, 820, 1524, 819, + /* 500 */ 1859, 1861, 1862, 1863, 1864, 2, 12, 47, 45, 2493, + /* 510 */ 2496, 1565, 1566, 734, 173, 439, 2043, 1778, 1472, 364, + /* 520 */ 797, 830, 163, 162, 827, 826, 825, 160, 1637, 1638, + /* 530 */ 1865, 612, 1776, 306, 605, 2064, 362, 75, 314, 315, + /* 540 */ 74, 40, 39, 313, 2511, 46, 44, 43, 42, 41, + /* 550 */ 391, 2689, 1779, 2265, 1777, 1875, 1839, 776, 488, 1474, + /* 560 */ 1860, 1803, 237, 586, 584, 581, 19, 62, 1806, 760, + /* 570 */ 2477, 197, 1972, 1784, 40, 39, 2259, 2260, 46, 44, + /* 580 */ 43, 42, 41, 66, 2252, 2529, 1782, 1783, 40, 39, + /* 590 */ 1529, 620, 46, 44, 43, 42, 41, 195, 2477, 888, + /* 600 */ 775, 304, 15, 62, 1520, 822, 821, 820, 1524, 819, /* 610 */ 1526, 1527, 818, 815, 1836, 1535, 812, 1537, 1538, 809, - /* 620 */ 806, 803, 2689, 793, 2211, 2684, 114, 40, 39, 321, - /* 630 */ 2196, 46, 44, 43, 42, 41, 1365, 2198, 1867, 1868, - /* 640 */ 1391, 63, 1390, 139, 2688, 666, 665, 664, 2685, 2686, - /* 650 */ 652, 172, 656, 145, 660, 1372, 241, 144, 659, 2214, - /* 660 */ 607, 789, 2072, 658, 663, 418, 417, 520, 2327, 657, - /* 670 */ 526, 2327, 653, 556, 2327, 1392, 1838, 1848, 1367, 1370, - /* 680 */ 1371, 40, 39, 1866, 1869, 46, 44, 43, 42, 41, - /* 690 */ 454, 85, 84, 507, 2259, 2260, 217, 198, 1779, 2618, - /* 700 */ 1777, 1804, 205, 2611, 2612, 309, 146, 2616, 846, 499, - /* 710 */ 497, 2172, 308, 762, 62, 2575, 117, 2019, 220, 224, - /* 720 */ 387, 222, 306, 486, 227, 2615, 483, 479, 475, 472, - /* 730 */ 500, 279, 1782, 1783, 1835, 2194, 1837, 1840, 1841, 1842, + /* 620 */ 806, 803, 728, 727, 1970, 1971, 1973, 1974, 1975, 40, + /* 630 */ 39, 2019, 621, 46, 44, 43, 42, 41, 1867, 1868, + /* 640 */ 2510, 63, 257, 2549, 51, 520, 2327, 115, 2512, 779, + /* 650 */ 2514, 2515, 774, 1808, 797, 443, 2007, 150, 180, 157, + /* 660 */ 2574, 2603, 502, 172, 501, 435, 2599, 641, 637, 633, + /* 670 */ 629, 2213, 256, 3, 40, 39, 1838, 1848, 46, 44, + /* 680 */ 43, 42, 41, 1866, 1869, 53, 62, 492, 1955, 622, + /* 690 */ 2344, 85, 84, 507, 500, 220, 217, 832, 1779, 29, + /* 700 */ 1777, 46, 44, 43, 42, 41, 1394, 1395, 451, 499, + /* 710 */ 497, 2042, 470, 97, 494, 490, 254, 469, 643, 642, + /* 720 */ 387, 460, 1839, 486, 2258, 2260, 483, 479, 475, 472, + /* 730 */ 500, 304, 1782, 1783, 1835, 306, 1837, 1840, 1841, 1842, /* 740 */ 1843, 1844, 1845, 1846, 1847, 771, 795, 794, 1859, 1861, - /* 750 */ 1862, 1863, 1864, 2, 47, 45, 1870, 2511, 1394, 1395, - /* 760 */ 91, 1778, 439, 90, 1778, 666, 665, 664, 793, 2211, - /* 770 */ 756, 306, 656, 145, 660, 1964, 1776, 1865, 659, 1776, - /* 780 */ 113, 1955, 601, 658, 663, 418, 417, 2511, 55, 657, - /* 790 */ 1965, 599, 653, 2265, 595, 591, 2265, 151, 2529, 470, - /* 800 */ 776, 2265, 2074, 434, 469, 2203, 749, 1860, 444, 502, - /* 810 */ 788, 501, 2477, 2263, 775, 2041, 711, 1784, 2263, 2040, - /* 820 */ 1784, 1803, 464, 463, 1565, 1566, 2039, 1372, 2529, 129, - /* 830 */ 89, 1963, 128, 127, 126, 125, 124, 123, 122, 121, - /* 840 */ 120, 500, 2477, 888, 775, 1484, 888, 1785, 2300, 48, - /* 850 */ 712, 1370, 1371, 2684, 2510, 274, 2511, 2549, 1746, 273, - /* 860 */ 1483, 115, 2512, 779, 2514, 2515, 774, 2215, 797, 773, - /* 870 */ 2477, 2690, 204, 187, 2477, 2603, 2685, 742, 185, 435, - /* 880 */ 2599, 2477, 306, 2265, 2510, 1867, 1868, 2549, 453, 452, - /* 890 */ 459, 115, 2512, 779, 2514, 2515, 774, 2529, 797, 2038, - /* 900 */ 2263, 1807, 2634, 2704, 2332, 2603, 793, 2211, 2421, 435, - /* 910 */ 2599, 2477, 282, 775, 40, 39, 793, 2211, 46, 44, - /* 920 */ 43, 42, 41, 1838, 1848, 1488, 508, 576, 2151, 99, - /* 930 */ 1866, 1869, 397, 643, 642, 423, 509, 686, 793, 2211, - /* 940 */ 1487, 2034, 1779, 2186, 1777, 1779, 2647, 1777, 2284, 60, - /* 950 */ 793, 2211, 2618, 2510, 2477, 2187, 2549, 709, 528, 477, - /* 960 */ 380, 2512, 779, 2514, 2515, 774, 772, 797, 761, 2568, - /* 970 */ 541, 1391, 1807, 1390, 645, 644, 1782, 1783, 2614, 1782, - /* 980 */ 1783, 1835, 1839, 1837, 1840, 1841, 1842, 1843, 1844, 1845, + /* 750 */ 1862, 1863, 1864, 2, 47, 45, 1870, 2511, 793, 2211, + /* 760 */ 696, 2014, 439, 712, 1778, 2477, 2684, 793, 2211, 2689, + /* 770 */ 756, 306, 2684, 454, 1984, 662, 661, 1865, 209, 1776, + /* 780 */ 1836, 645, 644, 244, 2690, 204, 12, 55, 2511, 2685, + /* 790 */ 742, 2688, 253, 246, 185, 2685, 2686, 693, 2529, 251, + /* 800 */ 618, 776, 2618, 2074, 117, 793, 2211, 1860, 2265, 526, + /* 810 */ 2327, 2477, 306, 775, 666, 665, 664, 410, 243, 2331, + /* 820 */ 1784, 656, 145, 660, 788, 508, 2041, 659, 2614, 2529, + /* 830 */ 793, 2211, 658, 663, 418, 417, 698, 2390, 657, 274, + /* 840 */ 96, 653, 2477, 273, 775, 2187, 888, 556, 2327, 48, + /* 850 */ 509, 1807, 185, 2510, 306, 77, 2549, 412, 2511, 222, + /* 860 */ 115, 2512, 779, 2514, 2515, 774, 2206, 797, 2013, 793, + /* 870 */ 2211, 776, 187, 673, 2603, 2040, 1747, 2332, 435, 2599, + /* 880 */ 2477, 12, 711, 10, 2510, 1867, 1868, 2549, 685, 528, + /* 890 */ 2418, 115, 2512, 779, 2514, 2515, 774, 227, 797, 2529, + /* 900 */ 1391, 2634, 1390, 2704, 272, 2603, 450, 449, 88, 435, + /* 910 */ 2599, 1964, 2477, 99, 775, 832, 397, 144, 107, 423, + /* 920 */ 676, 686, 2039, 1838, 1848, 2688, 1965, 670, 668, 2477, + /* 930 */ 1866, 1869, 40, 39, 269, 1392, 46, 44, 43, 42, + /* 940 */ 41, 1746, 458, 2204, 1807, 1779, 762, 1777, 2575, 1784, + /* 950 */ 172, 753, 148, 2265, 2510, 1807, 2618, 2549, 2213, 2430, + /* 960 */ 434, 176, 2512, 779, 2514, 2515, 774, 1963, 797, 2263, + /* 970 */ 824, 453, 452, 2256, 1803, 71, 2477, 823, 70, 1782, + /* 980 */ 1783, 1835, 2613, 1837, 1840, 1841, 1842, 1843, 1844, 1845, /* 990 */ 1846, 1847, 771, 795, 794, 1859, 1861, 1862, 1863, 1864, - /* 1000 */ 2, 47, 45, 257, 2265, 673, 1392, 578, 731, 439, - /* 1010 */ 547, 1778, 793, 2211, 546, 1788, 107, 793, 2211, 180, - /* 1020 */ 685, 2264, 545, 2037, 1865, 832, 1776, 2618, 641, 637, - /* 1030 */ 633, 629, 542, 256, 2511, 2036, 272, 543, 40, 39, - /* 1040 */ 1836, 2204, 46, 44, 43, 42, 41, 776, 9, 2641, - /* 1050 */ 1807, 2035, 676, 2613, 1860, 1807, 793, 2211, 2511, 670, - /* 1060 */ 668, 43, 42, 41, 195, 1803, 269, 1784, 793, 2211, - /* 1070 */ 2032, 776, 1936, 2654, 97, 2529, 623, 254, 2477, 830, - /* 1080 */ 163, 162, 827, 826, 825, 160, 14, 13, 2208, 2477, - /* 1090 */ 2477, 775, 2418, 888, 793, 2211, 48, 793, 2211, 2529, - /* 1100 */ 96, 2014, 737, 732, 725, 721, 2477, 71, 549, 548, - /* 1110 */ 70, 2049, 883, 2477, 277, 775, 2688, 285, 2031, 275, - /* 1120 */ 1808, 662, 661, 729, 1896, 2477, 2207, 793, 2211, 857, - /* 1130 */ 855, 2510, 1867, 1868, 2549, 199, 293, 77, 115, 2512, - /* 1140 */ 779, 2514, 2515, 774, 244, 797, 2430, 759, 793, 2211, - /* 1150 */ 2704, 2498, 2603, 253, 246, 2510, 435, 2599, 2549, 2030, - /* 1160 */ 251, 618, 115, 2512, 779, 2514, 2515, 774, 318, 797, - /* 1170 */ 1838, 1848, 824, 2477, 2704, 2256, 2603, 1866, 1869, 243, - /* 1180 */ 435, 2599, 793, 2211, 793, 2211, 149, 793, 2211, 2574, - /* 1190 */ 88, 1808, 1779, 1908, 1777, 793, 2211, 712, 1706, 1707, - /* 1200 */ 2684, 764, 790, 2575, 791, 654, 34, 345, 2013, 2500, - /* 1210 */ 2431, 2029, 2028, 200, 2477, 462, 1901, 2027, 2690, 204, - /* 1220 */ 2026, 2025, 2024, 2685, 742, 767, 1782, 1783, 1835, 1469, + /* 1000 */ 2, 47, 45, 713, 2644, 2511, 2110, 793, 2211, 439, + /* 1010 */ 712, 1778, 2265, 2684, 199, 60, 857, 855, 776, 444, + /* 1020 */ 2641, 793, 2211, 709, 1865, 2284, 1776, 541, 2263, 793, + /* 1030 */ 2211, 2690, 204, 793, 2211, 2511, 2685, 742, 793, 2211, + /* 1040 */ 2265, 542, 793, 2211, 14, 13, 2529, 459, 776, 543, + /* 1050 */ 2654, 753, 148, 790, 1860, 461, 2263, 2265, 623, 2477, + /* 1060 */ 1372, 775, 2208, 172, 203, 2611, 2612, 1784, 146, 2616, + /* 1070 */ 1808, 2213, 1374, 2264, 793, 2211, 2529, 1803, 1802, 666, + /* 1080 */ 665, 664, 793, 2211, 1370, 1371, 656, 145, 660, 2477, + /* 1090 */ 9, 775, 659, 888, 277, 96, 48, 658, 663, 418, + /* 1100 */ 417, 2510, 285, 657, 2549, 2511, 653, 200, 115, 2512, + /* 1110 */ 779, 2514, 2515, 774, 349, 797, 793, 2211, 776, 211, + /* 1120 */ 2704, 2207, 2603, 275, 793, 2211, 435, 2599, 793, 2211, + /* 1130 */ 745, 2510, 1867, 1868, 2549, 1839, 759, 2038, 115, 2512, + /* 1140 */ 779, 2514, 2515, 774, 318, 797, 2529, 1391, 791, 1390, + /* 1150 */ 2704, 1908, 2603, 793, 2211, 1936, 435, 2599, 764, 2477, + /* 1160 */ 2575, 775, 2037, 1808, 205, 2611, 2612, 1787, 146, 2616, + /* 1170 */ 1838, 1848, 1484, 345, 1808, 793, 2211, 1866, 1869, 43, + /* 1180 */ 42, 41, 1392, 2151, 1488, 549, 548, 1483, 172, 2049, + /* 1190 */ 883, 2477, 1779, 1836, 1777, 462, 2214, 149, 2036, 1487, + /* 1200 */ 2574, 2510, 1706, 1707, 2549, 2035, 2431, 2032, 176, 2512, + /* 1210 */ 779, 2514, 2515, 774, 2031, 797, 2477, 2623, 1928, 744, + /* 1220 */ 2030, 691, 2029, 2028, 2399, 651, 1782, 1783, 1835, 650, /* 1230 */ 1837, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 771, /* 1240 */ 795, 794, 1859, 1861, 1862, 1863, 1864, 2, 47, 45, - /* 1250 */ 2511, 828, 829, 1374, 2256, 2256, 439, 358, 1778, 1802, - /* 1260 */ 2242, 712, 2310, 776, 2684, 723, 2477, 2477, 286, 1808, - /* 1270 */ 2189, 1865, 2477, 1776, 1808, 2477, 2477, 2477, 2623, 1928, - /* 1280 */ 1928, 2511, 2690, 204, 1836, 3, 141, 2685, 742, 262, - /* 1290 */ 264, 2529, 260, 263, 776, 2094, 2677, 53, 87, 266, - /* 1300 */ 655, 1860, 265, 154, 518, 2477, 2092, 775, 268, 464, - /* 1310 */ 463, 267, 101, 745, 1784, 2083, 688, 667, 687, 1792, - /* 1320 */ 2081, 211, 2529, 161, 1467, 161, 112, 719, 669, 2016, - /* 1330 */ 2017, 49, 1865, 49, 1785, 109, 2477, 671, 775, 299, - /* 1340 */ 888, 188, 674, 15, 161, 1935, 64, 2510, 143, 1787, - /* 1350 */ 2549, 49, 14, 13, 115, 2512, 779, 2514, 2515, 774, - /* 1360 */ 2530, 797, 1860, 49, 1427, 312, 2704, 76, 2603, 2148, - /* 1370 */ 159, 161, 435, 2599, 2147, 1784, 324, 323, 2510, 1867, - /* 1380 */ 1868, 2549, 691, 326, 325, 115, 2512, 779, 2514, 2515, - /* 1390 */ 774, 1886, 797, 697, 328, 327, 1786, 2704, 1701, 2603, - /* 1400 */ 1704, 766, 1959, 435, 2599, 1428, 1969, 2511, 1968, 2336, - /* 1410 */ 744, 330, 329, 332, 331, 2637, 291, 1838, 1848, 758, - /* 1420 */ 776, 1902, 2622, 73, 1866, 1869, 1849, 334, 333, 336, - /* 1430 */ 335, 338, 337, 712, 340, 339, 2684, 2065, 1654, 1779, - /* 1440 */ 316, 1777, 785, 2075, 712, 320, 1514, 2684, 2529, 342, - /* 1450 */ 341, 344, 343, 801, 2690, 204, 159, 161, 726, 2685, - /* 1460 */ 742, 142, 2477, 159, 775, 2690, 204, 468, 757, 430, - /* 1470 */ 2685, 742, 733, 1782, 1783, 1835, 426, 1837, 1840, 1841, + /* 1250 */ 2511, 2645, 2477, 2027, 576, 161, 439, 712, 1778, 2477, + /* 1260 */ 2684, 2477, 2026, 776, 2034, 723, 578, 2025, 2477, 2310, + /* 1270 */ 2024, 1865, 712, 1776, 2477, 2684, 2477, 2477, 2690, 204, + /* 1280 */ 276, 2196, 2511, 2685, 742, 828, 829, 2189, 2256, 2256, + /* 1290 */ 688, 2529, 687, 2690, 204, 776, 1836, 2677, 2685, 742, + /* 1300 */ 141, 1860, 358, 654, 2477, 2242, 775, 2477, 464, 463, + /* 1310 */ 262, 518, 87, 260, 1784, 655, 2477, 2498, 1792, 2094, + /* 1320 */ 154, 2477, 1928, 2529, 2477, 264, 266, 1469, 263, 265, + /* 1330 */ 54, 1865, 161, 1785, 268, 1790, 2477, 267, 775, 1467, + /* 1340 */ 888, 667, 2092, 15, 2083, 161, 2510, 719, 49, 2549, + /* 1350 */ 286, 2016, 2017, 115, 2512, 779, 2514, 2515, 774, 49, + /* 1360 */ 797, 1860, 2081, 188, 669, 2704, 671, 2603, 161, 14, + /* 1370 */ 13, 435, 2599, 2198, 1784, 2500, 697, 767, 2510, 1867, + /* 1380 */ 1868, 2549, 64, 49, 674, 115, 2512, 779, 2514, 2515, + /* 1390 */ 774, 49, 797, 1786, 101, 2194, 746, 2704, 2215, 2603, + /* 1400 */ 766, 324, 323, 435, 2599, 837, 2511, 1701, 282, 326, + /* 1410 */ 325, 2647, 328, 327, 330, 329, 299, 1838, 1848, 776, + /* 1420 */ 1704, 2622, 1959, 1969, 1866, 1869, 729, 712, 1935, 1446, + /* 1430 */ 2684, 312, 332, 331, 1968, 838, 334, 333, 291, 1779, + /* 1440 */ 76, 1777, 143, 758, 336, 335, 112, 2529, 2690, 204, + /* 1450 */ 338, 337, 2530, 2685, 742, 109, 159, 1902, 1849, 1444, + /* 1460 */ 2477, 161, 775, 340, 339, 293, 1654, 2148, 757, 342, + /* 1470 */ 341, 344, 343, 1782, 1783, 1835, 2147, 1837, 1840, 1841, /* 1480 */ 1842, 1843, 1844, 1845, 1846, 1847, 771, 795, 794, 1859, - /* 1490 */ 1861, 1862, 1863, 1864, 2, 881, 782, 837, 357, 2337, - /* 1500 */ 1793, 2071, 1788, 838, 2510, 705, 2253, 2549, 2638, 2648, - /* 1510 */ 754, 115, 2512, 779, 2514, 2515, 774, 1790, 797, 712, - /* 1520 */ 2511, 1446, 2684, 2704, 301, 2603, 305, 1444, 1542, 435, - /* 1530 */ 2599, 1547, 1554, 776, 1796, 1798, 1552, 298, 164, 2173, - /* 1540 */ 2690, 204, 471, 5, 476, 2685, 742, 406, 795, 794, - /* 1550 */ 1859, 1861, 1862, 1863, 1864, 484, 485, 1811, 496, 495, - /* 1560 */ 212, 2529, 393, 392, 1789, 213, 498, 1678, 215, 352, - /* 1570 */ 512, 1801, 446, 1802, 519, 2477, 226, 775, 521, 746, - /* 1580 */ 525, 527, 567, 532, 544, 1865, 555, 455, 557, 2511, - /* 1590 */ 2329, 563, 566, 568, 579, 580, 232, 577, 231, 582, - /* 1600 */ 583, 1809, 776, 234, 585, 602, 587, 4, 603, 610, - /* 1610 */ 611, 242, 613, 1804, 615, 1860, 93, 2510, 245, 1810, - /* 1620 */ 2549, 2511, 616, 1812, 115, 2512, 779, 2514, 2515, 774, - /* 1630 */ 2529, 797, 617, 248, 776, 250, 2578, 619, 2603, 1813, - /* 1640 */ 2345, 94, 435, 2599, 2477, 95, 775, 625, 646, 255, - /* 1650 */ 118, 677, 648, 678, 2201, 690, 259, 2197, 261, 166, - /* 1660 */ 2408, 384, 2529, 692, 155, 98, 167, 2199, 1805, 2391, - /* 1670 */ 2195, 168, 169, 353, 700, 701, 2477, 278, 775, 699, - /* 1680 */ 283, 730, 706, 707, 2625, 281, 2510, 2405, 2404, 2549, - /* 1690 */ 783, 704, 8, 115, 2512, 779, 2514, 2515, 774, 739, - /* 1700 */ 797, 716, 292, 2653, 2652, 2576, 179, 2603, 717, 288, - /* 1710 */ 714, 435, 2599, 290, 431, 294, 715, 2707, 2510, 295, - /* 1720 */ 2511, 2549, 297, 296, 747, 115, 2512, 779, 2514, 2515, - /* 1730 */ 774, 1928, 797, 776, 750, 147, 2683, 763, 1806, 2603, - /* 1740 */ 300, 1933, 2619, 435, 2599, 1931, 191, 61, 307, 156, - /* 1750 */ 786, 354, 781, 1769, 2359, 1745, 2358, 2511, 2357, 355, - /* 1760 */ 441, 2529, 2584, 158, 356, 787, 2212, 106, 2469, 2468, - /* 1770 */ 776, 108, 2464, 2463, 2455, 2477, 799, 775, 1349, 2454, - /* 1780 */ 2446, 1, 359, 882, 347, 448, 447, 1770, 2445, 2461, - /* 1790 */ 2460, 2452, 2451, 207, 885, 2440, 2439, 2458, 2529, 165, - /* 1800 */ 2457, 795, 794, 1859, 1861, 1862, 1863, 1864, 887, 2449, - /* 1810 */ 371, 363, 2477, 2429, 775, 2448, 2437, 2510, 2436, 2434, - /* 1820 */ 2549, 2433, 2257, 404, 116, 2512, 779, 2514, 2515, 774, - /* 1830 */ 383, 797, 2511, 52, 382, 361, 372, 2428, 2603, 2427, - /* 1840 */ 82, 2422, 2602, 2599, 474, 776, 473, 405, 1729, 1730, - /* 1850 */ 478, 210, 2420, 480, 2510, 481, 482, 2549, 1728, 2419, - /* 1860 */ 407, 116, 2512, 779, 2514, 2515, 774, 2417, 797, 2511, - /* 1870 */ 487, 2416, 489, 2529, 2415, 2603, 491, 2414, 1717, 765, - /* 1880 */ 2599, 2395, 776, 493, 214, 2394, 216, 2477, 83, 775, - /* 1890 */ 1681, 1680, 2511, 2372, 2371, 2370, 505, 506, 2369, 2368, - /* 1900 */ 2319, 2316, 510, 513, 1624, 776, 2315, 2309, 517, 516, - /* 1910 */ 2529, 2306, 219, 2305, 86, 2304, 2303, 2308, 2307, 221, - /* 1920 */ 2302, 2301, 2299, 2298, 2477, 2297, 775, 223, 533, 777, - /* 1930 */ 2296, 535, 2549, 2529, 2294, 2293, 116, 2512, 779, 2514, - /* 1940 */ 2515, 774, 2292, 797, 2291, 2314, 2290, 2477, 2289, 775, - /* 1950 */ 2603, 2288, 2312, 2295, 399, 2599, 2287, 2286, 2285, 2283, - /* 1960 */ 2282, 2281, 2280, 2279, 2278, 2277, 2510, 2276, 225, 2549, - /* 1970 */ 2275, 92, 2274, 176, 2512, 779, 2514, 2515, 774, 2273, - /* 1980 */ 797, 2313, 2511, 2311, 2272, 2271, 2270, 2269, 1630, 2510, - /* 1990 */ 230, 2268, 2549, 2267, 570, 776, 177, 2512, 779, 2514, - /* 2000 */ 2515, 774, 572, 797, 2511, 2266, 2113, 2112, 233, 2111, - /* 2010 */ 1485, 1489, 1481, 2109, 235, 713, 2644, 776, 395, 396, - /* 2020 */ 236, 2106, 589, 2529, 590, 2105, 2098, 588, 593, 592, - /* 2030 */ 2085, 597, 596, 2060, 600, 186, 594, 2477, 1373, 775, - /* 2040 */ 598, 2059, 79, 80, 238, 2529, 2393, 2389, 2379, 2367, - /* 2050 */ 743, 2705, 2497, 196, 240, 249, 247, 608, 2366, 2477, - /* 2060 */ 2343, 775, 2190, 2108, 252, 2511, 2104, 2102, 626, 627, - /* 2070 */ 628, 630, 2100, 631, 632, 634, 2097, 636, 776, 2510, - /* 2080 */ 635, 638, 2549, 2511, 1420, 2080, 116, 2512, 779, 2514, - /* 2090 */ 2515, 774, 640, 797, 639, 2078, 776, 1558, 1559, 2191, - /* 2100 */ 2603, 2510, 2079, 2077, 2549, 2600, 2529, 2056, 176, 2512, - /* 2110 */ 779, 2514, 2515, 774, 2192, 797, 1471, 1470, 1468, 1466, - /* 2120 */ 2477, 1465, 775, 1464, 2529, 72, 1463, 1462, 1459, 854, - /* 2130 */ 258, 856, 1457, 2095, 419, 2093, 2084, 1458, 2477, 420, - /* 2140 */ 775, 1456, 428, 2511, 421, 672, 2082, 422, 675, 2055, - /* 2150 */ 2054, 2645, 2053, 679, 2052, 681, 776, 2051, 119, 683, - /* 2160 */ 429, 1711, 2510, 1713, 2511, 2549, 1710, 1715, 2392, 381, - /* 2170 */ 2512, 779, 2514, 2515, 774, 28, 797, 776, 67, 280, - /* 2180 */ 2510, 2388, 1687, 2549, 2529, 1689, 1691, 381, 2512, 779, - /* 2190 */ 2514, 2515, 774, 2378, 797, 702, 2365, 2364, 2477, 718, - /* 2200 */ 775, 2511, 56, 57, 2689, 2529, 427, 20, 17, 1986, - /* 2210 */ 703, 6, 30, 287, 773, 7, 1960, 289, 724, 2477, - /* 2220 */ 720, 775, 2511, 284, 722, 1666, 708, 21, 1665, 171, - /* 2230 */ 710, 22, 190, 201, 178, 776, 1967, 2498, 189, 31, - /* 2240 */ 2510, 81, 2529, 2549, 32, 65, 24, 374, 2512, 779, - /* 2250 */ 2514, 2515, 774, 23, 797, 1954, 2477, 2001, 775, 2006, - /* 2260 */ 2000, 2510, 432, 2529, 2549, 2005, 2007, 2004, 177, 2512, - /* 2270 */ 779, 2514, 2515, 774, 433, 797, 303, 2477, 1925, 775, - /* 2280 */ 1924, 59, 181, 2363, 2511, 2342, 102, 103, 25, 13, - /* 2290 */ 1877, 1876, 1794, 738, 1887, 1852, 817, 776, 2510, 438, - /* 2300 */ 1851, 2549, 38, 182, 1828, 380, 2512, 779, 2514, 2515, - /* 2310 */ 774, 1850, 797, 11, 2569, 16, 26, 192, 1820, 2510, - /* 2320 */ 311, 27, 2549, 2706, 58, 2529, 381, 2512, 779, 2514, - /* 2330 */ 2515, 774, 18, 797, 778, 784, 2341, 1962, 193, 2477, - /* 2340 */ 104, 775, 317, 69, 319, 105, 322, 2554, 109, 1854, - /* 2350 */ 2553, 798, 800, 2511, 796, 457, 68, 804, 1543, 802, - /* 2360 */ 805, 440, 807, 346, 1540, 1539, 776, 808, 810, 1536, - /* 2370 */ 811, 813, 1530, 2511, 814, 816, 1553, 1528, 1549, 1534, - /* 2380 */ 110, 2510, 111, 78, 2549, 1418, 776, 1533, 381, 2512, - /* 2390 */ 779, 2514, 2515, 774, 2529, 797, 1453, 1450, 831, 1532, - /* 2400 */ 1531, 1449, 1448, 1447, 1445, 1443, 1442, 1441, 2477, 842, - /* 2410 */ 775, 1479, 844, 1478, 2529, 208, 1439, 1438, 1437, 1436, - /* 2420 */ 1435, 1434, 1433, 1475, 1473, 1430, 1429, 1426, 2477, 1425, - /* 2430 */ 775, 1424, 1423, 2103, 2101, 864, 866, 865, 868, 2099, - /* 2440 */ 872, 870, 869, 2096, 873, 876, 874, 877, 878, 2076, - /* 2450 */ 689, 880, 2050, 2549, 2511, 1362, 884, 376, 2512, 779, - /* 2460 */ 2514, 2515, 774, 1350, 797, 890, 350, 776, 886, 889, - /* 2470 */ 2510, 2020, 1780, 2549, 2020, 360, 2020, 366, 2512, 779, - /* 2480 */ 2514, 2515, 774, 2020, 797, 2020, 2020, 2020, 2020, 2020, - /* 2490 */ 2020, 2020, 2020, 2020, 2020, 2529, 2020, 2020, 2020, 2020, - /* 2500 */ 2511, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2477, - /* 2510 */ 2020, 775, 2020, 776, 2020, 2020, 2020, 2020, 2020, 2020, - /* 2520 */ 2020, 2020, 2020, 2511, 2020, 2020, 2020, 2020, 2020, 2020, - /* 2530 */ 2020, 2020, 2020, 2020, 2020, 2020, 776, 2020, 2020, 2020, - /* 2540 */ 2020, 2529, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 2550 */ 2020, 2510, 2020, 2020, 2549, 2477, 2020, 775, 365, 2512, - /* 2560 */ 779, 2514, 2515, 774, 2529, 797, 2020, 2020, 2020, 2020, - /* 2570 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2477, 2020, - /* 2580 */ 775, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 2590 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2510, 2020, 2020, - /* 2600 */ 2549, 2511, 2020, 2020, 367, 2512, 779, 2514, 2515, 774, - /* 2610 */ 2020, 797, 2020, 2020, 776, 2020, 2020, 2020, 2020, 2020, - /* 2620 */ 2510, 2020, 2511, 2549, 2020, 2020, 2020, 373, 2512, 779, - /* 2630 */ 2514, 2515, 774, 2020, 797, 776, 2020, 2511, 2020, 2020, - /* 2640 */ 2020, 2020, 2529, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 2650 */ 776, 2020, 2020, 2020, 2020, 2020, 2477, 2020, 775, 2511, - /* 2660 */ 2020, 2020, 2020, 2529, 2020, 2020, 2020, 2020, 2020, 2020, - /* 2670 */ 2020, 2020, 776, 2020, 2020, 2020, 2020, 2477, 2529, 775, - /* 2680 */ 2020, 2020, 2020, 2511, 2020, 2020, 2020, 2020, 2020, 2020, - /* 2690 */ 2020, 2020, 2477, 2020, 775, 2020, 776, 2020, 2510, 2020, - /* 2700 */ 2529, 2549, 2020, 2020, 2020, 377, 2512, 779, 2514, 2515, - /* 2710 */ 774, 2020, 797, 2020, 2477, 2020, 775, 2020, 2020, 2510, - /* 2720 */ 2020, 2020, 2549, 2020, 2529, 2020, 368, 2512, 779, 2514, - /* 2730 */ 2515, 774, 2020, 797, 2510, 2020, 2020, 2549, 2477, 2020, - /* 2740 */ 775, 378, 2512, 779, 2514, 2515, 774, 2020, 797, 2020, - /* 2750 */ 2020, 2020, 2020, 2020, 2020, 2020, 2510, 2020, 2020, 2549, - /* 2760 */ 2020, 2020, 2020, 369, 2512, 779, 2514, 2515, 774, 2020, - /* 2770 */ 797, 2020, 2511, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 2780 */ 2510, 2020, 2020, 2549, 2020, 776, 2020, 379, 2512, 779, - /* 2790 */ 2514, 2515, 774, 2020, 797, 2020, 2020, 2020, 2020, 2020, - /* 2800 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2511, 2020, - /* 2810 */ 2020, 2020, 2020, 2529, 2020, 2020, 2020, 2020, 2020, 2020, - /* 2820 */ 2020, 776, 2020, 2020, 2020, 2020, 2020, 2477, 2020, 775, - /* 2830 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 2840 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2529, - /* 2850 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 2860 */ 2020, 2020, 2020, 2477, 2020, 775, 2020, 2020, 2020, 2510, - /* 2870 */ 2020, 2020, 2549, 2020, 2020, 2020, 370, 2512, 779, 2514, - /* 2880 */ 2515, 774, 2020, 797, 2020, 2020, 2020, 2020, 2020, 2020, - /* 2890 */ 2020, 2020, 2020, 2020, 2511, 2020, 2020, 2020, 2020, 2020, - /* 2900 */ 2020, 2020, 2020, 2020, 2020, 2510, 2020, 776, 2549, 2511, - /* 2910 */ 2020, 2020, 385, 2512, 779, 2514, 2515, 774, 2020, 797, - /* 2920 */ 2020, 2020, 776, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 2930 */ 2020, 2020, 2020, 2020, 2020, 2529, 2020, 2020, 2020, 2020, - /* 2940 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2477, - /* 2950 */ 2529, 775, 2020, 2020, 2020, 2511, 2020, 2020, 2020, 2020, - /* 2960 */ 2020, 2020, 2020, 2020, 2477, 2020, 775, 2020, 776, 2020, - /* 2970 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 2980 */ 2511, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 2990 */ 2020, 2510, 2020, 776, 2549, 2020, 2529, 2020, 386, 2512, - /* 3000 */ 779, 2514, 2515, 774, 2020, 797, 2510, 2020, 2020, 2549, - /* 3010 */ 2477, 2020, 775, 2523, 2512, 779, 2514, 2515, 774, 2020, - /* 3020 */ 797, 2529, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 3030 */ 2020, 2020, 2020, 2020, 2020, 2477, 2020, 775, 2020, 2020, - /* 3040 */ 2020, 2511, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 3050 */ 2020, 2020, 2510, 2020, 776, 2549, 2511, 2020, 2020, 2522, - /* 3060 */ 2512, 779, 2514, 2515, 774, 2020, 797, 2020, 2020, 776, - /* 3070 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2510, 2020, 2020, - /* 3080 */ 2549, 2020, 2529, 2020, 2521, 2512, 779, 2514, 2515, 774, - /* 3090 */ 2020, 797, 2020, 2020, 2020, 2020, 2477, 2529, 775, 2020, - /* 3100 */ 2020, 2020, 2511, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 3110 */ 2020, 2477, 2020, 775, 2020, 776, 2020, 2511, 2020, 2020, - /* 3120 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 3130 */ 776, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2510, 2020, - /* 3140 */ 2020, 2549, 2020, 2529, 2020, 401, 2512, 779, 2514, 2515, - /* 3150 */ 774, 2020, 797, 2510, 2020, 2020, 2549, 2477, 2529, 775, - /* 3160 */ 402, 2512, 779, 2514, 2515, 774, 2020, 797, 2020, 2020, - /* 3170 */ 2020, 2020, 2477, 2020, 775, 2020, 2020, 2020, 2020, 2511, - /* 3180 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 3190 */ 2020, 2020, 776, 2020, 2020, 2020, 2020, 2020, 2020, 2510, - /* 3200 */ 2020, 2020, 2549, 2020, 2020, 2020, 398, 2512, 779, 2514, - /* 3210 */ 2515, 774, 2020, 797, 2510, 2020, 2020, 2549, 2020, 2020, - /* 3220 */ 2529, 403, 2512, 779, 2514, 2515, 774, 2020, 797, 2020, - /* 3230 */ 2020, 2020, 2020, 2020, 2477, 2020, 775, 2511, 2020, 2020, - /* 3240 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 3250 */ 776, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 3260 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 3270 */ 2020, 2020, 2020, 2020, 2020, 2020, 777, 2020, 2529, 2549, - /* 3280 */ 2020, 2020, 2020, 376, 2512, 779, 2514, 2515, 774, 2020, - /* 3290 */ 797, 2020, 2477, 2020, 775, 2020, 2020, 2020, 2020, 2020, - /* 3300 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 3310 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 3320 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 3330 */ 2020, 2020, 2020, 2020, 2510, 2020, 2020, 2549, 2020, 2020, - /* 3340 */ 2020, 375, 2512, 779, 2514, 2515, 774, 2020, 797, + /* 1490 */ 1861, 1862, 1863, 1864, 2, 726, 73, 801, 159, 1793, + /* 1500 */ 2336, 1788, 2510, 161, 142, 2549, 316, 393, 392, 115, + /* 1510 */ 2512, 779, 2514, 2515, 774, 785, 797, 446, 159, 712, + /* 1520 */ 2065, 2704, 2684, 2603, 1427, 2075, 2637, 435, 2599, 2511, + /* 1530 */ 1865, 320, 455, 1796, 1798, 430, 1514, 426, 733, 782, + /* 1540 */ 2690, 204, 776, 1886, 468, 2685, 742, 795, 794, 1859, + /* 1550 */ 1861, 1862, 1863, 1864, 2071, 2337, 2253, 705, 2638, 2648, + /* 1560 */ 1860, 1789, 2511, 754, 301, 1428, 298, 2173, 305, 5, + /* 1570 */ 2529, 357, 1542, 1547, 471, 776, 406, 881, 1554, 1552, + /* 1580 */ 476, 484, 485, 2477, 1811, 775, 2511, 496, 495, 212, + /* 1590 */ 213, 498, 215, 164, 1678, 352, 1801, 512, 1802, 776, + /* 1600 */ 519, 226, 521, 2529, 525, 527, 2511, 567, 532, 544, + /* 1610 */ 557, 555, 2329, 563, 566, 568, 2477, 579, 775, 776, + /* 1620 */ 580, 577, 232, 231, 582, 2510, 583, 2529, 2549, 234, + /* 1630 */ 585, 587, 115, 2512, 779, 2514, 2515, 774, 428, 797, + /* 1640 */ 2477, 1809, 775, 602, 2578, 4, 2603, 2529, 603, 611, + /* 1650 */ 435, 2599, 242, 613, 610, 93, 1804, 615, 2510, 1810, + /* 1660 */ 2477, 2549, 775, 1812, 245, 381, 2512, 779, 2514, 2515, + /* 1670 */ 774, 616, 797, 248, 617, 619, 250, 1813, 2345, 94, + /* 1680 */ 625, 95, 2510, 255, 646, 2549, 648, 2201, 690, 115, + /* 1690 */ 2512, 779, 2514, 2515, 774, 259, 797, 677, 1769, 692, + /* 1700 */ 1745, 2576, 2510, 2603, 2511, 2549, 2197, 435, 2599, 115, + /* 1710 */ 2512, 779, 2514, 2515, 774, 261, 797, 776, 166, 694, + /* 1720 */ 118, 763, 167, 2603, 678, 2199, 2195, 435, 2599, 168, + /* 1730 */ 448, 447, 1770, 384, 169, 98, 2408, 891, 699, 278, + /* 1740 */ 2405, 353, 155, 2511, 2404, 2529, 795, 794, 1859, 1861, + /* 1750 */ 1862, 1863, 1864, 351, 1805, 2391, 776, 700, 2477, 281, + /* 1760 */ 775, 704, 701, 283, 707, 716, 730, 2653, 706, 194, + /* 1770 */ 288, 783, 2652, 8, 290, 2511, 2625, 739, 879, 875, + /* 1780 */ 871, 867, 714, 348, 2529, 717, 715, 431, 776, 297, + /* 1790 */ 2707, 2683, 750, 1928, 747, 147, 1806, 2477, 1933, 775, + /* 1800 */ 2510, 191, 2619, 2549, 1931, 295, 292, 116, 2512, 779, + /* 1810 */ 2514, 2515, 774, 307, 797, 156, 2529, 61, 179, 294, + /* 1820 */ 354, 2603, 781, 300, 114, 2602, 2599, 321, 296, 2477, + /* 1830 */ 1, 775, 2511, 355, 2584, 786, 207, 2359, 787, 2510, + /* 1840 */ 2358, 356, 2549, 158, 2357, 776, 116, 2512, 779, 2514, + /* 1850 */ 2515, 774, 441, 797, 106, 2469, 2468, 2511, 2212, 789, + /* 1860 */ 2603, 2464, 108, 2463, 765, 2599, 2455, 2454, 359, 2446, + /* 1870 */ 776, 777, 2445, 2529, 2549, 1349, 799, 882, 116, 2512, + /* 1880 */ 779, 2514, 2515, 774, 2461, 797, 2477, 2460, 775, 347, + /* 1890 */ 885, 383, 2603, 2452, 2451, 165, 399, 2599, 2529, 887, + /* 1900 */ 361, 2440, 404, 309, 2439, 2458, 371, 52, 2457, 2449, + /* 1910 */ 308, 2477, 2448, 775, 363, 2437, 2436, 2434, 2433, 2257, + /* 1920 */ 2429, 2428, 2427, 82, 2422, 382, 372, 473, 2510, 279, + /* 1930 */ 474, 2549, 405, 1729, 1730, 177, 2512, 779, 2514, 2515, + /* 1940 */ 774, 2511, 797, 210, 478, 2420, 480, 481, 482, 1728, + /* 1950 */ 2419, 407, 2417, 2510, 776, 487, 2549, 2511, 2416, 2415, + /* 1960 */ 116, 2512, 779, 2514, 2515, 774, 489, 797, 491, 2414, + /* 1970 */ 776, 493, 1717, 2395, 2603, 214, 2394, 216, 1681, 2600, + /* 1980 */ 83, 1680, 2529, 2372, 2371, 2370, 505, 506, 2369, 743, + /* 1990 */ 2705, 2368, 2319, 510, 2316, 2477, 1624, 775, 2529, 513, + /* 2000 */ 2315, 2309, 516, 2306, 517, 219, 2305, 2304, 2303, 86, + /* 2010 */ 2308, 2477, 2307, 775, 2302, 221, 2511, 429, 2301, 2299, + /* 2020 */ 2298, 2297, 223, 533, 2296, 535, 2294, 2293, 2292, 776, + /* 2030 */ 2291, 2314, 2290, 2289, 2288, 2312, 2295, 2510, 2287, 2286, + /* 2040 */ 2549, 2285, 2283, 2282, 381, 2512, 779, 2514, 2515, 774, + /* 2050 */ 2281, 797, 2280, 2510, 2279, 2278, 2549, 2529, 225, 2277, + /* 2060 */ 374, 2512, 779, 2514, 2515, 774, 2276, 797, 92, 2275, + /* 2070 */ 2477, 2274, 775, 2273, 2313, 2311, 2272, 2271, 1630, 2270, + /* 2080 */ 230, 2269, 570, 2268, 572, 2267, 2511, 2266, 2113, 1485, + /* 2090 */ 395, 2112, 1489, 2111, 396, 1481, 2109, 2106, 588, 773, + /* 2100 */ 589, 2105, 233, 2511, 590, 592, 738, 594, 593, 2098, + /* 2110 */ 235, 236, 2510, 2085, 597, 2549, 776, 596, 2060, 177, + /* 2120 */ 2512, 779, 2514, 2515, 774, 1373, 797, 2529, 598, 600, + /* 2130 */ 2059, 186, 79, 2497, 238, 2393, 2389, 2379, 240, 2367, + /* 2140 */ 2477, 854, 775, 196, 2529, 80, 247, 2366, 608, 249, + /* 2150 */ 2343, 252, 2190, 2108, 1420, 2104, 626, 2477, 627, 775, + /* 2160 */ 2102, 630, 628, 631, 632, 2100, 634, 635, 636, 2097, + /* 2170 */ 638, 2080, 2078, 640, 2706, 2079, 639, 2077, 2056, 438, + /* 2180 */ 1559, 1558, 2510, 2192, 2511, 2549, 2191, 72, 1471, 380, + /* 2190 */ 2512, 779, 2514, 2515, 774, 1470, 797, 776, 2569, 2510, + /* 2200 */ 1468, 1466, 2549, 2511, 1465, 1464, 381, 2512, 779, 2514, + /* 2210 */ 2515, 774, 856, 797, 1457, 2095, 776, 419, 258, 1463, + /* 2220 */ 2093, 1462, 2511, 420, 1459, 2529, 1458, 1456, 2084, 421, + /* 2230 */ 2082, 422, 2055, 675, 672, 776, 2054, 2053, 2477, 679, + /* 2240 */ 775, 2511, 2052, 681, 2529, 2051, 683, 119, 1711, 1713, + /* 2250 */ 1710, 2392, 1715, 28, 776, 67, 2388, 2477, 1691, 775, + /* 2260 */ 440, 56, 1687, 2529, 2378, 280, 1689, 2365, 702, 2364, + /* 2270 */ 17, 2689, 20, 30, 21, 718, 2477, 287, 775, 6, + /* 2280 */ 2510, 1986, 2529, 2549, 1960, 427, 284, 381, 2512, 779, + /* 2290 */ 2514, 2515, 774, 57, 797, 2477, 722, 775, 703, 689, + /* 2300 */ 1666, 720, 2549, 7, 708, 289, 376, 2512, 779, 2514, + /* 2310 */ 2515, 774, 171, 797, 22, 1665, 1967, 710, 2510, 190, + /* 2320 */ 2511, 2549, 724, 201, 178, 366, 2512, 779, 2514, 2515, + /* 2330 */ 774, 1954, 797, 776, 2498, 32, 65, 2510, 189, 24, + /* 2340 */ 2549, 31, 81, 303, 365, 2512, 779, 2514, 2515, 774, + /* 2350 */ 2001, 797, 2000, 2511, 432, 2006, 2005, 2007, 2004, 433, + /* 2360 */ 1925, 2529, 1924, 59, 2363, 181, 776, 2342, 102, 103, + /* 2370 */ 25, 1877, 13, 1794, 2477, 1876, 775, 1828, 817, 1887, + /* 2380 */ 1852, 1851, 38, 182, 1850, 16, 26, 192, 1820, 778, + /* 2390 */ 27, 784, 311, 2341, 2529, 1962, 193, 317, 69, 104, + /* 2400 */ 11, 322, 105, 23, 109, 2554, 319, 2477, 18, 775, + /* 2410 */ 2553, 58, 1854, 798, 796, 68, 2510, 1543, 800, 2549, + /* 2420 */ 457, 2511, 1540, 367, 2512, 779, 2514, 2515, 774, 804, + /* 2430 */ 797, 802, 805, 807, 776, 810, 813, 1539, 808, 816, + /* 2440 */ 1536, 346, 811, 1553, 1530, 1549, 814, 1418, 1528, 2510, + /* 2450 */ 110, 1534, 2549, 111, 1533, 78, 373, 2512, 779, 2514, + /* 2460 */ 2515, 774, 2529, 797, 1453, 831, 1450, 1449, 1448, 1532, + /* 2470 */ 1531, 1447, 1445, 1443, 1442, 2477, 1441, 775, 2511, 1479, + /* 2480 */ 842, 1478, 208, 844, 1439, 1438, 1436, 1437, 1435, 1434, + /* 2490 */ 1433, 776, 1475, 1473, 1430, 1429, 1426, 1425, 2511, 1424, + /* 2500 */ 1423, 2103, 864, 866, 2101, 865, 868, 2099, 870, 872, + /* 2510 */ 874, 776, 2096, 869, 2076, 876, 878, 2510, 873, 2529, + /* 2520 */ 2549, 877, 880, 1362, 377, 2512, 779, 2514, 2515, 774, + /* 2530 */ 2050, 797, 2477, 1350, 775, 884, 886, 2511, 350, 2529, + /* 2540 */ 1780, 360, 889, 890, 2020, 2020, 2020, 2020, 2020, 2020, + /* 2550 */ 776, 2020, 2477, 2020, 775, 2511, 2020, 2020, 2020, 2020, + /* 2560 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 776, 2020, + /* 2570 */ 2020, 2020, 2020, 2020, 2510, 2020, 2020, 2549, 2529, 2020, + /* 2580 */ 2020, 368, 2512, 779, 2514, 2515, 774, 2020, 797, 2020, + /* 2590 */ 2020, 2477, 2020, 775, 2510, 2020, 2529, 2549, 2020, 2020, + /* 2600 */ 2020, 378, 2512, 779, 2514, 2515, 774, 2020, 797, 2477, + /* 2610 */ 2020, 775, 2511, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 2620 */ 2020, 2020, 2020, 2020, 2020, 776, 2020, 2020, 2020, 2020, + /* 2630 */ 2020, 2020, 2020, 2510, 2020, 2020, 2549, 2020, 2020, 2020, + /* 2640 */ 369, 2512, 779, 2514, 2515, 774, 2020, 797, 2020, 2020, + /* 2650 */ 2020, 2510, 2020, 2529, 2549, 2020, 2020, 2020, 379, 2512, + /* 2660 */ 779, 2514, 2515, 774, 2020, 797, 2477, 2020, 775, 2511, + /* 2670 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 2680 */ 2020, 2020, 776, 2020, 2020, 2511, 2020, 2020, 2020, 2020, + /* 2690 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 776, 2020, + /* 2700 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2510, 2020, + /* 2710 */ 2529, 2549, 2020, 2020, 2020, 370, 2512, 779, 2514, 2515, + /* 2720 */ 774, 2020, 797, 2477, 2020, 775, 2529, 2020, 2020, 2020, + /* 2730 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2477, + /* 2740 */ 2020, 775, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 2750 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 2760 */ 2020, 2020, 2020, 2020, 2020, 2510, 2020, 2511, 2549, 2020, + /* 2770 */ 2020, 2020, 385, 2512, 779, 2514, 2515, 774, 2020, 797, + /* 2780 */ 776, 2510, 2020, 2511, 2549, 2020, 2020, 2020, 386, 2512, + /* 2790 */ 779, 2514, 2515, 774, 2020, 797, 776, 2020, 2020, 2020, + /* 2800 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2529, 2020, + /* 2810 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 2820 */ 2020, 2477, 2020, 775, 2529, 2020, 2020, 2020, 2020, 2020, + /* 2830 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2477, 2020, 775, + /* 2840 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 2850 */ 2020, 2020, 2020, 2020, 2020, 2020, 2511, 2020, 2020, 2020, + /* 2860 */ 2020, 2020, 2020, 2510, 2020, 2020, 2549, 2020, 2020, 776, + /* 2870 */ 2523, 2512, 779, 2514, 2515, 774, 2020, 797, 2020, 2510, + /* 2880 */ 2020, 2020, 2549, 2511, 2020, 2020, 2522, 2512, 779, 2514, + /* 2890 */ 2515, 774, 2020, 797, 2020, 2020, 776, 2529, 2020, 2020, + /* 2900 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 2910 */ 2477, 2020, 775, 2511, 2020, 2020, 2020, 2020, 2020, 2020, + /* 2920 */ 2020, 2020, 2020, 2020, 2529, 2020, 776, 2020, 2020, 2020, + /* 2930 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2477, 2020, 775, + /* 2940 */ 2511, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 2950 */ 2020, 2020, 2510, 776, 2529, 2549, 2020, 2020, 2020, 2521, + /* 2960 */ 2512, 779, 2514, 2515, 774, 2020, 797, 2477, 2020, 775, + /* 2970 */ 2511, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2510, + /* 2980 */ 2020, 2529, 2549, 776, 2020, 2020, 401, 2512, 779, 2514, + /* 2990 */ 2515, 774, 2020, 797, 2477, 2020, 775, 2020, 2020, 2020, + /* 3000 */ 2511, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2510, + /* 3010 */ 2020, 2529, 2549, 776, 2020, 2020, 402, 2512, 779, 2514, + /* 3020 */ 2515, 774, 2020, 797, 2477, 2020, 775, 2511, 2020, 2020, + /* 3030 */ 2020, 2020, 2020, 2020, 2020, 2020, 2510, 2020, 2020, 2549, + /* 3040 */ 776, 2529, 2020, 398, 2512, 779, 2514, 2515, 774, 2020, + /* 3050 */ 797, 2020, 2020, 2020, 2477, 2020, 775, 2020, 2020, 2020, + /* 3060 */ 2020, 2020, 2020, 2020, 2020, 2020, 2510, 2020, 2529, 2549, + /* 3070 */ 2020, 2020, 2020, 403, 2512, 779, 2514, 2515, 774, 2020, + /* 3080 */ 797, 2477, 2020, 775, 2020, 2020, 2020, 2020, 2020, 2020, + /* 3090 */ 2020, 2020, 2020, 2020, 2020, 2020, 777, 2020, 2020, 2549, + /* 3100 */ 2020, 2020, 2020, 376, 2512, 779, 2514, 2515, 774, 2020, + /* 3110 */ 797, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + /* 3120 */ 2020, 2020, 2020, 2510, 2020, 2020, 2549, 2020, 2020, 2020, + /* 3130 */ 375, 2512, 779, 2514, 2515, 774, 2020, 797, }; static const YYCODETYPE yy_lookahead[] = { - /* 0 */ 390, 399, 436, 390, 400, 400, 399, 441, 398, 407, - /* 10 */ 369, 398, 12, 13, 14, 405, 406, 2, 390, 406, - /* 20 */ 20, 370, 22, 8, 9, 415, 398, 12, 13, 14, - /* 30 */ 15, 16, 2, 378, 406, 35, 0, 37, 8, 9, - /* 40 */ 37, 357, 12, 13, 14, 15, 16, 20, 414, 398, - /* 50 */ 395, 369, 370, 487, 370, 20, 490, 416, 417, 404, - /* 60 */ 419, 457, 457, 429, 423, 65, 432, 433, 20, 398, - /* 70 */ 4, 71, 468, 468, 508, 509, 405, 369, 78, 513, - /* 80 */ 514, 78, 398, 8, 9, 357, 415, 12, 13, 14, - /* 90 */ 15, 16, 369, 370, 400, 14, 412, 403, 414, 364, - /* 100 */ 20, 20, 367, 368, 104, 20, 13, 107, 20, 73, - /* 110 */ 74, 75, 76, 77, 463, 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, 454, 20, - /* 140 */ 412, 457, 107, 143, 144, 461, 462, 463, 464, 465, - /* 150 */ 466, 457, 468, 20, 446, 447, 107, 473, 487, 475, - /* 160 */ 390, 490, 468, 479, 480, 483, 484, 485, 398, 487, - /* 170 */ 488, 78, 490, 107, 369, 370, 406, 117, 494, 508, - /* 180 */ 509, 181, 182, 108, 513, 514, 502, 20, 188, 189, - /* 190 */ 508, 509, 107, 70, 389, 513, 514, 0, 3, 39, - /* 200 */ 40, 396, 356, 203, 358, 205, 483, 484, 485, 70, - /* 210 */ 487, 488, 8, 9, 78, 20, 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 */ 107, 241, 242, 243, 244, 245, 246, 247, 248, 249, /* 250 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 12, - /* 260 */ 13, 414, 143, 144, 18, 357, 20, 20, 357, 22, - /* 270 */ 398, 111, 112, 27, 114, 71, 30, 69, 370, 432, - /* 280 */ 433, 35, 35, 176, 37, 8, 9, 415, 14, 12, - /* 290 */ 13, 14, 15, 16, 20, 386, 136, 51, 364, 53, - /* 300 */ 140, 367, 368, 108, 58, 59, 398, 188, 189, 357, - /* 310 */ 33, 21, 65, 37, 207, 69, 20, 104, 71, 115, - /* 320 */ 412, 412, 414, 412, 275, 78, 36, 239, 38, 39, - /* 330 */ 40, 118, 119, 120, 121, 122, 123, 124, 125, 126, - /* 340 */ 127, 275, 129, 130, 131, 132, 133, 134, 135, 386, - /* 350 */ 183, 104, 106, 379, 107, 12, 13, 14, 15, 16, - /* 360 */ 275, 387, 454, 117, 412, 457, 457, 458, 459, 461, - /* 370 */ 462, 463, 464, 465, 466, 412, 468, 468, 183, 471, - /* 380 */ 369, 473, 474, 475, 180, 108, 0, 479, 480, 14, - /* 390 */ 143, 144, 394, 147, 148, 20, 150, 151, 152, 153, - /* 400 */ 154, 155, 156, 157, 158, 159, 198, 237, 275, 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 */ 457, 458, 136, 177, 178, 179, 140, 398, 181, 182, - /* 430 */ 184, 468, 369, 225, 226, 188, 189, 21, 427, 428, - /* 440 */ 24, 25, 26, 27, 28, 29, 30, 31, 32, 451, - /* 450 */ 203, 422, 205, 424, 117, 181, 87, 287, 288, 289, - /* 460 */ 290, 291, 292, 293, 476, 477, 262, 263, 264, 265, - /* 470 */ 266, 267, 268, 269, 270, 271, 272, 181, 182, 369, - /* 480 */ 370, 205, 137, 138, 237, 238, 239, 142, 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, 446, - /* 510 */ 447, 235, 236, 239, 18, 20, 33, 22, 149, 23, - /* 520 */ 259, 1, 136, 137, 138, 139, 140, 141, 142, 365, - /* 530 */ 35, 487, 37, 369, 490, 371, 40, 41, 33, 19, - /* 540 */ 44, 8, 9, 174, 175, 12, 13, 14, 15, 16, - /* 550 */ 54, 34, 508, 509, 107, 35, 181, 513, 514, 259, - /* 560 */ 65, 261, 66, 67, 68, 69, 71, 369, 370, 398, - /* 570 */ 397, 51, 0, 78, 487, 410, 405, 490, 413, 414, - /* 580 */ 60, 61, 62, 63, 411, 65, 415, 389, 369, 370, - /* 590 */ 104, 108, 482, 483, 484, 485, 509, 487, 488, 104, - /* 600 */ 513, 514, 107, 107, 118, 119, 120, 121, 122, 123, + /* 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, 487, 369, 370, 490, 106, 8, 9, 109, - /* 630 */ 399, 12, 13, 14, 15, 16, 4, 399, 143, 144, - /* 640 */ 20, 145, 22, 389, 509, 73, 74, 75, 513, 514, - /* 650 */ 396, 398, 80, 81, 82, 23, 365, 37, 86, 406, - /* 660 */ 369, 141, 371, 91, 92, 93, 94, 369, 370, 97, - /* 670 */ 369, 370, 100, 369, 370, 55, 181, 182, 46, 47, - /* 680 */ 48, 8, 9, 188, 189, 12, 13, 14, 15, 16, - /* 690 */ 37, 195, 196, 197, 413, 414, 200, 442, 203, 460, - /* 700 */ 205, 20, 483, 484, 485, 185, 487, 488, 385, 213, - /* 710 */ 214, 388, 192, 472, 107, 474, 183, 354, 420, 65, - /* 720 */ 224, 420, 275, 227, 420, 486, 230, 231, 232, 233, - /* 730 */ 234, 211, 237, 238, 239, 399, 241, 242, 243, 244, + /* 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, 56, 57, - /* 760 */ 106, 22, 20, 109, 22, 73, 74, 75, 369, 370, - /* 770 */ 370, 275, 80, 81, 82, 22, 37, 35, 86, 37, - /* 780 */ 376, 108, 51, 91, 92, 93, 94, 357, 389, 97, - /* 790 */ 37, 60, 100, 398, 63, 64, 398, 393, 398, 436, - /* 800 */ 370, 398, 372, 405, 441, 401, 301, 65, 405, 202, - /* 810 */ 415, 204, 412, 415, 414, 357, 50, 78, 415, 357, - /* 820 */ 78, 20, 12, 13, 143, 144, 357, 23, 398, 21, - /* 830 */ 176, 78, 24, 25, 26, 27, 28, 29, 30, 31, - /* 840 */ 32, 234, 412, 104, 414, 22, 104, 37, 0, 107, - /* 850 */ 487, 47, 48, 490, 454, 138, 357, 457, 205, 142, - /* 860 */ 37, 461, 462, 463, 464, 465, 466, 399, 468, 370, - /* 870 */ 412, 508, 509, 473, 412, 475, 513, 514, 398, 479, - /* 880 */ 480, 412, 275, 398, 454, 143, 144, 457, 235, 236, - /* 890 */ 405, 461, 462, 463, 464, 465, 466, 398, 468, 357, - /* 900 */ 415, 20, 502, 473, 424, 475, 369, 370, 0, 479, - /* 910 */ 480, 412, 399, 414, 8, 9, 369, 370, 12, 13, - /* 920 */ 14, 15, 16, 181, 182, 22, 389, 104, 387, 212, - /* 930 */ 188, 189, 215, 374, 375, 218, 389, 220, 369, 370, - /* 940 */ 37, 358, 203, 0, 205, 203, 425, 205, 0, 183, - /* 950 */ 369, 370, 460, 454, 412, 0, 457, 191, 389, 51, - /* 960 */ 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, - /* 970 */ 389, 20, 20, 22, 374, 375, 237, 238, 486, 237, - /* 980 */ 238, 239, 181, 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, 35, 398, 4, 55, 104, 187, 20, - /* 1010 */ 162, 22, 369, 370, 166, 205, 376, 369, 370, 51, - /* 1020 */ 19, 415, 174, 357, 35, 70, 37, 460, 60, 61, - /* 1030 */ 62, 63, 389, 65, 357, 357, 35, 389, 8, 9, - /* 1040 */ 239, 401, 12, 13, 14, 15, 16, 370, 42, 372, - /* 1050 */ 20, 357, 51, 486, 65, 20, 369, 370, 357, 58, - /* 1060 */ 59, 14, 15, 16, 183, 20, 65, 78, 369, 370, - /* 1070 */ 357, 370, 4, 372, 106, 398, 389, 109, 412, 136, - /* 1080 */ 137, 138, 139, 140, 141, 142, 1, 2, 389, 412, - /* 1090 */ 412, 414, 0, 104, 369, 370, 107, 369, 370, 398, - /* 1100 */ 378, 195, 281, 282, 283, 284, 412, 106, 160, 161, - /* 1110 */ 109, 360, 361, 412, 389, 414, 3, 389, 357, 137, - /* 1120 */ 239, 383, 384, 506, 180, 412, 404, 369, 370, 383, - /* 1130 */ 384, 454, 143, 144, 457, 183, 499, 117, 461, 462, - /* 1140 */ 463, 464, 465, 466, 176, 468, 436, 389, 369, 370, - /* 1150 */ 473, 49, 475, 185, 186, 454, 479, 480, 457, 357, - /* 1160 */ 192, 193, 461, 462, 463, 464, 465, 466, 389, 468, - /* 1170 */ 181, 182, 409, 412, 473, 412, 475, 188, 189, 211, - /* 1180 */ 479, 480, 369, 370, 369, 370, 471, 369, 370, 474, - /* 1190 */ 170, 239, 203, 108, 205, 369, 370, 487, 216, 217, - /* 1200 */ 490, 472, 389, 474, 389, 13, 262, 389, 302, 107, - /* 1210 */ 436, 357, 357, 183, 412, 389, 272, 357, 508, 509, - /* 1220 */ 357, 357, 357, 513, 514, 71, 237, 238, 239, 37, + /* 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, 409, 409, 14, 412, 412, 20, 391, 22, 20, - /* 1260 */ 394, 487, 0, 370, 490, 372, 412, 412, 65, 239, - /* 1270 */ 0, 35, 412, 37, 239, 412, 412, 412, 273, 274, - /* 1280 */ 274, 357, 508, 509, 239, 33, 33, 513, 514, 110, - /* 1290 */ 110, 398, 113, 113, 370, 0, 372, 45, 45, 110, - /* 1300 */ 13, 65, 113, 33, 42, 412, 0, 414, 110, 12, - /* 1310 */ 13, 113, 109, 33, 78, 0, 219, 22, 221, 22, - /* 1320 */ 0, 229, 398, 33, 37, 33, 107, 33, 22, 143, - /* 1330 */ 144, 33, 35, 33, 37, 116, 412, 22, 414, 517, - /* 1340 */ 104, 33, 22, 107, 33, 277, 33, 454, 373, 37, - /* 1350 */ 457, 33, 1, 2, 461, 462, 463, 464, 465, 466, - /* 1360 */ 398, 468, 65, 33, 37, 33, 473, 33, 475, 386, - /* 1370 */ 33, 33, 479, 480, 386, 78, 12, 13, 454, 143, - /* 1380 */ 144, 457, 436, 12, 13, 461, 462, 463, 464, 465, - /* 1390 */ 466, 237, 468, 436, 12, 13, 37, 473, 108, 475, - /* 1400 */ 108, 104, 108, 479, 480, 78, 108, 357, 108, 425, - /* 1410 */ 297, 12, 13, 12, 13, 425, 108, 181, 182, 108, - /* 1420 */ 370, 108, 372, 33, 188, 189, 108, 12, 13, 12, - /* 1430 */ 13, 12, 13, 487, 12, 13, 490, 368, 108, 203, - /* 1440 */ 108, 205, 108, 0, 487, 108, 108, 490, 398, 12, - /* 1450 */ 13, 12, 13, 33, 508, 509, 33, 33, 505, 513, - /* 1460 */ 514, 33, 412, 33, 414, 508, 509, 373, 436, 505, - /* 1470 */ 513, 514, 505, 237, 238, 239, 435, 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, 52, 505, 13, 108, 425, - /* 1500 */ 203, 370, 205, 13, 454, 443, 411, 457, 425, 425, - /* 1510 */ 489, 461, 462, 463, 464, 465, 466, 205, 468, 487, - /* 1520 */ 357, 37, 490, 473, 510, 475, 492, 37, 108, 479, - /* 1530 */ 480, 108, 108, 370, 237, 238, 108, 481, 108, 388, - /* 1540 */ 508, 509, 437, 278, 51, 513, 514, 456, 251, 252, - /* 1550 */ 253, 254, 255, 256, 257, 42, 455, 20, 448, 218, - /* 1560 */ 453, 398, 12, 13, 205, 378, 448, 201, 378, 439, - /* 1570 */ 369, 20, 22, 20, 370, 412, 45, 414, 421, 299, - /* 1580 */ 370, 421, 180, 418, 369, 35, 370, 37, 421, 357, - /* 1590 */ 369, 418, 418, 418, 105, 382, 369, 103, 381, 102, - /* 1600 */ 380, 20, 370, 369, 369, 362, 369, 50, 366, 362, - /* 1610 */ 366, 378, 448, 20, 414, 65, 378, 454, 378, 20, - /* 1620 */ 457, 357, 371, 20, 461, 462, 463, 464, 465, 466, - /* 1630 */ 398, 468, 438, 378, 370, 378, 473, 371, 475, 20, - /* 1640 */ 428, 378, 479, 480, 412, 378, 414, 369, 362, 378, - /* 1650 */ 369, 360, 398, 360, 398, 222, 398, 398, 398, 398, - /* 1660 */ 412, 362, 398, 452, 450, 107, 398, 398, 20, 447, - /* 1670 */ 398, 398, 398, 448, 209, 445, 412, 376, 414, 208, - /* 1680 */ 376, 286, 437, 369, 501, 444, 454, 412, 412, 457, - /* 1690 */ 285, 414, 294, 461, 462, 463, 464, 465, 466, 194, - /* 1700 */ 468, 412, 500, 498, 498, 473, 498, 475, 296, 430, - /* 1710 */ 279, 479, 480, 430, 303, 497, 295, 518, 454, 496, - /* 1720 */ 357, 457, 437, 495, 298, 461, 462, 463, 464, 465, - /* 1730 */ 466, 274, 468, 370, 300, 370, 512, 473, 20, 475, - /* 1740 */ 511, 117, 460, 479, 480, 276, 371, 107, 376, 376, - /* 1750 */ 186, 430, 412, 203, 412, 205, 412, 357, 412, 430, - /* 1760 */ 412, 398, 478, 376, 394, 426, 370, 376, 412, 412, - /* 1770 */ 370, 107, 412, 412, 412, 412, 402, 414, 22, 412, - /* 1780 */ 412, 493, 369, 38, 376, 235, 236, 237, 412, 412, - /* 1790 */ 412, 412, 412, 491, 359, 412, 412, 412, 398, 363, - /* 1800 */ 412, 251, 252, 253, 254, 255, 256, 257, 362, 412, - /* 1810 */ 392, 355, 412, 0, 414, 412, 412, 454, 412, 412, - /* 1820 */ 457, 412, 412, 431, 461, 462, 463, 464, 465, 466, - /* 1830 */ 449, 468, 357, 440, 392, 377, 392, 0, 475, 0, - /* 1840 */ 45, 0, 479, 480, 228, 370, 37, 431, 37, 37, - /* 1850 */ 228, 37, 0, 37, 454, 37, 228, 457, 37, 0, - /* 1860 */ 228, 461, 462, 463, 464, 465, 466, 0, 468, 357, - /* 1870 */ 37, 0, 37, 398, 0, 475, 22, 0, 223, 479, - /* 1880 */ 480, 0, 370, 37, 211, 0, 211, 412, 212, 414, - /* 1890 */ 205, 203, 357, 0, 0, 0, 199, 198, 0, 0, - /* 1900 */ 148, 0, 49, 37, 49, 370, 0, 0, 51, 37, - /* 1910 */ 398, 0, 49, 0, 45, 0, 0, 0, 0, 49, - /* 1920 */ 0, 0, 0, 0, 412, 0, 414, 166, 37, 454, - /* 1930 */ 0, 166, 457, 398, 0, 0, 461, 462, 463, 464, - /* 1940 */ 465, 466, 0, 468, 0, 0, 0, 412, 0, 414, - /* 1950 */ 475, 0, 0, 0, 479, 480, 0, 0, 0, 0, - /* 1960 */ 0, 0, 0, 0, 0, 0, 454, 0, 49, 457, - /* 1970 */ 0, 45, 0, 461, 462, 463, 464, 465, 466, 0, - /* 1980 */ 468, 0, 357, 0, 0, 0, 0, 0, 22, 454, - /* 1990 */ 148, 0, 457, 0, 147, 370, 461, 462, 463, 464, - /* 2000 */ 465, 466, 146, 468, 357, 0, 0, 0, 65, 0, - /* 2010 */ 22, 22, 37, 0, 65, 503, 504, 370, 50, 50, - /* 2020 */ 65, 0, 51, 398, 42, 0, 0, 37, 51, 37, - /* 2030 */ 0, 51, 37, 0, 37, 33, 42, 412, 14, 414, - /* 2040 */ 42, 0, 42, 42, 45, 398, 0, 0, 0, 0, - /* 2050 */ 515, 516, 49, 49, 43, 194, 42, 49, 0, 412, - /* 2060 */ 0, 414, 0, 0, 49, 357, 0, 0, 37, 51, - /* 2070 */ 42, 37, 0, 51, 42, 37, 0, 42, 370, 454, - /* 2080 */ 51, 37, 457, 357, 72, 0, 461, 462, 463, 464, - /* 2090 */ 465, 466, 42, 468, 51, 0, 370, 22, 37, 0, - /* 2100 */ 475, 454, 0, 0, 457, 480, 398, 0, 461, 462, - /* 2110 */ 463, 464, 465, 466, 0, 468, 37, 37, 37, 37, - /* 2120 */ 412, 37, 414, 37, 398, 115, 37, 37, 37, 33, - /* 2130 */ 113, 33, 22, 0, 22, 0, 0, 37, 412, 22, - /* 2140 */ 414, 37, 434, 357, 22, 53, 0, 22, 37, 0, - /* 2150 */ 0, 504, 0, 37, 0, 37, 370, 0, 20, 22, - /* 2160 */ 434, 37, 454, 37, 357, 457, 37, 108, 0, 461, - /* 2170 */ 462, 463, 464, 465, 466, 107, 468, 370, 107, 49, - /* 2180 */ 454, 0, 37, 457, 398, 22, 210, 461, 462, 463, - /* 2190 */ 464, 465, 466, 0, 468, 22, 0, 0, 412, 37, - /* 2200 */ 414, 357, 183, 183, 3, 398, 37, 33, 280, 108, - /* 2210 */ 183, 50, 107, 107, 370, 50, 108, 108, 103, 412, - /* 2220 */ 107, 414, 357, 186, 105, 183, 190, 33, 183, 206, - /* 2230 */ 190, 33, 33, 49, 107, 370, 108, 49, 107, 107, - /* 2240 */ 454, 107, 398, 457, 33, 3, 33, 461, 462, 463, - /* 2250 */ 464, 465, 466, 280, 468, 108, 412, 37, 414, 108, - /* 2260 */ 37, 454, 37, 398, 457, 37, 108, 37, 461, 462, - /* 2270 */ 463, 464, 465, 466, 37, 468, 49, 412, 108, 414, - /* 2280 */ 108, 33, 49, 0, 357, 0, 107, 42, 33, 2, - /* 2290 */ 105, 105, 22, 507, 237, 108, 107, 370, 454, 434, - /* 2300 */ 108, 457, 107, 49, 22, 461, 462, 463, 464, 465, - /* 2310 */ 466, 108, 468, 260, 470, 107, 107, 49, 108, 454, - /* 2320 */ 108, 107, 457, 516, 273, 398, 461, 462, 463, 464, - /* 2330 */ 465, 466, 280, 468, 240, 187, 0, 108, 107, 412, - /* 2340 */ 42, 414, 107, 107, 185, 107, 49, 107, 116, 108, - /* 2350 */ 107, 117, 37, 357, 107, 37, 107, 37, 108, 107, - /* 2360 */ 107, 434, 37, 33, 108, 108, 370, 107, 37, 108, - /* 2370 */ 107, 37, 108, 357, 107, 37, 37, 108, 22, 128, - /* 2380 */ 107, 454, 107, 107, 457, 72, 370, 128, 461, 462, - /* 2390 */ 463, 464, 465, 466, 398, 468, 37, 37, 71, 128, - /* 2400 */ 128, 37, 37, 37, 37, 37, 37, 37, 412, 101, - /* 2410 */ 414, 78, 101, 78, 398, 33, 37, 37, 37, 22, - /* 2420 */ 37, 37, 37, 78, 37, 37, 37, 37, 412, 37, - /* 2430 */ 414, 22, 37, 0, 0, 37, 42, 51, 37, 0, - /* 2440 */ 37, 42, 51, 0, 51, 37, 42, 51, 42, 0, - /* 2450 */ 454, 37, 0, 457, 357, 37, 33, 461, 462, 463, - /* 2460 */ 464, 465, 466, 22, 468, 20, 22, 370, 21, 21, - /* 2470 */ 454, 519, 22, 457, 519, 22, 519, 461, 462, 463, - /* 2480 */ 464, 465, 466, 519, 468, 519, 519, 519, 519, 519, - /* 2490 */ 519, 519, 519, 519, 519, 398, 519, 519, 519, 519, - /* 2500 */ 357, 519, 519, 519, 519, 519, 519, 519, 519, 412, - /* 2510 */ 519, 414, 519, 370, 519, 519, 519, 519, 519, 519, - /* 2520 */ 519, 519, 519, 357, 519, 519, 519, 519, 519, 519, - /* 2530 */ 519, 519, 519, 519, 519, 519, 370, 519, 519, 519, - /* 2540 */ 519, 398, 519, 519, 519, 519, 519, 519, 519, 519, - /* 2550 */ 519, 454, 519, 519, 457, 412, 519, 414, 461, 462, - /* 2560 */ 463, 464, 465, 466, 398, 468, 519, 519, 519, 519, - /* 2570 */ 519, 519, 519, 519, 519, 519, 519, 519, 412, 519, - /* 2580 */ 414, 519, 519, 519, 519, 519, 519, 519, 519, 519, - /* 2590 */ 519, 519, 519, 519, 519, 519, 519, 454, 519, 519, - /* 2600 */ 457, 357, 519, 519, 461, 462, 463, 464, 465, 466, - /* 2610 */ 519, 468, 519, 519, 370, 519, 519, 519, 519, 519, - /* 2620 */ 454, 519, 357, 457, 519, 519, 519, 461, 462, 463, - /* 2630 */ 464, 465, 466, 519, 468, 370, 519, 357, 519, 519, - /* 2640 */ 519, 519, 398, 519, 519, 519, 519, 519, 519, 519, - /* 2650 */ 370, 519, 519, 519, 519, 519, 412, 519, 414, 357, - /* 2660 */ 519, 519, 519, 398, 519, 519, 519, 519, 519, 519, - /* 2670 */ 519, 519, 370, 519, 519, 519, 519, 412, 398, 414, - /* 2680 */ 519, 519, 519, 357, 519, 519, 519, 519, 519, 519, - /* 2690 */ 519, 519, 412, 519, 414, 519, 370, 519, 454, 519, - /* 2700 */ 398, 457, 519, 519, 519, 461, 462, 463, 464, 465, - /* 2710 */ 466, 519, 468, 519, 412, 519, 414, 519, 519, 454, - /* 2720 */ 519, 519, 457, 519, 398, 519, 461, 462, 463, 464, - /* 2730 */ 465, 466, 519, 468, 454, 519, 519, 457, 412, 519, - /* 2740 */ 414, 461, 462, 463, 464, 465, 466, 519, 468, 519, - /* 2750 */ 519, 519, 519, 519, 519, 519, 454, 519, 519, 457, - /* 2760 */ 519, 519, 519, 461, 462, 463, 464, 465, 466, 519, - /* 2770 */ 468, 519, 357, 519, 519, 519, 519, 519, 519, 519, - /* 2780 */ 454, 519, 519, 457, 519, 370, 519, 461, 462, 463, - /* 2790 */ 464, 465, 466, 519, 468, 519, 519, 519, 519, 519, - /* 2800 */ 519, 519, 519, 519, 519, 519, 519, 519, 357, 519, - /* 2810 */ 519, 519, 519, 398, 519, 519, 519, 519, 519, 519, - /* 2820 */ 519, 370, 519, 519, 519, 519, 519, 412, 519, 414, - /* 2830 */ 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - /* 2840 */ 519, 519, 519, 519, 519, 519, 519, 519, 519, 398, - /* 2850 */ 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - /* 2860 */ 519, 519, 519, 412, 519, 414, 519, 519, 519, 454, - /* 2870 */ 519, 519, 457, 519, 519, 519, 461, 462, 463, 464, - /* 2880 */ 465, 466, 519, 468, 519, 519, 519, 519, 519, 519, - /* 2890 */ 519, 519, 519, 519, 357, 519, 519, 519, 519, 519, - /* 2900 */ 519, 519, 519, 519, 519, 454, 519, 370, 457, 357, - /* 2910 */ 519, 519, 461, 462, 463, 464, 465, 466, 519, 468, - /* 2920 */ 519, 519, 370, 519, 519, 519, 519, 519, 519, 519, - /* 2930 */ 519, 519, 519, 519, 519, 398, 519, 519, 519, 519, - /* 2940 */ 519, 519, 519, 519, 519, 519, 519, 519, 519, 412, - /* 2950 */ 398, 414, 519, 519, 519, 357, 519, 519, 519, 519, - /* 2960 */ 519, 519, 519, 519, 412, 519, 414, 519, 370, 519, - /* 2970 */ 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - /* 2980 */ 357, 519, 519, 519, 519, 519, 519, 519, 519, 519, - /* 2990 */ 519, 454, 519, 370, 457, 519, 398, 519, 461, 462, - /* 3000 */ 463, 464, 465, 466, 519, 468, 454, 519, 519, 457, - /* 3010 */ 412, 519, 414, 461, 462, 463, 464, 465, 466, 519, - /* 3020 */ 468, 398, 519, 519, 519, 519, 519, 519, 519, 519, - /* 3030 */ 519, 519, 519, 519, 519, 412, 519, 414, 519, 519, - /* 3040 */ 519, 357, 519, 519, 519, 519, 519, 519, 519, 519, - /* 3050 */ 519, 519, 454, 519, 370, 457, 357, 519, 519, 461, - /* 3060 */ 462, 463, 464, 465, 466, 519, 468, 519, 519, 370, - /* 3070 */ 519, 519, 519, 519, 519, 519, 519, 454, 519, 519, - /* 3080 */ 457, 519, 398, 519, 461, 462, 463, 464, 465, 466, - /* 3090 */ 519, 468, 519, 519, 519, 519, 412, 398, 414, 519, - /* 3100 */ 519, 519, 357, 519, 519, 519, 519, 519, 519, 519, - /* 3110 */ 519, 412, 519, 414, 519, 370, 519, 357, 519, 519, - /* 3120 */ 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - /* 3130 */ 370, 519, 519, 519, 519, 519, 519, 519, 454, 519, - /* 3140 */ 519, 457, 519, 398, 519, 461, 462, 463, 464, 465, - /* 3150 */ 466, 519, 468, 454, 519, 519, 457, 412, 398, 414, - /* 3160 */ 461, 462, 463, 464, 465, 466, 519, 468, 519, 519, - /* 3170 */ 519, 519, 412, 519, 414, 519, 519, 519, 519, 357, - /* 3180 */ 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - /* 3190 */ 519, 519, 370, 519, 519, 519, 519, 519, 519, 454, - /* 3200 */ 519, 519, 457, 519, 519, 519, 461, 462, 463, 464, - /* 3210 */ 465, 466, 519, 468, 454, 519, 519, 457, 519, 519, - /* 3220 */ 398, 461, 462, 463, 464, 465, 466, 519, 468, 519, - /* 3230 */ 519, 519, 519, 519, 412, 519, 414, 357, 519, 519, - /* 3240 */ 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - /* 3250 */ 370, 519, 519, 519, 519, 519, 519, 519, 519, 519, - /* 3260 */ 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - /* 3270 */ 519, 519, 519, 519, 519, 519, 454, 519, 398, 457, - /* 3280 */ 519, 519, 519, 461, 462, 463, 464, 465, 466, 519, - /* 3290 */ 468, 519, 412, 519, 414, 519, 519, 519, 519, 519, - /* 3300 */ 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - /* 3310 */ 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - /* 3320 */ 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - /* 3330 */ 519, 519, 519, 519, 454, 519, 519, 457, 519, 519, - /* 3340 */ 519, 461, 462, 463, 464, 465, 466, 519, 468, 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, 49, 108, 107, 107, 49, 108, 240, + /* 2390 */ 107, 187, 108, 0, 398, 108, 107, 107, 107, 42, + /* 2400 */ 260, 49, 107, 280, 116, 107, 185, 411, 280, 413, + /* 2410 */ 107, 273, 108, 117, 107, 107, 453, 108, 37, 456, + /* 2420 */ 37, 357, 108, 460, 461, 462, 463, 464, 465, 37, + /* 2430 */ 467, 107, 107, 37, 370, 37, 37, 108, 107, 37, + /* 2440 */ 108, 33, 107, 37, 108, 22, 107, 72, 108, 453, + /* 2450 */ 107, 128, 456, 107, 128, 107, 460, 461, 462, 463, + /* 2460 */ 464, 465, 398, 467, 37, 71, 37, 37, 37, 128, + /* 2470 */ 128, 37, 37, 37, 37, 411, 37, 413, 357, 78, + /* 2480 */ 101, 78, 33, 101, 37, 37, 22, 37, 37, 37, + /* 2490 */ 37, 370, 78, 37, 37, 37, 37, 37, 357, 22, + /* 2500 */ 37, 0, 37, 42, 0, 51, 37, 0, 42, 37, + /* 2510 */ 42, 370, 0, 51, 0, 37, 42, 453, 51, 398, + /* 2520 */ 456, 51, 37, 37, 460, 461, 462, 463, 464, 465, + /* 2530 */ 0, 467, 411, 22, 413, 33, 21, 357, 22, 398, + /* 2540 */ 22, 22, 21, 20, 518, 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, + /* 3170 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3180 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3190 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3200 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3210 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3220 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3230 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3240 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3250 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3260 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3270 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3280 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3290 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3300 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3310 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3320 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3330 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3340 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, /* 3350 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, /* 3360 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, /* 3370 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, @@ -1263,165 +1242,144 @@ static const YYCODETYPE yy_lookahead[] = { /* 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, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3500 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3510 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3520 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3530 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3540 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3550 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3560 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3570 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3580 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3590 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3600 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3610 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3620 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3630 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3640 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3650 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3660 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3670 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3680 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3690 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - /* 3700 */ 354, 354, 354, + /* 3490 */ 354, 354, }; #define YY_SHIFT_COUNT (891) #define YY_SHIFT_MIN (0) -#define YY_SHIFT_MAX (2453) +#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 */ 85, 133, 607, 35, 49, 447, 49, 49, 35, 35, - /* 60 */ 49, 1297, 49, 246, 1297, 66, 49, 27, 1550, 119, - /* 70 */ 48, 48, 1550, 1550, 632, 632, 119, 296, 681, 81, - /* 80 */ 81, 88, 48, 48, 48, 48, 48, 48, 48, 48, - /* 90 */ 48, 48, 48, 80, 117, 48, 48, 123, 27, 48, - /* 100 */ 80, 48, 27, 48, 48, 27, 48, 48, 27, 48, - /* 110 */ 27, 27, 27, 48, 139, 204, 204, 213, 692, 808, - /* 120 */ 739, 739, 739, 739, 739, 739, 739, 739, 739, 739, - /* 130 */ 739, 739, 739, 739, 739, 739, 739, 739, 739, 160, - /* 140 */ 195, 296, 681, 702, 702, 3, 167, 167, 167, 300, - /* 150 */ 300, 955, 93, 3, 123, 60, 27, 261, 27, 27, - /* 160 */ 136, 27, 136, 136, 337, 517, 486, 486, 486, 486, - /* 170 */ 486, 486, 486, 520, 572, 416, 1030, 906, 170, 821, - /* 180 */ 620, 274, 375, 810, 810, 881, 804, 952, 753, 753, - /* 190 */ 753, 766, 801, 753, 951, 1035, 1239, 286, 107, 1035, - /* 200 */ 1035, 1045, 1005, 1006, 1113, 1005, 1252, 1068, 93, 1265, - /* 210 */ 1493, 1513, 1537, 1341, 123, 1537, 123, 1366, 1551, 1553, - /* 220 */ 1531, 1553, 1531, 1402, 1551, 1553, 1551, 1531, 1402, 1402, - /* 230 */ 1402, 1489, 1494, 1551, 1497, 1551, 1551, 1551, 1581, 1557, - /* 240 */ 1581, 1557, 1537, 123, 123, 1593, 123, 1599, 1603, 123, - /* 250 */ 1599, 123, 1619, 123, 123, 1551, 123, 1581, 27, 27, - /* 260 */ 27, 27, 27, 27, 27, 27, 27, 27, 27, 1551, - /* 270 */ 517, 517, 1581, 136, 136, 136, 1433, 1558, 1537, 139, - /* 280 */ 1648, 1465, 1471, 1593, 139, 1265, 1551, 136, 1395, 1405, - /* 290 */ 1395, 1405, 1398, 1505, 1395, 1412, 1421, 1431, 1265, 1411, - /* 300 */ 1434, 1426, 1457, 1553, 1718, 1624, 1469, 1599, 139, 139, - /* 310 */ 1640, 1405, 136, 136, 136, 136, 1405, 136, 1564, 139, - /* 320 */ 337, 139, 1553, 136, 136, 136, 136, 136, 136, 136, - /* 330 */ 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - /* 340 */ 136, 136, 136, 136, 136, 1664, 136, 1551, 139, 1756, - /* 350 */ 1745, 1581, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, - /* 360 */ 3349, 36, 968, 197, 1001, 277, 75, 673, 15, 30, - /* 370 */ 533, 386, 943, 619, 619, 619, 619, 619, 619, 619, - /* 380 */ 619, 619, 94, 717, 290, 343, 343, 208, 654, 848, - /* 390 */ 369, 731, 276, 653, 948, 823, 903, 982, 1047, 1085, - /* 400 */ 944, 1047, 1047, 1047, 345, 345, 908, 1092, 483, 1262, - /* 410 */ 1253, 1020, 1270, 1179, 1180, 1189, 1198, 1192, 1287, 1295, - /* 420 */ 1306, 1315, 1320, 1097, 1290, 1292, 1203, 1294, 1298, 1300, - /* 430 */ 1308, 1186, 1280, 505, 1311, 1351, 1313, 1154, 1318, 1102, - /* 440 */ 1330, 1332, 1334, 1337, 1338, 1364, 1371, 1382, 1399, 1401, - /* 450 */ 1415, 1417, 1419, 1422, 1437, 1439, 1390, 1420, 1423, 1424, - /* 460 */ 1428, 1430, 1219, 1312, 1359, 1484, 1490, 1327, 1443, 1813, - /* 470 */ 1837, 1839, 1795, 1841, 1809, 1616, 1811, 1812, 1814, 1622, - /* 480 */ 1852, 1816, 1818, 1628, 1821, 1859, 1632, 1867, 1833, 1871, - /* 490 */ 1835, 1874, 1854, 1877, 1846, 1655, 1881, 1673, 1885, 1675, - /* 500 */ 1676, 1685, 1688, 1893, 1894, 1895, 1697, 1699, 1898, 1899, - /* 510 */ 1752, 1853, 1855, 1901, 1866, 1906, 1907, 1872, 1857, 1911, - /* 520 */ 1863, 1913, 1869, 1915, 1916, 1917, 1870, 1918, 1920, 1921, - /* 530 */ 1922, 1923, 1925, 1761, 1891, 1930, 1765, 1934, 1935, 1942, - /* 540 */ 1944, 1945, 1946, 1948, 1951, 1952, 1953, 1956, 1957, 1958, - /* 550 */ 1959, 1960, 1961, 1962, 1963, 1964, 1919, 1965, 1926, 1967, - /* 560 */ 1970, 1972, 1979, 1981, 1983, 1984, 1985, 1966, 1986, 1842, - /* 570 */ 1987, 1847, 1991, 1856, 1993, 2005, 1988, 1968, 1989, 1969, - /* 580 */ 2006, 1943, 1975, 2007, 1949, 2009, 1955, 2013, 2021, 1990, - /* 590 */ 1971, 1982, 2025, 1992, 1977, 1994, 2026, 1995, 1980, 1998, - /* 600 */ 2030, 1997, 2033, 1999, 2000, 2002, 2003, 2004, 2024, 2008, - /* 610 */ 2041, 2011, 2001, 2046, 2047, 2048, 2049, 2014, 1861, 2058, - /* 620 */ 2003, 2015, 2060, 2062, 2012, 2063, 2066, 2031, 2018, 2028, - /* 630 */ 2067, 2034, 2022, 2032, 2072, 2038, 2029, 2035, 2076, 2044, - /* 640 */ 2043, 2050, 2085, 2095, 2102, 2103, 2107, 2114, 2010, 2017, - /* 650 */ 2061, 2075, 2099, 2079, 2080, 2081, 2082, 2084, 2086, 2089, - /* 660 */ 2090, 2096, 2098, 2091, 2100, 2110, 2104, 2133, 2112, 2135, - /* 670 */ 2117, 2136, 2122, 2092, 2146, 2125, 2111, 2149, 2150, 2152, - /* 680 */ 2116, 2154, 2118, 2157, 2137, 2138, 2124, 2126, 2129, 2059, - /* 690 */ 2068, 2168, 2019, 2071, 1976, 2003, 2130, 2181, 2020, 2145, - /* 700 */ 2163, 2193, 2023, 2173, 2027, 2037, 2196, 2197, 2042, 2036, - /* 710 */ 2045, 2040, 2201, 2174, 1928, 2105, 2101, 2106, 2108, 2162, - /* 720 */ 2169, 2113, 2161, 2119, 2165, 2115, 2109, 2194, 2198, 2128, - /* 730 */ 2127, 2131, 2132, 2147, 2199, 2184, 2188, 2134, 2211, 1973, - /* 740 */ 2151, 2158, 2242, 2213, 2052, 2220, 2223, 2225, 2228, 2230, - /* 750 */ 2237, 2170, 2172, 2227, 2051, 2248, 2233, 2283, 2285, 2179, - /* 760 */ 2245, 2255, 2185, 2053, 2186, 2287, 2270, 2057, 2187, 2192, - /* 770 */ 2189, 2195, 2203, 2254, 2208, 2209, 2268, 2210, 2282, 2094, - /* 780 */ 2214, 2212, 2229, 2231, 2235, 2148, 2236, 2336, 2298, 2159, - /* 790 */ 2238, 2232, 2003, 2297, 2240, 2243, 2241, 2247, 2249, 2234, - /* 800 */ 2250, 2315, 2318, 2252, 2256, 2320, 2253, 2257, 2325, 2260, - /* 810 */ 2261, 2331, 2263, 2264, 2334, 2267, 2269, 2338, 2189, 2251, - /* 820 */ 2259, 2271, 2272, 2273, 2330, 2275, 2339, 2276, 2330, 2330, - /* 830 */ 2356, 2313, 2327, 2359, 2360, 2364, 2365, 2366, 2367, 2368, - /* 840 */ 2369, 2370, 2333, 2308, 2335, 2311, 2382, 2379, 2380, 2381, - /* 850 */ 2397, 2383, 2384, 2385, 2345, 2096, 2387, 2098, 2388, 2389, - /* 860 */ 2390, 2392, 2409, 2395, 2433, 2398, 2386, 2394, 2434, 2401, - /* 870 */ 2391, 2399, 2439, 2403, 2393, 2404, 2443, 2408, 2396, 2406, - /* 880 */ 2449, 2414, 2418, 2452, 2441, 2423, 2444, 2447, 2450, 2453, - /* 890 */ 2448, 2445, + /* 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, 2334, 2278, 2279, 2338, 2280, 2355, 2149, + /* 780 */ 2283, 2284, 2287, 2289, 2290, 2204, 2291, 2393, 2357, 2221, + /* 790 */ 2295, 2288, 2084, 2352, 2298, 2303, 2304, 2307, 2308, 2296, + /* 800 */ 2309, 2381, 2383, 2324, 2314, 2392, 2325, 2329, 2396, 2331, + /* 810 */ 2332, 2398, 2335, 2336, 2399, 2339, 2340, 2402, 2271, 2323, + /* 820 */ 2326, 2341, 2342, 2343, 2408, 2346, 2406, 2348, 2408, 2408, + /* 830 */ 2423, 2375, 2394, 2427, 2429, 2430, 2431, 2434, 2435, 2436, + /* 840 */ 2437, 2439, 2401, 2379, 2403, 2382, 2449, 2447, 2448, 2450, + /* 850 */ 2464, 2451, 2452, 2453, 2414, 2108, 2456, 2179, 2457, 2458, + /* 860 */ 2459, 2460, 2477, 2463, 2501, 2465, 2454, 2461, 2504, 2469, + /* 870 */ 2462, 2466, 2507, 2472, 2467, 2468, 2512, 2478, 2470, 2474, + /* 880 */ 2514, 2485, 2486, 2530, 2511, 2502, 2516, 2515, 2518, 2519, + /* 890 */ 2521, 2523, }; #define YY_REDUCE_COUNT (360) -#define YY_REDUCE_MIN (-434) -#define YY_REDUCE_MAX (2880) +#define YY_REDUCE_MIN (-440) +#define YY_REDUCE_MAX (2670) static const short yy_reduce_ofst[] = { - /* 0 */ 363, -316, -92, 400, 430, 677, 701, 893, 924, 1050, - /* 10 */ 1163, 1232, 1264, 1363, 1400, 1475, 499, 1512, 1535, 1625, - /* 20 */ 1647, 1708, 1726, 1786, 1807, 1844, 1865, 1927, 1996, 2016, - /* 30 */ 2097, 2143, 2166, 2244, 2265, 2280, 2302, 2326, 2415, 2451, - /* 40 */ 2537, 2552, 2598, 2623, 2684, 2699, 2745, 2760, 2822, 2880, - /* 50 */ -318, -329, -434, 110, 710, 774, 946, 957, -277, 219, - /* 60 */ 1032, -91, 44, -359, -37, 87, 135, -390, -306, -366, - /* 70 */ -195, 254, -396, -395, -265, -66, -153, 29, 165, 164, - /* 80 */ 291, -349, 198, 399, 537, 547, 298, 301, 569, 581, - /* 90 */ 643, 648, 304, -292, 11, 687, 699, -345, 171, 725, - /* 100 */ 63, 728, 398, 758, 779, -387, 813, 815, 403, 818, - /* 110 */ -372, 485, -230, 826, 404, -12, -12, -398, -26, -154, - /* 120 */ -272, -89, -48, 458, 462, 469, 542, 666, 678, 694, - /* 130 */ 713, 761, 802, 854, 855, 860, 863, 864, 865, 173, - /* 140 */ 239, 480, 281, 559, 600, 738, 239, 492, 567, 241, - /* 150 */ 729, 640, 323, 746, 722, -2, -128, 715, 395, 253, - /* 160 */ 763, 606, 842, 843, 866, 751, -393, 231, 238, 336, - /* 170 */ 468, 513, 468, 255, 541, 583, 521, 822, 617, 637, - /* 180 */ 975, 962, 962, 983, 988, 984, 1069, 990, 953, 964, - /* 190 */ 967, 1041, 962, 991, 1094, 1074, 1131, 1095, 1062, 1083, - /* 200 */ 1084, 962, 1021, 1021, 1014, 1021, 1056, 1034, 1151, 1105, - /* 210 */ 1091, 1101, 1110, 1107, 1187, 1118, 1190, 1130, 1201, 1204, - /* 220 */ 1157, 1210, 1160, 1165, 1215, 1216, 1221, 1167, 1173, 1174, - /* 230 */ 1175, 1213, 1217, 1227, 1220, 1234, 1235, 1237, 1243, 1242, - /* 240 */ 1247, 1244, 1164, 1233, 1238, 1200, 1240, 1251, 1194, 1255, - /* 250 */ 1266, 1257, 1212, 1263, 1267, 1278, 1271, 1286, 1254, 1256, - /* 260 */ 1258, 1259, 1260, 1261, 1268, 1269, 1272, 1273, 1274, 1281, - /* 270 */ 1291, 1293, 1299, 1248, 1275, 1276, 1211, 1214, 1225, 1301, - /* 280 */ 1222, 1230, 1241, 1277, 1304, 1245, 1314, 1289, 1205, 1279, - /* 290 */ 1206, 1283, 1183, 1202, 1208, 1218, 1223, 1228, 1285, 1199, - /* 300 */ 1224, 1229, 1021, 1365, 1282, 1288, 1302, 1375, 1372, 1373, - /* 310 */ 1284, 1321, 1340, 1342, 1344, 1346, 1329, 1348, 1339, 1387, - /* 320 */ 1370, 1391, 1396, 1356, 1357, 1360, 1361, 1362, 1367, 1368, - /* 330 */ 1376, 1377, 1378, 1379, 1380, 1383, 1384, 1385, 1388, 1397, - /* 340 */ 1403, 1404, 1406, 1407, 1409, 1374, 1410, 1413, 1408, 1435, - /* 350 */ 1436, 1446, 1393, 1381, 1392, 1416, 1418, 1442, 1444, 1458, - /* 360 */ 1456, + /* 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 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, @@ -2383,117 +2341,116 @@ static const char *const yyTokenName[] = { /* 405 */ "col_name_list", /* 406 */ "column_def", /* 407 */ "type_name_binary", - /* 408 */ "type_name_bin", - /* 409 */ "duration_list", - /* 410 */ "rollup_func_list", - /* 411 */ "alter_table_option", - /* 412 */ "duration_literal", - /* 413 */ "rollup_func_name", - /* 414 */ "function_name", - /* 415 */ "col_name", - /* 416 */ "db_kind_opt", - /* 417 */ "table_kind_db_name_cond_opt", - /* 418 */ "like_pattern_opt", - /* 419 */ "db_name_cond_opt", - /* 420 */ "table_name_cond", - /* 421 */ "from_db_opt", - /* 422 */ "tag_list_opt", - /* 423 */ "table_kind", - /* 424 */ "tag_item", - /* 425 */ "column_alias", - /* 426 */ "index_options", - /* 427 */ "full_index_name", - /* 428 */ "index_name", - /* 429 */ "func_list", - /* 430 */ "sliding_opt", - /* 431 */ "sma_stream_opt", - /* 432 */ "func", - /* 433 */ "sma_func_name", - /* 434 */ "expression_list", - /* 435 */ "with_meta", - /* 436 */ "query_or_subquery", - /* 437 */ "where_clause_opt", - /* 438 */ "cgroup_name", - /* 439 */ "analyze_opt", - /* 440 */ "explain_options", - /* 441 */ "insert_query", - /* 442 */ "or_replace_opt", - /* 443 */ "agg_func_opt", - /* 444 */ "bufsize_opt", - /* 445 */ "language_opt", - /* 446 */ "full_view_name", - /* 447 */ "view_name", - /* 448 */ "stream_name", - /* 449 */ "stream_options", - /* 450 */ "col_list_opt", - /* 451 */ "tag_def_or_ref_opt", - /* 452 */ "subtable_opt", - /* 453 */ "ignore_opt", - /* 454 */ "expression", - /* 455 */ "on_vgroup_id", - /* 456 */ "dnode_list", - /* 457 */ "literal_func", - /* 458 */ "signed_literal", - /* 459 */ "literal_list", - /* 460 */ "table_alias", - /* 461 */ "expr_or_subquery", - /* 462 */ "pseudo_column", - /* 463 */ "column_reference", - /* 464 */ "function_expression", - /* 465 */ "case_when_expression", - /* 466 */ "star_func", - /* 467 */ "star_func_para_list", - /* 468 */ "noarg_func", - /* 469 */ "other_para_list", - /* 470 */ "star_func_para", - /* 471 */ "when_then_list", - /* 472 */ "case_when_else_opt", - /* 473 */ "common_expression", - /* 474 */ "when_then_expr", - /* 475 */ "predicate", - /* 476 */ "compare_op", - /* 477 */ "in_op", - /* 478 */ "in_predicate_value", - /* 479 */ "boolean_value_expression", - /* 480 */ "boolean_primary", - /* 481 */ "from_clause_opt", - /* 482 */ "table_reference_list", - /* 483 */ "table_reference", - /* 484 */ "table_primary", - /* 485 */ "joined_table", - /* 486 */ "alias_opt", - /* 487 */ "subquery", - /* 488 */ "parenthesized_joined_table", - /* 489 */ "join_type", - /* 490 */ "query_specification", - /* 491 */ "hint_list", - /* 492 */ "set_quantifier_opt", - /* 493 */ "tag_mode_opt", - /* 494 */ "select_list", - /* 495 */ "partition_by_clause_opt", - /* 496 */ "range_opt", - /* 497 */ "every_opt", - /* 498 */ "fill_opt", - /* 499 */ "twindow_clause_opt", - /* 500 */ "group_by_clause_opt", - /* 501 */ "having_clause_opt", - /* 502 */ "select_item", - /* 503 */ "partition_list", - /* 504 */ "partition_item", - /* 505 */ "interval_sliding_duration_literal", - /* 506 */ "fill_mode", - /* 507 */ "group_by_list", - /* 508 */ "query_expression", - /* 509 */ "query_simple", - /* 510 */ "order_by_clause_opt", - /* 511 */ "slimit_clause_opt", - /* 512 */ "limit_clause_opt", - /* 513 */ "union_query_expression", - /* 514 */ "query_simple_or_subquery", - /* 515 */ "sort_specification_list", - /* 516 */ "sort_specification", - /* 517 */ "ordering_specification_opt", - /* 518 */ "null_ordering_opt", + /* 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) */ @@ -3338,82 +3295,81 @@ static void yy_destructor( case 401: /* create_subtable_clause */ case 404: /* drop_table_clause */ case 406: /* column_def */ - case 407: /* type_name_binary */ - case 412: /* duration_literal */ - case 413: /* rollup_func_name */ - case 415: /* col_name */ - case 418: /* like_pattern_opt */ - case 419: /* db_name_cond_opt */ - case 420: /* table_name_cond */ - case 421: /* from_db_opt */ - case 424: /* tag_item */ - case 426: /* index_options */ - case 427: /* full_index_name */ - case 430: /* sliding_opt */ - case 431: /* sma_stream_opt */ - case 432: /* func */ - case 436: /* query_or_subquery */ - case 437: /* where_clause_opt */ - case 440: /* explain_options */ - case 441: /* insert_query */ - case 446: /* full_view_name */ - case 449: /* stream_options */ - case 452: /* subtable_opt */ - case 454: /* expression */ - case 457: /* literal_func */ - case 458: /* signed_literal */ - case 461: /* expr_or_subquery */ - case 462: /* pseudo_column */ - case 463: /* column_reference */ - case 464: /* function_expression */ - case 465: /* case_when_expression */ - case 470: /* star_func_para */ - case 472: /* case_when_else_opt */ - case 473: /* common_expression */ - case 474: /* when_then_expr */ - case 475: /* predicate */ - case 478: /* in_predicate_value */ - case 479: /* boolean_value_expression */ - case 480: /* boolean_primary */ - case 481: /* from_clause_opt */ - case 482: /* table_reference_list */ - case 483: /* table_reference */ - case 484: /* table_primary */ - case 485: /* joined_table */ - case 487: /* subquery */ - case 488: /* parenthesized_joined_table */ - case 490: /* query_specification */ - case 496: /* range_opt */ - case 497: /* every_opt */ - case 498: /* fill_opt */ - case 499: /* twindow_clause_opt */ - case 501: /* having_clause_opt */ - case 502: /* select_item */ - case 504: /* partition_item */ - case 505: /* interval_sliding_duration_literal */ - case 508: /* query_expression */ - case 509: /* query_simple */ - case 511: /* slimit_clause_opt */ - case 512: /* limit_clause_opt */ - case 513: /* union_query_expression */ - case 514: /* query_simple_or_subquery */ - case 516: /* 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 */ { #line 7 "sql.y" - nodesDestroyNode((yypminor->yy110)); -#line 3404 "sql.c" + nodesDestroyNode((yypminor->yy896)); +#line 3360 "sql.c" } break; case 355: /* account_options */ case 356: /* alter_account_options */ case 358: /* alter_account_option */ case 380: /* speed_opt */ - case 435: /* with_meta */ - case 444: /* bufsize_opt */ + case 434: /* with_meta */ + case 443: /* bufsize_opt */ { #line 54 "sql.y" -#line 3416 "sql.c" +#line 3372 "sql.c" } break; case 359: /* ip_range_list */ @@ -3430,30 +3386,30 @@ static void yy_destructor( case 402: /* specific_cols_opt */ case 403: /* tags_literal_list */ case 405: /* col_name_list */ - case 409: /* duration_list */ - case 410: /* rollup_func_list */ - case 422: /* tag_list_opt */ - case 429: /* func_list */ - case 434: /* expression_list */ - case 450: /* col_list_opt */ - case 451: /* tag_def_or_ref_opt */ - case 456: /* dnode_list */ - case 459: /* literal_list */ - case 467: /* star_func_para_list */ - case 469: /* other_para_list */ - case 471: /* when_then_list */ - case 491: /* hint_list */ - case 494: /* select_list */ - case 495: /* partition_by_clause_opt */ - case 500: /* group_by_clause_opt */ - case 503: /* partition_list */ - case 507: /* group_by_list */ - case 510: /* order_by_clause_opt */ - case 515: /* 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 */ { #line 85 "sql.y" - nodesDestroyList((yypminor->yy652)); -#line 3456 "sql.c" + nodesDestroyList((yypminor->yy404)); +#line 3412 "sql.c" } break; case 362: /* user_name */ @@ -3462,30 +3418,30 @@ static void yy_destructor( case 371: /* topic_name */ case 373: /* dnode_endpoint */ case 398: /* column_name */ - case 414: /* function_name */ - case 425: /* column_alias */ - case 428: /* index_name */ - case 433: /* sma_func_name */ - case 438: /* cgroup_name */ - case 445: /* language_opt */ - case 447: /* view_name */ - case 448: /* stream_name */ - case 455: /* on_vgroup_id */ - case 460: /* table_alias */ - case 466: /* star_func */ - case 468: /* noarg_func */ - case 486: /* 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 1014 "sql.y" -#line 3481 "sql.c" +#line 3437 "sql.c" } break; case 363: /* sysinfo_opt */ { #line 112 "sql.y" -#line 3488 "sql.c" +#line 3444 "sql.c" } break; case 364: /* privileges */ @@ -3494,103 +3450,97 @@ static void yy_destructor( { #line 121 "sql.y" -#line 3497 "sql.c" +#line 3453 "sql.c" } break; case 365: /* priv_level */ { #line 138 "sql.y" -#line 3504 "sql.c" +#line 3460 "sql.c" } break; case 374: /* force_opt */ case 375: /* unsafe_opt */ case 376: /* not_exists_opt */ case 378: /* exists_opt */ - case 439: /* analyze_opt */ - case 442: /* or_replace_opt */ - case 443: /* agg_func_opt */ - case 453: /* ignore_opt */ - case 492: /* set_quantifier_opt */ - case 493: /* 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 3520 "sql.c" +#line 3476 "sql.c" } break; case 387: /* alter_db_option */ - case 411: /* alter_table_option */ + case 410: /* alter_table_option */ { #line 269 "sql.y" -#line 3528 "sql.c" +#line 3484 "sql.c" } break; case 399: /* type_name */ + case 407: /* type_name_binary */ { #line 392 "sql.y" -#line 3535 "sql.c" +#line 3492 "sql.c" } break; - case 408: /* type_name_bin */ -{ -#line 419 "sql.y" - -#line 3542 "sql.c" -} - break; - case 416: /* db_kind_opt */ - case 423: /* table_kind */ + case 415: /* db_kind_opt */ + case 422: /* table_kind */ { #line 565 "sql.y" -#line 3550 "sql.c" +#line 3500 "sql.c" } break; - case 417: /* table_kind_db_name_cond_opt */ + case 416: /* table_kind_db_name_cond_opt */ { #line 530 "sql.y" -#line 3557 "sql.c" +#line 3507 "sql.c" } break; - case 476: /* compare_op */ - case 477: /* in_op */ + case 475: /* compare_op */ + case 476: /* in_op */ { #line 1208 "sql.y" -#line 3565 "sql.c" +#line 3515 "sql.c" } break; - case 489: /* join_type */ + case 488: /* join_type */ { #line 1284 "sql.y" -#line 3572 "sql.c" +#line 3522 "sql.c" } break; - case 506: /* fill_mode */ + case 505: /* fill_mode */ { #line 1379 "sql.y" -#line 3579 "sql.c" +#line 3529 "sql.c" } break; - case 517: /* ordering_specification_opt */ + case 516: /* ordering_specification_opt */ { #line 1464 "sql.y" -#line 3586 "sql.c" +#line 3536 "sql.c" } break; - case 518: /* null_ordering_opt */ + case 517: /* null_ordering_opt */ { #line 1470 "sql.y" -#line 3593 "sql.c" +#line 3543 "sql.c" } break; /********* End destructor definitions *****************************************/ @@ -4112,18 +4062,18 @@ static const YYCODETYPE yyRuleInfoLhs[] = { 392, /* (230) table_options ::= table_options DELETE_MARK duration_list */ 397, /* (231) alter_table_options ::= alter_table_option */ 397, /* (232) alter_table_options ::= alter_table_options alter_table_option */ - 411, /* (233) alter_table_option ::= COMMENT NK_STRING */ - 411, /* (234) alter_table_option ::= TTL NK_INTEGER */ - 409, /* (235) duration_list ::= duration_literal */ - 409, /* (236) duration_list ::= duration_list NK_COMMA duration_literal */ - 410, /* (237) rollup_func_list ::= rollup_func_name */ - 410, /* (238) rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ - 413, /* (239) rollup_func_name ::= function_name */ - 413, /* (240) rollup_func_name ::= FIRST */ - 413, /* (241) rollup_func_name ::= LAST */ + 410, /* (233) alter_table_option ::= COMMENT NK_STRING */ + 410, /* (234) alter_table_option ::= TTL NK_INTEGER */ + 408, /* (235) duration_list ::= duration_literal */ + 408, /* (236) duration_list ::= duration_list NK_COMMA duration_literal */ + 409, /* (237) rollup_func_list ::= rollup_func_name */ + 409, /* (238) rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ + 412, /* (239) rollup_func_name ::= function_name */ + 412, /* (240) rollup_func_name ::= FIRST */ + 412, /* (241) rollup_func_name ::= LAST */ 405, /* (242) col_name_list ::= col_name */ 405, /* (243) col_name_list ::= col_name_list NK_COMMA col_name */ - 415, /* (244) col_name ::= column_name */ + 414, /* (244) col_name ::= column_name */ 354, /* (245) cmd ::= SHOW DNODES */ 354, /* (246) cmd ::= SHOW USERS */ 354, /* (247) cmd ::= SHOW USER PRIVILEGES */ @@ -4175,52 +4125,52 @@ static const YYCODETYPE yyRuleInfoLhs[] = { 354, /* (293) cmd ::= SHOW CREATE VIEW full_table_name */ 354, /* (294) cmd ::= SHOW COMPACTS */ 354, /* (295) cmd ::= SHOW COMPACT NK_INTEGER */ - 417, /* (296) table_kind_db_name_cond_opt ::= */ - 417, /* (297) table_kind_db_name_cond_opt ::= table_kind */ - 417, /* (298) table_kind_db_name_cond_opt ::= db_name NK_DOT */ - 417, /* (299) table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ - 423, /* (300) table_kind ::= NORMAL */ - 423, /* (301) table_kind ::= CHILD */ - 419, /* (302) db_name_cond_opt ::= */ - 419, /* (303) db_name_cond_opt ::= db_name NK_DOT */ - 418, /* (304) like_pattern_opt ::= */ - 418, /* (305) like_pattern_opt ::= LIKE NK_STRING */ - 420, /* (306) table_name_cond ::= table_name */ - 421, /* (307) from_db_opt ::= */ - 421, /* (308) from_db_opt ::= FROM db_name */ - 422, /* (309) tag_list_opt ::= */ - 422, /* (310) tag_list_opt ::= tag_item */ - 422, /* (311) tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ - 424, /* (312) tag_item ::= TBNAME */ - 424, /* (313) tag_item ::= QTAGS */ - 424, /* (314) tag_item ::= column_name */ - 424, /* (315) tag_item ::= column_name column_alias */ - 424, /* (316) tag_item ::= column_name AS column_alias */ - 416, /* (317) db_kind_opt ::= */ - 416, /* (318) db_kind_opt ::= USER */ - 416, /* (319) db_kind_opt ::= SYSTEM */ + 416, /* (296) table_kind_db_name_cond_opt ::= */ + 416, /* (297) table_kind_db_name_cond_opt ::= table_kind */ + 416, /* (298) table_kind_db_name_cond_opt ::= db_name NK_DOT */ + 416, /* (299) table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ + 422, /* (300) table_kind ::= NORMAL */ + 422, /* (301) table_kind ::= CHILD */ + 418, /* (302) db_name_cond_opt ::= */ + 418, /* (303) db_name_cond_opt ::= db_name NK_DOT */ + 417, /* (304) like_pattern_opt ::= */ + 417, /* (305) like_pattern_opt ::= LIKE NK_STRING */ + 419, /* (306) table_name_cond ::= table_name */ + 420, /* (307) from_db_opt ::= */ + 420, /* (308) from_db_opt ::= FROM db_name */ + 421, /* (309) tag_list_opt ::= */ + 421, /* (310) tag_list_opt ::= tag_item */ + 421, /* (311) tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ + 423, /* (312) tag_item ::= TBNAME */ + 423, /* (313) tag_item ::= QTAGS */ + 423, /* (314) tag_item ::= column_name */ + 423, /* (315) tag_item ::= column_name column_alias */ + 423, /* (316) tag_item ::= column_name AS column_alias */ + 415, /* (317) db_kind_opt ::= */ + 415, /* (318) db_kind_opt ::= USER */ + 415, /* (319) db_kind_opt ::= SYSTEM */ 354, /* (320) cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options */ 354, /* (321) cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP */ 354, /* (322) cmd ::= DROP INDEX exists_opt full_index_name */ - 427, /* (323) full_index_name ::= index_name */ - 427, /* (324) full_index_name ::= db_name NK_DOT index_name */ - 426, /* (325) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ - 426, /* (326) 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 */ - 429, /* (327) func_list ::= func */ - 429, /* (328) func_list ::= func_list NK_COMMA func */ - 432, /* (329) func ::= sma_func_name NK_LP expression_list NK_RP */ - 433, /* (330) sma_func_name ::= function_name */ - 433, /* (331) sma_func_name ::= COUNT */ - 433, /* (332) sma_func_name ::= FIRST */ - 433, /* (333) sma_func_name ::= LAST */ - 433, /* (334) sma_func_name ::= LAST_ROW */ - 431, /* (335) sma_stream_opt ::= */ - 431, /* (336) sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ - 431, /* (337) sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ - 431, /* (338) sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ - 435, /* (339) with_meta ::= AS */ - 435, /* (340) with_meta ::= WITH META AS */ - 435, /* (341) with_meta ::= ONLY META AS */ + 426, /* (323) full_index_name ::= index_name */ + 426, /* (324) full_index_name ::= db_name NK_DOT index_name */ + 425, /* (325) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ + 425, /* (326) 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, /* (327) func_list ::= func */ + 428, /* (328) func_list ::= func_list NK_COMMA func */ + 431, /* (329) func ::= sma_func_name NK_LP expression_list NK_RP */ + 432, /* (330) sma_func_name ::= function_name */ + 432, /* (331) sma_func_name ::= COUNT */ + 432, /* (332) sma_func_name ::= FIRST */ + 432, /* (333) sma_func_name ::= LAST */ + 432, /* (334) sma_func_name ::= LAST_ROW */ + 430, /* (335) sma_stream_opt ::= */ + 430, /* (336) sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ + 430, /* (337) sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ + 430, /* (338) sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ + 434, /* (339) with_meta ::= AS */ + 434, /* (340) with_meta ::= WITH META AS */ + 434, /* (341) with_meta ::= ONLY META AS */ 354, /* (342) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ 354, /* (343) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ 354, /* (344) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ @@ -4231,47 +4181,47 @@ static const YYCODETYPE yyRuleInfoLhs[] = { 354, /* (349) cmd ::= RESET QUERY CACHE */ 354, /* (350) cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ 354, /* (351) cmd ::= EXPLAIN analyze_opt explain_options insert_query */ - 439, /* (352) analyze_opt ::= */ - 439, /* (353) analyze_opt ::= ANALYZE */ - 440, /* (354) explain_options ::= */ - 440, /* (355) explain_options ::= explain_options VERBOSE NK_BOOL */ - 440, /* (356) explain_options ::= explain_options RATIO NK_FLOAT */ + 438, /* (352) analyze_opt ::= */ + 438, /* (353) analyze_opt ::= ANALYZE */ + 439, /* (354) explain_options ::= */ + 439, /* (355) explain_options ::= explain_options VERBOSE NK_BOOL */ + 439, /* (356) explain_options ::= explain_options RATIO NK_FLOAT */ 354, /* (357) 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, /* (358) cmd ::= DROP FUNCTION exists_opt function_name */ - 443, /* (359) agg_func_opt ::= */ - 443, /* (360) agg_func_opt ::= AGGREGATE */ - 444, /* (361) bufsize_opt ::= */ - 444, /* (362) bufsize_opt ::= BUFSIZE NK_INTEGER */ - 445, /* (363) language_opt ::= */ - 445, /* (364) language_opt ::= LANGUAGE NK_STRING */ - 442, /* (365) or_replace_opt ::= */ - 442, /* (366) or_replace_opt ::= OR REPLACE */ + 442, /* (359) agg_func_opt ::= */ + 442, /* (360) agg_func_opt ::= AGGREGATE */ + 443, /* (361) bufsize_opt ::= */ + 443, /* (362) bufsize_opt ::= BUFSIZE NK_INTEGER */ + 444, /* (363) language_opt ::= */ + 444, /* (364) language_opt ::= LANGUAGE NK_STRING */ + 441, /* (365) or_replace_opt ::= */ + 441, /* (366) or_replace_opt ::= OR REPLACE */ 354, /* (367) cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ 354, /* (368) cmd ::= DROP VIEW exists_opt full_view_name */ - 446, /* (369) full_view_name ::= view_name */ - 446, /* (370) full_view_name ::= db_name NK_DOT view_name */ + 445, /* (369) full_view_name ::= view_name */ + 445, /* (370) full_view_name ::= db_name NK_DOT view_name */ 354, /* (371) 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, /* (372) cmd ::= DROP STREAM exists_opt stream_name */ 354, /* (373) cmd ::= PAUSE STREAM exists_opt stream_name */ 354, /* (374) cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ - 450, /* (375) col_list_opt ::= */ - 450, /* (376) col_list_opt ::= NK_LP col_name_list NK_RP */ - 451, /* (377) tag_def_or_ref_opt ::= */ - 451, /* (378) tag_def_or_ref_opt ::= tags_def */ - 451, /* (379) tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ - 449, /* (380) stream_options ::= */ - 449, /* (381) stream_options ::= stream_options TRIGGER AT_ONCE */ - 449, /* (382) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ - 449, /* (383) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ - 449, /* (384) stream_options ::= stream_options WATERMARK duration_literal */ - 449, /* (385) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ - 449, /* (386) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ - 449, /* (387) stream_options ::= stream_options DELETE_MARK duration_literal */ - 449, /* (388) stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ - 452, /* (389) subtable_opt ::= */ - 452, /* (390) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ - 453, /* (391) ignore_opt ::= */ - 453, /* (392) ignore_opt ::= IGNORE UNTREATED */ + 449, /* (375) col_list_opt ::= */ + 449, /* (376) col_list_opt ::= NK_LP col_name_list NK_RP */ + 450, /* (377) tag_def_or_ref_opt ::= */ + 450, /* (378) tag_def_or_ref_opt ::= tags_def */ + 450, /* (379) tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ + 448, /* (380) stream_options ::= */ + 448, /* (381) stream_options ::= stream_options TRIGGER AT_ONCE */ + 448, /* (382) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ + 448, /* (383) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ + 448, /* (384) stream_options ::= stream_options WATERMARK duration_literal */ + 448, /* (385) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ + 448, /* (386) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ + 448, /* (387) stream_options ::= stream_options DELETE_MARK duration_literal */ + 448, /* (388) stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ + 451, /* (389) subtable_opt ::= */ + 451, /* (390) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ + 452, /* (391) ignore_opt ::= */ + 452, /* (392) ignore_opt ::= IGNORE UNTREATED */ 354, /* (393) cmd ::= KILL CONNECTION NK_INTEGER */ 354, /* (394) cmd ::= KILL QUERY NK_STRING */ 354, /* (395) cmd ::= KILL TRANSACTION NK_INTEGER */ @@ -4281,15 +4231,15 @@ static const YYCODETYPE yyRuleInfoLhs[] = { 354, /* (399) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ 354, /* (400) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ 354, /* (401) cmd ::= SPLIT VGROUP NK_INTEGER */ - 455, /* (402) on_vgroup_id ::= */ - 455, /* (403) on_vgroup_id ::= ON NK_INTEGER */ - 456, /* (404) dnode_list ::= DNODE NK_INTEGER */ - 456, /* (405) dnode_list ::= dnode_list DNODE NK_INTEGER */ + 454, /* (402) on_vgroup_id ::= */ + 454, /* (403) on_vgroup_id ::= ON NK_INTEGER */ + 455, /* (404) dnode_list ::= DNODE NK_INTEGER */ + 455, /* (405) dnode_list ::= dnode_list DNODE NK_INTEGER */ 354, /* (406) cmd ::= DELETE FROM full_table_name where_clause_opt */ 354, /* (407) cmd ::= query_or_subquery */ 354, /* (408) cmd ::= insert_query */ - 441, /* (409) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ - 441, /* (410) insert_query ::= INSERT INTO full_table_name query_or_subquery */ + 440, /* (409) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ + 440, /* (410) insert_query ::= INSERT INTO full_table_name query_or_subquery */ 400, /* (411) tags_literal ::= NK_INTEGER */ 400, /* (412) tags_literal ::= NK_INTEGER NK_PLUS duration_literal */ 400, /* (413) tags_literal ::= NK_INTEGER NK_MINUS duration_literal */ @@ -4338,240 +4288,240 @@ static const YYCODETYPE yyRuleInfoLhs[] = { 357, /* (456) literal ::= duration_literal */ 357, /* (457) literal ::= NULL */ 357, /* (458) literal ::= NK_QUESTION */ - 412, /* (459) duration_literal ::= NK_VARIABLE */ + 411, /* (459) duration_literal ::= NK_VARIABLE */ 386, /* (460) signed ::= NK_INTEGER */ 386, /* (461) signed ::= NK_PLUS NK_INTEGER */ 386, /* (462) signed ::= NK_MINUS NK_INTEGER */ 386, /* (463) signed ::= NK_FLOAT */ 386, /* (464) signed ::= NK_PLUS NK_FLOAT */ 386, /* (465) signed ::= NK_MINUS NK_FLOAT */ - 458, /* (466) signed_literal ::= signed */ - 458, /* (467) signed_literal ::= NK_STRING */ - 458, /* (468) signed_literal ::= NK_BOOL */ - 458, /* (469) signed_literal ::= TIMESTAMP NK_STRING */ - 458, /* (470) signed_literal ::= duration_literal */ - 458, /* (471) signed_literal ::= NULL */ - 458, /* (472) signed_literal ::= literal_func */ - 458, /* (473) signed_literal ::= NK_QUESTION */ - 459, /* (474) literal_list ::= signed_literal */ - 459, /* (475) literal_list ::= literal_list NK_COMMA signed_literal */ + 457, /* (466) signed_literal ::= signed */ + 457, /* (467) signed_literal ::= NK_STRING */ + 457, /* (468) signed_literal ::= NK_BOOL */ + 457, /* (469) signed_literal ::= TIMESTAMP NK_STRING */ + 457, /* (470) signed_literal ::= duration_literal */ + 457, /* (471) signed_literal ::= NULL */ + 457, /* (472) signed_literal ::= literal_func */ + 457, /* (473) signed_literal ::= NK_QUESTION */ + 458, /* (474) literal_list ::= signed_literal */ + 458, /* (475) literal_list ::= literal_list NK_COMMA signed_literal */ 369, /* (476) db_name ::= NK_ID */ 370, /* (477) table_name ::= NK_ID */ 398, /* (478) column_name ::= NK_ID */ - 414, /* (479) function_name ::= NK_ID */ - 447, /* (480) view_name ::= NK_ID */ - 460, /* (481) table_alias ::= NK_ID */ - 425, /* (482) column_alias ::= NK_ID */ - 425, /* (483) column_alias ::= NK_ALIAS */ + 413, /* (479) function_name ::= NK_ID */ + 446, /* (480) view_name ::= NK_ID */ + 459, /* (481) table_alias ::= NK_ID */ + 424, /* (482) column_alias ::= NK_ID */ + 424, /* (483) column_alias ::= NK_ALIAS */ 362, /* (484) user_name ::= NK_ID */ 371, /* (485) topic_name ::= NK_ID */ - 448, /* (486) stream_name ::= NK_ID */ - 438, /* (487) cgroup_name ::= NK_ID */ - 428, /* (488) index_name ::= NK_ID */ - 461, /* (489) expr_or_subquery ::= expression */ - 454, /* (490) expression ::= literal */ - 454, /* (491) expression ::= pseudo_column */ - 454, /* (492) expression ::= column_reference */ - 454, /* (493) expression ::= function_expression */ - 454, /* (494) expression ::= case_when_expression */ - 454, /* (495) expression ::= NK_LP expression NK_RP */ - 454, /* (496) expression ::= NK_PLUS expr_or_subquery */ - 454, /* (497) expression ::= NK_MINUS expr_or_subquery */ - 454, /* (498) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ - 454, /* (499) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ - 454, /* (500) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ - 454, /* (501) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ - 454, /* (502) expression ::= expr_or_subquery NK_REM expr_or_subquery */ - 454, /* (503) expression ::= column_reference NK_ARROW NK_STRING */ - 454, /* (504) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ - 454, /* (505) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ - 434, /* (506) expression_list ::= expr_or_subquery */ - 434, /* (507) expression_list ::= expression_list NK_COMMA expr_or_subquery */ - 463, /* (508) column_reference ::= column_name */ - 463, /* (509) column_reference ::= table_name NK_DOT column_name */ - 463, /* (510) column_reference ::= NK_ALIAS */ - 463, /* (511) column_reference ::= table_name NK_DOT NK_ALIAS */ - 462, /* (512) pseudo_column ::= ROWTS */ - 462, /* (513) pseudo_column ::= TBNAME */ - 462, /* (514) pseudo_column ::= table_name NK_DOT TBNAME */ - 462, /* (515) pseudo_column ::= QSTART */ - 462, /* (516) pseudo_column ::= QEND */ - 462, /* (517) pseudo_column ::= QDURATION */ - 462, /* (518) pseudo_column ::= WSTART */ - 462, /* (519) pseudo_column ::= WEND */ - 462, /* (520) pseudo_column ::= WDURATION */ - 462, /* (521) pseudo_column ::= IROWTS */ - 462, /* (522) pseudo_column ::= ISFILLED */ - 462, /* (523) pseudo_column ::= QTAGS */ - 464, /* (524) function_expression ::= function_name NK_LP expression_list NK_RP */ - 464, /* (525) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ - 464, /* (526) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ - 464, /* (527) function_expression ::= CAST NK_LP expr_or_subquery AS type_name_binary NK_RP */ - 464, /* (528) function_expression ::= literal_func */ - 457, /* (529) literal_func ::= noarg_func NK_LP NK_RP */ - 457, /* (530) literal_func ::= NOW */ - 457, /* (531) literal_func ::= TODAY */ - 468, /* (532) noarg_func ::= NOW */ - 468, /* (533) noarg_func ::= TODAY */ - 468, /* (534) noarg_func ::= TIMEZONE */ - 468, /* (535) noarg_func ::= DATABASE */ - 468, /* (536) noarg_func ::= CLIENT_VERSION */ - 468, /* (537) noarg_func ::= SERVER_VERSION */ - 468, /* (538) noarg_func ::= SERVER_STATUS */ - 468, /* (539) noarg_func ::= CURRENT_USER */ - 468, /* (540) noarg_func ::= USER */ - 466, /* (541) star_func ::= COUNT */ - 466, /* (542) star_func ::= FIRST */ - 466, /* (543) star_func ::= LAST */ - 466, /* (544) star_func ::= LAST_ROW */ - 467, /* (545) star_func_para_list ::= NK_STAR */ - 467, /* (546) star_func_para_list ::= other_para_list */ - 469, /* (547) other_para_list ::= star_func_para */ - 469, /* (548) other_para_list ::= other_para_list NK_COMMA star_func_para */ - 470, /* (549) star_func_para ::= expr_or_subquery */ - 470, /* (550) star_func_para ::= table_name NK_DOT NK_STAR */ - 465, /* (551) case_when_expression ::= CASE when_then_list case_when_else_opt END */ - 465, /* (552) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ - 471, /* (553) when_then_list ::= when_then_expr */ - 471, /* (554) when_then_list ::= when_then_list when_then_expr */ - 474, /* (555) when_then_expr ::= WHEN common_expression THEN common_expression */ - 472, /* (556) case_when_else_opt ::= */ - 472, /* (557) case_when_else_opt ::= ELSE common_expression */ - 475, /* (558) predicate ::= expr_or_subquery compare_op expr_or_subquery */ - 475, /* (559) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ - 475, /* (560) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ - 475, /* (561) predicate ::= expr_or_subquery IS NULL */ - 475, /* (562) predicate ::= expr_or_subquery IS NOT NULL */ - 475, /* (563) predicate ::= expr_or_subquery in_op in_predicate_value */ - 476, /* (564) compare_op ::= NK_LT */ - 476, /* (565) compare_op ::= NK_GT */ - 476, /* (566) compare_op ::= NK_LE */ - 476, /* (567) compare_op ::= NK_GE */ - 476, /* (568) compare_op ::= NK_NE */ - 476, /* (569) compare_op ::= NK_EQ */ - 476, /* (570) compare_op ::= LIKE */ - 476, /* (571) compare_op ::= NOT LIKE */ - 476, /* (572) compare_op ::= MATCH */ - 476, /* (573) compare_op ::= NMATCH */ - 476, /* (574) compare_op ::= CONTAINS */ - 477, /* (575) in_op ::= IN */ - 477, /* (576) in_op ::= NOT IN */ - 478, /* (577) in_predicate_value ::= NK_LP literal_list NK_RP */ - 479, /* (578) boolean_value_expression ::= boolean_primary */ - 479, /* (579) boolean_value_expression ::= NOT boolean_primary */ - 479, /* (580) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ - 479, /* (581) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ - 480, /* (582) boolean_primary ::= predicate */ - 480, /* (583) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ - 473, /* (584) common_expression ::= expr_or_subquery */ - 473, /* (585) common_expression ::= boolean_value_expression */ - 481, /* (586) from_clause_opt ::= */ - 481, /* (587) from_clause_opt ::= FROM table_reference_list */ - 482, /* (588) table_reference_list ::= table_reference */ - 482, /* (589) table_reference_list ::= table_reference_list NK_COMMA table_reference */ - 483, /* (590) table_reference ::= table_primary */ - 483, /* (591) table_reference ::= joined_table */ - 484, /* (592) table_primary ::= table_name alias_opt */ - 484, /* (593) table_primary ::= db_name NK_DOT table_name alias_opt */ - 484, /* (594) table_primary ::= subquery alias_opt */ - 484, /* (595) table_primary ::= parenthesized_joined_table */ - 486, /* (596) alias_opt ::= */ - 486, /* (597) alias_opt ::= table_alias */ - 486, /* (598) alias_opt ::= AS table_alias */ - 488, /* (599) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ - 488, /* (600) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ - 485, /* (601) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ - 489, /* (602) join_type ::= */ - 489, /* (603) join_type ::= INNER */ - 490, /* (604) 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 */ - 491, /* (605) hint_list ::= */ - 491, /* (606) hint_list ::= NK_HINT */ - 493, /* (607) tag_mode_opt ::= */ - 493, /* (608) tag_mode_opt ::= TAGS */ - 492, /* (609) set_quantifier_opt ::= */ - 492, /* (610) set_quantifier_opt ::= DISTINCT */ - 492, /* (611) set_quantifier_opt ::= ALL */ - 494, /* (612) select_list ::= select_item */ - 494, /* (613) select_list ::= select_list NK_COMMA select_item */ - 502, /* (614) select_item ::= NK_STAR */ - 502, /* (615) select_item ::= common_expression */ - 502, /* (616) select_item ::= common_expression column_alias */ - 502, /* (617) select_item ::= common_expression AS column_alias */ - 502, /* (618) select_item ::= table_name NK_DOT NK_STAR */ - 437, /* (619) where_clause_opt ::= */ - 437, /* (620) where_clause_opt ::= WHERE search_condition */ - 495, /* (621) partition_by_clause_opt ::= */ - 495, /* (622) partition_by_clause_opt ::= PARTITION BY partition_list */ - 503, /* (623) partition_list ::= partition_item */ - 503, /* (624) partition_list ::= partition_list NK_COMMA partition_item */ - 504, /* (625) partition_item ::= expr_or_subquery */ - 504, /* (626) partition_item ::= expr_or_subquery column_alias */ - 504, /* (627) partition_item ::= expr_or_subquery AS column_alias */ - 499, /* (628) twindow_clause_opt ::= */ - 499, /* (629) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ - 499, /* (630) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ - 499, /* (631) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ - 499, /* (632) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ - 499, /* (633) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ - 499, /* (634) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ - 499, /* (635) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ - 430, /* (636) sliding_opt ::= */ - 430, /* (637) sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ - 505, /* (638) interval_sliding_duration_literal ::= NK_VARIABLE */ - 505, /* (639) interval_sliding_duration_literal ::= NK_STRING */ - 505, /* (640) interval_sliding_duration_literal ::= NK_INTEGER */ - 498, /* (641) fill_opt ::= */ - 498, /* (642) fill_opt ::= FILL NK_LP fill_mode NK_RP */ - 498, /* (643) fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ - 498, /* (644) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ - 506, /* (645) fill_mode ::= NONE */ - 506, /* (646) fill_mode ::= PREV */ - 506, /* (647) fill_mode ::= NULL */ - 506, /* (648) fill_mode ::= NULL_F */ - 506, /* (649) fill_mode ::= LINEAR */ - 506, /* (650) fill_mode ::= NEXT */ - 500, /* (651) group_by_clause_opt ::= */ - 500, /* (652) group_by_clause_opt ::= GROUP BY group_by_list */ - 507, /* (653) group_by_list ::= expr_or_subquery */ - 507, /* (654) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ - 501, /* (655) having_clause_opt ::= */ - 501, /* (656) having_clause_opt ::= HAVING search_condition */ - 496, /* (657) range_opt ::= */ - 496, /* (658) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ - 496, /* (659) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ - 497, /* (660) every_opt ::= */ - 497, /* (661) every_opt ::= EVERY NK_LP duration_literal NK_RP */ - 508, /* (662) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ - 509, /* (663) query_simple ::= query_specification */ - 509, /* (664) query_simple ::= union_query_expression */ - 513, /* (665) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ - 513, /* (666) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ - 514, /* (667) query_simple_or_subquery ::= query_simple */ - 514, /* (668) query_simple_or_subquery ::= subquery */ - 436, /* (669) query_or_subquery ::= query_expression */ - 436, /* (670) query_or_subquery ::= subquery */ - 510, /* (671) order_by_clause_opt ::= */ - 510, /* (672) order_by_clause_opt ::= ORDER BY sort_specification_list */ - 511, /* (673) slimit_clause_opt ::= */ - 511, /* (674) slimit_clause_opt ::= SLIMIT NK_INTEGER */ - 511, /* (675) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - 511, /* (676) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - 512, /* (677) limit_clause_opt ::= */ - 512, /* (678) limit_clause_opt ::= LIMIT NK_INTEGER */ - 512, /* (679) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ - 512, /* (680) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - 487, /* (681) subquery ::= NK_LP query_expression NK_RP */ - 487, /* (682) subquery ::= NK_LP subquery NK_RP */ + 447, /* (486) stream_name ::= NK_ID */ + 437, /* (487) cgroup_name ::= NK_ID */ + 427, /* (488) index_name ::= NK_ID */ + 460, /* (489) expr_or_subquery ::= expression */ + 453, /* (490) expression ::= literal */ + 453, /* (491) expression ::= pseudo_column */ + 453, /* (492) expression ::= column_reference */ + 453, /* (493) expression ::= function_expression */ + 453, /* (494) expression ::= case_when_expression */ + 453, /* (495) expression ::= NK_LP expression NK_RP */ + 453, /* (496) expression ::= NK_PLUS expr_or_subquery */ + 453, /* (497) expression ::= NK_MINUS expr_or_subquery */ + 453, /* (498) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ + 453, /* (499) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ + 453, /* (500) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ + 453, /* (501) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ + 453, /* (502) expression ::= expr_or_subquery NK_REM expr_or_subquery */ + 453, /* (503) expression ::= column_reference NK_ARROW NK_STRING */ + 453, /* (504) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ + 453, /* (505) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ + 433, /* (506) expression_list ::= expr_or_subquery */ + 433, /* (507) expression_list ::= expression_list NK_COMMA expr_or_subquery */ + 462, /* (508) column_reference ::= column_name */ + 462, /* (509) column_reference ::= table_name NK_DOT column_name */ + 462, /* (510) column_reference ::= NK_ALIAS */ + 462, /* (511) column_reference ::= table_name NK_DOT NK_ALIAS */ + 461, /* (512) pseudo_column ::= ROWTS */ + 461, /* (513) pseudo_column ::= TBNAME */ + 461, /* (514) pseudo_column ::= table_name NK_DOT TBNAME */ + 461, /* (515) pseudo_column ::= QSTART */ + 461, /* (516) pseudo_column ::= QEND */ + 461, /* (517) pseudo_column ::= QDURATION */ + 461, /* (518) pseudo_column ::= WSTART */ + 461, /* (519) pseudo_column ::= WEND */ + 461, /* (520) pseudo_column ::= WDURATION */ + 461, /* (521) pseudo_column ::= IROWTS */ + 461, /* (522) pseudo_column ::= ISFILLED */ + 461, /* (523) pseudo_column ::= QTAGS */ + 463, /* (524) function_expression ::= function_name NK_LP expression_list NK_RP */ + 463, /* (525) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ + 463, /* (526) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ + 463, /* (527) function_expression ::= CAST NK_LP expr_or_subquery AS type_name_binary NK_RP */ + 463, /* (528) function_expression ::= literal_func */ + 456, /* (529) literal_func ::= noarg_func NK_LP NK_RP */ + 456, /* (530) literal_func ::= NOW */ + 456, /* (531) literal_func ::= TODAY */ + 467, /* (532) noarg_func ::= NOW */ + 467, /* (533) noarg_func ::= TODAY */ + 467, /* (534) noarg_func ::= TIMEZONE */ + 467, /* (535) noarg_func ::= DATABASE */ + 467, /* (536) noarg_func ::= CLIENT_VERSION */ + 467, /* (537) noarg_func ::= SERVER_VERSION */ + 467, /* (538) noarg_func ::= SERVER_STATUS */ + 467, /* (539) noarg_func ::= CURRENT_USER */ + 467, /* (540) noarg_func ::= USER */ + 465, /* (541) star_func ::= COUNT */ + 465, /* (542) star_func ::= FIRST */ + 465, /* (543) star_func ::= LAST */ + 465, /* (544) star_func ::= LAST_ROW */ + 466, /* (545) star_func_para_list ::= NK_STAR */ + 466, /* (546) star_func_para_list ::= other_para_list */ + 468, /* (547) other_para_list ::= star_func_para */ + 468, /* (548) other_para_list ::= other_para_list NK_COMMA star_func_para */ + 469, /* (549) star_func_para ::= expr_or_subquery */ + 469, /* (550) star_func_para ::= table_name NK_DOT NK_STAR */ + 464, /* (551) case_when_expression ::= CASE when_then_list case_when_else_opt END */ + 464, /* (552) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ + 470, /* (553) when_then_list ::= when_then_expr */ + 470, /* (554) when_then_list ::= when_then_list when_then_expr */ + 473, /* (555) when_then_expr ::= WHEN common_expression THEN common_expression */ + 471, /* (556) case_when_else_opt ::= */ + 471, /* (557) case_when_else_opt ::= ELSE common_expression */ + 474, /* (558) predicate ::= expr_or_subquery compare_op expr_or_subquery */ + 474, /* (559) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ + 474, /* (560) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ + 474, /* (561) predicate ::= expr_or_subquery IS NULL */ + 474, /* (562) predicate ::= expr_or_subquery IS NOT NULL */ + 474, /* (563) predicate ::= expr_or_subquery in_op in_predicate_value */ + 475, /* (564) compare_op ::= NK_LT */ + 475, /* (565) compare_op ::= NK_GT */ + 475, /* (566) compare_op ::= NK_LE */ + 475, /* (567) compare_op ::= NK_GE */ + 475, /* (568) compare_op ::= NK_NE */ + 475, /* (569) compare_op ::= NK_EQ */ + 475, /* (570) compare_op ::= LIKE */ + 475, /* (571) compare_op ::= NOT LIKE */ + 475, /* (572) compare_op ::= MATCH */ + 475, /* (573) compare_op ::= NMATCH */ + 475, /* (574) compare_op ::= CONTAINS */ + 476, /* (575) in_op ::= IN */ + 476, /* (576) in_op ::= NOT IN */ + 477, /* (577) in_predicate_value ::= NK_LP literal_list NK_RP */ + 478, /* (578) boolean_value_expression ::= boolean_primary */ + 478, /* (579) boolean_value_expression ::= NOT boolean_primary */ + 478, /* (580) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ + 478, /* (581) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ + 479, /* (582) boolean_primary ::= predicate */ + 479, /* (583) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ + 472, /* (584) common_expression ::= expr_or_subquery */ + 472, /* (585) common_expression ::= boolean_value_expression */ + 480, /* (586) from_clause_opt ::= */ + 480, /* (587) from_clause_opt ::= FROM table_reference_list */ + 481, /* (588) table_reference_list ::= table_reference */ + 481, /* (589) table_reference_list ::= table_reference_list NK_COMMA table_reference */ + 482, /* (590) table_reference ::= table_primary */ + 482, /* (591) table_reference ::= joined_table */ + 483, /* (592) table_primary ::= table_name alias_opt */ + 483, /* (593) table_primary ::= db_name NK_DOT table_name alias_opt */ + 483, /* (594) table_primary ::= subquery alias_opt */ + 483, /* (595) table_primary ::= parenthesized_joined_table */ + 485, /* (596) alias_opt ::= */ + 485, /* (597) alias_opt ::= table_alias */ + 485, /* (598) alias_opt ::= AS table_alias */ + 487, /* (599) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ + 487, /* (600) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ + 484, /* (601) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ + 488, /* (602) join_type ::= */ + 488, /* (603) join_type ::= INNER */ + 489, /* (604) 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, /* (605) hint_list ::= */ + 490, /* (606) hint_list ::= NK_HINT */ + 492, /* (607) tag_mode_opt ::= */ + 492, /* (608) tag_mode_opt ::= TAGS */ + 491, /* (609) set_quantifier_opt ::= */ + 491, /* (610) set_quantifier_opt ::= DISTINCT */ + 491, /* (611) set_quantifier_opt ::= ALL */ + 493, /* (612) select_list ::= select_item */ + 493, /* (613) select_list ::= select_list NK_COMMA select_item */ + 501, /* (614) select_item ::= NK_STAR */ + 501, /* (615) select_item ::= common_expression */ + 501, /* (616) select_item ::= common_expression column_alias */ + 501, /* (617) select_item ::= common_expression AS column_alias */ + 501, /* (618) select_item ::= table_name NK_DOT NK_STAR */ + 436, /* (619) where_clause_opt ::= */ + 436, /* (620) where_clause_opt ::= WHERE search_condition */ + 494, /* (621) partition_by_clause_opt ::= */ + 494, /* (622) partition_by_clause_opt ::= PARTITION BY partition_list */ + 502, /* (623) partition_list ::= partition_item */ + 502, /* (624) partition_list ::= partition_list NK_COMMA partition_item */ + 503, /* (625) partition_item ::= expr_or_subquery */ + 503, /* (626) partition_item ::= expr_or_subquery column_alias */ + 503, /* (627) partition_item ::= expr_or_subquery AS column_alias */ + 498, /* (628) twindow_clause_opt ::= */ + 498, /* (629) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ + 498, /* (630) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ + 498, /* (631) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + 498, /* (632) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + 498, /* (633) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ + 498, /* (634) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ + 498, /* (635) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ + 429, /* (636) sliding_opt ::= */ + 429, /* (637) sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ + 504, /* (638) interval_sliding_duration_literal ::= NK_VARIABLE */ + 504, /* (639) interval_sliding_duration_literal ::= NK_STRING */ + 504, /* (640) interval_sliding_duration_literal ::= NK_INTEGER */ + 497, /* (641) fill_opt ::= */ + 497, /* (642) fill_opt ::= FILL NK_LP fill_mode NK_RP */ + 497, /* (643) fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ + 497, /* (644) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ + 505, /* (645) fill_mode ::= NONE */ + 505, /* (646) fill_mode ::= PREV */ + 505, /* (647) fill_mode ::= NULL */ + 505, /* (648) fill_mode ::= NULL_F */ + 505, /* (649) fill_mode ::= LINEAR */ + 505, /* (650) fill_mode ::= NEXT */ + 499, /* (651) group_by_clause_opt ::= */ + 499, /* (652) group_by_clause_opt ::= GROUP BY group_by_list */ + 506, /* (653) group_by_list ::= expr_or_subquery */ + 506, /* (654) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ + 500, /* (655) having_clause_opt ::= */ + 500, /* (656) having_clause_opt ::= HAVING search_condition */ + 495, /* (657) range_opt ::= */ + 495, /* (658) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ + 495, /* (659) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ + 496, /* (660) every_opt ::= */ + 496, /* (661) every_opt ::= EVERY NK_LP duration_literal NK_RP */ + 507, /* (662) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + 508, /* (663) query_simple ::= query_specification */ + 508, /* (664) query_simple ::= union_query_expression */ + 512, /* (665) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ + 512, /* (666) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ + 513, /* (667) query_simple_or_subquery ::= query_simple */ + 513, /* (668) query_simple_or_subquery ::= subquery */ + 435, /* (669) query_or_subquery ::= query_expression */ + 435, /* (670) query_or_subquery ::= subquery */ + 509, /* (671) order_by_clause_opt ::= */ + 509, /* (672) order_by_clause_opt ::= ORDER BY sort_specification_list */ + 510, /* (673) slimit_clause_opt ::= */ + 510, /* (674) slimit_clause_opt ::= SLIMIT NK_INTEGER */ + 510, /* (675) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + 510, /* (676) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + 511, /* (677) limit_clause_opt ::= */ + 511, /* (678) limit_clause_opt ::= LIMIT NK_INTEGER */ + 511, /* (679) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ + 511, /* (680) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + 486, /* (681) subquery ::= NK_LP query_expression NK_RP */ + 486, /* (682) subquery ::= NK_LP subquery NK_RP */ 372, /* (683) search_condition ::= common_expression */ - 515, /* (684) sort_specification_list ::= sort_specification */ - 515, /* (685) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ - 516, /* (686) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ - 517, /* (687) ordering_specification_opt ::= */ - 517, /* (688) ordering_specification_opt ::= ASC */ - 517, /* (689) ordering_specification_opt ::= DESC */ - 518, /* (690) null_ordering_opt ::= */ - 518, /* (691) null_ordering_opt ::= NULLS FIRST */ - 518, /* (692) null_ordering_opt ::= NULLS LAST */ + 514, /* (684) sort_specification_list ::= sort_specification */ + 514, /* (685) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ + 515, /* (686) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ + 516, /* (687) ordering_specification_opt ::= */ + 516, /* (688) ordering_specification_opt ::= ASC */ + 516, /* (689) ordering_specification_opt ::= DESC */ + 517, /* (690) null_ordering_opt ::= */ + 517, /* (691) null_ordering_opt ::= NULLS FIRST */ + 517, /* (692) null_ordering_opt ::= NULLS LAST */ }; /* For rule J, yyRuleInfoNRhs[J] contains the negative of the number @@ -5314,19 +5264,19 @@ static YYACTIONTYPE yy_reduce( 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 5317 "sql.c" +#line 5267 "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 5323 "sql.c" +#line 5273 "sql.c" yy_destructor(yypParser,356,&yymsp[0].minor); break; case 2: /* account_options ::= */ #line 55 "sql.y" { } -#line 5329 "sql.c" +#line 5279 "sql.c" break; case 3: /* account_options ::= account_options PPS literal */ case 4: /* account_options ::= account_options TSERIES literal */ yytestcase(yyruleno==4); @@ -5340,7 +5290,7 @@ static YYACTIONTYPE yy_reduce( { yy_destructor(yypParser,355,&yymsp[-2].minor); #line 56 "sql.y" { } -#line 5343 "sql.c" +#line 5293 "sql.c" yy_destructor(yypParser,357,&yymsp[0].minor); } break; @@ -5348,14 +5298,14 @@ static YYACTIONTYPE yy_reduce( { yy_destructor(yypParser,358,&yymsp[0].minor); #line 68 "sql.y" { } -#line 5351 "sql.c" +#line 5301 "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 5358 "sql.c" +#line 5308 "sql.c" yy_destructor(yypParser,358,&yymsp[0].minor); } break; @@ -5371,25 +5321,25 @@ static YYACTIONTYPE yy_reduce( case 23: /* alter_account_option ::= STATE literal */ yytestcase(yyruleno==23); #line 73 "sql.y" { } -#line 5374 "sql.c" +#line 5324 "sql.c" yy_destructor(yypParser,357,&yymsp[0].minor); break; case 24: /* ip_range_list ::= NK_STRING */ #line 86 "sql.y" -{ yylhsminor.yy652 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } -#line 5380 "sql.c" - yymsp[0].minor.yy652 = yylhsminor.yy652; +{ yylhsminor.yy404 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } +#line 5330 "sql.c" + yymsp[0].minor.yy404 = yylhsminor.yy404; break; case 25: /* ip_range_list ::= ip_range_list NK_COMMA NK_STRING */ #line 87 "sql.y" -{ yylhsminor.yy652 = addNodeToList(pCxt, yymsp[-2].minor.yy652, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } -#line 5386 "sql.c" - yymsp[-2].minor.yy652 = yylhsminor.yy652; +{ yylhsminor.yy404 = addNodeToList(pCxt, yymsp[-2].minor.yy404, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } +#line 5336 "sql.c" + yymsp[-2].minor.yy404 = yylhsminor.yy404; break; case 26: /* white_list ::= HOST ip_range_list */ #line 91 "sql.y" -{ yymsp[-1].minor.yy652 = yymsp[0].minor.yy652; } -#line 5392 "sql.c" +{ yymsp[-1].minor.yy404 = yymsp[0].minor.yy404; } +#line 5342 "sql.c" break; case 27: /* white_list_opt ::= */ case 188: /* specific_cols_opt ::= */ yytestcase(yyruleno==188); @@ -5401,137 +5351,137 @@ static YYACTIONTYPE yy_reduce( case 651: /* group_by_clause_opt ::= */ yytestcase(yyruleno==651); case 671: /* order_by_clause_opt ::= */ yytestcase(yyruleno==671); #line 95 "sql.y" -{ yymsp[1].minor.yy652 = NULL; } -#line 5405 "sql.c" +{ yymsp[1].minor.yy404 = NULL; } +#line 5355 "sql.c" break; case 28: /* white_list_opt ::= white_list */ case 221: /* tags_def_opt ::= tags_def */ yytestcase(yyruleno==221); case 378: /* tag_def_or_ref_opt ::= tags_def */ yytestcase(yyruleno==378); case 546: /* star_func_para_list ::= other_para_list */ yytestcase(yyruleno==546); #line 96 "sql.y" -{ yylhsminor.yy652 = yymsp[0].minor.yy652; } -#line 5413 "sql.c" - yymsp[0].minor.yy652 = yylhsminor.yy652; +{ yylhsminor.yy404 = yymsp[0].minor.yy404; } +#line 5363 "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.yy863, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy203); - pCxt->pRootNode = addCreateUserStmtWhiteList(pCxt, pCxt->pRootNode, yymsp[0].minor.yy652); + 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 5422 "sql.c" +#line 5372 "sql.c" break; case 30: /* cmd ::= ALTER USER user_name PASS NK_STRING */ #line 104 "sql.y" -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy863, TSDB_ALTER_USER_PASSWD, &yymsp[0].minor.yy0); } -#line 5427 "sql.c" +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy701, TSDB_ALTER_USER_PASSWD, &yymsp[0].minor.yy0); } +#line 5377 "sql.c" break; case 31: /* cmd ::= ALTER USER user_name ENABLE NK_INTEGER */ #line 105 "sql.y" -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy863, TSDB_ALTER_USER_ENABLE, &yymsp[0].minor.yy0); } -#line 5432 "sql.c" +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy701, TSDB_ALTER_USER_ENABLE, &yymsp[0].minor.yy0); } +#line 5382 "sql.c" break; case 32: /* cmd ::= ALTER USER user_name SYSINFO NK_INTEGER */ #line 106 "sql.y" -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy863, TSDB_ALTER_USER_SYSINFO, &yymsp[0].minor.yy0); } -#line 5437 "sql.c" +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy701, TSDB_ALTER_USER_SYSINFO, &yymsp[0].minor.yy0); } +#line 5387 "sql.c" break; case 33: /* cmd ::= ALTER USER user_name ADD white_list */ #line 107 "sql.y" -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy863, TSDB_ALTER_USER_ADD_WHITE_LIST, yymsp[0].minor.yy652); } -#line 5442 "sql.c" +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy701, TSDB_ALTER_USER_ADD_WHITE_LIST, yymsp[0].minor.yy404); } +#line 5392 "sql.c" break; case 34: /* cmd ::= ALTER USER user_name DROP white_list */ #line 108 "sql.y" -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy863, TSDB_ALTER_USER_DROP_WHITE_LIST, yymsp[0].minor.yy652); } -#line 5447 "sql.c" +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy701, TSDB_ALTER_USER_DROP_WHITE_LIST, yymsp[0].minor.yy404); } +#line 5397 "sql.c" break; case 35: /* cmd ::= DROP USER user_name */ #line 109 "sql.y" -{ pCxt->pRootNode = createDropUserStmt(pCxt, &yymsp[0].minor.yy863); } -#line 5452 "sql.c" +{ pCxt->pRootNode = createDropUserStmt(pCxt, &yymsp[0].minor.yy701); } +#line 5402 "sql.c" break; case 36: /* sysinfo_opt ::= */ #line 113 "sql.y" -{ yymsp[1].minor.yy203 = 1; } -#line 5457 "sql.c" +{ yymsp[1].minor.yy915 = 1; } +#line 5407 "sql.c" break; case 37: /* sysinfo_opt ::= SYSINFO NK_INTEGER */ #line 114 "sql.y" -{ yymsp[-1].minor.yy203 = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); } -#line 5462 "sql.c" +{ yymsp[-1].minor.yy915 = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); } +#line 5412 "sql.c" break; case 38: /* cmd ::= GRANT privileges ON priv_level with_opt TO user_name */ #line 117 "sql.y" -{ pCxt->pRootNode = createGrantStmt(pCxt, yymsp[-5].minor.yy57, &yymsp[-3].minor.yy825, &yymsp[0].minor.yy863, yymsp[-2].minor.yy110); } -#line 5467 "sql.c" +{ pCxt->pRootNode = createGrantStmt(pCxt, yymsp[-5].minor.yy949, &yymsp[-3].minor.yy21, &yymsp[0].minor.yy701, yymsp[-2].minor.yy896); } +#line 5417 "sql.c" break; case 39: /* cmd ::= REVOKE privileges ON priv_level with_opt FROM user_name */ #line 118 "sql.y" -{ pCxt->pRootNode = createRevokeStmt(pCxt, yymsp[-5].minor.yy57, &yymsp[-3].minor.yy825, &yymsp[0].minor.yy863, yymsp[-2].minor.yy110); } -#line 5472 "sql.c" +{ pCxt->pRootNode = createRevokeStmt(pCxt, yymsp[-5].minor.yy949, &yymsp[-3].minor.yy21, &yymsp[0].minor.yy701, yymsp[-2].minor.yy896); } +#line 5422 "sql.c" break; case 40: /* privileges ::= ALL */ #line 122 "sql.y" -{ yymsp[0].minor.yy57 = PRIVILEGE_TYPE_ALL; } -#line 5477 "sql.c" +{ yymsp[0].minor.yy949 = PRIVILEGE_TYPE_ALL; } +#line 5427 "sql.c" break; case 41: /* privileges ::= priv_type_list */ case 43: /* priv_type_list ::= priv_type */ yytestcase(yyruleno==43); #line 123 "sql.y" -{ yylhsminor.yy57 = yymsp[0].minor.yy57; } -#line 5483 "sql.c" - yymsp[0].minor.yy57 = yylhsminor.yy57; +{ yylhsminor.yy949 = yymsp[0].minor.yy949; } +#line 5433 "sql.c" + yymsp[0].minor.yy949 = yylhsminor.yy949; break; case 42: /* privileges ::= SUBSCRIBE */ #line 124 "sql.y" -{ yymsp[0].minor.yy57 = PRIVILEGE_TYPE_SUBSCRIBE; } -#line 5489 "sql.c" +{ yymsp[0].minor.yy949 = PRIVILEGE_TYPE_SUBSCRIBE; } +#line 5439 "sql.c" break; case 44: /* priv_type_list ::= priv_type_list NK_COMMA priv_type */ #line 129 "sql.y" -{ yylhsminor.yy57 = yymsp[-2].minor.yy57 | yymsp[0].minor.yy57; } -#line 5494 "sql.c" - yymsp[-2].minor.yy57 = yylhsminor.yy57; +{ yylhsminor.yy949 = yymsp[-2].minor.yy949 | yymsp[0].minor.yy949; } +#line 5444 "sql.c" + yymsp[-2].minor.yy949 = yylhsminor.yy949; break; case 45: /* priv_type ::= READ */ #line 133 "sql.y" -{ yymsp[0].minor.yy57 = PRIVILEGE_TYPE_READ; } -#line 5500 "sql.c" +{ yymsp[0].minor.yy949 = PRIVILEGE_TYPE_READ; } +#line 5450 "sql.c" break; case 46: /* priv_type ::= WRITE */ #line 134 "sql.y" -{ yymsp[0].minor.yy57 = PRIVILEGE_TYPE_WRITE; } -#line 5505 "sql.c" +{ yymsp[0].minor.yy949 = PRIVILEGE_TYPE_WRITE; } +#line 5455 "sql.c" break; case 47: /* priv_type ::= ALTER */ #line 135 "sql.y" -{ yymsp[0].minor.yy57 = PRIVILEGE_TYPE_ALTER; } -#line 5510 "sql.c" +{ yymsp[0].minor.yy949 = PRIVILEGE_TYPE_ALTER; } +#line 5460 "sql.c" break; case 48: /* priv_level ::= NK_STAR NK_DOT NK_STAR */ #line 139 "sql.y" -{ yylhsminor.yy825.first = yymsp[-2].minor.yy0; yylhsminor.yy825.second = yymsp[0].minor.yy0; } -#line 5515 "sql.c" - yymsp[-2].minor.yy825 = yylhsminor.yy825; +{ yylhsminor.yy21.first = yymsp[-2].minor.yy0; yylhsminor.yy21.second = yymsp[0].minor.yy0; } +#line 5465 "sql.c" + yymsp[-2].minor.yy21 = yylhsminor.yy21; break; case 49: /* priv_level ::= db_name NK_DOT NK_STAR */ #line 140 "sql.y" -{ yylhsminor.yy825.first = yymsp[-2].minor.yy863; yylhsminor.yy825.second = yymsp[0].minor.yy0; } -#line 5521 "sql.c" - yymsp[-2].minor.yy825 = yylhsminor.yy825; +{ yylhsminor.yy21.first = yymsp[-2].minor.yy701; yylhsminor.yy21.second = yymsp[0].minor.yy0; } +#line 5471 "sql.c" + yymsp[-2].minor.yy21 = yylhsminor.yy21; break; case 50: /* priv_level ::= db_name NK_DOT table_name */ #line 141 "sql.y" -{ yylhsminor.yy825.first = yymsp[-2].minor.yy863; yylhsminor.yy825.second = yymsp[0].minor.yy863; } -#line 5527 "sql.c" - yymsp[-2].minor.yy825 = yylhsminor.yy825; +{ yylhsminor.yy21.first = yymsp[-2].minor.yy701; yylhsminor.yy21.second = yymsp[0].minor.yy701; } +#line 5477 "sql.c" + yymsp[-2].minor.yy21 = yylhsminor.yy21; break; case 51: /* priv_level ::= topic_name */ #line 142 "sql.y" -{ yylhsminor.yy825.first = yymsp[0].minor.yy863; yylhsminor.yy825.second = nil_token; } -#line 5533 "sql.c" - yymsp[0].minor.yy825 = yylhsminor.yy825; +{ yylhsminor.yy21.first = yymsp[0].minor.yy701; yylhsminor.yy21.second = nil_token; } +#line 5483 "sql.c" + yymsp[0].minor.yy21 = yylhsminor.yy21; break; case 52: /* with_opt ::= */ case 157: /* start_opt ::= */ yytestcase(yyruleno==157); @@ -5550,71 +5500,71 @@ static YYACTIONTYPE yy_reduce( case 673: /* slimit_clause_opt ::= */ yytestcase(yyruleno==673); case 677: /* limit_clause_opt ::= */ yytestcase(yyruleno==677); #line 144 "sql.y" -{ yymsp[1].minor.yy110 = NULL; } -#line 5554 "sql.c" +{ yymsp[1].minor.yy896 = NULL; } +#line 5504 "sql.c" break; case 53: /* with_opt ::= WITH search_condition */ case 587: /* from_clause_opt ::= FROM table_reference_list */ yytestcase(yyruleno==587); case 620: /* where_clause_opt ::= WHERE search_condition */ yytestcase(yyruleno==620); case 656: /* having_clause_opt ::= HAVING search_condition */ yytestcase(yyruleno==656); #line 145 "sql.y" -{ yymsp[-1].minor.yy110 = yymsp[0].minor.yy110; } -#line 5562 "sql.c" +{ yymsp[-1].minor.yy896 = yymsp[0].minor.yy896; } +#line 5512 "sql.c" break; case 54: /* cmd ::= CREATE DNODE dnode_endpoint */ #line 148 "sql.y" -{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[0].minor.yy863, NULL); } -#line 5567 "sql.c" +{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[0].minor.yy701, NULL); } +#line 5517 "sql.c" break; case 55: /* cmd ::= CREATE DNODE dnode_endpoint PORT NK_INTEGER */ #line 149 "sql.y" -{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[-2].minor.yy863, &yymsp[0].minor.yy0); } -#line 5572 "sql.c" +{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy0); } +#line 5522 "sql.c" break; case 56: /* cmd ::= DROP DNODE NK_INTEGER force_opt */ #line 150 "sql.y" -{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy1019, false); } -#line 5577 "sql.c" +{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy733, false); } +#line 5527 "sql.c" break; case 57: /* cmd ::= DROP DNODE dnode_endpoint force_opt */ #line 151 "sql.y" -{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy863, yymsp[0].minor.yy1019, false); } -#line 5582 "sql.c" +{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy701, yymsp[0].minor.yy733, false); } +#line 5532 "sql.c" break; case 58: /* cmd ::= DROP DNODE NK_INTEGER unsafe_opt */ #line 152 "sql.y" -{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, false, yymsp[0].minor.yy1019); } -#line 5587 "sql.c" +{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, false, yymsp[0].minor.yy733); } +#line 5537 "sql.c" break; case 59: /* cmd ::= DROP DNODE dnode_endpoint unsafe_opt */ #line 153 "sql.y" -{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy863, false, yymsp[0].minor.yy1019); } -#line 5592 "sql.c" +{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy701, false, yymsp[0].minor.yy733); } +#line 5542 "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 5597 "sql.c" +#line 5547 "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 5602 "sql.c" +#line 5552 "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 5607 "sql.c" +#line 5557 "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 5612 "sql.c" +#line 5562 "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 5617 "sql.c" +#line 5567 "sql.c" break; case 65: /* dnode_endpoint ::= NK_STRING */ case 66: /* dnode_endpoint ::= NK_ID */ yytestcase(yyruleno==66); @@ -5650,9 +5600,9 @@ static YYACTIONTYPE yy_reduce( case 543: /* star_func ::= LAST */ yytestcase(yyruleno==543); case 544: /* star_func ::= LAST_ROW */ yytestcase(yyruleno==544); #line 162 "sql.y" -{ yylhsminor.yy863 = yymsp[0].minor.yy0; } -#line 5654 "sql.c" - yymsp[0].minor.yy863 = yylhsminor.yy863; +{ yylhsminor.yy701 = yymsp[0].minor.yy0; } +#line 5604 "sql.c" + yymsp[0].minor.yy701 = yylhsminor.yy701; break; case 68: /* force_opt ::= */ case 94: /* not_exists_opt ::= */ yytestcase(yyruleno==94); @@ -5664,8 +5614,8 @@ static YYACTIONTYPE yy_reduce( case 607: /* tag_mode_opt ::= */ yytestcase(yyruleno==607); case 609: /* set_quantifier_opt ::= */ yytestcase(yyruleno==609); #line 168 "sql.y" -{ yymsp[1].minor.yy1019 = false; } -#line 5668 "sql.c" +{ yymsp[1].minor.yy733 = false; } +#line 5618 "sql.c" break; case 69: /* force_opt ::= FORCE */ case 70: /* unsafe_opt ::= UNSAFE */ yytestcase(yyruleno==70); @@ -5674,440 +5624,440 @@ static YYACTIONTYPE yy_reduce( case 608: /* tag_mode_opt ::= TAGS */ yytestcase(yyruleno==608); case 610: /* set_quantifier_opt ::= DISTINCT */ yytestcase(yyruleno==610); #line 169 "sql.y" -{ yymsp[0].minor.yy1019 = true; } -#line 5678 "sql.c" +{ yymsp[0].minor.yy733 = true; } +#line 5628 "sql.c" break; case 71: /* cmd ::= ALTER CLUSTER NK_STRING */ #line 176 "sql.y" { pCxt->pRootNode = createAlterClusterStmt(pCxt, &yymsp[0].minor.yy0, NULL); } -#line 5683 "sql.c" +#line 5633 "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 5688 "sql.c" +#line 5638 "sql.c" break; case 73: /* cmd ::= ALTER LOCAL NK_STRING */ #line 180 "sql.y" { pCxt->pRootNode = createAlterLocalStmt(pCxt, &yymsp[0].minor.yy0, NULL); } -#line 5693 "sql.c" +#line 5643 "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 5698 "sql.c" +#line 5648 "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 5703 "sql.c" +#line 5653 "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 5708 "sql.c" +#line 5658 "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 5713 "sql.c" +#line 5663 "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 5718 "sql.c" +#line 5668 "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 5723 "sql.c" +#line 5673 "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 5728 "sql.c" +#line 5678 "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 5733 "sql.c" +#line 5683 "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 5738 "sql.c" +#line 5688 "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 5743 "sql.c" +#line 5693 "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 5748 "sql.c" +#line 5698 "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 5753 "sql.c" +#line 5703 "sql.c" break; case 86: /* cmd ::= CREATE DATABASE not_exists_opt db_name db_options */ #line 205 "sql.y" -{ pCxt->pRootNode = createCreateDatabaseStmt(pCxt, yymsp[-2].minor.yy1019, &yymsp[-1].minor.yy863, yymsp[0].minor.yy110); } -#line 5758 "sql.c" +{ pCxt->pRootNode = createCreateDatabaseStmt(pCxt, yymsp[-2].minor.yy733, &yymsp[-1].minor.yy701, yymsp[0].minor.yy896); } +#line 5708 "sql.c" break; case 87: /* cmd ::= DROP DATABASE exists_opt db_name */ #line 206 "sql.y" -{ pCxt->pRootNode = createDropDatabaseStmt(pCxt, yymsp[-1].minor.yy1019, &yymsp[0].minor.yy863); } -#line 5763 "sql.c" +{ pCxt->pRootNode = createDropDatabaseStmt(pCxt, yymsp[-1].minor.yy733, &yymsp[0].minor.yy701); } +#line 5713 "sql.c" break; case 88: /* cmd ::= USE db_name */ #line 207 "sql.y" -{ pCxt->pRootNode = createUseDatabaseStmt(pCxt, &yymsp[0].minor.yy863); } -#line 5768 "sql.c" +{ pCxt->pRootNode = createUseDatabaseStmt(pCxt, &yymsp[0].minor.yy701); } +#line 5718 "sql.c" break; case 89: /* cmd ::= ALTER DATABASE db_name alter_db_options */ #line 208 "sql.y" -{ pCxt->pRootNode = createAlterDatabaseStmt(pCxt, &yymsp[-1].minor.yy863, yymsp[0].minor.yy110); } -#line 5773 "sql.c" +{ pCxt->pRootNode = createAlterDatabaseStmt(pCxt, &yymsp[-1].minor.yy701, yymsp[0].minor.yy896); } +#line 5723 "sql.c" break; case 90: /* cmd ::= FLUSH DATABASE db_name */ #line 209 "sql.y" -{ pCxt->pRootNode = createFlushDatabaseStmt(pCxt, &yymsp[0].minor.yy863); } -#line 5778 "sql.c" +{ pCxt->pRootNode = createFlushDatabaseStmt(pCxt, &yymsp[0].minor.yy701); } +#line 5728 "sql.c" break; case 91: /* cmd ::= TRIM DATABASE db_name speed_opt */ #line 210 "sql.y" -{ pCxt->pRootNode = createTrimDatabaseStmt(pCxt, &yymsp[-1].minor.yy863, yymsp[0].minor.yy376); } -#line 5783 "sql.c" +{ pCxt->pRootNode = createTrimDatabaseStmt(pCxt, &yymsp[-1].minor.yy701, yymsp[0].minor.yy396); } +#line 5733 "sql.c" break; case 92: /* cmd ::= COMPACT DATABASE db_name start_opt end_opt */ #line 211 "sql.y" -{ pCxt->pRootNode = createCompactStmt(pCxt, &yymsp[-2].minor.yy863, yymsp[-1].minor.yy110, yymsp[0].minor.yy110); } -#line 5788 "sql.c" +{ pCxt->pRootNode = createCompactStmt(pCxt, &yymsp[-2].minor.yy701, yymsp[-1].minor.yy896, yymsp[0].minor.yy896); } +#line 5738 "sql.c" break; case 93: /* not_exists_opt ::= IF NOT EXISTS */ #line 215 "sql.y" -{ yymsp[-2].minor.yy1019 = true; } -#line 5793 "sql.c" +{ yymsp[-2].minor.yy733 = true; } +#line 5743 "sql.c" break; case 95: /* exists_opt ::= IF EXISTS */ case 366: /* or_replace_opt ::= OR REPLACE */ yytestcase(yyruleno==366); case 392: /* ignore_opt ::= IGNORE UNTREATED */ yytestcase(yyruleno==392); #line 220 "sql.y" -{ yymsp[-1].minor.yy1019 = true; } -#line 5800 "sql.c" +{ yymsp[-1].minor.yy733 = true; } +#line 5750 "sql.c" break; case 97: /* db_options ::= */ #line 223 "sql.y" -{ yymsp[1].minor.yy110 = createDefaultDatabaseOptions(pCxt); } -#line 5805 "sql.c" +{ yymsp[1].minor.yy896 = createDefaultDatabaseOptions(pCxt); } +#line 5755 "sql.c" break; case 98: /* db_options ::= db_options BUFFER NK_INTEGER */ #line 224 "sql.y" -{ yylhsminor.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_BUFFER, &yymsp[0].minor.yy0); } -#line 5810 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_BUFFER, &yymsp[0].minor.yy0); } +#line 5760 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 99: /* db_options ::= db_options CACHEMODEL NK_STRING */ #line 225 "sql.y" -{ yylhsminor.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_CACHEMODEL, &yymsp[0].minor.yy0); } -#line 5816 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_CACHEMODEL, &yymsp[0].minor.yy0); } +#line 5766 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 100: /* db_options ::= db_options CACHESIZE NK_INTEGER */ #line 226 "sql.y" -{ yylhsminor.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_CACHESIZE, &yymsp[0].minor.yy0); } -#line 5822 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_CACHESIZE, &yymsp[0].minor.yy0); } +#line 5772 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 101: /* db_options ::= db_options COMP NK_INTEGER */ #line 227 "sql.y" -{ yylhsminor.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_COMP, &yymsp[0].minor.yy0); } -#line 5828 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_COMP, &yymsp[0].minor.yy0); } +#line 5778 "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); #line 228 "sql.y" -{ yylhsminor.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_DAYS, &yymsp[0].minor.yy0); } -#line 5835 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_DAYS, &yymsp[0].minor.yy0); } +#line 5785 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 104: /* db_options ::= db_options MAXROWS NK_INTEGER */ #line 230 "sql.y" -{ yylhsminor.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_MAXROWS, &yymsp[0].minor.yy0); } -#line 5841 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_MAXROWS, &yymsp[0].minor.yy0); } +#line 5791 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 105: /* db_options ::= db_options MINROWS NK_INTEGER */ #line 231 "sql.y" -{ yylhsminor.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_MINROWS, &yymsp[0].minor.yy0); } -#line 5847 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_MINROWS, &yymsp[0].minor.yy0); } +#line 5797 "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); #line 232 "sql.y" -{ yylhsminor.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_KEEP, yymsp[0].minor.yy652); } -#line 5854 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_KEEP, yymsp[0].minor.yy404); } +#line 5804 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 108: /* db_options ::= db_options PAGES NK_INTEGER */ #line 234 "sql.y" -{ yylhsminor.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_PAGES, &yymsp[0].minor.yy0); } -#line 5860 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_PAGES, &yymsp[0].minor.yy0); } +#line 5810 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 109: /* db_options ::= db_options PAGESIZE NK_INTEGER */ #line 235 "sql.y" -{ yylhsminor.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_PAGESIZE, &yymsp[0].minor.yy0); } -#line 5866 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_PAGESIZE, &yymsp[0].minor.yy0); } +#line 5816 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 110: /* db_options ::= db_options TSDB_PAGESIZE NK_INTEGER */ #line 236 "sql.y" -{ yylhsminor.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_TSDB_PAGESIZE, &yymsp[0].minor.yy0); } -#line 5872 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_TSDB_PAGESIZE, &yymsp[0].minor.yy0); } +#line 5822 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 111: /* db_options ::= db_options PRECISION NK_STRING */ #line 237 "sql.y" -{ yylhsminor.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_PRECISION, &yymsp[0].minor.yy0); } -#line 5878 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_PRECISION, &yymsp[0].minor.yy0); } +#line 5828 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 112: /* db_options ::= db_options REPLICA NK_INTEGER */ #line 238 "sql.y" -{ yylhsminor.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_REPLICA, &yymsp[0].minor.yy0); } -#line 5884 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_REPLICA, &yymsp[0].minor.yy0); } +#line 5834 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 113: /* db_options ::= db_options VGROUPS NK_INTEGER */ #line 240 "sql.y" -{ yylhsminor.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_VGROUPS, &yymsp[0].minor.yy0); } -#line 5890 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_VGROUPS, &yymsp[0].minor.yy0); } +#line 5840 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 114: /* db_options ::= db_options SINGLE_STABLE NK_INTEGER */ #line 241 "sql.y" -{ yylhsminor.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_SINGLE_STABLE, &yymsp[0].minor.yy0); } -#line 5896 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_SINGLE_STABLE, &yymsp[0].minor.yy0); } +#line 5846 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 115: /* db_options ::= db_options RETENTIONS retention_list */ #line 242 "sql.y" -{ yylhsminor.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_RETENTIONS, yymsp[0].minor.yy652); } -#line 5902 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_RETENTIONS, yymsp[0].minor.yy404); } +#line 5852 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 116: /* db_options ::= db_options SCHEMALESS NK_INTEGER */ #line 243 "sql.y" -{ yylhsminor.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_SCHEMALESS, &yymsp[0].minor.yy0); } -#line 5908 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_SCHEMALESS, &yymsp[0].minor.yy0); } +#line 5858 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 117: /* db_options ::= db_options WAL_LEVEL NK_INTEGER */ #line 244 "sql.y" -{ yylhsminor.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_WAL, &yymsp[0].minor.yy0); } -#line 5914 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_WAL, &yymsp[0].minor.yy0); } +#line 5864 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 118: /* db_options ::= db_options WAL_FSYNC_PERIOD NK_INTEGER */ #line 245 "sql.y" -{ yylhsminor.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_FSYNC, &yymsp[0].minor.yy0); } -#line 5920 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_FSYNC, &yymsp[0].minor.yy0); } +#line 5870 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 119: /* db_options ::= db_options WAL_RETENTION_PERIOD NK_INTEGER */ #line 246 "sql.y" -{ yylhsminor.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_WAL_RETENTION_PERIOD, &yymsp[0].minor.yy0); } -#line 5926 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_WAL_RETENTION_PERIOD, &yymsp[0].minor.yy0); } +#line 5876 "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.yy110 = setDatabaseOption(pCxt, yymsp[-3].minor.yy110, DB_OPTION_WAL_RETENTION_PERIOD, &t); + yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-3].minor.yy896, DB_OPTION_WAL_RETENTION_PERIOD, &t); } -#line 5936 "sql.c" - yymsp[-3].minor.yy110 = yylhsminor.yy110; +#line 5886 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; case 121: /* db_options ::= db_options WAL_RETENTION_SIZE NK_INTEGER */ #line 252 "sql.y" -{ yylhsminor.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_WAL_RETENTION_SIZE, &yymsp[0].minor.yy0); } -#line 5942 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_WAL_RETENTION_SIZE, &yymsp[0].minor.yy0); } +#line 5892 "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.yy110 = setDatabaseOption(pCxt, yymsp[-3].minor.yy110, DB_OPTION_WAL_RETENTION_SIZE, &t); + yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-3].minor.yy896, DB_OPTION_WAL_RETENTION_SIZE, &t); } -#line 5952 "sql.c" - yymsp[-3].minor.yy110 = yylhsminor.yy110; +#line 5902 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; case 123: /* db_options ::= db_options WAL_ROLL_PERIOD NK_INTEGER */ #line 258 "sql.y" -{ yylhsminor.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_WAL_ROLL_PERIOD, &yymsp[0].minor.yy0); } -#line 5958 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_WAL_ROLL_PERIOD, &yymsp[0].minor.yy0); } +#line 5908 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 124: /* db_options ::= db_options WAL_SEGMENT_SIZE NK_INTEGER */ #line 259 "sql.y" -{ yylhsminor.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_WAL_SEGMENT_SIZE, &yymsp[0].minor.yy0); } -#line 5964 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_WAL_SEGMENT_SIZE, &yymsp[0].minor.yy0); } +#line 5914 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 125: /* db_options ::= db_options STT_TRIGGER NK_INTEGER */ #line 260 "sql.y" -{ yylhsminor.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_STT_TRIGGER, &yymsp[0].minor.yy0); } -#line 5970 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_STT_TRIGGER, &yymsp[0].minor.yy0); } +#line 5920 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 126: /* db_options ::= db_options TABLE_PREFIX signed */ #line 261 "sql.y" -{ yylhsminor.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_TABLE_PREFIX, yymsp[0].minor.yy110); } -#line 5976 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_TABLE_PREFIX, yymsp[0].minor.yy896); } +#line 5926 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 127: /* db_options ::= db_options TABLE_SUFFIX signed */ #line 262 "sql.y" -{ yylhsminor.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_TABLE_SUFFIX, yymsp[0].minor.yy110); } -#line 5982 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_TABLE_SUFFIX, yymsp[0].minor.yy896); } +#line 5932 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 128: /* db_options ::= db_options KEEP_TIME_OFFSET NK_INTEGER */ #line 263 "sql.y" -{ yylhsminor.yy110 = setDatabaseOption(pCxt, yymsp[-2].minor.yy110, DB_OPTION_KEEP_TIME_OFFSET, &yymsp[0].minor.yy0); } -#line 5988 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_KEEP_TIME_OFFSET, &yymsp[0].minor.yy0); } +#line 5938 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 129: /* alter_db_options ::= alter_db_option */ #line 265 "sql.y" -{ yylhsminor.yy110 = createAlterDatabaseOptions(pCxt); yylhsminor.yy110 = setAlterDatabaseOption(pCxt, yylhsminor.yy110, &yymsp[0].minor.yy491); } -#line 5994 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createAlterDatabaseOptions(pCxt); yylhsminor.yy896 = setAlterDatabaseOption(pCxt, yylhsminor.yy896, &yymsp[0].minor.yy529); } +#line 5944 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 130: /* alter_db_options ::= alter_db_options alter_db_option */ #line 266 "sql.y" -{ yylhsminor.yy110 = setAlterDatabaseOption(pCxt, yymsp[-1].minor.yy110, &yymsp[0].minor.yy491); } -#line 6000 "sql.c" - yymsp[-1].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setAlterDatabaseOption(pCxt, yymsp[-1].minor.yy896, &yymsp[0].minor.yy529); } +#line 5950 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; case 131: /* alter_db_option ::= BUFFER NK_INTEGER */ #line 270 "sql.y" -{ yymsp[-1].minor.yy491.type = DB_OPTION_BUFFER; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } -#line 6006 "sql.c" +{ yymsp[-1].minor.yy529.type = DB_OPTION_BUFFER; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 5956 "sql.c" break; case 132: /* alter_db_option ::= CACHEMODEL NK_STRING */ #line 271 "sql.y" -{ yymsp[-1].minor.yy491.type = DB_OPTION_CACHEMODEL; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } -#line 6011 "sql.c" +{ yymsp[-1].minor.yy529.type = DB_OPTION_CACHEMODEL; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 5961 "sql.c" break; case 133: /* alter_db_option ::= CACHESIZE NK_INTEGER */ #line 272 "sql.y" -{ yymsp[-1].minor.yy491.type = DB_OPTION_CACHESIZE; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } -#line 6016 "sql.c" +{ yymsp[-1].minor.yy529.type = DB_OPTION_CACHESIZE; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 5966 "sql.c" break; case 134: /* alter_db_option ::= WAL_FSYNC_PERIOD NK_INTEGER */ #line 273 "sql.y" -{ yymsp[-1].minor.yy491.type = DB_OPTION_FSYNC; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } -#line 6021 "sql.c" +{ yymsp[-1].minor.yy529.type = DB_OPTION_FSYNC; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 5971 "sql.c" break; case 135: /* alter_db_option ::= KEEP integer_list */ case 136: /* alter_db_option ::= KEEP variable_list */ yytestcase(yyruleno==136); #line 274 "sql.y" -{ yymsp[-1].minor.yy491.type = DB_OPTION_KEEP; yymsp[-1].minor.yy491.pList = yymsp[0].minor.yy652; } -#line 6027 "sql.c" +{ yymsp[-1].minor.yy529.type = DB_OPTION_KEEP; yymsp[-1].minor.yy529.pList = yymsp[0].minor.yy404; } +#line 5977 "sql.c" break; case 137: /* alter_db_option ::= PAGES NK_INTEGER */ #line 276 "sql.y" -{ yymsp[-1].minor.yy491.type = DB_OPTION_PAGES; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } -#line 6032 "sql.c" +{ yymsp[-1].minor.yy529.type = DB_OPTION_PAGES; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 5982 "sql.c" break; case 138: /* alter_db_option ::= REPLICA NK_INTEGER */ #line 277 "sql.y" -{ yymsp[-1].minor.yy491.type = DB_OPTION_REPLICA; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } -#line 6037 "sql.c" +{ yymsp[-1].minor.yy529.type = DB_OPTION_REPLICA; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 5987 "sql.c" break; case 139: /* alter_db_option ::= WAL_LEVEL NK_INTEGER */ #line 279 "sql.y" -{ yymsp[-1].minor.yy491.type = DB_OPTION_WAL; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } -#line 6042 "sql.c" +{ yymsp[-1].minor.yy529.type = DB_OPTION_WAL; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 5992 "sql.c" break; case 140: /* alter_db_option ::= STT_TRIGGER NK_INTEGER */ #line 280 "sql.y" -{ yymsp[-1].minor.yy491.type = DB_OPTION_STT_TRIGGER; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } -#line 6047 "sql.c" +{ yymsp[-1].minor.yy529.type = DB_OPTION_STT_TRIGGER; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 5997 "sql.c" break; case 141: /* alter_db_option ::= MINROWS NK_INTEGER */ #line 281 "sql.y" -{ yymsp[-1].minor.yy491.type = DB_OPTION_MINROWS; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } -#line 6052 "sql.c" +{ yymsp[-1].minor.yy529.type = DB_OPTION_MINROWS; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 6002 "sql.c" break; case 142: /* alter_db_option ::= WAL_RETENTION_PERIOD NK_INTEGER */ #line 282 "sql.y" -{ yymsp[-1].minor.yy491.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } -#line 6057 "sql.c" +{ yymsp[-1].minor.yy529.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 6007 "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.yy491.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-2].minor.yy491.val = t; + yymsp[-2].minor.yy529.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-2].minor.yy529.val = t; } -#line 6066 "sql.c" +#line 6016 "sql.c" break; case 144: /* alter_db_option ::= WAL_RETENTION_SIZE NK_INTEGER */ #line 288 "sql.y" -{ yymsp[-1].minor.yy491.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } -#line 6071 "sql.c" +{ yymsp[-1].minor.yy529.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 6021 "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.yy491.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-2].minor.yy491.val = t; + yymsp[-2].minor.yy529.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-2].minor.yy529.val = t; } -#line 6080 "sql.c" +#line 6030 "sql.c" break; case 146: /* alter_db_option ::= KEEP_TIME_OFFSET NK_INTEGER */ #line 294 "sql.y" -{ yymsp[-1].minor.yy491.type = DB_OPTION_KEEP_TIME_OFFSET; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } -#line 6085 "sql.c" +{ yymsp[-1].minor.yy529.type = DB_OPTION_KEEP_TIME_OFFSET; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 6035 "sql.c" break; case 147: /* integer_list ::= NK_INTEGER */ #line 298 "sql.y" -{ yylhsminor.yy652 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } -#line 6090 "sql.c" - yymsp[0].minor.yy652 = yylhsminor.yy652; +{ yylhsminor.yy404 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } +#line 6040 "sql.c" + yymsp[0].minor.yy404 = yylhsminor.yy404; break; case 148: /* integer_list ::= integer_list NK_COMMA NK_INTEGER */ case 405: /* dnode_list ::= dnode_list DNODE NK_INTEGER */ yytestcase(yyruleno==405); #line 299 "sql.y" -{ yylhsminor.yy652 = addNodeToList(pCxt, yymsp[-2].minor.yy652, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } -#line 6097 "sql.c" - yymsp[-2].minor.yy652 = yylhsminor.yy652; +{ yylhsminor.yy404 = addNodeToList(pCxt, yymsp[-2].minor.yy404, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } +#line 6047 "sql.c" + yymsp[-2].minor.yy404 = yylhsminor.yy404; break; case 149: /* variable_list ::= NK_VARIABLE */ #line 303 "sql.y" -{ yylhsminor.yy652 = createNodeList(pCxt, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } -#line 6103 "sql.c" - yymsp[0].minor.yy652 = yylhsminor.yy652; +{ yylhsminor.yy404 = createNodeList(pCxt, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } +#line 6053 "sql.c" + yymsp[0].minor.yy404 = yylhsminor.yy404; break; case 150: /* variable_list ::= variable_list NK_COMMA NK_VARIABLE */ #line 304 "sql.y" -{ yylhsminor.yy652 = addNodeToList(pCxt, yymsp[-2].minor.yy652, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } -#line 6109 "sql.c" - yymsp[-2].minor.yy652 = yylhsminor.yy652; +{ yylhsminor.yy404 = addNodeToList(pCxt, yymsp[-2].minor.yy404, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } +#line 6059 "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); @@ -6125,9 +6075,9 @@ static YYACTIONTYPE yy_reduce( case 623: /* partition_list ::= partition_item */ yytestcase(yyruleno==623); case 684: /* sort_specification_list ::= sort_specification */ yytestcase(yyruleno==684); #line 308 "sql.y" -{ yylhsminor.yy652 = createNodeList(pCxt, yymsp[0].minor.yy110); } -#line 6129 "sql.c" - yymsp[0].minor.yy652 = yylhsminor.yy652; +{ yylhsminor.yy404 = createNodeList(pCxt, yymsp[0].minor.yy896); } +#line 6079 "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); @@ -6143,1094 +6093,1094 @@ static YYACTIONTYPE yy_reduce( case 624: /* partition_list ::= partition_list NK_COMMA partition_item */ yytestcase(yyruleno==624); case 685: /* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ yytestcase(yyruleno==685); #line 309 "sql.y" -{ yylhsminor.yy652 = addNodeToList(pCxt, yymsp[-2].minor.yy652, yymsp[0].minor.yy110); } -#line 6147 "sql.c" - yymsp[-2].minor.yy652 = yylhsminor.yy652; +{ yylhsminor.yy404 = addNodeToList(pCxt, yymsp[-2].minor.yy404, yymsp[0].minor.yy896); } +#line 6097 "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); #line 311 "sql.y" -{ yylhsminor.yy110 = createNodeListNodeEx(pCxt, createDurationValueNode(pCxt, &yymsp[-2].minor.yy0), createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } -#line 6154 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createNodeListNodeEx(pCxt, createDurationValueNode(pCxt, &yymsp[-2].minor.yy0), createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } +#line 6104 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 155: /* speed_opt ::= */ case 361: /* bufsize_opt ::= */ yytestcase(yyruleno==361); #line 316 "sql.y" -{ yymsp[1].minor.yy376 = 0; } -#line 6161 "sql.c" +{ yymsp[1].minor.yy396 = 0; } +#line 6111 "sql.c" break; case 156: /* speed_opt ::= BWLIMIT NK_INTEGER */ case 362: /* bufsize_opt ::= BUFSIZE NK_INTEGER */ yytestcase(yyruleno==362); #line 317 "sql.y" -{ yymsp[-1].minor.yy376 = taosStr2Int32(yymsp[0].minor.yy0.z, NULL, 10); } -#line 6167 "sql.c" +{ yymsp[-1].minor.yy396 = taosStr2Int32(yymsp[0].minor.yy0.z, NULL, 10); } +#line 6117 "sql.c" break; case 158: /* start_opt ::= START WITH NK_INTEGER */ case 162: /* end_opt ::= END WITH NK_INTEGER */ yytestcase(yyruleno==162); #line 320 "sql.y" -{ yymsp[-2].minor.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0); } -#line 6173 "sql.c" +{ yymsp[-2].minor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0); } +#line 6123 "sql.c" break; case 159: /* start_opt ::= START WITH NK_STRING */ case 163: /* end_opt ::= END WITH NK_STRING */ yytestcase(yyruleno==163); #line 321 "sql.y" -{ yymsp[-2].minor.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } -#line 6179 "sql.c" +{ yymsp[-2].minor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } +#line 6129 "sql.c" break; case 160: /* start_opt ::= START WITH TIMESTAMP NK_STRING */ case 164: /* end_opt ::= END WITH TIMESTAMP NK_STRING */ yytestcase(yyruleno==164); #line 322 "sql.y" -{ yymsp[-3].minor.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } -#line 6185 "sql.c" +{ yymsp[-3].minor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } +#line 6135 "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); #line 331 "sql.y" -{ pCxt->pRootNode = createCreateTableStmt(pCxt, yymsp[-6].minor.yy1019, yymsp[-5].minor.yy110, yymsp[-3].minor.yy652, yymsp[-1].minor.yy652, yymsp[0].minor.yy110); } -#line 6191 "sql.c" +{ 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 6141 "sql.c" break; case 166: /* cmd ::= CREATE TABLE multi_create_clause */ #line 332 "sql.y" -{ pCxt->pRootNode = createCreateMultiTableStmt(pCxt, yymsp[0].minor.yy652); } -#line 6196 "sql.c" +{ pCxt->pRootNode = createCreateMultiTableStmt(pCxt, yymsp[0].minor.yy404); } +#line 6146 "sql.c" break; case 168: /* cmd ::= DROP TABLE multi_drop_clause */ #line 335 "sql.y" -{ pCxt->pRootNode = createDropTableStmt(pCxt, yymsp[0].minor.yy652); } -#line 6201 "sql.c" +{ pCxt->pRootNode = createDropTableStmt(pCxt, yymsp[0].minor.yy404); } +#line 6151 "sql.c" break; case 169: /* cmd ::= DROP STABLE exists_opt full_table_name */ #line 336 "sql.y" -{ pCxt->pRootNode = createDropSuperTableStmt(pCxt, yymsp[-1].minor.yy1019, yymsp[0].minor.yy110); } -#line 6206 "sql.c" +{ pCxt->pRootNode = createDropSuperTableStmt(pCxt, yymsp[-1].minor.yy733, yymsp[0].minor.yy896); } +#line 6156 "sql.c" break; case 170: /* cmd ::= ALTER TABLE alter_table_clause */ case 407: /* cmd ::= query_or_subquery */ yytestcase(yyruleno==407); case 408: /* cmd ::= insert_query */ yytestcase(yyruleno==408); #line 338 "sql.y" -{ pCxt->pRootNode = yymsp[0].minor.yy110; } -#line 6213 "sql.c" +{ pCxt->pRootNode = yymsp[0].minor.yy896; } +#line 6163 "sql.c" break; case 171: /* cmd ::= ALTER STABLE alter_table_clause */ #line 339 "sql.y" -{ pCxt->pRootNode = setAlterSuperTableType(yymsp[0].minor.yy110); } -#line 6218 "sql.c" +{ pCxt->pRootNode = setAlterSuperTableType(yymsp[0].minor.yy896); } +#line 6168 "sql.c" break; case 172: /* alter_table_clause ::= full_table_name alter_table_options */ #line 341 "sql.y" -{ yylhsminor.yy110 = createAlterTableModifyOptions(pCxt, yymsp[-1].minor.yy110, yymsp[0].minor.yy110); } -#line 6223 "sql.c" - yymsp[-1].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createAlterTableModifyOptions(pCxt, yymsp[-1].minor.yy896, yymsp[0].minor.yy896); } +#line 6173 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; case 173: /* alter_table_clause ::= full_table_name ADD COLUMN column_name type_name */ #line 343 "sql.y" -{ yylhsminor.yy110 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy110, TSDB_ALTER_TABLE_ADD_COLUMN, &yymsp[-1].minor.yy863, yymsp[0].minor.yy34); } -#line 6229 "sql.c" - yymsp[-4].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy896, TSDB_ALTER_TABLE_ADD_COLUMN, &yymsp[-1].minor.yy701, yymsp[0].minor.yy504); } +#line 6179 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; case 174: /* alter_table_clause ::= full_table_name DROP COLUMN column_name */ #line 344 "sql.y" -{ yylhsminor.yy110 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy110, TSDB_ALTER_TABLE_DROP_COLUMN, &yymsp[0].minor.yy863); } -#line 6235 "sql.c" - yymsp[-3].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy896, TSDB_ALTER_TABLE_DROP_COLUMN, &yymsp[0].minor.yy701); } +#line 6185 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; case 175: /* alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */ #line 346 "sql.y" -{ yylhsminor.yy110 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy110, TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES, &yymsp[-1].minor.yy863, yymsp[0].minor.yy34); } -#line 6241 "sql.c" - yymsp[-4].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy896, TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES, &yymsp[-1].minor.yy701, yymsp[0].minor.yy504); } +#line 6191 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; case 176: /* alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */ #line 348 "sql.y" -{ yylhsminor.yy110 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy110, TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME, &yymsp[-1].minor.yy863, &yymsp[0].minor.yy863); } -#line 6247 "sql.c" - yymsp[-4].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy896, TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME, &yymsp[-1].minor.yy701, &yymsp[0].minor.yy701); } +#line 6197 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; case 177: /* alter_table_clause ::= full_table_name ADD TAG column_name type_name */ #line 350 "sql.y" -{ yylhsminor.yy110 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy110, TSDB_ALTER_TABLE_ADD_TAG, &yymsp[-1].minor.yy863, yymsp[0].minor.yy34); } -#line 6253 "sql.c" - yymsp[-4].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy896, TSDB_ALTER_TABLE_ADD_TAG, &yymsp[-1].minor.yy701, yymsp[0].minor.yy504); } +#line 6203 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; case 178: /* alter_table_clause ::= full_table_name DROP TAG column_name */ #line 351 "sql.y" -{ yylhsminor.yy110 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy110, TSDB_ALTER_TABLE_DROP_TAG, &yymsp[0].minor.yy863); } -#line 6259 "sql.c" - yymsp[-3].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy896, TSDB_ALTER_TABLE_DROP_TAG, &yymsp[0].minor.yy701); } +#line 6209 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; case 179: /* alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */ #line 353 "sql.y" -{ yylhsminor.yy110 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy110, TSDB_ALTER_TABLE_UPDATE_TAG_BYTES, &yymsp[-1].minor.yy863, yymsp[0].minor.yy34); } -#line 6265 "sql.c" - yymsp[-4].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy896, TSDB_ALTER_TABLE_UPDATE_TAG_BYTES, &yymsp[-1].minor.yy701, yymsp[0].minor.yy504); } +#line 6215 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; case 180: /* alter_table_clause ::= full_table_name RENAME TAG column_name column_name */ #line 355 "sql.y" -{ yylhsminor.yy110 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy110, TSDB_ALTER_TABLE_UPDATE_TAG_NAME, &yymsp[-1].minor.yy863, &yymsp[0].minor.yy863); } -#line 6271 "sql.c" - yymsp[-4].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy896, TSDB_ALTER_TABLE_UPDATE_TAG_NAME, &yymsp[-1].minor.yy701, &yymsp[0].minor.yy701); } +#line 6221 "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 */ #line 357 "sql.y" -{ yylhsminor.yy110 = createAlterTableSetTag(pCxt, yymsp[-5].minor.yy110, &yymsp[-2].minor.yy863, yymsp[0].minor.yy110); } -#line 6277 "sql.c" - yymsp[-5].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createAlterTableSetTag(pCxt, yymsp[-5].minor.yy896, &yymsp[-2].minor.yy701, yymsp[0].minor.yy896); } +#line 6227 "sql.c" + yymsp[-5].minor.yy896 = yylhsminor.yy896; break; case 183: /* multi_create_clause ::= multi_create_clause create_subtable_clause */ case 554: /* when_then_list ::= when_then_list when_then_expr */ yytestcase(yyruleno==554); #line 362 "sql.y" -{ yylhsminor.yy652 = addNodeToList(pCxt, yymsp[-1].minor.yy652, yymsp[0].minor.yy110); } -#line 6284 "sql.c" - yymsp[-1].minor.yy652 = yylhsminor.yy652; +{ yylhsminor.yy404 = addNodeToList(pCxt, yymsp[-1].minor.yy404, yymsp[0].minor.yy896); } +#line 6234 "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 */ #line 366 "sql.y" -{ yylhsminor.yy110 = createCreateSubTableClause(pCxt, yymsp[-9].minor.yy1019, yymsp[-8].minor.yy110, yymsp[-6].minor.yy110, yymsp[-5].minor.yy652, yymsp[-2].minor.yy652, yymsp[0].minor.yy110); } -#line 6290 "sql.c" - yymsp[-9].minor.yy110 = yylhsminor.yy110; +{ 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 6240 "sql.c" + yymsp[-9].minor.yy896 = yylhsminor.yy896; break; case 187: /* drop_table_clause ::= exists_opt full_table_name */ #line 373 "sql.y" -{ yylhsminor.yy110 = createDropTableClause(pCxt, yymsp[-1].minor.yy1019, yymsp[0].minor.yy110); } -#line 6296 "sql.c" - yymsp[-1].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createDropTableClause(pCxt, yymsp[-1].minor.yy733, yymsp[0].minor.yy896); } +#line 6246 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; case 189: /* specific_cols_opt ::= NK_LP col_name_list NK_RP */ case 376: /* col_list_opt ::= NK_LP col_name_list NK_RP */ yytestcase(yyruleno==376); #line 378 "sql.y" -{ yymsp[-2].minor.yy652 = yymsp[-1].minor.yy652; } -#line 6303 "sql.c" +{ yymsp[-2].minor.yy404 = yymsp[-1].minor.yy404; } +#line 6253 "sql.c" break; case 190: /* full_table_name ::= table_name */ #line 380 "sql.y" -{ yylhsminor.yy110 = createRealTableNode(pCxt, NULL, &yymsp[0].minor.yy863, NULL); } -#line 6308 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRealTableNode(pCxt, NULL, &yymsp[0].minor.yy701, NULL); } +#line 6258 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 191: /* full_table_name ::= db_name NK_DOT table_name */ #line 381 "sql.y" -{ yylhsminor.yy110 = createRealTableNode(pCxt, &yymsp[-2].minor.yy863, &yymsp[0].minor.yy863, NULL); } -#line 6314 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRealTableNode(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy701, NULL); } +#line 6264 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 194: /* column_def ::= column_name type_name */ #line 388 "sql.y" -{ yylhsminor.yy110 = createColumnDefNode(pCxt, &yymsp[-1].minor.yy863, yymsp[0].minor.yy34, NULL); } -#line 6320 "sql.c" - yymsp[-1].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createColumnDefNode(pCxt, &yymsp[-1].minor.yy701, yymsp[0].minor.yy504, NULL); } +#line 6270 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; case 195: /* type_name ::= BOOL */ #line 393 "sql.y" -{ yymsp[0].minor.yy34 = createDataType(TSDB_DATA_TYPE_BOOL); } -#line 6326 "sql.c" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_BOOL); } +#line 6276 "sql.c" break; case 196: /* type_name ::= TINYINT */ #line 394 "sql.y" -{ yymsp[0].minor.yy34 = createDataType(TSDB_DATA_TYPE_TINYINT); } -#line 6331 "sql.c" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_TINYINT); } +#line 6281 "sql.c" break; case 197: /* type_name ::= SMALLINT */ #line 395 "sql.y" -{ yymsp[0].minor.yy34 = createDataType(TSDB_DATA_TYPE_SMALLINT); } -#line 6336 "sql.c" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_SMALLINT); } +#line 6286 "sql.c" break; case 198: /* type_name ::= INT */ case 199: /* type_name ::= INTEGER */ yytestcase(yyruleno==199); #line 396 "sql.y" -{ yymsp[0].minor.yy34 = createDataType(TSDB_DATA_TYPE_INT); } -#line 6342 "sql.c" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_INT); } +#line 6292 "sql.c" break; case 200: /* type_name ::= BIGINT */ #line 398 "sql.y" -{ yymsp[0].minor.yy34 = createDataType(TSDB_DATA_TYPE_BIGINT); } -#line 6347 "sql.c" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_BIGINT); } +#line 6297 "sql.c" break; case 201: /* type_name ::= FLOAT */ #line 399 "sql.y" -{ yymsp[0].minor.yy34 = createDataType(TSDB_DATA_TYPE_FLOAT); } -#line 6352 "sql.c" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_FLOAT); } +#line 6302 "sql.c" break; case 202: /* type_name ::= DOUBLE */ #line 400 "sql.y" -{ yymsp[0].minor.yy34 = createDataType(TSDB_DATA_TYPE_DOUBLE); } -#line 6357 "sql.c" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_DOUBLE); } +#line 6307 "sql.c" break; case 203: /* type_name ::= BINARY NK_LP NK_INTEGER NK_RP */ #line 401 "sql.y" -{ yymsp[-3].minor.yy34 = createVarLenDataType(TSDB_DATA_TYPE_BINARY, &yymsp[-1].minor.yy0); } -#line 6362 "sql.c" +{ yymsp[-3].minor.yy504 = createVarLenDataType(TSDB_DATA_TYPE_BINARY, &yymsp[-1].minor.yy0); } +#line 6312 "sql.c" break; case 204: /* type_name ::= TIMESTAMP */ #line 402 "sql.y" -{ yymsp[0].minor.yy34 = createDataType(TSDB_DATA_TYPE_TIMESTAMP); } -#line 6367 "sql.c" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_TIMESTAMP); } +#line 6317 "sql.c" break; case 205: /* type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */ #line 403 "sql.y" -{ yymsp[-3].minor.yy34 = createVarLenDataType(TSDB_DATA_TYPE_NCHAR, &yymsp[-1].minor.yy0); } -#line 6372 "sql.c" +{ yymsp[-3].minor.yy504 = createVarLenDataType(TSDB_DATA_TYPE_NCHAR, &yymsp[-1].minor.yy0); } +#line 6322 "sql.c" break; case 206: /* type_name ::= TINYINT UNSIGNED */ #line 404 "sql.y" -{ yymsp[-1].minor.yy34 = createDataType(TSDB_DATA_TYPE_UTINYINT); } -#line 6377 "sql.c" +{ yymsp[-1].minor.yy504 = createDataType(TSDB_DATA_TYPE_UTINYINT); } +#line 6327 "sql.c" break; case 207: /* type_name ::= SMALLINT UNSIGNED */ #line 405 "sql.y" -{ yymsp[-1].minor.yy34 = createDataType(TSDB_DATA_TYPE_USMALLINT); } -#line 6382 "sql.c" +{ yymsp[-1].minor.yy504 = createDataType(TSDB_DATA_TYPE_USMALLINT); } +#line 6332 "sql.c" break; case 208: /* type_name ::= INT UNSIGNED */ #line 406 "sql.y" -{ yymsp[-1].minor.yy34 = createDataType(TSDB_DATA_TYPE_UINT); } -#line 6387 "sql.c" +{ yymsp[-1].minor.yy504 = createDataType(TSDB_DATA_TYPE_UINT); } +#line 6337 "sql.c" break; case 209: /* type_name ::= BIGINT UNSIGNED */ #line 407 "sql.y" -{ yymsp[-1].minor.yy34 = createDataType(TSDB_DATA_TYPE_UBIGINT); } -#line 6392 "sql.c" +{ yymsp[-1].minor.yy504 = createDataType(TSDB_DATA_TYPE_UBIGINT); } +#line 6342 "sql.c" break; case 210: /* type_name ::= JSON */ #line 408 "sql.y" -{ yymsp[0].minor.yy34 = createDataType(TSDB_DATA_TYPE_JSON); } -#line 6397 "sql.c" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_JSON); } +#line 6347 "sql.c" break; case 211: /* type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */ #line 409 "sql.y" -{ yymsp[-3].minor.yy34 = createVarLenDataType(TSDB_DATA_TYPE_VARCHAR, &yymsp[-1].minor.yy0); } -#line 6402 "sql.c" +{ yymsp[-3].minor.yy504 = createVarLenDataType(TSDB_DATA_TYPE_VARCHAR, &yymsp[-1].minor.yy0); } +#line 6352 "sql.c" break; case 212: /* type_name ::= MEDIUMBLOB */ #line 410 "sql.y" -{ yymsp[0].minor.yy34 = createDataType(TSDB_DATA_TYPE_MEDIUMBLOB); } -#line 6407 "sql.c" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_MEDIUMBLOB); } +#line 6357 "sql.c" break; case 213: /* type_name ::= BLOB */ #line 411 "sql.y" -{ yymsp[0].minor.yy34 = createDataType(TSDB_DATA_TYPE_BLOB); } -#line 6412 "sql.c" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_BLOB); } +#line 6362 "sql.c" break; case 214: /* type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */ #line 412 "sql.y" -{ yymsp[-3].minor.yy34 = createVarLenDataType(TSDB_DATA_TYPE_VARBINARY, &yymsp[-1].minor.yy0); } -#line 6417 "sql.c" +{ yymsp[-3].minor.yy504 = createVarLenDataType(TSDB_DATA_TYPE_VARBINARY, &yymsp[-1].minor.yy0); } +#line 6367 "sql.c" break; case 215: /* type_name ::= GEOMETRY NK_LP NK_INTEGER NK_RP */ #line 413 "sql.y" -{ yymsp[-3].minor.yy34 = createVarLenDataType(TSDB_DATA_TYPE_GEOMETRY, &yymsp[-1].minor.yy0); } -#line 6422 "sql.c" +{ yymsp[-3].minor.yy504 = createVarLenDataType(TSDB_DATA_TYPE_GEOMETRY, &yymsp[-1].minor.yy0); } +#line 6372 "sql.c" break; case 216: /* type_name ::= DECIMAL */ #line 414 "sql.y" -{ yymsp[0].minor.yy34 = createDataType(TSDB_DATA_TYPE_DECIMAL); } -#line 6427 "sql.c" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_DECIMAL); } +#line 6377 "sql.c" break; case 217: /* type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */ #line 415 "sql.y" -{ yymsp[-3].minor.yy34 = createDataType(TSDB_DATA_TYPE_DECIMAL); } -#line 6432 "sql.c" +{ yymsp[-3].minor.yy504 = createDataType(TSDB_DATA_TYPE_DECIMAL); } +#line 6382 "sql.c" break; case 218: /* type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ #line 416 "sql.y" -{ yymsp[-5].minor.yy34 = createDataType(TSDB_DATA_TYPE_DECIMAL); } -#line 6437 "sql.c" +{ yymsp[-5].minor.yy504 = createDataType(TSDB_DATA_TYPE_DECIMAL); } +#line 6387 "sql.c" break; case 219: /* type_name_binary ::= BINARY */ #line 420 "sql.y" -{ yymsp[0].minor.yy34 = createVarLenDataType(TSDB_DATA_TYPE_BINARY, NULL); } -#line 6442 "sql.c" +{ yymsp[0].minor.yy504 = createVarLenDataType(TSDB_DATA_TYPE_BINARY, NULL); } +#line 6392 "sql.c" break; case 222: /* tags_def ::= TAGS NK_LP column_def_list NK_RP */ case 379: /* tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ yytestcase(yyruleno==379); #line 429 "sql.y" -{ yymsp[-3].minor.yy652 = yymsp[-1].minor.yy652; } -#line 6448 "sql.c" +{ yymsp[-3].minor.yy404 = yymsp[-1].minor.yy404; } +#line 6398 "sql.c" break; case 223: /* table_options ::= */ #line 431 "sql.y" -{ yymsp[1].minor.yy110 = createDefaultTableOptions(pCxt); } -#line 6453 "sql.c" +{ yymsp[1].minor.yy896 = createDefaultTableOptions(pCxt); } +#line 6403 "sql.c" break; case 224: /* table_options ::= table_options COMMENT NK_STRING */ #line 432 "sql.y" -{ yylhsminor.yy110 = setTableOption(pCxt, yymsp[-2].minor.yy110, TABLE_OPTION_COMMENT, &yymsp[0].minor.yy0); } -#line 6458 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-2].minor.yy896, TABLE_OPTION_COMMENT, &yymsp[0].minor.yy0); } +#line 6408 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 225: /* table_options ::= table_options MAX_DELAY duration_list */ #line 433 "sql.y" -{ yylhsminor.yy110 = setTableOption(pCxt, yymsp[-2].minor.yy110, TABLE_OPTION_MAXDELAY, yymsp[0].minor.yy652); } -#line 6464 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-2].minor.yy896, TABLE_OPTION_MAXDELAY, yymsp[0].minor.yy404); } +#line 6414 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 226: /* table_options ::= table_options WATERMARK duration_list */ #line 434 "sql.y" -{ yylhsminor.yy110 = setTableOption(pCxt, yymsp[-2].minor.yy110, TABLE_OPTION_WATERMARK, yymsp[0].minor.yy652); } -#line 6470 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-2].minor.yy896, TABLE_OPTION_WATERMARK, yymsp[0].minor.yy404); } +#line 6420 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 227: /* table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ #line 435 "sql.y" -{ yylhsminor.yy110 = setTableOption(pCxt, yymsp[-4].minor.yy110, TABLE_OPTION_ROLLUP, yymsp[-1].minor.yy652); } -#line 6476 "sql.c" - yymsp[-4].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-4].minor.yy896, TABLE_OPTION_ROLLUP, yymsp[-1].minor.yy404); } +#line 6426 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; case 228: /* table_options ::= table_options TTL NK_INTEGER */ #line 436 "sql.y" -{ yylhsminor.yy110 = setTableOption(pCxt, yymsp[-2].minor.yy110, TABLE_OPTION_TTL, &yymsp[0].minor.yy0); } -#line 6482 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-2].minor.yy896, TABLE_OPTION_TTL, &yymsp[0].minor.yy0); } +#line 6432 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 229: /* table_options ::= table_options SMA NK_LP col_name_list NK_RP */ #line 437 "sql.y" -{ yylhsminor.yy110 = setTableOption(pCxt, yymsp[-4].minor.yy110, TABLE_OPTION_SMA, yymsp[-1].minor.yy652); } -#line 6488 "sql.c" - yymsp[-4].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-4].minor.yy896, TABLE_OPTION_SMA, yymsp[-1].minor.yy404); } +#line 6438 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; case 230: /* table_options ::= table_options DELETE_MARK duration_list */ #line 438 "sql.y" -{ yylhsminor.yy110 = setTableOption(pCxt, yymsp[-2].minor.yy110, TABLE_OPTION_DELETE_MARK, yymsp[0].minor.yy652); } -#line 6494 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-2].minor.yy896, TABLE_OPTION_DELETE_MARK, yymsp[0].minor.yy404); } +#line 6444 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 231: /* alter_table_options ::= alter_table_option */ #line 440 "sql.y" -{ yylhsminor.yy110 = createAlterTableOptions(pCxt); yylhsminor.yy110 = setTableOption(pCxt, yylhsminor.yy110, yymsp[0].minor.yy491.type, &yymsp[0].minor.yy491.val); } -#line 6500 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createAlterTableOptions(pCxt); yylhsminor.yy896 = setTableOption(pCxt, yylhsminor.yy896, yymsp[0].minor.yy529.type, &yymsp[0].minor.yy529.val); } +#line 6450 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 232: /* alter_table_options ::= alter_table_options alter_table_option */ #line 441 "sql.y" -{ yylhsminor.yy110 = setTableOption(pCxt, yymsp[-1].minor.yy110, yymsp[0].minor.yy491.type, &yymsp[0].minor.yy491.val); } -#line 6506 "sql.c" - yymsp[-1].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-1].minor.yy896, yymsp[0].minor.yy529.type, &yymsp[0].minor.yy529.val); } +#line 6456 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; case 233: /* alter_table_option ::= COMMENT NK_STRING */ #line 445 "sql.y" -{ yymsp[-1].minor.yy491.type = TABLE_OPTION_COMMENT; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } -#line 6512 "sql.c" +{ yymsp[-1].minor.yy529.type = TABLE_OPTION_COMMENT; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 6462 "sql.c" break; case 234: /* alter_table_option ::= TTL NK_INTEGER */ #line 446 "sql.y" -{ yymsp[-1].minor.yy491.type = TABLE_OPTION_TTL; yymsp[-1].minor.yy491.val = yymsp[0].minor.yy0; } -#line 6517 "sql.c" +{ yymsp[-1].minor.yy529.type = TABLE_OPTION_TTL; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 6467 "sql.c" break; case 235: /* duration_list ::= duration_literal */ case 506: /* expression_list ::= expr_or_subquery */ yytestcase(yyruleno==506); #line 450 "sql.y" -{ yylhsminor.yy652 = createNodeList(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy110)); } -#line 6523 "sql.c" - yymsp[0].minor.yy652 = yylhsminor.yy652; +{ yylhsminor.yy404 = createNodeList(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy896)); } +#line 6473 "sql.c" + yymsp[0].minor.yy404 = yylhsminor.yy404; break; case 236: /* duration_list ::= duration_list NK_COMMA duration_literal */ case 507: /* expression_list ::= expression_list NK_COMMA expr_or_subquery */ yytestcase(yyruleno==507); #line 451 "sql.y" -{ yylhsminor.yy652 = addNodeToList(pCxt, yymsp[-2].minor.yy652, releaseRawExprNode(pCxt, yymsp[0].minor.yy110)); } -#line 6530 "sql.c" - yymsp[-2].minor.yy652 = yylhsminor.yy652; +{ yylhsminor.yy404 = addNodeToList(pCxt, yymsp[-2].minor.yy404, releaseRawExprNode(pCxt, yymsp[0].minor.yy896)); } +#line 6480 "sql.c" + yymsp[-2].minor.yy404 = yylhsminor.yy404; break; case 239: /* rollup_func_name ::= function_name */ #line 458 "sql.y" -{ yylhsminor.yy110 = createFunctionNode(pCxt, &yymsp[0].minor.yy863, NULL); } -#line 6536 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createFunctionNode(pCxt, &yymsp[0].minor.yy701, NULL); } +#line 6486 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 240: /* rollup_func_name ::= FIRST */ case 241: /* rollup_func_name ::= LAST */ yytestcase(yyruleno==241); case 313: /* tag_item ::= QTAGS */ yytestcase(yyruleno==313); #line 459 "sql.y" -{ yylhsminor.yy110 = createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL); } -#line 6544 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL); } +#line 6494 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 244: /* col_name ::= column_name */ case 314: /* tag_item ::= column_name */ yytestcase(yyruleno==314); #line 467 "sql.y" -{ yylhsminor.yy110 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy863); } -#line 6551 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy701); } +#line 6501 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 245: /* cmd ::= SHOW DNODES */ #line 470 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_DNODES_STMT); } -#line 6557 "sql.c" +#line 6507 "sql.c" break; case 246: /* cmd ::= SHOW USERS */ #line 471 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_USERS_STMT); } -#line 6562 "sql.c" +#line 6512 "sql.c" break; case 247: /* cmd ::= SHOW USER PRIVILEGES */ #line 472 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_USER_PRIVILEGES_STMT); } -#line 6567 "sql.c" +#line 6517 "sql.c" break; case 248: /* cmd ::= SHOW db_kind_opt DATABASES */ #line 473 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_DATABASES_STMT); - setShowKind(pCxt, pCxt->pRootNode, yymsp[-1].minor.yy291); + setShowKind(pCxt, pCxt->pRootNode, yymsp[-1].minor.yy705); } -#line 6575 "sql.c" +#line 6525 "sql.c" break; case 249: /* cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ #line 477 "sql.y" { - pCxt->pRootNode = createShowTablesStmt(pCxt, yymsp[-2].minor.yy61, yymsp[0].minor.yy110, OP_TYPE_LIKE); + pCxt->pRootNode = createShowTablesStmt(pCxt, yymsp[-2].minor.yy989, yymsp[0].minor.yy896, OP_TYPE_LIKE); } -#line 6582 "sql.c" +#line 6532 "sql.c" break; case 250: /* cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ #line 480 "sql.y" -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_STABLES_STMT, yymsp[-2].minor.yy110, yymsp[0].minor.yy110, OP_TYPE_LIKE); } -#line 6587 "sql.c" +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_STABLES_STMT, yymsp[-2].minor.yy896, yymsp[0].minor.yy896, OP_TYPE_LIKE); } +#line 6537 "sql.c" break; case 251: /* cmd ::= SHOW db_name_cond_opt VGROUPS */ #line 481 "sql.y" -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VGROUPS_STMT, yymsp[-1].minor.yy110, NULL, OP_TYPE_LIKE); } -#line 6592 "sql.c" +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VGROUPS_STMT, yymsp[-1].minor.yy896, NULL, OP_TYPE_LIKE); } +#line 6542 "sql.c" break; case 252: /* cmd ::= SHOW MNODES */ #line 482 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_MNODES_STMT); } -#line 6597 "sql.c" +#line 6547 "sql.c" break; case 253: /* cmd ::= SHOW QNODES */ #line 484 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_QNODES_STMT); } -#line 6602 "sql.c" +#line 6552 "sql.c" break; case 254: /* cmd ::= SHOW ARBGROUPS */ #line 485 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_ARBGROUPS_STMT); } -#line 6607 "sql.c" +#line 6557 "sql.c" break; case 255: /* cmd ::= SHOW FUNCTIONS */ #line 486 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_FUNCTIONS_STMT); } -#line 6612 "sql.c" +#line 6562 "sql.c" break; case 256: /* cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ #line 487 "sql.y" -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, yymsp[0].minor.yy110, yymsp[-1].minor.yy110, OP_TYPE_EQUAL); } -#line 6617 "sql.c" +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, yymsp[0].minor.yy896, yymsp[-1].minor.yy896, OP_TYPE_EQUAL); } +#line 6567 "sql.c" break; case 257: /* cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ #line 488 "sql.y" -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy863), createIdentifierValueNode(pCxt, &yymsp[0].minor.yy863), OP_TYPE_EQUAL); } -#line 6622 "sql.c" +{ 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 6572 "sql.c" break; case 258: /* cmd ::= SHOW STREAMS */ #line 489 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_STREAMS_STMT); } -#line 6627 "sql.c" +#line 6577 "sql.c" break; case 259: /* cmd ::= SHOW ACCOUNTS */ #line 490 "sql.y" { pCxt->errCode = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_EXPRIE_STATEMENT); } -#line 6632 "sql.c" +#line 6582 "sql.c" break; case 260: /* cmd ::= SHOW APPS */ #line 491 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_APPS_STMT); } -#line 6637 "sql.c" +#line 6587 "sql.c" break; case 261: /* cmd ::= SHOW CONNECTIONS */ #line 492 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CONNECTIONS_STMT); } -#line 6642 "sql.c" +#line 6592 "sql.c" break; case 262: /* cmd ::= SHOW LICENCES */ case 263: /* cmd ::= SHOW GRANTS */ yytestcase(yyruleno==263); #line 493 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_LICENCES_STMT); } -#line 6648 "sql.c" +#line 6598 "sql.c" break; case 264: /* cmd ::= SHOW GRANTS FULL */ #line 495 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_GRANTS_FULL_STMT); } -#line 6653 "sql.c" +#line 6603 "sql.c" break; case 265: /* cmd ::= SHOW GRANTS LOGS */ #line 496 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_GRANTS_LOGS_STMT); } -#line 6658 "sql.c" +#line 6608 "sql.c" break; case 266: /* cmd ::= SHOW CLUSTER MACHINES */ #line 497 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CLUSTER_MACHINES_STMT); } -#line 6663 "sql.c" +#line 6613 "sql.c" break; case 267: /* cmd ::= SHOW CREATE DATABASE db_name */ #line 498 "sql.y" -{ pCxt->pRootNode = createShowCreateDatabaseStmt(pCxt, &yymsp[0].minor.yy863); } -#line 6668 "sql.c" +{ pCxt->pRootNode = createShowCreateDatabaseStmt(pCxt, &yymsp[0].minor.yy701); } +#line 6618 "sql.c" break; case 268: /* cmd ::= SHOW CREATE TABLE full_table_name */ #line 499 "sql.y" -{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_TABLE_STMT, yymsp[0].minor.yy110); } -#line 6673 "sql.c" +{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_TABLE_STMT, yymsp[0].minor.yy896); } +#line 6623 "sql.c" break; case 269: /* cmd ::= SHOW CREATE STABLE full_table_name */ #line 500 "sql.y" -{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_STABLE_STMT, yymsp[0].minor.yy110); } -#line 6678 "sql.c" +{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_STABLE_STMT, yymsp[0].minor.yy896); } +#line 6628 "sql.c" break; case 270: /* cmd ::= SHOW QUERIES */ #line 501 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_QUERIES_STMT); } -#line 6683 "sql.c" +#line 6633 "sql.c" break; case 271: /* cmd ::= SHOW SCORES */ #line 502 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_SCORES_STMT); } -#line 6688 "sql.c" +#line 6638 "sql.c" break; case 272: /* cmd ::= SHOW TOPICS */ #line 503 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_TOPICS_STMT); } -#line 6693 "sql.c" +#line 6643 "sql.c" break; case 273: /* cmd ::= SHOW VARIABLES */ case 274: /* cmd ::= SHOW CLUSTER VARIABLES */ yytestcase(yyruleno==274); #line 504 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_VARIABLES_STMT); } -#line 6699 "sql.c" +#line 6649 "sql.c" break; case 275: /* cmd ::= SHOW LOCAL VARIABLES */ #line 506 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_LOCAL_VARIABLES_STMT); } -#line 6704 "sql.c" +#line 6654 "sql.c" break; case 276: /* cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ #line 507 "sql.y" -{ pCxt->pRootNode = createShowDnodeVariablesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[-2].minor.yy0), yymsp[0].minor.yy110); } -#line 6709 "sql.c" +{ pCxt->pRootNode = createShowDnodeVariablesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[-2].minor.yy0), yymsp[0].minor.yy896); } +#line 6659 "sql.c" break; case 277: /* cmd ::= SHOW BNODES */ #line 508 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_BNODES_STMT); } -#line 6714 "sql.c" +#line 6664 "sql.c" break; case 278: /* cmd ::= SHOW SNODES */ #line 509 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_SNODES_STMT); } -#line 6719 "sql.c" +#line 6669 "sql.c" break; case 279: /* cmd ::= SHOW CLUSTER */ #line 510 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CLUSTER_STMT); } -#line 6724 "sql.c" +#line 6674 "sql.c" break; case 280: /* cmd ::= SHOW TRANSACTIONS */ #line 511 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_TRANSACTIONS_STMT); } -#line 6729 "sql.c" +#line 6679 "sql.c" break; case 281: /* cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ #line 512 "sql.y" -{ pCxt->pRootNode = createShowTableDistributedStmt(pCxt, yymsp[0].minor.yy110); } -#line 6734 "sql.c" +{ pCxt->pRootNode = createShowTableDistributedStmt(pCxt, yymsp[0].minor.yy896); } +#line 6684 "sql.c" break; case 282: /* cmd ::= SHOW CONSUMERS */ #line 513 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CONSUMERS_STMT); } -#line 6739 "sql.c" +#line 6689 "sql.c" break; case 283: /* cmd ::= SHOW SUBSCRIPTIONS */ #line 514 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_SUBSCRIPTIONS_STMT); } -#line 6744 "sql.c" +#line 6694 "sql.c" break; case 284: /* cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ #line 515 "sql.y" -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, yymsp[0].minor.yy110, yymsp[-1].minor.yy110, OP_TYPE_EQUAL); } -#line 6749 "sql.c" +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, yymsp[0].minor.yy896, yymsp[-1].minor.yy896, OP_TYPE_EQUAL); } +#line 6699 "sql.c" break; case 285: /* cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ #line 516 "sql.y" -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy863), createIdentifierValueNode(pCxt, &yymsp[0].minor.yy863), OP_TYPE_EQUAL); } -#line 6754 "sql.c" +{ 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 6704 "sql.c" break; case 286: /* cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ #line 517 "sql.y" -{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, yymsp[-1].minor.yy110, yymsp[0].minor.yy110, yymsp[-3].minor.yy652); } -#line 6759 "sql.c" +{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, yymsp[-1].minor.yy896, yymsp[0].minor.yy896, yymsp[-3].minor.yy404); } +#line 6709 "sql.c" break; case 287: /* cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name */ #line 518 "sql.y" -{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, createIdentifierValueNode(pCxt, &yymsp[0].minor.yy863), createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy863), yymsp[-4].minor.yy652); } -#line 6764 "sql.c" +{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, createIdentifierValueNode(pCxt, &yymsp[0].minor.yy701), createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy701), yymsp[-4].minor.yy404); } +#line 6714 "sql.c" break; case 288: /* cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ #line 519 "sql.y" { pCxt->pRootNode = createShowVnodesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0), NULL); } -#line 6769 "sql.c" +#line 6719 "sql.c" break; case 289: /* cmd ::= SHOW VNODES */ #line 520 "sql.y" { pCxt->pRootNode = createShowVnodesStmt(pCxt, NULL, NULL); } -#line 6774 "sql.c" +#line 6724 "sql.c" break; case 290: /* cmd ::= SHOW db_name_cond_opt ALIVE */ #line 522 "sql.y" -{ pCxt->pRootNode = createShowAliveStmt(pCxt, yymsp[-1].minor.yy110, QUERY_NODE_SHOW_DB_ALIVE_STMT); } -#line 6779 "sql.c" +{ pCxt->pRootNode = createShowAliveStmt(pCxt, yymsp[-1].minor.yy896, QUERY_NODE_SHOW_DB_ALIVE_STMT); } +#line 6729 "sql.c" break; case 291: /* cmd ::= SHOW CLUSTER ALIVE */ #line 523 "sql.y" { pCxt->pRootNode = createShowAliveStmt(pCxt, NULL, QUERY_NODE_SHOW_CLUSTER_ALIVE_STMT); } -#line 6784 "sql.c" +#line 6734 "sql.c" break; case 292: /* cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt */ #line 524 "sql.y" -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VIEWS_STMT, yymsp[-2].minor.yy110, yymsp[0].minor.yy110, OP_TYPE_LIKE); } -#line 6789 "sql.c" +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VIEWS_STMT, yymsp[-2].minor.yy896, yymsp[0].minor.yy896, OP_TYPE_LIKE); } +#line 6739 "sql.c" break; case 293: /* cmd ::= SHOW CREATE VIEW full_table_name */ #line 525 "sql.y" -{ pCxt->pRootNode = createShowCreateViewStmt(pCxt, QUERY_NODE_SHOW_CREATE_VIEW_STMT, yymsp[0].minor.yy110); } -#line 6794 "sql.c" +{ pCxt->pRootNode = createShowCreateViewStmt(pCxt, QUERY_NODE_SHOW_CREATE_VIEW_STMT, yymsp[0].minor.yy896); } +#line 6744 "sql.c" break; case 294: /* cmd ::= SHOW COMPACTS */ #line 526 "sql.y" { pCxt->pRootNode = createShowCompactsStmt(pCxt, QUERY_NODE_SHOW_COMPACTS_STMT); } -#line 6799 "sql.c" +#line 6749 "sql.c" break; case 295: /* cmd ::= SHOW COMPACT NK_INTEGER */ #line 527 "sql.y" { pCxt->pRootNode = createShowCompactDetailsStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } -#line 6804 "sql.c" +#line 6754 "sql.c" break; case 296: /* table_kind_db_name_cond_opt ::= */ #line 531 "sql.y" -{ yymsp[1].minor.yy61.kind = SHOW_KIND_ALL; yymsp[1].minor.yy61.dbName = nil_token; } -#line 6809 "sql.c" +{ yymsp[1].minor.yy989.kind = SHOW_KIND_ALL; yymsp[1].minor.yy989.dbName = nil_token; } +#line 6759 "sql.c" break; case 297: /* table_kind_db_name_cond_opt ::= table_kind */ #line 532 "sql.y" -{ yylhsminor.yy61.kind = yymsp[0].minor.yy291; yylhsminor.yy61.dbName = nil_token; } -#line 6814 "sql.c" - yymsp[0].minor.yy61 = yylhsminor.yy61; +{ yylhsminor.yy989.kind = yymsp[0].minor.yy705; yylhsminor.yy989.dbName = nil_token; } +#line 6764 "sql.c" + yymsp[0].minor.yy989 = yylhsminor.yy989; break; case 298: /* table_kind_db_name_cond_opt ::= db_name NK_DOT */ #line 533 "sql.y" -{ yylhsminor.yy61.kind = SHOW_KIND_ALL; yylhsminor.yy61.dbName = yymsp[-1].minor.yy863; } -#line 6820 "sql.c" - yymsp[-1].minor.yy61 = yylhsminor.yy61; +{ yylhsminor.yy989.kind = SHOW_KIND_ALL; yylhsminor.yy989.dbName = yymsp[-1].minor.yy701; } +#line 6770 "sql.c" + yymsp[-1].minor.yy989 = yylhsminor.yy989; break; case 299: /* table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ #line 534 "sql.y" -{ yylhsminor.yy61.kind = yymsp[-2].minor.yy291; yylhsminor.yy61.dbName = yymsp[-1].minor.yy863; } -#line 6826 "sql.c" - yymsp[-2].minor.yy61 = yylhsminor.yy61; +{ yylhsminor.yy989.kind = yymsp[-2].minor.yy705; yylhsminor.yy989.dbName = yymsp[-1].minor.yy701; } +#line 6776 "sql.c" + yymsp[-2].minor.yy989 = yylhsminor.yy989; break; case 300: /* table_kind ::= NORMAL */ #line 538 "sql.y" -{ yymsp[0].minor.yy291 = SHOW_KIND_TABLES_NORMAL; } -#line 6832 "sql.c" +{ yymsp[0].minor.yy705 = SHOW_KIND_TABLES_NORMAL; } +#line 6782 "sql.c" break; case 301: /* table_kind ::= CHILD */ #line 539 "sql.y" -{ yymsp[0].minor.yy291 = SHOW_KIND_TABLES_CHILD; } -#line 6837 "sql.c" +{ yymsp[0].minor.yy705 = SHOW_KIND_TABLES_CHILD; } +#line 6787 "sql.c" break; case 302: /* db_name_cond_opt ::= */ case 307: /* from_db_opt ::= */ yytestcase(yyruleno==307); #line 541 "sql.y" -{ yymsp[1].minor.yy110 = createDefaultDatabaseCondValue(pCxt); } -#line 6843 "sql.c" +{ yymsp[1].minor.yy896 = createDefaultDatabaseCondValue(pCxt); } +#line 6793 "sql.c" break; case 303: /* db_name_cond_opt ::= db_name NK_DOT */ #line 542 "sql.y" -{ yylhsminor.yy110 = createIdentifierValueNode(pCxt, &yymsp[-1].minor.yy863); } -#line 6848 "sql.c" - yymsp[-1].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createIdentifierValueNode(pCxt, &yymsp[-1].minor.yy701); } +#line 6798 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; case 305: /* like_pattern_opt ::= LIKE NK_STRING */ #line 545 "sql.y" -{ yymsp[-1].minor.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } -#line 6854 "sql.c" +{ yymsp[-1].minor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } +#line 6804 "sql.c" break; case 306: /* table_name_cond ::= table_name */ #line 547 "sql.y" -{ yylhsminor.yy110 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy863); } -#line 6859 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy701); } +#line 6809 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 308: /* from_db_opt ::= FROM db_name */ #line 550 "sql.y" -{ yymsp[-1].minor.yy110 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy863); } -#line 6865 "sql.c" +{ yymsp[-1].minor.yy896 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy701); } +#line 6815 "sql.c" break; case 312: /* tag_item ::= TBNAME */ #line 558 "sql.y" -{ yylhsminor.yy110 = setProjectionAlias(pCxt, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL), &yymsp[0].minor.yy0); } -#line 6870 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setProjectionAlias(pCxt, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL), &yymsp[0].minor.yy0); } +#line 6820 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 315: /* tag_item ::= column_name column_alias */ #line 561 "sql.y" -{ yylhsminor.yy110 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-1].minor.yy863), &yymsp[0].minor.yy863); } -#line 6876 "sql.c" - yymsp[-1].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-1].minor.yy701), &yymsp[0].minor.yy701); } +#line 6826 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; case 316: /* tag_item ::= column_name AS column_alias */ #line 562 "sql.y" -{ yylhsminor.yy110 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-2].minor.yy863), &yymsp[0].minor.yy863); } -#line 6882 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-2].minor.yy701), &yymsp[0].minor.yy701); } +#line 6832 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 317: /* db_kind_opt ::= */ #line 566 "sql.y" -{ yymsp[1].minor.yy291 = SHOW_KIND_ALL; } -#line 6888 "sql.c" +{ yymsp[1].minor.yy705 = SHOW_KIND_ALL; } +#line 6838 "sql.c" break; case 318: /* db_kind_opt ::= USER */ #line 567 "sql.y" -{ yymsp[0].minor.yy291 = SHOW_KIND_DATABASES_USER; } -#line 6893 "sql.c" +{ yymsp[0].minor.yy705 = SHOW_KIND_DATABASES_USER; } +#line 6843 "sql.c" break; case 319: /* db_kind_opt ::= SYSTEM */ #line 568 "sql.y" -{ yymsp[0].minor.yy291 = SHOW_KIND_DATABASES_SYSTEM; } -#line 6898 "sql.c" +{ yymsp[0].minor.yy705 = SHOW_KIND_DATABASES_SYSTEM; } +#line 6848 "sql.c" break; case 320: /* cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options */ #line 572 "sql.y" -{ pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_SMA, yymsp[-4].minor.yy1019, yymsp[-3].minor.yy110, yymsp[-1].minor.yy110, NULL, yymsp[0].minor.yy110); } -#line 6903 "sql.c" +{ 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 6853 "sql.c" break; case 321: /* cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP */ #line 574 "sql.y" -{ pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_NORMAL, yymsp[-6].minor.yy1019, yymsp[-5].minor.yy110, yymsp[-3].minor.yy110, yymsp[-1].minor.yy652, NULL); } -#line 6908 "sql.c" +{ 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 6858 "sql.c" break; case 322: /* cmd ::= DROP INDEX exists_opt full_index_name */ #line 575 "sql.y" -{ pCxt->pRootNode = createDropIndexStmt(pCxt, yymsp[-1].minor.yy1019, yymsp[0].minor.yy110); } -#line 6913 "sql.c" +{ pCxt->pRootNode = createDropIndexStmt(pCxt, yymsp[-1].minor.yy733, yymsp[0].minor.yy896); } +#line 6863 "sql.c" break; case 323: /* full_index_name ::= index_name */ #line 577 "sql.y" -{ yylhsminor.yy110 = createRealTableNodeForIndexName(pCxt, NULL, &yymsp[0].minor.yy863); } -#line 6918 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRealTableNodeForIndexName(pCxt, NULL, &yymsp[0].minor.yy701); } +#line 6868 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 324: /* full_index_name ::= db_name NK_DOT index_name */ #line 578 "sql.y" -{ yylhsminor.yy110 = createRealTableNodeForIndexName(pCxt, &yymsp[-2].minor.yy863, &yymsp[0].minor.yy863); } -#line 6924 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRealTableNodeForIndexName(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy701); } +#line 6874 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 325: /* index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ #line 581 "sql.y" -{ yymsp[-9].minor.yy110 = createIndexOption(pCxt, yymsp[-7].minor.yy652, releaseRawExprNode(pCxt, yymsp[-3].minor.yy110), NULL, yymsp[-1].minor.yy110, yymsp[0].minor.yy110); } -#line 6930 "sql.c" +{ 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 6880 "sql.c" break; case 326: /* 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 584 "sql.y" -{ yymsp[-11].minor.yy110 = createIndexOption(pCxt, yymsp[-9].minor.yy652, releaseRawExprNode(pCxt, yymsp[-5].minor.yy110), releaseRawExprNode(pCxt, yymsp[-3].minor.yy110), yymsp[-1].minor.yy110, yymsp[0].minor.yy110); } -#line 6935 "sql.c" +{ 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 6885 "sql.c" break; case 329: /* func ::= sma_func_name NK_LP expression_list NK_RP */ #line 591 "sql.y" -{ yylhsminor.yy110 = createFunctionNode(pCxt, &yymsp[-3].minor.yy863, yymsp[-1].minor.yy652); } -#line 6940 "sql.c" - yymsp[-3].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createFunctionNode(pCxt, &yymsp[-3].minor.yy701, yymsp[-1].minor.yy404); } +#line 6890 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; case 330: /* sma_func_name ::= function_name */ case 597: /* alias_opt ::= table_alias */ yytestcase(yyruleno==597); #line 595 "sql.y" -{ yylhsminor.yy863 = yymsp[0].minor.yy863; } -#line 6947 "sql.c" - yymsp[0].minor.yy863 = yylhsminor.yy863; +{ yylhsminor.yy701 = yymsp[0].minor.yy701; } +#line 6897 "sql.c" + yymsp[0].minor.yy701 = yylhsminor.yy701; break; case 335: /* sma_stream_opt ::= */ case 380: /* stream_options ::= */ yytestcase(yyruleno==380); #line 601 "sql.y" -{ yymsp[1].minor.yy110 = createStreamOptions(pCxt); } -#line 6954 "sql.c" +{ yymsp[1].minor.yy896 = createStreamOptions(pCxt); } +#line 6904 "sql.c" break; case 336: /* sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ #line 602 "sql.y" -{ ((SStreamOptions*)yymsp[-2].minor.yy110)->pWatermark = releaseRawExprNode(pCxt, yymsp[0].minor.yy110); yylhsminor.yy110 = yymsp[-2].minor.yy110; } -#line 6959 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ ((SStreamOptions*)yymsp[-2].minor.yy896)->pWatermark = releaseRawExprNode(pCxt, yymsp[0].minor.yy896); yylhsminor.yy896 = yymsp[-2].minor.yy896; } +#line 6909 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 337: /* sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ #line 603 "sql.y" -{ ((SStreamOptions*)yymsp[-2].minor.yy110)->pDelay = releaseRawExprNode(pCxt, yymsp[0].minor.yy110); yylhsminor.yy110 = yymsp[-2].minor.yy110; } -#line 6965 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ ((SStreamOptions*)yymsp[-2].minor.yy896)->pDelay = releaseRawExprNode(pCxt, yymsp[0].minor.yy896); yylhsminor.yy896 = yymsp[-2].minor.yy896; } +#line 6915 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 338: /* sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ #line 604 "sql.y" -{ ((SStreamOptions*)yymsp[-2].minor.yy110)->pDeleteMark = releaseRawExprNode(pCxt, yymsp[0].minor.yy110); yylhsminor.yy110 = yymsp[-2].minor.yy110; } -#line 6971 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ ((SStreamOptions*)yymsp[-2].minor.yy896)->pDeleteMark = releaseRawExprNode(pCxt, yymsp[0].minor.yy896); yylhsminor.yy896 = yymsp[-2].minor.yy896; } +#line 6921 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 339: /* with_meta ::= AS */ #line 609 "sql.y" -{ yymsp[0].minor.yy376 = 0; } -#line 6977 "sql.c" +{ yymsp[0].minor.yy396 = 0; } +#line 6927 "sql.c" break; case 340: /* with_meta ::= WITH META AS */ #line 610 "sql.y" -{ yymsp[-2].minor.yy376 = 1; } -#line 6982 "sql.c" +{ yymsp[-2].minor.yy396 = 1; } +#line 6932 "sql.c" break; case 341: /* with_meta ::= ONLY META AS */ #line 611 "sql.y" -{ yymsp[-2].minor.yy376 = 2; } -#line 6987 "sql.c" +{ yymsp[-2].minor.yy396 = 2; } +#line 6937 "sql.c" break; case 342: /* cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ #line 613 "sql.y" -{ pCxt->pRootNode = createCreateTopicStmtUseQuery(pCxt, yymsp[-3].minor.yy1019, &yymsp[-2].minor.yy863, yymsp[0].minor.yy110); } -#line 6992 "sql.c" +{ pCxt->pRootNode = createCreateTopicStmtUseQuery(pCxt, yymsp[-3].minor.yy733, &yymsp[-2].minor.yy701, yymsp[0].minor.yy896); } +#line 6942 "sql.c" break; case 343: /* cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ #line 615 "sql.y" -{ pCxt->pRootNode = createCreateTopicStmtUseDb(pCxt, yymsp[-4].minor.yy1019, &yymsp[-3].minor.yy863, &yymsp[0].minor.yy863, yymsp[-2].minor.yy376); } -#line 6997 "sql.c" +{ pCxt->pRootNode = createCreateTopicStmtUseDb(pCxt, yymsp[-4].minor.yy733, &yymsp[-3].minor.yy701, &yymsp[0].minor.yy701, yymsp[-2].minor.yy396); } +#line 6947 "sql.c" break; case 344: /* cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ #line 617 "sql.y" -{ pCxt->pRootNode = createCreateTopicStmtUseTable(pCxt, yymsp[-5].minor.yy1019, &yymsp[-4].minor.yy863, yymsp[-1].minor.yy110, yymsp[-3].minor.yy376, yymsp[0].minor.yy110); } -#line 7002 "sql.c" +{ 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 6952 "sql.c" break; case 345: /* cmd ::= DROP TOPIC exists_opt topic_name */ #line 619 "sql.y" -{ pCxt->pRootNode = createDropTopicStmt(pCxt, yymsp[-1].minor.yy1019, &yymsp[0].minor.yy863); } -#line 7007 "sql.c" +{ pCxt->pRootNode = createDropTopicStmt(pCxt, yymsp[-1].minor.yy733, &yymsp[0].minor.yy701); } +#line 6957 "sql.c" break; case 346: /* cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ #line 620 "sql.y" -{ pCxt->pRootNode = createDropCGroupStmt(pCxt, yymsp[-3].minor.yy1019, &yymsp[-2].minor.yy863, &yymsp[0].minor.yy863); } -#line 7012 "sql.c" +{ pCxt->pRootNode = createDropCGroupStmt(pCxt, yymsp[-3].minor.yy733, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy701); } +#line 6962 "sql.c" break; case 347: /* cmd ::= DESC full_table_name */ case 348: /* cmd ::= DESCRIBE full_table_name */ yytestcase(yyruleno==348); #line 623 "sql.y" -{ pCxt->pRootNode = createDescribeStmt(pCxt, yymsp[0].minor.yy110); } -#line 7018 "sql.c" +{ pCxt->pRootNode = createDescribeStmt(pCxt, yymsp[0].minor.yy896); } +#line 6968 "sql.c" break; case 349: /* cmd ::= RESET QUERY CACHE */ #line 627 "sql.y" { pCxt->pRootNode = createResetQueryCacheStmt(pCxt); } -#line 7023 "sql.c" +#line 6973 "sql.c" break; case 350: /* cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ case 351: /* cmd ::= EXPLAIN analyze_opt explain_options insert_query */ yytestcase(yyruleno==351); #line 630 "sql.y" -{ pCxt->pRootNode = createExplainStmt(pCxt, yymsp[-2].minor.yy1019, yymsp[-1].minor.yy110, yymsp[0].minor.yy110); } -#line 7029 "sql.c" +{ pCxt->pRootNode = createExplainStmt(pCxt, yymsp[-2].minor.yy733, yymsp[-1].minor.yy896, yymsp[0].minor.yy896); } +#line 6979 "sql.c" break; case 354: /* explain_options ::= */ #line 638 "sql.y" -{ yymsp[1].minor.yy110 = createDefaultExplainOptions(pCxt); } -#line 7034 "sql.c" +{ yymsp[1].minor.yy896 = createDefaultExplainOptions(pCxt); } +#line 6984 "sql.c" break; case 355: /* explain_options ::= explain_options VERBOSE NK_BOOL */ #line 639 "sql.y" -{ yylhsminor.yy110 = setExplainVerbose(pCxt, yymsp[-2].minor.yy110, &yymsp[0].minor.yy0); } -#line 7039 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setExplainVerbose(pCxt, yymsp[-2].minor.yy896, &yymsp[0].minor.yy0); } +#line 6989 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 356: /* explain_options ::= explain_options RATIO NK_FLOAT */ #line 640 "sql.y" -{ yylhsminor.yy110 = setExplainRatio(pCxt, yymsp[-2].minor.yy110, &yymsp[0].minor.yy0); } -#line 7045 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setExplainRatio(pCxt, yymsp[-2].minor.yy896, &yymsp[0].minor.yy0); } +#line 6995 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 357: /* 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 645 "sql.y" -{ pCxt->pRootNode = createCreateFunctionStmt(pCxt, yymsp[-7].minor.yy1019, yymsp[-9].minor.yy1019, &yymsp[-6].minor.yy863, &yymsp[-4].minor.yy0, yymsp[-2].minor.yy34, yymsp[-1].minor.yy376, &yymsp[0].minor.yy863, yymsp[-10].minor.yy1019); } -#line 7051 "sql.c" +{ 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 7001 "sql.c" break; case 358: /* cmd ::= DROP FUNCTION exists_opt function_name */ #line 646 "sql.y" -{ pCxt->pRootNode = createDropFunctionStmt(pCxt, yymsp[-1].minor.yy1019, &yymsp[0].minor.yy863); } -#line 7056 "sql.c" +{ pCxt->pRootNode = createDropFunctionStmt(pCxt, yymsp[-1].minor.yy733, &yymsp[0].minor.yy701); } +#line 7006 "sql.c" break; case 363: /* language_opt ::= */ case 402: /* on_vgroup_id ::= */ yytestcase(yyruleno==402); #line 660 "sql.y" -{ yymsp[1].minor.yy863 = nil_token; } -#line 7062 "sql.c" +{ yymsp[1].minor.yy701 = nil_token; } +#line 7012 "sql.c" break; case 364: /* language_opt ::= LANGUAGE NK_STRING */ case 403: /* on_vgroup_id ::= ON NK_INTEGER */ yytestcase(yyruleno==403); #line 661 "sql.y" -{ yymsp[-1].minor.yy863 = yymsp[0].minor.yy0; } -#line 7068 "sql.c" +{ yymsp[-1].minor.yy701 = yymsp[0].minor.yy0; } +#line 7018 "sql.c" break; case 367: /* cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ #line 670 "sql.y" -{ pCxt->pRootNode = createCreateViewStmt(pCxt, yymsp[-4].minor.yy1019, yymsp[-2].minor.yy110, &yymsp[-1].minor.yy0, yymsp[0].minor.yy110); } -#line 7073 "sql.c" +{ pCxt->pRootNode = createCreateViewStmt(pCxt, yymsp[-4].minor.yy733, yymsp[-2].minor.yy896, &yymsp[-1].minor.yy0, yymsp[0].minor.yy896); } +#line 7023 "sql.c" break; case 368: /* cmd ::= DROP VIEW exists_opt full_view_name */ #line 671 "sql.y" -{ pCxt->pRootNode = createDropViewStmt(pCxt, yymsp[-1].minor.yy1019, yymsp[0].minor.yy110); } -#line 7078 "sql.c" +{ pCxt->pRootNode = createDropViewStmt(pCxt, yymsp[-1].minor.yy733, yymsp[0].minor.yy896); } +#line 7028 "sql.c" break; case 369: /* full_view_name ::= view_name */ #line 673 "sql.y" -{ yylhsminor.yy110 = createViewNode(pCxt, NULL, &yymsp[0].minor.yy863); } -#line 7083 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createViewNode(pCxt, NULL, &yymsp[0].minor.yy701); } +#line 7033 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 370: /* full_view_name ::= db_name NK_DOT view_name */ #line 674 "sql.y" -{ yylhsminor.yy110 = createViewNode(pCxt, &yymsp[-2].minor.yy863, &yymsp[0].minor.yy863); } -#line 7089 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createViewNode(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy701); } +#line 7039 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 371: /* 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 679 "sql.y" -{ pCxt->pRootNode = createCreateStreamStmt(pCxt, yymsp[-9].minor.yy1019, &yymsp[-8].minor.yy863, yymsp[-5].minor.yy110, yymsp[-7].minor.yy110, yymsp[-3].minor.yy652, yymsp[-2].minor.yy110, yymsp[0].minor.yy110, yymsp[-4].minor.yy652); } -#line 7095 "sql.c" +{ 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 7045 "sql.c" break; case 372: /* cmd ::= DROP STREAM exists_opt stream_name */ #line 680 "sql.y" -{ pCxt->pRootNode = createDropStreamStmt(pCxt, yymsp[-1].minor.yy1019, &yymsp[0].minor.yy863); } -#line 7100 "sql.c" +{ pCxt->pRootNode = createDropStreamStmt(pCxt, yymsp[-1].minor.yy733, &yymsp[0].minor.yy701); } +#line 7050 "sql.c" break; case 373: /* cmd ::= PAUSE STREAM exists_opt stream_name */ #line 681 "sql.y" -{ pCxt->pRootNode = createPauseStreamStmt(pCxt, yymsp[-1].minor.yy1019, &yymsp[0].minor.yy863); } -#line 7105 "sql.c" +{ pCxt->pRootNode = createPauseStreamStmt(pCxt, yymsp[-1].minor.yy733, &yymsp[0].minor.yy701); } +#line 7055 "sql.c" break; case 374: /* cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ #line 682 "sql.y" -{ pCxt->pRootNode = createResumeStreamStmt(pCxt, yymsp[-2].minor.yy1019, yymsp[-1].minor.yy1019, &yymsp[0].minor.yy863); } -#line 7110 "sql.c" +{ pCxt->pRootNode = createResumeStreamStmt(pCxt, yymsp[-2].minor.yy733, yymsp[-1].minor.yy733, &yymsp[0].minor.yy701); } +#line 7060 "sql.c" break; case 381: /* stream_options ::= stream_options TRIGGER AT_ONCE */ case 382: /* stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ yytestcase(yyruleno==382); #line 696 "sql.y" -{ yylhsminor.yy110 = setStreamOptions(pCxt, yymsp[-2].minor.yy110, SOPT_TRIGGER_TYPE_SET, &yymsp[0].minor.yy0, NULL); } -#line 7116 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setStreamOptions(pCxt, yymsp[-2].minor.yy896, SOPT_TRIGGER_TYPE_SET, &yymsp[0].minor.yy0, NULL); } +#line 7066 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 383: /* stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ #line 698 "sql.y" -{ yylhsminor.yy110 = setStreamOptions(pCxt, yymsp[-3].minor.yy110, SOPT_TRIGGER_TYPE_SET, &yymsp[-1].minor.yy0, releaseRawExprNode(pCxt, yymsp[0].minor.yy110)); } -#line 7122 "sql.c" - yymsp[-3].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setStreamOptions(pCxt, yymsp[-3].minor.yy896, SOPT_TRIGGER_TYPE_SET, &yymsp[-1].minor.yy0, releaseRawExprNode(pCxt, yymsp[0].minor.yy896)); } +#line 7072 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; case 384: /* stream_options ::= stream_options WATERMARK duration_literal */ #line 699 "sql.y" -{ yylhsminor.yy110 = setStreamOptions(pCxt, yymsp[-2].minor.yy110, SOPT_WATERMARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy110)); } -#line 7128 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setStreamOptions(pCxt, yymsp[-2].minor.yy896, SOPT_WATERMARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy896)); } +#line 7078 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 385: /* stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ #line 700 "sql.y" -{ yylhsminor.yy110 = setStreamOptions(pCxt, yymsp[-3].minor.yy110, SOPT_IGNORE_EXPIRED_SET, &yymsp[0].minor.yy0, NULL); } -#line 7134 "sql.c" - yymsp[-3].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setStreamOptions(pCxt, yymsp[-3].minor.yy896, SOPT_IGNORE_EXPIRED_SET, &yymsp[0].minor.yy0, NULL); } +#line 7084 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; case 386: /* stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ #line 701 "sql.y" -{ yylhsminor.yy110 = setStreamOptions(pCxt, yymsp[-2].minor.yy110, SOPT_FILL_HISTORY_SET, &yymsp[0].minor.yy0, NULL); } -#line 7140 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setStreamOptions(pCxt, yymsp[-2].minor.yy896, SOPT_FILL_HISTORY_SET, &yymsp[0].minor.yy0, NULL); } +#line 7090 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 387: /* stream_options ::= stream_options DELETE_MARK duration_literal */ #line 702 "sql.y" -{ yylhsminor.yy110 = setStreamOptions(pCxt, yymsp[-2].minor.yy110, SOPT_DELETE_MARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy110)); } -#line 7146 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setStreamOptions(pCxt, yymsp[-2].minor.yy896, SOPT_DELETE_MARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy896)); } +#line 7096 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 388: /* stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ #line 703 "sql.y" -{ yylhsminor.yy110 = setStreamOptions(pCxt, yymsp[-3].minor.yy110, SOPT_IGNORE_UPDATE_SET, &yymsp[0].minor.yy0, NULL); } -#line 7152 "sql.c" - yymsp[-3].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setStreamOptions(pCxt, yymsp[-3].minor.yy896, SOPT_IGNORE_UPDATE_SET, &yymsp[0].minor.yy0, NULL); } +#line 7102 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; case 390: /* subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ case 637: /* sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ yytestcase(yyruleno==637); case 661: /* every_opt ::= EVERY NK_LP duration_literal NK_RP */ yytestcase(yyruleno==661); #line 706 "sql.y" -{ yymsp[-3].minor.yy110 = releaseRawExprNode(pCxt, yymsp[-1].minor.yy110); } -#line 7160 "sql.c" +{ yymsp[-3].minor.yy896 = releaseRawExprNode(pCxt, yymsp[-1].minor.yy896); } +#line 7110 "sql.c" break; case 393: /* cmd ::= KILL CONNECTION NK_INTEGER */ #line 714 "sql.y" { pCxt->pRootNode = createKillStmt(pCxt, QUERY_NODE_KILL_CONNECTION_STMT, &yymsp[0].minor.yy0); } -#line 7165 "sql.c" +#line 7115 "sql.c" break; case 394: /* cmd ::= KILL QUERY NK_STRING */ #line 715 "sql.y" { pCxt->pRootNode = createKillQueryStmt(pCxt, &yymsp[0].minor.yy0); } -#line 7170 "sql.c" +#line 7120 "sql.c" break; case 395: /* cmd ::= KILL TRANSACTION NK_INTEGER */ #line 716 "sql.y" { pCxt->pRootNode = createKillStmt(pCxt, QUERY_NODE_KILL_TRANSACTION_STMT, &yymsp[0].minor.yy0); } -#line 7175 "sql.c" +#line 7125 "sql.c" break; case 396: /* cmd ::= KILL COMPACT NK_INTEGER */ #line 717 "sql.y" { pCxt->pRootNode = createKillStmt(pCxt, QUERY_NODE_KILL_COMPACT_STMT, &yymsp[0].minor.yy0); } -#line 7180 "sql.c" +#line 7130 "sql.c" break; case 397: /* cmd ::= BALANCE VGROUP */ #line 720 "sql.y" { pCxt->pRootNode = createBalanceVgroupStmt(pCxt); } -#line 7185 "sql.c" +#line 7135 "sql.c" break; case 398: /* cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ #line 721 "sql.y" -{ pCxt->pRootNode = createBalanceVgroupLeaderStmt(pCxt, &yymsp[0].minor.yy863); } -#line 7190 "sql.c" +{ pCxt->pRootNode = createBalanceVgroupLeaderStmt(pCxt, &yymsp[0].minor.yy701); } +#line 7140 "sql.c" break; case 399: /* cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ #line 722 "sql.y" { pCxt->pRootNode = createMergeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); } -#line 7195 "sql.c" +#line 7145 "sql.c" break; case 400: /* cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ #line 723 "sql.y" -{ pCxt->pRootNode = createRedistributeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy652); } -#line 7200 "sql.c" +{ pCxt->pRootNode = createRedistributeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy404); } +#line 7150 "sql.c" break; case 401: /* cmd ::= SPLIT VGROUP NK_INTEGER */ #line 724 "sql.y" { pCxt->pRootNode = createSplitVgroupStmt(pCxt, &yymsp[0].minor.yy0); } -#line 7205 "sql.c" +#line 7155 "sql.c" break; case 404: /* dnode_list ::= DNODE NK_INTEGER */ #line 733 "sql.y" -{ yymsp[-1].minor.yy652 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } -#line 7210 "sql.c" +{ yymsp[-1].minor.yy404 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } +#line 7160 "sql.c" break; case 406: /* cmd ::= DELETE FROM full_table_name where_clause_opt */ #line 740 "sql.y" -{ pCxt->pRootNode = createDeleteStmt(pCxt, yymsp[-1].minor.yy110, yymsp[0].minor.yy110); } -#line 7215 "sql.c" +{ pCxt->pRootNode = createDeleteStmt(pCxt, yymsp[-1].minor.yy896, yymsp[0].minor.yy896); } +#line 7165 "sql.c" break; case 409: /* insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ #line 749 "sql.y" -{ yymsp[-6].minor.yy110 = createInsertStmt(pCxt, yymsp[-4].minor.yy110, yymsp[-2].minor.yy652, yymsp[0].minor.yy110); } -#line 7220 "sql.c" +{ yymsp[-6].minor.yy896 = createInsertStmt(pCxt, yymsp[-4].minor.yy896, yymsp[-2].minor.yy404, yymsp[0].minor.yy896); } +#line 7170 "sql.c" break; case 410: /* insert_query ::= INSERT INTO full_table_name query_or_subquery */ #line 750 "sql.y" -{ yymsp[-3].minor.yy110 = createInsertStmt(pCxt, yymsp[-1].minor.yy110, NULL, yymsp[0].minor.yy110); } -#line 7225 "sql.c" +{ yymsp[-3].minor.yy896 = createInsertStmt(pCxt, yymsp[-1].minor.yy896, NULL, yymsp[0].minor.yy896); } +#line 7175 "sql.c" break; case 411: /* tags_literal ::= NK_INTEGER */ case 423: /* tags_literal ::= NK_BIN */ yytestcase(yyruleno==423); case 432: /* tags_literal ::= NK_HEX */ yytestcase(yyruleno==432); #line 753 "sql.y" -{ yylhsminor.yy110 = createRawValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0, NULL); } -#line 7232 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRawValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0, NULL); } +#line 7182 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 412: /* tags_literal ::= NK_INTEGER NK_PLUS duration_literal */ case 413: /* tags_literal ::= NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==413); @@ -7243,12 +7193,12 @@ static YYACTIONTYPE yy_reduce( #line 754 "sql.y" { SToken l = yymsp[-2].minor.yy0; - SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); + SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); l.n = (r.z + r.n) - l.z; - yylhsminor.yy110 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, NULL, yymsp[0].minor.yy110); + yylhsminor.yy896 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, NULL, yymsp[0].minor.yy896); } -#line 7250 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +#line 7200 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 414: /* tags_literal ::= NK_PLUS NK_INTEGER */ case 417: /* tags_literal ::= NK_MINUS NK_INTEGER */ yytestcase(yyruleno==417); @@ -7260,10 +7210,10 @@ static YYACTIONTYPE yy_reduce( { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy110 = createRawValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &t, NULL); + yylhsminor.yy896 = createRawValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &t, NULL); } -#line 7265 "sql.c" - yymsp[-1].minor.yy110 = yylhsminor.yy110; +#line 7215 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; case 415: /* tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal */ case 416: /* tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==416); @@ -7280,18 +7230,18 @@ static YYACTIONTYPE yy_reduce( #line 771 "sql.y" { SToken l = yymsp[-3].minor.yy0; - SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); + SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); l.n = (r.z + r.n) - l.z; - yylhsminor.yy110 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, NULL, yymsp[0].minor.yy110); + yylhsminor.yy896 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, NULL, yymsp[0].minor.yy896); } -#line 7287 "sql.c" - yymsp[-3].minor.yy110 = yylhsminor.yy110; +#line 7237 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; case 420: /* tags_literal ::= NK_FLOAT */ #line 800 "sql.y" -{ yylhsminor.yy110 = createRawValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0, NULL); } -#line 7293 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRawValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0, NULL); } +#line 7243 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 421: /* tags_literal ::= NK_PLUS NK_FLOAT */ case 422: /* tags_literal ::= NK_MINUS NK_FLOAT */ yytestcase(yyruleno==422); @@ -7299,76 +7249,76 @@ static YYACTIONTYPE yy_reduce( { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy110 = createRawValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t, NULL); + yylhsminor.yy896 = createRawValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t, NULL); } -#line 7304 "sql.c" - yymsp[-1].minor.yy110 = yylhsminor.yy110; +#line 7254 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; case 441: /* tags_literal ::= NK_STRING */ #line 907 "sql.y" -{ yylhsminor.yy110 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0, NULL); } -#line 7310 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0, NULL); } +#line 7260 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 444: /* tags_literal ::= NK_BOOL */ #line 920 "sql.y" -{ yylhsminor.yy110 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0, NULL); } -#line 7316 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0, NULL); } +#line 7266 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 445: /* tags_literal ::= NULL */ #line 921 "sql.y" -{ yylhsminor.yy110 = createRawValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0, NULL); } -#line 7322 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRawValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0, NULL); } +#line 7272 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 446: /* tags_literal ::= literal_func */ #line 923 "sql.y" -{ yylhsminor.yy110 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BINARY, NULL, yymsp[0].minor.yy110); } -#line 7328 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BINARY, NULL, yymsp[0].minor.yy896); } +#line 7278 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 447: /* tags_literal ::= literal_func NK_PLUS duration_literal */ case 448: /* tags_literal ::= literal_func NK_MINUS duration_literal */ yytestcase(yyruleno==448); #line 924 "sql.y" { - SToken l = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy110); - SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); + 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.yy110 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, yymsp[-2].minor.yy110, yymsp[0].minor.yy110); + yylhsminor.yy896 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, yymsp[-2].minor.yy896, yymsp[0].minor.yy896); } -#line 7340 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +#line 7290 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 451: /* literal ::= NK_INTEGER */ #line 943 "sql.y" -{ yylhsminor.yy110 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0)); } -#line 7346 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0)); } +#line 7296 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 452: /* literal ::= NK_FLOAT */ #line 944 "sql.y" -{ yylhsminor.yy110 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0)); } -#line 7352 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0)); } +#line 7302 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 453: /* literal ::= NK_STRING */ #line 945 "sql.y" -{ yylhsminor.yy110 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } -#line 7358 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } +#line 7308 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 454: /* literal ::= NK_BOOL */ #line 946 "sql.y" -{ yylhsminor.yy110 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0)); } -#line 7364 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0)); } +#line 7314 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 455: /* literal ::= TIMESTAMP NK_STRING */ #line 947 "sql.y" -{ yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0)); } -#line 7370 "sql.c" - yymsp[-1].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0)); } +#line 7320 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; case 456: /* literal ::= duration_literal */ case 466: /* signed_literal ::= signed */ yytestcase(yyruleno==466); @@ -7391,89 +7341,89 @@ static YYACTIONTYPE yy_reduce( case 667: /* query_simple_or_subquery ::= query_simple */ yytestcase(yyruleno==667); case 669: /* query_or_subquery ::= query_expression */ yytestcase(yyruleno==669); #line 948 "sql.y" -{ yylhsminor.yy110 = yymsp[0].minor.yy110; } -#line 7395 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = yymsp[0].minor.yy896; } +#line 7345 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 457: /* literal ::= NULL */ #line 949 "sql.y" -{ yylhsminor.yy110 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0)); } -#line 7401 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0)); } +#line 7351 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 458: /* literal ::= NK_QUESTION */ #line 950 "sql.y" -{ yylhsminor.yy110 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0)); } -#line 7407 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0)); } +#line 7357 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 459: /* duration_literal ::= NK_VARIABLE */ case 638: /* interval_sliding_duration_literal ::= NK_VARIABLE */ yytestcase(yyruleno==638); case 639: /* interval_sliding_duration_literal ::= NK_STRING */ yytestcase(yyruleno==639); case 640: /* interval_sliding_duration_literal ::= NK_INTEGER */ yytestcase(yyruleno==640); #line 952 "sql.y" -{ yylhsminor.yy110 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } -#line 7416 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } +#line 7366 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 460: /* signed ::= NK_INTEGER */ #line 954 "sql.y" -{ yylhsminor.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } -#line 7422 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } +#line 7372 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 461: /* signed ::= NK_PLUS NK_INTEGER */ #line 955 "sql.y" -{ yymsp[-1].minor.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } -#line 7428 "sql.c" +{ yymsp[-1].minor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } +#line 7378 "sql.c" break; case 462: /* signed ::= NK_MINUS NK_INTEGER */ #line 956 "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.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &t); + yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &t); } -#line 7437 "sql.c" - yymsp[-1].minor.yy110 = yylhsminor.yy110; +#line 7387 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; case 463: /* signed ::= NK_FLOAT */ #line 961 "sql.y" -{ yylhsminor.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } -#line 7443 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } +#line 7393 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 464: /* signed ::= NK_PLUS NK_FLOAT */ #line 962 "sql.y" -{ yymsp[-1].minor.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } -#line 7449 "sql.c" +{ yymsp[-1].minor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } +#line 7399 "sql.c" break; case 465: /* signed ::= NK_MINUS NK_FLOAT */ #line 963 "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.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t); + yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t); } -#line 7458 "sql.c" - yymsp[-1].minor.yy110 = yylhsminor.yy110; +#line 7408 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; case 467: /* signed_literal ::= NK_STRING */ #line 970 "sql.y" -{ yylhsminor.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } -#line 7464 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } +#line 7414 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 468: /* signed_literal ::= NK_BOOL */ #line 971 "sql.y" -{ yylhsminor.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0); } -#line 7470 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0); } +#line 7420 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 469: /* signed_literal ::= TIMESTAMP NK_STRING */ #line 972 "sql.y" -{ yymsp[-1].minor.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } -#line 7476 "sql.c" +{ yymsp[-1].minor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } +#line 7426 "sql.c" break; case 470: /* signed_literal ::= duration_literal */ case 472: /* signed_literal ::= literal_func */ yytestcase(yyruleno==472); @@ -7484,156 +7434,156 @@ static YYACTIONTYPE yy_reduce( case 670: /* query_or_subquery ::= subquery */ yytestcase(yyruleno==670); case 683: /* search_condition ::= common_expression */ yytestcase(yyruleno==683); #line 973 "sql.y" -{ yylhsminor.yy110 = releaseRawExprNode(pCxt, yymsp[0].minor.yy110); } -#line 7488 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = releaseRawExprNode(pCxt, yymsp[0].minor.yy896); } +#line 7438 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 471: /* signed_literal ::= NULL */ #line 974 "sql.y" -{ yylhsminor.yy110 = createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0); } -#line 7494 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0); } +#line 7444 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 473: /* signed_literal ::= NK_QUESTION */ #line 976 "sql.y" -{ yylhsminor.yy110 = createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0); } -#line 7500 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0); } +#line 7450 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 491: /* expression ::= pseudo_column */ #line 1038 "sql.y" -{ yylhsminor.yy110 = yymsp[0].minor.yy110; setRawExprNodeIsPseudoColumn(pCxt, yylhsminor.yy110, true); } -#line 7506 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = yymsp[0].minor.yy896; setRawExprNodeIsPseudoColumn(pCxt, yylhsminor.yy896, true); } +#line 7456 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 495: /* expression ::= NK_LP expression NK_RP */ case 583: /* boolean_primary ::= NK_LP boolean_value_expression NK_RP */ yytestcase(yyruleno==583); case 682: /* subquery ::= NK_LP subquery NK_RP */ yytestcase(yyruleno==682); #line 1042 "sql.y" -{ yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, releaseRawExprNode(pCxt, yymsp[-1].minor.yy110)); } -#line 7514 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, releaseRawExprNode(pCxt, yymsp[-1].minor.yy896)); } +#line 7464 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 496: /* expression ::= NK_PLUS expr_or_subquery */ #line 1043 "sql.y" { - SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); - yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, releaseRawExprNode(pCxt, yymsp[0].minor.yy110)); + SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, releaseRawExprNode(pCxt, yymsp[0].minor.yy896)); } -#line 7523 "sql.c" - yymsp[-1].minor.yy110 = yylhsminor.yy110; +#line 7473 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; case 497: /* expression ::= NK_MINUS expr_or_subquery */ #line 1047 "sql.y" { - SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); - yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, createOperatorNode(pCxt, OP_TYPE_MINUS, releaseRawExprNode(pCxt, yymsp[0].minor.yy110), 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)); } -#line 7532 "sql.c" - yymsp[-1].minor.yy110 = yylhsminor.yy110; +#line 7482 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; case 498: /* expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ #line 1051 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy110); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); - yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_ADD, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); + 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))); } -#line 7542 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +#line 7492 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 499: /* expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ #line 1056 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy110); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); - yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_SUB, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); + 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))); } -#line 7552 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +#line 7502 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 500: /* expression ::= expr_or_subquery NK_STAR expr_or_subquery */ #line 1061 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy110); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); - yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_MULTI, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); + 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))); } -#line 7562 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +#line 7512 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 501: /* expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ #line 1066 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy110); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); - yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_DIV, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); + 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))); } -#line 7572 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +#line 7522 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 502: /* expression ::= expr_or_subquery NK_REM expr_or_subquery */ #line 1071 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy110); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); - yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_REM, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); + 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))); } -#line 7582 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +#line 7532 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 503: /* expression ::= column_reference NK_ARROW NK_STRING */ #line 1076 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy110); - yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_JSON_GET_VALUE, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), 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))); } -#line 7591 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +#line 7541 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 504: /* expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ #line 1080 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy110); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); - yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); + 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))); } -#line 7601 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +#line 7551 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 505: /* expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ #line 1085 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy110); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); - yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); + 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))); } -#line 7611 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +#line 7561 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 508: /* column_reference ::= column_name */ #line 1096 "sql.y" -{ yylhsminor.yy110 = createRawExprNode(pCxt, &yymsp[0].minor.yy863, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy863)); } -#line 7617 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy701, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy701)); } +#line 7567 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 509: /* column_reference ::= table_name NK_DOT column_name */ #line 1097 "sql.y" -{ yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy863, &yymsp[0].minor.yy863, createColumnNode(pCxt, &yymsp[-2].minor.yy863, &yymsp[0].minor.yy863)); } -#line 7623 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy701, createColumnNode(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy701)); } +#line 7573 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 510: /* column_reference ::= NK_ALIAS */ #line 1098 "sql.y" -{ yylhsminor.yy110 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } -#line 7629 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } +#line 7579 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 511: /* column_reference ::= table_name NK_DOT NK_ALIAS */ #line 1099 "sql.y" -{ yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy863, &yymsp[0].minor.yy0, createColumnNode(pCxt, &yymsp[-2].minor.yy863, &yymsp[0].minor.yy0)); } -#line 7635 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy0, createColumnNode(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy0)); } +#line 7585 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 512: /* pseudo_column ::= ROWTS */ case 513: /* pseudo_column ::= TBNAME */ yytestcase(yyruleno==513); @@ -7649,518 +7599,518 @@ static YYACTIONTYPE yy_reduce( case 530: /* literal_func ::= NOW */ yytestcase(yyruleno==530); case 531: /* literal_func ::= TODAY */ yytestcase(yyruleno==531); #line 1101 "sql.y" -{ yylhsminor.yy110 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL)); } -#line 7653 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL)); } +#line 7603 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 514: /* pseudo_column ::= table_name NK_DOT TBNAME */ #line 1103 "sql.y" -{ yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy863, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[-2].minor.yy863)))); } -#line 7659 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ 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 7609 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 524: /* function_expression ::= function_name NK_LP expression_list NK_RP */ case 525: /* function_expression ::= star_func NK_LP star_func_para_list NK_RP */ yytestcase(yyruleno==525); #line 1114 "sql.y" -{ yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy863, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-3].minor.yy863, yymsp[-1].minor.yy652)); } -#line 7666 "sql.c" - yymsp[-3].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy701, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-3].minor.yy701, yymsp[-1].minor.yy404)); } +#line 7616 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; case 526: /* function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ case 527: /* function_expression ::= CAST NK_LP expr_or_subquery AS type_name_binary NK_RP */ yytestcase(yyruleno==527); #line 1117 "sql.y" -{ yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0, createCastFunctionNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy110), yymsp[-1].minor.yy34)); } -#line 7673 "sql.c" - yymsp[-5].minor.yy110 = yylhsminor.yy110; +{ 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 7623 "sql.c" + yymsp[-5].minor.yy896 = yylhsminor.yy896; break; case 529: /* literal_func ::= noarg_func NK_LP NK_RP */ #line 1123 "sql.y" -{ yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy863, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-2].minor.yy863, NULL)); } -#line 7679 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-2].minor.yy701, NULL)); } +#line 7629 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 545: /* star_func_para_list ::= NK_STAR */ #line 1148 "sql.y" -{ yylhsminor.yy652 = createNodeList(pCxt, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } -#line 7685 "sql.c" - yymsp[0].minor.yy652 = yylhsminor.yy652; +{ yylhsminor.yy404 = createNodeList(pCxt, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } +#line 7635 "sql.c" + yymsp[0].minor.yy404 = yylhsminor.yy404; break; case 550: /* star_func_para ::= table_name NK_DOT NK_STAR */ case 618: /* select_item ::= table_name NK_DOT NK_STAR */ yytestcase(yyruleno==618); #line 1157 "sql.y" -{ yylhsminor.yy110 = createColumnNode(pCxt, &yymsp[-2].minor.yy863, &yymsp[0].minor.yy0); } -#line 7692 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createColumnNode(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy0); } +#line 7642 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 551: /* case_when_expression ::= CASE when_then_list case_when_else_opt END */ #line 1160 "sql.y" -{ yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, NULL, yymsp[-2].minor.yy652, yymsp[-1].minor.yy110)); } -#line 7698 "sql.c" - yymsp[-3].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, NULL, yymsp[-2].minor.yy404, yymsp[-1].minor.yy896)); } +#line 7648 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; case 552: /* case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ #line 1162 "sql.y" -{ yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-4].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy110), yymsp[-2].minor.yy652, yymsp[-1].minor.yy110)); } -#line 7704 "sql.c" - yymsp[-4].minor.yy110 = yylhsminor.yy110; +{ 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 7654 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; case 555: /* when_then_expr ::= WHEN common_expression THEN common_expression */ #line 1169 "sql.y" -{ yymsp[-3].minor.yy110 = createWhenThenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), releaseRawExprNode(pCxt, yymsp[0].minor.yy110)); } -#line 7710 "sql.c" +{ yymsp[-3].minor.yy896 = createWhenThenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896)); } +#line 7660 "sql.c" break; case 557: /* case_when_else_opt ::= ELSE common_expression */ #line 1172 "sql.y" -{ yymsp[-1].minor.yy110 = releaseRawExprNode(pCxt, yymsp[0].minor.yy110); } -#line 7715 "sql.c" +{ yymsp[-1].minor.yy896 = releaseRawExprNode(pCxt, yymsp[0].minor.yy896); } +#line 7665 "sql.c" break; case 558: /* predicate ::= expr_or_subquery compare_op expr_or_subquery */ case 563: /* predicate ::= expr_or_subquery in_op in_predicate_value */ yytestcase(yyruleno==563); #line 1175 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy110); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); - yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, yymsp[-1].minor.yy2, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); + 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))); } -#line 7725 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +#line 7675 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 559: /* predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ #line 1182 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-4].minor.yy110); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); - yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &e, createBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-4].minor.yy110), releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); + 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))); } -#line 7735 "sql.c" - yymsp[-4].minor.yy110 = yylhsminor.yy110; +#line 7685 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; case 560: /* predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ #line 1188 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-5].minor.yy110); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); - yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &e, createNotBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy110), releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); + 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))); } -#line 7745 "sql.c" - yymsp[-5].minor.yy110 = yylhsminor.yy110; +#line 7695 "sql.c" + yymsp[-5].minor.yy896 = yylhsminor.yy896; break; case 561: /* predicate ::= expr_or_subquery IS NULL */ #line 1193 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy110); - yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NULL, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), 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)); } -#line 7754 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +#line 7704 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 562: /* predicate ::= expr_or_subquery IS NOT NULL */ #line 1197 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-3].minor.yy110); - yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NOT_NULL, releaseRawExprNode(pCxt, yymsp[-3].minor.yy110), 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)); } -#line 7763 "sql.c" - yymsp[-3].minor.yy110 = yylhsminor.yy110; +#line 7713 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; case 564: /* compare_op ::= NK_LT */ #line 1209 "sql.y" -{ yymsp[0].minor.yy2 = OP_TYPE_LOWER_THAN; } -#line 7769 "sql.c" +{ yymsp[0].minor.yy884 = OP_TYPE_LOWER_THAN; } +#line 7719 "sql.c" break; case 565: /* compare_op ::= NK_GT */ #line 1210 "sql.y" -{ yymsp[0].minor.yy2 = OP_TYPE_GREATER_THAN; } -#line 7774 "sql.c" +{ yymsp[0].minor.yy884 = OP_TYPE_GREATER_THAN; } +#line 7724 "sql.c" break; case 566: /* compare_op ::= NK_LE */ #line 1211 "sql.y" -{ yymsp[0].minor.yy2 = OP_TYPE_LOWER_EQUAL; } -#line 7779 "sql.c" +{ yymsp[0].minor.yy884 = OP_TYPE_LOWER_EQUAL; } +#line 7729 "sql.c" break; case 567: /* compare_op ::= NK_GE */ #line 1212 "sql.y" -{ yymsp[0].minor.yy2 = OP_TYPE_GREATER_EQUAL; } -#line 7784 "sql.c" +{ yymsp[0].minor.yy884 = OP_TYPE_GREATER_EQUAL; } +#line 7734 "sql.c" break; case 568: /* compare_op ::= NK_NE */ #line 1213 "sql.y" -{ yymsp[0].minor.yy2 = OP_TYPE_NOT_EQUAL; } -#line 7789 "sql.c" +{ yymsp[0].minor.yy884 = OP_TYPE_NOT_EQUAL; } +#line 7739 "sql.c" break; case 569: /* compare_op ::= NK_EQ */ #line 1214 "sql.y" -{ yymsp[0].minor.yy2 = OP_TYPE_EQUAL; } -#line 7794 "sql.c" +{ yymsp[0].minor.yy884 = OP_TYPE_EQUAL; } +#line 7744 "sql.c" break; case 570: /* compare_op ::= LIKE */ #line 1215 "sql.y" -{ yymsp[0].minor.yy2 = OP_TYPE_LIKE; } -#line 7799 "sql.c" +{ yymsp[0].minor.yy884 = OP_TYPE_LIKE; } +#line 7749 "sql.c" break; case 571: /* compare_op ::= NOT LIKE */ #line 1216 "sql.y" -{ yymsp[-1].minor.yy2 = OP_TYPE_NOT_LIKE; } -#line 7804 "sql.c" +{ yymsp[-1].minor.yy884 = OP_TYPE_NOT_LIKE; } +#line 7754 "sql.c" break; case 572: /* compare_op ::= MATCH */ #line 1217 "sql.y" -{ yymsp[0].minor.yy2 = OP_TYPE_MATCH; } -#line 7809 "sql.c" +{ yymsp[0].minor.yy884 = OP_TYPE_MATCH; } +#line 7759 "sql.c" break; case 573: /* compare_op ::= NMATCH */ #line 1218 "sql.y" -{ yymsp[0].minor.yy2 = OP_TYPE_NMATCH; } -#line 7814 "sql.c" +{ yymsp[0].minor.yy884 = OP_TYPE_NMATCH; } +#line 7764 "sql.c" break; case 574: /* compare_op ::= CONTAINS */ #line 1219 "sql.y" -{ yymsp[0].minor.yy2 = OP_TYPE_JSON_CONTAINS; } -#line 7819 "sql.c" +{ yymsp[0].minor.yy884 = OP_TYPE_JSON_CONTAINS; } +#line 7769 "sql.c" break; case 575: /* in_op ::= IN */ #line 1223 "sql.y" -{ yymsp[0].minor.yy2 = OP_TYPE_IN; } -#line 7824 "sql.c" +{ yymsp[0].minor.yy884 = OP_TYPE_IN; } +#line 7774 "sql.c" break; case 576: /* in_op ::= NOT IN */ #line 1224 "sql.y" -{ yymsp[-1].minor.yy2 = OP_TYPE_NOT_IN; } -#line 7829 "sql.c" +{ yymsp[-1].minor.yy884 = OP_TYPE_NOT_IN; } +#line 7779 "sql.c" break; case 577: /* in_predicate_value ::= NK_LP literal_list NK_RP */ #line 1226 "sql.y" -{ yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, createNodeListNode(pCxt, yymsp[-1].minor.yy652)); } -#line 7834 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, createNodeListNode(pCxt, yymsp[-1].minor.yy404)); } +#line 7784 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 579: /* boolean_value_expression ::= NOT boolean_primary */ #line 1230 "sql.y" { - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); - yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_NOT, releaseRawExprNode(pCxt, yymsp[0].minor.yy110), 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)); } -#line 7843 "sql.c" - yymsp[-1].minor.yy110 = yylhsminor.yy110; +#line 7793 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; case 580: /* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ #line 1235 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy110); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); - yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); + 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))); } -#line 7853 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +#line 7803 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 581: /* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ #line 1241 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy110); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy110); - yylhsminor.yy110 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); + 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))); } -#line 7863 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +#line 7813 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 589: /* table_reference_list ::= table_reference_list NK_COMMA table_reference */ #line 1259 "sql.y" -{ yylhsminor.yy110 = createJoinTableNode(pCxt, JOIN_TYPE_INNER, yymsp[-2].minor.yy110, yymsp[0].minor.yy110, NULL); } -#line 7869 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createJoinTableNode(pCxt, JOIN_TYPE_INNER, yymsp[-2].minor.yy896, yymsp[0].minor.yy896, NULL); } +#line 7819 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 592: /* table_primary ::= table_name alias_opt */ #line 1265 "sql.y" -{ yylhsminor.yy110 = createRealTableNode(pCxt, NULL, &yymsp[-1].minor.yy863, &yymsp[0].minor.yy863); } -#line 7875 "sql.c" - yymsp[-1].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRealTableNode(pCxt, NULL, &yymsp[-1].minor.yy701, &yymsp[0].minor.yy701); } +#line 7825 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; case 593: /* table_primary ::= db_name NK_DOT table_name alias_opt */ #line 1266 "sql.y" -{ yylhsminor.yy110 = createRealTableNode(pCxt, &yymsp[-3].minor.yy863, &yymsp[-1].minor.yy863, &yymsp[0].minor.yy863); } -#line 7881 "sql.c" - yymsp[-3].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRealTableNode(pCxt, &yymsp[-3].minor.yy701, &yymsp[-1].minor.yy701, &yymsp[0].minor.yy701); } +#line 7831 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; case 594: /* table_primary ::= subquery alias_opt */ #line 1267 "sql.y" -{ yylhsminor.yy110 = createTempTableNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy110), &yymsp[0].minor.yy863); } -#line 7887 "sql.c" - yymsp[-1].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createTempTableNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy896), &yymsp[0].minor.yy701); } +#line 7837 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; case 596: /* alias_opt ::= */ #line 1272 "sql.y" -{ yymsp[1].minor.yy863 = nil_token; } -#line 7893 "sql.c" +{ yymsp[1].minor.yy701 = nil_token; } +#line 7843 "sql.c" break; case 598: /* alias_opt ::= AS table_alias */ #line 1274 "sql.y" -{ yymsp[-1].minor.yy863 = yymsp[0].minor.yy863; } -#line 7898 "sql.c" +{ yymsp[-1].minor.yy701 = yymsp[0].minor.yy701; } +#line 7848 "sql.c" break; case 599: /* parenthesized_joined_table ::= NK_LP joined_table NK_RP */ case 600: /* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ yytestcase(yyruleno==600); #line 1276 "sql.y" -{ yymsp[-2].minor.yy110 = yymsp[-1].minor.yy110; } -#line 7904 "sql.c" +{ yymsp[-2].minor.yy896 = yymsp[-1].minor.yy896; } +#line 7854 "sql.c" break; case 601: /* joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ #line 1281 "sql.y" -{ yylhsminor.yy110 = createJoinTableNode(pCxt, yymsp[-4].minor.yy684, yymsp[-5].minor.yy110, yymsp[-2].minor.yy110, yymsp[0].minor.yy110); } -#line 7909 "sql.c" - yymsp[-5].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createJoinTableNode(pCxt, yymsp[-4].minor.yy680, yymsp[-5].minor.yy896, yymsp[-2].minor.yy896, yymsp[0].minor.yy896); } +#line 7859 "sql.c" + yymsp[-5].minor.yy896 = yylhsminor.yy896; break; case 602: /* join_type ::= */ #line 1285 "sql.y" -{ yymsp[1].minor.yy684 = JOIN_TYPE_INNER; } -#line 7915 "sql.c" +{ yymsp[1].minor.yy680 = JOIN_TYPE_INNER; } +#line 7865 "sql.c" break; case 603: /* join_type ::= INNER */ #line 1286 "sql.y" -{ yymsp[0].minor.yy684 = JOIN_TYPE_INNER; } -#line 7920 "sql.c" +{ yymsp[0].minor.yy680 = JOIN_TYPE_INNER; } +#line 7870 "sql.c" break; case 604: /* 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 1292 "sql.y" { - yymsp[-13].minor.yy110 = createSelectStmt(pCxt, yymsp[-11].minor.yy1019, yymsp[-9].minor.yy652, yymsp[-8].minor.yy110, yymsp[-12].minor.yy652); - yymsp[-13].minor.yy110 = setSelectStmtTagMode(pCxt, yymsp[-13].minor.yy110, yymsp[-10].minor.yy1019); - yymsp[-13].minor.yy110 = addWhereClause(pCxt, yymsp[-13].minor.yy110, yymsp[-7].minor.yy110); - yymsp[-13].minor.yy110 = addPartitionByClause(pCxt, yymsp[-13].minor.yy110, yymsp[-6].minor.yy652); - yymsp[-13].minor.yy110 = addWindowClauseClause(pCxt, yymsp[-13].minor.yy110, yymsp[-2].minor.yy110); - yymsp[-13].minor.yy110 = addGroupByClause(pCxt, yymsp[-13].minor.yy110, yymsp[-1].minor.yy652); - yymsp[-13].minor.yy110 = addHavingClause(pCxt, yymsp[-13].minor.yy110, yymsp[0].minor.yy110); - yymsp[-13].minor.yy110 = addRangeClause(pCxt, yymsp[-13].minor.yy110, yymsp[-5].minor.yy110); - yymsp[-13].minor.yy110 = addEveryClause(pCxt, yymsp[-13].minor.yy110, yymsp[-4].minor.yy110); - yymsp[-13].minor.yy110 = addFillClause(pCxt, yymsp[-13].minor.yy110, yymsp[-3].minor.yy110); + 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 7936 "sql.c" +#line 7886 "sql.c" break; case 605: /* hint_list ::= */ #line 1307 "sql.y" -{ yymsp[1].minor.yy652 = createHintNodeList(pCxt, NULL); } -#line 7941 "sql.c" +{ yymsp[1].minor.yy404 = createHintNodeList(pCxt, NULL); } +#line 7891 "sql.c" break; case 606: /* hint_list ::= NK_HINT */ #line 1308 "sql.y" -{ yylhsminor.yy652 = createHintNodeList(pCxt, &yymsp[0].minor.yy0); } -#line 7946 "sql.c" - yymsp[0].minor.yy652 = yylhsminor.yy652; +{ yylhsminor.yy404 = createHintNodeList(pCxt, &yymsp[0].minor.yy0); } +#line 7896 "sql.c" + yymsp[0].minor.yy404 = yylhsminor.yy404; break; case 611: /* set_quantifier_opt ::= ALL */ #line 1319 "sql.y" -{ yymsp[0].minor.yy1019 = false; } -#line 7952 "sql.c" +{ yymsp[0].minor.yy733 = false; } +#line 7902 "sql.c" break; case 614: /* select_item ::= NK_STAR */ #line 1326 "sql.y" -{ yylhsminor.yy110 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0); } -#line 7957 "sql.c" - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0); } +#line 7907 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 616: /* select_item ::= common_expression column_alias */ case 626: /* partition_item ::= expr_or_subquery column_alias */ yytestcase(yyruleno==626); #line 1328 "sql.y" -{ yylhsminor.yy110 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy110), &yymsp[0].minor.yy863); } -#line 7964 "sql.c" - yymsp[-1].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy896), &yymsp[0].minor.yy701); } +#line 7914 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; case 617: /* select_item ::= common_expression AS column_alias */ case 627: /* partition_item ::= expr_or_subquery AS column_alias */ yytestcase(yyruleno==627); #line 1329 "sql.y" -{ yylhsminor.yy110 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), &yymsp[0].minor.yy863); } -#line 7971 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), &yymsp[0].minor.yy701); } +#line 7921 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 622: /* partition_by_clause_opt ::= PARTITION BY partition_list */ case 652: /* group_by_clause_opt ::= GROUP BY group_by_list */ yytestcase(yyruleno==652); case 672: /* order_by_clause_opt ::= ORDER BY sort_specification_list */ yytestcase(yyruleno==672); #line 1338 "sql.y" -{ yymsp[-2].minor.yy652 = yymsp[0].minor.yy652; } -#line 7979 "sql.c" +{ yymsp[-2].minor.yy404 = yymsp[0].minor.yy404; } +#line 7929 "sql.c" break; case 629: /* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ #line 1351 "sql.y" -{ yymsp[-5].minor.yy110 = createSessionWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy110), releaseRawExprNode(pCxt, yymsp[-1].minor.yy110)); } -#line 7984 "sql.c" +{ yymsp[-5].minor.yy896 = createSessionWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy896), releaseRawExprNode(pCxt, yymsp[-1].minor.yy896)); } +#line 7934 "sql.c" break; case 630: /* twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ #line 1352 "sql.y" -{ yymsp[-3].minor.yy110 = createStateWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy110)); } -#line 7989 "sql.c" +{ yymsp[-3].minor.yy896 = createStateWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy896)); } +#line 7939 "sql.c" break; case 631: /* twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ #line 1354 "sql.y" -{ yymsp[-5].minor.yy110 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy110), NULL, yymsp[-1].minor.yy110, yymsp[0].minor.yy110); } -#line 7994 "sql.c" +{ yymsp[-5].minor.yy896 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy896), NULL, yymsp[-1].minor.yy896, yymsp[0].minor.yy896); } +#line 7944 "sql.c" break; case 632: /* twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ #line 1358 "sql.y" -{ yymsp[-7].minor.yy110 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy110), releaseRawExprNode(pCxt, yymsp[-3].minor.yy110), yymsp[-1].minor.yy110, yymsp[0].minor.yy110); } -#line 7999 "sql.c" +{ 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 7949 "sql.c" break; case 633: /* twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ #line 1360 "sql.y" -{ yymsp[-6].minor.yy110 = createEventWindowNode(pCxt, yymsp[-3].minor.yy110, yymsp[0].minor.yy110); } -#line 8004 "sql.c" +{ yymsp[-6].minor.yy896 = createEventWindowNode(pCxt, yymsp[-3].minor.yy896, yymsp[0].minor.yy896); } +#line 7954 "sql.c" break; case 634: /* twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ #line 1362 "sql.y" -{ yymsp[-3].minor.yy110 = createCountWindowNode(pCxt, &yymsp[-1].minor.yy0, &yymsp[-1].minor.yy0); } -#line 8009 "sql.c" +{ yymsp[-3].minor.yy896 = createCountWindowNode(pCxt, &yymsp[-1].minor.yy0, &yymsp[-1].minor.yy0); } +#line 7959 "sql.c" break; case 635: /* twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ #line 1364 "sql.y" -{ yymsp[-5].minor.yy110 = createCountWindowNode(pCxt, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy0); } -#line 8014 "sql.c" +{ yymsp[-5].minor.yy896 = createCountWindowNode(pCxt, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy0); } +#line 7964 "sql.c" break; case 642: /* fill_opt ::= FILL NK_LP fill_mode NK_RP */ #line 1374 "sql.y" -{ yymsp[-3].minor.yy110 = createFillNode(pCxt, yymsp[-1].minor.yy534, NULL); } -#line 8019 "sql.c" +{ yymsp[-3].minor.yy896 = createFillNode(pCxt, yymsp[-1].minor.yy466, NULL); } +#line 7969 "sql.c" break; case 643: /* fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ #line 1375 "sql.y" -{ yymsp[-5].minor.yy110 = createFillNode(pCxt, FILL_MODE_VALUE, createNodeListNode(pCxt, yymsp[-1].minor.yy652)); } -#line 8024 "sql.c" +{ yymsp[-5].minor.yy896 = createFillNode(pCxt, FILL_MODE_VALUE, createNodeListNode(pCxt, yymsp[-1].minor.yy404)); } +#line 7974 "sql.c" break; case 644: /* fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ #line 1376 "sql.y" -{ yymsp[-5].minor.yy110 = createFillNode(pCxt, FILL_MODE_VALUE_F, createNodeListNode(pCxt, yymsp[-1].minor.yy652)); } -#line 8029 "sql.c" +{ yymsp[-5].minor.yy896 = createFillNode(pCxt, FILL_MODE_VALUE_F, createNodeListNode(pCxt, yymsp[-1].minor.yy404)); } +#line 7979 "sql.c" break; case 645: /* fill_mode ::= NONE */ #line 1380 "sql.y" -{ yymsp[0].minor.yy534 = FILL_MODE_NONE; } -#line 8034 "sql.c" +{ yymsp[0].minor.yy466 = FILL_MODE_NONE; } +#line 7984 "sql.c" break; case 646: /* fill_mode ::= PREV */ #line 1381 "sql.y" -{ yymsp[0].minor.yy534 = FILL_MODE_PREV; } -#line 8039 "sql.c" +{ yymsp[0].minor.yy466 = FILL_MODE_PREV; } +#line 7989 "sql.c" break; case 647: /* fill_mode ::= NULL */ #line 1382 "sql.y" -{ yymsp[0].minor.yy534 = FILL_MODE_NULL; } -#line 8044 "sql.c" +{ yymsp[0].minor.yy466 = FILL_MODE_NULL; } +#line 7994 "sql.c" break; case 648: /* fill_mode ::= NULL_F */ #line 1383 "sql.y" -{ yymsp[0].minor.yy534 = FILL_MODE_NULL_F; } -#line 8049 "sql.c" +{ yymsp[0].minor.yy466 = FILL_MODE_NULL_F; } +#line 7999 "sql.c" break; case 649: /* fill_mode ::= LINEAR */ #line 1384 "sql.y" -{ yymsp[0].minor.yy534 = FILL_MODE_LINEAR; } -#line 8054 "sql.c" +{ yymsp[0].minor.yy466 = FILL_MODE_LINEAR; } +#line 8004 "sql.c" break; case 650: /* fill_mode ::= NEXT */ #line 1385 "sql.y" -{ yymsp[0].minor.yy534 = FILL_MODE_NEXT; } -#line 8059 "sql.c" +{ yymsp[0].minor.yy466 = FILL_MODE_NEXT; } +#line 8009 "sql.c" break; case 653: /* group_by_list ::= expr_or_subquery */ #line 1394 "sql.y" -{ yylhsminor.yy652 = createNodeList(pCxt, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); } -#line 8064 "sql.c" - yymsp[0].minor.yy652 = yylhsminor.yy652; +{ yylhsminor.yy404 = createNodeList(pCxt, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } +#line 8014 "sql.c" + yymsp[0].minor.yy404 = yylhsminor.yy404; break; case 654: /* group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ #line 1395 "sql.y" -{ yylhsminor.yy652 = addNodeToList(pCxt, yymsp[-2].minor.yy652, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy110))); } -#line 8070 "sql.c" - yymsp[-2].minor.yy652 = yylhsminor.yy652; +{ yylhsminor.yy404 = addNodeToList(pCxt, yymsp[-2].minor.yy404, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } +#line 8020 "sql.c" + yymsp[-2].minor.yy404 = yylhsminor.yy404; break; case 658: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ #line 1402 "sql.y" -{ yymsp[-5].minor.yy110 = createInterpTimeRange(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy110), releaseRawExprNode(pCxt, yymsp[-1].minor.yy110)); } -#line 8076 "sql.c" +{ yymsp[-5].minor.yy896 = createInterpTimeRange(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy896), releaseRawExprNode(pCxt, yymsp[-1].minor.yy896)); } +#line 8026 "sql.c" break; case 659: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ #line 1404 "sql.y" -{ yymsp[-3].minor.yy110 = createInterpTimePoint(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy110)); } -#line 8081 "sql.c" +{ yymsp[-3].minor.yy896 = createInterpTimePoint(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy896)); } +#line 8031 "sql.c" break; case 662: /* query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ #line 1411 "sql.y" { - yylhsminor.yy110 = addOrderByClause(pCxt, yymsp[-3].minor.yy110, yymsp[-2].minor.yy652); - yylhsminor.yy110 = addSlimitClause(pCxt, yylhsminor.yy110, yymsp[-1].minor.yy110); - yylhsminor.yy110 = addLimitClause(pCxt, yylhsminor.yy110, yymsp[0].minor.yy110); + 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); } -#line 8090 "sql.c" - yymsp[-3].minor.yy110 = yylhsminor.yy110; +#line 8040 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; case 665: /* union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ #line 1421 "sql.y" -{ yylhsminor.yy110 = createSetOperator(pCxt, SET_OP_TYPE_UNION_ALL, yymsp[-3].minor.yy110, yymsp[0].minor.yy110); } -#line 8096 "sql.c" - yymsp[-3].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createSetOperator(pCxt, SET_OP_TYPE_UNION_ALL, yymsp[-3].minor.yy896, yymsp[0].minor.yy896); } +#line 8046 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; case 666: /* union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ #line 1423 "sql.y" -{ yylhsminor.yy110 = createSetOperator(pCxt, SET_OP_TYPE_UNION, yymsp[-2].minor.yy110, yymsp[0].minor.yy110); } -#line 8102 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createSetOperator(pCxt, SET_OP_TYPE_UNION, yymsp[-2].minor.yy896, yymsp[0].minor.yy896); } +#line 8052 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 674: /* slimit_clause_opt ::= SLIMIT NK_INTEGER */ case 678: /* limit_clause_opt ::= LIMIT NK_INTEGER */ yytestcase(yyruleno==678); #line 1437 "sql.y" -{ yymsp[-1].minor.yy110 = createLimitNode(pCxt, &yymsp[0].minor.yy0, NULL); } -#line 8109 "sql.c" +{ yymsp[-1].minor.yy896 = createLimitNode(pCxt, &yymsp[0].minor.yy0, NULL); } +#line 8059 "sql.c" break; case 675: /* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ case 679: /* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ yytestcase(yyruleno==679); #line 1438 "sql.y" -{ yymsp[-3].minor.yy110 = createLimitNode(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } -#line 8115 "sql.c" +{ yymsp[-3].minor.yy896 = createLimitNode(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } +#line 8065 "sql.c" break; case 676: /* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ case 680: /* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ yytestcase(yyruleno==680); #line 1439 "sql.y" -{ yymsp[-3].minor.yy110 = createLimitNode(pCxt, &yymsp[0].minor.yy0, &yymsp[-2].minor.yy0); } -#line 8121 "sql.c" +{ yymsp[-3].minor.yy896 = createLimitNode(pCxt, &yymsp[0].minor.yy0, &yymsp[-2].minor.yy0); } +#line 8071 "sql.c" break; case 681: /* subquery ::= NK_LP query_expression NK_RP */ #line 1447 "sql.y" -{ yylhsminor.yy110 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-1].minor.yy110); } -#line 8126 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-1].minor.yy896); } +#line 8076 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 686: /* sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ #line 1461 "sql.y" -{ yylhsminor.yy110 = createOrderByExprNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy110), yymsp[-1].minor.yy596, yymsp[0].minor.yy991); } -#line 8132 "sql.c" - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy896 = createOrderByExprNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), yymsp[-1].minor.yy918, yymsp[0].minor.yy669); } +#line 8082 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 687: /* ordering_specification_opt ::= */ #line 1465 "sql.y" -{ yymsp[1].minor.yy596 = ORDER_ASC; } -#line 8138 "sql.c" +{ yymsp[1].minor.yy918 = ORDER_ASC; } +#line 8088 "sql.c" break; case 688: /* ordering_specification_opt ::= ASC */ #line 1466 "sql.y" -{ yymsp[0].minor.yy596 = ORDER_ASC; } -#line 8143 "sql.c" +{ yymsp[0].minor.yy918 = ORDER_ASC; } +#line 8093 "sql.c" break; case 689: /* ordering_specification_opt ::= DESC */ #line 1467 "sql.y" -{ yymsp[0].minor.yy596 = ORDER_DESC; } -#line 8148 "sql.c" +{ yymsp[0].minor.yy918 = ORDER_DESC; } +#line 8098 "sql.c" break; case 690: /* null_ordering_opt ::= */ #line 1471 "sql.y" -{ yymsp[1].minor.yy991 = NULL_ORDER_DEFAULT; } -#line 8153 "sql.c" +{ yymsp[1].minor.yy669 = NULL_ORDER_DEFAULT; } +#line 8103 "sql.c" break; case 691: /* null_ordering_opt ::= NULLS FIRST */ #line 1472 "sql.y" -{ yymsp[-1].minor.yy991 = NULL_ORDER_FIRST; } -#line 8158 "sql.c" +{ yymsp[-1].minor.yy669 = NULL_ORDER_FIRST; } +#line 8108 "sql.c" break; case 692: /* null_ordering_opt ::= NULLS LAST */ #line 1473 "sql.y" -{ yymsp[-1].minor.yy991 = NULL_ORDER_LAST; } -#line 8163 "sql.c" +{ yymsp[-1].minor.yy669 = NULL_ORDER_LAST; } +#line 8113 "sql.c" break; default: break; @@ -8233,7 +8183,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 8236 "sql.c" +#line 8186 "sql.c" /************ End %syntax_error code ******************************************/ ParseARG_STORE /* Suppress warning about unused %extra_argument variable */ ParseCTX_STORE From e4a450fa6927733382fcdc518acd890999c26229 Mon Sep 17 00:00:00 2001 From: kailixu Date: Tue, 9 Apr 2024 19:28:19 +0800 Subject: [PATCH 17/20] enh: insert nchar by sql --- source/libs/parser/src/parInsertSql.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/source/libs/parser/src/parInsertSql.c b/source/libs/parser/src/parInsertSql.c index 9a7d0f4839..344a6e7fe2 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 maxLen = pToken->n << 2; + if (maxLen > pSchema->bytes - VARSTR_HEADER_SIZE) maxLen = pSchema->bytes - VARSTR_HEADER_SIZE; + char* pUcs4 = taosMemoryMalloc(maxLen); 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, maxLen, &len)) { taosMemoryFree(pUcs4); if (errno == E2BIG) { return generateSyntaxErrMsg(&pCxt->msg, TSDB_CODE_PAR_VALUE_TOO_LONG, pSchema->name); From 706ac9a9e600d7b517e7cec117a8160961695126 Mon Sep 17 00:00:00 2001 From: kailixu Date: Tue, 9 Apr 2024 19:33:32 +0800 Subject: [PATCH 18/20] enh: insert nchar by sql --- source/libs/parser/src/parInsertSql.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/libs/parser/src/parInsertSql.c b/source/libs/parser/src/parInsertSql.c index 344a6e7fe2..afdd6089d2 100644 --- a/source/libs/parser/src/parInsertSql.c +++ b/source/libs/parser/src/parInsertSql.c @@ -1572,13 +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; - int64_t maxLen = pToken->n << 2; - if (maxLen > pSchema->bytes - VARSTR_HEADER_SIZE) maxLen = pSchema->bytes - VARSTR_HEADER_SIZE; - char* pUcs4 = taosMemoryMalloc(maxLen); + 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, maxLen, &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); From a969142c37935fc1615a0c6769da38a61e414a61 Mon Sep 17 00:00:00 2001 From: factosea <285808407@qq.com> Date: Wed, 10 Apr 2024 10:21:54 +0800 Subject: [PATCH 19/20] fix: create log file thread --- source/util/src/tlog.c | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/source/util/src/tlog.c b/source/util/src/tlog.c index 7802b77e6a..0c09174970 100644 --- a/source/util/src/tlog.c +++ b/source/util/src/tlog.c @@ -286,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); @@ -313,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; } @@ -335,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); } From 4686d82a2d44db0b1c5d32c2189003ea1796bc71 Mon Sep 17 00:00:00 2001 From: factosea <285808407@qq.com> Date: Wed, 10 Apr 2024 11:48:50 +0800 Subject: [PATCH 20/20] cast support --- source/libs/function/src/builtins.c | 14 +- source/libs/parser/inc/sql.y | 11 +- source/libs/parser/src/parAstCreater.c | 1 + source/libs/parser/src/sql.c | 6560 ++++++++++++------------ tests/system-test/2-query/cast.py | 6 + 5 files changed, 3317 insertions(+), 3275 deletions(-) diff --git a/source/libs/function/src/builtins.c b/source/libs/function/src/builtins.c index 9cd6ef6685..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 > TSDB_MAX_BINARY_LEN - VARSTR_HEADER_SIZE) { // 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, %d] bytes", TSDB_MAX_BINARY_LEN - VARSTR_HEADER_SIZE); + 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 9fdaf50e3f..368c6bcdc7 100755 --- a/source/libs/parser/inc/sql.y +++ b/source/libs/parser/inc/sql.y @@ -415,9 +415,12 @@ 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_binary { SDataType } -%destructor type_name_binary { } -type_name_binary(A) ::= BINARY. { A = createVarLenDataType(TSDB_DATA_TYPE_BINARY, NULL); } +%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($$); } @@ -1116,7 +1119,7 @@ function_expression(A) ::= star_func(B) NK_LP star_func_para_list(C) NK_RP(D). 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_binary(D) NK_RP(E). { A = createRawExprNodeExt(pCxt, &B, &E, createCastFunctionNode(pCxt, releaseRawExprNode(pCxt, C), D)); } + 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; } diff --git a/source/libs/parser/src/parAstCreater.c b/source/libs/parser/src/parAstCreater.c index 876a850ccd..8eed609ddf 100644 --- a/source/libs/parser/src/parAstCreater.c +++ b/source/libs/parser/src/parAstCreater.c @@ -1602,6 +1602,7 @@ SDataType createDataType(uint8_t type) { SDataType createVarLenDataType(uint8_t type, const SToken* pLen) { 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/sql.c b/source/libs/parser/src/sql.c index f42e3af5e2..3103bbd4cb 100644 --- a/source/libs/parser/src/sql.c +++ b/source/libs/parser/src/sql.c @@ -497,18 +497,18 @@ typedef union { #define ParseCTX_FETCH #define ParseCTX_STORE #define YYFALLBACK 1 -#define YYNSTATE 892 -#define YYNRULE 693 -#define YYNRULE_WITH_ACTION 693 +#define YYNSTATE 895 +#define YYNRULE 696 +#define YYNRULE_WITH_ACTION 696 #define YYNTOKEN 354 -#define YY_MAX_SHIFT 891 -#define YY_MIN_SHIFTREDUCE 1325 -#define YY_MAX_SHIFTREDUCE 2017 -#define YY_ERROR_ACTION 2018 -#define YY_ACCEPT_ACTION 2019 -#define YY_NO_ACTION 2020 -#define YY_MIN_REDUCE 2021 -#define YY_MAX_REDUCE 2713 +#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]))) @@ -577,320 +577,320 @@ typedef union { *********** Begin parsing tables **********************************************/ #define YY_ACTTAB_COUNT (3138) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 239, 198, 2470, 504, 607, 456, 2072, 2200, 503, 2300, - /* 10 */ 458, 769, 47, 45, 1939, 511, 2421, 33, 170, 768, - /* 20 */ 439, 792, 1778, 40, 39, 425, 2213, 46, 44, 43, - /* 30 */ 42, 41, 2351, 35, 2263, 1865, 2107, 1776, 748, 40, - /* 40 */ 39, 2351, 2511, 46, 44, 43, 42, 41, 37, 310, - /* 50 */ 2349, 780, 753, 148, 712, 756, 442, 2684, 445, 2348, - /* 60 */ 780, 571, 569, 741, 390, 1860, 2684, 477, 218, 797, - /* 70 */ 2265, 19, 464, 463, 2618, 2690, 204, 408, 1784, 2689, - /* 80 */ 2685, 742, 2684, 2529, 740, 204, 2263, 40, 39, 2685, - /* 90 */ 742, 46, 44, 43, 42, 41, 2477, 1785, 775, 604, - /* 100 */ 2615, 2688, 605, 2064, 888, 2685, 2687, 15, 50, 863, - /* 110 */ 862, 861, 860, 467, 565, 859, 858, 153, 853, 852, - /* 120 */ 851, 850, 849, 848, 847, 152, 841, 840, 839, 466, - /* 130 */ 465, 836, 835, 834, 184, 183, 833, 2202, 2510, 1804, - /* 140 */ 2044, 2549, 601, 1867, 1868, 115, 2512, 779, 2514, 2515, - /* 150 */ 774, 599, 797, 792, 595, 591, 241, 187, 741, 2603, - /* 160 */ 607, 2684, 2072, 435, 2599, 302, 2611, 752, 736, 140, - /* 170 */ 751, 547, 2684, 753, 148, 546, 229, 1803, 206, 740, - /* 180 */ 204, 1838, 1848, 545, 2685, 742, 2633, 1983, 1866, 1869, - /* 190 */ 740, 204, 684, 445, 2477, 2685, 742, 2021, 731, 416, - /* 200 */ 415, 564, 228, 1779, 797, 1777, 792, 682, 609, 680, + /* 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 */ 830, 163, 162, 827, 826, 825, 160, 1782, 1783, 1835, - /* 240 */ 50, 1837, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, - /* 250 */ 771, 795, 794, 1859, 1861, 1862, 1863, 1864, 2, 47, - /* 260 */ 45, 2265, 1657, 1658, 388, 1788, 1801, 439, 424, 1778, - /* 270 */ 2511, 414, 413, 554, 649, 400, 574, 2263, 1803, 1365, - /* 280 */ 1896, 573, 1865, 773, 1776, 755, 202, 2611, 2612, 2487, - /* 290 */ 146, 2616, 737, 732, 725, 721, 651, 534, 1372, 575, - /* 300 */ 650, 2471, 174, 113, 389, 536, 749, 1656, 1659, 224, - /* 310 */ 2150, 2529, 1860, 846, 2491, 514, 2172, 1529, 19, 1894, - /* 320 */ 151, 1367, 1370, 1371, 2477, 1784, 775, 100, 2203, 793, - /* 330 */ 2211, 1520, 822, 821, 820, 1524, 819, 1526, 1527, 770, - /* 340 */ 815, 2188, 1535, 812, 1537, 1538, 809, 806, 803, 139, - /* 350 */ 91, 888, 411, 90, 15, 696, 647, 445, 1685, 2493, - /* 360 */ 2495, 436, 34, 522, 624, 62, 2510, 1803, 797, 2549, - /* 370 */ 797, 1778, 1901, 380, 2512, 779, 2514, 2515, 774, 772, - /* 380 */ 797, 761, 2568, 306, 1895, 2186, 1776, 1835, 1804, 1943, - /* 390 */ 1867, 1868, 695, 2338, 2317, 1803, 562, 561, 560, 559, - /* 400 */ 558, 553, 552, 551, 550, 394, 793, 2211, 306, 540, - /* 410 */ 539, 538, 537, 531, 530, 529, 2022, 524, 523, 409, - /* 420 */ 89, 735, 843, 515, 1625, 1626, 139, 1784, 1838, 1848, - /* 430 */ 1644, 614, 2390, 652, 1807, 1866, 1869, 129, 1806, 2487, - /* 440 */ 128, 127, 126, 125, 124, 123, 122, 121, 120, 2529, - /* 450 */ 1779, 129, 1777, 888, 128, 127, 126, 125, 124, 123, - /* 460 */ 122, 121, 120, 175, 2491, 2033, 36, 437, 1889, 1890, - /* 470 */ 1891, 1892, 1893, 1897, 1898, 1899, 1900, 830, 163, 162, - /* 480 */ 827, 826, 825, 160, 1782, 1783, 1835, 845, 1837, 1840, - /* 490 */ 1841, 1842, 1843, 1844, 1845, 1846, 1847, 771, 795, 794, - /* 500 */ 1859, 1861, 1862, 1863, 1864, 2, 12, 47, 45, 2493, - /* 510 */ 2496, 1565, 1566, 734, 173, 439, 2043, 1778, 1472, 364, - /* 520 */ 797, 830, 163, 162, 827, 826, 825, 160, 1637, 1638, - /* 530 */ 1865, 612, 1776, 306, 605, 2064, 362, 75, 314, 315, - /* 540 */ 74, 40, 39, 313, 2511, 46, 44, 43, 42, 41, - /* 550 */ 391, 2689, 1779, 2265, 1777, 1875, 1839, 776, 488, 1474, - /* 560 */ 1860, 1803, 237, 586, 584, 581, 19, 62, 1806, 760, - /* 570 */ 2477, 197, 1972, 1784, 40, 39, 2259, 2260, 46, 44, - /* 580 */ 43, 42, 41, 66, 2252, 2529, 1782, 1783, 40, 39, - /* 590 */ 1529, 620, 46, 44, 43, 42, 41, 195, 2477, 888, - /* 600 */ 775, 304, 15, 62, 1520, 822, 821, 820, 1524, 819, - /* 610 */ 1526, 1527, 818, 815, 1836, 1535, 812, 1537, 1538, 809, - /* 620 */ 806, 803, 728, 727, 1970, 1971, 1973, 1974, 1975, 40, - /* 630 */ 39, 2019, 621, 46, 44, 43, 42, 41, 1867, 1868, - /* 640 */ 2510, 63, 257, 2549, 51, 520, 2327, 115, 2512, 779, - /* 650 */ 2514, 2515, 774, 1808, 797, 443, 2007, 150, 180, 157, - /* 660 */ 2574, 2603, 502, 172, 501, 435, 2599, 641, 637, 633, - /* 670 */ 629, 2213, 256, 3, 40, 39, 1838, 1848, 46, 44, - /* 680 */ 43, 42, 41, 1866, 1869, 53, 62, 492, 1955, 622, - /* 690 */ 2344, 85, 84, 507, 500, 220, 217, 832, 1779, 29, - /* 700 */ 1777, 46, 44, 43, 42, 41, 1394, 1395, 451, 499, - /* 710 */ 497, 2042, 470, 97, 494, 490, 254, 469, 643, 642, - /* 720 */ 387, 460, 1839, 486, 2258, 2260, 483, 479, 475, 472, - /* 730 */ 500, 304, 1782, 1783, 1835, 306, 1837, 1840, 1841, 1842, - /* 740 */ 1843, 1844, 1845, 1846, 1847, 771, 795, 794, 1859, 1861, - /* 750 */ 1862, 1863, 1864, 2, 47, 45, 1870, 2511, 793, 2211, - /* 760 */ 696, 2014, 439, 712, 1778, 2477, 2684, 793, 2211, 2689, - /* 770 */ 756, 306, 2684, 454, 1984, 662, 661, 1865, 209, 1776, - /* 780 */ 1836, 645, 644, 244, 2690, 204, 12, 55, 2511, 2685, - /* 790 */ 742, 2688, 253, 246, 185, 2685, 2686, 693, 2529, 251, - /* 800 */ 618, 776, 2618, 2074, 117, 793, 2211, 1860, 2265, 526, - /* 810 */ 2327, 2477, 306, 775, 666, 665, 664, 410, 243, 2331, - /* 820 */ 1784, 656, 145, 660, 788, 508, 2041, 659, 2614, 2529, - /* 830 */ 793, 2211, 658, 663, 418, 417, 698, 2390, 657, 274, - /* 840 */ 96, 653, 2477, 273, 775, 2187, 888, 556, 2327, 48, - /* 850 */ 509, 1807, 185, 2510, 306, 77, 2549, 412, 2511, 222, - /* 860 */ 115, 2512, 779, 2514, 2515, 774, 2206, 797, 2013, 793, - /* 870 */ 2211, 776, 187, 673, 2603, 2040, 1747, 2332, 435, 2599, - /* 880 */ 2477, 12, 711, 10, 2510, 1867, 1868, 2549, 685, 528, - /* 890 */ 2418, 115, 2512, 779, 2514, 2515, 774, 227, 797, 2529, - /* 900 */ 1391, 2634, 1390, 2704, 272, 2603, 450, 449, 88, 435, - /* 910 */ 2599, 1964, 2477, 99, 775, 832, 397, 144, 107, 423, - /* 920 */ 676, 686, 2039, 1838, 1848, 2688, 1965, 670, 668, 2477, - /* 930 */ 1866, 1869, 40, 39, 269, 1392, 46, 44, 43, 42, - /* 940 */ 41, 1746, 458, 2204, 1807, 1779, 762, 1777, 2575, 1784, - /* 950 */ 172, 753, 148, 2265, 2510, 1807, 2618, 2549, 2213, 2430, - /* 960 */ 434, 176, 2512, 779, 2514, 2515, 774, 1963, 797, 2263, - /* 970 */ 824, 453, 452, 2256, 1803, 71, 2477, 823, 70, 1782, - /* 980 */ 1783, 1835, 2613, 1837, 1840, 1841, 1842, 1843, 1844, 1845, - /* 990 */ 1846, 1847, 771, 795, 794, 1859, 1861, 1862, 1863, 1864, - /* 1000 */ 2, 47, 45, 713, 2644, 2511, 2110, 793, 2211, 439, - /* 1010 */ 712, 1778, 2265, 2684, 199, 60, 857, 855, 776, 444, - /* 1020 */ 2641, 793, 2211, 709, 1865, 2284, 1776, 541, 2263, 793, - /* 1030 */ 2211, 2690, 204, 793, 2211, 2511, 2685, 742, 793, 2211, - /* 1040 */ 2265, 542, 793, 2211, 14, 13, 2529, 459, 776, 543, - /* 1050 */ 2654, 753, 148, 790, 1860, 461, 2263, 2265, 623, 2477, - /* 1060 */ 1372, 775, 2208, 172, 203, 2611, 2612, 1784, 146, 2616, - /* 1070 */ 1808, 2213, 1374, 2264, 793, 2211, 2529, 1803, 1802, 666, - /* 1080 */ 665, 664, 793, 2211, 1370, 1371, 656, 145, 660, 2477, - /* 1090 */ 9, 775, 659, 888, 277, 96, 48, 658, 663, 418, - /* 1100 */ 417, 2510, 285, 657, 2549, 2511, 653, 200, 115, 2512, - /* 1110 */ 779, 2514, 2515, 774, 349, 797, 793, 2211, 776, 211, - /* 1120 */ 2704, 2207, 2603, 275, 793, 2211, 435, 2599, 793, 2211, - /* 1130 */ 745, 2510, 1867, 1868, 2549, 1839, 759, 2038, 115, 2512, - /* 1140 */ 779, 2514, 2515, 774, 318, 797, 2529, 1391, 791, 1390, - /* 1150 */ 2704, 1908, 2603, 793, 2211, 1936, 435, 2599, 764, 2477, - /* 1160 */ 2575, 775, 2037, 1808, 205, 2611, 2612, 1787, 146, 2616, - /* 1170 */ 1838, 1848, 1484, 345, 1808, 793, 2211, 1866, 1869, 43, - /* 1180 */ 42, 41, 1392, 2151, 1488, 549, 548, 1483, 172, 2049, - /* 1190 */ 883, 2477, 1779, 1836, 1777, 462, 2214, 149, 2036, 1487, - /* 1200 */ 2574, 2510, 1706, 1707, 2549, 2035, 2431, 2032, 176, 2512, - /* 1210 */ 779, 2514, 2515, 774, 2031, 797, 2477, 2623, 1928, 744, - /* 1220 */ 2030, 691, 2029, 2028, 2399, 651, 1782, 1783, 1835, 650, - /* 1230 */ 1837, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 771, - /* 1240 */ 795, 794, 1859, 1861, 1862, 1863, 1864, 2, 47, 45, - /* 1250 */ 2511, 2645, 2477, 2027, 576, 161, 439, 712, 1778, 2477, - /* 1260 */ 2684, 2477, 2026, 776, 2034, 723, 578, 2025, 2477, 2310, - /* 1270 */ 2024, 1865, 712, 1776, 2477, 2684, 2477, 2477, 2690, 204, - /* 1280 */ 276, 2196, 2511, 2685, 742, 828, 829, 2189, 2256, 2256, - /* 1290 */ 688, 2529, 687, 2690, 204, 776, 1836, 2677, 2685, 742, - /* 1300 */ 141, 1860, 358, 654, 2477, 2242, 775, 2477, 464, 463, - /* 1310 */ 262, 518, 87, 260, 1784, 655, 2477, 2498, 1792, 2094, - /* 1320 */ 154, 2477, 1928, 2529, 2477, 264, 266, 1469, 263, 265, - /* 1330 */ 54, 1865, 161, 1785, 268, 1790, 2477, 267, 775, 1467, - /* 1340 */ 888, 667, 2092, 15, 2083, 161, 2510, 719, 49, 2549, - /* 1350 */ 286, 2016, 2017, 115, 2512, 779, 2514, 2515, 774, 49, - /* 1360 */ 797, 1860, 2081, 188, 669, 2704, 671, 2603, 161, 14, - /* 1370 */ 13, 435, 2599, 2198, 1784, 2500, 697, 767, 2510, 1867, - /* 1380 */ 1868, 2549, 64, 49, 674, 115, 2512, 779, 2514, 2515, - /* 1390 */ 774, 49, 797, 1786, 101, 2194, 746, 2704, 2215, 2603, - /* 1400 */ 766, 324, 323, 435, 2599, 837, 2511, 1701, 282, 326, - /* 1410 */ 325, 2647, 328, 327, 330, 329, 299, 1838, 1848, 776, - /* 1420 */ 1704, 2622, 1959, 1969, 1866, 1869, 729, 712, 1935, 1446, - /* 1430 */ 2684, 312, 332, 331, 1968, 838, 334, 333, 291, 1779, - /* 1440 */ 76, 1777, 143, 758, 336, 335, 112, 2529, 2690, 204, - /* 1450 */ 338, 337, 2530, 2685, 742, 109, 159, 1902, 1849, 1444, - /* 1460 */ 2477, 161, 775, 340, 339, 293, 1654, 2148, 757, 342, - /* 1470 */ 341, 344, 343, 1782, 1783, 1835, 2147, 1837, 1840, 1841, - /* 1480 */ 1842, 1843, 1844, 1845, 1846, 1847, 771, 795, 794, 1859, - /* 1490 */ 1861, 1862, 1863, 1864, 2, 726, 73, 801, 159, 1793, - /* 1500 */ 2336, 1788, 2510, 161, 142, 2549, 316, 393, 392, 115, - /* 1510 */ 2512, 779, 2514, 2515, 774, 785, 797, 446, 159, 712, - /* 1520 */ 2065, 2704, 2684, 2603, 1427, 2075, 2637, 435, 2599, 2511, - /* 1530 */ 1865, 320, 455, 1796, 1798, 430, 1514, 426, 733, 782, - /* 1540 */ 2690, 204, 776, 1886, 468, 2685, 742, 795, 794, 1859, - /* 1550 */ 1861, 1862, 1863, 1864, 2071, 2337, 2253, 705, 2638, 2648, - /* 1560 */ 1860, 1789, 2511, 754, 301, 1428, 298, 2173, 305, 5, - /* 1570 */ 2529, 357, 1542, 1547, 471, 776, 406, 881, 1554, 1552, - /* 1580 */ 476, 484, 485, 2477, 1811, 775, 2511, 496, 495, 212, - /* 1590 */ 213, 498, 215, 164, 1678, 352, 1801, 512, 1802, 776, - /* 1600 */ 519, 226, 521, 2529, 525, 527, 2511, 567, 532, 544, - /* 1610 */ 557, 555, 2329, 563, 566, 568, 2477, 579, 775, 776, - /* 1620 */ 580, 577, 232, 231, 582, 2510, 583, 2529, 2549, 234, - /* 1630 */ 585, 587, 115, 2512, 779, 2514, 2515, 774, 428, 797, - /* 1640 */ 2477, 1809, 775, 602, 2578, 4, 2603, 2529, 603, 611, - /* 1650 */ 435, 2599, 242, 613, 610, 93, 1804, 615, 2510, 1810, - /* 1660 */ 2477, 2549, 775, 1812, 245, 381, 2512, 779, 2514, 2515, - /* 1670 */ 774, 616, 797, 248, 617, 619, 250, 1813, 2345, 94, - /* 1680 */ 625, 95, 2510, 255, 646, 2549, 648, 2201, 690, 115, - /* 1690 */ 2512, 779, 2514, 2515, 774, 259, 797, 677, 1769, 692, - /* 1700 */ 1745, 2576, 2510, 2603, 2511, 2549, 2197, 435, 2599, 115, - /* 1710 */ 2512, 779, 2514, 2515, 774, 261, 797, 776, 166, 694, - /* 1720 */ 118, 763, 167, 2603, 678, 2199, 2195, 435, 2599, 168, - /* 1730 */ 448, 447, 1770, 384, 169, 98, 2408, 891, 699, 278, - /* 1740 */ 2405, 353, 155, 2511, 2404, 2529, 795, 794, 1859, 1861, - /* 1750 */ 1862, 1863, 1864, 351, 1805, 2391, 776, 700, 2477, 281, - /* 1760 */ 775, 704, 701, 283, 707, 716, 730, 2653, 706, 194, - /* 1770 */ 288, 783, 2652, 8, 290, 2511, 2625, 739, 879, 875, - /* 1780 */ 871, 867, 714, 348, 2529, 717, 715, 431, 776, 297, - /* 1790 */ 2707, 2683, 750, 1928, 747, 147, 1806, 2477, 1933, 775, - /* 1800 */ 2510, 191, 2619, 2549, 1931, 295, 292, 116, 2512, 779, - /* 1810 */ 2514, 2515, 774, 307, 797, 156, 2529, 61, 179, 294, - /* 1820 */ 354, 2603, 781, 300, 114, 2602, 2599, 321, 296, 2477, - /* 1830 */ 1, 775, 2511, 355, 2584, 786, 207, 2359, 787, 2510, - /* 1840 */ 2358, 356, 2549, 158, 2357, 776, 116, 2512, 779, 2514, - /* 1850 */ 2515, 774, 441, 797, 106, 2469, 2468, 2511, 2212, 789, - /* 1860 */ 2603, 2464, 108, 2463, 765, 2599, 2455, 2454, 359, 2446, - /* 1870 */ 776, 777, 2445, 2529, 2549, 1349, 799, 882, 116, 2512, - /* 1880 */ 779, 2514, 2515, 774, 2461, 797, 2477, 2460, 775, 347, - /* 1890 */ 885, 383, 2603, 2452, 2451, 165, 399, 2599, 2529, 887, - /* 1900 */ 361, 2440, 404, 309, 2439, 2458, 371, 52, 2457, 2449, - /* 1910 */ 308, 2477, 2448, 775, 363, 2437, 2436, 2434, 2433, 2257, - /* 1920 */ 2429, 2428, 2427, 82, 2422, 382, 372, 473, 2510, 279, - /* 1930 */ 474, 2549, 405, 1729, 1730, 177, 2512, 779, 2514, 2515, - /* 1940 */ 774, 2511, 797, 210, 478, 2420, 480, 481, 482, 1728, - /* 1950 */ 2419, 407, 2417, 2510, 776, 487, 2549, 2511, 2416, 2415, - /* 1960 */ 116, 2512, 779, 2514, 2515, 774, 489, 797, 491, 2414, - /* 1970 */ 776, 493, 1717, 2395, 2603, 214, 2394, 216, 1681, 2600, - /* 1980 */ 83, 1680, 2529, 2372, 2371, 2370, 505, 506, 2369, 743, - /* 1990 */ 2705, 2368, 2319, 510, 2316, 2477, 1624, 775, 2529, 513, - /* 2000 */ 2315, 2309, 516, 2306, 517, 219, 2305, 2304, 2303, 86, - /* 2010 */ 2308, 2477, 2307, 775, 2302, 221, 2511, 429, 2301, 2299, - /* 2020 */ 2298, 2297, 223, 533, 2296, 535, 2294, 2293, 2292, 776, - /* 2030 */ 2291, 2314, 2290, 2289, 2288, 2312, 2295, 2510, 2287, 2286, - /* 2040 */ 2549, 2285, 2283, 2282, 381, 2512, 779, 2514, 2515, 774, - /* 2050 */ 2281, 797, 2280, 2510, 2279, 2278, 2549, 2529, 225, 2277, - /* 2060 */ 374, 2512, 779, 2514, 2515, 774, 2276, 797, 92, 2275, - /* 2070 */ 2477, 2274, 775, 2273, 2313, 2311, 2272, 2271, 1630, 2270, - /* 2080 */ 230, 2269, 570, 2268, 572, 2267, 2511, 2266, 2113, 1485, - /* 2090 */ 395, 2112, 1489, 2111, 396, 1481, 2109, 2106, 588, 773, - /* 2100 */ 589, 2105, 233, 2511, 590, 592, 738, 594, 593, 2098, - /* 2110 */ 235, 236, 2510, 2085, 597, 2549, 776, 596, 2060, 177, - /* 2120 */ 2512, 779, 2514, 2515, 774, 1373, 797, 2529, 598, 600, - /* 2130 */ 2059, 186, 79, 2497, 238, 2393, 2389, 2379, 240, 2367, - /* 2140 */ 2477, 854, 775, 196, 2529, 80, 247, 2366, 608, 249, - /* 2150 */ 2343, 252, 2190, 2108, 1420, 2104, 626, 2477, 627, 775, - /* 2160 */ 2102, 630, 628, 631, 632, 2100, 634, 635, 636, 2097, - /* 2170 */ 638, 2080, 2078, 640, 2706, 2079, 639, 2077, 2056, 438, - /* 2180 */ 1559, 1558, 2510, 2192, 2511, 2549, 2191, 72, 1471, 380, - /* 2190 */ 2512, 779, 2514, 2515, 774, 1470, 797, 776, 2569, 2510, - /* 2200 */ 1468, 1466, 2549, 2511, 1465, 1464, 381, 2512, 779, 2514, - /* 2210 */ 2515, 774, 856, 797, 1457, 2095, 776, 419, 258, 1463, - /* 2220 */ 2093, 1462, 2511, 420, 1459, 2529, 1458, 1456, 2084, 421, - /* 2230 */ 2082, 422, 2055, 675, 672, 776, 2054, 2053, 2477, 679, - /* 2240 */ 775, 2511, 2052, 681, 2529, 2051, 683, 119, 1711, 1713, - /* 2250 */ 1710, 2392, 1715, 28, 776, 67, 2388, 2477, 1691, 775, - /* 2260 */ 440, 56, 1687, 2529, 2378, 280, 1689, 2365, 702, 2364, - /* 2270 */ 17, 2689, 20, 30, 21, 718, 2477, 287, 775, 6, - /* 2280 */ 2510, 1986, 2529, 2549, 1960, 427, 284, 381, 2512, 779, - /* 2290 */ 2514, 2515, 774, 57, 797, 2477, 722, 775, 703, 689, - /* 2300 */ 1666, 720, 2549, 7, 708, 289, 376, 2512, 779, 2514, - /* 2310 */ 2515, 774, 171, 797, 22, 1665, 1967, 710, 2510, 190, - /* 2320 */ 2511, 2549, 724, 201, 178, 366, 2512, 779, 2514, 2515, - /* 2330 */ 774, 1954, 797, 776, 2498, 32, 65, 2510, 189, 24, - /* 2340 */ 2549, 31, 81, 303, 365, 2512, 779, 2514, 2515, 774, - /* 2350 */ 2001, 797, 2000, 2511, 432, 2006, 2005, 2007, 2004, 433, - /* 2360 */ 1925, 2529, 1924, 59, 2363, 181, 776, 2342, 102, 103, - /* 2370 */ 25, 1877, 13, 1794, 2477, 1876, 775, 1828, 817, 1887, - /* 2380 */ 1852, 1851, 38, 182, 1850, 16, 26, 192, 1820, 778, - /* 2390 */ 27, 784, 311, 2341, 2529, 1962, 193, 317, 69, 104, - /* 2400 */ 11, 322, 105, 23, 109, 2554, 319, 2477, 18, 775, - /* 2410 */ 2553, 58, 1854, 798, 796, 68, 2510, 1543, 800, 2549, - /* 2420 */ 457, 2511, 1540, 367, 2512, 779, 2514, 2515, 774, 804, - /* 2430 */ 797, 802, 805, 807, 776, 810, 813, 1539, 808, 816, - /* 2440 */ 1536, 346, 811, 1553, 1530, 1549, 814, 1418, 1528, 2510, - /* 2450 */ 110, 1534, 2549, 111, 1533, 78, 373, 2512, 779, 2514, - /* 2460 */ 2515, 774, 2529, 797, 1453, 831, 1450, 1449, 1448, 1532, - /* 2470 */ 1531, 1447, 1445, 1443, 1442, 2477, 1441, 775, 2511, 1479, - /* 2480 */ 842, 1478, 208, 844, 1439, 1438, 1436, 1437, 1435, 1434, - /* 2490 */ 1433, 776, 1475, 1473, 1430, 1429, 1426, 1425, 2511, 1424, - /* 2500 */ 1423, 2103, 864, 866, 2101, 865, 868, 2099, 870, 872, - /* 2510 */ 874, 776, 2096, 869, 2076, 876, 878, 2510, 873, 2529, - /* 2520 */ 2549, 877, 880, 1362, 377, 2512, 779, 2514, 2515, 774, - /* 2530 */ 2050, 797, 2477, 1350, 775, 884, 886, 2511, 350, 2529, - /* 2540 */ 1780, 360, 889, 890, 2020, 2020, 2020, 2020, 2020, 2020, - /* 2550 */ 776, 2020, 2477, 2020, 775, 2511, 2020, 2020, 2020, 2020, - /* 2560 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 776, 2020, - /* 2570 */ 2020, 2020, 2020, 2020, 2510, 2020, 2020, 2549, 2529, 2020, - /* 2580 */ 2020, 368, 2512, 779, 2514, 2515, 774, 2020, 797, 2020, - /* 2590 */ 2020, 2477, 2020, 775, 2510, 2020, 2529, 2549, 2020, 2020, - /* 2600 */ 2020, 378, 2512, 779, 2514, 2515, 774, 2020, 797, 2477, - /* 2610 */ 2020, 775, 2511, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 2620 */ 2020, 2020, 2020, 2020, 2020, 776, 2020, 2020, 2020, 2020, - /* 2630 */ 2020, 2020, 2020, 2510, 2020, 2020, 2549, 2020, 2020, 2020, - /* 2640 */ 369, 2512, 779, 2514, 2515, 774, 2020, 797, 2020, 2020, - /* 2650 */ 2020, 2510, 2020, 2529, 2549, 2020, 2020, 2020, 379, 2512, - /* 2660 */ 779, 2514, 2515, 774, 2020, 797, 2477, 2020, 775, 2511, - /* 2670 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 2680 */ 2020, 2020, 776, 2020, 2020, 2511, 2020, 2020, 2020, 2020, - /* 2690 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 776, 2020, - /* 2700 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2510, 2020, - /* 2710 */ 2529, 2549, 2020, 2020, 2020, 370, 2512, 779, 2514, 2515, - /* 2720 */ 774, 2020, 797, 2477, 2020, 775, 2529, 2020, 2020, 2020, - /* 2730 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2477, - /* 2740 */ 2020, 775, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 2750 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 2760 */ 2020, 2020, 2020, 2020, 2020, 2510, 2020, 2511, 2549, 2020, - /* 2770 */ 2020, 2020, 385, 2512, 779, 2514, 2515, 774, 2020, 797, - /* 2780 */ 776, 2510, 2020, 2511, 2549, 2020, 2020, 2020, 386, 2512, - /* 2790 */ 779, 2514, 2515, 774, 2020, 797, 776, 2020, 2020, 2020, - /* 2800 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2529, 2020, - /* 2810 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 2820 */ 2020, 2477, 2020, 775, 2529, 2020, 2020, 2020, 2020, 2020, - /* 2830 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2477, 2020, 775, - /* 2840 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 2850 */ 2020, 2020, 2020, 2020, 2020, 2020, 2511, 2020, 2020, 2020, - /* 2860 */ 2020, 2020, 2020, 2510, 2020, 2020, 2549, 2020, 2020, 776, - /* 2870 */ 2523, 2512, 779, 2514, 2515, 774, 2020, 797, 2020, 2510, - /* 2880 */ 2020, 2020, 2549, 2511, 2020, 2020, 2522, 2512, 779, 2514, - /* 2890 */ 2515, 774, 2020, 797, 2020, 2020, 776, 2529, 2020, 2020, - /* 2900 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 2910 */ 2477, 2020, 775, 2511, 2020, 2020, 2020, 2020, 2020, 2020, - /* 2920 */ 2020, 2020, 2020, 2020, 2529, 2020, 776, 2020, 2020, 2020, - /* 2930 */ 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2477, 2020, 775, - /* 2940 */ 2511, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 2950 */ 2020, 2020, 2510, 776, 2529, 2549, 2020, 2020, 2020, 2521, - /* 2960 */ 2512, 779, 2514, 2515, 774, 2020, 797, 2477, 2020, 775, - /* 2970 */ 2511, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2510, - /* 2980 */ 2020, 2529, 2549, 776, 2020, 2020, 401, 2512, 779, 2514, - /* 2990 */ 2515, 774, 2020, 797, 2477, 2020, 775, 2020, 2020, 2020, - /* 3000 */ 2511, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2510, - /* 3010 */ 2020, 2529, 2549, 776, 2020, 2020, 402, 2512, 779, 2514, - /* 3020 */ 2515, 774, 2020, 797, 2477, 2020, 775, 2511, 2020, 2020, - /* 3030 */ 2020, 2020, 2020, 2020, 2020, 2020, 2510, 2020, 2020, 2549, - /* 3040 */ 776, 2529, 2020, 398, 2512, 779, 2514, 2515, 774, 2020, - /* 3050 */ 797, 2020, 2020, 2020, 2477, 2020, 775, 2020, 2020, 2020, - /* 3060 */ 2020, 2020, 2020, 2020, 2020, 2020, 2510, 2020, 2529, 2549, - /* 3070 */ 2020, 2020, 2020, 403, 2512, 779, 2514, 2515, 774, 2020, - /* 3080 */ 797, 2477, 2020, 775, 2020, 2020, 2020, 2020, 2020, 2020, - /* 3090 */ 2020, 2020, 2020, 2020, 2020, 2020, 777, 2020, 2020, 2549, - /* 3100 */ 2020, 2020, 2020, 376, 2512, 779, 2514, 2515, 774, 2020, - /* 3110 */ 797, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, - /* 3120 */ 2020, 2020, 2020, 2510, 2020, 2020, 2549, 2020, 2020, 2020, - /* 3130 */ 375, 2512, 779, 2514, 2515, 774, 2020, 797, + /* 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 */ 365, 441, 400, 435, 369, 403, 371, 399, 440, 0, @@ -1131,23 +1131,23 @@ static const YYCODETYPE yy_lookahead[] = { /* 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, 49, 108, 107, 107, 49, 108, 240, - /* 2390 */ 107, 187, 108, 0, 398, 108, 107, 107, 107, 42, - /* 2400 */ 260, 49, 107, 280, 116, 107, 185, 411, 280, 413, - /* 2410 */ 107, 273, 108, 117, 107, 107, 453, 108, 37, 456, - /* 2420 */ 37, 357, 108, 460, 461, 462, 463, 464, 465, 37, - /* 2430 */ 467, 107, 107, 37, 370, 37, 37, 108, 107, 37, - /* 2440 */ 108, 33, 107, 37, 108, 22, 107, 72, 108, 453, - /* 2450 */ 107, 128, 456, 107, 128, 107, 460, 461, 462, 463, - /* 2460 */ 464, 465, 398, 467, 37, 71, 37, 37, 37, 128, - /* 2470 */ 128, 37, 37, 37, 37, 411, 37, 413, 357, 78, - /* 2480 */ 101, 78, 33, 101, 37, 37, 22, 37, 37, 37, - /* 2490 */ 37, 370, 78, 37, 37, 37, 37, 37, 357, 22, - /* 2500 */ 37, 0, 37, 42, 0, 51, 37, 0, 42, 37, - /* 2510 */ 42, 370, 0, 51, 0, 37, 42, 453, 51, 398, + /* 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, 33, 21, 357, 22, 398, - /* 2540 */ 22, 22, 21, 20, 518, 518, 518, 518, 518, 518, + /* 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, @@ -1244,7 +1244,7 @@ static const YYCODETYPE yy_lookahead[] = { /* 3480 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, /* 3490 */ 354, 354, }; -#define YY_SHIFT_COUNT (891) +#define YY_SHIFT_COUNT (894) #define YY_SHIFT_MIN (0) #define YY_SHIFT_MAX (2530) static const unsigned short int yy_shift_ofst[] = { @@ -1325,19 +1325,19 @@ static const unsigned short int yy_shift_ofst[] = { /* 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, 2334, 2278, 2279, 2338, 2280, 2355, 2149, - /* 780 */ 2283, 2284, 2287, 2289, 2290, 2204, 2291, 2393, 2357, 2221, - /* 790 */ 2295, 2288, 2084, 2352, 2298, 2303, 2304, 2307, 2308, 2296, - /* 800 */ 2309, 2381, 2383, 2324, 2314, 2392, 2325, 2329, 2396, 2331, - /* 810 */ 2332, 2398, 2335, 2336, 2399, 2339, 2340, 2402, 2271, 2323, - /* 820 */ 2326, 2341, 2342, 2343, 2408, 2346, 2406, 2348, 2408, 2408, - /* 830 */ 2423, 2375, 2394, 2427, 2429, 2430, 2431, 2434, 2435, 2436, - /* 840 */ 2437, 2439, 2401, 2379, 2403, 2382, 2449, 2447, 2448, 2450, - /* 850 */ 2464, 2451, 2452, 2453, 2414, 2108, 2456, 2179, 2457, 2458, - /* 860 */ 2459, 2460, 2477, 2463, 2501, 2465, 2454, 2461, 2504, 2469, - /* 870 */ 2462, 2466, 2507, 2472, 2467, 2468, 2512, 2478, 2470, 2474, - /* 880 */ 2514, 2485, 2486, 2530, 2511, 2502, 2516, 2515, 2518, 2519, - /* 890 */ 2521, 2523, + /* 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 (-440) @@ -1382,96 +1382,96 @@ static const short yy_reduce_ofst[] = { /* 360 */ 1559, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 10 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 20 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 30 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 40 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 50 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 60 */ 2360, 2018, 2018, 2323, 2018, 2018, 2018, 2018, 2018, 2018, - /* 70 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2330, 2018, 2018, - /* 80 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 90 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2117, 2018, 2018, - /* 100 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 110 */ 2018, 2018, 2018, 2018, 2115, 2605, 2018, 2018, 2018, 2018, - /* 120 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 130 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 140 */ 2617, 2018, 2018, 2089, 2089, 2018, 2617, 2617, 2617, 2577, - /* 150 */ 2577, 2115, 2018, 2018, 2117, 2398, 2018, 2018, 2018, 2018, - /* 160 */ 2018, 2018, 2018, 2018, 2241, 2048, 2018, 2018, 2018, 2018, - /* 170 */ 2265, 2018, 2018, 2386, 2018, 2018, 2646, 2708, 2018, 2649, - /* 180 */ 2018, 2018, 2018, 2018, 2018, 2335, 2018, 2636, 2018, 2018, - /* 190 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2193, 2380, 2018, - /* 200 */ 2018, 2018, 2609, 2623, 2692, 2610, 2607, 2630, 2018, 2640, - /* 210 */ 2018, 2423, 2018, 2412, 2117, 2018, 2117, 2373, 2318, 2018, - /* 220 */ 2328, 2018, 2328, 2325, 2018, 2018, 2018, 2328, 2325, 2325, - /* 230 */ 2325, 2182, 2178, 2018, 2176, 2018, 2018, 2018, 2018, 2073, - /* 240 */ 2018, 2073, 2018, 2117, 2117, 2018, 2117, 2018, 2018, 2117, - /* 250 */ 2018, 2117, 2018, 2117, 2117, 2018, 2117, 2018, 2018, 2018, - /* 260 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 270 */ 2018, 2018, 2018, 2018, 2018, 2018, 2410, 2396, 2018, 2115, - /* 280 */ 2018, 2384, 2382, 2018, 2115, 2640, 2018, 2018, 2662, 2657, - /* 290 */ 2662, 2657, 2676, 2672, 2662, 2681, 2678, 2642, 2640, 2711, - /* 300 */ 2698, 2694, 2623, 2018, 2018, 2628, 2626, 2018, 2115, 2115, - /* 310 */ 2018, 2657, 2018, 2018, 2018, 2018, 2657, 2018, 2018, 2115, - /* 320 */ 2018, 2115, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 330 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 340 */ 2018, 2018, 2018, 2018, 2018, 2209, 2018, 2018, 2115, 2018, - /* 350 */ 2057, 2018, 2375, 2401, 2356, 2356, 2244, 2244, 2244, 2118, - /* 360 */ 2023, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 370 */ 2018, 2018, 2018, 2675, 2674, 2528, 2018, 2581, 2580, 2579, - /* 380 */ 2570, 2527, 2205, 2018, 2018, 2526, 2525, 2018, 2018, 2018, - /* 390 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2519, 2018, - /* 400 */ 2018, 2520, 2518, 2517, 2347, 2346, 2018, 2018, 2018, 2018, - /* 410 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 420 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 430 */ 2018, 2018, 2695, 2699, 2018, 2606, 2018, 2018, 2018, 2499, - /* 440 */ 2018, 2018, 2018, 2018, 2018, 2467, 2462, 2453, 2444, 2459, - /* 450 */ 2450, 2438, 2456, 2447, 2435, 2432, 2018, 2018, 2018, 2018, - /* 460 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 470 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 480 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 490 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 500 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 510 */ 2324, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 520 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 530 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 540 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 550 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 560 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 570 */ 2018, 2018, 2018, 2339, 2018, 2018, 2018, 2018, 2018, 2018, - /* 580 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 590 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 600 */ 2018, 2018, 2018, 2018, 2018, 2062, 2506, 2018, 2018, 2018, - /* 610 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 620 */ 2509, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 630 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 640 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 650 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 660 */ 2018, 2157, 2156, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 670 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 680 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2510, - /* 690 */ 2018, 2018, 2018, 2018, 2018, 2501, 2018, 2018, 2018, 2018, - /* 700 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 710 */ 2018, 2018, 2691, 2643, 2018, 2018, 2018, 2018, 2018, 2018, - /* 720 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 730 */ 2018, 2018, 2018, 2018, 2018, 2018, 2499, 2018, 2673, 2018, - /* 740 */ 2018, 2689, 2018, 2693, 2018, 2018, 2018, 2018, 2018, 2018, - /* 750 */ 2018, 2616, 2612, 2018, 2018, 2608, 2018, 2018, 2018, 2018, - /* 760 */ 2018, 2567, 2018, 2018, 2018, 2601, 2018, 2018, 2018, 2018, - /* 770 */ 2240, 2018, 2018, 2018, 2018, 2018, 2018, 2510, 2018, 2513, - /* 780 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 790 */ 2018, 2018, 2498, 2018, 2552, 2551, 2018, 2018, 2018, 2018, - /* 800 */ 2018, 2018, 2018, 2237, 2018, 2018, 2018, 2018, 2018, 2018, - /* 810 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2221, - /* 820 */ 2219, 2218, 2217, 2018, 2251, 2018, 2018, 2018, 2247, 2246, - /* 830 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 840 */ 2018, 2018, 2018, 2018, 2018, 2018, 2136, 2018, 2018, 2018, - /* 850 */ 2018, 2018, 2018, 2018, 2018, 2128, 2018, 2127, 2018, 2018, - /* 860 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 870 */ 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - /* 880 */ 2018, 2018, 2018, 2018, 2018, 2047, 2018, 2018, 2018, 2018, - /* 890 */ 2018, 2018, + /* 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 *****************************/ @@ -2340,7 +2340,7 @@ static const char *const yyTokenName[] = { /* 404 */ "drop_table_clause", /* 405 */ "col_name_list", /* 406 */ "column_def", - /* 407 */ "type_name_binary", + /* 407 */ "type_name_default_len", /* 408 */ "duration_list", /* 409 */ "rollup_func_list", /* 410 */ "alter_table_option", @@ -2677,480 +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 */ "type_name_binary ::= BINARY", - /* 220 */ "tags_def_opt ::=", - /* 221 */ "tags_def_opt ::= tags_def", - /* 222 */ "tags_def ::= TAGS NK_LP column_def_list NK_RP", - /* 223 */ "table_options ::=", - /* 224 */ "table_options ::= table_options COMMENT NK_STRING", - /* 225 */ "table_options ::= table_options MAX_DELAY duration_list", - /* 226 */ "table_options ::= table_options WATERMARK duration_list", - /* 227 */ "table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP", - /* 228 */ "table_options ::= table_options TTL NK_INTEGER", - /* 229 */ "table_options ::= table_options SMA NK_LP col_name_list NK_RP", - /* 230 */ "table_options ::= table_options DELETE_MARK duration_list", - /* 231 */ "alter_table_options ::= alter_table_option", - /* 232 */ "alter_table_options ::= alter_table_options alter_table_option", - /* 233 */ "alter_table_option ::= COMMENT NK_STRING", - /* 234 */ "alter_table_option ::= TTL NK_INTEGER", - /* 235 */ "duration_list ::= duration_literal", - /* 236 */ "duration_list ::= duration_list NK_COMMA duration_literal", - /* 237 */ "rollup_func_list ::= rollup_func_name", - /* 238 */ "rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name", - /* 239 */ "rollup_func_name ::= function_name", - /* 240 */ "rollup_func_name ::= FIRST", - /* 241 */ "rollup_func_name ::= LAST", - /* 242 */ "col_name_list ::= col_name", - /* 243 */ "col_name_list ::= col_name_list NK_COMMA col_name", - /* 244 */ "col_name ::= column_name", - /* 245 */ "cmd ::= SHOW DNODES", - /* 246 */ "cmd ::= SHOW USERS", - /* 247 */ "cmd ::= SHOW USER PRIVILEGES", - /* 248 */ "cmd ::= SHOW db_kind_opt DATABASES", - /* 249 */ "cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt", - /* 250 */ "cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt", - /* 251 */ "cmd ::= SHOW db_name_cond_opt VGROUPS", - /* 252 */ "cmd ::= SHOW MNODES", - /* 253 */ "cmd ::= SHOW QNODES", - /* 254 */ "cmd ::= SHOW ARBGROUPS", - /* 255 */ "cmd ::= SHOW FUNCTIONS", - /* 256 */ "cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt", - /* 257 */ "cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name", - /* 258 */ "cmd ::= SHOW STREAMS", - /* 259 */ "cmd ::= SHOW ACCOUNTS", - /* 260 */ "cmd ::= SHOW APPS", - /* 261 */ "cmd ::= SHOW CONNECTIONS", - /* 262 */ "cmd ::= SHOW LICENCES", - /* 263 */ "cmd ::= SHOW GRANTS", - /* 264 */ "cmd ::= SHOW GRANTS FULL", - /* 265 */ "cmd ::= SHOW GRANTS LOGS", - /* 266 */ "cmd ::= SHOW CLUSTER MACHINES", - /* 267 */ "cmd ::= SHOW CREATE DATABASE db_name", - /* 268 */ "cmd ::= SHOW CREATE TABLE full_table_name", - /* 269 */ "cmd ::= SHOW CREATE STABLE full_table_name", - /* 270 */ "cmd ::= SHOW QUERIES", - /* 271 */ "cmd ::= SHOW SCORES", - /* 272 */ "cmd ::= SHOW TOPICS", - /* 273 */ "cmd ::= SHOW VARIABLES", - /* 274 */ "cmd ::= SHOW CLUSTER VARIABLES", - /* 275 */ "cmd ::= SHOW LOCAL VARIABLES", - /* 276 */ "cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt", - /* 277 */ "cmd ::= SHOW BNODES", - /* 278 */ "cmd ::= SHOW SNODES", - /* 279 */ "cmd ::= SHOW CLUSTER", - /* 280 */ "cmd ::= SHOW TRANSACTIONS", - /* 281 */ "cmd ::= SHOW TABLE DISTRIBUTED full_table_name", - /* 282 */ "cmd ::= SHOW CONSUMERS", - /* 283 */ "cmd ::= SHOW SUBSCRIPTIONS", - /* 284 */ "cmd ::= SHOW TAGS FROM table_name_cond from_db_opt", - /* 285 */ "cmd ::= SHOW TAGS FROM db_name NK_DOT table_name", - /* 286 */ "cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt", - /* 287 */ "cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name", - /* 288 */ "cmd ::= SHOW VNODES ON DNODE NK_INTEGER", - /* 289 */ "cmd ::= SHOW VNODES", - /* 290 */ "cmd ::= SHOW db_name_cond_opt ALIVE", - /* 291 */ "cmd ::= SHOW CLUSTER ALIVE", - /* 292 */ "cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt", - /* 293 */ "cmd ::= SHOW CREATE VIEW full_table_name", - /* 294 */ "cmd ::= SHOW COMPACTS", - /* 295 */ "cmd ::= SHOW COMPACT NK_INTEGER", - /* 296 */ "table_kind_db_name_cond_opt ::=", - /* 297 */ "table_kind_db_name_cond_opt ::= table_kind", - /* 298 */ "table_kind_db_name_cond_opt ::= db_name NK_DOT", - /* 299 */ "table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT", - /* 300 */ "table_kind ::= NORMAL", - /* 301 */ "table_kind ::= CHILD", - /* 302 */ "db_name_cond_opt ::=", - /* 303 */ "db_name_cond_opt ::= db_name NK_DOT", - /* 304 */ "like_pattern_opt ::=", - /* 305 */ "like_pattern_opt ::= LIKE NK_STRING", - /* 306 */ "table_name_cond ::= table_name", - /* 307 */ "from_db_opt ::=", - /* 308 */ "from_db_opt ::= FROM db_name", - /* 309 */ "tag_list_opt ::=", - /* 310 */ "tag_list_opt ::= tag_item", - /* 311 */ "tag_list_opt ::= tag_list_opt NK_COMMA tag_item", - /* 312 */ "tag_item ::= TBNAME", - /* 313 */ "tag_item ::= QTAGS", - /* 314 */ "tag_item ::= column_name", - /* 315 */ "tag_item ::= column_name column_alias", - /* 316 */ "tag_item ::= column_name AS column_alias", - /* 317 */ "db_kind_opt ::=", - /* 318 */ "db_kind_opt ::= USER", - /* 319 */ "db_kind_opt ::= SYSTEM", - /* 320 */ "cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options", - /* 321 */ "cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP", - /* 322 */ "cmd ::= DROP INDEX exists_opt full_index_name", - /* 323 */ "full_index_name ::= index_name", - /* 324 */ "full_index_name ::= db_name NK_DOT index_name", - /* 325 */ "index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt", - /* 326 */ "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", - /* 327 */ "func_list ::= func", - /* 328 */ "func_list ::= func_list NK_COMMA func", - /* 329 */ "func ::= sma_func_name NK_LP expression_list NK_RP", - /* 330 */ "sma_func_name ::= function_name", - /* 331 */ "sma_func_name ::= COUNT", - /* 332 */ "sma_func_name ::= FIRST", - /* 333 */ "sma_func_name ::= LAST", - /* 334 */ "sma_func_name ::= LAST_ROW", - /* 335 */ "sma_stream_opt ::=", - /* 336 */ "sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal", - /* 337 */ "sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal", - /* 338 */ "sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal", - /* 339 */ "with_meta ::= AS", - /* 340 */ "with_meta ::= WITH META AS", - /* 341 */ "with_meta ::= ONLY META AS", - /* 342 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery", - /* 343 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name", - /* 344 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt", - /* 345 */ "cmd ::= DROP TOPIC exists_opt topic_name", - /* 346 */ "cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name", - /* 347 */ "cmd ::= DESC full_table_name", - /* 348 */ "cmd ::= DESCRIBE full_table_name", - /* 349 */ "cmd ::= RESET QUERY CACHE", - /* 350 */ "cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery", - /* 351 */ "cmd ::= EXPLAIN analyze_opt explain_options insert_query", - /* 352 */ "analyze_opt ::=", - /* 353 */ "analyze_opt ::= ANALYZE", - /* 354 */ "explain_options ::=", - /* 355 */ "explain_options ::= explain_options VERBOSE NK_BOOL", - /* 356 */ "explain_options ::= explain_options RATIO NK_FLOAT", - /* 357 */ "cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt", - /* 358 */ "cmd ::= DROP FUNCTION exists_opt function_name", - /* 359 */ "agg_func_opt ::=", - /* 360 */ "agg_func_opt ::= AGGREGATE", - /* 361 */ "bufsize_opt ::=", - /* 362 */ "bufsize_opt ::= BUFSIZE NK_INTEGER", - /* 363 */ "language_opt ::=", - /* 364 */ "language_opt ::= LANGUAGE NK_STRING", - /* 365 */ "or_replace_opt ::=", - /* 366 */ "or_replace_opt ::= OR REPLACE", - /* 367 */ "cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery", - /* 368 */ "cmd ::= DROP VIEW exists_opt full_view_name", - /* 369 */ "full_view_name ::= view_name", - /* 370 */ "full_view_name ::= db_name NK_DOT view_name", - /* 371 */ "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", - /* 372 */ "cmd ::= DROP STREAM exists_opt stream_name", - /* 373 */ "cmd ::= PAUSE STREAM exists_opt stream_name", - /* 374 */ "cmd ::= RESUME STREAM exists_opt ignore_opt stream_name", - /* 375 */ "col_list_opt ::=", - /* 376 */ "col_list_opt ::= NK_LP col_name_list NK_RP", - /* 377 */ "tag_def_or_ref_opt ::=", - /* 378 */ "tag_def_or_ref_opt ::= tags_def", - /* 379 */ "tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP", - /* 380 */ "stream_options ::=", - /* 381 */ "stream_options ::= stream_options TRIGGER AT_ONCE", - /* 382 */ "stream_options ::= stream_options TRIGGER WINDOW_CLOSE", - /* 383 */ "stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal", - /* 384 */ "stream_options ::= stream_options WATERMARK duration_literal", - /* 385 */ "stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER", - /* 386 */ "stream_options ::= stream_options FILL_HISTORY NK_INTEGER", - /* 387 */ "stream_options ::= stream_options DELETE_MARK duration_literal", - /* 388 */ "stream_options ::= stream_options IGNORE UPDATE NK_INTEGER", - /* 389 */ "subtable_opt ::=", - /* 390 */ "subtable_opt ::= SUBTABLE NK_LP expression NK_RP", - /* 391 */ "ignore_opt ::=", - /* 392 */ "ignore_opt ::= IGNORE UNTREATED", - /* 393 */ "cmd ::= KILL CONNECTION NK_INTEGER", - /* 394 */ "cmd ::= KILL QUERY NK_STRING", - /* 395 */ "cmd ::= KILL TRANSACTION NK_INTEGER", - /* 396 */ "cmd ::= KILL COMPACT NK_INTEGER", - /* 397 */ "cmd ::= BALANCE VGROUP", - /* 398 */ "cmd ::= BALANCE VGROUP LEADER on_vgroup_id", - /* 399 */ "cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER", - /* 400 */ "cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list", - /* 401 */ "cmd ::= SPLIT VGROUP NK_INTEGER", - /* 402 */ "on_vgroup_id ::=", - /* 403 */ "on_vgroup_id ::= ON NK_INTEGER", - /* 404 */ "dnode_list ::= DNODE NK_INTEGER", - /* 405 */ "dnode_list ::= dnode_list DNODE NK_INTEGER", - /* 406 */ "cmd ::= DELETE FROM full_table_name where_clause_opt", - /* 407 */ "cmd ::= query_or_subquery", - /* 408 */ "cmd ::= insert_query", - /* 409 */ "insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery", - /* 410 */ "insert_query ::= INSERT INTO full_table_name query_or_subquery", - /* 411 */ "tags_literal ::= NK_INTEGER", - /* 412 */ "tags_literal ::= NK_INTEGER NK_PLUS duration_literal", - /* 413 */ "tags_literal ::= NK_INTEGER NK_MINUS duration_literal", - /* 414 */ "tags_literal ::= NK_PLUS NK_INTEGER", - /* 415 */ "tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal", - /* 416 */ "tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal", - /* 417 */ "tags_literal ::= NK_MINUS NK_INTEGER", - /* 418 */ "tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal", - /* 419 */ "tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal", - /* 420 */ "tags_literal ::= NK_FLOAT", - /* 421 */ "tags_literal ::= NK_PLUS NK_FLOAT", - /* 422 */ "tags_literal ::= NK_MINUS NK_FLOAT", - /* 423 */ "tags_literal ::= NK_BIN", - /* 424 */ "tags_literal ::= NK_BIN NK_PLUS duration_literal", - /* 425 */ "tags_literal ::= NK_BIN NK_MINUS duration_literal", - /* 426 */ "tags_literal ::= NK_PLUS NK_BIN", - /* 427 */ "tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal", - /* 428 */ "tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal", - /* 429 */ "tags_literal ::= NK_MINUS NK_BIN", - /* 430 */ "tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal", - /* 431 */ "tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal", - /* 432 */ "tags_literal ::= NK_HEX", - /* 433 */ "tags_literal ::= NK_HEX NK_PLUS duration_literal", - /* 434 */ "tags_literal ::= NK_HEX NK_MINUS duration_literal", - /* 435 */ "tags_literal ::= NK_PLUS NK_HEX", - /* 436 */ "tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal", - /* 437 */ "tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal", - /* 438 */ "tags_literal ::= NK_MINUS NK_HEX", - /* 439 */ "tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal", - /* 440 */ "tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal", - /* 441 */ "tags_literal ::= NK_STRING", - /* 442 */ "tags_literal ::= NK_STRING NK_PLUS duration_literal", - /* 443 */ "tags_literal ::= NK_STRING NK_MINUS duration_literal", - /* 444 */ "tags_literal ::= NK_BOOL", - /* 445 */ "tags_literal ::= NULL", - /* 446 */ "tags_literal ::= literal_func", - /* 447 */ "tags_literal ::= literal_func NK_PLUS duration_literal", - /* 448 */ "tags_literal ::= literal_func NK_MINUS duration_literal", - /* 449 */ "tags_literal_list ::= tags_literal", - /* 450 */ "tags_literal_list ::= tags_literal_list NK_COMMA tags_literal", - /* 451 */ "literal ::= NK_INTEGER", - /* 452 */ "literal ::= NK_FLOAT", - /* 453 */ "literal ::= NK_STRING", - /* 454 */ "literal ::= NK_BOOL", - /* 455 */ "literal ::= TIMESTAMP NK_STRING", - /* 456 */ "literal ::= duration_literal", - /* 457 */ "literal ::= NULL", - /* 458 */ "literal ::= NK_QUESTION", - /* 459 */ "duration_literal ::= NK_VARIABLE", - /* 460 */ "signed ::= NK_INTEGER", - /* 461 */ "signed ::= NK_PLUS NK_INTEGER", - /* 462 */ "signed ::= NK_MINUS NK_INTEGER", - /* 463 */ "signed ::= NK_FLOAT", - /* 464 */ "signed ::= NK_PLUS NK_FLOAT", - /* 465 */ "signed ::= NK_MINUS NK_FLOAT", - /* 466 */ "signed_literal ::= signed", - /* 467 */ "signed_literal ::= NK_STRING", - /* 468 */ "signed_literal ::= NK_BOOL", - /* 469 */ "signed_literal ::= TIMESTAMP NK_STRING", - /* 470 */ "signed_literal ::= duration_literal", - /* 471 */ "signed_literal ::= NULL", - /* 472 */ "signed_literal ::= literal_func", - /* 473 */ "signed_literal ::= NK_QUESTION", - /* 474 */ "literal_list ::= signed_literal", - /* 475 */ "literal_list ::= literal_list NK_COMMA signed_literal", - /* 476 */ "db_name ::= NK_ID", - /* 477 */ "table_name ::= NK_ID", - /* 478 */ "column_name ::= NK_ID", - /* 479 */ "function_name ::= NK_ID", - /* 480 */ "view_name ::= NK_ID", - /* 481 */ "table_alias ::= NK_ID", - /* 482 */ "column_alias ::= NK_ID", - /* 483 */ "column_alias ::= NK_ALIAS", - /* 484 */ "user_name ::= NK_ID", - /* 485 */ "topic_name ::= NK_ID", - /* 486 */ "stream_name ::= NK_ID", - /* 487 */ "cgroup_name ::= NK_ID", - /* 488 */ "index_name ::= NK_ID", - /* 489 */ "expr_or_subquery ::= expression", - /* 490 */ "expression ::= literal", - /* 491 */ "expression ::= pseudo_column", - /* 492 */ "expression ::= column_reference", - /* 493 */ "expression ::= function_expression", - /* 494 */ "expression ::= case_when_expression", - /* 495 */ "expression ::= NK_LP expression NK_RP", - /* 496 */ "expression ::= NK_PLUS expr_or_subquery", - /* 497 */ "expression ::= NK_MINUS expr_or_subquery", - /* 498 */ "expression ::= expr_or_subquery NK_PLUS expr_or_subquery", - /* 499 */ "expression ::= expr_or_subquery NK_MINUS expr_or_subquery", - /* 500 */ "expression ::= expr_or_subquery NK_STAR expr_or_subquery", - /* 501 */ "expression ::= expr_or_subquery NK_SLASH expr_or_subquery", - /* 502 */ "expression ::= expr_or_subquery NK_REM expr_or_subquery", - /* 503 */ "expression ::= column_reference NK_ARROW NK_STRING", - /* 504 */ "expression ::= expr_or_subquery NK_BITAND expr_or_subquery", - /* 505 */ "expression ::= expr_or_subquery NK_BITOR expr_or_subquery", - /* 506 */ "expression_list ::= expr_or_subquery", - /* 507 */ "expression_list ::= expression_list NK_COMMA expr_or_subquery", - /* 508 */ "column_reference ::= column_name", - /* 509 */ "column_reference ::= table_name NK_DOT column_name", - /* 510 */ "column_reference ::= NK_ALIAS", - /* 511 */ "column_reference ::= table_name NK_DOT NK_ALIAS", - /* 512 */ "pseudo_column ::= ROWTS", - /* 513 */ "pseudo_column ::= TBNAME", - /* 514 */ "pseudo_column ::= table_name NK_DOT TBNAME", - /* 515 */ "pseudo_column ::= QSTART", - /* 516 */ "pseudo_column ::= QEND", - /* 517 */ "pseudo_column ::= QDURATION", - /* 518 */ "pseudo_column ::= WSTART", - /* 519 */ "pseudo_column ::= WEND", - /* 520 */ "pseudo_column ::= WDURATION", - /* 521 */ "pseudo_column ::= IROWTS", - /* 522 */ "pseudo_column ::= ISFILLED", - /* 523 */ "pseudo_column ::= QTAGS", - /* 524 */ "function_expression ::= function_name NK_LP expression_list NK_RP", - /* 525 */ "function_expression ::= star_func NK_LP star_func_para_list NK_RP", - /* 526 */ "function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP", - /* 527 */ "function_expression ::= CAST NK_LP expr_or_subquery AS type_name_binary NK_RP", - /* 528 */ "function_expression ::= literal_func", - /* 529 */ "literal_func ::= noarg_func NK_LP NK_RP", - /* 530 */ "literal_func ::= NOW", - /* 531 */ "literal_func ::= TODAY", - /* 532 */ "noarg_func ::= NOW", - /* 533 */ "noarg_func ::= TODAY", - /* 534 */ "noarg_func ::= TIMEZONE", - /* 535 */ "noarg_func ::= DATABASE", - /* 536 */ "noarg_func ::= CLIENT_VERSION", - /* 537 */ "noarg_func ::= SERVER_VERSION", - /* 538 */ "noarg_func ::= SERVER_STATUS", - /* 539 */ "noarg_func ::= CURRENT_USER", - /* 540 */ "noarg_func ::= USER", - /* 541 */ "star_func ::= COUNT", - /* 542 */ "star_func ::= FIRST", - /* 543 */ "star_func ::= LAST", - /* 544 */ "star_func ::= LAST_ROW", - /* 545 */ "star_func_para_list ::= NK_STAR", - /* 546 */ "star_func_para_list ::= other_para_list", - /* 547 */ "other_para_list ::= star_func_para", - /* 548 */ "other_para_list ::= other_para_list NK_COMMA star_func_para", - /* 549 */ "star_func_para ::= expr_or_subquery", - /* 550 */ "star_func_para ::= table_name NK_DOT NK_STAR", - /* 551 */ "case_when_expression ::= CASE when_then_list case_when_else_opt END", - /* 552 */ "case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END", - /* 553 */ "when_then_list ::= when_then_expr", - /* 554 */ "when_then_list ::= when_then_list when_then_expr", - /* 555 */ "when_then_expr ::= WHEN common_expression THEN common_expression", - /* 556 */ "case_when_else_opt ::=", - /* 557 */ "case_when_else_opt ::= ELSE common_expression", - /* 558 */ "predicate ::= expr_or_subquery compare_op expr_or_subquery", - /* 559 */ "predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery", - /* 560 */ "predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery", - /* 561 */ "predicate ::= expr_or_subquery IS NULL", - /* 562 */ "predicate ::= expr_or_subquery IS NOT NULL", - /* 563 */ "predicate ::= expr_or_subquery in_op in_predicate_value", - /* 564 */ "compare_op ::= NK_LT", - /* 565 */ "compare_op ::= NK_GT", - /* 566 */ "compare_op ::= NK_LE", - /* 567 */ "compare_op ::= NK_GE", - /* 568 */ "compare_op ::= NK_NE", - /* 569 */ "compare_op ::= NK_EQ", - /* 570 */ "compare_op ::= LIKE", - /* 571 */ "compare_op ::= NOT LIKE", - /* 572 */ "compare_op ::= MATCH", - /* 573 */ "compare_op ::= NMATCH", - /* 574 */ "compare_op ::= CONTAINS", - /* 575 */ "in_op ::= IN", - /* 576 */ "in_op ::= NOT IN", - /* 577 */ "in_predicate_value ::= NK_LP literal_list NK_RP", - /* 578 */ "boolean_value_expression ::= boolean_primary", - /* 579 */ "boolean_value_expression ::= NOT boolean_primary", - /* 580 */ "boolean_value_expression ::= boolean_value_expression OR boolean_value_expression", - /* 581 */ "boolean_value_expression ::= boolean_value_expression AND boolean_value_expression", - /* 582 */ "boolean_primary ::= predicate", - /* 583 */ "boolean_primary ::= NK_LP boolean_value_expression NK_RP", - /* 584 */ "common_expression ::= expr_or_subquery", - /* 585 */ "common_expression ::= boolean_value_expression", - /* 586 */ "from_clause_opt ::=", - /* 587 */ "from_clause_opt ::= FROM table_reference_list", - /* 588 */ "table_reference_list ::= table_reference", - /* 589 */ "table_reference_list ::= table_reference_list NK_COMMA table_reference", - /* 590 */ "table_reference ::= table_primary", - /* 591 */ "table_reference ::= joined_table", - /* 592 */ "table_primary ::= table_name alias_opt", - /* 593 */ "table_primary ::= db_name NK_DOT table_name alias_opt", - /* 594 */ "table_primary ::= subquery alias_opt", - /* 595 */ "table_primary ::= parenthesized_joined_table", - /* 596 */ "alias_opt ::=", - /* 597 */ "alias_opt ::= table_alias", - /* 598 */ "alias_opt ::= AS table_alias", - /* 599 */ "parenthesized_joined_table ::= NK_LP joined_table NK_RP", - /* 600 */ "parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP", - /* 601 */ "joined_table ::= table_reference join_type JOIN table_reference ON search_condition", - /* 602 */ "join_type ::=", - /* 603 */ "join_type ::= INNER", - /* 604 */ "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", - /* 605 */ "hint_list ::=", - /* 606 */ "hint_list ::= NK_HINT", - /* 607 */ "tag_mode_opt ::=", - /* 608 */ "tag_mode_opt ::= TAGS", - /* 609 */ "set_quantifier_opt ::=", - /* 610 */ "set_quantifier_opt ::= DISTINCT", - /* 611 */ "set_quantifier_opt ::= ALL", - /* 612 */ "select_list ::= select_item", - /* 613 */ "select_list ::= select_list NK_COMMA select_item", - /* 614 */ "select_item ::= NK_STAR", - /* 615 */ "select_item ::= common_expression", - /* 616 */ "select_item ::= common_expression column_alias", - /* 617 */ "select_item ::= common_expression AS column_alias", - /* 618 */ "select_item ::= table_name NK_DOT NK_STAR", - /* 619 */ "where_clause_opt ::=", - /* 620 */ "where_clause_opt ::= WHERE search_condition", - /* 621 */ "partition_by_clause_opt ::=", - /* 622 */ "partition_by_clause_opt ::= PARTITION BY partition_list", - /* 623 */ "partition_list ::= partition_item", - /* 624 */ "partition_list ::= partition_list NK_COMMA partition_item", - /* 625 */ "partition_item ::= expr_or_subquery", - /* 626 */ "partition_item ::= expr_or_subquery column_alias", - /* 627 */ "partition_item ::= expr_or_subquery AS column_alias", - /* 628 */ "twindow_clause_opt ::=", - /* 629 */ "twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP", - /* 630 */ "twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP", - /* 631 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt", - /* 632 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt", - /* 633 */ "twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition", - /* 634 */ "twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP", - /* 635 */ "twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP", - /* 636 */ "sliding_opt ::=", - /* 637 */ "sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP", - /* 638 */ "interval_sliding_duration_literal ::= NK_VARIABLE", - /* 639 */ "interval_sliding_duration_literal ::= NK_STRING", - /* 640 */ "interval_sliding_duration_literal ::= NK_INTEGER", - /* 641 */ "fill_opt ::=", - /* 642 */ "fill_opt ::= FILL NK_LP fill_mode NK_RP", - /* 643 */ "fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP", - /* 644 */ "fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP", - /* 645 */ "fill_mode ::= NONE", - /* 646 */ "fill_mode ::= PREV", - /* 647 */ "fill_mode ::= NULL", - /* 648 */ "fill_mode ::= NULL_F", - /* 649 */ "fill_mode ::= LINEAR", - /* 650 */ "fill_mode ::= NEXT", - /* 651 */ "group_by_clause_opt ::=", - /* 652 */ "group_by_clause_opt ::= GROUP BY group_by_list", - /* 653 */ "group_by_list ::= expr_or_subquery", - /* 654 */ "group_by_list ::= group_by_list NK_COMMA expr_or_subquery", - /* 655 */ "having_clause_opt ::=", - /* 656 */ "having_clause_opt ::= HAVING search_condition", - /* 657 */ "range_opt ::=", - /* 658 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP", - /* 659 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_RP", - /* 660 */ "every_opt ::=", - /* 661 */ "every_opt ::= EVERY NK_LP duration_literal NK_RP", - /* 662 */ "query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt", - /* 663 */ "query_simple ::= query_specification", - /* 664 */ "query_simple ::= union_query_expression", - /* 665 */ "union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery", - /* 666 */ "union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery", - /* 667 */ "query_simple_or_subquery ::= query_simple", - /* 668 */ "query_simple_or_subquery ::= subquery", - /* 669 */ "query_or_subquery ::= query_expression", - /* 670 */ "query_or_subquery ::= subquery", - /* 671 */ "order_by_clause_opt ::=", - /* 672 */ "order_by_clause_opt ::= ORDER BY sort_specification_list", - /* 673 */ "slimit_clause_opt ::=", - /* 674 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER", - /* 675 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER", - /* 676 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER", - /* 677 */ "limit_clause_opt ::=", - /* 678 */ "limit_clause_opt ::= LIMIT NK_INTEGER", - /* 679 */ "limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER", - /* 680 */ "limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER", - /* 681 */ "subquery ::= NK_LP query_expression NK_RP", - /* 682 */ "subquery ::= NK_LP subquery NK_RP", - /* 683 */ "search_condition ::= common_expression", - /* 684 */ "sort_specification_list ::= sort_specification", - /* 685 */ "sort_specification_list ::= sort_specification_list NK_COMMA sort_specification", - /* 686 */ "sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt", - /* 687 */ "ordering_specification_opt ::=", - /* 688 */ "ordering_specification_opt ::= ASC", - /* 689 */ "ordering_specification_opt ::= DESC", - /* 690 */ "null_ordering_opt ::=", - /* 691 */ "null_ordering_opt ::= NULLS FIRST", - /* 692 */ "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 */ @@ -3357,7 +3360,7 @@ static void yy_destructor( { #line 7 "sql.y" nodesDestroyNode((yypminor->yy896)); -#line 3360 "sql.c" +#line 3363 "sql.c" } break; case 355: /* account_options */ @@ -3369,7 +3372,7 @@ static void yy_destructor( { #line 54 "sql.y" -#line 3372 "sql.c" +#line 3375 "sql.c" } break; case 359: /* ip_range_list */ @@ -3409,7 +3412,7 @@ static void yy_destructor( { #line 85 "sql.y" nodesDestroyList((yypminor->yy404)); -#line 3412 "sql.c" +#line 3415 "sql.c" } break; case 362: /* user_name */ @@ -3432,16 +3435,16 @@ static void yy_destructor( case 467: /* noarg_func */ case 485: /* alias_opt */ { -#line 1014 "sql.y" +#line 1017 "sql.y" -#line 3437 "sql.c" +#line 3440 "sql.c" } break; case 363: /* sysinfo_opt */ { #line 112 "sql.y" -#line 3444 "sql.c" +#line 3447 "sql.c" } break; case 364: /* privileges */ @@ -3450,14 +3453,14 @@ static void yy_destructor( { #line 121 "sql.y" -#line 3453 "sql.c" +#line 3456 "sql.c" } break; case 365: /* priv_level */ { #line 138 "sql.y" -#line 3460 "sql.c" +#line 3463 "sql.c" } break; case 374: /* force_opt */ @@ -3473,7 +3476,7 @@ static void yy_destructor( { #line 167 "sql.y" -#line 3476 "sql.c" +#line 3479 "sql.c" } break; case 387: /* alter_db_option */ @@ -3481,66 +3484,66 @@ static void yy_destructor( { #line 269 "sql.y" -#line 3484 "sql.c" +#line 3487 "sql.c" } break; case 399: /* type_name */ - case 407: /* type_name_binary */ + case 407: /* type_name_default_len */ { #line 392 "sql.y" -#line 3492 "sql.c" +#line 3495 "sql.c" } break; case 415: /* db_kind_opt */ case 422: /* table_kind */ { -#line 565 "sql.y" +#line 568 "sql.y" -#line 3500 "sql.c" +#line 3503 "sql.c" } break; case 416: /* table_kind_db_name_cond_opt */ { -#line 530 "sql.y" +#line 533 "sql.y" -#line 3507 "sql.c" +#line 3510 "sql.c" } break; case 475: /* compare_op */ case 476: /* in_op */ { -#line 1208 "sql.y" +#line 1211 "sql.y" -#line 3515 "sql.c" +#line 3518 "sql.c" } break; case 488: /* join_type */ { -#line 1284 "sql.y" +#line 1287 "sql.y" -#line 3522 "sql.c" +#line 3525 "sql.c" } break; case 505: /* fill_mode */ { -#line 1379 "sql.y" +#line 1382 "sql.y" -#line 3529 "sql.c" +#line 3532 "sql.c" } break; case 516: /* ordering_specification_opt */ { -#line 1464 "sql.y" +#line 1467 "sql.y" -#line 3536 "sql.c" +#line 3539 "sql.c" } break; case 517: /* null_ordering_opt */ { -#line 1470 "sql.y" +#line 1473 "sql.y" -#line 3543 "sql.c" +#line 3546 "sql.c" } break; /********* End destructor definitions *****************************************/ @@ -4048,480 +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 */ - 407, /* (219) type_name_binary ::= BINARY */ - 391, /* (220) tags_def_opt ::= */ - 391, /* (221) tags_def_opt ::= tags_def */ - 394, /* (222) tags_def ::= TAGS NK_LP column_def_list NK_RP */ - 392, /* (223) table_options ::= */ - 392, /* (224) table_options ::= table_options COMMENT NK_STRING */ - 392, /* (225) table_options ::= table_options MAX_DELAY duration_list */ - 392, /* (226) table_options ::= table_options WATERMARK duration_list */ - 392, /* (227) table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ - 392, /* (228) table_options ::= table_options TTL NK_INTEGER */ - 392, /* (229) table_options ::= table_options SMA NK_LP col_name_list NK_RP */ - 392, /* (230) table_options ::= table_options DELETE_MARK duration_list */ - 397, /* (231) alter_table_options ::= alter_table_option */ - 397, /* (232) alter_table_options ::= alter_table_options alter_table_option */ - 410, /* (233) alter_table_option ::= COMMENT NK_STRING */ - 410, /* (234) alter_table_option ::= TTL NK_INTEGER */ - 408, /* (235) duration_list ::= duration_literal */ - 408, /* (236) duration_list ::= duration_list NK_COMMA duration_literal */ - 409, /* (237) rollup_func_list ::= rollup_func_name */ - 409, /* (238) rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ - 412, /* (239) rollup_func_name ::= function_name */ - 412, /* (240) rollup_func_name ::= FIRST */ - 412, /* (241) rollup_func_name ::= LAST */ - 405, /* (242) col_name_list ::= col_name */ - 405, /* (243) col_name_list ::= col_name_list NK_COMMA col_name */ - 414, /* (244) col_name ::= column_name */ - 354, /* (245) cmd ::= SHOW DNODES */ - 354, /* (246) cmd ::= SHOW USERS */ - 354, /* (247) cmd ::= SHOW USER PRIVILEGES */ - 354, /* (248) cmd ::= SHOW db_kind_opt DATABASES */ - 354, /* (249) cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ - 354, /* (250) cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ - 354, /* (251) cmd ::= SHOW db_name_cond_opt VGROUPS */ - 354, /* (252) cmd ::= SHOW MNODES */ - 354, /* (253) cmd ::= SHOW QNODES */ - 354, /* (254) cmd ::= SHOW ARBGROUPS */ - 354, /* (255) cmd ::= SHOW FUNCTIONS */ - 354, /* (256) cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ - 354, /* (257) cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ - 354, /* (258) cmd ::= SHOW STREAMS */ - 354, /* (259) cmd ::= SHOW ACCOUNTS */ - 354, /* (260) cmd ::= SHOW APPS */ - 354, /* (261) cmd ::= SHOW CONNECTIONS */ - 354, /* (262) cmd ::= SHOW LICENCES */ - 354, /* (263) cmd ::= SHOW GRANTS */ - 354, /* (264) cmd ::= SHOW GRANTS FULL */ - 354, /* (265) cmd ::= SHOW GRANTS LOGS */ - 354, /* (266) cmd ::= SHOW CLUSTER MACHINES */ - 354, /* (267) cmd ::= SHOW CREATE DATABASE db_name */ - 354, /* (268) cmd ::= SHOW CREATE TABLE full_table_name */ - 354, /* (269) cmd ::= SHOW CREATE STABLE full_table_name */ - 354, /* (270) cmd ::= SHOW QUERIES */ - 354, /* (271) cmd ::= SHOW SCORES */ - 354, /* (272) cmd ::= SHOW TOPICS */ - 354, /* (273) cmd ::= SHOW VARIABLES */ - 354, /* (274) cmd ::= SHOW CLUSTER VARIABLES */ - 354, /* (275) cmd ::= SHOW LOCAL VARIABLES */ - 354, /* (276) cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ - 354, /* (277) cmd ::= SHOW BNODES */ - 354, /* (278) cmd ::= SHOW SNODES */ - 354, /* (279) cmd ::= SHOW CLUSTER */ - 354, /* (280) cmd ::= SHOW TRANSACTIONS */ - 354, /* (281) cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ - 354, /* (282) cmd ::= SHOW CONSUMERS */ - 354, /* (283) cmd ::= SHOW SUBSCRIPTIONS */ - 354, /* (284) cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ - 354, /* (285) cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ - 354, /* (286) cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ - 354, /* (287) cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name */ - 354, /* (288) cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ - 354, /* (289) cmd ::= SHOW VNODES */ - 354, /* (290) cmd ::= SHOW db_name_cond_opt ALIVE */ - 354, /* (291) cmd ::= SHOW CLUSTER ALIVE */ - 354, /* (292) cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt */ - 354, /* (293) cmd ::= SHOW CREATE VIEW full_table_name */ - 354, /* (294) cmd ::= SHOW COMPACTS */ - 354, /* (295) cmd ::= SHOW COMPACT NK_INTEGER */ - 416, /* (296) table_kind_db_name_cond_opt ::= */ - 416, /* (297) table_kind_db_name_cond_opt ::= table_kind */ - 416, /* (298) table_kind_db_name_cond_opt ::= db_name NK_DOT */ - 416, /* (299) table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ - 422, /* (300) table_kind ::= NORMAL */ - 422, /* (301) table_kind ::= CHILD */ - 418, /* (302) db_name_cond_opt ::= */ - 418, /* (303) db_name_cond_opt ::= db_name NK_DOT */ - 417, /* (304) like_pattern_opt ::= */ - 417, /* (305) like_pattern_opt ::= LIKE NK_STRING */ - 419, /* (306) table_name_cond ::= table_name */ - 420, /* (307) from_db_opt ::= */ - 420, /* (308) from_db_opt ::= FROM db_name */ - 421, /* (309) tag_list_opt ::= */ - 421, /* (310) tag_list_opt ::= tag_item */ - 421, /* (311) tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ - 423, /* (312) tag_item ::= TBNAME */ - 423, /* (313) tag_item ::= QTAGS */ - 423, /* (314) tag_item ::= column_name */ - 423, /* (315) tag_item ::= column_name column_alias */ - 423, /* (316) tag_item ::= column_name AS column_alias */ - 415, /* (317) db_kind_opt ::= */ - 415, /* (318) db_kind_opt ::= USER */ - 415, /* (319) db_kind_opt ::= SYSTEM */ - 354, /* (320) cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options */ - 354, /* (321) cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP */ - 354, /* (322) cmd ::= DROP INDEX exists_opt full_index_name */ - 426, /* (323) full_index_name ::= index_name */ - 426, /* (324) full_index_name ::= db_name NK_DOT index_name */ - 425, /* (325) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ - 425, /* (326) 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, /* (327) func_list ::= func */ - 428, /* (328) func_list ::= func_list NK_COMMA func */ - 431, /* (329) func ::= sma_func_name NK_LP expression_list NK_RP */ - 432, /* (330) sma_func_name ::= function_name */ - 432, /* (331) sma_func_name ::= COUNT */ - 432, /* (332) sma_func_name ::= FIRST */ - 432, /* (333) sma_func_name ::= LAST */ - 432, /* (334) sma_func_name ::= LAST_ROW */ - 430, /* (335) sma_stream_opt ::= */ - 430, /* (336) sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ - 430, /* (337) sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ - 430, /* (338) sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ - 434, /* (339) with_meta ::= AS */ - 434, /* (340) with_meta ::= WITH META AS */ - 434, /* (341) with_meta ::= ONLY META AS */ - 354, /* (342) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ - 354, /* (343) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ - 354, /* (344) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ - 354, /* (345) cmd ::= DROP TOPIC exists_opt topic_name */ - 354, /* (346) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ - 354, /* (347) cmd ::= DESC full_table_name */ - 354, /* (348) cmd ::= DESCRIBE full_table_name */ - 354, /* (349) cmd ::= RESET QUERY CACHE */ - 354, /* (350) cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ - 354, /* (351) cmd ::= EXPLAIN analyze_opt explain_options insert_query */ - 438, /* (352) analyze_opt ::= */ - 438, /* (353) analyze_opt ::= ANALYZE */ - 439, /* (354) explain_options ::= */ - 439, /* (355) explain_options ::= explain_options VERBOSE NK_BOOL */ - 439, /* (356) explain_options ::= explain_options RATIO NK_FLOAT */ - 354, /* (357) 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, /* (358) cmd ::= DROP FUNCTION exists_opt function_name */ - 442, /* (359) agg_func_opt ::= */ - 442, /* (360) agg_func_opt ::= AGGREGATE */ - 443, /* (361) bufsize_opt ::= */ - 443, /* (362) bufsize_opt ::= BUFSIZE NK_INTEGER */ - 444, /* (363) language_opt ::= */ - 444, /* (364) language_opt ::= LANGUAGE NK_STRING */ - 441, /* (365) or_replace_opt ::= */ - 441, /* (366) or_replace_opt ::= OR REPLACE */ - 354, /* (367) cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ - 354, /* (368) cmd ::= DROP VIEW exists_opt full_view_name */ - 445, /* (369) full_view_name ::= view_name */ - 445, /* (370) full_view_name ::= db_name NK_DOT view_name */ - 354, /* (371) 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, /* (372) cmd ::= DROP STREAM exists_opt stream_name */ - 354, /* (373) cmd ::= PAUSE STREAM exists_opt stream_name */ - 354, /* (374) cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ - 449, /* (375) col_list_opt ::= */ - 449, /* (376) col_list_opt ::= NK_LP col_name_list NK_RP */ - 450, /* (377) tag_def_or_ref_opt ::= */ - 450, /* (378) tag_def_or_ref_opt ::= tags_def */ - 450, /* (379) tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ - 448, /* (380) stream_options ::= */ - 448, /* (381) stream_options ::= stream_options TRIGGER AT_ONCE */ - 448, /* (382) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ - 448, /* (383) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ - 448, /* (384) stream_options ::= stream_options WATERMARK duration_literal */ - 448, /* (385) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ - 448, /* (386) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ - 448, /* (387) stream_options ::= stream_options DELETE_MARK duration_literal */ - 448, /* (388) stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ - 451, /* (389) subtable_opt ::= */ - 451, /* (390) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ - 452, /* (391) ignore_opt ::= */ - 452, /* (392) ignore_opt ::= IGNORE UNTREATED */ - 354, /* (393) cmd ::= KILL CONNECTION NK_INTEGER */ - 354, /* (394) cmd ::= KILL QUERY NK_STRING */ - 354, /* (395) cmd ::= KILL TRANSACTION NK_INTEGER */ - 354, /* (396) cmd ::= KILL COMPACT NK_INTEGER */ - 354, /* (397) cmd ::= BALANCE VGROUP */ - 354, /* (398) cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ - 354, /* (399) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ - 354, /* (400) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ - 354, /* (401) cmd ::= SPLIT VGROUP NK_INTEGER */ - 454, /* (402) on_vgroup_id ::= */ - 454, /* (403) on_vgroup_id ::= ON NK_INTEGER */ - 455, /* (404) dnode_list ::= DNODE NK_INTEGER */ - 455, /* (405) dnode_list ::= dnode_list DNODE NK_INTEGER */ - 354, /* (406) cmd ::= DELETE FROM full_table_name where_clause_opt */ - 354, /* (407) cmd ::= query_or_subquery */ - 354, /* (408) cmd ::= insert_query */ - 440, /* (409) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ - 440, /* (410) insert_query ::= INSERT INTO full_table_name query_or_subquery */ - 400, /* (411) tags_literal ::= NK_INTEGER */ - 400, /* (412) tags_literal ::= NK_INTEGER NK_PLUS duration_literal */ - 400, /* (413) tags_literal ::= NK_INTEGER NK_MINUS duration_literal */ - 400, /* (414) tags_literal ::= NK_PLUS NK_INTEGER */ - 400, /* (415) tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal */ - 400, /* (416) tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal */ - 400, /* (417) tags_literal ::= NK_MINUS NK_INTEGER */ - 400, /* (418) tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal */ - 400, /* (419) tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal */ - 400, /* (420) tags_literal ::= NK_FLOAT */ - 400, /* (421) tags_literal ::= NK_PLUS NK_FLOAT */ - 400, /* (422) tags_literal ::= NK_MINUS NK_FLOAT */ - 400, /* (423) tags_literal ::= NK_BIN */ - 400, /* (424) tags_literal ::= NK_BIN NK_PLUS duration_literal */ - 400, /* (425) tags_literal ::= NK_BIN NK_MINUS duration_literal */ - 400, /* (426) tags_literal ::= NK_PLUS NK_BIN */ - 400, /* (427) tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal */ - 400, /* (428) tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal */ - 400, /* (429) tags_literal ::= NK_MINUS NK_BIN */ - 400, /* (430) tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal */ - 400, /* (431) tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal */ - 400, /* (432) tags_literal ::= NK_HEX */ - 400, /* (433) tags_literal ::= NK_HEX NK_PLUS duration_literal */ - 400, /* (434) tags_literal ::= NK_HEX NK_MINUS duration_literal */ - 400, /* (435) tags_literal ::= NK_PLUS NK_HEX */ - 400, /* (436) tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal */ - 400, /* (437) tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal */ - 400, /* (438) tags_literal ::= NK_MINUS NK_HEX */ - 400, /* (439) tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal */ - 400, /* (440) tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal */ - 400, /* (441) tags_literal ::= NK_STRING */ - 400, /* (442) tags_literal ::= NK_STRING NK_PLUS duration_literal */ - 400, /* (443) tags_literal ::= NK_STRING NK_MINUS duration_literal */ - 400, /* (444) tags_literal ::= NK_BOOL */ - 400, /* (445) tags_literal ::= NULL */ - 400, /* (446) tags_literal ::= literal_func */ - 400, /* (447) tags_literal ::= literal_func NK_PLUS duration_literal */ - 400, /* (448) tags_literal ::= literal_func NK_MINUS duration_literal */ - 403, /* (449) tags_literal_list ::= tags_literal */ - 403, /* (450) tags_literal_list ::= tags_literal_list NK_COMMA tags_literal */ - 357, /* (451) literal ::= NK_INTEGER */ - 357, /* (452) literal ::= NK_FLOAT */ - 357, /* (453) literal ::= NK_STRING */ - 357, /* (454) literal ::= NK_BOOL */ - 357, /* (455) literal ::= TIMESTAMP NK_STRING */ - 357, /* (456) literal ::= duration_literal */ - 357, /* (457) literal ::= NULL */ - 357, /* (458) literal ::= NK_QUESTION */ - 411, /* (459) duration_literal ::= NK_VARIABLE */ - 386, /* (460) signed ::= NK_INTEGER */ - 386, /* (461) signed ::= NK_PLUS NK_INTEGER */ - 386, /* (462) signed ::= NK_MINUS NK_INTEGER */ - 386, /* (463) signed ::= NK_FLOAT */ - 386, /* (464) signed ::= NK_PLUS NK_FLOAT */ - 386, /* (465) signed ::= NK_MINUS NK_FLOAT */ - 457, /* (466) signed_literal ::= signed */ - 457, /* (467) signed_literal ::= NK_STRING */ - 457, /* (468) signed_literal ::= NK_BOOL */ - 457, /* (469) signed_literal ::= TIMESTAMP NK_STRING */ - 457, /* (470) signed_literal ::= duration_literal */ - 457, /* (471) signed_literal ::= NULL */ - 457, /* (472) signed_literal ::= literal_func */ - 457, /* (473) signed_literal ::= NK_QUESTION */ - 458, /* (474) literal_list ::= signed_literal */ - 458, /* (475) literal_list ::= literal_list NK_COMMA signed_literal */ - 369, /* (476) db_name ::= NK_ID */ - 370, /* (477) table_name ::= NK_ID */ - 398, /* (478) column_name ::= NK_ID */ - 413, /* (479) function_name ::= NK_ID */ - 446, /* (480) view_name ::= NK_ID */ - 459, /* (481) table_alias ::= NK_ID */ - 424, /* (482) column_alias ::= NK_ID */ - 424, /* (483) column_alias ::= NK_ALIAS */ - 362, /* (484) user_name ::= NK_ID */ - 371, /* (485) topic_name ::= NK_ID */ - 447, /* (486) stream_name ::= NK_ID */ - 437, /* (487) cgroup_name ::= NK_ID */ - 427, /* (488) index_name ::= NK_ID */ - 460, /* (489) expr_or_subquery ::= expression */ - 453, /* (490) expression ::= literal */ - 453, /* (491) expression ::= pseudo_column */ - 453, /* (492) expression ::= column_reference */ - 453, /* (493) expression ::= function_expression */ - 453, /* (494) expression ::= case_when_expression */ - 453, /* (495) expression ::= NK_LP expression NK_RP */ - 453, /* (496) expression ::= NK_PLUS expr_or_subquery */ - 453, /* (497) expression ::= NK_MINUS expr_or_subquery */ - 453, /* (498) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ - 453, /* (499) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ - 453, /* (500) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ - 453, /* (501) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ - 453, /* (502) expression ::= expr_or_subquery NK_REM expr_or_subquery */ - 453, /* (503) expression ::= column_reference NK_ARROW NK_STRING */ - 453, /* (504) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ - 453, /* (505) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ - 433, /* (506) expression_list ::= expr_or_subquery */ - 433, /* (507) expression_list ::= expression_list NK_COMMA expr_or_subquery */ - 462, /* (508) column_reference ::= column_name */ - 462, /* (509) column_reference ::= table_name NK_DOT column_name */ - 462, /* (510) column_reference ::= NK_ALIAS */ - 462, /* (511) column_reference ::= table_name NK_DOT NK_ALIAS */ - 461, /* (512) pseudo_column ::= ROWTS */ - 461, /* (513) pseudo_column ::= TBNAME */ - 461, /* (514) pseudo_column ::= table_name NK_DOT TBNAME */ - 461, /* (515) pseudo_column ::= QSTART */ - 461, /* (516) pseudo_column ::= QEND */ - 461, /* (517) pseudo_column ::= QDURATION */ - 461, /* (518) pseudo_column ::= WSTART */ - 461, /* (519) pseudo_column ::= WEND */ - 461, /* (520) pseudo_column ::= WDURATION */ - 461, /* (521) pseudo_column ::= IROWTS */ - 461, /* (522) pseudo_column ::= ISFILLED */ - 461, /* (523) pseudo_column ::= QTAGS */ - 463, /* (524) function_expression ::= function_name NK_LP expression_list NK_RP */ - 463, /* (525) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ - 463, /* (526) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ - 463, /* (527) function_expression ::= CAST NK_LP expr_or_subquery AS type_name_binary NK_RP */ - 463, /* (528) function_expression ::= literal_func */ - 456, /* (529) literal_func ::= noarg_func NK_LP NK_RP */ - 456, /* (530) literal_func ::= NOW */ - 456, /* (531) literal_func ::= TODAY */ - 467, /* (532) noarg_func ::= NOW */ - 467, /* (533) noarg_func ::= TODAY */ - 467, /* (534) noarg_func ::= TIMEZONE */ - 467, /* (535) noarg_func ::= DATABASE */ - 467, /* (536) noarg_func ::= CLIENT_VERSION */ - 467, /* (537) noarg_func ::= SERVER_VERSION */ - 467, /* (538) noarg_func ::= SERVER_STATUS */ - 467, /* (539) noarg_func ::= CURRENT_USER */ - 467, /* (540) noarg_func ::= USER */ - 465, /* (541) star_func ::= COUNT */ - 465, /* (542) star_func ::= FIRST */ - 465, /* (543) star_func ::= LAST */ - 465, /* (544) star_func ::= LAST_ROW */ - 466, /* (545) star_func_para_list ::= NK_STAR */ - 466, /* (546) star_func_para_list ::= other_para_list */ - 468, /* (547) other_para_list ::= star_func_para */ - 468, /* (548) other_para_list ::= other_para_list NK_COMMA star_func_para */ - 469, /* (549) star_func_para ::= expr_or_subquery */ - 469, /* (550) star_func_para ::= table_name NK_DOT NK_STAR */ - 464, /* (551) case_when_expression ::= CASE when_then_list case_when_else_opt END */ - 464, /* (552) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ - 470, /* (553) when_then_list ::= when_then_expr */ - 470, /* (554) when_then_list ::= when_then_list when_then_expr */ - 473, /* (555) when_then_expr ::= WHEN common_expression THEN common_expression */ - 471, /* (556) case_when_else_opt ::= */ - 471, /* (557) case_when_else_opt ::= ELSE common_expression */ - 474, /* (558) predicate ::= expr_or_subquery compare_op expr_or_subquery */ - 474, /* (559) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ - 474, /* (560) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ - 474, /* (561) predicate ::= expr_or_subquery IS NULL */ - 474, /* (562) predicate ::= expr_or_subquery IS NOT NULL */ - 474, /* (563) predicate ::= expr_or_subquery in_op in_predicate_value */ - 475, /* (564) compare_op ::= NK_LT */ - 475, /* (565) compare_op ::= NK_GT */ - 475, /* (566) compare_op ::= NK_LE */ - 475, /* (567) compare_op ::= NK_GE */ - 475, /* (568) compare_op ::= NK_NE */ - 475, /* (569) compare_op ::= NK_EQ */ - 475, /* (570) compare_op ::= LIKE */ - 475, /* (571) compare_op ::= NOT LIKE */ - 475, /* (572) compare_op ::= MATCH */ - 475, /* (573) compare_op ::= NMATCH */ - 475, /* (574) compare_op ::= CONTAINS */ - 476, /* (575) in_op ::= IN */ - 476, /* (576) in_op ::= NOT IN */ - 477, /* (577) in_predicate_value ::= NK_LP literal_list NK_RP */ - 478, /* (578) boolean_value_expression ::= boolean_primary */ - 478, /* (579) boolean_value_expression ::= NOT boolean_primary */ - 478, /* (580) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ - 478, /* (581) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ - 479, /* (582) boolean_primary ::= predicate */ - 479, /* (583) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ - 472, /* (584) common_expression ::= expr_or_subquery */ - 472, /* (585) common_expression ::= boolean_value_expression */ - 480, /* (586) from_clause_opt ::= */ - 480, /* (587) from_clause_opt ::= FROM table_reference_list */ - 481, /* (588) table_reference_list ::= table_reference */ - 481, /* (589) table_reference_list ::= table_reference_list NK_COMMA table_reference */ - 482, /* (590) table_reference ::= table_primary */ - 482, /* (591) table_reference ::= joined_table */ - 483, /* (592) table_primary ::= table_name alias_opt */ - 483, /* (593) table_primary ::= db_name NK_DOT table_name alias_opt */ - 483, /* (594) table_primary ::= subquery alias_opt */ - 483, /* (595) table_primary ::= parenthesized_joined_table */ - 485, /* (596) alias_opt ::= */ - 485, /* (597) alias_opt ::= table_alias */ - 485, /* (598) alias_opt ::= AS table_alias */ - 487, /* (599) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ - 487, /* (600) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ - 484, /* (601) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ - 488, /* (602) join_type ::= */ - 488, /* (603) join_type ::= INNER */ - 489, /* (604) 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, /* (605) hint_list ::= */ - 490, /* (606) hint_list ::= NK_HINT */ - 492, /* (607) tag_mode_opt ::= */ - 492, /* (608) tag_mode_opt ::= TAGS */ - 491, /* (609) set_quantifier_opt ::= */ - 491, /* (610) set_quantifier_opt ::= DISTINCT */ - 491, /* (611) set_quantifier_opt ::= ALL */ - 493, /* (612) select_list ::= select_item */ - 493, /* (613) select_list ::= select_list NK_COMMA select_item */ - 501, /* (614) select_item ::= NK_STAR */ - 501, /* (615) select_item ::= common_expression */ - 501, /* (616) select_item ::= common_expression column_alias */ - 501, /* (617) select_item ::= common_expression AS column_alias */ - 501, /* (618) select_item ::= table_name NK_DOT NK_STAR */ - 436, /* (619) where_clause_opt ::= */ - 436, /* (620) where_clause_opt ::= WHERE search_condition */ - 494, /* (621) partition_by_clause_opt ::= */ - 494, /* (622) partition_by_clause_opt ::= PARTITION BY partition_list */ - 502, /* (623) partition_list ::= partition_item */ - 502, /* (624) partition_list ::= partition_list NK_COMMA partition_item */ - 503, /* (625) partition_item ::= expr_or_subquery */ - 503, /* (626) partition_item ::= expr_or_subquery column_alias */ - 503, /* (627) partition_item ::= expr_or_subquery AS column_alias */ - 498, /* (628) twindow_clause_opt ::= */ - 498, /* (629) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ - 498, /* (630) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ - 498, /* (631) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ - 498, /* (632) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ - 498, /* (633) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ - 498, /* (634) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ - 498, /* (635) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ - 429, /* (636) sliding_opt ::= */ - 429, /* (637) sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ - 504, /* (638) interval_sliding_duration_literal ::= NK_VARIABLE */ - 504, /* (639) interval_sliding_duration_literal ::= NK_STRING */ - 504, /* (640) interval_sliding_duration_literal ::= NK_INTEGER */ - 497, /* (641) fill_opt ::= */ - 497, /* (642) fill_opt ::= FILL NK_LP fill_mode NK_RP */ - 497, /* (643) fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ - 497, /* (644) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ - 505, /* (645) fill_mode ::= NONE */ - 505, /* (646) fill_mode ::= PREV */ - 505, /* (647) fill_mode ::= NULL */ - 505, /* (648) fill_mode ::= NULL_F */ - 505, /* (649) fill_mode ::= LINEAR */ - 505, /* (650) fill_mode ::= NEXT */ - 499, /* (651) group_by_clause_opt ::= */ - 499, /* (652) group_by_clause_opt ::= GROUP BY group_by_list */ - 506, /* (653) group_by_list ::= expr_or_subquery */ - 506, /* (654) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ - 500, /* (655) having_clause_opt ::= */ - 500, /* (656) having_clause_opt ::= HAVING search_condition */ - 495, /* (657) range_opt ::= */ - 495, /* (658) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ - 495, /* (659) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ - 496, /* (660) every_opt ::= */ - 496, /* (661) every_opt ::= EVERY NK_LP duration_literal NK_RP */ - 507, /* (662) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ - 508, /* (663) query_simple ::= query_specification */ - 508, /* (664) query_simple ::= union_query_expression */ - 512, /* (665) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ - 512, /* (666) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ - 513, /* (667) query_simple_or_subquery ::= query_simple */ - 513, /* (668) query_simple_or_subquery ::= subquery */ - 435, /* (669) query_or_subquery ::= query_expression */ - 435, /* (670) query_or_subquery ::= subquery */ - 509, /* (671) order_by_clause_opt ::= */ - 509, /* (672) order_by_clause_opt ::= ORDER BY sort_specification_list */ - 510, /* (673) slimit_clause_opt ::= */ - 510, /* (674) slimit_clause_opt ::= SLIMIT NK_INTEGER */ - 510, /* (675) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - 510, /* (676) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - 511, /* (677) limit_clause_opt ::= */ - 511, /* (678) limit_clause_opt ::= LIMIT NK_INTEGER */ - 511, /* (679) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ - 511, /* (680) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - 486, /* (681) subquery ::= NK_LP query_expression NK_RP */ - 486, /* (682) subquery ::= NK_LP subquery NK_RP */ - 372, /* (683) search_condition ::= common_expression */ - 514, /* (684) sort_specification_list ::= sort_specification */ - 514, /* (685) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ - 515, /* (686) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ - 516, /* (687) ordering_specification_opt ::= */ - 516, /* (688) ordering_specification_opt ::= ASC */ - 516, /* (689) ordering_specification_opt ::= DESC */ - 517, /* (690) null_ordering_opt ::= */ - 517, /* (691) null_ordering_opt ::= NULLS FIRST */ - 517, /* (692) 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 @@ -4746,480 +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 */ - -1, /* (219) type_name_binary ::= BINARY */ - 0, /* (220) tags_def_opt ::= */ - -1, /* (221) tags_def_opt ::= tags_def */ - -4, /* (222) tags_def ::= TAGS NK_LP column_def_list NK_RP */ - 0, /* (223) table_options ::= */ - -3, /* (224) table_options ::= table_options COMMENT NK_STRING */ - -3, /* (225) table_options ::= table_options MAX_DELAY duration_list */ - -3, /* (226) table_options ::= table_options WATERMARK duration_list */ - -5, /* (227) table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ - -3, /* (228) table_options ::= table_options TTL NK_INTEGER */ - -5, /* (229) table_options ::= table_options SMA NK_LP col_name_list NK_RP */ - -3, /* (230) table_options ::= table_options DELETE_MARK duration_list */ - -1, /* (231) alter_table_options ::= alter_table_option */ - -2, /* (232) alter_table_options ::= alter_table_options alter_table_option */ - -2, /* (233) alter_table_option ::= COMMENT NK_STRING */ - -2, /* (234) alter_table_option ::= TTL NK_INTEGER */ - -1, /* (235) duration_list ::= duration_literal */ - -3, /* (236) duration_list ::= duration_list NK_COMMA duration_literal */ - -1, /* (237) rollup_func_list ::= rollup_func_name */ - -3, /* (238) rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ - -1, /* (239) rollup_func_name ::= function_name */ - -1, /* (240) rollup_func_name ::= FIRST */ - -1, /* (241) rollup_func_name ::= LAST */ - -1, /* (242) col_name_list ::= col_name */ - -3, /* (243) col_name_list ::= col_name_list NK_COMMA col_name */ - -1, /* (244) col_name ::= column_name */ - -2, /* (245) cmd ::= SHOW DNODES */ - -2, /* (246) cmd ::= SHOW USERS */ - -3, /* (247) cmd ::= SHOW USER PRIVILEGES */ - -3, /* (248) cmd ::= SHOW db_kind_opt DATABASES */ - -4, /* (249) cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ - -4, /* (250) cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ - -3, /* (251) cmd ::= SHOW db_name_cond_opt VGROUPS */ - -2, /* (252) cmd ::= SHOW MNODES */ - -2, /* (253) cmd ::= SHOW QNODES */ - -2, /* (254) cmd ::= SHOW ARBGROUPS */ - -2, /* (255) cmd ::= SHOW FUNCTIONS */ - -5, /* (256) cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ - -6, /* (257) cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ - -2, /* (258) cmd ::= SHOW STREAMS */ - -2, /* (259) cmd ::= SHOW ACCOUNTS */ - -2, /* (260) cmd ::= SHOW APPS */ - -2, /* (261) cmd ::= SHOW CONNECTIONS */ - -2, /* (262) cmd ::= SHOW LICENCES */ - -2, /* (263) cmd ::= SHOW GRANTS */ - -3, /* (264) cmd ::= SHOW GRANTS FULL */ - -3, /* (265) cmd ::= SHOW GRANTS LOGS */ - -3, /* (266) cmd ::= SHOW CLUSTER MACHINES */ - -4, /* (267) cmd ::= SHOW CREATE DATABASE db_name */ - -4, /* (268) cmd ::= SHOW CREATE TABLE full_table_name */ - -4, /* (269) cmd ::= SHOW CREATE STABLE full_table_name */ - -2, /* (270) cmd ::= SHOW QUERIES */ - -2, /* (271) cmd ::= SHOW SCORES */ - -2, /* (272) cmd ::= SHOW TOPICS */ - -2, /* (273) cmd ::= SHOW VARIABLES */ - -3, /* (274) cmd ::= SHOW CLUSTER VARIABLES */ - -3, /* (275) cmd ::= SHOW LOCAL VARIABLES */ - -5, /* (276) cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ - -2, /* (277) cmd ::= SHOW BNODES */ - -2, /* (278) cmd ::= SHOW SNODES */ - -2, /* (279) cmd ::= SHOW CLUSTER */ - -2, /* (280) cmd ::= SHOW TRANSACTIONS */ - -4, /* (281) cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ - -2, /* (282) cmd ::= SHOW CONSUMERS */ - -2, /* (283) cmd ::= SHOW SUBSCRIPTIONS */ - -5, /* (284) cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ - -6, /* (285) cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ - -7, /* (286) cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ - -8, /* (287) cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name */ - -5, /* (288) cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ - -2, /* (289) cmd ::= SHOW VNODES */ - -3, /* (290) cmd ::= SHOW db_name_cond_opt ALIVE */ - -3, /* (291) cmd ::= SHOW CLUSTER ALIVE */ - -4, /* (292) cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt */ - -4, /* (293) cmd ::= SHOW CREATE VIEW full_table_name */ - -2, /* (294) cmd ::= SHOW COMPACTS */ - -3, /* (295) cmd ::= SHOW COMPACT NK_INTEGER */ - 0, /* (296) table_kind_db_name_cond_opt ::= */ - -1, /* (297) table_kind_db_name_cond_opt ::= table_kind */ - -2, /* (298) table_kind_db_name_cond_opt ::= db_name NK_DOT */ - -3, /* (299) table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ - -1, /* (300) table_kind ::= NORMAL */ - -1, /* (301) table_kind ::= CHILD */ - 0, /* (302) db_name_cond_opt ::= */ - -2, /* (303) db_name_cond_opt ::= db_name NK_DOT */ - 0, /* (304) like_pattern_opt ::= */ - -2, /* (305) like_pattern_opt ::= LIKE NK_STRING */ - -1, /* (306) table_name_cond ::= table_name */ - 0, /* (307) from_db_opt ::= */ - -2, /* (308) from_db_opt ::= FROM db_name */ - 0, /* (309) tag_list_opt ::= */ - -1, /* (310) tag_list_opt ::= tag_item */ - -3, /* (311) tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ - -1, /* (312) tag_item ::= TBNAME */ - -1, /* (313) tag_item ::= QTAGS */ - -1, /* (314) tag_item ::= column_name */ - -2, /* (315) tag_item ::= column_name column_alias */ - -3, /* (316) tag_item ::= column_name AS column_alias */ - 0, /* (317) db_kind_opt ::= */ - -1, /* (318) db_kind_opt ::= USER */ - -1, /* (319) db_kind_opt ::= SYSTEM */ - -8, /* (320) cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options */ - -9, /* (321) cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP */ - -4, /* (322) cmd ::= DROP INDEX exists_opt full_index_name */ - -1, /* (323) full_index_name ::= index_name */ - -3, /* (324) full_index_name ::= db_name NK_DOT index_name */ - -10, /* (325) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ - -12, /* (326) 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, /* (327) func_list ::= func */ - -3, /* (328) func_list ::= func_list NK_COMMA func */ - -4, /* (329) func ::= sma_func_name NK_LP expression_list NK_RP */ - -1, /* (330) sma_func_name ::= function_name */ - -1, /* (331) sma_func_name ::= COUNT */ - -1, /* (332) sma_func_name ::= FIRST */ - -1, /* (333) sma_func_name ::= LAST */ - -1, /* (334) sma_func_name ::= LAST_ROW */ - 0, /* (335) sma_stream_opt ::= */ - -3, /* (336) sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ - -3, /* (337) sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ - -3, /* (338) sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ - -1, /* (339) with_meta ::= AS */ - -3, /* (340) with_meta ::= WITH META AS */ - -3, /* (341) with_meta ::= ONLY META AS */ - -6, /* (342) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ - -7, /* (343) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ - -8, /* (344) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ - -4, /* (345) cmd ::= DROP TOPIC exists_opt topic_name */ - -7, /* (346) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ - -2, /* (347) cmd ::= DESC full_table_name */ - -2, /* (348) cmd ::= DESCRIBE full_table_name */ - -3, /* (349) cmd ::= RESET QUERY CACHE */ - -4, /* (350) cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ - -4, /* (351) cmd ::= EXPLAIN analyze_opt explain_options insert_query */ - 0, /* (352) analyze_opt ::= */ - -1, /* (353) analyze_opt ::= ANALYZE */ - 0, /* (354) explain_options ::= */ - -3, /* (355) explain_options ::= explain_options VERBOSE NK_BOOL */ - -3, /* (356) explain_options ::= explain_options RATIO NK_FLOAT */ - -12, /* (357) 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, /* (358) cmd ::= DROP FUNCTION exists_opt function_name */ - 0, /* (359) agg_func_opt ::= */ - -1, /* (360) agg_func_opt ::= AGGREGATE */ - 0, /* (361) bufsize_opt ::= */ - -2, /* (362) bufsize_opt ::= BUFSIZE NK_INTEGER */ - 0, /* (363) language_opt ::= */ - -2, /* (364) language_opt ::= LANGUAGE NK_STRING */ - 0, /* (365) or_replace_opt ::= */ - -2, /* (366) or_replace_opt ::= OR REPLACE */ - -6, /* (367) cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ - -4, /* (368) cmd ::= DROP VIEW exists_opt full_view_name */ - -1, /* (369) full_view_name ::= view_name */ - -3, /* (370) full_view_name ::= db_name NK_DOT view_name */ - -12, /* (371) 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, /* (372) cmd ::= DROP STREAM exists_opt stream_name */ - -4, /* (373) cmd ::= PAUSE STREAM exists_opt stream_name */ - -5, /* (374) cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ - 0, /* (375) col_list_opt ::= */ - -3, /* (376) col_list_opt ::= NK_LP col_name_list NK_RP */ - 0, /* (377) tag_def_or_ref_opt ::= */ - -1, /* (378) tag_def_or_ref_opt ::= tags_def */ - -4, /* (379) tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ - 0, /* (380) stream_options ::= */ - -3, /* (381) stream_options ::= stream_options TRIGGER AT_ONCE */ - -3, /* (382) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ - -4, /* (383) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ - -3, /* (384) stream_options ::= stream_options WATERMARK duration_literal */ - -4, /* (385) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ - -3, /* (386) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ - -3, /* (387) stream_options ::= stream_options DELETE_MARK duration_literal */ - -4, /* (388) stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ - 0, /* (389) subtable_opt ::= */ - -4, /* (390) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ - 0, /* (391) ignore_opt ::= */ - -2, /* (392) ignore_opt ::= IGNORE UNTREATED */ - -3, /* (393) cmd ::= KILL CONNECTION NK_INTEGER */ - -3, /* (394) cmd ::= KILL QUERY NK_STRING */ - -3, /* (395) cmd ::= KILL TRANSACTION NK_INTEGER */ - -3, /* (396) cmd ::= KILL COMPACT NK_INTEGER */ - -2, /* (397) cmd ::= BALANCE VGROUP */ - -4, /* (398) cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ - -4, /* (399) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ - -4, /* (400) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ - -3, /* (401) cmd ::= SPLIT VGROUP NK_INTEGER */ - 0, /* (402) on_vgroup_id ::= */ - -2, /* (403) on_vgroup_id ::= ON NK_INTEGER */ - -2, /* (404) dnode_list ::= DNODE NK_INTEGER */ - -3, /* (405) dnode_list ::= dnode_list DNODE NK_INTEGER */ - -4, /* (406) cmd ::= DELETE FROM full_table_name where_clause_opt */ - -1, /* (407) cmd ::= query_or_subquery */ - -1, /* (408) cmd ::= insert_query */ - -7, /* (409) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ - -4, /* (410) insert_query ::= INSERT INTO full_table_name query_or_subquery */ - -1, /* (411) tags_literal ::= NK_INTEGER */ - -3, /* (412) tags_literal ::= NK_INTEGER NK_PLUS duration_literal */ - -3, /* (413) tags_literal ::= NK_INTEGER NK_MINUS duration_literal */ - -2, /* (414) tags_literal ::= NK_PLUS NK_INTEGER */ - -4, /* (415) tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal */ - -4, /* (416) tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal */ - -2, /* (417) tags_literal ::= NK_MINUS NK_INTEGER */ - -4, /* (418) tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal */ - -4, /* (419) tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal */ - -1, /* (420) tags_literal ::= NK_FLOAT */ - -2, /* (421) tags_literal ::= NK_PLUS NK_FLOAT */ - -2, /* (422) tags_literal ::= NK_MINUS NK_FLOAT */ - -1, /* (423) tags_literal ::= NK_BIN */ - -3, /* (424) tags_literal ::= NK_BIN NK_PLUS duration_literal */ - -3, /* (425) tags_literal ::= NK_BIN NK_MINUS duration_literal */ - -2, /* (426) tags_literal ::= NK_PLUS NK_BIN */ - -4, /* (427) tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal */ - -4, /* (428) tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal */ - -2, /* (429) tags_literal ::= NK_MINUS NK_BIN */ - -4, /* (430) tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal */ - -4, /* (431) tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal */ - -1, /* (432) tags_literal ::= NK_HEX */ - -3, /* (433) tags_literal ::= NK_HEX NK_PLUS duration_literal */ - -3, /* (434) tags_literal ::= NK_HEX NK_MINUS duration_literal */ - -2, /* (435) tags_literal ::= NK_PLUS NK_HEX */ - -4, /* (436) tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal */ - -4, /* (437) tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal */ - -2, /* (438) tags_literal ::= NK_MINUS NK_HEX */ - -4, /* (439) tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal */ - -4, /* (440) tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal */ - -1, /* (441) tags_literal ::= NK_STRING */ - -3, /* (442) tags_literal ::= NK_STRING NK_PLUS duration_literal */ - -3, /* (443) tags_literal ::= NK_STRING NK_MINUS duration_literal */ - -1, /* (444) tags_literal ::= NK_BOOL */ - -1, /* (445) tags_literal ::= NULL */ - -1, /* (446) tags_literal ::= literal_func */ - -3, /* (447) tags_literal ::= literal_func NK_PLUS duration_literal */ - -3, /* (448) tags_literal ::= literal_func NK_MINUS duration_literal */ - -1, /* (449) tags_literal_list ::= tags_literal */ - -3, /* (450) tags_literal_list ::= tags_literal_list NK_COMMA tags_literal */ - -1, /* (451) literal ::= NK_INTEGER */ - -1, /* (452) literal ::= NK_FLOAT */ - -1, /* (453) literal ::= NK_STRING */ - -1, /* (454) literal ::= NK_BOOL */ - -2, /* (455) literal ::= TIMESTAMP NK_STRING */ - -1, /* (456) literal ::= duration_literal */ - -1, /* (457) literal ::= NULL */ - -1, /* (458) literal ::= NK_QUESTION */ - -1, /* (459) duration_literal ::= NK_VARIABLE */ - -1, /* (460) signed ::= NK_INTEGER */ - -2, /* (461) signed ::= NK_PLUS NK_INTEGER */ - -2, /* (462) signed ::= NK_MINUS NK_INTEGER */ - -1, /* (463) signed ::= NK_FLOAT */ - -2, /* (464) signed ::= NK_PLUS NK_FLOAT */ - -2, /* (465) signed ::= NK_MINUS NK_FLOAT */ - -1, /* (466) signed_literal ::= signed */ - -1, /* (467) signed_literal ::= NK_STRING */ - -1, /* (468) signed_literal ::= NK_BOOL */ - -2, /* (469) signed_literal ::= TIMESTAMP NK_STRING */ - -1, /* (470) signed_literal ::= duration_literal */ - -1, /* (471) signed_literal ::= NULL */ - -1, /* (472) signed_literal ::= literal_func */ - -1, /* (473) signed_literal ::= NK_QUESTION */ - -1, /* (474) literal_list ::= signed_literal */ - -3, /* (475) literal_list ::= literal_list NK_COMMA signed_literal */ - -1, /* (476) db_name ::= NK_ID */ - -1, /* (477) table_name ::= NK_ID */ - -1, /* (478) column_name ::= NK_ID */ - -1, /* (479) function_name ::= NK_ID */ - -1, /* (480) view_name ::= NK_ID */ - -1, /* (481) table_alias ::= NK_ID */ - -1, /* (482) column_alias ::= NK_ID */ - -1, /* (483) column_alias ::= NK_ALIAS */ - -1, /* (484) user_name ::= NK_ID */ - -1, /* (485) topic_name ::= NK_ID */ - -1, /* (486) stream_name ::= NK_ID */ - -1, /* (487) cgroup_name ::= NK_ID */ - -1, /* (488) index_name ::= NK_ID */ - -1, /* (489) expr_or_subquery ::= expression */ - -1, /* (490) expression ::= literal */ - -1, /* (491) expression ::= pseudo_column */ - -1, /* (492) expression ::= column_reference */ - -1, /* (493) expression ::= function_expression */ - -1, /* (494) expression ::= case_when_expression */ - -3, /* (495) expression ::= NK_LP expression NK_RP */ - -2, /* (496) expression ::= NK_PLUS expr_or_subquery */ - -2, /* (497) expression ::= NK_MINUS expr_or_subquery */ - -3, /* (498) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ - -3, /* (499) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ - -3, /* (500) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ - -3, /* (501) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ - -3, /* (502) expression ::= expr_or_subquery NK_REM expr_or_subquery */ - -3, /* (503) expression ::= column_reference NK_ARROW NK_STRING */ - -3, /* (504) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ - -3, /* (505) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ - -1, /* (506) expression_list ::= expr_or_subquery */ - -3, /* (507) expression_list ::= expression_list NK_COMMA expr_or_subquery */ - -1, /* (508) column_reference ::= column_name */ - -3, /* (509) column_reference ::= table_name NK_DOT column_name */ - -1, /* (510) column_reference ::= NK_ALIAS */ - -3, /* (511) column_reference ::= table_name NK_DOT NK_ALIAS */ - -1, /* (512) pseudo_column ::= ROWTS */ - -1, /* (513) pseudo_column ::= TBNAME */ - -3, /* (514) pseudo_column ::= table_name NK_DOT TBNAME */ - -1, /* (515) pseudo_column ::= QSTART */ - -1, /* (516) pseudo_column ::= QEND */ - -1, /* (517) pseudo_column ::= QDURATION */ - -1, /* (518) pseudo_column ::= WSTART */ - -1, /* (519) pseudo_column ::= WEND */ - -1, /* (520) pseudo_column ::= WDURATION */ - -1, /* (521) pseudo_column ::= IROWTS */ - -1, /* (522) pseudo_column ::= ISFILLED */ - -1, /* (523) pseudo_column ::= QTAGS */ - -4, /* (524) function_expression ::= function_name NK_LP expression_list NK_RP */ - -4, /* (525) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ - -6, /* (526) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ - -6, /* (527) function_expression ::= CAST NK_LP expr_or_subquery AS type_name_binary NK_RP */ - -1, /* (528) function_expression ::= literal_func */ - -3, /* (529) literal_func ::= noarg_func NK_LP NK_RP */ - -1, /* (530) literal_func ::= NOW */ - -1, /* (531) literal_func ::= TODAY */ - -1, /* (532) noarg_func ::= NOW */ - -1, /* (533) noarg_func ::= TODAY */ - -1, /* (534) noarg_func ::= TIMEZONE */ - -1, /* (535) noarg_func ::= DATABASE */ - -1, /* (536) noarg_func ::= CLIENT_VERSION */ - -1, /* (537) noarg_func ::= SERVER_VERSION */ - -1, /* (538) noarg_func ::= SERVER_STATUS */ - -1, /* (539) noarg_func ::= CURRENT_USER */ - -1, /* (540) noarg_func ::= USER */ - -1, /* (541) star_func ::= COUNT */ - -1, /* (542) star_func ::= FIRST */ - -1, /* (543) star_func ::= LAST */ - -1, /* (544) star_func ::= LAST_ROW */ - -1, /* (545) star_func_para_list ::= NK_STAR */ - -1, /* (546) star_func_para_list ::= other_para_list */ - -1, /* (547) other_para_list ::= star_func_para */ - -3, /* (548) other_para_list ::= other_para_list NK_COMMA star_func_para */ - -1, /* (549) star_func_para ::= expr_or_subquery */ - -3, /* (550) star_func_para ::= table_name NK_DOT NK_STAR */ - -4, /* (551) case_when_expression ::= CASE when_then_list case_when_else_opt END */ - -5, /* (552) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ - -1, /* (553) when_then_list ::= when_then_expr */ - -2, /* (554) when_then_list ::= when_then_list when_then_expr */ - -4, /* (555) when_then_expr ::= WHEN common_expression THEN common_expression */ - 0, /* (556) case_when_else_opt ::= */ - -2, /* (557) case_when_else_opt ::= ELSE common_expression */ - -3, /* (558) predicate ::= expr_or_subquery compare_op expr_or_subquery */ - -5, /* (559) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ - -6, /* (560) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ - -3, /* (561) predicate ::= expr_or_subquery IS NULL */ - -4, /* (562) predicate ::= expr_or_subquery IS NOT NULL */ - -3, /* (563) predicate ::= expr_or_subquery in_op in_predicate_value */ - -1, /* (564) compare_op ::= NK_LT */ - -1, /* (565) compare_op ::= NK_GT */ - -1, /* (566) compare_op ::= NK_LE */ - -1, /* (567) compare_op ::= NK_GE */ - -1, /* (568) compare_op ::= NK_NE */ - -1, /* (569) compare_op ::= NK_EQ */ - -1, /* (570) compare_op ::= LIKE */ - -2, /* (571) compare_op ::= NOT LIKE */ - -1, /* (572) compare_op ::= MATCH */ - -1, /* (573) compare_op ::= NMATCH */ - -1, /* (574) compare_op ::= CONTAINS */ - -1, /* (575) in_op ::= IN */ - -2, /* (576) in_op ::= NOT IN */ - -3, /* (577) in_predicate_value ::= NK_LP literal_list NK_RP */ - -1, /* (578) boolean_value_expression ::= boolean_primary */ - -2, /* (579) boolean_value_expression ::= NOT boolean_primary */ - -3, /* (580) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ - -3, /* (581) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ - -1, /* (582) boolean_primary ::= predicate */ - -3, /* (583) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ - -1, /* (584) common_expression ::= expr_or_subquery */ - -1, /* (585) common_expression ::= boolean_value_expression */ - 0, /* (586) from_clause_opt ::= */ - -2, /* (587) from_clause_opt ::= FROM table_reference_list */ - -1, /* (588) table_reference_list ::= table_reference */ - -3, /* (589) table_reference_list ::= table_reference_list NK_COMMA table_reference */ - -1, /* (590) table_reference ::= table_primary */ - -1, /* (591) table_reference ::= joined_table */ - -2, /* (592) table_primary ::= table_name alias_opt */ - -4, /* (593) table_primary ::= db_name NK_DOT table_name alias_opt */ - -2, /* (594) table_primary ::= subquery alias_opt */ - -1, /* (595) table_primary ::= parenthesized_joined_table */ - 0, /* (596) alias_opt ::= */ - -1, /* (597) alias_opt ::= table_alias */ - -2, /* (598) alias_opt ::= AS table_alias */ - -3, /* (599) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ - -3, /* (600) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ - -6, /* (601) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ - 0, /* (602) join_type ::= */ - -1, /* (603) join_type ::= INNER */ - -14, /* (604) 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, /* (605) hint_list ::= */ - -1, /* (606) hint_list ::= NK_HINT */ - 0, /* (607) tag_mode_opt ::= */ - -1, /* (608) tag_mode_opt ::= TAGS */ - 0, /* (609) set_quantifier_opt ::= */ - -1, /* (610) set_quantifier_opt ::= DISTINCT */ - -1, /* (611) set_quantifier_opt ::= ALL */ - -1, /* (612) select_list ::= select_item */ - -3, /* (613) select_list ::= select_list NK_COMMA select_item */ - -1, /* (614) select_item ::= NK_STAR */ - -1, /* (615) select_item ::= common_expression */ - -2, /* (616) select_item ::= common_expression column_alias */ - -3, /* (617) select_item ::= common_expression AS column_alias */ - -3, /* (618) select_item ::= table_name NK_DOT NK_STAR */ - 0, /* (619) where_clause_opt ::= */ - -2, /* (620) where_clause_opt ::= WHERE search_condition */ - 0, /* (621) partition_by_clause_opt ::= */ - -3, /* (622) partition_by_clause_opt ::= PARTITION BY partition_list */ - -1, /* (623) partition_list ::= partition_item */ - -3, /* (624) partition_list ::= partition_list NK_COMMA partition_item */ - -1, /* (625) partition_item ::= expr_or_subquery */ - -2, /* (626) partition_item ::= expr_or_subquery column_alias */ - -3, /* (627) partition_item ::= expr_or_subquery AS column_alias */ - 0, /* (628) twindow_clause_opt ::= */ - -6, /* (629) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ - -4, /* (630) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ - -6, /* (631) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ - -8, /* (632) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ - -7, /* (633) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ - -4, /* (634) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ - -6, /* (635) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ - 0, /* (636) sliding_opt ::= */ - -4, /* (637) sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ - -1, /* (638) interval_sliding_duration_literal ::= NK_VARIABLE */ - -1, /* (639) interval_sliding_duration_literal ::= NK_STRING */ - -1, /* (640) interval_sliding_duration_literal ::= NK_INTEGER */ - 0, /* (641) fill_opt ::= */ - -4, /* (642) fill_opt ::= FILL NK_LP fill_mode NK_RP */ - -6, /* (643) fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ - -6, /* (644) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ - -1, /* (645) fill_mode ::= NONE */ - -1, /* (646) fill_mode ::= PREV */ - -1, /* (647) fill_mode ::= NULL */ - -1, /* (648) fill_mode ::= NULL_F */ - -1, /* (649) fill_mode ::= LINEAR */ - -1, /* (650) fill_mode ::= NEXT */ - 0, /* (651) group_by_clause_opt ::= */ - -3, /* (652) group_by_clause_opt ::= GROUP BY group_by_list */ - -1, /* (653) group_by_list ::= expr_or_subquery */ - -3, /* (654) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ - 0, /* (655) having_clause_opt ::= */ - -2, /* (656) having_clause_opt ::= HAVING search_condition */ - 0, /* (657) range_opt ::= */ - -6, /* (658) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ - -4, /* (659) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ - 0, /* (660) every_opt ::= */ - -4, /* (661) every_opt ::= EVERY NK_LP duration_literal NK_RP */ - -4, /* (662) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ - -1, /* (663) query_simple ::= query_specification */ - -1, /* (664) query_simple ::= union_query_expression */ - -4, /* (665) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ - -3, /* (666) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ - -1, /* (667) query_simple_or_subquery ::= query_simple */ - -1, /* (668) query_simple_or_subquery ::= subquery */ - -1, /* (669) query_or_subquery ::= query_expression */ - -1, /* (670) query_or_subquery ::= subquery */ - 0, /* (671) order_by_clause_opt ::= */ - -3, /* (672) order_by_clause_opt ::= ORDER BY sort_specification_list */ - 0, /* (673) slimit_clause_opt ::= */ - -2, /* (674) slimit_clause_opt ::= SLIMIT NK_INTEGER */ - -4, /* (675) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - -4, /* (676) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - 0, /* (677) limit_clause_opt ::= */ - -2, /* (678) limit_clause_opt ::= LIMIT NK_INTEGER */ - -4, /* (679) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ - -4, /* (680) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - -3, /* (681) subquery ::= NK_LP query_expression NK_RP */ - -3, /* (682) subquery ::= NK_LP subquery NK_RP */ - -1, /* (683) search_condition ::= common_expression */ - -1, /* (684) sort_specification_list ::= sort_specification */ - -3, /* (685) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ - -3, /* (686) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ - 0, /* (687) ordering_specification_opt ::= */ - -1, /* (688) ordering_specification_opt ::= ASC */ - -1, /* (689) ordering_specification_opt ::= DESC */ - 0, /* (690) null_ordering_opt ::= */ - -2, /* (691) null_ordering_opt ::= NULLS FIRST */ - -2, /* (692) 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 */ @@ -5264,19 +5273,19 @@ static YYACTIONTYPE yy_reduce( 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 5267 "sql.c" +#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 5273 "sql.c" +#line 5282 "sql.c" yy_destructor(yypParser,356,&yymsp[0].minor); break; case 2: /* account_options ::= */ #line 55 "sql.y" { } -#line 5279 "sql.c" +#line 5288 "sql.c" break; case 3: /* account_options ::= account_options PPS literal */ case 4: /* account_options ::= account_options TSERIES literal */ yytestcase(yyruleno==4); @@ -5290,7 +5299,7 @@ static YYACTIONTYPE yy_reduce( { yy_destructor(yypParser,355,&yymsp[-2].minor); #line 56 "sql.y" { } -#line 5293 "sql.c" +#line 5302 "sql.c" yy_destructor(yypParser,357,&yymsp[0].minor); } break; @@ -5298,14 +5307,14 @@ static YYACTIONTYPE yy_reduce( { yy_destructor(yypParser,358,&yymsp[0].minor); #line 68 "sql.y" { } -#line 5301 "sql.c" +#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 5308 "sql.c" +#line 5317 "sql.c" yy_destructor(yypParser,358,&yymsp[0].minor); } break; @@ -5321,46 +5330,46 @@ static YYACTIONTYPE yy_reduce( case 23: /* alter_account_option ::= STATE literal */ yytestcase(yyruleno==23); #line 73 "sql.y" { } -#line 5324 "sql.c" +#line 5333 "sql.c" yy_destructor(yypParser,357,&yymsp[0].minor); break; case 24: /* ip_range_list ::= NK_STRING */ #line 86 "sql.y" { yylhsminor.yy404 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } -#line 5330 "sql.c" +#line 5339 "sql.c" yymsp[0].minor.yy404 = yylhsminor.yy404; break; case 25: /* ip_range_list ::= ip_range_list NK_COMMA NK_STRING */ #line 87 "sql.y" { yylhsminor.yy404 = addNodeToList(pCxt, yymsp[-2].minor.yy404, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } -#line 5336 "sql.c" +#line 5345 "sql.c" yymsp[-2].minor.yy404 = yylhsminor.yy404; break; case 26: /* white_list ::= HOST ip_range_list */ #line 91 "sql.y" { yymsp[-1].minor.yy404 = yymsp[0].minor.yy404; } -#line 5342 "sql.c" +#line 5351 "sql.c" break; case 27: /* white_list_opt ::= */ case 188: /* specific_cols_opt ::= */ yytestcase(yyruleno==188); - case 220: /* tags_def_opt ::= */ yytestcase(yyruleno==220); - case 309: /* tag_list_opt ::= */ yytestcase(yyruleno==309); - case 375: /* col_list_opt ::= */ yytestcase(yyruleno==375); - case 377: /* tag_def_or_ref_opt ::= */ yytestcase(yyruleno==377); - case 621: /* partition_by_clause_opt ::= */ yytestcase(yyruleno==621); - case 651: /* group_by_clause_opt ::= */ yytestcase(yyruleno==651); - case 671: /* order_by_clause_opt ::= */ yytestcase(yyruleno==671); + 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 5355 "sql.c" +#line 5364 "sql.c" break; case 28: /* white_list_opt ::= white_list */ - case 221: /* tags_def_opt ::= tags_def */ yytestcase(yyruleno==221); - case 378: /* tag_def_or_ref_opt ::= tags_def */ yytestcase(yyruleno==378); - case 546: /* star_func_para_list ::= other_para_list */ yytestcase(yyruleno==546); + 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 5363 "sql.c" +#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 */ @@ -5369,511 +5378,511 @@ static YYACTIONTYPE yy_reduce( 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 5372 "sql.c" +#line 5381 "sql.c" break; case 30: /* cmd ::= ALTER USER user_name PASS NK_STRING */ #line 104 "sql.y" { pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy701, TSDB_ALTER_USER_PASSWD, &yymsp[0].minor.yy0); } -#line 5377 "sql.c" +#line 5386 "sql.c" break; case 31: /* cmd ::= ALTER USER user_name ENABLE NK_INTEGER */ #line 105 "sql.y" { pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy701, TSDB_ALTER_USER_ENABLE, &yymsp[0].minor.yy0); } -#line 5382 "sql.c" +#line 5391 "sql.c" break; case 32: /* cmd ::= ALTER USER user_name SYSINFO NK_INTEGER */ #line 106 "sql.y" { pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy701, TSDB_ALTER_USER_SYSINFO, &yymsp[0].minor.yy0); } -#line 5387 "sql.c" +#line 5396 "sql.c" break; case 33: /* cmd ::= ALTER USER user_name ADD white_list */ #line 107 "sql.y" { pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy701, TSDB_ALTER_USER_ADD_WHITE_LIST, yymsp[0].minor.yy404); } -#line 5392 "sql.c" +#line 5401 "sql.c" break; case 34: /* cmd ::= ALTER USER user_name DROP white_list */ #line 108 "sql.y" { pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy701, TSDB_ALTER_USER_DROP_WHITE_LIST, yymsp[0].minor.yy404); } -#line 5397 "sql.c" +#line 5406 "sql.c" break; case 35: /* cmd ::= DROP USER user_name */ #line 109 "sql.y" { pCxt->pRootNode = createDropUserStmt(pCxt, &yymsp[0].minor.yy701); } -#line 5402 "sql.c" +#line 5411 "sql.c" break; case 36: /* sysinfo_opt ::= */ #line 113 "sql.y" { yymsp[1].minor.yy915 = 1; } -#line 5407 "sql.c" +#line 5416 "sql.c" break; case 37: /* sysinfo_opt ::= SYSINFO NK_INTEGER */ #line 114 "sql.y" { yymsp[-1].minor.yy915 = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); } -#line 5412 "sql.c" +#line 5421 "sql.c" break; case 38: /* cmd ::= GRANT privileges ON priv_level with_opt TO user_name */ #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 5417 "sql.c" +#line 5426 "sql.c" break; case 39: /* cmd ::= REVOKE privileges ON priv_level with_opt FROM user_name */ #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 5422 "sql.c" +#line 5431 "sql.c" break; case 40: /* privileges ::= ALL */ #line 122 "sql.y" { yymsp[0].minor.yy949 = PRIVILEGE_TYPE_ALL; } -#line 5427 "sql.c" +#line 5436 "sql.c" break; case 41: /* privileges ::= priv_type_list */ case 43: /* priv_type_list ::= priv_type */ yytestcase(yyruleno==43); #line 123 "sql.y" { yylhsminor.yy949 = yymsp[0].minor.yy949; } -#line 5433 "sql.c" +#line 5442 "sql.c" yymsp[0].minor.yy949 = yylhsminor.yy949; break; case 42: /* privileges ::= SUBSCRIBE */ #line 124 "sql.y" { yymsp[0].minor.yy949 = PRIVILEGE_TYPE_SUBSCRIBE; } -#line 5439 "sql.c" +#line 5448 "sql.c" break; case 44: /* priv_type_list ::= priv_type_list NK_COMMA priv_type */ #line 129 "sql.y" { yylhsminor.yy949 = yymsp[-2].minor.yy949 | yymsp[0].minor.yy949; } -#line 5444 "sql.c" +#line 5453 "sql.c" yymsp[-2].minor.yy949 = yylhsminor.yy949; break; case 45: /* priv_type ::= READ */ #line 133 "sql.y" { yymsp[0].minor.yy949 = PRIVILEGE_TYPE_READ; } -#line 5450 "sql.c" +#line 5459 "sql.c" break; case 46: /* priv_type ::= WRITE */ #line 134 "sql.y" { yymsp[0].minor.yy949 = PRIVILEGE_TYPE_WRITE; } -#line 5455 "sql.c" +#line 5464 "sql.c" break; case 47: /* priv_type ::= ALTER */ #line 135 "sql.y" { yymsp[0].minor.yy949 = PRIVILEGE_TYPE_ALTER; } -#line 5460 "sql.c" +#line 5469 "sql.c" break; case 48: /* priv_level ::= NK_STAR NK_DOT NK_STAR */ #line 139 "sql.y" { yylhsminor.yy21.first = yymsp[-2].minor.yy0; yylhsminor.yy21.second = yymsp[0].minor.yy0; } -#line 5465 "sql.c" +#line 5474 "sql.c" yymsp[-2].minor.yy21 = yylhsminor.yy21; break; case 49: /* priv_level ::= db_name NK_DOT NK_STAR */ #line 140 "sql.y" { yylhsminor.yy21.first = yymsp[-2].minor.yy701; yylhsminor.yy21.second = yymsp[0].minor.yy0; } -#line 5471 "sql.c" +#line 5480 "sql.c" yymsp[-2].minor.yy21 = yylhsminor.yy21; break; case 50: /* priv_level ::= db_name NK_DOT table_name */ #line 141 "sql.y" { yylhsminor.yy21.first = yymsp[-2].minor.yy701; yylhsminor.yy21.second = yymsp[0].minor.yy701; } -#line 5477 "sql.c" +#line 5486 "sql.c" yymsp[-2].minor.yy21 = yylhsminor.yy21; break; case 51: /* priv_level ::= topic_name */ #line 142 "sql.y" { yylhsminor.yy21.first = yymsp[0].minor.yy701; yylhsminor.yy21.second = nil_token; } -#line 5483 "sql.c" +#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 304: /* like_pattern_opt ::= */ yytestcase(yyruleno==304); - case 389: /* subtable_opt ::= */ yytestcase(yyruleno==389); - case 556: /* case_when_else_opt ::= */ yytestcase(yyruleno==556); - case 586: /* from_clause_opt ::= */ yytestcase(yyruleno==586); - case 619: /* where_clause_opt ::= */ yytestcase(yyruleno==619); - case 628: /* twindow_clause_opt ::= */ yytestcase(yyruleno==628); - case 636: /* sliding_opt ::= */ yytestcase(yyruleno==636); - case 641: /* fill_opt ::= */ yytestcase(yyruleno==641); - case 655: /* having_clause_opt ::= */ yytestcase(yyruleno==655); - case 657: /* range_opt ::= */ yytestcase(yyruleno==657); - case 660: /* every_opt ::= */ yytestcase(yyruleno==660); - case 673: /* slimit_clause_opt ::= */ yytestcase(yyruleno==673); - case 677: /* limit_clause_opt ::= */ yytestcase(yyruleno==677); + 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 5504 "sql.c" +#line 5513 "sql.c" break; case 53: /* with_opt ::= WITH search_condition */ - case 587: /* from_clause_opt ::= FROM table_reference_list */ yytestcase(yyruleno==587); - case 620: /* where_clause_opt ::= WHERE search_condition */ yytestcase(yyruleno==620); - case 656: /* having_clause_opt ::= HAVING search_condition */ yytestcase(yyruleno==656); + 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 5512 "sql.c" +#line 5521 "sql.c" break; case 54: /* cmd ::= CREATE DNODE dnode_endpoint */ #line 148 "sql.y" { pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[0].minor.yy701, NULL); } -#line 5517 "sql.c" +#line 5526 "sql.c" break; case 55: /* cmd ::= CREATE DNODE dnode_endpoint PORT NK_INTEGER */ #line 149 "sql.y" { pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy0); } -#line 5522 "sql.c" +#line 5531 "sql.c" break; case 56: /* cmd ::= DROP DNODE NK_INTEGER force_opt */ #line 150 "sql.y" { pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy733, false); } -#line 5527 "sql.c" +#line 5536 "sql.c" break; case 57: /* cmd ::= DROP DNODE dnode_endpoint force_opt */ #line 151 "sql.y" { pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy701, yymsp[0].minor.yy733, false); } -#line 5532 "sql.c" +#line 5541 "sql.c" break; case 58: /* cmd ::= DROP DNODE NK_INTEGER unsafe_opt */ #line 152 "sql.y" { pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, false, yymsp[0].minor.yy733); } -#line 5537 "sql.c" +#line 5546 "sql.c" break; case 59: /* cmd ::= DROP DNODE dnode_endpoint unsafe_opt */ #line 153 "sql.y" { pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy701, false, yymsp[0].minor.yy733); } -#line 5542 "sql.c" +#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 5547 "sql.c" +#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 5552 "sql.c" +#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 5557 "sql.c" +#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 5562 "sql.c" +#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 5567 "sql.c" +#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 331: /* sma_func_name ::= COUNT */ yytestcase(yyruleno==331); - case 332: /* sma_func_name ::= FIRST */ yytestcase(yyruleno==332); - case 333: /* sma_func_name ::= LAST */ yytestcase(yyruleno==333); - case 334: /* sma_func_name ::= LAST_ROW */ yytestcase(yyruleno==334); - case 476: /* db_name ::= NK_ID */ yytestcase(yyruleno==476); - case 477: /* table_name ::= NK_ID */ yytestcase(yyruleno==477); - case 478: /* column_name ::= NK_ID */ yytestcase(yyruleno==478); - case 479: /* function_name ::= NK_ID */ yytestcase(yyruleno==479); - case 480: /* view_name ::= NK_ID */ yytestcase(yyruleno==480); - case 481: /* table_alias ::= NK_ID */ yytestcase(yyruleno==481); - case 482: /* column_alias ::= NK_ID */ yytestcase(yyruleno==482); - case 483: /* column_alias ::= NK_ALIAS */ yytestcase(yyruleno==483); - case 484: /* user_name ::= NK_ID */ yytestcase(yyruleno==484); - case 485: /* topic_name ::= NK_ID */ yytestcase(yyruleno==485); - case 486: /* stream_name ::= NK_ID */ yytestcase(yyruleno==486); - case 487: /* cgroup_name ::= NK_ID */ yytestcase(yyruleno==487); - case 488: /* index_name ::= NK_ID */ yytestcase(yyruleno==488); - case 532: /* noarg_func ::= NOW */ yytestcase(yyruleno==532); - case 533: /* noarg_func ::= TODAY */ yytestcase(yyruleno==533); - case 534: /* noarg_func ::= TIMEZONE */ yytestcase(yyruleno==534); - case 535: /* noarg_func ::= DATABASE */ yytestcase(yyruleno==535); - case 536: /* noarg_func ::= CLIENT_VERSION */ yytestcase(yyruleno==536); - case 537: /* noarg_func ::= SERVER_VERSION */ yytestcase(yyruleno==537); - case 538: /* noarg_func ::= SERVER_STATUS */ yytestcase(yyruleno==538); - case 539: /* noarg_func ::= CURRENT_USER */ yytestcase(yyruleno==539); - case 540: /* noarg_func ::= USER */ yytestcase(yyruleno==540); - case 541: /* star_func ::= COUNT */ yytestcase(yyruleno==541); - case 542: /* star_func ::= FIRST */ yytestcase(yyruleno==542); - case 543: /* star_func ::= LAST */ yytestcase(yyruleno==543); - case 544: /* star_func ::= LAST_ROW */ yytestcase(yyruleno==544); + 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 5604 "sql.c" +#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 352: /* analyze_opt ::= */ yytestcase(yyruleno==352); - case 359: /* agg_func_opt ::= */ yytestcase(yyruleno==359); - case 365: /* or_replace_opt ::= */ yytestcase(yyruleno==365); - case 391: /* ignore_opt ::= */ yytestcase(yyruleno==391); - case 607: /* tag_mode_opt ::= */ yytestcase(yyruleno==607); - case 609: /* set_quantifier_opt ::= */ yytestcase(yyruleno==609); + 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 5618 "sql.c" +#line 5627 "sql.c" break; case 69: /* force_opt ::= FORCE */ case 70: /* unsafe_opt ::= UNSAFE */ yytestcase(yyruleno==70); - case 353: /* analyze_opt ::= ANALYZE */ yytestcase(yyruleno==353); - case 360: /* agg_func_opt ::= AGGREGATE */ yytestcase(yyruleno==360); - case 608: /* tag_mode_opt ::= TAGS */ yytestcase(yyruleno==608); - case 610: /* set_quantifier_opt ::= DISTINCT */ yytestcase(yyruleno==610); + 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 5628 "sql.c" +#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 5633 "sql.c" +#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 5638 "sql.c" +#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 5643 "sql.c" +#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 5648 "sql.c" +#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 5653 "sql.c" +#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 5658 "sql.c" +#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 5663 "sql.c" +#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 5668 "sql.c" +#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 5673 "sql.c" +#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 5678 "sql.c" +#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 5683 "sql.c" +#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 5688 "sql.c" +#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 5693 "sql.c" +#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 5698 "sql.c" +#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 5703 "sql.c" +#line 5712 "sql.c" break; case 86: /* cmd ::= CREATE DATABASE not_exists_opt db_name db_options */ #line 205 "sql.y" { pCxt->pRootNode = createCreateDatabaseStmt(pCxt, yymsp[-2].minor.yy733, &yymsp[-1].minor.yy701, yymsp[0].minor.yy896); } -#line 5708 "sql.c" +#line 5717 "sql.c" break; case 87: /* cmd ::= DROP DATABASE exists_opt db_name */ #line 206 "sql.y" { pCxt->pRootNode = createDropDatabaseStmt(pCxt, yymsp[-1].minor.yy733, &yymsp[0].minor.yy701); } -#line 5713 "sql.c" +#line 5722 "sql.c" break; case 88: /* cmd ::= USE db_name */ #line 207 "sql.y" { pCxt->pRootNode = createUseDatabaseStmt(pCxt, &yymsp[0].minor.yy701); } -#line 5718 "sql.c" +#line 5727 "sql.c" break; case 89: /* cmd ::= ALTER DATABASE db_name alter_db_options */ #line 208 "sql.y" { pCxt->pRootNode = createAlterDatabaseStmt(pCxt, &yymsp[-1].minor.yy701, yymsp[0].minor.yy896); } -#line 5723 "sql.c" +#line 5732 "sql.c" break; case 90: /* cmd ::= FLUSH DATABASE db_name */ #line 209 "sql.y" { pCxt->pRootNode = createFlushDatabaseStmt(pCxt, &yymsp[0].minor.yy701); } -#line 5728 "sql.c" +#line 5737 "sql.c" break; case 91: /* cmd ::= TRIM DATABASE db_name speed_opt */ #line 210 "sql.y" { pCxt->pRootNode = createTrimDatabaseStmt(pCxt, &yymsp[-1].minor.yy701, yymsp[0].minor.yy396); } -#line 5733 "sql.c" +#line 5742 "sql.c" break; case 92: /* cmd ::= COMPACT DATABASE db_name start_opt end_opt */ #line 211 "sql.y" { pCxt->pRootNode = createCompactStmt(pCxt, &yymsp[-2].minor.yy701, yymsp[-1].minor.yy896, yymsp[0].minor.yy896); } -#line 5738 "sql.c" +#line 5747 "sql.c" break; case 93: /* not_exists_opt ::= IF NOT EXISTS */ #line 215 "sql.y" { yymsp[-2].minor.yy733 = true; } -#line 5743 "sql.c" +#line 5752 "sql.c" break; case 95: /* exists_opt ::= IF EXISTS */ - case 366: /* or_replace_opt ::= OR REPLACE */ yytestcase(yyruleno==366); - case 392: /* ignore_opt ::= IGNORE UNTREATED */ yytestcase(yyruleno==392); + 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 5750 "sql.c" +#line 5759 "sql.c" break; case 97: /* db_options ::= */ #line 223 "sql.y" { yymsp[1].minor.yy896 = createDefaultDatabaseOptions(pCxt); } -#line 5755 "sql.c" +#line 5764 "sql.c" break; case 98: /* db_options ::= db_options BUFFER NK_INTEGER */ #line 224 "sql.y" { yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_BUFFER, &yymsp[0].minor.yy0); } -#line 5760 "sql.c" +#line 5769 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 99: /* db_options ::= db_options CACHEMODEL NK_STRING */ #line 225 "sql.y" { yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_CACHEMODEL, &yymsp[0].minor.yy0); } -#line 5766 "sql.c" +#line 5775 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 100: /* db_options ::= db_options CACHESIZE NK_INTEGER */ #line 226 "sql.y" { yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_CACHESIZE, &yymsp[0].minor.yy0); } -#line 5772 "sql.c" +#line 5781 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 101: /* db_options ::= db_options COMP NK_INTEGER */ #line 227 "sql.y" { yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_COMP, &yymsp[0].minor.yy0); } -#line 5778 "sql.c" +#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); #line 228 "sql.y" { yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_DAYS, &yymsp[0].minor.yy0); } -#line 5785 "sql.c" +#line 5794 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 104: /* db_options ::= db_options MAXROWS NK_INTEGER */ #line 230 "sql.y" { yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_MAXROWS, &yymsp[0].minor.yy0); } -#line 5791 "sql.c" +#line 5800 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 105: /* db_options ::= db_options MINROWS NK_INTEGER */ #line 231 "sql.y" { yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_MINROWS, &yymsp[0].minor.yy0); } -#line 5797 "sql.c" +#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); #line 232 "sql.y" { yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_KEEP, yymsp[0].minor.yy404); } -#line 5804 "sql.c" +#line 5813 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 108: /* db_options ::= db_options PAGES NK_INTEGER */ #line 234 "sql.y" { yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_PAGES, &yymsp[0].minor.yy0); } -#line 5810 "sql.c" +#line 5819 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 109: /* db_options ::= db_options PAGESIZE NK_INTEGER */ #line 235 "sql.y" { yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_PAGESIZE, &yymsp[0].minor.yy0); } -#line 5816 "sql.c" +#line 5825 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 110: /* db_options ::= db_options TSDB_PAGESIZE NK_INTEGER */ #line 236 "sql.y" { yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_TSDB_PAGESIZE, &yymsp[0].minor.yy0); } -#line 5822 "sql.c" +#line 5831 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 111: /* db_options ::= db_options PRECISION NK_STRING */ #line 237 "sql.y" { yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_PRECISION, &yymsp[0].minor.yy0); } -#line 5828 "sql.c" +#line 5837 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 112: /* db_options ::= db_options REPLICA NK_INTEGER */ #line 238 "sql.y" { yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_REPLICA, &yymsp[0].minor.yy0); } -#line 5834 "sql.c" +#line 5843 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 113: /* db_options ::= db_options VGROUPS NK_INTEGER */ #line 240 "sql.y" { yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_VGROUPS, &yymsp[0].minor.yy0); } -#line 5840 "sql.c" +#line 5849 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 114: /* db_options ::= db_options SINGLE_STABLE NK_INTEGER */ #line 241 "sql.y" { yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_SINGLE_STABLE, &yymsp[0].minor.yy0); } -#line 5846 "sql.c" +#line 5855 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 115: /* db_options ::= db_options RETENTIONS retention_list */ #line 242 "sql.y" { yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_RETENTIONS, yymsp[0].minor.yy404); } -#line 5852 "sql.c" +#line 5861 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 116: /* db_options ::= db_options SCHEMALESS NK_INTEGER */ #line 243 "sql.y" { yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_SCHEMALESS, &yymsp[0].minor.yy0); } -#line 5858 "sql.c" +#line 5867 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 117: /* db_options ::= db_options WAL_LEVEL NK_INTEGER */ #line 244 "sql.y" { yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_WAL, &yymsp[0].minor.yy0); } -#line 5864 "sql.c" +#line 5873 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 118: /* db_options ::= db_options WAL_FSYNC_PERIOD NK_INTEGER */ #line 245 "sql.y" { yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_FSYNC, &yymsp[0].minor.yy0); } -#line 5870 "sql.c" +#line 5879 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 119: /* db_options ::= db_options WAL_RETENTION_PERIOD NK_INTEGER */ #line 246 "sql.y" { yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_WAL_RETENTION_PERIOD, &yymsp[0].minor.yy0); } -#line 5876 "sql.c" +#line 5885 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 120: /* db_options ::= db_options WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ @@ -5883,13 +5892,13 @@ static YYACTIONTYPE yy_reduce( t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-3].minor.yy896, DB_OPTION_WAL_RETENTION_PERIOD, &t); } -#line 5886 "sql.c" +#line 5895 "sql.c" yymsp[-3].minor.yy896 = yylhsminor.yy896; break; case 121: /* db_options ::= db_options WAL_RETENTION_SIZE NK_INTEGER */ #line 252 "sql.y" { yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_WAL_RETENTION_SIZE, &yymsp[0].minor.yy0); } -#line 5892 "sql.c" +#line 5901 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 122: /* db_options ::= db_options WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ @@ -5899,112 +5908,112 @@ static YYACTIONTYPE yy_reduce( t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-3].minor.yy896, DB_OPTION_WAL_RETENTION_SIZE, &t); } -#line 5902 "sql.c" +#line 5911 "sql.c" yymsp[-3].minor.yy896 = yylhsminor.yy896; break; case 123: /* db_options ::= db_options WAL_ROLL_PERIOD NK_INTEGER */ #line 258 "sql.y" { yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_WAL_ROLL_PERIOD, &yymsp[0].minor.yy0); } -#line 5908 "sql.c" +#line 5917 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 124: /* db_options ::= db_options WAL_SEGMENT_SIZE NK_INTEGER */ #line 259 "sql.y" { yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_WAL_SEGMENT_SIZE, &yymsp[0].minor.yy0); } -#line 5914 "sql.c" +#line 5923 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 125: /* db_options ::= db_options STT_TRIGGER NK_INTEGER */ #line 260 "sql.y" { yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_STT_TRIGGER, &yymsp[0].minor.yy0); } -#line 5920 "sql.c" +#line 5929 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 126: /* db_options ::= db_options TABLE_PREFIX signed */ #line 261 "sql.y" { yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_TABLE_PREFIX, yymsp[0].minor.yy896); } -#line 5926 "sql.c" +#line 5935 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 127: /* db_options ::= db_options TABLE_SUFFIX signed */ #line 262 "sql.y" { yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_TABLE_SUFFIX, yymsp[0].minor.yy896); } -#line 5932 "sql.c" +#line 5941 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 128: /* db_options ::= db_options KEEP_TIME_OFFSET NK_INTEGER */ #line 263 "sql.y" { yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_KEEP_TIME_OFFSET, &yymsp[0].minor.yy0); } -#line 5938 "sql.c" +#line 5947 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 129: /* alter_db_options ::= alter_db_option */ #line 265 "sql.y" { yylhsminor.yy896 = createAlterDatabaseOptions(pCxt); yylhsminor.yy896 = setAlterDatabaseOption(pCxt, yylhsminor.yy896, &yymsp[0].minor.yy529); } -#line 5944 "sql.c" +#line 5953 "sql.c" yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 130: /* alter_db_options ::= alter_db_options alter_db_option */ #line 266 "sql.y" { yylhsminor.yy896 = setAlterDatabaseOption(pCxt, yymsp[-1].minor.yy896, &yymsp[0].minor.yy529); } -#line 5950 "sql.c" +#line 5959 "sql.c" yymsp[-1].minor.yy896 = yylhsminor.yy896; break; case 131: /* alter_db_option ::= BUFFER NK_INTEGER */ #line 270 "sql.y" { yymsp[-1].minor.yy529.type = DB_OPTION_BUFFER; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } -#line 5956 "sql.c" +#line 5965 "sql.c" break; case 132: /* alter_db_option ::= CACHEMODEL NK_STRING */ #line 271 "sql.y" { yymsp[-1].minor.yy529.type = DB_OPTION_CACHEMODEL; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } -#line 5961 "sql.c" +#line 5970 "sql.c" break; case 133: /* alter_db_option ::= CACHESIZE NK_INTEGER */ #line 272 "sql.y" { yymsp[-1].minor.yy529.type = DB_OPTION_CACHESIZE; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } -#line 5966 "sql.c" +#line 5975 "sql.c" break; case 134: /* alter_db_option ::= WAL_FSYNC_PERIOD NK_INTEGER */ #line 273 "sql.y" { yymsp[-1].minor.yy529.type = DB_OPTION_FSYNC; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } -#line 5971 "sql.c" +#line 5980 "sql.c" break; case 135: /* alter_db_option ::= KEEP integer_list */ case 136: /* alter_db_option ::= KEEP variable_list */ yytestcase(yyruleno==136); #line 274 "sql.y" { yymsp[-1].minor.yy529.type = DB_OPTION_KEEP; yymsp[-1].minor.yy529.pList = yymsp[0].minor.yy404; } -#line 5977 "sql.c" +#line 5986 "sql.c" break; case 137: /* alter_db_option ::= PAGES NK_INTEGER */ #line 276 "sql.y" { yymsp[-1].minor.yy529.type = DB_OPTION_PAGES; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } -#line 5982 "sql.c" +#line 5991 "sql.c" break; case 138: /* alter_db_option ::= REPLICA NK_INTEGER */ #line 277 "sql.y" { yymsp[-1].minor.yy529.type = DB_OPTION_REPLICA; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } -#line 5987 "sql.c" +#line 5996 "sql.c" break; case 139: /* alter_db_option ::= WAL_LEVEL NK_INTEGER */ #line 279 "sql.y" { yymsp[-1].minor.yy529.type = DB_OPTION_WAL; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } -#line 5992 "sql.c" +#line 6001 "sql.c" break; case 140: /* alter_db_option ::= STT_TRIGGER NK_INTEGER */ #line 280 "sql.y" { yymsp[-1].minor.yy529.type = DB_OPTION_STT_TRIGGER; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } -#line 5997 "sql.c" +#line 6006 "sql.c" break; case 141: /* alter_db_option ::= MINROWS NK_INTEGER */ #line 281 "sql.y" { yymsp[-1].minor.yy529.type = DB_OPTION_MINROWS; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } -#line 6002 "sql.c" +#line 6011 "sql.c" break; case 142: /* alter_db_option ::= WAL_RETENTION_PERIOD NK_INTEGER */ #line 282 "sql.y" { yymsp[-1].minor.yy529.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } -#line 6007 "sql.c" +#line 6016 "sql.c" break; case 143: /* alter_db_option ::= WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ #line 283 "sql.y" @@ -6013,12 +6022,12 @@ static YYACTIONTYPE yy_reduce( t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; yymsp[-2].minor.yy529.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-2].minor.yy529.val = t; } -#line 6016 "sql.c" +#line 6025 "sql.c" break; case 144: /* alter_db_option ::= WAL_RETENTION_SIZE NK_INTEGER */ #line 288 "sql.y" { yymsp[-1].minor.yy529.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } -#line 6021 "sql.c" +#line 6030 "sql.c" break; case 145: /* alter_db_option ::= WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ #line 289 "sql.y" @@ -6027,1850 +6036,1865 @@ static YYACTIONTYPE yy_reduce( t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; yymsp[-2].minor.yy529.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-2].minor.yy529.val = t; } -#line 6030 "sql.c" +#line 6039 "sql.c" break; case 146: /* alter_db_option ::= KEEP_TIME_OFFSET NK_INTEGER */ #line 294 "sql.y" { yymsp[-1].minor.yy529.type = DB_OPTION_KEEP_TIME_OFFSET; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } -#line 6035 "sql.c" +#line 6044 "sql.c" break; case 147: /* integer_list ::= NK_INTEGER */ #line 298 "sql.y" { yylhsminor.yy404 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } -#line 6040 "sql.c" +#line 6049 "sql.c" yymsp[0].minor.yy404 = yylhsminor.yy404; break; case 148: /* integer_list ::= integer_list NK_COMMA NK_INTEGER */ - case 405: /* dnode_list ::= dnode_list DNODE NK_INTEGER */ yytestcase(yyruleno==405); + 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 6047 "sql.c" +#line 6056 "sql.c" yymsp[-2].minor.yy404 = yylhsminor.yy404; break; case 149: /* variable_list ::= NK_VARIABLE */ #line 303 "sql.y" { yylhsminor.yy404 = createNodeList(pCxt, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } -#line 6053 "sql.c" +#line 6062 "sql.c" yymsp[0].minor.yy404 = yylhsminor.yy404; break; case 150: /* variable_list ::= variable_list NK_COMMA NK_VARIABLE */ #line 304 "sql.y" { yylhsminor.yy404 = addNodeToList(pCxt, yymsp[-2].minor.yy404, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } -#line 6059 "sql.c" +#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 237: /* rollup_func_list ::= rollup_func_name */ yytestcase(yyruleno==237); - case 242: /* col_name_list ::= col_name */ yytestcase(yyruleno==242); - case 310: /* tag_list_opt ::= tag_item */ yytestcase(yyruleno==310); - case 327: /* func_list ::= func */ yytestcase(yyruleno==327); - case 449: /* tags_literal_list ::= tags_literal */ yytestcase(yyruleno==449); - case 474: /* literal_list ::= signed_literal */ yytestcase(yyruleno==474); - case 547: /* other_para_list ::= star_func_para */ yytestcase(yyruleno==547); - case 553: /* when_then_list ::= when_then_expr */ yytestcase(yyruleno==553); - case 612: /* select_list ::= select_item */ yytestcase(yyruleno==612); - case 623: /* partition_list ::= partition_item */ yytestcase(yyruleno==623); - case 684: /* sort_specification_list ::= sort_specification */ yytestcase(yyruleno==684); + 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 6079 "sql.c" +#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 238: /* rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ yytestcase(yyruleno==238); - case 243: /* col_name_list ::= col_name_list NK_COMMA col_name */ yytestcase(yyruleno==243); - case 311: /* tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ yytestcase(yyruleno==311); - case 328: /* func_list ::= func_list NK_COMMA func */ yytestcase(yyruleno==328); - case 450: /* tags_literal_list ::= tags_literal_list NK_COMMA tags_literal */ yytestcase(yyruleno==450); - case 475: /* literal_list ::= literal_list NK_COMMA signed_literal */ yytestcase(yyruleno==475); - case 548: /* other_para_list ::= other_para_list NK_COMMA star_func_para */ yytestcase(yyruleno==548); - case 613: /* select_list ::= select_list NK_COMMA select_item */ yytestcase(yyruleno==613); - case 624: /* partition_list ::= partition_list NK_COMMA partition_item */ yytestcase(yyruleno==624); - case 685: /* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ yytestcase(yyruleno==685); + 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 6097 "sql.c" +#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); #line 311 "sql.y" { yylhsminor.yy896 = createNodeListNodeEx(pCxt, createDurationValueNode(pCxt, &yymsp[-2].minor.yy0), createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } -#line 6104 "sql.c" +#line 6113 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 155: /* speed_opt ::= */ - case 361: /* bufsize_opt ::= */ yytestcase(yyruleno==361); + case 364: /* bufsize_opt ::= */ yytestcase(yyruleno==364); #line 316 "sql.y" { yymsp[1].minor.yy396 = 0; } -#line 6111 "sql.c" +#line 6120 "sql.c" break; case 156: /* speed_opt ::= BWLIMIT NK_INTEGER */ - case 362: /* bufsize_opt ::= BUFSIZE NK_INTEGER */ yytestcase(yyruleno==362); + 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 6117 "sql.c" +#line 6126 "sql.c" break; case 158: /* start_opt ::= START WITH NK_INTEGER */ case 162: /* end_opt ::= END WITH NK_INTEGER */ yytestcase(yyruleno==162); #line 320 "sql.y" { yymsp[-2].minor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0); } -#line 6123 "sql.c" +#line 6132 "sql.c" break; case 159: /* start_opt ::= START WITH NK_STRING */ case 163: /* end_opt ::= END WITH NK_STRING */ yytestcase(yyruleno==163); #line 321 "sql.y" { yymsp[-2].minor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } -#line 6129 "sql.c" +#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); #line 322 "sql.y" { yymsp[-3].minor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } -#line 6135 "sql.c" +#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); #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 6141 "sql.c" +#line 6150 "sql.c" break; case 166: /* cmd ::= CREATE TABLE multi_create_clause */ #line 332 "sql.y" { pCxt->pRootNode = createCreateMultiTableStmt(pCxt, yymsp[0].minor.yy404); } -#line 6146 "sql.c" +#line 6155 "sql.c" break; case 168: /* cmd ::= DROP TABLE multi_drop_clause */ #line 335 "sql.y" { pCxt->pRootNode = createDropTableStmt(pCxt, yymsp[0].minor.yy404); } -#line 6151 "sql.c" +#line 6160 "sql.c" break; case 169: /* cmd ::= DROP STABLE exists_opt full_table_name */ #line 336 "sql.y" { pCxt->pRootNode = createDropSuperTableStmt(pCxt, yymsp[-1].minor.yy733, yymsp[0].minor.yy896); } -#line 6156 "sql.c" +#line 6165 "sql.c" break; case 170: /* cmd ::= ALTER TABLE alter_table_clause */ - case 407: /* cmd ::= query_or_subquery */ yytestcase(yyruleno==407); - case 408: /* cmd ::= insert_query */ yytestcase(yyruleno==408); + 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 6163 "sql.c" +#line 6172 "sql.c" break; case 171: /* cmd ::= ALTER STABLE alter_table_clause */ #line 339 "sql.y" { pCxt->pRootNode = setAlterSuperTableType(yymsp[0].minor.yy896); } -#line 6168 "sql.c" +#line 6177 "sql.c" break; case 172: /* alter_table_clause ::= full_table_name alter_table_options */ #line 341 "sql.y" { yylhsminor.yy896 = createAlterTableModifyOptions(pCxt, yymsp[-1].minor.yy896, yymsp[0].minor.yy896); } -#line 6173 "sql.c" +#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 */ #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 6179 "sql.c" +#line 6188 "sql.c" yymsp[-4].minor.yy896 = yylhsminor.yy896; break; case 174: /* alter_table_clause ::= full_table_name DROP COLUMN column_name */ #line 344 "sql.y" { yylhsminor.yy896 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy896, TSDB_ALTER_TABLE_DROP_COLUMN, &yymsp[0].minor.yy701); } -#line 6185 "sql.c" +#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 */ #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 6191 "sql.c" +#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 */ #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 6197 "sql.c" +#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 */ #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 6203 "sql.c" +#line 6212 "sql.c" yymsp[-4].minor.yy896 = yylhsminor.yy896; break; case 178: /* alter_table_clause ::= full_table_name DROP TAG column_name */ #line 351 "sql.y" { yylhsminor.yy896 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy896, TSDB_ALTER_TABLE_DROP_TAG, &yymsp[0].minor.yy701); } -#line 6209 "sql.c" +#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 */ #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 6215 "sql.c" +#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 */ #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 6221 "sql.c" +#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 */ #line 357 "sql.y" { yylhsminor.yy896 = createAlterTableSetTag(pCxt, yymsp[-5].minor.yy896, &yymsp[-2].minor.yy701, yymsp[0].minor.yy896); } -#line 6227 "sql.c" +#line 6236 "sql.c" yymsp[-5].minor.yy896 = yylhsminor.yy896; break; case 183: /* multi_create_clause ::= multi_create_clause create_subtable_clause */ - case 554: /* when_then_list ::= when_then_list when_then_expr */ yytestcase(yyruleno==554); + 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 6234 "sql.c" +#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 */ #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 6240 "sql.c" +#line 6249 "sql.c" yymsp[-9].minor.yy896 = yylhsminor.yy896; break; case 187: /* drop_table_clause ::= exists_opt full_table_name */ #line 373 "sql.y" { yylhsminor.yy896 = createDropTableClause(pCxt, yymsp[-1].minor.yy733, yymsp[0].minor.yy896); } -#line 6246 "sql.c" +#line 6255 "sql.c" yymsp[-1].minor.yy896 = yylhsminor.yy896; break; case 189: /* specific_cols_opt ::= NK_LP col_name_list NK_RP */ - case 376: /* col_list_opt ::= NK_LP col_name_list NK_RP */ yytestcase(yyruleno==376); + 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 6253 "sql.c" +#line 6262 "sql.c" break; case 190: /* full_table_name ::= table_name */ #line 380 "sql.y" { yylhsminor.yy896 = createRealTableNode(pCxt, NULL, &yymsp[0].minor.yy701, NULL); } -#line 6258 "sql.c" +#line 6267 "sql.c" yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 191: /* full_table_name ::= db_name NK_DOT table_name */ #line 381 "sql.y" { yylhsminor.yy896 = createRealTableNode(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy701, NULL); } -#line 6264 "sql.c" +#line 6273 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 194: /* column_def ::= column_name type_name */ #line 388 "sql.y" { yylhsminor.yy896 = createColumnDefNode(pCxt, &yymsp[-1].minor.yy701, yymsp[0].minor.yy504, NULL); } -#line 6270 "sql.c" +#line 6279 "sql.c" yymsp[-1].minor.yy896 = yylhsminor.yy896; break; case 195: /* type_name ::= BOOL */ #line 393 "sql.y" { yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_BOOL); } -#line 6276 "sql.c" +#line 6285 "sql.c" break; case 196: /* type_name ::= TINYINT */ #line 394 "sql.y" { yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_TINYINT); } -#line 6281 "sql.c" +#line 6290 "sql.c" break; case 197: /* type_name ::= SMALLINT */ #line 395 "sql.y" { yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_SMALLINT); } -#line 6286 "sql.c" +#line 6295 "sql.c" break; case 198: /* type_name ::= INT */ case 199: /* type_name ::= INTEGER */ yytestcase(yyruleno==199); #line 396 "sql.y" { yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_INT); } -#line 6292 "sql.c" +#line 6301 "sql.c" break; case 200: /* type_name ::= BIGINT */ #line 398 "sql.y" { yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_BIGINT); } -#line 6297 "sql.c" +#line 6306 "sql.c" break; case 201: /* type_name ::= FLOAT */ #line 399 "sql.y" { yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_FLOAT); } -#line 6302 "sql.c" +#line 6311 "sql.c" break; case 202: /* type_name ::= DOUBLE */ #line 400 "sql.y" { yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_DOUBLE); } -#line 6307 "sql.c" +#line 6316 "sql.c" break; case 203: /* type_name ::= BINARY NK_LP NK_INTEGER NK_RP */ #line 401 "sql.y" { yymsp[-3].minor.yy504 = createVarLenDataType(TSDB_DATA_TYPE_BINARY, &yymsp[-1].minor.yy0); } -#line 6312 "sql.c" +#line 6321 "sql.c" break; case 204: /* type_name ::= TIMESTAMP */ #line 402 "sql.y" { yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_TIMESTAMP); } -#line 6317 "sql.c" +#line 6326 "sql.c" break; case 205: /* type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */ #line 403 "sql.y" { yymsp[-3].minor.yy504 = createVarLenDataType(TSDB_DATA_TYPE_NCHAR, &yymsp[-1].minor.yy0); } -#line 6322 "sql.c" +#line 6331 "sql.c" break; case 206: /* type_name ::= TINYINT UNSIGNED */ #line 404 "sql.y" { yymsp[-1].minor.yy504 = createDataType(TSDB_DATA_TYPE_UTINYINT); } -#line 6327 "sql.c" +#line 6336 "sql.c" break; case 207: /* type_name ::= SMALLINT UNSIGNED */ #line 405 "sql.y" { yymsp[-1].minor.yy504 = createDataType(TSDB_DATA_TYPE_USMALLINT); } -#line 6332 "sql.c" +#line 6341 "sql.c" break; case 208: /* type_name ::= INT UNSIGNED */ #line 406 "sql.y" { yymsp[-1].minor.yy504 = createDataType(TSDB_DATA_TYPE_UINT); } -#line 6337 "sql.c" +#line 6346 "sql.c" break; case 209: /* type_name ::= BIGINT UNSIGNED */ #line 407 "sql.y" { yymsp[-1].minor.yy504 = createDataType(TSDB_DATA_TYPE_UBIGINT); } -#line 6342 "sql.c" +#line 6351 "sql.c" break; case 210: /* type_name ::= JSON */ #line 408 "sql.y" { yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_JSON); } -#line 6347 "sql.c" +#line 6356 "sql.c" break; case 211: /* type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */ #line 409 "sql.y" { yymsp[-3].minor.yy504 = createVarLenDataType(TSDB_DATA_TYPE_VARCHAR, &yymsp[-1].minor.yy0); } -#line 6352 "sql.c" +#line 6361 "sql.c" break; case 212: /* type_name ::= MEDIUMBLOB */ #line 410 "sql.y" { yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_MEDIUMBLOB); } -#line 6357 "sql.c" +#line 6366 "sql.c" break; case 213: /* type_name ::= BLOB */ #line 411 "sql.y" { yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_BLOB); } -#line 6362 "sql.c" +#line 6371 "sql.c" break; case 214: /* type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */ #line 412 "sql.y" { yymsp[-3].minor.yy504 = createVarLenDataType(TSDB_DATA_TYPE_VARBINARY, &yymsp[-1].minor.yy0); } -#line 6367 "sql.c" +#line 6376 "sql.c" break; case 215: /* type_name ::= GEOMETRY NK_LP NK_INTEGER NK_RP */ #line 413 "sql.y" { yymsp[-3].minor.yy504 = createVarLenDataType(TSDB_DATA_TYPE_GEOMETRY, &yymsp[-1].minor.yy0); } -#line 6372 "sql.c" +#line 6381 "sql.c" break; case 216: /* type_name ::= DECIMAL */ #line 414 "sql.y" { yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_DECIMAL); } -#line 6377 "sql.c" +#line 6386 "sql.c" break; case 217: /* type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */ #line 415 "sql.y" { yymsp[-3].minor.yy504 = createDataType(TSDB_DATA_TYPE_DECIMAL); } -#line 6382 "sql.c" +#line 6391 "sql.c" break; case 218: /* type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ #line 416 "sql.y" { yymsp[-5].minor.yy504 = createDataType(TSDB_DATA_TYPE_DECIMAL); } -#line 6387 "sql.c" +#line 6396 "sql.c" break; - case 219: /* type_name_binary ::= BINARY */ + case 219: /* type_name_default_len ::= BINARY */ #line 420 "sql.y" { yymsp[0].minor.yy504 = createVarLenDataType(TSDB_DATA_TYPE_BINARY, NULL); } -#line 6392 "sql.c" +#line 6401 "sql.c" break; - case 222: /* tags_def ::= TAGS NK_LP column_def_list NK_RP */ - case 379: /* tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ yytestcase(yyruleno==379); -#line 429 "sql.y" -{ yymsp[-3].minor.yy404 = yymsp[-1].minor.yy404; } -#line 6398 "sql.c" + 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 ::= */ -#line 431 "sql.y" -{ yymsp[1].minor.yy896 = createDefaultTableOptions(pCxt); } -#line 6403 "sql.c" + 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 COMMENT NK_STRING */ + 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: /* 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" -{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-2].minor.yy896, TABLE_OPTION_COMMENT, &yymsp[0].minor.yy0); } -#line 6408 "sql.c" - yymsp[-2].minor.yy896 = yylhsminor.yy896; +{ yymsp[-3].minor.yy404 = yymsp[-1].minor.yy404; } +#line 6422 "sql.c" break; - case 225: /* table_options ::= table_options MAX_DELAY duration_list */ -#line 433 "sql.y" -{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-2].minor.yy896, TABLE_OPTION_MAXDELAY, yymsp[0].minor.yy404); } -#line 6414 "sql.c" - yymsp[-2].minor.yy896 = yylhsminor.yy896; - break; - case 226: /* table_options ::= table_options WATERMARK duration_list */ + case 226: /* table_options ::= */ #line 434 "sql.y" -{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-2].minor.yy896, TABLE_OPTION_WATERMARK, yymsp[0].minor.yy404); } -#line 6420 "sql.c" - yymsp[-2].minor.yy896 = yylhsminor.yy896; +{ yymsp[1].minor.yy896 = createDefaultTableOptions(pCxt); } +#line 6427 "sql.c" break; - case 227: /* table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ + case 227: /* table_options ::= table_options COMMENT NK_STRING */ #line 435 "sql.y" -{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-4].minor.yy896, TABLE_OPTION_ROLLUP, yymsp[-1].minor.yy404); } -#line 6426 "sql.c" - yymsp[-4].minor.yy896 = yylhsminor.yy896; - break; - case 228: /* table_options ::= table_options TTL NK_INTEGER */ -#line 436 "sql.y" -{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-2].minor.yy896, TABLE_OPTION_TTL, &yymsp[0].minor.yy0); } +{ 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 229: /* table_options ::= table_options SMA NK_LP col_name_list NK_RP */ -#line 437 "sql.y" -{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-4].minor.yy896, TABLE_OPTION_SMA, yymsp[-1].minor.yy404); } + 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[-4].minor.yy896 = yylhsminor.yy896; + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 230: /* table_options ::= table_options DELETE_MARK duration_list */ -#line 438 "sql.y" -{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-2].minor.yy896, TABLE_OPTION_DELETE_MARK, yymsp[0].minor.yy404); } + 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 231: /* alter_table_options ::= alter_table_option */ -#line 440 "sql.y" -{ yylhsminor.yy896 = createAlterTableOptions(pCxt); yylhsminor.yy896 = setTableOption(pCxt, yylhsminor.yy896, yymsp[0].minor.yy529.type, &yymsp[0].minor.yy529.val); } + 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: /* 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: /* 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: /* 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: /* 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 232: /* alter_table_options ::= alter_table_options alter_table_option */ -#line 441 "sql.y" + 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 6456 "sql.c" +#line 6480 "sql.c" yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 233: /* alter_table_option ::= COMMENT NK_STRING */ -#line 445 "sql.y" + 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 6462 "sql.c" +#line 6486 "sql.c" break; - case 234: /* alter_table_option ::= TTL NK_INTEGER */ -#line 446 "sql.y" + 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 6467 "sql.c" +#line 6491 "sql.c" break; - case 235: /* duration_list ::= duration_literal */ - case 506: /* expression_list ::= expr_or_subquery */ yytestcase(yyruleno==506); -#line 450 "sql.y" + 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 6473 "sql.c" +#line 6497 "sql.c" yymsp[0].minor.yy404 = yylhsminor.yy404; break; - case 236: /* duration_list ::= duration_list NK_COMMA duration_literal */ - case 507: /* expression_list ::= expression_list NK_COMMA expr_or_subquery */ yytestcase(yyruleno==507); -#line 451 "sql.y" + 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 6480 "sql.c" +#line 6504 "sql.c" yymsp[-2].minor.yy404 = yylhsminor.yy404; break; - case 239: /* rollup_func_name ::= function_name */ -#line 458 "sql.y" + case 242: /* rollup_func_name ::= function_name */ +#line 461 "sql.y" { yylhsminor.yy896 = createFunctionNode(pCxt, &yymsp[0].minor.yy701, NULL); } -#line 6486 "sql.c" +#line 6510 "sql.c" yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 240: /* rollup_func_name ::= FIRST */ - case 241: /* rollup_func_name ::= LAST */ yytestcase(yyruleno==241); - case 313: /* tag_item ::= QTAGS */ yytestcase(yyruleno==313); -#line 459 "sql.y" + 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 6494 "sql.c" +#line 6518 "sql.c" yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 244: /* col_name ::= column_name */ - case 314: /* tag_item ::= column_name */ yytestcase(yyruleno==314); -#line 467 "sql.y" -{ yylhsminor.yy896 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy701); } -#line 6501 "sql.c" - yymsp[0].minor.yy896 = yylhsminor.yy896; - break; - case 245: /* cmd ::= SHOW DNODES */ + case 247: /* col_name ::= column_name */ + case 317: /* tag_item ::= column_name */ yytestcase(yyruleno==317); #line 470 "sql.y" -{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_DNODES_STMT); } -#line 6507 "sql.c" +{ yylhsminor.yy896 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy701); } +#line 6525 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 246: /* cmd ::= SHOW USERS */ -#line 471 "sql.y" -{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_USERS_STMT); } -#line 6512 "sql.c" - break; - case 247: /* cmd ::= SHOW USER PRIVILEGES */ -#line 472 "sql.y" -{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_USER_PRIVILEGES_STMT); } -#line 6517 "sql.c" - break; - case 248: /* cmd ::= SHOW db_kind_opt DATABASES */ + case 248: /* cmd ::= SHOW DNODES */ #line 473 "sql.y" +{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_DNODES_STMT); } +#line 6531 "sql.c" + break; + case 249: /* cmd ::= SHOW USERS */ +#line 474 "sql.y" +{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_USERS_STMT); } +#line 6536 "sql.c" + break; + 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 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.yy705); } -#line 6525 "sql.c" +#line 6549 "sql.c" break; - case 249: /* cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ -#line 477 "sql.y" + 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.yy989, yymsp[0].minor.yy896, OP_TYPE_LIKE); } -#line 6532 "sql.c" +#line 6556 "sql.c" break; - case 250: /* cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ -#line 480 "sql.y" + 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 6537 "sql.c" +#line 6561 "sql.c" break; - case 251: /* cmd ::= SHOW db_name_cond_opt VGROUPS */ -#line 481 "sql.y" -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VGROUPS_STMT, yymsp[-1].minor.yy896, NULL, OP_TYPE_LIKE); } -#line 6542 "sql.c" - break; - case 252: /* cmd ::= SHOW MNODES */ -#line 482 "sql.y" -{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_MNODES_STMT); } -#line 6547 "sql.c" - break; - case 253: /* cmd ::= SHOW QNODES */ + case 254: /* cmd ::= SHOW db_name_cond_opt VGROUPS */ #line 484 "sql.y" -{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_QNODES_STMT); } -#line 6552 "sql.c" +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VGROUPS_STMT, yymsp[-1].minor.yy896, NULL, OP_TYPE_LIKE); } +#line 6566 "sql.c" break; - case 254: /* cmd ::= SHOW ARBGROUPS */ + case 255: /* cmd ::= SHOW MNODES */ #line 485 "sql.y" -{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_ARBGROUPS_STMT); } -#line 6557 "sql.c" +{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_MNODES_STMT); } +#line 6571 "sql.c" break; - case 255: /* cmd ::= SHOW FUNCTIONS */ -#line 486 "sql.y" -{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_FUNCTIONS_STMT); } -#line 6562 "sql.c" - break; - case 256: /* cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ + case 256: /* cmd ::= SHOW QNODES */ #line 487 "sql.y" -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, yymsp[0].minor.yy896, yymsp[-1].minor.yy896, OP_TYPE_EQUAL); } -#line 6567 "sql.c" +{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_QNODES_STMT); } +#line 6576 "sql.c" break; - case 257: /* cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ + case 257: /* cmd ::= SHOW ARBGROUPS */ #line 488 "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 6572 "sql.c" +{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_ARBGROUPS_STMT); } +#line 6581 "sql.c" break; - case 258: /* cmd ::= SHOW STREAMS */ + case 258: /* cmd ::= SHOW FUNCTIONS */ #line 489 "sql.y" -{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_STREAMS_STMT); } -#line 6577 "sql.c" +{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_FUNCTIONS_STMT); } +#line 6586 "sql.c" break; - case 259: /* cmd ::= SHOW ACCOUNTS */ + case 259: /* cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ #line 490 "sql.y" -{ pCxt->errCode = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_EXPRIE_STATEMENT); } -#line 6582 "sql.c" +{ 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 260: /* cmd ::= SHOW APPS */ + case 260: /* cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ #line 491 "sql.y" -{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_APPS_STMT); } -#line 6587 "sql.c" +{ 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 261: /* cmd ::= SHOW CONNECTIONS */ + case 261: /* cmd ::= SHOW STREAMS */ #line 492 "sql.y" -{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CONNECTIONS_STMT); } -#line 6592 "sql.c" +{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_STREAMS_STMT); } +#line 6601 "sql.c" break; - case 262: /* cmd ::= SHOW LICENCES */ - case 263: /* cmd ::= SHOW GRANTS */ yytestcase(yyruleno==263); + case 262: /* cmd ::= SHOW ACCOUNTS */ #line 493 "sql.y" -{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_LICENCES_STMT); } -#line 6598 "sql.c" +{ pCxt->errCode = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_EXPRIE_STATEMENT); } +#line 6606 "sql.c" break; - case 264: /* cmd ::= SHOW GRANTS FULL */ + case 263: /* cmd ::= SHOW APPS */ +#line 494 "sql.y" +{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_APPS_STMT); } +#line 6611 "sql.c" + break; + case 264: /* cmd ::= SHOW CONNECTIONS */ #line 495 "sql.y" -{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_GRANTS_FULL_STMT); } -#line 6603 "sql.c" +{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CONNECTIONS_STMT); } +#line 6616 "sql.c" break; - case 265: /* cmd ::= SHOW GRANTS LOGS */ + case 265: /* cmd ::= SHOW LICENCES */ + case 266: /* cmd ::= SHOW GRANTS */ yytestcase(yyruleno==266); #line 496 "sql.y" -{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_GRANTS_LOGS_STMT); } -#line 6608 "sql.c" +{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_LICENCES_STMT); } +#line 6622 "sql.c" break; - case 266: /* cmd ::= SHOW CLUSTER MACHINES */ -#line 497 "sql.y" -{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CLUSTER_MACHINES_STMT); } -#line 6613 "sql.c" - break; - case 267: /* cmd ::= SHOW CREATE DATABASE db_name */ + case 267: /* cmd ::= SHOW GRANTS FULL */ #line 498 "sql.y" -{ pCxt->pRootNode = createShowCreateDatabaseStmt(pCxt, &yymsp[0].minor.yy701); } -#line 6618 "sql.c" +{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_GRANTS_FULL_STMT); } +#line 6627 "sql.c" break; - case 268: /* cmd ::= SHOW CREATE TABLE full_table_name */ + case 268: /* cmd ::= SHOW GRANTS LOGS */ #line 499 "sql.y" -{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_TABLE_STMT, yymsp[0].minor.yy896); } -#line 6623 "sql.c" +{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_GRANTS_LOGS_STMT); } +#line 6632 "sql.c" break; - case 269: /* cmd ::= SHOW CREATE STABLE full_table_name */ + case 269: /* cmd ::= SHOW CLUSTER MACHINES */ #line 500 "sql.y" -{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_STABLE_STMT, yymsp[0].minor.yy896); } -#line 6628 "sql.c" +{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CLUSTER_MACHINES_STMT); } +#line 6637 "sql.c" break; - case 270: /* cmd ::= SHOW QUERIES */ + case 270: /* cmd ::= SHOW CREATE DATABASE db_name */ #line 501 "sql.y" -{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_QUERIES_STMT); } -#line 6633 "sql.c" +{ pCxt->pRootNode = createShowCreateDatabaseStmt(pCxt, &yymsp[0].minor.yy701); } +#line 6642 "sql.c" break; - case 271: /* cmd ::= SHOW SCORES */ + case 271: /* cmd ::= SHOW CREATE TABLE full_table_name */ #line 502 "sql.y" -{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_SCORES_STMT); } -#line 6638 "sql.c" +{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_TABLE_STMT, yymsp[0].minor.yy896); } +#line 6647 "sql.c" break; - case 272: /* cmd ::= SHOW TOPICS */ + case 272: /* cmd ::= SHOW CREATE STABLE full_table_name */ #line 503 "sql.y" -{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_TOPICS_STMT); } -#line 6643 "sql.c" +{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_STABLE_STMT, yymsp[0].minor.yy896); } +#line 6652 "sql.c" break; - case 273: /* cmd ::= SHOW VARIABLES */ - case 274: /* cmd ::= SHOW CLUSTER VARIABLES */ yytestcase(yyruleno==274); + case 273: /* cmd ::= SHOW QUERIES */ #line 504 "sql.y" -{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_VARIABLES_STMT); } -#line 6649 "sql.c" +{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_QUERIES_STMT); } +#line 6657 "sql.c" break; - case 275: /* cmd ::= SHOW LOCAL VARIABLES */ + case 274: /* cmd ::= SHOW SCORES */ +#line 505 "sql.y" +{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_SCORES_STMT); } +#line 6662 "sql.c" + break; + case 275: /* cmd ::= SHOW TOPICS */ #line 506 "sql.y" -{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_LOCAL_VARIABLES_STMT); } -#line 6654 "sql.c" +{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_TOPICS_STMT); } +#line 6667 "sql.c" break; - case 276: /* cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ + case 276: /* cmd ::= SHOW VARIABLES */ + case 277: /* cmd ::= SHOW CLUSTER VARIABLES */ yytestcase(yyruleno==277); #line 507 "sql.y" -{ pCxt->pRootNode = createShowDnodeVariablesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[-2].minor.yy0), yymsp[0].minor.yy896); } -#line 6659 "sql.c" +{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_VARIABLES_STMT); } +#line 6673 "sql.c" break; - case 277: /* cmd ::= SHOW BNODES */ -#line 508 "sql.y" -{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_BNODES_STMT); } -#line 6664 "sql.c" - break; - case 278: /* cmd ::= SHOW SNODES */ + case 278: /* cmd ::= SHOW LOCAL VARIABLES */ #line 509 "sql.y" -{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_SNODES_STMT); } -#line 6669 "sql.c" +{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_LOCAL_VARIABLES_STMT); } +#line 6678 "sql.c" break; - case 279: /* cmd ::= SHOW CLUSTER */ + case 279: /* cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ #line 510 "sql.y" -{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CLUSTER_STMT); } -#line 6674 "sql.c" +{ pCxt->pRootNode = createShowDnodeVariablesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[-2].minor.yy0), yymsp[0].minor.yy896); } +#line 6683 "sql.c" break; - case 280: /* cmd ::= SHOW TRANSACTIONS */ + case 280: /* cmd ::= SHOW BNODES */ #line 511 "sql.y" -{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_TRANSACTIONS_STMT); } -#line 6679 "sql.c" +{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_BNODES_STMT); } +#line 6688 "sql.c" break; - case 281: /* cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ + case 281: /* cmd ::= SHOW SNODES */ #line 512 "sql.y" -{ pCxt->pRootNode = createShowTableDistributedStmt(pCxt, yymsp[0].minor.yy896); } -#line 6684 "sql.c" +{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_SNODES_STMT); } +#line 6693 "sql.c" break; - case 282: /* cmd ::= SHOW CONSUMERS */ + case 282: /* cmd ::= SHOW CLUSTER */ #line 513 "sql.y" -{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CONSUMERS_STMT); } -#line 6689 "sql.c" +{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CLUSTER_STMT); } +#line 6698 "sql.c" break; - case 283: /* cmd ::= SHOW SUBSCRIPTIONS */ + case 283: /* cmd ::= SHOW TRANSACTIONS */ #line 514 "sql.y" -{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_SUBSCRIPTIONS_STMT); } -#line 6694 "sql.c" +{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_TRANSACTIONS_STMT); } +#line 6703 "sql.c" break; - case 284: /* cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ + case 284: /* cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ #line 515 "sql.y" -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, yymsp[0].minor.yy896, yymsp[-1].minor.yy896, OP_TYPE_EQUAL); } -#line 6699 "sql.c" +{ pCxt->pRootNode = createShowTableDistributedStmt(pCxt, yymsp[0].minor.yy896); } +#line 6708 "sql.c" break; - case 285: /* cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ + case 285: /* cmd ::= SHOW CONSUMERS */ #line 516 "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 6704 "sql.c" +{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CONSUMERS_STMT); } +#line 6713 "sql.c" break; - case 286: /* cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ + case 286: /* cmd ::= SHOW SUBSCRIPTIONS */ #line 517 "sql.y" -{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, yymsp[-1].minor.yy896, yymsp[0].minor.yy896, yymsp[-3].minor.yy404); } -#line 6709 "sql.c" +{ pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_SUBSCRIPTIONS_STMT); } +#line 6718 "sql.c" break; - case 287: /* cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name */ + case 287: /* cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ #line 518 "sql.y" -{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, createIdentifierValueNode(pCxt, &yymsp[0].minor.yy701), createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy701), yymsp[-4].minor.yy404); } -#line 6714 "sql.c" +{ 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 288: /* cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ + case 288: /* cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ #line 519 "sql.y" -{ pCxt->pRootNode = createShowVnodesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0), NULL); } -#line 6719 "sql.c" +{ 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 289: /* cmd ::= SHOW VNODES */ + case 289: /* cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ #line 520 "sql.y" -{ pCxt->pRootNode = createShowVnodesStmt(pCxt, NULL, NULL); } -#line 6724 "sql.c" +{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, yymsp[-1].minor.yy896, yymsp[0].minor.yy896, yymsp[-3].minor.yy404); } +#line 6733 "sql.c" break; - case 290: /* cmd ::= SHOW db_name_cond_opt ALIVE */ + 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 291: /* cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ #line 522 "sql.y" -{ pCxt->pRootNode = createShowAliveStmt(pCxt, yymsp[-1].minor.yy896, QUERY_NODE_SHOW_DB_ALIVE_STMT); } -#line 6729 "sql.c" +{ pCxt->pRootNode = createShowVnodesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0), NULL); } +#line 6743 "sql.c" break; - case 291: /* cmd ::= SHOW CLUSTER ALIVE */ + case 292: /* cmd ::= SHOW VNODES */ #line 523 "sql.y" -{ pCxt->pRootNode = createShowAliveStmt(pCxt, NULL, QUERY_NODE_SHOW_CLUSTER_ALIVE_STMT); } -#line 6734 "sql.c" +{ pCxt->pRootNode = createShowVnodesStmt(pCxt, NULL, NULL); } +#line 6748 "sql.c" break; - case 292: /* cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt */ -#line 524 "sql.y" -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VIEWS_STMT, yymsp[-2].minor.yy896, yymsp[0].minor.yy896, OP_TYPE_LIKE); } -#line 6739 "sql.c" - break; - case 293: /* cmd ::= SHOW CREATE VIEW full_table_name */ + case 293: /* cmd ::= SHOW db_name_cond_opt ALIVE */ #line 525 "sql.y" -{ pCxt->pRootNode = createShowCreateViewStmt(pCxt, QUERY_NODE_SHOW_CREATE_VIEW_STMT, yymsp[0].minor.yy896); } -#line 6744 "sql.c" +{ pCxt->pRootNode = createShowAliveStmt(pCxt, yymsp[-1].minor.yy896, QUERY_NODE_SHOW_DB_ALIVE_STMT); } +#line 6753 "sql.c" break; - case 294: /* cmd ::= SHOW COMPACTS */ + case 294: /* cmd ::= SHOW CLUSTER ALIVE */ #line 526 "sql.y" -{ pCxt->pRootNode = createShowCompactsStmt(pCxt, QUERY_NODE_SHOW_COMPACTS_STMT); } -#line 6749 "sql.c" +{ pCxt->pRootNode = createShowAliveStmt(pCxt, NULL, QUERY_NODE_SHOW_CLUSTER_ALIVE_STMT); } +#line 6758 "sql.c" break; - case 295: /* cmd ::= SHOW COMPACT NK_INTEGER */ + 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 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 297: /* cmd ::= SHOW COMPACTS */ +#line 529 "sql.y" +{ pCxt->pRootNode = createShowCompactsStmt(pCxt, QUERY_NODE_SHOW_COMPACTS_STMT); } +#line 6773 "sql.c" + break; + 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 6754 "sql.c" +#line 6778 "sql.c" break; - case 296: /* table_kind_db_name_cond_opt ::= */ -#line 531 "sql.y" + 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 6759 "sql.c" +#line 6783 "sql.c" break; - case 297: /* table_kind_db_name_cond_opt ::= table_kind */ -#line 532 "sql.y" + 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 6764 "sql.c" +#line 6788 "sql.c" yymsp[0].minor.yy989 = yylhsminor.yy989; break; - case 298: /* table_kind_db_name_cond_opt ::= db_name NK_DOT */ -#line 533 "sql.y" + 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 6770 "sql.c" +#line 6794 "sql.c" yymsp[-1].minor.yy989 = yylhsminor.yy989; break; - case 299: /* table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ -#line 534 "sql.y" + 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 6776 "sql.c" +#line 6800 "sql.c" yymsp[-2].minor.yy989 = yylhsminor.yy989; break; - case 300: /* table_kind ::= NORMAL */ -#line 538 "sql.y" -{ yymsp[0].minor.yy705 = SHOW_KIND_TABLES_NORMAL; } -#line 6782 "sql.c" - break; - case 301: /* table_kind ::= CHILD */ -#line 539 "sql.y" -{ yymsp[0].minor.yy705 = SHOW_KIND_TABLES_CHILD; } -#line 6787 "sql.c" - break; - case 302: /* db_name_cond_opt ::= */ - case 307: /* from_db_opt ::= */ yytestcase(yyruleno==307); + case 303: /* table_kind ::= NORMAL */ #line 541 "sql.y" -{ yymsp[1].minor.yy896 = createDefaultDatabaseCondValue(pCxt); } -#line 6793 "sql.c" +{ yymsp[0].minor.yy705 = SHOW_KIND_TABLES_NORMAL; } +#line 6806 "sql.c" break; - case 303: /* db_name_cond_opt ::= db_name NK_DOT */ + case 304: /* table_kind ::= CHILD */ #line 542 "sql.y" -{ yylhsminor.yy896 = createIdentifierValueNode(pCxt, &yymsp[-1].minor.yy701); } -#line 6798 "sql.c" - yymsp[-1].minor.yy896 = yylhsminor.yy896; +{ yymsp[0].minor.yy705 = SHOW_KIND_TABLES_CHILD; } +#line 6811 "sql.c" break; - case 305: /* like_pattern_opt ::= LIKE NK_STRING */ + 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 306: /* db_name_cond_opt ::= db_name NK_DOT */ #line 545 "sql.y" -{ yymsp[-1].minor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } -#line 6804 "sql.c" - break; - case 306: /* table_name_cond ::= table_name */ -#line 547 "sql.y" -{ yylhsminor.yy896 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy701); } -#line 6809 "sql.c" - yymsp[0].minor.yy896 = yylhsminor.yy896; - break; - case 308: /* from_db_opt ::= FROM db_name */ -#line 550 "sql.y" -{ yymsp[-1].minor.yy896 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy701); } -#line 6815 "sql.c" - break; - case 312: /* tag_item ::= TBNAME */ -#line 558 "sql.y" -{ yylhsminor.yy896 = setProjectionAlias(pCxt, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL), &yymsp[0].minor.yy0); } -#line 6820 "sql.c" - yymsp[0].minor.yy896 = yylhsminor.yy896; - break; - case 315: /* tag_item ::= column_name column_alias */ -#line 561 "sql.y" -{ yylhsminor.yy896 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-1].minor.yy701), &yymsp[0].minor.yy701); } -#line 6826 "sql.c" +{ yylhsminor.yy896 = createIdentifierValueNode(pCxt, &yymsp[-1].minor.yy701); } +#line 6822 "sql.c" yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 316: /* tag_item ::= column_name AS column_alias */ -#line 562 "sql.y" -{ yylhsminor.yy896 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-2].minor.yy701), &yymsp[0].minor.yy701); } -#line 6832 "sql.c" - yymsp[-2].minor.yy896 = yylhsminor.yy896; + 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 317: /* db_kind_opt ::= */ -#line 566 "sql.y" -{ yymsp[1].minor.yy705 = SHOW_KIND_ALL; } -#line 6838 "sql.c" - break; - case 318: /* db_kind_opt ::= USER */ -#line 567 "sql.y" -{ yymsp[0].minor.yy705 = SHOW_KIND_DATABASES_USER; } -#line 6843 "sql.c" - break; - case 319: /* db_kind_opt ::= SYSTEM */ -#line 568 "sql.y" -{ yymsp[0].minor.yy705 = SHOW_KIND_DATABASES_SYSTEM; } -#line 6848 "sql.c" - break; - case 320: /* cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options */ -#line 572 "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 6853 "sql.c" - break; - case 321: /* cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP */ -#line 574 "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 6858 "sql.c" - break; - case 322: /* cmd ::= DROP INDEX exists_opt full_index_name */ -#line 575 "sql.y" -{ pCxt->pRootNode = createDropIndexStmt(pCxt, yymsp[-1].minor.yy733, yymsp[0].minor.yy896); } -#line 6863 "sql.c" - break; - case 323: /* full_index_name ::= index_name */ -#line 577 "sql.y" -{ yylhsminor.yy896 = createRealTableNodeForIndexName(pCxt, NULL, &yymsp[0].minor.yy701); } -#line 6868 "sql.c" + 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 324: /* full_index_name ::= db_name NK_DOT index_name */ -#line 578 "sql.y" -{ yylhsminor.yy896 = createRealTableNodeForIndexName(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy701); } -#line 6874 "sql.c" + 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 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 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 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 325: /* index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ + case 320: /* db_kind_opt ::= */ +#line 569 "sql.y" +{ yymsp[1].minor.yy705 = SHOW_KIND_ALL; } +#line 6862 "sql.c" + break; + case 321: /* db_kind_opt ::= USER */ +#line 570 "sql.y" +{ yymsp[0].minor.yy705 = SHOW_KIND_DATABASES_USER; } +#line 6867 "sql.c" + break; + case 322: /* db_kind_opt ::= SYSTEM */ +#line 571 "sql.y" +{ yymsp[0].minor.yy705 = SHOW_KIND_DATABASES_SYSTEM; } +#line 6872 "sql.c" + break; + 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 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 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 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 327: /* full_index_name ::= db_name NK_DOT index_name */ #line 581 "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 6880 "sql.c" +{ yylhsminor.yy896 = createRealTableNodeForIndexName(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy701); } +#line 6898 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 326: /* 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 */ + 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[-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 6885 "sql.c" - break; - case 329: /* func ::= sma_func_name NK_LP expression_list NK_RP */ -#line 591 "sql.y" -{ yylhsminor.yy896 = createFunctionNode(pCxt, &yymsp[-3].minor.yy701, yymsp[-1].minor.yy404); } -#line 6890 "sql.c" - yymsp[-3].minor.yy896 = yylhsminor.yy896; - break; - case 330: /* sma_func_name ::= function_name */ - case 597: /* alias_opt ::= table_alias */ yytestcase(yyruleno==597); -#line 595 "sql.y" -{ yylhsminor.yy701 = yymsp[0].minor.yy701; } -#line 6897 "sql.c" - yymsp[0].minor.yy701 = yylhsminor.yy701; - break; - case 335: /* sma_stream_opt ::= */ - case 380: /* stream_options ::= */ yytestcase(yyruleno==380); -#line 601 "sql.y" -{ yymsp[1].minor.yy896 = createStreamOptions(pCxt); } +{ 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 336: /* sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ -#line 602 "sql.y" -{ ((SStreamOptions*)yymsp[-2].minor.yy896)->pWatermark = releaseRawExprNode(pCxt, yymsp[0].minor.yy896); yylhsminor.yy896 = yymsp[-2].minor.yy896; } + 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" - yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 337: /* sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ -#line 603 "sql.y" -{ ((SStreamOptions*)yymsp[-2].minor.yy896)->pDelay = releaseRawExprNode(pCxt, yymsp[0].minor.yy896); yylhsminor.yy896 = yymsp[-2].minor.yy896; } -#line 6915 "sql.c" - yymsp[-2].minor.yy896 = yylhsminor.yy896; + 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 338: /* sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ -#line 604 "sql.y" -{ ((SStreamOptions*)yymsp[-2].minor.yy896)->pDeleteMark = releaseRawExprNode(pCxt, yymsp[0].minor.yy896); yylhsminor.yy896 = yymsp[-2].minor.yy896; } + 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 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 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 339: /* with_meta ::= AS */ -#line 609 "sql.y" + 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 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 342: /* with_meta ::= AS */ +#line 612 "sql.y" { yymsp[0].minor.yy396 = 0; } -#line 6927 "sql.c" +#line 6951 "sql.c" break; - case 340: /* with_meta ::= WITH META AS */ -#line 610 "sql.y" -{ yymsp[-2].minor.yy396 = 1; } -#line 6932 "sql.c" - break; - case 341: /* with_meta ::= ONLY META AS */ -#line 611 "sql.y" -{ yymsp[-2].minor.yy396 = 2; } -#line 6937 "sql.c" - break; - case 342: /* cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ + case 343: /* with_meta ::= WITH META AS */ #line 613 "sql.y" +{ yymsp[-2].minor.yy396 = 1; } +#line 6956 "sql.c" + break; + case 344: /* with_meta ::= ONLY META AS */ +#line 614 "sql.y" +{ yymsp[-2].minor.yy396 = 2; } +#line 6961 "sql.c" + break; + 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 6942 "sql.c" +#line 6966 "sql.c" break; - case 343: /* cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ -#line 615 "sql.y" + 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 6947 "sql.c" +#line 6971 "sql.c" break; - case 344: /* cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ -#line 617 "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 6952 "sql.c" - break; - case 345: /* cmd ::= DROP TOPIC exists_opt topic_name */ -#line 619 "sql.y" -{ pCxt->pRootNode = createDropTopicStmt(pCxt, yymsp[-1].minor.yy733, &yymsp[0].minor.yy701); } -#line 6957 "sql.c" - break; - case 346: /* cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ + 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 = createDropCGroupStmt(pCxt, yymsp[-3].minor.yy733, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy701); } -#line 6962 "sql.c" +{ 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 347: /* cmd ::= DESC full_table_name */ - case 348: /* cmd ::= DESCRIBE full_table_name */ yytestcase(yyruleno==348); + 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 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 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 6968 "sql.c" +#line 6992 "sql.c" break; - case 349: /* cmd ::= RESET QUERY CACHE */ -#line 627 "sql.y" -{ pCxt->pRootNode = createResetQueryCacheStmt(pCxt); } -#line 6973 "sql.c" - break; - case 350: /* cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ - case 351: /* cmd ::= EXPLAIN analyze_opt explain_options insert_query */ yytestcase(yyruleno==351); + case 352: /* cmd ::= RESET QUERY CACHE */ #line 630 "sql.y" +{ pCxt->pRootNode = createResetQueryCacheStmt(pCxt); } +#line 6997 "sql.c" + break; + 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 6979 "sql.c" +#line 7003 "sql.c" break; - case 354: /* explain_options ::= */ -#line 638 "sql.y" + case 357: /* explain_options ::= */ +#line 641 "sql.y" { yymsp[1].minor.yy896 = createDefaultExplainOptions(pCxt); } -#line 6984 "sql.c" +#line 7008 "sql.c" break; - case 355: /* explain_options ::= explain_options VERBOSE NK_BOOL */ -#line 639 "sql.y" + 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 6989 "sql.c" +#line 7013 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 356: /* explain_options ::= explain_options RATIO NK_FLOAT */ -#line 640 "sql.y" + 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 6995 "sql.c" +#line 7019 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 357: /* 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 645 "sql.y" + 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 7001 "sql.c" +#line 7025 "sql.c" break; - case 358: /* cmd ::= DROP FUNCTION exists_opt function_name */ -#line 646 "sql.y" + 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 7006 "sql.c" +#line 7030 "sql.c" break; - case 363: /* language_opt ::= */ - case 402: /* on_vgroup_id ::= */ yytestcase(yyruleno==402); -#line 660 "sql.y" + case 366: /* language_opt ::= */ + case 405: /* on_vgroup_id ::= */ yytestcase(yyruleno==405); +#line 663 "sql.y" { yymsp[1].minor.yy701 = nil_token; } -#line 7012 "sql.c" +#line 7036 "sql.c" break; - case 364: /* language_opt ::= LANGUAGE NK_STRING */ - case 403: /* on_vgroup_id ::= ON NK_INTEGER */ yytestcase(yyruleno==403); -#line 661 "sql.y" + 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 7018 "sql.c" +#line 7042 "sql.c" break; - case 367: /* cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ -#line 670 "sql.y" -{ pCxt->pRootNode = createCreateViewStmt(pCxt, yymsp[-4].minor.yy733, yymsp[-2].minor.yy896, &yymsp[-1].minor.yy0, yymsp[0].minor.yy896); } -#line 7023 "sql.c" - break; - case 368: /* cmd ::= DROP VIEW exists_opt full_view_name */ -#line 671 "sql.y" -{ pCxt->pRootNode = createDropViewStmt(pCxt, yymsp[-1].minor.yy733, yymsp[0].minor.yy896); } -#line 7028 "sql.c" - break; - case 369: /* full_view_name ::= view_name */ + 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 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 372: /* full_view_name ::= view_name */ +#line 676 "sql.y" { yylhsminor.yy896 = createViewNode(pCxt, NULL, &yymsp[0].minor.yy701); } -#line 7033 "sql.c" +#line 7057 "sql.c" yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 370: /* full_view_name ::= db_name NK_DOT view_name */ -#line 674 "sql.y" + 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 7039 "sql.c" +#line 7063 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 371: /* 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 679 "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 7045 "sql.c" - break; - case 372: /* cmd ::= DROP STREAM exists_opt stream_name */ -#line 680 "sql.y" -{ pCxt->pRootNode = createDropStreamStmt(pCxt, yymsp[-1].minor.yy733, &yymsp[0].minor.yy701); } -#line 7050 "sql.c" - break; - case 373: /* cmd ::= PAUSE STREAM exists_opt stream_name */ -#line 681 "sql.y" -{ pCxt->pRootNode = createPauseStreamStmt(pCxt, yymsp[-1].minor.yy733, &yymsp[0].minor.yy701); } -#line 7055 "sql.c" - break; - case 374: /* cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ + 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 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 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 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 7060 "sql.c" - break; - case 381: /* stream_options ::= stream_options TRIGGER AT_ONCE */ - case 382: /* stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ yytestcase(yyruleno==382); -#line 696 "sql.y" -{ yylhsminor.yy896 = setStreamOptions(pCxt, yymsp[-2].minor.yy896, SOPT_TRIGGER_TYPE_SET, &yymsp[0].minor.yy0, NULL); } -#line 7066 "sql.c" - yymsp[-2].minor.yy896 = yylhsminor.yy896; - break; - case 383: /* stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ -#line 698 "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 7072 "sql.c" - yymsp[-3].minor.yy896 = yylhsminor.yy896; - break; - case 384: /* stream_options ::= stream_options WATERMARK duration_literal */ -#line 699 "sql.y" -{ yylhsminor.yy896 = setStreamOptions(pCxt, yymsp[-2].minor.yy896, SOPT_WATERMARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy896)); } -#line 7078 "sql.c" - yymsp[-2].minor.yy896 = yylhsminor.yy896; - break; - case 385: /* stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ -#line 700 "sql.y" -{ yylhsminor.yy896 = setStreamOptions(pCxt, yymsp[-3].minor.yy896, SOPT_IGNORE_EXPIRED_SET, &yymsp[0].minor.yy0, NULL); } #line 7084 "sql.c" - yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 386: /* stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ -#line 701 "sql.y" -{ yylhsminor.yy896 = setStreamOptions(pCxt, yymsp[-2].minor.yy896, SOPT_FILL_HISTORY_SET, &yymsp[0].minor.yy0, NULL); } + 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 387: /* stream_options ::= stream_options DELETE_MARK duration_literal */ -#line 702 "sql.y" -{ yylhsminor.yy896 = setStreamOptions(pCxt, yymsp[-2].minor.yy896, SOPT_DELETE_MARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy896)); } + 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[-2].minor.yy896 = yylhsminor.yy896; - break; - case 388: /* stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ -#line 703 "sql.y" -{ yylhsminor.yy896 = setStreamOptions(pCxt, yymsp[-3].minor.yy896, SOPT_IGNORE_UPDATE_SET, &yymsp[0].minor.yy0, NULL); } -#line 7102 "sql.c" yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 390: /* subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ - case 637: /* sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ yytestcase(yyruleno==637); - case 661: /* every_opt ::= EVERY NK_LP duration_literal NK_RP */ yytestcase(yyruleno==661); -#line 706 "sql.y" -{ yymsp[-3].minor.yy896 = releaseRawExprNode(pCxt, yymsp[-1].minor.yy896); } -#line 7110 "sql.c" + 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 393: /* cmd ::= KILL CONNECTION NK_INTEGER */ -#line 714 "sql.y" -{ pCxt->pRootNode = createKillStmt(pCxt, QUERY_NODE_KILL_CONNECTION_STMT, &yymsp[0].minor.yy0); } -#line 7115 "sql.c" + 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 394: /* cmd ::= KILL QUERY NK_STRING */ -#line 715 "sql.y" -{ pCxt->pRootNode = createKillQueryStmt(pCxt, &yymsp[0].minor.yy0); } + 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 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 395: /* cmd ::= KILL TRANSACTION NK_INTEGER */ -#line 716 "sql.y" -{ pCxt->pRootNode = createKillStmt(pCxt, QUERY_NODE_KILL_TRANSACTION_STMT, &yymsp[0].minor.yy0); } -#line 7125 "sql.c" + 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 396: /* cmd ::= KILL COMPACT NK_INTEGER */ + 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 396: /* cmd ::= KILL CONNECTION NK_INTEGER */ #line 717 "sql.y" -{ pCxt->pRootNode = createKillStmt(pCxt, QUERY_NODE_KILL_COMPACT_STMT, &yymsp[0].minor.yy0); } -#line 7130 "sql.c" +{ pCxt->pRootNode = createKillStmt(pCxt, QUERY_NODE_KILL_CONNECTION_STMT, &yymsp[0].minor.yy0); } +#line 7139 "sql.c" break; - case 397: /* cmd ::= BALANCE VGROUP */ + 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 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 399: /* cmd ::= KILL COMPACT NK_INTEGER */ #line 720 "sql.y" -{ pCxt->pRootNode = createBalanceVgroupStmt(pCxt); } -#line 7135 "sql.c" +{ pCxt->pRootNode = createKillStmt(pCxt, QUERY_NODE_KILL_COMPACT_STMT, &yymsp[0].minor.yy0); } +#line 7154 "sql.c" break; - case 398: /* cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ -#line 721 "sql.y" -{ pCxt->pRootNode = createBalanceVgroupLeaderStmt(pCxt, &yymsp[0].minor.yy701); } -#line 7140 "sql.c" - break; - case 399: /* cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ -#line 722 "sql.y" -{ pCxt->pRootNode = createMergeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); } -#line 7145 "sql.c" - break; - case 400: /* cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ + case 400: /* cmd ::= BALANCE VGROUP */ #line 723 "sql.y" -{ pCxt->pRootNode = createRedistributeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy404); } -#line 7150 "sql.c" +{ pCxt->pRootNode = createBalanceVgroupStmt(pCxt); } +#line 7159 "sql.c" break; - case 401: /* cmd ::= SPLIT VGROUP NK_INTEGER */ + 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 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 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 404: /* cmd ::= SPLIT VGROUP NK_INTEGER */ +#line 727 "sql.y" { pCxt->pRootNode = createSplitVgroupStmt(pCxt, &yymsp[0].minor.yy0); } -#line 7155 "sql.c" +#line 7179 "sql.c" break; - case 404: /* dnode_list ::= DNODE NK_INTEGER */ -#line 733 "sql.y" + 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 7160 "sql.c" +#line 7184 "sql.c" break; - case 406: /* cmd ::= DELETE FROM full_table_name where_clause_opt */ -#line 740 "sql.y" + 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 7165 "sql.c" +#line 7189 "sql.c" break; - case 409: /* insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ -#line 749 "sql.y" + 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 7170 "sql.c" +#line 7194 "sql.c" break; - case 410: /* insert_query ::= INSERT INTO full_table_name query_or_subquery */ -#line 750 "sql.y" -{ yymsp[-3].minor.yy896 = createInsertStmt(pCxt, yymsp[-1].minor.yy896, NULL, yymsp[0].minor.yy896); } -#line 7175 "sql.c" - break; - case 411: /* tags_literal ::= NK_INTEGER */ - case 423: /* tags_literal ::= NK_BIN */ yytestcase(yyruleno==423); - case 432: /* tags_literal ::= NK_HEX */ yytestcase(yyruleno==432); + 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 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 7182 "sql.c" +#line 7206 "sql.c" yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 412: /* tags_literal ::= NK_INTEGER NK_PLUS duration_literal */ - case 413: /* tags_literal ::= NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==413); - case 424: /* tags_literal ::= NK_BIN NK_PLUS duration_literal */ yytestcase(yyruleno==424); - case 425: /* tags_literal ::= NK_BIN NK_MINUS duration_literal */ yytestcase(yyruleno==425); - case 433: /* tags_literal ::= NK_HEX NK_PLUS duration_literal */ yytestcase(yyruleno==433); - case 434: /* tags_literal ::= NK_HEX NK_MINUS duration_literal */ yytestcase(yyruleno==434); - case 442: /* tags_literal ::= NK_STRING NK_PLUS duration_literal */ yytestcase(yyruleno==442); - case 443: /* tags_literal ::= NK_STRING NK_MINUS duration_literal */ yytestcase(yyruleno==443); -#line 754 "sql.y" + 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.yy896); l.n = (r.z + r.n) - l.z; yylhsminor.yy896 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, NULL, yymsp[0].minor.yy896); } -#line 7200 "sql.c" +#line 7224 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 414: /* tags_literal ::= NK_PLUS NK_INTEGER */ - case 417: /* tags_literal ::= NK_MINUS NK_INTEGER */ yytestcase(yyruleno==417); - case 426: /* tags_literal ::= NK_PLUS NK_BIN */ yytestcase(yyruleno==426); - case 429: /* tags_literal ::= NK_MINUS NK_BIN */ yytestcase(yyruleno==429); - case 435: /* tags_literal ::= NK_PLUS NK_HEX */ yytestcase(yyruleno==435); - case 438: /* tags_literal ::= NK_MINUS NK_HEX */ yytestcase(yyruleno==438); -#line 766 "sql.y" + 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.yy896 = createRawValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &t, NULL); } -#line 7215 "sql.c" +#line 7239 "sql.c" yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 415: /* tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal */ - case 416: /* tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==416); - case 418: /* tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal */ yytestcase(yyruleno==418); - case 419: /* tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==419); - case 427: /* tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal */ yytestcase(yyruleno==427); - case 428: /* tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal */ yytestcase(yyruleno==428); - case 430: /* tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal */ yytestcase(yyruleno==430); - case 431: /* tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal */ yytestcase(yyruleno==431); - case 436: /* tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal */ yytestcase(yyruleno==436); - case 437: /* tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal */ yytestcase(yyruleno==437); - case 439: /* tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal */ yytestcase(yyruleno==439); - case 440: /* tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal */ yytestcase(yyruleno==440); -#line 771 "sql.y" + 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.yy896); l.n = (r.z + r.n) - l.z; yylhsminor.yy896 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, NULL, yymsp[0].minor.yy896); } -#line 7237 "sql.c" +#line 7261 "sql.c" yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 420: /* tags_literal ::= NK_FLOAT */ -#line 800 "sql.y" + case 423: /* tags_literal ::= NK_FLOAT */ +#line 803 "sql.y" { yylhsminor.yy896 = createRawValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0, NULL); } -#line 7243 "sql.c" +#line 7267 "sql.c" yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 421: /* tags_literal ::= NK_PLUS NK_FLOAT */ - case 422: /* tags_literal ::= NK_MINUS NK_FLOAT */ yytestcase(yyruleno==422); -#line 801 "sql.y" + 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.yy896 = createRawValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t, NULL); } -#line 7254 "sql.c" +#line 7278 "sql.c" yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 441: /* tags_literal ::= NK_STRING */ -#line 907 "sql.y" + case 444: /* tags_literal ::= NK_STRING */ +#line 910 "sql.y" { yylhsminor.yy896 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0, NULL); } -#line 7260 "sql.c" +#line 7284 "sql.c" yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 444: /* tags_literal ::= NK_BOOL */ -#line 920 "sql.y" -{ yylhsminor.yy896 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0, NULL); } -#line 7266 "sql.c" - yymsp[0].minor.yy896 = yylhsminor.yy896; - break; - case 445: /* tags_literal ::= NULL */ -#line 921 "sql.y" -{ yylhsminor.yy896 = createRawValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0, NULL); } -#line 7272 "sql.c" - yymsp[0].minor.yy896 = yylhsminor.yy896; - break; - case 446: /* tags_literal ::= literal_func */ + case 447: /* tags_literal ::= NK_BOOL */ #line 923 "sql.y" -{ yylhsminor.yy896 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BINARY, NULL, yymsp[0].minor.yy896); } -#line 7278 "sql.c" +{ 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 447: /* tags_literal ::= literal_func NK_PLUS duration_literal */ - case 448: /* tags_literal ::= literal_func NK_MINUS duration_literal */ yytestcase(yyruleno==448); + 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 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 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.yy896); SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); l.n = (r.z + r.n) - l.z; yylhsminor.yy896 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, yymsp[-2].minor.yy896, yymsp[0].minor.yy896); } -#line 7290 "sql.c" +#line 7314 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 451: /* literal ::= NK_INTEGER */ -#line 943 "sql.y" -{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0)); } -#line 7296 "sql.c" - yymsp[0].minor.yy896 = yylhsminor.yy896; - break; - case 452: /* literal ::= NK_FLOAT */ -#line 944 "sql.y" -{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0)); } -#line 7302 "sql.c" - yymsp[0].minor.yy896 = yylhsminor.yy896; - break; - case 453: /* literal ::= NK_STRING */ -#line 945 "sql.y" -{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } -#line 7308 "sql.c" - yymsp[0].minor.yy896 = yylhsminor.yy896; - break; - case 454: /* literal ::= NK_BOOL */ + case 454: /* literal ::= NK_INTEGER */ #line 946 "sql.y" -{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0)); } -#line 7314 "sql.c" +{ 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 455: /* literal ::= TIMESTAMP NK_STRING */ + 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 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 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 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 7320 "sql.c" +#line 7344 "sql.c" yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 456: /* literal ::= duration_literal */ - case 466: /* signed_literal ::= signed */ yytestcase(yyruleno==466); - case 489: /* expr_or_subquery ::= expression */ yytestcase(yyruleno==489); - case 490: /* expression ::= literal */ yytestcase(yyruleno==490); - case 492: /* expression ::= column_reference */ yytestcase(yyruleno==492); - case 493: /* expression ::= function_expression */ yytestcase(yyruleno==493); - case 494: /* expression ::= case_when_expression */ yytestcase(yyruleno==494); - case 528: /* function_expression ::= literal_func */ yytestcase(yyruleno==528); - case 578: /* boolean_value_expression ::= boolean_primary */ yytestcase(yyruleno==578); - case 582: /* boolean_primary ::= predicate */ yytestcase(yyruleno==582); - case 584: /* common_expression ::= expr_or_subquery */ yytestcase(yyruleno==584); - case 585: /* common_expression ::= boolean_value_expression */ yytestcase(yyruleno==585); - case 588: /* table_reference_list ::= table_reference */ yytestcase(yyruleno==588); - case 590: /* table_reference ::= table_primary */ yytestcase(yyruleno==590); - case 591: /* table_reference ::= joined_table */ yytestcase(yyruleno==591); - case 595: /* table_primary ::= parenthesized_joined_table */ yytestcase(yyruleno==595); - case 663: /* query_simple ::= query_specification */ yytestcase(yyruleno==663); - case 664: /* query_simple ::= union_query_expression */ yytestcase(yyruleno==664); - case 667: /* query_simple_or_subquery ::= query_simple */ yytestcase(yyruleno==667); - case 669: /* query_or_subquery ::= query_expression */ yytestcase(yyruleno==669); -#line 948 "sql.y" + 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 7345 "sql.c" +#line 7369 "sql.c" yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 457: /* literal ::= NULL */ -#line 949 "sql.y" -{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0)); } -#line 7351 "sql.c" - yymsp[0].minor.yy896 = yylhsminor.yy896; - break; - case 458: /* literal ::= NK_QUESTION */ -#line 950 "sql.y" -{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0)); } -#line 7357 "sql.c" - yymsp[0].minor.yy896 = yylhsminor.yy896; - break; - case 459: /* duration_literal ::= NK_VARIABLE */ - case 638: /* interval_sliding_duration_literal ::= NK_VARIABLE */ yytestcase(yyruleno==638); - case 639: /* interval_sliding_duration_literal ::= NK_STRING */ yytestcase(yyruleno==639); - case 640: /* interval_sliding_duration_literal ::= NK_INTEGER */ yytestcase(yyruleno==640); + case 460: /* literal ::= NULL */ #line 952 "sql.y" -{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } -#line 7366 "sql.c" +{ 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 460: /* signed ::= NK_INTEGER */ -#line 954 "sql.y" -{ yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } -#line 7372 "sql.c" + 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 461: /* signed ::= NK_PLUS NK_INTEGER */ + 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" -{ yymsp[-1].minor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } -#line 7378 "sql.c" +{ 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 462: /* signed ::= NK_MINUS NK_INTEGER */ -#line 956 "sql.y" + 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 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 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.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &t); } -#line 7387 "sql.c" +#line 7411 "sql.c" yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 463: /* signed ::= NK_FLOAT */ -#line 961 "sql.y" + case 466: /* signed ::= NK_FLOAT */ +#line 964 "sql.y" { yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } -#line 7393 "sql.c" +#line 7417 "sql.c" yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 464: /* signed ::= NK_PLUS NK_FLOAT */ -#line 962 "sql.y" + 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 7399 "sql.c" +#line 7423 "sql.c" break; - case 465: /* signed ::= NK_MINUS NK_FLOAT */ -#line 963 "sql.y" + 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.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t); } -#line 7408 "sql.c" +#line 7432 "sql.c" yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 467: /* signed_literal ::= NK_STRING */ -#line 970 "sql.y" -{ yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } -#line 7414 "sql.c" - yymsp[0].minor.yy896 = yylhsminor.yy896; - break; - case 468: /* signed_literal ::= NK_BOOL */ -#line 971 "sql.y" -{ yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0); } -#line 7420 "sql.c" - yymsp[0].minor.yy896 = yylhsminor.yy896; - break; - case 469: /* signed_literal ::= TIMESTAMP NK_STRING */ -#line 972 "sql.y" -{ yymsp[-1].minor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } -#line 7426 "sql.c" - break; - case 470: /* signed_literal ::= duration_literal */ - case 472: /* signed_literal ::= literal_func */ yytestcase(yyruleno==472); - case 549: /* star_func_para ::= expr_or_subquery */ yytestcase(yyruleno==549); - case 615: /* select_item ::= common_expression */ yytestcase(yyruleno==615); - case 625: /* partition_item ::= expr_or_subquery */ yytestcase(yyruleno==625); - case 668: /* query_simple_or_subquery ::= subquery */ yytestcase(yyruleno==668); - case 670: /* query_or_subquery ::= subquery */ yytestcase(yyruleno==670); - case 683: /* search_condition ::= common_expression */ yytestcase(yyruleno==683); + case 470: /* signed_literal ::= NK_STRING */ #line 973 "sql.y" -{ yylhsminor.yy896 = releaseRawExprNode(pCxt, yymsp[0].minor.yy896); } +{ yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } #line 7438 "sql.c" yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 471: /* signed_literal ::= NULL */ + case 471: /* signed_literal ::= NK_BOOL */ #line 974 "sql.y" -{ yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0); } +{ yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0); } #line 7444 "sql.c" yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 473: /* signed_literal ::= NK_QUESTION */ -#line 976 "sql.y" -{ yylhsminor.yy896 = createPlaceholderValueNode(pCxt, &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 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 491: /* expression ::= pseudo_column */ -#line 1038 "sql.y" + 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 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 494: /* expression ::= pseudo_column */ +#line 1041 "sql.y" { yylhsminor.yy896 = yymsp[0].minor.yy896; setRawExprNodeIsPseudoColumn(pCxt, yylhsminor.yy896, true); } -#line 7456 "sql.c" +#line 7480 "sql.c" yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 495: /* expression ::= NK_LP expression NK_RP */ - case 583: /* boolean_primary ::= NK_LP boolean_value_expression NK_RP */ yytestcase(yyruleno==583); - case 682: /* subquery ::= NK_LP subquery NK_RP */ yytestcase(yyruleno==682); -#line 1042 "sql.y" + 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 7464 "sql.c" +#line 7488 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 496: /* expression ::= NK_PLUS expr_or_subquery */ -#line 1043 "sql.y" + case 499: /* expression ::= NK_PLUS expr_or_subquery */ +#line 1046 "sql.y" { SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, releaseRawExprNode(pCxt, yymsp[0].minor.yy896)); } -#line 7473 "sql.c" +#line 7497 "sql.c" yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 497: /* expression ::= NK_MINUS expr_or_subquery */ -#line 1047 "sql.y" + case 500: /* expression ::= NK_MINUS expr_or_subquery */ +#line 1050 "sql.y" { 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)); } -#line 7482 "sql.c" +#line 7506 "sql.c" yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 498: /* expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ -#line 1051 "sql.y" + case 501: /* expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ +#line 1054 "sql.y" { 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))); } -#line 7492 "sql.c" +#line 7516 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 499: /* expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ -#line 1056 "sql.y" + case 502: /* expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ +#line 1059 "sql.y" { 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))); } -#line 7502 "sql.c" +#line 7526 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 500: /* expression ::= expr_or_subquery NK_STAR expr_or_subquery */ -#line 1061 "sql.y" + case 503: /* expression ::= expr_or_subquery NK_STAR expr_or_subquery */ +#line 1064 "sql.y" { 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))); } -#line 7512 "sql.c" +#line 7536 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 501: /* expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ -#line 1066 "sql.y" + case 504: /* expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ +#line 1069 "sql.y" { 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))); } -#line 7522 "sql.c" +#line 7546 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 502: /* expression ::= expr_or_subquery NK_REM expr_or_subquery */ -#line 1071 "sql.y" + case 505: /* expression ::= expr_or_subquery NK_REM expr_or_subquery */ +#line 1074 "sql.y" { 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))); } -#line 7532 "sql.c" +#line 7556 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 503: /* expression ::= column_reference NK_ARROW NK_STRING */ -#line 1076 "sql.y" + case 506: /* expression ::= column_reference NK_ARROW NK_STRING */ +#line 1079 "sql.y" { 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))); } -#line 7541 "sql.c" +#line 7565 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 504: /* expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ -#line 1080 "sql.y" + case 507: /* expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ +#line 1083 "sql.y" { 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))); } -#line 7551 "sql.c" +#line 7575 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 505: /* expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ -#line 1085 "sql.y" + case 508: /* expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ +#line 1088 "sql.y" { 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))); } -#line 7561 "sql.c" - yymsp[-2].minor.yy896 = yylhsminor.yy896; - break; - case 508: /* column_reference ::= column_name */ -#line 1096 "sql.y" -{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy701, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy701)); } -#line 7567 "sql.c" - yymsp[0].minor.yy896 = yylhsminor.yy896; - break; - case 509: /* column_reference ::= table_name NK_DOT column_name */ -#line 1097 "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 7573 "sql.c" - yymsp[-2].minor.yy896 = yylhsminor.yy896; - break; - case 510: /* column_reference ::= NK_ALIAS */ -#line 1098 "sql.y" -{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } -#line 7579 "sql.c" - yymsp[0].minor.yy896 = yylhsminor.yy896; - break; - case 511: /* column_reference ::= table_name NK_DOT NK_ALIAS */ -#line 1099 "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 7585 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 512: /* pseudo_column ::= ROWTS */ - case 513: /* pseudo_column ::= TBNAME */ yytestcase(yyruleno==513); - case 515: /* pseudo_column ::= QSTART */ yytestcase(yyruleno==515); - case 516: /* pseudo_column ::= QEND */ yytestcase(yyruleno==516); - case 517: /* pseudo_column ::= QDURATION */ yytestcase(yyruleno==517); - case 518: /* pseudo_column ::= WSTART */ yytestcase(yyruleno==518); - case 519: /* pseudo_column ::= WEND */ yytestcase(yyruleno==519); - case 520: /* pseudo_column ::= WDURATION */ yytestcase(yyruleno==520); - case 521: /* pseudo_column ::= IROWTS */ yytestcase(yyruleno==521); - case 522: /* pseudo_column ::= ISFILLED */ yytestcase(yyruleno==522); - case 523: /* pseudo_column ::= QTAGS */ yytestcase(yyruleno==523); - case 530: /* literal_func ::= NOW */ yytestcase(yyruleno==530); - case 531: /* literal_func ::= TODAY */ yytestcase(yyruleno==531); + 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 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 513: /* column_reference ::= NK_ALIAS */ #line 1101 "sql.y" -{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL)); } +{ 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 514: /* pseudo_column ::= table_name NK_DOT TBNAME */ -#line 1103 "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)))); } + 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 524: /* function_expression ::= function_name NK_LP expression_list NK_RP */ - case 525: /* function_expression ::= star_func NK_LP star_func_para_list NK_RP */ yytestcase(yyruleno==525); -#line 1114 "sql.y" + 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 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 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 7616 "sql.c" +#line 7640 "sql.c" yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 526: /* function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ - case 527: /* function_expression ::= CAST NK_LP expr_or_subquery AS type_name_binary NK_RP */ yytestcase(yyruleno==527); -#line 1117 "sql.y" + 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 7623 "sql.c" +#line 7647 "sql.c" yymsp[-5].minor.yy896 = yylhsminor.yy896; break; - case 529: /* literal_func ::= noarg_func NK_LP NK_RP */ -#line 1123 "sql.y" + 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 7629 "sql.c" +#line 7653 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 545: /* star_func_para_list ::= NK_STAR */ -#line 1148 "sql.y" + case 548: /* star_func_para_list ::= NK_STAR */ +#line 1151 "sql.y" { yylhsminor.yy404 = createNodeList(pCxt, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } -#line 7635 "sql.c" +#line 7659 "sql.c" yymsp[0].minor.yy404 = yylhsminor.yy404; break; - case 550: /* star_func_para ::= table_name NK_DOT NK_STAR */ - case 618: /* select_item ::= table_name NK_DOT NK_STAR */ yytestcase(yyruleno==618); -#line 1157 "sql.y" + 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 7642 "sql.c" +#line 7666 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 551: /* case_when_expression ::= CASE when_then_list case_when_else_opt END */ -#line 1160 "sql.y" + 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 7648 "sql.c" +#line 7672 "sql.c" yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 552: /* case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ -#line 1162 "sql.y" + 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 7654 "sql.c" +#line 7678 "sql.c" yymsp[-4].minor.yy896 = yylhsminor.yy896; break; - case 555: /* when_then_expr ::= WHEN common_expression THEN common_expression */ -#line 1169 "sql.y" -{ yymsp[-3].minor.yy896 = createWhenThenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896)); } -#line 7660 "sql.c" - break; - case 557: /* case_when_else_opt ::= ELSE common_expression */ + case 558: /* when_then_expr ::= WHEN common_expression THEN common_expression */ #line 1172 "sql.y" -{ yymsp[-1].minor.yy896 = releaseRawExprNode(pCxt, yymsp[0].minor.yy896); } -#line 7665 "sql.c" +{ yymsp[-3].minor.yy896 = createWhenThenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896)); } +#line 7684 "sql.c" break; - case 558: /* predicate ::= expr_or_subquery compare_op expr_or_subquery */ - case 563: /* predicate ::= expr_or_subquery in_op in_predicate_value */ yytestcase(yyruleno==563); + 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 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.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))); } -#line 7675 "sql.c" +#line 7699 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 559: /* predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ -#line 1182 "sql.y" + 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.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))); } -#line 7685 "sql.c" +#line 7709 "sql.c" yymsp[-4].minor.yy896 = yylhsminor.yy896; break; - case 560: /* predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ -#line 1188 "sql.y" + 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.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))); } -#line 7695 "sql.c" +#line 7719 "sql.c" yymsp[-5].minor.yy896 = yylhsminor.yy896; break; - case 561: /* predicate ::= expr_or_subquery IS NULL */ -#line 1193 "sql.y" + case 564: /* predicate ::= expr_or_subquery IS NULL */ +#line 1196 "sql.y" { 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)); } -#line 7704 "sql.c" +#line 7728 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 562: /* predicate ::= expr_or_subquery IS NOT NULL */ -#line 1197 "sql.y" + case 565: /* predicate ::= expr_or_subquery IS NOT NULL */ +#line 1200 "sql.y" { 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)); } -#line 7713 "sql.c" +#line 7737 "sql.c" yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 564: /* compare_op ::= NK_LT */ -#line 1209 "sql.y" -{ yymsp[0].minor.yy884 = OP_TYPE_LOWER_THAN; } -#line 7719 "sql.c" - break; - case 565: /* compare_op ::= NK_GT */ -#line 1210 "sql.y" -{ yymsp[0].minor.yy884 = OP_TYPE_GREATER_THAN; } -#line 7724 "sql.c" - break; - case 566: /* compare_op ::= NK_LE */ -#line 1211 "sql.y" -{ yymsp[0].minor.yy884 = OP_TYPE_LOWER_EQUAL; } -#line 7729 "sql.c" - break; - case 567: /* compare_op ::= NK_GE */ + case 567: /* compare_op ::= NK_LT */ #line 1212 "sql.y" -{ yymsp[0].minor.yy884 = OP_TYPE_GREATER_EQUAL; } -#line 7734 "sql.c" +{ yymsp[0].minor.yy884 = OP_TYPE_LOWER_THAN; } +#line 7743 "sql.c" break; - case 568: /* compare_op ::= NK_NE */ + case 568: /* compare_op ::= NK_GT */ #line 1213 "sql.y" -{ yymsp[0].minor.yy884 = OP_TYPE_NOT_EQUAL; } -#line 7739 "sql.c" +{ yymsp[0].minor.yy884 = OP_TYPE_GREATER_THAN; } +#line 7748 "sql.c" break; - case 569: /* compare_op ::= NK_EQ */ + case 569: /* compare_op ::= NK_LE */ #line 1214 "sql.y" -{ yymsp[0].minor.yy884 = OP_TYPE_EQUAL; } -#line 7744 "sql.c" +{ yymsp[0].minor.yy884 = OP_TYPE_LOWER_EQUAL; } +#line 7753 "sql.c" break; - case 570: /* compare_op ::= LIKE */ + case 570: /* compare_op ::= NK_GE */ #line 1215 "sql.y" -{ yymsp[0].minor.yy884 = OP_TYPE_LIKE; } -#line 7749 "sql.c" +{ yymsp[0].minor.yy884 = OP_TYPE_GREATER_EQUAL; } +#line 7758 "sql.c" break; - case 571: /* compare_op ::= NOT LIKE */ + case 571: /* compare_op ::= NK_NE */ #line 1216 "sql.y" -{ yymsp[-1].minor.yy884 = OP_TYPE_NOT_LIKE; } -#line 7754 "sql.c" +{ yymsp[0].minor.yy884 = OP_TYPE_NOT_EQUAL; } +#line 7763 "sql.c" break; - case 572: /* compare_op ::= MATCH */ + case 572: /* compare_op ::= NK_EQ */ #line 1217 "sql.y" -{ yymsp[0].minor.yy884 = OP_TYPE_MATCH; } -#line 7759 "sql.c" +{ yymsp[0].minor.yy884 = OP_TYPE_EQUAL; } +#line 7768 "sql.c" break; - case 573: /* compare_op ::= NMATCH */ + case 573: /* compare_op ::= LIKE */ #line 1218 "sql.y" -{ yymsp[0].minor.yy884 = OP_TYPE_NMATCH; } -#line 7764 "sql.c" +{ yymsp[0].minor.yy884 = OP_TYPE_LIKE; } +#line 7773 "sql.c" break; - case 574: /* compare_op ::= CONTAINS */ + case 574: /* compare_op ::= NOT LIKE */ #line 1219 "sql.y" +{ yymsp[-1].minor.yy884 = OP_TYPE_NOT_LIKE; } +#line 7778 "sql.c" + break; + case 575: /* compare_op ::= MATCH */ +#line 1220 "sql.y" +{ yymsp[0].minor.yy884 = OP_TYPE_MATCH; } +#line 7783 "sql.c" + break; + case 576: /* compare_op ::= NMATCH */ +#line 1221 "sql.y" +{ yymsp[0].minor.yy884 = OP_TYPE_NMATCH; } +#line 7788 "sql.c" + break; + case 577: /* compare_op ::= CONTAINS */ +#line 1222 "sql.y" { yymsp[0].minor.yy884 = OP_TYPE_JSON_CONTAINS; } -#line 7769 "sql.c" +#line 7793 "sql.c" break; - case 575: /* in_op ::= IN */ -#line 1223 "sql.y" -{ yymsp[0].minor.yy884 = OP_TYPE_IN; } -#line 7774 "sql.c" - break; - case 576: /* in_op ::= NOT IN */ -#line 1224 "sql.y" -{ yymsp[-1].minor.yy884 = OP_TYPE_NOT_IN; } -#line 7779 "sql.c" - break; - case 577: /* in_predicate_value ::= NK_LP literal_list NK_RP */ + case 578: /* in_op ::= IN */ #line 1226 "sql.y" +{ yymsp[0].minor.yy884 = OP_TYPE_IN; } +#line 7798 "sql.c" + break; + case 579: /* in_op ::= NOT IN */ +#line 1227 "sql.y" +{ yymsp[-1].minor.yy884 = OP_TYPE_NOT_IN; } +#line 7803 "sql.c" + break; + 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 7784 "sql.c" +#line 7808 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 579: /* boolean_value_expression ::= NOT boolean_primary */ -#line 1230 "sql.y" + case 582: /* boolean_value_expression ::= NOT boolean_primary */ +#line 1233 "sql.y" { 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)); } -#line 7793 "sql.c" +#line 7817 "sql.c" yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 580: /* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ -#line 1235 "sql.y" + case 583: /* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ +#line 1238 "sql.y" { 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))); } -#line 7803 "sql.c" +#line 7827 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 581: /* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ -#line 1241 "sql.y" + case 584: /* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ +#line 1244 "sql.y" { 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))); } -#line 7813 "sql.c" +#line 7837 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 589: /* table_reference_list ::= table_reference_list NK_COMMA table_reference */ -#line 1259 "sql.y" + 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 7819 "sql.c" +#line 7843 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 592: /* table_primary ::= table_name alias_opt */ -#line 1265 "sql.y" + 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 7825 "sql.c" +#line 7849 "sql.c" yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 593: /* table_primary ::= db_name NK_DOT table_name alias_opt */ -#line 1266 "sql.y" + 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 7831 "sql.c" +#line 7855 "sql.c" yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 594: /* table_primary ::= subquery alias_opt */ -#line 1267 "sql.y" + 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 7837 "sql.c" +#line 7861 "sql.c" yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 596: /* alias_opt ::= */ -#line 1272 "sql.y" + case 599: /* alias_opt ::= */ +#line 1275 "sql.y" { yymsp[1].minor.yy701 = nil_token; } -#line 7843 "sql.c" +#line 7867 "sql.c" break; - case 598: /* alias_opt ::= AS table_alias */ -#line 1274 "sql.y" + case 601: /* alias_opt ::= AS table_alias */ +#line 1277 "sql.y" { yymsp[-1].minor.yy701 = yymsp[0].minor.yy701; } -#line 7848 "sql.c" +#line 7872 "sql.c" break; - case 599: /* parenthesized_joined_table ::= NK_LP joined_table NK_RP */ - case 600: /* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ yytestcase(yyruleno==600); -#line 1276 "sql.y" + 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 7854 "sql.c" +#line 7878 "sql.c" break; - case 601: /* joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ -#line 1281 "sql.y" + 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 7859 "sql.c" +#line 7883 "sql.c" yymsp[-5].minor.yy896 = yylhsminor.yy896; break; - case 602: /* join_type ::= */ -#line 1285 "sql.y" + case 605: /* join_type ::= */ +#line 1288 "sql.y" { yymsp[1].minor.yy680 = JOIN_TYPE_INNER; } -#line 7865 "sql.c" +#line 7889 "sql.c" break; - case 603: /* join_type ::= INNER */ -#line 1286 "sql.y" + case 606: /* join_type ::= INNER */ +#line 1289 "sql.y" { yymsp[0].minor.yy680 = JOIN_TYPE_INNER; } -#line 7870 "sql.c" +#line 7894 "sql.c" break; - case 604: /* 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 1292 "sql.y" + 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.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); @@ -7883,234 +7907,234 @@ static YYACTIONTYPE yy_reduce( 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 7886 "sql.c" +#line 7910 "sql.c" break; - case 605: /* hint_list ::= */ -#line 1307 "sql.y" + case 608: /* hint_list ::= */ +#line 1310 "sql.y" { yymsp[1].minor.yy404 = createHintNodeList(pCxt, NULL); } -#line 7891 "sql.c" +#line 7915 "sql.c" break; - case 606: /* hint_list ::= NK_HINT */ -#line 1308 "sql.y" + case 609: /* hint_list ::= NK_HINT */ +#line 1311 "sql.y" { yylhsminor.yy404 = createHintNodeList(pCxt, &yymsp[0].minor.yy0); } -#line 7896 "sql.c" +#line 7920 "sql.c" yymsp[0].minor.yy404 = yylhsminor.yy404; break; - case 611: /* set_quantifier_opt ::= ALL */ -#line 1319 "sql.y" + case 614: /* set_quantifier_opt ::= ALL */ +#line 1322 "sql.y" { yymsp[0].minor.yy733 = false; } -#line 7902 "sql.c" +#line 7926 "sql.c" break; - case 614: /* select_item ::= NK_STAR */ -#line 1326 "sql.y" + case 617: /* select_item ::= NK_STAR */ +#line 1329 "sql.y" { yylhsminor.yy896 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0); } -#line 7907 "sql.c" +#line 7931 "sql.c" yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 616: /* select_item ::= common_expression column_alias */ - case 626: /* partition_item ::= expr_or_subquery column_alias */ yytestcase(yyruleno==626); -#line 1328 "sql.y" + 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 7914 "sql.c" +#line 7938 "sql.c" yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 617: /* select_item ::= common_expression AS column_alias */ - case 627: /* partition_item ::= expr_or_subquery AS column_alias */ yytestcase(yyruleno==627); -#line 1329 "sql.y" + 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 7921 "sql.c" +#line 7945 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 622: /* partition_by_clause_opt ::= PARTITION BY partition_list */ - case 652: /* group_by_clause_opt ::= GROUP BY group_by_list */ yytestcase(yyruleno==652); - case 672: /* order_by_clause_opt ::= ORDER BY sort_specification_list */ yytestcase(yyruleno==672); -#line 1338 "sql.y" + 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 7929 "sql.c" +#line 7953 "sql.c" break; - case 629: /* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ -#line 1351 "sql.y" -{ yymsp[-5].minor.yy896 = createSessionWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy896), releaseRawExprNode(pCxt, yymsp[-1].minor.yy896)); } -#line 7934 "sql.c" - break; - case 630: /* twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ -#line 1352 "sql.y" -{ yymsp[-3].minor.yy896 = createStateWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy896)); } -#line 7939 "sql.c" - break; - case 631: /* twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + 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 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 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 7944 "sql.c" +#line 7968 "sql.c" break; - case 632: /* twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ -#line 1358 "sql.y" + 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 7949 "sql.c" +#line 7973 "sql.c" break; - case 633: /* twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ -#line 1360 "sql.y" + 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 7954 "sql.c" +#line 7978 "sql.c" break; - case 634: /* twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ -#line 1362 "sql.y" + 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 7959 "sql.c" +#line 7983 "sql.c" break; - case 635: /* twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ -#line 1364 "sql.y" + 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 7964 "sql.c" +#line 7988 "sql.c" break; - case 642: /* fill_opt ::= FILL NK_LP fill_mode NK_RP */ -#line 1374 "sql.y" + 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 7969 "sql.c" +#line 7993 "sql.c" break; - case 643: /* fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ -#line 1375 "sql.y" + 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 7974 "sql.c" +#line 7998 "sql.c" break; - case 644: /* fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ -#line 1376 "sql.y" + 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 7979 "sql.c" +#line 8003 "sql.c" break; - case 645: /* fill_mode ::= NONE */ -#line 1380 "sql.y" -{ yymsp[0].minor.yy466 = FILL_MODE_NONE; } -#line 7984 "sql.c" - break; - case 646: /* fill_mode ::= PREV */ -#line 1381 "sql.y" -{ yymsp[0].minor.yy466 = FILL_MODE_PREV; } -#line 7989 "sql.c" - break; - case 647: /* fill_mode ::= NULL */ -#line 1382 "sql.y" -{ yymsp[0].minor.yy466 = FILL_MODE_NULL; } -#line 7994 "sql.c" - break; - case 648: /* fill_mode ::= NULL_F */ + case 648: /* fill_mode ::= NONE */ #line 1383 "sql.y" -{ yymsp[0].minor.yy466 = FILL_MODE_NULL_F; } -#line 7999 "sql.c" +{ yymsp[0].minor.yy466 = FILL_MODE_NONE; } +#line 8008 "sql.c" break; - case 649: /* fill_mode ::= LINEAR */ + case 649: /* fill_mode ::= PREV */ #line 1384 "sql.y" -{ yymsp[0].minor.yy466 = FILL_MODE_LINEAR; } -#line 8004 "sql.c" +{ yymsp[0].minor.yy466 = FILL_MODE_PREV; } +#line 8013 "sql.c" break; - case 650: /* fill_mode ::= NEXT */ + case 650: /* fill_mode ::= NULL */ #line 1385 "sql.y" -{ yymsp[0].minor.yy466 = FILL_MODE_NEXT; } -#line 8009 "sql.c" +{ yymsp[0].minor.yy466 = FILL_MODE_NULL; } +#line 8018 "sql.c" break; - case 653: /* group_by_list ::= expr_or_subquery */ -#line 1394 "sql.y" + case 651: /* fill_mode ::= NULL_F */ +#line 1386 "sql.y" +{ yymsp[0].minor.yy466 = FILL_MODE_NULL_F; } +#line 8023 "sql.c" + break; + case 652: /* fill_mode ::= LINEAR */ +#line 1387 "sql.y" +{ yymsp[0].minor.yy466 = FILL_MODE_LINEAR; } +#line 8028 "sql.c" + break; + case 653: /* fill_mode ::= NEXT */ +#line 1388 "sql.y" +{ yymsp[0].minor.yy466 = FILL_MODE_NEXT; } +#line 8033 "sql.c" + break; + 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 8014 "sql.c" +#line 8038 "sql.c" yymsp[0].minor.yy404 = yylhsminor.yy404; break; - case 654: /* group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ -#line 1395 "sql.y" + 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 8020 "sql.c" +#line 8044 "sql.c" yymsp[-2].minor.yy404 = yylhsminor.yy404; break; - case 658: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ -#line 1402 "sql.y" + 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 8026 "sql.c" +#line 8050 "sql.c" break; - case 659: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ -#line 1404 "sql.y" + 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 8031 "sql.c" +#line 8055 "sql.c" break; - case 662: /* query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ -#line 1411 "sql.y" + case 665: /* query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ +#line 1414 "sql.y" { 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); } -#line 8040 "sql.c" +#line 8064 "sql.c" yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 665: /* union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ -#line 1421 "sql.y" + 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 8046 "sql.c" +#line 8070 "sql.c" yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 666: /* union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ -#line 1423 "sql.y" + 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 8052 "sql.c" - yymsp[-2].minor.yy896 = yylhsminor.yy896; - break; - case 674: /* slimit_clause_opt ::= SLIMIT NK_INTEGER */ - case 678: /* limit_clause_opt ::= LIMIT NK_INTEGER */ yytestcase(yyruleno==678); -#line 1437 "sql.y" -{ yymsp[-1].minor.yy896 = createLimitNode(pCxt, &yymsp[0].minor.yy0, NULL); } -#line 8059 "sql.c" - break; - case 675: /* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - case 679: /* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ yytestcase(yyruleno==679); -#line 1438 "sql.y" -{ yymsp[-3].minor.yy896 = createLimitNode(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } -#line 8065 "sql.c" - break; - case 676: /* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - case 680: /* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ yytestcase(yyruleno==680); -#line 1439 "sql.y" -{ yymsp[-3].minor.yy896 = createLimitNode(pCxt, &yymsp[0].minor.yy0, &yymsp[-2].minor.yy0); } -#line 8071 "sql.c" - break; - case 681: /* subquery ::= NK_LP query_expression NK_RP */ -#line 1447 "sql.y" -{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-1].minor.yy896); } #line 8076 "sql.c" yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 686: /* sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ -#line 1461 "sql.y" -{ yylhsminor.yy896 = createOrderByExprNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), yymsp[-1].minor.yy918, yymsp[0].minor.yy669); } -#line 8082 "sql.c" + 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 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 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 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 687: /* ordering_specification_opt ::= */ -#line 1465 "sql.y" + 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 690: /* ordering_specification_opt ::= */ +#line 1468 "sql.y" { yymsp[1].minor.yy918 = ORDER_ASC; } -#line 8088 "sql.c" +#line 8112 "sql.c" break; - case 688: /* ordering_specification_opt ::= ASC */ -#line 1466 "sql.y" + case 691: /* ordering_specification_opt ::= ASC */ +#line 1469 "sql.y" { yymsp[0].minor.yy918 = ORDER_ASC; } -#line 8093 "sql.c" +#line 8117 "sql.c" break; - case 689: /* ordering_specification_opt ::= DESC */ -#line 1467 "sql.y" + case 692: /* ordering_specification_opt ::= DESC */ +#line 1470 "sql.y" { yymsp[0].minor.yy918 = ORDER_DESC; } -#line 8098 "sql.c" +#line 8122 "sql.c" break; - case 690: /* null_ordering_opt ::= */ -#line 1471 "sql.y" + case 693: /* null_ordering_opt ::= */ +#line 1474 "sql.y" { yymsp[1].minor.yy669 = NULL_ORDER_DEFAULT; } -#line 8103 "sql.c" +#line 8127 "sql.c" break; - case 691: /* null_ordering_opt ::= NULLS FIRST */ -#line 1472 "sql.y" + case 694: /* null_ordering_opt ::= NULLS FIRST */ +#line 1475 "sql.y" { yymsp[-1].minor.yy669 = NULL_ORDER_FIRST; } -#line 8108 "sql.c" +#line 8132 "sql.c" break; - case 692: /* null_ordering_opt ::= NULLS LAST */ -#line 1473 "sql.y" + case 695: /* null_ordering_opt ::= NULLS LAST */ +#line 1476 "sql.y" { yymsp[-1].minor.yy669 = NULL_ORDER_LAST; } -#line 8113 "sql.c" +#line 8137 "sql.c" break; default: break; @@ -8183,7 +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 8186 "sql.c" +#line 8210 "sql.c" /************ End %syntax_error code ******************************************/ ParseARG_STORE /* Suppress warning about unused %extra_argument variable */ ParseCTX_STORE diff --git a/tests/system-test/2-query/cast.py b/tests/system-test/2-query/cast.py index 1dddbf66c4..352395b830 100644 --- a/tests/system-test/2-query/cast.py +++ b/tests/system-test/2-query/cast.py @@ -321,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}' )