Skip to content

Commit

Permalink
support as_decimal_array api (#1356)
Browse files Browse the repository at this point in the history
  • Loading branch information
liukun4515 committed Feb 28, 2022
1 parent f58a8d9 commit 6ee51bc
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 1 deletion.
13 changes: 13 additions & 0 deletions arrow/src/array/cast.rs
Original file line number Diff line number Diff line change
Expand Up @@ -96,13 +96,26 @@ array_downcast_fn!(as_null_array, NullArray);
array_downcast_fn!(as_struct_array, StructArray);
array_downcast_fn!(as_union_array, UnionArray);
array_downcast_fn!(as_map_array, MapArray);
array_downcast_fn!(as_decimal_array, DecimalArray);

#[cfg(test)]
mod tests {
use std::sync::Arc;

use super::*;

#[test]
fn test_as_decimal_array_ref() {
let array: DecimalArray = vec![Some(123), None, Some(1111)]
.into_iter()
.collect::<DecimalArray>()
.with_precision_and_scale(10, 2)
.unwrap();
assert!(!as_decimal_array(&array).is_empty());
let result_decimal = as_decimal_array(&array);
assert_eq!(result_decimal, &array);
}

#[test]
fn test_as_primitive_array_ref() {
let array: Int32Array = vec![1, 2, 3].into_iter().map(Some).collect();
Expand Down
2 changes: 1 addition & 1 deletion arrow/src/array/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -513,7 +513,7 @@ pub use self::ord::{build_compare, DynComparator};
// --------------------- Array downcast helper functions ---------------------

pub use self::cast::{
as_boolean_array, as_dictionary_array, as_generic_binary_array,
as_boolean_array, as_decimal_array, as_dictionary_array, as_generic_binary_array,
as_generic_list_array, as_large_list_array, as_largestring_array, as_list_array,
as_map_array, as_null_array, as_primitive_array, as_string_array, as_struct_array,
as_union_array,
Expand Down

0 comments on commit 6ee51bc

Please sign in to comment.