You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Kalle Niemitalo (Jira)" <ji...@apache.org> on 2022/07/19 07:34:00 UTC

[jira] [Commented] (AVRO-3547) support custom attribute at field level

    [ https://issues.apache.org/jira/browse/AVRO-3547?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17568390#comment-17568390 ] 

Kalle Niemitalo commented on AVRO-3547:
---------------------------------------

It is not clear from the spec whether those are allowed.

The text permitting custom attributes in schema objects is as follows

{quote}
A JSON object, of the form:

{{\{"type": "typeName" ...attributes...\}}}

where _typeName_ is either a primitive or derived type name, as defined below. Attributes not defined in this document are permitted as metadata, but must not affect the format of serialized data.
{quote}

but there is no similar wording for fields (of records or errors), protocols, or messages.


> support custom attribute at field level
> ---------------------------------------
>
>                 Key: AVRO-3547
>                 URL: https://issues.apache.org/jira/browse/AVRO-3547
>             Project: Apache Avro
>          Issue Type: Improvement
>          Components: c++
>            Reporter: Nilesh Yadav
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 2h 10m
>  Remaining Estimate: 0h
>
> Custom attributes are allowed at field level as per Avro specification : [https://avro.apache.org/docs/current/spec.html#schemas|https://www.google.com/url?q=https://avro.apache.org/docs/current/spec.html%23schemas&sa=D&source=buganizer&usg=AOvVaw3JfXMgFX6Eq0Fd0TjDzgb1] 
> But Avro c++ implementation does not support custom attribute at field level.
> e.g. following schema cannot be parsed correctly due to presence of "sqlName" attribute.
> {
>     'doc': 'weather warning',
>     'name': 'weather',
>     'type': 'record',
>     'fields': [
>     {
>         'name': 'station',
>         'type':'string',
>         'sqlName':'abc-@12'
>     },
>     {
>         'name': 'time',
>         'type':'long',
>         'sqlName': '用户名'
>     }]
> }
> Update implementation to support custom attribute at field level.



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