Sean Policarpio created AVRO-2132:
-------------------------------------

             Summary: Avro IDL: Support dot ('.') character in property 
annotation names
                 Key: AVRO-2132
                 URL: https://issues.apache.org/jira/browse/AVRO-2132
             Project: Avro
          Issue Type: Improvement
          Components: java
    Affects Versions: 1.8.2
            Reporter: Sean Policarpio


Unless there is a strong reason why names like @foo.bar can't be used as 
property annotations in IDL, I propose an enhancement to the IDL parser to 
allow it.

The major drive for this change comes from Kafka Connect; for a certain fields 
– namely timestamps – additional metadata must be present in the schema when 
certain consumers read the data (e.g. [the JDBC 
connector|https://github.com/confluentinc/kafka-connect-jdbc]). What I hoped 
when using IDL was to write the following for a record field:

 
{code:java}
union {null, @connect.version(1) 
@connect.name("org.apache.kafka.connect.data.Timestamp") long} queryTime;{code}
so that the following would be available in the schemata:

 
{code:java}
{
  "name": "queryTime",
  "type": [
    "null",
    {
      "type": "long",
      "connect.version": 1,
      "connect.name": "org.apache.kafka.connect.data.Timestamp"
    }
  ],
  "default": null
}{code}
Unfortunately, both connect.version and connect.name are unacceptable by the 
parser.

The change for this is quite minimal as it can be based on AVRO-1267.

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to