You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@avro.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2022/10/10 20:40:00 UTC

[jira] [Updated] (AVRO-3633) Additional attributes for 'avro_derive' crate

     [ https://issues.apache.org/jira/browse/AVRO-3633?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ASF GitHub Bot updated AVRO-3633:
---------------------------------
    Labels: easyfix features pull-request-available  (was: easyfix features)

> Additional attributes for 'avro_derive' crate
> ---------------------------------------------
>
>                 Key: AVRO-3633
>                 URL: https://issues.apache.org/jira/browse/AVRO-3633
>             Project: Apache Avro
>          Issue Type: Improvement
>          Components: rust
>    Affects Versions: 1.11.1
>            Reporter: Jimmy Pramosi
>            Priority: Minor
>              Labels: easyfix, features, pull-request-available
>   Original Estimate: 1h
>          Time Spent: 10m
>  Remaining Estimate: 50m
>
> Hello,
> At the moment it is not possible to skip or rename a specific field within a struct derived with 'AvroSchema'. For e.g.
> {code:java}
> use std::time::Instant;
> use apache_avro::AvroSchema;
> use serde::Deserialize;
> use serde::Serialize;
> #[derive(Clone, Debug, Deserialize, Serialize, AvroSchema)]
> pub struct FileDescriptor {
>     #[avro(rename = "pflags")]    // <--- NOT POSSIBLE
>     #[serde(rename = "pflags")]
>     pub flags: u64,
>     #[avro(skip)]                 // <--- NOT POSSIBLE
>     #[serde(skip)]
>     access_time: Instant,
> }{code}
> I would like to suggest to implement additional attributes 'skip' and 'rename' to the 'avro_derive' crate. These attributes are also common in other procedural macro crates like 'serde'.
> Exemplary proposal:
> [https://www.diffchecker.com/iju3tSuX]
>  
> Best Regards,
> Jimmy



--
This message was sent by Atlassian Jira
(v8.20.10#820010)