private void doValueExpr(VectorizedRowBatch batch,
      int[] selected, int size) throws HiveException {

    int saveBatchSize = batch.size;
    int[] saveSelected = batch.selected;
    boolean saveSelectedInUse = batch.selectedInUse;

    batch.size = size;
    batch.selected = selected;
    batch.selectedInUse = true;

    if (bigTableValueExpressions != null) {
      for(VectorExpression ve: bigTableValueExpressions) {
        ve.evaluate(batch);
      }
    }

    batch.size = saveBatchSize;
    batch.selected = saveSelected;
    batch.selectedInUse = saveSelectedInUse;
  }
Apply the value expression to rows specified by a selected array.

@param batch
         The vectorized row batch.
@param selected
         The (physical) batch indices to apply the expression to.
@param size
         The size of selected.
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinOuterGenerateResultOperator.java