Merge branch 'refact/submit_req' of https://github.com/taosdata/TDengine into refact/submit_req
This commit is contained in:
commit
0dfa9c73dd
|
@ -523,9 +523,14 @@ static int32_t parseTagValue(SInsertParseContext* pCxt, SVnodeModifOpStmt* pStmt
|
|||
return code;
|
||||
}
|
||||
|
||||
static void buildCreateTbReq(SVnodeModifOpStmt* pStmt, STag* pTag, SArray* pTagName) {
|
||||
static int32_t buildCreateTbReq(SVnodeModifOpStmt* pStmt, STag* pTag, SArray* pTagName) {
|
||||
pStmt->pCreateTblReq = taosMemoryCalloc(1, sizeof(SVCreateTbReq));
|
||||
if (NULL == pStmt->pCreateTblReq) {
|
||||
return TSDB_CODE_OUT_OF_MEMORY;
|
||||
}
|
||||
insBuildCreateTbReq(pStmt->pCreateTblReq, pStmt->targetTableName.tname, pTag, pStmt->pTableMeta->suid,
|
||||
pStmt->usingTableName.tname, pTagName, pStmt->pTableMeta->tableInfo.numOfTags);
|
||||
return TSDB_CODE_SUCCESS;
|
||||
}
|
||||
|
||||
static int32_t checkAndTrimValue(SToken* pToken, char* tmpTokenBuf, SMsgBuf* pMsgBuf) {
|
||||
|
@ -592,7 +597,7 @@ static int32_t parseTagsClauseImpl(SInsertParseContext* pCxt, SVnodeModifOpStmt*
|
|||
}
|
||||
|
||||
if (TSDB_CODE_SUCCESS == code && !isParseBindParam) {
|
||||
buildCreateTbReq(pStmt, pTag, pTagName);
|
||||
code = buildCreateTbReq(pStmt, pTag, pTagName);
|
||||
pTag = NULL;
|
||||
}
|
||||
|
||||
|
@ -1342,8 +1347,10 @@ static int32_t parseInsertTableClauseBottom(SInsertParseContext* pCxt, SVnodeMod
|
|||
return code;
|
||||
}
|
||||
|
||||
static void destroyBoundColInfo(SBoundColInfo* pInfo) { taosMemoryFreeClear(pInfo->pColIndex); }
|
||||
|
||||
static void resetEnvPreTable(SInsertParseContext* pCxt, SVnodeModifOpStmt* pStmt) {
|
||||
// destroyBoundColumnInfo(&pCxt->tags);
|
||||
destroyBoundColInfo(&pCxt->tags);
|
||||
taosMemoryFreeClear(pStmt->pTableMeta);
|
||||
tdDestroySVCreateTbReq(pStmt->pCreateTblReq);
|
||||
taosMemoryFreeClear(pStmt->pCreateTblReq);
|
||||
|
@ -1808,6 +1815,6 @@ int32_t parseInsertSql(SParseContext* pCxt, SQuery** pQuery, SCatalogReq* pCatal
|
|||
QUERY_EXEC_STAGE_SCHEDULE == (*pQuery)->execStage) {
|
||||
code = setRefreshMate(*pQuery);
|
||||
}
|
||||
// destroyBoundColumnInfo(&context.tags);
|
||||
destroyBoundColInfo(&context.tags);
|
||||
return code;
|
||||
}
|
||||
|
|
|
@ -1052,6 +1052,13 @@ int32_t insGetTableDataCxt(SHashObj* pHash, void* id, int32_t idLen, STableMeta*
|
|||
return code;
|
||||
}
|
||||
|
||||
static void destroyColVal(void* p) {
|
||||
SColVal* pVal = p;
|
||||
if (TSDB_DATA_TYPE_NCHAR == pVal->type) {
|
||||
taosMemoryFree(pVal->value.pData);
|
||||
}
|
||||
}
|
||||
|
||||
void insDestroyTableDataCxt(STableDataCxt* pTableCxt) {
|
||||
if (NULL == pTableCxt) {
|
||||
return;
|
||||
|
@ -1060,7 +1067,7 @@ void insDestroyTableDataCxt(STableDataCxt* pTableCxt) {
|
|||
taosMemoryFreeClear(pTableCxt->pMeta);
|
||||
tDestroyTSchema(pTableCxt->pSchema);
|
||||
destroyBoundColInfo(&pTableCxt->boundColsInfo);
|
||||
taosArrayDestroyEx(pTableCxt->pValues, NULL /*todo*/);
|
||||
taosArrayDestroyEx(pTableCxt->pValues, destroyColVal);
|
||||
tdDestroySVCreateTbReq(pTableCxt->pCreateTblReq);
|
||||
taosMemoryFreeClear(pTableCxt->pCreateTblReq);
|
||||
tDestroySSubmitTbData(pTableCxt->pData);
|
||||
|
@ -1180,10 +1187,13 @@ int32_t insMergeTableDataCxt(SHashObj* pTableHash, SArray** pVgDataBlocks) {
|
|||
STableDataCxt* pTableCxt = *(STableDataCxt**)p;
|
||||
code = tRowMergeSort(pTableCxt->pData->aRowP, pTableCxt->pSchema, 0);
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
SVgroupDataCxt* pVgCxt = NULL;
|
||||
int32_t vgId = pTableCxt->pMeta->vgId;
|
||||
SVgroupDataCxt* pVgCxt = taosHashGet(pVgroupHash, &vgId, sizeof(vgId));
|
||||
if (NULL == pVgCxt) {
|
||||
void** p = taosHashGet(pVgroupHash, &vgId, sizeof(vgId));
|
||||
if (NULL == p) {
|
||||
code = createVgroupDataCxt(pTableCxt, pVgroupHash, pVgroupList, &pVgCxt);
|
||||
} else {
|
||||
pVgCxt = *(SVgroupDataCxt**)p;
|
||||
}
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = fillVgroupDataCxt(pTableCxt, pVgCxt);
|
||||
|
@ -1232,6 +1242,12 @@ static int32_t buildSubmitReq(int32_t vgId, SSubmitReq2* pReq, void** pData, uin
|
|||
return code;
|
||||
}
|
||||
|
||||
static void destroyVgDataBlocks(void* p) {
|
||||
SVgDataBlocks* pVg = p;
|
||||
taosMemoryFree(pVg->pData);
|
||||
taosMemoryFree(pVg);
|
||||
}
|
||||
|
||||
int32_t insBuildVgDataBlocks(SHashObj* pVgroupsHashObj, SArray* pVgDataCxtList, SArray** pVgDataBlocks) {
|
||||
size_t numOfVg = taosArrayGetSize(pVgDataCxtList);
|
||||
SArray* pDataBlocks = taosArrayInit(numOfVg, POINTER_BYTES);
|
||||
|
@ -1261,7 +1277,7 @@ int32_t insBuildVgDataBlocks(SHashObj* pVgroupsHashObj, SArray* pVgDataCxtList,
|
|||
if (TSDB_CODE_SUCCESS == code) {
|
||||
*pVgDataBlocks = pDataBlocks;
|
||||
} else {
|
||||
// todo
|
||||
taosArrayDestroyP(pDataBlocks, destroyVgDataBlocks);
|
||||
}
|
||||
|
||||
return code;
|
||||
|
|
Loading…
Reference in New Issue