Missing a data type
Opened this issue · 0 comments
xiaowuler commented
zachary.zhanghao.columnar.type.TypeResolverFactory
source code
static {
defaultResolvers.put(String.class, new StringResolver());
defaultResolvers.put(Date.class, new DateResolver());
defaultResolvers.put(Boolean.class, new BooleanResolver());
defaultResolvers.put(boolean.class, new BooleanResolver());
defaultResolvers.put(Byte.class, new ByteResolver());
defaultResolvers.put(byte.class, new ByteResolver());
defaultResolvers.put(Short.class, new ShortResolver());
defaultResolvers.put(short.class, new ShortResolver());
defaultResolvers.put(Integer.class, new IntegerResolver());
defaultResolvers.put(int.class, new IntegerResolver());
defaultResolvers.put(Long.class, new LongResolver());
defaultResolvers.put(long.class, new LongResolver());
defaultResolvers.put(Float.class, new FloatResolver());
defaultResolvers.put(float.class, new FloatResolver());
defaultResolvers.put(Double.class, new DoubleResolver());
defaultResolvers.put(double.class, new DoubleResolver());
}
modify
static {
defaultResolvers.put(String.class, new StringResolver());
defaultResolvers.put(Date.class, new DateResolver());
defaultResolvers.put(Boolean.class, new BooleanResolver());
defaultResolvers.put(boolean.class, new BooleanResolver());
defaultResolvers.put(Byte.class, new ByteResolver());
defaultResolvers.put(byte.class, new ByteResolver());
defaultResolvers.put(Short.class, new ShortResolver());
defaultResolvers.put(short.class, new ShortResolver());
defaultResolvers.put(Integer.class, new IntegerResolver());
defaultResolvers.put(int.class, new IntegerResolver());
defaultResolvers.put(Long.class, new LongResolver());
defaultResolvers.put(long.class, new LongResolver());
defaultResolvers.put(Float.class, new FloatResolver());
defaultResolvers.put(float.class, new FloatResolver());
defaultResolvers.put(Double.class, new DoubleResolver());
defaultResolvers.put(double.class, new DoubleResolver());
defaultResolvers.put(BigDecimal.class, new BigDecinalResolver());
}
public static class BigDecinalResolver extends TypeResolverBase {
@Override
public byte[] toBytes(BigDecimal object) {
Preconditions.checkArgument(accept(object), "target type can't be match BigDecimal");
return Bytes.toBytes(object);
}
@Override
public BigDecimal toObject(byte[] bytes) {
return Bytes.toBigDecimal(bytes);
}
}