[ 
https://issues.apache.org/jira/browse/PHOENIX-3667?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15883416#comment-15883416
 ] 

James Taylor commented on PHOENIX-3667:
---------------------------------------

A few minor nits on patch for EncodedCQIncrementalResultTuple:
- Can we name markTupleAsImmutable method as setImmutable to match the other 
one?
- The refCount member variable goes from 0 to expectedCardinality directly. How 
about adding a setCell method to EncodedCQIncrementalResultTuple and calling 
that instead of making the filteredKeyValues.setCell call this directly? Then 
you could increment refCount when that's called.
{code}
+        if (isQualifierForColumnInWhereExpression(qualifier)) {
+            filteredKeyValues.setCell(qualifier, cell);
{code}
- Can the getValue(int index) method call filteredKeyValues.get(index)? I know 
it won't be efficient, but it's not currently called anyway.


> Optimize BooleanExpressionFilter for tables with encoded columns
> ----------------------------------------------------------------
>
>                 Key: PHOENIX-3667
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3667
>             Project: Phoenix
>          Issue Type: Sub-task
>            Reporter: James Taylor
>            Assignee: Samarth Jain
>         Attachments: PHOENIX-3667_wip.patch
>
>
> The client side of Phoenix determines the subclass of BooleanExpressionFilter 
> we use based on how many column families and column qualifiers are being 
> referenced. The idea is to minimize the lookup cost during filter evaluation. 
> For encoded columns, instead of using a Map or Set, we can create a few new 
> subclasses of BooleanExpressionFilter that use an array instead. No need for 
> any lookups or equality checks - just fill in the position based on the 
> column qualifier value instead. Since filters are applied on every row 
> between the start/stop key, this will improve performance quite a bit.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to