Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
aefd622e
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
aefd622e
编写于
2月 10, 2020
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
more
上级
2da826f9
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
83 addition
and
47 deletion
+83
-47
src/vnode/common/catalog/inc/schema.h
src/vnode/common/catalog/inc/schema.h
+5
-3
src/vnode/tsdb/inc/tsdbFile.h
src/vnode/tsdb/inc/tsdbFile.h
+8
-1
src/vnode/tsdb/inc/tsdbMeta.h
src/vnode/tsdb/inc/tsdbMeta.h
+65
-43
src/vnode/tsdb/src/tsdbMeta.c
src/vnode/tsdb/src/tsdbMeta.c
+5
-0
未找到文件。
src/vnode/common/catalog/inc/schema.h
浏览文件 @
aefd622e
...
...
@@ -7,8 +7,9 @@
#include "type.h"
typedef
struct
_scolumn
{
td_datatype_t
type
;
int32_t
bytes
;
tstring_t
colName
;
// column name
td_datatype_t
type
;
// data type
int32_t
bytes
;
// number of bytes
}
SColumn
;
typedef
struct
SSchema
{
...
...
@@ -18,6 +19,7 @@ typedef struct SSchema {
// Column with version
typedef
struct
{
tstring_t
colName
;
td_datatype_t
type
;
int32_t
colId
;
int32_t
bytes
;
...
...
@@ -27,7 +29,7 @@ typedef struct {
typedef
struct
{
int32_t
version
;
// Schema with version
int32_t
numOfCols
;
int32_t
columnId
;
int32_t
numOfTags
;
SVColumn
*
columns
;
}
SVSchema
;
...
...
src/vnode/tsdb/inc/tsdbFile.h
浏览文件 @
aefd622e
...
...
@@ -18,9 +18,16 @@ typedef struct {
typedef
struct
{
tstring_t
fname
;
SFileInfo
;
SFileInfo
fInfo
;
}
SFILE
;
typedef
struct
{
int64_t
offset
;
int64_t
skey
;
int64_t
ekey
;
int16_t
numOfBlocks
;
}
SDataBlock
;
tstring_t
tdGetHeadFileName
(
/* TODO */
);
tstring_t
tdGetDataFileName
(
/* TODO */
);
tstring_t
tdGetLastFileName
(
/* TODO */
);
...
...
src/vnode/tsdb/inc/tsdbMeta.h
浏览文件 @
aefd622e
...
...
@@ -2,61 +2,83 @@
* For internal usage
************************************/
#include
"tsdb.h"
#include
<pthread.h>
typedef
enum
{
TSDB_TABLE_NORMAL
,
TSDB_TABLE_STABLE
,
TSDB_TABLE_SUPER
}
TSDB_TABLE_TYPE
;
#include "tsdb.h"
// Below is the struct definition of super table
// TODO: May merge all table definitions
typedef
struct
_super_table
{
int64_t
uid
;
char
*
tableName
;
// Initially, there are 4 tables
#define TSDB_INIT_NUMBER_OF_SUPER_TABLE 4
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
;
typedef
enum
:
uint8_t
{
TSDB_SUPER_TABLE
,
// super table
TSDB_NTABLE
,
// table not created from super table
TSDB_STABLE
// table created from super table
}
TSDB_TABLE_TYPE
;
// Table created from super table
typedef
struct
STable
{
tsdb_id_t
tableId
;
int64_t
uid
;
char
*
tableName
;
tsdb_id_t
tableId
;
int64_t
uid
;
char
*
tableName
;
TSDB_TABLE_TYPE
type
;
int64_t
createdTime
;
// super table UID
int64_t
stableUi
d
;
tsdb_id_t
superTableI
d
;
// Tag values for this table
// Schema for this table
// For TSDB_SUPER_TABLE, it is the schema including tags
// For TSDB_NTABLE, it is only the schema, not including tags
// For TSDB_STABLE, it is NULL
SVSchema
*
pSchema
;
// Tag value for this table
// For TSDB_SUPER_TABLE and TSDB_NTABLE, it is NULL
// For TSDB_STABLE, it is the tag value string
char
*
pTagVal
;
// Cached data
SSkipList
*
pData
;
// Object content;
// For TSDB_SUPER_TABLE, it is the index of tables created from it
// For TSDB_STABLE and TSDB_NTABLE, it is the cache data
union
{
void
*
pData
;
void
*
pIndex
;
}
content
;
// A handle to deal with event
void
*
eventHandle
;
// A handle to deal with stream
void
*
streamHandle
;
}
STable
;
#define TSDB_GET_TABLE_ID(pTable) (((STable *)pTable)->tid).tableId
#define TSDB_GET_TABLE_UID(pTable) (((STable *)pTable)->tid).uid
typedef
struct
{
int32_t
numOfTables
;
// Number of tables not including TSDB_SUPER_TABLE (#TSDB_NTABLE + #TSDB_STABLE)
int32_t
numOfSuperTables
;
// Number of super tables (#TSDB_SUPER_TABLE)
// An array of tables (TSDB_NTABLE and TSDB_STABLE) in this TSDB repository
STable
**
pTables
;
// A map of tableName->tableId
// TODO: May use hash table
void
*
pNameTableMap
;
}
SMetaHandle
;
// ---- Operation on STable
#define TSDB_TABLE_ID(pTable) ((pTable)->tableId)
#define TSDB_TABLE_UID(pTable) ((pTable)->uid)
#define TSDB_TABLE_NAME(pTable) ((pTable)->tableName)
#define TSDB_TABLE_TYPE(pTable) ((pTable)->type)
#define TSDB_TABLE_SUPER_TABLE_UID(pTable) ((pTable)->stableUid)
#define TSDB_TABLE_IS_SUPER_TABLE(pTable) (TSDB_TABLE_TYPE(pTable) == TSDB_SUPER_TABLE)
#define TSDB_TABLE_TAG_VALUE(pTable) ((pTable)->pTagVal)
#define TSDB_TABLE_CACHE_DATA(pTable) ((pTable)->content.pData)
#define TSDB_SUPER_TABLE_INDEX(pTable) ((pTable)->content.pIndex)
SVSchema
*
tsdbGetTableSchema
(
STable
*
pTable
);
#define TSDB_IS_SUPER_TABLE(pTable)
// ---- Operation on SMetaHandle
#define TSDB_NUM_OF_TABLES(pHandle) ((pHandle)->numOfTables)
#define TSDB_NUM_OF_SUPER_TABLES(pHandle) ((pHandle)->numOfSuperTables)
#define TSDB_TABLE_OF_ID(pHandle, id) ((pHandle)->pTables)[id]
#define TSDB_GET_TABLE_OF_NAME(pHandle, name)
/* TODO */
\ No newline at end of file
src/vnode/tsdb/src/tsdbMeta.c
浏览文件 @
aefd622e
#include "tsdb.h"
#include "tsdbMeta.h"
SVSchema
*
tsdbGetTableSchema
(
STable
*
pTable
)
{
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录