[
https://issues.apache.org/jira/browse/PHOENIX-1060?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14351763#comment-14351763
]
James Taylor commented on PHOENIX-1060:
---------------------------------------
+1. Please commit to 4.0 and master branches. We don't need this in the 4.3
branch.
> Replace ReferencingColumn with ColumnReference
> ----------------------------------------------
>
> Key: PHOENIX-1060
> URL: https://issues.apache.org/jira/browse/PHOENIX-1060
> Project: Phoenix
> Issue Type: Sub-task
> Reporter: rajeshbabu
> Assignee: Rajeshbabu Chintaguntla
> Priority: Minor
> Fix For: 5.0.0, 4.3.1
>
> Attachments: PHOENIX-1060.patch, PHOENIX-1060_v2.patch,
> PHOENIX-1060_v3.patch
>
>
> We currently have two separate classes that represent a column family/column
> qualifier combo: ColumnReference and ReferencingColumn. I believe the only
> difference is that ReferencingColumn allows a backing byte array to be used
> with an offset and length. Since ColumnReference already has an
> ImmutableBytesPtr we can add a constructor that takes two offsets and lengths
> for the family and qualifier and do a bit of minor refactoring (removing the
> family and qualifier member variables and just use the familyPtr and
> qualifierPtr ones exclusivly) so that we don't have two classes for the same
> thing:
> {code}
> public class ColumnReference implements Comparable<ColumnReference> {
>
> public ColumnReference(byte[] family, int familyOffset, int familyLength,
> byte[] qualifier, int qualifierOffset, int qualiferLength) {
> this.familyPtr = new ImmutableBytesPtr(family, familyOffset,
> familyLength);
> this.qualifierPtr = new ImmutableBytesPtr(qualifier, qualifierOffset,
> qualifierLength);
> this.hashCode = calcHashCode(familyPtr.get(), qualifierPtr.get());
> }
> {code}
> Another useful addition would be to implement Writable so we don't duplicate
> the serialization logic.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)