diff --git a/src/common/inc/dataformat.h b/src/common/inc/dataformat.h index 4e8afd4f0eec26b42842fd4b4ddfcff05d876a13..04fa7dcc7dd5e1cb8498b4fa4eb033dfcc92e7c3 100644 --- a/src/common/inc/dataformat.h +++ b/src/common/inc/dataformat.h @@ -110,7 +110,8 @@ typedef struct SDataCol { int bytes; int len; int offset; - void * pData; + void * pData; // Original data + void * pCData; // Compressed data } SDataCol; typedef struct { diff --git a/src/common/src/dataformat.c b/src/common/src/dataformat.c index 436426c86b5a3279587cb71e3f7b60bdbb2bc271..8d7a7cb1d066ed6a07d49025d4b5fb4930f86ba6 100644 --- a/src/common/src/dataformat.c +++ b/src/common/src/dataformat.c @@ -317,14 +317,17 @@ void tdInitDataCols(SDataCols *pCols, STSchema *pSchema) { pCols->numOfCols = schemaNCols(pSchema); pCols->cols[0].pData = pCols->buf; + int offset = TD_DATA_ROW_HEAD_SIZE; for (int i = 0; i < schemaNCols(pSchema); i++) { if (i > 0) { pCols->cols[i].pData = (char *)(pCols->cols[i - 1].pData) + schemaColAt(pSchema, i - 1)->bytes * pCols->maxPoints; } pCols->cols[i].type = colType(schemaColAt(pSchema, i)); pCols->cols[i].bytes = colBytes(schemaColAt(pSchema, i)); - pCols->cols[i].offset = colOffset(schemaColAt(pSchema, i)); + pCols->cols[i].offset = offset; pCols->cols[i].colId = colColId(schemaColAt(pSchema, i)); + + offset += TYPE_BYTES[pCols->cols[i].type]; } } @@ -379,3 +382,7 @@ static int tdFLenFromSchema(STSchema *pSchema) { return ret; } + +int tdMergeDataCols(SDataCols *target, SDataCols *source) { + +} \ No newline at end of file diff --git a/src/os/linux/inc/os.h b/src/os/linux/inc/os.h index d3c401e3cfc3d4e6ee1d1ebca4baa6b7752355ba..ee75e1a0795323e83ed90243beb9f8ff11738485 100644 --- a/src/os/linux/inc/os.h +++ b/src/os/linux/inc/os.h @@ -205,6 +205,8 @@ ssize_t tsendfile(int dfd, int sfd, off_t *offset, size_t size); ssize_t twrite(int fd, void *buf, size_t n); +ssize_t tread(int fd, void *buf, size_t count); + bool taosCheckPthreadValid(pthread_t thread); void taosResetPthread(pthread_t *thread);