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