[TD-3607]<fix>: fix taosdemo limit and offset. (#5707)
if offset+limit > count. Co-authored-by: Shuduo Sang <sdsang@taosdata.com>
This commit is contained in:
parent
70cec08dab
commit
b0d979ff32
|
@ -3527,18 +3527,18 @@ static bool getMetaFromInsertJsonFile(cJSON* root) {
|
||||||
}
|
}
|
||||||
|
|
||||||
cJSON* childTbl_limit = cJSON_GetObjectItem(stbInfo, "childtable_limit");
|
cJSON* childTbl_limit = cJSON_GetObjectItem(stbInfo, "childtable_limit");
|
||||||
if (childTbl_limit) {
|
if ((childTbl_limit) && (g_Dbs.db[i].drop != true)) {
|
||||||
if (childTbl_limit->type != cJSON_Number) {
|
if (childTbl_limit->type != cJSON_Number) {
|
||||||
printf("ERROR: failed to read json, childtable_limit\n");
|
printf("ERROR: failed to read json, childtable_limit\n");
|
||||||
goto PARSE_OVER;
|
goto PARSE_OVER;
|
||||||
}
|
}
|
||||||
g_Dbs.db[i].superTbls[j].childTblLimit = childTbl_limit->valueint;
|
g_Dbs.db[i].superTbls[j].childTblLimit = childTbl_limit->valueint;
|
||||||
} else {
|
} else {
|
||||||
g_Dbs.db[i].superTbls[j].childTblLimit = -1; // select ... limit -1 means all query result
|
g_Dbs.db[i].superTbls[j].childTblLimit = -1; // select ... limit -1 means all query result, drop = yes mean all table need recreate, limit value is invalid.
|
||||||
}
|
}
|
||||||
|
|
||||||
cJSON* childTbl_offset = cJSON_GetObjectItem(stbInfo, "childtable_offset");
|
cJSON* childTbl_offset = cJSON_GetObjectItem(stbInfo, "childtable_offset");
|
||||||
if (childTbl_offset) {
|
if ((childTbl_offset) && (g_Dbs.db[i].drop != true)) {
|
||||||
if (childTbl_offset->type != cJSON_Number || 0 > childTbl_offset->valueint) {
|
if (childTbl_offset->type != cJSON_Number || 0 > childTbl_offset->valueint) {
|
||||||
printf("ERROR: failed to read json, childtable_offset\n");
|
printf("ERROR: failed to read json, childtable_offset\n");
|
||||||
goto PARSE_OVER;
|
goto PARSE_OVER;
|
||||||
|
@ -5170,7 +5170,9 @@ static void startMultiThreadInsertData(int threads, char* db_name,
|
||||||
|
|
||||||
if ((superTblInfo->childTblExists == TBL_ALREADY_EXISTS)
|
if ((superTblInfo->childTblExists == TBL_ALREADY_EXISTS)
|
||||||
&& (superTblInfo->childTblOffset >= 0)) {
|
&& (superTblInfo->childTblOffset >= 0)) {
|
||||||
if (superTblInfo->childTblLimit < 0) {
|
if ((superTblInfo->childTblLimit < 0)
|
||||||
|
|| ((superTblInfo->childTblOffset + superTblInfo->childTblLimit)
|
||||||
|
> (superTblInfo->childTblCount))) {
|
||||||
superTblInfo->childTblLimit =
|
superTblInfo->childTblLimit =
|
||||||
superTblInfo->childTblCount - superTblInfo->childTblOffset;
|
superTblInfo->childTblCount - superTblInfo->childTblOffset;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue