use of org.apache.hadoop.hbase.filter.Filter in project phoenix by apache.
the class DistinctPrefixFilterTest method testVariableAfterFixed.
public void testVariableAfterFixed() throws Exception {
Filter f = createFilter(new int[] { 5, -4 }, 1);
assertInclude("00000aaaa", f);
assertInclude("00001aaaa", f);
assertSeekAndHint("00001aaaa", f, "00002");
assertInclude("00003aaaa", f);
assertInclude("00004aaaa", f);
assertInclude("00005aaaa", f);
assertSeekAndHint("00005aaaa", f, "00006");
f = createFilter(new int[] { 5, -4 }, 2);
assertInclude("00000aaaa", f);
assertInclude("00001aaaa", f);
assertSeekAndHint("00001aaaa", f, "00001aaaa\01");
assertInclude("00003aaaa", f);
assertInclude("00004aaaa", f);
assertInclude("00005aaaa", f);
assertSeekAndHint("00005aaaa", f, "00005aaaa\01");
}
use of org.apache.hadoop.hbase.filter.Filter in project phoenix by apache.
the class DistinctPrefixFilterTest method testSingleVariableWidth.
public void testSingleVariableWidth() throws Exception {
Filter f = createFilter(new int[] { -5 }, 1);
assertInclude("00000", f);
assertInclude("00001", f);
assertSeekAndHint("00001", f, "00001\01");
assertInclude("00003", f);
assertInclude("00004", f);
assertInclude("00005", f);
assertSeekAndHint("00005", f, "00005\01");
}
use of org.apache.hadoop.hbase.filter.Filter in project phoenix by apache.
the class DistinctPrefixFilterTest method testMultiVariableWidth.
public void testMultiVariableWidth() throws Exception {
Filter f = createFilter(new int[] { -5, -4 }, 1);
assertInclude("00000\00aaaa", f);
assertInclude("00001\00aaaa", f);
assertSeekAndHint("00001\00aaaa", f, "00001\01");
assertInclude("00003\00aaaa", f);
assertInclude("00004\00aaaa", f);
assertInclude("00005\00aaaa", f);
assertSeekAndHint("00005\00aaaa", f, "00005\01");
f = createFilter(new int[] { -5, -4 }, 2);
assertInclude("00000\00aaaa", f);
assertInclude("00001\00aaaa", f);
assertSeekAndHint("00001\00aaaa", f, "00001\00aaaa\01");
assertInclude("00003\00aaaa", f);
assertInclude("00004\00aaaa", f);
assertInclude("00005\00aaaa", f);
assertSeekAndHint("00005\00aaaa", f, "00005\00aaaa\01");
f = createFilter(new int[] { -3, -2 }, 1);
f.setReversed(true);
assertInclude("005\00aa", f);
assertInclude("004\00aa", f);
assertSeekAndHint(new byte[] { '0', '0', '4', 0, 'a', 'a' }, f, new byte[] { '0', '0', '4' }, false);
f = createFilter(new int[] { -3, -2 }, 2);
f.setReversed(true);
assertInclude("005\00bb", f);
assertInclude("004\00bb", f);
assertSeekAndHint(new byte[] { '0', '0', '4', 0, 'b', 'b' }, f, new byte[] { '0', '0', '4', 0, 'b', 'b' }, false);
}
use of org.apache.hadoop.hbase.filter.Filter in project phoenix by apache.
the class DistinctPrefixFilterTest method testMultiFixedWidth.
public void testMultiFixedWidth() throws Exception {
Filter f = createFilter(new int[] { 5, 4 }, 1);
assertInclude("00000aaaa", f);
assertInclude("00001aaaa", f);
assertSeekAndHint("00001aaaa", f, "00002");
assertInclude("00003aaaa", f);
assertInclude("00004aaaa", f);
assertInclude("00005aaaa", f);
assertSeekAndHint("00005aaaa", f, "00006");
f = createFilter(new int[] { 5, 4 }, 2);
assertInclude("00000aaaa", f);
assertInclude("00001aaaa", f);
assertSeekAndHint("00001aaaa", f, "00001aaab");
assertInclude("00003aaaa", f);
assertInclude("00004aaaa", f);
assertInclude("00005aaaa", f);
assertSeekAndHint("00005aaaa", f, "00005aaab");
f = createFilter(new int[] { 3, 2 }, 1);
f.setReversed(true);
assertInclude("005aa", f);
assertInclude("004aa", f);
assertSeekAndHint(new byte[] { '0', '0', '4', 'a', 'a' }, f, new byte[] { '0', '0', '4' }, false);
assertInclude("003aa", f);
assertInclude("002aa", f);
assertInclude("001aa", f);
assertSeekAndHint(new byte[] { '0', '0', '1', 'a', 'a' }, f, new byte[] { '0', '0', '1' }, false);
f = createFilter(new int[] { 3, 2 }, 2);
f.setReversed(true);
assertInclude("005bb", f);
assertInclude("004bb", f);
assertInclude("003bb", f);
assertSeekAndHint(new byte[] { '0', '0', '3', 'b', 'b' }, f, new byte[] { '0', '0', '3', 'b', 'b' }, false);
assertInclude("003ba", f);
assertInclude("002bb", f);
assertInclude("001bb", f);
assertSeekAndHint(new byte[] { '0', '0', '1', 'b', 'b' }, f, new byte[] { '0', '0', '1', 'b', 'b' }, false);
}
use of org.apache.hadoop.hbase.filter.Filter in project phoenix by apache.
the class DistinctPrefixFilterTest method testNoNextKey.
public void testNoNextKey() throws Exception {
Filter f = createFilter(new int[] { 2, 2 }, 1);
assertInclude("00cc", f);
assertInclude(new byte[] { -1, -1, 20, 20 }, f);
// make sure we end the scan when we cannot increase a fixed length prefix
assertSeekAndHint(new byte[] { -1, -1, 20, 20 }, f, new byte[] { -1, -1 }, true);
assertSeekAndHint(new byte[] { -1, -1, 20, 20 }, f, new byte[] { -1, -1 }, true);
f = createFilter(new int[] { 2, 2 }, 1);
f.setReversed(true);
assertInclude(new byte[] { 0, 0, 1, 1 }, f);
assertSeekAndHint(new byte[] { 0, 0, 1, 1 }, f, new byte[] { 0, 0 }, false);
assertSeekAndHint(new byte[] { 0, 0, 1, 1 }, f, new byte[] { 0, 0 }, false);
}
Aggregations