Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
55c010dd
T
TDengine
项目概览
taosdata
/
TDengine
11 个月 前同步成功
通知
1179
Star
22014
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
55c010dd
编写于
5月 25, 2022
作者:
C
Cary Xu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: code optimization
上级
80d780eb
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
0 addition
and
61 deletion
+0
-61
source/dnode/vnode/src/tsdb/tsdbDelete.c
source/dnode/vnode/src/tsdb/tsdbDelete.c
+0
-61
未找到文件。
source/dnode/vnode/src/tsdb/tsdbDelete.c
已删除
100644 → 0
浏览文件 @
80d780eb
/*
* Copyright (c) 2019 TAOS Data, Inc. <jhtao@taosdata.com>
*
* This program is free software: you can use, redistribute, and/or modify
* it under the terms of the GNU Affero General Public License, version 3
* or later ("AGPL"), as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "tsdb.h"
typedef
struct
STombStoneItem
STombStoneItem
;
typedef
struct
STombStones
STombStones
;
struct
STombStones
{
TdThreadRwlock
lock
;
SHashObj
*
pTmStones
;
// key: uid, value: tombstone items sorted by version
T_REF_DECLARE
()
};
struct
STombStoneItem
{
int64_t
tbUid
;
// child/normal table
int64_t
version
;
int64_t
gversion
;
// global unique version assigned by mnode
SArray
*
tsFilters
;
};
// SBlock 中除了原有的 keyFirst/keyLast,应该不再需要记录 versionMin 和 versionMax
// 因为在查询时,新到的 query 的 version,一定大于原有写入的数据 version。
// mem [ts1:v200, ts1:v201, ts2:v300,ts2:v310,ts2:320, ts5:400,ts5:v500,ts6:v600, ts7:v700, ts8:v800]
// imem [ts2:80,ts2:v90,ts2:v100]
// file [blk1: ts1:v10,ts1:v11,ts2:v20,ts2:v21
[
blk2
:
ts2
:
v30
,
ts2
:
v31
,
ts2
:
v35
[
blk3
:
ts2
:
v40
,
ts2
:
v45
,
ts2
:
v50
,
ts3
:
v60
,
ts4
:
v70
// delete [ctb1, ts2-ts5:v315]
// [ctb1, ts5:v450]
// [ctb1, ts6:v550]
// 根据 delete version, 逆序过滤。
// sql: select * from ctb1 where ts < ts8 and ts > ts1; // query version = 460;
int32_t
tsdbLoadBlockDataMV
(
SFileBlockIter
*
pBlockIter
,
SMemIter
*
pMemIter
,
SDataCols
*
pTarget
,
SArray
*
pTmStoneArray
,
int64_t
queryVersion
){
// 首先,query executor 根据 查询的 ts 范围,找到最后一条记录的位置。
// 1) 有可能只在 mem/imem
// 2) 有可能只在 某一个文件
// 3) 有可能 mem/imem 和 文件中均包含。
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录