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

Alan Gates commented on HCATALOG-17:
------------------------------------

When checking if the field name already exists its doing a linear search.  
Since it will do this for every field you add, that means we have sum(1..n) 
comparison operations every time we build a schema.  Assuming memory isn't at a 
premium here (we should only be keeping one copy of the schema for each 
partition), we should have a separate hash that stores the field names so we 
can do n comparison operations instead.

> 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: 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