fix a small bug
This commit is contained in:
parent
eafc0f88bc
commit
70810ddb39
|
@ -226,6 +226,14 @@ int metaSaveTableToDB(SMeta *pMeta, STbCfg *pTbCfg) {
|
|||
uid = metaGenerateUid(pMeta);
|
||||
}
|
||||
|
||||
// check name and uid unique
|
||||
if (tdbDbGet(pMetaDb->pTbDB, &uid, sizeof(uid), NULL, NULL) == 0) {
|
||||
return -1;
|
||||
}
|
||||
if (tdbDbGet(pMetaDb->pNameIdx, pTbCfg->name, strlen(pTbCfg->name) + 1, NULL, NULL) == 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
// save to table.db
|
||||
pKey = &uid;
|
||||
kLen = sizeof(uid);
|
||||
|
|
|
@ -233,7 +233,7 @@ int tdbBtreePGet(SBTree *pBt, const void *pKey, int kLen, void **ppKey, int *pkL
|
|||
ASSERT(0);
|
||||
}
|
||||
|
||||
if (cret) {
|
||||
if (btc.idx < 0 || cret) {
|
||||
tdbBtcClose(&btc);
|
||||
return -1;
|
||||
}
|
||||
|
@ -253,15 +253,17 @@ int tdbBtreePGet(SBTree *pBt, const void *pKey, int kLen, void **ppKey, int *pkL
|
|||
memcpy(*ppKey, cd.pKey, cd.kLen);
|
||||
}
|
||||
|
||||
pTVal = TDB_REALLOC(*ppVal, cd.vLen);
|
||||
if (pTVal == NULL) {
|
||||
tdbBtcClose(&btc);
|
||||
ASSERT(0);
|
||||
return -1;
|
||||
if (ppVal) {
|
||||
pTVal = TDB_REALLOC(*ppVal, cd.vLen);
|
||||
if (pTVal == NULL) {
|
||||
tdbBtcClose(&btc);
|
||||
ASSERT(0);
|
||||
return -1;
|
||||
}
|
||||
*ppVal = pTVal;
|
||||
*vLen = cd.vLen;
|
||||
memcpy(*ppVal, cd.pVal, cd.vLen);
|
||||
}
|
||||
*ppVal = pTVal;
|
||||
*vLen = cd.vLen;
|
||||
memcpy(*ppVal, cd.pVal, cd.vLen);
|
||||
|
||||
tdbBtcClose(&btc);
|
||||
|
||||
|
|
Loading…
Reference in New Issue