Skip to content

Commit

Permalink
Update more APIs for arrow 19.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
alamb committed Jul 27, 2022
1 parent 9831f52 commit dd1684c
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 9 deletions.
5 changes: 5 additions & 0 deletions datafusion/common/src/scalar.rs
Expand Up @@ -917,6 +917,11 @@ impl ScalarValue {
ScalarValue::iter_to_decimal_array(scalars, precision, scale)?;
Arc::new(decimal_array)
}
DataType::Decimal256(_, _) => {
return Err(DataFusionError::Internal(
"Decimal256 is not supported for ScalarValue".to_string(),
))
}
DataType::Null => ScalarValue::iter_to_null_array(scalars),
DataType::Boolean => build_array_primitive!(BooleanArray, Boolean),
DataType::Float32 => build_array_primitive!(Float32Array, Float32),
Expand Down
6 changes: 3 additions & 3 deletions datafusion/core/src/physical_optimizer/pruning.rs
Expand Up @@ -800,7 +800,7 @@ mod tests {
use crate::from_slice::FromSlice;
use crate::logical_plan::{col, lit};
use crate::{assert_batches_eq, physical_optimizer::pruning::StatisticsType};
use arrow::array::DecimalArray;
use arrow::array::Decimal128Array;
use arrow::{
array::{BinaryArray, Int32Array, Int64Array, StringArray},
datatypes::{DataType, TimeUnit},
Expand All @@ -825,13 +825,13 @@ mod tests {
Self {
min: Arc::new(
min.into_iter()
.collect::<DecimalArray>()
.collect::<Decimal128Array>()
.with_precision_and_scale(precision, scale)
.unwrap(),
),
max: Arc::new(
max.into_iter()
.collect::<DecimalArray>()
.collect::<Decimal128Array>()
.with_precision_and_scale(precision, scale)
.unwrap(),
),
Expand Down
10 changes: 5 additions & 5 deletions datafusion/core/tests/sql/mod.rs
Expand Up @@ -571,25 +571,25 @@ async fn register_tpch_csv_data(
match field.data_type() {
DataType::Utf8 => {
let sb = col.as_any_mut().downcast_mut::<StringBuilder>().unwrap();
sb.append_value(val)?;
sb.append_value(val);
}
DataType::Date32 => {
let sb = col.as_any_mut().downcast_mut::<Date32Builder>().unwrap();
let dt = NaiveDate::parse_from_str(val.trim(), "%Y-%m-%d").unwrap();
let dt = dt.sub(NaiveDate::from_ymd(1970, 1, 1)).num_days() as i32;
sb.append_value(dt)?;
sb.append_value(dt);
}
DataType::Int32 => {
let sb = col.as_any_mut().downcast_mut::<Int32Builder>().unwrap();
sb.append_value(val.trim().parse().unwrap())?;
sb.append_value(val.trim().parse().unwrap());
}
DataType::Int64 => {
let sb = col.as_any_mut().downcast_mut::<Int64Builder>().unwrap();
sb.append_value(val.trim().parse().unwrap())?;
sb.append_value(val.trim().parse().unwrap());
}
DataType::Float64 => {
let sb = col.as_any_mut().downcast_mut::<Float64Builder>().unwrap();
sb.append_value(val.trim().parse().unwrap())?;
sb.append_value(val.trim().parse().unwrap());
}
_ => Err(DataFusionError::Plan(format!(
"Not implemented: {}",
Expand Down
6 changes: 5 additions & 1 deletion datafusion/proto/src/to_proto.rs
Expand Up @@ -223,6 +223,9 @@ impl From<&DataType> for protobuf::arrow_type::ArrowTypeEnum {
whole: *whole as u64,
fractional: *fractional as u64,
}),
DataType::Decimal256(_, _) => {
unimplemented!("The Decimal256 data type is not yet supported")
}
DataType::Map(_, _) => {
unimplemented!("The Map data type is not yet supported")
}
Expand Down Expand Up @@ -1237,7 +1240,8 @@ impl TryFrom<&DataType> for protobuf::scalar_type::Datatype {
| DataType::Union(_, _, _)
| DataType::Dictionary(_, _)
| DataType::Map(_, _)
| DataType::Decimal(_, _) => {
| DataType::Decimal(_, _)
| DataType::Decimal256(_, _) => {
return Err(Error::invalid_scalar_type(val));
}
};
Expand Down

0 comments on commit dd1684c

Please sign in to comment.