Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
jobily
TDengine
提交
e36de5ed
T
TDengine
项目概览
jobily
/
TDengine
9 个月 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
e36de5ed
编写于
6月 25, 2023
作者:
Y
yihaoDeng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add checkpoint
上级
2f656f38
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
53 addition
and
11 deletion
+53
-11
include/libs/stream/streamSnapshot.h
include/libs/stream/streamSnapshot.h
+4
-4
source/libs/stream/src/streamSnapshot.c
source/libs/stream/src/streamSnapshot.c
+49
-7
未找到文件。
include/libs/stream/streamSnapshot.h
浏览文件 @
e36de5ed
...
...
@@ -17,7 +17,7 @@
#include "tcommon.h"
typedef
struct
SStreamSnapReader
SStreamSnapReader
;
typedef
struct
S
treamSnapWriter
StreamSnapWriter
;
typedef
struct
S
StreamSnapWriter
S
StreamSnapWriter
;
typedef
struct
SStreamSnapHandle
SStreamSnapHandle
;
typedef
struct
SStreamSnapBlockHdr
SStreamSnapBlockHdr
;
...
...
@@ -27,8 +27,8 @@ int32_t streamSnapReaderClose(SStreamSnapReader* pReader);
int32_t
streamSnapRead
(
SStreamSnapReader
*
pReader
,
uint8_t
**
ppData
,
int64_t
*
size
);
// SMetaSnapWriter ========================================
int32_t
streamSnapWriterOpen
(
void
*
pMeta
,
int64_t
sver
,
int64_t
ever
,
StreamSnapWriter
**
ppWriter
);
int32_t
streamSnapWrite
(
StreamSnapWriter
*
pWriter
,
uint8_t
*
pData
,
uint32_t
nData
);
int32_t
streamSnapWriterClose
(
StreamSnapWriter
**
ppWriter
,
int8_t
rollback
);
int32_t
streamSnapWriterOpen
(
void
*
pMeta
,
int64_t
sver
,
int64_t
ever
,
S
S
treamSnapWriter
**
ppWriter
);
int32_t
streamSnapWrite
(
S
S
treamSnapWriter
*
pWriter
,
uint8_t
*
pData
,
uint32_t
nData
);
int32_t
streamSnapWriterClose
(
S
S
treamSnapWriter
**
ppWriter
,
int8_t
rollback
);
#endif
\ No newline at end of file
source/libs/stream/src/streamSnapshot.c
浏览文件 @
e36de5ed
...
...
@@ -62,10 +62,11 @@ struct SStreamSnapReader {
int64_t
ever
;
SStreamSnapHandle
handle
;
};
struct
StreamSnapWriter
{
void
*
pMeta
;
int64_t
sver
;
int64_t
ever
;
struct
SStreamSnapWriter
{
void
*
pMeta
;
int64_t
sver
;
int64_t
ever
;
SStreamSnapHandle
handle
;
};
const
char
*
ROCKSDB_OPTIONS
=
"OPTIONS"
;
const
char
*
ROCKSDB_MAINFEST
=
"MANIFEST"
;
...
...
@@ -241,12 +242,53 @@ int32_t streamSnapRead(SStreamSnapReader* pReader, uint8_t** ppData, int64_t* si
return
0
;
}
// SMetaSnapWriter ========================================
int32_t
streamSnapWriterOpen
(
void
*
pMeta
,
int64_t
sver
,
int64_t
ever
,
StreamSnapWriter
**
ppWriter
)
{
int32_t
streamSnapWriterOpen
(
void
*
pMeta
,
int64_t
sver
,
int64_t
ever
,
S
S
treamSnapWriter
**
ppWriter
)
{
// impl later
SStreamSnapWriter
*
pWriter
=
taosMemoryCalloc
(
1
,
sizeof
(
SStreamSnapWriter
));
if
(
pWriter
==
NULL
)
{
return
TSDB_CODE_OUT_OF_MEMORY
;
}
const
char
*
path
=
NULL
;
// if (streamSnapHandleInit(&pWriter->handle, (char*)path) < 0) {
// return -1;
// }
SBanckendFile
*
pFile
=
taosMemoryCalloc
(
1
,
sizeof
(
SBanckendFile
));
pFile
->
path
=
taosStrdup
(
path
);
pFile
->
pSst
=
taosArrayInit
(
16
,
sizeof
(
void
*
));
SArray
*
list
=
taosArrayInit
(
64
,
sizeof
(
SBackendFileItem
));
// SBackendFileItem item;
// // current
// item.name = (char*)ROCKSDB_CURRENT;
// item.type = ROCKSDB_CURRENT_TYPE;
// taosArrayPush(list, &item);
// // mainfest
// item.name = pFile->pMainfest;
// item.type = ROCKSDB_MAINFEST_TYPE;
// taosArrayPush(list, &item);
// // options
// item.name = pFile->pOptions;
// item.type = ROCKSDB_OPTIONS_TYPE;
// taosArrayPush(list, &item);
// // sst
// for (int i = 0; i < taosArrayGetSize(pFile->pSst); i++) {
// char* sst = taosArrayGetP(pFile->pSst, i);
// item.name = sst;
// item.type = ROCKSDB_SST_TYPE;
// taosArrayPush(list, &item);
// }
// // meta
// item.name = pFile->pCheckpointMeta;
// item.type = ROCKSDB_CHECKPOINT_META_TYPE;
// taosArrayPush(list, &item);
*
ppWriter
=
pWriter
;
return
0
;
}
int32_t
streamSnapWrite
(
StreamSnapWriter
*
pWriter
,
uint8_t
*
pData
,
uint32_t
nData
)
{
int32_t
streamSnapWrite
(
S
S
treamSnapWriter
*
pWriter
,
uint8_t
*
pData
,
uint32_t
nData
)
{
// impl later
return
0
;
}
int32_t
streamSnapWriterClose
(
StreamSnapWriter
**
ppWriter
,
int8_t
rollback
)
{
return
0
;
}
int32_t
streamSnapWriterClose
(
S
S
treamSnapWriter
**
ppWriter
,
int8_t
rollback
)
{
return
0
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录