Search in sources :

Example 6 with ArrayConcatFunction

use of org.apache.phoenix.expression.function.ArrayConcatFunction in project phoenix by apache.

the class ArrayConcatFunctionTest method testForCorrectSeparatorBytes1.

@Test
public void testForCorrectSeparatorBytes1() throws Exception {
    Object[] o1 = new Object[] { "a", "b" };
    Object[] o2 = new Object[] { "c", "d", "e" };
    PDataType type = PVarcharArray.INSTANCE;
    PDataType base = PVarchar.INSTANCE;
    PhoenixArray arr1 = new PhoenixArray(base, o1);
    PhoenixArray arr2 = new PhoenixArray(base, o2);
    LiteralExpression array1Literal, array2Literal;
    array1Literal = LiteralExpression.newConstant(arr1, type, null, null, SortOrder.ASC, Determinism.ALWAYS);
    array2Literal = LiteralExpression.newConstant(arr2, type, null, null, SortOrder.ASC, Determinism.ALWAYS);
    List<Expression> expressions = Lists.newArrayList((Expression) array1Literal);
    expressions.add(array2Literal);
    Expression arrayConcatFunction = new ArrayConcatFunction(expressions);
    ImmutableBytesWritable ptr = new ImmutableBytesWritable();
    arrayConcatFunction.evaluate(null, ptr);
    byte[] expected = new byte[] { 97, 0, 98, 0, 99, 0, 100, 0, 101, 0, 0, 0, -128, 1, -128, 3, -128, 5, -128, 7, -128, 9, 0, 0, 0, 12, 0, 0, 0, 5, 1 };
    assertArrayEquals(expected, ptr.get());
}
Also used : ImmutableBytesWritable(org.apache.hadoop.hbase.io.ImmutableBytesWritable) ArrayConcatFunction(org.apache.phoenix.expression.function.ArrayConcatFunction) Test(org.junit.Test)

Aggregations

ImmutableBytesWritable (org.apache.hadoop.hbase.io.ImmutableBytesWritable)6 ArrayConcatFunction (org.apache.phoenix.expression.function.ArrayConcatFunction)6 Test (org.junit.Test)5