Macro downcast_integer_array

macro_rules! downcast_integer_array {
    ($values:ident => $e:expr, $($p:pat => $fallback:expr $(,)*)*) => { ... };
    (($($values:ident),+) => $e:expr, $($p:pat => $fallback:expr $(,)*)*) => { ... };
    ($($values:ident),+ => $e:block $($p:pat => $fallback:expr $(,)*)*) => { ... };
    (($($values:ident),+) => $e:block $($p:pat => $fallback:expr $(,)*)*) => { ... };
}
Expand description

Given one or more expressions evaluating to an integer PrimitiveArray invokes the provided macro with the corresponding array, along with match statements for any non integer array types


fn print_integer(array: &dyn Array) {
    downcast_integer_array!(
        array => {
            for v in array {
                println!("{:?}", v);
            }
        }
        DataType::Utf8 => {
            for v in as_string_array(array) {
                println!("{:?}", v);
            }
        }
        t => println!("Unsupported datatype {}", t)
    )
}