incubator-hcatalog-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jakob Homan (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HCATALOG-17) Shouldn't be able to add an HCatFieldSchema with the same name as existing
Date Tue, 03 May 2011 22:45:03 GMT

     [ 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

Mime
View raw message