Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
bbc03a17
T
TDengine
项目概览
taosdata
/
TDengine
12 个月 前同步成功
通知
1180
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,发现更多精彩内容 >>
提交
bbc03a17
编写于
2月 19, 2022
作者:
H
Haojun Liao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[td-11818] refactor code.
上级
39c06f13
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
3 addition
and
108 deletion
+3
-108
source/libs/executor/inc/tsort.h
source/libs/executor/inc/tsort.h
+1
-1
source/libs/executor/src/executorimpl.c
source/libs/executor/src/executorimpl.c
+0
-103
source/libs/executor/src/tsort.c
source/libs/executor/src/tsort.c
+2
-0
source/libs/executor/test/executorTests.cpp
source/libs/executor/test/executorTests.cpp
+0
-4
未找到文件。
source/libs/executor/inc/tsort.h
浏览文件 @
bbc03a17
...
...
@@ -25,7 +25,7 @@ extern "C" {
enum
{
SORT_MULTIWAY_MERGE
=
0x1
,
SORT_SINGLESOURCE
=
0x2
,
SORT_SINGLESOURCE
=
0x2
,
};
typedef
struct
SMultiMergeSource
{
...
...
source/libs/executor/src/executorimpl.c
浏览文件 @
bbc03a17
...
...
@@ -5804,106 +5804,6 @@ static SSDataBlock* createDataBlock(const SSDataBlock* pDataBlock) {
return
pBlock
;
}
//static int32_t doAddNewExternalMemSource(SOrderOperatorInfo* pInfo, SArray* pAllSources, SSDataBlock* pBlock) {
// SExternalMemSource* pSource = calloc(1, sizeof(SExternalMemSource));
// if (pSource == NULL) {
// return TSDB_CODE_QRY_OUT_OF_MEMORY;
// }
//
// pSource->pageIdList = getDataBufPagesIdList(pInfo->pSortInternalBuf, pInfo->sourceId);
// pSource->src.pBlock = pBlock;
//
// taosArrayPush(pAllSources, &pSource);
//
// pInfo->sourceId += 1;
//
// int32_t rowSize = blockDataGetSerialRowSize(pSource->src.pBlock);
// int32_t numOfRows = (getBufPageSize(pInfo->pSortInternalBuf) - blockDataGetSerialMetaSize(pInfo->pDataBlock))/rowSize;
// return blockDataEnsureCapacity(pSource->src.pBlock, numOfRows);
//}
//static int32_t doAddNewOperatorSource(SArray* pAllSources, SSDataBlock* pBlock, int32_t capacity) {
// SOperatorSource* pSource = calloc(1, sizeof(SOperatorSource));
// if (pSource == NULL) {
// return TSDB_CODE_QRY_OUT_OF_MEMORY;
// }
//
// pSource->src.pBlock = pBlock;
// taosArrayPush(pAllSources, &pSource);
//
// return blockDataEnsureCapacity(pSource->src.pBlock, capacity);
//}
//void addToDiskbasedBuf(SOrderOperatorInfo* pInfo, SArray* pSources, jmp_buf env) {
// int32_t start = 0;
//
// while(start < pInfo->pDataBlock->info.rows) {
// int32_t stop = 0;
// blockDataSplitRows(pInfo->pDataBlock, pInfo->hasVarCol, start, &stop, getBufPageSize(pInfo->pSortInternalBuf));
// SSDataBlock* p = blockDataExtractBlock(pInfo->pDataBlock, start, stop - start + 1);
// if (p == NULL) {
// longjmp(env, TSDB_CODE_QRY_OUT_OF_MEMORY);
// }
//
// int32_t pageId = -1;
// SFilePage* pPage = getNewDataBuf(pInfo->pSortInternalBuf, pInfo->sourceId, &pageId);
// if (pPage == NULL) {
// assert(0);
// longjmp(env, terrno);
// }
//
// int32_t size = blockDataGetSize(p) + sizeof(int32_t) + p->info.numOfCols * sizeof(int32_t);
// assert(size <= getBufPageSize(pInfo->pSortInternalBuf));
//
// blockDataToBuf(pPage->data, p);
//
// setBufPageDirty(pPage, true);
// releaseBufPage(pInfo->pSortInternalBuf, pPage);
//
// blockDataDestroy(p);
// start = stop + 1;
// }
//
// int32_t numOfCols = pInfo->pDataBlock->info.numOfCols;
// blockDataClearup(pInfo->pDataBlock, pInfo->hasVarCol);
//
// SSDataBlock* pBlock = createDataBlock(pInfo->pDataBlock);
// int32_t code = doAddNewExternalMemSource(pInfo, pSources, pBlock);
// if (code != TSDB_CODE_SUCCESS) {
// longjmp(env, code);
// }
//}
static
int32_t
sortComparInit
(
SMsortComparParam
*
cmpParam
,
SArray
*
pSources
,
int32_t
startIndex
,
int32_t
endIndex
,
SDiskbasedBuf
*
pBuf
)
{
cmpParam
->
pSources
=
taosArrayGet
(
pSources
,
startIndex
);
cmpParam
->
numOfSources
=
(
endIndex
-
startIndex
+
1
);
for
(
int32_t
i
=
0
;
i
<
cmpParam
->
numOfSources
;
++
i
)
{
SExternalMemSource
*
pSource
=
cmpParam
->
pSources
[
i
];
SPageInfo
*
pPgInfo
=
*
(
SPageInfo
**
)
taosArrayGet
(
pSource
->
pageIdList
,
pSource
->
pageIndex
);
SFilePage
*
pPage
=
getBufPage
(
pBuf
,
getPageId
(
pPgInfo
));
int32_t
code
=
blockDataFromBuf
(
cmpParam
->
pSources
[
i
]
->
src
.
pBlock
,
pPage
->
data
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
return
code
;
}
releaseBufPage
(
pBuf
,
pPage
);
}
return
TSDB_CODE_SUCCESS
;
}
static
int32_t
sortComparClearup
(
SMsortComparParam
*
cmpParam
)
{
for
(
int32_t
i
=
0
;
i
<
cmpParam
->
numOfSources
;
++
i
)
{
SExternalMemSource
*
pSource
=
cmpParam
->
pSources
[
i
];
blockDataDestroy
(
pSource
->
src
.
pBlock
);
tfree
(
pSource
);
}
cmpParam
->
numOfSources
=
0
;
}
static
SSDataBlock
*
getSortedBlockData
(
SSortHandle
*
pHandle
,
SOrderOperatorInfo
*
pInfo
,
int32_t
capacity
)
{
blockDataClearup
(
pInfo
->
pDataBlock
,
pInfo
->
hasVarCol
);
...
...
@@ -5936,8 +5836,6 @@ static SSDataBlock* doSort(void* param, bool* newgroup) {
SExecTaskInfo
*
pTaskInfo
=
pOperator
->
pTaskInfo
;
SOrderOperatorInfo
*
pInfo
=
pOperator
->
info
;
SSDataBlock
*
pBlock
=
NULL
;
if
(
pOperator
->
status
==
OP_RES_TO_RETURN
)
{
return
getSortedBlockData
(
pInfo
->
pSortHandle
,
pInfo
,
pInfo
->
numOfRowsInRes
);
}
...
...
@@ -6013,7 +5911,6 @@ SOperatorInfo *createOrderOperatorInfo(SOperatorInfo* downstream, SArray* pExprI
}
}
// int32_t code = createDiskbasedBuffer(&pInfo->pSortInternalBuf, pInfo->bufPageSize, pInfo->sortBufSize, 1, "/tmp/");
if
(
pInfo
->
orderInfo
==
NULL
||
pInfo
->
pDataBlock
==
NULL
)
{
tfree
(
pOperator
);
destroyOrderOperatorInfo
(
pInfo
,
taosArrayGetSize
(
pExprInfo
));
...
...
source/libs/executor/src/tsort.c
浏览文件 @
bbc03a17
...
...
@@ -176,6 +176,7 @@ static int32_t doAddToBuf(SSDataBlock* pDataBlock, SSortHandle* pHandle) {
if
(
pHandle
->
pBuf
==
NULL
)
{
int32_t
code
=
createDiskbasedBuffer
(
&
pHandle
->
pBuf
,
pHandle
->
pageSize
,
pHandle
->
numOfPages
*
pHandle
->
pageSize
,
0
,
"/tmp"
);
setPrintStatis
(
pHandle
->
pBuf
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
return
code
;
}
...
...
@@ -239,6 +240,7 @@ static int32_t sortComparInit(SMsortComparParam* cmpParam, SArray* pSources, int
// multi-pass internal merge sort is required
if
(
pHandle
->
pBuf
==
NULL
)
{
code
=
createDiskbasedBuffer
(
&
pHandle
->
pBuf
,
pHandle
->
pageSize
,
pHandle
->
numOfPages
*
pHandle
->
pageSize
,
0
,
"/tmp"
);
setPrintStatis
(
pHandle
->
pBuf
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
return
code
;
}
...
...
source/libs/executor/test/executorTests.cpp
浏览文件 @
bbc03a17
...
...
@@ -121,7 +121,6 @@ int main(int argc, char** argv) {
return
RUN_ALL_TESTS
();
}
#if 0
TEST
(
testCase
,
build_executor_tree_Test
)
{
const
char
*
msg
=
"{
\n
"
"
\t\"
Id
\"
:
\t
{
\n
"
...
...
@@ -331,8 +330,6 @@ TEST(testCase, external_sort_Test) {
}
}
// setPrintStatis(((SOrderOperatorInfo*) pOperator->info)->pSortInternalBuf);
int64_t
s2
=
taosGetTimestampUs
();
printf
(
"total:%ld
\n
"
,
s2
-
s1
);
...
...
@@ -343,6 +340,5 @@ TEST(testCase, external_sort_Test) {
taosArrayDestroy
(
pOrderVal
);
}
#endif
#pragma GCC diagnostic pop
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录