[
https://issues.apache.org/jira/browse/ARROW-10636?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Lamb resolved ARROW-10636.
---------------------------------
Fix Version/s: 3.0.0
Resolution: Fixed
Issue resolved by pull request 8698
[https://github.com/apache/arrow/pull/8698]
> [Rust] Remove specialisation from Rust parquet
> ----------------------------------------------
>
> Key: ARROW-10636
> URL: https://issues.apache.org/jira/browse/ARROW-10636
> Project: Apache Arrow
> Issue Type: Sub-task
> Components: Rust
> Reporter: Greg Bowyer
> Priority: Major
> Labels: parquet, pull-request-available
> Fix For: 3.0.0
>
> Time Spent: 8h 10m
> Remaining Estimate: 0h
>
> This is a very initial attempt at removing the specialization features from
> the Rust Parquet implementation.
> The specialisation is too complex to be covered by {{min_specialization}} and
> requires a bit of reworking in the crate.
> Right now the code dispatches in sub-traits and methods on the Parquet type,
> and uses a combination of trait abuse, macros and transmutes to eliminate the
> feature.
> I have broken this up into several commits ranging from the simplest removals
> (which could probably be taken fairly easily) to the most ugly and complex.
> I am not stoked on the {{transmute}} abuse, and I think another take (or
> follow up) should be taken to remove as many as possible in the code.
> The general trait for {{DataType::T}} has been made a private sealed trait to
> make it impossible to implement external to the Parquet crate, this is
> intentional as I dont think many of the public interfaces are sensible for
> end users to be able to implement.
> h1. TODO:
> * Purge the added {{std::mem::transmute}}s if possible
> * Refine and rationalise the {{unimplemented!}} implementations
> * Performance test?
--
This message was sent by Atlassian Jira
(v8.3.4#803005)