public List<FieldNode> getColsFromSelectExpr(SelectOperator op) {
    List<FieldNode> cols = new ArrayList<>();
    SelectDesc conf = op.getConf();
    if(conf.isSelStarNoCompute()) {
      for (ColumnInfo colInfo : op.getSchema().getSignature()) {
        cols.add(new FieldNode(colInfo.getInternalName()));
      }
    } else {
      List<ExprNodeDesc> exprList = conf.getColList();
        for (ExprNodeDesc expr : exprList) {
          cols = mergeFieldNodesWithDesc(cols, expr);
        }
    }
    return cols;
  }
Creates the list of internal column names (represented by field nodes)
from select expressions in a select operator. This function is used for the
select operator instead of the genColLists function (which is used by
the rest of the operators).

@param op The select operator.
@return a list of field nodes representing the internal column names.
ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcCtx.java