@Override
  public List<String> getCols() {
    List<String> colList = new ArrayList<String>();
    if (children != null) {
      int pos = 0;
      while (pos < children.size()) {
        List<String> colCh = children.get(pos).getCols();
        colList = Utilities.mergeUniqElems(colList, colCh);
        pos++;
      }
    }

    return colList;
  }
This class uses a writableObjectInspector rather than a TypeInfo to store
the canonical type information for this NodeDesc.
ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeGenericFuncDesc.java