avoid filter invalid table
This commit is contained in:
parent
4f16771de4
commit
a036d64ae0
|
@ -53,7 +53,7 @@ _err:
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//int metaGetTableEntryByUidTest(void* meta, SArray *uidList) {
|
// int metaGetTableEntryByUidTest(void* meta, SArray *uidList) {
|
||||||
//
|
//
|
||||||
// SArray* readerList = taosArrayInit(taosArrayGetSize(uidList), sizeof(SMetaReader));
|
// SArray* readerList = taosArrayInit(taosArrayGetSize(uidList), sizeof(SMetaReader));
|
||||||
// SArray* uidVersion = taosArrayInit(taosArrayGetSize(uidList), sizeof(STbDbKey));
|
// SArray* uidVersion = taosArrayInit(taosArrayGetSize(uidList), sizeof(STbDbKey));
|
||||||
|
@ -125,7 +125,7 @@ _err:
|
||||||
// int64_t stt5 = taosGetTimestampUs();
|
// int64_t stt5 = taosGetTimestampUs();
|
||||||
// qDebug("metaGetTableEntryByUidTest4 rows:%d, cost:%ld us", taosArrayGetSize(readerList), stt5-stt4);
|
// qDebug("metaGetTableEntryByUidTest4 rows:%d, cost:%ld us", taosArrayGetSize(readerList), stt5-stt4);
|
||||||
// return 0;
|
// return 0;
|
||||||
//}
|
// }
|
||||||
|
|
||||||
int metaGetTableEntryByUid(SMetaReader *pReader, tb_uid_t uid) {
|
int metaGetTableEntryByUid(SMetaReader *pReader, tb_uid_t uid) {
|
||||||
SMeta *pMeta = pReader->pMeta;
|
SMeta *pMeta = pReader->pMeta;
|
||||||
|
@ -824,7 +824,7 @@ SArray *metaGetSmaTbUids(SMeta *pMeta) {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const void *metaGetTableTagVal(void *pTag, int16_t type, STagVal *val) {
|
const void *metaGetTableTagVal(void *pTag, int16_t type, STagVal *val) {
|
||||||
STag *tag = (STag*) pTag;
|
STag *tag = (STag *)pTag;
|
||||||
if (type == TSDB_DATA_TYPE_JSON) {
|
if (type == TSDB_DATA_TYPE_JSON) {
|
||||||
return tag;
|
return tag;
|
||||||
}
|
}
|
||||||
|
@ -926,6 +926,9 @@ int32_t metaFilterTableIds(SMeta *pMeta, SMetaFltParam *param, SArray *pUids) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (p->suid != pKey->suid) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
first = false;
|
first = false;
|
||||||
if (p != NULL) {
|
if (p != NULL) {
|
||||||
int32_t cmp = (*param->filterFunc)(p->data, pKey->data, pKey->type);
|
int32_t cmp = (*param->filterFunc)(p->data, pKey->data, pKey->type);
|
||||||
|
@ -967,9 +970,9 @@ int32_t metaGetTableTags(SMeta *pMeta, uint64_t suid, SArray *uidList, SHashObj
|
||||||
|
|
||||||
SHashObj *uHash = NULL;
|
SHashObj *uHash = NULL;
|
||||||
size_t len = taosArrayGetSize(uidList); // len > 0 means there already have uids
|
size_t len = taosArrayGetSize(uidList); // len > 0 means there already have uids
|
||||||
if(len > 0){
|
if (len > 0) {
|
||||||
uHash = taosHashInit(32, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BIGINT), false, HASH_NO_LOCK);
|
uHash = taosHashInit(32, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BIGINT), false, HASH_NO_LOCK);
|
||||||
for(int i = 0; i < len; i++){
|
for (int i = 0; i < len; i++) {
|
||||||
int64_t *uid = taosArrayGet(uidList, i);
|
int64_t *uid = taosArrayGet(uidList, i);
|
||||||
taosHashPut(uHash, uid, sizeof(int64_t), &i, sizeof(i));
|
taosHashPut(uHash, uid, sizeof(int64_t), &i, sizeof(i));
|
||||||
}
|
}
|
||||||
|
@ -982,7 +985,7 @@ int32_t metaGetTableTags(SMeta *pMeta, uint64_t suid, SArray *uidList, SHashObj
|
||||||
|
|
||||||
if (len > 0 && taosHashGet(uHash, &id, sizeof(int64_t)) == NULL) {
|
if (len > 0 && taosHashGet(uHash, &id, sizeof(int64_t)) == NULL) {
|
||||||
continue;
|
continue;
|
||||||
}else if (len == 0) {
|
} else if (len == 0) {
|
||||||
taosArrayPush(uidList, &id);
|
taosArrayPush(uidList, &id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue