Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
bc693f37
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看板
提交
bc693f37
编写于
12月 23, 2022
作者:
dengyihao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
opt index write
上级
71bbc4fd
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
6 addition
and
3 deletion
+6
-3
source/libs/index/inc/indexFstFile.h
source/libs/index/inc/indexFstFile.h
+2
-1
source/libs/index/src/indexFstFile.c
source/libs/index/src/indexFstFile.c
+4
-2
未找到文件。
source/libs/index/inc/indexFstFile.h
浏览文件 @
bc693f37
...
@@ -45,8 +45,9 @@ typedef struct IFileCtx {
...
@@ -45,8 +45,9 @@ typedef struct IFileCtx {
char
buf
[
256
];
char
buf
[
256
];
int64_t
size
;
int64_t
size
;
char
wBuf
[
4096
]
;
char
*
wBuf
;
int32_t
wBufOffset
;
int32_t
wBufOffset
;
int32_t
wBufCap
;
#ifdef USE_MMAP
#ifdef USE_MMAP
char
*
ptr
;
char
*
ptr
;
...
...
source/libs/index/src/indexFstFile.c
浏览文件 @
bc693f37
...
@@ -40,7 +40,7 @@ static FORCE_INLINE void idxGenLRUKey(char* buf, const char* path, int32_t block
...
@@ -40,7 +40,7 @@ static FORCE_INLINE void idxGenLRUKey(char* buf, const char* path, int32_t block
static
FORCE_INLINE
int
idxFileCtxDoWrite
(
IFileCtx
*
ctx
,
uint8_t
*
buf
,
int
len
)
{
static
FORCE_INLINE
int
idxFileCtxDoWrite
(
IFileCtx
*
ctx
,
uint8_t
*
buf
,
int
len
)
{
int
tlen
=
len
;
int
tlen
=
len
;
if
(
ctx
->
type
==
TFILE
)
{
if
(
ctx
->
type
==
TFILE
)
{
int32_t
cap
=
sizeof
(
ctx
->
file
.
wBuf
)
;
int32_t
cap
=
ctx
->
file
.
wBufCap
;
if
(
len
+
ctx
->
file
.
wBufOffset
>=
cap
)
{
if
(
len
+
ctx
->
file
.
wBufOffset
>=
cap
)
{
int32_t
nw
=
cap
-
ctx
->
file
.
wBufOffset
;
int32_t
nw
=
cap
-
ctx
->
file
.
wBufOffset
;
memcpy
(
ctx
->
file
.
wBuf
+
ctx
->
file
.
wBufOffset
,
buf
,
nw
);
memcpy
(
ctx
->
file
.
wBuf
+
ctx
->
file
.
wBufOffset
,
buf
,
nw
);
...
@@ -193,8 +193,9 @@ IFileCtx* idxFileCtxCreate(WriterType type, const char* path, bool readOnly, int
...
@@ -193,8 +193,9 @@ IFileCtx* idxFileCtxCreate(WriterType type, const char* path, bool readOnly, int
taosFtruncateFile
(
ctx
->
file
.
pFile
,
0
);
taosFtruncateFile
(
ctx
->
file
.
pFile
,
0
);
taosStatFile
(
path
,
&
ctx
->
file
.
size
,
NULL
);
taosStatFile
(
path
,
&
ctx
->
file
.
size
,
NULL
);
memset
(
ctx
->
file
.
wBuf
,
0
,
sizeof
(
ctx
->
file
.
wBuf
));
ctx
->
file
.
wBufOffset
=
0
;
ctx
->
file
.
wBufOffset
=
0
;
ctx
->
file
.
wBufCap
=
kBlockSize
*
4
;
ctx
->
file
.
wBuf
=
taosMemoryCalloc
(
1
,
ctx
->
file
.
wBufCap
);
}
else
{
}
else
{
ctx
->
file
.
pFile
=
taosOpenFile
(
path
,
TD_FILE_READ
);
ctx
->
file
.
pFile
=
taosOpenFile
(
path
,
TD_FILE_READ
);
taosFStatFile
(
ctx
->
file
.
pFile
,
&
ctx
->
file
.
size
,
NULL
);
taosFStatFile
(
ctx
->
file
.
pFile
,
&
ctx
->
file
.
size
,
NULL
);
...
@@ -239,6 +240,7 @@ void idxFileCtxDestroy(IFileCtx* ctx, bool remove) {
...
@@ -239,6 +240,7 @@ void idxFileCtxDestroy(IFileCtx* ctx, bool remove) {
ctx
->
file
.
wBufOffset
=
0
;
ctx
->
file
.
wBufOffset
=
0
;
}
}
ctx
->
flush
(
ctx
);
ctx
->
flush
(
ctx
);
taosMemoryFreeClear
(
ctx
->
file
.
wBuf
);
taosCloseFile
(
&
ctx
->
file
.
pFile
);
taosCloseFile
(
&
ctx
->
file
.
pFile
);
if
(
ctx
->
file
.
readOnly
)
{
if
(
ctx
->
file
.
readOnly
)
{
#ifdef USE_MMAP
#ifdef USE_MMAP
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录