diff --git a/include/common/tcol.h b/include/common/tcol.h new file mode 100644 index 0000000000..5a5d9b09a6 --- /dev/null +++ b/include/common/tcol.h @@ -0,0 +1,82 @@ +/* + * Copyright (c) 2019 TAOS Data, Inc. + * + * This program is free software: you can use, redistribute, and/or modify + * it under the terms of the GNU Affero General Public License, version 3 + * or later ("AGPL"), as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +#include "taosdef.h" + +#ifndef _TD_TCOL_H_ +#define _TD_TCOL_H_ + +#define TSDB_COLUMN_ENCODE_UNKNOWN "unknown" +#define TSDB_COLUMN_ENCODE_SIMPLE8B "simple8b" +#define TSDB_COLUMN_ENCODE_XOR "xor" +#define TSDB_COLUMN_ENCODE_RLE "rle" +#define TSDB_COLUMN_ENCODE_DISABLED "disabled" + +#define TSDB_COLUMN_COMPRESS_UNKNOWN "unknown" +#define TSDB_COLUMN_COMPRESS_LZ4 "lz4" +#define TSDB_COLUMN_COMPRESS_ZLIB "zlib" +#define TSDB_COLUMN_COMPRESS_ZSTD "zstd" +#define TSDB_COLUMN_COMPRESS_TSZ "tsz" +#define TSDB_COLUMN_COMPRESS_XZ "xz" +#define TSDB_COLUMN_COMPRESS_DISABLED "disabled" + +#define TSDB_COLUMN_LEVEL_UNKNOWN "unknown" +#define TSDB_COLUMN_LEVEL_HIGH "high" +#define TSDB_COLUMN_LEVEL_MEDIUM "medium" +#define TSDB_COLUMN_LEVEL_LOW "low" + +#define TSDB_COLVAL_ENCODE_SIMPLE8B 1 +#define TSDB_COLVAL_ENCODE_XOR 2 +#define TSDB_COLVAL_ENCODE_RLE 3 +#define TSDB_COLVAL_ENCODE_DISABLED 0xff +#define TSDB_COLVAL_COMPRESS_LZ4 1 +#define TSDB_COLVAL_COMPRESS_ZLIB 2 +#define TSDB_COLVAL_COMPRESS_ZSTD 3 +#define TSDB_COLVAL_COMPRESS_TSZ 4 +#define TSDB_COLVAL_COMPRESS_XZ 5 +#define TSDB_COLVAL_COMPRESS_DISABLED 0xff +#define TSDB_COLVAL_LEVEL_HIGH 1 +#define TSDB_COLVAL_LEVEL_MEDIUM 2 +#define TSDB_COLVAL_LEVEL_LOW 3 + +#define TSDB_CL_COMMENT_LEN 1025 +#define TSDB_CL_COMPRESS_OPTION_LEN 32 + +extern const char* supportedEncode[5]; +extern const char* supportedCompress[7]; +extern const char* supportedLevel[4]; + +uint8_t getDefaultEncode(uint8_t type); +uint16_t getDefaultCompress(uint8_t type); +uint8_t getDefaultLevel(uint8_t type); +const char* getDefaultEncodeStr(uint8_t type); +const char* getDefaultCompressStr(uint8_t type); +const char* getDefaultLevelStr(uint8_t type); + +const char* columnEncodeStr(uint8_t type); +const char* columnCompressStr(uint16_t type); +const char* columnLevelStr(uint8_t type); +uint8_t columnLevelVal(const char* level); +uint8_t columnEncodeVal(const char* encode); +uint16_t columnCompressVal(const char* compress); + +bool checkColumnEncode(uint8_t type, char encode[TSDB_CL_COMPRESS_OPTION_LEN]); +bool checkColumnCompress(uint8_t type, char compress[TSDB_CL_COMPRESS_OPTION_LEN]); +bool checkColumnLevel(uint8_t type, char level[TSDB_CL_COMPRESS_OPTION_LEN]); + +void setColEncode(uint32_t* compress, uint8_t encode); +void setColCompress(uint32_t* compress, uint16_t compressType); +void setColLevel(uint32_t* compress, uint8_t level); + +#endif /*_TD_TCOL_H_*/ diff --git a/include/common/tmsg.h b/include/common/tmsg.h index 53e555fb91..b1f2708fc2 100644 --- a/include/common/tmsg.h +++ b/include/common/tmsg.h @@ -26,6 +26,7 @@ #include "tname.h" #include "trow.h" #include "tuuid.h" +#include "tcol.h" #ifdef __cplusplus extern "C" { @@ -153,19 +154,19 @@ typedef enum _mgmt_table { TSDB_MGMT_TABLE_MAX, } EShowType; -#define TSDB_ALTER_TABLE_ADD_TAG 1 -#define TSDB_ALTER_TABLE_DROP_TAG 2 -#define TSDB_ALTER_TABLE_UPDATE_TAG_NAME 3 -#define TSDB_ALTER_TABLE_UPDATE_TAG_VAL 4 -#define TSDB_ALTER_TABLE_ADD_COLUMN 5 -#define TSDB_ALTER_TABLE_DROP_COLUMN 6 -#define TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES 7 -#define TSDB_ALTER_TABLE_UPDATE_TAG_BYTES 8 -#define TSDB_ALTER_TABLE_UPDATE_OPTIONS 9 -#define TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME 10 -#define TSDB_ALTER_TABLE_ADD_TAG_INDEX 11 -#define TSDB_ALTER_TABLE_DROP_TAG_INDEX 12 -#define TSDB_ALTER_TABLE_UPDATE_COLUMN_COMPRESS 13 +#define TSDB_ALTER_TABLE_ADD_TAG 1 +#define TSDB_ALTER_TABLE_DROP_TAG 2 +#define TSDB_ALTER_TABLE_UPDATE_TAG_NAME 3 +#define TSDB_ALTER_TABLE_UPDATE_TAG_VAL 4 +#define TSDB_ALTER_TABLE_ADD_COLUMN 5 +#define TSDB_ALTER_TABLE_DROP_COLUMN 6 +#define TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES 7 +#define TSDB_ALTER_TABLE_UPDATE_TAG_BYTES 8 +#define TSDB_ALTER_TABLE_UPDATE_OPTIONS 9 +#define TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME 10 +#define TSDB_ALTER_TABLE_ADD_TAG_INDEX 11 +#define TSDB_ALTER_TABLE_DROP_TAG_INDEX 12 +#define TSDB_ALTER_TABLE_UPDATE_COLUMN_COMPRESS 13 #define TSDB_FILL_NONE 0 #define TSDB_FILL_NULL 1 @@ -246,6 +247,7 @@ typedef enum ENodeType { QUERY_NODE_HINT, QUERY_NODE_VIEW, QUERY_NODE_COUNT_WINDOW, + QUERY_NODE_COLUMN_OPTIONS, // Statement nodes are used in parser and planner module. QUERY_NODE_SET_OPERATOR = 100, @@ -456,6 +458,13 @@ typedef struct SField { int8_t flags; int32_t bytes; } SField; +typedef struct SFieldWithOptions { + char name[TSDB_COL_NAME_LEN]; + uint8_t type; + int8_t flags; + int32_t bytes; + uint32_t compress; +} SFieldWithOptions; typedef struct SRetention { int64_t freq; @@ -832,7 +841,7 @@ typedef struct { int32_t commentLen; int32_t ast1Len; int32_t ast2Len; - SArray* pColumns; // array of SField + SArray* pColumns; // array of SFieldWithOptions SArray* pTags; // array of SField SArray* pFuncs; char* pComment; @@ -4100,6 +4109,9 @@ int32_t tSerializeSViewMetaRsp(void* buf, int32_t bufLen, const SViewMetaRsp* pR int32_t tDeserializeSViewMetaRsp(void* buf, int32_t bufLen, SViewMetaRsp* pRsp); void tFreeSViewMetaRsp(SViewMetaRsp* pRsp); +void setDefaultOptionsForField(SFieldWithOptions *field); +void setFieldWithOptions(SFieldWithOptions *fieldWithOptions, SField* field); + #pragma pack(pop) #ifdef __cplusplus diff --git a/include/common/ttokendef.h b/include/common/ttokendef.h index 8f89857d33..32a7585497 100644 --- a/include/common/ttokendef.h +++ b/include/common/ttokendef.h @@ -367,7 +367,9 @@ #define TK_VALUES 348 #define TK_VARIABLE 349 #define TK_WAL 350 - +#define TK_ENCODE 351 +#define TK_COMPRESS 352 +#define TK_LEVEL 353 #define TK_NK_SPACE 600 #define TK_NK_COMMENT 601 diff --git a/include/libs/nodes/cmdnodes.h b/include/libs/nodes/cmdnodes.h index 9a12d7b98f..05aae2064a 100644 --- a/include/libs/nodes/cmdnodes.h +++ b/include/libs/nodes/cmdnodes.h @@ -162,12 +162,21 @@ typedef struct STableOptions { SNodeList* pSma; } STableOptions; +typedef struct SColumnOptions { + ENodeType type; + bool commentNull; + char comment[TSDB_CL_COMMENT_LEN]; + char encode[TSDB_CL_COMPRESS_OPTION_LEN]; + char compress[TSDB_CL_COMPRESS_OPTION_LEN]; + char compressLevel[TSDB_CL_COMPRESS_OPTION_LEN]; +} SColumnOptions; typedef struct SColumnDefNode { - ENodeType type; - char colName[TSDB_COL_NAME_LEN]; - SDataType dataType; - char comments[TSDB_TB_COMMENT_LEN]; - bool sma; + ENodeType type; + char colName[TSDB_COL_NAME_LEN]; + SDataType dataType; + char comments[TSDB_TB_COMMENT_LEN]; + SColumnOptions* pOptions; + bool sma; } SColumnDefNode; typedef struct SCreateTableStmt { @@ -217,15 +226,16 @@ typedef struct SDropSuperTableStmt { } SDropSuperTableStmt; typedef struct SAlterTableStmt { - ENodeType type; - char dbName[TSDB_DB_NAME_LEN]; - char tableName[TSDB_TABLE_NAME_LEN]; - int8_t alterType; - char colName[TSDB_COL_NAME_LEN]; - char newColName[TSDB_COL_NAME_LEN]; - STableOptions* pOptions; - SDataType dataType; - SValueNode* pVal; + ENodeType type; + char dbName[TSDB_DB_NAME_LEN]; + char tableName[TSDB_TABLE_NAME_LEN]; + int8_t alterType; + char colName[TSDB_COL_NAME_LEN]; + char newColName[TSDB_COL_NAME_LEN]; + STableOptions* pOptions; + SDataType dataType; + SValueNode* pVal; + SColumnOptions* pColOptions; } SAlterTableStmt; typedef struct SCreateUserStmt { diff --git a/include/util/taoserror.h b/include/util/taoserror.h index fe87f4daf9..450681482c 100644 --- a/include/util/taoserror.h +++ b/include/util/taoserror.h @@ -172,7 +172,9 @@ int32_t* taosGetErrno(); #define TSDB_CODE_TSC_NO_EXEC_NODE TAOS_DEF_ERROR_CODE(0, 0X022E) #define TSDB_CODE_TSC_NOT_STABLE_ERROR TAOS_DEF_ERROR_CODE(0, 0X022F) #define TSDB_CODE_TSC_STMT_CACHE_ERROR TAOS_DEF_ERROR_CODE(0, 0X0230) -#define TSDB_CODE_TSC_INTERNAL_ERROR TAOS_DEF_ERROR_CODE(0, 0X0231) +#define TSDB_CODE_TSC_ENCODE_PARAM_ERROR TAOS_DEF_ERROR_CODE(0, 0X0231) +#define TSDB_CODE_TSC_ENCODE_PARAM_NULL TAOS_DEF_ERROR_CODE(0, 0X0232) +#define TSDB_CODE_TSC_INTERNAL_ERROR TAOS_DEF_ERROR_CODE(0, 0X02FF) // mnode-common #define TSDB_CODE_MND_REQ_REJECTED TAOS_DEF_ERROR_CODE(0, 0x0300) diff --git a/source/client/src/clientRawBlockWrite.c b/source/client/src/clientRawBlockWrite.c index f143624bab..a4c67473ae 100644 --- a/source/client/src/clientRawBlockWrite.c +++ b/source/client/src/clientRawBlockWrite.c @@ -710,11 +710,13 @@ static int32_t taosCreateStb(TAOS* taos, void* meta, int32_t metaLen) { goto end; } // build create stable - pReq.pColumns = taosArrayInit(req.schemaRow.nCols, sizeof(SField)); + pReq.pColumns = taosArrayInit(req.schemaRow.nCols, sizeof(SFieldWithOptions)); for (int32_t i = 0; i < req.schemaRow.nCols; i++) { SSchema* pSchema = req.schemaRow.pSchema + i; - SField field = {.type = pSchema->type, .flags = pSchema->flags, .bytes = pSchema->bytes}; + SFieldWithOptions field = {.type = pSchema->type, .flags = pSchema->flags, .bytes = pSchema->bytes}; strcpy(field.name, pSchema->name); + // todo get active compress param + setDefaultOptionsForField(&field); taosArrayPush(pReq.pColumns, &field); } pReq.pTags = taosArrayInit(req.schemaTag.nCols, sizeof(SField)); diff --git a/source/client/src/clientSml.c b/source/client/src/clientSml.c index 6bcdb4e973..e3a318c4ef 100644 --- a/source/client/src/clientSml.c +++ b/source/client/src/clientSml.c @@ -909,6 +909,14 @@ static int32_t smlSendMetaMsg(SSmlHandle *info, SName *pName, SArray *pColumns, // put front for free pReq.numOfColumns = taosArrayGetSize(pColumns); + for (int32_t i = 0; i < pReq.numOfColumns; ++i) { + SField *pField = taosArrayGet(pColumns, i); + SFieldWithOptions fieldWithOption; + setFieldWithOptions(&fieldWithOption, pField); + setDefaultOptionsForField(&fieldWithOption); + taosArrayPush(pReq.pColumns, &fieldWithOption); + } + pReq.pColumns = pColumns; pReq.numOfTags = taosArrayGetSize(pTags); pReq.pTags = pTags; diff --git a/source/common/src/tcol.c b/source/common/src/tcol.c new file mode 100644 index 0000000000..702c1a3efd --- /dev/null +++ b/source/common/src/tcol.c @@ -0,0 +1,274 @@ +/* + * Copyright (c) 2019 TAOS Data, Inc. + * + * This program is free software: you can use, redistribute, and/or modify + * it under the terms of the GNU Affero General Public License, version 3 + * or later ("AGPL"), as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +#include "tcol.h" +#include "tutil.h" + +const char* supportedEncode[5] = {TSDB_COLUMN_ENCODE_UNKNOWN, TSDB_COLUMN_ENCODE_SIMPLE8B, TSDB_COLUMN_ENCODE_XOR, + TSDB_COLUMN_ENCODE_RLE, TSDB_COLUMN_ENCODE_DISABLED}; + +const char* supportedCompress[7] = {TSDB_COLUMN_COMPRESS_UNKNOWN, TSDB_COLUMN_COMPRESS_LZ4, TSDB_COLUMN_COMPRESS_TSZ, + TSDB_COLUMN_COMPRESS_XZ, TSDB_COLUMN_COMPRESS_ZLIB, TSDB_COLUMN_COMPRESS_ZSTD, + TSDB_COLUMN_COMPRESS_DISABLED}; + +const char* supportedLevel[4] = {TSDB_COLUMN_LEVEL_UNKNOWN, TSDB_COLUMN_LEVEL_HIGH, TSDB_COLUMN_LEVEL_MEDIUM, + TSDB_COLUMN_LEVEL_LOW}; + +const int supportedEncodeNum = sizeof(supportedEncode) / sizeof(char*); +const int supportedCompressNum = sizeof(supportedCompress) / sizeof(char*); +const int supportedLevelNum = sizeof(supportedLevel) / sizeof(char*); + +uint8_t getDefaultEncode(uint8_t type) { + switch (type) { + case TSDB_DATA_TYPE_NULL: + case TSDB_DATA_TYPE_BOOL: + case TSDB_DATA_TYPE_TINYINT: + case TSDB_DATA_TYPE_SMALLINT: + case TSDB_DATA_TYPE_INT: + case TSDB_DATA_TYPE_BIGINT: + case TSDB_DATA_TYPE_FLOAT: + case TSDB_DATA_TYPE_DOUBLE: + case TSDB_DATA_TYPE_VARCHAR: // TSDB_DATA_TYPE_BINARY + case TSDB_DATA_TYPE_TIMESTAMP: + case TSDB_DATA_TYPE_NCHAR: + case TSDB_DATA_TYPE_UTINYINT: + case TSDB_DATA_TYPE_USMALLINT: + case TSDB_DATA_TYPE_UINT: + case TSDB_DATA_TYPE_UBIGINT: + case TSDB_DATA_TYPE_JSON: + case TSDB_DATA_TYPE_VARBINARY: + case TSDB_DATA_TYPE_DECIMAL: + case TSDB_DATA_TYPE_BLOB: + case TSDB_DATA_TYPE_MEDIUMBLOB: + case TSDB_DATA_TYPE_GEOMETRY: + case TSDB_DATA_TYPE_MAX: + return TSDB_COLVAL_ENCODE_SIMPLE8B; + + default: + return TSDB_COLVAL_ENCODE_SIMPLE8B; + } +} +const char* getDefaultEncodeStr(uint8_t type) { + return columnEncodeStr(getDefaultEncode(type)); +} + +uint16_t getDefaultCompress(uint8_t type) { + switch (type) { + case TSDB_DATA_TYPE_NULL: + case TSDB_DATA_TYPE_BOOL: + case TSDB_DATA_TYPE_TINYINT: + case TSDB_DATA_TYPE_SMALLINT: + case TSDB_DATA_TYPE_INT: + case TSDB_DATA_TYPE_BIGINT: + case TSDB_DATA_TYPE_FLOAT: + case TSDB_DATA_TYPE_DOUBLE: + case TSDB_DATA_TYPE_VARCHAR: // TSDB_DATA_TYPE_BINARY + case TSDB_DATA_TYPE_TIMESTAMP: + case TSDB_DATA_TYPE_NCHAR: + case TSDB_DATA_TYPE_UTINYINT: + case TSDB_DATA_TYPE_USMALLINT: + case TSDB_DATA_TYPE_UINT: + case TSDB_DATA_TYPE_UBIGINT: + case TSDB_DATA_TYPE_JSON: + case TSDB_DATA_TYPE_VARBINARY: + case TSDB_DATA_TYPE_DECIMAL: + case TSDB_DATA_TYPE_BLOB: + case TSDB_DATA_TYPE_MEDIUMBLOB: + case TSDB_DATA_TYPE_GEOMETRY: + case TSDB_DATA_TYPE_MAX: + return TSDB_COLVAL_COMPRESS_LZ4; + + default: + return TSDB_COLVAL_COMPRESS_LZ4; + } +} +const char* getDefaultCompressStr(uint8_t type) { + return columnCompressStr(getDefaultCompress(type)); +} + +uint8_t getDefaultLevel(uint8_t type) { return TSDB_COLVAL_LEVEL_MEDIUM; } +const char* getDefaultLevelStr(uint8_t type) { return columnLevelStr(getDefaultLevel(type)); } + +const char* columnEncodeStr(uint8_t type) { + const char* encode = NULL; + switch (type) { + case TSDB_COLVAL_ENCODE_SIMPLE8B: + encode = TSDB_COLUMN_ENCODE_SIMPLE8B; + break; + case TSDB_COLVAL_ENCODE_XOR: + encode = TSDB_COLUMN_ENCODE_XOR; + break; + case TSDB_COLVAL_ENCODE_RLE: + encode = TSDB_COLUMN_ENCODE_RLE; + break; + case TSDB_COLVAL_ENCODE_DISABLED: + encode = TSDB_COLUMN_ENCODE_DISABLED; + break; + default: + break; + } + return encode; +} + +const char* columnCompressStr(uint16_t type) { + const char* compress = NULL; + switch (type) { + case TSDB_COLVAL_COMPRESS_LZ4: + compress = TSDB_COLUMN_COMPRESS_LZ4; + break; + case TSDB_COLVAL_COMPRESS_TSZ: + compress = TSDB_COLUMN_COMPRESS_TSZ; + break; + case TSDB_COLVAL_COMPRESS_XZ: + compress = TSDB_COLUMN_COMPRESS_XZ; + break; + case TSDB_COLVAL_COMPRESS_ZLIB: + compress = TSDB_COLUMN_COMPRESS_ZLIB; + break; + case TSDB_COLVAL_COMPRESS_ZSTD: + compress = TSDB_COLUMN_COMPRESS_ZSTD; + break; + case TSDB_COLVAL_COMPRESS_DISABLED: + compress = TSDB_COLUMN_COMPRESS_DISABLED; + break; + + default: + break; + } + return compress; +} + +uint8_t columnLevelVal(const char* level) { + uint8_t l = TSDB_COLVAL_LEVEL_MEDIUM; + if (0 == strcmp(level, TSDB_COLUMN_LEVEL_HIGH)) { + l = TSDB_COLVAL_LEVEL_HIGH; + } else if (0 == strcmp(level, TSDB_COLUMN_LEVEL_MEDIUM)) { + l = TSDB_COLVAL_LEVEL_MEDIUM; + } else if (0 == strcmp(level, TSDB_COLUMN_LEVEL_LOW)) { + l = TSDB_COLVAL_LEVEL_LOW; + } + return l; +} + +uint16_t columnCompressVal(const char* compress) { + uint16_t c = TSDB_COLVAL_COMPRESS_LZ4; + if (0 == strcmp(compress, TSDB_COLUMN_COMPRESS_LZ4)) { + c = TSDB_COLVAL_COMPRESS_LZ4; + } else if (0 == strcmp(compress, TSDB_COLUMN_COMPRESS_TSZ)) { + c = TSDB_COLVAL_COMPRESS_TSZ; + } else if (0 == strcmp(compress, TSDB_COLUMN_COMPRESS_XZ)) { + c = TSDB_COLVAL_COMPRESS_XZ; + } else if (0 == strcmp(compress, TSDB_COLUMN_COMPRESS_ZLIB)) { + c = TSDB_COLVAL_COMPRESS_ZLIB; + } else if (0 == strcmp(compress, TSDB_COLUMN_COMPRESS_ZSTD)) { + c = TSDB_COLVAL_COMPRESS_ZSTD; + } else if (0 == strcmp(compress, TSDB_COLUMN_COMPRESS_DISABLED)) { + c = TSDB_COLVAL_COMPRESS_DISABLED; + } + return c; +} + +uint8_t columnEncodeVal(const char* encode) { + uint8_t e = TSDB_COLVAL_ENCODE_SIMPLE8B; + if (0 == strcmp(encode, TSDB_COLUMN_ENCODE_SIMPLE8B)) { + e = TSDB_COLVAL_ENCODE_SIMPLE8B; + } else if (0 == strcmp(encode, TSDB_COLUMN_ENCODE_XOR)) { + e = TSDB_COLVAL_ENCODE_XOR; + } else if (0 == strcmp(encode, TSDB_COLUMN_ENCODE_RLE)) { + e = TSDB_COLVAL_ENCODE_RLE; + } else if (0 == strcmp(encode, TSDB_COLUMN_ENCODE_DISABLED)) { + e = TSDB_COLVAL_ENCODE_DISABLED; + } + return e; +} + +const char* columnLevelStr(uint8_t type) { + const char* level = NULL; + switch (type) { + case TSDB_COLVAL_LEVEL_HIGH: + level = TSDB_COLUMN_LEVEL_HIGH; + break; + case TSDB_COLVAL_LEVEL_MEDIUM: + level = TSDB_COLUMN_LEVEL_MEDIUM; + break; + case TSDB_COLVAL_LEVEL_LOW: + level = TSDB_COLUMN_LEVEL_LOW; + break; + default: + break; + } + return level; +} + +bool checkColumnEncode(uint8_t type, char encode[TSDB_CL_COMPRESS_OPTION_LEN]) { + if (0 == strlen(encode)) { + strncpy(encode, getDefaultEncodeStr(type), TSDB_CL_COMPRESS_OPTION_LEN); + return true; + } + strtolower(encode, encode); + for (int i = 0; i < supportedEncodeNum; ++i) { + if (0 == strcmp((const char*)encode, supportedEncode[i])) { + return true; + } + } + + return false; +} +bool checkColumnCompress(uint8_t type, char compress[TSDB_CL_COMPRESS_OPTION_LEN]) { + if (0 == strlen(compress)) { + strncpy(compress, getDefaultEncodeStr(type), TSDB_CL_COMPRESS_OPTION_LEN); + return true; + } + strtolower(compress, compress); + for (int i = 0; i < supportedCompressNum; ++i) { + if (0 == strcmp((const char*)compress, supportedCompress[i])) { + return true; + } + } + + return false; +} +bool checkColumnLevel(uint8_t type, char level[TSDB_CL_COMPRESS_OPTION_LEN]) { + if (0 == strlen(level)) { + strncpy(level, getDefaultLevelStr(type), TSDB_CL_COMPRESS_OPTION_LEN); + return true; + } else if (1 == strlen(level)) { + if ('h' == level[0] || 'm' == level[0] || 'l' == level[0]) return true; + } else { + for (int i = 0; i < supportedLevelNum; ++i) { + if (0 == strcmp((const char*)level, supportedLevel[i])) { + return true; + } + } + } + + return false; +} + +void setColEncode(uint32_t* compress, uint8_t l1) { + *compress &= 0x00FFFFFF; + *compress |= (l1 << 24); + return; +} +void setColCompress(uint32_t* compress, uint16_t l2) { + *compress &= 0xFF0000FF; + *compress |= (l2 << 8); + return; +} +void setColLevel(uint32_t* compress, uint8_t level) { + *compress &= 0xFFFFFF00; + *compress |= level; + return; +} diff --git a/source/common/src/tmsg.c b/source/common/src/tmsg.c index 20b1220dbc..31ddfe9539 100644 --- a/source/common/src/tmsg.c +++ b/source/common/src/tmsg.c @@ -38,6 +38,7 @@ #include "tmsgdef.h" #include "tlog.h" +#include "tcol.h" #define DECODESQL() \ do { \ @@ -566,11 +567,14 @@ int32_t tSerializeSMCreateStbReq(void *buf, int32_t bufLen, SMCreateStbReq *pReq if (tEncodeI32(&encoder, pReq->ast2Len) < 0) return -1; for (int32_t i = 0; i < pReq->numOfColumns; ++i) { - SField *pField = taosArrayGet(pReq->pColumns, i); + SFieldWithOptions *pField = taosArrayGet(pReq->pColumns, i); if (tEncodeI8(&encoder, pField->type) < 0) return -1; if (tEncodeI8(&encoder, pField->flags) < 0) return -1; if (tEncodeI32(&encoder, pField->bytes) < 0) return -1; if (tEncodeCStr(&encoder, pField->name) < 0) return -1; + if (tEncodeU32(&encoder, pField->compress) < 0) return -1; + // XSDEBUG + printf("column: %s, compress: %0x.\n", pField->name, pField->compress); } for (int32_t i = 0; i < pReq->numOfTags; ++i) { @@ -647,6 +651,9 @@ int32_t tDeserializeSMCreateStbReq(void *buf, int32_t bufLen, SMCreateStbReq *pR if (tDecodeI8(&decoder, &field.flags) < 0) return -1; if (tDecodeI32(&decoder, &field.bytes) < 0) return -1; if (tDecodeCStrTo(&decoder, field.name) < 0) return -1; + // if (tDecodeCStrTo(&decoder, field.encode) < 0) return -1; + // if (tDecodeCStrTo(&decoder, field.compress) < 0) return -1; + // if (tDecodeCStrTo(&decoder, field.level) < 0) return -1; if (taosArrayPush(pReq->pColumns, &field) == NULL) { terrno = TSDB_CODE_OUT_OF_MEMORY; return -1; @@ -7637,6 +7644,8 @@ int tEncodeSVCreateTbReq(SEncoder *pCoder, const SVCreateTbReq *pReq) { } if (tEncodeSColCmprWrapper(pCoder, &pReq->colCmpr) < 0) return -1; + // Encode Column Options: encode compress level + tEndEncode(pCoder); return 0; } @@ -8102,6 +8111,8 @@ int32_t tEncodeSVAlterTbReq(SEncoder *pEncoder, const SVAlterTbReq *pReq) { if (tEncodeCStr(pEncoder, pReq->newComment) < 0) return -1; } break; + case TSDB_ALTER_TABLE_UPDATE_COLUMN_COMPRESS: + break; default: break; } @@ -9417,3 +9428,16 @@ void tFreeSViewHbRsp(SViewHbRsp *pRsp) { taosArrayDestroy(pRsp->pViewRsp); } + +void setDefaultOptionsForField(SFieldWithOptions *field) { + setColEncode(&field->compress, getDefaultEncode(field->type)); + setColCompress(&field->compress, getDefaultCompress(field->type)); + setColLevel(&field->compress, getDefaultLevel(field->type)); +} + +void setFieldWithOptions(SFieldWithOptions *fieldWithOptions, SField *field) { + fieldWithOptions->bytes = field->bytes; + fieldWithOptions->flags = field->flags; + fieldWithOptions->type = field->type; + strncpy(fieldWithOptions->name, field->name, TSDB_COL_NAME_LEN); +} \ No newline at end of file diff --git a/source/libs/nodes/src/nodesCodeFuncs.c b/source/libs/nodes/src/nodesCodeFuncs.c index 689886c366..ae220cf334 100644 --- a/source/libs/nodes/src/nodesCodeFuncs.c +++ b/source/libs/nodes/src/nodesCodeFuncs.c @@ -77,6 +77,8 @@ const char* nodesNodeName(ENodeType type) { return "DatabaseOptions"; case QUERY_NODE_TABLE_OPTIONS: return "TableOptions"; + case QUERY_NODE_COLUMN_OPTIONS: + return "ColumnOptions"; case QUERY_NODE_INDEX_OPTIONS: return "IndexOptions"; case QUERY_NODE_EXPLAIN_OPTIONS: @@ -4973,6 +4975,26 @@ static int32_t jsonToTableOptions(const SJson* pJson, void* pObj) { return code; } +static const char* jkColumnOptionsEncode = "encode"; +static const char* jkColumnOptionsCompress = "compress"; +static const char* jkColumnOptionsLevel = "level"; +static int32_t columnOptionsToJson(const void* pObj, SJson* pJson) { + const SColumnOptions* pNode = (const SColumnOptions*)pObj; + int32_t code = tjsonAddStringToObject(pJson, jkColumnOptionsEncode, pNode->encode); + code = tjsonAddStringToObject(pJson, jkColumnOptionsCompress, pNode->compress); + code = tjsonAddStringToObject(pJson, jkColumnOptionsLevel, pNode->compressLevel); + return code; +} + +static int32_t jsonToColumnOptions(const SJson* pJson, void* pObj) { + SColumnOptions* pNode = (SColumnOptions*)pObj; + + int32_t code = tjsonGetStringValue(pJson, jkColumnOptionsEncode, pNode->encode); + code = tjsonGetStringValue(pJson, jkColumnOptionsCompress, pNode->compress); + code = tjsonGetStringValue(pJson, jkColumnOptionsLevel, pNode->compressLevel); + return code; +} + static const char* jkIndexOptionsFuncs = "Funcs"; static const char* jkIndexOptionsInterval = "Interval"; static const char* jkIndexOptionsOffset = "Offset"; @@ -7051,6 +7073,8 @@ static int32_t specificNodeToJson(const void* pObj, SJson* pJson) { return databaseOptionsToJson(pObj, pJson); case QUERY_NODE_TABLE_OPTIONS: return tableOptionsToJson(pObj, pJson); + case QUERY_NODE_COLUMN_OPTIONS: + return columnOptionsToJson(pObj, pJson); case QUERY_NODE_INDEX_OPTIONS: return indexOptionsToJson(pObj, pJson); case QUERY_NODE_EXPLAIN_OPTIONS: @@ -7388,6 +7412,8 @@ static int32_t jsonToSpecificNode(const SJson* pJson, void* pObj) { return jsonToDatabaseOptions(pJson, pObj); case QUERY_NODE_TABLE_OPTIONS: return jsonToTableOptions(pJson, pObj); + case QUERY_NODE_COLUMN_OPTIONS: + return jsonToColumnOptions(pJson, pObj); case QUERY_NODE_INDEX_OPTIONS: return jsonToIndexOptions(pJson, pObj); case QUERY_NODE_EXPLAIN_OPTIONS: diff --git a/source/libs/nodes/src/nodesUtilFuncs.c b/source/libs/nodes/src/nodesUtilFuncs.c index 1bdcda3ddf..11ea272039 100644 --- a/source/libs/nodes/src/nodesUtilFuncs.c +++ b/source/libs/nodes/src/nodesUtilFuncs.c @@ -286,6 +286,8 @@ SNode* nodesMakeNode(ENodeType type) { return makeNode(type, sizeof(SDatabaseOptions)); case QUERY_NODE_TABLE_OPTIONS: return makeNode(type, sizeof(STableOptions)); + case QUERY_NODE_COLUMN_OPTIONS: + return makeNode(type, sizeof(SColumnOptions)); case QUERY_NODE_INDEX_OPTIONS: return makeNode(type, sizeof(SIndexOptions)); case QUERY_NODE_EXPLAIN_OPTIONS: @@ -815,6 +817,10 @@ void nodesDestroyNode(SNode* pNode) { nodesDestroyList(pOptions->pDeleteMark); break; } + case QUERY_NODE_COLUMN_OPTIONS: { + SColumnOptions* pOptions = (SColumnOptions*)pNode; + break; + } case QUERY_NODE_INDEX_OPTIONS: { SIndexOptions* pOptions = (SIndexOptions*)pNode; nodesDestroyList(pOptions->pFuncs); diff --git a/source/libs/parser/inc/parAst.h b/source/libs/parser/inc/parAst.h index f13f9f1b96..4c838427dc 100644 --- a/source/libs/parser/inc/parAst.h +++ b/source/libs/parser/inc/parAst.h @@ -77,6 +77,13 @@ typedef enum ETableOptionType { TABLE_OPTION_DELETE_MARK } ETableOptionType; +typedef enum EColumnOptionType { + COLUMN_OPTION_COMMENT = 1, + COLUMN_OPTION_ENCODE, + COLUMN_OPTION_COMPRESS, + COLUMN_OPTION_LEVEL, +} EColumnOptionType; + typedef struct SAlterOption { int32_t type; SToken val; @@ -172,7 +179,9 @@ SNode* createCompactStmt(SAstCreateContext* pCxt, SToken* pDbName, SNode* pStart SNode* createDefaultTableOptions(SAstCreateContext* pCxt); SNode* createAlterTableOptions(SAstCreateContext* pCxt); SNode* setTableOption(SAstCreateContext* pCxt, SNode* pOptions, ETableOptionType type, void* pVal); -SNode* createColumnDefNode(SAstCreateContext* pCxt, SToken* pColName, SDataType dataType, const SToken* pComment); +SNode* createColumnDefNode(SAstCreateContext* pCxt, SToken* pColName, SDataType dataType, SNode* pOptions); +SNode* setColumnOptions(SAstCreateContext* pCxt, SNode* pOptions, ETableOptionType type, void* pVal); +SNode* createDefaultColumnOptions(SAstCreateContext* pCxt); SNode* createCreateTableStmt(SAstCreateContext* pCxt, bool ignoreExists, SNode* pRealTable, SNodeList* pCols, SNodeList* pTags, SNode* pOptions); SNode* createCreateSubTableClause(SAstCreateContext* pCxt, bool ignoreExists, SNode* pRealTable, SNode* pUseRealTable, @@ -184,6 +193,8 @@ SNode* createDropSuperTableStmt(SAstCreateContext* pCxt, bool ignoreNotExists, S SNode* createAlterTableModifyOptions(SAstCreateContext* pCxt, SNode* pRealTable, SNode* pOptions); SNode* createAlterTableAddModifyCol(SAstCreateContext* pCxt, SNode* pRealTable, int8_t alterType, SToken* pColName, SDataType dataType); +SNode* createAlterTableAddModifyColOptions(SAstCreateContext* pCxt, SNode* pRealTable, int8_t alterType, SToken* pColName, + SNode* pOptions); SNode* createAlterTableDropCol(SAstCreateContext* pCxt, SNode* pRealTable, int8_t alterType, SToken* pColName); SNode* createAlterTableRenameCol(SAstCreateContext* pCxt, SNode* pRealTable, int8_t alterType, SToken* pOldColName, SToken* pNewColName); diff --git a/source/libs/parser/inc/sql.y b/source/libs/parser/inc/sql.y index 4c59f3abd7..dc3625496e 100755 --- a/source/libs/parser/inc/sql.y +++ b/source/libs/parser/inc/sql.y @@ -344,6 +344,8 @@ alter_table_clause(A) ::= alter_table_clause(A) ::= full_table_name(B) DROP COLUMN column_name(C). { A = createAlterTableDropCol(pCxt, B, TSDB_ALTER_TABLE_DROP_COLUMN, &C); } alter_table_clause(A) ::= full_table_name(B) MODIFY COLUMN column_name(C) type_name(D). { A = createAlterTableAddModifyCol(pCxt, B, TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES, &C, D); } +alter_table_clause(A) ::= + full_table_name(B) MODIFY COLUMN column_name(C) column_options(D). { A = createAlterTableAddModifyColOptions(pCxt, B, TSDB_ALTER_TABLE_UPDATE_COLUMN_COMPRESS, &C, D); } alter_table_clause(A) ::= full_table_name(B) RENAME COLUMN column_name(C) column_name(D). { A = createAlterTableRenameCol(pCxt, B, TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME, &C, &D); } alter_table_clause(A) ::= @@ -380,13 +382,19 @@ specific_cols_opt(A) ::= NK_LP col_name_list(B) NK_RP. full_table_name(A) ::= table_name(B). { A = createRealTableNode(pCxt, NULL, &B, NULL); } full_table_name(A) ::= db_name(B) NK_DOT table_name(C). { A = createRealTableNode(pCxt, &B, &C, NULL); } +%type tag_def_list { SNodeList* } +%destructor tag_def_list { nodesDestroyList($$); } +tag_def_list(A) ::= tag_def(B). { A = createNodeList(pCxt, B); } +tag_def_list(A) ::= tag_def_list(B) NK_COMMA tag_def(C). { A = addNodeToList(pCxt, B, C); } +tag_def(A) ::= column_name(B) type_name(C). { A = createColumnDefNode(pCxt, &B, C, NULL); } + %type column_def_list { SNodeList* } %destructor column_def_list { nodesDestroyList($$); } column_def_list(A) ::= column_def(B). { A = createNodeList(pCxt, B); } column_def_list(A) ::= column_def_list(B) NK_COMMA column_def(C). { A = addNodeToList(pCxt, B, C); } -column_def(A) ::= column_name(B) type_name(C). { A = createColumnDefNode(pCxt, &B, C, NULL); } -//column_def(A) ::= column_name(B) type_name(C) COMMENT NK_STRING(D). { A = createColumnDefNode(pCxt, &B, C, &D); } +// column_def(A) ::= column_name(B) type_name(C). { A = createColumnDefNode(pCxt, &B, C, NULL); } +column_def(A) ::= column_name(B) type_name(C) column_options(D). { A = createColumnDefNode(pCxt, &B, C, D); } %type type_name { SDataType } %destructor type_name { } @@ -422,7 +430,7 @@ tags_def_opt(A) ::= tags_def(B). %type tags_def { SNodeList* } %destructor tags_def { nodesDestroyList($$); } -tags_def(A) ::= TAGS NK_LP column_def_list(B) NK_RP. { A = B; } +tags_def(A) ::= TAGS NK_LP tag_def_list(B) NK_RP. { A = B; } table_options(A) ::= . { A = createDefaultTableOptions(pCxt); } table_options(A) ::= table_options(B) COMMENT NK_STRING(C). { A = setTableOption(pCxt, B, TABLE_OPTION_COMMENT, &C); } @@ -1276,3 +1284,8 @@ null_ordering_opt(A) ::= NULLS LAST. %fallback ABORT AFTER ATTACH BEFORE BEGIN BITAND BITNOT BITOR BLOCKS CHANGE COMMA CONCAT CONFLICT COPY DEFERRED DELIMITERS DETACH DIVIDE DOT EACH END FAIL FILE FOR GLOB ID IMMEDIATE IMPORT INITIALLY INSTEAD ISNULL KEY MODULES NK_BITNOT NK_SEMI NOTNULL OF PLUS PRIVILEGE RAISE RESTRICT ROW SEMI STAR STATEMENT STRICT STRING TIMES VALUES VARIABLE VIEW WAL. + +column_options(A) ::= . { A = createDefaultColumnOptions(pCxt); } +column_options(A) ::= column_options(B) ENCODE NK_STRING(C). { A = setColumnOptions(pCxt, B, COLUMN_OPTION_ENCODE, &C); } +column_options(A) ::= column_options(B) COMPRESS NK_STRING(C). { A = setColumnOptions(pCxt, B, COLUMN_OPTION_COMPRESS, &C); } +column_options(A) ::= column_options(B) LEVEL NK_STRING(C). { A = setColumnOptions(pCxt, B, COLUMN_OPTION_LEVEL, &C); } diff --git a/source/libs/parser/src/parAstCreater.c b/source/libs/parser/src/parAstCreater.c index 1d6c5e800e..80b12bc44a 100644 --- a/source/libs/parser/src/parAstCreater.c +++ b/source/libs/parser/src/parAstCreater.c @@ -1487,9 +1487,38 @@ SNode* setTableOption(SAstCreateContext* pCxt, SNode* pOptions, ETableOptionType return pOptions; } -SNode* createColumnDefNode(SAstCreateContext* pCxt, SToken* pColName, SDataType dataType, const SToken* pComment) { +SNode* createDefaultColumnOptions(SAstCreateContext* pCxt) { CHECK_PARSER_STATUS(pCxt); - if (!checkColumnName(pCxt, pColName) || !checkComment(pCxt, pComment, false)) { + SColumnOptions* pOptions = (SColumnOptions*)nodesMakeNode(QUERY_NODE_COLUMN_OPTIONS); + CHECK_OUT_OF_MEM(pOptions); + pOptions->commentNull = true; + return (SNode*)pOptions; +} + +SNode* setColumnOptions(SAstCreateContext* pCxt, SNode* pOptions, ETableOptionType type, void* pVal) { + CHECK_PARSER_STATUS(pCxt); + switch (type) { + case COLUMN_OPTION_ENCODE: + memset(((SColumnOptions*)pOptions)->encode, 0, TSDB_CL_COMPRESS_OPTION_LEN); + COPY_STRING_FORM_STR_TOKEN(((SColumnOptions*)pOptions)->encode, (SToken*)pVal); + break; + case COLUMN_OPTION_COMPRESS: + memset(((SColumnOptions*)pOptions)->compress, 0, TSDB_CL_COMPRESS_OPTION_LEN); + COPY_STRING_FORM_STR_TOKEN(((SColumnOptions*)pOptions)->compress, (SToken*)pVal); + break; + case COLUMN_OPTION_LEVEL: + memset(((SColumnOptions*)pOptions)->compressLevel, 0, TSDB_CL_COMPRESS_OPTION_LEN); + COPY_STRING_FORM_STR_TOKEN(((SColumnOptions*)pOptions)->compressLevel, (SToken*)pVal); + break; + default: + break; + } + return pOptions; +} + +SNode* createColumnDefNode(SAstCreateContext* pCxt, SToken* pColName, SDataType dataType, SNode* pNode) { + CHECK_PARSER_STATUS(pCxt); + if (!checkColumnName(pCxt, pColName)) { return NULL; } if (IS_VAR_DATA_TYPE(dataType.type) && dataType.bytes == 0) { @@ -1500,9 +1529,7 @@ SNode* createColumnDefNode(SAstCreateContext* pCxt, SToken* pColName, SDataType CHECK_OUT_OF_MEM(pCol); COPY_STRING_FORM_ID_TOKEN(pCol->colName, pColName); pCol->dataType = dataType; - if (NULL != pComment) { - trimString(pComment->z, pComment->n, pCol->comments, sizeof(pCol->comments)); - } + pCol->pOptions = (SColumnOptions*)pNode; pCol->sma = true; return (SNode*)pCol; } @@ -1618,6 +1645,20 @@ SNode* createAlterTableAddModifyCol(SAstCreateContext* pCxt, SNode* pRealTable, return createAlterTableStmtFinalize(pRealTable, pStmt); } +SNode* createAlterTableAddModifyColOptions(SAstCreateContext* pCxt, SNode* pRealTable, int8_t alterType, SToken* pColName, + SNode* pOptions) { + CHECK_PARSER_STATUS(pCxt); + if (!checkColumnName(pCxt, pColName)) { + return NULL; + } + SAlterTableStmt* pStmt = (SAlterTableStmt*)nodesMakeNode(QUERY_NODE_ALTER_TABLE_STMT); + CHECK_OUT_OF_MEM(pStmt); + pStmt->alterType = TSDB_ALTER_TABLE_UPDATE_COLUMN_COMPRESS; + COPY_STRING_FORM_ID_TOKEN(pStmt->colName, pColName); + pStmt->pColOptions = (SColumnOptions*)pOptions; + return createAlterTableStmtFinalize(pRealTable, pStmt); +} + SNode* createAlterTableDropCol(SAstCreateContext* pCxt, SNode* pRealTable, int8_t alterType, SToken* pColName) { CHECK_PARSER_STATUS(pCxt); if (!checkColumnName(pCxt, pColName)) { diff --git a/source/libs/parser/src/parTokenizer.c b/source/libs/parser/src/parTokenizer.c index f1013d6157..0da25ad118 100644 --- a/source/libs/parser/src/parTokenizer.c +++ b/source/libs/parser/src/parTokenizer.c @@ -303,6 +303,9 @@ static SKeyword keywordTable[] = { {"ALIVE", TK_ALIVE}, {"VARBINARY", TK_VARBINARY}, {"KEEP_TIME_OFFSET", TK_KEEP_TIME_OFFSET}, + {"ENCODE", TK_ENCODE}, + {"COMPRESS", TK_COMPRESS}, + {"LEVEL", TK_LEVEL}, }; // clang-format on diff --git a/source/libs/parser/src/parTranslater.c b/source/libs/parser/src/parTranslater.c index cc522c9b5f..f7bd643515 100644 --- a/source/libs/parser/src/parTranslater.c +++ b/source/libs/parser/src/parTranslater.c @@ -26,6 +26,7 @@ #include "systable.h" #include "tglobal.h" #include "ttime.h" +#include "tcol.h" #define generateDealNodeErrMsg(pCxt, code, ...) \ (pCxt->errCode = generateSyntaxErrMsg(&pCxt->msgBuf, code, ##__VA_ARGS__), DEAL_RES_ERROR) @@ -5745,7 +5746,39 @@ static int32_t translateTrimDatabase(STranslateContext* pCxt, STrimDatabaseStmt* return buildCmdMsg(pCxt, TDMT_MND_TRIM_DB, (FSerializeFunc)tSerializeSTrimDbReq, &req); } +static int32_t checkColumnOptions(SNodeList* pList) { + SNode* pNode; + FOREACH(pNode, pList) { + SColumnDefNode* pCol = (SColumnDefNode*)pNode; + if (!pCol->pOptions) return TSDB_CODE_TSC_ENCODE_PARAM_NULL; + if (!checkColumnEncode(pCol->type, pCol->pOptions->encode)) return TSDB_CODE_TSC_ENCODE_PARAM_ERROR; + if (!checkColumnCompress(pCol->type, pCol->pOptions->compress)) return TSDB_CODE_TSC_ENCODE_PARAM_ERROR; + if (!checkColumnLevel(pCol->type, pCol->pOptions->compressLevel)) return TSDB_CODE_TSC_ENCODE_PARAM_ERROR; + } + return TSDB_CODE_SUCCESS; +} + static int32_t columnDefNodeToField(SNodeList* pList, SArray** pArray) { + *pArray = taosArrayInit(LIST_LENGTH(pList), sizeof(SFieldWithOptions)); + SNode* pNode; + FOREACH(pNode, pList) { + SColumnDefNode* pCol = (SColumnDefNode*)pNode; + SFieldWithOptions field = {.type = pCol->dataType.type, .bytes = calcTypeBytes(pCol->dataType)}; + strcpy(field.name, pCol->colName); + if (pCol->pOptions) { + setColEncode(&field.compress, columnEncodeVal(pCol->pOptions->encode)); + setColCompress(&field.compress, columnCompressVal(pCol->pOptions->compress)); + setColLevel(&field.compress, columnLevelVal(pCol->pOptions->compressLevel)); + } + if (pCol->sma) { + field.flags |= COL_SMA_ON; + } + taosArrayPush(*pArray, &field); + } + return TSDB_CODE_SUCCESS; +} + +static int32_t tagDefNodeToField(SNodeList* pList, SArray** pArray) { *pArray = taosArrayInit(LIST_LENGTH(pList), sizeof(SField)); SNode* pNode; FOREACH(pNode, pList) { @@ -6110,6 +6143,9 @@ static int32_t checkCreateTable(STranslateContext* pCxt, SCreateTableStmt* pStmt if (TSDB_CODE_SUCCESS == code) { code = checkTableSchema(pCxt, pStmt); } + if (TSDB_CODE_SUCCESS == code) { + code = checkColumnOptions(pStmt->pCols); + } if (TSDB_CODE_SUCCESS == code) { if (createStable && pStmt->pOptions->ttl != 0) { code = generateSyntaxErrMsgExt(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_TABLE_OPTION, @@ -6436,7 +6472,7 @@ static int32_t buildCreateStbReq(STranslateContext* pCxt, SCreateTableStmt* pStm pReq->tagVer = 1; pReq->source = TD_REQ_FROM_APP; columnDefNodeToField(pStmt->pCols, &pReq->pColumns); - columnDefNodeToField(pStmt->pTags, &pReq->pTags); + tagDefNodeToField(pStmt->pTags, &pReq->pTags); pReq->numOfColumns = LIST_LENGTH(pStmt->pCols); pReq->numOfTags = LIST_LENGTH(pStmt->pTags); if (pStmt->pOptions->commentNull == false) { @@ -8402,7 +8438,7 @@ static int32_t buildCreateStreamReq(STranslateContext* pCxt, SCreateStreamStmt* pReq->fillHistory = pStmt->pOptions->fillHistory; pReq->igExpired = pStmt->pOptions->ignoreExpired; if (pReq->createStb) { - columnDefNodeToField(pStmt->pTags, &pReq->pTags); + tagDefNodeToField(pStmt->pTags, &pReq->pTags); pReq->numOfTags = LIST_LENGTH(pStmt->pTags); } pReq->igUpdate = pStmt->pOptions->ignoreUpdate; diff --git a/source/libs/parser/src/sql.c b/source/libs/parser/src/sql.c index 9833c8151b..bfc9ffd916 100644 --- a/source/libs/parser/src/sql.c +++ b/source/libs/parser/src/sql.c @@ -25,6 +25,8 @@ ** input grammar file: */ /************ Begin %include sections from the grammar ************************/ +#line 11 "sql.y" + #include #include #include @@ -40,6 +42,7 @@ #include "parAst.h" #define YYSTACKDEPTH 0 +#line 46 "sql.c" /**************** End of %include directives **********************************/ /* These constants specify the various numeric values for terminal symbols. ***************** Begin token definitions *************************************/ @@ -394,6 +397,9 @@ #define TK_VALUES 348 #define TK_VARIABLE 349 #define TK_WAL 350 +#define TK_ENCODE 351 +#define TK_COMPRESS 352 +#define TK_LEVEL 353 #endif /**************** End token definitions ***************************************/ @@ -453,29 +459,29 @@ #endif /************* Begin control #defines *****************************************/ #define YYCODETYPE unsigned short int -#define YYNOCODE 512 +#define YYNOCODE 518 #define YYACTIONTYPE unsigned short int #define ParseTOKENTYPE SToken typedef union { int yyinit; ParseTOKENTYPE yy0; - STokenPair yy57; - int64_t yy221; - EOperatorType yy252; - EShowKind yy321; - bool yy345; - EFillMode yy358; - SNode* yy360; - SNodeList* yy536; - int32_t yy580; - ENullOrder yy585; - EJoinType yy596; - EOrder yy642; - int8_t yy695; - SAlterOption yy797; - SDataType yy912; - SToken yy929; - SShowTablesOption yy1005; + STokenPair yy21; + int32_t yy396; + SNodeList* yy404; + EFillMode yy466; + SDataType yy504; + SAlterOption yy529; + ENullOrder yy669; + EJoinType yy680; + SToken yy701; + EShowKind yy705; + bool yy733; + EOperatorType yy884; + SNode* yy896; + int8_t yy915; + EOrder yy918; + int64_t yy949; + SShowTablesOption yy989; } YYMINORTYPE; #ifndef YYSTACKDEPTH #define YYSTACKDEPTH 100 @@ -491,18 +497,18 @@ typedef union { #define ParseCTX_FETCH #define ParseCTX_STORE #define YYFALLBACK 1 -#define YYNSTATE 852 -#define YYNRULE 649 -#define YYNRULE_WITH_ACTION 649 -#define YYNTOKEN 351 -#define YY_MAX_SHIFT 851 -#define YY_MIN_SHIFTREDUCE 1256 -#define YY_MAX_SHIFTREDUCE 1904 -#define YY_ERROR_ACTION 1905 -#define YY_ACCEPT_ACTION 1906 -#define YY_NO_ACTION 1907 -#define YY_MIN_REDUCE 1908 -#define YY_MAX_REDUCE 2556 +#define YYNSTATE 860 +#define YYNRULE 657 +#define YYNRULE_WITH_ACTION 657 +#define YYNTOKEN 354 +#define YY_MAX_SHIFT 859 +#define YY_MIN_SHIFTREDUCE 1269 +#define YY_MAX_SHIFTREDUCE 1925 +#define YY_ERROR_ACTION 1926 +#define YY_ACCEPT_ACTION 1927 +#define YY_NO_ACTION 1928 +#define YY_MIN_REDUCE 1929 +#define YY_MAX_REDUCE 2585 /************* End control #defines *******************************************/ #define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0]))) @@ -569,853 +575,825 @@ typedef union { ** yy_default[] Default action for each state. ** *********** Begin parsing tables **********************************************/ -#define YY_ACTTAB_COUNT (2941) +#define YY_ACTTAB_COUNT (2797) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 95, 2332, 567, 2151, 468, 568, 1951, 14, 13, 467, - /* 10 */ 2185, 2315, 48, 46, 1826, 2340, 2532, 387, 723, 2527, - /* 20 */ 419, 699, 1667, 41, 40, 2336, 2093, 47, 45, 44, - /* 30 */ 43, 42, 174, 647, 1920, 1752, 1994, 1665, 2531, 737, - /* 40 */ 2098, 704, 2528, 2530, 2527, 2356, 38, 321, 645, 584, - /* 50 */ 643, 270, 269, 1696, 675, 716, 146, 2527, 719, 137, - /* 60 */ 112, 675, 703, 203, 2527, 1747, 610, 2528, 705, 2338, - /* 70 */ 416, 19, 739, 2236, 2418, 2533, 203, 147, 1673, 747, - /* 80 */ 2528, 705, 2533, 203, 2236, 2090, 2374, 2528, 705, 41, - /* 90 */ 40, 2234, 724, 47, 45, 44, 43, 42, 2322, 412, - /* 100 */ 753, 587, 2233, 724, 848, 585, 2229, 15, 475, 823, - /* 110 */ 822, 821, 820, 431, 1795, 819, 818, 151, 813, 812, - /* 120 */ 811, 810, 809, 808, 807, 150, 801, 800, 799, 430, - /* 130 */ 429, 796, 795, 794, 183, 182, 793, 2074, 1322, 2355, - /* 140 */ 1321, 63, 2393, 1754, 1755, 114, 2357, 757, 2359, 2360, - /* 150 */ 752, 1692, 747, 534, 532, 142, 367, 186, 575, 2446, - /* 160 */ 217, 568, 1951, 415, 2442, 301, 2454, 715, 572, 138, - /* 170 */ 714, 511, 2527, 1323, 569, 510, 184, 2151, 205, 2532, - /* 180 */ 1727, 1737, 2527, 509, 383, 736, 2476, 1753, 1756, 1870, - /* 190 */ 703, 203, 2149, 716, 146, 2528, 705, 1908, 385, 52, - /* 200 */ 2216, 2531, 1668, 63, 1666, 2528, 2529, 792, 196, 1901, - /* 210 */ 1692, 41, 40, 2145, 2146, 47, 45, 44, 43, 42, - /* 220 */ 2138, 136, 135, 134, 133, 132, 131, 130, 129, 128, - /* 230 */ 736, 484, 2212, 528, 1671, 1672, 1724, 1724, 1726, 1729, - /* 240 */ 1730, 1731, 1732, 1733, 1734, 1735, 1736, 749, 745, 1745, - /* 250 */ 1746, 1748, 1749, 1750, 1751, 2, 48, 46, 1325, 1326, - /* 260 */ 1693, 365, 704, 1690, 419, 2527, 1667, 428, 427, 1697, - /* 270 */ 518, 238, 2356, 537, 377, 570, 658, 1959, 536, 1752, - /* 280 */ 219, 1665, 223, 703, 203, 751, 273, 240, 2528, 705, - /* 290 */ 272, 570, 1674, 1959, 498, 228, 538, 466, 1696, 465, - /* 300 */ 698, 366, 500, 202, 2454, 2455, 305, 144, 2459, 1747, - /* 310 */ 1931, 659, 478, 2374, 1900, 19, 1460, 51, 1781, 527, - /* 320 */ 227, 452, 1673, 90, 274, 2322, 89, 753, 2374, 464, - /* 330 */ 1451, 782, 781, 780, 1455, 779, 1457, 1458, 778, 775, - /* 340 */ 583, 1466, 772, 1468, 1469, 769, 766, 763, 848, 386, - /* 350 */ 1693, 15, 790, 161, 160, 787, 786, 785, 158, 98, - /* 360 */ 486, 1997, 372, 2322, 305, 398, 2355, 649, 305, 2393, - /* 370 */ 1566, 1567, 357, 2357, 757, 2359, 2360, 752, 750, 747, - /* 380 */ 738, 2411, 1782, 1586, 1587, 577, 2275, 1754, 1755, 697, - /* 390 */ 2223, 2202, 88, 525, 524, 523, 522, 517, 516, 515, - /* 400 */ 514, 369, 1635, 1636, 1930, 504, 503, 502, 501, 495, - /* 410 */ 494, 493, 2532, 488, 487, 384, 184, 737, 2098, 479, - /* 420 */ 1554, 1555, 716, 146, 1727, 1737, 1573, 1585, 1588, 1695, - /* 430 */ 2461, 1753, 1756, 1695, 629, 628, 627, 137, 716, 146, - /* 440 */ 2217, 619, 143, 623, 615, 1305, 1668, 622, 1666, 456, - /* 450 */ 1696, 1691, 621, 626, 393, 392, 2458, 2322, 620, 1677, - /* 460 */ 194, 616, 37, 417, 1776, 1777, 1778, 1779, 1780, 1784, - /* 470 */ 1785, 1786, 1787, 1495, 1496, 792, 458, 454, 1671, 1672, - /* 480 */ 1724, 744, 1726, 1729, 1730, 1731, 1732, 1733, 1734, 1735, - /* 490 */ 1736, 749, 745, 1745, 1746, 1748, 1749, 1750, 1751, 2, - /* 500 */ 12, 48, 46, 2356, 1322, 2332, 1321, 736, 2531, 419, - /* 510 */ 2075, 1667, 422, 1823, 1697, 256, 754, 1894, 424, 2089, - /* 520 */ 168, 2144, 2146, 2151, 1752, 1929, 1665, 400, 2100, 2336, - /* 530 */ 399, 179, 204, 2454, 2455, 2149, 144, 2459, 2149, 1323, - /* 540 */ 604, 600, 596, 592, 2374, 255, 106, 718, 201, 2454, - /* 550 */ 2455, 1303, 144, 2459, 1747, 12, 2322, 2151, 753, 656, - /* 560 */ 19, 629, 628, 627, 409, 3, 694, 1673, 619, 143, - /* 570 */ 623, 2091, 2149, 2338, 622, 1301, 1302, 54, 2322, 621, - /* 580 */ 626, 393, 392, 747, 1859, 620, 96, 1692, 616, 253, - /* 590 */ 12, 303, 10, 848, 51, 303, 15, 2355, 737, 2098, - /* 600 */ 2393, 2356, 95, 114, 2357, 757, 2359, 2360, 752, 741, - /* 610 */ 747, 2418, 198, 149, 754, 156, 2417, 2446, 492, 41, - /* 620 */ 40, 415, 2442, 47, 45, 44, 43, 42, 2094, 2332, - /* 630 */ 1415, 1696, 1754, 1755, 691, 690, 1857, 1858, 1860, 1861, - /* 640 */ 1862, 1928, 2374, 2341, 1773, 1414, 790, 161, 160, 787, - /* 650 */ 786, 785, 158, 2336, 2322, 243, 753, 1909, 700, 695, - /* 660 */ 688, 684, 490, 2212, 252, 245, 1697, 520, 2212, 1727, - /* 670 */ 1737, 250, 581, 1927, 63, 659, 1753, 1756, 127, 68, - /* 680 */ 2303, 126, 125, 124, 123, 122, 121, 120, 119, 118, - /* 690 */ 242, 1668, 173, 1666, 2322, 2355, 806, 2338, 2393, 2059, - /* 700 */ 2037, 114, 2357, 757, 2359, 2360, 752, 747, 747, 564, - /* 710 */ 1926, 221, 539, 2421, 2316, 2446, 226, 1673, 562, 415, - /* 720 */ 2442, 558, 554, 1671, 1672, 1724, 2322, 1726, 1729, 1730, - /* 730 */ 1731, 1732, 1733, 1734, 1735, 1736, 749, 745, 1745, 1746, - /* 740 */ 1748, 1749, 1750, 1751, 2, 48, 46, 1757, 2356, 661, - /* 750 */ 2275, 737, 2098, 419, 2284, 1667, 654, 312, 313, 305, - /* 760 */ 159, 719, 311, 2322, 675, 1936, 843, 2527, 1752, 127, - /* 770 */ 1665, 208, 126, 125, 124, 123, 122, 121, 120, 119, - /* 780 */ 118, 2356, 63, 1822, 413, 2533, 203, 737, 2098, 2374, - /* 790 */ 2528, 705, 171, 199, 754, 2151, 1961, 326, 1747, 707, - /* 800 */ 2100, 2322, 414, 753, 737, 2098, 675, 56, 275, 2527, - /* 810 */ 2149, 1673, 41, 40, 2151, 422, 47, 45, 44, 43, - /* 820 */ 42, 423, 2374, 171, 472, 606, 605, 2533, 203, 2149, - /* 830 */ 425, 2100, 2528, 705, 2322, 55, 753, 848, 171, 305, - /* 840 */ 49, 9, 2355, 737, 2098, 2393, 2100, 1697, 114, 2357, - /* 850 */ 757, 2359, 2360, 752, 1925, 747, 2356, 1924, 783, 1667, - /* 860 */ 186, 1296, 2446, 473, 171, 1923, 415, 2442, 2461, 754, - /* 870 */ 737, 2098, 2101, 1922, 1665, 2355, 1754, 1755, 2393, 2073, - /* 880 */ 1303, 114, 2357, 757, 2359, 2360, 752, 1919, 747, 2477, - /* 890 */ 505, 636, 1830, 2547, 2457, 2446, 1762, 2374, 1692, 415, - /* 900 */ 2442, 197, 1692, 1298, 1301, 1302, 648, 2322, 210, 2322, - /* 910 */ 2322, 753, 1842, 1727, 1737, 1673, 737, 2098, 2322, 2306, - /* 920 */ 1753, 1756, 271, 41, 40, 1692, 2322, 47, 45, 44, - /* 930 */ 43, 42, 44, 43, 42, 1668, 506, 1666, 639, 1851, - /* 940 */ 2322, 848, 674, 625, 624, 633, 631, 305, 30, 2151, - /* 950 */ 2355, 1403, 268, 2393, 1852, 660, 176, 2357, 757, 2359, - /* 960 */ 2360, 752, 2087, 747, 732, 608, 607, 1671, 1672, 1724, - /* 970 */ 441, 1726, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, - /* 980 */ 749, 745, 1745, 1746, 1748, 1749, 1750, 1751, 2, 48, - /* 990 */ 46, 2083, 1405, 72, 1918, 1850, 71, 419, 1917, 1667, - /* 1000 */ 47, 45, 44, 43, 42, 675, 1916, 1915, 2527, 2085, - /* 1010 */ 706, 2548, 1752, 2151, 1665, 790, 161, 160, 787, 786, - /* 1020 */ 785, 158, 1914, 1871, 1913, 2356, 2533, 203, 2150, 41, - /* 1030 */ 40, 2528, 705, 47, 45, 44, 43, 42, 754, 1668, - /* 1040 */ 2484, 1666, 1747, 1783, 737, 2098, 1692, 2322, 2356, 737, - /* 1050 */ 2098, 2322, 1419, 737, 2098, 1673, 737, 2098, 1728, 2322, - /* 1060 */ 2322, 754, 1728, 2497, 507, 148, 2374, 1418, 2417, 586, - /* 1070 */ 1815, 1671, 1672, 2095, 61, 2322, 276, 2322, 2322, 76, - /* 1080 */ 753, 848, 672, 2356, 49, 1728, 614, 41, 40, 2374, - /* 1090 */ 613, 47, 45, 44, 43, 42, 754, 708, 686, 34, - /* 1100 */ 2169, 2322, 2081, 753, 784, 41, 40, 2142, 1912, 47, - /* 1110 */ 45, 44, 43, 42, 1725, 737, 2098, 803, 1725, 2355, - /* 1120 */ 1754, 1755, 2393, 35, 2374, 114, 2357, 757, 2359, 2360, - /* 1130 */ 752, 87, 747, 1788, 541, 284, 2322, 2547, 753, 2446, - /* 1140 */ 711, 1725, 2355, 415, 2442, 2393, 1981, 99, 114, 2357, - /* 1150 */ 757, 2359, 2360, 752, 2195, 747, 1911, 1727, 1737, 1676, - /* 1160 */ 2547, 2322, 2446, 1675, 1753, 1756, 415, 2442, 630, 737, - /* 1170 */ 2098, 737, 2098, 788, 737, 2098, 2142, 2355, 1614, 1668, - /* 1180 */ 2393, 1666, 805, 114, 2357, 757, 2359, 2360, 752, 322, - /* 1190 */ 747, 722, 720, 36, 316, 2547, 482, 2446, 139, 41, - /* 1200 */ 40, 415, 2442, 47, 45, 44, 43, 42, 2102, 2322, - /* 1210 */ 86, 1671, 1672, 1724, 281, 1726, 1729, 1730, 1731, 1732, - /* 1220 */ 1733, 1734, 1735, 1736, 749, 745, 1745, 1746, 1748, 1749, - /* 1230 */ 1750, 1751, 2, 48, 46, 391, 390, 737, 2098, 2461, - /* 1240 */ 2076, 419, 675, 1667, 159, 2527, 737, 2098, 817, 815, - /* 1250 */ 737, 2098, 789, 2466, 1815, 2142, 1752, 734, 1665, 513, - /* 1260 */ 512, 170, 1725, 2533, 203, 2456, 735, 159, 2528, 705, - /* 1270 */ 426, 335, 261, 152, 2128, 259, 2356, 263, 265, 617, - /* 1280 */ 262, 264, 267, 1979, 1970, 266, 1747, 618, 682, 754, - /* 1290 */ 1968, 2520, 651, 285, 650, 2343, 50, 50, 1921, 1673, - /* 1300 */ 1903, 1904, 748, 1400, 1358, 632, 634, 389, 388, 187, - /* 1310 */ 612, 1398, 637, 14, 13, 2038, 2490, 2374, 172, 1630, - /* 1320 */ 298, 159, 50, 341, 310, 848, 1679, 797, 15, 2322, - /* 1330 */ 1678, 753, 614, 692, 2356, 75, 613, 100, 292, 157, - /* 1340 */ 339, 74, 1633, 159, 73, 1359, 66, 754, 141, 2465, - /* 1350 */ 111, 1377, 50, 2345, 368, 50, 2375, 761, 157, 108, - /* 1360 */ 709, 798, 2035, 1846, 1754, 1755, 236, 549, 547, 544, - /* 1370 */ 2355, 1856, 1855, 2393, 159, 2374, 114, 2357, 757, 2359, - /* 1380 */ 2360, 752, 2034, 747, 290, 1375, 2221, 2322, 2547, 753, - /* 1390 */ 2446, 1962, 1952, 2480, 415, 2442, 721, 1583, 689, 314, - /* 1400 */ 405, 1727, 1737, 140, 157, 712, 696, 63, 1753, 1756, - /* 1410 */ 729, 401, 432, 2222, 318, 1958, 2139, 2481, 1445, 726, - /* 1420 */ 2491, 1789, 668, 1668, 717, 1666, 300, 1738, 2355, 297, - /* 1430 */ 334, 2393, 1473, 1477, 114, 2357, 757, 2359, 2360, 752, - /* 1440 */ 2060, 747, 304, 841, 5, 64, 2547, 435, 2446, 1484, - /* 1450 */ 440, 381, 415, 2442, 448, 1671, 1672, 1724, 449, 1726, - /* 1460 */ 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 749, 745, - /* 1470 */ 1745, 1746, 1748, 1749, 1750, 1751, 2, 1700, 1482, 162, - /* 1480 */ 460, 428, 427, 211, 2356, 459, 212, 462, 214, 329, - /* 1490 */ 1690, 1681, 1607, 476, 84, 83, 471, 754, 1691, 216, - /* 1500 */ 483, 225, 485, 489, 1752, 491, 1674, 2356, 530, 496, - /* 1510 */ 508, 2214, 463, 461, 519, 521, 526, 543, 529, 531, - /* 1520 */ 754, 542, 540, 364, 231, 2374, 450, 230, 545, 447, - /* 1530 */ 443, 439, 436, 464, 1747, 1698, 1906, 2322, 546, 753, - /* 1540 */ 233, 548, 2356, 550, 4, 565, 566, 1673, 2374, 573, - /* 1550 */ 574, 576, 1693, 241, 92, 754, 244, 578, 1699, 1701, - /* 1560 */ 2322, 579, 753, 580, 247, 582, 1702, 249, 588, 93, - /* 1570 */ 94, 609, 305, 743, 2230, 254, 640, 611, 2355, 2088, - /* 1580 */ 116, 2393, 641, 2374, 114, 2357, 757, 2359, 2360, 752, - /* 1590 */ 361, 747, 97, 258, 2084, 2322, 2419, 753, 2446, 260, - /* 1600 */ 164, 2355, 415, 2442, 2393, 165, 653, 114, 2357, 757, - /* 1610 */ 2359, 2360, 752, 2086, 747, 434, 2293, 2082, 166, 740, - /* 1620 */ 433, 2446, 167, 2290, 2289, 415, 2442, 277, 1694, 663, - /* 1630 */ 662, 282, 693, 667, 669, 670, 2355, 679, 727, 2393, - /* 1640 */ 664, 2356, 115, 2357, 757, 2359, 2360, 752, 8, 747, - /* 1650 */ 330, 153, 655, 280, 754, 2496, 2446, 287, 289, 702, - /* 1660 */ 2445, 2442, 2495, 677, 2468, 675, 291, 2276, 2527, 680, - /* 1670 */ 293, 1682, 2356, 1677, 678, 296, 713, 406, 710, 1815, - /* 1680 */ 1695, 2526, 2374, 145, 1820, 754, 2533, 203, 2462, 190, - /* 1690 */ 1818, 2528, 705, 306, 2322, 331, 753, 332, 730, 2356, - /* 1700 */ 154, 725, 294, 1685, 1687, 2244, 2243, 731, 2242, 155, - /* 1710 */ 411, 178, 754, 2374, 333, 105, 62, 745, 1745, 1746, - /* 1720 */ 1748, 1749, 1750, 1751, 295, 2322, 2099, 753, 1, 206, - /* 1730 */ 2427, 107, 759, 299, 336, 2355, 324, 2143, 2393, 1280, - /* 1740 */ 2374, 115, 2357, 757, 2359, 2360, 752, 842, 747, 2550, - /* 1750 */ 845, 847, 2322, 163, 753, 2446, 345, 2356, 360, 742, - /* 1760 */ 2442, 373, 53, 374, 359, 340, 755, 349, 2314, 2393, - /* 1770 */ 754, 338, 115, 2357, 757, 2359, 2360, 752, 2313, 747, - /* 1780 */ 2312, 81, 2307, 437, 438, 1658, 2446, 1659, 209, 442, - /* 1790 */ 376, 2442, 2356, 2355, 2305, 444, 2393, 445, 2374, 175, - /* 1800 */ 2357, 757, 2359, 2360, 752, 754, 747, 446, 1657, 2304, - /* 1810 */ 2322, 382, 753, 2302, 451, 2301, 453, 2300, 455, 2299, - /* 1820 */ 457, 1646, 2356, 213, 2279, 215, 1610, 82, 1609, 2257, - /* 1830 */ 2256, 2255, 469, 2374, 2280, 754, 470, 2254, 2253, 2204, - /* 1840 */ 474, 676, 2487, 2201, 1553, 2322, 2200, 753, 477, 2194, - /* 1850 */ 481, 2355, 2191, 480, 2393, 218, 2190, 115, 2357, 757, - /* 1860 */ 2359, 2360, 752, 2374, 747, 85, 2189, 2188, 403, 2193, - /* 1870 */ 220, 2446, 2192, 2187, 2186, 2322, 2443, 753, 2184, 2183, - /* 1880 */ 2182, 222, 497, 2181, 499, 2179, 2355, 2356, 2178, 2393, - /* 1890 */ 2177, 2176, 175, 2357, 757, 2359, 2360, 752, 91, 747, - /* 1900 */ 754, 2199, 2356, 2175, 2174, 2173, 2197, 2180, 2172, 2171, - /* 1910 */ 2170, 2168, 2167, 2166, 2165, 754, 2355, 2356, 1559, 2393, - /* 1920 */ 2164, 2163, 358, 2357, 757, 2359, 2360, 752, 2374, 747, - /* 1930 */ 754, 224, 2162, 404, 229, 2488, 2161, 2160, 2159, 2198, - /* 1940 */ 2322, 2196, 753, 2374, 2158, 2157, 2156, 2155, 533, 2154, - /* 1950 */ 535, 2153, 2152, 1416, 2000, 2322, 1412, 753, 2374, 232, - /* 1960 */ 1999, 1998, 1420, 1996, 234, 370, 371, 235, 1993, 553, - /* 1970 */ 2322, 1992, 753, 552, 556, 557, 1985, 560, 1972, 551, - /* 1980 */ 555, 2355, 1947, 185, 2393, 559, 1304, 358, 2357, 757, - /* 1990 */ 2359, 2360, 752, 563, 747, 561, 2355, 2356, 1946, 2393, - /* 2000 */ 237, 78, 351, 2357, 757, 2359, 2360, 752, 239, 747, - /* 2010 */ 754, 2355, 79, 2342, 2393, 2356, 195, 176, 2357, 757, - /* 2020 */ 2359, 2360, 752, 571, 747, 2278, 2274, 2264, 751, 246, - /* 2030 */ 2251, 2228, 248, 251, 2077, 1995, 1991, 589, 2374, 2252, - /* 2040 */ 2356, 1351, 1989, 410, 590, 591, 593, 594, 701, 595, - /* 2050 */ 2322, 1987, 753, 754, 597, 598, 2374, 599, 1984, 601, - /* 2060 */ 603, 602, 1967, 1965, 1966, 1964, 1943, 2079, 2322, 1489, - /* 2070 */ 753, 2078, 2549, 65, 1488, 257, 1388, 1402, 1401, 1982, - /* 2080 */ 1399, 2374, 1397, 1396, 1395, 1394, 418, 1393, 814, 816, - /* 2090 */ 1390, 2355, 394, 2322, 2393, 753, 1389, 358, 2357, 757, - /* 2100 */ 2359, 2360, 752, 1980, 747, 1387, 395, 1971, 396, 2355, - /* 2110 */ 2356, 1969, 2393, 635, 657, 357, 2357, 757, 2359, 2360, - /* 2120 */ 752, 397, 747, 754, 2412, 638, 1942, 1941, 1940, 642, - /* 2130 */ 1939, 644, 851, 1938, 2355, 117, 646, 2393, 1640, 1642, - /* 2140 */ 358, 2357, 757, 2359, 2360, 752, 2356, 747, 328, 1639, - /* 2150 */ 2277, 2374, 1644, 279, 2273, 57, 420, 58, 1616, 754, - /* 2160 */ 1618, 2263, 665, 2322, 193, 753, 1620, 666, 29, 2250, - /* 2170 */ 2249, 169, 1595, 839, 835, 831, 827, 2356, 325, 69, - /* 2180 */ 283, 671, 2532, 1594, 20, 31, 673, 2374, 1873, 286, - /* 2190 */ 754, 1847, 681, 402, 17, 6, 683, 7, 685, 2322, - /* 2200 */ 687, 753, 200, 288, 2355, 21, 22, 2393, 1854, 189, - /* 2210 */ 358, 2357, 757, 2359, 2360, 752, 177, 747, 2374, 113, - /* 2220 */ 2343, 33, 319, 188, 32, 67, 1841, 80, 24, 1888, - /* 2230 */ 2322, 1893, 753, 1894, 1887, 407, 1892, 1891, 408, 1812, - /* 2240 */ 652, 60, 1811, 2393, 2248, 302, 353, 2357, 757, 2359, - /* 2250 */ 2360, 752, 2356, 747, 733, 180, 23, 18, 59, 2227, - /* 2260 */ 102, 728, 2226, 103, 101, 754, 25, 26, 108, 317, - /* 2270 */ 309, 2355, 2356, 1849, 2393, 191, 320, 343, 2357, 757, - /* 2280 */ 2359, 2360, 752, 1764, 747, 754, 1763, 315, 2356, 70, - /* 2290 */ 104, 1683, 13, 2374, 11, 1742, 2396, 308, 746, 181, - /* 2300 */ 39, 754, 1740, 1774, 307, 2322, 192, 753, 1717, 323, - /* 2310 */ 1739, 16, 27, 2374, 756, 1709, 28, 760, 1474, 421, - /* 2320 */ 758, 762, 764, 278, 1471, 2322, 765, 753, 1470, 2374, - /* 2330 */ 767, 768, 770, 1467, 1461, 771, 773, 774, 776, 1459, - /* 2340 */ 777, 2322, 1483, 753, 109, 2356, 2355, 110, 77, 2393, - /* 2350 */ 1479, 1465, 342, 2357, 757, 2359, 2360, 752, 754, 747, - /* 2360 */ 1464, 1384, 791, 1463, 1462, 2356, 2355, 1381, 1349, 2393, - /* 2370 */ 1380, 1379, 344, 2357, 757, 2359, 2360, 752, 754, 747, - /* 2380 */ 1378, 1376, 2355, 2356, 1374, 2393, 2374, 1373, 350, 2357, - /* 2390 */ 757, 2359, 2360, 752, 1372, 747, 754, 1410, 2322, 802, - /* 2400 */ 753, 1409, 207, 2356, 804, 1370, 2374, 1369, 1368, 1367, - /* 2410 */ 1366, 1365, 1364, 1406, 1404, 1361, 754, 1360, 2322, 1357, - /* 2420 */ 753, 1355, 1356, 1354, 2374, 1990, 824, 825, 1988, 828, - /* 2430 */ 826, 1986, 829, 830, 832, 834, 2322, 1983, 753, 2355, - /* 2440 */ 836, 2356, 2393, 838, 2374, 354, 2357, 757, 2359, 2360, - /* 2450 */ 752, 833, 747, 837, 754, 1963, 2322, 840, 753, 2355, - /* 2460 */ 1293, 1937, 2393, 1281, 846, 346, 2357, 757, 2359, 2360, - /* 2470 */ 752, 844, 747, 327, 1669, 337, 850, 2355, 2356, 849, - /* 2480 */ 2393, 1907, 2374, 355, 2357, 757, 2359, 2360, 752, 1907, - /* 2490 */ 747, 754, 1907, 1907, 2322, 1907, 753, 2355, 2356, 1907, - /* 2500 */ 2393, 1907, 1907, 347, 2357, 757, 2359, 2360, 752, 1907, - /* 2510 */ 747, 754, 1907, 1907, 2356, 1907, 1907, 1907, 1907, 2374, - /* 2520 */ 1907, 1907, 1907, 1907, 1907, 1907, 1907, 754, 1907, 1907, - /* 2530 */ 1907, 2322, 1907, 753, 1907, 2355, 1907, 1907, 2393, 2374, - /* 2540 */ 1907, 356, 2357, 757, 2359, 2360, 752, 1907, 747, 1907, - /* 2550 */ 1907, 2322, 1907, 753, 1907, 2374, 1907, 1907, 1907, 1907, - /* 2560 */ 1907, 1907, 1907, 1907, 1907, 1907, 1907, 2322, 1907, 753, - /* 2570 */ 1907, 1907, 2355, 1907, 1907, 2393, 1907, 1907, 348, 2357, - /* 2580 */ 757, 2359, 2360, 752, 1907, 747, 1907, 1907, 1907, 1907, - /* 2590 */ 1907, 1907, 2355, 1907, 1907, 2393, 1907, 1907, 362, 2357, - /* 2600 */ 757, 2359, 2360, 752, 1907, 747, 1907, 2356, 2355, 1907, - /* 2610 */ 1907, 2393, 1907, 1907, 363, 2357, 757, 2359, 2360, 752, - /* 2620 */ 754, 747, 1907, 1907, 1907, 1907, 2356, 1907, 1907, 1907, - /* 2630 */ 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 754, - /* 2640 */ 1907, 1907, 1907, 2356, 1907, 1907, 1907, 1907, 2374, 1907, - /* 2650 */ 1907, 1907, 1907, 1907, 1907, 1907, 754, 1907, 1907, 1907, - /* 2660 */ 2322, 1907, 753, 1907, 1907, 1907, 1907, 2374, 1907, 1907, - /* 2670 */ 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 2322, - /* 2680 */ 1907, 753, 1907, 1907, 2374, 1907, 1907, 1907, 1907, 1907, - /* 2690 */ 1907, 1907, 1907, 1907, 1907, 1907, 2322, 1907, 753, 1907, - /* 2700 */ 2356, 2355, 1907, 1907, 2393, 1907, 1907, 2368, 2357, 757, - /* 2710 */ 2359, 2360, 752, 754, 747, 1907, 1907, 1907, 1907, 1907, - /* 2720 */ 2355, 2356, 1907, 2393, 1907, 1907, 2367, 2357, 757, 2359, - /* 2730 */ 2360, 752, 1907, 747, 754, 1907, 1907, 2355, 2356, 1907, - /* 2740 */ 2393, 2374, 1907, 2366, 2357, 757, 2359, 2360, 752, 1907, - /* 2750 */ 747, 754, 1907, 2322, 1907, 753, 1907, 1907, 2356, 1907, - /* 2760 */ 1907, 1907, 2374, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - /* 2770 */ 1907, 754, 1907, 1907, 2322, 1907, 753, 1907, 1907, 2374, - /* 2780 */ 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - /* 2790 */ 1907, 2322, 1907, 753, 2355, 1907, 2356, 2393, 1907, 2374, - /* 2800 */ 378, 2357, 757, 2359, 2360, 752, 1907, 747, 1907, 754, - /* 2810 */ 1907, 2322, 1907, 753, 1907, 2355, 1907, 1907, 2393, 1907, - /* 2820 */ 1907, 379, 2357, 757, 2359, 2360, 752, 1907, 747, 1907, - /* 2830 */ 1907, 1907, 2355, 2356, 1907, 2393, 1907, 2374, 375, 2357, - /* 2840 */ 757, 2359, 2360, 752, 1907, 747, 754, 1907, 1907, 2322, - /* 2850 */ 1907, 753, 2355, 1907, 1907, 2393, 1907, 1907, 380, 2357, - /* 2860 */ 757, 2359, 2360, 752, 1907, 747, 1907, 1907, 1907, 1907, - /* 2870 */ 1907, 1907, 1907, 1907, 2374, 1907, 1907, 1907, 1907, 1907, - /* 2880 */ 1907, 1907, 1907, 1907, 1907, 1907, 2322, 1907, 753, 1907, - /* 2890 */ 755, 1907, 1907, 2393, 1907, 1907, 353, 2357, 757, 2359, - /* 2900 */ 2360, 752, 1907, 747, 1907, 1907, 1907, 1907, 1907, 1907, - /* 2910 */ 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - /* 2920 */ 1907, 1907, 1907, 1907, 1907, 1907, 1907, 2355, 1907, 1907, - /* 2930 */ 2393, 1907, 1907, 352, 2357, 757, 2359, 2360, 752, 1907, - /* 2940 */ 747, + /* 0 */ 2261, 742, 2120, 2109, 473, 742, 2120, 429, 2176, 472, + /* 10 */ 2169, 2171, 48, 46, 1843, 417, 404, 34, 2258, 729, + /* 20 */ 424, 210, 1684, 41, 40, 138, 2174, 47, 45, 44, + /* 30 */ 43, 42, 615, 36, 1840, 1769, 2015, 1682, 1709, 41, + /* 40 */ 40, 169, 2381, 47, 45, 44, 43, 42, 1712, 405, + /* 50 */ 427, 2122, 721, 147, 680, 724, 2176, 2552, 814, 2174, + /* 60 */ 112, 2080, 41, 40, 414, 1764, 47, 45, 44, 43, + /* 70 */ 42, 19, 186, 1927, 2174, 2558, 205, 148, 1690, 2557, + /* 80 */ 2553, 710, 2552, 2399, 41, 40, 2112, 30, 47, 45, + /* 90 */ 44, 43, 42, 47, 45, 44, 43, 42, 2347, 2242, + /* 100 */ 758, 2556, 396, 395, 856, 2553, 2555, 15, 577, 831, + /* 110 */ 830, 829, 828, 436, 574, 827, 826, 152, 821, 820, + /* 120 */ 819, 818, 817, 816, 815, 151, 809, 808, 807, 435, + /* 130 */ 434, 804, 803, 802, 185, 184, 801, 572, 704, 2380, + /* 140 */ 573, 1972, 2418, 1771, 1772, 114, 2382, 762, 2384, 2385, + /* 150 */ 757, 276, 752, 1710, 1335, 439, 1334, 188, 480, 2471, + /* 160 */ 438, 198, 1888, 420, 2467, 303, 2479, 720, 63, 139, + /* 170 */ 719, 143, 2552, 173, 394, 393, 2163, 617, 207, 1309, + /* 180 */ 1744, 1754, 427, 2122, 1887, 741, 2501, 1770, 1773, 1336, + /* 190 */ 708, 205, 161, 721, 147, 2553, 710, 2194, 1316, 619, + /* 200 */ 433, 432, 1685, 618, 1683, 680, 539, 537, 2552, 370, + /* 210 */ 305, 41, 40, 219, 457, 47, 45, 44, 43, 42, + /* 220 */ 664, 1311, 1314, 1315, 2381, 1691, 2558, 205, 225, 1652, + /* 230 */ 1653, 2553, 710, 741, 1688, 1689, 1741, 759, 1743, 1746, + /* 240 */ 1747, 1748, 1749, 1750, 1751, 1752, 1753, 754, 750, 1762, + /* 250 */ 1763, 1765, 1766, 1767, 1768, 2, 48, 46, 2381, 1929, + /* 260 */ 1710, 368, 1709, 1707, 424, 2399, 1684, 55, 186, 90, + /* 270 */ 523, 724, 89, 542, 381, 703, 1512, 1513, 541, 1769, + /* 280 */ 2347, 1682, 758, 137, 136, 135, 134, 133, 132, 131, + /* 290 */ 130, 129, 2331, 390, 503, 2241, 543, 582, 2300, 2399, + /* 300 */ 2340, 369, 505, 2399, 1839, 723, 203, 2479, 2480, 1764, + /* 310 */ 145, 2484, 483, 811, 2347, 19, 758, 2261, 1798, 240, + /* 320 */ 51, 2380, 1690, 575, 2418, 1980, 663, 114, 2382, 762, + /* 330 */ 2384, 2385, 757, 307, 752, 2259, 729, 150, 88, 157, + /* 340 */ 2442, 2471, 461, 446, 589, 420, 2467, 68, 856, 391, + /* 350 */ 680, 15, 741, 2552, 1741, 2380, 518, 517, 2418, 2357, + /* 360 */ 491, 114, 2382, 762, 2384, 2385, 757, 702, 752, 463, + /* 370 */ 459, 2558, 205, 188, 2111, 2471, 2553, 710, 813, 420, + /* 380 */ 2467, 699, 1799, 1603, 1604, 99, 2361, 1771, 1772, 1952, + /* 390 */ 2248, 2227, 1694, 530, 529, 528, 527, 522, 521, 520, + /* 400 */ 519, 372, 2502, 590, 2254, 509, 508, 507, 506, 500, + /* 410 */ 499, 498, 2557, 493, 492, 389, 1631, 742, 2120, 484, + /* 420 */ 1571, 1572, 1583, 1584, 1744, 1754, 1590, 1602, 1605, 1712, + /* 430 */ 2363, 1770, 1773, 588, 634, 633, 632, 138, 172, 51, + /* 440 */ 752, 624, 144, 628, 620, 2347, 1685, 627, 1683, 2126, + /* 450 */ 63, 1847, 626, 631, 398, 397, 580, 1709, 625, 573, + /* 460 */ 1972, 621, 37, 422, 1793, 1794, 1795, 1796, 1797, 1801, + /* 470 */ 1802, 1803, 1804, 705, 700, 693, 689, 52, 1688, 1689, + /* 480 */ 1741, 2486, 1743, 1746, 1747, 1748, 1749, 1750, 1751, 1752, + /* 490 */ 1753, 754, 750, 1762, 1763, 1765, 1766, 1767, 1768, 2, + /* 500 */ 12, 48, 46, 2381, 652, 489, 2237, 2483, 242, 424, + /* 510 */ 2210, 1684, 575, 592, 1980, 533, 759, 1911, 1982, 650, + /* 520 */ 1477, 648, 272, 271, 1769, 1709, 1682, 798, 163, 162, + /* 530 */ 795, 794, 793, 160, 1468, 790, 789, 788, 1472, 787, + /* 540 */ 1474, 1475, 786, 783, 2399, 1483, 780, 1485, 1486, 777, + /* 550 */ 774, 771, 38, 323, 1764, 2018, 1713, 221, 175, 2347, + /* 560 */ 19, 758, 44, 43, 42, 128, 2058, 1690, 127, 126, + /* 570 */ 125, 124, 123, 122, 121, 120, 119, 230, 742, 2120, + /* 580 */ 41, 40, 2381, 1779, 47, 45, 44, 43, 42, 1709, + /* 590 */ 664, 305, 1713, 856, 800, 759, 15, 2509, 56, 1428, + /* 600 */ 2380, 532, 229, 2418, 307, 661, 114, 2382, 762, 2384, + /* 610 */ 2385, 757, 63, 752, 1427, 307, 1318, 1745, 2572, 1335, + /* 620 */ 2471, 1334, 1708, 2399, 420, 2467, 495, 2237, 634, 633, + /* 630 */ 632, 418, 1771, 1772, 106, 624, 144, 628, 2347, 172, + /* 640 */ 758, 627, 307, 2095, 525, 2237, 626, 631, 398, 397, + /* 650 */ 2125, 176, 625, 1941, 1336, 621, 1876, 41, 40, 2381, + /* 660 */ 2113, 47, 45, 44, 43, 42, 12, 666, 2300, 1744, + /* 670 */ 1754, 516, 759, 1742, 2522, 515, 1770, 1773, 223, 2380, + /* 680 */ 2176, 544, 2418, 514, 1690, 114, 2382, 762, 2384, 2385, + /* 690 */ 757, 1685, 752, 1683, 742, 2120, 228, 2572, 728, 2471, + /* 700 */ 2399, 2170, 2171, 420, 2467, 1684, 696, 695, 1874, 1875, + /* 710 */ 1877, 1878, 1879, 800, 477, 2347, 63, 758, 721, 147, + /* 720 */ 1682, 2104, 375, 1688, 1689, 1741, 1713, 1743, 1746, 1747, + /* 730 */ 1748, 1749, 1750, 1751, 1752, 1753, 754, 750, 1762, 1763, + /* 740 */ 1765, 1766, 1767, 1768, 2, 48, 46, 1774, 3, 1745, + /* 750 */ 767, 766, 765, 424, 201, 1684, 2380, 1859, 2381, 2418, + /* 760 */ 54, 1690, 114, 2382, 762, 2384, 2385, 757, 1769, 752, + /* 770 */ 1682, 759, 1714, 691, 2572, 679, 2471, 307, 41, 40, + /* 780 */ 420, 2467, 47, 45, 44, 43, 42, 856, 2357, 2381, + /* 790 */ 314, 315, 95, 742, 2120, 313, 14, 13, 1764, 2399, + /* 800 */ 742, 2120, 759, 2365, 2545, 1742, 1338, 1339, 1714, 392, + /* 810 */ 471, 1690, 470, 478, 2347, 2361, 758, 41, 40, 2115, + /* 820 */ 497, 47, 45, 44, 43, 42, 2381, 1316, 742, 2120, + /* 830 */ 2399, 204, 2479, 2480, 1432, 145, 2484, 856, 791, 759, + /* 840 */ 49, 2490, 469, 2107, 1951, 2347, 275, 758, 510, 1431, + /* 850 */ 274, 1314, 1315, 611, 610, 2380, 1950, 1416, 2418, 2363, + /* 860 */ 421, 114, 2382, 762, 2384, 2385, 757, 2399, 752, 752, + /* 870 */ 742, 2120, 12, 2572, 10, 2471, 1771, 1772, 95, 420, + /* 880 */ 2467, 307, 2347, 2176, 758, 1685, 2380, 1683, 196, 2418, + /* 890 */ 511, 419, 114, 2382, 762, 2384, 2385, 757, 1418, 752, + /* 900 */ 2347, 2174, 2002, 1812, 2572, 2116, 2471, 61, 742, 2120, + /* 910 */ 420, 2467, 2347, 1744, 1754, 677, 546, 1688, 1689, 98, + /* 920 */ 1770, 1773, 376, 2380, 635, 403, 2418, 654, 512, 114, + /* 930 */ 2382, 762, 2384, 2385, 757, 1685, 752, 1683, 2328, 742, + /* 940 */ 2120, 2572, 1714, 2471, 2176, 742, 2120, 420, 2467, 1949, + /* 950 */ 41, 40, 428, 2381, 47, 45, 44, 43, 42, 591, + /* 960 */ 1713, 744, 2174, 2443, 1918, 2117, 759, 1688, 1689, 1741, + /* 970 */ 9, 1743, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, + /* 980 */ 754, 750, 1762, 1763, 1765, 1766, 1767, 1768, 2, 48, + /* 990 */ 46, 2381, 1930, 2096, 2399, 742, 2120, 424, 746, 1684, + /* 1000 */ 2443, 613, 612, 2557, 759, 2347, 2552, 630, 629, 2347, + /* 1010 */ 2176, 758, 1769, 128, 1682, 278, 127, 126, 125, 124, + /* 1020 */ 123, 122, 121, 120, 119, 2556, 1868, 2176, 737, 2553, + /* 1030 */ 2554, 569, 2399, 2094, 1948, 388, 1947, 1946, 825, 823, + /* 1040 */ 567, 1869, 1764, 563, 559, 2174, 1945, 2347, 2556, 758, + /* 1050 */ 2380, 1944, 2486, 2418, 430, 1690, 114, 2382, 762, 2384, + /* 1060 */ 2385, 757, 172, 752, 1800, 742, 2120, 1943, 2446, 1917, + /* 1070 */ 2471, 1957, 851, 2125, 420, 2467, 2491, 1832, 2482, 173, + /* 1080 */ 1709, 856, 1867, 709, 49, 286, 2552, 2381, 2380, 2123, + /* 1090 */ 2347, 2418, 2347, 2347, 114, 2382, 762, 2384, 2385, 757, + /* 1100 */ 759, 752, 2347, 1940, 708, 205, 2444, 2347, 2471, 2553, + /* 1110 */ 710, 1939, 420, 2467, 149, 709, 1709, 2442, 2552, 2220, + /* 1120 */ 1771, 1772, 200, 2347, 171, 2357, 742, 2120, 2399, 798, + /* 1130 */ 163, 162, 795, 794, 793, 160, 708, 205, 2176, 328, + /* 1140 */ 2366, 2553, 710, 2347, 35, 758, 727, 2381, 742, 2120, + /* 1150 */ 713, 1938, 2361, 2309, 1805, 2000, 2175, 1744, 1754, 2347, + /* 1160 */ 759, 487, 742, 2120, 1770, 1773, 212, 2347, 318, 798, + /* 1170 */ 163, 162, 795, 794, 793, 160, 1714, 637, 1991, 1685, + /* 1180 */ 1937, 1683, 739, 76, 2380, 716, 1936, 2418, 2399, 1935, + /* 1190 */ 114, 2382, 762, 2384, 2385, 757, 2363, 752, 792, 1832, + /* 1200 */ 639, 2167, 745, 2347, 2471, 758, 752, 2347, 420, 2467, + /* 1210 */ 277, 1688, 1689, 1741, 1934, 1743, 1746, 1747, 1748, 1749, + /* 1220 */ 1750, 1751, 1752, 1753, 754, 750, 1762, 1763, 1765, 1766, + /* 1230 */ 1767, 1768, 2, 48, 46, 87, 2347, 140, 1933, 2341, + /* 1240 */ 1745, 424, 2347, 1684, 2380, 2347, 641, 2418, 1932, 86, + /* 1250 */ 115, 2382, 762, 2384, 2385, 757, 1769, 752, 1682, 742, + /* 1260 */ 2120, 653, 742, 2120, 2471, 742, 2120, 161, 2470, 2467, + /* 1270 */ 2347, 796, 2486, 797, 2167, 2097, 2167, 273, 2381, 740, + /* 1280 */ 338, 263, 324, 2153, 261, 431, 1764, 265, 161, 680, + /* 1290 */ 264, 759, 2552, 644, 2347, 687, 1742, 622, 2481, 1690, + /* 1300 */ 638, 636, 619, 623, 2347, 287, 618, 270, 153, 267, + /* 1310 */ 2558, 205, 266, 1989, 749, 2553, 710, 269, 174, 2399, + /* 1320 */ 268, 1413, 656, 344, 655, 856, 2102, 1411, 15, 50, + /* 1330 */ 50, 189, 1742, 2381, 2347, 642, 758, 1920, 1921, 712, + /* 1340 */ 342, 74, 1647, 659, 73, 2124, 759, 161, 72, 100, + /* 1350 */ 283, 71, 2368, 111, 371, 1693, 50, 312, 14, 13, + /* 1360 */ 753, 337, 108, 1650, 1771, 1772, 238, 554, 552, 549, + /* 1370 */ 1863, 75, 158, 161, 2399, 2380, 66, 50, 2418, 199, + /* 1380 */ 408, 115, 2382, 762, 2384, 2385, 757, 1692, 752, 2347, + /* 1390 */ 2059, 758, 1942, 680, 2515, 2471, 2552, 805, 300, 747, + /* 1400 */ 2467, 1744, 1754, 50, 1873, 1872, 292, 63, 1770, 1773, + /* 1410 */ 2370, 769, 159, 714, 2558, 205, 697, 294, 161, 2553, + /* 1420 */ 710, 1390, 726, 1685, 142, 1683, 2400, 721, 147, 806, + /* 1430 */ 2380, 1600, 316, 2418, 141, 2056, 361, 2382, 762, 2384, + /* 1440 */ 2385, 757, 158, 752, 1371, 64, 734, 320, 1459, 1983, + /* 1450 */ 717, 1806, 1755, 1388, 2055, 1688, 1689, 1741, 2246, 1743, + /* 1460 */ 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 754, 750, + /* 1470 */ 1762, 1763, 1765, 1766, 1767, 1768, 2, 1790, 336, 2381, + /* 1480 */ 1973, 433, 432, 2505, 437, 1372, 1490, 1494, 694, 410, + /* 1490 */ 701, 1698, 759, 1501, 84, 83, 476, 406, 731, 218, + /* 1500 */ 2247, 849, 1979, 2164, 1769, 2381, 1691, 673, 2506, 1499, + /* 1510 */ 2516, 722, 468, 466, 302, 299, 306, 164, 756, 2081, + /* 1520 */ 2399, 445, 1696, 367, 5, 440, 455, 386, 453, 452, + /* 1530 */ 448, 444, 441, 469, 1764, 2347, 454, 758, 1717, 2381, + /* 1540 */ 206, 2479, 2480, 465, 145, 2484, 2399, 1690, 464, 467, + /* 1550 */ 213, 214, 759, 216, 1695, 1624, 481, 331, 1707, 1708, + /* 1560 */ 488, 2347, 2381, 758, 227, 490, 494, 496, 535, 501, + /* 1570 */ 513, 2239, 307, 748, 548, 759, 760, 531, 524, 2418, + /* 1580 */ 2399, 526, 115, 2382, 762, 2384, 2385, 757, 534, 752, + /* 1590 */ 547, 536, 545, 232, 233, 2347, 2471, 758, 550, 551, + /* 1600 */ 380, 2467, 2380, 2399, 235, 2418, 553, 555, 360, 2382, + /* 1610 */ 762, 2384, 2385, 757, 755, 752, 743, 2436, 2347, 1715, + /* 1620 */ 758, 570, 4, 571, 579, 578, 243, 581, 92, 665, + /* 1630 */ 1710, 583, 246, 1716, 1718, 584, 2380, 587, 585, 2418, + /* 1640 */ 1719, 614, 177, 2382, 762, 2384, 2385, 757, 249, 752, + /* 1650 */ 251, 2255, 93, 658, 94, 593, 256, 2318, 616, 2380, + /* 1660 */ 725, 645, 2418, 2110, 117, 177, 2382, 762, 2384, 2385, + /* 1670 */ 757, 1699, 752, 1694, 364, 260, 646, 97, 2106, 680, + /* 1680 */ 262, 166, 2552, 2381, 681, 2512, 116, 2108, 660, 2103, + /* 1690 */ 167, 168, 1711, 279, 2315, 154, 759, 669, 2314, 2381, + /* 1700 */ 2558, 205, 668, 1702, 1704, 2553, 710, 667, 2513, 332, + /* 1710 */ 680, 284, 759, 2552, 2301, 282, 675, 750, 1762, 1763, + /* 1720 */ 1765, 1766, 1767, 1768, 2399, 672, 698, 2521, 684, 732, + /* 1730 */ 289, 2558, 205, 291, 707, 8, 2553, 710, 2520, 2347, + /* 1740 */ 2399, 758, 674, 685, 683, 298, 411, 2493, 682, 295, + /* 1750 */ 293, 718, 1832, 180, 715, 2347, 2575, 758, 146, 2381, + /* 1760 */ 1712, 1837, 192, 296, 1835, 2487, 308, 297, 155, 730, + /* 1770 */ 735, 2269, 759, 2268, 2267, 416, 333, 334, 736, 301, + /* 1780 */ 2380, 2381, 156, 2418, 208, 2121, 178, 2382, 762, 2384, + /* 1790 */ 2385, 757, 335, 752, 759, 2381, 2380, 105, 2551, 2418, + /* 1800 */ 2399, 1, 115, 2382, 762, 2384, 2385, 757, 759, 752, + /* 1810 */ 62, 2452, 2168, 107, 2381, 2347, 2471, 758, 326, 1293, + /* 1820 */ 764, 2468, 2399, 853, 339, 850, 165, 759, 409, 855, + /* 1830 */ 363, 348, 377, 53, 385, 378, 2399, 2347, 341, 758, + /* 1840 */ 711, 2573, 343, 362, 2339, 352, 2338, 2337, 81, 2332, + /* 1850 */ 442, 2347, 443, 758, 447, 2399, 2380, 1675, 1676, 2418, + /* 1860 */ 211, 415, 354, 2382, 762, 2384, 2385, 757, 2330, 752, + /* 1870 */ 2347, 449, 758, 450, 451, 1674, 2329, 387, 2380, 2327, + /* 1880 */ 456, 2418, 2326, 2325, 361, 2382, 762, 2384, 2385, 757, + /* 1890 */ 458, 752, 2380, 2381, 460, 2418, 2324, 462, 178, 2382, + /* 1900 */ 762, 2384, 2385, 757, 1663, 752, 756, 2305, 706, 215, + /* 1910 */ 2304, 2380, 217, 1627, 2418, 82, 1626, 361, 2382, 762, + /* 1920 */ 2384, 2385, 757, 662, 752, 2282, 2281, 2280, 474, 475, + /* 1930 */ 2381, 2279, 2278, 2229, 2399, 479, 1570, 2226, 482, 258, + /* 1940 */ 2225, 859, 2219, 759, 486, 485, 2216, 220, 2215, 2347, + /* 1950 */ 85, 758, 2214, 2574, 2213, 181, 2218, 330, 222, 2217, + /* 1960 */ 2212, 2381, 2211, 2209, 609, 605, 601, 597, 226, 257, + /* 1970 */ 2208, 2399, 2207, 195, 759, 224, 502, 423, 2206, 504, + /* 1980 */ 2204, 2203, 847, 843, 839, 835, 2347, 327, 758, 2202, + /* 1990 */ 2380, 2201, 2224, 2418, 2200, 2199, 360, 2382, 762, 2384, + /* 2000 */ 2385, 757, 2399, 752, 2198, 2437, 2222, 2205, 425, 2197, + /* 2010 */ 96, 2196, 2195, 255, 2193, 2192, 2191, 2347, 2190, 758, + /* 2020 */ 2189, 2188, 2187, 2186, 91, 2185, 2184, 2380, 113, 2223, + /* 2030 */ 2418, 321, 2221, 361, 2382, 762, 2384, 2385, 757, 1576, + /* 2040 */ 752, 2381, 2183, 2182, 2181, 231, 2180, 538, 2179, 540, + /* 2050 */ 2178, 2177, 1429, 373, 759, 1433, 2021, 2020, 2380, 2019, + /* 2060 */ 374, 2418, 2381, 738, 361, 2382, 762, 2384, 2385, 757, + /* 2070 */ 234, 752, 1425, 236, 2017, 759, 2014, 556, 2381, 245, + /* 2080 */ 558, 2013, 2399, 562, 237, 557, 560, 561, 254, 247, + /* 2090 */ 2006, 759, 564, 1993, 566, 252, 586, 2347, 2381, 758, + /* 2100 */ 568, 1968, 187, 2399, 565, 239, 310, 78, 1317, 1967, + /* 2110 */ 2367, 759, 79, 309, 244, 197, 576, 2303, 2347, 2399, + /* 2120 */ 758, 241, 2299, 2289, 2277, 248, 250, 2276, 253, 2253, + /* 2130 */ 2098, 2016, 280, 2012, 2347, 594, 758, 595, 657, 2399, + /* 2140 */ 1364, 2418, 596, 2010, 356, 2382, 762, 2384, 2385, 757, + /* 2150 */ 598, 752, 600, 599, 2347, 2008, 758, 602, 2381, 2380, + /* 2160 */ 604, 2005, 2418, 603, 1988, 346, 2382, 762, 2384, 2385, + /* 2170 */ 757, 759, 752, 606, 2381, 2380, 607, 1986, 2418, 608, + /* 2180 */ 1987, 345, 2382, 762, 2384, 2385, 757, 759, 752, 1985, + /* 2190 */ 1964, 2100, 65, 259, 2381, 2380, 1506, 1505, 2418, 2399, + /* 2200 */ 2099, 347, 2382, 762, 2384, 2385, 757, 759, 752, 1415, + /* 2210 */ 1414, 1412, 822, 1410, 2347, 2399, 758, 2003, 1409, 1408, + /* 2220 */ 1407, 1406, 1403, 1402, 1401, 824, 399, 2001, 400, 1992, + /* 2230 */ 2347, 1400, 758, 401, 1990, 2399, 402, 1963, 643, 1962, + /* 2240 */ 640, 1961, 647, 1960, 649, 1959, 651, 2381, 118, 1657, + /* 2250 */ 2347, 29, 758, 1659, 1661, 2380, 1656, 2302, 2418, 69, + /* 2260 */ 759, 353, 2382, 762, 2384, 2385, 757, 57, 752, 281, + /* 2270 */ 2298, 2380, 2381, 58, 2418, 1633, 1635, 357, 2382, 762, + /* 2280 */ 2384, 2385, 757, 2288, 752, 759, 670, 170, 2399, 671, + /* 2290 */ 285, 2380, 2275, 1637, 2418, 2274, 1612, 349, 2382, 762, + /* 2300 */ 2384, 2385, 757, 2347, 752, 758, 2557, 2381, 1611, 20, + /* 2310 */ 676, 1890, 686, 2399, 17, 31, 288, 678, 1864, 407, + /* 2320 */ 759, 6, 7, 690, 692, 2381, 21, 22, 2347, 688, + /* 2330 */ 758, 290, 191, 1871, 1858, 202, 2368, 179, 759, 190, + /* 2340 */ 32, 33, 80, 2381, 2380, 67, 24, 2418, 2399, 23, + /* 2350 */ 358, 2382, 762, 2384, 2385, 757, 759, 752, 1910, 1911, + /* 2360 */ 1905, 1904, 412, 2347, 18, 758, 2399, 1909, 1908, 2380, + /* 2370 */ 413, 1829, 2418, 1828, 59, 350, 2382, 762, 2384, 2385, + /* 2380 */ 757, 2347, 752, 758, 2399, 304, 60, 182, 2273, 2252, + /* 2390 */ 102, 101, 25, 2251, 103, 193, 2381, 311, 1866, 2347, + /* 2400 */ 322, 758, 26, 317, 2380, 70, 11, 2418, 104, 759, + /* 2410 */ 359, 2382, 762, 2384, 2385, 757, 108, 752, 13, 1781, + /* 2420 */ 319, 2381, 2380, 1780, 1700, 2418, 733, 1791, 351, 2382, + /* 2430 */ 762, 2384, 2385, 757, 759, 752, 1759, 2399, 763, 2421, + /* 2440 */ 2380, 751, 39, 2418, 183, 1757, 365, 2382, 762, 2384, + /* 2450 */ 2385, 757, 2347, 752, 758, 1756, 2381, 16, 194, 1734, + /* 2460 */ 1925, 27, 2399, 1726, 28, 1924, 1923, 1491, 768, 759, + /* 2470 */ 426, 770, 772, 1488, 773, 776, 2381, 2347, 1487, 758, + /* 2480 */ 1484, 761, 775, 778, 779, 781, 1478, 782, 784, 759, + /* 2490 */ 1476, 785, 2381, 2380, 1482, 325, 2418, 2399, 109, 366, + /* 2500 */ 2382, 762, 2384, 2385, 757, 759, 752, 1481, 110, 1480, + /* 2510 */ 1500, 1479, 2347, 77, 758, 1496, 1397, 2399, 2380, 1362, + /* 2520 */ 799, 2418, 1394, 1393, 2393, 2382, 762, 2384, 2385, 757, + /* 2530 */ 1423, 752, 2347, 2399, 758, 1392, 1391, 1389, 1387, 1386, + /* 2540 */ 1385, 810, 1422, 812, 209, 1383, 1382, 1381, 2347, 1380, + /* 2550 */ 758, 1379, 2381, 2380, 1378, 1377, 2418, 1417, 1419, 2392, + /* 2560 */ 2382, 762, 2384, 2385, 757, 759, 752, 1374, 1373, 1370, + /* 2570 */ 1369, 1368, 2381, 2380, 1367, 2011, 2418, 832, 2009, 2391, + /* 2580 */ 2382, 762, 2384, 2385, 757, 759, 752, 833, 2381, 2380, + /* 2590 */ 834, 836, 2418, 2399, 837, 382, 2382, 762, 2384, 2385, + /* 2600 */ 757, 759, 752, 838, 2007, 840, 841, 842, 2347, 2004, + /* 2610 */ 758, 844, 846, 2399, 845, 1984, 848, 1306, 1958, 1294, + /* 2620 */ 852, 329, 854, 1928, 1686, 340, 857, 858, 2347, 2399, + /* 2630 */ 758, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, + /* 2640 */ 1928, 1928, 1928, 1928, 2347, 1928, 758, 1928, 1928, 2380, + /* 2650 */ 1928, 1928, 2418, 1928, 1928, 383, 2382, 762, 2384, 2385, + /* 2660 */ 757, 2381, 752, 1928, 1928, 1928, 1928, 1928, 1928, 2380, + /* 2670 */ 1928, 1928, 2418, 1928, 759, 379, 2382, 762, 2384, 2385, + /* 2680 */ 757, 1928, 752, 1928, 1928, 2380, 2381, 1928, 2418, 1928, + /* 2690 */ 1928, 384, 2382, 762, 2384, 2385, 757, 1928, 752, 759, + /* 2700 */ 1928, 1928, 2399, 1928, 1928, 1928, 1928, 1928, 1928, 1928, + /* 2710 */ 1928, 1928, 1928, 1928, 1928, 1928, 1928, 2347, 1928, 758, + /* 2720 */ 1928, 1928, 1928, 1928, 1928, 1928, 1928, 2399, 1928, 1928, + /* 2730 */ 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, + /* 2740 */ 1928, 1928, 2347, 1928, 758, 1928, 1928, 1928, 1928, 1928, + /* 2750 */ 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 760, 1928, + /* 2760 */ 1928, 2418, 1928, 1928, 356, 2382, 762, 2384, 2385, 757, + /* 2770 */ 1928, 752, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, + /* 2780 */ 1928, 1928, 1928, 2380, 1928, 1928, 2418, 1928, 1928, 355, + /* 2790 */ 2382, 762, 2384, 2385, 757, 1928, 752, }; static const YYCODETYPE yy_lookahead[] = { - /* 0 */ 375, 383, 361, 395, 430, 364, 365, 1, 2, 435, - /* 10 */ 0, 430, 12, 13, 14, 397, 480, 392, 410, 483, - /* 20 */ 20, 20, 22, 8, 9, 407, 401, 12, 13, 14, - /* 30 */ 15, 16, 353, 21, 355, 35, 0, 37, 502, 366, - /* 40 */ 367, 480, 506, 507, 483, 354, 469, 470, 36, 366, - /* 50 */ 38, 39, 40, 20, 480, 366, 367, 483, 367, 386, - /* 60 */ 373, 480, 501, 502, 483, 65, 393, 506, 507, 451, - /* 70 */ 452, 71, 465, 409, 467, 501, 502, 390, 78, 461, - /* 80 */ 506, 507, 501, 502, 409, 398, 395, 506, 507, 8, - /* 90 */ 9, 427, 428, 12, 13, 14, 15, 16, 407, 424, - /* 100 */ 409, 70, 427, 428, 104, 422, 423, 107, 366, 73, - /* 110 */ 74, 75, 76, 77, 108, 79, 80, 81, 82, 83, + /* 0 */ 415, 369, 370, 399, 436, 369, 370, 411, 398, 441, + /* 10 */ 414, 415, 12, 13, 14, 430, 406, 2, 433, 434, + /* 20 */ 20, 389, 22, 8, 9, 389, 416, 12, 13, 14, + /* 30 */ 15, 16, 396, 2, 4, 35, 0, 37, 20, 8, + /* 40 */ 9, 398, 357, 12, 13, 14, 15, 16, 20, 406, + /* 50 */ 407, 408, 369, 370, 486, 370, 398, 489, 385, 416, + /* 60 */ 376, 388, 8, 9, 406, 65, 12, 13, 14, 15, + /* 70 */ 16, 71, 398, 354, 416, 507, 508, 393, 78, 486, + /* 80 */ 512, 513, 489, 398, 8, 9, 402, 33, 12, 13, + /* 90 */ 14, 15, 16, 12, 13, 14, 15, 16, 413, 425, + /* 100 */ 415, 508, 39, 40, 104, 512, 513, 107, 14, 73, + /* 110 */ 74, 75, 76, 77, 20, 79, 80, 81, 82, 83, /* 120 */ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - /* 130 */ 94, 95, 96, 97, 98, 99, 100, 0, 20, 448, - /* 140 */ 22, 107, 451, 143, 144, 454, 455, 456, 457, 458, - /* 150 */ 459, 20, 461, 411, 412, 37, 414, 466, 361, 468, - /* 160 */ 418, 364, 365, 472, 473, 476, 477, 478, 14, 480, - /* 170 */ 481, 161, 483, 55, 20, 165, 395, 395, 487, 480, - /* 180 */ 180, 181, 483, 173, 402, 20, 495, 187, 188, 108, - /* 190 */ 501, 502, 410, 366, 367, 506, 507, 0, 417, 107, - /* 200 */ 419, 502, 202, 107, 204, 506, 507, 70, 394, 194, - /* 210 */ 20, 8, 9, 408, 409, 12, 13, 14, 15, 16, - /* 220 */ 406, 24, 25, 26, 27, 28, 29, 30, 31, 32, - /* 230 */ 20, 366, 367, 87, 234, 235, 236, 236, 238, 239, + /* 130 */ 94, 95, 96, 97, 98, 99, 100, 364, 20, 454, + /* 140 */ 367, 368, 457, 143, 144, 460, 461, 462, 463, 464, + /* 150 */ 465, 137, 467, 20, 20, 436, 22, 472, 369, 474, + /* 160 */ 441, 397, 108, 478, 479, 482, 483, 484, 107, 486, + /* 170 */ 487, 37, 489, 398, 111, 112, 412, 114, 493, 4, + /* 180 */ 180, 181, 407, 408, 108, 20, 501, 187, 188, 55, + /* 190 */ 507, 508, 33, 369, 370, 512, 513, 0, 23, 136, + /* 200 */ 12, 13, 202, 140, 204, 486, 417, 418, 489, 420, + /* 210 */ 182, 8, 9, 424, 69, 12, 13, 14, 15, 16, + /* 220 */ 369, 46, 47, 48, 357, 37, 507, 508, 65, 215, + /* 230 */ 216, 512, 513, 20, 234, 235, 236, 370, 238, 239, /* 240 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, - /* 250 */ 250, 251, 252, 253, 254, 255, 12, 13, 56, 57, - /* 260 */ 20, 18, 480, 20, 20, 483, 22, 12, 13, 236, - /* 270 */ 27, 362, 354, 30, 71, 366, 20, 368, 35, 35, - /* 280 */ 415, 37, 65, 501, 502, 367, 138, 362, 506, 507, - /* 290 */ 142, 366, 37, 368, 51, 149, 53, 201, 20, 203, - /* 300 */ 367, 58, 59, 476, 477, 478, 272, 480, 481, 65, - /* 310 */ 354, 366, 69, 395, 299, 71, 104, 107, 115, 173, - /* 320 */ 174, 69, 78, 106, 137, 407, 109, 409, 395, 233, - /* 330 */ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - /* 340 */ 20, 129, 130, 131, 132, 133, 134, 135, 104, 106, - /* 350 */ 20, 107, 136, 137, 138, 139, 140, 141, 142, 211, - /* 360 */ 117, 0, 214, 407, 272, 217, 448, 219, 272, 451, - /* 370 */ 180, 181, 454, 455, 456, 457, 458, 459, 460, 461, - /* 380 */ 462, 463, 179, 143, 144, 440, 441, 143, 144, 456, - /* 390 */ 147, 148, 175, 150, 151, 152, 153, 154, 155, 156, - /* 400 */ 157, 158, 215, 216, 354, 162, 163, 164, 165, 166, - /* 410 */ 167, 168, 3, 170, 171, 172, 395, 366, 367, 176, - /* 420 */ 177, 178, 366, 367, 180, 181, 183, 187, 188, 20, - /* 430 */ 453, 187, 188, 20, 73, 74, 75, 386, 366, 367, - /* 440 */ 419, 80, 81, 82, 393, 14, 202, 86, 204, 197, - /* 450 */ 20, 20, 91, 92, 93, 94, 479, 407, 97, 204, - /* 460 */ 182, 100, 259, 260, 261, 262, 263, 264, 265, 266, - /* 470 */ 267, 268, 269, 143, 144, 70, 224, 225, 234, 235, - /* 480 */ 236, 71, 238, 239, 240, 241, 242, 243, 244, 245, + /* 250 */ 250, 251, 252, 253, 254, 255, 12, 13, 357, 0, + /* 260 */ 20, 18, 20, 20, 20, 398, 22, 108, 398, 106, + /* 270 */ 27, 370, 109, 30, 71, 370, 143, 144, 35, 35, + /* 280 */ 413, 37, 415, 24, 25, 26, 27, 28, 29, 30, + /* 290 */ 31, 32, 0, 423, 51, 425, 53, 446, 447, 398, + /* 300 */ 436, 58, 59, 398, 274, 481, 482, 483, 484, 65, + /* 310 */ 486, 487, 69, 13, 413, 71, 415, 415, 115, 365, + /* 320 */ 107, 454, 78, 369, 457, 371, 20, 460, 461, 462, + /* 330 */ 463, 464, 465, 272, 467, 433, 434, 470, 175, 472, + /* 340 */ 473, 474, 197, 51, 369, 478, 479, 4, 104, 106, + /* 350 */ 486, 107, 20, 489, 236, 454, 159, 160, 457, 386, + /* 360 */ 117, 460, 461, 462, 463, 464, 465, 462, 467, 224, + /* 370 */ 225, 507, 508, 472, 401, 474, 512, 513, 78, 478, + /* 380 */ 479, 186, 179, 143, 144, 175, 413, 143, 144, 357, + /* 390 */ 147, 148, 204, 150, 151, 152, 153, 154, 155, 156, + /* 400 */ 157, 158, 501, 428, 429, 162, 163, 164, 165, 166, + /* 410 */ 167, 168, 3, 170, 171, 172, 206, 369, 370, 176, + /* 420 */ 177, 178, 180, 181, 180, 181, 183, 187, 188, 20, + /* 430 */ 457, 187, 188, 20, 73, 74, 75, 389, 398, 107, + /* 440 */ 467, 80, 81, 82, 396, 413, 202, 86, 204, 409, + /* 450 */ 107, 14, 91, 92, 93, 94, 364, 20, 97, 367, + /* 460 */ 368, 100, 259, 260, 261, 262, 263, 264, 265, 266, + /* 470 */ 267, 268, 269, 278, 279, 280, 281, 107, 234, 235, + /* 480 */ 236, 459, 238, 239, 240, 241, 242, 243, 244, 245, /* 490 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - /* 500 */ 256, 12, 13, 354, 20, 383, 22, 20, 3, 20, - /* 510 */ 0, 22, 387, 4, 236, 35, 367, 108, 405, 397, - /* 520 */ 395, 408, 409, 395, 35, 354, 37, 402, 403, 407, - /* 530 */ 402, 51, 476, 477, 478, 410, 480, 481, 410, 55, - /* 540 */ 60, 61, 62, 63, 395, 65, 373, 475, 476, 477, - /* 550 */ 478, 23, 480, 481, 65, 256, 407, 395, 409, 117, - /* 560 */ 71, 73, 74, 75, 402, 33, 186, 78, 80, 81, - /* 570 */ 82, 398, 410, 451, 86, 47, 48, 45, 407, 91, - /* 580 */ 92, 93, 94, 461, 234, 97, 106, 20, 100, 109, - /* 590 */ 256, 182, 258, 104, 107, 182, 107, 448, 366, 367, - /* 600 */ 451, 354, 375, 454, 455, 456, 457, 458, 459, 465, - /* 610 */ 461, 467, 182, 464, 367, 466, 467, 468, 386, 8, - /* 620 */ 9, 472, 473, 12, 13, 14, 15, 16, 401, 383, - /* 630 */ 22, 20, 143, 144, 284, 285, 286, 287, 288, 289, - /* 640 */ 290, 354, 395, 397, 234, 37, 136, 137, 138, 139, - /* 650 */ 140, 141, 142, 407, 407, 175, 409, 0, 278, 279, - /* 660 */ 280, 281, 366, 367, 184, 185, 236, 366, 367, 180, - /* 670 */ 181, 191, 192, 354, 107, 366, 187, 188, 21, 4, - /* 680 */ 0, 24, 25, 26, 27, 28, 29, 30, 31, 32, - /* 690 */ 210, 202, 376, 204, 407, 448, 382, 451, 451, 385, - /* 700 */ 384, 454, 455, 456, 457, 458, 459, 461, 461, 51, - /* 710 */ 354, 415, 104, 466, 430, 468, 415, 78, 60, 472, - /* 720 */ 473, 63, 64, 234, 235, 236, 407, 238, 239, 240, + /* 500 */ 256, 12, 13, 357, 21, 369, 370, 485, 365, 20, + /* 510 */ 0, 22, 369, 70, 371, 87, 370, 108, 372, 36, + /* 520 */ 104, 38, 39, 40, 35, 20, 37, 136, 137, 138, + /* 530 */ 139, 140, 141, 142, 118, 119, 120, 121, 122, 123, + /* 540 */ 124, 125, 126, 127, 398, 129, 130, 131, 132, 133, + /* 550 */ 134, 135, 475, 476, 65, 0, 20, 421, 379, 413, + /* 560 */ 71, 415, 14, 15, 16, 21, 387, 78, 24, 25, + /* 570 */ 26, 27, 28, 29, 30, 31, 32, 149, 369, 370, + /* 580 */ 8, 9, 357, 14, 12, 13, 14, 15, 16, 20, + /* 590 */ 369, 182, 20, 104, 70, 370, 107, 372, 389, 22, + /* 600 */ 454, 173, 174, 457, 272, 117, 460, 461, 462, 463, + /* 610 */ 464, 465, 107, 467, 37, 272, 14, 180, 472, 20, + /* 620 */ 474, 22, 20, 398, 478, 479, 369, 370, 73, 74, + /* 630 */ 75, 390, 143, 144, 376, 80, 81, 82, 413, 398, + /* 640 */ 415, 86, 272, 0, 369, 370, 91, 92, 93, 94, + /* 650 */ 409, 356, 97, 358, 55, 100, 234, 8, 9, 357, + /* 660 */ 402, 12, 13, 14, 15, 16, 256, 446, 447, 180, + /* 670 */ 181, 161, 370, 236, 372, 165, 187, 188, 421, 454, + /* 680 */ 398, 104, 457, 173, 78, 460, 461, 462, 463, 464, + /* 690 */ 465, 202, 467, 204, 369, 370, 421, 472, 416, 474, + /* 700 */ 398, 414, 415, 478, 479, 22, 284, 285, 286, 287, + /* 710 */ 288, 289, 290, 70, 389, 413, 107, 415, 369, 370, + /* 720 */ 37, 399, 400, 234, 235, 236, 20, 238, 239, 240, /* 730 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, - /* 740 */ 251, 252, 253, 254, 255, 12, 13, 14, 354, 440, - /* 750 */ 441, 366, 367, 20, 391, 22, 430, 137, 138, 272, - /* 760 */ 33, 367, 142, 407, 480, 357, 358, 483, 35, 21, - /* 770 */ 37, 386, 24, 25, 26, 27, 28, 29, 30, 31, - /* 780 */ 32, 354, 107, 274, 387, 501, 502, 366, 367, 395, - /* 790 */ 506, 507, 395, 182, 367, 395, 369, 34, 65, 294, - /* 800 */ 403, 407, 402, 409, 366, 367, 480, 386, 445, 483, - /* 810 */ 410, 78, 8, 9, 395, 387, 12, 13, 14, 15, - /* 820 */ 16, 402, 395, 395, 386, 371, 372, 501, 502, 410, - /* 830 */ 387, 403, 506, 507, 407, 108, 409, 104, 395, 272, - /* 840 */ 107, 42, 448, 366, 367, 451, 403, 236, 454, 455, - /* 850 */ 456, 457, 458, 459, 354, 461, 354, 354, 117, 22, - /* 860 */ 466, 4, 468, 386, 395, 354, 472, 473, 453, 367, - /* 870 */ 366, 367, 403, 354, 37, 448, 143, 144, 451, 0, - /* 880 */ 23, 454, 455, 456, 457, 458, 459, 354, 461, 495, - /* 890 */ 386, 4, 14, 466, 479, 468, 14, 395, 20, 472, - /* 900 */ 473, 436, 20, 46, 47, 48, 19, 407, 228, 407, - /* 910 */ 407, 409, 108, 180, 181, 78, 366, 367, 407, 0, - /* 920 */ 187, 188, 35, 8, 9, 20, 407, 12, 13, 14, - /* 930 */ 15, 16, 14, 15, 16, 202, 386, 204, 51, 22, - /* 940 */ 407, 104, 50, 380, 381, 58, 59, 272, 33, 395, - /* 950 */ 448, 37, 65, 451, 37, 430, 454, 455, 456, 457, - /* 960 */ 458, 459, 396, 461, 410, 371, 372, 234, 235, 236, - /* 970 */ 51, 238, 239, 240, 241, 242, 243, 244, 245, 246, + /* 740 */ 251, 252, 253, 254, 255, 12, 13, 14, 33, 180, + /* 750 */ 351, 352, 353, 20, 182, 22, 454, 108, 357, 457, + /* 760 */ 45, 78, 460, 461, 462, 463, 464, 465, 35, 467, + /* 770 */ 37, 370, 236, 372, 472, 50, 474, 272, 8, 9, + /* 780 */ 478, 479, 12, 13, 14, 15, 16, 104, 386, 357, + /* 790 */ 137, 138, 378, 369, 370, 142, 1, 2, 65, 398, + /* 800 */ 369, 370, 370, 401, 372, 236, 56, 57, 236, 395, + /* 810 */ 201, 78, 203, 389, 413, 413, 415, 8, 9, 405, + /* 820 */ 389, 12, 13, 14, 15, 16, 357, 23, 369, 370, + /* 830 */ 398, 482, 483, 484, 22, 486, 487, 104, 117, 370, + /* 840 */ 107, 372, 233, 399, 357, 413, 138, 415, 389, 37, + /* 850 */ 142, 47, 48, 374, 375, 454, 357, 37, 457, 457, + /* 860 */ 458, 460, 461, 462, 463, 464, 465, 398, 467, 467, + /* 870 */ 369, 370, 256, 472, 258, 474, 143, 144, 378, 478, + /* 880 */ 479, 272, 413, 398, 415, 202, 454, 204, 182, 457, + /* 890 */ 389, 406, 460, 461, 462, 463, 464, 465, 78, 467, + /* 900 */ 413, 416, 0, 108, 472, 405, 474, 182, 369, 370, + /* 910 */ 478, 479, 413, 180, 181, 190, 104, 234, 235, 211, + /* 920 */ 187, 188, 214, 454, 22, 217, 457, 219, 389, 460, + /* 930 */ 461, 462, 463, 464, 465, 202, 467, 204, 0, 369, + /* 940 */ 370, 472, 236, 474, 398, 369, 370, 478, 479, 357, + /* 950 */ 8, 9, 406, 357, 12, 13, 14, 15, 16, 389, + /* 960 */ 20, 471, 416, 473, 194, 389, 370, 234, 235, 236, + /* 970 */ 42, 238, 239, 240, 241, 242, 243, 244, 245, 246, /* 980 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 12, - /* 990 */ 13, 396, 78, 106, 354, 78, 109, 20, 354, 22, - /* 1000 */ 12, 13, 14, 15, 16, 480, 354, 354, 483, 396, - /* 1010 */ 508, 509, 35, 395, 37, 136, 137, 138, 139, 140, - /* 1020 */ 141, 142, 354, 108, 354, 354, 501, 502, 410, 8, - /* 1030 */ 9, 506, 507, 12, 13, 14, 15, 16, 367, 202, - /* 1040 */ 369, 204, 65, 179, 366, 367, 20, 407, 354, 366, - /* 1050 */ 367, 407, 22, 366, 367, 78, 366, 367, 180, 407, - /* 1060 */ 407, 367, 180, 369, 386, 464, 395, 37, 467, 386, - /* 1070 */ 271, 234, 235, 386, 182, 407, 386, 407, 407, 117, - /* 1080 */ 409, 104, 190, 354, 107, 180, 136, 8, 9, 395, - /* 1090 */ 140, 12, 13, 14, 15, 16, 367, 33, 369, 2, - /* 1100 */ 0, 407, 396, 409, 404, 8, 9, 407, 354, 12, - /* 1110 */ 13, 14, 15, 16, 236, 366, 367, 13, 236, 448, - /* 1120 */ 143, 144, 451, 259, 395, 454, 455, 456, 457, 458, - /* 1130 */ 459, 169, 461, 269, 104, 386, 407, 466, 409, 468, - /* 1140 */ 33, 236, 448, 472, 473, 451, 0, 175, 454, 455, - /* 1150 */ 456, 457, 458, 459, 0, 461, 354, 180, 181, 37, - /* 1160 */ 466, 407, 468, 37, 187, 188, 472, 473, 22, 366, - /* 1170 */ 367, 366, 367, 404, 366, 367, 407, 448, 206, 202, - /* 1180 */ 451, 204, 78, 454, 455, 456, 457, 458, 459, 386, - /* 1190 */ 461, 386, 430, 2, 386, 466, 42, 468, 33, 8, - /* 1200 */ 9, 472, 473, 12, 13, 14, 15, 16, 396, 407, - /* 1210 */ 45, 234, 235, 236, 396, 238, 239, 240, 241, 242, + /* 990 */ 13, 357, 0, 0, 398, 369, 370, 20, 471, 22, + /* 1000 */ 473, 374, 375, 486, 370, 413, 489, 383, 384, 413, + /* 1010 */ 398, 415, 35, 21, 37, 389, 24, 25, 26, 27, + /* 1020 */ 28, 29, 30, 31, 32, 508, 22, 398, 416, 512, + /* 1030 */ 513, 51, 398, 0, 357, 406, 357, 357, 383, 384, + /* 1040 */ 60, 37, 65, 63, 64, 416, 357, 413, 3, 415, + /* 1050 */ 454, 357, 459, 457, 390, 78, 460, 461, 462, 463, + /* 1060 */ 464, 465, 398, 467, 179, 369, 370, 357, 472, 299, + /* 1070 */ 474, 360, 361, 409, 478, 479, 270, 271, 485, 398, + /* 1080 */ 20, 104, 78, 486, 107, 389, 489, 357, 454, 408, + /* 1090 */ 413, 457, 413, 413, 460, 461, 462, 463, 464, 465, + /* 1100 */ 370, 467, 413, 357, 507, 508, 472, 413, 474, 512, + /* 1110 */ 513, 357, 478, 479, 470, 486, 20, 473, 489, 0, + /* 1120 */ 143, 144, 182, 413, 182, 386, 369, 370, 398, 136, + /* 1130 */ 137, 138, 139, 140, 141, 142, 507, 508, 398, 34, + /* 1140 */ 401, 512, 513, 413, 259, 415, 389, 357, 369, 370, + /* 1150 */ 33, 357, 413, 394, 269, 0, 416, 180, 181, 413, + /* 1160 */ 370, 42, 369, 370, 187, 188, 228, 413, 389, 136, + /* 1170 */ 137, 138, 139, 140, 141, 142, 236, 22, 0, 202, + /* 1180 */ 357, 204, 389, 117, 454, 33, 357, 457, 398, 357, + /* 1190 */ 460, 461, 462, 463, 464, 465, 457, 467, 410, 271, + /* 1200 */ 22, 413, 472, 413, 474, 415, 467, 413, 478, 479, + /* 1210 */ 451, 234, 235, 236, 357, 238, 239, 240, 241, 242, /* 1220 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - /* 1230 */ 253, 254, 255, 12, 13, 39, 40, 366, 367, 453, - /* 1240 */ 0, 20, 480, 22, 33, 483, 366, 367, 380, 381, - /* 1250 */ 366, 367, 404, 270, 271, 407, 35, 386, 37, 159, - /* 1260 */ 160, 182, 236, 501, 502, 479, 386, 33, 506, 507, - /* 1270 */ 386, 388, 110, 33, 391, 113, 354, 110, 110, 13, - /* 1280 */ 113, 113, 110, 0, 0, 113, 65, 13, 33, 367, - /* 1290 */ 0, 369, 218, 65, 220, 49, 33, 33, 355, 78, - /* 1300 */ 143, 144, 396, 37, 37, 22, 22, 111, 112, 33, - /* 1310 */ 114, 37, 22, 1, 2, 384, 420, 395, 18, 108, - /* 1320 */ 510, 33, 33, 23, 33, 104, 204, 13, 107, 407, - /* 1330 */ 204, 409, 136, 499, 354, 33, 140, 109, 492, 33, - /* 1340 */ 40, 41, 108, 33, 44, 78, 33, 367, 370, 369, - /* 1350 */ 107, 37, 33, 107, 54, 33, 395, 33, 33, 116, - /* 1360 */ 296, 13, 383, 108, 143, 144, 66, 67, 68, 69, - /* 1370 */ 448, 108, 108, 451, 33, 395, 454, 455, 456, 457, - /* 1380 */ 458, 459, 383, 461, 108, 37, 420, 407, 466, 409, - /* 1390 */ 468, 0, 365, 420, 472, 473, 108, 108, 498, 108, - /* 1400 */ 498, 180, 181, 33, 33, 298, 498, 107, 187, 188, - /* 1410 */ 108, 429, 370, 420, 108, 367, 406, 420, 108, 498, - /* 1420 */ 420, 108, 437, 202, 482, 204, 503, 108, 448, 474, - /* 1430 */ 108, 451, 108, 108, 454, 455, 456, 457, 458, 459, - /* 1440 */ 385, 461, 485, 52, 275, 145, 466, 431, 468, 108, - /* 1450 */ 51, 450, 472, 473, 42, 234, 235, 236, 449, 238, + /* 1230 */ 253, 254, 255, 12, 13, 169, 413, 33, 357, 436, + /* 1240 */ 180, 20, 413, 22, 454, 413, 4, 457, 357, 45, + /* 1250 */ 460, 461, 462, 463, 464, 465, 35, 467, 37, 369, + /* 1260 */ 370, 19, 369, 370, 474, 369, 370, 33, 478, 479, + /* 1270 */ 413, 410, 459, 410, 413, 0, 413, 35, 357, 389, + /* 1280 */ 391, 110, 389, 394, 113, 389, 65, 110, 33, 486, + /* 1290 */ 113, 370, 489, 51, 413, 33, 236, 13, 485, 78, + /* 1300 */ 58, 59, 136, 13, 413, 65, 140, 65, 33, 110, + /* 1310 */ 507, 508, 113, 0, 71, 512, 513, 110, 18, 398, + /* 1320 */ 113, 37, 218, 23, 220, 104, 399, 37, 107, 33, + /* 1330 */ 33, 33, 236, 357, 413, 22, 415, 143, 144, 294, + /* 1340 */ 40, 41, 108, 436, 44, 399, 370, 33, 106, 109, + /* 1350 */ 399, 109, 49, 107, 54, 37, 33, 33, 1, 2, + /* 1360 */ 399, 399, 116, 108, 143, 144, 66, 67, 68, 69, + /* 1370 */ 108, 33, 33, 33, 398, 454, 33, 33, 457, 442, + /* 1380 */ 404, 460, 461, 462, 463, 464, 465, 37, 467, 413, + /* 1390 */ 387, 415, 358, 486, 426, 474, 489, 13, 516, 478, + /* 1400 */ 479, 180, 181, 33, 108, 108, 108, 107, 187, 188, + /* 1410 */ 107, 33, 33, 296, 507, 508, 505, 498, 33, 512, + /* 1420 */ 513, 37, 108, 202, 373, 204, 398, 369, 370, 13, + /* 1430 */ 454, 108, 108, 457, 33, 386, 460, 461, 462, 463, + /* 1440 */ 464, 465, 33, 467, 37, 145, 108, 108, 108, 0, + /* 1450 */ 298, 108, 108, 37, 386, 234, 235, 236, 426, 238, /* 1460 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, - /* 1470 */ 249, 250, 251, 252, 253, 254, 255, 20, 108, 108, - /* 1480 */ 442, 12, 13, 447, 354, 217, 375, 442, 375, 433, - /* 1490 */ 20, 22, 200, 366, 194, 195, 196, 367, 20, 199, - /* 1500 */ 367, 45, 416, 367, 35, 416, 37, 354, 179, 413, - /* 1510 */ 366, 366, 212, 213, 367, 416, 413, 379, 413, 413, - /* 1520 */ 367, 105, 103, 223, 366, 395, 226, 378, 102, 229, - /* 1530 */ 230, 231, 232, 233, 65, 20, 351, 407, 377, 409, - /* 1540 */ 366, 366, 354, 366, 50, 359, 363, 78, 395, 359, - /* 1550 */ 363, 442, 20, 375, 375, 367, 375, 409, 20, 20, - /* 1560 */ 407, 368, 409, 432, 375, 368, 20, 375, 366, 375, - /* 1570 */ 375, 359, 272, 104, 423, 375, 357, 395, 448, 395, - /* 1580 */ 366, 451, 357, 395, 454, 455, 456, 457, 458, 459, - /* 1590 */ 359, 461, 107, 395, 395, 407, 466, 409, 468, 395, - /* 1600 */ 395, 448, 472, 473, 451, 395, 221, 454, 455, 456, - /* 1610 */ 457, 458, 459, 395, 461, 430, 407, 395, 395, 466, - /* 1620 */ 435, 468, 395, 407, 407, 472, 473, 373, 20, 208, - /* 1630 */ 207, 373, 283, 409, 431, 366, 448, 407, 282, 451, - /* 1640 */ 439, 354, 454, 455, 456, 457, 458, 459, 291, 461, - /* 1650 */ 442, 444, 446, 438, 367, 491, 468, 425, 425, 193, - /* 1660 */ 472, 473, 491, 276, 494, 480, 493, 441, 483, 293, - /* 1670 */ 490, 202, 354, 204, 292, 431, 297, 300, 295, 271, - /* 1680 */ 20, 505, 395, 367, 117, 367, 501, 502, 453, 368, - /* 1690 */ 273, 506, 507, 373, 407, 425, 409, 425, 185, 354, - /* 1700 */ 373, 407, 489, 234, 235, 407, 407, 421, 407, 373, - /* 1710 */ 407, 491, 367, 395, 391, 373, 107, 248, 249, 250, - /* 1720 */ 251, 252, 253, 254, 488, 407, 367, 409, 486, 484, - /* 1730 */ 471, 107, 399, 504, 366, 448, 373, 407, 451, 22, - /* 1740 */ 395, 454, 455, 456, 457, 458, 459, 38, 461, 511, - /* 1750 */ 356, 359, 407, 360, 409, 468, 389, 354, 443, 472, - /* 1760 */ 473, 426, 434, 426, 389, 352, 448, 389, 0, 451, - /* 1770 */ 367, 374, 454, 455, 456, 457, 458, 459, 0, 461, - /* 1780 */ 0, 45, 0, 37, 227, 37, 468, 37, 37, 227, - /* 1790 */ 472, 473, 354, 448, 0, 37, 451, 37, 395, 454, - /* 1800 */ 455, 456, 457, 458, 459, 367, 461, 227, 37, 0, - /* 1810 */ 407, 227, 409, 0, 37, 0, 37, 0, 22, 0, - /* 1820 */ 37, 222, 354, 210, 0, 210, 204, 211, 202, 0, - /* 1830 */ 0, 0, 198, 395, 0, 367, 197, 0, 0, 148, - /* 1840 */ 49, 496, 497, 0, 49, 407, 0, 409, 37, 0, - /* 1850 */ 51, 448, 0, 37, 451, 49, 0, 454, 455, 456, - /* 1860 */ 457, 458, 459, 395, 461, 45, 0, 0, 400, 0, - /* 1870 */ 49, 468, 0, 0, 0, 407, 473, 409, 0, 0, - /* 1880 */ 0, 165, 37, 0, 165, 0, 448, 354, 0, 451, - /* 1890 */ 0, 0, 454, 455, 456, 457, 458, 459, 45, 461, - /* 1900 */ 367, 0, 354, 0, 0, 0, 0, 0, 0, 0, - /* 1910 */ 0, 0, 0, 0, 0, 367, 448, 354, 22, 451, - /* 1920 */ 0, 0, 454, 455, 456, 457, 458, 459, 395, 461, - /* 1930 */ 367, 49, 0, 400, 148, 497, 0, 0, 0, 0, - /* 1940 */ 407, 0, 409, 395, 0, 0, 0, 0, 147, 0, - /* 1950 */ 146, 0, 0, 22, 0, 407, 37, 409, 395, 65, - /* 1960 */ 0, 0, 22, 0, 65, 50, 50, 65, 0, 42, - /* 1970 */ 407, 0, 409, 51, 51, 42, 0, 51, 0, 37, - /* 1980 */ 37, 448, 0, 33, 451, 37, 14, 454, 455, 456, - /* 1990 */ 457, 458, 459, 37, 461, 42, 448, 354, 0, 451, - /* 2000 */ 45, 42, 454, 455, 456, 457, 458, 459, 43, 461, - /* 2010 */ 367, 448, 42, 49, 451, 354, 49, 454, 455, 456, - /* 2020 */ 457, 458, 459, 49, 461, 0, 0, 0, 367, 42, - /* 2030 */ 0, 0, 193, 49, 0, 0, 0, 37, 395, 0, - /* 2040 */ 354, 72, 0, 400, 51, 42, 37, 51, 500, 42, - /* 2050 */ 407, 0, 409, 367, 37, 51, 395, 42, 0, 37, - /* 2060 */ 42, 51, 0, 0, 0, 0, 0, 0, 407, 37, - /* 2070 */ 409, 0, 509, 115, 22, 113, 22, 37, 37, 0, - /* 2080 */ 37, 395, 37, 37, 37, 37, 400, 37, 33, 33, - /* 2090 */ 37, 448, 22, 407, 451, 409, 37, 454, 455, 456, - /* 2100 */ 457, 458, 459, 0, 461, 37, 22, 0, 22, 448, - /* 2110 */ 354, 0, 451, 53, 1, 454, 455, 456, 457, 458, - /* 2120 */ 459, 22, 461, 367, 463, 37, 0, 0, 0, 37, - /* 2130 */ 0, 37, 19, 0, 448, 20, 22, 451, 37, 37, - /* 2140 */ 454, 455, 456, 457, 458, 459, 354, 461, 35, 37, - /* 2150 */ 0, 395, 108, 49, 0, 182, 400, 182, 37, 367, - /* 2160 */ 22, 0, 22, 407, 51, 409, 209, 182, 107, 0, - /* 2170 */ 0, 205, 182, 60, 61, 62, 63, 354, 65, 107, - /* 2180 */ 185, 189, 3, 182, 33, 107, 189, 395, 108, 107, - /* 2190 */ 367, 108, 37, 37, 277, 50, 107, 50, 105, 407, - /* 2200 */ 103, 409, 49, 108, 448, 33, 33, 451, 108, 33, - /* 2210 */ 454, 455, 456, 457, 458, 459, 107, 461, 395, 106, - /* 2220 */ 49, 33, 109, 107, 107, 3, 108, 107, 33, 37, - /* 2230 */ 407, 108, 409, 108, 37, 37, 37, 37, 37, 108, - /* 2240 */ 448, 33, 108, 451, 0, 49, 454, 455, 456, 457, - /* 2250 */ 458, 459, 354, 461, 141, 49, 277, 277, 270, 0, - /* 2260 */ 42, 186, 0, 42, 107, 367, 107, 33, 116, 184, - /* 2270 */ 108, 448, 354, 108, 451, 107, 49, 454, 455, 456, - /* 2280 */ 457, 458, 459, 105, 461, 367, 105, 107, 354, 107, - /* 2290 */ 107, 22, 2, 395, 257, 108, 107, 184, 107, 49, - /* 2300 */ 107, 367, 108, 234, 191, 407, 49, 409, 22, 33, - /* 2310 */ 108, 107, 107, 395, 237, 108, 107, 37, 108, 37, - /* 2320 */ 117, 107, 37, 210, 108, 407, 107, 409, 108, 395, - /* 2330 */ 37, 107, 37, 108, 108, 107, 37, 107, 37, 108, - /* 2340 */ 107, 407, 37, 409, 107, 354, 448, 107, 107, 451, - /* 2350 */ 22, 128, 454, 455, 456, 457, 458, 459, 367, 461, - /* 2360 */ 128, 37, 71, 128, 128, 354, 448, 37, 72, 451, - /* 2370 */ 37, 37, 454, 455, 456, 457, 458, 459, 367, 461, - /* 2380 */ 37, 37, 448, 354, 37, 451, 395, 37, 454, 455, - /* 2390 */ 456, 457, 458, 459, 37, 461, 367, 78, 407, 101, - /* 2400 */ 409, 78, 33, 354, 101, 37, 395, 37, 37, 22, - /* 2410 */ 37, 37, 37, 78, 37, 37, 367, 37, 407, 37, - /* 2420 */ 409, 22, 37, 37, 395, 0, 37, 51, 0, 37, - /* 2430 */ 42, 0, 51, 42, 37, 42, 407, 0, 409, 448, - /* 2440 */ 37, 354, 451, 42, 395, 454, 455, 456, 457, 458, - /* 2450 */ 459, 51, 461, 51, 367, 0, 407, 37, 409, 448, - /* 2460 */ 37, 0, 451, 22, 21, 454, 455, 456, 457, 458, - /* 2470 */ 459, 33, 461, 22, 22, 22, 20, 448, 354, 21, - /* 2480 */ 451, 512, 395, 454, 455, 456, 457, 458, 459, 512, - /* 2490 */ 461, 367, 512, 512, 407, 512, 409, 448, 354, 512, - /* 2500 */ 451, 512, 512, 454, 455, 456, 457, 458, 459, 512, - /* 2510 */ 461, 367, 512, 512, 354, 512, 512, 512, 512, 395, - /* 2520 */ 512, 512, 512, 512, 512, 512, 512, 367, 512, 512, - /* 2530 */ 512, 407, 512, 409, 512, 448, 512, 512, 451, 395, - /* 2540 */ 512, 454, 455, 456, 457, 458, 459, 512, 461, 512, - /* 2550 */ 512, 407, 512, 409, 512, 395, 512, 512, 512, 512, - /* 2560 */ 512, 512, 512, 512, 512, 512, 512, 407, 512, 409, - /* 2570 */ 512, 512, 448, 512, 512, 451, 512, 512, 454, 455, - /* 2580 */ 456, 457, 458, 459, 512, 461, 512, 512, 512, 512, - /* 2590 */ 512, 512, 448, 512, 512, 451, 512, 512, 454, 455, - /* 2600 */ 456, 457, 458, 459, 512, 461, 512, 354, 448, 512, - /* 2610 */ 512, 451, 512, 512, 454, 455, 456, 457, 458, 459, - /* 2620 */ 367, 461, 512, 512, 512, 512, 354, 512, 512, 512, - /* 2630 */ 512, 512, 512, 512, 512, 512, 512, 512, 512, 367, - /* 2640 */ 512, 512, 512, 354, 512, 512, 512, 512, 395, 512, - /* 2650 */ 512, 512, 512, 512, 512, 512, 367, 512, 512, 512, - /* 2660 */ 407, 512, 409, 512, 512, 512, 512, 395, 512, 512, - /* 2670 */ 512, 512, 512, 512, 512, 512, 512, 512, 512, 407, - /* 2680 */ 512, 409, 512, 512, 395, 512, 512, 512, 512, 512, - /* 2690 */ 512, 512, 512, 512, 512, 512, 407, 512, 409, 512, - /* 2700 */ 354, 448, 512, 512, 451, 512, 512, 454, 455, 456, - /* 2710 */ 457, 458, 459, 367, 461, 512, 512, 512, 512, 512, - /* 2720 */ 448, 354, 512, 451, 512, 512, 454, 455, 456, 457, - /* 2730 */ 458, 459, 512, 461, 367, 512, 512, 448, 354, 512, - /* 2740 */ 451, 395, 512, 454, 455, 456, 457, 458, 459, 512, - /* 2750 */ 461, 367, 512, 407, 512, 409, 512, 512, 354, 512, - /* 2760 */ 512, 512, 395, 512, 512, 512, 512, 512, 512, 512, - /* 2770 */ 512, 367, 512, 512, 407, 512, 409, 512, 512, 395, - /* 2780 */ 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, - /* 2790 */ 512, 407, 512, 409, 448, 512, 354, 451, 512, 395, - /* 2800 */ 454, 455, 456, 457, 458, 459, 512, 461, 512, 367, - /* 2810 */ 512, 407, 512, 409, 512, 448, 512, 512, 451, 512, - /* 2820 */ 512, 454, 455, 456, 457, 458, 459, 512, 461, 512, - /* 2830 */ 512, 512, 448, 354, 512, 451, 512, 395, 454, 455, - /* 2840 */ 456, 457, 458, 459, 512, 461, 367, 512, 512, 407, - /* 2850 */ 512, 409, 448, 512, 512, 451, 512, 512, 454, 455, - /* 2860 */ 456, 457, 458, 459, 512, 461, 512, 512, 512, 512, - /* 2870 */ 512, 512, 512, 512, 395, 512, 512, 512, 512, 512, - /* 2880 */ 512, 512, 512, 512, 512, 512, 407, 512, 409, 512, - /* 2890 */ 448, 512, 512, 451, 512, 512, 454, 455, 456, 457, - /* 2900 */ 458, 459, 512, 461, 512, 512, 512, 512, 512, 512, - /* 2910 */ 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, - /* 2920 */ 512, 512, 512, 512, 512, 512, 512, 448, 512, 512, - /* 2930 */ 451, 512, 512, 454, 455, 456, 457, 458, 459, 512, - /* 2940 */ 461, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 2950 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 2960 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 2970 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 2980 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 2990 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3000 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3010 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3020 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3030 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3040 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3050 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3060 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3070 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3080 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3090 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3100 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3110 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3120 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3130 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3140 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3150 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3160 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3170 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3180 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3190 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3200 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3210 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3220 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3230 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3240 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3250 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3260 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3270 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3280 */ 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, - /* 3290 */ 351, 351, + /* 1470 */ 249, 250, 251, 252, 253, 254, 255, 234, 108, 357, + /* 1480 */ 368, 12, 13, 426, 373, 78, 108, 108, 504, 504, + /* 1490 */ 504, 22, 370, 108, 194, 195, 196, 435, 504, 199, + /* 1500 */ 426, 52, 370, 412, 35, 357, 37, 443, 426, 108, + /* 1510 */ 426, 488, 212, 213, 509, 480, 491, 108, 370, 388, + /* 1520 */ 398, 51, 204, 223, 275, 437, 226, 456, 42, 229, + /* 1530 */ 230, 231, 232, 233, 65, 413, 455, 415, 20, 357, + /* 1540 */ 482, 483, 484, 448, 486, 487, 398, 78, 217, 448, + /* 1550 */ 453, 378, 370, 378, 204, 200, 369, 439, 20, 20, + /* 1560 */ 370, 413, 357, 415, 45, 422, 370, 422, 179, 419, + /* 1570 */ 369, 369, 272, 104, 382, 370, 454, 419, 370, 457, + /* 1580 */ 398, 422, 460, 461, 462, 463, 464, 465, 419, 467, + /* 1590 */ 105, 419, 103, 381, 369, 413, 474, 415, 102, 380, + /* 1600 */ 478, 479, 454, 398, 369, 457, 369, 369, 460, 461, + /* 1610 */ 462, 463, 464, 465, 466, 467, 468, 469, 413, 20, + /* 1620 */ 415, 362, 50, 366, 366, 362, 378, 448, 378, 436, + /* 1630 */ 20, 415, 378, 20, 20, 371, 454, 371, 438, 457, + /* 1640 */ 20, 362, 460, 461, 462, 463, 464, 465, 378, 467, + /* 1650 */ 378, 429, 378, 221, 378, 369, 378, 413, 398, 454, + /* 1660 */ 436, 360, 457, 398, 369, 460, 461, 462, 463, 464, + /* 1670 */ 465, 202, 467, 204, 362, 398, 360, 107, 398, 486, + /* 1680 */ 398, 398, 489, 357, 502, 503, 398, 398, 452, 398, + /* 1690 */ 398, 398, 20, 376, 413, 450, 370, 445, 413, 357, + /* 1700 */ 507, 508, 208, 234, 235, 512, 513, 207, 503, 448, + /* 1710 */ 486, 376, 370, 489, 447, 444, 369, 248, 249, 250, + /* 1720 */ 251, 252, 253, 254, 398, 415, 283, 497, 413, 282, + /* 1730 */ 431, 507, 508, 431, 193, 291, 512, 513, 497, 413, + /* 1740 */ 398, 415, 437, 293, 292, 437, 300, 500, 276, 496, + /* 1750 */ 499, 297, 271, 497, 295, 413, 517, 415, 370, 357, + /* 1760 */ 20, 117, 371, 495, 273, 459, 376, 494, 376, 413, + /* 1770 */ 185, 413, 370, 413, 413, 413, 431, 431, 427, 510, + /* 1780 */ 454, 357, 376, 457, 490, 370, 460, 461, 462, 463, + /* 1790 */ 464, 465, 394, 467, 370, 357, 454, 376, 511, 457, + /* 1800 */ 398, 492, 460, 461, 462, 463, 464, 465, 370, 467, + /* 1810 */ 107, 477, 413, 107, 357, 413, 474, 415, 376, 22, + /* 1820 */ 403, 479, 398, 359, 369, 38, 363, 370, 404, 362, + /* 1830 */ 449, 392, 432, 440, 400, 432, 398, 413, 377, 415, + /* 1840 */ 514, 515, 355, 392, 0, 392, 0, 0, 45, 0, + /* 1850 */ 37, 413, 227, 415, 227, 398, 454, 37, 37, 457, + /* 1860 */ 37, 404, 460, 461, 462, 463, 464, 465, 0, 467, + /* 1870 */ 413, 37, 415, 37, 227, 37, 0, 227, 454, 0, + /* 1880 */ 37, 457, 0, 0, 460, 461, 462, 463, 464, 465, + /* 1890 */ 37, 467, 454, 357, 22, 457, 0, 37, 460, 461, + /* 1900 */ 462, 463, 464, 465, 222, 467, 370, 0, 506, 210, + /* 1910 */ 0, 454, 210, 204, 457, 211, 202, 460, 461, 462, + /* 1920 */ 463, 464, 465, 1, 467, 0, 0, 0, 198, 197, + /* 1930 */ 357, 0, 0, 148, 398, 49, 49, 0, 37, 35, + /* 1940 */ 0, 19, 0, 370, 51, 37, 0, 49, 0, 413, + /* 1950 */ 45, 415, 0, 515, 0, 51, 0, 35, 49, 0, + /* 1960 */ 0, 357, 0, 0, 60, 61, 62, 63, 49, 65, + /* 1970 */ 0, 398, 0, 51, 370, 165, 37, 404, 0, 165, + /* 1980 */ 0, 0, 60, 61, 62, 63, 413, 65, 415, 0, + /* 1990 */ 454, 0, 0, 457, 0, 0, 460, 461, 462, 463, + /* 2000 */ 464, 465, 398, 467, 0, 469, 0, 0, 404, 0, + /* 2010 */ 106, 0, 0, 109, 0, 0, 0, 413, 0, 415, + /* 2020 */ 0, 0, 0, 0, 45, 0, 0, 454, 106, 0, + /* 2030 */ 457, 109, 0, 460, 461, 462, 463, 464, 465, 22, + /* 2040 */ 467, 357, 0, 0, 0, 148, 0, 147, 0, 146, + /* 2050 */ 0, 0, 22, 50, 370, 22, 0, 0, 454, 0, + /* 2060 */ 50, 457, 357, 141, 460, 461, 462, 463, 464, 465, + /* 2070 */ 65, 467, 37, 65, 0, 370, 0, 37, 357, 175, + /* 2080 */ 42, 0, 398, 42, 65, 51, 37, 51, 184, 185, + /* 2090 */ 0, 370, 37, 0, 42, 191, 192, 413, 357, 415, + /* 2100 */ 37, 0, 33, 398, 51, 45, 184, 42, 14, 0, + /* 2110 */ 49, 370, 42, 191, 210, 49, 49, 0, 413, 398, + /* 2120 */ 415, 43, 0, 0, 0, 42, 193, 0, 49, 0, + /* 2130 */ 0, 0, 210, 0, 413, 37, 415, 51, 454, 398, + /* 2140 */ 72, 457, 42, 0, 460, 461, 462, 463, 464, 465, + /* 2150 */ 37, 467, 42, 51, 413, 0, 415, 37, 357, 454, + /* 2160 */ 42, 0, 457, 51, 0, 460, 461, 462, 463, 464, + /* 2170 */ 465, 370, 467, 37, 357, 454, 51, 0, 457, 42, + /* 2180 */ 0, 460, 461, 462, 463, 464, 465, 370, 467, 0, + /* 2190 */ 0, 0, 115, 113, 357, 454, 37, 22, 457, 398, + /* 2200 */ 0, 460, 461, 462, 463, 464, 465, 370, 467, 37, + /* 2210 */ 37, 37, 33, 37, 413, 398, 415, 0, 37, 37, + /* 2220 */ 37, 37, 37, 37, 22, 33, 22, 0, 22, 0, + /* 2230 */ 413, 37, 415, 22, 0, 398, 22, 0, 37, 0, + /* 2240 */ 53, 0, 37, 0, 37, 0, 22, 357, 20, 37, + /* 2250 */ 413, 107, 415, 37, 108, 454, 37, 0, 457, 107, + /* 2260 */ 370, 460, 461, 462, 463, 464, 465, 182, 467, 49, + /* 2270 */ 0, 454, 357, 182, 457, 37, 22, 460, 461, 462, + /* 2280 */ 463, 464, 465, 0, 467, 370, 22, 205, 398, 182, + /* 2290 */ 185, 454, 0, 209, 457, 0, 182, 460, 461, 462, + /* 2300 */ 463, 464, 465, 413, 467, 415, 3, 357, 182, 33, + /* 2310 */ 189, 108, 37, 398, 277, 107, 107, 189, 108, 37, + /* 2320 */ 370, 50, 50, 105, 103, 357, 33, 33, 413, 107, + /* 2330 */ 415, 108, 33, 108, 108, 49, 49, 107, 370, 107, + /* 2340 */ 107, 33, 107, 357, 454, 3, 33, 457, 398, 277, + /* 2350 */ 460, 461, 462, 463, 464, 465, 370, 467, 108, 108, + /* 2360 */ 37, 37, 37, 413, 277, 415, 398, 37, 37, 454, + /* 2370 */ 37, 108, 457, 108, 270, 460, 461, 462, 463, 464, + /* 2380 */ 465, 413, 467, 415, 398, 49, 33, 49, 0, 0, + /* 2390 */ 42, 107, 107, 0, 42, 107, 357, 108, 108, 413, + /* 2400 */ 49, 415, 33, 107, 454, 107, 257, 457, 107, 370, + /* 2410 */ 460, 461, 462, 463, 464, 465, 116, 467, 2, 105, + /* 2420 */ 184, 357, 454, 105, 22, 457, 186, 234, 460, 461, + /* 2430 */ 462, 463, 464, 465, 370, 467, 108, 398, 117, 107, + /* 2440 */ 454, 107, 107, 457, 49, 108, 460, 461, 462, 463, + /* 2450 */ 464, 465, 413, 467, 415, 108, 357, 107, 49, 22, + /* 2460 */ 22, 107, 398, 108, 107, 22, 22, 108, 37, 370, + /* 2470 */ 37, 107, 37, 108, 107, 107, 357, 413, 108, 415, + /* 2480 */ 108, 237, 37, 37, 107, 37, 108, 107, 37, 370, + /* 2490 */ 108, 107, 357, 454, 128, 33, 457, 398, 107, 460, + /* 2500 */ 461, 462, 463, 464, 465, 370, 467, 128, 107, 128, + /* 2510 */ 37, 128, 413, 107, 415, 22, 37, 398, 454, 72, + /* 2520 */ 71, 457, 37, 37, 460, 461, 462, 463, 464, 465, + /* 2530 */ 78, 467, 413, 398, 415, 37, 37, 37, 37, 37, + /* 2540 */ 37, 101, 78, 101, 33, 37, 37, 37, 413, 22, + /* 2550 */ 415, 37, 357, 454, 37, 37, 457, 37, 78, 460, + /* 2560 */ 461, 462, 463, 464, 465, 370, 467, 37, 37, 37, + /* 2570 */ 37, 22, 357, 454, 37, 0, 457, 37, 0, 460, + /* 2580 */ 461, 462, 463, 464, 465, 370, 467, 51, 357, 454, + /* 2590 */ 42, 37, 457, 398, 51, 460, 461, 462, 463, 464, + /* 2600 */ 465, 370, 467, 42, 0, 37, 51, 42, 413, 0, + /* 2610 */ 415, 37, 42, 398, 51, 0, 37, 37, 0, 22, + /* 2620 */ 33, 22, 21, 518, 22, 22, 21, 20, 413, 398, + /* 2630 */ 415, 518, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2640 */ 518, 518, 518, 518, 413, 518, 415, 518, 518, 454, + /* 2650 */ 518, 518, 457, 518, 518, 460, 461, 462, 463, 464, + /* 2660 */ 465, 357, 467, 518, 518, 518, 518, 518, 518, 454, + /* 2670 */ 518, 518, 457, 518, 370, 460, 461, 462, 463, 464, + /* 2680 */ 465, 518, 467, 518, 518, 454, 357, 518, 457, 518, + /* 2690 */ 518, 460, 461, 462, 463, 464, 465, 518, 467, 370, + /* 2700 */ 518, 518, 398, 518, 518, 518, 518, 518, 518, 518, + /* 2710 */ 518, 518, 518, 518, 518, 518, 518, 413, 518, 415, + /* 2720 */ 518, 518, 518, 518, 518, 518, 518, 398, 518, 518, + /* 2730 */ 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2740 */ 518, 518, 413, 518, 415, 518, 518, 518, 518, 518, + /* 2750 */ 518, 518, 518, 518, 518, 518, 518, 518, 454, 518, + /* 2760 */ 518, 457, 518, 518, 460, 461, 462, 463, 464, 465, + /* 2770 */ 518, 467, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2780 */ 518, 518, 518, 454, 518, 518, 457, 518, 518, 460, + /* 2790 */ 461, 462, 463, 464, 465, 518, 467, 518, 518, 518, + /* 2800 */ 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2810 */ 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2820 */ 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2830 */ 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2840 */ 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2850 */ 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2860 */ 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2870 */ 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2880 */ 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2890 */ 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2900 */ 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2910 */ 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2920 */ 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2930 */ 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2940 */ 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2950 */ 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2960 */ 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2970 */ 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + /* 2980 */ 518, 518, 354, 354, 354, 354, 354, 354, 354, 354, + /* 2990 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3000 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3010 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3020 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3030 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3040 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3050 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3060 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3070 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3080 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3090 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3100 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3110 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3120 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3130 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3140 */ 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, + /* 3150 */ 354, }; -#define YY_SHIFT_COUNT (851) +#define YY_SHIFT_COUNT (859) #define YY_SHIFT_MIN (0) -#define YY_SHIFT_MAX (2461) +#define YY_SHIFT_MAX (2618) static const unsigned short int yy_shift_ofst[] = { /* 0 */ 1300, 0, 244, 0, 489, 489, 489, 489, 489, 489, /* 10 */ 489, 489, 489, 489, 489, 489, 733, 977, 977, 1221, /* 20 */ 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, /* 30 */ 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, /* 40 */ 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, - /* 50 */ 977, 487, 567, 96, 210, 34, 92, 34, 34, 210, - /* 60 */ 210, 34, 1469, 34, 243, 1469, 1469, 675, 34, 131, - /* 70 */ 240, 165, 165, 857, 857, 240, 190, 330, 154, 154, - /* 80 */ 1, 165, 165, 165, 165, 165, 165, 165, 165, 165, - /* 90 */ 165, 165, 256, 320, 165, 165, 31, 131, 165, 256, - /* 100 */ 165, 131, 165, 165, 131, 165, 165, 131, 165, 131, - /* 110 */ 131, 131, 165, 405, 203, 203, 488, 748, 837, 837, - /* 120 */ 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - /* 130 */ 837, 837, 837, 837, 837, 837, 837, 1196, 409, 190, - /* 140 */ 330, 202, 202, 914, 413, 413, 413, 137, 334, 334, - /* 150 */ 1104, 914, 31, 442, 131, 131, 299, 131, 639, 131, - /* 160 */ 639, 639, 741, 763, 212, 212, 212, 212, 212, 212, - /* 170 */ 212, 212, 2113, 361, 657, 611, 15, 350, 380, 118, - /* 180 */ 878, 882, 255, 255, 278, 528, 430, 917, 917, 917, - /* 190 */ 892, 917, 905, 484, 33, 431, 950, 972, 33, 33, - /* 200 */ 1026, 983, 799, 505, 983, 532, 509, 1104, 1169, 1399, - /* 210 */ 1412, 1457, 1268, 31, 1457, 31, 1292, 1470, 1478, 1456, - /* 220 */ 1478, 1456, 1329, 1470, 1478, 1470, 1456, 1329, 1329, 1329, - /* 230 */ 1416, 1419, 1470, 1426, 1470, 1470, 1470, 1515, 1494, 1515, - /* 240 */ 1494, 1457, 31, 31, 1532, 31, 1538, 1539, 31, 1538, - /* 250 */ 31, 1546, 31, 31, 1470, 31, 1515, 131, 131, 131, - /* 260 */ 131, 131, 131, 131, 131, 131, 131, 131, 1470, 763, - /* 270 */ 763, 1515, 639, 639, 639, 1385, 1485, 1457, 405, 1608, - /* 280 */ 1421, 1423, 1532, 405, 1169, 1470, 639, 1349, 1356, 1349, - /* 290 */ 1356, 1357, 1466, 1349, 1376, 1382, 1387, 1169, 1377, 1379, - /* 300 */ 1383, 1408, 1478, 1660, 1567, 1417, 1538, 405, 405, 1356, - /* 310 */ 639, 639, 639, 639, 1356, 639, 1513, 405, 741, 405, - /* 320 */ 1478, 1609, 1624, 639, 1470, 405, 1717, 1709, 1515, 2941, - /* 330 */ 2941, 2941, 2941, 2941, 2941, 2941, 2941, 2941, 36, 480, - /* 340 */ 197, 887, 915, 81, 804, 510, 1097, 1191, 1079, 879, - /* 350 */ 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 216, - /* 360 */ 148, 12, 988, 988, 252, 217, 10, 146, 658, 1100, - /* 370 */ 608, 1030, 187, 620, 620, 918, 6, 864, 918, 918, - /* 380 */ 918, 919, 680, 727, 1154, 1165, 962, 1240, 1162, 1167, - /* 390 */ 1168, 1172, 1266, 1274, 1146, 1283, 1284, 1290, 1074, 1211, - /* 400 */ 1234, 1228, 1255, 1263, 1264, 1276, 1157, 1064, 1107, 1288, - /* 410 */ 1289, 1291, 1302, 1306, 1310, 1312, 1313, 410, 1319, 1246, - /* 420 */ 1322, 1324, 1325, 1341, 1370, 1371, 1243, 1122, 1126, 1314, - /* 430 */ 1348, 1267, 1391, 1768, 1778, 1780, 1736, 1782, 1746, 1557, - /* 440 */ 1748, 1750, 1751, 1562, 1794, 1758, 1760, 1580, 1771, 1809, - /* 450 */ 1584, 1813, 1777, 1815, 1779, 1817, 1796, 1819, 1783, 1599, - /* 460 */ 1834, 1613, 1824, 1615, 1616, 1622, 1626, 1829, 1830, 1831, - /* 470 */ 1634, 1639, 1837, 1838, 1691, 1791, 1795, 1843, 1811, 1846, - /* 480 */ 1849, 1816, 1799, 1852, 1806, 1856, 1820, 1866, 1867, 1869, - /* 490 */ 1821, 1872, 1873, 1874, 1878, 1879, 1880, 1716, 1845, 1883, - /* 500 */ 1719, 1885, 1888, 1890, 1891, 1901, 1903, 1904, 1905, 1906, - /* 510 */ 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1920, 1921, - /* 520 */ 1882, 1932, 1853, 1936, 1937, 1938, 1939, 1941, 1944, 1945, - /* 530 */ 1896, 1946, 1786, 1947, 1801, 1949, 1804, 1951, 1952, 1931, - /* 540 */ 1915, 1940, 1916, 1954, 1894, 1919, 1960, 1899, 1961, 1902, - /* 550 */ 1963, 1968, 1942, 1922, 1927, 1971, 1943, 1923, 1933, 1976, - /* 560 */ 1948, 1926, 1953, 1978, 1956, 1982, 1955, 1959, 1950, 1964, - /* 570 */ 1967, 1972, 1974, 1998, 1965, 1970, 2025, 2026, 2027, 2039, - /* 580 */ 1987, 1839, 2030, 1964, 1984, 2031, 2034, 1969, 2035, 2036, - /* 590 */ 2000, 1993, 2003, 2042, 2009, 1996, 2007, 2051, 2017, 2004, - /* 600 */ 2015, 2058, 2022, 2010, 2018, 2062, 2063, 2064, 2065, 2066, - /* 610 */ 2067, 1958, 1962, 2032, 2052, 2071, 2040, 2041, 2043, 2045, - /* 620 */ 2046, 2047, 2048, 2050, 2055, 2056, 2053, 2059, 2054, 2068, - /* 630 */ 2079, 2070, 2103, 2084, 2107, 2086, 2060, 2111, 2099, 2088, - /* 640 */ 2126, 2127, 2128, 2092, 2130, 2094, 2133, 2114, 2115, 2101, - /* 650 */ 2102, 2112, 2044, 2061, 2150, 1973, 2072, 1957, 1964, 2104, - /* 660 */ 2154, 1975, 2121, 2138, 2161, 1966, 2140, 1985, 1995, 2169, - /* 670 */ 2170, 1990, 1992, 2001, 1997, 2179, 2151, 1917, 2078, 2080, - /* 680 */ 2082, 2083, 2155, 2156, 2089, 2145, 2093, 2147, 2097, 2095, - /* 690 */ 2172, 2173, 2100, 2109, 2116, 2117, 2118, 2176, 2153, 2171, - /* 700 */ 2120, 2188, 1979, 2123, 2125, 2222, 2195, 1980, 2192, 2197, - /* 710 */ 2198, 2199, 2200, 2201, 2131, 2134, 2196, 1988, 2208, 2206, - /* 720 */ 2244, 2259, 2157, 2218, 2159, 2162, 2165, 2168, 2180, 2075, - /* 730 */ 2182, 2262, 2221, 2085, 2183, 2152, 1964, 2227, 2234, 2178, - /* 740 */ 2037, 2181, 2290, 2269, 2069, 2189, 2187, 2191, 2194, 2193, - /* 750 */ 2202, 2250, 2204, 2205, 2257, 2207, 2286, 2077, 2209, 2203, - /* 760 */ 2210, 2280, 2282, 2214, 2216, 2285, 2219, 2220, 2293, 2224, - /* 770 */ 2225, 2295, 2228, 2226, 2299, 2230, 2231, 2301, 2233, 2223, - /* 780 */ 2232, 2235, 2236, 2237, 2276, 2240, 2305, 2241, 2276, 2276, - /* 790 */ 2328, 2296, 2291, 2324, 2330, 2333, 2334, 2343, 2344, 2347, - /* 800 */ 2350, 2357, 2319, 2298, 2323, 2303, 2369, 2368, 2370, 2371, - /* 810 */ 2387, 2373, 2374, 2375, 2335, 2055, 2377, 2056, 2378, 2380, - /* 820 */ 2382, 2385, 2399, 2386, 2425, 2389, 2376, 2388, 2428, 2392, - /* 830 */ 2381, 2391, 2431, 2397, 2400, 2393, 2437, 2403, 2402, 2401, - /* 840 */ 2455, 2420, 2423, 2461, 2441, 2438, 2451, 2443, 2452, 2453, - /* 850 */ 2458, 2456, + /* 50 */ 977, 332, 505, 609, 213, 61, 370, 61, 61, 213, + /* 60 */ 213, 61, 1469, 61, 243, 1469, 1469, 343, 61, 18, + /* 70 */ 240, 165, 165, 175, 175, 240, 242, 133, 94, 94, + /* 80 */ 118, 165, 165, 165, 165, 165, 165, 165, 165, 165, + /* 90 */ 165, 165, 306, 413, 165, 165, 443, 18, 165, 306, + /* 100 */ 165, 18, 165, 165, 18, 165, 165, 18, 165, 18, + /* 110 */ 18, 18, 165, 524, 203, 203, 416, 361, 544, 683, + /* 120 */ 683, 683, 683, 683, 683, 683, 683, 683, 683, 683, + /* 130 */ 683, 683, 683, 683, 683, 683, 683, 683, 63, 409, + /* 140 */ 242, 133, 750, 750, 820, 28, 28, 28, 643, 616, + /* 150 */ 616, 300, 820, 443, 488, 18, 18, 410, 18, 18, + /* 160 */ 606, 18, 606, 606, 721, 1105, 416, 416, 416, 416, + /* 170 */ 416, 416, 416, 416, 1922, 555, 992, 572, 770, 422, + /* 180 */ 195, 134, 437, 569, 188, 188, 706, 804, 940, 1004, + /* 190 */ 1004, 1004, 725, 1004, 1060, 599, 536, 602, 1166, 210, + /* 200 */ 536, 536, 1096, 806, 928, 1045, 806, 715, 30, 300, + /* 210 */ 1249, 1470, 1486, 1518, 1331, 443, 1518, 443, 1355, 1538, + /* 220 */ 1539, 1519, 1539, 1519, 1389, 1538, 1539, 1538, 1519, 1389, + /* 230 */ 1389, 1389, 1485, 1489, 1538, 1496, 1538, 1538, 1538, 1599, + /* 240 */ 1572, 1599, 1572, 1518, 443, 443, 1610, 443, 1613, 1614, + /* 250 */ 443, 1613, 443, 1620, 443, 443, 1538, 443, 1599, 18, + /* 260 */ 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + /* 270 */ 1538, 1105, 1105, 1599, 606, 606, 606, 1432, 1570, 1518, + /* 280 */ 524, 1672, 1494, 1500, 1610, 524, 1249, 1538, 606, 1443, + /* 290 */ 1447, 1443, 1447, 1444, 1541, 1443, 1450, 1452, 1472, 1249, + /* 300 */ 1446, 1454, 1459, 1481, 1539, 1740, 1644, 1491, 1613, 524, + /* 310 */ 524, 1447, 606, 606, 606, 606, 1447, 606, 1585, 524, + /* 320 */ 721, 524, 1539, 1703, 1706, 606, 1538, 524, 1797, 1787, + /* 330 */ 1599, 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797, + /* 340 */ 2797, 36, 1904, 259, 1242, 54, 76, 649, 993, 15, + /* 350 */ 31, 942, 1033, 809, 809, 809, 809, 809, 809, 809, + /* 360 */ 809, 809, 391, 708, 483, 81, 81, 145, 163, 510, + /* 370 */ 428, 980, 197, 577, 812, 399, 14, 653, 653, 548, + /* 380 */ 795, 885, 548, 548, 548, 399, 292, 938, 159, 1119, + /* 390 */ 1204, 1066, 1275, 1171, 1177, 1199, 1207, 1284, 1290, 902, + /* 400 */ 1155, 1178, 1313, 1104, 1234, 1255, 1240, 1262, 1296, 1297, + /* 410 */ 1298, 1194, 1117, 1152, 1314, 1323, 1324, 1338, 1339, 1340, + /* 420 */ 1357, 1343, 1243, 1344, 1303, 1370, 1378, 1379, 1385, 1401, + /* 430 */ 1409, 1246, 1318, 1350, 1384, 1416, 1407, 1449, 1844, 1846, + /* 440 */ 1847, 1803, 1849, 1813, 1625, 1820, 1821, 1823, 1627, 1868, + /* 450 */ 1834, 1836, 1647, 1838, 1876, 1650, 1879, 1843, 1882, 1853, + /* 460 */ 1883, 1872, 1896, 1860, 1682, 1907, 1699, 1910, 1702, 1704, + /* 470 */ 1709, 1714, 1925, 1926, 1927, 1730, 1732, 1931, 1932, 1785, + /* 480 */ 1886, 1887, 1937, 1901, 1940, 1942, 1908, 1893, 1946, 1898, + /* 490 */ 1948, 1905, 1952, 1954, 1956, 1909, 1959, 1960, 1962, 1963, + /* 500 */ 1970, 1972, 1810, 1939, 1978, 1814, 1980, 1981, 1989, 1991, + /* 510 */ 1992, 1994, 1995, 2004, 2006, 2007, 2009, 2011, 2012, 2014, + /* 520 */ 2015, 2016, 2018, 2020, 2021, 1919, 2022, 1979, 2023, 2025, + /* 530 */ 2026, 2029, 2032, 2042, 2043, 2017, 2044, 1897, 2046, 1900, + /* 540 */ 2048, 1903, 2050, 2051, 2030, 2003, 2033, 2010, 2056, 2005, + /* 550 */ 2035, 2057, 2008, 2059, 2019, 2074, 2076, 2040, 2034, 2038, + /* 560 */ 2081, 2049, 2036, 2041, 2090, 2055, 2053, 2052, 2093, 2063, + /* 570 */ 2101, 2060, 2065, 2069, 2061, 2066, 2094, 2067, 2109, 2078, + /* 580 */ 2070, 2117, 2122, 2123, 2124, 2083, 1933, 2127, 2061, 2079, + /* 590 */ 2129, 2130, 2068, 2131, 2133, 2098, 2086, 2100, 2143, 2113, + /* 600 */ 2102, 2110, 2155, 2120, 2112, 2118, 2161, 2136, 2125, 2137, + /* 610 */ 2164, 2177, 2180, 2189, 2190, 2191, 2077, 2080, 2159, 2175, + /* 620 */ 2200, 2172, 2173, 2174, 2176, 2181, 2182, 2183, 2184, 2179, + /* 630 */ 2192, 2185, 2186, 2202, 2194, 2217, 2204, 2227, 2206, 2229, + /* 640 */ 2211, 2187, 2234, 2214, 2201, 2237, 2239, 2241, 2205, 2243, + /* 650 */ 2207, 2245, 2224, 2228, 2212, 2216, 2219, 2146, 2144, 2257, + /* 660 */ 2085, 2152, 2084, 2061, 2220, 2270, 2091, 2238, 2254, 2283, + /* 670 */ 2082, 2264, 2107, 2105, 2292, 2295, 2114, 2121, 2126, 2128, + /* 680 */ 2303, 2276, 2037, 2208, 2203, 2209, 2210, 2275, 2282, 2222, + /* 690 */ 2271, 2218, 2272, 2221, 2223, 2293, 2294, 2225, 2230, 2232, + /* 700 */ 2233, 2226, 2299, 2286, 2287, 2235, 2308, 2072, 2250, 2251, + /* 710 */ 2342, 2313, 2087, 2323, 2324, 2325, 2330, 2331, 2333, 2263, + /* 720 */ 2265, 2336, 2104, 2353, 2338, 2388, 2389, 2284, 2348, 2285, + /* 730 */ 2289, 2290, 2288, 2296, 2240, 2298, 2393, 2352, 2236, 2301, + /* 740 */ 2300, 2061, 2351, 2369, 2314, 2149, 2318, 2416, 2402, 2193, + /* 750 */ 2332, 2328, 2334, 2337, 2335, 2347, 2395, 2350, 2354, 2409, + /* 760 */ 2355, 2437, 2244, 2357, 2321, 2438, 2443, 2444, 2359, 2431, + /* 770 */ 2433, 2364, 2365, 2435, 2367, 2370, 2445, 2368, 2372, 2446, + /* 780 */ 2377, 2378, 2448, 2380, 2382, 2451, 2384, 2366, 2379, 2381, + /* 790 */ 2383, 2391, 2462, 2401, 2473, 2406, 2462, 2462, 2493, 2447, + /* 800 */ 2449, 2479, 2485, 2486, 2498, 2499, 2500, 2501, 2502, 2503, + /* 810 */ 2452, 2440, 2464, 2442, 2511, 2508, 2509, 2510, 2527, 2514, + /* 820 */ 2517, 2518, 2480, 2179, 2520, 2192, 2530, 2531, 2532, 2533, + /* 830 */ 2549, 2537, 2575, 2540, 2536, 2548, 2578, 2554, 2543, 2561, + /* 840 */ 2604, 2568, 2555, 2565, 2609, 2574, 2563, 2570, 2615, 2579, + /* 850 */ 2580, 2618, 2597, 2587, 2599, 2601, 2602, 2603, 2605, 2607, }; -#define YY_REDUCE_COUNT (337) -#define YY_REDUCE_MIN (-464) -#define YY_REDUCE_MAX (2479) +#define YY_REDUCE_COUNT (340) +#define YY_REDUCE_MIN (-432) +#define YY_REDUCE_MAX (2329) static const short yy_reduce_ofst[] = { - /* 0 */ 1185, -309, 149, 394, 427, 671, 694, 729, 922, 980, - /* 10 */ 247, 1130, 1153, 1188, 1287, 1318, -82, 1345, 502, 1403, - /* 20 */ 1438, 1468, 1533, 1548, 1563, 1643, 1661, 1686, 1756, 1792, - /* 30 */ 1823, 1898, 1918, 1934, 1991, 2011, 2029, 2049, 2087, 2124, - /* 40 */ 2144, 2160, 2253, 2272, 2289, 2346, 2367, 2384, 2404, 2442, - /* 50 */ 2479, -311, -218, -426, 72, -419, 284, 326, 525, -173, - /* 60 */ 56, 762, -382, -439, -258, 122, 246, -464, -301, 125, - /* 70 */ -325, -327, 51, -359, -203, -336, -219, 113, -91, -75, - /* 80 */ -67, 385, 421, 438, 477, -135, 296, 232, 504, 550, - /* 90 */ 678, 301, -55, -317, 683, 687, -375, 128, 690, 309, - /* 100 */ 749, 162, 805, 808, 397, 871, 880, 400, 803, 428, - /* 110 */ 419, 443, 884, -313, -423, -423, 316, -321, -44, 50, - /* 120 */ 171, 287, 319, 356, 500, 503, 511, 519, 533, 640, - /* 130 */ 644, 652, 653, 668, 670, 754, 802, -186, -23, 21, - /* 140 */ -195, 454, 594, 563, -23, 415, 786, 173, -393, 144, - /* 150 */ 314, 868, 227, 363, -392, 554, 601, 469, 700, 618, - /* 160 */ 769, 848, 883, 408, 566, 595, 613, 706, 812, 818, - /* 170 */ 906, 812, 465, 931, 943, 896, 810, 834, 846, 978, - /* 180 */ 961, 961, 979, 999, 966, 1027, 973, 900, 902, 908, - /* 190 */ 982, 921, 961, 1042, 993, 1048, 1010, 985, 997, 1000, - /* 200 */ 961, 942, 942, 923, 942, 955, 957, 1055, 1016, 1001, - /* 210 */ 1009, 1038, 1036, 1111, 1045, 1113, 1056, 1127, 1133, 1086, - /* 220 */ 1136, 1089, 1096, 1144, 1147, 1145, 1099, 1103, 1105, 1106, - /* 230 */ 1138, 1149, 1158, 1161, 1174, 1175, 1177, 1186, 1183, 1190, - /* 240 */ 1187, 1109, 1178, 1179, 1148, 1181, 1193, 1131, 1189, 1197, - /* 250 */ 1192, 1151, 1194, 1195, 1202, 1200, 1212, 1182, 1184, 1198, - /* 260 */ 1199, 1204, 1205, 1210, 1218, 1222, 1223, 1227, 1214, 1219, - /* 270 */ 1225, 1231, 1209, 1216, 1217, 1206, 1207, 1208, 1254, 1226, - /* 280 */ 1201, 1215, 1224, 1258, 1203, 1269, 1230, 1164, 1232, 1171, - /* 290 */ 1233, 1170, 1173, 1220, 1180, 1213, 1236, 1244, 1238, 1176, - /* 300 */ 1229, 942, 1316, 1235, 1242, 1245, 1321, 1320, 1327, 1270, - /* 310 */ 1294, 1298, 1299, 1301, 1272, 1303, 1286, 1336, 1323, 1342, - /* 320 */ 1359, 1259, 1333, 1330, 1368, 1363, 1394, 1393, 1392, 1328, - /* 330 */ 1315, 1335, 1337, 1367, 1375, 1378, 1397, 1413, + /* 0 */ -281, -315, -133, -99, 146, 225, 302, 401, 432, 469, + /* 10 */ 596, 634, 730, 790, 921, 1122, 1148, 1182, 1326, 1342, + /* 20 */ 1205, 976, 1424, 1402, 1438, 1457, 1536, 1573, 1604, 1684, + /* 30 */ 1705, 1721, 1741, 1801, 1817, 1837, 1890, 1915, 1950, 1968, + /* 40 */ 1986, 2039, 2064, 2099, 2119, 2135, 2195, 2215, 2231, 2304, + /* 50 */ 2329, -317, 629, -432, -176, -136, 803, 907, 1193, 349, + /* 60 */ 1058, 1224, 402, 597, -211, -27, 739, -407, 517, -357, + /* 70 */ -415, -364, 48, -227, 92, -98, -130, -404, -46, 143, + /* 80 */ -95, -368, 209, 325, 424, 136, 257, 431, 459, 501, + /* 90 */ 539, 275, -149, -25, 570, 576, 414, -390, 626, 221, + /* 100 */ 696, -342, 757, 779, 241, 793, 890, 485, 893, -225, + /* 110 */ 546, 664, 896, -316, 77, 77, 322, 179, 295, 32, + /* 120 */ 487, 499, 592, 677, 679, 680, 689, 694, 710, 746, + /* 130 */ 754, 794, 823, 829, 832, 857, 881, 891, -236, 22, + /* 140 */ -326, 287, 479, 627, 624, 22, 593, 813, 258, 490, + /* 150 */ 527, -327, 655, 500, 759, 282, 612, 644, 40, 681, + /* 160 */ 788, 740, 861, 863, 889, 711, -396, 444, 927, 946, + /* 170 */ 951, 961, 962, 946, 937, 1003, 1034, 968, 882, 911, + /* 180 */ 919, 1051, 1028, 1028, 1049, 1068, 1032, 1112, 1057, 984, + /* 190 */ 985, 986, 1062, 994, 1028, 1111, 1074, 1132, 1091, 1064, + /* 200 */ 1082, 1084, 1028, 1023, 1023, 1005, 1023, 1035, 1025, 1131, + /* 210 */ 1088, 1071, 1081, 1095, 1097, 1173, 1101, 1175, 1118, 1187, + /* 220 */ 1190, 1143, 1196, 1145, 1150, 1201, 1208, 1202, 1159, 1158, + /* 230 */ 1169, 1172, 1192, 1212, 1225, 1219, 1235, 1237, 1238, 1259, + /* 240 */ 1257, 1263, 1258, 1179, 1248, 1250, 1216, 1254, 1264, 1200, + /* 250 */ 1270, 1266, 1272, 1222, 1274, 1276, 1286, 1278, 1279, 1260, + /* 260 */ 1265, 1277, 1280, 1282, 1283, 1288, 1289, 1291, 1292, 1293, + /* 270 */ 1295, 1301, 1316, 1312, 1244, 1281, 1285, 1236, 1245, 1261, + /* 280 */ 1317, 1267, 1252, 1271, 1310, 1335, 1305, 1347, 1315, 1230, + /* 290 */ 1299, 1241, 1302, 1247, 1251, 1256, 1253, 1268, 1273, 1308, + /* 300 */ 1239, 1287, 1269, 1023, 1388, 1306, 1309, 1294, 1391, 1390, + /* 310 */ 1392, 1345, 1356, 1358, 1360, 1361, 1346, 1362, 1351, 1406, + /* 320 */ 1398, 1421, 1415, 1334, 1417, 1399, 1455, 1442, 1464, 1463, + /* 330 */ 1467, 1393, 1381, 1400, 1403, 1439, 1451, 1434, 1453, 1461, + /* 340 */ 1487, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 10 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 20 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 30 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 40 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 50 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 60 */ 1905, 2245, 1905, 1905, 2208, 1905, 1905, 1905, 1905, 1905, - /* 70 */ 1905, 1905, 1905, 1905, 1905, 1905, 2215, 1905, 1905, 1905, - /* 80 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 90 */ 1905, 1905, 1905, 1905, 1905, 1905, 2004, 1905, 1905, 1905, - /* 100 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 110 */ 1905, 1905, 1905, 2002, 2448, 1905, 1905, 1905, 1905, 1905, - /* 120 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 130 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 2460, 1905, - /* 140 */ 1905, 1976, 1976, 1905, 2460, 2460, 2460, 2002, 2420, 2420, - /* 150 */ 1905, 1905, 2004, 2283, 1905, 1905, 1905, 1905, 1905, 1905, - /* 160 */ 1905, 1905, 2127, 1935, 1905, 1905, 1905, 1905, 2151, 1905, - /* 170 */ 1905, 1905, 2271, 1905, 1905, 2489, 2551, 1905, 2492, 1905, - /* 180 */ 1905, 1905, 1905, 1905, 2220, 1905, 2479, 1905, 1905, 1905, - /* 190 */ 1905, 1905, 1905, 1905, 1905, 1905, 2080, 2265, 1905, 1905, - /* 200 */ 1905, 2452, 2466, 2535, 2453, 2450, 2473, 1905, 2483, 1905, - /* 210 */ 2308, 1905, 2297, 2004, 1905, 2004, 2258, 2203, 1905, 2213, - /* 220 */ 1905, 2213, 2210, 1905, 1905, 1905, 2213, 2210, 2210, 2210, - /* 230 */ 2069, 2065, 1905, 2063, 1905, 1905, 1905, 1905, 1960, 1905, - /* 240 */ 1960, 1905, 2004, 2004, 1905, 2004, 1905, 1905, 2004, 1905, - /* 250 */ 2004, 1905, 2004, 2004, 1905, 2004, 1905, 1905, 1905, 1905, - /* 260 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 270 */ 1905, 1905, 1905, 1905, 1905, 2295, 2281, 1905, 2002, 1905, - /* 280 */ 2269, 2267, 1905, 2002, 2483, 1905, 1905, 2505, 2500, 2505, - /* 290 */ 2500, 2519, 2515, 2505, 2524, 2521, 2485, 2483, 2554, 2541, - /* 300 */ 2537, 2466, 1905, 1905, 2471, 2469, 1905, 2002, 2002, 2500, - /* 310 */ 1905, 1905, 1905, 1905, 2500, 1905, 1905, 2002, 1905, 2002, - /* 320 */ 1905, 1905, 2096, 1905, 1905, 2002, 1905, 1944, 1905, 2260, - /* 330 */ 2286, 2241, 2241, 2130, 2130, 2130, 2005, 1910, 1905, 1905, - /* 340 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 350 */ 2518, 2517, 2373, 1905, 2424, 2423, 2422, 2413, 2372, 2092, - /* 360 */ 1905, 1905, 2371, 2370, 1905, 1905, 1905, 1905, 1905, 1905, - /* 370 */ 1905, 1905, 1905, 2232, 2231, 2364, 1905, 1905, 2365, 2363, - /* 380 */ 2362, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 390 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 400 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 2538, 2542, 1905, - /* 410 */ 1905, 1905, 1905, 1905, 1905, 2449, 1905, 1905, 1905, 2344, - /* 420 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 430 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 440 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 450 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 460 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 470 */ 1905, 1905, 1905, 1905, 2209, 1905, 1905, 1905, 1905, 1905, - /* 480 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 490 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 500 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 510 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 520 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 530 */ 1905, 1905, 1905, 1905, 1905, 1905, 2224, 1905, 1905, 1905, - /* 540 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 550 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 560 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1949, 2351, - /* 570 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 580 */ 1905, 1905, 1905, 2354, 1905, 1905, 1905, 1905, 1905, 1905, - /* 590 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 600 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 610 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 620 */ 1905, 1905, 1905, 1905, 2044, 2043, 1905, 1905, 1905, 1905, - /* 630 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 640 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 650 */ 1905, 1905, 2355, 1905, 1905, 1905, 1905, 1905, 2346, 1905, - /* 660 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 670 */ 1905, 1905, 1905, 1905, 1905, 2534, 2486, 1905, 1905, 1905, - /* 680 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 690 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 2344, - /* 700 */ 1905, 2516, 1905, 1905, 2532, 1905, 2536, 1905, 1905, 1905, - /* 710 */ 1905, 1905, 1905, 1905, 2459, 2455, 1905, 1905, 2451, 1905, - /* 720 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 730 */ 1905, 1905, 1905, 1905, 1905, 1905, 2343, 1905, 2410, 1905, - /* 740 */ 1905, 1905, 2444, 1905, 1905, 2395, 1905, 1905, 1905, 1905, - /* 750 */ 1905, 1905, 1905, 1905, 1905, 2355, 1905, 2358, 1905, 1905, - /* 760 */ 1905, 1905, 1905, 2124, 1905, 1905, 1905, 1905, 1905, 1905, - /* 770 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 2108, - /* 780 */ 2106, 2105, 2104, 1905, 2137, 1905, 1905, 1905, 2133, 2132, - /* 790 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 800 */ 1905, 1905, 1905, 1905, 1905, 1905, 2023, 1905, 1905, 1905, - /* 810 */ 1905, 1905, 1905, 1905, 1905, 2015, 1905, 2014, 1905, 1905, - /* 820 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 830 */ 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - /* 840 */ 1905, 1905, 1905, 1905, 1905, 1934, 1905, 1905, 1905, 1905, - /* 850 */ 1905, 1905, + /* 0 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 10 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 20 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 30 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 40 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 50 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 60 */ 1926, 2270, 1926, 1926, 2233, 1926, 1926, 1926, 1926, 1926, + /* 70 */ 1926, 1926, 1926, 1926, 1926, 1926, 2240, 1926, 1926, 1926, + /* 80 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 90 */ 1926, 1926, 1926, 1926, 1926, 1926, 2025, 1926, 1926, 1926, + /* 100 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 110 */ 1926, 1926, 1926, 2023, 2473, 1926, 2582, 1926, 1926, 1926, + /* 120 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 130 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 2485, + /* 140 */ 1926, 1926, 1997, 1997, 1926, 2485, 2485, 2485, 2023, 2445, + /* 150 */ 2445, 1926, 1926, 2025, 2308, 1926, 1926, 1926, 1926, 1926, + /* 160 */ 1926, 1926, 1926, 1926, 2152, 1956, 1926, 1926, 1926, 2176, + /* 170 */ 1926, 1926, 1926, 1926, 2296, 1926, 1926, 2514, 2576, 1926, + /* 180 */ 2517, 1926, 1926, 1926, 1926, 1926, 2245, 1926, 2504, 1926, + /* 190 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 2101, 2290, + /* 200 */ 1926, 1926, 1926, 2477, 2491, 2560, 2478, 2475, 2498, 1926, + /* 210 */ 2508, 1926, 2333, 1926, 2322, 2025, 1926, 2025, 2283, 2228, + /* 220 */ 1926, 2238, 1926, 2238, 2235, 1926, 1926, 1926, 2238, 2235, + /* 230 */ 2235, 2235, 2090, 2086, 1926, 2084, 1926, 1926, 1926, 1926, + /* 240 */ 1981, 1926, 1981, 1926, 2025, 2025, 1926, 2025, 1926, 1926, + /* 250 */ 2025, 1926, 2025, 1926, 2025, 2025, 1926, 2025, 1926, 1926, + /* 260 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 270 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 2320, 2306, 1926, + /* 280 */ 2023, 1926, 2294, 2292, 1926, 2023, 2508, 1926, 1926, 2530, + /* 290 */ 2525, 2530, 2525, 2544, 2540, 2530, 2549, 2546, 2510, 2508, + /* 300 */ 2579, 2566, 2562, 2491, 1926, 1926, 2496, 2494, 1926, 2023, + /* 310 */ 2023, 2525, 1926, 1926, 1926, 1926, 2525, 1926, 1926, 2023, + /* 320 */ 1926, 2023, 1926, 1926, 2118, 1926, 1926, 2023, 1926, 1965, + /* 330 */ 1926, 2285, 2311, 2266, 2266, 2155, 2155, 2582, 2155, 2026, + /* 340 */ 1931, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 350 */ 1926, 1926, 1926, 2543, 2542, 2398, 1926, 2449, 2448, 2447, + /* 360 */ 2438, 2397, 2114, 1926, 1926, 2396, 2395, 1926, 1926, 1926, + /* 370 */ 1926, 1926, 1926, 1926, 1926, 2105, 1926, 2257, 2256, 2389, + /* 380 */ 1926, 1926, 2390, 2388, 2387, 2127, 1926, 1926, 1926, 1926, + /* 390 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 400 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 410 */ 1926, 1926, 2563, 2567, 1926, 1926, 1926, 1926, 1926, 1926, + /* 420 */ 2474, 1926, 1926, 1926, 2369, 1926, 1926, 1926, 1926, 1926, + /* 430 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 440 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 450 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 460 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 470 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 2234, + /* 480 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 490 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 500 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 510 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 520 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 530 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 540 */ 1926, 2249, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 550 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 560 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 570 */ 1926, 1926, 1926, 1970, 2376, 1926, 1926, 1926, 1926, 1926, + /* 580 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 2379, 1926, + /* 590 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 600 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 610 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 620 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 2065, + /* 630 */ 2064, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 640 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 650 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 2380, 1926, 1926, + /* 660 */ 1926, 1926, 1926, 2371, 1926, 1926, 1926, 1926, 1926, 1926, + /* 670 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 680 */ 2559, 2511, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 690 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 700 */ 1926, 1926, 1926, 1926, 2369, 1926, 2541, 1926, 1926, 2557, + /* 710 */ 1926, 2561, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 2484, + /* 720 */ 2480, 1926, 1926, 2476, 1926, 1926, 1926, 1926, 1926, 1926, + /* 730 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 740 */ 1926, 2368, 1926, 2435, 1926, 1926, 1926, 2469, 1926, 1926, + /* 750 */ 2420, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 760 */ 2380, 1926, 2383, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 770 */ 1926, 2149, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 780 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 2133, 2131, 2130, + /* 790 */ 2129, 1926, 2162, 1926, 1926, 1926, 2158, 2157, 1926, 1926, + /* 800 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 810 */ 1926, 1926, 1926, 1926, 2044, 1926, 1926, 1926, 1926, 1926, + /* 820 */ 1926, 1926, 1926, 2036, 1926, 2035, 1926, 1926, 1926, 1926, + /* 830 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 840 */ 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + /* 850 */ 1926, 1926, 1926, 1955, 1926, 1926, 1926, 1926, 1926, 1926, }; /********** End of lemon-generated parsing tables *****************************/ @@ -1786,6 +1764,9 @@ static const YYCODETYPE yyFallback[] = { 301, /* VALUES => ABORT */ 301, /* VARIABLE => ABORT */ 301, /* WAL => ABORT */ + 0, /* ENCODE => nothing */ + 0, /* COMPRESS => nothing */ + 0, /* LEVEL => nothing */ }; #endif /* YYFALLBACK */ @@ -2225,167 +2206,173 @@ static const char *const yyTokenName[] = { /* 348 */ "VALUES", /* 349 */ "VARIABLE", /* 350 */ "WAL", - /* 351 */ "cmd", - /* 352 */ "account_options", - /* 353 */ "alter_account_options", - /* 354 */ "literal", - /* 355 */ "alter_account_option", - /* 356 */ "ip_range_list", - /* 357 */ "white_list", - /* 358 */ "white_list_opt", - /* 359 */ "user_name", - /* 360 */ "sysinfo_opt", - /* 361 */ "privileges", - /* 362 */ "priv_level", - /* 363 */ "with_opt", - /* 364 */ "priv_type_list", - /* 365 */ "priv_type", - /* 366 */ "db_name", - /* 367 */ "table_name", - /* 368 */ "topic_name", - /* 369 */ "search_condition", - /* 370 */ "dnode_endpoint", - /* 371 */ "force_opt", - /* 372 */ "unsafe_opt", - /* 373 */ "not_exists_opt", - /* 374 */ "db_options", - /* 375 */ "exists_opt", - /* 376 */ "alter_db_options", - /* 377 */ "speed_opt", - /* 378 */ "start_opt", - /* 379 */ "end_opt", - /* 380 */ "integer_list", - /* 381 */ "variable_list", - /* 382 */ "retention_list", - /* 383 */ "signed", - /* 384 */ "alter_db_option", - /* 385 */ "retention", - /* 386 */ "full_table_name", - /* 387 */ "column_def_list", - /* 388 */ "tags_def_opt", - /* 389 */ "table_options", - /* 390 */ "multi_create_clause", - /* 391 */ "tags_def", - /* 392 */ "multi_drop_clause", - /* 393 */ "alter_table_clause", - /* 394 */ "alter_table_options", - /* 395 */ "column_name", - /* 396 */ "type_name", - /* 397 */ "signed_literal", - /* 398 */ "create_subtable_clause", - /* 399 */ "specific_cols_opt", - /* 400 */ "expression_list", - /* 401 */ "drop_table_clause", - /* 402 */ "col_name_list", - /* 403 */ "column_def", - /* 404 */ "duration_list", - /* 405 */ "rollup_func_list", - /* 406 */ "alter_table_option", - /* 407 */ "duration_literal", - /* 408 */ "rollup_func_name", - /* 409 */ "function_name", - /* 410 */ "col_name", - /* 411 */ "db_kind_opt", - /* 412 */ "table_kind_db_name_cond_opt", - /* 413 */ "like_pattern_opt", - /* 414 */ "db_name_cond_opt", - /* 415 */ "table_name_cond", - /* 416 */ "from_db_opt", - /* 417 */ "tag_list_opt", - /* 418 */ "table_kind", - /* 419 */ "tag_item", - /* 420 */ "column_alias", - /* 421 */ "index_options", - /* 422 */ "full_index_name", - /* 423 */ "index_name", - /* 424 */ "func_list", - /* 425 */ "sliding_opt", - /* 426 */ "sma_stream_opt", - /* 427 */ "func", - /* 428 */ "sma_func_name", - /* 429 */ "with_meta", - /* 430 */ "query_or_subquery", - /* 431 */ "where_clause_opt", - /* 432 */ "cgroup_name", - /* 433 */ "analyze_opt", - /* 434 */ "explain_options", - /* 435 */ "insert_query", - /* 436 */ "or_replace_opt", - /* 437 */ "agg_func_opt", - /* 438 */ "bufsize_opt", - /* 439 */ "language_opt", - /* 440 */ "full_view_name", - /* 441 */ "view_name", - /* 442 */ "stream_name", - /* 443 */ "stream_options", - /* 444 */ "col_list_opt", - /* 445 */ "tag_def_or_ref_opt", - /* 446 */ "subtable_opt", - /* 447 */ "ignore_opt", - /* 448 */ "expression", - /* 449 */ "on_vgroup_id", - /* 450 */ "dnode_list", - /* 451 */ "literal_func", - /* 452 */ "literal_list", - /* 453 */ "table_alias", - /* 454 */ "expr_or_subquery", - /* 455 */ "pseudo_column", - /* 456 */ "column_reference", - /* 457 */ "function_expression", - /* 458 */ "case_when_expression", - /* 459 */ "star_func", - /* 460 */ "star_func_para_list", - /* 461 */ "noarg_func", - /* 462 */ "other_para_list", - /* 463 */ "star_func_para", - /* 464 */ "when_then_list", - /* 465 */ "case_when_else_opt", - /* 466 */ "common_expression", - /* 467 */ "when_then_expr", - /* 468 */ "predicate", - /* 469 */ "compare_op", - /* 470 */ "in_op", - /* 471 */ "in_predicate_value", - /* 472 */ "boolean_value_expression", - /* 473 */ "boolean_primary", - /* 474 */ "from_clause_opt", - /* 475 */ "table_reference_list", - /* 476 */ "table_reference", - /* 477 */ "table_primary", - /* 478 */ "joined_table", - /* 479 */ "alias_opt", - /* 480 */ "subquery", - /* 481 */ "parenthesized_joined_table", - /* 482 */ "join_type", - /* 483 */ "query_specification", - /* 484 */ "hint_list", - /* 485 */ "set_quantifier_opt", - /* 486 */ "tag_mode_opt", - /* 487 */ "select_list", - /* 488 */ "partition_by_clause_opt", - /* 489 */ "range_opt", - /* 490 */ "every_opt", - /* 491 */ "fill_opt", - /* 492 */ "twindow_clause_opt", - /* 493 */ "group_by_clause_opt", - /* 494 */ "having_clause_opt", - /* 495 */ "select_item", - /* 496 */ "partition_list", - /* 497 */ "partition_item", - /* 498 */ "interval_sliding_duration_literal", - /* 499 */ "fill_mode", - /* 500 */ "group_by_list", - /* 501 */ "query_expression", - /* 502 */ "query_simple", - /* 503 */ "order_by_clause_opt", - /* 504 */ "slimit_clause_opt", - /* 505 */ "limit_clause_opt", - /* 506 */ "union_query_expression", - /* 507 */ "query_simple_or_subquery", - /* 508 */ "sort_specification_list", - /* 509 */ "sort_specification", - /* 510 */ "ordering_specification_opt", - /* 511 */ "null_ordering_opt", + /* 351 */ "ENCODE", + /* 352 */ "COMPRESS", + /* 353 */ "LEVEL", + /* 354 */ "cmd", + /* 355 */ "account_options", + /* 356 */ "alter_account_options", + /* 357 */ "literal", + /* 358 */ "alter_account_option", + /* 359 */ "ip_range_list", + /* 360 */ "white_list", + /* 361 */ "white_list_opt", + /* 362 */ "user_name", + /* 363 */ "sysinfo_opt", + /* 364 */ "privileges", + /* 365 */ "priv_level", + /* 366 */ "with_opt", + /* 367 */ "priv_type_list", + /* 368 */ "priv_type", + /* 369 */ "db_name", + /* 370 */ "table_name", + /* 371 */ "topic_name", + /* 372 */ "search_condition", + /* 373 */ "dnode_endpoint", + /* 374 */ "force_opt", + /* 375 */ "unsafe_opt", + /* 376 */ "not_exists_opt", + /* 377 */ "db_options", + /* 378 */ "exists_opt", + /* 379 */ "alter_db_options", + /* 380 */ "speed_opt", + /* 381 */ "start_opt", + /* 382 */ "end_opt", + /* 383 */ "integer_list", + /* 384 */ "variable_list", + /* 385 */ "retention_list", + /* 386 */ "signed", + /* 387 */ "alter_db_option", + /* 388 */ "retention", + /* 389 */ "full_table_name", + /* 390 */ "column_def_list", + /* 391 */ "tags_def_opt", + /* 392 */ "table_options", + /* 393 */ "multi_create_clause", + /* 394 */ "tags_def", + /* 395 */ "multi_drop_clause", + /* 396 */ "alter_table_clause", + /* 397 */ "alter_table_options", + /* 398 */ "column_name", + /* 399 */ "type_name", + /* 400 */ "column_options", + /* 401 */ "signed_literal", + /* 402 */ "create_subtable_clause", + /* 403 */ "specific_cols_opt", + /* 404 */ "expression_list", + /* 405 */ "drop_table_clause", + /* 406 */ "col_name_list", + /* 407 */ "tag_def_list", + /* 408 */ "tag_def", + /* 409 */ "column_def", + /* 410 */ "duration_list", + /* 411 */ "rollup_func_list", + /* 412 */ "alter_table_option", + /* 413 */ "duration_literal", + /* 414 */ "rollup_func_name", + /* 415 */ "function_name", + /* 416 */ "col_name", + /* 417 */ "db_kind_opt", + /* 418 */ "table_kind_db_name_cond_opt", + /* 419 */ "like_pattern_opt", + /* 420 */ "db_name_cond_opt", + /* 421 */ "table_name_cond", + /* 422 */ "from_db_opt", + /* 423 */ "tag_list_opt", + /* 424 */ "table_kind", + /* 425 */ "tag_item", + /* 426 */ "column_alias", + /* 427 */ "index_options", + /* 428 */ "full_index_name", + /* 429 */ "index_name", + /* 430 */ "func_list", + /* 431 */ "sliding_opt", + /* 432 */ "sma_stream_opt", + /* 433 */ "func", + /* 434 */ "sma_func_name", + /* 435 */ "with_meta", + /* 436 */ "query_or_subquery", + /* 437 */ "where_clause_opt", + /* 438 */ "cgroup_name", + /* 439 */ "analyze_opt", + /* 440 */ "explain_options", + /* 441 */ "insert_query", + /* 442 */ "or_replace_opt", + /* 443 */ "agg_func_opt", + /* 444 */ "bufsize_opt", + /* 445 */ "language_opt", + /* 446 */ "full_view_name", + /* 447 */ "view_name", + /* 448 */ "stream_name", + /* 449 */ "stream_options", + /* 450 */ "col_list_opt", + /* 451 */ "tag_def_or_ref_opt", + /* 452 */ "subtable_opt", + /* 453 */ "ignore_opt", + /* 454 */ "expression", + /* 455 */ "on_vgroup_id", + /* 456 */ "dnode_list", + /* 457 */ "literal_func", + /* 458 */ "literal_list", + /* 459 */ "table_alias", + /* 460 */ "expr_or_subquery", + /* 461 */ "pseudo_column", + /* 462 */ "column_reference", + /* 463 */ "function_expression", + /* 464 */ "case_when_expression", + /* 465 */ "star_func", + /* 466 */ "star_func_para_list", + /* 467 */ "noarg_func", + /* 468 */ "other_para_list", + /* 469 */ "star_func_para", + /* 470 */ "when_then_list", + /* 471 */ "case_when_else_opt", + /* 472 */ "common_expression", + /* 473 */ "when_then_expr", + /* 474 */ "predicate", + /* 475 */ "compare_op", + /* 476 */ "in_op", + /* 477 */ "in_predicate_value", + /* 478 */ "boolean_value_expression", + /* 479 */ "boolean_primary", + /* 480 */ "from_clause_opt", + /* 481 */ "table_reference_list", + /* 482 */ "table_reference", + /* 483 */ "table_primary", + /* 484 */ "joined_table", + /* 485 */ "alias_opt", + /* 486 */ "subquery", + /* 487 */ "parenthesized_joined_table", + /* 488 */ "join_type", + /* 489 */ "query_specification", + /* 490 */ "hint_list", + /* 491 */ "set_quantifier_opt", + /* 492 */ "tag_mode_opt", + /* 493 */ "select_list", + /* 494 */ "partition_by_clause_opt", + /* 495 */ "range_opt", + /* 496 */ "every_opt", + /* 497 */ "fill_opt", + /* 498 */ "twindow_clause_opt", + /* 499 */ "group_by_clause_opt", + /* 500 */ "having_clause_opt", + /* 501 */ "select_item", + /* 502 */ "partition_list", + /* 503 */ "partition_item", + /* 504 */ "interval_sliding_duration_literal", + /* 505 */ "fill_mode", + /* 506 */ "group_by_list", + /* 507 */ "query_expression", + /* 508 */ "query_simple", + /* 509 */ "order_by_clause_opt", + /* 510 */ "slimit_clause_opt", + /* 511 */ "limit_clause_opt", + /* 512 */ "union_query_expression", + /* 513 */ "query_simple_or_subquery", + /* 514 */ "sort_specification_list", + /* 515 */ "sort_specification", + /* 516 */ "ordering_specification_opt", + /* 517 */ "null_ordering_opt", }; #endif /* defined(YYCOVERAGE) || !defined(NDEBUG) */ @@ -2569,479 +2556,487 @@ static const char *const yyRuleName[] = { /* 173 */ "alter_table_clause ::= full_table_name ADD COLUMN column_name type_name", /* 174 */ "alter_table_clause ::= full_table_name DROP COLUMN column_name", /* 175 */ "alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name", - /* 176 */ "alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name", - /* 177 */ "alter_table_clause ::= full_table_name ADD TAG column_name type_name", - /* 178 */ "alter_table_clause ::= full_table_name DROP TAG column_name", - /* 179 */ "alter_table_clause ::= full_table_name MODIFY TAG column_name type_name", - /* 180 */ "alter_table_clause ::= full_table_name RENAME TAG column_name column_name", - /* 181 */ "alter_table_clause ::= full_table_name SET TAG column_name NK_EQ signed_literal", - /* 182 */ "multi_create_clause ::= create_subtable_clause", - /* 183 */ "multi_create_clause ::= multi_create_clause create_subtable_clause", - /* 184 */ "create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_cols_opt TAGS NK_LP expression_list NK_RP table_options", - /* 185 */ "multi_drop_clause ::= drop_table_clause", - /* 186 */ "multi_drop_clause ::= multi_drop_clause NK_COMMA drop_table_clause", - /* 187 */ "drop_table_clause ::= exists_opt full_table_name", - /* 188 */ "specific_cols_opt ::=", - /* 189 */ "specific_cols_opt ::= NK_LP col_name_list NK_RP", - /* 190 */ "full_table_name ::= table_name", - /* 191 */ "full_table_name ::= db_name NK_DOT table_name", - /* 192 */ "column_def_list ::= column_def", - /* 193 */ "column_def_list ::= column_def_list NK_COMMA column_def", - /* 194 */ "column_def ::= column_name type_name", - /* 195 */ "type_name ::= BOOL", - /* 196 */ "type_name ::= TINYINT", - /* 197 */ "type_name ::= SMALLINT", - /* 198 */ "type_name ::= INT", - /* 199 */ "type_name ::= INTEGER", - /* 200 */ "type_name ::= BIGINT", - /* 201 */ "type_name ::= FLOAT", - /* 202 */ "type_name ::= DOUBLE", - /* 203 */ "type_name ::= BINARY NK_LP NK_INTEGER NK_RP", - /* 204 */ "type_name ::= TIMESTAMP", - /* 205 */ "type_name ::= NCHAR NK_LP NK_INTEGER NK_RP", - /* 206 */ "type_name ::= TINYINT UNSIGNED", - /* 207 */ "type_name ::= SMALLINT UNSIGNED", - /* 208 */ "type_name ::= INT UNSIGNED", - /* 209 */ "type_name ::= BIGINT UNSIGNED", - /* 210 */ "type_name ::= JSON", - /* 211 */ "type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP", - /* 212 */ "type_name ::= MEDIUMBLOB", - /* 213 */ "type_name ::= BLOB", - /* 214 */ "type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP", - /* 215 */ "type_name ::= GEOMETRY NK_LP NK_INTEGER NK_RP", - /* 216 */ "type_name ::= DECIMAL", - /* 217 */ "type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP", - /* 218 */ "type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP", - /* 219 */ "tags_def_opt ::=", - /* 220 */ "tags_def_opt ::= tags_def", - /* 221 */ "tags_def ::= TAGS NK_LP column_def_list NK_RP", - /* 222 */ "table_options ::=", - /* 223 */ "table_options ::= table_options COMMENT NK_STRING", - /* 224 */ "table_options ::= table_options MAX_DELAY duration_list", - /* 225 */ "table_options ::= table_options WATERMARK duration_list", - /* 226 */ "table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP", - /* 227 */ "table_options ::= table_options TTL NK_INTEGER", - /* 228 */ "table_options ::= table_options SMA NK_LP col_name_list NK_RP", - /* 229 */ "table_options ::= table_options DELETE_MARK duration_list", - /* 230 */ "alter_table_options ::= alter_table_option", - /* 231 */ "alter_table_options ::= alter_table_options alter_table_option", - /* 232 */ "alter_table_option ::= COMMENT NK_STRING", - /* 233 */ "alter_table_option ::= TTL NK_INTEGER", - /* 234 */ "duration_list ::= duration_literal", - /* 235 */ "duration_list ::= duration_list NK_COMMA duration_literal", - /* 236 */ "rollup_func_list ::= rollup_func_name", - /* 237 */ "rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name", - /* 238 */ "rollup_func_name ::= function_name", - /* 239 */ "rollup_func_name ::= FIRST", - /* 240 */ "rollup_func_name ::= LAST", - /* 241 */ "col_name_list ::= col_name", - /* 242 */ "col_name_list ::= col_name_list NK_COMMA col_name", - /* 243 */ "col_name ::= column_name", - /* 244 */ "cmd ::= SHOW DNODES", - /* 245 */ "cmd ::= SHOW USERS", - /* 246 */ "cmd ::= SHOW USER PRIVILEGES", - /* 247 */ "cmd ::= SHOW db_kind_opt DATABASES", - /* 248 */ "cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt", - /* 249 */ "cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt", - /* 250 */ "cmd ::= SHOW db_name_cond_opt VGROUPS", - /* 251 */ "cmd ::= SHOW MNODES", - /* 252 */ "cmd ::= SHOW QNODES", - /* 253 */ "cmd ::= SHOW FUNCTIONS", - /* 254 */ "cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt", - /* 255 */ "cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name", - /* 256 */ "cmd ::= SHOW STREAMS", - /* 257 */ "cmd ::= SHOW ACCOUNTS", - /* 258 */ "cmd ::= SHOW APPS", - /* 259 */ "cmd ::= SHOW CONNECTIONS", - /* 260 */ "cmd ::= SHOW LICENCES", - /* 261 */ "cmd ::= SHOW GRANTS", - /* 262 */ "cmd ::= SHOW GRANTS FULL", - /* 263 */ "cmd ::= SHOW GRANTS LOGS", - /* 264 */ "cmd ::= SHOW CLUSTER MACHINES", - /* 265 */ "cmd ::= SHOW CREATE DATABASE db_name", - /* 266 */ "cmd ::= SHOW CREATE TABLE full_table_name", - /* 267 */ "cmd ::= SHOW CREATE STABLE full_table_name", - /* 268 */ "cmd ::= SHOW QUERIES", - /* 269 */ "cmd ::= SHOW SCORES", - /* 270 */ "cmd ::= SHOW TOPICS", - /* 271 */ "cmd ::= SHOW VARIABLES", - /* 272 */ "cmd ::= SHOW CLUSTER VARIABLES", - /* 273 */ "cmd ::= SHOW LOCAL VARIABLES", - /* 274 */ "cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt", - /* 275 */ "cmd ::= SHOW BNODES", - /* 276 */ "cmd ::= SHOW SNODES", - /* 277 */ "cmd ::= SHOW CLUSTER", - /* 278 */ "cmd ::= SHOW TRANSACTIONS", - /* 279 */ "cmd ::= SHOW TABLE DISTRIBUTED full_table_name", - /* 280 */ "cmd ::= SHOW CONSUMERS", - /* 281 */ "cmd ::= SHOW SUBSCRIPTIONS", - /* 282 */ "cmd ::= SHOW TAGS FROM table_name_cond from_db_opt", - /* 283 */ "cmd ::= SHOW TAGS FROM db_name NK_DOT table_name", - /* 284 */ "cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt", - /* 285 */ "cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name", - /* 286 */ "cmd ::= SHOW VNODES ON DNODE NK_INTEGER", - /* 287 */ "cmd ::= SHOW VNODES", - /* 288 */ "cmd ::= SHOW db_name_cond_opt ALIVE", - /* 289 */ "cmd ::= SHOW CLUSTER ALIVE", - /* 290 */ "cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt", - /* 291 */ "cmd ::= SHOW CREATE VIEW full_table_name", - /* 292 */ "cmd ::= SHOW COMPACTS", - /* 293 */ "cmd ::= SHOW COMPACT NK_INTEGER", - /* 294 */ "table_kind_db_name_cond_opt ::=", - /* 295 */ "table_kind_db_name_cond_opt ::= table_kind", - /* 296 */ "table_kind_db_name_cond_opt ::= db_name NK_DOT", - /* 297 */ "table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT", - /* 298 */ "table_kind ::= NORMAL", - /* 299 */ "table_kind ::= CHILD", - /* 300 */ "db_name_cond_opt ::=", - /* 301 */ "db_name_cond_opt ::= db_name NK_DOT", - /* 302 */ "like_pattern_opt ::=", - /* 303 */ "like_pattern_opt ::= LIKE NK_STRING", - /* 304 */ "table_name_cond ::= table_name", - /* 305 */ "from_db_opt ::=", - /* 306 */ "from_db_opt ::= FROM db_name", - /* 307 */ "tag_list_opt ::=", - /* 308 */ "tag_list_opt ::= tag_item", - /* 309 */ "tag_list_opt ::= tag_list_opt NK_COMMA tag_item", - /* 310 */ "tag_item ::= TBNAME", - /* 311 */ "tag_item ::= QTAGS", - /* 312 */ "tag_item ::= column_name", - /* 313 */ "tag_item ::= column_name column_alias", - /* 314 */ "tag_item ::= column_name AS column_alias", - /* 315 */ "db_kind_opt ::=", - /* 316 */ "db_kind_opt ::= USER", - /* 317 */ "db_kind_opt ::= SYSTEM", - /* 318 */ "cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options", - /* 319 */ "cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP", - /* 320 */ "cmd ::= DROP INDEX exists_opt full_index_name", - /* 321 */ "full_index_name ::= index_name", - /* 322 */ "full_index_name ::= db_name NK_DOT index_name", - /* 323 */ "index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt", - /* 324 */ "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", - /* 325 */ "func_list ::= func", - /* 326 */ "func_list ::= func_list NK_COMMA func", - /* 327 */ "func ::= sma_func_name NK_LP expression_list NK_RP", - /* 328 */ "sma_func_name ::= function_name", - /* 329 */ "sma_func_name ::= COUNT", - /* 330 */ "sma_func_name ::= FIRST", - /* 331 */ "sma_func_name ::= LAST", - /* 332 */ "sma_func_name ::= LAST_ROW", - /* 333 */ "sma_stream_opt ::=", - /* 334 */ "sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal", - /* 335 */ "sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal", - /* 336 */ "sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal", - /* 337 */ "with_meta ::= AS", - /* 338 */ "with_meta ::= WITH META AS", - /* 339 */ "with_meta ::= ONLY META AS", - /* 340 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery", - /* 341 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name", - /* 342 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt", - /* 343 */ "cmd ::= DROP TOPIC exists_opt topic_name", - /* 344 */ "cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name", - /* 345 */ "cmd ::= DESC full_table_name", - /* 346 */ "cmd ::= DESCRIBE full_table_name", - /* 347 */ "cmd ::= RESET QUERY CACHE", - /* 348 */ "cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery", - /* 349 */ "cmd ::= EXPLAIN analyze_opt explain_options insert_query", - /* 350 */ "analyze_opt ::=", - /* 351 */ "analyze_opt ::= ANALYZE", - /* 352 */ "explain_options ::=", - /* 353 */ "explain_options ::= explain_options VERBOSE NK_BOOL", - /* 354 */ "explain_options ::= explain_options RATIO NK_FLOAT", - /* 355 */ "cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt", - /* 356 */ "cmd ::= DROP FUNCTION exists_opt function_name", - /* 357 */ "agg_func_opt ::=", - /* 358 */ "agg_func_opt ::= AGGREGATE", - /* 359 */ "bufsize_opt ::=", - /* 360 */ "bufsize_opt ::= BUFSIZE NK_INTEGER", - /* 361 */ "language_opt ::=", - /* 362 */ "language_opt ::= LANGUAGE NK_STRING", - /* 363 */ "or_replace_opt ::=", - /* 364 */ "or_replace_opt ::= OR REPLACE", - /* 365 */ "cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery", - /* 366 */ "cmd ::= DROP VIEW exists_opt full_view_name", - /* 367 */ "full_view_name ::= view_name", - /* 368 */ "full_view_name ::= db_name NK_DOT view_name", - /* 369 */ "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", - /* 370 */ "cmd ::= DROP STREAM exists_opt stream_name", - /* 371 */ "cmd ::= PAUSE STREAM exists_opt stream_name", - /* 372 */ "cmd ::= RESUME STREAM exists_opt ignore_opt stream_name", - /* 373 */ "col_list_opt ::=", - /* 374 */ "col_list_opt ::= NK_LP col_name_list NK_RP", - /* 375 */ "tag_def_or_ref_opt ::=", - /* 376 */ "tag_def_or_ref_opt ::= tags_def", - /* 377 */ "tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP", - /* 378 */ "stream_options ::=", - /* 379 */ "stream_options ::= stream_options TRIGGER AT_ONCE", - /* 380 */ "stream_options ::= stream_options TRIGGER WINDOW_CLOSE", - /* 381 */ "stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal", - /* 382 */ "stream_options ::= stream_options WATERMARK duration_literal", - /* 383 */ "stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER", - /* 384 */ "stream_options ::= stream_options FILL_HISTORY NK_INTEGER", - /* 385 */ "stream_options ::= stream_options DELETE_MARK duration_literal", - /* 386 */ "stream_options ::= stream_options IGNORE UPDATE NK_INTEGER", - /* 387 */ "subtable_opt ::=", - /* 388 */ "subtable_opt ::= SUBTABLE NK_LP expression NK_RP", - /* 389 */ "ignore_opt ::=", - /* 390 */ "ignore_opt ::= IGNORE UNTREATED", - /* 391 */ "cmd ::= KILL CONNECTION NK_INTEGER", - /* 392 */ "cmd ::= KILL QUERY NK_STRING", - /* 393 */ "cmd ::= KILL TRANSACTION NK_INTEGER", - /* 394 */ "cmd ::= KILL COMPACT NK_INTEGER", - /* 395 */ "cmd ::= BALANCE VGROUP", - /* 396 */ "cmd ::= BALANCE VGROUP LEADER on_vgroup_id", - /* 397 */ "cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER", - /* 398 */ "cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list", - /* 399 */ "cmd ::= SPLIT VGROUP NK_INTEGER", - /* 400 */ "on_vgroup_id ::=", - /* 401 */ "on_vgroup_id ::= ON NK_INTEGER", - /* 402 */ "dnode_list ::= DNODE NK_INTEGER", - /* 403 */ "dnode_list ::= dnode_list DNODE NK_INTEGER", - /* 404 */ "cmd ::= DELETE FROM full_table_name where_clause_opt", - /* 405 */ "cmd ::= query_or_subquery", - /* 406 */ "cmd ::= insert_query", - /* 407 */ "insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery", - /* 408 */ "insert_query ::= INSERT INTO full_table_name query_or_subquery", - /* 409 */ "literal ::= NK_INTEGER", - /* 410 */ "literal ::= NK_FLOAT", - /* 411 */ "literal ::= NK_STRING", - /* 412 */ "literal ::= NK_BOOL", - /* 413 */ "literal ::= TIMESTAMP NK_STRING", - /* 414 */ "literal ::= duration_literal", - /* 415 */ "literal ::= NULL", - /* 416 */ "literal ::= NK_QUESTION", - /* 417 */ "duration_literal ::= NK_VARIABLE", - /* 418 */ "signed ::= NK_INTEGER", - /* 419 */ "signed ::= NK_PLUS NK_INTEGER", - /* 420 */ "signed ::= NK_MINUS NK_INTEGER", - /* 421 */ "signed ::= NK_FLOAT", - /* 422 */ "signed ::= NK_PLUS NK_FLOAT", - /* 423 */ "signed ::= NK_MINUS NK_FLOAT", - /* 424 */ "signed_literal ::= signed", - /* 425 */ "signed_literal ::= NK_STRING", - /* 426 */ "signed_literal ::= NK_BOOL", - /* 427 */ "signed_literal ::= TIMESTAMP NK_STRING", - /* 428 */ "signed_literal ::= duration_literal", - /* 429 */ "signed_literal ::= NULL", - /* 430 */ "signed_literal ::= literal_func", - /* 431 */ "signed_literal ::= NK_QUESTION", - /* 432 */ "literal_list ::= signed_literal", - /* 433 */ "literal_list ::= literal_list NK_COMMA signed_literal", - /* 434 */ "db_name ::= NK_ID", - /* 435 */ "table_name ::= NK_ID", - /* 436 */ "column_name ::= NK_ID", - /* 437 */ "function_name ::= NK_ID", - /* 438 */ "view_name ::= NK_ID", - /* 439 */ "table_alias ::= NK_ID", - /* 440 */ "column_alias ::= NK_ID", - /* 441 */ "column_alias ::= NK_ALIAS", - /* 442 */ "user_name ::= NK_ID", - /* 443 */ "topic_name ::= NK_ID", - /* 444 */ "stream_name ::= NK_ID", - /* 445 */ "cgroup_name ::= NK_ID", - /* 446 */ "index_name ::= NK_ID", - /* 447 */ "expr_or_subquery ::= expression", - /* 448 */ "expression ::= literal", - /* 449 */ "expression ::= pseudo_column", - /* 450 */ "expression ::= column_reference", - /* 451 */ "expression ::= function_expression", - /* 452 */ "expression ::= case_when_expression", - /* 453 */ "expression ::= NK_LP expression NK_RP", - /* 454 */ "expression ::= NK_PLUS expr_or_subquery", - /* 455 */ "expression ::= NK_MINUS expr_or_subquery", - /* 456 */ "expression ::= expr_or_subquery NK_PLUS expr_or_subquery", - /* 457 */ "expression ::= expr_or_subquery NK_MINUS expr_or_subquery", - /* 458 */ "expression ::= expr_or_subquery NK_STAR expr_or_subquery", - /* 459 */ "expression ::= expr_or_subquery NK_SLASH expr_or_subquery", - /* 460 */ "expression ::= expr_or_subquery NK_REM expr_or_subquery", - /* 461 */ "expression ::= column_reference NK_ARROW NK_STRING", - /* 462 */ "expression ::= expr_or_subquery NK_BITAND expr_or_subquery", - /* 463 */ "expression ::= expr_or_subquery NK_BITOR expr_or_subquery", - /* 464 */ "expression_list ::= expr_or_subquery", - /* 465 */ "expression_list ::= expression_list NK_COMMA expr_or_subquery", - /* 466 */ "column_reference ::= column_name", - /* 467 */ "column_reference ::= table_name NK_DOT column_name", - /* 468 */ "column_reference ::= NK_ALIAS", - /* 469 */ "column_reference ::= table_name NK_DOT NK_ALIAS", - /* 470 */ "pseudo_column ::= ROWTS", - /* 471 */ "pseudo_column ::= TBNAME", - /* 472 */ "pseudo_column ::= table_name NK_DOT TBNAME", - /* 473 */ "pseudo_column ::= QSTART", - /* 474 */ "pseudo_column ::= QEND", - /* 475 */ "pseudo_column ::= QDURATION", - /* 476 */ "pseudo_column ::= WSTART", - /* 477 */ "pseudo_column ::= WEND", - /* 478 */ "pseudo_column ::= WDURATION", - /* 479 */ "pseudo_column ::= IROWTS", - /* 480 */ "pseudo_column ::= ISFILLED", - /* 481 */ "pseudo_column ::= QTAGS", - /* 482 */ "function_expression ::= function_name NK_LP expression_list NK_RP", - /* 483 */ "function_expression ::= star_func NK_LP star_func_para_list NK_RP", - /* 484 */ "function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP", - /* 485 */ "function_expression ::= literal_func", - /* 486 */ "literal_func ::= noarg_func NK_LP NK_RP", - /* 487 */ "literal_func ::= NOW", - /* 488 */ "noarg_func ::= NOW", - /* 489 */ "noarg_func ::= TODAY", - /* 490 */ "noarg_func ::= TIMEZONE", - /* 491 */ "noarg_func ::= DATABASE", - /* 492 */ "noarg_func ::= CLIENT_VERSION", - /* 493 */ "noarg_func ::= SERVER_VERSION", - /* 494 */ "noarg_func ::= SERVER_STATUS", - /* 495 */ "noarg_func ::= CURRENT_USER", - /* 496 */ "noarg_func ::= USER", - /* 497 */ "star_func ::= COUNT", - /* 498 */ "star_func ::= FIRST", - /* 499 */ "star_func ::= LAST", - /* 500 */ "star_func ::= LAST_ROW", - /* 501 */ "star_func_para_list ::= NK_STAR", - /* 502 */ "star_func_para_list ::= other_para_list", - /* 503 */ "other_para_list ::= star_func_para", - /* 504 */ "other_para_list ::= other_para_list NK_COMMA star_func_para", - /* 505 */ "star_func_para ::= expr_or_subquery", - /* 506 */ "star_func_para ::= table_name NK_DOT NK_STAR", - /* 507 */ "case_when_expression ::= CASE when_then_list case_when_else_opt END", - /* 508 */ "case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END", - /* 509 */ "when_then_list ::= when_then_expr", - /* 510 */ "when_then_list ::= when_then_list when_then_expr", - /* 511 */ "when_then_expr ::= WHEN common_expression THEN common_expression", - /* 512 */ "case_when_else_opt ::=", - /* 513 */ "case_when_else_opt ::= ELSE common_expression", - /* 514 */ "predicate ::= expr_or_subquery compare_op expr_or_subquery", - /* 515 */ "predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery", - /* 516 */ "predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery", - /* 517 */ "predicate ::= expr_or_subquery IS NULL", - /* 518 */ "predicate ::= expr_or_subquery IS NOT NULL", - /* 519 */ "predicate ::= expr_or_subquery in_op in_predicate_value", - /* 520 */ "compare_op ::= NK_LT", - /* 521 */ "compare_op ::= NK_GT", - /* 522 */ "compare_op ::= NK_LE", - /* 523 */ "compare_op ::= NK_GE", - /* 524 */ "compare_op ::= NK_NE", - /* 525 */ "compare_op ::= NK_EQ", - /* 526 */ "compare_op ::= LIKE", - /* 527 */ "compare_op ::= NOT LIKE", - /* 528 */ "compare_op ::= MATCH", - /* 529 */ "compare_op ::= NMATCH", - /* 530 */ "compare_op ::= CONTAINS", - /* 531 */ "in_op ::= IN", - /* 532 */ "in_op ::= NOT IN", - /* 533 */ "in_predicate_value ::= NK_LP literal_list NK_RP", - /* 534 */ "boolean_value_expression ::= boolean_primary", - /* 535 */ "boolean_value_expression ::= NOT boolean_primary", - /* 536 */ "boolean_value_expression ::= boolean_value_expression OR boolean_value_expression", - /* 537 */ "boolean_value_expression ::= boolean_value_expression AND boolean_value_expression", - /* 538 */ "boolean_primary ::= predicate", - /* 539 */ "boolean_primary ::= NK_LP boolean_value_expression NK_RP", - /* 540 */ "common_expression ::= expr_or_subquery", - /* 541 */ "common_expression ::= boolean_value_expression", - /* 542 */ "from_clause_opt ::=", - /* 543 */ "from_clause_opt ::= FROM table_reference_list", - /* 544 */ "table_reference_list ::= table_reference", - /* 545 */ "table_reference_list ::= table_reference_list NK_COMMA table_reference", - /* 546 */ "table_reference ::= table_primary", - /* 547 */ "table_reference ::= joined_table", - /* 548 */ "table_primary ::= table_name alias_opt", - /* 549 */ "table_primary ::= db_name NK_DOT table_name alias_opt", - /* 550 */ "table_primary ::= subquery alias_opt", - /* 551 */ "table_primary ::= parenthesized_joined_table", - /* 552 */ "alias_opt ::=", - /* 553 */ "alias_opt ::= table_alias", - /* 554 */ "alias_opt ::= AS table_alias", - /* 555 */ "parenthesized_joined_table ::= NK_LP joined_table NK_RP", - /* 556 */ "parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP", - /* 557 */ "joined_table ::= table_reference join_type JOIN table_reference ON search_condition", - /* 558 */ "join_type ::=", - /* 559 */ "join_type ::= INNER", - /* 560 */ "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", - /* 561 */ "hint_list ::=", - /* 562 */ "hint_list ::= NK_HINT", - /* 563 */ "tag_mode_opt ::=", - /* 564 */ "tag_mode_opt ::= TAGS", - /* 565 */ "set_quantifier_opt ::=", - /* 566 */ "set_quantifier_opt ::= DISTINCT", - /* 567 */ "set_quantifier_opt ::= ALL", - /* 568 */ "select_list ::= select_item", - /* 569 */ "select_list ::= select_list NK_COMMA select_item", - /* 570 */ "select_item ::= NK_STAR", - /* 571 */ "select_item ::= common_expression", - /* 572 */ "select_item ::= common_expression column_alias", - /* 573 */ "select_item ::= common_expression AS column_alias", - /* 574 */ "select_item ::= table_name NK_DOT NK_STAR", - /* 575 */ "where_clause_opt ::=", - /* 576 */ "where_clause_opt ::= WHERE search_condition", - /* 577 */ "partition_by_clause_opt ::=", - /* 578 */ "partition_by_clause_opt ::= PARTITION BY partition_list", - /* 579 */ "partition_list ::= partition_item", - /* 580 */ "partition_list ::= partition_list NK_COMMA partition_item", - /* 581 */ "partition_item ::= expr_or_subquery", - /* 582 */ "partition_item ::= expr_or_subquery column_alias", - /* 583 */ "partition_item ::= expr_or_subquery AS column_alias", - /* 584 */ "twindow_clause_opt ::=", - /* 585 */ "twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP", - /* 586 */ "twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP", - /* 587 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt", - /* 588 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt", - /* 589 */ "twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition", - /* 590 */ "twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP", - /* 591 */ "twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP", - /* 592 */ "sliding_opt ::=", - /* 593 */ "sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP", - /* 594 */ "interval_sliding_duration_literal ::= NK_VARIABLE", - /* 595 */ "interval_sliding_duration_literal ::= NK_STRING", - /* 596 */ "interval_sliding_duration_literal ::= NK_INTEGER", - /* 597 */ "fill_opt ::=", - /* 598 */ "fill_opt ::= FILL NK_LP fill_mode NK_RP", - /* 599 */ "fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP", - /* 600 */ "fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP", - /* 601 */ "fill_mode ::= NONE", - /* 602 */ "fill_mode ::= PREV", - /* 603 */ "fill_mode ::= NULL", - /* 604 */ "fill_mode ::= NULL_F", - /* 605 */ "fill_mode ::= LINEAR", - /* 606 */ "fill_mode ::= NEXT", - /* 607 */ "group_by_clause_opt ::=", - /* 608 */ "group_by_clause_opt ::= GROUP BY group_by_list", - /* 609 */ "group_by_list ::= expr_or_subquery", - /* 610 */ "group_by_list ::= group_by_list NK_COMMA expr_or_subquery", - /* 611 */ "having_clause_opt ::=", - /* 612 */ "having_clause_opt ::= HAVING search_condition", - /* 613 */ "range_opt ::=", - /* 614 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP", - /* 615 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_RP", - /* 616 */ "every_opt ::=", - /* 617 */ "every_opt ::= EVERY NK_LP duration_literal NK_RP", - /* 618 */ "query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt", - /* 619 */ "query_simple ::= query_specification", - /* 620 */ "query_simple ::= union_query_expression", - /* 621 */ "union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery", - /* 622 */ "union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery", - /* 623 */ "query_simple_or_subquery ::= query_simple", - /* 624 */ "query_simple_or_subquery ::= subquery", - /* 625 */ "query_or_subquery ::= query_expression", - /* 626 */ "query_or_subquery ::= subquery", - /* 627 */ "order_by_clause_opt ::=", - /* 628 */ "order_by_clause_opt ::= ORDER BY sort_specification_list", - /* 629 */ "slimit_clause_opt ::=", - /* 630 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER", - /* 631 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER", - /* 632 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER", - /* 633 */ "limit_clause_opt ::=", - /* 634 */ "limit_clause_opt ::= LIMIT NK_INTEGER", - /* 635 */ "limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER", - /* 636 */ "limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER", - /* 637 */ "subquery ::= NK_LP query_expression NK_RP", - /* 638 */ "subquery ::= NK_LP subquery NK_RP", - /* 639 */ "search_condition ::= common_expression", - /* 640 */ "sort_specification_list ::= sort_specification", - /* 641 */ "sort_specification_list ::= sort_specification_list NK_COMMA sort_specification", - /* 642 */ "sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt", - /* 643 */ "ordering_specification_opt ::=", - /* 644 */ "ordering_specification_opt ::= ASC", - /* 645 */ "ordering_specification_opt ::= DESC", - /* 646 */ "null_ordering_opt ::=", - /* 647 */ "null_ordering_opt ::= NULLS FIRST", - /* 648 */ "null_ordering_opt ::= NULLS LAST", + /* 176 */ "alter_table_clause ::= full_table_name MODIFY COLUMN column_name column_options", + /* 177 */ "alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name", + /* 178 */ "alter_table_clause ::= full_table_name ADD TAG column_name type_name", + /* 179 */ "alter_table_clause ::= full_table_name DROP TAG column_name", + /* 180 */ "alter_table_clause ::= full_table_name MODIFY TAG column_name type_name", + /* 181 */ "alter_table_clause ::= full_table_name RENAME TAG column_name column_name", + /* 182 */ "alter_table_clause ::= full_table_name SET TAG column_name NK_EQ signed_literal", + /* 183 */ "multi_create_clause ::= create_subtable_clause", + /* 184 */ "multi_create_clause ::= multi_create_clause create_subtable_clause", + /* 185 */ "create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_cols_opt TAGS NK_LP expression_list NK_RP table_options", + /* 186 */ "multi_drop_clause ::= drop_table_clause", + /* 187 */ "multi_drop_clause ::= multi_drop_clause NK_COMMA drop_table_clause", + /* 188 */ "drop_table_clause ::= exists_opt full_table_name", + /* 189 */ "specific_cols_opt ::=", + /* 190 */ "specific_cols_opt ::= NK_LP col_name_list NK_RP", + /* 191 */ "full_table_name ::= table_name", + /* 192 */ "full_table_name ::= db_name NK_DOT table_name", + /* 193 */ "tag_def_list ::= tag_def", + /* 194 */ "tag_def_list ::= tag_def_list NK_COMMA tag_def", + /* 195 */ "tag_def ::= column_name type_name", + /* 196 */ "column_def_list ::= column_def", + /* 197 */ "column_def_list ::= column_def_list NK_COMMA column_def", + /* 198 */ "column_def ::= column_name type_name column_options", + /* 199 */ "type_name ::= BOOL", + /* 200 */ "type_name ::= TINYINT", + /* 201 */ "type_name ::= SMALLINT", + /* 202 */ "type_name ::= INT", + /* 203 */ "type_name ::= INTEGER", + /* 204 */ "type_name ::= BIGINT", + /* 205 */ "type_name ::= FLOAT", + /* 206 */ "type_name ::= DOUBLE", + /* 207 */ "type_name ::= BINARY NK_LP NK_INTEGER NK_RP", + /* 208 */ "type_name ::= TIMESTAMP", + /* 209 */ "type_name ::= NCHAR NK_LP NK_INTEGER NK_RP", + /* 210 */ "type_name ::= TINYINT UNSIGNED", + /* 211 */ "type_name ::= SMALLINT UNSIGNED", + /* 212 */ "type_name ::= INT UNSIGNED", + /* 213 */ "type_name ::= BIGINT UNSIGNED", + /* 214 */ "type_name ::= JSON", + /* 215 */ "type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP", + /* 216 */ "type_name ::= MEDIUMBLOB", + /* 217 */ "type_name ::= BLOB", + /* 218 */ "type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP", + /* 219 */ "type_name ::= GEOMETRY NK_LP NK_INTEGER NK_RP", + /* 220 */ "type_name ::= DECIMAL", + /* 221 */ "type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP", + /* 222 */ "type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP", + /* 223 */ "tags_def_opt ::=", + /* 224 */ "tags_def_opt ::= tags_def", + /* 225 */ "tags_def ::= TAGS NK_LP tag_def_list NK_RP", + /* 226 */ "table_options ::=", + /* 227 */ "table_options ::= table_options COMMENT NK_STRING", + /* 228 */ "table_options ::= table_options MAX_DELAY duration_list", + /* 229 */ "table_options ::= table_options WATERMARK duration_list", + /* 230 */ "table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP", + /* 231 */ "table_options ::= table_options TTL NK_INTEGER", + /* 232 */ "table_options ::= table_options SMA NK_LP col_name_list NK_RP", + /* 233 */ "table_options ::= table_options DELETE_MARK duration_list", + /* 234 */ "alter_table_options ::= alter_table_option", + /* 235 */ "alter_table_options ::= alter_table_options alter_table_option", + /* 236 */ "alter_table_option ::= COMMENT NK_STRING", + /* 237 */ "alter_table_option ::= TTL NK_INTEGER", + /* 238 */ "duration_list ::= duration_literal", + /* 239 */ "duration_list ::= duration_list NK_COMMA duration_literal", + /* 240 */ "rollup_func_list ::= rollup_func_name", + /* 241 */ "rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name", + /* 242 */ "rollup_func_name ::= function_name", + /* 243 */ "rollup_func_name ::= FIRST", + /* 244 */ "rollup_func_name ::= LAST", + /* 245 */ "col_name_list ::= col_name", + /* 246 */ "col_name_list ::= col_name_list NK_COMMA col_name", + /* 247 */ "col_name ::= column_name", + /* 248 */ "cmd ::= SHOW DNODES", + /* 249 */ "cmd ::= SHOW USERS", + /* 250 */ "cmd ::= SHOW USER PRIVILEGES", + /* 251 */ "cmd ::= SHOW db_kind_opt DATABASES", + /* 252 */ "cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt", + /* 253 */ "cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt", + /* 254 */ "cmd ::= SHOW db_name_cond_opt VGROUPS", + /* 255 */ "cmd ::= SHOW MNODES", + /* 256 */ "cmd ::= SHOW QNODES", + /* 257 */ "cmd ::= SHOW FUNCTIONS", + /* 258 */ "cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt", + /* 259 */ "cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name", + /* 260 */ "cmd ::= SHOW STREAMS", + /* 261 */ "cmd ::= SHOW ACCOUNTS", + /* 262 */ "cmd ::= SHOW APPS", + /* 263 */ "cmd ::= SHOW CONNECTIONS", + /* 264 */ "cmd ::= SHOW LICENCES", + /* 265 */ "cmd ::= SHOW GRANTS", + /* 266 */ "cmd ::= SHOW GRANTS FULL", + /* 267 */ "cmd ::= SHOW GRANTS LOGS", + /* 268 */ "cmd ::= SHOW CLUSTER MACHINES", + /* 269 */ "cmd ::= SHOW CREATE DATABASE db_name", + /* 270 */ "cmd ::= SHOW CREATE TABLE full_table_name", + /* 271 */ "cmd ::= SHOW CREATE STABLE full_table_name", + /* 272 */ "cmd ::= SHOW QUERIES", + /* 273 */ "cmd ::= SHOW SCORES", + /* 274 */ "cmd ::= SHOW TOPICS", + /* 275 */ "cmd ::= SHOW VARIABLES", + /* 276 */ "cmd ::= SHOW CLUSTER VARIABLES", + /* 277 */ "cmd ::= SHOW LOCAL VARIABLES", + /* 278 */ "cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt", + /* 279 */ "cmd ::= SHOW BNODES", + /* 280 */ "cmd ::= SHOW SNODES", + /* 281 */ "cmd ::= SHOW CLUSTER", + /* 282 */ "cmd ::= SHOW TRANSACTIONS", + /* 283 */ "cmd ::= SHOW TABLE DISTRIBUTED full_table_name", + /* 284 */ "cmd ::= SHOW CONSUMERS", + /* 285 */ "cmd ::= SHOW SUBSCRIPTIONS", + /* 286 */ "cmd ::= SHOW TAGS FROM table_name_cond from_db_opt", + /* 287 */ "cmd ::= SHOW TAGS FROM db_name NK_DOT table_name", + /* 288 */ "cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt", + /* 289 */ "cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name", + /* 290 */ "cmd ::= SHOW VNODES ON DNODE NK_INTEGER", + /* 291 */ "cmd ::= SHOW VNODES", + /* 292 */ "cmd ::= SHOW db_name_cond_opt ALIVE", + /* 293 */ "cmd ::= SHOW CLUSTER ALIVE", + /* 294 */ "cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt", + /* 295 */ "cmd ::= SHOW CREATE VIEW full_table_name", + /* 296 */ "cmd ::= SHOW COMPACTS", + /* 297 */ "cmd ::= SHOW COMPACT NK_INTEGER", + /* 298 */ "table_kind_db_name_cond_opt ::=", + /* 299 */ "table_kind_db_name_cond_opt ::= table_kind", + /* 300 */ "table_kind_db_name_cond_opt ::= db_name NK_DOT", + /* 301 */ "table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT", + /* 302 */ "table_kind ::= NORMAL", + /* 303 */ "table_kind ::= CHILD", + /* 304 */ "db_name_cond_opt ::=", + /* 305 */ "db_name_cond_opt ::= db_name NK_DOT", + /* 306 */ "like_pattern_opt ::=", + /* 307 */ "like_pattern_opt ::= LIKE NK_STRING", + /* 308 */ "table_name_cond ::= table_name", + /* 309 */ "from_db_opt ::=", + /* 310 */ "from_db_opt ::= FROM db_name", + /* 311 */ "tag_list_opt ::=", + /* 312 */ "tag_list_opt ::= tag_item", + /* 313 */ "tag_list_opt ::= tag_list_opt NK_COMMA tag_item", + /* 314 */ "tag_item ::= TBNAME", + /* 315 */ "tag_item ::= QTAGS", + /* 316 */ "tag_item ::= column_name", + /* 317 */ "tag_item ::= column_name column_alias", + /* 318 */ "tag_item ::= column_name AS column_alias", + /* 319 */ "db_kind_opt ::=", + /* 320 */ "db_kind_opt ::= USER", + /* 321 */ "db_kind_opt ::= SYSTEM", + /* 322 */ "cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options", + /* 323 */ "cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP", + /* 324 */ "cmd ::= DROP INDEX exists_opt full_index_name", + /* 325 */ "full_index_name ::= index_name", + /* 326 */ "full_index_name ::= db_name NK_DOT index_name", + /* 327 */ "index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt", + /* 328 */ "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", + /* 329 */ "func_list ::= func", + /* 330 */ "func_list ::= func_list NK_COMMA func", + /* 331 */ "func ::= sma_func_name NK_LP expression_list NK_RP", + /* 332 */ "sma_func_name ::= function_name", + /* 333 */ "sma_func_name ::= COUNT", + /* 334 */ "sma_func_name ::= FIRST", + /* 335 */ "sma_func_name ::= LAST", + /* 336 */ "sma_func_name ::= LAST_ROW", + /* 337 */ "sma_stream_opt ::=", + /* 338 */ "sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal", + /* 339 */ "sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal", + /* 340 */ "sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal", + /* 341 */ "with_meta ::= AS", + /* 342 */ "with_meta ::= WITH META AS", + /* 343 */ "with_meta ::= ONLY META AS", + /* 344 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery", + /* 345 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name", + /* 346 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt", + /* 347 */ "cmd ::= DROP TOPIC exists_opt topic_name", + /* 348 */ "cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name", + /* 349 */ "cmd ::= DESC full_table_name", + /* 350 */ "cmd ::= DESCRIBE full_table_name", + /* 351 */ "cmd ::= RESET QUERY CACHE", + /* 352 */ "cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery", + /* 353 */ "cmd ::= EXPLAIN analyze_opt explain_options insert_query", + /* 354 */ "analyze_opt ::=", + /* 355 */ "analyze_opt ::= ANALYZE", + /* 356 */ "explain_options ::=", + /* 357 */ "explain_options ::= explain_options VERBOSE NK_BOOL", + /* 358 */ "explain_options ::= explain_options RATIO NK_FLOAT", + /* 359 */ "cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt", + /* 360 */ "cmd ::= DROP FUNCTION exists_opt function_name", + /* 361 */ "agg_func_opt ::=", + /* 362 */ "agg_func_opt ::= AGGREGATE", + /* 363 */ "bufsize_opt ::=", + /* 364 */ "bufsize_opt ::= BUFSIZE NK_INTEGER", + /* 365 */ "language_opt ::=", + /* 366 */ "language_opt ::= LANGUAGE NK_STRING", + /* 367 */ "or_replace_opt ::=", + /* 368 */ "or_replace_opt ::= OR REPLACE", + /* 369 */ "cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery", + /* 370 */ "cmd ::= DROP VIEW exists_opt full_view_name", + /* 371 */ "full_view_name ::= view_name", + /* 372 */ "full_view_name ::= db_name NK_DOT view_name", + /* 373 */ "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", + /* 374 */ "cmd ::= DROP STREAM exists_opt stream_name", + /* 375 */ "cmd ::= PAUSE STREAM exists_opt stream_name", + /* 376 */ "cmd ::= RESUME STREAM exists_opt ignore_opt stream_name", + /* 377 */ "col_list_opt ::=", + /* 378 */ "col_list_opt ::= NK_LP col_name_list NK_RP", + /* 379 */ "tag_def_or_ref_opt ::=", + /* 380 */ "tag_def_or_ref_opt ::= tags_def", + /* 381 */ "tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP", + /* 382 */ "stream_options ::=", + /* 383 */ "stream_options ::= stream_options TRIGGER AT_ONCE", + /* 384 */ "stream_options ::= stream_options TRIGGER WINDOW_CLOSE", + /* 385 */ "stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal", + /* 386 */ "stream_options ::= stream_options WATERMARK duration_literal", + /* 387 */ "stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER", + /* 388 */ "stream_options ::= stream_options FILL_HISTORY NK_INTEGER", + /* 389 */ "stream_options ::= stream_options DELETE_MARK duration_literal", + /* 390 */ "stream_options ::= stream_options IGNORE UPDATE NK_INTEGER", + /* 391 */ "subtable_opt ::=", + /* 392 */ "subtable_opt ::= SUBTABLE NK_LP expression NK_RP", + /* 393 */ "ignore_opt ::=", + /* 394 */ "ignore_opt ::= IGNORE UNTREATED", + /* 395 */ "cmd ::= KILL CONNECTION NK_INTEGER", + /* 396 */ "cmd ::= KILL QUERY NK_STRING", + /* 397 */ "cmd ::= KILL TRANSACTION NK_INTEGER", + /* 398 */ "cmd ::= KILL COMPACT NK_INTEGER", + /* 399 */ "cmd ::= BALANCE VGROUP", + /* 400 */ "cmd ::= BALANCE VGROUP LEADER on_vgroup_id", + /* 401 */ "cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER", + /* 402 */ "cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list", + /* 403 */ "cmd ::= SPLIT VGROUP NK_INTEGER", + /* 404 */ "on_vgroup_id ::=", + /* 405 */ "on_vgroup_id ::= ON NK_INTEGER", + /* 406 */ "dnode_list ::= DNODE NK_INTEGER", + /* 407 */ "dnode_list ::= dnode_list DNODE NK_INTEGER", + /* 408 */ "cmd ::= DELETE FROM full_table_name where_clause_opt", + /* 409 */ "cmd ::= query_or_subquery", + /* 410 */ "cmd ::= insert_query", + /* 411 */ "insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery", + /* 412 */ "insert_query ::= INSERT INTO full_table_name query_or_subquery", + /* 413 */ "literal ::= NK_INTEGER", + /* 414 */ "literal ::= NK_FLOAT", + /* 415 */ "literal ::= NK_STRING", + /* 416 */ "literal ::= NK_BOOL", + /* 417 */ "literal ::= TIMESTAMP NK_STRING", + /* 418 */ "literal ::= duration_literal", + /* 419 */ "literal ::= NULL", + /* 420 */ "literal ::= NK_QUESTION", + /* 421 */ "duration_literal ::= NK_VARIABLE", + /* 422 */ "signed ::= NK_INTEGER", + /* 423 */ "signed ::= NK_PLUS NK_INTEGER", + /* 424 */ "signed ::= NK_MINUS NK_INTEGER", + /* 425 */ "signed ::= NK_FLOAT", + /* 426 */ "signed ::= NK_PLUS NK_FLOAT", + /* 427 */ "signed ::= NK_MINUS NK_FLOAT", + /* 428 */ "signed_literal ::= signed", + /* 429 */ "signed_literal ::= NK_STRING", + /* 430 */ "signed_literal ::= NK_BOOL", + /* 431 */ "signed_literal ::= TIMESTAMP NK_STRING", + /* 432 */ "signed_literal ::= duration_literal", + /* 433 */ "signed_literal ::= NULL", + /* 434 */ "signed_literal ::= literal_func", + /* 435 */ "signed_literal ::= NK_QUESTION", + /* 436 */ "literal_list ::= signed_literal", + /* 437 */ "literal_list ::= literal_list NK_COMMA signed_literal", + /* 438 */ "db_name ::= NK_ID", + /* 439 */ "table_name ::= NK_ID", + /* 440 */ "column_name ::= NK_ID", + /* 441 */ "function_name ::= NK_ID", + /* 442 */ "view_name ::= NK_ID", + /* 443 */ "table_alias ::= NK_ID", + /* 444 */ "column_alias ::= NK_ID", + /* 445 */ "column_alias ::= NK_ALIAS", + /* 446 */ "user_name ::= NK_ID", + /* 447 */ "topic_name ::= NK_ID", + /* 448 */ "stream_name ::= NK_ID", + /* 449 */ "cgroup_name ::= NK_ID", + /* 450 */ "index_name ::= NK_ID", + /* 451 */ "expr_or_subquery ::= expression", + /* 452 */ "expression ::= literal", + /* 453 */ "expression ::= pseudo_column", + /* 454 */ "expression ::= column_reference", + /* 455 */ "expression ::= function_expression", + /* 456 */ "expression ::= case_when_expression", + /* 457 */ "expression ::= NK_LP expression NK_RP", + /* 458 */ "expression ::= NK_PLUS expr_or_subquery", + /* 459 */ "expression ::= NK_MINUS expr_or_subquery", + /* 460 */ "expression ::= expr_or_subquery NK_PLUS expr_or_subquery", + /* 461 */ "expression ::= expr_or_subquery NK_MINUS expr_or_subquery", + /* 462 */ "expression ::= expr_or_subquery NK_STAR expr_or_subquery", + /* 463 */ "expression ::= expr_or_subquery NK_SLASH expr_or_subquery", + /* 464 */ "expression ::= expr_or_subquery NK_REM expr_or_subquery", + /* 465 */ "expression ::= column_reference NK_ARROW NK_STRING", + /* 466 */ "expression ::= expr_or_subquery NK_BITAND expr_or_subquery", + /* 467 */ "expression ::= expr_or_subquery NK_BITOR expr_or_subquery", + /* 468 */ "expression_list ::= expr_or_subquery", + /* 469 */ "expression_list ::= expression_list NK_COMMA expr_or_subquery", + /* 470 */ "column_reference ::= column_name", + /* 471 */ "column_reference ::= table_name NK_DOT column_name", + /* 472 */ "column_reference ::= NK_ALIAS", + /* 473 */ "column_reference ::= table_name NK_DOT NK_ALIAS", + /* 474 */ "pseudo_column ::= ROWTS", + /* 475 */ "pseudo_column ::= TBNAME", + /* 476 */ "pseudo_column ::= table_name NK_DOT TBNAME", + /* 477 */ "pseudo_column ::= QSTART", + /* 478 */ "pseudo_column ::= QEND", + /* 479 */ "pseudo_column ::= QDURATION", + /* 480 */ "pseudo_column ::= WSTART", + /* 481 */ "pseudo_column ::= WEND", + /* 482 */ "pseudo_column ::= WDURATION", + /* 483 */ "pseudo_column ::= IROWTS", + /* 484 */ "pseudo_column ::= ISFILLED", + /* 485 */ "pseudo_column ::= QTAGS", + /* 486 */ "function_expression ::= function_name NK_LP expression_list NK_RP", + /* 487 */ "function_expression ::= star_func NK_LP star_func_para_list NK_RP", + /* 488 */ "function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP", + /* 489 */ "function_expression ::= literal_func", + /* 490 */ "literal_func ::= noarg_func NK_LP NK_RP", + /* 491 */ "literal_func ::= NOW", + /* 492 */ "noarg_func ::= NOW", + /* 493 */ "noarg_func ::= TODAY", + /* 494 */ "noarg_func ::= TIMEZONE", + /* 495 */ "noarg_func ::= DATABASE", + /* 496 */ "noarg_func ::= CLIENT_VERSION", + /* 497 */ "noarg_func ::= SERVER_VERSION", + /* 498 */ "noarg_func ::= SERVER_STATUS", + /* 499 */ "noarg_func ::= CURRENT_USER", + /* 500 */ "noarg_func ::= USER", + /* 501 */ "star_func ::= COUNT", + /* 502 */ "star_func ::= FIRST", + /* 503 */ "star_func ::= LAST", + /* 504 */ "star_func ::= LAST_ROW", + /* 505 */ "star_func_para_list ::= NK_STAR", + /* 506 */ "star_func_para_list ::= other_para_list", + /* 507 */ "other_para_list ::= star_func_para", + /* 508 */ "other_para_list ::= other_para_list NK_COMMA star_func_para", + /* 509 */ "star_func_para ::= expr_or_subquery", + /* 510 */ "star_func_para ::= table_name NK_DOT NK_STAR", + /* 511 */ "case_when_expression ::= CASE when_then_list case_when_else_opt END", + /* 512 */ "case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END", + /* 513 */ "when_then_list ::= when_then_expr", + /* 514 */ "when_then_list ::= when_then_list when_then_expr", + /* 515 */ "when_then_expr ::= WHEN common_expression THEN common_expression", + /* 516 */ "case_when_else_opt ::=", + /* 517 */ "case_when_else_opt ::= ELSE common_expression", + /* 518 */ "predicate ::= expr_or_subquery compare_op expr_or_subquery", + /* 519 */ "predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery", + /* 520 */ "predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery", + /* 521 */ "predicate ::= expr_or_subquery IS NULL", + /* 522 */ "predicate ::= expr_or_subquery IS NOT NULL", + /* 523 */ "predicate ::= expr_or_subquery in_op in_predicate_value", + /* 524 */ "compare_op ::= NK_LT", + /* 525 */ "compare_op ::= NK_GT", + /* 526 */ "compare_op ::= NK_LE", + /* 527 */ "compare_op ::= NK_GE", + /* 528 */ "compare_op ::= NK_NE", + /* 529 */ "compare_op ::= NK_EQ", + /* 530 */ "compare_op ::= LIKE", + /* 531 */ "compare_op ::= NOT LIKE", + /* 532 */ "compare_op ::= MATCH", + /* 533 */ "compare_op ::= NMATCH", + /* 534 */ "compare_op ::= CONTAINS", + /* 535 */ "in_op ::= IN", + /* 536 */ "in_op ::= NOT IN", + /* 537 */ "in_predicate_value ::= NK_LP literal_list NK_RP", + /* 538 */ "boolean_value_expression ::= boolean_primary", + /* 539 */ "boolean_value_expression ::= NOT boolean_primary", + /* 540 */ "boolean_value_expression ::= boolean_value_expression OR boolean_value_expression", + /* 541 */ "boolean_value_expression ::= boolean_value_expression AND boolean_value_expression", + /* 542 */ "boolean_primary ::= predicate", + /* 543 */ "boolean_primary ::= NK_LP boolean_value_expression NK_RP", + /* 544 */ "common_expression ::= expr_or_subquery", + /* 545 */ "common_expression ::= boolean_value_expression", + /* 546 */ "from_clause_opt ::=", + /* 547 */ "from_clause_opt ::= FROM table_reference_list", + /* 548 */ "table_reference_list ::= table_reference", + /* 549 */ "table_reference_list ::= table_reference_list NK_COMMA table_reference", + /* 550 */ "table_reference ::= table_primary", + /* 551 */ "table_reference ::= joined_table", + /* 552 */ "table_primary ::= table_name alias_opt", + /* 553 */ "table_primary ::= db_name NK_DOT table_name alias_opt", + /* 554 */ "table_primary ::= subquery alias_opt", + /* 555 */ "table_primary ::= parenthesized_joined_table", + /* 556 */ "alias_opt ::=", + /* 557 */ "alias_opt ::= table_alias", + /* 558 */ "alias_opt ::= AS table_alias", + /* 559 */ "parenthesized_joined_table ::= NK_LP joined_table NK_RP", + /* 560 */ "parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP", + /* 561 */ "joined_table ::= table_reference join_type JOIN table_reference ON search_condition", + /* 562 */ "join_type ::=", + /* 563 */ "join_type ::= INNER", + /* 564 */ "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", + /* 565 */ "hint_list ::=", + /* 566 */ "hint_list ::= NK_HINT", + /* 567 */ "tag_mode_opt ::=", + /* 568 */ "tag_mode_opt ::= TAGS", + /* 569 */ "set_quantifier_opt ::=", + /* 570 */ "set_quantifier_opt ::= DISTINCT", + /* 571 */ "set_quantifier_opt ::= ALL", + /* 572 */ "select_list ::= select_item", + /* 573 */ "select_list ::= select_list NK_COMMA select_item", + /* 574 */ "select_item ::= NK_STAR", + /* 575 */ "select_item ::= common_expression", + /* 576 */ "select_item ::= common_expression column_alias", + /* 577 */ "select_item ::= common_expression AS column_alias", + /* 578 */ "select_item ::= table_name NK_DOT NK_STAR", + /* 579 */ "where_clause_opt ::=", + /* 580 */ "where_clause_opt ::= WHERE search_condition", + /* 581 */ "partition_by_clause_opt ::=", + /* 582 */ "partition_by_clause_opt ::= PARTITION BY partition_list", + /* 583 */ "partition_list ::= partition_item", + /* 584 */ "partition_list ::= partition_list NK_COMMA partition_item", + /* 585 */ "partition_item ::= expr_or_subquery", + /* 586 */ "partition_item ::= expr_or_subquery column_alias", + /* 587 */ "partition_item ::= expr_or_subquery AS column_alias", + /* 588 */ "twindow_clause_opt ::=", + /* 589 */ "twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP", + /* 590 */ "twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP", + /* 591 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt", + /* 592 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt", + /* 593 */ "twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition", + /* 594 */ "twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP", + /* 595 */ "twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP", + /* 596 */ "sliding_opt ::=", + /* 597 */ "sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP", + /* 598 */ "interval_sliding_duration_literal ::= NK_VARIABLE", + /* 599 */ "interval_sliding_duration_literal ::= NK_STRING", + /* 600 */ "interval_sliding_duration_literal ::= NK_INTEGER", + /* 601 */ "fill_opt ::=", + /* 602 */ "fill_opt ::= FILL NK_LP fill_mode NK_RP", + /* 603 */ "fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP", + /* 604 */ "fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP", + /* 605 */ "fill_mode ::= NONE", + /* 606 */ "fill_mode ::= PREV", + /* 607 */ "fill_mode ::= NULL", + /* 608 */ "fill_mode ::= NULL_F", + /* 609 */ "fill_mode ::= LINEAR", + /* 610 */ "fill_mode ::= NEXT", + /* 611 */ "group_by_clause_opt ::=", + /* 612 */ "group_by_clause_opt ::= GROUP BY group_by_list", + /* 613 */ "group_by_list ::= expr_or_subquery", + /* 614 */ "group_by_list ::= group_by_list NK_COMMA expr_or_subquery", + /* 615 */ "having_clause_opt ::=", + /* 616 */ "having_clause_opt ::= HAVING search_condition", + /* 617 */ "range_opt ::=", + /* 618 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP", + /* 619 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_RP", + /* 620 */ "every_opt ::=", + /* 621 */ "every_opt ::= EVERY NK_LP duration_literal NK_RP", + /* 622 */ "query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt", + /* 623 */ "query_simple ::= query_specification", + /* 624 */ "query_simple ::= union_query_expression", + /* 625 */ "union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery", + /* 626 */ "union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery", + /* 627 */ "query_simple_or_subquery ::= query_simple", + /* 628 */ "query_simple_or_subquery ::= subquery", + /* 629 */ "query_or_subquery ::= query_expression", + /* 630 */ "query_or_subquery ::= subquery", + /* 631 */ "order_by_clause_opt ::=", + /* 632 */ "order_by_clause_opt ::= ORDER BY sort_specification_list", + /* 633 */ "slimit_clause_opt ::=", + /* 634 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER", + /* 635 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER", + /* 636 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER", + /* 637 */ "limit_clause_opt ::=", + /* 638 */ "limit_clause_opt ::= LIMIT NK_INTEGER", + /* 639 */ "limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER", + /* 640 */ "limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER", + /* 641 */ "subquery ::= NK_LP query_expression NK_RP", + /* 642 */ "subquery ::= NK_LP subquery NK_RP", + /* 643 */ "search_condition ::= common_expression", + /* 644 */ "sort_specification_list ::= sort_specification", + /* 645 */ "sort_specification_list ::= sort_specification_list NK_COMMA sort_specification", + /* 646 */ "sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt", + /* 647 */ "ordering_specification_opt ::=", + /* 648 */ "ordering_specification_opt ::= ASC", + /* 649 */ "ordering_specification_opt ::= DESC", + /* 650 */ "null_ordering_opt ::=", + /* 651 */ "null_ordering_opt ::= NULLS FIRST", + /* 652 */ "null_ordering_opt ::= NULLS LAST", + /* 653 */ "column_options ::=", + /* 654 */ "column_options ::= column_options ENCODE NK_STRING", + /* 655 */ "column_options ::= column_options COMPRESS NK_STRING", + /* 656 */ "column_options ::= column_options LEVEL NK_STRING", }; #endif /* NDEBUG */ @@ -3168,233 +3163,270 @@ static void yy_destructor( */ /********* Begin destructor definitions ***************************************/ /* Default NON-TERMINAL Destructor */ - case 351: /* cmd */ - case 354: /* literal */ - case 363: /* with_opt */ - case 369: /* search_condition */ - case 374: /* db_options */ - case 376: /* alter_db_options */ - case 378: /* start_opt */ - case 379: /* end_opt */ - case 383: /* signed */ - case 385: /* retention */ - case 386: /* full_table_name */ - case 389: /* table_options */ - case 393: /* alter_table_clause */ - case 394: /* alter_table_options */ - case 397: /* signed_literal */ - case 398: /* create_subtable_clause */ - case 401: /* drop_table_clause */ - case 403: /* column_def */ - case 407: /* duration_literal */ - case 408: /* rollup_func_name */ - case 410: /* col_name */ - case 413: /* like_pattern_opt */ - case 414: /* db_name_cond_opt */ - case 415: /* table_name_cond */ - case 416: /* from_db_opt */ - case 419: /* tag_item */ - case 421: /* index_options */ - case 422: /* full_index_name */ - case 425: /* sliding_opt */ - case 426: /* sma_stream_opt */ - case 427: /* func */ - case 430: /* query_or_subquery */ - case 431: /* where_clause_opt */ - case 434: /* explain_options */ - case 435: /* insert_query */ - case 440: /* full_view_name */ - case 443: /* stream_options */ - case 446: /* subtable_opt */ - case 448: /* expression */ - case 451: /* literal_func */ - case 454: /* expr_or_subquery */ - case 455: /* pseudo_column */ - case 456: /* column_reference */ - case 457: /* function_expression */ - case 458: /* case_when_expression */ - case 463: /* star_func_para */ - case 465: /* case_when_else_opt */ - case 466: /* common_expression */ - case 467: /* when_then_expr */ - case 468: /* predicate */ - case 471: /* in_predicate_value */ - case 472: /* boolean_value_expression */ - case 473: /* boolean_primary */ - case 474: /* from_clause_opt */ - case 475: /* table_reference_list */ - case 476: /* table_reference */ - case 477: /* table_primary */ - case 478: /* joined_table */ - case 480: /* subquery */ - case 481: /* parenthesized_joined_table */ - case 483: /* query_specification */ - case 489: /* range_opt */ - case 490: /* every_opt */ - case 491: /* fill_opt */ - case 492: /* twindow_clause_opt */ - case 494: /* having_clause_opt */ - case 495: /* select_item */ - case 497: /* partition_item */ - case 498: /* interval_sliding_duration_literal */ - case 501: /* query_expression */ - case 502: /* query_simple */ - case 504: /* slimit_clause_opt */ - case 505: /* limit_clause_opt */ - case 506: /* union_query_expression */ - case 507: /* query_simple_or_subquery */ - case 509: /* sort_specification */ + case 354: /* cmd */ + case 357: /* literal */ + case 366: /* with_opt */ + case 372: /* search_condition */ + case 377: /* db_options */ + case 379: /* alter_db_options */ + case 381: /* start_opt */ + case 382: /* end_opt */ + case 386: /* signed */ + case 388: /* retention */ + case 389: /* full_table_name */ + case 392: /* table_options */ + case 396: /* alter_table_clause */ + case 397: /* alter_table_options */ + case 400: /* column_options */ + case 401: /* signed_literal */ + case 402: /* create_subtable_clause */ + case 405: /* drop_table_clause */ + case 408: /* tag_def */ + case 409: /* column_def */ + case 413: /* duration_literal */ + case 414: /* rollup_func_name */ + case 416: /* col_name */ + case 419: /* like_pattern_opt */ + case 420: /* db_name_cond_opt */ + case 421: /* table_name_cond */ + case 422: /* from_db_opt */ + case 425: /* tag_item */ + case 427: /* index_options */ + case 428: /* full_index_name */ + case 431: /* sliding_opt */ + case 432: /* sma_stream_opt */ + case 433: /* func */ + case 436: /* query_or_subquery */ + case 437: /* where_clause_opt */ + case 440: /* explain_options */ + case 441: /* insert_query */ + case 446: /* full_view_name */ + case 449: /* stream_options */ + case 452: /* subtable_opt */ + case 454: /* expression */ + case 457: /* literal_func */ + case 460: /* expr_or_subquery */ + case 461: /* pseudo_column */ + case 462: /* column_reference */ + case 463: /* function_expression */ + case 464: /* case_when_expression */ + case 469: /* star_func_para */ + case 471: /* case_when_else_opt */ + case 472: /* common_expression */ + case 473: /* when_then_expr */ + case 474: /* predicate */ + case 477: /* in_predicate_value */ + case 478: /* boolean_value_expression */ + case 479: /* boolean_primary */ + case 480: /* from_clause_opt */ + case 481: /* table_reference_list */ + case 482: /* table_reference */ + case 483: /* table_primary */ + case 484: /* joined_table */ + case 486: /* subquery */ + case 487: /* parenthesized_joined_table */ + case 489: /* query_specification */ + case 495: /* range_opt */ + case 496: /* every_opt */ + case 497: /* fill_opt */ + case 498: /* twindow_clause_opt */ + case 500: /* having_clause_opt */ + case 501: /* select_item */ + case 503: /* partition_item */ + case 504: /* interval_sliding_duration_literal */ + case 507: /* query_expression */ + case 508: /* query_simple */ + case 510: /* slimit_clause_opt */ + case 511: /* limit_clause_opt */ + case 512: /* union_query_expression */ + case 513: /* query_simple_or_subquery */ + case 515: /* sort_specification */ { - nodesDestroyNode((yypminor->yy360)); +#line 7 "sql.y" + nodesDestroyNode((yypminor->yy896)); +#line 3247 "sql.c" } break; - case 352: /* account_options */ - case 353: /* alter_account_options */ - case 355: /* alter_account_option */ - case 377: /* speed_opt */ - case 429: /* with_meta */ - case 438: /* bufsize_opt */ + case 355: /* account_options */ + case 356: /* alter_account_options */ + case 358: /* alter_account_option */ + case 380: /* speed_opt */ + case 435: /* with_meta */ + case 444: /* bufsize_opt */ { +#line 54 "sql.y" +#line 3259 "sql.c" } break; - case 356: /* ip_range_list */ - case 357: /* white_list */ - case 358: /* white_list_opt */ - case 380: /* integer_list */ - case 381: /* variable_list */ - case 382: /* retention_list */ - case 387: /* column_def_list */ - case 388: /* tags_def_opt */ - case 390: /* multi_create_clause */ - case 391: /* tags_def */ - case 392: /* multi_drop_clause */ - case 399: /* specific_cols_opt */ - case 400: /* expression_list */ - case 402: /* col_name_list */ - case 404: /* duration_list */ - case 405: /* rollup_func_list */ - case 417: /* tag_list_opt */ - case 424: /* func_list */ - case 444: /* col_list_opt */ - case 445: /* tag_def_or_ref_opt */ - case 450: /* dnode_list */ - case 452: /* literal_list */ - case 460: /* star_func_para_list */ - case 462: /* other_para_list */ - case 464: /* when_then_list */ - case 484: /* hint_list */ - case 487: /* select_list */ - case 488: /* partition_by_clause_opt */ - case 493: /* group_by_clause_opt */ - case 496: /* partition_list */ - case 500: /* group_by_list */ - case 503: /* order_by_clause_opt */ - case 508: /* sort_specification_list */ + case 359: /* ip_range_list */ + case 360: /* white_list */ + case 361: /* white_list_opt */ + case 383: /* integer_list */ + case 384: /* variable_list */ + case 385: /* retention_list */ + case 390: /* column_def_list */ + case 391: /* tags_def_opt */ + case 393: /* multi_create_clause */ + case 394: /* tags_def */ + case 395: /* multi_drop_clause */ + case 403: /* specific_cols_opt */ + case 404: /* expression_list */ + case 406: /* col_name_list */ + case 407: /* tag_def_list */ + case 410: /* duration_list */ + case 411: /* rollup_func_list */ + case 423: /* tag_list_opt */ + case 430: /* func_list */ + case 450: /* col_list_opt */ + case 451: /* tag_def_or_ref_opt */ + case 456: /* dnode_list */ + case 458: /* literal_list */ + case 466: /* star_func_para_list */ + case 468: /* other_para_list */ + case 470: /* when_then_list */ + case 490: /* hint_list */ + case 493: /* select_list */ + case 494: /* partition_by_clause_opt */ + case 499: /* group_by_clause_opt */ + case 502: /* partition_list */ + case 506: /* group_by_list */ + case 509: /* order_by_clause_opt */ + case 514: /* sort_specification_list */ { - nodesDestroyList((yypminor->yy536)); +#line 85 "sql.y" + nodesDestroyList((yypminor->yy404)); +#line 3299 "sql.c" } break; - case 359: /* user_name */ - case 366: /* db_name */ - case 367: /* table_name */ - case 368: /* topic_name */ - case 370: /* dnode_endpoint */ - case 395: /* column_name */ - case 409: /* function_name */ - case 420: /* column_alias */ - case 423: /* index_name */ - case 428: /* sma_func_name */ - case 432: /* cgroup_name */ - case 439: /* language_opt */ - case 441: /* view_name */ - case 442: /* stream_name */ - case 449: /* on_vgroup_id */ - case 453: /* table_alias */ - case 459: /* star_func */ - case 461: /* noarg_func */ - case 479: /* alias_opt */ + case 362: /* user_name */ + case 369: /* db_name */ + case 370: /* table_name */ + case 371: /* topic_name */ + case 373: /* dnode_endpoint */ + case 398: /* column_name */ + case 415: /* function_name */ + case 426: /* column_alias */ + case 429: /* index_name */ + case 434: /* sma_func_name */ + case 438: /* cgroup_name */ + case 445: /* language_opt */ + case 447: /* view_name */ + case 448: /* stream_name */ + case 455: /* on_vgroup_id */ + case 459: /* table_alias */ + case 465: /* star_func */ + case 467: /* noarg_func */ + case 485: /* alias_opt */ { +#line 827 "sql.y" +#line 3324 "sql.c" } break; - case 360: /* sysinfo_opt */ + case 363: /* sysinfo_opt */ { +#line 112 "sql.y" +#line 3331 "sql.c" } break; - case 361: /* privileges */ - case 364: /* priv_type_list */ - case 365: /* priv_type */ + case 364: /* privileges */ + case 367: /* priv_type_list */ + case 368: /* priv_type */ { +#line 121 "sql.y" +#line 3340 "sql.c" } break; - case 362: /* priv_level */ + case 365: /* priv_level */ { +#line 138 "sql.y" +#line 3347 "sql.c" } break; - case 371: /* force_opt */ - case 372: /* unsafe_opt */ - case 373: /* not_exists_opt */ - case 375: /* exists_opt */ - case 433: /* analyze_opt */ - case 436: /* or_replace_opt */ - case 437: /* agg_func_opt */ - case 447: /* ignore_opt */ - case 485: /* set_quantifier_opt */ - case 486: /* tag_mode_opt */ + case 374: /* force_opt */ + case 375: /* unsafe_opt */ + case 376: /* not_exists_opt */ + case 378: /* exists_opt */ + case 439: /* analyze_opt */ + case 442: /* or_replace_opt */ + case 443: /* agg_func_opt */ + case 453: /* ignore_opt */ + case 491: /* set_quantifier_opt */ + case 492: /* tag_mode_opt */ { +#line 167 "sql.y" +#line 3363 "sql.c" } break; - case 384: /* alter_db_option */ - case 406: /* alter_table_option */ + case 387: /* alter_db_option */ + case 412: /* alter_table_option */ { +#line 269 "sql.y" +#line 3371 "sql.c" } break; - case 396: /* type_name */ + case 399: /* type_name */ { +#line 400 "sql.y" +#line 3378 "sql.c" } break; - case 411: /* db_kind_opt */ - case 418: /* table_kind */ + case 417: /* db_kind_opt */ + case 424: /* table_kind */ { +#line 568 "sql.y" +#line 3386 "sql.c" } break; - case 412: /* table_kind_db_name_cond_opt */ + case 418: /* table_kind_db_name_cond_opt */ { +#line 533 "sql.y" +#line 3393 "sql.c" } break; - case 469: /* compare_op */ - case 470: /* in_op */ + case 475: /* compare_op */ + case 476: /* in_op */ { +#line 1017 "sql.y" +#line 3401 "sql.c" } break; - case 482: /* join_type */ + case 488: /* join_type */ { +#line 1093 "sql.y" +#line 3408 "sql.c" } break; - case 499: /* fill_mode */ + case 505: /* fill_mode */ { +#line 1188 "sql.y" +#line 3415 "sql.c" } break; - case 510: /* ordering_specification_opt */ + case 516: /* ordering_specification_opt */ { +#line 1273 "sql.y" +#line 3422 "sql.c" } break; - case 511: /* null_ordering_opt */ + case 517: /* null_ordering_opt */ { +#line 1279 "sql.y" +#line 3429 "sql.c" } break; /********* End destructor definitions *****************************************/ @@ -3683,655 +3715,663 @@ static void yy_shift( /* For rule J, yyRuleInfoLhs[J] contains the symbol on the left-hand side ** of that rule */ static const YYCODETYPE yyRuleInfoLhs[] = { - 351, /* (0) cmd ::= CREATE ACCOUNT NK_ID PASS NK_STRING account_options */ - 351, /* (1) cmd ::= ALTER ACCOUNT NK_ID alter_account_options */ - 352, /* (2) account_options ::= */ - 352, /* (3) account_options ::= account_options PPS literal */ - 352, /* (4) account_options ::= account_options TSERIES literal */ - 352, /* (5) account_options ::= account_options STORAGE literal */ - 352, /* (6) account_options ::= account_options STREAMS literal */ - 352, /* (7) account_options ::= account_options QTIME literal */ - 352, /* (8) account_options ::= account_options DBS literal */ - 352, /* (9) account_options ::= account_options USERS literal */ - 352, /* (10) account_options ::= account_options CONNS literal */ - 352, /* (11) account_options ::= account_options STATE literal */ - 353, /* (12) alter_account_options ::= alter_account_option */ - 353, /* (13) alter_account_options ::= alter_account_options alter_account_option */ - 355, /* (14) alter_account_option ::= PASS literal */ - 355, /* (15) alter_account_option ::= PPS literal */ - 355, /* (16) alter_account_option ::= TSERIES literal */ - 355, /* (17) alter_account_option ::= STORAGE literal */ - 355, /* (18) alter_account_option ::= STREAMS literal */ - 355, /* (19) alter_account_option ::= QTIME literal */ - 355, /* (20) alter_account_option ::= DBS literal */ - 355, /* (21) alter_account_option ::= USERS literal */ - 355, /* (22) alter_account_option ::= CONNS literal */ - 355, /* (23) alter_account_option ::= STATE literal */ - 356, /* (24) ip_range_list ::= NK_STRING */ - 356, /* (25) ip_range_list ::= ip_range_list NK_COMMA NK_STRING */ - 357, /* (26) white_list ::= HOST ip_range_list */ - 358, /* (27) white_list_opt ::= */ - 358, /* (28) white_list_opt ::= white_list */ - 351, /* (29) cmd ::= CREATE USER user_name PASS NK_STRING sysinfo_opt white_list_opt */ - 351, /* (30) cmd ::= ALTER USER user_name PASS NK_STRING */ - 351, /* (31) cmd ::= ALTER USER user_name ENABLE NK_INTEGER */ - 351, /* (32) cmd ::= ALTER USER user_name SYSINFO NK_INTEGER */ - 351, /* (33) cmd ::= ALTER USER user_name ADD white_list */ - 351, /* (34) cmd ::= ALTER USER user_name DROP white_list */ - 351, /* (35) cmd ::= DROP USER user_name */ - 360, /* (36) sysinfo_opt ::= */ - 360, /* (37) sysinfo_opt ::= SYSINFO NK_INTEGER */ - 351, /* (38) cmd ::= GRANT privileges ON priv_level with_opt TO user_name */ - 351, /* (39) cmd ::= REVOKE privileges ON priv_level with_opt FROM user_name */ - 361, /* (40) privileges ::= ALL */ - 361, /* (41) privileges ::= priv_type_list */ - 361, /* (42) privileges ::= SUBSCRIBE */ - 364, /* (43) priv_type_list ::= priv_type */ - 364, /* (44) priv_type_list ::= priv_type_list NK_COMMA priv_type */ - 365, /* (45) priv_type ::= READ */ - 365, /* (46) priv_type ::= WRITE */ - 365, /* (47) priv_type ::= ALTER */ - 362, /* (48) priv_level ::= NK_STAR NK_DOT NK_STAR */ - 362, /* (49) priv_level ::= db_name NK_DOT NK_STAR */ - 362, /* (50) priv_level ::= db_name NK_DOT table_name */ - 362, /* (51) priv_level ::= topic_name */ - 363, /* (52) with_opt ::= */ - 363, /* (53) with_opt ::= WITH search_condition */ - 351, /* (54) cmd ::= CREATE DNODE dnode_endpoint */ - 351, /* (55) cmd ::= CREATE DNODE dnode_endpoint PORT NK_INTEGER */ - 351, /* (56) cmd ::= DROP DNODE NK_INTEGER force_opt */ - 351, /* (57) cmd ::= DROP DNODE dnode_endpoint force_opt */ - 351, /* (58) cmd ::= DROP DNODE NK_INTEGER unsafe_opt */ - 351, /* (59) cmd ::= DROP DNODE dnode_endpoint unsafe_opt */ - 351, /* (60) cmd ::= ALTER DNODE NK_INTEGER NK_STRING */ - 351, /* (61) cmd ::= ALTER DNODE NK_INTEGER NK_STRING NK_STRING */ - 351, /* (62) cmd ::= ALTER ALL DNODES NK_STRING */ - 351, /* (63) cmd ::= ALTER ALL DNODES NK_STRING NK_STRING */ - 351, /* (64) cmd ::= RESTORE DNODE NK_INTEGER */ - 370, /* (65) dnode_endpoint ::= NK_STRING */ - 370, /* (66) dnode_endpoint ::= NK_ID */ - 370, /* (67) dnode_endpoint ::= NK_IPTOKEN */ - 371, /* (68) force_opt ::= */ - 371, /* (69) force_opt ::= FORCE */ - 372, /* (70) unsafe_opt ::= UNSAFE */ - 351, /* (71) cmd ::= ALTER CLUSTER NK_STRING */ - 351, /* (72) cmd ::= ALTER CLUSTER NK_STRING NK_STRING */ - 351, /* (73) cmd ::= ALTER LOCAL NK_STRING */ - 351, /* (74) cmd ::= ALTER LOCAL NK_STRING NK_STRING */ - 351, /* (75) cmd ::= CREATE QNODE ON DNODE NK_INTEGER */ - 351, /* (76) cmd ::= DROP QNODE ON DNODE NK_INTEGER */ - 351, /* (77) cmd ::= RESTORE QNODE ON DNODE NK_INTEGER */ - 351, /* (78) cmd ::= CREATE BNODE ON DNODE NK_INTEGER */ - 351, /* (79) cmd ::= DROP BNODE ON DNODE NK_INTEGER */ - 351, /* (80) cmd ::= CREATE SNODE ON DNODE NK_INTEGER */ - 351, /* (81) cmd ::= DROP SNODE ON DNODE NK_INTEGER */ - 351, /* (82) cmd ::= CREATE MNODE ON DNODE NK_INTEGER */ - 351, /* (83) cmd ::= DROP MNODE ON DNODE NK_INTEGER */ - 351, /* (84) cmd ::= RESTORE MNODE ON DNODE NK_INTEGER */ - 351, /* (85) cmd ::= RESTORE VNODE ON DNODE NK_INTEGER */ - 351, /* (86) cmd ::= CREATE DATABASE not_exists_opt db_name db_options */ - 351, /* (87) cmd ::= DROP DATABASE exists_opt db_name */ - 351, /* (88) cmd ::= USE db_name */ - 351, /* (89) cmd ::= ALTER DATABASE db_name alter_db_options */ - 351, /* (90) cmd ::= FLUSH DATABASE db_name */ - 351, /* (91) cmd ::= TRIM DATABASE db_name speed_opt */ - 351, /* (92) cmd ::= COMPACT DATABASE db_name start_opt end_opt */ - 373, /* (93) not_exists_opt ::= IF NOT EXISTS */ - 373, /* (94) not_exists_opt ::= */ - 375, /* (95) exists_opt ::= IF EXISTS */ - 375, /* (96) exists_opt ::= */ - 374, /* (97) db_options ::= */ - 374, /* (98) db_options ::= db_options BUFFER NK_INTEGER */ - 374, /* (99) db_options ::= db_options CACHEMODEL NK_STRING */ - 374, /* (100) db_options ::= db_options CACHESIZE NK_INTEGER */ - 374, /* (101) db_options ::= db_options COMP NK_INTEGER */ - 374, /* (102) db_options ::= db_options DURATION NK_INTEGER */ - 374, /* (103) db_options ::= db_options DURATION NK_VARIABLE */ - 374, /* (104) db_options ::= db_options MAXROWS NK_INTEGER */ - 374, /* (105) db_options ::= db_options MINROWS NK_INTEGER */ - 374, /* (106) db_options ::= db_options KEEP integer_list */ - 374, /* (107) db_options ::= db_options KEEP variable_list */ - 374, /* (108) db_options ::= db_options PAGES NK_INTEGER */ - 374, /* (109) db_options ::= db_options PAGESIZE NK_INTEGER */ - 374, /* (110) db_options ::= db_options TSDB_PAGESIZE NK_INTEGER */ - 374, /* (111) db_options ::= db_options PRECISION NK_STRING */ - 374, /* (112) db_options ::= db_options REPLICA NK_INTEGER */ - 374, /* (113) db_options ::= db_options VGROUPS NK_INTEGER */ - 374, /* (114) db_options ::= db_options SINGLE_STABLE NK_INTEGER */ - 374, /* (115) db_options ::= db_options RETENTIONS retention_list */ - 374, /* (116) db_options ::= db_options SCHEMALESS NK_INTEGER */ - 374, /* (117) db_options ::= db_options WAL_LEVEL NK_INTEGER */ - 374, /* (118) db_options ::= db_options WAL_FSYNC_PERIOD NK_INTEGER */ - 374, /* (119) db_options ::= db_options WAL_RETENTION_PERIOD NK_INTEGER */ - 374, /* (120) db_options ::= db_options WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ - 374, /* (121) db_options ::= db_options WAL_RETENTION_SIZE NK_INTEGER */ - 374, /* (122) db_options ::= db_options WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ - 374, /* (123) db_options ::= db_options WAL_ROLL_PERIOD NK_INTEGER */ - 374, /* (124) db_options ::= db_options WAL_SEGMENT_SIZE NK_INTEGER */ - 374, /* (125) db_options ::= db_options STT_TRIGGER NK_INTEGER */ - 374, /* (126) db_options ::= db_options TABLE_PREFIX signed */ - 374, /* (127) db_options ::= db_options TABLE_SUFFIX signed */ - 374, /* (128) db_options ::= db_options KEEP_TIME_OFFSET NK_INTEGER */ - 376, /* (129) alter_db_options ::= alter_db_option */ - 376, /* (130) alter_db_options ::= alter_db_options alter_db_option */ - 384, /* (131) alter_db_option ::= BUFFER NK_INTEGER */ - 384, /* (132) alter_db_option ::= CACHEMODEL NK_STRING */ - 384, /* (133) alter_db_option ::= CACHESIZE NK_INTEGER */ - 384, /* (134) alter_db_option ::= WAL_FSYNC_PERIOD NK_INTEGER */ - 384, /* (135) alter_db_option ::= KEEP integer_list */ - 384, /* (136) alter_db_option ::= KEEP variable_list */ - 384, /* (137) alter_db_option ::= PAGES NK_INTEGER */ - 384, /* (138) alter_db_option ::= REPLICA NK_INTEGER */ - 384, /* (139) alter_db_option ::= WAL_LEVEL NK_INTEGER */ - 384, /* (140) alter_db_option ::= STT_TRIGGER NK_INTEGER */ - 384, /* (141) alter_db_option ::= MINROWS NK_INTEGER */ - 384, /* (142) alter_db_option ::= WAL_RETENTION_PERIOD NK_INTEGER */ - 384, /* (143) alter_db_option ::= WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ - 384, /* (144) alter_db_option ::= WAL_RETENTION_SIZE NK_INTEGER */ - 384, /* (145) alter_db_option ::= WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ - 384, /* (146) alter_db_option ::= KEEP_TIME_OFFSET NK_INTEGER */ - 380, /* (147) integer_list ::= NK_INTEGER */ - 380, /* (148) integer_list ::= integer_list NK_COMMA NK_INTEGER */ - 381, /* (149) variable_list ::= NK_VARIABLE */ - 381, /* (150) variable_list ::= variable_list NK_COMMA NK_VARIABLE */ - 382, /* (151) retention_list ::= retention */ - 382, /* (152) retention_list ::= retention_list NK_COMMA retention */ - 385, /* (153) retention ::= NK_VARIABLE NK_COLON NK_VARIABLE */ - 385, /* (154) retention ::= NK_MINUS NK_COLON NK_VARIABLE */ - 377, /* (155) speed_opt ::= */ - 377, /* (156) speed_opt ::= BWLIMIT NK_INTEGER */ - 378, /* (157) start_opt ::= */ - 378, /* (158) start_opt ::= START WITH NK_INTEGER */ - 378, /* (159) start_opt ::= START WITH NK_STRING */ - 378, /* (160) start_opt ::= START WITH TIMESTAMP NK_STRING */ - 379, /* (161) end_opt ::= */ - 379, /* (162) end_opt ::= END WITH NK_INTEGER */ - 379, /* (163) end_opt ::= END WITH NK_STRING */ - 379, /* (164) end_opt ::= END WITH TIMESTAMP NK_STRING */ - 351, /* (165) cmd ::= CREATE TABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def_opt table_options */ - 351, /* (166) cmd ::= CREATE TABLE multi_create_clause */ - 351, /* (167) cmd ::= CREATE STABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def table_options */ - 351, /* (168) cmd ::= DROP TABLE multi_drop_clause */ - 351, /* (169) cmd ::= DROP STABLE exists_opt full_table_name */ - 351, /* (170) cmd ::= ALTER TABLE alter_table_clause */ - 351, /* (171) cmd ::= ALTER STABLE alter_table_clause */ - 393, /* (172) alter_table_clause ::= full_table_name alter_table_options */ - 393, /* (173) alter_table_clause ::= full_table_name ADD COLUMN column_name type_name */ - 393, /* (174) alter_table_clause ::= full_table_name DROP COLUMN column_name */ - 393, /* (175) alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */ - 393, /* (176) alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */ - 393, /* (177) alter_table_clause ::= full_table_name ADD TAG column_name type_name */ - 393, /* (178) alter_table_clause ::= full_table_name DROP TAG column_name */ - 393, /* (179) alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */ - 393, /* (180) alter_table_clause ::= full_table_name RENAME TAG column_name column_name */ - 393, /* (181) alter_table_clause ::= full_table_name SET TAG column_name NK_EQ signed_literal */ - 390, /* (182) multi_create_clause ::= create_subtable_clause */ - 390, /* (183) multi_create_clause ::= multi_create_clause create_subtable_clause */ - 398, /* (184) create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_cols_opt TAGS NK_LP expression_list NK_RP table_options */ - 392, /* (185) multi_drop_clause ::= drop_table_clause */ - 392, /* (186) multi_drop_clause ::= multi_drop_clause NK_COMMA drop_table_clause */ - 401, /* (187) drop_table_clause ::= exists_opt full_table_name */ - 399, /* (188) specific_cols_opt ::= */ - 399, /* (189) specific_cols_opt ::= NK_LP col_name_list NK_RP */ - 386, /* (190) full_table_name ::= table_name */ - 386, /* (191) full_table_name ::= db_name NK_DOT table_name */ - 387, /* (192) column_def_list ::= column_def */ - 387, /* (193) column_def_list ::= column_def_list NK_COMMA column_def */ - 403, /* (194) column_def ::= column_name type_name */ - 396, /* (195) type_name ::= BOOL */ - 396, /* (196) type_name ::= TINYINT */ - 396, /* (197) type_name ::= SMALLINT */ - 396, /* (198) type_name ::= INT */ - 396, /* (199) type_name ::= INTEGER */ - 396, /* (200) type_name ::= BIGINT */ - 396, /* (201) type_name ::= FLOAT */ - 396, /* (202) type_name ::= DOUBLE */ - 396, /* (203) type_name ::= BINARY NK_LP NK_INTEGER NK_RP */ - 396, /* (204) type_name ::= TIMESTAMP */ - 396, /* (205) type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */ - 396, /* (206) type_name ::= TINYINT UNSIGNED */ - 396, /* (207) type_name ::= SMALLINT UNSIGNED */ - 396, /* (208) type_name ::= INT UNSIGNED */ - 396, /* (209) type_name ::= BIGINT UNSIGNED */ - 396, /* (210) type_name ::= JSON */ - 396, /* (211) type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */ - 396, /* (212) type_name ::= MEDIUMBLOB */ - 396, /* (213) type_name ::= BLOB */ - 396, /* (214) type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */ - 396, /* (215) type_name ::= GEOMETRY NK_LP NK_INTEGER NK_RP */ - 396, /* (216) type_name ::= DECIMAL */ - 396, /* (217) type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */ - 396, /* (218) type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ - 388, /* (219) tags_def_opt ::= */ - 388, /* (220) tags_def_opt ::= tags_def */ - 391, /* (221) tags_def ::= TAGS NK_LP column_def_list NK_RP */ - 389, /* (222) table_options ::= */ - 389, /* (223) table_options ::= table_options COMMENT NK_STRING */ - 389, /* (224) table_options ::= table_options MAX_DELAY duration_list */ - 389, /* (225) table_options ::= table_options WATERMARK duration_list */ - 389, /* (226) table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ - 389, /* (227) table_options ::= table_options TTL NK_INTEGER */ - 389, /* (228) table_options ::= table_options SMA NK_LP col_name_list NK_RP */ - 389, /* (229) table_options ::= table_options DELETE_MARK duration_list */ - 394, /* (230) alter_table_options ::= alter_table_option */ - 394, /* (231) alter_table_options ::= alter_table_options alter_table_option */ - 406, /* (232) alter_table_option ::= COMMENT NK_STRING */ - 406, /* (233) alter_table_option ::= TTL NK_INTEGER */ - 404, /* (234) duration_list ::= duration_literal */ - 404, /* (235) duration_list ::= duration_list NK_COMMA duration_literal */ - 405, /* (236) rollup_func_list ::= rollup_func_name */ - 405, /* (237) rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ - 408, /* (238) rollup_func_name ::= function_name */ - 408, /* (239) rollup_func_name ::= FIRST */ - 408, /* (240) rollup_func_name ::= LAST */ - 402, /* (241) col_name_list ::= col_name */ - 402, /* (242) col_name_list ::= col_name_list NK_COMMA col_name */ - 410, /* (243) col_name ::= column_name */ - 351, /* (244) cmd ::= SHOW DNODES */ - 351, /* (245) cmd ::= SHOW USERS */ - 351, /* (246) cmd ::= SHOW USER PRIVILEGES */ - 351, /* (247) cmd ::= SHOW db_kind_opt DATABASES */ - 351, /* (248) cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ - 351, /* (249) cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ - 351, /* (250) cmd ::= SHOW db_name_cond_opt VGROUPS */ - 351, /* (251) cmd ::= SHOW MNODES */ - 351, /* (252) cmd ::= SHOW QNODES */ - 351, /* (253) cmd ::= SHOW FUNCTIONS */ - 351, /* (254) cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ - 351, /* (255) cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ - 351, /* (256) cmd ::= SHOW STREAMS */ - 351, /* (257) cmd ::= SHOW ACCOUNTS */ - 351, /* (258) cmd ::= SHOW APPS */ - 351, /* (259) cmd ::= SHOW CONNECTIONS */ - 351, /* (260) cmd ::= SHOW LICENCES */ - 351, /* (261) cmd ::= SHOW GRANTS */ - 351, /* (262) cmd ::= SHOW GRANTS FULL */ - 351, /* (263) cmd ::= SHOW GRANTS LOGS */ - 351, /* (264) cmd ::= SHOW CLUSTER MACHINES */ - 351, /* (265) cmd ::= SHOW CREATE DATABASE db_name */ - 351, /* (266) cmd ::= SHOW CREATE TABLE full_table_name */ - 351, /* (267) cmd ::= SHOW CREATE STABLE full_table_name */ - 351, /* (268) cmd ::= SHOW QUERIES */ - 351, /* (269) cmd ::= SHOW SCORES */ - 351, /* (270) cmd ::= SHOW TOPICS */ - 351, /* (271) cmd ::= SHOW VARIABLES */ - 351, /* (272) cmd ::= SHOW CLUSTER VARIABLES */ - 351, /* (273) cmd ::= SHOW LOCAL VARIABLES */ - 351, /* (274) cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ - 351, /* (275) cmd ::= SHOW BNODES */ - 351, /* (276) cmd ::= SHOW SNODES */ - 351, /* (277) cmd ::= SHOW CLUSTER */ - 351, /* (278) cmd ::= SHOW TRANSACTIONS */ - 351, /* (279) cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ - 351, /* (280) cmd ::= SHOW CONSUMERS */ - 351, /* (281) cmd ::= SHOW SUBSCRIPTIONS */ - 351, /* (282) cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ - 351, /* (283) cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ - 351, /* (284) cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ - 351, /* (285) cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name */ - 351, /* (286) cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ - 351, /* (287) cmd ::= SHOW VNODES */ - 351, /* (288) cmd ::= SHOW db_name_cond_opt ALIVE */ - 351, /* (289) cmd ::= SHOW CLUSTER ALIVE */ - 351, /* (290) cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt */ - 351, /* (291) cmd ::= SHOW CREATE VIEW full_table_name */ - 351, /* (292) cmd ::= SHOW COMPACTS */ - 351, /* (293) cmd ::= SHOW COMPACT NK_INTEGER */ - 412, /* (294) table_kind_db_name_cond_opt ::= */ - 412, /* (295) table_kind_db_name_cond_opt ::= table_kind */ - 412, /* (296) table_kind_db_name_cond_opt ::= db_name NK_DOT */ - 412, /* (297) table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ - 418, /* (298) table_kind ::= NORMAL */ - 418, /* (299) table_kind ::= CHILD */ - 414, /* (300) db_name_cond_opt ::= */ - 414, /* (301) db_name_cond_opt ::= db_name NK_DOT */ - 413, /* (302) like_pattern_opt ::= */ - 413, /* (303) like_pattern_opt ::= LIKE NK_STRING */ - 415, /* (304) table_name_cond ::= table_name */ - 416, /* (305) from_db_opt ::= */ - 416, /* (306) from_db_opt ::= FROM db_name */ - 417, /* (307) tag_list_opt ::= */ - 417, /* (308) tag_list_opt ::= tag_item */ - 417, /* (309) tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ - 419, /* (310) tag_item ::= TBNAME */ - 419, /* (311) tag_item ::= QTAGS */ - 419, /* (312) tag_item ::= column_name */ - 419, /* (313) tag_item ::= column_name column_alias */ - 419, /* (314) tag_item ::= column_name AS column_alias */ - 411, /* (315) db_kind_opt ::= */ - 411, /* (316) db_kind_opt ::= USER */ - 411, /* (317) db_kind_opt ::= SYSTEM */ - 351, /* (318) cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options */ - 351, /* (319) cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP */ - 351, /* (320) cmd ::= DROP INDEX exists_opt full_index_name */ - 422, /* (321) full_index_name ::= index_name */ - 422, /* (322) full_index_name ::= db_name NK_DOT index_name */ - 421, /* (323) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ - 421, /* (324) 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 */ - 424, /* (325) func_list ::= func */ - 424, /* (326) func_list ::= func_list NK_COMMA func */ - 427, /* (327) func ::= sma_func_name NK_LP expression_list NK_RP */ - 428, /* (328) sma_func_name ::= function_name */ - 428, /* (329) sma_func_name ::= COUNT */ - 428, /* (330) sma_func_name ::= FIRST */ - 428, /* (331) sma_func_name ::= LAST */ - 428, /* (332) sma_func_name ::= LAST_ROW */ - 426, /* (333) sma_stream_opt ::= */ - 426, /* (334) sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ - 426, /* (335) sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ - 426, /* (336) sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ - 429, /* (337) with_meta ::= AS */ - 429, /* (338) with_meta ::= WITH META AS */ - 429, /* (339) with_meta ::= ONLY META AS */ - 351, /* (340) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ - 351, /* (341) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ - 351, /* (342) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ - 351, /* (343) cmd ::= DROP TOPIC exists_opt topic_name */ - 351, /* (344) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ - 351, /* (345) cmd ::= DESC full_table_name */ - 351, /* (346) cmd ::= DESCRIBE full_table_name */ - 351, /* (347) cmd ::= RESET QUERY CACHE */ - 351, /* (348) cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ - 351, /* (349) cmd ::= EXPLAIN analyze_opt explain_options insert_query */ - 433, /* (350) analyze_opt ::= */ - 433, /* (351) analyze_opt ::= ANALYZE */ - 434, /* (352) explain_options ::= */ - 434, /* (353) explain_options ::= explain_options VERBOSE NK_BOOL */ - 434, /* (354) explain_options ::= explain_options RATIO NK_FLOAT */ - 351, /* (355) cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt */ - 351, /* (356) cmd ::= DROP FUNCTION exists_opt function_name */ - 437, /* (357) agg_func_opt ::= */ - 437, /* (358) agg_func_opt ::= AGGREGATE */ - 438, /* (359) bufsize_opt ::= */ - 438, /* (360) bufsize_opt ::= BUFSIZE NK_INTEGER */ - 439, /* (361) language_opt ::= */ - 439, /* (362) language_opt ::= LANGUAGE NK_STRING */ - 436, /* (363) or_replace_opt ::= */ - 436, /* (364) or_replace_opt ::= OR REPLACE */ - 351, /* (365) cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ - 351, /* (366) cmd ::= DROP VIEW exists_opt full_view_name */ - 440, /* (367) full_view_name ::= view_name */ - 440, /* (368) full_view_name ::= db_name NK_DOT view_name */ - 351, /* (369) 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 */ - 351, /* (370) cmd ::= DROP STREAM exists_opt stream_name */ - 351, /* (371) cmd ::= PAUSE STREAM exists_opt stream_name */ - 351, /* (372) cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ - 444, /* (373) col_list_opt ::= */ - 444, /* (374) col_list_opt ::= NK_LP col_name_list NK_RP */ - 445, /* (375) tag_def_or_ref_opt ::= */ - 445, /* (376) tag_def_or_ref_opt ::= tags_def */ - 445, /* (377) tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ - 443, /* (378) stream_options ::= */ - 443, /* (379) stream_options ::= stream_options TRIGGER AT_ONCE */ - 443, /* (380) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ - 443, /* (381) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ - 443, /* (382) stream_options ::= stream_options WATERMARK duration_literal */ - 443, /* (383) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ - 443, /* (384) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ - 443, /* (385) stream_options ::= stream_options DELETE_MARK duration_literal */ - 443, /* (386) stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ - 446, /* (387) subtable_opt ::= */ - 446, /* (388) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ - 447, /* (389) ignore_opt ::= */ - 447, /* (390) ignore_opt ::= IGNORE UNTREATED */ - 351, /* (391) cmd ::= KILL CONNECTION NK_INTEGER */ - 351, /* (392) cmd ::= KILL QUERY NK_STRING */ - 351, /* (393) cmd ::= KILL TRANSACTION NK_INTEGER */ - 351, /* (394) cmd ::= KILL COMPACT NK_INTEGER */ - 351, /* (395) cmd ::= BALANCE VGROUP */ - 351, /* (396) cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ - 351, /* (397) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ - 351, /* (398) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ - 351, /* (399) cmd ::= SPLIT VGROUP NK_INTEGER */ - 449, /* (400) on_vgroup_id ::= */ - 449, /* (401) on_vgroup_id ::= ON NK_INTEGER */ - 450, /* (402) dnode_list ::= DNODE NK_INTEGER */ - 450, /* (403) dnode_list ::= dnode_list DNODE NK_INTEGER */ - 351, /* (404) cmd ::= DELETE FROM full_table_name where_clause_opt */ - 351, /* (405) cmd ::= query_or_subquery */ - 351, /* (406) cmd ::= insert_query */ - 435, /* (407) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ - 435, /* (408) insert_query ::= INSERT INTO full_table_name query_or_subquery */ - 354, /* (409) literal ::= NK_INTEGER */ - 354, /* (410) literal ::= NK_FLOAT */ - 354, /* (411) literal ::= NK_STRING */ - 354, /* (412) literal ::= NK_BOOL */ - 354, /* (413) literal ::= TIMESTAMP NK_STRING */ - 354, /* (414) literal ::= duration_literal */ - 354, /* (415) literal ::= NULL */ - 354, /* (416) literal ::= NK_QUESTION */ - 407, /* (417) duration_literal ::= NK_VARIABLE */ - 383, /* (418) signed ::= NK_INTEGER */ - 383, /* (419) signed ::= NK_PLUS NK_INTEGER */ - 383, /* (420) signed ::= NK_MINUS NK_INTEGER */ - 383, /* (421) signed ::= NK_FLOAT */ - 383, /* (422) signed ::= NK_PLUS NK_FLOAT */ - 383, /* (423) signed ::= NK_MINUS NK_FLOAT */ - 397, /* (424) signed_literal ::= signed */ - 397, /* (425) signed_literal ::= NK_STRING */ - 397, /* (426) signed_literal ::= NK_BOOL */ - 397, /* (427) signed_literal ::= TIMESTAMP NK_STRING */ - 397, /* (428) signed_literal ::= duration_literal */ - 397, /* (429) signed_literal ::= NULL */ - 397, /* (430) signed_literal ::= literal_func */ - 397, /* (431) signed_literal ::= NK_QUESTION */ - 452, /* (432) literal_list ::= signed_literal */ - 452, /* (433) literal_list ::= literal_list NK_COMMA signed_literal */ - 366, /* (434) db_name ::= NK_ID */ - 367, /* (435) table_name ::= NK_ID */ - 395, /* (436) column_name ::= NK_ID */ - 409, /* (437) function_name ::= NK_ID */ - 441, /* (438) view_name ::= NK_ID */ - 453, /* (439) table_alias ::= NK_ID */ - 420, /* (440) column_alias ::= NK_ID */ - 420, /* (441) column_alias ::= NK_ALIAS */ - 359, /* (442) user_name ::= NK_ID */ - 368, /* (443) topic_name ::= NK_ID */ - 442, /* (444) stream_name ::= NK_ID */ - 432, /* (445) cgroup_name ::= NK_ID */ - 423, /* (446) index_name ::= NK_ID */ - 454, /* (447) expr_or_subquery ::= expression */ - 448, /* (448) expression ::= literal */ - 448, /* (449) expression ::= pseudo_column */ - 448, /* (450) expression ::= column_reference */ - 448, /* (451) expression ::= function_expression */ - 448, /* (452) expression ::= case_when_expression */ - 448, /* (453) expression ::= NK_LP expression NK_RP */ - 448, /* (454) expression ::= NK_PLUS expr_or_subquery */ - 448, /* (455) expression ::= NK_MINUS expr_or_subquery */ - 448, /* (456) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ - 448, /* (457) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ - 448, /* (458) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ - 448, /* (459) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ - 448, /* (460) expression ::= expr_or_subquery NK_REM expr_or_subquery */ - 448, /* (461) expression ::= column_reference NK_ARROW NK_STRING */ - 448, /* (462) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ - 448, /* (463) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ - 400, /* (464) expression_list ::= expr_or_subquery */ - 400, /* (465) expression_list ::= expression_list NK_COMMA expr_or_subquery */ - 456, /* (466) column_reference ::= column_name */ - 456, /* (467) column_reference ::= table_name NK_DOT column_name */ - 456, /* (468) column_reference ::= NK_ALIAS */ - 456, /* (469) column_reference ::= table_name NK_DOT NK_ALIAS */ - 455, /* (470) pseudo_column ::= ROWTS */ - 455, /* (471) pseudo_column ::= TBNAME */ - 455, /* (472) pseudo_column ::= table_name NK_DOT TBNAME */ - 455, /* (473) pseudo_column ::= QSTART */ - 455, /* (474) pseudo_column ::= QEND */ - 455, /* (475) pseudo_column ::= QDURATION */ - 455, /* (476) pseudo_column ::= WSTART */ - 455, /* (477) pseudo_column ::= WEND */ - 455, /* (478) pseudo_column ::= WDURATION */ - 455, /* (479) pseudo_column ::= IROWTS */ - 455, /* (480) pseudo_column ::= ISFILLED */ - 455, /* (481) pseudo_column ::= QTAGS */ - 457, /* (482) function_expression ::= function_name NK_LP expression_list NK_RP */ - 457, /* (483) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ - 457, /* (484) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ - 457, /* (485) function_expression ::= literal_func */ - 451, /* (486) literal_func ::= noarg_func NK_LP NK_RP */ - 451, /* (487) literal_func ::= NOW */ - 461, /* (488) noarg_func ::= NOW */ - 461, /* (489) noarg_func ::= TODAY */ - 461, /* (490) noarg_func ::= TIMEZONE */ - 461, /* (491) noarg_func ::= DATABASE */ - 461, /* (492) noarg_func ::= CLIENT_VERSION */ - 461, /* (493) noarg_func ::= SERVER_VERSION */ - 461, /* (494) noarg_func ::= SERVER_STATUS */ - 461, /* (495) noarg_func ::= CURRENT_USER */ - 461, /* (496) noarg_func ::= USER */ - 459, /* (497) star_func ::= COUNT */ - 459, /* (498) star_func ::= FIRST */ - 459, /* (499) star_func ::= LAST */ - 459, /* (500) star_func ::= LAST_ROW */ - 460, /* (501) star_func_para_list ::= NK_STAR */ - 460, /* (502) star_func_para_list ::= other_para_list */ - 462, /* (503) other_para_list ::= star_func_para */ - 462, /* (504) other_para_list ::= other_para_list NK_COMMA star_func_para */ - 463, /* (505) star_func_para ::= expr_or_subquery */ - 463, /* (506) star_func_para ::= table_name NK_DOT NK_STAR */ - 458, /* (507) case_when_expression ::= CASE when_then_list case_when_else_opt END */ - 458, /* (508) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ - 464, /* (509) when_then_list ::= when_then_expr */ - 464, /* (510) when_then_list ::= when_then_list when_then_expr */ - 467, /* (511) when_then_expr ::= WHEN common_expression THEN common_expression */ - 465, /* (512) case_when_else_opt ::= */ - 465, /* (513) case_when_else_opt ::= ELSE common_expression */ - 468, /* (514) predicate ::= expr_or_subquery compare_op expr_or_subquery */ - 468, /* (515) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ - 468, /* (516) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ - 468, /* (517) predicate ::= expr_or_subquery IS NULL */ - 468, /* (518) predicate ::= expr_or_subquery IS NOT NULL */ - 468, /* (519) predicate ::= expr_or_subquery in_op in_predicate_value */ - 469, /* (520) compare_op ::= NK_LT */ - 469, /* (521) compare_op ::= NK_GT */ - 469, /* (522) compare_op ::= NK_LE */ - 469, /* (523) compare_op ::= NK_GE */ - 469, /* (524) compare_op ::= NK_NE */ - 469, /* (525) compare_op ::= NK_EQ */ - 469, /* (526) compare_op ::= LIKE */ - 469, /* (527) compare_op ::= NOT LIKE */ - 469, /* (528) compare_op ::= MATCH */ - 469, /* (529) compare_op ::= NMATCH */ - 469, /* (530) compare_op ::= CONTAINS */ - 470, /* (531) in_op ::= IN */ - 470, /* (532) in_op ::= NOT IN */ - 471, /* (533) in_predicate_value ::= NK_LP literal_list NK_RP */ - 472, /* (534) boolean_value_expression ::= boolean_primary */ - 472, /* (535) boolean_value_expression ::= NOT boolean_primary */ - 472, /* (536) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ - 472, /* (537) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ - 473, /* (538) boolean_primary ::= predicate */ - 473, /* (539) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ - 466, /* (540) common_expression ::= expr_or_subquery */ - 466, /* (541) common_expression ::= boolean_value_expression */ - 474, /* (542) from_clause_opt ::= */ - 474, /* (543) from_clause_opt ::= FROM table_reference_list */ - 475, /* (544) table_reference_list ::= table_reference */ - 475, /* (545) table_reference_list ::= table_reference_list NK_COMMA table_reference */ - 476, /* (546) table_reference ::= table_primary */ - 476, /* (547) table_reference ::= joined_table */ - 477, /* (548) table_primary ::= table_name alias_opt */ - 477, /* (549) table_primary ::= db_name NK_DOT table_name alias_opt */ - 477, /* (550) table_primary ::= subquery alias_opt */ - 477, /* (551) table_primary ::= parenthesized_joined_table */ - 479, /* (552) alias_opt ::= */ - 479, /* (553) alias_opt ::= table_alias */ - 479, /* (554) alias_opt ::= AS table_alias */ - 481, /* (555) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ - 481, /* (556) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ - 478, /* (557) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ - 482, /* (558) join_type ::= */ - 482, /* (559) join_type ::= INNER */ - 483, /* (560) 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 */ - 484, /* (561) hint_list ::= */ - 484, /* (562) hint_list ::= NK_HINT */ - 486, /* (563) tag_mode_opt ::= */ - 486, /* (564) tag_mode_opt ::= TAGS */ - 485, /* (565) set_quantifier_opt ::= */ - 485, /* (566) set_quantifier_opt ::= DISTINCT */ - 485, /* (567) set_quantifier_opt ::= ALL */ - 487, /* (568) select_list ::= select_item */ - 487, /* (569) select_list ::= select_list NK_COMMA select_item */ - 495, /* (570) select_item ::= NK_STAR */ - 495, /* (571) select_item ::= common_expression */ - 495, /* (572) select_item ::= common_expression column_alias */ - 495, /* (573) select_item ::= common_expression AS column_alias */ - 495, /* (574) select_item ::= table_name NK_DOT NK_STAR */ - 431, /* (575) where_clause_opt ::= */ - 431, /* (576) where_clause_opt ::= WHERE search_condition */ - 488, /* (577) partition_by_clause_opt ::= */ - 488, /* (578) partition_by_clause_opt ::= PARTITION BY partition_list */ - 496, /* (579) partition_list ::= partition_item */ - 496, /* (580) partition_list ::= partition_list NK_COMMA partition_item */ - 497, /* (581) partition_item ::= expr_or_subquery */ - 497, /* (582) partition_item ::= expr_or_subquery column_alias */ - 497, /* (583) partition_item ::= expr_or_subquery AS column_alias */ - 492, /* (584) twindow_clause_opt ::= */ - 492, /* (585) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ - 492, /* (586) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ - 492, /* (587) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ - 492, /* (588) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ - 492, /* (589) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ - 492, /* (590) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ - 492, /* (591) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ - 425, /* (592) sliding_opt ::= */ - 425, /* (593) sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ - 498, /* (594) interval_sliding_duration_literal ::= NK_VARIABLE */ - 498, /* (595) interval_sliding_duration_literal ::= NK_STRING */ - 498, /* (596) interval_sliding_duration_literal ::= NK_INTEGER */ - 491, /* (597) fill_opt ::= */ - 491, /* (598) fill_opt ::= FILL NK_LP fill_mode NK_RP */ - 491, /* (599) fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ - 491, /* (600) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ - 499, /* (601) fill_mode ::= NONE */ - 499, /* (602) fill_mode ::= PREV */ - 499, /* (603) fill_mode ::= NULL */ - 499, /* (604) fill_mode ::= NULL_F */ - 499, /* (605) fill_mode ::= LINEAR */ - 499, /* (606) fill_mode ::= NEXT */ - 493, /* (607) group_by_clause_opt ::= */ - 493, /* (608) group_by_clause_opt ::= GROUP BY group_by_list */ - 500, /* (609) group_by_list ::= expr_or_subquery */ - 500, /* (610) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ - 494, /* (611) having_clause_opt ::= */ - 494, /* (612) having_clause_opt ::= HAVING search_condition */ - 489, /* (613) range_opt ::= */ - 489, /* (614) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ - 489, /* (615) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ - 490, /* (616) every_opt ::= */ - 490, /* (617) every_opt ::= EVERY NK_LP duration_literal NK_RP */ - 501, /* (618) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ - 502, /* (619) query_simple ::= query_specification */ - 502, /* (620) query_simple ::= union_query_expression */ - 506, /* (621) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ - 506, /* (622) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ - 507, /* (623) query_simple_or_subquery ::= query_simple */ - 507, /* (624) query_simple_or_subquery ::= subquery */ - 430, /* (625) query_or_subquery ::= query_expression */ - 430, /* (626) query_or_subquery ::= subquery */ - 503, /* (627) order_by_clause_opt ::= */ - 503, /* (628) order_by_clause_opt ::= ORDER BY sort_specification_list */ - 504, /* (629) slimit_clause_opt ::= */ - 504, /* (630) slimit_clause_opt ::= SLIMIT NK_INTEGER */ - 504, /* (631) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - 504, /* (632) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - 505, /* (633) limit_clause_opt ::= */ - 505, /* (634) limit_clause_opt ::= LIMIT NK_INTEGER */ - 505, /* (635) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ - 505, /* (636) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - 480, /* (637) subquery ::= NK_LP query_expression NK_RP */ - 480, /* (638) subquery ::= NK_LP subquery NK_RP */ - 369, /* (639) search_condition ::= common_expression */ - 508, /* (640) sort_specification_list ::= sort_specification */ - 508, /* (641) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ - 509, /* (642) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ - 510, /* (643) ordering_specification_opt ::= */ - 510, /* (644) ordering_specification_opt ::= ASC */ - 510, /* (645) ordering_specification_opt ::= DESC */ - 511, /* (646) null_ordering_opt ::= */ - 511, /* (647) null_ordering_opt ::= NULLS FIRST */ - 511, /* (648) null_ordering_opt ::= NULLS LAST */ + 354, /* (0) cmd ::= CREATE ACCOUNT NK_ID PASS NK_STRING account_options */ + 354, /* (1) cmd ::= ALTER ACCOUNT NK_ID alter_account_options */ + 355, /* (2) account_options ::= */ + 355, /* (3) account_options ::= account_options PPS literal */ + 355, /* (4) account_options ::= account_options TSERIES literal */ + 355, /* (5) account_options ::= account_options STORAGE literal */ + 355, /* (6) account_options ::= account_options STREAMS literal */ + 355, /* (7) account_options ::= account_options QTIME literal */ + 355, /* (8) account_options ::= account_options DBS literal */ + 355, /* (9) account_options ::= account_options USERS literal */ + 355, /* (10) account_options ::= account_options CONNS literal */ + 355, /* (11) account_options ::= account_options STATE literal */ + 356, /* (12) alter_account_options ::= alter_account_option */ + 356, /* (13) alter_account_options ::= alter_account_options alter_account_option */ + 358, /* (14) alter_account_option ::= PASS literal */ + 358, /* (15) alter_account_option ::= PPS literal */ + 358, /* (16) alter_account_option ::= TSERIES literal */ + 358, /* (17) alter_account_option ::= STORAGE literal */ + 358, /* (18) alter_account_option ::= STREAMS literal */ + 358, /* (19) alter_account_option ::= QTIME literal */ + 358, /* (20) alter_account_option ::= DBS literal */ + 358, /* (21) alter_account_option ::= USERS literal */ + 358, /* (22) alter_account_option ::= CONNS literal */ + 358, /* (23) alter_account_option ::= STATE literal */ + 359, /* (24) ip_range_list ::= NK_STRING */ + 359, /* (25) ip_range_list ::= ip_range_list NK_COMMA NK_STRING */ + 360, /* (26) white_list ::= HOST ip_range_list */ + 361, /* (27) white_list_opt ::= */ + 361, /* (28) white_list_opt ::= white_list */ + 354, /* (29) cmd ::= CREATE USER user_name PASS NK_STRING sysinfo_opt white_list_opt */ + 354, /* (30) cmd ::= ALTER USER user_name PASS NK_STRING */ + 354, /* (31) cmd ::= ALTER USER user_name ENABLE NK_INTEGER */ + 354, /* (32) cmd ::= ALTER USER user_name SYSINFO NK_INTEGER */ + 354, /* (33) cmd ::= ALTER USER user_name ADD white_list */ + 354, /* (34) cmd ::= ALTER USER user_name DROP white_list */ + 354, /* (35) cmd ::= DROP USER user_name */ + 363, /* (36) sysinfo_opt ::= */ + 363, /* (37) sysinfo_opt ::= SYSINFO NK_INTEGER */ + 354, /* (38) cmd ::= GRANT privileges ON priv_level with_opt TO user_name */ + 354, /* (39) cmd ::= REVOKE privileges ON priv_level with_opt FROM user_name */ + 364, /* (40) privileges ::= ALL */ + 364, /* (41) privileges ::= priv_type_list */ + 364, /* (42) privileges ::= SUBSCRIBE */ + 367, /* (43) priv_type_list ::= priv_type */ + 367, /* (44) priv_type_list ::= priv_type_list NK_COMMA priv_type */ + 368, /* (45) priv_type ::= READ */ + 368, /* (46) priv_type ::= WRITE */ + 368, /* (47) priv_type ::= ALTER */ + 365, /* (48) priv_level ::= NK_STAR NK_DOT NK_STAR */ + 365, /* (49) priv_level ::= db_name NK_DOT NK_STAR */ + 365, /* (50) priv_level ::= db_name NK_DOT table_name */ + 365, /* (51) priv_level ::= topic_name */ + 366, /* (52) with_opt ::= */ + 366, /* (53) with_opt ::= WITH search_condition */ + 354, /* (54) cmd ::= CREATE DNODE dnode_endpoint */ + 354, /* (55) cmd ::= CREATE DNODE dnode_endpoint PORT NK_INTEGER */ + 354, /* (56) cmd ::= DROP DNODE NK_INTEGER force_opt */ + 354, /* (57) cmd ::= DROP DNODE dnode_endpoint force_opt */ + 354, /* (58) cmd ::= DROP DNODE NK_INTEGER unsafe_opt */ + 354, /* (59) cmd ::= DROP DNODE dnode_endpoint unsafe_opt */ + 354, /* (60) cmd ::= ALTER DNODE NK_INTEGER NK_STRING */ + 354, /* (61) cmd ::= ALTER DNODE NK_INTEGER NK_STRING NK_STRING */ + 354, /* (62) cmd ::= ALTER ALL DNODES NK_STRING */ + 354, /* (63) cmd ::= ALTER ALL DNODES NK_STRING NK_STRING */ + 354, /* (64) cmd ::= RESTORE DNODE NK_INTEGER */ + 373, /* (65) dnode_endpoint ::= NK_STRING */ + 373, /* (66) dnode_endpoint ::= NK_ID */ + 373, /* (67) dnode_endpoint ::= NK_IPTOKEN */ + 374, /* (68) force_opt ::= */ + 374, /* (69) force_opt ::= FORCE */ + 375, /* (70) unsafe_opt ::= UNSAFE */ + 354, /* (71) cmd ::= ALTER CLUSTER NK_STRING */ + 354, /* (72) cmd ::= ALTER CLUSTER NK_STRING NK_STRING */ + 354, /* (73) cmd ::= ALTER LOCAL NK_STRING */ + 354, /* (74) cmd ::= ALTER LOCAL NK_STRING NK_STRING */ + 354, /* (75) cmd ::= CREATE QNODE ON DNODE NK_INTEGER */ + 354, /* (76) cmd ::= DROP QNODE ON DNODE NK_INTEGER */ + 354, /* (77) cmd ::= RESTORE QNODE ON DNODE NK_INTEGER */ + 354, /* (78) cmd ::= CREATE BNODE ON DNODE NK_INTEGER */ + 354, /* (79) cmd ::= DROP BNODE ON DNODE NK_INTEGER */ + 354, /* (80) cmd ::= CREATE SNODE ON DNODE NK_INTEGER */ + 354, /* (81) cmd ::= DROP SNODE ON DNODE NK_INTEGER */ + 354, /* (82) cmd ::= CREATE MNODE ON DNODE NK_INTEGER */ + 354, /* (83) cmd ::= DROP MNODE ON DNODE NK_INTEGER */ + 354, /* (84) cmd ::= RESTORE MNODE ON DNODE NK_INTEGER */ + 354, /* (85) cmd ::= RESTORE VNODE ON DNODE NK_INTEGER */ + 354, /* (86) cmd ::= CREATE DATABASE not_exists_opt db_name db_options */ + 354, /* (87) cmd ::= DROP DATABASE exists_opt db_name */ + 354, /* (88) cmd ::= USE db_name */ + 354, /* (89) cmd ::= ALTER DATABASE db_name alter_db_options */ + 354, /* (90) cmd ::= FLUSH DATABASE db_name */ + 354, /* (91) cmd ::= TRIM DATABASE db_name speed_opt */ + 354, /* (92) cmd ::= COMPACT DATABASE db_name start_opt end_opt */ + 376, /* (93) not_exists_opt ::= IF NOT EXISTS */ + 376, /* (94) not_exists_opt ::= */ + 378, /* (95) exists_opt ::= IF EXISTS */ + 378, /* (96) exists_opt ::= */ + 377, /* (97) db_options ::= */ + 377, /* (98) db_options ::= db_options BUFFER NK_INTEGER */ + 377, /* (99) db_options ::= db_options CACHEMODEL NK_STRING */ + 377, /* (100) db_options ::= db_options CACHESIZE NK_INTEGER */ + 377, /* (101) db_options ::= db_options COMP NK_INTEGER */ + 377, /* (102) db_options ::= db_options DURATION NK_INTEGER */ + 377, /* (103) db_options ::= db_options DURATION NK_VARIABLE */ + 377, /* (104) db_options ::= db_options MAXROWS NK_INTEGER */ + 377, /* (105) db_options ::= db_options MINROWS NK_INTEGER */ + 377, /* (106) db_options ::= db_options KEEP integer_list */ + 377, /* (107) db_options ::= db_options KEEP variable_list */ + 377, /* (108) db_options ::= db_options PAGES NK_INTEGER */ + 377, /* (109) db_options ::= db_options PAGESIZE NK_INTEGER */ + 377, /* (110) db_options ::= db_options TSDB_PAGESIZE NK_INTEGER */ + 377, /* (111) db_options ::= db_options PRECISION NK_STRING */ + 377, /* (112) db_options ::= db_options REPLICA NK_INTEGER */ + 377, /* (113) db_options ::= db_options VGROUPS NK_INTEGER */ + 377, /* (114) db_options ::= db_options SINGLE_STABLE NK_INTEGER */ + 377, /* (115) db_options ::= db_options RETENTIONS retention_list */ + 377, /* (116) db_options ::= db_options SCHEMALESS NK_INTEGER */ + 377, /* (117) db_options ::= db_options WAL_LEVEL NK_INTEGER */ + 377, /* (118) db_options ::= db_options WAL_FSYNC_PERIOD NK_INTEGER */ + 377, /* (119) db_options ::= db_options WAL_RETENTION_PERIOD NK_INTEGER */ + 377, /* (120) db_options ::= db_options WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ + 377, /* (121) db_options ::= db_options WAL_RETENTION_SIZE NK_INTEGER */ + 377, /* (122) db_options ::= db_options WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ + 377, /* (123) db_options ::= db_options WAL_ROLL_PERIOD NK_INTEGER */ + 377, /* (124) db_options ::= db_options WAL_SEGMENT_SIZE NK_INTEGER */ + 377, /* (125) db_options ::= db_options STT_TRIGGER NK_INTEGER */ + 377, /* (126) db_options ::= db_options TABLE_PREFIX signed */ + 377, /* (127) db_options ::= db_options TABLE_SUFFIX signed */ + 377, /* (128) db_options ::= db_options KEEP_TIME_OFFSET NK_INTEGER */ + 379, /* (129) alter_db_options ::= alter_db_option */ + 379, /* (130) alter_db_options ::= alter_db_options alter_db_option */ + 387, /* (131) alter_db_option ::= BUFFER NK_INTEGER */ + 387, /* (132) alter_db_option ::= CACHEMODEL NK_STRING */ + 387, /* (133) alter_db_option ::= CACHESIZE NK_INTEGER */ + 387, /* (134) alter_db_option ::= WAL_FSYNC_PERIOD NK_INTEGER */ + 387, /* (135) alter_db_option ::= KEEP integer_list */ + 387, /* (136) alter_db_option ::= KEEP variable_list */ + 387, /* (137) alter_db_option ::= PAGES NK_INTEGER */ + 387, /* (138) alter_db_option ::= REPLICA NK_INTEGER */ + 387, /* (139) alter_db_option ::= WAL_LEVEL NK_INTEGER */ + 387, /* (140) alter_db_option ::= STT_TRIGGER NK_INTEGER */ + 387, /* (141) alter_db_option ::= MINROWS NK_INTEGER */ + 387, /* (142) alter_db_option ::= WAL_RETENTION_PERIOD NK_INTEGER */ + 387, /* (143) alter_db_option ::= WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ + 387, /* (144) alter_db_option ::= WAL_RETENTION_SIZE NK_INTEGER */ + 387, /* (145) alter_db_option ::= WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ + 387, /* (146) alter_db_option ::= KEEP_TIME_OFFSET NK_INTEGER */ + 383, /* (147) integer_list ::= NK_INTEGER */ + 383, /* (148) integer_list ::= integer_list NK_COMMA NK_INTEGER */ + 384, /* (149) variable_list ::= NK_VARIABLE */ + 384, /* (150) variable_list ::= variable_list NK_COMMA NK_VARIABLE */ + 385, /* (151) retention_list ::= retention */ + 385, /* (152) retention_list ::= retention_list NK_COMMA retention */ + 388, /* (153) retention ::= NK_VARIABLE NK_COLON NK_VARIABLE */ + 388, /* (154) retention ::= NK_MINUS NK_COLON NK_VARIABLE */ + 380, /* (155) speed_opt ::= */ + 380, /* (156) speed_opt ::= BWLIMIT NK_INTEGER */ + 381, /* (157) start_opt ::= */ + 381, /* (158) start_opt ::= START WITH NK_INTEGER */ + 381, /* (159) start_opt ::= START WITH NK_STRING */ + 381, /* (160) start_opt ::= START WITH TIMESTAMP NK_STRING */ + 382, /* (161) end_opt ::= */ + 382, /* (162) end_opt ::= END WITH NK_INTEGER */ + 382, /* (163) end_opt ::= END WITH NK_STRING */ + 382, /* (164) end_opt ::= END WITH TIMESTAMP NK_STRING */ + 354, /* (165) cmd ::= CREATE TABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def_opt table_options */ + 354, /* (166) cmd ::= CREATE TABLE multi_create_clause */ + 354, /* (167) cmd ::= CREATE STABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def table_options */ + 354, /* (168) cmd ::= DROP TABLE multi_drop_clause */ + 354, /* (169) cmd ::= DROP STABLE exists_opt full_table_name */ + 354, /* (170) cmd ::= ALTER TABLE alter_table_clause */ + 354, /* (171) cmd ::= ALTER STABLE alter_table_clause */ + 396, /* (172) alter_table_clause ::= full_table_name alter_table_options */ + 396, /* (173) alter_table_clause ::= full_table_name ADD COLUMN column_name type_name */ + 396, /* (174) alter_table_clause ::= full_table_name DROP COLUMN column_name */ + 396, /* (175) alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */ + 396, /* (176) alter_table_clause ::= full_table_name MODIFY COLUMN column_name column_options */ + 396, /* (177) alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */ + 396, /* (178) alter_table_clause ::= full_table_name ADD TAG column_name type_name */ + 396, /* (179) alter_table_clause ::= full_table_name DROP TAG column_name */ + 396, /* (180) alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */ + 396, /* (181) alter_table_clause ::= full_table_name RENAME TAG column_name column_name */ + 396, /* (182) alter_table_clause ::= full_table_name SET TAG column_name NK_EQ signed_literal */ + 393, /* (183) multi_create_clause ::= create_subtable_clause */ + 393, /* (184) multi_create_clause ::= multi_create_clause create_subtable_clause */ + 402, /* (185) create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_cols_opt TAGS NK_LP expression_list NK_RP table_options */ + 395, /* (186) multi_drop_clause ::= drop_table_clause */ + 395, /* (187) multi_drop_clause ::= multi_drop_clause NK_COMMA drop_table_clause */ + 405, /* (188) drop_table_clause ::= exists_opt full_table_name */ + 403, /* (189) specific_cols_opt ::= */ + 403, /* (190) specific_cols_opt ::= NK_LP col_name_list NK_RP */ + 389, /* (191) full_table_name ::= table_name */ + 389, /* (192) full_table_name ::= db_name NK_DOT table_name */ + 407, /* (193) tag_def_list ::= tag_def */ + 407, /* (194) tag_def_list ::= tag_def_list NK_COMMA tag_def */ + 408, /* (195) tag_def ::= column_name type_name */ + 390, /* (196) column_def_list ::= column_def */ + 390, /* (197) column_def_list ::= column_def_list NK_COMMA column_def */ + 409, /* (198) column_def ::= column_name type_name column_options */ + 399, /* (199) type_name ::= BOOL */ + 399, /* (200) type_name ::= TINYINT */ + 399, /* (201) type_name ::= SMALLINT */ + 399, /* (202) type_name ::= INT */ + 399, /* (203) type_name ::= INTEGER */ + 399, /* (204) type_name ::= BIGINT */ + 399, /* (205) type_name ::= FLOAT */ + 399, /* (206) type_name ::= DOUBLE */ + 399, /* (207) type_name ::= BINARY NK_LP NK_INTEGER NK_RP */ + 399, /* (208) type_name ::= TIMESTAMP */ + 399, /* (209) type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */ + 399, /* (210) type_name ::= TINYINT UNSIGNED */ + 399, /* (211) type_name ::= SMALLINT UNSIGNED */ + 399, /* (212) type_name ::= INT UNSIGNED */ + 399, /* (213) type_name ::= BIGINT UNSIGNED */ + 399, /* (214) type_name ::= JSON */ + 399, /* (215) type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */ + 399, /* (216) type_name ::= MEDIUMBLOB */ + 399, /* (217) type_name ::= BLOB */ + 399, /* (218) type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */ + 399, /* (219) type_name ::= GEOMETRY NK_LP NK_INTEGER NK_RP */ + 399, /* (220) type_name ::= DECIMAL */ + 399, /* (221) type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */ + 399, /* (222) type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ + 391, /* (223) tags_def_opt ::= */ + 391, /* (224) tags_def_opt ::= tags_def */ + 394, /* (225) tags_def ::= TAGS NK_LP tag_def_list NK_RP */ + 392, /* (226) table_options ::= */ + 392, /* (227) table_options ::= table_options COMMENT NK_STRING */ + 392, /* (228) table_options ::= table_options MAX_DELAY duration_list */ + 392, /* (229) table_options ::= table_options WATERMARK duration_list */ + 392, /* (230) table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ + 392, /* (231) table_options ::= table_options TTL NK_INTEGER */ + 392, /* (232) table_options ::= table_options SMA NK_LP col_name_list NK_RP */ + 392, /* (233) table_options ::= table_options DELETE_MARK duration_list */ + 397, /* (234) alter_table_options ::= alter_table_option */ + 397, /* (235) alter_table_options ::= alter_table_options alter_table_option */ + 412, /* (236) alter_table_option ::= COMMENT NK_STRING */ + 412, /* (237) alter_table_option ::= TTL NK_INTEGER */ + 410, /* (238) duration_list ::= duration_literal */ + 410, /* (239) duration_list ::= duration_list NK_COMMA duration_literal */ + 411, /* (240) rollup_func_list ::= rollup_func_name */ + 411, /* (241) rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ + 414, /* (242) rollup_func_name ::= function_name */ + 414, /* (243) rollup_func_name ::= FIRST */ + 414, /* (244) rollup_func_name ::= LAST */ + 406, /* (245) col_name_list ::= col_name */ + 406, /* (246) col_name_list ::= col_name_list NK_COMMA col_name */ + 416, /* (247) col_name ::= column_name */ + 354, /* (248) cmd ::= SHOW DNODES */ + 354, /* (249) cmd ::= SHOW USERS */ + 354, /* (250) cmd ::= SHOW USER PRIVILEGES */ + 354, /* (251) cmd ::= SHOW db_kind_opt DATABASES */ + 354, /* (252) cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ + 354, /* (253) cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ + 354, /* (254) cmd ::= SHOW db_name_cond_opt VGROUPS */ + 354, /* (255) cmd ::= SHOW MNODES */ + 354, /* (256) cmd ::= SHOW QNODES */ + 354, /* (257) cmd ::= SHOW FUNCTIONS */ + 354, /* (258) cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ + 354, /* (259) cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ + 354, /* (260) cmd ::= SHOW STREAMS */ + 354, /* (261) cmd ::= SHOW ACCOUNTS */ + 354, /* (262) cmd ::= SHOW APPS */ + 354, /* (263) cmd ::= SHOW CONNECTIONS */ + 354, /* (264) cmd ::= SHOW LICENCES */ + 354, /* (265) cmd ::= SHOW GRANTS */ + 354, /* (266) cmd ::= SHOW GRANTS FULL */ + 354, /* (267) cmd ::= SHOW GRANTS LOGS */ + 354, /* (268) cmd ::= SHOW CLUSTER MACHINES */ + 354, /* (269) cmd ::= SHOW CREATE DATABASE db_name */ + 354, /* (270) cmd ::= SHOW CREATE TABLE full_table_name */ + 354, /* (271) cmd ::= SHOW CREATE STABLE full_table_name */ + 354, /* (272) cmd ::= SHOW QUERIES */ + 354, /* (273) cmd ::= SHOW SCORES */ + 354, /* (274) cmd ::= SHOW TOPICS */ + 354, /* (275) cmd ::= SHOW VARIABLES */ + 354, /* (276) cmd ::= SHOW CLUSTER VARIABLES */ + 354, /* (277) cmd ::= SHOW LOCAL VARIABLES */ + 354, /* (278) cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ + 354, /* (279) cmd ::= SHOW BNODES */ + 354, /* (280) cmd ::= SHOW SNODES */ + 354, /* (281) cmd ::= SHOW CLUSTER */ + 354, /* (282) cmd ::= SHOW TRANSACTIONS */ + 354, /* (283) cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ + 354, /* (284) cmd ::= SHOW CONSUMERS */ + 354, /* (285) cmd ::= SHOW SUBSCRIPTIONS */ + 354, /* (286) cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ + 354, /* (287) cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ + 354, /* (288) cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ + 354, /* (289) cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name */ + 354, /* (290) cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ + 354, /* (291) cmd ::= SHOW VNODES */ + 354, /* (292) cmd ::= SHOW db_name_cond_opt ALIVE */ + 354, /* (293) cmd ::= SHOW CLUSTER ALIVE */ + 354, /* (294) cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt */ + 354, /* (295) cmd ::= SHOW CREATE VIEW full_table_name */ + 354, /* (296) cmd ::= SHOW COMPACTS */ + 354, /* (297) cmd ::= SHOW COMPACT NK_INTEGER */ + 418, /* (298) table_kind_db_name_cond_opt ::= */ + 418, /* (299) table_kind_db_name_cond_opt ::= table_kind */ + 418, /* (300) table_kind_db_name_cond_opt ::= db_name NK_DOT */ + 418, /* (301) table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ + 424, /* (302) table_kind ::= NORMAL */ + 424, /* (303) table_kind ::= CHILD */ + 420, /* (304) db_name_cond_opt ::= */ + 420, /* (305) db_name_cond_opt ::= db_name NK_DOT */ + 419, /* (306) like_pattern_opt ::= */ + 419, /* (307) like_pattern_opt ::= LIKE NK_STRING */ + 421, /* (308) table_name_cond ::= table_name */ + 422, /* (309) from_db_opt ::= */ + 422, /* (310) from_db_opt ::= FROM db_name */ + 423, /* (311) tag_list_opt ::= */ + 423, /* (312) tag_list_opt ::= tag_item */ + 423, /* (313) tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ + 425, /* (314) tag_item ::= TBNAME */ + 425, /* (315) tag_item ::= QTAGS */ + 425, /* (316) tag_item ::= column_name */ + 425, /* (317) tag_item ::= column_name column_alias */ + 425, /* (318) tag_item ::= column_name AS column_alias */ + 417, /* (319) db_kind_opt ::= */ + 417, /* (320) db_kind_opt ::= USER */ + 417, /* (321) db_kind_opt ::= SYSTEM */ + 354, /* (322) cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options */ + 354, /* (323) cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP */ + 354, /* (324) cmd ::= DROP INDEX exists_opt full_index_name */ + 428, /* (325) full_index_name ::= index_name */ + 428, /* (326) full_index_name ::= db_name NK_DOT index_name */ + 427, /* (327) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ + 427, /* (328) 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 */ + 430, /* (329) func_list ::= func */ + 430, /* (330) func_list ::= func_list NK_COMMA func */ + 433, /* (331) func ::= sma_func_name NK_LP expression_list NK_RP */ + 434, /* (332) sma_func_name ::= function_name */ + 434, /* (333) sma_func_name ::= COUNT */ + 434, /* (334) sma_func_name ::= FIRST */ + 434, /* (335) sma_func_name ::= LAST */ + 434, /* (336) sma_func_name ::= LAST_ROW */ + 432, /* (337) sma_stream_opt ::= */ + 432, /* (338) sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ + 432, /* (339) sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ + 432, /* (340) sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ + 435, /* (341) with_meta ::= AS */ + 435, /* (342) with_meta ::= WITH META AS */ + 435, /* (343) with_meta ::= ONLY META AS */ + 354, /* (344) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ + 354, /* (345) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ + 354, /* (346) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ + 354, /* (347) cmd ::= DROP TOPIC exists_opt topic_name */ + 354, /* (348) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ + 354, /* (349) cmd ::= DESC full_table_name */ + 354, /* (350) cmd ::= DESCRIBE full_table_name */ + 354, /* (351) cmd ::= RESET QUERY CACHE */ + 354, /* (352) cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ + 354, /* (353) cmd ::= EXPLAIN analyze_opt explain_options insert_query */ + 439, /* (354) analyze_opt ::= */ + 439, /* (355) analyze_opt ::= ANALYZE */ + 440, /* (356) explain_options ::= */ + 440, /* (357) explain_options ::= explain_options VERBOSE NK_BOOL */ + 440, /* (358) explain_options ::= explain_options RATIO NK_FLOAT */ + 354, /* (359) cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt */ + 354, /* (360) cmd ::= DROP FUNCTION exists_opt function_name */ + 443, /* (361) agg_func_opt ::= */ + 443, /* (362) agg_func_opt ::= AGGREGATE */ + 444, /* (363) bufsize_opt ::= */ + 444, /* (364) bufsize_opt ::= BUFSIZE NK_INTEGER */ + 445, /* (365) language_opt ::= */ + 445, /* (366) language_opt ::= LANGUAGE NK_STRING */ + 442, /* (367) or_replace_opt ::= */ + 442, /* (368) or_replace_opt ::= OR REPLACE */ + 354, /* (369) cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ + 354, /* (370) cmd ::= DROP VIEW exists_opt full_view_name */ + 446, /* (371) full_view_name ::= view_name */ + 446, /* (372) full_view_name ::= db_name NK_DOT view_name */ + 354, /* (373) cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name col_list_opt tag_def_or_ref_opt subtable_opt AS query_or_subquery */ + 354, /* (374) cmd ::= DROP STREAM exists_opt stream_name */ + 354, /* (375) cmd ::= PAUSE STREAM exists_opt stream_name */ + 354, /* (376) cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ + 450, /* (377) col_list_opt ::= */ + 450, /* (378) col_list_opt ::= NK_LP col_name_list NK_RP */ + 451, /* (379) tag_def_or_ref_opt ::= */ + 451, /* (380) tag_def_or_ref_opt ::= tags_def */ + 451, /* (381) tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ + 449, /* (382) stream_options ::= */ + 449, /* (383) stream_options ::= stream_options TRIGGER AT_ONCE */ + 449, /* (384) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ + 449, /* (385) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ + 449, /* (386) stream_options ::= stream_options WATERMARK duration_literal */ + 449, /* (387) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ + 449, /* (388) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ + 449, /* (389) stream_options ::= stream_options DELETE_MARK duration_literal */ + 449, /* (390) stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ + 452, /* (391) subtable_opt ::= */ + 452, /* (392) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ + 453, /* (393) ignore_opt ::= */ + 453, /* (394) ignore_opt ::= IGNORE UNTREATED */ + 354, /* (395) cmd ::= KILL CONNECTION NK_INTEGER */ + 354, /* (396) cmd ::= KILL QUERY NK_STRING */ + 354, /* (397) cmd ::= KILL TRANSACTION NK_INTEGER */ + 354, /* (398) cmd ::= KILL COMPACT NK_INTEGER */ + 354, /* (399) cmd ::= BALANCE VGROUP */ + 354, /* (400) cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ + 354, /* (401) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ + 354, /* (402) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ + 354, /* (403) cmd ::= SPLIT VGROUP NK_INTEGER */ + 455, /* (404) on_vgroup_id ::= */ + 455, /* (405) on_vgroup_id ::= ON NK_INTEGER */ + 456, /* (406) dnode_list ::= DNODE NK_INTEGER */ + 456, /* (407) dnode_list ::= dnode_list DNODE NK_INTEGER */ + 354, /* (408) cmd ::= DELETE FROM full_table_name where_clause_opt */ + 354, /* (409) cmd ::= query_or_subquery */ + 354, /* (410) cmd ::= insert_query */ + 441, /* (411) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ + 441, /* (412) insert_query ::= INSERT INTO full_table_name query_or_subquery */ + 357, /* (413) literal ::= NK_INTEGER */ + 357, /* (414) literal ::= NK_FLOAT */ + 357, /* (415) literal ::= NK_STRING */ + 357, /* (416) literal ::= NK_BOOL */ + 357, /* (417) literal ::= TIMESTAMP NK_STRING */ + 357, /* (418) literal ::= duration_literal */ + 357, /* (419) literal ::= NULL */ + 357, /* (420) literal ::= NK_QUESTION */ + 413, /* (421) duration_literal ::= NK_VARIABLE */ + 386, /* (422) signed ::= NK_INTEGER */ + 386, /* (423) signed ::= NK_PLUS NK_INTEGER */ + 386, /* (424) signed ::= NK_MINUS NK_INTEGER */ + 386, /* (425) signed ::= NK_FLOAT */ + 386, /* (426) signed ::= NK_PLUS NK_FLOAT */ + 386, /* (427) signed ::= NK_MINUS NK_FLOAT */ + 401, /* (428) signed_literal ::= signed */ + 401, /* (429) signed_literal ::= NK_STRING */ + 401, /* (430) signed_literal ::= NK_BOOL */ + 401, /* (431) signed_literal ::= TIMESTAMP NK_STRING */ + 401, /* (432) signed_literal ::= duration_literal */ + 401, /* (433) signed_literal ::= NULL */ + 401, /* (434) signed_literal ::= literal_func */ + 401, /* (435) signed_literal ::= NK_QUESTION */ + 458, /* (436) literal_list ::= signed_literal */ + 458, /* (437) literal_list ::= literal_list NK_COMMA signed_literal */ + 369, /* (438) db_name ::= NK_ID */ + 370, /* (439) table_name ::= NK_ID */ + 398, /* (440) column_name ::= NK_ID */ + 415, /* (441) function_name ::= NK_ID */ + 447, /* (442) view_name ::= NK_ID */ + 459, /* (443) table_alias ::= NK_ID */ + 426, /* (444) column_alias ::= NK_ID */ + 426, /* (445) column_alias ::= NK_ALIAS */ + 362, /* (446) user_name ::= NK_ID */ + 371, /* (447) topic_name ::= NK_ID */ + 448, /* (448) stream_name ::= NK_ID */ + 438, /* (449) cgroup_name ::= NK_ID */ + 429, /* (450) index_name ::= NK_ID */ + 460, /* (451) expr_or_subquery ::= expression */ + 454, /* (452) expression ::= literal */ + 454, /* (453) expression ::= pseudo_column */ + 454, /* (454) expression ::= column_reference */ + 454, /* (455) expression ::= function_expression */ + 454, /* (456) expression ::= case_when_expression */ + 454, /* (457) expression ::= NK_LP expression NK_RP */ + 454, /* (458) expression ::= NK_PLUS expr_or_subquery */ + 454, /* (459) expression ::= NK_MINUS expr_or_subquery */ + 454, /* (460) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ + 454, /* (461) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ + 454, /* (462) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ + 454, /* (463) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ + 454, /* (464) expression ::= expr_or_subquery NK_REM expr_or_subquery */ + 454, /* (465) expression ::= column_reference NK_ARROW NK_STRING */ + 454, /* (466) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ + 454, /* (467) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ + 404, /* (468) expression_list ::= expr_or_subquery */ + 404, /* (469) expression_list ::= expression_list NK_COMMA expr_or_subquery */ + 462, /* (470) column_reference ::= column_name */ + 462, /* (471) column_reference ::= table_name NK_DOT column_name */ + 462, /* (472) column_reference ::= NK_ALIAS */ + 462, /* (473) column_reference ::= table_name NK_DOT NK_ALIAS */ + 461, /* (474) pseudo_column ::= ROWTS */ + 461, /* (475) pseudo_column ::= TBNAME */ + 461, /* (476) pseudo_column ::= table_name NK_DOT TBNAME */ + 461, /* (477) pseudo_column ::= QSTART */ + 461, /* (478) pseudo_column ::= QEND */ + 461, /* (479) pseudo_column ::= QDURATION */ + 461, /* (480) pseudo_column ::= WSTART */ + 461, /* (481) pseudo_column ::= WEND */ + 461, /* (482) pseudo_column ::= WDURATION */ + 461, /* (483) pseudo_column ::= IROWTS */ + 461, /* (484) pseudo_column ::= ISFILLED */ + 461, /* (485) pseudo_column ::= QTAGS */ + 463, /* (486) function_expression ::= function_name NK_LP expression_list NK_RP */ + 463, /* (487) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ + 463, /* (488) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ + 463, /* (489) function_expression ::= literal_func */ + 457, /* (490) literal_func ::= noarg_func NK_LP NK_RP */ + 457, /* (491) literal_func ::= NOW */ + 467, /* (492) noarg_func ::= NOW */ + 467, /* (493) noarg_func ::= TODAY */ + 467, /* (494) noarg_func ::= TIMEZONE */ + 467, /* (495) noarg_func ::= DATABASE */ + 467, /* (496) noarg_func ::= CLIENT_VERSION */ + 467, /* (497) noarg_func ::= SERVER_VERSION */ + 467, /* (498) noarg_func ::= SERVER_STATUS */ + 467, /* (499) noarg_func ::= CURRENT_USER */ + 467, /* (500) noarg_func ::= USER */ + 465, /* (501) star_func ::= COUNT */ + 465, /* (502) star_func ::= FIRST */ + 465, /* (503) star_func ::= LAST */ + 465, /* (504) star_func ::= LAST_ROW */ + 466, /* (505) star_func_para_list ::= NK_STAR */ + 466, /* (506) star_func_para_list ::= other_para_list */ + 468, /* (507) other_para_list ::= star_func_para */ + 468, /* (508) other_para_list ::= other_para_list NK_COMMA star_func_para */ + 469, /* (509) star_func_para ::= expr_or_subquery */ + 469, /* (510) star_func_para ::= table_name NK_DOT NK_STAR */ + 464, /* (511) case_when_expression ::= CASE when_then_list case_when_else_opt END */ + 464, /* (512) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ + 470, /* (513) when_then_list ::= when_then_expr */ + 470, /* (514) when_then_list ::= when_then_list when_then_expr */ + 473, /* (515) when_then_expr ::= WHEN common_expression THEN common_expression */ + 471, /* (516) case_when_else_opt ::= */ + 471, /* (517) case_when_else_opt ::= ELSE common_expression */ + 474, /* (518) predicate ::= expr_or_subquery compare_op expr_or_subquery */ + 474, /* (519) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ + 474, /* (520) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ + 474, /* (521) predicate ::= expr_or_subquery IS NULL */ + 474, /* (522) predicate ::= expr_or_subquery IS NOT NULL */ + 474, /* (523) predicate ::= expr_or_subquery in_op in_predicate_value */ + 475, /* (524) compare_op ::= NK_LT */ + 475, /* (525) compare_op ::= NK_GT */ + 475, /* (526) compare_op ::= NK_LE */ + 475, /* (527) compare_op ::= NK_GE */ + 475, /* (528) compare_op ::= NK_NE */ + 475, /* (529) compare_op ::= NK_EQ */ + 475, /* (530) compare_op ::= LIKE */ + 475, /* (531) compare_op ::= NOT LIKE */ + 475, /* (532) compare_op ::= MATCH */ + 475, /* (533) compare_op ::= NMATCH */ + 475, /* (534) compare_op ::= CONTAINS */ + 476, /* (535) in_op ::= IN */ + 476, /* (536) in_op ::= NOT IN */ + 477, /* (537) in_predicate_value ::= NK_LP literal_list NK_RP */ + 478, /* (538) boolean_value_expression ::= boolean_primary */ + 478, /* (539) boolean_value_expression ::= NOT boolean_primary */ + 478, /* (540) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ + 478, /* (541) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ + 479, /* (542) boolean_primary ::= predicate */ + 479, /* (543) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ + 472, /* (544) common_expression ::= expr_or_subquery */ + 472, /* (545) common_expression ::= boolean_value_expression */ + 480, /* (546) from_clause_opt ::= */ + 480, /* (547) from_clause_opt ::= FROM table_reference_list */ + 481, /* (548) table_reference_list ::= table_reference */ + 481, /* (549) table_reference_list ::= table_reference_list NK_COMMA table_reference */ + 482, /* (550) table_reference ::= table_primary */ + 482, /* (551) table_reference ::= joined_table */ + 483, /* (552) table_primary ::= table_name alias_opt */ + 483, /* (553) table_primary ::= db_name NK_DOT table_name alias_opt */ + 483, /* (554) table_primary ::= subquery alias_opt */ + 483, /* (555) table_primary ::= parenthesized_joined_table */ + 485, /* (556) alias_opt ::= */ + 485, /* (557) alias_opt ::= table_alias */ + 485, /* (558) alias_opt ::= AS table_alias */ + 487, /* (559) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ + 487, /* (560) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ + 484, /* (561) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ + 488, /* (562) join_type ::= */ + 488, /* (563) join_type ::= INNER */ + 489, /* (564) query_specification ::= SELECT hint_list set_quantifier_opt tag_mode_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt */ + 490, /* (565) hint_list ::= */ + 490, /* (566) hint_list ::= NK_HINT */ + 492, /* (567) tag_mode_opt ::= */ + 492, /* (568) tag_mode_opt ::= TAGS */ + 491, /* (569) set_quantifier_opt ::= */ + 491, /* (570) set_quantifier_opt ::= DISTINCT */ + 491, /* (571) set_quantifier_opt ::= ALL */ + 493, /* (572) select_list ::= select_item */ + 493, /* (573) select_list ::= select_list NK_COMMA select_item */ + 501, /* (574) select_item ::= NK_STAR */ + 501, /* (575) select_item ::= common_expression */ + 501, /* (576) select_item ::= common_expression column_alias */ + 501, /* (577) select_item ::= common_expression AS column_alias */ + 501, /* (578) select_item ::= table_name NK_DOT NK_STAR */ + 437, /* (579) where_clause_opt ::= */ + 437, /* (580) where_clause_opt ::= WHERE search_condition */ + 494, /* (581) partition_by_clause_opt ::= */ + 494, /* (582) partition_by_clause_opt ::= PARTITION BY partition_list */ + 502, /* (583) partition_list ::= partition_item */ + 502, /* (584) partition_list ::= partition_list NK_COMMA partition_item */ + 503, /* (585) partition_item ::= expr_or_subquery */ + 503, /* (586) partition_item ::= expr_or_subquery column_alias */ + 503, /* (587) partition_item ::= expr_or_subquery AS column_alias */ + 498, /* (588) twindow_clause_opt ::= */ + 498, /* (589) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ + 498, /* (590) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ + 498, /* (591) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + 498, /* (592) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + 498, /* (593) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ + 498, /* (594) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ + 498, /* (595) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ + 431, /* (596) sliding_opt ::= */ + 431, /* (597) sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ + 504, /* (598) interval_sliding_duration_literal ::= NK_VARIABLE */ + 504, /* (599) interval_sliding_duration_literal ::= NK_STRING */ + 504, /* (600) interval_sliding_duration_literal ::= NK_INTEGER */ + 497, /* (601) fill_opt ::= */ + 497, /* (602) fill_opt ::= FILL NK_LP fill_mode NK_RP */ + 497, /* (603) fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ + 497, /* (604) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ + 505, /* (605) fill_mode ::= NONE */ + 505, /* (606) fill_mode ::= PREV */ + 505, /* (607) fill_mode ::= NULL */ + 505, /* (608) fill_mode ::= NULL_F */ + 505, /* (609) fill_mode ::= LINEAR */ + 505, /* (610) fill_mode ::= NEXT */ + 499, /* (611) group_by_clause_opt ::= */ + 499, /* (612) group_by_clause_opt ::= GROUP BY group_by_list */ + 506, /* (613) group_by_list ::= expr_or_subquery */ + 506, /* (614) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ + 500, /* (615) having_clause_opt ::= */ + 500, /* (616) having_clause_opt ::= HAVING search_condition */ + 495, /* (617) range_opt ::= */ + 495, /* (618) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ + 495, /* (619) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ + 496, /* (620) every_opt ::= */ + 496, /* (621) every_opt ::= EVERY NK_LP duration_literal NK_RP */ + 507, /* (622) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + 508, /* (623) query_simple ::= query_specification */ + 508, /* (624) query_simple ::= union_query_expression */ + 512, /* (625) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ + 512, /* (626) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ + 513, /* (627) query_simple_or_subquery ::= query_simple */ + 513, /* (628) query_simple_or_subquery ::= subquery */ + 436, /* (629) query_or_subquery ::= query_expression */ + 436, /* (630) query_or_subquery ::= subquery */ + 509, /* (631) order_by_clause_opt ::= */ + 509, /* (632) order_by_clause_opt ::= ORDER BY sort_specification_list */ + 510, /* (633) slimit_clause_opt ::= */ + 510, /* (634) slimit_clause_opt ::= SLIMIT NK_INTEGER */ + 510, /* (635) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + 510, /* (636) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + 511, /* (637) limit_clause_opt ::= */ + 511, /* (638) limit_clause_opt ::= LIMIT NK_INTEGER */ + 511, /* (639) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ + 511, /* (640) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + 486, /* (641) subquery ::= NK_LP query_expression NK_RP */ + 486, /* (642) subquery ::= NK_LP subquery NK_RP */ + 372, /* (643) search_condition ::= common_expression */ + 514, /* (644) sort_specification_list ::= sort_specification */ + 514, /* (645) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ + 515, /* (646) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ + 516, /* (647) ordering_specification_opt ::= */ + 516, /* (648) ordering_specification_opt ::= ASC */ + 516, /* (649) ordering_specification_opt ::= DESC */ + 517, /* (650) null_ordering_opt ::= */ + 517, /* (651) null_ordering_opt ::= NULLS FIRST */ + 517, /* (652) null_ordering_opt ::= NULLS LAST */ + 400, /* (653) column_options ::= */ + 400, /* (654) column_options ::= column_options ENCODE NK_STRING */ + 400, /* (655) column_options ::= column_options COMPRESS NK_STRING */ + 400, /* (656) column_options ::= column_options LEVEL NK_STRING */ }; /* For rule J, yyRuleInfoNRhs[J] contains the negative of the number @@ -4513,479 +4553,487 @@ static const signed char yyRuleInfoNRhs[] = { -5, /* (173) alter_table_clause ::= full_table_name ADD COLUMN column_name type_name */ -4, /* (174) alter_table_clause ::= full_table_name DROP COLUMN column_name */ -5, /* (175) alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */ - -5, /* (176) alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */ - -5, /* (177) alter_table_clause ::= full_table_name ADD TAG column_name type_name */ - -4, /* (178) alter_table_clause ::= full_table_name DROP TAG column_name */ - -5, /* (179) alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */ - -5, /* (180) alter_table_clause ::= full_table_name RENAME TAG column_name column_name */ - -6, /* (181) alter_table_clause ::= full_table_name SET TAG column_name NK_EQ signed_literal */ - -1, /* (182) multi_create_clause ::= create_subtable_clause */ - -2, /* (183) multi_create_clause ::= multi_create_clause create_subtable_clause */ - -10, /* (184) create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_cols_opt TAGS NK_LP expression_list NK_RP table_options */ - -1, /* (185) multi_drop_clause ::= drop_table_clause */ - -3, /* (186) multi_drop_clause ::= multi_drop_clause NK_COMMA drop_table_clause */ - -2, /* (187) drop_table_clause ::= exists_opt full_table_name */ - 0, /* (188) specific_cols_opt ::= */ - -3, /* (189) specific_cols_opt ::= NK_LP col_name_list NK_RP */ - -1, /* (190) full_table_name ::= table_name */ - -3, /* (191) full_table_name ::= db_name NK_DOT table_name */ - -1, /* (192) column_def_list ::= column_def */ - -3, /* (193) column_def_list ::= column_def_list NK_COMMA column_def */ - -2, /* (194) column_def ::= column_name type_name */ - -1, /* (195) type_name ::= BOOL */ - -1, /* (196) type_name ::= TINYINT */ - -1, /* (197) type_name ::= SMALLINT */ - -1, /* (198) type_name ::= INT */ - -1, /* (199) type_name ::= INTEGER */ - -1, /* (200) type_name ::= BIGINT */ - -1, /* (201) type_name ::= FLOAT */ - -1, /* (202) type_name ::= DOUBLE */ - -4, /* (203) type_name ::= BINARY NK_LP NK_INTEGER NK_RP */ - -1, /* (204) type_name ::= TIMESTAMP */ - -4, /* (205) type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */ - -2, /* (206) type_name ::= TINYINT UNSIGNED */ - -2, /* (207) type_name ::= SMALLINT UNSIGNED */ - -2, /* (208) type_name ::= INT UNSIGNED */ - -2, /* (209) type_name ::= BIGINT UNSIGNED */ - -1, /* (210) type_name ::= JSON */ - -4, /* (211) type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */ - -1, /* (212) type_name ::= MEDIUMBLOB */ - -1, /* (213) type_name ::= BLOB */ - -4, /* (214) type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */ - -4, /* (215) type_name ::= GEOMETRY NK_LP NK_INTEGER NK_RP */ - -1, /* (216) type_name ::= DECIMAL */ - -4, /* (217) type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */ - -6, /* (218) type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ - 0, /* (219) tags_def_opt ::= */ - -1, /* (220) tags_def_opt ::= tags_def */ - -4, /* (221) tags_def ::= TAGS NK_LP column_def_list NK_RP */ - 0, /* (222) table_options ::= */ - -3, /* (223) table_options ::= table_options COMMENT NK_STRING */ - -3, /* (224) table_options ::= table_options MAX_DELAY duration_list */ - -3, /* (225) table_options ::= table_options WATERMARK duration_list */ - -5, /* (226) table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ - -3, /* (227) table_options ::= table_options TTL NK_INTEGER */ - -5, /* (228) table_options ::= table_options SMA NK_LP col_name_list NK_RP */ - -3, /* (229) table_options ::= table_options DELETE_MARK duration_list */ - -1, /* (230) alter_table_options ::= alter_table_option */ - -2, /* (231) alter_table_options ::= alter_table_options alter_table_option */ - -2, /* (232) alter_table_option ::= COMMENT NK_STRING */ - -2, /* (233) alter_table_option ::= TTL NK_INTEGER */ - -1, /* (234) duration_list ::= duration_literal */ - -3, /* (235) duration_list ::= duration_list NK_COMMA duration_literal */ - -1, /* (236) rollup_func_list ::= rollup_func_name */ - -3, /* (237) rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ - -1, /* (238) rollup_func_name ::= function_name */ - -1, /* (239) rollup_func_name ::= FIRST */ - -1, /* (240) rollup_func_name ::= LAST */ - -1, /* (241) col_name_list ::= col_name */ - -3, /* (242) col_name_list ::= col_name_list NK_COMMA col_name */ - -1, /* (243) col_name ::= column_name */ - -2, /* (244) cmd ::= SHOW DNODES */ - -2, /* (245) cmd ::= SHOW USERS */ - -3, /* (246) cmd ::= SHOW USER PRIVILEGES */ - -3, /* (247) cmd ::= SHOW db_kind_opt DATABASES */ - -4, /* (248) cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ - -4, /* (249) cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ - -3, /* (250) cmd ::= SHOW db_name_cond_opt VGROUPS */ - -2, /* (251) cmd ::= SHOW MNODES */ - -2, /* (252) cmd ::= SHOW QNODES */ - -2, /* (253) cmd ::= SHOW FUNCTIONS */ - -5, /* (254) cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ - -6, /* (255) cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ - -2, /* (256) cmd ::= SHOW STREAMS */ - -2, /* (257) cmd ::= SHOW ACCOUNTS */ - -2, /* (258) cmd ::= SHOW APPS */ - -2, /* (259) cmd ::= SHOW CONNECTIONS */ - -2, /* (260) cmd ::= SHOW LICENCES */ - -2, /* (261) cmd ::= SHOW GRANTS */ - -3, /* (262) cmd ::= SHOW GRANTS FULL */ - -3, /* (263) cmd ::= SHOW GRANTS LOGS */ - -3, /* (264) cmd ::= SHOW CLUSTER MACHINES */ - -4, /* (265) cmd ::= SHOW CREATE DATABASE db_name */ - -4, /* (266) cmd ::= SHOW CREATE TABLE full_table_name */ - -4, /* (267) cmd ::= SHOW CREATE STABLE full_table_name */ - -2, /* (268) cmd ::= SHOW QUERIES */ - -2, /* (269) cmd ::= SHOW SCORES */ - -2, /* (270) cmd ::= SHOW TOPICS */ - -2, /* (271) cmd ::= SHOW VARIABLES */ - -3, /* (272) cmd ::= SHOW CLUSTER VARIABLES */ - -3, /* (273) cmd ::= SHOW LOCAL VARIABLES */ - -5, /* (274) cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ - -2, /* (275) cmd ::= SHOW BNODES */ - -2, /* (276) cmd ::= SHOW SNODES */ - -2, /* (277) cmd ::= SHOW CLUSTER */ - -2, /* (278) cmd ::= SHOW TRANSACTIONS */ - -4, /* (279) cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ - -2, /* (280) cmd ::= SHOW CONSUMERS */ - -2, /* (281) cmd ::= SHOW SUBSCRIPTIONS */ - -5, /* (282) cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ - -6, /* (283) cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ - -7, /* (284) cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ - -8, /* (285) cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name */ - -5, /* (286) cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ - -2, /* (287) cmd ::= SHOW VNODES */ - -3, /* (288) cmd ::= SHOW db_name_cond_opt ALIVE */ - -3, /* (289) cmd ::= SHOW CLUSTER ALIVE */ - -4, /* (290) cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt */ - -4, /* (291) cmd ::= SHOW CREATE VIEW full_table_name */ - -2, /* (292) cmd ::= SHOW COMPACTS */ - -3, /* (293) cmd ::= SHOW COMPACT NK_INTEGER */ - 0, /* (294) table_kind_db_name_cond_opt ::= */ - -1, /* (295) table_kind_db_name_cond_opt ::= table_kind */ - -2, /* (296) table_kind_db_name_cond_opt ::= db_name NK_DOT */ - -3, /* (297) table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ - -1, /* (298) table_kind ::= NORMAL */ - -1, /* (299) table_kind ::= CHILD */ - 0, /* (300) db_name_cond_opt ::= */ - -2, /* (301) db_name_cond_opt ::= db_name NK_DOT */ - 0, /* (302) like_pattern_opt ::= */ - -2, /* (303) like_pattern_opt ::= LIKE NK_STRING */ - -1, /* (304) table_name_cond ::= table_name */ - 0, /* (305) from_db_opt ::= */ - -2, /* (306) from_db_opt ::= FROM db_name */ - 0, /* (307) tag_list_opt ::= */ - -1, /* (308) tag_list_opt ::= tag_item */ - -3, /* (309) tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ - -1, /* (310) tag_item ::= TBNAME */ - -1, /* (311) tag_item ::= QTAGS */ - -1, /* (312) tag_item ::= column_name */ - -2, /* (313) tag_item ::= column_name column_alias */ - -3, /* (314) tag_item ::= column_name AS column_alias */ - 0, /* (315) db_kind_opt ::= */ - -1, /* (316) db_kind_opt ::= USER */ - -1, /* (317) db_kind_opt ::= SYSTEM */ - -8, /* (318) cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options */ - -9, /* (319) cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP */ - -4, /* (320) cmd ::= DROP INDEX exists_opt full_index_name */ - -1, /* (321) full_index_name ::= index_name */ - -3, /* (322) full_index_name ::= db_name NK_DOT index_name */ - -10, /* (323) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ - -12, /* (324) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt sma_stream_opt */ - -1, /* (325) func_list ::= func */ - -3, /* (326) func_list ::= func_list NK_COMMA func */ - -4, /* (327) func ::= sma_func_name NK_LP expression_list NK_RP */ - -1, /* (328) sma_func_name ::= function_name */ - -1, /* (329) sma_func_name ::= COUNT */ - -1, /* (330) sma_func_name ::= FIRST */ - -1, /* (331) sma_func_name ::= LAST */ - -1, /* (332) sma_func_name ::= LAST_ROW */ - 0, /* (333) sma_stream_opt ::= */ - -3, /* (334) sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ - -3, /* (335) sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ - -3, /* (336) sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ - -1, /* (337) with_meta ::= AS */ - -3, /* (338) with_meta ::= WITH META AS */ - -3, /* (339) with_meta ::= ONLY META AS */ - -6, /* (340) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ - -7, /* (341) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ - -8, /* (342) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ - -4, /* (343) cmd ::= DROP TOPIC exists_opt topic_name */ - -7, /* (344) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ - -2, /* (345) cmd ::= DESC full_table_name */ - -2, /* (346) cmd ::= DESCRIBE full_table_name */ - -3, /* (347) cmd ::= RESET QUERY CACHE */ - -4, /* (348) cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ - -4, /* (349) cmd ::= EXPLAIN analyze_opt explain_options insert_query */ - 0, /* (350) analyze_opt ::= */ - -1, /* (351) analyze_opt ::= ANALYZE */ - 0, /* (352) explain_options ::= */ - -3, /* (353) explain_options ::= explain_options VERBOSE NK_BOOL */ - -3, /* (354) explain_options ::= explain_options RATIO NK_FLOAT */ - -12, /* (355) cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt */ - -4, /* (356) cmd ::= DROP FUNCTION exists_opt function_name */ - 0, /* (357) agg_func_opt ::= */ - -1, /* (358) agg_func_opt ::= AGGREGATE */ - 0, /* (359) bufsize_opt ::= */ - -2, /* (360) bufsize_opt ::= BUFSIZE NK_INTEGER */ - 0, /* (361) language_opt ::= */ - -2, /* (362) language_opt ::= LANGUAGE NK_STRING */ - 0, /* (363) or_replace_opt ::= */ - -2, /* (364) or_replace_opt ::= OR REPLACE */ - -6, /* (365) cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ - -4, /* (366) cmd ::= DROP VIEW exists_opt full_view_name */ - -1, /* (367) full_view_name ::= view_name */ - -3, /* (368) full_view_name ::= db_name NK_DOT view_name */ - -12, /* (369) cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name col_list_opt tag_def_or_ref_opt subtable_opt AS query_or_subquery */ - -4, /* (370) cmd ::= DROP STREAM exists_opt stream_name */ - -4, /* (371) cmd ::= PAUSE STREAM exists_opt stream_name */ - -5, /* (372) cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ - 0, /* (373) col_list_opt ::= */ - -3, /* (374) col_list_opt ::= NK_LP col_name_list NK_RP */ - 0, /* (375) tag_def_or_ref_opt ::= */ - -1, /* (376) tag_def_or_ref_opt ::= tags_def */ - -4, /* (377) tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ - 0, /* (378) stream_options ::= */ - -3, /* (379) stream_options ::= stream_options TRIGGER AT_ONCE */ - -3, /* (380) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ - -4, /* (381) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ - -3, /* (382) stream_options ::= stream_options WATERMARK duration_literal */ - -4, /* (383) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ - -3, /* (384) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ - -3, /* (385) stream_options ::= stream_options DELETE_MARK duration_literal */ - -4, /* (386) stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ - 0, /* (387) subtable_opt ::= */ - -4, /* (388) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ - 0, /* (389) ignore_opt ::= */ - -2, /* (390) ignore_opt ::= IGNORE UNTREATED */ - -3, /* (391) cmd ::= KILL CONNECTION NK_INTEGER */ - -3, /* (392) cmd ::= KILL QUERY NK_STRING */ - -3, /* (393) cmd ::= KILL TRANSACTION NK_INTEGER */ - -3, /* (394) cmd ::= KILL COMPACT NK_INTEGER */ - -2, /* (395) cmd ::= BALANCE VGROUP */ - -4, /* (396) cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ - -4, /* (397) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ - -4, /* (398) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ - -3, /* (399) cmd ::= SPLIT VGROUP NK_INTEGER */ - 0, /* (400) on_vgroup_id ::= */ - -2, /* (401) on_vgroup_id ::= ON NK_INTEGER */ - -2, /* (402) dnode_list ::= DNODE NK_INTEGER */ - -3, /* (403) dnode_list ::= dnode_list DNODE NK_INTEGER */ - -4, /* (404) cmd ::= DELETE FROM full_table_name where_clause_opt */ - -1, /* (405) cmd ::= query_or_subquery */ - -1, /* (406) cmd ::= insert_query */ - -7, /* (407) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ - -4, /* (408) insert_query ::= INSERT INTO full_table_name query_or_subquery */ - -1, /* (409) literal ::= NK_INTEGER */ - -1, /* (410) literal ::= NK_FLOAT */ - -1, /* (411) literal ::= NK_STRING */ - -1, /* (412) literal ::= NK_BOOL */ - -2, /* (413) literal ::= TIMESTAMP NK_STRING */ - -1, /* (414) literal ::= duration_literal */ - -1, /* (415) literal ::= NULL */ - -1, /* (416) literal ::= NK_QUESTION */ - -1, /* (417) duration_literal ::= NK_VARIABLE */ - -1, /* (418) signed ::= NK_INTEGER */ - -2, /* (419) signed ::= NK_PLUS NK_INTEGER */ - -2, /* (420) signed ::= NK_MINUS NK_INTEGER */ - -1, /* (421) signed ::= NK_FLOAT */ - -2, /* (422) signed ::= NK_PLUS NK_FLOAT */ - -2, /* (423) signed ::= NK_MINUS NK_FLOAT */ - -1, /* (424) signed_literal ::= signed */ - -1, /* (425) signed_literal ::= NK_STRING */ - -1, /* (426) signed_literal ::= NK_BOOL */ - -2, /* (427) signed_literal ::= TIMESTAMP NK_STRING */ - -1, /* (428) signed_literal ::= duration_literal */ - -1, /* (429) signed_literal ::= NULL */ - -1, /* (430) signed_literal ::= literal_func */ - -1, /* (431) signed_literal ::= NK_QUESTION */ - -1, /* (432) literal_list ::= signed_literal */ - -3, /* (433) literal_list ::= literal_list NK_COMMA signed_literal */ - -1, /* (434) db_name ::= NK_ID */ - -1, /* (435) table_name ::= NK_ID */ - -1, /* (436) column_name ::= NK_ID */ - -1, /* (437) function_name ::= NK_ID */ - -1, /* (438) view_name ::= NK_ID */ - -1, /* (439) table_alias ::= NK_ID */ - -1, /* (440) column_alias ::= NK_ID */ - -1, /* (441) column_alias ::= NK_ALIAS */ - -1, /* (442) user_name ::= NK_ID */ - -1, /* (443) topic_name ::= NK_ID */ - -1, /* (444) stream_name ::= NK_ID */ - -1, /* (445) cgroup_name ::= NK_ID */ - -1, /* (446) index_name ::= NK_ID */ - -1, /* (447) expr_or_subquery ::= expression */ - -1, /* (448) expression ::= literal */ - -1, /* (449) expression ::= pseudo_column */ - -1, /* (450) expression ::= column_reference */ - -1, /* (451) expression ::= function_expression */ - -1, /* (452) expression ::= case_when_expression */ - -3, /* (453) expression ::= NK_LP expression NK_RP */ - -2, /* (454) expression ::= NK_PLUS expr_or_subquery */ - -2, /* (455) expression ::= NK_MINUS expr_or_subquery */ - -3, /* (456) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ - -3, /* (457) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ - -3, /* (458) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ - -3, /* (459) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ - -3, /* (460) expression ::= expr_or_subquery NK_REM expr_or_subquery */ - -3, /* (461) expression ::= column_reference NK_ARROW NK_STRING */ - -3, /* (462) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ - -3, /* (463) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ - -1, /* (464) expression_list ::= expr_or_subquery */ - -3, /* (465) expression_list ::= expression_list NK_COMMA expr_or_subquery */ - -1, /* (466) column_reference ::= column_name */ - -3, /* (467) column_reference ::= table_name NK_DOT column_name */ - -1, /* (468) column_reference ::= NK_ALIAS */ - -3, /* (469) column_reference ::= table_name NK_DOT NK_ALIAS */ - -1, /* (470) pseudo_column ::= ROWTS */ - -1, /* (471) pseudo_column ::= TBNAME */ - -3, /* (472) pseudo_column ::= table_name NK_DOT TBNAME */ - -1, /* (473) pseudo_column ::= QSTART */ - -1, /* (474) pseudo_column ::= QEND */ - -1, /* (475) pseudo_column ::= QDURATION */ - -1, /* (476) pseudo_column ::= WSTART */ - -1, /* (477) pseudo_column ::= WEND */ - -1, /* (478) pseudo_column ::= WDURATION */ - -1, /* (479) pseudo_column ::= IROWTS */ - -1, /* (480) pseudo_column ::= ISFILLED */ - -1, /* (481) pseudo_column ::= QTAGS */ - -4, /* (482) function_expression ::= function_name NK_LP expression_list NK_RP */ - -4, /* (483) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ - -6, /* (484) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ - -1, /* (485) function_expression ::= literal_func */ - -3, /* (486) literal_func ::= noarg_func NK_LP NK_RP */ - -1, /* (487) literal_func ::= NOW */ - -1, /* (488) noarg_func ::= NOW */ - -1, /* (489) noarg_func ::= TODAY */ - -1, /* (490) noarg_func ::= TIMEZONE */ - -1, /* (491) noarg_func ::= DATABASE */ - -1, /* (492) noarg_func ::= CLIENT_VERSION */ - -1, /* (493) noarg_func ::= SERVER_VERSION */ - -1, /* (494) noarg_func ::= SERVER_STATUS */ - -1, /* (495) noarg_func ::= CURRENT_USER */ - -1, /* (496) noarg_func ::= USER */ - -1, /* (497) star_func ::= COUNT */ - -1, /* (498) star_func ::= FIRST */ - -1, /* (499) star_func ::= LAST */ - -1, /* (500) star_func ::= LAST_ROW */ - -1, /* (501) star_func_para_list ::= NK_STAR */ - -1, /* (502) star_func_para_list ::= other_para_list */ - -1, /* (503) other_para_list ::= star_func_para */ - -3, /* (504) other_para_list ::= other_para_list NK_COMMA star_func_para */ - -1, /* (505) star_func_para ::= expr_or_subquery */ - -3, /* (506) star_func_para ::= table_name NK_DOT NK_STAR */ - -4, /* (507) case_when_expression ::= CASE when_then_list case_when_else_opt END */ - -5, /* (508) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ - -1, /* (509) when_then_list ::= when_then_expr */ - -2, /* (510) when_then_list ::= when_then_list when_then_expr */ - -4, /* (511) when_then_expr ::= WHEN common_expression THEN common_expression */ - 0, /* (512) case_when_else_opt ::= */ - -2, /* (513) case_when_else_opt ::= ELSE common_expression */ - -3, /* (514) predicate ::= expr_or_subquery compare_op expr_or_subquery */ - -5, /* (515) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ - -6, /* (516) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ - -3, /* (517) predicate ::= expr_or_subquery IS NULL */ - -4, /* (518) predicate ::= expr_or_subquery IS NOT NULL */ - -3, /* (519) predicate ::= expr_or_subquery in_op in_predicate_value */ - -1, /* (520) compare_op ::= NK_LT */ - -1, /* (521) compare_op ::= NK_GT */ - -1, /* (522) compare_op ::= NK_LE */ - -1, /* (523) compare_op ::= NK_GE */ - -1, /* (524) compare_op ::= NK_NE */ - -1, /* (525) compare_op ::= NK_EQ */ - -1, /* (526) compare_op ::= LIKE */ - -2, /* (527) compare_op ::= NOT LIKE */ - -1, /* (528) compare_op ::= MATCH */ - -1, /* (529) compare_op ::= NMATCH */ - -1, /* (530) compare_op ::= CONTAINS */ - -1, /* (531) in_op ::= IN */ - -2, /* (532) in_op ::= NOT IN */ - -3, /* (533) in_predicate_value ::= NK_LP literal_list NK_RP */ - -1, /* (534) boolean_value_expression ::= boolean_primary */ - -2, /* (535) boolean_value_expression ::= NOT boolean_primary */ - -3, /* (536) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ - -3, /* (537) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ - -1, /* (538) boolean_primary ::= predicate */ - -3, /* (539) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ - -1, /* (540) common_expression ::= expr_or_subquery */ - -1, /* (541) common_expression ::= boolean_value_expression */ - 0, /* (542) from_clause_opt ::= */ - -2, /* (543) from_clause_opt ::= FROM table_reference_list */ - -1, /* (544) table_reference_list ::= table_reference */ - -3, /* (545) table_reference_list ::= table_reference_list NK_COMMA table_reference */ - -1, /* (546) table_reference ::= table_primary */ - -1, /* (547) table_reference ::= joined_table */ - -2, /* (548) table_primary ::= table_name alias_opt */ - -4, /* (549) table_primary ::= db_name NK_DOT table_name alias_opt */ - -2, /* (550) table_primary ::= subquery alias_opt */ - -1, /* (551) table_primary ::= parenthesized_joined_table */ - 0, /* (552) alias_opt ::= */ - -1, /* (553) alias_opt ::= table_alias */ - -2, /* (554) alias_opt ::= AS table_alias */ - -3, /* (555) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ - -3, /* (556) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ - -6, /* (557) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ - 0, /* (558) join_type ::= */ - -1, /* (559) join_type ::= INNER */ - -14, /* (560) 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, /* (561) hint_list ::= */ - -1, /* (562) hint_list ::= NK_HINT */ - 0, /* (563) tag_mode_opt ::= */ - -1, /* (564) tag_mode_opt ::= TAGS */ - 0, /* (565) set_quantifier_opt ::= */ - -1, /* (566) set_quantifier_opt ::= DISTINCT */ - -1, /* (567) set_quantifier_opt ::= ALL */ - -1, /* (568) select_list ::= select_item */ - -3, /* (569) select_list ::= select_list NK_COMMA select_item */ - -1, /* (570) select_item ::= NK_STAR */ - -1, /* (571) select_item ::= common_expression */ - -2, /* (572) select_item ::= common_expression column_alias */ - -3, /* (573) select_item ::= common_expression AS column_alias */ - -3, /* (574) select_item ::= table_name NK_DOT NK_STAR */ - 0, /* (575) where_clause_opt ::= */ - -2, /* (576) where_clause_opt ::= WHERE search_condition */ - 0, /* (577) partition_by_clause_opt ::= */ - -3, /* (578) partition_by_clause_opt ::= PARTITION BY partition_list */ - -1, /* (579) partition_list ::= partition_item */ - -3, /* (580) partition_list ::= partition_list NK_COMMA partition_item */ - -1, /* (581) partition_item ::= expr_or_subquery */ - -2, /* (582) partition_item ::= expr_or_subquery column_alias */ - -3, /* (583) partition_item ::= expr_or_subquery AS column_alias */ - 0, /* (584) twindow_clause_opt ::= */ - -6, /* (585) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ - -4, /* (586) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ - -6, /* (587) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ - -8, /* (588) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ - -7, /* (589) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ - -4, /* (590) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ - -6, /* (591) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ - 0, /* (592) sliding_opt ::= */ - -4, /* (593) sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ - -1, /* (594) interval_sliding_duration_literal ::= NK_VARIABLE */ - -1, /* (595) interval_sliding_duration_literal ::= NK_STRING */ - -1, /* (596) interval_sliding_duration_literal ::= NK_INTEGER */ - 0, /* (597) fill_opt ::= */ - -4, /* (598) fill_opt ::= FILL NK_LP fill_mode NK_RP */ - -6, /* (599) fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ - -6, /* (600) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ - -1, /* (601) fill_mode ::= NONE */ - -1, /* (602) fill_mode ::= PREV */ - -1, /* (603) fill_mode ::= NULL */ - -1, /* (604) fill_mode ::= NULL_F */ - -1, /* (605) fill_mode ::= LINEAR */ - -1, /* (606) fill_mode ::= NEXT */ - 0, /* (607) group_by_clause_opt ::= */ - -3, /* (608) group_by_clause_opt ::= GROUP BY group_by_list */ - -1, /* (609) group_by_list ::= expr_or_subquery */ - -3, /* (610) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ - 0, /* (611) having_clause_opt ::= */ - -2, /* (612) having_clause_opt ::= HAVING search_condition */ - 0, /* (613) range_opt ::= */ - -6, /* (614) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ - -4, /* (615) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ - 0, /* (616) every_opt ::= */ - -4, /* (617) every_opt ::= EVERY NK_LP duration_literal NK_RP */ - -4, /* (618) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ - -1, /* (619) query_simple ::= query_specification */ - -1, /* (620) query_simple ::= union_query_expression */ - -4, /* (621) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ - -3, /* (622) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ - -1, /* (623) query_simple_or_subquery ::= query_simple */ - -1, /* (624) query_simple_or_subquery ::= subquery */ - -1, /* (625) query_or_subquery ::= query_expression */ - -1, /* (626) query_or_subquery ::= subquery */ - 0, /* (627) order_by_clause_opt ::= */ - -3, /* (628) order_by_clause_opt ::= ORDER BY sort_specification_list */ - 0, /* (629) slimit_clause_opt ::= */ - -2, /* (630) slimit_clause_opt ::= SLIMIT NK_INTEGER */ - -4, /* (631) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - -4, /* (632) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - 0, /* (633) limit_clause_opt ::= */ - -2, /* (634) limit_clause_opt ::= LIMIT NK_INTEGER */ - -4, /* (635) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ - -4, /* (636) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - -3, /* (637) subquery ::= NK_LP query_expression NK_RP */ - -3, /* (638) subquery ::= NK_LP subquery NK_RP */ - -1, /* (639) search_condition ::= common_expression */ - -1, /* (640) sort_specification_list ::= sort_specification */ - -3, /* (641) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ - -3, /* (642) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ - 0, /* (643) ordering_specification_opt ::= */ - -1, /* (644) ordering_specification_opt ::= ASC */ - -1, /* (645) ordering_specification_opt ::= DESC */ - 0, /* (646) null_ordering_opt ::= */ - -2, /* (647) null_ordering_opt ::= NULLS FIRST */ - -2, /* (648) null_ordering_opt ::= NULLS LAST */ + -5, /* (176) alter_table_clause ::= full_table_name MODIFY COLUMN column_name column_options */ + -5, /* (177) alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */ + -5, /* (178) alter_table_clause ::= full_table_name ADD TAG column_name type_name */ + -4, /* (179) alter_table_clause ::= full_table_name DROP TAG column_name */ + -5, /* (180) alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */ + -5, /* (181) alter_table_clause ::= full_table_name RENAME TAG column_name column_name */ + -6, /* (182) alter_table_clause ::= full_table_name SET TAG column_name NK_EQ signed_literal */ + -1, /* (183) multi_create_clause ::= create_subtable_clause */ + -2, /* (184) multi_create_clause ::= multi_create_clause create_subtable_clause */ + -10, /* (185) create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_cols_opt TAGS NK_LP expression_list NK_RP table_options */ + -1, /* (186) multi_drop_clause ::= drop_table_clause */ + -3, /* (187) multi_drop_clause ::= multi_drop_clause NK_COMMA drop_table_clause */ + -2, /* (188) drop_table_clause ::= exists_opt full_table_name */ + 0, /* (189) specific_cols_opt ::= */ + -3, /* (190) specific_cols_opt ::= NK_LP col_name_list NK_RP */ + -1, /* (191) full_table_name ::= table_name */ + -3, /* (192) full_table_name ::= db_name NK_DOT table_name */ + -1, /* (193) tag_def_list ::= tag_def */ + -3, /* (194) tag_def_list ::= tag_def_list NK_COMMA tag_def */ + -2, /* (195) tag_def ::= column_name type_name */ + -1, /* (196) column_def_list ::= column_def */ + -3, /* (197) column_def_list ::= column_def_list NK_COMMA column_def */ + -3, /* (198) column_def ::= column_name type_name column_options */ + -1, /* (199) type_name ::= BOOL */ + -1, /* (200) type_name ::= TINYINT */ + -1, /* (201) type_name ::= SMALLINT */ + -1, /* (202) type_name ::= INT */ + -1, /* (203) type_name ::= INTEGER */ + -1, /* (204) type_name ::= BIGINT */ + -1, /* (205) type_name ::= FLOAT */ + -1, /* (206) type_name ::= DOUBLE */ + -4, /* (207) type_name ::= BINARY NK_LP NK_INTEGER NK_RP */ + -1, /* (208) type_name ::= TIMESTAMP */ + -4, /* (209) type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */ + -2, /* (210) type_name ::= TINYINT UNSIGNED */ + -2, /* (211) type_name ::= SMALLINT UNSIGNED */ + -2, /* (212) type_name ::= INT UNSIGNED */ + -2, /* (213) type_name ::= BIGINT UNSIGNED */ + -1, /* (214) type_name ::= JSON */ + -4, /* (215) type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */ + -1, /* (216) type_name ::= MEDIUMBLOB */ + -1, /* (217) type_name ::= BLOB */ + -4, /* (218) type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */ + -4, /* (219) type_name ::= GEOMETRY NK_LP NK_INTEGER NK_RP */ + -1, /* (220) type_name ::= DECIMAL */ + -4, /* (221) type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */ + -6, /* (222) type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ + 0, /* (223) tags_def_opt ::= */ + -1, /* (224) tags_def_opt ::= tags_def */ + -4, /* (225) tags_def ::= TAGS NK_LP tag_def_list NK_RP */ + 0, /* (226) table_options ::= */ + -3, /* (227) table_options ::= table_options COMMENT NK_STRING */ + -3, /* (228) table_options ::= table_options MAX_DELAY duration_list */ + -3, /* (229) table_options ::= table_options WATERMARK duration_list */ + -5, /* (230) table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ + -3, /* (231) table_options ::= table_options TTL NK_INTEGER */ + -5, /* (232) table_options ::= table_options SMA NK_LP col_name_list NK_RP */ + -3, /* (233) table_options ::= table_options DELETE_MARK duration_list */ + -1, /* (234) alter_table_options ::= alter_table_option */ + -2, /* (235) alter_table_options ::= alter_table_options alter_table_option */ + -2, /* (236) alter_table_option ::= COMMENT NK_STRING */ + -2, /* (237) alter_table_option ::= TTL NK_INTEGER */ + -1, /* (238) duration_list ::= duration_literal */ + -3, /* (239) duration_list ::= duration_list NK_COMMA duration_literal */ + -1, /* (240) rollup_func_list ::= rollup_func_name */ + -3, /* (241) rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ + -1, /* (242) rollup_func_name ::= function_name */ + -1, /* (243) rollup_func_name ::= FIRST */ + -1, /* (244) rollup_func_name ::= LAST */ + -1, /* (245) col_name_list ::= col_name */ + -3, /* (246) col_name_list ::= col_name_list NK_COMMA col_name */ + -1, /* (247) col_name ::= column_name */ + -2, /* (248) cmd ::= SHOW DNODES */ + -2, /* (249) cmd ::= SHOW USERS */ + -3, /* (250) cmd ::= SHOW USER PRIVILEGES */ + -3, /* (251) cmd ::= SHOW db_kind_opt DATABASES */ + -4, /* (252) cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ + -4, /* (253) cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ + -3, /* (254) cmd ::= SHOW db_name_cond_opt VGROUPS */ + -2, /* (255) cmd ::= SHOW MNODES */ + -2, /* (256) cmd ::= SHOW QNODES */ + -2, /* (257) cmd ::= SHOW FUNCTIONS */ + -5, /* (258) cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ + -6, /* (259) cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ + -2, /* (260) cmd ::= SHOW STREAMS */ + -2, /* (261) cmd ::= SHOW ACCOUNTS */ + -2, /* (262) cmd ::= SHOW APPS */ + -2, /* (263) cmd ::= SHOW CONNECTIONS */ + -2, /* (264) cmd ::= SHOW LICENCES */ + -2, /* (265) cmd ::= SHOW GRANTS */ + -3, /* (266) cmd ::= SHOW GRANTS FULL */ + -3, /* (267) cmd ::= SHOW GRANTS LOGS */ + -3, /* (268) cmd ::= SHOW CLUSTER MACHINES */ + -4, /* (269) cmd ::= SHOW CREATE DATABASE db_name */ + -4, /* (270) cmd ::= SHOW CREATE TABLE full_table_name */ + -4, /* (271) cmd ::= SHOW CREATE STABLE full_table_name */ + -2, /* (272) cmd ::= SHOW QUERIES */ + -2, /* (273) cmd ::= SHOW SCORES */ + -2, /* (274) cmd ::= SHOW TOPICS */ + -2, /* (275) cmd ::= SHOW VARIABLES */ + -3, /* (276) cmd ::= SHOW CLUSTER VARIABLES */ + -3, /* (277) cmd ::= SHOW LOCAL VARIABLES */ + -5, /* (278) cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ + -2, /* (279) cmd ::= SHOW BNODES */ + -2, /* (280) cmd ::= SHOW SNODES */ + -2, /* (281) cmd ::= SHOW CLUSTER */ + -2, /* (282) cmd ::= SHOW TRANSACTIONS */ + -4, /* (283) cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ + -2, /* (284) cmd ::= SHOW CONSUMERS */ + -2, /* (285) cmd ::= SHOW SUBSCRIPTIONS */ + -5, /* (286) cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ + -6, /* (287) cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ + -7, /* (288) cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ + -8, /* (289) cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name */ + -5, /* (290) cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ + -2, /* (291) cmd ::= SHOW VNODES */ + -3, /* (292) cmd ::= SHOW db_name_cond_opt ALIVE */ + -3, /* (293) cmd ::= SHOW CLUSTER ALIVE */ + -4, /* (294) cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt */ + -4, /* (295) cmd ::= SHOW CREATE VIEW full_table_name */ + -2, /* (296) cmd ::= SHOW COMPACTS */ + -3, /* (297) cmd ::= SHOW COMPACT NK_INTEGER */ + 0, /* (298) table_kind_db_name_cond_opt ::= */ + -1, /* (299) table_kind_db_name_cond_opt ::= table_kind */ + -2, /* (300) table_kind_db_name_cond_opt ::= db_name NK_DOT */ + -3, /* (301) table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ + -1, /* (302) table_kind ::= NORMAL */ + -1, /* (303) table_kind ::= CHILD */ + 0, /* (304) db_name_cond_opt ::= */ + -2, /* (305) db_name_cond_opt ::= db_name NK_DOT */ + 0, /* (306) like_pattern_opt ::= */ + -2, /* (307) like_pattern_opt ::= LIKE NK_STRING */ + -1, /* (308) table_name_cond ::= table_name */ + 0, /* (309) from_db_opt ::= */ + -2, /* (310) from_db_opt ::= FROM db_name */ + 0, /* (311) tag_list_opt ::= */ + -1, /* (312) tag_list_opt ::= tag_item */ + -3, /* (313) tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ + -1, /* (314) tag_item ::= TBNAME */ + -1, /* (315) tag_item ::= QTAGS */ + -1, /* (316) tag_item ::= column_name */ + -2, /* (317) tag_item ::= column_name column_alias */ + -3, /* (318) tag_item ::= column_name AS column_alias */ + 0, /* (319) db_kind_opt ::= */ + -1, /* (320) db_kind_opt ::= USER */ + -1, /* (321) db_kind_opt ::= SYSTEM */ + -8, /* (322) cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options */ + -9, /* (323) cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP */ + -4, /* (324) cmd ::= DROP INDEX exists_opt full_index_name */ + -1, /* (325) full_index_name ::= index_name */ + -3, /* (326) full_index_name ::= db_name NK_DOT index_name */ + -10, /* (327) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ + -12, /* (328) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt sma_stream_opt */ + -1, /* (329) func_list ::= func */ + -3, /* (330) func_list ::= func_list NK_COMMA func */ + -4, /* (331) func ::= sma_func_name NK_LP expression_list NK_RP */ + -1, /* (332) sma_func_name ::= function_name */ + -1, /* (333) sma_func_name ::= COUNT */ + -1, /* (334) sma_func_name ::= FIRST */ + -1, /* (335) sma_func_name ::= LAST */ + -1, /* (336) sma_func_name ::= LAST_ROW */ + 0, /* (337) sma_stream_opt ::= */ + -3, /* (338) sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ + -3, /* (339) sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ + -3, /* (340) sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ + -1, /* (341) with_meta ::= AS */ + -3, /* (342) with_meta ::= WITH META AS */ + -3, /* (343) with_meta ::= ONLY META AS */ + -6, /* (344) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ + -7, /* (345) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ + -8, /* (346) cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ + -4, /* (347) cmd ::= DROP TOPIC exists_opt topic_name */ + -7, /* (348) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ + -2, /* (349) cmd ::= DESC full_table_name */ + -2, /* (350) cmd ::= DESCRIBE full_table_name */ + -3, /* (351) cmd ::= RESET QUERY CACHE */ + -4, /* (352) cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ + -4, /* (353) cmd ::= EXPLAIN analyze_opt explain_options insert_query */ + 0, /* (354) analyze_opt ::= */ + -1, /* (355) analyze_opt ::= ANALYZE */ + 0, /* (356) explain_options ::= */ + -3, /* (357) explain_options ::= explain_options VERBOSE NK_BOOL */ + -3, /* (358) explain_options ::= explain_options RATIO NK_FLOAT */ + -12, /* (359) cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt */ + -4, /* (360) cmd ::= DROP FUNCTION exists_opt function_name */ + 0, /* (361) agg_func_opt ::= */ + -1, /* (362) agg_func_opt ::= AGGREGATE */ + 0, /* (363) bufsize_opt ::= */ + -2, /* (364) bufsize_opt ::= BUFSIZE NK_INTEGER */ + 0, /* (365) language_opt ::= */ + -2, /* (366) language_opt ::= LANGUAGE NK_STRING */ + 0, /* (367) or_replace_opt ::= */ + -2, /* (368) or_replace_opt ::= OR REPLACE */ + -6, /* (369) cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ + -4, /* (370) cmd ::= DROP VIEW exists_opt full_view_name */ + -1, /* (371) full_view_name ::= view_name */ + -3, /* (372) full_view_name ::= db_name NK_DOT view_name */ + -12, /* (373) cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name col_list_opt tag_def_or_ref_opt subtable_opt AS query_or_subquery */ + -4, /* (374) cmd ::= DROP STREAM exists_opt stream_name */ + -4, /* (375) cmd ::= PAUSE STREAM exists_opt stream_name */ + -5, /* (376) cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ + 0, /* (377) col_list_opt ::= */ + -3, /* (378) col_list_opt ::= NK_LP col_name_list NK_RP */ + 0, /* (379) tag_def_or_ref_opt ::= */ + -1, /* (380) tag_def_or_ref_opt ::= tags_def */ + -4, /* (381) tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ + 0, /* (382) stream_options ::= */ + -3, /* (383) stream_options ::= stream_options TRIGGER AT_ONCE */ + -3, /* (384) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ + -4, /* (385) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ + -3, /* (386) stream_options ::= stream_options WATERMARK duration_literal */ + -4, /* (387) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ + -3, /* (388) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ + -3, /* (389) stream_options ::= stream_options DELETE_MARK duration_literal */ + -4, /* (390) stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ + 0, /* (391) subtable_opt ::= */ + -4, /* (392) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ + 0, /* (393) ignore_opt ::= */ + -2, /* (394) ignore_opt ::= IGNORE UNTREATED */ + -3, /* (395) cmd ::= KILL CONNECTION NK_INTEGER */ + -3, /* (396) cmd ::= KILL QUERY NK_STRING */ + -3, /* (397) cmd ::= KILL TRANSACTION NK_INTEGER */ + -3, /* (398) cmd ::= KILL COMPACT NK_INTEGER */ + -2, /* (399) cmd ::= BALANCE VGROUP */ + -4, /* (400) cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ + -4, /* (401) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ + -4, /* (402) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ + -3, /* (403) cmd ::= SPLIT VGROUP NK_INTEGER */ + 0, /* (404) on_vgroup_id ::= */ + -2, /* (405) on_vgroup_id ::= ON NK_INTEGER */ + -2, /* (406) dnode_list ::= DNODE NK_INTEGER */ + -3, /* (407) dnode_list ::= dnode_list DNODE NK_INTEGER */ + -4, /* (408) cmd ::= DELETE FROM full_table_name where_clause_opt */ + -1, /* (409) cmd ::= query_or_subquery */ + -1, /* (410) cmd ::= insert_query */ + -7, /* (411) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ + -4, /* (412) insert_query ::= INSERT INTO full_table_name query_or_subquery */ + -1, /* (413) literal ::= NK_INTEGER */ + -1, /* (414) literal ::= NK_FLOAT */ + -1, /* (415) literal ::= NK_STRING */ + -1, /* (416) literal ::= NK_BOOL */ + -2, /* (417) literal ::= TIMESTAMP NK_STRING */ + -1, /* (418) literal ::= duration_literal */ + -1, /* (419) literal ::= NULL */ + -1, /* (420) literal ::= NK_QUESTION */ + -1, /* (421) duration_literal ::= NK_VARIABLE */ + -1, /* (422) signed ::= NK_INTEGER */ + -2, /* (423) signed ::= NK_PLUS NK_INTEGER */ + -2, /* (424) signed ::= NK_MINUS NK_INTEGER */ + -1, /* (425) signed ::= NK_FLOAT */ + -2, /* (426) signed ::= NK_PLUS NK_FLOAT */ + -2, /* (427) signed ::= NK_MINUS NK_FLOAT */ + -1, /* (428) signed_literal ::= signed */ + -1, /* (429) signed_literal ::= NK_STRING */ + -1, /* (430) signed_literal ::= NK_BOOL */ + -2, /* (431) signed_literal ::= TIMESTAMP NK_STRING */ + -1, /* (432) signed_literal ::= duration_literal */ + -1, /* (433) signed_literal ::= NULL */ + -1, /* (434) signed_literal ::= literal_func */ + -1, /* (435) signed_literal ::= NK_QUESTION */ + -1, /* (436) literal_list ::= signed_literal */ + -3, /* (437) literal_list ::= literal_list NK_COMMA signed_literal */ + -1, /* (438) db_name ::= NK_ID */ + -1, /* (439) table_name ::= NK_ID */ + -1, /* (440) column_name ::= NK_ID */ + -1, /* (441) function_name ::= NK_ID */ + -1, /* (442) view_name ::= NK_ID */ + -1, /* (443) table_alias ::= NK_ID */ + -1, /* (444) column_alias ::= NK_ID */ + -1, /* (445) column_alias ::= NK_ALIAS */ + -1, /* (446) user_name ::= NK_ID */ + -1, /* (447) topic_name ::= NK_ID */ + -1, /* (448) stream_name ::= NK_ID */ + -1, /* (449) cgroup_name ::= NK_ID */ + -1, /* (450) index_name ::= NK_ID */ + -1, /* (451) expr_or_subquery ::= expression */ + -1, /* (452) expression ::= literal */ + -1, /* (453) expression ::= pseudo_column */ + -1, /* (454) expression ::= column_reference */ + -1, /* (455) expression ::= function_expression */ + -1, /* (456) expression ::= case_when_expression */ + -3, /* (457) expression ::= NK_LP expression NK_RP */ + -2, /* (458) expression ::= NK_PLUS expr_or_subquery */ + -2, /* (459) expression ::= NK_MINUS expr_or_subquery */ + -3, /* (460) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ + -3, /* (461) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ + -3, /* (462) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ + -3, /* (463) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ + -3, /* (464) expression ::= expr_or_subquery NK_REM expr_or_subquery */ + -3, /* (465) expression ::= column_reference NK_ARROW NK_STRING */ + -3, /* (466) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ + -3, /* (467) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ + -1, /* (468) expression_list ::= expr_or_subquery */ + -3, /* (469) expression_list ::= expression_list NK_COMMA expr_or_subquery */ + -1, /* (470) column_reference ::= column_name */ + -3, /* (471) column_reference ::= table_name NK_DOT column_name */ + -1, /* (472) column_reference ::= NK_ALIAS */ + -3, /* (473) column_reference ::= table_name NK_DOT NK_ALIAS */ + -1, /* (474) pseudo_column ::= ROWTS */ + -1, /* (475) pseudo_column ::= TBNAME */ + -3, /* (476) pseudo_column ::= table_name NK_DOT TBNAME */ + -1, /* (477) pseudo_column ::= QSTART */ + -1, /* (478) pseudo_column ::= QEND */ + -1, /* (479) pseudo_column ::= QDURATION */ + -1, /* (480) pseudo_column ::= WSTART */ + -1, /* (481) pseudo_column ::= WEND */ + -1, /* (482) pseudo_column ::= WDURATION */ + -1, /* (483) pseudo_column ::= IROWTS */ + -1, /* (484) pseudo_column ::= ISFILLED */ + -1, /* (485) pseudo_column ::= QTAGS */ + -4, /* (486) function_expression ::= function_name NK_LP expression_list NK_RP */ + -4, /* (487) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ + -6, /* (488) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ + -1, /* (489) function_expression ::= literal_func */ + -3, /* (490) literal_func ::= noarg_func NK_LP NK_RP */ + -1, /* (491) literal_func ::= NOW */ + -1, /* (492) noarg_func ::= NOW */ + -1, /* (493) noarg_func ::= TODAY */ + -1, /* (494) noarg_func ::= TIMEZONE */ + -1, /* (495) noarg_func ::= DATABASE */ + -1, /* (496) noarg_func ::= CLIENT_VERSION */ + -1, /* (497) noarg_func ::= SERVER_VERSION */ + -1, /* (498) noarg_func ::= SERVER_STATUS */ + -1, /* (499) noarg_func ::= CURRENT_USER */ + -1, /* (500) noarg_func ::= USER */ + -1, /* (501) star_func ::= COUNT */ + -1, /* (502) star_func ::= FIRST */ + -1, /* (503) star_func ::= LAST */ + -1, /* (504) star_func ::= LAST_ROW */ + -1, /* (505) star_func_para_list ::= NK_STAR */ + -1, /* (506) star_func_para_list ::= other_para_list */ + -1, /* (507) other_para_list ::= star_func_para */ + -3, /* (508) other_para_list ::= other_para_list NK_COMMA star_func_para */ + -1, /* (509) star_func_para ::= expr_or_subquery */ + -3, /* (510) star_func_para ::= table_name NK_DOT NK_STAR */ + -4, /* (511) case_when_expression ::= CASE when_then_list case_when_else_opt END */ + -5, /* (512) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ + -1, /* (513) when_then_list ::= when_then_expr */ + -2, /* (514) when_then_list ::= when_then_list when_then_expr */ + -4, /* (515) when_then_expr ::= WHEN common_expression THEN common_expression */ + 0, /* (516) case_when_else_opt ::= */ + -2, /* (517) case_when_else_opt ::= ELSE common_expression */ + -3, /* (518) predicate ::= expr_or_subquery compare_op expr_or_subquery */ + -5, /* (519) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ + -6, /* (520) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ + -3, /* (521) predicate ::= expr_or_subquery IS NULL */ + -4, /* (522) predicate ::= expr_or_subquery IS NOT NULL */ + -3, /* (523) predicate ::= expr_or_subquery in_op in_predicate_value */ + -1, /* (524) compare_op ::= NK_LT */ + -1, /* (525) compare_op ::= NK_GT */ + -1, /* (526) compare_op ::= NK_LE */ + -1, /* (527) compare_op ::= NK_GE */ + -1, /* (528) compare_op ::= NK_NE */ + -1, /* (529) compare_op ::= NK_EQ */ + -1, /* (530) compare_op ::= LIKE */ + -2, /* (531) compare_op ::= NOT LIKE */ + -1, /* (532) compare_op ::= MATCH */ + -1, /* (533) compare_op ::= NMATCH */ + -1, /* (534) compare_op ::= CONTAINS */ + -1, /* (535) in_op ::= IN */ + -2, /* (536) in_op ::= NOT IN */ + -3, /* (537) in_predicate_value ::= NK_LP literal_list NK_RP */ + -1, /* (538) boolean_value_expression ::= boolean_primary */ + -2, /* (539) boolean_value_expression ::= NOT boolean_primary */ + -3, /* (540) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ + -3, /* (541) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ + -1, /* (542) boolean_primary ::= predicate */ + -3, /* (543) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ + -1, /* (544) common_expression ::= expr_or_subquery */ + -1, /* (545) common_expression ::= boolean_value_expression */ + 0, /* (546) from_clause_opt ::= */ + -2, /* (547) from_clause_opt ::= FROM table_reference_list */ + -1, /* (548) table_reference_list ::= table_reference */ + -3, /* (549) table_reference_list ::= table_reference_list NK_COMMA table_reference */ + -1, /* (550) table_reference ::= table_primary */ + -1, /* (551) table_reference ::= joined_table */ + -2, /* (552) table_primary ::= table_name alias_opt */ + -4, /* (553) table_primary ::= db_name NK_DOT table_name alias_opt */ + -2, /* (554) table_primary ::= subquery alias_opt */ + -1, /* (555) table_primary ::= parenthesized_joined_table */ + 0, /* (556) alias_opt ::= */ + -1, /* (557) alias_opt ::= table_alias */ + -2, /* (558) alias_opt ::= AS table_alias */ + -3, /* (559) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ + -3, /* (560) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ + -6, /* (561) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ + 0, /* (562) join_type ::= */ + -1, /* (563) join_type ::= INNER */ + -14, /* (564) 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, /* (565) hint_list ::= */ + -1, /* (566) hint_list ::= NK_HINT */ + 0, /* (567) tag_mode_opt ::= */ + -1, /* (568) tag_mode_opt ::= TAGS */ + 0, /* (569) set_quantifier_opt ::= */ + -1, /* (570) set_quantifier_opt ::= DISTINCT */ + -1, /* (571) set_quantifier_opt ::= ALL */ + -1, /* (572) select_list ::= select_item */ + -3, /* (573) select_list ::= select_list NK_COMMA select_item */ + -1, /* (574) select_item ::= NK_STAR */ + -1, /* (575) select_item ::= common_expression */ + -2, /* (576) select_item ::= common_expression column_alias */ + -3, /* (577) select_item ::= common_expression AS column_alias */ + -3, /* (578) select_item ::= table_name NK_DOT NK_STAR */ + 0, /* (579) where_clause_opt ::= */ + -2, /* (580) where_clause_opt ::= WHERE search_condition */ + 0, /* (581) partition_by_clause_opt ::= */ + -3, /* (582) partition_by_clause_opt ::= PARTITION BY partition_list */ + -1, /* (583) partition_list ::= partition_item */ + -3, /* (584) partition_list ::= partition_list NK_COMMA partition_item */ + -1, /* (585) partition_item ::= expr_or_subquery */ + -2, /* (586) partition_item ::= expr_or_subquery column_alias */ + -3, /* (587) partition_item ::= expr_or_subquery AS column_alias */ + 0, /* (588) twindow_clause_opt ::= */ + -6, /* (589) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ + -4, /* (590) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ + -6, /* (591) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + -8, /* (592) twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ + -7, /* (593) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ + -4, /* (594) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ + -6, /* (595) twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ + 0, /* (596) sliding_opt ::= */ + -4, /* (597) sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ + -1, /* (598) interval_sliding_duration_literal ::= NK_VARIABLE */ + -1, /* (599) interval_sliding_duration_literal ::= NK_STRING */ + -1, /* (600) interval_sliding_duration_literal ::= NK_INTEGER */ + 0, /* (601) fill_opt ::= */ + -4, /* (602) fill_opt ::= FILL NK_LP fill_mode NK_RP */ + -6, /* (603) fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ + -6, /* (604) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ + -1, /* (605) fill_mode ::= NONE */ + -1, /* (606) fill_mode ::= PREV */ + -1, /* (607) fill_mode ::= NULL */ + -1, /* (608) fill_mode ::= NULL_F */ + -1, /* (609) fill_mode ::= LINEAR */ + -1, /* (610) fill_mode ::= NEXT */ + 0, /* (611) group_by_clause_opt ::= */ + -3, /* (612) group_by_clause_opt ::= GROUP BY group_by_list */ + -1, /* (613) group_by_list ::= expr_or_subquery */ + -3, /* (614) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ + 0, /* (615) having_clause_opt ::= */ + -2, /* (616) having_clause_opt ::= HAVING search_condition */ + 0, /* (617) range_opt ::= */ + -6, /* (618) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ + -4, /* (619) range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ + 0, /* (620) every_opt ::= */ + -4, /* (621) every_opt ::= EVERY NK_LP duration_literal NK_RP */ + -4, /* (622) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + -1, /* (623) query_simple ::= query_specification */ + -1, /* (624) query_simple ::= union_query_expression */ + -4, /* (625) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ + -3, /* (626) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ + -1, /* (627) query_simple_or_subquery ::= query_simple */ + -1, /* (628) query_simple_or_subquery ::= subquery */ + -1, /* (629) query_or_subquery ::= query_expression */ + -1, /* (630) query_or_subquery ::= subquery */ + 0, /* (631) order_by_clause_opt ::= */ + -3, /* (632) order_by_clause_opt ::= ORDER BY sort_specification_list */ + 0, /* (633) slimit_clause_opt ::= */ + -2, /* (634) slimit_clause_opt ::= SLIMIT NK_INTEGER */ + -4, /* (635) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + -4, /* (636) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + 0, /* (637) limit_clause_opt ::= */ + -2, /* (638) limit_clause_opt ::= LIMIT NK_INTEGER */ + -4, /* (639) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ + -4, /* (640) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + -3, /* (641) subquery ::= NK_LP query_expression NK_RP */ + -3, /* (642) subquery ::= NK_LP subquery NK_RP */ + -1, /* (643) search_condition ::= common_expression */ + -1, /* (644) sort_specification_list ::= sort_specification */ + -3, /* (645) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ + -3, /* (646) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ + 0, /* (647) ordering_specification_opt ::= */ + -1, /* (648) ordering_specification_opt ::= ASC */ + -1, /* (649) ordering_specification_opt ::= DESC */ + 0, /* (650) null_ordering_opt ::= */ + -2, /* (651) null_ordering_opt ::= NULLS FIRST */ + -2, /* (652) null_ordering_opt ::= NULLS LAST */ + 0, /* (653) column_options ::= */ + -3, /* (654) column_options ::= column_options ENCODE NK_STRING */ + -3, /* (655) column_options ::= column_options COMPRESS NK_STRING */ + -3, /* (656) column_options ::= column_options LEVEL NK_STRING */ }; static void yy_accept(yyParser*); /* Forward Declaration */ @@ -5028,15 +5076,21 @@ static YYACTIONTYPE yy_reduce( /********** Begin reduce actions **********************************************/ YYMINORTYPE yylhsminor; case 0: /* cmd ::= CREATE ACCOUNT NK_ID PASS NK_STRING account_options */ +#line 50 "sql.y" { pCxt->errCode = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_EXPRIE_STATEMENT); } - yy_destructor(yypParser,352,&yymsp[0].minor); +#line 5081 "sql.c" + yy_destructor(yypParser,355,&yymsp[0].minor); break; case 1: /* cmd ::= ALTER ACCOUNT NK_ID alter_account_options */ +#line 51 "sql.y" { pCxt->errCode = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_EXPRIE_STATEMENT); } - yy_destructor(yypParser,353,&yymsp[0].minor); +#line 5087 "sql.c" + yy_destructor(yypParser,356,&yymsp[0].minor); break; case 2: /* account_options ::= */ +#line 55 "sql.y" { } +#line 5093 "sql.c" break; case 3: /* account_options ::= account_options PPS literal */ case 4: /* account_options ::= account_options TSERIES literal */ yytestcase(yyruleno==4); @@ -5047,20 +5101,26 @@ 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,352,&yymsp[-2].minor); +{ yy_destructor(yypParser,355,&yymsp[-2].minor); +#line 56 "sql.y" { } - yy_destructor(yypParser,354,&yymsp[0].minor); +#line 5107 "sql.c" + yy_destructor(yypParser,357,&yymsp[0].minor); } break; case 12: /* alter_account_options ::= alter_account_option */ -{ yy_destructor(yypParser,355,&yymsp[0].minor); +{ yy_destructor(yypParser,358,&yymsp[0].minor); +#line 68 "sql.y" { } +#line 5115 "sql.c" } break; case 13: /* alter_account_options ::= alter_account_options alter_account_option */ -{ yy_destructor(yypParser,353,&yymsp[-1].minor); +{ yy_destructor(yypParser,356,&yymsp[-1].minor); +#line 69 "sql.y" { } - yy_destructor(yypParser,355,&yymsp[0].minor); +#line 5122 "sql.c" + yy_destructor(yypParser,358,&yymsp[0].minor); } break; case 14: /* alter_account_option ::= PASS literal */ @@ -5073,1792 +5133,2705 @@ static YYACTIONTYPE yy_reduce( case 21: /* alter_account_option ::= USERS literal */ yytestcase(yyruleno==21); case 22: /* alter_account_option ::= CONNS literal */ yytestcase(yyruleno==22); case 23: /* alter_account_option ::= STATE literal */ yytestcase(yyruleno==23); +#line 73 "sql.y" { } - yy_destructor(yypParser,354,&yymsp[0].minor); +#line 5138 "sql.c" + yy_destructor(yypParser,357,&yymsp[0].minor); break; case 24: /* ip_range_list ::= NK_STRING */ -{ yylhsminor.yy536 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy536 = yylhsminor.yy536; +#line 86 "sql.y" +{ yylhsminor.yy404 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } +#line 5144 "sql.c" + yymsp[0].minor.yy404 = yylhsminor.yy404; break; case 25: /* ip_range_list ::= ip_range_list NK_COMMA NK_STRING */ -{ yylhsminor.yy536 = addNodeToList(pCxt, yymsp[-2].minor.yy536, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy536 = yylhsminor.yy536; +#line 87 "sql.y" +{ yylhsminor.yy404 = addNodeToList(pCxt, yymsp[-2].minor.yy404, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } +#line 5150 "sql.c" + yymsp[-2].minor.yy404 = yylhsminor.yy404; break; case 26: /* white_list ::= HOST ip_range_list */ -{ yymsp[-1].minor.yy536 = yymsp[0].minor.yy536; } +#line 91 "sql.y" +{ yymsp[-1].minor.yy404 = yymsp[0].minor.yy404; } +#line 5156 "sql.c" break; case 27: /* white_list_opt ::= */ - case 188: /* specific_cols_opt ::= */ yytestcase(yyruleno==188); - case 219: /* tags_def_opt ::= */ yytestcase(yyruleno==219); - case 307: /* tag_list_opt ::= */ yytestcase(yyruleno==307); - case 373: /* col_list_opt ::= */ yytestcase(yyruleno==373); - case 375: /* tag_def_or_ref_opt ::= */ yytestcase(yyruleno==375); - case 577: /* partition_by_clause_opt ::= */ yytestcase(yyruleno==577); - case 607: /* group_by_clause_opt ::= */ yytestcase(yyruleno==607); - case 627: /* order_by_clause_opt ::= */ yytestcase(yyruleno==627); -{ yymsp[1].minor.yy536 = NULL; } + case 189: /* specific_cols_opt ::= */ yytestcase(yyruleno==189); + case 223: /* tags_def_opt ::= */ yytestcase(yyruleno==223); + case 311: /* tag_list_opt ::= */ yytestcase(yyruleno==311); + case 377: /* col_list_opt ::= */ yytestcase(yyruleno==377); + case 379: /* tag_def_or_ref_opt ::= */ yytestcase(yyruleno==379); + case 581: /* partition_by_clause_opt ::= */ yytestcase(yyruleno==581); + case 611: /* group_by_clause_opt ::= */ yytestcase(yyruleno==611); + case 631: /* order_by_clause_opt ::= */ yytestcase(yyruleno==631); +#line 95 "sql.y" +{ yymsp[1].minor.yy404 = NULL; } +#line 5169 "sql.c" break; case 28: /* white_list_opt ::= white_list */ - case 220: /* tags_def_opt ::= tags_def */ yytestcase(yyruleno==220); - case 376: /* tag_def_or_ref_opt ::= tags_def */ yytestcase(yyruleno==376); - case 502: /* star_func_para_list ::= other_para_list */ yytestcase(yyruleno==502); -{ yylhsminor.yy536 = yymsp[0].minor.yy536; } - yymsp[0].minor.yy536 = yylhsminor.yy536; + case 224: /* tags_def_opt ::= tags_def */ yytestcase(yyruleno==224); + case 380: /* tag_def_or_ref_opt ::= tags_def */ yytestcase(yyruleno==380); + case 506: /* star_func_para_list ::= other_para_list */ yytestcase(yyruleno==506); +#line 96 "sql.y" +{ yylhsminor.yy404 = yymsp[0].minor.yy404; } +#line 5177 "sql.c" + yymsp[0].minor.yy404 = yylhsminor.yy404; break; case 29: /* cmd ::= CREATE USER user_name PASS NK_STRING sysinfo_opt white_list_opt */ +#line 100 "sql.y" { - pCxt->pRootNode = createCreateUserStmt(pCxt, &yymsp[-4].minor.yy929, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy695); - pCxt->pRootNode = addCreateUserStmtWhiteList(pCxt, pCxt->pRootNode, yymsp[0].minor.yy536); + pCxt->pRootNode = createCreateUserStmt(pCxt, &yymsp[-4].minor.yy701, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy915); + pCxt->pRootNode = addCreateUserStmtWhiteList(pCxt, pCxt->pRootNode, yymsp[0].minor.yy404); } +#line 5186 "sql.c" break; case 30: /* cmd ::= ALTER USER user_name PASS NK_STRING */ -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy929, TSDB_ALTER_USER_PASSWD, &yymsp[0].minor.yy0); } +#line 104 "sql.y" +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy701, TSDB_ALTER_USER_PASSWD, &yymsp[0].minor.yy0); } +#line 5191 "sql.c" break; case 31: /* cmd ::= ALTER USER user_name ENABLE NK_INTEGER */ -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy929, TSDB_ALTER_USER_ENABLE, &yymsp[0].minor.yy0); } +#line 105 "sql.y" +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy701, TSDB_ALTER_USER_ENABLE, &yymsp[0].minor.yy0); } +#line 5196 "sql.c" break; case 32: /* cmd ::= ALTER USER user_name SYSINFO NK_INTEGER */ -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy929, TSDB_ALTER_USER_SYSINFO, &yymsp[0].minor.yy0); } +#line 106 "sql.y" +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy701, TSDB_ALTER_USER_SYSINFO, &yymsp[0].minor.yy0); } +#line 5201 "sql.c" break; case 33: /* cmd ::= ALTER USER user_name ADD white_list */ -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy929, TSDB_ALTER_USER_ADD_WHITE_LIST, yymsp[0].minor.yy536); } +#line 107 "sql.y" +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy701, TSDB_ALTER_USER_ADD_WHITE_LIST, yymsp[0].minor.yy404); } +#line 5206 "sql.c" break; case 34: /* cmd ::= ALTER USER user_name DROP white_list */ -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy929, TSDB_ALTER_USER_DROP_WHITE_LIST, yymsp[0].minor.yy536); } +#line 108 "sql.y" +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy701, TSDB_ALTER_USER_DROP_WHITE_LIST, yymsp[0].minor.yy404); } +#line 5211 "sql.c" break; case 35: /* cmd ::= DROP USER user_name */ -{ pCxt->pRootNode = createDropUserStmt(pCxt, &yymsp[0].minor.yy929); } +#line 109 "sql.y" +{ pCxt->pRootNode = createDropUserStmt(pCxt, &yymsp[0].minor.yy701); } +#line 5216 "sql.c" break; case 36: /* sysinfo_opt ::= */ -{ yymsp[1].minor.yy695 = 1; } +#line 113 "sql.y" +{ yymsp[1].minor.yy915 = 1; } +#line 5221 "sql.c" break; case 37: /* sysinfo_opt ::= SYSINFO NK_INTEGER */ -{ yymsp[-1].minor.yy695 = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); } +#line 114 "sql.y" +{ yymsp[-1].minor.yy915 = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); } +#line 5226 "sql.c" break; case 38: /* cmd ::= GRANT privileges ON priv_level with_opt TO user_name */ -{ pCxt->pRootNode = createGrantStmt(pCxt, yymsp[-5].minor.yy221, &yymsp[-3].minor.yy57, &yymsp[0].minor.yy929, yymsp[-2].minor.yy360); } +#line 117 "sql.y" +{ pCxt->pRootNode = createGrantStmt(pCxt, yymsp[-5].minor.yy949, &yymsp[-3].minor.yy21, &yymsp[0].minor.yy701, yymsp[-2].minor.yy896); } +#line 5231 "sql.c" break; case 39: /* cmd ::= REVOKE privileges ON priv_level with_opt FROM user_name */ -{ pCxt->pRootNode = createRevokeStmt(pCxt, yymsp[-5].minor.yy221, &yymsp[-3].minor.yy57, &yymsp[0].minor.yy929, yymsp[-2].minor.yy360); } +#line 118 "sql.y" +{ pCxt->pRootNode = createRevokeStmt(pCxt, yymsp[-5].minor.yy949, &yymsp[-3].minor.yy21, &yymsp[0].minor.yy701, yymsp[-2].minor.yy896); } +#line 5236 "sql.c" break; case 40: /* privileges ::= ALL */ -{ yymsp[0].minor.yy221 = PRIVILEGE_TYPE_ALL; } +#line 122 "sql.y" +{ yymsp[0].minor.yy949 = PRIVILEGE_TYPE_ALL; } +#line 5241 "sql.c" break; case 41: /* privileges ::= priv_type_list */ case 43: /* priv_type_list ::= priv_type */ yytestcase(yyruleno==43); -{ yylhsminor.yy221 = yymsp[0].minor.yy221; } - yymsp[0].minor.yy221 = yylhsminor.yy221; +#line 123 "sql.y" +{ yylhsminor.yy949 = yymsp[0].minor.yy949; } +#line 5247 "sql.c" + yymsp[0].minor.yy949 = yylhsminor.yy949; break; case 42: /* privileges ::= SUBSCRIBE */ -{ yymsp[0].minor.yy221 = PRIVILEGE_TYPE_SUBSCRIBE; } +#line 124 "sql.y" +{ yymsp[0].minor.yy949 = PRIVILEGE_TYPE_SUBSCRIBE; } +#line 5253 "sql.c" break; case 44: /* priv_type_list ::= priv_type_list NK_COMMA priv_type */ -{ yylhsminor.yy221 = yymsp[-2].minor.yy221 | yymsp[0].minor.yy221; } - yymsp[-2].minor.yy221 = yylhsminor.yy221; +#line 129 "sql.y" +{ yylhsminor.yy949 = yymsp[-2].minor.yy949 | yymsp[0].minor.yy949; } +#line 5258 "sql.c" + yymsp[-2].minor.yy949 = yylhsminor.yy949; break; case 45: /* priv_type ::= READ */ -{ yymsp[0].minor.yy221 = PRIVILEGE_TYPE_READ; } +#line 133 "sql.y" +{ yymsp[0].minor.yy949 = PRIVILEGE_TYPE_READ; } +#line 5264 "sql.c" break; case 46: /* priv_type ::= WRITE */ -{ yymsp[0].minor.yy221 = PRIVILEGE_TYPE_WRITE; } +#line 134 "sql.y" +{ yymsp[0].minor.yy949 = PRIVILEGE_TYPE_WRITE; } +#line 5269 "sql.c" break; case 47: /* priv_type ::= ALTER */ -{ yymsp[0].minor.yy221 = PRIVILEGE_TYPE_ALTER; } +#line 135 "sql.y" +{ yymsp[0].minor.yy949 = PRIVILEGE_TYPE_ALTER; } +#line 5274 "sql.c" break; case 48: /* priv_level ::= NK_STAR NK_DOT NK_STAR */ -{ yylhsminor.yy57.first = yymsp[-2].minor.yy0; yylhsminor.yy57.second = yymsp[0].minor.yy0; } - yymsp[-2].minor.yy57 = yylhsminor.yy57; +#line 139 "sql.y" +{ yylhsminor.yy21.first = yymsp[-2].minor.yy0; yylhsminor.yy21.second = yymsp[0].minor.yy0; } +#line 5279 "sql.c" + yymsp[-2].minor.yy21 = yylhsminor.yy21; break; case 49: /* priv_level ::= db_name NK_DOT NK_STAR */ -{ yylhsminor.yy57.first = yymsp[-2].minor.yy929; yylhsminor.yy57.second = yymsp[0].minor.yy0; } - yymsp[-2].minor.yy57 = yylhsminor.yy57; +#line 140 "sql.y" +{ yylhsminor.yy21.first = yymsp[-2].minor.yy701; yylhsminor.yy21.second = yymsp[0].minor.yy0; } +#line 5285 "sql.c" + yymsp[-2].minor.yy21 = yylhsminor.yy21; break; case 50: /* priv_level ::= db_name NK_DOT table_name */ -{ yylhsminor.yy57.first = yymsp[-2].minor.yy929; yylhsminor.yy57.second = yymsp[0].minor.yy929; } - yymsp[-2].minor.yy57 = yylhsminor.yy57; +#line 141 "sql.y" +{ yylhsminor.yy21.first = yymsp[-2].minor.yy701; yylhsminor.yy21.second = yymsp[0].minor.yy701; } +#line 5291 "sql.c" + yymsp[-2].minor.yy21 = yylhsminor.yy21; break; case 51: /* priv_level ::= topic_name */ -{ yylhsminor.yy57.first = yymsp[0].minor.yy929; yylhsminor.yy57.second = nil_token; } - yymsp[0].minor.yy57 = yylhsminor.yy57; +#line 142 "sql.y" +{ yylhsminor.yy21.first = yymsp[0].minor.yy701; yylhsminor.yy21.second = nil_token; } +#line 5297 "sql.c" + yymsp[0].minor.yy21 = yylhsminor.yy21; break; case 52: /* with_opt ::= */ case 157: /* start_opt ::= */ yytestcase(yyruleno==157); case 161: /* end_opt ::= */ yytestcase(yyruleno==161); - case 302: /* like_pattern_opt ::= */ yytestcase(yyruleno==302); - case 387: /* subtable_opt ::= */ yytestcase(yyruleno==387); - case 512: /* case_when_else_opt ::= */ yytestcase(yyruleno==512); - case 542: /* from_clause_opt ::= */ yytestcase(yyruleno==542); - case 575: /* where_clause_opt ::= */ yytestcase(yyruleno==575); - case 584: /* twindow_clause_opt ::= */ yytestcase(yyruleno==584); - case 592: /* sliding_opt ::= */ yytestcase(yyruleno==592); - case 597: /* fill_opt ::= */ yytestcase(yyruleno==597); - case 611: /* having_clause_opt ::= */ yytestcase(yyruleno==611); - case 613: /* range_opt ::= */ yytestcase(yyruleno==613); - case 616: /* every_opt ::= */ yytestcase(yyruleno==616); - case 629: /* slimit_clause_opt ::= */ yytestcase(yyruleno==629); - case 633: /* limit_clause_opt ::= */ yytestcase(yyruleno==633); -{ yymsp[1].minor.yy360 = NULL; } + case 306: /* like_pattern_opt ::= */ yytestcase(yyruleno==306); + case 391: /* subtable_opt ::= */ yytestcase(yyruleno==391); + case 516: /* case_when_else_opt ::= */ yytestcase(yyruleno==516); + case 546: /* from_clause_opt ::= */ yytestcase(yyruleno==546); + case 579: /* where_clause_opt ::= */ yytestcase(yyruleno==579); + case 588: /* twindow_clause_opt ::= */ yytestcase(yyruleno==588); + case 596: /* sliding_opt ::= */ yytestcase(yyruleno==596); + case 601: /* fill_opt ::= */ yytestcase(yyruleno==601); + case 615: /* having_clause_opt ::= */ yytestcase(yyruleno==615); + case 617: /* range_opt ::= */ yytestcase(yyruleno==617); + case 620: /* every_opt ::= */ yytestcase(yyruleno==620); + case 633: /* slimit_clause_opt ::= */ yytestcase(yyruleno==633); + case 637: /* limit_clause_opt ::= */ yytestcase(yyruleno==637); +#line 144 "sql.y" +{ yymsp[1].minor.yy896 = NULL; } +#line 5318 "sql.c" break; case 53: /* with_opt ::= WITH search_condition */ - case 543: /* from_clause_opt ::= FROM table_reference_list */ yytestcase(yyruleno==543); - case 576: /* where_clause_opt ::= WHERE search_condition */ yytestcase(yyruleno==576); - case 612: /* having_clause_opt ::= HAVING search_condition */ yytestcase(yyruleno==612); -{ yymsp[-1].minor.yy360 = yymsp[0].minor.yy360; } + case 547: /* from_clause_opt ::= FROM table_reference_list */ yytestcase(yyruleno==547); + case 580: /* where_clause_opt ::= WHERE search_condition */ yytestcase(yyruleno==580); + case 616: /* having_clause_opt ::= HAVING search_condition */ yytestcase(yyruleno==616); +#line 145 "sql.y" +{ yymsp[-1].minor.yy896 = yymsp[0].minor.yy896; } +#line 5326 "sql.c" break; case 54: /* cmd ::= CREATE DNODE dnode_endpoint */ -{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[0].minor.yy929, NULL); } +#line 148 "sql.y" +{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[0].minor.yy701, NULL); } +#line 5331 "sql.c" break; case 55: /* cmd ::= CREATE DNODE dnode_endpoint PORT NK_INTEGER */ -{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[-2].minor.yy929, &yymsp[0].minor.yy0); } +#line 149 "sql.y" +{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy0); } +#line 5336 "sql.c" break; case 56: /* cmd ::= DROP DNODE NK_INTEGER force_opt */ -{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy345, false); } +#line 150 "sql.y" +{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy733, false); } +#line 5341 "sql.c" break; case 57: /* cmd ::= DROP DNODE dnode_endpoint force_opt */ -{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy929, yymsp[0].minor.yy345, false); } +#line 151 "sql.y" +{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy701, yymsp[0].minor.yy733, false); } +#line 5346 "sql.c" break; case 58: /* cmd ::= DROP DNODE NK_INTEGER unsafe_opt */ -{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, false, yymsp[0].minor.yy345); } +#line 152 "sql.y" +{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, false, yymsp[0].minor.yy733); } +#line 5351 "sql.c" break; case 59: /* cmd ::= DROP DNODE dnode_endpoint unsafe_opt */ -{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy929, false, yymsp[0].minor.yy345); } +#line 153 "sql.y" +{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy701, false, yymsp[0].minor.yy733); } +#line 5356 "sql.c" break; case 60: /* cmd ::= ALTER DNODE NK_INTEGER NK_STRING */ +#line 154 "sql.y" { pCxt->pRootNode = createAlterDnodeStmt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0, NULL); } +#line 5361 "sql.c" break; case 61: /* cmd ::= ALTER DNODE NK_INTEGER NK_STRING NK_STRING */ +#line 155 "sql.y" { pCxt->pRootNode = createAlterDnodeStmt(pCxt, &yymsp[-2].minor.yy0, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); } +#line 5366 "sql.c" break; case 62: /* cmd ::= ALTER ALL DNODES NK_STRING */ +#line 156 "sql.y" { pCxt->pRootNode = createAlterDnodeStmt(pCxt, NULL, &yymsp[0].minor.yy0, NULL); } +#line 5371 "sql.c" break; case 63: /* cmd ::= ALTER ALL DNODES NK_STRING NK_STRING */ +#line 157 "sql.y" { pCxt->pRootNode = createAlterDnodeStmt(pCxt, NULL, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); } +#line 5376 "sql.c" break; case 64: /* cmd ::= RESTORE DNODE NK_INTEGER */ +#line 158 "sql.y" { pCxt->pRootNode = createRestoreComponentNodeStmt(pCxt, QUERY_NODE_RESTORE_DNODE_STMT, &yymsp[0].minor.yy0); } +#line 5381 "sql.c" break; case 65: /* dnode_endpoint ::= NK_STRING */ case 66: /* dnode_endpoint ::= NK_ID */ yytestcase(yyruleno==66); case 67: /* dnode_endpoint ::= NK_IPTOKEN */ yytestcase(yyruleno==67); - case 329: /* sma_func_name ::= COUNT */ yytestcase(yyruleno==329); - case 330: /* sma_func_name ::= FIRST */ yytestcase(yyruleno==330); - case 331: /* sma_func_name ::= LAST */ yytestcase(yyruleno==331); - case 332: /* sma_func_name ::= LAST_ROW */ yytestcase(yyruleno==332); - case 434: /* db_name ::= NK_ID */ yytestcase(yyruleno==434); - case 435: /* table_name ::= NK_ID */ yytestcase(yyruleno==435); - case 436: /* column_name ::= NK_ID */ yytestcase(yyruleno==436); - case 437: /* function_name ::= NK_ID */ yytestcase(yyruleno==437); - case 438: /* view_name ::= NK_ID */ yytestcase(yyruleno==438); - case 439: /* table_alias ::= NK_ID */ yytestcase(yyruleno==439); - case 440: /* column_alias ::= NK_ID */ yytestcase(yyruleno==440); - case 441: /* column_alias ::= NK_ALIAS */ yytestcase(yyruleno==441); - case 442: /* user_name ::= NK_ID */ yytestcase(yyruleno==442); - case 443: /* topic_name ::= NK_ID */ yytestcase(yyruleno==443); - case 444: /* stream_name ::= NK_ID */ yytestcase(yyruleno==444); - case 445: /* cgroup_name ::= NK_ID */ yytestcase(yyruleno==445); - case 446: /* index_name ::= NK_ID */ yytestcase(yyruleno==446); - case 488: /* noarg_func ::= NOW */ yytestcase(yyruleno==488); - case 489: /* noarg_func ::= TODAY */ yytestcase(yyruleno==489); - case 490: /* noarg_func ::= TIMEZONE */ yytestcase(yyruleno==490); - case 491: /* noarg_func ::= DATABASE */ yytestcase(yyruleno==491); - case 492: /* noarg_func ::= CLIENT_VERSION */ yytestcase(yyruleno==492); - case 493: /* noarg_func ::= SERVER_VERSION */ yytestcase(yyruleno==493); - case 494: /* noarg_func ::= SERVER_STATUS */ yytestcase(yyruleno==494); - case 495: /* noarg_func ::= CURRENT_USER */ yytestcase(yyruleno==495); - case 496: /* noarg_func ::= USER */ yytestcase(yyruleno==496); - case 497: /* star_func ::= COUNT */ yytestcase(yyruleno==497); - case 498: /* star_func ::= FIRST */ yytestcase(yyruleno==498); - case 499: /* star_func ::= LAST */ yytestcase(yyruleno==499); - case 500: /* star_func ::= LAST_ROW */ yytestcase(yyruleno==500); -{ yylhsminor.yy929 = yymsp[0].minor.yy0; } - yymsp[0].minor.yy929 = yylhsminor.yy929; + case 333: /* sma_func_name ::= COUNT */ yytestcase(yyruleno==333); + case 334: /* sma_func_name ::= FIRST */ yytestcase(yyruleno==334); + case 335: /* sma_func_name ::= LAST */ yytestcase(yyruleno==335); + case 336: /* sma_func_name ::= LAST_ROW */ yytestcase(yyruleno==336); + case 438: /* db_name ::= NK_ID */ yytestcase(yyruleno==438); + case 439: /* table_name ::= NK_ID */ yytestcase(yyruleno==439); + case 440: /* column_name ::= NK_ID */ yytestcase(yyruleno==440); + case 441: /* function_name ::= NK_ID */ yytestcase(yyruleno==441); + case 442: /* view_name ::= NK_ID */ yytestcase(yyruleno==442); + case 443: /* table_alias ::= NK_ID */ yytestcase(yyruleno==443); + case 444: /* column_alias ::= NK_ID */ yytestcase(yyruleno==444); + case 445: /* column_alias ::= NK_ALIAS */ yytestcase(yyruleno==445); + case 446: /* user_name ::= NK_ID */ yytestcase(yyruleno==446); + case 447: /* topic_name ::= NK_ID */ yytestcase(yyruleno==447); + case 448: /* stream_name ::= NK_ID */ yytestcase(yyruleno==448); + case 449: /* cgroup_name ::= NK_ID */ yytestcase(yyruleno==449); + case 450: /* index_name ::= NK_ID */ yytestcase(yyruleno==450); + case 492: /* noarg_func ::= NOW */ yytestcase(yyruleno==492); + case 493: /* noarg_func ::= TODAY */ yytestcase(yyruleno==493); + case 494: /* noarg_func ::= TIMEZONE */ yytestcase(yyruleno==494); + case 495: /* noarg_func ::= DATABASE */ yytestcase(yyruleno==495); + case 496: /* noarg_func ::= CLIENT_VERSION */ yytestcase(yyruleno==496); + case 497: /* noarg_func ::= SERVER_VERSION */ yytestcase(yyruleno==497); + case 498: /* noarg_func ::= SERVER_STATUS */ yytestcase(yyruleno==498); + case 499: /* noarg_func ::= CURRENT_USER */ yytestcase(yyruleno==499); + case 500: /* noarg_func ::= USER */ yytestcase(yyruleno==500); + case 501: /* star_func ::= COUNT */ yytestcase(yyruleno==501); + case 502: /* star_func ::= FIRST */ yytestcase(yyruleno==502); + case 503: /* star_func ::= LAST */ yytestcase(yyruleno==503); + case 504: /* star_func ::= LAST_ROW */ yytestcase(yyruleno==504); +#line 162 "sql.y" +{ yylhsminor.yy701 = yymsp[0].minor.yy0; } +#line 5418 "sql.c" + yymsp[0].minor.yy701 = yylhsminor.yy701; break; case 68: /* force_opt ::= */ case 94: /* not_exists_opt ::= */ yytestcase(yyruleno==94); case 96: /* exists_opt ::= */ yytestcase(yyruleno==96); - case 350: /* analyze_opt ::= */ yytestcase(yyruleno==350); - case 357: /* agg_func_opt ::= */ yytestcase(yyruleno==357); - case 363: /* or_replace_opt ::= */ yytestcase(yyruleno==363); - case 389: /* ignore_opt ::= */ yytestcase(yyruleno==389); - case 563: /* tag_mode_opt ::= */ yytestcase(yyruleno==563); - case 565: /* set_quantifier_opt ::= */ yytestcase(yyruleno==565); -{ yymsp[1].minor.yy345 = false; } + case 354: /* analyze_opt ::= */ yytestcase(yyruleno==354); + case 361: /* agg_func_opt ::= */ yytestcase(yyruleno==361); + case 367: /* or_replace_opt ::= */ yytestcase(yyruleno==367); + case 393: /* ignore_opt ::= */ yytestcase(yyruleno==393); + case 567: /* tag_mode_opt ::= */ yytestcase(yyruleno==567); + case 569: /* set_quantifier_opt ::= */ yytestcase(yyruleno==569); +#line 168 "sql.y" +{ yymsp[1].minor.yy733 = false; } +#line 5432 "sql.c" break; case 69: /* force_opt ::= FORCE */ case 70: /* unsafe_opt ::= UNSAFE */ yytestcase(yyruleno==70); - case 351: /* analyze_opt ::= ANALYZE */ yytestcase(yyruleno==351); - case 358: /* agg_func_opt ::= AGGREGATE */ yytestcase(yyruleno==358); - case 564: /* tag_mode_opt ::= TAGS */ yytestcase(yyruleno==564); - case 566: /* set_quantifier_opt ::= DISTINCT */ yytestcase(yyruleno==566); -{ yymsp[0].minor.yy345 = true; } + case 355: /* analyze_opt ::= ANALYZE */ yytestcase(yyruleno==355); + case 362: /* agg_func_opt ::= AGGREGATE */ yytestcase(yyruleno==362); + case 568: /* tag_mode_opt ::= TAGS */ yytestcase(yyruleno==568); + case 570: /* set_quantifier_opt ::= DISTINCT */ yytestcase(yyruleno==570); +#line 169 "sql.y" +{ yymsp[0].minor.yy733 = true; } +#line 5442 "sql.c" break; case 71: /* cmd ::= ALTER CLUSTER NK_STRING */ +#line 176 "sql.y" { pCxt->pRootNode = createAlterClusterStmt(pCxt, &yymsp[0].minor.yy0, NULL); } +#line 5447 "sql.c" break; case 72: /* cmd ::= ALTER CLUSTER NK_STRING NK_STRING */ +#line 177 "sql.y" { pCxt->pRootNode = createAlterClusterStmt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); } +#line 5452 "sql.c" break; case 73: /* cmd ::= ALTER LOCAL NK_STRING */ +#line 180 "sql.y" { pCxt->pRootNode = createAlterLocalStmt(pCxt, &yymsp[0].minor.yy0, NULL); } +#line 5457 "sql.c" break; case 74: /* cmd ::= ALTER LOCAL NK_STRING NK_STRING */ +#line 181 "sql.y" { pCxt->pRootNode = createAlterLocalStmt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); } +#line 5462 "sql.c" break; case 75: /* cmd ::= CREATE QNODE ON DNODE NK_INTEGER */ +#line 184 "sql.y" { pCxt->pRootNode = createCreateComponentNodeStmt(pCxt, QUERY_NODE_CREATE_QNODE_STMT, &yymsp[0].minor.yy0); } +#line 5467 "sql.c" break; case 76: /* cmd ::= DROP QNODE ON DNODE NK_INTEGER */ +#line 185 "sql.y" { pCxt->pRootNode = createDropComponentNodeStmt(pCxt, QUERY_NODE_DROP_QNODE_STMT, &yymsp[0].minor.yy0); } +#line 5472 "sql.c" break; case 77: /* cmd ::= RESTORE QNODE ON DNODE NK_INTEGER */ +#line 186 "sql.y" { pCxt->pRootNode = createRestoreComponentNodeStmt(pCxt, QUERY_NODE_RESTORE_QNODE_STMT, &yymsp[0].minor.yy0); } +#line 5477 "sql.c" break; case 78: /* cmd ::= CREATE BNODE ON DNODE NK_INTEGER */ +#line 189 "sql.y" { pCxt->pRootNode = createCreateComponentNodeStmt(pCxt, QUERY_NODE_CREATE_BNODE_STMT, &yymsp[0].minor.yy0); } +#line 5482 "sql.c" break; case 79: /* cmd ::= DROP BNODE ON DNODE NK_INTEGER */ +#line 190 "sql.y" { pCxt->pRootNode = createDropComponentNodeStmt(pCxt, QUERY_NODE_DROP_BNODE_STMT, &yymsp[0].minor.yy0); } +#line 5487 "sql.c" break; case 80: /* cmd ::= CREATE SNODE ON DNODE NK_INTEGER */ +#line 193 "sql.y" { pCxt->pRootNode = createCreateComponentNodeStmt(pCxt, QUERY_NODE_CREATE_SNODE_STMT, &yymsp[0].minor.yy0); } +#line 5492 "sql.c" break; case 81: /* cmd ::= DROP SNODE ON DNODE NK_INTEGER */ +#line 194 "sql.y" { pCxt->pRootNode = createDropComponentNodeStmt(pCxt, QUERY_NODE_DROP_SNODE_STMT, &yymsp[0].minor.yy0); } +#line 5497 "sql.c" break; case 82: /* cmd ::= CREATE MNODE ON DNODE NK_INTEGER */ +#line 197 "sql.y" { pCxt->pRootNode = createCreateComponentNodeStmt(pCxt, QUERY_NODE_CREATE_MNODE_STMT, &yymsp[0].minor.yy0); } +#line 5502 "sql.c" break; case 83: /* cmd ::= DROP MNODE ON DNODE NK_INTEGER */ +#line 198 "sql.y" { pCxt->pRootNode = createDropComponentNodeStmt(pCxt, QUERY_NODE_DROP_MNODE_STMT, &yymsp[0].minor.yy0); } +#line 5507 "sql.c" break; case 84: /* cmd ::= RESTORE MNODE ON DNODE NK_INTEGER */ +#line 199 "sql.y" { pCxt->pRootNode = createRestoreComponentNodeStmt(pCxt, QUERY_NODE_RESTORE_MNODE_STMT, &yymsp[0].minor.yy0); } +#line 5512 "sql.c" break; case 85: /* cmd ::= RESTORE VNODE ON DNODE NK_INTEGER */ +#line 202 "sql.y" { pCxt->pRootNode = createRestoreComponentNodeStmt(pCxt, QUERY_NODE_RESTORE_VNODE_STMT, &yymsp[0].minor.yy0); } +#line 5517 "sql.c" break; case 86: /* cmd ::= CREATE DATABASE not_exists_opt db_name db_options */ -{ pCxt->pRootNode = createCreateDatabaseStmt(pCxt, yymsp[-2].minor.yy345, &yymsp[-1].minor.yy929, yymsp[0].minor.yy360); } +#line 205 "sql.y" +{ pCxt->pRootNode = createCreateDatabaseStmt(pCxt, yymsp[-2].minor.yy733, &yymsp[-1].minor.yy701, yymsp[0].minor.yy896); } +#line 5522 "sql.c" break; case 87: /* cmd ::= DROP DATABASE exists_opt db_name */ -{ pCxt->pRootNode = createDropDatabaseStmt(pCxt, yymsp[-1].minor.yy345, &yymsp[0].minor.yy929); } +#line 206 "sql.y" +{ pCxt->pRootNode = createDropDatabaseStmt(pCxt, yymsp[-1].minor.yy733, &yymsp[0].minor.yy701); } +#line 5527 "sql.c" break; case 88: /* cmd ::= USE db_name */ -{ pCxt->pRootNode = createUseDatabaseStmt(pCxt, &yymsp[0].minor.yy929); } +#line 207 "sql.y" +{ pCxt->pRootNode = createUseDatabaseStmt(pCxt, &yymsp[0].minor.yy701); } +#line 5532 "sql.c" break; case 89: /* cmd ::= ALTER DATABASE db_name alter_db_options */ -{ pCxt->pRootNode = createAlterDatabaseStmt(pCxt, &yymsp[-1].minor.yy929, yymsp[0].minor.yy360); } +#line 208 "sql.y" +{ pCxt->pRootNode = createAlterDatabaseStmt(pCxt, &yymsp[-1].minor.yy701, yymsp[0].minor.yy896); } +#line 5537 "sql.c" break; case 90: /* cmd ::= FLUSH DATABASE db_name */ -{ pCxt->pRootNode = createFlushDatabaseStmt(pCxt, &yymsp[0].minor.yy929); } +#line 209 "sql.y" +{ pCxt->pRootNode = createFlushDatabaseStmt(pCxt, &yymsp[0].minor.yy701); } +#line 5542 "sql.c" break; case 91: /* cmd ::= TRIM DATABASE db_name speed_opt */ -{ pCxt->pRootNode = createTrimDatabaseStmt(pCxt, &yymsp[-1].minor.yy929, yymsp[0].minor.yy580); } +#line 210 "sql.y" +{ pCxt->pRootNode = createTrimDatabaseStmt(pCxt, &yymsp[-1].minor.yy701, yymsp[0].minor.yy396); } +#line 5547 "sql.c" break; case 92: /* cmd ::= COMPACT DATABASE db_name start_opt end_opt */ -{ pCxt->pRootNode = createCompactStmt(pCxt, &yymsp[-2].minor.yy929, yymsp[-1].minor.yy360, yymsp[0].minor.yy360); } +#line 211 "sql.y" +{ pCxt->pRootNode = createCompactStmt(pCxt, &yymsp[-2].minor.yy701, yymsp[-1].minor.yy896, yymsp[0].minor.yy896); } +#line 5552 "sql.c" break; case 93: /* not_exists_opt ::= IF NOT EXISTS */ -{ yymsp[-2].minor.yy345 = true; } +#line 215 "sql.y" +{ yymsp[-2].minor.yy733 = true; } +#line 5557 "sql.c" break; case 95: /* exists_opt ::= IF EXISTS */ - case 364: /* or_replace_opt ::= OR REPLACE */ yytestcase(yyruleno==364); - case 390: /* ignore_opt ::= IGNORE UNTREATED */ yytestcase(yyruleno==390); -{ yymsp[-1].minor.yy345 = true; } + case 368: /* or_replace_opt ::= OR REPLACE */ yytestcase(yyruleno==368); + case 394: /* ignore_opt ::= IGNORE UNTREATED */ yytestcase(yyruleno==394); +#line 220 "sql.y" +{ yymsp[-1].minor.yy733 = true; } +#line 5564 "sql.c" break; case 97: /* db_options ::= */ -{ yymsp[1].minor.yy360 = createDefaultDatabaseOptions(pCxt); } +#line 223 "sql.y" +{ yymsp[1].minor.yy896 = createDefaultDatabaseOptions(pCxt); } +#line 5569 "sql.c" break; case 98: /* db_options ::= db_options BUFFER NK_INTEGER */ -{ yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-2].minor.yy360, DB_OPTION_BUFFER, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 224 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_BUFFER, &yymsp[0].minor.yy0); } +#line 5574 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 99: /* db_options ::= db_options CACHEMODEL NK_STRING */ -{ yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-2].minor.yy360, DB_OPTION_CACHEMODEL, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 225 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_CACHEMODEL, &yymsp[0].minor.yy0); } +#line 5580 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 100: /* db_options ::= db_options CACHESIZE NK_INTEGER */ -{ yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-2].minor.yy360, DB_OPTION_CACHESIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 226 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_CACHESIZE, &yymsp[0].minor.yy0); } +#line 5586 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 101: /* db_options ::= db_options COMP NK_INTEGER */ -{ yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-2].minor.yy360, DB_OPTION_COMP, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 227 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_COMP, &yymsp[0].minor.yy0); } +#line 5592 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 102: /* db_options ::= db_options DURATION NK_INTEGER */ case 103: /* db_options ::= db_options DURATION NK_VARIABLE */ yytestcase(yyruleno==103); -{ yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-2].minor.yy360, DB_OPTION_DAYS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 228 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_DAYS, &yymsp[0].minor.yy0); } +#line 5599 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 104: /* db_options ::= db_options MAXROWS NK_INTEGER */ -{ yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-2].minor.yy360, DB_OPTION_MAXROWS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 230 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_MAXROWS, &yymsp[0].minor.yy0); } +#line 5605 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 105: /* db_options ::= db_options MINROWS NK_INTEGER */ -{ yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-2].minor.yy360, DB_OPTION_MINROWS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 231 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_MINROWS, &yymsp[0].minor.yy0); } +#line 5611 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 106: /* db_options ::= db_options KEEP integer_list */ case 107: /* db_options ::= db_options KEEP variable_list */ yytestcase(yyruleno==107); -{ yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-2].minor.yy360, DB_OPTION_KEEP, yymsp[0].minor.yy536); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 232 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_KEEP, yymsp[0].minor.yy404); } +#line 5618 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 108: /* db_options ::= db_options PAGES NK_INTEGER */ -{ yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-2].minor.yy360, DB_OPTION_PAGES, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 234 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_PAGES, &yymsp[0].minor.yy0); } +#line 5624 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 109: /* db_options ::= db_options PAGESIZE NK_INTEGER */ -{ yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-2].minor.yy360, DB_OPTION_PAGESIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 235 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_PAGESIZE, &yymsp[0].minor.yy0); } +#line 5630 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 110: /* db_options ::= db_options TSDB_PAGESIZE NK_INTEGER */ -{ yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-2].minor.yy360, DB_OPTION_TSDB_PAGESIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 236 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_TSDB_PAGESIZE, &yymsp[0].minor.yy0); } +#line 5636 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 111: /* db_options ::= db_options PRECISION NK_STRING */ -{ yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-2].minor.yy360, DB_OPTION_PRECISION, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 237 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_PRECISION, &yymsp[0].minor.yy0); } +#line 5642 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 112: /* db_options ::= db_options REPLICA NK_INTEGER */ -{ yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-2].minor.yy360, DB_OPTION_REPLICA, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 238 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_REPLICA, &yymsp[0].minor.yy0); } +#line 5648 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 113: /* db_options ::= db_options VGROUPS NK_INTEGER */ -{ yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-2].minor.yy360, DB_OPTION_VGROUPS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 240 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_VGROUPS, &yymsp[0].minor.yy0); } +#line 5654 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 114: /* db_options ::= db_options SINGLE_STABLE NK_INTEGER */ -{ yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-2].minor.yy360, DB_OPTION_SINGLE_STABLE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 241 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_SINGLE_STABLE, &yymsp[0].minor.yy0); } +#line 5660 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 115: /* db_options ::= db_options RETENTIONS retention_list */ -{ yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-2].minor.yy360, DB_OPTION_RETENTIONS, yymsp[0].minor.yy536); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 242 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_RETENTIONS, yymsp[0].minor.yy404); } +#line 5666 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 116: /* db_options ::= db_options SCHEMALESS NK_INTEGER */ -{ yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-2].minor.yy360, DB_OPTION_SCHEMALESS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 243 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_SCHEMALESS, &yymsp[0].minor.yy0); } +#line 5672 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 117: /* db_options ::= db_options WAL_LEVEL NK_INTEGER */ -{ yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-2].minor.yy360, DB_OPTION_WAL, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 244 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_WAL, &yymsp[0].minor.yy0); } +#line 5678 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 118: /* db_options ::= db_options WAL_FSYNC_PERIOD NK_INTEGER */ -{ yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-2].minor.yy360, DB_OPTION_FSYNC, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 245 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_FSYNC, &yymsp[0].minor.yy0); } +#line 5684 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 119: /* db_options ::= db_options WAL_RETENTION_PERIOD NK_INTEGER */ -{ yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-2].minor.yy360, DB_OPTION_WAL_RETENTION_PERIOD, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 246 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_WAL_RETENTION_PERIOD, &yymsp[0].minor.yy0); } +#line 5690 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 120: /* db_options ::= db_options WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ +#line 247 "sql.y" { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-3].minor.yy360, DB_OPTION_WAL_RETENTION_PERIOD, &t); + yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-3].minor.yy896, DB_OPTION_WAL_RETENTION_PERIOD, &t); } - yymsp[-3].minor.yy360 = yylhsminor.yy360; +#line 5700 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; case 121: /* db_options ::= db_options WAL_RETENTION_SIZE NK_INTEGER */ -{ yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-2].minor.yy360, DB_OPTION_WAL_RETENTION_SIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 252 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_WAL_RETENTION_SIZE, &yymsp[0].minor.yy0); } +#line 5706 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 122: /* db_options ::= db_options WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ +#line 253 "sql.y" { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-3].minor.yy360, DB_OPTION_WAL_RETENTION_SIZE, &t); + yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-3].minor.yy896, DB_OPTION_WAL_RETENTION_SIZE, &t); } - yymsp[-3].minor.yy360 = yylhsminor.yy360; +#line 5716 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; case 123: /* db_options ::= db_options WAL_ROLL_PERIOD NK_INTEGER */ -{ yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-2].minor.yy360, DB_OPTION_WAL_ROLL_PERIOD, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 258 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_WAL_ROLL_PERIOD, &yymsp[0].minor.yy0); } +#line 5722 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 124: /* db_options ::= db_options WAL_SEGMENT_SIZE NK_INTEGER */ -{ yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-2].minor.yy360, DB_OPTION_WAL_SEGMENT_SIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 259 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_WAL_SEGMENT_SIZE, &yymsp[0].minor.yy0); } +#line 5728 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 125: /* db_options ::= db_options STT_TRIGGER NK_INTEGER */ -{ yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-2].minor.yy360, DB_OPTION_STT_TRIGGER, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 260 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_STT_TRIGGER, &yymsp[0].minor.yy0); } +#line 5734 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 126: /* db_options ::= db_options TABLE_PREFIX signed */ -{ yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-2].minor.yy360, DB_OPTION_TABLE_PREFIX, yymsp[0].minor.yy360); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 261 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_TABLE_PREFIX, yymsp[0].minor.yy896); } +#line 5740 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 127: /* db_options ::= db_options TABLE_SUFFIX signed */ -{ yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-2].minor.yy360, DB_OPTION_TABLE_SUFFIX, yymsp[0].minor.yy360); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 262 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_TABLE_SUFFIX, yymsp[0].minor.yy896); } +#line 5746 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 128: /* db_options ::= db_options KEEP_TIME_OFFSET NK_INTEGER */ -{ yylhsminor.yy360 = setDatabaseOption(pCxt, yymsp[-2].minor.yy360, DB_OPTION_KEEP_TIME_OFFSET, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 263 "sql.y" +{ yylhsminor.yy896 = setDatabaseOption(pCxt, yymsp[-2].minor.yy896, DB_OPTION_KEEP_TIME_OFFSET, &yymsp[0].minor.yy0); } +#line 5752 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 129: /* alter_db_options ::= alter_db_option */ -{ yylhsminor.yy360 = createAlterDatabaseOptions(pCxt); yylhsminor.yy360 = setAlterDatabaseOption(pCxt, yylhsminor.yy360, &yymsp[0].minor.yy797); } - yymsp[0].minor.yy360 = yylhsminor.yy360; +#line 265 "sql.y" +{ yylhsminor.yy896 = createAlterDatabaseOptions(pCxt); yylhsminor.yy896 = setAlterDatabaseOption(pCxt, yylhsminor.yy896, &yymsp[0].minor.yy529); } +#line 5758 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; case 130: /* alter_db_options ::= alter_db_options alter_db_option */ -{ yylhsminor.yy360 = setAlterDatabaseOption(pCxt, yymsp[-1].minor.yy360, &yymsp[0].minor.yy797); } - yymsp[-1].minor.yy360 = yylhsminor.yy360; +#line 266 "sql.y" +{ yylhsminor.yy896 = setAlterDatabaseOption(pCxt, yymsp[-1].minor.yy896, &yymsp[0].minor.yy529); } +#line 5764 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; case 131: /* alter_db_option ::= BUFFER NK_INTEGER */ -{ yymsp[-1].minor.yy797.type = DB_OPTION_BUFFER; yymsp[-1].minor.yy797.val = yymsp[0].minor.yy0; } +#line 270 "sql.y" +{ yymsp[-1].minor.yy529.type = DB_OPTION_BUFFER; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 5770 "sql.c" break; case 132: /* alter_db_option ::= CACHEMODEL NK_STRING */ -{ yymsp[-1].minor.yy797.type = DB_OPTION_CACHEMODEL; yymsp[-1].minor.yy797.val = yymsp[0].minor.yy0; } +#line 271 "sql.y" +{ yymsp[-1].minor.yy529.type = DB_OPTION_CACHEMODEL; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 5775 "sql.c" break; case 133: /* alter_db_option ::= CACHESIZE NK_INTEGER */ -{ yymsp[-1].minor.yy797.type = DB_OPTION_CACHESIZE; yymsp[-1].minor.yy797.val = yymsp[0].minor.yy0; } +#line 272 "sql.y" +{ yymsp[-1].minor.yy529.type = DB_OPTION_CACHESIZE; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 5780 "sql.c" break; case 134: /* alter_db_option ::= WAL_FSYNC_PERIOD NK_INTEGER */ -{ yymsp[-1].minor.yy797.type = DB_OPTION_FSYNC; yymsp[-1].minor.yy797.val = yymsp[0].minor.yy0; } +#line 273 "sql.y" +{ yymsp[-1].minor.yy529.type = DB_OPTION_FSYNC; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 5785 "sql.c" break; case 135: /* alter_db_option ::= KEEP integer_list */ case 136: /* alter_db_option ::= KEEP variable_list */ yytestcase(yyruleno==136); -{ yymsp[-1].minor.yy797.type = DB_OPTION_KEEP; yymsp[-1].minor.yy797.pList = yymsp[0].minor.yy536; } +#line 274 "sql.y" +{ yymsp[-1].minor.yy529.type = DB_OPTION_KEEP; yymsp[-1].minor.yy529.pList = yymsp[0].minor.yy404; } +#line 5791 "sql.c" break; case 137: /* alter_db_option ::= PAGES NK_INTEGER */ -{ yymsp[-1].minor.yy797.type = DB_OPTION_PAGES; yymsp[-1].minor.yy797.val = yymsp[0].minor.yy0; } +#line 276 "sql.y" +{ yymsp[-1].minor.yy529.type = DB_OPTION_PAGES; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 5796 "sql.c" break; case 138: /* alter_db_option ::= REPLICA NK_INTEGER */ -{ yymsp[-1].minor.yy797.type = DB_OPTION_REPLICA; yymsp[-1].minor.yy797.val = yymsp[0].minor.yy0; } +#line 277 "sql.y" +{ yymsp[-1].minor.yy529.type = DB_OPTION_REPLICA; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 5801 "sql.c" break; case 139: /* alter_db_option ::= WAL_LEVEL NK_INTEGER */ -{ yymsp[-1].minor.yy797.type = DB_OPTION_WAL; yymsp[-1].minor.yy797.val = yymsp[0].minor.yy0; } +#line 279 "sql.y" +{ yymsp[-1].minor.yy529.type = DB_OPTION_WAL; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 5806 "sql.c" break; case 140: /* alter_db_option ::= STT_TRIGGER NK_INTEGER */ -{ yymsp[-1].minor.yy797.type = DB_OPTION_STT_TRIGGER; yymsp[-1].minor.yy797.val = yymsp[0].minor.yy0; } +#line 280 "sql.y" +{ yymsp[-1].minor.yy529.type = DB_OPTION_STT_TRIGGER; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 5811 "sql.c" break; case 141: /* alter_db_option ::= MINROWS NK_INTEGER */ -{ yymsp[-1].minor.yy797.type = DB_OPTION_MINROWS; yymsp[-1].minor.yy797.val = yymsp[0].minor.yy0; } +#line 281 "sql.y" +{ yymsp[-1].minor.yy529.type = DB_OPTION_MINROWS; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 5816 "sql.c" break; case 142: /* alter_db_option ::= WAL_RETENTION_PERIOD NK_INTEGER */ -{ yymsp[-1].minor.yy797.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-1].minor.yy797.val = yymsp[0].minor.yy0; } +#line 282 "sql.y" +{ yymsp[-1].minor.yy529.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 5821 "sql.c" break; case 143: /* alter_db_option ::= WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ +#line 283 "sql.y" { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yymsp[-2].minor.yy797.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-2].minor.yy797.val = t; + yymsp[-2].minor.yy529.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-2].minor.yy529.val = t; } +#line 5830 "sql.c" break; case 144: /* alter_db_option ::= WAL_RETENTION_SIZE NK_INTEGER */ -{ yymsp[-1].minor.yy797.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-1].minor.yy797.val = yymsp[0].minor.yy0; } +#line 288 "sql.y" +{ yymsp[-1].minor.yy529.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 5835 "sql.c" break; case 145: /* alter_db_option ::= WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ +#line 289 "sql.y" { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yymsp[-2].minor.yy797.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-2].minor.yy797.val = t; + yymsp[-2].minor.yy529.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-2].minor.yy529.val = t; } +#line 5844 "sql.c" break; case 146: /* alter_db_option ::= KEEP_TIME_OFFSET NK_INTEGER */ -{ yymsp[-1].minor.yy797.type = DB_OPTION_KEEP_TIME_OFFSET; yymsp[-1].minor.yy797.val = yymsp[0].minor.yy0; } +#line 294 "sql.y" +{ yymsp[-1].minor.yy529.type = DB_OPTION_KEEP_TIME_OFFSET; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 5849 "sql.c" break; case 147: /* integer_list ::= NK_INTEGER */ -{ yylhsminor.yy536 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy536 = yylhsminor.yy536; +#line 298 "sql.y" +{ yylhsminor.yy404 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } +#line 5854 "sql.c" + yymsp[0].minor.yy404 = yylhsminor.yy404; break; case 148: /* integer_list ::= integer_list NK_COMMA NK_INTEGER */ - case 403: /* dnode_list ::= dnode_list DNODE NK_INTEGER */ yytestcase(yyruleno==403); -{ yylhsminor.yy536 = addNodeToList(pCxt, yymsp[-2].minor.yy536, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy536 = yylhsminor.yy536; + case 407: /* dnode_list ::= dnode_list DNODE NK_INTEGER */ yytestcase(yyruleno==407); +#line 299 "sql.y" +{ yylhsminor.yy404 = addNodeToList(pCxt, yymsp[-2].minor.yy404, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } +#line 5861 "sql.c" + yymsp[-2].minor.yy404 = yylhsminor.yy404; break; case 149: /* variable_list ::= NK_VARIABLE */ -{ yylhsminor.yy536 = createNodeList(pCxt, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy536 = yylhsminor.yy536; +#line 303 "sql.y" +{ yylhsminor.yy404 = createNodeList(pCxt, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } +#line 5867 "sql.c" + yymsp[0].minor.yy404 = yylhsminor.yy404; break; case 150: /* variable_list ::= variable_list NK_COMMA NK_VARIABLE */ -{ yylhsminor.yy536 = addNodeToList(pCxt, yymsp[-2].minor.yy536, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy536 = yylhsminor.yy536; +#line 304 "sql.y" +{ yylhsminor.yy404 = addNodeToList(pCxt, yymsp[-2].minor.yy404, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } +#line 5873 "sql.c" + yymsp[-2].minor.yy404 = yylhsminor.yy404; break; case 151: /* retention_list ::= retention */ - case 182: /* multi_create_clause ::= create_subtable_clause */ yytestcase(yyruleno==182); - case 185: /* multi_drop_clause ::= drop_table_clause */ yytestcase(yyruleno==185); - case 192: /* column_def_list ::= column_def */ yytestcase(yyruleno==192); - case 236: /* rollup_func_list ::= rollup_func_name */ yytestcase(yyruleno==236); - case 241: /* col_name_list ::= col_name */ yytestcase(yyruleno==241); - case 308: /* tag_list_opt ::= tag_item */ yytestcase(yyruleno==308); - case 325: /* func_list ::= func */ yytestcase(yyruleno==325); - case 432: /* literal_list ::= signed_literal */ yytestcase(yyruleno==432); - case 503: /* other_para_list ::= star_func_para */ yytestcase(yyruleno==503); - case 509: /* when_then_list ::= when_then_expr */ yytestcase(yyruleno==509); - case 568: /* select_list ::= select_item */ yytestcase(yyruleno==568); - case 579: /* partition_list ::= partition_item */ yytestcase(yyruleno==579); - case 640: /* sort_specification_list ::= sort_specification */ yytestcase(yyruleno==640); -{ yylhsminor.yy536 = createNodeList(pCxt, yymsp[0].minor.yy360); } - yymsp[0].minor.yy536 = yylhsminor.yy536; + case 183: /* multi_create_clause ::= create_subtable_clause */ yytestcase(yyruleno==183); + case 186: /* multi_drop_clause ::= drop_table_clause */ yytestcase(yyruleno==186); + case 193: /* tag_def_list ::= tag_def */ yytestcase(yyruleno==193); + case 196: /* column_def_list ::= column_def */ yytestcase(yyruleno==196); + case 240: /* rollup_func_list ::= rollup_func_name */ yytestcase(yyruleno==240); + case 245: /* col_name_list ::= col_name */ yytestcase(yyruleno==245); + case 312: /* tag_list_opt ::= tag_item */ yytestcase(yyruleno==312); + case 329: /* func_list ::= func */ yytestcase(yyruleno==329); + case 436: /* literal_list ::= signed_literal */ yytestcase(yyruleno==436); + case 507: /* other_para_list ::= star_func_para */ yytestcase(yyruleno==507); + case 513: /* when_then_list ::= when_then_expr */ yytestcase(yyruleno==513); + case 572: /* select_list ::= select_item */ yytestcase(yyruleno==572); + case 583: /* partition_list ::= partition_item */ yytestcase(yyruleno==583); + case 644: /* sort_specification_list ::= sort_specification */ yytestcase(yyruleno==644); +#line 308 "sql.y" +{ yylhsminor.yy404 = createNodeList(pCxt, yymsp[0].minor.yy896); } +#line 5893 "sql.c" + yymsp[0].minor.yy404 = yylhsminor.yy404; break; case 152: /* retention_list ::= retention_list NK_COMMA retention */ - case 186: /* multi_drop_clause ::= multi_drop_clause NK_COMMA drop_table_clause */ yytestcase(yyruleno==186); - case 193: /* column_def_list ::= column_def_list NK_COMMA column_def */ yytestcase(yyruleno==193); - case 237: /* rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ yytestcase(yyruleno==237); - case 242: /* col_name_list ::= col_name_list NK_COMMA col_name */ yytestcase(yyruleno==242); - case 309: /* tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ yytestcase(yyruleno==309); - case 326: /* func_list ::= func_list NK_COMMA func */ yytestcase(yyruleno==326); - case 433: /* literal_list ::= literal_list NK_COMMA signed_literal */ yytestcase(yyruleno==433); - case 504: /* other_para_list ::= other_para_list NK_COMMA star_func_para */ yytestcase(yyruleno==504); - case 569: /* select_list ::= select_list NK_COMMA select_item */ yytestcase(yyruleno==569); - case 580: /* partition_list ::= partition_list NK_COMMA partition_item */ yytestcase(yyruleno==580); - case 641: /* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ yytestcase(yyruleno==641); -{ yylhsminor.yy536 = addNodeToList(pCxt, yymsp[-2].minor.yy536, yymsp[0].minor.yy360); } - yymsp[-2].minor.yy536 = yylhsminor.yy536; + case 187: /* multi_drop_clause ::= multi_drop_clause NK_COMMA drop_table_clause */ yytestcase(yyruleno==187); + case 194: /* tag_def_list ::= tag_def_list NK_COMMA tag_def */ yytestcase(yyruleno==194); + case 197: /* column_def_list ::= column_def_list NK_COMMA column_def */ yytestcase(yyruleno==197); + case 241: /* rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ yytestcase(yyruleno==241); + case 246: /* col_name_list ::= col_name_list NK_COMMA col_name */ yytestcase(yyruleno==246); + case 313: /* tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ yytestcase(yyruleno==313); + case 330: /* func_list ::= func_list NK_COMMA func */ yytestcase(yyruleno==330); + case 437: /* literal_list ::= literal_list NK_COMMA signed_literal */ yytestcase(yyruleno==437); + case 508: /* other_para_list ::= other_para_list NK_COMMA star_func_para */ yytestcase(yyruleno==508); + case 573: /* select_list ::= select_list NK_COMMA select_item */ yytestcase(yyruleno==573); + case 584: /* partition_list ::= partition_list NK_COMMA partition_item */ yytestcase(yyruleno==584); + case 645: /* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ yytestcase(yyruleno==645); +#line 309 "sql.y" +{ yylhsminor.yy404 = addNodeToList(pCxt, yymsp[-2].minor.yy404, yymsp[0].minor.yy896); } +#line 5911 "sql.c" + yymsp[-2].minor.yy404 = yylhsminor.yy404; break; case 153: /* retention ::= NK_VARIABLE NK_COLON NK_VARIABLE */ case 154: /* retention ::= NK_MINUS NK_COLON NK_VARIABLE */ yytestcase(yyruleno==154); -{ yylhsminor.yy360 = createNodeListNodeEx(pCxt, createDurationValueNode(pCxt, &yymsp[-2].minor.yy0), createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 311 "sql.y" +{ yylhsminor.yy896 = createNodeListNodeEx(pCxt, createDurationValueNode(pCxt, &yymsp[-2].minor.yy0), createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } +#line 5918 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; case 155: /* speed_opt ::= */ - case 359: /* bufsize_opt ::= */ yytestcase(yyruleno==359); -{ yymsp[1].minor.yy580 = 0; } + case 363: /* bufsize_opt ::= */ yytestcase(yyruleno==363); +#line 316 "sql.y" +{ yymsp[1].minor.yy396 = 0; } +#line 5925 "sql.c" break; case 156: /* speed_opt ::= BWLIMIT NK_INTEGER */ - case 360: /* bufsize_opt ::= BUFSIZE NK_INTEGER */ yytestcase(yyruleno==360); -{ yymsp[-1].minor.yy580 = taosStr2Int32(yymsp[0].minor.yy0.z, NULL, 10); } + case 364: /* bufsize_opt ::= BUFSIZE NK_INTEGER */ yytestcase(yyruleno==364); +#line 317 "sql.y" +{ yymsp[-1].minor.yy396 = taosStr2Int32(yymsp[0].minor.yy0.z, NULL, 10); } +#line 5931 "sql.c" break; case 158: /* start_opt ::= START WITH NK_INTEGER */ case 162: /* end_opt ::= END WITH NK_INTEGER */ yytestcase(yyruleno==162); -{ yymsp[-2].minor.yy360 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0); } +#line 320 "sql.y" +{ yymsp[-2].minor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0); } +#line 5937 "sql.c" break; case 159: /* start_opt ::= START WITH NK_STRING */ case 163: /* end_opt ::= END WITH NK_STRING */ yytestcase(yyruleno==163); -{ yymsp[-2].minor.yy360 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } +#line 321 "sql.y" +{ yymsp[-2].minor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } +#line 5943 "sql.c" break; case 160: /* start_opt ::= START WITH TIMESTAMP NK_STRING */ case 164: /* end_opt ::= END WITH TIMESTAMP NK_STRING */ yytestcase(yyruleno==164); -{ yymsp[-3].minor.yy360 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } +#line 322 "sql.y" +{ yymsp[-3].minor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } +#line 5949 "sql.c" break; case 165: /* cmd ::= CREATE TABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def_opt table_options */ case 167: /* cmd ::= CREATE STABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def table_options */ yytestcase(yyruleno==167); -{ pCxt->pRootNode = createCreateTableStmt(pCxt, yymsp[-6].minor.yy345, yymsp[-5].minor.yy360, yymsp[-3].minor.yy536, yymsp[-1].minor.yy536, yymsp[0].minor.yy360); } +#line 331 "sql.y" +{ pCxt->pRootNode = createCreateTableStmt(pCxt, yymsp[-6].minor.yy733, yymsp[-5].minor.yy896, yymsp[-3].minor.yy404, yymsp[-1].minor.yy404, yymsp[0].minor.yy896); } +#line 5955 "sql.c" break; case 166: /* cmd ::= CREATE TABLE multi_create_clause */ -{ pCxt->pRootNode = createCreateMultiTableStmt(pCxt, yymsp[0].minor.yy536); } +#line 332 "sql.y" +{ pCxt->pRootNode = createCreateMultiTableStmt(pCxt, yymsp[0].minor.yy404); } +#line 5960 "sql.c" break; case 168: /* cmd ::= DROP TABLE multi_drop_clause */ -{ pCxt->pRootNode = createDropTableStmt(pCxt, yymsp[0].minor.yy536); } +#line 335 "sql.y" +{ pCxt->pRootNode = createDropTableStmt(pCxt, yymsp[0].minor.yy404); } +#line 5965 "sql.c" break; case 169: /* cmd ::= DROP STABLE exists_opt full_table_name */ -{ pCxt->pRootNode = createDropSuperTableStmt(pCxt, yymsp[-1].minor.yy345, yymsp[0].minor.yy360); } +#line 336 "sql.y" +{ pCxt->pRootNode = createDropSuperTableStmt(pCxt, yymsp[-1].minor.yy733, yymsp[0].minor.yy896); } +#line 5970 "sql.c" break; case 170: /* cmd ::= ALTER TABLE alter_table_clause */ - case 405: /* cmd ::= query_or_subquery */ yytestcase(yyruleno==405); - case 406: /* cmd ::= insert_query */ yytestcase(yyruleno==406); -{ pCxt->pRootNode = yymsp[0].minor.yy360; } + case 409: /* cmd ::= query_or_subquery */ yytestcase(yyruleno==409); + case 410: /* cmd ::= insert_query */ yytestcase(yyruleno==410); +#line 338 "sql.y" +{ pCxt->pRootNode = yymsp[0].minor.yy896; } +#line 5977 "sql.c" break; case 171: /* cmd ::= ALTER STABLE alter_table_clause */ -{ pCxt->pRootNode = setAlterSuperTableType(yymsp[0].minor.yy360); } +#line 339 "sql.y" +{ pCxt->pRootNode = setAlterSuperTableType(yymsp[0].minor.yy896); } +#line 5982 "sql.c" break; case 172: /* alter_table_clause ::= full_table_name alter_table_options */ -{ yylhsminor.yy360 = createAlterTableModifyOptions(pCxt, yymsp[-1].minor.yy360, yymsp[0].minor.yy360); } - yymsp[-1].minor.yy360 = yylhsminor.yy360; +#line 341 "sql.y" +{ yylhsminor.yy896 = createAlterTableModifyOptions(pCxt, yymsp[-1].minor.yy896, yymsp[0].minor.yy896); } +#line 5987 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; case 173: /* alter_table_clause ::= full_table_name ADD COLUMN column_name type_name */ -{ yylhsminor.yy360 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy360, TSDB_ALTER_TABLE_ADD_COLUMN, &yymsp[-1].minor.yy929, yymsp[0].minor.yy912); } - yymsp[-4].minor.yy360 = yylhsminor.yy360; +#line 343 "sql.y" +{ yylhsminor.yy896 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy896, TSDB_ALTER_TABLE_ADD_COLUMN, &yymsp[-1].minor.yy701, yymsp[0].minor.yy504); } +#line 5993 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; case 174: /* alter_table_clause ::= full_table_name DROP COLUMN column_name */ -{ yylhsminor.yy360 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy360, TSDB_ALTER_TABLE_DROP_COLUMN, &yymsp[0].minor.yy929); } - yymsp[-3].minor.yy360 = yylhsminor.yy360; +#line 344 "sql.y" +{ yylhsminor.yy896 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy896, TSDB_ALTER_TABLE_DROP_COLUMN, &yymsp[0].minor.yy701); } +#line 5999 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; case 175: /* alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */ -{ yylhsminor.yy360 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy360, TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES, &yymsp[-1].minor.yy929, yymsp[0].minor.yy912); } - yymsp[-4].minor.yy360 = yylhsminor.yy360; +#line 346 "sql.y" +{ yylhsminor.yy896 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy896, TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES, &yymsp[-1].minor.yy701, yymsp[0].minor.yy504); } +#line 6005 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; - case 176: /* alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */ -{ yylhsminor.yy360 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy360, TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME, &yymsp[-1].minor.yy929, &yymsp[0].minor.yy929); } - yymsp[-4].minor.yy360 = yylhsminor.yy360; + case 176: /* alter_table_clause ::= full_table_name MODIFY COLUMN column_name column_options */ +#line 348 "sql.y" +{ yylhsminor.yy896 = createAlterTableAddModifyColOptions(pCxt, yymsp[-4].minor.yy896, TSDB_ALTER_TABLE_UPDATE_COLUMN_COMPRESS, &yymsp[-1].minor.yy701, yymsp[0].minor.yy896); } +#line 6011 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; - case 177: /* alter_table_clause ::= full_table_name ADD TAG column_name type_name */ -{ yylhsminor.yy360 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy360, TSDB_ALTER_TABLE_ADD_TAG, &yymsp[-1].minor.yy929, yymsp[0].minor.yy912); } - yymsp[-4].minor.yy360 = yylhsminor.yy360; + case 177: /* alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */ +#line 350 "sql.y" +{ yylhsminor.yy896 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy896, TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME, &yymsp[-1].minor.yy701, &yymsp[0].minor.yy701); } +#line 6017 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; - case 178: /* alter_table_clause ::= full_table_name DROP TAG column_name */ -{ yylhsminor.yy360 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy360, TSDB_ALTER_TABLE_DROP_TAG, &yymsp[0].minor.yy929); } - yymsp[-3].minor.yy360 = yylhsminor.yy360; + case 178: /* alter_table_clause ::= full_table_name ADD TAG column_name type_name */ +#line 352 "sql.y" +{ yylhsminor.yy896 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy896, TSDB_ALTER_TABLE_ADD_TAG, &yymsp[-1].minor.yy701, yymsp[0].minor.yy504); } +#line 6023 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; - case 179: /* alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */ -{ yylhsminor.yy360 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy360, TSDB_ALTER_TABLE_UPDATE_TAG_BYTES, &yymsp[-1].minor.yy929, yymsp[0].minor.yy912); } - yymsp[-4].minor.yy360 = yylhsminor.yy360; + case 179: /* alter_table_clause ::= full_table_name DROP TAG column_name */ +#line 353 "sql.y" +{ yylhsminor.yy896 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy896, TSDB_ALTER_TABLE_DROP_TAG, &yymsp[0].minor.yy701); } +#line 6029 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 180: /* alter_table_clause ::= full_table_name RENAME TAG column_name column_name */ -{ yylhsminor.yy360 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy360, TSDB_ALTER_TABLE_UPDATE_TAG_NAME, &yymsp[-1].minor.yy929, &yymsp[0].minor.yy929); } - yymsp[-4].minor.yy360 = yylhsminor.yy360; + case 180: /* alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */ +#line 355 "sql.y" +{ yylhsminor.yy896 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy896, TSDB_ALTER_TABLE_UPDATE_TAG_BYTES, &yymsp[-1].minor.yy701, yymsp[0].minor.yy504); } +#line 6035 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; - case 181: /* alter_table_clause ::= full_table_name SET TAG column_name NK_EQ signed_literal */ -{ yylhsminor.yy360 = createAlterTableSetTag(pCxt, yymsp[-5].minor.yy360, &yymsp[-2].minor.yy929, yymsp[0].minor.yy360); } - yymsp[-5].minor.yy360 = yylhsminor.yy360; + case 181: /* alter_table_clause ::= full_table_name RENAME TAG column_name column_name */ +#line 357 "sql.y" +{ yylhsminor.yy896 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy896, TSDB_ALTER_TABLE_UPDATE_TAG_NAME, &yymsp[-1].minor.yy701, &yymsp[0].minor.yy701); } +#line 6041 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; - case 183: /* multi_create_clause ::= multi_create_clause create_subtable_clause */ - case 510: /* when_then_list ::= when_then_list when_then_expr */ yytestcase(yyruleno==510); -{ yylhsminor.yy536 = addNodeToList(pCxt, yymsp[-1].minor.yy536, yymsp[0].minor.yy360); } - yymsp[-1].minor.yy536 = yylhsminor.yy536; + case 182: /* alter_table_clause ::= full_table_name SET TAG column_name NK_EQ signed_literal */ +#line 359 "sql.y" +{ yylhsminor.yy896 = createAlterTableSetTag(pCxt, yymsp[-5].minor.yy896, &yymsp[-2].minor.yy701, yymsp[0].minor.yy896); } +#line 6047 "sql.c" + yymsp[-5].minor.yy896 = yylhsminor.yy896; break; - case 184: /* create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_cols_opt TAGS NK_LP expression_list NK_RP table_options */ -{ yylhsminor.yy360 = createCreateSubTableClause(pCxt, yymsp[-9].minor.yy345, yymsp[-8].minor.yy360, yymsp[-6].minor.yy360, yymsp[-5].minor.yy536, yymsp[-2].minor.yy536, yymsp[0].minor.yy360); } - yymsp[-9].minor.yy360 = yylhsminor.yy360; + case 184: /* multi_create_clause ::= multi_create_clause create_subtable_clause */ + case 514: /* when_then_list ::= when_then_list when_then_expr */ yytestcase(yyruleno==514); +#line 364 "sql.y" +{ yylhsminor.yy404 = addNodeToList(pCxt, yymsp[-1].minor.yy404, yymsp[0].minor.yy896); } +#line 6054 "sql.c" + yymsp[-1].minor.yy404 = yylhsminor.yy404; break; - case 187: /* drop_table_clause ::= exists_opt full_table_name */ -{ yylhsminor.yy360 = createDropTableClause(pCxt, yymsp[-1].minor.yy345, yymsp[0].minor.yy360); } - yymsp[-1].minor.yy360 = yylhsminor.yy360; + case 185: /* create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_cols_opt TAGS NK_LP expression_list NK_RP table_options */ +#line 368 "sql.y" +{ yylhsminor.yy896 = createCreateSubTableClause(pCxt, yymsp[-9].minor.yy733, yymsp[-8].minor.yy896, yymsp[-6].minor.yy896, yymsp[-5].minor.yy404, yymsp[-2].minor.yy404, yymsp[0].minor.yy896); } +#line 6060 "sql.c" + yymsp[-9].minor.yy896 = yylhsminor.yy896; break; - case 189: /* specific_cols_opt ::= NK_LP col_name_list NK_RP */ - case 374: /* col_list_opt ::= NK_LP col_name_list NK_RP */ yytestcase(yyruleno==374); -{ yymsp[-2].minor.yy536 = yymsp[-1].minor.yy536; } + case 188: /* drop_table_clause ::= exists_opt full_table_name */ +#line 375 "sql.y" +{ yylhsminor.yy896 = createDropTableClause(pCxt, yymsp[-1].minor.yy733, yymsp[0].minor.yy896); } +#line 6066 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 190: /* full_table_name ::= table_name */ -{ yylhsminor.yy360 = createRealTableNode(pCxt, NULL, &yymsp[0].minor.yy929, NULL); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 190: /* specific_cols_opt ::= NK_LP col_name_list NK_RP */ + case 378: /* col_list_opt ::= NK_LP col_name_list NK_RP */ yytestcase(yyruleno==378); +#line 380 "sql.y" +{ yymsp[-2].minor.yy404 = yymsp[-1].minor.yy404; } +#line 6073 "sql.c" break; - case 191: /* full_table_name ::= db_name NK_DOT table_name */ -{ yylhsminor.yy360 = createRealTableNode(pCxt, &yymsp[-2].minor.yy929, &yymsp[0].minor.yy929, NULL); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 191: /* full_table_name ::= table_name */ +#line 382 "sql.y" +{ yylhsminor.yy896 = createRealTableNode(pCxt, NULL, &yymsp[0].minor.yy701, NULL); } +#line 6078 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 194: /* column_def ::= column_name type_name */ -{ yylhsminor.yy360 = createColumnDefNode(pCxt, &yymsp[-1].minor.yy929, yymsp[0].minor.yy912, NULL); } - yymsp[-1].minor.yy360 = yylhsminor.yy360; + case 192: /* full_table_name ::= db_name NK_DOT table_name */ +#line 383 "sql.y" +{ yylhsminor.yy896 = createRealTableNode(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy701, NULL); } +#line 6084 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 195: /* type_name ::= BOOL */ -{ yymsp[0].minor.yy912 = createDataType(TSDB_DATA_TYPE_BOOL); } + case 195: /* tag_def ::= column_name type_name */ +#line 389 "sql.y" +{ yylhsminor.yy896 = createColumnDefNode(pCxt, &yymsp[-1].minor.yy701, yymsp[0].minor.yy504, NULL); } +#line 6090 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 196: /* type_name ::= TINYINT */ -{ yymsp[0].minor.yy912 = createDataType(TSDB_DATA_TYPE_TINYINT); } + case 198: /* column_def ::= column_name type_name column_options */ +#line 397 "sql.y" +{ yylhsminor.yy896 = createColumnDefNode(pCxt, &yymsp[-2].minor.yy701, yymsp[-1].minor.yy504, yymsp[0].minor.yy896); } +#line 6096 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 197: /* type_name ::= SMALLINT */ -{ yymsp[0].minor.yy912 = createDataType(TSDB_DATA_TYPE_SMALLINT); } + case 199: /* type_name ::= BOOL */ +#line 401 "sql.y" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_BOOL); } +#line 6102 "sql.c" break; - case 198: /* type_name ::= INT */ - case 199: /* type_name ::= INTEGER */ yytestcase(yyruleno==199); -{ yymsp[0].minor.yy912 = createDataType(TSDB_DATA_TYPE_INT); } + case 200: /* type_name ::= TINYINT */ +#line 402 "sql.y" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_TINYINT); } +#line 6107 "sql.c" break; - case 200: /* type_name ::= BIGINT */ -{ yymsp[0].minor.yy912 = createDataType(TSDB_DATA_TYPE_BIGINT); } + case 201: /* type_name ::= SMALLINT */ +#line 403 "sql.y" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_SMALLINT); } +#line 6112 "sql.c" break; - case 201: /* type_name ::= FLOAT */ -{ yymsp[0].minor.yy912 = createDataType(TSDB_DATA_TYPE_FLOAT); } + case 202: /* type_name ::= INT */ + case 203: /* type_name ::= INTEGER */ yytestcase(yyruleno==203); +#line 404 "sql.y" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_INT); } +#line 6118 "sql.c" break; - case 202: /* type_name ::= DOUBLE */ -{ yymsp[0].minor.yy912 = createDataType(TSDB_DATA_TYPE_DOUBLE); } + case 204: /* type_name ::= BIGINT */ +#line 406 "sql.y" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_BIGINT); } +#line 6123 "sql.c" break; - case 203: /* type_name ::= BINARY NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy912 = createVarLenDataType(TSDB_DATA_TYPE_BINARY, &yymsp[-1].minor.yy0); } + case 205: /* type_name ::= FLOAT */ +#line 407 "sql.y" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_FLOAT); } +#line 6128 "sql.c" break; - case 204: /* type_name ::= TIMESTAMP */ -{ yymsp[0].minor.yy912 = createDataType(TSDB_DATA_TYPE_TIMESTAMP); } + case 206: /* type_name ::= DOUBLE */ +#line 408 "sql.y" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_DOUBLE); } +#line 6133 "sql.c" break; - case 205: /* type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy912 = createVarLenDataType(TSDB_DATA_TYPE_NCHAR, &yymsp[-1].minor.yy0); } + case 207: /* type_name ::= BINARY NK_LP NK_INTEGER NK_RP */ +#line 409 "sql.y" +{ yymsp[-3].minor.yy504 = createVarLenDataType(TSDB_DATA_TYPE_BINARY, &yymsp[-1].minor.yy0); } +#line 6138 "sql.c" break; - case 206: /* type_name ::= TINYINT UNSIGNED */ -{ yymsp[-1].minor.yy912 = createDataType(TSDB_DATA_TYPE_UTINYINT); } + case 208: /* type_name ::= TIMESTAMP */ +#line 410 "sql.y" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_TIMESTAMP); } +#line 6143 "sql.c" break; - case 207: /* type_name ::= SMALLINT UNSIGNED */ -{ yymsp[-1].minor.yy912 = createDataType(TSDB_DATA_TYPE_USMALLINT); } + case 209: /* type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */ +#line 411 "sql.y" +{ yymsp[-3].minor.yy504 = createVarLenDataType(TSDB_DATA_TYPE_NCHAR, &yymsp[-1].minor.yy0); } +#line 6148 "sql.c" break; - case 208: /* type_name ::= INT UNSIGNED */ -{ yymsp[-1].minor.yy912 = createDataType(TSDB_DATA_TYPE_UINT); } + case 210: /* type_name ::= TINYINT UNSIGNED */ +#line 412 "sql.y" +{ yymsp[-1].minor.yy504 = createDataType(TSDB_DATA_TYPE_UTINYINT); } +#line 6153 "sql.c" break; - case 209: /* type_name ::= BIGINT UNSIGNED */ -{ yymsp[-1].minor.yy912 = createDataType(TSDB_DATA_TYPE_UBIGINT); } + case 211: /* type_name ::= SMALLINT UNSIGNED */ +#line 413 "sql.y" +{ yymsp[-1].minor.yy504 = createDataType(TSDB_DATA_TYPE_USMALLINT); } +#line 6158 "sql.c" break; - case 210: /* type_name ::= JSON */ -{ yymsp[0].minor.yy912 = createDataType(TSDB_DATA_TYPE_JSON); } + case 212: /* type_name ::= INT UNSIGNED */ +#line 414 "sql.y" +{ yymsp[-1].minor.yy504 = createDataType(TSDB_DATA_TYPE_UINT); } +#line 6163 "sql.c" break; - case 211: /* type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy912 = createVarLenDataType(TSDB_DATA_TYPE_VARCHAR, &yymsp[-1].minor.yy0); } + case 213: /* type_name ::= BIGINT UNSIGNED */ +#line 415 "sql.y" +{ yymsp[-1].minor.yy504 = createDataType(TSDB_DATA_TYPE_UBIGINT); } +#line 6168 "sql.c" break; - case 212: /* type_name ::= MEDIUMBLOB */ -{ yymsp[0].minor.yy912 = createDataType(TSDB_DATA_TYPE_MEDIUMBLOB); } + case 214: /* type_name ::= JSON */ +#line 416 "sql.y" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_JSON); } +#line 6173 "sql.c" break; - case 213: /* type_name ::= BLOB */ -{ yymsp[0].minor.yy912 = createDataType(TSDB_DATA_TYPE_BLOB); } + case 215: /* type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */ +#line 417 "sql.y" +{ yymsp[-3].minor.yy504 = createVarLenDataType(TSDB_DATA_TYPE_VARCHAR, &yymsp[-1].minor.yy0); } +#line 6178 "sql.c" break; - case 214: /* type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy912 = createVarLenDataType(TSDB_DATA_TYPE_VARBINARY, &yymsp[-1].minor.yy0); } + case 216: /* type_name ::= MEDIUMBLOB */ +#line 418 "sql.y" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_MEDIUMBLOB); } +#line 6183 "sql.c" break; - case 215: /* type_name ::= GEOMETRY NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy912 = createVarLenDataType(TSDB_DATA_TYPE_GEOMETRY, &yymsp[-1].minor.yy0); } + case 217: /* type_name ::= BLOB */ +#line 419 "sql.y" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_BLOB); } +#line 6188 "sql.c" break; - case 216: /* type_name ::= DECIMAL */ -{ yymsp[0].minor.yy912 = createDataType(TSDB_DATA_TYPE_DECIMAL); } + case 218: /* type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */ +#line 420 "sql.y" +{ yymsp[-3].minor.yy504 = createVarLenDataType(TSDB_DATA_TYPE_VARBINARY, &yymsp[-1].minor.yy0); } +#line 6193 "sql.c" break; - case 217: /* type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy912 = createDataType(TSDB_DATA_TYPE_DECIMAL); } + case 219: /* type_name ::= GEOMETRY NK_LP NK_INTEGER NK_RP */ +#line 421 "sql.y" +{ yymsp[-3].minor.yy504 = createVarLenDataType(TSDB_DATA_TYPE_GEOMETRY, &yymsp[-1].minor.yy0); } +#line 6198 "sql.c" break; - case 218: /* type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ -{ yymsp[-5].minor.yy912 = createDataType(TSDB_DATA_TYPE_DECIMAL); } + case 220: /* type_name ::= DECIMAL */ +#line 422 "sql.y" +{ yymsp[0].minor.yy504 = createDataType(TSDB_DATA_TYPE_DECIMAL); } +#line 6203 "sql.c" break; - case 221: /* tags_def ::= TAGS NK_LP column_def_list NK_RP */ - case 377: /* tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ yytestcase(yyruleno==377); -{ yymsp[-3].minor.yy536 = yymsp[-1].minor.yy536; } + case 221: /* type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */ +#line 423 "sql.y" +{ yymsp[-3].minor.yy504 = createDataType(TSDB_DATA_TYPE_DECIMAL); } +#line 6208 "sql.c" break; - case 222: /* table_options ::= */ -{ yymsp[1].minor.yy360 = createDefaultTableOptions(pCxt); } + case 222: /* type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ +#line 424 "sql.y" +{ yymsp[-5].minor.yy504 = createDataType(TSDB_DATA_TYPE_DECIMAL); } +#line 6213 "sql.c" break; - case 223: /* table_options ::= table_options COMMENT NK_STRING */ -{ yylhsminor.yy360 = setTableOption(pCxt, yymsp[-2].minor.yy360, TABLE_OPTION_COMMENT, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 225: /* tags_def ::= TAGS NK_LP tag_def_list NK_RP */ + case 381: /* tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ yytestcase(yyruleno==381); +#line 433 "sql.y" +{ yymsp[-3].minor.yy404 = yymsp[-1].minor.yy404; } +#line 6219 "sql.c" break; - case 224: /* table_options ::= table_options MAX_DELAY duration_list */ -{ yylhsminor.yy360 = setTableOption(pCxt, yymsp[-2].minor.yy360, TABLE_OPTION_MAXDELAY, yymsp[0].minor.yy536); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 226: /* table_options ::= */ +#line 435 "sql.y" +{ yymsp[1].minor.yy896 = createDefaultTableOptions(pCxt); } +#line 6224 "sql.c" break; - case 225: /* table_options ::= table_options WATERMARK duration_list */ -{ yylhsminor.yy360 = setTableOption(pCxt, yymsp[-2].minor.yy360, TABLE_OPTION_WATERMARK, yymsp[0].minor.yy536); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 227: /* table_options ::= table_options COMMENT NK_STRING */ +#line 436 "sql.y" +{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-2].minor.yy896, TABLE_OPTION_COMMENT, &yymsp[0].minor.yy0); } +#line 6229 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 226: /* table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ -{ yylhsminor.yy360 = setTableOption(pCxt, yymsp[-4].minor.yy360, TABLE_OPTION_ROLLUP, yymsp[-1].minor.yy536); } - yymsp[-4].minor.yy360 = yylhsminor.yy360; + case 228: /* table_options ::= table_options MAX_DELAY duration_list */ +#line 437 "sql.y" +{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-2].minor.yy896, TABLE_OPTION_MAXDELAY, yymsp[0].minor.yy404); } +#line 6235 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 227: /* table_options ::= table_options TTL NK_INTEGER */ -{ yylhsminor.yy360 = setTableOption(pCxt, yymsp[-2].minor.yy360, TABLE_OPTION_TTL, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 229: /* table_options ::= table_options WATERMARK duration_list */ +#line 438 "sql.y" +{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-2].minor.yy896, TABLE_OPTION_WATERMARK, yymsp[0].minor.yy404); } +#line 6241 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 228: /* table_options ::= table_options SMA NK_LP col_name_list NK_RP */ -{ yylhsminor.yy360 = setTableOption(pCxt, yymsp[-4].minor.yy360, TABLE_OPTION_SMA, yymsp[-1].minor.yy536); } - yymsp[-4].minor.yy360 = yylhsminor.yy360; + case 230: /* table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ +#line 439 "sql.y" +{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-4].minor.yy896, TABLE_OPTION_ROLLUP, yymsp[-1].minor.yy404); } +#line 6247 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; - case 229: /* table_options ::= table_options DELETE_MARK duration_list */ -{ yylhsminor.yy360 = setTableOption(pCxt, yymsp[-2].minor.yy360, TABLE_OPTION_DELETE_MARK, yymsp[0].minor.yy536); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 231: /* table_options ::= table_options TTL NK_INTEGER */ +#line 440 "sql.y" +{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-2].minor.yy896, TABLE_OPTION_TTL, &yymsp[0].minor.yy0); } +#line 6253 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 230: /* alter_table_options ::= alter_table_option */ -{ yylhsminor.yy360 = createAlterTableOptions(pCxt); yylhsminor.yy360 = setTableOption(pCxt, yylhsminor.yy360, yymsp[0].minor.yy797.type, &yymsp[0].minor.yy797.val); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 232: /* table_options ::= table_options SMA NK_LP col_name_list NK_RP */ +#line 441 "sql.y" +{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-4].minor.yy896, TABLE_OPTION_SMA, yymsp[-1].minor.yy404); } +#line 6259 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; - case 231: /* alter_table_options ::= alter_table_options alter_table_option */ -{ yylhsminor.yy360 = setTableOption(pCxt, yymsp[-1].minor.yy360, yymsp[0].minor.yy797.type, &yymsp[0].minor.yy797.val); } - yymsp[-1].minor.yy360 = yylhsminor.yy360; + case 233: /* table_options ::= table_options DELETE_MARK duration_list */ +#line 442 "sql.y" +{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-2].minor.yy896, TABLE_OPTION_DELETE_MARK, yymsp[0].minor.yy404); } +#line 6265 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 232: /* alter_table_option ::= COMMENT NK_STRING */ -{ yymsp[-1].minor.yy797.type = TABLE_OPTION_COMMENT; yymsp[-1].minor.yy797.val = yymsp[0].minor.yy0; } + case 234: /* alter_table_options ::= alter_table_option */ +#line 444 "sql.y" +{ yylhsminor.yy896 = createAlterTableOptions(pCxt); yylhsminor.yy896 = setTableOption(pCxt, yylhsminor.yy896, yymsp[0].minor.yy529.type, &yymsp[0].minor.yy529.val); } +#line 6271 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 233: /* alter_table_option ::= TTL NK_INTEGER */ -{ yymsp[-1].minor.yy797.type = TABLE_OPTION_TTL; yymsp[-1].minor.yy797.val = yymsp[0].minor.yy0; } + case 235: /* alter_table_options ::= alter_table_options alter_table_option */ +#line 445 "sql.y" +{ yylhsminor.yy896 = setTableOption(pCxt, yymsp[-1].minor.yy896, yymsp[0].minor.yy529.type, &yymsp[0].minor.yy529.val); } +#line 6277 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 234: /* duration_list ::= duration_literal */ - case 464: /* expression_list ::= expr_or_subquery */ yytestcase(yyruleno==464); -{ yylhsminor.yy536 = createNodeList(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy360)); } - yymsp[0].minor.yy536 = yylhsminor.yy536; + case 236: /* alter_table_option ::= COMMENT NK_STRING */ +#line 449 "sql.y" +{ yymsp[-1].minor.yy529.type = TABLE_OPTION_COMMENT; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 6283 "sql.c" break; - case 235: /* duration_list ::= duration_list NK_COMMA duration_literal */ - case 465: /* expression_list ::= expression_list NK_COMMA expr_or_subquery */ yytestcase(yyruleno==465); -{ yylhsminor.yy536 = addNodeToList(pCxt, yymsp[-2].minor.yy536, releaseRawExprNode(pCxt, yymsp[0].minor.yy360)); } - yymsp[-2].minor.yy536 = yylhsminor.yy536; + case 237: /* alter_table_option ::= TTL NK_INTEGER */ +#line 450 "sql.y" +{ yymsp[-1].minor.yy529.type = TABLE_OPTION_TTL; yymsp[-1].minor.yy529.val = yymsp[0].minor.yy0; } +#line 6288 "sql.c" break; - case 238: /* rollup_func_name ::= function_name */ -{ yylhsminor.yy360 = createFunctionNode(pCxt, &yymsp[0].minor.yy929, NULL); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 238: /* duration_list ::= duration_literal */ + case 468: /* expression_list ::= expr_or_subquery */ yytestcase(yyruleno==468); +#line 454 "sql.y" +{ yylhsminor.yy404 = createNodeList(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy896)); } +#line 6294 "sql.c" + yymsp[0].minor.yy404 = yylhsminor.yy404; break; - case 239: /* rollup_func_name ::= FIRST */ - case 240: /* rollup_func_name ::= LAST */ yytestcase(yyruleno==240); - case 311: /* tag_item ::= QTAGS */ yytestcase(yyruleno==311); -{ yylhsminor.yy360 = createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 239: /* duration_list ::= duration_list NK_COMMA duration_literal */ + case 469: /* expression_list ::= expression_list NK_COMMA expr_or_subquery */ yytestcase(yyruleno==469); +#line 455 "sql.y" +{ yylhsminor.yy404 = addNodeToList(pCxt, yymsp[-2].minor.yy404, releaseRawExprNode(pCxt, yymsp[0].minor.yy896)); } +#line 6301 "sql.c" + yymsp[-2].minor.yy404 = yylhsminor.yy404; break; - case 243: /* col_name ::= column_name */ - case 312: /* tag_item ::= column_name */ yytestcase(yyruleno==312); -{ yylhsminor.yy360 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy929); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 242: /* rollup_func_name ::= function_name */ +#line 462 "sql.y" +{ yylhsminor.yy896 = createFunctionNode(pCxt, &yymsp[0].minor.yy701, NULL); } +#line 6307 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 244: /* cmd ::= SHOW DNODES */ + case 243: /* rollup_func_name ::= FIRST */ + case 244: /* rollup_func_name ::= LAST */ yytestcase(yyruleno==244); + case 315: /* tag_item ::= QTAGS */ yytestcase(yyruleno==315); +#line 463 "sql.y" +{ yylhsminor.yy896 = createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL); } +#line 6315 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; + break; + case 247: /* col_name ::= column_name */ + case 316: /* tag_item ::= column_name */ yytestcase(yyruleno==316); +#line 471 "sql.y" +{ yylhsminor.yy896 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy701); } +#line 6322 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; + break; + case 248: /* cmd ::= SHOW DNODES */ +#line 474 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_DNODES_STMT); } +#line 6328 "sql.c" break; - case 245: /* cmd ::= SHOW USERS */ + case 249: /* cmd ::= SHOW USERS */ +#line 475 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_USERS_STMT); } +#line 6333 "sql.c" break; - case 246: /* cmd ::= SHOW USER PRIVILEGES */ + case 250: /* cmd ::= SHOW USER PRIVILEGES */ +#line 476 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_USER_PRIVILEGES_STMT); } +#line 6338 "sql.c" break; - case 247: /* cmd ::= SHOW db_kind_opt DATABASES */ + case 251: /* cmd ::= SHOW db_kind_opt DATABASES */ +#line 477 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_DATABASES_STMT); - setShowKind(pCxt, pCxt->pRootNode, yymsp[-1].minor.yy321); + setShowKind(pCxt, pCxt->pRootNode, yymsp[-1].minor.yy705); } +#line 6346 "sql.c" break; - case 248: /* cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ + case 252: /* cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ +#line 481 "sql.y" { - pCxt->pRootNode = createShowTablesStmt(pCxt, yymsp[-2].minor.yy1005, yymsp[0].minor.yy360, OP_TYPE_LIKE); + pCxt->pRootNode = createShowTablesStmt(pCxt, yymsp[-2].minor.yy989, yymsp[0].minor.yy896, OP_TYPE_LIKE); } +#line 6353 "sql.c" break; - case 249: /* cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_STABLES_STMT, yymsp[-2].minor.yy360, yymsp[0].minor.yy360, OP_TYPE_LIKE); } + case 253: /* cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ +#line 484 "sql.y" +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_STABLES_STMT, yymsp[-2].minor.yy896, yymsp[0].minor.yy896, OP_TYPE_LIKE); } +#line 6358 "sql.c" break; - case 250: /* cmd ::= SHOW db_name_cond_opt VGROUPS */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VGROUPS_STMT, yymsp[-1].minor.yy360, NULL, OP_TYPE_LIKE); } + case 254: /* cmd ::= SHOW db_name_cond_opt VGROUPS */ +#line 485 "sql.y" +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VGROUPS_STMT, yymsp[-1].minor.yy896, NULL, OP_TYPE_LIKE); } +#line 6363 "sql.c" break; - case 251: /* cmd ::= SHOW MNODES */ + case 255: /* cmd ::= SHOW MNODES */ +#line 486 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_MNODES_STMT); } +#line 6368 "sql.c" break; - case 252: /* cmd ::= SHOW QNODES */ + case 256: /* cmd ::= SHOW QNODES */ +#line 488 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_QNODES_STMT); } +#line 6373 "sql.c" break; - case 253: /* cmd ::= SHOW FUNCTIONS */ + case 257: /* cmd ::= SHOW FUNCTIONS */ +#line 489 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_FUNCTIONS_STMT); } +#line 6378 "sql.c" break; - case 254: /* cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, yymsp[0].minor.yy360, yymsp[-1].minor.yy360, OP_TYPE_EQUAL); } + case 258: /* cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ +#line 490 "sql.y" +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, yymsp[0].minor.yy896, yymsp[-1].minor.yy896, OP_TYPE_EQUAL); } +#line 6383 "sql.c" break; - case 255: /* cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy929), createIdentifierValueNode(pCxt, &yymsp[0].minor.yy929), OP_TYPE_EQUAL); } + case 259: /* cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ +#line 491 "sql.y" +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy701), createIdentifierValueNode(pCxt, &yymsp[0].minor.yy701), OP_TYPE_EQUAL); } +#line 6388 "sql.c" break; - case 256: /* cmd ::= SHOW STREAMS */ + case 260: /* cmd ::= SHOW STREAMS */ +#line 492 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_STREAMS_STMT); } +#line 6393 "sql.c" break; - case 257: /* cmd ::= SHOW ACCOUNTS */ + case 261: /* cmd ::= SHOW ACCOUNTS */ +#line 493 "sql.y" { pCxt->errCode = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_EXPRIE_STATEMENT); } +#line 6398 "sql.c" break; - case 258: /* cmd ::= SHOW APPS */ + case 262: /* cmd ::= SHOW APPS */ +#line 494 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_APPS_STMT); } +#line 6403 "sql.c" break; - case 259: /* cmd ::= SHOW CONNECTIONS */ + case 263: /* cmd ::= SHOW CONNECTIONS */ +#line 495 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CONNECTIONS_STMT); } +#line 6408 "sql.c" break; - case 260: /* cmd ::= SHOW LICENCES */ - case 261: /* cmd ::= SHOW GRANTS */ yytestcase(yyruleno==261); + case 264: /* cmd ::= SHOW LICENCES */ + case 265: /* cmd ::= SHOW GRANTS */ yytestcase(yyruleno==265); +#line 496 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_LICENCES_STMT); } +#line 6414 "sql.c" break; - case 262: /* cmd ::= SHOW GRANTS FULL */ + case 266: /* cmd ::= SHOW GRANTS FULL */ +#line 498 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_GRANTS_FULL_STMT); } +#line 6419 "sql.c" break; - case 263: /* cmd ::= SHOW GRANTS LOGS */ + case 267: /* cmd ::= SHOW GRANTS LOGS */ +#line 499 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_GRANTS_LOGS_STMT); } +#line 6424 "sql.c" break; - case 264: /* cmd ::= SHOW CLUSTER MACHINES */ + case 268: /* cmd ::= SHOW CLUSTER MACHINES */ +#line 500 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CLUSTER_MACHINES_STMT); } +#line 6429 "sql.c" break; - case 265: /* cmd ::= SHOW CREATE DATABASE db_name */ -{ pCxt->pRootNode = createShowCreateDatabaseStmt(pCxt, &yymsp[0].minor.yy929); } + case 269: /* cmd ::= SHOW CREATE DATABASE db_name */ +#line 501 "sql.y" +{ pCxt->pRootNode = createShowCreateDatabaseStmt(pCxt, &yymsp[0].minor.yy701); } +#line 6434 "sql.c" break; - case 266: /* cmd ::= SHOW CREATE TABLE full_table_name */ -{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_TABLE_STMT, yymsp[0].minor.yy360); } + case 270: /* cmd ::= SHOW CREATE TABLE full_table_name */ +#line 502 "sql.y" +{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_TABLE_STMT, yymsp[0].minor.yy896); } +#line 6439 "sql.c" break; - case 267: /* cmd ::= SHOW CREATE STABLE full_table_name */ -{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_STABLE_STMT, yymsp[0].minor.yy360); } + case 271: /* cmd ::= SHOW CREATE STABLE full_table_name */ +#line 503 "sql.y" +{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_STABLE_STMT, yymsp[0].minor.yy896); } +#line 6444 "sql.c" break; - case 268: /* cmd ::= SHOW QUERIES */ + case 272: /* cmd ::= SHOW QUERIES */ +#line 504 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_QUERIES_STMT); } +#line 6449 "sql.c" break; - case 269: /* cmd ::= SHOW SCORES */ + case 273: /* cmd ::= SHOW SCORES */ +#line 505 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_SCORES_STMT); } +#line 6454 "sql.c" break; - case 270: /* cmd ::= SHOW TOPICS */ + case 274: /* cmd ::= SHOW TOPICS */ +#line 506 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_TOPICS_STMT); } +#line 6459 "sql.c" break; - case 271: /* cmd ::= SHOW VARIABLES */ - case 272: /* cmd ::= SHOW CLUSTER VARIABLES */ yytestcase(yyruleno==272); + case 275: /* cmd ::= SHOW VARIABLES */ + case 276: /* cmd ::= SHOW CLUSTER VARIABLES */ yytestcase(yyruleno==276); +#line 507 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_VARIABLES_STMT); } +#line 6465 "sql.c" break; - case 273: /* cmd ::= SHOW LOCAL VARIABLES */ + case 277: /* cmd ::= SHOW LOCAL VARIABLES */ +#line 509 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_LOCAL_VARIABLES_STMT); } +#line 6470 "sql.c" break; - case 274: /* 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.yy360); } + case 278: /* cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ +#line 510 "sql.y" +{ pCxt->pRootNode = createShowDnodeVariablesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[-2].minor.yy0), yymsp[0].minor.yy896); } +#line 6475 "sql.c" break; - case 275: /* cmd ::= SHOW BNODES */ + case 279: /* cmd ::= SHOW BNODES */ +#line 511 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_BNODES_STMT); } +#line 6480 "sql.c" break; - case 276: /* cmd ::= SHOW SNODES */ + case 280: /* cmd ::= SHOW SNODES */ +#line 512 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_SNODES_STMT); } +#line 6485 "sql.c" break; - case 277: /* cmd ::= SHOW CLUSTER */ + case 281: /* cmd ::= SHOW CLUSTER */ +#line 513 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CLUSTER_STMT); } +#line 6490 "sql.c" break; - case 278: /* cmd ::= SHOW TRANSACTIONS */ + case 282: /* cmd ::= SHOW TRANSACTIONS */ +#line 514 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_TRANSACTIONS_STMT); } +#line 6495 "sql.c" break; - case 279: /* cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ -{ pCxt->pRootNode = createShowTableDistributedStmt(pCxt, yymsp[0].minor.yy360); } + case 283: /* cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ +#line 515 "sql.y" +{ pCxt->pRootNode = createShowTableDistributedStmt(pCxt, yymsp[0].minor.yy896); } +#line 6500 "sql.c" break; - case 280: /* cmd ::= SHOW CONSUMERS */ + case 284: /* cmd ::= SHOW CONSUMERS */ +#line 516 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CONSUMERS_STMT); } +#line 6505 "sql.c" break; - case 281: /* cmd ::= SHOW SUBSCRIPTIONS */ + case 285: /* cmd ::= SHOW SUBSCRIPTIONS */ +#line 517 "sql.y" { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_SUBSCRIPTIONS_STMT); } +#line 6510 "sql.c" break; - case 282: /* cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, yymsp[0].minor.yy360, yymsp[-1].minor.yy360, OP_TYPE_EQUAL); } + case 286: /* cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ +#line 518 "sql.y" +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, yymsp[0].minor.yy896, yymsp[-1].minor.yy896, OP_TYPE_EQUAL); } +#line 6515 "sql.c" break; - case 283: /* cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy929), createIdentifierValueNode(pCxt, &yymsp[0].minor.yy929), OP_TYPE_EQUAL); } + case 287: /* cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ +#line 519 "sql.y" +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy701), createIdentifierValueNode(pCxt, &yymsp[0].minor.yy701), OP_TYPE_EQUAL); } +#line 6520 "sql.c" break; - case 284: /* cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ -{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, yymsp[-1].minor.yy360, yymsp[0].minor.yy360, yymsp[-3].minor.yy536); } + case 288: /* cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ +#line 520 "sql.y" +{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, yymsp[-1].minor.yy896, yymsp[0].minor.yy896, yymsp[-3].minor.yy404); } +#line 6525 "sql.c" break; - case 285: /* cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name */ -{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, createIdentifierValueNode(pCxt, &yymsp[0].minor.yy929), createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy929), yymsp[-4].minor.yy536); } + case 289: /* cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name */ +#line 521 "sql.y" +{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, createIdentifierValueNode(pCxt, &yymsp[0].minor.yy701), createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy701), yymsp[-4].minor.yy404); } +#line 6530 "sql.c" break; - case 286: /* cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ + case 290: /* cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ +#line 522 "sql.y" { pCxt->pRootNode = createShowVnodesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0), NULL); } +#line 6535 "sql.c" break; - case 287: /* cmd ::= SHOW VNODES */ + case 291: /* cmd ::= SHOW VNODES */ +#line 523 "sql.y" { pCxt->pRootNode = createShowVnodesStmt(pCxt, NULL, NULL); } +#line 6540 "sql.c" break; - case 288: /* cmd ::= SHOW db_name_cond_opt ALIVE */ -{ pCxt->pRootNode = createShowAliveStmt(pCxt, yymsp[-1].minor.yy360, QUERY_NODE_SHOW_DB_ALIVE_STMT); } + case 292: /* cmd ::= SHOW db_name_cond_opt ALIVE */ +#line 525 "sql.y" +{ pCxt->pRootNode = createShowAliveStmt(pCxt, yymsp[-1].minor.yy896, QUERY_NODE_SHOW_DB_ALIVE_STMT); } +#line 6545 "sql.c" break; - case 289: /* cmd ::= SHOW CLUSTER ALIVE */ + case 293: /* cmd ::= SHOW CLUSTER ALIVE */ +#line 526 "sql.y" { pCxt->pRootNode = createShowAliveStmt(pCxt, NULL, QUERY_NODE_SHOW_CLUSTER_ALIVE_STMT); } +#line 6550 "sql.c" break; - case 290: /* cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VIEWS_STMT, yymsp[-2].minor.yy360, yymsp[0].minor.yy360, OP_TYPE_LIKE); } + case 294: /* cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt */ +#line 527 "sql.y" +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VIEWS_STMT, yymsp[-2].minor.yy896, yymsp[0].minor.yy896, OP_TYPE_LIKE); } +#line 6555 "sql.c" break; - case 291: /* cmd ::= SHOW CREATE VIEW full_table_name */ -{ pCxt->pRootNode = createShowCreateViewStmt(pCxt, QUERY_NODE_SHOW_CREATE_VIEW_STMT, yymsp[0].minor.yy360); } + case 295: /* cmd ::= SHOW CREATE VIEW full_table_name */ +#line 528 "sql.y" +{ pCxt->pRootNode = createShowCreateViewStmt(pCxt, QUERY_NODE_SHOW_CREATE_VIEW_STMT, yymsp[0].minor.yy896); } +#line 6560 "sql.c" break; - case 292: /* cmd ::= SHOW COMPACTS */ + case 296: /* cmd ::= SHOW COMPACTS */ +#line 529 "sql.y" { pCxt->pRootNode = createShowCompactsStmt(pCxt, QUERY_NODE_SHOW_COMPACTS_STMT); } +#line 6565 "sql.c" break; - case 293: /* cmd ::= SHOW COMPACT NK_INTEGER */ + case 297: /* cmd ::= SHOW COMPACT NK_INTEGER */ +#line 530 "sql.y" { pCxt->pRootNode = createShowCompactDetailsStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } +#line 6570 "sql.c" break; - case 294: /* table_kind_db_name_cond_opt ::= */ -{ yymsp[1].minor.yy1005.kind = SHOW_KIND_ALL; yymsp[1].minor.yy1005.dbName = nil_token; } + case 298: /* table_kind_db_name_cond_opt ::= */ +#line 534 "sql.y" +{ yymsp[1].minor.yy989.kind = SHOW_KIND_ALL; yymsp[1].minor.yy989.dbName = nil_token; } +#line 6575 "sql.c" break; - case 295: /* table_kind_db_name_cond_opt ::= table_kind */ -{ yylhsminor.yy1005.kind = yymsp[0].minor.yy321; yylhsminor.yy1005.dbName = nil_token; } - yymsp[0].minor.yy1005 = yylhsminor.yy1005; + case 299: /* table_kind_db_name_cond_opt ::= table_kind */ +#line 535 "sql.y" +{ yylhsminor.yy989.kind = yymsp[0].minor.yy705; yylhsminor.yy989.dbName = nil_token; } +#line 6580 "sql.c" + yymsp[0].minor.yy989 = yylhsminor.yy989; break; - case 296: /* table_kind_db_name_cond_opt ::= db_name NK_DOT */ -{ yylhsminor.yy1005.kind = SHOW_KIND_ALL; yylhsminor.yy1005.dbName = yymsp[-1].minor.yy929; } - yymsp[-1].minor.yy1005 = yylhsminor.yy1005; + case 300: /* table_kind_db_name_cond_opt ::= db_name NK_DOT */ +#line 536 "sql.y" +{ yylhsminor.yy989.kind = SHOW_KIND_ALL; yylhsminor.yy989.dbName = yymsp[-1].minor.yy701; } +#line 6586 "sql.c" + yymsp[-1].minor.yy989 = yylhsminor.yy989; break; - case 297: /* table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ -{ yylhsminor.yy1005.kind = yymsp[-2].minor.yy321; yylhsminor.yy1005.dbName = yymsp[-1].minor.yy929; } - yymsp[-2].minor.yy1005 = yylhsminor.yy1005; + case 301: /* table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ +#line 537 "sql.y" +{ yylhsminor.yy989.kind = yymsp[-2].minor.yy705; yylhsminor.yy989.dbName = yymsp[-1].minor.yy701; } +#line 6592 "sql.c" + yymsp[-2].minor.yy989 = yylhsminor.yy989; break; - case 298: /* table_kind ::= NORMAL */ -{ yymsp[0].minor.yy321 = SHOW_KIND_TABLES_NORMAL; } + case 302: /* table_kind ::= NORMAL */ +#line 541 "sql.y" +{ yymsp[0].minor.yy705 = SHOW_KIND_TABLES_NORMAL; } +#line 6598 "sql.c" break; - case 299: /* table_kind ::= CHILD */ -{ yymsp[0].minor.yy321 = SHOW_KIND_TABLES_CHILD; } + case 303: /* table_kind ::= CHILD */ +#line 542 "sql.y" +{ yymsp[0].minor.yy705 = SHOW_KIND_TABLES_CHILD; } +#line 6603 "sql.c" break; - case 300: /* db_name_cond_opt ::= */ - case 305: /* from_db_opt ::= */ yytestcase(yyruleno==305); -{ yymsp[1].minor.yy360 = createDefaultDatabaseCondValue(pCxt); } + case 304: /* db_name_cond_opt ::= */ + case 309: /* from_db_opt ::= */ yytestcase(yyruleno==309); +#line 544 "sql.y" +{ yymsp[1].minor.yy896 = createDefaultDatabaseCondValue(pCxt); } +#line 6609 "sql.c" break; - case 301: /* db_name_cond_opt ::= db_name NK_DOT */ -{ yylhsminor.yy360 = createIdentifierValueNode(pCxt, &yymsp[-1].minor.yy929); } - yymsp[-1].minor.yy360 = yylhsminor.yy360; + case 305: /* db_name_cond_opt ::= db_name NK_DOT */ +#line 545 "sql.y" +{ yylhsminor.yy896 = createIdentifierValueNode(pCxt, &yymsp[-1].minor.yy701); } +#line 6614 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 303: /* like_pattern_opt ::= LIKE NK_STRING */ -{ yymsp[-1].minor.yy360 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } + case 307: /* like_pattern_opt ::= LIKE NK_STRING */ +#line 548 "sql.y" +{ yymsp[-1].minor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } +#line 6620 "sql.c" break; - case 304: /* table_name_cond ::= table_name */ -{ yylhsminor.yy360 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy929); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 308: /* table_name_cond ::= table_name */ +#line 550 "sql.y" +{ yylhsminor.yy896 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy701); } +#line 6625 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 306: /* from_db_opt ::= FROM db_name */ -{ yymsp[-1].minor.yy360 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy929); } + case 310: /* from_db_opt ::= FROM db_name */ +#line 553 "sql.y" +{ yymsp[-1].minor.yy896 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy701); } +#line 6631 "sql.c" break; - case 310: /* tag_item ::= TBNAME */ -{ yylhsminor.yy360 = setProjectionAlias(pCxt, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL), &yymsp[0].minor.yy0); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 314: /* tag_item ::= TBNAME */ +#line 561 "sql.y" +{ yylhsminor.yy896 = setProjectionAlias(pCxt, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL), &yymsp[0].minor.yy0); } +#line 6636 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 313: /* tag_item ::= column_name column_alias */ -{ yylhsminor.yy360 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-1].minor.yy929), &yymsp[0].minor.yy929); } - yymsp[-1].minor.yy360 = yylhsminor.yy360; + case 317: /* tag_item ::= column_name column_alias */ +#line 564 "sql.y" +{ yylhsminor.yy896 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-1].minor.yy701), &yymsp[0].minor.yy701); } +#line 6642 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 314: /* tag_item ::= column_name AS column_alias */ -{ yylhsminor.yy360 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-2].minor.yy929), &yymsp[0].minor.yy929); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 318: /* tag_item ::= column_name AS column_alias */ +#line 565 "sql.y" +{ yylhsminor.yy896 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-2].minor.yy701), &yymsp[0].minor.yy701); } +#line 6648 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 315: /* db_kind_opt ::= */ -{ yymsp[1].minor.yy321 = SHOW_KIND_ALL; } + case 319: /* db_kind_opt ::= */ +#line 569 "sql.y" +{ yymsp[1].minor.yy705 = SHOW_KIND_ALL; } +#line 6654 "sql.c" break; - case 316: /* db_kind_opt ::= USER */ -{ yymsp[0].minor.yy321 = SHOW_KIND_DATABASES_USER; } + case 320: /* db_kind_opt ::= USER */ +#line 570 "sql.y" +{ yymsp[0].minor.yy705 = SHOW_KIND_DATABASES_USER; } +#line 6659 "sql.c" break; - case 317: /* db_kind_opt ::= SYSTEM */ -{ yymsp[0].minor.yy321 = SHOW_KIND_DATABASES_SYSTEM; } + case 321: /* db_kind_opt ::= SYSTEM */ +#line 571 "sql.y" +{ yymsp[0].minor.yy705 = SHOW_KIND_DATABASES_SYSTEM; } +#line 6664 "sql.c" break; - case 318: /* 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.yy345, yymsp[-3].minor.yy360, yymsp[-1].minor.yy360, NULL, yymsp[0].minor.yy360); } + case 322: /* cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options */ +#line 575 "sql.y" +{ pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_SMA, yymsp[-4].minor.yy733, yymsp[-3].minor.yy896, yymsp[-1].minor.yy896, NULL, yymsp[0].minor.yy896); } +#line 6669 "sql.c" break; - case 319: /* 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.yy345, yymsp[-5].minor.yy360, yymsp[-3].minor.yy360, yymsp[-1].minor.yy536, NULL); } + case 323: /* cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP */ +#line 577 "sql.y" +{ pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_NORMAL, yymsp[-6].minor.yy733, yymsp[-5].minor.yy896, yymsp[-3].minor.yy896, yymsp[-1].minor.yy404, NULL); } +#line 6674 "sql.c" break; - case 320: /* cmd ::= DROP INDEX exists_opt full_index_name */ -{ pCxt->pRootNode = createDropIndexStmt(pCxt, yymsp[-1].minor.yy345, yymsp[0].minor.yy360); } + case 324: /* cmd ::= DROP INDEX exists_opt full_index_name */ +#line 578 "sql.y" +{ pCxt->pRootNode = createDropIndexStmt(pCxt, yymsp[-1].minor.yy733, yymsp[0].minor.yy896); } +#line 6679 "sql.c" break; - case 321: /* full_index_name ::= index_name */ -{ yylhsminor.yy360 = createRealTableNodeForIndexName(pCxt, NULL, &yymsp[0].minor.yy929); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 325: /* full_index_name ::= index_name */ +#line 580 "sql.y" +{ yylhsminor.yy896 = createRealTableNodeForIndexName(pCxt, NULL, &yymsp[0].minor.yy701); } +#line 6684 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 322: /* full_index_name ::= db_name NK_DOT index_name */ -{ yylhsminor.yy360 = createRealTableNodeForIndexName(pCxt, &yymsp[-2].minor.yy929, &yymsp[0].minor.yy929); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 326: /* full_index_name ::= db_name NK_DOT index_name */ +#line 581 "sql.y" +{ yylhsminor.yy896 = createRealTableNodeForIndexName(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy701); } +#line 6690 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 323: /* index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ -{ yymsp[-9].minor.yy360 = createIndexOption(pCxt, yymsp[-7].minor.yy536, releaseRawExprNode(pCxt, yymsp[-3].minor.yy360), NULL, yymsp[-1].minor.yy360, yymsp[0].minor.yy360); } + case 327: /* index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ +#line 584 "sql.y" +{ yymsp[-9].minor.yy896 = createIndexOption(pCxt, yymsp[-7].minor.yy404, releaseRawExprNode(pCxt, yymsp[-3].minor.yy896), NULL, yymsp[-1].minor.yy896, yymsp[0].minor.yy896); } +#line 6696 "sql.c" break; - case 324: /* 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.yy360 = createIndexOption(pCxt, yymsp[-9].minor.yy536, releaseRawExprNode(pCxt, yymsp[-5].minor.yy360), releaseRawExprNode(pCxt, yymsp[-3].minor.yy360), yymsp[-1].minor.yy360, yymsp[0].minor.yy360); } + case 328: /* index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt sma_stream_opt */ +#line 587 "sql.y" +{ yymsp[-11].minor.yy896 = createIndexOption(pCxt, yymsp[-9].minor.yy404, releaseRawExprNode(pCxt, yymsp[-5].minor.yy896), releaseRawExprNode(pCxt, yymsp[-3].minor.yy896), yymsp[-1].minor.yy896, yymsp[0].minor.yy896); } +#line 6701 "sql.c" break; - case 327: /* func ::= sma_func_name NK_LP expression_list NK_RP */ -{ yylhsminor.yy360 = createFunctionNode(pCxt, &yymsp[-3].minor.yy929, yymsp[-1].minor.yy536); } - yymsp[-3].minor.yy360 = yylhsminor.yy360; + case 331: /* func ::= sma_func_name NK_LP expression_list NK_RP */ +#line 594 "sql.y" +{ yylhsminor.yy896 = createFunctionNode(pCxt, &yymsp[-3].minor.yy701, yymsp[-1].minor.yy404); } +#line 6706 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 328: /* sma_func_name ::= function_name */ - case 553: /* alias_opt ::= table_alias */ yytestcase(yyruleno==553); -{ yylhsminor.yy929 = yymsp[0].minor.yy929; } - yymsp[0].minor.yy929 = yylhsminor.yy929; + case 332: /* sma_func_name ::= function_name */ + case 557: /* alias_opt ::= table_alias */ yytestcase(yyruleno==557); +#line 598 "sql.y" +{ yylhsminor.yy701 = yymsp[0].minor.yy701; } +#line 6713 "sql.c" + yymsp[0].minor.yy701 = yylhsminor.yy701; break; - case 333: /* sma_stream_opt ::= */ - case 378: /* stream_options ::= */ yytestcase(yyruleno==378); -{ yymsp[1].minor.yy360 = createStreamOptions(pCxt); } + case 337: /* sma_stream_opt ::= */ + case 382: /* stream_options ::= */ yytestcase(yyruleno==382); +#line 604 "sql.y" +{ yymsp[1].minor.yy896 = createStreamOptions(pCxt); } +#line 6720 "sql.c" break; - case 334: /* sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ -{ ((SStreamOptions*)yymsp[-2].minor.yy360)->pWatermark = releaseRawExprNode(pCxt, yymsp[0].minor.yy360); yylhsminor.yy360 = yymsp[-2].minor.yy360; } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 338: /* sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ +#line 605 "sql.y" +{ ((SStreamOptions*)yymsp[-2].minor.yy896)->pWatermark = releaseRawExprNode(pCxt, yymsp[0].minor.yy896); yylhsminor.yy896 = yymsp[-2].minor.yy896; } +#line 6725 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 335: /* sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ -{ ((SStreamOptions*)yymsp[-2].minor.yy360)->pDelay = releaseRawExprNode(pCxt, yymsp[0].minor.yy360); yylhsminor.yy360 = yymsp[-2].minor.yy360; } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 339: /* sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ +#line 606 "sql.y" +{ ((SStreamOptions*)yymsp[-2].minor.yy896)->pDelay = releaseRawExprNode(pCxt, yymsp[0].minor.yy896); yylhsminor.yy896 = yymsp[-2].minor.yy896; } +#line 6731 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 336: /* sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ -{ ((SStreamOptions*)yymsp[-2].minor.yy360)->pDeleteMark = releaseRawExprNode(pCxt, yymsp[0].minor.yy360); yylhsminor.yy360 = yymsp[-2].minor.yy360; } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 340: /* sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ +#line 607 "sql.y" +{ ((SStreamOptions*)yymsp[-2].minor.yy896)->pDeleteMark = releaseRawExprNode(pCxt, yymsp[0].minor.yy896); yylhsminor.yy896 = yymsp[-2].minor.yy896; } +#line 6737 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 337: /* with_meta ::= AS */ -{ yymsp[0].minor.yy580 = 0; } + case 341: /* with_meta ::= AS */ +#line 612 "sql.y" +{ yymsp[0].minor.yy396 = 0; } +#line 6743 "sql.c" break; - case 338: /* with_meta ::= WITH META AS */ -{ yymsp[-2].minor.yy580 = 1; } + case 342: /* with_meta ::= WITH META AS */ +#line 613 "sql.y" +{ yymsp[-2].minor.yy396 = 1; } +#line 6748 "sql.c" break; - case 339: /* with_meta ::= ONLY META AS */ -{ yymsp[-2].minor.yy580 = 2; } + case 343: /* with_meta ::= ONLY META AS */ +#line 614 "sql.y" +{ yymsp[-2].minor.yy396 = 2; } +#line 6753 "sql.c" break; - case 340: /* cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ -{ pCxt->pRootNode = createCreateTopicStmtUseQuery(pCxt, yymsp[-3].minor.yy345, &yymsp[-2].minor.yy929, yymsp[0].minor.yy360); } + case 344: /* cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ +#line 616 "sql.y" +{ pCxt->pRootNode = createCreateTopicStmtUseQuery(pCxt, yymsp[-3].minor.yy733, &yymsp[-2].minor.yy701, yymsp[0].minor.yy896); } +#line 6758 "sql.c" break; - case 341: /* cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ -{ pCxt->pRootNode = createCreateTopicStmtUseDb(pCxt, yymsp[-4].minor.yy345, &yymsp[-3].minor.yy929, &yymsp[0].minor.yy929, yymsp[-2].minor.yy580); } + case 345: /* cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ +#line 618 "sql.y" +{ pCxt->pRootNode = createCreateTopicStmtUseDb(pCxt, yymsp[-4].minor.yy733, &yymsp[-3].minor.yy701, &yymsp[0].minor.yy701, yymsp[-2].minor.yy396); } +#line 6763 "sql.c" break; - case 342: /* cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ -{ pCxt->pRootNode = createCreateTopicStmtUseTable(pCxt, yymsp[-5].minor.yy345, &yymsp[-4].minor.yy929, yymsp[-1].minor.yy360, yymsp[-3].minor.yy580, yymsp[0].minor.yy360); } + case 346: /* cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ +#line 620 "sql.y" +{ pCxt->pRootNode = createCreateTopicStmtUseTable(pCxt, yymsp[-5].minor.yy733, &yymsp[-4].minor.yy701, yymsp[-1].minor.yy896, yymsp[-3].minor.yy396, yymsp[0].minor.yy896); } +#line 6768 "sql.c" break; - case 343: /* cmd ::= DROP TOPIC exists_opt topic_name */ -{ pCxt->pRootNode = createDropTopicStmt(pCxt, yymsp[-1].minor.yy345, &yymsp[0].minor.yy929); } + case 347: /* cmd ::= DROP TOPIC exists_opt topic_name */ +#line 622 "sql.y" +{ pCxt->pRootNode = createDropTopicStmt(pCxt, yymsp[-1].minor.yy733, &yymsp[0].minor.yy701); } +#line 6773 "sql.c" break; - case 344: /* cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ -{ pCxt->pRootNode = createDropCGroupStmt(pCxt, yymsp[-3].minor.yy345, &yymsp[-2].minor.yy929, &yymsp[0].minor.yy929); } + case 348: /* cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ +#line 623 "sql.y" +{ pCxt->pRootNode = createDropCGroupStmt(pCxt, yymsp[-3].minor.yy733, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy701); } +#line 6778 "sql.c" break; - case 345: /* cmd ::= DESC full_table_name */ - case 346: /* cmd ::= DESCRIBE full_table_name */ yytestcase(yyruleno==346); -{ pCxt->pRootNode = createDescribeStmt(pCxt, yymsp[0].minor.yy360); } + case 349: /* cmd ::= DESC full_table_name */ + case 350: /* cmd ::= DESCRIBE full_table_name */ yytestcase(yyruleno==350); +#line 626 "sql.y" +{ pCxt->pRootNode = createDescribeStmt(pCxt, yymsp[0].minor.yy896); } +#line 6784 "sql.c" break; - case 347: /* cmd ::= RESET QUERY CACHE */ + case 351: /* cmd ::= RESET QUERY CACHE */ +#line 630 "sql.y" { pCxt->pRootNode = createResetQueryCacheStmt(pCxt); } +#line 6789 "sql.c" break; - case 348: /* cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ - case 349: /* cmd ::= EXPLAIN analyze_opt explain_options insert_query */ yytestcase(yyruleno==349); -{ pCxt->pRootNode = createExplainStmt(pCxt, yymsp[-2].minor.yy345, yymsp[-1].minor.yy360, yymsp[0].minor.yy360); } + case 352: /* cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ + case 353: /* cmd ::= EXPLAIN analyze_opt explain_options insert_query */ yytestcase(yyruleno==353); +#line 633 "sql.y" +{ pCxt->pRootNode = createExplainStmt(pCxt, yymsp[-2].minor.yy733, yymsp[-1].minor.yy896, yymsp[0].minor.yy896); } +#line 6795 "sql.c" break; - case 352: /* explain_options ::= */ -{ yymsp[1].minor.yy360 = createDefaultExplainOptions(pCxt); } + case 356: /* explain_options ::= */ +#line 641 "sql.y" +{ yymsp[1].minor.yy896 = createDefaultExplainOptions(pCxt); } +#line 6800 "sql.c" break; - case 353: /* explain_options ::= explain_options VERBOSE NK_BOOL */ -{ yylhsminor.yy360 = setExplainVerbose(pCxt, yymsp[-2].minor.yy360, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 357: /* explain_options ::= explain_options VERBOSE NK_BOOL */ +#line 642 "sql.y" +{ yylhsminor.yy896 = setExplainVerbose(pCxt, yymsp[-2].minor.yy896, &yymsp[0].minor.yy0); } +#line 6805 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 354: /* explain_options ::= explain_options RATIO NK_FLOAT */ -{ yylhsminor.yy360 = setExplainRatio(pCxt, yymsp[-2].minor.yy360, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 358: /* explain_options ::= explain_options RATIO NK_FLOAT */ +#line 643 "sql.y" +{ yylhsminor.yy896 = setExplainRatio(pCxt, yymsp[-2].minor.yy896, &yymsp[0].minor.yy0); } +#line 6811 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 355: /* 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.yy345, yymsp[-9].minor.yy345, &yymsp[-6].minor.yy929, &yymsp[-4].minor.yy0, yymsp[-2].minor.yy912, yymsp[-1].minor.yy580, &yymsp[0].minor.yy929, yymsp[-10].minor.yy345); } + case 359: /* cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt */ +#line 648 "sql.y" +{ pCxt->pRootNode = createCreateFunctionStmt(pCxt, yymsp[-7].minor.yy733, yymsp[-9].minor.yy733, &yymsp[-6].minor.yy701, &yymsp[-4].minor.yy0, yymsp[-2].minor.yy504, yymsp[-1].minor.yy396, &yymsp[0].minor.yy701, yymsp[-10].minor.yy733); } +#line 6817 "sql.c" break; - case 356: /* cmd ::= DROP FUNCTION exists_opt function_name */ -{ pCxt->pRootNode = createDropFunctionStmt(pCxt, yymsp[-1].minor.yy345, &yymsp[0].minor.yy929); } + case 360: /* cmd ::= DROP FUNCTION exists_opt function_name */ +#line 649 "sql.y" +{ pCxt->pRootNode = createDropFunctionStmt(pCxt, yymsp[-1].minor.yy733, &yymsp[0].minor.yy701); } +#line 6822 "sql.c" break; - case 361: /* language_opt ::= */ - case 400: /* on_vgroup_id ::= */ yytestcase(yyruleno==400); -{ yymsp[1].minor.yy929 = nil_token; } + case 365: /* language_opt ::= */ + case 404: /* on_vgroup_id ::= */ yytestcase(yyruleno==404); +#line 663 "sql.y" +{ yymsp[1].minor.yy701 = nil_token; } +#line 6828 "sql.c" break; - case 362: /* language_opt ::= LANGUAGE NK_STRING */ - case 401: /* on_vgroup_id ::= ON NK_INTEGER */ yytestcase(yyruleno==401); -{ yymsp[-1].minor.yy929 = yymsp[0].minor.yy0; } + case 366: /* language_opt ::= LANGUAGE NK_STRING */ + case 405: /* on_vgroup_id ::= ON NK_INTEGER */ yytestcase(yyruleno==405); +#line 664 "sql.y" +{ yymsp[-1].minor.yy701 = yymsp[0].minor.yy0; } +#line 6834 "sql.c" break; - case 365: /* cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ -{ pCxt->pRootNode = createCreateViewStmt(pCxt, yymsp[-4].minor.yy345, yymsp[-2].minor.yy360, &yymsp[-1].minor.yy0, yymsp[0].minor.yy360); } + case 369: /* cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ +#line 673 "sql.y" +{ pCxt->pRootNode = createCreateViewStmt(pCxt, yymsp[-4].minor.yy733, yymsp[-2].minor.yy896, &yymsp[-1].minor.yy0, yymsp[0].minor.yy896); } +#line 6839 "sql.c" break; - case 366: /* cmd ::= DROP VIEW exists_opt full_view_name */ -{ pCxt->pRootNode = createDropViewStmt(pCxt, yymsp[-1].minor.yy345, yymsp[0].minor.yy360); } + case 370: /* cmd ::= DROP VIEW exists_opt full_view_name */ +#line 674 "sql.y" +{ pCxt->pRootNode = createDropViewStmt(pCxt, yymsp[-1].minor.yy733, yymsp[0].minor.yy896); } +#line 6844 "sql.c" break; - case 367: /* full_view_name ::= view_name */ -{ yylhsminor.yy360 = createViewNode(pCxt, NULL, &yymsp[0].minor.yy929); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 371: /* full_view_name ::= view_name */ +#line 676 "sql.y" +{ yylhsminor.yy896 = createViewNode(pCxt, NULL, &yymsp[0].minor.yy701); } +#line 6849 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 368: /* full_view_name ::= db_name NK_DOT view_name */ -{ yylhsminor.yy360 = createViewNode(pCxt, &yymsp[-2].minor.yy929, &yymsp[0].minor.yy929); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 372: /* full_view_name ::= db_name NK_DOT view_name */ +#line 677 "sql.y" +{ yylhsminor.yy896 = createViewNode(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy701); } +#line 6855 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 369: /* 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.yy345, &yymsp[-8].minor.yy929, yymsp[-5].minor.yy360, yymsp[-7].minor.yy360, yymsp[-3].minor.yy536, yymsp[-2].minor.yy360, yymsp[0].minor.yy360, yymsp[-4].minor.yy536); } + case 373: /* cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name col_list_opt tag_def_or_ref_opt subtable_opt AS query_or_subquery */ +#line 682 "sql.y" +{ pCxt->pRootNode = createCreateStreamStmt(pCxt, yymsp[-9].minor.yy733, &yymsp[-8].minor.yy701, yymsp[-5].minor.yy896, yymsp[-7].minor.yy896, yymsp[-3].minor.yy404, yymsp[-2].minor.yy896, yymsp[0].minor.yy896, yymsp[-4].minor.yy404); } +#line 6861 "sql.c" break; - case 370: /* cmd ::= DROP STREAM exists_opt stream_name */ -{ pCxt->pRootNode = createDropStreamStmt(pCxt, yymsp[-1].minor.yy345, &yymsp[0].minor.yy929); } + case 374: /* cmd ::= DROP STREAM exists_opt stream_name */ +#line 683 "sql.y" +{ pCxt->pRootNode = createDropStreamStmt(pCxt, yymsp[-1].minor.yy733, &yymsp[0].minor.yy701); } +#line 6866 "sql.c" break; - case 371: /* cmd ::= PAUSE STREAM exists_opt stream_name */ -{ pCxt->pRootNode = createPauseStreamStmt(pCxt, yymsp[-1].minor.yy345, &yymsp[0].minor.yy929); } + case 375: /* cmd ::= PAUSE STREAM exists_opt stream_name */ +#line 684 "sql.y" +{ pCxt->pRootNode = createPauseStreamStmt(pCxt, yymsp[-1].minor.yy733, &yymsp[0].minor.yy701); } +#line 6871 "sql.c" break; - case 372: /* cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ -{ pCxt->pRootNode = createResumeStreamStmt(pCxt, yymsp[-2].minor.yy345, yymsp[-1].minor.yy345, &yymsp[0].minor.yy929); } + case 376: /* cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ +#line 685 "sql.y" +{ pCxt->pRootNode = createResumeStreamStmt(pCxt, yymsp[-2].minor.yy733, yymsp[-1].minor.yy733, &yymsp[0].minor.yy701); } +#line 6876 "sql.c" break; - case 379: /* stream_options ::= stream_options TRIGGER AT_ONCE */ - case 380: /* stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ yytestcase(yyruleno==380); -{ yylhsminor.yy360 = setStreamOptions(pCxt, yymsp[-2].minor.yy360, SOPT_TRIGGER_TYPE_SET, &yymsp[0].minor.yy0, NULL); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 383: /* stream_options ::= stream_options TRIGGER AT_ONCE */ + case 384: /* stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ yytestcase(yyruleno==384); +#line 699 "sql.y" +{ yylhsminor.yy896 = setStreamOptions(pCxt, yymsp[-2].minor.yy896, SOPT_TRIGGER_TYPE_SET, &yymsp[0].minor.yy0, NULL); } +#line 6882 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 381: /* stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ -{ yylhsminor.yy360 = setStreamOptions(pCxt, yymsp[-3].minor.yy360, SOPT_TRIGGER_TYPE_SET, &yymsp[-1].minor.yy0, releaseRawExprNode(pCxt, yymsp[0].minor.yy360)); } - yymsp[-3].minor.yy360 = yylhsminor.yy360; + case 385: /* stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ +#line 701 "sql.y" +{ yylhsminor.yy896 = setStreamOptions(pCxt, yymsp[-3].minor.yy896, SOPT_TRIGGER_TYPE_SET, &yymsp[-1].minor.yy0, releaseRawExprNode(pCxt, yymsp[0].minor.yy896)); } +#line 6888 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 382: /* stream_options ::= stream_options WATERMARK duration_literal */ -{ yylhsminor.yy360 = setStreamOptions(pCxt, yymsp[-2].minor.yy360, SOPT_WATERMARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy360)); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 386: /* stream_options ::= stream_options WATERMARK duration_literal */ +#line 702 "sql.y" +{ yylhsminor.yy896 = setStreamOptions(pCxt, yymsp[-2].minor.yy896, SOPT_WATERMARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy896)); } +#line 6894 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 383: /* stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ -{ yylhsminor.yy360 = setStreamOptions(pCxt, yymsp[-3].minor.yy360, SOPT_IGNORE_EXPIRED_SET, &yymsp[0].minor.yy0, NULL); } - yymsp[-3].minor.yy360 = yylhsminor.yy360; + case 387: /* stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ +#line 703 "sql.y" +{ yylhsminor.yy896 = setStreamOptions(pCxt, yymsp[-3].minor.yy896, SOPT_IGNORE_EXPIRED_SET, &yymsp[0].minor.yy0, NULL); } +#line 6900 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 384: /* stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ -{ yylhsminor.yy360 = setStreamOptions(pCxt, yymsp[-2].minor.yy360, SOPT_FILL_HISTORY_SET, &yymsp[0].minor.yy0, NULL); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 388: /* stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ +#line 704 "sql.y" +{ yylhsminor.yy896 = setStreamOptions(pCxt, yymsp[-2].minor.yy896, SOPT_FILL_HISTORY_SET, &yymsp[0].minor.yy0, NULL); } +#line 6906 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 385: /* stream_options ::= stream_options DELETE_MARK duration_literal */ -{ yylhsminor.yy360 = setStreamOptions(pCxt, yymsp[-2].minor.yy360, SOPT_DELETE_MARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy360)); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 389: /* stream_options ::= stream_options DELETE_MARK duration_literal */ +#line 705 "sql.y" +{ yylhsminor.yy896 = setStreamOptions(pCxt, yymsp[-2].minor.yy896, SOPT_DELETE_MARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy896)); } +#line 6912 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 386: /* stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ -{ yylhsminor.yy360 = setStreamOptions(pCxt, yymsp[-3].minor.yy360, SOPT_IGNORE_UPDATE_SET, &yymsp[0].minor.yy0, NULL); } - yymsp[-3].minor.yy360 = yylhsminor.yy360; + case 390: /* stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ +#line 706 "sql.y" +{ yylhsminor.yy896 = setStreamOptions(pCxt, yymsp[-3].minor.yy896, SOPT_IGNORE_UPDATE_SET, &yymsp[0].minor.yy0, NULL); } +#line 6918 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 388: /* subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ - case 593: /* sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ yytestcase(yyruleno==593); - case 617: /* every_opt ::= EVERY NK_LP duration_literal NK_RP */ yytestcase(yyruleno==617); -{ yymsp[-3].minor.yy360 = releaseRawExprNode(pCxt, yymsp[-1].minor.yy360); } + case 392: /* subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ + case 597: /* sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ yytestcase(yyruleno==597); + case 621: /* every_opt ::= EVERY NK_LP duration_literal NK_RP */ yytestcase(yyruleno==621); +#line 709 "sql.y" +{ yymsp[-3].minor.yy896 = releaseRawExprNode(pCxt, yymsp[-1].minor.yy896); } +#line 6926 "sql.c" break; - case 391: /* cmd ::= KILL CONNECTION NK_INTEGER */ + case 395: /* cmd ::= KILL CONNECTION NK_INTEGER */ +#line 717 "sql.y" { pCxt->pRootNode = createKillStmt(pCxt, QUERY_NODE_KILL_CONNECTION_STMT, &yymsp[0].minor.yy0); } +#line 6931 "sql.c" break; - case 392: /* cmd ::= KILL QUERY NK_STRING */ + case 396: /* cmd ::= KILL QUERY NK_STRING */ +#line 718 "sql.y" { pCxt->pRootNode = createKillQueryStmt(pCxt, &yymsp[0].minor.yy0); } +#line 6936 "sql.c" break; - case 393: /* cmd ::= KILL TRANSACTION NK_INTEGER */ + case 397: /* cmd ::= KILL TRANSACTION NK_INTEGER */ +#line 719 "sql.y" { pCxt->pRootNode = createKillStmt(pCxt, QUERY_NODE_KILL_TRANSACTION_STMT, &yymsp[0].minor.yy0); } +#line 6941 "sql.c" break; - case 394: /* cmd ::= KILL COMPACT NK_INTEGER */ + case 398: /* cmd ::= KILL COMPACT NK_INTEGER */ +#line 720 "sql.y" { pCxt->pRootNode = createKillStmt(pCxt, QUERY_NODE_KILL_COMPACT_STMT, &yymsp[0].minor.yy0); } +#line 6946 "sql.c" break; - case 395: /* cmd ::= BALANCE VGROUP */ + case 399: /* cmd ::= BALANCE VGROUP */ +#line 723 "sql.y" { pCxt->pRootNode = createBalanceVgroupStmt(pCxt); } +#line 6951 "sql.c" break; - case 396: /* cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ -{ pCxt->pRootNode = createBalanceVgroupLeaderStmt(pCxt, &yymsp[0].minor.yy929); } + case 400: /* cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ +#line 724 "sql.y" +{ pCxt->pRootNode = createBalanceVgroupLeaderStmt(pCxt, &yymsp[0].minor.yy701); } +#line 6956 "sql.c" break; - case 397: /* cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ + case 401: /* cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ +#line 725 "sql.y" { pCxt->pRootNode = createMergeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); } +#line 6961 "sql.c" break; - case 398: /* cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ -{ pCxt->pRootNode = createRedistributeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy536); } + case 402: /* cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ +#line 726 "sql.y" +{ pCxt->pRootNode = createRedistributeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy404); } +#line 6966 "sql.c" break; - case 399: /* cmd ::= SPLIT VGROUP NK_INTEGER */ + case 403: /* cmd ::= SPLIT VGROUP NK_INTEGER */ +#line 727 "sql.y" { pCxt->pRootNode = createSplitVgroupStmt(pCxt, &yymsp[0].minor.yy0); } +#line 6971 "sql.c" break; - case 402: /* dnode_list ::= DNODE NK_INTEGER */ -{ yymsp[-1].minor.yy536 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } + case 406: /* dnode_list ::= DNODE NK_INTEGER */ +#line 736 "sql.y" +{ yymsp[-1].minor.yy404 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } +#line 6976 "sql.c" break; - case 404: /* cmd ::= DELETE FROM full_table_name where_clause_opt */ -{ pCxt->pRootNode = createDeleteStmt(pCxt, yymsp[-1].minor.yy360, yymsp[0].minor.yy360); } + case 408: /* cmd ::= DELETE FROM full_table_name where_clause_opt */ +#line 743 "sql.y" +{ pCxt->pRootNode = createDeleteStmt(pCxt, yymsp[-1].minor.yy896, yymsp[0].minor.yy896); } +#line 6981 "sql.c" break; - case 407: /* insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ -{ yymsp[-6].minor.yy360 = createInsertStmt(pCxt, yymsp[-4].minor.yy360, yymsp[-2].minor.yy536, yymsp[0].minor.yy360); } + case 411: /* insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ +#line 752 "sql.y" +{ yymsp[-6].minor.yy896 = createInsertStmt(pCxt, yymsp[-4].minor.yy896, yymsp[-2].minor.yy404, yymsp[0].minor.yy896); } +#line 6986 "sql.c" break; - case 408: /* insert_query ::= INSERT INTO full_table_name query_or_subquery */ -{ yymsp[-3].minor.yy360 = createInsertStmt(pCxt, yymsp[-1].minor.yy360, NULL, yymsp[0].minor.yy360); } + case 412: /* insert_query ::= INSERT INTO full_table_name query_or_subquery */ +#line 753 "sql.y" +{ yymsp[-3].minor.yy896 = createInsertStmt(pCxt, yymsp[-1].minor.yy896, NULL, yymsp[0].minor.yy896); } +#line 6991 "sql.c" break; - case 409: /* literal ::= NK_INTEGER */ -{ yylhsminor.yy360 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 413: /* literal ::= NK_INTEGER */ +#line 756 "sql.y" +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0)); } +#line 6996 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 410: /* literal ::= NK_FLOAT */ -{ yylhsminor.yy360 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 414: /* literal ::= NK_FLOAT */ +#line 757 "sql.y" +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0)); } +#line 7002 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 411: /* literal ::= NK_STRING */ -{ yylhsminor.yy360 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 415: /* literal ::= NK_STRING */ +#line 758 "sql.y" +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } +#line 7008 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 412: /* literal ::= NK_BOOL */ -{ yylhsminor.yy360 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 416: /* literal ::= NK_BOOL */ +#line 759 "sql.y" +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0)); } +#line 7014 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 413: /* literal ::= TIMESTAMP NK_STRING */ -{ yylhsminor.yy360 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0)); } - yymsp[-1].minor.yy360 = yylhsminor.yy360; + case 417: /* literal ::= TIMESTAMP NK_STRING */ +#line 760 "sql.y" +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0)); } +#line 7020 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 414: /* literal ::= duration_literal */ - case 424: /* signed_literal ::= signed */ yytestcase(yyruleno==424); - case 447: /* expr_or_subquery ::= expression */ yytestcase(yyruleno==447); - case 448: /* expression ::= literal */ yytestcase(yyruleno==448); - case 450: /* expression ::= column_reference */ yytestcase(yyruleno==450); - case 451: /* expression ::= function_expression */ yytestcase(yyruleno==451); - case 452: /* expression ::= case_when_expression */ yytestcase(yyruleno==452); - case 485: /* function_expression ::= literal_func */ yytestcase(yyruleno==485); - case 534: /* boolean_value_expression ::= boolean_primary */ yytestcase(yyruleno==534); - case 538: /* boolean_primary ::= predicate */ yytestcase(yyruleno==538); - case 540: /* common_expression ::= expr_or_subquery */ yytestcase(yyruleno==540); - case 541: /* common_expression ::= boolean_value_expression */ yytestcase(yyruleno==541); - case 544: /* table_reference_list ::= table_reference */ yytestcase(yyruleno==544); - case 546: /* table_reference ::= table_primary */ yytestcase(yyruleno==546); - case 547: /* table_reference ::= joined_table */ yytestcase(yyruleno==547); - case 551: /* table_primary ::= parenthesized_joined_table */ yytestcase(yyruleno==551); - case 619: /* query_simple ::= query_specification */ yytestcase(yyruleno==619); - case 620: /* query_simple ::= union_query_expression */ yytestcase(yyruleno==620); - case 623: /* query_simple_or_subquery ::= query_simple */ yytestcase(yyruleno==623); - case 625: /* query_or_subquery ::= query_expression */ yytestcase(yyruleno==625); -{ yylhsminor.yy360 = yymsp[0].minor.yy360; } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 418: /* literal ::= duration_literal */ + case 428: /* signed_literal ::= signed */ yytestcase(yyruleno==428); + case 451: /* expr_or_subquery ::= expression */ yytestcase(yyruleno==451); + case 452: /* expression ::= literal */ yytestcase(yyruleno==452); + case 454: /* expression ::= column_reference */ yytestcase(yyruleno==454); + case 455: /* expression ::= function_expression */ yytestcase(yyruleno==455); + case 456: /* expression ::= case_when_expression */ yytestcase(yyruleno==456); + case 489: /* function_expression ::= literal_func */ yytestcase(yyruleno==489); + case 538: /* boolean_value_expression ::= boolean_primary */ yytestcase(yyruleno==538); + case 542: /* boolean_primary ::= predicate */ yytestcase(yyruleno==542); + case 544: /* common_expression ::= expr_or_subquery */ yytestcase(yyruleno==544); + case 545: /* common_expression ::= boolean_value_expression */ yytestcase(yyruleno==545); + case 548: /* table_reference_list ::= table_reference */ yytestcase(yyruleno==548); + case 550: /* table_reference ::= table_primary */ yytestcase(yyruleno==550); + case 551: /* table_reference ::= joined_table */ yytestcase(yyruleno==551); + case 555: /* table_primary ::= parenthesized_joined_table */ yytestcase(yyruleno==555); + case 623: /* query_simple ::= query_specification */ yytestcase(yyruleno==623); + case 624: /* query_simple ::= union_query_expression */ yytestcase(yyruleno==624); + case 627: /* query_simple_or_subquery ::= query_simple */ yytestcase(yyruleno==627); + case 629: /* query_or_subquery ::= query_expression */ yytestcase(yyruleno==629); +#line 761 "sql.y" +{ yylhsminor.yy896 = yymsp[0].minor.yy896; } +#line 7045 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 415: /* literal ::= NULL */ -{ yylhsminor.yy360 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 419: /* literal ::= NULL */ +#line 762 "sql.y" +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0)); } +#line 7051 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 416: /* literal ::= NK_QUESTION */ -{ yylhsminor.yy360 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 420: /* literal ::= NK_QUESTION */ +#line 763 "sql.y" +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0)); } +#line 7057 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 417: /* duration_literal ::= NK_VARIABLE */ - case 594: /* interval_sliding_duration_literal ::= NK_VARIABLE */ yytestcase(yyruleno==594); - case 595: /* interval_sliding_duration_literal ::= NK_STRING */ yytestcase(yyruleno==595); - case 596: /* interval_sliding_duration_literal ::= NK_INTEGER */ yytestcase(yyruleno==596); -{ yylhsminor.yy360 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 421: /* duration_literal ::= NK_VARIABLE */ + case 598: /* interval_sliding_duration_literal ::= NK_VARIABLE */ yytestcase(yyruleno==598); + case 599: /* interval_sliding_duration_literal ::= NK_STRING */ yytestcase(yyruleno==599); + case 600: /* interval_sliding_duration_literal ::= NK_INTEGER */ yytestcase(yyruleno==600); +#line 765 "sql.y" +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } +#line 7066 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 418: /* signed ::= NK_INTEGER */ -{ yylhsminor.yy360 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 422: /* signed ::= NK_INTEGER */ +#line 767 "sql.y" +{ yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } +#line 7072 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 419: /* signed ::= NK_PLUS NK_INTEGER */ -{ yymsp[-1].minor.yy360 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } + case 423: /* signed ::= NK_PLUS NK_INTEGER */ +#line 768 "sql.y" +{ yymsp[-1].minor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } +#line 7078 "sql.c" break; - case 420: /* signed ::= NK_MINUS NK_INTEGER */ + case 424: /* signed ::= NK_MINUS NK_INTEGER */ +#line 769 "sql.y" { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy360 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &t); + yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &t); } - yymsp[-1].minor.yy360 = yylhsminor.yy360; +#line 7087 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 421: /* signed ::= NK_FLOAT */ -{ yylhsminor.yy360 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 425: /* signed ::= NK_FLOAT */ +#line 774 "sql.y" +{ yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } +#line 7093 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 422: /* signed ::= NK_PLUS NK_FLOAT */ -{ yymsp[-1].minor.yy360 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } + case 426: /* signed ::= NK_PLUS NK_FLOAT */ +#line 775 "sql.y" +{ yymsp[-1].minor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } +#line 7099 "sql.c" break; - case 423: /* signed ::= NK_MINUS NK_FLOAT */ + case 427: /* signed ::= NK_MINUS NK_FLOAT */ +#line 776 "sql.y" { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy360 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t); + yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t); } - yymsp[-1].minor.yy360 = yylhsminor.yy360; +#line 7108 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 425: /* signed_literal ::= NK_STRING */ -{ yylhsminor.yy360 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 429: /* signed_literal ::= NK_STRING */ +#line 783 "sql.y" +{ yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } +#line 7114 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 426: /* signed_literal ::= NK_BOOL */ -{ yylhsminor.yy360 = createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 430: /* signed_literal ::= NK_BOOL */ +#line 784 "sql.y" +{ yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0); } +#line 7120 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 427: /* signed_literal ::= TIMESTAMP NK_STRING */ -{ yymsp[-1].minor.yy360 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } + case 431: /* signed_literal ::= TIMESTAMP NK_STRING */ +#line 785 "sql.y" +{ yymsp[-1].minor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } +#line 7126 "sql.c" break; - case 428: /* signed_literal ::= duration_literal */ - case 430: /* signed_literal ::= literal_func */ yytestcase(yyruleno==430); - case 505: /* star_func_para ::= expr_or_subquery */ yytestcase(yyruleno==505); - case 571: /* select_item ::= common_expression */ yytestcase(yyruleno==571); - case 581: /* partition_item ::= expr_or_subquery */ yytestcase(yyruleno==581); - case 624: /* query_simple_or_subquery ::= subquery */ yytestcase(yyruleno==624); - case 626: /* query_or_subquery ::= subquery */ yytestcase(yyruleno==626); - case 639: /* search_condition ::= common_expression */ yytestcase(yyruleno==639); -{ yylhsminor.yy360 = releaseRawExprNode(pCxt, yymsp[0].minor.yy360); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 432: /* signed_literal ::= duration_literal */ + case 434: /* signed_literal ::= literal_func */ yytestcase(yyruleno==434); + case 509: /* star_func_para ::= expr_or_subquery */ yytestcase(yyruleno==509); + case 575: /* select_item ::= common_expression */ yytestcase(yyruleno==575); + case 585: /* partition_item ::= expr_or_subquery */ yytestcase(yyruleno==585); + case 628: /* query_simple_or_subquery ::= subquery */ yytestcase(yyruleno==628); + case 630: /* query_or_subquery ::= subquery */ yytestcase(yyruleno==630); + case 643: /* search_condition ::= common_expression */ yytestcase(yyruleno==643); +#line 786 "sql.y" +{ yylhsminor.yy896 = releaseRawExprNode(pCxt, yymsp[0].minor.yy896); } +#line 7138 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 429: /* signed_literal ::= NULL */ -{ yylhsminor.yy360 = createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 433: /* signed_literal ::= NULL */ +#line 787 "sql.y" +{ yylhsminor.yy896 = createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0); } +#line 7144 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 431: /* signed_literal ::= NK_QUESTION */ -{ yylhsminor.yy360 = createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 435: /* signed_literal ::= NK_QUESTION */ +#line 789 "sql.y" +{ yylhsminor.yy896 = createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0); } +#line 7150 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 449: /* expression ::= pseudo_column */ -{ yylhsminor.yy360 = yymsp[0].minor.yy360; setRawExprNodeIsPseudoColumn(pCxt, yylhsminor.yy360, true); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 453: /* expression ::= pseudo_column */ +#line 851 "sql.y" +{ yylhsminor.yy896 = yymsp[0].minor.yy896; setRawExprNodeIsPseudoColumn(pCxt, yylhsminor.yy896, true); } +#line 7156 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 453: /* expression ::= NK_LP expression NK_RP */ - case 539: /* boolean_primary ::= NK_LP boolean_value_expression NK_RP */ yytestcase(yyruleno==539); - case 638: /* subquery ::= NK_LP subquery NK_RP */ yytestcase(yyruleno==638); -{ yylhsminor.yy360 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, releaseRawExprNode(pCxt, yymsp[-1].minor.yy360)); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 457: /* expression ::= NK_LP expression NK_RP */ + case 543: /* boolean_primary ::= NK_LP boolean_value_expression NK_RP */ yytestcase(yyruleno==543); + case 642: /* subquery ::= NK_LP subquery NK_RP */ yytestcase(yyruleno==642); +#line 855 "sql.y" +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, releaseRawExprNode(pCxt, yymsp[-1].minor.yy896)); } +#line 7164 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 454: /* expression ::= NK_PLUS expr_or_subquery */ + case 458: /* expression ::= NK_PLUS expr_or_subquery */ +#line 856 "sql.y" { - SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy360); - yylhsminor.yy360 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, releaseRawExprNode(pCxt, yymsp[0].minor.yy360)); + SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, releaseRawExprNode(pCxt, yymsp[0].minor.yy896)); } - yymsp[-1].minor.yy360 = yylhsminor.yy360; +#line 7173 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 455: /* expression ::= NK_MINUS expr_or_subquery */ + case 459: /* expression ::= NK_MINUS expr_or_subquery */ +#line 860 "sql.y" { - SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy360); - yylhsminor.yy360 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, createOperatorNode(pCxt, OP_TYPE_MINUS, releaseRawExprNode(pCxt, yymsp[0].minor.yy360), NULL)); + SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, createOperatorNode(pCxt, OP_TYPE_MINUS, releaseRawExprNode(pCxt, yymsp[0].minor.yy896), NULL)); } - yymsp[-1].minor.yy360 = yylhsminor.yy360; +#line 7182 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 456: /* expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ + case 460: /* expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ +#line 864 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy360); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy360); - yylhsminor.yy360 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_ADD, releaseRawExprNode(pCxt, yymsp[-2].minor.yy360), releaseRawExprNode(pCxt, yymsp[0].minor.yy360))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy896); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_ADD, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 7192 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 457: /* expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ + case 461: /* expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ +#line 869 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy360); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy360); - yylhsminor.yy360 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_SUB, releaseRawExprNode(pCxt, yymsp[-2].minor.yy360), releaseRawExprNode(pCxt, yymsp[0].minor.yy360))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy896); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_SUB, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 7202 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 458: /* expression ::= expr_or_subquery NK_STAR expr_or_subquery */ + case 462: /* expression ::= expr_or_subquery NK_STAR expr_or_subquery */ +#line 874 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy360); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy360); - yylhsminor.yy360 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_MULTI, releaseRawExprNode(pCxt, yymsp[-2].minor.yy360), releaseRawExprNode(pCxt, yymsp[0].minor.yy360))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy896); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_MULTI, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 7212 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 459: /* expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ + case 463: /* expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ +#line 879 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy360); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy360); - yylhsminor.yy360 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_DIV, releaseRawExprNode(pCxt, yymsp[-2].minor.yy360), releaseRawExprNode(pCxt, yymsp[0].minor.yy360))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy896); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_DIV, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 7222 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 460: /* expression ::= expr_or_subquery NK_REM expr_or_subquery */ + case 464: /* expression ::= expr_or_subquery NK_REM expr_or_subquery */ +#line 884 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy360); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy360); - yylhsminor.yy360 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_REM, releaseRawExprNode(pCxt, yymsp[-2].minor.yy360), releaseRawExprNode(pCxt, yymsp[0].minor.yy360))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy896); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_REM, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 7232 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 461: /* expression ::= column_reference NK_ARROW NK_STRING */ + case 465: /* expression ::= column_reference NK_ARROW NK_STRING */ +#line 889 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy360); - yylhsminor.yy360 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_JSON_GET_VALUE, releaseRawExprNode(pCxt, yymsp[-2].minor.yy360), createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_JSON_GET_VALUE, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0))); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 7241 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 462: /* expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ + case 466: /* expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ +#line 893 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy360); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy360); - yylhsminor.yy360 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy360), releaseRawExprNode(pCxt, yymsp[0].minor.yy360))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy896); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 7251 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 463: /* expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ + case 467: /* expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ +#line 898 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy360); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy360); - yylhsminor.yy360 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy360), releaseRawExprNode(pCxt, yymsp[0].minor.yy360))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy896); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 7261 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 466: /* column_reference ::= column_name */ -{ yylhsminor.yy360 = createRawExprNode(pCxt, &yymsp[0].minor.yy929, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy929)); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 470: /* column_reference ::= column_name */ +#line 909 "sql.y" +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy701, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy701)); } +#line 7267 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 467: /* column_reference ::= table_name NK_DOT column_name */ -{ yylhsminor.yy360 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy929, &yymsp[0].minor.yy929, createColumnNode(pCxt, &yymsp[-2].minor.yy929, &yymsp[0].minor.yy929)); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 471: /* column_reference ::= table_name NK_DOT column_name */ +#line 910 "sql.y" +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy701, createColumnNode(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy701)); } +#line 7273 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 468: /* column_reference ::= NK_ALIAS */ -{ yylhsminor.yy360 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 472: /* column_reference ::= NK_ALIAS */ +#line 911 "sql.y" +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } +#line 7279 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 469: /* column_reference ::= table_name NK_DOT NK_ALIAS */ -{ yylhsminor.yy360 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy929, &yymsp[0].minor.yy0, createColumnNode(pCxt, &yymsp[-2].minor.yy929, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 473: /* column_reference ::= table_name NK_DOT NK_ALIAS */ +#line 912 "sql.y" +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy0, createColumnNode(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy0)); } +#line 7285 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 470: /* pseudo_column ::= ROWTS */ - case 471: /* pseudo_column ::= TBNAME */ yytestcase(yyruleno==471); - case 473: /* pseudo_column ::= QSTART */ yytestcase(yyruleno==473); - case 474: /* pseudo_column ::= QEND */ yytestcase(yyruleno==474); - case 475: /* pseudo_column ::= QDURATION */ yytestcase(yyruleno==475); - case 476: /* pseudo_column ::= WSTART */ yytestcase(yyruleno==476); - case 477: /* pseudo_column ::= WEND */ yytestcase(yyruleno==477); - case 478: /* pseudo_column ::= WDURATION */ yytestcase(yyruleno==478); - case 479: /* pseudo_column ::= IROWTS */ yytestcase(yyruleno==479); - case 480: /* pseudo_column ::= ISFILLED */ yytestcase(yyruleno==480); - case 481: /* pseudo_column ::= QTAGS */ yytestcase(yyruleno==481); - case 487: /* literal_func ::= NOW */ yytestcase(yyruleno==487); -{ yylhsminor.yy360 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL)); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 474: /* pseudo_column ::= ROWTS */ + case 475: /* pseudo_column ::= TBNAME */ yytestcase(yyruleno==475); + case 477: /* pseudo_column ::= QSTART */ yytestcase(yyruleno==477); + case 478: /* pseudo_column ::= QEND */ yytestcase(yyruleno==478); + case 479: /* pseudo_column ::= QDURATION */ yytestcase(yyruleno==479); + case 480: /* pseudo_column ::= WSTART */ yytestcase(yyruleno==480); + case 481: /* pseudo_column ::= WEND */ yytestcase(yyruleno==481); + case 482: /* pseudo_column ::= WDURATION */ yytestcase(yyruleno==482); + case 483: /* pseudo_column ::= IROWTS */ yytestcase(yyruleno==483); + case 484: /* pseudo_column ::= ISFILLED */ yytestcase(yyruleno==484); + case 485: /* pseudo_column ::= QTAGS */ yytestcase(yyruleno==485); + case 491: /* literal_func ::= NOW */ yytestcase(yyruleno==491); +#line 914 "sql.y" +{ yylhsminor.yy896 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL)); } +#line 7302 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 472: /* pseudo_column ::= table_name NK_DOT TBNAME */ -{ yylhsminor.yy360 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy929, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[-2].minor.yy929)))); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 476: /* pseudo_column ::= table_name NK_DOT TBNAME */ +#line 916 "sql.y" +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[-2].minor.yy701)))); } +#line 7308 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 482: /* function_expression ::= function_name NK_LP expression_list NK_RP */ - case 483: /* function_expression ::= star_func NK_LP star_func_para_list NK_RP */ yytestcase(yyruleno==483); -{ yylhsminor.yy360 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy929, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-3].minor.yy929, yymsp[-1].minor.yy536)); } - yymsp[-3].minor.yy360 = yylhsminor.yy360; + case 486: /* function_expression ::= function_name NK_LP expression_list NK_RP */ + case 487: /* function_expression ::= star_func NK_LP star_func_para_list NK_RP */ yytestcase(yyruleno==487); +#line 927 "sql.y" +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy701, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-3].minor.yy701, yymsp[-1].minor.yy404)); } +#line 7315 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 484: /* function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ -{ yylhsminor.yy360 = createRawExprNodeExt(pCxt, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0, createCastFunctionNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy360), yymsp[-1].minor.yy912)); } - yymsp[-5].minor.yy360 = yylhsminor.yy360; + case 488: /* function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ +#line 930 "sql.y" +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0, createCastFunctionNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy896), yymsp[-1].minor.yy504)); } +#line 7321 "sql.c" + yymsp[-5].minor.yy896 = yylhsminor.yy896; break; - case 486: /* literal_func ::= noarg_func NK_LP NK_RP */ -{ yylhsminor.yy360 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy929, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-2].minor.yy929, NULL)); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 490: /* literal_func ::= noarg_func NK_LP NK_RP */ +#line 933 "sql.y" +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-2].minor.yy701, NULL)); } +#line 7327 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 501: /* star_func_para_list ::= NK_STAR */ -{ yylhsminor.yy536 = createNodeList(pCxt, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy536 = yylhsminor.yy536; + case 505: /* star_func_para_list ::= NK_STAR */ +#line 957 "sql.y" +{ yylhsminor.yy404 = createNodeList(pCxt, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } +#line 7333 "sql.c" + yymsp[0].minor.yy404 = yylhsminor.yy404; break; - case 506: /* star_func_para ::= table_name NK_DOT NK_STAR */ - case 574: /* select_item ::= table_name NK_DOT NK_STAR */ yytestcase(yyruleno==574); -{ yylhsminor.yy360 = createColumnNode(pCxt, &yymsp[-2].minor.yy929, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 510: /* star_func_para ::= table_name NK_DOT NK_STAR */ + case 578: /* select_item ::= table_name NK_DOT NK_STAR */ yytestcase(yyruleno==578); +#line 966 "sql.y" +{ yylhsminor.yy896 = createColumnNode(pCxt, &yymsp[-2].minor.yy701, &yymsp[0].minor.yy0); } +#line 7340 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 507: /* case_when_expression ::= CASE when_then_list case_when_else_opt END */ -{ yylhsminor.yy360 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, NULL, yymsp[-2].minor.yy536, yymsp[-1].minor.yy360)); } - yymsp[-3].minor.yy360 = yylhsminor.yy360; + case 511: /* case_when_expression ::= CASE when_then_list case_when_else_opt END */ +#line 969 "sql.y" +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, NULL, yymsp[-2].minor.yy404, yymsp[-1].minor.yy896)); } +#line 7346 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 508: /* case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ -{ yylhsminor.yy360 = createRawExprNodeExt(pCxt, &yymsp[-4].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy360), yymsp[-2].minor.yy536, yymsp[-1].minor.yy360)); } - yymsp[-4].minor.yy360 = yylhsminor.yy360; + case 512: /* case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ +#line 971 "sql.y" +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-4].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy896), yymsp[-2].minor.yy404, yymsp[-1].minor.yy896)); } +#line 7352 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; - case 511: /* when_then_expr ::= WHEN common_expression THEN common_expression */ -{ yymsp[-3].minor.yy360 = createWhenThenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy360), releaseRawExprNode(pCxt, yymsp[0].minor.yy360)); } + case 515: /* when_then_expr ::= WHEN common_expression THEN common_expression */ +#line 978 "sql.y" +{ yymsp[-3].minor.yy896 = createWhenThenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896)); } +#line 7358 "sql.c" break; - case 513: /* case_when_else_opt ::= ELSE common_expression */ -{ yymsp[-1].minor.yy360 = releaseRawExprNode(pCxt, yymsp[0].minor.yy360); } + case 517: /* case_when_else_opt ::= ELSE common_expression */ +#line 981 "sql.y" +{ yymsp[-1].minor.yy896 = releaseRawExprNode(pCxt, yymsp[0].minor.yy896); } +#line 7363 "sql.c" break; - case 514: /* predicate ::= expr_or_subquery compare_op expr_or_subquery */ - case 519: /* predicate ::= expr_or_subquery in_op in_predicate_value */ yytestcase(yyruleno==519); + case 518: /* predicate ::= expr_or_subquery compare_op expr_or_subquery */ + case 523: /* predicate ::= expr_or_subquery in_op in_predicate_value */ yytestcase(yyruleno==523); +#line 984 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy360); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy360); - yylhsminor.yy360 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, yymsp[-1].minor.yy252, releaseRawExprNode(pCxt, yymsp[-2].minor.yy360), releaseRawExprNode(pCxt, yymsp[0].minor.yy360))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy896); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, yymsp[-1].minor.yy884, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 7373 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 515: /* predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ + case 519: /* predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ +#line 991 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-4].minor.yy360); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy360); - yylhsminor.yy360 = createRawExprNodeExt(pCxt, &s, &e, createBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-4].minor.yy360), releaseRawExprNode(pCxt, yymsp[-2].minor.yy360), releaseRawExprNode(pCxt, yymsp[0].minor.yy360))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-4].minor.yy896); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &e, createBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-4].minor.yy896), releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } - yymsp[-4].minor.yy360 = yylhsminor.yy360; +#line 7383 "sql.c" + yymsp[-4].minor.yy896 = yylhsminor.yy896; break; - case 516: /* predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ + case 520: /* predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ +#line 997 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-5].minor.yy360); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy360); - yylhsminor.yy360 = createRawExprNodeExt(pCxt, &s, &e, createNotBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy360), releaseRawExprNode(pCxt, yymsp[-2].minor.yy360), releaseRawExprNode(pCxt, yymsp[0].minor.yy360))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-5].minor.yy896); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &e, createNotBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy896), releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } - yymsp[-5].minor.yy360 = yylhsminor.yy360; +#line 7393 "sql.c" + yymsp[-5].minor.yy896 = yylhsminor.yy896; break; - case 517: /* predicate ::= expr_or_subquery IS NULL */ + case 521: /* predicate ::= expr_or_subquery IS NULL */ +#line 1002 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy360); - yylhsminor.yy360 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NULL, releaseRawExprNode(pCxt, yymsp[-2].minor.yy360), NULL)); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NULL, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), NULL)); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 7402 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 518: /* predicate ::= expr_or_subquery IS NOT NULL */ + case 522: /* predicate ::= expr_or_subquery IS NOT NULL */ +#line 1006 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-3].minor.yy360); - yylhsminor.yy360 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NOT_NULL, releaseRawExprNode(pCxt, yymsp[-3].minor.yy360), NULL)); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-3].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NOT_NULL, releaseRawExprNode(pCxt, yymsp[-3].minor.yy896), NULL)); } - yymsp[-3].minor.yy360 = yylhsminor.yy360; +#line 7411 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 520: /* compare_op ::= NK_LT */ -{ yymsp[0].minor.yy252 = OP_TYPE_LOWER_THAN; } + case 524: /* compare_op ::= NK_LT */ +#line 1018 "sql.y" +{ yymsp[0].minor.yy884 = OP_TYPE_LOWER_THAN; } +#line 7417 "sql.c" break; - case 521: /* compare_op ::= NK_GT */ -{ yymsp[0].minor.yy252 = OP_TYPE_GREATER_THAN; } + case 525: /* compare_op ::= NK_GT */ +#line 1019 "sql.y" +{ yymsp[0].minor.yy884 = OP_TYPE_GREATER_THAN; } +#line 7422 "sql.c" break; - case 522: /* compare_op ::= NK_LE */ -{ yymsp[0].minor.yy252 = OP_TYPE_LOWER_EQUAL; } + case 526: /* compare_op ::= NK_LE */ +#line 1020 "sql.y" +{ yymsp[0].minor.yy884 = OP_TYPE_LOWER_EQUAL; } +#line 7427 "sql.c" break; - case 523: /* compare_op ::= NK_GE */ -{ yymsp[0].minor.yy252 = OP_TYPE_GREATER_EQUAL; } + case 527: /* compare_op ::= NK_GE */ +#line 1021 "sql.y" +{ yymsp[0].minor.yy884 = OP_TYPE_GREATER_EQUAL; } +#line 7432 "sql.c" break; - case 524: /* compare_op ::= NK_NE */ -{ yymsp[0].minor.yy252 = OP_TYPE_NOT_EQUAL; } + case 528: /* compare_op ::= NK_NE */ +#line 1022 "sql.y" +{ yymsp[0].minor.yy884 = OP_TYPE_NOT_EQUAL; } +#line 7437 "sql.c" break; - case 525: /* compare_op ::= NK_EQ */ -{ yymsp[0].minor.yy252 = OP_TYPE_EQUAL; } + case 529: /* compare_op ::= NK_EQ */ +#line 1023 "sql.y" +{ yymsp[0].minor.yy884 = OP_TYPE_EQUAL; } +#line 7442 "sql.c" break; - case 526: /* compare_op ::= LIKE */ -{ yymsp[0].minor.yy252 = OP_TYPE_LIKE; } + case 530: /* compare_op ::= LIKE */ +#line 1024 "sql.y" +{ yymsp[0].minor.yy884 = OP_TYPE_LIKE; } +#line 7447 "sql.c" break; - case 527: /* compare_op ::= NOT LIKE */ -{ yymsp[-1].minor.yy252 = OP_TYPE_NOT_LIKE; } + case 531: /* compare_op ::= NOT LIKE */ +#line 1025 "sql.y" +{ yymsp[-1].minor.yy884 = OP_TYPE_NOT_LIKE; } +#line 7452 "sql.c" break; - case 528: /* compare_op ::= MATCH */ -{ yymsp[0].minor.yy252 = OP_TYPE_MATCH; } + case 532: /* compare_op ::= MATCH */ +#line 1026 "sql.y" +{ yymsp[0].minor.yy884 = OP_TYPE_MATCH; } +#line 7457 "sql.c" break; - case 529: /* compare_op ::= NMATCH */ -{ yymsp[0].minor.yy252 = OP_TYPE_NMATCH; } + case 533: /* compare_op ::= NMATCH */ +#line 1027 "sql.y" +{ yymsp[0].minor.yy884 = OP_TYPE_NMATCH; } +#line 7462 "sql.c" break; - case 530: /* compare_op ::= CONTAINS */ -{ yymsp[0].minor.yy252 = OP_TYPE_JSON_CONTAINS; } + case 534: /* compare_op ::= CONTAINS */ +#line 1028 "sql.y" +{ yymsp[0].minor.yy884 = OP_TYPE_JSON_CONTAINS; } +#line 7467 "sql.c" break; - case 531: /* in_op ::= IN */ -{ yymsp[0].minor.yy252 = OP_TYPE_IN; } + case 535: /* in_op ::= IN */ +#line 1032 "sql.y" +{ yymsp[0].minor.yy884 = OP_TYPE_IN; } +#line 7472 "sql.c" break; - case 532: /* in_op ::= NOT IN */ -{ yymsp[-1].minor.yy252 = OP_TYPE_NOT_IN; } + case 536: /* in_op ::= NOT IN */ +#line 1033 "sql.y" +{ yymsp[-1].minor.yy884 = OP_TYPE_NOT_IN; } +#line 7477 "sql.c" break; - case 533: /* in_predicate_value ::= NK_LP literal_list NK_RP */ -{ yylhsminor.yy360 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, createNodeListNode(pCxt, yymsp[-1].minor.yy536)); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 537: /* in_predicate_value ::= NK_LP literal_list NK_RP */ +#line 1035 "sql.y" +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, createNodeListNode(pCxt, yymsp[-1].minor.yy404)); } +#line 7482 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 535: /* boolean_value_expression ::= NOT boolean_primary */ + case 539: /* boolean_value_expression ::= NOT boolean_primary */ +#line 1039 "sql.y" { - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy360); - yylhsminor.yy360 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_NOT, releaseRawExprNode(pCxt, yymsp[0].minor.yy360), NULL)); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_NOT, releaseRawExprNode(pCxt, yymsp[0].minor.yy896), NULL)); } - yymsp[-1].minor.yy360 = yylhsminor.yy360; +#line 7491 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 536: /* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ + case 540: /* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ +#line 1044 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy360); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy360); - yylhsminor.yy360 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy360), releaseRawExprNode(pCxt, yymsp[0].minor.yy360))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy896); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 7501 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 537: /* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ + case 541: /* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ +#line 1050 "sql.y" { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy360); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy360); - yylhsminor.yy360 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy360), releaseRawExprNode(pCxt, yymsp[0].minor.yy360))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy896); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy896); + yylhsminor.yy896 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; +#line 7511 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 545: /* table_reference_list ::= table_reference_list NK_COMMA table_reference */ -{ yylhsminor.yy360 = createJoinTableNode(pCxt, JOIN_TYPE_INNER, yymsp[-2].minor.yy360, yymsp[0].minor.yy360, NULL); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 549: /* table_reference_list ::= table_reference_list NK_COMMA table_reference */ +#line 1068 "sql.y" +{ yylhsminor.yy896 = createJoinTableNode(pCxt, JOIN_TYPE_INNER, yymsp[-2].minor.yy896, yymsp[0].minor.yy896, NULL); } +#line 7517 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 548: /* table_primary ::= table_name alias_opt */ -{ yylhsminor.yy360 = createRealTableNode(pCxt, NULL, &yymsp[-1].minor.yy929, &yymsp[0].minor.yy929); } - yymsp[-1].minor.yy360 = yylhsminor.yy360; + case 552: /* table_primary ::= table_name alias_opt */ +#line 1074 "sql.y" +{ yylhsminor.yy896 = createRealTableNode(pCxt, NULL, &yymsp[-1].minor.yy701, &yymsp[0].minor.yy701); } +#line 7523 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 549: /* table_primary ::= db_name NK_DOT table_name alias_opt */ -{ yylhsminor.yy360 = createRealTableNode(pCxt, &yymsp[-3].minor.yy929, &yymsp[-1].minor.yy929, &yymsp[0].minor.yy929); } - yymsp[-3].minor.yy360 = yylhsminor.yy360; + case 553: /* table_primary ::= db_name NK_DOT table_name alias_opt */ +#line 1075 "sql.y" +{ yylhsminor.yy896 = createRealTableNode(pCxt, &yymsp[-3].minor.yy701, &yymsp[-1].minor.yy701, &yymsp[0].minor.yy701); } +#line 7529 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 550: /* table_primary ::= subquery alias_opt */ -{ yylhsminor.yy360 = createTempTableNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy360), &yymsp[0].minor.yy929); } - yymsp[-1].minor.yy360 = yylhsminor.yy360; + case 554: /* table_primary ::= subquery alias_opt */ +#line 1076 "sql.y" +{ yylhsminor.yy896 = createTempTableNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy896), &yymsp[0].minor.yy701); } +#line 7535 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 552: /* alias_opt ::= */ -{ yymsp[1].minor.yy929 = nil_token; } + case 556: /* alias_opt ::= */ +#line 1081 "sql.y" +{ yymsp[1].minor.yy701 = nil_token; } +#line 7541 "sql.c" break; - case 554: /* alias_opt ::= AS table_alias */ -{ yymsp[-1].minor.yy929 = yymsp[0].minor.yy929; } + case 558: /* alias_opt ::= AS table_alias */ +#line 1083 "sql.y" +{ yymsp[-1].minor.yy701 = yymsp[0].minor.yy701; } +#line 7546 "sql.c" break; - case 555: /* parenthesized_joined_table ::= NK_LP joined_table NK_RP */ - case 556: /* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ yytestcase(yyruleno==556); -{ yymsp[-2].minor.yy360 = yymsp[-1].minor.yy360; } + case 559: /* parenthesized_joined_table ::= NK_LP joined_table NK_RP */ + case 560: /* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ yytestcase(yyruleno==560); +#line 1085 "sql.y" +{ yymsp[-2].minor.yy896 = yymsp[-1].minor.yy896; } +#line 7552 "sql.c" break; - case 557: /* joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ -{ yylhsminor.yy360 = createJoinTableNode(pCxt, yymsp[-4].minor.yy596, yymsp[-5].minor.yy360, yymsp[-2].minor.yy360, yymsp[0].minor.yy360); } - yymsp[-5].minor.yy360 = yylhsminor.yy360; + case 561: /* joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ +#line 1090 "sql.y" +{ yylhsminor.yy896 = createJoinTableNode(pCxt, yymsp[-4].minor.yy680, yymsp[-5].minor.yy896, yymsp[-2].minor.yy896, yymsp[0].minor.yy896); } +#line 7557 "sql.c" + yymsp[-5].minor.yy896 = yylhsminor.yy896; break; - case 558: /* join_type ::= */ -{ yymsp[1].minor.yy596 = JOIN_TYPE_INNER; } + case 562: /* join_type ::= */ +#line 1094 "sql.y" +{ yymsp[1].minor.yy680 = JOIN_TYPE_INNER; } +#line 7563 "sql.c" break; - case 559: /* join_type ::= INNER */ -{ yymsp[0].minor.yy596 = JOIN_TYPE_INNER; } + case 563: /* join_type ::= INNER */ +#line 1095 "sql.y" +{ yymsp[0].minor.yy680 = JOIN_TYPE_INNER; } +#line 7568 "sql.c" break; - case 560: /* 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 564: /* query_specification ::= SELECT hint_list set_quantifier_opt tag_mode_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt */ +#line 1101 "sql.y" { - yymsp[-13].minor.yy360 = createSelectStmt(pCxt, yymsp[-11].minor.yy345, yymsp[-9].minor.yy536, yymsp[-8].minor.yy360, yymsp[-12].minor.yy536); - yymsp[-13].minor.yy360 = setSelectStmtTagMode(pCxt, yymsp[-13].minor.yy360, yymsp[-10].minor.yy345); - yymsp[-13].minor.yy360 = addWhereClause(pCxt, yymsp[-13].minor.yy360, yymsp[-7].minor.yy360); - yymsp[-13].minor.yy360 = addPartitionByClause(pCxt, yymsp[-13].minor.yy360, yymsp[-6].minor.yy536); - yymsp[-13].minor.yy360 = addWindowClauseClause(pCxt, yymsp[-13].minor.yy360, yymsp[-2].minor.yy360); - yymsp[-13].minor.yy360 = addGroupByClause(pCxt, yymsp[-13].minor.yy360, yymsp[-1].minor.yy536); - yymsp[-13].minor.yy360 = addHavingClause(pCxt, yymsp[-13].minor.yy360, yymsp[0].minor.yy360); - yymsp[-13].minor.yy360 = addRangeClause(pCxt, yymsp[-13].minor.yy360, yymsp[-5].minor.yy360); - yymsp[-13].minor.yy360 = addEveryClause(pCxt, yymsp[-13].minor.yy360, yymsp[-4].minor.yy360); - yymsp[-13].minor.yy360 = addFillClause(pCxt, yymsp[-13].minor.yy360, yymsp[-3].minor.yy360); + yymsp[-13].minor.yy896 = createSelectStmt(pCxt, yymsp[-11].minor.yy733, yymsp[-9].minor.yy404, yymsp[-8].minor.yy896, yymsp[-12].minor.yy404); + yymsp[-13].minor.yy896 = setSelectStmtTagMode(pCxt, yymsp[-13].minor.yy896, yymsp[-10].minor.yy733); + yymsp[-13].minor.yy896 = addWhereClause(pCxt, yymsp[-13].minor.yy896, yymsp[-7].minor.yy896); + yymsp[-13].minor.yy896 = addPartitionByClause(pCxt, yymsp[-13].minor.yy896, yymsp[-6].minor.yy404); + yymsp[-13].minor.yy896 = addWindowClauseClause(pCxt, yymsp[-13].minor.yy896, yymsp[-2].minor.yy896); + yymsp[-13].minor.yy896 = addGroupByClause(pCxt, yymsp[-13].minor.yy896, yymsp[-1].minor.yy404); + yymsp[-13].minor.yy896 = addHavingClause(pCxt, yymsp[-13].minor.yy896, yymsp[0].minor.yy896); + yymsp[-13].minor.yy896 = addRangeClause(pCxt, yymsp[-13].minor.yy896, yymsp[-5].minor.yy896); + yymsp[-13].minor.yy896 = addEveryClause(pCxt, yymsp[-13].minor.yy896, yymsp[-4].minor.yy896); + yymsp[-13].minor.yy896 = addFillClause(pCxt, yymsp[-13].minor.yy896, yymsp[-3].minor.yy896); } +#line 7584 "sql.c" break; - case 561: /* hint_list ::= */ -{ yymsp[1].minor.yy536 = createHintNodeList(pCxt, NULL); } + case 565: /* hint_list ::= */ +#line 1116 "sql.y" +{ yymsp[1].minor.yy404 = createHintNodeList(pCxt, NULL); } +#line 7589 "sql.c" break; - case 562: /* hint_list ::= NK_HINT */ -{ yylhsminor.yy536 = createHintNodeList(pCxt, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy536 = yylhsminor.yy536; + case 566: /* hint_list ::= NK_HINT */ +#line 1117 "sql.y" +{ yylhsminor.yy404 = createHintNodeList(pCxt, &yymsp[0].minor.yy0); } +#line 7594 "sql.c" + yymsp[0].minor.yy404 = yylhsminor.yy404; break; - case 567: /* set_quantifier_opt ::= ALL */ -{ yymsp[0].minor.yy345 = false; } + case 571: /* set_quantifier_opt ::= ALL */ +#line 1128 "sql.y" +{ yymsp[0].minor.yy733 = false; } +#line 7600 "sql.c" break; - case 570: /* select_item ::= NK_STAR */ -{ yylhsminor.yy360 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy360 = yylhsminor.yy360; + case 574: /* select_item ::= NK_STAR */ +#line 1135 "sql.y" +{ yylhsminor.yy896 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0); } +#line 7605 "sql.c" + yymsp[0].minor.yy896 = yylhsminor.yy896; break; - case 572: /* select_item ::= common_expression column_alias */ - case 582: /* partition_item ::= expr_or_subquery column_alias */ yytestcase(yyruleno==582); -{ yylhsminor.yy360 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy360), &yymsp[0].minor.yy929); } - yymsp[-1].minor.yy360 = yylhsminor.yy360; + case 576: /* select_item ::= common_expression column_alias */ + case 586: /* partition_item ::= expr_or_subquery column_alias */ yytestcase(yyruleno==586); +#line 1137 "sql.y" +{ yylhsminor.yy896 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy896), &yymsp[0].minor.yy701); } +#line 7612 "sql.c" + yymsp[-1].minor.yy896 = yylhsminor.yy896; break; - case 573: /* select_item ::= common_expression AS column_alias */ - case 583: /* partition_item ::= expr_or_subquery AS column_alias */ yytestcase(yyruleno==583); -{ yylhsminor.yy360 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy360), &yymsp[0].minor.yy929); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 577: /* select_item ::= common_expression AS column_alias */ + case 587: /* partition_item ::= expr_or_subquery AS column_alias */ yytestcase(yyruleno==587); +#line 1138 "sql.y" +{ yylhsminor.yy896 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), &yymsp[0].minor.yy701); } +#line 7619 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 578: /* partition_by_clause_opt ::= PARTITION BY partition_list */ - case 608: /* group_by_clause_opt ::= GROUP BY group_by_list */ yytestcase(yyruleno==608); - case 628: /* order_by_clause_opt ::= ORDER BY sort_specification_list */ yytestcase(yyruleno==628); -{ yymsp[-2].minor.yy536 = yymsp[0].minor.yy536; } + case 582: /* partition_by_clause_opt ::= PARTITION BY partition_list */ + case 612: /* group_by_clause_opt ::= GROUP BY group_by_list */ yytestcase(yyruleno==612); + case 632: /* order_by_clause_opt ::= ORDER BY sort_specification_list */ yytestcase(yyruleno==632); +#line 1147 "sql.y" +{ yymsp[-2].minor.yy404 = yymsp[0].minor.yy404; } +#line 7627 "sql.c" break; - case 585: /* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ -{ yymsp[-5].minor.yy360 = createSessionWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy360), releaseRawExprNode(pCxt, yymsp[-1].minor.yy360)); } + case 589: /* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ +#line 1160 "sql.y" +{ yymsp[-5].minor.yy896 = createSessionWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy896), releaseRawExprNode(pCxt, yymsp[-1].minor.yy896)); } +#line 7632 "sql.c" break; - case 586: /* twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ -{ yymsp[-3].minor.yy360 = createStateWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy360)); } + case 590: /* twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ +#line 1161 "sql.y" +{ yymsp[-3].minor.yy896 = createStateWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy896)); } +#line 7637 "sql.c" break; - case 587: /* twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ -{ yymsp[-5].minor.yy360 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy360), NULL, yymsp[-1].minor.yy360, yymsp[0].minor.yy360); } + case 591: /* twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ +#line 1163 "sql.y" +{ yymsp[-5].minor.yy896 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy896), NULL, yymsp[-1].minor.yy896, yymsp[0].minor.yy896); } +#line 7642 "sql.c" break; - case 588: /* 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.yy360 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy360), releaseRawExprNode(pCxt, yymsp[-3].minor.yy360), yymsp[-1].minor.yy360, yymsp[0].minor.yy360); } + case 592: /* twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ +#line 1167 "sql.y" +{ yymsp[-7].minor.yy896 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy896), releaseRawExprNode(pCxt, yymsp[-3].minor.yy896), yymsp[-1].minor.yy896, yymsp[0].minor.yy896); } +#line 7647 "sql.c" break; - case 589: /* twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ -{ yymsp[-6].minor.yy360 = createEventWindowNode(pCxt, yymsp[-3].minor.yy360, yymsp[0].minor.yy360); } + case 593: /* twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ +#line 1169 "sql.y" +{ yymsp[-6].minor.yy896 = createEventWindowNode(pCxt, yymsp[-3].minor.yy896, yymsp[0].minor.yy896); } +#line 7652 "sql.c" break; - case 590: /* twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy360 = createCountWindowNode(pCxt, &yymsp[-1].minor.yy0, &yymsp[-1].minor.yy0); } + case 594: /* twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ +#line 1171 "sql.y" +{ yymsp[-3].minor.yy896 = createCountWindowNode(pCxt, &yymsp[-1].minor.yy0, &yymsp[-1].minor.yy0); } +#line 7657 "sql.c" break; - case 591: /* twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ -{ yymsp[-5].minor.yy360 = createCountWindowNode(pCxt, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy0); } + case 595: /* twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ +#line 1173 "sql.y" +{ yymsp[-5].minor.yy896 = createCountWindowNode(pCxt, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy0); } +#line 7662 "sql.c" break; - case 598: /* fill_opt ::= FILL NK_LP fill_mode NK_RP */ -{ yymsp[-3].minor.yy360 = createFillNode(pCxt, yymsp[-1].minor.yy358, NULL); } + case 602: /* fill_opt ::= FILL NK_LP fill_mode NK_RP */ +#line 1183 "sql.y" +{ yymsp[-3].minor.yy896 = createFillNode(pCxt, yymsp[-1].minor.yy466, NULL); } +#line 7667 "sql.c" break; - case 599: /* fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ -{ yymsp[-5].minor.yy360 = createFillNode(pCxt, FILL_MODE_VALUE, createNodeListNode(pCxt, yymsp[-1].minor.yy536)); } + case 603: /* fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ +#line 1184 "sql.y" +{ yymsp[-5].minor.yy896 = createFillNode(pCxt, FILL_MODE_VALUE, createNodeListNode(pCxt, yymsp[-1].minor.yy404)); } +#line 7672 "sql.c" break; - case 600: /* fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ -{ yymsp[-5].minor.yy360 = createFillNode(pCxt, FILL_MODE_VALUE_F, createNodeListNode(pCxt, yymsp[-1].minor.yy536)); } + case 604: /* fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ +#line 1185 "sql.y" +{ yymsp[-5].minor.yy896 = createFillNode(pCxt, FILL_MODE_VALUE_F, createNodeListNode(pCxt, yymsp[-1].minor.yy404)); } +#line 7677 "sql.c" break; - case 601: /* fill_mode ::= NONE */ -{ yymsp[0].minor.yy358 = FILL_MODE_NONE; } + case 605: /* fill_mode ::= NONE */ +#line 1189 "sql.y" +{ yymsp[0].minor.yy466 = FILL_MODE_NONE; } +#line 7682 "sql.c" break; - case 602: /* fill_mode ::= PREV */ -{ yymsp[0].minor.yy358 = FILL_MODE_PREV; } + case 606: /* fill_mode ::= PREV */ +#line 1190 "sql.y" +{ yymsp[0].minor.yy466 = FILL_MODE_PREV; } +#line 7687 "sql.c" break; - case 603: /* fill_mode ::= NULL */ -{ yymsp[0].minor.yy358 = FILL_MODE_NULL; } + case 607: /* fill_mode ::= NULL */ +#line 1191 "sql.y" +{ yymsp[0].minor.yy466 = FILL_MODE_NULL; } +#line 7692 "sql.c" break; - case 604: /* fill_mode ::= NULL_F */ -{ yymsp[0].minor.yy358 = FILL_MODE_NULL_F; } + case 608: /* fill_mode ::= NULL_F */ +#line 1192 "sql.y" +{ yymsp[0].minor.yy466 = FILL_MODE_NULL_F; } +#line 7697 "sql.c" break; - case 605: /* fill_mode ::= LINEAR */ -{ yymsp[0].minor.yy358 = FILL_MODE_LINEAR; } + case 609: /* fill_mode ::= LINEAR */ +#line 1193 "sql.y" +{ yymsp[0].minor.yy466 = FILL_MODE_LINEAR; } +#line 7702 "sql.c" break; - case 606: /* fill_mode ::= NEXT */ -{ yymsp[0].minor.yy358 = FILL_MODE_NEXT; } + case 610: /* fill_mode ::= NEXT */ +#line 1194 "sql.y" +{ yymsp[0].minor.yy466 = FILL_MODE_NEXT; } +#line 7707 "sql.c" break; - case 609: /* group_by_list ::= expr_or_subquery */ -{ yylhsminor.yy536 = createNodeList(pCxt, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy360))); } - yymsp[0].minor.yy536 = yylhsminor.yy536; + case 613: /* group_by_list ::= expr_or_subquery */ +#line 1203 "sql.y" +{ yylhsminor.yy404 = createNodeList(pCxt, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } +#line 7712 "sql.c" + yymsp[0].minor.yy404 = yylhsminor.yy404; break; - case 610: /* group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ -{ yylhsminor.yy536 = addNodeToList(pCxt, yymsp[-2].minor.yy536, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy360))); } - yymsp[-2].minor.yy536 = yylhsminor.yy536; + case 614: /* group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ +#line 1204 "sql.y" +{ yylhsminor.yy404 = addNodeToList(pCxt, yymsp[-2].minor.yy404, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy896))); } +#line 7718 "sql.c" + yymsp[-2].minor.yy404 = yylhsminor.yy404; break; - case 614: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ -{ yymsp[-5].minor.yy360 = createInterpTimeRange(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy360), releaseRawExprNode(pCxt, yymsp[-1].minor.yy360)); } + case 618: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ +#line 1211 "sql.y" +{ yymsp[-5].minor.yy896 = createInterpTimeRange(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy896), releaseRawExprNode(pCxt, yymsp[-1].minor.yy896)); } +#line 7724 "sql.c" break; - case 615: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ -{ yymsp[-3].minor.yy360 = createInterpTimePoint(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy360)); } + case 619: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ +#line 1213 "sql.y" +{ yymsp[-3].minor.yy896 = createInterpTimePoint(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy896)); } +#line 7729 "sql.c" break; - case 618: /* query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + case 622: /* query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ +#line 1220 "sql.y" { - yylhsminor.yy360 = addOrderByClause(pCxt, yymsp[-3].minor.yy360, yymsp[-2].minor.yy536); - yylhsminor.yy360 = addSlimitClause(pCxt, yylhsminor.yy360, yymsp[-1].minor.yy360); - yylhsminor.yy360 = addLimitClause(pCxt, yylhsminor.yy360, yymsp[0].minor.yy360); + yylhsminor.yy896 = addOrderByClause(pCxt, yymsp[-3].minor.yy896, yymsp[-2].minor.yy404); + yylhsminor.yy896 = addSlimitClause(pCxt, yylhsminor.yy896, yymsp[-1].minor.yy896); + yylhsminor.yy896 = addLimitClause(pCxt, yylhsminor.yy896, yymsp[0].minor.yy896); } - yymsp[-3].minor.yy360 = yylhsminor.yy360; +#line 7738 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 621: /* union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ -{ yylhsminor.yy360 = createSetOperator(pCxt, SET_OP_TYPE_UNION_ALL, yymsp[-3].minor.yy360, yymsp[0].minor.yy360); } - yymsp[-3].minor.yy360 = yylhsminor.yy360; + case 625: /* union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ +#line 1230 "sql.y" +{ yylhsminor.yy896 = createSetOperator(pCxt, SET_OP_TYPE_UNION_ALL, yymsp[-3].minor.yy896, yymsp[0].minor.yy896); } +#line 7744 "sql.c" + yymsp[-3].minor.yy896 = yylhsminor.yy896; break; - case 622: /* union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ -{ yylhsminor.yy360 = createSetOperator(pCxt, SET_OP_TYPE_UNION, yymsp[-2].minor.yy360, yymsp[0].minor.yy360); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 626: /* union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ +#line 1232 "sql.y" +{ yylhsminor.yy896 = createSetOperator(pCxt, SET_OP_TYPE_UNION, yymsp[-2].minor.yy896, yymsp[0].minor.yy896); } +#line 7750 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 630: /* slimit_clause_opt ::= SLIMIT NK_INTEGER */ - case 634: /* limit_clause_opt ::= LIMIT NK_INTEGER */ yytestcase(yyruleno==634); -{ yymsp[-1].minor.yy360 = createLimitNode(pCxt, &yymsp[0].minor.yy0, NULL); } + case 634: /* slimit_clause_opt ::= SLIMIT NK_INTEGER */ + case 638: /* limit_clause_opt ::= LIMIT NK_INTEGER */ yytestcase(yyruleno==638); +#line 1246 "sql.y" +{ yymsp[-1].minor.yy896 = createLimitNode(pCxt, &yymsp[0].minor.yy0, NULL); } +#line 7757 "sql.c" break; - case 631: /* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - case 635: /* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ yytestcase(yyruleno==635); -{ yymsp[-3].minor.yy360 = createLimitNode(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } + case 635: /* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + case 639: /* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ yytestcase(yyruleno==639); +#line 1247 "sql.y" +{ yymsp[-3].minor.yy896 = createLimitNode(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } +#line 7763 "sql.c" break; - case 632: /* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - case 636: /* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ yytestcase(yyruleno==636); -{ yymsp[-3].minor.yy360 = createLimitNode(pCxt, &yymsp[0].minor.yy0, &yymsp[-2].minor.yy0); } + case 636: /* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + case 640: /* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ yytestcase(yyruleno==640); +#line 1248 "sql.y" +{ yymsp[-3].minor.yy896 = createLimitNode(pCxt, &yymsp[0].minor.yy0, &yymsp[-2].minor.yy0); } +#line 7769 "sql.c" break; - case 637: /* subquery ::= NK_LP query_expression NK_RP */ -{ yylhsminor.yy360 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-1].minor.yy360); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 641: /* subquery ::= NK_LP query_expression NK_RP */ +#line 1256 "sql.y" +{ yylhsminor.yy896 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-1].minor.yy896); } +#line 7774 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 642: /* sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ -{ yylhsminor.yy360 = createOrderByExprNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy360), yymsp[-1].minor.yy642, yymsp[0].minor.yy585); } - yymsp[-2].minor.yy360 = yylhsminor.yy360; + case 646: /* sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ +#line 1270 "sql.y" +{ yylhsminor.yy896 = createOrderByExprNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy896), yymsp[-1].minor.yy918, yymsp[0].minor.yy669); } +#line 7780 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; - case 643: /* ordering_specification_opt ::= */ -{ yymsp[1].minor.yy642 = ORDER_ASC; } + case 647: /* ordering_specification_opt ::= */ +#line 1274 "sql.y" +{ yymsp[1].minor.yy918 = ORDER_ASC; } +#line 7786 "sql.c" break; - case 644: /* ordering_specification_opt ::= ASC */ -{ yymsp[0].minor.yy642 = ORDER_ASC; } + case 648: /* ordering_specification_opt ::= ASC */ +#line 1275 "sql.y" +{ yymsp[0].minor.yy918 = ORDER_ASC; } +#line 7791 "sql.c" break; - case 645: /* ordering_specification_opt ::= DESC */ -{ yymsp[0].minor.yy642 = ORDER_DESC; } + case 649: /* ordering_specification_opt ::= DESC */ +#line 1276 "sql.y" +{ yymsp[0].minor.yy918 = ORDER_DESC; } +#line 7796 "sql.c" break; - case 646: /* null_ordering_opt ::= */ -{ yymsp[1].minor.yy585 = NULL_ORDER_DEFAULT; } + case 650: /* null_ordering_opt ::= */ +#line 1280 "sql.y" +{ yymsp[1].minor.yy669 = NULL_ORDER_DEFAULT; } +#line 7801 "sql.c" break; - case 647: /* null_ordering_opt ::= NULLS FIRST */ -{ yymsp[-1].minor.yy585 = NULL_ORDER_FIRST; } + case 651: /* null_ordering_opt ::= NULLS FIRST */ +#line 1281 "sql.y" +{ yymsp[-1].minor.yy669 = NULL_ORDER_FIRST; } +#line 7806 "sql.c" break; - case 648: /* null_ordering_opt ::= NULLS LAST */ -{ yymsp[-1].minor.yy585 = NULL_ORDER_LAST; } + case 652: /* null_ordering_opt ::= NULLS LAST */ +#line 1282 "sql.y" +{ yymsp[-1].minor.yy669 = NULL_ORDER_LAST; } +#line 7811 "sql.c" + break; + case 653: /* column_options ::= */ +#line 1288 "sql.y" +{ yymsp[1].minor.yy896 = createDefaultColumnOptions(pCxt); } +#line 7816 "sql.c" + break; + case 654: /* column_options ::= column_options ENCODE NK_STRING */ +#line 1289 "sql.y" +{ yylhsminor.yy896 = setColumnOptions(pCxt, yymsp[-2].minor.yy896, COLUMN_OPTION_ENCODE, &yymsp[0].minor.yy0); } +#line 7821 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; + break; + case 655: /* column_options ::= column_options COMPRESS NK_STRING */ +#line 1290 "sql.y" +{ yylhsminor.yy896 = setColumnOptions(pCxt, yymsp[-2].minor.yy896, COLUMN_OPTION_COMPRESS, &yymsp[0].minor.yy0); } +#line 7827 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; + break; + case 656: /* column_options ::= column_options LEVEL NK_STRING */ +#line 1291 "sql.y" +{ yylhsminor.yy896 = setColumnOptions(pCxt, yymsp[-2].minor.yy896, COLUMN_OPTION_LEVEL, &yymsp[0].minor.yy0); } +#line 7833 "sql.c" + yymsp[-2].minor.yy896 = yylhsminor.yy896; break; default: break; @@ -6920,6 +7893,7 @@ static void yy_syntax_error( ParseCTX_FETCH #define TOKEN yyminor /************ Begin %syntax_error code ****************************************/ +#line 29 "sql.y" if (TSDB_CODE_SUCCESS == pCxt->errCode) { if(TOKEN.z) { @@ -6930,6 +7904,7 @@ static void yy_syntax_error( } else if (TSDB_CODE_PAR_DB_NOT_SPECIFIED == pCxt->errCode && TK_NK_FLOAT == TOKEN.type) { pCxt->errCode = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_SYNTAX_ERROR, TOKEN.z); } +#line 7907 "sql.c" /************ End %syntax_error code ******************************************/ ParseARG_STORE /* Suppress warning about unused %extra_argument variable */ ParseCTX_STORE diff --git a/source/util/src/terror.c b/source/util/src/terror.c index e4a2a5ec85..b9aef1f0d9 100644 --- a/source/util/src/terror.c +++ b/source/util/src/terror.c @@ -147,6 +147,8 @@ TAOS_DEFINE_ERROR(TSDB_CODE_TSC_QUERY_KILLED, "Query killed") TAOS_DEFINE_ERROR(TSDB_CODE_TSC_NO_EXEC_NODE, "No available execution node in current query policy configuration") TAOS_DEFINE_ERROR(TSDB_CODE_TSC_NOT_STABLE_ERROR, "Table is not a super table") TAOS_DEFINE_ERROR(TSDB_CODE_TSC_STMT_CACHE_ERROR, "Stmt cache error") +TAOS_DEFINE_ERROR(TSDB_CODE_TSC_ENCODE_PARAM_ERROR, "Invalid compress param") +TAOS_DEFINE_ERROR(TSDB_CODE_TSC_ENCODE_PARAM_NULL, "Not found compress param") TAOS_DEFINE_ERROR(TSDB_CODE_TSC_INTERNAL_ERROR, "Internal error") // mnode-common