private static DecimalTypeInfo getOutputTypeInfo(DecimalTypeInfo inputTypeInfo, int dec) { int prec = inputTypeInfo.precision(); int scale = inputTypeInfo.scale(); int intParts = prec - scale; // If we are rounding, we may introduce one more integer digit. int newIntParts = dec < scale ? intParts + 1 : intParts; int newScale = dec < 0 ? 0 : Math.min(dec, HiveDecimal.MAX_SCALE); int newPrec = Math.min(newIntParts + newScale, HiveDecimal.MAX_PRECISION); return TypeInfoFactory.getDecimalTypeInfo(newPrec, newScale); }
private void init() { StructTypeInfo structTypeInfo = (StructTypeInfo) outputTypeInfo; outputDecimalTypeInfo = (DecimalTypeInfo) structTypeInfo.getAllStructFieldTypeInfos().get(AVERAGE_SUM_FIELD_INDEX); sumScale = outputDecimalTypeInfo.scale(); sumPrecision = outputDecimalTypeInfo.precision(); }
private void init() { outputDecimalTypeInfo = (DecimalTypeInfo) outputTypeInfo; sumScale = outputDecimalTypeInfo.scale(); sumPrecision = outputDecimalTypeInfo.precision(); tempDecWritable = new HiveDecimalWritable(); }
private void init() { outputDecimalTypeInfo = (DecimalTypeInfo) outputTypeInfo; sumScale = outputDecimalTypeInfo.scale(); sumPrecision = outputDecimalTypeInfo.precision(); tempDecWritable = new HiveDecimalWritable(); }
public LazyHiveDecimal(LazyHiveDecimalObjectInspector oi) { super(oi); DecimalTypeInfo typeInfo = (DecimalTypeInfo)oi.getTypeInfo(); if (typeInfo == null) { throw new RuntimeException("Decimal type used without type params"); } precision = typeInfo.precision(); scale = typeInfo.scale(); data = new HiveDecimalWritable(); }
LazyBinaryHiveDecimal(WritableHiveDecimalObjectInspector oi) { super(oi); DecimalTypeInfo typeInfo = (DecimalTypeInfo) oi.getTypeInfo(); this.precision = typeInfo.precision(); this.scale = typeInfo.scale(); data = new HiveDecimalWritable(); }
@Override public String vectorExpressionParameters() { DecimalTypeInfo decimalTypeInfo = (DecimalTypeInfo) inputTypeInfos[0]; HiveDecimalWritable writable = new HiveDecimalWritable(); writable.deserialize64(value, decimalTypeInfo.scale()); return getColumnParamString(0, colNum) + ", decimal64Val " + value + ", decimalVal " + writable.toString(); }
@Override public String vectorExpressionParameters() { DecimalTypeInfo decimalTypeInfo = (DecimalTypeInfo) inputTypeInfos[1]; HiveDecimalWritable writable = new HiveDecimalWritable(); writable.deserialize64(value, decimalTypeInfo.scale()); return "decimal64Val " + value + ", decimalVal " + writable.toString() + ", " + getColumnParamString(1, colNum); }
@Override public String vectorExpressionParameters() { DecimalTypeInfo decimalTypeInfo = (DecimalTypeInfo) inputTypeInfos[1]; HiveDecimalWritable writable = new HiveDecimalWritable(); writable.deserialize64(value, decimalTypeInfo.scale()); return "decimal64Val " + value + ", decimalVal " + writable.toString() + ", " + getColumnParamString(1, colNum); }
@Override public String vectorExpressionParameters() { DecimalTypeInfo decimalTypeInfo = (DecimalTypeInfo) inputTypeInfos[0]; HiveDecimalWritable writable = new HiveDecimalWritable(); writable.deserialize64(value, decimalTypeInfo.scale()); return getColumnParamString(0, colNum) + ", decimal64Val " + value + ", decimalVal " + writable.toString(); }
@Override public String vectorExpressionParameters() { DecimalTypeInfo decimalTypeInfo = (DecimalTypeInfo) inputTypeInfos[0]; HiveDecimalWritable writable = new HiveDecimalWritable(); writable.deserialize64(value, decimalTypeInfo.scale()); return getColumnParamString(0, colNum) + ", decimal64Val " + value + ", decimalVal " + writable.toString(); }
@Override public String vectorExpressionParameters() { DecimalTypeInfo decimalTypeInfo = (DecimalTypeInfo) inputTypeInfos[0]; HiveDecimalWritable writable = new HiveDecimalWritable(); writable.deserialize64(value, decimalTypeInfo.scale()); return getColumnParamString(0, colNum) + ", decimal64Val " + value + ", decimalVal " + writable.toString(); }
@Override public String vectorExpressionParameters() { DecimalTypeInfo decimalTypeInfo = (DecimalTypeInfo) inputTypeInfos[0]; HiveDecimalWritable writable = new HiveDecimalWritable(); writable.deserialize64(value, decimalTypeInfo.scale()); return getColumnParamString(0, colNum) + ", decimal64Val " + value + ", decimalVal " + writable.toString(); }
@Override public String vectorExpressionParameters() { DecimalTypeInfo decimalTypeInfo = (DecimalTypeInfo) inputTypeInfos[1]; HiveDecimalWritable writable = new HiveDecimalWritable(); writable.deserialize64(value, decimalTypeInfo.scale()); return "decimal64Val " + value + ", decimalVal " + writable.toString() + ", " + getColumnParamString(1, colNum); }
@Override public String vectorExpressionParameters() { DecimalTypeInfo decimalTypeInfo = (DecimalTypeInfo) inputTypeInfos[0]; HiveDecimalWritable writable = new HiveDecimalWritable(); writable.deserialize64(value, decimalTypeInfo.scale()); return getColumnParamString(0, colNum) + ", decimal64Val " + value + ", decimalVal " + writable.toString(); }
@Override public String vectorExpressionParameters() { DecimalTypeInfo decimalTypeInfo = (DecimalTypeInfo) inputTypeInfos[1]; HiveDecimalWritable writable = new HiveDecimalWritable(); writable.deserialize64(value, decimalTypeInfo.scale()); return "decimal64Val " + value + ", decimalVal " + writable.toString() + ", " + getColumnParamString(1, colNum); }
@Override public String vectorExpressionParameters() { DecimalTypeInfo decimalTypeInfo = (DecimalTypeInfo) inputTypeInfos[1]; HiveDecimalWritable writable = new HiveDecimalWritable(); writable.deserialize64(value, decimalTypeInfo.scale()); return "decimal64Val " + value + ", decimalVal " + writable.toString() + ", " + getColumnParamString(1, colNum); }
@Override public HiveDecimalWritable getWritableConstantValue() { // We need to enforce precision/scale here. DecimalTypeInfo decTypeInfo = (DecimalTypeInfo) typeInfo; HiveDecimalWritable result = new HiveDecimalWritable(value); result.mutateEnforcePrecisionScale(decTypeInfo.precision(), decTypeInfo.scale()); if (!result.isSet()) { return null; } return result; }
@Override public String vectorExpressionParameters() { DecimalTypeInfo decimalTypeInfo = (DecimalTypeInfo) inputTypeInfos[1]; HiveDecimalWritable writable = new HiveDecimalWritable(); writable.deserialize64(arg2Scalar, decimalTypeInfo.scale()); return getColumnParamString(0, arg1Column) + ", decimal64Val " + arg2Scalar + ", decimalVal " + writable.toString() + ", " + getColumnParamString(1, arg3Column); }
@Override public String vectorExpressionParameters() { DecimalTypeInfo decimalTypeInfo = (DecimalTypeInfo) inputTypeInfos[2]; HiveDecimalWritable writable = new HiveDecimalWritable(); writable.deserialize64(arg3Scalar, decimalTypeInfo.scale()); return getColumnParamString(0, arg1Column) + ", " + getColumnParamString(1, arg2Column) + ", decimal64Val " + arg3Scalar + ", decimalVal " + writable.toString(); }