pub trait DecimalType: 'static + Send + Sync + ArrowPrimitiveType + DecimalTypeSealed {
    const BYTE_LENGTH: usize;
    const MAX_PRECISION: u8;
    const MAX_SCALE: i8;
    const TYPE_CONSTRUCTOR: fn(_: u8, _: i8) -> DataType;
    const DEFAULT_TYPE: DataType;
    const PREFIX: &'static str;

    fn format_decimal(value: Self::Native, precision: u8, scale: i8) -> String;
    fn validate_decimal_precision(
        value: Self::Native,
        precision: u8
    ) -> Result<(), ArrowError>; }
Expand description

A trait over the decimal types, used by DecimalArray to provide a generic implementation across the various decimal types

Implemented by Decimal128Type and Decimal256Type for Decimal128Array and Decimal256Array respectively

Required Associated Constants§

Width of the type

Maximum number of significant digits

Maximum no of digits after the decimal point (note the scale can be negative)

fn to create its DataType

Default values for DataType

“Decimal128” or “Decimal256”, for use in error messages

Required Methods§

Formats the decimal value with the provided precision and scale

Validates that value contains no more than precision decimal digits

Implementors§