Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
TDengine
提交
f2eb4100
T
TDengine
项目概览
慢慢CG
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
f2eb4100
编写于
10月 13, 2020
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor more code
上级
be7aaccb
变更
4
展开全部
隐藏空白更改
内联
并排
Showing
4 changed file
with
130 addition
and
130 deletion
+130
-130
src/tsdb/inc/tsdbMain.h
src/tsdb/inc/tsdbMain.h
+6
-6
src/tsdb/src/tsdbMain.c
src/tsdb/src/tsdbMain.c
+1
-1
src/tsdb/src/tsdbRWHelper.c
src/tsdb/src/tsdbRWHelper.c
+109
-109
src/tsdb/src/tsdbRead.c
src/tsdb/src/tsdbRead.c
+14
-14
未找到文件。
src/tsdb/inc/tsdbMain.h
浏览文件 @
f2eb4100
...
...
@@ -229,7 +229,7 @@ typedef struct {
uint32_t
numOfBlocks
:
30
;
uint64_t
uid
;
TSKEY
maxKey
;
}
S
Comp
Idx
;
}
S
Block
Idx
;
typedef
struct
{
int64_t
last
:
1
;
...
...
@@ -288,7 +288,7 @@ typedef struct {
}
SHelperTable
;
typedef
struct
{
S
Comp
Idx
*
pIdxArray
;
S
Block
Idx
*
pIdxArray
;
int
numOfIdx
;
int
curIdx
;
}
SIdxH
;
...
...
@@ -301,7 +301,7 @@ typedef struct {
// For file set usage
SHelperFile
files
;
SIdxH
idxH
;
S
Comp
Idx
curCompIdx
;
S
Block
Idx
curCompIdx
;
void
*
pWIdx
;
// For table set usage
SHelperTable
tableInfo
;
...
...
@@ -318,7 +318,7 @@ typedef struct {
typedef
struct
{
SFileGroup
fGroup
;
int
numOfIdx
;
S
Comp
Idx
*
pCompIdx
;
S
Block
Idx
*
pCompIdx
;
SBlockInfo
*
pCompInfo
;
void
*
pBuf
;
FILE
*
tLogStream
;
...
...
@@ -521,9 +521,9 @@ int tsdbMoveLastBlockIfNeccessary(SRWHelper* pHelper);
int
tsdbWriteCompInfo
(
SRWHelper
*
pHelper
);
int
tsdbWriteCompIdx
(
SRWHelper
*
pHelper
);
int
tsdbLoadCompIdxImpl
(
SFile
*
pFile
,
uint32_t
offset
,
uint32_t
len
,
void
*
buffer
);
int
tsdbDecodeSCompIdxImpl
(
void
*
buffer
,
uint32_t
len
,
S
Comp
Idx
**
ppCompIdx
,
int
*
numOfIdx
);
int
tsdbDecodeSCompIdxImpl
(
void
*
buffer
,
uint32_t
len
,
S
Block
Idx
**
ppCompIdx
,
int
*
numOfIdx
);
int
tsdbLoadCompIdx
(
SRWHelper
*
pHelper
,
void
*
target
);
int
tsdbLoadCompInfoImpl
(
SFile
*
pFile
,
S
Comp
Idx
*
pIdx
,
SBlockInfo
**
ppCompInfo
);
int
tsdbLoadCompInfoImpl
(
SFile
*
pFile
,
S
Block
Idx
*
pIdx
,
SBlockInfo
**
ppCompInfo
);
int
tsdbLoadCompInfo
(
SRWHelper
*
pHelper
,
void
*
target
);
int
tsdbLoadCompData
(
SRWHelper
*
phelper
,
SBlock
*
pcompblock
,
void
*
target
);
void
tsdbGetDataStatis
(
SRWHelper
*
pHelper
,
SDataStatis
*
pStatis
,
int
numOfCols
);
...
...
src/tsdb/src/tsdbMain.c
浏览文件 @
f2eb4100
...
...
@@ -782,7 +782,7 @@ static int tsdbRestoreInfo(STsdbRepo *pRepo) {
STable
*
pTable
=
pMeta
->
tables
[
i
];
if
(
pTable
==
NULL
)
continue
;
if
(
tsdbSetHelperTable
(
&
rhelper
,
pTable
,
pRepo
)
<
0
)
goto
_err
;
S
Comp
Idx
*
pIdx
=
&
(
rhelper
.
curCompIdx
);
S
Block
Idx
*
pIdx
=
&
(
rhelper
.
curCompIdx
);
if
(
pIdx
->
offset
>
0
&&
pTable
->
lastKey
<
pIdx
->
maxKey
)
pTable
->
lastKey
=
pIdx
->
maxKey
;
}
...
...
src/tsdb/src/tsdbRWHelper.c
浏览文件 @
f2eb4100
此差异已折叠。
点击以展开。
src/tsdb/src/tsdbRead.c
浏览文件 @
f2eb4100
...
...
@@ -69,7 +69,7 @@ typedef struct STableCheckInfo {
STableId
tableId
;
TSKEY
lastKey
;
STable
*
pTableObj
;
S
Comp
Info
*
pCompInfo
;
S
Block
Info
*
pCompInfo
;
int32_t
compSize
;
int32_t
numOfBlocks
;
// number of qualified data blocks not the original blocks
SDataCols
*
pDataCols
;
...
...
@@ -80,7 +80,7 @@ typedef struct STableCheckInfo {
}
STableCheckInfo
;
typedef
struct
STableBlockInfo
{
S
Comp
Block
*
compBlock
;
SBlock
*
compBlock
;
STableCheckInfo
*
pTableCheckInfo
;
}
STableBlockInfo
;
...
...
@@ -136,7 +136,7 @@ typedef struct STableGroupSupporter {
static
STimeWindow
changeTableGroupByLastrow
(
STableGroupInfo
*
groupList
);
static
void
changeQueryHandleForInterpQuery
(
TsdbQueryHandleT
pHandle
);
static
void
doMergeTwoLevelData
(
STsdbQueryHandle
*
pQueryHandle
,
STableCheckInfo
*
pCheckInfo
,
S
Comp
Block
*
pBlock
);
static
void
doMergeTwoLevelData
(
STsdbQueryHandle
*
pQueryHandle
,
STableCheckInfo
*
pCheckInfo
,
SBlock
*
pBlock
);
static
int32_t
binarySearchForKey
(
char
*
pValue
,
int
num
,
TSKEY
key
,
int
order
);
static
int
tsdbReadRowsFromCache
(
STableCheckInfo
*
pCheckInfo
,
TSKEY
maxKey
,
int
maxRowsToRead
,
STimeWindow
*
win
,
STsdbQueryHandle
*
pQueryHandle
);
...
...
@@ -585,7 +585,7 @@ static int32_t getFileIdFromKey(TSKEY key, int32_t daysPerFile, int32_t precisio
return
(
int32_t
)
fid
;
}
static
int32_t
binarySearchForBlock
(
S
Comp
Block
*
pBlock
,
int32_t
numOfBlocks
,
TSKEY
skey
,
int32_t
order
)
{
static
int32_t
binarySearchForBlock
(
SBlock
*
pBlock
,
int32_t
numOfBlocks
,
TSKEY
skey
,
int32_t
order
)
{
int32_t
firstSlot
=
0
;
int32_t
lastSlot
=
numOfBlocks
-
1
;
...
...
@@ -628,7 +628,7 @@ static int32_t getFileCompInfo(STsdbQueryHandle* pQueryHandle, int32_t* numOfBlo
break
;
}
S
Comp
Idx
*
compIndex
=
&
pQueryHandle
->
rhelper
.
curCompIdx
;
S
Block
Idx
*
compIndex
=
&
pQueryHandle
->
rhelper
.
curCompIdx
;
// no data block in this file, try next file
if
(
compIndex
->
len
==
0
||
compIndex
->
numOfBlocks
==
0
||
compIndex
->
uid
!=
pCheckInfo
->
tableId
.
uid
)
{
...
...
@@ -645,12 +645,12 @@ static int32_t getFileCompInfo(STsdbQueryHandle* pQueryHandle, int32_t* numOfBlo
break
;
}
pCheckInfo
->
pCompInfo
=
(
S
Comp
Info
*
)
t
;
pCheckInfo
->
pCompInfo
=
(
S
Block
Info
*
)
t
;
pCheckInfo
->
compSize
=
compIndex
->
len
;
}
tsdbLoadCompInfo
(
&
(
pQueryHandle
->
rhelper
),
(
void
*
)(
pCheckInfo
->
pCompInfo
));
S
Comp
Info
*
pCompInfo
=
pCheckInfo
->
pCompInfo
;
S
Block
Info
*
pCompInfo
=
pCheckInfo
->
pCompInfo
;
TSKEY
s
=
TSKEY_INITIAL_VAL
,
e
=
TSKEY_INITIAL_VAL
;
...
...
@@ -679,7 +679,7 @@ static int32_t getFileCompInfo(STsdbQueryHandle* pQueryHandle, int32_t* numOfBlo
pCheckInfo
->
numOfBlocks
=
(
end
-
start
);
if
(
start
>
0
)
{
memmove
(
pCompInfo
->
blocks
,
&
pCompInfo
->
blocks
[
start
],
pCheckInfo
->
numOfBlocks
*
sizeof
(
S
Comp
Block
));
memmove
(
pCompInfo
->
blocks
,
&
pCompInfo
->
blocks
[
start
],
pCheckInfo
->
numOfBlocks
*
sizeof
(
SBlock
));
}
(
*
numOfBlocks
)
+=
pCheckInfo
->
numOfBlocks
;
...
...
@@ -688,7 +688,7 @@ static int32_t getFileCompInfo(STsdbQueryHandle* pQueryHandle, int32_t* numOfBlo
return
code
;
}
static
int32_t
doLoadFileDataBlock
(
STsdbQueryHandle
*
pQueryHandle
,
S
Comp
Block
*
pBlock
,
STableCheckInfo
*
pCheckInfo
,
int32_t
slotIndex
)
{
static
int32_t
doLoadFileDataBlock
(
STsdbQueryHandle
*
pQueryHandle
,
SBlock
*
pBlock
,
STableCheckInfo
*
pCheckInfo
,
int32_t
slotIndex
)
{
STsdbRepo
*
pRepo
=
pQueryHandle
->
pTsdb
;
int64_t
st
=
taosGetTimestampUs
();
...
...
@@ -766,7 +766,7 @@ static void moveDataToFront(STsdbQueryHandle* pQueryHandle, int32_t numOfRows, i
static
void
doCheckGeneratedBlockRange
(
STsdbQueryHandle
*
pQueryHandle
);
static
void
copyAllRemainRowsFromFileBlock
(
STsdbQueryHandle
*
pQueryHandle
,
STableCheckInfo
*
pCheckInfo
,
SDataBlockInfo
*
pBlockInfo
,
int32_t
endPos
);
static
int32_t
handleDataMergeIfNeeded
(
STsdbQueryHandle
*
pQueryHandle
,
S
Comp
Block
*
pBlock
,
STableCheckInfo
*
pCheckInfo
){
static
int32_t
handleDataMergeIfNeeded
(
STsdbQueryHandle
*
pQueryHandle
,
SBlock
*
pBlock
,
STableCheckInfo
*
pCheckInfo
){
SQueryFilePos
*
cur
=
&
pQueryHandle
->
cur
;
SDataBlockInfo
binfo
=
GET_FILE_DATA_BLOCK_INFO
(
pCheckInfo
,
pBlock
);
int32_t
code
=
TSDB_CODE_SUCCESS
;
...
...
@@ -848,7 +848,7 @@ static int32_t handleDataMergeIfNeeded(STsdbQueryHandle* pQueryHandle, SCompBloc
return
code
;
}
static
int32_t
loadFileDataBlock
(
STsdbQueryHandle
*
pQueryHandle
,
S
Comp
Block
*
pBlock
,
STableCheckInfo
*
pCheckInfo
,
bool
*
exists
)
{
static
int32_t
loadFileDataBlock
(
STsdbQueryHandle
*
pQueryHandle
,
SBlock
*
pBlock
,
STableCheckInfo
*
pCheckInfo
,
bool
*
exists
)
{
SQueryFilePos
*
cur
=
&
pQueryHandle
->
cur
;
int32_t
code
=
TSDB_CODE_SUCCESS
;
...
...
@@ -1255,7 +1255,7 @@ int32_t getEndPosInDataBlock(STsdbQueryHandle* pQueryHandle, SDataBlockInfo* pBl
// only return the qualified data to client in terms of query time window, data rows in the same block but do not
// be included in the query time window will be discarded
static
void
doMergeTwoLevelData
(
STsdbQueryHandle
*
pQueryHandle
,
STableCheckInfo
*
pCheckInfo
,
S
Comp
Block
*
pBlock
)
{
static
void
doMergeTwoLevelData
(
STsdbQueryHandle
*
pQueryHandle
,
STableCheckInfo
*
pCheckInfo
,
SBlock
*
pBlock
)
{
SQueryFilePos
*
cur
=
&
pQueryHandle
->
cur
;
SDataBlockInfo
blockInfo
=
GET_FILE_DATA_BLOCK_INFO
(
pCheckInfo
,
pBlock
);
...
...
@@ -1534,7 +1534,7 @@ static int32_t createDataBlocksInfo(STsdbQueryHandle* pQueryHandle, int32_t numO
continue
;
}
S
Comp
Block
*
pBlock
=
pTableCheck
->
pCompInfo
->
blocks
;
SBlock
*
pBlock
=
pTableCheck
->
pCompInfo
->
blocks
;
sup
.
numOfBlocksPerTable
[
numOfQualTables
]
=
pTableCheck
->
numOfBlocks
;
char
*
buf
=
calloc
(
1
,
sizeof
(
STableBlockInfo
)
*
pTableCheck
->
numOfBlocks
);
...
...
@@ -2238,7 +2238,7 @@ SArray* tsdbRetrieveDataBlock(TsdbQueryHandleT* pQueryHandle, SArray* pIdList) {
pBlockLoadInfo
->
tid
==
pCheckInfo
->
pTableObj
->
tableId
.
tid
)
{
return
pHandle
->
pColumns
;
}
else
{
// only load the file block
S
Comp
Block
*
pBlock
=
pBlockInfo
->
compBlock
;
SBlock
*
pBlock
=
pBlockInfo
->
compBlock
;
if
(
doLoadFileDataBlock
(
pHandle
,
pBlock
,
pCheckInfo
,
pHandle
->
cur
.
slot
)
!=
TSDB_CODE_SUCCESS
)
{
return
NULL
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录