From e8d96d437eb3ad938a8e5dd56c07a7bb1d10f28d Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Tue, 11 Feb 2020 15:29:08 +0800 Subject: [PATCH] more --- src/vnode/common/data/inc/data.h | 28 --------- src/vnode/common/datastructure/inc/dlist.h | 29 --------- src/vnode/common/inc/dataformat.h | 66 +++++++++++++++++++++ src/vnode/common/{catalog => }/inc/schema.h | 0 src/vnode/common/{catalog => }/inc/type.h | 2 +- src/vnode/common/src/dataformat.c | 0 src/vnode/tsdb/inc/tsdbCache.h | 3 +- 7 files changed, 69 insertions(+), 59 deletions(-) delete mode 100644 src/vnode/common/data/inc/data.h delete mode 100644 src/vnode/common/datastructure/inc/dlist.h create mode 100644 src/vnode/common/inc/dataformat.h rename src/vnode/common/{catalog => }/inc/schema.h (100%) rename src/vnode/common/{catalog => }/inc/type.h (93%) create mode 100644 src/vnode/common/src/dataformat.c diff --git a/src/vnode/common/data/inc/data.h b/src/vnode/common/data/inc/data.h deleted file mode 100644 index 3768375025..0000000000 --- a/src/vnode/common/data/inc/data.h +++ /dev/null @@ -1,28 +0,0 @@ -#if !defined(_TD_DATA_H_) -#define _TD_DATA_H_ - -#include - -#include "schema.h" - -/* The row data should in the form of - */ - -// ---- Row data interface -typedef struct { - int32_t numOfRows; - char * data; -} SRData; - -// ---- Column data interface -typedef struct { - int32_t numOfPoints; - char * data; -} SCData; - -typedef struct { - int32_t numOfCols; - SCData **pData; -} SCDataBlock; - -#endif // _TD_DATA_H_ diff --git a/src/vnode/common/datastructure/inc/dlist.h b/src/vnode/common/datastructure/inc/dlist.h deleted file mode 100644 index 81a3b32ab0..0000000000 --- a/src/vnode/common/datastructure/inc/dlist.h +++ /dev/null @@ -1,29 +0,0 @@ -// A doubly linked list -#if !defined(_TD_DLIST_H_) -#define _TD_DLIST_H_ - -#include - -typedef struct { - SListNode *prev; - SListNode *next; - void * data; -} SListNode; - -// Doubly linked list -typedef struct { - SListNode *head; - SListNode *tail; - int32_t length; -} SDList; - -// ----- Set operation -#define TD_GET_DLIST_LENGTH(pDList) (((SDList *)pDList)->length) -#define TD_GET_DLIST_HEAD(pDList) (((SDList *)pDList)->head) -#define TD_GET_DLIST_TAIL(pDList) (((SDList *)pDList)->tail) - -#define TD_GET_DLIST_NEXT_NODE(pDNode) (((SListNode *)pDNode)->next) -#define TD_GET_DLIST_PREV_NODE(pDNode) (((SListNode *)pDNode)->prev) -#define TD_GET_DLIST_NODE_DATA(pDNode) (((SListNode *)pDNode)->data) - -#endif // _TD_DLIST_H_ diff --git a/src/vnode/common/inc/dataformat.h b/src/vnode/common/inc/dataformat.h new file mode 100644 index 0000000000..3db70c9569 --- /dev/null +++ b/src/vnode/common/inc/dataformat.h @@ -0,0 +1,66 @@ +#if !defined(_TD_DATA_FORMAT_H_) +#define _TD_DATA_FORMAT_H_ + +#include + +#include "type.h" +#include "schema.h" + +// ----------------- Data row structure + +/* A data row, the format of it is like below: + * +---------+---------------------------------+ + * | int32_t | | + * +---------+---------------------------------+ + * | len | data | + * +---------+---------------------------------+ + */ +typedef char* SDataRow; + +/* Data rows definition, the format of it is like below: + * +---------+---------+-----------------------+--------+-----------------------+ + * | int32_t | int32_t | | | | + * +---------+---------+-----------------------+--------+-----------------------+ + * | len | nrows | SDataRow | .... | SDataRow | + * +---------+---------+-----------------------+--------+-----------------------+ + */ +typedef char * SDataRows; + +/* Data column definition + * +---------+---------+-----------------------+ + * | int32_t | int32_t | | + * +---------+---------+-----------------------+ + * | len | npoints | data | + * +---------+---------+-----------------------+ + */ +typedef char * SDataCol; + +/* Data columns definition + * +---------+---------+-----------------------+--------+-----------------------+ + * | int32_t | int32_t | | | | + * +---------+---------+-----------------------+--------+-----------------------+ + * | len | npoints | SDataCol | .... | SDataCol | + * +---------+---------+-----------------------+--------+-----------------------+ + */ +typedef char * SDataCols; + +// ----------------- Data column structure + +// ---- operation on SDataRow; +#define TD_DATAROW_LEN(pDataRow) (*(int32_t *)(pDataRow)) +#define TD_DATAROW_DATA(pDataRow) ((pDataRow) + sizeof(int32_t)) + +// ---- operation on SDataRows +#define TD_DATAROWS_LEN(pDataRows) (*(int32_t *)(pDataRows)) +#define TD_DATAROWS_ROWS(pDataRows) (*(int32_t *)(pDataRows + sizeof(int32_t))) +#define TD_NEXT_DATAROW(pDataRow) ((pDataRow) + TD_DATAROW_LEN(pDataRow)) + +// ---- operation on SDataCol +#define TD_DATACOL_LEN(pDataCol) (*(int32_t *)(pDataCol)) +#define TD_DATACOL_NPOINTS(pDataCol) (*(int32_t *)(pDataCol + sizeof(int32_t))) + +// ---- operation on SDataCols +#define TD_DATACOLS_LEN(pDataCols) (*(int32_t *)(pDataCols)) +#define TD_DATACOLS_NPOINTS(pDataCols) (*(int32_t *)(pDataCols + sizeof(int32_t))) + +#endif // _TD_DATA_FORMAT_H_ diff --git a/src/vnode/common/catalog/inc/schema.h b/src/vnode/common/inc/schema.h similarity index 100% rename from src/vnode/common/catalog/inc/schema.h rename to src/vnode/common/inc/schema.h diff --git a/src/vnode/common/catalog/inc/type.h b/src/vnode/common/inc/type.h similarity index 93% rename from src/vnode/common/catalog/inc/type.h rename to src/vnode/common/inc/type.h index 69aee2a5de..c36d7fd43a 100644 --- a/src/vnode/common/catalog/inc/type.h +++ b/src/vnode/common/inc/type.h @@ -4,7 +4,7 @@ #include typedef enum : uint8_t { - TD_DATATYPE_INVLD = 0, + TD_DATATYPE_INVLD = 0, // invalid data type TD_DATATYPE_BOOL, TD_DATATYPE_TINYINT, TD_DATATYPE_SMALLINT, diff --git a/src/vnode/common/src/dataformat.c b/src/vnode/common/src/dataformat.c new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/vnode/tsdb/inc/tsdbCache.h b/src/vnode/tsdb/inc/tsdbCache.h index 791d1c7d78..b9de8551bc 100644 --- a/src/vnode/tsdb/inc/tsdbCache.h +++ b/src/vnode/tsdb/inc/tsdbCache.h @@ -23,6 +23,7 @@ typedef struct { // Use a doublely linked list to implement this typedef struct STSDBCache { + // Number of blocks the cache is allocated int32_t numOfBlocks; SDList *cacheList; void * current; @@ -32,7 +33,7 @@ typedef struct STSDBCache { // ---- Operation on STSDBCacheBlock #define TSDB_CACHE_BLOCK_DATA(pBlock) ((pBlock)->pData) #define TSDB_CACHE_AVAIL_SPACE(pBlock) ((char *)((pBlock)->pTableInfo) - ((pBlock)->pData)) -#define TSDB_TABLE_KEY_RANGE_AT_CACHE(pBlock, tableId) ((pBlock)->pTableInfo)[tableId] +#define TSDB_TABLE_INFO_OF_CACHE(pBlock, tableId) ((pBlock)->pTableInfo)[tableId] #define TSDB_NEXT_CACHE_BLOCK(pBlock) ((pBlock)->next) #define TSDB_PREV_CACHE_BLOCK(pBlock) ((pBlock)->prev) -- GitLab