Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
5c1cad5a
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看板
提交
5c1cad5a
编写于
2月 15, 2022
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
more TDB
上级
c9cd5fce
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
23 addition
and
6 deletion
+23
-6
source/libs/tdb/src/db/tdbEnv.c
source/libs/tdb/src/db/tdbEnv.c
+11
-0
source/libs/tdb/src/db/tdbPgFile.c
source/libs/tdb/src/db/tdbPgFile.c
+5
-2
source/libs/tdb/src/inc/tdbEnv.h
source/libs/tdb/src/inc/tdbEnv.h
+1
-0
source/libs/tdb/src/inc/tdbInt.h
source/libs/tdb/src/inc/tdbInt.h
+1
-0
source/libs/tdb/src/inc/tdbPgFile.h
source/libs/tdb/src/inc/tdbPgFile.h
+5
-4
未找到文件。
source/libs/tdb/src/db/tdbEnv.c
浏览文件 @
5c1cad5a
...
...
@@ -23,6 +23,8 @@ struct STDbEnv {
SPgFileList
pgfList
;
// SPgFile List
SPgCache
*
pPgCache
;
// page cache
struct
{
#define TDB_ENV_PGF_HASH_BUCKETS 17
SPgFileList
buckets
[
TDB_ENV_PGF_HASH_BUCKETS
];
}
pgfht
;
// page file hash table;
SJournal
*
pJournal
;
};
...
...
@@ -128,3 +130,12 @@ int tdbEnvCommit(TENV *pEnv) {
}
const
char
*
tdbEnvGetRootDir
(
TENV
*
pEnv
)
{
return
pEnv
->
rootDir
;
}
int
tdbEnvRgstPageFile
(
TENV
*
pEnv
,
SPgFile
*
pPgFile
)
{
SPgFileList
*
pBucket
;
pBucket
=
pEnv
->
pgfht
.
buckets
+
(
0
%
TDB_ENV_PGF_HASH_BUCKETS
);
// TODO
TD_DLIST_APPEND_WITH_FIELD
(
pBucket
,
pPgFile
,
envHash
);
return
0
;
}
\ No newline at end of file
source/libs/tdb/src/db/tdbPgFile.c
浏览文件 @
5c1cad5a
...
...
@@ -34,7 +34,6 @@ int pgFileOpen(SPgFile **ppPgFile, const char *fname, TENV *pEnv) {
ASSERT
(
pEnv
!=
NULL
);
// init the handle
pPgFile
->
pEnv
=
pEnv
;
pPgFile
->
fname
=
(
char
*
)(
&
(
pPgFile
[
1
]));
memcpy
(
pPgFile
->
fname
,
fname
,
fnameLen
);
pPgFile
->
fname
[
fnameLen
]
=
'\0'
;
...
...
@@ -48,7 +47,11 @@ int pgFileOpen(SPgFile **ppPgFile, const char *fname, TENV *pEnv) {
tdbGnrtFileID
(
fname
,
pPgFile
->
fileid
,
false
);
/* TODO */
/* TODO: other open operations */
// add the page file to the environment
tdbEnvRgstPageFile
(
pEnv
,
pPgFile
);
pPgFile
->
pEnv
=
pEnv
;
*
ppPgFile
=
pPgFile
;
return
0
;
...
...
source/libs/tdb/src/inc/tdbEnv.h
浏览文件 @
5c1cad5a
...
...
@@ -23,6 +23,7 @@ extern "C" {
const
char
*
tdbEnvGetRootDir
(
TENV
*
pEnv
);
SPgFile
*
tdbEnvGetPageFile
(
TENV
*
pEnv
,
const
uint8_t
fileid
[]);
SPgCache
*
tdbEnvGetPgCache
(
TENV
*
pEnv
);
int
tdbEnvRgstPageFile
(
TENV
*
pEnv
,
SPgFile
*
pPgFile
);
#ifdef __cplusplus
}
...
...
source/libs/tdb/src/inc/tdbInt.h
浏览文件 @
5c1cad5a
...
...
@@ -84,6 +84,7 @@ typedef pgsz_t pgoff_t;
typedef
TD_DLIST
(
STDb
)
STDbList
;
typedef
TD_DLIST
(
SPgFile
)
SPgFileList
;
typedef
TD_DLIST_NODE
(
SPgFile
)
SPgFileListNode
;
#define TERR_A(val, op, flag) \
do { \
...
...
source/libs/tdb/src/inc/tdbPgFile.h
浏览文件 @
5c1cad5a
...
...
@@ -33,10 +33,11 @@ typedef struct __attribute__((__packed__)) {
TDB_STATIC_ASSERT
(
sizeof
(
SPgFileHdr
)
==
TDB_PG_FILE_HDR_SIZE
,
"Page file header size if not 128"
);
struct
SPgFile
{
TENV
*
pEnv
;
// env containing this page file
char
*
fname
;
// backend file name
uint8_t
fileid
[
TDB_FILE_ID_LEN
];
// file id
int
fd
;
TENV
*
pEnv
;
// env containing this page file
char
*
fname
;
// backend file name
uint8_t
fileid
[
TDB_FILE_ID_LEN
];
// file id
int
fd
;
SPgFileListNode
envHash
;
// TDB * pDb; // For a SPgFile for multiple databases, this is the <dbname, pgno> mapping DB.
};
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录