Oleg Zinoviev created DRILL-7721:
------------------------------------
Summary: Inconsistent behavior of external_sort and topN
Key: DRILL-7721
URL: https://issues.apache.org/jira/browse/DRILL-7721
Project: Apache Drill
Issue Type: Bug
Affects Versions: 1.17.0
Reporter: Oleg Zinoviev
Attachments: sort.png, topn.png
The TopN operator with the same sort field value can change the order of the
lines relative to the original (unstable sort). The External_sort operator
preserves the original row order (at least in the example). This inconsistency
breaks the implementation of data pagination.
Example:
1) Create table
{code:sql}
create table dfs.test_sort as (
select 1 as index, 0 as value
union all
select 1 as index, 1 as value
union all
select 1 as index, -1 as value
union all
select 2 as index, 0 as value
union all
select 2 as index, 1 as value
union all
select 2 as index, -1 as value
union all
select -1 as index, 0 as value
union all
select -1 as index, 1 as value
union all
select -1 as index, -1 as value
)
{code}
2) Execute query:
{code:sql}
select * from dfs.test_sort s order by s.index limit 100 // Should be TopN sort
{code}
3) Execute query:
{code:sql}
select * from dfs.test_sort s order by s.index limit 1000 // Should be
External_sort
{code}
4) Compare results:)
!topn.png! !sort.png!
--
This message was sent by Atlassian Jira
(v8.3.4#803005)