Skip to content

Commit 90636a5

Browse files
committed
fix
1 parent d8c64bb commit 90636a5

File tree

3 files changed

+10
-8
lines changed

3 files changed

+10
-8
lines changed

src/query/service/src/pipelines/processors/transforms/sort/bounds.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,8 @@ impl Bounds {
4848
Ok(Bounds(vec![block.get_last_column().clone()]))
4949
}
5050

51-
pub fn merge<R: Rows>(vector: Vec<Bounds>, batch_rows: usize) -> Result<Self> {
52-
let mut vector: Vec<_> = vector
53-
.into_iter()
54-
.filter(|bounds| !bounds.is_empty())
55-
.collect();
51+
pub fn merge<R: Rows>(mut vector: Vec<Bounds>, batch_rows: usize) -> Result<Self> {
52+
debug_assert!(vector.iter().all(|bounds| !bounds.is_empty()));
5653
match vector.len() {
5754
0 => Ok(Bounds(vec![])),
5855
1 => Ok(vector.pop().unwrap()),

src/query/service/src/pipelines/processors/transforms/sort/sort_broadcast.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,9 @@ impl<R: Rows + 'static> HookTransform for TransformSortBoundBroadcast<R> {
138138
let bounds = Bounds::merge::<R>(
139139
self.input_data
140140
.iter_mut()
141-
.map(|meta| std::mem::take(&mut meta.bounds))
141+
.filter_map(|meta| {
142+
(!meta.bounds.is_empty()).then(|| std::mem::take(&mut meta.bounds))
143+
})
142144
.collect(),
143145
self.state.batch_rows,
144146
)?;
@@ -169,7 +171,10 @@ impl<R: Rows + 'static> HookTransform for TransformSortBoundBroadcast<R> {
169171
}))
170172
.await?;
171173

172-
let bounds_vec = global.into_iter().map(|meta| meta.bounds).collect();
174+
let bounds_vec = global
175+
.into_iter()
176+
.filter_map(|meta| (!meta.bounds.is_empty()).then_some(meta.bounds))
177+
.collect();
173178
self.output_data = Some(SortCollectedMeta {
174179
bounds: Bounds::merge::<R>(bounds_vec, self.state.batch_rows)?.dedup::<R>(),
175180
..local

tests/sqllogictests/suites/ee/02_ee_aggregating_index/02_0000_async_agg_index_base.test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,7 @@ Logout 2 2 5.0
414414
query T
415415
explain select event_name, user_id, max(user_id), avg(id) from t where user_id > 1 group by event_name, user_id order by event_name, user_id desc
416416
----
417-
Sort
417+
Sort(Single)
418418
├── output columns: [max(user_id) (#3), t.event_name (#2), t.user_id (#1), sum(id) / if(count(id) = 0, 1, count(id)) (#6)]
419419
├── sort keys: [event_name ASC NULLS LAST, user_id DESC NULLS LAST]
420420
├── estimated rows: 6.00

0 commit comments

Comments
 (0)