Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
472d52a2
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看板
提交
472d52a2
编写于
2月 12, 2020
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add more
上级
44a099b5
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
69 addition
and
25 deletion
+69
-25
src/vnode/common/inc/dataformat.h
src/vnode/common/inc/dataformat.h
+2
-1
src/vnode/common/inc/schema.h
src/vnode/common/inc/schema.h
+3
-1
src/vnode/common/inc/type.h
src/vnode/common/inc/type.h
+24
-12
src/vnode/common/src/dataformat.c
src/vnode/common/src/dataformat.c
+3
-0
src/vnode/common/src/schema.c
src/vnode/common/src/schema.c
+18
-1
src/vnode/tsdb/inc/tsdbCache.h
src/vnode/tsdb/inc/tsdbCache.h
+0
-1
src/vnode/tsdb/inc/tsdbFile.h
src/vnode/tsdb/inc/tsdbFile.h
+13
-9
src/vnode/tsdb/src/tsdbFileStore.c
src/vnode/tsdb/src/tsdbFileStore.c
+6
-0
未找到文件。
src/vnode/common/inc/dataformat.h
浏览文件 @
472d52a2
...
...
@@ -3,7 +3,6 @@
#include <stdint.h>
#include "type.h"
#include "schema.h"
// ----------------- Data row structure
...
...
@@ -63,4 +62,6 @@ typedef char * 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_
src/vnode/common/inc/schema.h
浏览文件 @
472d52a2
...
...
@@ -12,6 +12,7 @@ typedef struct {
td_datatype_t
type
;
// Column type
int32_t
colId
;
// column ID
int32_t
bytes
;
// column bytes
int32_t
offset
;
// point offset in a row data
char
*
colName
;
// the column name
}
SColumn
;
...
...
@@ -40,6 +41,7 @@ typedef char *SISchema;
#define TD_COLUMN_TYPE(pCol) ((pCol)->type) // column type
#define TD_COLUMN_ID(pCol) ((pCol)->colId) // column ID
#define TD_COLUMN_BYTES(pCol) ((pCol)->bytes) // column bytes
#define TD_COLUMN_OFFSET(pCol) ((pCol)->offset) // column bytes
#define TD_COLUMN_NAME(pCol) ((pCol)->colName) // column name
#define TD_COLUMN_INLINE_SIZE(pCol) (sizeof(SColumn) + TD_COLUMN_NAME(pCol) + 1)
...
...
@@ -66,6 +68,6 @@ SISchema tdConvertSchemaToInline(SSchema *pSchema);
int32_t
tdGetColumnIdxByName
(
SSchema
*
pSchema
,
char
*
colName
);
int32_t
tdGetColumnIdxById
(
SSchema
*
pSchema
,
int32_t
colId
);
// ---- TODO: operations to
change
schema
// ---- TODO: operations to
modify
schema
#endif // _TD_SCHEMA_H_
src/vnode/common/inc/type.h
浏览文件 @
472d52a2
...
...
@@ -4,19 +4,31 @@
#include <stdint.h>
typedef
enum
{
TD_DATATYPE_INVLD
=
0
,
// invalid data type
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_BOOL
=
0
,
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
;
const
int32_t
rowDataLen
[]
=
{
sizeof
(
int8_t
),
// TD_DATATYPE_BOOL,
sizeof
(
int8_t
),
// TD_DATATYPE_TINYINT,
sizeof
(
int16_t
),
// TD_DATATYPE_SMALLINT,
sizeof
(
int32_t
),
// TD_DATATYPE_INT,
sizeof
(
int64_t
),
// TD_DATATYPE_BIGINT,
sizeof
(
float
),
// TD_DATATYPE_FLOAT,
sizeof
(
double
),
// TD_DATATYPE_DOUBLE,
sizeof
(
int32_t
),
// TD_DATATYPE_VARCHAR,
sizeof
(
int32_t
),
// TD_DATATYPE_NCHAR,
sizeof
(
int32_t
)
// TD_DATATYPE_BINARY
};
// TODO: finish below
#define TD_DATATYPE_BOOL_NULL
#define TD_DATATYPE_TINYINT_NULL
...
...
@@ -31,4 +43,4 @@ typedef enum {
#define TD_IS_VALID_DATATYPE(type) (((type) > TD_DATA_TYPE_INVLD) && ((type) <= TD_DATATYPE_BINARY))
#endif // _TD_TYPE_H_
#endif
// _TD_TYPE_H_
src/vnode/common/src/dataformat.c
浏览文件 @
472d52a2
#include <stdlib.h>
#include "dataformat.h"
src/vnode/common/src/schema.c
浏览文件 @
472d52a2
...
...
@@ -15,6 +15,23 @@ static size_t tdGetEstimatedISchemaLen(SSchema *pSchema) {
return
TD_ISCHEMA_HEADER_SIZE
+
(
size_t
)
TD_SCHEMA_TOTAL_COLS
(
pSchema
)
+
colNameLen
;
}
static
void
tdUpdateColumnOffsets
(
SSchema
*
pSchema
)
{
int32_t
offset
=
0
;
for
(
size_t
i
=
0
;
i
<
TD_SCHEMA_NCOLS
(
pSchema
);
i
++
)
{
SColumn
*
pCol
=
TD_SCHEMA_COLUMN_AT
(
pSchema
,
i
);
TD_COLUMN_OFFSET
(
pCol
)
=
offset
;
offset
+=
rowDataLen
[
TD_COLUMN_TYPE
(
pCol
)];
}
offset
=
0
;
for
(
size_t
i
=
0
;
i
<
TD_SCHEMA_NTAGS
(
pSchema
);
i
++
)
{
SColumn
*
pCol
=
TD_SCHEMA_TAG_AT
(
pSchema
,
i
);
TD_COLUMN_OFFSET
(
pCol
)
=
offset
;
offset
+=
rowDataLen
[
TD_COLUMN_TYPE
(
pCol
)];
}
}
SISchema
tdConvertSchemaToInline
(
SSchema
*
pSchema
)
{
size_t
len
=
tdGetEstimatedISchemaLen
(
pSchema
);
int32_t
totalCols
=
TD_SCHEMA_TOTAL_COLS
(
pSchema
);
...
...
@@ -61,7 +78,7 @@ int32_t tdGetColumnIdxById(SSchema *pSchema, int32_t colId) {
for
(
int32_t
i
=
0
;
i
<
TD_SCHEMA_TOTAL_COLS
(
pSchema
);
i
++
)
{
SColumn
*
pCol
=
TD_SCHEMA_COLUMN_AT
(
pSchema
,
i
);
if
(
TD_COLUMN_ID
(
pCol
)
==
colId
)
{
return
i
;
return
i
;
}
}
return
-
1
;
...
...
src/vnode/tsdb/inc/tsdbCache.h
浏览文件 @
472d52a2
...
...
@@ -4,7 +4,6 @@
#include <stdint.h>
#include "cache.h"
#include "dlist.h"
#define TSDB_DEFAULT_CACHE_BLOCK_SIZE 16*1024*1024
/* 16M */
...
...
src/vnode/tsdb/inc/tsdbFile.h
浏览文件 @
472d52a2
...
...
@@ -5,13 +5,20 @@
typedef
int32_t
file_id_t
;
typedef
enum
:
uint8_t
{
TSDB_FILE_TYPE_HEAD
,
TSDB_FILE_TYPE_DATA
,
TSDB_FILE_TYPE_LAST
,
TSDB_FILE_TYPE_META
typedef
enum
{
TSDB_FILE_TYPE_HEAD
,
// .head file type
TSDB_FILE_TYPE_DATA
,
// .data file type
TSDB_FILE_TYPE_LAST
,
// .last file type
TSDB_FILE_TYPE_META
// .meta file type
}
TSDB_FILE_TYPE
;
const
char
*
tsdbFileSuffix
[]
=
{
".head"
,
// TSDB_FILE_TYPE_HEAD
".data"
,
// TSDB_FILE_TYPE_DATA
".last"
,
// TSDB_FILE_TYPE_LAST
".meta"
// TSDB_FILE_TYPE_META
};
typedef
struct
{
int64_t
fileSize
;
}
SFileInfo
;
...
...
@@ -28,9 +35,6 @@ typedef struct {
int16_t
numOfBlocks
;
}
SDataBlock
;
tstring_t
tdGetHeadFileName
(
/* TODO */
);
tstring_t
tdGetDataFileName
(
/* TODO */
);
tstring_t
tdGetLastFileName
(
/* TODO */
);
tstring_t
tdGetMetaFileName
(
/* TODO */
);
char
*
tsdbGetFileName
(
char
*
dirName
,
char
*
fname
,
TSDB_FILE_TYPE
type
);
#endif // _TD_TSDB_FILE_H_
src/vnode/tsdb/src/tsdbFileStore.c
浏览文件 @
472d52a2
#include "tsdbFile.h"
char
*
tsdbGetFileName
(
char
*
dirName
,
char
*
fname
,
TSDB_FILE_TYPE
type
){
char
*
suffix
=
tsdbFileSuffix
[
type
];
// TODO
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录