diff --git a/Jenkinsfile b/Jenkinsfile
index 28f1cb0bc0e652bcb546995c569f572096afbf28..e6e8a1df322ab4d529c1f7d44664717d278ba194 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -41,6 +41,7 @@ def pre_test(){
sh '''
killall -9 taosd ||echo "no taosd running"
killall -9 gdb || echo "no gdb running"
+ killall -9 python3.8 || echo "no python program running"
cd ${WKC}
git reset --hard HEAD~10 >/dev/null
'''
@@ -223,24 +224,27 @@ pipeline {
steps {
pre_test()
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
- sh '''
- cd ${WKC}/tests/pytest
- ./crash_gen.sh -a -p -t 4 -s 2000
- '''
+ timeout(time: 60, unit: 'MINUTES'){
+ sh '''
+ cd ${WKC}/tests/pytest
+ ./crash_gen.sh -a -p -t 4 -s 2000
+ '''
+ }
+ }
+ timeout(time: 60, unit: 'MINUTES'){
+ sh '''
+ cd ${WKC}/tests/pytest
+ rm -rf /var/lib/taos/*
+ rm -rf /var/log/taos/*
+ ./handle_crash_gen_val_log.sh
+ '''
+ sh '''
+ cd ${WKC}/tests/pytest
+ rm -rf /var/lib/taos/*
+ rm -rf /var/log/taos/*
+ ./handle_taosd_val_log.sh
+ '''
}
-
- sh '''
- cd ${WKC}/tests/pytest
- rm -rf /var/lib/taos/*
- rm -rf /var/log/taos/*
- ./handle_crash_gen_val_log.sh
- '''
- sh '''
- cd ${WKC}/tests/pytest
- rm -rf /var/lib/taos/*
- rm -rf /var/log/taos/*
- ./handle_taosd_val_log.sh
- '''
timeout(time: 45, unit: 'MINUTES'){
sh '''
date
diff --git a/documentation20/cn/11.administrator/docs.md b/documentation20/cn/11.administrator/docs.md
index 19e4b761bad466ef80f2eb2ab128e99a4903b2d7..b37916d790c5353db3a500173f4ef727a30c766d 100644
--- a/documentation20/cn/11.administrator/docs.md
+++ b/documentation20/cn/11.administrator/docs.md
@@ -143,7 +143,7 @@ taosd -C
TDengine集群中加入一个新的dnode时,涉及集群相关的一些参数必须与已有集群的配置相同,否则不能成功加入到集群中。会进行校验的参数如下:
-- numOfMnodes:系统中管理节点个数。默认值:3。
+- numOfMnodes:系统中管理节点个数。默认值:3。(2.0 版本从 2.0.20.11 开始、2.1 及以上版本从 2.1.6.0 开始,numOfMnodes 默认值改为 1。)
- mnodeEqualVnodeNum: 一个mnode等同于vnode消耗的个数。默认值:4。
- offlineThreshold: dnode离线阈值,超过该时间将导致该dnode从集群中删除。单位为秒,默认值:86400*10(即10天)。
- statusInterval: dnode向mnode报告状态时长。单位为秒,默认值:1。
diff --git a/documentation20/cn/12.taos-sql/docs.md b/documentation20/cn/12.taos-sql/docs.md
index 6d39c255652b9c04a0f7c397d3364b78b9efc953..4368e5fa1dfef4300fe8e1c44b47471fb55f70e1 100644
--- a/documentation20/cn/12.taos-sql/docs.md
+++ b/documentation20/cn/12.taos-sql/docs.md
@@ -34,7 +34,7 @@ taos> DESCRIBE meters;
- 时间格式为 ```YYYY-MM-DD HH:mm:ss.MS```,默认时间分辨率为毫秒。比如:```2017-08-12 18:25:58.128```
- 内部函数 now 是客户端的当前时间
- 插入记录时,如果时间戳为 now,插入数据时使用提交这条记录的客户端的当前时间
-- Epoch Time:时间戳也可以是一个长整数,表示从 1970-01-01 08:00:00.000 开始的毫秒数
+- Epoch Time:时间戳也可以是一个长整数,表示从格林威治时间 1970-01-01 00:00:00.000 (UTC/GMT) 开始的毫秒数(相应地,如果所在 Database 的时间精度设置为“微秒”,则长整型格式的时间戳含义也就对应于从格林威治时间 1970-01-01 00:00:00.000 (UTC/GMT) 开始的微秒数)
- 时间可以加减,比如 now-2h,表明查询时刻向前推 2 个小时(最近 2 小时)。数字后面的时间单位可以是 u(微秒)、a(毫秒)、s(秒)、m(分)、h(小时)、d(天)、w(周)。 比如 `select * from t1 where ts > now-2w and ts <= now-1w`,表示查询两周前整整一周的数据。在指定降频操作(down sampling)的时间窗口(interval)时,时间单位还可以使用 n(自然月) 和 y(自然年)。
TDengine 缺省的时间戳是毫秒精度,但通过在 CREATE DATABASE 时传递的 PRECISION 参数就可以支持微秒。
diff --git a/documentation20/en/11.administrator/docs.md b/documentation20/en/11.administrator/docs.md
index 90bfdbe9c6bcb16a29398503a45cbbcbc7406312..3817a41766d515d663661fd4382c883e0d8f179b 100644
--- a/documentation20/en/11.administrator/docs.md
+++ b/documentation20/en/11.administrator/docs.md
@@ -132,7 +132,7 @@ The SQL creates a database demo, each data file stores 10 days of data, the memo
When adding a new dnode to the TDengine cluster, some parameters related to the cluster must be the same as the configuration of the existing cluster, otherwise it cannot be successfully added to the cluster. The parameters that will be verified are as follows:
-- numOfMnodes: the number of management nodes in the system. Default: 3.
+- numOfMnodes: the number of management nodes in the system. Default: 3. (Since version 2.0.20.11 and version 2.1.6.0, the default value of "numOfMnodes" has been changed to 1.)
- balance: whether to enable load balancing. 0: No, 1: Yes. Default: 1.
- mnodeEqualVnodeNum: an mnode is equal to the number of vnodes consumed. Default: 4.
- offlineThreshold: the threshold for a dnode to be offline, exceed which the dnode will be removed from the cluster. The unit is seconds, and the default value is 86400*10 (that is, 10 days).
diff --git a/src/client/inc/tscUtil.h b/src/client/inc/tscUtil.h
index a7c2862f51984d6d9a0b17ea29b250f50ab8e684..577ce2a0fdcdba7fc57b005e41e4ec5bf25f8d6a 100644
--- a/src/client/inc/tscUtil.h
+++ b/src/client/inc/tscUtil.h
@@ -340,7 +340,7 @@ STableMeta* createSuperTableMeta(STableMetaMsg* pChild);
uint32_t tscGetTableMetaSize(STableMeta* pTableMeta);
CChildTableMeta* tscCreateChildMeta(STableMeta* pTableMeta);
uint32_t tscGetTableMetaMaxSize();
-int32_t tscCreateTableMetaFromSTableMeta(STableMeta* pChild, const char* name, void* buf);
+int32_t tscCreateTableMetaFromSTableMeta(STableMeta** pChild, const char* name, size_t *tableMetaCapacity);
STableMeta* tscTableMetaDup(STableMeta* pTableMeta);
SVgroupsInfo* tscVgroupsInfoDup(SVgroupsInfo* pVgroupsInfo);
diff --git a/src/client/src/tscParseInsert.c b/src/client/src/tscParseInsert.c
index 8ecc58eb557f18f5fec5a138317b01dd1d13b46d..73e4f898c82c70e5f9b4b207aaa8b806f7a76840 100644
--- a/src/client/src/tscParseInsert.c
+++ b/src/client/src/tscParseInsert.c
@@ -84,8 +84,6 @@ int tsParseTime(SStrToken *pToken, int64_t *time, char **next, char *error, int1
int64_t useconds = 0;
char * pTokenEnd = *next;
- index = 0;
-
if (pToken->type == TK_NOW) {
useconds = taosGetTimestamp(timePrec);
} else if (strncmp(pToken->z, "0", 1) == 0 && pToken->n == 1) {
@@ -130,7 +128,8 @@ int tsParseTime(SStrToken *pToken, int64_t *time, char **next, char *error, int1
return tscInvalidOperationMsg(error, "value expected in timestamp", sToken.z);
}
- if (parseAbsoluteDuration(valueToken.z, valueToken.n, &interval, timePrec) != TSDB_CODE_SUCCESS) {
+ char unit = 0;
+ if (parseAbsoluteDuration(valueToken.z, valueToken.n, &interval, &unit, timePrec) != TSDB_CODE_SUCCESS) {
return TSDB_CODE_TSC_INVALID_OPERATION;
}
diff --git a/src/client/src/tscParseLineProtocol.c b/src/client/src/tscParseLineProtocol.c
index 7d2823a42edc3ea7616e822d47cfdbf8706f4a56..2a16f1aad6525a25da652f643dc7b7f91debd432 100644
--- a/src/client/src/tscParseLineProtocol.c
+++ b/src/client/src/tscParseLineProtocol.c
@@ -458,9 +458,9 @@ int32_t loadTableMeta(TAOS* taos, char* tableName, SSmlSTableSchema* schema, SSm
schema->tagHash = taosHashInit(8, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BINARY), true, false);
schema->fieldHash = taosHashInit(64, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BINARY), true, false);
- uint32_t size = tscGetTableMetaMaxSize();
- STableMeta* tableMeta = calloc(1, size);
- taosHashGetClone(tscTableMetaMap, fullTableName, strlen(fullTableName), NULL, tableMeta);
+ size_t size = 0;
+ STableMeta* tableMeta = NULL;
+ taosHashGetCloneExt(tscTableMetaMap, fullTableName, strlen(fullTableName), NULL, (void **)&tableMeta, &size);
tstrncpy(schema->sTableName, tableName, strlen(tableName)+1);
schema->precision = tableMeta->tableInfo.precision;
@@ -1417,7 +1417,7 @@ static bool isTimeStamp(char *pVal, uint16_t len, SMLTimeStampType *tsType) {
return false;
}
-static bool convertStrToNumber(TAOS_SML_KV *pVal, char*str) {
+static bool convertStrToNumber(TAOS_SML_KV *pVal, char*str, SSmlLinesInfo* info) {
errno = 0;
uint8_t type = pVal->type;
int16_t length = pVal->length;
@@ -1436,7 +1436,7 @@ static bool convertStrToNumber(TAOS_SML_KV *pVal, char*str) {
}
if (errno == ERANGE) {
- tscError("Converted number out of range");
+ tscError("SML:0x%"PRIx64" Convert number(%s) out of range", info->id, str);
return false;
}
@@ -1518,7 +1518,7 @@ static bool convertStrToNumber(TAOS_SML_KV *pVal, char*str) {
}
//len does not include '\0' from value.
static bool convertSmlValueType(TAOS_SML_KV *pVal, char *value,
- uint16_t len) {
+ uint16_t len, SSmlLinesInfo* info) {
if (len <= 0) {
return false;
}
@@ -1528,7 +1528,7 @@ static bool convertSmlValueType(TAOS_SML_KV *pVal, char *value,
pVal->type = TSDB_DATA_TYPE_TINYINT;
pVal->length = (int16_t)tDataTypes[pVal->type].bytes;
value[len - 2] = '\0';
- if (!isValidInteger(value) || !convertStrToNumber(pVal, value)) {
+ if (!isValidInteger(value) || !convertStrToNumber(pVal, value, info)) {
return false;
}
return true;
@@ -1537,7 +1537,7 @@ static bool convertSmlValueType(TAOS_SML_KV *pVal, char *value,
pVal->type = TSDB_DATA_TYPE_UTINYINT;
pVal->length = (int16_t)tDataTypes[pVal->type].bytes;
value[len - 2] = '\0';
- if (!isValidInteger(value) || !convertStrToNumber(pVal, value)) {
+ if (!isValidInteger(value) || !convertStrToNumber(pVal, value, info)) {
return false;
}
return true;
@@ -1546,7 +1546,7 @@ static bool convertSmlValueType(TAOS_SML_KV *pVal, char *value,
pVal->type = TSDB_DATA_TYPE_SMALLINT;
pVal->length = (int16_t)tDataTypes[pVal->type].bytes;
value[len - 3] = '\0';
- if (!isValidInteger(value) || !convertStrToNumber(pVal, value)) {
+ if (!isValidInteger(value) || !convertStrToNumber(pVal, value, info)) {
return false;
}
return true;
@@ -1555,7 +1555,7 @@ static bool convertSmlValueType(TAOS_SML_KV *pVal, char *value,
pVal->type = TSDB_DATA_TYPE_USMALLINT;
pVal->length = (int16_t)tDataTypes[pVal->type].bytes;
value[len - 3] = '\0';
- if (!isValidInteger(value) || !convertStrToNumber(pVal, value)) {
+ if (!isValidInteger(value) || !convertStrToNumber(pVal, value, info)) {
return false;
}
return true;
@@ -1564,7 +1564,7 @@ static bool convertSmlValueType(TAOS_SML_KV *pVal, char *value,
pVal->type = TSDB_DATA_TYPE_INT;
pVal->length = (int16_t)tDataTypes[pVal->type].bytes;
value[len - 3] = '\0';
- if (!isValidInteger(value) || !convertStrToNumber(pVal, value)) {
+ if (!isValidInteger(value) || !convertStrToNumber(pVal, value, info)) {
return false;
}
return true;
@@ -1573,7 +1573,7 @@ static bool convertSmlValueType(TAOS_SML_KV *pVal, char *value,
pVal->type = TSDB_DATA_TYPE_UINT;
pVal->length = (int16_t)tDataTypes[pVal->type].bytes;
value[len - 3] = '\0';
- if (!isValidInteger(value) || !convertStrToNumber(pVal, value)) {
+ if (!isValidInteger(value) || !convertStrToNumber(pVal, value, info)) {
return false;
}
return true;
@@ -1582,7 +1582,7 @@ static bool convertSmlValueType(TAOS_SML_KV *pVal, char *value,
pVal->type = TSDB_DATA_TYPE_BIGINT;
pVal->length = (int16_t)tDataTypes[pVal->type].bytes;
value[len - 3] = '\0';
- if (!isValidInteger(value) || !convertStrToNumber(pVal, value)) {
+ if (!isValidInteger(value) || !convertStrToNumber(pVal, value, info)) {
return false;
}
return true;
@@ -1591,7 +1591,7 @@ static bool convertSmlValueType(TAOS_SML_KV *pVal, char *value,
pVal->type = TSDB_DATA_TYPE_UBIGINT;
pVal->length = (int16_t)tDataTypes[pVal->type].bytes;
value[len - 3] = '\0';
- if (!isValidInteger(value) || !convertStrToNumber(pVal, value)) {
+ if (!isValidInteger(value) || !convertStrToNumber(pVal, value, info)) {
return false;
}
return true;
@@ -1601,7 +1601,7 @@ static bool convertSmlValueType(TAOS_SML_KV *pVal, char *value,
pVal->type = TSDB_DATA_TYPE_FLOAT;
pVal->length = (int16_t)tDataTypes[pVal->type].bytes;
value[len - 3] = '\0';
- if (!isValidFloat(value) || !convertStrToNumber(pVal, value)) {
+ if (!isValidFloat(value) || !convertStrToNumber(pVal, value, info)) {
return false;
}
return true;
@@ -1610,7 +1610,7 @@ static bool convertSmlValueType(TAOS_SML_KV *pVal, char *value,
pVal->type = TSDB_DATA_TYPE_DOUBLE;
pVal->length = (int16_t)tDataTypes[pVal->type].bytes;
value[len - 3] = '\0';
- if (!isValidFloat(value) || !convertStrToNumber(pVal, value)) {
+ if (!isValidFloat(value) || !convertStrToNumber(pVal, value, info)) {
return false;
}
return true;
@@ -1646,7 +1646,7 @@ static bool convertSmlValueType(TAOS_SML_KV *pVal, char *value,
if (isValidInteger(value) || isValidFloat(value)) {
pVal->type = TSDB_DATA_TYPE_FLOAT;
pVal->length = (int16_t)tDataTypes[pVal->type].bytes;
- if (!convertStrToNumber(pVal, value)) {
+ if (!convertStrToNumber(pVal, value, info)) {
return false;
}
return true;
@@ -1702,7 +1702,7 @@ static int32_t getTimeStampValue(char *value, uint16_t len,
}
static int32_t convertSmlTimeStamp(TAOS_SML_KV *pVal, char *value,
- uint16_t len) {
+ uint16_t len, SSmlLinesInfo* info) {
int32_t ret;
SMLTimeStampType type;
int64_t tsVal;
@@ -1715,7 +1715,7 @@ static int32_t convertSmlTimeStamp(TAOS_SML_KV *pVal, char *value,
if (ret) {
return ret;
}
- tscDebug("Timestamp after conversion:%"PRId64, tsVal);
+ tscDebug("SML:0x%"PRIx64"Timestamp after conversion:%"PRId64, info->id, tsVal);
pVal->type = TSDB_DATA_TYPE_TIMESTAMP;
pVal->length = (int16_t)tDataTypes[pVal->type].bytes;
@@ -1724,7 +1724,7 @@ static int32_t convertSmlTimeStamp(TAOS_SML_KV *pVal, char *value,
return TSDB_CODE_SUCCESS;
}
-static int32_t parseSmlTimeStamp(TAOS_SML_KV **pTS, const char **index) {
+static int32_t parseSmlTimeStamp(TAOS_SML_KV **pTS, const char **index, SSmlLinesInfo* info) {
const char *start, *cur;
int32_t ret = TSDB_CODE_SUCCESS;
int len = 0;
@@ -1744,7 +1744,7 @@ static int32_t parseSmlTimeStamp(TAOS_SML_KV **pTS, const char **index) {
memcpy(value, start, len);
}
- ret = convertSmlTimeStamp(*pTS, value, len);
+ ret = convertSmlTimeStamp(*pTS, value, len, info);
if (ret) {
free(value);
free(*pTS);
@@ -1757,7 +1757,7 @@ static int32_t parseSmlTimeStamp(TAOS_SML_KV **pTS, const char **index) {
return ret;
}
-static bool checkDuplicateKey(char *key, SHashObj *pHash) {
+static bool checkDuplicateKey(char *key, SHashObj *pHash, SSmlLinesInfo* info) {
char *val = NULL;
char *cur = key;
char keyLower[TSDB_COL_NAME_LEN];
@@ -1771,7 +1771,7 @@ static bool checkDuplicateKey(char *key, SHashObj *pHash) {
val = taosHashGet(pHash, keyLower, keyLen);
if (val) {
- tscError("Duplicate key:%s", keyLower);
+ tscError("SML:0x%"PRIx64" Duplicate key detected:%s", info->id, keyLower);
return true;
}
@@ -1781,19 +1781,19 @@ static bool checkDuplicateKey(char *key, SHashObj *pHash) {
return false;
}
-static int32_t parseSmlKey(TAOS_SML_KV *pKV, const char **index, SHashObj *pHash) {
+static int32_t parseSmlKey(TAOS_SML_KV *pKV, const char **index, SHashObj *pHash, SSmlLinesInfo* info) {
const char *cur = *index;
char key[TSDB_COL_NAME_LEN + 1]; // +1 to avoid key[len] over write
uint16_t len = 0;
//key field cannot start with digit
if (isdigit(*cur)) {
- tscError("Tag key cannnot start with digit\n");
+ tscError("SML:0x%"PRIx64" Tag key cannnot start with digit", info->id);
return TSDB_CODE_TSC_LINE_SYNTAX_ERROR;
}
while (*cur != '\0') {
if (len > TSDB_COL_NAME_LEN) {
- tscDebug("Key field cannot exceeds 65 characters");
+ tscError("SML:0x%"PRIx64" Key field cannot exceeds 65 characters", info->id);
return TSDB_CODE_TSC_LINE_SYNTAX_ERROR;
}
//unescaped '=' identifies a tag key
@@ -1810,20 +1810,20 @@ static int32_t parseSmlKey(TAOS_SML_KV *pKV, const char **index, SHashObj *pHash
}
key[len] = '\0';
- if (checkDuplicateKey(key, pHash)) {
+ if (checkDuplicateKey(key, pHash, info)) {
return TSDB_CODE_TSC_LINE_SYNTAX_ERROR;
}
pKV->key = calloc(len + 1, 1);
memcpy(pKV->key, key, len + 1);
- //tscDebug("Key:%s|len:%d", pKV->key, len);
+ //tscDebug("SML:0x%"PRIx64" Key:%s|len:%d", info->id, pKV->key, len);
*index = cur + 1;
return TSDB_CODE_SUCCESS;
}
static bool parseSmlValue(TAOS_SML_KV *pKV, const char **index,
- bool *is_last_kv) {
+ bool *is_last_kv, SSmlLinesInfo* info) {
const char *start, *cur;
char *value = NULL;
uint16_t len = 0;
@@ -1847,7 +1847,9 @@ static bool parseSmlValue(TAOS_SML_KV *pKV, const char **index,
value = calloc(len + 1, 1);
memcpy(value, start, len);
value[len] = '\0';
- if (!convertSmlValueType(pKV, value, len)) {
+ if (!convertSmlValueType(pKV, value, len, info)) {
+ tscError("SML:0x%"PRIx64" Failed to convert sml value string(%s) to any type",
+ info->id, value);
//free previous alocated key field
free(pKV->key);
pKV->key = NULL;
@@ -1861,7 +1863,7 @@ static bool parseSmlValue(TAOS_SML_KV *pKV, const char **index,
}
static int32_t parseSmlMeasurement(TAOS_SML_DATA_POINT *pSml, const char **index,
- uint8_t *has_tags) {
+ uint8_t *has_tags, SSmlLinesInfo* info) {
const char *cur = *index;
uint16_t len = 0;
@@ -1870,7 +1872,7 @@ static int32_t parseSmlMeasurement(TAOS_SML_DATA_POINT *pSml, const char **index
return TSDB_CODE_TSC_OUT_OF_MEMORY;
}
if (isdigit(*cur)) {
- tscError("Measurement field cannnot start with digit");
+ tscError("SML:0x%"PRIx64" Measurement field cannnot start with digit", info->id);
free(pSml->stableName);
pSml->stableName = NULL;
return TSDB_CODE_TSC_LINE_SYNTAX_ERROR;
@@ -1878,7 +1880,7 @@ static int32_t parseSmlMeasurement(TAOS_SML_DATA_POINT *pSml, const char **index
while (*cur != '\0') {
if (len > TSDB_TABLE_NAME_LEN) {
- tscError("Measurement field cannot exceeds 193 characters");
+ tscError("SML:0x%"PRIx64" Measurement field cannot exceeds 193 characters", info->id);
free(pSml->stableName);
pSml->stableName = NULL;
return TSDB_CODE_TSC_LINE_SYNTAX_ERROR;
@@ -1902,7 +1904,7 @@ static int32_t parseSmlMeasurement(TAOS_SML_DATA_POINT *pSml, const char **index
}
pSml->stableName[len] = '\0';
*index = cur + 1;
- tscDebug("Stable name in measurement:%s|len:%d", pSml->stableName, len);
+ tscDebug("SML:0x%"PRIx64" Stable name in measurement:%s|len:%d", info->id, pSml->stableName, len);
return TSDB_CODE_SUCCESS;
}
@@ -1921,7 +1923,8 @@ static int32_t isValidChildTableName(const char *pTbName, int16_t len) {
static int32_t parseSmlKvPairs(TAOS_SML_KV **pKVs, int *num_kvs,
const char **index, bool isField,
- TAOS_SML_DATA_POINT* smlData, SHashObj *pHash) {
+ TAOS_SML_DATA_POINT* smlData, SHashObj *pHash,
+ SSmlLinesInfo* info) {
const char *cur = *index;
int32_t ret = TSDB_CODE_SUCCESS;
TAOS_SML_KV *pkv;
@@ -1941,14 +1944,14 @@ static int32_t parseSmlKvPairs(TAOS_SML_KV **pKVs, int *num_kvs,
}
while (*cur != '\0') {
- ret = parseSmlKey(pkv, &cur, pHash);
+ ret = parseSmlKey(pkv, &cur, pHash, info);
if (ret) {
- tscError("Unable to parse key field");
+ tscError("SML:0x%"PRIx64" Unable to parse key", info->id);
goto error;
}
- ret = parseSmlValue(pkv, &cur, &is_last_kv);
+ ret = parseSmlValue(pkv, &cur, &is_last_kv, info);
if (ret) {
- tscError("Unable to parse value field");
+ tscError("SML:0x%"PRIx64" Unable to parse value", info->id);
goto error;
}
if (!isField &&
@@ -1966,7 +1969,6 @@ static int32_t parseSmlKvPairs(TAOS_SML_KV **pKVs, int *num_kvs,
*num_kvs += 1;
}
if (is_last_kv) {
- //tscDebug("last key-value field detected");
goto done;
}
@@ -2024,50 +2026,50 @@ static void moveTimeStampToFirstKv(TAOS_SML_DATA_POINT** smlData, TAOS_SML_KV *t
free(ts);
}
-int32_t tscParseLine(const char* sql, TAOS_SML_DATA_POINT* smlData) {
+int32_t tscParseLine(const char* sql, TAOS_SML_DATA_POINT* smlData, SSmlLinesInfo* info) {
const char* index = sql;
int32_t ret = TSDB_CODE_SUCCESS;
uint8_t has_tags = 0;
TAOS_SML_KV *timestamp = NULL;
SHashObj *keyHashTable = taosHashInit(128, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BINARY), true, false);
- ret = parseSmlMeasurement(smlData, &index, &has_tags);
+ ret = parseSmlMeasurement(smlData, &index, &has_tags, info);
if (ret) {
- tscError("Unable to parse measurement");
+ tscError("SML:0x%"PRIx64" Unable to parse measurement", info->id);
taosHashCleanup(keyHashTable);
return ret;
}
- tscDebug("Parse measurement finished, has_tags:%d", has_tags);
+ tscDebug("SML:0x%"PRIx64" Parse measurement finished, has_tags:%d", info->id, has_tags);
//Parse Tags
if (has_tags) {
- ret = parseSmlKvPairs(&smlData->tags, &smlData->tagNum, &index, false, smlData, keyHashTable);
+ ret = parseSmlKvPairs(&smlData->tags, &smlData->tagNum, &index, false, smlData, keyHashTable, info);
if (ret) {
- tscError("Unable to parse tag");
+ tscError("SML:0x%"PRIx64" Unable to parse tag", info->id);
taosHashCleanup(keyHashTable);
return ret;
}
}
- tscDebug("Parse tags finished, num of tags:%d", smlData->tagNum);
+ tscDebug("SML:0x%"PRIx64" Parse tags finished, num of tags:%d", info->id, smlData->tagNum);
//Parse fields
- ret = parseSmlKvPairs(&smlData->fields, &smlData->fieldNum, &index, true, smlData, keyHashTable);
+ ret = parseSmlKvPairs(&smlData->fields, &smlData->fieldNum, &index, true, smlData, keyHashTable, info);
if (ret) {
- tscError("Unable to parse field");
+ tscError("SML:0x%"PRIx64" Unable to parse field", info->id);
taosHashCleanup(keyHashTable);
return ret;
}
- tscDebug("Parse fields finished, num of fields:%d", smlData->fieldNum);
+ tscDebug("SML:0x%"PRIx64" Parse fields finished, num of fields:%d", info->id, smlData->fieldNum);
taosHashCleanup(keyHashTable);
//Parse timestamp
- ret = parseSmlTimeStamp(×tamp, &index);
+ ret = parseSmlTimeStamp(×tamp, &index, info);
if (ret) {
- tscError("Unable to parse timestamp");
+ tscError("SML:0x%"PRIx64" Unable to parse timestamp", info->id);
return ret;
}
moveTimeStampToFirstKv(&smlData, timestamp);
- tscDebug("Parse timestamp finished");
+ tscDebug("SML:0x%"PRIx64" Parse timestamp finished", info->id);
return TSDB_CODE_SUCCESS;
}
@@ -2104,7 +2106,7 @@ void destroySmlDataPoint(TAOS_SML_DATA_POINT* point) {
int32_t tscParseLines(char* lines[], int numLines, SArray* points, SArray* failedLines, SSmlLinesInfo* info) {
for (int32_t i = 0; i < numLines; ++i) {
TAOS_SML_DATA_POINT point = {0};
- int32_t code = tscParseLine(lines[i], &point);
+ int32_t code = tscParseLine(lines[i], &point, info);
if (code != TSDB_CODE_SUCCESS) {
tscError("SML:0x%"PRIx64" data point line parse failed. line %d : %s", info->id, i, lines[i]);
destroySmlDataPoint(&point);
diff --git a/src/client/src/tscSQLParser.c b/src/client/src/tscSQLParser.c
index 573e8b8782de02d5361ad840d517ece75544df52..d26f0b478e5634a7841ac922168cebacb73ec680 100644
--- a/src/client/src/tscSQLParser.c
+++ b/src/client/src/tscSQLParser.c
@@ -900,6 +900,7 @@ int32_t tscValidateSqlInfo(SSqlObj* pSql, struct SSqlInfo* pInfo) {
SSqlNode* pSqlNode = taosArrayGetP(pInfo->list, i);
tscTrace("0x%"PRIx64" start to parse the %dth subclause, total:%"PRIzu, pSql->self, i, size);
+
// normalizeSqlNode(pSqlNode); // normalize the column name in each function
if ((code = validateSqlNode(pSql, pSqlNode, pQueryInfo)) != TSDB_CODE_SUCCESS) {
return code;
@@ -1288,35 +1289,31 @@ int32_t parseSlidingClause(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, SStrToken* pSl
STableMetaInfo* pTableMetaInfo = tscGetMetaInfo(pQueryInfo, 0);
STableComInfo tinfo = tscGetTableInfo(pTableMetaInfo->pTableMeta);
+ SInterval* pInterval = &pQueryInfo->interval;
if (pSliding->n == 0) {
- pQueryInfo->interval.slidingUnit = pQueryInfo->interval.intervalUnit;
- pQueryInfo->interval.sliding = pQueryInfo->interval.interval;
+ pInterval->slidingUnit = pInterval->intervalUnit;
+ pInterval->sliding = pInterval->interval;
return TSDB_CODE_SUCCESS;
}
- if (pQueryInfo->interval.intervalUnit == 'n' || pQueryInfo->interval.intervalUnit == 'y') {
+ if (pInterval->intervalUnit == 'n' || pInterval->intervalUnit == 'y') {
return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg3);
}
- parseAbsoluteDuration(pSliding->z, pSliding->n, &pQueryInfo->interval.sliding, tinfo.precision);
+ parseAbsoluteDuration(pSliding->z, pSliding->n, &pInterval->sliding, &pInterval->slidingUnit, tinfo.precision);
- if (pQueryInfo->interval.sliding <
- convertTimePrecision(tsMinSlidingTime, TSDB_TIME_PRECISION_MILLI, tinfo.precision)) {
+ if (pInterval->sliding < convertTimePrecision(tsMinSlidingTime, TSDB_TIME_PRECISION_MILLI, tinfo.precision)) {
return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg0);
}
- if (pQueryInfo->interval.sliding > pQueryInfo->interval.interval) {
+ if (pInterval->sliding > pInterval->interval) {
return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg1);
}
- if ((pQueryInfo->interval.interval != 0) && (pQueryInfo->interval.interval/pQueryInfo->interval.sliding > INTERVAL_SLIDING_FACTOR)) {
+ if ((pInterval->interval != 0) && (pInterval->interval/pInterval->sliding > INTERVAL_SLIDING_FACTOR)) {
return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg2);
}
-// if (pQueryInfo->interval.sliding != pQueryInfo->interval.interval && pSql->pStream == NULL) {
-// return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg4);
-// }
-
return TSDB_CODE_SUCCESS;
}
@@ -2028,7 +2025,6 @@ static SUdfInfo* isValidUdf(SArray* pUdfInfo, const char* name, int32_t len) {
tscError("udfinfo is null");
return NULL;
}
-
size_t t = taosArrayGetSize(pUdfInfo);
for(int32_t i = 0; i < t; ++i) {
SUdfInfo* pUdf = taosArrayGet(pUdfInfo, i);
@@ -6080,10 +6076,12 @@ int32_t setAlterTableInfo(SSqlObj* pSql, struct SSqlInfo* pInfo) {
SSchema* pSchema = tscGetTableTagSchema(pTableMetaInfo->pTableMeta);
int16_t numOfTags = tscGetNumOfTags(pTableMetaInfo->pTableMeta);
- int16_t i;
+ int32_t numOfCols = tscGetNumOfColumns(pTableMetaInfo->pTableMeta);
+ int32_t tagIndex = columnIndex.columnIndex - numOfCols;
+ assert(tagIndex>=0);
uint32_t nLen = 0;
- for (i = 0; i < numOfTags; ++i) {
- nLen += (i != columnIndex.columnIndex) ? pSchema[i].bytes : pItem->bytes;
+ for (int i = 0; i < numOfTags; ++i) {
+ nLen += (i != tagIndex) ? pSchema[i].bytes : pItem->bytes;
}
if (nLen >= TSDB_MAX_TAGS_LEN) {
return invalidOperationMsg(pMsg, msg24);
@@ -8093,6 +8091,7 @@ int32_t loadAllTableMeta(SSqlObj* pSql, struct SSqlInfo* pInfo) {
SArray* pVgroupList = NULL;
SArray* plist = NULL;
STableMeta* pTableMeta = NULL;
+ size_t tableMetaCapacity = 0;
SQueryInfo* pQueryInfo = tscGetQueryInfo(pCmd);
pCmd->pTableMetaMap = taosHashInit(4, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BINARY), false, HASH_NO_LOCK);
@@ -8119,18 +8118,14 @@ int32_t loadAllTableMeta(SSqlObj* pSql, struct SSqlInfo* pInfo) {
}
}
- uint32_t maxSize = tscGetTableMetaMaxSize();
char name[TSDB_TABLE_FNAME_LEN] = {0};
- assert(maxSize < 80 * TSDB_MAX_COLUMNS);
- if (!pSql->pBuf) {
- if (NULL == (pSql->pBuf = tcalloc(1, 80 * TSDB_MAX_COLUMNS))) {
- code = TSDB_CODE_TSC_OUT_OF_MEMORY;
- goto _end;
- }
- }
-
- pTableMeta = calloc(1, maxSize);
+ //if (!pSql->pBuf) {
+ // if (NULL == (pSql->pBuf = tcalloc(1, 80 * TSDB_MAX_COLUMNS))) {
+ // code = TSDB_CODE_TSC_OUT_OF_MEMORY;
+ // goto _end;
+ // }
+ //}
plist = taosArrayInit(4, POINTER_BYTES);
pVgroupList = taosArrayInit(4, POINTER_BYTES);
@@ -8144,16 +8139,16 @@ int32_t loadAllTableMeta(SSqlObj* pSql, struct SSqlInfo* pInfo) {
tNameExtractFullName(pname, name);
size_t len = strlen(name);
- memset(pTableMeta, 0, maxSize);
- taosHashGetClone(tscTableMetaMap, name, len, NULL, pTableMeta);
+
+ taosHashGetCloneExt(tscTableMetaMap, name, len, NULL, (void **)&pTableMeta, &tableMetaCapacity);
- if (pTableMeta->id.uid > 0) {
+ if (pTableMeta && pTableMeta->id.uid > 0) {
tscDebug("0x%"PRIx64" retrieve table meta %s from local buf", pSql->self, name);
// avoid mem leak, may should update pTableMeta
void* pVgroupIdList = NULL;
if (pTableMeta->tableType == TSDB_CHILD_TABLE) {
- code = tscCreateTableMetaFromSTableMeta(pTableMeta, name, pSql->pBuf);
+ code = tscCreateTableMetaFromSTableMeta((STableMeta **)(&pTableMeta), name, &tableMetaCapacity);
// create the child table meta from super table failed, try load it from mnode
if (code != TSDB_CODE_SUCCESS) {
@@ -8308,7 +8303,8 @@ static int32_t doLoadAllTableMeta(SSqlObj* pSql, SQueryInfo* pQueryInfo, SSqlNod
tNameExtractFullName(&pTableMetaInfo->name, fname);
STableMetaVgroupInfo* p = taosHashGet(pCmd->pTableMetaMap, fname, strnlen(fname, TSDB_TABLE_FNAME_LEN));
- pTableMetaInfo->pTableMeta = tscTableMetaDup(p->pTableMeta);
+ pTableMetaInfo->pTableMeta = tscTableMetaDup(p->pTableMeta);
+ pTableMetaInfo->tableMetaCapacity = tscGetTableMetaSize(pTableMetaInfo->pTableMeta);
assert(pTableMetaInfo->pTableMeta != NULL);
if (p->vgroupIdList != NULL) {
@@ -8408,7 +8404,8 @@ static int32_t doValidateSubquery(SSqlNode* pSqlNode, int32_t index, SSqlObj* pS
if (pTableMetaInfo1 == NULL) {
return TSDB_CODE_TSC_OUT_OF_MEMORY;
}
- pTableMetaInfo1->pTableMeta = extractTempTableMetaFromSubquery(pSub);
+ pTableMetaInfo1->pTableMeta = extractTempTableMetaFromSubquery(pSub);
+ pTableMetaInfo1->tableMetaCapacity = tscGetTableMetaSize(pTableMetaInfo1->pTableMeta);
if (subInfo->aliasName.n > 0) {
if (subInfo->aliasName.n >= TSDB_TABLE_FNAME_LEN) {
@@ -8457,6 +8454,7 @@ int32_t validateSqlNode(SSqlObj* pSql, SSqlNode* pSqlNode, SQueryInfo* pQueryInf
const char* msg6 = "not support stddev/percentile/interp in the outer query yet";
const char* msg7 = "derivative/twa/irate requires timestamp column exists in subquery";
const char* msg8 = "condition missing for join query";
+ const char* msg9 = "not support 3 level select";
int32_t code = TSDB_CODE_SUCCESS;
@@ -8487,6 +8485,13 @@ int32_t validateSqlNode(SSqlObj* pSql, SSqlNode* pSqlNode, SQueryInfo* pQueryInf
// parse the subquery in the first place
int32_t numOfSub = (int32_t)taosArrayGetSize(pSqlNode->from->list);
for (int32_t i = 0; i < numOfSub; ++i) {
+ // check if there is 3 level select
+ SRelElementPair* subInfo = taosArrayGet(pSqlNode->from->list, i);
+ SSqlNode* p = taosArrayGetP(subInfo->pSubquery, 0);
+ if (p->from->type == SQL_NODE_FROM_SUBQUERY){
+ return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg9);
+ }
+
code = doValidateSubquery(pSqlNode, i, pSql, pQueryInfo, tscGetErrorMsgPayload(pCmd));
if (code != TSDB_CODE_SUCCESS) {
return code;
@@ -8767,8 +8772,8 @@ int32_t validateSqlNode(SSqlObj* pSql, SSqlNode* pSqlNode, SQueryInfo* pQueryInf
#if 0
SQueryNode* p = qCreateQueryPlan(pQueryInfo);
char* s = queryPlanToString(p);
+ printf("%s\n", s);
tfree(s);
-
qDestroyQueryPlan(p);
#endif
diff --git a/src/client/src/tscServer.c b/src/client/src/tscServer.c
index fdb1be9f4ecdc0be2c313831c3d9c2f70dbfca96..9230b2bc687bc0d8edf82e79c50ee6355bd33716 100644
--- a/src/client/src/tscServer.c
+++ b/src/client/src/tscServer.c
@@ -401,10 +401,8 @@ static void doProcessMsgFromServer(SSchedMsg* pSchedMsg) {
// single table query error need to be handled here.
if ((cmd == TSDB_SQL_SELECT || cmd == TSDB_SQL_UPDATE_TAGS_VAL) &&
- (((rpcMsg->code == TSDB_CODE_TDB_INVALID_TABLE_ID ||
- rpcMsg->code == TSDB_CODE_VND_INVALID_VGROUP_ID)) ||
- rpcMsg->code == TSDB_CODE_RPC_NETWORK_UNAVAIL ||
- rpcMsg->code == TSDB_CODE_APP_NOT_READY)) {
+ (((rpcMsg->code == TSDB_CODE_TDB_INVALID_TABLE_ID || rpcMsg->code == TSDB_CODE_VND_INVALID_VGROUP_ID)) ||
+ rpcMsg->code == TSDB_CODE_RPC_NETWORK_UNAVAIL || rpcMsg->code == TSDB_CODE_APP_NOT_READY)) {
// 1. super table subquery
// 2. nest queries are all not updated the tablemeta and retry parse the sql after cleanup local tablemeta/vgroup id buffer
@@ -2840,43 +2838,22 @@ int32_t getMultiTableMetaFromMnode(SSqlObj *pSql, SArray* pNameList, SArray* pVg
int32_t tscGetTableMetaImpl(SSqlObj* pSql, STableMetaInfo *pTableMetaInfo, bool autocreate, bool onlyLocal) {
assert(tIsValidName(&pTableMetaInfo->name));
- uint32_t size = tscGetTableMetaMaxSize();
- if (pTableMetaInfo->pTableMeta == NULL) {
- pTableMetaInfo->pTableMeta = calloc(1, size);
- pTableMetaInfo->tableMetaSize = size;
- } else if (pTableMetaInfo->tableMetaSize < size) {
- char *tmp = realloc(pTableMetaInfo->pTableMeta, size);
- if (tmp == NULL) {
- return TSDB_CODE_TSC_OUT_OF_MEMORY;
- }
- pTableMetaInfo->pTableMeta = (STableMeta *)tmp;
- }
-
- memset(pTableMetaInfo->pTableMeta, 0, size);
- pTableMetaInfo->tableMetaSize = size;
-
- pTableMetaInfo->pTableMeta->tableType = -1;
- pTableMetaInfo->pTableMeta->tableInfo.numOfColumns = -1;
-
char name[TSDB_TABLE_FNAME_LEN] = {0};
tNameExtractFullName(&pTableMetaInfo->name, name);
size_t len = strlen(name);
- taosHashGetClone(tscTableMetaMap, name, len, NULL, pTableMetaInfo->pTableMeta);
-
- // TODO resize the tableMeta
- assert(size < 80 * TSDB_MAX_COLUMNS);
- if (!pSql->pBuf) {
- if (NULL == (pSql->pBuf = tcalloc(1, 80 * TSDB_MAX_COLUMNS))) {
- return TSDB_CODE_TSC_OUT_OF_MEMORY;
- }
- }
+ if (pTableMetaInfo->tableMetaCapacity != 0) {
+ if (pTableMetaInfo->pTableMeta != NULL) {
+ memset(pTableMetaInfo->pTableMeta, 0, pTableMetaInfo->tableMetaCapacity);
+ }
+ }
+ taosHashGetCloneExt(tscTableMetaMap, name, len, NULL, (void **)&(pTableMetaInfo->pTableMeta), &pTableMetaInfo->tableMetaCapacity);
STableMeta* pMeta = pTableMetaInfo->pTableMeta;
- if (pMeta->id.uid > 0) {
+ if (pMeta && pMeta->id.uid > 0) {
// in case of child table, here only get the
if (pMeta->tableType == TSDB_CHILD_TABLE) {
- int32_t code = tscCreateTableMetaFromSTableMeta(pTableMetaInfo->pTableMeta, name, pSql->pBuf);
+ int32_t code = tscCreateTableMetaFromSTableMeta(&pTableMetaInfo->pTableMeta, name, &pTableMetaInfo->tableMetaCapacity);
if (code != TSDB_CODE_SUCCESS) {
return getTableMetaFromMnode(pSql, pTableMetaInfo, autocreate);
}
diff --git a/src/client/src/tscSubquery.c b/src/client/src/tscSubquery.c
index 7dcd699db67e54d268d0d829789c445d6fe96fcf..8c0d642ca697065964f552f2c2c3306cd125e5c4 100644
--- a/src/client/src/tscSubquery.c
+++ b/src/client/src/tscSubquery.c
@@ -1635,6 +1635,8 @@ void tscFetchDatablockForSubquery(SSqlObj* pSql) {
continue;
}
+
+
SSqlRes* pRes1 = &pSql1->res;
if (pRes1->row >= pRes1->numOfRows) {
subquerySetState(pSql1, &pSql->subState, i, 0);
diff --git a/src/client/src/tscUtil.c b/src/client/src/tscUtil.c
index 1736fa3259cf080872b4defd3b5aca5b1553959a..47783c30b651a73642cca71b287c82b883d20a3e 100644
--- a/src/client/src/tscUtil.c
+++ b/src/client/src/tscUtil.c
@@ -1276,10 +1276,10 @@ static void tscDestroyResPointerInfo(SSqlRes* pRes) {
for (int i = 0; i < pRes->numOfCols; i++) {
tfree(pRes->buffer[i]);
}
-
+
pRes->numOfCols = 0;
}
-
+
tfree(pRes->pRsp);
tfree(pRes->tsrow);
@@ -1657,6 +1657,7 @@ int32_t tscCopyDataBlockToPayload(SSqlObj* pSql, STableDataBlocks* pDataBlock) {
pTableMetaInfo->pTableMeta = tscTableMetaDup(pDataBlock->pTableMeta);
pTableMetaInfo->tableMetaSize = tscGetTableMetaSize(pDataBlock->pTableMeta);
+ pTableMetaInfo->tableMetaCapacity = (size_t)(pTableMetaInfo->tableMetaSize);
}
/*
@@ -1719,7 +1720,7 @@ int32_t tscCreateDataBlock(size_t defaultSize, int32_t rowSize, int32_t startOff
if (dataBuf->nAllocSize <= dataBuf->headerSize) {
dataBuf->nAllocSize = dataBuf->headerSize * 2;
}
-
+
//dataBuf->pData = calloc(1, dataBuf->nAllocSize);
dataBuf->pData = malloc(dataBuf->nAllocSize);
if (dataBuf->pData == NULL) {
@@ -1835,7 +1836,7 @@ static SMemRow tdGenMemRowFromBuilder(SMemRowBuilder* pBuilder) {
toffset += TYPE_BYTES[pSchema[j].type];
++j;
}
-
+
#if 0 // no need anymore
while (i < nColsBound) {
p = payloadNextCol(p);
@@ -2005,7 +2006,7 @@ int32_t tscMergeTableDataBlocks(SInsertStatementParam *pInsertParam, bool freeBl
// the maximum expanded size in byte when a row-wise data is converted to SDataRow format
int32_t expandSize = getRowExpandSize(pOneTableBlock->pTableMeta);
STableDataBlocks* dataBuf = NULL;
-
+
int32_t ret = tscGetDataBlockFromList(pVnodeDataBlockHashList, pOneTableBlock->vgId, TSDB_PAYLOAD_SIZE,
INSERT_HEAD_SIZE, 0, &pOneTableBlock->tableName, pOneTableBlock->pTableMeta, &dataBuf, pVnodeDataBlockList);
if (ret != TSDB_CODE_SUCCESS) {
@@ -2059,7 +2060,7 @@ int32_t tscMergeTableDataBlocks(SInsertStatementParam *pInsertParam, bool freeBl
pInsertParam->objectId, tNameGetTableName(&pOneTableBlock->tableName), pBlocks->tid,
pBlocks->numOfRows, pBlocks->sversion, blkKeyInfo.pKeyTuple->skey, pLastKeyTuple->skey);
}
-
+
int32_t len = pBlocks->numOfRows * (pOneTableBlock->rowSize + expandSize) + sizeof(STColumn) * tscGetNumOfColumns(pOneTableBlock->pTableMeta);
pBlocks->tid = htonl(pBlocks->tid);
@@ -2083,7 +2084,7 @@ int32_t tscMergeTableDataBlocks(SInsertStatementParam *pInsertParam, bool freeBl
}else {
tscDebug("0x%"PRIx64" table %s data block is empty", pInsertParam->objectId, pOneTableBlock->tableName.tname);
}
-
+
p = taosHashIterate(pInsertParam->pTableBlockHashList, p);
if (p == NULL) {
break;
@@ -2147,7 +2148,7 @@ int tscAllocPayload(SSqlCmd* pCmd, int size) {
pCmd->payload = b;
pCmd->allocSize = size;
}
-
+
memset(pCmd->payload, 0, pCmd->allocSize);
}
@@ -2164,7 +2165,7 @@ TAOS_FIELD tscCreateField(int8_t type, const char* name, int16_t bytes) {
SInternalField* tscFieldInfoAppend(SFieldInfo* pFieldInfo, TAOS_FIELD* pField) {
assert(pFieldInfo != NULL);
pFieldInfo->numOfOutput++;
-
+
struct SInternalField info = { .pExpr = NULL, .visible = true };
info.field = *pField;
@@ -2256,13 +2257,13 @@ int32_t tscGetResRowLength(SArray* pExprList) {
if (num == 0) {
return 0;
}
-
+
int32_t size = 0;
for(int32_t i = 0; i < num; ++i) {
SExprInfo* pExpr = taosArrayGetP(pExprList, i);
size += pExpr->base.resBytes;
}
-
+
return size;
}
@@ -2402,7 +2403,7 @@ SExprInfo* tscExprCreate(STableMetaInfo* pTableMetaInfo, int16_t functionId, SCo
snprintf(p->colInfo.name, len, "%s.%s", pTableMetaInfo->aliasName, pSchema->name);
}
}
-
+
p->colInfo.flag = colType;
p->colInfo.colIndex = pColIndex->columnIndex;
@@ -2414,7 +2415,7 @@ SExprInfo* tscExprCreate(STableMetaInfo* pTableMetaInfo, int16_t functionId, SCo
if (pTableMetaInfo->pTableMeta) {
p->uid = pTableMetaInfo->pTableMeta->id.uid;
}
-
+
return pExpr;
}
@@ -2500,18 +2501,18 @@ SExprInfo* tscExprGet(SQueryInfo* pQueryInfo, int32_t index) {
*/
void tscExprDestroy(SArray* pExprInfo) {
size_t size = taosArrayGetSize(pExprInfo);
-
+
for(int32_t i = 0; i < size; ++i) {
SExprInfo* pExpr = taosArrayGetP(pExprInfo, i);
sqlExprDestroy(pExpr);
}
-
+
taosArrayDestroy(pExprInfo);
}
int32_t tscExprCopy(SArray* dst, const SArray* src, uint64_t uid, bool deepcopy) {
assert(src != NULL && dst != NULL);
-
+
size_t size = taosArrayGetSize(src);
for (int32_t i = 0; i < size; ++i) {
SExprInfo* pExpr = taosArrayGetP(src, i);
@@ -2596,7 +2597,7 @@ SColumn* tscColumnListInsert(SArray* pColumnList, int32_t columnIndex, uint64_t
if (columnIndex < 0) {
return NULL;
}
-
+
size_t numOfCols = taosArrayGetSize(pColumnList);
int32_t i = 0;
@@ -2626,7 +2627,7 @@ SColumn* tscColumnListInsert(SArray* pColumnList, int32_t columnIndex, uint64_t
taosArrayInsert(pColumnList, i, &b);
} else {
SColumn* pCol = taosArrayGetP(pColumnList, i);
-
+
if (i < numOfCols && (pCol->columnIndex > columnIndex || pCol->tableUid != uid)) {
SColumn* b = calloc(1, sizeof(SColumn));
if (b == NULL) {
@@ -2650,7 +2651,7 @@ SColumn* tscColumnListInsert(SArray* pColumnList, int32_t columnIndex, uint64_t
SColumn* tscColumnClone(const SColumn* src) {
assert(src != NULL);
-
+
SColumn* dst = calloc(1, sizeof(SColumn));
if (dst == NULL) {
return NULL;
@@ -2679,7 +2680,7 @@ void tscColumnCopy(SColumn* pDest, const SColumn* pSrc) {
void tscColumnListCopy(SArray* dst, const SArray* src, uint64_t tableUid) {
assert(src != NULL && dst != NULL);
-
+
size_t num = taosArrayGetSize(src);
for (int32_t i = 0; i < num; ++i) {
SColumn* pCol = taosArrayGetP(src, i);
@@ -2790,18 +2791,19 @@ void tscDequoteAndTrimToken(SStrToken* pToken) {
}
int32_t tscValidateName(SStrToken* pToken) {
- if (pToken->type != TK_STRING && pToken->type != TK_ID) {
+ if (pToken == NULL || pToken->z == NULL ||
+ (pToken->type != TK_STRING && pToken->type != TK_ID)) {
return TSDB_CODE_TSC_INVALID_OPERATION;
}
char* sep = strnchr(pToken->z, TS_PATH_DELIMITER[0], pToken->n, true);
if (sep == NULL) { // single part
if (pToken->type == TK_STRING) {
-
+
tscDequoteAndTrimToken(pToken);
tscStrToLower(pToken->z, pToken->n);
//pToken->n = (uint32_t)strtrim(pToken->z);
-
+
int len = tGetToken(pToken->z, &pToken->type);
// single token, validate it
@@ -2853,7 +2855,7 @@ int32_t tscValidateName(SStrToken* pToken) {
if (pToken->type == TK_STRING && validateQuoteToken(pToken) != TSDB_CODE_SUCCESS) {
return TSDB_CODE_TSC_INVALID_OPERATION;
}
-
+
// re-build the whole name string
if (pStr[firstPartLen] == TS_PATH_DELIMITER[0]) {
// first part do not have quote do nothing
@@ -2892,7 +2894,7 @@ bool tscValidateColumnId(STableMetaInfo* pTableMetaInfo, int32_t colId, int32_t
SSchema* pSchema = tscGetTableSchema(pTableMetaInfo->pTableMeta);
STableComInfo tinfo = tscGetTableInfo(pTableMetaInfo->pTableMeta);
-
+
int32_t numOfTotal = tinfo.numOfTags + tinfo.numOfColumns;
for (int32_t i = 0; i < numOfTotal; ++i) {
@@ -2937,21 +2939,21 @@ int32_t tscTagCondCopy(STagCond* dest, const STagCond* src) {
dest->relType = src->relType;
-
+
if (src->pCond == NULL) {
return 0;
}
-
+
size_t s = taosArrayGetSize(src->pCond);
dest->pCond = taosArrayInit(s, sizeof(SCond));
-
+
for (int32_t i = 0; i < s; ++i) {
SCond* pCond = taosArrayGet(src->pCond, i);
-
+
SCond c = {0};
c.len = pCond->len;
c.uid = pCond->uid;
-
+
if (pCond->len > 0) {
assert(pCond->cond != NULL);
c.cond = malloc(c.len);
@@ -2961,7 +2963,7 @@ int32_t tscTagCondCopy(STagCond* dest, const STagCond* src) {
memcpy(c.cond, pCond->cond, c.len);
}
-
+
taosArrayPush(dest->pCond, &c);
}
@@ -2970,14 +2972,14 @@ int32_t tscTagCondCopy(STagCond* dest, const STagCond* src) {
void tscTagCondRelease(STagCond* pTagCond) {
free(pTagCond->tbnameCond.cond);
-
+
if (pTagCond->pCond != NULL) {
size_t s = taosArrayGetSize(pTagCond->pCond);
for (int32_t i = 0; i < s; ++i) {
SCond* p = taosArrayGet(pTagCond->pCond, i);
tfree(p->cond);
}
-
+
taosArrayDestroy(pTagCond->pCond);
}
@@ -3004,7 +3006,7 @@ void tscTagCondRelease(STagCond* pTagCond) {
void tscGetSrcColumnInfo(SSrcColumnInfo* pColInfo, SQueryInfo* pQueryInfo) {
STableMetaInfo* pTableMetaInfo = tscGetMetaInfo(pQueryInfo, 0);
SSchema* pSchema = tscGetTableSchema(pTableMetaInfo->pTableMeta);
-
+
size_t numOfExprs = tscNumOfExprs(pQueryInfo);
for (int32_t i = 0; i < numOfExprs; ++i) {
SExprInfo* pExpr = tscExprGet(pQueryInfo, i);
@@ -3012,7 +3014,7 @@ void tscGetSrcColumnInfo(SSrcColumnInfo* pColInfo, SQueryInfo* pQueryInfo) {
if (TSDB_COL_IS_TAG(pExpr->base.colInfo.flag)) {
SSchema* pTagSchema = tscGetTableTagSchema(pTableMetaInfo->pTableMeta);
-
+
int16_t index = pExpr->base.colInfo.colIndex;
pColInfo[i].type = (index != -1) ? pTagSchema[index].type : TSDB_DATA_TYPE_BINARY;
} else {
@@ -3037,7 +3039,7 @@ bool tscShouldBeFreed(SSqlObj* pSql) {
if (pSql == NULL || pSql->signature != pSql) {
return false;
}
-
+
STscObj* pTscObj = pSql->pTscObj;
if (pSql->pStream != NULL || pTscObj->hbrid == pSql->self || pSql->pSubscription != NULL) {
return false;
@@ -3116,7 +3118,7 @@ STableMetaInfo* tscGetTableMetaInfoByUid(SQueryInfo* pQueryInfo, uint64_t uid, i
void tscInitQueryInfo(SQueryInfo* pQueryInfo) {
assert(pQueryInfo->fieldsInfo.internalField == NULL);
pQueryInfo->fieldsInfo.internalField = taosArrayInit(4, sizeof(SInternalField));
-
+
assert(pQueryInfo->exprList == NULL);
pQueryInfo->exprList = taosArrayInit(4, POINTER_BYTES);
@@ -3178,7 +3180,7 @@ static void freeQueryInfoImpl(SQueryInfo* pQueryInfo) {
pQueryInfo->groupbyExpr.columnInfo = NULL;
pQueryInfo->groupbyExpr.numOfGroupCols = 0;
}
-
+
pQueryInfo->tsBuf = tsBufDestroy(pQueryInfo->tsBuf);
pQueryInfo->fillType = 0;
@@ -3375,7 +3377,7 @@ void clearAllTableMetaInfo(SQueryInfo* pQueryInfo, bool removeMeta) {
tNameExtractFullName(&pTableMetaInfo->name, name);
taosHashRemove(tscTableMetaMap, name, strnlen(name, TSDB_TABLE_FNAME_LEN));
}
-
+
tscFreeVgroupTableInfo(pTableMetaInfo->pVgroupTables);
tscClearTableMetaInfo(pTableMetaInfo);
@@ -3409,11 +3411,13 @@ STableMetaInfo* tscAddTableMetaInfo(SQueryInfo* pQueryInfo, SName* name, STableM
pTableMetaInfo->pTableMeta = pTableMeta;
if (pTableMetaInfo->pTableMeta == NULL) {
- pTableMetaInfo->tableMetaSize = 0;
+ pTableMetaInfo->tableMetaSize = 0;
} else {
pTableMetaInfo->tableMetaSize = tscGetTableMetaSize(pTableMeta);
}
+ pTableMetaInfo->tableMetaCapacity = (size_t)(pTableMetaInfo->tableMetaSize);
+
if (vgroupList != NULL) {
pTableMetaInfo->vgroupList = tscVgroupInfoClone(vgroupList);
}
@@ -3429,7 +3433,7 @@ STableMetaInfo* tscAddTableMetaInfo(SQueryInfo* pQueryInfo, SName* name, STableM
}
pTableMetaInfo->pVgroupTables = tscVgroupTableInfoDup(pVgroupTables);
-
+
pQueryInfo->numOfTables += 1;
return pTableMetaInfo;
}
@@ -3637,7 +3641,7 @@ SSqlObj* createSubqueryObj(SSqlObj* pSql, int16_t tableIndex, __async_cb_func_t
goto _error;
}
}
-
+
if (tscTagCondCopy(&pNewQueryInfo->tagCond, &pQueryInfo->tagCond) != 0) {
terrno = TSDB_CODE_TSC_OUT_OF_MEMORY;
goto _error;
@@ -3645,7 +3649,7 @@ SSqlObj* createSubqueryObj(SSqlObj* pSql, int16_t tableIndex, __async_cb_func_t
if (pQueryInfo->fillType != TSDB_FILL_NONE) {
//just make memory memory sanitizer happy
- //refator later
+ //refactor later
pNewQueryInfo->fillVal = calloc(1, pQueryInfo->fieldsInfo.numOfOutput * sizeof(int64_t));
if (pNewQueryInfo->fillVal == NULL) {
terrno = TSDB_CODE_TSC_OUT_OF_MEMORY;
@@ -3693,14 +3697,14 @@ SSqlObj* createSubqueryObj(SSqlObj* pSql, int16_t tableIndex, __async_cb_func_t
pFinalInfo = tscAddTableMetaInfo(pNewQueryInfo, &pTableMetaInfo->name, pTableMeta, pTableMetaInfo->vgroupList,
pTableMetaInfo->tagColList, pTableMetaInfo->pVgroupTables);
-
+
} else { // transfer the ownership of pTableMeta to the newly create sql object.
STableMetaInfo* pPrevInfo = tscGetTableMetaInfoFromCmd(&pPrevSql->cmd, 0);
if (pPrevInfo->pTableMeta && pPrevInfo->pTableMeta->tableType < 0) {
terrno = TSDB_CODE_TSC_APP_ERROR;
goto _error;
}
-
+
STableMeta* pPrevTableMeta = tscTableMetaDup(pPrevInfo->pTableMeta);
SVgroupsInfo* pVgroupsInfo = pPrevInfo->vgroupList;
pFinalInfo = tscAddTableMetaInfo(pNewQueryInfo, &pTableMetaInfo->name, pPrevTableMeta, pVgroupsInfo, pTableMetaInfo->tagColList,
@@ -3720,9 +3724,9 @@ SSqlObj* createSubqueryObj(SSqlObj* pSql, int16_t tableIndex, __async_cb_func_t
goto _error;
}
-
+
assert(pNewQueryInfo->numOfTables == 1);
-
+
if (UTIL_TABLE_IS_SUPER_TABLE(pTableMetaInfo)) {
assert(pFinalInfo->vgroupList != NULL);
}
@@ -3731,13 +3735,13 @@ SSqlObj* createSubqueryObj(SSqlObj* pSql, int16_t tableIndex, __async_cb_func_t
if (cmd == TSDB_SQL_SELECT) {
size_t size = taosArrayGetSize(pNewQueryInfo->colList);
-
+
tscDebug("0x%"PRIx64" new subquery:0x%"PRIx64", tableIndex:%d, vgroupIndex:%d, type:%d, exprInfo:%" PRIzu ", colList:%" PRIzu ","
"fieldInfo:%d, name:%s, qrang:%" PRId64 " - %" PRId64 " order:%d, limit:%" PRId64,
pSql->self, pNew->self, tableIndex, pTableMetaInfo->vgroupIndex, pNewQueryInfo->type, tscNumOfExprs(pNewQueryInfo),
size, pNewQueryInfo->fieldsInfo.numOfOutput, tNameGetTableName(&pFinalInfo->name), pNewQueryInfo->window.skey,
pNewQueryInfo->window.ekey, pNewQueryInfo->order.order, pNewQueryInfo->limit.limit);
-
+
tscPrintSelNodeList(pNew, 0);
} else {
tscDebug("0x%"PRIx64" new sub insertion: %p, vnodeIdx:%d", pSql->self, pNew, pTableMetaInfo->vgroupIndex);
@@ -4045,7 +4049,7 @@ int32_t tscSQLSyntaxErrMsg(char* msg, const char* additionalInfo, const char* s
const char* msgFormat2 = "syntax error near \'%s\' (%s)";
const char* msgFormat3 = "%s";
- const char* prefix = "syntax error";
+ const char* prefix = "syntax error";
const int32_t BACKWARD_CHAR_STEP = 0;
if (sql == NULL) {
@@ -4060,7 +4064,7 @@ int32_t tscSQLSyntaxErrMsg(char* msg, const char* additionalInfo, const char* s
if (additionalInfo != NULL) {
sprintf(msg, msgFormat2, buf, additionalInfo);
} else {
- const char* msgFormat = (0 == strncmp(sql, prefix, strlen(prefix))) ? msgFormat3 : msgFormat1;
+ const char* msgFormat = (0 == strncmp(sql, prefix, strlen(prefix))) ? msgFormat3 : msgFormat1;
sprintf(msg, msgFormat, buf);
}
@@ -4118,7 +4122,7 @@ bool hasMoreVnodesToTry(SSqlObj* pSql) {
if (!UTIL_TABLE_IS_SUPER_TABLE(pTableMetaInfo) || (pTableMetaInfo->vgroupList == NULL)) {
return false;
}
-
+
int32_t numOfVgroups = pTableMetaInfo->vgroupList->numOfVgroups;
if (pTableMetaInfo->pVgroupTables != NULL) {
numOfVgroups = (int32_t)taosArrayGetSize(pTableMetaInfo->pVgroupTables);
@@ -4145,7 +4149,7 @@ void tscTryQueryNextVnode(SSqlObj* pSql, __async_cb_func_t fp) {
*/
assert(pRes->numOfRows == 0 && tscNonOrderedProjectionQueryOnSTable(pQueryInfo, 0) && !tscHasReachLimitation(pQueryInfo, pRes));
STableMetaInfo* pTableMetaInfo = tscGetMetaInfo(pQueryInfo, 0);
-
+
int32_t totalVgroups = pTableMetaInfo->vgroupList->numOfVgroups;
if (++pTableMetaInfo->vgroupIndex < totalVgroups) {
tscDebug("0x%"PRIx64" results from vgroup index:%d completed, try next:%d. total vgroups:%d. current numOfRes:%" PRId64, pSql->self,
@@ -4166,7 +4170,7 @@ void tscTryQueryNextVnode(SSqlObj* pSql, __async_cb_func_t fp) {
pQueryInfo->limit.offset = pRes->offset;
assert((pRes->offset >= 0 && pRes->numOfRows == 0) || (pRes->offset == 0 && pRes->numOfRows >= 0));
-
+
tscDebug("0x%"PRIx64" new query to next vgroup, index:%d, limit:%" PRId64 ", offset:%" PRId64 ", glimit:%" PRId64,
pSql->self, pTableMetaInfo->vgroupIndex, pQueryInfo->limit.limit, pQueryInfo->limit.offset, pQueryInfo->clauseLimit);
@@ -4251,7 +4255,7 @@ char* strdup_throw(const char* str) {
int tscSetMgmtEpSetFromCfg(const char *first, const char *second, SRpcCorEpSet *corMgmtEpSet) {
corMgmtEpSet->version = 0;
- // init mgmt ip set
+ // init mgmt ip set
SRpcEpSet *mgmtEpSet = &(corMgmtEpSet->epSet);
mgmtEpSet->numOfEps = 0;
mgmtEpSet->inUse = 0;
@@ -4426,7 +4430,7 @@ uint32_t tscGetTableMetaSize(STableMeta* pTableMeta) {
if (pTableMeta->tableInfo.numOfColumns >= 0) {
totalCols = pTableMeta->tableInfo.numOfColumns + pTableMeta->tableInfo.numOfTags;
}
-
+
return sizeof(STableMeta) + totalCols * sizeof(SSchema);
}
@@ -4444,24 +4448,36 @@ CChildTableMeta* tscCreateChildMeta(STableMeta* pTableMeta) {
return cMeta;
}
-int32_t tscCreateTableMetaFromSTableMeta(STableMeta* pChild, const char* name, void* buf) {
- assert(pChild != NULL && buf != NULL);
+int32_t tscCreateTableMetaFromSTableMeta(STableMeta** ppChild, const char* name, size_t *tableMetaCapacity) {
+ assert(*ppChild != NULL);
- STableMeta* p = buf;
- taosHashGetClone(tscTableMetaMap, pChild->sTableName, strnlen(pChild->sTableName, TSDB_TABLE_FNAME_LEN), NULL, p);
+ STableMeta* p = NULL;
+ size_t sz = 0;
+ STableMeta* pChild = *ppChild;
+
+ taosHashGetCloneExt(tscTableMetaMap, pChild->sTableName, strnlen(pChild->sTableName, TSDB_TABLE_FNAME_LEN), NULL, (void **)&p, &sz);
// tableMeta exists, build child table meta according to the super table meta
// the uid need to be checked in addition to the general name of the super table.
- if (p->id.uid > 0 && pChild->suid == p->id.uid) {
+ if (p && p->id.uid > 0 && pChild->suid == p->id.uid) {
+
+ int32_t totalBytes = (p->tableInfo.numOfColumns + p->tableInfo.numOfTags) * sizeof(SSchema);
+ int32_t tableMetaSize = sizeof(STableMeta) + totalBytes;
+ if (*tableMetaCapacity < tableMetaSize) {
+ pChild = realloc(pChild, tableMetaSize);
+ *tableMetaCapacity = (size_t)tableMetaSize;
+ }
+
pChild->sversion = p->sversion;
pChild->tversion = p->tversion;
-
memcpy(&pChild->tableInfo, &p->tableInfo, sizeof(STableComInfo));
- int32_t total = pChild->tableInfo.numOfColumns + pChild->tableInfo.numOfTags;
+ memcpy(pChild->schema, p->schema, totalBytes);
- memcpy(pChild->schema, p->schema, sizeof(SSchema) *total);
+ *ppChild = pChild;
+ tfree(p);
return TSDB_CODE_SUCCESS;
} else { // super table has been removed, current tableMeta is also expired. remove it here
+ tfree(p);
taosHashRemove(tscTableMetaMap, name, strnlen(name, TSDB_TABLE_FNAME_LEN));
return -1;
}
@@ -4976,4 +4992,4 @@ void tscRemoveTableMetaBuf(STableMetaInfo* pTableMetaInfo, uint64_t id) {
taosHashRemove(tscTableMetaMap, fname, len);
tscDebug("0x%"PRIx64" remove table meta %s, numOfRemain:%d", id, fname, (int32_t) taosHashGetSize(tscTableMetaMap));
-}
\ No newline at end of file
+}
diff --git a/src/common/inc/tdataformat.h b/src/common/inc/tdataformat.h
index 47bd8a72b208fd09ef85511ccc6ef8e82e3f354a..fb6bab0cf29d50f196a18eeff990b1fc62dac9ea 100644
--- a/src/common/inc/tdataformat.h
+++ b/src/common/inc/tdataformat.h
@@ -325,7 +325,9 @@ typedef struct SDataCol {
#define isAllRowsNull(pCol) ((pCol)->len == 0)
static FORCE_INLINE void dataColReset(SDataCol *pDataCol) { pDataCol->len = 0; }
-void dataColInit(SDataCol *pDataCol, STColumn *pCol, void **pBuf, int maxPoints);
+int tdAllocMemForCol(SDataCol *pCol, int maxPoints);
+
+void dataColInit(SDataCol *pDataCol, STColumn *pCol, int maxPoints);
void dataColAppendVal(SDataCol *pCol, const void *value, int numOfRows, int maxPoints);
void dataColSetOffset(SDataCol *pCol, int nEle);
@@ -358,12 +360,10 @@ typedef struct {
int maxRowSize;
int maxCols; // max number of columns
int maxPoints; // max number of points
- int bufSize;
int numOfRows;
int numOfCols; // Total number of cols
int sversion; // TODO: set sversion
- void * buf;
SDataCol *cols;
} SDataCols;
diff --git a/src/common/src/tdataformat.c b/src/common/src/tdataformat.c
index 8ef3d083c75c58381fc8a71f076e7e04e976d774..3f0ab7f93ead2bbba62e8c75035530614798bd28 100644
--- a/src/common/src/tdataformat.c
+++ b/src/common/src/tdataformat.c
@@ -22,6 +22,29 @@
static void tdMergeTwoDataCols(SDataCols *target, SDataCols *src1, int *iter1, int limit1, SDataCols *src2, int *iter2,
int limit2, int tRows, bool forceSetNull);
+//TODO: change caller to use return val
+int tdAllocMemForCol(SDataCol *pCol, int maxPoints) {
+ int spaceNeeded = pCol->bytes * maxPoints;
+ if(IS_VAR_DATA_TYPE(pCol->type)) {
+ spaceNeeded += sizeof(VarDataOffsetT) * maxPoints;
+ }
+ if(pCol->spaceSize < spaceNeeded) {
+ void* ptr = realloc(pCol->pData, spaceNeeded);
+ if(ptr == NULL) {
+ uDebug("malloc failure, size:%" PRId64 " failed, reason:%s", (int64_t)pCol->spaceSize,
+ strerror(errno));
+ return -1;
+ } else {
+ pCol->pData = ptr;
+ pCol->spaceSize = spaceNeeded;
+ }
+ }
+ if(IS_VAR_DATA_TYPE(pCol->type)) {
+ pCol->dataOff = POINTER_SHIFT(pCol->pData, pCol->bytes * maxPoints);
+ }
+ return 0;
+}
+
/**
* Duplicate the schema and return a new object
*/
@@ -207,24 +230,13 @@ SMemRow tdMemRowDup(SMemRow row) {
return trow;
}
-void dataColInit(SDataCol *pDataCol, STColumn *pCol, void **pBuf, int maxPoints) {
+void dataColInit(SDataCol *pDataCol, STColumn *pCol, int maxPoints) {
pDataCol->type = colType(pCol);
pDataCol->colId = colColId(pCol);
pDataCol->bytes = colBytes(pCol);
pDataCol->offset = colOffset(pCol) + TD_DATA_ROW_HEAD_SIZE;
pDataCol->len = 0;
- if (IS_VAR_DATA_TYPE(pDataCol->type)) {
- pDataCol->dataOff = (VarDataOffsetT *)(*pBuf);
- pDataCol->pData = POINTER_SHIFT(*pBuf, sizeof(VarDataOffsetT) * maxPoints);
- pDataCol->spaceSize = pDataCol->bytes * maxPoints;
- *pBuf = POINTER_SHIFT(*pBuf, pDataCol->spaceSize + sizeof(VarDataOffsetT) * maxPoints);
- } else {
- pDataCol->spaceSize = pDataCol->bytes * maxPoints;
- pDataCol->dataOff = NULL;
- pDataCol->pData = *pBuf;
- *pBuf = POINTER_SHIFT(*pBuf, pDataCol->spaceSize);
- }
}
// value from timestamp should be TKEY here instead of TSKEY
void dataColAppendVal(SDataCol *pCol, const void *value, int numOfRows, int maxPoints) {
@@ -239,6 +251,8 @@ void dataColAppendVal(SDataCol *pCol, const void *value, int numOfRows, int maxP
if (numOfRows > 0) {
// Find the first not null value, fill all previouse values as NULL
dataColSetNEleNull(pCol, numOfRows, maxPoints);
+ } else {
+ tdAllocMemForCol(pCol, maxPoints);
}
}
@@ -257,13 +271,14 @@ void dataColAppendVal(SDataCol *pCol, const void *value, int numOfRows, int maxP
}
bool isNEleNull(SDataCol *pCol, int nEle) {
+ if(isAllRowsNull(pCol)) return true;
for (int i = 0; i < nEle; i++) {
if (!isNull(tdGetColDataOfRow(pCol, i), pCol->type)) return false;
}
return true;
}
-FORCE_INLINE void dataColSetNullAt(SDataCol *pCol, int index) {
+static FORCE_INLINE void dataColSetNullAt(SDataCol *pCol, int index) {
if (IS_VAR_DATA_TYPE(pCol->type)) {
pCol->dataOff[index] = pCol->len;
char *ptr = POINTER_SHIFT(pCol->pData, pCol->len);
@@ -276,6 +291,7 @@ FORCE_INLINE void dataColSetNullAt(SDataCol *pCol, int index) {
}
void dataColSetNEleNull(SDataCol *pCol, int nEle, int maxPoints) {
+ tdAllocMemForCol(pCol, maxPoints);
if (IS_VAR_DATA_TYPE(pCol->type)) {
pCol->len = 0;
@@ -319,56 +335,63 @@ SDataCols *tdNewDataCols(int maxRowSize, int maxCols, int maxRows) {
tdFreeDataCols(pCols);
return NULL;
}
+ int i;
+ for(i = 0; i < maxCols; i++) {
+ pCols->cols[i].spaceSize = 0;
+ pCols->cols[i].len = 0;
+ pCols->cols[i].pData = NULL;
+ pCols->cols[i].dataOff = NULL;
+ }
pCols->maxCols = maxCols;
}
pCols->maxRowSize = maxRowSize;
- pCols->bufSize = maxRowSize * maxRows;
- if (pCols->bufSize > 0) {
- pCols->buf = malloc(pCols->bufSize);
- if (pCols->buf == NULL) {
- uDebug("malloc failure, size:%" PRId64 " failed, reason:%s", (int64_t)sizeof(SDataCol) * maxCols,
- strerror(errno));
- tdFreeDataCols(pCols);
- return NULL;
- }
- }
return pCols;
}
int tdInitDataCols(SDataCols *pCols, STSchema *pSchema) {
- if (schemaNCols(pSchema) > pCols->maxCols) {
+ int i;
+ int oldMaxCols = pCols->maxCols;
+ if (schemaNCols(pSchema) > oldMaxCols) {
pCols->maxCols = schemaNCols(pSchema);
pCols->cols = (SDataCol *)realloc(pCols->cols, sizeof(SDataCol) * pCols->maxCols);
if (pCols->cols == NULL) return -1;
+ for(i = oldMaxCols; i < pCols->maxCols; i++) {
+ pCols->cols[i].pData = NULL;
+ pCols->cols[i].dataOff = NULL;
+ pCols->cols[i].spaceSize = 0;
+ }
}
if (schemaTLen(pSchema) > pCols->maxRowSize) {
pCols->maxRowSize = schemaTLen(pSchema);
- pCols->bufSize = schemaTLen(pSchema) * pCols->maxPoints;
- pCols->buf = realloc(pCols->buf, pCols->bufSize);
- if (pCols->buf == NULL) return -1;
}
tdResetDataCols(pCols);
pCols->numOfCols = schemaNCols(pSchema);
- void *ptr = pCols->buf;
- for (int i = 0; i < schemaNCols(pSchema); i++) {
- dataColInit(pCols->cols + i, schemaColAt(pSchema, i), &ptr, pCols->maxPoints);
- ASSERT((char *)ptr - (char *)(pCols->buf) <= pCols->bufSize);
+ for (i = 0; i < schemaNCols(pSchema); i++) {
+ dataColInit(pCols->cols + i, schemaColAt(pSchema, i), pCols->maxPoints);
}
return 0;
}
SDataCols *tdFreeDataCols(SDataCols *pCols) {
+ int i;
if (pCols) {
- tfree(pCols->buf);
- tfree(pCols->cols);
+ if(pCols->cols) {
+ int maxCols = pCols->maxCols;
+ for(i = 0; i < maxCols; i++) {
+ SDataCol *pCol = &pCols->cols[i];
+ tfree(pCol->pData);
+ }
+ free(pCols->cols);
+ pCols->cols = NULL;
+ }
free(pCols);
}
return NULL;
@@ -388,21 +411,14 @@ SDataCols *tdDupDataCols(SDataCols *pDataCols, bool keepData) {
pRet->cols[i].bytes = pDataCols->cols[i].bytes;
pRet->cols[i].offset = pDataCols->cols[i].offset;
- pRet->cols[i].spaceSize = pDataCols->cols[i].spaceSize;
- pRet->cols[i].pData = (void *)((char *)pRet->buf + ((char *)(pDataCols->cols[i].pData) - (char *)(pDataCols->buf)));
-
- if (IS_VAR_DATA_TYPE(pRet->cols[i].type)) {
- ASSERT(pDataCols->cols[i].dataOff != NULL);
- pRet->cols[i].dataOff =
- (int32_t *)((char *)pRet->buf + ((char *)(pDataCols->cols[i].dataOff) - (char *)(pDataCols->buf)));
- }
-
if (keepData) {
- pRet->cols[i].len = pDataCols->cols[i].len;
if (pDataCols->cols[i].len > 0) {
+ tdAllocMemForCol(&pRet->cols[i], pRet->maxPoints);
+ pRet->cols[i].len = pDataCols->cols[i].len;
memcpy(pRet->cols[i].pData, pDataCols->cols[i].pData, pDataCols->cols[i].len);
if (IS_VAR_DATA_TYPE(pRet->cols[i].type)) {
- memcpy(pRet->cols[i].dataOff, pDataCols->cols[i].dataOff, sizeof(VarDataOffsetT) * pDataCols->maxPoints);
+ int dataOffSize = sizeof(VarDataOffsetT) * pDataCols->maxPoints;
+ memcpy(pRet->cols[i].dataOff, pDataCols->cols[i].dataOff, dataOffSize);
}
}
}
@@ -426,40 +442,27 @@ static void tdAppendDataRowToDataCol(SDataRow row, STSchema *pSchema, SDataCols
int rcol = 0;
int dcol = 0;
- if (dataRowDeleted(row)) {
- for (; dcol < pCols->numOfCols; dcol++) {
- SDataCol *pDataCol = &(pCols->cols[dcol]);
- if (dcol == 0) {
- dataColAppendVal(pDataCol, dataRowTuple(row), pCols->numOfRows, pCols->maxPoints);
- } else {
- dataColSetNullAt(pDataCol, pCols->numOfRows);
- }
+ while (dcol < pCols->numOfCols) {
+ SDataCol *pDataCol = &(pCols->cols[dcol]);
+ if (rcol >= schemaNCols(pSchema)) {
+ dataColAppendVal(pDataCol, getNullValue(pDataCol->type), pCols->numOfRows, pCols->maxPoints);
+ dcol++;
+ continue;
}
- } else {
- while (dcol < pCols->numOfCols) {
- SDataCol *pDataCol = &(pCols->cols[dcol]);
- if (rcol >= schemaNCols(pSchema)) {
- // dataColSetNullAt(pDataCol, pCols->numOfRows);
- dataColAppendVal(pDataCol, getNullValue(pDataCol->type), pCols->numOfRows, pCols->maxPoints);
- dcol++;
- continue;
- }
- STColumn *pRowCol = schemaColAt(pSchema, rcol);
- if (pRowCol->colId == pDataCol->colId) {
- void *value = tdGetRowDataOfCol(row, pRowCol->type, pRowCol->offset + TD_DATA_ROW_HEAD_SIZE);
- dataColAppendVal(pDataCol, value, pCols->numOfRows, pCols->maxPoints);
- dcol++;
- rcol++;
- } else if (pRowCol->colId < pDataCol->colId) {
- rcol++;
- } else {
- if(forceSetNull) {
- //dataColSetNullAt(pDataCol, pCols->numOfRows);
- dataColAppendVal(pDataCol, getNullValue(pDataCol->type), pCols->numOfRows, pCols->maxPoints);
- }
- dcol++;
+ STColumn *pRowCol = schemaColAt(pSchema, rcol);
+ if (pRowCol->colId == pDataCol->colId) {
+ void *value = tdGetRowDataOfCol(row, pRowCol->type, pRowCol->offset + TD_DATA_ROW_HEAD_SIZE);
+ dataColAppendVal(pDataCol, value, pCols->numOfRows, pCols->maxPoints);
+ dcol++;
+ rcol++;
+ } else if (pRowCol->colId < pDataCol->colId) {
+ rcol++;
+ } else {
+ if(forceSetNull) {
+ dataColAppendVal(pDataCol, getNullValue(pDataCol->type), pCols->numOfRows, pCols->maxPoints);
}
+ dcol++;
}
}
pCols->numOfRows++;
@@ -471,43 +474,30 @@ static void tdAppendKvRowToDataCol(SKVRow row, STSchema *pSchema, SDataCols *pCo
int rcol = 0;
int dcol = 0;
- if (kvRowDeleted(row)) {
- for (; dcol < pCols->numOfCols; dcol++) {
- SDataCol *pDataCol = &(pCols->cols[dcol]);
- if (dcol == 0) {
- dataColAppendVal(pDataCol, kvRowValues(row), pCols->numOfRows, pCols->maxPoints);
- } else {
- dataColSetNullAt(pDataCol, pCols->numOfRows);
- }
+ int nRowCols = kvRowNCols(row);
+
+ while (dcol < pCols->numOfCols) {
+ SDataCol *pDataCol = &(pCols->cols[dcol]);
+ if (rcol >= nRowCols || rcol >= schemaNCols(pSchema)) {
+ dataColAppendVal(pDataCol, getNullValue(pDataCol->type), pCols->numOfRows, pCols->maxPoints);
+ ++dcol;
+ continue;
}
- } else {
- int nRowCols = kvRowNCols(row);
- while (dcol < pCols->numOfCols) {
- SDataCol *pDataCol = &(pCols->cols[dcol]);
- if (rcol >= nRowCols || rcol >= schemaNCols(pSchema)) {
- // dataColSetNullAt(pDataCol, pCols->numOfRows);
- dataColAppendVal(pDataCol, getNullValue(pDataCol->type), pCols->numOfRows, pCols->maxPoints);
- ++dcol;
- continue;
- }
+ SColIdx *colIdx = kvRowColIdxAt(row, rcol);
- SColIdx *colIdx = kvRowColIdxAt(row, rcol);
-
- if (colIdx->colId == pDataCol->colId) {
- void *value = tdGetKvRowDataOfCol(row, colIdx->offset);
- dataColAppendVal(pDataCol, value, pCols->numOfRows, pCols->maxPoints);
- ++dcol;
- ++rcol;
- } else if (colIdx->colId < pDataCol->colId) {
- ++rcol;
- } else {
- if (forceSetNull) {
- // dataColSetNullAt(pDataCol, pCols->numOfRows);
- dataColAppendVal(pDataCol, getNullValue(pDataCol->type), pCols->numOfRows, pCols->maxPoints);
- }
- ++dcol;
+ if (colIdx->colId == pDataCol->colId) {
+ void *value = tdGetKvRowDataOfCol(row, colIdx->offset);
+ dataColAppendVal(pDataCol, value, pCols->numOfRows, pCols->maxPoints);
+ ++dcol;
+ ++rcol;
+ } else if (colIdx->colId < pDataCol->colId) {
+ ++rcol;
+ } else {
+ if (forceSetNull) {
+ dataColAppendVal(pDataCol, getNullValue(pDataCol->type), pCols->numOfRows, pCols->maxPoints);
}
+ ++dcol;
}
}
pCols->numOfRows++;
diff --git a/src/connector/jdbc/pom.xml b/src/connector/jdbc/pom.xml
index 3d5cf8efe359049d3a9bd2197af7afe1c9fe5321..907562fe26ab831876a4b0a7edf9860cb8f297a2 100644
--- a/src/connector/jdbc/pom.xml
+++ b/src/connector/jdbc/pom.xml
@@ -122,6 +122,7 @@
**/TSDBJNIConnectorTest.java
**/TaosInfoMonitorTest.java
**/UnsignedNumberJniTest.java
+ **/TimeZoneTest.java
true
diff --git a/src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBJNIConnector.java b/src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBJNIConnector.java
index 051eca7e10ad18daea6a7b1ad55f148b786e0798..4fdbb308c54c23a1fb427f1e9f1530894b0daae1 100755
--- a/src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBJNIConnector.java
+++ b/src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBJNIConnector.java
@@ -80,7 +80,8 @@ public class TSDBJNIConnector {
this.taos = this.connectImp(host, port, dbName, user, password);
if (this.taos == TSDBConstants.JNI_NULL_POINTER) {
- throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_JNI_CONNECTION_NULL);
+ String errMsg = this.getErrMsg(0);
+ throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_JNI_CONNECTION_NULL, errMsg);
}
// invoke connectImp only here
taosInfo.conn_open_increment();
diff --git a/src/connector/jdbc/src/test/java/com/taosdata/jdbc/cases/QueryDataTest.java b/src/connector/jdbc/src/test/java/com/taosdata/jdbc/cases/QueryDataTest.java
index 535e56f7d7735a7cbd209fbb2a2fddd492021e15..3fea221446775a779593f8c74c77474bc55fb071 100644
--- a/src/connector/jdbc/src/test/java/com/taosdata/jdbc/cases/QueryDataTest.java
+++ b/src/connector/jdbc/src/test/java/com/taosdata/jdbc/cases/QueryDataTest.java
@@ -34,9 +34,8 @@ public class QueryDataTest {
String createTableSql = "create table " + stbName + "(ts timestamp, name binary(64))";
statement.executeUpdate(createTableSql);
-
} catch (SQLException e) {
- return;
+ e.printStackTrace();
}
}
diff --git a/src/connector/jdbc/src/test/java/com/taosdata/jdbc/cases/TimeZoneTest.java b/src/connector/jdbc/src/test/java/com/taosdata/jdbc/cases/TimeZoneTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..94a175ad5c7fd50fa35d6b45ea59ab26ffc02ce1
--- /dev/null
+++ b/src/connector/jdbc/src/test/java/com/taosdata/jdbc/cases/TimeZoneTest.java
@@ -0,0 +1,71 @@
+package com.taosdata.jdbc.cases;
+
+import com.taosdata.jdbc.TSDBDriver;
+import org.junit.Test;
+
+import java.sql.*;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.Properties;
+
+public class TimeZoneTest {
+
+ private String url = "jdbc:TAOS://127.0.0.1:6030/?user=root&password=taosdata";
+
+ @Test
+ public void javaTimeZone() {
+ LocalDateTime localDateTime = LocalDateTime.of(1970, 1, 1, 0, 0, 0);
+
+ Instant instant = localDateTime.atZone(ZoneId.of("UTC-8")).toInstant();
+ System.out.println("UTC-8: " + instant.getEpochSecond() + "," + instant);
+
+ instant = localDateTime.atZone(ZoneId.of("UT")).toInstant();
+ System.out.println("UTC: " + instant.getEpochSecond() + "," + instant);
+
+
+ instant = localDateTime.atZone(ZoneId.of("UTC+8")).toInstant();
+ System.out.println("UTC+8: " + instant.getEpochSecond() + "," + instant);
+ }
+
+ @Test
+ public void taosTimeZone() {
+ // given
+ Properties props = new Properties();
+ props.setProperty(TSDBDriver.PROPERTY_KEY_TIME_ZONE, "UTC-8");
+
+ // when and then
+ try (Connection connection = DriverManager.getConnection(url, props)) {
+ Statement stmt = connection.createStatement();
+
+ stmt.execute("drop database if exists timezone_test");
+ stmt.execute("create database if not exists timezone_test keep 365000");
+ stmt.execute("use timezone_test");
+ stmt.execute("create table weather(ts timestamp, temperature float)");
+
+ stmt.execute("insert into timezone_test.weather(ts, temperature) values('1970-01-01 00:00:00', 1.0)");
+
+ ResultSet rs = stmt.executeQuery("select * from timezone_test.weather");
+ while (rs.next()) {
+ Timestamp ts = rs.getTimestamp("ts");
+ System.out.println("ts: " + ts.getTime() + "," + ts);
+ }
+
+ stmt.execute("insert into timezone_test.weather(ts, temperature, humidity) values('1970-01-02 00:00:00', 1.0, 2.0)");
+
+ rs = stmt.executeQuery("select * from timezone_test.weather");
+ while (rs.next()) {
+ Timestamp ts = rs.getTimestamp("ts");
+ System.out.println("ts: " + ts.getTime() + "," + ts);
+ }
+
+
+ stmt.execute("drop database if exists timezone_test");
+
+ stmt.close();
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/src/inc/tsdb.h b/src/inc/tsdb.h
index d1972bdcead7fe931078c1bbdfd4c3b84841850a..7abe3e99c720af1682fc103beec9a5d4caeb09eb 100644
--- a/src/inc/tsdb.h
+++ b/src/inc/tsdb.h
@@ -94,7 +94,7 @@ STsdbRepo *tsdbOpenRepo(STsdbCfg *pCfg, STsdbAppH *pAppH);
int tsdbCloseRepo(STsdbRepo *repo, int toCommit);
int32_t tsdbConfigRepo(STsdbRepo *repo, STsdbCfg *pCfg);
int tsdbGetState(STsdbRepo *repo);
-bool tsdbInCompact(STsdbRepo *repo);
+int8_t tsdbGetCompactState(STsdbRepo *repo);
// --------- TSDB TABLE DEFINITION
typedef struct {
uint64_t uid; // the unique table ID
diff --git a/src/kit/taosdemo/taosdemo.c b/src/kit/taosdemo/taosdemo.c
index 5ac85f87f1a7f9055241cf8f813c75b9bc72f46a..d04bb2905f0d67c8614cd7594a1aa84213752964 100644
--- a/src/kit/taosdemo/taosdemo.c
+++ b/src/kit/taosdemo/taosdemo.c
@@ -5093,7 +5093,9 @@ static int getRowDataFromSample(
static int64_t generateStbRowData(
SSuperTable* stbInfo,
- char* recBuf, int64_t timestamp)
+ char* recBuf,
+ int64_t remainderBufLen,
+ int64_t timestamp)
{
int64_t dataLen = 0;
char *pstr = recBuf;
@@ -5121,6 +5123,7 @@ static int64_t generateStbRowData(
rand_string(buf, stbInfo->columns[i].dataLen);
dataLen += snprintf(pstr + dataLen, maxLen - dataLen, "\'%s\',", buf);
tmfree(buf);
+
} else {
char *tmp;
@@ -5177,6 +5180,9 @@ static int64_t generateStbRowData(
tstrncpy(pstr + dataLen, ",", 2);
dataLen += 1;
}
+
+ if (dataLen > remainderBufLen)
+ return 0;
}
dataLen -= 1;
@@ -5383,7 +5389,7 @@ static int32_t generateDataTailWithoutStb(
int32_t k = 0;
for (k = 0; k < batch;) {
- char data[MAX_DATA_SIZE];
+ char *data = pstr;
memset(data, 0, MAX_DATA_SIZE);
int64_t retLen = 0;
@@ -5407,7 +5413,7 @@ static int32_t generateDataTailWithoutStb(
if (len > remainderBufLen)
break;
- pstr += sprintf(pstr, "%s", data);
+ pstr += retLen;
k++;
len += retLen;
remainderBufLen -= retLen;
@@ -5463,14 +5469,14 @@ static int32_t generateStbDataTail(
int32_t k;
for (k = 0; k < batch;) {
- char data[MAX_DATA_SIZE];
- memset(data, 0, MAX_DATA_SIZE);
+ char *data = pstr;
int64_t lenOfRow = 0;
if (tsRand) {
if (superTblInfo->disorderRatio > 0) {
lenOfRow = generateStbRowData(superTblInfo, data,
+ remainderBufLen,
startTime + getTSRandTail(
superTblInfo->timeStampStep, k,
superTblInfo->disorderRatio,
@@ -5478,6 +5484,7 @@ static int32_t generateStbDataTail(
);
} else {
lenOfRow = generateStbRowData(superTblInfo, data,
+ remainderBufLen,
startTime + superTblInfo->timeStampStep * k
);
}
@@ -5490,11 +5497,15 @@ static int32_t generateStbDataTail(
pSamplePos);
}
+ if (lenOfRow == 0) {
+ data[0] = '\0';
+ break;
+ }
if ((lenOfRow + 1) > remainderBufLen) {
break;
}
- pstr += snprintf(pstr , lenOfRow + 1, "%s", data);
+ pstr += lenOfRow;
k++;
len += lenOfRow;
remainderBufLen -= lenOfRow;
@@ -6246,7 +6257,7 @@ static int32_t generateStbProgressiveData(
assert(buffer != NULL);
char *pstr = buffer;
- memset(buffer, 0, *pRemainderBufLen);
+ memset(pstr, 0, *pRemainderBufLen);
int64_t headLen = generateStbSQLHead(
superTblInfo,
@@ -6640,7 +6651,7 @@ static void* syncWriteProgressive(threadInfo *pThreadInfo) {
return NULL;
}
- int64_t remainderBufLen = maxSqlLen;
+ int64_t remainderBufLen = maxSqlLen - 2000;
char *pstr = pThreadInfo->buffer;
int len = snprintf(pstr,
@@ -6822,10 +6833,14 @@ static void callBack(void *param, TAOS_RES *res, int code) {
&& rand_num < pThreadInfo->superTblInfo->disorderRatio) {
int64_t d = pThreadInfo->lastTs
- (taosRandom() % pThreadInfo->superTblInfo->disorderRange + 1);
- generateStbRowData(pThreadInfo->superTblInfo, data, d);
+ generateStbRowData(pThreadInfo->superTblInfo, data,
+ MAX_DATA_SIZE,
+ d);
} else {
generateStbRowData(pThreadInfo->superTblInfo,
- data, pThreadInfo->lastTs += 1000);
+ data,
+ MAX_DATA_SIZE,
+ pThreadInfo->lastTs += 1000);
}
pstr += sprintf(pstr, "%s", data);
pThreadInfo->counter++;
@@ -7050,6 +7065,7 @@ static void startMultiThreadInsertData(int threads, char* db_name,
for (int i = 0; i < threads; i++) {
threadInfo *pThreadInfo = infos + i;
pThreadInfo->threadID = i;
+
tstrncpy(pThreadInfo->db_name, db_name, TSDB_DB_NAME_LEN);
pThreadInfo->time_precision = timePrec;
pThreadInfo->superTblInfo = superTblInfo;
diff --git a/src/kit/taosdump/taosdump.c b/src/kit/taosdump/taosdump.c
index dc36dbf6714b0f3de31e40dfc1bcebaeb2c61223..e3f3880f0cee97b3297b23d48b2229a12ff4c682 100644
--- a/src/kit/taosdump/taosdump.c
+++ b/src/kit/taosdump/taosdump.c
@@ -307,7 +307,7 @@ static void taosDumpCreateTableClause(STableDef *tableDes, int numOfCols,
FILE *fp, char* dbName);
static void taosDumpCreateMTableClause(STableDef *tableDes, char *metric,
int numOfCols, FILE *fp, char* dbName);
-static int32_t taosDumpTable(char *table, char *metric,
+static int32_t taosDumpTable(char *tbName, char *metric,
FILE *fp, TAOS* taosCon, char* dbName);
static int taosDumpTableData(FILE *fp, char *tbName,
TAOS* taosCon, char* dbName,
@@ -340,7 +340,7 @@ struct arguments g_args = {
false, // schemeonly
true, // with_property
false, // avro format
- -INT64_MAX, // start_time
+ -INT64_MAX, // start_time
INT64_MAX, // end_time
"ms", // precision
1, // data_batch
@@ -798,11 +798,11 @@ static int taosGetTableRecordInfo(
tstrncpy(pTableRecordInfo->tableRecord.name,
(char *)row[TSDB_SHOW_TABLES_NAME_INDEX],
min(TSDB_TABLE_NAME_LEN,
- fields[TSDB_SHOW_TABLES_NAME_INDEX].bytes) + 1);
+ fields[TSDB_SHOW_TABLES_NAME_INDEX].bytes + 1));
tstrncpy(pTableRecordInfo->tableRecord.metric,
(char *)row[TSDB_SHOW_TABLES_METRIC_INDEX],
min(TSDB_TABLE_NAME_LEN,
- fields[TSDB_SHOW_TABLES_METRIC_INDEX].bytes) + 1);
+ fields[TSDB_SHOW_TABLES_METRIC_INDEX].bytes + 1));
break;
}
@@ -945,7 +945,7 @@ static int32_t taosSaveTableOfMetricToTempFile(
int32_t numOfThread = *totalNumOfThread;
int subFd = -1;
- for (; numOfThread < maxThreads; numOfThread++) {
+ for (; numOfThread <= maxThreads; numOfThread++) {
memset(tmpBuf, 0, MAX_FILE_NAME_LEN);
sprintf(tmpBuf, ".tables.tmp.%d", numOfThread);
subFd = open(tmpBuf, O_RDWR | O_CREAT | O_TRUNC, S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH);
@@ -1084,7 +1084,7 @@ _dump_db_point:
}
tstrncpy(g_dbInfos[count]->name, (char *)row[TSDB_SHOW_DB_NAME_INDEX],
- min(TSDB_DB_NAME_LEN, fields[TSDB_SHOW_DB_NAME_INDEX].bytes) + 1);
+ min(TSDB_DB_NAME_LEN, fields[TSDB_SHOW_DB_NAME_INDEX].bytes + 1));
if (g_args.with_property) {
g_dbInfos[count]->ntables = *((int32_t *)row[TSDB_SHOW_DB_NTABLES_INDEX]);
g_dbInfos[count]->vgroups = *((int32_t *)row[TSDB_SHOW_DB_VGROUPS_INDEX]);
@@ -1093,7 +1093,7 @@ _dump_db_point:
g_dbInfos[count]->days = *((int16_t *)row[TSDB_SHOW_DB_DAYS_INDEX]);
tstrncpy(g_dbInfos[count]->keeplist, (char *)row[TSDB_SHOW_DB_KEEP_INDEX],
- min(32, fields[TSDB_SHOW_DB_KEEP_INDEX].bytes) + 1);
+ min(32, fields[TSDB_SHOW_DB_KEEP_INDEX].bytes + 1));
//g_dbInfos[count]->daysToKeep = *((int16_t *)row[TSDB_SHOW_DB_KEEP_INDEX]);
//g_dbInfos[count]->daysToKeep1;
//g_dbInfos[count]->daysToKeep2;
@@ -1107,7 +1107,7 @@ _dump_db_point:
g_dbInfos[count]->cachelast = (int8_t)(*((int8_t *)row[TSDB_SHOW_DB_CACHELAST_INDEX]));
tstrncpy(g_dbInfos[count]->precision, (char *)row[TSDB_SHOW_DB_PRECISION_INDEX],
- min(8, fields[TSDB_SHOW_DB_PRECISION_INDEX].bytes) + 1);
+ min(8, fields[TSDB_SHOW_DB_PRECISION_INDEX].bytes + 1));
//g_dbInfos[count]->precision = *((int8_t *)row[TSDB_SHOW_DB_PRECISION_INDEX]);
g_dbInfos[count]->update = *((int8_t *)row[TSDB_SHOW_DB_UPDATE_INDEX]);
}
@@ -1237,7 +1237,7 @@ _exit_failure:
static int taosGetTableDes(
char* dbName, char *table,
- STableDef *tableDes, TAOS* taosCon, bool isSuperTable) {
+ STableDef *stableDes, TAOS* taosCon, bool isSuperTable) {
TAOS_ROW row = NULL;
TAOS_RES* res = NULL;
int count = 0;
@@ -1256,18 +1256,18 @@ static int taosGetTableDes(
TAOS_FIELD *fields = taos_fetch_fields(res);
- tstrncpy(tableDes->name, table, TSDB_TABLE_NAME_LEN);
+ tstrncpy(stableDes->name, table, TSDB_TABLE_NAME_LEN);
while ((row = taos_fetch_row(res)) != NULL) {
- tstrncpy(tableDes->cols[count].field,
+ tstrncpy(stableDes->cols[count].field,
(char *)row[TSDB_DESCRIBE_METRIC_FIELD_INDEX],
min(TSDB_COL_NAME_LEN + 1,
fields[TSDB_DESCRIBE_METRIC_FIELD_INDEX].bytes + 1));
- tstrncpy(tableDes->cols[count].type,
+ tstrncpy(stableDes->cols[count].type,
(char *)row[TSDB_DESCRIBE_METRIC_TYPE_INDEX],
min(16, fields[TSDB_DESCRIBE_METRIC_TYPE_INDEX].bytes + 1));
- tableDes->cols[count].length =
+ stableDes->cols[count].length =
*((int *)row[TSDB_DESCRIBE_METRIC_LENGTH_INDEX]);
- tstrncpy(tableDes->cols[count].note,
+ tstrncpy(stableDes->cols[count].note,
(char *)row[TSDB_DESCRIBE_METRIC_NOTE_INDEX],
min(COL_NOTE_LEN,
fields[TSDB_DESCRIBE_METRIC_NOTE_INDEX].bytes + 1));
@@ -1284,11 +1284,11 @@ static int taosGetTableDes(
// if chidl-table have tag, using select tagName from table to get tagValue
for (int i = 0 ; i < count; i++) {
- if (strcmp(tableDes->cols[i].note, "TAG") != 0) continue;
+ if (strcmp(stableDes->cols[i].note, "TAG") != 0) continue;
sprintf(sqlstr, "select %s from %s.%s",
- tableDes->cols[i].field, dbName, table);
+ stableDes->cols[i].field, dbName, table);
res = taos_query(taosCon, sqlstr);
code = taos_errno(res);
@@ -1310,7 +1310,7 @@ static int taosGetTableDes(
}
if (row[0] == NULL) {
- sprintf(tableDes->cols[i].note, "%s", "NULL");
+ sprintf(stableDes->cols[i].note, "%s", "NULL");
taos_free_result(res);
res = NULL;
continue;
@@ -1321,47 +1321,47 @@ static int taosGetTableDes(
//int32_t* length = taos_fetch_lengths(tmpResult);
switch (fields[0].type) {
case TSDB_DATA_TYPE_BOOL:
- sprintf(tableDes->cols[i].note, "%d",
+ sprintf(stableDes->cols[i].note, "%d",
((((int32_t)(*((char *)row[0]))) == 1) ? 1 : 0));
break;
case TSDB_DATA_TYPE_TINYINT:
- sprintf(tableDes->cols[i].note, "%d", *((int8_t *)row[0]));
+ sprintf(stableDes->cols[i].note, "%d", *((int8_t *)row[0]));
break;
case TSDB_DATA_TYPE_SMALLINT:
- sprintf(tableDes->cols[i].note, "%d", *((int16_t *)row[0]));
+ sprintf(stableDes->cols[i].note, "%d", *((int16_t *)row[0]));
break;
case TSDB_DATA_TYPE_INT:
- sprintf(tableDes->cols[i].note, "%d", *((int32_t *)row[0]));
+ sprintf(stableDes->cols[i].note, "%d", *((int32_t *)row[0]));
break;
case TSDB_DATA_TYPE_BIGINT:
- sprintf(tableDes->cols[i].note, "%" PRId64 "", *((int64_t *)row[0]));
+ sprintf(stableDes->cols[i].note, "%" PRId64 "", *((int64_t *)row[0]));
break;
case TSDB_DATA_TYPE_FLOAT:
- sprintf(tableDes->cols[i].note, "%f", GET_FLOAT_VAL(row[0]));
+ sprintf(stableDes->cols[i].note, "%f", GET_FLOAT_VAL(row[0]));
break;
case TSDB_DATA_TYPE_DOUBLE:
- sprintf(tableDes->cols[i].note, "%f", GET_DOUBLE_VAL(row[0]));
+ sprintf(stableDes->cols[i].note, "%f", GET_DOUBLE_VAL(row[0]));
break;
case TSDB_DATA_TYPE_BINARY:
{
- memset(tableDes->cols[i].note, 0, sizeof(tableDes->cols[i].note));
- tableDes->cols[i].note[0] = '\'';
+ memset(stableDes->cols[i].note, 0, sizeof(stableDes->cols[i].note));
+ stableDes->cols[i].note[0] = '\'';
char tbuf[COL_NOTE_LEN];
converStringToReadable((char *)row[0], length[0], tbuf, COL_NOTE_LEN);
- char* pstr = stpcpy(&(tableDes->cols[i].note[1]), tbuf);
+ char* pstr = stpcpy(&(stableDes->cols[i].note[1]), tbuf);
*(pstr++) = '\'';
break;
}
case TSDB_DATA_TYPE_NCHAR:
{
- memset(tableDes->cols[i].note, 0, sizeof(tableDes->cols[i].note));
+ memset(stableDes->cols[i].note, 0, sizeof(stableDes->cols[i].note));
char tbuf[COL_NOTE_LEN-2]; // need reserve 2 bytes for ' '
convertNCharToReadable((char *)row[0], length[0], tbuf, COL_NOTE_LEN);
- sprintf(tableDes->cols[i].note, "\'%s\'", tbuf);
+ sprintf(stableDes->cols[i].note, "\'%s\'", tbuf);
break;
}
case TSDB_DATA_TYPE_TIMESTAMP:
- sprintf(tableDes->cols[i].note, "%" PRId64 "", *(int64_t *)row[0]);
+ sprintf(stableDes->cols[i].note, "%" PRId64 "", *(int64_t *)row[0]);
#if 0
if (!g_args.mysqlFlag) {
sprintf(tableDes->cols[i].note, "%" PRId64 "", *(int64_t *)row[0]);
@@ -1386,7 +1386,7 @@ static int taosGetTableDes(
return count;
}
-static int convertSchemaToAvroSchema(STableDef *tableDes, char **avroSchema)
+static int convertSchemaToAvroSchema(STableDef *stableDes, char **avroSchema)
{
errorPrint("%s() LN%d TODO: covert table schema to avro schema\n",
__func__, __LINE__);
@@ -1394,7 +1394,7 @@ static int convertSchemaToAvroSchema(STableDef *tableDes, char **avroSchema)
}
static int32_t taosDumpTable(
- char *table, char *metric,
+ char *tbName, char *metric,
FILE *fp, TAOS* taosCon, char* dbName) {
int count = 0;
@@ -1415,7 +1415,7 @@ static int32_t taosDumpTable(
memset(tableDes, 0, sizeof(STableDef) + sizeof(SColDes) * TSDB_MAX_COLUMNS);
*/
- count = taosGetTableDes(dbName, table, tableDes, taosCon, false);
+ count = taosGetTableDes(dbName, tbName, tableDes, taosCon, false);
if (count < 0) {
free(tableDes);
@@ -1426,7 +1426,7 @@ static int32_t taosDumpTable(
taosDumpCreateMTableClause(tableDes, metric, count, fp, dbName);
} else { // dump table definition
- count = taosGetTableDes(dbName, table, tableDes, taosCon, false);
+ count = taosGetTableDes(dbName, tbName, tableDes, taosCon, false);
if (count < 0) {
free(tableDes);
@@ -1446,7 +1446,7 @@ static int32_t taosDumpTable(
int32_t ret = 0;
if (!g_args.schemaonly) {
- ret = taosDumpTableData(fp, table, taosCon, dbName,
+ ret = taosDumpTableData(fp, tbName, taosCon, dbName,
jsonAvroSchema);
}
@@ -1648,26 +1648,27 @@ static void taosStartDumpOutWorkThreads(int32_t numOfThread, char *dbName)
static int32_t taosDumpStable(char *table, FILE *fp,
TAOS* taosCon, char* dbName) {
- uint64_t sizeOfTableDes = (uint64_t)(sizeof(STableDef) + sizeof(SColDes) * TSDB_MAX_COLUMNS);
- STableDef *tableDes = (STableDef *)calloc(1, sizeOfTableDes);
- if (NULL == tableDes) {
+ uint64_t sizeOfTableDes =
+ (uint64_t)(sizeof(STableDef) + sizeof(SColDes) * TSDB_MAX_COLUMNS);
+ STableDef *stableDes = (STableDef *)calloc(1, sizeOfTableDes);
+ if (NULL == stableDes) {
errorPrint("%s() LN%d, failed to allocate %"PRIu64" memory\n",
__func__, __LINE__, sizeOfTableDes);
exit(-1);
}
- int count = taosGetTableDes(dbName, table, tableDes, taosCon, true);
+ int count = taosGetTableDes(dbName, table, stableDes, taosCon, true);
if (count < 0) {
- free(tableDes);
+ free(stableDes);
errorPrint("%s() LN%d, failed to get stable[%s] schema\n",
__func__, __LINE__, table);
exit(-1);
}
- taosDumpCreateTableClause(tableDes, count, fp, dbName);
+ taosDumpCreateTableClause(stableDes, count, fp, dbName);
- free(tableDes);
+ free(stableDes);
return 0;
}
@@ -1707,7 +1708,7 @@ static int32_t taosDumpCreateSuperTableClause(TAOS* taosCon, char* dbName, FILE
memset(&tableRecord, 0, sizeof(STableRecord));
tstrncpy(tableRecord.name, (char *)row[TSDB_SHOW_TABLES_NAME_INDEX],
min(TSDB_TABLE_NAME_LEN,
- fields[TSDB_SHOW_TABLES_NAME_INDEX].bytes) + 1);
+ fields[TSDB_SHOW_TABLES_NAME_INDEX].bytes + 1));
taosWrite(fd, &tableRecord, sizeof(STableRecord));
}
@@ -1782,10 +1783,10 @@ static int taosDumpDb(SDbInfo *dbInfo, FILE *fp, TAOS *taosCon) {
memset(&tableRecord, 0, sizeof(STableRecord));
tstrncpy(tableRecord.name, (char *)row[TSDB_SHOW_TABLES_NAME_INDEX],
min(TSDB_TABLE_NAME_LEN,
- fields[TSDB_SHOW_TABLES_NAME_INDEX].bytes) + 1);
+ fields[TSDB_SHOW_TABLES_NAME_INDEX].bytes + 1));
tstrncpy(tableRecord.metric, (char *)row[TSDB_SHOW_TABLES_METRIC_INDEX],
min(TSDB_TABLE_NAME_LEN,
- fields[TSDB_SHOW_TABLES_METRIC_INDEX].bytes) + 1);
+ fields[TSDB_SHOW_TABLES_METRIC_INDEX].bytes + 1));
taosWrite(fd, &tableRecord, sizeof(STableRecord));
@@ -1865,52 +1866,52 @@ static int taosDumpDb(SDbInfo *dbInfo, FILE *fp, TAOS *taosCon) {
static void taosDumpCreateTableClause(STableDef *tableDes, int numOfCols,
FILE *fp, char* dbName) {
- int counter = 0;
- int count_temp = 0;
- char sqlstr[COMMAND_SIZE];
+ int counter = 0;
+ int count_temp = 0;
+ char sqlstr[COMMAND_SIZE];
- char* pstr = sqlstr;
+ char* pstr = sqlstr;
- pstr += sprintf(sqlstr, "CREATE TABLE IF NOT EXISTS %s.%s",
- dbName, tableDes->name);
+ pstr += sprintf(sqlstr, "CREATE TABLE IF NOT EXISTS %s.%s",
+ dbName, tableDes->name);
- for (; counter < numOfCols; counter++) {
- if (tableDes->cols[counter].note[0] != '\0') break;
+ for (; counter < numOfCols; counter++) {
+ if (tableDes->cols[counter].note[0] != '\0') break;
- if (counter == 0) {
- pstr += sprintf(pstr, " (%s %s",
- tableDes->cols[counter].field, tableDes->cols[counter].type);
- } else {
- pstr += sprintf(pstr, ", %s %s",
- tableDes->cols[counter].field, tableDes->cols[counter].type);
- }
+ if (counter == 0) {
+ pstr += sprintf(pstr, " (%s %s",
+ tableDes->cols[counter].field, tableDes->cols[counter].type);
+ } else {
+ pstr += sprintf(pstr, ", %s %s",
+ tableDes->cols[counter].field, tableDes->cols[counter].type);
+ }
- if (strcasecmp(tableDes->cols[counter].type, "binary") == 0 ||
- strcasecmp(tableDes->cols[counter].type, "nchar") == 0) {
- pstr += sprintf(pstr, "(%d)", tableDes->cols[counter].length);
+ if (strcasecmp(tableDes->cols[counter].type, "binary") == 0 ||
+ strcasecmp(tableDes->cols[counter].type, "nchar") == 0) {
+ pstr += sprintf(pstr, "(%d)", tableDes->cols[counter].length);
+ }
}
- }
- count_temp = counter;
+ count_temp = counter;
- for (; counter < numOfCols; counter++) {
- if (counter == count_temp) {
- pstr += sprintf(pstr, ") TAGS (%s %s",
- tableDes->cols[counter].field, tableDes->cols[counter].type);
- } else {
- pstr += sprintf(pstr, ", %s %s",
- tableDes->cols[counter].field, tableDes->cols[counter].type);
- }
+ for (; counter < numOfCols; counter++) {
+ if (counter == count_temp) {
+ pstr += sprintf(pstr, ") TAGS (%s %s",
+ tableDes->cols[counter].field, tableDes->cols[counter].type);
+ } else {
+ pstr += sprintf(pstr, ", %s %s",
+ tableDes->cols[counter].field, tableDes->cols[counter].type);
+ }
- if (strcasecmp(tableDes->cols[counter].type, "binary") == 0 ||
- strcasecmp(tableDes->cols[counter].type, "nchar") == 0) {
- pstr += sprintf(pstr, "(%d)", tableDes->cols[counter].length);
+ if (strcasecmp(tableDes->cols[counter].type, "binary") == 0 ||
+ strcasecmp(tableDes->cols[counter].type, "nchar") == 0) {
+ pstr += sprintf(pstr, "(%d)", tableDes->cols[counter].length);
+ }
}
- }
- pstr += sprintf(pstr, ");");
+ pstr += sprintf(pstr, ");");
- fprintf(fp, "%s\n\n", sqlstr);
+ fprintf(fp, "%s\n\n", sqlstr);
}
static void taosDumpCreateMTableClause(STableDef *tableDes, char *metric,
diff --git a/src/os/inc/osTime.h b/src/os/inc/osTime.h
index f013a2f7d112c07e2b88b4329ff867e50c25ec0d..dcb0e4c9b630216600c4f8f017b8154e9bb9dac4 100644
--- a/src/os/inc/osTime.h
+++ b/src/os/inc/osTime.h
@@ -97,7 +97,7 @@ int64_t taosTimeAdd(int64_t t, int64_t duration, char unit, int32_t precision);
int64_t taosTimeTruncate(int64_t t, const SInterval* pInterval, int32_t precision);
int32_t taosTimeCountInterval(int64_t skey, int64_t ekey, int64_t interval, char unit, int32_t precision);
-int32_t parseAbsoluteDuration(char* token, int32_t tokenlen, int64_t* ts, int32_t timePrecision);
+int32_t parseAbsoluteDuration(char* token, int32_t tokenlen, int64_t* ts, char* unit, int32_t timePrecision);
int32_t parseNatualDuration(const char* token, int32_t tokenLen, int64_t* duration, char* unit, int32_t timePrecision);
int32_t taosParseTime(char* timestr, int64_t* time, int32_t len, int32_t timePrec, int8_t dayligth);
diff --git a/src/os/src/detail/osTime.c b/src/os/src/detail/osTime.c
index 847d484d9e28fd11d1df3c3b2905afcf257174dd..a95d919a83fa09be4e8b51990c56df42ac1affa9 100644
--- a/src/os/src/detail/osTime.c
+++ b/src/os/src/detail/osTime.c
@@ -397,7 +397,7 @@ static int32_t getDuration(int64_t val, char unit, int64_t* result, int32_t time
* n - Months (30 days)
* y - Years (365 days)
*/
-int32_t parseAbsoluteDuration(char* token, int32_t tokenlen, int64_t* duration, int32_t timePrecision) {
+int32_t parseAbsoluteDuration(char* token, int32_t tokenlen, int64_t* duration, char* unit, int32_t timePrecision) {
errno = 0;
char* endPtr = NULL;
@@ -408,12 +408,12 @@ int32_t parseAbsoluteDuration(char* token, int32_t tokenlen, int64_t* duration,
}
/* natual month/year are not allowed in absolute duration */
- char unit = token[tokenlen - 1];
- if (unit == 'n' || unit == 'y') {
+ *unit = token[tokenlen - 1];
+ if (*unit == 'n' || *unit == 'y') {
return -1;
}
- return getDuration(timestamp, unit, duration, timePrecision);
+ return getDuration(timestamp, *unit, duration, timePrecision);
}
int32_t parseNatualDuration(const char* token, int32_t tokenLen, int64_t* duration, char* unit, int32_t timePrecision) {
diff --git a/src/query/inc/qTableMeta.h b/src/query/inc/qTableMeta.h
index 4bb5483a10dc8f1b0904c17b5b3c81973115470d..0dae74ac8224329810064c773ecd478d4a89ad15 100644
--- a/src/query/inc/qTableMeta.h
+++ b/src/query/inc/qTableMeta.h
@@ -71,7 +71,8 @@ typedef struct STableMeta {
typedef struct STableMetaInfo {
STableMeta *pTableMeta; // table meta, cached in client side and acquired by name
- uint32_t tableMetaSize;
+ uint32_t tableMetaSize;
+ size_t tableMetaCapacity;
SVgroupsInfo *vgroupList;
SArray *pVgroupTables; // SArray
diff --git a/src/query/inc/sql.y b/src/query/inc/sql.y
index ecdde4f7076b10a98fc36d75ebe4bac3691379bb..96f1e680f17a650b1033c4b77719838d9119e539 100644
--- a/src/query/inc/sql.y
+++ b/src/query/inc/sql.y
@@ -479,7 +479,7 @@ tagitem(A) ::= PLUS(X) FLOAT(Y). {
//////////////////////// The SELECT statement /////////////////////////////////
%type select {SSqlNode*}
%destructor select {destroySqlNode($$);}
-select(A) ::= SELECT(T) selcollist(W) from(X) where_opt(Y) interval_opt(K) session_option(H) windowstate_option(D) fill_opt(F) sliding_opt(S) groupby_opt(P) having_opt(N) orderby_opt(Z) slimit_opt(G) limit_opt(L). {
+select(A) ::= SELECT(T) selcollist(W) from(X) where_opt(Y) interval_opt(K) sliding_opt(S) session_option(H) windowstate_option(D) fill_opt(F)groupby_opt(P) having_opt(N) orderby_opt(Z) slimit_opt(G) limit_opt(L). {
A = tSetQuerySqlNode(&T, W, X, Y, P, Z, &K, &H, &D, &S, F, &L, &G, N);
}
diff --git a/src/query/src/qExecutor.c b/src/query/src/qExecutor.c
index 3f6df2ec07f89e9e91d0d9fa3b8de3ec14bb553b..93a2535d56f07c2b11907ebaf590535131013050 100644
--- a/src/query/src/qExecutor.c
+++ b/src/query/src/qExecutor.c
@@ -6661,19 +6661,20 @@ static SSDataBlock* hashDistinct(void* param, bool* newgroup) {
if (isNull(val, type)) {
continue;
}
-
+ char* p = val;
size_t keyLen = 0;
if (IS_VAR_DATA_TYPE(pOperator->pExpr->base.colType)) {
tstr* var = (tstr*)(val);
+ p = var->data;
keyLen = varDataLen(var);
} else {
keyLen = bytes;
}
int dummy;
- void* res = taosHashGet(pInfo->pSet, val, keyLen);
+ void* res = taosHashGet(pInfo->pSet, p, keyLen);
if (res == NULL) {
- taosHashPut(pInfo->pSet, val, keyLen, &dummy, sizeof(dummy));
+ taosHashPut(pInfo->pSet, p, keyLen, &dummy, sizeof(dummy));
char* start = pResultColInfoData->pData + bytes * pInfo->pRes->info.rows;
memcpy(start, val, bytes);
pRes->info.rows += 1;
diff --git a/src/query/src/qPlan.c b/src/query/src/qPlan.c
index e5b9b68536a5de3e1cc8f11bff2d88ab77491f44..e01f41276fb73e9293ba5e3b379c85600053ed93 100644
--- a/src/query/src/qPlan.c
+++ b/src/query/src/qPlan.c
@@ -32,8 +32,8 @@ typedef struct SJoinCond {
SColumn *colCond[2];
} SJoinCond;
-static SQueryNode* createQueryNode(int32_t type, const char* name, SQueryNode** prev,
- int32_t numOfPrev, SExprInfo** pExpr, int32_t numOfOutput, SQueryTableInfo* pTableInfo,
+static SQueryNode* createQueryNode(int32_t type, const char* name, SQueryNode** prev, int32_t numOfPrev,
+ SExprInfo** pExpr, int32_t numOfOutput, SQueryTableInfo* pTableInfo,
void* pExtInfo) {
SQueryNode* pNode = calloc(1, sizeof(SQueryNode));
@@ -112,8 +112,8 @@ static SQueryNode* doAddTableColumnNode(SQueryInfo* pQueryInfo, STableMetaInfo*
}
STimeWindow* window = &pQueryInfo->window;
- SQueryNode* pNode = createQueryNode(QNODE_TABLESCAN, "TableScan", NULL, 0, NULL, 0,
- info, window);
+ SQueryNode* pNode = createQueryNode(QNODE_TABLESCAN, "TableScan", NULL, 0, NULL, 0, info, window);
+
if (pQueryInfo->projectionQuery) {
int32_t numOfOutput = (int32_t) taosArrayGetSize(pExprs);
pNode = createQueryNode(QNODE_PROJECT, "Projection", &pNode, 1, pExprs->pData, numOfOutput, info, NULL);
@@ -146,39 +146,41 @@ static SQueryNode* doAddTableColumnNode(SQueryInfo* pQueryInfo, STableMetaInfo*
}
static SQueryNode* doCreateQueryPlanForOneTableImpl(SQueryInfo* pQueryInfo, SQueryNode* pNode, SQueryTableInfo* info,
- SArray* pExprs) {
- // check for aggregation
- if (pQueryInfo->interval.interval > 0) {
- int32_t numOfOutput = (int32_t) taosArrayGetSize(pExprs);
-
- pNode = createQueryNode(QNODE_TIMEWINDOW, "TimeWindowAgg", &pNode, 1, pExprs->pData, numOfOutput, info,
- &pQueryInfo->interval);
- } else if (pQueryInfo->groupbyColumn) {
- int32_t numOfOutput = (int32_t) taosArrayGetSize(pExprs);
- pNode = createQueryNode(QNODE_GROUPBY, "Groupby", &pNode, 1, pExprs->pData, numOfOutput, info,
- &pQueryInfo->groupbyExpr);
- } else if (pQueryInfo->sessionWindow.gap > 0) {
- pNode = createQueryNode(QNODE_SESSIONWINDOW, "SessionWindowAgg", &pNode, 1, NULL, 0, info, NULL);
- } else if (pQueryInfo->simpleAgg) {
- int32_t numOfOutput = (int32_t) taosArrayGetSize(pExprs);
- pNode = createQueryNode(QNODE_AGGREGATE, "Aggregate", &pNode, 1, pExprs->pData, numOfOutput, info, NULL);
- }
-
- if (pQueryInfo->havingFieldNum > 0 || pQueryInfo->arithmeticOnAgg) {
- int32_t numOfExpr = (int32_t) taosArrayGetSize(pQueryInfo->exprList1);
- pNode =
- createQueryNode(QNODE_PROJECT, "Projection", &pNode, 1, pQueryInfo->exprList1->pData, numOfExpr, info, NULL);
- }
+ SArray* pExprs) {
+ // check for aggregation
+ if (pQueryInfo->interval.interval > 0) {
+ int32_t numOfOutput = (int32_t)taosArrayGetSize(pExprs);
+
+ pNode = createQueryNode(QNODE_TIMEWINDOW, "TimeWindowAgg", &pNode, 1, pExprs->pData, numOfOutput, info,
+ &pQueryInfo->interval);
+ if (pQueryInfo->groupbyExpr.numOfGroupCols != 0) {
+ pNode = createQueryNode(QNODE_GROUPBY, "Groupby", &pNode, 1, pExprs->pData, numOfOutput, info, &pQueryInfo->groupbyExpr);
+ }
+ } else if (pQueryInfo->groupbyColumn) {
+ int32_t numOfOutput = (int32_t)taosArrayGetSize(pExprs);
+ pNode = createQueryNode(QNODE_GROUPBY, "Groupby", &pNode, 1, pExprs->pData, numOfOutput, info,
+ &pQueryInfo->groupbyExpr);
+ } else if (pQueryInfo->sessionWindow.gap > 0) {
+ pNode = createQueryNode(QNODE_SESSIONWINDOW, "SessionWindowAgg", &pNode, 1, NULL, 0, info, NULL);
+ } else if (pQueryInfo->simpleAgg) {
+ int32_t numOfOutput = (int32_t)taosArrayGetSize(pExprs);
+ pNode = createQueryNode(QNODE_AGGREGATE, "Aggregate", &pNode, 1, pExprs->pData, numOfOutput, info, NULL);
+ }
- if (pQueryInfo->fillType != TSDB_FILL_NONE) {
- SFillEssInfo* pInfo = calloc(1, sizeof(SFillEssInfo));
- pInfo->fillType = pQueryInfo->fillType;
- pInfo->val = calloc(pNode->numOfOutput, sizeof(int64_t));
- memcpy(pInfo->val, pQueryInfo->fillVal, pNode->numOfOutput);
+ if (pQueryInfo->havingFieldNum > 0 || pQueryInfo->arithmeticOnAgg) {
+ int32_t numOfExpr = (int32_t)taosArrayGetSize(pQueryInfo->exprList1);
+ pNode =
+ createQueryNode(QNODE_PROJECT, "Projection", &pNode, 1, pQueryInfo->exprList1->pData, numOfExpr, info, NULL);
+ }
- pNode = createQueryNode(QNODE_FILL, "Fill", &pNode, 1, NULL, 0, info, pInfo);
- }
+ if (pQueryInfo->fillType != TSDB_FILL_NONE) {
+ SFillEssInfo* pInfo = calloc(1, sizeof(SFillEssInfo));
+ pInfo->fillType = pQueryInfo->fillType;
+ pInfo->val = calloc(pNode->numOfOutput, sizeof(int64_t));
+ memcpy(pInfo->val, pQueryInfo->fillVal, pNode->numOfOutput);
+ pNode = createQueryNode(QNODE_FILL, "Fill", &pNode, 1, NULL, 0, info, pInfo);
+ }
if (pQueryInfo->limit.limit != -1 || pQueryInfo->limit.offset != 0) {
pNode = createQueryNode(QNODE_LIMIT, "Limit", &pNode, 1, NULL, 0, info, &pQueryInfo->limit);
@@ -330,7 +332,7 @@ static int32_t doPrintPlan(char* buf, SQueryNode* pQueryNode, int32_t level, int
switch(pQueryNode->info.type) {
case QNODE_TABLESCAN: {
STimeWindow* win = (STimeWindow*)pQueryNode->pExtInfo;
- len1 = sprintf(buf + len, "%s #0x%" PRIx64 ") time_range: %" PRId64 " - %" PRId64 "\n",
+ len1 = sprintf(buf + len, "%s #%" PRIu64 ") time_range: %" PRId64 " - %" PRId64 "\n",
pQueryNode->tableInfo.tableName, pQueryNode->tableInfo.id.uid, win->skey, win->ekey);
len += len1;
break;
@@ -401,8 +403,8 @@ static int32_t doPrintPlan(char* buf, SQueryNode* pQueryNode, int32_t level, int
len += len1;
SInterval* pInterval = pQueryNode->pExtInfo;
- len1 = sprintf(buf + len, "interval:%" PRId64 "(%c), sliding:%" PRId64 "(%c), offset:%" PRId64 "\n",
- pInterval->interval, pInterval->intervalUnit, pInterval->sliding, pInterval->slidingUnit,
+ len1 = sprintf(buf + len, "interval:%" PRId64 "(%s), sliding:%" PRId64 "(%s), offset:%" PRId64 "\n",
+ pInterval->interval, TSDB_TIME_PRECISION_MILLI_STR, pInterval->sliding, TSDB_TIME_PRECISION_MILLI_STR,
pInterval->offset);
len += len1;
diff --git a/src/query/src/qSqlParser.c b/src/query/src/qSqlParser.c
index 08c55d5d7e5edf71a059635fe61445119b2f19c2..a512c7bf1a2a107998c4555ce9c442e2f501f49c 100644
--- a/src/query/src/qSqlParser.c
+++ b/src/query/src/qSqlParser.c
@@ -166,7 +166,8 @@ tSqlExpr *tSqlExprCreateIdValue(SStrToken *pToken, int32_t optrType) {
// use nanosecond by default
// TODO set value after getting database precision
if (pToken) {
- int32_t ret = parseAbsoluteDuration(pToken->z, pToken->n, &pSqlExpr->value.i64, TSDB_TIME_PRECISION_NANO);
+ char unit = 0;
+ int32_t ret = parseAbsoluteDuration(pToken->z, pToken->n, &pSqlExpr->value.i64, &unit, TSDB_TIME_PRECISION_NANO);
if (ret != TSDB_CODE_SUCCESS) {
terrno = TSDB_CODE_TSC_SQL_SYNTAX_ERROR;
}
diff --git a/src/query/src/sql.c b/src/query/src/sql.c
index 7a9183ac060b255c49def69fcea1c5cbd74c3226..dc5123b7fbbe2b442e8f1c6d8a57b9a6b1d3678c 100644
--- a/src/query/src/sql.c
+++ b/src/query/src/sql.c
@@ -257,27 +257,27 @@ static const YYACTIONTYPE yy_action[] = {
/* 480 */ 208, 211, 205, 212, 213, 217, 218, 219, 216, 202,
/* 490 */ 1143, 1082, 1135, 236, 267, 1079, 1078, 237, 338, 151,
/* 500 */ 1035, 1046, 47, 1065, 1043, 149, 1064, 1025, 1028, 1044,
- /* 510 */ 274, 1048, 153, 170, 157, 1009, 278, 283, 171, 1007,
+ /* 510 */ 274, 1048, 153, 170, 158, 1009, 278, 285, 171, 1007,
/* 520 */ 172, 233, 166, 280, 161, 757, 160, 173, 162, 922,
- /* 530 */ 163, 299, 300, 301, 304, 305, 287, 292, 45, 290,
+ /* 530 */ 163, 299, 300, 301, 304, 305, 282, 292, 45, 290,
/* 540 */ 75, 200, 288, 813, 272, 41, 72, 49, 316, 164,
/* 550 */ 916, 323, 1142, 110, 1141, 1138, 286, 179, 330, 1134,
- /* 560 */ 284, 116, 1133, 1130, 180, 282, 942, 42, 39, 46,
- /* 570 */ 201, 904, 279, 126, 48, 902, 128, 129, 900, 899,
+ /* 560 */ 284, 116, 1133, 1130, 180, 281, 942, 42, 39, 46,
+ /* 570 */ 201, 904, 279, 126, 303, 902, 128, 129, 900, 899,
/* 580 */ 259, 191, 897, 896, 895, 894, 893, 892, 891, 194,
- /* 590 */ 196, 888, 886, 884, 882, 198, 879, 199, 303, 81,
- /* 600 */ 86, 348, 281, 1066, 121, 340, 341, 342, 343, 344,
+ /* 590 */ 196, 888, 886, 884, 882, 198, 879, 199, 48, 81,
+ /* 600 */ 86, 348, 283, 1066, 121, 340, 341, 342, 343, 344,
/* 610 */ 223, 345, 346, 356, 855, 243, 298, 260, 261, 854,
/* 620 */ 263, 220, 221, 264, 853, 836, 104, 921, 920, 105,
- /* 630 */ 835, 268, 273, 10, 293, 734, 275, 84, 30, 87,
- /* 640 */ 898, 890, 182, 943, 186, 181, 184, 140, 183, 187,
- /* 650 */ 185, 141, 142, 889, 4, 143, 980, 881, 880, 944,
- /* 660 */ 759, 165, 167, 168, 155, 169, 762, 156, 2, 990,
- /* 670 */ 88, 235, 764, 89, 285, 31, 768, 158, 11, 12,
- /* 680 */ 13, 32, 27, 295, 28, 96, 98, 101, 35, 100,
+ /* 630 */ 835, 268, 273, 10, 293, 734, 275, 84, 30, 898,
+ /* 640 */ 890, 183, 182, 943, 187, 181, 184, 185, 2, 140,
+ /* 650 */ 186, 141, 142, 889, 4, 143, 980, 881, 87, 944,
+ /* 660 */ 759, 165, 167, 168, 169, 880, 155, 157, 768, 156,
+ /* 670 */ 235, 762, 88, 89, 990, 764, 287, 31, 11, 32,
+ /* 680 */ 12, 13, 27, 295, 28, 96, 98, 101, 35, 100,
/* 690 */ 632, 36, 102, 667, 665, 664, 663, 661, 660, 659,
- /* 700 */ 656, 314, 622, 106, 7, 320, 812, 814, 8, 321,
- /* 710 */ 109, 111, 68, 69, 115, 704, 703, 38, 117, 700,
+ /* 700 */ 656, 314, 622, 106, 7, 320, 812, 321, 8, 109,
+ /* 710 */ 814, 111, 68, 69, 115, 704, 703, 38, 117, 700,
/* 720 */ 648, 646, 638, 644, 640, 642, 636, 634, 670, 669,
/* 730 */ 668, 666, 662, 658, 657, 190, 620, 585, 583, 859,
/* 740 */ 858, 858, 858, 858, 858, 858, 858, 858, 858, 858,
@@ -338,24 +338,24 @@ static const YYCODETYPE yy_lookahead[] = {
/* 510 */ 246, 199, 199, 250, 199, 246, 269, 199, 199, 199,
/* 520 */ 199, 269, 254, 269, 259, 124, 260, 199, 258, 199,
/* 530 */ 257, 199, 199, 199, 199, 199, 269, 130, 199, 134,
- /* 540 */ 136, 199, 129, 117, 200, 199, 138, 135, 199, 256,
- /* 550 */ 199, 199, 199, 199, 199, 199, 128, 199, 199, 199,
- /* 560 */ 127, 199, 199, 199, 199, 126, 199, 199, 199, 199,
- /* 570 */ 199, 199, 125, 199, 140, 199, 199, 199, 199, 199,
+ /* 540 */ 136, 199, 128, 117, 200, 199, 138, 135, 199, 256,
+ /* 550 */ 199, 199, 199, 199, 199, 199, 127, 199, 199, 199,
+ /* 560 */ 126, 199, 199, 199, 199, 129, 199, 199, 199, 199,
+ /* 570 */ 199, 199, 125, 199, 89, 199, 199, 199, 199, 199,
/* 580 */ 199, 199, 199, 199, 199, 199, 199, 199, 199, 199,
- /* 590 */ 199, 199, 199, 199, 199, 199, 199, 199, 89, 200,
+ /* 590 */ 199, 199, 199, 199, 199, 199, 199, 199, 140, 200,
/* 600 */ 200, 113, 200, 200, 96, 95, 51, 92, 94, 55,
/* 610 */ 200, 93, 91, 84, 5, 200, 200, 153, 5, 5,
/* 620 */ 153, 200, 200, 5, 5, 100, 206, 210, 210, 206,
- /* 630 */ 99, 142, 120, 82, 115, 83, 97, 121, 82, 97,
- /* 640 */ 200, 200, 217, 219, 215, 218, 216, 201, 213, 212,
- /* 650 */ 214, 201, 201, 200, 202, 201, 237, 200, 200, 221,
- /* 660 */ 83, 255, 253, 252, 82, 251, 83, 97, 207, 237,
- /* 670 */ 82, 1, 83, 82, 82, 97, 83, 82, 131, 131,
- /* 680 */ 82, 97, 82, 115, 82, 116, 78, 71, 87, 86,
+ /* 630 */ 99, 142, 120, 82, 115, 83, 97, 121, 82, 200,
+ /* 640 */ 200, 213, 217, 219, 212, 218, 216, 214, 207, 201,
+ /* 650 */ 215, 201, 201, 200, 202, 201, 237, 200, 97, 221,
+ /* 660 */ 83, 255, 253, 252, 251, 200, 82, 97, 83, 82,
+ /* 670 */ 1, 83, 82, 82, 237, 83, 82, 97, 131, 97,
+ /* 680 */ 131, 82, 82, 115, 82, 116, 78, 71, 87, 86,
/* 690 */ 5, 87, 86, 9, 5, 5, 5, 5, 5, 5,
- /* 700 */ 5, 15, 85, 78, 82, 24, 83, 117, 82, 59,
- /* 710 */ 147, 147, 16, 16, 147, 5, 5, 97, 147, 83,
+ /* 700 */ 5, 15, 85, 78, 82, 24, 83, 59, 82, 147,
+ /* 710 */ 117, 147, 16, 16, 147, 5, 5, 97, 147, 83,
/* 720 */ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
/* 730 */ 5, 5, 5, 5, 5, 97, 85, 61, 60, 0,
/* 740 */ 276, 276, 276, 276, 276, 276, 276, 276, 276, 276,
@@ -399,9 +399,9 @@ static const unsigned short int yy_shift_ofst[] = {
/* 120 */ 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
/* 130 */ 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
/* 140 */ 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
- /* 150 */ 143, 444, 444, 444, 401, 401, 401, 444, 401, 444,
- /* 160 */ 404, 408, 407, 412, 405, 413, 428, 433, 439, 447,
- /* 170 */ 434, 444, 444, 444, 509, 509, 488, 12, 12, 444,
+ /* 150 */ 143, 444, 444, 444, 401, 401, 401, 401, 444, 444,
+ /* 160 */ 404, 408, 407, 412, 405, 414, 429, 434, 436, 447,
+ /* 170 */ 458, 444, 444, 444, 485, 485, 488, 12, 12, 444,
/* 180 */ 444, 508, 510, 555, 515, 514, 554, 518, 521, 488,
/* 190 */ 13, 444, 529, 529, 444, 529, 444, 529, 444, 444,
/* 200 */ 753, 753, 54, 81, 81, 108, 81, 134, 188, 205,
@@ -411,12 +411,12 @@ static const unsigned short int yy_shift_ofst[] = {
/* 240 */ 345, 347, 348, 343, 350, 357, 431, 375, 426, 366,
/* 250 */ 118, 308, 314, 459, 460, 324, 327, 361, 331, 373,
/* 260 */ 609, 464, 613, 614, 467, 618, 619, 525, 531, 489,
- /* 270 */ 512, 519, 551, 516, 552, 556, 539, 542, 577, 582,
- /* 280 */ 583, 570, 588, 589, 591, 670, 592, 593, 595, 578,
- /* 290 */ 547, 584, 548, 598, 519, 600, 568, 602, 569, 608,
+ /* 270 */ 512, 519, 551, 516, 552, 556, 539, 561, 577, 584,
+ /* 280 */ 585, 587, 588, 570, 590, 592, 591, 669, 594, 580,
+ /* 290 */ 547, 582, 549, 599, 519, 600, 568, 602, 569, 608,
/* 300 */ 601, 603, 616, 685, 604, 606, 684, 689, 690, 691,
- /* 310 */ 692, 693, 694, 695, 617, 686, 625, 622, 623, 590,
- /* 320 */ 626, 681, 650, 696, 563, 564, 620, 620, 620, 620,
+ /* 310 */ 692, 693, 694, 695, 617, 686, 625, 622, 623, 593,
+ /* 320 */ 626, 681, 648, 696, 562, 564, 620, 620, 620, 620,
/* 330 */ 697, 567, 571, 620, 620, 620, 710, 711, 636, 620,
/* 340 */ 715, 716, 717, 718, 719, 720, 721, 722, 723, 724,
/* 350 */ 725, 726, 727, 728, 729, 638, 651, 730, 731, 676,
@@ -424,7 +424,7 @@ static const unsigned short int yy_shift_ofst[] = {
};
#define YY_REDUCE_COUNT (201)
#define YY_REDUCE_MIN (-265)
-#define YY_REDUCE_MAX (461)
+#define YY_REDUCE_MAX (465)
static const short yy_reduce_ofst[] = {
/* 0 */ -27, -33, -33, -193, -193, -76, -203, -199, -175, -184,
/* 10 */ -130, -134, 93, 24, 67, 119, 126, 135, 142, 148,
@@ -441,12 +441,12 @@ static const short yy_reduce_ofst[] = {
/* 120 */ 365, 367, 368, 369, 370, 371, 372, 374, 376, 377,
/* 130 */ 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
/* 140 */ 388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
- /* 150 */ 398, 344, 399, 400, 247, 252, 254, 402, 267, 403,
+ /* 150 */ 398, 344, 399, 400, 247, 252, 254, 267, 402, 403,
/* 160 */ 246, 266, 265, 270, 273, 293, 406, 268, 409, 411,
- /* 170 */ 414, 410, 415, 416, 417, 418, 419, 420, 423, 421,
- /* 180 */ 422, 424, 427, 425, 435, 430, 436, 429, 437, 432,
- /* 190 */ 438, 440, 446, 450, 441, 451, 453, 454, 457, 458,
- /* 200 */ 461, 452,
+ /* 170 */ 413, 410, 415, 416, 417, 418, 419, 420, 423, 421,
+ /* 180 */ 422, 424, 427, 425, 428, 430, 433, 435, 432, 437,
+ /* 190 */ 438, 439, 448, 450, 440, 451, 453, 454, 457, 465,
+ /* 200 */ 441, 452,
};
static const YYACTIONTYPE yy_default[] = {
/* 0 */ 856, 979, 918, 989, 905, 915, 1126, 1126, 1126, 856,
@@ -464,8 +464,8 @@ static const YYACTIONTYPE yy_default[] = {
/* 120 */ 856, 856, 856, 856, 856, 856, 903, 856, 901, 856,
/* 130 */ 856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
/* 140 */ 856, 856, 856, 856, 887, 856, 856, 856, 856, 856,
- /* 150 */ 856, 878, 878, 878, 856, 856, 856, 878, 856, 878,
- /* 160 */ 1076, 1080, 1062, 1074, 1070, 1061, 1057, 1055, 1053, 1052,
+ /* 150 */ 856, 878, 878, 878, 856, 856, 856, 856, 878, 878,
+ /* 160 */ 1076, 1080, 1062, 1074, 1070, 1057, 1055, 1053, 1061, 1052,
/* 170 */ 1084, 878, 878, 878, 923, 923, 919, 915, 915, 878,
/* 180 */ 878, 941, 939, 937, 929, 935, 931, 933, 927, 906,
/* 190 */ 856, 878, 913, 913, 878, 913, 878, 913, 878, 878,
@@ -1039,10 +1039,10 @@ static const char *const yyTokenName[] = {
/* 250 */ "from",
/* 251 */ "where_opt",
/* 252 */ "interval_opt",
- /* 253 */ "session_option",
- /* 254 */ "windowstate_option",
- /* 255 */ "fill_opt",
- /* 256 */ "sliding_opt",
+ /* 253 */ "sliding_opt",
+ /* 254 */ "session_option",
+ /* 255 */ "windowstate_option",
+ /* 256 */ "fill_opt",
/* 257 */ "groupby_opt",
/* 258 */ "having_opt",
/* 259 */ "orderby_opt",
@@ -1235,7 +1235,7 @@ static const char *const yyRuleName[] = {
/* 163 */ "tagitem ::= MINUS FLOAT",
/* 164 */ "tagitem ::= PLUS INTEGER",
/* 165 */ "tagitem ::= PLUS FLOAT",
- /* 166 */ "select ::= SELECT selcollist from where_opt interval_opt session_option windowstate_option fill_opt sliding_opt groupby_opt having_opt orderby_opt slimit_opt limit_opt",
+ /* 166 */ "select ::= SELECT selcollist from where_opt interval_opt sliding_opt session_option windowstate_option fill_opt groupby_opt having_opt orderby_opt slimit_opt limit_opt",
/* 167 */ "select ::= LP select RP",
/* 168 */ "union ::= select",
/* 169 */ "union ::= union UNION ALL select",
@@ -1490,7 +1490,7 @@ tSqlExprListDestroy((yypminor->yy525));
case 243: /* columnlist */
case 244: /* tagitemlist */
case 245: /* tagNamelist */
- case 255: /* fill_opt */
+ case 256: /* fill_opt */
case 257: /* groupby_opt */
case 259: /* orderby_opt */
case 270: /* sortlist */
@@ -1991,7 +1991,7 @@ static const struct {
{ 248, -2 }, /* (163) tagitem ::= MINUS FLOAT */
{ 248, -2 }, /* (164) tagitem ::= PLUS INTEGER */
{ 248, -2 }, /* (165) tagitem ::= PLUS FLOAT */
- { 246, -14 }, /* (166) select ::= SELECT selcollist from where_opt interval_opt session_option windowstate_option fill_opt sliding_opt groupby_opt having_opt orderby_opt slimit_opt limit_opt */
+ { 246, -14 }, /* (166) select ::= SELECT selcollist from where_opt interval_opt sliding_opt session_option windowstate_option fill_opt groupby_opt having_opt orderby_opt slimit_opt limit_opt */
{ 246, -3 }, /* (167) select ::= LP select RP */
{ 262, -1 }, /* (168) union ::= select */
{ 262, -4 }, /* (169) union ::= union UNION ALL select */
@@ -2019,15 +2019,15 @@ static const struct {
{ 252, -4 }, /* (191) interval_opt ::= INTERVAL LP tmvar RP */
{ 252, -6 }, /* (192) interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
{ 252, 0 }, /* (193) interval_opt ::= */
- { 253, 0 }, /* (194) session_option ::= */
- { 253, -7 }, /* (195) session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
- { 254, 0 }, /* (196) windowstate_option ::= */
- { 254, -4 }, /* (197) windowstate_option ::= STATE_WINDOW LP ids RP */
- { 255, 0 }, /* (198) fill_opt ::= */
- { 255, -6 }, /* (199) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
- { 255, -4 }, /* (200) fill_opt ::= FILL LP ID RP */
- { 256, -4 }, /* (201) sliding_opt ::= SLIDING LP tmvar RP */
- { 256, 0 }, /* (202) sliding_opt ::= */
+ { 254, 0 }, /* (194) session_option ::= */
+ { 254, -7 }, /* (195) session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
+ { 255, 0 }, /* (196) windowstate_option ::= */
+ { 255, -4 }, /* (197) windowstate_option ::= STATE_WINDOW LP ids RP */
+ { 256, 0 }, /* (198) fill_opt ::= */
+ { 256, -6 }, /* (199) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
+ { 256, -4 }, /* (200) fill_opt ::= FILL LP ID RP */
+ { 253, -4 }, /* (201) sliding_opt ::= SLIDING LP tmvar RP */
+ { 253, 0 }, /* (202) sliding_opt ::= */
{ 259, 0 }, /* (203) orderby_opt ::= */
{ 259, -3 }, /* (204) orderby_opt ::= ORDER BY sortlist */
{ 270, -4 }, /* (205) sortlist ::= sortlist COMMA item sortorder */
@@ -2723,9 +2723,9 @@ static void yy_reduce(
}
yymsp[-1].minor.yy506 = yylhsminor.yy506;
break;
- case 166: /* select ::= SELECT selcollist from where_opt interval_opt session_option windowstate_option fill_opt sliding_opt groupby_opt having_opt orderby_opt slimit_opt limit_opt */
+ case 166: /* select ::= SELECT selcollist from where_opt interval_opt sliding_opt session_option windowstate_option fill_opt groupby_opt having_opt orderby_opt slimit_opt limit_opt */
{
- yylhsminor.yy464 = tSetQuerySqlNode(&yymsp[-13].minor.yy0, yymsp[-12].minor.yy525, yymsp[-11].minor.yy412, yymsp[-10].minor.yy370, yymsp[-4].minor.yy525, yymsp[-2].minor.yy525, &yymsp[-9].minor.yy520, &yymsp[-8].minor.yy259, &yymsp[-7].minor.yy144, &yymsp[-5].minor.yy0, yymsp[-6].minor.yy525, &yymsp[0].minor.yy126, &yymsp[-1].minor.yy126, yymsp[-3].minor.yy370);
+ yylhsminor.yy464 = tSetQuerySqlNode(&yymsp[-13].minor.yy0, yymsp[-12].minor.yy525, yymsp[-11].minor.yy412, yymsp[-10].minor.yy370, yymsp[-4].minor.yy525, yymsp[-2].minor.yy525, &yymsp[-9].minor.yy520, &yymsp[-7].minor.yy259, &yymsp[-6].minor.yy144, &yymsp[-8].minor.yy0, yymsp[-5].minor.yy525, &yymsp[0].minor.yy126, &yymsp[-1].minor.yy126, yymsp[-3].minor.yy370);
}
yymsp[-13].minor.yy464 = yylhsminor.yy464;
break;
diff --git a/src/tsdb/inc/tsdbRowMergeBuf.h b/src/tsdb/inc/tsdbRowMergeBuf.h
index 302bf25750fc08367a2840fa9c483919c828fcb5..cefa9b27fbd2a6116e2d7180f102440af9595e93 100644
--- a/src/tsdb/inc/tsdbRowMergeBuf.h
+++ b/src/tsdb/inc/tsdbRowMergeBuf.h
@@ -29,7 +29,9 @@ typedef void* SMergeBuf;
SDataRow tsdbMergeTwoRows(SMergeBuf *pBuf, SMemRow row1, SMemRow row2, STSchema *pSchema1, STSchema *pSchema2);
static FORCE_INLINE int tsdbMergeBufMakeSureRoom(SMergeBuf *pBuf, STSchema* pSchema1, STSchema* pSchema2) {
- return tsdbMakeRoom(pBuf, MAX(dataRowMaxBytesFromSchema(pSchema1), dataRowMaxBytesFromSchema(pSchema2)));
+ size_t len1 = dataRowMaxBytesFromSchema(pSchema1);
+ size_t len2 = dataRowMaxBytesFromSchema(pSchema2);
+ return tsdbMakeRoom(pBuf, MAX(len1, len2));
}
static FORCE_INLINE void tsdbFreeMergeBuf(SMergeBuf buf) {
diff --git a/src/tsdb/inc/tsdbint.h b/src/tsdb/inc/tsdbint.h
index 757a0951e8640656951904ffdcca1024cc27a800..532907ae01be576e40feea2969761846f07170b3 100644
--- a/src/tsdb/inc/tsdbint.h
+++ b/src/tsdb/inc/tsdbint.h
@@ -94,8 +94,9 @@ struct STsdbRepo {
pthread_mutex_t mutex;
bool repoLocked;
int32_t code; // Commit code
+
SMergeBuf mergeBuf; //used when update=2
- bool inCompact; // is in compact process?
+ int8_t compactState; // compact state: inCompact/noCompact/waitingCompact?
};
#define REPO_ID(r) (r)->config.tsdbId
diff --git a/src/tsdb/src/tsdbCompact.c b/src/tsdb/src/tsdbCompact.c
index 0490f26b5ec649a420d0340990a8f49c14f9deb0..62f9e41119ef7ed1b2f0151deeae6e6c4d4eb75e 100644
--- a/src/tsdb/src/tsdbCompact.c
+++ b/src/tsdb/src/tsdbCompact.c
@@ -58,6 +58,7 @@ static int tsdbCompactFSetImpl(SCompactH *pComph);
static int tsdbWriteBlockToRightFile(SCompactH *pComph, STable *pTable, SDataCols *pDataCols, void **ppBuf,
void **ppCBuf);
+enum { TSDB_NO_COMPACT, TSDB_IN_COMPACT, TSDB_WAITING_COMPACT};
int tsdbCompact(STsdbRepo *pRepo) { return tsdbAsyncCompact(pRepo); }
void *tsdbCompactImpl(STsdbRepo *pRepo) {
@@ -89,16 +90,21 @@ _err:
}
static int tsdbAsyncCompact(STsdbRepo *pRepo) {
+ if (pRepo->compactState != TSDB_NO_COMPACT) {
+ tsdbInfo("vgId:%d not compact tsdb again ", REPO_ID(pRepo));
+ return 0;
+ }
+ pRepo->compactState = TSDB_WAITING_COMPACT;
tsem_wait(&(pRepo->readyToCommit));
return tsdbScheduleCommit(pRepo, COMPACT_REQ);
}
static void tsdbStartCompact(STsdbRepo *pRepo) {
- ASSERT(!pRepo->inCompact);
+ assert(pRepo->compactState != TSDB_IN_COMPACT);
tsdbInfo("vgId:%d start to compact!", REPO_ID(pRepo));
tsdbStartFSTxn(pRepo, 0, 0);
pRepo->code = TSDB_CODE_SUCCESS;
- pRepo->inCompact = true;
+ pRepo->compactState = TSDB_IN_COMPACT;
}
static void tsdbEndCompact(STsdbRepo *pRepo, int eno) {
@@ -107,7 +113,7 @@ static void tsdbEndCompact(STsdbRepo *pRepo, int eno) {
} else {
tsdbEndFSTxn(pRepo);
}
- pRepo->inCompact = false;
+ pRepo->compactState = TSDB_NO_COMPACT;
tsdbInfo("vgId:%d compact over, %s", REPO_ID(pRepo), (eno == TSDB_CODE_SUCCESS) ? "succeed" : "failed");
tsem_post(&(pRepo->readyToCommit));
}
diff --git a/src/tsdb/src/tsdbMain.c b/src/tsdb/src/tsdbMain.c
index c877bfc7af2620c354c3613977a6b9da7ca96825..b2e6fe89161d0e9bceaf74a46807f51ec402fb2a 100644
--- a/src/tsdb/src/tsdbMain.c
+++ b/src/tsdb/src/tsdbMain.c
@@ -200,7 +200,7 @@ STsdbRepoInfo *tsdbGetStatus(STsdbRepo *pRepo) { return NULL; }
int tsdbGetState(STsdbRepo *repo) { return repo->state; }
-bool tsdbInCompact(STsdbRepo *repo) { return repo->inCompact; }
+int8_t tsdbGetCompactState(STsdbRepo *repo) { return (int8_t)(repo->compactState); }
void tsdbReportStat(void *repo, int64_t *totalPoints, int64_t *totalStorage, int64_t *compStorage) {
ASSERT(repo != NULL);
@@ -541,7 +541,7 @@ static STsdbRepo *tsdbNewRepo(STsdbCfg *pCfg, STsdbAppH *pAppH) {
pRepo->state = TSDB_STATE_OK;
pRepo->code = TSDB_CODE_SUCCESS;
- pRepo->inCompact = false;
+ pRepo->compactState = 0;
pRepo->config = *pCfg;
if (pAppH) {
pRepo->appH = *pAppH;
diff --git a/src/tsdb/src/tsdbMeta.c b/src/tsdb/src/tsdbMeta.c
index f233500ee9d036148657125abcd09eae53a88185..619b32b3d92cc27f93855e3c5ffe42d327bc4695 100644
--- a/src/tsdb/src/tsdbMeta.c
+++ b/src/tsdb/src/tsdbMeta.c
@@ -1035,6 +1035,8 @@ static void tsdbRemoveTableFromMeta(STsdbRepo *pRepo, STable *pTable, bool rmFro
}
}
}
+ pMeta->maxCols = maxCols;
+ pMeta->maxRowBytes = maxRowBytes;
if (lock) tsdbUnlockRepoMeta(pRepo);
tsdbDebug("vgId:%d table %s uid %" PRIu64 " is removed from meta", REPO_ID(pRepo), TABLE_CHAR_NAME(pTable), TABLE_UID(pTable));
diff --git a/src/tsdb/src/tsdbRead.c b/src/tsdb/src/tsdbRead.c
index 5b93847c9b5ead1b65d08290768b53472402e0a6..c578555df274aa970c1f107463977c61c0a60d16 100644
--- a/src/tsdb/src/tsdbRead.c
+++ b/src/tsdb/src/tsdbRead.c
@@ -1234,7 +1234,6 @@ static int32_t doCopyRowsFromFileBlock(STsdbQueryHandle* pQueryHandle, int32_t c
static void moveDataToFront(STsdbQueryHandle* pQueryHandle, int32_t numOfRows, int32_t numOfCols);
static void doCheckGeneratedBlockRange(STsdbQueryHandle* pQueryHandle);
static void copyAllRemainRowsFromFileBlock(STsdbQueryHandle* pQueryHandle, STableCheckInfo* pCheckInfo, SDataBlockInfo* pBlockInfo, int32_t endPos);
-static TSKEY extractFirstTraverseKey(STableCheckInfo* pCheckInfo, int32_t order, int32_t update);
static int32_t handleDataMergeIfNeeded(STsdbQueryHandle* pQueryHandle, SBlock* pBlock, STableCheckInfo* pCheckInfo){
SQueryFilePos* cur = &pQueryHandle->cur;
@@ -1244,7 +1243,6 @@ static int32_t handleDataMergeIfNeeded(STsdbQueryHandle* pQueryHandle, SBlock* p
int32_t code = TSDB_CODE_SUCCESS;
/*bool hasData = */ initTableMemIterator(pQueryHandle, pCheckInfo);
-
assert(cur->pos >= 0 && cur->pos <= binfo.rows);
key = extractFirstTraverseKey(pCheckInfo, pQueryHandle->order, pCfg->update);
@@ -1255,7 +1253,6 @@ static int32_t handleDataMergeIfNeeded(STsdbQueryHandle* pQueryHandle, SBlock* p
tsdbDebug("%p no data in mem, 0x%"PRIx64, pQueryHandle, pQueryHandle->qId);
}
-
if ((ASCENDING_TRAVERSE(pQueryHandle->order) && (key != TSKEY_INITIAL_VAL && key <= binfo.window.ekey)) ||
(!ASCENDING_TRAVERSE(pQueryHandle->order) && (key != TSKEY_INITIAL_VAL && key >= binfo.window.skey))) {
@@ -2708,6 +2705,7 @@ static bool loadBlockOfActiveTable(STsdbQueryHandle* pQueryHandle) {
}
if (exists) {
+ tsdbRetrieveDataBlock((TsdbQueryHandleT*) pQueryHandle, NULL);
if (pQueryHandle->currentLoadExternalRows && pQueryHandle->window.skey == pQueryHandle->window.ekey) {
SColumnInfoData* pColInfo = taosArrayGet(pQueryHandle->pColumns, 0);
assert(*(int64_t*)pColInfo->pData == pQueryHandle->window.skey);
diff --git a/src/tsdb/src/tsdbReadImpl.c b/src/tsdb/src/tsdbReadImpl.c
index 666a2d357144431093855479f30a4feefbb9ab3b..711c32535bb00bae55d7faafadc115a22c76a949 100644
--- a/src/tsdb/src/tsdbReadImpl.c
+++ b/src/tsdb/src/tsdbReadImpl.c
@@ -518,6 +518,8 @@ static int tsdbCheckAndDecodeColumnData(SDataCol *pDataCol, void *content, int32
return -1;
}
+ tdAllocMemForCol(pDataCol, maxPoints);
+
// Decode the data
if (comp) {
// Need to decompress
diff --git a/src/util/inc/hash.h b/src/util/inc/hash.h
index a53aa602c1e309ef0c25e370ae084b5a33e4144c..6c4145810b9819e60a9cb979a8ab42795df3cf00 100644
--- a/src/util/inc/hash.h
+++ b/src/util/inc/hash.h
@@ -127,6 +127,16 @@ void *taosHashGet(SHashObj *pHashObj, const void *key, size_t keyLen);
*/
void* taosHashGetClone(SHashObj *pHashObj, const void *key, size_t keyLen, void (*fp)(void *), void* d);
+/**
+ * @param pHashObj
+ * @param key
+ * @param keyLen
+ * @param fp
+ * @param d
+ * @param sz
+ * @return
+ */
+void* taosHashGetCloneExt(SHashObj *pHashObj, const void *key, size_t keyLen, void (*fp)(void *), void** d, size_t *sz);
/**
* remove item with the specified key
* @param pHashObj
diff --git a/src/util/src/hash.c b/src/util/src/hash.c
index 2e18f36a17f9b3112c4d1747afa37944a1e93d28..6118aa7bef8b426a909cee19b6ee2aba2ed6dfc4 100644
--- a/src/util/src/hash.c
+++ b/src/util/src/hash.c
@@ -18,6 +18,8 @@
#include "tulog.h"
#include "taosdef.h"
+#define EXT_SIZE 1024
+
#define HASH_NEED_RESIZE(_h) ((_h)->size >= (_h)->capacity * HASH_DEFAULT_LOAD_FACTOR)
#define DO_FREE_HASH_NODE(_n) \
@@ -296,6 +298,68 @@ int32_t taosHashPut(SHashObj *pHashObj, const void *key, size_t keyLen, void *da
void *taosHashGet(SHashObj *pHashObj, const void *key, size_t keyLen) {
return taosHashGetClone(pHashObj, key, keyLen, NULL, NULL);
}
+//TODO(yihaoDeng), merge with taosHashGetClone
+void* taosHashGetCloneExt(SHashObj *pHashObj, const void *key, size_t keyLen, void (*fp)(void *), void** d, size_t *sz) {
+ if (taosHashTableEmpty(pHashObj) || keyLen == 0 || key == NULL) {
+ return NULL;
+ }
+
+ uint32_t hashVal = (*pHashObj->hashFp)(key, (uint32_t)keyLen);
+
+ // only add the read lock to disable the resize process
+ __rd_lock(&pHashObj->lock, pHashObj->type);
+
+ int32_t slot = HASH_INDEX(hashVal, pHashObj->capacity);
+ SHashEntry *pe = pHashObj->hashList[slot];
+
+ // no data, return directly
+ if (atomic_load_32(&pe->num) == 0) {
+ __rd_unlock(&pHashObj->lock, pHashObj->type);
+ return NULL;
+ }
+
+ char *data = NULL;
+
+ // lock entry
+ if (pHashObj->type == HASH_ENTRY_LOCK) {
+ taosRLockLatch(&pe->latch);
+ }
+
+ if (pe->num > 0) {
+ assert(pe->next != NULL);
+ } else {
+ assert(pe->next == NULL);
+ }
+
+ SHashNode *pNode = doSearchInEntryList(pHashObj, pe, key, keyLen, hashVal);
+ if (pNode != NULL) {
+ if (fp != NULL) {
+ fp(GET_HASH_NODE_DATA(pNode));
+ }
+
+ if (*d == NULL) {
+ *sz = pNode->dataLen + EXT_SIZE;
+ *d = calloc(1, *sz);
+ } else if (*sz < pNode->dataLen){
+ *sz = pNode->dataLen + EXT_SIZE;
+ *d = realloc(*d, *sz);
+ }
+ memcpy((char *)(*d), GET_HASH_NODE_DATA(pNode), pNode->dataLen);
+ // just make runtime happy
+ if ((*sz) - pNode->dataLen > 0) {
+ memset((char *)(*d) + pNode->dataLen, 0, (*sz) - pNode->dataLen);
+ }
+
+ data = GET_HASH_NODE_DATA(pNode);
+ }
+
+ if (pHashObj->type == HASH_ENTRY_LOCK) {
+ taosRUnLockLatch(&pe->latch);
+ }
+
+ __rd_unlock(&pHashObj->lock, pHashObj->type);
+ return data;
+}
void* taosHashGetClone(SHashObj *pHashObj, const void *key, size_t keyLen, void (*fp)(void *), void* d) {
if (taosHashTableEmpty(pHashObj) || keyLen == 0 || key == NULL) {
diff --git a/src/vnode/inc/vnodeInt.h b/src/vnode/inc/vnodeInt.h
index ef05cf4a4063625d8e2810503e541fd32a7f8f62..4864b79dc4ee7c718ad7c023277793f21e74446d 100644
--- a/src/vnode/inc/vnodeInt.h
+++ b/src/vnode/inc/vnodeInt.h
@@ -26,6 +26,7 @@ extern "C" {
#include "vnode.h"
extern int32_t vDebugFlag;
+extern int32_t vNumOfExistedQHandle; // current initialized and existed query handle in current dnode
#define vFatal(...) { if (vDebugFlag & DEBUG_FATAL) { taosPrintLog("VND FATAL ", 255, __VA_ARGS__); }}
#define vError(...) { if (vDebugFlag & DEBUG_ERROR) { taosPrintLog("VND ERROR ", 255, __VA_ARGS__); }}
diff --git a/src/vnode/src/vnodeMgmt.c b/src/vnode/src/vnodeMgmt.c
index 67b9ce5ad91c2e378c0d67080e9be5c02df81129..8d699cb100675a0c6cfe7b02e5235ab8bb2c82d1 100644
--- a/src/vnode/src/vnodeMgmt.c
+++ b/src/vnode/src/vnodeMgmt.c
@@ -162,7 +162,7 @@ static void vnodeBuildVloadMsg(SVnodeObj *pVnode, SStatusMsg *pStatus) {
pLoad->status = pVnode->status;
pLoad->role = pVnode->role;
pLoad->replica = pVnode->syncCfg.replica;
- pLoad->compact = (pVnode->tsdb != NULL) && tsdbInCompact(pVnode->tsdb) ? 1 : 0;
+ pLoad->compact = (pVnode->tsdb != NULL) ? tsdbGetCompactState(pVnode->tsdb) : 0;
}
int32_t vnodeGetVnodeList(int32_t vnodeList[], int32_t *numOfVnodes) {
diff --git a/src/vnode/src/vnodeRead.c b/src/vnode/src/vnodeRead.c
index 6bc009209be5788146e6d3f65439a266d7ce0522..64f87ba5caddbb8b9cf90c2a13fa4029a9821ab0 100644
--- a/src/vnode/src/vnodeRead.c
+++ b/src/vnode/src/vnodeRead.c
@@ -21,6 +21,8 @@
#include "query.h"
#include "vnodeStatus.h"
+int32_t vNumOfExistedQHandle; // current initialized and existed query handle in current dnode
+
static int32_t (*vnodeProcessReadMsgFp[TSDB_MSG_TYPE_MAX])(SVnodeObj *pVnode, SVReadMsg *pRead);
static int32_t vnodeProcessQueryMsg(SVnodeObj *pVnode, SVReadMsg *pRead);
static int32_t vnodeProcessFetchMsg(SVnodeObj *pVnode, SVReadMsg *pRead);
@@ -247,7 +249,8 @@ static int32_t vnodeProcessQueryMsg(SVnodeObj *pVnode, SVReadMsg *pRead) {
if (handle == NULL) { // failed to register qhandle
pRsp->code = terrno;
terrno = 0;
- vError("vgId:%d, QInfo:0x%"PRIx64 "-%p register qhandle failed, return to app, code:%s", pVnode->vgId, qId, (void *)pQInfo,
+
+ vError("vgId:%d, QInfo:0x%"PRIx64 "-%p register qhandle failed, return to app, code:%s,", pVnode->vgId, qId, (void *)pQInfo,
tstrerror(pRsp->code));
qDestroyQueryInfo(pQInfo); // destroy it directly
return pRsp->code;
@@ -260,10 +263,12 @@ static int32_t vnodeProcessQueryMsg(SVnodeObj *pVnode, SVReadMsg *pRead) {
vnodeNotifyCurrentQhandle(pRead->rpcHandle, qId, *handle, pVnode->vgId) != TSDB_CODE_SUCCESS) {
vError("vgId:%d, QInfo:0x%"PRIx64 "-%p, query discarded since link is broken, %p", pVnode->vgId, qId, *handle,
pRead->rpcHandle);
+
pRsp->code = TSDB_CODE_RPC_NETWORK_UNAVAIL;
qReleaseQInfo(pVnode->qMgmt, (void **)&handle, true);
return pRsp->code;
}
+
} else {
assert(pQInfo == NULL);
}
@@ -277,6 +282,9 @@ static int32_t vnodeProcessQueryMsg(SVnodeObj *pVnode, SVReadMsg *pRead) {
return pRsp->code;
}
}
+
+ int32_t remain = atomic_add_fetch_32(&vNumOfExistedQHandle, 1);
+ vTrace("vgId:%d, new qhandle created, total qhandle:%d", pVnode->vgId, remain);
} else {
assert(pCont != NULL);
void **qhandle = (void **)pRead->qhandle;
@@ -318,8 +326,14 @@ static int32_t vnodeProcessQueryMsg(SVnodeObj *pVnode, SVReadMsg *pRead) {
// NOTE: if the qhandle is not put into vread queue or query is completed, free the qhandle.
// If the building of result is not required, simply free it. Otherwise, mandatorily free the qhandle
if (freehandle || (!buildRes)) {
+ if (freehandle) {
+ int32_t remain = atomic_sub_fetch_32(&vNumOfExistedQHandle, 1);
+ vTrace("vgId:%d, QInfo:%p, start to free qhandle, remain qhandle:%d", pVnode->vgId, *qhandle, remain);
+ }
+
qReleaseQInfo(pVnode->qMgmt, (void **)&qhandle, freehandle);
}
+
}
}
@@ -357,7 +371,10 @@ static int32_t vnodeProcessFetchMsg(SVnodeObj *pVnode, SVReadMsg *pRead) {
// kill current query and free corresponding resources.
if (pRetrieve->free == 1) {
- vWarn("vgId:%d, QInfo:%"PRIx64 "-%p, retrieve msg received to kill query and free qhandle", pVnode->vgId, pRetrieve->qId, *handle);
+ int32_t remain = atomic_sub_fetch_32(&vNumOfExistedQHandle, 1);
+ vWarn("vgId:%d, QInfo:%"PRIx64 "-%p, retrieve msg received to kill query and free qhandle, remain qhandle:%d", pVnode->vgId, pRetrieve->qId,
+ *handle, remain);
+
qKillQuery(*handle);
qReleaseQInfo(pVnode->qMgmt, (void **)&handle, true);
@@ -368,7 +385,10 @@ static int32_t vnodeProcessFetchMsg(SVnodeObj *pVnode, SVReadMsg *pRead) {
// register the qhandle to connect to quit query immediate if connection is broken
if (vnodeNotifyCurrentQhandle(pRead->rpcHandle, pRetrieve->qId, *handle, pVnode->vgId) != TSDB_CODE_SUCCESS) {
- vError("vgId:%d, QInfo:%"PRIu64 "-%p, retrieve discarded since link is broken, conn:%p", pVnode->vgId, pRetrieve->qhandle, *handle, pRead->rpcHandle);
+ int32_t remain = atomic_sub_fetch_32(&vNumOfExistedQHandle, 1);
+ vError("vgId:%d, QInfo:%"PRIu64 "-%p, retrieve discarded since link is broken, conn:%p, remain qhandle:%d", pVnode->vgId, pRetrieve->qhandle,
+ *handle, pRead->rpcHandle, remain);
+
code = TSDB_CODE_RPC_NETWORK_UNAVAIL;
qKillQuery(*handle);
qReleaseQInfo(pVnode->qMgmt, (void **)&handle, true);
@@ -390,7 +410,6 @@ static int32_t vnodeProcessFetchMsg(SVnodeObj *pVnode, SVReadMsg *pRead) {
if (!tsRetrieveBlockingModel) {
if (!buildRes) {
assert(pRead->rpcHandle != NULL);
-
qReleaseQInfo(pVnode->qMgmt, (void **)&handle, false);
return TSDB_CODE_QRY_NOT_READY;
}
@@ -403,6 +422,8 @@ static int32_t vnodeProcessFetchMsg(SVnodeObj *pVnode, SVReadMsg *pRead) {
// If qhandle is not added into vread queue, the query should be completed already or paused with error.
// Here free qhandle immediately
if (freeHandle) {
+ int32_t remain = atomic_sub_fetch_32(&vNumOfExistedQHandle, 1);
+ vTrace("vgId:%d, QInfo:%p, start to free qhandle, remain qhandle:%d", pVnode->vgId, *handle, remain);
qReleaseQInfo(pVnode->qMgmt, (void **)&handle, true);
}
diff --git a/tests/pytest/fulltest.sh b/tests/pytest/fulltest.sh
index b86e96d0bb40c43c7f39da9b372389caa4969c4e..9a0212d652425171b2ff63652ae0717ab34de236 100755
--- a/tests/pytest/fulltest.sh
+++ b/tests/pytest/fulltest.sh
@@ -148,6 +148,9 @@ python3 ./test.py -f import_merge/importTPORestart.py
python3 ./test.py -f import_merge/importTRestart.py
python3 ./test.py -f import_merge/importInsertThenImport.py
python3 ./test.py -f import_merge/importCSV.py
+python3 ./test.py -f import_merge/import_update_0.py
+python3 ./test.py -f import_merge/import_update_1.py
+python3 ./test.py -f import_merge/import_update_2.py
#======================p1-end===============
#======================p2-start===============
# tools
@@ -376,6 +379,7 @@ python3 test.py -f alter/alter_cacheLastRow.py
python3 ./test.py -f query/querySession.py
python3 test.py -f alter/alter_create_exception.py
python3 ./test.py -f insert/flushwhiledrop.py
+python3 ./test.py -f insert/schemalessInsert.py
#======================p4-end===============
python3 test.py -f tools/taosdemoAllTest/pytest.py
diff --git a/tests/pytest/import_merge/import_update_0.py b/tests/pytest/import_merge/import_update_0.py
new file mode 100644
index 0000000000000000000000000000000000000000..6466deb3704223178c4786bbdaa64d493455fed8
--- /dev/null
+++ b/tests/pytest/import_merge/import_update_0.py
@@ -0,0 +1,1913 @@
+###################################################################
+# Copyright (c) 2016 by TAOS Technologies, Inc.
+# All rights reserved.
+#
+# This file is proprietary and confidential to TAOS Technologies.
+# No part of this file may be reproduced, stored, transmitted,
+# disclosed or used in any form or by any means other than as
+# expressly provided by the written permission from Jianhui Tao
+#
+###################################################################
+
+# -*- coding: utf-8 -*-
+
+import sys
+import taos
+from util.log import tdLog
+from util.cases import tdCases
+from util.sql import tdSql
+from util.dnodes import *
+import random
+import time
+
+
+class TDTestCase:
+ def init(self, conn, logSql):
+ tdLog.debug("start to execute %s" % __file__)
+ tdSql.init(conn.cursor(), logSql)
+
+ self.ts = 1600000000000
+ self.num = 50
+ self.num4096 = 5
+
+ def getBuildPath(self):
+ selfPath = os.path.dirname(os.path.realpath(__file__))
+
+ if ("community" in selfPath):
+ projPath = selfPath[:selfPath.find("community")]
+ else:
+ projPath = selfPath[:selfPath.find("tests")]
+
+ for root, dirs, files in os.walk(projPath):
+ if ("taosd" in files):
+ rootRealPath = os.path.dirname(os.path.realpath(root))
+ if ("packaging" not in rootRealPath):
+ buildPath = root[:len(root)-len("/build/bin")]
+ break
+ return buildPath
+
+ def run(self):
+ tdSql.prepare()
+ # test case for https://jira.taosdata.com:18080/browse/TD-5062
+
+ startTime = time.time()
+
+ tdSql.execute('''drop database if exists test_updata_0 ;''')
+ # update 0 不更新 ; update 1 覆盖更新 ;update 2 合并更新
+ tdLog.info("========== test database updata = 0 ==========")
+ tdSql.execute('''create database test_updata_0 update 0 minrows 10 maxrows 200 ;''')
+ tdSql.execute('''use test_updata_0;''')
+ tdSql.execute('''create stable stable_1
+ (ts timestamp , q_int int , q_bigint bigint , q_smallint smallint , q_tinyint tinyint,
+ q_bool bool , q_binary binary(10) , q_nchar nchar(10) , q_float float , q_double double , q_ts timestamp)
+ tags(loc nchar(20) , t_int int);''')
+ tdSql.execute('''create table table_1 using stable_1 tags('table_1' , '1' )''')
+ tdSql.execute('''create table table_2 using stable_1 tags('table_2' , '2' )''')
+ tdSql.execute('''create table table_3 using stable_1 tags('table_3' , '3' )''')
+
+ #regular table
+ tdSql.execute('''create table regular_table_1
+ (ts timestamp , q_int int , q_bigint bigint , q_smallint smallint , q_tinyint tinyint,
+ q_bool bool , q_binary binary(10) , q_nchar nchar(10) , q_float float , q_double double , q_ts timestamp) ;''')
+ tdSql.execute('''create table regular_table_2
+ (ts timestamp , q_int int , q_bigint bigint , q_smallint smallint , q_tinyint tinyint,
+ q_bool bool , q_binary binary(10) , q_nchar nchar(10) , q_float float , q_double double , q_ts timestamp) ;''')
+ tdSql.execute('''create table regular_table_3
+ (ts timestamp , q_int int , q_bigint bigint , q_smallint smallint , q_tinyint tinyint,
+ q_bool bool , q_binary binary(10) , q_nchar nchar(10) , q_float float , q_double double , q_ts timestamp) ;''')
+
+
+ tdLog.info("========== test1.1 : insert data , check data==========")
+ tdLog.info("========== regular_table ==========")
+ tdSql.execute('''insert into regular_table_1 values( %d , 0, 0, 0, 0, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 200))
+ sql = '''select * from regular_table_1 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into regular_table_1 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 200))
+ sql = '''select * from regular_table_1 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into regular_table_1 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 500))
+ sql = '''select * from regular_table_1 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into regular_table_1 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 500))
+ sql = '''select * from regular_table_1 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdLog.info("========== stable ==========")
+ tdSql.execute('''insert into table_1 values( %d , 0, 0, 0, 0, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 200))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into table_1 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 200))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into table_1 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 500))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into table_1 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 500))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+
+ tdLog.info("========== 4096 regular_table ==========")
+ sql = "create table regular_table_4096_1 (ts timestamp, "
+ for i in range(500):
+ sql += "int_%d int, " % (i + 1)
+ for i in range(500,1000):
+ sql += "smallint_%d smallint, " % (i + 1)
+ for i in range(1000,1500):
+ sql += "tinyint_%d tinyint, " % (i + 1)
+ for i in range(1500,2000):
+ sql += "double_%d double, " % (i + 1)
+ for i in range(2000,2500):
+ sql += "float_%d float, " % (i + 1)
+ for i in range(2500,3000):
+ sql += "bool_%d bool, " % (i + 1)
+ for i in range(3000,3500):
+ sql += "bigint_%d bigint, " % (i + 1)
+ for i in range(3500,3800):
+ sql += "nchar_%d nchar(4), " % (i + 1)
+ for i in range(3800,4090):
+ sql += "binary_%d binary(10), " % (i + 1)
+ for i in range(4090,4094):
+ sql += "timestamp_%d timestamp, " % (i + 1)
+ sql += "col4095 binary(22))"
+ tdLog.info(len(sql))
+ tdSql.execute(sql)
+
+ for i in range(self.num4096):
+ sql = "insert into regular_table_4096_1 values(%d, "
+ for j in range(4090):
+ str = "'%s', " % 'NULL'
+ sql += str
+ for j in range(4090,4094):
+ str = "%s, " % (self.ts + j)
+ sql += str
+ sql += "'%s')" % (self.ts + i)
+ tdSql.execute(sql % (self.ts + i))
+ tdSql.query('''select * from regular_table_4096_1 where ts = %d ;''' %(self.ts))
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4095,'1600000000000')
+
+ sql = '''insert into regular_table_4096_1 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-10 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-10 20:26:44.090','1500000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_1 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4095,'1500000000000')
+
+ tdLog.info("========== 4096 stable ==========")
+ sql = "create stable stable_4096_1 (ts timestamp, "
+ for i in range(500):
+ sql += "int_%d int, " % (i + 1)
+ for i in range(500,1000):
+ sql += "smallint_%d smallint, " % (i + 1)
+ for i in range(1000,1500):
+ sql += "tinyint_%d tinyint, " % (i + 1)
+ for i in range(1500,2000):
+ sql += "double_%d double, " % (i + 1)
+ for i in range(2000,2500):
+ sql += "float_%d float, " % (i + 1)
+ for i in range(2500,3000):
+ sql += "bool_%d bool, " % (i + 1)
+ for i in range(3000,3500):
+ sql += "bigint_%d bigint, " % (i + 1)
+ for i in range(3500,3800):
+ sql += "nchar_%d nchar(4), " % (i + 1)
+ for i in range(3800,4090):
+ sql += "binary_%d binary(10), " % (i + 1)
+ for i in range(4090,4092):
+ sql += "timestamp_%d timestamp, " % (i + 1)
+ sql += " col4093 binary(22)) "
+ sql += " tags (loc nchar(20),tag_1 int) "
+ tdLog.info(len(sql))
+ tdSql.execute(sql)
+
+ sql = " create table table_4096_1 using stable_4096_1 tags ('table_4096_1',1); "
+ tdSql.execute(sql)
+
+ for i in range(self.num4096):
+ sql = "insert into table_4096_1 values(%d, "
+ for j in range(4090):
+ str = "'%s', " % 'NULL'
+ sql += str
+ for j in range(4090,4092):
+ str = "%s, " % (self.ts + j)
+ sql += str
+ sql += "'%s')" % (self.ts + i)
+ tdSql.execute(sql % (self.ts + i))
+ tdSql.query('''select * from table_4096_1 where ts = %d ;''' %(self.ts))
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+ tdSql.query('''select * from stable_4096_1 where ts = %d ;''' %(self.ts))
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+
+ sql = '''insert into table_4096_1 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-10 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-10 20:26:44.090','1500000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_1 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+ tdSql.query("select * from stable_4096_1 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+
+ # minrows 10 maxrows 200
+ for i in range(self.num):
+ tdSql.execute('''insert into regular_table_1 values(%d, %d, %d, %d, %d, 0, 'binary.%s', 'nchar.%s', %f, %f, %d)'''
+ % (self.ts -100 + i, i, i, i, i, i, i, i, i, self.ts -100 + i))
+ tdSql.execute('''insert into regular_table_1 values(%d, %d, %d, %d, %d, false, 'binary%s', 'nchar%s', %f, %f, %d)'''
+ % (self.ts + i, random.randint(-2147483647, 2147483647),
+ random.randint(-9223372036854775807, 9223372036854775807), random.randint(-32767, 32767),
+ random.randint(-127, 127), random.randint(-100, 100), random.randint(-10000, 10000),
+ random.uniform(-100000,100000), random.uniform(-1000000000,1000000000), self.ts + i))
+
+ tdSql.execute('''insert into table_1 values(%d, %d, %d, %d, %d, 0, 'binary.%s', 'nchar.%s', %f, %f, %d)'''
+ % (self.ts -100 + i, i, i, i, i, i, i, i, i, self.ts -100 + i))
+ tdSql.execute('''insert into table_1 values(%d, %d, %d, %d, %d, false, 'binary%s', 'nchar%s', %f, %f, %d)'''
+ % (self.ts + i, random.randint(-2147483647, 2147483647),
+ random.randint(-9223372036854775807, 9223372036854775807), random.randint(-32767, 32767),
+ random.randint(-127, 127), random.randint(-100, 100), random.randint(-10000, 10000),
+ random.uniform(-100000,100000), random.uniform(-1000000000,1000000000), self.ts + i))
+
+ tdLog.info("========== regular_table ==========")
+ tdSql.execute('''insert into regular_table_1 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 200))
+ sql = '''select * from regular_table_1 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into regular_table_1 values( %d , 0, 0, 0, 0, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 200))
+ sql = '''select * from regular_table_1 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.error('''insert into regular_table_1 values( %d , -2147483648, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_1 values( %d , -2147483647, -9223372036854775808, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_1 values( %d , -2147483647, -9223372036854775807, -32768, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_1 values( %d , -2147483647, -9223372036854775807, -32767, -128, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_1 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0123', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_1 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+
+ tdSql.execute('''insert into regular_table_1 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-012', 'nchar-0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ sql = '''select * from regular_table_1 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.error('''insert into regular_table_1 values( %d , 2147483648, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_1 values( %d , 2147483647, 9223372036854775808, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_1 values( %d , 2147483647, 9223372036854775807, 32768, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_1 values( %d , 2147483647, 9223372036854775807, 32767, 128, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_1 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0123', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_1 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+
+ tdSql.execute('''insert into regular_table_1 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+012', 'nchar+0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ sql = '''select * from regular_table_1 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdLog.info("========== stable ==========")
+ tdSql.execute('''insert into table_1 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 200))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into table_1 values( %d , 0, 0, 0, 0, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 200))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.error('''insert into table_1 values( %d , -2147483648, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_1 values( %d , -2147483647, -9223372036854775808, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_1 values( %d , -2147483647, -9223372036854775807, -32768, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_1 values( %d , -2147483647, -9223372036854775807, -32767, -128, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_1 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0123', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_1 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+
+ tdSql.execute('''insert into table_1 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-012', 'nchar-0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.error('''insert into table_1 values( %d , 2147483648, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_1 values( %d , 2147483647, 9223372036854775808, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_1 values( %d , 2147483647, 9223372036854775807, 32768, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_1 values( %d , 2147483647, 9223372036854775807, 32767, 128, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_1 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0123', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_1 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+
+ tdSql.execute('''insert into table_1 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+012', 'nchar+0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdLog.info("========== 4096 regular_table ==========")
+ sql = '''insert into regular_table_4096_1 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-13 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-13 20:26:44.090','1600000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_1 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4095,'1600000000000')
+
+ sql = '''insert into regular_table_4096_1 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-10 20:26:40.000' , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL);'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_1 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4095,'1500000000000')
+
+ tdLog.info("========== 4096 stable ==========")
+ sql = '''insert into table_4096_1 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-13 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-13 20:26:44.090','1600000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_1 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+ tdSql.query("select * from stable_4096_1 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+
+ sql = '''insert into table_4096_1 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-10 20:26:40.000' , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL);'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_1 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+ tdSql.query("select * from stable_4096_1 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+
+
+ tdLog.info("========== test1.2 : insert data , taosdemo force data dropping disk , check data==========")
+ tdLog.info("========== regular_table ==========")
+ tdSql.execute('''insert into regular_table_2 values( %d , 0, 0, 0, 0, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 200))
+ sql = '''select * from regular_table_2 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into regular_table_2 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 200))
+ sql = '''select * from regular_table_2 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into regular_table_2 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 500))
+ sql = '''select * from regular_table_2 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into regular_table_2 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 500))
+ sql = '''select * from regular_table_2 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+
+ tdLog.info("========== stable ==========")
+ tdSql.execute('''insert into table_2 values( %d , 0, 0, 0, 0, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 200))
+ sql = '''select * from table_2 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where loc = 'table_2' and ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into table_2 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 200))
+ sql = '''select * from table_2 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where loc = 'table_2' and ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into table_2 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 500))
+ sql = '''select * from table_2 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where loc = 'table_2' and ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into table_2 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 500))
+ sql = '''select * from table_2 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where loc = 'table_2' and ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+
+ tdLog.info("========== 4096 regular_table ==========")
+ sql = "create table regular_table_4096_2 (ts timestamp, "
+ for i in range(500):
+ sql += "int_%d int, " % (i + 1)
+ for i in range(500,1000):
+ sql += "smallint_%d smallint, " % (i + 1)
+ for i in range(1000,1500):
+ sql += "tinyint_%d tinyint, " % (i + 1)
+ for i in range(1500,2000):
+ sql += "double_%d double, " % (i + 1)
+ for i in range(2000,2500):
+ sql += "float_%d float, " % (i + 1)
+ for i in range(2500,3000):
+ sql += "bool_%d bool, " % (i + 1)
+ for i in range(3000,3500):
+ sql += "bigint_%d bigint, " % (i + 1)
+ for i in range(3500,3800):
+ sql += "nchar_%d nchar(4), " % (i + 1)
+ for i in range(3800,4090):
+ sql += "binary_%d binary(10), " % (i + 1)
+ for i in range(4090,4094):
+ sql += "timestamp_%d timestamp, " % (i + 1)
+ sql += "col4095 binary(22))"
+ tdLog.info(len(sql))
+ tdSql.execute(sql)
+
+ for i in range(self.num4096):
+ sql = "insert into regular_table_4096_2 values(%d, "
+ for j in range(4090):
+ str = "'%s', " % 'NULL'
+ sql += str
+ for j in range(4090,4094):
+ str = "%s, " % (self.ts + j)
+ sql += str
+ sql += "'%s')" % (self.ts + i)
+ tdSql.execute(sql % (self.ts + i))
+ tdSql.query('''select * from regular_table_4096_2 where ts = %d ;''' %(self.ts))
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4095,'1600000000000')
+
+ sql = '''insert into regular_table_4096_2 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-10 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-10 20:26:44.090','1500000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_2 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4095,'1500000000000')
+
+ tdLog.info("========== 4096 stable ==========")
+ sql = "create stable stable_4096_2 (ts timestamp, "
+ for i in range(500):
+ sql += "int_%d int, " % (i + 1)
+ for i in range(500,1000):
+ sql += "smallint_%d smallint, " % (i + 1)
+ for i in range(1000,1500):
+ sql += "tinyint_%d tinyint, " % (i + 1)
+ for i in range(1500,2000):
+ sql += "double_%d double, " % (i + 1)
+ for i in range(2000,2500):
+ sql += "float_%d float, " % (i + 1)
+ for i in range(2500,3000):
+ sql += "bool_%d bool, " % (i + 1)
+ for i in range(3000,3500):
+ sql += "bigint_%d bigint, " % (i + 1)
+ for i in range(3500,3800):
+ sql += "nchar_%d nchar(4), " % (i + 1)
+ for i in range(3800,4090):
+ sql += "binary_%d binary(10), " % (i + 1)
+ for i in range(4090,4092):
+ sql += "timestamp_%d timestamp, " % (i + 1)
+ sql += " col4093 binary(22)) "
+ sql += " tags (loc nchar(20),tag_1 int) "
+ tdLog.info(len(sql))
+ tdSql.execute(sql)
+
+ sql = " create table table_4096_2 using stable_4096_2 tags ('table_4096_2',1); "
+ tdSql.execute(sql)
+
+ for i in range(self.num4096):
+ sql = "insert into table_4096_2 values(%d, "
+ for j in range(4090):
+ str = "'%s', " % 'NULL'
+ sql += str
+ for j in range(4090,4092):
+ str = "%s, " % (self.ts + j)
+ sql += str
+ sql += "'%s')" % (self.ts + i)
+ tdSql.execute(sql % (self.ts + i))
+ tdSql.query('''select * from table_4096_2 where ts = %d ;''' %(self.ts))
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+ tdSql.query('''select * from stable_4096_2 where ts = %d ;''' %(self.ts))
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+
+ sql = '''insert into table_4096_2 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-10 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-10 20:26:44.090','1500000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_2 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+ tdSql.query("select * from stable_4096_2 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+
+
+ # taosdemo force data dropping disk
+ buildPath = self.getBuildPath()
+ if (buildPath == ""):
+ tdLog.exit("taosd not found!")
+ else:
+ tdLog.info("taosd found in %s" % buildPath)
+ binPath = buildPath+ "/build/bin/"
+ os.system("%staosdemo -N -d taosdemo -t 100 -n 100 -l 1000 -y" % binPath)
+
+ tdSql.execute('''insert into table_2 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 200))
+ sql = '''select * from table_2 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where loc = 'table_2' and ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into table_2 values( %d , 0, 0, 0, 0, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 200))
+ sql = '''select * from table_2 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where loc = 'table_2' and ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.error('''insert into table_2 values( %d , -2147483648, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_2 values( %d , -2147483647, -9223372036854775808, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_2 values( %d , -2147483647, -9223372036854775807, -32768, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_2 values( %d , -2147483647, -9223372036854775807, -32767, -128, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_2 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0123', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_2 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+
+ tdSql.execute('''insert into table_2 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-012', 'nchar-0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ sql = '''select * from table_2 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where loc = 'table_2' and ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.error('''insert into table_2 values( %d , 2147483648, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_2 values( %d , 2147483647, 9223372036854775808, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_2 values( %d , 2147483647, 9223372036854775807, 32768, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_2 values( %d , 2147483647, 9223372036854775807, 32767, 128, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_2 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0123', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_2 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+
+ tdSql.execute('''insert into table_2 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+012', 'nchar+0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ sql = '''select * from table_2 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where loc = 'table_2' and ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdLog.info("========== 4096 regular_table ==========")
+ sql = '''insert into regular_table_4096_2 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-13 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-13 20:26:44.090','1600000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_2 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4095,'1600000000000')
+
+ sql = '''insert into regular_table_4096_2 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-10 20:26:40.000' , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL);'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_2 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4095,'1500000000000')
+
+ tdLog.info("========== 4096 stable ==========")
+ sql = '''insert into table_4096_2 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-13 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-13 20:26:44.090','1600000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_2 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+ tdSql.query("select * from stable_4096_2 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+
+ sql = '''insert into table_4096_2 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-10 20:26:40.000' , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL);'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_2 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+ tdSql.query("select * from stable_4096_2 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+
+ tdLog.info("========== test1.3 : insert data , tdDnodes restart force data dropping disk , check data==========")
+ tdLog.info("========== regular_table ==========")
+ tdSql.execute('''insert into regular_table_3 values( %d , 0, 0, 0, 0, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 200))
+ sql = '''select * from regular_table_3 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into regular_table_3 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 200))
+ sql = '''select * from regular_table_3 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into regular_table_3 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 500))
+ sql = '''select * from regular_table_3 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into regular_table_3 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 500))
+ sql = '''select * from regular_table_3 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdLog.info("========== stable ==========")
+ tdSql.execute('''insert into table_3 values( %d , 0, 0, 0, 0, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 200))
+ sql = '''select * from table_3 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where loc = 'table_3' and ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into table_3 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 200))
+ sql = '''select * from table_3 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where loc = 'table_3' and ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into table_3 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 500))
+ sql = '''select * from table_3 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where loc = 'table_3' and ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into table_3 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 500))
+ sql = '''select * from table_3 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where loc = 'table_3' and ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+
+ tdLog.info("========== 4096 regular_table ==========")
+ sql = "create table regular_table_4096_3 (ts timestamp, "
+ for i in range(500):
+ sql += "int_%d int, " % (i + 1)
+ for i in range(500,1000):
+ sql += "smallint_%d smallint, " % (i + 1)
+ for i in range(1000,1500):
+ sql += "tinyint_%d tinyint, " % (i + 1)
+ for i in range(1500,2000):
+ sql += "double_%d double, " % (i + 1)
+ for i in range(2000,2500):
+ sql += "float_%d float, " % (i + 1)
+ for i in range(2500,3000):
+ sql += "bool_%d bool, " % (i + 1)
+ for i in range(3000,3500):
+ sql += "bigint_%d bigint, " % (i + 1)
+ for i in range(3500,3800):
+ sql += "nchar_%d nchar(4), " % (i + 1)
+ for i in range(3800,4090):
+ sql += "binary_%d binary(10), " % (i + 1)
+ for i in range(4090,4094):
+ sql += "timestamp_%d timestamp, " % (i + 1)
+ sql += "col4095 binary(22))"
+ tdLog.info(len(sql))
+ tdSql.execute(sql)
+
+ for i in range(self.num4096):
+ sql = "insert into regular_table_4096_3 values(%d, "
+ for j in range(4090):
+ str = "'%s', " % 'NULL'
+ sql += str
+ for j in range(4090,4094):
+ str = "%s, " % (self.ts + j)
+ sql += str
+ sql += "'%s')" % (self.ts + i)
+ tdSql.execute(sql % (self.ts + i))
+ tdSql.query('''select * from regular_table_4096_3 where ts = %d ;''' %(self.ts))
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4095,'1600000000000')
+
+ sql = '''insert into regular_table_4096_3 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-10 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-10 20:26:44.090','1500000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_3 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4095,'1500000000000')
+
+ tdLog.info("========== 4096 stable ==========")
+ sql = "create stable stable_4096_3 (ts timestamp, "
+ for i in range(500):
+ sql += "int_%d int, " % (i + 1)
+ for i in range(500,1000):
+ sql += "smallint_%d smallint, " % (i + 1)
+ for i in range(1000,1500):
+ sql += "tinyint_%d tinyint, " % (i + 1)
+ for i in range(1500,2000):
+ sql += "double_%d double, " % (i + 1)
+ for i in range(2000,2500):
+ sql += "float_%d float, " % (i + 1)
+ for i in range(2500,3000):
+ sql += "bool_%d bool, " % (i + 1)
+ for i in range(3000,3500):
+ sql += "bigint_%d bigint, " % (i + 1)
+ for i in range(3500,3800):
+ sql += "nchar_%d nchar(4), " % (i + 1)
+ for i in range(3800,4090):
+ sql += "binary_%d binary(10), " % (i + 1)
+ for i in range(4090,4092):
+ sql += "timestamp_%d timestamp, " % (i + 1)
+ sql += " col4093 binary(22)) "
+ sql += " tags (loc nchar(20),tag_1 int) "
+ tdLog.info(len(sql))
+ tdSql.execute(sql)
+
+ sql = " create table table_4096_3 using stable_4096_3 tags ('table_4096_3',1); "
+ tdSql.execute(sql)
+
+ for i in range(self.num4096):
+ sql = "insert into table_4096_3 values(%d, "
+ for j in range(4090):
+ str = "'%s', " % 'NULL'
+ sql += str
+ for j in range(4090,4092):
+ str = "%s, " % (self.ts + j)
+ sql += str
+ sql += "'%s')" % (self.ts + i)
+ tdSql.execute(sql % (self.ts + i))
+ tdSql.query('''select * from table_4096_3 where ts = %d ;''' %(self.ts))
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+ tdSql.query('''select * from stable_4096_3 where ts = %d ;''' %(self.ts))
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+
+ sql = '''insert into table_4096_3 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-10 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-10 20:26:44.090','1500000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_3 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+ tdSql.query("select * from stable_4096_3 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+
+ # tdDnodes restart force data dropping disk
+ tdDnodes.stop(1)
+ tdDnodes.start(1)
+
+ tdLog.info("========== regular_table ==========")
+ tdSql.execute('''insert into regular_table_3 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 200))
+ sql = '''select * from regular_table_3 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into regular_table_3 values( %d , 0, 0, 0, 0, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 200))
+ sql = '''select * from regular_table_3 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.error('''insert into regular_table_3 values( %d , -2147483648, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_3 values( %d , -2147483647, -9223372036854775808, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_3 values( %d , -2147483647, -9223372036854775807, -32768, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_3 values( %d , -2147483647, -9223372036854775807, -32767, -128, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_3 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0123', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_3 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+
+ tdSql.execute('''insert into regular_table_3 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-012', 'nchar-0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ sql = '''select * from regular_table_3 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.error('''insert into regular_table_3 values( %d , 2147483648, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_3 values( %d , 2147483647, 9223372036854775808, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_3 values( %d , 2147483647, 9223372036854775807, 32768, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_3 values( %d , 2147483647, 9223372036854775807, 32767, 128, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_3 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0123', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_3 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+
+ tdSql.execute('''insert into regular_table_3 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+012', 'nchar+0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ sql = '''select * from regular_table_3 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdLog.info("========== stable ==========")
+ tdSql.execute('''insert into table_3 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 200))
+ sql = '''select * from table_3 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where loc = 'table_3' and ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into table_3 values( %d , 0, 0, 0, 0, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 200))
+ sql = '''select * from table_3 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where loc = 'table_3' and ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.error('''insert into table_3 values( %d , -2147483648, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_3 values( %d , -2147483647, -9223372036854775808, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_3 values( %d , -2147483647, -9223372036854775807, -32768, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_3 values( %d , -2147483647, -9223372036854775807, -32767, -128, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_3 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0123', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_3 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+
+ tdSql.execute('''insert into table_3 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-012', 'nchar-0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ sql = '''select * from table_3 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where loc = 'table_3' and ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.error('''insert into table_3 values( %d , 2147483648, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_3 values( %d , 2147483647, 9223372036854775808, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_3 values( %d , 2147483647, 9223372036854775807, 32768, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_3 values( %d , 2147483647, 9223372036854775807, 32767, 128, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_3 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0123', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_3 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+
+ tdSql.execute('''insert into table_3 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+012', 'nchar+0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ sql = '''select * from table_3 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where loc = 'table_3' and ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+
+ tdLog.info("========== 4096 regular_table ==========")
+ sql = '''insert into regular_table_4096_3 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-13 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-13 20:26:44.090','1600000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_3 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4095,'1600000000000')
+
+ sql = '''insert into regular_table_4096_3 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-10 20:26:40.000' , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL);'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_3 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4095,'1500000000000')
+
+ tdLog.info("========== 4096 stable ==========")
+ sql = '''insert into table_4096_3 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-13 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-13 20:26:44.090','1600000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_3 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+ tdSql.query("select * from stable_4096_3 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+
+ sql = '''insert into table_4096_3 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-10 20:26:40.000' , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL);'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_3 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+ tdSql.query("select * from stable_4096_3 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+
+ endTime = time.time()
+ print("total time %ds" % (endTime - startTime))
+
+
+ def stop(self):
+ tdSql.close()
+ tdLog.success("%s successfully executed" % __file__)
+
+
+tdCases.addWindows(__file__, TDTestCase())
+tdCases.addLinux(__file__, TDTestCase())
\ No newline at end of file
diff --git a/tests/pytest/import_merge/import_update_1.py b/tests/pytest/import_merge/import_update_1.py
new file mode 100644
index 0000000000000000000000000000000000000000..f3137033420f831eec25f75039beeefbf2803537
--- /dev/null
+++ b/tests/pytest/import_merge/import_update_1.py
@@ -0,0 +1,1913 @@
+###################################################################
+# Copyright (c) 2016 by TAOS Technologies, Inc.
+# All rights reserved.
+#
+# This file is proprietary and confidential to TAOS Technologies.
+# No part of this file may be reproduced, stored, transmitted,
+# disclosed or used in any form or by any means other than as
+# expressly provided by the written permission from Jianhui Tao
+#
+###################################################################
+
+# -*- coding: utf-8 -*-
+
+import sys
+import taos
+from util.log import tdLog
+from util.cases import tdCases
+from util.sql import tdSql
+from util.dnodes import *
+import random
+import time
+
+
+class TDTestCase:
+ def init(self, conn, logSql):
+ tdLog.debug("start to execute %s" % __file__)
+ tdSql.init(conn.cursor(), logSql)
+
+ self.ts = 1600000000000
+ self.num = 50
+ self.num4096 = 5
+
+ def getBuildPath(self):
+ selfPath = os.path.dirname(os.path.realpath(__file__))
+
+ if ("community" in selfPath):
+ projPath = selfPath[:selfPath.find("community")]
+ else:
+ projPath = selfPath[:selfPath.find("tests")]
+
+ for root, dirs, files in os.walk(projPath):
+ if ("taosd" in files):
+ rootRealPath = os.path.dirname(os.path.realpath(root))
+ if ("packaging" not in rootRealPath):
+ buildPath = root[:len(root)-len("/build/bin")]
+ break
+ return buildPath
+
+ def run(self):
+ tdSql.prepare()
+ # test case for https://jira.taosdata.com:18080/browse/TD-5062
+
+ startTime = time.time()
+
+ tdSql.execute('''drop database if exists test_updata_1 ;''')
+ # update 0 不更新 ; update 1 覆盖更新 ;update 2 合并更新
+ tdLog.info("========== test database updata = 1 ==========")
+ tdSql.execute('''create database test_updata_1 update 1 minrows 10 maxrows 200 ;''')
+ tdSql.execute('''use test_updata_1;''')
+ tdSql.execute('''create stable stable_1
+ (ts timestamp , q_int int , q_bigint bigint , q_smallint smallint , q_tinyint tinyint,
+ q_bool bool , q_binary binary(10) , q_nchar nchar(10) , q_float float , q_double double , q_ts timestamp)
+ tags(loc nchar(20) , t_int int);''')
+ tdSql.execute('''create table table_1 using stable_1 tags('table_1' , '1' )''')
+ tdSql.execute('''create table table_2 using stable_1 tags('table_2' , '2' )''')
+ tdSql.execute('''create table table_3 using stable_1 tags('table_3' , '3' )''')
+
+ #regular table
+ tdSql.execute('''create table regular_table_1
+ (ts timestamp , q_int int , q_bigint bigint , q_smallint smallint , q_tinyint tinyint,
+ q_bool bool , q_binary binary(10) , q_nchar nchar(10) , q_float float , q_double double , q_ts timestamp) ;''')
+ tdSql.execute('''create table regular_table_2
+ (ts timestamp , q_int int , q_bigint bigint , q_smallint smallint , q_tinyint tinyint,
+ q_bool bool , q_binary binary(10) , q_nchar nchar(10) , q_float float , q_double double , q_ts timestamp) ;''')
+ tdSql.execute('''create table regular_table_3
+ (ts timestamp , q_int int , q_bigint bigint , q_smallint smallint , q_tinyint tinyint,
+ q_bool bool , q_binary binary(10) , q_nchar nchar(10) , q_float float , q_double double , q_ts timestamp) ;''')
+
+
+ tdLog.info("========== test1.1 : insert data , check data==========")
+ tdLog.info("========== regular_table ==========")
+ tdSql.execute('''insert into regular_table_1 values( %d , 0, 0, 0, 0, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 200))
+ sql = '''select * from regular_table_1 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into regular_table_1 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 200))
+ sql = '''select * from regular_table_1 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into regular_table_1 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 500))
+ sql = '''select * from regular_table_1 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into regular_table_1 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 500))
+ sql = '''select * from regular_table_1 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdLog.info("========== stable ==========")
+ tdSql.execute('''insert into table_1 values( %d , 0, 0, 0, 0, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 200))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into table_1 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 200))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into table_1 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 500))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into table_1 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 500))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+
+ tdLog.info("========== 4096 regular_table ==========")
+ sql = "create table regular_table_4096_1 (ts timestamp, "
+ for i in range(500):
+ sql += "int_%d int, " % (i + 1)
+ for i in range(500,1000):
+ sql += "smallint_%d smallint, " % (i + 1)
+ for i in range(1000,1500):
+ sql += "tinyint_%d tinyint, " % (i + 1)
+ for i in range(1500,2000):
+ sql += "double_%d double, " % (i + 1)
+ for i in range(2000,2500):
+ sql += "float_%d float, " % (i + 1)
+ for i in range(2500,3000):
+ sql += "bool_%d bool, " % (i + 1)
+ for i in range(3000,3500):
+ sql += "bigint_%d bigint, " % (i + 1)
+ for i in range(3500,3800):
+ sql += "nchar_%d nchar(4), " % (i + 1)
+ for i in range(3800,4090):
+ sql += "binary_%d binary(10), " % (i + 1)
+ for i in range(4090,4094):
+ sql += "timestamp_%d timestamp, " % (i + 1)
+ sql += "col4095 binary(22))"
+ tdLog.info(len(sql))
+ tdSql.execute(sql)
+
+ for i in range(self.num4096):
+ sql = "insert into regular_table_4096_1 values(%d, "
+ for j in range(4090):
+ str = "'%s', " % 'NULL'
+ sql += str
+ for j in range(4090,4094):
+ str = "%s, " % (self.ts + j)
+ sql += str
+ sql += "'%s')" % (self.ts + i)
+ tdSql.execute(sql % (self.ts + i))
+ tdSql.query('''select * from regular_table_4096_1 where ts = %d ;''' %(self.ts))
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4095,'1600000000000')
+
+ sql = '''insert into regular_table_4096_1 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-10 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-10 20:26:44.090','1500000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_1 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4095,'1500000000000')
+
+ tdLog.info("========== 4096 stable ==========")
+ sql = "create stable stable_4096_1 (ts timestamp, "
+ for i in range(500):
+ sql += "int_%d int, " % (i + 1)
+ for i in range(500,1000):
+ sql += "smallint_%d smallint, " % (i + 1)
+ for i in range(1000,1500):
+ sql += "tinyint_%d tinyint, " % (i + 1)
+ for i in range(1500,2000):
+ sql += "double_%d double, " % (i + 1)
+ for i in range(2000,2500):
+ sql += "float_%d float, " % (i + 1)
+ for i in range(2500,3000):
+ sql += "bool_%d bool, " % (i + 1)
+ for i in range(3000,3500):
+ sql += "bigint_%d bigint, " % (i + 1)
+ for i in range(3500,3800):
+ sql += "nchar_%d nchar(4), " % (i + 1)
+ for i in range(3800,4090):
+ sql += "binary_%d binary(10), " % (i + 1)
+ for i in range(4090,4092):
+ sql += "timestamp_%d timestamp, " % (i + 1)
+ sql += " col4093 binary(22)) "
+ sql += " tags (loc nchar(20),tag_1 int) "
+ tdLog.info(len(sql))
+ tdSql.execute(sql)
+
+ sql = " create table table_4096_1 using stable_4096_1 tags ('table_4096_1',1); "
+ tdSql.execute(sql)
+
+ for i in range(self.num4096):
+ sql = "insert into table_4096_1 values(%d, "
+ for j in range(4090):
+ str = "'%s', " % 'NULL'
+ sql += str
+ for j in range(4090,4092):
+ str = "%s, " % (self.ts + j)
+ sql += str
+ sql += "'%s')" % (self.ts + i)
+ tdSql.execute(sql % (self.ts + i))
+ tdSql.query('''select * from table_4096_1 where ts = %d ;''' %(self.ts))
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+ tdSql.query('''select * from stable_4096_1 where ts = %d ;''' %(self.ts))
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+
+ sql = '''insert into table_4096_1 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-10 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-10 20:26:44.090','1500000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_1 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+ tdSql.query("select * from stable_4096_1 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+
+ # minrows 10 maxrows 200
+ for i in range(self.num):
+ tdSql.execute('''insert into regular_table_1 values(%d, %d, %d, %d, %d, 0, 'binary.%s', 'nchar.%s', %f, %f, %d)'''
+ % (self.ts -100 + i, i, i, i, i, i, i, i, i, self.ts -100 + i))
+ tdSql.execute('''insert into regular_table_1 values(%d, %d, %d, %d, %d, false, 'binary%s', 'nchar%s', %f, %f, %d)'''
+ % (self.ts + i, random.randint(-2147483647, 2147483647),
+ random.randint(-9223372036854775807, 9223372036854775807), random.randint(-32767, 32767),
+ random.randint(-127, 127), random.randint(-100, 100), random.randint(-10000, 10000),
+ random.uniform(-100000,100000), random.uniform(-1000000000,1000000000), self.ts + i))
+
+ tdSql.execute('''insert into table_1 values(%d, %d, %d, %d, %d, 0, 'binary.%s', 'nchar.%s', %f, %f, %d)'''
+ % (self.ts -100 + i, i, i, i, i, i, i, i, i, self.ts -100 + i))
+ tdSql.execute('''insert into table_1 values(%d, %d, %d, %d, %d, false, 'binary%s', 'nchar%s', %f, %f, %d)'''
+ % (self.ts + i, random.randint(-2147483647, 2147483647),
+ random.randint(-9223372036854775807, 9223372036854775807), random.randint(-32767, 32767),
+ random.randint(-127, 127), random.randint(-100, 100), random.randint(-10000, 10000),
+ random.uniform(-100000,100000), random.uniform(-1000000000,1000000000), self.ts + i))
+
+ tdLog.info("========== regular_table ==========")
+ tdSql.execute('''insert into regular_table_1 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 200))
+ sql = '''select * from regular_table_1 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into regular_table_1 values( %d , 0, 0, 0, 0, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 200))
+ sql = '''select * from regular_table_1 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+0')
+ tdSql.checkData(0,7,'nchar+0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.error('''insert into regular_table_1 values( %d , -2147483648, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_1 values( %d , -2147483647, -9223372036854775808, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_1 values( %d , -2147483647, -9223372036854775807, -32768, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_1 values( %d , -2147483647, -9223372036854775807, -32767, -128, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_1 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0123', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_1 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+
+ tdSql.execute('''insert into regular_table_1 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-012', 'nchar-0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ sql = '''select * from regular_table_1 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,-2147483647)
+ tdSql.checkData(0,2,-9223372036854775807)
+ tdSql.checkData(0,3,-32767)
+ tdSql.checkData(0,4,-127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-012')
+ tdSql.checkData(0,7,'nchar-0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.error('''insert into regular_table_1 values( %d , 2147483648, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_1 values( %d , 2147483647, 9223372036854775808, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_1 values( %d , 2147483647, 9223372036854775807, 32768, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_1 values( %d , 2147483647, 9223372036854775807, 32767, 128, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_1 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0123', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_1 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+
+ tdSql.execute('''insert into regular_table_1 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+012', 'nchar+0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ sql = '''select * from regular_table_1 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,2147483647)
+ tdSql.checkData(0,2,9223372036854775807)
+ tdSql.checkData(0,3,32767)
+ tdSql.checkData(0,4,127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+012')
+ tdSql.checkData(0,7,'nchar+0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdLog.info("========== stable ==========")
+ tdSql.execute('''insert into table_1 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 200))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into table_1 values( %d , 0, 0, 0, 0, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 200))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+0')
+ tdSql.checkData(0,7,'nchar+0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+0')
+ tdSql.checkData(0,7,'nchar+0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.error('''insert into table_1 values( %d , -2147483648, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_1 values( %d , -2147483647, -9223372036854775808, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_1 values( %d , -2147483647, -9223372036854775807, -32768, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_1 values( %d , -2147483647, -9223372036854775807, -32767, -128, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_1 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0123', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_1 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+
+ tdSql.execute('''insert into table_1 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-012', 'nchar-0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,-2147483647)
+ tdSql.checkData(0,2,-9223372036854775807)
+ tdSql.checkData(0,3,-32767)
+ tdSql.checkData(0,4,-127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-012')
+ tdSql.checkData(0,7,'nchar-0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,-2147483647)
+ tdSql.checkData(0,2,-9223372036854775807)
+ tdSql.checkData(0,3,-32767)
+ tdSql.checkData(0,4,-127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-012')
+ tdSql.checkData(0,7,'nchar-0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.error('''insert into table_1 values( %d , 2147483648, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_1 values( %d , 2147483647, 9223372036854775808, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_1 values( %d , 2147483647, 9223372036854775807, 32768, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_1 values( %d , 2147483647, 9223372036854775807, 32767, 128, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_1 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0123', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_1 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+
+ tdSql.execute('''insert into table_1 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+012', 'nchar+0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,2147483647)
+ tdSql.checkData(0,2,9223372036854775807)
+ tdSql.checkData(0,3,32767)
+ tdSql.checkData(0,4,127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+012')
+ tdSql.checkData(0,7,'nchar+0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,2147483647)
+ tdSql.checkData(0,2,9223372036854775807)
+ tdSql.checkData(0,3,32767)
+ tdSql.checkData(0,4,127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+012')
+ tdSql.checkData(0,7,'nchar+0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdLog.info("========== 4096 regular_table ==========")
+ sql = '''insert into regular_table_4096_1 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-13 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-13 20:26:44.090','1600000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_1 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4095,'1600000000000')
+
+ sql = '''insert into regular_table_4096_1 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-10 20:26:40.000' , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL);'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_1 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,None)
+ tdSql.checkData(0,3801,None)
+ tdSql.checkData(0,4091,None)
+ tdSql.checkData(0,4095,None)
+
+ tdLog.info("========== 4096 stable ==========")
+ sql = '''insert into table_4096_1 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-13 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-13 20:26:44.090','1600000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_1 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+ tdSql.query("select * from stable_4096_1 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+
+ sql = '''insert into table_4096_1 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-10 20:26:40.000' , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL);'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_1 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,None)
+ tdSql.checkData(0,3801,None)
+ tdSql.checkData(0,4091,None)
+ tdSql.checkData(0,4093,None)
+ tdSql.query("select * from stable_4096_1 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,None)
+ tdSql.checkData(0,3801,None)
+ tdSql.checkData(0,4091,None)
+ tdSql.checkData(0,4093,None)
+
+
+ tdLog.info("========== test1.2 : insert data , taosdemo force data dropping disk , check data==========")
+ tdLog.info("========== regular_table ==========")
+ tdSql.execute('''insert into regular_table_2 values( %d , 0, 0, 0, 0, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 200))
+ sql = '''select * from regular_table_2 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into regular_table_2 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 200))
+ sql = '''select * from regular_table_2 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into regular_table_2 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 500))
+ sql = '''select * from regular_table_2 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into regular_table_2 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 500))
+ sql = '''select * from regular_table_2 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+
+ tdLog.info("========== stable ==========")
+ tdSql.execute('''insert into table_2 values( %d , 0, 0, 0, 0, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 200))
+ sql = '''select * from table_2 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where loc = 'table_2' and ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into table_2 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 200))
+ sql = '''select * from table_2 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where loc = 'table_2' and ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into table_2 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 500))
+ sql = '''select * from table_2 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where loc = 'table_2' and ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into table_2 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 500))
+ sql = '''select * from table_2 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where loc = 'table_2' and ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+
+ tdLog.info("========== 4096 regular_table ==========")
+ sql = "create table regular_table_4096_2 (ts timestamp, "
+ for i in range(500):
+ sql += "int_%d int, " % (i + 1)
+ for i in range(500,1000):
+ sql += "smallint_%d smallint, " % (i + 1)
+ for i in range(1000,1500):
+ sql += "tinyint_%d tinyint, " % (i + 1)
+ for i in range(1500,2000):
+ sql += "double_%d double, " % (i + 1)
+ for i in range(2000,2500):
+ sql += "float_%d float, " % (i + 1)
+ for i in range(2500,3000):
+ sql += "bool_%d bool, " % (i + 1)
+ for i in range(3000,3500):
+ sql += "bigint_%d bigint, " % (i + 1)
+ for i in range(3500,3800):
+ sql += "nchar_%d nchar(4), " % (i + 1)
+ for i in range(3800,4090):
+ sql += "binary_%d binary(10), " % (i + 1)
+ for i in range(4090,4094):
+ sql += "timestamp_%d timestamp, " % (i + 1)
+ sql += "col4095 binary(22))"
+ tdLog.info(len(sql))
+ tdSql.execute(sql)
+
+ for i in range(self.num4096):
+ sql = "insert into regular_table_4096_2 values(%d, "
+ for j in range(4090):
+ str = "'%s', " % 'NULL'
+ sql += str
+ for j in range(4090,4094):
+ str = "%s, " % (self.ts + j)
+ sql += str
+ sql += "'%s')" % (self.ts + i)
+ tdSql.execute(sql % (self.ts + i))
+ tdSql.query('''select * from regular_table_4096_2 where ts = %d ;''' %(self.ts))
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4095,'1600000000000')
+
+ sql = '''insert into regular_table_4096_2 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-10 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-10 20:26:44.090','1500000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_2 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4095,'1500000000000')
+
+ tdLog.info("========== 4096 stable ==========")
+ sql = "create stable stable_4096_2 (ts timestamp, "
+ for i in range(500):
+ sql += "int_%d int, " % (i + 1)
+ for i in range(500,1000):
+ sql += "smallint_%d smallint, " % (i + 1)
+ for i in range(1000,1500):
+ sql += "tinyint_%d tinyint, " % (i + 1)
+ for i in range(1500,2000):
+ sql += "double_%d double, " % (i + 1)
+ for i in range(2000,2500):
+ sql += "float_%d float, " % (i + 1)
+ for i in range(2500,3000):
+ sql += "bool_%d bool, " % (i + 1)
+ for i in range(3000,3500):
+ sql += "bigint_%d bigint, " % (i + 1)
+ for i in range(3500,3800):
+ sql += "nchar_%d nchar(4), " % (i + 1)
+ for i in range(3800,4090):
+ sql += "binary_%d binary(10), " % (i + 1)
+ for i in range(4090,4092):
+ sql += "timestamp_%d timestamp, " % (i + 1)
+ sql += " col4093 binary(22)) "
+ sql += " tags (loc nchar(20),tag_1 int) "
+ tdLog.info(len(sql))
+ tdSql.execute(sql)
+
+ sql = " create table table_4096_2 using stable_4096_2 tags ('table_4096_2',1); "
+ tdSql.execute(sql)
+
+ for i in range(self.num4096):
+ sql = "insert into table_4096_2 values(%d, "
+ for j in range(4090):
+ str = "'%s', " % 'NULL'
+ sql += str
+ for j in range(4090,4092):
+ str = "%s, " % (self.ts + j)
+ sql += str
+ sql += "'%s')" % (self.ts + i)
+ tdSql.execute(sql % (self.ts + i))
+ tdSql.query('''select * from table_4096_2 where ts = %d ;''' %(self.ts))
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+ tdSql.query('''select * from stable_4096_2 where ts = %d ;''' %(self.ts))
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+
+ sql = '''insert into table_4096_2 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-10 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-10 20:26:44.090','1500000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_2 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+ tdSql.query("select * from stable_4096_2 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+
+
+ # taosdemo force data dropping disk
+ buildPath = self.getBuildPath()
+ if (buildPath == ""):
+ tdLog.exit("taosd not found!")
+ else:
+ tdLog.info("taosd found in %s" % buildPath)
+ binPath = buildPath+ "/build/bin/"
+ os.system("%staosdemo -N -d taosdemo -t 100 -n 100 -l 1000 -y" % binPath)
+
+ tdSql.execute('''insert into table_2 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 200))
+ sql = '''select * from table_2 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where loc = 'table_2' and ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into table_2 values( %d , 0, 0, 0, 0, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 200))
+ sql = '''select * from table_2 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+0')
+ tdSql.checkData(0,7,'nchar+0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where loc = 'table_2' and ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+0')
+ tdSql.checkData(0,7,'nchar+0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.error('''insert into table_2 values( %d , -2147483648, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_2 values( %d , -2147483647, -9223372036854775808, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_2 values( %d , -2147483647, -9223372036854775807, -32768, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_2 values( %d , -2147483647, -9223372036854775807, -32767, -128, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_2 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0123', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_2 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+
+ tdSql.execute('''insert into table_2 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-012', 'nchar-0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ sql = '''select * from table_2 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,-2147483647)
+ tdSql.checkData(0,2,-9223372036854775807)
+ tdSql.checkData(0,3,-32767)
+ tdSql.checkData(0,4,-127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-012')
+ tdSql.checkData(0,7,'nchar-0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:44.090')
+ sql = '''select * from stable_1 where loc = 'table_2' and ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,-2147483647)
+ tdSql.checkData(0,2,-9223372036854775807)
+ tdSql.checkData(0,3,-32767)
+ tdSql.checkData(0,4,-127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-012')
+ tdSql.checkData(0,7,'nchar-0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:44.090')
+
+ tdSql.error('''insert into table_2 values( %d , 2147483648, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_2 values( %d , 2147483647, 9223372036854775808, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_2 values( %d , 2147483647, 9223372036854775807, 32768, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_2 values( %d , 2147483647, 9223372036854775807, 32767, 128, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_2 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0123', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_2 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+
+ tdSql.execute('''insert into table_2 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+012', 'nchar+0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ sql = '''select * from table_2 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,2147483647)
+ tdSql.checkData(0,2,9223372036854775807)
+ tdSql.checkData(0,3,32767)
+ tdSql.checkData(0,4,127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+012')
+ tdSql.checkData(0,7,'nchar+0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:44.090')
+ sql = '''select * from stable_1 where loc = 'table_2' and ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,2147483647)
+ tdSql.checkData(0,2,9223372036854775807)
+ tdSql.checkData(0,3,32767)
+ tdSql.checkData(0,4,127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+012')
+ tdSql.checkData(0,7,'nchar+0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:44.090')
+
+ tdLog.info("========== 4096 regular_table ==========")
+ sql = '''insert into regular_table_4096_2 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-13 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-13 20:26:44.090','1600000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_2 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4095,'1600000000000')
+
+ sql = '''insert into regular_table_4096_2 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-10 20:26:40.000' , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL);'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_2 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,None)
+ tdSql.checkData(0,3801,None)
+ tdSql.checkData(0,4091,None)
+ tdSql.checkData(0,4095,None)
+
+ tdLog.info("========== 4096 stable ==========")
+ sql = '''insert into table_4096_2 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-13 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-13 20:26:44.090','1600000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_2 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+ tdSql.query("select * from stable_4096_2 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+
+ sql = '''insert into table_4096_2 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-10 20:26:40.000' , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL);'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_2 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,None)
+ tdSql.checkData(0,3801,None)
+ tdSql.checkData(0,4091,None)
+ tdSql.checkData(0,4093,None)
+ tdSql.query("select * from stable_4096_2 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,None)
+ tdSql.checkData(0,3801,None)
+ tdSql.checkData(0,4091,None)
+ tdSql.checkData(0,4093,None)
+
+ tdLog.info("========== test1.3 : insert data , tdDnodes restart force data dropping disk , check data==========")
+ tdLog.info("========== regular_table ==========")
+ tdSql.execute('''insert into regular_table_3 values( %d , 0, 0, 0, 0, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 200))
+ sql = '''select * from regular_table_3 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into regular_table_3 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 200))
+ sql = '''select * from regular_table_3 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into regular_table_3 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 500))
+ sql = '''select * from regular_table_3 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into regular_table_3 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 500))
+ sql = '''select * from regular_table_3 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdLog.info("========== stable ==========")
+ tdSql.execute('''insert into table_3 values( %d , 0, 0, 0, 0, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 200))
+ sql = '''select * from table_3 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where loc = 'table_3' and ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into table_3 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 200))
+ sql = '''select * from table_3 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where loc = 'table_3' and ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into table_3 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 500))
+ sql = '''select * from table_3 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where loc = 'table_3' and ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into table_3 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 500))
+ sql = '''select * from table_3 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where loc = 'table_3' and ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+
+ tdLog.info("========== 4096 regular_table ==========")
+ sql = "create table regular_table_4096_3 (ts timestamp, "
+ for i in range(500):
+ sql += "int_%d int, " % (i + 1)
+ for i in range(500,1000):
+ sql += "smallint_%d smallint, " % (i + 1)
+ for i in range(1000,1500):
+ sql += "tinyint_%d tinyint, " % (i + 1)
+ for i in range(1500,2000):
+ sql += "double_%d double, " % (i + 1)
+ for i in range(2000,2500):
+ sql += "float_%d float, " % (i + 1)
+ for i in range(2500,3000):
+ sql += "bool_%d bool, " % (i + 1)
+ for i in range(3000,3500):
+ sql += "bigint_%d bigint, " % (i + 1)
+ for i in range(3500,3800):
+ sql += "nchar_%d nchar(4), " % (i + 1)
+ for i in range(3800,4090):
+ sql += "binary_%d binary(10), " % (i + 1)
+ for i in range(4090,4094):
+ sql += "timestamp_%d timestamp, " % (i + 1)
+ sql += "col4095 binary(22))"
+ tdLog.info(len(sql))
+ tdSql.execute(sql)
+
+ for i in range(self.num4096):
+ sql = "insert into regular_table_4096_3 values(%d, "
+ for j in range(4090):
+ str = "'%s', " % 'NULL'
+ sql += str
+ for j in range(4090,4094):
+ str = "%s, " % (self.ts + j)
+ sql += str
+ sql += "'%s')" % (self.ts + i)
+ tdSql.execute(sql % (self.ts + i))
+ tdSql.query('''select * from regular_table_4096_3 where ts = %d ;''' %(self.ts))
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4095,'1600000000000')
+
+ sql = '''insert into regular_table_4096_3 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-10 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-10 20:26:44.090','1500000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_3 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4095,'1500000000000')
+
+ tdLog.info("========== 4096 stable ==========")
+ sql = "create stable stable_4096_3 (ts timestamp, "
+ for i in range(500):
+ sql += "int_%d int, " % (i + 1)
+ for i in range(500,1000):
+ sql += "smallint_%d smallint, " % (i + 1)
+ for i in range(1000,1500):
+ sql += "tinyint_%d tinyint, " % (i + 1)
+ for i in range(1500,2000):
+ sql += "double_%d double, " % (i + 1)
+ for i in range(2000,2500):
+ sql += "float_%d float, " % (i + 1)
+ for i in range(2500,3000):
+ sql += "bool_%d bool, " % (i + 1)
+ for i in range(3000,3500):
+ sql += "bigint_%d bigint, " % (i + 1)
+ for i in range(3500,3800):
+ sql += "nchar_%d nchar(4), " % (i + 1)
+ for i in range(3800,4090):
+ sql += "binary_%d binary(10), " % (i + 1)
+ for i in range(4090,4092):
+ sql += "timestamp_%d timestamp, " % (i + 1)
+ sql += " col4093 binary(22)) "
+ sql += " tags (loc nchar(20),tag_1 int) "
+ tdLog.info(len(sql))
+ tdSql.execute(sql)
+
+ sql = " create table table_4096_3 using stable_4096_3 tags ('table_4096_3',1); "
+ tdSql.execute(sql)
+
+ for i in range(self.num4096):
+ sql = "insert into table_4096_3 values(%d, "
+ for j in range(4090):
+ str = "'%s', " % 'NULL'
+ sql += str
+ for j in range(4090,4092):
+ str = "%s, " % (self.ts + j)
+ sql += str
+ sql += "'%s')" % (self.ts + i)
+ tdSql.execute(sql % (self.ts + i))
+ tdSql.query('''select * from table_4096_3 where ts = %d ;''' %(self.ts))
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+ tdSql.query('''select * from stable_4096_3 where ts = %d ;''' %(self.ts))
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+
+ sql = '''insert into table_4096_3 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-10 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-10 20:26:44.090','1500000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_3 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+ tdSql.query("select * from stable_4096_3 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+
+ # tdDnodes restart force data dropping disk
+ tdDnodes.stop(1)
+ tdDnodes.start(1)
+
+ tdLog.info("========== regular_table ==========")
+ tdSql.execute('''insert into regular_table_3 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 200))
+ sql = '''select * from regular_table_3 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into regular_table_3 values( %d , 0, 0, 0, 0, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 200))
+ sql = '''select * from regular_table_3 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+0')
+ tdSql.checkData(0,7,'nchar+0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.error('''insert into regular_table_3 values( %d , -2147483648, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_3 values( %d , -2147483647, -9223372036854775808, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_3 values( %d , -2147483647, -9223372036854775807, -32768, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_3 values( %d , -2147483647, -9223372036854775807, -32767, -128, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_3 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0123', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_3 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+
+ tdSql.execute('''insert into regular_table_3 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-012', 'nchar-0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ sql = '''select * from regular_table_3 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,-2147483647)
+ tdSql.checkData(0,2,-9223372036854775807)
+ tdSql.checkData(0,3,-32767)
+ tdSql.checkData(0,4,-127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-012')
+ tdSql.checkData(0,7,'nchar-0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:44.090')
+
+ tdSql.error('''insert into regular_table_3 values( %d , 2147483648, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_3 values( %d , 2147483647, 9223372036854775808, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_3 values( %d , 2147483647, 9223372036854775807, 32768, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_3 values( %d , 2147483647, 9223372036854775807, 32767, 128, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_3 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0123', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_3 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+
+ tdSql.execute('''insert into regular_table_3 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+012', 'nchar+0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ sql = '''select * from regular_table_3 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,2147483647)
+ tdSql.checkData(0,2,9223372036854775807)
+ tdSql.checkData(0,3,32767)
+ tdSql.checkData(0,4,127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+012')
+ tdSql.checkData(0,7,'nchar+0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:44.090')
+
+ tdLog.info("========== stable ==========")
+ tdSql.execute('''insert into table_3 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 200))
+ sql = '''select * from table_3 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where loc = 'table_3' and ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into table_3 values( %d , 0, 0, 0, 0, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 200))
+ sql = '''select * from table_3 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+0')
+ tdSql.checkData(0,7,'nchar+0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where loc = 'table_3' and ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+0')
+ tdSql.checkData(0,7,'nchar+0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.error('''insert into table_3 values( %d , -2147483648, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_3 values( %d , -2147483647, -9223372036854775808, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_3 values( %d , -2147483647, -9223372036854775807, -32768, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_3 values( %d , -2147483647, -9223372036854775807, -32767, -128, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_3 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0123', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_3 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+
+ tdSql.execute('''insert into table_3 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-012', 'nchar-0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ sql = '''select * from table_3 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,-2147483647)
+ tdSql.checkData(0,2,-9223372036854775807)
+ tdSql.checkData(0,3,-32767)
+ tdSql.checkData(0,4,-127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-012')
+ tdSql.checkData(0,7,'nchar-0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:44.090')
+ sql = '''select * from stable_1 where loc = 'table_3' and ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,-2147483647)
+ tdSql.checkData(0,2,-9223372036854775807)
+ tdSql.checkData(0,3,-32767)
+ tdSql.checkData(0,4,-127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-012')
+ tdSql.checkData(0,7,'nchar-0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:44.090')
+
+ tdSql.error('''insert into table_3 values( %d , 2147483648, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_3 values( %d , 2147483647, 9223372036854775808, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_3 values( %d , 2147483647, 9223372036854775807, 32768, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_3 values( %d , 2147483647, 9223372036854775807, 32767, 128, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_3 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0123', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_3 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+
+ tdSql.execute('''insert into table_3 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+012', 'nchar+0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ sql = '''select * from table_3 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,2147483647)
+ tdSql.checkData(0,2,9223372036854775807)
+ tdSql.checkData(0,3,32767)
+ tdSql.checkData(0,4,127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+012')
+ tdSql.checkData(0,7,'nchar+0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:44.090')
+ sql = '''select * from stable_1 where loc = 'table_3' and ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,2147483647)
+ tdSql.checkData(0,2,9223372036854775807)
+ tdSql.checkData(0,3,32767)
+ tdSql.checkData(0,4,127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+012')
+ tdSql.checkData(0,7,'nchar+0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:44.090')
+
+
+ tdLog.info("========== 4096 regular_table ==========")
+ sql = '''insert into regular_table_4096_3 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-13 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-13 20:26:44.090','1600000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_3 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4095,'1600000000000')
+
+ sql = '''insert into regular_table_4096_3 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-10 20:26:40.000' , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL);'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_3 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,None)
+ tdSql.checkData(0,3801,None)
+ tdSql.checkData(0,4091,None)
+ tdSql.checkData(0,4095,None)
+
+ tdLog.info("========== 4096 stable ==========")
+ sql = '''insert into table_4096_3 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-13 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-13 20:26:44.090','1600000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_3 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+ tdSql.query("select * from stable_4096_3 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+
+ sql = '''insert into table_4096_3 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-10 20:26:40.000' , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL);'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_3 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,None)
+ tdSql.checkData(0,3801,None)
+ tdSql.checkData(0,4091,None)
+ tdSql.checkData(0,4093,None)
+ tdSql.query("select * from stable_4096_3 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,None)
+ tdSql.checkData(0,3801,None)
+ tdSql.checkData(0,4091,None)
+ tdSql.checkData(0,4093,None)
+
+ endTime = time.time()
+ print("total time %ds" % (endTime - startTime))
+
+
+ def stop(self):
+ tdSql.close()
+ tdLog.success("%s successfully executed" % __file__)
+
+
+tdCases.addWindows(__file__, TDTestCase())
+tdCases.addLinux(__file__, TDTestCase())
\ No newline at end of file
diff --git a/tests/pytest/import_merge/import_update_2.py b/tests/pytest/import_merge/import_update_2.py
new file mode 100644
index 0000000000000000000000000000000000000000..ff2f8a5e5cf6acd93b53f131c4551a285feffb2d
--- /dev/null
+++ b/tests/pytest/import_merge/import_update_2.py
@@ -0,0 +1,2273 @@
+###################################################################
+# Copyright (c) 2016 by TAOS Technologies, Inc.
+# All rights reserved.
+#
+# This file is proprietary and confidential to TAOS Technologies.
+# No part of this file may be reproduced, stored, transmitted,
+# disclosed or used in any form or by any means other than as
+# expressly provided by the written permission from Jianhui Tao
+#
+###################################################################
+
+# -*- coding: utf-8 -*-
+
+import sys
+import taos
+from util.log import tdLog
+from util.cases import tdCases
+from util.sql import tdSql
+from util.dnodes import *
+import random
+import time
+
+
+class TDTestCase:
+ def init(self, conn, logSql):
+ tdLog.debug("start to execute %s" % __file__)
+ tdSql.init(conn.cursor(), logSql)
+
+ self.ts = 1600000000000
+ self.num = 50
+ self.num4096 = 5
+
+ def getBuildPath(self):
+ selfPath = os.path.dirname(os.path.realpath(__file__))
+
+ if ("community" in selfPath):
+ projPath = selfPath[:selfPath.find("community")]
+ else:
+ projPath = selfPath[:selfPath.find("tests")]
+
+ for root, dirs, files in os.walk(projPath):
+ if ("taosd" in files):
+ rootRealPath = os.path.dirname(os.path.realpath(root))
+ if ("packaging" not in rootRealPath):
+ buildPath = root[:len(root)-len("/build/bin")]
+ break
+ return buildPath
+
+ def run(self):
+ tdSql.prepare()
+ # test case for https://jira.taosdata.com:18080/browse/TD-5062
+
+ startTime = time.time()
+
+ tdSql.execute('''drop database if exists test_updata_2 ;''')
+ # update 0 不更新 ; update 1 覆盖更新 ;update 2 合并更新
+ tdLog.info("========== test database updata = 2 ==========")
+ tdSql.execute('''create database test_updata_2 update 2 minrows 10 maxrows 200 ;''')
+ tdSql.execute('''use test_updata_2;''')
+ tdSql.execute('''create stable stable_1
+ (ts timestamp , q_int int , q_bigint bigint , q_smallint smallint , q_tinyint tinyint,
+ q_bool bool , q_binary binary(10) , q_nchar nchar(10) , q_float float , q_double double , q_ts timestamp)
+ tags(loc nchar(20) , t_int int);''')
+ tdSql.execute('''create table table_1 using stable_1 tags('table_1' , '1' )''')
+ tdSql.execute('''create table table_2 using stable_1 tags('table_2' , '2' )''')
+ tdSql.execute('''create table table_3 using stable_1 tags('table_3' , '3' )''')
+
+ #regular table
+ tdSql.execute('''create table regular_table_1
+ (ts timestamp , q_int int , q_bigint bigint , q_smallint smallint , q_tinyint tinyint,
+ q_bool bool , q_binary binary(10) , q_nchar nchar(10) , q_float float , q_double double , q_ts timestamp) ;''')
+ tdSql.execute('''create table regular_table_2
+ (ts timestamp , q_int int , q_bigint bigint , q_smallint smallint , q_tinyint tinyint,
+ q_bool bool , q_binary binary(10) , q_nchar nchar(10) , q_float float , q_double double , q_ts timestamp) ;''')
+ tdSql.execute('''create table regular_table_3
+ (ts timestamp , q_int int , q_bigint bigint , q_smallint smallint , q_tinyint tinyint,
+ q_bool bool , q_binary binary(10) , q_nchar nchar(10) , q_float float , q_double double , q_ts timestamp) ;''')
+
+
+ tdLog.info("========== test1.1 : insert data , check data==========")
+ tdLog.info("========== regular_table ==========")
+ tdSql.execute('''insert into regular_table_1 values( %d , 0, 0, 0, 0, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 200))
+ sql = '''select * from regular_table_1 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into regular_table_1 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 200))
+ sql = '''select * from regular_table_1 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into regular_table_1 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 500))
+ sql = '''select * from regular_table_1 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into regular_table_1 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 500))
+ sql = '''select * from regular_table_1 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdLog.info("========== stable ==========")
+ tdSql.execute('''insert into table_1 values( %d , 0, 0, 0, 0, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 200))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into table_1 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 200))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into table_1 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 500))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into table_1 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 500))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+
+ tdLog.info("========== 4096 regular_table ==========")
+ sql = "create table regular_table_4096_1 (ts timestamp, "
+ for i in range(500):
+ sql += "int_%d int, " % (i + 1)
+ for i in range(500,1000):
+ sql += "smallint_%d smallint, " % (i + 1)
+ for i in range(1000,1500):
+ sql += "tinyint_%d tinyint, " % (i + 1)
+ for i in range(1500,2000):
+ sql += "double_%d double, " % (i + 1)
+ for i in range(2000,2500):
+ sql += "float_%d float, " % (i + 1)
+ for i in range(2500,3000):
+ sql += "bool_%d bool, " % (i + 1)
+ for i in range(3000,3500):
+ sql += "bigint_%d bigint, " % (i + 1)
+ for i in range(3500,3800):
+ sql += "nchar_%d nchar(4), " % (i + 1)
+ for i in range(3800,4090):
+ sql += "binary_%d binary(10), " % (i + 1)
+ for i in range(4090,4094):
+ sql += "timestamp_%d timestamp, " % (i + 1)
+ sql += "col4095 binary(22))"
+ tdLog.info(len(sql))
+ tdSql.execute(sql)
+
+ for i in range(self.num4096):
+ sql = "insert into regular_table_4096_1 values(%d, "
+ for j in range(4090):
+ str = "'%s', " % 'NULL'
+ sql += str
+ for j in range(4090,4094):
+ str = "%s, " % (self.ts + j)
+ sql += str
+ sql += "'%s')" % (self.ts + i)
+ tdSql.execute(sql % (self.ts + i))
+ tdSql.query('''select * from regular_table_4096_1 where ts = %d ;''' %(self.ts))
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4095,'1600000000000')
+
+ sql = '''insert into regular_table_4096_1 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-10 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-10 20:26:44.090','1500000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_1 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4095,'1500000000000')
+
+ tdLog.info("========== 4096 stable ==========")
+ sql = "create stable stable_4096_1 (ts timestamp, "
+ for i in range(500):
+ sql += "int_%d int, " % (i + 1)
+ for i in range(500,1000):
+ sql += "smallint_%d smallint, " % (i + 1)
+ for i in range(1000,1500):
+ sql += "tinyint_%d tinyint, " % (i + 1)
+ for i in range(1500,2000):
+ sql += "double_%d double, " % (i + 1)
+ for i in range(2000,2500):
+ sql += "float_%d float, " % (i + 1)
+ for i in range(2500,3000):
+ sql += "bool_%d bool, " % (i + 1)
+ for i in range(3000,3500):
+ sql += "bigint_%d bigint, " % (i + 1)
+ for i in range(3500,3800):
+ sql += "nchar_%d nchar(4), " % (i + 1)
+ for i in range(3800,4090):
+ sql += "binary_%d binary(10), " % (i + 1)
+ for i in range(4090,4092):
+ sql += "timestamp_%d timestamp, " % (i + 1)
+ sql += " col4093 binary(22)) "
+ sql += " tags (loc nchar(20),tag_1 int) "
+ tdLog.info(len(sql))
+ tdSql.execute(sql)
+
+ sql = " create table table_4096_1 using stable_4096_1 tags ('table_4096_1',1); "
+ tdSql.execute(sql)
+
+ for i in range(self.num4096):
+ sql = "insert into table_4096_1 values(%d, "
+ for j in range(4090):
+ str = "'%s', " % 'NULL'
+ sql += str
+ for j in range(4090,4092):
+ str = "%s, " % (self.ts + j)
+ sql += str
+ sql += "'%s')" % (self.ts + i)
+ tdSql.execute(sql % (self.ts + i))
+ tdSql.query('''select * from table_4096_1 where ts = %d ;''' %(self.ts))
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+ tdSql.query('''select * from stable_4096_1 where ts = %d ;''' %(self.ts))
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+
+ sql = '''insert into table_4096_1 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-10 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-10 20:26:44.090','1500000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_1 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+ tdSql.query("select * from stable_4096_1 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+
+ # minrows 10 maxrows 200
+ for i in range(self.num):
+ tdSql.execute('''insert into regular_table_1 values(%d, %d, %d, %d, %d, 0, 'binary.%s', 'nchar.%s', %f, %f, %d)'''
+ % (self.ts -100 + i, i, i, i, i, i, i, i, i, self.ts -100 + i))
+ tdSql.execute('''insert into regular_table_1 values(%d, %d, %d, %d, %d, false, 'binary%s', 'nchar%s', %f, %f, %d)'''
+ % (self.ts + i, random.randint(-2147483647, 2147483647),
+ random.randint(-9223372036854775807, 9223372036854775807), random.randint(-32767, 32767),
+ random.randint(-127, 127), random.randint(-100, 100), random.randint(-10000, 10000),
+ random.uniform(-100000,100000), random.uniform(-1000000000,1000000000), self.ts + i))
+
+ tdSql.execute('''insert into table_1 values(%d, %d, %d, %d, %d, 0, 'binary.%s', 'nchar.%s', %f, %f, %d)'''
+ % (self.ts -100 + i, i, i, i, i, i, i, i, i, self.ts -100 + i))
+ tdSql.execute('''insert into table_1 values(%d, %d, %d, %d, %d, false, 'binary%s', 'nchar%s', %f, %f, %d)'''
+ % (self.ts + i, random.randint(-2147483647, 2147483647),
+ random.randint(-9223372036854775807, 9223372036854775807), random.randint(-32767, 32767),
+ random.randint(-127, 127), random.randint(-100, 100), random.randint(-10000, 10000),
+ random.uniform(-100000,100000), random.uniform(-1000000000,1000000000), self.ts + i))
+
+ tdLog.info("========== regular_table ==========")
+ tdSql.execute('''insert into regular_table_1 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 200))
+ sql = '''select * from regular_table_1 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into regular_table_1 values( %d , 0, 0, 0, 0, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 200))
+ sql = '''select * from regular_table_1 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+0')
+ tdSql.checkData(0,7,'nchar+0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ tdSql.execute('''insert into regular_table_1 values( %d , 1, 1, 1, 1, 1, 'binary+1', 'nchar+1', 1.000000, 1.000000, 1600000001000);''' %(self.ts + 200))
+ sql = '''select * from regular_table_1 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,2,1)
+ tdSql.checkData(0,3,1)
+ tdSql.checkData(0,4,1)
+ tdSql.checkData(0,5,'True')
+ tdSql.checkData(0,6,'binary+1')
+ tdSql.checkData(0,7,'nchar+1')
+ tdSql.checkData(0,8,1)
+ tdSql.checkData(0,9,1)
+ tdSql.checkData(0,10,'2020-09-13 20:26:41.000')
+
+ tdSql.error('''insert into regular_table_1 values( %d , -2147483648, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_1 values( %d , -2147483647, -9223372036854775808, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_1 values( %d , -2147483647, -9223372036854775807, -32768, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_1 values( %d , -2147483647, -9223372036854775807, -32767, -128, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_1 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0123', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_1 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+
+ tdSql.execute('''insert into regular_table_1 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-012', 'nchar-0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ sql = '''select * from regular_table_1 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,-2147483647)
+ tdSql.checkData(0,2,-9223372036854775807)
+ tdSql.checkData(0,3,-32767)
+ tdSql.checkData(0,4,-127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-012')
+ tdSql.checkData(0,7,'nchar-0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.error('''insert into regular_table_1 values( %d , 2147483648, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_1 values( %d , 2147483647, 9223372036854775808, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_1 values( %d , 2147483647, 9223372036854775807, 32768, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_1 values( %d , 2147483647, 9223372036854775807, 32767, 128, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_1 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0123', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_1 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+
+ tdSql.execute('''insert into regular_table_1 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+012', 'nchar+0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ sql = '''select * from regular_table_1 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,2147483647)
+ tdSql.checkData(0,2,9223372036854775807)
+ tdSql.checkData(0,3,32767)
+ tdSql.checkData(0,4,127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+012')
+ tdSql.checkData(0,7,'nchar+0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ tdSql.execute('''insert into regular_table_1 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-012', 'nchar-0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ sql = '''select * from regular_table_1 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,-2147483647)
+ tdSql.checkData(0,2,-9223372036854775807)
+ tdSql.checkData(0,3,-32767)
+ tdSql.checkData(0,4,-127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-012')
+ tdSql.checkData(0,7,'nchar-0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdLog.info("========== stable ==========")
+ tdSql.execute('''insert into table_1 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 200))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into table_1 values( %d , 0, 0, 0, 0, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 200))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+0')
+ tdSql.checkData(0,7,'nchar+0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+0')
+ tdSql.checkData(0,7,'nchar+0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into table_1 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 200))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+0')
+ tdSql.checkData(0,7,'nchar+0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+0')
+ tdSql.checkData(0,7,'nchar+0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.error('''insert into table_1 values( %d , -2147483648, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_1 values( %d , -2147483647, -9223372036854775808, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_1 values( %d , -2147483647, -9223372036854775807, -32768, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_1 values( %d , -2147483647, -9223372036854775807, -32767, -128, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_1 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0123', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_1 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+
+ tdSql.execute('''insert into table_1 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-012', 'nchar-0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,-2147483647)
+ tdSql.checkData(0,2,-9223372036854775807)
+ tdSql.checkData(0,3,-32767)
+ tdSql.checkData(0,4,-127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-012')
+ tdSql.checkData(0,7,'nchar-0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,-2147483647)
+ tdSql.checkData(0,2,-9223372036854775807)
+ tdSql.checkData(0,3,-32767)
+ tdSql.checkData(0,4,-127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-012')
+ tdSql.checkData(0,7,'nchar-0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.error('''insert into table_1 values( %d , 2147483648, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_1 values( %d , 2147483647, 9223372036854775808, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_1 values( %d , 2147483647, 9223372036854775807, 32768, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_1 values( %d , 2147483647, 9223372036854775807, 32767, 128, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_1 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0123', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_1 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+
+ tdSql.execute('''insert into table_1 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+012', 'nchar+0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,2147483647)
+ tdSql.checkData(0,2,9223372036854775807)
+ tdSql.checkData(0,3,32767)
+ tdSql.checkData(0,4,127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+012')
+ tdSql.checkData(0,7,'nchar+0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,2147483647)
+ tdSql.checkData(0,2,9223372036854775807)
+ tdSql.checkData(0,3,32767)
+ tdSql.checkData(0,4,127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+012')
+ tdSql.checkData(0,7,'nchar+0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ tdSql.execute('''insert into table_1 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-012', 'nchar-0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,-2147483647)
+ tdSql.checkData(0,2,-9223372036854775807)
+ tdSql.checkData(0,3,-32767)
+ tdSql.checkData(0,4,-127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-012')
+ tdSql.checkData(0,7,'nchar-0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,-2147483647)
+ tdSql.checkData(0,2,-9223372036854775807)
+ tdSql.checkData(0,3,-32767)
+ tdSql.checkData(0,4,-127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-012')
+ tdSql.checkData(0,7,'nchar-0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdLog.info("========== 4096 regular_table ==========")
+ sql = '''insert into regular_table_4096_1 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-13 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-13 20:26:44.090','1600000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_1 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4095,'1600000000000')
+
+ sql = '''insert into regular_table_4096_1 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-10 20:26:40.000' , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL);'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_1 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4095,'1500000000000')
+
+ sql = '''insert into regular_table_4096_1 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-13 20:26:40.000' , 2 , 502 , 102 , 1502 , 2002 , 0 , 3002 , '3502' , '3802' ,'2020-09-13 20:26:44.092','1600000002000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_1 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,2)
+ tdSql.checkData(0,501,502)
+ tdSql.checkData(0,1001,102)
+ tdSql.checkData(0,1501,1502)
+ tdSql.checkData(0,2001,2002)
+ tdSql.checkData(0,2501,'False')
+ tdSql.checkData(0,3001,3002)
+ tdSql.checkData(0,3501,'3502')
+ tdSql.checkData(0,3801,'3802')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.092')
+ tdSql.checkData(0,4095,'1600000002000')
+
+ tdLog.info("========== 4096 stable ==========")
+ sql = '''insert into table_4096_1 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-13 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-13 20:26:44.090','1600000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_1 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+ tdSql.query("select * from stable_4096_1 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+
+ sql = '''insert into table_4096_1 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-10 20:26:40.000' , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL);'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_1 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+ tdSql.query("select * from stable_4096_1 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+
+ sql = '''insert into table_4096_1 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-13 20:26:40.000' , 2 , 502 , 102 , 1502 , 2002 , 0 , 3002 , '3502' , '3802' ,'2020-09-13 20:26:44.092','1600000002000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_1 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,2)
+ tdSql.checkData(0,501,502)
+ tdSql.checkData(0,1001,102)
+ tdSql.checkData(0,1501,1502)
+ tdSql.checkData(0,2001,2002)
+ tdSql.checkData(0,2501,'False')
+ tdSql.checkData(0,3001,3002)
+ tdSql.checkData(0,3501,'3502')
+ tdSql.checkData(0,3801,'3802')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.092')
+ tdSql.checkData(0,4093,'1600000002000')
+ tdSql.query("select * from stable_4096_1 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,2)
+ tdSql.checkData(0,501,502)
+ tdSql.checkData(0,1001,102)
+ tdSql.checkData(0,1501,1502)
+ tdSql.checkData(0,2001,2002)
+ tdSql.checkData(0,2501,'False')
+ tdSql.checkData(0,3001,3002)
+ tdSql.checkData(0,3501,'3502')
+ tdSql.checkData(0,3801,'3802')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.092')
+ tdSql.checkData(0,4093,'1600000002000')
+
+
+ tdLog.info("========== test1.2 : insert data , taosdemo force data dropping disk , check data==========")
+ tdLog.info("========== regular_table ==========")
+ tdSql.execute('''insert into regular_table_2 values( %d , 0, 0, 0, 0, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 200))
+ sql = '''select * from regular_table_2 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into regular_table_2 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 200))
+ sql = '''select * from regular_table_2 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into regular_table_2 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 500))
+ sql = '''select * from regular_table_2 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into regular_table_2 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 500))
+ sql = '''select * from regular_table_2 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+
+ tdLog.info("========== stable ==========")
+ tdSql.execute('''insert into table_2 values( %d , 0, 0, 0, 0, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 200))
+ sql = '''select * from table_2 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where loc = 'table_2' and ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into table_2 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 200))
+ sql = '''select * from table_2 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where loc = 'table_2' and ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into table_2 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 500))
+ sql = '''select * from table_2 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where loc = 'table_2' and ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into table_2 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 500))
+ sql = '''select * from table_2 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where loc = 'table_2' and ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+
+ tdLog.info("========== 4096 regular_table ==========")
+ sql = "create table regular_table_4096_2 (ts timestamp, "
+ for i in range(500):
+ sql += "int_%d int, " % (i + 1)
+ for i in range(500,1000):
+ sql += "smallint_%d smallint, " % (i + 1)
+ for i in range(1000,1500):
+ sql += "tinyint_%d tinyint, " % (i + 1)
+ for i in range(1500,2000):
+ sql += "double_%d double, " % (i + 1)
+ for i in range(2000,2500):
+ sql += "float_%d float, " % (i + 1)
+ for i in range(2500,3000):
+ sql += "bool_%d bool, " % (i + 1)
+ for i in range(3000,3500):
+ sql += "bigint_%d bigint, " % (i + 1)
+ for i in range(3500,3800):
+ sql += "nchar_%d nchar(4), " % (i + 1)
+ for i in range(3800,4090):
+ sql += "binary_%d binary(10), " % (i + 1)
+ for i in range(4090,4094):
+ sql += "timestamp_%d timestamp, " % (i + 1)
+ sql += "col4095 binary(22))"
+ tdLog.info(len(sql))
+ tdSql.execute(sql)
+
+ for i in range(self.num4096):
+ sql = "insert into regular_table_4096_2 values(%d, "
+ for j in range(4090):
+ str = "'%s', " % 'NULL'
+ sql += str
+ for j in range(4090,4094):
+ str = "%s, " % (self.ts + j)
+ sql += str
+ sql += "'%s')" % (self.ts + i)
+ tdSql.execute(sql % (self.ts + i))
+ tdSql.query('''select * from regular_table_4096_2 where ts = %d ;''' %(self.ts))
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4095,'1600000000000')
+
+ sql = '''insert into regular_table_4096_2 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-10 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-10 20:26:44.090','1500000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_2 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4095,'1500000000000')
+
+ tdLog.info("========== 4096 stable ==========")
+ sql = "create stable stable_4096_2 (ts timestamp, "
+ for i in range(500):
+ sql += "int_%d int, " % (i + 1)
+ for i in range(500,1000):
+ sql += "smallint_%d smallint, " % (i + 1)
+ for i in range(1000,1500):
+ sql += "tinyint_%d tinyint, " % (i + 1)
+ for i in range(1500,2000):
+ sql += "double_%d double, " % (i + 1)
+ for i in range(2000,2500):
+ sql += "float_%d float, " % (i + 1)
+ for i in range(2500,3000):
+ sql += "bool_%d bool, " % (i + 1)
+ for i in range(3000,3500):
+ sql += "bigint_%d bigint, " % (i + 1)
+ for i in range(3500,3800):
+ sql += "nchar_%d nchar(4), " % (i + 1)
+ for i in range(3800,4090):
+ sql += "binary_%d binary(10), " % (i + 1)
+ for i in range(4090,4092):
+ sql += "timestamp_%d timestamp, " % (i + 1)
+ sql += " col4093 binary(22)) "
+ sql += " tags (loc nchar(20),tag_1 int) "
+ tdLog.info(len(sql))
+ tdSql.execute(sql)
+
+ sql = " create table table_4096_2 using stable_4096_2 tags ('table_4096_2',1); "
+ tdSql.execute(sql)
+
+ for i in range(self.num4096):
+ sql = "insert into table_4096_2 values(%d, "
+ for j in range(4090):
+ str = "'%s', " % 'NULL'
+ sql += str
+ for j in range(4090,4092):
+ str = "%s, " % (self.ts + j)
+ sql += str
+ sql += "'%s')" % (self.ts + i)
+ tdSql.execute(sql % (self.ts + i))
+ tdSql.query('''select * from table_4096_2 where ts = %d ;''' %(self.ts))
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+ tdSql.query('''select * from stable_4096_2 where ts = %d ;''' %(self.ts))
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+
+ sql = '''insert into table_4096_2 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-10 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-10 20:26:44.090','1500000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_2 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+ tdSql.query("select * from stable_4096_2 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+
+
+ # taosdemo force data dropping disk
+ buildPath = self.getBuildPath()
+ if (buildPath == ""):
+ tdLog.exit("taosd not found!")
+ else:
+ tdLog.info("taosd found in %s" % buildPath)
+ binPath = buildPath+ "/build/bin/"
+ os.system("%staosdemo -N -d taosdemo -t 100 -n 100 -l 1000 -y" % binPath)
+
+ tdLog.info("========== stable ==========")
+ tdSql.execute('''insert into table_2 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 200))
+ sql = '''select * from table_2 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where loc = 'table_2' and ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into table_2 values( %d , 0, 0, 0, 0, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 200))
+ sql = '''select * from table_2 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+0')
+ tdSql.checkData(0,7,'nchar+0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where loc = 'table_2' and ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+0')
+ tdSql.checkData(0,7,'nchar+0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into table_2 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 200))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+0')
+ tdSql.checkData(0,7,'nchar+0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where loc = 'table_2' and ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+0')
+ tdSql.checkData(0,7,'nchar+0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+
+ tdSql.error('''insert into table_2 values( %d , -2147483648, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_2 values( %d , -2147483647, -9223372036854775808, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_2 values( %d , -2147483647, -9223372036854775807, -32768, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_2 values( %d , -2147483647, -9223372036854775807, -32767, -128, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_2 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0123', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_2 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+
+ tdSql.execute('''insert into table_2 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-012', 'nchar-0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ sql = '''select * from table_2 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,-2147483647)
+ tdSql.checkData(0,2,-9223372036854775807)
+ tdSql.checkData(0,3,-32767)
+ tdSql.checkData(0,4,-127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-012')
+ tdSql.checkData(0,7,'nchar-0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:44.090')
+ sql = '''select * from stable_1 where loc = 'table_2' and ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,-2147483647)
+ tdSql.checkData(0,2,-9223372036854775807)
+ tdSql.checkData(0,3,-32767)
+ tdSql.checkData(0,4,-127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-012')
+ tdSql.checkData(0,7,'nchar-0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:44.090')
+
+ tdSql.error('''insert into table_2 values( %d , 2147483648, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_2 values( %d , 2147483647, 9223372036854775808, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_2 values( %d , 2147483647, 9223372036854775807, 32768, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_2 values( %d , 2147483647, 9223372036854775807, 32767, 128, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_2 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0123', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_2 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+
+ tdSql.execute('''insert into table_2 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+012', 'nchar+0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ sql = '''select * from table_2 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,2147483647)
+ tdSql.checkData(0,2,9223372036854775807)
+ tdSql.checkData(0,3,32767)
+ tdSql.checkData(0,4,127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+012')
+ tdSql.checkData(0,7,'nchar+0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:44.090')
+ sql = '''select * from stable_1 where loc = 'table_2' and ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,2147483647)
+ tdSql.checkData(0,2,9223372036854775807)
+ tdSql.checkData(0,3,32767)
+ tdSql.checkData(0,4,127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+012')
+ tdSql.checkData(0,7,'nchar+0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:44.090')
+ tdSql.execute('''insert into table_2 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-012', 'nchar-0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ sql = '''select * from table_1 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,-2147483647)
+ tdSql.checkData(0,2,-9223372036854775807)
+ tdSql.checkData(0,3,-32767)
+ tdSql.checkData(0,4,-127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-012')
+ tdSql.checkData(0,7,'nchar-0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where loc = 'table_2' and ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,-2147483647)
+ tdSql.checkData(0,2,-9223372036854775807)
+ tdSql.checkData(0,3,-32767)
+ tdSql.checkData(0,4,-127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-012')
+ tdSql.checkData(0,7,'nchar-0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+
+ tdLog.info("========== 4096 regular_table ==========")
+ sql = '''insert into regular_table_4096_2 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-13 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-13 20:26:44.090','1600000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_2 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4095,'1600000000000')
+
+ sql = '''insert into regular_table_4096_2 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-10 20:26:40.000' , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL);'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_2 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4095,'1500000000000')
+
+ sql = '''insert into regular_table_4096_2 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-13 20:26:40.000' , 2 , 502 , 102 , 1502 , 2002 , 0 , 3002 , '3502' , '3802' ,'2020-09-13 20:26:44.092','1600000002000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_2 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,2)
+ tdSql.checkData(0,501,502)
+ tdSql.checkData(0,1001,102)
+ tdSql.checkData(0,1501,1502)
+ tdSql.checkData(0,2001,2002)
+ tdSql.checkData(0,2501,'False')
+ tdSql.checkData(0,3001,3002)
+ tdSql.checkData(0,3501,'3502')
+ tdSql.checkData(0,3801,'3802')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.092')
+ tdSql.checkData(0,4095,'1600000002000')
+
+
+ tdLog.info("========== 4096 stable ==========")
+ sql = '''insert into table_4096_2 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-13 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-13 20:26:44.090','1600000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_2 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+ tdSql.query("select * from stable_4096_2 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+
+ sql = '''insert into table_4096_2 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-10 20:26:40.000' , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL);'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_2 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+ tdSql.query("select * from stable_4096_2 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+
+ sql = '''insert into table_4096_2 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-13 20:26:40.000' , 2 , 502 , 102 , 1502 , 2002 , 0 , 3002 , '3502' , '3802' ,'2020-09-13 20:26:44.092','1600000002000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_2 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,2)
+ tdSql.checkData(0,501,502)
+ tdSql.checkData(0,1001,102)
+ tdSql.checkData(0,1501,1502)
+ tdSql.checkData(0,2001,2002)
+ tdSql.checkData(0,2501,'False')
+ tdSql.checkData(0,3001,3002)
+ tdSql.checkData(0,3501,'3502')
+ tdSql.checkData(0,3801,'3802')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.092')
+ tdSql.checkData(0,4093,'1600000002000')
+ tdSql.query("select * from stable_4096_2 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,2)
+ tdSql.checkData(0,501,502)
+ tdSql.checkData(0,1001,102)
+ tdSql.checkData(0,1501,1502)
+ tdSql.checkData(0,2001,2002)
+ tdSql.checkData(0,2501,'False')
+ tdSql.checkData(0,3001,3002)
+ tdSql.checkData(0,3501,'3502')
+ tdSql.checkData(0,3801,'3802')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.092')
+ tdSql.checkData(0,4093,'1600000002000')
+
+
+ tdLog.info("========== test1.3 : insert data , tdDnodes restart force data dropping disk , check data==========")
+ tdLog.info("========== regular_table ==========")
+ tdSql.execute('''insert into regular_table_3 values( %d , 0, 0, 0, 0, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 200))
+ sql = '''select * from regular_table_3 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into regular_table_3 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 200))
+ sql = '''select * from regular_table_3 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into regular_table_3 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 500))
+ sql = '''select * from regular_table_3 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into regular_table_3 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 500))
+ sql = '''select * from regular_table_3 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdLog.info("========== stable ==========")
+ tdSql.execute('''insert into table_3 values( %d , 0, 0, 0, 0, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 200))
+ sql = '''select * from table_3 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where loc = 'table_3' and ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into table_3 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 200))
+ sql = '''select * from table_3 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where loc = 'table_3' and ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into table_3 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 500))
+ sql = '''select * from table_3 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where loc = 'table_3' and ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+ tdSql.execute('''insert into table_3 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 500))
+ sql = '''select * from table_3 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+ sql = '''select * from stable_1 where loc = 'table_3' and ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,2,None)
+ tdSql.checkData(0,3,None)
+ tdSql.checkData(0,4,None)
+ tdSql.checkData(0,5,None)
+ tdSql.checkData(0,6,None)
+ tdSql.checkData(0,7,None)
+ tdSql.checkData(0,8,None)
+ tdSql.checkData(0,9,None)
+ tdSql.checkData(0,10,None)
+
+
+ tdLog.info("========== 4096 regular_table ==========")
+ sql = "create table regular_table_4096_3 (ts timestamp, "
+ for i in range(500):
+ sql += "int_%d int, " % (i + 1)
+ for i in range(500,1000):
+ sql += "smallint_%d smallint, " % (i + 1)
+ for i in range(1000,1500):
+ sql += "tinyint_%d tinyint, " % (i + 1)
+ for i in range(1500,2000):
+ sql += "double_%d double, " % (i + 1)
+ for i in range(2000,2500):
+ sql += "float_%d float, " % (i + 1)
+ for i in range(2500,3000):
+ sql += "bool_%d bool, " % (i + 1)
+ for i in range(3000,3500):
+ sql += "bigint_%d bigint, " % (i + 1)
+ for i in range(3500,3800):
+ sql += "nchar_%d nchar(4), " % (i + 1)
+ for i in range(3800,4090):
+ sql += "binary_%d binary(10), " % (i + 1)
+ for i in range(4090,4094):
+ sql += "timestamp_%d timestamp, " % (i + 1)
+ sql += "col4095 binary(22))"
+ tdLog.info(len(sql))
+ tdSql.execute(sql)
+
+ for i in range(self.num4096):
+ sql = "insert into regular_table_4096_3 values(%d, "
+ for j in range(4090):
+ str = "'%s', " % 'NULL'
+ sql += str
+ for j in range(4090,4094):
+ str = "%s, " % (self.ts + j)
+ sql += str
+ sql += "'%s')" % (self.ts + i)
+ tdSql.execute(sql % (self.ts + i))
+ tdSql.query('''select * from regular_table_4096_3 where ts = %d ;''' %(self.ts))
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4095,'1600000000000')
+
+ sql = '''insert into regular_table_4096_3 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-10 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-10 20:26:44.090','1500000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_3 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4095,'1500000000000')
+
+ tdLog.info("========== 4096 stable ==========")
+ sql = "create stable stable_4096_3 (ts timestamp, "
+ for i in range(500):
+ sql += "int_%d int, " % (i + 1)
+ for i in range(500,1000):
+ sql += "smallint_%d smallint, " % (i + 1)
+ for i in range(1000,1500):
+ sql += "tinyint_%d tinyint, " % (i + 1)
+ for i in range(1500,2000):
+ sql += "double_%d double, " % (i + 1)
+ for i in range(2000,2500):
+ sql += "float_%d float, " % (i + 1)
+ for i in range(2500,3000):
+ sql += "bool_%d bool, " % (i + 1)
+ for i in range(3000,3500):
+ sql += "bigint_%d bigint, " % (i + 1)
+ for i in range(3500,3800):
+ sql += "nchar_%d nchar(4), " % (i + 1)
+ for i in range(3800,4090):
+ sql += "binary_%d binary(10), " % (i + 1)
+ for i in range(4090,4092):
+ sql += "timestamp_%d timestamp, " % (i + 1)
+ sql += " col4093 binary(22)) "
+ sql += " tags (loc nchar(20),tag_1 int) "
+ tdLog.info(len(sql))
+ tdSql.execute(sql)
+
+ sql = " create table table_4096_3 using stable_4096_3 tags ('table_4096_3',1); "
+ tdSql.execute(sql)
+
+ for i in range(self.num4096):
+ sql = "insert into table_4096_3 values(%d, "
+ for j in range(4090):
+ str = "'%s', " % 'NULL'
+ sql += str
+ for j in range(4090,4092):
+ str = "%s, " % (self.ts + j)
+ sql += str
+ sql += "'%s')" % (self.ts + i)
+ tdSql.execute(sql % (self.ts + i))
+ tdSql.query('''select * from table_4096_3 where ts = %d ;''' %(self.ts))
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+ tdSql.query('''select * from stable_4096_3 where ts = %d ;''' %(self.ts))
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,None)
+ tdSql.checkData(0,501,None)
+ tdSql.checkData(0,1001,None)
+ tdSql.checkData(0,1501,None)
+ tdSql.checkData(0,2001,None)
+ tdSql.checkData(0,2501,None)
+ tdSql.checkData(0,3001,None)
+ tdSql.checkData(0,3501,'NULL')
+ tdSql.checkData(0,3801,'NULL')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+
+ sql = '''insert into table_4096_3 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-10 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-10 20:26:44.090','1500000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_3 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+ tdSql.query("select * from stable_4096_3 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+
+ # tdDnodes restart force data dropping disk
+ tdDnodes.stop(1)
+ tdDnodes.start(1)
+
+ tdLog.info("========== regular_table ==========")
+ tdSql.execute('''insert into regular_table_3 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 200))
+ sql = '''select * from regular_table_3 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into regular_table_3 values( %d , 0, 0, 0, 0, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 200))
+ sql = '''select * from regular_table_3 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+0')
+ tdSql.checkData(0,7,'nchar+0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ tdSql.execute('''insert into regular_table_3 values( %d , 1, 1, 1, 1, 1, 'binary+1', 'nchar+1', 1.000000, 1.000000, 1600000001000);''' %(self.ts + 200))
+ sql = '''select * from regular_table_3 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,2,1)
+ tdSql.checkData(0,3,1)
+ tdSql.checkData(0,4,1)
+ tdSql.checkData(0,5,'True')
+ tdSql.checkData(0,6,'binary+1')
+ tdSql.checkData(0,7,'nchar+1')
+ tdSql.checkData(0,8,1)
+ tdSql.checkData(0,9,1)
+ tdSql.checkData(0,10,'2020-09-13 20:26:41.000')
+
+ tdSql.error('''insert into regular_table_3 values( %d , -2147483648, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_3 values( %d , -2147483647, -9223372036854775808, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_3 values( %d , -2147483647, -9223372036854775807, -32768, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_3 values( %d , -2147483647, -9223372036854775807, -32767, -128, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_3 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0123', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into regular_table_3 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+
+ tdSql.execute('''insert into regular_table_3 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-012', 'nchar-0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ sql = '''select * from regular_table_3 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,-2147483647)
+ tdSql.checkData(0,2,-9223372036854775807)
+ tdSql.checkData(0,3,-32767)
+ tdSql.checkData(0,4,-127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-012')
+ tdSql.checkData(0,7,'nchar-0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:44.090')
+
+ tdSql.error('''insert into regular_table_3 values( %d , 2147483648, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_3 values( %d , 2147483647, 9223372036854775808, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_3 values( %d , 2147483647, 9223372036854775807, 32768, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_3 values( %d , 2147483647, 9223372036854775807, 32767, 128, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_3 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0123', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into regular_table_3 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+
+ tdSql.execute('''insert into regular_table_3 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+012', 'nchar+0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ sql = '''select * from regular_table_3 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,2147483647)
+ tdSql.checkData(0,2,9223372036854775807)
+ tdSql.checkData(0,3,32767)
+ tdSql.checkData(0,4,127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+012')
+ tdSql.checkData(0,7,'nchar+0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:44.090')
+ tdSql.execute('''insert into regular_table_3 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-012', 'nchar-0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ sql = '''select * from regular_table_3 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,-2147483647)
+ tdSql.checkData(0,2,-9223372036854775807)
+ tdSql.checkData(0,3,-32767)
+ tdSql.checkData(0,4,-127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-012')
+ tdSql.checkData(0,7,'nchar-0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdLog.info("========== stable ==========")
+ tdSql.execute('''insert into table_3 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts - 200))
+ sql = '''select * from table_3 where ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where loc = 'table_3' and ts = %d ;''' %(self.ts - 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-0')
+ tdSql.checkData(0,7,'nchar-0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into table_3 values( %d , 0, 0, 0, 0, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 200))
+ sql = '''select * from table_3 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+0')
+ tdSql.checkData(0,7,'nchar+0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where loc = 'table_3' and ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+0')
+ tdSql.checkData(0,7,'nchar+0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.execute('''insert into table_3 values( %d , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);''' %(self.ts + 200))
+ sql = '''select * from table_3 where ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+0')
+ tdSql.checkData(0,7,'nchar+0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where loc = 'table_3' and ts = %d ;''' %(self.ts + 200)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,0)
+ tdSql.checkData(0,2,0)
+ tdSql.checkData(0,3,0)
+ tdSql.checkData(0,4,0)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+0')
+ tdSql.checkData(0,7,'nchar+0')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+ tdSql.error('''insert into table_3 values( %d , -2147483648, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_3 values( %d , -2147483647, -9223372036854775808, -32767, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_3 values( %d , -2147483647, -9223372036854775807, -32768, -127, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_3 values( %d , -2147483647, -9223372036854775807, -32767, -128, 0, 'binary-0', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_3 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0123', 'nchar-0', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ tdSql.error('''insert into table_3 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-0', 'nchar-01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+
+ tdSql.execute('''insert into table_3 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-012', 'nchar-0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts - 500))
+ sql = '''select * from table_3 where ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,-2147483647)
+ tdSql.checkData(0,2,-9223372036854775807)
+ tdSql.checkData(0,3,-32767)
+ tdSql.checkData(0,4,-127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-012')
+ tdSql.checkData(0,7,'nchar-0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:44.090')
+ sql = '''select * from stable_1 where loc = 'table_3' and ts = %d ;''' %(self.ts - 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,-2147483647)
+ tdSql.checkData(0,2,-9223372036854775807)
+ tdSql.checkData(0,3,-32767)
+ tdSql.checkData(0,4,-127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-012')
+ tdSql.checkData(0,7,'nchar-0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:44.090')
+
+ tdSql.error('''insert into table_3 values( %d , 2147483648, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_3 values( %d , 2147483647, 9223372036854775808, 32767, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_3 values( %d , 2147483647, 9223372036854775807, 32768, 127, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_3 values( %d , 2147483647, 9223372036854775807, 32767, 128, 0, 'binary+0', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_3 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0123', 'nchar+0', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ tdSql.error('''insert into table_3 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+0', 'nchar+01234', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+
+ tdSql.execute('''insert into table_3 values( %d , 2147483647, 9223372036854775807, 32767, 127, 0, 'binary+012', 'nchar+0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ sql = '''select * from table_3 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,2147483647)
+ tdSql.checkData(0,2,9223372036854775807)
+ tdSql.checkData(0,3,32767)
+ tdSql.checkData(0,4,127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+012')
+ tdSql.checkData(0,7,'nchar+0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:44.090')
+ sql = '''select * from stable_1 where loc = 'table_3' and ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,2147483647)
+ tdSql.checkData(0,2,9223372036854775807)
+ tdSql.checkData(0,3,32767)
+ tdSql.checkData(0,4,127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary+012')
+ tdSql.checkData(0,7,'nchar+0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:44.090')
+ tdSql.execute('''insert into table_3 values( %d , -2147483647, -9223372036854775807, -32767, -127, 0, 'binary-012', 'nchar-0123', 0.000000, 0.000000, 1600000000000);''' %(self.ts + 500))
+ sql = '''select * from table_3 where ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,-2147483647)
+ tdSql.checkData(0,2,-9223372036854775807)
+ tdSql.checkData(0,3,-32767)
+ tdSql.checkData(0,4,-127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-012')
+ tdSql.checkData(0,7,'nchar-0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+ sql = '''select * from stable_1 where loc = 'table_3' and ts = %d ;''' %(self.ts + 500)
+ tdSql.query(sql)
+ tdSql.checkData(0,1,-2147483647)
+ tdSql.checkData(0,2,-9223372036854775807)
+ tdSql.checkData(0,3,-32767)
+ tdSql.checkData(0,4,-127)
+ tdSql.checkData(0,5,'False')
+ tdSql.checkData(0,6,'binary-012')
+ tdSql.checkData(0,7,'nchar-0123')
+ tdSql.checkData(0,8,0)
+ tdSql.checkData(0,9,0)
+ tdSql.checkData(0,10,'2020-09-13 20:26:40.000')
+
+
+
+ tdLog.info("========== 4096 regular_table ==========")
+ sql = '''insert into regular_table_4096_3 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-13 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-13 20:26:44.090','1600000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_3 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4095,'1600000000000')
+
+ sql = '''insert into regular_table_4096_3 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-10 20:26:40.000' , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL);'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_3 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4095,'1500000000000')
+
+ sql = '''insert into regular_table_4096_3 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4095 )
+ values('2020-09-13 20:26:40.000' , 2 , 502 , 102 , 1502 , 2002 , 0 , 3002 , '3502' , '3802' ,'2020-09-13 20:26:44.092','1600000002000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from regular_table_4096_3 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,2)
+ tdSql.checkData(0,501,502)
+ tdSql.checkData(0,1001,102)
+ tdSql.checkData(0,1501,1502)
+ tdSql.checkData(0,2001,2002)
+ tdSql.checkData(0,2501,'False')
+ tdSql.checkData(0,3001,3002)
+ tdSql.checkData(0,3501,'3502')
+ tdSql.checkData(0,3801,'3802')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.092')
+ tdSql.checkData(0,4095,'1600000002000')
+
+
+ tdLog.info("========== 4096 stable ==========")
+ sql = '''insert into table_4096_3 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-13 20:26:40.000' , 1 , 501 , 101 , 1501 , 2001 , 1 , 3001 , '3501' , '3801' ,'2020-09-13 20:26:44.090','1600000000000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_3 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+ tdSql.query("select * from stable_4096_3 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.090')
+ tdSql.checkData(0,4093,'1600000000000')
+
+ sql = '''insert into table_4096_3 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-10 20:26:40.000' , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL);'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_3 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+ tdSql.query("select * from stable_4096_3 where ts ='2020-09-10 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,1)
+ tdSql.checkData(0,501,501)
+ tdSql.checkData(0,1001,101)
+ tdSql.checkData(0,1501,1501)
+ tdSql.checkData(0,2001,2001)
+ tdSql.checkData(0,2501,'True')
+ tdSql.checkData(0,3001,3001)
+ tdSql.checkData(0,3501,'3501')
+ tdSql.checkData(0,3801,'3801')
+ tdSql.checkData(0,4091,'2020-09-10 20:26:44.090')
+ tdSql.checkData(0,4093,'1500000000000')
+
+ sql = '''insert into table_4096_3 (ts , int_1,smallint_501 , tinyint_1001 , double_1501 , float_2001 , bool_2501 ,
+ bigint_3001 , nchar_3501 , binary_3801 , timestamp_4091 , col4093 )
+ values('2020-09-13 20:26:40.000' , 2 , 502 , 102 , 1502 , 2002 , 0 , 3002 , '3502' , '3802' ,'2020-09-13 20:26:44.092','1600000002000');'''
+ tdSql.execute(sql)
+ tdSql.query("select * from table_4096_3 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4094)
+ tdSql.checkData(0,1,2)
+ tdSql.checkData(0,501,502)
+ tdSql.checkData(0,1001,102)
+ tdSql.checkData(0,1501,1502)
+ tdSql.checkData(0,2001,2002)
+ tdSql.checkData(0,2501,'False')
+ tdSql.checkData(0,3001,3002)
+ tdSql.checkData(0,3501,'3502')
+ tdSql.checkData(0,3801,'3802')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.092')
+ tdSql.checkData(0,4093,'1600000002000')
+ tdSql.query("select * from stable_4096_3 where ts ='2020-09-13 20:26:40.000';")
+ tdSql.checkCols(4096)
+ tdSql.checkData(0,1,2)
+ tdSql.checkData(0,501,502)
+ tdSql.checkData(0,1001,102)
+ tdSql.checkData(0,1501,1502)
+ tdSql.checkData(0,2001,2002)
+ tdSql.checkData(0,2501,'False')
+ tdSql.checkData(0,3001,3002)
+ tdSql.checkData(0,3501,'3502')
+ tdSql.checkData(0,3801,'3802')
+ tdSql.checkData(0,4091,'2020-09-13 20:26:44.092')
+ tdSql.checkData(0,4093,'1600000002000')
+
+
+ endTime = time.time()
+ print("total time %ds" % (endTime - startTime))
+
+
+ def stop(self):
+ tdSql.close()
+ tdLog.success("%s successfully executed" % __file__)
+
+
+tdCases.addWindows(__file__, TDTestCase())
+tdCases.addLinux(__file__, TDTestCase())
\ No newline at end of file
diff --git a/tests/pytest/insert/schemalessInsert.py b/tests/pytest/insert/schemalessInsert.py
new file mode 100644
index 0000000000000000000000000000000000000000..5c93095a1ee414a1559f48595a3e2e412463e829
--- /dev/null
+++ b/tests/pytest/insert/schemalessInsert.py
@@ -0,0 +1,1234 @@
+###################################################################
+# Copyright (c) 2021 by TAOS Technologies, Inc.
+# All rights reserved.
+#
+# This file is proprietary and confidential to TAOS Technologies.
+# No part of this file may be reproduced, stored, transmitted,
+# disclosed or used in any form or by any means other than as
+# expressly provided by the written permission from Jianhui Tao
+#
+###################################################################
+
+# -*- coding: utf-8 -*-
+
+import random
+import string
+import time
+from copy import deepcopy
+import numpy as np
+from util.log import *
+from util.cases import *
+from util.sql import *
+import threading
+
+
+class TDTestCase:
+ def init(self, conn, logSql):
+ tdLog.debug("start to execute %s" % __file__)
+ tdSql.init(conn.cursor(), logSql)
+ self._conn = conn
+
+ def createDb(self, name="test", db_update_tag=0):
+ if db_update_tag == 0:
+ tdSql.execute(f"drop database if exists {name}")
+ tdSql.execute(f"create database if not exists {name} precision 'us'")
+ else:
+ tdSql.execute(f"drop database if exists {name}")
+ tdSql.execute(f"create database if not exists {name} precision 'us' update 1")
+ tdSql.execute(f'use {name}')
+
+ def getLongName(self, len, mode = "mixed"):
+ """
+ generate long name
+ mode could be numbers/letters/mixed
+ """
+ if mode is "numbers":
+ chars = ''.join(random.choice(string.digits) for i in range(len))
+ elif mode is "letters":
+ chars = ''.join(random.choice(string.ascii_letters.lower()) for i in range(len))
+ else:
+ chars = ''.join(random.choice(string.ascii_letters.lower() + string.digits) for i in range(len))
+ return chars
+
+ def timeTrans(self, time_value):
+ if time_value.endswith("ns"):
+ ts = int(''.join(list(filter(str.isdigit, time_value))))/1000000000
+ elif time_value.endswith("us") or time_value.isdigit() and int(time_value) != 0:
+ ts = int(''.join(list(filter(str.isdigit, time_value))))/1000000
+ elif time_value.endswith("ms"):
+ ts = int(''.join(list(filter(str.isdigit, time_value))))/1000
+ elif time_value.endswith("s") and list(time_value)[-1] not in "num":
+ ts = int(''.join(list(filter(str.isdigit, time_value))))/1
+ elif int(time_value) == 0:
+ ts = time.time()
+ else:
+ print("input ts maybe not right format")
+ ulsec = repr(ts).split('.')[1][:6]
+ if len(ulsec) < 6 and int(ulsec) != 0:
+ ulsec = int(ulsec) * (10 ** (6 - len(ulsec)))
+ elif int(ulsec) == 0:
+ ulsec *= 6
+ # * follow two rows added for tsCheckCase
+ td_ts = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(ts))
+ return td_ts
+ #td_ts = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(ts))
+ td_ts = time.strftime("%Y-%m-%d %H:%M:%S.{}".format(ulsec), time.localtime(ts))
+ return td_ts
+ #return repr(datetime.datetime.strptime(td_ts, "%Y-%m-%d %H:%M:%S.%f"))
+
+ def dateToTs(self, datetime_input):
+ return int(time.mktime(time.strptime(datetime_input, "%Y-%m-%d %H:%M:%S.%f")))
+
+ def getTdTypeValue(self, value):
+ if value.endswith("i8"):
+ td_type = "TINYINT"
+ td_tag_value = ''.join(list(value)[:-2])
+ elif value.endswith("i16"):
+ td_type = "SMALLINT"
+ td_tag_value = ''.join(list(value)[:-3])
+ elif value.endswith("i32"):
+ td_type = "INT"
+ td_tag_value = ''.join(list(value)[:-3])
+ elif value.endswith("i64"):
+ td_type = "BIGINT"
+ td_tag_value = ''.join(list(value)[:-3])
+ elif value.endswith("u64"):
+ td_type = "BIGINT UNSIGNED"
+ td_tag_value = ''.join(list(value)[:-3])
+ elif value.endswith("f32"):
+ td_type = "FLOAT"
+ td_tag_value = ''.join(list(value)[:-3])
+ td_tag_value = '{}'.format(np.float32(td_tag_value))
+ elif value.endswith("f64"):
+ td_type = "DOUBLE"
+ td_tag_value = ''.join(list(value)[:-3])
+ elif value.startswith('L"'):
+ td_type = "NCHAR"
+ td_tag_value = ''.join(list(value)[2:-1])
+ elif value.startswith('"') and value.endswith('"'):
+ td_type = "BINARY"
+ td_tag_value = ''.join(list(value)[1:-1])
+ elif value.lower() == "t" or value == "true" or value == "True":
+ td_type = "BOOL"
+ td_tag_value = "True"
+ elif value.lower() == "f" or value == "false" or value == "False":
+ td_type = "BOOL"
+ td_tag_value = "False"
+ else:
+ td_type = "FLOAT"
+ td_tag_value = value
+ return td_type, td_tag_value
+
+ def typeTrans(self, type_list):
+ type_num_list = []
+ for tp in type_list:
+ if tp.upper() == "TIMESTAMP":
+ type_num_list.append(9)
+ elif tp.upper() == "BOOL":
+ type_num_list.append(1)
+ elif tp.upper() == "TINYINT":
+ type_num_list.append(2)
+ elif tp.upper() == "SMALLINT":
+ type_num_list.append(3)
+ elif tp.upper() == "INT":
+ type_num_list.append(4)
+ elif tp.upper() == "BIGINT":
+ type_num_list.append(5)
+ elif tp.upper() == "FLOAT":
+ type_num_list.append(6)
+ elif tp.upper() == "DOUBLE":
+ type_num_list.append(7)
+ elif tp.upper() == "BINARY":
+ type_num_list.append(8)
+ elif tp.upper() == "NCHAR":
+ type_num_list.append(10)
+ elif tp.upper() == "BIGINT UNSIGNED":
+ type_num_list.append(14)
+ return type_num_list
+
+ def inputHandle(self, input_sql):
+ input_sql_split_list = input_sql.split(" ")
+
+ stb_tag_list = input_sql_split_list[0].split(',')
+ stb_col_list = input_sql_split_list[1].split(',')
+ ts_value = self.timeTrans(input_sql_split_list[2])
+
+ stb_name = stb_tag_list[0]
+ stb_tag_list.pop(0)
+
+ tag_name_list = []
+ tag_value_list = []
+ td_tag_value_list = []
+ td_tag_type_list = []
+
+ col_name_list = []
+ col_value_list = []
+ td_col_value_list = []
+ td_col_type_list = []
+
+ for elm in stb_tag_list:
+ if "id=" in elm.lower():
+ tb_name = elm.split('=')[1]
+ else:
+ tag_name_list.append(elm.split("=")[0])
+ tag_value_list.append(elm.split("=")[1])
+ tb_name = ""
+ td_tag_value_list.append(self.getTdTypeValue(elm.split("=")[1])[1])
+ td_tag_type_list.append(self.getTdTypeValue(elm.split("=")[1])[0])
+
+ for elm in stb_col_list:
+ col_name_list.append(elm.split("=")[0])
+ col_value_list.append(elm.split("=")[1])
+ td_col_value_list.append(self.getTdTypeValue(elm.split("=")[1])[1])
+ td_col_type_list.append(self.getTdTypeValue(elm.split("=")[1])[0])
+
+ final_field_list = []
+ final_field_list.extend(col_name_list)
+ final_field_list.extend(tag_name_list)
+
+ final_type_list = []
+ final_type_list.append("TIMESTAMP")
+ final_type_list.extend(td_col_type_list)
+ final_type_list.extend(td_tag_type_list)
+ final_type_list = self.typeTrans(final_type_list)
+
+ final_value_list = []
+ final_value_list.append(ts_value)
+ final_value_list.extend(td_col_value_list)
+ final_value_list.extend(td_tag_value_list)
+ return final_value_list, final_field_list, final_type_list, stb_name, tb_name
+
+ def genFullTypeSql(self, stb_name="", tb_name="", t0="", t1="127i8", t2="32767i16", t3="2147483647i32",
+ t4="9223372036854775807i64", t5="11.12345f32", t6="22.123456789f64", t7="\"binaryTagValue\"",
+ t8="L\"ncharTagValue\"", c0="", c1="127i8", c2="32767i16", c3="2147483647i32",
+ c4="9223372036854775807i64", c5="11.12345f32", c6="22.123456789f64", c7="\"binaryColValue\"",
+ c8="L\"ncharColValue\"", c9="7u64", ts="1626006833639000000ns",
+ id_noexist_tag=None, id_change_tag=None, id_upper_tag=None, id_double_tag=None,
+ ct_add_tag=None, ct_am_tag=None, ct_ma_tag=None, ct_min_tag=None):
+ if stb_name == "":
+ stb_name = self.getLongName(len=6, mode="letters")
+ if tb_name == "":
+ tb_name = f'{stb_name}_{random.randint(0, 65535)}_{random.randint(0, 65535)}'
+ if t0 == "":
+ t0 = random.choice(["f", "F", "false", "False", "t", "T", "true", "True"])
+ if c0 == "":
+ c0 = random.choice(["f", "F", "false", "False", "t", "T", "true", "True"])
+ #sql_seq = f'{stb_name},id=\"{tb_name}\",t0={t0},t1=127i8,t2=32767i16,t3=125.22f64,t4=11.321f32,t5=11.12345f32,t6=22.123456789f64,t7=\"binaryTagValue\",t8=L\"ncharTagValue\" c0={bool_value},c1=127i8,c2=32767i16,c3=2147483647i32,c4=9223372036854775807i64,c5=11.12345f32,c6=22.123456789f64,c7=\"binaryValue\",c8=L\"ncharValue\" 1626006833639000000ns'
+ if id_upper_tag is not None:
+ id = "ID"
+ else:
+ id = "id"
+ sql_seq = f'{stb_name},{id}=\"{tb_name}\",t0={t0},t1={t1},t2={t2},t3={t3},t4={t4},t5={t5},t6={t6},t7={t7},t8={t8} c0={c0},c1={c1},c2={c2},c3={c3},c4={c4},c5={c5},c6={c6},c7={c7},c8={c8},c9={c9} {ts}'
+ if id_noexist_tag is not None:
+ sql_seq = f'{stb_name},t0={t0},t1={t1},t2={t2},t3={t3},t4={t4},t5={t5},t6={t6},t7={t7},t8={t8} c0={c0},c1={c1},c2={c2},c3={c3},c4={c4},c5={c5},c6={c6},c7={c7},c8={c8},c9={c9} {ts}'
+ if ct_add_tag is not None:
+ sql_seq = f'{stb_name},t0={t0},t1={t1},t2={t2},t3={t3},t4={t4},t5={t5},t6={t6},t7={t7},t8={t8},t9={t8} c0={c0},c1={c1},c2={c2},c3={c3},c4={c4},c5={c5},c6={c6},c7={c7},c8={c8},c9={c9} {ts}'
+ if id_change_tag is not None:
+ sql_seq = f'{stb_name},t0={t0},t1={t1},{id}=\"{tb_name}\",t2={t2},t3={t3},t4={t4},t5={t5},t6={t6},t7={t7},t8={t8} c0={c0},c1={c1},c2={c2},c3={c3},c4={c4},c5={c5},c6={c6},c7={c7},c8={c8},c9={c9} {ts}'
+ if id_double_tag is not None:
+ sql_seq = f'{stb_name},{id}=\"{tb_name}_1\",t0={t0},t1={t1},{id}=\"{tb_name}_2\",t2={t2},t3={t3},t4={t4},t5={t5},t6={t6},t7={t7},t8={t8} c0={c0},c1={c1},c2={c2},c3={c3},c4={c4},c5={c5},c6={c6},c7={c7},c8={c8},c9={c9} {ts}'
+ if ct_add_tag is not None:
+ sql_seq = f'{stb_name},{id}=\"{tb_name}\",t0={t0},t1={t1},t2={t2},t3={t3},t4={t4},t5={t5},t6={t6},t7={t7},t8={t8},t11={t1},t10={t8} c0={c0},c1={c1},c2={c2},c3={c3},c4={c4},c5={c5},c6={c6},c7={c7},c8={c8},c9={c9},c11={c8},c10={t0} {ts}'
+ if ct_am_tag is not None:
+ sql_seq = f'{stb_name},{id}=\"{tb_name}\",t0={t0},t1={t1},t2={t2},t3={t3},t4={t4},t5={t5},t6={t6} c0={c0},c1={c1},c2={c2},c3={c3},c4={c4},c5={c5},c6={c6},c7={c7},c8={c8},c9={c9},c11={c8},c10={t0} {ts}'
+ if id_noexist_tag is not None:
+ sql_seq = f'{stb_name},t0={t0},t1={t1},t2={t2},t3={t3},t4={t4},t5={t5},t6={t6} c0={c0},c1={c1},c2={c2},c3={c3},c4={c4},c5={c5},c6={c6},c7={c7},c8={c8},c9={c9},c11={c8},c10={t0} {ts}'
+ if ct_ma_tag is not None:
+ sql_seq = f'{stb_name},{id}=\"{tb_name}\",t0={t0},t1={t1},t2={t2},t3={t3},t4={t4},t5={t5},t6={t6},t7={t7},t8={t8},t11={t1},t10={t8} c0={c0},c1={c1},c2={c2},c3={c3},c4={c4},c5={c5},c6={c6} {ts}'
+ if id_noexist_tag is not None:
+ sql_seq = f'{stb_name},t0={t0},t1={t1},t2={t2},t3={t3},t4={t4},t5={t5},t6={t6},t7={t7},t8={t8},t11={t1},t10={t8} c0={c0},c1={c1},c2={c2},c3={c3},c4={c4},c5={c5},c6={c6} {ts}'
+ if ct_min_tag is not None:
+ sql_seq = f'{stb_name},{id}=\"{tb_name}\",t0={t0},t1={t1},t2={t2},t3={t3},t4={t4},t5={t5},t6={t6} c0={c0},c1={c1},c2={c2},c3={c3},c4={c4},c5={c5},c6={c6} {ts}'
+ return sql_seq, stb_name
+
+ def genMulTagColStr(self, genType, count):
+ """
+ genType must be tag/col
+ """
+ tag_str = ""
+ col_str = ""
+ if genType == "tag":
+ for i in range(0, count):
+ if i < (count-1):
+ tag_str += f't{i}=f,'
+ else:
+ tag_str += f't{i}=f '
+ return tag_str
+ if genType == "col":
+ for i in range(0, count):
+ if i < (count-1):
+ col_str += f'c{i}=t,'
+ else:
+ col_str += f'c{i}=t '
+ return col_str
+
+ def genLongSql(self, tag_count, col_count):
+ stb_name = self.getLongName(7, mode="letters")
+ tb_name = f'{stb_name}_1'
+ tag_str = self.genMulTagColStr("tag", tag_count)
+ col_str = self.genMulTagColStr("col", col_count)
+ ts = "1626006833640000000ns"
+ long_sql = stb_name + ',' + f'id=\"{tb_name}\"' + ',' + tag_str + col_str + ts
+ return long_sql, stb_name
+
+ def getNoIdTbName(self, stb_name):
+ query_sql = f"select tbname from {stb_name}"
+ tb_name = self.resHandle(query_sql, True)[0][0]
+ return tb_name
+
+ def resHandle(self, query_sql, query_tag):
+ tdSql.execute('reset query cache')
+ row_info = tdSql.query(query_sql, query_tag)
+ col_info = tdSql.getColNameList(query_sql, query_tag)
+ res_row_list = []
+ sub_list = []
+ for row_mem in row_info:
+ for i in row_mem:
+ sub_list.append(str(i))
+ res_row_list.append(sub_list)
+ res_field_list_without_ts = col_info[0][1:]
+ res_type_list = col_info[1]
+ return res_row_list, res_field_list_without_ts, res_type_list
+
+ def resCmp(self, input_sql, stb_name, query_sql="select * from", condition="", ts=None, id=True, none_check_tag=None):
+ expect_list = self.inputHandle(input_sql)
+ self._conn.insertLines([input_sql])
+ query_sql = f"{query_sql} {stb_name} {condition}"
+ res_row_list, res_field_list_without_ts, res_type_list = self.resHandle(query_sql, True)
+ if ts == 0:
+ res_ts = self.dateToTs(res_row_list[0][0])
+ current_time = time.time()
+ if current_time - res_ts < 60:
+ tdSql.checkEqual(res_row_list[0][1:], expect_list[0][1:])
+ else:
+ print("timeout")
+ tdSql.checkEqual(res_row_list[0], expect_list[0])
+ else:
+ if none_check_tag is not None:
+ none_index_list = [i for i,x in enumerate(res_row_list[0]) if x=="None"]
+ none_index_list.reverse()
+ for j in none_index_list:
+ res_row_list[0].pop(j)
+ expect_list[0].pop(j)
+ tdSql.checkEqual(res_row_list[0], expect_list[0])
+ tdSql.checkEqual(res_field_list_without_ts, expect_list[1])
+ tdSql.checkEqual(res_type_list, expect_list[2])
+
+ def cleanStb(self):
+ query_sql = "show stables"
+ res_row_list = tdSql.query(query_sql, True)
+ stb_list = map(lambda x: x[0], res_row_list)
+ for stb in stb_list:
+ tdSql.execute(f'drop table if exists {stb}')
+
+ def initCheckCase(self):
+ """
+ normal tags and cols, one for every elm
+ """
+ self.cleanStb()
+ input_sql, stb_name = self.genFullTypeSql()
+ self.resCmp(input_sql, stb_name)
+
+ def boolTypeCheckCase(self):
+ """
+ check all normal type
+ """
+ self.cleanStb()
+ full_type_list = ["f", "F", "false", "False", "t", "T", "true", "True"]
+ for t_type in full_type_list:
+ input_sql, stb_name = self.genFullTypeSql(c0=t_type, t0=t_type)
+ self.resCmp(input_sql, stb_name)
+
+ def symbolsCheckCase(self):
+ """
+ check symbols = `~!@#$%^&*()_-+={[}]\|:;'\",<.>/?
+ """
+ '''
+ please test :
+ binary_symbols = '\"abcd`~!@#$%^&*()_-{[}]|:;<.>?lfjal"\'\'"\"'
+ '''
+ self.cleanStb()
+ binary_symbols = '\"abcd`~!@#$%^&*()_-{[}]|:;<.>?lfjal"\"'
+ nchar_symbols = f'L{binary_symbols}'
+ input_sql, stb_name = self.genFullTypeSql(c7=binary_symbols, c8=nchar_symbols, t7=binary_symbols, t8=nchar_symbols)
+ self.resCmp(input_sql, stb_name)
+
+ def tsCheckCase(self):
+ """
+ test ts list --> ["1626006833639000000ns", "1626006833639019us", "1626006833640ms", "1626006834s", "1626006822639022"]
+ # ! us级时间戳都为0时,数据库中查询显示,但python接口拿到的结果不显示 .000000的情况请确认,目前修改时间处理代码可以通过
+ """
+ self.cleanStb()
+ ts_list = ["1626006833639000000ns", "1626006833639019us", "1626006833640ms", "1626006834s", "1626006822639022", 0]
+ for ts in ts_list:
+ input_sql, stb_name = self.genFullTypeSql(ts=ts)
+ self.resCmp(input_sql, stb_name, ts=ts)
+
+ def idSeqCheckCase(self):
+ """
+ check id.index in tags
+ eg: t0=**,id=**,t1=**
+ """
+ self.cleanStb()
+ input_sql, stb_name = self.genFullTypeSql(id_change_tag=True)
+ self.resCmp(input_sql, stb_name)
+
+ def idUpperCheckCase(self):
+ """
+ check id param
+ eg: id and ID
+ """
+ self.cleanStb()
+ input_sql, stb_name = self.genFullTypeSql(id_upper_tag=True)
+ self.resCmp(input_sql, stb_name)
+ input_sql, stb_name = self.genFullTypeSql(id_change_tag=True, id_upper_tag=True)
+ self.resCmp(input_sql, stb_name)
+
+ def noIdCheckCase(self):
+ """
+ id not exist
+ """
+ self.cleanStb()
+ input_sql, stb_name = self.genFullTypeSql(id_noexist_tag=True)
+ self.resCmp(input_sql, stb_name)
+ query_sql = f"select tbname from {stb_name}"
+ res_row_list = self.resHandle(query_sql, True)[0]
+ if len(res_row_list[0][0]) > 0:
+ tdSql.checkColNameList(res_row_list, res_row_list)
+ else:
+ tdSql.checkColNameList(res_row_list, "please check noIdCheckCase")
+
+ def maxColTagCheckCase(self):
+ """
+ max tag count is 128
+ max col count is ??
+ """
+ for input_sql in [self.genLongSql(128, 1)[0], self.genLongSql(1, 4094)[0]]:
+ self.cleanStb()
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkEqual(code, 0)
+ for input_sql in [self.genLongSql(129, 1)[0], self.genLongSql(1, 4095)[0]]:
+ self.cleanStb()
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+
+ def idIllegalNameCheckCase(self):
+ """
+ test illegal id name
+ mix "`~!@#$¥%^&*()-+={}|[]、「」【】\:;《》<>?"
+ """
+ self.cleanStb()
+ rstr = list("`~!@#$¥%^&*()-+={}|[]、「」【】\:;《》<>?")
+ for i in rstr:
+ input_sql = self.genFullTypeSql(tb_name=f"\"aaa{i}bbb\"")[0]
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+
+ def idStartWithNumCheckCase(self):
+ """
+ id is start with num
+ """
+ self.cleanStb()
+ input_sql = self.genFullTypeSql(tb_name=f"\"1aaabbb\"")[0]
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+
+ def nowTsCheckCase(self):
+ """
+ check now unsupported
+ """
+ self.cleanStb()
+ input_sql = self.genFullTypeSql(ts="now")[0]
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+
+ def dateFormatTsCheckCase(self):
+ """
+ check date format ts unsupported
+ """
+ self.cleanStb()
+ input_sql = self.genFullTypeSql(ts="2021-07-21\ 19:01:46.920")[0]
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+
+ def illegalTsCheckCase(self):
+ """
+ check ts format like 16260068336390us19
+ """
+ self.cleanStb()
+ input_sql = self.genFullTypeSql(ts="16260068336390us19")[0]
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+
+ def tagValueLengthCheckCase(self):
+ """
+ check full type tag value limit
+ """
+ self.cleanStb()
+ # i8
+ for t1 in ["-127i8", "127i8"]:
+ input_sql, stb_name = self.genFullTypeSql(t1=t1)
+ self.resCmp(input_sql, stb_name)
+ for t1 in ["-128i8", "128i8"]:
+ input_sql = self.genFullTypeSql(t1=t1)[0]
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+
+ #i16
+ for t2 in ["-32767i16", "32767i16"]:
+ input_sql, stb_name = self.genFullTypeSql(t2=t2)
+ self.resCmp(input_sql, stb_name)
+ for t2 in ["-32768i16", "32768i16"]:
+ input_sql = self.genFullTypeSql(t2=t2)[0]
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+
+ #i32
+ for t3 in ["-2147483647i32", "2147483647i32"]:
+ input_sql, stb_name = self.genFullTypeSql(t3=t3)
+ self.resCmp(input_sql, stb_name)
+ for t3 in ["-2147483648i32", "2147483648i32"]:
+ input_sql = self.genFullTypeSql(t3=t3)[0]
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+
+ #i64
+ for t4 in ["-9223372036854775807i64", "9223372036854775807i64"]:
+ input_sql, stb_name = self.genFullTypeSql(t4=t4)
+ self.resCmp(input_sql, stb_name)
+ for t4 in ["-9223372036854775808i64", "9223372036854775808i64"]:
+ input_sql = self.genFullTypeSql(t4=t4)[0]
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+
+ # f32
+ for t5 in [f"{-3.4028234663852885981170418348451692544*(10**38)}f32", f"{3.4028234663852885981170418348451692544*(10**38)}f32"]:
+ input_sql, stb_name = self.genFullTypeSql(t5=t5)
+ self.resCmp(input_sql, stb_name)
+ # * limit set to 4028234664*(10**38)
+ for t5 in [f"{-3.4028234664*(10**38)}f32", f"{3.4028234664*(10**38)}f32"]:
+ input_sql = self.genFullTypeSql(t5=t5)[0]
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+
+ # f64
+ for t6 in [f'{-1.79769*(10**308)}f64', f'{-1.79769*(10**308)}f64']:
+ input_sql, stb_name = self.genFullTypeSql(t6=t6)
+ self.resCmp(input_sql, stb_name)
+ # * limit set to 1.797693134862316*(10**308)
+ for c6 in [f'{-1.797693134862316*(10**308)}f64', f'{-1.797693134862316*(10**308)}f64']:
+ input_sql = self.genFullTypeSql(c6=c6)[0]
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+
+ # binary
+ stb_name = self.getLongName(7, "letters")
+ input_sql = f'{stb_name},t0=t,t1="{self.getLongName(16374, "letters")}" c0=f 1626006833639000000ns'
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkEqual(code, 0)
+ input_sql = f'{stb_name},t0=t,t1="{self.getLongName(16375, "letters")}" c0=f 1626006833639000000ns'
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+
+ # nchar
+ # * legal nchar could not be larger than 16374/4
+ stb_name = self.getLongName(7, "letters")
+ input_sql = f'{stb_name},t0=t,t1=L"{self.getLongName(4093, "letters")}" c0=f 1626006833639000000ns'
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkEqual(code, 0)
+ input_sql = f'{stb_name},t0=t,t1=L"{self.getLongName(4094, "letters")}" c0=f 1626006833639000000ns'
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+
+ def colValueLengthCheckCase(self):
+ """
+ check full type col value limit
+ """
+ self.cleanStb()
+ # i8
+ for c1 in ["-127i8", "127i8"]:
+ input_sql, stb_name = self.genFullTypeSql(c1=c1)
+ self.resCmp(input_sql, stb_name)
+
+ for c1 in ["-128i8", "128i8"]:
+ input_sql = self.genFullTypeSql(c1=c1)[0]
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+ # i16
+ for c2 in ["-32767i16"]:
+ input_sql, stb_name = self.genFullTypeSql(c2=c2)
+ self.resCmp(input_sql, stb_name)
+ for c2 in ["-32768i16", "32768i16"]:
+ input_sql = self.genFullTypeSql(c2=c2)[0]
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+
+ # i32
+ for c3 in ["-2147483647i32"]:
+ input_sql, stb_name = self.genFullTypeSql(c3=c3)
+ self.resCmp(input_sql, stb_name)
+ for c3 in ["-2147483648i32", "2147483648i32"]:
+ input_sql = self.genFullTypeSql(c3=c3)[0]
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+
+ # i64
+ for c4 in ["-9223372036854775807i64"]:
+ input_sql, stb_name = self.genFullTypeSql(c4=c4)
+ self.resCmp(input_sql, stb_name)
+ for c4 in ["-9223372036854775808i64", "9223372036854775808i64"]:
+ input_sql = self.genFullTypeSql(c4=c4)[0]
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+
+ # f32
+ for c5 in [f"{-3.4028234663852885981170418348451692544*(10**38)}f32", f"{3.4028234663852885981170418348451692544*(10**38)}f32"]:
+ input_sql, stb_name = self.genFullTypeSql(c5=c5)
+ self.resCmp(input_sql, stb_name)
+ # * limit set to 4028234664*(10**38)
+ for c5 in [f"{-3.4028234664*(10**38)}f32", f"{3.4028234664*(10**38)}f32"]:
+ input_sql = self.genFullTypeSql(c5=c5)[0]
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+
+ # f64
+ for c6 in [f'{-1.79769313486231570814527423731704356798070567525844996598917476803157260780*(10**308)}f64', f'{-1.79769313486231570814527423731704356798070567525844996598917476803157260780*(10**308)}f64']:
+ input_sql, stb_name = self.genFullTypeSql(c6=c6)
+ self.resCmp(input_sql, stb_name)
+ # * limit set to 1.797693134862316*(10**308)
+ for c6 in [f'{-1.797693134862316*(10**308)}f64', f'{-1.797693134862316*(10**308)}f64']:
+ input_sql = self.genFullTypeSql(c6=c6)[0]
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+
+ # # binary
+ stb_name = self.getLongName(7, "letters")
+ input_sql = f'{stb_name},t0=t c0=f,c1="{self.getLongName(16374, "letters")}" 1626006833639000000ns'
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkEqual(code, 0)
+ input_sql = f'{stb_name},t0=t c0=f,c1="{self.getLongName(16375, "letters")}" 1626006833639000000ns'
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+
+ # nchar
+ # * legal nchar could not be larger than 16374/4
+ stb_name = self.getLongName(7, "letters")
+ input_sql = f'{stb_name},t0=t c0=f,c1=L"{self.getLongName(4093, "letters")}" 1626006833639000000ns'
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkEqual(code, 0)
+ input_sql = f'{stb_name},t0=t c0=f,c1=L"{self.getLongName(4094, "letters")}" 1626006833639000000ns'
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+
+ def tagColIllegalValueCheckCase(self):
+
+ """
+ test illegal tag col value
+ """
+ self.cleanStb()
+ # bool
+ for i in ["TrUe", "tRue", "trUe", "truE", "FalsE", "fAlse", "faLse", "falSe", "falsE"]:
+ input_sql1 = self.genFullTypeSql(t0=i)[0]
+ code = self._conn.insertLines([input_sql1])
+ tdSql.checkNotEqual(code, 0)
+ input_sql2 = self.genFullTypeSql(c0=i)[0]
+ code = self._conn.insertLines([input_sql2])
+ tdSql.checkNotEqual(code, 0)
+
+ # i8 i16 i32 i64 f32 f64
+ for input_sql in [
+ self.genFullTypeSql(t1="1s2i8")[0],
+ self.genFullTypeSql(t2="1s2i16")[0],
+ self.genFullTypeSql(t3="1s2i32")[0],
+ self.genFullTypeSql(t4="1s2i64")[0],
+ self.genFullTypeSql(t5="11.1s45f32")[0],
+ self.genFullTypeSql(t6="11.1s45f64")[0],
+ self.genFullTypeSql(c1="1s2i8")[0],
+ self.genFullTypeSql(c2="1s2i16")[0],
+ self.genFullTypeSql(c3="1s2i32")[0],
+ self.genFullTypeSql(c4="1s2i64")[0],
+ self.genFullTypeSql(c5="11.1s45f32")[0],
+ self.genFullTypeSql(c6="11.1s45f64")[0],
+ self.genFullTypeSql(c9="1s1u64")[0]
+ ]:
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+
+ # check binary and nchar blank
+ stb_name = self.getLongName(7, "letters")
+ input_sql1 = f'{stb_name},t0=t c0=f,c1="abc aaa" 1626006833639000000ns'
+ input_sql2 = f'{stb_name},t0=t c0=f,c1=L"abc aaa" 1626006833639000000ns'
+ input_sql3 = f'{stb_name},t0=t,t1="abc aaa" c0=f 1626006833639000000ns'
+ input_sql4 = f'{stb_name},t0=t,t1=L"abc aaa" c0=f 1626006833639000000ns'
+ for input_sql in [input_sql1, input_sql2, input_sql3, input_sql4]:
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+
+ # check accepted binary and nchar symbols
+ # # * ~!@#$¥%^&*()-+={}|[]、「」:;
+ for symbol in list('~!@#$¥%^&*()-+={}|[]、「」:;'):
+ input_sql1 = f'{stb_name},t0=t c0=f,c1="abc{symbol}aaa" 1626006833639000000ns'
+ input_sql2 = f'{stb_name},t0=t,t1="abc{symbol}aaa" c0=f 1626006833639000000ns'
+ code = self._conn.insertLines([input_sql1])
+ tdSql.checkEqual(code, 0)
+ code = self._conn.insertLines([input_sql2])
+ tdSql.checkEqual(code, 0)
+
+
+ def duplicateIdTagColInsertCheckCase(self):
+ """
+ check duplicate Id Tag Col
+ """
+ self.cleanStb()
+ input_sql_id = self.genFullTypeSql(id_double_tag=True)[0]
+ code = self._conn.insertLines([input_sql_id])
+ tdSql.checkNotEqual(code, 0)
+
+ input_sql = self.genFullTypeSql()[0]
+ input_sql_tag = input_sql.replace("t5", "t6")
+ code = self._conn.insertLines([input_sql_tag])
+ tdSql.checkNotEqual(code, 0)
+
+ input_sql = self.genFullTypeSql()[0]
+ input_sql_col = input_sql.replace("c5", "c6")
+ code = self._conn.insertLines([input_sql_col])
+ tdSql.checkNotEqual(code, 0)
+
+ input_sql = self.genFullTypeSql()[0]
+ input_sql_col = input_sql.replace("c5", "C6")
+ code = self._conn.insertLines([input_sql_col])
+ tdSql.checkNotEqual(code, 0)
+
+ ##### stb exist #####
+ def noIdStbExistCheckCase(self):
+ """
+ case no id when stb exist
+ """
+ self.cleanStb()
+ input_sql, stb_name = self.genFullTypeSql(t0="f", c0="f")
+ self.resCmp(input_sql, stb_name)
+ input_sql, stb_name = self.genFullTypeSql(stb_name=stb_name, id_noexist_tag=True, t0="f", c0="f")
+ self.resCmp(input_sql, stb_name, condition='where tbname like "t_%"')
+ tdSql.query(f"select * from {stb_name}")
+ tdSql.checkRows(2)
+ # TODO cover other case
+
+ def duplicateInsertExistCheckCase(self):
+ """
+ check duplicate insert when stb exist
+ """
+ self.cleanStb()
+ input_sql, stb_name = self.genFullTypeSql()
+ self.resCmp(input_sql, stb_name)
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkEqual(code, 0)
+ self.resCmp(input_sql, stb_name)
+
+ def tagColBinaryNcharLengthCheckCase(self):
+ """
+ check length increase
+ """
+ self.cleanStb()
+ input_sql, stb_name = self.genFullTypeSql()
+ self.resCmp(input_sql, stb_name)
+ tb_name = self.getLongName(5, "letters")
+ input_sql, stb_name = self.genFullTypeSql(stb_name=stb_name, tb_name=tb_name,t7="\"binaryTagValuebinaryTagValue\"", t8="L\"ncharTagValuencharTagValue\"", c7="\"binaryTagValuebinaryTagValue\"", c8="L\"ncharTagValuencharTagValue\"")
+ self.resCmp(input_sql, stb_name, condition=f'where tbname like "{tb_name}"')
+
+ def tagColAddDupIDCheckCase(self):
+ """
+ check column and tag count add, stb and tb duplicate
+ * tag: alter table ...
+ * col: when update==0 and ts is same, unchange
+ * so this case tag&&value will be added,
+ * col is added without value when update==0
+ * col is added with value when update==1
+ """
+ self.cleanStb()
+ tb_name = self.getLongName(7, "letters")
+ for db_update_tag in [0, 1]:
+ if db_update_tag == 1 :
+ self.createDb("test_update", db_update_tag=db_update_tag)
+ input_sql, stb_name = self.genFullTypeSql(tb_name=tb_name, t0="f", c0="f")
+ self.resCmp(input_sql, stb_name)
+ self.genFullTypeSql(stb_name=stb_name, tb_name=tb_name, t0="f", c0="f", ct_add_tag=True)
+ if db_update_tag == 1 :
+ self.resCmp(input_sql, stb_name, condition=f'where tbname like "{tb_name}"')
+ else:
+ self.resCmp(input_sql, stb_name, condition=f'where tbname like "{tb_name}"', none_check_tag=True)
+
+ def tagColAddCheckCase(self):
+ """
+ check column and tag count add
+ """
+ self.cleanStb()
+ tb_name = self.getLongName(7, "letters")
+ input_sql, stb_name = self.genFullTypeSql(tb_name=tb_name, t0="f", c0="f")
+ self.resCmp(input_sql, stb_name)
+ tb_name_1 = self.getLongName(7, "letters")
+ input_sql, stb_name = self.genFullTypeSql(stb_name=stb_name, tb_name=tb_name_1, t0="f", c0="f", ct_add_tag=True)
+ self.resCmp(input_sql, stb_name, condition=f'where tbname like "{tb_name_1}"')
+ res_row_list = self.resHandle(f"select c10,c11,t10,t11 from {tb_name}", True)[0]
+ tdSql.checkEqual(res_row_list[0], ['None', 'None', 'None', 'None'])
+ self.resCmp(input_sql, stb_name, condition=f'where tbname like "{tb_name}"', none_check_tag=True)
+
+ def tagMd5Check(self):
+ """
+ condition: stb not change
+ insert two table, keep tag unchange, change col
+ """
+ self.cleanStb()
+ input_sql, stb_name = self.genFullTypeSql(t0="f", c0="f", id_noexist_tag=True)
+ self.resCmp(input_sql, stb_name)
+ tb_name1 = self.getNoIdTbName(stb_name)
+ input_sql, stb_name = self.genFullTypeSql(stb_name=stb_name, t0="f", c0="f", id_noexist_tag=True)
+ self.resCmp(input_sql, stb_name)
+ tb_name2 = self.getNoIdTbName(stb_name)
+ tdSql.query(f"select * from {stb_name}")
+ tdSql.checkRows(1)
+ tdSql.checkEqual(tb_name1, tb_name2)
+ input_sql, stb_name = self.genFullTypeSql(stb_name=stb_name, t0="f", c0="f", id_noexist_tag=True, ct_add_tag=True)
+ self._conn.insertLines([input_sql])
+ tb_name3 = self.getNoIdTbName(stb_name)
+ tdSql.query(f"select * from {stb_name}")
+ tdSql.checkRows(2)
+ tdSql.checkNotEqual(tb_name1, tb_name3)
+
+ # * tag binary max is 16384, col+ts binary max 49151
+ def tagColBinaryMaxLengthCheckCase(self):
+ """
+ every binary and nchar must be length+2
+ """
+ self.cleanStb()
+ stb_name = self.getLongName(7, "letters")
+ tb_name = f'{stb_name}_1'
+ input_sql = f'{stb_name},id="{tb_name}",t0=t c0=f 1626006833639000000ns'
+ code = self._conn.insertLines([input_sql])
+
+ # * every binary and nchar must be length+2, so here is two tag, max length could not larger than 16384-2*2
+ input_sql = f'{stb_name},t0=t,t1="{self.getLongName(16374, "letters")}",t2="{self.getLongName(5, "letters")}" c0=f 1626006833639000000ns'
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkEqual(code, 0)
+ tdSql.query(f"select * from {stb_name}")
+ tdSql.checkRows(2)
+ input_sql = f'{stb_name},t0=t,t1="{self.getLongName(16374, "letters")}",t2="{self.getLongName(6, "letters")}" c0=f 1626006833639000000ns'
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+ tdSql.query(f"select * from {stb_name}")
+ tdSql.checkRows(2)
+
+ # # * check col,col+ts max in describe ---> 16143
+ input_sql = f'{stb_name},t0=t c0=f,c1="{self.getLongName(16374, "letters")}",c2="{self.getLongName(16374, "letters")}",c3="{self.getLongName(16374, "letters")}",c4="{self.getLongName(12, "letters")}" 1626006833639000000ns'
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkEqual(code, 0)
+ tdSql.query(f"select * from {stb_name}")
+ tdSql.checkRows(3)
+ input_sql = f'{stb_name},t0=t c0=f,c1="{self.getLongName(16374, "letters")}",c2="{self.getLongName(16374, "letters")}",c3="{self.getLongName(16374, "letters")}",c4="{self.getLongName(13, "letters")}" 1626006833639000000ns'
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+ tdSql.query(f"select * from {stb_name}")
+ tdSql.checkRows(3)
+
+ # * tag nchar max is 16374/4, col+ts nchar max 49151
+ def tagColNcharMaxLengthCheckCase(self):
+ """
+ check nchar length limit
+ """
+ self.cleanStb()
+ stb_name = self.getLongName(7, "letters")
+ tb_name = f'{stb_name}_1'
+ input_sql = f'{stb_name},id="{tb_name}",t0=t c0=f 1626006833639000000ns'
+ code = self._conn.insertLines([input_sql])
+
+ # * legal nchar could not be larger than 16374/4
+ input_sql = f'{stb_name},t0=t,t1=L"{self.getLongName(4093, "letters")}",t2=L"{self.getLongName(1, "letters")}" c0=f 1626006833639000000ns'
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkEqual(code, 0)
+ tdSql.query(f"select * from {stb_name}")
+ tdSql.checkRows(2)
+ input_sql = f'{stb_name},t0=t,t1=L"{self.getLongName(4093, "letters")}",t2=L"{self.getLongName(2, "letters")}" c0=f 1626006833639000000ns'
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+ tdSql.query(f"select * from {stb_name}")
+ tdSql.checkRows(2)
+
+ input_sql = f'{stb_name},t0=t c0=f,c1=L"{self.getLongName(4093, "letters")}",c2=L"{self.getLongName(4093, "letters")}",c3=L"{self.getLongName(4093, "letters")}",c4=L"{self.getLongName(4, "letters")}" 1626006833639000000ns'
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkEqual(code, 0)
+ tdSql.query(f"select * from {stb_name}")
+ tdSql.checkRows(3)
+ input_sql = f'{stb_name},t0=t c0=f,c1=L"{self.getLongName(4093, "letters")}",c2=L"{self.getLongName(4093, "letters")}",c3=L"{self.getLongName(4093, "letters")}",c4=L"{self.getLongName(5, "letters")}" 1626006833639000000ns'
+ code = self._conn.insertLines([input_sql])
+ tdSql.checkNotEqual(code, 0)
+ tdSql.query(f"select * from {stb_name}")
+ tdSql.checkRows(3)
+
+ def batchInsertCheckCase(self):
+ """
+ test batch insert
+ """
+ self.cleanStb()
+ stb_name = self.getLongName(8, "letters")
+ tdSql.execute(f'create stable {stb_name}(ts timestamp, f int) tags(t1 bigint)')
+ lines = ["st123456,t1=3i64,t2=4f64,t3=\"t3\" c1=3i64,c3=L\"passit\",c2=false,c4=4f64 1626006833639000000ns",
+ "st123456,t1=4i64,t3=\"t4\",t2=5f64,t4=5f64 c1=3i64,c3=L\"passitagin\",c2=true,c4=5f64,c5=5f64 1626006833640000000ns",
+ f"{stb_name},t2=5f64,t3=L\"ste\" c1=true,c2=4i64,c3=\"iam\" 1626056811823316532ns",
+ "stf567890,t1=4i64,t3=\"t4\",t2=5f64,t4=5f64 c1=3i64,c3=L\"passitagin\",c2=true,c4=5f64,c5=5f64,c6=7u64 1626006933640000000ns",
+ "st123456,t1=4i64,t2=5f64,t3=\"t4\" c1=3i64,c3=L\"passitagain\",c2=true,c4=5f64 1626006833642000000ns",
+ f"{stb_name},t2=5f64,t3=L\"ste2\" c3=\"iamszhou\",c4=false 1626056811843316532ns",
+ f"{stb_name},t2=5f64,t3=L\"ste2\" c3=\"iamszhou\",c4=false,c5=32i8,c6=64i16,c7=32i32,c8=88.88f32 1626056812843316532ns",
+ "st123456,t1=4i64,t3=\"t4\",t2=5f64,t4=5f64 c1=3i64,c3=L\"passitagin\",c2=true,c4=5f64,c5=5f64,c6=7u64 1626006933640000000ns",
+ "st123456,t1=4i64,t3=\"t4\",t2=5f64,t4=5f64 c1=3i64,c3=L\"passitagin_stf\",c2=false,c5=5f64,c6=7u64 1626006933641000000ns"
+ ]
+ code = self._conn.insertLines(lines)
+ tdSql.checkEqual(code, 0)
+
+ def multiInsertCheckCase(self, count):
+ """
+ test multi insert
+ """
+ self.cleanStb()
+ sql_list = []
+ stb_name = self.getLongName(8, "letters")
+ tdSql.execute(f'create stable {stb_name}(ts timestamp, f int) tags(t1 bigint)')
+ for i in range(count):
+ input_sql = self.genFullTypeSql(stb_name=stb_name, t7=f'"{self.getLongName(8, "letters")}"', c7=f'"{self.getLongName(8, "letters")}"', id_noexist_tag=True)[0]
+ sql_list.append(input_sql)
+ code = self._conn.insertLines(sql_list)
+ tdSql.checkEqual(code, 0)
+
+ def batchErrorInsertCheckCase(self):
+ """
+ test batch error insert
+ """
+ self.cleanStb()
+ stb_name = self.getLongName(8, "letters")
+ lines = ["st123456,t1=3i64,t2=4f64,t3=\"t3\" c1=3i64,c3=L\"passit\",c2=false,c4=4f64 1626006833639000000ns",
+ f"{stb_name},t2=5f64,t3=L\"ste\" c1=tRue,c2=4i64,c3=\"iam\" 1626056811823316532ns"]
+ code = self._conn.insertLines(lines)
+ tdSql.checkNotEqual(code, 0)
+
+ def genSqlList(self, count=5, stb_name="", tb_name=""):
+ """
+ stb --> supertable
+ tb --> table
+ ts --> timestamp, same default
+ col --> column, same default
+ tag --> tag, same default
+ d --> different
+ s --> same
+ a --> add
+ m --> minus
+ """
+ d_stb_d_tb_list = list()
+ s_stb_s_tb_list = list()
+ s_stb_s_tb_a_col_a_tag_list = list()
+ s_stb_s_tb_m_col_m_tag_list = list()
+ s_stb_d_tb_list = list()
+ s_stb_d_tb_a_col_m_tag_list = list()
+ s_stb_d_tb_a_tag_m_col_list = list()
+ s_stb_s_tb_d_ts_list = list()
+ s_stb_s_tb_d_ts_a_col_m_tag_list = list()
+ s_stb_s_tb_d_ts_a_tag_m_col_list = list()
+ s_stb_d_tb_d_ts_list = list()
+ s_stb_d_tb_d_ts_a_col_m_tag_list = list()
+ s_stb_d_tb_d_ts_a_tag_m_col_list = list()
+ for i in range(count):
+ d_stb_d_tb_list.append(self.genFullTypeSql(t0="f", c0="f"))
+ s_stb_s_tb_list.append(self.genFullTypeSql(stb_name=stb_name, tb_name=tb_name, t7=f'"{self.getLongName(8, "letters")}"', c7=f'"{self.getLongName(8, "letters")}"'))
+ s_stb_s_tb_a_col_a_tag_list.append(self.genFullTypeSql(stb_name=stb_name, tb_name=tb_name, t7=f'"{self.getLongName(8, "letters")}"', c7=f'"{self.getLongName(8, "letters")}"', ct_add_tag=True))
+ s_stb_s_tb_m_col_m_tag_list.append(self.genFullTypeSql(stb_name=stb_name, tb_name=tb_name, t7=f'"{self.getLongName(8, "letters")}"', c7=f'"{self.getLongName(8, "letters")}"', ct_min_tag=True))
+ s_stb_d_tb_list.append(self.genFullTypeSql(stb_name=stb_name, t7=f'"{self.getLongName(8, "letters")}"', c7=f'"{self.getLongName(8, "letters")}"', id_noexist_tag=True))
+ s_stb_d_tb_a_col_m_tag_list.append(self.genFullTypeSql(stb_name=stb_name, t7=f'"{self.getLongName(8, "letters")}"', c7=f'"{self.getLongName(8, "letters")}"', id_noexist_tag=True, ct_am_tag=True))
+ s_stb_d_tb_a_tag_m_col_list.append(self.genFullTypeSql(stb_name=stb_name, t7=f'"{self.getLongName(8, "letters")}"', c7=f'"{self.getLongName(8, "letters")}"', id_noexist_tag=True, ct_ma_tag=True))
+ s_stb_s_tb_d_ts_list.append(self.genFullTypeSql(stb_name=stb_name, tb_name=tb_name, t7=f'"{self.getLongName(8, "letters")}"', c7=f'"{self.getLongName(8, "letters")}"', ts=0))
+ s_stb_s_tb_d_ts_a_col_m_tag_list.append(self.genFullTypeSql(stb_name=stb_name, tb_name=tb_name, t7=f'"{self.getLongName(8, "letters")}"', c7=f'"{self.getLongName(8, "letters")}"', ts=0, ct_am_tag=True))
+ s_stb_s_tb_d_ts_a_tag_m_col_list.append(self.genFullTypeSql(stb_name=stb_name, tb_name=tb_name, t7=f'"{self.getLongName(8, "letters")}"', c7=f'"{self.getLongName(8, "letters")}"', ts=0, ct_ma_tag=True))
+ s_stb_d_tb_d_ts_list.append(self.genFullTypeSql(stb_name=stb_name, t7=f'"{self.getLongName(8, "letters")}"', c7=f'"{self.getLongName(8, "letters")}"', id_noexist_tag=True, ts=0))
+ s_stb_d_tb_d_ts_a_col_m_tag_list.append(self.genFullTypeSql(stb_name=stb_name, t7=f'"{self.getLongName(8, "letters")}"', c7=f'"{self.getLongName(8, "letters")}"', id_noexist_tag=True, ts=0, ct_am_tag=True))
+ s_stb_d_tb_d_ts_a_tag_m_col_list.append(self.genFullTypeSql(stb_name=stb_name, t7=f'"{self.getLongName(8, "letters")}"', c7=f'"{self.getLongName(8, "letters")}"', id_noexist_tag=True, ts=0, ct_ma_tag=True))
+
+ return d_stb_d_tb_list, s_stb_s_tb_list, s_stb_s_tb_a_col_a_tag_list, s_stb_s_tb_m_col_m_tag_list, \
+ s_stb_d_tb_list, s_stb_d_tb_a_col_m_tag_list, s_stb_d_tb_a_tag_m_col_list, s_stb_s_tb_d_ts_list, \
+ s_stb_s_tb_d_ts_a_col_m_tag_list, s_stb_s_tb_d_ts_a_tag_m_col_list, s_stb_d_tb_d_ts_list, \
+ s_stb_d_tb_d_ts_a_col_m_tag_list, s_stb_d_tb_d_ts_a_tag_m_col_list
+
+
+ def genMultiThreadSeq(self, sql_list):
+ tlist = list()
+ for insert_sql in sql_list:
+ t = threading.Thread(target=self._conn.insertLines,args=([insert_sql[0]],))
+ tlist.append(t)
+ return tlist
+
+ def multiThreadRun(self, tlist):
+ for t in tlist:
+ t.start()
+ for t in tlist:
+ t.join()
+
+ def stbInsertMultiThreadCheckCase(self):
+ """
+ thread input different stb
+ """
+ self.cleanStb()
+ input_sql = self.genSqlList()[0]
+ self.multiThreadRun(self.genMultiThreadSeq(input_sql))
+ tdSql.query(f"show tables;")
+ tdSql.checkRows(5)
+
+ def sStbStbDdataInsertMultiThreadCheckCase(self):
+ """
+ thread input same stb tb, different data, result keep first data
+ """
+ self.cleanStb()
+ tb_name = self.getLongName(7, "letters")
+ input_sql, stb_name = self.genFullTypeSql(tb_name=tb_name)
+ self.resCmp(input_sql, stb_name)
+ s_stb_s_tb_list = self.genSqlList(stb_name=stb_name, tb_name=tb_name)[1]
+ self.multiThreadRun(self.genMultiThreadSeq(s_stb_s_tb_list))
+ tdSql.query(f"show tables;")
+ tdSql.checkRows(1)
+ expected_tb_name = self.getNoIdTbName(stb_name)[0]
+ tdSql.checkEqual(tb_name, expected_tb_name)
+ tdSql.query(f"select * from {stb_name};")
+ tdSql.checkRows(1)
+
+ def sStbStbDdataAtcInsertMultiThreadCheckCase(self):
+ """
+ thread input same stb tb, different data, add columes and tags, result keep first data
+ """
+ self.cleanStb()
+ tb_name = self.getLongName(7, "letters")
+ input_sql, stb_name = self.genFullTypeSql(tb_name=tb_name)
+ self.resCmp(input_sql, stb_name)
+ s_stb_s_tb_a_col_a_tag_list = self.genSqlList(stb_name=stb_name, tb_name=tb_name)[2]
+ self.multiThreadRun(self.genMultiThreadSeq(s_stb_s_tb_a_col_a_tag_list))
+ tdSql.query(f"show tables;")
+ tdSql.checkRows(1)
+ expected_tb_name = self.getNoIdTbName(stb_name)[0]
+ tdSql.checkEqual(tb_name, expected_tb_name)
+ tdSql.query(f"select * from {stb_name};")
+ tdSql.checkRows(1)
+
+ def sStbStbDdataMtcInsertMultiThreadCheckCase(self):
+ """
+ thread input same stb tb, different data, minus columes and tags, result keep first data
+ """
+ self.cleanStb()
+ tb_name = self.getLongName(7, "letters")
+ input_sql, stb_name = self.genFullTypeSql(tb_name=tb_name)
+ self.resCmp(input_sql, stb_name)
+ s_stb_s_tb_m_col_m_tag_list = self.genSqlList(stb_name=stb_name, tb_name=tb_name)[3]
+ self.multiThreadRun(self.genMultiThreadSeq(s_stb_s_tb_m_col_m_tag_list))
+ tdSql.query(f"show tables;")
+ tdSql.checkRows(1)
+ expected_tb_name = self.getNoIdTbName(stb_name)[0]
+ tdSql.checkEqual(tb_name, expected_tb_name)
+ tdSql.query(f"select * from {stb_name};")
+ tdSql.checkRows(1)
+
+ def sStbDtbDdataInsertMultiThreadCheckCase(self):
+ """
+ thread input same stb, different tb, different data
+ """
+ self.cleanStb()
+ input_sql, stb_name = self.genFullTypeSql()
+ self.resCmp(input_sql, stb_name)
+ s_stb_d_tb_list = self.genSqlList(stb_name=stb_name)[4]
+ self.multiThreadRun(self.genMultiThreadSeq(s_stb_d_tb_list))
+ tdSql.query(f"show tables;")
+ tdSql.checkRows(6)
+
+ def sStbDtbDdataAcMtInsertMultiThreadCheckCase(self):
+ """
+ #! concurrency conflict
+ """
+ """
+ thread input same stb, different tb, different data, add col, mul tag
+ """
+ self.cleanStb()
+ input_sql, stb_name = self.genFullTypeSql()
+ self.resCmp(input_sql, stb_name)
+ s_stb_d_tb_a_col_m_tag_list = self.genSqlList(stb_name=stb_name)[5]
+ self.multiThreadRun(self.genMultiThreadSeq(s_stb_d_tb_a_col_m_tag_list))
+ tdSql.query(f"show tables;")
+ tdSql.checkRows(6)
+
+ def sStbDtbDdataAtMcInsertMultiThreadCheckCase(self):
+ """
+ #! concurrency conflict
+ """
+ """
+ thread input same stb, different tb, different data, add tag, mul col
+ """
+ self.cleanStb()
+ input_sql, stb_name = self.genFullTypeSql()
+ self.resCmp(input_sql, stb_name)
+ s_stb_d_tb_a_tag_m_col_list = self.genSqlList(stb_name=stb_name)[6]
+ self.multiThreadRun(self.genMultiThreadSeq(s_stb_d_tb_a_tag_m_col_list))
+ tdSql.query(f"show tables;")
+ tdSql.checkRows(6)
+
+ def sStbStbDdataDtsInsertMultiThreadCheckCase(self):
+ """
+ thread input same stb tb, different ts
+ """
+ self.cleanStb()
+ tb_name = self.getLongName(7, "letters")
+ input_sql, stb_name = self.genFullTypeSql(tb_name=tb_name)
+ self.resCmp(input_sql, stb_name)
+ s_stb_s_tb_d_ts_list = self.genSqlList(stb_name=stb_name, tb_name=tb_name)[7]
+ self.multiThreadRun(self.genMultiThreadSeq(s_stb_s_tb_d_ts_list))
+ tdSql.query(f"show tables;")
+ tdSql.checkRows(1)
+ tdSql.query(f"select * from {stb_name}")
+ tdSql.checkRows(6)
+
+ def sStbStbDdataDtsAcMtInsertMultiThreadCheckCase(self):
+ """
+ thread input same stb tb, different ts, add col, mul tag
+ """
+ self.cleanStb()
+ tb_name = self.getLongName(7, "letters")
+ input_sql, stb_name = self.genFullTypeSql(tb_name=tb_name)
+ self.resCmp(input_sql, stb_name)
+ s_stb_s_tb_d_ts_a_col_m_tag_list = self.genSqlList(stb_name=stb_name, tb_name=tb_name)[8]
+ self.multiThreadRun(self.genMultiThreadSeq(s_stb_s_tb_d_ts_a_col_m_tag_list))
+ tdSql.query(f"show tables;")
+ tdSql.checkRows(1)
+ tdSql.query(f"select * from {stb_name}")
+ tdSql.checkRows(6)
+ tdSql.query(f"select * from {stb_name} where t8 is not NULL")
+ tdSql.checkRows(6)
+ tdSql.query(f"select * from {tb_name} where c11 is not NULL;")
+ tdSql.checkRows(5)
+
+ def sStbStbDdataDtsAtMcInsertMultiThreadCheckCase(self):
+ """
+ thread input same stb tb, different ts, add tag, mul col
+ """
+ self.cleanStb()
+ tb_name = self.getLongName(7, "letters")
+ input_sql, stb_name = self.genFullTypeSql(tb_name=tb_name)
+ self.resCmp(input_sql, stb_name)
+ s_stb_s_tb_d_ts_a_tag_m_col_list = self.genSqlList(stb_name=stb_name, tb_name=tb_name)[9]
+ self.multiThreadRun(self.genMultiThreadSeq(s_stb_s_tb_d_ts_a_tag_m_col_list))
+ tdSql.query(f"show tables;")
+ tdSql.checkRows(1)
+ tdSql.query(f"select * from {stb_name}")
+ tdSql.checkRows(6)
+ for c in ["c7", "c8", "c9"]:
+ tdSql.query(f"select * from {stb_name} where {c} is NULL")
+ tdSql.checkRows(5)
+ for t in ["t10", "t11"]:
+ tdSql.query(f"select * from {stb_name} where {t} is not NULL;")
+ tdSql.checkRows(6)
+
+ def sStbDtbDdataDtsInsertMultiThreadCheckCase(self):
+ """
+ thread input same stb, different tb, data, ts
+ """
+ self.cleanStb()
+ input_sql, stb_name = self.genFullTypeSql()
+ self.resCmp(input_sql, stb_name)
+ s_stb_d_tb_d_ts_list = self.genSqlList(stb_name=stb_name)[10]
+ self.multiThreadRun(self.genMultiThreadSeq(s_stb_d_tb_d_ts_list))
+ tdSql.query(f"show tables;")
+ tdSql.checkRows(6)
+
+ def sStbDtbDdataDtsAcMtInsertMultiThreadCheckCase(self):
+ """
+ # ! concurrency conflict
+ """
+ """
+ thread input same stb, different tb, data, ts, add col, mul tag
+ """
+ self.cleanStb()
+ input_sql, stb_name = self.genFullTypeSql()
+ self.resCmp(input_sql, stb_name)
+ s_stb_d_tb_d_ts_a_col_m_tag_list = self.genSqlList(stb_name=stb_name)[11]
+ self.multiThreadRun(self.genMultiThreadSeq(s_stb_d_tb_d_ts_a_col_m_tag_list))
+ tdSql.query(f"show tables;")
+ tdSql.checkRows(6)
+
+ def test(self):
+ input_sql1 = "rfasta,id=\"rfasta_1\",t0=true,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64,t7=\"ddzhiksj\",t8=L\"ncharTagValue\" c0=True,c1=127i8,c2=32767i16,c3=2147483647i32,c4=9223372036854775807i64,c5=11.12345f32,c6=22.123456789f64,c7=\"bnhwlgvj\",c8=L\"ncharTagValue\",c9=7u64 1626006933640000000ns"
+ input_sql2 = "rfasta,id=\"rfasta_1\",t0=true,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64 c0=True,c1=127i8,c2=32767i16,c3=2147483647i32,c4=9223372036854775807i64,c5=11.12345f32,c6=22.123456789f64 1626006933640000000ns"
+ code = self._conn.insertLines([input_sql1])
+ code = self._conn.insertLines([input_sql2])
+ print(code)
+ # self._conn.insertLines([input_sql2])
+ # input_sql3 = f'abcd,id="cc¥Ec",t0=True,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64,t7="ndsfdrum",t8=L"ncharTagValue" c0=f,c1=127i8,c2=32767i16,c3=2147483647i32,c4=9223372036854775807i64,c5=11.12345f32,c6=22.123456789f64,c7="igwoehkm",c8=L"ncharColValue",c9=7u64 0'
+ # print(input_sql3)
+ # input_sql4 = 'hmemeb,id="kilrcrldgf",t0=F,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64,t7="fysodjql",t8=L"ncharTagValue" c0=True,c1=127i8,c2=32767i16,c3=2147483647i32,c4=9223372036854775807i64,c5=11.12345f32,c6=22.123456789f64,c7="waszbfvc",c8=L"ncharColValue",c9=7u64 0'
+ # code = self._conn.insertLines([input_sql3])
+ # print(code)
+ # self._conn.insertLines([input_sql4])
+
+ def runAll(self):
+ self.initCheckCase()
+ self.boolTypeCheckCase()
+ self.symbolsCheckCase()
+ self.tsCheckCase()
+ self.idSeqCheckCase()
+ self.idUpperCheckCase()
+ self.noIdCheckCase()
+ self.maxColTagCheckCase()
+ self.idIllegalNameCheckCase()
+ self.idStartWithNumCheckCase()
+ self.nowTsCheckCase()
+ self.dateFormatTsCheckCase()
+ self.illegalTsCheckCase()
+ self.tagValueLengthCheckCase()
+ self.colValueLengthCheckCase()
+ self.tagColIllegalValueCheckCase()
+ self.duplicateIdTagColInsertCheckCase()
+ self.noIdStbExistCheckCase()
+ self.duplicateInsertExistCheckCase()
+ self.tagColBinaryNcharLengthCheckCase()
+ self.tagColAddDupIDCheckCase()
+ self.tagColAddCheckCase()
+ self.tagMd5Check()
+ self.tagColBinaryMaxLengthCheckCase()
+ # self.tagColNcharMaxLengthCheckCase()
+ self.batchInsertCheckCase()
+ self.multiInsertCheckCase(1000)
+ self.batchErrorInsertCheckCase()
+ # MultiThreads
+ self.stbInsertMultiThreadCheckCase()
+ self.sStbStbDdataInsertMultiThreadCheckCase()
+ self.sStbStbDdataAtcInsertMultiThreadCheckCase()
+ self.sStbStbDdataMtcInsertMultiThreadCheckCase()
+ self.sStbDtbDdataInsertMultiThreadCheckCase()
+
+ # # ! concurrency conflict
+ # self.sStbDtbDdataAcMtInsertMultiThreadCheckCase()
+ # self.sStbDtbDdataAtMcInsertMultiThreadCheckCase()
+
+ self.sStbStbDdataDtsInsertMultiThreadCheckCase()
+
+ # # ! concurrency conflict
+ # self.sStbStbDdataDtsAcMtInsertMultiThreadCheckCase()
+ # self.sStbStbDdataDtsAtMcInsertMultiThreadCheckCase()
+
+ self.sStbDtbDdataDtsInsertMultiThreadCheckCase()
+
+ # ! concurrency conflict
+ # self.sStbDtbDdataDtsAcMtInsertMultiThreadCheckCase()
+
+
+
+ def run(self):
+ print("running {}".format(__file__))
+ self.createDb()
+ self.runAll()
+ # self.tagColIllegalValueCheckCase()
+ # self.test()
+
+ def stop(self):
+ tdSql.close()
+ tdLog.success("%s successfully executed" % __file__)
+
+tdCases.addWindows(__file__, TDTestCase())
+tdCases.addLinux(__file__, TDTestCase())
diff --git a/tests/pytest/query/operator.py b/tests/pytest/query/operator.py
deleted file mode 100644
index 774a1e5f42403a6b5f67678e53be5e07beaccde2..0000000000000000000000000000000000000000
--- a/tests/pytest/query/operator.py
+++ /dev/null
@@ -1,536 +0,0 @@
-###################################################################
-# Copyright (c) 2016 by TAOS Technologies, Inc.
-# All rights reserved.
-#
-# This file is proprietary and confidential to TAOS Technologies.
-# No part of this file may be reproduced, stored, transmitted,
-# disclosed or used in any form or by any means other than as
-# expressly provided by the written permission from Jianhui Tao
-#
-###################################################################
-
-# -*- coding: utf-8 -*-
-
-import sys
-import taos
-from util.log import tdLog
-from util.cases import tdCases
-from util.sql import tdSql
-import random
-import time
-
-
-class TDTestCase:
- def init(self, conn, logSql):
- tdLog.debug("start to execute %s" % __file__)
- tdSql.init(conn.cursor(), logSql)
-
- self.ts = 1600000000000
- self.num = 10
-
- def run(self):
- tdSql.prepare()
- # test case for https://jira.taosdata.com:18080/browse/TD-5074
-
- startTime = time.time()
-
- tdSql.execute('''create stable stable_1
- (ts timestamp , q_int int , q_bigint bigint , q_smallint smallint , q_tinyint tinyint,
- q_bool bool , q_binary binary(20) , q_nchar nchar(20) ,
- q_float float , q_double double , q_ts timestamp)
- tags(loc nchar(20) , t_int int , t_bigint bigint , t_smallint smallint , t_tinyint tinyint,
- t_bool bool , t_binary binary(20) , t_nchar nchar(20) ,
- t_float float , t_double double , t_ts timestamp);''')
- tdSql.execute('''create stable stable_2
- (ts timestamp , q_int int , q_bigint bigint , q_smallint smallint , q_tinyint tinyint,
- q_bool bool , q_binary binary(20) , q_nchar nchar(20) ,
- q_float float , q_double double , q_ts timestamp)
- tags(loc nchar(20) , t_int int , t_bigint bigint , t_smallint smallint , t_tinyint tinyint,
- t_bool bool , t_binary binary(20) , t_nchar nchar(20) ,
- t_float float , t_double double , t_ts timestamp);''')
- tdSql.execute('''create table table_0 using stable_1
- tags('table_0' , '0' , '0' , '0' , '0' , 0 , '0' , '0' , '0' , '0' ,'0')''')
- tdSql.execute('''create table table_1 using stable_1
- tags('table_1' , '2147483647' , '9223372036854775807' , '32767' , '127' , 1 ,
- 'binary1' , 'nchar1' , '1' , '11' , \'1999-09-09 09:09:09.090\')''')
- tdSql.execute('''create table table_2 using stable_1
- tags('table_2' , '-2147483647' , '-9223372036854775807' , '-32767' , '-127' , false ,
- 'binary2' , 'nchar2nchar2' , '-2.2' , '-22.22' , \'2099-09-09 09:09:09.090\')''')
- tdSql.execute('''create table table_3 using stable_1
- tags('table_3' , '3' , '3' , '3' , '3' , true , 'binary3' , 'nchar3' , '33.33' , '3333.3333' , '0')''')
- tdSql.execute('''create table table_4 using stable_1
- tags('table_4' , '4' , '4' , '4' , '4' , false , 'binary4' , 'nchar4' , '-444.444' , '-444444.444444' , '0')''')
- tdSql.execute('''create table table_5 using stable_1
- tags('table_5' , '5' , '5' , '5' , '5' , true , 'binary5' , 'nchar5' , '5555.5555' , '55555555.55555555' , '0')''')
- tdSql.execute('''create table table_21 using stable_2
- tags('table_5' , '5' , '5' , '5' , '5' , true , 'binary5' , 'nchar5' , '5555.5555' , '55555555.55555555' , '0')''')
- #regular table
- tdSql.execute('''create table regular_table_1
- (ts timestamp , q_int int , q_bigint bigint , q_smallint smallint , q_tinyint tinyint,
- q_bool bool , q_binary binary(20) , q_nchar nchar(20) ,
- q_float float , q_double double , q_ts timestamp) ;''')
-
- for i in range(self.num):
- tdSql.execute('''insert into table_0 values(%d, %d, %d, %d, %d, 0, 'binary.%s', 'nchar.%s', %f, %f, %d)'''
- % (self.ts + i, i, i, i, i, i, i, i, i, self.ts + i))
- tdSql.execute('''insert into table_1 values(%d, %d, %d, %d, %d, 1, 'binary1.%s', 'nchar1.%s', %f, %f, %d)'''
- % (self.ts + i, 2147483647-i, 9223372036854775807-i, 32767-i, 127-i,
- i, i, random.random(), random.random(), 1262304000001 + i))
- tdSql.execute('''insert into table_2 values(%d, %d, %d, %d, %d, true, 'binary2.%s', 'nchar2nchar2.%s', %f, %f, %d)'''
- % (self.ts + i, -2147483647+i, -9223372036854775807+i, -32767+i, -127+i,
- i, i, random.uniform(-1,0), random.uniform(-1,0), 1577836800001 + i))
- tdSql.execute('''insert into table_3 values(%d, %d, %d, %d, %d, false, 'binary3.%s', 'nchar3.%s', %f, %f, %d)'''
- % (self.ts + i, random.randint(-2147483647, 2147483647),
- random.randint(-9223372036854775807, 9223372036854775807), random.randint(-32767, 32767),
- random.randint(-127, 127), random.randint(-100, 100), random.randint(-10000, 10000),
- random.uniform(-100000,100000), random.uniform(-1000000000,1000000000), self.ts + i))
- tdSql.execute('''insert into table_4 values(%d, %d, %d, %d, %d, true, 'binary4.%s', 'nchar4.%s', %f, %f, %d)'''
- % (self.ts + i, i, i, i, i, i, i, i, i, self.ts + i))
- tdSql.execute('''insert into table_5 values(%d, %d, %d, %d, %d, false, 'binary5.%s', 'nchar5.%s', %f, %f, %d)'''
- % (self.ts + i, i, i, i, i, i, i, i, i, self.ts + i))
- tdSql.execute('''insert into table_21 values(%d, %d, %d, %d, %d, false, 'binary5.%s', 'nchar5.%s', %f, %f, %d)'''
- % (self.ts + i, i, i, i, i, i, i, i, i, self.ts + i))
-
- tdSql.execute('''insert into regular_table_1 values(%d, %d, %d, %d, %d, 0, 'binary.%s', 'nchar.%s', %f, %f, %d)'''
- % (self.ts + i, i, i, i, i, i, i, i, i, self.ts + i))
- tdSql.execute('''insert into regular_table_1 values(%d, %d, %d, %d, %d, 1, 'binary1.%s', 'nchar1.%s', %f, %f, %d)'''
- % (self.ts + 100 + i, 2147483647-i, 9223372036854775807-i, 32767-i, 127-i,
- i, i, random.random(), random.random(), 1262304000001 + i))
- tdSql.execute('''insert into regular_table_1 values(%d, %d, %d, %d, %d, true, 'binary2.%s', 'nchar2nchar2.%s', %f, %f, %d)'''
- % (self.ts + 200 + i, -2147483647+i, -9223372036854775807+i, -32767+i, -127+i,
- i, i, random.uniform(-1,0), random.uniform(-1,0), 1577836800001 + i))
- tdSql.execute('''insert into regular_table_1 values(%d, %d, %d, %d, %d, false, 'binary3.%s', 'nchar3.%s', %f, %f, %d)'''
- % (self.ts + 300 + i, random.randint(-2147483647, 2147483647),
- random.randint(-9223372036854775807, 9223372036854775807), random.randint(-32767, 32767),
- random.randint(-127, 127), random.randint(-100, 100), random.randint(-10000, 10000),
- random.uniform(-100000,100000), random.uniform(-1000000000,1000000000), self.ts + i))
- tdSql.execute('''insert into regular_table_1 values(%d, %d, %d, %d, %d, true, 'binary4.%s', 'nchar4.%s', %f, %f, %d)'''
- % (self.ts + 400 + i, i, i, i, i, i, i, i, i, self.ts + i))
- tdSql.execute('''insert into regular_table_1 values(%d, %d, %d, %d, %d, false, 'binary5.%s', 'nchar5.%s', %f, %f, %d)'''
- % (self.ts + 500 + i, i, i, i, i, i, i, i, i, self.ts + i))
-
- tdLog.info("========== operator=1(OP_TableScan) ==========")
- tdLog.info("========== operator=7(OP_Project) ==========")
- sql = '''select * from stable_1'''
- tdSql.query(sql)
- tdSql.checkRows(6*self.num)
- sql = '''select * from regular_table_1'''
- tdSql.query(sql)
- tdSql.checkRows(6*self.num)
-
- tdLog.info("========== operator=14(OP_MultiTableAggregate ) ==========")
- sql = '''select last_row(*) from stable_1;'''
- tdSql.query(sql)
- tdSql.checkData(0,1,self.num-1)
-
- tdLog.info("========== operator=6(OP_Aggregate) ==========")
- sql = '''select last_row(*) from regular_table_1;'''
- tdSql.query(sql)
- tdSql.checkData(0,1,self.num-1)
-
- tdLog.info("========== operator=9(OP_Limit) ==========")
- sql = '''select * from stable_1 where loc = 'table_0' limit 5;'''
- tdSql.query(sql)
- tdSql.checkRows(5)
- sql = '''select last_row(*) from (select * from stable_1 where loc = 'table_0');'''
- tdSql.query(sql)
- tdSql.checkRows(1)
-
- sql = '''select * from regular_table_1 ;'''
- tdSql.query(sql)
- tdSql.checkRows(6*self.num)
- sql = '''select last_row(*) from (select * from regular_table_1);'''
- tdSql.query(sql)
- tdSql.checkRows(1)
- tdSql.checkData(0,1,self.num-1)
-
-
- sql = '''select last_row(*) from
- ((select * from table_0) union all
- (select * from table_1) union all
- (select * from table_2));'''
- tdSql.error(sql)
-
- tdLog.info("========== operator=16(OP_DummyInput) ==========")
- sql = '''select last_row(*) from
- ((select last_row(*) from table_0) union all
- (select last_row(*) from table_1) union all
- (select last_row(*) from table_2));'''
- tdSql.error(sql)
-
- sql = '''select last_row(*) from
- ((select * from table_0 limit 5 offset 5) union all
- (select * from table_1 limit 5 offset 5) union all
- (select * from regular_table_1 limit 5 offset 5));'''
- tdSql.error(sql)
-
- tdLog.info("========== operator=10(OP_SLimit) ==========")
- sql = '''select count(*) from stable_1 group by loc slimit 3 soffset 2 ;'''
- tdSql.query(sql)
- tdSql.checkRows(3)
-
- sql = '''select last_row(*) from
- ((select * from table_0) union all
- (select * from table_1) union all
- (select * from table_2));'''
- tdSql.error(sql)
-
- tdLog.info("========== operator=20(OP_Distinct) ==========")
- tdLog.info("========== operator=4(OP_TagScan) ==========")
- sql = '''select distinct(t_bool) from stable_1;'''
- tdSql.query(sql)
- tdSql.checkRows(2)
- sql = '''select distinct(loc) from stable_1;'''
- tdSql.query(sql)
- tdSql.checkRows(6)
- sql = '''select distinct(t_int) from stable_1;'''
- tdSql.query(sql)
- tdSql.checkRows(6)
- sql = '''select distinct(t_bigint) from stable_1;'''
- tdSql.query(sql)
- tdSql.checkRows(6)
- sql = '''select distinct(t_smallint) from stable_1;'''
- tdSql.query(sql)
- tdSql.checkRows(6)
- sql = '''select distinct(t_tinyint) from stable_1;'''
- tdSql.query(sql)
- tdSql.checkRows(6)
- sql = '''select distinct(t_nchar) from stable_1;'''
- tdSql.query(sql)
- tdSql.checkRows(6)
- sql = '''select distinct(t_float) from stable_1;'''
- tdSql.query(sql)
- tdSql.checkRows(6)
- sql = '''select distinct(t_double) from stable_1;'''
- tdSql.query(sql)
- tdSql.checkRows(6)
- sql = '''select distinct(t_ts) from stable_1;'''
- tdSql.query(sql)
- tdSql.checkRows(3)
- sql = '''select distinct(tbname) from stable_1;'''
- tdSql.query(sql)
- tdSql.checkRows(6)
-
- tdLog.info("========== operator=2(OP_DataBlocksOptScan) ==========")
- sql = '''select last(q_int),first(q_int) from stable_1;'''
- tdSql.query(sql)
- tdSql.checkRows(1)
- sql = '''select last(q_bigint),first(q_bigint) from stable_1;'''
- tdSql.query(sql)
- tdSql.checkRows(1)
- sql = '''select last(q_smallint),first(q_smallint) from stable_1;'''
- tdSql.query(sql)
- tdSql.checkRows(1)
- sql = '''select last(q_tinyint),first(q_tinyint) from stable_1;'''
- tdSql.query(sql)
- tdSql.checkRows(1)
- sql = '''select last(q_bool),first(q_bool) from stable_1;'''
- tdSql.query(sql)
- tdSql.checkRows(1)
- sql = '''select last(q_binary),first(q_binary) from stable_1;'''
- tdSql.query(sql)
- tdSql.checkRows(1)
- sql = '''select last(q_nchar),first(q_nchar) from stable_1;'''
- tdSql.query(sql)
- tdSql.checkRows(1)
- sql = '''select last(q_float),first(q_float) from stable_1;'''
- tdSql.query(sql)
- tdSql.checkRows(1)
- sql = '''select last(q_double),first(q_double) from stable_1;'''
- tdSql.query(sql)
- tdSql.checkRows(1)
- sql = '''select last(q_ts),first(q_ts) from stable_1;'''
- tdSql.query(sql)
- tdSql.checkRows(1)
- sql = '''select last(q_int),last(q_bigint), last(q_smallint),last(q_tinyint),last(q_bool),last(q_binary),last(q_nchar),
- last(q_float),last(q_double),last(q_ts),first(q_int),first(q_bigint),first(q_smallint),first(q_tinyint),
- first(q_bool),first(q_binary),first(q_nchar),first(q_float),first(q_float),first(q_double),first(q_ts) from stable_1;'''
- tdSql.query(sql)
- tdSql.checkRows(1)
- sql = '''select last(q_int),last(q_bigint), last(q_smallint),last(q_tinyint),last(q_bool),last(q_binary),last(q_nchar),
- last(q_float),last(q_double),last(q_ts),first(q_int),first(q_bigint),first(q_smallint),first(q_tinyint),first(q_bool),
- first(q_binary),first(q_nchar),first(q_float),first(q_float),first(q_double),first(q_ts) from regular_table_1;'''
- tdSql.query(sql)
- tdSql.checkRows(1)
-
- tdLog.info("========== operator=8(OP_Groupby) ==========")
- sql = '''select stddev(q_int) from table_0 group by q_int;'''
- tdSql.query(sql)
- tdSql.checkRows(self.num)
- sql = '''select stddev(q_int),stddev(q_bigint),stddev(q_smallint),stddev(q_tinyint),stddev(q_float),stddev(q_double) from stable_1 group by q_int;'''
- tdSql.query(sql)
- sql = '''select stddev(q_int),stddev(q_bigint),stddev(q_smallint),stddev(q_tinyint),stddev(q_float),stddev(q_double) from table_1 group by q_bigint;'''
- tdSql.query(sql)
- tdSql.checkRows(self.num)
- sql = '''select stddev(q_int),stddev(q_bigint),stddev(q_smallint),stddev(q_tinyint),stddev(q_float),stddev(q_double) from regular_table_1 group by q_smallint;'''
- tdSql.query(sql)
-
- tdLog.info("========== operator=11(OP_TimeWindow) ==========")
- sql = '''select last(q_int) from table_0 interval(1m);'''
- tdSql.query(sql)
- tdSql.checkRows(1)
- sql = '''select last(q_int),last(q_bigint), last(q_smallint),last(q_tinyint),
- first(q_int),first(q_bigint),first(q_smallint),first(q_tinyint) from table_1 interval(1m);'''
- tdSql.query(sql)
- tdSql.checkRows(1)
- sql = '''select last(q_int),last(q_bigint), last(q_smallint),last(q_tinyint),
- first(q_int),first(q_bigint),first(q_smallint),first(q_tinyint) from stable_1 interval(1m);'''
- tdSql.query(sql)
- tdSql.checkRows(1)
- sql = '''select last(q_int),last(q_bigint), last(q_smallint),last(q_tinyint),
- first(q_int),first(q_bigint),first(q_smallint),first(q_tinyint) from regular_table_1 interval(1m);'''
- tdSql.query(sql)
- tdSql.checkRows(1)
-
- tdLog.info("========== operator=12(OP_SessionWindow) ==========")
- sql = '''select count(*) from table_1 session(ts,1s);'''
- tdSql.query(sql)
- tdSql.checkRows(1)
- sql = '''select count(*) from regular_table_1 session(ts,1s);'''
- tdSql.query(sql)
- tdSql.checkRows(1)
- sql = '''select count(*),sum(q_int), avg(q_int), min(q_int), max(q_int), first(q_int), last(q_int),
- sum(q_bigint), avg(q_bigint), min(q_bigint), max(q_bigint), first(q_bigint), last(q_bigint),
- sum(q_smallint), avg(q_smallint), min(q_smallint), max(q_smallint), first(q_smallint), last(q_smallint),
- sum(q_tinyint), avg(q_tinyint), min(q_tinyint), max(q_tinyint), first(q_tinyint), last(q_tinyint),
- sum(q_float), avg(q_float), min(q_float), max(q_float), first(q_float), last(q_float),
- sum(q_double), avg(q_double), min(q_double), max(q_double), first(q_double), last(q_double)
- from table_1 session(ts,1s);'''
- tdSql.query(sql)
- tdSql.checkRows(1)
- sql = '''select count(*),sum(q_int), avg(q_int), min(q_int), max(q_int), first(q_int), last(q_int),
- sum(q_bigint), avg(q_bigint), min(q_bigint), max(q_bigint), first(q_bigint), last(q_bigint),
- sum(q_smallint), avg(q_smallint), min(q_smallint), max(q_smallint), first(q_smallint), last(q_smallint),
- sum(q_tinyint), avg(q_tinyint), min(q_tinyint), max(q_tinyint), first(q_tinyint), last(q_tinyint),
- sum(q_float), avg(q_float), min(q_float), max(q_float), first(q_float), last(q_float),
- sum(q_double), avg(q_double), min(q_double), max(q_double), first(q_double), last(q_double)
- from regular_table_1 session(ts,1s);'''
- tdSql.query(sql)
- tdSql.checkRows(1)
-
- tdLog.info("========== operator=13(OP_Fill) ==========")
- sql = '''select sum(q_int) from table_0
- where ts >='1970-10-01 00:00:00' and ts <=now interval(1n) fill(NULL);'''
- tdSql.query(sql)
- tdSql.checkData(0,1,'None')
- sql = '''select sum(q_int), avg(q_int), min(q_int), max(q_int), first(q_int), last(q_int),
- sum(q_bigint), avg(q_bigint), min(q_bigint), max(q_bigint), first(q_bigint), last(q_bigint),
- sum(q_smallint), avg(q_smallint), min(q_smallint), max(q_smallint), first(q_smallint), last(q_smallint),
- sum(q_tinyint), avg(q_tinyint), min(q_tinyint), max(q_tinyint), first(q_tinyint), last(q_tinyint),
- sum(q_float), avg(q_float), min(q_float), max(q_float), first(q_float), last(q_float),
- sum(q_double), avg(q_double), min(q_double), max(q_double), first(q_double), last(q_double)
- from stable_1 where ts >='1970-10-01 00:00:00' and ts <=now interval(1n) fill(NULL);'''
- tdSql.query(sql)
- tdSql.checkData(0,1,'None')
- sql = '''select sum(q_int), avg(q_int), min(q_int), max(q_int), first(q_int), last(q_int),
- sum(q_bigint), avg(q_bigint), min(q_bigint), max(q_bigint), first(q_bigint), last(q_bigint),
- sum(q_smallint), avg(q_smallint), min(q_smallint), max(q_smallint), first(q_smallint), last(q_smallint),
- sum(q_tinyint), avg(q_tinyint), min(q_tinyint), max(q_tinyint), first(q_tinyint), last(q_tinyint),
- sum(q_float), avg(q_float), min(q_float), max(q_float), first(q_float), last(q_float),
- sum(q_double), avg(q_double), min(q_double), max(q_double), first(q_double), last(q_double)
- from regular_table_1 where ts >='1970-10-01 00:00:00' and ts <=now interval(1n) fill(NULL);'''
- tdSql.query(sql)
- tdSql.checkData(0,1,'None')
- sql = '''select sum(q_int), avg(q_int), min(q_int), max(q_int), first(q_int), last(q_int),
- sum(q_bigint), avg(q_bigint), min(q_bigint), max(q_bigint), first(q_bigint), last(q_bigint),
- sum(q_smallint), avg(q_smallint), min(q_smallint), max(q_smallint), first(q_smallint), last(q_smallint),
- sum(q_tinyint), avg(q_tinyint), min(q_tinyint), max(q_tinyint), first(q_tinyint), last(q_tinyint),
- sum(q_float), avg(q_float), min(q_float), max(q_float), first(q_float), last(q_float),
- sum(q_double), avg(q_double), min(q_double), max(q_double), first(q_double), last(q_double)
- from table_0 where ts >='1970-10-01 00:00:00' and ts <=now interval(1n) fill(NULL);'''
- tdSql.query(sql)
- tdSql.checkData(0,1,'None')
- #TD-5190
- sql = '''select sum(q_tinyint),stddev(q_float) from stable_1
- where ts >='1970-10-01 00:00:00' and ts <=now interval(1n) fill(NULL);'''
- tdSql.query(sql)
- tdSql.checkData(0,1,'None')
-
- tdLog.info("========== operator=15(OP_MultiTableTimeInterval) ==========")
- sql = '''select avg(q_int) from stable_1 where ts=0;'''
- tdSql.query(sql)
- tdSql.checkData(0,0,'table_0')
- sql = '''select loc, sum(q_int), avg(q_int), min(q_int), max(q_int), first(q_int), last(q_int),
- sum(q_bigint), avg(q_bigint), min(q_bigint), max(q_bigint), first(q_bigint), last(q_bigint),
- sum(q_smallint), avg(q_smallint), min(q_smallint), max(q_smallint), first(q_smallint), last(q_smallint),
- sum(q_tinyint), avg(q_tinyint), min(q_tinyint), max(q_tinyint), first(q_tinyint), last(q_tinyint),
- sum(q_float), avg(q_float), min(q_float), max(q_float), first(q_float), last(q_float),
- sum(q_double), avg(q_double), min(q_double), max(q_double), first(q_double), last(q_double)
- from stable_1 group by loc having sum(q_int)>=0;'''
- tdSql.query(sql)
- tdSql.checkData(0,0,'table_0')
- sql = '''select loc, sum(q_int), avg(q_int), min(q_int), max(q_int), first(q_int), last(q_int),
- sum(q_bigint), avg(q_bigint), min(q_bigint), max(q_bigint), first(q_bigint), last(q_bigint),
- sum(q_smallint), avg(q_smallint), min(q_smallint), max(q_smallint), first(q_smallint), last(q_smallint),
- sum(q_tinyint), avg(q_tinyint), min(q_tinyint), max(q_tinyint), first(q_tinyint), last(q_tinyint),
- sum(q_float), avg(q_float), min(q_float), max(q_float), first(q_float), last(q_float),
- sum(q_double), avg(q_double), min(q_double), max(q_double), first(q_double), last(q_double)
- from stable_1 group by loc having avg(q_int)>=0;'''
- tdSql.query(sql)
- tdSql.checkData(0,0,'table_0')
- sql = '''select loc, sum(q_int), avg(q_int), min(q_int), max(q_int), first(q_int), last(q_int),
- sum(q_bigint), avg(q_bigint), min(q_bigint), max(q_bigint), first(q_bigint), last(q_bigint),
- sum(q_smallint), avg(q_smallint), min(q_smallint), max(q_smallint), first(q_smallint), last(q_smallint),
- sum(q_tinyint), avg(q_tinyint), min(q_tinyint), max(q_tinyint), first(q_tinyint), last(q_tinyint),
- sum(q_float), avg(q_float), min(q_float), max(q_float), first(q_float), last(q_float),
- sum(q_double), avg(q_double), min(q_double), max(q_double), first(q_double), last(q_double)
- from stable_1 group by loc having min(q_int)>=0;'''
- tdSql.query(sql)
- tdSql.checkData(0,0,'table_0')
- sql = '''select loc, sum(q_int), avg(q_int), min(q_int), max(q_int), first(q_int), last(q_int),
- sum(q_bigint), avg(q_bigint), min(q_bigint), max(q_bigint), first(q_bigint), last(q_bigint),
- sum(q_smallint), avg(q_smallint), min(q_smallint), max(q_smallint), first(q_smallint), last(q_smallint),
- sum(q_tinyint), avg(q_tinyint), min(q_tinyint), max(q_tinyint), first(q_tinyint), last(q_tinyint),
- sum(q_float), avg(q_float), min(q_float), max(q_float), first(q_float), last(q_float),
- sum(q_double), avg(q_double), min(q_double), max(q_double), first(q_double), last(q_double)
- from stable_1 group by loc having max(q_int)>=0;'''
- tdSql.query(sql)
- tdSql.checkData(0,0,'table_0')
- sql = '''select loc, sum(q_int), avg(q_int), min(q_int), max(q_int), first(q_int), last(q_int),
- sum(q_bigint), avg(q_bigint), min(q_bigint), max(q_bigint), first(q_bigint), last(q_bigint),
- sum(q_smallint), avg(q_smallint), min(q_smallint), max(q_smallint), first(q_smallint), last(q_smallint),
- sum(q_tinyint), avg(q_tinyint), min(q_tinyint), max(q_tinyint), first(q_tinyint), last(q_tinyint),
- sum(q_float), avg(q_float), min(q_float), max(q_float), first(q_float), last(q_float),
- sum(q_double), avg(q_double), min(q_double), max(q_double), first(q_double), last(q_double)
- from stable_1 group by loc having first(q_int)>=0;'''
- tdSql.query(sql)
- tdSql.checkData(0,0,'table_0')
- sql = '''select loc, sum(q_int), avg(q_int), min(q_int), max(q_int), first(q_int), last(q_int),
- sum(q_bigint), avg(q_bigint), min(q_bigint), max(q_bigint), first(q_bigint), last(q_bigint),
- sum(q_smallint), avg(q_smallint), min(q_smallint), max(q_smallint), first(q_smallint), last(q_smallint),
- sum(q_tinyint), avg(q_tinyint), min(q_tinyint), max(q_tinyint), first(q_tinyint), last(q_tinyint),
- sum(q_float), avg(q_float), min(q_float), max(q_float), first(q_float), last(q_float),
- sum(q_double), avg(q_double), min(q_double), max(q_double), first(q_double), last(q_double)
- from stable_1 group by loc having last(q_int)>=0;'''
- tdSql.query(sql)
- tdSql.checkData(0,0,'table_0')
-
- tdLog.info("========== operator=21(OP_Join) ==========")
- sql = '''select t1.q_int,t2.q_int from
- (select ts,q_int from table_1) t1 , (select ts,q_int from table_2) t2
- where t2.ts = t1.ts;'''
- tdSql.query(sql)
- tdSql.checkRows(self.num)
- sql = '''select t1.*,t2.* from
- (select * from table_1) t1 , (select * from table_2) t2
- where t2.ts = t1.ts;'''
- tdSql.query(sql)
- tdSql.checkRows(self.num)
- sql = '''select t1.*,t2.* from
- (select * from regular_table_1) t1 , (select * from table_0) t2
- where t2.ts = t1.ts;'''
- tdSql.query(sql)
- tdSql.checkRows(self.num)
- sql = '''select t1.*,t2.* from
- (select * from stable_1) t1 , (select * from table_2) t2
- where t2.ts = t1.ts;'''
- tdSql.query(sql)
- tdSql.checkRows(self.num)
- sql = '''select t1.*,t2.* from
- (select * from regular_table_1) t1 , (select * from stable_1) t2
- where t2.ts = t1.ts;'''
- tdSql.query(sql)
- tdSql.checkRows(self.num)
- sql = '''select t1.*,t2.*,t3.* from
- (select * from regular_table_1) t1 , (select * from stable_1) t2, (select * from table_0) t3
- where t2.ts = t1.ts and t3.ts = t1.ts and t2.ts = t3.ts;'''
- tdSql.query(sql)
- tdSql.checkRows(self.num)
-
- tdLog.info("========== operator=22(OP_StateWindow) ==========")
- sql = '''select avg(q_int),sum(q_smallint) from table_1 state_window(q_int);'''
- tdSql.query(sql)
- tdSql.checkRows(self.num)
- sql = '''select sum(q_int), avg(q_int), min(q_int), max(q_int), first(q_int), last(q_int),
- sum(q_bigint), avg(q_bigint), min(q_bigint), max(q_bigint), first(q_bigint), last(q_bigint),
- sum(q_smallint), avg(q_smallint), min(q_smallint), max(q_smallint), first(q_smallint), last(q_smallint),
- sum(q_tinyint), avg(q_tinyint), min(q_tinyint), max(q_tinyint), first(q_tinyint), last(q_tinyint),
- sum(q_float), avg(q_float), min(q_float), max(q_float), first(q_float), last(q_float),
- sum(q_double), avg(q_double), min(q_double), max(q_double), first(q_double), last(q_double)
- from table_1 state_window(q_bigint);'''
- tdSql.query(sql)
- tdSql.checkRows(self.num)
- sql = '''select sum(q_int), avg(q_int), min(q_int), max(q_int), first(q_int), last(q_int),
- sum(q_bigint), avg(q_bigint), min(q_bigint), max(q_bigint), first(q_bigint), last(q_bigint),
- sum(q_smallint), avg(q_smallint), min(q_smallint), max(q_smallint), first(q_smallint), last(q_smallint),
- sum(q_tinyint), avg(q_tinyint), min(q_tinyint), max(q_tinyint), first(q_tinyint), last(q_tinyint),
- sum(q_float), avg(q_float), min(q_float), max(q_float), first(q_float), last(q_float),
- sum(q_double), avg(q_double), min(q_double), max(q_double), first(q_double), last(q_double)
- from regular_table_1 state_window(q_smallint);'''
- tdSql.query(sql)
- tdSql.checkRows(6*self.num)
-
- endTime = time.time()
- print("total time %ds" % (endTime - startTime))
-
-
- def stop(self):
- tdSql.close()
- tdLog.success("%s successfully executed" % __file__)
-
-
-tdCases.addWindows(__file__, TDTestCase())
-tdCases.addLinux(__file__, TDTestCase())
\ No newline at end of file
diff --git a/tests/pytest/util/sql.py b/tests/pytest/util/sql.py
index 4a0455220637d0b2b99430008a62727a6ee70e30..b42af27d063aa9c8b08ac58374878a7153912142 100644
--- a/tests/pytest/util/sql.py
+++ b/tests/pytest/util/sql.py
@@ -65,7 +65,7 @@ class TDSql:
self.queryResult = None
tdLog.info("sql:%s, expect error occured" % (sql))
- def query(self, sql):
+ def query(self, sql, row_tag=None):
self.sql = sql
try:
self.cursor.execute(sql)
@@ -77,21 +77,27 @@ class TDSql:
args = (caller.filename, caller.lineno, sql, repr(e))
tdLog.notice("%s(%d) failed: sql:%s, %s" % args)
raise Exception(repr(e))
+ if row_tag:
+ return self.queryResult
return self.queryRows
- def getColNameList(self, sql):
+ def getColNameList(self, sql, col_tag=None):
self.sql = sql
try:
col_name_list = []
+ col_type_list = []
self.cursor.execute(sql)
self.queryCols = self.cursor.description
for query_col in self.queryCols:
col_name_list.append(query_col[0])
+ col_type_list.append(query_col[1])
except Exception as e:
caller = inspect.getframeinfo(inspect.stack()[1][0])
args = (caller.filename, caller.lineno, sql, repr(e))
tdLog.notice("%s(%d) failed: sql:%s, %s" % args)
raise Exception(repr(e))
+ if col_tag:
+ return col_name_list, col_type_list
return col_name_list
def waitedQuery(self, sql, expectRows, timeout):
@@ -245,6 +251,22 @@ class TDSql:
args = (caller.filename, caller.lineno, self.sql, col_name_list, expect_col_name_list)
tdLog.exit("%s(%d) failed: sql:%s, col_name_list:%s != expect_col_name_list:%s" % args)
+ def checkEqual(self, elm, expect_elm):
+ if elm == expect_elm:
+ tdLog.info("sql:%s, elm:%s == expect_elm:%s" % (self.sql, elm, expect_elm))
+ else:
+ caller = inspect.getframeinfo(inspect.stack()[1][0])
+ args = (caller.filename, caller.lineno, self.sql, elm, expect_elm)
+ tdLog.exit("%s(%d) failed: sql:%s, elm:%s != expect_elm:%s" % args)
+
+ def checkNotEqual(self, elm, expect_elm):
+ if elm != expect_elm:
+ tdLog.info("sql:%s, elm:%s != expect_elm:%s" % (self.sql, elm, expect_elm))
+ else:
+ caller = inspect.getframeinfo(inspect.stack()[1][0])
+ args = (caller.filename, caller.lineno, self.sql, elm, expect_elm)
+ tdLog.exit("%s(%d) failed: sql:%s, elm:%s == expect_elm:%s" % args)
+
def taosdStatus(self, state):
tdLog.sleep(5)
pstate = 0
diff --git a/tests/script/general/field/2.sim b/tests/script/general/field/2.sim
index dc39e5ad602276e52bda3cce0e823a3deb3f124d..cc6889fd75441c9fa4913f8219ebc1b50710b0cb 100644
--- a/tests/script/general/field/2.sim
+++ b/tests/script/general/field/2.sim
@@ -30,7 +30,7 @@ while $i < 5
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , 0, 0 )
+ sql insert into $tb values (1626739200000 + $ms , 0, 0 )
$x = $x + 1
endw
$i = $i + 1
@@ -41,7 +41,7 @@ while $i < 10
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , 1, 1 )
+ sql insert into $tb values (1626739200000 + $ms , 1, 1 )
$x = $x + 1
endw
$i = $i + 1
@@ -116,103 +116,104 @@ if $rows != 100 then
endi
print =============== step4
-sql select * from $mt where ts > now + 4m and tbcol = 1
+# sql select * from $mt where ts > 1626739440001 and tbcol = 1
+sql select * from $mt where ts > 1626739440001 and tbcol = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol = 0
+sql select * from $mt where ts < 1626739440001 and tbcol = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol <> 0
+sql select * from $mt where ts >= 1626739440001 and ts < 1626739500001 and tbcol <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol <> 0 and ts < now + 5m
+sql select * from $mt where ts >= 1626739440001 and tbcol <> 0 and ts < 1626739500001
if $rows != 5 then
return -1
endi
print =============== step5
-sql select * from $mt where ts > now + 4m and tbcol2 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol2 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol2 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol2 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol2 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol2 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol2 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol2 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol2 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol2 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol2 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol2 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol2 <> 0
+sql select * from $mt where ts >= 1626739440001 and ts < 1626739500001 and tbcol2 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol2 <> 0 and ts < now + 5m
+sql select * from $mt where ts >= 1626739440001 and tbcol2 <> 0 and ts < 1626739500001
if $rows != 5 then
return -1
endi
print =============== step6
-sql select * from $mt where ts > now + 4m and tbcol2 = 1 and tbcol = 1
+sql select * from $mt where ts > 1626739440001 and tbcol2 = 1 and tbcol = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol2 <> 1 and tbcol <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol2 <> 1 and tbcol <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol2 = 0 and tbcol = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol2 = 0 and tbcol = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol2 <> 0 and tbcol <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol2 <> 0 and tbcol <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol2 = 0 and tbcol = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol2 = 0 and tbcol = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol2 <> 0 and tbcol <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol2 <> 0 and tbcol <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol2 <> 0 and tbcol <> 0
+sql select * from $mt where ts >= 1626739440001 and ts < 1626739500001 and tbcol2 <> 0 and tbcol <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol2 <> 0 and ts < now + 5m and ts < now + 5m and tbcol <> 0
+sql select * from $mt where ts >= 1626739440001 and tbcol2 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol <> 0
if $rows != 5 then
return -1
endi
@@ -246,7 +247,7 @@ if $data00 != 100 then
endi
print =============== step9
-sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where ts < now + 4m
+sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where ts <= 1626739440001
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 50 then
return -1
@@ -272,7 +273,7 @@ if $data00 != 100 then
endi
print =============== step11
-sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where ts < now + 4m and tbcol = 1 group by tgcol
+sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where ts <= 1626739440001 and tbcol = 1 group by tgcol
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
diff --git a/tests/script/general/field/3.sim b/tests/script/general/field/3.sim
index b45e3a005b4af41494ef24cf93b130d2b41c8dc1..cb3c6621ac3723b09fba489d894657a457e12af1 100644
--- a/tests/script/general/field/3.sim
+++ b/tests/script/general/field/3.sim
@@ -30,7 +30,7 @@ while $i < 5
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , 0, 0, 0 )
+ sql insert into $tb values (1626739200000 + $ms , 0, 0, 0 )
$x = $x + 1
endw
$i = $i + 1
@@ -41,7 +41,7 @@ while $i < 10
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , 1, 1, 1 )
+ sql insert into $tb values (1626739200000 + $ms , 1, 1, 1 )
$x = $x + 1
endw
$i = $i + 1
@@ -53,19 +53,19 @@ if $rows != $totalNum then
return -1
endi
-sql select * from $mt where ts < now + 4m
+sql select * from $mt where ts <= 1626739440001
if $rows != 50 then
return -1
endi
-sql select * from $mt where ts > now + 4m
+sql select * from $mt where ts > 1626739440001
if $rows != 150 then
return -1
endi
-sql select * from $mt where ts = now + 4m
+sql select * from $mt where ts = 1626739440001
if $rows != 0 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m
+sql select * from $mt where ts >= 1626739440001 and ts < 1626739500001
if $rows != 10 then
return -1
endi
@@ -141,239 +141,239 @@ if $rows != 100 then
endi
print =============== step6
-sql select * from $mt where ts > now + 4m and tbcol1 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol1 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol1 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol1 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol1 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol1 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol1 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol1 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol1 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol1 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol1 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol1 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol1 <> 0
+sql select * from $mt where ts >= 1626739440001 and ts < 1626739500001 and tbcol1 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol1 <> 0 and ts < now + 5m
+sql select * from $mt where ts >= 1626739440001 and tbcol1 <> 0 and ts < 1626739500001
if $rows != 5 then
return -1
endi
print =============== step7
-sql select * from $mt where ts > now + 4m and tbcol2 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol2 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol2 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol2 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol2 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol2 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol2 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol2 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol2 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol2 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol2 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol2 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol2 <> 0
+sql select * from $mt where ts >= 1626739440001 and ts < 1626739500001 and tbcol2 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol2 <> 0 and ts < now + 5m
+sql select * from $mt where ts >= 1626739440001 and tbcol2 <> 0 and ts < 1626739500001
if $rows != 5 then
return -1
endi
print =============== step8
-sql select * from $mt where ts > now + 4m and tbcol3 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol3 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol3 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol3 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol3 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol3 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol3 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol3 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol3 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol3 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol3 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol3 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol3 <> 0
+sql select * from $mt where ts >= 1626739440001 and ts < 1626739500001 and tbcol3 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol3 <> 0 and ts < now + 5m
+sql select * from $mt where ts >= 1626739440001 and tbcol3 <> 0 and ts < 1626739500001
if $rows != 5 then
return -1
endi
print =============== step9
-sql select * from $mt where ts > now + 4m and tbcol2 = 1 and tbcol1 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol2 = 1 and tbcol1 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol2 <> 1 and tbcol1 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol2 <> 1 and tbcol1 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol2 = 0 and tbcol1 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol2 = 0 and tbcol1 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol2 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol2 <> 0 and tbcol1 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol2 = 0 and tbcol1 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol2 = 0 and tbcol1 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol2 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol2 <> 0 and tbcol1 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol2 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol2 <> 0 and tbcol1 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol2 <> 0 and ts < now + 5m and ts < now + 5m and tbcol1 <> 0
+sql select * from $mt where ts > 1626739440001 and tbcol2 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol1 <> 0
if $rows != 5 then
return -1
endi
print =============== step10
-sql select * from $mt where ts > now + 4m and tbcol3 = 1 and tbcol1 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol3 = 1 and tbcol1 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol3 <> 1 and tbcol1 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol3 <> 1 and tbcol1 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol3 = 0 and tbcol1 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol3 = 0 and tbcol1 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol3 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol3 <> 0 and tbcol1 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol3 = 0 and tbcol1 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol3 = 0 and tbcol1 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol3 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol3 <> 0 and tbcol1 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol3 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol3 <> 0 and tbcol1 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol3 <> 0 and ts < now + 5m and ts < now + 5m and tbcol1 <> 0
+sql select * from $mt where ts > 1626739440001 and tbcol3 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol1 <> 0
if $rows != 5 then
return -1
endi
print =============== step11
-sql select * from $mt where ts > now + 4m and tbcol3 = 1 and tbcol2 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol3 = 1 and tbcol2 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol3 <> 1 and tbcol2 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol3 <> 1 and tbcol2 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol3 = 0 and tbcol2 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol3 = 0 and tbcol2 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol3 <> 0 and tbcol2 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol3 <> 0 and tbcol2 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol3 = 0 and tbcol2 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol3 = 0 and tbcol2 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol3 <> 0 and tbcol2 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol3 <> 0 and tbcol2 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol3 <> 0 and tbcol2 <> 0
+sql select * from $mt where ts >= 1626739440001 and ts < 1626739500001 and tbcol3 <> 0 and tbcol2 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol3 <> 0 and ts < now + 5m and ts < now + 5m and tbcol2 <> 0
+sql select * from $mt where ts >= 1626739440001 and tbcol3 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol2 <> 0
if $rows != 5 then
return -1
endi
print =============== step12
-sql select * from $mt where ts > now + 4m and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol1 <> 1 and tbcol2 <> 1 and tbcol3 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol1 <> 1 and tbcol2 <> 1 and tbcol3 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol1 = 0 and tbcol2 = 0 and tbcol3 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol1 = 0 and tbcol2 = 0 and tbcol3 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol1 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol1 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol1 = 0 and tbcol2 = 0 and tbcol3 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol1 = 0 and tbcol2 = 0 and tbcol3 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol1 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol1 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol1 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts >= 1626739440001 and ts < 1626739500001 and tbcol1 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol1 <> 0 and ts < now + 5m and ts < now + 5m and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts >= 1626739440001 and tbcol1 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 5 then
return -1
endi
@@ -405,25 +405,25 @@ if $data00 != 100 then
endi
print =============== step15
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts <= 1626739440001
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 50 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
@@ -468,25 +468,25 @@ if $data00 != 100 then
endi
print =============== step18
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m group by tgcol2
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 group by tgcol2
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 group by tgcol2
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 group by tgcol2
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1 group by tgcol2
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1 group by tgcol2
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 group by tgcol2
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 group by tgcol2
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
diff --git a/tests/script/general/field/4.sim b/tests/script/general/field/4.sim
index e219be87783cfea2f071db481a1f8eb457f20f5e..2d893da777bea8260a333a957cf6f904b95eb6d0 100644
--- a/tests/script/general/field/4.sim
+++ b/tests/script/general/field/4.sim
@@ -30,7 +30,7 @@ while $i < 5
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , 0, 0, 0, 0 )
+ sql insert into $tb values (1626739200000 + $ms , 0, 0, 0, 0 )
$x = $x + 1
endw
$i = $i + 1
@@ -41,7 +41,7 @@ while $i < 10
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , 1, 1, 1, 1 )
+ sql insert into $tb values (1626739200000 + $ms , 1, 1, 1, 1 )
$x = $x + 1
endw
$i = $i + 1
@@ -53,19 +53,19 @@ if $rows != $totalNum then
return -1
endi
-sql select * from $mt where ts < now + 4m
+sql select * from $mt where ts < 1626739440001
if $rows != 50 then
return -1
endi
-sql select * from $mt where ts > now + 4m
+sql select * from $mt where ts > 1626739440001
if $rows != 150 then
return -1
endi
-sql select * from $mt where ts = now + 4m
+sql select * from $mt where ts = 1626739440001
if $rows != 0 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001
if $rows != 10 then
return -1
endi
@@ -159,375 +159,375 @@ if $rows != 100 then
endi
print =============== step7
-sql select * from $mt where ts > now + 4m and tbcol1 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol1 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol1 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol1 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol1 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol1 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol1 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol1 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol1 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol1 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol1 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol1 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol1 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol1 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol1 <> 0 and ts < now + 5m
+sql select * from $mt where ts > 1626739440001 and tbcol1 <> 0 and ts < 1626739500001
if $rows != 5 then
return -1
endi
print =============== step8
-sql select * from $mt where ts > now + 4m and tbcol2 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol2 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol2 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol2 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol2 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol2 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol2 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol2 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol2 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol2 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol2 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol2 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol2 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol2 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol2 <> 0 and ts < now + 5m
+sql select * from $mt where ts > 1626739440001 and tbcol2 <> 0 and ts < 1626739500001
if $rows != 5 then
return -1
endi
print =============== step9
-sql select * from $mt where ts > now + 4m and tbcol3 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol3 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol3 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol3 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol3 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol3 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol3 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol3 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol3 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol3 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol3 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol3 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol3 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol3 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol3 <> 0 and ts < now + 5m
+sql select * from $mt where ts > 1626739440001 and tbcol3 <> 0 and ts < 1626739500001
if $rows != 5 then
return -1
endi
print =============== step10
-sql select * from $mt where ts > now + 4m and tbcol4 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol4 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol4 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol4 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol4 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol4 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol4 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol4 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol4 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol4 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol4 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol4 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol4 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol4 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol4 <> 0 and ts < now + 5m
+sql select * from $mt where ts > 1626739440001 and tbcol4 <> 0 and ts < 1626739500001
if $rows != 5 then
return -1
endi
print =============== step11
-sql select * from $mt where ts > now + 4m and tbcol2 = 1 and tbcol1 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol2 = 1 and tbcol1 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol2 <> 1 and tbcol1 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol2 <> 1 and tbcol1 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol2 = 0 and tbcol1 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol2 = 0 and tbcol1 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol2 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol2 <> 0 and tbcol1 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol2 = 0 and tbcol1 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol2 = 0 and tbcol1 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol2 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol2 <> 0 and tbcol1 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol2 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol2 <> 0 and tbcol1 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol2 <> 0 and ts < now + 5m and ts < now + 5m and tbcol1 <> 0
+sql select * from $mt where ts > 1626739440001 and tbcol2 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol1 <> 0
if $rows != 5 then
return -1
endi
print =============== step12
-sql select * from $mt where ts > now + 4m and tbcol3 = 1 and tbcol1 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol3 = 1 and tbcol1 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol3 <> 1 and tbcol1 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol3 <> 1 and tbcol1 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol3 = 0 and tbcol1 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol3 = 0 and tbcol1 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol3 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol3 <> 0 and tbcol1 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol3 = 0 and tbcol1 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol3 = 0 and tbcol1 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol3 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol3 <> 0 and tbcol1 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol3 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol3 <> 0 and tbcol1 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol3 <> 0 and ts < now + 5m and ts < now + 5m and tbcol1 <> 0
+sql select * from $mt where ts > 1626739440001 and tbcol3 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol1 <> 0
if $rows != 5 then
return -1
endi
print =============== step13
-sql select * from $mt where ts > now + 4m and tbcol3 = 1 and tbcol2 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol3 = 1 and tbcol2 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol3 <> 1 and tbcol2 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol3 <> 1 and tbcol2 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol3 = 0 and tbcol2 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol3 = 0 and tbcol2 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol3 <> 0 and tbcol2 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol3 <> 0 and tbcol2 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol3 = 0 and tbcol2 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol3 = 0 and tbcol2 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol3 <> 0 and tbcol2 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol3 <> 0 and tbcol2 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol3 <> 0 and tbcol2 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol3 <> 0 and tbcol2 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol3 <> 0 and ts < now + 5m and ts < now + 5m and tbcol2 <> 0
+sql select * from $mt where ts > 1626739440001 and tbcol3 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol2 <> 0
if $rows != 5 then
return -1
endi
print =============== step14
-sql select * from $mt where ts > now + 4m and tbcol3 = 1 and tbcol4 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol3 = 1 and tbcol4 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol3 <> 1 and tbcol4 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol3 <> 1 and tbcol4 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol3 = 0 and tbcol4 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol3 = 0 and tbcol4 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol3 <> 0 and tbcol4 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol3 <> 0 and tbcol4 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol3 = 0 and tbcol4 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol3 = 0 and tbcol4 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol3 <> 0 and tbcol4 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol3 <> 0 and tbcol4 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol3 <> 0 and tbcol4 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol3 <> 0 and tbcol4 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol3 <> 0 and ts < now + 5m and ts < now + 5m and tbcol4 <> 0
+sql select * from $mt where ts > 1626739440001 and tbcol3 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol4 <> 0
if $rows != 5 then
return -1
endi
print =============== step15
-sql select * from $mt where ts > now + 4m and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol1 <> 1 and tbcol2 <> 1 and tbcol3 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol1 <> 1 and tbcol2 <> 1 and tbcol3 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol1 = 0 and tbcol2 = 0 and tbcol3 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol1 = 0 and tbcol2 = 0 and tbcol3 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol1 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol1 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol1 = 0 and tbcol2 = 0 and tbcol3 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol1 = 0 and tbcol2 = 0 and tbcol3 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol1 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol1 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol1 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol1 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol1 <> 0 and ts < now + 5m and ts < now + 5m and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts > 1626739440001 and tbcol1 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 5 then
return -1
endi
print =============== step16
-sql select * from $mt where ts > now + 4m and tbcol4 = 1 and tbcol2 = 1 and tbcol3 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol4 = 1 and tbcol2 = 1 and tbcol3 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol4 <> 1 and tbcol2 <> 1 and tbcol3 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol4 <> 1 and tbcol2 <> 1 and tbcol3 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol4 <> 0 and ts < now + 5m and ts < now + 5m and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts > 1626739440001 and tbcol4 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 5 then
return -1
endi
print =============== step17
-sql select * from $mt where ts > now + 4m and tbcol4 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol1 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol4 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol1 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol4 <> 1 and tbcol2 <> 1 and tbcol3 <> 1 and tbcol1 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol4 <> 1 and tbcol2 <> 1 and tbcol3 <> 1 and tbcol1 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0 and tbcol1 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0 and tbcol1 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0 and tbcol1 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0 and tbcol1 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol4 <> 0 and ts < now + 5m and ts < now + 5m and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts > 1626739440001 and tbcol4 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0
if $rows != 5 then
return -1
endi
@@ -565,31 +565,31 @@ if $data00 != 100 then
endi
print =============== step20
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 50 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol4 = 1
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol4 = 1
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
@@ -646,31 +646,31 @@ if $data00 != 100 then
endi
print =============== step23
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m group by tgcol2
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 group by tgcol2
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 group by tgcol2
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 group by tgcol2
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1 group by tgcol2
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1 group by tgcol2
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 group by tgcol2
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 group by tgcol2
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol4 = 1 group by tgcol2
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol4 = 1 group by tgcol2
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
diff --git a/tests/script/general/field/5.sim b/tests/script/general/field/5.sim
index e02bbd122ff00a0f727ff8706e4a5cc3cf28a57b..e1421bdb4f9e25b37deeafe699feb1ce8c0f6c0a 100644
--- a/tests/script/general/field/5.sim
+++ b/tests/script/general/field/5.sim
@@ -30,7 +30,7 @@ while $i < 5
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , 0, 0, 0, 0, 0 )
+ sql insert into $tb values (1626739200000 + $ms , 0, 0, 0, 0, 0 )
$x = $x + 1
endw
$i = $i + 1
@@ -41,7 +41,7 @@ while $i < 10
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , 1, 1, 1, 1, 1 )
+ sql insert into $tb values (1626739200000 + $ms , 1, 1, 1, 1, 1 )
$x = $x + 1
endw
$i = $i + 1
@@ -53,19 +53,19 @@ if $rows != $totalNum then
return -1
endi
-sql select * from $mt where ts < now + 4m
+sql select * from $mt where ts < 1626739440001
if $rows != 50 then
return -1
endi
-sql select * from $mt where ts > now + 4m
+sql select * from $mt where ts > 1626739440001
if $rows != 150 then
return -1
endi
-sql select * from $mt where ts = now + 4m
+sql select * from $mt where ts = 1626739440001
if $rows != 0 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001
if $rows != 10 then
return -1
endi
@@ -177,443 +177,443 @@ if $rows != 100 then
endi
print =============== step8
-sql select * from $mt where ts > now + 4m and tbcol1 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol1 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol1 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol1 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol1 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol1 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol1 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol1 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol1 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol1 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol1 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol1 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol1 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol1 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol1 <> 0 and ts < now + 5m
+sql select * from $mt where ts > 1626739440001 and tbcol1 <> 0 and ts < 1626739500001
if $rows != 5 then
return -1
endi
print =============== step9
-sql select * from $mt where ts > now + 4m and tbcol2 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol2 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol2 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol2 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol2 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol2 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol2 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol2 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol2 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol2 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol2 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol2 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol2 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol2 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol2 <> 0 and ts < now + 5m
+sql select * from $mt where ts > 1626739440001 and tbcol2 <> 0 and ts < 1626739500001
if $rows != 5 then
return -1
endi
print =============== step10
-sql select * from $mt where ts > now + 4m and tbcol3 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol3 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol3 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol3 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol3 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol3 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol3 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol3 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol3 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol3 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol3 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol3 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol3 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol3 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol3 <> 0 and ts < now + 5m
+sql select * from $mt where ts > 1626739440001 and tbcol3 <> 0 and ts < 1626739500001
if $rows != 5 then
return -1
endi
print =============== step11
-sql select * from $mt where ts > now + 4m and tbcol4 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol4 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol4 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol4 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol4 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol4 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol4 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol4 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol4 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol4 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol4 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol4 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol4 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol4 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol4 <> 0 and ts < now + 5m
+sql select * from $mt where ts > 1626739440001 and tbcol4 <> 0 and ts < 1626739500001
if $rows != 5 then
return -1
endi
print =============== step12
-sql select * from $mt where ts > now + 4m and tbcol5 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol5 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol5 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol5 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol5 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol5 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol5 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol5 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol5 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol5 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol5 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol5 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol5 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol5 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol5 <> 0 and ts < now + 5m
+sql select * from $mt where ts > 1626739440001 and tbcol5 <> 0 and ts < 1626739500001
if $rows != 5 then
return -1
endi
print =============== step13
-sql select * from $mt where ts > now + 4m and tbcol2 = 1 and tbcol1 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol2 = 1 and tbcol1 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol2 <> 1 and tbcol1 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol2 <> 1 and tbcol1 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol2 = 0 and tbcol1 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol2 = 0 and tbcol1 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol2 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol2 <> 0 and tbcol1 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol2 = 0 and tbcol1 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol2 = 0 and tbcol1 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol2 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol2 <> 0 and tbcol1 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol2 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol2 <> 0 and tbcol1 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol2 <> 0 and ts < now + 5m and ts < now + 5m and tbcol1 <> 0
+sql select * from $mt where ts > 1626739440001 and tbcol2 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol1 <> 0
if $rows != 5 then
return -1
endi
print =============== step14
-sql select * from $mt where ts > now + 4m and tbcol3 = 1 and tbcol2 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol3 = 1 and tbcol2 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol3 <> 1 and tbcol2 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol3 <> 1 and tbcol2 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol3 = 0 and tbcol2 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol3 = 0 and tbcol2 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol3 <> 0 and tbcol2 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol3 <> 0 and tbcol2 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol3 = 0 and tbcol2 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol3 = 0 and tbcol2 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol3 <> 0 and tbcol2 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol3 <> 0 and tbcol2 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol3 <> 0 and tbcol2 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol3 <> 0 and tbcol2 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol3 <> 0 and ts < now + 5m and ts < now + 5m and tbcol2 <> 0
+sql select * from $mt where ts > 1626739440001 and tbcol3 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol2 <> 0
if $rows != 5 then
return -1
endi
print =============== step15
-sql select * from $mt where ts > now + 4m and tbcol3 = 1 and tbcol4 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol3 = 1 and tbcol4 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol3 <> 1 and tbcol4 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol3 <> 1 and tbcol4 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol3 = 0 and tbcol4 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol3 = 0 and tbcol4 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol3 <> 0 and tbcol4 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol3 <> 0 and tbcol4 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol3 = 0 and tbcol4 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol3 = 0 and tbcol4 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol3 <> 0 and tbcol4 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol3 <> 0 and tbcol4 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol3 <> 0 and tbcol4 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol3 <> 0 and tbcol4 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol3 <> 0 and ts < now + 5m and ts < now + 5m and tbcol4 <> 0
+sql select * from $mt where ts > 1626739440001 and tbcol3 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol4 <> 0
if $rows != 5 then
return -1
endi
print =============== step16
-sql select * from $mt where ts > now + 4m and tbcol5 = 1 and tbcol4 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol5 = 1 and tbcol4 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol5 <> 1 and tbcol4 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol5 <> 1 and tbcol4 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol5 = 0 and tbcol4 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol5 = 0 and tbcol4 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol5 <> 0 and tbcol4 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol5 <> 0 and tbcol4 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol5 = 0 and tbcol4 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol5 = 0 and tbcol4 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol5 <> 0 and tbcol4 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol5 <> 0 and tbcol4 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol5 <> 0 and tbcol4 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol5 <> 0 and tbcol4 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol5 <> 0 and ts < now + 5m and ts < now + 5m and tbcol4 <> 0
+sql select * from $mt where ts > 1626739440001 and tbcol5 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol4 <> 0
if $rows != 5 then
return -1
endi
print =============== step17
-sql select * from $mt where ts > now + 4m and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol1 <> 1 and tbcol2 <> 1 and tbcol3 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol1 <> 1 and tbcol2 <> 1 and tbcol3 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol1 = 0 and tbcol2 = 0 and tbcol3 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol1 = 0 and tbcol2 = 0 and tbcol3 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol1 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol1 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol1 = 0 and tbcol2 = 0 and tbcol3 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol1 = 0 and tbcol2 = 0 and tbcol3 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol1 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol1 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol1 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol1 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol1 <> 0 and ts < now + 5m and ts < now + 5m and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts > 1626739440001 and tbcol1 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 5 then
return -1
endi
print =============== step18
-sql select * from $mt where ts > now + 4m and tbcol4 = 1 and tbcol2 = 1 and tbcol3 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol4 = 1 and tbcol2 = 1 and tbcol3 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol4 <> 1 and tbcol2 <> 1 and tbcol3 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol4 <> 1 and tbcol2 <> 1 and tbcol3 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol4 <> 0 and ts < now + 5m and ts < now + 5m and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts > 1626739440001 and tbcol4 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 5 then
return -1
endi
print =============== step19
-sql select * from $mt where ts > now + 4m and tbcol4 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol1 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol4 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol1 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol4 <> 1 and tbcol2 <> 1 and tbcol3 <> 1 and tbcol1 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol4 <> 1 and tbcol2 <> 1 and tbcol3 <> 1 and tbcol1 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0 and tbcol1 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0 and tbcol1 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0 and tbcol1 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0 and tbcol1 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol4 <> 0 and ts < now + 5m and ts < now + 5m and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts > 1626739440001 and tbcol4 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0
if $rows != 5 then
return -1
endi
print =============== step20
-sql select * from $mt where ts > now + 4m and tbcol4 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol1 = 1 and tbcol5 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol4 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol1 = 1 and tbcol5 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol4 <> 1 and tbcol2 <> 1 and tbcol3 <> 1 and tbcol1 <> 1 and tbcol5 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol4 <> 1 and tbcol2 <> 1 and tbcol3 <> 1 and tbcol1 <> 1 and tbcol5 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0 and tbcol1 = 0 and tbcol5 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0 and tbcol1 = 0 and tbcol5 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0 and tbcol5 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0 and tbcol5 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0 and tbcol1 = 0 and tbcol5 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0 and tbcol1 = 0 and tbcol5 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0 and tbcol5 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0 and tbcol5 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0 and tbcol5 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0 and tbcol5 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol4 <> 0 and ts < now + 5m and ts < now + 5m and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0 and tbcol5 <> 0
+sql select * from $mt where ts > 1626739440001 and tbcol4 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0 and tbcol5 <> 0
if $rows != 5 then
return -1
endi
@@ -657,37 +657,37 @@ if $data00 != 100 then
endi
print =============== step23
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 50 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol4 = 1
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol4 = 1
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol4 = 1 and tbcol5 = 1
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol4 = 1 and tbcol5 = 1
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
@@ -756,37 +756,37 @@ if $data00 != 100 then
endi
print =============== step26
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m group by tgcol2
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 group by tgcol2
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 group by tgcol2
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 group by tgcol2
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1 group by tgcol2
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1 group by tgcol2
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 group by tgcol2
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 group by tgcol2
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol4 = 1 group by tgcol2
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol4 = 1 group by tgcol2
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol4 = 1 and tbcol5 = 1 group by tgcol2
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol4 = 1 and tbcol5 = 1 group by tgcol2
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
diff --git a/tests/script/general/field/6.sim b/tests/script/general/field/6.sim
index a852230cea7fd53f1fbc8e6cd44a67ba137ab3b3..27475d591fc6acaffb4e1f985f59d9a3c8778df5 100644
--- a/tests/script/general/field/6.sim
+++ b/tests/script/general/field/6.sim
@@ -30,7 +30,7 @@ while $i < 5
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , 0, 0, 0, 0, 0, 0 )
+ sql insert into $tb values (1626739200000 + $ms , 0, 0, 0, 0, 0, 0 )
$x = $x + 1
endw
$i = $i + 1
@@ -41,7 +41,7 @@ while $i < 10
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , 1, 1, 1, 1, 1, 1 )
+ sql insert into $tb values (1626739200000 + $ms , 1, 1, 1, 1, 1, 1 )
$x = $x + 1
endw
$i = $i + 1
@@ -53,19 +53,19 @@ if $rows != $totalNum then
return -1
endi
-sql select * from $mt where ts < now + 4m
+sql select * from $mt where ts < 1626739440001
if $rows != 50 then
return -1
endi
-sql select * from $mt where ts > now + 4m
+sql select * from $mt where ts > 1626739440001
if $rows != 150 then
return -1
endi
-sql select * from $mt where ts = now + 4m
+sql select * from $mt where ts = 1626739440001
if $rows != 0 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001
if $rows != 10 then
return -1
endi
@@ -195,545 +195,545 @@ if $rows != 100 then
endi
print =============== step9
-sql select * from $mt where ts > now + 4m and tbcol1 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol1 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol1 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol1 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol1 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol1 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol1 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol1 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol1 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol1 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol1 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol1 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol1 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol1 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol1 <> 0 and ts < now + 5m
+sql select * from $mt where ts > 1626739440001 and tbcol1 <> 0 and ts < 1626739500001
if $rows != 5 then
return -1
endi
print =============== step10
-sql select * from $mt where ts > now + 4m and tbcol2 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol2 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol2 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol2 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol2 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol2 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol2 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol2 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol2 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol2 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol2 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol2 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol2 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol2 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol2 <> 0 and ts < now + 5m
+sql select * from $mt where ts > 1626739440001 and tbcol2 <> 0 and ts < 1626739500001
if $rows != 5 then
return -1
endi
print =============== step11
-sql select * from $mt where ts > now + 4m and tbcol3 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol3 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol3 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol3 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol3 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol3 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol3 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol3 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol3 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol3 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol3 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol3 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol3 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol3 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol3 <> 0 and ts < now + 5m
+sql select * from $mt where ts > 1626739440001 and tbcol3 <> 0 and ts < 1626739500001
if $rows != 5 then
return -1
endi
print =============== step12
-sql select * from $mt where ts > now + 4m and tbcol4 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol4 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol4 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol4 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol4 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol4 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol4 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol4 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol4 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol4 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol4 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol4 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol4 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol4 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol4 <> 0 and ts < now + 5m
+sql select * from $mt where ts > 1626739440001 and tbcol4 <> 0 and ts < 1626739500001
if $rows != 5 then
return -1
endi
print =============== step13
-sql select * from $mt where ts > now + 4m and tbcol5 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol5 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol5 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol5 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol5 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol5 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol5 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol5 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol5 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol5 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol5 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol5 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol5 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol5 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol5 <> 0 and ts < now + 5m
+sql select * from $mt where ts > 1626739440001 and tbcol5 <> 0 and ts < 1626739500001
if $rows != 5 then
return -1
endi
print =============== step14
-sql select * from $mt where ts > now + 4m and tbcol6 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol6 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol6 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol6 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol6 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol6 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol6 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol6 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol6 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol6 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol6 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol6 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol6 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol6 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol6 <> 0 and ts < now + 5m
+sql select * from $mt where ts > 1626739440001 and tbcol6 <> 0 and ts < 1626739500001
if $rows != 5 then
return -1
endi
print =============== step15
-sql select * from $mt where ts > now + 4m and tbcol2 = 1 and tbcol1 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol2 = 1 and tbcol1 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol2 <> 1 and tbcol1 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol2 <> 1 and tbcol1 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol2 = 0 and tbcol1 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol2 = 0 and tbcol1 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol2 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol2 <> 0 and tbcol1 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol2 = 0 and tbcol1 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol2 = 0 and tbcol1 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol2 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol2 <> 0 and tbcol1 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol2 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol2 <> 0 and tbcol1 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol2 <> 0 and ts < now + 5m and ts < now + 5m and tbcol1 <> 0
+sql select * from $mt where ts > 1626739440001 and tbcol2 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol1 <> 0
if $rows != 5 then
return -1
endi
print =============== step16
-sql select * from $mt where ts > now + 4m and tbcol3 = 1 and tbcol2 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol3 = 1 and tbcol2 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol3 <> 1 and tbcol2 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol3 <> 1 and tbcol2 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol3 = 0 and tbcol2 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol3 = 0 and tbcol2 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol3 <> 0 and tbcol2 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol3 <> 0 and tbcol2 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol3 = 0 and tbcol2 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol3 = 0 and tbcol2 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol3 <> 0 and tbcol2 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol3 <> 0 and tbcol2 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol3 <> 0 and tbcol2 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol3 <> 0 and tbcol2 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol3 <> 0 and ts < now + 5m and ts < now + 5m and tbcol2 <> 0
+sql select * from $mt where ts > 1626739440001 and tbcol3 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol2 <> 0
if $rows != 5 then
return -1
endi
print =============== step17
-sql select * from $mt where ts > now + 4m and tbcol3 = 1 and tbcol4 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol3 = 1 and tbcol4 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol3 <> 1 and tbcol4 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol3 <> 1 and tbcol4 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol3 = 0 and tbcol4 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol3 = 0 and tbcol4 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol3 <> 0 and tbcol4 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol3 <> 0 and tbcol4 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol3 = 0 and tbcol4 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol3 = 0 and tbcol4 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol3 <> 0 and tbcol4 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol3 <> 0 and tbcol4 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol3 <> 0 and tbcol4 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol3 <> 0 and tbcol4 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol3 <> 0 and ts < now + 5m and ts < now + 5m and tbcol4 <> 0
+sql select * from $mt where ts > 1626739440001 and tbcol3 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol4 <> 0
if $rows != 5 then
return -1
endi
print =============== step18
-sql select * from $mt where ts > now + 4m and tbcol5 = 1 and tbcol4 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol5 = 1 and tbcol4 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol5 <> 1 and tbcol4 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol5 <> 1 and tbcol4 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol5 = 0 and tbcol4 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol5 = 0 and tbcol4 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol5 <> 0 and tbcol4 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol5 <> 0 and tbcol4 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol5 = 0 and tbcol4 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol5 = 0 and tbcol4 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol5 <> 0 and tbcol4 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol5 <> 0 and tbcol4 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol5 <> 0 and tbcol4 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol5 <> 0 and tbcol4 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol5 <> 0 and ts < now + 5m and ts < now + 5m and tbcol4 <> 0
+sql select * from $mt where ts > 1626739440001 and tbcol5 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol4 <> 0
if $rows != 5 then
return -1
endi
print =============== step19
-sql select * from $mt where ts > now + 4m and tbcol5 = 1 and tbcol6 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol5 = 1 and tbcol6 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol5 <> 1 and tbcol6 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol5 <> 1 and tbcol6 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol5 = 0 and tbcol6 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol5 = 0 and tbcol6 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol5 <> 0 and tbcol6 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol5 <> 0 and tbcol6 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol5 = 0 and tbcol6 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol5 = 0 and tbcol6 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol5 <> 0 and tbcol6 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol5 <> 0 and tbcol6 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol5 <> 0 and tbcol6 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol5 <> 0 and tbcol6 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol5 <> 0 and ts < now + 5m and ts < now + 5m and tbcol6 <> 0
+sql select * from $mt where ts > 1626739440001 and tbcol5 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol6 <> 0
if $rows != 5 then
return -1
endi
print =============== step20
-sql select * from $mt where ts > now + 4m and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol1 <> 1 and tbcol2 <> 1 and tbcol3 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol1 <> 1 and tbcol2 <> 1 and tbcol3 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol1 = 0 and tbcol2 = 0 and tbcol3 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol1 = 0 and tbcol2 = 0 and tbcol3 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol1 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol1 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol1 = 0 and tbcol2 = 0 and tbcol3 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol1 = 0 and tbcol2 = 0 and tbcol3 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol1 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol1 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol1 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol1 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol1 <> 0 and ts < now + 5m and ts < now + 5m and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts > 1626739440001 and tbcol1 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 5 then
return -1
endi
print =============== step21
-sql select * from $mt where ts > now + 4m and tbcol4 = 1 and tbcol2 = 1 and tbcol3 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol4 = 1 and tbcol2 = 1 and tbcol3 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol4 <> 1 and tbcol2 <> 1 and tbcol3 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol4 <> 1 and tbcol2 <> 1 and tbcol3 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol4 <> 0 and ts < now + 5m and ts < now + 5m and tbcol2 <> 0 and tbcol3 <> 0
+sql select * from $mt where ts > 1626739440001 and tbcol4 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol2 <> 0 and tbcol3 <> 0
if $rows != 5 then
return -1
endi
print =============== step22
-sql select * from $mt where ts > now + 4m and tbcol4 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol1 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol4 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol1 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol4 <> 1 and tbcol2 <> 1 and tbcol3 <> 1 and tbcol1 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol4 <> 1 and tbcol2 <> 1 and tbcol3 <> 1 and tbcol1 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0 and tbcol1 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0 and tbcol1 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0 and tbcol1 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0 and tbcol1 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol4 <> 0 and ts < now + 5m and ts < now + 5m and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0
+sql select * from $mt where ts > 1626739440001 and tbcol4 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0
if $rows != 5 then
return -1
endi
print =============== step23
-sql select * from $mt where ts > now + 4m and tbcol4 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol1 = 1 and tbcol5 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol4 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol1 = 1 and tbcol5 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol4 <> 1 and tbcol2 <> 1 and tbcol3 <> 1 and tbcol1 <> 1 and tbcol5 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol4 <> 1 and tbcol2 <> 1 and tbcol3 <> 1 and tbcol1 <> 1 and tbcol5 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0 and tbcol1 = 0 and tbcol5 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0 and tbcol1 = 0 and tbcol5 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0 and tbcol5 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0 and tbcol5 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0 and tbcol1 = 0 and tbcol5 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0 and tbcol1 = 0 and tbcol5 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0 and tbcol5 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0 and tbcol5 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0 and tbcol5 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0 and tbcol5 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol4 <> 0 and ts < now + 5m and ts < now + 5m and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0 and tbcol5 <> 0
+sql select * from $mt where ts > 1626739440001 and tbcol4 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0 and tbcol5 <> 0
if $rows != 5 then
return -1
endi
print =============== step24
-sql select * from $mt where ts > now + 4m and tbcol4 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol1 = 1 and tbcol5 = 1 and tbcol6 = 1
+sql select * from $mt where ts > 1626739440001 and tbcol4 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol1 = 1 and tbcol5 = 1 and tbcol6 = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol4 <> 1 and tbcol2 <> 1 and tbcol3 <> 1 and tbcol1 <> 1 and tbcol5 <> 1 and tbcol6 <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol4 <> 1 and tbcol2 <> 1 and tbcol3 <> 1 and tbcol1 <> 1 and tbcol5 <> 1 and tbcol6 <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0 and tbcol1 = 0 and tbcol5 = 0 and tbcol6 = 0
+sql select * from $mt where ts < 1626739440001 and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0 and tbcol1 = 0 and tbcol5 = 0 and tbcol6 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0 and tbcol5 <> 0 and tbcol6 <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0 and tbcol5 <> 0 and tbcol6 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0 and tbcol1 = 0 and tbcol5 = 0 and tbcol6 = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol4 = 0 and tbcol2 = 0 and tbcol3 = 0 and tbcol1 = 0 and tbcol5 = 0 and tbcol6 = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0 and tbcol5 <> 0 and tbcol6 <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0 and tbcol5 <> 0 and tbcol6 <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0 and tbcol5 <> 0 and tbcol6 <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol4 <> 0 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0 and tbcol5 <> 0 and tbcol6 <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol4 <> 0 and ts < now + 5m and ts < now + 5m and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0 and tbcol5 <> 0 and tbcol6 <> 0
+sql select * from $mt where ts > 1626739440001 and tbcol4 <> 0 and ts < 1626739500001 and ts < 1626739500001 and tbcol2 <> 0 and tbcol3 <> 0 and tbcol1 <> 0 and tbcol5 <> 0 and tbcol6 <> 0
if $rows != 5 then
return -1
endi
@@ -783,43 +783,43 @@ if $data00 != 100 then
endi
print =============== step27
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 50 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol4 = 1
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol4 = 1
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol4 = 1 and tbcol5 = 1
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol4 = 1 and tbcol5 = 1
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol4 = 1 and tbcol5 = 1 and tbcol6 = 1
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol4 = 1 and tbcol5 = 1 and tbcol6 = 1
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
@@ -900,43 +900,43 @@ if $data00 != 100 then
endi
print =============== step30
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m group by tgcol2
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 group by tgcol2
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 group by tgcol2
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 group by tgcol2
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1 group by tgcol2
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1 group by tgcol2
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 group by tgcol2
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 group by tgcol2
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol4 = 1 group by tgcol2
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol4 = 1 group by tgcol2
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol4 = 1 and tbcol5 = 1 group by tgcol2
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol4 = 1 and tbcol5 = 1 group by tgcol2
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
endi
-sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < now + 4m and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol4 = 1 and tbcol5 = 1 and tbcol6 = 1 group by tgcol2
+sql select count(tbcol1), avg(tbcol1), sum(tbcol1), min(tbcol1), max(tbcol1), first(tbcol1), last(tbcol1) from $mt where ts < 1626739440001 and tbcol1 = 1 and tbcol2 = 1 and tbcol3 = 1 and tbcol4 = 1 and tbcol5 = 1 and tbcol6 = 1 group by tgcol2
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
diff --git a/tests/script/general/field/bigint.sim b/tests/script/general/field/bigint.sim
index 538f966c49cc3eefb8516c4bac4a49b9efd78d37..cfe8c561f0d852133267f7dd597f7796aee951f0 100644
--- a/tests/script/general/field/bigint.sim
+++ b/tests/script/general/field/bigint.sim
@@ -30,7 +30,7 @@ while $i < 5
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , 0 )
+ sql insert into $tb values (1626739200000 + $ms , 0 )
$x = $x + 1
endw
$i = $i + 1
@@ -41,7 +41,7 @@ while $i < 10
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , 1 )
+ sql insert into $tb values (1626739200000 + $ms , 1 )
$x = $x + 1
endw
$i = $i + 1
@@ -82,35 +82,35 @@ if $rows != 100 then
endi
print =============== step3
-sql select * from $mt where ts > now + 4m and tbcol = 1
+sql select * from $mt where ts > 1626739440001 and tbcol = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol = 0
+sql select * from $mt where ts < 1626739440001 and tbcol = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol <> 0 and ts < now + 5m
+sql select * from $mt where ts > 1626739440001 and tbcol <> 0 and ts < 1626739500001
if $rows != 5 then
return -1
endi
@@ -139,7 +139,7 @@ if $data00 != 100 then
endi
print =============== step7
-sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where ts < now + 4m and tbcol = 1 group by tgcol
+sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where ts < 1626739440001 and tbcol = 1 group by tgcol
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
diff --git a/tests/script/general/field/binary.sim b/tests/script/general/field/binary.sim
index d601750b0d96b94bd60751de62c7fd139e1882be..821dbc9a82f7d8e6e21be419d6c28a7b67f1271d 100644
--- a/tests/script/general/field/binary.sim
+++ b/tests/script/general/field/binary.sim
@@ -30,7 +30,7 @@ while $i < 5
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , '0' )
+ sql insert into $tb values (1626739200000 + $ms , '0' )
$x = $x + 1
endw
$i = $i + 1
@@ -41,7 +41,7 @@ while $i < 10
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , '1' )
+ sql insert into $tb values (1626739200000 + $ms , '1' )
$x = $x + 1
endw
$i = $i + 1
@@ -55,14 +55,14 @@ if $rows != 100 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol = '1'
+sql select * from $mt where ts > 1626739440001 and tbcol = '1'
if $rows != 75 then
return -1
endi
print select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where tbcol = '1'
sql_error select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where tbcol = '1' group by tgcol
-sql_error select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where ts < now + 4m and tbcol = '1' group by tgcol
+sql_error select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where ts < 1626739440001 and tbcol = '1' group by tgcol
sql_error select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where tbcol = '1' interval(1d) group by tgcol
#can't filter binary fields
diff --git a/tests/script/general/field/bool.sim b/tests/script/general/field/bool.sim
index 796ed4e0aaa4c1b0b61462ef95ffaf98a671f2ed..d94071b3282613a51c7580fc23f0bdc700cea03f 100644
--- a/tests/script/general/field/bool.sim
+++ b/tests/script/general/field/bool.sim
@@ -30,7 +30,7 @@ while $i < 5
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , 0 )
+ sql insert into $tb values (1626739200000 + $ms , 0 )
$x = $x + 1
endw
$i = $i + 1
@@ -41,7 +41,7 @@ while $i < 10
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , 1 )
+ sql insert into $tb values (1626739200000 + $ms , 1 )
$x = $x + 1
endw
$i = $i + 1
@@ -82,35 +82,35 @@ if $rows != 100 then
endi
print =============== step3
-sql select * from $mt where ts > now + 4m and tbcol = true
+sql select * from $mt where ts > 1626739440001 and tbcol = true
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol <> true
+sql select * from $mt where ts > 1626739440001 and tbcol <> true
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol = false
+sql select * from $mt where ts < 1626739440001 and tbcol = false
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol <> false
+sql select * from $mt where ts < 1626739440001 and tbcol <> false
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol = false
+sql select * from $mt where ts <= 1626739440001 and tbcol = false
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol <> false
+sql select * from $mt where ts <= 1626739440001 and tbcol <> false
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol <> false
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol <> false
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol <> false and ts < now + 5m
+sql select * from $mt where ts > 1626739440001 and tbcol <> false and ts < 1626739500001
if $rows != 5 then
return -1
endi
@@ -137,7 +137,7 @@ if $data00 != 100 then
endi
print =============== step7
-sql select count(tbcol), first(tbcol), last(tbcol) from $mt where ts < now + 4m and tbcol = true group by tgcol
+sql select count(tbcol), first(tbcol), last(tbcol) from $mt where ts < 1626739440001 and tbcol = true group by tgcol
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
diff --git a/tests/script/general/field/double.sim b/tests/script/general/field/double.sim
index ef86585e5f69fdd63c417ef823a57f3502436e40..0c9c23e3047466da264fd2ac3b2624ff22a5d0b0 100644
--- a/tests/script/general/field/double.sim
+++ b/tests/script/general/field/double.sim
@@ -30,7 +30,7 @@ while $i < 5
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , 0 )
+ sql insert into $tb values (1626739200000 + $ms , 0 )
$x = $x + 1
endw
$i = $i + 1
@@ -41,7 +41,7 @@ while $i < 10
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , 1 )
+ sql insert into $tb values (1626739200000 + $ms , 1 )
$x = $x + 1
endw
$i = $i + 1
@@ -82,35 +82,35 @@ if $rows != 100 then
endi
print =============== step3
-sql select * from $mt where ts > now + 4m and tbcol = 1
+sql select * from $mt where ts > 1626739440001 and tbcol = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol = 0
+sql select * from $mt where ts < 1626739440001 and tbcol = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol <> 0 and ts < now + 5m
+sql select * from $mt where ts > 1626739440001 and tbcol <> 0 and ts < 1626739500001
if $rows != 5 then
return -1
endi
@@ -137,7 +137,7 @@ if $data00 != 100 then
endi
print =============== step7
-sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where ts < now + 4m and tbcol = 1 group by tgcol
+sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where ts < 1626739440001 and tbcol = 1 group by tgcol
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
diff --git a/tests/script/general/field/float.sim b/tests/script/general/field/float.sim
index a01bcbdd4ca2a7a7b7009ded641cd88357fbcc07..00423c00b8515bafb7974604e1211c15868512d7 100644
--- a/tests/script/general/field/float.sim
+++ b/tests/script/general/field/float.sim
@@ -30,7 +30,7 @@ while $i < 5
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , 0 )
+ sql insert into $tb values (1626739200000 + $ms , 0 )
$x = $x + 1
endw
$i = $i + 1
@@ -41,7 +41,7 @@ while $i < 10
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , 1 )
+ sql insert into $tb values (1626739200000 + $ms , 1 )
$x = $x + 1
endw
$i = $i + 1
@@ -82,35 +82,35 @@ if $rows != 100 then
endi
print =============== step3
-sql select * from $mt where ts > now + 4m and tbcol = 1
+sql select * from $mt where ts > 1626739440001 and tbcol = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol = 0
+sql select * from $mt where ts < 1626739440001 and tbcol = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol <> 0 and ts < now + 5m
+sql select * from $mt where ts > 1626739440001 and tbcol <> 0 and ts < 1626739500001
if $rows != 5 then
return -1
endi
@@ -137,7 +137,7 @@ if $data00 != 100 then
endi
print =============== step7
-sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where ts < now + 4m and tbcol = 1 group by tgcol
+sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where ts < 1626739440001 and tbcol = 1 group by tgcol
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
diff --git a/tests/script/general/field/int.sim b/tests/script/general/field/int.sim
index c04fe5d2b1d4cc2d43de0111d3e22dcd177fa8fc..0e322e4f120d6eef933023467d1246a127780529 100644
--- a/tests/script/general/field/int.sim
+++ b/tests/script/general/field/int.sim
@@ -30,7 +30,7 @@ while $i < 5
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , 0 )
+ sql insert into $tb values (1626739200000 + $ms , 0 )
$x = $x + 1
endw
$i = $i + 1
@@ -41,7 +41,7 @@ while $i < 10
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , 1 )
+ sql insert into $tb values (1626739200000 + $ms , 1 )
$x = $x + 1
endw
$i = $i + 1
@@ -82,35 +82,35 @@ if $rows != 100 then
endi
print =============== step3
-sql select * from $mt where ts > now + 4m and tbcol = 1
+sql select * from $mt where ts > 1626739440001 and tbcol = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol = 0
+sql select * from $mt where ts < 1626739440001 and tbcol = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol <> 0 and ts < now + 5m
+sql select * from $mt where ts > 1626739440001 and tbcol <> 0 and ts < 1626739500001
if $rows != 5 then
return -1
endi
@@ -137,7 +137,7 @@ if $data00 != 100 then
endi
print =============== step7
-sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where ts < now + 4m and tbcol = 1 group by tgcol
+sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where ts < 1626739440001 and tbcol = 1 group by tgcol
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
diff --git a/tests/script/general/field/single.sim b/tests/script/general/field/single.sim
index 0cfb92aad5c795e14a304146419a97157176c3ac..3f6bf4309fac7ce45577094f3316c34edcd954c1 100644
--- a/tests/script/general/field/single.sim
+++ b/tests/script/general/field/single.sim
@@ -25,7 +25,7 @@ sql create table $tb (ts timestamp, tbcol int)
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , $x )
+ sql insert into $tb values (1626739200000 + $ms , $x )
$x = $x + 1
endw
@@ -111,18 +111,18 @@ if $rows != 0 then
endi
print =============== step3
-sql select * from $tb where ts < now + 4m
+sql select * from $tb where ts < 1626739440001
if $rows != 5 then
return -1
endi
-sql select * from $tb where tbcol = 10 and ts < now + 4m
-print select * from $tb where tbcol = 10 and ts < now + 4m
+sql select * from $tb where tbcol = 10 and ts < 1626739440001
+print select * from $tb where tbcol = 10 and ts < 1626739440001
if $rows != 0 then
return -1
endi
-sql select * from $tb where tbcol = 4 and ts < now + 4m order by ts desc
+sql select * from $tb where tbcol = 4 and ts < 1626739440001 order by ts desc
if $rows != 1 then
return -1
endi
@@ -130,7 +130,7 @@ if $data01 != 4 then
return -1
endi
-sql select * from $tb where tbcol < 10 and ts < now + 4m order by ts desc
+sql select * from $tb where tbcol < 10 and ts < 1626739440001 order by ts desc
if $rows != 5 then
return -1
endi
@@ -138,7 +138,7 @@ if $data01 != 4 then
return -1
endi
-sql select * from $tb where tbcol < 10 and ts > now + 4m and ts < now + 5m order by ts desc
+sql select * from $tb where tbcol < 10 and ts > 1626739440001 and ts < 1626739500001 order by ts desc
print $rows $data00 $data01
if $rows != 1 then
return -1
@@ -183,27 +183,27 @@ sql select count(*) from $tb where tbcol < 10 and tbcol > 5 order by ts asc -x s
step4:
print =============== step5
-sql select count(*) from $tb where ts < now + 4m
+sql select count(*) from $tb where ts < 1626739440001
if $data00 != 5 then
return -1
endi
-#sql select count(*) from $tb where tbcol = 10 and ts < now + 4m
+#sql select count(*) from $tb where tbcol = 10 and ts < 1626739440001
#if $data00 != 0 then
# return -1
#endi
-sql select count(*) from $tb where tbcol = 4 and ts < now + 4m
+sql select count(*) from $tb where tbcol = 4 and ts < 1626739440001
if $data00 != 1 then
return -1
endi
-sql select count(*) from $tb where tbcol < 10 and ts < now + 4m
+sql select count(*) from $tb where tbcol < 10 and ts < 1626739440001
if $data00 != 5 then
return -1
endi
-sql select count(*) from $tb where tbcol < 10 and ts > now + 4m and ts < now + 5m
+sql select count(*) from $tb where tbcol < 10 and ts > 1626739440001 and ts < 1626739500001
if $data00 != 1 then
return -1
endi
diff --git a/tests/script/general/field/smallint.sim b/tests/script/general/field/smallint.sim
index 1d5566812efcd8e59ccc339e53577246c61c7a63..78b2b998cfa56f368b1480716dabe8be38a45b9a 100644
--- a/tests/script/general/field/smallint.sim
+++ b/tests/script/general/field/smallint.sim
@@ -30,7 +30,7 @@ while $i < 5
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , 0 )
+ sql insert into $tb values (1626739200000 + $ms , 0 )
$x = $x + 1
endw
$i = $i + 1
@@ -41,7 +41,7 @@ while $i < 10
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , 1 )
+ sql insert into $tb values (1626739200000 + $ms , 1 )
$x = $x + 1
endw
$i = $i + 1
@@ -82,35 +82,35 @@ if $rows != 100 then
endi
print =============== step3
-sql select * from $mt where ts > now + 4m and tbcol = 1
+sql select * from $mt where ts > 1626739440001 and tbcol = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol = 0
+sql select * from $mt where ts < 1626739440001 and tbcol = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol <> 0 and ts < now + 5m
+sql select * from $mt where ts > 1626739440001 and tbcol <> 0 and ts < 1626739500001
if $rows != 5 then
return -1
endi
@@ -137,7 +137,7 @@ if $data00 != 100 then
endi
print =============== step7
-sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where ts < now + 4m and tbcol = 1 group by tgcol
+sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where ts < 1626739440001 and tbcol = 1 group by tgcol
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
diff --git a/tests/script/general/field/tinyint.sim b/tests/script/general/field/tinyint.sim
index f10e3d293a9d847f4f71a585603598a69ddc5e1c..7e1a0c6e80022435a50c48398ee9098ce9ec43aa 100644
--- a/tests/script/general/field/tinyint.sim
+++ b/tests/script/general/field/tinyint.sim
@@ -31,7 +31,7 @@ while $i < 5
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , 0 )
+ sql insert into $tb values (1626739200000 + $ms , 0 )
$x = $x + 1
endw
$i = $i + 1
@@ -42,7 +42,7 @@ while $i < 10
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , 1 )
+ sql insert into $tb values (1626739200000 + $ms , 1 )
$x = $x + 1
endw
$i = $i + 1
@@ -83,35 +83,35 @@ if $rows != 100 then
endi
print =============== step3
-sql select * from $mt where ts > now + 4m and tbcol = 1
+sql select * from $mt where ts > 1626739440001 and tbcol = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol = 0
+sql select * from $mt where ts < 1626739440001 and tbcol = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol <> 0 and ts < now + 5m
+sql select * from $mt where ts > 1626739440001 and tbcol <> 0 and ts < 1626739500001
if $rows != 5 then
return -1
endi
@@ -138,7 +138,7 @@ if $data00 != 100 then
endi
print =============== step7
-sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where ts < now + 4m and tbcol = 1 group by tgcol
+sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where ts < 1626739440001 and tbcol = 1 group by tgcol
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
diff --git a/tests/script/general/field/unsigined_bigint.sim b/tests/script/general/field/unsigined_bigint.sim
index 1cfe8ad15b31f38d2fc72d429a0c9af2cb5732fb..260128b5c2476911e8e1d809e63c7f89b4fd300a 100644
--- a/tests/script/general/field/unsigined_bigint.sim
+++ b/tests/script/general/field/unsigined_bigint.sim
@@ -31,11 +31,11 @@ while $i < 5
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , 0 )
+ sql insert into $tb values (1626739200000 + $ms , 0 )
$x = $x + 1
- sql_error insert into $tb values (now + $ms , -10)
- sql_error insert into $tb values (now + $ms , -1000)
- sql_error insert into $tb values (now + $ms , -10000000)
+ sql_error insert into $tb values (1626739200000 + $ms , -10)
+ sql_error insert into $tb values (1626739200000 + $ms , -1000)
+ sql_error insert into $tb values (1626739200000 + $ms , -10000000)
endw
$i = $i + 1
endw
@@ -45,7 +45,7 @@ while $i < 10
$x = 0
while $x < $rowNum
$ms = $x . m
- sql insert into $tb values (now + $ms , 1 )
+ sql insert into $tb values (1626739200000 + $ms , 1 )
$x = $x + 1
endw
$i = $i + 1
@@ -86,35 +86,35 @@ if $rows != 100 then
endi
print =============== step3
-sql select * from $mt where ts > now + 4m and tbcol = 1
+sql select * from $mt where ts > 1626739440001 and tbcol = 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol <> 1
+sql select * from $mt where ts > 1626739440001 and tbcol <> 1
if $rows != 75 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol = 0
+sql select * from $mt where ts < 1626739440001 and tbcol = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts < now + 4m and tbcol <> 0
+sql select * from $mt where ts < 1626739440001 and tbcol <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol = 0
+sql select * from $mt where ts <= 1626739440001 and tbcol = 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts <= now + 4m and tbcol <> 0
+sql select * from $mt where ts <= 1626739440001 and tbcol <> 0
if $rows != 25 then
return -1
endi
-sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol <> 0
+sql select * from $mt where ts > 1626739440001 and ts < 1626739500001 and tbcol <> 0
if $rows != 5 then
return -1
endi
-sql select * from $mt where ts > now + 4m and tbcol <> 0 and ts < now + 5m
+sql select * from $mt where ts > 1626739440001 and tbcol <> 0 and ts < 1626739500001
if $rows != 5 then
return -1
endi
@@ -143,7 +143,7 @@ if $data00 != 100 then
endi
print =============== step7
-sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where ts < now + 4m and tbcol = 1 group by tgcol
+sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where ts < 1626739440001 and tbcol = 1 group by tgcol
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
if $data00 != 25 then
return -1
diff --git a/tests/script/general/parser/alter_stable.sim b/tests/script/general/parser/alter_stable.sim
index afdd7d3edf1ba4f2159569f497bf495cce8ec650..1406af608779eef2048de24b6e4aef6b99b54d7d 100644
--- a/tests/script/general/parser/alter_stable.sim
+++ b/tests/script/general/parser/alter_stable.sim
@@ -35,7 +35,10 @@ sql alter table tb1 set tag name = ""
sql alter table tb1 set tag name = "shenzhen"
sql alter table tb1 set tag len = 379
+# case TD-5594
+sql create stable st5520(ts timestamp, f int) tags(t0 bool, t1 nchar(4093), t2 nchar(1))
+sql_error alter stable st5520 modify tag t2 nchar(2);
# test end
sql drop database $db
-system sh/exec.sh -n dnode1 -s stop -x SIGINT
\ No newline at end of file
+system sh/exec.sh -n dnode1 -s stop -x SIGINT
diff --git a/tests/script/general/tag/3.sim b/tests/script/general/rm_bak/tag/3.sim
similarity index 100%
rename from tests/script/general/tag/3.sim
rename to tests/script/general/rm_bak/tag/3.sim
diff --git a/tests/script/general/tag/4.sim b/tests/script/general/rm_bak/tag/4.sim
similarity index 100%
rename from tests/script/general/tag/4.sim
rename to tests/script/general/rm_bak/tag/4.sim
diff --git a/tests/script/general/tag/5.sim b/tests/script/general/rm_bak/tag/5.sim
similarity index 100%
rename from tests/script/general/tag/5.sim
rename to tests/script/general/rm_bak/tag/5.sim
diff --git a/tests/script/general/tag/6.sim b/tests/script/general/rm_bak/tag/6.sim
similarity index 100%
rename from tests/script/general/tag/6.sim
rename to tests/script/general/rm_bak/tag/6.sim
diff --git a/tests/script/general/tag/add.sim b/tests/script/general/rm_bak/tag/add.sim
similarity index 100%
rename from tests/script/general/tag/add.sim
rename to tests/script/general/rm_bak/tag/add.sim
diff --git a/tests/script/general/tag/bigint.sim b/tests/script/general/rm_bak/tag/bigint.sim
similarity index 100%
rename from tests/script/general/tag/bigint.sim
rename to tests/script/general/rm_bak/tag/bigint.sim
diff --git a/tests/script/general/tag/binary.sim b/tests/script/general/rm_bak/tag/binary.sim
similarity index 100%
rename from tests/script/general/tag/binary.sim
rename to tests/script/general/rm_bak/tag/binary.sim
diff --git a/tests/script/general/tag/binary_binary.sim b/tests/script/general/rm_bak/tag/binary_binary.sim
similarity index 100%
rename from tests/script/general/tag/binary_binary.sim
rename to tests/script/general/rm_bak/tag/binary_binary.sim
diff --git a/tests/script/general/tag/bool.sim b/tests/script/general/rm_bak/tag/bool.sim
similarity index 100%
rename from tests/script/general/tag/bool.sim
rename to tests/script/general/rm_bak/tag/bool.sim
diff --git a/tests/script/general/tag/bool_binary.sim b/tests/script/general/rm_bak/tag/bool_binary.sim
similarity index 100%
rename from tests/script/general/tag/bool_binary.sim
rename to tests/script/general/rm_bak/tag/bool_binary.sim
diff --git a/tests/script/general/tag/bool_int.sim b/tests/script/general/rm_bak/tag/bool_int.sim
similarity index 100%
rename from tests/script/general/tag/bool_int.sim
rename to tests/script/general/rm_bak/tag/bool_int.sim
diff --git a/tests/script/general/tag/change.sim b/tests/script/general/rm_bak/tag/change.sim
similarity index 100%
rename from tests/script/general/tag/change.sim
rename to tests/script/general/rm_bak/tag/change.sim
diff --git a/tests/script/general/tag/column.sim b/tests/script/general/rm_bak/tag/column.sim
similarity index 100%
rename from tests/script/general/tag/column.sim
rename to tests/script/general/rm_bak/tag/column.sim
diff --git a/tests/script/general/tag/commit.sim b/tests/script/general/rm_bak/tag/commit.sim
similarity index 100%
rename from tests/script/general/tag/commit.sim
rename to tests/script/general/rm_bak/tag/commit.sim
diff --git a/tests/script/general/tag/create.sim b/tests/script/general/rm_bak/tag/create.sim
similarity index 100%
rename from tests/script/general/tag/create.sim
rename to tests/script/general/rm_bak/tag/create.sim
diff --git a/tests/script/general/tag/delete.sim b/tests/script/general/rm_bak/tag/delete.sim
similarity index 100%
rename from tests/script/general/tag/delete.sim
rename to tests/script/general/rm_bak/tag/delete.sim
diff --git a/tests/script/general/tag/double.sim b/tests/script/general/rm_bak/tag/double.sim
similarity index 100%
rename from tests/script/general/tag/double.sim
rename to tests/script/general/rm_bak/tag/double.sim
diff --git a/tests/script/general/tag/filter.sim b/tests/script/general/rm_bak/tag/filter.sim
similarity index 100%
rename from tests/script/general/tag/filter.sim
rename to tests/script/general/rm_bak/tag/filter.sim
diff --git a/tests/script/general/tag/float.sim b/tests/script/general/rm_bak/tag/float.sim
similarity index 100%
rename from tests/script/general/tag/float.sim
rename to tests/script/general/rm_bak/tag/float.sim
diff --git a/tests/script/general/tag/int.sim b/tests/script/general/rm_bak/tag/int.sim
similarity index 100%
rename from tests/script/general/tag/int.sim
rename to tests/script/general/rm_bak/tag/int.sim
diff --git a/tests/script/general/tag/int_binary.sim b/tests/script/general/rm_bak/tag/int_binary.sim
similarity index 100%
rename from tests/script/general/tag/int_binary.sim
rename to tests/script/general/rm_bak/tag/int_binary.sim
diff --git a/tests/script/general/tag/int_float.sim b/tests/script/general/rm_bak/tag/int_float.sim
similarity index 100%
rename from tests/script/general/tag/int_float.sim
rename to tests/script/general/rm_bak/tag/int_float.sim
diff --git a/tests/script/general/tag/set.sim b/tests/script/general/rm_bak/tag/set.sim
similarity index 100%
rename from tests/script/general/tag/set.sim
rename to tests/script/general/rm_bak/tag/set.sim
diff --git a/tests/script/general/tag/smallint.sim b/tests/script/general/rm_bak/tag/smallint.sim
similarity index 100%
rename from tests/script/general/tag/smallint.sim
rename to tests/script/general/rm_bak/tag/smallint.sim
diff --git a/tests/script/general/tag/testSuite.sim b/tests/script/general/rm_bak/tag/testSuite.sim
similarity index 100%
rename from tests/script/general/tag/testSuite.sim
rename to tests/script/general/rm_bak/tag/testSuite.sim
diff --git a/tests/script/general/tag/tinyint.sim b/tests/script/general/rm_bak/tag/tinyint.sim
similarity index 100%
rename from tests/script/general/tag/tinyint.sim
rename to tests/script/general/rm_bak/tag/tinyint.sim
diff --git a/tests/script/general/stream/agg_stream.sim b/tests/script/general/stream/agg_stream.sim
index 65657fc33be88152040ce68c46d559e8b2c119a5..548f59cab7e6b3a81c5b01a62e02456f3c209720 100644
--- a/tests/script/general/stream/agg_stream.sim
+++ b/tests/script/general/stream/agg_stream.sim
@@ -20,7 +20,7 @@ print =============== step2
sql create database d4 precision 'us'
sql use d4
sql create table t1 (ts timestamp, i int)
-sql insert into d4.t1 values(now, 1)
+sql insert into d4.t1 values(1626739200000, 1)
sql create table d4.s001 as select count(cpu_taosd), count(cpu_system), avg(cpu_taosd), avg(cpu_system), sum(cpu_taosd), max(cpu_taosd), min(cpu_taosd) from log.dn_192_168_0_1 interval(5s)
sql create table d4.s002 as select count(mem_taosd), count(mem_system), avg(mem_taosd), avg(mem_system), sum(mem_taosd), max(mem_taosd), min(mem_taosd) from log.dn_192_168_0_1 interval(5s)
diff --git a/tests/script/general/stream/column_stream.sim b/tests/script/general/stream/column_stream.sim
index c43ca1fd5ac7cfc5e477c970b313414469e9a29c..59a65f0969ebc6e2fd6d62c5b3fcc1bf66c420b7 100644
--- a/tests/script/general/stream/column_stream.sim
+++ b/tests/script/general/stream/column_stream.sim
@@ -23,7 +23,7 @@ print =============== step2
sql create database d4 precision 'us'
sql use d4
sql create table t1 (ts timestamp, i int)
-sql insert into d4.t1 values(now, 1)
+sql insert into d4.t1 values(1626739200000, 1)
sql create table d4.s1 as select count(cpu_taosd), count(cpu_system), avg(cpu_taosd), avg(cpu_system), sum(cpu_taosd), max(cpu_taosd), min(cpu_taosd), stddev(cpu_taosd), count(*) as c1, count(*) as c2, count(*) as c3, count(*) as c4, count(*) as c5, count(*) as c6, count(*) as c7, count(*) as c8, count(*) as c9, count(*) as c10, count(*) as c11, count(*) as c12, count(*) as c13, count(*) as c14, count(*) as c15, count(*) as c16, count(*) as c17, count(*) as c18, count(*) as c19, count(*) as c20, count(*) as c21, count(*) as c22, count(*) as c23, count(*) as c24, count(*) as c25, count(*) as c26, count(*) as c27, count(*) as c28, count(*) as c29, count(*) as c30 from log.dn_192_168_0_1 interval(5s)
diff --git a/tests/script/general/stream/metrics_replica1_vnoden.sim b/tests/script/general/stream/metrics_replica1_vnoden.sim
index 4629063c4460c10dccc844b6b39e512012638379..db1044a597510048c4b812d8a3a16d53ff4e5ac0 100644
--- a/tests/script/general/stream/metrics_replica1_vnoden.sim
+++ b/tests/script/general/stream/metrics_replica1_vnoden.sim
@@ -37,11 +37,11 @@ while $i < $tbNum
$tb = $tbPrefix . $i
sql create table $tb using $mt tags( $i )
- $x = -1440
+ $x = -400
$y = 0
while $y < $rowNum
$ms = $x . m
- sql insert into $tb values (now $ms , $y , $y )
+ sql insert into $tb values (1626739200000 $ms , $y , $y )
$x = $x + 1
$y = $y + 1
endw
@@ -143,14 +143,14 @@ $st = $stPrefix . la
sql create table $st as select last(tbcol) from $mt interval(1d)
print =============== step11 wh
-sql select count(tbcol) from $mt where ts < now + 4m interval(1d)
-print select count(tbcol) from $mt where ts < now + 4m interval(1d) ===> $data00 $data01
+sql select count(tbcol) from $mt where ts < 1626739440001 interval(1d)
+print select count(tbcol) from $mt where ts < 1626739440000 interval(1d) ===> $data00 $data01
if $data01 != 200 then
return -1
endi
$st = $stPrefix . wh
-#sql create table $st as select count(tbcol) from $mt where ts < now + 4m interval(1d)
+#sql create table $st as select count(tbcol) from $mt where ts < 1626739200000 + 4m interval(1d)
print =============== step12 as
sql select count(tbcol) from $mt interval(1d)
diff --git a/tests/script/general/stream/restart_stream.sim b/tests/script/general/stream/restart_stream.sim
index c8be10103d16a856fb0c083546cfaf8b939a1b98..62e47f9b3a6c12668409293769ee7c5a12a718ac 100644
--- a/tests/script/general/stream/restart_stream.sim
+++ b/tests/script/general/stream/restart_stream.sim
@@ -34,11 +34,11 @@ while $i < 10
$tb = $tbPrefix . $i
sql create table $tb using $mt tags( 0 )
- $x = -1440
+ $x = -400
$y = 0
while $y < $rowNum
- $ms = $x . m
- sql insert into $tb values (now $ms , $y , $y )
+ $ms = $x . m
+ sql insert into $tb values (1626739200000 $ms , $y , $y )
$x = $x + 1
$y = $y + 1
endw
@@ -54,7 +54,7 @@ sql select count(*) from $tb interval(1d)
print ===>rows $rows, data $data01
if $rows != 1 then
return -1
-endi
+endi
if $data01 != 20 then
return -1
endi
@@ -114,11 +114,11 @@ while $i < 5
$tb = $tbPrefix . $i
sql create table $tb using $mt tags( 0 )
- $x = -1440
+ $x = -400
$y = 0
while $y < $rowNum
$ms = $x . m
- sql insert into $tb values (now $ms , $y , $y )
+ sql insert into $tb values (1626739200000 $ms , $y , $y )
$x = $x + 1
$y = $y + 1
endw
diff --git a/tests/script/general/stream/stream_3.sim b/tests/script/general/stream/stream_3.sim
index 31490dc5ac44b93f0daf02cd0ba3b4d77a3be20b..b043993814db2ea5bf8c6a3513317efca50b51d3 100644
--- a/tests/script/general/stream/stream_3.sim
+++ b/tests/script/general/stream/stream_3.sim
@@ -34,11 +34,11 @@ while $i < $tbNum
$tb = $tbPrefix . $i
sql create table $tb using $mt tags( $i )
- $x = -1440
+ $x = -400
$y = 0
while $y < $rowNum
$ms = $x . m
- sql insert into $tb values (now $ms , $y , $y )
+ sql insert into $tb values (1626739200000 $ms , $y , $y )
$x = $x + 1
$y = $y + 1
endw
@@ -139,11 +139,11 @@ while $i < $tbNum
$tb = $tbPrefix . $i
sql create table $tb using $mt tags( $i )
- $x = -1440
+ $x = -400
$y = 0
while $y < $rowNum
$ms = $x . m
- sql insert into $tb values (now $ms , $y , $y )
+ sql insert into $tb values (1626739200000 $ms , $y , $y )
$x = $x + 1
$y = $y + 1
endw
diff --git a/tests/script/general/stream/stream_restart.sim b/tests/script/general/stream/stream_restart.sim
index 4bf6760703ef744572a0b172cb860141f8768ff5..54a60a00811de0253d1ad1110b69f2587f707aa1 100644
--- a/tests/script/general/stream/stream_restart.sim
+++ b/tests/script/general/stream/stream_restart.sim
@@ -37,7 +37,7 @@ while $i < $tbNum
$y = 0
while $y < $rowNum
$ms = $x . s
- sql insert into $tb values (now + $ms , $y , $y )
+ sql insert into $tb values (1626739200000 + $ms , $y , $y )
$x = $x + 1
$y = $y + 1
endw
diff --git a/tests/script/general/stream/table_del.sim b/tests/script/general/stream/table_del.sim
index 3cbce538d5a87553289b834bd15dea1f43da35fb..34673605d63b39b9fd809aaedd94f4e6ef80f5b7 100644
--- a/tests/script/general/stream/table_del.sim
+++ b/tests/script/general/stream/table_del.sim
@@ -34,11 +34,11 @@ while $i < $tbNum
$tb = $tbPrefix . $i
sql create table $tb using $mt tags( $i )
- $x = -1440
+ $x = -400
$y = 0
while $y < $rowNum
$ms = $x . m
- sql insert into $tb values (now $ms , $y , $y )
+ sql insert into $tb values (1626739200000 $ms , $y , $y )
$x = $x + 1
$y = $y + 1
endw
diff --git a/tests/script/general/stream/table_replica1_vnoden.sim b/tests/script/general/stream/table_replica1_vnoden.sim
index be67a31b4e6782e81289b03fb267db501f341520..4a6c4fe0462fc675e13785905ff1b707815fd168 100644
--- a/tests/script/general/stream/table_replica1_vnoden.sim
+++ b/tests/script/general/stream/table_replica1_vnoden.sim
@@ -37,11 +37,11 @@ while $i < $tbNum
$tb = $tbPrefix . $i
sql create table $tb using $mt tags( $i )
- $x = -1440
+ $x = -400
$y = 0
while $y < $rowNum
$ms = $x . m
- sql insert into $tb values (now $ms , $y , $y )
+ sql insert into $tb values (1626739200000 $ms , $y , $y )
$x = $x + 1
$y = $y + 1
endw
@@ -176,14 +176,14 @@ $st = $stPrefix . pe
sql create table $st as select percentile(tbcol, 1) from $tb interval(1d)
print =============== step14 wh
-sql select count(tbcol) from $tb where ts < now + 4m interval(1d)
-print select count(tbcol) from $tb where ts < now + 4m interval(1d) ===> $data00 $data01
+sql select count(tbcol) from $tb where ts < 1626739440001 interval(1d)
+print select count(tbcol) from $tb where ts < 1626739440001 interval(1d) ===> $data00 $data01
if $data01 != $rowNum then
return -1
endi
$st = $stPrefix . wh
-#sql create table $st as select count(tbcol) from $tb where ts < now + 4m interval(1d)
+#sql create table $st as select count(tbcol) from $tb where ts < 1626739200000 + 4m interval(1d)
print =============== step15 as
sql select count(tbcol) from $tb interval(1d)
diff --git a/tests/script/general/table/fill.sim b/tests/script/general/table/fill.sim
deleted file mode 100644
index 069eeff6cf0cdf35a55f33fa3e5bbf8135cc7921..0000000000000000000000000000000000000000
--- a/tests/script/general/table/fill.sim
+++ /dev/null
@@ -1,63 +0,0 @@
-system sh/stop_dnodes.sh
-
-system sh/deploy.sh -n dnode1 -i 1
-system sh/cfg.sh -n dnode1 -c walLevel -v 1
-system sh/exec.sh -n dnode1 -s start
-
-sleep 2000
-sql connect
-
-print =================== step1
-sql create database db
-sql use db
-sql create table mt (ts timestamp, k int, h binary(20), t bigint, s float, f double, x smallint, y tinyint, z bool) tags (a int, b binary(20), c bigint)
-sql create table tb using mt tags (0, '1', 2)
-
-sql insert into tb values(now -200d, 200, '1', 2, 3, 4, 5, 6, true);
-sql insert into tb values(now -100d, 100, '1', 2, 3, 4, 5, 6, true);
-sql insert into tb values(now -30d, 30, '1', 2, 3, 4, 5, 6, true);
-sql insert into tb values(now -20d, 20, '1', 2, 3, 4, 5, 6, true);
-sql insert into tb values(now -10d, 10, '1', 2, 3, 4, 5, 6, true);
-sql insert into tb values(now -5d, 5, '1', 2, 3, 4, 5, 6, true);
-sql insert into tb values(now -1d, 1, '1', 2, 3, 4, 5, 6, true);
-sql insert into tb values(now, 0, '1', 2, 3, 4, 5, 6, true);
-
-sql select * from db.mt
-if $rows != 8 then
- return -1
-endi
-
-sql select * from db.tb
-if $rows != 8 then
- return -1
-endi
-
-sql select count(*) from db.mt
-if $data00 != 8 then
- return -1
-endi
-
-sql select count(*), last(ts), min(k), max(k), avg(k) from db.mt where a=0 and ts>="2016-4-29 8:0:0" and ts < "2018-7-18 8:9:0" interval(1d) fill(value, 1)
-sql select count(*), last(ts), min(k), max(k), avg(k) from db.mt where a=0 and ts>="2016-4-29 8:0:0" and ts < "2018-7-18 8:9:0" interval(1d) fill(value, 1)
-
-print =================== step2
-system sh/exec.sh -n dnode1 -s stop -x SIGINT
-sleep 3000
-system sh/exec.sh -n dnode1 -s start
-sleep 2000
-
-print =================== step3
-sql select * from db.mt
-if $rows != 8 then
- return -1
-endi
-
-sql select * from db.tb
-if $rows != 8 then
- return -1
-endi
-
-sql select count(*) from db.mt
-if $data00 != 8 then
- return -1
-endi
diff --git a/tests/script/jenkins/basic.txt b/tests/script/jenkins/basic.txt
index daac2caf5da086d538d0ec4845737a819f6fa1cd..6ad6a74eed76765a11e3cc875b7ff1ae51be648b 100644
--- a/tests/script/jenkins/basic.txt
+++ b/tests/script/jenkins/basic.txt
@@ -93,31 +93,7 @@ cd ../../../debug; make
#======================b1-end===============
#======================b2-start===============
-./test.sh -f general/tag/3.sim
-./test.sh -f general/tag/4.sim
-./test.sh -f general/tag/5.sim
-./test.sh -f general/tag/6.sim
-./test.sh -f general/tag/add.sim
-./test.sh -f general/tag/bigint.sim
-./test.sh -f general/tag/binary_binary.sim
-./test.sh -f general/tag/binary.sim
-./test.sh -f general/tag/bool_binary.sim
-./test.sh -f general/tag/bool_int.sim
-./test.sh -f general/tag/bool.sim
-./test.sh -f general/tag/change.sim
-./test.sh -f general/tag/column.sim
-./test.sh -f general/tag/commit.sim
-./test.sh -f general/tag/create.sim
-./test.sh -f general/tag/delete.sim
-./test.sh -f general/tag/double.sim
-./test.sh -f general/tag/filter.sim
-./test.sh -f general/tag/float.sim
-./test.sh -f general/tag/int_binary.sim
-./test.sh -f general/tag/int_float.sim
-./test.sh -f general/tag/int.sim
-./test.sh -f general/tag/set.sim
-./test.sh -f general/tag/smallint.sim
-./test.sh -f general/tag/tinyint.sim
+
./test.sh -f general/wal/sync.sim
./test.sh -f general/wal/kill.sim
./test.sh -f general/wal/maxtables.sim
@@ -397,7 +373,6 @@ cd ../../../debug; make
./test.sh -f general/table/delete_writing.sim
./test.sh -f general/table/describe.sim
./test.sh -f general/table/double.sim
-./test.sh -f general/table/fill.sim
./test.sh -f general/table/float.sim
./test.sh -f general/table/int.sim
./test.sh -f general/table/limit.sim