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)