Skip to content

Commit 35c0199

Browse files
authored
refactor(query): introduces ReturnType, ZeroSizeType, AccessType (#17935)
* return type Signed-off-by: coldWater <[email protected]> * AccessType Signed-off-by: coldWater <[email protected]> * zero size type Signed-off-by: coldWater <[email protected]> * refine SimpleValueType Signed-off-by: coldWater <[email protected]> * function Signed-off-by: coldWater <[email protected]> --------- Signed-off-by: coldWater <[email protected]>
1 parent c412f20 commit 35c0199

File tree

88 files changed

+1259
-1182
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+1259
-1182
lines changed

โ€Žsrc/common/native/src/read/array/double.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ use std::io::Cursor;
1717
use std::marker::PhantomData;
1818

1919
use databend_common_column::buffer::Buffer;
20+
use databend_common_expression::types::AccessType;
2021
use databend_common_expression::types::Number;
2122
use databend_common_expression::types::NumberType;
22-
use databend_common_expression::types::ValueType;
2323
use databend_common_expression::Column;
2424
use databend_common_expression::TableDataType;
2525

โ€Žsrc/common/native/src/read/array/interval.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ use std::io::Cursor;
1616

1717
use databend_common_column::buffer::Buffer;
1818
use databend_common_column::types::months_days_micros;
19+
use databend_common_expression::types::AccessType;
1920
use databend_common_expression::types::IntervalType;
20-
use databend_common_expression::types::ValueType;
2121
use databend_common_expression::Column;
2222
use databend_common_expression::TableDataType;
2323

โ€Žsrc/query/expression/benches/bench.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ use databend_common_column::bitmap::Bitmap;
1919
use databend_common_column::buffer::Buffer;
2020
use databend_common_expression::arrow::deserialize_column;
2121
use databend_common_expression::arrow::serialize_column;
22-
use databend_common_expression::types::ArgType;
2322
use databend_common_expression::types::BinaryType;
2423
use databend_common_expression::types::DecimalType;
24+
use databend_common_expression::types::ReturnType;
2525
use databend_common_expression::types::StringType;
2626
use databend_common_expression::Column;
2727
use databend_common_expression::DataBlock;

โ€Žsrc/query/expression/src/aggregate/group_hash.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -467,6 +467,7 @@ mod tests {
467467
use databend_common_column::bitmap::Bitmap;
468468

469469
use super::*;
470+
use crate::types::AccessType;
470471
use crate::types::ArgType;
471472
use crate::types::Int32Type;
472473
use crate::types::NullableColumn;

โ€Žsrc/query/expression/src/aggregate/payload_flush.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,16 @@ use crate::types::i256;
2828
use crate::types::nullable::NullableColumn;
2929
use crate::types::string::StringColumn;
3030
use crate::types::string::StringColumnBuilder;
31+
use crate::types::AccessType;
3132
use crate::types::ArgType;
3233
use crate::types::BooleanType;
3334
use crate::types::DataType;
3435
use crate::types::DateType;
3536
use crate::types::DecimalSize;
3637
use crate::types::NumberDataType;
3738
use crate::types::NumberType;
39+
use crate::types::ReturnType;
3840
use crate::types::TimestampType;
39-
use crate::types::ValueType;
4041
use crate::with_number_mapped_type;
4142
use crate::Column;
4243
use crate::ColumnBuilder;
@@ -287,7 +288,7 @@ impl Payload {
287288
) -> Column {
288289
let len = state.probe_state.row_count;
289290
let iter = (0..len).map(|idx| unsafe {
290-
read::<<DecimalType<Num> as ValueType>::Scalar>(
291+
read::<<DecimalType<Num> as AccessType>::Scalar>(
291292
state.addresses[idx].add(col_offset) as _
292293
)
293294
});

โ€Žsrc/query/expression/src/aggregate/payload_row.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ use crate::types::binary::BinaryColumn;
2323
use crate::types::decimal::DecimalColumn;
2424
use crate::types::decimal::DecimalType;
2525
use crate::types::i256;
26+
use crate::types::AccessType;
2627
use crate::types::AnyType;
27-
use crate::types::ArgType;
2828
use crate::types::BinaryType;
2929
use crate::types::BooleanType;
3030
use crate::types::DataType;
@@ -34,7 +34,6 @@ use crate::types::NumberType;
3434
use crate::types::StringColumn;
3535
use crate::types::StringType;
3636
use crate::types::TimestampType;
37-
use crate::types::ValueType;
3837
use crate::with_decimal_mapped_type;
3938
use crate::with_number_mapped_type;
4039
use crate::Column;
@@ -507,7 +506,7 @@ unsafe fn row_match_string_column(
507506
*count = match_count;
508507
}
509508

510-
unsafe fn row_match_column_type<T: ArgType>(
509+
unsafe fn row_match_column_type<T: AccessType>(
511510
col: &Column,
512511
validity: Option<&Bitmap>,
513512
address: &[*const u8],
@@ -532,7 +531,7 @@ unsafe fn row_match_column_type<T: ArgType>(
532531
let is_set = is_all_set || validity.get_bit_unchecked(idx);
533532
if is_set && is_set2 {
534533
let address = address[idx].add(col_offset);
535-
let scalar = read::<<T as ValueType>::Scalar>(address as _);
534+
let scalar = read::<T::Scalar>(address as _);
536535
let value = T::index_column_unchecked(&col, idx);
537536
let value = T::to_owned_scalar(value);
538537

@@ -554,7 +553,7 @@ unsafe fn row_match_column_type<T: ArgType>(
554553
let idx = *idx;
555554
let value = T::index_column_unchecked(&col, idx);
556555
let address = address[idx].add(col_offset);
557-
let scalar = read::<<T as ValueType>::Scalar>(address as _);
556+
let scalar = read::<T::Scalar>(address as _);
558557
let value = T::to_owned_scalar(value);
559558

560559
if scalar.eq(&value) {

โ€Žsrc/query/expression/src/evaluator.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,11 @@ use crate::types::boolean::BooleanDomain;
3939
use crate::types::nullable::NullableColumn;
4040
use crate::types::nullable::NullableDomain;
4141
use crate::types::string::StringColumnBuilder;
42-
use crate::types::ArgType;
4342
use crate::types::BooleanType;
4443
use crate::types::DataType;
4544
use crate::types::NullableType;
4645
use crate::types::NumberScalar;
46+
use crate::types::ReturnType;
4747
use crate::types::StringType;
4848
use crate::types::VariantType;
4949
use crate::values::Column;

โ€Žsrc/query/expression/src/filter/select_value/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ use databend_common_column::bitmap::Bitmap;
1616
use databend_common_exception::Result;
1717

1818
use crate::types::string::StringColumn;
19+
use crate::types::AccessType;
1920
use crate::types::AnyType;
20-
use crate::types::ValueType;
2121
use crate::with_mapped_cmp_method;
2222
use crate::LikePattern;
2323
use crate::SelectOp;
@@ -31,7 +31,7 @@ mod select_scalar;
3131

3232
impl Selector<'_> {
3333
#[allow(clippy::too_many_arguments)]
34-
pub(crate) fn select_type_values_cmp<T: ValueType>(
34+
pub(crate) fn select_type_values_cmp<T: AccessType>(
3535
&self,
3636
op: &SelectOp,
3737
left: Value<AnyType>,
@@ -62,7 +62,7 @@ impl Selector<'_> {
6262

6363
#[allow(clippy::too_many_arguments)]
6464
pub(crate) fn select_type_values<
65-
T: ValueType,
65+
T: AccessType,
6666
C: Fn(T::ScalarRef<'_>, T::ScalarRef<'_>) -> bool,
6767
>(
6868
&self,

โ€Žsrc/query/expression/src/filter/select_value/select_column.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ use databend_common_exception::Result;
1717

1818
use crate::filter::SelectStrategy;
1919
use crate::filter::Selector;
20-
use crate::types::ValueType;
20+
use crate::types::AccessType;
2121

2222
impl Selector<'_> {
2323
// Select indices by comparing two columns.
2424
#[allow(clippy::too_many_arguments)]
2525
pub(crate) fn select_columns<
26-
T: ValueType,
26+
T: AccessType,
2727
C: Fn(T::ScalarRef<'_>, T::ScalarRef<'_>) -> bool,
2828
const FALSE: bool,
2929
>(

โ€Žsrc/query/expression/src/filter/select_value/select_column_scalar.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,14 @@ use databend_common_exception::Result;
1818
use crate::filter::SelectStrategy;
1919
use crate::filter::Selector;
2020
use crate::types::string::StringColumn;
21-
use crate::types::ValueType;
21+
use crate::types::AccessType;
2222
use crate::LikePattern;
2323

2424
impl<'a> Selector<'a> {
2525
// Select indices by comparing scalar and column.
2626
#[allow(clippy::too_many_arguments)]
2727
pub(crate) fn select_column_scalar<
28-
T: ValueType,
28+
T: AccessType,
2929
C: Fn(T::ScalarRef<'_>, T::ScalarRef<'_>) -> bool,
3030
const FALSE: bool,
3131
>(

0 commit comments

Comments
ย (0)