[
https://issues.apache.org/jira/browse/AVRO-4351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gang Wu reassigned AVRO-4351:
-----------------------------
> [C++] Preserve custom attributes on primitive schemas during JSON round-trip
> ----------------------------------------------------------------------------
>
> Key: AVRO-4351
> URL: https://issues.apache.org/jira/browse/AVRO-4351
> Project: Apache Avro
> Issue Type: Bug
> Components: c++
> Reporter: Gang Wu
> Assignee: Gang Wu
> Priority: Major
>
> Avro C++ does not currently preserve custom attributes attached directly to
> primitive schema objects during a JSON schema round-trip.
> For example:
>
> {code:java}
> {
> "type": "long",
> "logicalType": "timestamp-micros",
> "adjust-to-utc": true
> }
> {code}
> The schema compiler ignores unknown properties on primitive schema objects,
> and
> NodePrimitive::printJson does not serialize primitive custom attributes. As a
> result, adjust-to-utc and other custom properties are lost after parsing or
> serializing the schema.
> This affects integrations that rely on Avro schema properties. In particular,
> the Iceberg Avro serialization rules use adjust-to-utc to distinguish
> timestamp
> from timestamptz while representing both as long with the timestamp-micros
> logical type. Losing this property can cause timestamptz to be interpreted as
> timestamp.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)