Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
65366564
TDengine
项目概览
taosdata
/
TDengine
大约 1 年 前同步成功
通知
1185
Star
22015
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
65366564
编写于
12月 17, 2021
作者:
dengyihao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update index cache
上级
10a7547b
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
18 addition
and
1 deletion
+18
-1
source/libs/index/CMakeLists.txt
source/libs/index/CMakeLists.txt
+1
-0
source/libs/index/inc/index_cache.h
source/libs/index/inc/index_cache.h
+2
-0
source/libs/index/inc/index_fst.h
source/libs/index/inc/index_fst.h
+0
-1
source/libs/index/src/index_cache.c
source/libs/index/src/index_cache.c
+15
-0
未找到文件。
source/libs/index/CMakeLists.txt
浏览文件 @
65366564
...
...
@@ -9,6 +9,7 @@ target_link_libraries(
index
PUBLIC os
PUBLIC util
PUBLIC common
)
if
(
${
BUILD_WITH_LUCENE
}
)
...
...
source/libs/index/inc/index_cache.h
浏览文件 @
65366564
...
...
@@ -17,6 +17,7 @@
#include "index.h"
#include "tlockfree.h"
#include "tskiplist.h"
// ----------------- row structure in skiplist ---------------------
/* A data row, the format is like below:
...
...
@@ -30,6 +31,7 @@ extern "C" {
typedef
struct
IndexCache
{
T_REF_DECLARE
()
SSkipList
*
skiplist
;
}
IndexCache
;
...
...
source/libs/index/inc/index_fst.h
浏览文件 @
65366564
...
...
@@ -315,7 +315,6 @@ typedef struct StreamWithStateResult {
FstSlice
data
;
FstOutput
out
;
void
*
state
;
}
StreamWithStateResult
;
StreamWithStateResult
*
swsResultCreate
(
FstSlice
*
data
,
FstOutput
fOut
,
void
*
state
);
...
...
source/libs/index/src/index_cache.c
浏览文件 @
65366564
...
...
@@ -14,7 +14,13 @@
*/
#include "index_cache.h"
#include "tcompare.h"
#define MAX_INDEX_KEY_LEN 128 // test only, change later
static
char
*
getIndexKey
(
const
void
*
pData
)
{
return
NULL
;
}
static
int32_t
compareKey
(
const
void
*
l
,
const
void
*
r
)
{
char
*
lp
=
(
char
*
)
l
;
char
*
rp
=
(
char
*
)
r
;
...
...
@@ -85,10 +91,14 @@ static int32_t compareKey(const void *l, const void *r) {
}
IndexCache
*
indexCacheCreate
()
{
IndexCache
*
cache
=
calloc
(
1
,
sizeof
(
IndexCache
));
cache
->
skiplist
=
tSkipListCreate
(
MAX_SKIP_LIST_LEVEL
,
TSDB_DATA_TYPE_BINARY
,
MAX_INDEX_KEY_LEN
,
compareKey
,
SL_ALLOW_DUP_KEY
,
getIndexKey
);
return
cache
;
}
void
indexCacheDestroy
(
IndexCache
*
cache
)
{
if
(
cache
==
NULL
)
{
return
;
}
tSkipListDestroy
(
cache
->
skiplist
);
free
(
cache
);
}
...
...
@@ -96,6 +106,7 @@ int indexCachePut(IndexCache *cache, int16_t fieldId, int16_t fieldType, const c
uint32_t
version
,
uint64_t
uid
,
int8_t
operType
)
{
if
(
cache
==
NULL
)
{
return
-
1
;}
// encode data
int32_t
total
=
sizeof
(
int32_t
)
+
sizeof
(
fieldId
)
+
sizeof
(
fieldType
)
+
sizeof
(
fvLen
)
+
fvLen
+
sizeof
(
version
)
+
sizeof
(
uid
)
+
sizeof
(
operType
);
char
*
buf
=
calloc
(
1
,
total
);
...
...
@@ -123,6 +134,10 @@ int indexCachePut(IndexCache *cache, int16_t fieldId, int16_t fieldType, const c
memcpy
(
p
,
&
operType
,
sizeof
(
operType
));
p
+=
sizeof
(
operType
);
tSkipListPut
(
cache
->
skiplist
,
(
void
*
)
buf
);
// encode end
}
int
indexCacheDel
(
IndexCache
*
cache
,
int32_t
fieldId
,
const
char
*
fieldValue
,
int32_t
fvlen
,
uint64_t
uid
,
int8_t
operType
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录