[ 
https://issues.apache.org/jira/browse/HCATALOG-17?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jakob Homan updated HCATALOG-17:
--------------------------------

    Attachment: HCAT-17-2.patch

If we're optimizing for this, it's not necessary to keep a separate hash, since 
{{fieldPositionMap}} is keyed off of the field name and {{containsKey}} 
provides constant time results (modulo key collisions - I checked the source to 
verify).  Updated patch to use this.  

Also added symmetrical null check in the constructor (as in the append method) 
since we're accepting a {{List}} interface, which allows null values.  

Also removed a check for null on {{fieldSchemas}} in the append method since 
{{fieldSchemas}} is a final field and you can't successfully construct an 
instance of {{HCatSchema}} with this field null.

> Shouldn't be able to add an HCatFieldSchema with the same name as existing
> --------------------------------------------------------------------------
>
>                 Key: HCATALOG-17
>                 URL: https://issues.apache.org/jira/browse/HCATALOG-17
>             Project: HCatalog
>          Issue Type: Bug
>            Reporter: Jakob Homan
>            Assignee: Jakob Homan
>         Attachments: HCAT-17-2.patch, dupe_fields.patch
>
>
> (cloning from https://github.com/yahoo/howl/pull/6)
> As noted in HowlSchema.java, one should not be able to append an a field 
> schema with the same name. The code says that this requires Comparable, which 
> is not correct, since we're not doing ordering. Technically, this requires a 
> correct equals, but since we don't want multiple fields with the same name in 
> a schema (particularly since we index it via the name in the accompanying 
> map), the correct check is just based on the name. This adds the check and 
> throws a HowlException if this occurs.
> Unit test to verify is included. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to