Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
4b5f00ca
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
4b5f00ca
编写于
2月 16, 2022
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
more TDB
上级
6e995780
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
12 addition
and
4 deletion
+12
-4
source/libs/tdb/src/db/tdbPgFile.c
source/libs/tdb/src/db/tdbPgFile.c
+10
-1
source/libs/tdb/src/inc/tdbPgFile.h
source/libs/tdb/src/inc/tdbPgFile.h
+2
-3
未找到文件。
source/libs/tdb/src/db/tdbPgFile.c
浏览文件 @
4b5f00ca
...
...
@@ -15,6 +15,15 @@
#include "tdbInt.h"
typedef
struct
SPage1
{
char
magic
[
64
];
pgno_t
mdbRootPgno
;
// master DB root page number
pgno_t
freePgno
;
// free list page number
uint32_t
nFree
;
// number of free pages
}
SPage1
;
TDB_STATIC_ASSERT
(
sizeof
(
SPage1
)
<=
TDB_MIN_PGSIZE
,
"TDB Page1 definition too large"
);
static
int
pgFileRead
(
SPgFile
*
pPgFile
,
pgno_t
pgno
,
uint8_t
*
pData
);
int
pgFileOpen
(
SPgFile
**
ppPgFile
,
const
char
*
fname
,
TENV
*
pEnv
)
{
...
...
@@ -116,7 +125,7 @@ int pgFileAllocatePage(SPgFile *pPgFile, pgno_t *pPgno) {
if
(
0
)
{
// TODO: allocate from the free list
}
else
{
pgno
=
++
pPgFile
->
dbNewSize
;
pgno
=
++
(
pPgFile
->
lsize
)
;
}
*
pPgno
=
pgno
;
...
...
source/libs/tdb/src/inc/tdbPgFile.h
浏览文件 @
4b5f00ca
...
...
@@ -36,9 +36,9 @@ struct SPgFile {
TENV
*
pEnv
;
// env containing this page file
char
*
fname
;
// backend file name
uint8_t
fileid
[
TDB_FILE_ID_LEN
];
// file id
pgno_t
lsize
;
// page file logical size (for count)
pgno_t
fsize
;
// real file size on disk (for rollback)
int
fd
;
pgno_t
dbSize
;
pgno_t
dbNewSize
;
SPgFileListNode
envHash
;
SPgFileListNode
envPgfList
;
};
...
...
@@ -46,7 +46,6 @@ struct SPgFile {
int
pgFileOpen
(
SPgFile
**
ppPgFile
,
const
char
*
fname
,
TENV
*
pEnv
);
int
pgFileClose
(
SPgFile
*
pPgFile
);
SPage
*
pgFileFetch
(
SPgFile
*
pPgFile
,
pgno_t
pgno
);
int
pgFileRelease
(
SPage
*
pPage
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录