Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions rust/batch/src/executor/insert.rs
Original file line number Diff line number Diff line change
Expand Up @@ -222,9 +222,9 @@ mod tests {
// Schema of first table
let schema = Schema {
fields: vec![
Field::unnamed(DataType::decimal_default()),
Field::unnamed(DataType::decimal_default()),
Field::unnamed(DataType::decimal_default()),
Field::unnamed(DataType::Decimal),
Field::unnamed(DataType::Decimal),
Field::unnamed(DataType::Decimal),
],
};

Expand Down Expand Up @@ -480,9 +480,9 @@ mod tests {
// Schema of first table
let schema = Schema {
fields: vec![
Field::unnamed(DataType::decimal_default()),
Field::unnamed(DataType::decimal_default()),
Field::unnamed(DataType::decimal_default()),
Field::unnamed(DataType::Decimal),
Field::unnamed(DataType::Decimal),
Field::unnamed(DataType::Decimal),
],
};

Expand Down
4 changes: 2 additions & 2 deletions rust/batch/src/executor/seq_scan.rs
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ mod tests {
async fn test_seq_scan_executor() -> Result<()> {
let table_id = TableId::default();
let schema = Schema {
fields: vec![Field::unnamed(DataType::decimal_default())],
fields: vec![Field::unnamed(DataType::Decimal)],
};
let table_columns = schema
.fields
Expand Down Expand Up @@ -147,7 +147,7 @@ mod tests {
seq_scan_executor.open().await.unwrap();

let fields = &seq_scan_executor.schema().fields;
assert_eq!(fields[0].data_type, DataType::decimal_default());
assert_eq!(fields[0].data_type, DataType::Decimal);

seq_scan_executor.open().await.unwrap();

Expand Down
4 changes: 2 additions & 2 deletions rust/common/src/array/data_chunk_iter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ mod tests {
Ty::Int64,
Ty::Float32,
Ty::Float64,
Ty::decimal_default(),
Ty::Decimal,
Ty::Interval,
]);
let row1 = de.deserialize_not_null(&bytes).unwrap();
Expand Down Expand Up @@ -291,7 +291,7 @@ mod tests {
Ty::Int64,
Ty::Float32,
Ty::Float64,
Ty::decimal_default(),
Ty::Decimal,
Ty::Interval,
]);
let row1 = de.deserialize(&bytes).unwrap();
Expand Down
16 changes: 8 additions & 8 deletions rust/common/src/collection/hash_map/key_dispatcher.rs
Original file line number Diff line number Diff line change
Expand Up @@ -100,14 +100,14 @@ mod tests {

fn all_data_types() -> Vec<DataType> {
vec![
DataType::Boolean, // 0
DataType::Int16, // 1
DataType::Int32, // 2
DataType::Int64, // 3
DataType::Float32, // 4
DataType::Float64, // 5
DataType::decimal_default(), // 6
DataType::Varchar, // 7
DataType::Boolean, // 0
DataType::Int16, // 1
DataType::Int32, // 2
DataType::Int64, // 3
DataType::Float32, // 4
DataType::Float64, // 5
DataType::Decimal, // 6
DataType::Varchar, // 7
]
}

Expand Down
2 changes: 1 addition & 1 deletion rust/common/src/expr/expr_binary_nullable.rs
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ pub fn new_nullable_binary_expr(
DataType::Int64 => gen_stream_null_by_row_count_expr!(l, r, ret, I64Array),
DataType::Float32 => gen_stream_null_by_row_count_expr!(l, r, ret, F32Array),
DataType::Float64 => gen_stream_null_by_row_count_expr!(l, r, ret, F64Array),
DataType::Decimal { .. } => {
DataType::Decimal => {
gen_stream_null_by_row_count_expr!(l, r, ret, DecimalArray)
}
DataType::Date => gen_stream_null_by_row_count_expr!(l, r, ret, DecimalArray),
Expand Down
11 changes: 3 additions & 8 deletions rust/common/src/expr/expr_is_null.rs
Original file line number Diff line number Diff line change
Expand Up @@ -106,20 +106,15 @@ mod tests {

#[test]
fn test_is_null() -> Result<()> {
let expr = IsNullExpression::new(Box::new(InputRefExpression::new(
DataType::decimal_default(),
0,
)));
let expr = IsNullExpression::new(Box::new(InputRefExpression::new(DataType::Decimal, 0)));
do_test(Box::new(expr), vec![false, false, true]).unwrap();
Ok(())
}

#[test]
fn test_is_not_null() -> Result<()> {
let expr = IsNotNullExpression::new(Box::new(InputRefExpression::new(
DataType::decimal_default(),
0,
)));
let expr =
IsNotNullExpression::new(Box::new(InputRefExpression::new(DataType::Decimal, 0)));
do_test(Box::new(expr), vec![true, true, false]).unwrap();
Ok(())
}
Expand Down
6 changes: 2 additions & 4 deletions rust/common/src/expr/expr_unary.rs
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ pub fn new_unary_expr(
_phantom: PhantomData,
})
}
(ProstType::Cast, DataType::Decimal { .. }, DataType::Char) => {
(ProstType::Cast, DataType::Decimal, DataType::Char) => {
Box::new(UnaryExpression::<Utf8Array, DecimalArray, _> {
expr_ia1: child_expr,
return_type,
Expand Down Expand Up @@ -300,9 +300,7 @@ pub fn new_unary_expr(
(ProstType::Neg, _, _) => {
gen_neg! { child_expr, return_type }
}
(ProstType::PgSleep, _, DataType::Decimal { .. }) => {
Box::new(PgSleepExpression::new(child_expr))
}
(ProstType::PgSleep, _, DataType::Decimal) => Box::new(PgSleepExpression::new(child_expr)),
(expr, ret, child) => {
unimplemented!("The expression {:?}({:?}) ->{:?} using vectorized expression framework is not supported yet!", expr, child, ret)
}
Expand Down
6 changes: 2 additions & 4 deletions rust/common/src/expr/pg_sleep.rs
Original file line number Diff line number Diff line change
Expand Up @@ -69,10 +69,8 @@ mod tests {

#[test]
fn test_pg_sleep() -> Result<()> {
let mut expr = PgSleepExpression::new(Box::new(InputRefExpression::new(
DataType::decimal_default(),
0,
)));
let mut expr =
PgSleepExpression::new(Box::new(InputRefExpression::new(DataType::Decimal, 0)));

let input_array = {
let mut builder = DecimalArrayBuilder::new(3)?;
Expand Down
22 changes: 6 additions & 16 deletions rust/common/src/types/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ pub enum DataType {
Int64,
Float32,
Float64,
Decimal { prec: u32, scale: u32 },
Decimal,
Date,
Char,
Varchar,
Expand Down Expand Up @@ -76,10 +76,7 @@ impl From<&ProstDataType> for DataType {
TypeName::Time => DataType::Time,
TypeName::Timestamp => DataType::Timestamp,
TypeName::Timestampz => DataType::Timestampz,
TypeName::Decimal => DataType::Decimal {
prec: proto.precision,
scale: proto.scale,
},
TypeName::Decimal => DataType::Decimal,
TypeName::Interval => DataType::Interval,
TypeName::Symbol => DataType::Varchar,
TypeName::Struct => DataType::Struct,
Expand All @@ -97,7 +94,7 @@ impl DataType {
DataType::Int64 => PrimitiveArrayBuilder::<i64>::new(capacity)?.into(),
DataType::Float32 => PrimitiveArrayBuilder::<OrderedF32>::new(capacity)?.into(),
DataType::Float64 => PrimitiveArrayBuilder::<OrderedF64>::new(capacity)?.into(),
DataType::Decimal { prec: _, scale: _ } => DecimalArrayBuilder::new(capacity)?.into(),
DataType::Decimal => DecimalArrayBuilder::new(capacity)?.into(),
DataType::Date => NaiveDateArrayBuilder::new(capacity)?.into(),
DataType::Char | DataType::Varchar => Utf8ArrayBuilder::new(capacity)?.into(),
DataType::Time => NaiveTimeArrayBuilder::new(capacity)?.into(),
Expand All @@ -122,7 +119,7 @@ impl DataType {
DataType::Time => TypeName::Time,
DataType::Timestamp => TypeName::Timestamp,
DataType::Timestampz => TypeName::Timestampz,
DataType::Decimal { .. } => TypeName::Decimal,
DataType::Decimal => TypeName::Decimal,
DataType::Interval => TypeName::Interval,
DataType::Struct => TypeName::Struct,
}
Expand All @@ -145,7 +142,7 @@ impl DataType {
DataType::Int64 => DataSize::Fixed(size_of::<i64>()),
DataType::Float32 => DataSize::Fixed(size_of::<OrderedF32>()),
DataType::Float64 => DataSize::Fixed(size_of::<OrderedF64>()),
DataType::Decimal { .. } => DataSize::Fixed(16),
DataType::Decimal => DataSize::Fixed(16),
DataType::Char => DataSize::Variable,
DataType::Varchar => DataSize::Variable,
DataType::Date => DataSize::Fixed(size_of::<i32>()),
Expand All @@ -156,13 +153,6 @@ impl DataType {
DataType::Struct => DataSize::Variable,
}
}

pub fn decimal_default() -> DataType {
DataType::Decimal {
prec: DECIMAL_DEFAULT_PRECISION,
scale: DECIMAL_DEFAULT_SCALE,
}
}
}

/// `Scalar` is a trait over all possible owned types in the evaluation
Expand Down Expand Up @@ -596,7 +586,7 @@ impl ScalarImpl {
Ty::Float64 => Self::Float64(f64::deserialize(de)?.into()),
Ty::Char | Ty::Varchar => Self::Utf8(String::deserialize(de)?),
Ty::Boolean => Self::Bool(bool::deserialize(de)?),
Ty::Decimal { .. } => Self::Decimal({
Ty::Decimal => Self::Decimal({
let (mantissa, scale) = de.deserialize_decimal()?;
match scale {
-1 => Decimal::NegativeINF,
Expand Down
2 changes: 1 addition & 1 deletion rust/common/src/vector_op/agg/aggregator.rs
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ mod tests {
#[test]
fn test_create_agg_state() {
let int64_type = DataType::Int64;
let decimal_type = DataType::decimal_default();
let decimal_type = DataType::Decimal;
let bool_type = DataType::Boolean;
let char_type = DataType::Char;

Expand Down
2 changes: 1 addition & 1 deletion rust/common/src/vector_op/agg/general_agg.rs
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ mod tests {
let input = I64Array::from_slice(&[Some(1), Some(2), Some(3)])?;
let agg_type = AggKind::Sum;
let input_type = DataType::Int64;
let return_type = DataType::decimal_default();
let return_type = DataType::Decimal;
let actual = eval_agg(
input_type,
Arc::new(input.into()),
Expand Down
2 changes: 1 addition & 1 deletion rust/common/src/vector_op/agg/general_distinct_agg.rs
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@ mod tests {
let input = I64Array::from_slice(&[Some(1), Some(1), Some(3)])?;
let agg_type = AggKind::Sum;
let input_type = DataType::Int64;
let return_type = DataType::decimal_default();
let return_type = DataType::Decimal;
let actual = eval_agg(
input_type,
Arc::new(input.into()),
Expand Down
15 changes: 5 additions & 10 deletions rust/frontend/src/binder/expr/value.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,7 @@ impl Binder {
let decimal = s
.parse::<Decimal>()
.map_err(|e| ErrorCode::ParseError(Box::new(e)))?;
let scale = decimal.scale() as u32;
let prec = decimal.precision();
(
Some(ScalarImpl::Decimal(decimal)),
DataType::Decimal { prec, scale },
)
(Some(ScalarImpl::Decimal(decimal)), DataType::Decimal)
};
Ok(Literal::new(data, data_type))
}
Expand Down Expand Up @@ -70,10 +65,10 @@ mod tests {
let data_type = vec![
DataType::Int32,
DataType::Int64,
DataType::Decimal { prec: 15, scale: 6 },
DataType::Decimal { prec: 24, scale: 0 },
DataType::Decimal { prec: 7, scale: 6 },
DataType::Decimal { prec: 3, scale: 2 },
DataType::Decimal,
DataType::Decimal,
DataType::Decimal,
DataType::Decimal,
];

for i in 0..values.len() {
Expand Down
8 changes: 4 additions & 4 deletions rust/frontend/src/expr/type_inference.rs
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ fn name_of(ty: &DataType) -> DataTypeName {
DataType::Time => DataTypeName::Time,
DataType::Timestamp => DataTypeName::Timestamp,
DataType::Timestampz => DataTypeName::Timestampz,
DataType::Decimal { .. } => DataTypeName::Decimal,
DataType::Decimal => DataTypeName::Decimal,
DataType::Interval => DataTypeName::Interval,
DataType::Struct => DataTypeName::Struct,
}
Expand All @@ -68,7 +68,7 @@ pub fn infer_type(func_type: ExprType, inputs_type: Vec<DataType>) -> Option<Dat
DataTypeName::Time => DataType::Time,
DataTypeName::Timestamp => DataType::Timestamp,
DataTypeName::Timestampz => DataType::Timestampz,
DataTypeName::Decimal => DataType::decimal_default(),
DataTypeName::Decimal => DataType::Decimal,
DataTypeName::Interval => DataType::Interval,
DataTypeName::Struct => DataType::Struct,
})
Expand Down Expand Up @@ -253,7 +253,7 @@ mod tests {
ExprType::Divide,
ExprType::Modulus,
];
let decimal_type = DataType::decimal_default();
let decimal_type = DataType::Decimal;
let num_promote_table = vec![
(Int16, Int16, Int16),
(Int16, Int32, Int32),
Expand Down Expand Up @@ -321,7 +321,7 @@ mod tests {
DataType::Int64,
DataType::Float32,
DataType::Float64,
DataType::decimal_default(),
DataType::Decimal,
];

for (expr, num_t) in iproduct!(exprs, num_types) {
Expand Down
8 changes: 4 additions & 4 deletions rust/source/src/manager.rs
Original file line number Diff line number Diff line change
Expand Up @@ -317,8 +317,8 @@ mod tests {

let schema = Schema {
fields: vec![
Field::unnamed(DataType::decimal_default()),
Field::unnamed(DataType::decimal_default()),
Field::unnamed(DataType::Decimal),
Field::unnamed(DataType::Decimal),
],
};

Expand Down Expand Up @@ -357,8 +357,8 @@ mod tests {

let schema = Schema {
fields: vec![
Field::unnamed(DataType::decimal_default()),
Field::unnamed(DataType::decimal_default()),
Field::unnamed(DataType::Decimal),
Field::unnamed(DataType::Decimal),
],
};

Expand Down
2 changes: 1 addition & 1 deletion rust/source/src/parser/common.rs
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ pub(crate) fn json_parse_value(
|v: f64| ScalarImpl::Float64(v.into())
)
}
DataType::Decimal { .. } => match value.and_then(|v| v.as_f64()) {
DataType::Decimal => match value.and_then(|v| v.as_f64()) {
Some(v) => match Decimal::from_f64(v) {
Some(v) => Ok(ScalarImpl::Decimal(v)),
None => Err(RwError::from(InternalError(
Expand Down
2 changes: 1 addition & 1 deletion rust/source/src/parser/protobuf_parser.rs
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ impl SourceParser for ProtobufParser {
DataType::Float64 => {
protobuf_match_type!(value, ScalarImpl::Float64, { I8, I16, I32, U8, U16, U32, F32, F64}, OrderedF64)
}
DataType::Decimal{ .. } => {
DataType::Decimal => {
protobuf_match_type!(value, ScalarImpl::Decimal, { I8, I16, I32, I64, U8, U16, U32, U64}, Decimal)
}
DataType::Char | DataType::Varchar => {
Expand Down
4 changes: 2 additions & 2 deletions rust/storage/src/bummock/table.rs
Original file line number Diff line number Diff line change
Expand Up @@ -290,8 +290,8 @@ mod tests {

let schema = Schema {
fields: vec![
Field::unnamed(DataType::decimal_default()),
Field::unnamed(DataType::decimal_default()),
Field::unnamed(DataType::Decimal),
Field::unnamed(DataType::Decimal),
],
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -432,7 +432,7 @@ pub async fn create_streaming_extreme_state<S: StateStore>(
{ Int16, I16Array },
{ Float64, F64Array },
{ Float32, F32Array },
{ Decimal { .. }, DecimalArray },
{ Decimal, DecimalArray },
{ Char | Varchar, Utf8Array },
{ Interval, IntervalArray },
)
Expand Down