fix mem problem
This commit is contained in:
parent
cbb4e83fc4
commit
2d6c9ec7de
|
@ -7586,7 +7586,7 @@ int32_t tDecodeSColCmprWrapperEx(SDecoder *pDecoder, SColCmprWrapper *pWrapper)
|
||||||
if (tDecodeI32v(pDecoder, &pWrapper->nCols) < 0) return -1;
|
if (tDecodeI32v(pDecoder, &pWrapper->nCols) < 0) return -1;
|
||||||
if (tDecodeI32v(pDecoder, &pWrapper->version) < 0) return -1;
|
if (tDecodeI32v(pDecoder, &pWrapper->version) < 0) return -1;
|
||||||
|
|
||||||
pWrapper->pColCmpr = (SColCmpr *)taosMemoryCalloc(1, pWrapper->nCols * sizeof(SColCmpr));
|
pWrapper->pColCmpr = (SColCmpr *)tDecoderMalloc(pDecoder, pWrapper->nCols * sizeof(SColCmpr));
|
||||||
if (pWrapper->pColCmpr == NULL) return -1;
|
if (pWrapper->pColCmpr == NULL) return -1;
|
||||||
|
|
||||||
for (int i = 0; i < pWrapper->nCols; i++) {
|
for (int i = 0; i < pWrapper->nCols; i++) {
|
||||||
|
|
|
@ -32,7 +32,7 @@ int meteDecodeColCmprEntry(SDecoder *pDecoder, SMetaEntry *pME) {
|
||||||
if (tDecodeI32v(pDecoder, &pWrapper->nCols) < 0) return -1;
|
if (tDecodeI32v(pDecoder, &pWrapper->nCols) < 0) return -1;
|
||||||
if (tDecodeI32v(pDecoder, &pWrapper->version) < 0) return -1;
|
if (tDecodeI32v(pDecoder, &pWrapper->version) < 0) return -1;
|
||||||
|
|
||||||
pWrapper->pColCmpr = (SColCmpr *)taosMemoryCalloc(1, pWrapper->nCols * sizeof(SColCmpr));
|
pWrapper->pColCmpr = (SColCmpr *)tDecoderMalloc(pDecoder, pWrapper->nCols * sizeof(SColCmpr));
|
||||||
if (pWrapper->pColCmpr == NULL) return -1;
|
if (pWrapper->pColCmpr == NULL) return -1;
|
||||||
|
|
||||||
for (int i = 0; i < pWrapper->nCols; i++) {
|
for (int i = 0; i < pWrapper->nCols; i++) {
|
||||||
|
@ -45,6 +45,18 @@ END:
|
||||||
taosMemoryFree(pWrapper->pColCmpr);
|
taosMemoryFree(pWrapper->pColCmpr);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
static FORCE_INLINE void metatInitDefaultSColCmprWrapper(SDecoder *pDecoder, SColCmprWrapper *pCmpr,
|
||||||
|
SSchemaWrapper *pSchema) {
|
||||||
|
pCmpr->nCols = pSchema->nCols;
|
||||||
|
assert(!pCmpr->pColCmpr);
|
||||||
|
pCmpr->pColCmpr = (SColCmpr *)tDecoderMalloc(pDecoder, pCmpr->nCols * sizeof(SColCmpr));
|
||||||
|
for (int32_t i = 0; i < pCmpr->nCols; i++) {
|
||||||
|
SColCmpr *pColCmpr = &pCmpr->pColCmpr[i];
|
||||||
|
SSchema *pColSchema = &pSchema->pSchema[i];
|
||||||
|
pColCmpr->id = pColSchema->colId;
|
||||||
|
pColCmpr->alg = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int metaEncodeEntry(SEncoder *pCoder, const SMetaEntry *pME) {
|
int metaEncodeEntry(SEncoder *pCoder, const SMetaEntry *pME) {
|
||||||
if (tStartEncode(pCoder) < 0) return -1;
|
if (tStartEncode(pCoder) < 0) return -1;
|
||||||
|
@ -144,9 +156,9 @@ int metaDecodeEntry(SDecoder *pCoder, SMetaEntry *pME) {
|
||||||
TABLE_SET_COL_COMPRESSED(pME->flags);
|
TABLE_SET_COL_COMPRESSED(pME->flags);
|
||||||
} else {
|
} else {
|
||||||
if (pME->type == TSDB_SUPER_TABLE) {
|
if (pME->type == TSDB_SUPER_TABLE) {
|
||||||
tInitDefaultSColCmprWrapper(&pME->colCmpr, &pME->stbEntry.schemaRow);
|
metatInitDefaultSColCmprWrapper(pCoder, &pME->colCmpr, &pME->stbEntry.schemaRow);
|
||||||
} else if (pME->type == TSDB_NORMAL_TABLE) {
|
} else if (pME->type == TSDB_NORMAL_TABLE) {
|
||||||
tInitDefaultSColCmprWrapper(&pME->colCmpr, &pME->ntbEntry.schemaRow);
|
metatInitDefaultSColCmprWrapper(pCoder, &pME->colCmpr, &pME->ntbEntry.schemaRow);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -370,7 +370,6 @@ _query:
|
||||||
if (sver == -1 || sver == me.stbEntry.schemaRow.version) {
|
if (sver == -1 || sver == me.stbEntry.schemaRow.version) {
|
||||||
pSchema = tCloneSSchemaWrapper(&me.stbEntry.schemaRow);
|
pSchema = tCloneSSchemaWrapper(&me.stbEntry.schemaRow);
|
||||||
tDecoderClear(&dc);
|
tDecoderClear(&dc);
|
||||||
taosMemoryFree(me.colCmpr.pColCmpr);
|
|
||||||
goto _exit;
|
goto _exit;
|
||||||
}
|
}
|
||||||
} else if (me.type == TSDB_CHILD_TABLE) {
|
} else if (me.type == TSDB_CHILD_TABLE) {
|
||||||
|
@ -381,12 +380,10 @@ _query:
|
||||||
if (sver == -1 || sver == me.ntbEntry.schemaRow.version) {
|
if (sver == -1 || sver == me.ntbEntry.schemaRow.version) {
|
||||||
pSchema = tCloneSSchemaWrapper(&me.ntbEntry.schemaRow);
|
pSchema = tCloneSSchemaWrapper(&me.ntbEntry.schemaRow);
|
||||||
tDecoderClear(&dc);
|
tDecoderClear(&dc);
|
||||||
taosMemoryFree(me.colCmpr.pColCmpr);
|
|
||||||
goto _exit;
|
goto _exit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
tDecoderClear(&dc);
|
tDecoderClear(&dc);
|
||||||
taosMemoryFree(me.colCmpr.pColCmpr);
|
|
||||||
|
|
||||||
// query from skm db
|
// query from skm db
|
||||||
if (tdbTbGet(pMeta->pSkmDb, &(SSkmDbKey){.uid = uid, .sver = sver}, sizeof(SSkmDbKey), &pData, &nData) < 0) {
|
if (tdbTbGet(pMeta->pSkmDb, &(SSkmDbKey){.uid = uid, .sver = sver}, sizeof(SSkmDbKey), &pData, &nData) < 0) {
|
||||||
|
|
|
@ -2562,7 +2562,6 @@ int32_t metaGetColCmpr(SMeta *pMeta, tb_uid_t uid, SHashObj **ppColCmprObj) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
tDecoderClear(&dc);
|
tDecoderClear(&dc);
|
||||||
taosMemoryFree(e.colCmpr.pColCmpr);
|
|
||||||
tdbFree(pData);
|
tdbFree(pData);
|
||||||
metaULock(pMeta);
|
metaULock(pMeta);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue