Skip to content

Commit 26e8a74

Browse files
committed
update
1 parent 8a1d349 commit 26e8a74

File tree

1 file changed

+18
-15
lines changed

1 file changed

+18
-15
lines changed

src/query/storages/fuse/src/io/write/stream/column_statistics_builder.rs

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -98,15 +98,6 @@ where
9898
}
9999
}
100100

101-
macro_rules! create_builder_for_type {
102-
($data_type:expr, $variant:ident, $type:ty) => {
103-
ColumnStatisticsBuilder::$variant(CommonBuilder::<$type>::create($data_type))
104-
};
105-
($data_type:expr, $variant:ident, $type:ty, decimal) => {
106-
ColumnStatisticsBuilder::$variant(DecimalBuilder::<$type>::create($data_type))
107-
};
108-
}
109-
110101
pub fn create_column_stats_builder(data_type: &DataType) -> ColumnStatisticsBuilder {
111102
let inner_type = data_type.remove_nullable();
112103
macro_rules! match_number_type_create {
@@ -125,16 +116,28 @@ pub fn create_column_stats_builder(data_type: &DataType) -> ColumnStatisticsBuil
125116
DataType::Number(num_type) => {
126117
match_number_type_create!(num_type)
127118
}
128-
DataType::String => create_builder_for_type!(inner_type, String, StringType),
129-
DataType::Date => create_builder_for_type!(inner_type, Date, DateType),
130-
DataType::Timestamp => create_builder_for_type!(inner_type, Timestamp, TimestampType),
119+
DataType::String => {
120+
ColumnStatisticsBuilder::String(CommonBuilder::<StringType>::create(inner_type))
121+
}
122+
DataType::Date => {
123+
ColumnStatisticsBuilder::Date(CommonBuilder::<DateType>::create(inner_type))
124+
}
125+
DataType::Timestamp => {
126+
ColumnStatisticsBuilder::Timestamp(CommonBuilder::<TimestampType>::create(inner_type))
127+
}
131128
DataType::Decimal(size) => {
132129
if size.can_carried_by_64() {
133-
create_builder_for_type!(inner_type, Decimal64, Decimal64Type, decimal)
130+
ColumnStatisticsBuilder::Decimal64(DecimalBuilder::<Decimal64Type>::create(
131+
inner_type,
132+
))
134133
} else if size.can_carried_by_128() {
135-
create_builder_for_type!(inner_type, Decimal128, Decimal128Type, decimal)
134+
ColumnStatisticsBuilder::Decimal128(DecimalBuilder::<Decimal128Type>::create(
135+
inner_type,
136+
))
136137
} else {
137-
create_builder_for_type!(inner_type, Decimal256, Decimal256Type, decimal)
138+
ColumnStatisticsBuilder::Decimal256(DecimalBuilder::<Decimal256Type>::create(
139+
inner_type,
140+
))
138141
}
139142
}
140143
_ => unreachable!("Unsupported data type: {:?}", data_type),

0 commit comments

Comments
 (0)