add more test case
This commit is contained in:
parent
5315500287
commit
d4cfeb1f6c
|
@ -1085,7 +1085,10 @@ int32_t metaFilterCreateTime(SMeta *pMeta, SMetaFltParam *param, SArray *pUids)
|
|||
}
|
||||
|
||||
int32_t valid = 0;
|
||||
while (1) {
|
||||
int32_t count = 0;
|
||||
|
||||
static const int8_t TRY_ERROR_LIMIT = 4;
|
||||
do {
|
||||
void *entryKey = NULL;
|
||||
int32_t nEntryKey = -1;
|
||||
valid = tdbTbcGet(pCursor->pCur, (const void **)&entryKey, &nEntryKey, NULL, NULL);
|
||||
|
@ -1094,17 +1097,17 @@ int32_t metaFilterCreateTime(SMeta *pMeta, SMetaFltParam *param, SArray *pUids)
|
|||
SCtimeIdxKey *p = entryKey;
|
||||
|
||||
int32_t cmp = (*param->filterFunc)((void *)&p->ctime, (void *)&pCtimeKey->ctime, param->type);
|
||||
if (cmp == 0) taosArrayPush(pUids, &p->uid);
|
||||
|
||||
if (param->reverse == false) {
|
||||
if (cmp == -1) break;
|
||||
} else if (param->reverse) {
|
||||
if (cmp == 1) break;
|
||||
if (cmp == 0)
|
||||
taosArrayPush(pUids, &p->uid);
|
||||
else {
|
||||
if (count >= TRY_ERROR_LIMIT) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
count++;
|
||||
valid = param->reverse ? tdbTbcMoveToPrev(pCursor->pCur) : tdbTbcMoveToNext(pCursor->pCur);
|
||||
if (valid < 0) break;
|
||||
}
|
||||
} while (1);
|
||||
|
||||
END:
|
||||
if (pCursor->pMeta) metaULock(pCursor->pMeta);
|
||||
|
@ -1139,9 +1142,11 @@ int32_t metaFilterTableName(SMeta *pMeta, SMetaFltParam *param, SArray *pUids) {
|
|||
if (tdbTbcMoveTo(pCursor->pCur, pName, strlen(pName) + 1, &cmp) < 0) {
|
||||
goto END;
|
||||
}
|
||||
bool first = true;
|
||||
int32_t valid = 0;
|
||||
while (1) {
|
||||
int32_t count = 0;
|
||||
|
||||
int32_t TRY_ERROR_LIMIT = 4;
|
||||
do {
|
||||
void *pEntryKey = NULL, *pEntryVal = NULL;
|
||||
int32_t nEntryKey = -1, nEntryVal = 0;
|
||||
valid = tdbTbcGet(pCursor->pCur, (const void **)pEntryKey, &nEntryKey, (const void **)&pEntryVal, &nEntryVal);
|
||||
|
@ -1152,16 +1157,17 @@ int32_t metaFilterTableName(SMeta *pMeta, SMetaFltParam *param, SArray *pUids) {
|
|||
if (cmp == 0) {
|
||||
tb_uid_t tuid = *(tb_uid_t *)pEntryVal;
|
||||
taosArrayPush(pUids, &tuid);
|
||||
} else if (cmp == 1) {
|
||||
// next
|
||||
} else {
|
||||
break;
|
||||
if (count >= TRY_ERROR_LIMIT) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
count++;
|
||||
valid = param->reverse ? tdbTbcMoveToPrev(pCursor->pCur) : tdbTbcMoveToNext(pCursor->pCur);
|
||||
if (valid < 0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
} while (1);
|
||||
|
||||
END:
|
||||
if (pCursor->pMeta) metaULock(pCursor->pMeta);
|
||||
|
@ -1260,11 +1266,6 @@ int32_t metaFilterTableIds(SMeta *pMeta, SMetaFltParam *param, SArray *pUids) {
|
|||
if (tdbTbcMoveTo(pCursor->pCur, pKey, nKey, &cmp) < 0) {
|
||||
goto END;
|
||||
}
|
||||
// if (param->reverse) {
|
||||
// if (tdbTbcMoveToNext(pCursor->pCur) < 0) tdbTbcMoveToLast(pCursor->pCur);
|
||||
// } else {
|
||||
// if (tdbTbcMoveToPrev(pCursor->pCur) < 0) tdbTbcMoveToFirst(pCursor->pCur);
|
||||
//}
|
||||
|
||||
int count = 0;
|
||||
int32_t valid = 0;
|
||||
|
@ -1306,11 +1307,7 @@ int32_t metaFilterTableIds(SMeta *pMeta, SMetaFltParam *param, SArray *pUids) {
|
|||
tuid = *(tb_uid_t *)(p->data + tDataTypes[pCursor->type].bytes);
|
||||
}
|
||||
taosArrayPush(pUids, &tuid);
|
||||
} else if (cmp == 1) {
|
||||
if (count >= TRY_ERROR_LIMIT) break;
|
||||
// not match but should continue to iter
|
||||
} else {
|
||||
// not match and no more result
|
||||
if (count >= TRY_ERROR_LIMIT) break;
|
||||
}
|
||||
count++;
|
||||
|
|
|
@ -1386,9 +1386,7 @@ static int metaUpdateTableTagVal(SMeta *pMeta, int64_t version, SVAlterTbReq *pA
|
|||
// save to uid.idx
|
||||
metaUpdateUidIdx(pMeta, &ctbEntry);
|
||||
|
||||
if (iCol == 0) {
|
||||
metaUpdateTagIdx(pMeta, &ctbEntry);
|
||||
}
|
||||
metaUpdateTagIdx(pMeta, &ctbEntry);
|
||||
|
||||
if (NULL == ctbEntry.ctbEntry.pTags) {
|
||||
metaError("meta/table: null tags, update tag val failed.");
|
||||
|
|
|
@ -7,7 +7,7 @@ print ======== step0
|
|||
$dbPrefix = ta_3_db
|
||||
$tbPrefix = ta_3_tb
|
||||
$mtPrefix = ta_3_mt
|
||||
$tbNum = 6
|
||||
$tbNum = 100
|
||||
$rowNum = 20
|
||||
$totalNum = 200
|
||||
|
||||
|
|
|
@ -0,0 +1,68 @@
|
|||
|
||||
system sh/stop_dnodes.sh
|
||||
system sh/deploy.sh -n dnode1 -i 1
|
||||
system sh/exec.sh -n dnode1 -s start
|
||||
sql connect
|
||||
|
||||
print ======== step0
|
||||
$dbPrefix = ta_3_db
|
||||
$tbPrefix = ta_3_tb
|
||||
$mtPrefix = ta_3_mt
|
||||
$tbNum = 10000
|
||||
$rowNum = 20
|
||||
$totalNum = 200
|
||||
|
||||
print =============== create database
|
||||
sql create database $dbPrefix
|
||||
sql use $dbPrefix
|
||||
|
||||
print =============== create super table and register tag index
|
||||
sql create table if not exists $mtPrefix (ts timestamp, c1 int) tags (t1 int, t2 int, t3 int, t4 int, t5 int)
|
||||
|
||||
sql show stables
|
||||
if $rows != 1 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
print =============== create child table
|
||||
|
||||
$i = 0
|
||||
while $i < $tbNum
|
||||
$tb = $tbPrefix . $i
|
||||
sql create table $tb using $mtPrefix tags( $i , $i , $i , $i , $i );
|
||||
$i = $i + 1
|
||||
endw
|
||||
|
||||
sql show tables
|
||||
if $rows != $tbNum then
|
||||
return -1
|
||||
endi
|
||||
|
||||
|
||||
|
||||
print =============== insert data into each table
|
||||
$i = 0
|
||||
while $i < $tbNum
|
||||
$tb = $tbPrefix . $i
|
||||
sql insert into $tb values(now, $i );
|
||||
$i = $i + 1
|
||||
endw
|
||||
|
||||
print ========== filter data
|
||||
|
||||
$i = 0
|
||||
while $i < $tbNum
|
||||
sql select count(*) from $mtPrefix where t2 = $i
|
||||
$i = $i + 1
|
||||
endw
|
||||
|
||||
sql create index ti2 on $mtPrefix (t2)
|
||||
|
||||
|
||||
$i = 0
|
||||
while $i < $tbNum
|
||||
sql select count(*) from $mtPrefix where t2 = $i
|
||||
$i = $i + 1
|
||||
endw
|
||||
|
||||
#system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
Loading…
Reference in New Issue