Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
62231ef1
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看板
提交
62231ef1
编写于
3月 23, 2023
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
more code
上级
8fa2f087
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
111 addition
and
6 deletion
+111
-6
source/dnode/vnode/src/tsdb/dev/tsdbFile.c
source/dnode/vnode/src/tsdb/dev/tsdbFile.c
+8
-3
source/dnode/vnode/src/tsdb/dev/tsdbSttFWriter.c
source/dnode/vnode/src/tsdb/dev/tsdbSttFWriter.c
+35
-1
source/dnode/vnode/src/tsdb/dev/tsdbSttFWriter.h
source/dnode/vnode/src/tsdb/dev/tsdbSttFWriter.h
+4
-2
source/dnode/vnode/src/tsdb/dev/tsdbUtil.c
source/dnode/vnode/src/tsdb/dev/tsdbUtil.c
+14
-0
source/dnode/vnode/src/tsdb/dev/tsdbUtil.h
source/dnode/vnode/src/tsdb/dev/tsdbUtil.h
+50
-0
未找到文件。
source/dnode/vnode/src/tsdb/dev/tsdbFile.c
浏览文件 @
62231ef1
...
...
@@ -33,13 +33,16 @@ typedef enum {
TSDB_FTYPE_TOMB
,
// .tomb
}
tsdb_ftype_t
;
const
char
*
tsdb_ftype_suffix
[]
=
{
"none"
,
"stt"
,
"head"
,
"data"
,
"sma"
,
"tomb"
,
};
typedef
struct
SFStt
{
int64_t
cid
;
int64_t
offset
;
}
SFStt
;
typedef
struct
SFHead
{
// TODO
int64_t
offset
;
}
SFHead
;
typedef
struct
SFData
{
...
...
@@ -56,8 +59,10 @@ typedef struct SFTomb {
struct
STFile
{
SDiskID
diskId
;
tsdb_ftype_t
type
;
int64_t
size
;
int64_t
cid
;
int32_t
fid
;
tsdb_ftype_t
type
;
union
{
SFStt
fstt
;
SFHead
fhead
;
...
...
source/dnode/vnode/src/tsdb/dev/tsdbSttFWriter.c
浏览文件 @
62231ef1
...
...
@@ -14,10 +14,44 @@
*/
#include "tsdbSttFWriter.h"
#include "tsdbUtil.h"
struct
SSttFWriter
{
SSttFWriterConf
conf
;
SBlockData
bData
;
SDelBlock
dData
;
SArray
*
aSttBlk
;
// SArray<SSttBlk>
SArray
*
aDelBlk
;
// SArray<SDelBlk>
SSkmInfo
skmTb
;
SSkmInfo
skmRow
;
STsdbFD
*
pFd
;
};
int32_t
tsdbSttFWriterOpen
(
const
SSttFWriterConf
*
pConf
,
SSttFWriter
**
ppWriter
)
{
int32_t
code
=
0
;
// TODO
int32_t
lino
=
0
;
ppWriter
[
0
]
=
taosMemoryCalloc
(
1
,
sizeof
(
SSttFWriter
));
if
(
ppWriter
[
0
]
==
NULL
)
{
code
=
TSDB_CODE_OUT_OF_MEMORY
;
TSDB_CHECK_CODE
(
code
,
lino
,
_exit
);
}
ppWriter
[
0
]
->
conf
=
pConf
[
0
];
if
(
ppWriter
[
0
]
->
conf
.
pSkmTb
==
NULL
)
ppWriter
[
0
]
->
conf
.
pSkmTb
=
&
ppWriter
[
0
]
->
skmTb
;
if
(
ppWriter
[
0
]
->
conf
.
pSkmRow
==
NULL
)
ppWriter
[
0
]
->
conf
.
pSkmRow
=
&
ppWriter
[
0
]
->
skmRow
;
tBlockDataCreate
(
&
ppWriter
[
0
]
->
bData
);
// tDelBlockCreate(&ppWriter[0]->dData);
_exit:
if
(
code
)
{
tsdbError
(
"vgId:%d %s failed at line %d since %s"
,
TD_VID
(
pConf
->
pTsdb
->
pVnode
),
__func__
,
lino
,
tstrerror
(
code
));
if
(
ppWriter
[
0
])
{
taosMemoryFree
(
ppWriter
[
0
]);
ppWriter
[
0
]
=
NULL
;
}
}
return
code
;
}
...
...
source/dnode/vnode/src/tsdb/dev/tsdbSttFWriter.h
浏览文件 @
62231ef1
...
...
@@ -31,8 +31,10 @@ int32_t tsdbSttFWriteTSData(SSttFWriter *pWriter, TABLEID *tbid, TSDBROW *pRow);
int32_t
tsdbSttFWriteDLData
(
SSttFWriter
*
pWriter
,
TABLEID
*
tbid
,
SDelData
*
pDelData
);
struct
SSttFWriterConf
{
STsdb
*
pTsdb
;
int32_t
maxRow
;
STsdb
*
pTsdb
;
SSkmInfo
*
pSkmTb
;
SSkmInfo
*
pSkmRow
;
int32_t
maxRow
;
};
#ifdef __cplusplus
...
...
source/dnode/vnode/src/tsdb/dev/tsdbUtil.c
0 → 100644
浏览文件 @
62231ef1
/*
* Copyright (c) 2019 TAOS Data, Inc. <jhtao@taosdata.com>
*
* This program is free software: you can use, redistribute, and/or modify
* it under the terms of the GNU Affero General Public License, version 3
* or later ("AGPL"), as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
\ No newline at end of file
source/dnode/vnode/src/tsdb/dev/tsdbUtil.h
0 → 100644
浏览文件 @
62231ef1
/*
* Copyright (c) 2019 TAOS Data, Inc. <jhtao@taosdata.com>
*
* This program is free software: you can use, redistribute, and/or modify
* it under the terms of the GNU Affero General Public License, version 3
* or later ("AGPL"), as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _TSDB_UTIL_H
#define _TSDB_UTIL_H
#include "tsdb.h"
#ifdef __cplusplus
extern
"C"
{
#endif
/* Exposed Handle */
typedef
struct
SDelBlock
SDelBlock
;
typedef
struct
SDelBlk
SDelBlk
;
/* Exposed APIs */
/* Exposed Structs */
struct
SDelBlock
{
// <suid, uid, version, skey, ekey>
SColData
aColData
[
4
];
};
struct
SDelBlk
{
int64_t
suidMax
;
int64_t
suidMin
;
int64_t
uidMax
;
int64_t
uidMin
;
int64_t
verMax
;
int64_t
verMin
;
};
#ifdef __cplusplus
}
#endif
#endif
/*_TSDB_UTIL_H*/
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录