You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2022/01/05 06:46:00 UTC

[jira] [Commented] (AVRO-3256) IDL: annotations on type references change the referenced type

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

ASF subversion and git services commented on AVRO-3256:
-------------------------------------------------------

Commit 7c5d8df3fb282b1dffa6d11169756ed5593de838 in avro's branch refs/heads/dependabot/cargo/lang/rust/crc-2.1.0 from Oscar Westra van Holthe - Kind
[ https://gitbox.apache.org/repos/asf?p=avro.git;h=7c5d8df ]

AVRO-3257: IDL support for nullable types (#1411)

* AVRO-3256: IDL type reference with annotation throws error

Previous versions would alter the referenced type when encountering an
annotation on (for example) a field type. This change makes references
read-only.

* AVRO-3256: Document new behavior of annotations

Documented that references to named types cannot be annotated. Also
described where annotations for named types should go.

Lastly, the example has been fixed to match this change, and now also
 contains various types of documentation.

* AVRO-3257: Add syntax for unions of null with a type

Added Kotlin-style syntax for optional types. `MyType?` compiles to the
same result as `union { null, MyType }`.

This commit includes the documentation update.

* AVRO-3257: Remove unused variable from JavaCC grammar

* AVRO-3257: Fluid unions for optional types

The syntax for optional types now put the null type in the unions based
on the default value (if any).

This commit includes the documentation update.

* AVRO-3257: Add comments explaining features

* Fix typo in HTML

Co-authored-by: Ryan Skraba <ry...@skraba.com>

Co-authored-by: Ryan Skraba <ry...@skraba.com>

> IDL: annotations on type references change the referenced type
> --------------------------------------------------------------
>
>                 Key: AVRO-3256
>                 URL: https://issues.apache.org/jira/browse/AVRO-3256
>             Project: Apache Avro
>          Issue Type: Bug
>          Components: java, spec, tools
>    Affects Versions: 1.11.0
>            Reporter: Oscar Westra van Holthe - Kind
>            Assignee: Oscar Westra van Holthe - Kind
>            Priority: Major
>              Labels: javacc, pull-request-available
>             Fix For: 1.11.1
>
>          Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> The IDL compiler allows annotations on type references, and applies them on the referenced type.
> As can be seen in the test output file {{simple.avpr}}, the type {{MD5}} has the property {{"foo"="bar"}}.
> But in the input file {{simple.avdl}}:
> * The type definition in lines 39-40 has no such property
> * Line 53 adds the property to the type for the field {{hash}},
> * But it's also silently added to the  type for the field {{nullableHash}} in line 55
> Solution: do not accept annotations for type references.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)