@Override protected void func(DecimalColumnVector outV, DoubleColumnVector inV, int i) { HiveDecimalWritable decWritable = outV.vector[i]; // TEMPORARY: In order to avoid a new version of storage-api, do the conversion here... byte[] floatBytes = Float.toString((float) inV.vector[i]).getBytes(); decWritable.setFromBytes(floatBytes, 0, floatBytes.length); if (!decWritable.mutateEnforcePrecisionScale(outV.precision, outV.scale)) { outV.isNull[i] = true; outV.noNulls = false; } }
@Override public void init(ByteArrayRef bytes, int start, int length) { LazyBinarySerDe.setFromBigIntegerBytesAndScale(bytes.getData(), start, length, data); data.mutateEnforcePrecisionScale(precision, scale); } }
public static void addChecked(int i, HiveDecimal left, HiveDecimal right, DecimalColumnVector outputColVector) { HiveDecimalWritable decWritable = outputColVector.vector[i]; decWritable.set(left); decWritable.mutateAdd(right); decWritable.mutateEnforcePrecisionScale(outputColVector.precision, outputColVector.scale); if (!decWritable.isSet()) { outputColVector.noNulls = false; outputColVector.isNull[i] = true; } }
public static void divideChecked(int i, HiveDecimalWritable left, HiveDecimalWritable right, DecimalColumnVector outputColVector) { HiveDecimalWritable decWritable = outputColVector.vector[i]; decWritable.set(left); decWritable.mutateDivide(right); decWritable.mutateEnforcePrecisionScale(outputColVector.precision, outputColVector.scale); if (!decWritable.isSet()) { outputColVector.noNulls = false; outputColVector.isNull[i] = true; } }
public static void floor(int i, HiveDecimal input, DecimalColumnVector outputColVector) { HiveDecimalWritable decWritable = outputColVector.vector[i]; decWritable.set(input); decWritable.mutateSetScale(0, HiveDecimal.ROUND_FLOOR); decWritable.mutateEnforcePrecisionScale(outputColVector.precision, outputColVector.scale); if (!decWritable.isSet()) { outputColVector.noNulls = false; outputColVector.isNull[i] = true; } }
public static void round(int i, HiveDecimalWritable input, int decimalPlaces, DecimalColumnVector outputColVector) { HiveDecimalWritable decWritable = outputColVector.vector[i]; decWritable.set(input); decWritable.mutateSetScale(decimalPlaces, HiveDecimal.ROUND_HALF_UP); decWritable.mutateEnforcePrecisionScale(outputColVector.precision, outputColVector.scale); if (!decWritable.isSet()) { outputColVector.noNulls = false; outputColVector.isNull[i] = true; } }
byte[] validatedScaledDecimal(int inpScale) { hiveDecimalWritable.mutateEnforcePrecisionScale(hivePrecision, hiveScale); if (hiveDecimalWritable.isSet()) { this.isValid = true; return hiveDecimalWritable.getHiveDecimal().bigIntegerBytesScaled(inpScale); } else { this.isValid = false; return null; } }
public static void subtractChecked(int i, HiveDecimalWritable left, HiveDecimal right, DecimalColumnVector outputColVector) { HiveDecimalWritable decWritable = outputColVector.vector[i]; decWritable.set(left); decWritable.mutateSubtract(right); decWritable.mutateEnforcePrecisionScale(outputColVector.precision, outputColVector.scale); if (!decWritable.isSet()) { outputColVector.noNulls = false; outputColVector.isNull[i] = true; } }
public static void divideChecked(int i, HiveDecimal left, HiveDecimal right, DecimalColumnVector outputColVector) { HiveDecimalWritable decWritable = outputColVector.vector[i]; decWritable.set(left); decWritable.mutateDivide(right); decWritable.mutateEnforcePrecisionScale(outputColVector.precision, outputColVector.scale); if (!decWritable.isSet()) { outputColVector.noNulls = false; outputColVector.isNull[i] = true; } }
public static void moduloChecked(int i, HiveDecimal left, HiveDecimal right, DecimalColumnVector outputColVector) { HiveDecimalWritable decWritable = outputColVector.vector[i]; decWritable.set(left); decWritable.mutateRemainder(right); decWritable.mutateEnforcePrecisionScale(outputColVector.precision, outputColVector.scale); if (!decWritable.isSet()) { outputColVector.noNulls = false; outputColVector.isNull[i] = true; } }
public static void subtractChecked(int i, HiveDecimalWritable left, HiveDecimalWritable right, DecimalColumnVector outputColVector) { HiveDecimalWritable decWritable = outputColVector.vector[i]; decWritable.set(left); decWritable.mutateSubtract(right); decWritable.mutateEnforcePrecisionScale(outputColVector.precision, outputColVector.scale); if (!decWritable.isSet()) { outputColVector.noNulls = false; outputColVector.isNull[i] = true; } }
public static void multiplyChecked(int i, HiveDecimal left, HiveDecimal right, DecimalColumnVector outputColVector) { HiveDecimalWritable decWritable = outputColVector.vector[i]; decWritable.set(left); decWritable.mutateMultiply(right); decWritable.mutateEnforcePrecisionScale(outputColVector.precision, outputColVector.scale); if (!decWritable.isSet()) { outputColVector.noNulls = false; outputColVector.isNull[i] = true; } }
public static void multiplyChecked(int i, HiveDecimal left, HiveDecimalWritable right, DecimalColumnVector outputColVector) { HiveDecimalWritable decWritable = outputColVector.vector[i]; decWritable.set(left); decWritable.mutateMultiply(right); decWritable.mutateEnforcePrecisionScale(outputColVector.precision, outputColVector.scale); if (!decWritable.isSet()) { outputColVector.noNulls = false; outputColVector.isNull[i] = true; } }
public static void divideChecked(int i, HiveDecimal left, HiveDecimalWritable right, DecimalColumnVector outputColVector) { HiveDecimalWritable decWritable = outputColVector.vector[i]; decWritable.set(left); decWritable.mutateDivide(right); decWritable.mutateEnforcePrecisionScale(outputColVector.precision, outputColVector.scale); if (!decWritable.isSet()) { outputColVector.noNulls = false; outputColVector.isNull[i] = true; } }
public static void ceiling(int i, HiveDecimal input, DecimalColumnVector outputColVector) { HiveDecimalWritable decWritable = outputColVector.vector[i]; decWritable.set(input); decWritable.mutateSetScale(0, HiveDecimal.ROUND_CEILING); decWritable.mutateEnforcePrecisionScale(outputColVector.precision, outputColVector.scale); if (!decWritable.isSet()) { outputColVector.noNulls = false; outputColVector.isNull[i] = true; } }
public static void round(int i, HiveDecimal input, DecimalColumnVector outputColVector) { HiveDecimalWritable decWritable = outputColVector.vector[i]; decWritable.set(input); decWritable.mutateSetScale(outputColVector.scale, HiveDecimal.ROUND_HALF_UP); decWritable.mutateEnforcePrecisionScale(outputColVector.precision, outputColVector.scale); if (!decWritable.isSet()) { outputColVector.noNulls = false; outputColVector.isNull[i] = true; } }
public static void bround(int i, HiveDecimalWritable input, DecimalColumnVector outputColVector) { HiveDecimalWritable decWritable = outputColVector.vector[i]; decWritable.set(input); decWritable.mutateSetScale(outputColVector.scale, HiveDecimal.ROUND_HALF_EVEN); decWritable.mutateEnforcePrecisionScale(outputColVector.precision, outputColVector.scale); if (!decWritable.isSet()) { outputColVector.noNulls = false; outputColVector.isNull[i] = true; } }
public static void subtractChecked(int i, HiveDecimal left, HiveDecimal right, DecimalColumnVector outputColVector) { HiveDecimalWritable decWritable = outputColVector.vector[i]; decWritable.set(left); decWritable.mutateSubtract(right); decWritable.mutateEnforcePrecisionScale(outputColVector.precision, outputColVector.scale); if (!decWritable.isSet()) { outputColVector.noNulls = false; outputColVector.isNull[i] = true; } }
public static void moduloChecked(int i, HiveDecimalWritable left, HiveDecimalWritable right, DecimalColumnVector outputColVector) { HiveDecimalWritable decWritable = outputColVector.vector[i]; decWritable.set(left); decWritable.mutateRemainder(right); decWritable.mutateEnforcePrecisionScale(outputColVector.precision, outputColVector.scale); if (!decWritable.isSet()) { outputColVector.noNulls = false; outputColVector.isNull[i] = true; } }
public static void round(int i, HiveDecimalWritable input, DecimalColumnVector outputColVector) { HiveDecimalWritable decWritable = outputColVector.vector[i]; decWritable.set(input); decWritable.mutateSetScale(outputColVector.scale, HiveDecimal.ROUND_HALF_UP); decWritable.mutateEnforcePrecisionScale(outputColVector.precision, outputColVector.scale); if (!decWritable.isSet()) { outputColVector.noNulls = false; outputColVector.isNull[i] = true; } }