phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rajeshbabu Chintaguntla (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (PHOENIX-1060) Replace ReferencingColumn with ColumnReference
Date Sat, 07 Mar 2015 12:31:38 GMT

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

Rajeshbabu Chintaguntla updated PHOENIX-1060:
---------------------------------------------
    Attachment: PHOENIX-1060_v3.patch

Here is the patch addressing the James latest comment which can be committed.
[~samarthjain] It's just cleanup patch. Not that much critical to keep in 4.3.1. It's fine
for me to commit after 4.3.1 release as well.
Thanks.

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

Mime
View raw message