Search in sources :

Example 41 with Filter

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");
}
Also used : Filter(org.apache.hadoop.hbase.filter.Filter)

Example 42 with Filter

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");
}
Also used : Filter(org.apache.hadoop.hbase.filter.Filter)

Example 43 with Filter

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);
}
Also used : Filter(org.apache.hadoop.hbase.filter.Filter)

Example 44 with Filter

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);
}
Also used : Filter(org.apache.hadoop.hbase.filter.Filter)

Example 45 with Filter

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);
}
Also used : Filter(org.apache.hadoop.hbase.filter.Filter)

Aggregations

Filter (org.apache.hadoop.hbase.filter.Filter)179 Test (org.junit.Test)97 Scan (org.apache.hadoop.hbase.client.Scan)95 BaseConnectionlessQueryTest (org.apache.phoenix.query.BaseConnectionlessQueryTest)77 SkipScanFilter (org.apache.phoenix.filter.SkipScanFilter)76 RowKeyComparisonFilter (org.apache.phoenix.filter.RowKeyComparisonFilter)74 SingleKeyValueComparisonFilter (org.apache.phoenix.filter.SingleKeyValueComparisonFilter)45 TestUtil.rowKeyFilter (org.apache.phoenix.util.TestUtil.rowKeyFilter)45 FilterList (org.apache.hadoop.hbase.filter.FilterList)43 RowFilter (org.apache.hadoop.hbase.filter.RowFilter)40 PhoenixConnection (org.apache.phoenix.jdbc.PhoenixConnection)37 TestUtil.multiEncodedKVFilter (org.apache.phoenix.util.TestUtil.multiEncodedKVFilter)33 TestUtil.singleKVFilter (org.apache.phoenix.util.TestUtil.singleKVFilter)33 PhoenixPreparedStatement (org.apache.phoenix.jdbc.PhoenixPreparedStatement)31 FirstKeyOnlyFilter (org.apache.hadoop.hbase.filter.FirstKeyOnlyFilter)27 SingleColumnValueFilter (org.apache.hadoop.hbase.filter.SingleColumnValueFilter)25 CompareFilter (org.apache.hadoop.hbase.filter.CompareFilter)24 PrefixFilter (org.apache.hadoop.hbase.filter.PrefixFilter)24 ArrayList (java.util.ArrayList)22 RegexStringComparator (org.apache.hadoop.hbase.filter.RegexStringComparator)18