Skip to content

Commit 134976a

Browse files
authored
chore: remove SortColumnDescription.is_nullable (#16699)
remove is_nullable Signed-off-by: coldWater <[email protected]>
1 parent 1aa6dfa commit 134976a

File tree

19 files changed

+44
-71
lines changed

19 files changed

+44
-71
lines changed

src/query/expression/src/kernels/sort.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ pub struct SortColumnDescription {
3636
pub offset: usize,
3737
pub asc: bool,
3838
pub nulls_first: bool,
39-
pub is_nullable: bool,
4039
}
4140

4241
#[derive(Copy, Clone, Debug)]
@@ -140,11 +139,10 @@ pub fn compare_scalars(rows: Vec<Vec<Scalar>>, data_types: &[DataType]) -> Resul
140139
let descriptions = order_columns
141140
.iter()
142141
.enumerate()
143-
.map(|(idx, array)| SortColumnDescription {
142+
.map(|(idx, _)| SortColumnDescription {
144143
offset: idx,
145144
asc: true,
146145
nulls_first: false,
147-
is_nullable: array.data_type().is_nullable(),
148146
})
149147
.collect::<Vec<_>>();
150148

src/query/expression/tests/it/sort.rs

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ fn test_block_sort() -> Result<()> {
4343
offset: 0,
4444
asc: true,
4545
nulls_first: false,
46-
is_nullable: false,
4746
}],
4847
None,
4948
vec![
@@ -56,7 +55,6 @@ fn test_block_sort() -> Result<()> {
5655
offset: 0,
5756
asc: true,
5857
nulls_first: false,
59-
is_nullable: false,
6058
}],
6159
Some(4),
6260
vec![
@@ -69,7 +67,6 @@ fn test_block_sort() -> Result<()> {
6967
offset: 1,
7068
asc: false,
7169
nulls_first: false,
72-
is_nullable: false,
7370
}],
7471
None,
7572
vec![
@@ -83,13 +80,11 @@ fn test_block_sort() -> Result<()> {
8380
offset: 0,
8481
asc: true,
8582
nulls_first: false,
86-
is_nullable: false,
8783
},
8884
SortColumnDescription {
8985
offset: 1,
9086
asc: false,
9187
nulls_first: false,
92-
is_nullable: false,
9388
},
9489
],
9590
None,
@@ -129,7 +124,6 @@ fn test_block_sort() -> Result<()> {
129124
offset: 0,
130125
asc: true,
131126
nulls_first: false,
132-
is_nullable: false,
133127
}],
134128
None,
135129
vec![
@@ -142,7 +136,6 @@ fn test_block_sort() -> Result<()> {
142136
offset: 0,
143137
asc: true,
144138
nulls_first: false,
145-
is_nullable: false,
146139
}],
147140
Some(4),
148141
vec![
@@ -155,7 +148,6 @@ fn test_block_sort() -> Result<()> {
155148
offset: 1,
156149
asc: false,
157150
nulls_first: false,
158-
is_nullable: false,
159151
}],
160152
None,
161153
vec![
@@ -169,13 +161,11 @@ fn test_block_sort() -> Result<()> {
169161
offset: 0,
170162
asc: true,
171163
nulls_first: false,
172-
is_nullable: false,
173164
},
174165
SortColumnDescription {
175166
offset: 1,
176167
asc: false,
177168
nulls_first: false,
178-
is_nullable: false,
179169
},
180170
],
181171
None,
@@ -227,7 +217,6 @@ fn sort_concat() {
227217
offset: *i,
228218
asc: rng.gen_bool(0.5),
229219
nulls_first: rng.gen_bool(0.5),
230-
is_nullable: rng.gen_bool(0.5),
231220
})
232221
.collect_vec();
233222

src/query/functions/src/scalars/array.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -868,7 +868,6 @@ fn register_array_aggr(registry: &mut FunctionRegistry) {
868868
offset: 0,
869869
asc: sort_desc.0,
870870
nulls_first: sort_desc.1,
871-
is_nullable: false, // This information is not needed here.
872871
}];
873872
let columns = vec![BlockEntry{
874873
data_type: arr.data_type(),

src/query/pipeline/transforms/src/processors/transforms/sort/rows/simple.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,6 @@ impl<T: ArgType> SimpleRowConverter<T> {
194194
offset: 0,
195195
asc,
196196
nulls_first: false,
197-
is_nullable: false,
198197
}];
199198

200199
R::from_column(&col, &desc)

src/query/pipeline/transforms/tests/it/merger.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,6 @@ fn create_test_merger<A: SortAlgorithm>(
150150
offset: 0,
151151
asc: true,
152152
nulls_first: true,
153-
is_nullable: false,
154153
}]);
155154
let streams = input
156155
.into_iter()

