private static void writeDecimalData(DecimalVector vector, int valueCount) { final BigDecimal even = new BigDecimal(0.0543278923); final BigDecimal odd = new BigDecimal(2.0543278923); for (int i = 0; i < valueCount; i++) { if (i % 2 == 0) { vector.setSafe(i, even); } else { vector.setSafe(i, odd); } } vector.setValueCount(valueCount); }
public void populate(final int count){ for (int i = 0; i < count; i++) { if(value != null) { ((DecimalVector) vector).setSafe(i, value); } } vector.setValueCount(count); }
public void populate(final int count){ final byte[] value = TwosComplementValuePair.this.value; if(value != null) { for (int i = 0; i < count; i++) { /* bytes are already set in buf in LE byte order, populate the decimal vector now */ vector.setSafe(i, buf); } } vector.setValueCount(count); }
@Override public void set(ValueVector v, int index) { if(obj != null){ ((DecimalVector) v).setSafe(index, obj); } }
@Override public void setSafeValue(ObjectInspector oi, Object hiveFieldValue, ValueVector outputVV, int outputIndex) { DecimalUtility.writeBigDecimalToArrowBuf(((HiveDecimalObjectInspector)oi).getPrimitiveJavaObject(hiveFieldValue).bigDecimalValue().setScale(holder.scale, RoundingMode.HALF_UP), holder.buffer, holder.start); ((DecimalVector) outputVV).setSafe(outputIndex, 1, 0, holder.buffer); } }
public void write(DecimalHolder h) { vector.setSafe(idx(), h); vector.setValueCount(idx()+1); }
public void write(NullableDecimalHolder h) { vector.setSafe(idx(), h); vector.setValueCount(idx()+1); }
public void writeDecimal(int start, ArrowBuf buffer) { vector.setSafe(idx(), 1, start, buffer); vector.setValueCount(idx()+1); }
public void writeDecimal(BigDecimal value) { vector.setSafe(idx(), value); vector.setValueCount(idx()+1); }
static BigDecimal[] populate16ByteValues(DecimalVector vector, int size){ vector.allocateNew(); BigDecimal values[] = new BigDecimal[size]; for(int i =0; i < values.length; i++){ if (RAND.nextBoolean()) { values[i] = new BigDecimal(RAND.nextLong()); vector.setSafe(i, values[i]); } } vector.setValueCount(values.length); return values; }
static BigDecimal[] populate16ByteValuesWithoutNull(DecimalVector vector, int size){ vector.allocateNew(); BigDecimal values[] = new BigDecimal[size]; for(int i =0; i < values.length; i++){ values[i] = new BigDecimal(RAND.nextLong()); vector.setSafe(i, values[i]); } vector.setValueCount(values.length); return values; }
private static void insertIntoDecimalVector(int index, int value, BaseFixedWidthVector vector) { DecimalVector vec = (DecimalVector)vector; DecimalHolder holder = new DecimalHolder(); holder.buffer = vec.getDataBuffer(); DecimalUtility.writeBigDecimalToArrowBuf(new BigDecimal(value), holder.buffer, 0); holder.start = 0; holder.scale = 0; holder.precision = 38; vec.setSafe(index, holder); }
switch (type.getMode()) { case REQUIRED: ((DecimalVector) vector).setSafe(index, (DecimalHolder) holder); return; case OPTIONAL: if (holder instanceof NullableDecimalHolder) { if (((NullableDecimalHolder) holder).isSet == 1) { ((DecimalVector) vector).setSafe(index, (NullableDecimalHolder) holder); } else { ((DecimalVector) vector).isSafe(index); ((DecimalVector) vector).setSafe(index, (DecimalHolder) holder);