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

James Taylor updated PHOENIX-1060:
----------------------------------

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


  was:When data region split corresponding index region also should split to 
ensure co-location. At the same time we should ensure index region data split 
properly into it's daughter regions. 


> 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
>
> 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.2#6252)

Reply via email to