diff --git a/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c b/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c index e1625c9ddb..9afa4bbcf1 100644 --- a/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c +++ b/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c @@ -841,6 +841,7 @@ static int32_t tsdbDataFileDoWriteBlockData(SDataFileWriter *writer, SBlockData .numRow = bData->nRow, .count = 1, }}; + for (int32_t i = 1; i < bData->nRow; ++i) { if (bData->aTSKEY[i] != bData->aTSKEY[i - 1]) { diff --git a/source/dnode/vnode/src/tsdb/tsdbDataFileRW.h b/source/dnode/vnode/src/tsdb/tsdbDataFileRW.h index c4aed6e787..becb395836 100644 --- a/source/dnode/vnode/src/tsdb/tsdbDataFileRW.h +++ b/source/dnode/vnode/src/tsdb/tsdbDataFileRW.h @@ -85,6 +85,7 @@ typedef struct SDataFileWriterConfig { } files[TSDB_FTYPE_MAX]; SSkmInfo *skmTb; SSkmInfo *skmRow; + SHashObj *pColCmpr; uint8_t **bufArr; } SDataFileWriterConfig; diff --git a/source/dnode/vnode/src/tsdb/tsdbFSetRW.c b/source/dnode/vnode/src/tsdb/tsdbFSetRW.c index e6b3cf8f54..e524d6874e 100644 --- a/source/dnode/vnode/src/tsdb/tsdbFSetRW.c +++ b/source/dnode/vnode/src/tsdb/tsdbFSetRW.c @@ -14,6 +14,7 @@ */ #include "tsdbFSetRW.h" +#include "meta.h" // SFSetWriter ================================================== struct SFSetWriter { @@ -32,6 +33,7 @@ struct SFSetWriter { int32_t blockDataIdx; SDataFileWriter *dataWriter; SSttFileWriter *sttWriter; + SHashObj *pColCmprObj; }; static int32_t tsdbFSetWriteTableDataBegin(SFSetWriter *writer, const TABLEID *tbid) { @@ -42,6 +44,8 @@ static int32_t tsdbFSetWriteTableDataBegin(SFSetWriter *writer, const TABLEID *t writer->ctx->tbid->uid = tbid->uid; code = tsdbUpdateSkmTb(writer->config->tsdb, writer->ctx->tbid, writer->skmTb); + + code = metaGetColCmpr(writer->config->tsdb->pVnode->pMeta, writer->ctx->tbid->suid, &writer->pColCmprObj); TSDB_CHECK_CODE(code, lino, _exit); writer->blockDataIdx = 0; diff --git a/source/dnode/vnode/src/tsdb/tsdbFSetRW.h b/source/dnode/vnode/src/tsdb/tsdbFSetRW.h index 0a8049cded..815b956cf4 100644 --- a/source/dnode/vnode/src/tsdb/tsdbFSetRW.h +++ b/source/dnode/vnode/src/tsdb/tsdbFSetRW.h @@ -41,6 +41,7 @@ typedef struct { bool exist; STFile file; } files[TSDB_FTYPE_MAX]; + SHashObj *pColCmpr; } SFSetWriterConfig; int32_t tsdbFSetWriterOpen(SFSetWriterConfig *config, SFSetWriter **writer); diff --git a/source/dnode/vnode/src/tsdb/tsdbUtil2.c b/source/dnode/vnode/src/tsdb/tsdbUtil2.c index e938caa118..fe9d71fcc6 100644 --- a/source/dnode/vnode/src/tsdb/tsdbUtil2.c +++ b/source/dnode/vnode/src/tsdb/tsdbUtil2.c @@ -188,4 +188,5 @@ int32_t tsdbUpdateSkmRow(STsdb *pTsdb, const TABLEID *tbid, int32_t sver, SSkmIn pSkmRow->uid = tbid->uid; tDestroyTSchema(pSkmRow->pTSchema); return metaGetTbTSchemaEx(pTsdb->pVnode->pMeta, tbid->suid, tbid->uid, sver, &pSkmRow->pTSchema); -} \ No newline at end of file +} +int32_t tsdbUpdateColCmprObj(STsdb *pTsdb, const TABLEID *tbid, SHashObj **ppColCmpr) { return 0; } \ No newline at end of file