@Override public byte[] toBytes(Object object, SortOrder sortOrder) { return toBytes(object, PChar.INSTANCE, sortOrder); }
@Override public Object toObject(byte[] bytes, int offset, int length, PDataType actualType, SortOrder sortOrder, Integer maxLength, Integer scale) { return toObject(bytes, offset, length, PChar.INSTANCE, sortOrder, maxLength, scale, PChar.INSTANCE); }
@Override public int compareTo(Object lhs, Object rhs, PDataType rhsType) { return compareTo(lhs, rhs); }
@Test public void testForCharArray() { String[] strArr = new String[2]; strArr[0] = "a"; strArr[1] = "d"; PhoenixArray arr = PArrayDataType.instantiatePhoenixArray( PChar.INSTANCE, strArr); byte[] bytes = PCharArray.INSTANCE.toBytes(arr); PhoenixArray resultArr = (PhoenixArray) PCharArray.INSTANCE.toObject( bytes, 0, bytes.length, PCharArray.INSTANCE, null, 1, null); assertEquals(arr, resultArr); }
@Override public Object getSampleValue(Integer maxLength, Integer arrayLength) { return getSampleValue(PChar.INSTANCE, arrayLength, maxLength); } }
@Override public boolean isCoercibleTo(PDataType targetType) { return isCoercibleTo(targetType, this); }
@Test public void testOptionalDescriptionType() { testType(new ColumnInfo("a.myColumn", Types.CHAR), "CHAR:\"a\".\"myColumn\""); testType(new ColumnInfo("a.myColumn", Types.CHAR, 100), "CHAR(100):\"a\".\"myColumn\""); testType(new ColumnInfo("a.myColumn", Types.VARCHAR), "VARCHAR:\"a\".\"myColumn\""); testType(new ColumnInfo("a.myColumn", Types.VARCHAR, 100), "VARCHAR(100):\"a\".\"myColumn\""); testType(new ColumnInfo("a.myColumn", Types.DECIMAL), "DECIMAL:\"a\".\"myColumn\""); testType(new ColumnInfo("a.myColumn", Types.DECIMAL, 100, 10), "DECIMAL(100,10):\"a\".\"myColumn\""); testType(new ColumnInfo("a.myColumn", Types.BINARY, 5), "BINARY(5):\"a\".\"myColumn\""); // Array types testType(new ColumnInfo("a.myColumn", PCharArray.INSTANCE.getSqlType(), 3), "CHAR(3) ARRAY:\"a\".\"myColumn\""); testType(new ColumnInfo("a.myColumn", PDecimalArray.INSTANCE.getSqlType(), 10, 2), "DECIMAL(10,2) ARRAY:\"a\".\"myColumn\""); testType(new ColumnInfo("a.myColumn", PVarcharArray.INSTANCE.getSqlType(), 4), "VARCHAR(4) ARRAY:\"a\".\"myColumn\""); }
@Override public Object getSampleValue(Integer maxLength, Integer arrayLength) { return getSampleValue(PChar.INSTANCE, arrayLength, maxLength); } }
@Override public boolean isCoercibleTo(PDataType targetType) { return isCoercibleTo(targetType, this); }
@Override public byte[] toBytes(Object object) { return toBytes(object, SortOrder.ASC); }
@Override public Object toObject(byte[] bytes, int offset, int length, PDataType actualType, SortOrder sortOrder, Integer maxLength, Integer scale) { return toObject(bytes, offset, length, PChar.INSTANCE, sortOrder, maxLength, scale, PChar.INSTANCE); }
@Override public Object getSampleValue(Integer maxLength, Integer arrayLength) { return getSampleValue(PChar.INSTANCE, arrayLength, maxLength); } }
@Override public int compareTo(Object lhs, Object rhs, PDataType rhsType) { return compareTo(lhs, rhs); }
@Override public boolean isCoercibleTo(PDataType targetType) { return isCoercibleTo(targetType, this); }
@Override public byte[] toBytes(Object object, SortOrder sortOrder) { return toBytes(object, PChar.INSTANCE, sortOrder); }
@Override public Object toObject(byte[] bytes, int offset, int length, PDataType actualType, SortOrder sortOrder, Integer maxLength, Integer scale) { return toObject(bytes, offset, length, PChar.INSTANCE, sortOrder, maxLength, scale, PChar.INSTANCE); }
@Override public int compareTo(Object lhs, Object rhs, PDataType rhsType) { return compareTo(lhs, rhs); }
@Override public byte[] toBytes(Object object) { return toBytes(object, SortOrder.ASC); }
@Override public byte[] toBytes(Object object) { return toBytes(object, SortOrder.ASC); }
@Override public byte[] toBytes(Object object, SortOrder sortOrder) { return toBytes(object, PChar.INSTANCE, sortOrder); }