src/query/service/src/pipelines/builders/builder_aggregate.rs

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -141,18 +141,17 @@ impl PipelineBuilder {
141141
// For rank limit, we can filter data using sort with rank before partial
142142
if let Some(rank_limit) = &aggregate.rank_limit {
143143
let sort_desc = rank_limit
144-
.0
145-
.iter()
146-
.map(|desc| {
147-
let offset = schema_before_group_by.index_of(&desc.order_by.to_string())?;
148-
Ok(SortColumnDescription {
149-
offset,
150-
asc: desc.asc,
151-
nulls_first: desc.nulls_first,
152-
is_nullable: schema_before_group_by.field(offset).is_nullable(), // This information is not needed here.
144+
.0
145+
.iter()
146+
.map(|desc| {
147+
let offset = schema_before_group_by.index_of(&desc.order_by.to_string())?;
148+
Ok(SortColumnDescription {
149+
offset,
150+
asc: desc.asc,
151+
nulls_first: desc.nulls_first,
152+
})
153153
})
154-
})
155-
.collect::<Result<Vec<_>>>()?;
154+
.collect::<Result<Vec<_>>>()?;
156155
let sort_desc = Arc::new(sort_desc);
157156

158157
self.main_pipeline.add_transformer(|| {

src/query/service/src/pipelines/builders/builder_insert_multi_table.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,6 @@ impl PipelineBuilder {
222222
offset: *index,
223223
asc: true,
224224
nulls_first: false,
225-
is_nullable: false, // This information is not needed here.
226225
})
227226
.collect();
228227
let sort_desc = Arc::new(sort_desc);

src/query/service/src/pipelines/builders/builder_recluster.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,6 @@ impl PipelineBuilder {
126126
offset: *offset,
127127
asc: true,
128128
nulls_first: false,
129-
is_nullable: false, // This information is not needed here.
130129
})
131130
.collect();
132131

src/query/service/src/pipelines/builders/builder_sort.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@ impl PipelineBuilder {
8383
offset,
8484
asc: desc.asc,
8585
nulls_first: desc.nulls_first,
86-
is_nullable: plan_schema.field(offset).is_nullable(), // This information is not needed here.
8786
})
8887
})
8988
.collect::<Result<Vec<_>>>()?;

src/query/service/src/pipelines/builders/builder_window.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,12 @@ use opendal::services::Fs;
3030
use opendal::Operator;
3131

3232
use crate::pipelines::processors::transforms::FrameBound;
33+
use crate::pipelines::processors::transforms::TransformWindow;
3334
use crate::pipelines::processors::transforms::TransformWindowPartitionCollect;
3435
use crate::pipelines::processors::transforms::WindowFunctionInfo;
3536
use crate::pipelines::processors::transforms::WindowPartitionExchange;
37+
use crate::pipelines::processors::transforms::WindowSortDesc;
3638
use crate::pipelines::processors::transforms::WindowSpillSettings;
37-
use crate::pipelines::processors::TransformWindow;
3839
use crate::pipelines::PipelineBuilder;
3940
use crate::spillers::SpillerDiskConfig;
4041

@@ -56,11 +57,11 @@ impl PipelineBuilder {
5657
.iter()
5758
.map(|o| {
5859
let offset = input_schema.index_of(&o.order_by.to_string())?;
59-
Ok(SortColumnDescription {
60+
Ok(WindowSortDesc {
6061
offset,
6162
asc: o.asc,
6263
nulls_first: o.nulls_first,
63-
is_nullable: input_schema.field(offset).is_nullable(), // Used for check null frame.
64+
is_nullable: input_schema.field(offset).is_nullable(),
6465
})
6566
})
6667
.collect::<Result<Vec<_>>>()?;
@@ -164,7 +165,6 @@ impl PipelineBuilder {
164165
offset,
165166
asc: desc.asc,
166167
nulls_first: desc.nulls_first,
167-
is_nullable: plan_schema.field(offset).is_nullable(),
168168
})
169169
})
170170
.collect::<Result<Vec<_>>>()?;

0 commit comments

Comments
 (0)