diff --git a/include/common/tmsg.h b/include/common/tmsg.h index ed23290be4..3ed6b40d4d 100644 --- a/include/common/tmsg.h +++ b/include/common/tmsg.h @@ -329,6 +329,7 @@ typedef enum ENodeType { QUERY_NODE_SHOW_DB_ALIVE_STMT, QUERY_NODE_SHOW_CLUSTER_ALIVE_STMT, QUERY_NODE_BALANCE_VGROUP_LEADER_STMT, + QUERY_NODE_BALANCE_VGROUP_LEADER_DATABASE_STMT, QUERY_NODE_RESTORE_DNODE_STMT, QUERY_NODE_RESTORE_QNODE_STMT, QUERY_NODE_RESTORE_MNODE_STMT, @@ -2425,10 +2426,11 @@ int32_t tDeserializeSRedistributeVgroupReq(void* buf, int32_t bufLen, SRedistrib void tFreeSRedistributeVgroupReq(SRedistributeVgroupReq* pReq); typedef struct { - int32_t useless; + int32_t reserved; int32_t vgId; int32_t sqlLen; char* sql; + char db[TSDB_DB_FNAME_LEN]; } SBalanceVgroupLeaderReq; int32_t tSerializeSBalanceVgroupLeaderReq(void* buf, int32_t bufLen, SBalanceVgroupLeaderReq* pReq); diff --git a/include/libs/nodes/cmdnodes.h b/include/libs/nodes/cmdnodes.h index 2b60e20902..c2e5be96ad 100644 --- a/include/libs/nodes/cmdnodes.h +++ b/include/libs/nodes/cmdnodes.h @@ -582,6 +582,7 @@ typedef struct SBalanceVgroupStmt { typedef struct SBalanceVgroupLeaderStmt { ENodeType type; int32_t vgId; + char dbName[TSDB_DB_NAME_LEN]; } SBalanceVgroupLeaderStmt; typedef struct SMergeVgroupStmt { diff --git a/source/common/src/tmsg.c b/source/common/src/tmsg.c index 3836f13a2f..b7d1417451 100644 --- a/source/common/src/tmsg.c +++ b/source/common/src/tmsg.c @@ -5962,9 +5962,11 @@ int32_t tSerializeSBalanceVgroupLeaderReq(void *buf, int32_t bufLen, SBalanceVgr tEncoderInit(&encoder, buf, bufLen); if (tStartEncode(&encoder) < 0) return -1; - if (tEncodeI32(&encoder, pReq->useless) < 0) return -1; + if (tEncodeI32(&encoder, pReq->reserved) < 0) return -1; if (tEncodeI32(&encoder, pReq->vgId) < 0) return -1; ENCODESQL(); + if (tEncodeCStr(&encoder, pReq->db) < 0) return -1; + tEndEncode(&encoder); int32_t tlen = encoder.pos; @@ -5977,12 +5979,15 @@ int32_t tDeserializeSBalanceVgroupLeaderReq(void *buf, int32_t bufLen, SBalanceV tDecoderInit(&decoder, buf, bufLen); if (tStartDecode(&decoder) < 0) return -1; - if (tDecodeI32(&decoder, &pReq->useless) < 0) return -1; + if (tDecodeI32(&decoder, &pReq->reserved) < 0) return -1; if (!tDecodeIsEnd(&decoder)) { if (tDecodeI32(&decoder, &pReq->vgId) < 0) return -1; } - DECODESQL(); + if (!tDecodeIsEnd(&decoder)) { + if (tDecodeCStrTo(&decoder, pReq->db) < 0) return -1; + } + tEndDecode(&decoder); tDecoderClear(&decoder); diff --git a/source/libs/executor/inc/executorInt.h b/source/libs/executor/inc/executorInt.h index fac216e6e6..592231f043 100644 --- a/source/libs/executor/inc/executorInt.h +++ b/source/libs/executor/inc/executorInt.h @@ -446,17 +446,23 @@ typedef struct STimeWindowAggSupp { SColumnInfoData timeWindowData; // query time window info for scalar function execution. } STimeWindowAggSupp; +typedef struct SSteamOpBasicInfo { + int32_t primaryPkIndex; + bool updateOperatorInfo; +} SSteamOpBasicInfo; + typedef struct SStreamScanInfo { - SExprInfo* pPseudoExpr; - int32_t numOfPseudoExpr; - SExprSupp tbnameCalSup; - SExprSupp* pPartTbnameSup; - SExprSupp tagCalSup; - int32_t primaryTsIndex; // primary time stamp slot id - int32_t primaryKeyIndex; - SReadHandle readHandle; - SInterval interval; // if the upstream is an interval operator, the interval info is also kept here. - SColMatchInfo matchInfo; + SSteamOpBasicInfo basic; + SExprInfo* pPseudoExpr; + int32_t numOfPseudoExpr; + SExprSupp tbnameCalSup; + SExprSupp* pPartTbnameSup; + SExprSupp tagCalSup; + int32_t primaryTsIndex; // primary time stamp slot id + int32_t primaryKeyIndex; + SReadHandle readHandle; + SInterval interval; // if the upstream is an interval operator, the interval info is also kept here. + SColMatchInfo matchInfo; SArray* pBlockLists; // multiple SSDatablock. SSDataBlock* pRes; // result SSDataBlock @@ -568,10 +574,6 @@ typedef struct SOpCheckPointInfo { SHashObj* children; // key:child id } SOpCheckPointInfo; -typedef struct SSteamOpBasicInfo { - int32_t primaryPkIndex; -} SSteamOpBasicInfo; - typedef struct SStreamIntervalOperatorInfo { SOptrBasicInfo binfo; // basic info SSteamOpBasicInfo basic; diff --git a/source/libs/executor/inc/streamexecutorInt.h b/source/libs/executor/inc/streamexecutorInt.h new file mode 100644 index 0000000000..8b61b93601 --- /dev/null +++ b/source/libs/executor/inc/streamexecutorInt.h @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2019 TAOS Data, Inc. + * + * This program is free software: you can use, redistribute, and/or modify + * it under the terms of the GNU Affero General Public License, version 3 + * or later ("AGPL"), as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +#ifndef STREAM_EXECUTORINT_H +#define STREAM_EXECUTORINT_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "executorInt.h" + +void setStreamOperatorState(SSteamOpBasicInfo* pBasicInfo, EStreamType type); +bool needSaveStreamOperatorInfo(SSteamOpBasicInfo* pBasicInfo); +void saveStreamOperatorStateComplete(SSteamOpBasicInfo* pBasicInfo); + +#ifdef __cplusplus +} +#endif + +#endif // STREAM_EXECUTORINT_H diff --git a/source/libs/executor/src/scanoperator.c b/source/libs/executor/src/scanoperator.c index 38d3fa8e96..110aabf9b1 100644 --- a/source/libs/executor/src/scanoperator.c +++ b/source/libs/executor/src/scanoperator.c @@ -20,6 +20,7 @@ #include "os.h" #include "querynodes.h" #include "systable.h" +#include "streamexecutorInt.h" #include "tname.h" #include "tdatablock.h" @@ -2426,10 +2427,13 @@ void streamScanOperatorSaveCheckpoint(SStreamScanInfo* pInfo) { if (!pInfo->pState) { return; } - void* pBuf = NULL; - int32_t len = streamScanOperatorEncode(pInfo, &pBuf); - pInfo->stateStore.streamStateSaveInfo(pInfo->pState, STREAM_SCAN_OP_CHECKPOINT_NAME, strlen(STREAM_SCAN_OP_CHECKPOINT_NAME), pBuf, len); - taosMemoryFree(pBuf); + if (needSaveStreamOperatorInfo(&pInfo->basic)) { + void* pBuf = NULL; + int32_t len = streamScanOperatorEncode(pInfo, &pBuf); + pInfo->stateStore.streamStateSaveInfo(pInfo->pState, STREAM_SCAN_OP_CHECKPOINT_NAME, strlen(STREAM_SCAN_OP_CHECKPOINT_NAME), pBuf, len); + taosMemoryFree(pBuf); + saveStreamOperatorStateComplete(&pInfo->basic); + } } // other properties are recovered from the execution plan @@ -2582,6 +2586,7 @@ FETCH_NEXT_BLOCK: case STREAM_NORMAL: case STREAM_GET_ALL: printDataBlock(pBlock, getStreamOpName(pOperator->operatorType), GET_TASKID(pTaskInfo)); + setStreamOperatorState(&pInfo->basic, pBlock->info.type); return pBlock; case STREAM_RETRIEVE: { pInfo->blockType = STREAM_INPUT__DATA_SUBMIT; @@ -2622,6 +2627,7 @@ FETCH_NEXT_BLOCK: if (pInfo->pDeleteDataRes->info.rows > 0) { printSpecDataBlock(pInfo->pDeleteDataRes, getStreamOpName(pOperator->operatorType), "delete result", GET_TASKID(pTaskInfo)); + setStreamOperatorState(&pInfo->basic, pInfo->pDeleteDataRes->info.type); return pInfo->pDeleteDataRes; } else { goto FETCH_NEXT_BLOCK; @@ -2639,6 +2645,7 @@ FETCH_NEXT_BLOCK: if (pInfo->pDeleteDataRes->info.rows > 0) { pInfo->scanMode = STREAM_SCAN_FROM_DATAREADER_RANGE; printSpecDataBlock(pInfo->pDeleteDataRes, getStreamOpName(pOperator->operatorType), "delete result", GET_TASKID(pTaskInfo)); + setStreamOperatorState(&pInfo->basic, pInfo->pDeleteDataRes->info.type); return pInfo->pDeleteDataRes; } else { goto FETCH_NEXT_BLOCK; @@ -2652,6 +2659,7 @@ FETCH_NEXT_BLOCK: break; } printDataBlock(pBlock, getStreamOpName(pOperator->operatorType), GET_TASKID(pTaskInfo)); + setStreamOperatorState(&pInfo->basic, pBlock->info.type); return pBlock; } else if (pInfo->blockType == STREAM_INPUT__DATA_SUBMIT) { qDebug("stream scan mode:%d, %s", pInfo->scanMode, id); @@ -2659,6 +2667,7 @@ FETCH_NEXT_BLOCK: case STREAM_SCAN_FROM_RES: { pInfo->scanMode = STREAM_SCAN_FROM_READERHANDLE; doCheckUpdate(pInfo, pInfo->pRes->info.window.ekey, pInfo->pRes); + setStreamOperatorState(&pInfo->basic, pInfo->pRes->info.type); doFilter(pInfo->pRes, pOperator->exprSupp.pFilterInfo, NULL); pInfo->pRes->info.dataLoad = 1; blockDataUpdateTsWindow(pInfo->pRes, pInfo->primaryTsIndex); @@ -2762,6 +2771,7 @@ FETCH_NEXT_BLOCK: } doCheckUpdate(pInfo, pBlockInfo->window.ekey, pInfo->pRes); + setStreamOperatorState(&pInfo->basic, pInfo->pRes->info.type); doFilter(pInfo->pRes, pOperator->exprSupp.pFilterInfo, NULL); blockDataUpdateTsWindow(pInfo->pRes, pInfo->primaryTsIndex); diff --git a/source/libs/executor/src/streamcountwindowoperator.c b/source/libs/executor/src/streamcountwindowoperator.c index 491a1da6aa..050e67e15d 100644 --- a/source/libs/executor/src/streamcountwindowoperator.c +++ b/source/libs/executor/src/streamcountwindowoperator.c @@ -17,6 +17,7 @@ #include "functionMgt.h" #include "operator.h" #include "querytask.h" +#include "streamexecutorInt.h" #include "tchecksum.h" #include "tcommon.h" #include "tdatablock.h" @@ -415,13 +416,16 @@ void* doStreamCountDecodeOpState(void* buf, int32_t len, SOperatorInfo* pOperato void doStreamCountSaveCheckpoint(SOperatorInfo* pOperator) { SStreamCountAggOperatorInfo* pInfo = pOperator->info; - int32_t len = doStreamCountEncodeOpState(NULL, 0, pOperator, true); - void* buf = taosMemoryCalloc(1, len); - void* pBuf = buf; - len = doStreamCountEncodeOpState(&pBuf, len, pOperator, true); - pInfo->streamAggSup.stateStore.streamStateSaveInfo(pInfo->streamAggSup.pState, STREAM_COUNT_OP_CHECKPOINT_NAME, - strlen(STREAM_COUNT_OP_CHECKPOINT_NAME), buf, len); - taosMemoryFree(buf); + if (needSaveStreamOperatorInfo(&pInfo->basic)) { + int32_t len = doStreamCountEncodeOpState(NULL, 0, pOperator, true); + void* buf = taosMemoryCalloc(1, len); + void* pBuf = buf; + len = doStreamCountEncodeOpState(&pBuf, len, pOperator, true); + pInfo->streamAggSup.stateStore.streamStateSaveInfo(pInfo->streamAggSup.pState, STREAM_COUNT_OP_CHECKPOINT_NAME, + strlen(STREAM_COUNT_OP_CHECKPOINT_NAME), buf, len); + taosMemoryFree(buf); + saveStreamOperatorStateComplete(&pInfo->basic); + } } void doResetCountWindows(SStreamAggSupporter* pAggSup, SSDataBlock* pBlock) { @@ -550,6 +554,7 @@ static SSDataBlock* doStreamCountAgg(SOperatorInfo* pOperator) { break; } printSpecDataBlock(pBlock, getStreamOpName(pOperator->operatorType), "recv", GET_TASKID(pTaskInfo)); + setStreamOperatorState(&pInfo->basic, pBlock->info.type); if (pBlock->info.type == STREAM_DELETE_DATA || pBlock->info.type == STREAM_DELETE_RESULT) { bool add = pInfo->destHasPrimaryKey && IS_NORMAL_COUNT_OP(pOperator); diff --git a/source/libs/executor/src/streameventwindowoperator.c b/source/libs/executor/src/streameventwindowoperator.c index 1116851323..64d6244fe7 100644 --- a/source/libs/executor/src/streameventwindowoperator.c +++ b/source/libs/executor/src/streameventwindowoperator.c @@ -18,6 +18,7 @@ #include "functionMgt.h" #include "operator.h" #include "querytask.h" +#include "streamexecutorInt.h" #include "tchecksum.h" #include "tcommon.h" #include "tcompare.h" @@ -458,13 +459,16 @@ void* doStreamEventDecodeOpState(void* buf, int32_t len, SOperatorInfo* pOperato void doStreamEventSaveCheckpoint(SOperatorInfo* pOperator) { SStreamEventAggOperatorInfo* pInfo = pOperator->info; - int32_t len = doStreamEventEncodeOpState(NULL, 0, pOperator); - void* buf = taosMemoryCalloc(1, len); - void* pBuf = buf; - len = doStreamEventEncodeOpState(&pBuf, len, pOperator); - pInfo->streamAggSup.stateStore.streamStateSaveInfo(pInfo->streamAggSup.pState, STREAM_EVENT_OP_CHECKPOINT_NAME, - strlen(STREAM_EVENT_OP_CHECKPOINT_NAME), buf, len); - taosMemoryFree(buf); + if (needSaveStreamOperatorInfo(&pInfo->basic)) { + int32_t len = doStreamEventEncodeOpState(NULL, 0, pOperator); + void* buf = taosMemoryCalloc(1, len); + void* pBuf = buf; + len = doStreamEventEncodeOpState(&pBuf, len, pOperator); + pInfo->streamAggSup.stateStore.streamStateSaveInfo(pInfo->streamAggSup.pState, STREAM_EVENT_OP_CHECKPOINT_NAME, + strlen(STREAM_EVENT_OP_CHECKPOINT_NAME), buf, len); + taosMemoryFree(buf); + saveStreamOperatorStateComplete(&pInfo->basic); + } } static SSDataBlock* buildEventResult(SOperatorInfo* pOperator) { @@ -531,6 +535,7 @@ static SSDataBlock* doStreamEventAgg(SOperatorInfo* pOperator) { break; } printSpecDataBlock(pBlock, getStreamOpName(pOperator->operatorType), "recv", GET_TASKID(pTaskInfo)); + setStreamOperatorState(&pInfo->basic, pBlock->info.type); if (pBlock->info.type == STREAM_DELETE_DATA || pBlock->info.type == STREAM_DELETE_RESULT || pBlock->info.type == STREAM_CLEAR) { diff --git a/source/libs/executor/src/streamexecutorInt.c b/source/libs/executor/src/streamexecutorInt.c new file mode 100644 index 0000000000..875ae00350 --- /dev/null +++ b/source/libs/executor/src/streamexecutorInt.c @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2019 TAOS Data, Inc. + * + * This program is free software: you can use, redistribute, and/or modify + * it under the terms of the GNU Affero General Public License, version 3 + * or later ("AGPL"), as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +#include "executorInt.h" + +void setStreamOperatorState(SSteamOpBasicInfo* pBasicInfo, EStreamType type) { + if (type != STREAM_GET_ALL && type != STREAM_CHECKPOINT) { + pBasicInfo->updateOperatorInfo = true; + } +} + +bool needSaveStreamOperatorInfo(SSteamOpBasicInfo* pBasicInfo) { + return pBasicInfo->updateOperatorInfo; +} + +void saveStreamOperatorStateComplete(SSteamOpBasicInfo* pBasicInfo) { + pBasicInfo->updateOperatorInfo = false; +} diff --git a/source/libs/executor/src/streamtimewindowoperator.c b/source/libs/executor/src/streamtimewindowoperator.c index 08ce0e25f1..2da9ed0353 100644 --- a/source/libs/executor/src/streamtimewindowoperator.c +++ b/source/libs/executor/src/streamtimewindowoperator.c @@ -18,6 +18,7 @@ #include "functionMgt.h" #include "operator.h" #include "querytask.h" +#include "streamexecutorInt.h" #include "tchecksum.h" #include "tcommon.h" #include "tcompare.h" @@ -1211,13 +1212,16 @@ void doStreamIntervalDecodeOpState(void* buf, int32_t len, SOperatorInfo* pOpera void doStreamIntervalSaveCheckpoint(SOperatorInfo* pOperator) { SStreamIntervalOperatorInfo* pInfo = pOperator->info; - int32_t len = doStreamIntervalEncodeOpState(NULL, 0, pOperator); - void* buf = taosMemoryCalloc(1, len); - void* pBuf = buf; - len = doStreamIntervalEncodeOpState(&pBuf, len, pOperator); - pInfo->stateStore.streamStateSaveInfo(pInfo->pState, STREAM_INTERVAL_OP_CHECKPOINT_NAME, - strlen(STREAM_INTERVAL_OP_CHECKPOINT_NAME), buf, len); - taosMemoryFree(buf); + if (needSaveStreamOperatorInfo(&pInfo->basic)) { + int32_t len = doStreamIntervalEncodeOpState(NULL, 0, pOperator); + void* buf = taosMemoryCalloc(1, len); + void* pBuf = buf; + len = doStreamIntervalEncodeOpState(&pBuf, len, pOperator); + pInfo->stateStore.streamStateSaveInfo(pInfo->pState, STREAM_INTERVAL_OP_CHECKPOINT_NAME, + strlen(STREAM_INTERVAL_OP_CHECKPOINT_NAME), buf, len); + taosMemoryFree(buf); + saveStreamOperatorStateComplete(&pInfo->basic); + } } static void copyIntervalDeleteKey(SSHashObj* pMap, SArray* pWins) { @@ -1347,6 +1351,7 @@ static SSDataBlock* doStreamFinalIntervalAgg(SOperatorInfo* pOperator) { } pInfo->numOfDatapack++; printSpecDataBlock(pBlock, getStreamOpName(pOperator->operatorType), "recv", GET_TASKID(pTaskInfo)); + setStreamOperatorState(&pInfo->basic, pBlock->info.type); if (pBlock->info.type == STREAM_NORMAL || pBlock->info.type == STREAM_PULL_DATA) { pInfo->binfo.pRes->info.type = pBlock->info.type; @@ -2690,13 +2695,16 @@ void* doStreamSessionDecodeOpState(void* buf, int32_t len, SOperatorInfo* pOpera void doStreamSessionSaveCheckpoint(SOperatorInfo* pOperator) { SStreamSessionAggOperatorInfo* pInfo = pOperator->info; - int32_t len = doStreamSessionEncodeOpState(NULL, 0, pOperator, true); - void* buf = taosMemoryCalloc(1, len); - void* pBuf = buf; - len = doStreamSessionEncodeOpState(&pBuf, len, pOperator, true); - pInfo->streamAggSup.stateStore.streamStateSaveInfo(pInfo->streamAggSup.pState, STREAM_SESSION_OP_CHECKPOINT_NAME, - strlen(STREAM_SESSION_OP_CHECKPOINT_NAME), buf, len); - taosMemoryFree(buf); + if (needSaveStreamOperatorInfo(&pInfo->basic)) { + int32_t len = doStreamSessionEncodeOpState(NULL, 0, pOperator, true); + void* buf = taosMemoryCalloc(1, len); + void* pBuf = buf; + len = doStreamSessionEncodeOpState(&pBuf, len, pOperator, true); + pInfo->streamAggSup.stateStore.streamStateSaveInfo(pInfo->streamAggSup.pState, STREAM_SESSION_OP_CHECKPOINT_NAME, + strlen(STREAM_SESSION_OP_CHECKPOINT_NAME), buf, len); + taosMemoryFree(buf); + saveStreamOperatorStateComplete(&pInfo->basic); + } } void resetUnCloseSessionWinInfo(SSHashObj* winMap) { @@ -2766,6 +2774,7 @@ static SSDataBlock* doStreamSessionAgg(SOperatorInfo* pOperator) { break; } printSpecDataBlock(pBlock, getStreamOpName(pOperator->operatorType), "recv", GET_TASKID(pTaskInfo)); + setStreamOperatorState(&pInfo->basic, pBlock->info.type); if (pBlock->info.type == STREAM_DELETE_DATA || pBlock->info.type == STREAM_DELETE_RESULT || pBlock->info.type == STREAM_CLEAR) { @@ -3176,6 +3185,7 @@ static SSDataBlock* doStreamSessionSemiAgg(SOperatorInfo* pOperator) { break; } printSpecDataBlock(pBlock, getStreamOpName(pOperator->operatorType), "recv", GET_TASKID(pTaskInfo)); + setStreamOperatorState(&pInfo->basic, pBlock->info.type); if (pBlock->info.type == STREAM_DELETE_DATA || pBlock->info.type == STREAM_DELETE_RESULT || pBlock->info.type == STREAM_CLEAR) { @@ -3673,13 +3683,16 @@ void* doStreamStateDecodeOpState(void* buf, int32_t len, SOperatorInfo* pOperato void doStreamStateSaveCheckpoint(SOperatorInfo* pOperator) { SStreamStateAggOperatorInfo* pInfo = pOperator->info; - int32_t len = doStreamStateEncodeOpState(NULL, 0, pOperator, true); - void* buf = taosMemoryCalloc(1, len); - void* pBuf = buf; - len = doStreamStateEncodeOpState(&pBuf, len, pOperator, true); - pInfo->streamAggSup.stateStore.streamStateSaveInfo(pInfo->streamAggSup.pState, STREAM_STATE_OP_CHECKPOINT_NAME, - strlen(STREAM_STATE_OP_CHECKPOINT_NAME), buf, len); - taosMemoryFree(buf); + if (needSaveStreamOperatorInfo(&pInfo->basic)) { + int32_t len = doStreamStateEncodeOpState(NULL, 0, pOperator, true); + void* buf = taosMemoryCalloc(1, len); + void* pBuf = buf; + len = doStreamStateEncodeOpState(&pBuf, len, pOperator, true); + pInfo->streamAggSup.stateStore.streamStateSaveInfo(pInfo->streamAggSup.pState, STREAM_STATE_OP_CHECKPOINT_NAME, + strlen(STREAM_STATE_OP_CHECKPOINT_NAME), buf, len); + taosMemoryFree(buf); + saveStreamOperatorStateComplete(&pInfo->basic); + } } static SSDataBlock* buildStateResult(SOperatorInfo* pOperator) { @@ -3746,6 +3759,7 @@ static SSDataBlock* doStreamStateAgg(SOperatorInfo* pOperator) { break; } printSpecDataBlock(pBlock, getStreamOpName(pOperator->operatorType), "recv", GET_TASKID(pTaskInfo)); + setStreamOperatorState(&pInfo->basic, pBlock->info.type); if (pBlock->info.type == STREAM_DELETE_DATA || pBlock->info.type == STREAM_DELETE_RESULT || pBlock->info.type == STREAM_CLEAR) { @@ -4069,6 +4083,7 @@ static SSDataBlock* doStreamIntervalAgg(SOperatorInfo* pOperator) { pInfo->numOfDatapack++; printSpecDataBlock(pBlock, getStreamOpName(pOperator->operatorType), "recv", GET_TASKID(pTaskInfo)); + setStreamOperatorState(&pInfo->basic, pBlock->info.type); if (pBlock->info.type == STREAM_DELETE_DATA || pBlock->info.type == STREAM_DELETE_RESULT || pBlock->info.type == STREAM_CLEAR) { @@ -4465,6 +4480,7 @@ static SSDataBlock* doStreamMidIntervalAgg(SOperatorInfo* pOperator) { } pInfo->numOfDatapack++; printSpecDataBlock(pBlock, getStreamOpName(pOperator->operatorType), "recv", GET_TASKID(pTaskInfo)); + setStreamOperatorState(&pInfo->basic, pBlock->info.type); if (pBlock->info.type == STREAM_NORMAL || pBlock->info.type == STREAM_PULL_DATA) { pInfo->binfo.pRes->info.type = pBlock->info.type; diff --git a/source/libs/nodes/src/nodesCodeFuncs.c b/source/libs/nodes/src/nodesCodeFuncs.c index 0eaa2fd2b0..1aa30b854f 100644 --- a/source/libs/nodes/src/nodesCodeFuncs.c +++ b/source/libs/nodes/src/nodesCodeFuncs.c @@ -187,6 +187,8 @@ const char* nodesNodeName(ENodeType type) { return "BalanceVgroupStmt"; case QUERY_NODE_BALANCE_VGROUP_LEADER_STMT: return "BalanceVgroupLeaderStmt"; + case QUERY_NODE_BALANCE_VGROUP_LEADER_DATABASE_STMT: + return "BalanceVgroupLeaderStmt"; case QUERY_NODE_MERGE_VGROUP_STMT: return "MergeVgroupStmt"; case QUERY_NODE_SHOW_DB_ALIVE_STMT: @@ -7607,6 +7609,8 @@ static int32_t specificNodeToJson(const void* pObj, SJson* pJson) { return TSDB_CODE_SUCCESS; // SBalanceVgroupStmt has no fields to serialize. case QUERY_NODE_BALANCE_VGROUP_LEADER_STMT: return TSDB_CODE_SUCCESS; // SBalanceVgroupLeaderStmt has no fields to serialize. + case QUERY_NODE_BALANCE_VGROUP_LEADER_DATABASE_STMT: + return TSDB_CODE_SUCCESS; case QUERY_NODE_MERGE_VGROUP_STMT: return mergeVgroupStmtToJson(pObj, pJson); case QUERY_NODE_REDISTRIBUTE_VGROUP_STMT: @@ -7953,7 +7957,9 @@ static int32_t jsonToSpecificNode(const SJson* pJson, void* pObj) { case QUERY_NODE_BALANCE_VGROUP_STMT: return TSDB_CODE_SUCCESS; // SBalanceVgroupStmt has no fields to deserialize. case QUERY_NODE_BALANCE_VGROUP_LEADER_STMT: - return TSDB_CODE_SUCCESS; // SBalanceVgroupLeaderStmt has no fields to deserialize. + return TSDB_CODE_SUCCESS; + case QUERY_NODE_BALANCE_VGROUP_LEADER_DATABASE_STMT: + return TSDB_CODE_SUCCESS; // SBalanceVgroupLeaderStmt has no fields to deserialize. case QUERY_NODE_MERGE_VGROUP_STMT: return jsonToMergeVgroupStmt(pJson, pObj); case QUERY_NODE_REDISTRIBUTE_VGROUP_STMT: diff --git a/source/libs/nodes/src/nodesUtilFuncs.c b/source/libs/nodes/src/nodesUtilFuncs.c index adb011e3ec..cbffcde875 100644 --- a/source/libs/nodes/src/nodesUtilFuncs.c +++ b/source/libs/nodes/src/nodesUtilFuncs.c @@ -473,6 +473,8 @@ SNode* nodesMakeNode(ENodeType type) { return makeNode(type, sizeof(SBalanceVgroupStmt)); case QUERY_NODE_BALANCE_VGROUP_LEADER_STMT: return makeNode(type, sizeof(SBalanceVgroupLeaderStmt)); + case QUERY_NODE_BALANCE_VGROUP_LEADER_DATABASE_STMT: + return makeNode(type, sizeof(SBalanceVgroupLeaderStmt)); case QUERY_NODE_MERGE_VGROUP_STMT: return makeNode(type, sizeof(SMergeVgroupStmt)); case QUERY_NODE_REDISTRIBUTE_VGROUP_STMT: @@ -1161,6 +1163,7 @@ void nodesDestroyNode(SNode* pNode) { case QUERY_NODE_RESUME_STREAM_STMT: // no pointer field case QUERY_NODE_BALANCE_VGROUP_STMT: // no pointer field case QUERY_NODE_BALANCE_VGROUP_LEADER_STMT: // no pointer field + case QUERY_NODE_BALANCE_VGROUP_LEADER_DATABASE_STMT: // no pointer field case QUERY_NODE_MERGE_VGROUP_STMT: // no pointer field break; case QUERY_NODE_REDISTRIBUTE_VGROUP_STMT: diff --git a/source/libs/parser/inc/parAst.h b/source/libs/parser/inc/parAst.h index dac9599fa4..e8596c4d19 100644 --- a/source/libs/parser/inc/parAst.h +++ b/source/libs/parser/inc/parAst.h @@ -274,6 +274,7 @@ SNode* createKillStmt(SAstCreateContext* pCxt, ENodeType type, const SToken* pId SNode* createKillQueryStmt(SAstCreateContext* pCxt, const SToken* pQueryId); SNode* createBalanceVgroupStmt(SAstCreateContext* pCxt); SNode* createBalanceVgroupLeaderStmt(SAstCreateContext* pCxt, const SToken* pVgId); +SNode* createBalanceVgroupLeaderDBNameStmt(SAstCreateContext* pCxt, const SToken* pDbName); SNode* createMergeVgroupStmt(SAstCreateContext* pCxt, const SToken* pVgId1, const SToken* pVgId2); SNode* createRedistributeVgroupStmt(SAstCreateContext* pCxt, const SToken* pVgId, SNodeList* pDnodes); SNode* createSplitVgroupStmt(SAstCreateContext* pCxt, const SToken* pVgId); diff --git a/source/libs/parser/inc/sql.y b/source/libs/parser/inc/sql.y index 7ffc898529..60e33c6f33 100644 --- a/source/libs/parser/inc/sql.y +++ b/source/libs/parser/inc/sql.y @@ -773,6 +773,7 @@ cmd ::= KILL COMPACT NK_INTEGER(A). /************************************************ merge/redistribute/ vgroup ******************************************/ cmd ::= BALANCE VGROUP. { pCxt->pRootNode = createBalanceVgroupStmt(pCxt); } cmd ::= BALANCE VGROUP LEADER on_vgroup_id(A). { pCxt->pRootNode = createBalanceVgroupLeaderStmt(pCxt, &A); } +cmd ::= BALANCE VGROUP LEADER DATABASE db_name(A). { pCxt->pRootNode = createBalanceVgroupLeaderDBNameStmt(pCxt, &A); } cmd ::= MERGE VGROUP NK_INTEGER(A) NK_INTEGER(B). { pCxt->pRootNode = createMergeVgroupStmt(pCxt, &A, &B); } cmd ::= REDISTRIBUTE VGROUP NK_INTEGER(A) dnode_list(B). { pCxt->pRootNode = createRedistributeVgroupStmt(pCxt, &A, B); } cmd ::= SPLIT VGROUP NK_INTEGER(A). { pCxt->pRootNode = createSplitVgroupStmt(pCxt, &A); } diff --git a/source/libs/parser/src/parAstCreater.c b/source/libs/parser/src/parAstCreater.c index fa03780a6d..9ae9dfffd7 100644 --- a/source/libs/parser/src/parAstCreater.c +++ b/source/libs/parser/src/parAstCreater.c @@ -2809,6 +2809,16 @@ SNode* createBalanceVgroupLeaderStmt(SAstCreateContext* pCxt, const SToken* pVgI return (SNode*)pStmt; } +SNode* createBalanceVgroupLeaderDBNameStmt(SAstCreateContext* pCxt, const SToken* pDbName){ + CHECK_PARSER_STATUS(pCxt); + SBalanceVgroupLeaderStmt* pStmt = (SBalanceVgroupLeaderStmt*)nodesMakeNode(QUERY_NODE_BALANCE_VGROUP_LEADER_DATABASE_STMT); + CHECK_OUT_OF_MEM(pStmt); + if (NULL != pDbName) { + COPY_STRING_FORM_ID_TOKEN(pStmt->dbName, pDbName); + } + return (SNode*)pStmt; +} + SNode* createMergeVgroupStmt(SAstCreateContext* pCxt, const SToken* pVgId1, const SToken* pVgId2) { CHECK_PARSER_STATUS(pCxt); SMergeVgroupStmt* pStmt = (SMergeVgroupStmt*)nodesMakeNode(QUERY_NODE_MERGE_VGROUP_STMT); diff --git a/source/libs/parser/src/parTranslater.c b/source/libs/parser/src/parTranslater.c index 2745f7c15b..79b37c2950 100644 --- a/source/libs/parser/src/parTranslater.c +++ b/source/libs/parser/src/parTranslater.c @@ -10578,6 +10578,7 @@ static int32_t translateBalanceVgroup(STranslateContext* pCxt, SBalanceVgroupStm static int32_t translateBalanceVgroupLeader(STranslateContext* pCxt, SBalanceVgroupLeaderStmt* pStmt) { SBalanceVgroupLeaderReq req = {0}; req.vgId = pStmt->vgId; + if(pStmt->dbName != NULL) strcpy(req.db, pStmt->dbName); int32_t code = buildCmdMsg(pCxt, TDMT_MND_BALANCE_VGROUP_LEADER, (FSerializeFunc)tSerializeSBalanceVgroupLeaderReq, &req); tFreeSBalanceVgroupLeaderReq(&req); @@ -11263,6 +11264,9 @@ static int32_t translateQuery(STranslateContext* pCxt, SNode* pNode) { case QUERY_NODE_BALANCE_VGROUP_LEADER_STMT: code = translateBalanceVgroupLeader(pCxt, (SBalanceVgroupLeaderStmt*)pNode); break; + case QUERY_NODE_BALANCE_VGROUP_LEADER_DATABASE_STMT: + code = translateBalanceVgroupLeader(pCxt, (SBalanceVgroupLeaderStmt*)pNode); + break; case QUERY_NODE_MERGE_VGROUP_STMT: code = translateMergeVgroup(pCxt, (SMergeVgroupStmt*)pNode); break; diff --git a/source/libs/parser/src/sql.c b/source/libs/parser/src/sql.c index 2bbc9e95de..52dd135cd3 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,10 +24,7 @@ ** The following is the concatenation of all %include directives from the ** input grammar file: */ -#include -#include /************ Begin %include sections from the grammar ************************/ - #include #include #include @@ -42,11 +41,386 @@ #define YYSTACKDEPTH 0 /**************** 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_ENCRYPT_KEY 51 +#define TK_DNODE 52 +#define TK_PORT 53 +#define TK_DNODES 54 +#define TK_RESTORE 55 +#define TK_NK_IPTOKEN 56 +#define TK_FORCE 57 +#define TK_UNSAFE 58 +#define TK_CLUSTER 59 +#define TK_LOCAL 60 +#define TK_QNODE 61 +#define TK_BNODE 62 +#define TK_SNODE 63 +#define TK_MNODE 64 +#define TK_VNODE 65 +#define TK_DATABASE 66 +#define TK_USE 67 +#define TK_FLUSH 68 +#define TK_TRIM 69 +#define TK_S3MIGRATE 70 +#define TK_COMPACT 71 +#define TK_IF 72 +#define TK_NOT 73 +#define TK_EXISTS 74 +#define TK_BUFFER 75 +#define TK_CACHEMODEL 76 +#define TK_CACHESIZE 77 +#define TK_COMP 78 +#define TK_DURATION 79 +#define TK_NK_VARIABLE 80 +#define TK_MAXROWS 81 +#define TK_MINROWS 82 +#define TK_KEEP 83 +#define TK_PAGES 84 +#define TK_PAGESIZE 85 +#define TK_TSDB_PAGESIZE 86 +#define TK_PRECISION 87 +#define TK_REPLICA 88 +#define TK_VGROUPS 89 +#define TK_SINGLE_STABLE 90 +#define TK_RETENTIONS 91 +#define TK_SCHEMALESS 92 +#define TK_WAL_LEVEL 93 +#define TK_WAL_FSYNC_PERIOD 94 +#define TK_WAL_RETENTION_PERIOD 95 +#define TK_WAL_RETENTION_SIZE 96 +#define TK_WAL_ROLL_PERIOD 97 +#define TK_WAL_SEGMENT_SIZE 98 +#define TK_STT_TRIGGER 99 +#define TK_TABLE_PREFIX 100 +#define TK_TABLE_SUFFIX 101 +#define TK_S3_CHUNKSIZE 102 +#define TK_S3_KEEPLOCAL 103 +#define TK_S3_COMPACT 104 +#define TK_KEEP_TIME_OFFSET 105 +#define TK_ENCRYPT_ALGORITHM 106 +#define TK_NK_COLON 107 +#define TK_BWLIMIT 108 +#define TK_START 109 +#define TK_TIMESTAMP 110 +#define TK_END 111 +#define TK_TABLE 112 +#define TK_NK_LP 113 +#define TK_NK_RP 114 +#define TK_STABLE 115 +#define TK_COLUMN 116 +#define TK_MODIFY 117 +#define TK_RENAME 118 +#define TK_TAG 119 +#define TK_SET 120 +#define TK_NK_EQ 121 +#define TK_USING 122 +#define TK_TAGS 123 +#define TK_BOOL 124 +#define TK_TINYINT 125 +#define TK_SMALLINT 126 +#define TK_INT 127 +#define TK_INTEGER 128 +#define TK_BIGINT 129 +#define TK_FLOAT 130 +#define TK_DOUBLE 131 +#define TK_BINARY 132 +#define TK_NCHAR 133 +#define TK_UNSIGNED 134 +#define TK_JSON 135 +#define TK_VARCHAR 136 +#define TK_MEDIUMBLOB 137 +#define TK_BLOB 138 +#define TK_VARBINARY 139 +#define TK_GEOMETRY 140 +#define TK_DECIMAL 141 +#define TK_COMMENT 142 +#define TK_MAX_DELAY 143 +#define TK_WATERMARK 144 +#define TK_ROLLUP 145 +#define TK_TTL 146 +#define TK_SMA 147 +#define TK_DELETE_MARK 148 +#define TK_FIRST 149 +#define TK_LAST 150 +#define TK_SHOW 151 +#define TK_PRIVILEGES 152 +#define TK_DATABASES 153 +#define TK_TABLES 154 +#define TK_STABLES 155 +#define TK_MNODES 156 +#define TK_QNODES 157 +#define TK_ARBGROUPS 158 +#define TK_FUNCTIONS 159 +#define TK_INDEXES 160 +#define TK_ACCOUNTS 161 +#define TK_APPS 162 +#define TK_CONNECTIONS 163 +#define TK_LICENCES 164 +#define TK_GRANTS 165 +#define TK_FULL 166 +#define TK_LOGS 167 +#define TK_MACHINES 168 +#define TK_ENCRYPTIONS 169 +#define TK_QUERIES 170 +#define TK_SCORES 171 +#define TK_TOPICS 172 +#define TK_VARIABLES 173 +#define TK_BNODES 174 +#define TK_SNODES 175 +#define TK_TRANSACTIONS 176 +#define TK_DISTRIBUTED 177 +#define TK_CONSUMERS 178 +#define TK_SUBSCRIPTIONS 179 +#define TK_VNODES 180 +#define TK_ALIVE 181 +#define TK_VIEWS 182 +#define TK_VIEW 183 +#define TK_COMPACTS 184 +#define TK_NORMAL 185 +#define TK_CHILD 186 +#define TK_LIKE 187 +#define TK_TBNAME 188 +#define TK_QTAGS 189 +#define TK_AS 190 +#define TK_SYSTEM 191 +#define TK_TSMA 192 +#define TK_INTERVAL 193 +#define TK_RECURSIVE 194 +#define TK_TSMAS 195 +#define TK_FUNCTION 196 +#define TK_INDEX 197 +#define TK_COUNT 198 +#define TK_LAST_ROW 199 +#define TK_META 200 +#define TK_ONLY 201 +#define TK_TOPIC 202 +#define TK_CONSUMER 203 +#define TK_GROUP 204 +#define TK_DESC 205 +#define TK_DESCRIBE 206 +#define TK_RESET 207 +#define TK_QUERY 208 +#define TK_CACHE 209 +#define TK_EXPLAIN 210 +#define TK_ANALYZE 211 +#define TK_VERBOSE 212 +#define TK_NK_BOOL 213 +#define TK_RATIO 214 +#define TK_NK_FLOAT 215 +#define TK_OUTPUTTYPE 216 +#define TK_AGGREGATE 217 +#define TK_BUFSIZE 218 +#define TK_LANGUAGE 219 +#define TK_REPLACE 220 +#define TK_STREAM 221 +#define TK_INTO 222 +#define TK_PAUSE 223 +#define TK_RESUME 224 +#define TK_PRIMARY 225 +#define TK_KEY 226 +#define TK_TRIGGER 227 +#define TK_AT_ONCE 228 +#define TK_WINDOW_CLOSE 229 +#define TK_IGNORE 230 +#define TK_EXPIRED 231 +#define TK_FILL_HISTORY 232 +#define TK_UPDATE 233 +#define TK_SUBTABLE 234 +#define TK_UNTREATED 235 +#define TK_KILL 236 +#define TK_CONNECTION 237 +#define TK_TRANSACTION 238 +#define TK_BALANCE 239 +#define TK_VGROUP 240 +#define TK_LEADER 241 +#define TK_MERGE 242 +#define TK_REDISTRIBUTE 243 +#define TK_SPLIT 244 +#define TK_DELETE 245 +#define TK_INSERT 246 +#define TK_NK_BIN 247 +#define TK_NK_HEX 248 +#define TK_NULL 249 +#define TK_NK_QUESTION 250 +#define TK_NK_ALIAS 251 +#define TK_NK_ARROW 252 +#define TK_ROWTS 253 +#define TK_QSTART 254 +#define TK_QEND 255 +#define TK_QDURATION 256 +#define TK_WSTART 257 +#define TK_WEND 258 +#define TK_WDURATION 259 +#define TK_IROWTS 260 +#define TK_ISFILLED 261 +#define TK_CAST 262 +#define TK_NOW 263 +#define TK_TODAY 264 +#define TK_TIMEZONE 265 +#define TK_CLIENT_VERSION 266 +#define TK_SERVER_VERSION 267 +#define TK_SERVER_STATUS 268 +#define TK_CURRENT_USER 269 +#define TK_CASE 270 +#define TK_WHEN 271 +#define TK_THEN 272 +#define TK_ELSE 273 +#define TK_BETWEEN 274 +#define TK_IS 275 +#define TK_NK_LT 276 +#define TK_NK_GT 277 +#define TK_NK_LE 278 +#define TK_NK_GE 279 +#define TK_NK_NE 280 +#define TK_MATCH 281 +#define TK_NMATCH 282 +#define TK_CONTAINS 283 +#define TK_IN 284 +#define TK_JOIN 285 +#define TK_INNER 286 +#define TK_LEFT 287 +#define TK_RIGHT 288 +#define TK_OUTER 289 +#define TK_SEMI 290 +#define TK_ANTI 291 +#define TK_ASOF 292 +#define TK_WINDOW 293 +#define TK_WINDOW_OFFSET 294 +#define TK_JLIMIT 295 +#define TK_SELECT 296 +#define TK_NK_HINT 297 +#define TK_DISTINCT 298 +#define TK_WHERE 299 +#define TK_PARTITION 300 +#define TK_BY 301 +#define TK_SESSION 302 +#define TK_STATE_WINDOW 303 +#define TK_EVENT_WINDOW 304 +#define TK_COUNT_WINDOW 305 +#define TK_SLIDING 306 +#define TK_FILL 307 +#define TK_VALUE 308 +#define TK_VALUE_F 309 +#define TK_NONE 310 +#define TK_PREV 311 +#define TK_NULL_F 312 +#define TK_LINEAR 313 +#define TK_NEXT 314 +#define TK_HAVING 315 +#define TK_RANGE 316 +#define TK_EVERY 317 +#define TK_ORDER 318 +#define TK_SLIMIT 319 +#define TK_SOFFSET 320 +#define TK_LIMIT 321 +#define TK_OFFSET 322 +#define TK_ASC 323 +#define TK_NULLS 324 +#define TK_ABORT 325 +#define TK_AFTER 326 +#define TK_ATTACH 327 +#define TK_BEFORE 328 +#define TK_BEGIN 329 +#define TK_BITAND 330 +#define TK_BITNOT 331 +#define TK_BITOR 332 +#define TK_BLOCKS 333 +#define TK_CHANGE 334 +#define TK_COMMA 335 +#define TK_CONCAT 336 +#define TK_CONFLICT 337 +#define TK_COPY 338 +#define TK_DEFERRED 339 +#define TK_DELIMITERS 340 +#define TK_DETACH 341 +#define TK_DIVIDE 342 +#define TK_DOT 343 +#define TK_EACH 344 +#define TK_FAIL 345 +#define TK_FILE 346 +#define TK_FOR 347 +#define TK_GLOB 348 +#define TK_ID 349 +#define TK_IMMEDIATE 350 +#define TK_IMPORT 351 +#define TK_INITIALLY 352 +#define TK_INSTEAD 353 +#define TK_ISNULL 354 +#define TK_MODULES 355 +#define TK_NK_BITNOT 356 +#define TK_NK_SEMI 357 +#define TK_NOTNULL 358 +#define TK_OF 359 +#define TK_PLUS 360 +#define TK_PRIVILEGE 361 +#define TK_RAISE 362 +#define TK_RESTRICT 363 +#define TK_ROW 364 +#define TK_STAR 365 +#define TK_STATEMENT 366 +#define TK_STRICT 367 +#define TK_STRING 368 +#define TK_TIMES 369 +#define TK_VALUES 370 +#define TK_VARIABLE 371 +#define TK_WAL 372 +#define TK_ENCODE 373 +#define TK_COMPRESS 374 +#define TK_LEVEL 375 +#endif +/**************** End token definitions ***************************************/ /* The next sections is a series of control #defines. ** various aspects of the generated parser. @@ -143,18 +517,18 @@ typedef union { #define ParseCTX_FETCH #define ParseCTX_STORE #define YYFALLBACK 1 -#define YYNSTATE 961 -#define YYNRULE 747 -#define YYNRULE_WITH_ACTION 747 +#define YYNSTATE 963 +#define YYNRULE 748 +#define YYNRULE_WITH_ACTION 748 #define YYNTOKEN 376 -#define YY_MAX_SHIFT 960 -#define YY_MIN_SHIFTREDUCE 1429 -#define YY_MAX_SHIFTREDUCE 2175 -#define YY_ERROR_ACTION 2176 -#define YY_ACCEPT_ACTION 2177 -#define YY_NO_ACTION 2178 -#define YY_MIN_REDUCE 2179 -#define YY_MAX_REDUCE 2925 +#define YY_MAX_SHIFT 962 +#define YY_MIN_SHIFTREDUCE 1431 +#define YY_MAX_SHIFTREDUCE 2178 +#define YY_ERROR_ACTION 2179 +#define YY_ACCEPT_ACTION 2180 +#define YY_NO_ACTION 2181 +#define YY_MIN_REDUCE 2182 +#define YY_MAX_REDUCE 2929 /************* End control #defines *******************************************/ #define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0]))) @@ -223,329 +597,329 @@ typedef union { *********** Begin parsing tables **********************************************/ #define YY_ACTTAB_COUNT (3228) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 37, 337, 2535, 2701, 637, 540, 2370, 638, 2222, 190, - /* 10 */ 2676, 314, 47, 45, 2092, 2808, 801, 463, 493, 492, - /* 20 */ 468, 2180, 1913, 2532, 843, 40, 39, 2701, 66, 46, - /* 30 */ 44, 43, 42, 41, 1938, 2001, 1938, 1911, 2680, 2477, - /* 40 */ 836, 2805, 136, 1920, 2719, 135, 134, 133, 132, 131, - /* 50 */ 130, 129, 128, 127, 602, 600, 829, 408, 852, 371, - /* 60 */ 2666, 229, 838, 2365, 416, 33, 1996, 828, 2719, 798, - /* 70 */ 155, 40, 39, 19, 300, 46, 44, 43, 42, 41, - /* 80 */ 1919, 2266, 798, 155, 2666, 209, 838, 722, 136, 2682, - /* 90 */ 2685, 135, 134, 133, 132, 131, 130, 129, 128, 127, - /* 100 */ 857, 2428, 720, 251, 718, 285, 284, 640, 2700, 2230, - /* 110 */ 957, 2739, 2808, 15, 1939, 119, 2702, 842, 2704, 2705, - /* 120 */ 837, 645, 857, 103, 638, 2222, 197, 199, 852, 2793, - /* 130 */ 642, 2136, 2700, 464, 2789, 2739, 639, 62, 2804, 404, - /* 140 */ 2702, 842, 2704, 2705, 837, 835, 857, 821, 2758, 2003, - /* 150 */ 2004, 50, 436, 217, 2508, 751, 930, 929, 928, 927, - /* 160 */ 496, 2840, 926, 925, 160, 920, 919, 918, 917, 916, - /* 170 */ 915, 914, 159, 908, 907, 906, 495, 494, 903, 902, - /* 180 */ 901, 196, 195, 900, 491, 899, 898, 897, 1974, 1984, - /* 190 */ 800, 185, 2801, 2802, 776, 153, 2806, 289, 2002, 2005, - /* 200 */ 798, 155, 1760, 1761, 192, 2801, 797, 577, 147, 796, - /* 210 */ 786, 2659, 576, 1914, 484, 1912, 2891, 9, 2891, 2096, - /* 220 */ 575, 1923, 40, 39, 735, 1938, 46, 44, 43, 42, - /* 230 */ 41, 2357, 2701, 2202, 785, 216, 785, 216, 122, 2892, - /* 240 */ 787, 2892, 787, 1687, 1688, 839, 2385, 486, 2383, 1917, - /* 250 */ 1918, 1971, 775, 1973, 1976, 1977, 1978, 1979, 1980, 1981, - /* 260 */ 1982, 1983, 834, 855, 854, 1995, 1997, 1998, 1999, 2000, - /* 270 */ 2, 47, 45, 2719, 913, 473, 413, 2341, 1936, 468, - /* 280 */ 2719, 1913, 1841, 1842, 2896, 584, 857, 428, 605, 2666, - /* 290 */ 2666, 838, 2891, 604, 2001, 60, 1911, 40, 39, 452, - /* 300 */ 2582, 46, 44, 43, 42, 41, 749, 2011, 732, 1942, - /* 310 */ 563, 2895, 606, 1938, 197, 2892, 2894, 414, 565, 1496, - /* 320 */ 321, 1495, 125, 2801, 2802, 1996, 153, 2806, 180, 543, - /* 330 */ 853, 2381, 19, 660, 321, 2030, 151, 2700, 2384, 1919, - /* 340 */ 2739, 2067, 2509, 771, 119, 2702, 842, 2704, 2705, 837, - /* 350 */ 220, 857, 1469, 774, 157, 1497, 166, 2764, 2793, 2179, - /* 360 */ 40, 39, 464, 2789, 46, 44, 43, 42, 41, 957, - /* 370 */ 437, 1476, 15, 894, 172, 171, 891, 890, 889, 169, - /* 380 */ 1942, 551, 1938, 145, 144, 143, 142, 141, 140, 139, - /* 390 */ 138, 137, 653, 1975, 1471, 1474, 1475, 533, 62, 40, - /* 400 */ 39, 2031, 532, 46, 44, 43, 42, 41, 2003, 2004, - /* 410 */ 657, 2515, 2494, 656, 592, 591, 590, 589, 588, 583, - /* 420 */ 582, 581, 580, 420, 29, 1971, 2067, 570, 569, 568, - /* 430 */ 567, 566, 560, 559, 558, 253, 553, 552, 435, 640, - /* 440 */ 852, 2230, 544, 1748, 1749, 328, 329, 1974, 1984, 1767, - /* 450 */ 327, 752, 777, 772, 765, 761, 1972, 2002, 2005, 2891, - /* 460 */ 2813, 2064, 2065, 2066, 2813, 2813, 2813, 2813, 2813, 2522, - /* 470 */ 2372, 658, 1914, 517, 1912, 62, 896, 2897, 216, 212, - /* 480 */ 736, 1975, 2892, 787, 853, 2381, 853, 2381, 36, 466, - /* 490 */ 2025, 2026, 2027, 2028, 2029, 2033, 2034, 2035, 2036, 2069, - /* 500 */ 2070, 2071, 2072, 2073, 146, 2137, 55, 375, 1917, 1918, - /* 510 */ 1971, 683, 1973, 1976, 1977, 1978, 1979, 1980, 1981, 1982, - /* 520 */ 1983, 834, 855, 854, 1995, 1997, 1998, 1999, 2000, 2, - /* 530 */ 12, 47, 45, 50, 473, 1922, 2701, 2535, 181, 468, - /* 540 */ 1943, 1913, 116, 388, 1972, 857, 2064, 2065, 2066, 801, - /* 550 */ 207, 113, 470, 596, 2001, 1587, 1911, 2167, 2532, 843, - /* 560 */ 386, 76, 647, 2574, 75, 2701, 40, 39, 451, 2582, - /* 570 */ 46, 44, 43, 42, 41, 415, 733, 2719, 839, 2067, - /* 580 */ 2232, 321, 1939, 1919, 2676, 1996, 2896, 249, 619, 617, - /* 590 */ 614, 612, 19, 2666, 2891, 838, 40, 39, 1589, 1919, - /* 600 */ 46, 44, 43, 42, 41, 2487, 2719, 704, 703, 702, - /* 610 */ 521, 1943, 2680, 2895, 694, 152, 698, 2892, 2893, 240, - /* 620 */ 697, 2535, 2666, 654, 838, 696, 701, 445, 444, 957, - /* 630 */ 910, 695, 15, 62, 98, 443, 691, 690, 689, 523, - /* 640 */ 519, 2700, 2533, 843, 2739, 595, 239, 547, 119, 2702, - /* 650 */ 842, 2704, 2705, 837, 793, 857, 853, 2381, 321, 593, - /* 660 */ 199, 2377, 2793, 2682, 2684, 465, 464, 2789, 2003, 2004, - /* 670 */ 2700, 63, 2108, 2739, 857, 2166, 146, 119, 2702, 842, - /* 680 */ 2704, 2705, 837, 688, 857, 12, 2125, 655, 2528, 2911, - /* 690 */ 183, 2793, 2191, 51, 2841, 464, 2789, 912, 2813, 2064, - /* 700 */ 2065, 2066, 2813, 2813, 2813, 2813, 2813, 1974, 1984, 35, - /* 710 */ 1941, 1787, 1788, 1925, 2177, 40, 39, 2002, 2005, 46, - /* 720 */ 44, 43, 42, 41, 2355, 86, 85, 536, 2435, 2436, - /* 730 */ 228, 2089, 1914, 2441, 1912, 46, 44, 43, 42, 41, - /* 740 */ 98, 434, 2619, 528, 526, 768, 767, 2123, 2124, 2126, - /* 750 */ 2127, 2128, 2439, 12, 288, 10, 412, 438, 287, 515, - /* 760 */ 1786, 1789, 512, 508, 504, 501, 529, 2376, 1917, 1918, - /* 770 */ 1971, 1582, 1973, 1976, 1977, 1978, 1979, 1980, 1981, 1982, - /* 780 */ 1983, 834, 855, 854, 1995, 1997, 1998, 1999, 2000, 2, - /* 790 */ 47, 45, 2006, 1496, 2701, 1495, 752, 479, 468, 235, - /* 800 */ 1913, 499, 180, 863, 2891, 887, 498, 839, 2896, 2848, - /* 810 */ 2660, 486, 2383, 2001, 1583, 1911, 321, 488, 2701, 78, - /* 820 */ 2434, 2436, 2897, 216, 1599, 1941, 2808, 2892, 787, 1497, - /* 830 */ 786, 839, 101, 2861, 634, 2719, 1938, 423, 2891, 1598, - /* 840 */ 450, 2441, 724, 632, 1996, 92, 628, 624, 91, 461, - /* 850 */ 210, 2666, 2803, 838, 827, 752, 785, 216, 1919, 2719, - /* 860 */ 2439, 2892, 787, 2891, 853, 2381, 894, 172, 171, 891, - /* 870 */ 890, 889, 169, 89, 473, 2666, 321, 838, 442, 441, - /* 880 */ 319, 2897, 216, 482, 537, 857, 2892, 787, 957, 2460, - /* 890 */ 2368, 48, 894, 172, 171, 891, 890, 889, 169, 2700, - /* 900 */ 1499, 1500, 2739, 3, 2701, 736, 119, 2702, 842, 2704, - /* 910 */ 2705, 837, 607, 857, 1913, 53, 90, 839, 2911, 2160, - /* 920 */ 2793, 853, 2381, 2700, 464, 2789, 2739, 2003, 2004, 1911, - /* 930 */ 119, 2702, 842, 2704, 2705, 837, 822, 857, 2765, 549, - /* 940 */ 2504, 538, 2911, 794, 2793, 2719, 555, 2504, 464, 2789, - /* 950 */ 471, 862, 861, 860, 853, 2381, 440, 439, 179, 685, - /* 960 */ 2441, 2666, 824, 838, 2765, 2701, 1974, 1984, 472, 2386, - /* 970 */ 853, 2381, 1919, 1476, 659, 1882, 2002, 2005, 839, 2439, - /* 980 */ 763, 687, 2363, 853, 2381, 686, 2441, 738, 2574, 296, - /* 990 */ 557, 1914, 231, 1912, 487, 319, 2117, 1474, 1475, 233, - /* 1000 */ 586, 2504, 957, 571, 1975, 2439, 2719, 478, 477, 2700, - /* 1010 */ 62, 2118, 2739, 1942, 679, 678, 187, 2702, 842, 2704, - /* 1020 */ 2705, 837, 2666, 857, 838, 2088, 2201, 1917, 1918, 1971, - /* 1030 */ 2022, 1973, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, - /* 1040 */ 834, 855, 854, 1995, 1997, 1998, 1999, 2000, 2, 47, - /* 1050 */ 45, 2701, 489, 238, 2116, 579, 578, 468, 381, 1913, - /* 1060 */ 179, 1881, 681, 680, 839, 102, 2884, 1972, 853, 2381, - /* 1070 */ 2700, 2386, 2001, 2739, 1911, 788, 2912, 119, 2702, 842, - /* 1080 */ 2704, 2705, 837, 2666, 857, 700, 699, 2701, 572, 2911, - /* 1090 */ 182, 2793, 2719, 481, 480, 464, 2789, 1603, 2315, 1815, - /* 1100 */ 839, 2200, 2825, 1996, 1648, 1914, 2385, 1912, 2666, 531, - /* 1110 */ 838, 530, 1602, 111, 14, 13, 2199, 1919, 1639, 886, - /* 1120 */ 885, 884, 1643, 883, 1645, 1646, 882, 879, 2719, 1654, - /* 1130 */ 876, 1656, 1657, 873, 870, 867, 2192, 853, 2381, 2374, - /* 1140 */ 2316, 1917, 1918, 529, 2666, 117, 838, 957, 2701, 2895, - /* 1150 */ 48, 2032, 853, 2381, 853, 2381, 2700, 573, 2666, 2739, - /* 1160 */ 2356, 839, 158, 119, 2702, 842, 2704, 2705, 837, 375, - /* 1170 */ 857, 2373, 2378, 2666, 291, 2911, 2198, 2793, 853, 2381, - /* 1180 */ 190, 464, 2789, 211, 148, 609, 2003, 2004, 1478, 2719, - /* 1190 */ 853, 2381, 2700, 321, 1937, 2739, 88, 2197, 299, 119, - /* 1200 */ 2702, 842, 2704, 2705, 837, 2666, 857, 838, 853, 2381, - /* 1210 */ 804, 2911, 2196, 2793, 493, 492, 2195, 464, 2789, 2194, - /* 1220 */ 853, 2381, 853, 2381, 1927, 1974, 1984, 2044, 332, 853, - /* 1230 */ 2381, 2583, 896, 2666, 2854, 2002, 2005, 2001, 34, 1920, - /* 1240 */ 818, 1942, 339, 1938, 1943, 43, 42, 41, 2037, 850, - /* 1250 */ 1914, 2588, 1912, 2700, 2666, 2607, 2739, 853, 2381, 769, - /* 1260 */ 119, 2702, 842, 2704, 2705, 837, 2193, 857, 1996, 2666, - /* 1270 */ 924, 922, 2768, 2666, 2793, 2190, 2666, 851, 464, 2789, - /* 1280 */ 156, 687, 1919, 2764, 2189, 686, 1917, 1918, 1971, 2269, - /* 1290 */ 1973, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 834, - /* 1300 */ 855, 854, 1995, 1997, 1998, 1999, 2000, 2, 47, 45, - /* 1310 */ 2188, 2701, 826, 290, 853, 2381, 468, 2187, 1913, 853, - /* 1320 */ 2381, 2186, 2185, 2666, 839, 307, 179, 2620, 1648, 780, - /* 1330 */ 2184, 2001, 2666, 1911, 367, 888, 2358, 2387, 2432, 490, - /* 1340 */ 2183, 2666, 1639, 886, 885, 884, 1643, 883, 1645, 1646, - /* 1350 */ 833, 832, 2719, 1654, 831, 1656, 1657, 830, 870, 867, - /* 1360 */ 892, 2182, 1996, 2432, 704, 703, 702, 2666, 2666, 161, - /* 1370 */ 838, 694, 152, 698, 2666, 170, 1919, 697, 2666, 2666, - /* 1380 */ 2441, 752, 696, 701, 445, 444, 2441, 2666, 695, 2891, - /* 1390 */ 790, 2441, 443, 691, 690, 689, 2078, 2666, 2610, 805, - /* 1400 */ 893, 798, 155, 2432, 1560, 813, 957, 2897, 216, 15, - /* 1410 */ 2440, 382, 2892, 787, 2418, 1928, 2700, 1923, 2666, 2739, - /* 1420 */ 2207, 952, 2253, 119, 2702, 842, 2704, 2705, 837, 276, - /* 1430 */ 857, 278, 274, 280, 277, 2766, 279, 2793, 418, 417, - /* 1440 */ 282, 464, 2789, 281, 705, 2003, 2004, 1561, 474, 692, - /* 1450 */ 506, 1931, 1933, 726, 693, 725, 54, 2251, 2242, 2240, - /* 1460 */ 271, 2001, 2701, 483, 789, 855, 854, 1995, 1997, 1998, - /* 1470 */ 1999, 2000, 1943, 1580, 1972, 839, 1921, 191, 1578, 707, - /* 1480 */ 709, 712, 2169, 2170, 1974, 1984, 677, 673, 669, 665, - /* 1490 */ 1533, 270, 1996, 315, 2002, 2005, 222, 799, 346, 345, - /* 1500 */ 40, 39, 162, 2719, 46, 44, 43, 42, 41, 1914, - /* 1510 */ 150, 1912, 348, 347, 162, 759, 170, 326, 49, 2666, - /* 1520 */ 49, 838, 2720, 186, 2801, 2802, 2308, 153, 2806, 200, - /* 1530 */ 77, 14, 13, 1534, 64, 49, 2307, 99, 2687, 2513, - /* 1540 */ 268, 2844, 49, 77, 2223, 1917, 1918, 1971, 766, 1973, - /* 1550 */ 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 834, 855, - /* 1560 */ 854, 1995, 1997, 1998, 1999, 2000, 2, 2700, 167, 734, - /* 1570 */ 2739, 170, 350, 349, 119, 2702, 842, 2704, 2705, 837, - /* 1580 */ 74, 857, 729, 1831, 352, 351, 823, 960, 2793, 354, - /* 1590 */ 353, 865, 464, 2789, 2701, 1839, 2112, 803, 330, 2122, - /* 1600 */ 168, 2121, 2689, 373, 170, 356, 355, 839, 256, 904, - /* 1610 */ 305, 810, 358, 357, 457, 2038, 1985, 267, 773, 950, - /* 1620 */ 206, 258, 265, 1784, 1774, 360, 359, 263, 651, 946, - /* 1630 */ 942, 938, 934, 1552, 370, 2719, 752, 362, 361, 1904, - /* 1640 */ 149, 1880, 364, 363, 2891, 167, 255, 366, 365, 342, - /* 1650 */ 453, 2666, 1630, 838, 1924, 905, 807, 497, 2514, 2229, - /* 1660 */ 2429, 380, 2897, 216, 745, 2845, 2855, 2892, 787, 2234, - /* 1670 */ 317, 2701, 1661, 476, 475, 1905, 781, 791, 312, 1550, - /* 1680 */ 118, 1669, 123, 343, 839, 1676, 782, 2342, 711, 855, - /* 1690 */ 854, 1995, 1997, 1998, 1999, 2000, 320, 500, 5, 2700, - /* 1700 */ 505, 513, 2739, 723, 2701, 432, 120, 2702, 842, 2704, - /* 1710 */ 2705, 837, 2719, 857, 514, 814, 1946, 839, 525, 286, - /* 1720 */ 2793, 1674, 948, 524, 2792, 2789, 173, 223, 2666, 224, - /* 1730 */ 838, 527, 226, 1808, 2701, 374, 714, 1936, 541, 1937, - /* 1740 */ 548, 554, 237, 708, 706, 2719, 550, 839, 556, 598, - /* 1750 */ 283, 2701, 561, 574, 587, 610, 585, 611, 608, 2506, - /* 1760 */ 341, 2666, 820, 838, 839, 324, 243, 613, 594, 597, - /* 1770 */ 323, 615, 599, 242, 246, 2719, 2700, 618, 620, 2739, - /* 1780 */ 616, 635, 1944, 120, 2702, 842, 2704, 2705, 837, 293, - /* 1790 */ 857, 2666, 2719, 838, 4, 636, 72, 2793, 643, 71, - /* 1800 */ 644, 825, 2789, 646, 254, 94, 1939, 648, 2666, 840, - /* 1810 */ 838, 257, 2739, 1945, 649, 1947, 120, 2702, 842, 2704, - /* 1820 */ 2705, 837, 652, 857, 650, 1948, 737, 260, 2701, 802, - /* 1830 */ 2793, 262, 95, 2529, 427, 2789, 1949, 96, 2523, 2700, - /* 1840 */ 97, 839, 2739, 661, 269, 2701, 184, 2702, 842, 2704, - /* 1850 */ 2705, 837, 682, 857, 684, 2371, 2700, 715, 839, 2739, - /* 1860 */ 716, 409, 273, 120, 2702, 842, 2704, 2705, 837, 2719, - /* 1870 */ 857, 2367, 728, 730, 275, 175, 121, 2793, 100, 124, - /* 1880 */ 752, 2369, 2790, 752, 2364, 2666, 2719, 838, 2891, 292, - /* 1890 */ 176, 2891, 177, 753, 2851, 163, 2597, 1940, 2594, 2593, - /* 1900 */ 740, 739, 2666, 376, 838, 741, 2897, 216, 747, 2897, - /* 1910 */ 216, 2892, 787, 297, 2892, 787, 295, 2575, 744, 8, - /* 1920 */ 2832, 770, 2860, 808, 302, 2701, 756, 455, 2859, 746, - /* 1930 */ 304, 779, 757, 2700, 189, 306, 2739, 755, 839, 309, - /* 1940 */ 184, 2702, 842, 2704, 2705, 837, 754, 857, 308, 310, - /* 1950 */ 2700, 784, 783, 2739, 2701, 458, 2914, 405, 2702, 842, - /* 1960 */ 2704, 2705, 837, 311, 857, 154, 2719, 839, 795, 2812, - /* 1970 */ 313, 2890, 792, 1941, 2086, 1, 316, 2084, 203, 322, - /* 1980 */ 164, 377, 2666, 378, 838, 2809, 806, 2543, 2852, 2542, - /* 1990 */ 2541, 462, 811, 812, 819, 2719, 165, 218, 61, 816, - /* 2000 */ 335, 846, 2774, 844, 340, 379, 849, 456, 848, 110, - /* 2010 */ 2382, 2666, 2658, 838, 2657, 2701, 2653, 112, 369, 2652, - /* 2020 */ 2644, 1453, 2643, 2635, 2634, 383, 2650, 2649, 839, 951, - /* 2030 */ 2700, 2641, 954, 2739, 956, 2640, 52, 405, 2702, 842, - /* 2040 */ 2704, 2705, 837, 387, 857, 2629, 2628, 174, 859, 732, - /* 2050 */ 407, 2701, 2647, 385, 419, 2646, 2719, 395, 2638, 2700, - /* 2060 */ 2637, 424, 2739, 2626, 836, 2625, 398, 2702, 842, 2704, - /* 2070 */ 2705, 837, 2666, 857, 838, 2623, 2622, 2433, 406, 396, - /* 2080 */ 2618, 2617, 2616, 83, 425, 2611, 502, 503, 1864, 1865, - /* 2090 */ 221, 2609, 2719, 507, 509, 510, 511, 1863, 2608, 433, - /* 2100 */ 2606, 516, 2605, 518, 2604, 520, 2603, 522, 2666, 1852, - /* 2110 */ 838, 225, 2578, 227, 1811, 84, 1810, 778, 2579, 2556, - /* 2120 */ 2700, 2555, 2554, 2739, 534, 535, 2553, 187, 2702, 842, - /* 2130 */ 2704, 2705, 837, 2552, 857, 2496, 539, 1747, 2493, 2492, - /* 2140 */ 2701, 2486, 542, 2483, 545, 546, 230, 2482, 87, 2481, - /* 2150 */ 2480, 2485, 2484, 839, 562, 234, 2700, 232, 2479, 2739, - /* 2160 */ 2478, 2476, 2475, 404, 2702, 842, 2704, 2705, 837, 2701, - /* 2170 */ 857, 2474, 2759, 2473, 564, 2471, 2470, 2469, 2468, 2467, - /* 2180 */ 2491, 2719, 839, 2466, 2465, 2464, 2489, 2913, 2472, 2463, - /* 2190 */ 2701, 236, 2453, 93, 2452, 2451, 2450, 2666, 2462, 838, - /* 2200 */ 2461, 2459, 2458, 839, 2457, 2456, 2455, 2454, 2449, 2521, - /* 2210 */ 2719, 2490, 2488, 2448, 2447, 1753, 2446, 241, 2445, 2701, - /* 2220 */ 601, 2444, 467, 603, 2443, 2442, 2666, 2273, 838, 244, - /* 2230 */ 2272, 2719, 839, 245, 1596, 2271, 247, 1600, 2270, 1604, - /* 2240 */ 421, 2268, 2265, 2264, 2257, 2700, 2244, 2666, 2739, 838, - /* 2250 */ 2218, 469, 405, 2702, 842, 2704, 2705, 837, 2217, 857, - /* 2260 */ 2719, 1526, 622, 621, 623, 248, 625, 1477, 629, 422, - /* 2270 */ 627, 633, 626, 198, 2700, 630, 2666, 2739, 838, 631, - /* 2280 */ 2577, 405, 2702, 842, 2704, 2705, 837, 2573, 857, 80, - /* 2290 */ 250, 2563, 252, 2551, 261, 727, 81, 2686, 2739, 259, - /* 2300 */ 208, 2550, 400, 2702, 842, 2704, 2705, 837, 264, 857, - /* 2310 */ 641, 2527, 266, 2701, 2520, 2359, 2267, 2263, 662, 663, - /* 2320 */ 664, 2261, 666, 667, 2700, 668, 839, 2739, 2259, 670, - /* 2330 */ 2701, 390, 2702, 842, 2704, 2705, 837, 672, 857, 2256, - /* 2340 */ 671, 674, 675, 839, 676, 2239, 2237, 2701, 2238, 2236, - /* 2350 */ 2214, 2361, 272, 73, 2719, 1681, 1680, 2360, 2254, 1586, - /* 2360 */ 839, 1585, 1584, 1581, 1579, 2252, 1577, 1576, 1575, 1574, - /* 2370 */ 2666, 2719, 838, 921, 923, 1573, 1568, 446, 447, 1570, - /* 2380 */ 1569, 1567, 2243, 2241, 448, 449, 2213, 2666, 2719, 838, - /* 2390 */ 713, 2212, 2211, 2210, 2209, 721, 717, 719, 126, 2576, - /* 2400 */ 1850, 710, 28, 1846, 2666, 1848, 838, 1845, 1836, 67, - /* 2410 */ 2701, 2572, 1817, 294, 2562, 2549, 2548, 1819, 2700, 178, - /* 2420 */ 742, 2739, 2896, 839, 17, 389, 2702, 842, 2704, 2705, - /* 2430 */ 837, 6, 857, 20, 2139, 2700, 30, 7, 2739, 748, - /* 2440 */ 758, 454, 391, 2702, 842, 2704, 2705, 837, 301, 857, - /* 2450 */ 56, 2719, 2700, 21, 57, 2739, 1821, 22, 743, 397, - /* 2460 */ 2702, 842, 2704, 2705, 837, 298, 857, 2666, 202, 838, - /* 2470 */ 750, 32, 1796, 23, 1795, 213, 2687, 2079, 214, 2081, - /* 2480 */ 731, 2113, 760, 762, 188, 764, 65, 24, 303, 2154, - /* 2490 */ 2701, 2120, 201, 31, 2153, 459, 2158, 2157, 2107, 2077, - /* 2500 */ 460, 82, 215, 839, 2159, 318, 59, 2701, 2547, 2526, - /* 2510 */ 2160, 193, 105, 2525, 104, 2700, 2061, 106, 2739, 2060, - /* 2520 */ 839, 325, 401, 2702, 842, 2704, 2705, 837, 2519, 857, - /* 2530 */ 204, 2719, 2115, 2701, 331, 107, 69, 13, 25, 815, - /* 2540 */ 2013, 334, 2012, 1929, 11, 809, 839, 2666, 2719, 838, - /* 2550 */ 58, 1988, 2023, 1987, 872, 194, 205, 18, 1986, 875, - /* 2560 */ 878, 881, 38, 16, 2666, 1956, 838, 1964, 26, 2518, - /* 2570 */ 2701, 841, 108, 344, 2719, 845, 858, 27, 70, 338, - /* 2580 */ 109, 2744, 2175, 839, 2743, 2174, 1990, 856, 2173, 68, - /* 2590 */ 2666, 113, 838, 1662, 864, 2700, 485, 866, 2739, 817, - /* 2600 */ 336, 1659, 392, 2702, 842, 2704, 2705, 837, 868, 857, - /* 2610 */ 333, 2719, 2700, 869, 871, 2739, 1658, 1655, 874, 402, - /* 2620 */ 2702, 842, 2704, 2705, 837, 847, 857, 2666, 1649, 838, - /* 2630 */ 877, 2701, 1647, 880, 368, 2172, 1675, 1671, 2700, 114, - /* 2640 */ 115, 2739, 79, 895, 839, 393, 2702, 842, 2704, 2705, - /* 2650 */ 837, 1653, 857, 1652, 2701, 1564, 1651, 1650, 1563, 1524, - /* 2660 */ 1562, 1559, 1556, 1555, 1554, 1553, 1551, 839, 1549, 1548, - /* 2670 */ 1594, 1547, 2719, 219, 909, 2700, 1545, 1593, 2739, 911, - /* 2680 */ 1544, 1543, 403, 2702, 842, 2704, 2705, 837, 2666, 857, - /* 2690 */ 838, 1542, 1541, 1540, 1539, 2719, 1590, 1588, 1536, 1535, - /* 2700 */ 1532, 1531, 1530, 1529, 2262, 931, 932, 933, 2260, 935, - /* 2710 */ 936, 2666, 937, 838, 939, 2701, 2258, 941, 2255, 940, - /* 2720 */ 943, 945, 2235, 944, 947, 2233, 1466, 949, 839, 1454, - /* 2730 */ 953, 372, 955, 2178, 1915, 384, 2700, 2208, 958, 2739, - /* 2740 */ 2701, 959, 2178, 394, 2702, 842, 2704, 2705, 837, 2178, - /* 2750 */ 857, 2178, 2178, 839, 2178, 2178, 2719, 2178, 2178, 2700, - /* 2760 */ 2178, 2178, 2739, 2178, 2178, 2178, 410, 2702, 842, 2704, - /* 2770 */ 2705, 837, 2666, 857, 838, 2178, 2178, 2178, 2178, 2178, - /* 2780 */ 2178, 2719, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, - /* 2790 */ 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2666, 2178, 838, - /* 2800 */ 2178, 2701, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, - /* 2810 */ 2178, 2178, 2178, 2178, 839, 2178, 2178, 2178, 2178, 2178, - /* 2820 */ 2700, 2178, 2701, 2739, 2178, 2178, 2178, 411, 2702, 842, - /* 2830 */ 2704, 2705, 837, 2178, 857, 839, 2178, 2178, 2178, 2178, - /* 2840 */ 2178, 2178, 2719, 2178, 2178, 2700, 2178, 2178, 2739, 2178, - /* 2850 */ 2178, 2178, 2713, 2702, 842, 2704, 2705, 837, 2666, 857, - /* 2860 */ 838, 2178, 2178, 2719, 2178, 2178, 2178, 2178, 2178, 2178, - /* 2870 */ 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2666, - /* 2880 */ 2178, 838, 2178, 2701, 2178, 2178, 2178, 2178, 2178, 2178, - /* 2890 */ 2178, 2178, 2178, 2178, 2178, 2178, 839, 2178, 2178, 2178, - /* 2900 */ 2178, 2178, 2178, 2178, 2178, 2178, 2700, 2178, 2178, 2739, - /* 2910 */ 2178, 2178, 2178, 2712, 2702, 842, 2704, 2705, 837, 2178, - /* 2920 */ 857, 2178, 2178, 2178, 2719, 2178, 2178, 2700, 2178, 2178, - /* 2930 */ 2739, 2178, 2178, 2178, 2711, 2702, 842, 2704, 2705, 837, - /* 2940 */ 2666, 857, 838, 2178, 2701, 2178, 2178, 2178, 2178, 2178, - /* 2950 */ 2178, 2178, 2178, 2178, 2178, 2178, 2178, 839, 2178, 2178, - /* 2960 */ 2178, 2178, 2178, 2701, 2178, 2178, 2178, 2178, 2178, 2178, - /* 2970 */ 2178, 2178, 2178, 2178, 2178, 2178, 839, 2178, 2178, 2178, - /* 2980 */ 2178, 2178, 2178, 2178, 2178, 2719, 2178, 2178, 2700, 2178, - /* 2990 */ 2178, 2739, 2178, 2178, 2178, 429, 2702, 842, 2704, 2705, - /* 3000 */ 837, 2666, 857, 838, 2719, 2178, 2178, 2178, 2178, 2178, - /* 3010 */ 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, - /* 3020 */ 2666, 2178, 838, 2178, 2701, 2178, 2178, 2178, 2178, 2178, - /* 3030 */ 2178, 2178, 2178, 2178, 2178, 2178, 2178, 839, 2178, 2178, - /* 3040 */ 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2700, - /* 3050 */ 2178, 2178, 2739, 2178, 2178, 2178, 430, 2702, 842, 2704, - /* 3060 */ 2705, 837, 2178, 857, 2178, 2719, 2178, 2178, 2700, 2178, - /* 3070 */ 2178, 2739, 2178, 2178, 2178, 426, 2702, 842, 2704, 2705, - /* 3080 */ 837, 2666, 857, 838, 2178, 2178, 2178, 2178, 2178, 2178, - /* 3090 */ 2178, 2178, 2178, 2701, 2178, 2178, 2178, 2178, 2178, 2178, - /* 3100 */ 2178, 2178, 2178, 2178, 2178, 2178, 839, 2178, 2701, 2178, - /* 3110 */ 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, - /* 3120 */ 2178, 839, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2700, - /* 3130 */ 2178, 2178, 2739, 2178, 2719, 2178, 431, 2702, 842, 2704, - /* 3140 */ 2705, 837, 2178, 857, 2178, 2178, 2178, 2178, 2178, 2719, - /* 3150 */ 2666, 2178, 838, 2178, 2178, 2178, 2178, 2178, 2178, 2178, - /* 3160 */ 2178, 2178, 2178, 2178, 2178, 2666, 2178, 838, 2178, 2178, - /* 3170 */ 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, - /* 3180 */ 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, - /* 3190 */ 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 840, 2178, - /* 3200 */ 2178, 2739, 2178, 2178, 2178, 400, 2702, 842, 2704, 2705, - /* 3210 */ 837, 2178, 857, 2700, 2178, 2178, 2739, 2178, 2178, 2178, - /* 3220 */ 399, 2702, 842, 2704, 2705, 837, 2178, 857, + /* 0 */ 37, 338, 2538, 2705, 639, 542, 2373, 640, 2225, 190, + /* 10 */ 2680, 315, 47, 45, 2095, 2812, 803, 464, 494, 493, + /* 20 */ 469, 2183, 1916, 2535, 845, 40, 39, 2705, 66, 46, + /* 30 */ 44, 43, 42, 41, 1941, 2004, 1941, 1914, 2684, 2480, + /* 40 */ 838, 2809, 136, 1923, 2723, 135, 134, 133, 132, 131, + /* 50 */ 130, 129, 128, 127, 604, 602, 831, 409, 854, 372, + /* 60 */ 2670, 230, 840, 2368, 417, 33, 1999, 830, 2723, 800, + /* 70 */ 155, 40, 39, 19, 301, 46, 44, 43, 42, 41, + /* 80 */ 1922, 2269, 800, 155, 2670, 210, 840, 724, 136, 2686, + /* 90 */ 2689, 135, 134, 133, 132, 131, 130, 129, 128, 127, + /* 100 */ 859, 2431, 722, 252, 720, 286, 285, 642, 2704, 2233, + /* 110 */ 959, 2743, 2812, 15, 1942, 119, 2706, 844, 2708, 2709, + /* 120 */ 839, 647, 859, 103, 640, 2225, 197, 199, 854, 2797, + /* 130 */ 644, 2139, 2704, 465, 2793, 2743, 641, 62, 2808, 405, + /* 140 */ 2706, 844, 2708, 2709, 839, 837, 859, 823, 2762, 2006, + /* 150 */ 2007, 50, 437, 218, 2511, 753, 932, 931, 930, 929, + /* 160 */ 497, 2844, 928, 927, 160, 922, 921, 920, 919, 918, + /* 170 */ 917, 916, 159, 910, 909, 908, 496, 495, 905, 904, + /* 180 */ 903, 196, 195, 902, 492, 901, 900, 899, 1977, 1987, + /* 190 */ 802, 185, 2805, 2806, 778, 153, 2810, 290, 2005, 2008, + /* 200 */ 800, 155, 1762, 1763, 192, 2805, 799, 579, 147, 798, + /* 210 */ 788, 2663, 578, 1917, 485, 1915, 2895, 9, 2895, 2099, + /* 220 */ 577, 1926, 40, 39, 737, 1941, 46, 44, 43, 42, + /* 230 */ 41, 2360, 2705, 2205, 787, 217, 787, 217, 122, 2896, + /* 240 */ 789, 2896, 789, 1689, 1690, 841, 2388, 487, 2386, 1920, + /* 250 */ 1921, 1974, 777, 1976, 1979, 1980, 1981, 1982, 1983, 1984, + /* 260 */ 1985, 1986, 836, 857, 856, 1998, 2000, 2001, 2002, 2003, + /* 270 */ 2, 47, 45, 2723, 915, 474, 414, 2344, 1939, 469, + /* 280 */ 2723, 1916, 1843, 1844, 2900, 586, 859, 429, 607, 2670, + /* 290 */ 2670, 840, 2895, 606, 2004, 60, 1914, 40, 39, 453, + /* 300 */ 2585, 46, 44, 43, 42, 41, 751, 2014, 734, 1945, + /* 310 */ 565, 2899, 608, 1941, 197, 2896, 2898, 415, 567, 1498, + /* 320 */ 322, 1497, 125, 2805, 2806, 1999, 153, 2810, 180, 545, + /* 330 */ 855, 2384, 19, 662, 322, 2033, 151, 2704, 2387, 1922, + /* 340 */ 2743, 2070, 2512, 773, 119, 2706, 844, 2708, 2709, 839, + /* 350 */ 221, 859, 1471, 776, 157, 1499, 166, 2768, 2797, 2182, + /* 360 */ 40, 39, 465, 2793, 46, 44, 43, 42, 41, 959, + /* 370 */ 438, 1478, 15, 896, 172, 171, 893, 892, 891, 169, + /* 380 */ 1945, 553, 1941, 145, 144, 143, 142, 141, 140, 139, + /* 390 */ 138, 137, 655, 1978, 1473, 1476, 1477, 535, 62, 40, + /* 400 */ 39, 2034, 534, 46, 44, 43, 42, 41, 2006, 2007, + /* 410 */ 659, 2518, 2497, 658, 594, 593, 592, 591, 590, 585, + /* 420 */ 584, 583, 582, 421, 29, 1974, 2070, 572, 571, 570, + /* 430 */ 569, 568, 562, 561, 560, 254, 555, 554, 436, 642, + /* 440 */ 854, 2233, 546, 1750, 1751, 329, 330, 1977, 1987, 1769, + /* 450 */ 328, 754, 779, 774, 767, 763, 1975, 2005, 2008, 2895, + /* 460 */ 2817, 2067, 2068, 2069, 2817, 2817, 2817, 2817, 2817, 2525, + /* 470 */ 2375, 660, 1917, 519, 1915, 62, 898, 2901, 217, 213, + /* 480 */ 738, 1978, 2896, 789, 855, 2384, 855, 2384, 36, 467, + /* 490 */ 2028, 2029, 2030, 2031, 2032, 2036, 2037, 2038, 2039, 2072, + /* 500 */ 2073, 2074, 2075, 2076, 146, 2140, 55, 376, 1920, 1921, + /* 510 */ 1974, 685, 1976, 1979, 1980, 1981, 1982, 1983, 1984, 1985, + /* 520 */ 1986, 836, 857, 856, 1998, 2000, 2001, 2002, 2003, 2, + /* 530 */ 12, 47, 45, 50, 474, 1925, 2705, 2538, 181, 469, + /* 540 */ 1946, 1916, 116, 389, 1975, 859, 2067, 2068, 2069, 803, + /* 550 */ 208, 113, 471, 598, 2004, 1589, 1914, 2170, 2535, 845, + /* 560 */ 387, 76, 649, 2577, 75, 2705, 40, 39, 452, 2585, + /* 570 */ 46, 44, 43, 42, 41, 416, 735, 2723, 841, 2070, + /* 580 */ 2235, 322, 1942, 1922, 2680, 1999, 2900, 250, 621, 619, + /* 590 */ 616, 614, 19, 2670, 2895, 840, 40, 39, 1591, 1922, + /* 600 */ 46, 44, 43, 42, 41, 2490, 2723, 706, 705, 704, + /* 610 */ 523, 1946, 2684, 2899, 696, 152, 700, 2896, 2897, 241, + /* 620 */ 699, 2538, 2670, 656, 840, 698, 703, 446, 445, 959, + /* 630 */ 912, 697, 15, 62, 98, 444, 693, 692, 691, 525, + /* 640 */ 521, 2704, 2536, 845, 2743, 597, 240, 549, 119, 2706, + /* 650 */ 844, 2708, 2709, 839, 795, 859, 855, 2384, 322, 595, + /* 660 */ 199, 2380, 2797, 2686, 2688, 466, 465, 2793, 2006, 2007, + /* 670 */ 2704, 63, 2111, 2743, 859, 2169, 146, 119, 2706, 844, + /* 680 */ 2708, 2709, 839, 690, 859, 12, 2128, 657, 2531, 2915, + /* 690 */ 183, 2797, 2194, 51, 2845, 465, 2793, 914, 2817, 2067, + /* 700 */ 2068, 2069, 2817, 2817, 2817, 2817, 2817, 1977, 1987, 35, + /* 710 */ 1944, 1789, 1790, 1928, 2180, 40, 39, 2005, 2008, 46, + /* 720 */ 44, 43, 42, 41, 2358, 86, 85, 538, 2438, 2439, + /* 730 */ 229, 2092, 1917, 2444, 1915, 46, 44, 43, 42, 41, + /* 740 */ 98, 435, 2623, 530, 528, 770, 769, 2126, 2127, 2129, + /* 750 */ 2130, 2131, 2442, 12, 289, 10, 413, 439, 288, 517, + /* 760 */ 1788, 1791, 513, 509, 505, 502, 531, 2379, 1920, 1921, + /* 770 */ 1974, 1584, 1976, 1979, 1980, 1981, 1982, 1983, 1984, 1985, + /* 780 */ 1986, 836, 857, 856, 1998, 2000, 2001, 2002, 2003, 2, + /* 790 */ 47, 45, 2009, 1498, 2705, 1497, 754, 480, 469, 236, + /* 800 */ 1916, 500, 180, 865, 2895, 889, 499, 841, 2900, 2852, + /* 810 */ 2664, 487, 2386, 2004, 1585, 1914, 322, 489, 2705, 78, + /* 820 */ 2437, 2439, 2901, 217, 1601, 1944, 2812, 2896, 789, 1499, + /* 830 */ 788, 841, 101, 2865, 636, 2723, 1941, 424, 2895, 1600, + /* 840 */ 451, 2444, 726, 634, 1999, 92, 630, 626, 91, 462, + /* 850 */ 211, 2670, 2807, 840, 829, 754, 787, 217, 1922, 2723, + /* 860 */ 2442, 2896, 789, 2895, 855, 2384, 896, 172, 171, 893, + /* 870 */ 892, 891, 169, 89, 474, 2670, 322, 840, 443, 442, + /* 880 */ 320, 2901, 217, 483, 539, 859, 2896, 789, 959, 2463, + /* 890 */ 2371, 48, 896, 172, 171, 893, 892, 891, 169, 2704, + /* 900 */ 1501, 1502, 2743, 3, 2705, 738, 119, 2706, 844, 2708, + /* 910 */ 2709, 839, 609, 859, 1916, 53, 90, 841, 2915, 2163, + /* 920 */ 2797, 855, 2384, 2704, 465, 2793, 2743, 2006, 2007, 1914, + /* 930 */ 119, 2706, 844, 2708, 2709, 839, 824, 859, 2769, 551, + /* 940 */ 2507, 540, 2915, 796, 2797, 2723, 557, 2507, 465, 2793, + /* 950 */ 472, 864, 863, 862, 855, 2384, 441, 440, 179, 687, + /* 960 */ 2444, 2670, 826, 840, 2769, 2705, 1977, 1987, 473, 2389, + /* 970 */ 855, 2384, 1922, 1478, 661, 1885, 2005, 2008, 841, 2442, + /* 980 */ 765, 689, 2366, 855, 2384, 688, 2444, 740, 2577, 297, + /* 990 */ 559, 1917, 232, 1915, 488, 320, 2120, 1476, 1477, 234, + /* 1000 */ 588, 2507, 959, 573, 1978, 2442, 2723, 479, 478, 2704, + /* 1010 */ 62, 2121, 2743, 1945, 681, 680, 187, 2706, 844, 2708, + /* 1020 */ 2709, 839, 2670, 859, 840, 2091, 2204, 1920, 1921, 1974, + /* 1030 */ 2025, 1976, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, + /* 1040 */ 836, 857, 856, 1998, 2000, 2001, 2002, 2003, 2, 47, + /* 1050 */ 45, 2705, 490, 239, 2119, 581, 580, 469, 382, 1916, + /* 1060 */ 179, 1884, 683, 682, 841, 102, 2888, 1975, 855, 2384, + /* 1070 */ 2704, 2389, 2004, 2743, 1914, 790, 2916, 119, 2706, 844, + /* 1080 */ 2708, 2709, 839, 2670, 859, 702, 701, 2705, 574, 2915, + /* 1090 */ 182, 2797, 2723, 482, 481, 465, 2793, 1605, 2318, 1817, + /* 1100 */ 841, 2203, 2829, 1999, 1650, 1917, 2388, 1915, 2670, 533, + /* 1110 */ 840, 532, 1604, 111, 14, 13, 2202, 1922, 1641, 888, + /* 1120 */ 887, 886, 1645, 885, 1647, 1648, 884, 881, 2723, 1656, + /* 1130 */ 878, 1658, 1659, 875, 872, 869, 2195, 855, 2384, 2377, + /* 1140 */ 2319, 1920, 1921, 531, 2670, 117, 840, 959, 2705, 2899, + /* 1150 */ 48, 2035, 855, 2384, 855, 2384, 2704, 575, 2670, 2743, + /* 1160 */ 2359, 841, 158, 119, 2706, 844, 2708, 2709, 839, 376, + /* 1170 */ 859, 2376, 2381, 2670, 292, 2915, 2201, 2797, 855, 2384, + /* 1180 */ 190, 465, 2793, 212, 148, 611, 2006, 2007, 1480, 2723, + /* 1190 */ 855, 2384, 2704, 322, 1940, 2743, 88, 2200, 300, 119, + /* 1200 */ 2706, 844, 2708, 2709, 839, 2670, 859, 840, 855, 2384, + /* 1210 */ 806, 2915, 2199, 2797, 494, 493, 2198, 465, 2793, 2197, + /* 1220 */ 855, 2384, 855, 2384, 1930, 1977, 1987, 2047, 333, 855, + /* 1230 */ 2384, 2586, 898, 2670, 2858, 2005, 2008, 2004, 34, 1923, + /* 1240 */ 820, 1945, 340, 1941, 1946, 43, 42, 41, 2040, 852, + /* 1250 */ 1917, 2591, 1915, 2704, 2670, 2610, 2743, 855, 2384, 771, + /* 1260 */ 119, 2706, 844, 2708, 2709, 839, 2196, 859, 1999, 2670, + /* 1270 */ 926, 924, 2772, 2670, 2797, 2193, 2670, 853, 465, 2793, + /* 1280 */ 156, 689, 1922, 2768, 2192, 688, 1920, 1921, 1974, 2272, + /* 1290 */ 1976, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 836, + /* 1300 */ 857, 856, 1998, 2000, 2001, 2002, 2003, 2, 47, 45, + /* 1310 */ 2191, 2705, 828, 291, 855, 2384, 469, 2190, 1916, 855, + /* 1320 */ 2384, 2189, 2188, 2670, 841, 308, 179, 2624, 1650, 782, + /* 1330 */ 2187, 2004, 2670, 1914, 368, 890, 792, 2390, 2435, 491, + /* 1340 */ 2186, 2670, 1641, 888, 887, 886, 1645, 885, 1647, 1648, + /* 1350 */ 835, 834, 2723, 1656, 833, 1658, 1659, 832, 872, 869, + /* 1360 */ 894, 2185, 1999, 2435, 706, 705, 704, 2670, 2670, 170, + /* 1370 */ 840, 696, 152, 700, 2670, 316, 1922, 699, 2670, 2670, + /* 1380 */ 2444, 754, 698, 703, 446, 445, 2444, 2670, 697, 2895, + /* 1390 */ 2237, 2444, 444, 693, 692, 691, 2081, 2670, 514, 807, + /* 1400 */ 895, 800, 155, 2435, 2614, 815, 959, 2901, 217, 15, + /* 1410 */ 2443, 383, 2896, 789, 2421, 1931, 2704, 1926, 2670, 2743, + /* 1420 */ 2210, 954, 223, 119, 2706, 844, 2708, 2709, 839, 277, + /* 1430 */ 859, 279, 275, 281, 278, 2770, 280, 2797, 419, 418, + /* 1440 */ 2361, 465, 2793, 950, 283, 2006, 2007, 282, 475, 162, + /* 1450 */ 54, 1934, 1936, 162, 694, 695, 507, 728, 2691, 727, + /* 1460 */ 272, 2004, 2705, 484, 791, 857, 856, 1998, 2000, 2001, + /* 1470 */ 2002, 2003, 1946, 161, 1975, 841, 2256, 191, 1582, 1580, + /* 1480 */ 2254, 2172, 2173, 1562, 1977, 1987, 679, 675, 671, 667, + /* 1490 */ 2245, 271, 1999, 2243, 2005, 2008, 207, 801, 707, 150, + /* 1500 */ 40, 39, 709, 2723, 46, 44, 43, 42, 41, 1917, + /* 1510 */ 761, 1915, 711, 2724, 49, 714, 170, 906, 49, 2670, + /* 1520 */ 200, 840, 2693, 186, 2805, 2806, 1563, 153, 2810, 327, + /* 1530 */ 1833, 2311, 77, 2310, 1841, 64, 2516, 99, 347, 346, + /* 1540 */ 269, 1554, 14, 13, 49, 1920, 1921, 1974, 2226, 1976, + /* 1550 */ 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 836, 857, + /* 1560 */ 856, 1998, 2000, 2001, 2002, 2003, 2, 2704, 49, 736, + /* 1570 */ 2743, 77, 349, 348, 119, 2706, 844, 2708, 2709, 839, + /* 1580 */ 167, 859, 731, 170, 351, 350, 825, 962, 2797, 353, + /* 1590 */ 352, 2115, 465, 2793, 2705, 2125, 74, 805, 867, 2124, + /* 1600 */ 168, 306, 2848, 374, 355, 354, 170, 841, 257, 768, + /* 1610 */ 331, 458, 775, 812, 357, 356, 2041, 268, 454, 952, + /* 1620 */ 206, 259, 266, 793, 149, 1988, 1924, 264, 653, 948, + /* 1630 */ 944, 940, 936, 167, 371, 2723, 754, 809, 498, 1907, + /* 1640 */ 516, 1883, 359, 358, 2895, 907, 256, 361, 360, 1786, + /* 1650 */ 2517, 2670, 1776, 840, 363, 362, 365, 364, 1535, 367, + /* 1660 */ 366, 343, 2901, 217, 1632, 2232, 747, 2896, 789, 1552, + /* 1670 */ 2432, 2705, 783, 477, 476, 1908, 2849, 381, 2859, 1663, + /* 1680 */ 118, 1671, 123, 344, 841, 784, 318, 1678, 713, 857, + /* 1690 */ 856, 1998, 2000, 2001, 2002, 2003, 313, 321, 2345, 2704, + /* 1700 */ 5, 1536, 2743, 725, 2705, 1676, 120, 2706, 844, 2708, + /* 1710 */ 2709, 839, 2723, 859, 173, 816, 501, 841, 506, 287, + /* 1720 */ 2797, 1939, 433, 1949, 2796, 2793, 515, 526, 2670, 527, + /* 1730 */ 840, 224, 529, 225, 2705, 1810, 716, 227, 375, 543, + /* 1740 */ 1940, 550, 238, 710, 708, 2723, 552, 841, 600, 556, + /* 1750 */ 284, 2705, 558, 563, 587, 576, 2509, 589, 613, 612, + /* 1760 */ 342, 2670, 822, 840, 841, 325, 596, 610, 599, 601, + /* 1770 */ 324, 243, 244, 615, 247, 2723, 2704, 617, 618, 2743, + /* 1780 */ 620, 637, 622, 120, 2706, 844, 2708, 2709, 839, 294, + /* 1790 */ 859, 2670, 2723, 840, 1947, 4, 72, 2797, 638, 71, + /* 1800 */ 646, 827, 2793, 645, 1927, 648, 255, 94, 2670, 842, + /* 1810 */ 840, 1942, 2743, 650, 258, 1948, 120, 2706, 844, 2708, + /* 1820 */ 2709, 839, 651, 859, 1950, 652, 739, 261, 2705, 804, + /* 1830 */ 2797, 654, 263, 1951, 428, 2793, 2532, 95, 1952, 2704, + /* 1840 */ 684, 841, 2743, 2526, 96, 2705, 184, 2706, 844, 2708, + /* 1850 */ 2709, 839, 97, 859, 663, 270, 2704, 410, 841, 2743, + /* 1860 */ 717, 718, 124, 120, 2706, 844, 2708, 2709, 839, 2723, + /* 1870 */ 859, 686, 2600, 2374, 274, 2597, 100, 2797, 2370, 276, + /* 1880 */ 754, 175, 2794, 754, 121, 2670, 2723, 840, 2895, 2372, + /* 1890 */ 2367, 2895, 176, 755, 2855, 177, 2596, 730, 377, 163, + /* 1900 */ 732, 293, 2670, 1943, 840, 2578, 2901, 217, 742, 2901, + /* 1910 */ 217, 2896, 789, 741, 2896, 789, 298, 743, 296, 749, + /* 1920 */ 746, 748, 758, 772, 810, 2705, 8, 456, 2864, 2863, + /* 1930 */ 2836, 303, 781, 2704, 307, 189, 2743, 759, 841, 757, + /* 1940 */ 184, 2706, 844, 2708, 2709, 839, 305, 859, 311, 309, + /* 1950 */ 2704, 756, 312, 2743, 2705, 310, 786, 406, 2706, 844, + /* 1960 */ 2708, 2709, 839, 459, 859, 785, 2723, 841, 2918, 794, + /* 1970 */ 797, 2816, 314, 154, 1944, 2894, 317, 2089, 2087, 203, + /* 1980 */ 323, 2813, 2670, 164, 840, 808, 378, 2546, 2856, 2545, + /* 1990 */ 1, 219, 2544, 379, 463, 2723, 813, 814, 818, 165, + /* 2000 */ 61, 336, 821, 2778, 846, 848, 850, 457, 341, 851, + /* 2010 */ 380, 2670, 110, 840, 2385, 2705, 2662, 112, 1455, 2661, + /* 2020 */ 2657, 953, 861, 2656, 2648, 384, 2647, 956, 841, 2639, + /* 2030 */ 2704, 2638, 2654, 2743, 2653, 2645, 370, 406, 2706, 844, + /* 2040 */ 2708, 2709, 839, 2644, 859, 2633, 52, 174, 2632, 2651, + /* 2050 */ 408, 2705, 958, 2650, 734, 2642, 2723, 396, 386, 2704, + /* 2060 */ 2641, 2630, 2743, 2629, 838, 2627, 399, 2706, 844, 2708, + /* 2070 */ 2709, 839, 2670, 859, 840, 420, 2626, 2436, 407, 397, + /* 2080 */ 2622, 388, 2621, 2620, 425, 83, 426, 2615, 503, 504, + /* 2090 */ 1867, 1868, 2723, 222, 2613, 508, 510, 511, 512, 1866, + /* 2100 */ 2612, 2611, 434, 2609, 518, 2608, 520, 2607, 2670, 2606, + /* 2110 */ 840, 522, 524, 1854, 2582, 226, 2581, 780, 228, 1812, + /* 2120 */ 2704, 84, 1813, 2743, 2559, 2558, 2557, 187, 2706, 844, + /* 2130 */ 2708, 2709, 839, 536, 859, 537, 2556, 2555, 2499, 541, + /* 2140 */ 2705, 1749, 2496, 544, 2495, 2489, 2486, 547, 548, 2485, + /* 2150 */ 2484, 231, 2483, 841, 235, 564, 2704, 87, 2488, 2743, + /* 2160 */ 2487, 2482, 233, 405, 2706, 844, 2708, 2709, 839, 2705, + /* 2170 */ 859, 2481, 2763, 2479, 2478, 2477, 2476, 566, 2474, 2473, + /* 2180 */ 2472, 2723, 841, 2471, 2470, 2494, 2469, 2917, 2468, 2467, + /* 2190 */ 2705, 1755, 237, 2456, 2455, 2454, 93, 2670, 2492, 840, + /* 2200 */ 2475, 2466, 2465, 841, 2464, 2462, 2461, 2460, 2459, 2458, + /* 2210 */ 2723, 2457, 2453, 2452, 2524, 2493, 2491, 2451, 2450, 2705, + /* 2220 */ 2449, 2448, 468, 2447, 242, 603, 2670, 2446, 840, 605, + /* 2230 */ 2445, 2723, 841, 2276, 245, 2275, 246, 422, 2274, 2273, + /* 2240 */ 423, 1602, 2271, 248, 1606, 2704, 2268, 2670, 2743, 840, + /* 2250 */ 2267, 470, 406, 2706, 844, 2708, 2709, 839, 249, 859, + /* 2260 */ 2723, 1598, 623, 2260, 2247, 2221, 627, 1479, 625, 631, + /* 2270 */ 2220, 635, 2580, 629, 2704, 262, 2670, 2743, 840, 253, + /* 2280 */ 624, 406, 2706, 844, 2708, 2709, 839, 633, 859, 628, + /* 2290 */ 198, 80, 632, 251, 2576, 729, 2690, 81, 2743, 2566, + /* 2300 */ 209, 2554, 401, 2706, 844, 2708, 2709, 839, 643, 859, + /* 2310 */ 260, 2553, 2530, 2705, 2523, 265, 267, 2362, 1528, 2270, + /* 2320 */ 2266, 664, 666, 665, 2704, 2264, 841, 2743, 668, 669, + /* 2330 */ 2705, 391, 2706, 844, 2708, 2709, 839, 670, 859, 2262, + /* 2340 */ 672, 673, 674, 841, 2259, 676, 678, 2705, 677, 2242, + /* 2350 */ 2240, 2241, 2239, 2217, 2723, 2364, 1682, 2363, 1683, 1588, + /* 2360 */ 841, 1587, 73, 1586, 1583, 1581, 1579, 1578, 1577, 1576, + /* 2370 */ 2670, 2723, 840, 273, 923, 1575, 925, 1572, 1570, 1571, + /* 2380 */ 2257, 447, 1569, 2255, 448, 2246, 449, 2670, 2723, 840, + /* 2390 */ 2244, 450, 2216, 2215, 2214, 715, 2213, 719, 2212, 723, + /* 2400 */ 712, 126, 721, 1848, 2670, 1850, 840, 1847, 2579, 2575, + /* 2410 */ 2705, 1852, 295, 1819, 2565, 28, 2552, 1823, 2704, 67, + /* 2420 */ 2551, 2743, 1838, 841, 733, 390, 2706, 844, 2708, 2709, + /* 2430 */ 839, 2900, 859, 56, 1821, 2704, 20, 744, 2743, 17, + /* 2440 */ 21, 760, 392, 2706, 844, 2708, 2709, 839, 57, 859, + /* 2450 */ 745, 2723, 2704, 2550, 455, 2743, 6, 299, 764, 398, + /* 2460 */ 2706, 844, 2708, 2709, 839, 22, 859, 2670, 1798, 840, + /* 2470 */ 202, 1797, 178, 750, 752, 7, 214, 32, 2691, 2082, + /* 2480 */ 30, 766, 23, 215, 2084, 2142, 302, 65, 2116, 304, + /* 2490 */ 2705, 762, 24, 2123, 2157, 188, 2529, 201, 2156, 31, + /* 2500 */ 460, 2110, 82, 841, 18, 2080, 2161, 2705, 216, 2160, + /* 2510 */ 461, 2162, 59, 319, 2163, 2704, 2064, 193, 2743, 2063, + /* 2520 */ 841, 2528, 402, 2706, 844, 2708, 2709, 839, 105, 859, + /* 2530 */ 106, 2723, 104, 2705, 2522, 326, 107, 2118, 817, 204, + /* 2540 */ 25, 811, 13, 332, 69, 2016, 841, 2670, 2723, 840, + /* 2550 */ 1932, 334, 335, 2015, 58, 11, 2026, 194, 205, 1991, + /* 2560 */ 1990, 874, 877, 1967, 2670, 880, 840, 883, 38, 16, + /* 2570 */ 2705, 2521, 1989, 26, 2723, 843, 1959, 108, 27, 70, + /* 2580 */ 339, 819, 345, 841, 847, 1993, 2178, 109, 2177, 2748, + /* 2590 */ 2670, 2747, 840, 337, 858, 2704, 68, 113, 2743, 2176, + /* 2600 */ 860, 1664, 393, 2706, 844, 2708, 2709, 839, 868, 859, + /* 2610 */ 866, 2723, 2704, 486, 1661, 2743, 870, 1660, 871, 403, + /* 2620 */ 2706, 844, 2708, 2709, 839, 873, 859, 2670, 849, 840, + /* 2630 */ 1657, 2705, 876, 1651, 879, 882, 2175, 1649, 2704, 114, + /* 2640 */ 1655, 2743, 369, 115, 841, 394, 2706, 844, 2708, 2709, + /* 2650 */ 839, 1654, 859, 1677, 2705, 79, 1653, 1673, 1652, 1526, + /* 2660 */ 897, 1566, 1565, 1564, 1561, 1558, 1557, 841, 1556, 1555, + /* 2670 */ 1553, 1551, 2723, 1550, 1549, 2704, 1596, 911, 2743, 1595, + /* 2680 */ 220, 913, 404, 2706, 844, 2708, 2709, 839, 2670, 859, + /* 2690 */ 840, 1547, 1546, 1545, 1544, 2723, 1543, 1542, 1541, 1592, + /* 2700 */ 1590, 1538, 1537, 1534, 1533, 1532, 1531, 2265, 933, 934, + /* 2710 */ 935, 2670, 2263, 840, 937, 2705, 939, 2261, 941, 2258, + /* 2720 */ 943, 945, 938, 2238, 947, 942, 949, 946, 841, 1468, + /* 2730 */ 951, 2211, 1456, 955, 2181, 373, 2704, 2236, 1918, 2743, + /* 2740 */ 2705, 957, 960, 395, 2706, 844, 2708, 2709, 839, 385, + /* 2750 */ 859, 2181, 961, 841, 2181, 2181, 2723, 2181, 2181, 2704, + /* 2760 */ 2181, 2181, 2743, 2181, 2181, 2181, 411, 2706, 844, 2708, + /* 2770 */ 2709, 839, 2670, 859, 840, 2181, 2181, 2181, 2181, 2181, + /* 2780 */ 2181, 2723, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, + /* 2790 */ 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2670, 2181, 840, + /* 2800 */ 2181, 2705, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, + /* 2810 */ 2181, 2181, 2181, 2181, 841, 2181, 2181, 2181, 2181, 2181, + /* 2820 */ 2704, 2181, 2705, 2743, 2181, 2181, 2181, 412, 2706, 844, + /* 2830 */ 2708, 2709, 839, 2181, 859, 841, 2181, 2181, 2181, 2181, + /* 2840 */ 2181, 2181, 2723, 2181, 2181, 2704, 2181, 2181, 2743, 2181, + /* 2850 */ 2181, 2181, 2717, 2706, 844, 2708, 2709, 839, 2670, 859, + /* 2860 */ 840, 2181, 2181, 2723, 2181, 2181, 2181, 2181, 2181, 2181, + /* 2870 */ 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2670, + /* 2880 */ 2181, 840, 2181, 2705, 2181, 2181, 2181, 2181, 2181, 2181, + /* 2890 */ 2181, 2181, 2181, 2181, 2181, 2181, 841, 2181, 2181, 2181, + /* 2900 */ 2181, 2181, 2181, 2181, 2181, 2181, 2704, 2181, 2181, 2743, + /* 2910 */ 2181, 2181, 2181, 2716, 2706, 844, 2708, 2709, 839, 2181, + /* 2920 */ 859, 2181, 2181, 2181, 2723, 2181, 2181, 2704, 2181, 2181, + /* 2930 */ 2743, 2181, 2181, 2181, 2715, 2706, 844, 2708, 2709, 839, + /* 2940 */ 2670, 859, 840, 2181, 2705, 2181, 2181, 2181, 2181, 2181, + /* 2950 */ 2181, 2181, 2181, 2181, 2181, 2181, 2181, 841, 2181, 2181, + /* 2960 */ 2181, 2181, 2181, 2705, 2181, 2181, 2181, 2181, 2181, 2181, + /* 2970 */ 2181, 2181, 2181, 2181, 2181, 2181, 841, 2181, 2181, 2181, + /* 2980 */ 2181, 2181, 2181, 2181, 2181, 2723, 2181, 2181, 2704, 2181, + /* 2990 */ 2181, 2743, 2181, 2181, 2181, 430, 2706, 844, 2708, 2709, + /* 3000 */ 839, 2670, 859, 840, 2723, 2181, 2181, 2181, 2181, 2181, + /* 3010 */ 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, + /* 3020 */ 2670, 2181, 840, 2181, 2705, 2181, 2181, 2181, 2181, 2181, + /* 3030 */ 2181, 2181, 2181, 2181, 2181, 2181, 2181, 841, 2181, 2181, + /* 3040 */ 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2704, + /* 3050 */ 2181, 2181, 2743, 2181, 2181, 2181, 431, 2706, 844, 2708, + /* 3060 */ 2709, 839, 2181, 859, 2181, 2723, 2181, 2181, 2704, 2181, + /* 3070 */ 2181, 2743, 2181, 2181, 2181, 427, 2706, 844, 2708, 2709, + /* 3080 */ 839, 2670, 859, 840, 2181, 2181, 2181, 2181, 2181, 2181, + /* 3090 */ 2181, 2181, 2181, 2705, 2181, 2181, 2181, 2181, 2181, 2181, + /* 3100 */ 2181, 2181, 2181, 2181, 2181, 2181, 841, 2181, 2705, 2181, + /* 3110 */ 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, + /* 3120 */ 2181, 841, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2704, + /* 3130 */ 2181, 2181, 2743, 2181, 2723, 2181, 432, 2706, 844, 2708, + /* 3140 */ 2709, 839, 2181, 859, 2181, 2181, 2181, 2181, 2181, 2723, + /* 3150 */ 2670, 2181, 840, 2181, 2181, 2181, 2181, 2181, 2181, 2181, + /* 3160 */ 2181, 2181, 2181, 2181, 2181, 2670, 2181, 840, 2181, 2181, + /* 3170 */ 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, + /* 3180 */ 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, + /* 3190 */ 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 842, 2181, + /* 3200 */ 2181, 2743, 2181, 2181, 2181, 401, 2706, 844, 2708, 2709, + /* 3210 */ 839, 2181, 859, 2704, 2181, 2181, 2743, 2181, 2181, 2181, + /* 3220 */ 400, 2706, 844, 2708, 2709, 839, 2181, 859, }; static const YYCODETYPE yy_lookahead[] = { /* 0 */ 506, 507, 438, 379, 386, 391, 421, 389, 390, 519, @@ -681,149 +1055,149 @@ static const YYCODETYPE yy_lookahead[] = { /* 1300 */ 263, 264, 265, 266, 267, 268, 269, 270, 12, 13, /* 1310 */ 379, 379, 110, 478, 391, 392, 20, 379, 22, 391, /* 1320 */ 392, 379, 379, 436, 392, 534, 420, 463, 110, 13, - /* 1330 */ 379, 35, 436, 37, 411, 433, 0, 431, 436, 411, + /* 1330 */ 379, 35, 436, 37, 411, 433, 33, 431, 436, 411, /* 1340 */ 379, 436, 124, 125, 126, 127, 128, 129, 130, 131, /* 1350 */ 132, 133, 420, 135, 136, 137, 138, 139, 140, 141, /* 1360 */ 433, 379, 66, 436, 75, 76, 77, 436, 436, 33, - /* 1370 */ 438, 82, 83, 84, 436, 33, 80, 88, 436, 436, + /* 1370 */ 438, 82, 83, 84, 436, 552, 80, 88, 436, 436, /* 1380 */ 420, 517, 93, 94, 95, 96, 420, 436, 99, 525, - /* 1390 */ 33, 420, 103, 104, 105, 106, 80, 436, 0, 439, - /* 1400 */ 433, 391, 392, 436, 37, 439, 110, 543, 544, 113, + /* 1390 */ 0, 420, 103, 104, 105, 106, 80, 436, 42, 439, + /* 1400 */ 433, 391, 392, 436, 0, 439, 110, 543, 544, 113, /* 1410 */ 439, 413, 548, 549, 416, 213, 484, 215, 436, 487, - /* 1420 */ 382, 383, 0, 491, 492, 493, 494, 495, 496, 116, + /* 1420 */ 382, 383, 66, 491, 492, 493, 494, 495, 496, 116, /* 1430 */ 498, 116, 119, 116, 119, 503, 119, 505, 12, 13, - /* 1440 */ 116, 509, 510, 119, 22, 149, 150, 80, 22, 13, - /* 1450 */ 52, 249, 250, 231, 13, 233, 114, 0, 0, 0, + /* 1440 */ 0, 509, 510, 53, 116, 149, 150, 119, 22, 33, + /* 1450 */ 114, 249, 250, 33, 13, 13, 52, 231, 49, 233, /* 1460 */ 35, 35, 379, 37, 318, 263, 264, 265, 266, 267, - /* 1470 */ 268, 269, 251, 37, 251, 392, 37, 52, 37, 22, - /* 1480 */ 22, 22, 149, 150, 188, 189, 61, 62, 63, 64, - /* 1490 */ 37, 66, 66, 552, 198, 199, 241, 520, 12, 13, - /* 1500 */ 8, 9, 33, 420, 12, 13, 14, 15, 16, 213, - /* 1510 */ 395, 215, 12, 13, 33, 33, 33, 33, 33, 436, - /* 1520 */ 33, 438, 420, 513, 514, 515, 408, 517, 518, 33, - /* 1530 */ 33, 1, 2, 80, 33, 33, 408, 112, 49, 449, - /* 1540 */ 115, 449, 33, 33, 390, 249, 250, 251, 540, 253, + /* 1470 */ 268, 269, 251, 33, 251, 392, 0, 52, 37, 37, + /* 1480 */ 0, 149, 150, 37, 188, 189, 61, 62, 63, 64, + /* 1490 */ 0, 66, 66, 0, 198, 199, 241, 520, 22, 395, + /* 1500 */ 8, 9, 22, 420, 12, 13, 14, 15, 16, 213, + /* 1510 */ 33, 215, 22, 420, 33, 22, 33, 13, 33, 436, + /* 1520 */ 33, 438, 113, 513, 514, 515, 80, 517, 518, 33, + /* 1530 */ 114, 408, 33, 408, 114, 33, 449, 112, 12, 13, + /* 1540 */ 115, 37, 1, 2, 33, 249, 250, 251, 390, 253, /* 1550 */ 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, /* 1560 */ 264, 265, 266, 267, 268, 269, 270, 484, 33, 1, /* 1570 */ 487, 33, 12, 13, 491, 492, 493, 494, 495, 496, - /* 1580 */ 33, 498, 463, 114, 12, 13, 503, 19, 505, 12, - /* 1590 */ 13, 33, 509, 510, 379, 114, 114, 114, 114, 114, - /* 1600 */ 33, 114, 113, 35, 33, 12, 13, 392, 183, 13, - /* 1610 */ 114, 114, 12, 13, 540, 114, 114, 192, 540, 51, - /* 1620 */ 52, 196, 197, 114, 114, 12, 13, 202, 203, 61, - /* 1630 */ 62, 63, 64, 37, 66, 420, 517, 12, 13, 213, - /* 1640 */ 33, 215, 12, 13, 525, 33, 221, 12, 13, 114, - /* 1650 */ 462, 436, 114, 438, 215, 13, 540, 395, 449, 392, - /* 1660 */ 435, 114, 543, 544, 470, 449, 449, 548, 549, 0, - /* 1670 */ 545, 379, 114, 247, 248, 249, 524, 320, 511, 37, - /* 1680 */ 112, 114, 190, 115, 392, 114, 524, 410, 4, 263, - /* 1690 */ 264, 265, 266, 267, 268, 269, 527, 464, 299, 484, - /* 1700 */ 52, 42, 487, 19, 379, 486, 491, 492, 493, 494, - /* 1710 */ 495, 496, 420, 498, 485, 147, 20, 392, 475, 35, - /* 1720 */ 505, 114, 53, 230, 509, 510, 114, 480, 436, 400, - /* 1730 */ 438, 475, 400, 211, 379, 466, 52, 20, 391, 20, - /* 1740 */ 392, 392, 45, 59, 60, 420, 445, 392, 445, 187, - /* 1750 */ 66, 379, 442, 391, 445, 111, 392, 404, 109, 391, - /* 1760 */ 192, 436, 194, 438, 392, 197, 391, 391, 442, 442, - /* 1770 */ 202, 108, 442, 403, 391, 420, 484, 391, 391, 487, - /* 1780 */ 402, 384, 20, 491, 492, 493, 494, 495, 496, 221, - /* 1790 */ 498, 436, 420, 438, 50, 388, 112, 505, 384, 115, - /* 1800 */ 388, 509, 510, 475, 400, 400, 20, 438, 436, 484, - /* 1810 */ 438, 400, 487, 20, 393, 20, 491, 492, 493, 494, - /* 1820 */ 495, 496, 393, 498, 465, 20, 463, 400, 379, 463, - /* 1830 */ 505, 400, 400, 456, 509, 510, 20, 400, 450, 484, - /* 1840 */ 400, 392, 487, 391, 400, 379, 491, 492, 493, 494, - /* 1850 */ 495, 496, 384, 498, 420, 420, 484, 382, 392, 487, - /* 1860 */ 382, 384, 420, 491, 492, 493, 494, 495, 496, 420, - /* 1870 */ 498, 420, 234, 479, 420, 420, 420, 505, 113, 391, - /* 1880 */ 517, 420, 510, 517, 420, 436, 420, 438, 525, 398, - /* 1890 */ 420, 525, 420, 538, 539, 477, 436, 20, 436, 436, - /* 1900 */ 219, 218, 436, 475, 438, 472, 543, 544, 391, 543, - /* 1910 */ 544, 548, 549, 398, 548, 549, 471, 474, 438, 315, - /* 1920 */ 536, 307, 533, 306, 457, 379, 436, 461, 533, 464, - /* 1930 */ 457, 204, 317, 484, 533, 535, 487, 316, 392, 531, - /* 1940 */ 491, 492, 493, 494, 495, 496, 300, 498, 532, 530, - /* 1950 */ 484, 295, 294, 487, 379, 324, 553, 491, 492, 493, - /* 1960 */ 494, 495, 496, 464, 498, 392, 420, 392, 321, 523, - /* 1970 */ 522, 547, 319, 20, 123, 528, 546, 297, 393, 398, - /* 1980 */ 398, 457, 436, 457, 438, 490, 436, 436, 539, 436, - /* 1990 */ 436, 436, 196, 454, 450, 420, 398, 526, 113, 436, - /* 2000 */ 398, 436, 508, 196, 398, 416, 450, 461, 451, 398, - /* 2010 */ 392, 436, 436, 438, 436, 379, 436, 113, 398, 436, - /* 2020 */ 436, 22, 436, 436, 436, 391, 436, 436, 392, 38, - /* 2030 */ 484, 436, 381, 487, 384, 436, 467, 491, 492, 493, - /* 2040 */ 494, 495, 496, 377, 498, 436, 436, 385, 425, 483, - /* 2050 */ 476, 379, 436, 399, 422, 436, 420, 414, 436, 484, - /* 2060 */ 436, 458, 487, 436, 392, 436, 491, 492, 493, 494, - /* 2070 */ 495, 496, 436, 498, 438, 436, 436, 436, 414, 414, - /* 2080 */ 0, 0, 0, 45, 458, 0, 37, 240, 37, 37, - /* 2090 */ 37, 0, 420, 240, 37, 37, 240, 37, 0, 240, - /* 2100 */ 0, 37, 0, 37, 0, 22, 0, 37, 436, 235, - /* 2110 */ 438, 221, 0, 221, 215, 222, 213, 542, 0, 0, - /* 2120 */ 484, 0, 0, 487, 209, 208, 0, 491, 492, 493, - /* 2130 */ 494, 495, 496, 0, 498, 154, 49, 49, 0, 0, - /* 2140 */ 379, 0, 37, 0, 37, 52, 49, 0, 45, 0, - /* 2150 */ 0, 0, 0, 392, 37, 173, 484, 49, 0, 487, - /* 2160 */ 0, 0, 0, 491, 492, 493, 494, 495, 496, 379, - /* 2170 */ 498, 0, 500, 0, 173, 0, 0, 0, 0, 0, + /* 1580 */ 33, 498, 463, 33, 12, 13, 503, 19, 505, 12, + /* 1590 */ 13, 114, 509, 510, 379, 114, 33, 114, 33, 114, + /* 1600 */ 33, 114, 449, 35, 12, 13, 33, 392, 183, 540, + /* 1610 */ 114, 540, 540, 114, 12, 13, 114, 192, 462, 51, + /* 1620 */ 52, 196, 197, 320, 33, 114, 37, 202, 203, 61, + /* 1630 */ 62, 63, 64, 33, 66, 420, 517, 540, 395, 213, + /* 1640 */ 485, 215, 12, 13, 525, 13, 221, 12, 13, 114, + /* 1650 */ 449, 436, 114, 438, 12, 13, 12, 13, 37, 12, + /* 1660 */ 13, 114, 543, 544, 114, 392, 470, 548, 549, 37, + /* 1670 */ 435, 379, 524, 247, 248, 249, 449, 114, 449, 114, + /* 1680 */ 112, 114, 190, 115, 392, 524, 545, 114, 4, 263, + /* 1690 */ 264, 265, 266, 267, 268, 269, 511, 527, 410, 484, + /* 1700 */ 299, 80, 487, 19, 379, 114, 491, 492, 493, 494, + /* 1710 */ 495, 496, 420, 498, 114, 147, 464, 392, 52, 35, + /* 1720 */ 505, 20, 486, 20, 509, 510, 391, 230, 436, 475, + /* 1730 */ 438, 480, 475, 400, 379, 211, 52, 400, 466, 391, + /* 1740 */ 20, 392, 45, 59, 60, 420, 445, 392, 187, 392, + /* 1750 */ 66, 379, 445, 442, 392, 391, 391, 445, 404, 111, + /* 1760 */ 192, 436, 194, 438, 392, 197, 442, 109, 442, 442, + /* 1770 */ 202, 403, 391, 391, 391, 420, 484, 108, 402, 487, + /* 1780 */ 391, 384, 391, 491, 492, 493, 494, 495, 496, 221, + /* 1790 */ 498, 436, 420, 438, 20, 50, 112, 505, 388, 115, + /* 1800 */ 388, 509, 510, 384, 215, 475, 400, 400, 436, 484, + /* 1810 */ 438, 20, 487, 438, 400, 20, 491, 492, 493, 494, + /* 1820 */ 495, 496, 393, 498, 20, 465, 463, 400, 379, 463, + /* 1830 */ 505, 393, 400, 20, 509, 510, 456, 400, 20, 484, + /* 1840 */ 384, 392, 487, 450, 400, 379, 491, 492, 493, 494, + /* 1850 */ 495, 496, 400, 498, 391, 400, 484, 384, 392, 487, + /* 1860 */ 382, 382, 391, 491, 492, 493, 494, 495, 496, 420, + /* 1870 */ 498, 420, 436, 420, 420, 436, 113, 505, 420, 420, + /* 1880 */ 517, 420, 510, 517, 420, 436, 420, 438, 525, 420, + /* 1890 */ 420, 525, 420, 538, 539, 420, 436, 234, 475, 477, + /* 1900 */ 479, 398, 436, 20, 438, 474, 543, 544, 219, 543, + /* 1910 */ 544, 548, 549, 218, 548, 549, 398, 472, 471, 391, + /* 1920 */ 438, 464, 436, 307, 306, 379, 315, 461, 533, 533, + /* 1930 */ 536, 457, 204, 484, 535, 533, 487, 317, 392, 316, + /* 1940 */ 491, 492, 493, 494, 495, 496, 457, 498, 530, 532, + /* 1950 */ 484, 300, 464, 487, 379, 531, 295, 491, 492, 493, + /* 1960 */ 494, 495, 496, 324, 498, 294, 420, 392, 553, 319, + /* 1970 */ 321, 523, 522, 392, 20, 547, 546, 123, 297, 393, + /* 1980 */ 398, 490, 436, 398, 438, 436, 457, 436, 539, 436, + /* 1990 */ 528, 526, 436, 457, 436, 420, 196, 454, 436, 398, + /* 2000 */ 113, 398, 450, 508, 196, 436, 451, 461, 398, 450, + /* 2010 */ 416, 436, 398, 438, 392, 379, 436, 113, 22, 436, + /* 2020 */ 436, 38, 425, 436, 436, 391, 436, 381, 392, 436, + /* 2030 */ 484, 436, 436, 487, 436, 436, 398, 491, 492, 493, + /* 2040 */ 494, 495, 496, 436, 498, 436, 467, 385, 436, 436, + /* 2050 */ 476, 379, 384, 436, 483, 436, 420, 414, 399, 484, + /* 2060 */ 436, 436, 487, 436, 392, 436, 491, 492, 493, 494, + /* 2070 */ 495, 496, 436, 498, 438, 422, 436, 436, 414, 414, + /* 2080 */ 0, 377, 0, 0, 458, 45, 458, 0, 37, 240, + /* 2090 */ 37, 37, 420, 37, 0, 240, 37, 37, 240, 37, + /* 2100 */ 0, 0, 240, 0, 37, 0, 37, 0, 436, 0, + /* 2110 */ 438, 22, 37, 235, 0, 221, 0, 542, 221, 213, + /* 2120 */ 484, 222, 215, 487, 0, 0, 0, 491, 492, 493, + /* 2130 */ 494, 495, 496, 209, 498, 208, 0, 0, 154, 49, + /* 2140 */ 379, 49, 0, 37, 0, 0, 0, 37, 52, 0, + /* 2150 */ 0, 49, 0, 392, 173, 37, 484, 45, 0, 487, + /* 2160 */ 0, 0, 49, 491, 492, 493, 494, 495, 496, 379, + /* 2170 */ 498, 0, 500, 0, 0, 0, 0, 173, 0, 0, /* 2180 */ 0, 420, 392, 0, 0, 0, 0, 551, 0, 0, - /* 2190 */ 379, 49, 0, 45, 0, 0, 0, 436, 0, 438, + /* 2190 */ 379, 22, 49, 0, 0, 0, 45, 436, 0, 438, /* 2200 */ 0, 0, 0, 392, 0, 0, 0, 0, 0, 0, - /* 2210 */ 420, 0, 0, 0, 0, 22, 0, 154, 0, 379, - /* 2220 */ 153, 0, 461, 152, 0, 0, 436, 0, 438, 66, - /* 2230 */ 0, 420, 392, 66, 37, 0, 66, 22, 0, 22, - /* 2240 */ 50, 0, 0, 0, 0, 484, 0, 436, 487, 438, - /* 2250 */ 0, 461, 491, 492, 493, 494, 495, 496, 0, 498, - /* 2260 */ 420, 74, 52, 37, 42, 66, 37, 14, 37, 50, - /* 2270 */ 42, 37, 52, 33, 484, 52, 436, 487, 438, 42, - /* 2280 */ 0, 491, 492, 493, 494, 495, 496, 0, 498, 42, - /* 2290 */ 45, 0, 43, 0, 204, 484, 42, 49, 487, 42, + /* 2210 */ 420, 0, 0, 0, 0, 0, 0, 0, 0, 379, + /* 2220 */ 0, 0, 461, 0, 154, 153, 436, 0, 438, 152, + /* 2230 */ 0, 420, 392, 0, 66, 0, 66, 50, 0, 0, + /* 2240 */ 50, 22, 0, 66, 22, 484, 0, 436, 487, 438, + /* 2250 */ 0, 461, 491, 492, 493, 494, 495, 496, 66, 498, + /* 2260 */ 420, 37, 37, 0, 0, 0, 37, 14, 42, 37, + /* 2270 */ 0, 37, 0, 42, 484, 204, 436, 487, 438, 43, + /* 2280 */ 52, 491, 492, 493, 494, 495, 496, 42, 498, 52, + /* 2290 */ 33, 42, 52, 45, 0, 484, 49, 42, 487, 0, /* 2300 */ 49, 0, 491, 492, 493, 494, 495, 496, 49, 498, - /* 2310 */ 49, 0, 49, 379, 0, 0, 0, 0, 37, 52, - /* 2320 */ 42, 0, 37, 52, 484, 42, 392, 487, 0, 37, + /* 2310 */ 42, 0, 0, 379, 0, 49, 49, 0, 74, 0, + /* 2320 */ 0, 37, 42, 52, 484, 0, 392, 487, 37, 52, /* 2330 */ 379, 491, 492, 493, 494, 495, 496, 42, 498, 0, - /* 2340 */ 52, 37, 52, 392, 42, 0, 0, 379, 0, 0, - /* 2350 */ 0, 0, 119, 121, 420, 37, 22, 0, 0, 22, - /* 2360 */ 392, 37, 37, 37, 37, 0, 37, 37, 37, 37, - /* 2370 */ 436, 420, 438, 33, 33, 37, 22, 22, 22, 37, - /* 2380 */ 37, 37, 0, 0, 22, 22, 0, 436, 420, 438, - /* 2390 */ 37, 0, 0, 0, 0, 22, 37, 37, 20, 0, - /* 2400 */ 114, 54, 113, 37, 436, 37, 438, 37, 226, 113, - /* 2410 */ 379, 0, 37, 49, 0, 0, 0, 22, 484, 216, - /* 2420 */ 22, 487, 3, 392, 301, 491, 492, 493, 494, 495, - /* 2430 */ 496, 50, 498, 33, 114, 484, 113, 50, 487, 200, - /* 2440 */ 37, 37, 491, 492, 493, 494, 495, 496, 113, 498, - /* 2450 */ 190, 420, 484, 33, 190, 487, 220, 33, 190, 491, - /* 2460 */ 492, 493, 494, 495, 496, 196, 498, 436, 33, 438, - /* 2470 */ 200, 33, 190, 301, 190, 49, 49, 80, 33, 37, - /* 2480 */ 225, 114, 113, 111, 113, 109, 3, 33, 114, 37, - /* 2490 */ 379, 114, 113, 113, 37, 37, 37, 37, 114, 114, - /* 2500 */ 37, 113, 113, 392, 114, 49, 33, 379, 0, 0, - /* 2510 */ 114, 49, 42, 0, 113, 484, 114, 42, 487, 114, - /* 2520 */ 392, 114, 491, 492, 493, 494, 495, 496, 0, 498, - /* 2530 */ 113, 420, 114, 379, 113, 42, 113, 2, 33, 114, - /* 2540 */ 111, 113, 111, 22, 272, 193, 392, 436, 420, 438, - /* 2550 */ 285, 114, 249, 114, 113, 49, 49, 301, 114, 113, - /* 2560 */ 113, 113, 113, 113, 436, 114, 438, 22, 113, 0, - /* 2570 */ 379, 252, 42, 49, 420, 114, 123, 113, 113, 113, - /* 2580 */ 113, 113, 22, 392, 113, 22, 114, 113, 22, 113, - /* 2590 */ 436, 122, 438, 114, 37, 484, 37, 113, 487, 193, - /* 2600 */ 192, 114, 491, 492, 493, 494, 495, 496, 37, 498, - /* 2610 */ 197, 420, 484, 113, 37, 487, 114, 114, 37, 491, - /* 2620 */ 492, 493, 494, 495, 496, 193, 498, 436, 114, 438, - /* 2630 */ 37, 379, 114, 37, 33, 226, 37, 22, 484, 113, - /* 2640 */ 113, 487, 113, 73, 392, 491, 492, 493, 494, 495, - /* 2650 */ 496, 134, 498, 134, 379, 22, 134, 134, 37, 74, - /* 2660 */ 37, 37, 37, 37, 37, 37, 37, 392, 37, 37, - /* 2670 */ 80, 37, 420, 33, 107, 484, 37, 80, 487, 107, - /* 2680 */ 37, 37, 491, 492, 493, 494, 495, 496, 436, 498, - /* 2690 */ 438, 22, 37, 37, 37, 420, 80, 37, 37, 37, - /* 2700 */ 37, 37, 22, 37, 0, 37, 52, 42, 0, 37, - /* 2710 */ 52, 436, 42, 438, 37, 379, 0, 42, 0, 52, - /* 2720 */ 37, 42, 0, 52, 37, 0, 37, 22, 392, 22, - /* 2730 */ 33, 22, 21, 554, 22, 22, 484, 0, 21, 487, - /* 2740 */ 379, 20, 554, 491, 492, 493, 494, 495, 496, 554, - /* 2750 */ 498, 554, 554, 392, 554, 554, 420, 554, 554, 484, + /* 2340 */ 37, 52, 42, 392, 0, 37, 42, 379, 52, 0, + /* 2350 */ 0, 0, 0, 0, 420, 0, 22, 0, 37, 22, + /* 2360 */ 392, 37, 121, 37, 37, 37, 37, 37, 37, 37, + /* 2370 */ 436, 420, 438, 119, 33, 37, 33, 37, 22, 37, + /* 2380 */ 0, 22, 37, 0, 22, 0, 22, 436, 420, 438, + /* 2390 */ 0, 22, 0, 0, 0, 37, 0, 37, 0, 22, + /* 2400 */ 54, 20, 37, 37, 436, 37, 438, 37, 0, 0, + /* 2410 */ 379, 114, 49, 37, 0, 113, 0, 220, 484, 113, + /* 2420 */ 0, 487, 226, 392, 225, 491, 492, 493, 494, 495, + /* 2430 */ 496, 3, 498, 190, 22, 484, 33, 22, 487, 301, + /* 2440 */ 33, 37, 491, 492, 493, 494, 495, 496, 190, 498, + /* 2450 */ 190, 420, 484, 0, 37, 487, 50, 196, 111, 491, + /* 2460 */ 492, 493, 494, 495, 496, 33, 498, 436, 190, 438, + /* 2470 */ 33, 190, 216, 200, 200, 50, 49, 33, 49, 80, + /* 2480 */ 113, 109, 301, 33, 37, 114, 113, 3, 114, 114, + /* 2490 */ 379, 113, 33, 114, 37, 113, 0, 113, 37, 113, + /* 2500 */ 37, 114, 113, 392, 301, 114, 37, 379, 113, 37, + /* 2510 */ 37, 114, 33, 49, 114, 484, 114, 49, 487, 114, + /* 2520 */ 392, 0, 491, 492, 493, 494, 495, 496, 42, 498, + /* 2530 */ 42, 420, 113, 379, 0, 114, 42, 114, 114, 113, + /* 2540 */ 33, 193, 2, 113, 113, 111, 392, 436, 420, 438, + /* 2550 */ 22, 197, 113, 111, 285, 272, 249, 49, 49, 114, + /* 2560 */ 114, 113, 113, 22, 436, 113, 438, 113, 113, 113, + /* 2570 */ 379, 0, 114, 113, 420, 252, 114, 42, 113, 113, + /* 2580 */ 113, 193, 49, 392, 114, 114, 22, 113, 22, 113, + /* 2590 */ 436, 113, 438, 192, 113, 484, 113, 122, 487, 22, + /* 2600 */ 123, 114, 491, 492, 493, 494, 495, 496, 113, 498, + /* 2610 */ 37, 420, 484, 37, 114, 487, 37, 114, 113, 491, + /* 2620 */ 492, 493, 494, 495, 496, 37, 498, 436, 193, 438, + /* 2630 */ 114, 379, 37, 114, 37, 37, 226, 114, 484, 113, + /* 2640 */ 134, 487, 33, 113, 392, 491, 492, 493, 494, 495, + /* 2650 */ 496, 134, 498, 37, 379, 113, 134, 22, 134, 74, + /* 2660 */ 73, 22, 37, 37, 37, 37, 37, 392, 37, 37, + /* 2670 */ 37, 37, 420, 37, 37, 484, 80, 107, 487, 80, + /* 2680 */ 33, 107, 491, 492, 493, 494, 495, 496, 436, 498, + /* 2690 */ 438, 37, 37, 37, 22, 420, 37, 37, 37, 80, + /* 2700 */ 37, 37, 37, 37, 37, 22, 37, 0, 37, 52, + /* 2710 */ 42, 436, 0, 438, 37, 379, 42, 0, 37, 0, + /* 2720 */ 42, 37, 52, 0, 42, 52, 37, 52, 392, 37, + /* 2730 */ 22, 0, 22, 33, 554, 22, 484, 0, 22, 487, + /* 2740 */ 379, 21, 21, 491, 492, 493, 494, 495, 496, 22, + /* 2750 */ 498, 554, 20, 392, 554, 554, 420, 554, 554, 484, /* 2760 */ 554, 554, 487, 554, 554, 554, 491, 492, 493, 494, /* 2770 */ 495, 496, 436, 498, 438, 554, 554, 554, 554, 554, /* 2780 */ 554, 420, 554, 554, 554, 554, 554, 554, 554, 554, @@ -910,7 +1284,7 @@ static const YYCODETYPE yy_lookahead[] = { /* 3590 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, /* 3600 */ 376, 376, 376, 376, }; -#define YY_SHIFT_COUNT (960) +#define YY_SHIFT_COUNT (962) #define YY_SHIFT_MIN (0) #define YY_SHIFT_MAX (2737) static const unsigned short int yy_shift_ofst[] = { @@ -934,85 +1308,85 @@ static const unsigned short int yy_shift_ofst[] = { /* 170 */ 16, 503, 503, 682, 25, 994, 994, 994, 994, 994, /* 180 */ 994, 1568, 1289, 21, 289, 413, 413, 352, 437, 150, /* 190 */ 210, 299, 260, 205, 293, 6, 6, 360, 950, 993, - /* 200 */ 974, 974, 974, 105, 974, 816, 773, 1221, 1174, 1139, - /* 210 */ 882, 1221, 1221, 1223, 1316, 1316, 1146, 870, 727, 617, - /* 220 */ 1399, 1648, 1659, 1696, 1493, 261, 1696, 261, 1522, 1717, - /* 230 */ 1719, 1697, 1719, 1697, 1562, 1717, 1719, 1717, 1697, 1562, - /* 240 */ 1562, 1562, 1644, 1649, 1717, 1717, 1663, 1717, 1717, 1717, - /* 250 */ 1762, 1744, 1762, 1744, 1696, 261, 261, 1786, 261, 1793, - /* 260 */ 1795, 261, 1793, 261, 1805, 261, 1816, 261, 261, 1717, - /* 270 */ 261, 1762, 16, 16, 16, 16, 16, 16, 16, 16, - /* 280 */ 16, 16, 16, 1717, 25, 25, 1762, 503, 503, 503, - /* 290 */ 1638, 1765, 1696, 404, 1877, 1681, 1683, 1786, 404, 1399, - /* 300 */ 1717, 503, 1614, 1617, 1614, 1617, 1604, 1727, 1614, 1615, - /* 310 */ 1621, 1646, 1399, 1656, 1658, 1631, 1647, 1653, 1719, 1953, - /* 320 */ 1851, 1680, 1793, 404, 404, 1617, 503, 503, 503, 503, - /* 330 */ 1617, 503, 1796, 404, 503, 1816, 404, 1885, 503, 1807, - /* 340 */ 1816, 404, 682, 404, 1719, 503, 503, 503, 503, 503, + /* 200 */ 974, 974, 974, 105, 974, 816, 773, 1356, 1221, 1174, + /* 210 */ 1139, 882, 1221, 1221, 1223, 1316, 1316, 1146, 870, 727, + /* 220 */ 617, 1401, 1666, 1701, 1703, 1497, 261, 1703, 261, 1524, + /* 230 */ 1701, 1720, 1697, 1720, 1697, 1561, 1701, 1720, 1701, 1697, + /* 240 */ 1561, 1561, 1561, 1648, 1658, 1701, 1701, 1669, 1701, 1701, + /* 250 */ 1701, 1774, 1745, 1774, 1745, 1703, 261, 261, 1791, 261, + /* 260 */ 1795, 1804, 261, 1795, 261, 1813, 261, 1818, 261, 261, + /* 270 */ 1701, 261, 1774, 16, 16, 16, 16, 16, 16, 16, + /* 280 */ 16, 16, 16, 16, 1701, 25, 25, 1774, 503, 503, + /* 290 */ 503, 1663, 1763, 1703, 404, 1883, 1689, 1695, 1791, 404, + /* 300 */ 1401, 1701, 503, 1616, 1618, 1616, 1618, 1611, 1728, 1616, + /* 310 */ 1620, 1623, 1651, 1401, 1661, 1671, 1639, 1649, 1650, 1720, + /* 320 */ 1954, 1854, 1681, 1795, 404, 404, 1618, 503, 503, 503, + /* 330 */ 503, 1618, 503, 1800, 404, 503, 1818, 404, 1887, 503, + /* 340 */ 1808, 1818, 404, 682, 404, 1720, 503, 503, 503, 503, /* 350 */ 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, - /* 360 */ 503, 503, 503, 503, 503, 503, 503, 1904, 503, 1717, - /* 370 */ 404, 1999, 1991, 1762, 3228, 3228, 3228, 3228, 3228, 3228, - /* 380 */ 3228, 3228, 3228, 3228, 3228, 81, 1425, 359, 1684, 391, - /* 390 */ 17, 558, 63, 707, 1492, 231, 724, 588, 588, 588, - /* 400 */ 588, 588, 588, 588, 588, 588, 750, 610, 464, 66, - /* 410 */ 723, 723, 402, 733, 39, 782, 578, 760, 846, 578, - /* 420 */ 889, 802, 1075, 54, 302, 302, 1231, 1113, 964, 1231, - /* 430 */ 1231, 1231, 1398, 1255, 1342, 605, 1151, 696, 1336, 1313, - /* 440 */ 1315, 1317, 1324, 734, 1436, 1441, 1422, 1457, 1458, 1459, - /* 450 */ 1222, 1469, 1481, 8, 1482, 1485, 1487, 1496, 1333, 1357, - /* 460 */ 621, 1483, 1484, 1497, 1530, 1501, 781, 1502, 1489, 1509, - /* 470 */ 1510, 1535, 1538, 1486, 1500, 1560, 1572, 1577, 1593, 1600, - /* 480 */ 1613, 1625, 1630, 1635, 1547, 1558, 1567, 1571, 1607, 1612, - /* 490 */ 429, 1367, 498, 1439, 1596, 1642, 1453, 1669, 2080, 2081, - /* 500 */ 2082, 2038, 2085, 2049, 1847, 2051, 2052, 2053, 1853, 2091, - /* 510 */ 2057, 2058, 1856, 2060, 2098, 1859, 2100, 2064, 2102, 2066, - /* 520 */ 2104, 2083, 2106, 2070, 1874, 2118, 1890, 2112, 1892, 1893, - /* 530 */ 1899, 1903, 2119, 2121, 2122, 1915, 1917, 2126, 2133, 1981, - /* 540 */ 2087, 2088, 2138, 2105, 2139, 2141, 2107, 2093, 2143, 2097, - /* 550 */ 2147, 2103, 2149, 2150, 2151, 2108, 2152, 2158, 2160, 2161, - /* 560 */ 2162, 2171, 1982, 2117, 2173, 2001, 2175, 2176, 2177, 2178, - /* 570 */ 2179, 2180, 2183, 2184, 2185, 2186, 2188, 2189, 2198, 2200, - /* 580 */ 2201, 2202, 2204, 2205, 2206, 2207, 2142, 2192, 2148, 2194, - /* 590 */ 2195, 2196, 2208, 2209, 2211, 2212, 2213, 2214, 2193, 2216, - /* 600 */ 2063, 2218, 2067, 2221, 2071, 2224, 2225, 2215, 2190, 2217, - /* 610 */ 2219, 2227, 2163, 2230, 2167, 2197, 2235, 2170, 2238, 2199, - /* 620 */ 2241, 2242, 2226, 2210, 2222, 2243, 2229, 2220, 2228, 2244, - /* 630 */ 2231, 2223, 2237, 2246, 2234, 2250, 2245, 2247, 2240, 2248, - /* 640 */ 2251, 2253, 2261, 2258, 2249, 2254, 2280, 2287, 2291, 2293, - /* 650 */ 2257, 2090, 2301, 2248, 2259, 2311, 2248, 2263, 2314, 2315, - /* 660 */ 2187, 2316, 2317, 2281, 2267, 2278, 2321, 2285, 2271, 2283, - /* 670 */ 2328, 2292, 2288, 2295, 2339, 2304, 2290, 2302, 2345, 2346, - /* 680 */ 2348, 2349, 2350, 2351, 2232, 2233, 2318, 2334, 2357, 2337, - /* 690 */ 2324, 2325, 2326, 2327, 2329, 2330, 2331, 2332, 2338, 2340, - /* 700 */ 2341, 2342, 2343, 2354, 2344, 2358, 2355, 2365, 2356, 2382, - /* 710 */ 2362, 2347, 2383, 2363, 2353, 2386, 2391, 2392, 2359, 2393, - /* 720 */ 2360, 2394, 2373, 2378, 2366, 2368, 2370, 2286, 2289, 2399, - /* 730 */ 2260, 2182, 2255, 2296, 2236, 2248, 2364, 2411, 2264, 2375, - /* 740 */ 2395, 2414, 2203, 2398, 2268, 2269, 2415, 2416, 2282, 2239, - /* 750 */ 2284, 2270, 2419, 2400, 2123, 2323, 2320, 2335, 2367, 2403, - /* 760 */ 2404, 2369, 2381, 2372, 2387, 2376, 2374, 2420, 2424, 2377, - /* 770 */ 2371, 2379, 2380, 2384, 2435, 2426, 2427, 2388, 2438, 2172, - /* 780 */ 2397, 2385, 2445, 2389, 2442, 2390, 2396, 2483, 2454, 2256, - /* 790 */ 2452, 2457, 2458, 2459, 2460, 2463, 2402, 2405, 2456, 2265, - /* 800 */ 2473, 2462, 2508, 2509, 2401, 2470, 2407, 2418, 2417, 2421, - /* 810 */ 2352, 2423, 2513, 2475, 2413, 2528, 2425, 2428, 2406, 2493, - /* 820 */ 2408, 2505, 2429, 2272, 2431, 2535, 2521, 2303, 2437, 2439, - /* 830 */ 2441, 2446, 2447, 2448, 2449, 2444, 2506, 2450, 2455, 2507, - /* 840 */ 2451, 2545, 2319, 2464, 2465, 2569, 2461, 2466, 2432, 2530, - /* 850 */ 2467, 2469, 2248, 2524, 2468, 2471, 2472, 2474, 2476, 2453, - /* 860 */ 2560, 2563, 2566, 2409, 2479, 2557, 2559, 2484, 2487, 2571, - /* 870 */ 2500, 2502, 2577, 2441, 2503, 2581, 2446, 2514, 2593, 2447, - /* 880 */ 2518, 2596, 2448, 2517, 2519, 2522, 2523, 2526, 2601, 2527, - /* 890 */ 2599, 2529, 2601, 2601, 2615, 2585, 2570, 2633, 2621, 2623, - /* 900 */ 2624, 2625, 2626, 2627, 2628, 2629, 2631, 2632, 2634, 2590, - /* 910 */ 2567, 2597, 2572, 2640, 2639, 2643, 2644, 2669, 2655, 2656, - /* 920 */ 2657, 2616, 2340, 2660, 2341, 2661, 2662, 2663, 2664, 2680, - /* 930 */ 2666, 2704, 2668, 2654, 2665, 2708, 2672, 2658, 2670, 2716, - /* 940 */ 2677, 2667, 2675, 2718, 2683, 2671, 2679, 2722, 2687, 2725, - /* 950 */ 2705, 2689, 2737, 2707, 2697, 2709, 2711, 2712, 2713, 2717, - /* 960 */ 2721, + /* 360 */ 503, 503, 503, 503, 503, 503, 503, 503, 1904, 503, + /* 370 */ 1701, 404, 1996, 1983, 1774, 3228, 3228, 3228, 3228, 3228, + /* 380 */ 3228, 3228, 3228, 3228, 3228, 3228, 81, 1425, 359, 1684, + /* 390 */ 391, 17, 558, 63, 707, 1492, 231, 724, 588, 588, + /* 400 */ 588, 588, 588, 588, 588, 588, 588, 750, 610, 464, + /* 410 */ 66, 723, 723, 402, 733, 39, 782, 578, 760, 846, + /* 420 */ 578, 889, 802, 1075, 54, 302, 302, 1231, 1113, 964, + /* 430 */ 1231, 1231, 1231, 1404, 1255, 1336, 605, 1151, 696, 1440, + /* 440 */ 1313, 1315, 1317, 1328, 734, 1441, 1442, 1476, 1480, 1490, + /* 450 */ 1493, 1226, 1416, 1420, 8, 1477, 1481, 1485, 1487, 1332, + /* 460 */ 1303, 621, 1483, 1496, 1499, 1541, 1502, 781, 1511, 1409, + /* 470 */ 1535, 1538, 1547, 1550, 1526, 1560, 1572, 1577, 1592, 1602, + /* 480 */ 1630, 1635, 1642, 1644, 1647, 1563, 1565, 1567, 1573, 1591, + /* 490 */ 1600, 429, 1446, 498, 1589, 1504, 1632, 1621, 1390, 2080, + /* 500 */ 2082, 2083, 2040, 2087, 2051, 1849, 2053, 2054, 2056, 1855, + /* 510 */ 2094, 2059, 2060, 1858, 2062, 2100, 2101, 1862, 2103, 2067, + /* 520 */ 2105, 2069, 2107, 2089, 2109, 2075, 1878, 2114, 1894, 2116, + /* 530 */ 1897, 1899, 1907, 1906, 2124, 2125, 2126, 1924, 1927, 2136, + /* 540 */ 2137, 1984, 2090, 2092, 2142, 2106, 2144, 2145, 2110, 2096, + /* 550 */ 2146, 2102, 2149, 2112, 2150, 2152, 2158, 2113, 2160, 2161, + /* 560 */ 2171, 2173, 2174, 2175, 1981, 2118, 2176, 2004, 2178, 2179, + /* 570 */ 2180, 2183, 2184, 2185, 2186, 2188, 2189, 2198, 2200, 2201, + /* 580 */ 2202, 2204, 2205, 2206, 2207, 2208, 2209, 2211, 2143, 2193, + /* 590 */ 2151, 2194, 2195, 2212, 2213, 2214, 2215, 2216, 2217, 2218, + /* 600 */ 2169, 2220, 2070, 2221, 2072, 2223, 2077, 2227, 2230, 2219, + /* 610 */ 2187, 2222, 2190, 2233, 2168, 2235, 2170, 2224, 2238, 2177, + /* 620 */ 2239, 2192, 2242, 2246, 2225, 2228, 2226, 2250, 2229, 2237, + /* 630 */ 2231, 2263, 2232, 2240, 2245, 2264, 2234, 2265, 2248, 2249, + /* 640 */ 2257, 2247, 2251, 2253, 2259, 2270, 2236, 2255, 2272, 2294, + /* 650 */ 2299, 2301, 2268, 2071, 2311, 2247, 2266, 2312, 2247, 2267, + /* 660 */ 2314, 2317, 2244, 2319, 2320, 2284, 2271, 2280, 2325, 2291, + /* 670 */ 2277, 2295, 2339, 2303, 2289, 2300, 2344, 2308, 2296, 2304, + /* 680 */ 2349, 2350, 2351, 2352, 2353, 2355, 2241, 2254, 2321, 2334, + /* 690 */ 2357, 2337, 2324, 2326, 2327, 2328, 2329, 2330, 2331, 2332, + /* 700 */ 2338, 2341, 2343, 2340, 2342, 2356, 2345, 2380, 2359, 2383, + /* 710 */ 2362, 2385, 2364, 2346, 2390, 2369, 2358, 2392, 2393, 2394, + /* 720 */ 2360, 2396, 2365, 2398, 2377, 2381, 2366, 2368, 2370, 2297, + /* 730 */ 2302, 2408, 2243, 2196, 2199, 2306, 2197, 2247, 2363, 2409, + /* 740 */ 2258, 2376, 2412, 2414, 2256, 2415, 2260, 2261, 2416, 2420, + /* 750 */ 2278, 2273, 2281, 2274, 2428, 2403, 2138, 2367, 2371, 2373, + /* 760 */ 2374, 2404, 2417, 2378, 2406, 2347, 2425, 2372, 2375, 2407, + /* 770 */ 2432, 2379, 2382, 2384, 2386, 2387, 2437, 2427, 2429, 2389, + /* 780 */ 2444, 2181, 2399, 2391, 2450, 2395, 2447, 2397, 2400, 2484, + /* 790 */ 2459, 2203, 2457, 2461, 2463, 2469, 2472, 2473, 2402, 2405, + /* 800 */ 2464, 2269, 2479, 2468, 2453, 2496, 2419, 2486, 2421, 2423, + /* 810 */ 2426, 2430, 2348, 2431, 2521, 2488, 2354, 2534, 2424, 2439, + /* 820 */ 2388, 2494, 2401, 2507, 2434, 2283, 2442, 2540, 2528, 2307, + /* 830 */ 2445, 2446, 2448, 2449, 2452, 2454, 2455, 2458, 2508, 2456, + /* 840 */ 2460, 2509, 2462, 2541, 2323, 2465, 2466, 2571, 2470, 2467, + /* 850 */ 2435, 2535, 2474, 2475, 2247, 2533, 2476, 2478, 2471, 2481, + /* 860 */ 2483, 2477, 2564, 2566, 2577, 2410, 2487, 2573, 2576, 2495, + /* 870 */ 2500, 2579, 2505, 2503, 2588, 2448, 2516, 2595, 2449, 2519, + /* 880 */ 2597, 2452, 2523, 2598, 2454, 2506, 2517, 2522, 2524, 2526, + /* 890 */ 2609, 2530, 2616, 2542, 2609, 2609, 2635, 2585, 2587, 2639, + /* 900 */ 2625, 2626, 2627, 2628, 2629, 2631, 2632, 2633, 2634, 2636, + /* 910 */ 2637, 2596, 2570, 2599, 2574, 2647, 2654, 2655, 2656, 2672, + /* 920 */ 2659, 2660, 2661, 2619, 2341, 2663, 2343, 2664, 2665, 2666, + /* 930 */ 2667, 2683, 2669, 2707, 2671, 2657, 2668, 2712, 2677, 2670, + /* 940 */ 2674, 2717, 2681, 2673, 2678, 2719, 2684, 2675, 2682, 2723, + /* 950 */ 2689, 2737, 2708, 2692, 2731, 2710, 2700, 2713, 2720, 2716, + /* 960 */ 2727, 2721, 2732, }; -#define YY_REDUCE_COUNT (384) +#define YY_REDUCE_COUNT (385) #define YY_REDUCE_MIN (-510) #define YY_REDUCE_MAX (2729) static const short yy_reduce_ofst[] = { @@ -1034,126 +1408,126 @@ static const short yy_reduce_ofst[] = { /* 150 */ 618, 666, 680, -475, -378, 336, 434, 460, 715, -133, /* 160 */ 865, 234, 749, 835, 960, 966, 779, 906, -92, 902, /* 170 */ 971, 927, 967, 998, 1038, -415, 469, 561, 568, 637, - /* 180 */ 685, 381, 731, 756, 785, 661, 661, 941, 718, 791, - /* 190 */ 977, 1115, 661, 1102, 1102, 1118, 1128, 1090, 1154, 1092, - /* 200 */ 1008, 1074, 1078, 1188, 1116, 1102, 1262, 1209, 1267, 1225, - /* 210 */ 1194, 1216, 1217, 1102, 1152, 1162, 1125, 1167, 1169, 1277, - /* 220 */ 1233, 1219, 1229, 1243, 1247, 1329, 1256, 1332, 1269, 1347, - /* 230 */ 1348, 1301, 1349, 1303, 1310, 1362, 1364, 1368, 1309, 1326, - /* 240 */ 1327, 1330, 1353, 1370, 1375, 1376, 1378, 1383, 1386, 1387, - /* 250 */ 1397, 1407, 1414, 1412, 1328, 1404, 1405, 1369, 1411, 1421, - /* 260 */ 1359, 1427, 1429, 1431, 1377, 1432, 1388, 1437, 1440, 1452, - /* 270 */ 1444, 1468, 1434, 1435, 1442, 1451, 1454, 1455, 1456, 1461, - /* 280 */ 1464, 1470, 1472, 1488, 1475, 1478, 1477, 1460, 1462, 1463, - /* 290 */ 1394, 1418, 1428, 1491, 1443, 1433, 1445, 1480, 1515, 1465, - /* 300 */ 1517, 1490, 1389, 1467, 1395, 1473, 1384, 1400, 1401, 1416, - /* 310 */ 1408, 1419, 1499, 1446, 1448, 1403, 1424, 1430, 1573, 1495, - /* 320 */ 1447, 1471, 1585, 1581, 1582, 1524, 1550, 1551, 1553, 1554, - /* 330 */ 1526, 1555, 1539, 1598, 1563, 1544, 1602, 1494, 1565, 1557, - /* 340 */ 1556, 1606, 1589, 1611, 1618, 1576, 1578, 1580, 1583, 1584, - /* 350 */ 1586, 1587, 1588, 1590, 1591, 1595, 1599, 1609, 1610, 1616, - /* 360 */ 1619, 1622, 1624, 1627, 1629, 1639, 1640, 1623, 1641, 1634, - /* 370 */ 1620, 1651, 1662, 1650, 1569, 1566, 1574, 1603, 1626, 1643, - /* 380 */ 1664, 1632, 1665, 1654, 1666, + /* 180 */ 685, 381, 731, 756, 785, 661, 661, 823, 718, 791, + /* 190 */ 977, 1104, 661, 1093, 1093, 1123, 1125, 1087, 1158, 1153, + /* 200 */ 1069, 1071, 1072, 1156, 1097, 1093, 1243, 1155, 1201, 1273, + /* 210 */ 1235, 1196, 1227, 1229, 1093, 1148, 1161, 1141, 1185, 1170, + /* 220 */ 1288, 1252, 1236, 1335, 1254, 1251, 1333, 1257, 1337, 1272, + /* 230 */ 1348, 1349, 1301, 1357, 1307, 1311, 1364, 1362, 1365, 1312, + /* 240 */ 1324, 1326, 1327, 1354, 1368, 1381, 1382, 1376, 1383, 1389, + /* 250 */ 1391, 1397, 1410, 1419, 1412, 1330, 1406, 1407, 1375, 1414, + /* 260 */ 1429, 1360, 1427, 1438, 1432, 1380, 1437, 1393, 1444, 1452, + /* 270 */ 1463, 1455, 1456, 1451, 1453, 1454, 1458, 1459, 1461, 1464, + /* 280 */ 1469, 1470, 1472, 1475, 1471, 1478, 1479, 1473, 1436, 1439, + /* 290 */ 1460, 1421, 1422, 1423, 1503, 1431, 1445, 1447, 1482, 1518, + /* 300 */ 1457, 1528, 1486, 1395, 1474, 1396, 1489, 1394, 1399, 1402, + /* 310 */ 1417, 1424, 1418, 1488, 1448, 1450, 1415, 1428, 1430, 1581, + /* 320 */ 1491, 1462, 1465, 1586, 1582, 1585, 1529, 1549, 1551, 1553, + /* 330 */ 1556, 1536, 1558, 1543, 1601, 1562, 1552, 1603, 1495, 1569, + /* 340 */ 1555, 1559, 1610, 1594, 1614, 1622, 1580, 1583, 1584, 1587, + /* 350 */ 1588, 1590, 1593, 1595, 1596, 1598, 1599, 1607, 1609, 1612, + /* 360 */ 1613, 1617, 1619, 1624, 1625, 1627, 1629, 1640, 1597, 1641, + /* 370 */ 1634, 1638, 1646, 1662, 1668, 1579, 1571, 1574, 1626, 1628, + /* 380 */ 1643, 1664, 1653, 1665, 1659, 1704, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 10 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 20 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 30 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 40 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 50 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 60 */ 2544, 2176, 2176, 2500, 2176, 2176, 2176, 2176, 2176, 2176, - /* 70 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2507, 2176, - /* 80 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 90 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2277, - /* 100 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 110 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2275, 2795, - /* 120 */ 2176, 2921, 2585, 2176, 2176, 2824, 2176, 2176, 2176, 2176, - /* 130 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 140 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2807, 2176, 2176, - /* 150 */ 2248, 2248, 2176, 2807, 2807, 2807, 2767, 2767, 2275, 2176, - /* 160 */ 2176, 2277, 2176, 2587, 2176, 2176, 2176, 2176, 2176, 2176, - /* 170 */ 2176, 2176, 2176, 2417, 2206, 2176, 2176, 2176, 2176, 2176, - /* 180 */ 2176, 2570, 2176, 2176, 2853, 2799, 2800, 2915, 2176, 2856, - /* 190 */ 2818, 2176, 2813, 2176, 2176, 2176, 2176, 2512, 2176, 2843, - /* 200 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2362, - /* 210 */ 2564, 2176, 2176, 2176, 2176, 2176, 2899, 2797, 2837, 2176, - /* 220 */ 2847, 2176, 2612, 2176, 2601, 2277, 2176, 2277, 2557, 2495, - /* 230 */ 2176, 2505, 2176, 2505, 2502, 2176, 2176, 2176, 2505, 2502, - /* 240 */ 2502, 2502, 2351, 2347, 2176, 2176, 2345, 2176, 2176, 2176, - /* 250 */ 2176, 2231, 2176, 2231, 2176, 2277, 2277, 2176, 2277, 2176, - /* 260 */ 2176, 2277, 2176, 2277, 2176, 2277, 2176, 2277, 2277, 2176, - /* 270 */ 2277, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 280 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 290 */ 2599, 2580, 2176, 2275, 2176, 2568, 2566, 2176, 2275, 2847, - /* 300 */ 2176, 2176, 2869, 2864, 2869, 2864, 2883, 2879, 2869, 2888, - /* 310 */ 2885, 2849, 2847, 2830, 2826, 2918, 2905, 2901, 2176, 2176, - /* 320 */ 2835, 2833, 2176, 2275, 2275, 2864, 2176, 2176, 2176, 2176, - /* 330 */ 2864, 2176, 2176, 2275, 2176, 2176, 2275, 2176, 2176, 2176, - /* 340 */ 2176, 2275, 2176, 2275, 2176, 2176, 2176, 2176, 2176, 2176, - /* 350 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 360 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2379, 2176, 2176, - /* 370 */ 2275, 2176, 2215, 2176, 2559, 2585, 2590, 2540, 2540, 2420, - /* 380 */ 2420, 2921, 2420, 2278, 2181, 2176, 2176, 2176, 2176, 2176, - /* 390 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2882, 2881, 2718, - /* 400 */ 2176, 2771, 2770, 2769, 2760, 2717, 2375, 2176, 2176, 2176, - /* 410 */ 2716, 2715, 2176, 2176, 2176, 2176, 2366, 2176, 2176, 2388, - /* 420 */ 2176, 2176, 2176, 2176, 2531, 2530, 2709, 2176, 2176, 2710, - /* 430 */ 2708, 2707, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 440 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 450 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2902, - /* 460 */ 2906, 2176, 2176, 2176, 2796, 2176, 2176, 2176, 2688, 2176, - /* 470 */ 2176, 2176, 2176, 2656, 2651, 2642, 2633, 2648, 2639, 2627, - /* 480 */ 2645, 2636, 2624, 2621, 2176, 2176, 2176, 2176, 2176, 2176, - /* 490 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 500 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 510 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 520 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 530 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2501, - /* 540 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 550 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 560 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 570 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 580 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 590 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 600 */ 2176, 2176, 2176, 2176, 2516, 2176, 2176, 2176, 2176, 2176, - /* 610 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 620 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 630 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2220, 2695, - /* 640 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 650 */ 2176, 2176, 2176, 2698, 2176, 2176, 2699, 2176, 2176, 2176, - /* 660 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 670 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 680 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 690 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2322, - /* 700 */ 2321, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 710 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 720 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2700, 2176, 2176, - /* 730 */ 2176, 2176, 2584, 2176, 2176, 2690, 2176, 2176, 2176, 2176, - /* 740 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 750 */ 2176, 2176, 2898, 2850, 2176, 2176, 2176, 2176, 2176, 2176, - /* 760 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 770 */ 2176, 2176, 2176, 2176, 2176, 2176, 2688, 2176, 2880, 2176, - /* 780 */ 2176, 2176, 2176, 2176, 2176, 2176, 2896, 2176, 2900, 2176, - /* 790 */ 2176, 2176, 2176, 2176, 2176, 2176, 2806, 2802, 2176, 2176, - /* 800 */ 2798, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 810 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 820 */ 2176, 2757, 2176, 2176, 2176, 2791, 2176, 2176, 2176, 2176, - /* 830 */ 2416, 2415, 2414, 2413, 2176, 2176, 2176, 2176, 2176, 2176, - /* 840 */ 2700, 2176, 2703, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 850 */ 2176, 2176, 2687, 2176, 2742, 2741, 2176, 2176, 2176, 2176, - /* 860 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2410, 2176, 2176, - /* 870 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 880 */ 2176, 2176, 2176, 2394, 2392, 2391, 2390, 2176, 2427, 2176, - /* 890 */ 2176, 2176, 2423, 2422, 2176, 2176, 2176, 2176, 2176, 2176, - /* 900 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 910 */ 2176, 2176, 2176, 2296, 2176, 2176, 2176, 2176, 2176, 2176, - /* 920 */ 2176, 2176, 2288, 2176, 2287, 2176, 2176, 2176, 2176, 2176, - /* 930 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 940 */ 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, - /* 950 */ 2176, 2176, 2176, 2176, 2205, 2176, 2176, 2176, 2176, 2176, - /* 960 */ 2176, + /* 0 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 10 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 20 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 30 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 40 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 50 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 60 */ 2547, 2179, 2179, 2503, 2179, 2179, 2179, 2179, 2179, 2179, + /* 70 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2510, 2179, + /* 80 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 90 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2280, + /* 100 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 110 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2278, 2799, + /* 120 */ 2179, 2925, 2588, 2179, 2179, 2828, 2179, 2179, 2179, 2179, + /* 130 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 140 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2811, 2179, 2179, + /* 150 */ 2251, 2251, 2179, 2811, 2811, 2811, 2771, 2771, 2278, 2179, + /* 160 */ 2179, 2280, 2179, 2590, 2179, 2179, 2179, 2179, 2179, 2179, + /* 170 */ 2179, 2179, 2179, 2420, 2209, 2179, 2179, 2179, 2179, 2179, + /* 180 */ 2179, 2573, 2179, 2179, 2857, 2803, 2804, 2919, 2179, 2860, + /* 190 */ 2822, 2179, 2817, 2179, 2179, 2179, 2179, 2515, 2179, 2847, + /* 200 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2616, 2179, 2179, + /* 210 */ 2365, 2567, 2179, 2179, 2179, 2179, 2179, 2903, 2801, 2841, + /* 220 */ 2179, 2851, 2179, 2179, 2179, 2604, 2280, 2179, 2280, 2560, + /* 230 */ 2498, 2179, 2508, 2179, 2508, 2505, 2179, 2179, 2179, 2508, + /* 240 */ 2505, 2505, 2505, 2354, 2350, 2179, 2179, 2348, 2179, 2179, + /* 250 */ 2179, 2179, 2234, 2179, 2234, 2179, 2280, 2280, 2179, 2280, + /* 260 */ 2179, 2179, 2280, 2179, 2280, 2179, 2280, 2179, 2280, 2280, + /* 270 */ 2179, 2280, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 280 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 290 */ 2179, 2602, 2583, 2179, 2278, 2179, 2571, 2569, 2179, 2278, + /* 300 */ 2851, 2179, 2179, 2873, 2868, 2873, 2868, 2887, 2883, 2873, + /* 310 */ 2892, 2889, 2853, 2851, 2834, 2830, 2922, 2909, 2905, 2179, + /* 320 */ 2179, 2839, 2837, 2179, 2278, 2278, 2868, 2179, 2179, 2179, + /* 330 */ 2179, 2868, 2179, 2179, 2278, 2179, 2179, 2278, 2179, 2179, + /* 340 */ 2179, 2179, 2278, 2179, 2278, 2179, 2179, 2179, 2179, 2179, + /* 350 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 360 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2382, 2179, + /* 370 */ 2179, 2278, 2179, 2218, 2179, 2562, 2588, 2593, 2543, 2543, + /* 380 */ 2423, 2423, 2925, 2423, 2281, 2184, 2179, 2179, 2179, 2179, + /* 390 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2886, 2885, + /* 400 */ 2722, 2179, 2775, 2774, 2773, 2764, 2721, 2378, 2179, 2179, + /* 410 */ 2179, 2720, 2719, 2179, 2179, 2179, 2179, 2369, 2179, 2179, + /* 420 */ 2391, 2179, 2179, 2179, 2179, 2534, 2533, 2713, 2179, 2179, + /* 430 */ 2714, 2712, 2711, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 440 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 450 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 460 */ 2906, 2910, 2179, 2179, 2179, 2800, 2179, 2179, 2179, 2692, + /* 470 */ 2179, 2179, 2179, 2179, 2660, 2655, 2646, 2637, 2652, 2643, + /* 480 */ 2631, 2649, 2640, 2628, 2625, 2179, 2179, 2179, 2179, 2179, + /* 490 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 500 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 510 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 520 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 530 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 540 */ 2179, 2504, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 550 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 560 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 570 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 580 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 590 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 600 */ 2179, 2179, 2179, 2179, 2179, 2179, 2519, 2179, 2179, 2179, + /* 610 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 620 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 630 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 640 */ 2223, 2699, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 650 */ 2179, 2179, 2179, 2179, 2179, 2702, 2179, 2179, 2703, 2179, + /* 660 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 670 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 680 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 690 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 700 */ 2179, 2325, 2324, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 710 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 720 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2704, + /* 730 */ 2179, 2179, 2179, 2179, 2587, 2179, 2179, 2694, 2179, 2179, + /* 740 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 750 */ 2179, 2179, 2179, 2179, 2902, 2854, 2179, 2179, 2179, 2179, + /* 760 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 770 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2692, 2179, + /* 780 */ 2884, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2900, 2179, + /* 790 */ 2904, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2810, 2806, + /* 800 */ 2179, 2179, 2802, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 810 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 820 */ 2179, 2179, 2179, 2761, 2179, 2179, 2179, 2795, 2179, 2179, + /* 830 */ 2179, 2179, 2419, 2418, 2417, 2416, 2179, 2179, 2179, 2179, + /* 840 */ 2179, 2179, 2704, 2179, 2707, 2179, 2179, 2179, 2179, 2179, + /* 850 */ 2179, 2179, 2179, 2179, 2691, 2179, 2746, 2745, 2179, 2179, + /* 860 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2413, + /* 870 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 880 */ 2179, 2179, 2179, 2179, 2179, 2397, 2395, 2394, 2393, 2179, + /* 890 */ 2430, 2179, 2179, 2179, 2426, 2425, 2179, 2179, 2179, 2179, + /* 900 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 910 */ 2179, 2179, 2179, 2179, 2179, 2299, 2179, 2179, 2179, 2179, + /* 920 */ 2179, 2179, 2179, 2179, 2291, 2179, 2290, 2179, 2179, 2179, + /* 930 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 940 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, + /* 950 */ 2179, 2179, 2179, 2179, 2179, 2179, 2208, 2179, 2179, 2179, + /* 960 */ 2179, 2179, 2179, }; /********** End of lemon-generated parsing tables *****************************/ @@ -1600,6 +1974,7 @@ struct yyParser { }; typedef struct yyParser yyParser; +#include #ifndef NDEBUG #include static FILE *yyTraceFILE = 0; @@ -2627,323 +3002,324 @@ static const char *const yyRuleName[] = { /* 427 */ "cmd ::= KILL COMPACT NK_INTEGER", /* 428 */ "cmd ::= BALANCE VGROUP", /* 429 */ "cmd ::= BALANCE VGROUP LEADER on_vgroup_id", - /* 430 */ "cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER", - /* 431 */ "cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list", - /* 432 */ "cmd ::= SPLIT VGROUP NK_INTEGER", - /* 433 */ "on_vgroup_id ::=", - /* 434 */ "on_vgroup_id ::= ON NK_INTEGER", - /* 435 */ "dnode_list ::= DNODE NK_INTEGER", - /* 436 */ "dnode_list ::= dnode_list DNODE NK_INTEGER", - /* 437 */ "cmd ::= DELETE FROM full_table_name where_clause_opt", - /* 438 */ "cmd ::= query_or_subquery", - /* 439 */ "cmd ::= insert_query", - /* 440 */ "insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery", - /* 441 */ "insert_query ::= INSERT INTO full_table_name query_or_subquery", - /* 442 */ "tags_literal ::= NK_INTEGER", - /* 443 */ "tags_literal ::= NK_INTEGER NK_PLUS duration_literal", - /* 444 */ "tags_literal ::= NK_INTEGER NK_MINUS duration_literal", - /* 445 */ "tags_literal ::= NK_PLUS NK_INTEGER", - /* 446 */ "tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal", - /* 447 */ "tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal", - /* 448 */ "tags_literal ::= NK_MINUS NK_INTEGER", - /* 449 */ "tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal", - /* 450 */ "tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal", - /* 451 */ "tags_literal ::= NK_FLOAT", - /* 452 */ "tags_literal ::= NK_PLUS NK_FLOAT", - /* 453 */ "tags_literal ::= NK_MINUS NK_FLOAT", - /* 454 */ "tags_literal ::= NK_BIN", - /* 455 */ "tags_literal ::= NK_BIN NK_PLUS duration_literal", - /* 456 */ "tags_literal ::= NK_BIN NK_MINUS duration_literal", - /* 457 */ "tags_literal ::= NK_PLUS NK_BIN", - /* 458 */ "tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal", - /* 459 */ "tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal", - /* 460 */ "tags_literal ::= NK_MINUS NK_BIN", - /* 461 */ "tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal", - /* 462 */ "tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal", - /* 463 */ "tags_literal ::= NK_HEX", - /* 464 */ "tags_literal ::= NK_HEX NK_PLUS duration_literal", - /* 465 */ "tags_literal ::= NK_HEX NK_MINUS duration_literal", - /* 466 */ "tags_literal ::= NK_PLUS NK_HEX", - /* 467 */ "tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal", - /* 468 */ "tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal", - /* 469 */ "tags_literal ::= NK_MINUS NK_HEX", - /* 470 */ "tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal", - /* 471 */ "tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal", - /* 472 */ "tags_literal ::= NK_STRING", - /* 473 */ "tags_literal ::= NK_STRING NK_PLUS duration_literal", - /* 474 */ "tags_literal ::= NK_STRING NK_MINUS duration_literal", - /* 475 */ "tags_literal ::= NK_BOOL", - /* 476 */ "tags_literal ::= NULL", - /* 477 */ "tags_literal ::= literal_func", - /* 478 */ "tags_literal ::= literal_func NK_PLUS duration_literal", - /* 479 */ "tags_literal ::= literal_func NK_MINUS duration_literal", - /* 480 */ "tags_literal_list ::= tags_literal", - /* 481 */ "tags_literal_list ::= tags_literal_list NK_COMMA tags_literal", - /* 482 */ "literal ::= NK_INTEGER", - /* 483 */ "literal ::= NK_FLOAT", - /* 484 */ "literal ::= NK_STRING", - /* 485 */ "literal ::= NK_BOOL", - /* 486 */ "literal ::= TIMESTAMP NK_STRING", - /* 487 */ "literal ::= duration_literal", - /* 488 */ "literal ::= NULL", - /* 489 */ "literal ::= NK_QUESTION", - /* 490 */ "duration_literal ::= NK_VARIABLE", - /* 491 */ "signed ::= NK_INTEGER", - /* 492 */ "signed ::= NK_PLUS NK_INTEGER", - /* 493 */ "signed ::= NK_MINUS NK_INTEGER", - /* 494 */ "signed ::= NK_FLOAT", - /* 495 */ "signed ::= NK_PLUS NK_FLOAT", - /* 496 */ "signed ::= NK_MINUS NK_FLOAT", - /* 497 */ "signed_literal ::= signed", - /* 498 */ "signed_literal ::= NK_STRING", - /* 499 */ "signed_literal ::= NK_BOOL", - /* 500 */ "signed_literal ::= TIMESTAMP NK_STRING", - /* 501 */ "signed_literal ::= duration_literal", - /* 502 */ "signed_literal ::= NULL", - /* 503 */ "signed_literal ::= literal_func", - /* 504 */ "signed_literal ::= NK_QUESTION", - /* 505 */ "literal_list ::= signed_literal", - /* 506 */ "literal_list ::= literal_list NK_COMMA signed_literal", - /* 507 */ "db_name ::= NK_ID", - /* 508 */ "table_name ::= NK_ID", - /* 509 */ "column_name ::= NK_ID", - /* 510 */ "function_name ::= NK_ID", - /* 511 */ "view_name ::= NK_ID", - /* 512 */ "table_alias ::= NK_ID", - /* 513 */ "column_alias ::= NK_ID", - /* 514 */ "column_alias ::= NK_ALIAS", - /* 515 */ "user_name ::= NK_ID", - /* 516 */ "topic_name ::= NK_ID", - /* 517 */ "stream_name ::= NK_ID", - /* 518 */ "cgroup_name ::= NK_ID", - /* 519 */ "index_name ::= NK_ID", - /* 520 */ "tsma_name ::= NK_ID", - /* 521 */ "expr_or_subquery ::= expression", - /* 522 */ "expression ::= literal", - /* 523 */ "expression ::= pseudo_column", - /* 524 */ "expression ::= column_reference", - /* 525 */ "expression ::= function_expression", - /* 526 */ "expression ::= case_when_expression", - /* 527 */ "expression ::= NK_LP expression NK_RP", - /* 528 */ "expression ::= NK_PLUS expr_or_subquery", - /* 529 */ "expression ::= NK_MINUS expr_or_subquery", - /* 530 */ "expression ::= expr_or_subquery NK_PLUS expr_or_subquery", - /* 531 */ "expression ::= expr_or_subquery NK_MINUS expr_or_subquery", - /* 532 */ "expression ::= expr_or_subquery NK_STAR expr_or_subquery", - /* 533 */ "expression ::= expr_or_subquery NK_SLASH expr_or_subquery", - /* 534 */ "expression ::= expr_or_subquery NK_REM expr_or_subquery", - /* 535 */ "expression ::= column_reference NK_ARROW NK_STRING", - /* 536 */ "expression ::= expr_or_subquery NK_BITAND expr_or_subquery", - /* 537 */ "expression ::= expr_or_subquery NK_BITOR expr_or_subquery", - /* 538 */ "expression_list ::= expr_or_subquery", - /* 539 */ "expression_list ::= expression_list NK_COMMA expr_or_subquery", - /* 540 */ "column_reference ::= column_name", - /* 541 */ "column_reference ::= table_name NK_DOT column_name", - /* 542 */ "column_reference ::= NK_ALIAS", - /* 543 */ "column_reference ::= table_name NK_DOT NK_ALIAS", - /* 544 */ "pseudo_column ::= ROWTS", - /* 545 */ "pseudo_column ::= TBNAME", - /* 546 */ "pseudo_column ::= table_name NK_DOT TBNAME", - /* 547 */ "pseudo_column ::= QSTART", - /* 548 */ "pseudo_column ::= QEND", - /* 549 */ "pseudo_column ::= QDURATION", - /* 550 */ "pseudo_column ::= WSTART", - /* 551 */ "pseudo_column ::= WEND", - /* 552 */ "pseudo_column ::= WDURATION", - /* 553 */ "pseudo_column ::= IROWTS", - /* 554 */ "pseudo_column ::= ISFILLED", - /* 555 */ "pseudo_column ::= QTAGS", - /* 556 */ "function_expression ::= function_name NK_LP expression_list NK_RP", - /* 557 */ "function_expression ::= star_func NK_LP star_func_para_list NK_RP", - /* 558 */ "function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP", - /* 559 */ "function_expression ::= CAST NK_LP expr_or_subquery AS type_name_default_len NK_RP", - /* 560 */ "function_expression ::= literal_func", - /* 561 */ "literal_func ::= noarg_func NK_LP NK_RP", - /* 562 */ "literal_func ::= NOW", - /* 563 */ "literal_func ::= TODAY", - /* 564 */ "noarg_func ::= NOW", - /* 565 */ "noarg_func ::= TODAY", - /* 566 */ "noarg_func ::= TIMEZONE", - /* 567 */ "noarg_func ::= DATABASE", - /* 568 */ "noarg_func ::= CLIENT_VERSION", - /* 569 */ "noarg_func ::= SERVER_VERSION", - /* 570 */ "noarg_func ::= SERVER_STATUS", - /* 571 */ "noarg_func ::= CURRENT_USER", - /* 572 */ "noarg_func ::= USER", - /* 573 */ "star_func ::= COUNT", - /* 574 */ "star_func ::= FIRST", - /* 575 */ "star_func ::= LAST", - /* 576 */ "star_func ::= LAST_ROW", - /* 577 */ "star_func_para_list ::= NK_STAR", - /* 578 */ "star_func_para_list ::= other_para_list", - /* 579 */ "other_para_list ::= star_func_para", - /* 580 */ "other_para_list ::= other_para_list NK_COMMA star_func_para", - /* 581 */ "star_func_para ::= expr_or_subquery", - /* 582 */ "star_func_para ::= table_name NK_DOT NK_STAR", - /* 583 */ "case_when_expression ::= CASE when_then_list case_when_else_opt END", - /* 584 */ "case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END", - /* 585 */ "when_then_list ::= when_then_expr", - /* 586 */ "when_then_list ::= when_then_list when_then_expr", - /* 587 */ "when_then_expr ::= WHEN common_expression THEN common_expression", - /* 588 */ "case_when_else_opt ::=", - /* 589 */ "case_when_else_opt ::= ELSE common_expression", - /* 590 */ "predicate ::= expr_or_subquery compare_op expr_or_subquery", - /* 591 */ "predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery", - /* 592 */ "predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery", - /* 593 */ "predicate ::= expr_or_subquery IS NULL", - /* 594 */ "predicate ::= expr_or_subquery IS NOT NULL", - /* 595 */ "predicate ::= expr_or_subquery in_op in_predicate_value", - /* 596 */ "compare_op ::= NK_LT", - /* 597 */ "compare_op ::= NK_GT", - /* 598 */ "compare_op ::= NK_LE", - /* 599 */ "compare_op ::= NK_GE", - /* 600 */ "compare_op ::= NK_NE", - /* 601 */ "compare_op ::= NK_EQ", - /* 602 */ "compare_op ::= LIKE", - /* 603 */ "compare_op ::= NOT LIKE", - /* 604 */ "compare_op ::= MATCH", - /* 605 */ "compare_op ::= NMATCH", - /* 606 */ "compare_op ::= CONTAINS", - /* 607 */ "in_op ::= IN", - /* 608 */ "in_op ::= NOT IN", - /* 609 */ "in_predicate_value ::= NK_LP literal_list NK_RP", - /* 610 */ "boolean_value_expression ::= boolean_primary", - /* 611 */ "boolean_value_expression ::= NOT boolean_primary", - /* 612 */ "boolean_value_expression ::= boolean_value_expression OR boolean_value_expression", - /* 613 */ "boolean_value_expression ::= boolean_value_expression AND boolean_value_expression", - /* 614 */ "boolean_primary ::= predicate", - /* 615 */ "boolean_primary ::= NK_LP boolean_value_expression NK_RP", - /* 616 */ "common_expression ::= expr_or_subquery", - /* 617 */ "common_expression ::= boolean_value_expression", - /* 618 */ "from_clause_opt ::=", - /* 619 */ "from_clause_opt ::= FROM table_reference_list", - /* 620 */ "table_reference_list ::= table_reference", - /* 621 */ "table_reference_list ::= table_reference_list NK_COMMA table_reference", - /* 622 */ "table_reference ::= table_primary", - /* 623 */ "table_reference ::= joined_table", - /* 624 */ "table_primary ::= table_name alias_opt", - /* 625 */ "table_primary ::= db_name NK_DOT table_name alias_opt", - /* 626 */ "table_primary ::= subquery alias_opt", - /* 627 */ "table_primary ::= parenthesized_joined_table", - /* 628 */ "alias_opt ::=", - /* 629 */ "alias_opt ::= table_alias", - /* 630 */ "alias_opt ::= AS table_alias", - /* 631 */ "parenthesized_joined_table ::= NK_LP joined_table NK_RP", - /* 632 */ "parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP", - /* 633 */ "joined_table ::= table_reference join_type join_subtype JOIN table_reference join_on_clause_opt window_offset_clause_opt jlimit_clause_opt", - /* 634 */ "join_type ::=", - /* 635 */ "join_type ::= INNER", - /* 636 */ "join_type ::= LEFT", - /* 637 */ "join_type ::= RIGHT", - /* 638 */ "join_type ::= FULL", - /* 639 */ "join_subtype ::=", - /* 640 */ "join_subtype ::= OUTER", - /* 641 */ "join_subtype ::= SEMI", - /* 642 */ "join_subtype ::= ANTI", - /* 643 */ "join_subtype ::= ASOF", - /* 644 */ "join_subtype ::= WINDOW", - /* 645 */ "join_on_clause_opt ::=", - /* 646 */ "join_on_clause_opt ::= ON search_condition", - /* 647 */ "window_offset_clause_opt ::=", - /* 648 */ "window_offset_clause_opt ::= WINDOW_OFFSET NK_LP window_offset_literal NK_COMMA window_offset_literal NK_RP", - /* 649 */ "window_offset_literal ::= NK_VARIABLE", - /* 650 */ "window_offset_literal ::= NK_MINUS NK_VARIABLE", - /* 651 */ "jlimit_clause_opt ::=", - /* 652 */ "jlimit_clause_opt ::= JLIMIT NK_INTEGER", - /* 653 */ "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", - /* 654 */ "hint_list ::=", - /* 655 */ "hint_list ::= NK_HINT", - /* 656 */ "tag_mode_opt ::=", - /* 657 */ "tag_mode_opt ::= TAGS", - /* 658 */ "set_quantifier_opt ::=", - /* 659 */ "set_quantifier_opt ::= DISTINCT", - /* 660 */ "set_quantifier_opt ::= ALL", - /* 661 */ "select_list ::= select_item", - /* 662 */ "select_list ::= select_list NK_COMMA select_item", - /* 663 */ "select_item ::= NK_STAR", - /* 664 */ "select_item ::= common_expression", - /* 665 */ "select_item ::= common_expression column_alias", - /* 666 */ "select_item ::= common_expression AS column_alias", - /* 667 */ "select_item ::= table_name NK_DOT NK_STAR", - /* 668 */ "where_clause_opt ::=", - /* 669 */ "where_clause_opt ::= WHERE search_condition", - /* 670 */ "partition_by_clause_opt ::=", - /* 671 */ "partition_by_clause_opt ::= PARTITION BY partition_list", - /* 672 */ "partition_list ::= partition_item", - /* 673 */ "partition_list ::= partition_list NK_COMMA partition_item", - /* 674 */ "partition_item ::= expr_or_subquery", - /* 675 */ "partition_item ::= expr_or_subquery column_alias", - /* 676 */ "partition_item ::= expr_or_subquery AS column_alias", - /* 677 */ "twindow_clause_opt ::=", - /* 678 */ "twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP", - /* 679 */ "twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP", - /* 680 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt", - /* 681 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt", - /* 682 */ "twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition", - /* 683 */ "twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP", - /* 684 */ "twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP", - /* 685 */ "sliding_opt ::=", - /* 686 */ "sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP", - /* 687 */ "interval_sliding_duration_literal ::= NK_VARIABLE", - /* 688 */ "interval_sliding_duration_literal ::= NK_STRING", - /* 689 */ "interval_sliding_duration_literal ::= NK_INTEGER", - /* 690 */ "fill_opt ::=", - /* 691 */ "fill_opt ::= FILL NK_LP fill_mode NK_RP", - /* 692 */ "fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP", - /* 693 */ "fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP", - /* 694 */ "fill_mode ::= NONE", - /* 695 */ "fill_mode ::= PREV", - /* 696 */ "fill_mode ::= NULL", - /* 697 */ "fill_mode ::= NULL_F", - /* 698 */ "fill_mode ::= LINEAR", - /* 699 */ "fill_mode ::= NEXT", - /* 700 */ "group_by_clause_opt ::=", - /* 701 */ "group_by_clause_opt ::= GROUP BY group_by_list", - /* 702 */ "group_by_list ::= expr_or_subquery", - /* 703 */ "group_by_list ::= group_by_list NK_COMMA expr_or_subquery", - /* 704 */ "having_clause_opt ::=", - /* 705 */ "having_clause_opt ::= HAVING search_condition", - /* 706 */ "range_opt ::=", - /* 707 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP", - /* 708 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_RP", - /* 709 */ "every_opt ::=", - /* 710 */ "every_opt ::= EVERY NK_LP duration_literal NK_RP", - /* 711 */ "query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt", - /* 712 */ "query_simple ::= query_specification", - /* 713 */ "query_simple ::= union_query_expression", - /* 714 */ "union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery", - /* 715 */ "union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery", - /* 716 */ "query_simple_or_subquery ::= query_simple", - /* 717 */ "query_simple_or_subquery ::= subquery", - /* 718 */ "query_or_subquery ::= query_expression", - /* 719 */ "query_or_subquery ::= subquery", - /* 720 */ "order_by_clause_opt ::=", - /* 721 */ "order_by_clause_opt ::= ORDER BY sort_specification_list", - /* 722 */ "slimit_clause_opt ::=", - /* 723 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER", - /* 724 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER", - /* 725 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER", - /* 726 */ "limit_clause_opt ::=", - /* 727 */ "limit_clause_opt ::= LIMIT NK_INTEGER", - /* 728 */ "limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER", - /* 729 */ "limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER", - /* 730 */ "subquery ::= NK_LP query_expression NK_RP", - /* 731 */ "subquery ::= NK_LP subquery NK_RP", - /* 732 */ "search_condition ::= common_expression", - /* 733 */ "sort_specification_list ::= sort_specification", - /* 734 */ "sort_specification_list ::= sort_specification_list NK_COMMA sort_specification", - /* 735 */ "sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt", - /* 736 */ "ordering_specification_opt ::=", - /* 737 */ "ordering_specification_opt ::= ASC", - /* 738 */ "ordering_specification_opt ::= DESC", - /* 739 */ "null_ordering_opt ::=", - /* 740 */ "null_ordering_opt ::= NULLS FIRST", - /* 741 */ "null_ordering_opt ::= NULLS LAST", - /* 742 */ "column_options ::=", - /* 743 */ "column_options ::= column_options PRIMARY KEY", - /* 744 */ "column_options ::= column_options ENCODE NK_STRING", - /* 745 */ "column_options ::= column_options COMPRESS NK_STRING", - /* 746 */ "column_options ::= column_options LEVEL NK_STRING", + /* 430 */ "cmd ::= BALANCE VGROUP LEADER DATABASE db_name", + /* 431 */ "cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER", + /* 432 */ "cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list", + /* 433 */ "cmd ::= SPLIT VGROUP NK_INTEGER", + /* 434 */ "on_vgroup_id ::=", + /* 435 */ "on_vgroup_id ::= ON NK_INTEGER", + /* 436 */ "dnode_list ::= DNODE NK_INTEGER", + /* 437 */ "dnode_list ::= dnode_list DNODE NK_INTEGER", + /* 438 */ "cmd ::= DELETE FROM full_table_name where_clause_opt", + /* 439 */ "cmd ::= query_or_subquery", + /* 440 */ "cmd ::= insert_query", + /* 441 */ "insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery", + /* 442 */ "insert_query ::= INSERT INTO full_table_name query_or_subquery", + /* 443 */ "tags_literal ::= NK_INTEGER", + /* 444 */ "tags_literal ::= NK_INTEGER NK_PLUS duration_literal", + /* 445 */ "tags_literal ::= NK_INTEGER NK_MINUS duration_literal", + /* 446 */ "tags_literal ::= NK_PLUS NK_INTEGER", + /* 447 */ "tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal", + /* 448 */ "tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal", + /* 449 */ "tags_literal ::= NK_MINUS NK_INTEGER", + /* 450 */ "tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal", + /* 451 */ "tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal", + /* 452 */ "tags_literal ::= NK_FLOAT", + /* 453 */ "tags_literal ::= NK_PLUS NK_FLOAT", + /* 454 */ "tags_literal ::= NK_MINUS NK_FLOAT", + /* 455 */ "tags_literal ::= NK_BIN", + /* 456 */ "tags_literal ::= NK_BIN NK_PLUS duration_literal", + /* 457 */ "tags_literal ::= NK_BIN NK_MINUS duration_literal", + /* 458 */ "tags_literal ::= NK_PLUS NK_BIN", + /* 459 */ "tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal", + /* 460 */ "tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal", + /* 461 */ "tags_literal ::= NK_MINUS NK_BIN", + /* 462 */ "tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal", + /* 463 */ "tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal", + /* 464 */ "tags_literal ::= NK_HEX", + /* 465 */ "tags_literal ::= NK_HEX NK_PLUS duration_literal", + /* 466 */ "tags_literal ::= NK_HEX NK_MINUS duration_literal", + /* 467 */ "tags_literal ::= NK_PLUS NK_HEX", + /* 468 */ "tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal", + /* 469 */ "tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal", + /* 470 */ "tags_literal ::= NK_MINUS NK_HEX", + /* 471 */ "tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal", + /* 472 */ "tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal", + /* 473 */ "tags_literal ::= NK_STRING", + /* 474 */ "tags_literal ::= NK_STRING NK_PLUS duration_literal", + /* 475 */ "tags_literal ::= NK_STRING NK_MINUS duration_literal", + /* 476 */ "tags_literal ::= NK_BOOL", + /* 477 */ "tags_literal ::= NULL", + /* 478 */ "tags_literal ::= literal_func", + /* 479 */ "tags_literal ::= literal_func NK_PLUS duration_literal", + /* 480 */ "tags_literal ::= literal_func NK_MINUS duration_literal", + /* 481 */ "tags_literal_list ::= tags_literal", + /* 482 */ "tags_literal_list ::= tags_literal_list NK_COMMA tags_literal", + /* 483 */ "literal ::= NK_INTEGER", + /* 484 */ "literal ::= NK_FLOAT", + /* 485 */ "literal ::= NK_STRING", + /* 486 */ "literal ::= NK_BOOL", + /* 487 */ "literal ::= TIMESTAMP NK_STRING", + /* 488 */ "literal ::= duration_literal", + /* 489 */ "literal ::= NULL", + /* 490 */ "literal ::= NK_QUESTION", + /* 491 */ "duration_literal ::= NK_VARIABLE", + /* 492 */ "signed ::= NK_INTEGER", + /* 493 */ "signed ::= NK_PLUS NK_INTEGER", + /* 494 */ "signed ::= NK_MINUS NK_INTEGER", + /* 495 */ "signed ::= NK_FLOAT", + /* 496 */ "signed ::= NK_PLUS NK_FLOAT", + /* 497 */ "signed ::= NK_MINUS NK_FLOAT", + /* 498 */ "signed_literal ::= signed", + /* 499 */ "signed_literal ::= NK_STRING", + /* 500 */ "signed_literal ::= NK_BOOL", + /* 501 */ "signed_literal ::= TIMESTAMP NK_STRING", + /* 502 */ "signed_literal ::= duration_literal", + /* 503 */ "signed_literal ::= NULL", + /* 504 */ "signed_literal ::= literal_func", + /* 505 */ "signed_literal ::= NK_QUESTION", + /* 506 */ "literal_list ::= signed_literal", + /* 507 */ "literal_list ::= literal_list NK_COMMA signed_literal", + /* 508 */ "db_name ::= NK_ID", + /* 509 */ "table_name ::= NK_ID", + /* 510 */ "column_name ::= NK_ID", + /* 511 */ "function_name ::= NK_ID", + /* 512 */ "view_name ::= NK_ID", + /* 513 */ "table_alias ::= NK_ID", + /* 514 */ "column_alias ::= NK_ID", + /* 515 */ "column_alias ::= NK_ALIAS", + /* 516 */ "user_name ::= NK_ID", + /* 517 */ "topic_name ::= NK_ID", + /* 518 */ "stream_name ::= NK_ID", + /* 519 */ "cgroup_name ::= NK_ID", + /* 520 */ "index_name ::= NK_ID", + /* 521 */ "tsma_name ::= NK_ID", + /* 522 */ "expr_or_subquery ::= expression", + /* 523 */ "expression ::= literal", + /* 524 */ "expression ::= pseudo_column", + /* 525 */ "expression ::= column_reference", + /* 526 */ "expression ::= function_expression", + /* 527 */ "expression ::= case_when_expression", + /* 528 */ "expression ::= NK_LP expression NK_RP", + /* 529 */ "expression ::= NK_PLUS expr_or_subquery", + /* 530 */ "expression ::= NK_MINUS expr_or_subquery", + /* 531 */ "expression ::= expr_or_subquery NK_PLUS expr_or_subquery", + /* 532 */ "expression ::= expr_or_subquery NK_MINUS expr_or_subquery", + /* 533 */ "expression ::= expr_or_subquery NK_STAR expr_or_subquery", + /* 534 */ "expression ::= expr_or_subquery NK_SLASH expr_or_subquery", + /* 535 */ "expression ::= expr_or_subquery NK_REM expr_or_subquery", + /* 536 */ "expression ::= column_reference NK_ARROW NK_STRING", + /* 537 */ "expression ::= expr_or_subquery NK_BITAND expr_or_subquery", + /* 538 */ "expression ::= expr_or_subquery NK_BITOR expr_or_subquery", + /* 539 */ "expression_list ::= expr_or_subquery", + /* 540 */ "expression_list ::= expression_list NK_COMMA expr_or_subquery", + /* 541 */ "column_reference ::= column_name", + /* 542 */ "column_reference ::= table_name NK_DOT column_name", + /* 543 */ "column_reference ::= NK_ALIAS", + /* 544 */ "column_reference ::= table_name NK_DOT NK_ALIAS", + /* 545 */ "pseudo_column ::= ROWTS", + /* 546 */ "pseudo_column ::= TBNAME", + /* 547 */ "pseudo_column ::= table_name NK_DOT TBNAME", + /* 548 */ "pseudo_column ::= QSTART", + /* 549 */ "pseudo_column ::= QEND", + /* 550 */ "pseudo_column ::= QDURATION", + /* 551 */ "pseudo_column ::= WSTART", + /* 552 */ "pseudo_column ::= WEND", + /* 553 */ "pseudo_column ::= WDURATION", + /* 554 */ "pseudo_column ::= IROWTS", + /* 555 */ "pseudo_column ::= ISFILLED", + /* 556 */ "pseudo_column ::= QTAGS", + /* 557 */ "function_expression ::= function_name NK_LP expression_list NK_RP", + /* 558 */ "function_expression ::= star_func NK_LP star_func_para_list NK_RP", + /* 559 */ "function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP", + /* 560 */ "function_expression ::= CAST NK_LP expr_or_subquery AS type_name_default_len NK_RP", + /* 561 */ "function_expression ::= literal_func", + /* 562 */ "literal_func ::= noarg_func NK_LP NK_RP", + /* 563 */ "literal_func ::= NOW", + /* 564 */ "literal_func ::= TODAY", + /* 565 */ "noarg_func ::= NOW", + /* 566 */ "noarg_func ::= TODAY", + /* 567 */ "noarg_func ::= TIMEZONE", + /* 568 */ "noarg_func ::= DATABASE", + /* 569 */ "noarg_func ::= CLIENT_VERSION", + /* 570 */ "noarg_func ::= SERVER_VERSION", + /* 571 */ "noarg_func ::= SERVER_STATUS", + /* 572 */ "noarg_func ::= CURRENT_USER", + /* 573 */ "noarg_func ::= USER", + /* 574 */ "star_func ::= COUNT", + /* 575 */ "star_func ::= FIRST", + /* 576 */ "star_func ::= LAST", + /* 577 */ "star_func ::= LAST_ROW", + /* 578 */ "star_func_para_list ::= NK_STAR", + /* 579 */ "star_func_para_list ::= other_para_list", + /* 580 */ "other_para_list ::= star_func_para", + /* 581 */ "other_para_list ::= other_para_list NK_COMMA star_func_para", + /* 582 */ "star_func_para ::= expr_or_subquery", + /* 583 */ "star_func_para ::= table_name NK_DOT NK_STAR", + /* 584 */ "case_when_expression ::= CASE when_then_list case_when_else_opt END", + /* 585 */ "case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END", + /* 586 */ "when_then_list ::= when_then_expr", + /* 587 */ "when_then_list ::= when_then_list when_then_expr", + /* 588 */ "when_then_expr ::= WHEN common_expression THEN common_expression", + /* 589 */ "case_when_else_opt ::=", + /* 590 */ "case_when_else_opt ::= ELSE common_expression", + /* 591 */ "predicate ::= expr_or_subquery compare_op expr_or_subquery", + /* 592 */ "predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery", + /* 593 */ "predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery", + /* 594 */ "predicate ::= expr_or_subquery IS NULL", + /* 595 */ "predicate ::= expr_or_subquery IS NOT NULL", + /* 596 */ "predicate ::= expr_or_subquery in_op in_predicate_value", + /* 597 */ "compare_op ::= NK_LT", + /* 598 */ "compare_op ::= NK_GT", + /* 599 */ "compare_op ::= NK_LE", + /* 600 */ "compare_op ::= NK_GE", + /* 601 */ "compare_op ::= NK_NE", + /* 602 */ "compare_op ::= NK_EQ", + /* 603 */ "compare_op ::= LIKE", + /* 604 */ "compare_op ::= NOT LIKE", + /* 605 */ "compare_op ::= MATCH", + /* 606 */ "compare_op ::= NMATCH", + /* 607 */ "compare_op ::= CONTAINS", + /* 608 */ "in_op ::= IN", + /* 609 */ "in_op ::= NOT IN", + /* 610 */ "in_predicate_value ::= NK_LP literal_list NK_RP", + /* 611 */ "boolean_value_expression ::= boolean_primary", + /* 612 */ "boolean_value_expression ::= NOT boolean_primary", + /* 613 */ "boolean_value_expression ::= boolean_value_expression OR boolean_value_expression", + /* 614 */ "boolean_value_expression ::= boolean_value_expression AND boolean_value_expression", + /* 615 */ "boolean_primary ::= predicate", + /* 616 */ "boolean_primary ::= NK_LP boolean_value_expression NK_RP", + /* 617 */ "common_expression ::= expr_or_subquery", + /* 618 */ "common_expression ::= boolean_value_expression", + /* 619 */ "from_clause_opt ::=", + /* 620 */ "from_clause_opt ::= FROM table_reference_list", + /* 621 */ "table_reference_list ::= table_reference", + /* 622 */ "table_reference_list ::= table_reference_list NK_COMMA table_reference", + /* 623 */ "table_reference ::= table_primary", + /* 624 */ "table_reference ::= joined_table", + /* 625 */ "table_primary ::= table_name alias_opt", + /* 626 */ "table_primary ::= db_name NK_DOT table_name alias_opt", + /* 627 */ "table_primary ::= subquery alias_opt", + /* 628 */ "table_primary ::= parenthesized_joined_table", + /* 629 */ "alias_opt ::=", + /* 630 */ "alias_opt ::= table_alias", + /* 631 */ "alias_opt ::= AS table_alias", + /* 632 */ "parenthesized_joined_table ::= NK_LP joined_table NK_RP", + /* 633 */ "parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP", + /* 634 */ "joined_table ::= table_reference join_type join_subtype JOIN table_reference join_on_clause_opt window_offset_clause_opt jlimit_clause_opt", + /* 635 */ "join_type ::=", + /* 636 */ "join_type ::= INNER", + /* 637 */ "join_type ::= LEFT", + /* 638 */ "join_type ::= RIGHT", + /* 639 */ "join_type ::= FULL", + /* 640 */ "join_subtype ::=", + /* 641 */ "join_subtype ::= OUTER", + /* 642 */ "join_subtype ::= SEMI", + /* 643 */ "join_subtype ::= ANTI", + /* 644 */ "join_subtype ::= ASOF", + /* 645 */ "join_subtype ::= WINDOW", + /* 646 */ "join_on_clause_opt ::=", + /* 647 */ "join_on_clause_opt ::= ON search_condition", + /* 648 */ "window_offset_clause_opt ::=", + /* 649 */ "window_offset_clause_opt ::= WINDOW_OFFSET NK_LP window_offset_literal NK_COMMA window_offset_literal NK_RP", + /* 650 */ "window_offset_literal ::= NK_VARIABLE", + /* 651 */ "window_offset_literal ::= NK_MINUS NK_VARIABLE", + /* 652 */ "jlimit_clause_opt ::=", + /* 653 */ "jlimit_clause_opt ::= JLIMIT NK_INTEGER", + /* 654 */ "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", + /* 655 */ "hint_list ::=", + /* 656 */ "hint_list ::= NK_HINT", + /* 657 */ "tag_mode_opt ::=", + /* 658 */ "tag_mode_opt ::= TAGS", + /* 659 */ "set_quantifier_opt ::=", + /* 660 */ "set_quantifier_opt ::= DISTINCT", + /* 661 */ "set_quantifier_opt ::= ALL", + /* 662 */ "select_list ::= select_item", + /* 663 */ "select_list ::= select_list NK_COMMA select_item", + /* 664 */ "select_item ::= NK_STAR", + /* 665 */ "select_item ::= common_expression", + /* 666 */ "select_item ::= common_expression column_alias", + /* 667 */ "select_item ::= common_expression AS column_alias", + /* 668 */ "select_item ::= table_name NK_DOT NK_STAR", + /* 669 */ "where_clause_opt ::=", + /* 670 */ "where_clause_opt ::= WHERE search_condition", + /* 671 */ "partition_by_clause_opt ::=", + /* 672 */ "partition_by_clause_opt ::= PARTITION BY partition_list", + /* 673 */ "partition_list ::= partition_item", + /* 674 */ "partition_list ::= partition_list NK_COMMA partition_item", + /* 675 */ "partition_item ::= expr_or_subquery", + /* 676 */ "partition_item ::= expr_or_subquery column_alias", + /* 677 */ "partition_item ::= expr_or_subquery AS column_alias", + /* 678 */ "twindow_clause_opt ::=", + /* 679 */ "twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP", + /* 680 */ "twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP", + /* 681 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt", + /* 682 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt", + /* 683 */ "twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition", + /* 684 */ "twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP", + /* 685 */ "twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP", + /* 686 */ "sliding_opt ::=", + /* 687 */ "sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP", + /* 688 */ "interval_sliding_duration_literal ::= NK_VARIABLE", + /* 689 */ "interval_sliding_duration_literal ::= NK_STRING", + /* 690 */ "interval_sliding_duration_literal ::= NK_INTEGER", + /* 691 */ "fill_opt ::=", + /* 692 */ "fill_opt ::= FILL NK_LP fill_mode NK_RP", + /* 693 */ "fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP", + /* 694 */ "fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP", + /* 695 */ "fill_mode ::= NONE", + /* 696 */ "fill_mode ::= PREV", + /* 697 */ "fill_mode ::= NULL", + /* 698 */ "fill_mode ::= NULL_F", + /* 699 */ "fill_mode ::= LINEAR", + /* 700 */ "fill_mode ::= NEXT", + /* 701 */ "group_by_clause_opt ::=", + /* 702 */ "group_by_clause_opt ::= GROUP BY group_by_list", + /* 703 */ "group_by_list ::= expr_or_subquery", + /* 704 */ "group_by_list ::= group_by_list NK_COMMA expr_or_subquery", + /* 705 */ "having_clause_opt ::=", + /* 706 */ "having_clause_opt ::= HAVING search_condition", + /* 707 */ "range_opt ::=", + /* 708 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP", + /* 709 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_RP", + /* 710 */ "every_opt ::=", + /* 711 */ "every_opt ::= EVERY NK_LP duration_literal NK_RP", + /* 712 */ "query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt", + /* 713 */ "query_simple ::= query_specification", + /* 714 */ "query_simple ::= union_query_expression", + /* 715 */ "union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery", + /* 716 */ "union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery", + /* 717 */ "query_simple_or_subquery ::= query_simple", + /* 718 */ "query_simple_or_subquery ::= subquery", + /* 719 */ "query_or_subquery ::= query_expression", + /* 720 */ "query_or_subquery ::= subquery", + /* 721 */ "order_by_clause_opt ::=", + /* 722 */ "order_by_clause_opt ::= ORDER BY sort_specification_list", + /* 723 */ "slimit_clause_opt ::=", + /* 724 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER", + /* 725 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER", + /* 726 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER", + /* 727 */ "limit_clause_opt ::=", + /* 728 */ "limit_clause_opt ::= LIMIT NK_INTEGER", + /* 729 */ "limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER", + /* 730 */ "limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER", + /* 731 */ "subquery ::= NK_LP query_expression NK_RP", + /* 732 */ "subquery ::= NK_LP subquery NK_RP", + /* 733 */ "search_condition ::= common_expression", + /* 734 */ "sort_specification_list ::= sort_specification", + /* 735 */ "sort_specification_list ::= sort_specification_list NK_COMMA sort_specification", + /* 736 */ "sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt", + /* 737 */ "ordering_specification_opt ::=", + /* 738 */ "ordering_specification_opt ::= ASC", + /* 739 */ "ordering_specification_opt ::= DESC", + /* 740 */ "null_ordering_opt ::=", + /* 741 */ "null_ordering_opt ::= NULLS FIRST", + /* 742 */ "null_ordering_opt ::= NULLS LAST", + /* 743 */ "column_options ::=", + /* 744 */ "column_options ::= column_options PRIMARY KEY", + /* 745 */ "column_options ::= column_options ENCODE NK_STRING", + /* 746 */ "column_options ::= column_options COMPRESS NK_STRING", + /* 747 */ "column_options ::= column_options LEVEL NK_STRING", }; #endif /* NDEBUG */ @@ -3488,7 +3864,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); @@ -4040,323 +4416,324 @@ static const YYCODETYPE yyRuleInfoLhs[] = { 376, /* (427) cmd ::= KILL COMPACT NK_INTEGER */ 376, /* (428) cmd ::= BALANCE VGROUP */ 376, /* (429) cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ - 376, /* (430) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ - 376, /* (431) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ - 376, /* (432) cmd ::= SPLIT VGROUP NK_INTEGER */ - 485, /* (433) on_vgroup_id ::= */ - 485, /* (434) on_vgroup_id ::= ON NK_INTEGER */ - 486, /* (435) dnode_list ::= DNODE NK_INTEGER */ - 486, /* (436) dnode_list ::= dnode_list DNODE NK_INTEGER */ - 376, /* (437) cmd ::= DELETE FROM full_table_name where_clause_opt */ - 376, /* (438) cmd ::= query_or_subquery */ - 376, /* (439) cmd ::= insert_query */ - 468, /* (440) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ - 468, /* (441) insert_query ::= INSERT INTO full_table_name query_or_subquery */ - 423, /* (442) tags_literal ::= NK_INTEGER */ - 423, /* (443) tags_literal ::= NK_INTEGER NK_PLUS duration_literal */ - 423, /* (444) tags_literal ::= NK_INTEGER NK_MINUS duration_literal */ - 423, /* (445) tags_literal ::= NK_PLUS NK_INTEGER */ - 423, /* (446) tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal */ - 423, /* (447) tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal */ - 423, /* (448) tags_literal ::= NK_MINUS NK_INTEGER */ - 423, /* (449) tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal */ - 423, /* (450) tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal */ - 423, /* (451) tags_literal ::= NK_FLOAT */ - 423, /* (452) tags_literal ::= NK_PLUS NK_FLOAT */ - 423, /* (453) tags_literal ::= NK_MINUS NK_FLOAT */ - 423, /* (454) tags_literal ::= NK_BIN */ - 423, /* (455) tags_literal ::= NK_BIN NK_PLUS duration_literal */ - 423, /* (456) tags_literal ::= NK_BIN NK_MINUS duration_literal */ - 423, /* (457) tags_literal ::= NK_PLUS NK_BIN */ - 423, /* (458) tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal */ - 423, /* (459) tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal */ - 423, /* (460) tags_literal ::= NK_MINUS NK_BIN */ - 423, /* (461) tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal */ - 423, /* (462) tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal */ - 423, /* (463) tags_literal ::= NK_HEX */ - 423, /* (464) tags_literal ::= NK_HEX NK_PLUS duration_literal */ - 423, /* (465) tags_literal ::= NK_HEX NK_MINUS duration_literal */ - 423, /* (466) tags_literal ::= NK_PLUS NK_HEX */ - 423, /* (467) tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal */ - 423, /* (468) tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal */ - 423, /* (469) tags_literal ::= NK_MINUS NK_HEX */ - 423, /* (470) tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal */ - 423, /* (471) tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal */ - 423, /* (472) tags_literal ::= NK_STRING */ - 423, /* (473) tags_literal ::= NK_STRING NK_PLUS duration_literal */ - 423, /* (474) tags_literal ::= NK_STRING NK_MINUS duration_literal */ - 423, /* (475) tags_literal ::= NK_BOOL */ - 423, /* (476) tags_literal ::= NULL */ - 423, /* (477) tags_literal ::= literal_func */ - 423, /* (478) tags_literal ::= literal_func NK_PLUS duration_literal */ - 423, /* (479) tags_literal ::= literal_func NK_MINUS duration_literal */ - 426, /* (480) tags_literal_list ::= tags_literal */ - 426, /* (481) tags_literal_list ::= tags_literal_list NK_COMMA tags_literal */ - 379, /* (482) literal ::= NK_INTEGER */ - 379, /* (483) literal ::= NK_FLOAT */ - 379, /* (484) literal ::= NK_STRING */ - 379, /* (485) literal ::= NK_BOOL */ - 379, /* (486) literal ::= TIMESTAMP NK_STRING */ - 379, /* (487) literal ::= duration_literal */ - 379, /* (488) literal ::= NULL */ - 379, /* (489) literal ::= NK_QUESTION */ - 436, /* (490) duration_literal ::= NK_VARIABLE */ - 408, /* (491) signed ::= NK_INTEGER */ - 408, /* (492) signed ::= NK_PLUS NK_INTEGER */ - 408, /* (493) signed ::= NK_MINUS NK_INTEGER */ - 408, /* (494) signed ::= NK_FLOAT */ - 408, /* (495) signed ::= NK_PLUS NK_FLOAT */ - 408, /* (496) signed ::= NK_MINUS NK_FLOAT */ - 488, /* (497) signed_literal ::= signed */ - 488, /* (498) signed_literal ::= NK_STRING */ - 488, /* (499) signed_literal ::= NK_BOOL */ - 488, /* (500) signed_literal ::= TIMESTAMP NK_STRING */ - 488, /* (501) signed_literal ::= duration_literal */ - 488, /* (502) signed_literal ::= NULL */ - 488, /* (503) signed_literal ::= literal_func */ - 488, /* (504) signed_literal ::= NK_QUESTION */ - 489, /* (505) literal_list ::= signed_literal */ - 489, /* (506) literal_list ::= literal_list NK_COMMA signed_literal */ - 391, /* (507) db_name ::= NK_ID */ - 392, /* (508) table_name ::= NK_ID */ - 420, /* (509) column_name ::= NK_ID */ - 438, /* (510) function_name ::= NK_ID */ - 474, /* (511) view_name ::= NK_ID */ - 490, /* (512) table_alias ::= NK_ID */ - 449, /* (513) column_alias ::= NK_ID */ - 449, /* (514) column_alias ::= NK_ALIAS */ - 384, /* (515) user_name ::= NK_ID */ - 393, /* (516) topic_name ::= NK_ID */ - 475, /* (517) stream_name ::= NK_ID */ - 465, /* (518) cgroup_name ::= NK_ID */ - 456, /* (519) index_name ::= NK_ID */ - 450, /* (520) tsma_name ::= NK_ID */ - 491, /* (521) expr_or_subquery ::= expression */ - 484, /* (522) expression ::= literal */ - 484, /* (523) expression ::= pseudo_column */ - 484, /* (524) expression ::= column_reference */ - 484, /* (525) expression ::= function_expression */ - 484, /* (526) expression ::= case_when_expression */ - 484, /* (527) expression ::= NK_LP expression NK_RP */ - 484, /* (528) expression ::= NK_PLUS expr_or_subquery */ - 484, /* (529) expression ::= NK_MINUS expr_or_subquery */ - 484, /* (530) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ - 484, /* (531) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ - 484, /* (532) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ - 484, /* (533) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ - 484, /* (534) expression ::= expr_or_subquery NK_REM expr_or_subquery */ - 484, /* (535) expression ::= column_reference NK_ARROW NK_STRING */ - 484, /* (536) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ - 484, /* (537) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ - 461, /* (538) expression_list ::= expr_or_subquery */ - 461, /* (539) expression_list ::= expression_list NK_COMMA expr_or_subquery */ - 493, /* (540) column_reference ::= column_name */ - 493, /* (541) column_reference ::= table_name NK_DOT column_name */ - 493, /* (542) column_reference ::= NK_ALIAS */ - 493, /* (543) column_reference ::= table_name NK_DOT NK_ALIAS */ - 492, /* (544) pseudo_column ::= ROWTS */ - 492, /* (545) pseudo_column ::= TBNAME */ - 492, /* (546) pseudo_column ::= table_name NK_DOT TBNAME */ - 492, /* (547) pseudo_column ::= QSTART */ - 492, /* (548) pseudo_column ::= QEND */ - 492, /* (549) pseudo_column ::= QDURATION */ - 492, /* (550) pseudo_column ::= WSTART */ - 492, /* (551) pseudo_column ::= WEND */ - 492, /* (552) pseudo_column ::= WDURATION */ - 492, /* (553) pseudo_column ::= IROWTS */ - 492, /* (554) pseudo_column ::= ISFILLED */ - 492, /* (555) pseudo_column ::= QTAGS */ - 494, /* (556) function_expression ::= function_name NK_LP expression_list NK_RP */ - 494, /* (557) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ - 494, /* (558) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ - 494, /* (559) function_expression ::= CAST NK_LP expr_or_subquery AS type_name_default_len NK_RP */ - 494, /* (560) function_expression ::= literal_func */ - 487, /* (561) literal_func ::= noarg_func NK_LP NK_RP */ - 487, /* (562) literal_func ::= NOW */ - 487, /* (563) literal_func ::= TODAY */ - 498, /* (564) noarg_func ::= NOW */ - 498, /* (565) noarg_func ::= TODAY */ - 498, /* (566) noarg_func ::= TIMEZONE */ - 498, /* (567) noarg_func ::= DATABASE */ - 498, /* (568) noarg_func ::= CLIENT_VERSION */ - 498, /* (569) noarg_func ::= SERVER_VERSION */ - 498, /* (570) noarg_func ::= SERVER_STATUS */ - 498, /* (571) noarg_func ::= CURRENT_USER */ - 498, /* (572) noarg_func ::= USER */ - 496, /* (573) star_func ::= COUNT */ - 496, /* (574) star_func ::= FIRST */ - 496, /* (575) star_func ::= LAST */ - 496, /* (576) star_func ::= LAST_ROW */ - 497, /* (577) star_func_para_list ::= NK_STAR */ - 497, /* (578) star_func_para_list ::= other_para_list */ - 499, /* (579) other_para_list ::= star_func_para */ - 499, /* (580) other_para_list ::= other_para_list NK_COMMA star_func_para */ - 500, /* (581) star_func_para ::= expr_or_subquery */ - 500, /* (582) star_func_para ::= table_name NK_DOT NK_STAR */ - 495, /* (583) case_when_expression ::= CASE when_then_list case_when_else_opt END */ - 495, /* (584) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ - 501, /* (585) when_then_list ::= when_then_expr */ - 501, /* (586) when_then_list ::= when_then_list when_then_expr */ - 504, /* (587) when_then_expr ::= WHEN common_expression THEN common_expression */ - 502, /* (588) case_when_else_opt ::= */ - 502, /* (589) case_when_else_opt ::= ELSE common_expression */ - 505, /* (590) predicate ::= expr_or_subquery compare_op expr_or_subquery */ - 505, /* (591) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ - 505, /* (592) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ - 505, /* (593) predicate ::= expr_or_subquery IS NULL */ - 505, /* (594) predicate ::= expr_or_subquery IS NOT NULL */ - 505, /* (595) predicate ::= expr_or_subquery in_op in_predicate_value */ - 506, /* (596) compare_op ::= NK_LT */ - 506, /* (597) compare_op ::= NK_GT */ - 506, /* (598) compare_op ::= NK_LE */ - 506, /* (599) compare_op ::= NK_GE */ - 506, /* (600) compare_op ::= NK_NE */ - 506, /* (601) compare_op ::= NK_EQ */ - 506, /* (602) compare_op ::= LIKE */ - 506, /* (603) compare_op ::= NOT LIKE */ - 506, /* (604) compare_op ::= MATCH */ - 506, /* (605) compare_op ::= NMATCH */ - 506, /* (606) compare_op ::= CONTAINS */ - 507, /* (607) in_op ::= IN */ - 507, /* (608) in_op ::= NOT IN */ - 508, /* (609) in_predicate_value ::= NK_LP literal_list NK_RP */ - 509, /* (610) boolean_value_expression ::= boolean_primary */ - 509, /* (611) boolean_value_expression ::= NOT boolean_primary */ - 509, /* (612) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ - 509, /* (613) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ - 510, /* (614) boolean_primary ::= predicate */ - 510, /* (615) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ - 503, /* (616) common_expression ::= expr_or_subquery */ - 503, /* (617) common_expression ::= boolean_value_expression */ - 511, /* (618) from_clause_opt ::= */ - 511, /* (619) from_clause_opt ::= FROM table_reference_list */ - 512, /* (620) table_reference_list ::= table_reference */ - 512, /* (621) table_reference_list ::= table_reference_list NK_COMMA table_reference */ - 513, /* (622) table_reference ::= table_primary */ - 513, /* (623) table_reference ::= joined_table */ - 514, /* (624) table_primary ::= table_name alias_opt */ - 514, /* (625) table_primary ::= db_name NK_DOT table_name alias_opt */ - 514, /* (626) table_primary ::= subquery alias_opt */ - 514, /* (627) table_primary ::= parenthesized_joined_table */ - 516, /* (628) alias_opt ::= */ - 516, /* (629) alias_opt ::= table_alias */ - 516, /* (630) alias_opt ::= AS table_alias */ - 518, /* (631) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ - 518, /* (632) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ - 515, /* (633) joined_table ::= table_reference join_type join_subtype JOIN table_reference join_on_clause_opt window_offset_clause_opt jlimit_clause_opt */ - 519, /* (634) join_type ::= */ - 519, /* (635) join_type ::= INNER */ - 519, /* (636) join_type ::= LEFT */ - 519, /* (637) join_type ::= RIGHT */ - 519, /* (638) join_type ::= FULL */ - 520, /* (639) join_subtype ::= */ - 520, /* (640) join_subtype ::= OUTER */ - 520, /* (641) join_subtype ::= SEMI */ - 520, /* (642) join_subtype ::= ANTI */ - 520, /* (643) join_subtype ::= ASOF */ - 520, /* (644) join_subtype ::= WINDOW */ - 521, /* (645) join_on_clause_opt ::= */ - 521, /* (646) join_on_clause_opt ::= ON search_condition */ - 522, /* (647) window_offset_clause_opt ::= */ - 522, /* (648) window_offset_clause_opt ::= WINDOW_OFFSET NK_LP window_offset_literal NK_COMMA window_offset_literal NK_RP */ - 524, /* (649) window_offset_literal ::= NK_VARIABLE */ - 524, /* (650) window_offset_literal ::= NK_MINUS NK_VARIABLE */ - 523, /* (651) jlimit_clause_opt ::= */ - 523, /* (652) jlimit_clause_opt ::= JLIMIT NK_INTEGER */ - 525, /* (653) 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 */ - 526, /* (654) hint_list ::= */ - 526, /* (655) hint_list ::= NK_HINT */ - 528, /* (656) tag_mode_opt ::= */ - 528, /* (657) tag_mode_opt ::= TAGS */ - 527, /* (658) set_quantifier_opt ::= */ - 527, /* (659) set_quantifier_opt ::= DISTINCT */ - 527, /* (660) set_quantifier_opt ::= ALL */ - 529, /* (661) select_list ::= select_item */ - 529, /* (662) select_list ::= select_list NK_COMMA select_item */ - 537, /* (663) select_item ::= NK_STAR */ - 537, /* (664) select_item ::= common_expression */ - 537, /* (665) select_item ::= common_expression column_alias */ - 537, /* (666) select_item ::= common_expression AS column_alias */ - 537, /* (667) select_item ::= table_name NK_DOT NK_STAR */ - 464, /* (668) where_clause_opt ::= */ - 464, /* (669) where_clause_opt ::= WHERE search_condition */ - 530, /* (670) partition_by_clause_opt ::= */ - 530, /* (671) partition_by_clause_opt ::= PARTITION BY partition_list */ - 538, /* (672) partition_list ::= partition_item */ - 538, /* (673) partition_list ::= partition_list NK_COMMA partition_item */ - 539, /* (674) partition_item ::= expr_or_subquery */ - 539, /* (675) partition_item ::= expr_or_subquery column_alias */ - 539, /* (676) partition_item ::= expr_or_subquery AS column_alias */ - 534, /* (677) twindow_clause_opt ::= */ - 534, /* (678) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ - 534, /* (679) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ - 534, /* (680) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ - 534, /* (681) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ - 534, /* (682) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ - 534, /* (683) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ - 534, /* (684) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ - 457, /* (685) sliding_opt ::= */ - 457, /* (686) sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ - 540, /* (687) interval_sliding_duration_literal ::= NK_VARIABLE */ - 540, /* (688) interval_sliding_duration_literal ::= NK_STRING */ - 540, /* (689) interval_sliding_duration_literal ::= NK_INTEGER */ - 533, /* (690) fill_opt ::= */ - 533, /* (691) fill_opt ::= FILL NK_LP fill_mode NK_RP */ - 533, /* (692) fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ - 533, /* (693) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ - 541, /* (694) fill_mode ::= NONE */ - 541, /* (695) fill_mode ::= PREV */ - 541, /* (696) fill_mode ::= NULL */ - 541, /* (697) fill_mode ::= NULL_F */ - 541, /* (698) fill_mode ::= LINEAR */ - 541, /* (699) fill_mode ::= NEXT */ - 535, /* (700) group_by_clause_opt ::= */ - 535, /* (701) group_by_clause_opt ::= GROUP BY group_by_list */ - 542, /* (702) group_by_list ::= expr_or_subquery */ - 542, /* (703) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ - 536, /* (704) having_clause_opt ::= */ - 536, /* (705) having_clause_opt ::= HAVING search_condition */ - 531, /* (706) range_opt ::= */ - 531, /* (707) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ - 531, /* (708) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ - 532, /* (709) every_opt ::= */ - 532, /* (710) every_opt ::= EVERY NK_LP duration_literal NK_RP */ - 543, /* (711) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ - 544, /* (712) query_simple ::= query_specification */ - 544, /* (713) query_simple ::= union_query_expression */ - 548, /* (714) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ - 548, /* (715) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ - 549, /* (716) query_simple_or_subquery ::= query_simple */ - 549, /* (717) query_simple_or_subquery ::= subquery */ - 463, /* (718) query_or_subquery ::= query_expression */ - 463, /* (719) query_or_subquery ::= subquery */ - 545, /* (720) order_by_clause_opt ::= */ - 545, /* (721) order_by_clause_opt ::= ORDER BY sort_specification_list */ - 546, /* (722) slimit_clause_opt ::= */ - 546, /* (723) slimit_clause_opt ::= SLIMIT NK_INTEGER */ - 546, /* (724) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - 546, /* (725) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - 547, /* (726) limit_clause_opt ::= */ - 547, /* (727) limit_clause_opt ::= LIMIT NK_INTEGER */ - 547, /* (728) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ - 547, /* (729) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - 517, /* (730) subquery ::= NK_LP query_expression NK_RP */ - 517, /* (731) subquery ::= NK_LP subquery NK_RP */ - 394, /* (732) search_condition ::= common_expression */ - 550, /* (733) sort_specification_list ::= sort_specification */ - 550, /* (734) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ - 551, /* (735) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ - 552, /* (736) ordering_specification_opt ::= */ - 552, /* (737) ordering_specification_opt ::= ASC */ - 552, /* (738) ordering_specification_opt ::= DESC */ - 553, /* (739) null_ordering_opt ::= */ - 553, /* (740) null_ordering_opt ::= NULLS FIRST */ - 553, /* (741) null_ordering_opt ::= NULLS LAST */ - 422, /* (742) column_options ::= */ - 422, /* (743) column_options ::= column_options PRIMARY KEY */ - 422, /* (744) column_options ::= column_options ENCODE NK_STRING */ - 422, /* (745) column_options ::= column_options COMPRESS NK_STRING */ - 422, /* (746) column_options ::= column_options LEVEL NK_STRING */ + 376, /* (430) cmd ::= BALANCE VGROUP LEADER DATABASE db_name */ + 376, /* (431) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ + 376, /* (432) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ + 376, /* (433) cmd ::= SPLIT VGROUP NK_INTEGER */ + 485, /* (434) on_vgroup_id ::= */ + 485, /* (435) on_vgroup_id ::= ON NK_INTEGER */ + 486, /* (436) dnode_list ::= DNODE NK_INTEGER */ + 486, /* (437) dnode_list ::= dnode_list DNODE NK_INTEGER */ + 376, /* (438) cmd ::= DELETE FROM full_table_name where_clause_opt */ + 376, /* (439) cmd ::= query_or_subquery */ + 376, /* (440) cmd ::= insert_query */ + 468, /* (441) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ + 468, /* (442) insert_query ::= INSERT INTO full_table_name query_or_subquery */ + 423, /* (443) tags_literal ::= NK_INTEGER */ + 423, /* (444) tags_literal ::= NK_INTEGER NK_PLUS duration_literal */ + 423, /* (445) tags_literal ::= NK_INTEGER NK_MINUS duration_literal */ + 423, /* (446) tags_literal ::= NK_PLUS NK_INTEGER */ + 423, /* (447) tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal */ + 423, /* (448) tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal */ + 423, /* (449) tags_literal ::= NK_MINUS NK_INTEGER */ + 423, /* (450) tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal */ + 423, /* (451) tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal */ + 423, /* (452) tags_literal ::= NK_FLOAT */ + 423, /* (453) tags_literal ::= NK_PLUS NK_FLOAT */ + 423, /* (454) tags_literal ::= NK_MINUS NK_FLOAT */ + 423, /* (455) tags_literal ::= NK_BIN */ + 423, /* (456) tags_literal ::= NK_BIN NK_PLUS duration_literal */ + 423, /* (457) tags_literal ::= NK_BIN NK_MINUS duration_literal */ + 423, /* (458) tags_literal ::= NK_PLUS NK_BIN */ + 423, /* (459) tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal */ + 423, /* (460) tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal */ + 423, /* (461) tags_literal ::= NK_MINUS NK_BIN */ + 423, /* (462) tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal */ + 423, /* (463) tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal */ + 423, /* (464) tags_literal ::= NK_HEX */ + 423, /* (465) tags_literal ::= NK_HEX NK_PLUS duration_literal */ + 423, /* (466) tags_literal ::= NK_HEX NK_MINUS duration_literal */ + 423, /* (467) tags_literal ::= NK_PLUS NK_HEX */ + 423, /* (468) tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal */ + 423, /* (469) tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal */ + 423, /* (470) tags_literal ::= NK_MINUS NK_HEX */ + 423, /* (471) tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal */ + 423, /* (472) tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal */ + 423, /* (473) tags_literal ::= NK_STRING */ + 423, /* (474) tags_literal ::= NK_STRING NK_PLUS duration_literal */ + 423, /* (475) tags_literal ::= NK_STRING NK_MINUS duration_literal */ + 423, /* (476) tags_literal ::= NK_BOOL */ + 423, /* (477) tags_literal ::= NULL */ + 423, /* (478) tags_literal ::= literal_func */ + 423, /* (479) tags_literal ::= literal_func NK_PLUS duration_literal */ + 423, /* (480) tags_literal ::= literal_func NK_MINUS duration_literal */ + 426, /* (481) tags_literal_list ::= tags_literal */ + 426, /* (482) tags_literal_list ::= tags_literal_list NK_COMMA tags_literal */ + 379, /* (483) literal ::= NK_INTEGER */ + 379, /* (484) literal ::= NK_FLOAT */ + 379, /* (485) literal ::= NK_STRING */ + 379, /* (486) literal ::= NK_BOOL */ + 379, /* (487) literal ::= TIMESTAMP NK_STRING */ + 379, /* (488) literal ::= duration_literal */ + 379, /* (489) literal ::= NULL */ + 379, /* (490) literal ::= NK_QUESTION */ + 436, /* (491) duration_literal ::= NK_VARIABLE */ + 408, /* (492) signed ::= NK_INTEGER */ + 408, /* (493) signed ::= NK_PLUS NK_INTEGER */ + 408, /* (494) signed ::= NK_MINUS NK_INTEGER */ + 408, /* (495) signed ::= NK_FLOAT */ + 408, /* (496) signed ::= NK_PLUS NK_FLOAT */ + 408, /* (497) signed ::= NK_MINUS NK_FLOAT */ + 488, /* (498) signed_literal ::= signed */ + 488, /* (499) signed_literal ::= NK_STRING */ + 488, /* (500) signed_literal ::= NK_BOOL */ + 488, /* (501) signed_literal ::= TIMESTAMP NK_STRING */ + 488, /* (502) signed_literal ::= duration_literal */ + 488, /* (503) signed_literal ::= NULL */ + 488, /* (504) signed_literal ::= literal_func */ + 488, /* (505) signed_literal ::= NK_QUESTION */ + 489, /* (506) literal_list ::= signed_literal */ + 489, /* (507) literal_list ::= literal_list NK_COMMA signed_literal */ + 391, /* (508) db_name ::= NK_ID */ + 392, /* (509) table_name ::= NK_ID */ + 420, /* (510) column_name ::= NK_ID */ + 438, /* (511) function_name ::= NK_ID */ + 474, /* (512) view_name ::= NK_ID */ + 490, /* (513) table_alias ::= NK_ID */ + 449, /* (514) column_alias ::= NK_ID */ + 449, /* (515) column_alias ::= NK_ALIAS */ + 384, /* (516) user_name ::= NK_ID */ + 393, /* (517) topic_name ::= NK_ID */ + 475, /* (518) stream_name ::= NK_ID */ + 465, /* (519) cgroup_name ::= NK_ID */ + 456, /* (520) index_name ::= NK_ID */ + 450, /* (521) tsma_name ::= NK_ID */ + 491, /* (522) expr_or_subquery ::= expression */ + 484, /* (523) expression ::= literal */ + 484, /* (524) expression ::= pseudo_column */ + 484, /* (525) expression ::= column_reference */ + 484, /* (526) expression ::= function_expression */ + 484, /* (527) expression ::= case_when_expression */ + 484, /* (528) expression ::= NK_LP expression NK_RP */ + 484, /* (529) expression ::= NK_PLUS expr_or_subquery */ + 484, /* (530) expression ::= NK_MINUS expr_or_subquery */ + 484, /* (531) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ + 484, /* (532) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ + 484, /* (533) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ + 484, /* (534) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ + 484, /* (535) expression ::= expr_or_subquery NK_REM expr_or_subquery */ + 484, /* (536) expression ::= column_reference NK_ARROW NK_STRING */ + 484, /* (537) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ + 484, /* (538) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ + 461, /* (539) expression_list ::= expr_or_subquery */ + 461, /* (540) expression_list ::= expression_list NK_COMMA expr_or_subquery */ + 493, /* (541) column_reference ::= column_name */ + 493, /* (542) column_reference ::= table_name NK_DOT column_name */ + 493, /* (543) column_reference ::= NK_ALIAS */ + 493, /* (544) column_reference ::= table_name NK_DOT NK_ALIAS */ + 492, /* (545) pseudo_column ::= ROWTS */ + 492, /* (546) pseudo_column ::= TBNAME */ + 492, /* (547) pseudo_column ::= table_name NK_DOT TBNAME */ + 492, /* (548) pseudo_column ::= QSTART */ + 492, /* (549) pseudo_column ::= QEND */ + 492, /* (550) pseudo_column ::= QDURATION */ + 492, /* (551) pseudo_column ::= WSTART */ + 492, /* (552) pseudo_column ::= WEND */ + 492, /* (553) pseudo_column ::= WDURATION */ + 492, /* (554) pseudo_column ::= IROWTS */ + 492, /* (555) pseudo_column ::= ISFILLED */ + 492, /* (556) pseudo_column ::= QTAGS */ + 494, /* (557) function_expression ::= function_name NK_LP expression_list NK_RP */ + 494, /* (558) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ + 494, /* (559) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ + 494, /* (560) function_expression ::= CAST NK_LP expr_or_subquery AS type_name_default_len NK_RP */ + 494, /* (561) function_expression ::= literal_func */ + 487, /* (562) literal_func ::= noarg_func NK_LP NK_RP */ + 487, /* (563) literal_func ::= NOW */ + 487, /* (564) literal_func ::= TODAY */ + 498, /* (565) noarg_func ::= NOW */ + 498, /* (566) noarg_func ::= TODAY */ + 498, /* (567) noarg_func ::= TIMEZONE */ + 498, /* (568) noarg_func ::= DATABASE */ + 498, /* (569) noarg_func ::= CLIENT_VERSION */ + 498, /* (570) noarg_func ::= SERVER_VERSION */ + 498, /* (571) noarg_func ::= SERVER_STATUS */ + 498, /* (572) noarg_func ::= CURRENT_USER */ + 498, /* (573) noarg_func ::= USER */ + 496, /* (574) star_func ::= COUNT */ + 496, /* (575) star_func ::= FIRST */ + 496, /* (576) star_func ::= LAST */ + 496, /* (577) star_func ::= LAST_ROW */ + 497, /* (578) star_func_para_list ::= NK_STAR */ + 497, /* (579) star_func_para_list ::= other_para_list */ + 499, /* (580) other_para_list ::= star_func_para */ + 499, /* (581) other_para_list ::= other_para_list NK_COMMA star_func_para */ + 500, /* (582) star_func_para ::= expr_or_subquery */ + 500, /* (583) star_func_para ::= table_name NK_DOT NK_STAR */ + 495, /* (584) case_when_expression ::= CASE when_then_list case_when_else_opt END */ + 495, /* (585) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ + 501, /* (586) when_then_list ::= when_then_expr */ + 501, /* (587) when_then_list ::= when_then_list when_then_expr */ + 504, /* (588) when_then_expr ::= WHEN common_expression THEN common_expression */ + 502, /* (589) case_when_else_opt ::= */ + 502, /* (590) case_when_else_opt ::= ELSE common_expression */ + 505, /* (591) predicate ::= expr_or_subquery compare_op expr_or_subquery */ + 505, /* (592) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ + 505, /* (593) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ + 505, /* (594) predicate ::= expr_or_subquery IS NULL */ + 505, /* (595) predicate ::= expr_or_subquery IS NOT NULL */ + 505, /* (596) predicate ::= expr_or_subquery in_op in_predicate_value */ + 506, /* (597) compare_op ::= NK_LT */ + 506, /* (598) compare_op ::= NK_GT */ + 506, /* (599) compare_op ::= NK_LE */ + 506, /* (600) compare_op ::= NK_GE */ + 506, /* (601) compare_op ::= NK_NE */ + 506, /* (602) compare_op ::= NK_EQ */ + 506, /* (603) compare_op ::= LIKE */ + 506, /* (604) compare_op ::= NOT LIKE */ + 506, /* (605) compare_op ::= MATCH */ + 506, /* (606) compare_op ::= NMATCH */ + 506, /* (607) compare_op ::= CONTAINS */ + 507, /* (608) in_op ::= IN */ + 507, /* (609) in_op ::= NOT IN */ + 508, /* (610) in_predicate_value ::= NK_LP literal_list NK_RP */ + 509, /* (611) boolean_value_expression ::= boolean_primary */ + 509, /* (612) boolean_value_expression ::= NOT boolean_primary */ + 509, /* (613) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ + 509, /* (614) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ + 510, /* (615) boolean_primary ::= predicate */ + 510, /* (616) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ + 503, /* (617) common_expression ::= expr_or_subquery */ + 503, /* (618) common_expression ::= boolean_value_expression */ + 511, /* (619) from_clause_opt ::= */ + 511, /* (620) from_clause_opt ::= FROM table_reference_list */ + 512, /* (621) table_reference_list ::= table_reference */ + 512, /* (622) table_reference_list ::= table_reference_list NK_COMMA table_reference */ + 513, /* (623) table_reference ::= table_primary */ + 513, /* (624) table_reference ::= joined_table */ + 514, /* (625) table_primary ::= table_name alias_opt */ + 514, /* (626) table_primary ::= db_name NK_DOT table_name alias_opt */ + 514, /* (627) table_primary ::= subquery alias_opt */ + 514, /* (628) table_primary ::= parenthesized_joined_table */ + 516, /* (629) alias_opt ::= */ + 516, /* (630) alias_opt ::= table_alias */ + 516, /* (631) alias_opt ::= AS table_alias */ + 518, /* (632) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ + 518, /* (633) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ + 515, /* (634) joined_table ::= table_reference join_type join_subtype JOIN table_reference join_on_clause_opt window_offset_clause_opt jlimit_clause_opt */ + 519, /* (635) join_type ::= */ + 519, /* (636) join_type ::= INNER */ + 519, /* (637) join_type ::= LEFT */ + 519, /* (638) join_type ::= RIGHT */ + 519, /* (639) join_type ::= FULL */ + 520, /* (640) join_subtype ::= */ + 520, /* (641) join_subtype ::= OUTER */ + 520, /* (642) join_subtype ::= SEMI */ + 520, /* (643) join_subtype ::= ANTI */ + 520, /* (644) join_subtype ::= ASOF */ + 520, /* (645) join_subtype ::= WINDOW */ + 521, /* (646) join_on_clause_opt ::= */ + 521, /* (647) join_on_clause_opt ::= ON search_condition */ + 522, /* (648) window_offset_clause_opt ::= */ + 522, /* (649) window_offset_clause_opt ::= WINDOW_OFFSET NK_LP window_offset_literal NK_COMMA window_offset_literal NK_RP */ + 524, /* (650) window_offset_literal ::= NK_VARIABLE */ + 524, /* (651) window_offset_literal ::= NK_MINUS NK_VARIABLE */ + 523, /* (652) jlimit_clause_opt ::= */ + 523, /* (653) jlimit_clause_opt ::= JLIMIT NK_INTEGER */ + 525, /* (654) 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 */ + 526, /* (655) hint_list ::= */ + 526, /* (656) hint_list ::= NK_HINT */ + 528, /* (657) tag_mode_opt ::= */ + 528, /* (658) tag_mode_opt ::= TAGS */ + 527, /* (659) set_quantifier_opt ::= */ + 527, /* (660) set_quantifier_opt ::= DISTINCT */ + 527, /* (661) set_quantifier_opt ::= ALL */ + 529, /* (662) select_list ::= select_item */ + 529, /* (663) select_list ::= select_list NK_COMMA select_item */ + 537, /* (664) select_item ::= NK_STAR */ + 537, /* (665) select_item ::= common_expression */ + 537, /* (666) select_item ::= common_expression column_alias */ + 537, /* (667) select_item ::= common_expression AS column_alias */ + 537, /* (668) select_item ::= table_name NK_DOT NK_STAR */ + 464, /* (669) where_clause_opt ::= */ + 464, /* (670) where_clause_opt ::= WHERE search_condition */ + 530, /* (671) partition_by_clause_opt ::= */ + 530, /* (672) partition_by_clause_opt ::= PARTITION BY partition_list */ + 538, /* (673) partition_list ::= partition_item */ + 538, /* (674) partition_list ::= partition_list NK_COMMA partition_item */ + 539, /* (675) partition_item ::= expr_or_subquery */ + 539, /* (676) partition_item ::= expr_or_subquery column_alias */ + 539, /* (677) partition_item ::= expr_or_subquery AS column_alias */ + 534, /* (678) twindow_clause_opt ::= */ + 534, /* (679) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ + 534, /* (680) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ + 534, /* (681) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + 534, /* (682) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + 534, /* (683) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ + 534, /* (684) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ + 534, /* (685) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ + 457, /* (686) sliding_opt ::= */ + 457, /* (687) sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ + 540, /* (688) interval_sliding_duration_literal ::= NK_VARIABLE */ + 540, /* (689) interval_sliding_duration_literal ::= NK_STRING */ + 540, /* (690) interval_sliding_duration_literal ::= NK_INTEGER */ + 533, /* (691) fill_opt ::= */ + 533, /* (692) fill_opt ::= FILL NK_LP fill_mode NK_RP */ + 533, /* (693) fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ + 533, /* (694) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ + 541, /* (695) fill_mode ::= NONE */ + 541, /* (696) fill_mode ::= PREV */ + 541, /* (697) fill_mode ::= NULL */ + 541, /* (698) fill_mode ::= NULL_F */ + 541, /* (699) fill_mode ::= LINEAR */ + 541, /* (700) fill_mode ::= NEXT */ + 535, /* (701) group_by_clause_opt ::= */ + 535, /* (702) group_by_clause_opt ::= GROUP BY group_by_list */ + 542, /* (703) group_by_list ::= expr_or_subquery */ + 542, /* (704) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ + 536, /* (705) having_clause_opt ::= */ + 536, /* (706) having_clause_opt ::= HAVING search_condition */ + 531, /* (707) range_opt ::= */ + 531, /* (708) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ + 531, /* (709) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ + 532, /* (710) every_opt ::= */ + 532, /* (711) every_opt ::= EVERY NK_LP duration_literal NK_RP */ + 543, /* (712) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + 544, /* (713) query_simple ::= query_specification */ + 544, /* (714) query_simple ::= union_query_expression */ + 548, /* (715) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ + 548, /* (716) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ + 549, /* (717) query_simple_or_subquery ::= query_simple */ + 549, /* (718) query_simple_or_subquery ::= subquery */ + 463, /* (719) query_or_subquery ::= query_expression */ + 463, /* (720) query_or_subquery ::= subquery */ + 545, /* (721) order_by_clause_opt ::= */ + 545, /* (722) order_by_clause_opt ::= ORDER BY sort_specification_list */ + 546, /* (723) slimit_clause_opt ::= */ + 546, /* (724) slimit_clause_opt ::= SLIMIT NK_INTEGER */ + 546, /* (725) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + 546, /* (726) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + 547, /* (727) limit_clause_opt ::= */ + 547, /* (728) limit_clause_opt ::= LIMIT NK_INTEGER */ + 547, /* (729) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ + 547, /* (730) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + 517, /* (731) subquery ::= NK_LP query_expression NK_RP */ + 517, /* (732) subquery ::= NK_LP subquery NK_RP */ + 394, /* (733) search_condition ::= common_expression */ + 550, /* (734) sort_specification_list ::= sort_specification */ + 550, /* (735) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ + 551, /* (736) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ + 552, /* (737) ordering_specification_opt ::= */ + 552, /* (738) ordering_specification_opt ::= ASC */ + 552, /* (739) ordering_specification_opt ::= DESC */ + 553, /* (740) null_ordering_opt ::= */ + 553, /* (741) null_ordering_opt ::= NULLS FIRST */ + 553, /* (742) null_ordering_opt ::= NULLS LAST */ + 422, /* (743) column_options ::= */ + 422, /* (744) column_options ::= column_options PRIMARY KEY */ + 422, /* (745) column_options ::= column_options ENCODE NK_STRING */ + 422, /* (746) column_options ::= column_options COMPRESS NK_STRING */ + 422, /* (747) column_options ::= column_options LEVEL NK_STRING */ }; /* For rule J, yyRuleInfoNRhs[J] contains the negative of the number @@ -4792,323 +5169,324 @@ static const signed char yyRuleInfoNRhs[] = { -3, /* (427) cmd ::= KILL COMPACT NK_INTEGER */ -2, /* (428) cmd ::= BALANCE VGROUP */ -4, /* (429) cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ - -4, /* (430) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ - -4, /* (431) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ - -3, /* (432) cmd ::= SPLIT VGROUP NK_INTEGER */ - 0, /* (433) on_vgroup_id ::= */ - -2, /* (434) on_vgroup_id ::= ON NK_INTEGER */ - -2, /* (435) dnode_list ::= DNODE NK_INTEGER */ - -3, /* (436) dnode_list ::= dnode_list DNODE NK_INTEGER */ - -4, /* (437) cmd ::= DELETE FROM full_table_name where_clause_opt */ - -1, /* (438) cmd ::= query_or_subquery */ - -1, /* (439) cmd ::= insert_query */ - -7, /* (440) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ - -4, /* (441) insert_query ::= INSERT INTO full_table_name query_or_subquery */ - -1, /* (442) tags_literal ::= NK_INTEGER */ - -3, /* (443) tags_literal ::= NK_INTEGER NK_PLUS duration_literal */ - -3, /* (444) tags_literal ::= NK_INTEGER NK_MINUS duration_literal */ - -2, /* (445) tags_literal ::= NK_PLUS NK_INTEGER */ - -4, /* (446) tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal */ - -4, /* (447) tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal */ - -2, /* (448) tags_literal ::= NK_MINUS NK_INTEGER */ - -4, /* (449) tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal */ - -4, /* (450) tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal */ - -1, /* (451) tags_literal ::= NK_FLOAT */ - -2, /* (452) tags_literal ::= NK_PLUS NK_FLOAT */ - -2, /* (453) tags_literal ::= NK_MINUS NK_FLOAT */ - -1, /* (454) tags_literal ::= NK_BIN */ - -3, /* (455) tags_literal ::= NK_BIN NK_PLUS duration_literal */ - -3, /* (456) tags_literal ::= NK_BIN NK_MINUS duration_literal */ - -2, /* (457) tags_literal ::= NK_PLUS NK_BIN */ - -4, /* (458) tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal */ - -4, /* (459) tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal */ - -2, /* (460) tags_literal ::= NK_MINUS NK_BIN */ - -4, /* (461) tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal */ - -4, /* (462) tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal */ - -1, /* (463) tags_literal ::= NK_HEX */ - -3, /* (464) tags_literal ::= NK_HEX NK_PLUS duration_literal */ - -3, /* (465) tags_literal ::= NK_HEX NK_MINUS duration_literal */ - -2, /* (466) tags_literal ::= NK_PLUS NK_HEX */ - -4, /* (467) tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal */ - -4, /* (468) tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal */ - -2, /* (469) tags_literal ::= NK_MINUS NK_HEX */ - -4, /* (470) tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal */ - -4, /* (471) tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal */ - -1, /* (472) tags_literal ::= NK_STRING */ - -3, /* (473) tags_literal ::= NK_STRING NK_PLUS duration_literal */ - -3, /* (474) tags_literal ::= NK_STRING NK_MINUS duration_literal */ - -1, /* (475) tags_literal ::= NK_BOOL */ - -1, /* (476) tags_literal ::= NULL */ - -1, /* (477) tags_literal ::= literal_func */ - -3, /* (478) tags_literal ::= literal_func NK_PLUS duration_literal */ - -3, /* (479) tags_literal ::= literal_func NK_MINUS duration_literal */ - -1, /* (480) tags_literal_list ::= tags_literal */ - -3, /* (481) tags_literal_list ::= tags_literal_list NK_COMMA tags_literal */ - -1, /* (482) literal ::= NK_INTEGER */ - -1, /* (483) literal ::= NK_FLOAT */ - -1, /* (484) literal ::= NK_STRING */ - -1, /* (485) literal ::= NK_BOOL */ - -2, /* (486) literal ::= TIMESTAMP NK_STRING */ - -1, /* (487) literal ::= duration_literal */ - -1, /* (488) literal ::= NULL */ - -1, /* (489) literal ::= NK_QUESTION */ - -1, /* (490) duration_literal ::= NK_VARIABLE */ - -1, /* (491) signed ::= NK_INTEGER */ - -2, /* (492) signed ::= NK_PLUS NK_INTEGER */ - -2, /* (493) signed ::= NK_MINUS NK_INTEGER */ - -1, /* (494) signed ::= NK_FLOAT */ - -2, /* (495) signed ::= NK_PLUS NK_FLOAT */ - -2, /* (496) signed ::= NK_MINUS NK_FLOAT */ - -1, /* (497) signed_literal ::= signed */ - -1, /* (498) signed_literal ::= NK_STRING */ - -1, /* (499) signed_literal ::= NK_BOOL */ - -2, /* (500) signed_literal ::= TIMESTAMP NK_STRING */ - -1, /* (501) signed_literal ::= duration_literal */ - -1, /* (502) signed_literal ::= NULL */ - -1, /* (503) signed_literal ::= literal_func */ - -1, /* (504) signed_literal ::= NK_QUESTION */ - -1, /* (505) literal_list ::= signed_literal */ - -3, /* (506) literal_list ::= literal_list NK_COMMA signed_literal */ - -1, /* (507) db_name ::= NK_ID */ - -1, /* (508) table_name ::= NK_ID */ - -1, /* (509) column_name ::= NK_ID */ - -1, /* (510) function_name ::= NK_ID */ - -1, /* (511) view_name ::= NK_ID */ - -1, /* (512) table_alias ::= NK_ID */ - -1, /* (513) column_alias ::= NK_ID */ - -1, /* (514) column_alias ::= NK_ALIAS */ - -1, /* (515) user_name ::= NK_ID */ - -1, /* (516) topic_name ::= NK_ID */ - -1, /* (517) stream_name ::= NK_ID */ - -1, /* (518) cgroup_name ::= NK_ID */ - -1, /* (519) index_name ::= NK_ID */ - -1, /* (520) tsma_name ::= NK_ID */ - -1, /* (521) expr_or_subquery ::= expression */ - -1, /* (522) expression ::= literal */ - -1, /* (523) expression ::= pseudo_column */ - -1, /* (524) expression ::= column_reference */ - -1, /* (525) expression ::= function_expression */ - -1, /* (526) expression ::= case_when_expression */ - -3, /* (527) expression ::= NK_LP expression NK_RP */ - -2, /* (528) expression ::= NK_PLUS expr_or_subquery */ - -2, /* (529) expression ::= NK_MINUS expr_or_subquery */ - -3, /* (530) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ - -3, /* (531) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ - -3, /* (532) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ - -3, /* (533) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ - -3, /* (534) expression ::= expr_or_subquery NK_REM expr_or_subquery */ - -3, /* (535) expression ::= column_reference NK_ARROW NK_STRING */ - -3, /* (536) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ - -3, /* (537) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ - -1, /* (538) expression_list ::= expr_or_subquery */ - -3, /* (539) expression_list ::= expression_list NK_COMMA expr_or_subquery */ - -1, /* (540) column_reference ::= column_name */ - -3, /* (541) column_reference ::= table_name NK_DOT column_name */ - -1, /* (542) column_reference ::= NK_ALIAS */ - -3, /* (543) column_reference ::= table_name NK_DOT NK_ALIAS */ - -1, /* (544) pseudo_column ::= ROWTS */ - -1, /* (545) pseudo_column ::= TBNAME */ - -3, /* (546) pseudo_column ::= table_name NK_DOT TBNAME */ - -1, /* (547) pseudo_column ::= QSTART */ - -1, /* (548) pseudo_column ::= QEND */ - -1, /* (549) pseudo_column ::= QDURATION */ - -1, /* (550) pseudo_column ::= WSTART */ - -1, /* (551) pseudo_column ::= WEND */ - -1, /* (552) pseudo_column ::= WDURATION */ - -1, /* (553) pseudo_column ::= IROWTS */ - -1, /* (554) pseudo_column ::= ISFILLED */ - -1, /* (555) pseudo_column ::= QTAGS */ - -4, /* (556) function_expression ::= function_name NK_LP expression_list NK_RP */ - -4, /* (557) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ - -6, /* (558) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ - -6, /* (559) function_expression ::= CAST NK_LP expr_or_subquery AS type_name_default_len NK_RP */ - -1, /* (560) function_expression ::= literal_func */ - -3, /* (561) literal_func ::= noarg_func NK_LP NK_RP */ - -1, /* (562) literal_func ::= NOW */ - -1, /* (563) literal_func ::= TODAY */ - -1, /* (564) noarg_func ::= NOW */ - -1, /* (565) noarg_func ::= TODAY */ - -1, /* (566) noarg_func ::= TIMEZONE */ - -1, /* (567) noarg_func ::= DATABASE */ - -1, /* (568) noarg_func ::= CLIENT_VERSION */ - -1, /* (569) noarg_func ::= SERVER_VERSION */ - -1, /* (570) noarg_func ::= SERVER_STATUS */ - -1, /* (571) noarg_func ::= CURRENT_USER */ - -1, /* (572) noarg_func ::= USER */ - -1, /* (573) star_func ::= COUNT */ - -1, /* (574) star_func ::= FIRST */ - -1, /* (575) star_func ::= LAST */ - -1, /* (576) star_func ::= LAST_ROW */ - -1, /* (577) star_func_para_list ::= NK_STAR */ - -1, /* (578) star_func_para_list ::= other_para_list */ - -1, /* (579) other_para_list ::= star_func_para */ - -3, /* (580) other_para_list ::= other_para_list NK_COMMA star_func_para */ - -1, /* (581) star_func_para ::= expr_or_subquery */ - -3, /* (582) star_func_para ::= table_name NK_DOT NK_STAR */ - -4, /* (583) case_when_expression ::= CASE when_then_list case_when_else_opt END */ - -5, /* (584) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ - -1, /* (585) when_then_list ::= when_then_expr */ - -2, /* (586) when_then_list ::= when_then_list when_then_expr */ - -4, /* (587) when_then_expr ::= WHEN common_expression THEN common_expression */ - 0, /* (588) case_when_else_opt ::= */ - -2, /* (589) case_when_else_opt ::= ELSE common_expression */ - -3, /* (590) predicate ::= expr_or_subquery compare_op expr_or_subquery */ - -5, /* (591) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ - -6, /* (592) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ - -3, /* (593) predicate ::= expr_or_subquery IS NULL */ - -4, /* (594) predicate ::= expr_or_subquery IS NOT NULL */ - -3, /* (595) predicate ::= expr_or_subquery in_op in_predicate_value */ - -1, /* (596) compare_op ::= NK_LT */ - -1, /* (597) compare_op ::= NK_GT */ - -1, /* (598) compare_op ::= NK_LE */ - -1, /* (599) compare_op ::= NK_GE */ - -1, /* (600) compare_op ::= NK_NE */ - -1, /* (601) compare_op ::= NK_EQ */ - -1, /* (602) compare_op ::= LIKE */ - -2, /* (603) compare_op ::= NOT LIKE */ - -1, /* (604) compare_op ::= MATCH */ - -1, /* (605) compare_op ::= NMATCH */ - -1, /* (606) compare_op ::= CONTAINS */ - -1, /* (607) in_op ::= IN */ - -2, /* (608) in_op ::= NOT IN */ - -3, /* (609) in_predicate_value ::= NK_LP literal_list NK_RP */ - -1, /* (610) boolean_value_expression ::= boolean_primary */ - -2, /* (611) boolean_value_expression ::= NOT boolean_primary */ - -3, /* (612) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ - -3, /* (613) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ - -1, /* (614) boolean_primary ::= predicate */ - -3, /* (615) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ - -1, /* (616) common_expression ::= expr_or_subquery */ - -1, /* (617) common_expression ::= boolean_value_expression */ - 0, /* (618) from_clause_opt ::= */ - -2, /* (619) from_clause_opt ::= FROM table_reference_list */ - -1, /* (620) table_reference_list ::= table_reference */ - -3, /* (621) table_reference_list ::= table_reference_list NK_COMMA table_reference */ - -1, /* (622) table_reference ::= table_primary */ - -1, /* (623) table_reference ::= joined_table */ - -2, /* (624) table_primary ::= table_name alias_opt */ - -4, /* (625) table_primary ::= db_name NK_DOT table_name alias_opt */ - -2, /* (626) table_primary ::= subquery alias_opt */ - -1, /* (627) table_primary ::= parenthesized_joined_table */ - 0, /* (628) alias_opt ::= */ - -1, /* (629) alias_opt ::= table_alias */ - -2, /* (630) alias_opt ::= AS table_alias */ - -3, /* (631) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ - -3, /* (632) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ - -8, /* (633) joined_table ::= table_reference join_type join_subtype JOIN table_reference join_on_clause_opt window_offset_clause_opt jlimit_clause_opt */ - 0, /* (634) join_type ::= */ - -1, /* (635) join_type ::= INNER */ - -1, /* (636) join_type ::= LEFT */ - -1, /* (637) join_type ::= RIGHT */ - -1, /* (638) join_type ::= FULL */ - 0, /* (639) join_subtype ::= */ - -1, /* (640) join_subtype ::= OUTER */ - -1, /* (641) join_subtype ::= SEMI */ - -1, /* (642) join_subtype ::= ANTI */ - -1, /* (643) join_subtype ::= ASOF */ - -1, /* (644) join_subtype ::= WINDOW */ - 0, /* (645) join_on_clause_opt ::= */ - -2, /* (646) join_on_clause_opt ::= ON search_condition */ - 0, /* (647) window_offset_clause_opt ::= */ - -6, /* (648) window_offset_clause_opt ::= WINDOW_OFFSET NK_LP window_offset_literal NK_COMMA window_offset_literal NK_RP */ - -1, /* (649) window_offset_literal ::= NK_VARIABLE */ - -2, /* (650) window_offset_literal ::= NK_MINUS NK_VARIABLE */ - 0, /* (651) jlimit_clause_opt ::= */ - -2, /* (652) jlimit_clause_opt ::= JLIMIT NK_INTEGER */ - -14, /* (653) 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, /* (654) hint_list ::= */ - -1, /* (655) hint_list ::= NK_HINT */ - 0, /* (656) tag_mode_opt ::= */ - -1, /* (657) tag_mode_opt ::= TAGS */ - 0, /* (658) set_quantifier_opt ::= */ - -1, /* (659) set_quantifier_opt ::= DISTINCT */ - -1, /* (660) set_quantifier_opt ::= ALL */ - -1, /* (661) select_list ::= select_item */ - -3, /* (662) select_list ::= select_list NK_COMMA select_item */ - -1, /* (663) select_item ::= NK_STAR */ - -1, /* (664) select_item ::= common_expression */ - -2, /* (665) select_item ::= common_expression column_alias */ - -3, /* (666) select_item ::= common_expression AS column_alias */ - -3, /* (667) select_item ::= table_name NK_DOT NK_STAR */ - 0, /* (668) where_clause_opt ::= */ - -2, /* (669) where_clause_opt ::= WHERE search_condition */ - 0, /* (670) partition_by_clause_opt ::= */ - -3, /* (671) partition_by_clause_opt ::= PARTITION BY partition_list */ - -1, /* (672) partition_list ::= partition_item */ - -3, /* (673) partition_list ::= partition_list NK_COMMA partition_item */ - -1, /* (674) partition_item ::= expr_or_subquery */ - -2, /* (675) partition_item ::= expr_or_subquery column_alias */ - -3, /* (676) partition_item ::= expr_or_subquery AS column_alias */ - 0, /* (677) twindow_clause_opt ::= */ - -6, /* (678) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ - -4, /* (679) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ - -6, /* (680) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ - -8, /* (681) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ - -7, /* (682) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ - -4, /* (683) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ - -6, /* (684) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ - 0, /* (685) sliding_opt ::= */ - -4, /* (686) sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ - -1, /* (687) interval_sliding_duration_literal ::= NK_VARIABLE */ - -1, /* (688) interval_sliding_duration_literal ::= NK_STRING */ - -1, /* (689) interval_sliding_duration_literal ::= NK_INTEGER */ - 0, /* (690) fill_opt ::= */ - -4, /* (691) fill_opt ::= FILL NK_LP fill_mode NK_RP */ - -6, /* (692) fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ - -6, /* (693) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ - -1, /* (694) fill_mode ::= NONE */ - -1, /* (695) fill_mode ::= PREV */ - -1, /* (696) fill_mode ::= NULL */ - -1, /* (697) fill_mode ::= NULL_F */ - -1, /* (698) fill_mode ::= LINEAR */ - -1, /* (699) fill_mode ::= NEXT */ - 0, /* (700) group_by_clause_opt ::= */ - -3, /* (701) group_by_clause_opt ::= GROUP BY group_by_list */ - -1, /* (702) group_by_list ::= expr_or_subquery */ - -3, /* (703) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ - 0, /* (704) having_clause_opt ::= */ - -2, /* (705) having_clause_opt ::= HAVING search_condition */ - 0, /* (706) range_opt ::= */ - -6, /* (707) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ - -4, /* (708) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ - 0, /* (709) every_opt ::= */ - -4, /* (710) every_opt ::= EVERY NK_LP duration_literal NK_RP */ - -4, /* (711) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ - -1, /* (712) query_simple ::= query_specification */ - -1, /* (713) query_simple ::= union_query_expression */ - -4, /* (714) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ - -3, /* (715) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ - -1, /* (716) query_simple_or_subquery ::= query_simple */ - -1, /* (717) query_simple_or_subquery ::= subquery */ - -1, /* (718) query_or_subquery ::= query_expression */ - -1, /* (719) query_or_subquery ::= subquery */ - 0, /* (720) order_by_clause_opt ::= */ - -3, /* (721) order_by_clause_opt ::= ORDER BY sort_specification_list */ - 0, /* (722) slimit_clause_opt ::= */ - -2, /* (723) slimit_clause_opt ::= SLIMIT NK_INTEGER */ - -4, /* (724) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - -4, /* (725) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - 0, /* (726) limit_clause_opt ::= */ - -2, /* (727) limit_clause_opt ::= LIMIT NK_INTEGER */ - -4, /* (728) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ - -4, /* (729) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - -3, /* (730) subquery ::= NK_LP query_expression NK_RP */ - -3, /* (731) subquery ::= NK_LP subquery NK_RP */ - -1, /* (732) search_condition ::= common_expression */ - -1, /* (733) sort_specification_list ::= sort_specification */ - -3, /* (734) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ - -3, /* (735) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ - 0, /* (736) ordering_specification_opt ::= */ - -1, /* (737) ordering_specification_opt ::= ASC */ - -1, /* (738) ordering_specification_opt ::= DESC */ - 0, /* (739) null_ordering_opt ::= */ - -2, /* (740) null_ordering_opt ::= NULLS FIRST */ - -2, /* (741) null_ordering_opt ::= NULLS LAST */ - 0, /* (742) column_options ::= */ - -3, /* (743) column_options ::= column_options PRIMARY KEY */ - -3, /* (744) column_options ::= column_options ENCODE NK_STRING */ - -3, /* (745) column_options ::= column_options COMPRESS NK_STRING */ - -3, /* (746) column_options ::= column_options LEVEL NK_STRING */ + -5, /* (430) cmd ::= BALANCE VGROUP LEADER DATABASE db_name */ + -4, /* (431) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ + -4, /* (432) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ + -3, /* (433) cmd ::= SPLIT VGROUP NK_INTEGER */ + 0, /* (434) on_vgroup_id ::= */ + -2, /* (435) on_vgroup_id ::= ON NK_INTEGER */ + -2, /* (436) dnode_list ::= DNODE NK_INTEGER */ + -3, /* (437) dnode_list ::= dnode_list DNODE NK_INTEGER */ + -4, /* (438) cmd ::= DELETE FROM full_table_name where_clause_opt */ + -1, /* (439) cmd ::= query_or_subquery */ + -1, /* (440) cmd ::= insert_query */ + -7, /* (441) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ + -4, /* (442) insert_query ::= INSERT INTO full_table_name query_or_subquery */ + -1, /* (443) tags_literal ::= NK_INTEGER */ + -3, /* (444) tags_literal ::= NK_INTEGER NK_PLUS duration_literal */ + -3, /* (445) tags_literal ::= NK_INTEGER NK_MINUS duration_literal */ + -2, /* (446) tags_literal ::= NK_PLUS NK_INTEGER */ + -4, /* (447) tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal */ + -4, /* (448) tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal */ + -2, /* (449) tags_literal ::= NK_MINUS NK_INTEGER */ + -4, /* (450) tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal */ + -4, /* (451) tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal */ + -1, /* (452) tags_literal ::= NK_FLOAT */ + -2, /* (453) tags_literal ::= NK_PLUS NK_FLOAT */ + -2, /* (454) tags_literal ::= NK_MINUS NK_FLOAT */ + -1, /* (455) tags_literal ::= NK_BIN */ + -3, /* (456) tags_literal ::= NK_BIN NK_PLUS duration_literal */ + -3, /* (457) tags_literal ::= NK_BIN NK_MINUS duration_literal */ + -2, /* (458) tags_literal ::= NK_PLUS NK_BIN */ + -4, /* (459) tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal */ + -4, /* (460) tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal */ + -2, /* (461) tags_literal ::= NK_MINUS NK_BIN */ + -4, /* (462) tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal */ + -4, /* (463) tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal */ + -1, /* (464) tags_literal ::= NK_HEX */ + -3, /* (465) tags_literal ::= NK_HEX NK_PLUS duration_literal */ + -3, /* (466) tags_literal ::= NK_HEX NK_MINUS duration_literal */ + -2, /* (467) tags_literal ::= NK_PLUS NK_HEX */ + -4, /* (468) tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal */ + -4, /* (469) tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal */ + -2, /* (470) tags_literal ::= NK_MINUS NK_HEX */ + -4, /* (471) tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal */ + -4, /* (472) tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal */ + -1, /* (473) tags_literal ::= NK_STRING */ + -3, /* (474) tags_literal ::= NK_STRING NK_PLUS duration_literal */ + -3, /* (475) tags_literal ::= NK_STRING NK_MINUS duration_literal */ + -1, /* (476) tags_literal ::= NK_BOOL */ + -1, /* (477) tags_literal ::= NULL */ + -1, /* (478) tags_literal ::= literal_func */ + -3, /* (479) tags_literal ::= literal_func NK_PLUS duration_literal */ + -3, /* (480) tags_literal ::= literal_func NK_MINUS duration_literal */ + -1, /* (481) tags_literal_list ::= tags_literal */ + -3, /* (482) tags_literal_list ::= tags_literal_list NK_COMMA tags_literal */ + -1, /* (483) literal ::= NK_INTEGER */ + -1, /* (484) literal ::= NK_FLOAT */ + -1, /* (485) literal ::= NK_STRING */ + -1, /* (486) literal ::= NK_BOOL */ + -2, /* (487) literal ::= TIMESTAMP NK_STRING */ + -1, /* (488) literal ::= duration_literal */ + -1, /* (489) literal ::= NULL */ + -1, /* (490) literal ::= NK_QUESTION */ + -1, /* (491) duration_literal ::= NK_VARIABLE */ + -1, /* (492) signed ::= NK_INTEGER */ + -2, /* (493) signed ::= NK_PLUS NK_INTEGER */ + -2, /* (494) signed ::= NK_MINUS NK_INTEGER */ + -1, /* (495) signed ::= NK_FLOAT */ + -2, /* (496) signed ::= NK_PLUS NK_FLOAT */ + -2, /* (497) signed ::= NK_MINUS NK_FLOAT */ + -1, /* (498) signed_literal ::= signed */ + -1, /* (499) signed_literal ::= NK_STRING */ + -1, /* (500) signed_literal ::= NK_BOOL */ + -2, /* (501) signed_literal ::= TIMESTAMP NK_STRING */ + -1, /* (502) signed_literal ::= duration_literal */ + -1, /* (503) signed_literal ::= NULL */ + -1, /* (504) signed_literal ::= literal_func */ + -1, /* (505) signed_literal ::= NK_QUESTION */ + -1, /* (506) literal_list ::= signed_literal */ + -3, /* (507) literal_list ::= literal_list NK_COMMA signed_literal */ + -1, /* (508) db_name ::= NK_ID */ + -1, /* (509) table_name ::= NK_ID */ + -1, /* (510) column_name ::= NK_ID */ + -1, /* (511) function_name ::= NK_ID */ + -1, /* (512) view_name ::= NK_ID */ + -1, /* (513) table_alias ::= NK_ID */ + -1, /* (514) column_alias ::= NK_ID */ + -1, /* (515) column_alias ::= NK_ALIAS */ + -1, /* (516) user_name ::= NK_ID */ + -1, /* (517) topic_name ::= NK_ID */ + -1, /* (518) stream_name ::= NK_ID */ + -1, /* (519) cgroup_name ::= NK_ID */ + -1, /* (520) index_name ::= NK_ID */ + -1, /* (521) tsma_name ::= NK_ID */ + -1, /* (522) expr_or_subquery ::= expression */ + -1, /* (523) expression ::= literal */ + -1, /* (524) expression ::= pseudo_column */ + -1, /* (525) expression ::= column_reference */ + -1, /* (526) expression ::= function_expression */ + -1, /* (527) expression ::= case_when_expression */ + -3, /* (528) expression ::= NK_LP expression NK_RP */ + -2, /* (529) expression ::= NK_PLUS expr_or_subquery */ + -2, /* (530) expression ::= NK_MINUS expr_or_subquery */ + -3, /* (531) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ + -3, /* (532) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ + -3, /* (533) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ + -3, /* (534) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ + -3, /* (535) expression ::= expr_or_subquery NK_REM expr_or_subquery */ + -3, /* (536) expression ::= column_reference NK_ARROW NK_STRING */ + -3, /* (537) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ + -3, /* (538) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ + -1, /* (539) expression_list ::= expr_or_subquery */ + -3, /* (540) expression_list ::= expression_list NK_COMMA expr_or_subquery */ + -1, /* (541) column_reference ::= column_name */ + -3, /* (542) column_reference ::= table_name NK_DOT column_name */ + -1, /* (543) column_reference ::= NK_ALIAS */ + -3, /* (544) column_reference ::= table_name NK_DOT NK_ALIAS */ + -1, /* (545) pseudo_column ::= ROWTS */ + -1, /* (546) pseudo_column ::= TBNAME */ + -3, /* (547) pseudo_column ::= table_name NK_DOT TBNAME */ + -1, /* (548) pseudo_column ::= QSTART */ + -1, /* (549) pseudo_column ::= QEND */ + -1, /* (550) pseudo_column ::= QDURATION */ + -1, /* (551) pseudo_column ::= WSTART */ + -1, /* (552) pseudo_column ::= WEND */ + -1, /* (553) pseudo_column ::= WDURATION */ + -1, /* (554) pseudo_column ::= IROWTS */ + -1, /* (555) pseudo_column ::= ISFILLED */ + -1, /* (556) pseudo_column ::= QTAGS */ + -4, /* (557) function_expression ::= function_name NK_LP expression_list NK_RP */ + -4, /* (558) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ + -6, /* (559) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ + -6, /* (560) function_expression ::= CAST NK_LP expr_or_subquery AS type_name_default_len NK_RP */ + -1, /* (561) function_expression ::= literal_func */ + -3, /* (562) literal_func ::= noarg_func NK_LP NK_RP */ + -1, /* (563) literal_func ::= NOW */ + -1, /* (564) literal_func ::= TODAY */ + -1, /* (565) noarg_func ::= NOW */ + -1, /* (566) noarg_func ::= TODAY */ + -1, /* (567) noarg_func ::= TIMEZONE */ + -1, /* (568) noarg_func ::= DATABASE */ + -1, /* (569) noarg_func ::= CLIENT_VERSION */ + -1, /* (570) noarg_func ::= SERVER_VERSION */ + -1, /* (571) noarg_func ::= SERVER_STATUS */ + -1, /* (572) noarg_func ::= CURRENT_USER */ + -1, /* (573) noarg_func ::= USER */ + -1, /* (574) star_func ::= COUNT */ + -1, /* (575) star_func ::= FIRST */ + -1, /* (576) star_func ::= LAST */ + -1, /* (577) star_func ::= LAST_ROW */ + -1, /* (578) star_func_para_list ::= NK_STAR */ + -1, /* (579) star_func_para_list ::= other_para_list */ + -1, /* (580) other_para_list ::= star_func_para */ + -3, /* (581) other_para_list ::= other_para_list NK_COMMA star_func_para */ + -1, /* (582) star_func_para ::= expr_or_subquery */ + -3, /* (583) star_func_para ::= table_name NK_DOT NK_STAR */ + -4, /* (584) case_when_expression ::= CASE when_then_list case_when_else_opt END */ + -5, /* (585) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ + -1, /* (586) when_then_list ::= when_then_expr */ + -2, /* (587) when_then_list ::= when_then_list when_then_expr */ + -4, /* (588) when_then_expr ::= WHEN common_expression THEN common_expression */ + 0, /* (589) case_when_else_opt ::= */ + -2, /* (590) case_when_else_opt ::= ELSE common_expression */ + -3, /* (591) predicate ::= expr_or_subquery compare_op expr_or_subquery */ + -5, /* (592) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ + -6, /* (593) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ + -3, /* (594) predicate ::= expr_or_subquery IS NULL */ + -4, /* (595) predicate ::= expr_or_subquery IS NOT NULL */ + -3, /* (596) predicate ::= expr_or_subquery in_op in_predicate_value */ + -1, /* (597) compare_op ::= NK_LT */ + -1, /* (598) compare_op ::= NK_GT */ + -1, /* (599) compare_op ::= NK_LE */ + -1, /* (600) compare_op ::= NK_GE */ + -1, /* (601) compare_op ::= NK_NE */ + -1, /* (602) compare_op ::= NK_EQ */ + -1, /* (603) compare_op ::= LIKE */ + -2, /* (604) compare_op ::= NOT LIKE */ + -1, /* (605) compare_op ::= MATCH */ + -1, /* (606) compare_op ::= NMATCH */ + -1, /* (607) compare_op ::= CONTAINS */ + -1, /* (608) in_op ::= IN */ + -2, /* (609) in_op ::= NOT IN */ + -3, /* (610) in_predicate_value ::= NK_LP literal_list NK_RP */ + -1, /* (611) boolean_value_expression ::= boolean_primary */ + -2, /* (612) boolean_value_expression ::= NOT boolean_primary */ + -3, /* (613) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ + -3, /* (614) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ + -1, /* (615) boolean_primary ::= predicate */ + -3, /* (616) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ + -1, /* (617) common_expression ::= expr_or_subquery */ + -1, /* (618) common_expression ::= boolean_value_expression */ + 0, /* (619) from_clause_opt ::= */ + -2, /* (620) from_clause_opt ::= FROM table_reference_list */ + -1, /* (621) table_reference_list ::= table_reference */ + -3, /* (622) table_reference_list ::= table_reference_list NK_COMMA table_reference */ + -1, /* (623) table_reference ::= table_primary */ + -1, /* (624) table_reference ::= joined_table */ + -2, /* (625) table_primary ::= table_name alias_opt */ + -4, /* (626) table_primary ::= db_name NK_DOT table_name alias_opt */ + -2, /* (627) table_primary ::= subquery alias_opt */ + -1, /* (628) table_primary ::= parenthesized_joined_table */ + 0, /* (629) alias_opt ::= */ + -1, /* (630) alias_opt ::= table_alias */ + -2, /* (631) alias_opt ::= AS table_alias */ + -3, /* (632) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ + -3, /* (633) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ + -8, /* (634) joined_table ::= table_reference join_type join_subtype JOIN table_reference join_on_clause_opt window_offset_clause_opt jlimit_clause_opt */ + 0, /* (635) join_type ::= */ + -1, /* (636) join_type ::= INNER */ + -1, /* (637) join_type ::= LEFT */ + -1, /* (638) join_type ::= RIGHT */ + -1, /* (639) join_type ::= FULL */ + 0, /* (640) join_subtype ::= */ + -1, /* (641) join_subtype ::= OUTER */ + -1, /* (642) join_subtype ::= SEMI */ + -1, /* (643) join_subtype ::= ANTI */ + -1, /* (644) join_subtype ::= ASOF */ + -1, /* (645) join_subtype ::= WINDOW */ + 0, /* (646) join_on_clause_opt ::= */ + -2, /* (647) join_on_clause_opt ::= ON search_condition */ + 0, /* (648) window_offset_clause_opt ::= */ + -6, /* (649) window_offset_clause_opt ::= WINDOW_OFFSET NK_LP window_offset_literal NK_COMMA window_offset_literal NK_RP */ + -1, /* (650) window_offset_literal ::= NK_VARIABLE */ + -2, /* (651) window_offset_literal ::= NK_MINUS NK_VARIABLE */ + 0, /* (652) jlimit_clause_opt ::= */ + -2, /* (653) jlimit_clause_opt ::= JLIMIT NK_INTEGER */ + -14, /* (654) 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, /* (655) hint_list ::= */ + -1, /* (656) hint_list ::= NK_HINT */ + 0, /* (657) tag_mode_opt ::= */ + -1, /* (658) tag_mode_opt ::= TAGS */ + 0, /* (659) set_quantifier_opt ::= */ + -1, /* (660) set_quantifier_opt ::= DISTINCT */ + -1, /* (661) set_quantifier_opt ::= ALL */ + -1, /* (662) select_list ::= select_item */ + -3, /* (663) select_list ::= select_list NK_COMMA select_item */ + -1, /* (664) select_item ::= NK_STAR */ + -1, /* (665) select_item ::= common_expression */ + -2, /* (666) select_item ::= common_expression column_alias */ + -3, /* (667) select_item ::= common_expression AS column_alias */ + -3, /* (668) select_item ::= table_name NK_DOT NK_STAR */ + 0, /* (669) where_clause_opt ::= */ + -2, /* (670) where_clause_opt ::= WHERE search_condition */ + 0, /* (671) partition_by_clause_opt ::= */ + -3, /* (672) partition_by_clause_opt ::= PARTITION BY partition_list */ + -1, /* (673) partition_list ::= partition_item */ + -3, /* (674) partition_list ::= partition_list NK_COMMA partition_item */ + -1, /* (675) partition_item ::= expr_or_subquery */ + -2, /* (676) partition_item ::= expr_or_subquery column_alias */ + -3, /* (677) partition_item ::= expr_or_subquery AS column_alias */ + 0, /* (678) twindow_clause_opt ::= */ + -6, /* (679) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ + -4, /* (680) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ + -6, /* (681) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + -8, /* (682) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + -7, /* (683) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ + -4, /* (684) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ + -6, /* (685) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ + 0, /* (686) sliding_opt ::= */ + -4, /* (687) sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ + -1, /* (688) interval_sliding_duration_literal ::= NK_VARIABLE */ + -1, /* (689) interval_sliding_duration_literal ::= NK_STRING */ + -1, /* (690) interval_sliding_duration_literal ::= NK_INTEGER */ + 0, /* (691) fill_opt ::= */ + -4, /* (692) fill_opt ::= FILL NK_LP fill_mode NK_RP */ + -6, /* (693) fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ + -6, /* (694) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ + -1, /* (695) fill_mode ::= NONE */ + -1, /* (696) fill_mode ::= PREV */ + -1, /* (697) fill_mode ::= NULL */ + -1, /* (698) fill_mode ::= NULL_F */ + -1, /* (699) fill_mode ::= LINEAR */ + -1, /* (700) fill_mode ::= NEXT */ + 0, /* (701) group_by_clause_opt ::= */ + -3, /* (702) group_by_clause_opt ::= GROUP BY group_by_list */ + -1, /* (703) group_by_list ::= expr_or_subquery */ + -3, /* (704) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ + 0, /* (705) having_clause_opt ::= */ + -2, /* (706) having_clause_opt ::= HAVING search_condition */ + 0, /* (707) range_opt ::= */ + -6, /* (708) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ + -4, /* (709) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ + 0, /* (710) every_opt ::= */ + -4, /* (711) every_opt ::= EVERY NK_LP duration_literal NK_RP */ + -4, /* (712) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + -1, /* (713) query_simple ::= query_specification */ + -1, /* (714) query_simple ::= union_query_expression */ + -4, /* (715) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ + -3, /* (716) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ + -1, /* (717) query_simple_or_subquery ::= query_simple */ + -1, /* (718) query_simple_or_subquery ::= subquery */ + -1, /* (719) query_or_subquery ::= query_expression */ + -1, /* (720) query_or_subquery ::= subquery */ + 0, /* (721) order_by_clause_opt ::= */ + -3, /* (722) order_by_clause_opt ::= ORDER BY sort_specification_list */ + 0, /* (723) slimit_clause_opt ::= */ + -2, /* (724) slimit_clause_opt ::= SLIMIT NK_INTEGER */ + -4, /* (725) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + -4, /* (726) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + 0, /* (727) limit_clause_opt ::= */ + -2, /* (728) limit_clause_opt ::= LIMIT NK_INTEGER */ + -4, /* (729) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ + -4, /* (730) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + -3, /* (731) subquery ::= NK_LP query_expression NK_RP */ + -3, /* (732) subquery ::= NK_LP subquery NK_RP */ + -1, /* (733) search_condition ::= common_expression */ + -1, /* (734) sort_specification_list ::= sort_specification */ + -3, /* (735) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ + -3, /* (736) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ + 0, /* (737) ordering_specification_opt ::= */ + -1, /* (738) ordering_specification_opt ::= ASC */ + -1, /* (739) ordering_specification_opt ::= DESC */ + 0, /* (740) null_ordering_opt ::= */ + -2, /* (741) null_ordering_opt ::= NULLS FIRST */ + -2, /* (742) null_ordering_opt ::= NULLS LAST */ + 0, /* (743) column_options ::= */ + -3, /* (744) column_options ::= column_options PRIMARY KEY */ + -3, /* (745) column_options ::= column_options ENCODE NK_STRING */ + -3, /* (746) column_options ::= column_options COMPRESS NK_STRING */ + -3, /* (747) column_options ::= column_options LEVEL NK_STRING */ }; static void yy_accept(yyParser*); /* Forward Declaration */ @@ -5138,54 +5516,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 @@ -5264,15 +5594,15 @@ static YYACTIONTYPE yy_reduce( case 328: /* tag_list_opt ::= */ yytestcase(yyruleno==328); case 401: /* col_list_opt ::= */ yytestcase(yyruleno==401); case 408: /* tag_def_or_ref_opt ::= */ yytestcase(yyruleno==408); - case 670: /* partition_by_clause_opt ::= */ yytestcase(yyruleno==670); - case 700: /* group_by_clause_opt ::= */ yytestcase(yyruleno==700); - case 720: /* order_by_clause_opt ::= */ yytestcase(yyruleno==720); + case 671: /* partition_by_clause_opt ::= */ yytestcase(yyruleno==671); + case 701: /* group_by_clause_opt ::= */ yytestcase(yyruleno==701); + case 721: /* order_by_clause_opt ::= */ yytestcase(yyruleno==721); { yymsp[1].minor.yy748 = NULL; } break; case 28: /* white_list_opt ::= white_list */ case 239: /* tags_def_opt ::= tags_def */ yytestcase(yyruleno==239); case 409: /* tag_def_or_ref_opt ::= tags_def */ yytestcase(yyruleno==409); - case 578: /* star_func_para_list ::= other_para_list */ yytestcase(yyruleno==578); + case 579: /* star_func_para_list ::= other_para_list */ yytestcase(yyruleno==579); { yylhsminor.yy748 = yymsp[0].minor.yy748; } yymsp[0].minor.yy748 = yylhsminor.yy748; break; @@ -5357,27 +5687,27 @@ static YYACTIONTYPE yy_reduce( case 172: /* end_opt ::= */ yytestcase(yyruleno==172); case 323: /* like_pattern_opt ::= */ yytestcase(yyruleno==323); case 420: /* subtable_opt ::= */ yytestcase(yyruleno==420); - case 588: /* case_when_else_opt ::= */ yytestcase(yyruleno==588); - case 618: /* from_clause_opt ::= */ yytestcase(yyruleno==618); - case 645: /* join_on_clause_opt ::= */ yytestcase(yyruleno==645); - case 647: /* window_offset_clause_opt ::= */ yytestcase(yyruleno==647); - case 651: /* jlimit_clause_opt ::= */ yytestcase(yyruleno==651); - case 668: /* where_clause_opt ::= */ yytestcase(yyruleno==668); - case 677: /* twindow_clause_opt ::= */ yytestcase(yyruleno==677); - case 685: /* sliding_opt ::= */ yytestcase(yyruleno==685); - case 690: /* fill_opt ::= */ yytestcase(yyruleno==690); - case 704: /* having_clause_opt ::= */ yytestcase(yyruleno==704); - case 706: /* range_opt ::= */ yytestcase(yyruleno==706); - case 709: /* every_opt ::= */ yytestcase(yyruleno==709); - case 722: /* slimit_clause_opt ::= */ yytestcase(yyruleno==722); - case 726: /* limit_clause_opt ::= */ yytestcase(yyruleno==726); + case 589: /* case_when_else_opt ::= */ yytestcase(yyruleno==589); + case 619: /* from_clause_opt ::= */ yytestcase(yyruleno==619); + case 646: /* join_on_clause_opt ::= */ yytestcase(yyruleno==646); + case 648: /* window_offset_clause_opt ::= */ yytestcase(yyruleno==648); + case 652: /* jlimit_clause_opt ::= */ yytestcase(yyruleno==652); + case 669: /* where_clause_opt ::= */ yytestcase(yyruleno==669); + case 678: /* twindow_clause_opt ::= */ yytestcase(yyruleno==678); + case 686: /* sliding_opt ::= */ yytestcase(yyruleno==686); + case 691: /* fill_opt ::= */ yytestcase(yyruleno==691); + case 705: /* having_clause_opt ::= */ yytestcase(yyruleno==705); + case 707: /* range_opt ::= */ yytestcase(yyruleno==707); + case 710: /* every_opt ::= */ yytestcase(yyruleno==710); + case 723: /* slimit_clause_opt ::= */ yytestcase(yyruleno==723); + case 727: /* limit_clause_opt ::= */ yytestcase(yyruleno==727); { yymsp[1].minor.yy600 = NULL; } break; case 53: /* with_opt ::= WITH search_condition */ - case 619: /* from_clause_opt ::= FROM table_reference_list */ yytestcase(yyruleno==619); - case 646: /* join_on_clause_opt ::= ON search_condition */ yytestcase(yyruleno==646); - case 669: /* where_clause_opt ::= WHERE search_condition */ yytestcase(yyruleno==669); - case 705: /* having_clause_opt ::= HAVING search_condition */ yytestcase(yyruleno==705); + case 620: /* from_clause_opt ::= FROM table_reference_list */ yytestcase(yyruleno==620); + case 647: /* join_on_clause_opt ::= ON search_condition */ yytestcase(yyruleno==647); + case 670: /* where_clause_opt ::= WHERE search_condition */ yytestcase(yyruleno==670); + case 706: /* having_clause_opt ::= HAVING search_condition */ yytestcase(yyruleno==706); { yymsp[-1].minor.yy600 = yymsp[0].minor.yy600; } break; case 54: /* cmd ::= CREATE ENCRYPT_KEY NK_STRING */ @@ -5423,33 +5753,33 @@ static YYACTIONTYPE yy_reduce( case 358: /* sma_func_name ::= FIRST */ yytestcase(yyruleno==358); case 359: /* sma_func_name ::= LAST */ yytestcase(yyruleno==359); case 360: /* sma_func_name ::= LAST_ROW */ yytestcase(yyruleno==360); - case 507: /* db_name ::= NK_ID */ yytestcase(yyruleno==507); - case 508: /* table_name ::= NK_ID */ yytestcase(yyruleno==508); - case 509: /* column_name ::= NK_ID */ yytestcase(yyruleno==509); - case 510: /* function_name ::= NK_ID */ yytestcase(yyruleno==510); - case 511: /* view_name ::= NK_ID */ yytestcase(yyruleno==511); - case 512: /* table_alias ::= NK_ID */ yytestcase(yyruleno==512); - case 513: /* column_alias ::= NK_ID */ yytestcase(yyruleno==513); - case 514: /* column_alias ::= NK_ALIAS */ yytestcase(yyruleno==514); - case 515: /* user_name ::= NK_ID */ yytestcase(yyruleno==515); - case 516: /* topic_name ::= NK_ID */ yytestcase(yyruleno==516); - case 517: /* stream_name ::= NK_ID */ yytestcase(yyruleno==517); - case 518: /* cgroup_name ::= NK_ID */ yytestcase(yyruleno==518); - case 519: /* index_name ::= NK_ID */ yytestcase(yyruleno==519); - case 520: /* tsma_name ::= NK_ID */ yytestcase(yyruleno==520); - case 564: /* noarg_func ::= NOW */ yytestcase(yyruleno==564); - case 565: /* noarg_func ::= TODAY */ yytestcase(yyruleno==565); - case 566: /* noarg_func ::= TIMEZONE */ yytestcase(yyruleno==566); - case 567: /* noarg_func ::= DATABASE */ yytestcase(yyruleno==567); - case 568: /* noarg_func ::= CLIENT_VERSION */ yytestcase(yyruleno==568); - case 569: /* noarg_func ::= SERVER_VERSION */ yytestcase(yyruleno==569); - case 570: /* noarg_func ::= SERVER_STATUS */ yytestcase(yyruleno==570); - case 571: /* noarg_func ::= CURRENT_USER */ yytestcase(yyruleno==571); - case 572: /* noarg_func ::= USER */ yytestcase(yyruleno==572); - case 573: /* star_func ::= COUNT */ yytestcase(yyruleno==573); - case 574: /* star_func ::= FIRST */ yytestcase(yyruleno==574); - case 575: /* star_func ::= LAST */ yytestcase(yyruleno==575); - case 576: /* star_func ::= LAST_ROW */ yytestcase(yyruleno==576); + case 508: /* db_name ::= NK_ID */ yytestcase(yyruleno==508); + case 509: /* table_name ::= NK_ID */ yytestcase(yyruleno==509); + case 510: /* column_name ::= NK_ID */ yytestcase(yyruleno==510); + case 511: /* function_name ::= NK_ID */ yytestcase(yyruleno==511); + case 512: /* view_name ::= NK_ID */ yytestcase(yyruleno==512); + case 513: /* table_alias ::= NK_ID */ yytestcase(yyruleno==513); + case 514: /* column_alias ::= NK_ID */ yytestcase(yyruleno==514); + case 515: /* column_alias ::= NK_ALIAS */ yytestcase(yyruleno==515); + case 516: /* user_name ::= NK_ID */ yytestcase(yyruleno==516); + case 517: /* topic_name ::= NK_ID */ yytestcase(yyruleno==517); + case 518: /* stream_name ::= NK_ID */ yytestcase(yyruleno==518); + case 519: /* cgroup_name ::= NK_ID */ yytestcase(yyruleno==519); + case 520: /* index_name ::= NK_ID */ yytestcase(yyruleno==520); + case 521: /* tsma_name ::= NK_ID */ yytestcase(yyruleno==521); + case 565: /* noarg_func ::= NOW */ yytestcase(yyruleno==565); + case 566: /* noarg_func ::= TODAY */ yytestcase(yyruleno==566); + case 567: /* noarg_func ::= TIMEZONE */ yytestcase(yyruleno==567); + case 568: /* noarg_func ::= DATABASE */ yytestcase(yyruleno==568); + case 569: /* noarg_func ::= CLIENT_VERSION */ yytestcase(yyruleno==569); + case 570: /* noarg_func ::= SERVER_VERSION */ yytestcase(yyruleno==570); + case 571: /* noarg_func ::= SERVER_STATUS */ yytestcase(yyruleno==571); + case 572: /* noarg_func ::= CURRENT_USER */ yytestcase(yyruleno==572); + case 573: /* noarg_func ::= USER */ yytestcase(yyruleno==573); + case 574: /* star_func ::= COUNT */ yytestcase(yyruleno==574); + case 575: /* star_func ::= FIRST */ yytestcase(yyruleno==575); + case 576: /* star_func ::= LAST */ yytestcase(yyruleno==576); + case 577: /* star_func ::= LAST_ROW */ yytestcase(yyruleno==577); { yylhsminor.yy649 = yymsp[0].minor.yy0; } yymsp[0].minor.yy649 = yylhsminor.yy649; break; @@ -5460,16 +5790,16 @@ static YYACTIONTYPE yy_reduce( case 385: /* agg_func_opt ::= */ yytestcase(yyruleno==385); case 391: /* or_replace_opt ::= */ yytestcase(yyruleno==391); case 422: /* ignore_opt ::= */ yytestcase(yyruleno==422); - case 656: /* tag_mode_opt ::= */ yytestcase(yyruleno==656); - case 658: /* set_quantifier_opt ::= */ yytestcase(yyruleno==658); + case 657: /* tag_mode_opt ::= */ yytestcase(yyruleno==657); + case 659: /* set_quantifier_opt ::= */ yytestcase(yyruleno==659); { yymsp[1].minor.yy705 = false; } break; case 70: /* force_opt ::= FORCE */ case 71: /* unsafe_opt ::= UNSAFE */ yytestcase(yyruleno==71); case 379: /* analyze_opt ::= ANALYZE */ yytestcase(yyruleno==379); case 386: /* agg_func_opt ::= AGGREGATE */ yytestcase(yyruleno==386); - case 657: /* tag_mode_opt ::= TAGS */ yytestcase(yyruleno==657); - case 659: /* set_quantifier_opt ::= DISTINCT */ yytestcase(yyruleno==659); + case 658: /* tag_mode_opt ::= TAGS */ yytestcase(yyruleno==658); + case 660: /* set_quantifier_opt ::= DISTINCT */ yytestcase(yyruleno==660); { yymsp[0].minor.yy705 = true; } break; case 72: /* cmd ::= ALTER CLUSTER NK_STRING */ @@ -5772,7 +6102,7 @@ static YYACTIONTYPE yy_reduce( yymsp[0].minor.yy748 = yylhsminor.yy748; break; case 159: /* integer_list ::= integer_list NK_COMMA NK_INTEGER */ - case 436: /* dnode_list ::= dnode_list DNODE NK_INTEGER */ yytestcase(yyruleno==436); + case 437: /* dnode_list ::= dnode_list DNODE NK_INTEGER */ yytestcase(yyruleno==437); { yylhsminor.yy748 = addNodeToList(pCxt, yymsp[-2].minor.yy748, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } yymsp[-2].minor.yy748 = yylhsminor.yy748; break; @@ -5794,13 +6124,13 @@ static YYACTIONTYPE yy_reduce( case 329: /* tag_list_opt ::= tag_item */ yytestcase(yyruleno==329); case 353: /* func_list ::= func */ yytestcase(yyruleno==353); case 403: /* column_stream_def_list ::= column_stream_def */ yytestcase(yyruleno==403); - case 480: /* tags_literal_list ::= tags_literal */ yytestcase(yyruleno==480); - case 505: /* literal_list ::= signed_literal */ yytestcase(yyruleno==505); - case 579: /* other_para_list ::= star_func_para */ yytestcase(yyruleno==579); - case 585: /* when_then_list ::= when_then_expr */ yytestcase(yyruleno==585); - case 661: /* select_list ::= select_item */ yytestcase(yyruleno==661); - case 672: /* partition_list ::= partition_item */ yytestcase(yyruleno==672); - case 733: /* sort_specification_list ::= sort_specification */ yytestcase(yyruleno==733); + case 481: /* tags_literal_list ::= tags_literal */ yytestcase(yyruleno==481); + case 506: /* literal_list ::= signed_literal */ yytestcase(yyruleno==506); + case 580: /* other_para_list ::= star_func_para */ yytestcase(yyruleno==580); + case 586: /* when_then_list ::= when_then_expr */ yytestcase(yyruleno==586); + case 662: /* select_list ::= select_item */ yytestcase(yyruleno==662); + case 673: /* partition_list ::= partition_item */ yytestcase(yyruleno==673); + case 734: /* sort_specification_list ::= sort_specification */ yytestcase(yyruleno==734); { yylhsminor.yy748 = createNodeList(pCxt, yymsp[0].minor.yy600); } yymsp[0].minor.yy748 = yylhsminor.yy748; break; @@ -5813,12 +6143,12 @@ static YYACTIONTYPE yy_reduce( case 330: /* tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ yytestcase(yyruleno==330); case 354: /* func_list ::= func_list NK_COMMA func */ yytestcase(yyruleno==354); case 404: /* column_stream_def_list ::= column_stream_def_list NK_COMMA column_stream_def */ yytestcase(yyruleno==404); - case 481: /* tags_literal_list ::= tags_literal_list NK_COMMA tags_literal */ yytestcase(yyruleno==481); - case 506: /* literal_list ::= literal_list NK_COMMA signed_literal */ yytestcase(yyruleno==506); - case 580: /* other_para_list ::= other_para_list NK_COMMA star_func_para */ yytestcase(yyruleno==580); - case 662: /* select_list ::= select_list NK_COMMA select_item */ yytestcase(yyruleno==662); - case 673: /* partition_list ::= partition_list NK_COMMA partition_item */ yytestcase(yyruleno==673); - case 734: /* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ yytestcase(yyruleno==734); + case 482: /* tags_literal_list ::= tags_literal_list NK_COMMA tags_literal */ yytestcase(yyruleno==482); + case 507: /* literal_list ::= literal_list NK_COMMA signed_literal */ yytestcase(yyruleno==507); + case 581: /* other_para_list ::= other_para_list NK_COMMA star_func_para */ yytestcase(yyruleno==581); + case 663: /* select_list ::= select_list NK_COMMA select_item */ yytestcase(yyruleno==663); + case 674: /* partition_list ::= partition_list NK_COMMA partition_item */ yytestcase(yyruleno==674); + case 735: /* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ yytestcase(yyruleno==735); { yylhsminor.yy748 = addNodeToList(pCxt, yymsp[-2].minor.yy748, yymsp[0].minor.yy600); } yymsp[-2].minor.yy748 = yylhsminor.yy748; break; @@ -5861,8 +6191,8 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createDropSuperTableStmt(pCxt, yymsp[-1].minor.yy705, yymsp[0].minor.yy600); } break; case 181: /* cmd ::= ALTER TABLE alter_table_clause */ - case 438: /* cmd ::= query_or_subquery */ yytestcase(yyruleno==438); - case 439: /* cmd ::= insert_query */ yytestcase(yyruleno==439); + case 439: /* cmd ::= query_or_subquery */ yytestcase(yyruleno==439); + case 440: /* cmd ::= insert_query */ yytestcase(yyruleno==440); { pCxt->pRootNode = yymsp[0].minor.yy600; } break; case 182: /* cmd ::= ALTER STABLE alter_table_clause */ @@ -5913,7 +6243,7 @@ static YYACTIONTYPE yy_reduce( yymsp[-5].minor.yy600 = yylhsminor.yy600; break; case 195: /* multi_create_clause ::= multi_create_clause create_subtable_clause */ - case 586: /* when_then_list ::= when_then_list when_then_expr */ yytestcase(yyruleno==586); + case 587: /* when_then_list ::= when_then_list when_then_expr */ yytestcase(yyruleno==587); { yylhsminor.yy748 = addNodeToList(pCxt, yymsp[-1].minor.yy748, yymsp[0].minor.yy600); } yymsp[-1].minor.yy748 = yylhsminor.yy748; break; @@ -6079,12 +6409,12 @@ static YYACTIONTYPE yy_reduce( { yymsp[-1].minor.yy145.type = TABLE_OPTION_TTL; yymsp[-1].minor.yy145.val = yymsp[0].minor.yy0; } break; case 253: /* duration_list ::= duration_literal */ - case 538: /* expression_list ::= expr_or_subquery */ yytestcase(yyruleno==538); + case 539: /* expression_list ::= expr_or_subquery */ yytestcase(yyruleno==539); { yylhsminor.yy748 = createNodeList(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy600)); } yymsp[0].minor.yy748 = yylhsminor.yy748; break; case 254: /* duration_list ::= duration_list NK_COMMA duration_literal */ - case 539: /* expression_list ::= expression_list NK_COMMA expr_or_subquery */ yytestcase(yyruleno==539); + case 540: /* expression_list ::= expression_list NK_COMMA expr_or_subquery */ yytestcase(yyruleno==540); { yylhsminor.yy748 = addNodeToList(pCxt, yymsp[-2].minor.yy748, releaseRawExprNode(pCxt, yymsp[0].minor.yy600)); } yymsp[-2].minor.yy748 = yylhsminor.yy748; break; @@ -6364,7 +6694,7 @@ yymsp[0].minor.yy600); } yymsp[-3].minor.yy600 = yylhsminor.yy600; break; case 356: /* sma_func_name ::= function_name */ - case 629: /* alias_opt ::= table_alias */ yytestcase(yyruleno==629); + case 630: /* alias_opt ::= table_alias */ yytestcase(yyruleno==630); { yylhsminor.yy649 = yymsp[0].minor.yy649; } yymsp[0].minor.yy649 = yylhsminor.yy649; break; @@ -6437,11 +6767,11 @@ yymsp[0].minor.yy600); } { pCxt->pRootNode = createDropFunctionStmt(pCxt, yymsp[-1].minor.yy705, &yymsp[0].minor.yy649); } break; case 389: /* language_opt ::= */ - case 433: /* on_vgroup_id ::= */ yytestcase(yyruleno==433); + case 434: /* on_vgroup_id ::= */ yytestcase(yyruleno==434); { yymsp[1].minor.yy649 = nil_token; } break; case 390: /* language_opt ::= LANGUAGE NK_STRING */ - case 434: /* on_vgroup_id ::= ON NK_INTEGER */ yytestcase(yyruleno==434); + case 435: /* on_vgroup_id ::= ON NK_INTEGER */ yytestcase(yyruleno==435); { yymsp[-1].minor.yy649 = yymsp[0].minor.yy0; } break; case 393: /* cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ @@ -6475,11 +6805,11 @@ yymsp[0].minor.yy600); } yymsp[-1].minor.yy600 = yylhsminor.yy600; break; case 406: /* stream_col_options ::= */ - case 742: /* column_options ::= */ yytestcase(yyruleno==742); + case 743: /* column_options ::= */ yytestcase(yyruleno==743); { yymsp[1].minor.yy600 = createDefaultColumnOptions(pCxt); } break; case 407: /* stream_col_options ::= stream_col_options PRIMARY KEY */ - case 743: /* column_options ::= column_options PRIMARY KEY */ yytestcase(yyruleno==743); + case 744: /* column_options ::= column_options PRIMARY KEY */ yytestcase(yyruleno==744); { yylhsminor.yy600 = setColumnOptions(pCxt, yymsp[-2].minor.yy600, COLUMN_OPTION_PRIMARYKEY, NULL); } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; @@ -6513,8 +6843,8 @@ yymsp[0].minor.yy600); } yymsp[-3].minor.yy600 = yylhsminor.yy600; break; case 421: /* subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ - case 686: /* sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ yytestcase(yyruleno==686); - case 710: /* every_opt ::= EVERY NK_LP duration_literal NK_RP */ yytestcase(yyruleno==710); + case 687: /* sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ yytestcase(yyruleno==687); + case 711: /* every_opt ::= EVERY NK_LP duration_literal NK_RP */ yytestcase(yyruleno==711); { yymsp[-3].minor.yy600 = releaseRawExprNode(pCxt, yymsp[-1].minor.yy600); } break; case 424: /* cmd ::= KILL CONNECTION NK_INTEGER */ @@ -6535,41 +6865,44 @@ yymsp[0].minor.yy600); } case 429: /* cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ { pCxt->pRootNode = createBalanceVgroupLeaderStmt(pCxt, &yymsp[0].minor.yy649); } break; - case 430: /* cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ + case 430: /* cmd ::= BALANCE VGROUP LEADER DATABASE db_name */ +{ pCxt->pRootNode = createBalanceVgroupLeaderDBNameStmt(pCxt, &yymsp[0].minor.yy649); } + break; + case 431: /* cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ { pCxt->pRootNode = createMergeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); } break; - case 431: /* cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ + case 432: /* cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ { pCxt->pRootNode = createRedistributeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy748); } break; - case 432: /* cmd ::= SPLIT VGROUP NK_INTEGER */ + case 433: /* cmd ::= SPLIT VGROUP NK_INTEGER */ { pCxt->pRootNode = createSplitVgroupStmt(pCxt, &yymsp[0].minor.yy0); } break; - case 435: /* dnode_list ::= DNODE NK_INTEGER */ + case 436: /* dnode_list ::= DNODE NK_INTEGER */ { yymsp[-1].minor.yy748 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } break; - case 437: /* cmd ::= DELETE FROM full_table_name where_clause_opt */ + case 438: /* cmd ::= DELETE FROM full_table_name where_clause_opt */ { pCxt->pRootNode = createDeleteStmt(pCxt, yymsp[-1].minor.yy600, yymsp[0].minor.yy600); } break; - case 440: /* insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ + case 441: /* insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ { yymsp[-6].minor.yy600 = createInsertStmt(pCxt, yymsp[-4].minor.yy600, yymsp[-2].minor.yy748, yymsp[0].minor.yy600); } break; - case 441: /* insert_query ::= INSERT INTO full_table_name query_or_subquery */ + case 442: /* insert_query ::= INSERT INTO full_table_name query_or_subquery */ { yymsp[-3].minor.yy600 = createInsertStmt(pCxt, yymsp[-1].minor.yy600, NULL, yymsp[0].minor.yy600); } break; - case 442: /* tags_literal ::= NK_INTEGER */ - case 454: /* tags_literal ::= NK_BIN */ yytestcase(yyruleno==454); - case 463: /* tags_literal ::= NK_HEX */ yytestcase(yyruleno==463); + case 443: /* tags_literal ::= NK_INTEGER */ + case 455: /* tags_literal ::= NK_BIN */ yytestcase(yyruleno==455); + case 464: /* tags_literal ::= NK_HEX */ yytestcase(yyruleno==464); { yylhsminor.yy600 = createRawValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0, NULL); } yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 443: /* tags_literal ::= NK_INTEGER NK_PLUS duration_literal */ - case 444: /* tags_literal ::= NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==444); - case 455: /* tags_literal ::= NK_BIN NK_PLUS duration_literal */ yytestcase(yyruleno==455); - case 456: /* tags_literal ::= NK_BIN NK_MINUS duration_literal */ yytestcase(yyruleno==456); - case 464: /* tags_literal ::= NK_HEX NK_PLUS duration_literal */ yytestcase(yyruleno==464); - case 465: /* tags_literal ::= NK_HEX NK_MINUS duration_literal */ yytestcase(yyruleno==465); - case 473: /* tags_literal ::= NK_STRING NK_PLUS duration_literal */ yytestcase(yyruleno==473); - case 474: /* tags_literal ::= NK_STRING NK_MINUS duration_literal */ yytestcase(yyruleno==474); + case 444: /* tags_literal ::= NK_INTEGER NK_PLUS duration_literal */ + case 445: /* tags_literal ::= NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==445); + case 456: /* tags_literal ::= NK_BIN NK_PLUS duration_literal */ yytestcase(yyruleno==456); + case 457: /* tags_literal ::= NK_BIN NK_MINUS duration_literal */ yytestcase(yyruleno==457); + case 465: /* tags_literal ::= NK_HEX NK_PLUS duration_literal */ yytestcase(yyruleno==465); + case 466: /* tags_literal ::= NK_HEX NK_MINUS duration_literal */ yytestcase(yyruleno==466); + case 474: /* tags_literal ::= NK_STRING NK_PLUS duration_literal */ yytestcase(yyruleno==474); + case 475: /* tags_literal ::= NK_STRING NK_MINUS duration_literal */ yytestcase(yyruleno==475); { SToken l = yymsp[-2].minor.yy0; SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); @@ -6578,12 +6911,12 @@ yymsp[0].minor.yy600); } } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 445: /* tags_literal ::= NK_PLUS NK_INTEGER */ - case 448: /* tags_literal ::= NK_MINUS NK_INTEGER */ yytestcase(yyruleno==448); - case 457: /* tags_literal ::= NK_PLUS NK_BIN */ yytestcase(yyruleno==457); - case 460: /* tags_literal ::= NK_MINUS NK_BIN */ yytestcase(yyruleno==460); - case 466: /* tags_literal ::= NK_PLUS NK_HEX */ yytestcase(yyruleno==466); - case 469: /* tags_literal ::= NK_MINUS NK_HEX */ yytestcase(yyruleno==469); + case 446: /* tags_literal ::= NK_PLUS NK_INTEGER */ + case 449: /* tags_literal ::= NK_MINUS NK_INTEGER */ yytestcase(yyruleno==449); + case 458: /* tags_literal ::= NK_PLUS NK_BIN */ yytestcase(yyruleno==458); + case 461: /* tags_literal ::= NK_MINUS NK_BIN */ yytestcase(yyruleno==461); + case 467: /* tags_literal ::= NK_PLUS NK_HEX */ yytestcase(yyruleno==467); + case 470: /* tags_literal ::= NK_MINUS NK_HEX */ yytestcase(yyruleno==470); { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; @@ -6591,18 +6924,18 @@ yymsp[0].minor.yy600); } } yymsp[-1].minor.yy600 = yylhsminor.yy600; break; - case 446: /* tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal */ - case 447: /* tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==447); - case 449: /* tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal */ yytestcase(yyruleno==449); - case 450: /* tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==450); - case 458: /* tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal */ yytestcase(yyruleno==458); - case 459: /* tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal */ yytestcase(yyruleno==459); - case 461: /* tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal */ yytestcase(yyruleno==461); - case 462: /* tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal */ yytestcase(yyruleno==462); - case 467: /* tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal */ yytestcase(yyruleno==467); - case 468: /* tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal */ yytestcase(yyruleno==468); - case 470: /* tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal */ yytestcase(yyruleno==470); - case 471: /* tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal */ yytestcase(yyruleno==471); + case 447: /* tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal */ + case 448: /* tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==448); + case 450: /* tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal */ yytestcase(yyruleno==450); + case 451: /* tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==451); + case 459: /* tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal */ yytestcase(yyruleno==459); + case 460: /* tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal */ yytestcase(yyruleno==460); + case 462: /* tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal */ yytestcase(yyruleno==462); + case 463: /* tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal */ yytestcase(yyruleno==463); + case 468: /* tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal */ yytestcase(yyruleno==468); + case 469: /* tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal */ yytestcase(yyruleno==469); + case 471: /* tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal */ yytestcase(yyruleno==471); + case 472: /* tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal */ yytestcase(yyruleno==472); { SToken l = yymsp[-3].minor.yy0; SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); @@ -6611,12 +6944,12 @@ yymsp[0].minor.yy600); } } yymsp[-3].minor.yy600 = yylhsminor.yy600; break; - case 451: /* tags_literal ::= NK_FLOAT */ + case 452: /* tags_literal ::= NK_FLOAT */ { yylhsminor.yy600 = createRawValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0, NULL); } yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 452: /* tags_literal ::= NK_PLUS NK_FLOAT */ - case 453: /* tags_literal ::= NK_MINUS NK_FLOAT */ yytestcase(yyruleno==453); + case 453: /* tags_literal ::= NK_PLUS NK_FLOAT */ + case 454: /* tags_literal ::= NK_MINUS NK_FLOAT */ yytestcase(yyruleno==454); { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; @@ -6624,24 +6957,24 @@ yymsp[0].minor.yy600); } } yymsp[-1].minor.yy600 = yylhsminor.yy600; break; - case 472: /* tags_literal ::= NK_STRING */ + case 473: /* tags_literal ::= NK_STRING */ { yylhsminor.yy600 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0, NULL); } yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 475: /* tags_literal ::= NK_BOOL */ + case 476: /* tags_literal ::= NK_BOOL */ { yylhsminor.yy600 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0, NULL); } yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 476: /* tags_literal ::= NULL */ + case 477: /* tags_literal ::= NULL */ { yylhsminor.yy600 = createRawValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0, NULL); } yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 477: /* tags_literal ::= literal_func */ + case 478: /* tags_literal ::= literal_func */ { yylhsminor.yy600 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BINARY, NULL, yymsp[0].minor.yy600); } yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 478: /* tags_literal ::= literal_func NK_PLUS duration_literal */ - case 479: /* tags_literal ::= literal_func NK_MINUS duration_literal */ yytestcase(yyruleno==479); + case 479: /* tags_literal ::= literal_func NK_PLUS duration_literal */ + case 480: /* tags_literal ::= literal_func NK_MINUS duration_literal */ yytestcase(yyruleno==480); { SToken l = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); @@ -6650,72 +6983,72 @@ yymsp[0].minor.yy600); } } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 482: /* literal ::= NK_INTEGER */ + case 483: /* literal ::= NK_INTEGER */ { yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0)); } yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 483: /* literal ::= NK_FLOAT */ + case 484: /* literal ::= NK_FLOAT */ { yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0)); } yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 484: /* literal ::= NK_STRING */ + case 485: /* literal ::= NK_STRING */ { yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 485: /* literal ::= NK_BOOL */ + case 486: /* literal ::= NK_BOOL */ { yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0)); } yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 486: /* literal ::= TIMESTAMP NK_STRING */ + case 487: /* literal ::= TIMESTAMP NK_STRING */ { yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0)); } yymsp[-1].minor.yy600 = yylhsminor.yy600; break; - case 487: /* literal ::= duration_literal */ - case 497: /* signed_literal ::= signed */ yytestcase(yyruleno==497); - case 521: /* expr_or_subquery ::= expression */ yytestcase(yyruleno==521); - case 522: /* expression ::= literal */ yytestcase(yyruleno==522); - case 524: /* expression ::= column_reference */ yytestcase(yyruleno==524); - case 525: /* expression ::= function_expression */ yytestcase(yyruleno==525); - case 526: /* expression ::= case_when_expression */ yytestcase(yyruleno==526); - case 560: /* function_expression ::= literal_func */ yytestcase(yyruleno==560); - case 610: /* boolean_value_expression ::= boolean_primary */ yytestcase(yyruleno==610); - case 614: /* boolean_primary ::= predicate */ yytestcase(yyruleno==614); - case 616: /* common_expression ::= expr_or_subquery */ yytestcase(yyruleno==616); - case 617: /* common_expression ::= boolean_value_expression */ yytestcase(yyruleno==617); - case 620: /* table_reference_list ::= table_reference */ yytestcase(yyruleno==620); - case 622: /* table_reference ::= table_primary */ yytestcase(yyruleno==622); - case 623: /* table_reference ::= joined_table */ yytestcase(yyruleno==623); - case 627: /* table_primary ::= parenthesized_joined_table */ yytestcase(yyruleno==627); - case 712: /* query_simple ::= query_specification */ yytestcase(yyruleno==712); - case 713: /* query_simple ::= union_query_expression */ yytestcase(yyruleno==713); - case 716: /* query_simple_or_subquery ::= query_simple */ yytestcase(yyruleno==716); - case 718: /* query_or_subquery ::= query_expression */ yytestcase(yyruleno==718); + case 488: /* literal ::= duration_literal */ + case 498: /* signed_literal ::= signed */ yytestcase(yyruleno==498); + case 522: /* expr_or_subquery ::= expression */ yytestcase(yyruleno==522); + case 523: /* expression ::= literal */ yytestcase(yyruleno==523); + case 525: /* expression ::= column_reference */ yytestcase(yyruleno==525); + case 526: /* expression ::= function_expression */ yytestcase(yyruleno==526); + case 527: /* expression ::= case_when_expression */ yytestcase(yyruleno==527); + case 561: /* function_expression ::= literal_func */ yytestcase(yyruleno==561); + case 611: /* boolean_value_expression ::= boolean_primary */ yytestcase(yyruleno==611); + case 615: /* boolean_primary ::= predicate */ yytestcase(yyruleno==615); + case 617: /* common_expression ::= expr_or_subquery */ yytestcase(yyruleno==617); + case 618: /* common_expression ::= boolean_value_expression */ yytestcase(yyruleno==618); + case 621: /* table_reference_list ::= table_reference */ yytestcase(yyruleno==621); + case 623: /* table_reference ::= table_primary */ yytestcase(yyruleno==623); + case 624: /* table_reference ::= joined_table */ yytestcase(yyruleno==624); + case 628: /* table_primary ::= parenthesized_joined_table */ yytestcase(yyruleno==628); + case 713: /* query_simple ::= query_specification */ yytestcase(yyruleno==713); + case 714: /* query_simple ::= union_query_expression */ yytestcase(yyruleno==714); + case 717: /* query_simple_or_subquery ::= query_simple */ yytestcase(yyruleno==717); + case 719: /* query_or_subquery ::= query_expression */ yytestcase(yyruleno==719); { yylhsminor.yy600 = yymsp[0].minor.yy600; } yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 488: /* literal ::= NULL */ + case 489: /* literal ::= NULL */ { yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0)); } yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 489: /* literal ::= NK_QUESTION */ + case 490: /* literal ::= NK_QUESTION */ { yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0)); } yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 490: /* duration_literal ::= NK_VARIABLE */ - case 687: /* interval_sliding_duration_literal ::= NK_VARIABLE */ yytestcase(yyruleno==687); - case 688: /* interval_sliding_duration_literal ::= NK_STRING */ yytestcase(yyruleno==688); - case 689: /* interval_sliding_duration_literal ::= NK_INTEGER */ yytestcase(yyruleno==689); + case 491: /* duration_literal ::= NK_VARIABLE */ + case 688: /* interval_sliding_duration_literal ::= NK_VARIABLE */ yytestcase(yyruleno==688); + case 689: /* interval_sliding_duration_literal ::= NK_STRING */ yytestcase(yyruleno==689); + case 690: /* interval_sliding_duration_literal ::= NK_INTEGER */ yytestcase(yyruleno==690); { yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 491: /* signed ::= NK_INTEGER */ + case 492: /* signed ::= NK_INTEGER */ { yylhsminor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 492: /* signed ::= NK_PLUS NK_INTEGER */ + case 493: /* signed ::= NK_PLUS NK_INTEGER */ { yymsp[-1].minor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } break; - case 493: /* signed ::= NK_MINUS NK_INTEGER */ + case 494: /* signed ::= NK_MINUS NK_INTEGER */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; @@ -6723,14 +7056,14 @@ yymsp[0].minor.yy600); } } yymsp[-1].minor.yy600 = yylhsminor.yy600; break; - case 494: /* signed ::= NK_FLOAT */ + case 495: /* signed ::= NK_FLOAT */ { yylhsminor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 495: /* signed ::= NK_PLUS NK_FLOAT */ + case 496: /* signed ::= NK_PLUS NK_FLOAT */ { yymsp[-1].minor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } break; - case 496: /* signed ::= NK_MINUS NK_FLOAT */ + case 497: /* signed ::= NK_MINUS NK_FLOAT */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; @@ -6738,61 +7071,61 @@ yymsp[0].minor.yy600); } } yymsp[-1].minor.yy600 = yylhsminor.yy600; break; - case 498: /* signed_literal ::= NK_STRING */ + case 499: /* signed_literal ::= NK_STRING */ { yylhsminor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 499: /* signed_literal ::= NK_BOOL */ + case 500: /* signed_literal ::= NK_BOOL */ { yylhsminor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0); } yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 500: /* signed_literal ::= TIMESTAMP NK_STRING */ + case 501: /* signed_literal ::= TIMESTAMP NK_STRING */ { yymsp[-1].minor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } break; - case 501: /* signed_literal ::= duration_literal */ - case 503: /* signed_literal ::= literal_func */ yytestcase(yyruleno==503); - case 581: /* star_func_para ::= expr_or_subquery */ yytestcase(yyruleno==581); - case 664: /* select_item ::= common_expression */ yytestcase(yyruleno==664); - case 674: /* partition_item ::= expr_or_subquery */ yytestcase(yyruleno==674); - case 717: /* query_simple_or_subquery ::= subquery */ yytestcase(yyruleno==717); - case 719: /* query_or_subquery ::= subquery */ yytestcase(yyruleno==719); - case 732: /* search_condition ::= common_expression */ yytestcase(yyruleno==732); + case 502: /* signed_literal ::= duration_literal */ + case 504: /* signed_literal ::= literal_func */ yytestcase(yyruleno==504); + case 582: /* star_func_para ::= expr_or_subquery */ yytestcase(yyruleno==582); + case 665: /* select_item ::= common_expression */ yytestcase(yyruleno==665); + case 675: /* partition_item ::= expr_or_subquery */ yytestcase(yyruleno==675); + case 718: /* query_simple_or_subquery ::= subquery */ yytestcase(yyruleno==718); + case 720: /* query_or_subquery ::= subquery */ yytestcase(yyruleno==720); + case 733: /* search_condition ::= common_expression */ yytestcase(yyruleno==733); { yylhsminor.yy600 = releaseRawExprNode(pCxt, yymsp[0].minor.yy600); } yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 502: /* signed_literal ::= NULL */ + case 503: /* signed_literal ::= NULL */ { yylhsminor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0); } yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 504: /* signed_literal ::= NK_QUESTION */ + case 505: /* signed_literal ::= NK_QUESTION */ { yylhsminor.yy600 = createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0); } yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 523: /* expression ::= pseudo_column */ + case 524: /* expression ::= pseudo_column */ { yylhsminor.yy600 = yymsp[0].minor.yy600; setRawExprNodeIsPseudoColumn(pCxt, yylhsminor.yy600, true); } yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 527: /* expression ::= NK_LP expression NK_RP */ - case 615: /* boolean_primary ::= NK_LP boolean_value_expression NK_RP */ yytestcase(yyruleno==615); - case 731: /* subquery ::= NK_LP subquery NK_RP */ yytestcase(yyruleno==731); + case 528: /* expression ::= NK_LP expression NK_RP */ + case 616: /* boolean_primary ::= NK_LP boolean_value_expression NK_RP */ yytestcase(yyruleno==616); + case 732: /* subquery ::= NK_LP subquery NK_RP */ yytestcase(yyruleno==732); { yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, releaseRawExprNode(pCxt, yymsp[-1].minor.yy600)); } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 528: /* expression ::= NK_PLUS expr_or_subquery */ + case 529: /* expression ::= NK_PLUS expr_or_subquery */ { SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, releaseRawExprNode(pCxt, yymsp[0].minor.yy600)); } yymsp[-1].minor.yy600 = yylhsminor.yy600; break; - case 529: /* expression ::= NK_MINUS expr_or_subquery */ + case 530: /* expression ::= NK_MINUS expr_or_subquery */ { SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, createOperatorNode(pCxt, OP_TYPE_MINUS, releaseRawExprNode(pCxt, yymsp[0].minor.yy600), NULL)); } yymsp[-1].minor.yy600 = yylhsminor.yy600; break; - case 530: /* expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ + case 531: /* expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ { SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); @@ -6800,7 +7133,7 @@ yymsp[0].minor.yy600); } } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 531: /* expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ + case 532: /* expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ { SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); @@ -6808,7 +7141,7 @@ yymsp[0].minor.yy600); } } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 532: /* expression ::= expr_or_subquery NK_STAR expr_or_subquery */ + case 533: /* expression ::= expr_or_subquery NK_STAR expr_or_subquery */ { SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); @@ -6816,7 +7149,7 @@ yymsp[0].minor.yy600); } } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 533: /* expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ + case 534: /* expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ { SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); @@ -6824,7 +7157,7 @@ yymsp[0].minor.yy600); } } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 534: /* expression ::= expr_or_subquery NK_REM expr_or_subquery */ + case 535: /* expression ::= expr_or_subquery NK_REM expr_or_subquery */ { SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); @@ -6832,14 +7165,14 @@ yymsp[0].minor.yy600); } } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 535: /* expression ::= column_reference NK_ARROW NK_STRING */ + case 536: /* expression ::= column_reference NK_ARROW NK_STRING */ { SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_JSON_GET_VALUE, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0))); } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 536: /* expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ + case 537: /* expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ { SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); @@ -6847,7 +7180,7 @@ yymsp[0].minor.yy600); } } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 537: /* expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ + case 538: /* expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ { SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); @@ -6855,81 +7188,81 @@ yymsp[0].minor.yy600); } } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 540: /* column_reference ::= column_name */ + case 541: /* column_reference ::= column_name */ { yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy649, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy649)); } yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 541: /* column_reference ::= table_name NK_DOT column_name */ + case 542: /* column_reference ::= table_name NK_DOT column_name */ { yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy649, &yymsp[0].minor.yy649, createColumnNode(pCxt, &yymsp[-2].minor.yy649, &yymsp[0].minor.yy649)); } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 542: /* column_reference ::= NK_ALIAS */ + case 543: /* column_reference ::= NK_ALIAS */ { yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 543: /* column_reference ::= table_name NK_DOT NK_ALIAS */ + case 544: /* column_reference ::= table_name NK_DOT NK_ALIAS */ { yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy649, &yymsp[0].minor.yy0, createColumnNode(pCxt, &yymsp[-2].minor.yy649, &yymsp[0].minor.yy0)); } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 544: /* pseudo_column ::= ROWTS */ - case 545: /* pseudo_column ::= TBNAME */ yytestcase(yyruleno==545); - case 547: /* pseudo_column ::= QSTART */ yytestcase(yyruleno==547); - case 548: /* pseudo_column ::= QEND */ yytestcase(yyruleno==548); - case 549: /* pseudo_column ::= QDURATION */ yytestcase(yyruleno==549); - case 550: /* pseudo_column ::= WSTART */ yytestcase(yyruleno==550); - case 551: /* pseudo_column ::= WEND */ yytestcase(yyruleno==551); - case 552: /* pseudo_column ::= WDURATION */ yytestcase(yyruleno==552); - case 553: /* pseudo_column ::= IROWTS */ yytestcase(yyruleno==553); - case 554: /* pseudo_column ::= ISFILLED */ yytestcase(yyruleno==554); - case 555: /* pseudo_column ::= QTAGS */ yytestcase(yyruleno==555); - case 562: /* literal_func ::= NOW */ yytestcase(yyruleno==562); - case 563: /* literal_func ::= TODAY */ yytestcase(yyruleno==563); + case 545: /* pseudo_column ::= ROWTS */ + case 546: /* pseudo_column ::= TBNAME */ yytestcase(yyruleno==546); + case 548: /* pseudo_column ::= QSTART */ yytestcase(yyruleno==548); + case 549: /* pseudo_column ::= QEND */ yytestcase(yyruleno==549); + case 550: /* pseudo_column ::= QDURATION */ yytestcase(yyruleno==550); + case 551: /* pseudo_column ::= WSTART */ yytestcase(yyruleno==551); + case 552: /* pseudo_column ::= WEND */ yytestcase(yyruleno==552); + case 553: /* pseudo_column ::= WDURATION */ yytestcase(yyruleno==553); + case 554: /* pseudo_column ::= IROWTS */ yytestcase(yyruleno==554); + case 555: /* pseudo_column ::= ISFILLED */ yytestcase(yyruleno==555); + case 556: /* pseudo_column ::= QTAGS */ yytestcase(yyruleno==556); + case 563: /* literal_func ::= NOW */ yytestcase(yyruleno==563); + case 564: /* literal_func ::= TODAY */ yytestcase(yyruleno==564); { yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL)); } yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 546: /* pseudo_column ::= table_name NK_DOT TBNAME */ + case 547: /* pseudo_column ::= table_name NK_DOT TBNAME */ { yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy649, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[-2].minor.yy649)))); } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 556: /* function_expression ::= function_name NK_LP expression_list NK_RP */ - case 557: /* function_expression ::= star_func NK_LP star_func_para_list NK_RP */ yytestcase(yyruleno==557); + case 557: /* function_expression ::= function_name NK_LP expression_list NK_RP */ + case 558: /* function_expression ::= star_func NK_LP star_func_para_list NK_RP */ yytestcase(yyruleno==558); { yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy649, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-3].minor.yy649, yymsp[-1].minor.yy748)); } yymsp[-3].minor.yy600 = yylhsminor.yy600; break; - case 558: /* function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ - case 559: /* function_expression ::= CAST NK_LP expr_or_subquery AS type_name_default_len NK_RP */ yytestcase(yyruleno==559); + case 559: /* function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ + case 560: /* function_expression ::= CAST NK_LP expr_or_subquery AS type_name_default_len NK_RP */ yytestcase(yyruleno==560); { yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0, createCastFunctionNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy600), yymsp[-1].minor.yy400)); } yymsp[-5].minor.yy600 = yylhsminor.yy600; break; - case 561: /* literal_func ::= noarg_func NK_LP NK_RP */ + case 562: /* literal_func ::= noarg_func NK_LP NK_RP */ { yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy649, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-2].minor.yy649, NULL)); } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 577: /* star_func_para_list ::= NK_STAR */ + case 578: /* star_func_para_list ::= NK_STAR */ { yylhsminor.yy748 = createNodeList(pCxt, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } yymsp[0].minor.yy748 = yylhsminor.yy748; break; - case 582: /* star_func_para ::= table_name NK_DOT NK_STAR */ - case 667: /* select_item ::= table_name NK_DOT NK_STAR */ yytestcase(yyruleno==667); + case 583: /* star_func_para ::= table_name NK_DOT NK_STAR */ + case 668: /* select_item ::= table_name NK_DOT NK_STAR */ yytestcase(yyruleno==668); { yylhsminor.yy600 = createColumnNode(pCxt, &yymsp[-2].minor.yy649, &yymsp[0].minor.yy0); } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 583: /* case_when_expression ::= CASE when_then_list case_when_else_opt END */ + case 584: /* case_when_expression ::= CASE when_then_list case_when_else_opt END */ { yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, NULL, yymsp[-2].minor.yy748, yymsp[-1].minor.yy600)); } yymsp[-3].minor.yy600 = yylhsminor.yy600; break; - case 584: /* case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ + case 585: /* case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ { yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-4].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy600), yymsp[-2].minor.yy748, yymsp[-1].minor.yy600)); } yymsp[-4].minor.yy600 = yylhsminor.yy600; break; - case 587: /* when_then_expr ::= WHEN common_expression THEN common_expression */ + case 588: /* when_then_expr ::= WHEN common_expression THEN common_expression */ { yymsp[-3].minor.yy600 = createWhenThenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), releaseRawExprNode(pCxt, yymsp[0].minor.yy600)); } break; - case 589: /* case_when_else_opt ::= ELSE common_expression */ + case 590: /* case_when_else_opt ::= ELSE common_expression */ { yymsp[-1].minor.yy600 = releaseRawExprNode(pCxt, yymsp[0].minor.yy600); } break; - case 590: /* predicate ::= expr_or_subquery compare_op expr_or_subquery */ - case 595: /* predicate ::= expr_or_subquery in_op in_predicate_value */ yytestcase(yyruleno==595); + case 591: /* predicate ::= expr_or_subquery compare_op expr_or_subquery */ + case 596: /* predicate ::= expr_or_subquery in_op in_predicate_value */ yytestcase(yyruleno==596); { SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); @@ -6937,7 +7270,7 @@ yymsp[0].minor.yy600); } } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 591: /* predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ + case 592: /* predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ { SToken s = getTokenFromRawExprNode(pCxt, yymsp[-4].minor.yy600); SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); @@ -6945,7 +7278,7 @@ yymsp[0].minor.yy600); } } yymsp[-4].minor.yy600 = yylhsminor.yy600; break; - case 592: /* predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ + case 593: /* predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ { SToken s = getTokenFromRawExprNode(pCxt, yymsp[-5].minor.yy600); SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); @@ -6953,71 +7286,71 @@ yymsp[0].minor.yy600); } } yymsp[-5].minor.yy600 = yylhsminor.yy600; break; - case 593: /* predicate ::= expr_or_subquery IS NULL */ + case 594: /* predicate ::= expr_or_subquery IS NULL */ { SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NULL, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), NULL)); } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 594: /* predicate ::= expr_or_subquery IS NOT NULL */ + case 595: /* predicate ::= expr_or_subquery IS NOT NULL */ { SToken s = getTokenFromRawExprNode(pCxt, yymsp[-3].minor.yy600); yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NOT_NULL, releaseRawExprNode(pCxt, yymsp[-3].minor.yy600), NULL)); } yymsp[-3].minor.yy600 = yylhsminor.yy600; break; - case 596: /* compare_op ::= NK_LT */ + case 597: /* compare_op ::= NK_LT */ { yymsp[0].minor.yy292 = OP_TYPE_LOWER_THAN; } break; - case 597: /* compare_op ::= NK_GT */ + case 598: /* compare_op ::= NK_GT */ { yymsp[0].minor.yy292 = OP_TYPE_GREATER_THAN; } break; - case 598: /* compare_op ::= NK_LE */ + case 599: /* compare_op ::= NK_LE */ { yymsp[0].minor.yy292 = OP_TYPE_LOWER_EQUAL; } break; - case 599: /* compare_op ::= NK_GE */ + case 600: /* compare_op ::= NK_GE */ { yymsp[0].minor.yy292 = OP_TYPE_GREATER_EQUAL; } break; - case 600: /* compare_op ::= NK_NE */ + case 601: /* compare_op ::= NK_NE */ { yymsp[0].minor.yy292 = OP_TYPE_NOT_EQUAL; } break; - case 601: /* compare_op ::= NK_EQ */ + case 602: /* compare_op ::= NK_EQ */ { yymsp[0].minor.yy292 = OP_TYPE_EQUAL; } break; - case 602: /* compare_op ::= LIKE */ + case 603: /* compare_op ::= LIKE */ { yymsp[0].minor.yy292 = OP_TYPE_LIKE; } break; - case 603: /* compare_op ::= NOT LIKE */ + case 604: /* compare_op ::= NOT LIKE */ { yymsp[-1].minor.yy292 = OP_TYPE_NOT_LIKE; } break; - case 604: /* compare_op ::= MATCH */ + case 605: /* compare_op ::= MATCH */ { yymsp[0].minor.yy292 = OP_TYPE_MATCH; } break; - case 605: /* compare_op ::= NMATCH */ + case 606: /* compare_op ::= NMATCH */ { yymsp[0].minor.yy292 = OP_TYPE_NMATCH; } break; - case 606: /* compare_op ::= CONTAINS */ + case 607: /* compare_op ::= CONTAINS */ { yymsp[0].minor.yy292 = OP_TYPE_JSON_CONTAINS; } break; - case 607: /* in_op ::= IN */ + case 608: /* in_op ::= IN */ { yymsp[0].minor.yy292 = OP_TYPE_IN; } break; - case 608: /* in_op ::= NOT IN */ + case 609: /* in_op ::= NOT IN */ { yymsp[-1].minor.yy292 = OP_TYPE_NOT_IN; } break; - case 609: /* in_predicate_value ::= NK_LP literal_list NK_RP */ + case 610: /* in_predicate_value ::= NK_LP literal_list NK_RP */ { yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, createNodeListNode(pCxt, yymsp[-1].minor.yy748)); } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 611: /* boolean_value_expression ::= NOT boolean_primary */ + case 612: /* boolean_value_expression ::= NOT boolean_primary */ { SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_NOT, releaseRawExprNode(pCxt, yymsp[0].minor.yy600), NULL)); } yymsp[-1].minor.yy600 = yylhsminor.yy600; break; - case 612: /* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ + case 613: /* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ { SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); @@ -7025,7 +7358,7 @@ yymsp[0].minor.yy600); } } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 613: /* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ + case 614: /* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ { SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); @@ -7033,33 +7366,33 @@ yymsp[0].minor.yy600); } } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 621: /* table_reference_list ::= table_reference_list NK_COMMA table_reference */ + case 622: /* table_reference_list ::= table_reference_list NK_COMMA table_reference */ { yylhsminor.yy600 = createJoinTableNode(pCxt, JOIN_TYPE_INNER, JOIN_STYPE_NONE, yymsp[-2].minor.yy600, yymsp[0].minor.yy600, NULL); } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 624: /* table_primary ::= table_name alias_opt */ + case 625: /* table_primary ::= table_name alias_opt */ { yylhsminor.yy600 = createRealTableNode(pCxt, NULL, &yymsp[-1].minor.yy649, &yymsp[0].minor.yy649); } yymsp[-1].minor.yy600 = yylhsminor.yy600; break; - case 625: /* table_primary ::= db_name NK_DOT table_name alias_opt */ + case 626: /* table_primary ::= db_name NK_DOT table_name alias_opt */ { yylhsminor.yy600 = createRealTableNode(pCxt, &yymsp[-3].minor.yy649, &yymsp[-1].minor.yy649, &yymsp[0].minor.yy649); } yymsp[-3].minor.yy600 = yylhsminor.yy600; break; - case 626: /* table_primary ::= subquery alias_opt */ + case 627: /* table_primary ::= subquery alias_opt */ { yylhsminor.yy600 = createTempTableNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy600), &yymsp[0].minor.yy649); } yymsp[-1].minor.yy600 = yylhsminor.yy600; break; - case 628: /* alias_opt ::= */ + case 629: /* alias_opt ::= */ { yymsp[1].minor.yy649 = nil_token; } break; - case 630: /* alias_opt ::= AS table_alias */ + case 631: /* alias_opt ::= AS table_alias */ { yymsp[-1].minor.yy649 = yymsp[0].minor.yy649; } break; - case 631: /* parenthesized_joined_table ::= NK_LP joined_table NK_RP */ - case 632: /* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ yytestcase(yyruleno==632); + case 632: /* parenthesized_joined_table ::= NK_LP joined_table NK_RP */ + case 633: /* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ yytestcase(yyruleno==633); { yymsp[-2].minor.yy600 = yymsp[-1].minor.yy600; } break; - case 633: /* joined_table ::= table_reference join_type join_subtype JOIN table_reference join_on_clause_opt window_offset_clause_opt jlimit_clause_opt */ + case 634: /* joined_table ::= table_reference join_type join_subtype JOIN table_reference join_on_clause_opt window_offset_clause_opt jlimit_clause_opt */ { yylhsminor.yy600 = createJoinTableNode(pCxt, yymsp[-6].minor.yy564, yymsp[-5].minor.yy758, yymsp[-7].minor.yy600, yymsp[-3].minor.yy600, yymsp[-2].minor.yy600); yylhsminor.yy600 = addWindowOffsetClause(pCxt, yylhsminor.yy600, yymsp[-1].minor.yy600); @@ -7067,47 +7400,47 @@ yymsp[0].minor.yy600); } } yymsp[-7].minor.yy600 = yylhsminor.yy600; break; - case 634: /* join_type ::= */ + case 635: /* join_type ::= */ { yymsp[1].minor.yy564 = JOIN_TYPE_INNER; } break; - case 635: /* join_type ::= INNER */ + case 636: /* join_type ::= INNER */ { yymsp[0].minor.yy564 = JOIN_TYPE_INNER; } break; - case 636: /* join_type ::= LEFT */ + case 637: /* join_type ::= LEFT */ { yymsp[0].minor.yy564 = JOIN_TYPE_LEFT; } break; - case 637: /* join_type ::= RIGHT */ + case 638: /* join_type ::= RIGHT */ { yymsp[0].minor.yy564 = JOIN_TYPE_RIGHT; } break; - case 638: /* join_type ::= FULL */ + case 639: /* join_type ::= FULL */ { yymsp[0].minor.yy564 = JOIN_TYPE_FULL; } break; - case 639: /* join_subtype ::= */ + case 640: /* join_subtype ::= */ { yymsp[1].minor.yy758 = JOIN_STYPE_NONE; } break; - case 640: /* join_subtype ::= OUTER */ + case 641: /* join_subtype ::= OUTER */ { yymsp[0].minor.yy758 = JOIN_STYPE_OUTER; } break; - case 641: /* join_subtype ::= SEMI */ + case 642: /* join_subtype ::= SEMI */ { yymsp[0].minor.yy758 = JOIN_STYPE_SEMI; } break; - case 642: /* join_subtype ::= ANTI */ + case 643: /* join_subtype ::= ANTI */ { yymsp[0].minor.yy758 = JOIN_STYPE_ANTI; } break; - case 643: /* join_subtype ::= ASOF */ + case 644: /* join_subtype ::= ASOF */ { yymsp[0].minor.yy758 = JOIN_STYPE_ASOF; } break; - case 644: /* join_subtype ::= WINDOW */ + case 645: /* join_subtype ::= WINDOW */ { yymsp[0].minor.yy758 = JOIN_STYPE_WIN; } break; - case 648: /* window_offset_clause_opt ::= WINDOW_OFFSET NK_LP window_offset_literal NK_COMMA window_offset_literal NK_RP */ + case 649: /* window_offset_clause_opt ::= WINDOW_OFFSET NK_LP window_offset_literal NK_COMMA window_offset_literal NK_RP */ { yymsp[-5].minor.yy600 = createWindowOffsetNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy600), releaseRawExprNode(pCxt, yymsp[-1].minor.yy600)); } break; - case 649: /* window_offset_literal ::= NK_VARIABLE */ + case 650: /* window_offset_literal ::= NK_VARIABLE */ { yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createTimeOffsetValueNode(pCxt, &yymsp[0].minor.yy0)); } yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 650: /* window_offset_literal ::= NK_MINUS NK_VARIABLE */ + case 651: /* window_offset_literal ::= NK_MINUS NK_VARIABLE */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; @@ -7115,12 +7448,12 @@ yymsp[0].minor.yy600); } } yymsp[-1].minor.yy600 = yylhsminor.yy600; break; - case 652: /* jlimit_clause_opt ::= JLIMIT NK_INTEGER */ - case 723: /* slimit_clause_opt ::= SLIMIT NK_INTEGER */ yytestcase(yyruleno==723); - case 727: /* limit_clause_opt ::= LIMIT NK_INTEGER */ yytestcase(yyruleno==727); + case 653: /* jlimit_clause_opt ::= JLIMIT NK_INTEGER */ + case 724: /* slimit_clause_opt ::= SLIMIT NK_INTEGER */ yytestcase(yyruleno==724); + case 728: /* limit_clause_opt ::= LIMIT NK_INTEGER */ yytestcase(yyruleno==728); { yymsp[-1].minor.yy600 = createLimitNode(pCxt, &yymsp[0].minor.yy0, NULL); } break; - case 653: /* 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 654: /* query_specification ::= SELECT hint_list set_quantifier_opt tag_mode_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt */ { yymsp[-13].minor.yy600 = createSelectStmt(pCxt, yymsp[-11].minor.yy705, yymsp[-9].minor.yy748, yymsp[-8].minor.yy600, yymsp[-12].minor.yy748); yymsp[-13].minor.yy600 = setSelectStmtTagMode(pCxt, yymsp[-13].minor.yy600, yymsp[-10].minor.yy705); @@ -7134,98 +7467,98 @@ yymsp[0].minor.yy600); } yymsp[-13].minor.yy600 = addFillClause(pCxt, yymsp[-13].minor.yy600, yymsp[-3].minor.yy600); } break; - case 654: /* hint_list ::= */ + case 655: /* hint_list ::= */ { yymsp[1].minor.yy748 = createHintNodeList(pCxt, NULL); } break; - case 655: /* hint_list ::= NK_HINT */ + case 656: /* hint_list ::= NK_HINT */ { yylhsminor.yy748 = createHintNodeList(pCxt, &yymsp[0].minor.yy0); } yymsp[0].minor.yy748 = yylhsminor.yy748; break; - case 660: /* set_quantifier_opt ::= ALL */ + case 661: /* set_quantifier_opt ::= ALL */ { yymsp[0].minor.yy705 = false; } break; - case 663: /* select_item ::= NK_STAR */ + case 664: /* select_item ::= NK_STAR */ { yylhsminor.yy600 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0); } yymsp[0].minor.yy600 = yylhsminor.yy600; break; - case 665: /* select_item ::= common_expression column_alias */ - case 675: /* partition_item ::= expr_or_subquery column_alias */ yytestcase(yyruleno==675); + case 666: /* select_item ::= common_expression column_alias */ + case 676: /* partition_item ::= expr_or_subquery column_alias */ yytestcase(yyruleno==676); { yylhsminor.yy600 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy600), &yymsp[0].minor.yy649); } yymsp[-1].minor.yy600 = yylhsminor.yy600; break; - case 666: /* select_item ::= common_expression AS column_alias */ - case 676: /* partition_item ::= expr_or_subquery AS column_alias */ yytestcase(yyruleno==676); + case 667: /* select_item ::= common_expression AS column_alias */ + case 677: /* partition_item ::= expr_or_subquery AS column_alias */ yytestcase(yyruleno==677); { yylhsminor.yy600 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), &yymsp[0].minor.yy649); } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 671: /* partition_by_clause_opt ::= PARTITION BY partition_list */ - case 701: /* group_by_clause_opt ::= GROUP BY group_by_list */ yytestcase(yyruleno==701); - case 721: /* order_by_clause_opt ::= ORDER BY sort_specification_list */ yytestcase(yyruleno==721); + case 672: /* partition_by_clause_opt ::= PARTITION BY partition_list */ + case 702: /* group_by_clause_opt ::= GROUP BY group_by_list */ yytestcase(yyruleno==702); + case 722: /* order_by_clause_opt ::= ORDER BY sort_specification_list */ yytestcase(yyruleno==722); { yymsp[-2].minor.yy748 = yymsp[0].minor.yy748; } break; - case 678: /* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ + case 679: /* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ { yymsp[-5].minor.yy600 = createSessionWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy600), releaseRawExprNode(pCxt, yymsp[-1].minor.yy600)); } break; - case 679: /* twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ + case 680: /* twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ { yymsp[-3].minor.yy600 = createStateWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy600)); } break; - case 680: /* twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + case 681: /* twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ { yymsp[-5].minor.yy600 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy600), NULL, yymsp[-1].minor.yy600, yymsp[0].minor.yy600); } break; - case 681: /* twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + case 682: /* 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.yy600 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy600), releaseRawExprNode(pCxt, yymsp[-3].minor.yy600), yymsp[-1].minor.yy600, yymsp[0].minor.yy600); } break; - case 682: /* twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ + case 683: /* twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ { yymsp[-6].minor.yy600 = createEventWindowNode(pCxt, yymsp[-3].minor.yy600, yymsp[0].minor.yy600); } break; - case 683: /* twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ + case 684: /* twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ { yymsp[-3].minor.yy600 = createCountWindowNode(pCxt, &yymsp[-1].minor.yy0, &yymsp[-1].minor.yy0); } break; - case 684: /* twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ + case 685: /* twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ { yymsp[-5].minor.yy600 = createCountWindowNode(pCxt, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy0); } break; - case 691: /* fill_opt ::= FILL NK_LP fill_mode NK_RP */ + case 692: /* fill_opt ::= FILL NK_LP fill_mode NK_RP */ { yymsp[-3].minor.yy600 = createFillNode(pCxt, yymsp[-1].minor.yy6, NULL); } break; - case 692: /* fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ + case 693: /* fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ { yymsp[-5].minor.yy600 = createFillNode(pCxt, FILL_MODE_VALUE, createNodeListNode(pCxt, yymsp[-1].minor.yy748)); } break; - case 693: /* fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ + case 694: /* fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ { yymsp[-5].minor.yy600 = createFillNode(pCxt, FILL_MODE_VALUE_F, createNodeListNode(pCxt, yymsp[-1].minor.yy748)); } break; - case 694: /* fill_mode ::= NONE */ + case 695: /* fill_mode ::= NONE */ { yymsp[0].minor.yy6 = FILL_MODE_NONE; } break; - case 695: /* fill_mode ::= PREV */ + case 696: /* fill_mode ::= PREV */ { yymsp[0].minor.yy6 = FILL_MODE_PREV; } break; - case 696: /* fill_mode ::= NULL */ + case 697: /* fill_mode ::= NULL */ { yymsp[0].minor.yy6 = FILL_MODE_NULL; } break; - case 697: /* fill_mode ::= NULL_F */ + case 698: /* fill_mode ::= NULL_F */ { yymsp[0].minor.yy6 = FILL_MODE_NULL_F; } break; - case 698: /* fill_mode ::= LINEAR */ + case 699: /* fill_mode ::= LINEAR */ { yymsp[0].minor.yy6 = FILL_MODE_LINEAR; } break; - case 699: /* fill_mode ::= NEXT */ + case 700: /* fill_mode ::= NEXT */ { yymsp[0].minor.yy6 = FILL_MODE_NEXT; } break; - case 702: /* group_by_list ::= expr_or_subquery */ + case 703: /* group_by_list ::= expr_or_subquery */ { yylhsminor.yy748 = createNodeList(pCxt, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); } yymsp[0].minor.yy748 = yylhsminor.yy748; break; - case 703: /* group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ + case 704: /* group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ { yylhsminor.yy748 = addNodeToList(pCxt, yymsp[-2].minor.yy748, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); } yymsp[-2].minor.yy748 = yylhsminor.yy748; break; - case 707: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ + case 708: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ { yymsp[-5].minor.yy600 = createInterpTimeRange(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy600), releaseRawExprNode(pCxt, yymsp[-1].minor.yy600)); } break; - case 708: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ + case 709: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ { yymsp[-3].minor.yy600 = createInterpTimePoint(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy600)); } break; - case 711: /* query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + case 712: /* query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ { yylhsminor.yy600 = addOrderByClause(pCxt, yymsp[-3].minor.yy600, yymsp[-2].minor.yy748); yylhsminor.yy600 = addSlimitClause(pCxt, yylhsminor.yy600, yymsp[-1].minor.yy600); @@ -7233,57 +7566,57 @@ yymsp[0].minor.yy600); } } yymsp[-3].minor.yy600 = yylhsminor.yy600; break; - case 714: /* union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ + case 715: /* union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ { yylhsminor.yy600 = createSetOperator(pCxt, SET_OP_TYPE_UNION_ALL, yymsp[-3].minor.yy600, yymsp[0].minor.yy600); } yymsp[-3].minor.yy600 = yylhsminor.yy600; break; - case 715: /* union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ + case 716: /* union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ { yylhsminor.yy600 = createSetOperator(pCxt, SET_OP_TYPE_UNION, yymsp[-2].minor.yy600, yymsp[0].minor.yy600); } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 724: /* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - case 728: /* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ yytestcase(yyruleno==728); + case 725: /* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + case 729: /* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ yytestcase(yyruleno==729); { yymsp[-3].minor.yy600 = createLimitNode(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } break; - case 725: /* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - case 729: /* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ yytestcase(yyruleno==729); + case 726: /* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + case 730: /* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ yytestcase(yyruleno==730); { yymsp[-3].minor.yy600 = createLimitNode(pCxt, &yymsp[0].minor.yy0, &yymsp[-2].minor.yy0); } break; - case 730: /* subquery ::= NK_LP query_expression NK_RP */ + case 731: /* subquery ::= NK_LP query_expression NK_RP */ { yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-1].minor.yy600); } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 735: /* sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ + case 736: /* sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ { yylhsminor.yy600 = createOrderByExprNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), yymsp[-1].minor.yy1010, yymsp[0].minor.yy273); } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 736: /* ordering_specification_opt ::= */ + case 737: /* ordering_specification_opt ::= */ { yymsp[1].minor.yy1010 = ORDER_ASC; } break; - case 737: /* ordering_specification_opt ::= ASC */ + case 738: /* ordering_specification_opt ::= ASC */ { yymsp[0].minor.yy1010 = ORDER_ASC; } break; - case 738: /* ordering_specification_opt ::= DESC */ + case 739: /* ordering_specification_opt ::= DESC */ { yymsp[0].minor.yy1010 = ORDER_DESC; } break; - case 739: /* null_ordering_opt ::= */ + case 740: /* null_ordering_opt ::= */ { yymsp[1].minor.yy273 = NULL_ORDER_DEFAULT; } break; - case 740: /* null_ordering_opt ::= NULLS FIRST */ + case 741: /* null_ordering_opt ::= NULLS FIRST */ { yymsp[-1].minor.yy273 = NULL_ORDER_FIRST; } break; - case 741: /* null_ordering_opt ::= NULLS LAST */ + case 742: /* null_ordering_opt ::= NULLS LAST */ { yymsp[-1].minor.yy273 = NULL_ORDER_LAST; } break; - case 744: /* column_options ::= column_options ENCODE NK_STRING */ + case 745: /* column_options ::= column_options ENCODE NK_STRING */ { yylhsminor.yy600 = setColumnOptions(pCxt, yymsp[-2].minor.yy600, COLUMN_OPTION_ENCODE, &yymsp[0].minor.yy0); } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 745: /* column_options ::= column_options COMPRESS NK_STRING */ + case 746: /* column_options ::= column_options COMPRESS NK_STRING */ { yylhsminor.yy600 = setColumnOptions(pCxt, yymsp[-2].minor.yy600, COLUMN_OPTION_COMPRESS, &yymsp[0].minor.yy0); } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; - case 746: /* column_options ::= column_options LEVEL NK_STRING */ + case 747: /* column_options ::= column_options LEVEL NK_STRING */ { yylhsminor.yy600 = setColumnOptions(pCxt, yymsp[-2].minor.yy600, COLUMN_OPTION_LEVEL, &yymsp[0].minor.yy0); } yymsp[-2].minor.yy600 = yylhsminor.yy600; break; @@ -7442,12 +7775,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 @@ -7503,14 +7880,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 @@ -7560,7 +7936,7 @@ void Parse( break; #endif } - }while( yypParser->yytos>yypParser->yystack ); + } #ifndef NDEBUG if( yyTraceFILE ){ yyStackEntry *i; diff --git a/source/libs/planner/src/planOptimizer.c b/source/libs/planner/src/planOptimizer.c index 1ec3e6192d..a2a0343316 100644 --- a/source/libs/planner/src/planOptimizer.c +++ b/source/libs/planner/src/planOptimizer.c @@ -246,11 +246,10 @@ static bool scanPathOptMayBeOptimized(SLogicNode* pNode) { static bool scanPathOptShouldGetFuncs(SLogicNode* pNode) { if (QUERY_NODE_LOGIC_PLAN_PARTITION == nodeType(pNode)) { - if (pNode->pParent && QUERY_NODE_LOGIC_PLAN_WINDOW == nodeType(pNode->pParent)) { - if (WINDOW_TYPE_INTERVAL == ((SWindowLogicNode*)pNode->pParent)->winType) return true; - } else { + if (!pNode->pParent || QUERY_NODE_LOGIC_PLAN_WINDOW != nodeType(pNode->pParent) || + WINDOW_TYPE_INTERVAL == ((SWindowLogicNode*)pNode->pParent)->winType) return !scanPathOptHaveNormalCol(((SPartitionLogicNode*)pNode)->pPartitionKeys); - } + return false; } if ((QUERY_NODE_LOGIC_PLAN_WINDOW == nodeType(pNode) && diff --git a/source/libs/stream/src/streamBackendRocksdb.c b/source/libs/stream/src/streamBackendRocksdb.c index 34312dab54..db13da5f3b 100644 --- a/source/libs/stream/src/streamBackendRocksdb.c +++ b/source/libs/stream/src/streamBackendRocksdb.c @@ -1588,7 +1588,7 @@ int32_t valueEncode(void* value, int32_t vlen, int64_t ttl, char** dest) { if (*dest == NULL) { size_t size = sizeof(key.unixTimestamp) + sizeof(key.len) + sizeof(key.rawLen) + sizeof(key.compress) + key.len; char* p = taosMemoryCalloc(1, size); - char* buf = p; + char* buf = p; len += taosEncodeFixedI64((void**)&buf, key.unixTimestamp); len += taosEncodeFixedI32((void**)&buf, key.len); len += taosEncodeFixedI32((void**)&buf, key.rawLen); @@ -2740,8 +2740,10 @@ int32_t streamStateGetGroupKVByCur_rocksdb(SStreamStateCur* pCur, SWinKey* pKey, if (pKey->groupId == groupId) { return 0; } - taosMemoryFree((void*)*pVal); - *pVal = NULL; + if (pVal != NULL) { + taosMemoryFree((void*)*pVal); + *pVal = NULL; + } } return -1; } diff --git a/source/libs/stream/src/tstreamFileState.c b/source/libs/stream/src/tstreamFileState.c index 82c36e6609..83de642e51 100644 --- a/source/libs/stream/src/tstreamFileState.c +++ b/source/libs/stream/src/tstreamFileState.c @@ -557,7 +557,6 @@ int32_t flushSnapshot(SStreamFileState* pFileState, SStreamSnapshot* pSnapshot, const int32_t BATCH_LIMIT = 256; int64_t st = taosGetTimestampMs(); - int32_t numOfElems = listNEles(pSnapshot); SListNode* pNode = NULL; int idx = streamStateGetCfIdx(pFileState->pFileStore, pFileState->cfName); @@ -589,8 +588,11 @@ int32_t flushSnapshot(SStreamFileState* pFileState, SStreamSnapshot* pSnapshot, } taosMemoryFree(buf); - if (streamStateGetBatchSize(batch) > 0) { + int32_t numOfElems = streamStateGetBatchSize(batch); + if (numOfElems > 0) { streamStatePutBatch_rocksdb(pFileState->pFileStore, batch); + } else { + goto _end; } streamStateClearBatch(batch); @@ -609,6 +611,7 @@ int32_t flushSnapshot(SStreamFileState* pFileState, SStreamSnapshot* pSnapshot, streamStatePutBatch_rocksdb(pFileState->pFileStore, batch); } +_end: streamStateDestroyBatch(batch); return code; } diff --git a/source/libs/transport/inc/transComm.h b/source/libs/transport/inc/transComm.h index e44a4ebac8..e62ca7d69a 100644 --- a/source/libs/transport/inc/transComm.h +++ b/source/libs/transport/inc/transComm.h @@ -302,8 +302,8 @@ int transClearBuffer(SConnBuffer* buf); int transDestroyBuffer(SConnBuffer* buf); int transAllocBuffer(SConnBuffer* connBuf, uv_buf_t* uvBuf); bool transReadComplete(SConnBuffer* connBuf); -int transResetBuffer(SConnBuffer* connBuf); -int transDumpFromBuffer(SConnBuffer* connBuf, char** buf); +int transResetBuffer(SConnBuffer* connBuf, int8_t resetBuf); +int transDumpFromBuffer(SConnBuffer* connBuf, char** buf, int8_t resetBuf); int transSetConnOption(uv_tcp_t* stream, int keepalive); diff --git a/source/libs/transport/src/transCli.c b/source/libs/transport/src/transCli.c index bfae9a7111..d0fb5cbfdb 100644 --- a/source/libs/transport/src/transCli.c +++ b/source/libs/transport/src/transCli.c @@ -382,13 +382,18 @@ void cliHandleResp(SCliConn* conn) { STransMsgHead* pHead = NULL; - int32_t msgLen = transDumpFromBuffer(&conn->readBuf, (char**)&pHead); + int8_t resetBuf = conn->status == ConnAcquire ? 0 : 1; + int32_t msgLen = transDumpFromBuffer(&conn->readBuf, (char**)&pHead, resetBuf); if (msgLen <= 0) { taosMemoryFree(pHead); tDebug("%s conn %p recv invalid packet ", CONN_GET_INST_LABEL(conn), conn); return; } + if (resetBuf == 0) { + tTrace("%s conn %p not reset read buf", transLabel(pTransInst), conn); + } + if (transDecompressMsg((char**)&pHead, msgLen) < 0) { tDebug("%s conn %p recv invalid packet, failed to decompress", CONN_GET_INST_LABEL(conn), conn); } diff --git a/source/libs/transport/src/transComm.c b/source/libs/transport/src/transComm.c index 6584814053..e894d73c59 100644 --- a/source/libs/transport/src/transComm.c +++ b/source/libs/transport/src/transComm.c @@ -126,7 +126,7 @@ int transClearBuffer(SConnBuffer* buf) { return 0; } -int transDumpFromBuffer(SConnBuffer* connBuf, char** buf) { +int transDumpFromBuffer(SConnBuffer* connBuf, char** buf, int8_t resetBuf) { static const int HEADSIZE = sizeof(STransMsgHead); SConnBuffer* p = connBuf; @@ -137,7 +137,7 @@ int transDumpFromBuffer(SConnBuffer* connBuf, char** buf) { if (total >= HEADSIZE && !p->invalid) { *buf = taosMemoryCalloc(1, total); memcpy(*buf, p->buf, total); - if (transResetBuffer(connBuf) < 0) { + if (transResetBuffer(connBuf, resetBuf) < 0) { return -1; } } else { @@ -146,7 +146,7 @@ int transDumpFromBuffer(SConnBuffer* connBuf, char** buf) { return total; } -int transResetBuffer(SConnBuffer* connBuf) { +int transResetBuffer(SConnBuffer* connBuf, int8_t resetBuf) { SConnBuffer* p = connBuf; if (p->total < p->len) { int left = p->len - p->total; @@ -159,8 +159,10 @@ int transResetBuffer(SConnBuffer* connBuf) { p->total = 0; p->len = 0; if (p->cap > BUFFER_CAP) { - p->cap = BUFFER_CAP; - p->buf = taosMemoryRealloc(p->buf, p->cap); + if (resetBuf) { + p->cap = BUFFER_CAP; + p->buf = taosMemoryRealloc(p->buf, p->cap); + } } } else { ASSERTS(0, "invalid read from sock buf"); diff --git a/source/libs/transport/src/transSvr.c b/source/libs/transport/src/transSvr.c index 21ad5be869..04f6ac8c95 100644 --- a/source/libs/transport/src/transSvr.c +++ b/source/libs/transport/src/transSvr.c @@ -342,11 +342,15 @@ static bool uvHandleReq(SSvrConn* pConn) { STransMsgHead* pHead = NULL; - int msgLen = transDumpFromBuffer(&pConn->readBuf, (char**)&pHead); + int8_t resetBuf = pConn->status == ConnAcquire ? 0 : 1; + int msgLen = transDumpFromBuffer(&pConn->readBuf, (char**)&pHead, resetBuf); if (msgLen <= 0) { tError("%s conn %p read invalid packet", transLabel(pTransInst), pConn); return false; } + if (resetBuf == 0) { + tTrace("%s conn %p not reset read buf", transLabel(pTransInst), pConn); + } if (transDecompressMsg((char**)&pHead, msgLen) < 0) { tError("%s conn %p recv invalid packet, failed to decompress", transLabel(pTransInst), pConn); @@ -676,7 +680,8 @@ static FORCE_INLINE void destroySmsg(SSvrMsg* smsg) { taosMemoryFree(smsg); } static FORCE_INLINE void destroySmsgWrapper(void* smsg, void* param) { destroySmsg((SSvrMsg*)smsg); } -static void destroyAllConn(SWorkThrd* pThrd) { + +static void destroyAllConn(SWorkThrd* pThrd) { tTrace("thread %p destroy all conn ", pThrd); while (!QUEUE_IS_EMPTY(&pThrd->conn)) { queue* h = QUEUE_HEAD(&pThrd->conn); diff --git a/tests/parallel_test/cases.task b/tests/parallel_test/cases.task index 39267b2a0e..7348b1fea0 100644 --- a/tests/parallel_test/cases.task +++ b/tests/parallel_test/cases.task @@ -11,7 +11,7 @@ # army-test # ,,y,army,./pytest.sh python3 ./test.py -f enterprise/multi-level/mlevel_basic.py -N 3 -L 3 -D 2 -,,y,army,./pytest.sh python3 ./test.py -f enterprise/s3/s3Basic.py -N 3 +,,n,army,python3 ./test.py -f enterprise/s3/s3Basic.py -N 3 ,,y,army,./pytest.sh python3 ./test.py -f community/cluster/snapshot.py -N 3 -L 3 -D 2 ,,y,army,./pytest.sh python3 ./test.py -f community/query/function/test_func_elapsed.py ,,y,army,./pytest.sh python3 ./test.py -f community/query/test_join.py diff --git a/tests/system-test/2-query/partition_by_col.py b/tests/system-test/2-query/partition_by_col.py index 549e2738be..ef88e88cbd 100644 --- a/tests/system-test/2-query/partition_by_col.py +++ b/tests/system-test/2-query/partition_by_col.py @@ -22,7 +22,7 @@ class TDTestCase: self.vgroups = 4 self.ctbNum = 10 self.rowsPerTbl = 10000 - self.duraion = '1h' + self.duraion = '1d' def init(self, conn, logSql, replicaVar=1): self.replicaVar = int(replicaVar) @@ -33,7 +33,7 @@ class TDTestCase: if dropFlag == 1: tsql.execute("drop database if exists %s"%(dbName)) - tsql.execute("create database if not exists %s vgroups %d replica %d duration %s"%(dbName, vgroups, replica, duration)) + tsql.execute("create database if not exists %s vgroups %d replica %d duration %s stt_trigger 1"%(dbName, vgroups, replica, duration)) tdLog.debug("complete to create database %s"%(dbName)) return @@ -266,11 +266,11 @@ class TDTestCase: #'select _wstart as ts, count(*), t1 as a, %s from meters partition by t1, %s interval(30m)' % (col_name, col_name), #'select _wstart as ts, count(*), t1 as a, %s from meters partition by t1, %s interval(1h)' % (col_name, col_name), - 'select _wstart as ts, count(*), %s as a, %s from meters partition by %s interval(1s)' % (col_name, col_name, col_name), + 'select _wstart as ts, count(*), %s as a, %s from meters partition by %s interval(30d)' % (col_name, col_name, col_name), #'select _wstart as ts, count(*), %s as a, %s from meters partition by %s interval(30s)' % (col_name, col_name, col_name), #'select _wstart as ts, count(*), %s as a, %s from meters partition by %s interval(1m)' % (col_name, col_name, col_name), #'select _wstart as ts, count(*), %s as a, %s from meters partition by %s interval(30m)' % (col_name, col_name, col_name), - #'select _wstart as ts, count(*), %s as a, %s from meters partition by %s interval(1h)' % (col_name, col_name, col_name), + 'select _wstart as ts, count(*), %s as a, %s from meters partition by %s interval(1h)' % (col_name, col_name, col_name), 'select _wstart as ts, count(*), tbname as a, %s from meters partition by %s, tbname interval(1s)' % (col_name, col_name), 'select _wstart as ts, count(*), t1 as a, %s from meters partition by %s, t1 interval(1s)' % (col_name, col_name), @@ -317,6 +317,7 @@ class TDTestCase: def run(self): self.prepareTestEnv() + tdSql.execute('flush database test') #time.sleep(99999999) self.test_sort_for_partition_hint() self.test_sort_for_partition_res() diff --git a/utils/tsim/src/simExe.c b/utils/tsim/src/simExe.c index 394b168b08..bea839057e 100644 --- a/utils/tsim/src/simExe.c +++ b/utils/tsim/src/simExe.c @@ -37,15 +37,15 @@ void simLogSql(char *sql, bool useSharp) { char *simParseHostName(char *varName) { static char hostName[140]; -//#ifdef WINDOWS -// hostName[0] = '\"'; -// taosGetFqdn(&hostName[1]); -// int strEndIndex = strlen(hostName); -// hostName[strEndIndex] = '\"'; -// hostName[strEndIndex + 1] = '\0'; -//#else + //#ifdef WINDOWS + // hostName[0] = '\"'; + // taosGetFqdn(&hostName[1]); + // int strEndIndex = strlen(hostName); + // hostName[strEndIndex] = '\"'; + // hostName[strEndIndex + 1] = '\0'; + //#else sprintf(hostName, "%s", "localhost"); -//#endif + //#endif return hostName; } @@ -276,12 +276,16 @@ int32_t simExecuteExpression(SScript *script, char *exp) { if (op1[0] == '=') { strcpy(simGetVariable(script, var1 + 1, var1Len - 1), t3); } else if (op1[0] == '<') { - val0 = atoi(t0); - val1 = atoi(t3); + int64_t val0 = atoll(t0); + int64_t val1 = atoll(t3); + // val0 = atoi(t0); + // val1 = atoi(t3); if (val0 >= val1) result = -1; } else if (op1[0] == '>') { - val0 = atoi(t0); - val1 = atoi(t3); + int64_t val0 = atoll(t0); + int64_t val1 = atoll(t3); + // val0 = atoi(t0); + // val1 = atoi(t3); if (val0 <= val1) result = -1; } } else { @@ -378,16 +382,14 @@ bool simExecuteRunBackCmd(SScript *script, char *option) { return true; } -void simReplaceDirSep (char *buf){ +void simReplaceDirSep(char *buf) { #ifdef WINDOWS - int i=0; - while(buf[i] != '\0') - { - if(buf[i] == '/') - { - buf[i] = '\\'; - } - i++; + int i = 0; + while (buf[i] != '\0') { + if (buf[i] == '/') { + buf[i] = '\\'; + } + i++; } #endif } @@ -505,7 +507,7 @@ bool simExecuteSystemContentCmd(SScript *script, char *option) { } bool simExecuteSetBIModeCmd(SScript *script, char *option) { - char buf[1024]; + char buf[1024]; simVisuallizeOption(script, option, buf); option = buf;