pub fn arrow_cast_compute(
    column: &ColumnRef,
    data_type: &DataTypePtr,
    cast_options: &CastOptions,
) -> Result<(ColumnRef, Option<Bitmap>)> {
    let arrow_array = column.as_arrow_array();
    let arrow_options = cast_options.as_arrow();
    let result = cast::cast(arrow_array.as_ref(), &data_type.arrow_type(), arrow_options)?;
    let result: ArrayRef = Arc::from(result);
    let bitmap = result.validity().cloned();
    Ok((result.into_column(), bitmap))
}
// cast using arrow's cast compute
cast using arrow's cast compute
cast using arrow ' s cast compute
pub fn arrow_cast_compute(
    column: &ColumnRef,
    data_type: &DataTypePtr,
    cast_options: &CastOptions,
) -> Result<(ColumnRef, Option<Bitmap>)> {
    let arrow_array = column.as_arrow_array();
    let arrow_options = cast_options.as_arrow();
    let result = cast::cast(arrow_array.as_ref(), &data_type.arrow_type(), arrow_options)?;
    let result: ArrayRef = Arc::from(result);
    let bitmap = result.validity().cloned();
    Ok((result.into_column(), bitmap))
}
pub fn arrow_cast_compute ( column : & ColumnRef , data_type : & DataTypePtr , cast_options : & CastOptions , ) -> Result < ( ColumnRef , Option < Bitmap > ) > { let arrow_array = column . as_arrow_array ( ) ; let arrow_options = cast_options . as_arrow ( ) ; let result = cast :: cast ( arrow_array . as_ref ( ) , & data_type . arrow_type ( ) , arrow_options ) ? ; let result : ArrayRef = Arc :: from ( result ) ; let bitmap = result . validity ( ) . cloned ( ) ; Ok ( ( result . into_column ( ) , bitmap ) ) }
cast using arrow's cast compute
cast using arrow ' s cast compute
column
&ColumnRef
data_type
&DataTypePtr
cast_options
&CastOptions