提交 126453b3 编写于 作者: S slguan

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

#if !defined(_TD_CACHE_H_)
#define _TD_CACHE_H_
typedef void cache_pool_t;
typedef struct SCacheBlock
{
SCacheBlock *next;
} SCacheBlock;
#endif // _TD_CACHE_H_
#if !defined(_TD_SCHEMA_H_)
#define _TD_SCHEMA_H_
#include <stdint.h>
#include "type.h"
typedef struct _scolumn {
td_datatype_t type;
int32_t bytes;
} SColumn;
typedef struct SSchema {
int32_t numOfCols;
SColumn *columns;
} SSchema;
#endif // _TD_SCHEMA_H_
#if !defined(_TD_TYPE_H_)
#define _TD_TYPE_H_
typedef enum {
TD_DATATYPE_INVLD = 0,
TD_DATATYPE_BOOL,
TD_DATATYPE_TINYINT,
TD_DATATYPE_SMALLINT,
TD_DATATYPE_INT,
TD_DATATYPE_BIGINT,
TD_DATATYPE_FLOAT,
TD_DATATYPE_DOUBLE,
TD_DATATYPE_VARCHAR,
TD_DATATYPE_NCHAR,
TD_DATATYPE_BINARY
} td_datatype_t;
// TODO: finish below
#define TD_DATATYPE_BOOL_NULL
#define TD_DATATYPE_TINYINT_NULL
#define TD_DATATYPE_SMALLINT_NULL
#define TD_DATATYPE_INT_NULL
#define TD_DATATYPE_BIGINT_NULL
#define TD_DATATYPE_FLOAT_NULL
#define TD_DATATYPE_DOUBLE_NULL
#define TD_DATATYPE_VARCHAR_NULL
#define TD_DATATYPE_NCHAR_NULL
#define TD_DATATYPE_BINARY_NULL
#endif // _TD_TYPE_H_
#if !defined(_TD_DATA_H_)
#define _TD_DATA_H_
#include <stdint.h>
// ---- Row data interface
typedef struct {
int32_t numOfRows;
char * data;
} SRData;
// ---- Column data interface
typedef struct {
int32_t numOfPoints;
char *data;
} SCData;
#endif // _TD_DATA_H_
/**************************************
* FOR OUTSIDE USAGE
**************************************/
#if !defined(_TD_TSDB_H_) #if !defined(_TD_TSDB_H_)
#define _TD_TSDB_H_ #define _TD_TSDB_H_
......
/************************************
* For internal usage
************************************/
#include "tsdb.h"
typedef enum {
TSDB_TABLE_NORMAL,
TSDB_TABLE_STABLE,
TSDB_TABLE_SUPER
} TSDB_TABLE_TYPE;
// Below is the struct definition of super table
// TODO: May merge all table definitions
typedef struct _super_table {
int64_t uid;
char *tableName;
int64_t createdTime;
// TODO: try to merge the two schema into one
SSchema *pSchema;
SSchema *pTagSchema;
// A index created for all tables created using this super table
SSkipList * pIndex;
} SSTable;
// Normal table struct definition, table not
// created from super table
typedef struct SNTable
{
tsdb_id_t tableId;
int64_t uid;
char *tableName;
int64_t createdTime;
SSchema *pSchema
} SNTable;
// Table created from super table
typedef struct STable {
tsdb_id_t tableId;
int64_t uid;
char *tableName;
int64_t createdTime;
// super table UID
int64_t stableUid;
// Tag values for this table
char *pTagVal;
} STable;
#define TSDB_GET_TABLE_ID(pTable) (((STable *)pTable)->tid).tableId
#define TSDB_GET_TABLE_UID(pTable) (((STable *)pTable)->tid).uid
#define TSDB_IS_SUPER_TABLE(pTable)
#include <stdint.h>
#include <pthread.h>
#include "tsdb.h"
#include "disk.h"
#include "cache.h"
typedef struct STSDBRepo
{
// TSDB configuration
STSDBcfg *pCfg;
/* Disk tier handle for multi-tier storage
*
* The handle is responsible for dealing with object-oriented
* storage.
*/
SDiskTier *pDiskTier;
/* Cache block list
*/
SCacheBlock *pCacheBloclList;
/* Map from tableId-->STable
*/
STable *pTableList;
/* Map from tableName->tableId
* TODO: may use dict
*/
void *pTableDict;
/* Map from super tableName->table
* TODO: may use dict
*/
void *pSTableDict;
/* File Store
*/
void *pFileStore;
pthread_mutext_t tsdbMutex;
} STSDBRepo;
#define TSDB_GET_TABLE_BY_ID(pRepo, sid) (((STSDBRepo *)pRepo)->pTableList)[sid]
#define TSDB_GET_TABLE_BY_NAME(pRepo, name)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册