Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
7b353b57
T
TDengine
项目概览
taosdata
/
TDengine
大约 1 年 前同步成功
通知
1184
Star
22015
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,发现更多精彩内容 >>
提交
7b353b57
编写于
6月 21, 2022
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
more work
上级
6a50b2b4
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
57 addition
and
10 deletion
+57
-10
source/dnode/vnode/src/inc/tsdb.h
source/dnode/vnode/src/inc/tsdb.h
+7
-2
source/dnode/vnode/src/tsdb/tsdbUtil.c
source/dnode/vnode/src/tsdb/tsdbUtil.c
+50
-8
未找到文件。
source/dnode/vnode/src/inc/tsdb.h
浏览文件 @
7b353b57
...
...
@@ -81,7 +81,7 @@ void tsdbRowGetColVal(TSDBROW *pRow, STSchema *pTSchema, int32_t iCol, SColVa
int32_t
tPutTSDBRow
(
uint8_t
*
p
,
TSDBROW
*
pRow
);
int32_t
tGetTSDBRow
(
uint8_t
*
p
,
TSDBROW
*
pRow
);
// SRowIter
#define tRowIterInit(ROW, SCHEMA) ((SRowIter){.pRow = (ROW), .pSchema = (SCHEMA)})
void
tRowIterInit
(
SRowIter
*
pIter
,
TSDBROW
*
pRow
,
STSchema
*
pTSchema
);
SColVal
*
tRowIterNext
(
SRowIter
*
pIter
);
// TABLEID
int32_t
tTABLEIDCmprFn
(
const
void
*
p1
,
const
void
*
p2
);
...
...
@@ -114,6 +114,7 @@ int32_t tGetBlockIdx(uint8_t *p, void *ph);
void
tColDataReset
(
SColData
*
pColData
);
void
tColDataClear
(
void
*
ph
);
int32_t
tColDataAppendValue
(
SColData
*
pColData
,
SColVal
*
pColVal
);
void
tColDataGetValue
(
SColData
*
pColData
,
int32_t
iRow
,
SColVal
*
pColVal
);
int32_t
tColDataCmprFn
(
const
void
*
p1
,
const
void
*
p2
);
// SBlockData
int32_t
tBlockDataInit
(
SBlockData
*
pBlockData
);
...
...
@@ -449,22 +450,26 @@ struct SBlockDataHdr {
};
struct
SHeadFile
{
int64_t
commitID
;
int64_t
size
;
int64_t
offset
;
int32_t
nRef
;
};
struct
SDataFile
{
int64_t
commitID
;
int64_t
size
;
int32_t
nRef
;
};
struct
SLastFile
{
int64_t
commitID
;
int64_t
size
;
int32_t
nRef
;
};
struct
SSmaFile
{
int64_t
commitID
;
int64_t
size
;
int32_t
nRef
;
};
...
...
@@ -481,7 +486,7 @@ struct SDFileSet {
struct
SRowIter
{
TSDBROW
*
pRow
;
STSchema
*
pSchema
;
STSchema
*
p
T
Schema
;
SColVal
colVal
;
int32_t
i
;
};
...
...
source/dnode/vnode/src/tsdb/tsdbUtil.c
浏览文件 @
7b353b57
...
...
@@ -583,6 +583,43 @@ int32_t tGetTSDBRow(uint8_t *p, TSDBROW *pRow) {
return
n
;
}
// SRowIter ======================================================
void
tRowIterInit
(
SRowIter
*
pIter
,
TSDBROW
*
pRow
,
STSchema
*
pTSchema
)
{
pIter
->
pRow
=
pRow
;
if
(
pRow
->
type
==
0
)
{
ASSERT
(
pTSchema
);
pIter
->
pTSchema
=
pTSchema
;
pIter
->
i
=
1
;
}
else
if
(
pRow
->
type
==
1
)
{
pIter
->
pTSchema
=
NULL
;
pIter
->
i
=
0
;
}
else
{
ASSERT
(
0
);
}
}
SColVal
*
tRowIterNext
(
SRowIter
*
pIter
)
{
if
(
pIter
->
pRow
->
type
==
0
)
{
if
(
pIter
->
i
<
pIter
->
pTSchema
->
numOfCols
)
{
tsdbRowGetColVal
(
pIter
->
pRow
,
pIter
->
pTSchema
,
pIter
->
i
,
&
pIter
->
colVal
);
pIter
->
i
++
;
return
&
pIter
->
colVal
;
}
}
else
{
if
(
pIter
->
i
<
taosArrayGetSize
(
pIter
->
pRow
->
pBlockData
->
apColData
))
{
SColData
*
pColData
=
(
SColData
*
)
taosArrayGetP
(
pIter
->
pRow
->
pBlockData
->
apColData
,
pIter
->
i
);
tColDataGetValue
(
pColData
,
pIter
->
pRow
->
iRow
,
&
pIter
->
colVal
);
pIter
->
i
++
;
return
&
pIter
->
colVal
;
}
}
return
NULL
;
}
// delete skyline ======================================================
static
int32_t
tsdbMergeSkyline
(
SArray
*
aSkyline1
,
SArray
*
aSkyline2
,
SArray
*
aSkyline
)
{
int32_t
code
=
0
;
...
...
@@ -731,6 +768,10 @@ int32_t tColDataAppendValue(SColData *pColData, SColVal *pColVal) {
return
code
;
}
void
tColDataGetValue
(
SColData
*
pColData
,
int32_t
iRow
,
SColVal
*
pColVal
)
{
// TODO
}
int32_t
tColDataCmprFn
(
const
void
*
p1
,
const
void
*
p2
)
{
if
(((
SColData
*
)
p1
)
->
cid
<
((
SColData
*
)
p2
)
->
cid
)
{
return
-
1
;
...
...
@@ -834,14 +875,16 @@ int32_t tBlockDataAppendRow(SBlockData *pBlockData, TSDBROW *pRow, STSchema *pTS
pBlockData
->
aVersion
[
nRow
]
=
key
.
version
;
pBlockData
->
aTSKEY
[
nRow
]
=
key
.
ts
;
// OTHER
#if 0
int32_t iColData = 0;
int32_t nColData = taosArrayGetSize(pBlockData->apColData);
SRowIter ri = tRowIterInit(pRow, pTSchema);
// OTHER
int32_t
iColData
=
0
;
int32_t
nColData
=
taosArrayGetSize
(
pBlockData
->
apColData
);
SRowIter
ri
;
SColData
*
pColData
;
SColVal
*
pColVal
;
SColData *pColData = iColData < nColData ? (SColData *)taosArrayGetP(pBlockData->apColData, iColData) : NULL;
SColVal *pColVal = tRowIterNext(&ri);
tRowIterInit
(
&
ri
,
pRow
,
pTSchema
);
pColData
=
iColData
<
nColData
?
(
SColData
*
)
taosArrayGetP
(
pBlockData
->
apColData
,
iColData
)
:
NULL
;
pColVal
=
tRowIterNext
(
&
ri
);
while
(
true
)
{
if
(
pColData
&&
pColVal
)
{
if
(
pColData
->
cid
==
pColVal
->
cid
)
{
...
...
@@ -861,7 +904,6 @@ int32_t tBlockDataAppendRow(SBlockData *pBlockData, TSDBROW *pRow, STSchema *pTS
// add a new SColData and append value
}
}
#endif
return
code
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录