enh: tsdb cache schema
This commit is contained in:
parent
ba88253bf1
commit
6da22e6483
|
@ -230,6 +230,7 @@ static int32_t tsdbOpenRocksCache(STsdb *pTsdb) {
|
||||||
pTsdb->rCache.readoptions = readoptions;
|
pTsdb->rCache.readoptions = readoptions;
|
||||||
pTsdb->rCache.flushoptions = flushoptions;
|
pTsdb->rCache.flushoptions = flushoptions;
|
||||||
pTsdb->rCache.db = db;
|
pTsdb->rCache.db = db;
|
||||||
|
pTsdb->rCache.sver = -1;
|
||||||
pTsdb->rCache.suid = -1;
|
pTsdb->rCache.suid = -1;
|
||||||
pTsdb->rCache.uid = -1;
|
pTsdb->rCache.uid = -1;
|
||||||
pTsdb->rCache.pTSchema = NULL;
|
pTsdb->rCache.pTSchema = NULL;
|
||||||
|
@ -1303,31 +1304,35 @@ _exit:
|
||||||
}
|
}
|
||||||
|
|
||||||
void tsdbCacheInvalidateSchema(STsdb *pTsdb, tb_uid_t suid, tb_uid_t uid, int32_t sver) {
|
void tsdbCacheInvalidateSchema(STsdb *pTsdb, tb_uid_t suid, tb_uid_t uid, int32_t sver) {
|
||||||
if (pTsdb->rCache.pTSchema && pTsdb->rCache.suid == suid) {
|
SRocksCache *pRCache = &pTsdb->rCache;
|
||||||
if (pTsdb->rCache.suid && sver == pTsdb->rCache.sver) {
|
if (!pRCache->pTSchema || sver <= pTsdb->rCache.sver) return;
|
||||||
pTsdb->rCache.sver = -1;
|
|
||||||
pTsdb->rCache.suid = -1;
|
if (suid > 0 && suid == pRCache->suid) {
|
||||||
} else if (pTsdb->rCache.uid == uid && pTsdb->rCache.sver == sver) {
|
pRCache->sver = -1;
|
||||||
pTsdb->rCache.sver = -1;
|
pRCache->suid = -1;
|
||||||
pTsdb->rCache.uid = -1;
|
|
||||||
}
|
}
|
||||||
|
if (suid == 0 && uid == pRCache->uid) {
|
||||||
|
pRCache->sver = -1;
|
||||||
|
pRCache->uid = -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t tsdbUpdateSkm(STsdb *pTsdb, tb_uid_t suid, tb_uid_t uid, int32_t sver) {
|
static int32_t tsdbUpdateSkm(STsdb *pTsdb, tb_uid_t suid, tb_uid_t uid, int32_t sver) {
|
||||||
if (pTsdb->rCache.pTSchema && pTsdb->rCache.suid == suid) {
|
SRocksCache *pRCache = &pTsdb->rCache;
|
||||||
if (pTsdb->rCache.suid && sver == pTsdb->rCache.sver) {
|
if (pRCache->pTSchema && sver == pRCache->sver) {
|
||||||
|
if (suid > 0 && suid == pRCache->suid) {
|
||||||
return 0;
|
return 0;
|
||||||
} else if (pTsdb->rCache.uid == uid && pTsdb->rCache.sver == sver) {
|
}
|
||||||
|
if (suid == 0 && uid == pRCache->uid) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pTsdb->rCache.suid = suid;
|
pRCache->suid = suid;
|
||||||
pTsdb->rCache.uid = uid;
|
pRCache->uid = uid;
|
||||||
pTsdb->rCache.sver = sver;
|
pRCache->sver = sver;
|
||||||
tDestroyTSchema(pTsdb->rCache.pTSchema);
|
tDestroyTSchema(pRCache->pTSchema);
|
||||||
return metaGetTbTSchemaEx(pTsdb->pVnode->pMeta, suid, uid, -1, &pTsdb->rCache.pTSchema);
|
return metaGetTbTSchemaEx(pTsdb->pVnode->pMeta, suid, uid, -1, &pRCache->pTSchema);
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t tsdbCacheRowFormatUpdate(STsdb *pTsdb, tb_uid_t suid, tb_uid_t uid, int64_t version, int32_t nRow,
|
int32_t tsdbCacheRowFormatUpdate(STsdb *pTsdb, tb_uid_t suid, tb_uid_t uid, int64_t version, int32_t nRow,
|
||||||
|
|
Loading…
Reference in New Issue