[
https://issues.apache.org/jira/browse/FLINK-7410?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16192867#comment-16192867
]
ASF GitHub Bot commented on FLINK-7410:
---------------------------------------
Github user fhueske commented on a diff in the pull request:
https://github.com/apache/flink/pull/4624#discussion_r142933701
--- Diff:
flink-libraries/flink-table/src/main/scala/org/apache/flink/table/plan/nodes/CommonCorrelate.scala
---
@@ -183,17 +183,25 @@ trait CommonCorrelate {
}
private[flink] def correlateOpName(
+ inputType: RelDataType,
rexCall: RexCall,
sqlFunction: TableSqlFunction,
- rowType: RelDataType)
+ rowType: RelDataType,
+ expression: (RexNode, List[String], Option[List[RexNode]]) => String)
: String = {
- s"correlate: ${correlateToString(rexCall, sqlFunction)}, select:
${selectToString(rowType)}"
+ s"correlate: ${correlateToString(inputType, rexCall, sqlFunction,
expression)}," +
+ s" select: ${selectToString(rowType)}"
}
- private[flink] def correlateToString(rexCall: RexCall, sqlFunction:
TableSqlFunction): String = {
- val udtfName = sqlFunction.getName
- val operands =
rexCall.getOperands.asScala.map(_.toString).mkString(",")
+ private[flink] def correlateToString(
+ inputType: RelDataType,
+ rexCall: RexCall,
+ sqlFunction: TableSqlFunction,
+ expression: (RexNode, List[String], Option[List[RexNode]]) =>
String): String = {
+ val inFields = inputType.getFieldNames.asScala.toList
+ val udtfName = sqlFunction.toString
+ val operands = rexCall.getOperands.asScala.map(expression(_, inFields,
None)).mkString(",")
--- End diff --
Please add a space to the `mkString` call in `selectToString()` as well.
Thanks
> Use toString method to display operator names for UserDefinedFunction
> ---------------------------------------------------------------------
>
> Key: FLINK-7410
> URL: https://issues.apache.org/jira/browse/FLINK-7410
> Project: Flink
> Issue Type: Improvement
> Components: Table API & SQL
> Affects Versions: 1.4.0
> Reporter: Hequn Cheng
> Assignee: Hequn Cheng
>
> *Motivation*
> Operator names setted in table-api are used by visualization and logging, it
> is import to make these names simple and readable. Currently,
> UserDefinedFunction’s name contains class CanonicalName and md5 value making
> the name too long and unfriendly to users.
> As shown in the following example,
> {quote}
> select: (a, b, c,
> org$apache$flink$table$expressions$utils$RichFunc1$281f7e61ec5d8da894f5783e2e17a4f5(a)
> AS _c3,
> org$apache$flink$table$expressions$utils$RichFunc2$fb99077e565685ebc5f48b27edc14d98(c)
> AS _c4)
> {quote}
> *Changes:*
>
> Use {{toString}} method to display operator names for UserDefinedFunction.
> The method will return class name by default. Users can also override the
> method to return whatever he wants.
> What do you think [~fhueske] ?
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)