Skip to content

Commit 5b16525

Browse files
committed
fix
1 parent 2d76884 commit 5b16525

File tree

3 files changed

+21
-10
lines changed

3 files changed

+21
-10
lines changed

src/query/functions/src/aggregates/aggregator_common.rs

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ use databend_common_expression::ColumnBuilder;
2929
use databend_common_expression::Constant;
3030
use databend_common_expression::FunctionContext;
3131
use databend_common_expression::Scalar;
32+
use databend_common_expression::ScalarRef;
3233
use databend_common_expression::StateAddr;
3334

3435
use super::get_states_layout;
@@ -186,10 +187,20 @@ pub fn eval_aggr_for_test(
186187
let state = AggrState::new(eval.addr, &eval.state_layout.states_loc[0]);
187188
func.accumulate(state, entries.into(), None, rows)?;
188189
if with_serialize {
189-
let mut buf = vec![];
190-
func.serialize_binary(state, &mut buf)?;
190+
let data_type = func.serialize_data_type();
191+
let mut builder = ColumnBuilder::with_capacity(&data_type, 1);
192+
let builders = builder.as_tuple_mut().unwrap().as_mut_slice();
193+
func.serialize(state, builders)?;
191194
func.init_state(state);
192-
func.merge_binary(state, &mut buf.as_slice())?;
195+
let column = builder.build();
196+
let data = column.index(0);
197+
func.merge(
198+
state,
199+
data.as_ref()
200+
.and_then(ScalarRef::as_tuple)
201+
.unwrap()
202+
.as_slice(),
203+
)?;
193204
}
194205
let mut builder = ColumnBuilder::with_capacity(&data_type, 1024);
195206
func.merge_result(state, &mut builder)?;

src/query/storages/fuse/src/operations/analyze.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -186,8 +186,8 @@ impl SinkAnalyzeState {
186186
let index: u32 = name.strip_prefix("ndv_").unwrap().parse().unwrap();
187187

188188
let col = col.index(0).unwrap();
189-
let col = col.as_binary().unwrap();
190-
let hll: MetaHLL = borsh_deserialize_from_slice(col)?;
189+
let data = col.as_tuple().unwrap()[0].as_binary().unwrap();
190+
let hll: MetaHLL = borsh_deserialize_from_slice(data)?;
191191

192192
if !is_full {
193193
ndv_states
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
query IT
2-
select length(max_state(number)), typeof(max_state(number)) from numbers(100);
2+
select length(max_state(number).1), typeof(max_state(number)) from numbers(100);
33
----
4-
10 BINARY
4+
9 TUPLE(BINARY, BOOLEAN)
55

6-
query I
7-
select length(sum_state(number)), typeof(max_state(number)) from numbers(10000);
6+
query IT
7+
select length(sum_state(number).1), typeof(max_state(number)) from numbers(10000);
88
----
9-
9 BINARY
9+
8 TUPLE(BINARY, BOOLEAN)

0 commit comments

Comments
 (0)