Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
5fdfb808
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1187
Star
22018
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看板
提交
5fdfb808
编写于
3月 01, 2022
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
more TDB
上级
2586ac0b
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
35 addition
and
13 deletion
+35
-13
source/libs/tdb/src/db/tdbDb.c
source/libs/tdb/src/db/tdbDb.c
+3
-13
source/libs/tdb/src/db/tdbPFile.c
source/libs/tdb/src/db/tdbPFile.c
+31
-0
source/libs/tdb/src/inc/tdbPFile.h
source/libs/tdb/src/inc/tdbPFile.h
+1
-0
未找到文件。
source/libs/tdb/src/db/tdbDb.c
浏览文件 @
5fdfb808
...
...
@@ -49,19 +49,9 @@ int tdbDbOpen(const char *fname, int keyLen, int valLen, FKeyComparator keyCmprF
ASSERT
(
pFile
!=
NULL
);
// TODO: Search if the DB already in the file
if
(
1
/*todo: db should be created*/
)
{
ret
=
tdbPFileAllocPage
(
pFile
,
&
pPage
,
&
pgno
);
if
(
ret
<
0
)
{
return
-
1
;
}
ret
=
tdbPFileWrite
(
pFile
,
pPage
);
if
(
ret
<
0
)
{
return
-
1
;
}
}
else
{
ASSERT
(
0
);
ret
=
tdbPFileOpenDB
(
pFile
,
&
pgno
,
true
);
if
(
ret
<
0
)
{
return
-
1
;
}
// pDb->pBt
...
...
source/libs/tdb/src/db/tdbPFile.c
浏览文件 @
5fdfb808
...
...
@@ -31,6 +31,10 @@ struct SPFile {
u8
inTran
;
};
typedef
struct
{
/* TODO */
}
SFileHdr
;
static
int
tdbPFileReadPage
(
SPFile
*
pFile
,
SPage
*
pPage
);
int
tdbPFileOpen
(
SPCache
*
pCache
,
const
char
*
fileName
,
SPFile
**
ppFile
)
{
...
...
@@ -87,6 +91,33 @@ int tdbPFileClose(SPFile *pFile) {
return
0
;
}
int
tdbPFileOpenDB
(
SPFile
*
pFile
,
SPgno
*
ppgno
,
bool
toCreate
)
{
SPgno
pgno
;
SPage
*
pPage
;
int
ret
;
{
// TODO: try to search the main DB to get the page number
pgno
=
0
;
}
if
(
pgno
==
0
&&
toCreate
)
{
ret
=
tdbPFileAllocPage
(
pFile
,
&
pPage
,
&
pgno
);
if
(
ret
<
0
)
{
return
-
1
;
}
// tdbPFileZeroPage(pPage);
ret
=
tdbPFileWrite
(
pFile
,
pPage
);
if
(
ret
<
0
)
{
return
-
1
;
}
}
*
ppgno
=
pgno
;
return
0
;
}
SPage
*
tdbPFileGet
(
SPFile
*
pFile
,
SPgno
pgno
)
{
SPgid
pgid
;
SPage
*
pPage
;
...
...
source/libs/tdb/src/inc/tdbPFile.h
浏览文件 @
5fdfb808
...
...
@@ -24,6 +24,7 @@ typedef struct SPFile SPFile;
int
tdbPFileOpen
(
SPCache
*
pCache
,
const
char
*
fileName
,
SPFile
**
ppFile
);
int
tdbPFileClose
(
SPFile
*
pFile
);
int
tdbPFileOpenDB
(
SPFile
*
pFile
,
SPgno
*
ppgno
,
bool
toCreate
);
SPage
*
tdbPFileGet
(
SPFile
*
pFile
,
SPgno
pgno
);
int
tdbPFileWrite
(
SPFile
*
pFile
,
SPage
*
pPage
);
int
tdbPFileAllocPage
(
SPFile
*
pFile
,
SPage
**
ppPage
,
SPgno
*
ppgno
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录