private void assignNullRowColumn(
    ColumnVector columnVector, int batchIndex, TypeInfo targetTypeInfo) {

    VectorizedBatchUtil.setNullColIsNullValue(columnVector, batchIndex);     
    
    if (targetTypeInfo.getCategory() == Category.STRUCT) {
      final StructColumnVector structColumnVector = (StructColumnVector) columnVector;
      final StructTypeInfo targetStructTypeInfo = (StructTypeInfo) targetTypeInfo;
      final List<TypeInfo> targetFieldTypeInfos = targetStructTypeInfo.getAllStructFieldTypeInfos();
      final int size = targetFieldTypeInfos.size();
      
      for (int i = 0; i < size; i++) {
        assignRowColumn(structColumnVector.fields[i], batchIndex, targetFieldTypeInfos.get(i), null);
      }
    }
  }
Assign a row's column object to the ColumnVector at batchIndex in the VectorizedRowBatch.

@param batch
@param batchIndex
@param logicalColumnIndex
@param object    The row column object whose type is the target data type.
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorAssignRow.java