On Sun, Jun 30, 2013 at 10:15 PM, Ted Yu <[email protected]> wrote:
> The clause 'family=X and column=Y and KeyOnlyFilter' would be represented > by a FilterList, right ? > (family=A and colymn=B) would be represented by another FilterList. > Yes, that would be FilterList(OR, [FilterList(AND, [family=X, column=Y, KeyOnlyFilter]), FilterList(AND, [family=A, column=B])]). So the behavior is expected. > Could you explain, I'm not sure how you reach this conclusion. Are you saying it is expected, given the actual implementation FilterList.transform()? Or are there some other details I missed? Thanks! C. On Mon, Jul 1, 2013 at 1:10 PM, Christophe Taton <[email protected]> wrote: > > > Hi, > > > > From > > > > > https://github.com/apache/hbase/blob/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java#L183 > > , > > it appears that Filter.transform() is invoked unconditionally on all > > filters in a FilterList hierarchy. > > > > This is quite confusing, especially since I may construct a filter like: > > (family=X and column=Y and KeyOnlyFilter) or (family=A and colymn=B) > > The KeyOnlyFilter will remove all values from the KeyValues in A:B as > well. > > > > Is my understanding correct? Is this an expected/intended behavior? > > > > Thanks, > > C. > > >
