avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kevin Oliver (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AVRO-350) NPE on GenericData.Record.get(String) for a field that doesn't exist
Date Wed, 20 Jan 2010 17:56:54 GMT

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

Kevin Oliver commented on AVRO-350:

Actually, thinking about this a bit more. isSet() seems like a bit of a misnomer, as really
we are trying to distinguish between a field existing in the schema or not. Perhaps, hasField(String
name) instead?

Also, there is already the equivalent of isSet(String name) publicly exposed via GenericRecord.getSchema().getFields().get(name)
!= null. Adding hasField would just be a convenience method here, do we even need it? 

I'm leaning towards restoring the pre AVRO-278 behavior of returning null when asking for
a field that doesn't exist, and adding comments to get(String name) that explain how null
can mean two things:

   * Return the value of a field given its name. 
   * @return null if the given field does not exist in the schema.
   *    You can differentiate between a stored null and not existing in the schema
   *    by introspecting the record's schema.
  Object get(String key);

> NPE on GenericData.Record.get(String) for a field that doesn't exist
> --------------------------------------------------------------------
>                 Key: AVRO-350
>                 URL: https://issues.apache.org/jira/browse/AVRO-350
>             Project: Avro
>          Issue Type: Sub-task
>          Components: java
>    Affects Versions: 1.3.0
>            Reporter: Kevin Oliver
>         Attachments: AVRO-350.patch
> After the change in AVRO-278 to use arrays, GenericData.Record.get() gives an NPE if
you ask for a field that doesn't exist in the schema. 

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message