[ https://issues.apache.org/jira/browse/PIG-1440?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12876011#action_12876011 ]
Dmitriy V. Ryaboy commented on PIG-1440: ---------------------------------------- I think Enums are great for this, and have wished many a time that the types were Enums while working with Pig. I do want to point out, though, that this will affect a lot of user code -- any EvalFunc that specifies a schema, any loadfunc that implements the metadata options, etc. Are we willing to break things for our users so soon after 0.7? > Refactor org.apache.pig.data.DataType to use Enums instead of integer > constants > ------------------------------------------------------------------------------- > > Key: PIG-1440 > URL: https://issues.apache.org/jira/browse/PIG-1440 > Project: Pig > Issue Type: Improvement > Reporter: Gianmarco De Francisci Morales > Priority: Minor > > Refactoring DataType to use Enums instead of integer constants would provide > many benefits, including: > * Cleaner code > * Easier to iterate over Enums > * Easier to add new Enums without braking backwards compatibility > * Can use EnumMaps for easily link values to Enums > * Better support for translation from Enums to Strings and viceversa > Int (or byte in Pig's case) Enum pattern has several drawbacks as summarized > here http://java.sun.com/j2se/1.5.0/docs/guide/language/enums.html > Drawbacks: > We have to explicitly convert Enum values to bytes when serializing. This can > be done in DataReaderWriter. > Possibly higher overhead than simply using bytes. > Refactoring might be difficult. > Thoughts? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.