Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
eba69fdb
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1187
Star
22018
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看板
提交
eba69fdb
编写于
4月 02, 2022
作者:
wmmhello
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix error in order by logic
上级
12c3a10a
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
51 addition
and
5 deletion
+51
-5
source/libs/executor/src/tsort.c
source/libs/executor/src/tsort.c
+2
-2
source/libs/executor/test/sortTests.cpp
source/libs/executor/test/sortTests.cpp
+49
-3
未找到文件。
source/libs/executor/src/tsort.c
浏览文件 @
eba69fdb
...
...
@@ -275,8 +275,8 @@ static int32_t adjustMergeTreeForNextTuple(SExternalMemSource *pSource, SMultiwa
}
else
{
SPageInfo
*
pPgInfo
=
*
(
SPageInfo
**
)
taosArrayGet
(
pSource
->
pageIdList
,
pSource
->
pageIndex
);
SFilePage
*
pPage
=
getBufPage
(
pHandle
->
pBuf
,
getPageId
(
pPgInfo
));
int32_t
code
=
blockDataFromBuf
(
pSource
->
src
.
pBlock
,
pPage
->
data
);
void
*
pPage
=
getBufPage
(
pHandle
->
pBuf
,
getPageId
(
pPgInfo
));
int32_t
code
=
blockDataFromBuf
(
pSource
->
src
.
pBlock
,
pPage
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
return
code
;
}
...
...
source/libs/executor/test/sortTests.cpp
浏览文件 @
eba69fdb
...
...
@@ -72,6 +72,39 @@ SSDataBlock* getSingleColDummyBlock(void* param) {
return
pBlock
;
}
SSDataBlock
*
getSingleColStrBlock
(
void
*
param
)
{
_info
*
pInfo
=
(
_info
*
)
param
;
if
(
--
pInfo
->
count
<
0
)
{
return
NULL
;
}
SSDataBlock
*
pBlock
=
static_cast
<
SSDataBlock
*>
(
taosMemoryCalloc
(
1
,
sizeof
(
SSDataBlock
)));
pBlock
->
pDataBlock
=
taosArrayInit
(
4
,
sizeof
(
SColumnInfoData
));
SColumnInfoData
colInfo
=
{
0
};
colInfo
.
info
.
type
=
TSDB_DATA_TYPE_NCHAR
;
colInfo
.
info
.
bytes
=
TSDB_NCHAR_SIZE
*
32
;
colInfo
.
info
.
colId
=
1
;
colInfo
.
varmeta
.
offset
=
static_cast
<
int32_t
*>
(
taosMemoryCalloc
(
pInfo
->
pageRows
,
sizeof
(
int32_t
)));
taosArrayPush
(
pBlock
->
pDataBlock
,
&
colInfo
);
for
(
int32_t
i
=
0
;
i
<
pInfo
->
pageRows
;
++
i
)
{
SColumnInfoData
*
pColInfo
=
static_cast
<
SColumnInfoData
*>
(
TARRAY_GET_ELEM
(
pBlock
->
pDataBlock
,
0
));
int32_t
size
=
taosRand
()
%
32
;
char
str
[
64
]
=
{
0
};
taosRandStr
(
varDataVal
(
str
),
size
);
varDataSetLen
(
str
,
size
);
colDataAppend
(
pColInfo
,
i
,
reinterpret_cast
<
const
char
*>
(
str
),
false
);
}
pBlock
->
info
.
rows
=
pInfo
->
pageRows
;
pBlock
->
info
.
numOfCols
=
1
;
return
pBlock
;
}
int32_t
docomp
(
const
void
*
p1
,
const
void
*
p2
,
void
*
param
)
{
int32_t
pLeftIdx
=
*
(
int32_t
*
)
p1
;
int32_t
pRightIdx
=
*
(
int32_t
*
)
p2
;
...
...
@@ -210,7 +243,9 @@ TEST(testCase, external_mem_sort_Test) {
void
*
v
=
tsortGetValue
(
pTupleHandle
,
0
);
printf
(
"%d: %d
\n
"
,
row
,
*
(
int32_t
*
)
v
);
ASSERT_EQ
(
row
++
,
*
(
int32_t
*
)
v
);
//char buf[64] = {0};
//snprintf(buf, varDataLen(v), "%s", varDataVal(v));
//printf("%d: %s\n", row, buf);
}
tsortDestroySortHandle
(
phandle
);
}
...
...
@@ -222,8 +257,18 @@ TEST(testCase, ordered_merge_sort_Test) {
SArray
*
orderInfo
=
taosArrayInit
(
1
,
sizeof
(
SBlockOrderInfo
));
taosArrayPush
(
orderInfo
,
&
oi
);
SSchema
s
=
{.
type
=
TSDB_DATA_TYPE_INT
,
.
colId
=
1
,
.
bytes
=
4
};
SSortHandle
*
phandle
=
tsortCreateSortHandle
(
orderInfo
,
SORT_MULTISOURCE_MERGE
,
1024
,
5
,
NULL
,
"test_abc"
);
SSDataBlock
*
pBlock
=
static_cast
<
SSDataBlock
*>
(
taosMemoryCalloc
(
1
,
sizeof
(
SSDataBlock
)));
pBlock
->
pDataBlock
=
taosArrayInit
(
1
,
sizeof
(
SColumnInfoData
));
pBlock
->
info
.
numOfCols
=
1
;
for
(
int32_t
i
=
0
;
i
<
pBlock
->
info
.
numOfCols
;
++
i
)
{
SColumnInfoData
colInfo
=
{
0
};
colInfo
.
info
.
type
=
TSDB_DATA_TYPE_INT
;
colInfo
.
info
.
bytes
=
sizeof
(
int32_t
);
colInfo
.
info
.
colId
=
1
;
taosArrayPush
(
pBlock
->
pDataBlock
,
&
colInfo
);
}
SSortHandle
*
phandle
=
tsortCreateSortHandle
(
orderInfo
,
SORT_MULTISOURCE_MERGE
,
1024
,
5
,
pBlock
,
"test_abc"
);
tsortSetFetchRawDataFp
(
phandle
,
getSingleColDummyBlock
);
tsortSetComparFp
(
phandle
,
docomp
);
...
...
@@ -253,6 +298,7 @@ TEST(testCase, ordered_merge_sort_Test) {
}
tsortDestroySortHandle
(
phandle
);
taosMemoryFree
(
pBlock
);
}
#endif
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录