public List<String> getRawInputColumnNames() throws SemanticException {
    if (!transformsRawInput()) {
      return null;
    }
    throw new SemanticException(
        "Function transforms Raw Input; must extend getRawColumnInputNames");
  }
This method is invoked during runtime(during deserialization of theQueryDef).
At this point the TableFunction can assume that the {@link ExprNodeDesc Expression Nodes}
exist for all the Def (ArgDef, ColumnDef, WindowDef..). It is the responsibility of
the TableFunction to construct the {@link ExprNodeEvaluator evaluators} and setup the OI.

@throws HiveException
ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/TableFunctionResolver.java