diff --git a/include/common/ttokendef.h b/include/common/ttokendef.h index 09408a9826..005a5c49b1 100644 --- a/include/common/ttokendef.h +++ b/include/common/ttokendef.h @@ -286,117 +286,118 @@ #define TK_FOR 268 #define TK_NOW 269 #define TK_TODAY 270 -#define TK_SUBSTR 271 -#define TK_SUBSTRING 272 -#define TK_BOTH 273 -#define TK_TRAILING 274 -#define TK_LEADING 275 -#define TK_TIMEZONE 276 -#define TK_CLIENT_VERSION 277 -#define TK_SERVER_VERSION 278 -#define TK_SERVER_STATUS 279 -#define TK_CURRENT_USER 280 -#define TK_PI 281 -#define TK_CASE 282 -#define TK_WHEN 283 -#define TK_THEN 284 -#define TK_ELSE 285 -#define TK_BETWEEN 286 -#define TK_IS 287 -#define TK_NK_LT 288 -#define TK_NK_GT 289 -#define TK_NK_LE 290 -#define TK_NK_GE 291 -#define TK_NK_NE 292 -#define TK_MATCH 293 -#define TK_NMATCH 294 -#define TK_CONTAINS 295 -#define TK_JOIN 296 -#define TK_INNER 297 -#define TK_LEFT 298 -#define TK_RIGHT 299 -#define TK_OUTER 300 -#define TK_SEMI 301 -#define TK_ANTI 302 -#define TK_ASOF 303 -#define TK_WINDOW 304 -#define TK_WINDOW_OFFSET 305 -#define TK_JLIMIT 306 -#define TK_SELECT 307 -#define TK_NK_HINT 308 -#define TK_DISTINCT 309 -#define TK_WHERE 310 -#define TK_PARTITION 311 -#define TK_BY 312 -#define TK_SESSION 313 -#define TK_STATE_WINDOW 314 -#define TK_EVENT_WINDOW 315 -#define TK_COUNT_WINDOW 316 -#define TK_SLIDING 317 -#define TK_FILL 318 -#define TK_VALUE 319 -#define TK_VALUE_F 320 -#define TK_NONE 321 -#define TK_PREV 322 -#define TK_NULL_F 323 -#define TK_LINEAR 324 -#define TK_NEXT 325 -#define TK_HAVING 326 -#define TK_RANGE 327 -#define TK_EVERY 328 -#define TK_ORDER 329 -#define TK_SLIMIT 330 -#define TK_SOFFSET 331 -#define TK_LIMIT 332 -#define TK_OFFSET 333 -#define TK_ASC 334 -#define TK_NULLS 335 -#define TK_ABORT 336 -#define TK_AFTER 337 -#define TK_ATTACH 338 -#define TK_BEFORE 339 -#define TK_BEGIN 340 -#define TK_BITAND 341 -#define TK_BITNOT 342 -#define TK_BITOR 343 -#define TK_BLOCKS 344 -#define TK_CHANGE 345 -#define TK_COMMA 346 -#define TK_CONCAT 347 -#define TK_CONFLICT 348 -#define TK_COPY 349 -#define TK_DEFERRED 350 -#define TK_DELIMITERS 351 -#define TK_DETACH 352 -#define TK_DIVIDE 353 -#define TK_DOT 354 -#define TK_EACH 355 -#define TK_FAIL 356 -#define TK_GLOB 357 -#define TK_ID 358 -#define TK_IMMEDIATE 359 -#define TK_IMPORT 360 -#define TK_INITIALLY 361 -#define TK_INSTEAD 362 -#define TK_ISNULL 363 -#define TK_MODULES 364 -#define TK_NK_BITNOT 365 -#define TK_NK_SEMI 366 -#define TK_NOTNULL 367 -#define TK_OF 368 -#define TK_PLUS 369 -#define TK_PRIVILEGE 370 -#define TK_RAISE 371 -#define TK_RESTRICT 372 -#define TK_ROW 373 -#define TK_STAR 374 -#define TK_STATEMENT 375 -#define TK_STRICT 376 -#define TK_STRING 377 -#define TK_TIMES 378 -#define TK_VALUES 379 -#define TK_VARIABLE 380 -#define TK_WAL 381 +#define TK_RAND 271 +#define TK_SUBSTR 272 +#define TK_SUBSTRING 273 +#define TK_BOTH 274 +#define TK_TRAILING 275 +#define TK_LEADING 276 +#define TK_TIMEZONE 277 +#define TK_CLIENT_VERSION 278 +#define TK_SERVER_VERSION 279 +#define TK_SERVER_STATUS 280 +#define TK_CURRENT_USER 281 +#define TK_PI 282 +#define TK_CASE 283 +#define TK_WHEN 284 +#define TK_THEN 285 +#define TK_ELSE 286 +#define TK_BETWEEN 287 +#define TK_IS 288 +#define TK_NK_LT 289 +#define TK_NK_GT 290 +#define TK_NK_LE 291 +#define TK_NK_GE 292 +#define TK_NK_NE 293 +#define TK_MATCH 294 +#define TK_NMATCH 295 +#define TK_CONTAINS 296 +#define TK_JOIN 297 +#define TK_INNER 298 +#define TK_LEFT 299 +#define TK_RIGHT 300 +#define TK_OUTER 301 +#define TK_SEMI 302 +#define TK_ANTI 303 +#define TK_ASOF 304 +#define TK_WINDOW 305 +#define TK_WINDOW_OFFSET 306 +#define TK_JLIMIT 307 +#define TK_SELECT 308 +#define TK_NK_HINT 309 +#define TK_DISTINCT 310 +#define TK_WHERE 311 +#define TK_PARTITION 312 +#define TK_BY 313 +#define TK_SESSION 314 +#define TK_STATE_WINDOW 315 +#define TK_EVENT_WINDOW 316 +#define TK_COUNT_WINDOW 317 +#define TK_SLIDING 318 +#define TK_FILL 319 +#define TK_VALUE 320 +#define TK_VALUE_F 321 +#define TK_NONE 322 +#define TK_PREV 323 +#define TK_NULL_F 324 +#define TK_LINEAR 325 +#define TK_NEXT 326 +#define TK_HAVING 327 +#define TK_RANGE 328 +#define TK_EVERY 329 +#define TK_ORDER 330 +#define TK_SLIMIT 331 +#define TK_SOFFSET 332 +#define TK_LIMIT 333 +#define TK_OFFSET 334 +#define TK_ASC 335 +#define TK_NULLS 336 +#define TK_ABORT 337 +#define TK_AFTER 338 +#define TK_ATTACH 339 +#define TK_BEFORE 340 +#define TK_BEGIN 341 +#define TK_BITAND 342 +#define TK_BITNOT 343 +#define TK_BITOR 344 +#define TK_BLOCKS 345 +#define TK_CHANGE 346 +#define TK_COMMA 347 +#define TK_CONCAT 348 +#define TK_CONFLICT 349 +#define TK_COPY 350 +#define TK_DEFERRED 351 +#define TK_DELIMITERS 352 +#define TK_DETACH 353 +#define TK_DIVIDE 354 +#define TK_DOT 355 +#define TK_EACH 356 +#define TK_FAIL 357 +#define TK_GLOB 358 +#define TK_ID 359 +#define TK_IMMEDIATE 360 +#define TK_IMPORT 361 +#define TK_INITIALLY 362 +#define TK_INSTEAD 363 +#define TK_ISNULL 364 +#define TK_MODULES 365 +#define TK_NK_BITNOT 366 +#define TK_NK_SEMI 367 +#define TK_NOTNULL 368 +#define TK_OF 369 +#define TK_PLUS 370 +#define TK_PRIVILEGE 371 +#define TK_RAISE 372 +#define TK_RESTRICT 373 +#define TK_ROW 374 +#define TK_STAR 375 +#define TK_STATEMENT 376 +#define TK_STRICT 377 +#define TK_STRING 378 +#define TK_TIMES 379 +#define TK_VALUES 380 +#define TK_VARIABLE 381 +#define TK_WAL 382 #define TK_NK_SPACE 600 #define TK_NK_COMMENT 601 diff --git a/include/libs/nodes/querynodes.h b/include/libs/nodes/querynodes.h index b1d8be2f0e..1b02203c07 100644 --- a/include/libs/nodes/querynodes.h +++ b/include/libs/nodes/querynodes.h @@ -191,6 +191,8 @@ typedef struct SFunctionNode { bool hasOriginalFunc; int32_t originalFuncId; ETrimType trimType; + bool hasSMA; + bool dual; // whether select stmt without from stmt, true for without. } SFunctionNode; typedef struct STableNode { diff --git a/include/libs/scalar/scalar.h b/include/libs/scalar/scalar.h index 70b44a4b52..b06b7c74c7 100644 --- a/include/libs/scalar/scalar.h +++ b/include/libs/scalar/scalar.h @@ -70,6 +70,7 @@ int32_t modFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam *pOutpu int32_t signFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam *pOutput); int32_t degreesFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam *pOutput); int32_t radiansFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam *pOutput); +int32_t randFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam *pOutput); /* String functions */ int32_t lengthFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam *pOutput); diff --git a/source/libs/function/inc/builtinsimpl.h b/source/libs/function/inc/builtinsimpl.h index 77d6bda35b..16f31321ce 100644 --- a/source/libs/function/inc/builtinsimpl.h +++ b/source/libs/function/inc/builtinsimpl.h @@ -38,6 +38,7 @@ typedef struct SSumRes { typedef struct SMinmaxResInfo { bool assign; // assign the first value or not int64_t v; + char *str; STuplePos tuplePos; STuplePos nullTuplePos; diff --git a/source/libs/function/inc/functionMgtInt.h b/source/libs/function/inc/functionMgtInt.h index 2c5c7725d5..a50562d78d 100644 --- a/source/libs/function/inc/functionMgtInt.h +++ b/source/libs/function/inc/functionMgtInt.h @@ -24,7 +24,7 @@ extern "C" { #define FUNCTION_NAME_MAX_LENGTH 32 -#define FUNC_MGT_FUNC_CLASSIFICATION_MASK(n) (1 << n) +#define FUNC_MGT_FUNC_CLASSIFICATION_MASK(n) ((uint64_t)1 << n) #define FUNC_MGT_AGG_FUNC FUNC_MGT_FUNC_CLASSIFICATION_MASK(0) #define FUNC_MGT_SCALAR_FUNC FUNC_MGT_FUNC_CLASSIFICATION_MASK(1) diff --git a/source/libs/function/src/builtins.c b/source/libs/function/src/builtins.c index f7a6585800..3ec63a6d34 100644 --- a/source/libs/function/src/builtins.c +++ b/source/libs/function/src/builtins.c @@ -271,6 +271,21 @@ static int32_t addUint8Param(SNodeList** pList, uint8_t param) { return TSDB_CODE_SUCCESS; } +static int32_t addPseudoParam(SNodeList** pList) { + SNode *pseudoNode = NULL; + int32_t code = nodesMakeNode(QUERY_NODE_LEFT_VALUE, &pseudoNode); + if (pseudoNode == NULL) { + return code; + } + + code = nodesListMakeAppend(pList, pseudoNode); + if (TSDB_CODE_SUCCESS != code) { + nodesDestroyNode(pseudoNode); + return code; + } + return TSDB_CODE_SUCCESS; +} + static SDataType* getSDataTypeFromNode(SNode* pNode) { if (pNode == NULL) return NULL; if (nodesIsExprNode(pNode)) { @@ -299,6 +314,25 @@ static int32_t translateInOutNum(SFunctionNode* pFunc, char* pErrBuf, int32_t le return TSDB_CODE_SUCCESS; } +// There is only one parameter of numeric type, and the return type is parameter type +static int32_t translateMinMax(SFunctionNode* pFunc, char* pErrBuf, int32_t len) { + if (1 != LIST_LENGTH(pFunc->pParameterList)) { + return invaildFuncParaNumErrMsg(pErrBuf, len, pFunc->functionName); + } + + SDataType* dataType = getSDataTypeFromNode(nodesListGetNode(pFunc->pParameterList, 0)); + uint8_t paraType = dataType->type; + if (!IS_NUMERIC_TYPE(paraType) && !IS_NULL_TYPE(paraType) && !IS_STR_DATA_TYPE(paraType)) { + return invaildFuncParaTypeErrMsg(pErrBuf, len, pFunc->functionName); + } else if (IS_NULL_TYPE(paraType)) { + paraType = TSDB_DATA_TYPE_BIGINT; + } + pFunc->hasSMA = !IS_VAR_DATA_TYPE(paraType); + int32_t bytes = IS_STR_DATA_TYPE(paraType) ? dataType->bytes : tDataTypes[paraType].bytes; + pFunc->node.resType = (SDataType){.bytes = bytes, .type = paraType}; + return TSDB_CODE_SUCCESS; +} + // There is only one parameter of numeric type, and the return type is double type static int32_t translateInNumOutDou(SFunctionNode* pFunc, char* pErrBuf, int32_t len) { if (1 != LIST_LENGTH(pFunc->pParameterList)) { @@ -579,6 +613,30 @@ static int32_t translatePi(SFunctionNode* pFunc, char* pErrBuf, int32_t len) { return TSDB_CODE_SUCCESS; } +static int32_t translateRand(SFunctionNode* pFunc, char* pErrBuf, int32_t len) { + if (0 != LIST_LENGTH(pFunc->pParameterList) && 1 != LIST_LENGTH(pFunc->pParameterList)) { + return invaildFuncParaNumErrMsg(pErrBuf, len, pFunc->functionName); + } + + if (1 == LIST_LENGTH(pFunc->pParameterList)) { + uint8_t paraType = getSDataTypeFromNode(nodesListGetNode(pFunc->pParameterList, 0))->type; + if (!IS_INTEGER_TYPE(paraType) && !IS_NULL_TYPE(paraType)) { + return invaildFuncParaTypeErrMsg(pErrBuf, len, pFunc->functionName); + } + } + + if (!pFunc->dual) { + int32_t code = addPseudoParam(&pFunc->pParameterList); + if (code != TSDB_CODE_SUCCESS) { + return code; + } + } + + pFunc->node.resType = + (SDataType){.bytes = tDataTypes[TSDB_DATA_TYPE_DOUBLE].bytes, .type = TSDB_DATA_TYPE_DOUBLE}; + return TSDB_CODE_SUCCESS; +} + static int32_t translateRound(SFunctionNode* pFunc, char* pErrBuf, int32_t len) { if (2 != LIST_LENGTH(pFunc->pParameterList) && 1 != LIST_LENGTH(pFunc->pParameterList)) { return invaildFuncParaNumErrMsg(pErrBuf, len, pFunc->functionName); @@ -2904,7 +2962,7 @@ const SBuiltinFuncDefinition funcMgtBuiltins[] = { .name = "min", .type = FUNCTION_TYPE_MIN, .classification = FUNC_MGT_AGG_FUNC | FUNC_MGT_SPECIAL_DATA_REQUIRED | FUNC_MGT_SELECT_FUNC | FUNC_MGT_IGNORE_NULL_FUNC | FUNC_MGT_TSMA_FUNC, - .translateFunc = translateInOutNum, + .translateFunc = translateMinMax, .dataRequiredFunc = statisDataRequired, .getEnvFunc = getMinmaxFuncEnv, .initFunc = minmaxFunctionSetup, @@ -2920,7 +2978,7 @@ const SBuiltinFuncDefinition funcMgtBuiltins[] = { .name = "max", .type = FUNCTION_TYPE_MAX, .classification = FUNC_MGT_AGG_FUNC | FUNC_MGT_SPECIAL_DATA_REQUIRED | FUNC_MGT_SELECT_FUNC | FUNC_MGT_IGNORE_NULL_FUNC | FUNC_MGT_TSMA_FUNC, - .translateFunc = translateInOutNum, + .translateFunc = translateMinMax, .dataRequiredFunc = statisDataRequired, .getEnvFunc = getMinmaxFuncEnv, .initFunc = minmaxFunctionSetup, @@ -4729,6 +4787,16 @@ const SBuiltinFuncDefinition funcMgtBuiltins[] = { .sprocessFunc = weekofyearFunction, .finalizeFunc = NULL }, + { + .name = "rand", + .type = FUNCTION_TYPE_RAND, + .classification = FUNC_MGT_SCALAR_FUNC, + .translateFunc = translateRand, + .getEnvFunc = NULL, + .initFunc = NULL, + .sprocessFunc = randFunction, + .finalizeFunc = NULL + }, }; // clang-format on diff --git a/source/libs/function/src/builtinsimpl.c b/source/libs/function/src/builtinsimpl.c index 665e92fd03..6d655528c7 100644 --- a/source/libs/function/src/builtinsimpl.c +++ b/source/libs/function/src/builtinsimpl.c @@ -1026,6 +1026,7 @@ int32_t minmaxFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo* pResultIn buf->nullTupleSaved = false; buf->nullTuplePos.pageId = -1; + buf->str = NULL; return TSDB_CODE_SUCCESS; } @@ -1101,11 +1102,21 @@ int32_t minmaxFunctionFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) { colDataSetFloat(pCol, currentRow, &v); break; } + case TSDB_DATA_TYPE_VARBINARY: + case TSDB_DATA_TYPE_VARCHAR: + case TSDB_DATA_TYPE_NCHAR: { + code = colDataSetVal(pCol, currentRow, pRes->str, false); + if (TSDB_CODE_SUCCESS != code) { + return code; + } + break; + } } } else { colDataSetNULL(pCol, currentRow); } + taosMemoryFreeClear(pRes->str); if (pCtx->subsidiaries.num > 0) { if (pEntryInfo->numOfRes > 0) { code = setSelectivityValue(pCtx, pBlock, &pRes->tuplePos, currentRow); diff --git a/source/libs/function/src/detail/tminmax.c b/source/libs/function/src/detail/tminmax.c index b316b7a512..608f3bf260 100644 --- a/source/libs/function/src/detail/tminmax.c +++ b/source/libs/function/src/detail/tminmax.c @@ -15,6 +15,7 @@ #include "builtinsimpl.h" #include "function.h" +#include "tcompare.h" #include "tdatablock.h" #include "tfunctionInt.h" #include "tglobal.h" @@ -365,10 +366,10 @@ static double doubleVectorCmpAVX(const double* pData, int32_t numOfRows, bool is return v; } -static int32_t findFirstValPosition(const SColumnInfoData* pCol, int32_t start, int32_t numOfRows) { +static int32_t findFirstValPosition(const SColumnInfoData* pCol, int32_t start, int32_t numOfRows, bool isStr) { int32_t i = start; - while (i < (start + numOfRows) && (colDataIsNull_f(pCol->nullbitmap, i) == true)) { + while (i < (start + numOfRows) && (isStr ? colDataIsNull_s(pCol, i) : colDataIsNull_f(pCol->nullbitmap, i) == true)) { i += 1; } @@ -643,6 +644,52 @@ static int32_t doExtractVal(SColumnInfoData* pCol, int32_t i, int32_t end, SqlFu __COMPARE_ACQUIRED_MIN(i, end, pCol->nullbitmap, pData, pCtx, *(double*)&(pBuf->v), &pBuf->tuplePos) break; } + + case TSDB_DATA_TYPE_VARCHAR: + case TSDB_DATA_TYPE_VARBINARY: { + int32_t code = TSDB_CODE_SUCCESS; + for (; i < (end); ++i) { + if (colDataIsNull_var(pCol, i)) { + continue; + } + char *pLeft = (char *)colDataGetData(pCol, i); + char *pRight = (char *)pBuf->str; + + int32_t ret = compareLenBinaryVal(pLeft, pRight); + if (ret < 0) { + memcpy(pBuf->str, pLeft, varDataTLen(pLeft)); + if (pCtx->subsidiaries.num > 0) { + code = updateTupleData(pCtx, i, pCtx->pSrcBlock, &pBuf->tuplePos); + if (TSDB_CODE_SUCCESS != code) { + return code; + } + } + } + } + break; + } + case TSDB_DATA_TYPE_NCHAR: { + int32_t code = TSDB_CODE_SUCCESS; + for (; i < (end); ++i) { + if (colDataIsNull_var(pCol, i)) { + continue; + } + char *pLeft = (char *)colDataGetData(pCol, i); + char *pRight = (char *)pBuf->str; + + int32_t ret = compareLenPrefixedWStr(pLeft, pRight); + if (ret < 0) { + memcpy(pBuf->str, pLeft, varDataTLen(pLeft)); + if (pCtx->subsidiaries.num > 0) { + code = updateTupleData(pCtx, i, pCtx->pSrcBlock, &pBuf->tuplePos); + if (TSDB_CODE_SUCCESS != code) { + return code; + } + } + } + } + break; + } } } else { switch (pCol->info.type) { @@ -706,6 +753,53 @@ static int32_t doExtractVal(SColumnInfoData* pCol, int32_t i, int32_t end, SqlFu __COMPARE_ACQUIRED_MAX(i, end, pCol->nullbitmap, pData, pCtx, *(double*)&(pBuf->v), &pBuf->tuplePos) break; } + + case TSDB_DATA_TYPE_VARCHAR: + case TSDB_DATA_TYPE_VARBINARY: { + int32_t code = TSDB_CODE_SUCCESS; + for (; i < (end); ++i) { + if (colDataIsNull_var(pCol, i)) { + continue; + } + char *pLeft = (char *)colDataGetData(pCol, i); + char *pRight = (char *)pBuf->str; + + int32_t ret = compareLenBinaryVal(pLeft, pRight); + if (ret > 0) { + memcpy(pBuf->str, pLeft, varDataTLen(pLeft)); + if (pCtx->subsidiaries.num > 0) { + code = updateTupleData(pCtx, i, pCtx->pSrcBlock, &pBuf->tuplePos); + if (TSDB_CODE_SUCCESS != code) { + return code; + } + } + } + } + break; + } + + case TSDB_DATA_TYPE_NCHAR: { + int32_t code = TSDB_CODE_SUCCESS; + for (; i < (end); ++i) { + if (colDataIsNull_var(pCol, i)) { + continue; + } + char *pLeft = (char *)colDataGetData(pCol, i); + char *pRight = (char *)pBuf->str; + + int32_t ret = compareLenPrefixedWStr(pLeft, pRight); + if (ret > 0) { + memcpy(pBuf->str, pLeft, varDataTLen(pLeft)); + if (pCtx->subsidiaries.num > 0) { + code = updateTupleData(pCtx, i, pCtx->pSrcBlock, &pBuf->tuplePos); + if (TSDB_CODE_SUCCESS != code) { + return code; + } + } + } + } + break; + } } } return TSDB_CODE_SUCCESS; @@ -743,7 +837,7 @@ int32_t doMinMaxHelper(SqlFunctionCtx* pCtx, int32_t isMinFunc, int32_t* nElems) } // data in current data block are qualified to the query - if (pInput->colDataSMAIsSet) { + if (pInput->colDataSMAIsSet && !IS_STR_DATA_TYPE(type)) { numOfElems = pInput->numOfRows - pAgg->numOfNull; if (numOfElems == 0) { @@ -820,7 +914,7 @@ int32_t doMinMaxHelper(SqlFunctionCtx* pCtx, int32_t isMinFunc, int32_t* nElems) // clang-format on if (pCol->hasNull || numOfRows < threshold[pCol->info.type] || pCtx->subsidiaries.num > 0) { - int32_t i = findFirstValPosition(pCol, start, numOfRows); + int32_t i = findFirstValPosition(pCol, start, numOfRows, IS_STR_DATA_TYPE(type)); if ((i < end) && (!pBuf->assign)) { char* p = pCol->pData + pCol->info.bytes * i; @@ -848,6 +942,16 @@ int32_t doMinMaxHelper(SqlFunctionCtx* pCtx, int32_t isMinFunc, int32_t* nElems) *(float*)&pBuf->v = *(float*)p; break; } + case TSDB_DATA_TYPE_VARCHAR: + case TSDB_DATA_TYPE_VARBINARY: + case TSDB_DATA_TYPE_NCHAR: { + pBuf->str = taosMemoryMalloc(pCol->info.bytes); + if (pBuf->str == NULL) { + return TSDB_CODE_OUT_OF_MEMORY; + } + (void)memcpy(pBuf->str, colDataGetData(pCol, i), varDataTLen(colDataGetData(pCol, i))); + break; + } default: (void)memcpy(&pBuf->v, p, pCol->info.bytes); break; diff --git a/source/libs/parser/inc/parTranslater.h b/source/libs/parser/inc/parTranslater.h index 99e303e51c..93d6645e12 100644 --- a/source/libs/parser/inc/parTranslater.h +++ b/source/libs/parser/inc/parTranslater.h @@ -45,6 +45,7 @@ typedef struct STranslateContext { bool showRewrite; SNode* pPrevRoot; SNode* pPostRoot; + bool dual; // whether select stmt without from stmt, true for without. } STranslateContext; int32_t biRewriteToTbnameFunc(STranslateContext* pCxt, SNode** ppNode, bool* pRet); diff --git a/source/libs/parser/inc/sql.y b/source/libs/parser/inc/sql.y index f2a3692f78..4e53747e5b 100644 --- a/source/libs/parser/inc/sql.y +++ b/source/libs/parser/inc/sql.y @@ -1207,11 +1207,15 @@ function_expression(A) ::= substr_func(B) NK_LP expr_or_subquery(C) FROM expr_or_subquery(D) FOR expr_or_subquery(E) NK_RP(F). { A = createRawExprNodeExt(pCxt, &B, &F, createSubstrFunctionNodeExt(pCxt, releaseRawExprNode(pCxt, C), releaseRawExprNode(pCxt, D), releaseRawExprNode(pCxt, E))); } function_expression(A) ::= REPLACE(B) NK_LP expression_list(C) NK_RP(D). { A = createRawExprNodeExt(pCxt, &B, &D, createFunctionNode(pCxt, &B, C)); } function_expression(A) ::= literal_func(B). { A = B; } +function_expression(A) ::= rand_func(B). { A = B; } literal_func(A) ::= noarg_func(B) NK_LP NK_RP(C). { A = createRawExprNodeExt(pCxt, &B, &C, createFunctionNode(pCxt, &B, NULL)); } literal_func(A) ::= NOW(B). { A = createRawExprNode(pCxt, &B, createFunctionNode(pCxt, &B, NULL)); } literal_func(A) ::= TODAY(B). { A = createRawExprNode(pCxt, &B, createFunctionNode(pCxt, &B, NULL)); } +rand_func(A) ::= RAND(B) NK_LP NK_RP(C). { A = createRawExprNodeExt(pCxt, &B, &C, createFunctionNode(pCxt, &B, NULL)); } +rand_func(A) ::= RAND(B) NK_LP expression_list(C) NK_RP(D). { A = createRawExprNodeExt(pCxt, &B, &D, createFunctionNode(pCxt, &B, C)); } + %type substr_func { SToken } %destructor substr_func { } substr_func(A) ::= SUBSTR(B). { A = B; } diff --git a/source/libs/parser/src/parTokenizer.c b/source/libs/parser/src/parTokenizer.c index 7422e86345..5857093cec 100644 --- a/source/libs/parser/src/parTokenizer.c +++ b/source/libs/parser/src/parTokenizer.c @@ -206,6 +206,7 @@ static SKeyword keywordTable[] = { {"QUERIES", TK_QUERIES}, {"QUERY", TK_QUERY}, {"PI", TK_PI}, + {"RAND", TK_RAND}, {"RANGE", TK_RANGE}, {"RATIO", TK_RATIO}, {"PAUSE", TK_PAUSE}, diff --git a/source/libs/parser/src/parTranslater.c b/source/libs/parser/src/parTranslater.c index 62943cb6d5..a0b8c13e58 100755 --- a/source/libs/parser/src/parTranslater.c +++ b/source/libs/parser/src/parTranslater.c @@ -2307,6 +2307,7 @@ static bool hasInvalidFuncNesting(SNodeList* pParameterList) { static int32_t getFuncInfo(STranslateContext* pCxt, SFunctionNode* pFunc) { // the time precision of the function execution environment + pFunc->dual = pCxt->dual; pFunc->node.resType.precision = getPrecisionFromCurrStmt(pCxt->pCurrStmt, TSDB_TIME_PRECISION_MILLI); int32_t code = fmGetFuncInfo(pFunc, pCxt->msgBuf.buf, pCxt->msgBuf.len); if (TSDB_CODE_FUNC_NOT_BUILTIN_FUNTION == code) { @@ -6696,11 +6697,13 @@ static int32_t replaceOrderByAliasForSelect(STranslateContext* pCxt, SSelectStmt static int32_t translateSelectWithoutFrom(STranslateContext* pCxt, SSelectStmt* pSelect) { pCxt->pCurrStmt = (SNode*)pSelect; pCxt->currClause = SQL_CLAUSE_SELECT; + pCxt->dual = true; return translateExprList(pCxt, pSelect->pProjectionList); } static int32_t translateSelectFrom(STranslateContext* pCxt, SSelectStmt* pSelect) { pCxt->pCurrStmt = (SNode*)pSelect; + pCxt->dual = false; int32_t code = translateFrom(pCxt, &pSelect->pFromTable); if (TSDB_CODE_SUCCESS == code) { pSelect->precision = ((STableNode*)pSelect->pFromTable)->precision; diff --git a/source/libs/parser/src/sql.c b/source/libs/parser/src/sql.c index b694a502da..47a43f1485 100644 --- a/source/libs/parser/src/sql.c +++ b/source/libs/parser/src/sql.c @@ -315,117 +315,118 @@ #define TK_FOR 268 #define TK_NOW 269 #define TK_TODAY 270 -#define TK_SUBSTR 271 -#define TK_SUBSTRING 272 -#define TK_BOTH 273 -#define TK_TRAILING 274 -#define TK_LEADING 275 -#define TK_TIMEZONE 276 -#define TK_CLIENT_VERSION 277 -#define TK_SERVER_VERSION 278 -#define TK_SERVER_STATUS 279 -#define TK_CURRENT_USER 280 -#define TK_PI 281 -#define TK_CASE 282 -#define TK_WHEN 283 -#define TK_THEN 284 -#define TK_ELSE 285 -#define TK_BETWEEN 286 -#define TK_IS 287 -#define TK_NK_LT 288 -#define TK_NK_GT 289 -#define TK_NK_LE 290 -#define TK_NK_GE 291 -#define TK_NK_NE 292 -#define TK_MATCH 293 -#define TK_NMATCH 294 -#define TK_CONTAINS 295 -#define TK_JOIN 296 -#define TK_INNER 297 -#define TK_LEFT 298 -#define TK_RIGHT 299 -#define TK_OUTER 300 -#define TK_SEMI 301 -#define TK_ANTI 302 -#define TK_ASOF 303 -#define TK_WINDOW 304 -#define TK_WINDOW_OFFSET 305 -#define TK_JLIMIT 306 -#define TK_SELECT 307 -#define TK_NK_HINT 308 -#define TK_DISTINCT 309 -#define TK_WHERE 310 -#define TK_PARTITION 311 -#define TK_BY 312 -#define TK_SESSION 313 -#define TK_STATE_WINDOW 314 -#define TK_EVENT_WINDOW 315 -#define TK_COUNT_WINDOW 316 -#define TK_SLIDING 317 -#define TK_FILL 318 -#define TK_VALUE 319 -#define TK_VALUE_F 320 -#define TK_NONE 321 -#define TK_PREV 322 -#define TK_NULL_F 323 -#define TK_LINEAR 324 -#define TK_NEXT 325 -#define TK_HAVING 326 -#define TK_RANGE 327 -#define TK_EVERY 328 -#define TK_ORDER 329 -#define TK_SLIMIT 330 -#define TK_SOFFSET 331 -#define TK_LIMIT 332 -#define TK_OFFSET 333 -#define TK_ASC 334 -#define TK_NULLS 335 -#define TK_ABORT 336 -#define TK_AFTER 337 -#define TK_ATTACH 338 -#define TK_BEFORE 339 -#define TK_BEGIN 340 -#define TK_BITAND 341 -#define TK_BITNOT 342 -#define TK_BITOR 343 -#define TK_BLOCKS 344 -#define TK_CHANGE 345 -#define TK_COMMA 346 -#define TK_CONCAT 347 -#define TK_CONFLICT 348 -#define TK_COPY 349 -#define TK_DEFERRED 350 -#define TK_DELIMITERS 351 -#define TK_DETACH 352 -#define TK_DIVIDE 353 -#define TK_DOT 354 -#define TK_EACH 355 -#define TK_FAIL 356 -#define TK_GLOB 357 -#define TK_ID 358 -#define TK_IMMEDIATE 359 -#define TK_IMPORT 360 -#define TK_INITIALLY 361 -#define TK_INSTEAD 362 -#define TK_ISNULL 363 -#define TK_MODULES 364 -#define TK_NK_BITNOT 365 -#define TK_NK_SEMI 366 -#define TK_NOTNULL 367 -#define TK_OF 368 -#define TK_PLUS 369 -#define TK_PRIVILEGE 370 -#define TK_RAISE 371 -#define TK_RESTRICT 372 -#define TK_ROW 373 -#define TK_STAR 374 -#define TK_STATEMENT 375 -#define TK_STRICT 376 -#define TK_STRING 377 -#define TK_TIMES 378 -#define TK_VALUES 379 -#define TK_VARIABLE 380 -#define TK_WAL 381 +#define TK_RAND 271 +#define TK_SUBSTR 272 +#define TK_SUBSTRING 273 +#define TK_BOTH 274 +#define TK_TRAILING 275 +#define TK_LEADING 276 +#define TK_TIMEZONE 277 +#define TK_CLIENT_VERSION 278 +#define TK_SERVER_VERSION 279 +#define TK_SERVER_STATUS 280 +#define TK_CURRENT_USER 281 +#define TK_PI 282 +#define TK_CASE 283 +#define TK_WHEN 284 +#define TK_THEN 285 +#define TK_ELSE 286 +#define TK_BETWEEN 287 +#define TK_IS 288 +#define TK_NK_LT 289 +#define TK_NK_GT 290 +#define TK_NK_LE 291 +#define TK_NK_GE 292 +#define TK_NK_NE 293 +#define TK_MATCH 294 +#define TK_NMATCH 295 +#define TK_CONTAINS 296 +#define TK_JOIN 297 +#define TK_INNER 298 +#define TK_LEFT 299 +#define TK_RIGHT 300 +#define TK_OUTER 301 +#define TK_SEMI 302 +#define TK_ANTI 303 +#define TK_ASOF 304 +#define TK_WINDOW 305 +#define TK_WINDOW_OFFSET 306 +#define TK_JLIMIT 307 +#define TK_SELECT 308 +#define TK_NK_HINT 309 +#define TK_DISTINCT 310 +#define TK_WHERE 311 +#define TK_PARTITION 312 +#define TK_BY 313 +#define TK_SESSION 314 +#define TK_STATE_WINDOW 315 +#define TK_EVENT_WINDOW 316 +#define TK_COUNT_WINDOW 317 +#define TK_SLIDING 318 +#define TK_FILL 319 +#define TK_VALUE 320 +#define TK_VALUE_F 321 +#define TK_NONE 322 +#define TK_PREV 323 +#define TK_NULL_F 324 +#define TK_LINEAR 325 +#define TK_NEXT 326 +#define TK_HAVING 327 +#define TK_RANGE 328 +#define TK_EVERY 329 +#define TK_ORDER 330 +#define TK_SLIMIT 331 +#define TK_SOFFSET 332 +#define TK_LIMIT 333 +#define TK_OFFSET 334 +#define TK_ASC 335 +#define TK_NULLS 336 +#define TK_ABORT 337 +#define TK_AFTER 338 +#define TK_ATTACH 339 +#define TK_BEFORE 340 +#define TK_BEGIN 341 +#define TK_BITAND 342 +#define TK_BITNOT 343 +#define TK_BITOR 344 +#define TK_BLOCKS 345 +#define TK_CHANGE 346 +#define TK_COMMA 347 +#define TK_CONCAT 348 +#define TK_CONFLICT 349 +#define TK_COPY 350 +#define TK_DEFERRED 351 +#define TK_DELIMITERS 352 +#define TK_DETACH 353 +#define TK_DIVIDE 354 +#define TK_DOT 355 +#define TK_EACH 356 +#define TK_FAIL 357 +#define TK_GLOB 358 +#define TK_ID 359 +#define TK_IMMEDIATE 360 +#define TK_IMPORT 361 +#define TK_INITIALLY 362 +#define TK_INSTEAD 363 +#define TK_ISNULL 364 +#define TK_MODULES 365 +#define TK_NK_BITNOT 366 +#define TK_NK_SEMI 367 +#define TK_NOTNULL 368 +#define TK_OF 369 +#define TK_PLUS 370 +#define TK_PRIVILEGE 371 +#define TK_RAISE 372 +#define TK_RESTRICT 373 +#define TK_ROW 374 +#define TK_STAR 375 +#define TK_STATEMENT 376 +#define TK_STRICT 377 +#define TK_STRING 378 +#define TK_TIMES 379 +#define TK_VALUES 380 +#define TK_VARIABLE 381 +#define TK_WAL 382 #endif /**************** End token definitions ***************************************/ @@ -490,31 +491,31 @@ #endif /************* Begin control #defines *****************************************/ #define YYCODETYPE unsigned short int -#define YYNOCODE 564 +#define YYNOCODE 566 #define YYACTIONTYPE unsigned short int #define ParseTOKENTYPE SToken typedef union { int yyinit; ParseTOKENTYPE yy0; - ETrimType yy72; - bool yy89; - SNode* yy248; - SShowTablesOption yy373; - SToken yy401; - EOrder yy482; - int64_t yy525; - EJoinSubType yy582; - EFillMode yy583; - int32_t yy604; - SAlterOption yy677; - int8_t yy695; - EOperatorType yy716; - ENullOrder yy721; - EJoinType yy804; - SNodeList* yy928; - SDataType yy976; - STokenPair yy1041; - EShowKind yy1042; + EFillMode yy58; + int8_t yy107; + int64_t yy145; + EOperatorType yy164; + ENullOrder yy417; + bool yy429; + SToken yy461; + STokenPair yy517; + SAlterOption yy533; + int32_t yy696; + SNodeList* yy712; + SNode* yy724; + EOrder yy746; + ETrimType yy796; + EJoinSubType yy798; + SShowTablesOption yy801; + EJoinType yy916; + EShowKind yy973; + SDataType yy1016; } YYMINORTYPE; #ifndef YYSTACKDEPTH #define YYSTACKDEPTH 100 @@ -533,20 +534,20 @@ typedef union { #define ParseCTX_FETCH #define ParseCTX_STORE #define YYFALLBACK 1 -#define YYNSTATE 1004 -#define YYNRULE 768 -#define YYNRULE_WITH_ACTION 768 -#define YYNTOKEN 382 -#define YY_MAX_SHIFT 1003 -#define YY_MIN_SHIFTREDUCE 1486 -#define YY_MAX_SHIFTREDUCE 2253 -#define YY_ERROR_ACTION 2254 -#define YY_ACCEPT_ACTION 2255 -#define YY_NO_ACTION 2256 -#define YY_MIN_REDUCE 2257 -#define YY_MAX_REDUCE 3024 -#define YY_MIN_DSTRCTR 383 -#define YY_MAX_DSTRCTR 563 +#define YYNSTATE 1007 +#define YYNRULE 771 +#define YYNRULE_WITH_ACTION 771 +#define YYNTOKEN 383 +#define YY_MAX_SHIFT 1006 +#define YY_MIN_SHIFTREDUCE 1492 +#define YY_MAX_SHIFTREDUCE 2262 +#define YY_ERROR_ACTION 2263 +#define YY_ACCEPT_ACTION 2264 +#define YY_NO_ACTION 2265 +#define YY_MIN_REDUCE 2266 +#define YY_MAX_REDUCE 3036 +#define YY_MIN_DSTRCTR 384 +#define YY_MAX_DSTRCTR 565 /************* End control #defines *******************************************/ #define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0]))) @@ -629,1125 +630,1198 @@ typedef union { ** yy_default[] Default action for each state. ** *********** Begin parsing tables **********************************************/ -#define YY_ACTTAB_COUNT (4102) +#define YY_ACTTAB_COUNT (4470) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 821, 670, 2997, 678, 671, 2305, 671, 2305, 2992, 2469, - /* 10 */ 2992, 954, 58, 56, 2424, 57, 55, 54, 53, 52, - /* 20 */ 498, 2258, 1978, 2620, 399, 461, 820, 229, 2502, 2996, - /* 30 */ 218, 2993, 822, 2993, 2995, 502, 1976, 491, 2080, 2349, - /* 40 */ 218, 2787, 149, 2617, 882, 148, 147, 146, 145, 144, - /* 50 */ 143, 142, 141, 140, 895, 895, 836, 2593, 51, 50, - /* 60 */ 833, 168, 57, 55, 54, 53, 52, 2593, 2075, 149, - /* 70 */ 767, 865, 148, 147, 146, 145, 144, 143, 142, 141, - /* 80 */ 140, 218, 1984, 51, 50, 2805, 757, 57, 55, 54, - /* 90 */ 53, 52, 51, 50, 2003, 2007, 57, 55, 54, 53, - /* 100 */ 52, 2752, 751, 877, 755, 753, 299, 298, 2594, 690, - /* 110 */ 520, 771, 1000, 2518, 2520, 59, 971, 970, 969, 968, - /* 120 */ 528, 249, 967, 966, 173, 961, 960, 959, 958, 957, - /* 130 */ 956, 955, 172, 949, 948, 947, 527, 526, 944, 943, - /* 140 */ 942, 209, 208, 941, 523, 940, 939, 938, 2786, 61, - /* 150 */ 61, 2834, 2083, 2084, 810, 132, 2788, 881, 2790, 2791, - /* 160 */ 876, 2456, 2745, 864, 900, 515, 2216, 105, 2607, 211, - /* 170 */ 691, 2894, 104, 51, 50, 493, 2890, 57, 55, 54, - /* 180 */ 53, 52, 2787, 2805, 205, 2902, 832, 2620, 160, 831, - /* 190 */ 195, 2039, 2049, 680, 2659, 230, 2992, 878, 2398, 111, - /* 200 */ 2060, 2082, 2085, 2941, 2257, 51, 50, 2618, 882, 57, - /* 210 */ 55, 54, 53, 52, 820, 229, 1979, 464, 1977, 2993, - /* 220 */ 822, 895, 9, 863, 504, 504, 2805, 2460, 158, 157, - /* 230 */ 156, 155, 154, 153, 152, 151, 150, 900, 900, 103, - /* 240 */ 453, 73, 2752, 2255, 877, 935, 185, 184, 932, 931, - /* 250 */ 930, 182, 1982, 1983, 2036, 809, 2038, 2041, 2042, 2043, - /* 260 */ 2044, 2045, 2046, 2047, 2048, 873, 866, 811, 225, 898, - /* 270 */ 897, 2067, 2068, 2069, 2070, 2071, 2074, 2076, 2077, 2078, - /* 280 */ 2079, 2081, 2, 58, 56, 2172, 2696, 2787, 895, 2786, - /* 290 */ 2110, 498, 2834, 1978, 582, 2589, 132, 2788, 881, 2790, - /* 300 */ 2791, 876, 875, 770, 864, 900, 573, 1976, 170, 2080, - /* 310 */ 179, 2865, 2894, 2188, 2620, 2746, 493, 2890, 51, 50, - /* 320 */ 833, 168, 57, 55, 54, 53, 52, 868, 500, 2008, - /* 330 */ 675, 2805, 531, 2147, 2617, 882, 672, 530, 867, 2075, - /* 340 */ 538, 335, 865, 33, 2003, 686, 19, 2752, 245, 877, - /* 350 */ 2997, 193, 44, 1984, 1531, 2111, 635, 633, 2992, 436, - /* 360 */ 518, 2467, 243, 2004, 51, 50, 58, 56, 57, 55, - /* 370 */ 54, 53, 52, 1538, 498, 720, 1978, 2996, 504, 719, - /* 380 */ 2004, 2993, 2994, 1000, 2545, 125, 15, 2280, 787, 265, - /* 390 */ 1976, 900, 2080, 673, 2786, 2313, 2992, 2834, 1533, 1536, - /* 400 */ 1537, 431, 2788, 881, 2790, 2791, 876, 874, 2112, 864, - /* 410 */ 900, 856, 2859, 2352, 2998, 229, 2147, 43, 351, 2993, - /* 420 */ 822, 2562, 2075, 2083, 2084, 865, 2217, 77, 39, 19, - /* 430 */ 689, 2003, 2116, 335, 51, 50, 1984, 2147, 57, 55, - /* 440 */ 54, 53, 52, 835, 198, 2902, 2903, 2752, 166, 2907, - /* 450 */ 2997, 42, 495, 2105, 2106, 2107, 2108, 2109, 2113, 2114, - /* 460 */ 2115, 124, 2039, 2049, 267, 2176, 1000, 2006, 673, 15, - /* 470 */ 2313, 2003, 2082, 2085, 2914, 2144, 2145, 2146, 2914, 2914, - /* 480 */ 2914, 2914, 2914, 193, 1558, 2117, 1557, 1979, 2458, 1977, - /* 490 */ 737, 736, 735, 2468, 863, 1750, 1751, 727, 165, 731, - /* 500 */ 164, 2036, 2439, 730, 40, 903, 2083, 2084, 729, 734, - /* 510 */ 473, 472, 1851, 1852, 728, 1824, 1825, 693, 471, 724, - /* 520 */ 723, 722, 1559, 1982, 1983, 2036, 73, 2038, 2041, 2042, - /* 530 */ 2043, 2044, 2045, 2046, 2047, 2048, 873, 866, 73, 612, - /* 540 */ 898, 897, 2067, 2068, 2279, 2039, 2049, 2074, 2076, 2077, - /* 550 */ 2078, 2079, 2081, 2, 611, 2082, 2085, 1661, 2144, 2145, - /* 560 */ 2146, 1850, 1853, 2240, 2247, 444, 443, 896, 2465, 771, - /* 570 */ 1979, 1660, 1977, 896, 2465, 505, 937, 863, 2914, 2144, - /* 580 */ 2145, 2146, 2914, 2914, 2914, 2914, 2914, 522, 951, 514, - /* 590 */ 2525, 2080, 610, 234, 937, 51, 50, 609, 459, 57, - /* 600 */ 55, 54, 53, 52, 2752, 608, 1982, 1983, 2036, 2523, - /* 610 */ 2038, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 873, - /* 620 */ 866, 2075, 687, 898, 897, 2067, 2068, 62, 285, 2705, - /* 630 */ 2074, 2076, 2077, 2078, 2079, 2081, 2, 12, 58, 56, - /* 640 */ 333, 203, 2040, 328, 204, 222, 498, 640, 1978, 1665, - /* 650 */ 1711, 773, 2659, 710, 706, 702, 698, 953, 284, 525, - /* 660 */ 524, 2512, 1976, 1664, 2080, 1702, 927, 926, 925, 1706, - /* 670 */ 924, 1708, 1709, 923, 920, 95, 1717, 917, 1719, 1720, - /* 680 */ 914, 911, 908, 1985, 768, 787, 688, 2613, 821, 2091, - /* 690 */ 2246, 2525, 171, 2992, 2075, 2003, 2992, 865, 303, 489, - /* 700 */ 12, 19, 2457, 2056, 112, 2037, 1984, 2762, 1984, 282, - /* 710 */ 2523, 2998, 229, 904, 820, 229, 2993, 822, 335, 2993, - /* 720 */ 822, 58, 56, 2086, 2149, 2150, 2151, 2152, 2153, 498, - /* 730 */ 335, 1978, 392, 1711, 510, 196, 2766, 2269, 1000, 642, - /* 740 */ 2205, 15, 2278, 588, 2589, 1976, 2762, 2080, 1702, 927, - /* 750 */ 926, 925, 1706, 924, 1708, 1709, 872, 871, 928, 1717, - /* 760 */ 870, 1719, 1720, 869, 911, 908, 619, 2589, 1558, 1969, - /* 770 */ 1557, 1945, 786, 470, 468, 2766, 270, 2075, 2083, 2084, - /* 780 */ 865, 896, 2465, 1905, 1906, 281, 2768, 2770, 494, 272, - /* 790 */ 279, 1984, 479, 2667, 385, 277, 684, 247, 2454, 900, - /* 800 */ 513, 66, 2752, 507, 506, 1970, 1559, 803, 802, 2203, - /* 810 */ 2204, 2206, 2207, 2208, 269, 896, 2465, 2039, 2049, 335, - /* 820 */ 252, 1000, 898, 897, 59, 2768, 2771, 2082, 2085, 2074, - /* 830 */ 2076, 2077, 2078, 2079, 2081, 159, 2449, 466, 900, 737, - /* 840 */ 736, 735, 1979, 716, 1977, 550, 727, 165, 731, 863, - /* 850 */ 2519, 2520, 730, 467, 465, 501, 718, 729, 734, 473, - /* 860 */ 472, 2083, 2084, 728, 192, 1988, 2040, 471, 724, 723, - /* 870 */ 722, 342, 343, 896, 2465, 2470, 341, 720, 1982, 1983, - /* 880 */ 2036, 719, 2038, 2041, 2042, 2043, 2044, 2045, 2046, 2047, - /* 890 */ 2048, 873, 866, 570, 744, 898, 897, 2067, 2068, 1649, - /* 900 */ 2039, 2049, 2074, 2076, 2077, 2078, 2079, 2081, 2, 758, - /* 910 */ 2082, 2085, 2909, 71, 51, 50, 1947, 2277, 57, 55, - /* 920 */ 54, 53, 52, 169, 784, 1979, 2865, 1977, 300, 2037, - /* 930 */ 51, 50, 863, 2452, 57, 55, 54, 53, 52, 929, - /* 940 */ 2906, 566, 2516, 1978, 747, 1651, 565, 667, 509, 508, - /* 950 */ 73, 741, 739, 46, 1561, 1562, 665, 1976, 297, 661, - /* 960 */ 657, 1982, 1983, 2036, 115, 2038, 2041, 2042, 2043, 2044, - /* 970 */ 2045, 2046, 2047, 2048, 873, 866, 2525, 2752, 898, 897, - /* 980 */ 2067, 2068, 1946, 554, 503, 2074, 2076, 2077, 2078, 2079, - /* 990 */ 2081, 2, 58, 56, 2197, 2523, 2787, 787, 1879, 2706, - /* 1000 */ 498, 521, 1978, 1984, 83, 2992, 896, 2465, 2198, 82, - /* 1010 */ 192, 878, 556, 552, 512, 511, 1976, 2525, 2080, 896, - /* 1020 */ 2465, 2470, 2055, 2998, 229, 519, 571, 37, 2993, 822, - /* 1030 */ 54, 53, 52, 1000, 2787, 391, 2523, 135, 2058, 590, - /* 1040 */ 2805, 1538, 2276, 2169, 896, 2465, 518, 2467, 2075, 878, - /* 1050 */ 564, 865, 563, 310, 2196, 787, 2752, 2275, 877, 896, - /* 1060 */ 2465, 398, 1984, 2992, 604, 51, 50, 1536, 1537, 57, - /* 1070 */ 55, 54, 53, 52, 815, 58, 56, 2909, 2805, 605, - /* 1080 */ 2006, 2998, 229, 498, 562, 1978, 2993, 822, 896, 2465, - /* 1090 */ 712, 711, 1000, 2469, 2752, 59, 877, 480, 2667, 1976, - /* 1100 */ 392, 2080, 2752, 2786, 38, 2905, 2834, 2274, 606, 2673, - /* 1110 */ 197, 2788, 881, 2790, 2791, 876, 41, 2752, 864, 900, - /* 1120 */ 896, 2465, 51, 50, 733, 732, 57, 55, 54, 53, - /* 1130 */ 52, 2075, 2083, 2084, 865, 2003, 12, 1979, 10, 1977, - /* 1140 */ 692, 2786, 335, 2158, 2834, 1984, 896, 2465, 132, 2788, - /* 1150 */ 881, 2790, 2791, 876, 14, 13, 864, 900, 806, 788, - /* 1160 */ 2952, 2668, 2869, 857, 2894, 2866, 2462, 2752, 493, 2890, - /* 1170 */ 304, 2039, 2049, 1982, 1983, 1000, 965, 963, 59, 896, - /* 1180 */ 2465, 2082, 2085, 51, 50, 833, 168, 57, 55, 54, - /* 1190 */ 53, 52, 896, 2465, 714, 713, 1979, 2909, 1977, 305, - /* 1200 */ 51, 50, 2336, 863, 57, 55, 54, 53, 52, 859, - /* 1210 */ 2007, 2866, 313, 51, 50, 2083, 2084, 57, 55, 54, - /* 1220 */ 53, 52, 51, 50, 738, 2904, 57, 55, 54, 53, - /* 1230 */ 52, 2441, 1982, 1983, 2036, 2003, 2038, 2041, 2042, 2043, - /* 1240 */ 2044, 2045, 2046, 2047, 2048, 873, 866, 2285, 993, 898, - /* 1250 */ 897, 2067, 2068, 333, 2039, 2049, 2074, 2076, 2077, 2078, - /* 1260 */ 2079, 2081, 2, 2438, 2082, 2085, 51, 50, 2525, 2124, - /* 1270 */ 57, 55, 54, 53, 52, 812, 807, 800, 796, 1979, - /* 1280 */ 2525, 1977, 896, 2465, 896, 2465, 863, 840, 51, 50, - /* 1290 */ 111, 2061, 57, 55, 54, 53, 52, 833, 168, 848, - /* 1300 */ 2996, 2273, 839, 764, 159, 45, 2040, 2007, 2057, 138, - /* 1310 */ 2902, 2903, 721, 166, 2907, 1982, 1983, 2036, 2461, 2038, - /* 1320 */ 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 873, 866, - /* 1330 */ 896, 2465, 898, 897, 2067, 2068, 2692, 896, 2465, 2074, - /* 1340 */ 2076, 2077, 2078, 2079, 2081, 2, 58, 56, 2168, 933, - /* 1350 */ 346, 440, 2516, 2001, 498, 2272, 1978, 853, 2271, 787, - /* 1360 */ 617, 2752, 192, 463, 761, 825, 760, 2992, 772, 2037, - /* 1370 */ 1976, 637, 2080, 2471, 2007, 837, 935, 185, 184, 932, - /* 1380 */ 931, 930, 182, 896, 2465, 2998, 229, 596, 2268, 639, - /* 1390 */ 2993, 822, 2267, 302, 441, 598, 2054, 301, 934, 828, - /* 1400 */ 175, 2516, 2075, 353, 2527, 865, 576, 136, 935, 185, - /* 1410 */ 184, 932, 931, 930, 182, 2752, 1984, 2266, 2752, 525, - /* 1420 */ 524, 199, 2902, 2903, 787, 166, 2907, 3, 2265, 1992, - /* 1430 */ 545, 787, 2992, 896, 2465, 629, 1540, 290, 89, 2992, - /* 1440 */ 288, 64, 2002, 1985, 2008, 2080, 1000, 462, 2752, 15, - /* 1450 */ 2998, 229, 2752, 889, 236, 2993, 822, 2998, 229, 584, - /* 1460 */ 51, 50, 2993, 822, 57, 55, 54, 53, 52, 2037, - /* 1470 */ 183, 114, 47, 2264, 2263, 2075, 448, 2752, 2262, 478, - /* 1480 */ 224, 759, 175, 1895, 896, 2465, 2083, 2084, 2752, 1984, - /* 1490 */ 2600, 2579, 102, 625, 624, 623, 622, 621, 616, 615, - /* 1500 */ 614, 613, 445, 254, 890, 603, 602, 601, 600, 599, - /* 1510 */ 593, 592, 591, 2261, 586, 585, 460, 2572, 2260, 861, - /* 1520 */ 577, 1812, 1813, 896, 2465, 2039, 2049, 1831, 628, 253, - /* 1530 */ 2525, 896, 2465, 2752, 2752, 2082, 2085, 2442, 2752, 1644, - /* 1540 */ 161, 2008, 626, 894, 725, 292, 726, 232, 291, 2524, - /* 1550 */ 1979, 381, 1977, 65, 101, 294, 314, 863, 293, 638, - /* 1560 */ 296, 580, 2334, 295, 862, 1903, 945, 1642, 794, 1640, - /* 1570 */ 174, 60, 60, 2752, 212, 2249, 2250, 223, 2752, 2325, - /* 1580 */ 220, 14, 13, 183, 740, 1645, 1982, 1983, 2036, 1614, - /* 1590 */ 2038, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 873, - /* 1600 */ 866, 742, 2323, 898, 897, 2067, 2068, 116, 2008, 340, - /* 1610 */ 2074, 2076, 2077, 2078, 2079, 2081, 2, 194, 88, 60, - /* 1620 */ 2787, 75, 405, 1993, 745, 1988, 824, 130, 60, 127, - /* 1630 */ 60, 2270, 2773, 60, 88, 836, 180, 161, 183, 360, - /* 1640 */ 359, 403, 87, 362, 361, 86, 364, 363, 366, 365, - /* 1650 */ 2787, 2192, 368, 367, 2202, 2201, 442, 319, 1987, 1996, - /* 1660 */ 1998, 370, 369, 826, 2805, 878, 838, 2315, 263, 652, - /* 1670 */ 650, 647, 645, 372, 371, 85, 898, 897, 374, 373, - /* 1680 */ 2752, 2399, 877, 2074, 2076, 2077, 2078, 2079, 2081, 376, - /* 1690 */ 375, 906, 344, 181, 2805, 1986, 2775, 378, 377, 829, - /* 1700 */ 183, 845, 2059, 162, 2118, 380, 379, 2317, 180, 946, - /* 1710 */ 2752, 2062, 877, 2050, 73, 1622, 1848, 1838, 2955, 356, - /* 1720 */ 893, 1693, 203, 329, 1595, 804, 321, 2786, 834, 163, - /* 1730 */ 2834, 2806, 1612, 2306, 132, 2788, 881, 2790, 2791, 876, - /* 1740 */ 2391, 2102, 864, 900, 2390, 2945, 801, 485, 211, 808, - /* 1750 */ 2894, 481, 2598, 74, 493, 2890, 2787, 2786, 397, 842, - /* 1760 */ 2834, 1623, 989, 529, 132, 2788, 881, 2790, 2791, 876, - /* 1770 */ 1596, 878, 864, 900, 1724, 2787, 1732, 547, 3012, 2312, - /* 1780 */ 2894, 2513, 2942, 1739, 493, 2890, 1737, 780, 2946, 816, - /* 1790 */ 878, 186, 2949, 817, 331, 2956, 326, 334, 2599, 2425, - /* 1800 */ 2805, 5, 532, 2001, 537, 457, 2011, 99, 98, 569, - /* 1810 */ 546, 557, 242, 237, 238, 574, 2752, 240, 877, 2805, - /* 1820 */ 1872, 390, 558, 560, 2002, 561, 559, 581, 251, 583, - /* 1830 */ 587, 589, 607, 631, 594, 2752, 618, 877, 439, 620, - /* 1840 */ 1990, 548, 2591, 627, 544, 540, 536, 533, 562, 630, - /* 1850 */ 632, 643, 641, 644, 257, 256, 646, 648, 649, 260, - /* 1860 */ 651, 653, 2009, 2786, 668, 4, 2834, 669, 676, 677, - /* 1870 */ 200, 2788, 881, 2790, 2791, 876, 679, 1989, 864, 900, - /* 1880 */ 2004, 681, 2786, 268, 2787, 2834, 107, 271, 2010, 132, - /* 1890 */ 2788, 881, 2790, 2791, 876, 682, 2012, 864, 900, 878, - /* 1900 */ 274, 2962, 683, 3012, 276, 2894, 335, 685, 2013, 493, - /* 1910 */ 2890, 2614, 108, 2014, 2608, 694, 109, 110, 283, 715, - /* 1920 */ 137, 2787, 717, 763, 2455, 2682, 287, 2451, 2805, 289, - /* 1930 */ 188, 823, 3013, 748, 134, 749, 878, 765, 798, 113, - /* 1940 */ 2453, 434, 2448, 189, 2752, 2005, 877, 190, 176, 393, - /* 1950 */ 306, 2660, 775, 774, 776, 781, 309, 311, 782, 805, - /* 1960 */ 2679, 2961, 843, 2960, 2678, 2805, 814, 779, 791, 320, - /* 1970 */ 8, 819, 2787, 322, 2933, 202, 792, 790, 818, 323, - /* 1980 */ 3015, 2752, 789, 877, 2913, 324, 327, 878, 486, 2985, - /* 1990 */ 316, 2786, 827, 318, 2834, 830, 325, 2006, 132, 2788, - /* 2000 */ 881, 2790, 2791, 876, 2166, 1, 864, 900, 2787, 167, - /* 2010 */ 2991, 2164, 3012, 215, 2894, 330, 2805, 231, 493, 2890, - /* 2020 */ 2910, 336, 177, 878, 846, 2926, 394, 841, 2786, 2628, - /* 2030 */ 395, 2834, 2752, 847, 877, 132, 2788, 881, 2790, 2791, - /* 2040 */ 876, 2627, 72, 864, 900, 178, 883, 854, 2875, 3012, - /* 2050 */ 887, 2894, 2805, 2626, 2787, 493, 2890, 349, 490, 851, - /* 2060 */ 354, 123, 885, 396, 2466, 888, 2744, 126, 2752, 878, - /* 2070 */ 877, 2743, 1510, 2739, 2738, 2730, 995, 2729, 2721, 2786, - /* 2080 */ 2720, 400, 2834, 996, 997, 187, 132, 2788, 881, 2790, - /* 2090 */ 2791, 876, 2736, 386, 864, 900, 2787, 2735, 2805, 992, - /* 2100 */ 3012, 2727, 2894, 383, 435, 387, 493, 2890, 999, 767, - /* 2110 */ 404, 878, 902, 2726, 2752, 2786, 877, 2715, 2834, 2714, - /* 2120 */ 422, 2733, 132, 2788, 881, 2790, 2791, 876, 2732, 2724, - /* 2130 */ 864, 900, 2723, 402, 2787, 2712, 3012, 2711, 2894, 2709, - /* 2140 */ 2805, 469, 493, 2890, 2708, 2517, 433, 449, 516, 878, - /* 2150 */ 423, 2704, 2703, 2702, 96, 63, 2752, 450, 877, 2697, - /* 2160 */ 534, 2786, 535, 1929, 2834, 1930, 235, 539, 132, 2788, - /* 2170 */ 881, 2790, 2791, 876, 2695, 541, 864, 900, 2805, 542, - /* 2180 */ 543, 1928, 2867, 2694, 2894, 2693, 458, 2691, 493, 2890, - /* 2190 */ 549, 2690, 551, 2689, 2752, 553, 877, 2688, 555, 1916, - /* 2200 */ 2664, 2663, 239, 2786, 241, 1875, 2834, 97, 1874, 2641, - /* 2210 */ 132, 2788, 881, 2790, 2791, 876, 567, 568, 864, 900, - /* 2220 */ 2640, 2787, 2639, 2638, 858, 2637, 2894, 2581, 572, 1811, - /* 2230 */ 493, 2890, 2578, 2577, 575, 2571, 878, 2568, 578, 244, - /* 2240 */ 579, 2786, 2567, 100, 2834, 2566, 2565, 2570, 133, 2788, - /* 2250 */ 881, 2790, 2791, 876, 769, 246, 864, 900, 2569, 2564, - /* 2260 */ 2563, 2561, 2560, 2559, 2894, 2805, 248, 595, 2893, 2890, - /* 2270 */ 2787, 2558, 1003, 597, 2556, 2555, 2554, 2553, 2552, 2576, - /* 2280 */ 2551, 2752, 2550, 877, 2549, 878, 2574, 2557, 2548, 2547, - /* 2290 */ 2546, 389, 2544, 2543, 2542, 2541, 2540, 2539, 2538, 250, - /* 2300 */ 2537, 106, 2536, 2535, 2534, 2606, 991, 219, 2575, 2573, - /* 2310 */ 2533, 2532, 2531, 1817, 2805, 255, 987, 983, 979, 975, - /* 2320 */ 2530, 384, 634, 2529, 636, 2528, 2526, 2356, 2786, 1662, - /* 2330 */ 2752, 2834, 877, 446, 258, 133, 2788, 881, 2790, 2791, - /* 2340 */ 876, 1666, 2355, 864, 900, 2354, 2353, 2351, 2348, 1658, - /* 2350 */ 2347, 2894, 654, 447, 2340, 860, 2890, 658, 2327, 2301, - /* 2360 */ 2300, 2662, 656, 1539, 662, 2658, 666, 131, 660, 210, - /* 2370 */ 2648, 655, 357, 2636, 259, 2787, 659, 879, 664, 264, - /* 2380 */ 2834, 2635, 261, 262, 133, 2788, 881, 2790, 2791, 876, - /* 2390 */ 878, 663, 864, 900, 2772, 92, 2612, 266, 2605, 275, - /* 2400 */ 2894, 2443, 2787, 849, 452, 2890, 221, 93, 674, 1588, - /* 2410 */ 273, 2350, 2346, 278, 695, 280, 697, 878, 2344, 2805, - /* 2420 */ 699, 2787, 696, 700, 701, 2342, 703, 705, 704, 2339, - /* 2430 */ 707, 708, 709, 2322, 2320, 2752, 878, 877, 2321, 2319, - /* 2440 */ 2297, 2445, 2787, 1744, 1743, 2444, 2805, 962, 355, 1648, - /* 2450 */ 855, 1647, 1646, 338, 964, 1643, 84, 878, 337, 1641, - /* 2460 */ 1639, 286, 2752, 2337, 877, 2805, 1638, 1637, 1636, 1630, - /* 2470 */ 474, 1635, 1632, 1631, 2335, 475, 2326, 307, 1629, 476, - /* 2480 */ 2324, 2752, 2786, 877, 743, 2834, 2805, 477, 2787, 133, - /* 2490 */ 2788, 881, 2790, 2791, 876, 746, 2296, 864, 900, 2295, - /* 2500 */ 2294, 2293, 2752, 878, 877, 2894, 750, 752, 2292, 2786, - /* 2510 */ 2891, 754, 2834, 2291, 756, 139, 408, 2788, 881, 2790, - /* 2520 */ 2791, 876, 1910, 31, 864, 900, 483, 1912, 2786, 1909, - /* 2530 */ 2661, 2834, 2805, 1914, 67, 197, 2788, 881, 2790, 2791, - /* 2540 */ 876, 32, 2657, 864, 900, 308, 68, 1881, 2752, 2786, - /* 2550 */ 877, 1883, 2834, 2647, 777, 2787, 432, 2788, 881, 2790, - /* 2560 */ 2791, 876, 2634, 766, 864, 900, 78, 1885, 1900, 778, - /* 2570 */ 878, 2633, 484, 2997, 2787, 1860, 21, 17, 312, 1859, - /* 2580 */ 2219, 34, 315, 793, 2193, 2953, 191, 795, 783, 878, - /* 2590 */ 785, 482, 6, 7, 797, 2786, 799, 22, 2834, 2805, - /* 2600 */ 23, 2787, 432, 2788, 881, 2790, 2791, 876, 214, 226, - /* 2610 */ 864, 900, 2773, 317, 2200, 2752, 875, 877, 2805, 201, - /* 2620 */ 36, 213, 35, 76, 227, 2187, 2159, 94, 2161, 25, - /* 2630 */ 2157, 228, 332, 2239, 2752, 2240, 877, 2234, 2233, 487, - /* 2640 */ 2238, 2237, 488, 2141, 2140, 2805, 70, 2632, 206, 2611, - /* 2650 */ 117, 118, 24, 339, 2195, 2610, 844, 2604, 119, 120, - /* 2660 */ 216, 2752, 2786, 877, 345, 2834, 850, 80, 350, 425, - /* 2670 */ 2788, 881, 2790, 2791, 876, 348, 26, 864, 900, 347, - /* 2680 */ 13, 2786, 2093, 18, 2834, 69, 852, 11, 200, 2788, - /* 2690 */ 881, 2790, 2791, 876, 1994, 2092, 864, 900, 2103, 27, - /* 2700 */ 28, 20, 207, 48, 217, 2053, 2029, 880, 2786, 2052, - /* 2710 */ 913, 2834, 2603, 916, 2787, 431, 2788, 881, 2790, 2791, - /* 2720 */ 876, 121, 813, 864, 900, 919, 2860, 922, 127, 878, - /* 2730 */ 886, 2440, 49, 891, 2051, 2021, 16, 29, 30, 81, - /* 2740 */ 352, 2787, 884, 122, 90, 892, 358, 2844, 2843, 899, - /* 2750 */ 3014, 2064, 79, 2252, 2253, 1725, 878, 901, 2805, 905, - /* 2760 */ 517, 907, 909, 912, 1722, 910, 915, 1716, 1721, 918, - /* 2770 */ 1718, 921, 1712, 1715, 2752, 1710, 877, 1714, 2787, 1713, - /* 2780 */ 128, 382, 129, 1738, 91, 2805, 1734, 1626, 1625, 1586, - /* 2790 */ 936, 1624, 1621, 878, 1618, 950, 1617, 1616, 496, 1615, - /* 2800 */ 1656, 2752, 1613, 877, 1611, 2787, 1610, 1609, 952, 233, - /* 2810 */ 1655, 1607, 1604, 1606, 1605, 1603, 1602, 1601, 1652, 1650, - /* 2820 */ 878, 2786, 2805, 1598, 2834, 492, 1592, 1597, 432, 2788, - /* 2830 */ 881, 2790, 2791, 876, 1594, 1593, 864, 900, 2752, 1591, - /* 2840 */ 877, 2345, 972, 973, 974, 2343, 976, 977, 2786, 2805, - /* 2850 */ 2341, 2834, 978, 980, 2338, 417, 2788, 881, 2790, 2791, - /* 2860 */ 876, 981, 497, 864, 900, 2752, 982, 877, 984, 2787, - /* 2870 */ 985, 986, 2318, 988, 2316, 990, 1528, 2290, 1511, 994, - /* 2880 */ 1516, 388, 998, 1518, 878, 2786, 1980, 401, 2834, 499, - /* 2890 */ 2787, 1001, 432, 2788, 881, 2790, 2791, 876, 1002, 2256, - /* 2900 */ 864, 900, 2256, 2256, 2256, 878, 2256, 2256, 2256, 2256, - /* 2910 */ 2787, 2256, 2786, 2805, 2256, 2834, 2256, 2256, 2256, 432, - /* 2920 */ 2788, 881, 2790, 2791, 876, 878, 2256, 864, 900, 2752, - /* 2930 */ 2256, 877, 2256, 2256, 2805, 2256, 2787, 2256, 2256, 2256, - /* 2940 */ 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, - /* 2950 */ 2752, 878, 877, 2256, 2805, 2256, 2256, 2256, 2256, 2256, - /* 2960 */ 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, - /* 2970 */ 2752, 2256, 877, 2256, 2256, 2787, 2786, 2256, 2256, 2834, - /* 2980 */ 2805, 2256, 2256, 413, 2788, 881, 2790, 2791, 876, 2256, - /* 2990 */ 878, 864, 900, 2256, 2256, 2256, 2752, 762, 877, 2256, - /* 3000 */ 2834, 2787, 2256, 2256, 427, 2788, 881, 2790, 2791, 876, - /* 3010 */ 2256, 2256, 864, 900, 2256, 2256, 878, 2786, 2256, 2805, - /* 3020 */ 2834, 2256, 2256, 2256, 409, 2788, 881, 2790, 2791, 876, - /* 3030 */ 2256, 2256, 864, 900, 2256, 2752, 2256, 877, 2256, 2256, - /* 3040 */ 2256, 2256, 2256, 2786, 2256, 2805, 2834, 2256, 2256, 2256, - /* 3050 */ 406, 2788, 881, 2790, 2791, 876, 2256, 2256, 864, 900, - /* 3060 */ 2256, 2752, 2256, 877, 2256, 2256, 2256, 2256, 2256, 2256, - /* 3070 */ 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, - /* 3080 */ 2256, 2256, 2786, 2256, 2256, 2834, 2256, 2256, 2256, 410, - /* 3090 */ 2788, 881, 2790, 2791, 876, 2256, 2256, 864, 900, 2256, - /* 3100 */ 2256, 2256, 2256, 2256, 2256, 2256, 2787, 2256, 2786, 2256, - /* 3110 */ 2256, 2834, 2256, 2256, 2256, 424, 2788, 881, 2790, 2791, - /* 3120 */ 876, 878, 2256, 864, 900, 2256, 2256, 2787, 2256, 2256, - /* 3130 */ 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, - /* 3140 */ 2256, 2256, 878, 2256, 2787, 2256, 2256, 2256, 2256, 2256, - /* 3150 */ 2805, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 878, - /* 3160 */ 2256, 2256, 2256, 2256, 2256, 2256, 2752, 2256, 877, 2256, - /* 3170 */ 2256, 2805, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, - /* 3180 */ 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2752, 2805, 877, - /* 3190 */ 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, - /* 3200 */ 2256, 2256, 2256, 2256, 2752, 2256, 877, 2256, 2256, 2256, - /* 3210 */ 2256, 2787, 2256, 2786, 2256, 2256, 2834, 2256, 2256, 2256, - /* 3220 */ 411, 2788, 881, 2790, 2791, 876, 878, 2256, 864, 900, - /* 3230 */ 2256, 2256, 2256, 2256, 2786, 2256, 2256, 2834, 2256, 2256, - /* 3240 */ 2256, 412, 2788, 881, 2790, 2791, 876, 2256, 2256, 864, - /* 3250 */ 900, 2786, 2256, 2787, 2834, 2805, 2256, 2256, 428, 2788, - /* 3260 */ 881, 2790, 2791, 876, 2256, 2256, 864, 900, 878, 2256, - /* 3270 */ 2256, 2752, 2256, 877, 2256, 2787, 2256, 2256, 2256, 2256, - /* 3280 */ 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, - /* 3290 */ 878, 2256, 2256, 2256, 2256, 2256, 2787, 2805, 2256, 2256, - /* 3300 */ 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, - /* 3310 */ 2256, 878, 2256, 2752, 2256, 877, 2256, 2787, 2786, 2805, - /* 3320 */ 2256, 2834, 2256, 2256, 2256, 414, 2788, 881, 2790, 2791, - /* 3330 */ 876, 2256, 878, 864, 900, 2752, 2256, 877, 2256, 2256, - /* 3340 */ 2805, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, - /* 3350 */ 2256, 2256, 2256, 2256, 2256, 2256, 2752, 2256, 877, 2256, - /* 3360 */ 2786, 2805, 2256, 2834, 2256, 2256, 2256, 429, 2788, 881, - /* 3370 */ 2790, 2791, 876, 2256, 2256, 864, 900, 2752, 2256, 877, - /* 3380 */ 2256, 2256, 2786, 2256, 2787, 2834, 2256, 2256, 2256, 415, - /* 3390 */ 2788, 881, 2790, 2791, 876, 2256, 2256, 864, 900, 878, - /* 3400 */ 2256, 2256, 2256, 2786, 2256, 2787, 2834, 2256, 2256, 2256, - /* 3410 */ 430, 2788, 881, 2790, 2791, 876, 2256, 2256, 864, 900, - /* 3420 */ 878, 2256, 2256, 2256, 2786, 2256, 2256, 2834, 2805, 2256, - /* 3430 */ 2256, 416, 2788, 881, 2790, 2791, 876, 2256, 2256, 864, - /* 3440 */ 900, 2256, 2256, 2256, 2752, 2256, 877, 2256, 2256, 2805, - /* 3450 */ 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, - /* 3460 */ 2256, 2256, 2256, 2256, 2256, 2752, 2256, 877, 2256, 2256, - /* 3470 */ 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, - /* 3480 */ 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, - /* 3490 */ 2256, 2786, 2256, 2256, 2834, 2256, 2256, 2256, 407, 2788, - /* 3500 */ 881, 2790, 2791, 876, 2256, 2256, 864, 900, 2256, 2256, - /* 3510 */ 2787, 2256, 2786, 2256, 2256, 2834, 2256, 2256, 2256, 418, - /* 3520 */ 2788, 881, 2790, 2791, 876, 878, 2256, 864, 900, 2256, - /* 3530 */ 2787, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, - /* 3540 */ 2256, 2256, 2256, 2256, 2256, 878, 2256, 2256, 2256, 2256, - /* 3550 */ 2256, 2256, 2787, 2256, 2805, 2256, 2256, 2256, 2256, 2256, - /* 3560 */ 2256, 2256, 2256, 2256, 2256, 2256, 2256, 878, 2256, 2256, - /* 3570 */ 2752, 2256, 877, 2256, 2805, 2256, 2256, 2256, 2256, 2256, - /* 3580 */ 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, - /* 3590 */ 2752, 2256, 877, 2256, 2256, 2256, 2805, 2256, 2256, 2256, - /* 3600 */ 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, - /* 3610 */ 2256, 2256, 2752, 2256, 877, 2256, 2256, 2786, 2256, 2256, - /* 3620 */ 2834, 2256, 2256, 2256, 419, 2788, 881, 2790, 2791, 876, - /* 3630 */ 2256, 2256, 864, 900, 2256, 2787, 2256, 2786, 2256, 2256, - /* 3640 */ 2834, 2256, 2256, 2256, 420, 2788, 881, 2790, 2791, 876, - /* 3650 */ 878, 2256, 864, 900, 2256, 2256, 2256, 2787, 2256, 2786, - /* 3660 */ 2256, 2256, 2834, 2256, 2256, 2256, 421, 2788, 881, 2790, - /* 3670 */ 2791, 876, 878, 2256, 864, 900, 2787, 2256, 2256, 2805, - /* 3680 */ 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, - /* 3690 */ 2256, 878, 2256, 2256, 2256, 2752, 2256, 877, 2256, 2787, - /* 3700 */ 2256, 2805, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, - /* 3710 */ 2256, 2256, 2256, 2256, 878, 2256, 2256, 2752, 2256, 877, - /* 3720 */ 2805, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, - /* 3730 */ 2256, 2256, 2256, 2256, 2256, 2256, 2752, 2256, 877, 2256, - /* 3740 */ 2256, 2256, 2786, 2805, 2256, 2834, 2256, 2256, 2256, 437, - /* 3750 */ 2788, 881, 2790, 2791, 876, 2256, 2256, 864, 900, 2752, - /* 3760 */ 2256, 877, 2256, 2787, 2786, 2256, 2256, 2834, 2256, 2256, - /* 3770 */ 2256, 438, 2788, 881, 2790, 2791, 876, 2256, 878, 864, - /* 3780 */ 900, 2256, 2256, 2786, 2256, 2787, 2834, 2256, 2256, 2256, - /* 3790 */ 2799, 2788, 881, 2790, 2791, 876, 2256, 2256, 864, 900, - /* 3800 */ 878, 2256, 2256, 2256, 2787, 2256, 2786, 2805, 2256, 2834, - /* 3810 */ 2256, 2256, 2256, 2798, 2788, 881, 2790, 2791, 876, 878, - /* 3820 */ 2256, 864, 900, 2752, 2256, 877, 2256, 2256, 2256, 2805, - /* 3830 */ 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, - /* 3840 */ 2256, 2256, 2256, 2256, 2256, 2752, 2256, 877, 2805, 2256, - /* 3850 */ 2256, 2256, 2256, 2787, 2256, 2256, 2256, 2256, 2256, 2256, - /* 3860 */ 2256, 2256, 2256, 2256, 2752, 2256, 877, 2256, 878, 2256, - /* 3870 */ 2786, 2256, 2256, 2834, 2256, 2256, 2256, 2797, 2788, 881, - /* 3880 */ 2790, 2791, 876, 2256, 2256, 864, 900, 2256, 2256, 2256, - /* 3890 */ 2256, 2256, 2786, 2256, 2256, 2834, 2256, 2805, 2256, 454, - /* 3900 */ 2788, 881, 2790, 2791, 876, 2256, 2256, 864, 900, 2256, - /* 3910 */ 2256, 2786, 2256, 2752, 2834, 877, 2256, 2256, 455, 2788, - /* 3920 */ 881, 2790, 2791, 876, 2256, 2256, 864, 900, 2256, 2256, - /* 3930 */ 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2787, 2256, - /* 3940 */ 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, - /* 3950 */ 2256, 2256, 2256, 878, 2256, 2256, 2256, 2256, 2787, 2256, - /* 3960 */ 2786, 2256, 2256, 2834, 2256, 2256, 2256, 451, 2788, 881, - /* 3970 */ 2790, 2791, 876, 878, 2256, 864, 900, 2256, 2787, 2256, - /* 3980 */ 2256, 2256, 2805, 2256, 2256, 2256, 2256, 2256, 2256, 2256, - /* 3990 */ 2256, 2256, 2256, 878, 2256, 2256, 2256, 2256, 2752, 2256, - /* 4000 */ 877, 2256, 2805, 2256, 2256, 2256, 2256, 2256, 2256, 2256, - /* 4010 */ 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2752, 2256, - /* 4020 */ 877, 2256, 2805, 2256, 2256, 2256, 2256, 2256, 2256, 2256, - /* 4030 */ 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2752, 2256, - /* 4040 */ 877, 2256, 2256, 2256, 2256, 2786, 2256, 2256, 2834, 2256, - /* 4050 */ 2256, 2256, 456, 2788, 881, 2790, 2791, 876, 2256, 2256, - /* 4060 */ 864, 900, 2256, 2256, 2256, 879, 2256, 2256, 2834, 2256, - /* 4070 */ 2256, 2256, 427, 2788, 881, 2790, 2791, 876, 2256, 2256, - /* 4080 */ 864, 900, 2256, 2256, 2256, 2786, 2256, 2256, 2834, 2256, - /* 4090 */ 2256, 2256, 426, 2788, 881, 2790, 2791, 876, 2256, 2256, - /* 4100 */ 864, 900, + /* 0 */ 823, 672, 2448, 3009, 673, 2314, 680, 2463, 3004, 673, + /* 10 */ 2314, 3004, 59, 57, 522, 44, 352, 2527, 2529, 2461, + /* 20 */ 500, 2267, 1984, 2629, 898, 2754, 822, 230, 517, 2010, + /* 30 */ 3008, 3005, 824, 575, 3005, 3007, 1982, 492, 2089, 2358, + /* 40 */ 2289, 2796, 150, 2626, 885, 149, 148, 147, 146, 145, + /* 50 */ 144, 143, 142, 141, 759, 2009, 838, 52, 51, 835, + /* 60 */ 169, 58, 56, 55, 54, 53, 2266, 871, 2084, 2013, + /* 70 */ 753, 868, 757, 755, 300, 299, 940, 2009, 870, 3009, + /* 80 */ 835, 169, 1990, 637, 635, 2814, 437, 3004, 506, 244, + /* 90 */ 159, 158, 157, 156, 155, 154, 153, 152, 151, 194, + /* 100 */ 2761, 2761, 903, 880, 835, 169, 3008, 898, 520, 2476, + /* 110 */ 3005, 3006, 1003, 584, 2598, 60, 974, 973, 972, 971, + /* 120 */ 530, 126, 970, 969, 174, 964, 963, 962, 961, 960, + /* 130 */ 959, 958, 173, 952, 951, 950, 529, 528, 947, 946, + /* 140 */ 945, 210, 209, 944, 525, 943, 942, 941, 2795, 1537, + /* 150 */ 2264, 2843, 2092, 2093, 2554, 133, 2797, 884, 2799, 2800, + /* 160 */ 879, 1756, 1757, 867, 2844, 903, 772, 246, 1544, 2465, + /* 170 */ 212, 223, 2906, 250, 52, 51, 494, 2902, 58, 56, + /* 180 */ 55, 54, 53, 2796, 139, 2914, 2915, 2521, 167, 2919, + /* 190 */ 136, 2045, 2055, 1539, 1542, 1543, 231, 2010, 838, 520, + /* 200 */ 2476, 2091, 2094, 2012, 2953, 206, 2914, 834, 3009, 161, + /* 210 */ 833, 58, 56, 55, 54, 53, 1985, 3004, 1983, 106, + /* 220 */ 677, 898, 9, 866, 105, 2012, 674, 2814, 837, 199, + /* 230 */ 2914, 2915, 506, 167, 2919, 822, 230, 2156, 813, 533, + /* 240 */ 3005, 824, 226, 2761, 532, 880, 903, 196, 1830, 1831, + /* 250 */ 481, 2676, 1988, 1989, 2042, 2407, 2044, 2047, 2048, 2049, + /* 260 */ 2050, 2051, 2052, 2053, 2054, 876, 869, 899, 2474, 901, + /* 270 */ 900, 865, 2076, 2077, 2078, 2079, 2080, 2083, 2085, 2086, + /* 280 */ 2087, 2088, 2090, 2, 59, 57, 2181, 160, 835, 169, + /* 290 */ 2795, 104, 500, 2843, 1984, 718, 789, 133, 2797, 884, + /* 300 */ 2799, 2800, 879, 2014, 3004, 867, 2844, 903, 1982, 614, + /* 310 */ 2089, 303, 212, 2571, 2906, 302, 62, 898, 494, 2902, + /* 320 */ 688, 2249, 3010, 230, 613, 112, 2796, 3005, 824, 1857, + /* 330 */ 1858, 52, 51, 2156, 2009, 58, 56, 55, 54, 53, + /* 340 */ 2084, 881, 2771, 868, 52, 51, 2954, 19, 58, 56, + /* 350 */ 55, 54, 53, 2470, 1990, 150, 34, 2755, 149, 148, + /* 360 */ 147, 146, 145, 144, 143, 142, 141, 59, 57, 400, + /* 370 */ 2814, 2775, 552, 2511, 2256, 500, 334, 1984, 1856, 1859, + /* 380 */ 2153, 2154, 2155, 204, 1003, 329, 2761, 15, 880, 115, + /* 390 */ 2185, 1982, 2534, 2089, 449, 691, 2009, 479, 334, 761, + /* 400 */ 460, 78, 52, 51, 527, 526, 58, 56, 55, 54, + /* 410 */ 53, 2532, 62, 200, 2914, 2915, 2156, 167, 2919, 2534, + /* 420 */ 506, 2777, 2780, 2084, 2092, 2093, 868, 490, 1991, 74, + /* 430 */ 19, 899, 2474, 2795, 903, 903, 2843, 1990, 2532, 2226, + /* 440 */ 133, 2797, 884, 2799, 2800, 879, 899, 2474, 867, 2844, + /* 450 */ 903, 160, 2066, 171, 266, 180, 2877, 2906, 675, 723, + /* 460 */ 2322, 494, 2902, 2045, 2055, 1655, 524, 1003, 116, 454, + /* 470 */ 15, 812, 2042, 2091, 2094, 2926, 2153, 2154, 2155, 2926, + /* 480 */ 2926, 2926, 2926, 2926, 612, 739, 738, 737, 1985, 611, + /* 490 */ 1983, 823, 729, 166, 733, 866, 547, 610, 732, 3004, + /* 500 */ 2814, 2255, 1885, 731, 736, 474, 473, 2092, 2093, 730, + /* 510 */ 556, 1657, 74, 472, 726, 725, 724, 822, 230, 2119, + /* 520 */ 237, 2100, 3005, 824, 1988, 1989, 2042, 2009, 2044, 2047, + /* 530 */ 2048, 2049, 2050, 2051, 2052, 2053, 2054, 876, 869, 558, + /* 540 */ 554, 901, 900, 865, 2076, 2077, 2045, 2055, 695, 2083, + /* 550 */ 2085, 2086, 2087, 2088, 2090, 2, 2091, 2094, 2926, 2153, + /* 560 */ 2154, 2155, 2926, 2926, 2926, 2926, 2926, 2046, 219, 40, + /* 570 */ 1717, 1985, 811, 1983, 940, 52, 51, 2771, 866, 58, + /* 580 */ 56, 55, 54, 53, 2120, 1708, 930, 929, 928, 1712, + /* 590 */ 927, 1714, 1715, 926, 923, 2603, 1723, 920, 1725, 1726, + /* 600 */ 917, 914, 911, 2214, 45, 336, 2775, 1988, 1989, 2042, + /* 610 */ 1994, 2044, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, + /* 620 */ 876, 869, 336, 631, 901, 900, 865, 2076, 2077, 773, + /* 630 */ 2043, 2921, 2083, 2085, 2086, 2087, 2088, 2090, 2, 12, + /* 640 */ 59, 57, 2158, 2159, 2160, 2161, 2162, 197, 500, 2278, + /* 650 */ 1984, 770, 512, 2796, 471, 469, 2777, 2779, 495, 268, + /* 660 */ 2918, 2125, 839, 675, 1982, 2322, 2089, 12, 881, 10, + /* 670 */ 903, 805, 804, 2212, 2213, 2215, 2216, 2217, 590, 2598, + /* 680 */ 2629, 43, 496, 2114, 2115, 2116, 2117, 2118, 2122, 2123, + /* 690 */ 2124, 255, 2796, 315, 502, 393, 2084, 2814, 2046, 868, + /* 700 */ 2626, 885, 74, 19, 1564, 336, 1563, 878, 2629, 462, + /* 710 */ 1990, 682, 2668, 2761, 219, 880, 630, 254, 773, 789, + /* 720 */ 165, 12, 74, 59, 57, 2095, 63, 3004, 2627, 885, + /* 730 */ 628, 500, 248, 1984, 468, 466, 2814, 720, 621, 2598, + /* 740 */ 1003, 2602, 1565, 15, 117, 3010, 230, 1982, 568, 2089, + /* 750 */ 3005, 824, 2761, 567, 880, 480, 2676, 859, 722, 2878, + /* 760 */ 2795, 2043, 721, 2843, 2361, 899, 2474, 134, 2797, 884, + /* 770 */ 2799, 2800, 879, 2288, 669, 867, 2844, 903, 3008, 2084, + /* 780 */ 2092, 2093, 868, 667, 2906, 235, 663, 659, 2905, 2902, + /* 790 */ 52, 51, 253, 1990, 58, 56, 55, 54, 53, 2795, + /* 800 */ 775, 2668, 2843, 2458, 467, 789, 432, 2797, 884, 2799, + /* 810 */ 2800, 879, 877, 3004, 867, 2844, 903, 858, 2871, 2045, + /* 820 */ 2055, 2534, 566, 1003, 565, 194, 60, 899, 2474, 2091, + /* 830 */ 2094, 3010, 230, 2761, 1953, 2477, 3005, 824, 899, 2474, + /* 840 */ 842, 739, 738, 737, 1985, 515, 1983, 67, 729, 166, + /* 850 */ 733, 866, 343, 344, 732, 692, 564, 342, 572, 731, + /* 860 */ 736, 474, 473, 2092, 2093, 730, 511, 510, 689, 472, + /* 870 */ 726, 725, 724, 938, 186, 185, 935, 934, 933, 183, + /* 880 */ 1988, 1989, 2042, 184, 2044, 2047, 2048, 2049, 2050, 2051, + /* 890 */ 2052, 2053, 2054, 876, 869, 336, 808, 901, 900, 865, + /* 900 */ 2076, 2077, 2045, 2055, 1544, 2083, 2085, 2086, 2087, 2088, + /* 910 */ 2090, 2, 2091, 2094, 2616, 336, 693, 52, 51, 336, + /* 920 */ 1717, 58, 56, 55, 54, 53, 2450, 1985, 1990, 1983, + /* 930 */ 1542, 1543, 690, 2622, 866, 1708, 930, 929, 928, 1712, + /* 940 */ 927, 1714, 1715, 875, 874, 931, 1723, 873, 1725, 1726, + /* 950 */ 872, 914, 911, 52, 51, 954, 47, 58, 56, 55, + /* 960 */ 54, 53, 2287, 1988, 1989, 2042, 66, 2044, 2047, 2048, + /* 970 */ 2049, 2050, 2051, 2052, 2053, 2054, 876, 869, 899, 2474, + /* 980 */ 901, 900, 865, 2076, 2077, 2121, 746, 1650, 2083, 2085, + /* 990 */ 2086, 2087, 2088, 2090, 2, 59, 57, 1984, 573, 504, + /* 1000 */ 861, 760, 2878, 500, 219, 1984, 899, 2474, 2796, 899, + /* 1010 */ 2474, 1982, 899, 2474, 814, 809, 802, 798, 224, 1982, + /* 1020 */ 301, 2089, 2761, 881, 956, 2061, 592, 1952, 2714, 606, + /* 1030 */ 2286, 2602, 607, 1651, 52, 51, 749, 2013, 58, 56, + /* 1040 */ 55, 54, 53, 743, 741, 2534, 899, 2474, 2796, 48, + /* 1050 */ 298, 2084, 2814, 505, 868, 1667, 1564, 1990, 1563, 514, + /* 1060 */ 513, 2225, 2126, 881, 2532, 1990, 608, 2478, 2761, 1666, + /* 1070 */ 880, 938, 186, 185, 935, 934, 933, 183, 59, 57, + /* 1080 */ 899, 2474, 41, 899, 2474, 789, 500, 1003, 1984, 2581, + /* 1090 */ 2761, 112, 2814, 3004, 1565, 1003, 84, 386, 60, 2074, + /* 1100 */ 694, 83, 1982, 2471, 2089, 826, 14, 13, 2761, 465, + /* 1110 */ 880, 3010, 230, 38, 125, 2795, 3005, 824, 2843, 2469, + /* 1120 */ 2285, 393, 134, 2797, 884, 2799, 2800, 879, 769, 503, + /* 1130 */ 867, 2844, 903, 582, 2084, 2092, 2093, 868, 193, 2906, + /* 1140 */ 42, 2467, 2197, 862, 2902, 642, 52, 51, 1990, 2479, + /* 1150 */ 58, 56, 55, 54, 53, 2795, 899, 2474, 2843, 899, + /* 1160 */ 2474, 2701, 198, 2797, 884, 2799, 2800, 879, 899, 2474, + /* 1170 */ 867, 2844, 903, 2206, 2045, 2055, 306, 392, 1003, 314, + /* 1180 */ 2761, 60, 2677, 2013, 2091, 2094, 311, 2207, 841, 899, + /* 1190 */ 2474, 1985, 2534, 1983, 899, 2474, 899, 2474, 96, 1985, + /* 1200 */ 521, 1983, 899, 2474, 286, 2705, 866, 1567, 1568, 347, + /* 1210 */ 225, 2532, 790, 2964, 855, 172, 354, 1546, 2092, 2093, + /* 1220 */ 205, 2133, 892, 2008, 2009, 2466, 788, 1988, 1989, 712, + /* 1230 */ 708, 704, 700, 2205, 285, 1988, 1989, 2042, 2447, 2044, + /* 1240 */ 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 876, 869, + /* 1250 */ 2528, 2529, 901, 900, 865, 2076, 2077, 2045, 2055, 540, + /* 1260 */ 2083, 2085, 2086, 2087, 2088, 2090, 2, 2091, 2094, 52, + /* 1270 */ 51, 2014, 2013, 58, 56, 55, 54, 53, 899, 2474, + /* 1280 */ 113, 2682, 1985, 304, 1983, 283, 52, 51, 2534, 866, + /* 1290 */ 58, 56, 55, 54, 53, 52, 51, 523, 893, 58, + /* 1300 */ 56, 55, 54, 53, 52, 51, 193, 850, 58, 56, + /* 1310 */ 55, 54, 53, 899, 2474, 714, 713, 2479, 1988, 1989, + /* 1320 */ 2042, 2534, 2044, 2047, 2048, 2049, 2050, 2051, 2052, 2053, + /* 1330 */ 2054, 876, 869, 897, 39, 901, 900, 865, 2076, 2077, + /* 1340 */ 2533, 1671, 305, 2083, 2085, 2086, 2087, 2088, 2090, 2, + /* 1350 */ 59, 57, 271, 899, 2474, 1670, 233, 2178, 500, 2284, + /* 1360 */ 1984, 282, 2283, 2282, 2796, 273, 280, 72, 1911, 1912, + /* 1370 */ 2281, 278, 686, 382, 1982, 2280, 2089, 2062, 786, 881, + /* 1380 */ 2277, 2324, 2276, 938, 186, 185, 935, 934, 933, 183, + /* 1390 */ 270, 2275, 52, 51, 2064, 2046, 58, 56, 55, 54, + /* 1400 */ 53, 55, 54, 53, 2274, 221, 2084, 957, 2814, 868, + /* 1410 */ 2433, 170, 2067, 2273, 2877, 2272, 2271, 2014, 2921, 2761, + /* 1420 */ 1990, 2009, 2761, 2761, 2761, 2270, 880, 716, 715, 2536, + /* 1430 */ 2761, 644, 2921, 59, 57, 2761, 2269, 2715, 735, 734, + /* 1440 */ 2761, 500, 2761, 1984, 193, 968, 966, 2917, 906, 932, + /* 1450 */ 1003, 2761, 2525, 60, 817, 2480, 722, 1982, 2043, 2089, + /* 1460 */ 721, 2916, 52, 51, 2761, 90, 58, 56, 55, 54, + /* 1470 */ 53, 2795, 827, 2761, 2843, 2761, 2761, 830, 133, 2797, + /* 1480 */ 884, 2799, 2800, 879, 399, 2761, 867, 2844, 903, 2084, + /* 1490 */ 2092, 2093, 868, 3024, 789, 2906, 2761, 2294, 996, 494, + /* 1500 */ 2902, 46, 3004, 1990, 936, 937, 2014, 2525, 2525, 2478, + /* 1510 */ 52, 51, 2451, 3, 58, 56, 55, 54, 53, 103, + /* 1520 */ 3010, 230, 2408, 2167, 162, 3005, 824, 65, 291, 2045, + /* 1530 */ 2055, 289, 293, 1003, 295, 292, 15, 294, 102, 2091, + /* 1540 */ 2094, 176, 52, 51, 727, 175, 58, 56, 55, 54, + /* 1550 */ 53, 864, 297, 728, 1985, 296, 1983, 2345, 52, 51, + /* 1560 */ 2343, 866, 58, 56, 55, 54, 53, 1648, 763, 176, + /* 1570 */ 762, 796, 2326, 2092, 2093, 61, 1646, 61, 213, 740, + /* 1580 */ 2279, 766, 742, 2334, 640, 2258, 2259, 2967, 184, 341, + /* 1590 */ 1988, 1989, 2042, 806, 2044, 2047, 2048, 2049, 2050, 2051, + /* 1600 */ 2052, 2053, 2054, 876, 869, 744, 2332, 901, 900, 865, + /* 1610 */ 2076, 2077, 2045, 2055, 204, 2083, 2085, 2086, 2087, 2088, + /* 1620 */ 2090, 2, 2091, 2094, 1901, 1993, 89, 992, 747, 61, + /* 1630 */ 14, 13, 76, 445, 444, 61, 61, 1985, 789, 1983, + /* 1640 */ 61, 61, 2782, 507, 866, 1992, 3004, 89, 330, 181, + /* 1650 */ 2063, 774, 1909, 162, 2201, 2043, 907, 516, 2211, 2089, + /* 1660 */ 2210, 320, 322, 2177, 3010, 230, 2060, 836, 184, 3005, + /* 1670 */ 824, 840, 345, 1988, 1989, 2042, 86, 2044, 2047, 2048, + /* 1680 */ 2049, 2050, 2051, 2052, 2053, 2054, 876, 869, 164, 2084, + /* 1690 */ 901, 900, 865, 2076, 2077, 137, 361, 360, 2083, 2085, + /* 1700 */ 2086, 2087, 2088, 2090, 2, 441, 2784, 2007, 789, 847, + /* 1710 */ 363, 362, 2065, 909, 619, 2127, 3004, 464, 2075, 2068, + /* 1720 */ 365, 364, 195, 2056, 1854, 639, 182, 406, 2111, 184, + /* 1730 */ 1844, 2815, 357, 163, 3010, 230, 896, 367, 366, 3005, + /* 1740 */ 824, 598, 181, 641, 2400, 2399, 404, 88, 442, 600, + /* 1750 */ 87, 1699, 369, 368, 371, 370, 373, 372, 1628, 398, + /* 1760 */ 578, 443, 375, 374, 377, 376, 379, 378, 381, 380, + /* 1770 */ 131, 828, 128, 264, 654, 652, 649, 647, 831, 948, + /* 1780 */ 949, 2315, 2957, 1601, 803, 486, 810, 482, 844, 2607, + /* 1790 */ 531, 549, 2321, 2522, 782, 2958, 1730, 332, 2968, 818, + /* 1800 */ 819, 463, 1620, 1618, 1629, 327, 335, 1996, 2608, 1738, + /* 1810 */ 5, 2434, 1745, 586, 534, 539, 1743, 458, 2007, 74, + /* 1820 */ 548, 2017, 238, 559, 239, 187, 560, 1995, 562, 1602, + /* 1830 */ 391, 241, 1878, 2008, 576, 252, 583, 1975, 585, 1951, + /* 1840 */ 591, 589, 633, 609, 2609, 2588, 596, 627, 626, 625, + /* 1850 */ 624, 623, 618, 617, 616, 615, 446, 620, 75, 605, + /* 1860 */ 604, 603, 602, 601, 595, 594, 593, 2796, 588, 587, + /* 1870 */ 461, 509, 508, 1976, 579, 1818, 1819, 2600, 622, 629, + /* 1880 */ 646, 1837, 881, 632, 2961, 645, 643, 257, 634, 258, + /* 1890 */ 901, 900, 648, 650, 651, 261, 653, 655, 2083, 2085, + /* 1900 */ 2086, 2087, 2088, 2090, 2015, 4, 670, 671, 678, 681, + /* 1910 */ 269, 2814, 100, 99, 571, 679, 108, 243, 2010, 683, + /* 1920 */ 272, 2016, 684, 2018, 685, 275, 687, 2761, 277, 880, + /* 1930 */ 563, 561, 2019, 2623, 109, 2020, 110, 2617, 111, 696, + /* 1940 */ 717, 284, 750, 440, 719, 435, 550, 2464, 2796, 546, + /* 1950 */ 542, 538, 535, 564, 138, 751, 288, 765, 2460, 114, + /* 1960 */ 290, 767, 2011, 881, 776, 2974, 394, 189, 2691, 2688, + /* 1970 */ 177, 135, 307, 2462, 2795, 777, 2457, 2843, 2796, 190, + /* 1980 */ 310, 133, 2797, 884, 2799, 2800, 879, 2669, 191, 867, + /* 1990 */ 2844, 903, 2814, 881, 2687, 800, 3024, 784, 2906, 781, + /* 2000 */ 807, 312, 494, 2902, 2973, 2972, 845, 793, 2761, 8, + /* 2010 */ 880, 2945, 336, 816, 778, 203, 321, 324, 794, 792, + /* 2020 */ 821, 2925, 2814, 323, 791, 820, 487, 325, 328, 317, + /* 2030 */ 319, 3027, 783, 829, 832, 168, 2012, 2175, 2761, 2173, + /* 2040 */ 880, 326, 216, 1, 232, 337, 3003, 395, 331, 178, + /* 2050 */ 843, 2637, 396, 848, 179, 2795, 2636, 2635, 2843, 491, + /* 2060 */ 856, 2796, 133, 2797, 884, 2799, 2800, 879, 2922, 853, + /* 2070 */ 867, 2844, 903, 350, 73, 849, 881, 3024, 2997, 2906, + /* 2080 */ 886, 891, 888, 494, 2902, 2795, 890, 2887, 2843, 397, + /* 2090 */ 355, 2796, 133, 2797, 884, 2799, 2800, 879, 2475, 124, + /* 2100 */ 867, 2844, 903, 2753, 2752, 2814, 881, 3024, 2938, 2906, + /* 2110 */ 2748, 2747, 127, 494, 2902, 2739, 2738, 2730, 2729, 2745, + /* 2120 */ 2744, 2761, 2736, 880, 2735, 2724, 401, 1516, 384, 998, + /* 2130 */ 999, 2723, 2742, 1000, 995, 2814, 188, 64, 387, 423, + /* 2140 */ 2741, 2733, 905, 388, 1002, 2732, 769, 470, 405, 2721, + /* 2150 */ 518, 2761, 2720, 880, 434, 424, 2718, 2717, 2713, 2712, + /* 2160 */ 2526, 2711, 436, 403, 97, 2706, 536, 537, 2795, 1935, + /* 2170 */ 1936, 2843, 236, 541, 2704, 133, 2797, 884, 2799, 2800, + /* 2180 */ 879, 543, 544, 867, 2844, 903, 545, 1934, 2796, 2703, + /* 2190 */ 3024, 450, 2906, 2702, 451, 459, 494, 2902, 2795, 2700, + /* 2200 */ 551, 2843, 2699, 881, 553, 133, 2797, 884, 2799, 2800, + /* 2210 */ 879, 2698, 555, 867, 2844, 903, 2697, 557, 527, 526, + /* 2220 */ 3024, 1922, 2906, 2673, 240, 2672, 494, 2902, 1998, 242, + /* 2230 */ 1881, 2796, 2814, 98, 1880, 2650, 2649, 2648, 569, 570, + /* 2240 */ 2647, 2646, 1991, 2590, 2089, 574, 881, 1817, 2761, 577, + /* 2250 */ 880, 2587, 2586, 2580, 580, 581, 2577, 2576, 245, 101, + /* 2260 */ 2575, 2574, 2579, 2578, 2573, 247, 2572, 2570, 2569, 2796, + /* 2270 */ 2568, 2567, 2565, 249, 2084, 2814, 599, 2564, 597, 2563, + /* 2280 */ 2562, 2561, 2585, 2560, 881, 2559, 2558, 2583, 1990, 2566, + /* 2290 */ 2557, 2761, 2556, 880, 2555, 2795, 2553, 2552, 2843, 2551, + /* 2300 */ 2550, 2549, 133, 2797, 884, 2799, 2800, 879, 2548, 251, + /* 2310 */ 867, 2844, 903, 2814, 2547, 2546, 107, 2881, 863, 2906, + /* 2320 */ 2545, 2544, 2543, 494, 2902, 2615, 2584, 2582, 2542, 2761, + /* 2330 */ 2541, 880, 1823, 2540, 256, 2539, 636, 2538, 2795, 638, + /* 2340 */ 2537, 2843, 2535, 447, 2365, 133, 2797, 884, 2799, 2800, + /* 2350 */ 879, 1668, 259, 867, 2844, 903, 1672, 448, 2364, 1664, + /* 2360 */ 2879, 260, 2906, 2363, 2362, 2360, 494, 2902, 2357, 2356, + /* 2370 */ 262, 263, 656, 657, 660, 658, 2795, 2349, 661, 2843, + /* 2380 */ 211, 1545, 2796, 133, 2797, 884, 2799, 2800, 879, 662, + /* 2390 */ 664, 867, 2844, 903, 666, 665, 2336, 881, 860, 2310, + /* 2400 */ 2906, 93, 668, 265, 494, 2902, 2781, 2309, 2671, 2667, + /* 2410 */ 222, 676, 2657, 2645, 2644, 267, 94, 274, 2621, 2614, + /* 2420 */ 2452, 2359, 1999, 2355, 1994, 279, 2814, 276, 1594, 281, + /* 2430 */ 697, 699, 2353, 698, 701, 702, 703, 2351, 705, 706, + /* 2440 */ 2348, 707, 2761, 710, 880, 711, 709, 2331, 2329, 2796, + /* 2450 */ 2330, 2328, 2306, 2454, 2453, 1749, 1654, 85, 2002, 2004, + /* 2460 */ 1750, 1653, 1652, 1649, 881, 1647, 287, 1645, 1636, 2346, + /* 2470 */ 2344, 1644, 1643, 745, 1642, 901, 900, 1641, 1638, 2796, + /* 2480 */ 1637, 475, 965, 2083, 2085, 2086, 2087, 2088, 2090, 882, + /* 2490 */ 967, 1635, 2843, 2814, 881, 476, 134, 2797, 884, 2799, + /* 2500 */ 2800, 879, 2335, 477, 867, 2844, 903, 2333, 478, 2761, + /* 2510 */ 748, 880, 2305, 2906, 2304, 2303, 752, 453, 2902, 2302, + /* 2520 */ 754, 2301, 2300, 2814, 756, 758, 140, 1916, 1918, 1915, + /* 2530 */ 2670, 1920, 1891, 1906, 768, 2666, 1887, 33, 309, 2761, + /* 2540 */ 1889, 880, 68, 79, 69, 2656, 779, 313, 2643, 2642, + /* 2550 */ 3009, 17, 795, 22, 35, 780, 2795, 6, 316, 2843, + /* 2560 */ 7, 483, 23, 201, 2797, 884, 2799, 2800, 879, 771, + /* 2570 */ 24, 867, 2844, 903, 785, 1866, 1865, 2228, 787, 2202, + /* 2580 */ 192, 797, 801, 318, 2796, 799, 2795, 1006, 215, 2843, + /* 2590 */ 227, 2209, 202, 134, 2797, 884, 2799, 2800, 879, 881, + /* 2600 */ 37, 867, 2844, 903, 214, 2796, 390, 2782, 25, 36, + /* 2610 */ 2906, 2196, 95, 2168, 2166, 2903, 228, 2170, 77, 229, + /* 2620 */ 881, 994, 220, 2243, 26, 825, 3025, 2248, 2814, 2249, + /* 2630 */ 18, 990, 986, 982, 978, 2796, 385, 2242, 488, 2247, + /* 2640 */ 2246, 489, 2150, 2149, 2761, 333, 880, 71, 207, 2814, + /* 2650 */ 881, 2641, 2620, 118, 119, 2619, 340, 2204, 217, 346, + /* 2660 */ 846, 81, 120, 2613, 121, 2761, 852, 880, 348, 349, + /* 2670 */ 27, 2102, 854, 70, 351, 11, 2101, 13, 2000, 2814, + /* 2680 */ 21, 28, 132, 208, 29, 218, 20, 358, 49, 497, + /* 2690 */ 2059, 2795, 2058, 916, 2843, 2761, 2057, 880, 409, 2797, + /* 2700 */ 884, 2799, 2800, 879, 919, 32, 867, 2844, 903, 2027, + /* 2710 */ 2112, 922, 2795, 925, 50, 2843, 2035, 883, 851, 433, + /* 2720 */ 2797, 884, 2799, 2800, 879, 2796, 16, 867, 2844, 903, + /* 2730 */ 2612, 30, 31, 122, 82, 2449, 894, 887, 353, 123, + /* 2740 */ 881, 359, 2795, 128, 91, 2843, 895, 889, 2856, 198, + /* 2750 */ 2797, 884, 2799, 2800, 879, 2855, 902, 867, 2844, 903, + /* 2760 */ 2071, 80, 904, 356, 2262, 857, 2796, 908, 339, 2814, + /* 2770 */ 1731, 2261, 519, 338, 910, 912, 1728, 913, 383, 1722, + /* 2780 */ 1727, 881, 915, 1724, 918, 2761, 1718, 880, 921, 1716, + /* 2790 */ 924, 129, 308, 130, 1721, 1720, 1744, 92, 1719, 1740, + /* 2800 */ 2965, 1592, 939, 1632, 1631, 1630, 1627, 1624, 1623, 484, + /* 2810 */ 2814, 1622, 1621, 953, 1619, 1617, 1616, 955, 1615, 1662, + /* 2820 */ 1661, 234, 1613, 1612, 1610, 1611, 2761, 1609, 880, 1608, + /* 2830 */ 1607, 2796, 2795, 1658, 1656, 2843, 1604, 1603, 2354, 433, + /* 2840 */ 2797, 884, 2799, 2800, 879, 1600, 881, 867, 2844, 903, + /* 2850 */ 485, 2796, 1599, 1598, 1597, 975, 977, 976, 2352, 979, + /* 2860 */ 980, 981, 2350, 2347, 983, 984, 881, 988, 985, 987, + /* 2870 */ 989, 2796, 2327, 2795, 2325, 2814, 2843, 991, 993, 1534, + /* 2880 */ 433, 2797, 884, 2799, 2800, 879, 878, 2299, 867, 2844, + /* 2890 */ 903, 2761, 1517, 880, 997, 2814, 1522, 389, 1001, 1004, + /* 2900 */ 1524, 1986, 402, 1005, 2265, 2265, 2265, 2265, 2265, 2265, + /* 2910 */ 2265, 2761, 2265, 880, 2265, 2814, 2265, 2265, 2265, 2265, + /* 2920 */ 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 2930 */ 2265, 2761, 2265, 880, 2265, 2265, 2265, 2265, 2795, 2265, + /* 2940 */ 2265, 2843, 2265, 2265, 2265, 426, 2797, 884, 2799, 2800, + /* 2950 */ 879, 2265, 2265, 867, 2844, 903, 2796, 2265, 2795, 2265, + /* 2960 */ 2265, 2843, 2265, 2265, 2265, 201, 2797, 884, 2799, 2800, + /* 2970 */ 879, 881, 2265, 867, 2844, 903, 2796, 2265, 2795, 2265, + /* 2980 */ 2265, 2843, 2265, 2265, 2265, 432, 2797, 884, 2799, 2800, + /* 2990 */ 879, 881, 2265, 867, 2844, 903, 2265, 2872, 2265, 815, + /* 3000 */ 2814, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 3010 */ 2265, 2265, 2265, 2265, 2265, 2265, 2761, 2265, 880, 2265, + /* 3020 */ 2814, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 3026, 2265, + /* 3030 */ 2265, 2265, 2265, 2265, 2265, 2265, 2761, 2265, 880, 2265, + /* 3040 */ 498, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 3050 */ 2265, 2265, 2796, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 3060 */ 493, 2265, 2265, 2795, 2265, 2265, 2843, 881, 2265, 2265, + /* 3070 */ 433, 2797, 884, 2799, 2800, 879, 2265, 2265, 867, 2844, + /* 3080 */ 903, 2265, 2265, 2795, 2265, 2265, 2843, 2265, 2796, 2265, + /* 3090 */ 418, 2797, 884, 2799, 2800, 879, 2814, 2265, 867, 2844, + /* 3100 */ 903, 2265, 2265, 881, 2265, 2265, 2265, 2265, 2265, 2265, + /* 3110 */ 2265, 2265, 2761, 2265, 880, 2265, 2265, 2265, 2265, 2265, + /* 3120 */ 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2796, + /* 3130 */ 2265, 2265, 2814, 2265, 2265, 2265, 499, 2265, 2265, 2265, + /* 3140 */ 2265, 2265, 2265, 2265, 881, 2265, 2265, 2265, 2761, 2265, + /* 3150 */ 880, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2795, + /* 3160 */ 2265, 2265, 2843, 2265, 2265, 2265, 433, 2797, 884, 2799, + /* 3170 */ 2800, 879, 501, 2814, 867, 2844, 903, 2265, 2265, 2265, + /* 3180 */ 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2761, + /* 3190 */ 2265, 880, 2265, 2265, 2265, 2795, 2265, 2265, 2843, 2265, + /* 3200 */ 2265, 2265, 433, 2797, 884, 2799, 2800, 879, 2265, 2265, + /* 3210 */ 867, 2844, 903, 2796, 2265, 2265, 2265, 2265, 2265, 2265, + /* 3220 */ 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 881, 2265, + /* 3230 */ 2265, 2265, 2265, 2265, 2796, 2265, 2795, 2265, 2265, 2843, + /* 3240 */ 2265, 2265, 2265, 414, 2797, 884, 2799, 2800, 879, 881, + /* 3250 */ 2265, 867, 2844, 903, 2265, 2265, 2265, 2814, 2265, 2265, + /* 3260 */ 2265, 2265, 2796, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 3270 */ 2265, 2265, 2265, 2761, 2265, 880, 2265, 881, 2814, 2265, + /* 3280 */ 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 3290 */ 2265, 2265, 2265, 2265, 2761, 2265, 880, 2265, 2265, 2265, + /* 3300 */ 2265, 2265, 2796, 2265, 2265, 2265, 2814, 2265, 2265, 2265, + /* 3310 */ 2265, 2265, 2265, 2265, 2265, 2265, 2265, 881, 2265, 2265, + /* 3320 */ 764, 2265, 2761, 2843, 880, 2265, 2265, 428, 2797, 884, + /* 3330 */ 2799, 2800, 879, 2265, 2265, 867, 2844, 903, 2265, 2265, + /* 3340 */ 2265, 2795, 2265, 2265, 2843, 2796, 2814, 2265, 410, 2797, + /* 3350 */ 884, 2799, 2800, 879, 2265, 2265, 867, 2844, 903, 2265, + /* 3360 */ 881, 2265, 2761, 2265, 880, 2265, 2265, 2265, 2265, 2795, + /* 3370 */ 2265, 2265, 2843, 2265, 2265, 2265, 407, 2797, 884, 2799, + /* 3380 */ 2800, 879, 2265, 2265, 867, 2844, 903, 2796, 2265, 2814, + /* 3390 */ 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 3400 */ 2265, 2265, 881, 2265, 2265, 2761, 2265, 880, 2265, 2795, + /* 3410 */ 2265, 2265, 2843, 2265, 2265, 2265, 411, 2797, 884, 2799, + /* 3420 */ 2800, 879, 2265, 2265, 867, 2844, 903, 2796, 2265, 2265, + /* 3430 */ 2265, 2814, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 3440 */ 2265, 2265, 881, 2265, 2265, 2265, 2265, 2761, 2265, 880, + /* 3450 */ 2265, 2265, 2795, 2265, 2265, 2843, 2265, 2265, 2265, 425, + /* 3460 */ 2797, 884, 2799, 2800, 879, 2265, 2265, 867, 2844, 903, + /* 3470 */ 2796, 2814, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 3480 */ 2265, 2265, 2265, 2265, 2265, 881, 2265, 2761, 2265, 880, + /* 3490 */ 2265, 2265, 2265, 2265, 2795, 2265, 2265, 2843, 2265, 2265, + /* 3500 */ 2265, 412, 2797, 884, 2799, 2800, 879, 2265, 2265, 867, + /* 3510 */ 2844, 903, 2265, 2265, 2814, 2265, 2796, 2265, 2265, 2265, + /* 3520 */ 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 3530 */ 2761, 881, 880, 2265, 2795, 2265, 2265, 2843, 2265, 2265, + /* 3540 */ 2265, 413, 2797, 884, 2799, 2800, 879, 2265, 2265, 867, + /* 3550 */ 2844, 903, 2265, 2796, 2265, 2265, 2265, 2265, 2265, 2265, + /* 3560 */ 2814, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 881, 2265, + /* 3570 */ 2265, 2265, 2265, 2265, 2265, 2265, 2761, 2795, 880, 2265, + /* 3580 */ 2843, 2265, 2265, 2265, 429, 2797, 884, 2799, 2800, 879, + /* 3590 */ 2265, 2265, 867, 2844, 903, 2265, 2265, 2814, 2265, 2796, + /* 3600 */ 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 3610 */ 2265, 2265, 2265, 2761, 881, 880, 2265, 2265, 2265, 2265, + /* 3620 */ 2265, 2796, 2265, 2795, 2265, 2265, 2843, 2265, 2265, 2265, + /* 3630 */ 415, 2797, 884, 2799, 2800, 879, 881, 2265, 867, 2844, + /* 3640 */ 903, 2265, 2265, 2814, 2265, 2265, 2265, 2265, 2265, 2265, + /* 3650 */ 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2761, + /* 3660 */ 2795, 880, 2265, 2843, 2796, 2814, 2265, 430, 2797, 884, + /* 3670 */ 2799, 2800, 879, 2265, 2265, 867, 2844, 903, 2265, 881, + /* 3680 */ 2265, 2761, 2265, 880, 2265, 2265, 2265, 2265, 2265, 2796, + /* 3690 */ 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 3700 */ 2265, 2265, 2265, 2265, 881, 2265, 2795, 2265, 2814, 2843, + /* 3710 */ 2796, 2265, 2265, 416, 2797, 884, 2799, 2800, 879, 2265, + /* 3720 */ 2265, 867, 2844, 903, 2761, 881, 880, 2265, 2795, 2265, + /* 3730 */ 2265, 2843, 2796, 2814, 2265, 431, 2797, 884, 2799, 2800, + /* 3740 */ 879, 2265, 2265, 867, 2844, 903, 2265, 881, 2265, 2761, + /* 3750 */ 2265, 880, 2265, 2265, 2814, 2265, 2265, 2265, 2265, 2265, + /* 3760 */ 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 3770 */ 2761, 2795, 880, 2265, 2843, 2265, 2814, 2265, 417, 2797, + /* 3780 */ 884, 2799, 2800, 879, 2265, 2265, 867, 2844, 903, 2265, + /* 3790 */ 2265, 2265, 2761, 2265, 880, 2265, 2795, 2265, 2265, 2843, + /* 3800 */ 2265, 2265, 2265, 408, 2797, 884, 2799, 2800, 879, 2265, + /* 3810 */ 2265, 867, 2844, 903, 2265, 2265, 2265, 2795, 2265, 2265, + /* 3820 */ 2843, 2265, 2265, 2265, 419, 2797, 884, 2799, 2800, 879, + /* 3830 */ 2265, 2265, 867, 2844, 903, 2265, 2265, 2265, 2265, 2795, + /* 3840 */ 2265, 2265, 2843, 2265, 2265, 2265, 420, 2797, 884, 2799, + /* 3850 */ 2800, 879, 2265, 2265, 867, 2844, 903, 2796, 2265, 2265, + /* 3860 */ 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 3870 */ 2265, 2265, 881, 2265, 2265, 2265, 2796, 2265, 2265, 2265, + /* 3880 */ 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 3890 */ 2265, 881, 2265, 2265, 2265, 2265, 2796, 2265, 2265, 2265, + /* 3900 */ 2265, 2814, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 3910 */ 2265, 881, 2265, 2265, 2265, 2265, 2265, 2761, 2265, 880, + /* 3920 */ 2814, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 3930 */ 2265, 2265, 2265, 2265, 2265, 2265, 2761, 2265, 880, 2265, + /* 3940 */ 2814, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 3950 */ 2265, 2265, 2265, 2265, 2265, 2265, 2761, 2265, 880, 2265, + /* 3960 */ 2265, 2265, 2265, 2796, 2795, 2265, 2265, 2843, 2265, 2265, + /* 3970 */ 2265, 421, 2797, 884, 2799, 2800, 879, 2265, 881, 867, + /* 3980 */ 2844, 903, 2265, 2795, 2265, 2265, 2843, 2265, 2265, 2265, + /* 3990 */ 422, 2797, 884, 2799, 2800, 879, 2265, 2265, 867, 2844, + /* 4000 */ 903, 2796, 2265, 2795, 2265, 2265, 2843, 2814, 2265, 2265, + /* 4010 */ 438, 2797, 884, 2799, 2800, 879, 881, 2265, 867, 2844, + /* 4020 */ 903, 2265, 2265, 2761, 2265, 880, 2265, 2265, 2265, 2265, + /* 4030 */ 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 4040 */ 2265, 2265, 2265, 2265, 2265, 2814, 2265, 2796, 2265, 2265, + /* 4050 */ 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 4060 */ 2265, 2761, 881, 880, 2265, 2265, 2265, 2265, 2796, 2265, + /* 4070 */ 2795, 2265, 2265, 2843, 2265, 2265, 2265, 439, 2797, 884, + /* 4080 */ 2799, 2800, 879, 881, 2265, 867, 2844, 903, 2265, 2265, + /* 4090 */ 2265, 2814, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 4100 */ 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2761, 2795, 880, + /* 4110 */ 2265, 2843, 2814, 2265, 2265, 2808, 2797, 884, 2799, 2800, + /* 4120 */ 879, 2265, 2265, 867, 2844, 903, 2265, 2265, 2761, 2265, + /* 4130 */ 880, 2265, 2265, 2265, 2265, 2265, 2796, 2265, 2265, 2265, + /* 4140 */ 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 4150 */ 2265, 881, 2265, 2265, 2795, 2265, 2265, 2843, 2796, 2265, + /* 4160 */ 2265, 2807, 2797, 884, 2799, 2800, 879, 2265, 2265, 867, + /* 4170 */ 2844, 903, 2265, 881, 2265, 2795, 2265, 2265, 2843, 2796, + /* 4180 */ 2814, 2265, 2806, 2797, 884, 2799, 2800, 879, 2265, 2265, + /* 4190 */ 867, 2844, 903, 2265, 881, 2265, 2761, 2265, 880, 2265, + /* 4200 */ 2265, 2265, 2814, 2265, 2796, 2265, 2265, 2265, 2265, 2265, + /* 4210 */ 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2761, 881, + /* 4220 */ 880, 2265, 2265, 2814, 2265, 2265, 2265, 2265, 2265, 2265, + /* 4230 */ 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2761, + /* 4240 */ 2265, 880, 2265, 2795, 2265, 2265, 2843, 2265, 2814, 2265, + /* 4250 */ 455, 2797, 884, 2799, 2800, 879, 2265, 2265, 867, 2844, + /* 4260 */ 903, 2265, 2265, 2265, 2761, 2795, 880, 2265, 2843, 2265, + /* 4270 */ 2265, 2265, 456, 2797, 884, 2799, 2800, 879, 2265, 2265, + /* 4280 */ 867, 2844, 903, 2265, 2265, 2265, 2795, 2265, 2265, 2843, + /* 4290 */ 2265, 2265, 2265, 452, 2797, 884, 2799, 2800, 879, 2265, + /* 4300 */ 2265, 867, 2844, 903, 2265, 2265, 2265, 2265, 2265, 2265, + /* 4310 */ 2265, 2795, 2265, 2265, 2843, 2265, 2265, 2265, 457, 2797, + /* 4320 */ 884, 2799, 2800, 879, 2265, 2796, 867, 2844, 903, 2265, + /* 4330 */ 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 4340 */ 881, 2265, 2265, 2265, 2265, 2796, 2265, 2265, 2265, 2265, + /* 4350 */ 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 4360 */ 881, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2814, + /* 4370 */ 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 4380 */ 2265, 2265, 2265, 2265, 2265, 2761, 2265, 880, 2265, 2814, + /* 4390 */ 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 4400 */ 2265, 2265, 2265, 2265, 2265, 2761, 2265, 880, 2265, 2265, + /* 4410 */ 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 4420 */ 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, + /* 4430 */ 2265, 2265, 882, 2265, 2265, 2843, 2265, 2265, 2265, 428, + /* 4440 */ 2797, 884, 2799, 2800, 879, 2265, 2265, 867, 2844, 903, + /* 4450 */ 2265, 2265, 2795, 2265, 2265, 2843, 2265, 2265, 2265, 427, + /* 4460 */ 2797, 884, 2799, 2800, 879, 2265, 2265, 867, 2844, 903, }; static const YYCODETYPE yy_lookahead[] = { - /* 0 */ 527, 394, 527, 394, 397, 398, 397, 398, 535, 430, - /* 10 */ 535, 415, 12, 13, 418, 12, 13, 14, 15, 16, - /* 20 */ 20, 0, 22, 447, 421, 424, 553, 554, 425, 554, - /* 30 */ 429, 558, 559, 558, 559, 424, 36, 461, 38, 0, - /* 40 */ 429, 385, 21, 467, 468, 24, 25, 26, 27, 28, - /* 50 */ 29, 30, 31, 32, 20, 20, 400, 456, 8, 9, - /* 60 */ 399, 400, 12, 13, 14, 15, 16, 456, 68, 21, - /* 70 */ 491, 71, 24, 25, 26, 27, 28, 29, 30, 31, - /* 80 */ 32, 429, 82, 8, 9, 429, 21, 12, 13, 14, - /* 90 */ 15, 16, 8, 9, 20, 20, 12, 13, 14, 15, - /* 100 */ 16, 445, 37, 447, 39, 40, 41, 42, 456, 399, - /* 110 */ 443, 399, 112, 446, 447, 115, 77, 78, 79, 80, - /* 120 */ 81, 68, 83, 84, 85, 86, 87, 88, 89, 90, + /* 0 */ 529, 395, 0, 529, 398, 399, 395, 431, 537, 398, + /* 10 */ 399, 537, 12, 13, 444, 518, 519, 447, 448, 431, + /* 20 */ 20, 0, 22, 448, 20, 433, 555, 556, 436, 20, + /* 30 */ 556, 560, 561, 400, 560, 561, 36, 462, 38, 0, + /* 40 */ 386, 386, 21, 468, 469, 24, 25, 26, 27, 28, + /* 50 */ 29, 30, 31, 32, 21, 20, 401, 8, 9, 400, + /* 60 */ 401, 12, 13, 14, 15, 16, 0, 431, 68, 20, + /* 70 */ 37, 71, 39, 40, 41, 42, 74, 20, 442, 529, + /* 80 */ 400, 401, 82, 450, 451, 430, 453, 537, 496, 456, + /* 90 */ 24, 25, 26, 27, 28, 29, 30, 31, 32, 430, + /* 100 */ 446, 446, 510, 448, 400, 401, 556, 20, 439, 440, + /* 110 */ 560, 561, 112, 400, 401, 115, 77, 78, 79, 80, + /* 120 */ 81, 117, 83, 84, 85, 86, 87, 88, 89, 90, /* 130 */ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - /* 140 */ 101, 102, 103, 104, 105, 106, 107, 108, 492, 115, - /* 150 */ 115, 495, 152, 153, 400, 499, 500, 501, 502, 503, - /* 160 */ 504, 432, 432, 507, 508, 435, 116, 114, 458, 513, - /* 170 */ 460, 515, 119, 8, 9, 519, 520, 12, 13, 14, - /* 180 */ 15, 16, 385, 429, 523, 524, 525, 447, 527, 528, - /* 190 */ 409, 191, 192, 481, 482, 539, 535, 400, 417, 408, - /* 200 */ 116, 201, 202, 547, 0, 8, 9, 467, 468, 12, - /* 210 */ 13, 14, 15, 16, 553, 554, 216, 426, 218, 558, - /* 220 */ 559, 20, 44, 223, 495, 495, 429, 436, 24, 25, - /* 230 */ 26, 27, 28, 29, 30, 31, 32, 508, 508, 186, - /* 240 */ 75, 115, 445, 382, 447, 145, 146, 147, 148, 149, - /* 250 */ 150, 151, 252, 253, 254, 501, 256, 257, 258, 259, - /* 260 */ 260, 261, 262, 263, 264, 265, 266, 20, 193, 269, + /* 140 */ 101, 102, 103, 104, 105, 106, 107, 108, 493, 4, + /* 150 */ 383, 496, 152, 153, 0, 500, 501, 502, 503, 504, + /* 160 */ 505, 152, 153, 508, 509, 510, 20, 454, 23, 433, + /* 170 */ 515, 429, 517, 68, 8, 9, 521, 522, 12, 13, + /* 180 */ 14, 15, 16, 386, 525, 526, 527, 445, 529, 530, + /* 190 */ 430, 191, 192, 48, 49, 50, 541, 20, 401, 439, + /* 200 */ 440, 201, 202, 20, 549, 525, 526, 527, 3, 529, + /* 210 */ 530, 12, 13, 14, 15, 16, 216, 537, 218, 114, + /* 220 */ 14, 20, 44, 223, 119, 20, 20, 430, 524, 525, + /* 230 */ 526, 527, 496, 529, 530, 555, 556, 155, 20, 472, + /* 240 */ 560, 561, 193, 446, 477, 448, 510, 410, 191, 192, + /* 250 */ 490, 491, 252, 253, 254, 418, 256, 257, 258, 259, + /* 260 */ 260, 261, 262, 263, 264, 265, 266, 400, 401, 269, /* 270 */ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - /* 280 */ 280, 281, 282, 12, 13, 14, 0, 385, 20, 492, - /* 290 */ 125, 20, 495, 22, 399, 400, 499, 500, 501, 502, - /* 300 */ 503, 504, 400, 20, 507, 508, 399, 36, 511, 38, - /* 310 */ 513, 514, 515, 116, 447, 432, 519, 520, 8, 9, - /* 320 */ 399, 400, 12, 13, 14, 15, 16, 430, 461, 254, - /* 330 */ 14, 429, 471, 155, 467, 468, 20, 476, 441, 68, - /* 340 */ 54, 307, 71, 33, 20, 20, 75, 445, 453, 447, - /* 350 */ 527, 429, 268, 82, 4, 190, 449, 450, 535, 452, - /* 360 */ 438, 439, 455, 20, 8, 9, 12, 13, 12, 13, - /* 370 */ 14, 15, 16, 23, 20, 145, 22, 554, 495, 149, - /* 380 */ 20, 558, 559, 112, 0, 117, 115, 385, 527, 395, - /* 390 */ 36, 508, 38, 399, 492, 401, 535, 495, 48, 49, - /* 400 */ 50, 499, 500, 501, 502, 503, 504, 505, 190, 507, - /* 410 */ 508, 509, 510, 0, 553, 554, 155, 516, 517, 558, - /* 420 */ 559, 0, 68, 152, 153, 71, 116, 4, 2, 75, - /* 430 */ 20, 20, 267, 307, 8, 9, 82, 155, 12, 13, - /* 440 */ 14, 15, 16, 522, 523, 524, 525, 445, 527, 528, - /* 450 */ 3, 286, 287, 288, 289, 290, 291, 292, 293, 294, - /* 460 */ 295, 406, 191, 192, 395, 14, 112, 20, 399, 115, - /* 470 */ 401, 20, 201, 202, 296, 297, 298, 299, 300, 301, - /* 480 */ 302, 303, 304, 429, 20, 267, 22, 216, 433, 218, - /* 490 */ 77, 78, 79, 439, 223, 152, 153, 84, 85, 86, - /* 500 */ 36, 254, 0, 90, 286, 20, 152, 153, 95, 96, - /* 510 */ 97, 98, 152, 153, 101, 191, 192, 74, 105, 106, - /* 520 */ 107, 108, 58, 252, 253, 254, 115, 256, 257, 258, - /* 530 */ 259, 260, 261, 262, 263, 264, 265, 266, 115, 155, - /* 540 */ 269, 270, 271, 272, 385, 191, 192, 276, 277, 278, - /* 550 */ 279, 280, 281, 282, 170, 201, 202, 22, 297, 298, - /* 560 */ 299, 201, 202, 116, 208, 12, 13, 399, 400, 399, - /* 570 */ 216, 36, 218, 399, 400, 22, 74, 223, 296, 297, - /* 580 */ 298, 299, 300, 301, 302, 303, 304, 419, 13, 36, - /* 590 */ 429, 38, 171, 419, 74, 8, 9, 176, 437, 12, - /* 600 */ 13, 14, 15, 16, 445, 184, 252, 253, 254, 448, - /* 610 */ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - /* 620 */ 266, 68, 399, 269, 270, 271, 272, 115, 38, 471, - /* 630 */ 276, 277, 278, 279, 280, 281, 282, 283, 12, 13, - /* 640 */ 193, 529, 191, 531, 54, 428, 20, 112, 22, 22, - /* 650 */ 112, 481, 482, 63, 64, 65, 66, 82, 68, 12, - /* 660 */ 13, 444, 36, 36, 38, 127, 128, 129, 130, 131, - /* 670 */ 132, 133, 134, 135, 136, 406, 138, 139, 140, 141, - /* 680 */ 142, 143, 144, 36, 126, 527, 463, 464, 527, 14, - /* 690 */ 334, 429, 423, 535, 68, 20, 535, 71, 146, 437, - /* 700 */ 283, 75, 433, 116, 114, 254, 82, 416, 82, 119, - /* 710 */ 448, 553, 554, 228, 553, 554, 558, 559, 307, 558, - /* 720 */ 559, 12, 13, 14, 300, 301, 302, 303, 304, 20, - /* 730 */ 307, 22, 429, 112, 36, 384, 445, 386, 112, 112, - /* 740 */ 252, 115, 385, 399, 400, 36, 416, 38, 127, 128, - /* 750 */ 129, 130, 131, 132, 133, 134, 135, 136, 126, 138, - /* 760 */ 139, 140, 141, 142, 143, 144, 399, 400, 20, 216, - /* 770 */ 22, 218, 52, 41, 42, 445, 186, 68, 152, 153, - /* 780 */ 71, 399, 400, 231, 232, 195, 495, 496, 497, 199, - /* 790 */ 200, 82, 489, 490, 34, 205, 206, 453, 430, 508, - /* 800 */ 36, 419, 445, 250, 251, 252, 58, 319, 320, 321, - /* 810 */ 322, 323, 324, 325, 224, 399, 400, 191, 192, 307, - /* 820 */ 453, 112, 269, 270, 115, 495, 496, 201, 202, 276, - /* 830 */ 277, 278, 279, 280, 281, 419, 430, 431, 508, 77, - /* 840 */ 78, 79, 216, 427, 218, 73, 84, 85, 86, 223, - /* 850 */ 446, 447, 90, 121, 122, 420, 124, 95, 96, 97, - /* 860 */ 98, 152, 153, 101, 429, 218, 191, 105, 106, 107, - /* 870 */ 108, 146, 147, 399, 400, 440, 151, 145, 252, 253, - /* 880 */ 254, 149, 256, 257, 258, 259, 260, 261, 262, 263, - /* 890 */ 264, 265, 266, 419, 4, 269, 270, 271, 272, 36, - /* 900 */ 191, 192, 276, 277, 278, 279, 280, 281, 282, 19, - /* 910 */ 201, 202, 498, 193, 8, 9, 218, 385, 12, 13, - /* 920 */ 14, 15, 16, 511, 204, 216, 514, 218, 38, 254, - /* 930 */ 8, 9, 223, 430, 12, 13, 14, 15, 16, 442, - /* 940 */ 526, 471, 445, 22, 54, 82, 476, 54, 250, 251, - /* 950 */ 115, 61, 62, 47, 59, 60, 63, 36, 68, 66, - /* 960 */ 67, 252, 253, 254, 186, 256, 257, 258, 259, 260, - /* 970 */ 261, 262, 263, 264, 265, 266, 429, 445, 269, 270, - /* 980 */ 271, 272, 218, 211, 437, 276, 277, 278, 279, 280, - /* 990 */ 281, 282, 12, 13, 22, 448, 385, 527, 220, 471, - /* 1000 */ 20, 420, 22, 82, 114, 535, 399, 400, 36, 119, - /* 1010 */ 429, 400, 240, 241, 250, 251, 36, 429, 38, 399, - /* 1020 */ 400, 440, 116, 553, 554, 437, 419, 47, 558, 559, - /* 1030 */ 14, 15, 16, 112, 385, 430, 448, 429, 116, 419, - /* 1040 */ 429, 23, 385, 4, 399, 400, 438, 439, 68, 400, - /* 1050 */ 215, 71, 217, 430, 82, 527, 445, 385, 447, 399, - /* 1060 */ 400, 430, 82, 535, 419, 8, 9, 49, 50, 12, - /* 1070 */ 13, 14, 15, 16, 13, 12, 13, 498, 429, 419, - /* 1080 */ 20, 553, 554, 20, 249, 22, 558, 559, 399, 400, - /* 1090 */ 404, 405, 112, 430, 445, 115, 447, 489, 490, 36, - /* 1100 */ 429, 38, 445, 492, 47, 526, 495, 385, 419, 425, - /* 1110 */ 499, 500, 501, 502, 503, 504, 2, 445, 507, 508, - /* 1120 */ 399, 400, 8, 9, 413, 414, 12, 13, 14, 15, - /* 1130 */ 16, 68, 152, 153, 71, 20, 283, 216, 285, 218, - /* 1140 */ 419, 492, 307, 82, 495, 82, 399, 400, 499, 500, - /* 1150 */ 501, 502, 503, 504, 1, 2, 507, 508, 196, 548, - /* 1160 */ 549, 490, 513, 512, 515, 514, 419, 445, 519, 520, - /* 1170 */ 486, 191, 192, 252, 253, 112, 413, 414, 115, 399, - /* 1180 */ 400, 201, 202, 8, 9, 399, 400, 12, 13, 14, - /* 1190 */ 15, 16, 399, 400, 404, 405, 216, 498, 218, 419, - /* 1200 */ 8, 9, 0, 223, 12, 13, 14, 15, 16, 512, - /* 1210 */ 20, 514, 419, 8, 9, 152, 153, 12, 13, 14, - /* 1220 */ 15, 16, 8, 9, 22, 526, 12, 13, 14, 15, - /* 1230 */ 16, 0, 252, 253, 254, 20, 256, 257, 258, 259, - /* 1240 */ 260, 261, 262, 263, 264, 265, 266, 388, 389, 269, - /* 1250 */ 270, 271, 272, 193, 191, 192, 276, 277, 278, 279, - /* 1260 */ 280, 281, 282, 0, 201, 202, 8, 9, 429, 116, - /* 1270 */ 12, 13, 14, 15, 16, 313, 314, 315, 316, 216, - /* 1280 */ 429, 218, 399, 400, 399, 400, 223, 448, 8, 9, - /* 1290 */ 408, 116, 12, 13, 14, 15, 16, 399, 400, 448, - /* 1300 */ 3, 385, 419, 471, 419, 47, 191, 20, 116, 523, - /* 1310 */ 524, 525, 427, 527, 528, 252, 253, 254, 436, 256, - /* 1320 */ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - /* 1330 */ 399, 400, 269, 270, 271, 272, 0, 399, 400, 276, - /* 1340 */ 277, 278, 279, 280, 281, 282, 12, 13, 309, 442, - /* 1350 */ 419, 18, 445, 20, 20, 385, 22, 419, 385, 527, - /* 1360 */ 27, 445, 429, 30, 234, 33, 236, 535, 471, 254, - /* 1370 */ 36, 38, 38, 440, 20, 471, 145, 146, 147, 148, - /* 1380 */ 149, 150, 151, 399, 400, 553, 554, 54, 385, 56, - /* 1390 */ 558, 559, 385, 147, 61, 62, 116, 151, 442, 33, - /* 1400 */ 33, 445, 68, 419, 0, 71, 73, 193, 145, 146, - /* 1410 */ 147, 148, 149, 150, 151, 445, 82, 385, 445, 12, - /* 1420 */ 13, 523, 524, 525, 527, 527, 528, 33, 385, 22, - /* 1430 */ 44, 527, 535, 399, 400, 91, 14, 120, 126, 535, - /* 1440 */ 123, 47, 20, 36, 254, 38, 112, 114, 445, 115, - /* 1450 */ 553, 554, 445, 419, 68, 558, 559, 553, 554, 126, - /* 1460 */ 8, 9, 558, 559, 12, 13, 14, 15, 16, 254, - /* 1470 */ 33, 225, 267, 385, 385, 68, 230, 445, 385, 233, - /* 1480 */ 193, 235, 33, 116, 399, 400, 152, 153, 445, 82, - /* 1490 */ 157, 158, 180, 160, 161, 162, 163, 164, 165, 166, - /* 1500 */ 167, 168, 169, 159, 419, 172, 173, 174, 175, 176, - /* 1510 */ 177, 178, 179, 385, 181, 182, 183, 0, 385, 112, - /* 1520 */ 187, 188, 189, 399, 400, 191, 192, 194, 184, 185, - /* 1530 */ 429, 399, 400, 445, 445, 201, 202, 0, 445, 36, - /* 1540 */ 33, 254, 198, 419, 13, 120, 13, 193, 123, 448, - /* 1550 */ 216, 419, 218, 116, 47, 120, 68, 223, 123, 155, - /* 1560 */ 120, 44, 0, 123, 75, 116, 13, 36, 33, 36, - /* 1570 */ 33, 33, 33, 445, 33, 152, 153, 477, 445, 0, - /* 1580 */ 244, 1, 2, 33, 22, 82, 252, 253, 254, 36, - /* 1590 */ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - /* 1600 */ 266, 22, 0, 269, 270, 271, 272, 119, 254, 33, - /* 1610 */ 276, 277, 278, 279, 280, 281, 282, 18, 33, 33, - /* 1620 */ 385, 33, 23, 216, 22, 218, 329, 115, 33, 117, - /* 1630 */ 33, 386, 51, 33, 33, 400, 33, 33, 33, 12, - /* 1640 */ 13, 42, 43, 12, 13, 46, 12, 13, 12, 13, - /* 1650 */ 385, 116, 12, 13, 116, 116, 57, 116, 36, 252, - /* 1660 */ 253, 12, 13, 331, 429, 400, 116, 402, 69, 70, - /* 1670 */ 71, 72, 73, 12, 13, 33, 269, 270, 12, 13, - /* 1680 */ 445, 417, 447, 276, 277, 278, 279, 280, 281, 12, - /* 1690 */ 13, 33, 116, 33, 429, 36, 115, 12, 13, 333, - /* 1700 */ 33, 116, 116, 33, 116, 12, 13, 0, 33, 13, - /* 1710 */ 445, 116, 447, 116, 115, 36, 116, 116, 457, 116, - /* 1720 */ 116, 116, 529, 562, 36, 551, 544, 492, 530, 403, - /* 1730 */ 495, 429, 36, 398, 499, 500, 501, 502, 503, 504, - /* 1740 */ 416, 252, 507, 508, 416, 457, 550, 550, 513, 550, - /* 1750 */ 515, 470, 457, 154, 519, 520, 385, 492, 116, 550, - /* 1760 */ 495, 82, 55, 403, 499, 500, 501, 502, 503, 504, - /* 1770 */ 82, 400, 507, 508, 116, 385, 116, 493, 513, 400, - /* 1780 */ 515, 444, 547, 116, 519, 520, 116, 478, 457, 534, - /* 1790 */ 400, 116, 402, 534, 555, 457, 521, 537, 457, 418, - /* 1800 */ 429, 310, 472, 20, 54, 494, 20, 208, 209, 210, - /* 1810 */ 399, 233, 213, 488, 408, 399, 445, 408, 447, 429, - /* 1820 */ 214, 474, 483, 483, 20, 226, 227, 400, 47, 454, - /* 1830 */ 400, 454, 399, 190, 451, 445, 400, 447, 239, 454, - /* 1840 */ 218, 242, 399, 451, 245, 246, 247, 248, 249, 451, - /* 1850 */ 451, 113, 111, 412, 399, 411, 399, 110, 410, 399, - /* 1860 */ 399, 399, 20, 492, 392, 52, 495, 396, 392, 396, - /* 1870 */ 499, 500, 501, 502, 503, 504, 483, 218, 507, 508, - /* 1880 */ 20, 447, 492, 408, 385, 495, 408, 408, 20, 499, - /* 1890 */ 500, 501, 502, 503, 504, 401, 20, 507, 508, 400, - /* 1900 */ 408, 402, 473, 513, 408, 515, 307, 401, 20, 519, - /* 1910 */ 520, 464, 408, 20, 458, 399, 408, 408, 408, 392, - /* 1920 */ 399, 385, 429, 237, 429, 445, 429, 429, 429, 429, - /* 1930 */ 429, 560, 561, 388, 429, 388, 400, 487, 402, 115, - /* 1940 */ 429, 392, 429, 429, 445, 20, 447, 429, 485, 483, - /* 1950 */ 406, 482, 222, 221, 480, 472, 479, 406, 399, 318, - /* 1960 */ 445, 543, 317, 543, 445, 429, 207, 447, 445, 545, - /* 1970 */ 326, 306, 385, 542, 546, 543, 328, 327, 305, 541, - /* 1980 */ 563, 445, 311, 447, 533, 540, 532, 400, 335, 402, - /* 1990 */ 465, 492, 330, 465, 495, 332, 472, 20, 499, 500, - /* 2000 */ 501, 502, 503, 504, 126, 538, 507, 508, 385, 400, - /* 2010 */ 557, 308, 513, 401, 515, 556, 429, 536, 519, 520, - /* 2020 */ 498, 406, 406, 400, 199, 402, 465, 445, 492, 445, - /* 2030 */ 465, 495, 445, 462, 447, 499, 500, 501, 502, 503, - /* 2040 */ 504, 445, 115, 507, 508, 406, 199, 458, 518, 513, - /* 2050 */ 459, 515, 429, 445, 385, 519, 520, 406, 445, 445, - /* 2060 */ 406, 406, 445, 425, 400, 458, 445, 115, 445, 400, - /* 2070 */ 447, 445, 22, 445, 445, 445, 387, 445, 445, 492, - /* 2080 */ 445, 399, 495, 35, 37, 390, 499, 500, 501, 502, - /* 2090 */ 503, 504, 445, 391, 507, 508, 385, 445, 429, 40, - /* 2100 */ 513, 445, 515, 406, 484, 393, 519, 520, 392, 491, - /* 2110 */ 383, 400, 434, 445, 445, 492, 447, 445, 495, 445, - /* 2120 */ 422, 445, 499, 500, 501, 502, 503, 504, 445, 445, - /* 2130 */ 507, 508, 445, 407, 385, 445, 513, 445, 515, 445, - /* 2140 */ 429, 431, 519, 520, 445, 445, 422, 466, 431, 400, - /* 2150 */ 422, 0, 0, 0, 47, 475, 445, 466, 447, 0, - /* 2160 */ 36, 492, 243, 36, 495, 36, 36, 243, 499, 500, - /* 2170 */ 501, 502, 503, 504, 0, 36, 507, 508, 429, 36, - /* 2180 */ 243, 36, 513, 0, 515, 0, 243, 0, 519, 520, - /* 2190 */ 36, 0, 36, 0, 445, 22, 447, 0, 36, 238, - /* 2200 */ 0, 0, 224, 492, 224, 218, 495, 225, 216, 0, - /* 2210 */ 499, 500, 501, 502, 503, 504, 212, 211, 507, 508, - /* 2220 */ 0, 385, 0, 0, 513, 0, 515, 158, 51, 51, - /* 2230 */ 519, 520, 0, 0, 36, 0, 400, 0, 36, 51, - /* 2240 */ 54, 492, 0, 47, 495, 0, 0, 0, 499, 500, - /* 2250 */ 501, 502, 503, 504, 1, 51, 507, 508, 0, 0, - /* 2260 */ 0, 0, 0, 0, 515, 429, 176, 36, 519, 520, - /* 2270 */ 385, 0, 19, 176, 0, 0, 0, 0, 0, 0, - /* 2280 */ 0, 445, 0, 447, 0, 400, 0, 0, 0, 0, - /* 2290 */ 0, 38, 0, 0, 0, 0, 0, 0, 0, 51, - /* 2300 */ 0, 47, 0, 0, 0, 0, 53, 54, 0, 0, - /* 2310 */ 0, 0, 0, 22, 429, 158, 63, 64, 65, 66, - /* 2320 */ 0, 68, 157, 0, 156, 0, 0, 0, 492, 22, - /* 2330 */ 445, 495, 447, 52, 68, 499, 500, 501, 502, 503, - /* 2340 */ 504, 22, 0, 507, 508, 0, 0, 0, 0, 36, - /* 2350 */ 0, 515, 36, 52, 0, 519, 520, 36, 0, 0, - /* 2360 */ 0, 0, 44, 14, 36, 0, 36, 114, 44, 33, - /* 2370 */ 0, 54, 119, 0, 68, 385, 54, 492, 44, 47, - /* 2380 */ 495, 0, 68, 68, 499, 500, 501, 502, 503, 504, - /* 2390 */ 400, 54, 507, 508, 51, 44, 0, 45, 0, 207, - /* 2400 */ 515, 0, 385, 150, 519, 520, 51, 44, 51, 76, - /* 2410 */ 44, 0, 0, 51, 36, 51, 44, 400, 0, 429, - /* 2420 */ 36, 385, 54, 54, 44, 0, 36, 44, 54, 0, - /* 2430 */ 36, 54, 44, 0, 0, 445, 400, 447, 0, 0, - /* 2440 */ 0, 0, 385, 36, 22, 0, 429, 33, 195, 22, - /* 2450 */ 197, 36, 36, 200, 33, 36, 125, 400, 205, 36, - /* 2460 */ 36, 123, 445, 0, 447, 429, 36, 36, 36, 22, - /* 2470 */ 22, 36, 36, 36, 0, 22, 0, 224, 36, 22, - /* 2480 */ 0, 445, 492, 447, 56, 495, 429, 22, 385, 499, - /* 2490 */ 500, 501, 502, 503, 504, 36, 0, 507, 508, 0, - /* 2500 */ 0, 0, 445, 400, 447, 515, 36, 36, 0, 492, - /* 2510 */ 520, 36, 495, 0, 22, 20, 499, 500, 501, 502, - /* 2520 */ 503, 504, 36, 506, 507, 508, 469, 36, 492, 36, - /* 2530 */ 0, 495, 429, 116, 193, 499, 500, 501, 502, 503, - /* 2540 */ 504, 115, 0, 507, 508, 51, 193, 36, 445, 492, - /* 2550 */ 447, 22, 495, 0, 22, 385, 499, 500, 501, 502, - /* 2560 */ 503, 504, 0, 228, 507, 508, 115, 223, 229, 193, - /* 2570 */ 400, 0, 469, 3, 385, 193, 33, 312, 199, 193, - /* 2580 */ 116, 115, 115, 36, 116, 549, 219, 115, 203, 400, - /* 2590 */ 203, 36, 52, 52, 113, 492, 111, 33, 495, 429, - /* 2600 */ 33, 385, 499, 500, 501, 502, 503, 504, 33, 51, - /* 2610 */ 507, 508, 51, 116, 116, 445, 400, 447, 429, 115, - /* 2620 */ 33, 115, 115, 3, 33, 116, 82, 115, 36, 33, - /* 2630 */ 116, 115, 51, 116, 445, 116, 447, 36, 36, 36, - /* 2640 */ 36, 36, 36, 116, 116, 429, 33, 0, 51, 0, - /* 2650 */ 115, 44, 312, 116, 116, 0, 196, 0, 44, 44, - /* 2660 */ 115, 445, 492, 447, 115, 495, 116, 115, 195, 499, - /* 2670 */ 500, 501, 502, 503, 504, 115, 33, 507, 508, 200, - /* 2680 */ 2, 492, 113, 312, 495, 296, 196, 284, 499, 500, - /* 2690 */ 501, 502, 503, 504, 22, 113, 507, 508, 252, 115, - /* 2700 */ 115, 115, 51, 115, 51, 116, 22, 255, 492, 116, - /* 2710 */ 115, 495, 0, 115, 385, 499, 500, 501, 502, 503, - /* 2720 */ 504, 44, 552, 507, 508, 115, 510, 115, 117, 400, - /* 2730 */ 196, 0, 115, 22, 116, 116, 115, 115, 115, 115, - /* 2740 */ 115, 385, 116, 115, 115, 118, 51, 115, 115, 115, - /* 2750 */ 561, 116, 115, 229, 22, 116, 400, 126, 429, 36, - /* 2760 */ 36, 115, 36, 36, 116, 115, 36, 137, 116, 36, - /* 2770 */ 116, 36, 116, 137, 445, 116, 447, 137, 385, 137, - /* 2780 */ 115, 33, 115, 36, 115, 429, 22, 22, 36, 76, - /* 2790 */ 75, 36, 36, 400, 36, 109, 36, 36, 469, 36, - /* 2800 */ 82, 445, 36, 447, 36, 385, 36, 36, 109, 33, - /* 2810 */ 82, 36, 22, 36, 36, 36, 36, 36, 82, 36, - /* 2820 */ 400, 492, 429, 36, 495, 469, 22, 36, 499, 500, - /* 2830 */ 501, 502, 503, 504, 36, 36, 507, 508, 445, 36, - /* 2840 */ 447, 0, 36, 54, 44, 0, 36, 54, 492, 429, - /* 2850 */ 0, 495, 44, 36, 0, 499, 500, 501, 502, 503, - /* 2860 */ 504, 54, 469, 507, 508, 445, 44, 447, 36, 385, - /* 2870 */ 54, 44, 0, 36, 0, 22, 36, 0, 22, 33, - /* 2880 */ 36, 22, 21, 36, 400, 492, 22, 22, 495, 469, - /* 2890 */ 385, 21, 499, 500, 501, 502, 503, 504, 20, 564, - /* 2900 */ 507, 508, 564, 564, 564, 400, 564, 564, 564, 564, - /* 2910 */ 385, 564, 492, 429, 564, 495, 564, 564, 564, 499, - /* 2920 */ 500, 501, 502, 503, 504, 400, 564, 507, 508, 445, - /* 2930 */ 564, 447, 564, 564, 429, 564, 385, 564, 564, 564, - /* 2940 */ 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, - /* 2950 */ 445, 400, 447, 564, 429, 564, 564, 564, 564, 564, - /* 2960 */ 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, - /* 2970 */ 445, 564, 447, 564, 564, 385, 492, 564, 564, 495, - /* 2980 */ 429, 564, 564, 499, 500, 501, 502, 503, 504, 564, - /* 2990 */ 400, 507, 508, 564, 564, 564, 445, 492, 447, 564, - /* 3000 */ 495, 385, 564, 564, 499, 500, 501, 502, 503, 504, - /* 3010 */ 564, 564, 507, 508, 564, 564, 400, 492, 564, 429, - /* 3020 */ 495, 564, 564, 564, 499, 500, 501, 502, 503, 504, - /* 3030 */ 564, 564, 507, 508, 564, 445, 564, 447, 564, 564, - /* 3040 */ 564, 564, 564, 492, 564, 429, 495, 564, 564, 564, - /* 3050 */ 499, 500, 501, 502, 503, 504, 564, 564, 507, 508, - /* 3060 */ 564, 445, 564, 447, 564, 564, 564, 564, 564, 564, - /* 3070 */ 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, - /* 3080 */ 564, 564, 492, 564, 564, 495, 564, 564, 564, 499, - /* 3090 */ 500, 501, 502, 503, 504, 564, 564, 507, 508, 564, - /* 3100 */ 564, 564, 564, 564, 564, 564, 385, 564, 492, 564, - /* 3110 */ 564, 495, 564, 564, 564, 499, 500, 501, 502, 503, - /* 3120 */ 504, 400, 564, 507, 508, 564, 564, 385, 564, 564, - /* 3130 */ 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, - /* 3140 */ 564, 564, 400, 564, 385, 564, 564, 564, 564, 564, - /* 3150 */ 429, 564, 564, 564, 564, 564, 564, 564, 564, 400, - /* 3160 */ 564, 564, 564, 564, 564, 564, 445, 564, 447, 564, - /* 3170 */ 564, 429, 564, 564, 564, 564, 564, 564, 564, 564, - /* 3180 */ 564, 564, 564, 564, 564, 564, 564, 445, 429, 447, - /* 3190 */ 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, - /* 3200 */ 564, 564, 564, 564, 445, 564, 447, 564, 564, 564, - /* 3210 */ 564, 385, 564, 492, 564, 564, 495, 564, 564, 564, - /* 3220 */ 499, 500, 501, 502, 503, 504, 400, 564, 507, 508, - /* 3230 */ 564, 564, 564, 564, 492, 564, 564, 495, 564, 564, - /* 3240 */ 564, 499, 500, 501, 502, 503, 504, 564, 564, 507, - /* 3250 */ 508, 492, 564, 385, 495, 429, 564, 564, 499, 500, - /* 3260 */ 501, 502, 503, 504, 564, 564, 507, 508, 400, 564, - /* 3270 */ 564, 445, 564, 447, 564, 385, 564, 564, 564, 564, - /* 3280 */ 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, - /* 3290 */ 400, 564, 564, 564, 564, 564, 385, 429, 564, 564, - /* 3300 */ 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, - /* 3310 */ 564, 400, 564, 445, 564, 447, 564, 385, 492, 429, - /* 3320 */ 564, 495, 564, 564, 564, 499, 500, 501, 502, 503, - /* 3330 */ 504, 564, 400, 507, 508, 445, 564, 447, 564, 564, - /* 3340 */ 429, 564, 564, 564, 564, 564, 564, 564, 564, 564, - /* 3350 */ 564, 564, 564, 564, 564, 564, 445, 564, 447, 564, - /* 3360 */ 492, 429, 564, 495, 564, 564, 564, 499, 500, 501, - /* 3370 */ 502, 503, 504, 564, 564, 507, 508, 445, 564, 447, - /* 3380 */ 564, 564, 492, 564, 385, 495, 564, 564, 564, 499, - /* 3390 */ 500, 501, 502, 503, 504, 564, 564, 507, 508, 400, - /* 3400 */ 564, 564, 564, 492, 564, 385, 495, 564, 564, 564, - /* 3410 */ 499, 500, 501, 502, 503, 504, 564, 564, 507, 508, - /* 3420 */ 400, 564, 564, 564, 492, 564, 564, 495, 429, 564, - /* 3430 */ 564, 499, 500, 501, 502, 503, 504, 564, 564, 507, - /* 3440 */ 508, 564, 564, 564, 445, 564, 447, 564, 564, 429, - /* 3450 */ 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, - /* 3460 */ 564, 564, 564, 564, 564, 445, 564, 447, 564, 564, - /* 3470 */ 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, - /* 3480 */ 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, - /* 3490 */ 564, 492, 564, 564, 495, 564, 564, 564, 499, 500, - /* 3500 */ 501, 502, 503, 504, 564, 564, 507, 508, 564, 564, - /* 3510 */ 385, 564, 492, 564, 564, 495, 564, 564, 564, 499, - /* 3520 */ 500, 501, 502, 503, 504, 400, 564, 507, 508, 564, - /* 3530 */ 385, 564, 564, 564, 564, 564, 564, 564, 564, 564, - /* 3540 */ 564, 564, 564, 564, 564, 400, 564, 564, 564, 564, - /* 3550 */ 564, 564, 385, 564, 429, 564, 564, 564, 564, 564, - /* 3560 */ 564, 564, 564, 564, 564, 564, 564, 400, 564, 564, - /* 3570 */ 445, 564, 447, 564, 429, 564, 564, 564, 564, 564, - /* 3580 */ 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, - /* 3590 */ 445, 564, 447, 564, 564, 564, 429, 564, 564, 564, - /* 3600 */ 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, - /* 3610 */ 564, 564, 445, 564, 447, 564, 564, 492, 564, 564, - /* 3620 */ 495, 564, 564, 564, 499, 500, 501, 502, 503, 504, - /* 3630 */ 564, 564, 507, 508, 564, 385, 564, 492, 564, 564, - /* 3640 */ 495, 564, 564, 564, 499, 500, 501, 502, 503, 504, - /* 3650 */ 400, 564, 507, 508, 564, 564, 564, 385, 564, 492, - /* 3660 */ 564, 564, 495, 564, 564, 564, 499, 500, 501, 502, - /* 3670 */ 503, 504, 400, 564, 507, 508, 385, 564, 564, 429, - /* 3680 */ 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, - /* 3690 */ 564, 400, 564, 564, 564, 445, 564, 447, 564, 385, - /* 3700 */ 564, 429, 564, 564, 564, 564, 564, 564, 564, 564, - /* 3710 */ 564, 564, 564, 564, 400, 564, 564, 445, 564, 447, - /* 3720 */ 429, 564, 564, 564, 564, 564, 564, 564, 564, 564, - /* 3730 */ 564, 564, 564, 564, 564, 564, 445, 564, 447, 564, - /* 3740 */ 564, 564, 492, 429, 564, 495, 564, 564, 564, 499, - /* 3750 */ 500, 501, 502, 503, 504, 564, 564, 507, 508, 445, - /* 3760 */ 564, 447, 564, 385, 492, 564, 564, 495, 564, 564, - /* 3770 */ 564, 499, 500, 501, 502, 503, 504, 564, 400, 507, - /* 3780 */ 508, 564, 564, 492, 564, 385, 495, 564, 564, 564, - /* 3790 */ 499, 500, 501, 502, 503, 504, 564, 564, 507, 508, - /* 3800 */ 400, 564, 564, 564, 385, 564, 492, 429, 564, 495, - /* 3810 */ 564, 564, 564, 499, 500, 501, 502, 503, 504, 400, - /* 3820 */ 564, 507, 508, 445, 564, 447, 564, 564, 564, 429, - /* 3830 */ 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, - /* 3840 */ 564, 564, 564, 564, 564, 445, 564, 447, 429, 564, - /* 3850 */ 564, 564, 564, 385, 564, 564, 564, 564, 564, 564, - /* 3860 */ 564, 564, 564, 564, 445, 564, 447, 564, 400, 564, - /* 3870 */ 492, 564, 564, 495, 564, 564, 564, 499, 500, 501, - /* 3880 */ 502, 503, 504, 564, 564, 507, 508, 564, 564, 564, - /* 3890 */ 564, 564, 492, 564, 564, 495, 564, 429, 564, 499, - /* 3900 */ 500, 501, 502, 503, 504, 564, 564, 507, 508, 564, - /* 3910 */ 564, 492, 564, 445, 495, 447, 564, 564, 499, 500, - /* 3920 */ 501, 502, 503, 504, 564, 564, 507, 508, 564, 564, - /* 3930 */ 564, 564, 564, 564, 564, 564, 564, 564, 385, 564, - /* 3940 */ 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, - /* 3950 */ 564, 564, 564, 400, 564, 564, 564, 564, 385, 564, - /* 3960 */ 492, 564, 564, 495, 564, 564, 564, 499, 500, 501, - /* 3970 */ 502, 503, 504, 400, 564, 507, 508, 564, 385, 564, - /* 3980 */ 564, 564, 429, 564, 564, 564, 564, 564, 564, 564, - /* 3990 */ 564, 564, 564, 400, 564, 564, 564, 564, 445, 564, - /* 4000 */ 447, 564, 429, 564, 564, 564, 564, 564, 564, 564, - /* 4010 */ 564, 564, 564, 564, 564, 564, 564, 564, 445, 564, - /* 4020 */ 447, 564, 429, 564, 564, 564, 564, 564, 564, 564, - /* 4030 */ 564, 564, 564, 564, 564, 564, 564, 564, 445, 564, - /* 4040 */ 447, 564, 564, 564, 564, 492, 564, 564, 495, 564, - /* 4050 */ 564, 564, 499, 500, 501, 502, 503, 504, 564, 564, - /* 4060 */ 507, 508, 564, 564, 564, 492, 564, 564, 495, 564, - /* 4070 */ 564, 564, 499, 500, 501, 502, 503, 504, 564, 564, - /* 4080 */ 507, 508, 564, 564, 564, 492, 564, 564, 495, 564, - /* 4090 */ 564, 564, 499, 500, 501, 502, 503, 504, 564, 564, - /* 4100 */ 507, 508, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4110 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4120 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4130 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4140 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4150 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4160 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4170 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4180 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4190 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4200 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4210 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4220 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4230 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4240 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4250 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4260 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4270 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4280 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4290 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4300 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4310 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4320 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4330 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4340 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4350 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4360 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4370 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4380 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4390 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4400 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4410 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4420 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4430 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4440 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4450 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4460 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4470 */ 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - /* 4480 */ 382, 382, 382, 382, + /* 280 */ 280, 281, 282, 283, 12, 13, 14, 420, 400, 401, + /* 290 */ 493, 186, 20, 496, 22, 428, 529, 500, 501, 502, + /* 300 */ 503, 504, 505, 254, 537, 508, 509, 510, 36, 155, + /* 310 */ 38, 147, 515, 0, 517, 151, 115, 20, 521, 522, + /* 320 */ 20, 116, 555, 556, 170, 409, 386, 560, 561, 152, + /* 330 */ 153, 8, 9, 155, 20, 12, 13, 14, 15, 16, + /* 340 */ 68, 401, 417, 71, 8, 9, 549, 75, 12, 13, + /* 350 */ 14, 15, 16, 437, 82, 21, 33, 433, 24, 25, + /* 360 */ 26, 27, 28, 29, 30, 31, 32, 12, 13, 422, + /* 370 */ 430, 446, 73, 426, 208, 20, 193, 22, 201, 202, + /* 380 */ 298, 299, 300, 531, 112, 533, 446, 115, 448, 225, + /* 390 */ 14, 36, 430, 38, 230, 20, 20, 233, 193, 235, + /* 400 */ 438, 4, 8, 9, 12, 13, 12, 13, 14, 15, + /* 410 */ 16, 449, 115, 525, 526, 527, 155, 529, 530, 430, + /* 420 */ 496, 496, 497, 68, 152, 153, 71, 438, 36, 115, + /* 430 */ 75, 400, 401, 493, 510, 510, 496, 82, 449, 116, + /* 440 */ 500, 501, 502, 503, 504, 505, 400, 401, 508, 509, + /* 450 */ 510, 420, 116, 513, 396, 515, 516, 517, 400, 428, + /* 460 */ 402, 521, 522, 191, 192, 36, 420, 112, 186, 75, + /* 470 */ 115, 401, 254, 201, 202, 297, 298, 299, 300, 301, + /* 480 */ 302, 303, 304, 305, 171, 77, 78, 79, 216, 176, + /* 490 */ 218, 529, 84, 85, 86, 223, 44, 184, 90, 537, + /* 500 */ 430, 335, 220, 95, 96, 97, 98, 152, 153, 101, + /* 510 */ 211, 82, 115, 105, 106, 107, 108, 555, 556, 125, + /* 520 */ 68, 14, 560, 561, 252, 253, 254, 20, 256, 257, + /* 530 */ 258, 259, 260, 261, 262, 263, 264, 265, 266, 240, + /* 540 */ 241, 269, 270, 271, 272, 273, 191, 192, 74, 277, + /* 550 */ 278, 279, 280, 281, 282, 283, 201, 202, 297, 298, + /* 560 */ 299, 300, 301, 302, 303, 304, 305, 191, 430, 2, + /* 570 */ 112, 216, 502, 218, 74, 8, 9, 417, 223, 12, + /* 580 */ 13, 14, 15, 16, 190, 127, 128, 129, 130, 131, + /* 590 */ 132, 133, 134, 135, 136, 457, 138, 139, 140, 141, + /* 600 */ 142, 143, 144, 252, 268, 308, 446, 252, 253, 254, + /* 610 */ 218, 256, 257, 258, 259, 260, 261, 262, 263, 264, + /* 620 */ 265, 266, 308, 91, 269, 270, 271, 272, 273, 400, + /* 630 */ 254, 499, 277, 278, 279, 280, 281, 282, 283, 284, + /* 640 */ 12, 13, 301, 302, 303, 304, 305, 385, 20, 387, + /* 650 */ 22, 126, 36, 386, 41, 42, 496, 497, 498, 396, + /* 660 */ 528, 267, 472, 400, 36, 402, 38, 284, 401, 286, + /* 670 */ 510, 320, 321, 322, 323, 324, 325, 326, 400, 401, + /* 680 */ 448, 287, 288, 289, 290, 291, 292, 293, 294, 295, + /* 690 */ 296, 159, 386, 68, 462, 430, 68, 430, 191, 71, + /* 700 */ 468, 469, 115, 75, 20, 308, 22, 401, 448, 425, + /* 710 */ 82, 482, 483, 446, 430, 448, 184, 185, 400, 529, + /* 720 */ 36, 284, 115, 12, 13, 14, 115, 537, 468, 469, + /* 730 */ 198, 20, 454, 22, 121, 122, 430, 124, 400, 401, + /* 740 */ 112, 457, 58, 115, 119, 555, 556, 36, 472, 38, + /* 750 */ 560, 561, 446, 477, 448, 490, 491, 514, 145, 516, + /* 760 */ 493, 254, 149, 496, 0, 400, 401, 500, 501, 502, + /* 770 */ 503, 504, 505, 386, 54, 508, 509, 510, 3, 68, + /* 780 */ 152, 153, 71, 63, 517, 420, 66, 67, 521, 522, + /* 790 */ 8, 9, 454, 82, 12, 13, 14, 15, 16, 493, + /* 800 */ 482, 483, 496, 431, 432, 529, 500, 501, 502, 503, + /* 810 */ 504, 505, 506, 537, 508, 509, 510, 511, 512, 191, + /* 820 */ 192, 430, 215, 112, 217, 430, 115, 400, 401, 201, + /* 830 */ 202, 555, 556, 446, 218, 440, 560, 561, 400, 401, + /* 840 */ 449, 77, 78, 79, 216, 36, 218, 420, 84, 85, + /* 850 */ 86, 223, 146, 147, 90, 400, 249, 151, 420, 95, + /* 860 */ 96, 97, 98, 152, 153, 101, 250, 251, 400, 105, + /* 870 */ 106, 107, 108, 145, 146, 147, 148, 149, 150, 151, + /* 880 */ 252, 253, 254, 33, 256, 257, 258, 259, 260, 261, + /* 890 */ 262, 263, 264, 265, 266, 308, 196, 269, 270, 271, + /* 900 */ 272, 273, 191, 192, 23, 277, 278, 279, 280, 281, + /* 910 */ 282, 283, 201, 202, 459, 308, 461, 8, 9, 308, + /* 920 */ 112, 12, 13, 14, 15, 16, 0, 216, 82, 218, + /* 930 */ 49, 50, 464, 465, 223, 127, 128, 129, 130, 131, + /* 940 */ 132, 133, 134, 135, 136, 126, 138, 139, 140, 141, + /* 950 */ 142, 143, 144, 8, 9, 13, 47, 12, 13, 14, + /* 960 */ 15, 16, 386, 252, 253, 254, 116, 256, 257, 258, + /* 970 */ 259, 260, 261, 262, 263, 264, 265, 266, 400, 401, + /* 980 */ 269, 270, 271, 272, 273, 190, 4, 36, 277, 278, + /* 990 */ 279, 280, 281, 282, 283, 12, 13, 22, 420, 425, + /* 1000 */ 514, 19, 516, 20, 430, 22, 400, 401, 386, 400, + /* 1010 */ 401, 36, 400, 401, 314, 315, 316, 317, 478, 36, + /* 1020 */ 38, 38, 446, 401, 82, 116, 420, 218, 472, 420, + /* 1030 */ 386, 457, 420, 82, 8, 9, 54, 20, 12, 13, + /* 1040 */ 14, 15, 16, 61, 62, 430, 400, 401, 386, 267, + /* 1050 */ 68, 68, 430, 438, 71, 22, 20, 82, 22, 250, + /* 1060 */ 251, 116, 267, 401, 449, 82, 420, 431, 446, 36, + /* 1070 */ 448, 145, 146, 147, 148, 149, 150, 151, 12, 13, + /* 1080 */ 400, 401, 287, 400, 401, 529, 20, 112, 22, 0, + /* 1090 */ 446, 409, 430, 537, 58, 112, 114, 34, 115, 116, + /* 1100 */ 420, 119, 36, 420, 38, 330, 1, 2, 446, 427, + /* 1110 */ 448, 555, 556, 47, 407, 493, 560, 561, 496, 437, + /* 1120 */ 386, 430, 500, 501, 502, 503, 504, 505, 492, 421, + /* 1130 */ 508, 509, 510, 44, 68, 152, 153, 71, 430, 517, + /* 1140 */ 2, 434, 116, 521, 522, 112, 8, 9, 82, 441, + /* 1150 */ 12, 13, 14, 15, 16, 493, 400, 401, 496, 400, + /* 1160 */ 401, 0, 500, 501, 502, 503, 504, 505, 400, 401, + /* 1170 */ 508, 509, 510, 22, 191, 192, 420, 431, 112, 420, + /* 1180 */ 446, 115, 491, 20, 201, 202, 431, 36, 420, 400, + /* 1190 */ 401, 216, 430, 218, 400, 401, 400, 401, 407, 216, + /* 1200 */ 438, 218, 400, 401, 38, 0, 223, 59, 60, 420, + /* 1210 */ 193, 449, 550, 551, 420, 424, 420, 14, 152, 153, + /* 1220 */ 54, 116, 420, 20, 20, 434, 52, 252, 253, 63, + /* 1230 */ 64, 65, 66, 82, 68, 252, 253, 254, 0, 256, + /* 1240 */ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + /* 1250 */ 447, 448, 269, 270, 271, 272, 273, 191, 192, 54, + /* 1260 */ 277, 278, 279, 280, 281, 282, 283, 201, 202, 8, + /* 1270 */ 9, 254, 20, 12, 13, 14, 15, 16, 400, 401, + /* 1280 */ 114, 426, 216, 146, 218, 119, 8, 9, 430, 223, + /* 1290 */ 12, 13, 14, 15, 16, 8, 9, 421, 420, 12, + /* 1300 */ 13, 14, 15, 16, 8, 9, 430, 449, 12, 13, + /* 1310 */ 14, 15, 16, 400, 401, 405, 406, 441, 252, 253, + /* 1320 */ 254, 430, 256, 257, 258, 259, 260, 261, 262, 263, + /* 1330 */ 264, 265, 266, 420, 47, 269, 270, 271, 272, 273, + /* 1340 */ 449, 22, 487, 277, 278, 279, 280, 281, 282, 283, + /* 1350 */ 12, 13, 186, 400, 401, 36, 193, 4, 20, 386, + /* 1360 */ 22, 195, 386, 386, 386, 199, 200, 193, 231, 232, + /* 1370 */ 386, 205, 206, 420, 36, 386, 38, 116, 204, 401, + /* 1380 */ 386, 403, 386, 145, 146, 147, 148, 149, 150, 151, + /* 1390 */ 224, 386, 8, 9, 116, 191, 12, 13, 14, 15, + /* 1400 */ 16, 14, 15, 16, 386, 244, 68, 416, 430, 71, + /* 1410 */ 419, 513, 116, 386, 516, 386, 386, 254, 499, 446, + /* 1420 */ 82, 20, 446, 446, 446, 386, 448, 405, 406, 0, + /* 1430 */ 446, 112, 499, 12, 13, 446, 386, 472, 414, 415, + /* 1440 */ 446, 20, 446, 22, 430, 414, 415, 528, 20, 443, + /* 1450 */ 112, 446, 446, 115, 13, 441, 145, 36, 254, 38, + /* 1460 */ 149, 528, 8, 9, 446, 126, 12, 13, 14, 15, + /* 1470 */ 16, 493, 33, 446, 496, 446, 446, 33, 500, 501, + /* 1480 */ 502, 503, 504, 505, 431, 446, 508, 509, 510, 68, + /* 1490 */ 152, 153, 71, 515, 529, 517, 446, 389, 390, 521, + /* 1500 */ 522, 47, 537, 82, 443, 443, 254, 446, 446, 431, + /* 1510 */ 8, 9, 0, 33, 12, 13, 14, 15, 16, 180, + /* 1520 */ 555, 556, 418, 82, 33, 560, 561, 47, 120, 191, + /* 1530 */ 192, 123, 120, 112, 120, 123, 115, 123, 47, 201, + /* 1540 */ 202, 33, 8, 9, 13, 33, 12, 13, 14, 15, + /* 1550 */ 16, 75, 120, 13, 216, 123, 218, 0, 8, 9, + /* 1560 */ 0, 223, 12, 13, 14, 15, 16, 36, 234, 33, + /* 1570 */ 236, 33, 0, 152, 153, 33, 36, 33, 33, 22, + /* 1580 */ 387, 472, 22, 0, 155, 152, 153, 458, 33, 33, + /* 1590 */ 252, 253, 254, 553, 256, 257, 258, 259, 260, 261, + /* 1600 */ 262, 263, 264, 265, 266, 22, 0, 269, 270, 271, + /* 1610 */ 272, 273, 191, 192, 531, 277, 278, 279, 280, 281, + /* 1620 */ 282, 283, 201, 202, 116, 36, 33, 55, 22, 33, + /* 1630 */ 1, 2, 33, 12, 13, 33, 33, 216, 529, 218, + /* 1640 */ 33, 33, 51, 22, 223, 36, 537, 33, 564, 33, + /* 1650 */ 116, 472, 116, 33, 116, 254, 228, 36, 116, 38, + /* 1660 */ 116, 116, 546, 310, 555, 556, 116, 532, 33, 560, + /* 1670 */ 561, 116, 116, 252, 253, 254, 33, 256, 257, 258, + /* 1680 */ 259, 260, 261, 262, 263, 264, 265, 266, 404, 68, + /* 1690 */ 269, 270, 271, 272, 273, 193, 12, 13, 277, 278, + /* 1700 */ 279, 280, 281, 282, 283, 18, 115, 20, 529, 116, + /* 1710 */ 12, 13, 116, 33, 27, 116, 537, 30, 116, 116, + /* 1720 */ 12, 13, 18, 116, 116, 38, 33, 23, 252, 33, + /* 1730 */ 116, 430, 116, 33, 555, 556, 116, 12, 13, 560, + /* 1740 */ 561, 54, 33, 56, 417, 417, 42, 43, 61, 62, + /* 1750 */ 46, 116, 12, 13, 12, 13, 12, 13, 36, 116, + /* 1760 */ 73, 57, 12, 13, 12, 13, 12, 13, 12, 13, + /* 1770 */ 115, 332, 117, 69, 70, 71, 72, 73, 334, 13, + /* 1780 */ 13, 399, 458, 36, 552, 552, 552, 471, 552, 458, + /* 1790 */ 404, 494, 401, 445, 479, 458, 116, 557, 458, 536, + /* 1800 */ 536, 114, 36, 36, 82, 523, 539, 218, 458, 116, + /* 1810 */ 311, 419, 116, 126, 473, 54, 116, 495, 20, 115, + /* 1820 */ 400, 20, 489, 233, 409, 116, 484, 218, 484, 82, + /* 1830 */ 475, 409, 214, 20, 400, 47, 401, 216, 455, 218, + /* 1840 */ 455, 401, 190, 400, 157, 158, 452, 160, 161, 162, + /* 1850 */ 163, 164, 165, 166, 167, 168, 169, 401, 154, 172, + /* 1860 */ 173, 174, 175, 176, 177, 178, 179, 386, 181, 182, + /* 1870 */ 183, 250, 251, 252, 187, 188, 189, 400, 455, 452, + /* 1880 */ 413, 194, 401, 452, 403, 113, 111, 412, 452, 400, + /* 1890 */ 269, 270, 400, 110, 411, 400, 400, 400, 277, 278, + /* 1900 */ 279, 280, 281, 282, 20, 52, 393, 397, 393, 484, + /* 1910 */ 409, 430, 208, 209, 210, 397, 409, 213, 20, 448, + /* 1920 */ 409, 20, 402, 20, 474, 409, 402, 446, 409, 448, + /* 1930 */ 226, 227, 20, 465, 409, 20, 409, 459, 409, 400, + /* 1940 */ 393, 409, 389, 239, 430, 393, 242, 430, 386, 245, + /* 1950 */ 246, 247, 248, 249, 400, 389, 430, 237, 430, 115, + /* 1960 */ 430, 488, 20, 401, 221, 403, 484, 430, 446, 446, + /* 1970 */ 486, 430, 407, 430, 493, 222, 430, 496, 386, 430, + /* 1980 */ 480, 500, 501, 502, 503, 504, 505, 483, 430, 508, + /* 1990 */ 509, 510, 430, 401, 446, 403, 515, 400, 517, 448, + /* 2000 */ 319, 407, 521, 522, 545, 545, 318, 446, 446, 327, + /* 2010 */ 448, 548, 308, 207, 481, 545, 547, 543, 329, 328, + /* 2020 */ 307, 535, 430, 544, 312, 306, 336, 542, 534, 466, + /* 2030 */ 466, 565, 473, 331, 333, 401, 20, 126, 446, 309, + /* 2040 */ 448, 473, 402, 540, 538, 407, 559, 466, 558, 407, + /* 2050 */ 446, 446, 466, 199, 407, 493, 446, 446, 496, 446, + /* 2060 */ 459, 386, 500, 501, 502, 503, 504, 505, 499, 446, + /* 2070 */ 508, 509, 510, 407, 115, 463, 401, 515, 403, 517, + /* 2080 */ 199, 459, 446, 521, 522, 493, 460, 520, 496, 426, + /* 2090 */ 407, 386, 500, 501, 502, 503, 504, 505, 401, 407, + /* 2100 */ 508, 509, 510, 446, 446, 430, 401, 515, 403, 517, + /* 2110 */ 446, 446, 115, 521, 522, 446, 446, 446, 446, 446, + /* 2120 */ 446, 446, 446, 448, 446, 446, 400, 22, 407, 388, + /* 2130 */ 35, 446, 446, 37, 40, 430, 391, 476, 392, 423, + /* 2140 */ 446, 446, 435, 394, 393, 446, 492, 432, 384, 446, + /* 2150 */ 432, 446, 446, 448, 423, 423, 446, 446, 0, 0, + /* 2160 */ 446, 0, 485, 408, 47, 0, 36, 243, 493, 36, + /* 2170 */ 36, 496, 36, 243, 0, 500, 501, 502, 503, 504, + /* 2180 */ 505, 36, 36, 508, 509, 510, 243, 36, 386, 0, + /* 2190 */ 515, 467, 517, 0, 467, 243, 521, 522, 493, 0, + /* 2200 */ 36, 496, 0, 401, 36, 500, 501, 502, 503, 504, + /* 2210 */ 505, 0, 22, 508, 509, 510, 0, 36, 12, 13, + /* 2220 */ 515, 238, 517, 0, 224, 0, 521, 522, 22, 224, + /* 2230 */ 218, 386, 430, 225, 216, 0, 0, 0, 212, 211, + /* 2240 */ 0, 0, 36, 158, 38, 51, 401, 51, 446, 36, + /* 2250 */ 448, 0, 0, 0, 36, 54, 0, 0, 51, 47, + /* 2260 */ 0, 0, 0, 0, 0, 51, 0, 0, 0, 386, + /* 2270 */ 0, 0, 0, 176, 68, 430, 176, 0, 36, 0, + /* 2280 */ 0, 0, 0, 0, 401, 0, 0, 0, 82, 0, + /* 2290 */ 0, 446, 0, 448, 0, 493, 0, 0, 496, 0, + /* 2300 */ 0, 0, 500, 501, 502, 503, 504, 505, 0, 51, + /* 2310 */ 508, 509, 510, 430, 0, 0, 47, 515, 112, 517, + /* 2320 */ 0, 0, 0, 521, 522, 0, 0, 0, 0, 446, + /* 2330 */ 0, 448, 22, 0, 158, 0, 157, 0, 493, 156, + /* 2340 */ 0, 496, 0, 52, 0, 500, 501, 502, 503, 504, + /* 2350 */ 505, 22, 68, 508, 509, 510, 22, 52, 0, 36, + /* 2360 */ 515, 68, 517, 0, 0, 0, 521, 522, 0, 0, + /* 2370 */ 68, 68, 36, 54, 36, 44, 493, 0, 54, 496, + /* 2380 */ 33, 14, 386, 500, 501, 502, 503, 504, 505, 44, + /* 2390 */ 36, 508, 509, 510, 44, 54, 0, 401, 515, 0, + /* 2400 */ 517, 44, 36, 47, 521, 522, 51, 0, 0, 0, + /* 2410 */ 51, 51, 0, 0, 0, 45, 44, 44, 0, 0, + /* 2420 */ 0, 0, 216, 0, 218, 51, 430, 207, 76, 51, + /* 2430 */ 36, 44, 0, 54, 36, 54, 44, 0, 36, 54, + /* 2440 */ 0, 44, 446, 54, 448, 44, 36, 0, 0, 386, + /* 2450 */ 0, 0, 0, 0, 0, 22, 22, 125, 252, 253, + /* 2460 */ 36, 36, 36, 36, 401, 36, 123, 36, 22, 0, + /* 2470 */ 0, 36, 36, 56, 36, 269, 270, 36, 36, 386, + /* 2480 */ 36, 22, 33, 277, 278, 279, 280, 281, 282, 493, + /* 2490 */ 33, 36, 496, 430, 401, 22, 500, 501, 502, 503, + /* 2500 */ 504, 505, 0, 22, 508, 509, 510, 0, 22, 446, + /* 2510 */ 36, 448, 0, 517, 0, 0, 36, 521, 522, 0, + /* 2520 */ 36, 0, 0, 430, 36, 22, 20, 36, 36, 36, + /* 2530 */ 0, 116, 223, 229, 228, 0, 36, 115, 51, 446, + /* 2540 */ 22, 448, 193, 115, 193, 0, 22, 199, 0, 0, + /* 2550 */ 3, 313, 36, 33, 115, 193, 493, 52, 115, 496, + /* 2560 */ 52, 36, 33, 500, 501, 502, 503, 504, 505, 1, + /* 2570 */ 33, 508, 509, 510, 203, 193, 193, 116, 203, 116, + /* 2580 */ 219, 115, 111, 116, 386, 113, 493, 19, 33, 496, + /* 2590 */ 51, 116, 115, 500, 501, 502, 503, 504, 505, 401, + /* 2600 */ 33, 508, 509, 510, 115, 386, 38, 51, 313, 115, + /* 2610 */ 517, 116, 115, 82, 116, 522, 33, 36, 3, 115, + /* 2620 */ 401, 53, 54, 36, 33, 562, 563, 116, 430, 116, + /* 2630 */ 313, 63, 64, 65, 66, 386, 68, 36, 36, 36, + /* 2640 */ 36, 36, 116, 116, 446, 51, 448, 33, 51, 430, + /* 2650 */ 401, 0, 0, 115, 44, 0, 116, 116, 115, 115, + /* 2660 */ 196, 115, 44, 0, 44, 446, 116, 448, 200, 115, + /* 2670 */ 33, 113, 196, 297, 195, 285, 113, 2, 22, 430, + /* 2680 */ 115, 115, 114, 51, 115, 51, 115, 119, 115, 470, + /* 2690 */ 116, 493, 116, 115, 496, 446, 116, 448, 500, 501, + /* 2700 */ 502, 503, 504, 505, 115, 507, 508, 509, 510, 116, + /* 2710 */ 252, 115, 493, 115, 115, 496, 22, 255, 150, 500, + /* 2720 */ 501, 502, 503, 504, 505, 386, 115, 508, 509, 510, + /* 2730 */ 0, 115, 115, 44, 115, 0, 22, 116, 115, 115, + /* 2740 */ 401, 51, 493, 117, 115, 496, 118, 196, 115, 500, + /* 2750 */ 501, 502, 503, 504, 505, 115, 115, 508, 509, 510, + /* 2760 */ 116, 115, 126, 195, 22, 197, 386, 36, 200, 430, + /* 2770 */ 116, 229, 36, 205, 115, 36, 116, 115, 33, 137, + /* 2780 */ 116, 401, 36, 116, 36, 446, 116, 448, 36, 116, + /* 2790 */ 36, 115, 224, 115, 137, 137, 36, 115, 137, 22, + /* 2800 */ 551, 76, 75, 22, 36, 36, 36, 36, 36, 470, + /* 2810 */ 430, 36, 36, 109, 36, 36, 36, 109, 36, 82, + /* 2820 */ 82, 33, 36, 36, 22, 36, 446, 36, 448, 36, + /* 2830 */ 36, 386, 493, 82, 36, 496, 36, 36, 0, 500, + /* 2840 */ 501, 502, 503, 504, 505, 36, 401, 508, 509, 510, + /* 2850 */ 470, 386, 36, 22, 36, 36, 44, 54, 0, 36, + /* 2860 */ 54, 44, 0, 0, 36, 54, 401, 54, 44, 36, + /* 2870 */ 44, 386, 0, 493, 0, 430, 496, 36, 22, 36, + /* 2880 */ 500, 501, 502, 503, 504, 505, 401, 0, 508, 509, + /* 2890 */ 510, 446, 22, 448, 33, 430, 36, 22, 21, 21, + /* 2900 */ 36, 22, 22, 20, 566, 566, 566, 566, 566, 566, + /* 2910 */ 566, 446, 566, 448, 566, 430, 566, 566, 566, 566, + /* 2920 */ 566, 566, 566, 566, 566, 566, 566, 566, 566, 566, + /* 2930 */ 566, 446, 566, 448, 566, 566, 566, 566, 493, 566, + /* 2940 */ 566, 496, 566, 566, 566, 500, 501, 502, 503, 504, + /* 2950 */ 505, 566, 566, 508, 509, 510, 386, 566, 493, 566, + /* 2960 */ 566, 496, 566, 566, 566, 500, 501, 502, 503, 504, + /* 2970 */ 505, 401, 566, 508, 509, 510, 386, 566, 493, 566, + /* 2980 */ 566, 496, 566, 566, 566, 500, 501, 502, 503, 504, + /* 2990 */ 505, 401, 566, 508, 509, 510, 566, 512, 566, 554, + /* 3000 */ 430, 566, 566, 566, 566, 566, 566, 566, 566, 566, + /* 3010 */ 566, 566, 566, 566, 566, 566, 446, 566, 448, 566, + /* 3020 */ 430, 566, 566, 566, 566, 566, 566, 566, 563, 566, + /* 3030 */ 566, 566, 566, 566, 566, 566, 446, 566, 448, 566, + /* 3040 */ 470, 566, 566, 566, 566, 566, 566, 566, 566, 566, + /* 3050 */ 566, 566, 386, 566, 566, 566, 566, 566, 566, 566, + /* 3060 */ 470, 566, 566, 493, 566, 566, 496, 401, 566, 566, + /* 3070 */ 500, 501, 502, 503, 504, 505, 566, 566, 508, 509, + /* 3080 */ 510, 566, 566, 493, 566, 566, 496, 566, 386, 566, + /* 3090 */ 500, 501, 502, 503, 504, 505, 430, 566, 508, 509, + /* 3100 */ 510, 566, 566, 401, 566, 566, 566, 566, 566, 566, + /* 3110 */ 566, 566, 446, 566, 448, 566, 566, 566, 566, 566, + /* 3120 */ 566, 566, 566, 566, 566, 566, 566, 566, 566, 386, + /* 3130 */ 566, 566, 430, 566, 566, 566, 470, 566, 566, 566, + /* 3140 */ 566, 566, 566, 566, 401, 566, 566, 566, 446, 566, + /* 3150 */ 448, 566, 566, 566, 566, 566, 566, 566, 566, 493, + /* 3160 */ 566, 566, 496, 566, 566, 566, 500, 501, 502, 503, + /* 3170 */ 504, 505, 470, 430, 508, 509, 510, 566, 566, 566, + /* 3180 */ 566, 566, 566, 566, 566, 566, 566, 566, 566, 446, + /* 3190 */ 566, 448, 566, 566, 566, 493, 566, 566, 496, 566, + /* 3200 */ 566, 566, 500, 501, 502, 503, 504, 505, 566, 566, + /* 3210 */ 508, 509, 510, 386, 566, 566, 566, 566, 566, 566, + /* 3220 */ 566, 566, 566, 566, 566, 566, 566, 566, 401, 566, + /* 3230 */ 566, 566, 566, 566, 386, 566, 493, 566, 566, 496, + /* 3240 */ 566, 566, 566, 500, 501, 502, 503, 504, 505, 401, + /* 3250 */ 566, 508, 509, 510, 566, 566, 566, 430, 566, 566, + /* 3260 */ 566, 566, 386, 566, 566, 566, 566, 566, 566, 566, + /* 3270 */ 566, 566, 566, 446, 566, 448, 566, 401, 430, 566, + /* 3280 */ 566, 566, 566, 566, 566, 566, 566, 566, 566, 566, + /* 3290 */ 566, 566, 566, 566, 446, 566, 448, 566, 566, 566, + /* 3300 */ 566, 566, 386, 566, 566, 566, 430, 566, 566, 566, + /* 3310 */ 566, 566, 566, 566, 566, 566, 566, 401, 566, 566, + /* 3320 */ 493, 566, 446, 496, 448, 566, 566, 500, 501, 502, + /* 3330 */ 503, 504, 505, 566, 566, 508, 509, 510, 566, 566, + /* 3340 */ 566, 493, 566, 566, 496, 386, 430, 566, 500, 501, + /* 3350 */ 502, 503, 504, 505, 566, 566, 508, 509, 510, 566, + /* 3360 */ 401, 566, 446, 566, 448, 566, 566, 566, 566, 493, + /* 3370 */ 566, 566, 496, 566, 566, 566, 500, 501, 502, 503, + /* 3380 */ 504, 505, 566, 566, 508, 509, 510, 386, 566, 430, + /* 3390 */ 566, 566, 566, 566, 566, 566, 566, 566, 566, 566, + /* 3400 */ 566, 566, 401, 566, 566, 446, 566, 448, 566, 493, + /* 3410 */ 566, 566, 496, 566, 566, 566, 500, 501, 502, 503, + /* 3420 */ 504, 505, 566, 566, 508, 509, 510, 386, 566, 566, + /* 3430 */ 566, 430, 566, 566, 566, 566, 566, 566, 566, 566, + /* 3440 */ 566, 566, 401, 566, 566, 566, 566, 446, 566, 448, + /* 3450 */ 566, 566, 493, 566, 566, 496, 566, 566, 566, 500, + /* 3460 */ 501, 502, 503, 504, 505, 566, 566, 508, 509, 510, + /* 3470 */ 386, 430, 566, 566, 566, 566, 566, 566, 566, 566, + /* 3480 */ 566, 566, 566, 566, 566, 401, 566, 446, 566, 448, + /* 3490 */ 566, 566, 566, 566, 493, 566, 566, 496, 566, 566, + /* 3500 */ 566, 500, 501, 502, 503, 504, 505, 566, 566, 508, + /* 3510 */ 509, 510, 566, 566, 430, 566, 386, 566, 566, 566, + /* 3520 */ 566, 566, 566, 566, 566, 566, 566, 566, 566, 566, + /* 3530 */ 446, 401, 448, 566, 493, 566, 566, 496, 566, 566, + /* 3540 */ 566, 500, 501, 502, 503, 504, 505, 566, 566, 508, + /* 3550 */ 509, 510, 566, 386, 566, 566, 566, 566, 566, 566, + /* 3560 */ 430, 566, 566, 566, 566, 566, 566, 566, 401, 566, + /* 3570 */ 566, 566, 566, 566, 566, 566, 446, 493, 448, 566, + /* 3580 */ 496, 566, 566, 566, 500, 501, 502, 503, 504, 505, + /* 3590 */ 566, 566, 508, 509, 510, 566, 566, 430, 566, 386, + /* 3600 */ 566, 566, 566, 566, 566, 566, 566, 566, 566, 566, + /* 3610 */ 566, 566, 566, 446, 401, 448, 566, 566, 566, 566, + /* 3620 */ 566, 386, 566, 493, 566, 566, 496, 566, 566, 566, + /* 3630 */ 500, 501, 502, 503, 504, 505, 401, 566, 508, 509, + /* 3640 */ 510, 566, 566, 430, 566, 566, 566, 566, 566, 566, + /* 3650 */ 566, 566, 566, 566, 566, 566, 566, 566, 566, 446, + /* 3660 */ 493, 448, 566, 496, 386, 430, 566, 500, 501, 502, + /* 3670 */ 503, 504, 505, 566, 566, 508, 509, 510, 566, 401, + /* 3680 */ 566, 446, 566, 448, 566, 566, 566, 566, 566, 386, + /* 3690 */ 566, 566, 566, 566, 566, 566, 566, 566, 566, 566, + /* 3700 */ 566, 566, 566, 566, 401, 566, 493, 566, 430, 496, + /* 3710 */ 386, 566, 566, 500, 501, 502, 503, 504, 505, 566, + /* 3720 */ 566, 508, 509, 510, 446, 401, 448, 566, 493, 566, + /* 3730 */ 566, 496, 386, 430, 566, 500, 501, 502, 503, 504, + /* 3740 */ 505, 566, 566, 508, 509, 510, 566, 401, 566, 446, + /* 3750 */ 566, 448, 566, 566, 430, 566, 566, 566, 566, 566, + /* 3760 */ 566, 566, 566, 566, 566, 566, 566, 566, 566, 566, + /* 3770 */ 446, 493, 448, 566, 496, 566, 430, 566, 500, 501, + /* 3780 */ 502, 503, 504, 505, 566, 566, 508, 509, 510, 566, + /* 3790 */ 566, 566, 446, 566, 448, 566, 493, 566, 566, 496, + /* 3800 */ 566, 566, 566, 500, 501, 502, 503, 504, 505, 566, + /* 3810 */ 566, 508, 509, 510, 566, 566, 566, 493, 566, 566, + /* 3820 */ 496, 566, 566, 566, 500, 501, 502, 503, 504, 505, + /* 3830 */ 566, 566, 508, 509, 510, 566, 566, 566, 566, 493, + /* 3840 */ 566, 566, 496, 566, 566, 566, 500, 501, 502, 503, + /* 3850 */ 504, 505, 566, 566, 508, 509, 510, 386, 566, 566, + /* 3860 */ 566, 566, 566, 566, 566, 566, 566, 566, 566, 566, + /* 3870 */ 566, 566, 401, 566, 566, 566, 386, 566, 566, 566, + /* 3880 */ 566, 566, 566, 566, 566, 566, 566, 566, 566, 566, + /* 3890 */ 566, 401, 566, 566, 566, 566, 386, 566, 566, 566, + /* 3900 */ 566, 430, 566, 566, 566, 566, 566, 566, 566, 566, + /* 3910 */ 566, 401, 566, 566, 566, 566, 566, 446, 566, 448, + /* 3920 */ 430, 566, 566, 566, 566, 566, 566, 566, 566, 566, + /* 3930 */ 566, 566, 566, 566, 566, 566, 446, 566, 448, 566, + /* 3940 */ 430, 566, 566, 566, 566, 566, 566, 566, 566, 566, + /* 3950 */ 566, 566, 566, 566, 566, 566, 446, 566, 448, 566, + /* 3960 */ 566, 566, 566, 386, 493, 566, 566, 496, 566, 566, + /* 3970 */ 566, 500, 501, 502, 503, 504, 505, 566, 401, 508, + /* 3980 */ 509, 510, 566, 493, 566, 566, 496, 566, 566, 566, + /* 3990 */ 500, 501, 502, 503, 504, 505, 566, 566, 508, 509, + /* 4000 */ 510, 386, 566, 493, 566, 566, 496, 430, 566, 566, + /* 4010 */ 500, 501, 502, 503, 504, 505, 401, 566, 508, 509, + /* 4020 */ 510, 566, 566, 446, 566, 448, 566, 566, 566, 566, + /* 4030 */ 566, 566, 566, 566, 566, 566, 566, 566, 566, 566, + /* 4040 */ 566, 566, 566, 566, 566, 430, 566, 386, 566, 566, + /* 4050 */ 566, 566, 566, 566, 566, 566, 566, 566, 566, 566, + /* 4060 */ 566, 446, 401, 448, 566, 566, 566, 566, 386, 566, + /* 4070 */ 493, 566, 566, 496, 566, 566, 566, 500, 501, 502, + /* 4080 */ 503, 504, 505, 401, 566, 508, 509, 510, 566, 566, + /* 4090 */ 566, 430, 566, 566, 566, 566, 566, 566, 566, 566, + /* 4100 */ 566, 566, 566, 566, 566, 566, 566, 446, 493, 448, + /* 4110 */ 566, 496, 430, 566, 566, 500, 501, 502, 503, 504, + /* 4120 */ 505, 566, 566, 508, 509, 510, 566, 566, 446, 566, + /* 4130 */ 448, 566, 566, 566, 566, 566, 386, 566, 566, 566, + /* 4140 */ 566, 566, 566, 566, 566, 566, 566, 566, 566, 566, + /* 4150 */ 566, 401, 566, 566, 493, 566, 566, 496, 386, 566, + /* 4160 */ 566, 500, 501, 502, 503, 504, 505, 566, 566, 508, + /* 4170 */ 509, 510, 566, 401, 566, 493, 566, 566, 496, 386, + /* 4180 */ 430, 566, 500, 501, 502, 503, 504, 505, 566, 566, + /* 4190 */ 508, 509, 510, 566, 401, 566, 446, 566, 448, 566, + /* 4200 */ 566, 566, 430, 566, 386, 566, 566, 566, 566, 566, + /* 4210 */ 566, 566, 566, 566, 566, 566, 566, 566, 446, 401, + /* 4220 */ 448, 566, 566, 430, 566, 566, 566, 566, 566, 566, + /* 4230 */ 566, 566, 566, 566, 566, 566, 566, 566, 566, 446, + /* 4240 */ 566, 448, 566, 493, 566, 566, 496, 566, 430, 566, + /* 4250 */ 500, 501, 502, 503, 504, 505, 566, 566, 508, 509, + /* 4260 */ 510, 566, 566, 566, 446, 493, 448, 566, 496, 566, + /* 4270 */ 566, 566, 500, 501, 502, 503, 504, 505, 566, 566, + /* 4280 */ 508, 509, 510, 566, 566, 566, 493, 566, 566, 496, + /* 4290 */ 566, 566, 566, 500, 501, 502, 503, 504, 505, 566, + /* 4300 */ 566, 508, 509, 510, 566, 566, 566, 566, 566, 566, + /* 4310 */ 566, 493, 566, 566, 496, 566, 566, 566, 500, 501, + /* 4320 */ 502, 503, 504, 505, 566, 386, 508, 509, 510, 566, + /* 4330 */ 566, 566, 566, 566, 566, 566, 566, 566, 566, 566, + /* 4340 */ 401, 566, 566, 566, 566, 386, 566, 566, 566, 566, + /* 4350 */ 566, 566, 566, 566, 566, 566, 566, 566, 566, 566, + /* 4360 */ 401, 566, 566, 566, 566, 566, 566, 566, 566, 430, + /* 4370 */ 566, 566, 566, 566, 566, 566, 566, 566, 566, 566, + /* 4380 */ 566, 566, 566, 566, 566, 446, 566, 448, 566, 430, + /* 4390 */ 566, 566, 566, 566, 566, 566, 566, 566, 566, 566, + /* 4400 */ 566, 566, 566, 566, 566, 446, 566, 448, 566, 566, + /* 4410 */ 566, 566, 566, 566, 566, 566, 566, 566, 566, 566, + /* 4420 */ 566, 566, 566, 566, 566, 566, 566, 566, 566, 566, + /* 4430 */ 566, 566, 493, 566, 566, 496, 566, 566, 566, 500, + /* 4440 */ 501, 502, 503, 504, 505, 566, 566, 508, 509, 510, + /* 4450 */ 566, 566, 493, 566, 566, 496, 566, 566, 566, 500, + /* 4460 */ 501, 502, 503, 504, 505, 566, 566, 508, 509, 510, + /* 4470 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4480 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4490 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4500 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4510 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4520 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4530 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4540 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4550 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4560 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4570 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4580 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4590 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4600 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4610 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4620 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4630 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4640 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4650 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4660 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4670 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4680 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4690 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4700 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4710 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4720 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4730 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4740 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4750 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4760 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4770 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4780 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4790 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4800 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4810 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4820 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4830 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4840 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, + /* 4850 */ 383, 383, 383, }; -#define YY_SHIFT_COUNT (1003) +#define YY_SHIFT_COUNT (1006) #define YY_SHIFT_MIN (0) -#define YY_SHIFT_MAX (2878) +#define YY_SHIFT_MAX (2887) static const unsigned short int yy_shift_ofst[] = { - /* 0 */ 1599, 271, 354, 271, 626, 626, 626, 626, 626, 626, - /* 10 */ 626, 626, 626, 626, 626, 626, 709, 1063, 1063, 1334, - /* 20 */ 0, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, - /* 30 */ 1063, 980, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, - /* 40 */ 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, - /* 50 */ 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, - /* 60 */ 1063, 34, 411, 835, 35, 126, 512, 126, 126, 35, - /* 70 */ 35, 126, 1407, 126, 1333, 1407, 423, 126, 74, 553, - /* 80 */ 360, 360, 201, 201, 553, 553, 350, 350, 360, 324, - /* 90 */ 324, 343, 316, 316, 247, 268, 201, 201, 201, 201, - /* 100 */ 201, 201, 201, 201, 201, 201, 201, 283, 325, 410, - /* 110 */ 201, 201, 443, 74, 201, 283, 201, 74, 201, 201, - /* 120 */ 201, 201, 74, 201, 201, 201, 74, 201, 74, 74, - /* 130 */ 74, 520, 165, 165, 538, 538, 621, 762, 178, 48, - /* 140 */ 921, 921, 921, 921, 921, 921, 921, 921, 921, 921, - /* 150 */ 921, 921, 921, 921, 921, 921, 921, 921, 921, 732, - /* 160 */ 447, 324, 343, 895, 895, 863, 1060, 1060, 1060, 853, - /* 170 */ 853, 502, 575, 863, 443, 74, 558, 74, 74, 417, - /* 180 */ 74, 74, 624, 74, 624, 624, 632, 760, 538, 538, - /* 190 */ 538, 538, 538, 538, 2253, 413, 21, 75, 282, 282, - /* 200 */ 356, 488, 962, 424, 464, 261, 451, 675, 647, 647, - /* 210 */ 1018, 1287, 972, 972, 972, 720, 972, 1115, 1354, 748, - /* 220 */ 1386, 1422, 230, 778, 1190, 1190, 1215, 1061, 1061, 1297, - /* 230 */ 1394, 1039, 1190, 575, 1491, 1750, 1783, 1786, 1578, 443, - /* 240 */ 1786, 443, 1606, 1783, 1804, 1781, 1804, 1781, 1643, 1783, - /* 250 */ 1804, 1783, 1781, 1643, 1643, 1643, 1738, 1741, 1783, 1783, - /* 260 */ 1747, 1783, 1783, 1783, 1842, 1813, 1842, 1813, 1786, 443, - /* 270 */ 443, 1860, 443, 1868, 1876, 443, 1868, 443, 1888, 443, - /* 280 */ 1893, 443, 443, 1783, 443, 1842, 74, 74, 74, 74, - /* 290 */ 74, 74, 74, 74, 74, 74, 74, 1783, 760, 760, - /* 300 */ 1842, 624, 624, 624, 1686, 1824, 1786, 520, 1925, 1730, - /* 310 */ 1732, 1860, 520, 1491, 1783, 624, 1641, 1645, 1641, 1645, - /* 320 */ 1644, 1759, 1641, 1648, 1650, 1671, 1491, 1665, 1673, 1653, - /* 330 */ 1663, 1662, 1804, 1977, 1878, 1703, 1868, 520, 520, 1645, - /* 340 */ 624, 624, 624, 624, 1645, 624, 1825, 520, 624, 1893, - /* 350 */ 520, 1927, 624, 1847, 1893, 520, 632, 520, 1804, 624, - /* 360 */ 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, - /* 370 */ 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, - /* 380 */ 624, 1952, 624, 1783, 520, 2050, 2048, 2047, 2059, 1842, - /* 390 */ 4102, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 4102, 4102, - /* 400 */ 4102, 4102, 39, 590, 204, 890, 310, 84, 906, 50, - /* 410 */ 197, 587, 922, 1057, 426, 1114, 1175, 1258, 1192, 1280, - /* 420 */ 1205, 1214, 1231, 1263, 1452, 1452, 1452, 1452, 1452, 1452, - /* 430 */ 1452, 1452, 1452, 100, 65, 1246, 1344, 3, 3, 772, - /* 440 */ 53, 421, 893, 698, 764, 384, 535, 627, 552, 725, - /* 450 */ 725, 1016, 1153, 218, 1016, 1016, 1016, 286, 1336, 1437, - /* 460 */ 1517, 1507, 1312, 1404, 1537, 1317, 485, 1425, 1435, 485, - /* 470 */ 1440, 1503, 1531, 1533, 1202, 1562, 1579, 1602, 1130, 1367, - /* 480 */ 1449, 1488, 1535, 1538, 1539, 1541, 1423, 1332, 1366, 1550, - /* 490 */ 1576, 1585, 1586, 1580, 1588, 1489, 1595, 1597, 1581, 1600, - /* 500 */ 1601, 1603, 1604, 1605, 1627, 1631, 1634, 1636, 1640, 1649, - /* 510 */ 1661, 1666, 1677, 1685, 1693, 1642, 485, 1658, 1660, 1667, - /* 520 */ 1670, 1675, 1512, 1679, 1622, 1659, 1553, 1696, 1688, 1707, - /* 530 */ 2151, 2152, 2153, 2107, 2159, 2124, 1919, 2127, 2129, 2130, - /* 540 */ 1924, 2174, 2139, 2143, 1937, 2145, 2183, 2185, 1943, 2187, - /* 550 */ 2154, 2191, 2156, 2193, 2173, 2197, 2162, 1961, 2200, 1978, - /* 560 */ 2201, 1980, 1982, 1987, 1992, 2209, 2220, 2222, 2004, 2006, - /* 570 */ 2223, 2225, 2069, 2177, 2178, 2232, 2198, 2233, 2235, 2202, - /* 580 */ 2186, 2237, 2188, 2242, 2196, 2245, 2246, 2247, 2204, 2258, - /* 590 */ 2259, 2260, 2261, 2262, 2263, 2090, 2231, 2271, 2097, 2274, - /* 600 */ 2275, 2276, 2277, 2278, 2279, 2280, 2282, 2284, 2286, 2287, - /* 610 */ 2288, 2289, 2290, 2292, 2293, 2294, 2295, 2296, 2297, 2248, - /* 620 */ 2298, 2254, 2300, 2302, 2303, 2304, 2305, 2308, 2309, 2310, - /* 630 */ 2311, 2291, 2312, 2157, 2320, 2165, 2323, 2168, 2325, 2326, - /* 640 */ 2307, 2281, 2319, 2301, 2327, 2266, 2342, 2306, 2313, 2345, - /* 650 */ 2314, 2346, 2315, 2347, 2348, 2316, 2317, 2318, 2350, 2321, - /* 660 */ 2322, 2324, 2354, 2328, 2337, 2334, 2358, 2330, 2359, 2332, - /* 670 */ 2351, 2336, 2343, 2355, 2349, 2357, 2360, 2352, 2363, 2361, - /* 680 */ 2365, 2370, 2373, 2366, 2192, 2381, 2343, 2362, 2396, 2343, - /* 690 */ 2364, 2398, 2401, 2333, 2411, 2412, 2378, 2368, 2372, 2418, - /* 700 */ 2384, 2369, 2380, 2425, 2390, 2374, 2383, 2429, 2394, 2377, - /* 710 */ 2388, 2433, 2434, 2438, 2439, 2440, 2441, 2331, 2338, 2407, - /* 720 */ 2422, 2445, 2427, 2415, 2416, 2419, 2423, 2424, 2430, 2431, - /* 730 */ 2432, 2435, 2414, 2421, 2436, 2437, 2447, 2442, 2463, 2448, - /* 740 */ 2474, 2453, 2476, 2457, 2428, 2480, 2465, 2459, 2496, 2499, - /* 750 */ 2500, 2470, 2501, 2471, 2508, 2475, 2513, 2492, 2495, 2486, - /* 760 */ 2491, 2493, 2417, 2426, 2530, 2341, 2339, 2335, 2451, 2344, - /* 770 */ 2343, 2494, 2542, 2353, 2511, 2529, 2553, 2367, 2532, 2376, - /* 780 */ 2379, 2562, 2571, 2382, 2385, 2386, 2387, 2570, 2543, 2265, - /* 790 */ 2466, 2464, 2467, 2468, 2547, 2555, 2472, 2540, 2481, 2541, - /* 800 */ 2485, 2497, 2564, 2567, 2498, 2504, 2506, 2507, 2509, 2575, - /* 810 */ 2558, 2561, 2512, 2587, 2340, 2544, 2514, 2591, 2516, 2592, - /* 820 */ 2517, 2519, 2620, 2596, 2371, 2601, 2602, 2603, 2604, 2605, - /* 830 */ 2606, 2527, 2528, 2581, 2389, 2613, 2597, 2647, 2649, 2535, - /* 840 */ 2607, 2537, 2538, 2545, 2549, 2460, 2552, 2655, 2614, 2479, - /* 850 */ 2657, 2550, 2560, 2490, 2615, 2473, 2643, 2569, 2403, 2582, - /* 860 */ 2678, 2672, 2446, 2584, 2585, 2586, 2588, 2589, 2593, 2595, - /* 870 */ 2598, 2610, 2612, 2617, 2618, 2651, 2621, 2622, 2653, 2619, - /* 880 */ 2684, 2452, 2623, 2624, 2712, 2626, 2625, 2534, 2677, 2628, - /* 890 */ 2611, 2731, 2711, 2627, 2629, 2343, 2695, 2632, 2633, 2635, - /* 900 */ 2634, 2637, 2631, 2732, 2524, 2639, 2723, 2724, 2646, 2648, - /* 910 */ 2726, 2650, 2652, 2727, 2595, 2654, 2730, 2598, 2656, 2733, - /* 920 */ 2610, 2659, 2735, 2612, 2630, 2636, 2640, 2642, 2665, 2748, - /* 930 */ 2667, 2747, 2669, 2748, 2748, 2764, 2713, 2715, 2765, 2752, - /* 940 */ 2755, 2756, 2758, 2760, 2761, 2763, 2766, 2768, 2770, 2771, - /* 950 */ 2718, 2686, 2728, 2699, 2776, 2775, 2777, 2778, 2790, 2779, - /* 960 */ 2780, 2781, 2736, 2414, 2783, 2421, 2787, 2791, 2798, 2799, - /* 970 */ 2804, 2803, 2841, 2806, 2789, 2800, 2845, 2810, 2793, 2808, - /* 980 */ 2850, 2817, 2807, 2822, 2854, 2832, 2816, 2827, 2872, 2837, - /* 990 */ 2874, 2853, 2840, 2877, 2856, 2846, 2844, 2847, 2859, 2861, - /* 1000 */ 2864, 2865, 2870, 2878, + /* 0 */ 1704, 272, 355, 272, 628, 628, 628, 628, 628, 628, + /* 10 */ 628, 628, 628, 628, 628, 628, 711, 1338, 1338, 1421, + /* 20 */ 0, 983, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, + /* 30 */ 1338, 1338, 1066, 1338, 1338, 1338, 1338, 1338, 1338, 1338, + /* 40 */ 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, + /* 50 */ 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, + /* 60 */ 1338, 1338, 297, 314, 607, 201, 587, 611, 587, 587, + /* 70 */ 201, 201, 587, 2206, 587, 1687, 2206, 397, 587, 35, + /* 80 */ 1621, 177, 177, 87, 87, 1621, 1621, 145, 145, 177, + /* 90 */ 57, 57, 9, 206, 206, 218, 4, 87, 87, 87, + /* 100 */ 87, 87, 87, 87, 87, 87, 87, 87, 146, 300, + /* 110 */ 375, 87, 87, 474, 35, 87, 146, 87, 35, 87, + /* 120 */ 87, 87, 87, 35, 87, 87, 87, 35, 87, 35, + /* 130 */ 35, 35, 500, 394, 394, 458, 458, 808, 408, 178, + /* 140 */ 334, 975, 975, 975, 975, 975, 975, 975, 975, 975, + /* 150 */ 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, + /* 160 */ 613, 205, 57, 9, 1148, 1148, 429, 183, 183, 183, + /* 170 */ 383, 383, 2, 942, 429, 474, 35, 525, 35, 35, + /* 180 */ 437, 35, 35, 846, 35, 846, 846, 819, 1063, 458, + /* 190 */ 458, 458, 458, 458, 458, 2568, 764, 21, 49, 261, + /* 200 */ 261, 166, 351, 700, 341, 684, 82, 376, 507, 392, + /* 210 */ 392, 881, 1017, 1151, 1151, 1151, 1174, 1151, 1204, 1163, + /* 220 */ 1036, 452, 1203, 1311, 282, 1252, 1252, 1401, 1441, 1441, + /* 230 */ 775, 1480, 1353, 1252, 942, 1499, 1761, 1798, 1801, 1590, + /* 240 */ 474, 1801, 474, 1618, 1798, 1813, 1788, 1813, 1788, 1652, + /* 250 */ 1798, 1813, 1798, 1788, 1652, 1652, 1652, 1772, 1775, 1798, + /* 260 */ 1798, 1783, 1798, 1798, 1798, 1884, 1853, 1884, 1853, 1801, + /* 270 */ 474, 474, 1898, 474, 1901, 1903, 474, 1901, 474, 1912, + /* 280 */ 474, 1915, 474, 474, 1798, 474, 1884, 35, 35, 35, + /* 290 */ 35, 35, 35, 35, 35, 35, 35, 35, 1798, 1063, + /* 300 */ 1063, 1884, 846, 846, 846, 1720, 1844, 1801, 500, 1942, + /* 310 */ 1753, 1743, 1898, 500, 1499, 1798, 846, 1681, 1688, 1681, + /* 320 */ 1688, 1682, 1806, 1681, 1689, 1691, 1712, 1499, 1713, 1719, + /* 330 */ 1690, 1701, 1702, 1813, 2016, 1911, 1730, 1901, 500, 500, + /* 340 */ 1688, 846, 846, 846, 846, 1688, 846, 1854, 500, 846, + /* 350 */ 1915, 500, 1959, 846, 1881, 1915, 500, 819, 500, 1813, + /* 360 */ 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, + /* 370 */ 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, + /* 380 */ 846, 846, 1997, 846, 1798, 500, 2105, 2095, 2096, 2094, + /* 390 */ 1884, 4470, 4470, 4470, 4470, 4470, 4470, 4470, 4470, 4470, + /* 400 */ 4470, 4470, 4470, 39, 1166, 66, 982, 323, 336, 909, + /* 410 */ 945, 1026, 1261, 1278, 1287, 567, 1138, 1296, 1454, 1534, + /* 420 */ 1550, 782, 1502, 926, 1238, 1384, 1384, 1384, 1384, 1384, + /* 430 */ 1384, 1384, 1384, 1384, 728, 33, 164, 532, 199, 199, + /* 440 */ 299, 105, 313, 720, 616, 809, 154, 1033, 1319, 1137, + /* 450 */ 706, 706, 1387, 1105, 795, 1387, 1387, 1387, 1205, 1161, + /* 460 */ 850, 1089, 1491, 1339, 1429, 1512, 1408, 1428, 1412, 1414, + /* 470 */ 1428, 1432, 951, 1531, 1540, 1557, 1560, 1583, 1606, 1334, + /* 480 */ 1508, 1536, 625, 1538, 1542, 1544, 1545, 1433, 1439, 1444, + /* 490 */ 1555, 1556, 1593, 1596, 1629, 1599, 1476, 1602, 1603, 1607, + /* 500 */ 1591, 1608, 1614, 1616, 1620, 1635, 1684, 1698, 1708, 1725, + /* 510 */ 1740, 1742, 1744, 1750, 1752, 1754, 1756, 1643, 1428, 1680, + /* 520 */ 1693, 1696, 1700, 1709, 1655, 1722, 1589, 1609, 1766, 1767, + /* 530 */ 1747, 1572, 2158, 2159, 2161, 2117, 2165, 2130, 1924, 2133, + /* 540 */ 2134, 2136, 1930, 2174, 2145, 2146, 1943, 2151, 2189, 2193, + /* 550 */ 1952, 2199, 2164, 2202, 2168, 2211, 2190, 2216, 2181, 1983, + /* 560 */ 2223, 2000, 2225, 2005, 2008, 2012, 2018, 2235, 2236, 2237, + /* 570 */ 2026, 2028, 2240, 2241, 2085, 2194, 2196, 2251, 2213, 2252, + /* 580 */ 2253, 2218, 2201, 2256, 2207, 2257, 2212, 2260, 2261, 2262, + /* 590 */ 2214, 2263, 2264, 2266, 2267, 2268, 2270, 2097, 2242, 2271, + /* 600 */ 2100, 2272, 2277, 2279, 2280, 2281, 2282, 2283, 2285, 2286, + /* 610 */ 2287, 2289, 2290, 2292, 2294, 2296, 2297, 2299, 2300, 2301, + /* 620 */ 2308, 2258, 2314, 2269, 2315, 2320, 2321, 2322, 2325, 2326, + /* 630 */ 2327, 2328, 2330, 2310, 2333, 2176, 2335, 2179, 2337, 2183, + /* 640 */ 2340, 2342, 2329, 2291, 2334, 2305, 2344, 2284, 2358, 2293, + /* 650 */ 2323, 2363, 2302, 2364, 2303, 2365, 2368, 2336, 2319, 2331, + /* 660 */ 2369, 2338, 2324, 2345, 2377, 2354, 2341, 2350, 2396, 2366, + /* 670 */ 2399, 2356, 2357, 2347, 2355, 2359, 2367, 2360, 2407, 2370, + /* 680 */ 2372, 2408, 2409, 2412, 2413, 2373, 2220, 2414, 2355, 2374, + /* 690 */ 2418, 2355, 2378, 2419, 2420, 2352, 2421, 2423, 2394, 2379, + /* 700 */ 2387, 2432, 2398, 2381, 2392, 2437, 2402, 2385, 2397, 2440, + /* 710 */ 2410, 2389, 2401, 2447, 2448, 2450, 2451, 2452, 2453, 2332, + /* 720 */ 2343, 2424, 2433, 2454, 2434, 2425, 2426, 2427, 2429, 2431, + /* 730 */ 2435, 2436, 2438, 2441, 2449, 2457, 2442, 2444, 2446, 2455, + /* 740 */ 2469, 2459, 2470, 2473, 2502, 2481, 2417, 2507, 2486, 2474, + /* 750 */ 2512, 2514, 2515, 2480, 2519, 2484, 2521, 2488, 2522, 2503, + /* 760 */ 2506, 2491, 2492, 2493, 2415, 2422, 2530, 2349, 2304, 2306, + /* 770 */ 2428, 2309, 2355, 2487, 2535, 2351, 2500, 2518, 2545, 2361, + /* 780 */ 2524, 2362, 2348, 2548, 2549, 2382, 2371, 2383, 2375, 2547, + /* 790 */ 2520, 2238, 2439, 2461, 2443, 2463, 2516, 2525, 2466, 2505, + /* 800 */ 2472, 2508, 2471, 2467, 2529, 2537, 2475, 2477, 2489, 2494, + /* 810 */ 2495, 2555, 2539, 2556, 2497, 2567, 2295, 2531, 2498, 2583, + /* 820 */ 2504, 2581, 2511, 2513, 2615, 2591, 2317, 2587, 2601, 2602, + /* 830 */ 2603, 2604, 2605, 2526, 2527, 2594, 2376, 2614, 2597, 2651, + /* 840 */ 2652, 2538, 2610, 2540, 2541, 2543, 2544, 2464, 2546, 2655, + /* 850 */ 2618, 2468, 2663, 2550, 2554, 2476, 2620, 2479, 2637, 2558, + /* 860 */ 2390, 2563, 2675, 2656, 2458, 2565, 2566, 2569, 2571, 2573, + /* 870 */ 2574, 2576, 2578, 2589, 2596, 2598, 2599, 2580, 2632, 2611, + /* 880 */ 2616, 2634, 2593, 2694, 2462, 2617, 2619, 2730, 2621, 2623, + /* 890 */ 2551, 2689, 2624, 2626, 2735, 2714, 2628, 2629, 2355, 2690, + /* 900 */ 2633, 2640, 2644, 2641, 2646, 2636, 2742, 2542, 2654, 2731, + /* 910 */ 2736, 2659, 2660, 2739, 2662, 2664, 2746, 2578, 2667, 2748, + /* 920 */ 2589, 2670, 2752, 2596, 2673, 2754, 2598, 2642, 2657, 2658, + /* 930 */ 2661, 2676, 2745, 2678, 2760, 2682, 2745, 2745, 2777, 2725, + /* 940 */ 2727, 2781, 2768, 2769, 2770, 2771, 2772, 2775, 2776, 2778, + /* 950 */ 2779, 2780, 2782, 2737, 2704, 2738, 2708, 2788, 2786, 2787, + /* 960 */ 2789, 2802, 2791, 2793, 2794, 2751, 2449, 2798, 2457, 2800, + /* 970 */ 2801, 2809, 2816, 2831, 2818, 2838, 2819, 2803, 2812, 2858, + /* 980 */ 2823, 2806, 2817, 2862, 2828, 2811, 2824, 2863, 2833, 2813, + /* 990 */ 2826, 2872, 2841, 2874, 2856, 2843, 2887, 2870, 2861, 2860, + /* 1000 */ 2864, 2875, 2877, 2879, 2880, 2878, 2883, }; -#define YY_REDUCE_COUNT (401) -#define YY_REDUCE_MIN (-527) -#define YY_REDUCE_MAX (3593) +#define YY_REDUCE_COUNT (402) +#define YY_REDUCE_MIN (-529) +#define YY_REDUCE_MAX (3959) static const short yy_reduce_ofst[] = { - /* 0 */ -139, -344, -203, 1235, 1265, 1390, 1499, 1536, 1587, 1623, - /* 10 */ 649, 1669, 1711, 1749, 1836, 1885, -98, 611, 1371, 1990, - /* 20 */ 2017, 2036, 2057, 2103, 2170, 2189, 2216, 2329, 2356, 2393, - /* 30 */ 2420, 2484, 2505, 2525, 2551, 2590, 2616, 2721, 2742, 2759, - /* 40 */ 2826, 2868, 2890, 2911, 2932, 2999, 3020, 3125, 3145, 3167, - /* 50 */ 3250, 3272, 3291, 3314, 3378, 3400, 3419, 3468, 3553, 3573, - /* 60 */ 3593, -339, 161, 470, -79, 158, 528, 832, 897, 786, - /* 70 */ 898, 904, 291, -527, -93, 330, -525, -177, 608, -270, - /* 80 */ -424, -133, 416, 885, -271, -117, -393, -391, -260, -399, - /* 90 */ -389, -333, -6, 69, -246, 168, 174, 382, 474, 607, - /* 100 */ -105, 344, 620, 645, 660, 689, 367, -288, 223, -290, - /* 110 */ 721, 747, -209, 303, 780, 170, 793, 262, 883, 931, - /* 120 */ 938, 984, 435, 1034, 1085, 1124, 547, 1132, -78, 588, - /* 130 */ 581, 269, -99, -99, 406, -421, -103, -219, 112, 351, - /* 140 */ 2, 159, 357, 532, 657, 672, 722, 916, 970, 973, - /* 150 */ 1003, 1007, 1032, 1043, 1088, 1089, 1093, 1128, 1133, 217, - /* 160 */ 414, -348, 404, 686, 790, 711, 414, 579, 699, 651, - /* 170 */ 697, 55, -404, 763, 882, 671, 684, 839, 851, 412, - /* 180 */ 933, 54, 497, 1101, 907, 956, -397, 859, 368, 503, - /* 190 */ 605, 623, 631, 663, 1100, 1264, 1245, 1261, 1193, 1193, - /* 200 */ 1161, 1174, 1182, 1198, 1326, 1193, 1302, 1302, 1324, 1328, - /* 210 */ 1335, 1288, 1196, 1197, 1199, 1281, 1209, 1302, 1295, 1360, - /* 220 */ 1284, 1379, 1337, 1309, 1331, 1338, 1302, 1255, 1259, 1239, - /* 230 */ 1275, 1260, 1341, 1381, 1330, 1311, 1411, 1339, 1325, 1406, - /* 240 */ 1340, 1409, 1347, 1416, 1427, 1375, 1430, 1377, 1383, 1433, - /* 250 */ 1436, 1443, 1385, 1392, 1398, 1399, 1441, 1444, 1455, 1457, - /* 260 */ 1448, 1460, 1461, 1462, 1472, 1471, 1476, 1473, 1393, 1475, - /* 270 */ 1478, 1434, 1479, 1494, 1429, 1492, 1506, 1496, 1447, 1504, - /* 280 */ 1456, 1508, 1509, 1516, 1510, 1527, 1493, 1495, 1497, 1498, - /* 290 */ 1500, 1501, 1505, 1511, 1513, 1514, 1518, 1521, 1545, 1547, - /* 300 */ 1549, 1480, 1515, 1519, 1450, 1463, 1466, 1544, 1469, 1474, - /* 310 */ 1477, 1520, 1551, 1483, 1559, 1523, 1418, 1525, 1420, 1528, - /* 320 */ 1428, 1424, 1432, 1431, 1438, 1445, 1524, 1451, 1454, 1417, - /* 330 */ 1453, 1459, 1609, 1522, 1467, 1481, 1612, 1615, 1616, 1561, - /* 340 */ 1582, 1584, 1596, 1608, 1565, 1613, 1571, 1639, 1614, 1589, - /* 350 */ 1651, 1530, 1617, 1591, 1607, 1654, 1638, 1655, 1664, 1621, - /* 360 */ 1626, 1628, 1629, 1630, 1632, 1633, 1635, 1647, 1652, 1656, - /* 370 */ 1668, 1672, 1674, 1676, 1683, 1684, 1687, 1690, 1692, 1694, - /* 380 */ 1699, 1678, 1700, 1682, 1697, 1689, 1695, 1702, 1712, 1716, - /* 390 */ 1680, 1710, 1618, 1620, 1681, 1691, 1698, 1724, 1717, 1728, - /* 400 */ 1726, 1727, + /* 0 */ -233, -345, -60, -203, 978, 1481, 1562, 1592, 1675, 1705, + /* 10 */ 1802, 1845, 1883, 267, 622, 1996, 306, 662, 2063, 2093, + /* 20 */ 2198, 2219, 2249, 2339, 2380, 2445, 2465, 2485, 2570, 2590, + /* 30 */ 2666, 2702, 2743, 2827, 2848, 2876, 2916, 2959, 3001, 3041, + /* 40 */ 3084, 3130, 3167, 3213, 3235, 3278, 3303, 3324, 3346, 3471, + /* 50 */ 3490, 3510, 3577, 3615, 3661, 3682, 3750, 3772, 3793, 3818, + /* 60 */ 3939, 3959, -320, -38, 276, -296, 556, 965, 1109, 1179, + /* 70 */ -341, -112, 190, 160, -529, -367, -75, -526, -450, -240, + /* 80 */ -408, -425, 232, -133, 31, -264, -76, -394, -389, 260, + /* 90 */ 284, 574, -430, 58, 263, 70, 46, 365, 427, 438, + /* 100 */ 578, -287, 278, 606, 609, 612, 646, 338, 229, 468, + /* 110 */ 455, 680, 683, 682, 265, 756, 318, 759, -11, 768, + /* 120 */ 789, 794, 796, 708, 802, 878, 913, 615, 953, -331, + /* 130 */ 762, 876, 791, -503, -503, 372, 636, -364, -163, -148, + /* 140 */ 262, -346, 387, 576, 644, 734, 973, 976, 977, 984, + /* 150 */ 989, 994, 996, 1005, 1018, 1027, 1029, 1030, 1039, 1050, + /* 160 */ -258, 132, 138, 803, 910, 1022, 1024, 132, 919, 933, + /* 170 */ 243, 486, 707, 991, 1031, -84, 691, 855, 391, 858, + /* 180 */ 898, 1014, 395, 1006, 891, 1061, 1062, -53, 1108, -424, + /* 190 */ -412, 746, 755, 1053, 1078, 540, 1104, 1193, 1129, 1083, + /* 200 */ 1083, 1084, 1040, 1116, 1135, 1284, 1083, 1301, 1301, 1327, + /* 210 */ 1328, 1382, 1324, 1232, 1233, 1234, 1316, 1236, 1301, 1331, + /* 220 */ 1386, 1297, 1391, 1348, 1315, 1337, 1340, 1301, 1263, 1264, + /* 230 */ 1240, 1282, 1267, 1350, 1392, 1341, 1322, 1420, 1342, 1333, + /* 240 */ 1415, 1344, 1422, 1355, 1434, 1435, 1383, 1440, 1385, 1394, + /* 250 */ 1443, 1456, 1477, 1423, 1427, 1431, 1436, 1467, 1475, 1489, + /* 260 */ 1492, 1483, 1495, 1496, 1497, 1513, 1510, 1515, 1518, 1425, + /* 270 */ 1501, 1507, 1471, 1511, 1520, 1450, 1516, 1524, 1519, 1468, + /* 280 */ 1525, 1478, 1527, 1529, 1539, 1532, 1547, 1514, 1517, 1526, + /* 290 */ 1528, 1530, 1537, 1541, 1543, 1546, 1549, 1558, 1554, 1553, + /* 300 */ 1566, 1552, 1522, 1523, 1548, 1473, 1484, 1482, 1565, 1504, + /* 310 */ 1533, 1500, 1551, 1594, 1559, 1597, 1561, 1459, 1563, 1460, + /* 320 */ 1564, 1463, 1469, 1470, 1479, 1474, 1485, 1568, 1486, 1494, + /* 330 */ 1466, 1487, 1490, 1634, 1569, 1503, 1506, 1640, 1638, 1642, + /* 340 */ 1581, 1604, 1605, 1610, 1611, 1586, 1613, 1612, 1647, 1623, + /* 350 */ 1601, 1666, 1567, 1636, 1626, 1622, 1683, 1663, 1692, 1697, + /* 360 */ 1657, 1658, 1664, 1665, 1669, 1670, 1671, 1672, 1673, 1674, + /* 370 */ 1676, 1678, 1679, 1685, 1686, 1694, 1695, 1699, 1703, 1706, + /* 380 */ 1710, 1711, 1707, 1714, 1726, 1721, 1741, 1745, 1746, 1749, + /* 390 */ 1751, 1661, 1715, 1654, 1677, 1724, 1727, 1716, 1731, 1718, + /* 400 */ 1732, 1755, 1764, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 10 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 20 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 30 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 40 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 50 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 60 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 70 */ 2254, 2629, 2254, 2254, 2585, 2254, 2254, 2254, 2254, 2254, - /* 80 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2592, - /* 90 */ 2592, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 100 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 110 */ 2254, 2254, 2360, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 120 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 130 */ 2254, 2358, 2896, 2254, 3022, 2670, 2254, 2254, 2925, 2254, - /* 140 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 150 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 160 */ 2908, 2254, 2254, 2331, 2331, 2254, 2908, 2908, 2908, 2868, - /* 170 */ 2868, 2358, 2254, 2254, 2360, 2254, 2672, 2254, 2254, 2254, - /* 180 */ 2254, 2254, 2254, 2254, 2254, 2254, 2501, 2284, 2254, 2254, - /* 190 */ 2254, 2254, 2254, 2254, 2655, 2254, 2254, 2954, 2900, 2901, - /* 200 */ 3016, 2254, 2957, 2919, 2254, 2914, 2254, 2254, 2254, 2254, - /* 210 */ 2254, 2944, 2254, 2254, 2254, 2254, 2254, 2254, 2597, 2254, - /* 220 */ 2698, 2254, 2446, 2649, 2254, 2254, 2254, 2254, 2254, 3000, - /* 230 */ 2898, 2938, 2254, 2254, 2948, 2254, 2254, 2254, 2686, 2360, - /* 240 */ 2254, 2360, 2642, 2580, 2254, 2590, 2254, 2590, 2587, 2254, - /* 250 */ 2254, 2254, 2590, 2587, 2587, 2587, 2434, 2430, 2254, 2254, - /* 260 */ 2428, 2254, 2254, 2254, 2254, 2314, 2254, 2314, 2254, 2360, - /* 270 */ 2360, 2254, 2360, 2254, 2254, 2360, 2254, 2360, 2254, 2360, - /* 280 */ 2254, 2360, 2360, 2254, 2360, 2254, 2254, 2254, 2254, 2254, - /* 290 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 300 */ 2254, 2254, 2254, 2254, 2684, 2665, 2254, 2358, 2254, 2653, - /* 310 */ 2651, 2254, 2358, 2948, 2254, 2254, 2970, 2965, 2970, 2965, - /* 320 */ 2984, 2980, 2970, 2989, 2986, 2950, 2948, 2931, 2927, 3019, - /* 330 */ 3006, 3002, 2254, 2254, 2936, 2934, 2254, 2358, 2358, 2965, - /* 340 */ 2254, 2254, 2254, 2254, 2965, 2254, 2254, 2358, 2254, 2254, - /* 350 */ 2358, 2254, 2254, 2254, 2254, 2358, 2254, 2358, 2254, 2254, - /* 360 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 370 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 380 */ 2254, 2463, 2254, 2254, 2358, 2254, 2286, 2288, 2298, 2254, - /* 390 */ 2644, 3022, 2670, 2675, 2625, 2625, 2504, 2504, 3022, 2504, - /* 400 */ 2361, 2259, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 410 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2803, 2254, 2254, - /* 420 */ 2254, 2254, 2254, 2254, 2983, 2982, 2804, 2254, 2872, 2871, - /* 430 */ 2870, 2861, 2803, 2459, 2254, 2254, 2254, 2802, 2801, 2254, - /* 440 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2616, - /* 450 */ 2615, 2795, 2254, 2254, 2796, 2794, 2793, 2254, 2254, 2254, - /* 460 */ 2254, 2254, 2254, 2254, 2254, 2254, 2450, 2254, 2254, 2447, - /* 470 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 480 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 3003, 3007, 2254, - /* 490 */ 2254, 2254, 2254, 2897, 2254, 2254, 2254, 2254, 2774, 2254, - /* 500 */ 2254, 2254, 2254, 2254, 2742, 2737, 2728, 2719, 2734, 2725, - /* 510 */ 2713, 2731, 2722, 2710, 2707, 2254, 2472, 2254, 2254, 2254, - /* 520 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 530 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 540 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 550 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 560 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 570 */ 2254, 2254, 2586, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 580 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 590 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 600 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 610 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 620 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 630 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2601, 2254, 2254, - /* 640 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 650 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 660 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 670 */ 2254, 2303, 2781, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 680 */ 2254, 2254, 2254, 2254, 2254, 2254, 2784, 2254, 2254, 2785, - /* 690 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 700 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 710 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 720 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 730 */ 2254, 2254, 2405, 2404, 2254, 2254, 2254, 2254, 2254, 2254, - /* 740 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 750 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 760 */ 2254, 2254, 2786, 2254, 2254, 2254, 2254, 2669, 2254, 2254, - /* 770 */ 2776, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 780 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2999, 2951, 2254, - /* 790 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 800 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 810 */ 2254, 2774, 2254, 2981, 2254, 2254, 2254, 2254, 2254, 2254, - /* 820 */ 2254, 2997, 2254, 3001, 2254, 2254, 2254, 2254, 2254, 2254, - /* 830 */ 2254, 2907, 2903, 2254, 2254, 2899, 2254, 2254, 2254, 2254, - /* 840 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 850 */ 2254, 2254, 2254, 2254, 2254, 2254, 2858, 2254, 2254, 2254, - /* 860 */ 2892, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2500, - /* 870 */ 2499, 2498, 2497, 2254, 2254, 2254, 2254, 2254, 2254, 2786, - /* 880 */ 2254, 2789, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 890 */ 2254, 2254, 2254, 2254, 2254, 2773, 2254, 2837, 2836, 2254, - /* 900 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2494, 2254, - /* 910 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 920 */ 2254, 2254, 2254, 2254, 2478, 2476, 2475, 2474, 2254, 2511, - /* 930 */ 2254, 2254, 2254, 2507, 2506, 2254, 2254, 2254, 2254, 2254, - /* 940 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 950 */ 2254, 2254, 2254, 2254, 2379, 2254, 2254, 2254, 2254, 2254, - /* 960 */ 2254, 2254, 2254, 2371, 2254, 2370, 2254, 2254, 2254, 2254, - /* 970 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 980 */ 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - /* 990 */ 2254, 2254, 2254, 2254, 2254, 2283, 2254, 2254, 2254, 2254, - /* 1000 */ 2254, 2254, 2254, 2254, + /* 0 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 10 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 20 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 30 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 40 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 50 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 60 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 70 */ 2263, 2263, 2638, 2263, 2263, 2594, 2263, 2263, 2263, 2263, + /* 80 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 90 */ 2601, 2601, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 100 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 110 */ 2263, 2263, 2263, 2369, 2263, 2263, 2263, 2263, 2263, 2263, + /* 120 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 130 */ 2263, 2263, 2367, 2908, 2263, 3034, 2679, 2263, 2263, 2937, + /* 140 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 150 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 160 */ 2263, 2920, 2263, 2263, 2340, 2340, 2263, 2920, 2920, 2920, + /* 170 */ 2880, 2880, 2367, 2263, 2263, 2369, 2263, 2681, 2263, 2263, + /* 180 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2510, 2293, 2263, + /* 190 */ 2263, 2263, 2263, 2263, 2263, 2664, 2263, 2263, 2966, 2912, + /* 200 */ 2913, 3028, 2263, 2969, 2931, 2263, 2926, 2263, 2263, 2263, + /* 210 */ 2263, 2263, 2956, 2263, 2263, 2263, 2263, 2263, 2263, 2606, + /* 220 */ 2263, 2707, 2263, 2455, 2658, 2263, 2263, 2263, 2263, 2263, + /* 230 */ 3012, 2910, 2950, 2263, 2263, 2960, 2263, 2263, 2263, 2695, + /* 240 */ 2369, 2263, 2369, 2651, 2589, 2263, 2599, 2263, 2599, 2596, + /* 250 */ 2263, 2263, 2263, 2599, 2596, 2596, 2596, 2443, 2439, 2263, + /* 260 */ 2263, 2437, 2263, 2263, 2263, 2263, 2323, 2263, 2323, 2263, + /* 270 */ 2369, 2369, 2263, 2369, 2263, 2263, 2369, 2263, 2369, 2263, + /* 280 */ 2369, 2263, 2369, 2369, 2263, 2369, 2263, 2263, 2263, 2263, + /* 290 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 300 */ 2263, 2263, 2263, 2263, 2263, 2693, 2674, 2263, 2367, 2263, + /* 310 */ 2662, 2660, 2263, 2367, 2960, 2263, 2263, 2982, 2977, 2982, + /* 320 */ 2977, 2996, 2992, 2982, 3001, 2998, 2962, 2960, 2943, 2939, + /* 330 */ 3031, 3018, 3014, 2263, 2263, 2948, 2946, 2263, 2367, 2367, + /* 340 */ 2977, 2263, 2263, 2263, 2263, 2977, 2263, 2263, 2367, 2263, + /* 350 */ 2263, 2367, 2263, 2263, 2263, 2263, 2367, 2263, 2367, 2263, + /* 360 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 370 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 380 */ 2263, 2263, 2472, 2263, 2263, 2367, 2263, 2295, 2297, 2307, + /* 390 */ 2263, 2653, 3034, 2679, 2684, 2634, 2634, 2513, 2513, 3034, + /* 400 */ 2513, 2370, 2268, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 410 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2812, 2263, + /* 420 */ 2263, 2263, 2263, 2263, 2263, 2995, 2994, 2813, 2263, 2884, + /* 430 */ 2883, 2882, 2873, 2812, 2468, 2263, 2263, 2263, 2811, 2810, + /* 440 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 450 */ 2625, 2624, 2804, 2263, 2263, 2805, 2803, 2802, 2263, 2263, + /* 460 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2459, 2263, 2263, + /* 470 */ 2456, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 480 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 3015, 3019, + /* 490 */ 2263, 2263, 2263, 2263, 2909, 2263, 2263, 2263, 2263, 2263, + /* 500 */ 2783, 2263, 2263, 2263, 2263, 2263, 2751, 2746, 2737, 2728, + /* 510 */ 2743, 2734, 2722, 2740, 2731, 2719, 2716, 2263, 2481, 2263, + /* 520 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 530 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 540 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 550 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 560 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 570 */ 2263, 2263, 2263, 2263, 2595, 2263, 2263, 2263, 2263, 2263, + /* 580 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 590 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 600 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 610 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 620 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 630 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2610, + /* 640 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 650 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 660 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 670 */ 2263, 2263, 2263, 2312, 2790, 2263, 2263, 2263, 2263, 2263, + /* 680 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2793, 2263, + /* 690 */ 2263, 2794, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 700 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 710 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 720 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 730 */ 2263, 2263, 2263, 2263, 2414, 2413, 2263, 2263, 2263, 2263, + /* 740 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 750 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 760 */ 2263, 2263, 2263, 2263, 2795, 2263, 2263, 2263, 2263, 2678, + /* 770 */ 2263, 2263, 2785, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 780 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 3011, + /* 790 */ 2963, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 800 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 810 */ 2263, 2263, 2263, 2783, 2263, 2993, 2263, 2263, 2263, 2263, + /* 820 */ 2263, 2263, 2263, 3009, 2263, 3013, 2263, 2263, 2263, 2263, + /* 830 */ 2263, 2263, 2263, 2919, 2915, 2263, 2263, 2911, 2263, 2263, + /* 840 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 850 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2870, 2263, + /* 860 */ 2263, 2263, 2904, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 870 */ 2263, 2263, 2509, 2508, 2507, 2506, 2263, 2263, 2263, 2263, + /* 880 */ 2263, 2263, 2795, 2263, 2798, 2263, 2263, 2263, 2263, 2263, + /* 890 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2782, 2263, + /* 900 */ 2847, 2846, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 910 */ 2263, 2503, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 920 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2487, 2485, 2484, + /* 930 */ 2483, 2263, 2520, 2263, 2263, 2263, 2516, 2515, 2263, 2263, + /* 940 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 950 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2388, 2263, 2263, + /* 960 */ 2263, 2263, 2263, 2263, 2263, 2263, 2380, 2263, 2379, 2263, + /* 970 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 980 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, + /* 990 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2292, 2263, + /* 1000 */ 2263, 2263, 2263, 2263, 2263, 2263, 2263, }; /********** End of lemon-generated parsing tables *****************************/ @@ -1880,12 +1954,12 @@ static const YYCODETYPE yyFallback[] = { 0, /* BWLIMIT => nothing */ 0, /* START => nothing */ 0, /* TIMESTAMP => nothing */ - 336, /* END => ABORT */ + 337, /* END => ABORT */ 0, /* TABLE => nothing */ 0, /* NK_LP => nothing */ 0, /* NK_RP => nothing */ 0, /* USING => nothing */ - 336, /* FILE => ABORT */ + 337, /* FILE => ABORT */ 0, /* STABLE => nothing */ 0, /* COLUMN => nothing */ 0, /* MODIFY => nothing */ @@ -1953,7 +2027,7 @@ static const YYCODETYPE yyFallback[] = { 0, /* VNODES => nothing */ 0, /* ALIVE => nothing */ 0, /* VIEWS => nothing */ - 336, /* VIEW => ABORT */ + 337, /* VIEW => ABORT */ 0, /* COMPACTS => nothing */ 0, /* NORMAL => nothing */ 0, /* CHILD => nothing */ @@ -1996,7 +2070,7 @@ static const YYCODETYPE yyFallback[] = { 0, /* PAUSE => nothing */ 0, /* RESUME => nothing */ 0, /* PRIMARY => nothing */ - 336, /* KEY => ABORT */ + 337, /* KEY => ABORT */ 0, /* TRIGGER => nothing */ 0, /* AT_ONCE => nothing */ 0, /* WINDOW_CLOSE => nothing */ @@ -2035,9 +2109,10 @@ static const YYCODETYPE yyFallback[] = { 0, /* CAST => nothing */ 0, /* POSITION => nothing */ 0, /* IN => nothing */ - 336, /* FOR => ABORT */ + 337, /* FOR => ABORT */ 0, /* NOW => nothing */ 0, /* TODAY => nothing */ + 0, /* RAND => nothing */ 0, /* SUBSTR => nothing */ 0, /* SUBSTRING => nothing */ 0, /* BOTH => nothing */ @@ -2068,7 +2143,7 @@ static const YYCODETYPE yyFallback[] = { 0, /* LEFT => nothing */ 0, /* RIGHT => nothing */ 0, /* OUTER => nothing */ - 336, /* SEMI => ABORT */ + 337, /* SEMI => ABORT */ 0, /* ANTI => nothing */ 0, /* ASOF => nothing */ 0, /* WINDOW => nothing */ @@ -2104,51 +2179,51 @@ static const YYCODETYPE yyFallback[] = { 0, /* ASC => nothing */ 0, /* NULLS => nothing */ 0, /* ABORT => nothing */ - 336, /* AFTER => ABORT */ - 336, /* ATTACH => ABORT */ - 336, /* BEFORE => ABORT */ - 336, /* BEGIN => ABORT */ - 336, /* BITAND => ABORT */ - 336, /* BITNOT => ABORT */ - 336, /* BITOR => ABORT */ - 336, /* BLOCKS => ABORT */ - 336, /* CHANGE => ABORT */ - 336, /* COMMA => ABORT */ - 336, /* CONCAT => ABORT */ - 336, /* CONFLICT => ABORT */ - 336, /* COPY => ABORT */ - 336, /* DEFERRED => ABORT */ - 336, /* DELIMITERS => ABORT */ - 336, /* DETACH => ABORT */ - 336, /* DIVIDE => ABORT */ - 336, /* DOT => ABORT */ - 336, /* EACH => ABORT */ - 336, /* FAIL => ABORT */ - 336, /* GLOB => ABORT */ - 336, /* ID => ABORT */ - 336, /* IMMEDIATE => ABORT */ - 336, /* IMPORT => ABORT */ - 336, /* INITIALLY => ABORT */ - 336, /* INSTEAD => ABORT */ - 336, /* ISNULL => ABORT */ - 336, /* MODULES => ABORT */ - 336, /* NK_BITNOT => ABORT */ - 336, /* NK_SEMI => ABORT */ - 336, /* NOTNULL => ABORT */ - 336, /* OF => ABORT */ - 336, /* PLUS => ABORT */ - 336, /* PRIVILEGE => ABORT */ - 336, /* RAISE => ABORT */ - 336, /* RESTRICT => ABORT */ - 336, /* ROW => ABORT */ - 336, /* STAR => ABORT */ - 336, /* STATEMENT => ABORT */ - 336, /* STRICT => ABORT */ - 336, /* STRING => ABORT */ - 336, /* TIMES => ABORT */ - 336, /* VALUES => ABORT */ - 336, /* VARIABLE => ABORT */ - 336, /* WAL => ABORT */ + 337, /* AFTER => ABORT */ + 337, /* ATTACH => ABORT */ + 337, /* BEFORE => ABORT */ + 337, /* BEGIN => ABORT */ + 337, /* BITAND => ABORT */ + 337, /* BITNOT => ABORT */ + 337, /* BITOR => ABORT */ + 337, /* BLOCKS => ABORT */ + 337, /* CHANGE => ABORT */ + 337, /* COMMA => ABORT */ + 337, /* CONCAT => ABORT */ + 337, /* CONFLICT => ABORT */ + 337, /* COPY => ABORT */ + 337, /* DEFERRED => ABORT */ + 337, /* DELIMITERS => ABORT */ + 337, /* DETACH => ABORT */ + 337, /* DIVIDE => ABORT */ + 337, /* DOT => ABORT */ + 337, /* EACH => ABORT */ + 337, /* FAIL => ABORT */ + 337, /* GLOB => ABORT */ + 337, /* ID => ABORT */ + 337, /* IMMEDIATE => ABORT */ + 337, /* IMPORT => ABORT */ + 337, /* INITIALLY => ABORT */ + 337, /* INSTEAD => ABORT */ + 337, /* ISNULL => ABORT */ + 337, /* MODULES => ABORT */ + 337, /* NK_BITNOT => ABORT */ + 337, /* NK_SEMI => ABORT */ + 337, /* NOTNULL => ABORT */ + 337, /* OF => ABORT */ + 337, /* PLUS => ABORT */ + 337, /* PRIVILEGE => ABORT */ + 337, /* RAISE => ABORT */ + 337, /* RESTRICT => ABORT */ + 337, /* ROW => ABORT */ + 337, /* STAR => ABORT */ + 337, /* STATEMENT => ABORT */ + 337, /* STRICT => ABORT */ + 337, /* STRING => ABORT */ + 337, /* TIMES => ABORT */ + 337, /* VALUES => ABORT */ + 337, /* VARIABLE => ABORT */ + 337, /* WAL => ABORT */ }; #endif /* YYFALLBACK */ @@ -2503,299 +2578,301 @@ static const char *const yyTokenName[] = { /* 268 */ "FOR", /* 269 */ "NOW", /* 270 */ "TODAY", - /* 271 */ "SUBSTR", - /* 272 */ "SUBSTRING", - /* 273 */ "BOTH", - /* 274 */ "TRAILING", - /* 275 */ "LEADING", - /* 276 */ "TIMEZONE", - /* 277 */ "CLIENT_VERSION", - /* 278 */ "SERVER_VERSION", - /* 279 */ "SERVER_STATUS", - /* 280 */ "CURRENT_USER", - /* 281 */ "PI", - /* 282 */ "CASE", - /* 283 */ "WHEN", - /* 284 */ "THEN", - /* 285 */ "ELSE", - /* 286 */ "BETWEEN", - /* 287 */ "IS", - /* 288 */ "NK_LT", - /* 289 */ "NK_GT", - /* 290 */ "NK_LE", - /* 291 */ "NK_GE", - /* 292 */ "NK_NE", - /* 293 */ "MATCH", - /* 294 */ "NMATCH", - /* 295 */ "CONTAINS", - /* 296 */ "JOIN", - /* 297 */ "INNER", - /* 298 */ "LEFT", - /* 299 */ "RIGHT", - /* 300 */ "OUTER", - /* 301 */ "SEMI", - /* 302 */ "ANTI", - /* 303 */ "ASOF", - /* 304 */ "WINDOW", - /* 305 */ "WINDOW_OFFSET", - /* 306 */ "JLIMIT", - /* 307 */ "SELECT", - /* 308 */ "NK_HINT", - /* 309 */ "DISTINCT", - /* 310 */ "WHERE", - /* 311 */ "PARTITION", - /* 312 */ "BY", - /* 313 */ "SESSION", - /* 314 */ "STATE_WINDOW", - /* 315 */ "EVENT_WINDOW", - /* 316 */ "COUNT_WINDOW", - /* 317 */ "SLIDING", - /* 318 */ "FILL", - /* 319 */ "VALUE", - /* 320 */ "VALUE_F", - /* 321 */ "NONE", - /* 322 */ "PREV", - /* 323 */ "NULL_F", - /* 324 */ "LINEAR", - /* 325 */ "NEXT", - /* 326 */ "HAVING", - /* 327 */ "RANGE", - /* 328 */ "EVERY", - /* 329 */ "ORDER", - /* 330 */ "SLIMIT", - /* 331 */ "SOFFSET", - /* 332 */ "LIMIT", - /* 333 */ "OFFSET", - /* 334 */ "ASC", - /* 335 */ "NULLS", - /* 336 */ "ABORT", - /* 337 */ "AFTER", - /* 338 */ "ATTACH", - /* 339 */ "BEFORE", - /* 340 */ "BEGIN", - /* 341 */ "BITAND", - /* 342 */ "BITNOT", - /* 343 */ "BITOR", - /* 344 */ "BLOCKS", - /* 345 */ "CHANGE", - /* 346 */ "COMMA", - /* 347 */ "CONCAT", - /* 348 */ "CONFLICT", - /* 349 */ "COPY", - /* 350 */ "DEFERRED", - /* 351 */ "DELIMITERS", - /* 352 */ "DETACH", - /* 353 */ "DIVIDE", - /* 354 */ "DOT", - /* 355 */ "EACH", - /* 356 */ "FAIL", - /* 357 */ "GLOB", - /* 358 */ "ID", - /* 359 */ "IMMEDIATE", - /* 360 */ "IMPORT", - /* 361 */ "INITIALLY", - /* 362 */ "INSTEAD", - /* 363 */ "ISNULL", - /* 364 */ "MODULES", - /* 365 */ "NK_BITNOT", - /* 366 */ "NK_SEMI", - /* 367 */ "NOTNULL", - /* 368 */ "OF", - /* 369 */ "PLUS", - /* 370 */ "PRIVILEGE", - /* 371 */ "RAISE", - /* 372 */ "RESTRICT", - /* 373 */ "ROW", - /* 374 */ "STAR", - /* 375 */ "STATEMENT", - /* 376 */ "STRICT", - /* 377 */ "STRING", - /* 378 */ "TIMES", - /* 379 */ "VALUES", - /* 380 */ "VARIABLE", - /* 381 */ "WAL", - /* 382 */ "cmd", - /* 383 */ "account_options", - /* 384 */ "alter_account_options", - /* 385 */ "literal", - /* 386 */ "alter_account_option", - /* 387 */ "ip_range_list", - /* 388 */ "white_list", - /* 389 */ "white_list_opt", - /* 390 */ "is_import_opt", - /* 391 */ "is_createdb_opt", - /* 392 */ "user_name", - /* 393 */ "sysinfo_opt", - /* 394 */ "privileges", - /* 395 */ "priv_level", - /* 396 */ "with_opt", - /* 397 */ "priv_type_list", - /* 398 */ "priv_type", - /* 399 */ "db_name", - /* 400 */ "table_name", - /* 401 */ "topic_name", - /* 402 */ "search_condition", - /* 403 */ "dnode_endpoint", - /* 404 */ "force_opt", - /* 405 */ "unsafe_opt", - /* 406 */ "not_exists_opt", - /* 407 */ "db_options", - /* 408 */ "exists_opt", - /* 409 */ "alter_db_options", - /* 410 */ "speed_opt", - /* 411 */ "start_opt", - /* 412 */ "end_opt", - /* 413 */ "integer_list", - /* 414 */ "variable_list", - /* 415 */ "retention_list", - /* 416 */ "signed", - /* 417 */ "alter_db_option", - /* 418 */ "retention", - /* 419 */ "full_table_name", - /* 420 */ "column_def_list", - /* 421 */ "tags_def_opt", - /* 422 */ "table_options", - /* 423 */ "multi_create_clause", - /* 424 */ "tag_list_opt", - /* 425 */ "tags_def", - /* 426 */ "multi_drop_clause", - /* 427 */ "alter_table_clause", - /* 428 */ "alter_table_options", - /* 429 */ "column_name", - /* 430 */ "type_name", - /* 431 */ "column_options", - /* 432 */ "tags_literal", - /* 433 */ "create_subtable_clause", - /* 434 */ "specific_cols_opt", - /* 435 */ "tags_literal_list", - /* 436 */ "drop_table_clause", - /* 437 */ "col_name_list", - /* 438 */ "tag_def_list", - /* 439 */ "tag_def", - /* 440 */ "column_def", - /* 441 */ "type_name_default_len", - /* 442 */ "duration_list", - /* 443 */ "rollup_func_list", - /* 444 */ "alter_table_option", - /* 445 */ "duration_literal", - /* 446 */ "rollup_func_name", - /* 447 */ "function_name", - /* 448 */ "col_name", - /* 449 */ "db_kind_opt", - /* 450 */ "table_kind_db_name_cond_opt", - /* 451 */ "like_pattern_opt", - /* 452 */ "db_name_cond_opt", - /* 453 */ "table_name_cond", - /* 454 */ "from_db_opt", - /* 455 */ "table_kind", - /* 456 */ "tag_item", - /* 457 */ "column_alias", - /* 458 */ "tsma_name", - /* 459 */ "tsma_func_list", - /* 460 */ "full_tsma_name", - /* 461 */ "func_list", - /* 462 */ "index_options", - /* 463 */ "full_index_name", - /* 464 */ "index_name", - /* 465 */ "sliding_opt", - /* 466 */ "sma_stream_opt", - /* 467 */ "func", - /* 468 */ "sma_func_name", - /* 469 */ "expression_list", - /* 470 */ "with_meta", - /* 471 */ "query_or_subquery", - /* 472 */ "where_clause_opt", - /* 473 */ "cgroup_name", - /* 474 */ "analyze_opt", - /* 475 */ "explain_options", - /* 476 */ "insert_query", - /* 477 */ "or_replace_opt", - /* 478 */ "agg_func_opt", - /* 479 */ "bufsize_opt", - /* 480 */ "language_opt", - /* 481 */ "full_view_name", - /* 482 */ "view_name", - /* 483 */ "stream_name", - /* 484 */ "stream_options", - /* 485 */ "col_list_opt", - /* 486 */ "tag_def_or_ref_opt", - /* 487 */ "subtable_opt", - /* 488 */ "ignore_opt", - /* 489 */ "column_stream_def_list", - /* 490 */ "column_stream_def", - /* 491 */ "stream_col_options", - /* 492 */ "expression", - /* 493 */ "on_vgroup_id", - /* 494 */ "dnode_list", - /* 495 */ "literal_func", - /* 496 */ "signed_literal", - /* 497 */ "literal_list", - /* 498 */ "table_alias", - /* 499 */ "expr_or_subquery", - /* 500 */ "pseudo_column", - /* 501 */ "column_reference", - /* 502 */ "function_expression", - /* 503 */ "case_when_expression", - /* 504 */ "star_func", - /* 505 */ "star_func_para_list", - /* 506 */ "trim_specification_type", - /* 507 */ "substr_func", - /* 508 */ "noarg_func", - /* 509 */ "other_para_list", - /* 510 */ "star_func_para", - /* 511 */ "when_then_list", - /* 512 */ "case_when_else_opt", - /* 513 */ "common_expression", - /* 514 */ "when_then_expr", - /* 515 */ "predicate", - /* 516 */ "compare_op", - /* 517 */ "in_op", - /* 518 */ "in_predicate_value", - /* 519 */ "boolean_value_expression", - /* 520 */ "boolean_primary", - /* 521 */ "from_clause_opt", - /* 522 */ "table_reference_list", - /* 523 */ "table_reference", - /* 524 */ "table_primary", - /* 525 */ "joined_table", - /* 526 */ "alias_opt", - /* 527 */ "subquery", - /* 528 */ "parenthesized_joined_table", - /* 529 */ "join_type", - /* 530 */ "join_subtype", - /* 531 */ "join_on_clause_opt", - /* 532 */ "window_offset_clause_opt", - /* 533 */ "jlimit_clause_opt", - /* 534 */ "window_offset_literal", - /* 535 */ "query_specification", - /* 536 */ "hint_list", - /* 537 */ "set_quantifier_opt", - /* 538 */ "tag_mode_opt", - /* 539 */ "select_list", - /* 540 */ "partition_by_clause_opt", - /* 541 */ "range_opt", - /* 542 */ "every_opt", - /* 543 */ "fill_opt", - /* 544 */ "twindow_clause_opt", - /* 545 */ "group_by_clause_opt", - /* 546 */ "having_clause_opt", - /* 547 */ "select_item", - /* 548 */ "partition_list", - /* 549 */ "partition_item", - /* 550 */ "interval_sliding_duration_literal", - /* 551 */ "fill_mode", - /* 552 */ "group_by_list", - /* 553 */ "query_expression", - /* 554 */ "query_simple", - /* 555 */ "order_by_clause_opt", - /* 556 */ "slimit_clause_opt", - /* 557 */ "limit_clause_opt", - /* 558 */ "union_query_expression", - /* 559 */ "query_simple_or_subquery", - /* 560 */ "sort_specification_list", - /* 561 */ "sort_specification", - /* 562 */ "ordering_specification_opt", - /* 563 */ "null_ordering_opt", + /* 271 */ "RAND", + /* 272 */ "SUBSTR", + /* 273 */ "SUBSTRING", + /* 274 */ "BOTH", + /* 275 */ "TRAILING", + /* 276 */ "LEADING", + /* 277 */ "TIMEZONE", + /* 278 */ "CLIENT_VERSION", + /* 279 */ "SERVER_VERSION", + /* 280 */ "SERVER_STATUS", + /* 281 */ "CURRENT_USER", + /* 282 */ "PI", + /* 283 */ "CASE", + /* 284 */ "WHEN", + /* 285 */ "THEN", + /* 286 */ "ELSE", + /* 287 */ "BETWEEN", + /* 288 */ "IS", + /* 289 */ "NK_LT", + /* 290 */ "NK_GT", + /* 291 */ "NK_LE", + /* 292 */ "NK_GE", + /* 293 */ "NK_NE", + /* 294 */ "MATCH", + /* 295 */ "NMATCH", + /* 296 */ "CONTAINS", + /* 297 */ "JOIN", + /* 298 */ "INNER", + /* 299 */ "LEFT", + /* 300 */ "RIGHT", + /* 301 */ "OUTER", + /* 302 */ "SEMI", + /* 303 */ "ANTI", + /* 304 */ "ASOF", + /* 305 */ "WINDOW", + /* 306 */ "WINDOW_OFFSET", + /* 307 */ "JLIMIT", + /* 308 */ "SELECT", + /* 309 */ "NK_HINT", + /* 310 */ "DISTINCT", + /* 311 */ "WHERE", + /* 312 */ "PARTITION", + /* 313 */ "BY", + /* 314 */ "SESSION", + /* 315 */ "STATE_WINDOW", + /* 316 */ "EVENT_WINDOW", + /* 317 */ "COUNT_WINDOW", + /* 318 */ "SLIDING", + /* 319 */ "FILL", + /* 320 */ "VALUE", + /* 321 */ "VALUE_F", + /* 322 */ "NONE", + /* 323 */ "PREV", + /* 324 */ "NULL_F", + /* 325 */ "LINEAR", + /* 326 */ "NEXT", + /* 327 */ "HAVING", + /* 328 */ "RANGE", + /* 329 */ "EVERY", + /* 330 */ "ORDER", + /* 331 */ "SLIMIT", + /* 332 */ "SOFFSET", + /* 333 */ "LIMIT", + /* 334 */ "OFFSET", + /* 335 */ "ASC", + /* 336 */ "NULLS", + /* 337 */ "ABORT", + /* 338 */ "AFTER", + /* 339 */ "ATTACH", + /* 340 */ "BEFORE", + /* 341 */ "BEGIN", + /* 342 */ "BITAND", + /* 343 */ "BITNOT", + /* 344 */ "BITOR", + /* 345 */ "BLOCKS", + /* 346 */ "CHANGE", + /* 347 */ "COMMA", + /* 348 */ "CONCAT", + /* 349 */ "CONFLICT", + /* 350 */ "COPY", + /* 351 */ "DEFERRED", + /* 352 */ "DELIMITERS", + /* 353 */ "DETACH", + /* 354 */ "DIVIDE", + /* 355 */ "DOT", + /* 356 */ "EACH", + /* 357 */ "FAIL", + /* 358 */ "GLOB", + /* 359 */ "ID", + /* 360 */ "IMMEDIATE", + /* 361 */ "IMPORT", + /* 362 */ "INITIALLY", + /* 363 */ "INSTEAD", + /* 364 */ "ISNULL", + /* 365 */ "MODULES", + /* 366 */ "NK_BITNOT", + /* 367 */ "NK_SEMI", + /* 368 */ "NOTNULL", + /* 369 */ "OF", + /* 370 */ "PLUS", + /* 371 */ "PRIVILEGE", + /* 372 */ "RAISE", + /* 373 */ "RESTRICT", + /* 374 */ "ROW", + /* 375 */ "STAR", + /* 376 */ "STATEMENT", + /* 377 */ "STRICT", + /* 378 */ "STRING", + /* 379 */ "TIMES", + /* 380 */ "VALUES", + /* 381 */ "VARIABLE", + /* 382 */ "WAL", + /* 383 */ "cmd", + /* 384 */ "account_options", + /* 385 */ "alter_account_options", + /* 386 */ "literal", + /* 387 */ "alter_account_option", + /* 388 */ "ip_range_list", + /* 389 */ "white_list", + /* 390 */ "white_list_opt", + /* 391 */ "is_import_opt", + /* 392 */ "is_createdb_opt", + /* 393 */ "user_name", + /* 394 */ "sysinfo_opt", + /* 395 */ "privileges", + /* 396 */ "priv_level", + /* 397 */ "with_opt", + /* 398 */ "priv_type_list", + /* 399 */ "priv_type", + /* 400 */ "db_name", + /* 401 */ "table_name", + /* 402 */ "topic_name", + /* 403 */ "search_condition", + /* 404 */ "dnode_endpoint", + /* 405 */ "force_opt", + /* 406 */ "unsafe_opt", + /* 407 */ "not_exists_opt", + /* 408 */ "db_options", + /* 409 */ "exists_opt", + /* 410 */ "alter_db_options", + /* 411 */ "speed_opt", + /* 412 */ "start_opt", + /* 413 */ "end_opt", + /* 414 */ "integer_list", + /* 415 */ "variable_list", + /* 416 */ "retention_list", + /* 417 */ "signed", + /* 418 */ "alter_db_option", + /* 419 */ "retention", + /* 420 */ "full_table_name", + /* 421 */ "column_def_list", + /* 422 */ "tags_def_opt", + /* 423 */ "table_options", + /* 424 */ "multi_create_clause", + /* 425 */ "tag_list_opt", + /* 426 */ "tags_def", + /* 427 */ "multi_drop_clause", + /* 428 */ "alter_table_clause", + /* 429 */ "alter_table_options", + /* 430 */ "column_name", + /* 431 */ "type_name", + /* 432 */ "column_options", + /* 433 */ "tags_literal", + /* 434 */ "create_subtable_clause", + /* 435 */ "specific_cols_opt", + /* 436 */ "tags_literal_list", + /* 437 */ "drop_table_clause", + /* 438 */ "col_name_list", + /* 439 */ "tag_def_list", + /* 440 */ "tag_def", + /* 441 */ "column_def", + /* 442 */ "type_name_default_len", + /* 443 */ "duration_list", + /* 444 */ "rollup_func_list", + /* 445 */ "alter_table_option", + /* 446 */ "duration_literal", + /* 447 */ "rollup_func_name", + /* 448 */ "function_name", + /* 449 */ "col_name", + /* 450 */ "db_kind_opt", + /* 451 */ "table_kind_db_name_cond_opt", + /* 452 */ "like_pattern_opt", + /* 453 */ "db_name_cond_opt", + /* 454 */ "table_name_cond", + /* 455 */ "from_db_opt", + /* 456 */ "table_kind", + /* 457 */ "tag_item", + /* 458 */ "column_alias", + /* 459 */ "tsma_name", + /* 460 */ "tsma_func_list", + /* 461 */ "full_tsma_name", + /* 462 */ "func_list", + /* 463 */ "index_options", + /* 464 */ "full_index_name", + /* 465 */ "index_name", + /* 466 */ "sliding_opt", + /* 467 */ "sma_stream_opt", + /* 468 */ "func", + /* 469 */ "sma_func_name", + /* 470 */ "expression_list", + /* 471 */ "with_meta", + /* 472 */ "query_or_subquery", + /* 473 */ "where_clause_opt", + /* 474 */ "cgroup_name", + /* 475 */ "analyze_opt", + /* 476 */ "explain_options", + /* 477 */ "insert_query", + /* 478 */ "or_replace_opt", + /* 479 */ "agg_func_opt", + /* 480 */ "bufsize_opt", + /* 481 */ "language_opt", + /* 482 */ "full_view_name", + /* 483 */ "view_name", + /* 484 */ "stream_name", + /* 485 */ "stream_options", + /* 486 */ "col_list_opt", + /* 487 */ "tag_def_or_ref_opt", + /* 488 */ "subtable_opt", + /* 489 */ "ignore_opt", + /* 490 */ "column_stream_def_list", + /* 491 */ "column_stream_def", + /* 492 */ "stream_col_options", + /* 493 */ "expression", + /* 494 */ "on_vgroup_id", + /* 495 */ "dnode_list", + /* 496 */ "literal_func", + /* 497 */ "signed_literal", + /* 498 */ "literal_list", + /* 499 */ "table_alias", + /* 500 */ "expr_or_subquery", + /* 501 */ "pseudo_column", + /* 502 */ "column_reference", + /* 503 */ "function_expression", + /* 504 */ "case_when_expression", + /* 505 */ "star_func", + /* 506 */ "star_func_para_list", + /* 507 */ "trim_specification_type", + /* 508 */ "substr_func", + /* 509 */ "rand_func", + /* 510 */ "noarg_func", + /* 511 */ "other_para_list", + /* 512 */ "star_func_para", + /* 513 */ "when_then_list", + /* 514 */ "case_when_else_opt", + /* 515 */ "common_expression", + /* 516 */ "when_then_expr", + /* 517 */ "predicate", + /* 518 */ "compare_op", + /* 519 */ "in_op", + /* 520 */ "in_predicate_value", + /* 521 */ "boolean_value_expression", + /* 522 */ "boolean_primary", + /* 523 */ "from_clause_opt", + /* 524 */ "table_reference_list", + /* 525 */ "table_reference", + /* 526 */ "table_primary", + /* 527 */ "joined_table", + /* 528 */ "alias_opt", + /* 529 */ "subquery", + /* 530 */ "parenthesized_joined_table", + /* 531 */ "join_type", + /* 532 */ "join_subtype", + /* 533 */ "join_on_clause_opt", + /* 534 */ "window_offset_clause_opt", + /* 535 */ "jlimit_clause_opt", + /* 536 */ "window_offset_literal", + /* 537 */ "query_specification", + /* 538 */ "hint_list", + /* 539 */ "set_quantifier_opt", + /* 540 */ "tag_mode_opt", + /* 541 */ "select_list", + /* 542 */ "partition_by_clause_opt", + /* 543 */ "range_opt", + /* 544 */ "every_opt", + /* 545 */ "fill_opt", + /* 546 */ "twindow_clause_opt", + /* 547 */ "group_by_clause_opt", + /* 548 */ "having_clause_opt", + /* 549 */ "select_item", + /* 550 */ "partition_list", + /* 551 */ "partition_item", + /* 552 */ "interval_sliding_duration_literal", + /* 553 */ "fill_mode", + /* 554 */ "group_by_list", + /* 555 */ "query_expression", + /* 556 */ "query_simple", + /* 557 */ "order_by_clause_opt", + /* 558 */ "slimit_clause_opt", + /* 559 */ "limit_clause_opt", + /* 560 */ "union_query_expression", + /* 561 */ "query_simple_or_subquery", + /* 562 */ "sort_specification_list", + /* 563 */ "sort_specification", + /* 564 */ "ordering_specification_opt", + /* 565 */ "null_ordering_opt", }; #endif /* defined(YYCOVERAGE) || !defined(NDEBUG) */ @@ -3381,196 +3458,199 @@ static const char *const yyRuleName[] = { /* 575 */ "function_expression ::= substr_func NK_LP expr_or_subquery FROM expr_or_subquery FOR expr_or_subquery NK_RP", /* 576 */ "function_expression ::= REPLACE NK_LP expression_list NK_RP", /* 577 */ "function_expression ::= literal_func", - /* 578 */ "literal_func ::= noarg_func NK_LP NK_RP", - /* 579 */ "literal_func ::= NOW", - /* 580 */ "literal_func ::= TODAY", - /* 581 */ "substr_func ::= SUBSTR", - /* 582 */ "substr_func ::= SUBSTRING", - /* 583 */ "trim_specification_type ::= BOTH", - /* 584 */ "trim_specification_type ::= TRAILING", - /* 585 */ "trim_specification_type ::= LEADING", - /* 586 */ "noarg_func ::= NOW", - /* 587 */ "noarg_func ::= TODAY", - /* 588 */ "noarg_func ::= TIMEZONE", - /* 589 */ "noarg_func ::= DATABASE", - /* 590 */ "noarg_func ::= CLIENT_VERSION", - /* 591 */ "noarg_func ::= SERVER_VERSION", - /* 592 */ "noarg_func ::= SERVER_STATUS", - /* 593 */ "noarg_func ::= CURRENT_USER", - /* 594 */ "noarg_func ::= USER", - /* 595 */ "noarg_func ::= PI", - /* 596 */ "star_func ::= COUNT", - /* 597 */ "star_func ::= FIRST", - /* 598 */ "star_func ::= LAST", - /* 599 */ "star_func ::= LAST_ROW", - /* 600 */ "star_func_para_list ::= NK_STAR", - /* 601 */ "star_func_para_list ::= other_para_list", - /* 602 */ "other_para_list ::= star_func_para", - /* 603 */ "other_para_list ::= other_para_list NK_COMMA star_func_para", - /* 604 */ "star_func_para ::= expr_or_subquery", - /* 605 */ "star_func_para ::= table_name NK_DOT NK_STAR", - /* 606 */ "case_when_expression ::= CASE when_then_list case_when_else_opt END", - /* 607 */ "case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END", - /* 608 */ "when_then_list ::= when_then_expr", - /* 609 */ "when_then_list ::= when_then_list when_then_expr", - /* 610 */ "when_then_expr ::= WHEN common_expression THEN common_expression", - /* 611 */ "case_when_else_opt ::=", - /* 612 */ "case_when_else_opt ::= ELSE common_expression", - /* 613 */ "predicate ::= expr_or_subquery compare_op expr_or_subquery", - /* 614 */ "predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery", - /* 615 */ "predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery", - /* 616 */ "predicate ::= expr_or_subquery IS NULL", - /* 617 */ "predicate ::= expr_or_subquery IS NOT NULL", - /* 618 */ "predicate ::= expr_or_subquery in_op in_predicate_value", - /* 619 */ "compare_op ::= NK_LT", - /* 620 */ "compare_op ::= NK_GT", - /* 621 */ "compare_op ::= NK_LE", - /* 622 */ "compare_op ::= NK_GE", - /* 623 */ "compare_op ::= NK_NE", - /* 624 */ "compare_op ::= NK_EQ", - /* 625 */ "compare_op ::= LIKE", - /* 626 */ "compare_op ::= NOT LIKE", - /* 627 */ "compare_op ::= MATCH", - /* 628 */ "compare_op ::= NMATCH", - /* 629 */ "compare_op ::= CONTAINS", - /* 630 */ "in_op ::= IN", - /* 631 */ "in_op ::= NOT IN", - /* 632 */ "in_predicate_value ::= NK_LP literal_list NK_RP", - /* 633 */ "boolean_value_expression ::= boolean_primary", - /* 634 */ "boolean_value_expression ::= NOT boolean_primary", - /* 635 */ "boolean_value_expression ::= boolean_value_expression OR boolean_value_expression", - /* 636 */ "boolean_value_expression ::= boolean_value_expression AND boolean_value_expression", - /* 637 */ "boolean_primary ::= predicate", - /* 638 */ "boolean_primary ::= NK_LP boolean_value_expression NK_RP", - /* 639 */ "common_expression ::= expr_or_subquery", - /* 640 */ "common_expression ::= boolean_value_expression", - /* 641 */ "from_clause_opt ::=", - /* 642 */ "from_clause_opt ::= FROM table_reference_list", - /* 643 */ "table_reference_list ::= table_reference", - /* 644 */ "table_reference_list ::= table_reference_list NK_COMMA table_reference", - /* 645 */ "table_reference ::= table_primary", - /* 646 */ "table_reference ::= joined_table", - /* 647 */ "table_primary ::= table_name alias_opt", - /* 648 */ "table_primary ::= db_name NK_DOT table_name alias_opt", - /* 649 */ "table_primary ::= subquery alias_opt", - /* 650 */ "table_primary ::= parenthesized_joined_table", - /* 651 */ "alias_opt ::=", - /* 652 */ "alias_opt ::= table_alias", - /* 653 */ "alias_opt ::= AS table_alias", - /* 654 */ "parenthesized_joined_table ::= NK_LP joined_table NK_RP", - /* 655 */ "parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP", - /* 656 */ "joined_table ::= table_reference join_type join_subtype JOIN table_reference join_on_clause_opt window_offset_clause_opt jlimit_clause_opt", - /* 657 */ "join_type ::=", - /* 658 */ "join_type ::= INNER", - /* 659 */ "join_type ::= LEFT", - /* 660 */ "join_type ::= RIGHT", - /* 661 */ "join_type ::= FULL", - /* 662 */ "join_subtype ::=", - /* 663 */ "join_subtype ::= OUTER", - /* 664 */ "join_subtype ::= SEMI", - /* 665 */ "join_subtype ::= ANTI", - /* 666 */ "join_subtype ::= ASOF", - /* 667 */ "join_subtype ::= WINDOW", - /* 668 */ "join_on_clause_opt ::=", - /* 669 */ "join_on_clause_opt ::= ON search_condition", - /* 670 */ "window_offset_clause_opt ::=", - /* 671 */ "window_offset_clause_opt ::= WINDOW_OFFSET NK_LP window_offset_literal NK_COMMA window_offset_literal NK_RP", - /* 672 */ "window_offset_literal ::= NK_VARIABLE", - /* 673 */ "window_offset_literal ::= NK_MINUS NK_VARIABLE", - /* 674 */ "jlimit_clause_opt ::=", - /* 675 */ "jlimit_clause_opt ::= JLIMIT NK_INTEGER", - /* 676 */ "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", - /* 677 */ "hint_list ::=", - /* 678 */ "hint_list ::= NK_HINT", - /* 679 */ "tag_mode_opt ::=", - /* 680 */ "tag_mode_opt ::= TAGS", - /* 681 */ "set_quantifier_opt ::=", - /* 682 */ "set_quantifier_opt ::= DISTINCT", - /* 683 */ "set_quantifier_opt ::= ALL", - /* 684 */ "select_list ::= select_item", - /* 685 */ "select_list ::= select_list NK_COMMA select_item", - /* 686 */ "select_item ::= NK_STAR", - /* 687 */ "select_item ::= common_expression", - /* 688 */ "select_item ::= common_expression column_alias", - /* 689 */ "select_item ::= common_expression AS column_alias", - /* 690 */ "select_item ::= table_name NK_DOT NK_STAR", - /* 691 */ "where_clause_opt ::=", - /* 692 */ "where_clause_opt ::= WHERE search_condition", - /* 693 */ "partition_by_clause_opt ::=", - /* 694 */ "partition_by_clause_opt ::= PARTITION BY partition_list", - /* 695 */ "partition_list ::= partition_item", - /* 696 */ "partition_list ::= partition_list NK_COMMA partition_item", - /* 697 */ "partition_item ::= expr_or_subquery", - /* 698 */ "partition_item ::= expr_or_subquery column_alias", - /* 699 */ "partition_item ::= expr_or_subquery AS column_alias", - /* 700 */ "twindow_clause_opt ::=", - /* 701 */ "twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP", - /* 702 */ "twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP", - /* 703 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt", - /* 704 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt", - /* 705 */ "twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition", - /* 706 */ "twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP", - /* 707 */ "twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP", - /* 708 */ "sliding_opt ::=", - /* 709 */ "sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP", - /* 710 */ "interval_sliding_duration_literal ::= NK_VARIABLE", - /* 711 */ "interval_sliding_duration_literal ::= NK_STRING", - /* 712 */ "interval_sliding_duration_literal ::= NK_INTEGER", - /* 713 */ "fill_opt ::=", - /* 714 */ "fill_opt ::= FILL NK_LP fill_mode NK_RP", - /* 715 */ "fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP", - /* 716 */ "fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP", - /* 717 */ "fill_mode ::= NONE", - /* 718 */ "fill_mode ::= PREV", - /* 719 */ "fill_mode ::= NULL", - /* 720 */ "fill_mode ::= NULL_F", - /* 721 */ "fill_mode ::= LINEAR", - /* 722 */ "fill_mode ::= NEXT", - /* 723 */ "group_by_clause_opt ::=", - /* 724 */ "group_by_clause_opt ::= GROUP BY group_by_list", - /* 725 */ "group_by_list ::= expr_or_subquery", - /* 726 */ "group_by_list ::= group_by_list NK_COMMA expr_or_subquery", - /* 727 */ "having_clause_opt ::=", - /* 728 */ "having_clause_opt ::= HAVING search_condition", - /* 729 */ "range_opt ::=", - /* 730 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP", - /* 731 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_RP", - /* 732 */ "every_opt ::=", - /* 733 */ "every_opt ::= EVERY NK_LP duration_literal NK_RP", - /* 734 */ "query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt", - /* 735 */ "query_simple ::= query_specification", - /* 736 */ "query_simple ::= union_query_expression", - /* 737 */ "union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery", - /* 738 */ "union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery", - /* 739 */ "query_simple_or_subquery ::= query_simple", - /* 740 */ "query_simple_or_subquery ::= subquery", - /* 741 */ "query_or_subquery ::= query_expression", - /* 742 */ "query_or_subquery ::= subquery", - /* 743 */ "order_by_clause_opt ::=", - /* 744 */ "order_by_clause_opt ::= ORDER BY sort_specification_list", - /* 745 */ "slimit_clause_opt ::=", - /* 746 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER", - /* 747 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER", - /* 748 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER", - /* 749 */ "limit_clause_opt ::=", - /* 750 */ "limit_clause_opt ::= LIMIT NK_INTEGER", - /* 751 */ "limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER", - /* 752 */ "limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER", - /* 753 */ "subquery ::= NK_LP query_expression NK_RP", - /* 754 */ "subquery ::= NK_LP subquery NK_RP", - /* 755 */ "search_condition ::= common_expression", - /* 756 */ "sort_specification_list ::= sort_specification", - /* 757 */ "sort_specification_list ::= sort_specification_list NK_COMMA sort_specification", - /* 758 */ "sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt", - /* 759 */ "ordering_specification_opt ::=", - /* 760 */ "ordering_specification_opt ::= ASC", - /* 761 */ "ordering_specification_opt ::= DESC", - /* 762 */ "null_ordering_opt ::=", - /* 763 */ "null_ordering_opt ::= NULLS FIRST", - /* 764 */ "null_ordering_opt ::= NULLS LAST", - /* 765 */ "column_options ::=", - /* 766 */ "column_options ::= column_options PRIMARY KEY", - /* 767 */ "column_options ::= column_options NK_ID NK_STRING", + /* 578 */ "function_expression ::= rand_func", + /* 579 */ "literal_func ::= noarg_func NK_LP NK_RP", + /* 580 */ "literal_func ::= NOW", + /* 581 */ "literal_func ::= TODAY", + /* 582 */ "rand_func ::= RAND NK_LP NK_RP", + /* 583 */ "rand_func ::= RAND NK_LP expression_list NK_RP", + /* 584 */ "substr_func ::= SUBSTR", + /* 585 */ "substr_func ::= SUBSTRING", + /* 586 */ "trim_specification_type ::= BOTH", + /* 587 */ "trim_specification_type ::= TRAILING", + /* 588 */ "trim_specification_type ::= LEADING", + /* 589 */ "noarg_func ::= NOW", + /* 590 */ "noarg_func ::= TODAY", + /* 591 */ "noarg_func ::= TIMEZONE", + /* 592 */ "noarg_func ::= DATABASE", + /* 593 */ "noarg_func ::= CLIENT_VERSION", + /* 594 */ "noarg_func ::= SERVER_VERSION", + /* 595 */ "noarg_func ::= SERVER_STATUS", + /* 596 */ "noarg_func ::= CURRENT_USER", + /* 597 */ "noarg_func ::= USER", + /* 598 */ "noarg_func ::= PI", + /* 599 */ "star_func ::= COUNT", + /* 600 */ "star_func ::= FIRST", + /* 601 */ "star_func ::= LAST", + /* 602 */ "star_func ::= LAST_ROW", + /* 603 */ "star_func_para_list ::= NK_STAR", + /* 604 */ "star_func_para_list ::= other_para_list", + /* 605 */ "other_para_list ::= star_func_para", + /* 606 */ "other_para_list ::= other_para_list NK_COMMA star_func_para", + /* 607 */ "star_func_para ::= expr_or_subquery", + /* 608 */ "star_func_para ::= table_name NK_DOT NK_STAR", + /* 609 */ "case_when_expression ::= CASE when_then_list case_when_else_opt END", + /* 610 */ "case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END", + /* 611 */ "when_then_list ::= when_then_expr", + /* 612 */ "when_then_list ::= when_then_list when_then_expr", + /* 613 */ "when_then_expr ::= WHEN common_expression THEN common_expression", + /* 614 */ "case_when_else_opt ::=", + /* 615 */ "case_when_else_opt ::= ELSE common_expression", + /* 616 */ "predicate ::= expr_or_subquery compare_op expr_or_subquery", + /* 617 */ "predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery", + /* 618 */ "predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery", + /* 619 */ "predicate ::= expr_or_subquery IS NULL", + /* 620 */ "predicate ::= expr_or_subquery IS NOT NULL", + /* 621 */ "predicate ::= expr_or_subquery in_op in_predicate_value", + /* 622 */ "compare_op ::= NK_LT", + /* 623 */ "compare_op ::= NK_GT", + /* 624 */ "compare_op ::= NK_LE", + /* 625 */ "compare_op ::= NK_GE", + /* 626 */ "compare_op ::= NK_NE", + /* 627 */ "compare_op ::= NK_EQ", + /* 628 */ "compare_op ::= LIKE", + /* 629 */ "compare_op ::= NOT LIKE", + /* 630 */ "compare_op ::= MATCH", + /* 631 */ "compare_op ::= NMATCH", + /* 632 */ "compare_op ::= CONTAINS", + /* 633 */ "in_op ::= IN", + /* 634 */ "in_op ::= NOT IN", + /* 635 */ "in_predicate_value ::= NK_LP literal_list NK_RP", + /* 636 */ "boolean_value_expression ::= boolean_primary", + /* 637 */ "boolean_value_expression ::= NOT boolean_primary", + /* 638 */ "boolean_value_expression ::= boolean_value_expression OR boolean_value_expression", + /* 639 */ "boolean_value_expression ::= boolean_value_expression AND boolean_value_expression", + /* 640 */ "boolean_primary ::= predicate", + /* 641 */ "boolean_primary ::= NK_LP boolean_value_expression NK_RP", + /* 642 */ "common_expression ::= expr_or_subquery", + /* 643 */ "common_expression ::= boolean_value_expression", + /* 644 */ "from_clause_opt ::=", + /* 645 */ "from_clause_opt ::= FROM table_reference_list", + /* 646 */ "table_reference_list ::= table_reference", + /* 647 */ "table_reference_list ::= table_reference_list NK_COMMA table_reference", + /* 648 */ "table_reference ::= table_primary", + /* 649 */ "table_reference ::= joined_table", + /* 650 */ "table_primary ::= table_name alias_opt", + /* 651 */ "table_primary ::= db_name NK_DOT table_name alias_opt", + /* 652 */ "table_primary ::= subquery alias_opt", + /* 653 */ "table_primary ::= parenthesized_joined_table", + /* 654 */ "alias_opt ::=", + /* 655 */ "alias_opt ::= table_alias", + /* 656 */ "alias_opt ::= AS table_alias", + /* 657 */ "parenthesized_joined_table ::= NK_LP joined_table NK_RP", + /* 658 */ "parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP", + /* 659 */ "joined_table ::= table_reference join_type join_subtype JOIN table_reference join_on_clause_opt window_offset_clause_opt jlimit_clause_opt", + /* 660 */ "join_type ::=", + /* 661 */ "join_type ::= INNER", + /* 662 */ "join_type ::= LEFT", + /* 663 */ "join_type ::= RIGHT", + /* 664 */ "join_type ::= FULL", + /* 665 */ "join_subtype ::=", + /* 666 */ "join_subtype ::= OUTER", + /* 667 */ "join_subtype ::= SEMI", + /* 668 */ "join_subtype ::= ANTI", + /* 669 */ "join_subtype ::= ASOF", + /* 670 */ "join_subtype ::= WINDOW", + /* 671 */ "join_on_clause_opt ::=", + /* 672 */ "join_on_clause_opt ::= ON search_condition", + /* 673 */ "window_offset_clause_opt ::=", + /* 674 */ "window_offset_clause_opt ::= WINDOW_OFFSET NK_LP window_offset_literal NK_COMMA window_offset_literal NK_RP", + /* 675 */ "window_offset_literal ::= NK_VARIABLE", + /* 676 */ "window_offset_literal ::= NK_MINUS NK_VARIABLE", + /* 677 */ "jlimit_clause_opt ::=", + /* 678 */ "jlimit_clause_opt ::= JLIMIT NK_INTEGER", + /* 679 */ "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", + /* 680 */ "hint_list ::=", + /* 681 */ "hint_list ::= NK_HINT", + /* 682 */ "tag_mode_opt ::=", + /* 683 */ "tag_mode_opt ::= TAGS", + /* 684 */ "set_quantifier_opt ::=", + /* 685 */ "set_quantifier_opt ::= DISTINCT", + /* 686 */ "set_quantifier_opt ::= ALL", + /* 687 */ "select_list ::= select_item", + /* 688 */ "select_list ::= select_list NK_COMMA select_item", + /* 689 */ "select_item ::= NK_STAR", + /* 690 */ "select_item ::= common_expression", + /* 691 */ "select_item ::= common_expression column_alias", + /* 692 */ "select_item ::= common_expression AS column_alias", + /* 693 */ "select_item ::= table_name NK_DOT NK_STAR", + /* 694 */ "where_clause_opt ::=", + /* 695 */ "where_clause_opt ::= WHERE search_condition", + /* 696 */ "partition_by_clause_opt ::=", + /* 697 */ "partition_by_clause_opt ::= PARTITION BY partition_list", + /* 698 */ "partition_list ::= partition_item", + /* 699 */ "partition_list ::= partition_list NK_COMMA partition_item", + /* 700 */ "partition_item ::= expr_or_subquery", + /* 701 */ "partition_item ::= expr_or_subquery column_alias", + /* 702 */ "partition_item ::= expr_or_subquery AS column_alias", + /* 703 */ "twindow_clause_opt ::=", + /* 704 */ "twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP", + /* 705 */ "twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP", + /* 706 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt", + /* 707 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt", + /* 708 */ "twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition", + /* 709 */ "twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP", + /* 710 */ "twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP", + /* 711 */ "sliding_opt ::=", + /* 712 */ "sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP", + /* 713 */ "interval_sliding_duration_literal ::= NK_VARIABLE", + /* 714 */ "interval_sliding_duration_literal ::= NK_STRING", + /* 715 */ "interval_sliding_duration_literal ::= NK_INTEGER", + /* 716 */ "fill_opt ::=", + /* 717 */ "fill_opt ::= FILL NK_LP fill_mode NK_RP", + /* 718 */ "fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP", + /* 719 */ "fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP", + /* 720 */ "fill_mode ::= NONE", + /* 721 */ "fill_mode ::= PREV", + /* 722 */ "fill_mode ::= NULL", + /* 723 */ "fill_mode ::= NULL_F", + /* 724 */ "fill_mode ::= LINEAR", + /* 725 */ "fill_mode ::= NEXT", + /* 726 */ "group_by_clause_opt ::=", + /* 727 */ "group_by_clause_opt ::= GROUP BY group_by_list", + /* 728 */ "group_by_list ::= expr_or_subquery", + /* 729 */ "group_by_list ::= group_by_list NK_COMMA expr_or_subquery", + /* 730 */ "having_clause_opt ::=", + /* 731 */ "having_clause_opt ::= HAVING search_condition", + /* 732 */ "range_opt ::=", + /* 733 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP", + /* 734 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_RP", + /* 735 */ "every_opt ::=", + /* 736 */ "every_opt ::= EVERY NK_LP duration_literal NK_RP", + /* 737 */ "query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt", + /* 738 */ "query_simple ::= query_specification", + /* 739 */ "query_simple ::= union_query_expression", + /* 740 */ "union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery", + /* 741 */ "union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery", + /* 742 */ "query_simple_or_subquery ::= query_simple", + /* 743 */ "query_simple_or_subquery ::= subquery", + /* 744 */ "query_or_subquery ::= query_expression", + /* 745 */ "query_or_subquery ::= subquery", + /* 746 */ "order_by_clause_opt ::=", + /* 747 */ "order_by_clause_opt ::= ORDER BY sort_specification_list", + /* 748 */ "slimit_clause_opt ::=", + /* 749 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER", + /* 750 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER", + /* 751 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER", + /* 752 */ "limit_clause_opt ::=", + /* 753 */ "limit_clause_opt ::= LIMIT NK_INTEGER", + /* 754 */ "limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER", + /* 755 */ "limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER", + /* 756 */ "subquery ::= NK_LP query_expression NK_RP", + /* 757 */ "subquery ::= NK_LP subquery NK_RP", + /* 758 */ "search_condition ::= common_expression", + /* 759 */ "sort_specification_list ::= sort_specification", + /* 760 */ "sort_specification_list ::= sort_specification_list NK_COMMA sort_specification", + /* 761 */ "sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt", + /* 762 */ "ordering_specification_opt ::=", + /* 763 */ "ordering_specification_opt ::= ASC", + /* 764 */ "ordering_specification_opt ::= DESC", + /* 765 */ "null_ordering_opt ::=", + /* 766 */ "null_ordering_opt ::= NULLS FIRST", + /* 767 */ "null_ordering_opt ::= NULLS LAST", + /* 768 */ "column_options ::=", + /* 769 */ "column_options ::= column_options PRIMARY KEY", + /* 770 */ "column_options ::= column_options NK_ID NK_STRING", }; #endif /* NDEBUG */ @@ -3695,264 +3775,265 @@ static void yy_destructor( */ /********* Begin destructor definitions ***************************************/ /* Default NON-TERMINAL Destructor */ - case 382: /* cmd */ - case 385: /* literal */ - case 396: /* with_opt */ - case 402: /* search_condition */ - case 407: /* db_options */ - case 409: /* alter_db_options */ - case 411: /* start_opt */ - case 412: /* end_opt */ - case 416: /* signed */ - case 418: /* retention */ - case 419: /* full_table_name */ - case 422: /* table_options */ - case 427: /* alter_table_clause */ - case 428: /* alter_table_options */ - case 431: /* column_options */ - case 432: /* tags_literal */ - case 433: /* create_subtable_clause */ - case 436: /* drop_table_clause */ - case 439: /* tag_def */ - case 440: /* column_def */ - case 445: /* duration_literal */ - case 446: /* rollup_func_name */ - case 448: /* col_name */ - case 451: /* like_pattern_opt */ - case 452: /* db_name_cond_opt */ - case 453: /* table_name_cond */ - case 454: /* from_db_opt */ - case 456: /* tag_item */ - case 460: /* full_tsma_name */ - case 462: /* index_options */ - case 463: /* full_index_name */ - case 465: /* sliding_opt */ - case 466: /* sma_stream_opt */ - case 467: /* func */ - case 471: /* query_or_subquery */ - case 472: /* where_clause_opt */ - case 475: /* explain_options */ - case 476: /* insert_query */ - case 481: /* full_view_name */ - case 484: /* stream_options */ - case 487: /* subtable_opt */ - case 490: /* column_stream_def */ - case 491: /* stream_col_options */ - case 492: /* expression */ - case 495: /* literal_func */ - case 496: /* signed_literal */ - case 499: /* expr_or_subquery */ - case 500: /* pseudo_column */ - case 501: /* column_reference */ - case 502: /* function_expression */ - case 503: /* case_when_expression */ - case 510: /* star_func_para */ - case 512: /* case_when_else_opt */ - case 513: /* common_expression */ - case 514: /* when_then_expr */ - case 515: /* predicate */ - case 518: /* in_predicate_value */ - case 519: /* boolean_value_expression */ - case 520: /* boolean_primary */ - case 521: /* from_clause_opt */ - case 522: /* table_reference_list */ - case 523: /* table_reference */ - case 524: /* table_primary */ - case 525: /* joined_table */ - case 527: /* subquery */ - case 528: /* parenthesized_joined_table */ - case 531: /* join_on_clause_opt */ - case 532: /* window_offset_clause_opt */ - case 533: /* jlimit_clause_opt */ - case 534: /* window_offset_literal */ - case 535: /* query_specification */ - case 541: /* range_opt */ - case 542: /* every_opt */ - case 543: /* fill_opt */ - case 544: /* twindow_clause_opt */ - case 546: /* having_clause_opt */ - case 547: /* select_item */ - case 549: /* partition_item */ - case 550: /* interval_sliding_duration_literal */ - case 553: /* query_expression */ - case 554: /* query_simple */ - case 556: /* slimit_clause_opt */ - case 557: /* limit_clause_opt */ - case 558: /* union_query_expression */ - case 559: /* query_simple_or_subquery */ - case 561: /* sort_specification */ + case 383: /* cmd */ + case 386: /* literal */ + case 397: /* with_opt */ + case 403: /* search_condition */ + case 408: /* db_options */ + case 410: /* alter_db_options */ + case 412: /* start_opt */ + case 413: /* end_opt */ + case 417: /* signed */ + case 419: /* retention */ + case 420: /* full_table_name */ + case 423: /* table_options */ + case 428: /* alter_table_clause */ + case 429: /* alter_table_options */ + case 432: /* column_options */ + case 433: /* tags_literal */ + case 434: /* create_subtable_clause */ + case 437: /* drop_table_clause */ + case 440: /* tag_def */ + case 441: /* column_def */ + case 446: /* duration_literal */ + case 447: /* rollup_func_name */ + case 449: /* col_name */ + case 452: /* like_pattern_opt */ + case 453: /* db_name_cond_opt */ + case 454: /* table_name_cond */ + case 455: /* from_db_opt */ + case 457: /* tag_item */ + case 461: /* full_tsma_name */ + case 463: /* index_options */ + case 464: /* full_index_name */ + case 466: /* sliding_opt */ + case 467: /* sma_stream_opt */ + case 468: /* func */ + case 472: /* query_or_subquery */ + case 473: /* where_clause_opt */ + case 476: /* explain_options */ + case 477: /* insert_query */ + case 482: /* full_view_name */ + case 485: /* stream_options */ + case 488: /* subtable_opt */ + case 491: /* column_stream_def */ + case 492: /* stream_col_options */ + case 493: /* expression */ + case 496: /* literal_func */ + case 497: /* signed_literal */ + case 500: /* expr_or_subquery */ + case 501: /* pseudo_column */ + case 502: /* column_reference */ + case 503: /* function_expression */ + case 504: /* case_when_expression */ + case 509: /* rand_func */ + case 512: /* star_func_para */ + case 514: /* case_when_else_opt */ + case 515: /* common_expression */ + case 516: /* when_then_expr */ + case 517: /* predicate */ + case 520: /* in_predicate_value */ + case 521: /* boolean_value_expression */ + case 522: /* boolean_primary */ + case 523: /* from_clause_opt */ + case 524: /* table_reference_list */ + case 525: /* table_reference */ + case 526: /* table_primary */ + case 527: /* joined_table */ + case 529: /* subquery */ + case 530: /* parenthesized_joined_table */ + case 533: /* join_on_clause_opt */ + case 534: /* window_offset_clause_opt */ + case 535: /* jlimit_clause_opt */ + case 536: /* window_offset_literal */ + case 537: /* query_specification */ + case 543: /* range_opt */ + case 544: /* every_opt */ + case 545: /* fill_opt */ + case 546: /* twindow_clause_opt */ + case 548: /* having_clause_opt */ + case 549: /* select_item */ + case 551: /* partition_item */ + case 552: /* interval_sliding_duration_literal */ + case 555: /* query_expression */ + case 556: /* query_simple */ + case 558: /* slimit_clause_opt */ + case 559: /* limit_clause_opt */ + case 560: /* union_query_expression */ + case 561: /* query_simple_or_subquery */ + case 563: /* sort_specification */ { - nodesDestroyNode((yypminor->yy248)); + nodesDestroyNode((yypminor->yy724)); } break; - case 383: /* account_options */ - case 384: /* alter_account_options */ - case 386: /* alter_account_option */ - case 410: /* speed_opt */ - case 470: /* with_meta */ - case 479: /* bufsize_opt */ + case 384: /* account_options */ + case 385: /* alter_account_options */ + case 387: /* alter_account_option */ + case 411: /* speed_opt */ + case 471: /* with_meta */ + case 480: /* bufsize_opt */ { } break; - case 387: /* ip_range_list */ - case 388: /* white_list */ - case 389: /* white_list_opt */ - case 413: /* integer_list */ - case 414: /* variable_list */ - case 415: /* retention_list */ - case 420: /* column_def_list */ - case 421: /* tags_def_opt */ - case 423: /* multi_create_clause */ - case 424: /* tag_list_opt */ - case 425: /* tags_def */ - case 426: /* multi_drop_clause */ - case 434: /* specific_cols_opt */ - case 435: /* tags_literal_list */ - case 437: /* col_name_list */ - case 438: /* tag_def_list */ - case 442: /* duration_list */ - case 443: /* rollup_func_list */ - case 461: /* func_list */ - case 469: /* expression_list */ - case 485: /* col_list_opt */ - case 486: /* tag_def_or_ref_opt */ - case 489: /* column_stream_def_list */ - case 494: /* dnode_list */ - case 497: /* literal_list */ - case 505: /* star_func_para_list */ - case 509: /* other_para_list */ - case 511: /* when_then_list */ - case 536: /* hint_list */ - case 539: /* select_list */ - case 540: /* partition_by_clause_opt */ - case 545: /* group_by_clause_opt */ - case 548: /* partition_list */ - case 552: /* group_by_list */ - case 555: /* order_by_clause_opt */ - case 560: /* sort_specification_list */ + case 388: /* ip_range_list */ + case 389: /* white_list */ + case 390: /* white_list_opt */ + case 414: /* integer_list */ + case 415: /* variable_list */ + case 416: /* retention_list */ + case 421: /* column_def_list */ + case 422: /* tags_def_opt */ + case 424: /* multi_create_clause */ + case 425: /* tag_list_opt */ + case 426: /* tags_def */ + case 427: /* multi_drop_clause */ + case 435: /* specific_cols_opt */ + case 436: /* tags_literal_list */ + case 438: /* col_name_list */ + case 439: /* tag_def_list */ + case 443: /* duration_list */ + case 444: /* rollup_func_list */ + case 462: /* func_list */ + case 470: /* expression_list */ + case 486: /* col_list_opt */ + case 487: /* tag_def_or_ref_opt */ + case 490: /* column_stream_def_list */ + case 495: /* dnode_list */ + case 498: /* literal_list */ + case 506: /* star_func_para_list */ + case 511: /* other_para_list */ + case 513: /* when_then_list */ + case 538: /* hint_list */ + case 541: /* select_list */ + case 542: /* partition_by_clause_opt */ + case 547: /* group_by_clause_opt */ + case 550: /* partition_list */ + case 554: /* group_by_list */ + case 557: /* order_by_clause_opt */ + case 562: /* sort_specification_list */ { - nodesDestroyList((yypminor->yy928)); + nodesDestroyList((yypminor->yy712)); } break; - case 390: /* is_import_opt */ - case 391: /* is_createdb_opt */ - case 393: /* sysinfo_opt */ + case 391: /* is_import_opt */ + case 392: /* is_createdb_opt */ + case 394: /* sysinfo_opt */ { } break; - case 392: /* user_name */ - case 399: /* db_name */ - case 400: /* table_name */ - case 401: /* topic_name */ - case 403: /* dnode_endpoint */ - case 429: /* column_name */ - case 447: /* function_name */ - case 457: /* column_alias */ - case 458: /* tsma_name */ - case 464: /* index_name */ - case 468: /* sma_func_name */ - case 473: /* cgroup_name */ - case 480: /* language_opt */ - case 482: /* view_name */ - case 483: /* stream_name */ - case 493: /* on_vgroup_id */ - case 498: /* table_alias */ - case 504: /* star_func */ - case 507: /* substr_func */ - case 508: /* noarg_func */ - case 526: /* alias_opt */ + case 393: /* user_name */ + case 400: /* db_name */ + case 401: /* table_name */ + case 402: /* topic_name */ + case 404: /* dnode_endpoint */ + case 430: /* column_name */ + case 448: /* function_name */ + case 458: /* column_alias */ + case 459: /* tsma_name */ + case 465: /* index_name */ + case 469: /* sma_func_name */ + case 474: /* cgroup_name */ + case 481: /* language_opt */ + case 483: /* view_name */ + case 484: /* stream_name */ + case 494: /* on_vgroup_id */ + case 499: /* table_alias */ + case 505: /* star_func */ + case 508: /* substr_func */ + case 510: /* noarg_func */ + case 528: /* alias_opt */ { } break; - case 394: /* privileges */ - case 397: /* priv_type_list */ - case 398: /* priv_type */ + case 395: /* privileges */ + case 398: /* priv_type_list */ + case 399: /* priv_type */ { } break; - case 395: /* priv_level */ + case 396: /* priv_level */ { } break; - case 404: /* force_opt */ - case 405: /* unsafe_opt */ - case 406: /* not_exists_opt */ - case 408: /* exists_opt */ - case 474: /* analyze_opt */ - case 477: /* or_replace_opt */ - case 478: /* agg_func_opt */ - case 488: /* ignore_opt */ - case 537: /* set_quantifier_opt */ - case 538: /* tag_mode_opt */ + case 405: /* force_opt */ + case 406: /* unsafe_opt */ + case 407: /* not_exists_opt */ + case 409: /* exists_opt */ + case 475: /* analyze_opt */ + case 478: /* or_replace_opt */ + case 479: /* agg_func_opt */ + case 489: /* ignore_opt */ + case 539: /* set_quantifier_opt */ + case 540: /* tag_mode_opt */ { } break; - case 417: /* alter_db_option */ - case 444: /* alter_table_option */ + case 418: /* alter_db_option */ + case 445: /* alter_table_option */ { } break; - case 430: /* type_name */ - case 441: /* type_name_default_len */ + case 431: /* type_name */ + case 442: /* type_name_default_len */ { } break; - case 449: /* db_kind_opt */ - case 455: /* table_kind */ + case 450: /* db_kind_opt */ + case 456: /* table_kind */ { } break; - case 450: /* table_kind_db_name_cond_opt */ + case 451: /* table_kind_db_name_cond_opt */ { } break; - case 459: /* tsma_func_list */ + case 460: /* tsma_func_list */ { - nodesDestroyNode((yypminor->yy248)); + nodesDestroyNode((yypminor->yy724)); } break; - case 506: /* trim_specification_type */ + case 507: /* trim_specification_type */ { } break; - case 516: /* compare_op */ - case 517: /* in_op */ + case 518: /* compare_op */ + case 519: /* in_op */ { } break; - case 529: /* join_type */ + case 531: /* join_type */ { } break; - case 530: /* join_subtype */ + case 532: /* join_subtype */ { } break; - case 551: /* fill_mode */ + case 553: /* fill_mode */ { } break; - case 562: /* ordering_specification_opt */ + case 564: /* ordering_specification_opt */ { } break; - case 563: /* null_ordering_opt */ + case 565: /* null_ordering_opt */ { } @@ -4254,774 +4335,777 @@ static void yy_shift( /* For rule J, yyRuleInfoLhs[J] contains the symbol on the left-hand side ** of that rule */ static const YYCODETYPE yyRuleInfoLhs[] = { - 382, /* (0) cmd ::= CREATE ACCOUNT NK_ID PASS NK_STRING account_options */ - 382, /* (1) cmd ::= ALTER ACCOUNT NK_ID alter_account_options */ - 383, /* (2) account_options ::= */ - 383, /* (3) account_options ::= account_options PPS literal */ - 383, /* (4) account_options ::= account_options TSERIES literal */ - 383, /* (5) account_options ::= account_options STORAGE literal */ - 383, /* (6) account_options ::= account_options STREAMS literal */ - 383, /* (7) account_options ::= account_options QTIME literal */ - 383, /* (8) account_options ::= account_options DBS literal */ - 383, /* (9) account_options ::= account_options USERS literal */ - 383, /* (10) account_options ::= account_options CONNS literal */ - 383, /* (11) account_options ::= account_options STATE literal */ - 384, /* (12) alter_account_options ::= alter_account_option */ - 384, /* (13) alter_account_options ::= alter_account_options alter_account_option */ - 386, /* (14) alter_account_option ::= PASS literal */ - 386, /* (15) alter_account_option ::= PPS literal */ - 386, /* (16) alter_account_option ::= TSERIES literal */ - 386, /* (17) alter_account_option ::= STORAGE literal */ - 386, /* (18) alter_account_option ::= STREAMS literal */ - 386, /* (19) alter_account_option ::= QTIME literal */ - 386, /* (20) alter_account_option ::= DBS literal */ - 386, /* (21) alter_account_option ::= USERS literal */ - 386, /* (22) alter_account_option ::= CONNS literal */ - 386, /* (23) alter_account_option ::= STATE literal */ - 387, /* (24) ip_range_list ::= NK_STRING */ - 387, /* (25) ip_range_list ::= ip_range_list NK_COMMA NK_STRING */ - 388, /* (26) white_list ::= HOST ip_range_list */ - 389, /* (27) white_list_opt ::= */ - 389, /* (28) white_list_opt ::= white_list */ - 390, /* (29) is_import_opt ::= */ - 390, /* (30) is_import_opt ::= IS_IMPORT NK_INTEGER */ - 391, /* (31) is_createdb_opt ::= */ - 391, /* (32) is_createdb_opt ::= CREATEDB NK_INTEGER */ - 382, /* (33) cmd ::= CREATE USER user_name PASS NK_STRING sysinfo_opt is_createdb_opt is_import_opt white_list_opt */ - 382, /* (34) cmd ::= ALTER USER user_name PASS NK_STRING */ - 382, /* (35) cmd ::= ALTER USER user_name ENABLE NK_INTEGER */ - 382, /* (36) cmd ::= ALTER USER user_name SYSINFO NK_INTEGER */ - 382, /* (37) cmd ::= ALTER USER user_name CREATEDB NK_INTEGER */ - 382, /* (38) cmd ::= ALTER USER user_name ADD white_list */ - 382, /* (39) cmd ::= ALTER USER user_name DROP white_list */ - 382, /* (40) cmd ::= DROP USER user_name */ - 393, /* (41) sysinfo_opt ::= */ - 393, /* (42) sysinfo_opt ::= SYSINFO NK_INTEGER */ - 382, /* (43) cmd ::= GRANT privileges ON priv_level with_opt TO user_name */ - 382, /* (44) cmd ::= REVOKE privileges ON priv_level with_opt FROM user_name */ - 394, /* (45) privileges ::= ALL */ - 394, /* (46) privileges ::= priv_type_list */ - 394, /* (47) privileges ::= SUBSCRIBE */ - 397, /* (48) priv_type_list ::= priv_type */ - 397, /* (49) priv_type_list ::= priv_type_list NK_COMMA priv_type */ - 398, /* (50) priv_type ::= READ */ - 398, /* (51) priv_type ::= WRITE */ - 398, /* (52) priv_type ::= ALTER */ - 395, /* (53) priv_level ::= NK_STAR NK_DOT NK_STAR */ - 395, /* (54) priv_level ::= db_name NK_DOT NK_STAR */ - 395, /* (55) priv_level ::= db_name NK_DOT table_name */ - 395, /* (56) priv_level ::= topic_name */ - 396, /* (57) with_opt ::= */ - 396, /* (58) with_opt ::= WITH search_condition */ - 382, /* (59) cmd ::= CREATE ENCRYPT_KEY NK_STRING */ - 382, /* (60) cmd ::= CREATE DNODE dnode_endpoint */ - 382, /* (61) cmd ::= CREATE DNODE dnode_endpoint PORT NK_INTEGER */ - 382, /* (62) cmd ::= DROP DNODE NK_INTEGER force_opt */ - 382, /* (63) cmd ::= DROP DNODE dnode_endpoint force_opt */ - 382, /* (64) cmd ::= DROP DNODE NK_INTEGER unsafe_opt */ - 382, /* (65) cmd ::= DROP DNODE dnode_endpoint unsafe_opt */ - 382, /* (66) cmd ::= ALTER DNODE NK_INTEGER NK_STRING */ - 382, /* (67) cmd ::= ALTER DNODE NK_INTEGER NK_STRING NK_STRING */ - 382, /* (68) cmd ::= ALTER ALL DNODES NK_STRING */ - 382, /* (69) cmd ::= ALTER ALL DNODES NK_STRING NK_STRING */ - 382, /* (70) cmd ::= RESTORE DNODE NK_INTEGER */ - 403, /* (71) dnode_endpoint ::= NK_STRING */ - 403, /* (72) dnode_endpoint ::= NK_ID */ - 403, /* (73) dnode_endpoint ::= NK_IPTOKEN */ - 404, /* (74) force_opt ::= */ - 404, /* (75) force_opt ::= FORCE */ - 405, /* (76) unsafe_opt ::= UNSAFE */ - 382, /* (77) cmd ::= ALTER CLUSTER NK_STRING */ - 382, /* (78) cmd ::= ALTER CLUSTER NK_STRING NK_STRING */ - 382, /* (79) cmd ::= ALTER LOCAL NK_STRING */ - 382, /* (80) cmd ::= ALTER LOCAL NK_STRING NK_STRING */ - 382, /* (81) cmd ::= CREATE QNODE ON DNODE NK_INTEGER */ - 382, /* (82) cmd ::= DROP QNODE ON DNODE NK_INTEGER */ - 382, /* (83) cmd ::= RESTORE QNODE ON DNODE NK_INTEGER */ - 382, /* (84) cmd ::= CREATE BNODE ON DNODE NK_INTEGER */ - 382, /* (85) cmd ::= DROP BNODE ON DNODE NK_INTEGER */ - 382, /* (86) cmd ::= CREATE SNODE ON DNODE NK_INTEGER */ - 382, /* (87) cmd ::= DROP SNODE ON DNODE NK_INTEGER */ - 382, /* (88) cmd ::= CREATE MNODE ON DNODE NK_INTEGER */ - 382, /* (89) cmd ::= DROP MNODE ON DNODE NK_INTEGER */ - 382, /* (90) cmd ::= RESTORE MNODE ON DNODE NK_INTEGER */ - 382, /* (91) cmd ::= RESTORE VNODE ON DNODE NK_INTEGER */ - 382, /* (92) cmd ::= CREATE DATABASE not_exists_opt db_name db_options */ - 382, /* (93) cmd ::= DROP DATABASE exists_opt db_name */ - 382, /* (94) cmd ::= USE db_name */ - 382, /* (95) cmd ::= ALTER DATABASE db_name alter_db_options */ - 382, /* (96) cmd ::= FLUSH DATABASE db_name */ - 382, /* (97) cmd ::= TRIM DATABASE db_name speed_opt */ - 382, /* (98) cmd ::= S3MIGRATE DATABASE db_name */ - 382, /* (99) cmd ::= COMPACT DATABASE db_name start_opt end_opt */ - 406, /* (100) not_exists_opt ::= IF NOT EXISTS */ - 406, /* (101) not_exists_opt ::= */ - 408, /* (102) exists_opt ::= IF EXISTS */ - 408, /* (103) exists_opt ::= */ - 407, /* (104) db_options ::= */ - 407, /* (105) db_options ::= db_options BUFFER NK_INTEGER */ - 407, /* (106) db_options ::= db_options CACHEMODEL NK_STRING */ - 407, /* (107) db_options ::= db_options CACHESIZE NK_INTEGER */ - 407, /* (108) db_options ::= db_options COMP NK_INTEGER */ - 407, /* (109) db_options ::= db_options DURATION NK_INTEGER */ - 407, /* (110) db_options ::= db_options DURATION NK_VARIABLE */ - 407, /* (111) db_options ::= db_options MAXROWS NK_INTEGER */ - 407, /* (112) db_options ::= db_options MINROWS NK_INTEGER */ - 407, /* (113) db_options ::= db_options KEEP integer_list */ - 407, /* (114) db_options ::= db_options KEEP variable_list */ - 407, /* (115) db_options ::= db_options PAGES NK_INTEGER */ - 407, /* (116) db_options ::= db_options PAGESIZE NK_INTEGER */ - 407, /* (117) db_options ::= db_options TSDB_PAGESIZE NK_INTEGER */ - 407, /* (118) db_options ::= db_options PRECISION NK_STRING */ - 407, /* (119) db_options ::= db_options REPLICA NK_INTEGER */ - 407, /* (120) db_options ::= db_options VGROUPS NK_INTEGER */ - 407, /* (121) db_options ::= db_options SINGLE_STABLE NK_INTEGER */ - 407, /* (122) db_options ::= db_options RETENTIONS retention_list */ - 407, /* (123) db_options ::= db_options SCHEMALESS NK_INTEGER */ - 407, /* (124) db_options ::= db_options WAL_LEVEL NK_INTEGER */ - 407, /* (125) db_options ::= db_options WAL_FSYNC_PERIOD NK_INTEGER */ - 407, /* (126) db_options ::= db_options WAL_RETENTION_PERIOD NK_INTEGER */ - 407, /* (127) db_options ::= db_options WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ - 407, /* (128) db_options ::= db_options WAL_RETENTION_SIZE NK_INTEGER */ - 407, /* (129) db_options ::= db_options WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ - 407, /* (130) db_options ::= db_options WAL_ROLL_PERIOD NK_INTEGER */ - 407, /* (131) db_options ::= db_options WAL_SEGMENT_SIZE NK_INTEGER */ - 407, /* (132) db_options ::= db_options STT_TRIGGER NK_INTEGER */ - 407, /* (133) db_options ::= db_options TABLE_PREFIX signed */ - 407, /* (134) db_options ::= db_options TABLE_SUFFIX signed */ - 407, /* (135) db_options ::= db_options S3_CHUNKSIZE NK_INTEGER */ - 407, /* (136) db_options ::= db_options S3_KEEPLOCAL NK_INTEGER */ - 407, /* (137) db_options ::= db_options S3_KEEPLOCAL NK_VARIABLE */ - 407, /* (138) db_options ::= db_options S3_COMPACT NK_INTEGER */ - 407, /* (139) db_options ::= db_options KEEP_TIME_OFFSET NK_INTEGER */ - 407, /* (140) db_options ::= db_options ENCRYPT_ALGORITHM NK_STRING */ - 409, /* (141) alter_db_options ::= alter_db_option */ - 409, /* (142) alter_db_options ::= alter_db_options alter_db_option */ - 417, /* (143) alter_db_option ::= BUFFER NK_INTEGER */ - 417, /* (144) alter_db_option ::= CACHEMODEL NK_STRING */ - 417, /* (145) alter_db_option ::= CACHESIZE NK_INTEGER */ - 417, /* (146) alter_db_option ::= WAL_FSYNC_PERIOD NK_INTEGER */ - 417, /* (147) alter_db_option ::= KEEP integer_list */ - 417, /* (148) alter_db_option ::= KEEP variable_list */ - 417, /* (149) alter_db_option ::= PAGES NK_INTEGER */ - 417, /* (150) alter_db_option ::= REPLICA NK_INTEGER */ - 417, /* (151) alter_db_option ::= WAL_LEVEL NK_INTEGER */ - 417, /* (152) alter_db_option ::= STT_TRIGGER NK_INTEGER */ - 417, /* (153) alter_db_option ::= MINROWS NK_INTEGER */ - 417, /* (154) alter_db_option ::= WAL_RETENTION_PERIOD NK_INTEGER */ - 417, /* (155) alter_db_option ::= WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ - 417, /* (156) alter_db_option ::= WAL_RETENTION_SIZE NK_INTEGER */ - 417, /* (157) alter_db_option ::= WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ - 417, /* (158) alter_db_option ::= S3_KEEPLOCAL NK_INTEGER */ - 417, /* (159) alter_db_option ::= S3_KEEPLOCAL NK_VARIABLE */ - 417, /* (160) alter_db_option ::= S3_COMPACT NK_INTEGER */ - 417, /* (161) alter_db_option ::= KEEP_TIME_OFFSET NK_INTEGER */ - 417, /* (162) alter_db_option ::= ENCRYPT_ALGORITHM NK_STRING */ - 413, /* (163) integer_list ::= NK_INTEGER */ - 413, /* (164) integer_list ::= integer_list NK_COMMA NK_INTEGER */ - 414, /* (165) variable_list ::= NK_VARIABLE */ - 414, /* (166) variable_list ::= variable_list NK_COMMA NK_VARIABLE */ - 415, /* (167) retention_list ::= retention */ - 415, /* (168) retention_list ::= retention_list NK_COMMA retention */ - 418, /* (169) retention ::= NK_VARIABLE NK_COLON NK_VARIABLE */ - 418, /* (170) retention ::= NK_MINUS NK_COLON NK_VARIABLE */ - 410, /* (171) speed_opt ::= */ - 410, /* (172) speed_opt ::= BWLIMIT NK_INTEGER */ - 411, /* (173) start_opt ::= */ - 411, /* (174) start_opt ::= START WITH NK_INTEGER */ - 411, /* (175) start_opt ::= START WITH NK_STRING */ - 411, /* (176) start_opt ::= START WITH TIMESTAMP NK_STRING */ - 412, /* (177) end_opt ::= */ - 412, /* (178) end_opt ::= END WITH NK_INTEGER */ - 412, /* (179) end_opt ::= END WITH NK_STRING */ - 412, /* (180) end_opt ::= END WITH TIMESTAMP NK_STRING */ - 382, /* (181) cmd ::= CREATE TABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def_opt table_options */ - 382, /* (182) cmd ::= CREATE TABLE multi_create_clause */ - 382, /* (183) cmd ::= CREATE TABLE not_exists_opt USING full_table_name NK_LP tag_list_opt NK_RP FILE NK_STRING */ - 382, /* (184) cmd ::= CREATE STABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def table_options */ - 382, /* (185) cmd ::= DROP TABLE multi_drop_clause */ - 382, /* (186) cmd ::= DROP STABLE exists_opt full_table_name */ - 382, /* (187) cmd ::= ALTER TABLE alter_table_clause */ - 382, /* (188) cmd ::= ALTER STABLE alter_table_clause */ - 427, /* (189) alter_table_clause ::= full_table_name alter_table_options */ - 427, /* (190) alter_table_clause ::= full_table_name ADD COLUMN column_name type_name column_options */ - 427, /* (191) alter_table_clause ::= full_table_name DROP COLUMN column_name */ - 427, /* (192) alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */ - 427, /* (193) alter_table_clause ::= full_table_name MODIFY COLUMN column_name column_options */ - 427, /* (194) alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */ - 427, /* (195) alter_table_clause ::= full_table_name ADD TAG column_name type_name */ - 427, /* (196) alter_table_clause ::= full_table_name DROP TAG column_name */ - 427, /* (197) alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */ - 427, /* (198) alter_table_clause ::= full_table_name RENAME TAG column_name column_name */ - 427, /* (199) alter_table_clause ::= full_table_name SET TAG column_name NK_EQ tags_literal */ - 423, /* (200) multi_create_clause ::= create_subtable_clause */ - 423, /* (201) multi_create_clause ::= multi_create_clause create_subtable_clause */ - 433, /* (202) create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_cols_opt TAGS NK_LP tags_literal_list NK_RP table_options */ - 426, /* (203) multi_drop_clause ::= drop_table_clause */ - 426, /* (204) multi_drop_clause ::= multi_drop_clause NK_COMMA drop_table_clause */ - 436, /* (205) drop_table_clause ::= exists_opt full_table_name */ - 434, /* (206) specific_cols_opt ::= */ - 434, /* (207) specific_cols_opt ::= NK_LP col_name_list NK_RP */ - 419, /* (208) full_table_name ::= table_name */ - 419, /* (209) full_table_name ::= db_name NK_DOT table_name */ - 438, /* (210) tag_def_list ::= tag_def */ - 438, /* (211) tag_def_list ::= tag_def_list NK_COMMA tag_def */ - 439, /* (212) tag_def ::= column_name type_name */ - 420, /* (213) column_def_list ::= column_def */ - 420, /* (214) column_def_list ::= column_def_list NK_COMMA column_def */ - 440, /* (215) column_def ::= column_name type_name column_options */ - 430, /* (216) type_name ::= BOOL */ - 430, /* (217) type_name ::= TINYINT */ - 430, /* (218) type_name ::= SMALLINT */ - 430, /* (219) type_name ::= INT */ - 430, /* (220) type_name ::= INTEGER */ - 430, /* (221) type_name ::= BIGINT */ - 430, /* (222) type_name ::= FLOAT */ - 430, /* (223) type_name ::= DOUBLE */ - 430, /* (224) type_name ::= BINARY NK_LP NK_INTEGER NK_RP */ - 430, /* (225) type_name ::= TIMESTAMP */ - 430, /* (226) type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */ - 430, /* (227) type_name ::= TINYINT UNSIGNED */ - 430, /* (228) type_name ::= SMALLINT UNSIGNED */ - 430, /* (229) type_name ::= INT UNSIGNED */ - 430, /* (230) type_name ::= BIGINT UNSIGNED */ - 430, /* (231) type_name ::= JSON */ - 430, /* (232) type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */ - 430, /* (233) type_name ::= MEDIUMBLOB */ - 430, /* (234) type_name ::= BLOB */ - 430, /* (235) type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */ - 430, /* (236) type_name ::= GEOMETRY NK_LP NK_INTEGER NK_RP */ - 430, /* (237) type_name ::= DECIMAL */ - 430, /* (238) type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */ - 430, /* (239) type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ - 441, /* (240) type_name_default_len ::= BINARY */ - 441, /* (241) type_name_default_len ::= NCHAR */ - 441, /* (242) type_name_default_len ::= VARCHAR */ - 441, /* (243) type_name_default_len ::= VARBINARY */ - 421, /* (244) tags_def_opt ::= */ - 421, /* (245) tags_def_opt ::= tags_def */ - 425, /* (246) tags_def ::= TAGS NK_LP tag_def_list NK_RP */ - 422, /* (247) table_options ::= */ - 422, /* (248) table_options ::= table_options COMMENT NK_STRING */ - 422, /* (249) table_options ::= table_options MAX_DELAY duration_list */ - 422, /* (250) table_options ::= table_options WATERMARK duration_list */ - 422, /* (251) table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ - 422, /* (252) table_options ::= table_options TTL NK_INTEGER */ - 422, /* (253) table_options ::= table_options SMA NK_LP col_name_list NK_RP */ - 422, /* (254) table_options ::= table_options DELETE_MARK duration_list */ - 428, /* (255) alter_table_options ::= alter_table_option */ - 428, /* (256) alter_table_options ::= alter_table_options alter_table_option */ - 444, /* (257) alter_table_option ::= COMMENT NK_STRING */ - 444, /* (258) alter_table_option ::= TTL NK_INTEGER */ - 442, /* (259) duration_list ::= duration_literal */ - 442, /* (260) duration_list ::= duration_list NK_COMMA duration_literal */ - 443, /* (261) rollup_func_list ::= rollup_func_name */ - 443, /* (262) rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ - 446, /* (263) rollup_func_name ::= function_name */ - 446, /* (264) rollup_func_name ::= FIRST */ - 446, /* (265) rollup_func_name ::= LAST */ - 437, /* (266) col_name_list ::= col_name */ - 437, /* (267) col_name_list ::= col_name_list NK_COMMA col_name */ - 448, /* (268) col_name ::= column_name */ - 382, /* (269) cmd ::= SHOW DNODES */ - 382, /* (270) cmd ::= SHOW USERS */ - 382, /* (271) cmd ::= SHOW USERS FULL */ - 382, /* (272) cmd ::= SHOW USER PRIVILEGES */ - 382, /* (273) cmd ::= SHOW db_kind_opt DATABASES */ - 382, /* (274) cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ - 382, /* (275) cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ - 382, /* (276) cmd ::= SHOW db_name_cond_opt VGROUPS */ - 382, /* (277) cmd ::= SHOW MNODES */ - 382, /* (278) cmd ::= SHOW QNODES */ - 382, /* (279) cmd ::= SHOW ARBGROUPS */ - 382, /* (280) cmd ::= SHOW FUNCTIONS */ - 382, /* (281) cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ - 382, /* (282) cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ - 382, /* (283) cmd ::= SHOW STREAMS */ - 382, /* (284) cmd ::= SHOW ACCOUNTS */ - 382, /* (285) cmd ::= SHOW APPS */ - 382, /* (286) cmd ::= SHOW CONNECTIONS */ - 382, /* (287) cmd ::= SHOW LICENCES */ - 382, /* (288) cmd ::= SHOW GRANTS */ - 382, /* (289) cmd ::= SHOW GRANTS FULL */ - 382, /* (290) cmd ::= SHOW GRANTS LOGS */ - 382, /* (291) cmd ::= SHOW CLUSTER MACHINES */ - 382, /* (292) cmd ::= SHOW CREATE DATABASE db_name */ - 382, /* (293) cmd ::= SHOW CREATE TABLE full_table_name */ - 382, /* (294) cmd ::= SHOW CREATE STABLE full_table_name */ - 382, /* (295) cmd ::= SHOW ENCRYPTIONS */ - 382, /* (296) cmd ::= SHOW QUERIES */ - 382, /* (297) cmd ::= SHOW SCORES */ - 382, /* (298) cmd ::= SHOW TOPICS */ - 382, /* (299) cmd ::= SHOW VARIABLES */ - 382, /* (300) cmd ::= SHOW CLUSTER VARIABLES */ - 382, /* (301) cmd ::= SHOW LOCAL VARIABLES */ - 382, /* (302) cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ - 382, /* (303) cmd ::= SHOW BNODES */ - 382, /* (304) cmd ::= SHOW SNODES */ - 382, /* (305) cmd ::= SHOW CLUSTER */ - 382, /* (306) cmd ::= SHOW TRANSACTIONS */ - 382, /* (307) cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ - 382, /* (308) cmd ::= SHOW CONSUMERS */ - 382, /* (309) cmd ::= SHOW SUBSCRIPTIONS */ - 382, /* (310) cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ - 382, /* (311) cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ - 382, /* (312) cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ - 382, /* (313) cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name */ - 382, /* (314) cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ - 382, /* (315) cmd ::= SHOW VNODES */ - 382, /* (316) cmd ::= SHOW db_name_cond_opt ALIVE */ - 382, /* (317) cmd ::= SHOW CLUSTER ALIVE */ - 382, /* (318) cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt */ - 382, /* (319) cmd ::= SHOW CREATE VIEW full_table_name */ - 382, /* (320) cmd ::= SHOW COMPACTS */ - 382, /* (321) cmd ::= SHOW COMPACT NK_INTEGER */ - 450, /* (322) table_kind_db_name_cond_opt ::= */ - 450, /* (323) table_kind_db_name_cond_opt ::= table_kind */ - 450, /* (324) table_kind_db_name_cond_opt ::= db_name NK_DOT */ - 450, /* (325) table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ - 455, /* (326) table_kind ::= NORMAL */ - 455, /* (327) table_kind ::= CHILD */ - 452, /* (328) db_name_cond_opt ::= */ - 452, /* (329) db_name_cond_opt ::= db_name NK_DOT */ - 451, /* (330) like_pattern_opt ::= */ - 451, /* (331) like_pattern_opt ::= LIKE NK_STRING */ - 453, /* (332) table_name_cond ::= table_name */ - 454, /* (333) from_db_opt ::= */ - 454, /* (334) from_db_opt ::= FROM db_name */ - 424, /* (335) tag_list_opt ::= */ - 424, /* (336) tag_list_opt ::= tag_item */ - 424, /* (337) tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ - 456, /* (338) tag_item ::= TBNAME */ - 456, /* (339) tag_item ::= QTAGS */ - 456, /* (340) tag_item ::= column_name */ - 456, /* (341) tag_item ::= column_name column_alias */ - 456, /* (342) tag_item ::= column_name AS column_alias */ - 449, /* (343) db_kind_opt ::= */ - 449, /* (344) db_kind_opt ::= USER */ - 449, /* (345) db_kind_opt ::= SYSTEM */ - 382, /* (346) cmd ::= CREATE TSMA not_exists_opt tsma_name ON full_table_name tsma_func_list INTERVAL NK_LP duration_literal NK_RP */ - 382, /* (347) cmd ::= CREATE RECURSIVE TSMA not_exists_opt tsma_name ON full_table_name INTERVAL NK_LP duration_literal NK_RP */ - 382, /* (348) cmd ::= DROP TSMA exists_opt full_tsma_name */ - 382, /* (349) cmd ::= SHOW db_name_cond_opt TSMAS */ - 460, /* (350) full_tsma_name ::= tsma_name */ - 460, /* (351) full_tsma_name ::= db_name NK_DOT tsma_name */ - 459, /* (352) tsma_func_list ::= FUNCTION NK_LP func_list NK_RP */ - 382, /* (353) cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options */ - 382, /* (354) cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP */ - 382, /* (355) cmd ::= DROP INDEX exists_opt full_index_name */ - 463, /* (356) full_index_name ::= index_name */ - 463, /* (357) full_index_name ::= db_name NK_DOT index_name */ - 462, /* (358) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ - 462, /* (359) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt sma_stream_opt */ - 461, /* (360) func_list ::= func */ - 461, /* (361) func_list ::= func_list NK_COMMA func */ - 467, /* (362) func ::= sma_func_name NK_LP expression_list NK_RP */ - 468, /* (363) sma_func_name ::= function_name */ - 468, /* (364) sma_func_name ::= COUNT */ - 468, /* (365) sma_func_name ::= FIRST */ - 468, /* (366) sma_func_name ::= LAST */ - 468, /* (367) sma_func_name ::= LAST_ROW */ - 466, /* (368) sma_stream_opt ::= */ - 466, /* (369) sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ - 466, /* (370) sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ - 466, /* (371) sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ - 470, /* (372) with_meta ::= AS */ - 470, /* (373) with_meta ::= WITH META AS */ - 470, /* (374) with_meta ::= ONLY META AS */ - 382, /* (375) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ - 382, /* (376) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ - 382, /* (377) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ - 382, /* (378) cmd ::= DROP TOPIC exists_opt topic_name */ - 382, /* (379) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ - 382, /* (380) cmd ::= DESC full_table_name */ - 382, /* (381) cmd ::= DESCRIBE full_table_name */ - 382, /* (382) cmd ::= RESET QUERY CACHE */ - 382, /* (383) cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ - 382, /* (384) cmd ::= EXPLAIN analyze_opt explain_options insert_query */ - 474, /* (385) analyze_opt ::= */ - 474, /* (386) analyze_opt ::= ANALYZE */ - 475, /* (387) explain_options ::= */ - 475, /* (388) explain_options ::= explain_options VERBOSE NK_BOOL */ - 475, /* (389) explain_options ::= explain_options RATIO NK_FLOAT */ - 382, /* (390) cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt */ - 382, /* (391) cmd ::= DROP FUNCTION exists_opt function_name */ - 478, /* (392) agg_func_opt ::= */ - 478, /* (393) agg_func_opt ::= AGGREGATE */ - 479, /* (394) bufsize_opt ::= */ - 479, /* (395) bufsize_opt ::= BUFSIZE NK_INTEGER */ - 480, /* (396) language_opt ::= */ - 480, /* (397) language_opt ::= LANGUAGE NK_STRING */ - 477, /* (398) or_replace_opt ::= */ - 477, /* (399) or_replace_opt ::= OR REPLACE */ - 382, /* (400) cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ - 382, /* (401) cmd ::= DROP VIEW exists_opt full_view_name */ - 481, /* (402) full_view_name ::= view_name */ - 481, /* (403) full_view_name ::= db_name NK_DOT view_name */ - 382, /* (404) cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name col_list_opt tag_def_or_ref_opt subtable_opt AS query_or_subquery */ - 382, /* (405) cmd ::= DROP STREAM exists_opt stream_name */ - 382, /* (406) cmd ::= PAUSE STREAM exists_opt stream_name */ - 382, /* (407) cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ - 485, /* (408) col_list_opt ::= */ - 485, /* (409) col_list_opt ::= NK_LP column_stream_def_list NK_RP */ - 489, /* (410) column_stream_def_list ::= column_stream_def */ - 489, /* (411) column_stream_def_list ::= column_stream_def_list NK_COMMA column_stream_def */ - 490, /* (412) column_stream_def ::= column_name stream_col_options */ - 491, /* (413) stream_col_options ::= */ - 491, /* (414) stream_col_options ::= stream_col_options PRIMARY KEY */ - 486, /* (415) tag_def_or_ref_opt ::= */ - 486, /* (416) tag_def_or_ref_opt ::= tags_def */ - 486, /* (417) tag_def_or_ref_opt ::= TAGS NK_LP column_stream_def_list NK_RP */ - 484, /* (418) stream_options ::= */ - 484, /* (419) stream_options ::= stream_options TRIGGER AT_ONCE */ - 484, /* (420) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ - 484, /* (421) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ - 484, /* (422) stream_options ::= stream_options WATERMARK duration_literal */ - 484, /* (423) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ - 484, /* (424) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ - 484, /* (425) stream_options ::= stream_options DELETE_MARK duration_literal */ - 484, /* (426) stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ - 487, /* (427) subtable_opt ::= */ - 487, /* (428) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ - 488, /* (429) ignore_opt ::= */ - 488, /* (430) ignore_opt ::= IGNORE UNTREATED */ - 382, /* (431) cmd ::= KILL CONNECTION NK_INTEGER */ - 382, /* (432) cmd ::= KILL QUERY NK_STRING */ - 382, /* (433) cmd ::= KILL TRANSACTION NK_INTEGER */ - 382, /* (434) cmd ::= KILL COMPACT NK_INTEGER */ - 382, /* (435) cmd ::= BALANCE VGROUP */ - 382, /* (436) cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ - 382, /* (437) cmd ::= BALANCE VGROUP LEADER DATABASE db_name */ - 382, /* (438) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ - 382, /* (439) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ - 382, /* (440) cmd ::= SPLIT VGROUP NK_INTEGER */ - 493, /* (441) on_vgroup_id ::= */ - 493, /* (442) on_vgroup_id ::= ON NK_INTEGER */ - 494, /* (443) dnode_list ::= DNODE NK_INTEGER */ - 494, /* (444) dnode_list ::= dnode_list DNODE NK_INTEGER */ - 382, /* (445) cmd ::= DELETE FROM full_table_name where_clause_opt */ - 382, /* (446) cmd ::= query_or_subquery */ - 382, /* (447) cmd ::= insert_query */ - 476, /* (448) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ - 476, /* (449) insert_query ::= INSERT INTO full_table_name query_or_subquery */ - 432, /* (450) tags_literal ::= NK_INTEGER */ - 432, /* (451) tags_literal ::= NK_INTEGER NK_PLUS duration_literal */ - 432, /* (452) tags_literal ::= NK_INTEGER NK_MINUS duration_literal */ - 432, /* (453) tags_literal ::= NK_PLUS NK_INTEGER */ - 432, /* (454) tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal */ - 432, /* (455) tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal */ - 432, /* (456) tags_literal ::= NK_MINUS NK_INTEGER */ - 432, /* (457) tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal */ - 432, /* (458) tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal */ - 432, /* (459) tags_literal ::= NK_FLOAT */ - 432, /* (460) tags_literal ::= NK_PLUS NK_FLOAT */ - 432, /* (461) tags_literal ::= NK_MINUS NK_FLOAT */ - 432, /* (462) tags_literal ::= NK_BIN */ - 432, /* (463) tags_literal ::= NK_BIN NK_PLUS duration_literal */ - 432, /* (464) tags_literal ::= NK_BIN NK_MINUS duration_literal */ - 432, /* (465) tags_literal ::= NK_PLUS NK_BIN */ - 432, /* (466) tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal */ - 432, /* (467) tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal */ - 432, /* (468) tags_literal ::= NK_MINUS NK_BIN */ - 432, /* (469) tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal */ - 432, /* (470) tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal */ - 432, /* (471) tags_literal ::= NK_HEX */ - 432, /* (472) tags_literal ::= NK_HEX NK_PLUS duration_literal */ - 432, /* (473) tags_literal ::= NK_HEX NK_MINUS duration_literal */ - 432, /* (474) tags_literal ::= NK_PLUS NK_HEX */ - 432, /* (475) tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal */ - 432, /* (476) tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal */ - 432, /* (477) tags_literal ::= NK_MINUS NK_HEX */ - 432, /* (478) tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal */ - 432, /* (479) tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal */ - 432, /* (480) tags_literal ::= NK_STRING */ - 432, /* (481) tags_literal ::= NK_STRING NK_PLUS duration_literal */ - 432, /* (482) tags_literal ::= NK_STRING NK_MINUS duration_literal */ - 432, /* (483) tags_literal ::= NK_BOOL */ - 432, /* (484) tags_literal ::= NULL */ - 432, /* (485) tags_literal ::= literal_func */ - 432, /* (486) tags_literal ::= literal_func NK_PLUS duration_literal */ - 432, /* (487) tags_literal ::= literal_func NK_MINUS duration_literal */ - 435, /* (488) tags_literal_list ::= tags_literal */ - 435, /* (489) tags_literal_list ::= tags_literal_list NK_COMMA tags_literal */ - 385, /* (490) literal ::= NK_INTEGER */ - 385, /* (491) literal ::= NK_FLOAT */ - 385, /* (492) literal ::= NK_STRING */ - 385, /* (493) literal ::= NK_BOOL */ - 385, /* (494) literal ::= TIMESTAMP NK_STRING */ - 385, /* (495) literal ::= duration_literal */ - 385, /* (496) literal ::= NULL */ - 385, /* (497) literal ::= NK_QUESTION */ - 445, /* (498) duration_literal ::= NK_VARIABLE */ - 416, /* (499) signed ::= NK_INTEGER */ - 416, /* (500) signed ::= NK_PLUS NK_INTEGER */ - 416, /* (501) signed ::= NK_MINUS NK_INTEGER */ - 416, /* (502) signed ::= NK_FLOAT */ - 416, /* (503) signed ::= NK_PLUS NK_FLOAT */ - 416, /* (504) signed ::= NK_MINUS NK_FLOAT */ - 496, /* (505) signed_literal ::= signed */ - 496, /* (506) signed_literal ::= NK_STRING */ - 496, /* (507) signed_literal ::= NK_BOOL */ - 496, /* (508) signed_literal ::= TIMESTAMP NK_STRING */ - 496, /* (509) signed_literal ::= duration_literal */ - 496, /* (510) signed_literal ::= NULL */ - 496, /* (511) signed_literal ::= literal_func */ - 496, /* (512) signed_literal ::= NK_QUESTION */ - 497, /* (513) literal_list ::= signed_literal */ - 497, /* (514) literal_list ::= literal_list NK_COMMA signed_literal */ - 399, /* (515) db_name ::= NK_ID */ - 400, /* (516) table_name ::= NK_ID */ - 429, /* (517) column_name ::= NK_ID */ - 447, /* (518) function_name ::= NK_ID */ - 482, /* (519) view_name ::= NK_ID */ - 498, /* (520) table_alias ::= NK_ID */ - 457, /* (521) column_alias ::= NK_ID */ - 457, /* (522) column_alias ::= NK_ALIAS */ - 392, /* (523) user_name ::= NK_ID */ - 401, /* (524) topic_name ::= NK_ID */ - 483, /* (525) stream_name ::= NK_ID */ - 473, /* (526) cgroup_name ::= NK_ID */ - 464, /* (527) index_name ::= NK_ID */ - 458, /* (528) tsma_name ::= NK_ID */ - 499, /* (529) expr_or_subquery ::= expression */ - 492, /* (530) expression ::= literal */ - 492, /* (531) expression ::= pseudo_column */ - 492, /* (532) expression ::= column_reference */ - 492, /* (533) expression ::= function_expression */ - 492, /* (534) expression ::= case_when_expression */ - 492, /* (535) expression ::= NK_LP expression NK_RP */ - 492, /* (536) expression ::= NK_PLUS expr_or_subquery */ - 492, /* (537) expression ::= NK_MINUS expr_or_subquery */ - 492, /* (538) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ - 492, /* (539) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ - 492, /* (540) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ - 492, /* (541) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ - 492, /* (542) expression ::= expr_or_subquery NK_REM expr_or_subquery */ - 492, /* (543) expression ::= column_reference NK_ARROW NK_STRING */ - 492, /* (544) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ - 492, /* (545) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ - 469, /* (546) expression_list ::= expr_or_subquery */ - 469, /* (547) expression_list ::= expression_list NK_COMMA expr_or_subquery */ - 501, /* (548) column_reference ::= column_name */ - 501, /* (549) column_reference ::= table_name NK_DOT column_name */ - 501, /* (550) column_reference ::= NK_ALIAS */ - 501, /* (551) column_reference ::= table_name NK_DOT NK_ALIAS */ - 500, /* (552) pseudo_column ::= ROWTS */ - 500, /* (553) pseudo_column ::= TBNAME */ - 500, /* (554) pseudo_column ::= table_name NK_DOT TBNAME */ - 500, /* (555) pseudo_column ::= QSTART */ - 500, /* (556) pseudo_column ::= QEND */ - 500, /* (557) pseudo_column ::= QDURATION */ - 500, /* (558) pseudo_column ::= WSTART */ - 500, /* (559) pseudo_column ::= WEND */ - 500, /* (560) pseudo_column ::= WDURATION */ - 500, /* (561) pseudo_column ::= IROWTS */ - 500, /* (562) pseudo_column ::= ISFILLED */ - 500, /* (563) pseudo_column ::= QTAGS */ - 502, /* (564) function_expression ::= function_name NK_LP expression_list NK_RP */ - 502, /* (565) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ - 502, /* (566) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ - 502, /* (567) function_expression ::= CAST NK_LP expr_or_subquery AS type_name_default_len NK_RP */ - 502, /* (568) function_expression ::= POSITION NK_LP expr_or_subquery IN expr_or_subquery NK_RP */ - 502, /* (569) function_expression ::= TRIM NK_LP expr_or_subquery NK_RP */ - 502, /* (570) function_expression ::= TRIM NK_LP trim_specification_type FROM expr_or_subquery NK_RP */ - 502, /* (571) function_expression ::= TRIM NK_LP expr_or_subquery FROM expr_or_subquery NK_RP */ - 502, /* (572) function_expression ::= TRIM NK_LP trim_specification_type expr_or_subquery FROM expr_or_subquery NK_RP */ - 502, /* (573) function_expression ::= substr_func NK_LP expression_list NK_RP */ - 502, /* (574) function_expression ::= substr_func NK_LP expr_or_subquery FROM expr_or_subquery NK_RP */ - 502, /* (575) function_expression ::= substr_func NK_LP expr_or_subquery FROM expr_or_subquery FOR expr_or_subquery NK_RP */ - 502, /* (576) function_expression ::= REPLACE NK_LP expression_list NK_RP */ - 502, /* (577) function_expression ::= literal_func */ - 495, /* (578) literal_func ::= noarg_func NK_LP NK_RP */ - 495, /* (579) literal_func ::= NOW */ - 495, /* (580) literal_func ::= TODAY */ - 507, /* (581) substr_func ::= SUBSTR */ - 507, /* (582) substr_func ::= SUBSTRING */ - 506, /* (583) trim_specification_type ::= BOTH */ - 506, /* (584) trim_specification_type ::= TRAILING */ - 506, /* (585) trim_specification_type ::= LEADING */ - 508, /* (586) noarg_func ::= NOW */ - 508, /* (587) noarg_func ::= TODAY */ - 508, /* (588) noarg_func ::= TIMEZONE */ - 508, /* (589) noarg_func ::= DATABASE */ - 508, /* (590) noarg_func ::= CLIENT_VERSION */ - 508, /* (591) noarg_func ::= SERVER_VERSION */ - 508, /* (592) noarg_func ::= SERVER_STATUS */ - 508, /* (593) noarg_func ::= CURRENT_USER */ - 508, /* (594) noarg_func ::= USER */ - 508, /* (595) noarg_func ::= PI */ - 504, /* (596) star_func ::= COUNT */ - 504, /* (597) star_func ::= FIRST */ - 504, /* (598) star_func ::= LAST */ - 504, /* (599) star_func ::= LAST_ROW */ - 505, /* (600) star_func_para_list ::= NK_STAR */ - 505, /* (601) star_func_para_list ::= other_para_list */ - 509, /* (602) other_para_list ::= star_func_para */ - 509, /* (603) other_para_list ::= other_para_list NK_COMMA star_func_para */ - 510, /* (604) star_func_para ::= expr_or_subquery */ - 510, /* (605) star_func_para ::= table_name NK_DOT NK_STAR */ - 503, /* (606) case_when_expression ::= CASE when_then_list case_when_else_opt END */ - 503, /* (607) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ - 511, /* (608) when_then_list ::= when_then_expr */ - 511, /* (609) when_then_list ::= when_then_list when_then_expr */ - 514, /* (610) when_then_expr ::= WHEN common_expression THEN common_expression */ - 512, /* (611) case_when_else_opt ::= */ - 512, /* (612) case_when_else_opt ::= ELSE common_expression */ - 515, /* (613) predicate ::= expr_or_subquery compare_op expr_or_subquery */ - 515, /* (614) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ - 515, /* (615) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ - 515, /* (616) predicate ::= expr_or_subquery IS NULL */ - 515, /* (617) predicate ::= expr_or_subquery IS NOT NULL */ - 515, /* (618) predicate ::= expr_or_subquery in_op in_predicate_value */ - 516, /* (619) compare_op ::= NK_LT */ - 516, /* (620) compare_op ::= NK_GT */ - 516, /* (621) compare_op ::= NK_LE */ - 516, /* (622) compare_op ::= NK_GE */ - 516, /* (623) compare_op ::= NK_NE */ - 516, /* (624) compare_op ::= NK_EQ */ - 516, /* (625) compare_op ::= LIKE */ - 516, /* (626) compare_op ::= NOT LIKE */ - 516, /* (627) compare_op ::= MATCH */ - 516, /* (628) compare_op ::= NMATCH */ - 516, /* (629) compare_op ::= CONTAINS */ - 517, /* (630) in_op ::= IN */ - 517, /* (631) in_op ::= NOT IN */ - 518, /* (632) in_predicate_value ::= NK_LP literal_list NK_RP */ - 519, /* (633) boolean_value_expression ::= boolean_primary */ - 519, /* (634) boolean_value_expression ::= NOT boolean_primary */ - 519, /* (635) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ - 519, /* (636) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ - 520, /* (637) boolean_primary ::= predicate */ - 520, /* (638) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ - 513, /* (639) common_expression ::= expr_or_subquery */ - 513, /* (640) common_expression ::= boolean_value_expression */ - 521, /* (641) from_clause_opt ::= */ - 521, /* (642) from_clause_opt ::= FROM table_reference_list */ - 522, /* (643) table_reference_list ::= table_reference */ - 522, /* (644) table_reference_list ::= table_reference_list NK_COMMA table_reference */ - 523, /* (645) table_reference ::= table_primary */ - 523, /* (646) table_reference ::= joined_table */ - 524, /* (647) table_primary ::= table_name alias_opt */ - 524, /* (648) table_primary ::= db_name NK_DOT table_name alias_opt */ - 524, /* (649) table_primary ::= subquery alias_opt */ - 524, /* (650) table_primary ::= parenthesized_joined_table */ - 526, /* (651) alias_opt ::= */ - 526, /* (652) alias_opt ::= table_alias */ - 526, /* (653) alias_opt ::= AS table_alias */ - 528, /* (654) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ - 528, /* (655) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ - 525, /* (656) joined_table ::= table_reference join_type join_subtype JOIN table_reference join_on_clause_opt window_offset_clause_opt jlimit_clause_opt */ - 529, /* (657) join_type ::= */ - 529, /* (658) join_type ::= INNER */ - 529, /* (659) join_type ::= LEFT */ - 529, /* (660) join_type ::= RIGHT */ - 529, /* (661) join_type ::= FULL */ - 530, /* (662) join_subtype ::= */ - 530, /* (663) join_subtype ::= OUTER */ - 530, /* (664) join_subtype ::= SEMI */ - 530, /* (665) join_subtype ::= ANTI */ - 530, /* (666) join_subtype ::= ASOF */ - 530, /* (667) join_subtype ::= WINDOW */ - 531, /* (668) join_on_clause_opt ::= */ - 531, /* (669) join_on_clause_opt ::= ON search_condition */ - 532, /* (670) window_offset_clause_opt ::= */ - 532, /* (671) window_offset_clause_opt ::= WINDOW_OFFSET NK_LP window_offset_literal NK_COMMA window_offset_literal NK_RP */ - 534, /* (672) window_offset_literal ::= NK_VARIABLE */ - 534, /* (673) window_offset_literal ::= NK_MINUS NK_VARIABLE */ - 533, /* (674) jlimit_clause_opt ::= */ - 533, /* (675) jlimit_clause_opt ::= JLIMIT NK_INTEGER */ - 535, /* (676) 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 */ - 536, /* (677) hint_list ::= */ - 536, /* (678) hint_list ::= NK_HINT */ - 538, /* (679) tag_mode_opt ::= */ - 538, /* (680) tag_mode_opt ::= TAGS */ - 537, /* (681) set_quantifier_opt ::= */ - 537, /* (682) set_quantifier_opt ::= DISTINCT */ - 537, /* (683) set_quantifier_opt ::= ALL */ - 539, /* (684) select_list ::= select_item */ - 539, /* (685) select_list ::= select_list NK_COMMA select_item */ - 547, /* (686) select_item ::= NK_STAR */ - 547, /* (687) select_item ::= common_expression */ - 547, /* (688) select_item ::= common_expression column_alias */ - 547, /* (689) select_item ::= common_expression AS column_alias */ - 547, /* (690) select_item ::= table_name NK_DOT NK_STAR */ - 472, /* (691) where_clause_opt ::= */ - 472, /* (692) where_clause_opt ::= WHERE search_condition */ - 540, /* (693) partition_by_clause_opt ::= */ - 540, /* (694) partition_by_clause_opt ::= PARTITION BY partition_list */ - 548, /* (695) partition_list ::= partition_item */ - 548, /* (696) partition_list ::= partition_list NK_COMMA partition_item */ - 549, /* (697) partition_item ::= expr_or_subquery */ - 549, /* (698) partition_item ::= expr_or_subquery column_alias */ - 549, /* (699) partition_item ::= expr_or_subquery AS column_alias */ - 544, /* (700) twindow_clause_opt ::= */ - 544, /* (701) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ - 544, /* (702) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ - 544, /* (703) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ - 544, /* (704) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ - 544, /* (705) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ - 544, /* (706) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ - 544, /* (707) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ - 465, /* (708) sliding_opt ::= */ - 465, /* (709) sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ - 550, /* (710) interval_sliding_duration_literal ::= NK_VARIABLE */ - 550, /* (711) interval_sliding_duration_literal ::= NK_STRING */ - 550, /* (712) interval_sliding_duration_literal ::= NK_INTEGER */ - 543, /* (713) fill_opt ::= */ - 543, /* (714) fill_opt ::= FILL NK_LP fill_mode NK_RP */ - 543, /* (715) fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ - 543, /* (716) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ - 551, /* (717) fill_mode ::= NONE */ - 551, /* (718) fill_mode ::= PREV */ - 551, /* (719) fill_mode ::= NULL */ - 551, /* (720) fill_mode ::= NULL_F */ - 551, /* (721) fill_mode ::= LINEAR */ - 551, /* (722) fill_mode ::= NEXT */ - 545, /* (723) group_by_clause_opt ::= */ - 545, /* (724) group_by_clause_opt ::= GROUP BY group_by_list */ - 552, /* (725) group_by_list ::= expr_or_subquery */ - 552, /* (726) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ - 546, /* (727) having_clause_opt ::= */ - 546, /* (728) having_clause_opt ::= HAVING search_condition */ - 541, /* (729) range_opt ::= */ - 541, /* (730) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ - 541, /* (731) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ - 542, /* (732) every_opt ::= */ - 542, /* (733) every_opt ::= EVERY NK_LP duration_literal NK_RP */ - 553, /* (734) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ - 554, /* (735) query_simple ::= query_specification */ - 554, /* (736) query_simple ::= union_query_expression */ - 558, /* (737) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ - 558, /* (738) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ - 559, /* (739) query_simple_or_subquery ::= query_simple */ - 559, /* (740) query_simple_or_subquery ::= subquery */ - 471, /* (741) query_or_subquery ::= query_expression */ - 471, /* (742) query_or_subquery ::= subquery */ - 555, /* (743) order_by_clause_opt ::= */ - 555, /* (744) order_by_clause_opt ::= ORDER BY sort_specification_list */ - 556, /* (745) slimit_clause_opt ::= */ - 556, /* (746) slimit_clause_opt ::= SLIMIT NK_INTEGER */ - 556, /* (747) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - 556, /* (748) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - 557, /* (749) limit_clause_opt ::= */ - 557, /* (750) limit_clause_opt ::= LIMIT NK_INTEGER */ - 557, /* (751) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ - 557, /* (752) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - 527, /* (753) subquery ::= NK_LP query_expression NK_RP */ - 527, /* (754) subquery ::= NK_LP subquery NK_RP */ - 402, /* (755) search_condition ::= common_expression */ - 560, /* (756) sort_specification_list ::= sort_specification */ - 560, /* (757) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ - 561, /* (758) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ - 562, /* (759) ordering_specification_opt ::= */ - 562, /* (760) ordering_specification_opt ::= ASC */ - 562, /* (761) ordering_specification_opt ::= DESC */ - 563, /* (762) null_ordering_opt ::= */ - 563, /* (763) null_ordering_opt ::= NULLS FIRST */ - 563, /* (764) null_ordering_opt ::= NULLS LAST */ - 431, /* (765) column_options ::= */ - 431, /* (766) column_options ::= column_options PRIMARY KEY */ - 431, /* (767) column_options ::= column_options NK_ID NK_STRING */ + 383, /* (0) cmd ::= CREATE ACCOUNT NK_ID PASS NK_STRING account_options */ + 383, /* (1) cmd ::= ALTER ACCOUNT NK_ID alter_account_options */ + 384, /* (2) account_options ::= */ + 384, /* (3) account_options ::= account_options PPS literal */ + 384, /* (4) account_options ::= account_options TSERIES literal */ + 384, /* (5) account_options ::= account_options STORAGE literal */ + 384, /* (6) account_options ::= account_options STREAMS literal */ + 384, /* (7) account_options ::= account_options QTIME literal */ + 384, /* (8) account_options ::= account_options DBS literal */ + 384, /* (9) account_options ::= account_options USERS literal */ + 384, /* (10) account_options ::= account_options CONNS literal */ + 384, /* (11) account_options ::= account_options STATE literal */ + 385, /* (12) alter_account_options ::= alter_account_option */ + 385, /* (13) alter_account_options ::= alter_account_options alter_account_option */ + 387, /* (14) alter_account_option ::= PASS literal */ + 387, /* (15) alter_account_option ::= PPS literal */ + 387, /* (16) alter_account_option ::= TSERIES literal */ + 387, /* (17) alter_account_option ::= STORAGE literal */ + 387, /* (18) alter_account_option ::= STREAMS literal */ + 387, /* (19) alter_account_option ::= QTIME literal */ + 387, /* (20) alter_account_option ::= DBS literal */ + 387, /* (21) alter_account_option ::= USERS literal */ + 387, /* (22) alter_account_option ::= CONNS literal */ + 387, /* (23) alter_account_option ::= STATE literal */ + 388, /* (24) ip_range_list ::= NK_STRING */ + 388, /* (25) ip_range_list ::= ip_range_list NK_COMMA NK_STRING */ + 389, /* (26) white_list ::= HOST ip_range_list */ + 390, /* (27) white_list_opt ::= */ + 390, /* (28) white_list_opt ::= white_list */ + 391, /* (29) is_import_opt ::= */ + 391, /* (30) is_import_opt ::= IS_IMPORT NK_INTEGER */ + 392, /* (31) is_createdb_opt ::= */ + 392, /* (32) is_createdb_opt ::= CREATEDB NK_INTEGER */ + 383, /* (33) cmd ::= CREATE USER user_name PASS NK_STRING sysinfo_opt is_createdb_opt is_import_opt white_list_opt */ + 383, /* (34) cmd ::= ALTER USER user_name PASS NK_STRING */ + 383, /* (35) cmd ::= ALTER USER user_name ENABLE NK_INTEGER */ + 383, /* (36) cmd ::= ALTER USER user_name SYSINFO NK_INTEGER */ + 383, /* (37) cmd ::= ALTER USER user_name CREATEDB NK_INTEGER */ + 383, /* (38) cmd ::= ALTER USER user_name ADD white_list */ + 383, /* (39) cmd ::= ALTER USER user_name DROP white_list */ + 383, /* (40) cmd ::= DROP USER user_name */ + 394, /* (41) sysinfo_opt ::= */ + 394, /* (42) sysinfo_opt ::= SYSINFO NK_INTEGER */ + 383, /* (43) cmd ::= GRANT privileges ON priv_level with_opt TO user_name */ + 383, /* (44) cmd ::= REVOKE privileges ON priv_level with_opt FROM user_name */ + 395, /* (45) privileges ::= ALL */ + 395, /* (46) privileges ::= priv_type_list */ + 395, /* (47) privileges ::= SUBSCRIBE */ + 398, /* (48) priv_type_list ::= priv_type */ + 398, /* (49) priv_type_list ::= priv_type_list NK_COMMA priv_type */ + 399, /* (50) priv_type ::= READ */ + 399, /* (51) priv_type ::= WRITE */ + 399, /* (52) priv_type ::= ALTER */ + 396, /* (53) priv_level ::= NK_STAR NK_DOT NK_STAR */ + 396, /* (54) priv_level ::= db_name NK_DOT NK_STAR */ + 396, /* (55) priv_level ::= db_name NK_DOT table_name */ + 396, /* (56) priv_level ::= topic_name */ + 397, /* (57) with_opt ::= */ + 397, /* (58) with_opt ::= WITH search_condition */ + 383, /* (59) cmd ::= CREATE ENCRYPT_KEY NK_STRING */ + 383, /* (60) cmd ::= CREATE DNODE dnode_endpoint */ + 383, /* (61) cmd ::= CREATE DNODE dnode_endpoint PORT NK_INTEGER */ + 383, /* (62) cmd ::= DROP DNODE NK_INTEGER force_opt */ + 383, /* (63) cmd ::= DROP DNODE dnode_endpoint force_opt */ + 383, /* (64) cmd ::= DROP DNODE NK_INTEGER unsafe_opt */ + 383, /* (65) cmd ::= DROP DNODE dnode_endpoint unsafe_opt */ + 383, /* (66) cmd ::= ALTER DNODE NK_INTEGER NK_STRING */ + 383, /* (67) cmd ::= ALTER DNODE NK_INTEGER NK_STRING NK_STRING */ + 383, /* (68) cmd ::= ALTER ALL DNODES NK_STRING */ + 383, /* (69) cmd ::= ALTER ALL DNODES NK_STRING NK_STRING */ + 383, /* (70) cmd ::= RESTORE DNODE NK_INTEGER */ + 404, /* (71) dnode_endpoint ::= NK_STRING */ + 404, /* (72) dnode_endpoint ::= NK_ID */ + 404, /* (73) dnode_endpoint ::= NK_IPTOKEN */ + 405, /* (74) force_opt ::= */ + 405, /* (75) force_opt ::= FORCE */ + 406, /* (76) unsafe_opt ::= UNSAFE */ + 383, /* (77) cmd ::= ALTER CLUSTER NK_STRING */ + 383, /* (78) cmd ::= ALTER CLUSTER NK_STRING NK_STRING */ + 383, /* (79) cmd ::= ALTER LOCAL NK_STRING */ + 383, /* (80) cmd ::= ALTER LOCAL NK_STRING NK_STRING */ + 383, /* (81) cmd ::= CREATE QNODE ON DNODE NK_INTEGER */ + 383, /* (82) cmd ::= DROP QNODE ON DNODE NK_INTEGER */ + 383, /* (83) cmd ::= RESTORE QNODE ON DNODE NK_INTEGER */ + 383, /* (84) cmd ::= CREATE BNODE ON DNODE NK_INTEGER */ + 383, /* (85) cmd ::= DROP BNODE ON DNODE NK_INTEGER */ + 383, /* (86) cmd ::= CREATE SNODE ON DNODE NK_INTEGER */ + 383, /* (87) cmd ::= DROP SNODE ON DNODE NK_INTEGER */ + 383, /* (88) cmd ::= CREATE MNODE ON DNODE NK_INTEGER */ + 383, /* (89) cmd ::= DROP MNODE ON DNODE NK_INTEGER */ + 383, /* (90) cmd ::= RESTORE MNODE ON DNODE NK_INTEGER */ + 383, /* (91) cmd ::= RESTORE VNODE ON DNODE NK_INTEGER */ + 383, /* (92) cmd ::= CREATE DATABASE not_exists_opt db_name db_options */ + 383, /* (93) cmd ::= DROP DATABASE exists_opt db_name */ + 383, /* (94) cmd ::= USE db_name */ + 383, /* (95) cmd ::= ALTER DATABASE db_name alter_db_options */ + 383, /* (96) cmd ::= FLUSH DATABASE db_name */ + 383, /* (97) cmd ::= TRIM DATABASE db_name speed_opt */ + 383, /* (98) cmd ::= S3MIGRATE DATABASE db_name */ + 383, /* (99) cmd ::= COMPACT DATABASE db_name start_opt end_opt */ + 407, /* (100) not_exists_opt ::= IF NOT EXISTS */ + 407, /* (101) not_exists_opt ::= */ + 409, /* (102) exists_opt ::= IF EXISTS */ + 409, /* (103) exists_opt ::= */ + 408, /* (104) db_options ::= */ + 408, /* (105) db_options ::= db_options BUFFER NK_INTEGER */ + 408, /* (106) db_options ::= db_options CACHEMODEL NK_STRING */ + 408, /* (107) db_options ::= db_options CACHESIZE NK_INTEGER */ + 408, /* (108) db_options ::= db_options COMP NK_INTEGER */ + 408, /* (109) db_options ::= db_options DURATION NK_INTEGER */ + 408, /* (110) db_options ::= db_options DURATION NK_VARIABLE */ + 408, /* (111) db_options ::= db_options MAXROWS NK_INTEGER */ + 408, /* (112) db_options ::= db_options MINROWS NK_INTEGER */ + 408, /* (113) db_options ::= db_options KEEP integer_list */ + 408, /* (114) db_options ::= db_options KEEP variable_list */ + 408, /* (115) db_options ::= db_options PAGES NK_INTEGER */ + 408, /* (116) db_options ::= db_options PAGESIZE NK_INTEGER */ + 408, /* (117) db_options ::= db_options TSDB_PAGESIZE NK_INTEGER */ + 408, /* (118) db_options ::= db_options PRECISION NK_STRING */ + 408, /* (119) db_options ::= db_options REPLICA NK_INTEGER */ + 408, /* (120) db_options ::= db_options VGROUPS NK_INTEGER */ + 408, /* (121) db_options ::= db_options SINGLE_STABLE NK_INTEGER */ + 408, /* (122) db_options ::= db_options RETENTIONS retention_list */ + 408, /* (123) db_options ::= db_options SCHEMALESS NK_INTEGER */ + 408, /* (124) db_options ::= db_options WAL_LEVEL NK_INTEGER */ + 408, /* (125) db_options ::= db_options WAL_FSYNC_PERIOD NK_INTEGER */ + 408, /* (126) db_options ::= db_options WAL_RETENTION_PERIOD NK_INTEGER */ + 408, /* (127) db_options ::= db_options WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ + 408, /* (128) db_options ::= db_options WAL_RETENTION_SIZE NK_INTEGER */ + 408, /* (129) db_options ::= db_options WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ + 408, /* (130) db_options ::= db_options WAL_ROLL_PERIOD NK_INTEGER */ + 408, /* (131) db_options ::= db_options WAL_SEGMENT_SIZE NK_INTEGER */ + 408, /* (132) db_options ::= db_options STT_TRIGGER NK_INTEGER */ + 408, /* (133) db_options ::= db_options TABLE_PREFIX signed */ + 408, /* (134) db_options ::= db_options TABLE_SUFFIX signed */ + 408, /* (135) db_options ::= db_options S3_CHUNKSIZE NK_INTEGER */ + 408, /* (136) db_options ::= db_options S3_KEEPLOCAL NK_INTEGER */ + 408, /* (137) db_options ::= db_options S3_KEEPLOCAL NK_VARIABLE */ + 408, /* (138) db_options ::= db_options S3_COMPACT NK_INTEGER */ + 408, /* (139) db_options ::= db_options KEEP_TIME_OFFSET NK_INTEGER */ + 408, /* (140) db_options ::= db_options ENCRYPT_ALGORITHM NK_STRING */ + 410, /* (141) alter_db_options ::= alter_db_option */ + 410, /* (142) alter_db_options ::= alter_db_options alter_db_option */ + 418, /* (143) alter_db_option ::= BUFFER NK_INTEGER */ + 418, /* (144) alter_db_option ::= CACHEMODEL NK_STRING */ + 418, /* (145) alter_db_option ::= CACHESIZE NK_INTEGER */ + 418, /* (146) alter_db_option ::= WAL_FSYNC_PERIOD NK_INTEGER */ + 418, /* (147) alter_db_option ::= KEEP integer_list */ + 418, /* (148) alter_db_option ::= KEEP variable_list */ + 418, /* (149) alter_db_option ::= PAGES NK_INTEGER */ + 418, /* (150) alter_db_option ::= REPLICA NK_INTEGER */ + 418, /* (151) alter_db_option ::= WAL_LEVEL NK_INTEGER */ + 418, /* (152) alter_db_option ::= STT_TRIGGER NK_INTEGER */ + 418, /* (153) alter_db_option ::= MINROWS NK_INTEGER */ + 418, /* (154) alter_db_option ::= WAL_RETENTION_PERIOD NK_INTEGER */ + 418, /* (155) alter_db_option ::= WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ + 418, /* (156) alter_db_option ::= WAL_RETENTION_SIZE NK_INTEGER */ + 418, /* (157) alter_db_option ::= WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ + 418, /* (158) alter_db_option ::= S3_KEEPLOCAL NK_INTEGER */ + 418, /* (159) alter_db_option ::= S3_KEEPLOCAL NK_VARIABLE */ + 418, /* (160) alter_db_option ::= S3_COMPACT NK_INTEGER */ + 418, /* (161) alter_db_option ::= KEEP_TIME_OFFSET NK_INTEGER */ + 418, /* (162) alter_db_option ::= ENCRYPT_ALGORITHM NK_STRING */ + 414, /* (163) integer_list ::= NK_INTEGER */ + 414, /* (164) integer_list ::= integer_list NK_COMMA NK_INTEGER */ + 415, /* (165) variable_list ::= NK_VARIABLE */ + 415, /* (166) variable_list ::= variable_list NK_COMMA NK_VARIABLE */ + 416, /* (167) retention_list ::= retention */ + 416, /* (168) retention_list ::= retention_list NK_COMMA retention */ + 419, /* (169) retention ::= NK_VARIABLE NK_COLON NK_VARIABLE */ + 419, /* (170) retention ::= NK_MINUS NK_COLON NK_VARIABLE */ + 411, /* (171) speed_opt ::= */ + 411, /* (172) speed_opt ::= BWLIMIT NK_INTEGER */ + 412, /* (173) start_opt ::= */ + 412, /* (174) start_opt ::= START WITH NK_INTEGER */ + 412, /* (175) start_opt ::= START WITH NK_STRING */ + 412, /* (176) start_opt ::= START WITH TIMESTAMP NK_STRING */ + 413, /* (177) end_opt ::= */ + 413, /* (178) end_opt ::= END WITH NK_INTEGER */ + 413, /* (179) end_opt ::= END WITH NK_STRING */ + 413, /* (180) end_opt ::= END WITH TIMESTAMP NK_STRING */ + 383, /* (181) cmd ::= CREATE TABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def_opt table_options */ + 383, /* (182) cmd ::= CREATE TABLE multi_create_clause */ + 383, /* (183) cmd ::= CREATE TABLE not_exists_opt USING full_table_name NK_LP tag_list_opt NK_RP FILE NK_STRING */ + 383, /* (184) cmd ::= CREATE STABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def table_options */ + 383, /* (185) cmd ::= DROP TABLE multi_drop_clause */ + 383, /* (186) cmd ::= DROP STABLE exists_opt full_table_name */ + 383, /* (187) cmd ::= ALTER TABLE alter_table_clause */ + 383, /* (188) cmd ::= ALTER STABLE alter_table_clause */ + 428, /* (189) alter_table_clause ::= full_table_name alter_table_options */ + 428, /* (190) alter_table_clause ::= full_table_name ADD COLUMN column_name type_name column_options */ + 428, /* (191) alter_table_clause ::= full_table_name DROP COLUMN column_name */ + 428, /* (192) alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */ + 428, /* (193) alter_table_clause ::= full_table_name MODIFY COLUMN column_name column_options */ + 428, /* (194) alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */ + 428, /* (195) alter_table_clause ::= full_table_name ADD TAG column_name type_name */ + 428, /* (196) alter_table_clause ::= full_table_name DROP TAG column_name */ + 428, /* (197) alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */ + 428, /* (198) alter_table_clause ::= full_table_name RENAME TAG column_name column_name */ + 428, /* (199) alter_table_clause ::= full_table_name SET TAG column_name NK_EQ tags_literal */ + 424, /* (200) multi_create_clause ::= create_subtable_clause */ + 424, /* (201) multi_create_clause ::= multi_create_clause create_subtable_clause */ + 434, /* (202) create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_cols_opt TAGS NK_LP tags_literal_list NK_RP table_options */ + 427, /* (203) multi_drop_clause ::= drop_table_clause */ + 427, /* (204) multi_drop_clause ::= multi_drop_clause NK_COMMA drop_table_clause */ + 437, /* (205) drop_table_clause ::= exists_opt full_table_name */ + 435, /* (206) specific_cols_opt ::= */ + 435, /* (207) specific_cols_opt ::= NK_LP col_name_list NK_RP */ + 420, /* (208) full_table_name ::= table_name */ + 420, /* (209) full_table_name ::= db_name NK_DOT table_name */ + 439, /* (210) tag_def_list ::= tag_def */ + 439, /* (211) tag_def_list ::= tag_def_list NK_COMMA tag_def */ + 440, /* (212) tag_def ::= column_name type_name */ + 421, /* (213) column_def_list ::= column_def */ + 421, /* (214) column_def_list ::= column_def_list NK_COMMA column_def */ + 441, /* (215) column_def ::= column_name type_name column_options */ + 431, /* (216) type_name ::= BOOL */ + 431, /* (217) type_name ::= TINYINT */ + 431, /* (218) type_name ::= SMALLINT */ + 431, /* (219) type_name ::= INT */ + 431, /* (220) type_name ::= INTEGER */ + 431, /* (221) type_name ::= BIGINT */ + 431, /* (222) type_name ::= FLOAT */ + 431, /* (223) type_name ::= DOUBLE */ + 431, /* (224) type_name ::= BINARY NK_LP NK_INTEGER NK_RP */ + 431, /* (225) type_name ::= TIMESTAMP */ + 431, /* (226) type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */ + 431, /* (227) type_name ::= TINYINT UNSIGNED */ + 431, /* (228) type_name ::= SMALLINT UNSIGNED */ + 431, /* (229) type_name ::= INT UNSIGNED */ + 431, /* (230) type_name ::= BIGINT UNSIGNED */ + 431, /* (231) type_name ::= JSON */ + 431, /* (232) type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */ + 431, /* (233) type_name ::= MEDIUMBLOB */ + 431, /* (234) type_name ::= BLOB */ + 431, /* (235) type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */ + 431, /* (236) type_name ::= GEOMETRY NK_LP NK_INTEGER NK_RP */ + 431, /* (237) type_name ::= DECIMAL */ + 431, /* (238) type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */ + 431, /* (239) type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ + 442, /* (240) type_name_default_len ::= BINARY */ + 442, /* (241) type_name_default_len ::= NCHAR */ + 442, /* (242) type_name_default_len ::= VARCHAR */ + 442, /* (243) type_name_default_len ::= VARBINARY */ + 422, /* (244) tags_def_opt ::= */ + 422, /* (245) tags_def_opt ::= tags_def */ + 426, /* (246) tags_def ::= TAGS NK_LP tag_def_list NK_RP */ + 423, /* (247) table_options ::= */ + 423, /* (248) table_options ::= table_options COMMENT NK_STRING */ + 423, /* (249) table_options ::= table_options MAX_DELAY duration_list */ + 423, /* (250) table_options ::= table_options WATERMARK duration_list */ + 423, /* (251) table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ + 423, /* (252) table_options ::= table_options TTL NK_INTEGER */ + 423, /* (253) table_options ::= table_options SMA NK_LP col_name_list NK_RP */ + 423, /* (254) table_options ::= table_options DELETE_MARK duration_list */ + 429, /* (255) alter_table_options ::= alter_table_option */ + 429, /* (256) alter_table_options ::= alter_table_options alter_table_option */ + 445, /* (257) alter_table_option ::= COMMENT NK_STRING */ + 445, /* (258) alter_table_option ::= TTL NK_INTEGER */ + 443, /* (259) duration_list ::= duration_literal */ + 443, /* (260) duration_list ::= duration_list NK_COMMA duration_literal */ + 444, /* (261) rollup_func_list ::= rollup_func_name */ + 444, /* (262) rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ + 447, /* (263) rollup_func_name ::= function_name */ + 447, /* (264) rollup_func_name ::= FIRST */ + 447, /* (265) rollup_func_name ::= LAST */ + 438, /* (266) col_name_list ::= col_name */ + 438, /* (267) col_name_list ::= col_name_list NK_COMMA col_name */ + 449, /* (268) col_name ::= column_name */ + 383, /* (269) cmd ::= SHOW DNODES */ + 383, /* (270) cmd ::= SHOW USERS */ + 383, /* (271) cmd ::= SHOW USERS FULL */ + 383, /* (272) cmd ::= SHOW USER PRIVILEGES */ + 383, /* (273) cmd ::= SHOW db_kind_opt DATABASES */ + 383, /* (274) cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ + 383, /* (275) cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ + 383, /* (276) cmd ::= SHOW db_name_cond_opt VGROUPS */ + 383, /* (277) cmd ::= SHOW MNODES */ + 383, /* (278) cmd ::= SHOW QNODES */ + 383, /* (279) cmd ::= SHOW ARBGROUPS */ + 383, /* (280) cmd ::= SHOW FUNCTIONS */ + 383, /* (281) cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ + 383, /* (282) cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ + 383, /* (283) cmd ::= SHOW STREAMS */ + 383, /* (284) cmd ::= SHOW ACCOUNTS */ + 383, /* (285) cmd ::= SHOW APPS */ + 383, /* (286) cmd ::= SHOW CONNECTIONS */ + 383, /* (287) cmd ::= SHOW LICENCES */ + 383, /* (288) cmd ::= SHOW GRANTS */ + 383, /* (289) cmd ::= SHOW GRANTS FULL */ + 383, /* (290) cmd ::= SHOW GRANTS LOGS */ + 383, /* (291) cmd ::= SHOW CLUSTER MACHINES */ + 383, /* (292) cmd ::= SHOW CREATE DATABASE db_name */ + 383, /* (293) cmd ::= SHOW CREATE TABLE full_table_name */ + 383, /* (294) cmd ::= SHOW CREATE STABLE full_table_name */ + 383, /* (295) cmd ::= SHOW ENCRYPTIONS */ + 383, /* (296) cmd ::= SHOW QUERIES */ + 383, /* (297) cmd ::= SHOW SCORES */ + 383, /* (298) cmd ::= SHOW TOPICS */ + 383, /* (299) cmd ::= SHOW VARIABLES */ + 383, /* (300) cmd ::= SHOW CLUSTER VARIABLES */ + 383, /* (301) cmd ::= SHOW LOCAL VARIABLES */ + 383, /* (302) cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ + 383, /* (303) cmd ::= SHOW BNODES */ + 383, /* (304) cmd ::= SHOW SNODES */ + 383, /* (305) cmd ::= SHOW CLUSTER */ + 383, /* (306) cmd ::= SHOW TRANSACTIONS */ + 383, /* (307) cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ + 383, /* (308) cmd ::= SHOW CONSUMERS */ + 383, /* (309) cmd ::= SHOW SUBSCRIPTIONS */ + 383, /* (310) cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ + 383, /* (311) cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ + 383, /* (312) cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ + 383, /* (313) cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name */ + 383, /* (314) cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ + 383, /* (315) cmd ::= SHOW VNODES */ + 383, /* (316) cmd ::= SHOW db_name_cond_opt ALIVE */ + 383, /* (317) cmd ::= SHOW CLUSTER ALIVE */ + 383, /* (318) cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt */ + 383, /* (319) cmd ::= SHOW CREATE VIEW full_table_name */ + 383, /* (320) cmd ::= SHOW COMPACTS */ + 383, /* (321) cmd ::= SHOW COMPACT NK_INTEGER */ + 451, /* (322) table_kind_db_name_cond_opt ::= */ + 451, /* (323) table_kind_db_name_cond_opt ::= table_kind */ + 451, /* (324) table_kind_db_name_cond_opt ::= db_name NK_DOT */ + 451, /* (325) table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ + 456, /* (326) table_kind ::= NORMAL */ + 456, /* (327) table_kind ::= CHILD */ + 453, /* (328) db_name_cond_opt ::= */ + 453, /* (329) db_name_cond_opt ::= db_name NK_DOT */ + 452, /* (330) like_pattern_opt ::= */ + 452, /* (331) like_pattern_opt ::= LIKE NK_STRING */ + 454, /* (332) table_name_cond ::= table_name */ + 455, /* (333) from_db_opt ::= */ + 455, /* (334) from_db_opt ::= FROM db_name */ + 425, /* (335) tag_list_opt ::= */ + 425, /* (336) tag_list_opt ::= tag_item */ + 425, /* (337) tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ + 457, /* (338) tag_item ::= TBNAME */ + 457, /* (339) tag_item ::= QTAGS */ + 457, /* (340) tag_item ::= column_name */ + 457, /* (341) tag_item ::= column_name column_alias */ + 457, /* (342) tag_item ::= column_name AS column_alias */ + 450, /* (343) db_kind_opt ::= */ + 450, /* (344) db_kind_opt ::= USER */ + 450, /* (345) db_kind_opt ::= SYSTEM */ + 383, /* (346) cmd ::= CREATE TSMA not_exists_opt tsma_name ON full_table_name tsma_func_list INTERVAL NK_LP duration_literal NK_RP */ + 383, /* (347) cmd ::= CREATE RECURSIVE TSMA not_exists_opt tsma_name ON full_table_name INTERVAL NK_LP duration_literal NK_RP */ + 383, /* (348) cmd ::= DROP TSMA exists_opt full_tsma_name */ + 383, /* (349) cmd ::= SHOW db_name_cond_opt TSMAS */ + 461, /* (350) full_tsma_name ::= tsma_name */ + 461, /* (351) full_tsma_name ::= db_name NK_DOT tsma_name */ + 460, /* (352) tsma_func_list ::= FUNCTION NK_LP func_list NK_RP */ + 383, /* (353) cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options */ + 383, /* (354) cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP */ + 383, /* (355) cmd ::= DROP INDEX exists_opt full_index_name */ + 464, /* (356) full_index_name ::= index_name */ + 464, /* (357) full_index_name ::= db_name NK_DOT index_name */ + 463, /* (358) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ + 463, /* (359) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt sma_stream_opt */ + 462, /* (360) func_list ::= func */ + 462, /* (361) func_list ::= func_list NK_COMMA func */ + 468, /* (362) func ::= sma_func_name NK_LP expression_list NK_RP */ + 469, /* (363) sma_func_name ::= function_name */ + 469, /* (364) sma_func_name ::= COUNT */ + 469, /* (365) sma_func_name ::= FIRST */ + 469, /* (366) sma_func_name ::= LAST */ + 469, /* (367) sma_func_name ::= LAST_ROW */ + 467, /* (368) sma_stream_opt ::= */ + 467, /* (369) sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ + 467, /* (370) sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ + 467, /* (371) sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ + 471, /* (372) with_meta ::= AS */ + 471, /* (373) with_meta ::= WITH META AS */ + 471, /* (374) with_meta ::= ONLY META AS */ + 383, /* (375) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ + 383, /* (376) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ + 383, /* (377) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ + 383, /* (378) cmd ::= DROP TOPIC exists_opt topic_name */ + 383, /* (379) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ + 383, /* (380) cmd ::= DESC full_table_name */ + 383, /* (381) cmd ::= DESCRIBE full_table_name */ + 383, /* (382) cmd ::= RESET QUERY CACHE */ + 383, /* (383) cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ + 383, /* (384) cmd ::= EXPLAIN analyze_opt explain_options insert_query */ + 475, /* (385) analyze_opt ::= */ + 475, /* (386) analyze_opt ::= ANALYZE */ + 476, /* (387) explain_options ::= */ + 476, /* (388) explain_options ::= explain_options VERBOSE NK_BOOL */ + 476, /* (389) explain_options ::= explain_options RATIO NK_FLOAT */ + 383, /* (390) cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt */ + 383, /* (391) cmd ::= DROP FUNCTION exists_opt function_name */ + 479, /* (392) agg_func_opt ::= */ + 479, /* (393) agg_func_opt ::= AGGREGATE */ + 480, /* (394) bufsize_opt ::= */ + 480, /* (395) bufsize_opt ::= BUFSIZE NK_INTEGER */ + 481, /* (396) language_opt ::= */ + 481, /* (397) language_opt ::= LANGUAGE NK_STRING */ + 478, /* (398) or_replace_opt ::= */ + 478, /* (399) or_replace_opt ::= OR REPLACE */ + 383, /* (400) cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ + 383, /* (401) cmd ::= DROP VIEW exists_opt full_view_name */ + 482, /* (402) full_view_name ::= view_name */ + 482, /* (403) full_view_name ::= db_name NK_DOT view_name */ + 383, /* (404) cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name col_list_opt tag_def_or_ref_opt subtable_opt AS query_or_subquery */ + 383, /* (405) cmd ::= DROP STREAM exists_opt stream_name */ + 383, /* (406) cmd ::= PAUSE STREAM exists_opt stream_name */ + 383, /* (407) cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ + 486, /* (408) col_list_opt ::= */ + 486, /* (409) col_list_opt ::= NK_LP column_stream_def_list NK_RP */ + 490, /* (410) column_stream_def_list ::= column_stream_def */ + 490, /* (411) column_stream_def_list ::= column_stream_def_list NK_COMMA column_stream_def */ + 491, /* (412) column_stream_def ::= column_name stream_col_options */ + 492, /* (413) stream_col_options ::= */ + 492, /* (414) stream_col_options ::= stream_col_options PRIMARY KEY */ + 487, /* (415) tag_def_or_ref_opt ::= */ + 487, /* (416) tag_def_or_ref_opt ::= tags_def */ + 487, /* (417) tag_def_or_ref_opt ::= TAGS NK_LP column_stream_def_list NK_RP */ + 485, /* (418) stream_options ::= */ + 485, /* (419) stream_options ::= stream_options TRIGGER AT_ONCE */ + 485, /* (420) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ + 485, /* (421) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ + 485, /* (422) stream_options ::= stream_options WATERMARK duration_literal */ + 485, /* (423) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ + 485, /* (424) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ + 485, /* (425) stream_options ::= stream_options DELETE_MARK duration_literal */ + 485, /* (426) stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ + 488, /* (427) subtable_opt ::= */ + 488, /* (428) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ + 489, /* (429) ignore_opt ::= */ + 489, /* (430) ignore_opt ::= IGNORE UNTREATED */ + 383, /* (431) cmd ::= KILL CONNECTION NK_INTEGER */ + 383, /* (432) cmd ::= KILL QUERY NK_STRING */ + 383, /* (433) cmd ::= KILL TRANSACTION NK_INTEGER */ + 383, /* (434) cmd ::= KILL COMPACT NK_INTEGER */ + 383, /* (435) cmd ::= BALANCE VGROUP */ + 383, /* (436) cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ + 383, /* (437) cmd ::= BALANCE VGROUP LEADER DATABASE db_name */ + 383, /* (438) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ + 383, /* (439) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ + 383, /* (440) cmd ::= SPLIT VGROUP NK_INTEGER */ + 494, /* (441) on_vgroup_id ::= */ + 494, /* (442) on_vgroup_id ::= ON NK_INTEGER */ + 495, /* (443) dnode_list ::= DNODE NK_INTEGER */ + 495, /* (444) dnode_list ::= dnode_list DNODE NK_INTEGER */ + 383, /* (445) cmd ::= DELETE FROM full_table_name where_clause_opt */ + 383, /* (446) cmd ::= query_or_subquery */ + 383, /* (447) cmd ::= insert_query */ + 477, /* (448) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ + 477, /* (449) insert_query ::= INSERT INTO full_table_name query_or_subquery */ + 433, /* (450) tags_literal ::= NK_INTEGER */ + 433, /* (451) tags_literal ::= NK_INTEGER NK_PLUS duration_literal */ + 433, /* (452) tags_literal ::= NK_INTEGER NK_MINUS duration_literal */ + 433, /* (453) tags_literal ::= NK_PLUS NK_INTEGER */ + 433, /* (454) tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal */ + 433, /* (455) tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal */ + 433, /* (456) tags_literal ::= NK_MINUS NK_INTEGER */ + 433, /* (457) tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal */ + 433, /* (458) tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal */ + 433, /* (459) tags_literal ::= NK_FLOAT */ + 433, /* (460) tags_literal ::= NK_PLUS NK_FLOAT */ + 433, /* (461) tags_literal ::= NK_MINUS NK_FLOAT */ + 433, /* (462) tags_literal ::= NK_BIN */ + 433, /* (463) tags_literal ::= NK_BIN NK_PLUS duration_literal */ + 433, /* (464) tags_literal ::= NK_BIN NK_MINUS duration_literal */ + 433, /* (465) tags_literal ::= NK_PLUS NK_BIN */ + 433, /* (466) tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal */ + 433, /* (467) tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal */ + 433, /* (468) tags_literal ::= NK_MINUS NK_BIN */ + 433, /* (469) tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal */ + 433, /* (470) tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal */ + 433, /* (471) tags_literal ::= NK_HEX */ + 433, /* (472) tags_literal ::= NK_HEX NK_PLUS duration_literal */ + 433, /* (473) tags_literal ::= NK_HEX NK_MINUS duration_literal */ + 433, /* (474) tags_literal ::= NK_PLUS NK_HEX */ + 433, /* (475) tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal */ + 433, /* (476) tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal */ + 433, /* (477) tags_literal ::= NK_MINUS NK_HEX */ + 433, /* (478) tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal */ + 433, /* (479) tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal */ + 433, /* (480) tags_literal ::= NK_STRING */ + 433, /* (481) tags_literal ::= NK_STRING NK_PLUS duration_literal */ + 433, /* (482) tags_literal ::= NK_STRING NK_MINUS duration_literal */ + 433, /* (483) tags_literal ::= NK_BOOL */ + 433, /* (484) tags_literal ::= NULL */ + 433, /* (485) tags_literal ::= literal_func */ + 433, /* (486) tags_literal ::= literal_func NK_PLUS duration_literal */ + 433, /* (487) tags_literal ::= literal_func NK_MINUS duration_literal */ + 436, /* (488) tags_literal_list ::= tags_literal */ + 436, /* (489) tags_literal_list ::= tags_literal_list NK_COMMA tags_literal */ + 386, /* (490) literal ::= NK_INTEGER */ + 386, /* (491) literal ::= NK_FLOAT */ + 386, /* (492) literal ::= NK_STRING */ + 386, /* (493) literal ::= NK_BOOL */ + 386, /* (494) literal ::= TIMESTAMP NK_STRING */ + 386, /* (495) literal ::= duration_literal */ + 386, /* (496) literal ::= NULL */ + 386, /* (497) literal ::= NK_QUESTION */ + 446, /* (498) duration_literal ::= NK_VARIABLE */ + 417, /* (499) signed ::= NK_INTEGER */ + 417, /* (500) signed ::= NK_PLUS NK_INTEGER */ + 417, /* (501) signed ::= NK_MINUS NK_INTEGER */ + 417, /* (502) signed ::= NK_FLOAT */ + 417, /* (503) signed ::= NK_PLUS NK_FLOAT */ + 417, /* (504) signed ::= NK_MINUS NK_FLOAT */ + 497, /* (505) signed_literal ::= signed */ + 497, /* (506) signed_literal ::= NK_STRING */ + 497, /* (507) signed_literal ::= NK_BOOL */ + 497, /* (508) signed_literal ::= TIMESTAMP NK_STRING */ + 497, /* (509) signed_literal ::= duration_literal */ + 497, /* (510) signed_literal ::= NULL */ + 497, /* (511) signed_literal ::= literal_func */ + 497, /* (512) signed_literal ::= NK_QUESTION */ + 498, /* (513) literal_list ::= signed_literal */ + 498, /* (514) literal_list ::= literal_list NK_COMMA signed_literal */ + 400, /* (515) db_name ::= NK_ID */ + 401, /* (516) table_name ::= NK_ID */ + 430, /* (517) column_name ::= NK_ID */ + 448, /* (518) function_name ::= NK_ID */ + 483, /* (519) view_name ::= NK_ID */ + 499, /* (520) table_alias ::= NK_ID */ + 458, /* (521) column_alias ::= NK_ID */ + 458, /* (522) column_alias ::= NK_ALIAS */ + 393, /* (523) user_name ::= NK_ID */ + 402, /* (524) topic_name ::= NK_ID */ + 484, /* (525) stream_name ::= NK_ID */ + 474, /* (526) cgroup_name ::= NK_ID */ + 465, /* (527) index_name ::= NK_ID */ + 459, /* (528) tsma_name ::= NK_ID */ + 500, /* (529) expr_or_subquery ::= expression */ + 493, /* (530) expression ::= literal */ + 493, /* (531) expression ::= pseudo_column */ + 493, /* (532) expression ::= column_reference */ + 493, /* (533) expression ::= function_expression */ + 493, /* (534) expression ::= case_when_expression */ + 493, /* (535) expression ::= NK_LP expression NK_RP */ + 493, /* (536) expression ::= NK_PLUS expr_or_subquery */ + 493, /* (537) expression ::= NK_MINUS expr_or_subquery */ + 493, /* (538) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ + 493, /* (539) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ + 493, /* (540) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ + 493, /* (541) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ + 493, /* (542) expression ::= expr_or_subquery NK_REM expr_or_subquery */ + 493, /* (543) expression ::= column_reference NK_ARROW NK_STRING */ + 493, /* (544) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ + 493, /* (545) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ + 470, /* (546) expression_list ::= expr_or_subquery */ + 470, /* (547) expression_list ::= expression_list NK_COMMA expr_or_subquery */ + 502, /* (548) column_reference ::= column_name */ + 502, /* (549) column_reference ::= table_name NK_DOT column_name */ + 502, /* (550) column_reference ::= NK_ALIAS */ + 502, /* (551) column_reference ::= table_name NK_DOT NK_ALIAS */ + 501, /* (552) pseudo_column ::= ROWTS */ + 501, /* (553) pseudo_column ::= TBNAME */ + 501, /* (554) pseudo_column ::= table_name NK_DOT TBNAME */ + 501, /* (555) pseudo_column ::= QSTART */ + 501, /* (556) pseudo_column ::= QEND */ + 501, /* (557) pseudo_column ::= QDURATION */ + 501, /* (558) pseudo_column ::= WSTART */ + 501, /* (559) pseudo_column ::= WEND */ + 501, /* (560) pseudo_column ::= WDURATION */ + 501, /* (561) pseudo_column ::= IROWTS */ + 501, /* (562) pseudo_column ::= ISFILLED */ + 501, /* (563) pseudo_column ::= QTAGS */ + 503, /* (564) function_expression ::= function_name NK_LP expression_list NK_RP */ + 503, /* (565) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ + 503, /* (566) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ + 503, /* (567) function_expression ::= CAST NK_LP expr_or_subquery AS type_name_default_len NK_RP */ + 503, /* (568) function_expression ::= POSITION NK_LP expr_or_subquery IN expr_or_subquery NK_RP */ + 503, /* (569) function_expression ::= TRIM NK_LP expr_or_subquery NK_RP */ + 503, /* (570) function_expression ::= TRIM NK_LP trim_specification_type FROM expr_or_subquery NK_RP */ + 503, /* (571) function_expression ::= TRIM NK_LP expr_or_subquery FROM expr_or_subquery NK_RP */ + 503, /* (572) function_expression ::= TRIM NK_LP trim_specification_type expr_or_subquery FROM expr_or_subquery NK_RP */ + 503, /* (573) function_expression ::= substr_func NK_LP expression_list NK_RP */ + 503, /* (574) function_expression ::= substr_func NK_LP expr_or_subquery FROM expr_or_subquery NK_RP */ + 503, /* (575) function_expression ::= substr_func NK_LP expr_or_subquery FROM expr_or_subquery FOR expr_or_subquery NK_RP */ + 503, /* (576) function_expression ::= REPLACE NK_LP expression_list NK_RP */ + 503, /* (577) function_expression ::= literal_func */ + 503, /* (578) function_expression ::= rand_func */ + 496, /* (579) literal_func ::= noarg_func NK_LP NK_RP */ + 496, /* (580) literal_func ::= NOW */ + 496, /* (581) literal_func ::= TODAY */ + 509, /* (582) rand_func ::= RAND NK_LP NK_RP */ + 509, /* (583) rand_func ::= RAND NK_LP expression_list NK_RP */ + 508, /* (584) substr_func ::= SUBSTR */ + 508, /* (585) substr_func ::= SUBSTRING */ + 507, /* (586) trim_specification_type ::= BOTH */ + 507, /* (587) trim_specification_type ::= TRAILING */ + 507, /* (588) trim_specification_type ::= LEADING */ + 510, /* (589) noarg_func ::= NOW */ + 510, /* (590) noarg_func ::= TODAY */ + 510, /* (591) noarg_func ::= TIMEZONE */ + 510, /* (592) noarg_func ::= DATABASE */ + 510, /* (593) noarg_func ::= CLIENT_VERSION */ + 510, /* (594) noarg_func ::= SERVER_VERSION */ + 510, /* (595) noarg_func ::= SERVER_STATUS */ + 510, /* (596) noarg_func ::= CURRENT_USER */ + 510, /* (597) noarg_func ::= USER */ + 510, /* (598) noarg_func ::= PI */ + 505, /* (599) star_func ::= COUNT */ + 505, /* (600) star_func ::= FIRST */ + 505, /* (601) star_func ::= LAST */ + 505, /* (602) star_func ::= LAST_ROW */ + 506, /* (603) star_func_para_list ::= NK_STAR */ + 506, /* (604) star_func_para_list ::= other_para_list */ + 511, /* (605) other_para_list ::= star_func_para */ + 511, /* (606) other_para_list ::= other_para_list NK_COMMA star_func_para */ + 512, /* (607) star_func_para ::= expr_or_subquery */ + 512, /* (608) star_func_para ::= table_name NK_DOT NK_STAR */ + 504, /* (609) case_when_expression ::= CASE when_then_list case_when_else_opt END */ + 504, /* (610) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ + 513, /* (611) when_then_list ::= when_then_expr */ + 513, /* (612) when_then_list ::= when_then_list when_then_expr */ + 516, /* (613) when_then_expr ::= WHEN common_expression THEN common_expression */ + 514, /* (614) case_when_else_opt ::= */ + 514, /* (615) case_when_else_opt ::= ELSE common_expression */ + 517, /* (616) predicate ::= expr_or_subquery compare_op expr_or_subquery */ + 517, /* (617) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ + 517, /* (618) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ + 517, /* (619) predicate ::= expr_or_subquery IS NULL */ + 517, /* (620) predicate ::= expr_or_subquery IS NOT NULL */ + 517, /* (621) predicate ::= expr_or_subquery in_op in_predicate_value */ + 518, /* (622) compare_op ::= NK_LT */ + 518, /* (623) compare_op ::= NK_GT */ + 518, /* (624) compare_op ::= NK_LE */ + 518, /* (625) compare_op ::= NK_GE */ + 518, /* (626) compare_op ::= NK_NE */ + 518, /* (627) compare_op ::= NK_EQ */ + 518, /* (628) compare_op ::= LIKE */ + 518, /* (629) compare_op ::= NOT LIKE */ + 518, /* (630) compare_op ::= MATCH */ + 518, /* (631) compare_op ::= NMATCH */ + 518, /* (632) compare_op ::= CONTAINS */ + 519, /* (633) in_op ::= IN */ + 519, /* (634) in_op ::= NOT IN */ + 520, /* (635) in_predicate_value ::= NK_LP literal_list NK_RP */ + 521, /* (636) boolean_value_expression ::= boolean_primary */ + 521, /* (637) boolean_value_expression ::= NOT boolean_primary */ + 521, /* (638) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ + 521, /* (639) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ + 522, /* (640) boolean_primary ::= predicate */ + 522, /* (641) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ + 515, /* (642) common_expression ::= expr_or_subquery */ + 515, /* (643) common_expression ::= boolean_value_expression */ + 523, /* (644) from_clause_opt ::= */ + 523, /* (645) from_clause_opt ::= FROM table_reference_list */ + 524, /* (646) table_reference_list ::= table_reference */ + 524, /* (647) table_reference_list ::= table_reference_list NK_COMMA table_reference */ + 525, /* (648) table_reference ::= table_primary */ + 525, /* (649) table_reference ::= joined_table */ + 526, /* (650) table_primary ::= table_name alias_opt */ + 526, /* (651) table_primary ::= db_name NK_DOT table_name alias_opt */ + 526, /* (652) table_primary ::= subquery alias_opt */ + 526, /* (653) table_primary ::= parenthesized_joined_table */ + 528, /* (654) alias_opt ::= */ + 528, /* (655) alias_opt ::= table_alias */ + 528, /* (656) alias_opt ::= AS table_alias */ + 530, /* (657) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ + 530, /* (658) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ + 527, /* (659) joined_table ::= table_reference join_type join_subtype JOIN table_reference join_on_clause_opt window_offset_clause_opt jlimit_clause_opt */ + 531, /* (660) join_type ::= */ + 531, /* (661) join_type ::= INNER */ + 531, /* (662) join_type ::= LEFT */ + 531, /* (663) join_type ::= RIGHT */ + 531, /* (664) join_type ::= FULL */ + 532, /* (665) join_subtype ::= */ + 532, /* (666) join_subtype ::= OUTER */ + 532, /* (667) join_subtype ::= SEMI */ + 532, /* (668) join_subtype ::= ANTI */ + 532, /* (669) join_subtype ::= ASOF */ + 532, /* (670) join_subtype ::= WINDOW */ + 533, /* (671) join_on_clause_opt ::= */ + 533, /* (672) join_on_clause_opt ::= ON search_condition */ + 534, /* (673) window_offset_clause_opt ::= */ + 534, /* (674) window_offset_clause_opt ::= WINDOW_OFFSET NK_LP window_offset_literal NK_COMMA window_offset_literal NK_RP */ + 536, /* (675) window_offset_literal ::= NK_VARIABLE */ + 536, /* (676) window_offset_literal ::= NK_MINUS NK_VARIABLE */ + 535, /* (677) jlimit_clause_opt ::= */ + 535, /* (678) jlimit_clause_opt ::= JLIMIT NK_INTEGER */ + 537, /* (679) 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 */ + 538, /* (680) hint_list ::= */ + 538, /* (681) hint_list ::= NK_HINT */ + 540, /* (682) tag_mode_opt ::= */ + 540, /* (683) tag_mode_opt ::= TAGS */ + 539, /* (684) set_quantifier_opt ::= */ + 539, /* (685) set_quantifier_opt ::= DISTINCT */ + 539, /* (686) set_quantifier_opt ::= ALL */ + 541, /* (687) select_list ::= select_item */ + 541, /* (688) select_list ::= select_list NK_COMMA select_item */ + 549, /* (689) select_item ::= NK_STAR */ + 549, /* (690) select_item ::= common_expression */ + 549, /* (691) select_item ::= common_expression column_alias */ + 549, /* (692) select_item ::= common_expression AS column_alias */ + 549, /* (693) select_item ::= table_name NK_DOT NK_STAR */ + 473, /* (694) where_clause_opt ::= */ + 473, /* (695) where_clause_opt ::= WHERE search_condition */ + 542, /* (696) partition_by_clause_opt ::= */ + 542, /* (697) partition_by_clause_opt ::= PARTITION BY partition_list */ + 550, /* (698) partition_list ::= partition_item */ + 550, /* (699) partition_list ::= partition_list NK_COMMA partition_item */ + 551, /* (700) partition_item ::= expr_or_subquery */ + 551, /* (701) partition_item ::= expr_or_subquery column_alias */ + 551, /* (702) partition_item ::= expr_or_subquery AS column_alias */ + 546, /* (703) twindow_clause_opt ::= */ + 546, /* (704) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ + 546, /* (705) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ + 546, /* (706) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + 546, /* (707) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + 546, /* (708) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ + 546, /* (709) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ + 546, /* (710) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ + 466, /* (711) sliding_opt ::= */ + 466, /* (712) sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ + 552, /* (713) interval_sliding_duration_literal ::= NK_VARIABLE */ + 552, /* (714) interval_sliding_duration_literal ::= NK_STRING */ + 552, /* (715) interval_sliding_duration_literal ::= NK_INTEGER */ + 545, /* (716) fill_opt ::= */ + 545, /* (717) fill_opt ::= FILL NK_LP fill_mode NK_RP */ + 545, /* (718) fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ + 545, /* (719) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ + 553, /* (720) fill_mode ::= NONE */ + 553, /* (721) fill_mode ::= PREV */ + 553, /* (722) fill_mode ::= NULL */ + 553, /* (723) fill_mode ::= NULL_F */ + 553, /* (724) fill_mode ::= LINEAR */ + 553, /* (725) fill_mode ::= NEXT */ + 547, /* (726) group_by_clause_opt ::= */ + 547, /* (727) group_by_clause_opt ::= GROUP BY group_by_list */ + 554, /* (728) group_by_list ::= expr_or_subquery */ + 554, /* (729) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ + 548, /* (730) having_clause_opt ::= */ + 548, /* (731) having_clause_opt ::= HAVING search_condition */ + 543, /* (732) range_opt ::= */ + 543, /* (733) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ + 543, /* (734) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ + 544, /* (735) every_opt ::= */ + 544, /* (736) every_opt ::= EVERY NK_LP duration_literal NK_RP */ + 555, /* (737) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + 556, /* (738) query_simple ::= query_specification */ + 556, /* (739) query_simple ::= union_query_expression */ + 560, /* (740) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ + 560, /* (741) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ + 561, /* (742) query_simple_or_subquery ::= query_simple */ + 561, /* (743) query_simple_or_subquery ::= subquery */ + 472, /* (744) query_or_subquery ::= query_expression */ + 472, /* (745) query_or_subquery ::= subquery */ + 557, /* (746) order_by_clause_opt ::= */ + 557, /* (747) order_by_clause_opt ::= ORDER BY sort_specification_list */ + 558, /* (748) slimit_clause_opt ::= */ + 558, /* (749) slimit_clause_opt ::= SLIMIT NK_INTEGER */ + 558, /* (750) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + 558, /* (751) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + 559, /* (752) limit_clause_opt ::= */ + 559, /* (753) limit_clause_opt ::= LIMIT NK_INTEGER */ + 559, /* (754) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ + 559, /* (755) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + 529, /* (756) subquery ::= NK_LP query_expression NK_RP */ + 529, /* (757) subquery ::= NK_LP subquery NK_RP */ + 403, /* (758) search_condition ::= common_expression */ + 562, /* (759) sort_specification_list ::= sort_specification */ + 562, /* (760) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ + 563, /* (761) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ + 564, /* (762) ordering_specification_opt ::= */ + 564, /* (763) ordering_specification_opt ::= ASC */ + 564, /* (764) ordering_specification_opt ::= DESC */ + 565, /* (765) null_ordering_opt ::= */ + 565, /* (766) null_ordering_opt ::= NULLS FIRST */ + 565, /* (767) null_ordering_opt ::= NULLS LAST */ + 432, /* (768) column_options ::= */ + 432, /* (769) column_options ::= column_options PRIMARY KEY */ + 432, /* (770) column_options ::= column_options NK_ID NK_STRING */ }; /* For rule J, yyRuleInfoNRhs[J] contains the negative of the number @@ -5605,196 +5689,199 @@ static const signed char yyRuleInfoNRhs[] = { -8, /* (575) function_expression ::= substr_func NK_LP expr_or_subquery FROM expr_or_subquery FOR expr_or_subquery NK_RP */ -4, /* (576) function_expression ::= REPLACE NK_LP expression_list NK_RP */ -1, /* (577) function_expression ::= literal_func */ - -3, /* (578) literal_func ::= noarg_func NK_LP NK_RP */ - -1, /* (579) literal_func ::= NOW */ - -1, /* (580) literal_func ::= TODAY */ - -1, /* (581) substr_func ::= SUBSTR */ - -1, /* (582) substr_func ::= SUBSTRING */ - -1, /* (583) trim_specification_type ::= BOTH */ - -1, /* (584) trim_specification_type ::= TRAILING */ - -1, /* (585) trim_specification_type ::= LEADING */ - -1, /* (586) noarg_func ::= NOW */ - -1, /* (587) noarg_func ::= TODAY */ - -1, /* (588) noarg_func ::= TIMEZONE */ - -1, /* (589) noarg_func ::= DATABASE */ - -1, /* (590) noarg_func ::= CLIENT_VERSION */ - -1, /* (591) noarg_func ::= SERVER_VERSION */ - -1, /* (592) noarg_func ::= SERVER_STATUS */ - -1, /* (593) noarg_func ::= CURRENT_USER */ - -1, /* (594) noarg_func ::= USER */ - -1, /* (595) noarg_func ::= PI */ - -1, /* (596) star_func ::= COUNT */ - -1, /* (597) star_func ::= FIRST */ - -1, /* (598) star_func ::= LAST */ - -1, /* (599) star_func ::= LAST_ROW */ - -1, /* (600) star_func_para_list ::= NK_STAR */ - -1, /* (601) star_func_para_list ::= other_para_list */ - -1, /* (602) other_para_list ::= star_func_para */ - -3, /* (603) other_para_list ::= other_para_list NK_COMMA star_func_para */ - -1, /* (604) star_func_para ::= expr_or_subquery */ - -3, /* (605) star_func_para ::= table_name NK_DOT NK_STAR */ - -4, /* (606) case_when_expression ::= CASE when_then_list case_when_else_opt END */ - -5, /* (607) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ - -1, /* (608) when_then_list ::= when_then_expr */ - -2, /* (609) when_then_list ::= when_then_list when_then_expr */ - -4, /* (610) when_then_expr ::= WHEN common_expression THEN common_expression */ - 0, /* (611) case_when_else_opt ::= */ - -2, /* (612) case_when_else_opt ::= ELSE common_expression */ - -3, /* (613) predicate ::= expr_or_subquery compare_op expr_or_subquery */ - -5, /* (614) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ - -6, /* (615) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ - -3, /* (616) predicate ::= expr_or_subquery IS NULL */ - -4, /* (617) predicate ::= expr_or_subquery IS NOT NULL */ - -3, /* (618) predicate ::= expr_or_subquery in_op in_predicate_value */ - -1, /* (619) compare_op ::= NK_LT */ - -1, /* (620) compare_op ::= NK_GT */ - -1, /* (621) compare_op ::= NK_LE */ - -1, /* (622) compare_op ::= NK_GE */ - -1, /* (623) compare_op ::= NK_NE */ - -1, /* (624) compare_op ::= NK_EQ */ - -1, /* (625) compare_op ::= LIKE */ - -2, /* (626) compare_op ::= NOT LIKE */ - -1, /* (627) compare_op ::= MATCH */ - -1, /* (628) compare_op ::= NMATCH */ - -1, /* (629) compare_op ::= CONTAINS */ - -1, /* (630) in_op ::= IN */ - -2, /* (631) in_op ::= NOT IN */ - -3, /* (632) in_predicate_value ::= NK_LP literal_list NK_RP */ - -1, /* (633) boolean_value_expression ::= boolean_primary */ - -2, /* (634) boolean_value_expression ::= NOT boolean_primary */ - -3, /* (635) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ - -3, /* (636) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ - -1, /* (637) boolean_primary ::= predicate */ - -3, /* (638) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ - -1, /* (639) common_expression ::= expr_or_subquery */ - -1, /* (640) common_expression ::= boolean_value_expression */ - 0, /* (641) from_clause_opt ::= */ - -2, /* (642) from_clause_opt ::= FROM table_reference_list */ - -1, /* (643) table_reference_list ::= table_reference */ - -3, /* (644) table_reference_list ::= table_reference_list NK_COMMA table_reference */ - -1, /* (645) table_reference ::= table_primary */ - -1, /* (646) table_reference ::= joined_table */ - -2, /* (647) table_primary ::= table_name alias_opt */ - -4, /* (648) table_primary ::= db_name NK_DOT table_name alias_opt */ - -2, /* (649) table_primary ::= subquery alias_opt */ - -1, /* (650) table_primary ::= parenthesized_joined_table */ - 0, /* (651) alias_opt ::= */ - -1, /* (652) alias_opt ::= table_alias */ - -2, /* (653) alias_opt ::= AS table_alias */ - -3, /* (654) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ - -3, /* (655) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ - -8, /* (656) joined_table ::= table_reference join_type join_subtype JOIN table_reference join_on_clause_opt window_offset_clause_opt jlimit_clause_opt */ - 0, /* (657) join_type ::= */ - -1, /* (658) join_type ::= INNER */ - -1, /* (659) join_type ::= LEFT */ - -1, /* (660) join_type ::= RIGHT */ - -1, /* (661) join_type ::= FULL */ - 0, /* (662) join_subtype ::= */ - -1, /* (663) join_subtype ::= OUTER */ - -1, /* (664) join_subtype ::= SEMI */ - -1, /* (665) join_subtype ::= ANTI */ - -1, /* (666) join_subtype ::= ASOF */ - -1, /* (667) join_subtype ::= WINDOW */ - 0, /* (668) join_on_clause_opt ::= */ - -2, /* (669) join_on_clause_opt ::= ON search_condition */ - 0, /* (670) window_offset_clause_opt ::= */ - -6, /* (671) window_offset_clause_opt ::= WINDOW_OFFSET NK_LP window_offset_literal NK_COMMA window_offset_literal NK_RP */ - -1, /* (672) window_offset_literal ::= NK_VARIABLE */ - -2, /* (673) window_offset_literal ::= NK_MINUS NK_VARIABLE */ - 0, /* (674) jlimit_clause_opt ::= */ - -2, /* (675) jlimit_clause_opt ::= JLIMIT NK_INTEGER */ - -14, /* (676) 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, /* (677) hint_list ::= */ - -1, /* (678) hint_list ::= NK_HINT */ - 0, /* (679) tag_mode_opt ::= */ - -1, /* (680) tag_mode_opt ::= TAGS */ - 0, /* (681) set_quantifier_opt ::= */ - -1, /* (682) set_quantifier_opt ::= DISTINCT */ - -1, /* (683) set_quantifier_opt ::= ALL */ - -1, /* (684) select_list ::= select_item */ - -3, /* (685) select_list ::= select_list NK_COMMA select_item */ - -1, /* (686) select_item ::= NK_STAR */ - -1, /* (687) select_item ::= common_expression */ - -2, /* (688) select_item ::= common_expression column_alias */ - -3, /* (689) select_item ::= common_expression AS column_alias */ - -3, /* (690) select_item ::= table_name NK_DOT NK_STAR */ - 0, /* (691) where_clause_opt ::= */ - -2, /* (692) where_clause_opt ::= WHERE search_condition */ - 0, /* (693) partition_by_clause_opt ::= */ - -3, /* (694) partition_by_clause_opt ::= PARTITION BY partition_list */ - -1, /* (695) partition_list ::= partition_item */ - -3, /* (696) partition_list ::= partition_list NK_COMMA partition_item */ - -1, /* (697) partition_item ::= expr_or_subquery */ - -2, /* (698) partition_item ::= expr_or_subquery column_alias */ - -3, /* (699) partition_item ::= expr_or_subquery AS column_alias */ - 0, /* (700) twindow_clause_opt ::= */ - -6, /* (701) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ - -4, /* (702) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ - -6, /* (703) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ - -8, /* (704) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ - -7, /* (705) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ - -4, /* (706) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ - -6, /* (707) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ - 0, /* (708) sliding_opt ::= */ - -4, /* (709) sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ - -1, /* (710) interval_sliding_duration_literal ::= NK_VARIABLE */ - -1, /* (711) interval_sliding_duration_literal ::= NK_STRING */ - -1, /* (712) interval_sliding_duration_literal ::= NK_INTEGER */ - 0, /* (713) fill_opt ::= */ - -4, /* (714) fill_opt ::= FILL NK_LP fill_mode NK_RP */ - -6, /* (715) fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ - -6, /* (716) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ - -1, /* (717) fill_mode ::= NONE */ - -1, /* (718) fill_mode ::= PREV */ - -1, /* (719) fill_mode ::= NULL */ - -1, /* (720) fill_mode ::= NULL_F */ - -1, /* (721) fill_mode ::= LINEAR */ - -1, /* (722) fill_mode ::= NEXT */ - 0, /* (723) group_by_clause_opt ::= */ - -3, /* (724) group_by_clause_opt ::= GROUP BY group_by_list */ - -1, /* (725) group_by_list ::= expr_or_subquery */ - -3, /* (726) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ - 0, /* (727) having_clause_opt ::= */ - -2, /* (728) having_clause_opt ::= HAVING search_condition */ - 0, /* (729) range_opt ::= */ - -6, /* (730) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ - -4, /* (731) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ - 0, /* (732) every_opt ::= */ - -4, /* (733) every_opt ::= EVERY NK_LP duration_literal NK_RP */ - -4, /* (734) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ - -1, /* (735) query_simple ::= query_specification */ - -1, /* (736) query_simple ::= union_query_expression */ - -4, /* (737) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ - -3, /* (738) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ - -1, /* (739) query_simple_or_subquery ::= query_simple */ - -1, /* (740) query_simple_or_subquery ::= subquery */ - -1, /* (741) query_or_subquery ::= query_expression */ - -1, /* (742) query_or_subquery ::= subquery */ - 0, /* (743) order_by_clause_opt ::= */ - -3, /* (744) order_by_clause_opt ::= ORDER BY sort_specification_list */ - 0, /* (745) slimit_clause_opt ::= */ - -2, /* (746) slimit_clause_opt ::= SLIMIT NK_INTEGER */ - -4, /* (747) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - -4, /* (748) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - 0, /* (749) limit_clause_opt ::= */ - -2, /* (750) limit_clause_opt ::= LIMIT NK_INTEGER */ - -4, /* (751) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ - -4, /* (752) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - -3, /* (753) subquery ::= NK_LP query_expression NK_RP */ - -3, /* (754) subquery ::= NK_LP subquery NK_RP */ - -1, /* (755) search_condition ::= common_expression */ - -1, /* (756) sort_specification_list ::= sort_specification */ - -3, /* (757) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ - -3, /* (758) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ - 0, /* (759) ordering_specification_opt ::= */ - -1, /* (760) ordering_specification_opt ::= ASC */ - -1, /* (761) ordering_specification_opt ::= DESC */ - 0, /* (762) null_ordering_opt ::= */ - -2, /* (763) null_ordering_opt ::= NULLS FIRST */ - -2, /* (764) null_ordering_opt ::= NULLS LAST */ - 0, /* (765) column_options ::= */ - -3, /* (766) column_options ::= column_options PRIMARY KEY */ - -3, /* (767) column_options ::= column_options NK_ID NK_STRING */ + -1, /* (578) function_expression ::= rand_func */ + -3, /* (579) literal_func ::= noarg_func NK_LP NK_RP */ + -1, /* (580) literal_func ::= NOW */ + -1, /* (581) literal_func ::= TODAY */ + -3, /* (582) rand_func ::= RAND NK_LP NK_RP */ + -4, /* (583) rand_func ::= RAND NK_LP expression_list NK_RP */ + -1, /* (584) substr_func ::= SUBSTR */ + -1, /* (585) substr_func ::= SUBSTRING */ + -1, /* (586) trim_specification_type ::= BOTH */ + -1, /* (587) trim_specification_type ::= TRAILING */ + -1, /* (588) trim_specification_type ::= LEADING */ + -1, /* (589) noarg_func ::= NOW */ + -1, /* (590) noarg_func ::= TODAY */ + -1, /* (591) noarg_func ::= TIMEZONE */ + -1, /* (592) noarg_func ::= DATABASE */ + -1, /* (593) noarg_func ::= CLIENT_VERSION */ + -1, /* (594) noarg_func ::= SERVER_VERSION */ + -1, /* (595) noarg_func ::= SERVER_STATUS */ + -1, /* (596) noarg_func ::= CURRENT_USER */ + -1, /* (597) noarg_func ::= USER */ + -1, /* (598) noarg_func ::= PI */ + -1, /* (599) star_func ::= COUNT */ + -1, /* (600) star_func ::= FIRST */ + -1, /* (601) star_func ::= LAST */ + -1, /* (602) star_func ::= LAST_ROW */ + -1, /* (603) star_func_para_list ::= NK_STAR */ + -1, /* (604) star_func_para_list ::= other_para_list */ + -1, /* (605) other_para_list ::= star_func_para */ + -3, /* (606) other_para_list ::= other_para_list NK_COMMA star_func_para */ + -1, /* (607) star_func_para ::= expr_or_subquery */ + -3, /* (608) star_func_para ::= table_name NK_DOT NK_STAR */ + -4, /* (609) case_when_expression ::= CASE when_then_list case_when_else_opt END */ + -5, /* (610) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ + -1, /* (611) when_then_list ::= when_then_expr */ + -2, /* (612) when_then_list ::= when_then_list when_then_expr */ + -4, /* (613) when_then_expr ::= WHEN common_expression THEN common_expression */ + 0, /* (614) case_when_else_opt ::= */ + -2, /* (615) case_when_else_opt ::= ELSE common_expression */ + -3, /* (616) predicate ::= expr_or_subquery compare_op expr_or_subquery */ + -5, /* (617) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ + -6, /* (618) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ + -3, /* (619) predicate ::= expr_or_subquery IS NULL */ + -4, /* (620) predicate ::= expr_or_subquery IS NOT NULL */ + -3, /* (621) predicate ::= expr_or_subquery in_op in_predicate_value */ + -1, /* (622) compare_op ::= NK_LT */ + -1, /* (623) compare_op ::= NK_GT */ + -1, /* (624) compare_op ::= NK_LE */ + -1, /* (625) compare_op ::= NK_GE */ + -1, /* (626) compare_op ::= NK_NE */ + -1, /* (627) compare_op ::= NK_EQ */ + -1, /* (628) compare_op ::= LIKE */ + -2, /* (629) compare_op ::= NOT LIKE */ + -1, /* (630) compare_op ::= MATCH */ + -1, /* (631) compare_op ::= NMATCH */ + -1, /* (632) compare_op ::= CONTAINS */ + -1, /* (633) in_op ::= IN */ + -2, /* (634) in_op ::= NOT IN */ + -3, /* (635) in_predicate_value ::= NK_LP literal_list NK_RP */ + -1, /* (636) boolean_value_expression ::= boolean_primary */ + -2, /* (637) boolean_value_expression ::= NOT boolean_primary */ + -3, /* (638) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ + -3, /* (639) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ + -1, /* (640) boolean_primary ::= predicate */ + -3, /* (641) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ + -1, /* (642) common_expression ::= expr_or_subquery */ + -1, /* (643) common_expression ::= boolean_value_expression */ + 0, /* (644) from_clause_opt ::= */ + -2, /* (645) from_clause_opt ::= FROM table_reference_list */ + -1, /* (646) table_reference_list ::= table_reference */ + -3, /* (647) table_reference_list ::= table_reference_list NK_COMMA table_reference */ + -1, /* (648) table_reference ::= table_primary */ + -1, /* (649) table_reference ::= joined_table */ + -2, /* (650) table_primary ::= table_name alias_opt */ + -4, /* (651) table_primary ::= db_name NK_DOT table_name alias_opt */ + -2, /* (652) table_primary ::= subquery alias_opt */ + -1, /* (653) table_primary ::= parenthesized_joined_table */ + 0, /* (654) alias_opt ::= */ + -1, /* (655) alias_opt ::= table_alias */ + -2, /* (656) alias_opt ::= AS table_alias */ + -3, /* (657) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ + -3, /* (658) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ + -8, /* (659) joined_table ::= table_reference join_type join_subtype JOIN table_reference join_on_clause_opt window_offset_clause_opt jlimit_clause_opt */ + 0, /* (660) join_type ::= */ + -1, /* (661) join_type ::= INNER */ + -1, /* (662) join_type ::= LEFT */ + -1, /* (663) join_type ::= RIGHT */ + -1, /* (664) join_type ::= FULL */ + 0, /* (665) join_subtype ::= */ + -1, /* (666) join_subtype ::= OUTER */ + -1, /* (667) join_subtype ::= SEMI */ + -1, /* (668) join_subtype ::= ANTI */ + -1, /* (669) join_subtype ::= ASOF */ + -1, /* (670) join_subtype ::= WINDOW */ + 0, /* (671) join_on_clause_opt ::= */ + -2, /* (672) join_on_clause_opt ::= ON search_condition */ + 0, /* (673) window_offset_clause_opt ::= */ + -6, /* (674) window_offset_clause_opt ::= WINDOW_OFFSET NK_LP window_offset_literal NK_COMMA window_offset_literal NK_RP */ + -1, /* (675) window_offset_literal ::= NK_VARIABLE */ + -2, /* (676) window_offset_literal ::= NK_MINUS NK_VARIABLE */ + 0, /* (677) jlimit_clause_opt ::= */ + -2, /* (678) jlimit_clause_opt ::= JLIMIT NK_INTEGER */ + -14, /* (679) 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, /* (680) hint_list ::= */ + -1, /* (681) hint_list ::= NK_HINT */ + 0, /* (682) tag_mode_opt ::= */ + -1, /* (683) tag_mode_opt ::= TAGS */ + 0, /* (684) set_quantifier_opt ::= */ + -1, /* (685) set_quantifier_opt ::= DISTINCT */ + -1, /* (686) set_quantifier_opt ::= ALL */ + -1, /* (687) select_list ::= select_item */ + -3, /* (688) select_list ::= select_list NK_COMMA select_item */ + -1, /* (689) select_item ::= NK_STAR */ + -1, /* (690) select_item ::= common_expression */ + -2, /* (691) select_item ::= common_expression column_alias */ + -3, /* (692) select_item ::= common_expression AS column_alias */ + -3, /* (693) select_item ::= table_name NK_DOT NK_STAR */ + 0, /* (694) where_clause_opt ::= */ + -2, /* (695) where_clause_opt ::= WHERE search_condition */ + 0, /* (696) partition_by_clause_opt ::= */ + -3, /* (697) partition_by_clause_opt ::= PARTITION BY partition_list */ + -1, /* (698) partition_list ::= partition_item */ + -3, /* (699) partition_list ::= partition_list NK_COMMA partition_item */ + -1, /* (700) partition_item ::= expr_or_subquery */ + -2, /* (701) partition_item ::= expr_or_subquery column_alias */ + -3, /* (702) partition_item ::= expr_or_subquery AS column_alias */ + 0, /* (703) twindow_clause_opt ::= */ + -6, /* (704) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ + -4, /* (705) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ + -6, /* (706) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + -8, /* (707) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + -7, /* (708) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ + -4, /* (709) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ + -6, /* (710) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ + 0, /* (711) sliding_opt ::= */ + -4, /* (712) sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ + -1, /* (713) interval_sliding_duration_literal ::= NK_VARIABLE */ + -1, /* (714) interval_sliding_duration_literal ::= NK_STRING */ + -1, /* (715) interval_sliding_duration_literal ::= NK_INTEGER */ + 0, /* (716) fill_opt ::= */ + -4, /* (717) fill_opt ::= FILL NK_LP fill_mode NK_RP */ + -6, /* (718) fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ + -6, /* (719) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ + -1, /* (720) fill_mode ::= NONE */ + -1, /* (721) fill_mode ::= PREV */ + -1, /* (722) fill_mode ::= NULL */ + -1, /* (723) fill_mode ::= NULL_F */ + -1, /* (724) fill_mode ::= LINEAR */ + -1, /* (725) fill_mode ::= NEXT */ + 0, /* (726) group_by_clause_opt ::= */ + -3, /* (727) group_by_clause_opt ::= GROUP BY group_by_list */ + -1, /* (728) group_by_list ::= expr_or_subquery */ + -3, /* (729) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ + 0, /* (730) having_clause_opt ::= */ + -2, /* (731) having_clause_opt ::= HAVING search_condition */ + 0, /* (732) range_opt ::= */ + -6, /* (733) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ + -4, /* (734) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ + 0, /* (735) every_opt ::= */ + -4, /* (736) every_opt ::= EVERY NK_LP duration_literal NK_RP */ + -4, /* (737) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + -1, /* (738) query_simple ::= query_specification */ + -1, /* (739) query_simple ::= union_query_expression */ + -4, /* (740) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ + -3, /* (741) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ + -1, /* (742) query_simple_or_subquery ::= query_simple */ + -1, /* (743) query_simple_or_subquery ::= subquery */ + -1, /* (744) query_or_subquery ::= query_expression */ + -1, /* (745) query_or_subquery ::= subquery */ + 0, /* (746) order_by_clause_opt ::= */ + -3, /* (747) order_by_clause_opt ::= ORDER BY sort_specification_list */ + 0, /* (748) slimit_clause_opt ::= */ + -2, /* (749) slimit_clause_opt ::= SLIMIT NK_INTEGER */ + -4, /* (750) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + -4, /* (751) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + 0, /* (752) limit_clause_opt ::= */ + -2, /* (753) limit_clause_opt ::= LIMIT NK_INTEGER */ + -4, /* (754) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ + -4, /* (755) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + -3, /* (756) subquery ::= NK_LP query_expression NK_RP */ + -3, /* (757) subquery ::= NK_LP subquery NK_RP */ + -1, /* (758) search_condition ::= common_expression */ + -1, /* (759) sort_specification_list ::= sort_specification */ + -3, /* (760) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ + -3, /* (761) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ + 0, /* (762) ordering_specification_opt ::= */ + -1, /* (763) ordering_specification_opt ::= ASC */ + -1, /* (764) ordering_specification_opt ::= DESC */ + 0, /* (765) null_ordering_opt ::= */ + -2, /* (766) null_ordering_opt ::= NULLS FIRST */ + -2, /* (767) null_ordering_opt ::= NULLS LAST */ + 0, /* (768) column_options ::= */ + -3, /* (769) column_options ::= column_options PRIMARY KEY */ + -3, /* (770) column_options ::= column_options NK_ID NK_STRING */ }; static void yy_accept(yyParser*); /* Forward Declaration */ @@ -5838,11 +5925,11 @@ static YYACTIONTYPE yy_reduce( YYMINORTYPE yylhsminor; case 0: /* cmd ::= CREATE ACCOUNT NK_ID PASS NK_STRING account_options */ { pCxt->errCode = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_EXPRIE_STATEMENT); } - yy_destructor(yypParser,383,&yymsp[0].minor); + yy_destructor(yypParser,384,&yymsp[0].minor); break; case 1: /* cmd ::= ALTER ACCOUNT NK_ID alter_account_options */ { pCxt->errCode = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_EXPRIE_STATEMENT); } - yy_destructor(yypParser,384,&yymsp[0].minor); + yy_destructor(yypParser,385,&yymsp[0].minor); break; case 2: /* account_options ::= */ { } @@ -5856,20 +5943,20 @@ static YYACTIONTYPE yy_reduce( case 9: /* account_options ::= account_options USERS literal */ yytestcase(yyruleno==9); case 10: /* account_options ::= account_options CONNS literal */ yytestcase(yyruleno==10); case 11: /* account_options ::= account_options STATE literal */ yytestcase(yyruleno==11); - { yy_destructor(yypParser,383,&yymsp[-2].minor); + { yy_destructor(yypParser,384,&yymsp[-2].minor); { } - yy_destructor(yypParser,385,&yymsp[0].minor); + yy_destructor(yypParser,386,&yymsp[0].minor); } break; case 12: /* alter_account_options ::= alter_account_option */ - { yy_destructor(yypParser,386,&yymsp[0].minor); + { yy_destructor(yypParser,387,&yymsp[0].minor); { } } break; case 13: /* alter_account_options ::= alter_account_options alter_account_option */ - { yy_destructor(yypParser,384,&yymsp[-1].minor); + { yy_destructor(yypParser,385,&yymsp[-1].minor); { } - yy_destructor(yypParser,386,&yymsp[0].minor); + yy_destructor(yypParser,387,&yymsp[0].minor); } break; case 14: /* alter_account_option ::= PASS literal */ @@ -5883,18 +5970,18 @@ static YYACTIONTYPE yy_reduce( case 22: /* alter_account_option ::= CONNS literal */ yytestcase(yyruleno==22); case 23: /* alter_account_option ::= STATE literal */ yytestcase(yyruleno==23); { } - yy_destructor(yypParser,385,&yymsp[0].minor); + yy_destructor(yypParser,386,&yymsp[0].minor); break; case 24: /* ip_range_list ::= NK_STRING */ - { yylhsminor.yy928 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy928 = yylhsminor.yy928; + { yylhsminor.yy712 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy712 = yylhsminor.yy712; break; case 25: /* ip_range_list ::= ip_range_list NK_COMMA NK_STRING */ - { yylhsminor.yy928 = addNodeToList(pCxt, yymsp[-2].minor.yy928, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy928 = yylhsminor.yy928; + { yylhsminor.yy712 = addNodeToList(pCxt, yymsp[-2].minor.yy712, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } + yymsp[-2].minor.yy712 = yylhsminor.yy712; break; case 26: /* white_list ::= HOST ip_range_list */ - { yymsp[-1].minor.yy928 = yymsp[0].minor.yy928; } + { yymsp[-1].minor.yy712 = yymsp[0].minor.yy712; } break; case 27: /* white_list_opt ::= */ case 206: /* specific_cols_opt ::= */ yytestcase(yyruleno==206); @@ -5902,151 +5989,151 @@ static YYACTIONTYPE yy_reduce( case 335: /* tag_list_opt ::= */ yytestcase(yyruleno==335); case 408: /* col_list_opt ::= */ yytestcase(yyruleno==408); case 415: /* tag_def_or_ref_opt ::= */ yytestcase(yyruleno==415); - case 693: /* partition_by_clause_opt ::= */ yytestcase(yyruleno==693); - case 723: /* group_by_clause_opt ::= */ yytestcase(yyruleno==723); - case 743: /* order_by_clause_opt ::= */ yytestcase(yyruleno==743); - { yymsp[1].minor.yy928 = NULL; } + case 696: /* partition_by_clause_opt ::= */ yytestcase(yyruleno==696); + case 726: /* group_by_clause_opt ::= */ yytestcase(yyruleno==726); + case 746: /* order_by_clause_opt ::= */ yytestcase(yyruleno==746); + { yymsp[1].minor.yy712 = NULL; } break; case 28: /* white_list_opt ::= white_list */ case 245: /* tags_def_opt ::= tags_def */ yytestcase(yyruleno==245); case 416: /* tag_def_or_ref_opt ::= tags_def */ yytestcase(yyruleno==416); - case 601: /* star_func_para_list ::= other_para_list */ yytestcase(yyruleno==601); - { yylhsminor.yy928 = yymsp[0].minor.yy928; } - yymsp[0].minor.yy928 = yylhsminor.yy928; + case 604: /* star_func_para_list ::= other_para_list */ yytestcase(yyruleno==604); + { yylhsminor.yy712 = yymsp[0].minor.yy712; } + yymsp[0].minor.yy712 = yylhsminor.yy712; break; case 29: /* is_import_opt ::= */ case 31: /* is_createdb_opt ::= */ yytestcase(yyruleno==31); - { yymsp[1].minor.yy695 = 0; } + { yymsp[1].minor.yy107 = 0; } break; case 30: /* is_import_opt ::= IS_IMPORT NK_INTEGER */ case 32: /* is_createdb_opt ::= CREATEDB NK_INTEGER */ yytestcase(yyruleno==32); case 42: /* sysinfo_opt ::= SYSINFO NK_INTEGER */ yytestcase(yyruleno==42); - { yymsp[-1].minor.yy695 = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); } + { yymsp[-1].minor.yy107 = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); } break; case 33: /* cmd ::= CREATE USER user_name PASS NK_STRING sysinfo_opt is_createdb_opt is_import_opt white_list_opt */ { - pCxt->pRootNode = createCreateUserStmt(pCxt, &yymsp[-6].minor.yy401, &yymsp[-4].minor.yy0, yymsp[-3].minor.yy695, yymsp[-1].minor.yy695, yymsp[-2].minor.yy695); - pCxt->pRootNode = addCreateUserStmtWhiteList(pCxt, pCxt->pRootNode, yymsp[0].minor.yy928); + pCxt->pRootNode = createCreateUserStmt(pCxt, &yymsp[-6].minor.yy461, &yymsp[-4].minor.yy0, yymsp[-3].minor.yy107, yymsp[-1].minor.yy107, yymsp[-2].minor.yy107); + pCxt->pRootNode = addCreateUserStmtWhiteList(pCxt, pCxt->pRootNode, yymsp[0].minor.yy712); } break; case 34: /* cmd ::= ALTER USER user_name PASS NK_STRING */ - { pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy401, TSDB_ALTER_USER_PASSWD, &yymsp[0].minor.yy0); } + { pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy461, TSDB_ALTER_USER_PASSWD, &yymsp[0].minor.yy0); } break; case 35: /* cmd ::= ALTER USER user_name ENABLE NK_INTEGER */ - { pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy401, TSDB_ALTER_USER_ENABLE, &yymsp[0].minor.yy0); } + { pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy461, TSDB_ALTER_USER_ENABLE, &yymsp[0].minor.yy0); } break; case 36: /* cmd ::= ALTER USER user_name SYSINFO NK_INTEGER */ - { pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy401, TSDB_ALTER_USER_SYSINFO, &yymsp[0].minor.yy0); } + { pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy461, TSDB_ALTER_USER_SYSINFO, &yymsp[0].minor.yy0); } break; case 37: /* cmd ::= ALTER USER user_name CREATEDB NK_INTEGER */ - { pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy401, TSDB_ALTER_USER_CREATEDB, &yymsp[0].minor.yy0); } + { pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy461, TSDB_ALTER_USER_CREATEDB, &yymsp[0].minor.yy0); } break; case 38: /* cmd ::= ALTER USER user_name ADD white_list */ - { pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy401, TSDB_ALTER_USER_ADD_WHITE_LIST, yymsp[0].minor.yy928); } + { pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy461, TSDB_ALTER_USER_ADD_WHITE_LIST, yymsp[0].minor.yy712); } break; case 39: /* cmd ::= ALTER USER user_name DROP white_list */ - { pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy401, TSDB_ALTER_USER_DROP_WHITE_LIST, yymsp[0].minor.yy928); } + { pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy461, TSDB_ALTER_USER_DROP_WHITE_LIST, yymsp[0].minor.yy712); } break; case 40: /* cmd ::= DROP USER user_name */ - { pCxt->pRootNode = createDropUserStmt(pCxt, &yymsp[0].minor.yy401); } + { pCxt->pRootNode = createDropUserStmt(pCxt, &yymsp[0].minor.yy461); } break; case 41: /* sysinfo_opt ::= */ - { yymsp[1].minor.yy695 = 1; } + { yymsp[1].minor.yy107 = 1; } break; case 43: /* cmd ::= GRANT privileges ON priv_level with_opt TO user_name */ - { pCxt->pRootNode = createGrantStmt(pCxt, yymsp[-5].minor.yy525, &yymsp[-3].minor.yy1041, &yymsp[0].minor.yy401, yymsp[-2].minor.yy248); } + { pCxt->pRootNode = createGrantStmt(pCxt, yymsp[-5].minor.yy145, &yymsp[-3].minor.yy517, &yymsp[0].minor.yy461, yymsp[-2].minor.yy724); } break; case 44: /* cmd ::= REVOKE privileges ON priv_level with_opt FROM user_name */ - { pCxt->pRootNode = createRevokeStmt(pCxt, yymsp[-5].minor.yy525, &yymsp[-3].minor.yy1041, &yymsp[0].minor.yy401, yymsp[-2].minor.yy248); } + { pCxt->pRootNode = createRevokeStmt(pCxt, yymsp[-5].minor.yy145, &yymsp[-3].minor.yy517, &yymsp[0].minor.yy461, yymsp[-2].minor.yy724); } break; case 45: /* privileges ::= ALL */ - { yymsp[0].minor.yy525 = PRIVILEGE_TYPE_ALL; } + { yymsp[0].minor.yy145 = PRIVILEGE_TYPE_ALL; } break; case 46: /* privileges ::= priv_type_list */ case 48: /* priv_type_list ::= priv_type */ yytestcase(yyruleno==48); - { yylhsminor.yy525 = yymsp[0].minor.yy525; } - yymsp[0].minor.yy525 = yylhsminor.yy525; + { yylhsminor.yy145 = yymsp[0].minor.yy145; } + yymsp[0].minor.yy145 = yylhsminor.yy145; break; case 47: /* privileges ::= SUBSCRIBE */ - { yymsp[0].minor.yy525 = PRIVILEGE_TYPE_SUBSCRIBE; } + { yymsp[0].minor.yy145 = PRIVILEGE_TYPE_SUBSCRIBE; } break; case 49: /* priv_type_list ::= priv_type_list NK_COMMA priv_type */ - { yylhsminor.yy525 = yymsp[-2].minor.yy525 | yymsp[0].minor.yy525; } - yymsp[-2].minor.yy525 = yylhsminor.yy525; + { yylhsminor.yy145 = yymsp[-2].minor.yy145 | yymsp[0].minor.yy145; } + yymsp[-2].minor.yy145 = yylhsminor.yy145; break; case 50: /* priv_type ::= READ */ - { yymsp[0].minor.yy525 = PRIVILEGE_TYPE_READ; } + { yymsp[0].minor.yy145 = PRIVILEGE_TYPE_READ; } break; case 51: /* priv_type ::= WRITE */ - { yymsp[0].minor.yy525 = PRIVILEGE_TYPE_WRITE; } + { yymsp[0].minor.yy145 = PRIVILEGE_TYPE_WRITE; } break; case 52: /* priv_type ::= ALTER */ - { yymsp[0].minor.yy525 = PRIVILEGE_TYPE_ALTER; } + { yymsp[0].minor.yy145 = PRIVILEGE_TYPE_ALTER; } break; case 53: /* priv_level ::= NK_STAR NK_DOT NK_STAR */ - { yylhsminor.yy1041.first = yymsp[-2].minor.yy0; yylhsminor.yy1041.second = yymsp[0].minor.yy0; } - yymsp[-2].minor.yy1041 = yylhsminor.yy1041; + { yylhsminor.yy517.first = yymsp[-2].minor.yy0; yylhsminor.yy517.second = yymsp[0].minor.yy0; } + yymsp[-2].minor.yy517 = yylhsminor.yy517; break; case 54: /* priv_level ::= db_name NK_DOT NK_STAR */ - { yylhsminor.yy1041.first = yymsp[-2].minor.yy401; yylhsminor.yy1041.second = yymsp[0].minor.yy0; } - yymsp[-2].minor.yy1041 = yylhsminor.yy1041; + { yylhsminor.yy517.first = yymsp[-2].minor.yy461; yylhsminor.yy517.second = yymsp[0].minor.yy0; } + yymsp[-2].minor.yy517 = yylhsminor.yy517; break; case 55: /* priv_level ::= db_name NK_DOT table_name */ - { yylhsminor.yy1041.first = yymsp[-2].minor.yy401; yylhsminor.yy1041.second = yymsp[0].minor.yy401; } - yymsp[-2].minor.yy1041 = yylhsminor.yy1041; + { yylhsminor.yy517.first = yymsp[-2].minor.yy461; yylhsminor.yy517.second = yymsp[0].minor.yy461; } + yymsp[-2].minor.yy517 = yylhsminor.yy517; break; case 56: /* priv_level ::= topic_name */ - { yylhsminor.yy1041.first = yymsp[0].minor.yy401; yylhsminor.yy1041.second = nil_token; } - yymsp[0].minor.yy1041 = yylhsminor.yy1041; + { yylhsminor.yy517.first = yymsp[0].minor.yy461; yylhsminor.yy517.second = nil_token; } + yymsp[0].minor.yy517 = yylhsminor.yy517; break; case 57: /* with_opt ::= */ case 173: /* start_opt ::= */ yytestcase(yyruleno==173); case 177: /* end_opt ::= */ yytestcase(yyruleno==177); case 330: /* like_pattern_opt ::= */ yytestcase(yyruleno==330); case 427: /* subtable_opt ::= */ yytestcase(yyruleno==427); - case 611: /* case_when_else_opt ::= */ yytestcase(yyruleno==611); - case 641: /* from_clause_opt ::= */ yytestcase(yyruleno==641); - case 668: /* join_on_clause_opt ::= */ yytestcase(yyruleno==668); - case 670: /* window_offset_clause_opt ::= */ yytestcase(yyruleno==670); - case 674: /* jlimit_clause_opt ::= */ yytestcase(yyruleno==674); - case 691: /* where_clause_opt ::= */ yytestcase(yyruleno==691); - case 700: /* twindow_clause_opt ::= */ yytestcase(yyruleno==700); - case 708: /* sliding_opt ::= */ yytestcase(yyruleno==708); - case 713: /* fill_opt ::= */ yytestcase(yyruleno==713); - case 727: /* having_clause_opt ::= */ yytestcase(yyruleno==727); - case 729: /* range_opt ::= */ yytestcase(yyruleno==729); - case 732: /* every_opt ::= */ yytestcase(yyruleno==732); - case 745: /* slimit_clause_opt ::= */ yytestcase(yyruleno==745); - case 749: /* limit_clause_opt ::= */ yytestcase(yyruleno==749); - { yymsp[1].minor.yy248 = NULL; } + case 614: /* case_when_else_opt ::= */ yytestcase(yyruleno==614); + case 644: /* from_clause_opt ::= */ yytestcase(yyruleno==644); + case 671: /* join_on_clause_opt ::= */ yytestcase(yyruleno==671); + case 673: /* window_offset_clause_opt ::= */ yytestcase(yyruleno==673); + case 677: /* jlimit_clause_opt ::= */ yytestcase(yyruleno==677); + case 694: /* where_clause_opt ::= */ yytestcase(yyruleno==694); + case 703: /* twindow_clause_opt ::= */ yytestcase(yyruleno==703); + case 711: /* sliding_opt ::= */ yytestcase(yyruleno==711); + case 716: /* fill_opt ::= */ yytestcase(yyruleno==716); + case 730: /* having_clause_opt ::= */ yytestcase(yyruleno==730); + case 732: /* range_opt ::= */ yytestcase(yyruleno==732); + case 735: /* every_opt ::= */ yytestcase(yyruleno==735); + case 748: /* slimit_clause_opt ::= */ yytestcase(yyruleno==748); + case 752: /* limit_clause_opt ::= */ yytestcase(yyruleno==752); + { yymsp[1].minor.yy724 = NULL; } break; case 58: /* with_opt ::= WITH search_condition */ - case 642: /* from_clause_opt ::= FROM table_reference_list */ yytestcase(yyruleno==642); - case 669: /* join_on_clause_opt ::= ON search_condition */ yytestcase(yyruleno==669); - case 692: /* where_clause_opt ::= WHERE search_condition */ yytestcase(yyruleno==692); - case 728: /* having_clause_opt ::= HAVING search_condition */ yytestcase(yyruleno==728); - { yymsp[-1].minor.yy248 = yymsp[0].minor.yy248; } + case 645: /* from_clause_opt ::= FROM table_reference_list */ yytestcase(yyruleno==645); + case 672: /* join_on_clause_opt ::= ON search_condition */ yytestcase(yyruleno==672); + case 695: /* where_clause_opt ::= WHERE search_condition */ yytestcase(yyruleno==695); + case 731: /* having_clause_opt ::= HAVING search_condition */ yytestcase(yyruleno==731); + { yymsp[-1].minor.yy724 = yymsp[0].minor.yy724; } break; case 59: /* cmd ::= CREATE ENCRYPT_KEY NK_STRING */ { pCxt->pRootNode = createEncryptKeyStmt(pCxt, &yymsp[0].minor.yy0); } break; case 60: /* cmd ::= CREATE DNODE dnode_endpoint */ - { pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[0].minor.yy401, NULL); } + { pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[0].minor.yy461, NULL); } break; case 61: /* cmd ::= CREATE DNODE dnode_endpoint PORT NK_INTEGER */ - { pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[-2].minor.yy401, &yymsp[0].minor.yy0); } + { pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[-2].minor.yy461, &yymsp[0].minor.yy0); } break; case 62: /* cmd ::= DROP DNODE NK_INTEGER force_opt */ - { pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy89, false); } + { pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy429, false); } break; case 63: /* cmd ::= DROP DNODE dnode_endpoint force_opt */ - { pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy401, yymsp[0].minor.yy89, false); } + { pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy461, yymsp[0].minor.yy429, false); } break; case 64: /* cmd ::= DROP DNODE NK_INTEGER unsafe_opt */ - { pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, false, yymsp[0].minor.yy89); } + { pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, false, yymsp[0].minor.yy429); } break; case 65: /* cmd ::= DROP DNODE dnode_endpoint unsafe_opt */ - { pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy401, false, yymsp[0].minor.yy89); } + { pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy461, false, yymsp[0].minor.yy429); } break; case 66: /* cmd ::= ALTER DNODE NK_INTEGER NK_STRING */ { pCxt->pRootNode = createAlterDnodeStmt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0, NULL); } @@ -6084,24 +6171,24 @@ static YYACTIONTYPE yy_reduce( case 526: /* cgroup_name ::= NK_ID */ yytestcase(yyruleno==526); case 527: /* index_name ::= NK_ID */ yytestcase(yyruleno==527); case 528: /* tsma_name ::= NK_ID */ yytestcase(yyruleno==528); - case 581: /* substr_func ::= SUBSTR */ yytestcase(yyruleno==581); - case 582: /* substr_func ::= SUBSTRING */ yytestcase(yyruleno==582); - case 586: /* noarg_func ::= NOW */ yytestcase(yyruleno==586); - case 587: /* noarg_func ::= TODAY */ yytestcase(yyruleno==587); - case 588: /* noarg_func ::= TIMEZONE */ yytestcase(yyruleno==588); - case 589: /* noarg_func ::= DATABASE */ yytestcase(yyruleno==589); - case 590: /* noarg_func ::= CLIENT_VERSION */ yytestcase(yyruleno==590); - case 591: /* noarg_func ::= SERVER_VERSION */ yytestcase(yyruleno==591); - case 592: /* noarg_func ::= SERVER_STATUS */ yytestcase(yyruleno==592); - case 593: /* noarg_func ::= CURRENT_USER */ yytestcase(yyruleno==593); - case 594: /* noarg_func ::= USER */ yytestcase(yyruleno==594); - case 595: /* noarg_func ::= PI */ yytestcase(yyruleno==595); - case 596: /* star_func ::= COUNT */ yytestcase(yyruleno==596); - case 597: /* star_func ::= FIRST */ yytestcase(yyruleno==597); - case 598: /* star_func ::= LAST */ yytestcase(yyruleno==598); - case 599: /* star_func ::= LAST_ROW */ yytestcase(yyruleno==599); - { yylhsminor.yy401 = yymsp[0].minor.yy0; } - yymsp[0].minor.yy401 = yylhsminor.yy401; + case 584: /* substr_func ::= SUBSTR */ yytestcase(yyruleno==584); + case 585: /* substr_func ::= SUBSTRING */ yytestcase(yyruleno==585); + case 589: /* noarg_func ::= NOW */ yytestcase(yyruleno==589); + case 590: /* noarg_func ::= TODAY */ yytestcase(yyruleno==590); + case 591: /* noarg_func ::= TIMEZONE */ yytestcase(yyruleno==591); + case 592: /* noarg_func ::= DATABASE */ yytestcase(yyruleno==592); + case 593: /* noarg_func ::= CLIENT_VERSION */ yytestcase(yyruleno==593); + case 594: /* noarg_func ::= SERVER_VERSION */ yytestcase(yyruleno==594); + case 595: /* noarg_func ::= SERVER_STATUS */ yytestcase(yyruleno==595); + case 596: /* noarg_func ::= CURRENT_USER */ yytestcase(yyruleno==596); + case 597: /* noarg_func ::= USER */ yytestcase(yyruleno==597); + case 598: /* noarg_func ::= PI */ yytestcase(yyruleno==598); + case 599: /* star_func ::= COUNT */ yytestcase(yyruleno==599); + case 600: /* star_func ::= FIRST */ yytestcase(yyruleno==600); + case 601: /* star_func ::= LAST */ yytestcase(yyruleno==601); + case 602: /* star_func ::= LAST_ROW */ yytestcase(yyruleno==602); + { yylhsminor.yy461 = yymsp[0].minor.yy0; } + yymsp[0].minor.yy461 = yylhsminor.yy461; break; case 74: /* force_opt ::= */ case 101: /* not_exists_opt ::= */ yytestcase(yyruleno==101); @@ -6110,17 +6197,17 @@ static YYACTIONTYPE yy_reduce( case 392: /* agg_func_opt ::= */ yytestcase(yyruleno==392); case 398: /* or_replace_opt ::= */ yytestcase(yyruleno==398); case 429: /* ignore_opt ::= */ yytestcase(yyruleno==429); - case 679: /* tag_mode_opt ::= */ yytestcase(yyruleno==679); - case 681: /* set_quantifier_opt ::= */ yytestcase(yyruleno==681); - { yymsp[1].minor.yy89 = false; } + case 682: /* tag_mode_opt ::= */ yytestcase(yyruleno==682); + case 684: /* set_quantifier_opt ::= */ yytestcase(yyruleno==684); + { yymsp[1].minor.yy429 = false; } break; case 75: /* force_opt ::= FORCE */ case 76: /* unsafe_opt ::= UNSAFE */ yytestcase(yyruleno==76); case 386: /* analyze_opt ::= ANALYZE */ yytestcase(yyruleno==386); case 393: /* agg_func_opt ::= AGGREGATE */ yytestcase(yyruleno==393); - case 680: /* tag_mode_opt ::= TAGS */ yytestcase(yyruleno==680); - case 682: /* set_quantifier_opt ::= DISTINCT */ yytestcase(yyruleno==682); - { yymsp[0].minor.yy89 = true; } + case 683: /* tag_mode_opt ::= TAGS */ yytestcase(yyruleno==683); + case 685: /* set_quantifier_opt ::= DISTINCT */ yytestcase(yyruleno==685); + { yymsp[0].minor.yy429 = true; } break; case 77: /* cmd ::= ALTER CLUSTER NK_STRING */ { pCxt->pRootNode = createAlterClusterStmt(pCxt, &yymsp[0].minor.yy0, NULL); } @@ -6168,271 +6255,271 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createRestoreComponentNodeStmt(pCxt, QUERY_NODE_RESTORE_VNODE_STMT, &yymsp[0].minor.yy0); } break; case 92: /* cmd ::= CREATE DATABASE not_exists_opt db_name db_options */ - { pCxt->pRootNode = createCreateDatabaseStmt(pCxt, yymsp[-2].minor.yy89, &yymsp[-1].minor.yy401, yymsp[0].minor.yy248); } + { pCxt->pRootNode = createCreateDatabaseStmt(pCxt, yymsp[-2].minor.yy429, &yymsp[-1].minor.yy461, yymsp[0].minor.yy724); } break; case 93: /* cmd ::= DROP DATABASE exists_opt db_name */ - { pCxt->pRootNode = createDropDatabaseStmt(pCxt, yymsp[-1].minor.yy89, &yymsp[0].minor.yy401); } + { pCxt->pRootNode = createDropDatabaseStmt(pCxt, yymsp[-1].minor.yy429, &yymsp[0].minor.yy461); } break; case 94: /* cmd ::= USE db_name */ - { pCxt->pRootNode = createUseDatabaseStmt(pCxt, &yymsp[0].minor.yy401); } + { pCxt->pRootNode = createUseDatabaseStmt(pCxt, &yymsp[0].minor.yy461); } break; case 95: /* cmd ::= ALTER DATABASE db_name alter_db_options */ - { pCxt->pRootNode = createAlterDatabaseStmt(pCxt, &yymsp[-1].minor.yy401, yymsp[0].minor.yy248); } + { pCxt->pRootNode = createAlterDatabaseStmt(pCxt, &yymsp[-1].minor.yy461, yymsp[0].minor.yy724); } break; case 96: /* cmd ::= FLUSH DATABASE db_name */ - { pCxt->pRootNode = createFlushDatabaseStmt(pCxt, &yymsp[0].minor.yy401); } + { pCxt->pRootNode = createFlushDatabaseStmt(pCxt, &yymsp[0].minor.yy461); } break; case 97: /* cmd ::= TRIM DATABASE db_name speed_opt */ - { pCxt->pRootNode = createTrimDatabaseStmt(pCxt, &yymsp[-1].minor.yy401, yymsp[0].minor.yy604); } + { pCxt->pRootNode = createTrimDatabaseStmt(pCxt, &yymsp[-1].minor.yy461, yymsp[0].minor.yy696); } break; case 98: /* cmd ::= S3MIGRATE DATABASE db_name */ - { pCxt->pRootNode = createS3MigrateDatabaseStmt(pCxt, &yymsp[0].minor.yy401); } + { pCxt->pRootNode = createS3MigrateDatabaseStmt(pCxt, &yymsp[0].minor.yy461); } break; case 99: /* cmd ::= COMPACT DATABASE db_name start_opt end_opt */ - { pCxt->pRootNode = createCompactStmt(pCxt, &yymsp[-2].minor.yy401, yymsp[-1].minor.yy248, yymsp[0].minor.yy248); } + { pCxt->pRootNode = createCompactStmt(pCxt, &yymsp[-2].minor.yy461, yymsp[-1].minor.yy724, yymsp[0].minor.yy724); } break; case 100: /* not_exists_opt ::= IF NOT EXISTS */ - { yymsp[-2].minor.yy89 = true; } + { yymsp[-2].minor.yy429 = true; } break; case 102: /* exists_opt ::= IF EXISTS */ case 399: /* or_replace_opt ::= OR REPLACE */ yytestcase(yyruleno==399); case 430: /* ignore_opt ::= IGNORE UNTREATED */ yytestcase(yyruleno==430); - { yymsp[-1].minor.yy89 = true; } + { yymsp[-1].minor.yy429 = true; } break; case 104: /* db_options ::= */ - { yymsp[1].minor.yy248 = createDefaultDatabaseOptions(pCxt); } + { yymsp[1].minor.yy724 = createDefaultDatabaseOptions(pCxt); } break; case 105: /* db_options ::= db_options BUFFER NK_INTEGER */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_BUFFER, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_BUFFER, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 106: /* db_options ::= db_options CACHEMODEL NK_STRING */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_CACHEMODEL, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_CACHEMODEL, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 107: /* db_options ::= db_options CACHESIZE NK_INTEGER */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_CACHESIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_CACHESIZE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 108: /* db_options ::= db_options COMP NK_INTEGER */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_COMP, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_COMP, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 109: /* db_options ::= db_options DURATION NK_INTEGER */ case 110: /* db_options ::= db_options DURATION NK_VARIABLE */ yytestcase(yyruleno==110); - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_DAYS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_DAYS, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 111: /* db_options ::= db_options MAXROWS NK_INTEGER */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_MAXROWS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_MAXROWS, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 112: /* db_options ::= db_options MINROWS NK_INTEGER */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_MINROWS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_MINROWS, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 113: /* db_options ::= db_options KEEP integer_list */ case 114: /* db_options ::= db_options KEEP variable_list */ yytestcase(yyruleno==114); - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_KEEP, yymsp[0].minor.yy928); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_KEEP, yymsp[0].minor.yy712); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 115: /* db_options ::= db_options PAGES NK_INTEGER */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_PAGES, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_PAGES, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 116: /* db_options ::= db_options PAGESIZE NK_INTEGER */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_PAGESIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_PAGESIZE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 117: /* db_options ::= db_options TSDB_PAGESIZE NK_INTEGER */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_TSDB_PAGESIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_TSDB_PAGESIZE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 118: /* db_options ::= db_options PRECISION NK_STRING */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_PRECISION, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_PRECISION, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 119: /* db_options ::= db_options REPLICA NK_INTEGER */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_REPLICA, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_REPLICA, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 120: /* db_options ::= db_options VGROUPS NK_INTEGER */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_VGROUPS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_VGROUPS, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 121: /* db_options ::= db_options SINGLE_STABLE NK_INTEGER */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_SINGLE_STABLE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_SINGLE_STABLE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 122: /* db_options ::= db_options RETENTIONS retention_list */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_RETENTIONS, yymsp[0].minor.yy928); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_RETENTIONS, yymsp[0].minor.yy712); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 123: /* db_options ::= db_options SCHEMALESS NK_INTEGER */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_SCHEMALESS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_SCHEMALESS, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 124: /* db_options ::= db_options WAL_LEVEL NK_INTEGER */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_WAL, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_WAL, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 125: /* db_options ::= db_options WAL_FSYNC_PERIOD NK_INTEGER */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_FSYNC, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_FSYNC, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 126: /* db_options ::= db_options WAL_RETENTION_PERIOD NK_INTEGER */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_WAL_RETENTION_PERIOD, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_WAL_RETENTION_PERIOD, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 127: /* db_options ::= db_options WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-3].minor.yy248, DB_OPTION_WAL_RETENTION_PERIOD, &t); + yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-3].minor.yy724, DB_OPTION_WAL_RETENTION_PERIOD, &t); } - yymsp[-3].minor.yy248 = yylhsminor.yy248; + yymsp[-3].minor.yy724 = yylhsminor.yy724; break; case 128: /* db_options ::= db_options WAL_RETENTION_SIZE NK_INTEGER */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_WAL_RETENTION_SIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_WAL_RETENTION_SIZE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 129: /* db_options ::= db_options WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-3].minor.yy248, DB_OPTION_WAL_RETENTION_SIZE, &t); + yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-3].minor.yy724, DB_OPTION_WAL_RETENTION_SIZE, &t); } - yymsp[-3].minor.yy248 = yylhsminor.yy248; + yymsp[-3].minor.yy724 = yylhsminor.yy724; break; case 130: /* db_options ::= db_options WAL_ROLL_PERIOD NK_INTEGER */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_WAL_ROLL_PERIOD, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_WAL_ROLL_PERIOD, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 131: /* db_options ::= db_options WAL_SEGMENT_SIZE NK_INTEGER */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_WAL_SEGMENT_SIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_WAL_SEGMENT_SIZE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 132: /* db_options ::= db_options STT_TRIGGER NK_INTEGER */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_STT_TRIGGER, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_STT_TRIGGER, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 133: /* db_options ::= db_options TABLE_PREFIX signed */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_TABLE_PREFIX, yymsp[0].minor.yy248); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_TABLE_PREFIX, yymsp[0].minor.yy724); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 134: /* db_options ::= db_options TABLE_SUFFIX signed */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_TABLE_SUFFIX, yymsp[0].minor.yy248); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_TABLE_SUFFIX, yymsp[0].minor.yy724); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 135: /* db_options ::= db_options S3_CHUNKSIZE NK_INTEGER */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_S3_CHUNKSIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_S3_CHUNKSIZE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 136: /* db_options ::= db_options S3_KEEPLOCAL NK_INTEGER */ case 137: /* db_options ::= db_options S3_KEEPLOCAL NK_VARIABLE */ yytestcase(yyruleno==137); - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_S3_KEEPLOCAL, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_S3_KEEPLOCAL, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 138: /* db_options ::= db_options S3_COMPACT NK_INTEGER */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_S3_COMPACT, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_S3_COMPACT, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 139: /* db_options ::= db_options KEEP_TIME_OFFSET NK_INTEGER */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_KEEP_TIME_OFFSET, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_KEEP_TIME_OFFSET, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 140: /* db_options ::= db_options ENCRYPT_ALGORITHM NK_STRING */ - { yylhsminor.yy248 = setDatabaseOption(pCxt, yymsp[-2].minor.yy248, DB_OPTION_ENCRYPT_ALGORITHM, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setDatabaseOption(pCxt, yymsp[-2].minor.yy724, DB_OPTION_ENCRYPT_ALGORITHM, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 141: /* alter_db_options ::= alter_db_option */ - { yylhsminor.yy248 = createAlterDatabaseOptions(pCxt); yylhsminor.yy248 = setAlterDatabaseOption(pCxt, yylhsminor.yy248, &yymsp[0].minor.yy677); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createAlterDatabaseOptions(pCxt); yylhsminor.yy724 = setAlterDatabaseOption(pCxt, yylhsminor.yy724, &yymsp[0].minor.yy533); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 142: /* alter_db_options ::= alter_db_options alter_db_option */ - { yylhsminor.yy248 = setAlterDatabaseOption(pCxt, yymsp[-1].minor.yy248, &yymsp[0].minor.yy677); } - yymsp[-1].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setAlterDatabaseOption(pCxt, yymsp[-1].minor.yy724, &yymsp[0].minor.yy533); } + yymsp[-1].minor.yy724 = yylhsminor.yy724; break; case 143: /* alter_db_option ::= BUFFER NK_INTEGER */ - { yymsp[-1].minor.yy677.type = DB_OPTION_BUFFER; yymsp[-1].minor.yy677.val = yymsp[0].minor.yy0; } + { yymsp[-1].minor.yy533.type = DB_OPTION_BUFFER; yymsp[-1].minor.yy533.val = yymsp[0].minor.yy0; } break; case 144: /* alter_db_option ::= CACHEMODEL NK_STRING */ - { yymsp[-1].minor.yy677.type = DB_OPTION_CACHEMODEL; yymsp[-1].minor.yy677.val = yymsp[0].minor.yy0; } + { yymsp[-1].minor.yy533.type = DB_OPTION_CACHEMODEL; yymsp[-1].minor.yy533.val = yymsp[0].minor.yy0; } break; case 145: /* alter_db_option ::= CACHESIZE NK_INTEGER */ - { yymsp[-1].minor.yy677.type = DB_OPTION_CACHESIZE; yymsp[-1].minor.yy677.val = yymsp[0].minor.yy0; } + { yymsp[-1].minor.yy533.type = DB_OPTION_CACHESIZE; yymsp[-1].minor.yy533.val = yymsp[0].minor.yy0; } break; case 146: /* alter_db_option ::= WAL_FSYNC_PERIOD NK_INTEGER */ - { yymsp[-1].minor.yy677.type = DB_OPTION_FSYNC; yymsp[-1].minor.yy677.val = yymsp[0].minor.yy0; } + { yymsp[-1].minor.yy533.type = DB_OPTION_FSYNC; yymsp[-1].minor.yy533.val = yymsp[0].minor.yy0; } break; case 147: /* alter_db_option ::= KEEP integer_list */ case 148: /* alter_db_option ::= KEEP variable_list */ yytestcase(yyruleno==148); - { yymsp[-1].minor.yy677.type = DB_OPTION_KEEP; yymsp[-1].minor.yy677.pList = yymsp[0].minor.yy928; } + { yymsp[-1].minor.yy533.type = DB_OPTION_KEEP; yymsp[-1].minor.yy533.pList = yymsp[0].minor.yy712; } break; case 149: /* alter_db_option ::= PAGES NK_INTEGER */ - { yymsp[-1].minor.yy677.type = DB_OPTION_PAGES; yymsp[-1].minor.yy677.val = yymsp[0].minor.yy0; } + { yymsp[-1].minor.yy533.type = DB_OPTION_PAGES; yymsp[-1].minor.yy533.val = yymsp[0].minor.yy0; } break; case 150: /* alter_db_option ::= REPLICA NK_INTEGER */ - { yymsp[-1].minor.yy677.type = DB_OPTION_REPLICA; yymsp[-1].minor.yy677.val = yymsp[0].minor.yy0; } + { yymsp[-1].minor.yy533.type = DB_OPTION_REPLICA; yymsp[-1].minor.yy533.val = yymsp[0].minor.yy0; } break; case 151: /* alter_db_option ::= WAL_LEVEL NK_INTEGER */ - { yymsp[-1].minor.yy677.type = DB_OPTION_WAL; yymsp[-1].minor.yy677.val = yymsp[0].minor.yy0; } + { yymsp[-1].minor.yy533.type = DB_OPTION_WAL; yymsp[-1].minor.yy533.val = yymsp[0].minor.yy0; } break; case 152: /* alter_db_option ::= STT_TRIGGER NK_INTEGER */ - { yymsp[-1].minor.yy677.type = DB_OPTION_STT_TRIGGER; yymsp[-1].minor.yy677.val = yymsp[0].minor.yy0; } + { yymsp[-1].minor.yy533.type = DB_OPTION_STT_TRIGGER; yymsp[-1].minor.yy533.val = yymsp[0].minor.yy0; } break; case 153: /* alter_db_option ::= MINROWS NK_INTEGER */ - { yymsp[-1].minor.yy677.type = DB_OPTION_MINROWS; yymsp[-1].minor.yy677.val = yymsp[0].minor.yy0; } + { yymsp[-1].minor.yy533.type = DB_OPTION_MINROWS; yymsp[-1].minor.yy533.val = yymsp[0].minor.yy0; } break; case 154: /* alter_db_option ::= WAL_RETENTION_PERIOD NK_INTEGER */ - { yymsp[-1].minor.yy677.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-1].minor.yy677.val = yymsp[0].minor.yy0; } + { yymsp[-1].minor.yy533.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-1].minor.yy533.val = yymsp[0].minor.yy0; } break; case 155: /* alter_db_option ::= WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yymsp[-2].minor.yy677.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-2].minor.yy677.val = t; + yymsp[-2].minor.yy533.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-2].minor.yy533.val = t; } break; case 156: /* alter_db_option ::= WAL_RETENTION_SIZE NK_INTEGER */ - { yymsp[-1].minor.yy677.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-1].minor.yy677.val = yymsp[0].minor.yy0; } + { yymsp[-1].minor.yy533.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-1].minor.yy533.val = yymsp[0].minor.yy0; } break; case 157: /* alter_db_option ::= WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yymsp[-2].minor.yy677.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-2].minor.yy677.val = t; + yymsp[-2].minor.yy533.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-2].minor.yy533.val = t; } break; case 158: /* alter_db_option ::= S3_KEEPLOCAL NK_INTEGER */ case 159: /* alter_db_option ::= S3_KEEPLOCAL NK_VARIABLE */ yytestcase(yyruleno==159); - { yymsp[-1].minor.yy677.type = DB_OPTION_S3_KEEPLOCAL; yymsp[-1].minor.yy677.val = yymsp[0].minor.yy0; } + { yymsp[-1].minor.yy533.type = DB_OPTION_S3_KEEPLOCAL; yymsp[-1].minor.yy533.val = yymsp[0].minor.yy0; } break; case 160: /* alter_db_option ::= S3_COMPACT NK_INTEGER */ - { yymsp[-1].minor.yy677.type = DB_OPTION_S3_COMPACT, yymsp[-1].minor.yy677.val = yymsp[0].minor.yy0; } + { yymsp[-1].minor.yy533.type = DB_OPTION_S3_COMPACT, yymsp[-1].minor.yy533.val = yymsp[0].minor.yy0; } break; case 161: /* alter_db_option ::= KEEP_TIME_OFFSET NK_INTEGER */ - { yymsp[-1].minor.yy677.type = DB_OPTION_KEEP_TIME_OFFSET; yymsp[-1].minor.yy677.val = yymsp[0].minor.yy0; } + { yymsp[-1].minor.yy533.type = DB_OPTION_KEEP_TIME_OFFSET; yymsp[-1].minor.yy533.val = yymsp[0].minor.yy0; } break; case 162: /* alter_db_option ::= ENCRYPT_ALGORITHM NK_STRING */ - { yymsp[-1].minor.yy677.type = DB_OPTION_ENCRYPT_ALGORITHM; yymsp[-1].minor.yy677.val = yymsp[0].minor.yy0; } + { yymsp[-1].minor.yy533.type = DB_OPTION_ENCRYPT_ALGORITHM; yymsp[-1].minor.yy533.val = yymsp[0].minor.yy0; } break; case 163: /* integer_list ::= NK_INTEGER */ - { yylhsminor.yy928 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy928 = yylhsminor.yy928; + { yylhsminor.yy712 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy712 = yylhsminor.yy712; break; case 164: /* integer_list ::= integer_list NK_COMMA NK_INTEGER */ case 444: /* dnode_list ::= dnode_list DNODE NK_INTEGER */ yytestcase(yyruleno==444); - { yylhsminor.yy928 = addNodeToList(pCxt, yymsp[-2].minor.yy928, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy928 = yylhsminor.yy928; + { yylhsminor.yy712 = addNodeToList(pCxt, yymsp[-2].minor.yy712, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } + yymsp[-2].minor.yy712 = yylhsminor.yy712; break; case 165: /* variable_list ::= NK_VARIABLE */ - { yylhsminor.yy928 = createNodeList(pCxt, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy928 = yylhsminor.yy928; + { yylhsminor.yy712 = createNodeList(pCxt, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy712 = yylhsminor.yy712; break; case 166: /* variable_list ::= variable_list NK_COMMA NK_VARIABLE */ - { yylhsminor.yy928 = addNodeToList(pCxt, yymsp[-2].minor.yy928, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy928 = yylhsminor.yy928; + { yylhsminor.yy712 = addNodeToList(pCxt, yymsp[-2].minor.yy712, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } + yymsp[-2].minor.yy712 = yylhsminor.yy712; break; case 167: /* retention_list ::= retention */ case 200: /* multi_create_clause ::= create_subtable_clause */ yytestcase(yyruleno==200); @@ -6446,13 +6533,13 @@ static YYACTIONTYPE yy_reduce( case 410: /* column_stream_def_list ::= column_stream_def */ yytestcase(yyruleno==410); case 488: /* tags_literal_list ::= tags_literal */ yytestcase(yyruleno==488); case 513: /* literal_list ::= signed_literal */ yytestcase(yyruleno==513); - case 602: /* other_para_list ::= star_func_para */ yytestcase(yyruleno==602); - case 608: /* when_then_list ::= when_then_expr */ yytestcase(yyruleno==608); - case 684: /* select_list ::= select_item */ yytestcase(yyruleno==684); - case 695: /* partition_list ::= partition_item */ yytestcase(yyruleno==695); - case 756: /* sort_specification_list ::= sort_specification */ yytestcase(yyruleno==756); - { yylhsminor.yy928 = createNodeList(pCxt, yymsp[0].minor.yy248); } - yymsp[0].minor.yy928 = yylhsminor.yy928; + case 605: /* other_para_list ::= star_func_para */ yytestcase(yyruleno==605); + case 611: /* when_then_list ::= when_then_expr */ yytestcase(yyruleno==611); + case 687: /* select_list ::= select_item */ yytestcase(yyruleno==687); + case 698: /* partition_list ::= partition_item */ yytestcase(yyruleno==698); + case 759: /* sort_specification_list ::= sort_specification */ yytestcase(yyruleno==759); + { yylhsminor.yy712 = createNodeList(pCxt, yymsp[0].minor.yy724); } + yymsp[0].minor.yy712 = yylhsminor.yy712; break; case 168: /* retention_list ::= retention_list NK_COMMA retention */ case 204: /* multi_drop_clause ::= multi_drop_clause NK_COMMA drop_table_clause */ yytestcase(yyruleno==204); @@ -6465,296 +6552,296 @@ static YYACTIONTYPE yy_reduce( case 411: /* column_stream_def_list ::= column_stream_def_list NK_COMMA column_stream_def */ yytestcase(yyruleno==411); case 489: /* tags_literal_list ::= tags_literal_list NK_COMMA tags_literal */ yytestcase(yyruleno==489); case 514: /* literal_list ::= literal_list NK_COMMA signed_literal */ yytestcase(yyruleno==514); - case 603: /* other_para_list ::= other_para_list NK_COMMA star_func_para */ yytestcase(yyruleno==603); - case 685: /* select_list ::= select_list NK_COMMA select_item */ yytestcase(yyruleno==685); - case 696: /* partition_list ::= partition_list NK_COMMA partition_item */ yytestcase(yyruleno==696); - case 757: /* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ yytestcase(yyruleno==757); - { yylhsminor.yy928 = addNodeToList(pCxt, yymsp[-2].minor.yy928, yymsp[0].minor.yy248); } - yymsp[-2].minor.yy928 = yylhsminor.yy928; + case 606: /* other_para_list ::= other_para_list NK_COMMA star_func_para */ yytestcase(yyruleno==606); + case 688: /* select_list ::= select_list NK_COMMA select_item */ yytestcase(yyruleno==688); + case 699: /* partition_list ::= partition_list NK_COMMA partition_item */ yytestcase(yyruleno==699); + case 760: /* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ yytestcase(yyruleno==760); + { yylhsminor.yy712 = addNodeToList(pCxt, yymsp[-2].minor.yy712, yymsp[0].minor.yy724); } + yymsp[-2].minor.yy712 = yylhsminor.yy712; break; case 169: /* retention ::= NK_VARIABLE NK_COLON NK_VARIABLE */ case 170: /* retention ::= NK_MINUS NK_COLON NK_VARIABLE */ yytestcase(yyruleno==170); - { yylhsminor.yy248 = createNodeListNodeEx(pCxt, createDurationValueNode(pCxt, &yymsp[-2].minor.yy0), createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createNodeListNodeEx(pCxt, createDurationValueNode(pCxt, &yymsp[-2].minor.yy0), createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 171: /* speed_opt ::= */ case 394: /* bufsize_opt ::= */ yytestcase(yyruleno==394); - { yymsp[1].minor.yy604 = 0; } + { yymsp[1].minor.yy696 = 0; } break; case 172: /* speed_opt ::= BWLIMIT NK_INTEGER */ case 395: /* bufsize_opt ::= BUFSIZE NK_INTEGER */ yytestcase(yyruleno==395); - { yymsp[-1].minor.yy604 = taosStr2Int32(yymsp[0].minor.yy0.z, NULL, 10); } + { yymsp[-1].minor.yy696 = taosStr2Int32(yymsp[0].minor.yy0.z, NULL, 10); } break; case 174: /* start_opt ::= START WITH NK_INTEGER */ case 178: /* end_opt ::= END WITH NK_INTEGER */ yytestcase(yyruleno==178); - { yymsp[-2].minor.yy248 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0); } + { yymsp[-2].minor.yy724 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0); } break; case 175: /* start_opt ::= START WITH NK_STRING */ case 179: /* end_opt ::= END WITH NK_STRING */ yytestcase(yyruleno==179); - { yymsp[-2].minor.yy248 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } + { yymsp[-2].minor.yy724 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } break; case 176: /* start_opt ::= START WITH TIMESTAMP NK_STRING */ case 180: /* end_opt ::= END WITH TIMESTAMP NK_STRING */ yytestcase(yyruleno==180); - { yymsp[-3].minor.yy248 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } + { yymsp[-3].minor.yy724 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } break; case 181: /* cmd ::= CREATE TABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def_opt table_options */ case 184: /* cmd ::= CREATE STABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def table_options */ yytestcase(yyruleno==184); - { pCxt->pRootNode = createCreateTableStmt(pCxt, yymsp[-6].minor.yy89, yymsp[-5].minor.yy248, yymsp[-3].minor.yy928, yymsp[-1].minor.yy928, yymsp[0].minor.yy248); } + { pCxt->pRootNode = createCreateTableStmt(pCxt, yymsp[-6].minor.yy429, yymsp[-5].minor.yy724, yymsp[-3].minor.yy712, yymsp[-1].minor.yy712, yymsp[0].minor.yy724); } break; case 182: /* cmd ::= CREATE TABLE multi_create_clause */ - { pCxt->pRootNode = createCreateMultiTableStmt(pCxt, yymsp[0].minor.yy928); } + { pCxt->pRootNode = createCreateMultiTableStmt(pCxt, yymsp[0].minor.yy712); } break; case 183: /* cmd ::= CREATE TABLE not_exists_opt USING full_table_name NK_LP tag_list_opt NK_RP FILE NK_STRING */ - { pCxt->pRootNode = createCreateSubTableFromFileClause(pCxt, yymsp[-7].minor.yy89, yymsp[-5].minor.yy248, yymsp[-3].minor.yy928, &yymsp[0].minor.yy0); } + { pCxt->pRootNode = createCreateSubTableFromFileClause(pCxt, yymsp[-7].minor.yy429, yymsp[-5].minor.yy724, yymsp[-3].minor.yy712, &yymsp[0].minor.yy0); } break; case 185: /* cmd ::= DROP TABLE multi_drop_clause */ - { pCxt->pRootNode = createDropTableStmt(pCxt, yymsp[0].minor.yy928); } + { pCxt->pRootNode = createDropTableStmt(pCxt, yymsp[0].minor.yy712); } break; case 186: /* cmd ::= DROP STABLE exists_opt full_table_name */ - { pCxt->pRootNode = createDropSuperTableStmt(pCxt, yymsp[-1].minor.yy89, yymsp[0].minor.yy248); } + { pCxt->pRootNode = createDropSuperTableStmt(pCxt, yymsp[-1].minor.yy429, yymsp[0].minor.yy724); } break; case 187: /* cmd ::= ALTER TABLE alter_table_clause */ case 446: /* cmd ::= query_or_subquery */ yytestcase(yyruleno==446); case 447: /* cmd ::= insert_query */ yytestcase(yyruleno==447); - { pCxt->pRootNode = yymsp[0].minor.yy248; } + { pCxt->pRootNode = yymsp[0].minor.yy724; } break; case 188: /* cmd ::= ALTER STABLE alter_table_clause */ - { pCxt->pRootNode = setAlterSuperTableType(yymsp[0].minor.yy248); } + { pCxt->pRootNode = setAlterSuperTableType(yymsp[0].minor.yy724); } break; case 189: /* alter_table_clause ::= full_table_name alter_table_options */ - { yylhsminor.yy248 = createAlterTableModifyOptions(pCxt, yymsp[-1].minor.yy248, yymsp[0].minor.yy248); } - yymsp[-1].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createAlterTableModifyOptions(pCxt, yymsp[-1].minor.yy724, yymsp[0].minor.yy724); } + yymsp[-1].minor.yy724 = yylhsminor.yy724; break; case 190: /* alter_table_clause ::= full_table_name ADD COLUMN column_name type_name column_options */ - { yylhsminor.yy248 = createAlterTableAddModifyColOptions2(pCxt, yymsp[-5].minor.yy248, TSDB_ALTER_TABLE_ADD_COLUMN, &yymsp[-2].minor.yy401, yymsp[-1].minor.yy976, yymsp[0].minor.yy248); } - yymsp[-5].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createAlterTableAddModifyColOptions2(pCxt, yymsp[-5].minor.yy724, TSDB_ALTER_TABLE_ADD_COLUMN, &yymsp[-2].minor.yy461, yymsp[-1].minor.yy1016, yymsp[0].minor.yy724); } + yymsp[-5].minor.yy724 = yylhsminor.yy724; break; case 191: /* alter_table_clause ::= full_table_name DROP COLUMN column_name */ - { yylhsminor.yy248 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy248, TSDB_ALTER_TABLE_DROP_COLUMN, &yymsp[0].minor.yy401); } - yymsp[-3].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy724, TSDB_ALTER_TABLE_DROP_COLUMN, &yymsp[0].minor.yy461); } + yymsp[-3].minor.yy724 = yylhsminor.yy724; break; case 192: /* alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */ - { yylhsminor.yy248 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy248, TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES, &yymsp[-1].minor.yy401, yymsp[0].minor.yy976); } - yymsp[-4].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy724, TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES, &yymsp[-1].minor.yy461, yymsp[0].minor.yy1016); } + yymsp[-4].minor.yy724 = yylhsminor.yy724; break; case 193: /* alter_table_clause ::= full_table_name MODIFY COLUMN column_name column_options */ - { yylhsminor.yy248 = createAlterTableAddModifyColOptions(pCxt, yymsp[-4].minor.yy248, TSDB_ALTER_TABLE_UPDATE_COLUMN_COMPRESS, &yymsp[-1].minor.yy401, yymsp[0].minor.yy248); } - yymsp[-4].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createAlterTableAddModifyColOptions(pCxt, yymsp[-4].minor.yy724, TSDB_ALTER_TABLE_UPDATE_COLUMN_COMPRESS, &yymsp[-1].minor.yy461, yymsp[0].minor.yy724); } + yymsp[-4].minor.yy724 = yylhsminor.yy724; break; case 194: /* alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */ - { yylhsminor.yy248 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy248, TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME, &yymsp[-1].minor.yy401, &yymsp[0].minor.yy401); } - yymsp[-4].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy724, TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME, &yymsp[-1].minor.yy461, &yymsp[0].minor.yy461); } + yymsp[-4].minor.yy724 = yylhsminor.yy724; break; case 195: /* alter_table_clause ::= full_table_name ADD TAG column_name type_name */ - { yylhsminor.yy248 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy248, TSDB_ALTER_TABLE_ADD_TAG, &yymsp[-1].minor.yy401, yymsp[0].minor.yy976); } - yymsp[-4].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy724, TSDB_ALTER_TABLE_ADD_TAG, &yymsp[-1].minor.yy461, yymsp[0].minor.yy1016); } + yymsp[-4].minor.yy724 = yylhsminor.yy724; break; case 196: /* alter_table_clause ::= full_table_name DROP TAG column_name */ - { yylhsminor.yy248 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy248, TSDB_ALTER_TABLE_DROP_TAG, &yymsp[0].minor.yy401); } - yymsp[-3].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy724, TSDB_ALTER_TABLE_DROP_TAG, &yymsp[0].minor.yy461); } + yymsp[-3].minor.yy724 = yylhsminor.yy724; break; case 197: /* alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */ - { yylhsminor.yy248 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy248, TSDB_ALTER_TABLE_UPDATE_TAG_BYTES, &yymsp[-1].minor.yy401, yymsp[0].minor.yy976); } - yymsp[-4].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy724, TSDB_ALTER_TABLE_UPDATE_TAG_BYTES, &yymsp[-1].minor.yy461, yymsp[0].minor.yy1016); } + yymsp[-4].minor.yy724 = yylhsminor.yy724; break; case 198: /* alter_table_clause ::= full_table_name RENAME TAG column_name column_name */ - { yylhsminor.yy248 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy248, TSDB_ALTER_TABLE_UPDATE_TAG_NAME, &yymsp[-1].minor.yy401, &yymsp[0].minor.yy401); } - yymsp[-4].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy724, TSDB_ALTER_TABLE_UPDATE_TAG_NAME, &yymsp[-1].minor.yy461, &yymsp[0].minor.yy461); } + yymsp[-4].minor.yy724 = yylhsminor.yy724; break; case 199: /* alter_table_clause ::= full_table_name SET TAG column_name NK_EQ tags_literal */ - { yylhsminor.yy248 = createAlterTableSetTag(pCxt, yymsp[-5].minor.yy248, &yymsp[-2].minor.yy401, yymsp[0].minor.yy248); } - yymsp[-5].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createAlterTableSetTag(pCxt, yymsp[-5].minor.yy724, &yymsp[-2].minor.yy461, yymsp[0].minor.yy724); } + yymsp[-5].minor.yy724 = yylhsminor.yy724; break; case 201: /* multi_create_clause ::= multi_create_clause create_subtable_clause */ - case 609: /* when_then_list ::= when_then_list when_then_expr */ yytestcase(yyruleno==609); - { yylhsminor.yy928 = addNodeToList(pCxt, yymsp[-1].minor.yy928, yymsp[0].minor.yy248); } - yymsp[-1].minor.yy928 = yylhsminor.yy928; + case 612: /* when_then_list ::= when_then_list when_then_expr */ yytestcase(yyruleno==612); + { yylhsminor.yy712 = addNodeToList(pCxt, yymsp[-1].minor.yy712, yymsp[0].minor.yy724); } + yymsp[-1].minor.yy712 = yylhsminor.yy712; break; case 202: /* create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_cols_opt TAGS NK_LP tags_literal_list NK_RP table_options */ - { yylhsminor.yy248 = createCreateSubTableClause(pCxt, yymsp[-9].minor.yy89, yymsp[-8].minor.yy248, yymsp[-6].minor.yy248, yymsp[-5].minor.yy928, yymsp[-2].minor.yy928, yymsp[0].minor.yy248); } - yymsp[-9].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createCreateSubTableClause(pCxt, yymsp[-9].minor.yy429, yymsp[-8].minor.yy724, yymsp[-6].minor.yy724, yymsp[-5].minor.yy712, yymsp[-2].minor.yy712, yymsp[0].minor.yy724); } + yymsp[-9].minor.yy724 = yylhsminor.yy724; break; case 205: /* drop_table_clause ::= exists_opt full_table_name */ - { yylhsminor.yy248 = createDropTableClause(pCxt, yymsp[-1].minor.yy89, yymsp[0].minor.yy248); } - yymsp[-1].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createDropTableClause(pCxt, yymsp[-1].minor.yy429, yymsp[0].minor.yy724); } + yymsp[-1].minor.yy724 = yylhsminor.yy724; break; case 207: /* specific_cols_opt ::= NK_LP col_name_list NK_RP */ case 409: /* col_list_opt ::= NK_LP column_stream_def_list NK_RP */ yytestcase(yyruleno==409); - { yymsp[-2].minor.yy928 = yymsp[-1].minor.yy928; } + { yymsp[-2].minor.yy712 = yymsp[-1].minor.yy712; } break; case 208: /* full_table_name ::= table_name */ case 350: /* full_tsma_name ::= tsma_name */ yytestcase(yyruleno==350); - { yylhsminor.yy248 = createRealTableNode(pCxt, NULL, &yymsp[0].minor.yy401, NULL); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRealTableNode(pCxt, NULL, &yymsp[0].minor.yy461, NULL); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 209: /* full_table_name ::= db_name NK_DOT table_name */ case 351: /* full_tsma_name ::= db_name NK_DOT tsma_name */ yytestcase(yyruleno==351); - { yylhsminor.yy248 = createRealTableNode(pCxt, &yymsp[-2].minor.yy401, &yymsp[0].minor.yy401, NULL); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRealTableNode(pCxt, &yymsp[-2].minor.yy461, &yymsp[0].minor.yy461, NULL); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 212: /* tag_def ::= column_name type_name */ - { yylhsminor.yy248 = createColumnDefNode(pCxt, &yymsp[-1].minor.yy401, yymsp[0].minor.yy976, NULL); } - yymsp[-1].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createColumnDefNode(pCxt, &yymsp[-1].minor.yy461, yymsp[0].minor.yy1016, NULL); } + yymsp[-1].minor.yy724 = yylhsminor.yy724; break; case 215: /* column_def ::= column_name type_name column_options */ - { yylhsminor.yy248 = createColumnDefNode(pCxt, &yymsp[-2].minor.yy401, yymsp[-1].minor.yy976, yymsp[0].minor.yy248); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createColumnDefNode(pCxt, &yymsp[-2].minor.yy461, yymsp[-1].minor.yy1016, yymsp[0].minor.yy724); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 216: /* type_name ::= BOOL */ - { yymsp[0].minor.yy976 = createDataType(TSDB_DATA_TYPE_BOOL); } + { yymsp[0].minor.yy1016 = createDataType(TSDB_DATA_TYPE_BOOL); } break; case 217: /* type_name ::= TINYINT */ - { yymsp[0].minor.yy976 = createDataType(TSDB_DATA_TYPE_TINYINT); } + { yymsp[0].minor.yy1016 = createDataType(TSDB_DATA_TYPE_TINYINT); } break; case 218: /* type_name ::= SMALLINT */ - { yymsp[0].minor.yy976 = createDataType(TSDB_DATA_TYPE_SMALLINT); } + { yymsp[0].minor.yy1016 = createDataType(TSDB_DATA_TYPE_SMALLINT); } break; case 219: /* type_name ::= INT */ case 220: /* type_name ::= INTEGER */ yytestcase(yyruleno==220); - { yymsp[0].minor.yy976 = createDataType(TSDB_DATA_TYPE_INT); } + { yymsp[0].minor.yy1016 = createDataType(TSDB_DATA_TYPE_INT); } break; case 221: /* type_name ::= BIGINT */ - { yymsp[0].minor.yy976 = createDataType(TSDB_DATA_TYPE_BIGINT); } + { yymsp[0].minor.yy1016 = createDataType(TSDB_DATA_TYPE_BIGINT); } break; case 222: /* type_name ::= FLOAT */ - { yymsp[0].minor.yy976 = createDataType(TSDB_DATA_TYPE_FLOAT); } + { yymsp[0].minor.yy1016 = createDataType(TSDB_DATA_TYPE_FLOAT); } break; case 223: /* type_name ::= DOUBLE */ - { yymsp[0].minor.yy976 = createDataType(TSDB_DATA_TYPE_DOUBLE); } + { yymsp[0].minor.yy1016 = createDataType(TSDB_DATA_TYPE_DOUBLE); } break; case 224: /* type_name ::= BINARY NK_LP NK_INTEGER NK_RP */ - { yymsp[-3].minor.yy976 = createVarLenDataType(TSDB_DATA_TYPE_BINARY, &yymsp[-1].minor.yy0); } + { yymsp[-3].minor.yy1016 = createVarLenDataType(TSDB_DATA_TYPE_BINARY, &yymsp[-1].minor.yy0); } break; case 225: /* type_name ::= TIMESTAMP */ - { yymsp[0].minor.yy976 = createDataType(TSDB_DATA_TYPE_TIMESTAMP); } + { yymsp[0].minor.yy1016 = createDataType(TSDB_DATA_TYPE_TIMESTAMP); } break; case 226: /* type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */ - { yymsp[-3].minor.yy976 = createVarLenDataType(TSDB_DATA_TYPE_NCHAR, &yymsp[-1].minor.yy0); } + { yymsp[-3].minor.yy1016 = createVarLenDataType(TSDB_DATA_TYPE_NCHAR, &yymsp[-1].minor.yy0); } break; case 227: /* type_name ::= TINYINT UNSIGNED */ - { yymsp[-1].minor.yy976 = createDataType(TSDB_DATA_TYPE_UTINYINT); } + { yymsp[-1].minor.yy1016 = createDataType(TSDB_DATA_TYPE_UTINYINT); } break; case 228: /* type_name ::= SMALLINT UNSIGNED */ - { yymsp[-1].minor.yy976 = createDataType(TSDB_DATA_TYPE_USMALLINT); } + { yymsp[-1].minor.yy1016 = createDataType(TSDB_DATA_TYPE_USMALLINT); } break; case 229: /* type_name ::= INT UNSIGNED */ - { yymsp[-1].minor.yy976 = createDataType(TSDB_DATA_TYPE_UINT); } + { yymsp[-1].minor.yy1016 = createDataType(TSDB_DATA_TYPE_UINT); } break; case 230: /* type_name ::= BIGINT UNSIGNED */ - { yymsp[-1].minor.yy976 = createDataType(TSDB_DATA_TYPE_UBIGINT); } + { yymsp[-1].minor.yy1016 = createDataType(TSDB_DATA_TYPE_UBIGINT); } break; case 231: /* type_name ::= JSON */ - { yymsp[0].minor.yy976 = createDataType(TSDB_DATA_TYPE_JSON); } + { yymsp[0].minor.yy1016 = createDataType(TSDB_DATA_TYPE_JSON); } break; case 232: /* type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */ - { yymsp[-3].minor.yy976 = createVarLenDataType(TSDB_DATA_TYPE_VARCHAR, &yymsp[-1].minor.yy0); } + { yymsp[-3].minor.yy1016 = createVarLenDataType(TSDB_DATA_TYPE_VARCHAR, &yymsp[-1].minor.yy0); } break; case 233: /* type_name ::= MEDIUMBLOB */ - { yymsp[0].minor.yy976 = createDataType(TSDB_DATA_TYPE_MEDIUMBLOB); } + { yymsp[0].minor.yy1016 = createDataType(TSDB_DATA_TYPE_MEDIUMBLOB); } break; case 234: /* type_name ::= BLOB */ - { yymsp[0].minor.yy976 = createDataType(TSDB_DATA_TYPE_BLOB); } + { yymsp[0].minor.yy1016 = createDataType(TSDB_DATA_TYPE_BLOB); } break; case 235: /* type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */ - { yymsp[-3].minor.yy976 = createVarLenDataType(TSDB_DATA_TYPE_VARBINARY, &yymsp[-1].minor.yy0); } + { yymsp[-3].minor.yy1016 = createVarLenDataType(TSDB_DATA_TYPE_VARBINARY, &yymsp[-1].minor.yy0); } break; case 236: /* type_name ::= GEOMETRY NK_LP NK_INTEGER NK_RP */ - { yymsp[-3].minor.yy976 = createVarLenDataType(TSDB_DATA_TYPE_GEOMETRY, &yymsp[-1].minor.yy0); } + { yymsp[-3].minor.yy1016 = createVarLenDataType(TSDB_DATA_TYPE_GEOMETRY, &yymsp[-1].minor.yy0); } break; case 237: /* type_name ::= DECIMAL */ - { yymsp[0].minor.yy976 = createDataType(TSDB_DATA_TYPE_DECIMAL); } + { yymsp[0].minor.yy1016 = createDataType(TSDB_DATA_TYPE_DECIMAL); } break; case 238: /* type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */ - { yymsp[-3].minor.yy976 = createDataType(TSDB_DATA_TYPE_DECIMAL); } + { yymsp[-3].minor.yy1016 = createDataType(TSDB_DATA_TYPE_DECIMAL); } break; case 239: /* type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ - { yymsp[-5].minor.yy976 = createDataType(TSDB_DATA_TYPE_DECIMAL); } + { yymsp[-5].minor.yy1016 = createDataType(TSDB_DATA_TYPE_DECIMAL); } break; case 240: /* type_name_default_len ::= BINARY */ - { yymsp[0].minor.yy976 = createVarLenDataType(TSDB_DATA_TYPE_BINARY, NULL); } + { yymsp[0].minor.yy1016 = createVarLenDataType(TSDB_DATA_TYPE_BINARY, NULL); } break; case 241: /* type_name_default_len ::= NCHAR */ - { yymsp[0].minor.yy976 = createVarLenDataType(TSDB_DATA_TYPE_NCHAR, NULL); } + { yymsp[0].minor.yy1016 = createVarLenDataType(TSDB_DATA_TYPE_NCHAR, NULL); } break; case 242: /* type_name_default_len ::= VARCHAR */ - { yymsp[0].minor.yy976 = createVarLenDataType(TSDB_DATA_TYPE_VARCHAR, NULL); } + { yymsp[0].minor.yy1016 = createVarLenDataType(TSDB_DATA_TYPE_VARCHAR, NULL); } break; case 243: /* type_name_default_len ::= VARBINARY */ - { yymsp[0].minor.yy976 = createVarLenDataType(TSDB_DATA_TYPE_VARBINARY, NULL); } + { yymsp[0].minor.yy1016 = createVarLenDataType(TSDB_DATA_TYPE_VARBINARY, NULL); } break; case 246: /* tags_def ::= TAGS NK_LP tag_def_list NK_RP */ case 417: /* tag_def_or_ref_opt ::= TAGS NK_LP column_stream_def_list NK_RP */ yytestcase(yyruleno==417); - { yymsp[-3].minor.yy928 = yymsp[-1].minor.yy928; } + { yymsp[-3].minor.yy712 = yymsp[-1].minor.yy712; } break; case 247: /* table_options ::= */ - { yymsp[1].minor.yy248 = createDefaultTableOptions(pCxt); } + { yymsp[1].minor.yy724 = createDefaultTableOptions(pCxt); } break; case 248: /* table_options ::= table_options COMMENT NK_STRING */ - { yylhsminor.yy248 = setTableOption(pCxt, yymsp[-2].minor.yy248, TABLE_OPTION_COMMENT, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setTableOption(pCxt, yymsp[-2].minor.yy724, TABLE_OPTION_COMMENT, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 249: /* table_options ::= table_options MAX_DELAY duration_list */ - { yylhsminor.yy248 = setTableOption(pCxt, yymsp[-2].minor.yy248, TABLE_OPTION_MAXDELAY, yymsp[0].minor.yy928); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setTableOption(pCxt, yymsp[-2].minor.yy724, TABLE_OPTION_MAXDELAY, yymsp[0].minor.yy712); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 250: /* table_options ::= table_options WATERMARK duration_list */ - { yylhsminor.yy248 = setTableOption(pCxt, yymsp[-2].minor.yy248, TABLE_OPTION_WATERMARK, yymsp[0].minor.yy928); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setTableOption(pCxt, yymsp[-2].minor.yy724, TABLE_OPTION_WATERMARK, yymsp[0].minor.yy712); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 251: /* table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ - { yylhsminor.yy248 = setTableOption(pCxt, yymsp[-4].minor.yy248, TABLE_OPTION_ROLLUP, yymsp[-1].minor.yy928); } - yymsp[-4].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setTableOption(pCxt, yymsp[-4].minor.yy724, TABLE_OPTION_ROLLUP, yymsp[-1].minor.yy712); } + yymsp[-4].minor.yy724 = yylhsminor.yy724; break; case 252: /* table_options ::= table_options TTL NK_INTEGER */ - { yylhsminor.yy248 = setTableOption(pCxt, yymsp[-2].minor.yy248, TABLE_OPTION_TTL, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setTableOption(pCxt, yymsp[-2].minor.yy724, TABLE_OPTION_TTL, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 253: /* table_options ::= table_options SMA NK_LP col_name_list NK_RP */ - { yylhsminor.yy248 = setTableOption(pCxt, yymsp[-4].minor.yy248, TABLE_OPTION_SMA, yymsp[-1].minor.yy928); } - yymsp[-4].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setTableOption(pCxt, yymsp[-4].minor.yy724, TABLE_OPTION_SMA, yymsp[-1].minor.yy712); } + yymsp[-4].minor.yy724 = yylhsminor.yy724; break; case 254: /* table_options ::= table_options DELETE_MARK duration_list */ - { yylhsminor.yy248 = setTableOption(pCxt, yymsp[-2].minor.yy248, TABLE_OPTION_DELETE_MARK, yymsp[0].minor.yy928); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setTableOption(pCxt, yymsp[-2].minor.yy724, TABLE_OPTION_DELETE_MARK, yymsp[0].minor.yy712); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 255: /* alter_table_options ::= alter_table_option */ - { yylhsminor.yy248 = createAlterTableOptions(pCxt); yylhsminor.yy248 = setTableOption(pCxt, yylhsminor.yy248, yymsp[0].minor.yy677.type, &yymsp[0].minor.yy677.val); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createAlterTableOptions(pCxt); yylhsminor.yy724 = setTableOption(pCxt, yylhsminor.yy724, yymsp[0].minor.yy533.type, &yymsp[0].minor.yy533.val); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 256: /* alter_table_options ::= alter_table_options alter_table_option */ - { yylhsminor.yy248 = setTableOption(pCxt, yymsp[-1].minor.yy248, yymsp[0].minor.yy677.type, &yymsp[0].minor.yy677.val); } - yymsp[-1].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setTableOption(pCxt, yymsp[-1].minor.yy724, yymsp[0].minor.yy533.type, &yymsp[0].minor.yy533.val); } + yymsp[-1].minor.yy724 = yylhsminor.yy724; break; case 257: /* alter_table_option ::= COMMENT NK_STRING */ - { yymsp[-1].minor.yy677.type = TABLE_OPTION_COMMENT; yymsp[-1].minor.yy677.val = yymsp[0].minor.yy0; } + { yymsp[-1].minor.yy533.type = TABLE_OPTION_COMMENT; yymsp[-1].minor.yy533.val = yymsp[0].minor.yy0; } break; case 258: /* alter_table_option ::= TTL NK_INTEGER */ - { yymsp[-1].minor.yy677.type = TABLE_OPTION_TTL; yymsp[-1].minor.yy677.val = yymsp[0].minor.yy0; } + { yymsp[-1].minor.yy533.type = TABLE_OPTION_TTL; yymsp[-1].minor.yy533.val = yymsp[0].minor.yy0; } break; case 259: /* duration_list ::= duration_literal */ case 546: /* expression_list ::= expr_or_subquery */ yytestcase(yyruleno==546); - { yylhsminor.yy928 = createNodeList(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy248)); } - yymsp[0].minor.yy928 = yylhsminor.yy928; + { yylhsminor.yy712 = createNodeList(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy724)); } + yymsp[0].minor.yy712 = yylhsminor.yy712; break; case 260: /* duration_list ::= duration_list NK_COMMA duration_literal */ case 547: /* expression_list ::= expression_list NK_COMMA expr_or_subquery */ yytestcase(yyruleno==547); - { yylhsminor.yy928 = addNodeToList(pCxt, yymsp[-2].minor.yy928, releaseRawExprNode(pCxt, yymsp[0].minor.yy248)); } - yymsp[-2].minor.yy928 = yylhsminor.yy928; + { yylhsminor.yy712 = addNodeToList(pCxt, yymsp[-2].minor.yy712, releaseRawExprNode(pCxt, yymsp[0].minor.yy724)); } + yymsp[-2].minor.yy712 = yylhsminor.yy712; break; case 263: /* rollup_func_name ::= function_name */ - { yylhsminor.yy248 = createFunctionNode(pCxt, &yymsp[0].minor.yy401, NULL); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createFunctionNode(pCxt, &yymsp[0].minor.yy461, NULL); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 264: /* rollup_func_name ::= FIRST */ case 265: /* rollup_func_name ::= LAST */ yytestcase(yyruleno==265); case 339: /* tag_item ::= QTAGS */ yytestcase(yyruleno==339); - { yylhsminor.yy248 = createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 268: /* col_name ::= column_name */ case 340: /* tag_item ::= column_name */ yytestcase(yyruleno==340); - { yylhsminor.yy248 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy401); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy461); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 269: /* cmd ::= SHOW DNODES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_DNODES_STMT); } @@ -6771,19 +6858,19 @@ static YYACTIONTYPE yy_reduce( case 273: /* cmd ::= SHOW db_kind_opt DATABASES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_DATABASES_STMT); - (void)setShowKind(pCxt, pCxt->pRootNode, yymsp[-1].minor.yy1042); + (void)setShowKind(pCxt, pCxt->pRootNode, yymsp[-1].minor.yy973); } break; case 274: /* cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ { - pCxt->pRootNode = createShowTablesStmt(pCxt, yymsp[-2].minor.yy373, yymsp[0].minor.yy248, OP_TYPE_LIKE); + pCxt->pRootNode = createShowTablesStmt(pCxt, yymsp[-2].minor.yy801, yymsp[0].minor.yy724, OP_TYPE_LIKE); } break; case 275: /* cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ - { pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_STABLES_STMT, yymsp[-2].minor.yy248, yymsp[0].minor.yy248, OP_TYPE_LIKE); } + { pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_STABLES_STMT, yymsp[-2].minor.yy724, yymsp[0].minor.yy724, OP_TYPE_LIKE); } break; case 276: /* cmd ::= SHOW db_name_cond_opt VGROUPS */ - { pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VGROUPS_STMT, yymsp[-1].minor.yy248, NULL, OP_TYPE_LIKE); } + { pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VGROUPS_STMT, yymsp[-1].minor.yy724, NULL, OP_TYPE_LIKE); } break; case 277: /* cmd ::= SHOW MNODES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_MNODES_STMT); } @@ -6798,10 +6885,10 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_FUNCTIONS_STMT); } break; case 281: /* cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ - { pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, yymsp[0].minor.yy248, yymsp[-1].minor.yy248, OP_TYPE_EQUAL); } + { pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, yymsp[0].minor.yy724, yymsp[-1].minor.yy724, OP_TYPE_EQUAL); } break; case 282: /* cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ - { pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy401), createIdentifierValueNode(pCxt, &yymsp[0].minor.yy401), OP_TYPE_EQUAL); } + { pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy461), createIdentifierValueNode(pCxt, &yymsp[0].minor.yy461), OP_TYPE_EQUAL); } break; case 283: /* cmd ::= SHOW STREAMS */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_STREAMS_STMT); } @@ -6829,14 +6916,14 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CLUSTER_MACHINES_STMT); } break; case 292: /* cmd ::= SHOW CREATE DATABASE db_name */ - { pCxt->pRootNode = createShowCreateDatabaseStmt(pCxt, &yymsp[0].minor.yy401); } + { pCxt->pRootNode = createShowCreateDatabaseStmt(pCxt, &yymsp[0].minor.yy461); } break; case 293: /* cmd ::= SHOW CREATE TABLE full_table_name */ - { pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_TABLE_STMT, yymsp[0].minor.yy248); } + { pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_TABLE_STMT, yymsp[0].minor.yy724); } break; case 294: /* cmd ::= SHOW CREATE STABLE full_table_name */ { pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_STABLE_STMT, - yymsp[0].minor.yy248); } + yymsp[0].minor.yy724); } break; case 295: /* cmd ::= SHOW ENCRYPTIONS */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_ENCRYPTIONS_STMT); } @@ -6858,7 +6945,7 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_LOCAL_VARIABLES_STMT); } break; case 302: /* cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ - { pCxt->pRootNode = createShowDnodeVariablesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[-2].minor.yy0), yymsp[0].minor.yy248); } + { pCxt->pRootNode = createShowDnodeVariablesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[-2].minor.yy0), yymsp[0].minor.yy724); } break; case 303: /* cmd ::= SHOW BNODES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_BNODES_STMT); } @@ -6873,7 +6960,7 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_TRANSACTIONS_STMT); } break; case 307: /* cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ - { pCxt->pRootNode = createShowTableDistributedStmt(pCxt, yymsp[0].minor.yy248); } + { pCxt->pRootNode = createShowTableDistributedStmt(pCxt, yymsp[0].minor.yy724); } break; case 308: /* cmd ::= SHOW CONSUMERS */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CONSUMERS_STMT); } @@ -6882,16 +6969,16 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_SUBSCRIPTIONS_STMT); } break; case 310: /* cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ - { pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, yymsp[0].minor.yy248, yymsp[-1].minor.yy248, OP_TYPE_EQUAL); } + { pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, yymsp[0].minor.yy724, yymsp[-1].minor.yy724, OP_TYPE_EQUAL); } break; case 311: /* cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ - { pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy401), createIdentifierValueNode(pCxt, &yymsp[0].minor.yy401), OP_TYPE_EQUAL); } + { pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy461), createIdentifierValueNode(pCxt, &yymsp[0].minor.yy461), OP_TYPE_EQUAL); } break; case 312: /* cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ - { pCxt->pRootNode = createShowTableTagsStmt(pCxt, yymsp[-1].minor.yy248, yymsp[0].minor.yy248, yymsp[-3].minor.yy928); } + { pCxt->pRootNode = createShowTableTagsStmt(pCxt, yymsp[-1].minor.yy724, yymsp[0].minor.yy724, yymsp[-3].minor.yy712); } break; case 313: /* cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name */ - { pCxt->pRootNode = createShowTableTagsStmt(pCxt, createIdentifierValueNode(pCxt, &yymsp[0].minor.yy401), createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy401), yymsp[-4].minor.yy928); } + { pCxt->pRootNode = createShowTableTagsStmt(pCxt, createIdentifierValueNode(pCxt, &yymsp[0].minor.yy461), createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy461), yymsp[-4].minor.yy712); } break; case 314: /* cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ { pCxt->pRootNode = createShowVnodesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0), NULL); } @@ -6900,16 +6987,16 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createShowVnodesStmt(pCxt, NULL, NULL); } break; case 316: /* cmd ::= SHOW db_name_cond_opt ALIVE */ - { pCxt->pRootNode = createShowAliveStmt(pCxt, yymsp[-1].minor.yy248, QUERY_NODE_SHOW_DB_ALIVE_STMT); } + { pCxt->pRootNode = createShowAliveStmt(pCxt, yymsp[-1].minor.yy724, QUERY_NODE_SHOW_DB_ALIVE_STMT); } break; case 317: /* cmd ::= SHOW CLUSTER ALIVE */ { pCxt->pRootNode = createShowAliveStmt(pCxt, NULL, QUERY_NODE_SHOW_CLUSTER_ALIVE_STMT); } break; case 318: /* cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt */ - { pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VIEWS_STMT, yymsp[-2].minor.yy248, yymsp[0].minor.yy248, OP_TYPE_LIKE); } + { pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VIEWS_STMT, yymsp[-2].minor.yy724, yymsp[0].minor.yy724, OP_TYPE_LIKE); } break; case 319: /* cmd ::= SHOW CREATE VIEW full_table_name */ - { pCxt->pRootNode = createShowCreateViewStmt(pCxt, QUERY_NODE_SHOW_CREATE_VIEW_STMT, yymsp[0].minor.yy248); } + { pCxt->pRootNode = createShowCreateViewStmt(pCxt, QUERY_NODE_SHOW_CREATE_VIEW_STMT, yymsp[0].minor.yy724); } break; case 320: /* cmd ::= SHOW COMPACTS */ { pCxt->pRootNode = createShowCompactsStmt(pCxt, QUERY_NODE_SHOW_COMPACTS_STMT); } @@ -6918,260 +7005,260 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createShowCompactDetailsStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } break; case 322: /* table_kind_db_name_cond_opt ::= */ - { yymsp[1].minor.yy373.kind = SHOW_KIND_ALL; yymsp[1].minor.yy373.dbName = nil_token; } + { yymsp[1].minor.yy801.kind = SHOW_KIND_ALL; yymsp[1].minor.yy801.dbName = nil_token; } break; case 323: /* table_kind_db_name_cond_opt ::= table_kind */ - { yylhsminor.yy373.kind = yymsp[0].minor.yy1042; yylhsminor.yy373.dbName = nil_token; } - yymsp[0].minor.yy373 = yylhsminor.yy373; + { yylhsminor.yy801.kind = yymsp[0].minor.yy973; yylhsminor.yy801.dbName = nil_token; } + yymsp[0].minor.yy801 = yylhsminor.yy801; break; case 324: /* table_kind_db_name_cond_opt ::= db_name NK_DOT */ - { yylhsminor.yy373.kind = SHOW_KIND_ALL; yylhsminor.yy373.dbName = yymsp[-1].minor.yy401; } - yymsp[-1].minor.yy373 = yylhsminor.yy373; + { yylhsminor.yy801.kind = SHOW_KIND_ALL; yylhsminor.yy801.dbName = yymsp[-1].minor.yy461; } + yymsp[-1].minor.yy801 = yylhsminor.yy801; break; case 325: /* table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ - { yylhsminor.yy373.kind = yymsp[-2].minor.yy1042; yylhsminor.yy373.dbName = yymsp[-1].minor.yy401; } - yymsp[-2].minor.yy373 = yylhsminor.yy373; + { yylhsminor.yy801.kind = yymsp[-2].minor.yy973; yylhsminor.yy801.dbName = yymsp[-1].minor.yy461; } + yymsp[-2].minor.yy801 = yylhsminor.yy801; break; case 326: /* table_kind ::= NORMAL */ - { yymsp[0].minor.yy1042 = SHOW_KIND_TABLES_NORMAL; } + { yymsp[0].minor.yy973 = SHOW_KIND_TABLES_NORMAL; } break; case 327: /* table_kind ::= CHILD */ - { yymsp[0].minor.yy1042 = SHOW_KIND_TABLES_CHILD; } + { yymsp[0].minor.yy973 = SHOW_KIND_TABLES_CHILD; } break; case 328: /* db_name_cond_opt ::= */ case 333: /* from_db_opt ::= */ yytestcase(yyruleno==333); - { yymsp[1].minor.yy248 = createDefaultDatabaseCondValue(pCxt); } + { yymsp[1].minor.yy724 = createDefaultDatabaseCondValue(pCxt); } break; case 329: /* db_name_cond_opt ::= db_name NK_DOT */ - { yylhsminor.yy248 = createIdentifierValueNode(pCxt, &yymsp[-1].minor.yy401); } - yymsp[-1].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createIdentifierValueNode(pCxt, &yymsp[-1].minor.yy461); } + yymsp[-1].minor.yy724 = yylhsminor.yy724; break; case 331: /* like_pattern_opt ::= LIKE NK_STRING */ - { yymsp[-1].minor.yy248 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } + { yymsp[-1].minor.yy724 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } break; case 332: /* table_name_cond ::= table_name */ - { yylhsminor.yy248 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy401); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy461); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 334: /* from_db_opt ::= FROM db_name */ - { yymsp[-1].minor.yy248 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy401); } + { yymsp[-1].minor.yy724 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy461); } break; case 338: /* tag_item ::= TBNAME */ - { yylhsminor.yy248 = setProjectionAlias(pCxt, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL), &yymsp[0].minor.yy0); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setProjectionAlias(pCxt, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL), &yymsp[0].minor.yy0); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 341: /* tag_item ::= column_name column_alias */ - { yylhsminor.yy248 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-1].minor.yy401), &yymsp[0].minor.yy401); } - yymsp[-1].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-1].minor.yy461), &yymsp[0].minor.yy461); } + yymsp[-1].minor.yy724 = yylhsminor.yy724; break; case 342: /* tag_item ::= column_name AS column_alias */ - { yylhsminor.yy248 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-2].minor.yy401), &yymsp[0].minor.yy401); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-2].minor.yy461), &yymsp[0].minor.yy461); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 343: /* db_kind_opt ::= */ - { yymsp[1].minor.yy1042 = SHOW_KIND_ALL; } + { yymsp[1].minor.yy973 = SHOW_KIND_ALL; } break; case 344: /* db_kind_opt ::= USER */ - { yymsp[0].minor.yy1042 = SHOW_KIND_DATABASES_USER; } + { yymsp[0].minor.yy973 = SHOW_KIND_DATABASES_USER; } break; case 345: /* db_kind_opt ::= SYSTEM */ - { yymsp[0].minor.yy1042 = SHOW_KIND_DATABASES_SYSTEM; } + { yymsp[0].minor.yy973 = SHOW_KIND_DATABASES_SYSTEM; } break; case 346: /* cmd ::= CREATE TSMA not_exists_opt tsma_name ON full_table_name tsma_func_list INTERVAL NK_LP duration_literal NK_RP */ - { pCxt->pRootNode = createCreateTSMAStmt(pCxt, yymsp[-8].minor.yy89, &yymsp[-7].minor.yy401, yymsp[-4].minor.yy248, yymsp[-5].minor.yy248, releaseRawExprNode(pCxt, yymsp[-1].minor.yy248)); } + { pCxt->pRootNode = createCreateTSMAStmt(pCxt, yymsp[-8].minor.yy429, &yymsp[-7].minor.yy461, yymsp[-4].minor.yy724, yymsp[-5].minor.yy724, releaseRawExprNode(pCxt, yymsp[-1].minor.yy724)); } break; case 347: /* cmd ::= CREATE RECURSIVE TSMA not_exists_opt tsma_name ON full_table_name INTERVAL NK_LP duration_literal NK_RP */ - { pCxt->pRootNode = createCreateTSMAStmt(pCxt, yymsp[-7].minor.yy89, &yymsp[-6].minor.yy401, NULL, yymsp[-4].minor.yy248, releaseRawExprNode(pCxt, yymsp[-1].minor.yy248)); } + { pCxt->pRootNode = createCreateTSMAStmt(pCxt, yymsp[-7].minor.yy429, &yymsp[-6].minor.yy461, NULL, yymsp[-4].minor.yy724, releaseRawExprNode(pCxt, yymsp[-1].minor.yy724)); } break; case 348: /* cmd ::= DROP TSMA exists_opt full_tsma_name */ - { pCxt->pRootNode = createDropTSMAStmt(pCxt, yymsp[-1].minor.yy89, yymsp[0].minor.yy248); } + { pCxt->pRootNode = createDropTSMAStmt(pCxt, yymsp[-1].minor.yy429, yymsp[0].minor.yy724); } break; case 349: /* cmd ::= SHOW db_name_cond_opt TSMAS */ - { pCxt->pRootNode = createShowTSMASStmt(pCxt, yymsp[-1].minor.yy248); } + { pCxt->pRootNode = createShowTSMASStmt(pCxt, yymsp[-1].minor.yy724); } break; case 352: /* tsma_func_list ::= FUNCTION NK_LP func_list NK_RP */ - { yymsp[-3].minor.yy248 = createTSMAOptions(pCxt, yymsp[-1].minor.yy928); } + { yymsp[-3].minor.yy724 = createTSMAOptions(pCxt, yymsp[-1].minor.yy712); } break; case 353: /* cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options */ - { pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_SMA, yymsp[-4].minor.yy89, yymsp[-3].minor.yy248, yymsp[-1].minor.yy248, NULL, yymsp[0].minor.yy248); } + { pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_SMA, yymsp[-4].minor.yy429, yymsp[-3].minor.yy724, yymsp[-1].minor.yy724, NULL, yymsp[0].minor.yy724); } break; case 354: /* cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP */ - { pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_NORMAL, yymsp[-6].minor.yy89, yymsp[-5].minor.yy248, yymsp[-3].minor.yy248, yymsp[-1].minor.yy928, NULL); } + { pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_NORMAL, yymsp[-6].minor.yy429, yymsp[-5].minor.yy724, yymsp[-3].minor.yy724, yymsp[-1].minor.yy712, NULL); } break; case 355: /* cmd ::= DROP INDEX exists_opt full_index_name */ - { pCxt->pRootNode = createDropIndexStmt(pCxt, yymsp[-1].minor.yy89, yymsp[0].minor.yy248); } + { pCxt->pRootNode = createDropIndexStmt(pCxt, yymsp[-1].minor.yy429, yymsp[0].minor.yy724); } break; case 356: /* full_index_name ::= index_name */ - { yylhsminor.yy248 = createRealTableNodeForIndexName(pCxt, NULL, &yymsp[0].minor.yy401); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRealTableNodeForIndexName(pCxt, NULL, &yymsp[0].minor.yy461); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 357: /* full_index_name ::= db_name NK_DOT index_name */ - { yylhsminor.yy248 = createRealTableNodeForIndexName(pCxt, &yymsp[-2].minor.yy401, &yymsp[0].minor.yy401); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRealTableNodeForIndexName(pCxt, &yymsp[-2].minor.yy461, &yymsp[0].minor.yy461); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 358: /* index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ - { yymsp[-9].minor.yy248 = createIndexOption(pCxt, yymsp[-7].minor.yy928, releaseRawExprNode(pCxt, yymsp[-3].minor.yy248), NULL, yymsp[-1].minor.yy248, yymsp[0].minor.yy248); } + { yymsp[-9].minor.yy724 = createIndexOption(pCxt, yymsp[-7].minor.yy712, releaseRawExprNode(pCxt, yymsp[-3].minor.yy724), NULL, yymsp[-1].minor.yy724, yymsp[0].minor.yy724); } break; case 359: /* index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt sma_stream_opt */ - { yymsp[-11].minor.yy248 = createIndexOption(pCxt, yymsp[-9].minor.yy928, releaseRawExprNode(pCxt, yymsp[-5].minor.yy248), releaseRawExprNode(pCxt, yymsp[-3].minor.yy248), yymsp[-1].minor.yy248, yymsp[0].minor.yy248); } + { yymsp[-11].minor.yy724 = createIndexOption(pCxt, yymsp[-9].minor.yy712, releaseRawExprNode(pCxt, yymsp[-5].minor.yy724), releaseRawExprNode(pCxt, yymsp[-3].minor.yy724), yymsp[-1].minor.yy724, yymsp[0].minor.yy724); } break; case 362: /* func ::= sma_func_name NK_LP expression_list NK_RP */ - { yylhsminor.yy248 = createFunctionNode(pCxt, &yymsp[-3].minor.yy401, yymsp[-1].minor.yy928); } - yymsp[-3].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createFunctionNode(pCxt, &yymsp[-3].minor.yy461, yymsp[-1].minor.yy712); } + yymsp[-3].minor.yy724 = yylhsminor.yy724; break; case 363: /* sma_func_name ::= function_name */ - case 652: /* alias_opt ::= table_alias */ yytestcase(yyruleno==652); - { yylhsminor.yy401 = yymsp[0].minor.yy401; } - yymsp[0].minor.yy401 = yylhsminor.yy401; + case 655: /* alias_opt ::= table_alias */ yytestcase(yyruleno==655); + { yylhsminor.yy461 = yymsp[0].minor.yy461; } + yymsp[0].minor.yy461 = yylhsminor.yy461; break; case 368: /* sma_stream_opt ::= */ case 418: /* stream_options ::= */ yytestcase(yyruleno==418); - { yymsp[1].minor.yy248 = createStreamOptions(pCxt); } + { yymsp[1].minor.yy724 = createStreamOptions(pCxt); } break; case 369: /* sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ - { ((SStreamOptions*)yymsp[-2].minor.yy248)->pWatermark = releaseRawExprNode(pCxt, yymsp[0].minor.yy248); yylhsminor.yy248 = yymsp[-2].minor.yy248; } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { ((SStreamOptions*)yymsp[-2].minor.yy724)->pWatermark = releaseRawExprNode(pCxt, yymsp[0].minor.yy724); yylhsminor.yy724 = yymsp[-2].minor.yy724; } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 370: /* sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ - { ((SStreamOptions*)yymsp[-2].minor.yy248)->pDelay = releaseRawExprNode(pCxt, yymsp[0].minor.yy248); yylhsminor.yy248 = yymsp[-2].minor.yy248; } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { ((SStreamOptions*)yymsp[-2].minor.yy724)->pDelay = releaseRawExprNode(pCxt, yymsp[0].minor.yy724); yylhsminor.yy724 = yymsp[-2].minor.yy724; } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 371: /* sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ - { ((SStreamOptions*)yymsp[-2].minor.yy248)->pDeleteMark = releaseRawExprNode(pCxt, yymsp[0].minor.yy248); yylhsminor.yy248 = yymsp[-2].minor.yy248; } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { ((SStreamOptions*)yymsp[-2].minor.yy724)->pDeleteMark = releaseRawExprNode(pCxt, yymsp[0].minor.yy724); yylhsminor.yy724 = yymsp[-2].minor.yy724; } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 372: /* with_meta ::= AS */ - { yymsp[0].minor.yy604 = 0; } + { yymsp[0].minor.yy696 = 0; } break; case 373: /* with_meta ::= WITH META AS */ - { yymsp[-2].minor.yy604 = 1; } + { yymsp[-2].minor.yy696 = 1; } break; case 374: /* with_meta ::= ONLY META AS */ - { yymsp[-2].minor.yy604 = 2; } + { yymsp[-2].minor.yy696 = 2; } break; case 375: /* cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ - { pCxt->pRootNode = createCreateTopicStmtUseQuery(pCxt, yymsp[-3].minor.yy89, &yymsp[-2].minor.yy401, yymsp[0].minor.yy248); } + { pCxt->pRootNode = createCreateTopicStmtUseQuery(pCxt, yymsp[-3].minor.yy429, &yymsp[-2].minor.yy461, yymsp[0].minor.yy724); } break; case 376: /* cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ - { pCxt->pRootNode = createCreateTopicStmtUseDb(pCxt, yymsp[-4].minor.yy89, &yymsp[-3].minor.yy401, &yymsp[0].minor.yy401, yymsp[-2].minor.yy604); } + { pCxt->pRootNode = createCreateTopicStmtUseDb(pCxt, yymsp[-4].minor.yy429, &yymsp[-3].minor.yy461, &yymsp[0].minor.yy461, yymsp[-2].minor.yy696); } break; case 377: /* cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ - { pCxt->pRootNode = createCreateTopicStmtUseTable(pCxt, yymsp[-5].minor.yy89, &yymsp[-4].minor.yy401, yymsp[-1].minor.yy248, yymsp[-3].minor.yy604, yymsp[0].minor.yy248); } + { pCxt->pRootNode = createCreateTopicStmtUseTable(pCxt, yymsp[-5].minor.yy429, &yymsp[-4].minor.yy461, yymsp[-1].minor.yy724, yymsp[-3].minor.yy696, yymsp[0].minor.yy724); } break; case 378: /* cmd ::= DROP TOPIC exists_opt topic_name */ - { pCxt->pRootNode = createDropTopicStmt(pCxt, yymsp[-1].minor.yy89, &yymsp[0].minor.yy401); } + { pCxt->pRootNode = createDropTopicStmt(pCxt, yymsp[-1].minor.yy429, &yymsp[0].minor.yy461); } break; case 379: /* cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ - { pCxt->pRootNode = createDropCGroupStmt(pCxt, yymsp[-3].minor.yy89, &yymsp[-2].minor.yy401, &yymsp[0].minor.yy401); } + { pCxt->pRootNode = createDropCGroupStmt(pCxt, yymsp[-3].minor.yy429, &yymsp[-2].minor.yy461, &yymsp[0].minor.yy461); } break; case 380: /* cmd ::= DESC full_table_name */ case 381: /* cmd ::= DESCRIBE full_table_name */ yytestcase(yyruleno==381); - { pCxt->pRootNode = createDescribeStmt(pCxt, yymsp[0].minor.yy248); } + { pCxt->pRootNode = createDescribeStmt(pCxt, yymsp[0].minor.yy724); } break; case 382: /* cmd ::= RESET QUERY CACHE */ { pCxt->pRootNode = createResetQueryCacheStmt(pCxt); } break; case 383: /* cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ case 384: /* cmd ::= EXPLAIN analyze_opt explain_options insert_query */ yytestcase(yyruleno==384); - { pCxt->pRootNode = createExplainStmt(pCxt, yymsp[-2].minor.yy89, yymsp[-1].minor.yy248, yymsp[0].minor.yy248); } + { pCxt->pRootNode = createExplainStmt(pCxt, yymsp[-2].minor.yy429, yymsp[-1].minor.yy724, yymsp[0].minor.yy724); } break; case 387: /* explain_options ::= */ - { yymsp[1].minor.yy248 = createDefaultExplainOptions(pCxt); } + { yymsp[1].minor.yy724 = createDefaultExplainOptions(pCxt); } break; case 388: /* explain_options ::= explain_options VERBOSE NK_BOOL */ - { yylhsminor.yy248 = setExplainVerbose(pCxt, yymsp[-2].minor.yy248, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setExplainVerbose(pCxt, yymsp[-2].minor.yy724, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 389: /* explain_options ::= explain_options RATIO NK_FLOAT */ - { yylhsminor.yy248 = setExplainRatio(pCxt, yymsp[-2].minor.yy248, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setExplainRatio(pCxt, yymsp[-2].minor.yy724, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 390: /* cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt */ - { pCxt->pRootNode = createCreateFunctionStmt(pCxt, yymsp[-7].minor.yy89, yymsp[-9].minor.yy89, &yymsp[-6].minor.yy401, &yymsp[-4].minor.yy0, yymsp[-2].minor.yy976, yymsp[-1].minor.yy604, &yymsp[0].minor.yy401, yymsp[-10].minor.yy89); } + { pCxt->pRootNode = createCreateFunctionStmt(pCxt, yymsp[-7].minor.yy429, yymsp[-9].minor.yy429, &yymsp[-6].minor.yy461, &yymsp[-4].minor.yy0, yymsp[-2].minor.yy1016, yymsp[-1].minor.yy696, &yymsp[0].minor.yy461, yymsp[-10].minor.yy429); } break; case 391: /* cmd ::= DROP FUNCTION exists_opt function_name */ - { pCxt->pRootNode = createDropFunctionStmt(pCxt, yymsp[-1].minor.yy89, &yymsp[0].minor.yy401); } + { pCxt->pRootNode = createDropFunctionStmt(pCxt, yymsp[-1].minor.yy429, &yymsp[0].minor.yy461); } break; case 396: /* language_opt ::= */ case 441: /* on_vgroup_id ::= */ yytestcase(yyruleno==441); - { yymsp[1].minor.yy401 = nil_token; } + { yymsp[1].minor.yy461 = nil_token; } break; case 397: /* language_opt ::= LANGUAGE NK_STRING */ case 442: /* on_vgroup_id ::= ON NK_INTEGER */ yytestcase(yyruleno==442); - { yymsp[-1].minor.yy401 = yymsp[0].minor.yy0; } + { yymsp[-1].minor.yy461 = yymsp[0].minor.yy0; } break; case 400: /* cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ - { pCxt->pRootNode = createCreateViewStmt(pCxt, yymsp[-4].minor.yy89, yymsp[-2].minor.yy248, &yymsp[-1].minor.yy0, yymsp[0].minor.yy248); } + { pCxt->pRootNode = createCreateViewStmt(pCxt, yymsp[-4].minor.yy429, yymsp[-2].minor.yy724, &yymsp[-1].minor.yy0, yymsp[0].minor.yy724); } break; case 401: /* cmd ::= DROP VIEW exists_opt full_view_name */ - { pCxt->pRootNode = createDropViewStmt(pCxt, yymsp[-1].minor.yy89, yymsp[0].minor.yy248); } + { pCxt->pRootNode = createDropViewStmt(pCxt, yymsp[-1].minor.yy429, yymsp[0].minor.yy724); } break; case 402: /* full_view_name ::= view_name */ - { yylhsminor.yy248 = createViewNode(pCxt, NULL, &yymsp[0].minor.yy401); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createViewNode(pCxt, NULL, &yymsp[0].minor.yy461); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 403: /* full_view_name ::= db_name NK_DOT view_name */ - { yylhsminor.yy248 = createViewNode(pCxt, &yymsp[-2].minor.yy401, &yymsp[0].minor.yy401); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createViewNode(pCxt, &yymsp[-2].minor.yy461, &yymsp[0].minor.yy461); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 404: /* cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name col_list_opt tag_def_or_ref_opt subtable_opt AS query_or_subquery */ - { pCxt->pRootNode = createCreateStreamStmt(pCxt, yymsp[-9].minor.yy89, &yymsp[-8].minor.yy401, yymsp[-5].minor.yy248, yymsp[-7].minor.yy248, yymsp[-3].minor.yy928, yymsp[-2].minor.yy248, yymsp[0].minor.yy248, yymsp[-4].minor.yy928); } + { pCxt->pRootNode = createCreateStreamStmt(pCxt, yymsp[-9].minor.yy429, &yymsp[-8].minor.yy461, yymsp[-5].minor.yy724, yymsp[-7].minor.yy724, yymsp[-3].minor.yy712, yymsp[-2].minor.yy724, yymsp[0].minor.yy724, yymsp[-4].minor.yy712); } break; case 405: /* cmd ::= DROP STREAM exists_opt stream_name */ - { pCxt->pRootNode = createDropStreamStmt(pCxt, yymsp[-1].minor.yy89, &yymsp[0].minor.yy401); } + { pCxt->pRootNode = createDropStreamStmt(pCxt, yymsp[-1].minor.yy429, &yymsp[0].minor.yy461); } break; case 406: /* cmd ::= PAUSE STREAM exists_opt stream_name */ - { pCxt->pRootNode = createPauseStreamStmt(pCxt, yymsp[-1].minor.yy89, &yymsp[0].minor.yy401); } + { pCxt->pRootNode = createPauseStreamStmt(pCxt, yymsp[-1].minor.yy429, &yymsp[0].minor.yy461); } break; case 407: /* cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ - { pCxt->pRootNode = createResumeStreamStmt(pCxt, yymsp[-2].minor.yy89, yymsp[-1].minor.yy89, &yymsp[0].minor.yy401); } + { pCxt->pRootNode = createResumeStreamStmt(pCxt, yymsp[-2].minor.yy429, yymsp[-1].minor.yy429, &yymsp[0].minor.yy461); } break; case 412: /* column_stream_def ::= column_name stream_col_options */ - { yylhsminor.yy248 = createColumnDefNode(pCxt, &yymsp[-1].minor.yy401, createDataType(TSDB_DATA_TYPE_NULL), yymsp[0].minor.yy248); } - yymsp[-1].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createColumnDefNode(pCxt, &yymsp[-1].minor.yy461, createDataType(TSDB_DATA_TYPE_NULL), yymsp[0].minor.yy724); } + yymsp[-1].minor.yy724 = yylhsminor.yy724; break; case 413: /* stream_col_options ::= */ - case 765: /* column_options ::= */ yytestcase(yyruleno==765); - { yymsp[1].minor.yy248 = createDefaultColumnOptions(pCxt); } + case 768: /* column_options ::= */ yytestcase(yyruleno==768); + { yymsp[1].minor.yy724 = createDefaultColumnOptions(pCxt); } break; case 414: /* stream_col_options ::= stream_col_options PRIMARY KEY */ - case 766: /* column_options ::= column_options PRIMARY KEY */ yytestcase(yyruleno==766); - { yylhsminor.yy248 = setColumnOptionsPK(pCxt, yymsp[-2].minor.yy248); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + case 769: /* column_options ::= column_options PRIMARY KEY */ yytestcase(yyruleno==769); + { yylhsminor.yy724 = setColumnOptionsPK(pCxt, yymsp[-2].minor.yy724); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 419: /* stream_options ::= stream_options TRIGGER AT_ONCE */ case 420: /* stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ yytestcase(yyruleno==420); - { yylhsminor.yy248 = setStreamOptions(pCxt, yymsp[-2].minor.yy248, SOPT_TRIGGER_TYPE_SET, &yymsp[0].minor.yy0, NULL); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setStreamOptions(pCxt, yymsp[-2].minor.yy724, SOPT_TRIGGER_TYPE_SET, &yymsp[0].minor.yy0, NULL); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 421: /* stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ - { yylhsminor.yy248 = setStreamOptions(pCxt, yymsp[-3].minor.yy248, SOPT_TRIGGER_TYPE_SET, &yymsp[-1].minor.yy0, releaseRawExprNode(pCxt, yymsp[0].minor.yy248)); } - yymsp[-3].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setStreamOptions(pCxt, yymsp[-3].minor.yy724, SOPT_TRIGGER_TYPE_SET, &yymsp[-1].minor.yy0, releaseRawExprNode(pCxt, yymsp[0].minor.yy724)); } + yymsp[-3].minor.yy724 = yylhsminor.yy724; break; case 422: /* stream_options ::= stream_options WATERMARK duration_literal */ - { yylhsminor.yy248 = setStreamOptions(pCxt, yymsp[-2].minor.yy248, SOPT_WATERMARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy248)); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setStreamOptions(pCxt, yymsp[-2].minor.yy724, SOPT_WATERMARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy724)); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 423: /* stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ - { yylhsminor.yy248 = setStreamOptions(pCxt, yymsp[-3].minor.yy248, SOPT_IGNORE_EXPIRED_SET, &yymsp[0].minor.yy0, NULL); } - yymsp[-3].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setStreamOptions(pCxt, yymsp[-3].minor.yy724, SOPT_IGNORE_EXPIRED_SET, &yymsp[0].minor.yy0, NULL); } + yymsp[-3].minor.yy724 = yylhsminor.yy724; break; case 424: /* stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ - { yylhsminor.yy248 = setStreamOptions(pCxt, yymsp[-2].minor.yy248, SOPT_FILL_HISTORY_SET, &yymsp[0].minor.yy0, NULL); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setStreamOptions(pCxt, yymsp[-2].minor.yy724, SOPT_FILL_HISTORY_SET, &yymsp[0].minor.yy0, NULL); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 425: /* stream_options ::= stream_options DELETE_MARK duration_literal */ - { yylhsminor.yy248 = setStreamOptions(pCxt, yymsp[-2].minor.yy248, SOPT_DELETE_MARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy248)); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setStreamOptions(pCxt, yymsp[-2].minor.yy724, SOPT_DELETE_MARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy724)); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 426: /* stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ - { yylhsminor.yy248 = setStreamOptions(pCxt, yymsp[-3].minor.yy248, SOPT_IGNORE_UPDATE_SET, &yymsp[0].minor.yy0, NULL); } - yymsp[-3].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = setStreamOptions(pCxt, yymsp[-3].minor.yy724, SOPT_IGNORE_UPDATE_SET, &yymsp[0].minor.yy0, NULL); } + yymsp[-3].minor.yy724 = yylhsminor.yy724; break; case 428: /* subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ - case 709: /* sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ yytestcase(yyruleno==709); - case 733: /* every_opt ::= EVERY NK_LP duration_literal NK_RP */ yytestcase(yyruleno==733); - { yymsp[-3].minor.yy248 = releaseRawExprNode(pCxt, yymsp[-1].minor.yy248); } + case 712: /* sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ yytestcase(yyruleno==712); + case 736: /* every_opt ::= EVERY NK_LP duration_literal NK_RP */ yytestcase(yyruleno==736); + { yymsp[-3].minor.yy724 = releaseRawExprNode(pCxt, yymsp[-1].minor.yy724); } break; case 431: /* cmd ::= KILL CONNECTION NK_INTEGER */ { pCxt->pRootNode = createKillStmt(pCxt, QUERY_NODE_KILL_CONNECTION_STMT, &yymsp[0].minor.yy0); } @@ -7189,37 +7276,37 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createBalanceVgroupStmt(pCxt); } break; case 436: /* cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ - { pCxt->pRootNode = createBalanceVgroupLeaderStmt(pCxt, &yymsp[0].minor.yy401); } + { pCxt->pRootNode = createBalanceVgroupLeaderStmt(pCxt, &yymsp[0].minor.yy461); } break; case 437: /* cmd ::= BALANCE VGROUP LEADER DATABASE db_name */ - { pCxt->pRootNode = createBalanceVgroupLeaderDBNameStmt(pCxt, &yymsp[0].minor.yy401); } + { pCxt->pRootNode = createBalanceVgroupLeaderDBNameStmt(pCxt, &yymsp[0].minor.yy461); } break; case 438: /* cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ { pCxt->pRootNode = createMergeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); } break; case 439: /* cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ - { pCxt->pRootNode = createRedistributeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy928); } + { pCxt->pRootNode = createRedistributeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy712); } break; case 440: /* cmd ::= SPLIT VGROUP NK_INTEGER */ { pCxt->pRootNode = createSplitVgroupStmt(pCxt, &yymsp[0].minor.yy0); } break; case 443: /* dnode_list ::= DNODE NK_INTEGER */ - { yymsp[-1].minor.yy928 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } + { yymsp[-1].minor.yy712 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } break; case 445: /* cmd ::= DELETE FROM full_table_name where_clause_opt */ - { pCxt->pRootNode = createDeleteStmt(pCxt, yymsp[-1].minor.yy248, yymsp[0].minor.yy248); } + { pCxt->pRootNode = createDeleteStmt(pCxt, yymsp[-1].minor.yy724, yymsp[0].minor.yy724); } break; case 448: /* insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ - { yymsp[-6].minor.yy248 = createInsertStmt(pCxt, yymsp[-4].minor.yy248, yymsp[-2].minor.yy928, yymsp[0].minor.yy248); } + { yymsp[-6].minor.yy724 = createInsertStmt(pCxt, yymsp[-4].minor.yy724, yymsp[-2].minor.yy712, yymsp[0].minor.yy724); } break; case 449: /* insert_query ::= INSERT INTO full_table_name query_or_subquery */ - { yymsp[-3].minor.yy248 = createInsertStmt(pCxt, yymsp[-1].minor.yy248, NULL, yymsp[0].minor.yy248); } + { yymsp[-3].minor.yy724 = createInsertStmt(pCxt, yymsp[-1].minor.yy724, NULL, yymsp[0].minor.yy724); } break; case 450: /* tags_literal ::= NK_INTEGER */ case 462: /* tags_literal ::= NK_BIN */ yytestcase(yyruleno==462); case 471: /* tags_literal ::= NK_HEX */ yytestcase(yyruleno==471); - { yylhsminor.yy248 = createRawValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0, NULL); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRawValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0, NULL); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 451: /* tags_literal ::= NK_INTEGER NK_PLUS duration_literal */ case 452: /* tags_literal ::= NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==452); @@ -7231,11 +7318,11 @@ static YYACTIONTYPE yy_reduce( case 482: /* tags_literal ::= NK_STRING NK_MINUS duration_literal */ yytestcase(yyruleno==482); { SToken l = yymsp[-2].minor.yy0; - SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy248); + SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy724); l.n = (r.z + r.n) - l.z; - yylhsminor.yy248 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, NULL, yymsp[0].minor.yy248); + yylhsminor.yy724 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, NULL, yymsp[0].minor.yy724); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 453: /* tags_literal ::= NK_PLUS NK_INTEGER */ case 456: /* tags_literal ::= NK_MINUS NK_INTEGER */ yytestcase(yyruleno==456); @@ -7246,9 +7333,9 @@ static YYACTIONTYPE yy_reduce( { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy248 = createRawValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &t, NULL); + yylhsminor.yy724 = createRawValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &t, NULL); } - yymsp[-1].minor.yy248 = yylhsminor.yy248; + yymsp[-1].minor.yy724 = yylhsminor.yy724; break; case 454: /* tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal */ case 455: /* tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==455); @@ -7264,70 +7351,70 @@ static YYACTIONTYPE yy_reduce( case 479: /* tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal */ yytestcase(yyruleno==479); { SToken l = yymsp[-3].minor.yy0; - SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy248); + SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy724); l.n = (r.z + r.n) - l.z; - yylhsminor.yy248 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, NULL, yymsp[0].minor.yy248); + yylhsminor.yy724 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, NULL, yymsp[0].minor.yy724); } - yymsp[-3].minor.yy248 = yylhsminor.yy248; + yymsp[-3].minor.yy724 = yylhsminor.yy724; break; case 459: /* tags_literal ::= NK_FLOAT */ - { yylhsminor.yy248 = createRawValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0, NULL); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRawValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0, NULL); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 460: /* tags_literal ::= NK_PLUS NK_FLOAT */ case 461: /* tags_literal ::= NK_MINUS NK_FLOAT */ yytestcase(yyruleno==461); { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy248 = createRawValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t, NULL); + yylhsminor.yy724 = createRawValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t, NULL); } - yymsp[-1].minor.yy248 = yylhsminor.yy248; + yymsp[-1].minor.yy724 = yylhsminor.yy724; break; case 480: /* tags_literal ::= NK_STRING */ - { yylhsminor.yy248 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0, NULL); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0, NULL); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 483: /* tags_literal ::= NK_BOOL */ - { yylhsminor.yy248 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0, NULL); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0, NULL); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 484: /* tags_literal ::= NULL */ - { yylhsminor.yy248 = createRawValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0, NULL); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRawValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0, NULL); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 485: /* tags_literal ::= literal_func */ - { yylhsminor.yy248 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BINARY, NULL, yymsp[0].minor.yy248); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BINARY, NULL, yymsp[0].minor.yy724); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 486: /* tags_literal ::= literal_func NK_PLUS duration_literal */ case 487: /* tags_literal ::= literal_func NK_MINUS duration_literal */ yytestcase(yyruleno==487); { - SToken l = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy248); - SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy248); + SToken l = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy724); + SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy724); l.n = (r.z + r.n) - l.z; - yylhsminor.yy248 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, yymsp[-2].minor.yy248, yymsp[0].minor.yy248); + yylhsminor.yy724 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, yymsp[-2].minor.yy724, yymsp[0].minor.yy724); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 490: /* literal ::= NK_INTEGER */ - { yylhsminor.yy248 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 491: /* literal ::= NK_FLOAT */ - { yylhsminor.yy248 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 492: /* literal ::= NK_STRING */ - { yylhsminor.yy248 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 493: /* literal ::= NK_BOOL */ - { yylhsminor.yy248 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 494: /* literal ::= TIMESTAMP NK_STRING */ - { yylhsminor.yy248 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0)); } - yymsp[-1].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0)); } + yymsp[-1].minor.yy724 = yylhsminor.yy724; break; case 495: /* literal ::= duration_literal */ case 505: /* signed_literal ::= signed */ yytestcase(yyruleno==505); @@ -7337,198 +7424,199 @@ static YYACTIONTYPE yy_reduce( case 533: /* expression ::= function_expression */ yytestcase(yyruleno==533); case 534: /* expression ::= case_when_expression */ yytestcase(yyruleno==534); case 577: /* function_expression ::= literal_func */ yytestcase(yyruleno==577); - case 633: /* boolean_value_expression ::= boolean_primary */ yytestcase(yyruleno==633); - case 637: /* boolean_primary ::= predicate */ yytestcase(yyruleno==637); - case 639: /* common_expression ::= expr_or_subquery */ yytestcase(yyruleno==639); - case 640: /* common_expression ::= boolean_value_expression */ yytestcase(yyruleno==640); - case 643: /* table_reference_list ::= table_reference */ yytestcase(yyruleno==643); - case 645: /* table_reference ::= table_primary */ yytestcase(yyruleno==645); - case 646: /* table_reference ::= joined_table */ yytestcase(yyruleno==646); - case 650: /* table_primary ::= parenthesized_joined_table */ yytestcase(yyruleno==650); - case 735: /* query_simple ::= query_specification */ yytestcase(yyruleno==735); - case 736: /* query_simple ::= union_query_expression */ yytestcase(yyruleno==736); - case 739: /* query_simple_or_subquery ::= query_simple */ yytestcase(yyruleno==739); - case 741: /* query_or_subquery ::= query_expression */ yytestcase(yyruleno==741); - { yylhsminor.yy248 = yymsp[0].minor.yy248; } - yymsp[0].minor.yy248 = yylhsminor.yy248; + case 578: /* function_expression ::= rand_func */ yytestcase(yyruleno==578); + case 636: /* boolean_value_expression ::= boolean_primary */ yytestcase(yyruleno==636); + case 640: /* boolean_primary ::= predicate */ yytestcase(yyruleno==640); + case 642: /* common_expression ::= expr_or_subquery */ yytestcase(yyruleno==642); + case 643: /* common_expression ::= boolean_value_expression */ yytestcase(yyruleno==643); + case 646: /* table_reference_list ::= table_reference */ yytestcase(yyruleno==646); + case 648: /* table_reference ::= table_primary */ yytestcase(yyruleno==648); + case 649: /* table_reference ::= joined_table */ yytestcase(yyruleno==649); + case 653: /* table_primary ::= parenthesized_joined_table */ yytestcase(yyruleno==653); + case 738: /* query_simple ::= query_specification */ yytestcase(yyruleno==738); + case 739: /* query_simple ::= union_query_expression */ yytestcase(yyruleno==739); + case 742: /* query_simple_or_subquery ::= query_simple */ yytestcase(yyruleno==742); + case 744: /* query_or_subquery ::= query_expression */ yytestcase(yyruleno==744); + { yylhsminor.yy724 = yymsp[0].minor.yy724; } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 496: /* literal ::= NULL */ - { yylhsminor.yy248 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 497: /* literal ::= NK_QUESTION */ - { yylhsminor.yy248 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 498: /* duration_literal ::= NK_VARIABLE */ - case 710: /* interval_sliding_duration_literal ::= NK_VARIABLE */ yytestcase(yyruleno==710); - case 711: /* interval_sliding_duration_literal ::= NK_STRING */ yytestcase(yyruleno==711); - case 712: /* interval_sliding_duration_literal ::= NK_INTEGER */ yytestcase(yyruleno==712); - { yylhsminor.yy248 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + case 713: /* interval_sliding_duration_literal ::= NK_VARIABLE */ yytestcase(yyruleno==713); + case 714: /* interval_sliding_duration_literal ::= NK_STRING */ yytestcase(yyruleno==714); + case 715: /* interval_sliding_duration_literal ::= NK_INTEGER */ yytestcase(yyruleno==715); + { yylhsminor.yy724 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 499: /* signed ::= NK_INTEGER */ - { yylhsminor.yy248 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 500: /* signed ::= NK_PLUS NK_INTEGER */ - { yymsp[-1].minor.yy248 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } + { yymsp[-1].minor.yy724 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } break; case 501: /* signed ::= NK_MINUS NK_INTEGER */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy248 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &t); + yylhsminor.yy724 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &t); } - yymsp[-1].minor.yy248 = yylhsminor.yy248; + yymsp[-1].minor.yy724 = yylhsminor.yy724; break; case 502: /* signed ::= NK_FLOAT */ - { yylhsminor.yy248 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 503: /* signed ::= NK_PLUS NK_FLOAT */ - { yymsp[-1].minor.yy248 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } + { yymsp[-1].minor.yy724 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } break; case 504: /* signed ::= NK_MINUS NK_FLOAT */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy248 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t); + yylhsminor.yy724 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t); } - yymsp[-1].minor.yy248 = yylhsminor.yy248; + yymsp[-1].minor.yy724 = yylhsminor.yy724; break; case 506: /* signed_literal ::= NK_STRING */ - { yylhsminor.yy248 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 507: /* signed_literal ::= NK_BOOL */ - { yylhsminor.yy248 = createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 508: /* signed_literal ::= TIMESTAMP NK_STRING */ - { yymsp[-1].minor.yy248 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } + { yymsp[-1].minor.yy724 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } break; case 509: /* signed_literal ::= duration_literal */ case 511: /* signed_literal ::= literal_func */ yytestcase(yyruleno==511); - case 604: /* star_func_para ::= expr_or_subquery */ yytestcase(yyruleno==604); - case 687: /* select_item ::= common_expression */ yytestcase(yyruleno==687); - case 697: /* partition_item ::= expr_or_subquery */ yytestcase(yyruleno==697); - case 740: /* query_simple_or_subquery ::= subquery */ yytestcase(yyruleno==740); - case 742: /* query_or_subquery ::= subquery */ yytestcase(yyruleno==742); - case 755: /* search_condition ::= common_expression */ yytestcase(yyruleno==755); - { yylhsminor.yy248 = releaseRawExprNode(pCxt, yymsp[0].minor.yy248); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + case 607: /* star_func_para ::= expr_or_subquery */ yytestcase(yyruleno==607); + case 690: /* select_item ::= common_expression */ yytestcase(yyruleno==690); + case 700: /* partition_item ::= expr_or_subquery */ yytestcase(yyruleno==700); + case 743: /* query_simple_or_subquery ::= subquery */ yytestcase(yyruleno==743); + case 745: /* query_or_subquery ::= subquery */ yytestcase(yyruleno==745); + case 758: /* search_condition ::= common_expression */ yytestcase(yyruleno==758); + { yylhsminor.yy724 = releaseRawExprNode(pCxt, yymsp[0].minor.yy724); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 510: /* signed_literal ::= NULL */ - { yylhsminor.yy248 = createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 512: /* signed_literal ::= NK_QUESTION */ - { yylhsminor.yy248 = createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 531: /* expression ::= pseudo_column */ - { yylhsminor.yy248 = yymsp[0].minor.yy248; (void)setRawExprNodeIsPseudoColumn(pCxt, yylhsminor.yy248, true); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = yymsp[0].minor.yy724; (void)setRawExprNodeIsPseudoColumn(pCxt, yylhsminor.yy724, true); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 535: /* expression ::= NK_LP expression NK_RP */ - case 638: /* boolean_primary ::= NK_LP boolean_value_expression NK_RP */ yytestcase(yyruleno==638); - case 754: /* subquery ::= NK_LP subquery NK_RP */ yytestcase(yyruleno==754); - { yylhsminor.yy248 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, releaseRawExprNode(pCxt, yymsp[-1].minor.yy248)); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + case 641: /* boolean_primary ::= NK_LP boolean_value_expression NK_RP */ yytestcase(yyruleno==641); + case 757: /* subquery ::= NK_LP subquery NK_RP */ yytestcase(yyruleno==757); + { yylhsminor.yy724 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, releaseRawExprNode(pCxt, yymsp[-1].minor.yy724)); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 536: /* expression ::= NK_PLUS expr_or_subquery */ { - SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy248); - yylhsminor.yy248 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, releaseRawExprNode(pCxt, yymsp[0].minor.yy248)); + SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy724); + yylhsminor.yy724 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, releaseRawExprNode(pCxt, yymsp[0].minor.yy724)); } - yymsp[-1].minor.yy248 = yylhsminor.yy248; + yymsp[-1].minor.yy724 = yylhsminor.yy724; break; case 537: /* expression ::= NK_MINUS expr_or_subquery */ { - SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy248); - yylhsminor.yy248 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, createOperatorNode(pCxt, OP_TYPE_MINUS, releaseRawExprNode(pCxt, yymsp[0].minor.yy248), NULL)); + SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy724); + yylhsminor.yy724 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, createOperatorNode(pCxt, OP_TYPE_MINUS, releaseRawExprNode(pCxt, yymsp[0].minor.yy724), NULL)); } - yymsp[-1].minor.yy248 = yylhsminor.yy248; + yymsp[-1].minor.yy724 = yylhsminor.yy724; break; case 538: /* expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy248); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy248); - yylhsminor.yy248 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_ADD, releaseRawExprNode(pCxt, yymsp[-2].minor.yy248), releaseRawExprNode(pCxt, yymsp[0].minor.yy248))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy724); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy724); + yylhsminor.yy724 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_ADD, releaseRawExprNode(pCxt, yymsp[-2].minor.yy724), releaseRawExprNode(pCxt, yymsp[0].minor.yy724))); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 539: /* expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy248); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy248); - yylhsminor.yy248 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_SUB, releaseRawExprNode(pCxt, yymsp[-2].minor.yy248), releaseRawExprNode(pCxt, yymsp[0].minor.yy248))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy724); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy724); + yylhsminor.yy724 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_SUB, releaseRawExprNode(pCxt, yymsp[-2].minor.yy724), releaseRawExprNode(pCxt, yymsp[0].minor.yy724))); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 540: /* expression ::= expr_or_subquery NK_STAR expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy248); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy248); - yylhsminor.yy248 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_MULTI, releaseRawExprNode(pCxt, yymsp[-2].minor.yy248), releaseRawExprNode(pCxt, yymsp[0].minor.yy248))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy724); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy724); + yylhsminor.yy724 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_MULTI, releaseRawExprNode(pCxt, yymsp[-2].minor.yy724), releaseRawExprNode(pCxt, yymsp[0].minor.yy724))); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 541: /* expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy248); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy248); - yylhsminor.yy248 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_DIV, releaseRawExprNode(pCxt, yymsp[-2].minor.yy248), releaseRawExprNode(pCxt, yymsp[0].minor.yy248))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy724); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy724); + yylhsminor.yy724 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_DIV, releaseRawExprNode(pCxt, yymsp[-2].minor.yy724), releaseRawExprNode(pCxt, yymsp[0].minor.yy724))); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 542: /* expression ::= expr_or_subquery NK_REM expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy248); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy248); - yylhsminor.yy248 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_REM, releaseRawExprNode(pCxt, yymsp[-2].minor.yy248), releaseRawExprNode(pCxt, yymsp[0].minor.yy248))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy724); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy724); + yylhsminor.yy724 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_REM, releaseRawExprNode(pCxt, yymsp[-2].minor.yy724), releaseRawExprNode(pCxt, yymsp[0].minor.yy724))); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 543: /* expression ::= column_reference NK_ARROW NK_STRING */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy248); - yylhsminor.yy248 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_JSON_GET_VALUE, releaseRawExprNode(pCxt, yymsp[-2].minor.yy248), createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy724); + yylhsminor.yy724 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_JSON_GET_VALUE, releaseRawExprNode(pCxt, yymsp[-2].minor.yy724), createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0))); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 544: /* expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy248); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy248); - yylhsminor.yy248 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy248), releaseRawExprNode(pCxt, yymsp[0].minor.yy248))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy724); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy724); + yylhsminor.yy724 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy724), releaseRawExprNode(pCxt, yymsp[0].minor.yy724))); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 545: /* expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy248); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy248); - yylhsminor.yy248 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy248), releaseRawExprNode(pCxt, yymsp[0].minor.yy248))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy724); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy724); + yylhsminor.yy724 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy724), releaseRawExprNode(pCxt, yymsp[0].minor.yy724))); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 548: /* column_reference ::= column_name */ - { yylhsminor.yy248 = createRawExprNode(pCxt, &yymsp[0].minor.yy401, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy401)); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRawExprNode(pCxt, &yymsp[0].minor.yy461, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy461)); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 549: /* column_reference ::= table_name NK_DOT column_name */ - { yylhsminor.yy248 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy401, &yymsp[0].minor.yy401, createColumnNode(pCxt, &yymsp[-2].minor.yy401, &yymsp[0].minor.yy401)); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy461, &yymsp[0].minor.yy461, createColumnNode(pCxt, &yymsp[-2].minor.yy461, &yymsp[0].minor.yy461)); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 550: /* column_reference ::= NK_ALIAS */ - { yylhsminor.yy248 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 551: /* column_reference ::= table_name NK_DOT NK_ALIAS */ - { yylhsminor.yy248 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy401, &yymsp[0].minor.yy0, createColumnNode(pCxt, &yymsp[-2].minor.yy401, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy461, &yymsp[0].minor.yy0, createColumnNode(pCxt, &yymsp[-2].minor.yy461, &yymsp[0].minor.yy0)); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 552: /* pseudo_column ::= ROWTS */ case 553: /* pseudo_column ::= TBNAME */ yytestcase(yyruleno==553); @@ -7541,444 +7629,449 @@ static YYACTIONTYPE yy_reduce( case 561: /* pseudo_column ::= IROWTS */ yytestcase(yyruleno==561); case 562: /* pseudo_column ::= ISFILLED */ yytestcase(yyruleno==562); case 563: /* pseudo_column ::= QTAGS */ yytestcase(yyruleno==563); - case 579: /* literal_func ::= NOW */ yytestcase(yyruleno==579); - case 580: /* literal_func ::= TODAY */ yytestcase(yyruleno==580); - { yylhsminor.yy248 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL)); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + case 580: /* literal_func ::= NOW */ yytestcase(yyruleno==580); + case 581: /* literal_func ::= TODAY */ yytestcase(yyruleno==581); + { yylhsminor.yy724 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL)); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; case 554: /* pseudo_column ::= table_name NK_DOT TBNAME */ - { yylhsminor.yy248 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy401, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[-2].minor.yy401)))); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy461, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[-2].minor.yy461)))); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; case 564: /* function_expression ::= function_name NK_LP expression_list NK_RP */ case 565: /* function_expression ::= star_func NK_LP star_func_para_list NK_RP */ yytestcase(yyruleno==565); case 573: /* function_expression ::= substr_func NK_LP expression_list NK_RP */ yytestcase(yyruleno==573); - { yylhsminor.yy248 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy401, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-3].minor.yy401, yymsp[-1].minor.yy928)); } - yymsp[-3].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy461, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-3].minor.yy461, yymsp[-1].minor.yy712)); } + yymsp[-3].minor.yy724 = yylhsminor.yy724; break; case 566: /* function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ case 567: /* function_expression ::= CAST NK_LP expr_or_subquery AS type_name_default_len NK_RP */ yytestcase(yyruleno==567); - { yylhsminor.yy248 = createRawExprNodeExt(pCxt, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0, createCastFunctionNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy248), yymsp[-1].minor.yy976)); } - yymsp[-5].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRawExprNodeExt(pCxt, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0, createCastFunctionNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy724), yymsp[-1].minor.yy1016)); } + yymsp[-5].minor.yy724 = yylhsminor.yy724; break; case 568: /* function_expression ::= POSITION NK_LP expr_or_subquery IN expr_or_subquery NK_RP */ - { yylhsminor.yy248 = createRawExprNodeExt(pCxt, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0, createPositionFunctionNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy248), releaseRawExprNode(pCxt, yymsp[-1].minor.yy248))); } - yymsp[-5].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRawExprNodeExt(pCxt, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0, createPositionFunctionNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy724), releaseRawExprNode(pCxt, yymsp[-1].minor.yy724))); } + yymsp[-5].minor.yy724 = yylhsminor.yy724; break; case 569: /* function_expression ::= TRIM NK_LP expr_or_subquery NK_RP */ - { yylhsminor.yy248 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, createTrimFunctionNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy248), TRIM_TYPE_BOTH)); } - yymsp[-3].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, createTrimFunctionNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy724), TRIM_TYPE_BOTH)); } + yymsp[-3].minor.yy724 = yylhsminor.yy724; break; case 570: /* function_expression ::= TRIM NK_LP trim_specification_type FROM expr_or_subquery NK_RP */ - { yylhsminor.yy248 = createRawExprNodeExt(pCxt, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0, createTrimFunctionNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy248), yymsp[-3].minor.yy72)); } - yymsp[-5].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRawExprNodeExt(pCxt, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0, createTrimFunctionNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy724), yymsp[-3].minor.yy796)); } + yymsp[-5].minor.yy724 = yylhsminor.yy724; break; case 571: /* function_expression ::= TRIM NK_LP expr_or_subquery FROM expr_or_subquery NK_RP */ - { yylhsminor.yy248 = createRawExprNodeExt(pCxt, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0, createTrimFunctionNodeExt(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy248), releaseRawExprNode(pCxt, yymsp[-1].minor.yy248), TRIM_TYPE_BOTH)); } - yymsp[-5].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRawExprNodeExt(pCxt, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0, createTrimFunctionNodeExt(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy724), releaseRawExprNode(pCxt, yymsp[-1].minor.yy724), TRIM_TYPE_BOTH)); } + yymsp[-5].minor.yy724 = yylhsminor.yy724; break; case 572: /* function_expression ::= TRIM NK_LP trim_specification_type expr_or_subquery FROM expr_or_subquery NK_RP */ - { yylhsminor.yy248 = createRawExprNodeExt(pCxt, &yymsp[-6].minor.yy0, &yymsp[0].minor.yy0, createTrimFunctionNodeExt(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy248), releaseRawExprNode(pCxt, yymsp[-1].minor.yy248), yymsp[-4].minor.yy72)); } - yymsp[-6].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRawExprNodeExt(pCxt, &yymsp[-6].minor.yy0, &yymsp[0].minor.yy0, createTrimFunctionNodeExt(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy724), releaseRawExprNode(pCxt, yymsp[-1].minor.yy724), yymsp[-4].minor.yy796)); } + yymsp[-6].minor.yy724 = yylhsminor.yy724; break; case 574: /* function_expression ::= substr_func NK_LP expr_or_subquery FROM expr_or_subquery NK_RP */ - { yylhsminor.yy248 = createRawExprNodeExt(pCxt, &yymsp[-5].minor.yy401, &yymsp[0].minor.yy0, createSubstrFunctionNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy248), releaseRawExprNode(pCxt, yymsp[-1].minor.yy248))); } - yymsp[-5].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRawExprNodeExt(pCxt, &yymsp[-5].minor.yy461, &yymsp[0].minor.yy0, createSubstrFunctionNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy724), releaseRawExprNode(pCxt, yymsp[-1].minor.yy724))); } + yymsp[-5].minor.yy724 = yylhsminor.yy724; break; case 575: /* function_expression ::= substr_func NK_LP expr_or_subquery FROM expr_or_subquery FOR expr_or_subquery NK_RP */ - { yylhsminor.yy248 = createRawExprNodeExt(pCxt, &yymsp[-7].minor.yy401, &yymsp[0].minor.yy0, createSubstrFunctionNodeExt(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy248), releaseRawExprNode(pCxt, yymsp[-3].minor.yy248), releaseRawExprNode(pCxt, yymsp[-1].minor.yy248))); } - yymsp[-7].minor.yy248 = yylhsminor.yy248; + { yylhsminor.yy724 = createRawExprNodeExt(pCxt, &yymsp[-7].minor.yy461, &yymsp[0].minor.yy0, createSubstrFunctionNodeExt(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy724), releaseRawExprNode(pCxt, yymsp[-3].minor.yy724), releaseRawExprNode(pCxt, yymsp[-1].minor.yy724))); } + yymsp[-7].minor.yy724 = yylhsminor.yy724; break; case 576: /* function_expression ::= REPLACE NK_LP expression_list NK_RP */ - { yylhsminor.yy248 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-3].minor.yy0, yymsp[-1].minor.yy928)); } - yymsp[-3].minor.yy248 = yylhsminor.yy248; + case 583: /* rand_func ::= RAND NK_LP expression_list NK_RP */ yytestcase(yyruleno==583); + { yylhsminor.yy724 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-3].minor.yy0, yymsp[-1].minor.yy712)); } + yymsp[-3].minor.yy724 = yylhsminor.yy724; break; - case 578: /* literal_func ::= noarg_func NK_LP NK_RP */ - { yylhsminor.yy248 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy401, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-2].minor.yy401, NULL)); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + case 579: /* literal_func ::= noarg_func NK_LP NK_RP */ + { yylhsminor.yy724 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy461, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-2].minor.yy461, NULL)); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; - case 583: /* trim_specification_type ::= BOTH */ - { yymsp[0].minor.yy72 = TRIM_TYPE_BOTH; } + case 582: /* rand_func ::= RAND NK_LP NK_RP */ + { yylhsminor.yy724 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-2].minor.yy0, NULL)); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; + break; + case 586: /* trim_specification_type ::= BOTH */ + { yymsp[0].minor.yy796 = TRIM_TYPE_BOTH; } break; - case 584: /* trim_specification_type ::= TRAILING */ - { yymsp[0].minor.yy72 = TRIM_TYPE_TRAILING; } + case 587: /* trim_specification_type ::= TRAILING */ + { yymsp[0].minor.yy796 = TRIM_TYPE_TRAILING; } break; - case 585: /* trim_specification_type ::= LEADING */ - { yymsp[0].minor.yy72 = TRIM_TYPE_LEADING; } + case 588: /* trim_specification_type ::= LEADING */ + { yymsp[0].minor.yy796 = TRIM_TYPE_LEADING; } break; - case 600: /* star_func_para_list ::= NK_STAR */ - { yylhsminor.yy928 = createNodeList(pCxt, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy928 = yylhsminor.yy928; + case 603: /* star_func_para_list ::= NK_STAR */ + { yylhsminor.yy712 = createNodeList(pCxt, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy712 = yylhsminor.yy712; break; - case 605: /* star_func_para ::= table_name NK_DOT NK_STAR */ - case 690: /* select_item ::= table_name NK_DOT NK_STAR */ yytestcase(yyruleno==690); - { yylhsminor.yy248 = createColumnNode(pCxt, &yymsp[-2].minor.yy401, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + case 608: /* star_func_para ::= table_name NK_DOT NK_STAR */ + case 693: /* select_item ::= table_name NK_DOT NK_STAR */ yytestcase(yyruleno==693); + { yylhsminor.yy724 = createColumnNode(pCxt, &yymsp[-2].minor.yy461, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; - case 606: /* case_when_expression ::= CASE when_then_list case_when_else_opt END */ - { yylhsminor.yy248 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, NULL, yymsp[-2].minor.yy928, yymsp[-1].minor.yy248)); } - yymsp[-3].minor.yy248 = yylhsminor.yy248; + case 609: /* case_when_expression ::= CASE when_then_list case_when_else_opt END */ + { yylhsminor.yy724 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, NULL, yymsp[-2].minor.yy712, yymsp[-1].minor.yy724)); } + yymsp[-3].minor.yy724 = yylhsminor.yy724; break; - case 607: /* case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ - { yylhsminor.yy248 = createRawExprNodeExt(pCxt, &yymsp[-4].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy248), yymsp[-2].minor.yy928, yymsp[-1].minor.yy248)); } - yymsp[-4].minor.yy248 = yylhsminor.yy248; + case 610: /* case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ + { yylhsminor.yy724 = createRawExprNodeExt(pCxt, &yymsp[-4].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy724), yymsp[-2].minor.yy712, yymsp[-1].minor.yy724)); } + yymsp[-4].minor.yy724 = yylhsminor.yy724; break; - case 610: /* when_then_expr ::= WHEN common_expression THEN common_expression */ - { yymsp[-3].minor.yy248 = createWhenThenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy248), releaseRawExprNode(pCxt, yymsp[0].minor.yy248)); } + case 613: /* when_then_expr ::= WHEN common_expression THEN common_expression */ + { yymsp[-3].minor.yy724 = createWhenThenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy724), releaseRawExprNode(pCxt, yymsp[0].minor.yy724)); } break; - case 612: /* case_when_else_opt ::= ELSE common_expression */ - { yymsp[-1].minor.yy248 = releaseRawExprNode(pCxt, yymsp[0].minor.yy248); } + case 615: /* case_when_else_opt ::= ELSE common_expression */ + { yymsp[-1].minor.yy724 = releaseRawExprNode(pCxt, yymsp[0].minor.yy724); } break; - case 613: /* predicate ::= expr_or_subquery compare_op expr_or_subquery */ - case 618: /* predicate ::= expr_or_subquery in_op in_predicate_value */ yytestcase(yyruleno==618); + case 616: /* predicate ::= expr_or_subquery compare_op expr_or_subquery */ + case 621: /* predicate ::= expr_or_subquery in_op in_predicate_value */ yytestcase(yyruleno==621); { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy248); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy248); - yylhsminor.yy248 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, yymsp[-1].minor.yy716, releaseRawExprNode(pCxt, yymsp[-2].minor.yy248), releaseRawExprNode(pCxt, yymsp[0].minor.yy248))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy724); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy724); + yylhsminor.yy724 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, yymsp[-1].minor.yy164, releaseRawExprNode(pCxt, yymsp[-2].minor.yy724), releaseRawExprNode(pCxt, yymsp[0].minor.yy724))); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; - case 614: /* predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ + case 617: /* predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-4].minor.yy248); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy248); - yylhsminor.yy248 = createRawExprNodeExt(pCxt, &s, &e, createBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-4].minor.yy248), releaseRawExprNode(pCxt, yymsp[-2].minor.yy248), releaseRawExprNode(pCxt, yymsp[0].minor.yy248))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-4].minor.yy724); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy724); + yylhsminor.yy724 = createRawExprNodeExt(pCxt, &s, &e, createBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-4].minor.yy724), releaseRawExprNode(pCxt, yymsp[-2].minor.yy724), releaseRawExprNode(pCxt, yymsp[0].minor.yy724))); } - yymsp[-4].minor.yy248 = yylhsminor.yy248; + yymsp[-4].minor.yy724 = yylhsminor.yy724; break; - case 615: /* predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ + case 618: /* predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-5].minor.yy248); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy248); - yylhsminor.yy248 = createRawExprNodeExt(pCxt, &s, &e, createNotBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy248), releaseRawExprNode(pCxt, yymsp[-2].minor.yy248), releaseRawExprNode(pCxt, yymsp[0].minor.yy248))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-5].minor.yy724); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy724); + yylhsminor.yy724 = createRawExprNodeExt(pCxt, &s, &e, createNotBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy724), releaseRawExprNode(pCxt, yymsp[-2].minor.yy724), releaseRawExprNode(pCxt, yymsp[0].minor.yy724))); } - yymsp[-5].minor.yy248 = yylhsminor.yy248; + yymsp[-5].minor.yy724 = yylhsminor.yy724; break; - case 616: /* predicate ::= expr_or_subquery IS NULL */ + case 619: /* predicate ::= expr_or_subquery IS NULL */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy248); - yylhsminor.yy248 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NULL, releaseRawExprNode(pCxt, yymsp[-2].minor.yy248), NULL)); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy724); + yylhsminor.yy724 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NULL, releaseRawExprNode(pCxt, yymsp[-2].minor.yy724), NULL)); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; - case 617: /* predicate ::= expr_or_subquery IS NOT NULL */ + case 620: /* predicate ::= expr_or_subquery IS NOT NULL */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-3].minor.yy248); - yylhsminor.yy248 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NOT_NULL, releaseRawExprNode(pCxt, yymsp[-3].minor.yy248), NULL)); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-3].minor.yy724); + yylhsminor.yy724 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NOT_NULL, releaseRawExprNode(pCxt, yymsp[-3].minor.yy724), NULL)); } - yymsp[-3].minor.yy248 = yylhsminor.yy248; + yymsp[-3].minor.yy724 = yylhsminor.yy724; break; - case 619: /* compare_op ::= NK_LT */ - { yymsp[0].minor.yy716 = OP_TYPE_LOWER_THAN; } + case 622: /* compare_op ::= NK_LT */ + { yymsp[0].minor.yy164 = OP_TYPE_LOWER_THAN; } break; - case 620: /* compare_op ::= NK_GT */ - { yymsp[0].minor.yy716 = OP_TYPE_GREATER_THAN; } + case 623: /* compare_op ::= NK_GT */ + { yymsp[0].minor.yy164 = OP_TYPE_GREATER_THAN; } break; - case 621: /* compare_op ::= NK_LE */ - { yymsp[0].minor.yy716 = OP_TYPE_LOWER_EQUAL; } + case 624: /* compare_op ::= NK_LE */ + { yymsp[0].minor.yy164 = OP_TYPE_LOWER_EQUAL; } break; - case 622: /* compare_op ::= NK_GE */ - { yymsp[0].minor.yy716 = OP_TYPE_GREATER_EQUAL; } + case 625: /* compare_op ::= NK_GE */ + { yymsp[0].minor.yy164 = OP_TYPE_GREATER_EQUAL; } break; - case 623: /* compare_op ::= NK_NE */ - { yymsp[0].minor.yy716 = OP_TYPE_NOT_EQUAL; } + case 626: /* compare_op ::= NK_NE */ + { yymsp[0].minor.yy164 = OP_TYPE_NOT_EQUAL; } break; - case 624: /* compare_op ::= NK_EQ */ - { yymsp[0].minor.yy716 = OP_TYPE_EQUAL; } + case 627: /* compare_op ::= NK_EQ */ + { yymsp[0].minor.yy164 = OP_TYPE_EQUAL; } break; - case 625: /* compare_op ::= LIKE */ - { yymsp[0].minor.yy716 = OP_TYPE_LIKE; } + case 628: /* compare_op ::= LIKE */ + { yymsp[0].minor.yy164 = OP_TYPE_LIKE; } break; - case 626: /* compare_op ::= NOT LIKE */ - { yymsp[-1].minor.yy716 = OP_TYPE_NOT_LIKE; } + case 629: /* compare_op ::= NOT LIKE */ + { yymsp[-1].minor.yy164 = OP_TYPE_NOT_LIKE; } break; - case 627: /* compare_op ::= MATCH */ - { yymsp[0].minor.yy716 = OP_TYPE_MATCH; } + case 630: /* compare_op ::= MATCH */ + { yymsp[0].minor.yy164 = OP_TYPE_MATCH; } break; - case 628: /* compare_op ::= NMATCH */ - { yymsp[0].minor.yy716 = OP_TYPE_NMATCH; } + case 631: /* compare_op ::= NMATCH */ + { yymsp[0].minor.yy164 = OP_TYPE_NMATCH; } break; - case 629: /* compare_op ::= CONTAINS */ - { yymsp[0].minor.yy716 = OP_TYPE_JSON_CONTAINS; } + case 632: /* compare_op ::= CONTAINS */ + { yymsp[0].minor.yy164 = OP_TYPE_JSON_CONTAINS; } break; - case 630: /* in_op ::= IN */ - { yymsp[0].minor.yy716 = OP_TYPE_IN; } + case 633: /* in_op ::= IN */ + { yymsp[0].minor.yy164 = OP_TYPE_IN; } break; - case 631: /* in_op ::= NOT IN */ - { yymsp[-1].minor.yy716 = OP_TYPE_NOT_IN; } + case 634: /* in_op ::= NOT IN */ + { yymsp[-1].minor.yy164 = OP_TYPE_NOT_IN; } break; - case 632: /* in_predicate_value ::= NK_LP literal_list NK_RP */ - { yylhsminor.yy248 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, createNodeListNode(pCxt, yymsp[-1].minor.yy928)); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + case 635: /* in_predicate_value ::= NK_LP literal_list NK_RP */ + { yylhsminor.yy724 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, createNodeListNode(pCxt, yymsp[-1].minor.yy712)); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; - case 634: /* boolean_value_expression ::= NOT boolean_primary */ + case 637: /* boolean_value_expression ::= NOT boolean_primary */ { - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy248); - yylhsminor.yy248 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_NOT, releaseRawExprNode(pCxt, yymsp[0].minor.yy248), NULL)); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy724); + yylhsminor.yy724 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_NOT, releaseRawExprNode(pCxt, yymsp[0].minor.yy724), NULL)); } - yymsp[-1].minor.yy248 = yylhsminor.yy248; + yymsp[-1].minor.yy724 = yylhsminor.yy724; break; - case 635: /* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ + case 638: /* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy248); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy248); - yylhsminor.yy248 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy248), releaseRawExprNode(pCxt, yymsp[0].minor.yy248))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy724); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy724); + yylhsminor.yy724 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy724), releaseRawExprNode(pCxt, yymsp[0].minor.yy724))); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; - case 636: /* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ + case 639: /* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy248); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy248); - yylhsminor.yy248 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy248), releaseRawExprNode(pCxt, yymsp[0].minor.yy248))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy724); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy724); + yylhsminor.yy724 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy724), releaseRawExprNode(pCxt, yymsp[0].minor.yy724))); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; - case 644: /* table_reference_list ::= table_reference_list NK_COMMA table_reference */ - { yylhsminor.yy248 = createJoinTableNode(pCxt, JOIN_TYPE_INNER, JOIN_STYPE_NONE, yymsp[-2].minor.yy248, yymsp[0].minor.yy248, NULL); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + case 647: /* table_reference_list ::= table_reference_list NK_COMMA table_reference */ + { yylhsminor.yy724 = createJoinTableNode(pCxt, JOIN_TYPE_INNER, JOIN_STYPE_NONE, yymsp[-2].minor.yy724, yymsp[0].minor.yy724, NULL); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; - case 647: /* table_primary ::= table_name alias_opt */ - { yylhsminor.yy248 = createRealTableNode(pCxt, NULL, &yymsp[-1].minor.yy401, &yymsp[0].minor.yy401); } - yymsp[-1].minor.yy248 = yylhsminor.yy248; + case 650: /* table_primary ::= table_name alias_opt */ + { yylhsminor.yy724 = createRealTableNode(pCxt, NULL, &yymsp[-1].minor.yy461, &yymsp[0].minor.yy461); } + yymsp[-1].minor.yy724 = yylhsminor.yy724; break; - case 648: /* table_primary ::= db_name NK_DOT table_name alias_opt */ - { yylhsminor.yy248 = createRealTableNode(pCxt, &yymsp[-3].minor.yy401, &yymsp[-1].minor.yy401, &yymsp[0].minor.yy401); } - yymsp[-3].minor.yy248 = yylhsminor.yy248; + case 651: /* table_primary ::= db_name NK_DOT table_name alias_opt */ + { yylhsminor.yy724 = createRealTableNode(pCxt, &yymsp[-3].minor.yy461, &yymsp[-1].minor.yy461, &yymsp[0].minor.yy461); } + yymsp[-3].minor.yy724 = yylhsminor.yy724; break; - case 649: /* table_primary ::= subquery alias_opt */ - { yylhsminor.yy248 = createTempTableNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy248), &yymsp[0].minor.yy401); } - yymsp[-1].minor.yy248 = yylhsminor.yy248; + case 652: /* table_primary ::= subquery alias_opt */ + { yylhsminor.yy724 = createTempTableNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy724), &yymsp[0].minor.yy461); } + yymsp[-1].minor.yy724 = yylhsminor.yy724; break; - case 651: /* alias_opt ::= */ - { yymsp[1].minor.yy401 = nil_token; } + case 654: /* alias_opt ::= */ + { yymsp[1].minor.yy461 = nil_token; } break; - case 653: /* alias_opt ::= AS table_alias */ - { yymsp[-1].minor.yy401 = yymsp[0].minor.yy401; } + case 656: /* alias_opt ::= AS table_alias */ + { yymsp[-1].minor.yy461 = yymsp[0].minor.yy461; } break; - case 654: /* parenthesized_joined_table ::= NK_LP joined_table NK_RP */ - case 655: /* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ yytestcase(yyruleno==655); - { yymsp[-2].minor.yy248 = yymsp[-1].minor.yy248; } + case 657: /* parenthesized_joined_table ::= NK_LP joined_table NK_RP */ + case 658: /* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ yytestcase(yyruleno==658); + { yymsp[-2].minor.yy724 = yymsp[-1].minor.yy724; } break; - case 656: /* joined_table ::= table_reference join_type join_subtype JOIN table_reference join_on_clause_opt window_offset_clause_opt jlimit_clause_opt */ + case 659: /* joined_table ::= table_reference join_type join_subtype JOIN table_reference join_on_clause_opt window_offset_clause_opt jlimit_clause_opt */ { - yylhsminor.yy248 = createJoinTableNode(pCxt, yymsp[-6].minor.yy804, yymsp[-5].minor.yy582, yymsp[-7].minor.yy248, yymsp[-3].minor.yy248, yymsp[-2].minor.yy248); - yylhsminor.yy248 = addWindowOffsetClause(pCxt, yylhsminor.yy248, yymsp[-1].minor.yy248); - yylhsminor.yy248 = addJLimitClause(pCxt, yylhsminor.yy248, yymsp[0].minor.yy248); + yylhsminor.yy724 = createJoinTableNode(pCxt, yymsp[-6].minor.yy916, yymsp[-5].minor.yy798, yymsp[-7].minor.yy724, yymsp[-3].minor.yy724, yymsp[-2].minor.yy724); + yylhsminor.yy724 = addWindowOffsetClause(pCxt, yylhsminor.yy724, yymsp[-1].minor.yy724); + yylhsminor.yy724 = addJLimitClause(pCxt, yylhsminor.yy724, yymsp[0].minor.yy724); } - yymsp[-7].minor.yy248 = yylhsminor.yy248; + yymsp[-7].minor.yy724 = yylhsminor.yy724; break; - case 657: /* join_type ::= */ - { yymsp[1].minor.yy804 = JOIN_TYPE_INNER; } + case 660: /* join_type ::= */ + { yymsp[1].minor.yy916 = JOIN_TYPE_INNER; } break; - case 658: /* join_type ::= INNER */ - { yymsp[0].minor.yy804 = JOIN_TYPE_INNER; } + case 661: /* join_type ::= INNER */ + { yymsp[0].minor.yy916 = JOIN_TYPE_INNER; } break; - case 659: /* join_type ::= LEFT */ - { yymsp[0].minor.yy804 = JOIN_TYPE_LEFT; } + case 662: /* join_type ::= LEFT */ + { yymsp[0].minor.yy916 = JOIN_TYPE_LEFT; } break; - case 660: /* join_type ::= RIGHT */ - { yymsp[0].minor.yy804 = JOIN_TYPE_RIGHT; } + case 663: /* join_type ::= RIGHT */ + { yymsp[0].minor.yy916 = JOIN_TYPE_RIGHT; } break; - case 661: /* join_type ::= FULL */ - { yymsp[0].minor.yy804 = JOIN_TYPE_FULL; } + case 664: /* join_type ::= FULL */ + { yymsp[0].minor.yy916 = JOIN_TYPE_FULL; } break; - case 662: /* join_subtype ::= */ - { yymsp[1].minor.yy582 = JOIN_STYPE_NONE; } + case 665: /* join_subtype ::= */ + { yymsp[1].minor.yy798 = JOIN_STYPE_NONE; } break; - case 663: /* join_subtype ::= OUTER */ - { yymsp[0].minor.yy582 = JOIN_STYPE_OUTER; } + case 666: /* join_subtype ::= OUTER */ + { yymsp[0].minor.yy798 = JOIN_STYPE_OUTER; } break; - case 664: /* join_subtype ::= SEMI */ - { yymsp[0].minor.yy582 = JOIN_STYPE_SEMI; } + case 667: /* join_subtype ::= SEMI */ + { yymsp[0].minor.yy798 = JOIN_STYPE_SEMI; } break; - case 665: /* join_subtype ::= ANTI */ - { yymsp[0].minor.yy582 = JOIN_STYPE_ANTI; } + case 668: /* join_subtype ::= ANTI */ + { yymsp[0].minor.yy798 = JOIN_STYPE_ANTI; } break; - case 666: /* join_subtype ::= ASOF */ - { yymsp[0].minor.yy582 = JOIN_STYPE_ASOF; } + case 669: /* join_subtype ::= ASOF */ + { yymsp[0].minor.yy798 = JOIN_STYPE_ASOF; } break; - case 667: /* join_subtype ::= WINDOW */ - { yymsp[0].minor.yy582 = JOIN_STYPE_WIN; } + case 670: /* join_subtype ::= WINDOW */ + { yymsp[0].minor.yy798 = JOIN_STYPE_WIN; } break; - case 671: /* window_offset_clause_opt ::= WINDOW_OFFSET NK_LP window_offset_literal NK_COMMA window_offset_literal NK_RP */ - { yymsp[-5].minor.yy248 = createWindowOffsetNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy248), releaseRawExprNode(pCxt, yymsp[-1].minor.yy248)); } + case 674: /* window_offset_clause_opt ::= WINDOW_OFFSET NK_LP window_offset_literal NK_COMMA window_offset_literal NK_RP */ + { yymsp[-5].minor.yy724 = createWindowOffsetNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy724), releaseRawExprNode(pCxt, yymsp[-1].minor.yy724)); } break; - case 672: /* window_offset_literal ::= NK_VARIABLE */ - { yylhsminor.yy248 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createTimeOffsetValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + case 675: /* window_offset_literal ::= NK_VARIABLE */ + { yylhsminor.yy724 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createTimeOffsetValueNode(pCxt, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; - case 673: /* window_offset_literal ::= NK_MINUS NK_VARIABLE */ + case 676: /* 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; - yylhsminor.yy248 = createRawExprNode(pCxt, &t, createTimeOffsetValueNode(pCxt, &t)); + yylhsminor.yy724 = createRawExprNode(pCxt, &t, createTimeOffsetValueNode(pCxt, &t)); } - yymsp[-1].minor.yy248 = yylhsminor.yy248; + yymsp[-1].minor.yy724 = yylhsminor.yy724; break; - case 675: /* jlimit_clause_opt ::= JLIMIT NK_INTEGER */ - case 746: /* slimit_clause_opt ::= SLIMIT NK_INTEGER */ yytestcase(yyruleno==746); - case 750: /* limit_clause_opt ::= LIMIT NK_INTEGER */ yytestcase(yyruleno==750); - { yymsp[-1].minor.yy248 = createLimitNode(pCxt, &yymsp[0].minor.yy0, NULL); } + case 678: /* jlimit_clause_opt ::= JLIMIT NK_INTEGER */ + case 749: /* slimit_clause_opt ::= SLIMIT NK_INTEGER */ yytestcase(yyruleno==749); + case 753: /* limit_clause_opt ::= LIMIT NK_INTEGER */ yytestcase(yyruleno==753); + { yymsp[-1].minor.yy724 = createLimitNode(pCxt, &yymsp[0].minor.yy0, NULL); } break; - case 676: /* 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 679: /* 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.yy248 = createSelectStmt(pCxt, yymsp[-11].minor.yy89, yymsp[-9].minor.yy928, yymsp[-8].minor.yy248, yymsp[-12].minor.yy928); - yymsp[-13].minor.yy248 = setSelectStmtTagMode(pCxt, yymsp[-13].minor.yy248, yymsp[-10].minor.yy89); - yymsp[-13].minor.yy248 = addWhereClause(pCxt, yymsp[-13].minor.yy248, yymsp[-7].minor.yy248); - yymsp[-13].minor.yy248 = addPartitionByClause(pCxt, yymsp[-13].minor.yy248, yymsp[-6].minor.yy928); - yymsp[-13].minor.yy248 = addWindowClauseClause(pCxt, yymsp[-13].minor.yy248, yymsp[-2].minor.yy248); - yymsp[-13].minor.yy248 = addGroupByClause(pCxt, yymsp[-13].minor.yy248, yymsp[-1].minor.yy928); - yymsp[-13].minor.yy248 = addHavingClause(pCxt, yymsp[-13].minor.yy248, yymsp[0].minor.yy248); - yymsp[-13].minor.yy248 = addRangeClause(pCxt, yymsp[-13].minor.yy248, yymsp[-5].minor.yy248); - yymsp[-13].minor.yy248 = addEveryClause(pCxt, yymsp[-13].minor.yy248, yymsp[-4].minor.yy248); - yymsp[-13].minor.yy248 = addFillClause(pCxt, yymsp[-13].minor.yy248, yymsp[-3].minor.yy248); + yymsp[-13].minor.yy724 = createSelectStmt(pCxt, yymsp[-11].minor.yy429, yymsp[-9].minor.yy712, yymsp[-8].minor.yy724, yymsp[-12].minor.yy712); + yymsp[-13].minor.yy724 = setSelectStmtTagMode(pCxt, yymsp[-13].minor.yy724, yymsp[-10].minor.yy429); + yymsp[-13].minor.yy724 = addWhereClause(pCxt, yymsp[-13].minor.yy724, yymsp[-7].minor.yy724); + yymsp[-13].minor.yy724 = addPartitionByClause(pCxt, yymsp[-13].minor.yy724, yymsp[-6].minor.yy712); + yymsp[-13].minor.yy724 = addWindowClauseClause(pCxt, yymsp[-13].minor.yy724, yymsp[-2].minor.yy724); + yymsp[-13].minor.yy724 = addGroupByClause(pCxt, yymsp[-13].minor.yy724, yymsp[-1].minor.yy712); + yymsp[-13].minor.yy724 = addHavingClause(pCxt, yymsp[-13].minor.yy724, yymsp[0].minor.yy724); + yymsp[-13].minor.yy724 = addRangeClause(pCxt, yymsp[-13].minor.yy724, yymsp[-5].minor.yy724); + yymsp[-13].minor.yy724 = addEveryClause(pCxt, yymsp[-13].minor.yy724, yymsp[-4].minor.yy724); + yymsp[-13].minor.yy724 = addFillClause(pCxt, yymsp[-13].minor.yy724, yymsp[-3].minor.yy724); } break; - case 677: /* hint_list ::= */ - { yymsp[1].minor.yy928 = createHintNodeList(pCxt, NULL); } + case 680: /* hint_list ::= */ + { yymsp[1].minor.yy712 = createHintNodeList(pCxt, NULL); } break; - case 678: /* hint_list ::= NK_HINT */ - { yylhsminor.yy928 = createHintNodeList(pCxt, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy928 = yylhsminor.yy928; + case 681: /* hint_list ::= NK_HINT */ + { yylhsminor.yy712 = createHintNodeList(pCxt, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy712 = yylhsminor.yy712; break; - case 683: /* set_quantifier_opt ::= ALL */ - { yymsp[0].minor.yy89 = false; } + case 686: /* set_quantifier_opt ::= ALL */ + { yymsp[0].minor.yy429 = false; } break; - case 686: /* select_item ::= NK_STAR */ - { yylhsminor.yy248 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy248 = yylhsminor.yy248; + case 689: /* select_item ::= NK_STAR */ + { yylhsminor.yy724 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy724 = yylhsminor.yy724; break; - case 688: /* select_item ::= common_expression column_alias */ - case 698: /* partition_item ::= expr_or_subquery column_alias */ yytestcase(yyruleno==698); - { yylhsminor.yy248 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy248), &yymsp[0].minor.yy401); } - yymsp[-1].minor.yy248 = yylhsminor.yy248; + case 691: /* select_item ::= common_expression column_alias */ + case 701: /* partition_item ::= expr_or_subquery column_alias */ yytestcase(yyruleno==701); + { yylhsminor.yy724 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy724), &yymsp[0].minor.yy461); } + yymsp[-1].minor.yy724 = yylhsminor.yy724; break; - case 689: /* select_item ::= common_expression AS column_alias */ - case 699: /* partition_item ::= expr_or_subquery AS column_alias */ yytestcase(yyruleno==699); - { yylhsminor.yy248 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy248), &yymsp[0].minor.yy401); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + case 692: /* select_item ::= common_expression AS column_alias */ + case 702: /* partition_item ::= expr_or_subquery AS column_alias */ yytestcase(yyruleno==702); + { yylhsminor.yy724 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy724), &yymsp[0].minor.yy461); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; - case 694: /* partition_by_clause_opt ::= PARTITION BY partition_list */ - case 724: /* group_by_clause_opt ::= GROUP BY group_by_list */ yytestcase(yyruleno==724); - case 744: /* order_by_clause_opt ::= ORDER BY sort_specification_list */ yytestcase(yyruleno==744); - { yymsp[-2].minor.yy928 = yymsp[0].minor.yy928; } + case 697: /* partition_by_clause_opt ::= PARTITION BY partition_list */ + case 727: /* group_by_clause_opt ::= GROUP BY group_by_list */ yytestcase(yyruleno==727); + case 747: /* order_by_clause_opt ::= ORDER BY sort_specification_list */ yytestcase(yyruleno==747); + { yymsp[-2].minor.yy712 = yymsp[0].minor.yy712; } break; - case 701: /* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ - { yymsp[-5].minor.yy248 = createSessionWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy248), releaseRawExprNode(pCxt, yymsp[-1].minor.yy248)); } + case 704: /* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ + { yymsp[-5].minor.yy724 = createSessionWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy724), releaseRawExprNode(pCxt, yymsp[-1].minor.yy724)); } break; - case 702: /* twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ - { yymsp[-3].minor.yy248 = createStateWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy248)); } + case 705: /* twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ + { yymsp[-3].minor.yy724 = createStateWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy724)); } break; - case 703: /* twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ - { yymsp[-5].minor.yy248 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy248), NULL, yymsp[-1].minor.yy248, yymsp[0].minor.yy248); } + case 706: /* twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + { yymsp[-5].minor.yy724 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy724), NULL, yymsp[-1].minor.yy724, yymsp[0].minor.yy724); } break; - case 704: /* 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.yy248 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy248), releaseRawExprNode(pCxt, yymsp[-3].minor.yy248), yymsp[-1].minor.yy248, yymsp[0].minor.yy248); } + case 707: /* 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.yy724 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy724), releaseRawExprNode(pCxt, yymsp[-3].minor.yy724), yymsp[-1].minor.yy724, yymsp[0].minor.yy724); } break; - case 705: /* twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ - { yymsp[-6].minor.yy248 = createEventWindowNode(pCxt, yymsp[-3].minor.yy248, yymsp[0].minor.yy248); } + case 708: /* twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ + { yymsp[-6].minor.yy724 = createEventWindowNode(pCxt, yymsp[-3].minor.yy724, yymsp[0].minor.yy724); } break; - case 706: /* twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ - { yymsp[-3].minor.yy248 = createCountWindowNode(pCxt, &yymsp[-1].minor.yy0, &yymsp[-1].minor.yy0); } + case 709: /* twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ + { yymsp[-3].minor.yy724 = createCountWindowNode(pCxt, &yymsp[-1].minor.yy0, &yymsp[-1].minor.yy0); } break; - case 707: /* twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ - { yymsp[-5].minor.yy248 = createCountWindowNode(pCxt, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy0); } + case 710: /* twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ + { yymsp[-5].minor.yy724 = createCountWindowNode(pCxt, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy0); } break; - case 714: /* fill_opt ::= FILL NK_LP fill_mode NK_RP */ - { yymsp[-3].minor.yy248 = createFillNode(pCxt, yymsp[-1].minor.yy583, NULL); } + case 717: /* fill_opt ::= FILL NK_LP fill_mode NK_RP */ + { yymsp[-3].minor.yy724 = createFillNode(pCxt, yymsp[-1].minor.yy58, NULL); } break; - case 715: /* fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ - { yymsp[-5].minor.yy248 = createFillNode(pCxt, FILL_MODE_VALUE, createNodeListNode(pCxt, yymsp[-1].minor.yy928)); } + case 718: /* fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ + { yymsp[-5].minor.yy724 = createFillNode(pCxt, FILL_MODE_VALUE, createNodeListNode(pCxt, yymsp[-1].minor.yy712)); } break; - case 716: /* fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ - { yymsp[-5].minor.yy248 = createFillNode(pCxt, FILL_MODE_VALUE_F, createNodeListNode(pCxt, yymsp[-1].minor.yy928)); } + case 719: /* fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ + { yymsp[-5].minor.yy724 = createFillNode(pCxt, FILL_MODE_VALUE_F, createNodeListNode(pCxt, yymsp[-1].minor.yy712)); } break; - case 717: /* fill_mode ::= NONE */ - { yymsp[0].minor.yy583 = FILL_MODE_NONE; } + case 720: /* fill_mode ::= NONE */ + { yymsp[0].minor.yy58 = FILL_MODE_NONE; } break; - case 718: /* fill_mode ::= PREV */ - { yymsp[0].minor.yy583 = FILL_MODE_PREV; } + case 721: /* fill_mode ::= PREV */ + { yymsp[0].minor.yy58 = FILL_MODE_PREV; } break; - case 719: /* fill_mode ::= NULL */ - { yymsp[0].minor.yy583 = FILL_MODE_NULL; } + case 722: /* fill_mode ::= NULL */ + { yymsp[0].minor.yy58 = FILL_MODE_NULL; } break; - case 720: /* fill_mode ::= NULL_F */ - { yymsp[0].minor.yy583 = FILL_MODE_NULL_F; } + case 723: /* fill_mode ::= NULL_F */ + { yymsp[0].minor.yy58 = FILL_MODE_NULL_F; } break; - case 721: /* fill_mode ::= LINEAR */ - { yymsp[0].minor.yy583 = FILL_MODE_LINEAR; } + case 724: /* fill_mode ::= LINEAR */ + { yymsp[0].minor.yy58 = FILL_MODE_LINEAR; } break; - case 722: /* fill_mode ::= NEXT */ - { yymsp[0].minor.yy583 = FILL_MODE_NEXT; } + case 725: /* fill_mode ::= NEXT */ + { yymsp[0].minor.yy58 = FILL_MODE_NEXT; } break; - case 725: /* group_by_list ::= expr_or_subquery */ - { yylhsminor.yy928 = createNodeList(pCxt, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy248))); } - yymsp[0].minor.yy928 = yylhsminor.yy928; + case 728: /* group_by_list ::= expr_or_subquery */ + { yylhsminor.yy712 = createNodeList(pCxt, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy724))); } + yymsp[0].minor.yy712 = yylhsminor.yy712; break; - case 726: /* group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ - { yylhsminor.yy928 = addNodeToList(pCxt, yymsp[-2].minor.yy928, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy248))); } - yymsp[-2].minor.yy928 = yylhsminor.yy928; + case 729: /* group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ + { yylhsminor.yy712 = addNodeToList(pCxt, yymsp[-2].minor.yy712, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy724))); } + yymsp[-2].minor.yy712 = yylhsminor.yy712; break; - case 730: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ - { yymsp[-5].minor.yy248 = createInterpTimeRange(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy248), releaseRawExprNode(pCxt, yymsp[-1].minor.yy248)); } + case 733: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ + { yymsp[-5].minor.yy724 = createInterpTimeRange(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy724), releaseRawExprNode(pCxt, yymsp[-1].minor.yy724)); } break; - case 731: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ - { yymsp[-3].minor.yy248 = createInterpTimePoint(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy248)); } + case 734: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ + { yymsp[-3].minor.yy724 = createInterpTimePoint(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy724)); } break; - case 734: /* query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + case 737: /* query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ { - yylhsminor.yy248 = addOrderByClause(pCxt, yymsp[-3].minor.yy248, yymsp[-2].minor.yy928); - yylhsminor.yy248 = addSlimitClause(pCxt, yylhsminor.yy248, yymsp[-1].minor.yy248); - yylhsminor.yy248 = addLimitClause(pCxt, yylhsminor.yy248, yymsp[0].minor.yy248); + yylhsminor.yy724 = addOrderByClause(pCxt, yymsp[-3].minor.yy724, yymsp[-2].minor.yy712); + yylhsminor.yy724 = addSlimitClause(pCxt, yylhsminor.yy724, yymsp[-1].minor.yy724); + yylhsminor.yy724 = addLimitClause(pCxt, yylhsminor.yy724, yymsp[0].minor.yy724); } - yymsp[-3].minor.yy248 = yylhsminor.yy248; + yymsp[-3].minor.yy724 = yylhsminor.yy724; break; - case 737: /* union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ - { yylhsminor.yy248 = createSetOperator(pCxt, SET_OP_TYPE_UNION_ALL, yymsp[-3].minor.yy248, yymsp[0].minor.yy248); } - yymsp[-3].minor.yy248 = yylhsminor.yy248; + case 740: /* union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ + { yylhsminor.yy724 = createSetOperator(pCxt, SET_OP_TYPE_UNION_ALL, yymsp[-3].minor.yy724, yymsp[0].minor.yy724); } + yymsp[-3].minor.yy724 = yylhsminor.yy724; break; - case 738: /* union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ - { yylhsminor.yy248 = createSetOperator(pCxt, SET_OP_TYPE_UNION, yymsp[-2].minor.yy248, yymsp[0].minor.yy248); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + case 741: /* union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ + { yylhsminor.yy724 = createSetOperator(pCxt, SET_OP_TYPE_UNION, yymsp[-2].minor.yy724, yymsp[0].minor.yy724); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; - case 747: /* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - case 751: /* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ yytestcase(yyruleno==751); - { yymsp[-3].minor.yy248 = createLimitNode(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } + case 750: /* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + case 754: /* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ yytestcase(yyruleno==754); + { yymsp[-3].minor.yy724 = createLimitNode(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } break; - case 748: /* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - case 752: /* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ yytestcase(yyruleno==752); - { yymsp[-3].minor.yy248 = createLimitNode(pCxt, &yymsp[0].minor.yy0, &yymsp[-2].minor.yy0); } + case 751: /* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + case 755: /* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ yytestcase(yyruleno==755); + { yymsp[-3].minor.yy724 = createLimitNode(pCxt, &yymsp[0].minor.yy0, &yymsp[-2].minor.yy0); } break; - case 753: /* subquery ::= NK_LP query_expression NK_RP */ - { yylhsminor.yy248 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-1].minor.yy248); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + case 756: /* subquery ::= NK_LP query_expression NK_RP */ + { yylhsminor.yy724 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-1].minor.yy724); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; - case 758: /* sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ - { yylhsminor.yy248 = createOrderByExprNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy248), yymsp[-1].minor.yy482, yymsp[0].minor.yy721); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + case 761: /* sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ + { yylhsminor.yy724 = createOrderByExprNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy724), yymsp[-1].minor.yy746, yymsp[0].minor.yy417); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; - case 759: /* ordering_specification_opt ::= */ - { yymsp[1].minor.yy482 = ORDER_ASC; } + case 762: /* ordering_specification_opt ::= */ + { yymsp[1].minor.yy746 = ORDER_ASC; } break; - case 760: /* ordering_specification_opt ::= ASC */ - { yymsp[0].minor.yy482 = ORDER_ASC; } + case 763: /* ordering_specification_opt ::= ASC */ + { yymsp[0].minor.yy746 = ORDER_ASC; } break; - case 761: /* ordering_specification_opt ::= DESC */ - { yymsp[0].minor.yy482 = ORDER_DESC; } + case 764: /* ordering_specification_opt ::= DESC */ + { yymsp[0].minor.yy746 = ORDER_DESC; } break; - case 762: /* null_ordering_opt ::= */ - { yymsp[1].minor.yy721 = NULL_ORDER_DEFAULT; } + case 765: /* null_ordering_opt ::= */ + { yymsp[1].minor.yy417 = NULL_ORDER_DEFAULT; } break; - case 763: /* null_ordering_opt ::= NULLS FIRST */ - { yymsp[-1].minor.yy721 = NULL_ORDER_FIRST; } + case 766: /* null_ordering_opt ::= NULLS FIRST */ + { yymsp[-1].minor.yy417 = NULL_ORDER_FIRST; } break; - case 764: /* null_ordering_opt ::= NULLS LAST */ - { yymsp[-1].minor.yy721 = NULL_ORDER_LAST; } + case 767: /* null_ordering_opt ::= NULLS LAST */ + { yymsp[-1].minor.yy417 = NULL_ORDER_LAST; } break; - case 767: /* column_options ::= column_options NK_ID NK_STRING */ - { yylhsminor.yy248 = setColumnOptions(pCxt, yymsp[-2].minor.yy248, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy248 = yylhsminor.yy248; + case 770: /* column_options ::= column_options NK_ID NK_STRING */ + { yylhsminor.yy724 = setColumnOptions(pCxt, yymsp[-2].minor.yy724, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy724 = yylhsminor.yy724; break; default: break; diff --git a/source/libs/planner/src/planOptimizer.c b/source/libs/planner/src/planOptimizer.c index 7da4f93dee..988440227b 100644 --- a/source/libs/planner/src/planOptimizer.c +++ b/source/libs/planner/src/planOptimizer.c @@ -294,6 +294,9 @@ static bool scanPathOptIsSpecifiedFuncType(const SFunctionNode* pFunc, bool (*ty return true; } +static bool isMinMaxFunction(int32_t funcType) { + return funcType == FUNCTION_TYPE_MIN || funcType == FUNCTION_TYPE_MAX; +} static int32_t scanPathOptGetRelatedFuncs(SScanLogicNode* pScan, SNodeList** pSdrFuncs, SNodeList** pDsoFuncs) { SNodeList* pAllFuncs = scanPathOptGetAllFuncs(pScan->node.pParent); SNodeList* pTmpSdrFuncs = NULL; @@ -303,7 +306,8 @@ static int32_t scanPathOptGetRelatedFuncs(SScanLogicNode* pScan, SNodeList** pSd FOREACH(pNode, pAllFuncs) { SFunctionNode* pFunc = (SFunctionNode*)pNode; int32_t code = TSDB_CODE_SUCCESS; - if (scanPathOptIsSpecifiedFuncType(pFunc, fmIsSpecialDataRequiredFunc)) { + if ((!isMinMaxFunction(pFunc->funcType) && scanPathOptIsSpecifiedFuncType(pFunc, fmIsSpecialDataRequiredFunc)) || + (isMinMaxFunction(pFunc->funcType) && pFunc->hasSMA)) { SNode* pNew = NULL; code = nodesCloneNode(pNode, &pNew); if (TSDB_CODE_SUCCESS == code) { diff --git a/source/libs/scalar/inc/sclInt.h b/source/libs/scalar/inc/sclInt.h index d6d77ffd7b..34fd5dc8b0 100644 --- a/source/libs/scalar/inc/sclInt.h +++ b/source/libs/scalar/inc/sclInt.h @@ -30,7 +30,7 @@ typedef struct SOperatorValueType { typedef struct SScalarCtx { int32_t code; - bool dual; + bool dual; /* whether select stmt has from stmt */ SArray* pBlockList; /* element is SSDataBlock* */ SHashObj* pRes; /* element is SScalarParam */ void* param; // additional parameter (meta actually) for acquire value such as tbname/tags values diff --git a/source/libs/scalar/src/scalar.c b/source/libs/scalar/src/scalar.c index f4f4780a01..b9a95a3216 100644 --- a/source/libs/scalar/src/scalar.c +++ b/source/libs/scalar/src/scalar.c @@ -1179,7 +1179,8 @@ EDealRes sclRewriteNonConstOperator(SNode **pNode, SScalarCtx *ctx) { EDealRes sclRewriteFunction(SNode **pNode, SScalarCtx *ctx) { SFunctionNode *node = (SFunctionNode *)*pNode; SNode *tnode = NULL; - if ((!fmIsScalarFunc(node->funcId) && (!ctx->dual)) || fmIsUserDefinedFunc(node->funcId)) { + if ((!fmIsScalarFunc(node->funcId) && (!ctx->dual)) || + fmIsUserDefinedFunc(node->funcId)) { return DEAL_RES_CONTINUE; } diff --git a/source/libs/scalar/src/sclfunc.c b/source/libs/scalar/src/sclfunc.c index 7fae646e8f..5fc7c06d57 100644 --- a/source/libs/scalar/src/sclfunc.c +++ b/source/libs/scalar/src/sclfunc.c @@ -2887,6 +2887,21 @@ int32_t floorFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam *pOut return doScalarFunction(pInput, inputNum, pOutput, floorf, floor); } +int32_t randFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam *pOutput) { + if (!IS_NULL_TYPE(GET_PARAM_TYPE(&pInput[0]))) { + int32_t seed; + GET_TYPED_DATA(seed, int32_t, GET_PARAM_TYPE(&pInput[0]), pInput[0].columnData->pData); + taosSeedRand(seed); + } + int32_t numOfRows = inputNum == 1 ? pInput[0].numOfRows : TMAX(pInput[0].numOfRows, pInput[1].numOfRows); + for (int32_t i = 0; i < numOfRows; ++i) { + double random_value = (double)(taosRand() % RAND_MAX) / RAND_MAX; + colDataSetDouble(pOutput->columnData, i, &random_value); + } + pOutput->numOfRows = numOfRows; + return TSDB_CODE_SUCCESS; +} + static double decimalFn(double val1, double val2, _double_fn fn) { if (val1 > DBL_MAX || val1 < -DBL_MAX) { return val1; diff --git a/tests/army/query/function/ans/max.csv b/tests/army/query/function/ans/max.csv new file mode 100644 index 0000000000..62df7c5d53 --- /dev/null +++ b/tests/army/query/function/ans/max.csv @@ -0,0 +1,480 @@ +9999 +11.9989996 +224 +x +一二三四五六七八九十 +四 +一二三四五六七八九十 +四 +1110 +2838 +4566 +6294 +8022 +9750 +9999 +3206 +4934 +6662 +8390 +9999 +1846 +3574 +5302 +7030 +8758 +9999 +2214 +3942 +5670 +7398 +9126 +9999 +2582 +4310 +6038 +7766 +9494 +9999 +2950 +4678 +6406 +8134 +9862 +9999 +3318 +5046 +6774 +8502 +9999 +1958 +3686 +5414 +7142 +8870 +9999 +2326 +4054 +5782 +7510 +9238 +9999 +2694 +4422 +6150 +7878 +9606 +9999 +11.9989996 +11.9969997 +11.9969997 +11.9989996 +11.9989996 +11.9989996 +11.9989996 +11.9969997 +11.9989996 +11.9980001 +11.9989996 +11.9989996 +11.9989996 +11.9969997 +11.9989996 +11.9980001 +11.9989996 +11.9989996 +11.9989996 +11.9969997 +11.9989996 +11.9980001 +11.9989996 +11.9989996 +11.9989996 +11.9969997 +11.9989996 +11.9989996 +11.9989996 +11.9989996 +11.9969997 +11.9989996 +11.9980001 +11.9989996 +11.9989996 +11.9989996 +11.9969997 +11.9989996 +11.9980001 +11.9989996 +11.9989996 +11.9989996 +11.9969997 +11.9989996 +11.9980001 +11.9989996 +11.9989996 +11.9989996 +11.9969997 +11.9989996 +11.9989996 +11.9989996 +11.9989996 +11.9989996 +11.9969997 +11.9989996 +11.9989996 +11.9989996 +11.9860001 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +224 +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +x +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +一二三四五六七八九十 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 +四 diff --git a/tests/army/query/function/ans/min.csv b/tests/army/query/function/ans/min.csv new file mode 100644 index 0000000000..d87f2264d7 --- /dev/null +++ b/tests/army/query/function/ans/min.csv @@ -0,0 +1,480 @@ +0 +8.0000000 +215 +haha +abc一二三abc一二三abc +a +abc一二三abc一二三abc +a +0 +1111 +2839 +4567 +6295 +8023 +0 +1479 +3207 +4935 +6663 +0 +119 +1847 +3575 +5303 +7031 +0 +487 +2215 +3943 +5671 +7399 +0 +855 +2583 +4311 +6039 +7767 +0 +1223 +2951 +4679 +6407 +8135 +0 +1591 +3319 +5047 +6775 +0 +231 +1959 +3687 +5415 +7143 +0 +599 +2327 +4055 +5783 +7511 +0 +967 +2695 +4423 +6151 +7879 +9607 +8.0000000 +8.0000000 +8.0000000 +8.0010004 +8.0010004 +8.0000000 +8.0000000 +8.0000000 +8.0019999 +8.0010004 +8.0000000 +8.0030003 +8.0000000 +8.0000000 +8.0019999 +8.0010004 +8.0000000 +8.0030003 +8.0000000 +8.0000000 +8.0019999 +8.0010004 +8.0000000 +8.0000000 +8.0000000 +8.0000000 +8.0019999 +8.0010004 +8.0000000 +8.0000000 +8.0000000 +8.0000000 +8.0010004 +8.0089998 +8.0000000 +8.0000000 +8.0000000 +8.0019999 +8.0010004 +8.0000000 +8.0030003 +8.0000000 +8.0000000 +8.0019999 +8.0010004 +8.0000000 +8.0019999 +8.0000000 +8.0000000 +8.0019999 +8.0010004 +8.0000000 +8.0000000 +8.0000000 +8.0000000 +8.0019999 +8.0010004 +8.0000000 +8.0050001 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +215 +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +haha +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +abc一二三abc一二三abc +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a diff --git a/tests/army/query/function/in/max.in b/tests/army/query/function/in/max.in new file mode 100644 index 0000000000..8415983989 --- /dev/null +++ b/tests/army/query/function/in/max.in @@ -0,0 +1,16 @@ +select MAX(id) from ts_4893.meters; +select MAX(current) from ts_4893.meters; +select MAX(voltage) from ts_4893.meters; +select MAX(name) from ts_4893.meters; +select MAX(nch1) from ts_4893.meters; +select MAX(nch2) from ts_4893.meters; +select MAX(var1) from ts_4893.meters; +select MAX(var2) from ts_4893.meters; +select MAX(id) from ts_4893.meters interval(60d); +select MAX(current) from ts_4893.meters interval(60d); +select MAX(voltage) from ts_4893.meters interval(60d); +select MAX(name) from ts_4893.meters interval(60d); +select MAX(nch1) from ts_4893.meters interval(60d); +select MAX(nch2) from ts_4893.meters interval(60d); +select MAX(var1) from ts_4893.meters interval(60d); +select MAX(var2) from ts_4893.meters interval(60d); \ No newline at end of file diff --git a/tests/army/query/function/in/min.in b/tests/army/query/function/in/min.in new file mode 100644 index 0000000000..5f6c516bd7 --- /dev/null +++ b/tests/army/query/function/in/min.in @@ -0,0 +1,16 @@ +select MIN(id) from ts_4893.meters; +select MIN(current) from ts_4893.meters; +select MIN(voltage) from ts_4893.meters; +select MIN(name) from ts_4893.meters; +select MIN(nch1) from ts_4893.meters; +select MIN(nch2) from ts_4893.meters; +select MIN(var1) from ts_4893.meters; +select MIN(var2) from ts_4893.meters; +select MIN(id) from ts_4893.meters interval(60d); +select MIN(current) from ts_4893.meters interval(60d); +select MIN(voltage) from ts_4893.meters interval(60d); +select MIN(name) from ts_4893.meters interval(60d); +select MIN(nch1) from ts_4893.meters interval(60d); +select MIN(nch2) from ts_4893.meters interval(60d); +select MIN(var1) from ts_4893.meters interval(60d); +select MIN(var2) from ts_4893.meters interval(60d); \ No newline at end of file diff --git a/tests/army/query/function/test_function.py b/tests/army/query/function/test_function.py index 77967f7815..4981e93563 100644 --- a/tests/army/query/function/test_function.py +++ b/tests/army/query/function/test_function.py @@ -505,12 +505,35 @@ class TDTestCase(TBase): tdSql.query("select var_pop(null) from ts_4893.meters;") tdSql.checkRows(1) tdSql.checkData(0, 0, None) - def test_error(self): tdSql.error( "select * from (select to_iso8601(ts, timezone()), timezone() from meters order by ts desc) limit 1000;", expectErrInfo="Not supported timzone format") # TS-5340 + def test_min(self): + self.test_normal_query("min") + tdSql.query("select min(var1), min(id) from ts_4893.d0;") + tdSql.checkRows(1) + tdSql.checkData(0, 0, 'abc一二三abc一二三abc') + tdSql.checkData(0, 1, 0) + def test_max(self): + self.test_normal_query("max") + tdSql.query("select max(var1), max(id) from ts_4893.d0;") + tdSql.checkRows(1) + tdSql.checkData(0, 0, '一二三四五六七八九十') + tdSql.checkData(0, 1, 9999) + def test_rand(self): + tdSql.query("select rand();") + tdSql.checkRows(1) + + tdSql.query("select rand(1);") + tdSql.checkRows(1) + + tdSql.query("select rand(1) from ts_4893.meters limit 10;") + tdSql.checkRows(10) + + tdSql.query("select rand(id) from ts_4893.d0 limit 10;") + tdSql.checkRows(10) # run def run(self): tdLog.debug(f"start to excute {__file__}") @@ -528,6 +551,7 @@ class TDTestCase(TBase): self.test_sign() self.test_degrees() self.test_radians() + self.test_rand() # char function self.test_char_length() @@ -551,6 +575,10 @@ class TDTestCase(TBase): self.test_stddev() self.test_varpop() + # select function + self.test_min() + self.test_max() + # error function self.test_error() diff --git a/tests/script/tsim/parser/nchar.sim b/tests/script/tsim/parser/nchar.sim index 9358a31cc1..86a854d8e7 100644 --- a/tests/script/tsim/parser/nchar.sim +++ b/tests/script/tsim/parser/nchar.sim @@ -226,8 +226,6 @@ if $data10 != 5 then endi sql_error select avg(tbcol) from $mt where tbcol1 = 1 group by tgcol sql_error select sum(tbcol) from $mt where tbcol1 = 1 group by tgcol -sql_error select min(tbcol) from $mt where tbcol1 = 1 group by tgcol -sql_error select max(tbcol) from $mt where tbcol1 = 1 group by tgcol sql select first(tbcol), tgcol from $mt where tbcol1 = 1 group by tgcol order by tgcol if $rows != 2 then diff --git a/tests/script/tsim/sma/tsmaCreateInsertQuery.sim b/tests/script/tsim/sma/tsmaCreateInsertQuery.sim index 692212d511..a7b90846ce 100644 --- a/tests/script/tsim/sma/tsmaCreateInsertQuery.sim +++ b/tests/script/tsim/sma/tsmaCreateInsertQuery.sim @@ -35,16 +35,12 @@ sql create sma index sma_index_name1 on stb function(max(c1),max(c2),min(c1)) in sql create sma index sma_index_name2 on stb function(sum(c1),first(c1), last(c1), first(c4),last(c4),count(c4),first(c5),last(c5),count(c5),apercentile(c1,80,"t-digest"), avg(c2),count(c3), spread(c3), stddev(c2), hyperloglog(c2), hyperloglog(c4), hyperloglog(c5)) interval(5m,10s) sliding(5m); # for varchar/binary sql_error create sma index sma_index_name3 on stb function(sum(c4)) interval(5m,10s) sliding(5m); -sql_error create sma index sma_index_name3 on stb function(min(c4)) interval(5m,10s) sliding(5m); -sql_error create sma index sma_index_name3 on stb function(max(c4)) interval(5m,10s) sliding(5m); sql_error create sma index sma_index_name3 on stb function(avg(c4)) interval(5m,10s) sliding(5m); sql_error create sma index sma_index_name3 on stb function(apercentile(c4)) interval(5m,10s) sliding(5m); sql_error create sma index sma_index_name3 on stb function(spread(c4)) interval(5m,10s) sliding(5m); sql_error create sma index sma_index_name3 on stb function(stddev(c4)) interval(5m,10s) sliding(5m); # for nchar sql_error create sma index sma_index_name3 on stb function(sum(c5)) interval(5m,10s) sliding(5m); -sql_error create sma index sma_index_name3 on stb function(min(c5)) interval(5m,10s) sliding(5m); -sql_error create sma index sma_index_name3 on stb function(max(c5)) interval(5m,10s) sliding(5m); sql_error create sma index sma_index_name3 on stb function(avg(c5)) interval(5m,10s) sliding(5m); sql_error create sma index sma_index_name3 on stb function(apercentile(c5)) interval(5m,10s) sliding(5m); sql_error create sma index sma_index_name3 on stb function(spread(c5)) interval(5m,10s) sliding(5m); diff --git a/tests/system-test/2-query/min.py b/tests/system-test/2-query/min.py index bf9993da64..8aa6f2001e 100644 --- a/tests/system-test/2-query/min.py +++ b/tests/system-test/2-query/min.py @@ -41,8 +41,6 @@ class TDTestCase: tdSql.error(f"select min(now()) from {dbname}.stb_1") tdSql.error(f"select min(ts) from {dbname}.stb_1") tdSql.error(f"select min(col7) from {dbname}.stb_1") - tdSql.error(f"select min(col8) from {dbname}.stb_1") - tdSql.error(f"select min(col9) from {dbname}.stb_1") tdSql.error(f"select min(a) from {dbname}.stb_1") tdSql.query(f"select min(1) from {dbname}.stb_1") tdSql.error(f"select min(count(c1),count(c2)) from {dbname}.stb_1") @@ -69,13 +67,15 @@ class TDTestCase: tdSql.checkData(0, 0, np.min(floatData)) tdSql.query(f"select min(col1) from {dbname}.stb_1 where col2>=5") tdSql.checkData(0,0,5) + tdSql.query(f"select min(col8) from {dbname}.stb_1") + tdSql.checkData(0,0,'taosdata1') + tdSql.query(f"select min(col9) from {dbname}.stb_1") + tdSql.checkData(0,0,'涛思数据1') tdSql.error(f"select min(now()) from {dbname}.stb_1") tdSql.error(f"select min(ts) from {dbname}.stb_1") tdSql.error(f"select min(col7) from {dbname}.stb_1") - tdSql.error(f"select min(col8) from {dbname}.stb_1") - tdSql.error(f"select min(col9) from {dbname}.stb_1") tdSql.error(f"select min(a) from {dbname}.stb_1") tdSql.query(f"select min(1) from {dbname}.stb_1") tdSql.error(f"select min(count(c1),count(c2)) from {dbname}.stb_1") @@ -102,12 +102,14 @@ class TDTestCase: tdSql.checkData(0, 0, np.min(floatData)) tdSql.query(f"select min(col1) from {dbname}.stb where col2>=5") tdSql.checkData(0,0,5) + tdSql.query(f"select min(col8) from {dbname}.stb") + tdSql.checkData(0,0,'taosdata1') + tdSql.query(f"select min(col9) from {dbname}.stb") + tdSql.checkData(0,0,'涛思数据1') tdSql.error(f"select min(now()) from {dbname}.stb_1") tdSql.error(f"select min(ts) from {dbname}.stb_1") tdSql.error(f"select min(col7) from {dbname}.ntb") - tdSql.error(f"select min(col8) from {dbname}.ntb") - tdSql.error(f"select min(col9) from {dbname}.ntb") tdSql.error(f"select min(a) from {dbname}.ntb") tdSql.query(f"select min(1) from {dbname}.ntb") tdSql.error(f"select min(count(c1),count(c2)) from {dbname}.ntb") @@ -134,6 +136,10 @@ class TDTestCase: tdSql.checkData(0, 0, np.min(floatData)) tdSql.query(f"select min(col1) from {dbname}.ntb where col2>=5") tdSql.checkData(0,0,5) + tdSql.query(f"select min(col8) from {dbname}.ntb") + tdSql.checkData(0,0,'taosdata1') + tdSql.query(f"select min(col9) from {dbname}.ntb") + tdSql.checkData(0,0,'涛思数据1') def stop(self): diff --git a/tests/system-test/2-query/select_null.py b/tests/system-test/2-query/select_null.py index d6e48e4f99..bd92e4cf5c 100755 --- a/tests/system-test/2-query/select_null.py +++ b/tests/system-test/2-query/select_null.py @@ -122,21 +122,27 @@ class TDTestCase: tdSql.query(sql) tdSql.checkData(0,0,4) sql = "select max(t1) from %s.stb0 where ts