Fix some review errors.

This commit is contained in:
xiao-77 2025-02-08 17:37:15 +08:00
parent a2f11f21c9
commit 7707e5d8dd
1 changed files with 22 additions and 13 deletions

View File

@ -924,30 +924,30 @@ _OVER:
TAOS_RETURN(code); TAOS_RETURN(code);
} }
bool compareSConfigItem(const SConfigObj *item1, SConfigItem *item2) { int32_t compareSConfigItem(const SConfigObj *item1, SConfigItem *item2, bool *compare) {
switch (item1->dtype) { switch (item1->dtype) {
case CFG_DTYPE_BOOL: case CFG_DTYPE_BOOL:
if (item1->bval != item2->bval) { if (item1->bval != item2->bval) {
item2->bval = item1->bval; item2->bval = item1->bval;
return false; compare = false;
} }
break; break;
case CFG_DTYPE_FLOAT: case CFG_DTYPE_FLOAT:
if (item1->fval != item2->fval) { if (item1->fval != item2->fval) {
item2->fval = item1->fval; item2->fval = item1->fval;
return false; compare = false;
} }
break; break;
case CFG_DTYPE_INT32: case CFG_DTYPE_INT32:
if (item1->i32 != item2->i32) { if (item1->i32 != item2->i32) {
item2->i32 = item1->i32; item2->i32 = item1->i32;
return false; compare = false;
} }
break; break;
case CFG_DTYPE_INT64: case CFG_DTYPE_INT64:
if (item1->i64 != item2->i64) { if (item1->i64 != item2->i64) {
item2->i64 = item1->i64; item2->i64 = item1->i64;
return false; compare = false;
} }
break; break;
case CFG_DTYPE_STRING: case CFG_DTYPE_STRING:
@ -958,18 +958,24 @@ bool compareSConfigItem(const SConfigObj *item1, SConfigItem *item2) {
if (strcmp(item1->str, item2->str) != 0) { if (strcmp(item1->str, item2->str) != 0) {
taosMemoryFree(item2->str); taosMemoryFree(item2->str);
item2->str = taosStrdup(item1->str); item2->str = taosStrdup(item1->str);
return false; if (item2->str == NULL) {
return TSDB_CODE_OUT_OF_MEMORY;
}
compare = false;
} }
break; break;
default: default:
return false; compare = false;
return TSDB_CODE_INVALID_CFG;
} }
return true; compare = true;
return TSDB_CODE_SUCCESS
} }
int32_t compareSConfigItemArrays(SMnode *pMnode, const SArray *dArray, SArray *diffArray) { int32_t compareSConfigItemArrays(SMnode *pMnode, const SArray *dArray, SArray *diffArray) {
int32_t code = 0; int32_t code = 0;
int32_t dsz = taosArrayGetSize(dArray); int32_t dsz = taosArrayGetSize(dArray);
bool compare = false;
for (int i = 0; i < dsz; i++) { for (int i = 0; i < dsz; i++) {
SConfigItem *dItem = (SConfigItem *)taosArrayGet(dArray, i); SConfigItem *dItem = (SConfigItem *)taosArrayGet(dArray, i);
@ -979,17 +985,20 @@ int32_t compareSConfigItemArrays(SMnode *pMnode, const SArray *dArray, SArray *d
mError("failed to acquire config:%s from sdb, since %s", dItem->name, tstrerror(code)); mError("failed to acquire config:%s from sdb, since %s", dItem->name, tstrerror(code));
return code; return code;
} }
if (!compareSConfigItem(mObj, dItem)) { code = compareSConfigItem(mObj, dItem, &compare);
if (code != TSDB_CODE_SUCCESS) {
sdbRelease(pMnode->pSdb, mObj);
return code;
}
if (!compare) {
code = TSDB_CODE_FAILED; code = TSDB_CODE_FAILED;
if (taosArrayPush(diffArray, dItem) == NULL) { if (taosArrayPush(diffArray, dItem) == NULL) {
sdbRelease(pMnode->pSdb, mObj); sdbRelease(pMnode->pSdb, mObj);
return terrno; return terrno;
} }
} }
if (terrno != 0) {
sdbRelease(pMnode->pSdb, mObj);
return terrno;
}
sdbRelease(pMnode->pSdb, mObj); sdbRelease(pMnode->pSdb, mObj);
} }