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

Reid Chan commented on HBASE-19950:
-----------------------------------

v8 patch adds javadoc for method #createFilterFromArguments(ArrayList) and 
#parseFrom(byte[]), and one more test case to address Anoop's concerns. 

Following snippet shows with {{#addColumn(...)}}, results will be limited to 
specified column, that's why i said {{#addColumn(...)}} is a strong constraint. 
While test case 7 without column constraint will scan more results. Both 
behaviors are in line with expectations, and i think this filter should read 
other CFs by default.
Hoping that i make it clear, and address your concern, [~anoop.hbase].
{code}
    // 9. Test specified columns with FilterList(MUST_PASS_ONE)
    // (ColumnValueFilter, != f[1]:q5[1]:v[1]) || (QualifierFilter, = q5[0])
    // Result is different from Test 7, because column is strongly constrained 
by specified columns
    Scan anotherScan = new Scan().addColumn(FAMILIES[1], QUALIFIERS_FIVE[1])
      .setFilter(new FilterList(Operator.MUST_PASS_ONE, orFilters));
    KeyValue[] expectedValues =
      { new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_FIVE[1], VALUES[0]),
        new KeyValue(ROWS_TWO[1], FAMILIES[1], QUALIFIERS_FIVE[1], VALUES[0]),
        new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_FIVE[1], VALUES[0]),
        new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_FIVE[1], VALUES[0]) };
    verifyScanFull(anotherScan, expectedValues);
{code}

BTW, please allow me to break the checkstyle of {{MethodLength}} exception from 
method {{#testColumnValueFilter()}}, becauses test cases should cover enough, 
and not let it block the commitment. :P

> Introduce a ColumnValueFilter
> -----------------------------
>
>                 Key: HBASE-19950
>                 URL: https://issues.apache.org/jira/browse/HBASE-19950
>             Project: HBase
>          Issue Type: Improvement
>          Components: Filters
>            Reporter: Reid Chan
>            Assignee: Reid Chan
>            Priority: Minor
>         Attachments: HBASE-19950.master.001.patch, 
> HBASE-19950.master.002.patch, HBASE-19950.master.003.patch, 
> HBASE-19950.master.004.patch, HBASE-19950.master.005.patch, 
> HBASE-19950.master.006.patch, HBASE-19950.master.007.patch, 
> HBASE-19950.master.008.patch
>
>
> Different from {{SingleColumnValueFilter}} which returns an entire row when 
> specified condition is matched, this new filter will return the matched cell 
> only. There're already some discussions in HBASE-19824.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to