Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
52576071
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看板
提交
52576071
编写于
3月 15, 2023
作者:
H
Haojun Liao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor: do some internal refactor.
上级
253a7608
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
15 addition
and
17 deletion
+15
-17
source/dnode/vnode/src/meta/metaCache.c
source/dnode/vnode/src/meta/metaCache.c
+15
-17
未找到文件。
source/dnode/vnode/src/meta/metaCache.c
浏览文件 @
52576071
...
@@ -455,6 +455,20 @@ static int checkAllEntriesInCache(const STagFilterResEntry* pEntry, SArray* pInv
...
@@ -455,6 +455,20 @@ static int checkAllEntriesInCache(const STagFilterResEntry* pEntry, SArray* pInv
return
0
;
return
0
;
}
}
static
FORCE_INLINE
void
setMD5DigestInKey
(
uint64_t
*
pBuf
,
const
char
*
key
,
int32_t
keyLen
)
{
// ASSERT(keyLen == sizeof(int64_t) * 2);
memcpy
(
&
pBuf
[
2
],
key
,
keyLen
);
}
// the format of key:
// hash table address(8bytes) + suid(8bytes) + MD5 digest(16bytes)
static
void
initCacheKey
(
uint64_t
*
buf
,
const
SHashObj
*
pHashMap
,
uint64_t
suid
,
const
char
*
key
,
int32_t
keyLen
)
{
buf
[
0
]
=
(
uint64_t
)
pHashMap
;
buf
[
1
]
=
suid
;
setMD5DigestInKey
(
buf
,
key
,
keyLen
);
ASSERT
(
keyLen
==
sizeof
(
uint64_t
)
*
2
);
}
int32_t
metaGetCachedTableUidList
(
SMeta
*
pMeta
,
tb_uid_t
suid
,
const
uint8_t
*
pKey
,
int32_t
keyLen
,
SArray
*
pList1
,
int32_t
metaGetCachedTableUidList
(
SMeta
*
pMeta
,
tb_uid_t
suid
,
const
uint8_t
*
pKey
,
int32_t
keyLen
,
SArray
*
pList1
,
bool
*
acquireRes
)
{
bool
*
acquireRes
)
{
int32_t
vgId
=
TD_VID
(
pMeta
->
pVnode
);
int32_t
vgId
=
TD_VID
(
pMeta
->
pVnode
);
...
@@ -466,9 +480,7 @@ int32_t metaGetCachedTableUidList(SMeta* pMeta, tb_uid_t suid, const uint8_t* pK
...
@@ -466,9 +480,7 @@ int32_t metaGetCachedTableUidList(SMeta* pMeta, tb_uid_t suid, const uint8_t* pK
*
acquireRes
=
0
;
*
acquireRes
=
0
;
uint64_t
key
[
4
];
uint64_t
key
[
4
];
key
[
0
]
=
(
uint64_t
)
pTableMap
;
initCacheKey
(
key
,
pTableMap
,
suid
,
(
const
char
*
)
pKey
,
keyLen
);
key
[
1
]
=
suid
;
memcpy
(
&
key
[
2
],
pKey
,
keyLen
);
taosThreadMutexLock
(
pLock
);
taosThreadMutexLock
(
pLock
);
pMeta
->
pCache
->
sTagFilterResCache
.
accTimes
+=
1
;
pMeta
->
pCache
->
sTagFilterResCache
.
accTimes
+=
1
;
...
@@ -559,20 +571,6 @@ static int32_t addNewEntry(SHashObj* pTableEntry, const void* pKey, int32_t keyL
...
@@ -559,20 +571,6 @@ static int32_t addNewEntry(SHashObj* pTableEntry, const void* pKey, int32_t keyL
return
0
;
return
0
;
}
}
static
FORCE_INLINE
void
setMD5DigestInKey
(
uint64_t
*
pBuf
,
const
char
*
key
,
int32_t
keyLen
)
{
// ASSERT(keyLen == sizeof(int64_t) * 2);
memcpy
(
&
pBuf
[
2
],
key
,
keyLen
);
}
// the format of key:
// hash table address(8bytes) + suid(8bytes) + MD5 digest(16bytes)
static
void
initCacheKey
(
uint64_t
*
buf
,
const
SHashObj
*
pHashMap
,
uint64_t
suid
,
const
char
*
key
,
int32_t
keyLen
)
{
buf
[
0
]
=
(
uint64_t
)
pHashMap
;
buf
[
1
]
=
suid
;
setMD5DigestInKey
(
buf
,
key
,
keyLen
);
ASSERT
(
keyLen
==
sizeof
(
uint64_t
)
*
2
);
}
// check both the payload size and selectivity ratio
// check both the payload size and selectivity ratio
int32_t
metaUidFilterCachePut
(
SMeta
*
pMeta
,
uint64_t
suid
,
const
void
*
pKey
,
int32_t
keyLen
,
void
*
pPayload
,
int32_t
metaUidFilterCachePut
(
SMeta
*
pMeta
,
uint64_t
suid
,
const
void
*
pKey
,
int32_t
keyLen
,
void
*
pPayload
,
int32_t
payloadLen
,
double
selectivityRatio
)
{
int32_t
payloadLen
,
double
selectivityRatio
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录