private void copyDecimalToDecimal64(DecimalColumnVector inColVector, int inBatchIndex,
        Decimal64ColumnVector outColVector, int outBatchIndex) {
      if (inColVector.isRepeating) {
        if (inColVector.noNulls || !inColVector.isNull[0]) {
          outColVector.isNull[outBatchIndex] = false;
          outColVector.set(outBatchIndex, inColVector.vector[0]);
        } else {
          VectorizedBatchUtil.setNullColIsNullValue(outColVector, outBatchIndex);
        }
      } else {
        if (inColVector.noNulls || !inColVector.isNull[inBatchIndex]) {
          outColVector.isNull[outBatchIndex] = false;
          outColVector.set(outBatchIndex, inColVector.vector[inBatchIndex]);
        } else {
          VectorizedBatchUtil.setNullColIsNullValue(outColVector, outBatchIndex);
        }
      }
    }
This class copies specified columns of a row from one VectorizedRowBatch to another.
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorCopyRow.java