diff --git a/.travis.yml b/.travis.yml
index 6a4acce451..4afdb6154e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -52,7 +52,8 @@ matrix:
cd ${TRAVIS_BUILD_DIR}/debug
make install > /dev/null || travis_terminate $?
- pip3 install numpy
+ py3ver=`python3 --version|awk '{print $2}'|cut -d "." -f 1,2` && apt install python$py3ver-dev
+ pip3 install psutil
pip3 install --user ${TRAVIS_BUILD_DIR}/src/connector/python/linux/python3/
cd ${TRAVIS_BUILD_DIR}/tests
diff --git a/documentation/webdocs/markdowndocs/Super Table-ch.md b/documentation/webdocs/markdowndocs/Super Table-ch.md
index 5f592ec339..f45f2f91b1 100644
--- a/documentation/webdocs/markdowndocs/Super Table-ch.md
+++ b/documentation/webdocs/markdowndocs/Super Table-ch.md
@@ -4,7 +4,7 @@ TDengine要求每个数据采集点单独建表。独立建表的模式能够避
## 什么是超级表
-STable是同一类型数据采集点的抽象,是同类型采集实例的集合,包含多张数据结构一样的子表。每个STable为其子表定义了表结构和一组标签:表结构即表中记录的数据列及其数据类型;标签名和数据类型由STable定义,标签值记录着每个子表的静态信息,用以对子表进行分组过滤。子表本质上就是普通的表,由一个时间戳主键和若干个数据列组成,每行记录着具体的数据,数据查询操作与普通表完全相同;但子表与普通表的区别在于每个子表从属于一张超级表,并带有一组由STable定义的标签值。每种类型的采集设备可以定义一个STable。数据模型定义表的每列数据的类型,如温度、压力、电压、电流、GPS实时位置等,而标签信息属于Meta Data,如采集设备的序列号、型号、位置等,是静态的,是表的元数据。用户在创建表(数据采集点)时指定STable(采集类型)外,还可以指定标签的值,也可事后增加或修改。
+超级表是同一类型数据采集点的抽象,是同类型采集实例的集合,包含多张数据结构一样的子表。每个STable为其子表定义了表结构和一组标签:表结构即表中记录的数据列及其数据类型;标签名和数据类型由STable定义,标签值记录着每个子表的静态信息,用以对子表进行分组过滤。子表本质上就是普通的表,由一个时间戳主键和若干个数据列组成,每行记录着具体的数据,数据查询操作与普通表完全相同;但子表与普通表的区别在于每个子表从属于一张超级表,并带有一组由STable定义的标签值。每种类型的采集设备可以定义一个STable。数据模型定义表的每列数据的类型,如温度、压力、电压、电流、GPS实时位置等,而标签信息属于Meta Data,如采集设备的序列号、型号、位置等,是静态的,是表的元数据。用户在创建表(数据采集点)时指定STable(采集类型)外,还可以指定标签的值,也可事后增加或修改。
TDengine扩展标准SQL语法用于定义STable,使用关键词tags指定标签信息。语法如下:
diff --git a/documentation/webdocs/markdowndocs/administrator-ch.md b/documentation/webdocs/markdowndocs/administrator-ch.md
index 289f2dbf91..b48cf23995 100644
--- a/documentation/webdocs/markdowndocs/administrator-ch.md
+++ b/documentation/webdocs/markdowndocs/administrator-ch.md
@@ -16,9 +16,9 @@
TDengine的所有可执行文件默认存放在 _/usr/local/taos/bin_ 目录下。其中包括:
-- _taosd_:TDengine服务端可执行文件
-- _taos_: TDengine Shell可执行文件
-- _taosdump_:数据导出工具
+- _taosd_:TDengine服务端可执行文件。
+- _taos_: TDengine Shell可执行文件。
+- _taosdump_:数据导出工具。
- *rmtaos*: 卸载TDengine的脚本, 该脚本会删除全部的程序和数据文件。请务必谨慎执行,如非必须不建议使用。
您可以通过修改系统配置文件taos.cfg来配置不同的数据目录和日志目录
diff --git a/packaging/cfg/taos.cfg b/packaging/cfg/taos.cfg
index 2d4ebb4095..f2dbc04353 100644
--- a/packaging/cfg/taos.cfg
+++ b/packaging/cfg/taos.cfg
@@ -11,9 +11,6 @@
# second full-qualified domain name (FQDN) for TDengine system, for cluster edition only
# second cluster_hostname2:6030
-# the arbitrator's full-qualified domain name (FQDN) for TDengine system, for cluster edition only
-# arbitrator arbitrator_hostname:6030
-
# the full-qualified domain name (FQDN) of dnode
# fqdn hostname
@@ -23,45 +20,57 @@
# http service port, default tcp [6020]
# httpPort 6020
-# data file's directory
-# dataDir /var/lib/taos
-
# log file's directory
# logDir /var/log/taos
-# number of management nodes in the system
-# numOfMnodes 3
+# scriptDir file's directory
+# scriptDir /var/log/taos
-# optional roles for dnode. 0 - any, 1 - mnode, 2 - dnode
-# role 0
+# data file's directory
+# dataDir /var/lib/taos
+
+# the arbitrator's full-qualified domain name (FQDN) for TDengine system, for cluster edition only
+# arbitrator arbitrator_hostname:6030
# number of threads per CPU core
# numOfThreadsPerCore 1.0
-# max number of vgroups per db
-# maxVgroupsPerDb 0
-
-# max number of tables per vnode
-# maxTablesPerVnode 1000000
-
# the ratio of threads responsible for querying in the total thread
# ratioOfQueryThreads 0.5
-# interval of DNode report status to MNode, unit is Second, for cluster version only
-# statusInterval 1
+# number of management nodes in the system
+# numOfMnodes 3
-# interval of Shell send HB to MNode, unit is Second
-# shellActivityTimer 3
+# if backup vnode directory when remove dnode
+# vnodeBak 1
+
+# Whether to start load balancing
+# balance 1
+
+# optional roles for dnode. 0 - any, 1 - mnode, 2 - dnode
+# role 0
+
+# max timer control block
+# maxTmrCtrl 512
# interval of system monitor
# monitorInterval 30
+# number of seconds allowed for a dnode to be offline, for cluster version only
+# offlineThreshold 8640000
+
# RPC re-try timer, millisecond
# rpcTimer 300
# RPC maximum time for ack, seconds
# rpcMaxTime 600
+# interval of DNode report status to MNode, unit is Second, for cluster version only
+# statusInterval 1
+
+# interval of Shell send HB to MNode, unit is Second
+# shellActivityTimer 3
+
# duration of to keep tableMeta kept in Cache, seconds
# tableMetaKeepTimer 7200
@@ -71,38 +80,38 @@
# Time window minimum
# minIntervalTime 10
-# max length of an SQL
-# maxSQLLength 65480
+# the max allowed delayed time for launching continuous query. 20ms by default
+# maxStreamCompDelay 20000
-# Support the maximum number of records allowed for super table time sorting
-# maxNumOfOrderedRes 100000
+# The minimum time to wait before the first stream execution
+# maxFirstStreamCompDelay 10000
-# system locale
-# locale en_US.UTF-8
+# Retry wait time benchmark
+# retryStreamCompDelay 10
-# default system charset
-# charset UTF-8
+# the delayed time for launching each continuous query. 10% of the whole computing time window by default.
+# streamCompDelayRatio 0.1
-# system time zone
-# timezone Asia/Shanghai (CST, +0800)
+# max number of vgroups per db
+# maxVgroupsPerDb 0
-# set write ahead log (WAL) level
-# walLevel 1
+# max number of tables per vnode
+# maxTablesPerVnode 1000000
-# enable/disable async log
-# asyncLog 1
-
-# the compressed rpc message, option:
-# -1 (no compression)
-# 0 (all message compressed),
-# > 0 (rpc message body which larger than this value will be compressed)
-# compressMsgSize -1
+# Step size of increasing table number in vnode
+# tableIncStepPerVnode 1000
# cache block size (Mbyte)
-# cache 16
+# cache 16
# number of cache blocks per vnode
-# blocks 4
+# blocks 6
+
+# number of days per DB file
+# days 10
+
+# number of days to keep DB file
+# keep 3650
# min row of records in file block
# minRows 100
@@ -111,17 +120,44 @@
# maxRows 4096
# enable/disable compression
-# comp 1
+# comp 2
-# number of days per DB file
-# days 10
+# set write ahead log (WAL) level
+# walLevel 1
-# number of days to keep DB file
-# keep 3650
+# When walLevel is set to 2, the cycle of fsync is executed
+# fsync 3000
# number of replications, for cluster version only
# replica 1
+# mqtt uri
+# mqttBrokerAddress mqtt://username:password@hostname:1883/taos/
+
+# mqtt client name
+# mqttBrokerClientId taos_mqtt
+
+# the compressed rpc message, option:
+# -1 (no compression)
+# 0 (all message compressed),
+# > 0 (rpc message body which larger than this value will be compressed)
+# compressMsgSize -1
+
+# max length of an SQL
+# maxSQLLength 65480
+
+# Support the maximum number of records allowed for super table time sorting
+# maxNumOfOrderedRes 100000
+
+# system time zone
+# timezone Asia/Shanghai (CST, +0800)
+
+# system locale
+# locale en_US.UTF-8
+
+# default system charset
+# charset UTF-8
+
# max number of connections from client for dnode
# maxShellConns 5000
@@ -137,50 +173,36 @@
# Stop writing data when the disk size of the log folder is less than this value
# minimalDataDirGB 0.1
-# number of seconds allowed for a dnode to be offline, for cluster version only
-# offlineThreshold 8640000
-
# start http service
# http 1
-# start system monitor module
-# monitor 1
-
# start muqq service
# mqtt 0
-# mqtt uri
-# mqttBrokerAddress mqtt://username:password@hostname:1883/taos/
+# start system monitor module
+# monitor 1
-# mqtt client name
-# mqttBrokerClientId taos_mqtt
-
-# maximum number of rows returned by the restful interface
-# restfulRowLimit 10240
+# Record the SQL through restful interface
+# httpEnableRecordSql 0
# number of threads used to process http requests
# httpMaxThreads 2
-# The minimum time to wait before the first stream execution
-# maxFirstStreamCompDelay 10000
-
-# Retry wait time benchmark
-# retryStreamCompDelay 10
-
-# the delayed time for launching each continuous query. 10% of the whole computing time window by default.
-# streamCompDelayRatio 0.1
-
-# the max allowed delayed time for launching continuous query. 20ms by default
-# maxStreamCompDelay 20000
+# maximum number of rows returned by the restful interface
+# restfulRowLimit 10240
# The following parameter is used to limit the maximum number of lines in log files.
# max number of rows per log filters
# numOfLogLines 10000000
+# enable/disable async log
+# asyncLog 1
+
# The following parameters are used for debug purpose only.
# debugFlag 8 bits mask: FILE-SCREEN-UNUSED-HeartBeat-DUMP-TRACE_WARN-ERROR
-# 131: output warning and error,135: output info, warning and error to log.
-# 199: output debug, info, warning and error to both screen and file
+# 131: output warning and error, 135: output debug, warning and error, 143 : output trace, debug, warning and error to log.
+# 199: output debug, warning and error to both screen and file
+# 207: output trace, debug, warning and error to both screen and file
# debug flag for all log type, take effect when non-zero value
# debugFlag 0
@@ -236,9 +258,6 @@
# debug flag for http server
# tsdbDebugFlag 131
-# Record the SQL through restful interface
-# httpEnableRecordSql 0
-
# Record the SQL in taos client
# tscEnableRecordSql 0
diff --git a/src/client/inc/tsclient.h b/src/client/inc/tsclient.h
index 7efcd54cfd..7a44870938 100644
--- a/src/client/inc/tsclient.h
+++ b/src/client/inc/tsclient.h
@@ -60,15 +60,14 @@ typedef struct SCMCorVgroupInfo {
} SCMCorVgroupInfo;
typedef struct STableMeta {
- STableComInfo tableInfo;
- uint8_t tableType;
- int16_t sversion;
- int16_t tversion;
+ STableComInfo tableInfo;
+ uint8_t tableType;
+ int16_t sversion;
+ int16_t tversion;
SCMVgroupInfo vgroupInfo;
SCMCorVgroupInfo corVgroupInfo;
- int32_t sid; // the index of one table in a virtual node
- uint64_t uid; // unique id of a table
- SSchema schema[]; // if the table is TSDB_CHILD_TABLE, schema is acquired by super table meta info
+ STableId id;
+ SSchema schema[]; // if the table is TSDB_CHILD_TABLE, schema is acquired by super table meta info
} STableMeta;
typedef struct STableMetaInfo {
diff --git a/src/client/src/tscParseInsert.c b/src/client/src/tscParseInsert.c
index 232ea52ded..ae2370cd56 100644
--- a/src/client/src/tscParseInsert.c
+++ b/src/client/src/tscParseInsert.c
@@ -629,8 +629,8 @@ int32_t tscAllocateMemIfNeed(STableDataBlocks *pDataBlock, int32_t rowSize, int3
}
static void tsSetBlockInfo(SSubmitBlk *pBlocks, const STableMeta *pTableMeta, int32_t numOfRows) {
- pBlocks->tid = pTableMeta->sid;
- pBlocks->uid = pTableMeta->uid;
+ pBlocks->tid = pTableMeta->id.tid;
+ pBlocks->uid = pTableMeta->id.uid;
pBlocks->sversion = pTableMeta->sversion;
pBlocks->numOfRows += numOfRows;
}
@@ -686,7 +686,7 @@ static int32_t doParseInsertStatement(SSqlObj *pSql, void *pTableList, char **st
STableComInfo tinfo = tscGetTableInfo(pTableMeta);
STableDataBlocks *dataBuf = NULL;
- int32_t ret = tscGetDataBlockFromList(pTableList, pCmd->pDataBlocks, pTableMeta->uid, TSDB_DEFAULT_PAYLOAD_SIZE,
+ int32_t ret = tscGetDataBlockFromList(pTableList, pCmd->pDataBlocks, pTableMeta->id.uid, TSDB_DEFAULT_PAYLOAD_SIZE,
sizeof(SSubmitBlk), tinfo.rowSize, pTableMetaInfo->name,
pTableMeta, &dataBuf);
if (ret != TSDB_CODE_SUCCESS) {
diff --git a/src/client/src/tscSQLParser.c b/src/client/src/tscSQLParser.c
index f58431849c..44236face0 100644
--- a/src/client/src/tscSQLParser.c
+++ b/src/client/src/tscSQLParser.c
@@ -635,7 +635,7 @@ int32_t parseIntervalClause(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, SQuerySQL* pQ
int32_t tableIndex = COLUMN_INDEX_INITIAL_VAL;
for (int32_t i = 0; i < pQueryInfo->numOfTables; ++i) {
pTableMetaInfo = tscGetMetaInfo(pQueryInfo, i);
- if (pTableMetaInfo->pTableMeta->uid == uid) {
+ if (pTableMetaInfo->pTableMeta->id.uid == uid) {
tableIndex = i;
break;
}
@@ -3053,7 +3053,7 @@ static int32_t getJoinCondInfo(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, tSQLExpr*
STableMetaInfo* pTableMetaInfo = tscGetMetaInfo(pQueryInfo, index.tableIndex);
SSchema* pTagSchema1 = tscGetTableColumnSchema(pTableMetaInfo->pTableMeta, index.columnIndex);
- pLeft->uid = pTableMetaInfo->pTableMeta->uid;
+ pLeft->uid = pTableMetaInfo->pTableMeta->id.uid;
pLeft->tagColId = pTagSchema1->colId;
strcpy(pLeft->tableId, pTableMetaInfo->name);
@@ -3065,7 +3065,7 @@ static int32_t getJoinCondInfo(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, tSQLExpr*
pTableMetaInfo = tscGetMetaInfo(pQueryInfo, index.tableIndex);
SSchema* pTagSchema2 = tscGetTableColumnSchema(pTableMetaInfo->pTableMeta, index.columnIndex);
- pRight->uid = pTableMetaInfo->pTableMeta->uid;
+ pRight->uid = pTableMetaInfo->pTableMeta->id.uid;
pRight->tagColId = pTagSchema2->colId;
strcpy(pRight->tableId, pTableMetaInfo->name);
@@ -3603,7 +3603,7 @@ static int32_t setTableCondForSTableQuery(SSqlCmd* pCmd, SQueryInfo* pQueryInfo,
STableMetaInfo* pTableMetaInfo = tscGetMetaInfo(pQueryInfo, tableCondIndex);
STagCond* pTagCond = &pQueryInfo->tagCond;
- pTagCond->tbnameCond.uid = pTableMetaInfo->pTableMeta->uid;
+ pTagCond->tbnameCond.uid = pTableMetaInfo->pTableMeta->id.uid;
assert(pExpr->nSQLOptr == TK_LIKE || pExpr->nSQLOptr == TK_IN);
@@ -3840,7 +3840,7 @@ static int32_t getTagQueryCondExpr(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, SCondE
// add to source column list
STableMetaInfo* pTableMetaInfo = tscGetMetaInfo(pQueryInfo, i);
- int64_t uid = pTableMetaInfo->pTableMeta->uid;
+ int64_t uid = pTableMetaInfo->pTableMeta->id.uid;
int32_t numOfCols = tscGetNumOfColumns(pTableMetaInfo->pTableMeta);
size_t num = taosArrayGetSize(colList);
@@ -4506,8 +4506,8 @@ int32_t setAlterTableInfo(SSqlObj* pSql, struct SSqlInfo* pInfo) {
SUpdateTableTagValMsg* pUpdateMsg = (SUpdateTableTagValMsg*) pCmd->payload;
pUpdateMsg->head.vgId = htonl(pTableMeta->vgroupInfo.vgId);
- pUpdateMsg->tid = htonl(pTableMeta->sid);
- pUpdateMsg->uid = htobe64(pTableMeta->uid);
+ pUpdateMsg->tid = htonl(pTableMeta->id.tid);
+ pUpdateMsg->uid = htobe64(pTableMeta->id.uid);
pUpdateMsg->colId = htons(pTagsSchema->colId);
pUpdateMsg->type = pTagsSchema->type;
pUpdateMsg->bytes = htons(pTagsSchema->bytes);
@@ -4992,6 +4992,7 @@ static void setCreateDBOption(SCMCreateDbMsg* pMsg, SCreateDBInfo* pCreateDb) {
pMsg->compression = pCreateDb->compressionLevel;
pMsg->walLevel = (char)pCreateDb->walLevel;
pMsg->replications = pCreateDb->replica;
+ pMsg->quorum = pCreateDb->quorum;
pMsg->ignoreExist = pCreateDb->ignoreExists;
}
@@ -5045,7 +5046,7 @@ void addGroupInfoForSubquery(SSqlObj* pParentObj, SSqlObj* pSql, int32_t subClau
if (pExpr->functionId != TSDB_FUNC_TAG) {
STableMetaInfo* pTableMetaInfo = tscGetMetaInfo(pQueryInfo, tableIndex);
- int16_t columnInfo = tscGetJoinTagColIdByUid(&pQueryInfo->tagCond, pTableMetaInfo->pTableMeta->uid);
+ int16_t columnInfo = tscGetJoinTagColIdByUid(&pQueryInfo->tagCond, pTableMetaInfo->pTableMeta->id.uid);
SColumnIndex index = {.tableIndex = 0, .columnIndex = columnInfo};
SSchema* pSchema = tscGetTableTagSchema(pTableMetaInfo->pTableMeta);
@@ -5522,6 +5523,13 @@ int32_t tscCheckCreateDbParams(SSqlCmd* pCmd, SCMCreateDbMsg* pCreate) {
return invalidSqlErrMsg(tscGetErrorMsgPayload(pCmd), msg);
}
+ if (pCreate->quorum != -1 &&
+ (pCreate->quorum < TSDB_MIN_DB_REPLICA_OPTION || pCreate->quorum > TSDB_MAX_DB_REPLICA_OPTION)) {
+ snprintf(msg, tListLen(msg), "invalid db option quorum: %d valid range: [%d, %d]", pCreate->quorum,
+ TSDB_MIN_DB_REPLICA_OPTION, TSDB_MAX_DB_REPLICA_OPTION);
+ return invalidSqlErrMsg(tscGetErrorMsgPayload(pCmd), msg);
+ }
+
int32_t val = htonl(pCreate->daysPerFile);
if (val != -1 && (val < TSDB_MIN_DAYS_PER_FILE || val > TSDB_MAX_DAYS_PER_FILE)) {
snprintf(msg, tListLen(msg), "invalid db option daysPerFile: %d valid range: [%d, %d]", val,
diff --git a/src/client/src/tscSchemaUtil.c b/src/client/src/tscSchemaUtil.c
index 9b8f48b109..63607b7a86 100644
--- a/src/client/src/tscSchemaUtil.c
+++ b/src/client/src/tscSchemaUtil.c
@@ -162,8 +162,8 @@ STableMeta* tscCreateTableMetaFromMsg(STableMetaMsg* pTableMetaMsg, size_t* size
.numOfColumns = pTableMetaMsg->numOfColumns,
};
- pTableMeta->sid = pTableMetaMsg->sid;
- pTableMeta->uid = pTableMetaMsg->uid;
+ pTableMeta->id.tid = pTableMetaMsg->sid;
+ pTableMeta->id.uid = pTableMetaMsg->uid;
pTableMeta->vgroupInfo = pTableMetaMsg->vgroup;
tscInitCorVgroupInfo(&pTableMeta->corVgroupInfo, &pTableMeta->vgroupInfo);
diff --git a/src/client/src/tscServer.c b/src/client/src/tscServer.c
index 6c1faf6f9d..521280af87 100644
--- a/src/client/src/tscServer.c
+++ b/src/client/src/tscServer.c
@@ -605,9 +605,9 @@ static char *doSerializeTableInfo(SQueryTableMsg* pQueryMsg, SSqlObj *pSql, char
}
STableIdInfo *pTableIdInfo = (STableIdInfo *)pMsg;
- pTableIdInfo->tid = htonl(pTableMeta->sid);
- pTableIdInfo->uid = htobe64(pTableMeta->uid);
- pTableIdInfo->key = htobe64(tscGetSubscriptionProgress(pSql->pSubscription, pTableMeta->uid, dfltKey));
+ pTableIdInfo->tid = htonl(pTableMeta->id.tid);
+ pTableIdInfo->uid = htobe64(pTableMeta->id.uid);
+ pTableIdInfo->key = htobe64(tscGetSubscriptionProgress(pSql->pSubscription, pTableMeta->id.uid, dfltKey));
pQueryMsg->numOfTables = htonl(1); // set the number of tables
pMsg += sizeof(STableIdInfo);
@@ -640,7 +640,7 @@ static char *doSerializeTableInfo(SQueryTableMsg* pQueryMsg, SSqlObj *pSql, char
}
tscDebug("%p vgId:%d, query on table:%s, tid:%d, uid:%" PRIu64, pSql, htonl(pQueryMsg->head.vgId), pTableMetaInfo->name,
- pTableMeta->sid, pTableMeta->uid);
+ pTableMeta->id.tid, pTableMeta->id.uid);
return pMsg;
}
@@ -714,8 +714,8 @@ int tscBuildQueryMsg(SSqlObj *pSql, SSqlInfo *pInfo) {
if (pCol->colIndex.columnIndex >= tscGetNumOfColumns(pTableMeta) || pColSchema->type < TSDB_DATA_TYPE_BOOL ||
pColSchema->type > TSDB_DATA_TYPE_NCHAR) {
- tscError("%p sid:%d uid:%" PRIu64" id:%s, column index out of range, numOfColumns:%d, index:%d, column name:%s",
- pSql, pTableMeta->sid, pTableMeta->uid, pTableMetaInfo->name, tscGetNumOfColumns(pTableMeta), pCol->colIndex.columnIndex,
+ tscError("%p tid:%d uid:%" PRIu64" id:%s, column index out of range, numOfColumns:%d, index:%d, column name:%s",
+ pSql, pTableMeta->id.tid, pTableMeta->id.uid, pTableMetaInfo->name, tscGetNumOfColumns(pTableMeta), pCol->colIndex.columnIndex,
pColSchema->name);
return TSDB_CODE_TSC_INVALID_SQL;
@@ -833,8 +833,8 @@ int tscBuildQueryMsg(SSqlObj *pSql, SSqlInfo *pInfo) {
if ((pCol->colIndex.columnIndex >= numOfTagColumns || pCol->colIndex.columnIndex < -1) ||
(pColSchema->type < TSDB_DATA_TYPE_BOOL || pColSchema->type > TSDB_DATA_TYPE_NCHAR)) {
- tscError("%p sid:%d uid:%" PRIu64 " id:%s, tag index out of range, totalCols:%d, numOfTags:%d, index:%d, column name:%s",
- pSql, pTableMeta->sid, pTableMeta->uid, pTableMetaInfo->name, total, numOfTagColumns,
+ tscError("%p tid:%d uid:%" PRIu64 " id:%s, tag index out of range, totalCols:%d, numOfTags:%d, index:%d, column name:%s",
+ pSql, pTableMeta->id.tid, pTableMeta->id.uid, pTableMetaInfo->name, total, numOfTagColumns,
pCol->colIndex.columnIndex, pColSchema->name);
return TSDB_CODE_TSC_INVALID_SQL;
@@ -855,7 +855,7 @@ int tscBuildQueryMsg(SSqlObj *pSql, SSqlInfo *pInfo) {
if (pQueryInfo->tagCond.pCond != NULL && taosArrayGetSize(pQueryInfo->tagCond.pCond) > 0) {
STagCond* pTagCond = &pQueryInfo->tagCond;
- SCond *pCond = tsGetSTableQueryCond(pTagCond, pTableMeta->uid);
+ SCond *pCond = tsGetSTableQueryCond(pTagCond, pTableMeta->id.uid);
if (pCond != NULL && pCond->cond != NULL) {
pQueryMsg->tagCondLen = htons(pCond->len);
memcpy(pMsg, pCond->cond, pCond->len);
@@ -1739,7 +1739,7 @@ int tscProcessTableMetaRsp(SSqlObj *pSql) {
return TSDB_CODE_TSC_OUT_OF_MEMORY;
}
- tscDebug("%p recv table meta, uid:%"PRId64 ", tid:%d, name:%s", pSql, pTableMeta->uid, pTableMeta->sid, pTableMetaInfo->name);
+ tscDebug("%p recv table meta, uid:%"PRId64 ", tid:%d, name:%s", pSql, pTableMeta->id.uid, pTableMeta->id.tid, pTableMetaInfo->name);
free(pTableMeta);
return TSDB_CODE_SUCCESS;
@@ -2215,7 +2215,7 @@ int tscRenewTableMeta(SSqlObj *pSql, char *tableId) {
STableMeta* pTableMeta = pTableMetaInfo->pTableMeta;
if (pTableMetaInfo->pTableMeta) {
tscDebug("%p update table meta, old meta numOfTags:%d, numOfCols:%d, uid:%" PRId64 ", addr:%p", pSql,
- tscGetNumOfTags(pTableMeta), tscGetNumOfColumns(pTableMeta), pTableMeta->uid, pTableMeta);
+ tscGetNumOfTags(pTableMeta), tscGetNumOfColumns(pTableMeta), pTableMeta->id.uid, pTableMeta);
}
taosCacheRelease(tscCacheHandle, (void **)&(pTableMetaInfo->pTableMeta), true);
diff --git a/src/client/src/tscSub.c b/src/client/src/tscSub.c
index 19886177e6..6e572d94d1 100644
--- a/src/client/src/tscSub.c
+++ b/src/client/src/tscSub.c
@@ -241,7 +241,7 @@ static int tscUpdateSubscription(STscObj* pObj, SSub* pSub) {
STableMetaInfo *pTableMetaInfo = tscGetTableMetaInfoFromCmd(pCmd, pCmd->clauseIndex, 0);
if (UTIL_TABLE_IS_NORMAL_TABLE(pTableMetaInfo)) {
STableMeta * pTableMeta = pTableMetaInfo->pTableMeta;
- SSubscriptionProgress target = {.uid = pTableMeta->uid, .key = 0};
+ SSubscriptionProgress target = {.uid = pTableMeta->id.uid, .key = 0};
SSubscriptionProgress* p = taosArraySearch(pSub->progress, &target, tscCompareSubscriptionProgress);
if (p == NULL) {
taosArrayClear(pSub->progress);
diff --git a/src/client/src/tscSubquery.c b/src/client/src/tscSubquery.c
index 95d65f4aff..15e02799aa 100644
--- a/src/client/src/tscSubquery.c
+++ b/src/client/src/tscSubquery.c
@@ -180,7 +180,7 @@ SJoinSupporter* tscCreateJoinSupporter(SSqlObj* pSql, SSubqueryState* pState, in
pSupporter->limit = pQueryInfo->limit;
STableMetaInfo* pTableMetaInfo = tscGetTableMetaInfoFromCmd(&pSql->cmd, pSql->cmd.clauseIndex, index);
- pSupporter->uid = pTableMetaInfo->pTableMeta->uid;
+ pSupporter->uid = pTableMetaInfo->pTableMeta->id.uid;
assert (pSupporter->uid != 0);
getTmpfilePath("join-", pSupporter->path);
@@ -355,7 +355,7 @@ static int32_t tscLaunchRealSubqueries(SSqlObj* pSql) {
// set the join condition tag column info, to do extract method
if (UTIL_TABLE_IS_SUPER_TABLE(pTableMetaInfo)) {
assert(pQueryInfo->tagCond.joinInfo.hasJoin);
- int16_t colId = tscGetJoinTagColIdByUid(&pQueryInfo->tagCond, pTableMetaInfo->pTableMeta->uid);
+ int16_t colId = tscGetJoinTagColIdByUid(&pQueryInfo->tagCond, pTableMetaInfo->pTableMeta->id.uid);
pExpr->param[0].i64Key = colId;
pExpr->numOfParams = 1;
@@ -499,7 +499,7 @@ static void issueTSCompQuery(SSqlObj* pSql, SJoinSupporter* pSupporter, SSqlObj*
// set the tags value for ts_comp function
if (UTIL_TABLE_IS_SUPER_TABLE(pTableMetaInfo)) {
SSqlExpr *pExpr = tscSqlExprGet(pQueryInfo, 0);
- int16_t tagColId = tscGetJoinTagColIdByUid(&pSupporter->tagCond, pTableMetaInfo->pTableMeta->uid);
+ int16_t tagColId = tscGetJoinTagColIdByUid(&pSupporter->tagCond, pTableMetaInfo->pTableMeta->id.uid);
pExpr->param->i64Key = tagColId;
pExpr->numOfParams = 1;
}
@@ -560,7 +560,7 @@ static int32_t getIntersectionOfTableTuple(SQueryInfo* pQueryInfo, SSqlObj* pPar
qsort(p2->pIdTagList, p2->num, p2->tagSize, tscCompareTidTags);
STableMetaInfo* pTableMetaInfo = tscGetMetaInfo(pQueryInfo, 0);
- int16_t tagColId = tscGetJoinTagColIdByUid(&pQueryInfo->tagCond, pTableMetaInfo->pTableMeta->uid);
+ int16_t tagColId = tscGetJoinTagColIdByUid(&pQueryInfo->tagCond, pTableMetaInfo->pTableMeta->id.uid);
SSchema* pColSchema = tscGetTableColumnSchemaById(pTableMetaInfo->pTableMeta, tagColId);
@@ -1034,7 +1034,7 @@ void tscSetupOutputColumnIndex(SSqlObj* pSql) {
int32_t tableIndexOfSub = -1;
for (int32_t j = 0; j < pQueryInfo->numOfTables; ++j) {
STableMetaInfo* pTableMetaInfo = tscGetMetaInfo(pQueryInfo, j);
- if (pTableMetaInfo->pTableMeta->uid == pExpr->uid) {
+ if (pTableMetaInfo->pTableMeta->id.uid == pExpr->uid) {
tableIndexOfSub = j;
break;
}
@@ -1205,7 +1205,7 @@ int32_t tscLaunchJoinSubquery(SSqlObj *pSql, int16_t tableIndex, SJoinSupporter
STagCond* pTagCond = &pSupporter->tagCond;
assert(pTagCond->joinInfo.hasJoin);
- int32_t tagColId = tscGetJoinTagColIdByUid(pTagCond, pTableMetaInfo->pTableMeta->uid);
+ int32_t tagColId = tscGetJoinTagColIdByUid(pTagCond, pTableMetaInfo->pTableMeta->id.uid);
SSchema* s = tscGetTableColumnSchemaById(pTableMetaInfo->pTableMeta, tagColId);
int16_t bytes = 0;
@@ -1237,7 +1237,7 @@ int32_t tscLaunchJoinSubquery(SSqlObj *pSql, int16_t tableIndex, SJoinSupporter
SSqlExpr *pExpr = tscSqlExprGet(pNewQueryInfo, 0);
if (UTIL_TABLE_IS_SUPER_TABLE(pTableMetaInfo)) {
- int16_t tagColId = tscGetJoinTagColIdByUid(&pSupporter->tagCond, pTableMetaInfo->pTableMeta->uid);
+ int16_t tagColId = tscGetJoinTagColIdByUid(&pSupporter->tagCond, pTableMetaInfo->pTableMeta->id.uid);
pExpr->param->i64Key = tagColId;
pExpr->numOfParams = 1;
}
diff --git a/src/client/src/tscUtil.c b/src/client/src/tscUtil.c
index e7fa2a84a9..73d6f0e592 100644
--- a/src/client/src/tscUtil.c
+++ b/src/client/src/tscUtil.c
@@ -955,7 +955,7 @@ static SSqlExpr* doBuildSqlExpr(SQueryInfo* pQueryInfo, int16_t functionId, SCol
pExpr->interBytes = interSize;
if (pTableMetaInfo->pTableMeta) {
- pExpr->uid = pTableMetaInfo->pTableMeta->uid;
+ pExpr->uid = pTableMetaInfo->pTableMeta->id.uid;
}
return pExpr;
@@ -1482,7 +1482,7 @@ STableMetaInfo* tscGetTableMetaInfoByUid(SQueryInfo* pQueryInfo, uint64_t uid, i
int32_t k = -1;
for (int32_t i = 0; i < pQueryInfo->numOfTables; ++i) {
- if (pQueryInfo->pTableMetaInfo[i]->pTableMeta->uid == uid) {
+ if (pQueryInfo->pTableMetaInfo[i]->pTableMeta->id.uid == uid) {
k = i;
break;
}
@@ -1760,7 +1760,7 @@ SSqlObj* createSubqueryObj(SSqlObj* pSql, int16_t tableIndex, void (*fp)(), void
TSDB_QUERY_SET_TYPE(pNewQueryInfo->type, TSDB_QUERY_TYPE_SUBQUERY);// it must be the subquery
}
- uint64_t uid = pTableMetaInfo->pTableMeta->uid;
+ uint64_t uid = pTableMetaInfo->pTableMeta->id.uid;
tscSqlExprCopy(pNewQueryInfo->exprList, pQueryInfo->exprList, uid, true);
int32_t numOfOutput = tscSqlExprNumOfExprs(pNewQueryInfo);
diff --git a/src/common/inc/tglobal.h b/src/common/inc/tglobal.h
index 495d2ae006..b8d7297ee0 100644
--- a/src/common/inc/tglobal.h
+++ b/src/common/inc/tglobal.h
@@ -80,6 +80,7 @@ extern int16_t tsCompression;
extern int16_t tsWAL;
extern int32_t tsFsyncPeriod;
extern int32_t tsReplications;
+extern int32_t tsQuorum;
// balance
extern int32_t tsEnableBalance;
diff --git a/src/common/src/tglobal.c b/src/common/src/tglobal.c
index 5ab2d0a36d..79ea2b2d46 100644
--- a/src/common/src/tglobal.c
+++ b/src/common/src/tglobal.c
@@ -109,6 +109,7 @@ int16_t tsCompression = TSDB_DEFAULT_COMP_LEVEL;
int16_t tsWAL = TSDB_DEFAULT_WAL_LEVEL;
int32_t tsFsyncPeriod = TSDB_DEFAULT_FSYNC_PERIOD;
int32_t tsReplications = TSDB_DEFAULT_DB_REPLICA_OPTION;
+int32_t tsQuorum = TSDB_DEFAULT_DB_QUORUM_OPTION;
int32_t tsMaxVgroupsPerDb = 0;
int32_t tsMinTablePerVnode = 100;
int32_t tsMaxTablePerVnode = TSDB_DEFAULT_TABLES;
@@ -742,6 +743,16 @@ static void doInitGlobalConfig() {
cfg.unitType = TAOS_CFG_UTYPE_NONE;
taosInitConfigOption(cfg);
+ cfg.option = "quorum";
+ cfg.ptr = &tsQuorum;
+ cfg.valType = TAOS_CFG_VTYPE_INT32;
+ cfg.cfgType = TSDB_CFG_CTYPE_B_CONFIG | TSDB_CFG_CTYPE_B_SHOW;
+ cfg.minValue = TSDB_MIN_DB_REPLICA_OPTION;
+ cfg.maxValue = TSDB_MAX_DB_REPLICA_OPTION;
+ cfg.ptrLength = 0;
+ cfg.unitType = TAOS_CFG_UTYPE_NONE;
+ taosInitConfigOption(cfg);
+
cfg.option = "mqttBrokerAddress";
cfg.ptr = tsMqttBrokerAddress;
cfg.valType = TAOS_CFG_VTYPE_STRING;
@@ -1338,4 +1349,4 @@ bool taosCheckBalanceCfgOptions(const char *option, int32_t *vnodeId, int32_t *d
}
return true;
-}
\ No newline at end of file
+}
diff --git a/src/dnode/src/dnodeVWrite.c b/src/dnode/src/dnodeVWrite.c
index dc09a03e14..51bc8890fc 100644
--- a/src/dnode/src/dnodeVWrite.c
+++ b/src/dnode/src/dnodeVWrite.c
@@ -38,6 +38,8 @@ typedef struct {
typedef struct {
SRspRet rspRet;
+ int32_t processedCount;
+ int32_t code;
void *pCont;
int32_t contLen;
SRpcMsg rpcMsg;
@@ -187,13 +189,16 @@ void dnodeFreeVnodeWqueue(void *wqueue) {
void dnodeSendRpcVnodeWriteRsp(void *pVnode, void *param, int32_t code) {
SWriteMsg *pWrite = (SWriteMsg *)param;
- if (code > 0) return;
+ if (code < 0) pWrite->code = code;
+ int32_t count = atomic_add_fetch_32(&pWrite->processedCount, 1);
+
+ if (count <= 1) return;
SRpcMsg rpcRsp = {
.handle = pWrite->rpcMsg.handle,
.pCont = pWrite->rspRet.rsp,
.contLen = pWrite->rspRet.len,
- .code = code,
+ .code = pWrite->code,
};
rpcSendResponse(&rpcRsp);
@@ -239,7 +244,10 @@ static void *dnodeProcessWriteQueue(void *param) {
}
int32_t code = vnodeProcessWrite(pVnode, type, pHead, pRspRet);
- if (pWrite) pWrite->rpcMsg.code = code;
+ if (pWrite) {
+ pWrite->rpcMsg.code = code;
+ if (code <= 0) pWrite->processedCount = 1;
+ }
}
walFsync(vnodeGetWal(pVnode));
diff --git a/src/inc/taosdef.h b/src/inc/taosdef.h
index ee95548c2d..c70ca8662e 100644
--- a/src/inc/taosdef.h
+++ b/src/inc/taosdef.h
@@ -338,6 +338,7 @@ void tsDataSwap(void *pLeft, void *pRight, int32_t type, int32_t size);
#define TSDB_MIN_DB_REPLICA_OPTION 1
#define TSDB_MAX_DB_REPLICA_OPTION 3
#define TSDB_DEFAULT_DB_REPLICA_OPTION 1
+#define TSDB_DEFAULT_DB_QUORUM_OPTION 1
#define TSDB_MAX_JOIN_TABLE_NUM 5
#define TSDB_MAX_UNION_CLAUSE 5
diff --git a/src/inc/taosmsg.h b/src/inc/taosmsg.h
index ad2be97946..edddc717c0 100644
--- a/src/inc/taosmsg.h
+++ b/src/inc/taosmsg.h
@@ -522,6 +522,7 @@ typedef struct {
int8_t compression;
int8_t walLevel;
int8_t replications;
+ int8_t quorum;
int8_t ignoreExist;
} SCMCreateDbMsg, SCMAlterDbMsg;
diff --git a/src/inc/ttokendef.h b/src/inc/ttokendef.h
index 0b63e9e71d..e77f5741d3 100644
--- a/src/inc/ttokendef.h
+++ b/src/inc/ttokendef.h
@@ -104,123 +104,125 @@
#define TK_MAXTABLES 86
#define TK_CACHE 87
#define TK_REPLICA 88
-#define TK_DAYS 89
-#define TK_MINROWS 90
-#define TK_MAXROWS 91
-#define TK_BLOCKS 92
-#define TK_CTIME 93
-#define TK_WAL 94
-#define TK_FSYNC 95
-#define TK_COMP 96
-#define TK_PRECISION 97
-#define TK_LP 98
-#define TK_RP 99
-#define TK_TAGS 100
-#define TK_USING 101
-#define TK_AS 102
-#define TK_COMMA 103
-#define TK_NULL 104
-#define TK_SELECT 105
-#define TK_UNION 106
-#define TK_ALL 107
-#define TK_FROM 108
-#define TK_VARIABLE 109
-#define TK_INTERVAL 110
-#define TK_FILL 111
-#define TK_SLIDING 112
-#define TK_ORDER 113
-#define TK_BY 114
-#define TK_ASC 115
-#define TK_DESC 116
-#define TK_GROUP 117
-#define TK_HAVING 118
-#define TK_LIMIT 119
-#define TK_OFFSET 120
-#define TK_SLIMIT 121
-#define TK_SOFFSET 122
-#define TK_WHERE 123
-#define TK_NOW 124
-#define TK_RESET 125
-#define TK_QUERY 126
-#define TK_ADD 127
-#define TK_COLUMN 128
-#define TK_TAG 129
-#define TK_CHANGE 130
-#define TK_SET 131
-#define TK_KILL 132
-#define TK_CONNECTION 133
-#define TK_STREAM 134
-#define TK_COLON 135
-#define TK_ABORT 136
-#define TK_AFTER 137
-#define TK_ATTACH 138
-#define TK_BEFORE 139
-#define TK_BEGIN 140
-#define TK_CASCADE 141
-#define TK_CLUSTER 142
-#define TK_CONFLICT 143
-#define TK_COPY 144
-#define TK_DEFERRED 145
-#define TK_DELIMITERS 146
-#define TK_DETACH 147
-#define TK_EACH 148
-#define TK_END 149
-#define TK_EXPLAIN 150
-#define TK_FAIL 151
-#define TK_FOR 152
-#define TK_IGNORE 153
-#define TK_IMMEDIATE 154
-#define TK_INITIALLY 155
-#define TK_INSTEAD 156
-#define TK_MATCH 157
-#define TK_KEY 158
-#define TK_OF 159
-#define TK_RAISE 160
-#define TK_REPLACE 161
-#define TK_RESTRICT 162
-#define TK_ROW 163
-#define TK_STATEMENT 164
-#define TK_TRIGGER 165
-#define TK_VIEW 166
-#define TK_COUNT 167
-#define TK_SUM 168
-#define TK_AVG 169
-#define TK_MIN 170
-#define TK_MAX 171
-#define TK_FIRST 172
-#define TK_LAST 173
-#define TK_TOP 174
-#define TK_BOTTOM 175
-#define TK_STDDEV 176
-#define TK_PERCENTILE 177
-#define TK_APERCENTILE 178
-#define TK_LEASTSQUARES 179
-#define TK_HISTOGRAM 180
-#define TK_DIFF 181
-#define TK_SPREAD 182
-#define TK_TWA 183
-#define TK_INTERP 184
-#define TK_LAST_ROW 185
-#define TK_RATE 186
-#define TK_IRATE 187
-#define TK_SUM_RATE 188
-#define TK_SUM_IRATE 189
-#define TK_AVG_RATE 190
-#define TK_AVG_IRATE 191
-#define TK_TBID 192
-#define TK_SEMI 193
-#define TK_NONE 194
-#define TK_PREV 195
-#define TK_LINEAR 196
-#define TK_IMPORT 197
-#define TK_METRIC 198
-#define TK_TBNAME 199
-#define TK_JOIN 200
-#define TK_METRICS 201
-#define TK_STABLE 202
-#define TK_INSERT 203
-#define TK_INTO 204
-#define TK_VALUES 205
+#define TK_QUORUM 89
+#define TK_DAYS 90
+#define TK_MINROWS 91
+#define TK_MAXROWS 92
+#define TK_BLOCKS 93
+#define TK_CTIME 94
+#define TK_WAL 95
+#define TK_FSYNC 96
+#define TK_COMP 97
+#define TK_PRECISION 98
+#define TK_LP 99
+#define TK_RP 100
+#define TK_TAGS 101
+#define TK_USING 102
+#define TK_AS 103
+#define TK_COMMA 104
+#define TK_NULL 105
+#define TK_SELECT 106
+#define TK_UNION 107
+#define TK_ALL 108
+#define TK_FROM 109
+#define TK_VARIABLE 110
+#define TK_INTERVAL 111
+#define TK_FILL 112
+#define TK_SLIDING 113
+#define TK_ORDER 114
+#define TK_BY 115
+#define TK_ASC 116
+#define TK_DESC 117
+#define TK_GROUP 118
+#define TK_HAVING 119
+#define TK_LIMIT 120
+#define TK_OFFSET 121
+#define TK_SLIMIT 122
+#define TK_SOFFSET 123
+#define TK_WHERE 124
+#define TK_NOW 125
+#define TK_RESET 126
+#define TK_QUERY 127
+#define TK_ADD 128
+#define TK_COLUMN 129
+#define TK_TAG 130
+#define TK_CHANGE 131
+#define TK_SET 132
+#define TK_KILL 133
+#define TK_CONNECTION 134
+#define TK_STREAM 135
+#define TK_COLON 136
+#define TK_ABORT 137
+#define TK_AFTER 138
+#define TK_ATTACH 139
+#define TK_BEFORE 140
+#define TK_BEGIN 141
+#define TK_CASCADE 142
+#define TK_CLUSTER 143
+#define TK_CONFLICT 144
+#define TK_COPY 145
+#define TK_DEFERRED 146
+#define TK_DELIMITERS 147
+#define TK_DETACH 148
+#define TK_EACH 149
+#define TK_END 150
+#define TK_EXPLAIN 151
+#define TK_FAIL 152
+#define TK_FOR 153
+#define TK_IGNORE 154
+#define TK_IMMEDIATE 155
+#define TK_INITIALLY 156
+#define TK_INSTEAD 157
+#define TK_MATCH 158
+#define TK_KEY 159
+#define TK_OF 160
+#define TK_RAISE 161
+#define TK_REPLACE 162
+#define TK_RESTRICT 163
+#define TK_ROW 164
+#define TK_STATEMENT 165
+#define TK_TRIGGER 166
+#define TK_VIEW 167
+#define TK_COUNT 168
+#define TK_SUM 169
+#define TK_AVG 170
+#define TK_MIN 171
+#define TK_MAX 172
+#define TK_FIRST 173
+#define TK_LAST 174
+#define TK_TOP 175
+#define TK_BOTTOM 176
+#define TK_STDDEV 177
+#define TK_PERCENTILE 178
+#define TK_APERCENTILE 179
+#define TK_LEASTSQUARES 180
+#define TK_HISTOGRAM 181
+#define TK_DIFF 182
+#define TK_SPREAD 183
+#define TK_TWA 184
+#define TK_INTERP 185
+#define TK_LAST_ROW 186
+#define TK_RATE 187
+#define TK_IRATE 188
+#define TK_SUM_RATE 189
+#define TK_SUM_IRATE 190
+#define TK_AVG_RATE 191
+#define TK_AVG_IRATE 192
+#define TK_TBID 193
+#define TK_SEMI 194
+#define TK_NONE 195
+#define TK_PREV 196
+#define TK_LINEAR 197
+#define TK_IMPORT 198
+#define TK_METRIC 199
+#define TK_TBNAME 200
+#define TK_JOIN 201
+#define TK_METRICS 202
+#define TK_STABLE 203
+#define TK_INSERT 204
+#define TK_INTO 205
+#define TK_VALUES 206
+
#define TK_SPACE 300
#define TK_COMMENT 301
diff --git a/src/mnode/inc/mnodeDef.h b/src/mnode/inc/mnodeDef.h
index 62028bc820..02848089cb 100644
--- a/src/mnode/inc/mnodeDef.h
+++ b/src/mnode/inc/mnodeDef.h
@@ -171,6 +171,7 @@ typedef struct {
int8_t compression;
int8_t walLevel;
int8_t replications;
+ int8_t quorum;
int8_t reserved[12];
} SDbCfg;
diff --git a/src/mnode/src/mnodeDb.c b/src/mnode/src/mnodeDb.c
index 199cc63da6..20d1ce3bab 100644
--- a/src/mnode/src/mnodeDb.c
+++ b/src/mnode/src/mnodeDb.c
@@ -301,6 +301,12 @@ static int32_t mnodeCheckDbCfg(SDbCfg *pCfg) {
return TSDB_CODE_MND_INVALID_DB_OPTION;
}
+ if (pCfg->quorum < TSDB_MIN_DB_REPLICA_OPTION || pCfg->quorum > TSDB_MAX_DB_REPLICA_OPTION) {
+ mError("invalid db option quorum:%d valid range: [%d, %d]", pCfg->quorum, TSDB_MIN_DB_REPLICA_OPTION,
+ TSDB_MAX_DB_REPLICA_OPTION);
+ return TSDB_CODE_MND_INVALID_DB_OPTION;
+ }
+
return TSDB_CODE_SUCCESS;
}
@@ -320,6 +326,7 @@ static void mnodeSetDefaultDbCfg(SDbCfg *pCfg) {
if (pCfg->compression < 0) pCfg->compression = tsCompression;
if (pCfg->walLevel < 0) pCfg->walLevel = tsWAL;
if (pCfg->replications < 0) pCfg->replications = tsReplications;
+ if (pCfg->quorum < 0) pCfg->quorum = tsQuorum;
}
static int32_t mnodeCreateDbCb(SMnodeMsg *pMsg, int32_t code) {
@@ -369,7 +376,8 @@ static int32_t mnodeCreateDb(SAcctObj *pAcct, SCMCreateDbMsg *pCreate, void *pMs
.precision = pCreate->precision,
.compression = pCreate->compression,
.walLevel = pCreate->walLevel,
- .replications = pCreate->replications
+ .replications = pCreate->replications,
+ .quorum = pCreate->quorum
};
mnodeSetDefaultDbCfg(&pDb->cfg);
@@ -508,6 +516,12 @@ static int32_t mnodeGetDbMeta(STableMetaMsg *pMeta, SShowObj *pShow, void *pConn
pSchema[cols].bytes = htons(pShow->bytes[cols]);
cols++;
+ pShow->bytes[cols] = 2;
+ pSchema[cols].type = TSDB_DATA_TYPE_SMALLINT;
+ strcpy(pSchema[cols].name, "quorum");
+ pSchema[cols].bytes = htons(pShow->bytes[cols]);
+ cols++;
+
pShow->bytes[cols] = 2;
pSchema[cols].type = TSDB_DATA_TYPE_SMALLINT;
strcpy(pSchema[cols].name, "days");
@@ -654,6 +668,10 @@ static int32_t mnodeRetrieveDbs(SShowObj *pShow, char *data, int32_t rows, void
*(int16_t *)pWrite = pDb->cfg.replications;
cols++;
+ pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
+ *(int16_t *)pWrite = pDb->cfg.quorum;
+ cols++;
+
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
*(int16_t *)pWrite = pDb->cfg.daysPerFile;
cols++;
@@ -803,6 +821,7 @@ static SDbCfg mnodeGetAlterDbOption(SDbObj *pDb, SCMAlterDbMsg *pAlter) {
int8_t compression = pAlter->compression;
int8_t walLevel = pAlter->walLevel;
int8_t replications = pAlter->replications;
+ int8_t quorum = pAlter->quorum;
int8_t precision = pAlter->precision;
terrno = TSDB_CODE_SUCCESS;
@@ -901,6 +920,11 @@ static SDbCfg mnodeGetAlterDbOption(SDbObj *pDb, SCMAlterDbMsg *pAlter) {
}
}
+ if (quorum >= 0 && quorum != pDb->cfg.quorum) {
+ mDebug("db:%s, quorum:%d change to %d", pDb->name, pDb->cfg.quorum, quorum);
+ newCfg.compression = quorum;
+ }
+
return newCfg;
}
diff --git a/src/mnode/src/mnodeVgroup.c b/src/mnode/src/mnodeVgroup.c
index 089168c31e..231e350092 100644
--- a/src/mnode/src/mnodeVgroup.c
+++ b/src/mnode/src/mnodeVgroup.c
@@ -784,7 +784,7 @@ static SMDCreateVnodeMsg *mnodeBuildVnodeMsg(SVgObj *pVgroup) {
pCfg->walLevel = pDb->cfg.walLevel;
pCfg->replications = (int8_t) pVgroup->numOfVnodes;
pCfg->wals = 3;
- pCfg->quorum = 1;
+ pCfg->quorum = pDb->cfg.quorum;
SMDVnodeDesc *pNodes = pVnode->nodes;
for (int32_t j = 0; j < pVgroup->numOfVnodes; ++j) {
diff --git a/src/query/inc/qSqlparser.h b/src/query/inc/qSqlparser.h
index 9e8706cf92..cd9618b223 100644
--- a/src/query/inc/qSqlparser.h
+++ b/src/query/inc/qSqlparser.h
@@ -119,6 +119,7 @@ typedef struct SCreateDBInfo {
int32_t fsyncPeriod;
int64_t commitTime;
int32_t walLevel;
+ int32_t quorum;
int32_t compressionLevel;
SSQLToken precision;
bool ignoreExists;
diff --git a/src/query/inc/sql.y b/src/query/inc/sql.y
index d709b4f838..15cfeee6b2 100644
--- a/src/query/inc/sql.y
+++ b/src/query/inc/sql.y
@@ -215,6 +215,7 @@ keep(Y) ::= KEEP tagitemlist(X). { Y = X; }
tables(Y) ::= MAXTABLES INTEGER(X). { Y = X; }
cache(Y) ::= CACHE INTEGER(X). { Y = X; }
replica(Y) ::= REPLICA INTEGER(X). { Y = X; }
+quorum(Y) ::= QUORUM INTEGER(X). { Y = X; }
days(Y) ::= DAYS INTEGER(X). { Y = X; }
minrows(Y) ::= MINROWS INTEGER(X). { Y = X; }
maxrows(Y) ::= MAXROWS INTEGER(X). { Y = X; }
@@ -231,6 +232,7 @@ db_optr(Y) ::= . {setDefaultCreateDbOption(&Y);}
db_optr(Y) ::= db_optr(Z) tables(X). { Y = Z; Y.maxTablesPerVnode = strtol(X.z, NULL, 10); }
db_optr(Y) ::= db_optr(Z) cache(X). { Y = Z; Y.cacheBlockSize = strtol(X.z, NULL, 10); }
db_optr(Y) ::= db_optr(Z) replica(X). { Y = Z; Y.replica = strtol(X.z, NULL, 10); }
+db_optr(Y) ::= db_optr(Z) quorum(X). { Y = Z; Y.quorum = strtol(X.z, NULL, 10); }
db_optr(Y) ::= db_optr(Z) days(X). { Y = Z; Y.daysPerFile = strtol(X.z, NULL, 10); }
db_optr(Y) ::= db_optr(Z) minrows(X). { Y = Z; Y.minRowsPerBlock = strtod(X.z, NULL); }
db_optr(Y) ::= db_optr(Z) maxrows(X). { Y = Z; Y.maxRowsPerBlock = strtod(X.z, NULL); }
@@ -246,6 +248,7 @@ db_optr(Y) ::= db_optr(Z) keep(X). { Y = Z; Y.keep = X; }
alter_db_optr(Y) ::= . { setDefaultCreateDbOption(&Y);}
alter_db_optr(Y) ::= alter_db_optr(Z) replica(X). { Y = Z; Y.replica = strtol(X.z, NULL, 10); }
+alter_db_optr(Y) ::= alter_db_optr(Z) quorum(X). { Y = Z; Y.quorum = strtol(X.z, NULL, 10); }
alter_db_optr(Y) ::= alter_db_optr(Z) tables(X). { Y = Z; Y.maxTablesPerVnode = strtol(X.z, NULL, 10); }
alter_db_optr(Y) ::= alter_db_optr(Z) keep(X). { Y = Z; Y.keep = X; }
alter_db_optr(Y) ::= alter_db_optr(Z) blocks(X). { Y = Z; Y.numOfBlocks = strtol(X.z, NULL, 10); }
diff --git a/src/query/src/qExecutor.c b/src/query/src/qExecutor.c
index 704a383be2..6efc8a827e 100644
--- a/src/query/src/qExecutor.c
+++ b/src/query/src/qExecutor.c
@@ -6287,10 +6287,17 @@ void qDestroyQueryInfo(qinfo_t qHandle) {
freeQInfo(pQInfo);
}
-static void setQueryResultReady(SQInfo* pQInfo) {
+static bool doBuildResCheck(SQInfo* pQInfo) {
+ bool buildRes = false;
+
pthread_mutex_lock(&pQInfo->lock);
+
pQInfo->dataReady = QUERY_RESULT_READY;
+ buildRes = (pQInfo->rspContext != NULL);
+
pthread_mutex_unlock(&pQInfo->lock);
+
+ return buildRes;
}
bool qTableQuery(qinfo_t qinfo) {
@@ -6303,16 +6310,13 @@ bool qTableQuery(qinfo_t qinfo) {
if (IS_QUERY_KILLED(pQInfo)) {
qDebug("QInfo:%p it is already killed, abort", pQInfo);
- setQueryResultReady(pQInfo);
- return false;
+ return doBuildResCheck(pQInfo);
}
if (pQInfo->tableqinfoGroupInfo.numOfTables == 0) {
- setQueryStatus(pQInfo->runtimeEnv.pQuery, QUERY_COMPLETED);
- setQueryResultReady(pQInfo);
-
qDebug("QInfo:%p no table exists for query, abort", pQInfo);
- return false;
+ setQueryStatus(pQInfo->runtimeEnv.pQuery, QUERY_COMPLETED);
+ return doBuildResCheck(pQInfo);
}
// error occurs, record the error code and return to client
@@ -6320,9 +6324,7 @@ bool qTableQuery(qinfo_t qinfo) {
if (ret != TSDB_CODE_SUCCESS) {
pQInfo->code = ret;
qDebug("QInfo:%p query abort due to error/cancel occurs, code:%s", pQInfo, tstrerror(pQInfo->code));
-
- setQueryResultReady(pQInfo);
- return false;
+ return doBuildResCheck(pQInfo);
}
qDebug("QInfo:%p query task is launched", pQInfo);
@@ -6347,17 +6349,7 @@ bool qTableQuery(qinfo_t qinfo) {
pQInfo, pQuery->rec.rows, pQuery->rec.total + pQuery->rec.rows);
}
- bool buildRes = false;
- pthread_mutex_lock(&pQInfo->lock);
- pQInfo->dataReady = QUERY_RESULT_READY;
-
- if (pQInfo->rspContext != NULL) {
- buildRes = true;
- }
-
-
- pthread_mutex_unlock(&pQInfo->lock);
- return buildRes;
+ return doBuildResCheck(pQInfo);
}
int32_t qRetrieveQueryResultInfo(qinfo_t qinfo, bool* buildRes, void* pRspContext) {
@@ -6484,7 +6476,6 @@ int32_t qKillQuery(qinfo_t qinfo) {
return TSDB_CODE_QRY_INVALID_QHANDLE;
}
-// sem_post(&pQInfo->dataReady);
setQueryKilled(pQInfo);
return TSDB_CODE_SUCCESS;
}
diff --git a/src/query/src/qParserImpl.c b/src/query/src/qParserImpl.c
index 1e58dbbe0b..7cf995193b 100644
--- a/src/query/src/qParserImpl.c
+++ b/src/query/src/qParserImpl.c
@@ -907,6 +907,7 @@ void setDefaultCreateDbOption(SCreateDBInfo *pDBInfo) {
pDBInfo->daysPerFile = -1;
pDBInfo->replica = -1;
+ pDBInfo->quorum = -1;
pDBInfo->keep = NULL;
memset(&pDBInfo->precision, 0, sizeof(SSQLToken));
diff --git a/src/query/src/qTokenizer.c b/src/query/src/qTokenizer.c
index 0ea0ff7bf3..b54dc32fb3 100644
--- a/src/query/src/qTokenizer.c
+++ b/src/query/src/qTokenizer.c
@@ -116,6 +116,7 @@ static SKeyword keywordTable[] = {
{"STATE", TK_STATE},
{"KEEP", TK_KEEP},
{"REPLICA", TK_REPLICA},
+ {"QUORUM", TK_QUORUM},
{"DAYS", TK_DAYS},
{"MINROWS", TK_MINROWS},
{"MAXROWS", TK_MAXROWS},
diff --git a/src/query/src/sql.c b/src/query/src/sql.c
index 307d5203b3..fe26f61725 100644
--- a/src/query/src/sql.c
+++ b/src/query/src/sql.c
@@ -97,26 +97,26 @@
#endif
/************* Begin control #defines *****************************************/
#define YYCODETYPE unsigned short int
-#define YYNOCODE 272
+#define YYNOCODE 274
#define YYACTIONTYPE unsigned short int
#define ParseTOKENTYPE SSQLToken
typedef union {
int yyinit;
ParseTOKENTYPE yy0;
- SSubclauseInfo* yy25;
- tSQLExpr* yy66;
- SCreateAcctSQL yy73;
- int yy82;
- SQuerySQL* yy150;
- SCreateDBInfo yy158;
- TAOS_FIELD yy181;
- SLimitVal yy188;
- tSQLExprList* yy224;
- int64_t yy271;
- tVariant yy312;
- SCreateTableSQL* yy374;
- tFieldList* yy449;
- tVariantList* yy494;
+ int yy46;
+ tSQLExpr* yy64;
+ tVariant yy134;
+ SCreateAcctSQL yy149;
+ int64_t yy207;
+ SLimitVal yy216;
+ TAOS_FIELD yy223;
+ SSubclauseInfo* yy231;
+ SCreateDBInfo yy268;
+ tSQLExprList* yy290;
+ SQuerySQL* yy414;
+ SCreateTableSQL* yy470;
+ tVariantList* yy498;
+ tFieldList* yy523;
} YYMINORTYPE;
#ifndef YYSTACKDEPTH
#define YYSTACKDEPTH 100
@@ -126,17 +126,17 @@ typedef union {
#define ParseARG_FETCH SSqlInfo* pInfo = yypParser->pInfo
#define ParseARG_STORE yypParser->pInfo = pInfo
#define YYFALLBACK 1
-#define YYNSTATE 242
-#define YYNRULE 223
-#define YYNTOKEN 206
-#define YY_MAX_SHIFT 241
-#define YY_MIN_SHIFTREDUCE 401
-#define YY_MAX_SHIFTREDUCE 623
-#define YY_ERROR_ACTION 624
-#define YY_ACCEPT_ACTION 625
-#define YY_NO_ACTION 626
-#define YY_MIN_REDUCE 627
-#define YY_MAX_REDUCE 849
+#define YYNSTATE 243
+#define YYNRULE 226
+#define YYNTOKEN 207
+#define YY_MAX_SHIFT 242
+#define YY_MIN_SHIFTREDUCE 405
+#define YY_MAX_SHIFTREDUCE 630
+#define YY_ERROR_ACTION 631
+#define YY_ACCEPT_ACTION 632
+#define YY_NO_ACTION 633
+#define YY_MIN_REDUCE 634
+#define YY_MAX_REDUCE 859
/************* End control #defines *******************************************/
/* Define the yytestcase() macro to be a no-op if is not already defined
@@ -202,217 +202,218 @@ typedef union {
** yy_default[] Default action for each state.
**
*********** Begin parsing tables **********************************************/
-#define YY_ACTTAB_COUNT (547)
+#define YY_ACTTAB_COUNT (552)
static const YYACTIONTYPE yy_action[] = {
- /* 0 */ 727, 442, 726, 11, 725, 625, 241, 508, 728, 443,
- /* 10 */ 730, 731, 729, 41, 43, 524, 35, 36, 521, 134,
- /* 20 */ 522, 29, 523, 442, 197, 39, 37, 40, 38, 153,
- /* 30 */ 239, 443, 219, 34, 33, 217, 216, 32, 31, 30,
- /* 40 */ 41, 43, 757, 35, 36, 139, 170, 171, 29, 135,
- /* 50 */ 21, 197, 39, 37, 40, 38, 182, 833, 158, 837,
- /* 60 */ 34, 33, 744, 768, 32, 31, 30, 402, 403, 404,
- /* 70 */ 405, 406, 407, 408, 409, 410, 411, 412, 413, 240,
- /* 80 */ 41, 43, 846, 35, 36, 742, 60, 135, 29, 135,
- /* 90 */ 21, 197, 39, 37, 40, 38, 157, 837, 27, 836,
- /* 100 */ 34, 33, 56, 228, 32, 31, 30, 103, 43, 8,
- /* 110 */ 35, 36, 61, 113, 765, 29, 757, 525, 197, 39,
- /* 120 */ 37, 40, 38, 166, 537, 743, 579, 34, 33, 18,
- /* 130 */ 154, 32, 31, 30, 16, 234, 208, 233, 207, 206,
- /* 140 */ 205, 232, 204, 231, 230, 229, 203, 723, 168, 711,
- /* 150 */ 712, 713, 714, 715, 716, 717, 718, 719, 720, 721,
- /* 160 */ 722, 35, 36, 792, 103, 192, 29, 175, 155, 197,
- /* 170 */ 39, 37, 40, 38, 179, 178, 21, 581, 34, 33,
- /* 180 */ 442, 12, 32, 31, 30, 162, 592, 746, 443, 583,
- /* 190 */ 17, 586, 76, 589, 103, 162, 592, 26, 228, 583,
- /* 200 */ 148, 586, 99, 589, 103, 21, 88, 87, 142, 167,
- /* 210 */ 165, 743, 169, 582, 147, 214, 213, 159, 160, 50,
- /* 220 */ 791, 196, 74, 78, 83, 86, 77, 159, 160, 746,
- /* 230 */ 235, 540, 80, 162, 592, 17, 51, 583, 215, 586,
- /* 240 */ 743, 589, 26, 39, 37, 40, 38, 832, 194, 746,
- /* 250 */ 58, 34, 33, 47, 185, 32, 31, 30, 666, 831,
- /* 260 */ 59, 126, 181, 560, 561, 159, 160, 16, 234, 150,
- /* 270 */ 233, 21, 48, 585, 232, 588, 231, 230, 229, 34,
- /* 280 */ 33, 745, 42, 32, 31, 30, 116, 117, 68, 64,
- /* 290 */ 67, 151, 42, 591, 32, 31, 30, 130, 128, 91,
- /* 300 */ 90, 89, 675, 591, 220, 126, 743, 98, 590, 238,
- /* 310 */ 237, 95, 667, 152, 26, 126, 532, 584, 590, 587,
- /* 320 */ 551, 161, 552, 184, 46, 609, 14, 593, 514, 13,
- /* 330 */ 42, 13, 46, 513, 201, 73, 72, 22, 22, 10,
- /* 340 */ 9, 591, 528, 526, 529, 527, 85, 84, 802, 140,
- /* 350 */ 141, 143, 801, 144, 163, 145, 590, 146, 798, 137,
- /* 360 */ 3, 133, 138, 136, 797, 164, 759, 737, 218, 767,
- /* 370 */ 100, 784, 783, 114, 112, 115, 677, 202, 131, 24,
- /* 380 */ 211, 674, 212, 845, 70, 844, 26, 842, 118, 93,
- /* 390 */ 695, 25, 547, 23, 186, 132, 664, 79, 662, 81,
- /* 400 */ 82, 660, 659, 172, 190, 127, 657, 656, 655, 654,
- /* 410 */ 653, 645, 129, 651, 649, 647, 52, 49, 756, 771,
- /* 420 */ 104, 772, 44, 785, 195, 193, 191, 189, 187, 28,
- /* 430 */ 210, 75, 221, 222, 223, 224, 225, 226, 199, 227,
- /* 440 */ 236, 53, 623, 174, 173, 622, 62, 177, 149, 621,
- /* 450 */ 183, 65, 176, 614, 658, 180, 92, 94, 652, 121,
- /* 460 */ 125, 534, 120, 696, 741, 119, 110, 107, 105, 106,
- /* 470 */ 122, 108, 123, 2, 111, 109, 124, 1, 184, 57,
- /* 480 */ 55, 548, 156, 101, 188, 5, 553, 102, 6, 63,
- /* 490 */ 594, 19, 4, 20, 15, 198, 7, 200, 483, 479,
- /* 500 */ 477, 476, 475, 473, 446, 209, 66, 45, 69, 71,
- /* 510 */ 22, 510, 509, 507, 54, 467, 465, 457, 463, 459,
- /* 520 */ 461, 455, 453, 482, 481, 480, 478, 474, 472, 46,
- /* 530 */ 444, 417, 415, 627, 626, 626, 626, 626, 626, 626,
- /* 540 */ 626, 626, 626, 626, 626, 96, 97,
+ /* 0 */ 103, 446, 135, 673, 632, 242, 126, 515, 135, 447,
+ /* 10 */ 135, 158, 847, 41, 43, 11, 35, 36, 846, 157,
+ /* 20 */ 847, 29, 134, 446, 197, 39, 37, 40, 38, 155,
+ /* 30 */ 103, 447, 139, 34, 33, 217, 216, 32, 31, 30,
+ /* 40 */ 41, 43, 767, 35, 36, 32, 31, 30, 29, 756,
+ /* 50 */ 446, 197, 39, 37, 40, 38, 182, 802, 447, 192,
+ /* 60 */ 34, 33, 21, 21, 32, 31, 30, 406, 407, 408,
+ /* 70 */ 409, 410, 411, 412, 413, 414, 415, 416, 417, 241,
+ /* 80 */ 41, 43, 228, 35, 36, 194, 843, 58, 29, 21,
+ /* 90 */ 842, 197, 39, 37, 40, 38, 166, 167, 753, 753,
+ /* 100 */ 34, 33, 168, 56, 32, 31, 30, 778, 841, 16,
+ /* 110 */ 235, 208, 234, 233, 207, 206, 205, 232, 204, 231,
+ /* 120 */ 230, 229, 203, 215, 151, 753, 732, 586, 719, 720,
+ /* 130 */ 721, 722, 723, 724, 725, 726, 727, 728, 729, 730,
+ /* 140 */ 731, 43, 8, 35, 36, 61, 113, 21, 29, 153,
+ /* 150 */ 240, 197, 39, 37, 40, 38, 239, 238, 95, 775,
+ /* 160 */ 34, 33, 165, 99, 32, 31, 30, 169, 35, 36,
+ /* 170 */ 214, 213, 592, 29, 595, 103, 197, 39, 37, 40,
+ /* 180 */ 38, 220, 756, 753, 236, 34, 33, 175, 12, 32,
+ /* 190 */ 31, 30, 162, 599, 179, 178, 590, 767, 593, 103,
+ /* 200 */ 596, 161, 162, 599, 756, 17, 590, 148, 593, 152,
+ /* 210 */ 596, 154, 26, 88, 87, 142, 185, 567, 568, 16,
+ /* 220 */ 235, 147, 234, 233, 159, 160, 219, 232, 196, 231,
+ /* 230 */ 230, 229, 801, 76, 159, 160, 162, 599, 547, 228,
+ /* 240 */ 590, 3, 593, 17, 596, 74, 78, 83, 86, 77,
+ /* 250 */ 26, 39, 37, 40, 38, 80, 59, 754, 21, 34,
+ /* 260 */ 33, 544, 60, 32, 31, 30, 18, 140, 159, 160,
+ /* 270 */ 181, 737, 539, 736, 27, 734, 735, 150, 682, 184,
+ /* 280 */ 738, 126, 740, 741, 739, 674, 531, 141, 126, 528,
+ /* 290 */ 42, 529, 558, 530, 752, 591, 46, 594, 34, 33,
+ /* 300 */ 42, 598, 32, 31, 30, 116, 117, 68, 64, 67,
+ /* 310 */ 588, 598, 143, 50, 73, 72, 597, 170, 171, 130,
+ /* 320 */ 128, 91, 90, 89, 98, 47, 597, 144, 559, 616,
+ /* 330 */ 51, 26, 14, 13, 42, 145, 600, 521, 520, 201,
+ /* 340 */ 13, 46, 22, 22, 48, 598, 589, 10, 9, 535,
+ /* 350 */ 533, 536, 534, 85, 84, 146, 137, 133, 856, 138,
+ /* 360 */ 597, 136, 755, 812, 811, 163, 808, 807, 164, 777,
+ /* 370 */ 747, 218, 794, 100, 793, 769, 114, 115, 26, 684,
+ /* 380 */ 112, 202, 131, 183, 24, 211, 681, 212, 855, 532,
+ /* 390 */ 70, 854, 93, 852, 118, 702, 554, 25, 23, 132,
+ /* 400 */ 671, 79, 52, 186, 669, 81, 82, 667, 666, 172,
+ /* 410 */ 127, 664, 190, 663, 662, 661, 660, 652, 129, 658,
+ /* 420 */ 49, 656, 654, 766, 781, 782, 795, 104, 195, 44,
+ /* 430 */ 193, 191, 189, 187, 210, 105, 75, 28, 221, 199,
+ /* 440 */ 222, 223, 53, 225, 224, 149, 226, 62, 65, 703,
+ /* 450 */ 227, 237, 630, 173, 174, 629, 177, 665, 628, 119,
+ /* 460 */ 176, 92, 121, 125, 120, 751, 122, 123, 659, 124,
+ /* 470 */ 108, 106, 107, 109, 110, 111, 94, 1, 2, 621,
+ /* 480 */ 180, 184, 541, 55, 57, 555, 101, 156, 188, 198,
+ /* 490 */ 19, 63, 5, 560, 102, 4, 6, 601, 20, 15,
+ /* 500 */ 7, 488, 484, 200, 482, 481, 480, 477, 450, 209,
+ /* 510 */ 66, 45, 22, 69, 71, 517, 516, 514, 471, 54,
+ /* 520 */ 469, 461, 467, 463, 465, 459, 457, 487, 486, 485,
+ /* 530 */ 483, 479, 478, 476, 46, 448, 421, 419, 634, 633,
+ /* 540 */ 633, 633, 633, 633, 633, 633, 633, 633, 633, 633,
+ /* 550 */ 96, 97,
};
static const YYCODETYPE yy_lookahead[] = {
- /* 0 */ 226, 1, 228, 260, 230, 207, 208, 5, 234, 9,
- /* 10 */ 236, 237, 238, 13, 14, 2, 16, 17, 5, 260,
- /* 20 */ 7, 21, 9, 1, 24, 25, 26, 27, 28, 209,
- /* 30 */ 210, 9, 210, 33, 34, 33, 34, 37, 38, 39,
- /* 40 */ 13, 14, 244, 16, 17, 260, 33, 34, 21, 260,
- /* 50 */ 210, 24, 25, 26, 27, 28, 258, 260, 269, 270,
- /* 60 */ 33, 34, 240, 210, 37, 38, 39, 45, 46, 47,
+ /* 0 */ 211, 1, 262, 215, 208, 209, 218, 5, 262, 9,
+ /* 10 */ 262, 271, 272, 13, 14, 262, 16, 17, 272, 271,
+ /* 20 */ 272, 21, 262, 1, 24, 25, 26, 27, 28, 228,
+ /* 30 */ 211, 9, 262, 33, 34, 33, 34, 37, 38, 39,
+ /* 40 */ 13, 14, 246, 16, 17, 37, 38, 39, 21, 248,
+ /* 50 */ 1, 24, 25, 26, 27, 28, 260, 268, 9, 270,
+ /* 60 */ 33, 34, 211, 211, 37, 38, 39, 45, 46, 47,
/* 70 */ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- /* 80 */ 13, 14, 246, 16, 17, 245, 247, 260, 21, 260,
- /* 90 */ 210, 24, 25, 26, 27, 28, 269, 270, 259, 270,
- /* 100 */ 33, 34, 102, 78, 37, 38, 39, 210, 14, 98,
- /* 110 */ 16, 17, 101, 102, 261, 21, 244, 104, 24, 25,
- /* 120 */ 26, 27, 28, 243, 103, 245, 99, 33, 34, 108,
- /* 130 */ 258, 37, 38, 39, 85, 86, 87, 88, 89, 90,
- /* 140 */ 91, 92, 93, 94, 95, 96, 97, 226, 63, 228,
- /* 150 */ 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
- /* 160 */ 239, 16, 17, 266, 210, 268, 21, 126, 227, 24,
- /* 170 */ 25, 26, 27, 28, 133, 134, 210, 1, 33, 34,
- /* 180 */ 1, 44, 37, 38, 39, 1, 2, 246, 9, 5,
- /* 190 */ 98, 7, 72, 9, 210, 1, 2, 105, 78, 5,
- /* 200 */ 63, 7, 210, 9, 210, 210, 69, 70, 71, 243,
- /* 210 */ 227, 245, 127, 37, 77, 130, 131, 33, 34, 103,
- /* 220 */ 266, 37, 64, 65, 66, 67, 68, 33, 34, 246,
- /* 230 */ 227, 37, 74, 1, 2, 98, 120, 5, 243, 7,
- /* 240 */ 245, 9, 105, 25, 26, 27, 28, 260, 264, 246,
- /* 250 */ 266, 33, 34, 103, 262, 37, 38, 39, 214, 260,
- /* 260 */ 266, 217, 125, 115, 116, 33, 34, 85, 86, 132,
- /* 270 */ 88, 210, 122, 5, 92, 7, 94, 95, 96, 33,
- /* 280 */ 34, 246, 98, 37, 38, 39, 64, 65, 66, 67,
- /* 290 */ 68, 260, 98, 109, 37, 38, 39, 64, 65, 66,
- /* 300 */ 67, 68, 214, 109, 243, 217, 245, 98, 124, 60,
- /* 310 */ 61, 62, 214, 260, 105, 217, 99, 5, 124, 7,
- /* 320 */ 99, 59, 99, 106, 103, 99, 103, 99, 99, 103,
- /* 330 */ 98, 103, 103, 99, 99, 128, 129, 103, 103, 128,
- /* 340 */ 129, 109, 5, 5, 7, 7, 72, 73, 241, 260,
- /* 350 */ 260, 260, 241, 260, 241, 260, 124, 260, 241, 260,
- /* 360 */ 98, 260, 260, 260, 241, 241, 244, 242, 241, 210,
- /* 370 */ 210, 267, 267, 210, 248, 210, 210, 210, 210, 210,
- /* 380 */ 210, 210, 210, 210, 210, 210, 105, 210, 210, 59,
- /* 390 */ 210, 210, 109, 210, 263, 210, 210, 210, 210, 210,
- /* 400 */ 210, 210, 210, 210, 263, 210, 210, 210, 210, 210,
- /* 410 */ 210, 210, 210, 210, 210, 210, 119, 121, 257, 211,
- /* 420 */ 256, 211, 118, 211, 113, 117, 112, 111, 110, 123,
- /* 430 */ 75, 84, 83, 49, 80, 82, 53, 81, 211, 79,
- /* 440 */ 75, 211, 5, 5, 135, 5, 215, 5, 211, 5,
- /* 450 */ 244, 215, 135, 87, 211, 126, 212, 212, 211, 219,
- /* 460 */ 218, 99, 223, 225, 244, 224, 250, 253, 255, 254,
- /* 470 */ 222, 252, 220, 213, 249, 251, 221, 216, 106, 103,
- /* 480 */ 107, 99, 1, 98, 98, 114, 99, 98, 114, 72,
- /* 490 */ 99, 103, 98, 103, 98, 100, 98, 100, 9, 5,
- /* 500 */ 5, 5, 5, 5, 76, 15, 72, 16, 129, 129,
- /* 510 */ 103, 5, 5, 99, 98, 5, 5, 5, 5, 5,
- /* 520 */ 5, 5, 5, 5, 5, 5, 5, 5, 5, 103,
- /* 530 */ 76, 59, 58, 0, 271, 271, 271, 271, 271, 271,
- /* 540 */ 271, 271, 271, 271, 271, 21, 21, 271, 271, 271,
- /* 550 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- /* 560 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- /* 570 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- /* 580 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- /* 590 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- /* 600 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- /* 610 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- /* 620 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- /* 630 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- /* 640 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- /* 650 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- /* 660 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- /* 670 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- /* 680 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- /* 690 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- /* 700 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- /* 710 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- /* 720 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- /* 730 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- /* 740 */ 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- /* 750 */ 271, 271, 271,
+ /* 80 */ 13, 14, 78, 16, 17, 266, 262, 268, 21, 211,
+ /* 90 */ 262, 24, 25, 26, 27, 28, 245, 245, 247, 247,
+ /* 100 */ 33, 34, 63, 103, 37, 38, 39, 211, 262, 85,
+ /* 110 */ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ /* 120 */ 96, 97, 98, 245, 262, 247, 227, 100, 229, 230,
+ /* 130 */ 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
+ /* 140 */ 241, 14, 99, 16, 17, 102, 103, 211, 21, 210,
+ /* 150 */ 211, 24, 25, 26, 27, 28, 60, 61, 62, 263,
+ /* 160 */ 33, 34, 228, 211, 37, 38, 39, 128, 16, 17,
+ /* 170 */ 131, 132, 5, 21, 7, 211, 24, 25, 26, 27,
+ /* 180 */ 28, 245, 248, 247, 228, 33, 34, 127, 44, 37,
+ /* 190 */ 38, 39, 1, 2, 134, 135, 5, 246, 7, 211,
+ /* 200 */ 9, 59, 1, 2, 248, 99, 5, 63, 7, 262,
+ /* 210 */ 9, 260, 106, 69, 70, 71, 264, 116, 117, 85,
+ /* 220 */ 86, 77, 88, 89, 33, 34, 211, 93, 37, 95,
+ /* 230 */ 96, 97, 268, 72, 33, 34, 1, 2, 37, 78,
+ /* 240 */ 5, 99, 7, 99, 9, 64, 65, 66, 67, 68,
+ /* 250 */ 106, 25, 26, 27, 28, 74, 268, 242, 211, 33,
+ /* 260 */ 34, 104, 249, 37, 38, 39, 109, 262, 33, 34,
+ /* 270 */ 126, 227, 100, 229, 261, 231, 232, 133, 215, 107,
+ /* 280 */ 236, 218, 238, 239, 240, 215, 2, 262, 218, 5,
+ /* 290 */ 99, 7, 100, 9, 247, 5, 104, 7, 33, 34,
+ /* 300 */ 99, 110, 37, 38, 39, 64, 65, 66, 67, 68,
+ /* 310 */ 1, 110, 262, 104, 129, 130, 125, 33, 34, 64,
+ /* 320 */ 65, 66, 67, 68, 99, 104, 125, 262, 100, 100,
+ /* 330 */ 121, 106, 104, 104, 99, 262, 100, 100, 100, 100,
+ /* 340 */ 104, 104, 104, 104, 123, 110, 37, 129, 130, 5,
+ /* 350 */ 5, 7, 7, 72, 73, 262, 262, 262, 248, 262,
+ /* 360 */ 125, 262, 248, 243, 243, 243, 243, 243, 243, 211,
+ /* 370 */ 244, 243, 269, 211, 269, 246, 211, 211, 106, 211,
+ /* 380 */ 250, 211, 211, 246, 211, 211, 211, 211, 211, 105,
+ /* 390 */ 211, 211, 59, 211, 211, 211, 110, 211, 211, 211,
+ /* 400 */ 211, 211, 120, 265, 211, 211, 211, 211, 211, 211,
+ /* 410 */ 211, 211, 265, 211, 211, 211, 211, 211, 211, 211,
+ /* 420 */ 122, 211, 211, 259, 212, 212, 212, 258, 114, 119,
+ /* 430 */ 118, 113, 112, 111, 75, 257, 84, 124, 83, 212,
+ /* 440 */ 49, 80, 212, 53, 82, 212, 81, 216, 216, 226,
+ /* 450 */ 79, 75, 5, 136, 5, 5, 5, 212, 5, 225,
+ /* 460 */ 136, 213, 220, 219, 224, 246, 223, 221, 212, 222,
+ /* 470 */ 254, 256, 255, 253, 252, 251, 213, 217, 214, 87,
+ /* 480 */ 127, 107, 100, 108, 104, 100, 99, 1, 99, 101,
+ /* 490 */ 104, 72, 115, 100, 99, 99, 115, 100, 104, 99,
+ /* 500 */ 99, 9, 5, 101, 5, 5, 5, 5, 76, 15,
+ /* 510 */ 72, 16, 104, 130, 130, 5, 5, 100, 5, 99,
+ /* 520 */ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ /* 530 */ 5, 5, 5, 5, 104, 76, 59, 58, 0, 273,
+ /* 540 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
+ /* 550 */ 21, 21, 273, 273, 273, 273, 273, 273, 273, 273,
+ /* 560 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
+ /* 570 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
+ /* 580 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
+ /* 590 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
+ /* 600 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
+ /* 610 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
+ /* 620 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
+ /* 630 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
+ /* 640 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
+ /* 650 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
+ /* 660 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
+ /* 670 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
+ /* 680 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
+ /* 690 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
+ /* 700 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
+ /* 710 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
+ /* 720 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
+ /* 730 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
+ /* 740 */ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
+ /* 750 */ 273, 273, 273, 273, 273, 273, 273, 273, 273,
};
-#define YY_SHIFT_COUNT (241)
+#define YY_SHIFT_COUNT (242)
#define YY_SHIFT_MIN (0)
-#define YY_SHIFT_MAX (533)
+#define YY_SHIFT_MAX (538)
static const unsigned short int yy_shift_ofst[] = {
- /* 0 */ 137, 49, 182, 184, 232, 179, 179, 179, 179, 179,
- /* 10 */ 179, 0, 22, 232, 13, 13, 13, 92, 179, 179,
- /* 20 */ 179, 179, 179, 120, 25, 25, 547, 194, 232, 232,
- /* 30 */ 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
- /* 40 */ 232, 232, 232, 232, 232, 13, 13, 2, 2, 2,
- /* 50 */ 2, 2, 2, 11, 2, 209, 179, 179, 148, 148,
- /* 60 */ 21, 179, 179, 179, 179, 179, 179, 179, 179, 179,
- /* 70 */ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
- /* 80 */ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
- /* 90 */ 179, 179, 179, 179, 179, 179, 179, 179, 281, 330,
- /* 100 */ 330, 283, 283, 330, 297, 296, 304, 311, 308, 314,
- /* 110 */ 316, 318, 306, 281, 330, 330, 355, 355, 330, 347,
- /* 120 */ 349, 384, 354, 353, 383, 356, 360, 330, 365, 330,
- /* 130 */ 365, 547, 547, 27, 67, 67, 67, 94, 145, 218,
- /* 140 */ 218, 218, 158, 246, 246, 246, 246, 222, 233, 85,
- /* 150 */ 41, 257, 257, 249, 217, 221, 223, 226, 228, 268,
- /* 160 */ 312, 176, 262, 150, 116, 229, 234, 235, 207, 211,
- /* 170 */ 337, 338, 274, 437, 309, 438, 440, 317, 442, 444,
- /* 180 */ 366, 329, 372, 362, 373, 376, 382, 385, 481, 386,
- /* 190 */ 387, 389, 388, 371, 390, 374, 391, 394, 396, 395,
- /* 200 */ 398, 397, 417, 489, 494, 495, 496, 497, 498, 428,
- /* 210 */ 490, 434, 491, 379, 380, 407, 506, 507, 414, 416,
- /* 220 */ 407, 510, 511, 512, 513, 514, 515, 516, 517, 518,
- /* 230 */ 519, 520, 521, 522, 523, 426, 454, 524, 525, 472,
- /* 240 */ 474, 533,
+ /* 0 */ 144, 24, 134, 191, 235, 49, 49, 49, 49, 49,
+ /* 10 */ 49, 0, 22, 235, 284, 284, 284, 106, 49, 49,
+ /* 20 */ 49, 49, 49, 161, 4, 4, 552, 201, 235, 235,
+ /* 30 */ 235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
+ /* 40 */ 235, 235, 235, 235, 235, 284, 284, 2, 2, 2,
+ /* 50 */ 2, 2, 2, 43, 2, 225, 49, 49, 101, 101,
+ /* 60 */ 157, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+ /* 70 */ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+ /* 80 */ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+ /* 90 */ 49, 49, 49, 49, 49, 49, 49, 49, 272, 333,
+ /* 100 */ 333, 286, 286, 333, 282, 298, 310, 314, 312, 318,
+ /* 110 */ 320, 322, 313, 272, 333, 333, 359, 359, 333, 352,
+ /* 120 */ 355, 391, 361, 362, 390, 365, 371, 333, 376, 333,
+ /* 130 */ 376, 552, 552, 27, 67, 67, 67, 127, 152, 226,
+ /* 140 */ 226, 226, 181, 265, 265, 265, 265, 241, 255, 39,
+ /* 150 */ 60, 8, 8, 96, 172, 192, 228, 229, 236, 167,
+ /* 160 */ 290, 309, 142, 221, 209, 237, 238, 239, 185, 218,
+ /* 170 */ 344, 345, 281, 447, 317, 449, 450, 324, 451, 453,
+ /* 180 */ 392, 353, 374, 382, 375, 380, 385, 387, 486, 389,
+ /* 190 */ 393, 395, 386, 377, 394, 381, 397, 396, 400, 388,
+ /* 200 */ 401, 402, 419, 492, 497, 499, 500, 501, 502, 432,
+ /* 210 */ 494, 438, 495, 383, 384, 408, 510, 511, 417, 420,
+ /* 220 */ 408, 513, 515, 516, 517, 518, 519, 520, 521, 522,
+ /* 230 */ 523, 524, 525, 526, 527, 528, 430, 459, 529, 530,
+ /* 240 */ 477, 479, 538,
};
#define YY_REDUCE_COUNT (132)
-#define YY_REDUCE_MIN (-257)
-#define YY_REDUCE_MAX (261)
+#define YY_REDUCE_MIN (-260)
+#define YY_REDUCE_MAX (264)
static const short yy_reduce_ofst[] = {
- /* 0 */ -202, -79, -226, -211, -173, -103, -16, -120, -34, -5,
- /* 10 */ 61, -147, -180, -171, -59, -17, 3, -128, -8, -46,
- /* 20 */ -6, -178, -160, 44, 88, 98, -161, -257, -241, -215,
- /* 30 */ -203, -13, -1, 31, 53, 89, 90, 91, 93, 95,
- /* 40 */ 97, 99, 101, 102, 103, -164, 35, 107, 111, 113,
- /* 50 */ 117, 123, 124, 125, 127, 122, 159, 160, 104, 105,
- /* 60 */ 126, 163, 165, 166, 167, 168, 169, 170, 171, 172,
- /* 70 */ 173, 174, 175, 177, 178, 180, 181, 183, 185, 186,
- /* 80 */ 187, 188, 189, 190, 191, 192, 193, 195, 196, 197,
- /* 90 */ 198, 199, 200, 201, 202, 203, 204, 205, 206, 208,
- /* 100 */ 210, 131, 141, 212, 161, 164, 213, 215, 214, 219,
- /* 110 */ 224, 216, 225, 220, 227, 230, 231, 236, 237, 238,
- /* 120 */ 241, 239, 240, 248, 252, 255, 242, 243, 244, 247,
- /* 130 */ 245, 261, 260,
+ /* 0 */ -204, -101, 44, -260, -252, -211, -181, -149, -148, -122,
+ /* 10 */ -64, -104, -61, -254, -199, -66, -44, -49, -48, -36,
+ /* 20 */ -12, 15, 47, -212, 63, 70, 13, -247, -240, -230,
+ /* 30 */ -176, -172, -154, -138, -53, 5, 25, 50, 65, 73,
+ /* 40 */ 93, 94, 95, 97, 99, 110, 114, 120, 121, 122,
+ /* 50 */ 123, 124, 125, 126, 128, 129, 158, 162, 103, 105,
+ /* 60 */ 130, 165, 166, 168, 170, 171, 173, 174, 175, 176,
+ /* 70 */ 177, 179, 180, 182, 183, 184, 186, 187, 188, 189,
+ /* 80 */ 190, 193, 194, 195, 196, 197, 198, 199, 200, 202,
+ /* 90 */ 203, 204, 205, 206, 207, 208, 210, 211, 137, 212,
+ /* 100 */ 213, 138, 147, 214, 164, 169, 178, 215, 217, 216,
+ /* 110 */ 220, 222, 224, 219, 227, 230, 231, 232, 233, 223,
+ /* 120 */ 234, 240, 242, 243, 246, 247, 244, 245, 248, 256,
+ /* 130 */ 263, 260, 264,
};
static const YYACTIONTYPE yy_default[] = {
- /* 0 */ 624, 676, 665, 839, 839, 624, 624, 624, 624, 624,
- /* 10 */ 624, 769, 642, 839, 624, 624, 624, 624, 624, 624,
- /* 20 */ 624, 624, 624, 678, 678, 678, 764, 624, 624, 624,
- /* 30 */ 624, 624, 624, 624, 624, 624, 624, 624, 624, 624,
- /* 40 */ 624, 624, 624, 624, 624, 624, 624, 624, 624, 624,
- /* 50 */ 624, 624, 624, 624, 624, 624, 624, 624, 788, 788,
- /* 60 */ 762, 624, 624, 624, 624, 624, 624, 624, 624, 624,
- /* 70 */ 624, 624, 624, 624, 624, 624, 624, 624, 624, 663,
- /* 80 */ 624, 661, 624, 624, 624, 624, 624, 624, 624, 624,
- /* 90 */ 624, 624, 624, 624, 624, 650, 624, 624, 624, 644,
- /* 100 */ 644, 624, 624, 644, 795, 799, 793, 781, 789, 780,
- /* 110 */ 776, 775, 803, 624, 644, 644, 673, 673, 644, 694,
- /* 120 */ 692, 690, 682, 688, 684, 686, 680, 644, 671, 644,
- /* 130 */ 671, 710, 724, 624, 804, 838, 794, 822, 821, 834,
- /* 140 */ 828, 827, 624, 826, 825, 824, 823, 624, 624, 624,
- /* 150 */ 624, 830, 829, 624, 624, 624, 624, 624, 624, 624,
- /* 160 */ 624, 624, 806, 800, 796, 624, 624, 624, 624, 624,
- /* 170 */ 624, 624, 624, 624, 624, 624, 624, 624, 624, 624,
- /* 180 */ 624, 624, 761, 624, 624, 770, 624, 624, 624, 624,
- /* 190 */ 624, 624, 790, 624, 782, 624, 624, 624, 624, 624,
- /* 200 */ 624, 738, 624, 624, 624, 624, 624, 624, 624, 624,
- /* 210 */ 624, 624, 624, 624, 624, 843, 624, 624, 624, 732,
- /* 220 */ 841, 624, 624, 624, 624, 624, 624, 624, 624, 624,
- /* 230 */ 624, 624, 624, 624, 624, 697, 624, 648, 646, 624,
- /* 240 */ 640, 624,
+ /* 0 */ 631, 683, 672, 849, 849, 631, 631, 631, 631, 631,
+ /* 10 */ 631, 779, 649, 849, 631, 631, 631, 631, 631, 631,
+ /* 20 */ 631, 631, 631, 685, 685, 685, 774, 631, 631, 631,
+ /* 30 */ 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
+ /* 40 */ 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
+ /* 50 */ 631, 631, 631, 631, 631, 631, 631, 631, 798, 798,
+ /* 60 */ 772, 631, 631, 631, 631, 631, 631, 631, 631, 631,
+ /* 70 */ 631, 631, 631, 631, 631, 631, 631, 631, 631, 670,
+ /* 80 */ 631, 668, 631, 631, 631, 631, 631, 631, 631, 631,
+ /* 90 */ 631, 631, 631, 631, 631, 657, 631, 631, 631, 651,
+ /* 100 */ 651, 631, 631, 651, 805, 809, 803, 791, 799, 790,
+ /* 110 */ 786, 785, 813, 631, 651, 651, 680, 680, 651, 701,
+ /* 120 */ 699, 697, 689, 695, 691, 693, 687, 651, 678, 651,
+ /* 130 */ 678, 718, 733, 631, 814, 848, 804, 832, 831, 844,
+ /* 140 */ 838, 837, 631, 836, 835, 834, 833, 631, 631, 631,
+ /* 150 */ 631, 840, 839, 631, 631, 631, 631, 631, 631, 631,
+ /* 160 */ 631, 631, 816, 810, 806, 631, 631, 631, 631, 631,
+ /* 170 */ 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
+ /* 180 */ 631, 631, 771, 631, 631, 780, 631, 631, 631, 631,
+ /* 190 */ 631, 631, 800, 631, 792, 631, 631, 631, 631, 631,
+ /* 200 */ 631, 748, 631, 631, 631, 631, 631, 631, 631, 631,
+ /* 210 */ 631, 631, 631, 631, 631, 853, 631, 631, 631, 742,
+ /* 220 */ 851, 631, 631, 631, 631, 631, 631, 631, 631, 631,
+ /* 230 */ 631, 631, 631, 631, 631, 631, 704, 631, 655, 653,
+ /* 240 */ 631, 647, 631,
};
/********** End of lemon-generated parsing tables *****************************/
@@ -521,6 +522,7 @@ static const YYCODETYPE yyFallback[] = {
0, /* MAXTABLES => nothing */
0, /* CACHE => nothing */
0, /* REPLICA => nothing */
+ 0, /* QUORUM => nothing */
0, /* DAYS => nothing */
0, /* MINROWS => nothing */
0, /* MAXROWS => nothing */
@@ -813,188 +815,190 @@ static const char *const yyTokenName[] = {
/* 86 */ "MAXTABLES",
/* 87 */ "CACHE",
/* 88 */ "REPLICA",
- /* 89 */ "DAYS",
- /* 90 */ "MINROWS",
- /* 91 */ "MAXROWS",
- /* 92 */ "BLOCKS",
- /* 93 */ "CTIME",
- /* 94 */ "WAL",
- /* 95 */ "FSYNC",
- /* 96 */ "COMP",
- /* 97 */ "PRECISION",
- /* 98 */ "LP",
- /* 99 */ "RP",
- /* 100 */ "TAGS",
- /* 101 */ "USING",
- /* 102 */ "AS",
- /* 103 */ "COMMA",
- /* 104 */ "NULL",
- /* 105 */ "SELECT",
- /* 106 */ "UNION",
- /* 107 */ "ALL",
- /* 108 */ "FROM",
- /* 109 */ "VARIABLE",
- /* 110 */ "INTERVAL",
- /* 111 */ "FILL",
- /* 112 */ "SLIDING",
- /* 113 */ "ORDER",
- /* 114 */ "BY",
- /* 115 */ "ASC",
- /* 116 */ "DESC",
- /* 117 */ "GROUP",
- /* 118 */ "HAVING",
- /* 119 */ "LIMIT",
- /* 120 */ "OFFSET",
- /* 121 */ "SLIMIT",
- /* 122 */ "SOFFSET",
- /* 123 */ "WHERE",
- /* 124 */ "NOW",
- /* 125 */ "RESET",
- /* 126 */ "QUERY",
- /* 127 */ "ADD",
- /* 128 */ "COLUMN",
- /* 129 */ "TAG",
- /* 130 */ "CHANGE",
- /* 131 */ "SET",
- /* 132 */ "KILL",
- /* 133 */ "CONNECTION",
- /* 134 */ "STREAM",
- /* 135 */ "COLON",
- /* 136 */ "ABORT",
- /* 137 */ "AFTER",
- /* 138 */ "ATTACH",
- /* 139 */ "BEFORE",
- /* 140 */ "BEGIN",
- /* 141 */ "CASCADE",
- /* 142 */ "CLUSTER",
- /* 143 */ "CONFLICT",
- /* 144 */ "COPY",
- /* 145 */ "DEFERRED",
- /* 146 */ "DELIMITERS",
- /* 147 */ "DETACH",
- /* 148 */ "EACH",
- /* 149 */ "END",
- /* 150 */ "EXPLAIN",
- /* 151 */ "FAIL",
- /* 152 */ "FOR",
- /* 153 */ "IGNORE",
- /* 154 */ "IMMEDIATE",
- /* 155 */ "INITIALLY",
- /* 156 */ "INSTEAD",
- /* 157 */ "MATCH",
- /* 158 */ "KEY",
- /* 159 */ "OF",
- /* 160 */ "RAISE",
- /* 161 */ "REPLACE",
- /* 162 */ "RESTRICT",
- /* 163 */ "ROW",
- /* 164 */ "STATEMENT",
- /* 165 */ "TRIGGER",
- /* 166 */ "VIEW",
- /* 167 */ "COUNT",
- /* 168 */ "SUM",
- /* 169 */ "AVG",
- /* 170 */ "MIN",
- /* 171 */ "MAX",
- /* 172 */ "FIRST",
- /* 173 */ "LAST",
- /* 174 */ "TOP",
- /* 175 */ "BOTTOM",
- /* 176 */ "STDDEV",
- /* 177 */ "PERCENTILE",
- /* 178 */ "APERCENTILE",
- /* 179 */ "LEASTSQUARES",
- /* 180 */ "HISTOGRAM",
- /* 181 */ "DIFF",
- /* 182 */ "SPREAD",
- /* 183 */ "TWA",
- /* 184 */ "INTERP",
- /* 185 */ "LAST_ROW",
- /* 186 */ "RATE",
- /* 187 */ "IRATE",
- /* 188 */ "SUM_RATE",
- /* 189 */ "SUM_IRATE",
- /* 190 */ "AVG_RATE",
- /* 191 */ "AVG_IRATE",
- /* 192 */ "TBID",
- /* 193 */ "SEMI",
- /* 194 */ "NONE",
- /* 195 */ "PREV",
- /* 196 */ "LINEAR",
- /* 197 */ "IMPORT",
- /* 198 */ "METRIC",
- /* 199 */ "TBNAME",
- /* 200 */ "JOIN",
- /* 201 */ "METRICS",
- /* 202 */ "STABLE",
- /* 203 */ "INSERT",
- /* 204 */ "INTO",
- /* 205 */ "VALUES",
- /* 206 */ "error",
- /* 207 */ "program",
- /* 208 */ "cmd",
- /* 209 */ "dbPrefix",
- /* 210 */ "ids",
- /* 211 */ "cpxName",
- /* 212 */ "ifexists",
- /* 213 */ "alter_db_optr",
- /* 214 */ "acct_optr",
- /* 215 */ "ifnotexists",
- /* 216 */ "db_optr",
- /* 217 */ "pps",
- /* 218 */ "tseries",
- /* 219 */ "dbs",
- /* 220 */ "streams",
- /* 221 */ "storage",
- /* 222 */ "qtime",
- /* 223 */ "users",
- /* 224 */ "conns",
- /* 225 */ "state",
- /* 226 */ "keep",
- /* 227 */ "tagitemlist",
- /* 228 */ "tables",
- /* 229 */ "cache",
- /* 230 */ "replica",
- /* 231 */ "days",
- /* 232 */ "minrows",
- /* 233 */ "maxrows",
- /* 234 */ "blocks",
- /* 235 */ "ctime",
- /* 236 */ "wal",
- /* 237 */ "fsync",
- /* 238 */ "comp",
- /* 239 */ "prec",
- /* 240 */ "typename",
- /* 241 */ "signed",
- /* 242 */ "create_table_args",
- /* 243 */ "columnlist",
- /* 244 */ "select",
- /* 245 */ "column",
- /* 246 */ "tagitem",
- /* 247 */ "selcollist",
- /* 248 */ "from",
- /* 249 */ "where_opt",
- /* 250 */ "interval_opt",
- /* 251 */ "fill_opt",
- /* 252 */ "sliding_opt",
- /* 253 */ "groupby_opt",
- /* 254 */ "orderby_opt",
- /* 255 */ "having_opt",
- /* 256 */ "slimit_opt",
- /* 257 */ "limit_opt",
- /* 258 */ "union",
- /* 259 */ "sclp",
- /* 260 */ "expr",
- /* 261 */ "as",
- /* 262 */ "tablelist",
- /* 263 */ "tmvar",
- /* 264 */ "sortlist",
- /* 265 */ "sortitem",
- /* 266 */ "item",
- /* 267 */ "sortorder",
- /* 268 */ "grouplist",
- /* 269 */ "exprlist",
- /* 270 */ "expritem",
+ /* 89 */ "QUORUM",
+ /* 90 */ "DAYS",
+ /* 91 */ "MINROWS",
+ /* 92 */ "MAXROWS",
+ /* 93 */ "BLOCKS",
+ /* 94 */ "CTIME",
+ /* 95 */ "WAL",
+ /* 96 */ "FSYNC",
+ /* 97 */ "COMP",
+ /* 98 */ "PRECISION",
+ /* 99 */ "LP",
+ /* 100 */ "RP",
+ /* 101 */ "TAGS",
+ /* 102 */ "USING",
+ /* 103 */ "AS",
+ /* 104 */ "COMMA",
+ /* 105 */ "NULL",
+ /* 106 */ "SELECT",
+ /* 107 */ "UNION",
+ /* 108 */ "ALL",
+ /* 109 */ "FROM",
+ /* 110 */ "VARIABLE",
+ /* 111 */ "INTERVAL",
+ /* 112 */ "FILL",
+ /* 113 */ "SLIDING",
+ /* 114 */ "ORDER",
+ /* 115 */ "BY",
+ /* 116 */ "ASC",
+ /* 117 */ "DESC",
+ /* 118 */ "GROUP",
+ /* 119 */ "HAVING",
+ /* 120 */ "LIMIT",
+ /* 121 */ "OFFSET",
+ /* 122 */ "SLIMIT",
+ /* 123 */ "SOFFSET",
+ /* 124 */ "WHERE",
+ /* 125 */ "NOW",
+ /* 126 */ "RESET",
+ /* 127 */ "QUERY",
+ /* 128 */ "ADD",
+ /* 129 */ "COLUMN",
+ /* 130 */ "TAG",
+ /* 131 */ "CHANGE",
+ /* 132 */ "SET",
+ /* 133 */ "KILL",
+ /* 134 */ "CONNECTION",
+ /* 135 */ "STREAM",
+ /* 136 */ "COLON",
+ /* 137 */ "ABORT",
+ /* 138 */ "AFTER",
+ /* 139 */ "ATTACH",
+ /* 140 */ "BEFORE",
+ /* 141 */ "BEGIN",
+ /* 142 */ "CASCADE",
+ /* 143 */ "CLUSTER",
+ /* 144 */ "CONFLICT",
+ /* 145 */ "COPY",
+ /* 146 */ "DEFERRED",
+ /* 147 */ "DELIMITERS",
+ /* 148 */ "DETACH",
+ /* 149 */ "EACH",
+ /* 150 */ "END",
+ /* 151 */ "EXPLAIN",
+ /* 152 */ "FAIL",
+ /* 153 */ "FOR",
+ /* 154 */ "IGNORE",
+ /* 155 */ "IMMEDIATE",
+ /* 156 */ "INITIALLY",
+ /* 157 */ "INSTEAD",
+ /* 158 */ "MATCH",
+ /* 159 */ "KEY",
+ /* 160 */ "OF",
+ /* 161 */ "RAISE",
+ /* 162 */ "REPLACE",
+ /* 163 */ "RESTRICT",
+ /* 164 */ "ROW",
+ /* 165 */ "STATEMENT",
+ /* 166 */ "TRIGGER",
+ /* 167 */ "VIEW",
+ /* 168 */ "COUNT",
+ /* 169 */ "SUM",
+ /* 170 */ "AVG",
+ /* 171 */ "MIN",
+ /* 172 */ "MAX",
+ /* 173 */ "FIRST",
+ /* 174 */ "LAST",
+ /* 175 */ "TOP",
+ /* 176 */ "BOTTOM",
+ /* 177 */ "STDDEV",
+ /* 178 */ "PERCENTILE",
+ /* 179 */ "APERCENTILE",
+ /* 180 */ "LEASTSQUARES",
+ /* 181 */ "HISTOGRAM",
+ /* 182 */ "DIFF",
+ /* 183 */ "SPREAD",
+ /* 184 */ "TWA",
+ /* 185 */ "INTERP",
+ /* 186 */ "LAST_ROW",
+ /* 187 */ "RATE",
+ /* 188 */ "IRATE",
+ /* 189 */ "SUM_RATE",
+ /* 190 */ "SUM_IRATE",
+ /* 191 */ "AVG_RATE",
+ /* 192 */ "AVG_IRATE",
+ /* 193 */ "TBID",
+ /* 194 */ "SEMI",
+ /* 195 */ "NONE",
+ /* 196 */ "PREV",
+ /* 197 */ "LINEAR",
+ /* 198 */ "IMPORT",
+ /* 199 */ "METRIC",
+ /* 200 */ "TBNAME",
+ /* 201 */ "JOIN",
+ /* 202 */ "METRICS",
+ /* 203 */ "STABLE",
+ /* 204 */ "INSERT",
+ /* 205 */ "INTO",
+ /* 206 */ "VALUES",
+ /* 207 */ "error",
+ /* 208 */ "program",
+ /* 209 */ "cmd",
+ /* 210 */ "dbPrefix",
+ /* 211 */ "ids",
+ /* 212 */ "cpxName",
+ /* 213 */ "ifexists",
+ /* 214 */ "alter_db_optr",
+ /* 215 */ "acct_optr",
+ /* 216 */ "ifnotexists",
+ /* 217 */ "db_optr",
+ /* 218 */ "pps",
+ /* 219 */ "tseries",
+ /* 220 */ "dbs",
+ /* 221 */ "streams",
+ /* 222 */ "storage",
+ /* 223 */ "qtime",
+ /* 224 */ "users",
+ /* 225 */ "conns",
+ /* 226 */ "state",
+ /* 227 */ "keep",
+ /* 228 */ "tagitemlist",
+ /* 229 */ "tables",
+ /* 230 */ "cache",
+ /* 231 */ "replica",
+ /* 232 */ "quorum",
+ /* 233 */ "days",
+ /* 234 */ "minrows",
+ /* 235 */ "maxrows",
+ /* 236 */ "blocks",
+ /* 237 */ "ctime",
+ /* 238 */ "wal",
+ /* 239 */ "fsync",
+ /* 240 */ "comp",
+ /* 241 */ "prec",
+ /* 242 */ "typename",
+ /* 243 */ "signed",
+ /* 244 */ "create_table_args",
+ /* 245 */ "columnlist",
+ /* 246 */ "select",
+ /* 247 */ "column",
+ /* 248 */ "tagitem",
+ /* 249 */ "selcollist",
+ /* 250 */ "from",
+ /* 251 */ "where_opt",
+ /* 252 */ "interval_opt",
+ /* 253 */ "fill_opt",
+ /* 254 */ "sliding_opt",
+ /* 255 */ "groupby_opt",
+ /* 256 */ "orderby_opt",
+ /* 257 */ "having_opt",
+ /* 258 */ "slimit_opt",
+ /* 259 */ "limit_opt",
+ /* 260 */ "union",
+ /* 261 */ "sclp",
+ /* 262 */ "expr",
+ /* 263 */ "as",
+ /* 264 */ "tablelist",
+ /* 265 */ "tmvar",
+ /* 266 */ "sortlist",
+ /* 267 */ "sortitem",
+ /* 268 */ "item",
+ /* 269 */ "sortorder",
+ /* 270 */ "grouplist",
+ /* 271 */ "exprlist",
+ /* 272 */ "expritem",
};
#endif /* defined(YYCOVERAGE) || !defined(NDEBUG) */
@@ -1076,155 +1080,158 @@ static const char *const yyRuleName[] = {
/* 71 */ "tables ::= MAXTABLES INTEGER",
/* 72 */ "cache ::= CACHE INTEGER",
/* 73 */ "replica ::= REPLICA INTEGER",
- /* 74 */ "days ::= DAYS INTEGER",
- /* 75 */ "minrows ::= MINROWS INTEGER",
- /* 76 */ "maxrows ::= MAXROWS INTEGER",
- /* 77 */ "blocks ::= BLOCKS INTEGER",
- /* 78 */ "ctime ::= CTIME INTEGER",
- /* 79 */ "wal ::= WAL INTEGER",
- /* 80 */ "fsync ::= FSYNC INTEGER",
- /* 81 */ "comp ::= COMP INTEGER",
- /* 82 */ "prec ::= PRECISION STRING",
- /* 83 */ "db_optr ::=",
- /* 84 */ "db_optr ::= db_optr tables",
- /* 85 */ "db_optr ::= db_optr cache",
- /* 86 */ "db_optr ::= db_optr replica",
- /* 87 */ "db_optr ::= db_optr days",
- /* 88 */ "db_optr ::= db_optr minrows",
- /* 89 */ "db_optr ::= db_optr maxrows",
- /* 90 */ "db_optr ::= db_optr blocks",
- /* 91 */ "db_optr ::= db_optr ctime",
- /* 92 */ "db_optr ::= db_optr wal",
- /* 93 */ "db_optr ::= db_optr fsync",
- /* 94 */ "db_optr ::= db_optr comp",
- /* 95 */ "db_optr ::= db_optr prec",
- /* 96 */ "db_optr ::= db_optr keep",
- /* 97 */ "alter_db_optr ::=",
- /* 98 */ "alter_db_optr ::= alter_db_optr replica",
- /* 99 */ "alter_db_optr ::= alter_db_optr tables",
- /* 100 */ "alter_db_optr ::= alter_db_optr keep",
- /* 101 */ "alter_db_optr ::= alter_db_optr blocks",
- /* 102 */ "alter_db_optr ::= alter_db_optr comp",
- /* 103 */ "alter_db_optr ::= alter_db_optr wal",
- /* 104 */ "alter_db_optr ::= alter_db_optr fsync",
- /* 105 */ "typename ::= ids",
- /* 106 */ "typename ::= ids LP signed RP",
- /* 107 */ "signed ::= INTEGER",
- /* 108 */ "signed ::= PLUS INTEGER",
- /* 109 */ "signed ::= MINUS INTEGER",
- /* 110 */ "cmd ::= CREATE TABLE ifnotexists ids cpxName create_table_args",
- /* 111 */ "create_table_args ::= LP columnlist RP",
- /* 112 */ "create_table_args ::= LP columnlist RP TAGS LP columnlist RP",
- /* 113 */ "create_table_args ::= USING ids cpxName TAGS LP tagitemlist RP",
- /* 114 */ "create_table_args ::= AS select",
- /* 115 */ "columnlist ::= columnlist COMMA column",
- /* 116 */ "columnlist ::= column",
- /* 117 */ "column ::= ids typename",
- /* 118 */ "tagitemlist ::= tagitemlist COMMA tagitem",
- /* 119 */ "tagitemlist ::= tagitem",
- /* 120 */ "tagitem ::= INTEGER",
- /* 121 */ "tagitem ::= FLOAT",
- /* 122 */ "tagitem ::= STRING",
- /* 123 */ "tagitem ::= BOOL",
- /* 124 */ "tagitem ::= NULL",
- /* 125 */ "tagitem ::= MINUS INTEGER",
- /* 126 */ "tagitem ::= MINUS FLOAT",
- /* 127 */ "tagitem ::= PLUS INTEGER",
- /* 128 */ "tagitem ::= PLUS FLOAT",
- /* 129 */ "select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt",
- /* 130 */ "union ::= select",
- /* 131 */ "union ::= LP union RP",
- /* 132 */ "union ::= union UNION ALL select",
- /* 133 */ "union ::= union UNION ALL LP select RP",
- /* 134 */ "cmd ::= union",
- /* 135 */ "select ::= SELECT selcollist",
- /* 136 */ "sclp ::= selcollist COMMA",
- /* 137 */ "sclp ::=",
- /* 138 */ "selcollist ::= sclp expr as",
- /* 139 */ "selcollist ::= sclp STAR",
- /* 140 */ "as ::= AS ids",
- /* 141 */ "as ::= ids",
- /* 142 */ "as ::=",
- /* 143 */ "from ::= FROM tablelist",
- /* 144 */ "tablelist ::= ids cpxName",
- /* 145 */ "tablelist ::= tablelist COMMA ids cpxName",
- /* 146 */ "tmvar ::= VARIABLE",
- /* 147 */ "interval_opt ::= INTERVAL LP tmvar RP",
- /* 148 */ "interval_opt ::=",
- /* 149 */ "fill_opt ::=",
- /* 150 */ "fill_opt ::= FILL LP ID COMMA tagitemlist RP",
- /* 151 */ "fill_opt ::= FILL LP ID RP",
- /* 152 */ "sliding_opt ::= SLIDING LP tmvar RP",
- /* 153 */ "sliding_opt ::=",
- /* 154 */ "orderby_opt ::=",
- /* 155 */ "orderby_opt ::= ORDER BY sortlist",
- /* 156 */ "sortlist ::= sortlist COMMA item sortorder",
- /* 157 */ "sortlist ::= item sortorder",
- /* 158 */ "item ::= ids cpxName",
- /* 159 */ "sortorder ::= ASC",
- /* 160 */ "sortorder ::= DESC",
- /* 161 */ "sortorder ::=",
- /* 162 */ "groupby_opt ::=",
- /* 163 */ "groupby_opt ::= GROUP BY grouplist",
- /* 164 */ "grouplist ::= grouplist COMMA item",
- /* 165 */ "grouplist ::= item",
- /* 166 */ "having_opt ::=",
- /* 167 */ "having_opt ::= HAVING expr",
- /* 168 */ "limit_opt ::=",
- /* 169 */ "limit_opt ::= LIMIT signed",
- /* 170 */ "limit_opt ::= LIMIT signed OFFSET signed",
- /* 171 */ "limit_opt ::= LIMIT signed COMMA signed",
- /* 172 */ "slimit_opt ::=",
- /* 173 */ "slimit_opt ::= SLIMIT signed",
- /* 174 */ "slimit_opt ::= SLIMIT signed SOFFSET signed",
- /* 175 */ "slimit_opt ::= SLIMIT signed COMMA signed",
- /* 176 */ "where_opt ::=",
- /* 177 */ "where_opt ::= WHERE expr",
- /* 178 */ "expr ::= LP expr RP",
- /* 179 */ "expr ::= ID",
- /* 180 */ "expr ::= ID DOT ID",
- /* 181 */ "expr ::= ID DOT STAR",
- /* 182 */ "expr ::= INTEGER",
- /* 183 */ "expr ::= MINUS INTEGER",
- /* 184 */ "expr ::= PLUS INTEGER",
- /* 185 */ "expr ::= FLOAT",
- /* 186 */ "expr ::= MINUS FLOAT",
- /* 187 */ "expr ::= PLUS FLOAT",
- /* 188 */ "expr ::= STRING",
- /* 189 */ "expr ::= NOW",
- /* 190 */ "expr ::= VARIABLE",
- /* 191 */ "expr ::= BOOL",
- /* 192 */ "expr ::= ID LP exprlist RP",
- /* 193 */ "expr ::= ID LP STAR RP",
- /* 194 */ "expr ::= expr AND expr",
- /* 195 */ "expr ::= expr OR expr",
- /* 196 */ "expr ::= expr LT expr",
- /* 197 */ "expr ::= expr GT expr",
- /* 198 */ "expr ::= expr LE expr",
- /* 199 */ "expr ::= expr GE expr",
- /* 200 */ "expr ::= expr NE expr",
- /* 201 */ "expr ::= expr EQ expr",
- /* 202 */ "expr ::= expr PLUS expr",
- /* 203 */ "expr ::= expr MINUS expr",
- /* 204 */ "expr ::= expr STAR expr",
- /* 205 */ "expr ::= expr SLASH expr",
- /* 206 */ "expr ::= expr REM expr",
- /* 207 */ "expr ::= expr LIKE expr",
- /* 208 */ "expr ::= expr IN LP exprlist RP",
- /* 209 */ "exprlist ::= exprlist COMMA expritem",
- /* 210 */ "exprlist ::= expritem",
- /* 211 */ "expritem ::= expr",
- /* 212 */ "expritem ::=",
- /* 213 */ "cmd ::= RESET QUERY CACHE",
- /* 214 */ "cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist",
- /* 215 */ "cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids",
- /* 216 */ "cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist",
- /* 217 */ "cmd ::= ALTER TABLE ids cpxName DROP TAG ids",
- /* 218 */ "cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids",
- /* 219 */ "cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem",
- /* 220 */ "cmd ::= KILL CONNECTION INTEGER",
- /* 221 */ "cmd ::= KILL STREAM INTEGER COLON INTEGER",
- /* 222 */ "cmd ::= KILL QUERY INTEGER COLON INTEGER",
+ /* 74 */ "quorum ::= QUORUM INTEGER",
+ /* 75 */ "days ::= DAYS INTEGER",
+ /* 76 */ "minrows ::= MINROWS INTEGER",
+ /* 77 */ "maxrows ::= MAXROWS INTEGER",
+ /* 78 */ "blocks ::= BLOCKS INTEGER",
+ /* 79 */ "ctime ::= CTIME INTEGER",
+ /* 80 */ "wal ::= WAL INTEGER",
+ /* 81 */ "fsync ::= FSYNC INTEGER",
+ /* 82 */ "comp ::= COMP INTEGER",
+ /* 83 */ "prec ::= PRECISION STRING",
+ /* 84 */ "db_optr ::=",
+ /* 85 */ "db_optr ::= db_optr tables",
+ /* 86 */ "db_optr ::= db_optr cache",
+ /* 87 */ "db_optr ::= db_optr replica",
+ /* 88 */ "db_optr ::= db_optr quorum",
+ /* 89 */ "db_optr ::= db_optr days",
+ /* 90 */ "db_optr ::= db_optr minrows",
+ /* 91 */ "db_optr ::= db_optr maxrows",
+ /* 92 */ "db_optr ::= db_optr blocks",
+ /* 93 */ "db_optr ::= db_optr ctime",
+ /* 94 */ "db_optr ::= db_optr wal",
+ /* 95 */ "db_optr ::= db_optr fsync",
+ /* 96 */ "db_optr ::= db_optr comp",
+ /* 97 */ "db_optr ::= db_optr prec",
+ /* 98 */ "db_optr ::= db_optr keep",
+ /* 99 */ "alter_db_optr ::=",
+ /* 100 */ "alter_db_optr ::= alter_db_optr replica",
+ /* 101 */ "alter_db_optr ::= alter_db_optr quorum",
+ /* 102 */ "alter_db_optr ::= alter_db_optr tables",
+ /* 103 */ "alter_db_optr ::= alter_db_optr keep",
+ /* 104 */ "alter_db_optr ::= alter_db_optr blocks",
+ /* 105 */ "alter_db_optr ::= alter_db_optr comp",
+ /* 106 */ "alter_db_optr ::= alter_db_optr wal",
+ /* 107 */ "alter_db_optr ::= alter_db_optr fsync",
+ /* 108 */ "typename ::= ids",
+ /* 109 */ "typename ::= ids LP signed RP",
+ /* 110 */ "signed ::= INTEGER",
+ /* 111 */ "signed ::= PLUS INTEGER",
+ /* 112 */ "signed ::= MINUS INTEGER",
+ /* 113 */ "cmd ::= CREATE TABLE ifnotexists ids cpxName create_table_args",
+ /* 114 */ "create_table_args ::= LP columnlist RP",
+ /* 115 */ "create_table_args ::= LP columnlist RP TAGS LP columnlist RP",
+ /* 116 */ "create_table_args ::= USING ids cpxName TAGS LP tagitemlist RP",
+ /* 117 */ "create_table_args ::= AS select",
+ /* 118 */ "columnlist ::= columnlist COMMA column",
+ /* 119 */ "columnlist ::= column",
+ /* 120 */ "column ::= ids typename",
+ /* 121 */ "tagitemlist ::= tagitemlist COMMA tagitem",
+ /* 122 */ "tagitemlist ::= tagitem",
+ /* 123 */ "tagitem ::= INTEGER",
+ /* 124 */ "tagitem ::= FLOAT",
+ /* 125 */ "tagitem ::= STRING",
+ /* 126 */ "tagitem ::= BOOL",
+ /* 127 */ "tagitem ::= NULL",
+ /* 128 */ "tagitem ::= MINUS INTEGER",
+ /* 129 */ "tagitem ::= MINUS FLOAT",
+ /* 130 */ "tagitem ::= PLUS INTEGER",
+ /* 131 */ "tagitem ::= PLUS FLOAT",
+ /* 132 */ "select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt",
+ /* 133 */ "union ::= select",
+ /* 134 */ "union ::= LP union RP",
+ /* 135 */ "union ::= union UNION ALL select",
+ /* 136 */ "union ::= union UNION ALL LP select RP",
+ /* 137 */ "cmd ::= union",
+ /* 138 */ "select ::= SELECT selcollist",
+ /* 139 */ "sclp ::= selcollist COMMA",
+ /* 140 */ "sclp ::=",
+ /* 141 */ "selcollist ::= sclp expr as",
+ /* 142 */ "selcollist ::= sclp STAR",
+ /* 143 */ "as ::= AS ids",
+ /* 144 */ "as ::= ids",
+ /* 145 */ "as ::=",
+ /* 146 */ "from ::= FROM tablelist",
+ /* 147 */ "tablelist ::= ids cpxName",
+ /* 148 */ "tablelist ::= tablelist COMMA ids cpxName",
+ /* 149 */ "tmvar ::= VARIABLE",
+ /* 150 */ "interval_opt ::= INTERVAL LP tmvar RP",
+ /* 151 */ "interval_opt ::=",
+ /* 152 */ "fill_opt ::=",
+ /* 153 */ "fill_opt ::= FILL LP ID COMMA tagitemlist RP",
+ /* 154 */ "fill_opt ::= FILL LP ID RP",
+ /* 155 */ "sliding_opt ::= SLIDING LP tmvar RP",
+ /* 156 */ "sliding_opt ::=",
+ /* 157 */ "orderby_opt ::=",
+ /* 158 */ "orderby_opt ::= ORDER BY sortlist",
+ /* 159 */ "sortlist ::= sortlist COMMA item sortorder",
+ /* 160 */ "sortlist ::= item sortorder",
+ /* 161 */ "item ::= ids cpxName",
+ /* 162 */ "sortorder ::= ASC",
+ /* 163 */ "sortorder ::= DESC",
+ /* 164 */ "sortorder ::=",
+ /* 165 */ "groupby_opt ::=",
+ /* 166 */ "groupby_opt ::= GROUP BY grouplist",
+ /* 167 */ "grouplist ::= grouplist COMMA item",
+ /* 168 */ "grouplist ::= item",
+ /* 169 */ "having_opt ::=",
+ /* 170 */ "having_opt ::= HAVING expr",
+ /* 171 */ "limit_opt ::=",
+ /* 172 */ "limit_opt ::= LIMIT signed",
+ /* 173 */ "limit_opt ::= LIMIT signed OFFSET signed",
+ /* 174 */ "limit_opt ::= LIMIT signed COMMA signed",
+ /* 175 */ "slimit_opt ::=",
+ /* 176 */ "slimit_opt ::= SLIMIT signed",
+ /* 177 */ "slimit_opt ::= SLIMIT signed SOFFSET signed",
+ /* 178 */ "slimit_opt ::= SLIMIT signed COMMA signed",
+ /* 179 */ "where_opt ::=",
+ /* 180 */ "where_opt ::= WHERE expr",
+ /* 181 */ "expr ::= LP expr RP",
+ /* 182 */ "expr ::= ID",
+ /* 183 */ "expr ::= ID DOT ID",
+ /* 184 */ "expr ::= ID DOT STAR",
+ /* 185 */ "expr ::= INTEGER",
+ /* 186 */ "expr ::= MINUS INTEGER",
+ /* 187 */ "expr ::= PLUS INTEGER",
+ /* 188 */ "expr ::= FLOAT",
+ /* 189 */ "expr ::= MINUS FLOAT",
+ /* 190 */ "expr ::= PLUS FLOAT",
+ /* 191 */ "expr ::= STRING",
+ /* 192 */ "expr ::= NOW",
+ /* 193 */ "expr ::= VARIABLE",
+ /* 194 */ "expr ::= BOOL",
+ /* 195 */ "expr ::= ID LP exprlist RP",
+ /* 196 */ "expr ::= ID LP STAR RP",
+ /* 197 */ "expr ::= expr AND expr",
+ /* 198 */ "expr ::= expr OR expr",
+ /* 199 */ "expr ::= expr LT expr",
+ /* 200 */ "expr ::= expr GT expr",
+ /* 201 */ "expr ::= expr LE expr",
+ /* 202 */ "expr ::= expr GE expr",
+ /* 203 */ "expr ::= expr NE expr",
+ /* 204 */ "expr ::= expr EQ expr",
+ /* 205 */ "expr ::= expr PLUS expr",
+ /* 206 */ "expr ::= expr MINUS expr",
+ /* 207 */ "expr ::= expr STAR expr",
+ /* 208 */ "expr ::= expr SLASH expr",
+ /* 209 */ "expr ::= expr REM expr",
+ /* 210 */ "expr ::= expr LIKE expr",
+ /* 211 */ "expr ::= expr IN LP exprlist RP",
+ /* 212 */ "exprlist ::= exprlist COMMA expritem",
+ /* 213 */ "exprlist ::= expritem",
+ /* 214 */ "expritem ::= expr",
+ /* 215 */ "expritem ::=",
+ /* 216 */ "cmd ::= RESET QUERY CACHE",
+ /* 217 */ "cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist",
+ /* 218 */ "cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids",
+ /* 219 */ "cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist",
+ /* 220 */ "cmd ::= ALTER TABLE ids cpxName DROP TAG ids",
+ /* 221 */ "cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids",
+ /* 222 */ "cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem",
+ /* 223 */ "cmd ::= KILL CONNECTION INTEGER",
+ /* 224 */ "cmd ::= KILL STREAM INTEGER COLON INTEGER",
+ /* 225 */ "cmd ::= KILL QUERY INTEGER COLON INTEGER",
};
#endif /* NDEBUG */
@@ -1345,50 +1352,50 @@ static void yy_destructor(
** inside the C code.
*/
/********* Begin destructor definitions ***************************************/
- case 226: /* keep */
- case 227: /* tagitemlist */
- case 251: /* fill_opt */
- case 253: /* groupby_opt */
- case 254: /* orderby_opt */
- case 264: /* sortlist */
- case 268: /* grouplist */
+ case 227: /* keep */
+ case 228: /* tagitemlist */
+ case 253: /* fill_opt */
+ case 255: /* groupby_opt */
+ case 256: /* orderby_opt */
+ case 266: /* sortlist */
+ case 270: /* grouplist */
{
-tVariantListDestroy((yypminor->yy494));
+tVariantListDestroy((yypminor->yy498));
}
break;
- case 243: /* columnlist */
+ case 245: /* columnlist */
{
-tFieldListDestroy((yypminor->yy449));
+tFieldListDestroy((yypminor->yy523));
}
break;
- case 244: /* select */
+ case 246: /* select */
{
-doDestroyQuerySql((yypminor->yy150));
+doDestroyQuerySql((yypminor->yy414));
}
break;
- case 247: /* selcollist */
- case 259: /* sclp */
- case 269: /* exprlist */
+ case 249: /* selcollist */
+ case 261: /* sclp */
+ case 271: /* exprlist */
{
-tSQLExprListDestroy((yypminor->yy224));
+tSQLExprListDestroy((yypminor->yy290));
}
break;
- case 249: /* where_opt */
- case 255: /* having_opt */
- case 260: /* expr */
- case 270: /* expritem */
+ case 251: /* where_opt */
+ case 257: /* having_opt */
+ case 262: /* expr */
+ case 272: /* expritem */
{
-tSQLExprDestroy((yypminor->yy66));
+tSQLExprDestroy((yypminor->yy64));
}
break;
- case 258: /* union */
+ case 260: /* union */
{
-destroyAllSelectClause((yypminor->yy25));
+destroyAllSelectClause((yypminor->yy231));
}
break;
- case 265: /* sortitem */
+ case 267: /* sortitem */
{
-tVariantDestroy(&(yypminor->yy312));
+tVariantDestroy(&(yypminor->yy134));
}
break;
/********* End destructor definitions *****************************************/
@@ -1682,229 +1689,232 @@ static const struct {
YYCODETYPE lhs; /* Symbol on the left-hand side of the rule */
signed char nrhs; /* Negative of the number of RHS symbols in the rule */
} yyRuleInfo[] = {
- { 207, -1 }, /* (0) program ::= cmd */
- { 208, -2 }, /* (1) cmd ::= SHOW DATABASES */
- { 208, -2 }, /* (2) cmd ::= SHOW MNODES */
- { 208, -2 }, /* (3) cmd ::= SHOW DNODES */
- { 208, -2 }, /* (4) cmd ::= SHOW ACCOUNTS */
- { 208, -2 }, /* (5) cmd ::= SHOW USERS */
- { 208, -2 }, /* (6) cmd ::= SHOW MODULES */
- { 208, -2 }, /* (7) cmd ::= SHOW QUERIES */
- { 208, -2 }, /* (8) cmd ::= SHOW CONNECTIONS */
- { 208, -2 }, /* (9) cmd ::= SHOW STREAMS */
- { 208, -2 }, /* (10) cmd ::= SHOW CONFIGS */
- { 208, -2 }, /* (11) cmd ::= SHOW SCORES */
- { 208, -2 }, /* (12) cmd ::= SHOW GRANTS */
- { 208, -2 }, /* (13) cmd ::= SHOW VNODES */
- { 208, -3 }, /* (14) cmd ::= SHOW VNODES IPTOKEN */
- { 209, 0 }, /* (15) dbPrefix ::= */
- { 209, -2 }, /* (16) dbPrefix ::= ids DOT */
- { 211, 0 }, /* (17) cpxName ::= */
- { 211, -2 }, /* (18) cpxName ::= DOT ids */
- { 208, -3 }, /* (19) cmd ::= SHOW dbPrefix TABLES */
- { 208, -5 }, /* (20) cmd ::= SHOW dbPrefix TABLES LIKE ids */
- { 208, -3 }, /* (21) cmd ::= SHOW dbPrefix STABLES */
- { 208, -5 }, /* (22) cmd ::= SHOW dbPrefix STABLES LIKE ids */
- { 208, -3 }, /* (23) cmd ::= SHOW dbPrefix VGROUPS */
- { 208, -4 }, /* (24) cmd ::= SHOW dbPrefix VGROUPS ids */
- { 208, -5 }, /* (25) cmd ::= DROP TABLE ifexists ids cpxName */
- { 208, -4 }, /* (26) cmd ::= DROP DATABASE ifexists ids */
- { 208, -3 }, /* (27) cmd ::= DROP DNODE ids */
- { 208, -3 }, /* (28) cmd ::= DROP USER ids */
- { 208, -3 }, /* (29) cmd ::= DROP ACCOUNT ids */
- { 208, -2 }, /* (30) cmd ::= USE ids */
- { 208, -3 }, /* (31) cmd ::= DESCRIBE ids cpxName */
- { 208, -5 }, /* (32) cmd ::= ALTER USER ids PASS ids */
- { 208, -5 }, /* (33) cmd ::= ALTER USER ids PRIVILEGE ids */
- { 208, -4 }, /* (34) cmd ::= ALTER DNODE ids ids */
- { 208, -5 }, /* (35) cmd ::= ALTER DNODE ids ids ids */
- { 208, -3 }, /* (36) cmd ::= ALTER LOCAL ids */
- { 208, -4 }, /* (37) cmd ::= ALTER LOCAL ids ids */
- { 208, -4 }, /* (38) cmd ::= ALTER DATABASE ids alter_db_optr */
- { 208, -4 }, /* (39) cmd ::= ALTER ACCOUNT ids acct_optr */
- { 208, -6 }, /* (40) cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
- { 210, -1 }, /* (41) ids ::= ID */
- { 210, -1 }, /* (42) ids ::= STRING */
- { 212, -2 }, /* (43) ifexists ::= IF EXISTS */
- { 212, 0 }, /* (44) ifexists ::= */
- { 215, -3 }, /* (45) ifnotexists ::= IF NOT EXISTS */
- { 215, 0 }, /* (46) ifnotexists ::= */
- { 208, -3 }, /* (47) cmd ::= CREATE DNODE ids */
- { 208, -6 }, /* (48) cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
- { 208, -5 }, /* (49) cmd ::= CREATE DATABASE ifnotexists ids db_optr */
- { 208, -5 }, /* (50) cmd ::= CREATE USER ids PASS ids */
- { 217, 0 }, /* (51) pps ::= */
- { 217, -2 }, /* (52) pps ::= PPS INTEGER */
- { 218, 0 }, /* (53) tseries ::= */
- { 218, -2 }, /* (54) tseries ::= TSERIES INTEGER */
- { 219, 0 }, /* (55) dbs ::= */
- { 219, -2 }, /* (56) dbs ::= DBS INTEGER */
- { 220, 0 }, /* (57) streams ::= */
- { 220, -2 }, /* (58) streams ::= STREAMS INTEGER */
- { 221, 0 }, /* (59) storage ::= */
- { 221, -2 }, /* (60) storage ::= STORAGE INTEGER */
- { 222, 0 }, /* (61) qtime ::= */
- { 222, -2 }, /* (62) qtime ::= QTIME INTEGER */
- { 223, 0 }, /* (63) users ::= */
- { 223, -2 }, /* (64) users ::= USERS INTEGER */
- { 224, 0 }, /* (65) conns ::= */
- { 224, -2 }, /* (66) conns ::= CONNS INTEGER */
- { 225, 0 }, /* (67) state ::= */
- { 225, -2 }, /* (68) state ::= STATE ids */
- { 214, -9 }, /* (69) acct_optr ::= pps tseries storage streams qtime dbs users conns state */
- { 226, -2 }, /* (70) keep ::= KEEP tagitemlist */
- { 228, -2 }, /* (71) tables ::= MAXTABLES INTEGER */
- { 229, -2 }, /* (72) cache ::= CACHE INTEGER */
- { 230, -2 }, /* (73) replica ::= REPLICA INTEGER */
- { 231, -2 }, /* (74) days ::= DAYS INTEGER */
- { 232, -2 }, /* (75) minrows ::= MINROWS INTEGER */
- { 233, -2 }, /* (76) maxrows ::= MAXROWS INTEGER */
- { 234, -2 }, /* (77) blocks ::= BLOCKS INTEGER */
- { 235, -2 }, /* (78) ctime ::= CTIME INTEGER */
- { 236, -2 }, /* (79) wal ::= WAL INTEGER */
- { 237, -2 }, /* (80) fsync ::= FSYNC INTEGER */
- { 238, -2 }, /* (81) comp ::= COMP INTEGER */
- { 239, -2 }, /* (82) prec ::= PRECISION STRING */
- { 216, 0 }, /* (83) db_optr ::= */
- { 216, -2 }, /* (84) db_optr ::= db_optr tables */
- { 216, -2 }, /* (85) db_optr ::= db_optr cache */
- { 216, -2 }, /* (86) db_optr ::= db_optr replica */
- { 216, -2 }, /* (87) db_optr ::= db_optr days */
- { 216, -2 }, /* (88) db_optr ::= db_optr minrows */
- { 216, -2 }, /* (89) db_optr ::= db_optr maxrows */
- { 216, -2 }, /* (90) db_optr ::= db_optr blocks */
- { 216, -2 }, /* (91) db_optr ::= db_optr ctime */
- { 216, -2 }, /* (92) db_optr ::= db_optr wal */
- { 216, -2 }, /* (93) db_optr ::= db_optr fsync */
- { 216, -2 }, /* (94) db_optr ::= db_optr comp */
- { 216, -2 }, /* (95) db_optr ::= db_optr prec */
- { 216, -2 }, /* (96) db_optr ::= db_optr keep */
- { 213, 0 }, /* (97) alter_db_optr ::= */
- { 213, -2 }, /* (98) alter_db_optr ::= alter_db_optr replica */
- { 213, -2 }, /* (99) alter_db_optr ::= alter_db_optr tables */
- { 213, -2 }, /* (100) alter_db_optr ::= alter_db_optr keep */
- { 213, -2 }, /* (101) alter_db_optr ::= alter_db_optr blocks */
- { 213, -2 }, /* (102) alter_db_optr ::= alter_db_optr comp */
- { 213, -2 }, /* (103) alter_db_optr ::= alter_db_optr wal */
- { 213, -2 }, /* (104) alter_db_optr ::= alter_db_optr fsync */
- { 240, -1 }, /* (105) typename ::= ids */
- { 240, -4 }, /* (106) typename ::= ids LP signed RP */
- { 241, -1 }, /* (107) signed ::= INTEGER */
- { 241, -2 }, /* (108) signed ::= PLUS INTEGER */
- { 241, -2 }, /* (109) signed ::= MINUS INTEGER */
- { 208, -6 }, /* (110) cmd ::= CREATE TABLE ifnotexists ids cpxName create_table_args */
- { 242, -3 }, /* (111) create_table_args ::= LP columnlist RP */
- { 242, -7 }, /* (112) create_table_args ::= LP columnlist RP TAGS LP columnlist RP */
- { 242, -7 }, /* (113) create_table_args ::= USING ids cpxName TAGS LP tagitemlist RP */
- { 242, -2 }, /* (114) create_table_args ::= AS select */
- { 243, -3 }, /* (115) columnlist ::= columnlist COMMA column */
- { 243, -1 }, /* (116) columnlist ::= column */
- { 245, -2 }, /* (117) column ::= ids typename */
- { 227, -3 }, /* (118) tagitemlist ::= tagitemlist COMMA tagitem */
- { 227, -1 }, /* (119) tagitemlist ::= tagitem */
- { 246, -1 }, /* (120) tagitem ::= INTEGER */
- { 246, -1 }, /* (121) tagitem ::= FLOAT */
- { 246, -1 }, /* (122) tagitem ::= STRING */
- { 246, -1 }, /* (123) tagitem ::= BOOL */
- { 246, -1 }, /* (124) tagitem ::= NULL */
- { 246, -2 }, /* (125) tagitem ::= MINUS INTEGER */
- { 246, -2 }, /* (126) tagitem ::= MINUS FLOAT */
- { 246, -2 }, /* (127) tagitem ::= PLUS INTEGER */
- { 246, -2 }, /* (128) tagitem ::= PLUS FLOAT */
- { 244, -12 }, /* (129) select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
- { 258, -1 }, /* (130) union ::= select */
- { 258, -3 }, /* (131) union ::= LP union RP */
- { 258, -4 }, /* (132) union ::= union UNION ALL select */
- { 258, -6 }, /* (133) union ::= union UNION ALL LP select RP */
- { 208, -1 }, /* (134) cmd ::= union */
- { 244, -2 }, /* (135) select ::= SELECT selcollist */
- { 259, -2 }, /* (136) sclp ::= selcollist COMMA */
- { 259, 0 }, /* (137) sclp ::= */
- { 247, -3 }, /* (138) selcollist ::= sclp expr as */
- { 247, -2 }, /* (139) selcollist ::= sclp STAR */
- { 261, -2 }, /* (140) as ::= AS ids */
- { 261, -1 }, /* (141) as ::= ids */
- { 261, 0 }, /* (142) as ::= */
- { 248, -2 }, /* (143) from ::= FROM tablelist */
- { 262, -2 }, /* (144) tablelist ::= ids cpxName */
- { 262, -4 }, /* (145) tablelist ::= tablelist COMMA ids cpxName */
- { 263, -1 }, /* (146) tmvar ::= VARIABLE */
- { 250, -4 }, /* (147) interval_opt ::= INTERVAL LP tmvar RP */
- { 250, 0 }, /* (148) interval_opt ::= */
- { 251, 0 }, /* (149) fill_opt ::= */
- { 251, -6 }, /* (150) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
- { 251, -4 }, /* (151) fill_opt ::= FILL LP ID RP */
- { 252, -4 }, /* (152) sliding_opt ::= SLIDING LP tmvar RP */
- { 252, 0 }, /* (153) sliding_opt ::= */
- { 254, 0 }, /* (154) orderby_opt ::= */
- { 254, -3 }, /* (155) orderby_opt ::= ORDER BY sortlist */
- { 264, -4 }, /* (156) sortlist ::= sortlist COMMA item sortorder */
- { 264, -2 }, /* (157) sortlist ::= item sortorder */
- { 266, -2 }, /* (158) item ::= ids cpxName */
- { 267, -1 }, /* (159) sortorder ::= ASC */
- { 267, -1 }, /* (160) sortorder ::= DESC */
- { 267, 0 }, /* (161) sortorder ::= */
- { 253, 0 }, /* (162) groupby_opt ::= */
- { 253, -3 }, /* (163) groupby_opt ::= GROUP BY grouplist */
- { 268, -3 }, /* (164) grouplist ::= grouplist COMMA item */
- { 268, -1 }, /* (165) grouplist ::= item */
- { 255, 0 }, /* (166) having_opt ::= */
- { 255, -2 }, /* (167) having_opt ::= HAVING expr */
- { 257, 0 }, /* (168) limit_opt ::= */
- { 257, -2 }, /* (169) limit_opt ::= LIMIT signed */
- { 257, -4 }, /* (170) limit_opt ::= LIMIT signed OFFSET signed */
- { 257, -4 }, /* (171) limit_opt ::= LIMIT signed COMMA signed */
- { 256, 0 }, /* (172) slimit_opt ::= */
- { 256, -2 }, /* (173) slimit_opt ::= SLIMIT signed */
- { 256, -4 }, /* (174) slimit_opt ::= SLIMIT signed SOFFSET signed */
- { 256, -4 }, /* (175) slimit_opt ::= SLIMIT signed COMMA signed */
- { 249, 0 }, /* (176) where_opt ::= */
- { 249, -2 }, /* (177) where_opt ::= WHERE expr */
- { 260, -3 }, /* (178) expr ::= LP expr RP */
- { 260, -1 }, /* (179) expr ::= ID */
- { 260, -3 }, /* (180) expr ::= ID DOT ID */
- { 260, -3 }, /* (181) expr ::= ID DOT STAR */
- { 260, -1 }, /* (182) expr ::= INTEGER */
- { 260, -2 }, /* (183) expr ::= MINUS INTEGER */
- { 260, -2 }, /* (184) expr ::= PLUS INTEGER */
- { 260, -1 }, /* (185) expr ::= FLOAT */
- { 260, -2 }, /* (186) expr ::= MINUS FLOAT */
- { 260, -2 }, /* (187) expr ::= PLUS FLOAT */
- { 260, -1 }, /* (188) expr ::= STRING */
- { 260, -1 }, /* (189) expr ::= NOW */
- { 260, -1 }, /* (190) expr ::= VARIABLE */
- { 260, -1 }, /* (191) expr ::= BOOL */
- { 260, -4 }, /* (192) expr ::= ID LP exprlist RP */
- { 260, -4 }, /* (193) expr ::= ID LP STAR RP */
- { 260, -3 }, /* (194) expr ::= expr AND expr */
- { 260, -3 }, /* (195) expr ::= expr OR expr */
- { 260, -3 }, /* (196) expr ::= expr LT expr */
- { 260, -3 }, /* (197) expr ::= expr GT expr */
- { 260, -3 }, /* (198) expr ::= expr LE expr */
- { 260, -3 }, /* (199) expr ::= expr GE expr */
- { 260, -3 }, /* (200) expr ::= expr NE expr */
- { 260, -3 }, /* (201) expr ::= expr EQ expr */
- { 260, -3 }, /* (202) expr ::= expr PLUS expr */
- { 260, -3 }, /* (203) expr ::= expr MINUS expr */
- { 260, -3 }, /* (204) expr ::= expr STAR expr */
- { 260, -3 }, /* (205) expr ::= expr SLASH expr */
- { 260, -3 }, /* (206) expr ::= expr REM expr */
- { 260, -3 }, /* (207) expr ::= expr LIKE expr */
- { 260, -5 }, /* (208) expr ::= expr IN LP exprlist RP */
- { 269, -3 }, /* (209) exprlist ::= exprlist COMMA expritem */
- { 269, -1 }, /* (210) exprlist ::= expritem */
- { 270, -1 }, /* (211) expritem ::= expr */
- { 270, 0 }, /* (212) expritem ::= */
- { 208, -3 }, /* (213) cmd ::= RESET QUERY CACHE */
- { 208, -7 }, /* (214) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
- { 208, -7 }, /* (215) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
- { 208, -7 }, /* (216) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
- { 208, -7 }, /* (217) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
- { 208, -8 }, /* (218) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
- { 208, -9 }, /* (219) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
- { 208, -3 }, /* (220) cmd ::= KILL CONNECTION INTEGER */
- { 208, -5 }, /* (221) cmd ::= KILL STREAM INTEGER COLON INTEGER */
- { 208, -5 }, /* (222) cmd ::= KILL QUERY INTEGER COLON INTEGER */
+ { 208, -1 }, /* (0) program ::= cmd */
+ { 209, -2 }, /* (1) cmd ::= SHOW DATABASES */
+ { 209, -2 }, /* (2) cmd ::= SHOW MNODES */
+ { 209, -2 }, /* (3) cmd ::= SHOW DNODES */
+ { 209, -2 }, /* (4) cmd ::= SHOW ACCOUNTS */
+ { 209, -2 }, /* (5) cmd ::= SHOW USERS */
+ { 209, -2 }, /* (6) cmd ::= SHOW MODULES */
+ { 209, -2 }, /* (7) cmd ::= SHOW QUERIES */
+ { 209, -2 }, /* (8) cmd ::= SHOW CONNECTIONS */
+ { 209, -2 }, /* (9) cmd ::= SHOW STREAMS */
+ { 209, -2 }, /* (10) cmd ::= SHOW CONFIGS */
+ { 209, -2 }, /* (11) cmd ::= SHOW SCORES */
+ { 209, -2 }, /* (12) cmd ::= SHOW GRANTS */
+ { 209, -2 }, /* (13) cmd ::= SHOW VNODES */
+ { 209, -3 }, /* (14) cmd ::= SHOW VNODES IPTOKEN */
+ { 210, 0 }, /* (15) dbPrefix ::= */
+ { 210, -2 }, /* (16) dbPrefix ::= ids DOT */
+ { 212, 0 }, /* (17) cpxName ::= */
+ { 212, -2 }, /* (18) cpxName ::= DOT ids */
+ { 209, -3 }, /* (19) cmd ::= SHOW dbPrefix TABLES */
+ { 209, -5 }, /* (20) cmd ::= SHOW dbPrefix TABLES LIKE ids */
+ { 209, -3 }, /* (21) cmd ::= SHOW dbPrefix STABLES */
+ { 209, -5 }, /* (22) cmd ::= SHOW dbPrefix STABLES LIKE ids */
+ { 209, -3 }, /* (23) cmd ::= SHOW dbPrefix VGROUPS */
+ { 209, -4 }, /* (24) cmd ::= SHOW dbPrefix VGROUPS ids */
+ { 209, -5 }, /* (25) cmd ::= DROP TABLE ifexists ids cpxName */
+ { 209, -4 }, /* (26) cmd ::= DROP DATABASE ifexists ids */
+ { 209, -3 }, /* (27) cmd ::= DROP DNODE ids */
+ { 209, -3 }, /* (28) cmd ::= DROP USER ids */
+ { 209, -3 }, /* (29) cmd ::= DROP ACCOUNT ids */
+ { 209, -2 }, /* (30) cmd ::= USE ids */
+ { 209, -3 }, /* (31) cmd ::= DESCRIBE ids cpxName */
+ { 209, -5 }, /* (32) cmd ::= ALTER USER ids PASS ids */
+ { 209, -5 }, /* (33) cmd ::= ALTER USER ids PRIVILEGE ids */
+ { 209, -4 }, /* (34) cmd ::= ALTER DNODE ids ids */
+ { 209, -5 }, /* (35) cmd ::= ALTER DNODE ids ids ids */
+ { 209, -3 }, /* (36) cmd ::= ALTER LOCAL ids */
+ { 209, -4 }, /* (37) cmd ::= ALTER LOCAL ids ids */
+ { 209, -4 }, /* (38) cmd ::= ALTER DATABASE ids alter_db_optr */
+ { 209, -4 }, /* (39) cmd ::= ALTER ACCOUNT ids acct_optr */
+ { 209, -6 }, /* (40) cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
+ { 211, -1 }, /* (41) ids ::= ID */
+ { 211, -1 }, /* (42) ids ::= STRING */
+ { 213, -2 }, /* (43) ifexists ::= IF EXISTS */
+ { 213, 0 }, /* (44) ifexists ::= */
+ { 216, -3 }, /* (45) ifnotexists ::= IF NOT EXISTS */
+ { 216, 0 }, /* (46) ifnotexists ::= */
+ { 209, -3 }, /* (47) cmd ::= CREATE DNODE ids */
+ { 209, -6 }, /* (48) cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
+ { 209, -5 }, /* (49) cmd ::= CREATE DATABASE ifnotexists ids db_optr */
+ { 209, -5 }, /* (50) cmd ::= CREATE USER ids PASS ids */
+ { 218, 0 }, /* (51) pps ::= */
+ { 218, -2 }, /* (52) pps ::= PPS INTEGER */
+ { 219, 0 }, /* (53) tseries ::= */
+ { 219, -2 }, /* (54) tseries ::= TSERIES INTEGER */
+ { 220, 0 }, /* (55) dbs ::= */
+ { 220, -2 }, /* (56) dbs ::= DBS INTEGER */
+ { 221, 0 }, /* (57) streams ::= */
+ { 221, -2 }, /* (58) streams ::= STREAMS INTEGER */
+ { 222, 0 }, /* (59) storage ::= */
+ { 222, -2 }, /* (60) storage ::= STORAGE INTEGER */
+ { 223, 0 }, /* (61) qtime ::= */
+ { 223, -2 }, /* (62) qtime ::= QTIME INTEGER */
+ { 224, 0 }, /* (63) users ::= */
+ { 224, -2 }, /* (64) users ::= USERS INTEGER */
+ { 225, 0 }, /* (65) conns ::= */
+ { 225, -2 }, /* (66) conns ::= CONNS INTEGER */
+ { 226, 0 }, /* (67) state ::= */
+ { 226, -2 }, /* (68) state ::= STATE ids */
+ { 215, -9 }, /* (69) acct_optr ::= pps tseries storage streams qtime dbs users conns state */
+ { 227, -2 }, /* (70) keep ::= KEEP tagitemlist */
+ { 229, -2 }, /* (71) tables ::= MAXTABLES INTEGER */
+ { 230, -2 }, /* (72) cache ::= CACHE INTEGER */
+ { 231, -2 }, /* (73) replica ::= REPLICA INTEGER */
+ { 232, -2 }, /* (74) quorum ::= QUORUM INTEGER */
+ { 233, -2 }, /* (75) days ::= DAYS INTEGER */
+ { 234, -2 }, /* (76) minrows ::= MINROWS INTEGER */
+ { 235, -2 }, /* (77) maxrows ::= MAXROWS INTEGER */
+ { 236, -2 }, /* (78) blocks ::= BLOCKS INTEGER */
+ { 237, -2 }, /* (79) ctime ::= CTIME INTEGER */
+ { 238, -2 }, /* (80) wal ::= WAL INTEGER */
+ { 239, -2 }, /* (81) fsync ::= FSYNC INTEGER */
+ { 240, -2 }, /* (82) comp ::= COMP INTEGER */
+ { 241, -2 }, /* (83) prec ::= PRECISION STRING */
+ { 217, 0 }, /* (84) db_optr ::= */
+ { 217, -2 }, /* (85) db_optr ::= db_optr tables */
+ { 217, -2 }, /* (86) db_optr ::= db_optr cache */
+ { 217, -2 }, /* (87) db_optr ::= db_optr replica */
+ { 217, -2 }, /* (88) db_optr ::= db_optr quorum */
+ { 217, -2 }, /* (89) db_optr ::= db_optr days */
+ { 217, -2 }, /* (90) db_optr ::= db_optr minrows */
+ { 217, -2 }, /* (91) db_optr ::= db_optr maxrows */
+ { 217, -2 }, /* (92) db_optr ::= db_optr blocks */
+ { 217, -2 }, /* (93) db_optr ::= db_optr ctime */
+ { 217, -2 }, /* (94) db_optr ::= db_optr wal */
+ { 217, -2 }, /* (95) db_optr ::= db_optr fsync */
+ { 217, -2 }, /* (96) db_optr ::= db_optr comp */
+ { 217, -2 }, /* (97) db_optr ::= db_optr prec */
+ { 217, -2 }, /* (98) db_optr ::= db_optr keep */
+ { 214, 0 }, /* (99) alter_db_optr ::= */
+ { 214, -2 }, /* (100) alter_db_optr ::= alter_db_optr replica */
+ { 214, -2 }, /* (101) alter_db_optr ::= alter_db_optr quorum */
+ { 214, -2 }, /* (102) alter_db_optr ::= alter_db_optr tables */
+ { 214, -2 }, /* (103) alter_db_optr ::= alter_db_optr keep */
+ { 214, -2 }, /* (104) alter_db_optr ::= alter_db_optr blocks */
+ { 214, -2 }, /* (105) alter_db_optr ::= alter_db_optr comp */
+ { 214, -2 }, /* (106) alter_db_optr ::= alter_db_optr wal */
+ { 214, -2 }, /* (107) alter_db_optr ::= alter_db_optr fsync */
+ { 242, -1 }, /* (108) typename ::= ids */
+ { 242, -4 }, /* (109) typename ::= ids LP signed RP */
+ { 243, -1 }, /* (110) signed ::= INTEGER */
+ { 243, -2 }, /* (111) signed ::= PLUS INTEGER */
+ { 243, -2 }, /* (112) signed ::= MINUS INTEGER */
+ { 209, -6 }, /* (113) cmd ::= CREATE TABLE ifnotexists ids cpxName create_table_args */
+ { 244, -3 }, /* (114) create_table_args ::= LP columnlist RP */
+ { 244, -7 }, /* (115) create_table_args ::= LP columnlist RP TAGS LP columnlist RP */
+ { 244, -7 }, /* (116) create_table_args ::= USING ids cpxName TAGS LP tagitemlist RP */
+ { 244, -2 }, /* (117) create_table_args ::= AS select */
+ { 245, -3 }, /* (118) columnlist ::= columnlist COMMA column */
+ { 245, -1 }, /* (119) columnlist ::= column */
+ { 247, -2 }, /* (120) column ::= ids typename */
+ { 228, -3 }, /* (121) tagitemlist ::= tagitemlist COMMA tagitem */
+ { 228, -1 }, /* (122) tagitemlist ::= tagitem */
+ { 248, -1 }, /* (123) tagitem ::= INTEGER */
+ { 248, -1 }, /* (124) tagitem ::= FLOAT */
+ { 248, -1 }, /* (125) tagitem ::= STRING */
+ { 248, -1 }, /* (126) tagitem ::= BOOL */
+ { 248, -1 }, /* (127) tagitem ::= NULL */
+ { 248, -2 }, /* (128) tagitem ::= MINUS INTEGER */
+ { 248, -2 }, /* (129) tagitem ::= MINUS FLOAT */
+ { 248, -2 }, /* (130) tagitem ::= PLUS INTEGER */
+ { 248, -2 }, /* (131) tagitem ::= PLUS FLOAT */
+ { 246, -12 }, /* (132) select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
+ { 260, -1 }, /* (133) union ::= select */
+ { 260, -3 }, /* (134) union ::= LP union RP */
+ { 260, -4 }, /* (135) union ::= union UNION ALL select */
+ { 260, -6 }, /* (136) union ::= union UNION ALL LP select RP */
+ { 209, -1 }, /* (137) cmd ::= union */
+ { 246, -2 }, /* (138) select ::= SELECT selcollist */
+ { 261, -2 }, /* (139) sclp ::= selcollist COMMA */
+ { 261, 0 }, /* (140) sclp ::= */
+ { 249, -3 }, /* (141) selcollist ::= sclp expr as */
+ { 249, -2 }, /* (142) selcollist ::= sclp STAR */
+ { 263, -2 }, /* (143) as ::= AS ids */
+ { 263, -1 }, /* (144) as ::= ids */
+ { 263, 0 }, /* (145) as ::= */
+ { 250, -2 }, /* (146) from ::= FROM tablelist */
+ { 264, -2 }, /* (147) tablelist ::= ids cpxName */
+ { 264, -4 }, /* (148) tablelist ::= tablelist COMMA ids cpxName */
+ { 265, -1 }, /* (149) tmvar ::= VARIABLE */
+ { 252, -4 }, /* (150) interval_opt ::= INTERVAL LP tmvar RP */
+ { 252, 0 }, /* (151) interval_opt ::= */
+ { 253, 0 }, /* (152) fill_opt ::= */
+ { 253, -6 }, /* (153) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
+ { 253, -4 }, /* (154) fill_opt ::= FILL LP ID RP */
+ { 254, -4 }, /* (155) sliding_opt ::= SLIDING LP tmvar RP */
+ { 254, 0 }, /* (156) sliding_opt ::= */
+ { 256, 0 }, /* (157) orderby_opt ::= */
+ { 256, -3 }, /* (158) orderby_opt ::= ORDER BY sortlist */
+ { 266, -4 }, /* (159) sortlist ::= sortlist COMMA item sortorder */
+ { 266, -2 }, /* (160) sortlist ::= item sortorder */
+ { 268, -2 }, /* (161) item ::= ids cpxName */
+ { 269, -1 }, /* (162) sortorder ::= ASC */
+ { 269, -1 }, /* (163) sortorder ::= DESC */
+ { 269, 0 }, /* (164) sortorder ::= */
+ { 255, 0 }, /* (165) groupby_opt ::= */
+ { 255, -3 }, /* (166) groupby_opt ::= GROUP BY grouplist */
+ { 270, -3 }, /* (167) grouplist ::= grouplist COMMA item */
+ { 270, -1 }, /* (168) grouplist ::= item */
+ { 257, 0 }, /* (169) having_opt ::= */
+ { 257, -2 }, /* (170) having_opt ::= HAVING expr */
+ { 259, 0 }, /* (171) limit_opt ::= */
+ { 259, -2 }, /* (172) limit_opt ::= LIMIT signed */
+ { 259, -4 }, /* (173) limit_opt ::= LIMIT signed OFFSET signed */
+ { 259, -4 }, /* (174) limit_opt ::= LIMIT signed COMMA signed */
+ { 258, 0 }, /* (175) slimit_opt ::= */
+ { 258, -2 }, /* (176) slimit_opt ::= SLIMIT signed */
+ { 258, -4 }, /* (177) slimit_opt ::= SLIMIT signed SOFFSET signed */
+ { 258, -4 }, /* (178) slimit_opt ::= SLIMIT signed COMMA signed */
+ { 251, 0 }, /* (179) where_opt ::= */
+ { 251, -2 }, /* (180) where_opt ::= WHERE expr */
+ { 262, -3 }, /* (181) expr ::= LP expr RP */
+ { 262, -1 }, /* (182) expr ::= ID */
+ { 262, -3 }, /* (183) expr ::= ID DOT ID */
+ { 262, -3 }, /* (184) expr ::= ID DOT STAR */
+ { 262, -1 }, /* (185) expr ::= INTEGER */
+ { 262, -2 }, /* (186) expr ::= MINUS INTEGER */
+ { 262, -2 }, /* (187) expr ::= PLUS INTEGER */
+ { 262, -1 }, /* (188) expr ::= FLOAT */
+ { 262, -2 }, /* (189) expr ::= MINUS FLOAT */
+ { 262, -2 }, /* (190) expr ::= PLUS FLOAT */
+ { 262, -1 }, /* (191) expr ::= STRING */
+ { 262, -1 }, /* (192) expr ::= NOW */
+ { 262, -1 }, /* (193) expr ::= VARIABLE */
+ { 262, -1 }, /* (194) expr ::= BOOL */
+ { 262, -4 }, /* (195) expr ::= ID LP exprlist RP */
+ { 262, -4 }, /* (196) expr ::= ID LP STAR RP */
+ { 262, -3 }, /* (197) expr ::= expr AND expr */
+ { 262, -3 }, /* (198) expr ::= expr OR expr */
+ { 262, -3 }, /* (199) expr ::= expr LT expr */
+ { 262, -3 }, /* (200) expr ::= expr GT expr */
+ { 262, -3 }, /* (201) expr ::= expr LE expr */
+ { 262, -3 }, /* (202) expr ::= expr GE expr */
+ { 262, -3 }, /* (203) expr ::= expr NE expr */
+ { 262, -3 }, /* (204) expr ::= expr EQ expr */
+ { 262, -3 }, /* (205) expr ::= expr PLUS expr */
+ { 262, -3 }, /* (206) expr ::= expr MINUS expr */
+ { 262, -3 }, /* (207) expr ::= expr STAR expr */
+ { 262, -3 }, /* (208) expr ::= expr SLASH expr */
+ { 262, -3 }, /* (209) expr ::= expr REM expr */
+ { 262, -3 }, /* (210) expr ::= expr LIKE expr */
+ { 262, -5 }, /* (211) expr ::= expr IN LP exprlist RP */
+ { 271, -3 }, /* (212) exprlist ::= exprlist COMMA expritem */
+ { 271, -1 }, /* (213) exprlist ::= expritem */
+ { 272, -1 }, /* (214) expritem ::= expr */
+ { 272, 0 }, /* (215) expritem ::= */
+ { 209, -3 }, /* (216) cmd ::= RESET QUERY CACHE */
+ { 209, -7 }, /* (217) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
+ { 209, -7 }, /* (218) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
+ { 209, -7 }, /* (219) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
+ { 209, -7 }, /* (220) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
+ { 209, -8 }, /* (221) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
+ { 209, -9 }, /* (222) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
+ { 209, -3 }, /* (223) cmd ::= KILL CONNECTION INTEGER */
+ { 209, -5 }, /* (224) cmd ::= KILL STREAM INTEGER COLON INTEGER */
+ { 209, -5 }, /* (225) cmd ::= KILL QUERY INTEGER COLON INTEGER */
};
static void yy_accept(yyParser*); /* Forward Declaration */
@@ -2124,13 +2134,13 @@ static void yy_reduce(
{ setDCLSQLElems(pInfo, TSDB_SQL_CFG_LOCAL, 2, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); }
break;
case 38: /* cmd ::= ALTER DATABASE ids alter_db_optr */
-{ SSQLToken t = {0}; setCreateDBSQL(pInfo, TSDB_SQL_ALTER_DB, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy158, &t);}
+{ SSQLToken t = {0}; setCreateDBSQL(pInfo, TSDB_SQL_ALTER_DB, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy268, &t);}
break;
case 39: /* cmd ::= ALTER ACCOUNT ids acct_optr */
-{ setCreateAcctSQL(pInfo, TSDB_SQL_ALTER_ACCT, &yymsp[-1].minor.yy0, NULL, &yymsp[0].minor.yy73);}
+{ setCreateAcctSQL(pInfo, TSDB_SQL_ALTER_ACCT, &yymsp[-1].minor.yy0, NULL, &yymsp[0].minor.yy149);}
break;
case 40: /* cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
-{ setCreateAcctSQL(pInfo, TSDB_SQL_ALTER_ACCT, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy73);}
+{ setCreateAcctSQL(pInfo, TSDB_SQL_ALTER_ACCT, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy149);}
break;
case 41: /* ids ::= ID */
case 42: /* ids ::= STRING */ yytestcase(yyruleno==42);
@@ -2151,10 +2161,10 @@ static void yy_reduce(
{ setDCLSQLElems(pInfo, TSDB_SQL_CREATE_DNODE, 1, &yymsp[0].minor.yy0);}
break;
case 48: /* cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
-{ setCreateAcctSQL(pInfo, TSDB_SQL_CREATE_ACCT, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy73);}
+{ setCreateAcctSQL(pInfo, TSDB_SQL_CREATE_ACCT, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy149);}
break;
case 49: /* cmd ::= CREATE DATABASE ifnotexists ids db_optr */
-{ setCreateDBSQL(pInfo, TSDB_SQL_CREATE_DB, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy158, &yymsp[-2].minor.yy0);}
+{ setCreateDBSQL(pInfo, TSDB_SQL_CREATE_DB, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy268, &yymsp[-2].minor.yy0);}
break;
case 50: /* cmd ::= CREATE USER ids PASS ids */
{ setCreateUserSQL(pInfo, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0);}
@@ -2183,529 +2193,535 @@ static void yy_reduce(
break;
case 69: /* acct_optr ::= pps tseries storage streams qtime dbs users conns state */
{
- yylhsminor.yy73.maxUsers = (yymsp[-2].minor.yy0.n>0)?atoi(yymsp[-2].minor.yy0.z):-1;
- yylhsminor.yy73.maxDbs = (yymsp[-3].minor.yy0.n>0)?atoi(yymsp[-3].minor.yy0.z):-1;
- yylhsminor.yy73.maxTimeSeries = (yymsp[-7].minor.yy0.n>0)?atoi(yymsp[-7].minor.yy0.z):-1;
- yylhsminor.yy73.maxStreams = (yymsp[-5].minor.yy0.n>0)?atoi(yymsp[-5].minor.yy0.z):-1;
- yylhsminor.yy73.maxPointsPerSecond = (yymsp[-8].minor.yy0.n>0)?atoi(yymsp[-8].minor.yy0.z):-1;
- yylhsminor.yy73.maxStorage = (yymsp[-6].minor.yy0.n>0)?strtoll(yymsp[-6].minor.yy0.z, NULL, 10):-1;
- yylhsminor.yy73.maxQueryTime = (yymsp[-4].minor.yy0.n>0)?strtoll(yymsp[-4].minor.yy0.z, NULL, 10):-1;
- yylhsminor.yy73.maxConnections = (yymsp[-1].minor.yy0.n>0)?atoi(yymsp[-1].minor.yy0.z):-1;
- yylhsminor.yy73.stat = yymsp[0].minor.yy0;
+ yylhsminor.yy149.maxUsers = (yymsp[-2].minor.yy0.n>0)?atoi(yymsp[-2].minor.yy0.z):-1;
+ yylhsminor.yy149.maxDbs = (yymsp[-3].minor.yy0.n>0)?atoi(yymsp[-3].minor.yy0.z):-1;
+ yylhsminor.yy149.maxTimeSeries = (yymsp[-7].minor.yy0.n>0)?atoi(yymsp[-7].minor.yy0.z):-1;
+ yylhsminor.yy149.maxStreams = (yymsp[-5].minor.yy0.n>0)?atoi(yymsp[-5].minor.yy0.z):-1;
+ yylhsminor.yy149.maxPointsPerSecond = (yymsp[-8].minor.yy0.n>0)?atoi(yymsp[-8].minor.yy0.z):-1;
+ yylhsminor.yy149.maxStorage = (yymsp[-6].minor.yy0.n>0)?strtoll(yymsp[-6].minor.yy0.z, NULL, 10):-1;
+ yylhsminor.yy149.maxQueryTime = (yymsp[-4].minor.yy0.n>0)?strtoll(yymsp[-4].minor.yy0.z, NULL, 10):-1;
+ yylhsminor.yy149.maxConnections = (yymsp[-1].minor.yy0.n>0)?atoi(yymsp[-1].minor.yy0.z):-1;
+ yylhsminor.yy149.stat = yymsp[0].minor.yy0;
}
- yymsp[-8].minor.yy73 = yylhsminor.yy73;
+ yymsp[-8].minor.yy149 = yylhsminor.yy149;
break;
case 70: /* keep ::= KEEP tagitemlist */
-{ yymsp[-1].minor.yy494 = yymsp[0].minor.yy494; }
+{ yymsp[-1].minor.yy498 = yymsp[0].minor.yy498; }
break;
case 71: /* tables ::= MAXTABLES INTEGER */
case 72: /* cache ::= CACHE INTEGER */ yytestcase(yyruleno==72);
case 73: /* replica ::= REPLICA INTEGER */ yytestcase(yyruleno==73);
- case 74: /* days ::= DAYS INTEGER */ yytestcase(yyruleno==74);
- case 75: /* minrows ::= MINROWS INTEGER */ yytestcase(yyruleno==75);
- case 76: /* maxrows ::= MAXROWS INTEGER */ yytestcase(yyruleno==76);
- case 77: /* blocks ::= BLOCKS INTEGER */ yytestcase(yyruleno==77);
- case 78: /* ctime ::= CTIME INTEGER */ yytestcase(yyruleno==78);
- case 79: /* wal ::= WAL INTEGER */ yytestcase(yyruleno==79);
- case 80: /* fsync ::= FSYNC INTEGER */ yytestcase(yyruleno==80);
- case 81: /* comp ::= COMP INTEGER */ yytestcase(yyruleno==81);
- case 82: /* prec ::= PRECISION STRING */ yytestcase(yyruleno==82);
+ case 74: /* quorum ::= QUORUM INTEGER */ yytestcase(yyruleno==74);
+ case 75: /* days ::= DAYS INTEGER */ yytestcase(yyruleno==75);
+ case 76: /* minrows ::= MINROWS INTEGER */ yytestcase(yyruleno==76);
+ case 77: /* maxrows ::= MAXROWS INTEGER */ yytestcase(yyruleno==77);
+ case 78: /* blocks ::= BLOCKS INTEGER */ yytestcase(yyruleno==78);
+ case 79: /* ctime ::= CTIME INTEGER */ yytestcase(yyruleno==79);
+ case 80: /* wal ::= WAL INTEGER */ yytestcase(yyruleno==80);
+ case 81: /* fsync ::= FSYNC INTEGER */ yytestcase(yyruleno==81);
+ case 82: /* comp ::= COMP INTEGER */ yytestcase(yyruleno==82);
+ case 83: /* prec ::= PRECISION STRING */ yytestcase(yyruleno==83);
{ yymsp[-1].minor.yy0 = yymsp[0].minor.yy0; }
break;
- case 83: /* db_optr ::= */
-{setDefaultCreateDbOption(&yymsp[1].minor.yy158);}
+ case 84: /* db_optr ::= */
+{setDefaultCreateDbOption(&yymsp[1].minor.yy268);}
break;
- case 84: /* db_optr ::= db_optr tables */
- case 99: /* alter_db_optr ::= alter_db_optr tables */ yytestcase(yyruleno==99);
-{ yylhsminor.yy158 = yymsp[-1].minor.yy158; yylhsminor.yy158.maxTablesPerVnode = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
- yymsp[-1].minor.yy158 = yylhsminor.yy158;
+ case 85: /* db_optr ::= db_optr tables */
+ case 102: /* alter_db_optr ::= alter_db_optr tables */ yytestcase(yyruleno==102);
+{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.maxTablesPerVnode = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
+ yymsp[-1].minor.yy268 = yylhsminor.yy268;
break;
- case 85: /* db_optr ::= db_optr cache */
-{ yylhsminor.yy158 = yymsp[-1].minor.yy158; yylhsminor.yy158.cacheBlockSize = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
- yymsp[-1].minor.yy158 = yylhsminor.yy158;
+ case 86: /* db_optr ::= db_optr cache */
+{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.cacheBlockSize = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
+ yymsp[-1].minor.yy268 = yylhsminor.yy268;
break;
- case 86: /* db_optr ::= db_optr replica */
- case 98: /* alter_db_optr ::= alter_db_optr replica */ yytestcase(yyruleno==98);
-{ yylhsminor.yy158 = yymsp[-1].minor.yy158; yylhsminor.yy158.replica = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
- yymsp[-1].minor.yy158 = yylhsminor.yy158;
+ case 87: /* db_optr ::= db_optr replica */
+ case 100: /* alter_db_optr ::= alter_db_optr replica */ yytestcase(yyruleno==100);
+{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.replica = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
+ yymsp[-1].minor.yy268 = yylhsminor.yy268;
break;
- case 87: /* db_optr ::= db_optr days */
-{ yylhsminor.yy158 = yymsp[-1].minor.yy158; yylhsminor.yy158.daysPerFile = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
- yymsp[-1].minor.yy158 = yylhsminor.yy158;
+ case 88: /* db_optr ::= db_optr quorum */
+ case 101: /* alter_db_optr ::= alter_db_optr quorum */ yytestcase(yyruleno==101);
+{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.quorum = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
+ yymsp[-1].minor.yy268 = yylhsminor.yy268;
break;
- case 88: /* db_optr ::= db_optr minrows */
-{ yylhsminor.yy158 = yymsp[-1].minor.yy158; yylhsminor.yy158.minRowsPerBlock = strtod(yymsp[0].minor.yy0.z, NULL); }
- yymsp[-1].minor.yy158 = yylhsminor.yy158;
+ case 89: /* db_optr ::= db_optr days */
+{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.daysPerFile = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
+ yymsp[-1].minor.yy268 = yylhsminor.yy268;
break;
- case 89: /* db_optr ::= db_optr maxrows */
-{ yylhsminor.yy158 = yymsp[-1].minor.yy158; yylhsminor.yy158.maxRowsPerBlock = strtod(yymsp[0].minor.yy0.z, NULL); }
- yymsp[-1].minor.yy158 = yylhsminor.yy158;
+ case 90: /* db_optr ::= db_optr minrows */
+{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.minRowsPerBlock = strtod(yymsp[0].minor.yy0.z, NULL); }
+ yymsp[-1].minor.yy268 = yylhsminor.yy268;
break;
- case 90: /* db_optr ::= db_optr blocks */
- case 101: /* alter_db_optr ::= alter_db_optr blocks */ yytestcase(yyruleno==101);
-{ yylhsminor.yy158 = yymsp[-1].minor.yy158; yylhsminor.yy158.numOfBlocks = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
- yymsp[-1].minor.yy158 = yylhsminor.yy158;
+ case 91: /* db_optr ::= db_optr maxrows */
+{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.maxRowsPerBlock = strtod(yymsp[0].minor.yy0.z, NULL); }
+ yymsp[-1].minor.yy268 = yylhsminor.yy268;
break;
- case 91: /* db_optr ::= db_optr ctime */
-{ yylhsminor.yy158 = yymsp[-1].minor.yy158; yylhsminor.yy158.commitTime = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
- yymsp[-1].minor.yy158 = yylhsminor.yy158;
+ case 92: /* db_optr ::= db_optr blocks */
+ case 104: /* alter_db_optr ::= alter_db_optr blocks */ yytestcase(yyruleno==104);
+{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.numOfBlocks = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
+ yymsp[-1].minor.yy268 = yylhsminor.yy268;
break;
- case 92: /* db_optr ::= db_optr wal */
- case 103: /* alter_db_optr ::= alter_db_optr wal */ yytestcase(yyruleno==103);
-{ yylhsminor.yy158 = yymsp[-1].minor.yy158; yylhsminor.yy158.walLevel = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
- yymsp[-1].minor.yy158 = yylhsminor.yy158;
+ case 93: /* db_optr ::= db_optr ctime */
+{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.commitTime = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
+ yymsp[-1].minor.yy268 = yylhsminor.yy268;
break;
- case 93: /* db_optr ::= db_optr fsync */
-{ yylhsminor.yy158 = yymsp[-1].minor.yy158; yylhsminor.yy158.fsyncPeriod = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
- yymsp[-1].minor.yy158 = yylhsminor.yy158;
+ case 94: /* db_optr ::= db_optr wal */
+ case 106: /* alter_db_optr ::= alter_db_optr wal */ yytestcase(yyruleno==106);
+{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.walLevel = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
+ yymsp[-1].minor.yy268 = yylhsminor.yy268;
break;
- case 94: /* db_optr ::= db_optr comp */
- case 102: /* alter_db_optr ::= alter_db_optr comp */ yytestcase(yyruleno==102);
-{ yylhsminor.yy158 = yymsp[-1].minor.yy158; yylhsminor.yy158.compressionLevel = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
- yymsp[-1].minor.yy158 = yylhsminor.yy158;
+ case 95: /* db_optr ::= db_optr fsync */
+{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.fsyncPeriod = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
+ yymsp[-1].minor.yy268 = yylhsminor.yy268;
break;
- case 95: /* db_optr ::= db_optr prec */
-{ yylhsminor.yy158 = yymsp[-1].minor.yy158; yylhsminor.yy158.precision = yymsp[0].minor.yy0; }
- yymsp[-1].minor.yy158 = yylhsminor.yy158;
+ case 96: /* db_optr ::= db_optr comp */
+ case 105: /* alter_db_optr ::= alter_db_optr comp */ yytestcase(yyruleno==105);
+{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.compressionLevel = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
+ yymsp[-1].minor.yy268 = yylhsminor.yy268;
break;
- case 96: /* db_optr ::= db_optr keep */
- case 100: /* alter_db_optr ::= alter_db_optr keep */ yytestcase(yyruleno==100);
-{ yylhsminor.yy158 = yymsp[-1].minor.yy158; yylhsminor.yy158.keep = yymsp[0].minor.yy494; }
- yymsp[-1].minor.yy158 = yylhsminor.yy158;
+ case 97: /* db_optr ::= db_optr prec */
+{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.precision = yymsp[0].minor.yy0; }
+ yymsp[-1].minor.yy268 = yylhsminor.yy268;
break;
- case 97: /* alter_db_optr ::= */
-{ setDefaultCreateDbOption(&yymsp[1].minor.yy158);}
+ case 98: /* db_optr ::= db_optr keep */
+ case 103: /* alter_db_optr ::= alter_db_optr keep */ yytestcase(yyruleno==103);
+{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.keep = yymsp[0].minor.yy498; }
+ yymsp[-1].minor.yy268 = yylhsminor.yy268;
break;
- case 104: /* alter_db_optr ::= alter_db_optr fsync */
-{ yylhsminor.yy158 = yymsp[-1].minor.yy158; yylhsminor.yy158.fsyncPeriod = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
- yymsp[-1].minor.yy158 = yylhsminor.yy158;
+ case 99: /* alter_db_optr ::= */
+{ setDefaultCreateDbOption(&yymsp[1].minor.yy268);}
break;
- case 105: /* typename ::= ids */
+ case 107: /* alter_db_optr ::= alter_db_optr fsync */
+{ yylhsminor.yy268 = yymsp[-1].minor.yy268; yylhsminor.yy268.fsyncPeriod = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
+ yymsp[-1].minor.yy268 = yylhsminor.yy268;
+ break;
+ case 108: /* typename ::= ids */
{
yymsp[0].minor.yy0.type = 0;
- tSQLSetColumnType (&yylhsminor.yy181, &yymsp[0].minor.yy0);
+ tSQLSetColumnType (&yylhsminor.yy223, &yymsp[0].minor.yy0);
}
- yymsp[0].minor.yy181 = yylhsminor.yy181;
+ yymsp[0].minor.yy223 = yylhsminor.yy223;
break;
- case 106: /* typename ::= ids LP signed RP */
+ case 109: /* typename ::= ids LP signed RP */
{
- if (yymsp[-1].minor.yy271 <= 0) {
+ if (yymsp[-1].minor.yy207 <= 0) {
yymsp[-3].minor.yy0.type = 0;
- tSQLSetColumnType(&yylhsminor.yy181, &yymsp[-3].minor.yy0);
+ tSQLSetColumnType(&yylhsminor.yy223, &yymsp[-3].minor.yy0);
} else {
- yymsp[-3].minor.yy0.type = -yymsp[-1].minor.yy271; // negative value of name length
- tSQLSetColumnType(&yylhsminor.yy181, &yymsp[-3].minor.yy0);
+ yymsp[-3].minor.yy0.type = -yymsp[-1].minor.yy207; // negative value of name length
+ tSQLSetColumnType(&yylhsminor.yy223, &yymsp[-3].minor.yy0);
}
}
- yymsp[-3].minor.yy181 = yylhsminor.yy181;
+ yymsp[-3].minor.yy223 = yylhsminor.yy223;
break;
- case 107: /* signed ::= INTEGER */
-{ yylhsminor.yy271 = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
- yymsp[0].minor.yy271 = yylhsminor.yy271;
+ case 110: /* signed ::= INTEGER */
+{ yylhsminor.yy207 = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
+ yymsp[0].minor.yy207 = yylhsminor.yy207;
break;
- case 108: /* signed ::= PLUS INTEGER */
-{ yymsp[-1].minor.yy271 = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
+ case 111: /* signed ::= PLUS INTEGER */
+{ yymsp[-1].minor.yy207 = strtol(yymsp[0].minor.yy0.z, NULL, 10); }
break;
- case 109: /* signed ::= MINUS INTEGER */
-{ yymsp[-1].minor.yy271 = -strtol(yymsp[0].minor.yy0.z, NULL, 10);}
+ case 112: /* signed ::= MINUS INTEGER */
+{ yymsp[-1].minor.yy207 = -strtol(yymsp[0].minor.yy0.z, NULL, 10);}
break;
- case 110: /* cmd ::= CREATE TABLE ifnotexists ids cpxName create_table_args */
+ case 113: /* cmd ::= CREATE TABLE ifnotexists ids cpxName create_table_args */
{
yymsp[-2].minor.yy0.n += yymsp[-1].minor.yy0.n;
setCreatedTableName(pInfo, &yymsp[-2].minor.yy0, &yymsp[-3].minor.yy0);
}
break;
- case 111: /* create_table_args ::= LP columnlist RP */
+ case 114: /* create_table_args ::= LP columnlist RP */
{
- yymsp[-2].minor.yy374 = tSetCreateSQLElems(yymsp[-1].minor.yy449, NULL, NULL, NULL, NULL, TSQL_CREATE_TABLE);
- setSQLInfo(pInfo, yymsp[-2].minor.yy374, NULL, TSDB_SQL_CREATE_TABLE);
+ yymsp[-2].minor.yy470 = tSetCreateSQLElems(yymsp[-1].minor.yy523, NULL, NULL, NULL, NULL, TSQL_CREATE_TABLE);
+ setSQLInfo(pInfo, yymsp[-2].minor.yy470, NULL, TSDB_SQL_CREATE_TABLE);
}
break;
- case 112: /* create_table_args ::= LP columnlist RP TAGS LP columnlist RP */
+ case 115: /* create_table_args ::= LP columnlist RP TAGS LP columnlist RP */
{
- yymsp[-6].minor.yy374 = tSetCreateSQLElems(yymsp[-5].minor.yy449, yymsp[-1].minor.yy449, NULL, NULL, NULL, TSQL_CREATE_STABLE);
- setSQLInfo(pInfo, yymsp[-6].minor.yy374, NULL, TSDB_SQL_CREATE_TABLE);
+ yymsp[-6].minor.yy470 = tSetCreateSQLElems(yymsp[-5].minor.yy523, yymsp[-1].minor.yy523, NULL, NULL, NULL, TSQL_CREATE_STABLE);
+ setSQLInfo(pInfo, yymsp[-6].minor.yy470, NULL, TSDB_SQL_CREATE_TABLE);
}
break;
- case 113: /* create_table_args ::= USING ids cpxName TAGS LP tagitemlist RP */
+ case 116: /* create_table_args ::= USING ids cpxName TAGS LP tagitemlist RP */
{
yymsp[-5].minor.yy0.n += yymsp[-4].minor.yy0.n;
- yymsp[-6].minor.yy374 = tSetCreateSQLElems(NULL, NULL, &yymsp[-5].minor.yy0, yymsp[-1].minor.yy494, NULL, TSQL_CREATE_TABLE_FROM_STABLE);
- setSQLInfo(pInfo, yymsp[-6].minor.yy374, NULL, TSDB_SQL_CREATE_TABLE);
+ yymsp[-6].minor.yy470 = tSetCreateSQLElems(NULL, NULL, &yymsp[-5].minor.yy0, yymsp[-1].minor.yy498, NULL, TSQL_CREATE_TABLE_FROM_STABLE);
+ setSQLInfo(pInfo, yymsp[-6].minor.yy470, NULL, TSDB_SQL_CREATE_TABLE);
}
break;
- case 114: /* create_table_args ::= AS select */
+ case 117: /* create_table_args ::= AS select */
{
- yymsp[-1].minor.yy374 = tSetCreateSQLElems(NULL, NULL, NULL, NULL, yymsp[0].minor.yy150, TSQL_CREATE_STREAM);
- setSQLInfo(pInfo, yymsp[-1].minor.yy374, NULL, TSDB_SQL_CREATE_TABLE);
+ yymsp[-1].minor.yy470 = tSetCreateSQLElems(NULL, NULL, NULL, NULL, yymsp[0].minor.yy414, TSQL_CREATE_STREAM);
+ setSQLInfo(pInfo, yymsp[-1].minor.yy470, NULL, TSDB_SQL_CREATE_TABLE);
}
break;
- case 115: /* columnlist ::= columnlist COMMA column */
-{yylhsminor.yy449 = tFieldListAppend(yymsp[-2].minor.yy449, &yymsp[0].minor.yy181); }
- yymsp[-2].minor.yy449 = yylhsminor.yy449;
+ case 118: /* columnlist ::= columnlist COMMA column */
+{yylhsminor.yy523 = tFieldListAppend(yymsp[-2].minor.yy523, &yymsp[0].minor.yy223); }
+ yymsp[-2].minor.yy523 = yylhsminor.yy523;
break;
- case 116: /* columnlist ::= column */
-{yylhsminor.yy449 = tFieldListAppend(NULL, &yymsp[0].minor.yy181);}
- yymsp[0].minor.yy449 = yylhsminor.yy449;
+ case 119: /* columnlist ::= column */
+{yylhsminor.yy523 = tFieldListAppend(NULL, &yymsp[0].minor.yy223);}
+ yymsp[0].minor.yy523 = yylhsminor.yy523;
break;
- case 117: /* column ::= ids typename */
+ case 120: /* column ::= ids typename */
{
- tSQLSetColumnInfo(&yylhsminor.yy181, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy181);
+ tSQLSetColumnInfo(&yylhsminor.yy223, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy223);
}
- yymsp[-1].minor.yy181 = yylhsminor.yy181;
+ yymsp[-1].minor.yy223 = yylhsminor.yy223;
break;
- case 118: /* tagitemlist ::= tagitemlist COMMA tagitem */
-{ yylhsminor.yy494 = tVariantListAppend(yymsp[-2].minor.yy494, &yymsp[0].minor.yy312, -1); }
- yymsp[-2].minor.yy494 = yylhsminor.yy494;
+ case 121: /* tagitemlist ::= tagitemlist COMMA tagitem */
+{ yylhsminor.yy498 = tVariantListAppend(yymsp[-2].minor.yy498, &yymsp[0].minor.yy134, -1); }
+ yymsp[-2].minor.yy498 = yylhsminor.yy498;
break;
- case 119: /* tagitemlist ::= tagitem */
-{ yylhsminor.yy494 = tVariantListAppend(NULL, &yymsp[0].minor.yy312, -1); }
- yymsp[0].minor.yy494 = yylhsminor.yy494;
+ case 122: /* tagitemlist ::= tagitem */
+{ yylhsminor.yy498 = tVariantListAppend(NULL, &yymsp[0].minor.yy134, -1); }
+ yymsp[0].minor.yy498 = yylhsminor.yy498;
break;
- case 120: /* tagitem ::= INTEGER */
- case 121: /* tagitem ::= FLOAT */ yytestcase(yyruleno==121);
- case 122: /* tagitem ::= STRING */ yytestcase(yyruleno==122);
- case 123: /* tagitem ::= BOOL */ yytestcase(yyruleno==123);
-{toTSDBType(yymsp[0].minor.yy0.type); tVariantCreate(&yylhsminor.yy312, &yymsp[0].minor.yy0); }
- yymsp[0].minor.yy312 = yylhsminor.yy312;
+ case 123: /* tagitem ::= INTEGER */
+ case 124: /* tagitem ::= FLOAT */ yytestcase(yyruleno==124);
+ case 125: /* tagitem ::= STRING */ yytestcase(yyruleno==125);
+ case 126: /* tagitem ::= BOOL */ yytestcase(yyruleno==126);
+{toTSDBType(yymsp[0].minor.yy0.type); tVariantCreate(&yylhsminor.yy134, &yymsp[0].minor.yy0); }
+ yymsp[0].minor.yy134 = yylhsminor.yy134;
break;
- case 124: /* tagitem ::= NULL */
-{ yymsp[0].minor.yy0.type = 0; tVariantCreate(&yylhsminor.yy312, &yymsp[0].minor.yy0); }
- yymsp[0].minor.yy312 = yylhsminor.yy312;
+ case 127: /* tagitem ::= NULL */
+{ yymsp[0].minor.yy0.type = 0; tVariantCreate(&yylhsminor.yy134, &yymsp[0].minor.yy0); }
+ yymsp[0].minor.yy134 = yylhsminor.yy134;
break;
- case 125: /* tagitem ::= MINUS INTEGER */
- case 126: /* tagitem ::= MINUS FLOAT */ yytestcase(yyruleno==126);
- case 127: /* tagitem ::= PLUS INTEGER */ yytestcase(yyruleno==127);
- case 128: /* tagitem ::= PLUS FLOAT */ yytestcase(yyruleno==128);
+ case 128: /* tagitem ::= MINUS INTEGER */
+ case 129: /* tagitem ::= MINUS FLOAT */ yytestcase(yyruleno==129);
+ case 130: /* tagitem ::= PLUS INTEGER */ yytestcase(yyruleno==130);
+ case 131: /* tagitem ::= PLUS FLOAT */ yytestcase(yyruleno==131);
{
yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n;
yymsp[-1].minor.yy0.type = yymsp[0].minor.yy0.type;
toTSDBType(yymsp[-1].minor.yy0.type);
- tVariantCreate(&yylhsminor.yy312, &yymsp[-1].minor.yy0);
+ tVariantCreate(&yylhsminor.yy134, &yymsp[-1].minor.yy0);
}
- yymsp[-1].minor.yy312 = yylhsminor.yy312;
+ yymsp[-1].minor.yy134 = yylhsminor.yy134;
break;
- case 129: /* select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
+ case 132: /* select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
{
- yylhsminor.yy150 = tSetQuerySQLElems(&yymsp[-11].minor.yy0, yymsp[-10].minor.yy224, yymsp[-9].minor.yy494, yymsp[-8].minor.yy66, yymsp[-4].minor.yy494, yymsp[-3].minor.yy494, &yymsp[-7].minor.yy0, &yymsp[-5].minor.yy0, yymsp[-6].minor.yy494, &yymsp[0].minor.yy188, &yymsp[-1].minor.yy188);
+ yylhsminor.yy414 = tSetQuerySQLElems(&yymsp[-11].minor.yy0, yymsp[-10].minor.yy290, yymsp[-9].minor.yy498, yymsp[-8].minor.yy64, yymsp[-4].minor.yy498, yymsp[-3].minor.yy498, &yymsp[-7].minor.yy0, &yymsp[-5].minor.yy0, yymsp[-6].minor.yy498, &yymsp[0].minor.yy216, &yymsp[-1].minor.yy216);
}
- yymsp[-11].minor.yy150 = yylhsminor.yy150;
+ yymsp[-11].minor.yy414 = yylhsminor.yy414;
break;
- case 130: /* union ::= select */
-{ yylhsminor.yy25 = setSubclause(NULL, yymsp[0].minor.yy150); }
- yymsp[0].minor.yy25 = yylhsminor.yy25;
+ case 133: /* union ::= select */
+{ yylhsminor.yy231 = setSubclause(NULL, yymsp[0].minor.yy414); }
+ yymsp[0].minor.yy231 = yylhsminor.yy231;
break;
- case 131: /* union ::= LP union RP */
-{ yymsp[-2].minor.yy25 = yymsp[-1].minor.yy25; }
+ case 134: /* union ::= LP union RP */
+{ yymsp[-2].minor.yy231 = yymsp[-1].minor.yy231; }
break;
- case 132: /* union ::= union UNION ALL select */
-{ yylhsminor.yy25 = appendSelectClause(yymsp[-3].minor.yy25, yymsp[0].minor.yy150); }
- yymsp[-3].minor.yy25 = yylhsminor.yy25;
+ case 135: /* union ::= union UNION ALL select */
+{ yylhsminor.yy231 = appendSelectClause(yymsp[-3].minor.yy231, yymsp[0].minor.yy414); }
+ yymsp[-3].minor.yy231 = yylhsminor.yy231;
break;
- case 133: /* union ::= union UNION ALL LP select RP */
-{ yylhsminor.yy25 = appendSelectClause(yymsp[-5].minor.yy25, yymsp[-1].minor.yy150); }
- yymsp[-5].minor.yy25 = yylhsminor.yy25;
+ case 136: /* union ::= union UNION ALL LP select RP */
+{ yylhsminor.yy231 = appendSelectClause(yymsp[-5].minor.yy231, yymsp[-1].minor.yy414); }
+ yymsp[-5].minor.yy231 = yylhsminor.yy231;
break;
- case 134: /* cmd ::= union */
-{ setSQLInfo(pInfo, yymsp[0].minor.yy25, NULL, TSDB_SQL_SELECT); }
+ case 137: /* cmd ::= union */
+{ setSQLInfo(pInfo, yymsp[0].minor.yy231, NULL, TSDB_SQL_SELECT); }
break;
- case 135: /* select ::= SELECT selcollist */
+ case 138: /* select ::= SELECT selcollist */
{
- yylhsminor.yy150 = tSetQuerySQLElems(&yymsp[-1].minor.yy0, yymsp[0].minor.yy224, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+ yylhsminor.yy414 = tSetQuerySQLElems(&yymsp[-1].minor.yy0, yymsp[0].minor.yy290, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
}
- yymsp[-1].minor.yy150 = yylhsminor.yy150;
+ yymsp[-1].minor.yy414 = yylhsminor.yy414;
break;
- case 136: /* sclp ::= selcollist COMMA */
-{yylhsminor.yy224 = yymsp[-1].minor.yy224;}
- yymsp[-1].minor.yy224 = yylhsminor.yy224;
+ case 139: /* sclp ::= selcollist COMMA */
+{yylhsminor.yy290 = yymsp[-1].minor.yy290;}
+ yymsp[-1].minor.yy290 = yylhsminor.yy290;
break;
- case 137: /* sclp ::= */
-{yymsp[1].minor.yy224 = 0;}
+ case 140: /* sclp ::= */
+{yymsp[1].minor.yy290 = 0;}
break;
- case 138: /* selcollist ::= sclp expr as */
+ case 141: /* selcollist ::= sclp expr as */
{
- yylhsminor.yy224 = tSQLExprListAppend(yymsp[-2].minor.yy224, yymsp[-1].minor.yy66, yymsp[0].minor.yy0.n?&yymsp[0].minor.yy0:0);
+ yylhsminor.yy290 = tSQLExprListAppend(yymsp[-2].minor.yy290, yymsp[-1].minor.yy64, yymsp[0].minor.yy0.n?&yymsp[0].minor.yy0:0);
}
- yymsp[-2].minor.yy224 = yylhsminor.yy224;
+ yymsp[-2].minor.yy290 = yylhsminor.yy290;
break;
- case 139: /* selcollist ::= sclp STAR */
+ case 142: /* selcollist ::= sclp STAR */
{
tSQLExpr *pNode = tSQLExprIdValueCreate(NULL, TK_ALL);
- yylhsminor.yy224 = tSQLExprListAppend(yymsp[-1].minor.yy224, pNode, 0);
+ yylhsminor.yy290 = tSQLExprListAppend(yymsp[-1].minor.yy290, pNode, 0);
}
- yymsp[-1].minor.yy224 = yylhsminor.yy224;
+ yymsp[-1].minor.yy290 = yylhsminor.yy290;
break;
- case 140: /* as ::= AS ids */
+ case 143: /* as ::= AS ids */
{ yymsp[-1].minor.yy0 = yymsp[0].minor.yy0; }
break;
- case 141: /* as ::= ids */
+ case 144: /* as ::= ids */
{ yylhsminor.yy0 = yymsp[0].minor.yy0; }
yymsp[0].minor.yy0 = yylhsminor.yy0;
break;
- case 142: /* as ::= */
+ case 145: /* as ::= */
{ yymsp[1].minor.yy0.n = 0; }
break;
- case 143: /* from ::= FROM tablelist */
-{yymsp[-1].minor.yy494 = yymsp[0].minor.yy494;}
+ case 146: /* from ::= FROM tablelist */
+{yymsp[-1].minor.yy498 = yymsp[0].minor.yy498;}
break;
- case 144: /* tablelist ::= ids cpxName */
-{ toTSDBType(yymsp[-1].minor.yy0.type); yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yylhsminor.yy494 = tVariantListAppendToken(NULL, &yymsp[-1].minor.yy0, -1);}
- yymsp[-1].minor.yy494 = yylhsminor.yy494;
+ case 147: /* tablelist ::= ids cpxName */
+{ toTSDBType(yymsp[-1].minor.yy0.type); yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yylhsminor.yy498 = tVariantListAppendToken(NULL, &yymsp[-1].minor.yy0, -1);}
+ yymsp[-1].minor.yy498 = yylhsminor.yy498;
break;
- case 145: /* tablelist ::= tablelist COMMA ids cpxName */
-{ toTSDBType(yymsp[-1].minor.yy0.type); yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yylhsminor.yy494 = tVariantListAppendToken(yymsp[-3].minor.yy494, &yymsp[-1].minor.yy0, -1); }
- yymsp[-3].minor.yy494 = yylhsminor.yy494;
+ case 148: /* tablelist ::= tablelist COMMA ids cpxName */
+{ toTSDBType(yymsp[-1].minor.yy0.type); yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yylhsminor.yy498 = tVariantListAppendToken(yymsp[-3].minor.yy498, &yymsp[-1].minor.yy0, -1); }
+ yymsp[-3].minor.yy498 = yylhsminor.yy498;
break;
- case 146: /* tmvar ::= VARIABLE */
+ case 149: /* tmvar ::= VARIABLE */
{yylhsminor.yy0 = yymsp[0].minor.yy0;}
yymsp[0].minor.yy0 = yylhsminor.yy0;
break;
- case 147: /* interval_opt ::= INTERVAL LP tmvar RP */
- case 152: /* sliding_opt ::= SLIDING LP tmvar RP */ yytestcase(yyruleno==152);
+ case 150: /* interval_opt ::= INTERVAL LP tmvar RP */
+ case 155: /* sliding_opt ::= SLIDING LP tmvar RP */ yytestcase(yyruleno==155);
{yymsp[-3].minor.yy0 = yymsp[-1].minor.yy0; }
break;
- case 148: /* interval_opt ::= */
- case 153: /* sliding_opt ::= */ yytestcase(yyruleno==153);
+ case 151: /* interval_opt ::= */
+ case 156: /* sliding_opt ::= */ yytestcase(yyruleno==156);
{yymsp[1].minor.yy0.n = 0; yymsp[1].minor.yy0.z = NULL; yymsp[1].minor.yy0.type = 0; }
break;
- case 149: /* fill_opt ::= */
-{yymsp[1].minor.yy494 = 0; }
+ case 152: /* fill_opt ::= */
+{yymsp[1].minor.yy498 = 0; }
break;
- case 150: /* fill_opt ::= FILL LP ID COMMA tagitemlist RP */
+ case 153: /* fill_opt ::= FILL LP ID COMMA tagitemlist RP */
{
tVariant A = {0};
toTSDBType(yymsp[-3].minor.yy0.type);
tVariantCreate(&A, &yymsp[-3].minor.yy0);
- tVariantListInsert(yymsp[-1].minor.yy494, &A, -1, 0);
- yymsp[-5].minor.yy494 = yymsp[-1].minor.yy494;
+ tVariantListInsert(yymsp[-1].minor.yy498, &A, -1, 0);
+ yymsp[-5].minor.yy498 = yymsp[-1].minor.yy498;
}
break;
- case 151: /* fill_opt ::= FILL LP ID RP */
+ case 154: /* fill_opt ::= FILL LP ID RP */
{
toTSDBType(yymsp[-1].minor.yy0.type);
- yymsp[-3].minor.yy494 = tVariantListAppendToken(NULL, &yymsp[-1].minor.yy0, -1);
+ yymsp[-3].minor.yy498 = tVariantListAppendToken(NULL, &yymsp[-1].minor.yy0, -1);
}
break;
- case 154: /* orderby_opt ::= */
- case 162: /* groupby_opt ::= */ yytestcase(yyruleno==162);
-{yymsp[1].minor.yy494 = 0;}
+ case 157: /* orderby_opt ::= */
+ case 165: /* groupby_opt ::= */ yytestcase(yyruleno==165);
+{yymsp[1].minor.yy498 = 0;}
break;
- case 155: /* orderby_opt ::= ORDER BY sortlist */
- case 163: /* groupby_opt ::= GROUP BY grouplist */ yytestcase(yyruleno==163);
-{yymsp[-2].minor.yy494 = yymsp[0].minor.yy494;}
+ case 158: /* orderby_opt ::= ORDER BY sortlist */
+ case 166: /* groupby_opt ::= GROUP BY grouplist */ yytestcase(yyruleno==166);
+{yymsp[-2].minor.yy498 = yymsp[0].minor.yy498;}
break;
- case 156: /* sortlist ::= sortlist COMMA item sortorder */
+ case 159: /* sortlist ::= sortlist COMMA item sortorder */
{
- yylhsminor.yy494 = tVariantListAppend(yymsp[-3].minor.yy494, &yymsp[-1].minor.yy312, yymsp[0].minor.yy82);
+ yylhsminor.yy498 = tVariantListAppend(yymsp[-3].minor.yy498, &yymsp[-1].minor.yy134, yymsp[0].minor.yy46);
}
- yymsp[-3].minor.yy494 = yylhsminor.yy494;
+ yymsp[-3].minor.yy498 = yylhsminor.yy498;
break;
- case 157: /* sortlist ::= item sortorder */
+ case 160: /* sortlist ::= item sortorder */
{
- yylhsminor.yy494 = tVariantListAppend(NULL, &yymsp[-1].minor.yy312, yymsp[0].minor.yy82);
+ yylhsminor.yy498 = tVariantListAppend(NULL, &yymsp[-1].minor.yy134, yymsp[0].minor.yy46);
}
- yymsp[-1].minor.yy494 = yylhsminor.yy494;
+ yymsp[-1].minor.yy498 = yylhsminor.yy498;
break;
- case 158: /* item ::= ids cpxName */
+ case 161: /* item ::= ids cpxName */
{
toTSDBType(yymsp[-1].minor.yy0.type);
yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n;
- tVariantCreate(&yylhsminor.yy312, &yymsp[-1].minor.yy0);
+ tVariantCreate(&yylhsminor.yy134, &yymsp[-1].minor.yy0);
}
- yymsp[-1].minor.yy312 = yylhsminor.yy312;
+ yymsp[-1].minor.yy134 = yylhsminor.yy134;
break;
- case 159: /* sortorder ::= ASC */
-{yymsp[0].minor.yy82 = TSDB_ORDER_ASC; }
+ case 162: /* sortorder ::= ASC */
+{yymsp[0].minor.yy46 = TSDB_ORDER_ASC; }
break;
- case 160: /* sortorder ::= DESC */
-{yymsp[0].minor.yy82 = TSDB_ORDER_DESC;}
+ case 163: /* sortorder ::= DESC */
+{yymsp[0].minor.yy46 = TSDB_ORDER_DESC;}
break;
- case 161: /* sortorder ::= */
-{yymsp[1].minor.yy82 = TSDB_ORDER_ASC;}
+ case 164: /* sortorder ::= */
+{yymsp[1].minor.yy46 = TSDB_ORDER_ASC;}
break;
- case 164: /* grouplist ::= grouplist COMMA item */
+ case 167: /* grouplist ::= grouplist COMMA item */
{
- yylhsminor.yy494 = tVariantListAppend(yymsp[-2].minor.yy494, &yymsp[0].minor.yy312, -1);
+ yylhsminor.yy498 = tVariantListAppend(yymsp[-2].minor.yy498, &yymsp[0].minor.yy134, -1);
}
- yymsp[-2].minor.yy494 = yylhsminor.yy494;
+ yymsp[-2].minor.yy498 = yylhsminor.yy498;
break;
- case 165: /* grouplist ::= item */
+ case 168: /* grouplist ::= item */
{
- yylhsminor.yy494 = tVariantListAppend(NULL, &yymsp[0].minor.yy312, -1);
+ yylhsminor.yy498 = tVariantListAppend(NULL, &yymsp[0].minor.yy134, -1);
}
- yymsp[0].minor.yy494 = yylhsminor.yy494;
+ yymsp[0].minor.yy498 = yylhsminor.yy498;
break;
- case 166: /* having_opt ::= */
- case 176: /* where_opt ::= */ yytestcase(yyruleno==176);
- case 212: /* expritem ::= */ yytestcase(yyruleno==212);
-{yymsp[1].minor.yy66 = 0;}
+ case 169: /* having_opt ::= */
+ case 179: /* where_opt ::= */ yytestcase(yyruleno==179);
+ case 215: /* expritem ::= */ yytestcase(yyruleno==215);
+{yymsp[1].minor.yy64 = 0;}
break;
- case 167: /* having_opt ::= HAVING expr */
- case 177: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==177);
-{yymsp[-1].minor.yy66 = yymsp[0].minor.yy66;}
+ case 170: /* having_opt ::= HAVING expr */
+ case 180: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==180);
+{yymsp[-1].minor.yy64 = yymsp[0].minor.yy64;}
break;
- case 168: /* limit_opt ::= */
- case 172: /* slimit_opt ::= */ yytestcase(yyruleno==172);
-{yymsp[1].minor.yy188.limit = -1; yymsp[1].minor.yy188.offset = 0;}
+ case 171: /* limit_opt ::= */
+ case 175: /* slimit_opt ::= */ yytestcase(yyruleno==175);
+{yymsp[1].minor.yy216.limit = -1; yymsp[1].minor.yy216.offset = 0;}
break;
- case 169: /* limit_opt ::= LIMIT signed */
- case 173: /* slimit_opt ::= SLIMIT signed */ yytestcase(yyruleno==173);
-{yymsp[-1].minor.yy188.limit = yymsp[0].minor.yy271; yymsp[-1].minor.yy188.offset = 0;}
+ case 172: /* limit_opt ::= LIMIT signed */
+ case 176: /* slimit_opt ::= SLIMIT signed */ yytestcase(yyruleno==176);
+{yymsp[-1].minor.yy216.limit = yymsp[0].minor.yy207; yymsp[-1].minor.yy216.offset = 0;}
break;
- case 170: /* limit_opt ::= LIMIT signed OFFSET signed */
- case 174: /* slimit_opt ::= SLIMIT signed SOFFSET signed */ yytestcase(yyruleno==174);
-{yymsp[-3].minor.yy188.limit = yymsp[-2].minor.yy271; yymsp[-3].minor.yy188.offset = yymsp[0].minor.yy271;}
+ case 173: /* limit_opt ::= LIMIT signed OFFSET signed */
+ case 177: /* slimit_opt ::= SLIMIT signed SOFFSET signed */ yytestcase(yyruleno==177);
+{yymsp[-3].minor.yy216.limit = yymsp[-2].minor.yy207; yymsp[-3].minor.yy216.offset = yymsp[0].minor.yy207;}
break;
- case 171: /* limit_opt ::= LIMIT signed COMMA signed */
- case 175: /* slimit_opt ::= SLIMIT signed COMMA signed */ yytestcase(yyruleno==175);
-{yymsp[-3].minor.yy188.limit = yymsp[0].minor.yy271; yymsp[-3].minor.yy188.offset = yymsp[-2].minor.yy271;}
+ case 174: /* limit_opt ::= LIMIT signed COMMA signed */
+ case 178: /* slimit_opt ::= SLIMIT signed COMMA signed */ yytestcase(yyruleno==178);
+{yymsp[-3].minor.yy216.limit = yymsp[0].minor.yy207; yymsp[-3].minor.yy216.offset = yymsp[-2].minor.yy207;}
break;
- case 178: /* expr ::= LP expr RP */
-{yymsp[-2].minor.yy66 = yymsp[-1].minor.yy66; }
+ case 181: /* expr ::= LP expr RP */
+{yymsp[-2].minor.yy64 = yymsp[-1].minor.yy64; }
break;
- case 179: /* expr ::= ID */
-{yylhsminor.yy66 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_ID);}
- yymsp[0].minor.yy66 = yylhsminor.yy66;
+ case 182: /* expr ::= ID */
+{yylhsminor.yy64 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_ID);}
+ yymsp[0].minor.yy64 = yylhsminor.yy64;
break;
- case 180: /* expr ::= ID DOT ID */
-{yymsp[-2].minor.yy0.n += (1+yymsp[0].minor.yy0.n); yylhsminor.yy66 = tSQLExprIdValueCreate(&yymsp[-2].minor.yy0, TK_ID);}
- yymsp[-2].minor.yy66 = yylhsminor.yy66;
+ case 183: /* expr ::= ID DOT ID */
+{yymsp[-2].minor.yy0.n += (1+yymsp[0].minor.yy0.n); yylhsminor.yy64 = tSQLExprIdValueCreate(&yymsp[-2].minor.yy0, TK_ID);}
+ yymsp[-2].minor.yy64 = yylhsminor.yy64;
break;
- case 181: /* expr ::= ID DOT STAR */
-{yymsp[-2].minor.yy0.n += (1+yymsp[0].minor.yy0.n); yylhsminor.yy66 = tSQLExprIdValueCreate(&yymsp[-2].minor.yy0, TK_ALL);}
- yymsp[-2].minor.yy66 = yylhsminor.yy66;
+ case 184: /* expr ::= ID DOT STAR */
+{yymsp[-2].minor.yy0.n += (1+yymsp[0].minor.yy0.n); yylhsminor.yy64 = tSQLExprIdValueCreate(&yymsp[-2].minor.yy0, TK_ALL);}
+ yymsp[-2].minor.yy64 = yylhsminor.yy64;
break;
- case 182: /* expr ::= INTEGER */
-{yylhsminor.yy66 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_INTEGER);}
- yymsp[0].minor.yy66 = yylhsminor.yy66;
+ case 185: /* expr ::= INTEGER */
+{yylhsminor.yy64 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_INTEGER);}
+ yymsp[0].minor.yy64 = yylhsminor.yy64;
break;
- case 183: /* expr ::= MINUS INTEGER */
- case 184: /* expr ::= PLUS INTEGER */ yytestcase(yyruleno==184);
-{yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_INTEGER; yylhsminor.yy66 = tSQLExprIdValueCreate(&yymsp[-1].minor.yy0, TK_INTEGER);}
- yymsp[-1].minor.yy66 = yylhsminor.yy66;
+ case 186: /* expr ::= MINUS INTEGER */
+ case 187: /* expr ::= PLUS INTEGER */ yytestcase(yyruleno==187);
+{yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_INTEGER; yylhsminor.yy64 = tSQLExprIdValueCreate(&yymsp[-1].minor.yy0, TK_INTEGER);}
+ yymsp[-1].minor.yy64 = yylhsminor.yy64;
break;
- case 185: /* expr ::= FLOAT */
-{yylhsminor.yy66 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_FLOAT);}
- yymsp[0].minor.yy66 = yylhsminor.yy66;
+ case 188: /* expr ::= FLOAT */
+{yylhsminor.yy64 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_FLOAT);}
+ yymsp[0].minor.yy64 = yylhsminor.yy64;
break;
- case 186: /* expr ::= MINUS FLOAT */
- case 187: /* expr ::= PLUS FLOAT */ yytestcase(yyruleno==187);
-{yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_FLOAT; yylhsminor.yy66 = tSQLExprIdValueCreate(&yymsp[-1].minor.yy0, TK_FLOAT);}
- yymsp[-1].minor.yy66 = yylhsminor.yy66;
+ case 189: /* expr ::= MINUS FLOAT */
+ case 190: /* expr ::= PLUS FLOAT */ yytestcase(yyruleno==190);
+{yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_FLOAT; yylhsminor.yy64 = tSQLExprIdValueCreate(&yymsp[-1].minor.yy0, TK_FLOAT);}
+ yymsp[-1].minor.yy64 = yylhsminor.yy64;
break;
- case 188: /* expr ::= STRING */
-{yylhsminor.yy66 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_STRING);}
- yymsp[0].minor.yy66 = yylhsminor.yy66;
+ case 191: /* expr ::= STRING */
+{yylhsminor.yy64 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_STRING);}
+ yymsp[0].minor.yy64 = yylhsminor.yy64;
break;
- case 189: /* expr ::= NOW */
-{yylhsminor.yy66 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_NOW); }
- yymsp[0].minor.yy66 = yylhsminor.yy66;
+ case 192: /* expr ::= NOW */
+{yylhsminor.yy64 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_NOW); }
+ yymsp[0].minor.yy64 = yylhsminor.yy64;
break;
- case 190: /* expr ::= VARIABLE */
-{yylhsminor.yy66 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_VARIABLE);}
- yymsp[0].minor.yy66 = yylhsminor.yy66;
+ case 193: /* expr ::= VARIABLE */
+{yylhsminor.yy64 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_VARIABLE);}
+ yymsp[0].minor.yy64 = yylhsminor.yy64;
break;
- case 191: /* expr ::= BOOL */
-{yylhsminor.yy66 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_BOOL);}
- yymsp[0].minor.yy66 = yylhsminor.yy66;
+ case 194: /* expr ::= BOOL */
+{yylhsminor.yy64 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_BOOL);}
+ yymsp[0].minor.yy64 = yylhsminor.yy64;
break;
- case 192: /* expr ::= ID LP exprlist RP */
+ case 195: /* expr ::= ID LP exprlist RP */
{
- yylhsminor.yy66 = tSQLExprCreateFunction(yymsp[-1].minor.yy224, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, yymsp[-3].minor.yy0.type);
+ yylhsminor.yy64 = tSQLExprCreateFunction(yymsp[-1].minor.yy290, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, yymsp[-3].minor.yy0.type);
}
- yymsp[-3].minor.yy66 = yylhsminor.yy66;
+ yymsp[-3].minor.yy64 = yylhsminor.yy64;
break;
- case 193: /* expr ::= ID LP STAR RP */
+ case 196: /* expr ::= ID LP STAR RP */
{
- yylhsminor.yy66 = tSQLExprCreateFunction(NULL, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, yymsp[-3].minor.yy0.type);
+ yylhsminor.yy64 = tSQLExprCreateFunction(NULL, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, yymsp[-3].minor.yy0.type);
}
- yymsp[-3].minor.yy66 = yylhsminor.yy66;
+ yymsp[-3].minor.yy64 = yylhsminor.yy64;
break;
- case 194: /* expr ::= expr AND expr */
-{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_AND);}
- yymsp[-2].minor.yy66 = yylhsminor.yy66;
+ case 197: /* expr ::= expr AND expr */
+{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_AND);}
+ yymsp[-2].minor.yy64 = yylhsminor.yy64;
break;
- case 195: /* expr ::= expr OR expr */
-{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_OR); }
- yymsp[-2].minor.yy66 = yylhsminor.yy66;
+ case 198: /* expr ::= expr OR expr */
+{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_OR); }
+ yymsp[-2].minor.yy64 = yylhsminor.yy64;
break;
- case 196: /* expr ::= expr LT expr */
-{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_LT);}
- yymsp[-2].minor.yy66 = yylhsminor.yy66;
+ case 199: /* expr ::= expr LT expr */
+{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_LT);}
+ yymsp[-2].minor.yy64 = yylhsminor.yy64;
break;
- case 197: /* expr ::= expr GT expr */
-{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_GT);}
- yymsp[-2].minor.yy66 = yylhsminor.yy66;
+ case 200: /* expr ::= expr GT expr */
+{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_GT);}
+ yymsp[-2].minor.yy64 = yylhsminor.yy64;
break;
- case 198: /* expr ::= expr LE expr */
-{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_LE);}
- yymsp[-2].minor.yy66 = yylhsminor.yy66;
+ case 201: /* expr ::= expr LE expr */
+{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_LE);}
+ yymsp[-2].minor.yy64 = yylhsminor.yy64;
break;
- case 199: /* expr ::= expr GE expr */
-{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_GE);}
- yymsp[-2].minor.yy66 = yylhsminor.yy66;
+ case 202: /* expr ::= expr GE expr */
+{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_GE);}
+ yymsp[-2].minor.yy64 = yylhsminor.yy64;
break;
- case 200: /* expr ::= expr NE expr */
-{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_NE);}
- yymsp[-2].minor.yy66 = yylhsminor.yy66;
+ case 203: /* expr ::= expr NE expr */
+{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_NE);}
+ yymsp[-2].minor.yy64 = yylhsminor.yy64;
break;
- case 201: /* expr ::= expr EQ expr */
-{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_EQ);}
- yymsp[-2].minor.yy66 = yylhsminor.yy66;
+ case 204: /* expr ::= expr EQ expr */
+{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_EQ);}
+ yymsp[-2].minor.yy64 = yylhsminor.yy64;
break;
- case 202: /* expr ::= expr PLUS expr */
-{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_PLUS); }
- yymsp[-2].minor.yy66 = yylhsminor.yy66;
+ case 205: /* expr ::= expr PLUS expr */
+{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_PLUS); }
+ yymsp[-2].minor.yy64 = yylhsminor.yy64;
break;
- case 203: /* expr ::= expr MINUS expr */
-{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_MINUS); }
- yymsp[-2].minor.yy66 = yylhsminor.yy66;
+ case 206: /* expr ::= expr MINUS expr */
+{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_MINUS); }
+ yymsp[-2].minor.yy64 = yylhsminor.yy64;
break;
- case 204: /* expr ::= expr STAR expr */
-{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_STAR); }
- yymsp[-2].minor.yy66 = yylhsminor.yy66;
+ case 207: /* expr ::= expr STAR expr */
+{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_STAR); }
+ yymsp[-2].minor.yy64 = yylhsminor.yy64;
break;
- case 205: /* expr ::= expr SLASH expr */
-{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_DIVIDE);}
- yymsp[-2].minor.yy66 = yylhsminor.yy66;
+ case 208: /* expr ::= expr SLASH expr */
+{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_DIVIDE);}
+ yymsp[-2].minor.yy64 = yylhsminor.yy64;
break;
- case 206: /* expr ::= expr REM expr */
-{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_REM); }
- yymsp[-2].minor.yy66 = yylhsminor.yy66;
+ case 209: /* expr ::= expr REM expr */
+{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_REM); }
+ yymsp[-2].minor.yy64 = yylhsminor.yy64;
break;
- case 207: /* expr ::= expr LIKE expr */
-{yylhsminor.yy66 = tSQLExprCreate(yymsp[-2].minor.yy66, yymsp[0].minor.yy66, TK_LIKE); }
- yymsp[-2].minor.yy66 = yylhsminor.yy66;
+ case 210: /* expr ::= expr LIKE expr */
+{yylhsminor.yy64 = tSQLExprCreate(yymsp[-2].minor.yy64, yymsp[0].minor.yy64, TK_LIKE); }
+ yymsp[-2].minor.yy64 = yylhsminor.yy64;
break;
- case 208: /* expr ::= expr IN LP exprlist RP */
-{yylhsminor.yy66 = tSQLExprCreate(yymsp[-4].minor.yy66, (tSQLExpr*)yymsp[-1].minor.yy224, TK_IN); }
- yymsp[-4].minor.yy66 = yylhsminor.yy66;
+ case 211: /* expr ::= expr IN LP exprlist RP */
+{yylhsminor.yy64 = tSQLExprCreate(yymsp[-4].minor.yy64, (tSQLExpr*)yymsp[-1].minor.yy290, TK_IN); }
+ yymsp[-4].minor.yy64 = yylhsminor.yy64;
break;
- case 209: /* exprlist ::= exprlist COMMA expritem */
-{yylhsminor.yy224 = tSQLExprListAppend(yymsp[-2].minor.yy224,yymsp[0].minor.yy66,0);}
- yymsp[-2].minor.yy224 = yylhsminor.yy224;
+ case 212: /* exprlist ::= exprlist COMMA expritem */
+{yylhsminor.yy290 = tSQLExprListAppend(yymsp[-2].minor.yy290,yymsp[0].minor.yy64,0);}
+ yymsp[-2].minor.yy290 = yylhsminor.yy290;
break;
- case 210: /* exprlist ::= expritem */
-{yylhsminor.yy224 = tSQLExprListAppend(0,yymsp[0].minor.yy66,0);}
- yymsp[0].minor.yy224 = yylhsminor.yy224;
+ case 213: /* exprlist ::= expritem */
+{yylhsminor.yy290 = tSQLExprListAppend(0,yymsp[0].minor.yy64,0);}
+ yymsp[0].minor.yy290 = yylhsminor.yy290;
break;
- case 211: /* expritem ::= expr */
-{yylhsminor.yy66 = yymsp[0].minor.yy66;}
- yymsp[0].minor.yy66 = yylhsminor.yy66;
+ case 214: /* expritem ::= expr */
+{yylhsminor.yy64 = yymsp[0].minor.yy64;}
+ yymsp[0].minor.yy64 = yylhsminor.yy64;
break;
- case 213: /* cmd ::= RESET QUERY CACHE */
+ case 216: /* cmd ::= RESET QUERY CACHE */
{ setDCLSQLElems(pInfo, TSDB_SQL_RESET_CACHE, 0);}
break;
- case 214: /* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
+ case 217: /* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
{
yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n;
- SAlterTableSQL* pAlterTable = tAlterTableSQLElems(&yymsp[-4].minor.yy0, yymsp[0].minor.yy449, NULL, TSDB_ALTER_TABLE_ADD_COLUMN);
+ SAlterTableSQL* pAlterTable = tAlterTableSQLElems(&yymsp[-4].minor.yy0, yymsp[0].minor.yy523, NULL, TSDB_ALTER_TABLE_ADD_COLUMN);
setSQLInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
break;
- case 215: /* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
+ case 218: /* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
{
yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n;
@@ -2716,14 +2732,14 @@ static void yy_reduce(
setSQLInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
break;
- case 216: /* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
+ case 219: /* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
{
yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n;
- SAlterTableSQL* pAlterTable = tAlterTableSQLElems(&yymsp[-4].minor.yy0, yymsp[0].minor.yy449, NULL, TSDB_ALTER_TABLE_ADD_TAG_COLUMN);
+ SAlterTableSQL* pAlterTable = tAlterTableSQLElems(&yymsp[-4].minor.yy0, yymsp[0].minor.yy523, NULL, TSDB_ALTER_TABLE_ADD_TAG_COLUMN);
setSQLInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
break;
- case 217: /* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
+ case 220: /* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
{
yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n;
@@ -2734,7 +2750,7 @@ static void yy_reduce(
setSQLInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
break;
- case 218: /* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
+ case 221: /* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
{
yymsp[-5].minor.yy0.n += yymsp[-4].minor.yy0.n;
@@ -2748,25 +2764,25 @@ static void yy_reduce(
setSQLInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
break;
- case 219: /* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
+ case 222: /* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
{
yymsp[-6].minor.yy0.n += yymsp[-5].minor.yy0.n;
toTSDBType(yymsp[-2].minor.yy0.type);
tVariantList* A = tVariantListAppendToken(NULL, &yymsp[-2].minor.yy0, -1);
- A = tVariantListAppend(A, &yymsp[0].minor.yy312, -1);
+ A = tVariantListAppend(A, &yymsp[0].minor.yy134, -1);
SAlterTableSQL* pAlterTable = tAlterTableSQLElems(&yymsp[-6].minor.yy0, NULL, A, TSDB_ALTER_TABLE_UPDATE_TAG_VAL);
setSQLInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE);
}
break;
- case 220: /* cmd ::= KILL CONNECTION INTEGER */
+ case 223: /* cmd ::= KILL CONNECTION INTEGER */
{setKillSQL(pInfo, TSDB_SQL_KILL_CONNECTION, &yymsp[0].minor.yy0);}
break;
- case 221: /* cmd ::= KILL STREAM INTEGER COLON INTEGER */
+ case 224: /* cmd ::= KILL STREAM INTEGER COLON INTEGER */
{yymsp[-2].minor.yy0.n += (yymsp[-1].minor.yy0.n + yymsp[0].minor.yy0.n); setKillSQL(pInfo, TSDB_SQL_KILL_STREAM, &yymsp[-2].minor.yy0);}
break;
- case 222: /* cmd ::= KILL QUERY INTEGER COLON INTEGER */
+ case 225: /* cmd ::= KILL QUERY INTEGER COLON INTEGER */
{yymsp[-2].minor.yy0.n += (yymsp[-1].minor.yy0.n + yymsp[0].minor.yy0.n); setKillSQL(pInfo, TSDB_SQL_KILL_QUERY, &yymsp[-2].minor.yy0);}
break;
default:
diff --git a/src/sync/src/syncMain.c b/src/sync/src/syncMain.c
index cdbf5ab47d..5455529f62 100644
--- a/src/sync/src/syncMain.c
+++ b/src/sync/src/syncMain.c
@@ -145,6 +145,8 @@ void *syncStart(const SSyncInfo *pInfo)
pNode->vgId = pInfo->vgId;
pNode->replica = pCfg->replica;
pNode->quorum = pCfg->quorum;
+ if (pNode->quorum > pNode->replica) pNode->quorum = pNode->replica;
+
for (int i = 0; i < pCfg->replica; ++i) {
const SNodeInfo *pNodeInfo = pCfg->nodeInfo + i;
pNode->peerInfo[i] = syncAddPeer(pNode, pNodeInfo);
@@ -260,6 +262,7 @@ int32_t syncReconfig(void *param, const SSyncCfg *pNewCfg)
pNode->replica = pNewCfg->replica;
pNode->quorum = pNewCfg->quorum;
+ if (pNode->quorum > pNode->replica) pNode->quorum = pNode->replica;
memcpy(pNode->peerInfo, newPeers, sizeof(SSyncPeer *) * pNewCfg->replica);
for (i = pNewCfg->replica; i < TAOS_SYNC_MAX_REPLICA; ++i)
diff --git a/src/tsdb/src/tsdbMeta.c b/src/tsdb/src/tsdbMeta.c
index 09bbbd8f4d..ddb935b7e5 100644
--- a/src/tsdb/src/tsdbMeta.c
+++ b/src/tsdb/src/tsdbMeta.c
@@ -69,8 +69,8 @@ int tsdbCreateTable(TSDB_REPO_T *repo, STableCfg *pCfg) {
if (tid < pMeta->maxTables && pMeta->tables[tid] != NULL) {
if (TABLE_UID(pMeta->tables[tid]) == pCfg->tableId.uid) {
- tsdbError("vgId:%d table %s already exists, tid %d uid %" PRId64, REPO_ID(pRepo), TABLE_CHAR_NAME(pTable),
- TABLE_TID(pTable), TABLE_UID(pTable));
+ tsdbError("vgId:%d table %s already exists, tid %d uid %" PRId64, REPO_ID(pRepo), TABLE_CHAR_NAME(pMeta->tables[tid]),
+ TABLE_TID(pMeta->tables[tid]), TABLE_UID(pMeta->tables[tid]));
return TSDB_CODE_TDB_TABLE_ALREADY_EXIST;
} else {
tsdbError("vgId:%d table %s at tid %d uid %" PRIu64
@@ -1295,4 +1295,4 @@ static int tsdbAdjustMetaTables(STsdbRepo *pRepo, int tid) {
tsdbDebug("vgId:%d tsdb meta maxTables is adjusted as %d", REPO_ID(pRepo), maxTables);
return 0;
-}
\ No newline at end of file
+}
diff --git a/src/util/inc/talgo.h b/src/util/inc/talgo.h
index 5de8a302b1..e71e340a21 100644
--- a/src/util/inc/talgo.h
+++ b/src/util/inc/talgo.h
@@ -20,8 +20,6 @@
extern "C" {
#endif
-#include "os.h"
-
#define TD_EQ 0x1
#define TD_GT 0x2
#define TD_LT 0x4
diff --git a/src/util/src/tsocket.c b/src/util/src/tsocket.c
index f95cae25e9..6f4d2b8afd 100644
--- a/src/util/src/tsocket.c
+++ b/src/util/src/tsocket.c
@@ -304,10 +304,10 @@ int taosOpenTcpClientSocket(uint32_t destIp, uint16_t destPort, uint32_t clientI
//uError("failed to connect socket, ip:0x%x, port:%hu(%s)", destIp, destPort, strerror(errno));
close(sockFd);
sockFd = -1;
+ } else {
+ taosKeepTcpAlive(sockFd);
}
- taosKeepTcpAlive(sockFd);
-
return sockFd;
}
diff --git a/tests/comparisonTest/opentsdb/opentsdbtest/pom.xml b/tests/comparisonTest/opentsdb/opentsdbtest/pom.xml
index 4e307db079..52067343ef 100644
--- a/tests/comparisonTest/opentsdb/opentsdbtest/pom.xml
+++ b/tests/comparisonTest/opentsdb/opentsdbtest/pom.xml
@@ -94,7 +94,7 @@
com.google.guava
guava
- 24.1.1
+ 29.0-jre
diff --git a/tests/script/general/db/alter_option.sim b/tests/script/general/db/alter_option.sim
index 46fc3a4ff7..12a49c59b5 100644
--- a/tests/script/general/db/alter_option.sim
+++ b/tests/script/general/db/alter_option.sim
@@ -24,16 +24,16 @@ endi
if $data04 != 1 then
return -1
endi
-if $data05 != 10 then
+if $data06 != 10 then
return -1
endi
-if $data06 != 20,20,20 then
+if $data07 != 20,20,20 then
return -1
endi
-if $data07 != 2 then
+if $data08 != 2 then
return -1
endi
-if $data08 != 4 then
+if $data09 != 4 then
return -1
endi
diff --git a/tests/script/general/db/basic.sim b/tests/script/general/db/basic.sim
index a7c4358aff..1c4939256b 100644
--- a/tests/script/general/db/basic.sim
+++ b/tests/script/general/db/basic.sim
@@ -32,10 +32,10 @@ endi
if $data04 != 1 then
return -1
endi
-if $data05 != 20 then
+if $data06 != 20 then
return -1
endi
-if $data07 != 16 then
+if $data08 != 16 then
return -1
endi
@@ -72,7 +72,7 @@ endi
if $data04 != 1 then
return -1
endi
-if $data05 != 15 then
+if $data06 != 15 then
return -1
endi
diff --git a/tests/script/general/http/restful_full.sim b/tests/script/general/http/restful_full.sim
index 8545b8d2cd..cb493c1456 100644
--- a/tests/script/general/http/restful_full.sim
+++ b/tests/script/general/http/restful_full.sim
@@ -81,7 +81,7 @@ print =============== step2 - no db
#11
system_content curl -H 'Authorization: Taosd /KfeAzX/f9na8qdtNZmtONryp201ma04bEl8LcvLUd7a8qdtNZmtONryp201ma04' -d 'show databases' 127.0.0.1:6020/rest/sql
print 11-> $system_content
-if $system_content != @{"status":"succ","head":["name","created_time","ntables","vgroups","replica","days","keep1,keep2,keep(D)","cache(MB)","blocks","minrows","maxrows","wallevel","fsync","comp","precision","status"],"data":[],"rows":0}@ then
+if $system_content != @{"status":"succ","head":["name","created_time","ntables","vgroups","replica","quorum","days","keep1,keep2,keep(D)","cache(MB)","blocks","minrows","maxrows","wallevel","fsync","comp","precision","status"],"data":[],"rows":0}@ then
return -1
endi
diff --git a/tests/script/general/parser/create_db.sim b/tests/script/general/parser/create_db.sim
index be8587f2ae..ed6e427fe7 100644
--- a/tests/script/general/parser/create_db.sim
+++ b/tests/script/general/parser/create_db.sim
@@ -122,18 +122,18 @@ endi
if $data04 != $replica then
return -1
endi
-if $data05 != $days then
+if $data06 != $days then
return -1
endi
-if $data06 != 365,365,365 then
+if $data07 != 365,365,365 then
return -1
endi
-print data07 = $data07
-if $data07 != $cache then
- print expect $cache, actual:$data07
+print data08 = $data07
+if $data08 != $cache then
+ print expect $cache, actual:$data08
return -1
endi
-if $data08 != 4 then
+if $data09 != 4 then
return -1
endi
diff --git a/tests/script/unique/clusterSimCase/client-01.sim b/tests/script/unique/clusterSimCase/client-01.sim
index f334828b41..b35790d69e 100644
--- a/tests/script/unique/clusterSimCase/client-01.sim
+++ b/tests/script/unique/clusterSimCase/client-01.sim
@@ -57,10 +57,10 @@ while $i < $tblEnd
endw
sql select count(*) from $tb
+print data00 $data00 rowsPerTbl $rowsPerTbl
if $data00 != $rowsPerTbl then
- print data00 $data00 rowsPerTbl $rowsPerTbl
print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- print ************ client-01 insert data error ***** *****
+ print ************ client-01 insert data into $tb error ***** *****
print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
return -1
endi
diff --git a/tests/script/unique/clusterSimCase/client-02.sim b/tests/script/unique/clusterSimCase/client-02.sim
index 4887193438..30a2ceb089 100644
--- a/tests/script/unique/clusterSimCase/client-02.sim
+++ b/tests/script/unique/clusterSimCase/client-02.sim
@@ -6,7 +6,7 @@
$tblStart = 0
$tblEnd = 10000
$tsStart = 1325347200000 # 2012-01-01 00:00:00.000
-$c2Binary = ' . client-02-
+$preBinary = ' . client-02-
###############################################################
sql connect
@@ -31,13 +31,14 @@ $rowsPerTbl = 0
$ts = $tsStart
$rowsPerLoop = 160
+$loop_cnt = 0
loop_run:
-print ================ client-02 start loop insert data
+print ================ client-02 start loop insert data ( loop_cnt: $loop_cnt )
$i = $tblStart
while $i < $tblEnd
$tb = tb . $i
- $c2Binary = $c2Binary . $i
+ $c2Binary = $preBinary . $i
$c2Binary = $c2Binary . '
$x = 0
@@ -46,23 +47,24 @@ while $i < $tblEnd
sql insert into $tb values ( $ts + 1a , $x , $c2Binary ) ( $ts + 3a , $x , $c2Binary ) ( $ts + 5a , $x , $c2Binary ) ( $ts + 7a , $x , $c2Binary ) ( $ts + 9a , $x , $c2Binary ) ( $ts + 11a , $x , $c2Binary ) ( $ts + 13a , $x , $c2Binary ) ( $ts + 15a , $x , $c2Binary ) ( $ts + 17a , $x , $c2Binary ) ( $ts + 19a , $x , $c2Binary ) ( $ts + 21a , $x , $c2Binary ) ( $ts + 23a , $x , $c2Binary ) ( $ts + 25a , $x , $c2Binary ) ( $ts + 27a , $x , $c2Binary ) ( $ts + 29a , $x , $c2Binary ) ( $ts + 31a , $x , $c2Binary ) ( $ts + 33a , $x , $c2Binary ) ( $ts + 35a , $x , $c2Binary ) ( $ts + 37a , $x , $c2Binary ) ( $ts + 39a , $x , $c2Binary )
$x = $x + 40
$ts = $ts + 40a
- if $i == $tblStart then
- $rowsPerTbl = $rowsPerTbl + $x
- endi
endw
+ if $i == $tblStart then
+ $rowsPerTbl = $rowsPerTbl + $x
+ endi
$totalRows = $totalRows + $x
$i = $i + 1
endw
-sql select count(*) from $tblStart
+sql select count(*) from $tb
+print data00 $data00 rowsPerTbl $rowsPerTbl
if $data00 != $rowsPerTbl then
- print data00 $data00 rowsPerTbl $rowsPerTbl
print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- print ************ client-02 insert data error ***** *****
+ print ************ client-02 insert data into $tb error ***** *****
print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
return -1
endi
+$loop_cnt = $loop_cnt + 1
goto loop_run
diff --git a/tests/script/unique/clusterSimCase/client-03.sim b/tests/script/unique/clusterSimCase/client-03.sim
index d05b1c86be..78a25e26a5 100644
--- a/tests/script/unique/clusterSimCase/client-03.sim
+++ b/tests/script/unique/clusterSimCase/client-03.sim
@@ -6,8 +6,7 @@
$tblStart = 0
$tblEnd = 10000
$tsStart = 1325347200000 # 2012-01-01 00:00:00.000
-$c2Binary = ' . client-03-
-$t2Binary = ' . client-03-
+$preBinary = ' . client-03-
###############################################################
sql connect
@@ -33,16 +32,17 @@ $rowsPerTbl = 0
$ts = $tsStart
$rowsPerLoop = 160
+$loop_cnt = 0
loop_run:
-print ================ client-03 start loop insert data
+print ================ client-03 start loop insert data ( loop_cnt: $loop_cnt )
$i = $tblStart
while $i < $tblEnd
$tb = tb . $i
- $t2Binary = ' . $i
+ $t2Binary = $preBinary . $i
$t2Binary = $t2Binary . '
- $c2Binary = $c2Binary . $i
+ $c2Binary = $preBinary . $i
$c2Binary = $c2Binary . '
$x = 0
@@ -51,32 +51,33 @@ while $i < $tblEnd
sql insert into $tb using $stb tags ( $i , $t2Binary ) values ( $ts + 1a , $x , $c2Binary ) ( $ts + 3a , $x , $c2Binary ) ( $ts + 5a , $x , $c2Binary ) ( $ts + 7a , $x , $c2Binary ) ( $ts + 9a , $x , $c2Binary ) ( $ts + 11a , $x , $c2Binary ) ( $ts + 13a , $x , $c2Binary ) ( $ts + 15a , $x , $c2Binary ) ( $ts + 17a , $x , $c2Binary ) ( $ts + 19a , $x , $c2Binary ) ( $ts + 21a , $x , $c2Binary ) ( $ts + 23a , $x , $c2Binary ) ( $ts + 25a , $x , $c2Binary ) ( $ts + 27a , $x , $c2Binary ) ( $ts + 29a , $x , $c2Binary ) ( $ts + 31a , $x , $c2Binary ) ( $ts + 33a , $x , $c2Binary ) ( $ts + 35a , $x , $c2Binary ) ( $ts + 37a , $x , $c2Binary ) ( $ts + 39a , $x , $c2Binary )
$x = $x + 40
$ts = $ts + 40a
- if $i == $tblStart then
- $rowsPerTbl = $rowsPerTbl + $x
- endi
endw
+ if $i == $tblStart then
+ $rowsPerTbl = $rowsPerTbl + $x
+ endi
$totalRows = $totalRows + $x
$i = $i + 1
endw
-sql select count(*) from $tblStart
+sql select count(*) from $tb
+print data00 $data00 rowsPerTbl $rowsPerTbl
if $data00 != $rowsPerTbl then
- print data00 $data00 rowsPerTbl $rowsPerTbl
+
print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- print ****** client-3 insert data into $tblStart error ***
+ print ****** client-3 insert data into $tb error ***
print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
return -1
endi
sql select count(*) from $stb
+print data00 $data00 totalRows $totalRows
if $data00 != $totalRows then
- print data00 $data00 totalRows $totalRows
print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
print ***** client-3 insert data into $stbl error ********
print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
return -1
endi
-
+$loop_cnt = $loop_cnt + 1
goto loop_run
diff --git a/tests/script/unique/clusterSimCase/client-04.sim b/tests/script/unique/clusterSimCase/client-04.sim
index ec10454b86..5248e9d7bb 100644
--- a/tests/script/unique/clusterSimCase/client-04.sim
+++ b/tests/script/unique/clusterSimCase/client-04.sim
@@ -6,7 +6,7 @@
$tblStart = 0
$tblEnd = 10000
$tsStart = 1325347200000 # 2012-01-01 00:00:00.000
-$c2Binary = ' . client-04-
+$preBinary = ' . client-04-
###############################################################
$totalRows = 0
@@ -35,13 +35,13 @@ $rowsPerLoop = 160
$loopCnt = 0
-loop_run:
-print ================ client-04 start loop insert data
+loop_run:
+print ================ client-04 start loop insert data ( loopCnt: $loopCnt )
$i = $tblStart
while $i < $tblEnd
$tb = tb . $i
- $c2Binary = $c2Binary . $i
+ $c2Binary = $preBinary . $i
$c2Binary = $c2Binary . '
$x = 0
@@ -50,22 +50,22 @@ while $i < $tblEnd
sql insert into $tb values ( $ts + 1a , $x , $c2Binary ) ( $ts + 3a , $x , $c2Binary ) ( $ts + 5a , $x , $c2Binary ) ( $ts + 7a , $x , $c2Binary ) ( $ts + 9a , $x , $c2Binary ) ( $ts + 11a , $x , $c2Binary ) ( $ts + 13a , $x , $c2Binary ) ( $ts + 15a , $x , $c2Binary ) ( $ts + 17a , $x , $c2Binary ) ( $ts + 19a , $x , $c2Binary ) ( $ts + 21a , $x , $c2Binary ) ( $ts + 23a , $x , $c2Binary ) ( $ts + 25a , $x , $c2Binary ) ( $ts + 27a , $x , $c2Binary ) ( $ts + 29a , $x , $c2Binary ) ( $ts + 31a , $x , $c2Binary ) ( $ts + 33a , $x , $c2Binary ) ( $ts + 35a , $x , $c2Binary ) ( $ts + 37a , $x , $c2Binary ) ( $ts + 39a , $x , $c2Binary )
$x = $x + 40
$ts = $ts + 40a
- if $i == $tblStart then
- $rowsPerTbl = $rowsPerTbl + $x
- endi
endw
+ if $i == $tblStart then
+ $rowsPerTbl = $rowsPerTbl + $x
+ endi
$totalRows = $totalRows + $x
$i = $i + 1
endw
-sql select count(*) from $tblStart
+sql select count(*) from $tb
+print data00 $data00 rowsPerTbl $rowsPerTbl
if $data00 != $rowsPerTbl then
- print data00 $data00 rowsPerTbl $rowsPerTbl
- print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- print ************ client-04 insert data error ***** *****
- print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ print ************ client-04 insert data into $tb error ***** *****
+ print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
return -1
endi
diff --git a/tests/script/unique/clusterSimCase/client-05.sim b/tests/script/unique/clusterSimCase/client-05.sim
index af64c10dd5..a2deaba9b2 100644
--- a/tests/script/unique/clusterSimCase/client-05.sim
+++ b/tests/script/unique/clusterSimCase/client-05.sim
@@ -5,7 +5,7 @@
$tblStart = 0
$tblEnd = 10000
$tsStart = 1325347200000 # 2012-01-01 00:00:00.000
-$c2Binary = ' . client-05-
+$preBinary = ' . client-05-
###############################################################
$totalRows = 0
@@ -35,12 +35,12 @@ $rowsPerLoop = 160
$loopCnt = 0
loop_run:
-print ================ client-05 start loop insert data
+print ================ client-05 start loop insert data ( loopCnt: $loopCnt )
$i = $tblStart
while $i < $tblEnd
$tb = tb . $i
- $c2Binary = $c2Binary . $i
+ $c2Binary = $preBinary . $i
$c2Binary = $c2Binary . '
$x = 0
@@ -49,22 +49,22 @@ while $i < $tblEnd
sql insert into $tb values ( $ts + 1a , $x , $c2Binary ) ( $ts + 3a , $x , $c2Binary ) ( $ts + 5a , $x , $c2Binary ) ( $ts + 7a , $x , $c2Binary ) ( $ts + 9a , $x , $c2Binary ) ( $ts + 11a , $x , $c2Binary ) ( $ts + 13a , $x , $c2Binary ) ( $ts + 15a , $x , $c2Binary ) ( $ts + 17a , $x , $c2Binary ) ( $ts + 19a , $x , $c2Binary ) ( $ts + 21a , $x , $c2Binary ) ( $ts + 23a , $x , $c2Binary ) ( $ts + 25a , $x , $c2Binary ) ( $ts + 27a , $x , $c2Binary ) ( $ts + 29a , $x , $c2Binary ) ( $ts + 31a , $x , $c2Binary ) ( $ts + 33a , $x , $c2Binary ) ( $ts + 35a , $x , $c2Binary ) ( $ts + 37a , $x , $c2Binary ) ( $ts + 39a , $x , $c2Binary )
$x = $x + 40
$ts = $ts + 40a
- if $i == $tblStart then
- $rowsPerTbl = $rowsPerTbl + $x
- endi
endw
+ if $i == $tblStart then
+ $rowsPerTbl = $rowsPerTbl + $x
+ endi
$totalRows = $totalRows + $x
$i = $i + 1
endw
-sql select count(*) from $tblStart
+sql select count(*) from $tb
+print data00 $data00 rowsPerTbl $rowsPerTbl
if $data00 != $rowsPerTbl then
- print data00 $data00 rowsPerTbl $rowsPerTbl
- print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- print ************ client-05 insert data error ***** *****
- print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ print ************ client-05 insert data into $tb error ***** *****
+ print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
return -1
endi
diff --git a/tests/script/unique/clusterSimCase/client-06.sim b/tests/script/unique/clusterSimCase/client-06.sim
index f015831196..209b615e64 100644
--- a/tests/script/unique/clusterSimCase/client-06.sim
+++ b/tests/script/unique/clusterSimCase/client-06.sim
@@ -6,11 +6,12 @@
$tblStart = 0
$tblEnd = 10000
$tsStart = 1325347200000 # 2012-01-01 00:00:00.000
-$c2Binary = ' . client-06-
+$preBinary = ' . client-06-
$numPerUpdateTbl = 2000
###############################################################
-
-$totalRows = 0
+$totalRows = 0
+$dropTblStart = $tblStart
+$dropTblEnd = $dropTblStart
sql connect
@@ -20,7 +21,7 @@ sql create database if not exists $db replica 2
sql use $db
init_lable:
-print ================ create table $tb (ts timestamp, c1 int, c2 binary(16))
+print ================ create table [ from $tblStart to $tblEnd ] (ts timestamp, c1 int, c2 binary(16))
$i = $tblStart
while $i < $tblEnd
@@ -30,8 +31,8 @@ while $i < $tblEnd
$i = $i + 1
endw
-$dropTblStart = $tblStart
-$dropTblEnd = $tblStart + $numPerUpdateTbl
+$dropTblStart = $dropTblEnd
+$dropTblEnd = $dropTblStart + $numPerUpdateTbl
$tblStart = $tblEnd
$tblEnd = $tblEnd + $numPerUpdateTbl
@@ -43,12 +44,12 @@ $rowsPerLoop = 160
$loopCnt = 0
loop_run:
-print ================ client-06 start loop insert data
-$i = $dropTblStart
-while $i < $tblEnd
+print ================ client-06 start loop insert data from $dropTblStart to $tblStart ( loopCnt: $loopCnt )
+$i = $dropTblStart
+while $i < $tblStart
$tb = tb . $i
- $c2Binary = $c2Binary . $i
+ $c2Binary = $preBinary . $i
$c2Binary = $c2Binary . '
$x = 0
@@ -57,29 +58,29 @@ while $i < $tblEnd
sql insert into $tb values ( $ts + 1a , $x , $c2Binary ) ( $ts + 3a , $x , $c2Binary ) ( $ts + 5a , $x , $c2Binary ) ( $ts + 7a , $x , $c2Binary ) ( $ts + 9a , $x , $c2Binary ) ( $ts + 11a , $x , $c2Binary ) ( $ts + 13a , $x , $c2Binary ) ( $ts + 15a , $x , $c2Binary ) ( $ts + 17a , $x , $c2Binary ) ( $ts + 19a , $x , $c2Binary ) ( $ts + 21a , $x , $c2Binary ) ( $ts + 23a , $x , $c2Binary ) ( $ts + 25a , $x , $c2Binary ) ( $ts + 27a , $x , $c2Binary ) ( $ts + 29a , $x , $c2Binary ) ( $ts + 31a , $x , $c2Binary ) ( $ts + 33a , $x , $c2Binary ) ( $ts + 35a , $x , $c2Binary ) ( $ts + 37a , $x , $c2Binary ) ( $ts + 39a , $x , $c2Binary )
$x = $x + 40
$ts = $ts + 40a
- if $i == $tblStart then
- $rowsPerTbl = $rowsPerTbl + $x
- endi
endw
+ if $i == $dropTblStart then
+ $rowsPerTbl = $rowsPerTbl + $x
+ endi
$totalRows = $totalRows + $x
$i = $i + 1
endw
-sql select count(*) from $tblStart
+sql select count(*) from $tb
+print data00 $data00 rowsPerTbl $rowsPerTbl
if $data00 != $rowsPerTbl then
- print data00 $data00 rowsPerTbl $rowsPerTbl
- print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- print ************ client-06 insert data error ***** *****
- print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ print ************ client-06 insert data into $tb error ***** *****
+ print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
return -1
endi
$loopCnt = $loopCnt + 1
-if $loopCnt > 100 then
-
+if $loopCnt > 2 then
+ print ================ client-06 drop table from $dropTblStart to $dropTblEnd
$i = $dropTblStart
while $i < $dropTblEnd
$tb = tb . $i
@@ -87,7 +88,7 @@ if $loopCnt > 100 then
$i = $i + 1
$totalRows = $totalRows - $rowsPerTbl
endw
- sleep 20000
+ sleep 10000
goto init_lable
endi
diff --git a/tests/script/unique/clusterSimCase/client-07.sim b/tests/script/unique/clusterSimCase/client-07.sim
index 126ae76771..3bf3585205 100644
--- a/tests/script/unique/clusterSimCase/client-07.sim
+++ b/tests/script/unique/clusterSimCase/client-07.sim
@@ -5,8 +5,12 @@
$tblStart = 0
$tblEnd = 10000
$tsStart = 1325347200000 # 2012-01-01 00:00:00.000
-$c2Binary = ' . client-07-
+$preBinary = ' . client-07-
###############################################################
+$alterCnt = 0
+
+$columnA = c . $alterCnt
+$columnB = d . $alterCnt
$totalRows = 0
@@ -17,30 +21,31 @@ $db = db
sql create database if not exists $db replica 2
sql use $db
-init_lable:
-print ================ create table $tb (ts timestamp, c1 int, c2 binary(16))
+$rowsPerTbl = 0
+$ts = $tsStart
+
+print ================ create table $tb (ts timestamp, $columnA int, $columnB binary(16))
$i = $tblStart
while $i < $tblEnd
$tb = tb . $i
# print create table if not exists $tb ( ts timestamp , c1 int , c2 binary(16) )
- sql create table if not exists $tb ( ts timestamp , c1 int , c2 binary(16) )
+ sql create table if not exists $tb ( ts timestamp , $columnA int , $columnB binary(16) )
$i = $i + 1
endw
-$rowsPerTbl = 0
-$ts = $tsStart
$rowsPerLoop = 160
$loopCnt = 0
+$alterStep = 0
loop_run:
-print ================ client-07 start loop insert data
+print ================ client-07 start loop insert data ( loopCnt: $loopCnt )
$i = $tblStart
while $i < $tblEnd
$tb = tb . $i
- $c2Binary = $c2Binary . $i
+ $c2Binary = $preBinary . $i
$c2Binary = $c2Binary . '
$x = 0
@@ -49,40 +54,48 @@ while $i < $tblEnd
sql insert into $tb values ( $ts + 1a , $x , $c2Binary ) ( $ts + 3a , $x , $c2Binary ) ( $ts + 5a , $x , $c2Binary ) ( $ts + 7a , $x , $c2Binary ) ( $ts + 9a , $x , $c2Binary ) ( $ts + 11a , $x , $c2Binary ) ( $ts + 13a , $x , $c2Binary ) ( $ts + 15a , $x , $c2Binary ) ( $ts + 17a , $x , $c2Binary ) ( $ts + 19a , $x , $c2Binary ) ( $ts + 21a , $x , $c2Binary ) ( $ts + 23a , $x , $c2Binary ) ( $ts + 25a , $x , $c2Binary ) ( $ts + 27a , $x , $c2Binary ) ( $ts + 29a , $x , $c2Binary ) ( $ts + 31a , $x , $c2Binary ) ( $ts + 33a , $x , $c2Binary ) ( $ts + 35a , $x , $c2Binary ) ( $ts + 37a , $x , $c2Binary ) ( $ts + 39a , $x , $c2Binary )
$x = $x + 40
$ts = $ts + 40a
- if $i == $tblStart then
- $rowsPerTbl = $rowsPerTbl + $x
- endi
endw
+ if $i == $tblStart then
+ $rowsPerTbl = $rowsPerTbl + $x
+ endi
$totalRows = $totalRows + $x
$i = $i + 1
endw
-sql select count(*) from $tblStart
+sql select count(*) from $tb
+print data00 $data00 rowsPerTbl $rowsPerTbl
if $data00 != $rowsPerTbl then
- print data00 $data00 rowsPerTbl $rowsPerTbl
- print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- print ************ client-07 insert data error ***** *****
- print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ print ************ client-07 insert data into $tb error ***** *****
+ print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
return -1
endi
$loopCnt = $loopCnt + 1
-if $loopCnt > 100 then
-
+if $alterStep > 2 then
+ $alterStep = 0
+
+ $alterCnt = $alterCnt + 1
$i = $tblStart
while $i < $tblEnd
$tb = tb . $i
- sql alter table $tb add column c3 double
- sql alter table $tb add column c4 binary( 16 )
- sql alter table $tb drop column c1
- sql alter table $tb drop column c2
+ $newColumnA = c . $alterCnt
+ $newcolumnB = d . $alterCnt
+
+ sql alter table $tb add column $newColumnA double
+ sql alter table $tb add column $newcolumnB binary( 16 )
+ sql alter table $tb drop column $columnA
+ sql alter table $tb drop column $columnB
$i = $i + 1
- endw
- sleep 20000
- goto init_lable
+ endw
+ $columnA = $newColumnA
+ $columnB = $newcolumnB
+
+ sleep 10000
+ goto loop_run
endi
goto loop_run
diff --git a/tests/script/unique/clusterSimCase/client-08.sim b/tests/script/unique/clusterSimCase/client-08.sim
index 6316abb28e..d9d64834cb 100644
--- a/tests/script/unique/clusterSimCase/client-08.sim
+++ b/tests/script/unique/clusterSimCase/client-08.sim
@@ -6,11 +6,12 @@
$tblStart = 0
$tblEnd = 10000
$tsStart = 1325347200000 # 2012-01-01 00:00:00.000
-$c2Binary = ' . client-06-
+$preBinary = ' . client-08-
$numPerUpdateTbl = 2000
###############################################################
-
-$totalRows = 0
+$totalRows = 0
+$dropTblStart = $tblStart
+$dropTblEnd = $dropTblStart
sql connect
@@ -20,7 +21,7 @@ sql create database if not exists $db replica 2
sql use $db
init_lable:
-print ================ create table $tb (ts timestamp, c1 int, c2 binary(16))
+print ================ create table [ from $tblStart to $tblEnd ] (ts timestamp, c1 int, c2 binary(16))
$i = $tblStart
while $i < $tblEnd
@@ -30,8 +31,8 @@ while $i < $tblEnd
$i = $i + 1
endw
-$dropTblStart = $tblStart
-$dropTblEnd = $tblStart + $numPerUpdateTbl
+$dropTblStart = $dropTblEnd
+$dropTblEnd = $dropTblStart + $numPerUpdateTbl
$tblStart = $tblEnd
$tblEnd = $tblEnd + $numPerUpdateTbl
@@ -43,12 +44,12 @@ $rowsPerLoop = 40
$loopCnt = 0
loop_run:
-print ================ client-06 start loop insert data
-$i = $dropTblStart
-while $i < $tblEnd
+print ================ client-08 start loop insert data from $dropTblStart to $tblStart ( loopCnt: $loopCnt )
+$i = $dropTblStart
+while $i < $tblStart
$tb = tb . $i
- $c2Binary = $c2Binary . $i
+ $c2Binary = $preBinary . $i
$c2Binary = $c2Binary . '
$x = 0
@@ -57,28 +58,29 @@ while $i < $tblEnd
sql insert into $tb values ( $ts + 1a , $x , $c2Binary ) ( $ts + 3a , $x , $c2Binary ) ( $ts + 5a , $x , $c2Binary ) ( $ts + 7a , $x , $c2Binary ) ( $ts + 9a , $x , $c2Binary ) ( $ts + 11a , $x , $c2Binary ) ( $ts + 13a , $x , $c2Binary ) ( $ts + 15a , $x , $c2Binary ) ( $ts + 17a , $x , $c2Binary ) ( $ts + 19a , $x , $c2Binary ) ( $ts + 21a , $x , $c2Binary ) ( $ts + 23a , $x , $c2Binary ) ( $ts + 25a , $x , $c2Binary ) ( $ts + 27a , $x , $c2Binary ) ( $ts + 29a , $x , $c2Binary ) ( $ts + 31a , $x , $c2Binary ) ( $ts + 33a , $x , $c2Binary ) ( $ts + 35a , $x , $c2Binary ) ( $ts + 37a , $x , $c2Binary ) ( $ts + 39a , $x , $c2Binary )
$x = $x + 40
$ts = $ts + 40a
- if $i == $tblStart then
- $rowsPerTbl = $rowsPerTbl + $x
- endi
endw
+ if $i == $dropTblStart then
+ $rowsPerTbl = $rowsPerTbl + $x
+ endi
$totalRows = $totalRows + $x
$i = $i + 1
endw
-sql select count(*) from $tblStart
+sql select count(*) from $tb
+print data00 $data00 rowsPerTbl $rowsPerTbl tb: $tb
if $data00 != $rowsPerTbl then
- print data00 $data00 rowsPerTbl $rowsPerTbl
- print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- print ************ client-06 insert data error ***** *****
- print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ print ************ client-08 insert data into $tb error ***** *****
+ print ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
return -1
endi
$loopCnt = $loopCnt + 1
-#if $loopCnt > 100 then
+#if $loopCnt > 3 then
+ print ================ client-08 drop table from $dropTblStart to $dropTblEnd
$i = $dropTblStart
while $i < $dropTblEnd
$tb = tb . $i
@@ -86,7 +88,7 @@ $loopCnt = $loopCnt + 1
$i = $i + 1
$totalRows = $totalRows - $rowsPerTbl
endw
- sleep 20000
+ sleep 10000
goto init_lable
#endi
diff --git a/tests/script/unique/clusterSimCase/cluster_main.sim b/tests/script/unique/clusterSimCase/cluster_main.sim
index e126463d53..39607c2915 100644
--- a/tests/script/unique/clusterSimCase/cluster_main.sim
+++ b/tests/script/unique/clusterSimCase/cluster_main.sim
@@ -91,14 +91,14 @@ sql create dnode $hostname3
sleep 3000
sleep 3000
print ============== step3: start back client-01.sim
-run_back unique/clusterSimCase/client-01.sim
-#run_back unique/clusterSimCase/client-01.sim
-#run_back unique/clusterSimCase/client-01.sim
-#run_back unique/clusterSimCase/client-01.sim
-#run_back unique/clusterSimCase/client-01.sim
-#run_back unique/clusterSimCase/client-01.sim
-#run_back unique/clusterSimCase/client-01.sim
#run_back unique/clusterSimCase/client-01.sim
+#run_back unique/clusterSimCase/client-02.sim
+#run_back unique/clusterSimCase/client-03.sim
+#run_back unique/clusterSimCase/client-04.sim
+#run_back unique/clusterSimCase/client-05.sim
+#run_back unique/clusterSimCase/client-06.sim
+#run_back unique/clusterSimCase/client-07.sim
+run_back unique/clusterSimCase/client-08.sim
#run_back unique/clusterSimCase/client-01.sim
#run_back unique/clusterSimCase/client-01.sim
sleep 20000
@@ -242,4 +242,7 @@ endi
sleep 3000
print **** **** **** (loop_cnt: $loop_cnt ) end, continue...... **** **** **** ****
$loop_cnt = $loop_cnt + 1
+if $loop_cnt == 50 then
+ return 0
+endi
goto loop_cluster_do