Merge branch 'feature/shm' of https://github.com/taosdata/TDengine into feature/shm

This commit is contained in:
Shengliang Guan 2022-03-23 15:00:20 +08:00
commit 1b8a3a28c6
1 changed files with 36 additions and 0 deletions

View File

@ -88,6 +88,7 @@ SSdbRaw *mndStbActionEncode(SStbObj *pStb) {
SDB_SET_INT32(pRaw, dataPos, pStb->nextColId, STB_ENCODE_OVER)
SDB_SET_INT32(pRaw, dataPos, pStb->numOfColumns, STB_ENCODE_OVER)
SDB_SET_INT32(pRaw, dataPos, pStb->numOfTags, STB_ENCODE_OVER)
SDB_SET_INT32(pRaw, dataPos, pStb->numOfTSmas, STB_ENCODE_OVER)
for (int32_t i = 0; i < pStb->numOfColumns; ++i) {
SSchema *pSchema = &pStb->pColumns[i];
@ -105,6 +106,23 @@ SSdbRaw *mndStbActionEncode(SStbObj *pStb) {
SDB_SET_BINARY(pRaw, dataPos, pSchema->name, TSDB_COL_NAME_LEN, STB_ENCODE_OVER)
}
for (int32_t i = 0; i < pStb->numOfTSmas; ++i) {
STSmaObj *pTSma = &pStb->pTSmas[i];
SDB_SET_BINARY(pRaw, dataPos, pTSma->name, TSDB_TABLE_FNAME_LEN, STB_ENCODE_OVER)
SDB_SET_INT64(pRaw, dataPos, pTSma->createdTime, STB_ENCODE_OVER)
SDB_SET_INT64(pRaw, dataPos, pTSma->uid, STB_ENCODE_OVER)
SDB_SET_INT8(pRaw, dataPos, pTSma->intervalUnit, STB_ENCODE_OVER)
SDB_SET_INT8(pRaw, dataPos, pTSma->slidingUnit, STB_ENCODE_OVER)
SDB_SET_INT8(pRaw, dataPos, pTSma->timezone, STB_ENCODE_OVER)
SDB_SET_INT64(pRaw, dataPos, pTSma->interval, STB_ENCODE_OVER)
SDB_SET_INT64(pRaw, dataPos, pTSma->offset, STB_ENCODE_OVER)
SDB_SET_INT64(pRaw, dataPos, pTSma->sliding, STB_ENCODE_OVER)
SDB_SET_INT32(pRaw, dataPos, pTSma->exprLen, STB_ENCODE_OVER)
SDB_SET_INT32(pRaw, dataPos, pTSma->tagsFilterLen, STB_ENCODE_OVER)
SDB_SET_BINARY(pRaw, dataPos, pTSma->expr, pTSma->exprLen, STB_ENCODE_OVER)
SDB_SET_BINARY(pRaw, dataPos, pTSma->tagsFilter, pTSma->tagsFilterLen, STB_ENCODE_OVER)
}
SDB_SET_BINARY(pRaw, dataPos, pStb->comment, TSDB_STB_COMMENT_LEN, STB_ENCODE_OVER)
SDB_SET_RESERVE(pRaw, dataPos, TSDB_STB_RESERVE_SIZE, STB_ENCODE_OVER)
SDB_SET_DATALEN(pRaw, dataPos, STB_ENCODE_OVER)
@ -150,6 +168,7 @@ static SSdbRow *mndStbActionDecode(SSdbRaw *pRaw) {
SDB_GET_INT32(pRaw, dataPos, &pStb->nextColId, STB_DECODE_OVER)
SDB_GET_INT32(pRaw, dataPos, &pStb->numOfColumns, STB_DECODE_OVER)
SDB_GET_INT32(pRaw, dataPos, &pStb->numOfTags, STB_DECODE_OVER)
SDB_GET_INT32(pRaw, dataPos, &pStb->numOfTSmas, STB_DECODE_OVER)
pStb->pColumns = calloc(pStb->numOfColumns, sizeof(SSchema));
pStb->pTags = calloc(pStb->numOfTags, sizeof(SSchema));
@ -173,6 +192,23 @@ static SSdbRow *mndStbActionDecode(SSdbRaw *pRaw) {
SDB_GET_BINARY(pRaw, dataPos, pSchema->name, TSDB_COL_NAME_LEN, STB_DECODE_OVER)
}
for (int32_t i = 0; i < pStb->numOfTSmas; ++i) {
STSmaObj *pTSma = &pStb->pTSmas[i];
SDB_GET_BINARY(pRaw, dataPos, pTSma->name, TSDB_TABLE_FNAME_LEN, STB_DECODE_OVER)
SDB_GET_INT64(pRaw, dataPos, &pTSma->createdTime, STB_DECODE_OVER)
SDB_GET_INT64(pRaw, dataPos, &pTSma->uid, STB_DECODE_OVER)
SDB_GET_INT8(pRaw, dataPos, &pTSma->intervalUnit, STB_DECODE_OVER)
SDB_GET_INT8(pRaw, dataPos, &pTSma->slidingUnit, STB_DECODE_OVER)
SDB_GET_INT8(pRaw, dataPos, &pTSma->timezone, STB_DECODE_OVER)
SDB_GET_INT64(pRaw, dataPos, &pTSma->interval, STB_DECODE_OVER)
SDB_GET_INT64(pRaw, dataPos, &pTSma->offset, STB_DECODE_OVER)
SDB_GET_INT64(pRaw, dataPos, &pTSma->sliding, STB_DECODE_OVER)
SDB_GET_INT32(pRaw, dataPos, &pTSma->exprLen, STB_DECODE_OVER)
SDB_GET_INT32(pRaw, dataPos, &pTSma->tagsFilterLen, STB_DECODE_OVER)
SDB_GET_BINARY(pRaw, dataPos, pTSma->expr, pTSma->exprLen, STB_DECODE_OVER)
SDB_GET_BINARY(pRaw, dataPos, pTSma->tagsFilter, pTSma->tagsFilterLen, STB_DECODE_OVER)
}
SDB_GET_BINARY(pRaw, dataPos, pStb->comment, TSDB_STB_COMMENT_LEN, STB_DECODE_OVER)
SDB_GET_RESERVE(pRaw, dataPos, TSDB_STB_RESERVE_SIZE, STB_DECODE_OVER)