Skip to content

Support new Arrow types decimal32 and decimal64 #6661

Open
@CurtHagenlocher

Description

@CurtHagenlocher

The Arrow specification was recently amended to support 32-bit and 64-bit decimal values. It would be good for the Rust implementation to support these.

I have made preliminary changes at https://github.com/CurtHagenlocher/arrow-rs/tree/decimal3264. The gaps which remain are

  1. Support for conversions between decimal32/decimal64 and other types.
  2. Support for reading lower-precision decimal values from Parquet as decimal32 or decimal64. Parquet already supports storing 32-bit and 64-bit decimal values, but these are currently being expanded to at least 128-bits on read when they could be returned more efficiently. This support should probably be opt-in to avoid breaking client code which isn't yet aware of the new types.

I could submit a PR as-is; otherwise, will try to find the time in the next month to implement the gaps I've identified.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementAny new improvement worthy of a entry in the changelog

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions