public override void setElement(int outElementNum, int inputElementNum, ColumnVector inputVector) { if (inputVector.isRepeating) { inputElementNum = 0; } if (inputVector.noNulls || !inputVector.isNull[inputElementNum]) { HiveDecimal hiveDec = ((DecimalColumnVector)inputVector).vector[inputElementNum]; if (hiveDec == null) { isNull[outElementNum] = true; noNulls = false; } else { isNull[outElementNum] = false; vector[outElementNum] = hiveDec; } } else { isNull[outElementNum] = true; noNulls = false; } }
public void setNullDataValue(int elementNum) { // E.g. For scale 2 the minimum is "0.01" HiveDecimal minimumNonZeroValue = HiveDecimal.create(BigInteger.One, scale); vector[elementNum] = minimumNonZeroValue; }
public void set(int elementNum, HiveDecimal hiveDec) { HiveDecimal checkedDec = HiveDecimal.enforcePrecisionScale(hiveDec, precision, scale); if (checkedDec == null) { noNulls = false; isNull[elementNum] = true; } else { vector[elementNum] = checkedDec; } }
// Fill the all the vector entries with provided value public void fill(HiveDecimal value) { noNulls = true; isRepeating = true; vector[0] = value; }