public static void setFromBigIntegerBytesAndScale(byte[] bytes, int offset, int length,
                                  HiveDecimalWritable dec) {
    LazyBinaryUtils.VInt vInt = new LazyBinaryUtils.VInt();
    LazyBinaryUtils.readVInt(bytes, offset, vInt);
    int scale = vInt.value;
    offset += vInt.length;
    LazyBinaryUtils.readVInt(bytes, offset, vInt);
    offset += vInt.length;
    dec.setFromBigIntegerBytesAndScale(bytes, offset, vInt.value, scale);
  }
Serialize a struct object without writing the byte size. This function is
shared by both row serialization and struct serialization.

@param byteStream
         the byte stream storing the serialization data
@param fieldData
         the struct object to serialize
@param fieldOis
         the struct object inspector
@param warnedOnceNullMapKey a boolean indicating whether a warning
         has been issued once already when encountering null map keys
serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinarySerDe.java