Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
15b8a7f5
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看板
提交
15b8a7f5
编写于
11月 03, 2021
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
more
上级
27f465a8
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
86 addition
and
97 deletion
+86
-97
source/dnode/vnode/meta/src/metaCache.c
source/dnode/vnode/meta/src/metaCache.c
+12
-1
source/dnode/vnode/meta/src/metaDB.c
source/dnode/vnode/meta/src/metaDB.c
+1
-69
source/dnode/vnode/meta/src/metaIdx.c
source/dnode/vnode/meta/src/metaIdx.c
+28
-3
source/dnode/vnode/meta/src/metaMain.c
source/dnode/vnode/meta/src/metaMain.c
+45
-24
未找到文件。
source/dnode/vnode/meta/src/metaCache.c
浏览文件 @
15b8a7f5
...
...
@@ -18,9 +18,20 @@
int
metaOpenCache
(
SMeta
*
pMeta
)
{
// TODO
if
(
pMeta
->
options
.
lruCacheSize
)
{
pMeta
->
pCache
=
rocksdb_cache_create_lru
(
pMeta
->
options
.
lruCacheSize
);
if
(
pMeta
->
pCache
==
NULL
)
{
// TODO: handle error
return
-
1
;
}
}
return
0
;
}
void
metaCloseCache
(
SMeta
*
pMeta
)
{
// TODO
if
(
pMeta
->
pCache
)
{
rocksdb_cache_destroy
(
pMeta
->
pCache
);
pMeta
->
pCache
=
NULL
;
}
}
\ No newline at end of file
source/dnode/vnode/meta/src/metaDB.c
浏览文件 @
15b8a7f5
...
...
@@ -17,78 +17,10 @@
#include "metaDef.h"
int
metaOpenDB
(
SMeta
*
pMeta
)
{
#if 0
char * err = NULL;
rocksdb_options_t *dbOptions;
rocksdb_options_t *idxOptions;
/* TODO */
// Create LRU cache
if (pMeta->options.lruCacheSize) {
pMeta->metaDB.pCache = rocksdb_cache_create_lru(pMeta->options.lruCacheSize);
if (pMeta->metaDB.pCache == NULL) {
// TODO: handle error
return -1;
}
}
// Open raw data DB ---------------------------
dbOptions = rocksdb_options_create();
if (dbOptions == NULL) {
// TODO: handle error
return -1;
}
if (pMeta->metaDB.pCache) {
rocksdb_options_set_row_cache(dbOptions, pMeta->metaDB.pCache);
}
pMeta->metaDB.pDB = rocksdb_open(dbOptions, "db", &err);
if (pMeta->metaDB.pDB == NULL) {
// TODO: handle error
return -1;
}
rocksdb_options_destroy(dbOptions);
// Open index DB ---------------------------
idxOptions = rocksdb_options_create();
if (idxOptions == NULL) {
// TODO: handle error
return -1;
}
if (pMeta->metaDB.pCache) {
rocksdb_options_set_row_cache(dbOptions, pMeta->metaDB.pCache);
}
pMeta->metaDB.pIdx = rocksdb_open(idxOptions, "index", &err);
if (pMeta->metaDB.pIdx == NULL) {
// TODO: handle error
rocksdb_close(pMeta->metaDB.pDB);
return -1;
}
rocksdb_options_destroy(idxOptions);
#endif
return
0
;
}
void
metaCloseDB
(
SMeta
*
pMeta
)
{
/* TODO */
#if 0
// Close index DB
if (pMeta->metaDB.pIdx) {
rocksdb_close(pMeta->metaDB.pIdx);
}
// Close raw data DB
if (pMeta->metaDB.pDB) {
rocksdb_close(pMeta->metaDB.pDB);
}
// Destroy cache
if (pMeta->metaDB.pCache) {
rocksdb_cache_destroy(pMeta->metaDB.pCache);
}
#endif
}
\ No newline at end of file
source/dnode/vnode/meta/src/metaIdx.c
浏览文件 @
15b8a7f5
...
...
@@ -13,11 +13,36 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "metaIdx.h"
#include "meta.h"
#include "metaDef.h"
int
metaOpenIdx
(
SMeta
*
pMeta
)
{
/* TODO */
char
idxDir
[
128
];
// TODO
char
*
err
=
NULL
;
rocksdb_options_t
*
options
=
rocksdb_options_create
();
// TODO
sprintf
(
idxDir
,
"%s/index"
,
pMeta
->
path
);
if
(
pMeta
->
pCache
)
{
rocksdb_options_set_row_cache
(
options
,
pMeta
->
pCache
);
}
pMeta
->
pIdx
=
rocksdb_open
(
options
,
idxDir
,
&
err
);
if
(
pMeta
->
pIdx
==
NULL
)
{
// TODO: handle error
rocksdb_options_destroy
(
options
);
return
-
1
;
}
rocksdb_options_destroy
(
options
);
return
0
;
}
void
metaCloseIdx
(
SMeta
*
pMeta
)
{
/* TODO */
}
\ No newline at end of file
void
metaCloseIdx
(
SMeta
*
pMeta
)
{
/* TODO */
if
(
pMeta
->
pIdx
)
{
rocksdb_close
(
pMeta
->
pIdx
);
pMeta
->
pIdx
=
NULL
;
}
}
\ No newline at end of file
source/dnode/vnode/meta/src/metaMain.c
浏览文件 @
15b8a7f5
...
...
@@ -22,6 +22,8 @@
static
SMeta
*
metaNew
(
const
char
*
path
,
const
SMetaOptions
*
pMetaOptions
);
static
void
metaFree
(
SMeta
*
pMeta
);
static
int
metaOpenImpl
(
SMeta
*
pMeta
);
static
void
metaCloseImpl
(
SMeta
*
pMeta
);
SMeta
*
metaOpen
(
const
char
*
path
,
const
SMetaOptions
*
pMetaOptions
)
{
SMeta
*
pMeta
=
NULL
;
...
...
@@ -47,26 +49,9 @@ SMeta *metaOpen(const char *path, const SMetaOptions *pMetaOptions) {
// Create META path (TODO)
taosMkDir
(
path
);
// Open meta cache
if
(
metaOpenCache
(
pMeta
)
<
0
)
{
// TODO: handle error
return
NULL
;
}
// Open meta db
if
(
metaOpenDB
(
pMeta
)
<
0
)
{
// TODO: handle error
return
NULL
;
}
// Open meta index
if
(
metaOpenIdx
(
pMeta
)
<
0
)
{
// TODO: handle error
return
NULL
;
}
// Open meta table uid generator
if
(
metaOpenUidGnrt
(
pMeta
)
<
0
)
{
// Open meta
if
(
metaOpenImpl
(
pMeta
)
<
0
)
{
metaFree
(
pMeta
);
return
NULL
;
}
...
...
@@ -75,10 +60,7 @@ SMeta *metaOpen(const char *path, const SMetaOptions *pMetaOptions) {
void
metaClose
(
SMeta
*
pMeta
)
{
if
(
pMeta
)
{
metaCloseUidGnrt
(
pMeta
);
metaCloseIdx
(
pMeta
);
metaCloseDB
(
pMeta
);
metaCloseCache
(
pMeta
);
metaCloseImpl
(
pMeta
);
metaFree
(
pMeta
);
}
}
...
...
@@ -113,6 +95,45 @@ static void metaFree(SMeta *pMeta) {
}
}
static
int
metaOpenImpl
(
SMeta
*
pMeta
)
{
// Open meta cache
if
(
metaOpenCache
(
pMeta
)
<
0
)
{
// TODO: handle error
metaCloseImpl
(
pMeta
);
return
-
1
;
}
// Open meta db
if
(
metaOpenDB
(
pMeta
)
<
0
)
{
// TODO: handle error
metaCloseImpl
(
pMeta
);
return
-
1
;
}
// Open meta index
if
(
metaOpenIdx
(
pMeta
)
<
0
)
{
// TODO: handle error
metaCloseImpl
(
pMeta
);
return
-
1
;
}
// Open meta table uid generator
if
(
metaOpenUidGnrt
(
pMeta
)
<
0
)
{
// TODO: handle error
metaCloseImpl
(
pMeta
);
return
-
1
;
}
return
0
;
}
static
void
metaCloseImpl
(
SMeta
*
pMeta
)
{
metaCloseUidGnrt
(
pMeta
);
metaCloseIdx
(
pMeta
);
metaCloseDB
(
pMeta
);
metaCloseCache
(
pMeta
);
}
// OLD -------------------------------------------------------------------
#if 0
static int metaCreateSuperTable(SMeta *pMeta, const char *tbname, const SSuperTableOpts *pSuperTableOpts);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录