private Context.Operation getWriteOperation(String destination) {
    return deleting(destination) ? Context.Operation.DELETE :
        updating(destination) ? Context.Operation.UPDATE : 
        merging(destination) ? Context.Operation.MERGE : Context.Operation.OTHER;
  }
Construct the data structures containing ExprNodeDesc for partition
columns and order columns. Use the input definition to construct the list
of output columns for the ReduceSinkOperator
ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java