You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by dw...@apache.org on 2019/06/06 20:29:33 UTC

[flink] 02/04: [FLINK-12737][table-planner] Generate unique attributes for aggregations within a single operation rather than globally per TableEnvironment

This is an automated email from the ASF dual-hosted git repository.

dwysakowicz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git

commit 60a9c6115eb74e89b4c5b3362d416904f7c064e1
Author: Dawid Wysakowicz <dw...@apache.org>
AuthorDate: Wed Jun 5 11:07:06 2019 +0200

    [FLINK-12737][table-planner] Generate unique attributes for aggregations
    within a single operation rather than globally per TableEnvironment
---
 .../operations/OperationExpressionsUtils.java      |  18 +---
 .../org/apache/flink/table/api/TableEnvImpl.scala  |   5 -
 .../org/apache/flink/table/api/tableImpl.scala     |  26 +-----
 .../table/operations/OperationTreeBuilder.scala    |   7 +-
 .../table/api/batch/table/AggregateTest.scala      |  26 +++---
 .../flink/table/api/batch/table/CalcTest.scala     |  20 ++--
 .../table/api/batch/table/GroupWindowTest.scala    |  64 ++++++-------
 .../table/api/batch/table/SetOperatorsTest.scala   |   8 +-
 .../table/api/stream/table/AggregateTest.scala     |  38 ++++----
 .../flink/table/api/stream/table/CalcTest.scala    |   6 +-
 .../api/stream/table/ColumnFunctionsTest.scala     |   6 +-
 .../table/GroupWindowTableAggregateTest.scala      |  28 +++---
 .../table/api/stream/table/GroupWindowTest.scala   | 104 ++++++++++-----------
 .../table/api/stream/table/SetOperatorsTest.scala  |  16 ++--
 .../table/api/stream/table/TableSourceTest.scala   |   4 +-
 .../GroupWindowTableAggregateValidationTest.scala  |   2 +-
 .../table/plan/TimeIndicatorConversionTest.scala   |  20 ++--
 .../flink/table/utils/LogicalPlanFormatUtils.scala |   4 +-
 18 files changed, 184 insertions(+), 218 deletions(-)

diff --git a/flink-table/flink-table-api-java/src/main/java/org/apache/flink/table/operations/OperationExpressionsUtils.java b/flink-table/flink-table-api-java/src/main/java/org/apache/flink/table/operations/OperationExpressionsUtils.java
index 801fc68..d1faf5e 100644
--- a/flink-table/flink-table-api-java/src/main/java/org/apache/flink/table/operations/OperationExpressionsUtils.java
+++ b/flink-table/flink-table-api-java/src/main/java/org/apache/flink/table/operations/OperationExpressionsUtils.java
@@ -32,7 +32,6 @@ import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Optional;
-import java.util.function.Supplier;
 import java.util.stream.Collectors;
 
 import static org.apache.flink.table.expressions.ApiExpressionUtils.call;
@@ -87,14 +86,11 @@ public class OperationExpressionsUtils {
 	 * from the given expressions.
 	 *
 	 * @param expressions a list of expressions to extract
-	 * @param uniqueAttributeGenerator a supplier that every time returns a unique attribute
 	 * @return a Tuple2, the first field contains the extracted and deduplicated aggregations,
 	 * and the second field contains the extracted and deduplicated window properties.
 	 */
-	public static CategorizedExpressions extractAggregationsAndProperties(
-			List<Expression> expressions,
-			Supplier<String> uniqueAttributeGenerator) {
-		AggregationAndPropertiesSplitter splitter = new AggregationAndPropertiesSplitter(uniqueAttributeGenerator);
+	public static CategorizedExpressions extractAggregationsAndProperties(List<Expression> expressions) {
+		AggregationAndPropertiesSplitter splitter = new AggregationAndPropertiesSplitter();
 		expressions.forEach(expr -> expr.accept(splitter));
 
 		List<Expression> projections = expressions.stream()
@@ -149,13 +145,9 @@ public class OperationExpressionsUtils {
 
 	private static class AggregationAndPropertiesSplitter extends ApiExpressionDefaultVisitor<Void> {
 
+		private int uniqueId = 0;
 		private final Map<Expression, String> aggregates = new LinkedHashMap<>();
 		private final Map<Expression, String> properties = new LinkedHashMap<>();
-		private final Supplier<String> uniqueAttributeGenerator;
-
-		private AggregationAndPropertiesSplitter(Supplier<String> uniqueAttributeGenerator) {
-			this.uniqueAttributeGenerator = uniqueAttributeGenerator;
-		}
 
 		@Override
 		public Void visitLookupCall(LookupCallExpression unresolvedCall) {
@@ -166,9 +158,9 @@ public class OperationExpressionsUtils {
 		public Void visitCall(CallExpression call) {
 			FunctionDefinition functionDefinition = call.getFunctionDefinition();
 			if (isFunctionOfType(call, AGGREGATE_FUNCTION)) {
-				aggregates.computeIfAbsent(call, expr -> uniqueAttributeGenerator.get());
+				aggregates.computeIfAbsent(call, expr -> "EXPR$" + uniqueId++);
 			} else if (WINDOW_PROPERTIES.contains(functionDefinition)) {
-				properties.computeIfAbsent(call, expr -> uniqueAttributeGenerator.get());
+				properties.computeIfAbsent(call, expr -> "EXPR$" + uniqueId++);
 			} else {
 				call.getChildren().forEach(c -> c.accept(this));
 			}
diff --git a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/api/TableEnvImpl.scala b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/api/TableEnvImpl.scala
index b9ae912..9a5011b 100644
--- a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/api/TableEnvImpl.scala
+++ b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/api/TableEnvImpl.scala
@@ -741,11 +741,6 @@ abstract class TableEnvImpl(
       .flatMap(t => JavaScalaConversionUtil.toScala(t.getCatalogTable))
   }
 
-  /** Returns a unique temporary attribute name. */
-  private[flink] def createUniqueAttributeName(): String = {
-    "TMP_" + attrNameCntr.getAndIncrement()
-  }
-
   /** Returns the [[FlinkRelBuilder]] of this TableEnvironment. */
   private[flink] def getRelBuilder: FlinkRelBuilder = {
     val currentCatalogName = catalogManager.getCurrentCatalog
diff --git a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/api/tableImpl.scala b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/api/tableImpl.scala
index 705796d..ee4b6ae 100644
--- a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/api/tableImpl.scala
+++ b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/api/tableImpl.scala
@@ -18,7 +18,6 @@
 package org.apache.flink.table.api
 
 import _root_.java.util.Collections.emptyList
-import _root_.java.util.function.Supplier
 
 import org.apache.calcite.rel.RelNode
 import org.apache.flink.table.expressions.{Expression, ExpressionParser, LookupCallResolver}
@@ -73,9 +72,7 @@ class TableImpl(
 
   override def select(fields: Expression*): Table = {
     val expressionsWithResolvedCalls = fields.map(_.accept(callResolver)).asJava
-    val extracted = extractAggregationsAndProperties(
-      expressionsWithResolvedCalls,
-      getUniqueAttributeSupplier)
+    val extracted = extractAggregationsAndProperties(expressionsWithResolvedCalls)
 
     if (!extracted.getWindowProperties.isEmpty) {
       throw new ValidationException("Window properties can only be used on windowed tables.")
@@ -94,12 +91,6 @@ class TableImpl(
     }
   }
 
-  private[flink] def getUniqueAttributeSupplier: Supplier[String] = {
-    new Supplier[String] {
-      override def get(): String = tableEnv.createUniqueAttributeName()
-    }
-  }
-
   override def createTemporalTableFunction(
       timeAttribute: String,
       primaryKey: String)
@@ -406,9 +397,7 @@ class TableImpl(
 
   private def addColumnsOperation(replaceIfExist: Boolean, fields: Expression*): Table = {
     val expressionsWithResolvedCalls = fields.map(_.accept(callResolver)).asJava
-    val extracted = extractAggregationsAndProperties(
-      expressionsWithResolvedCalls,
-      getUniqueAttributeSupplier)
+    val extracted = extractAggregationsAndProperties(expressionsWithResolvedCalls)
 
     val aggNames = extracted.getAggregations
 
@@ -502,8 +491,7 @@ class GroupedTableImpl(
 
   override def select(fields: Expression*): Table = {
     val expressionsWithResolvedCalls = fields.map(_.accept(tableImpl.callResolver)).asJava
-    val extracted = extractAggregationsAndProperties(expressionsWithResolvedCalls,
-      tableImpl.getUniqueAttributeSupplier)
+    val extracted = extractAggregationsAndProperties(expressionsWithResolvedCalls)
 
     if (!extracted.getWindowProperties.isEmpty) {
       throw new ValidationException("Window properties can only be used on windowed tables.")
@@ -630,9 +618,7 @@ class WindowGroupedTableImpl(
 
   override def select(fields: Expression*): Table = {
     val expressionsWithResolvedCalls = fields.map(_.accept(tableImpl.callResolver)).asJava
-    val extracted = extractAggregationsAndProperties(
-      expressionsWithResolvedCalls,
-      tableImpl.getUniqueAttributeSupplier)
+    val extracted = extractAggregationsAndProperties(expressionsWithResolvedCalls)
 
     new TableImpl(tableImpl.tableEnv,
       tableImpl.operationTreeBuilder.project(
@@ -677,9 +663,7 @@ class WindowFlatAggregateTableImpl(
 
   override def select(fields: Expression*): Table = {
     val expressionsWithResolvedCalls = fields.map(_.accept(tableImpl.callResolver))
-    val extracted = extractAggregationsAndProperties(
-      expressionsWithResolvedCalls,
-      tableImpl.getUniqueAttributeSupplier)
+    val extracted = extractAggregationsAndProperties(expressionsWithResolvedCalls)
 
     if (extracted.getAggregations.nonEmpty) {
       throw new ValidationException("Aggregate functions cannot be used in the select right " +
diff --git a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/operations/OperationTreeBuilder.scala b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/operations/OperationTreeBuilder.scala
index 0a99030..7a145b8 100644
--- a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/operations/OperationTreeBuilder.scala
+++ b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/operations/OperationTreeBuilder.scala
@@ -39,7 +39,6 @@ import org.apache.flink.util.Preconditions
 
 import _root_.scala.collection.JavaConversions._
 import _root_.scala.collection.JavaConverters._
-import _root_.java.util.function.Supplier
 
 /**
   * Builder for [[[Operation]] tree.
@@ -119,11 +118,7 @@ class OperationTreeBuilder(private val tableEnv: TableEnvImpl) {
 
     val callResolver = new LookupCallResolver(tableEnv.functionCatalog)
     val expressionsWithResolvedCalls = projectList.map(_.accept(callResolver)).asJava
-    val extracted = extractAggregationsAndProperties(
-      expressionsWithResolvedCalls,
-      new Supplier[String] {
-        override def get(): String = tableEnv.createUniqueAttributeName()
-      })
+    val extracted = extractAggregationsAndProperties(expressionsWithResolvedCalls)
     if (!extracted.getWindowProperties.isEmpty) {
       throw new ValidationException("Window properties can only be used on windowed tables.")
     }
diff --git a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/batch/table/AggregateTest.scala b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/batch/table/AggregateTest.scala
index 25a98d8..8f45850 100644
--- a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/batch/table/AggregateTest.scala
+++ b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/batch/table/AggregateTest.scala
@@ -52,9 +52,9 @@ class AggregateTest extends TableTestBase {
       term("groupBy", "a"),
       term("select",
         "a",
-        "AVG(a) AS TMP_0",
-        "SUM(b) AS TMP_1",
-        "COUNT(c) AS TMP_2")
+        "AVG(a) AS EXPR$0",
+        "SUM(b) AS EXPR$1",
+        "COUNT(c) AS EXPR$2")
     )
 
     util.verifyTable(resultTable,expected)
@@ -70,9 +70,9 @@ class AggregateTest extends TableTestBase {
       "DataSetAggregate",
       batchTableNode(sourceTable),
       term("select",
-        "AVG(a) AS TMP_0",
-        "SUM(b) AS TMP_1",
-        "COUNT(c) AS TMP_2")
+        "AVG(a) AS EXPR$0",
+        "SUM(b) AS EXPR$1",
+        "COUNT(c) AS EXPR$2")
     )
     util.verifyTable(resultTable, expected)
   }
@@ -98,9 +98,9 @@ class AggregateTest extends TableTestBase {
       "DataSetAggregate",
       calcNode,
       term("select",
-        "AVG(a) AS TMP_0",
-        "SUM(b) AS TMP_1",
-        "COUNT(c) AS TMP_2")
+        "AVG(a) AS EXPR$0",
+        "SUM(b) AS EXPR$1",
+        "COUNT(c) AS EXPR$2")
     )
 
     util.verifyTable(resultTable, expected)
@@ -128,10 +128,10 @@ class AggregateTest extends TableTestBase {
       calcNode,
       term(
         "select",
-        "AVG(a) AS TMP_0",
-        "SUM(b) AS TMP_1",
-        "COUNT(c) AS TMP_2",
-        "SUM($f3) AS TMP_3")
+        "AVG(a) AS EXPR$0",
+        "SUM(b) AS EXPR$1",
+        "COUNT(c) AS EXPR$2",
+        "SUM($f3) AS EXPR$3")
     )
     util.verifyTable(resultTable, expected)
   }
diff --git a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/batch/table/CalcTest.scala b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/batch/table/CalcTest.scala
index ea9880c..7f8bc81 100644
--- a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/batch/table/CalcTest.scala
+++ b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/batch/table/CalcTest.scala
@@ -143,7 +143,7 @@ class CalcTest extends TableTestBase {
         batchTableNode(sourceTable),
         term("select", "a", "b")
       ),
-      term("select", "SUM(a) AS TMP_0", "MAX(b) AS TMP_1")
+      term("select", "SUM(a) AS EXPR$0", "MAX(b) AS EXPR$1")
     )
 
     util.verifyTable(resultTable, expected)
@@ -226,9 +226,9 @@ class CalcTest extends TableTestBase {
             term("select", "a", "c")
           ),
           term("groupBy", "c"),
-          term("select", "c", "SUM(a) AS TMP_0")
+          term("select", "c", "SUM(a) AS EXPR$0")
         ),
-        term("select", "TMP_0")
+        term("select", "EXPR$0")
       )
 
     util.verifyTable(resultTable, expected)
@@ -253,9 +253,9 @@ class CalcTest extends TableTestBase {
             term("select", "a", "UPPER(c) AS k")
           ),
           term("groupBy", "k"),
-          term("select", "k", "SUM(a) AS TMP_0")
+          term("select", "k", "SUM(a) AS EXPR$0")
         ),
-        term("select", "TMP_0")
+        term("select", "EXPR$0")
       )
 
     util.verifyTable(resultTable, expected)
@@ -280,9 +280,9 @@ class CalcTest extends TableTestBase {
             term("select", "a", "MyHashCode$(c) AS k")
           ),
           term("groupBy", "k"),
-          term("select", "k", "SUM(a) AS TMP_0")
+          term("select", "k", "SUM(a) AS EXPR$0")
         ),
-        term("select", "TMP_0")
+        term("select", "EXPR$0")
       )
 
     util.verifyTable(resultTable, expected)
@@ -303,10 +303,10 @@ class CalcTest extends TableTestBase {
           "DataSetAggregate",
           batchTableNode(sourceTable),
           term("groupBy", "word"),
-          term("select", "word", "SUM(frequency) AS TMP_0")
+          term("select", "word", "SUM(frequency) AS EXPR$0")
         ),
-        term("select", "word, TMP_0 AS frequency"),
-        term("where", "=(TMP_0, 2)")
+        term("select", "word, EXPR$0 AS frequency"),
+        term("where", "=(EXPR$0, 2)")
       )
 
     util.verifyTable(resultTable, expected)
diff --git a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/batch/table/GroupWindowTest.scala b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/batch/table/GroupWindowTest.scala
index 1720a66..44defbd 100644
--- a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/batch/table/GroupWindowTest.scala
+++ b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/batch/table/GroupWindowTest.scala
@@ -49,7 +49,7 @@ class GroupWindowTest extends TableTestBase {
       batchTableNode(table),
       term("groupBy", "string"),
       term("window", "TumblingGroupWindow('w, 'long, 2)"),
-      term("select", "string", "COUNT(int) AS TMP_0")
+      term("select", "string", "COUNT(int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -72,7 +72,7 @@ class GroupWindowTest extends TableTestBase {
       batchTableNode(table),
       term("groupBy", "string"),
       term("window", "TumblingGroupWindow('w, 'long, 5.millis)"),
-      term("select", "string", "myWeightedAvg(long, int) AS TMP_0")
+      term("select", "string", "myWeightedAvg(long, int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -93,7 +93,7 @@ class GroupWindowTest extends TableTestBase {
       batchTableNode(table),
       term("groupBy", "string"),
       term("window", "TumblingGroupWindow('w, 'long, 5.millis)"),
-      term("select", "string", "COUNT(int) AS TMP_0")
+      term("select", "string", "COUNT(int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -117,7 +117,7 @@ class GroupWindowTest extends TableTestBase {
         term("select", "long", "int")
       ),
       term("window", "TumblingGroupWindow('w, 'long, 5.millis)"),
-      term("select", "COUNT(int) AS TMP_0")
+      term("select", "COUNT(int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -141,7 +141,7 @@ class GroupWindowTest extends TableTestBase {
         term("select", "long", "int")
       ),
       term("window", "TumblingGroupWindow('w, 'long, 2)"),
-      term("select", "COUNT(int) AS TMP_0")
+      term("select", "COUNT(int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -162,8 +162,8 @@ class GroupWindowTest extends TableTestBase {
       batchTableNode(table),
       term("groupBy", "string"),
       term("window", "TumblingGroupWindow('w, 'ts, 7200000.millis)"),
-      term("select", "string", "COUNT(int) AS TMP_0",
-        "start('w) AS TMP_1", "end('w) AS TMP_2", "rowtime('w) AS TMP_3")
+      term("select", "string", "COUNT(int) AS EXPR$0",
+        "start('w) AS EXPR$1", "end('w) AS EXPR$2", "rowtime('w) AS EXPR$3")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -184,8 +184,8 @@ class GroupWindowTest extends TableTestBase {
       batchTableNode(table),
       term("groupBy", "string"),
       term("window", "TumblingGroupWindow('w, 'ts, 7200000.millis)"),
-      term("select", "string", "COUNT(int) AS TMP_0",
-        "start('w) AS TMP_1", "end('w) AS TMP_2", "rowtime('w) AS TMP_3")
+      term("select", "string", "COUNT(int) AS EXPR$0",
+        "start('w) AS EXPR$1", "end('w) AS EXPR$2", "rowtime('w) AS EXPR$3")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -210,7 +210,7 @@ class GroupWindowTest extends TableTestBase {
       batchTableNode(table),
       term("groupBy", "string"),
       term("window", "SlidingGroupWindow('w, 'long, 8.millis, 10.millis)"),
-      term("select", "string", "COUNT(int) AS TMP_0")
+      term("select", "string", "COUNT(int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -231,7 +231,7 @@ class GroupWindowTest extends TableTestBase {
       batchTableNode(table),
       term("groupBy", "string"),
       term("window", "SlidingGroupWindow('w, 'long, 2, 1)"),
-      term("select", "string", "COUNT(int) AS TMP_0")
+      term("select", "string", "COUNT(int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -254,7 +254,7 @@ class GroupWindowTest extends TableTestBase {
       batchTableNode(table),
       term("groupBy", "string"),
       term("window", "SlidingGroupWindow('w, 'long, 8.millis, 10.millis)"),
-      term("select", "string", "myWeightedAvg(long, int) AS TMP_0")
+      term("select", "string", "myWeightedAvg(long, int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -278,7 +278,7 @@ class GroupWindowTest extends TableTestBase {
         term("select", "long", "int")
       ),
       term("window", "SlidingGroupWindow('w, 'long, 8.millis, 10.millis)"),
-      term("select", "COUNT(int) AS TMP_0")
+      term("select", "COUNT(int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -302,7 +302,7 @@ class GroupWindowTest extends TableTestBase {
         term("select", "long", "int")
       ),
       term("window", "SlidingGroupWindow('w, 'long, 2, 1)"),
-      term("select", "COUNT(int) AS TMP_0")
+      term("select", "COUNT(int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -323,8 +323,8 @@ class GroupWindowTest extends TableTestBase {
       batchTableNode(table),
       term("groupBy", "string"),
       term("window", "SlidingGroupWindow('w, 'ts, 3600000.millis, 600000.millis)"),
-      term("select", "string", "COUNT(int) AS TMP_0",
-        "start('w) AS TMP_1", "end('w) AS TMP_2", "rowtime('w) AS TMP_3")
+      term("select", "string", "COUNT(int) AS EXPR$0",
+        "start('w) AS EXPR$1", "end('w) AS EXPR$2", "rowtime('w) AS EXPR$3")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -345,8 +345,8 @@ class GroupWindowTest extends TableTestBase {
       batchTableNode(table),
       term("groupBy", "string"),
       term("window", "SlidingGroupWindow('w, 'ts, 3600000.millis, 600000.millis)"),
-      term("select", "string", "COUNT(int) AS TMP_0",
-        "start('w) AS TMP_1", "end('w) AS TMP_2", "rowtime('w) AS TMP_3")
+      term("select", "string", "COUNT(int) AS EXPR$0",
+        "start('w) AS EXPR$1", "end('w) AS EXPR$2", "rowtime('w) AS EXPR$3")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -371,7 +371,7 @@ class GroupWindowTest extends TableTestBase {
       batchTableNode(table),
       term("groupBy", "string"),
       term("window", "SessionGroupWindow('w, 'long, 7.millis)"),
-      term("select", "string", "COUNT(int) AS TMP_0")
+      term("select", "string", "COUNT(int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -394,7 +394,7 @@ class GroupWindowTest extends TableTestBase {
       batchTableNode(table),
       term("groupBy", "string"),
       term("window", "SessionGroupWindow('w, 'long, 7.millis)"),
-      term("select", "string", "myWeightedAvg(long, int) AS TMP_0")
+      term("select", "string", "myWeightedAvg(long, int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -415,8 +415,8 @@ class GroupWindowTest extends TableTestBase {
       batchTableNode(table),
       term("groupBy", "string"),
       term("window", "SessionGroupWindow('w, 'ts, 1800000.millis)"),
-      term("select", "string", "COUNT(int) AS TMP_0",
-        "start('w) AS TMP_1", "end('w) AS TMP_2", "rowtime('w) AS TMP_3")
+      term("select", "string", "COUNT(int) AS EXPR$0",
+        "start('w) AS EXPR$1", "end('w) AS EXPR$2", "rowtime('w) AS EXPR$3")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -437,8 +437,8 @@ class GroupWindowTest extends TableTestBase {
       batchTableNode(table),
       term("groupBy", "string"),
       term("window", "SessionGroupWindow('w, 'ts, 1800000.millis)"),
-      term("select", "string", "COUNT(int) AS TMP_0",
-        "start('w) AS TMP_1", "end('w) AS TMP_2", "rowtime('w) AS TMP_3")
+      term("select", "string", "COUNT(int) AS EXPR$0",
+        "start('w) AS EXPR$1", "end('w) AS EXPR$2", "rowtime('w) AS EXPR$3")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -469,17 +469,17 @@ class GroupWindowTest extends TableTestBase {
             "SUM($f2) AS $f0",
             "SUM(c) AS $f1",
             "COUNT(c) AS $f2",
-            "start('w) AS TMP_4",
-            "end('w) AS TMP_5")
+            "start('w) AS EXPR$4",
+            "end('w) AS EXPR$5")
         ),
         term("select",
-          "/(-($f0, /(*($f1, $f1), $f2)), $f2) AS TMP_0",
-          "/(-($f0, /(*($f1, $f1), $f2)), CASE(=($f2, 1), null, -($f2, 1))) AS TMP_1",
-          "CAST(POWER(/(-($f0, /(*($f1, $f1), $f2)), $f2), 0.5)) AS TMP_2",
+          "/(-($f0, /(*($f1, $f1), $f2)), $f2) AS EXPR$0",
+          "/(-($f0, /(*($f1, $f1), $f2)), CASE(=($f2, 1), null, -($f2, 1))) AS EXPR$1",
+          "CAST(POWER(/(-($f0, /(*($f1, $f1), $f2)), $f2), 0.5)) AS EXPR$2",
           "CAST(POWER(/(-($f0, /(*($f1, $f1), $f2)), CASE(=($f2, 1), null, -($f2, 1))), 0.5)) " +
-            "AS TMP_3",
-          "TMP_4",
-          "TMP_5")
+            "AS EXPR$3",
+          "EXPR$4",
+          "EXPR$5")
       )
 
     util.verifyTable(windowedTable, expected)
diff --git a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/batch/table/SetOperatorsTest.scala b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/batch/table/SetOperatorsTest.scala
index c093033..ca0e698 100644
--- a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/batch/table/SetOperatorsTest.scala
+++ b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/batch/table/SetOperatorsTest.scala
@@ -170,9 +170,9 @@ class SetOperatorsTest extends TableTestBase {
           term("union", "a", "b", "c")
         ),
         term("groupBy", "b"),
-        term("select", "b", "SUM(a) AS TMP_0", "COUNT(c) AS TMP_1")
+        term("select", "b", "SUM(a) AS EXPR$0", "COUNT(c) AS EXPR$1")
       ),
-      term("select", "TMP_0 AS a", "b", "TMP_1 AS c")
+      term("select", "EXPR$0 AS a", "b", "EXPR$1 AS c")
     )
 
     util.verifyTable(result, expected)
@@ -210,9 +210,9 @@ class SetOperatorsTest extends TableTestBase {
           term("minus", "a", "b", "c")
         ),
         term("groupBy", "b"),
-        term("select", "b", "SUM(a) AS TMP_0", "COUNT(c) AS TMP_1")
+        term("select", "b", "SUM(a) AS EXPR$0", "COUNT(c) AS EXPR$1")
       ),
-      term("select", "TMP_0 AS a", "b", "TMP_1 AS c")
+      term("select", "EXPR$0 AS a", "b", "EXPR$1 AS c")
     )
 
     util.verifyTable(result, expected)
diff --git a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/AggregateTest.scala b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/AggregateTest.scala
index 70652af..41ba5fc 100644
--- a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/AggregateTest.scala
+++ b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/AggregateTest.scala
@@ -45,9 +45,9 @@ class AggregateTest extends TableTestBase {
           "DataStreamGroupAggregate",
           streamTableNode(table),
           term("groupBy", "b"),
-          term("select", "b", "SUM(DISTINCT a) AS TMP_0", "COUNT(DISTINCT c) AS TMP_1")
+          term("select", "b", "SUM(DISTINCT a) AS EXPR$0", "COUNT(DISTINCT c) AS EXPR$1")
         ),
-        term("select", "TMP_0", "TMP_1")
+        term("select", "EXPR$0", "EXPR$1")
       )
     util.verifyTable(resultTable, expected)
   }
@@ -72,10 +72,10 @@ class AggregateTest extends TableTestBase {
           term(
             "select",
             "c",
-            "WeightedAvg(DISTINCT a, b) AS TMP_0",
-            "WeightedAvg(a, b) AS TMP_1")
+            "WeightedAvg(DISTINCT a, b) AS EXPR$0",
+            "WeightedAvg(a, b) AS EXPR$1")
         ),
-        term("select", "TMP_0", "TMP_1")
+        term("select", "EXPR$0", "EXPR$1")
       )
     util.verifyTable(resultTable, expected)
   }
@@ -100,9 +100,9 @@ class AggregateTest extends TableTestBase {
             term("select", "a", "b")
           ),
           term("groupBy", "b"),
-          term("select", "b", "COUNT(a) AS TMP_0")
+          term("select", "b", "COUNT(a) AS EXPR$0")
         ),
-        term("select", "TMP_0")
+        term("select", "EXPR$0")
       )
     util.verifyTable(resultTable, expected)
   }
@@ -128,9 +128,9 @@ class AggregateTest extends TableTestBase {
             term("select", "a", "4 AS four", "b")
           ),
           term("groupBy", "a", "four"),
-          term("select", "a", "four", "SUM(b) AS TMP_0")
+          term("select", "a", "four", "SUM(b) AS EXPR$0")
         ),
-        term("select", "4 AS four", "TMP_0")
+        term("select", "4 AS four", "EXPR$0")
       )
     util.verifyTable(resultTable, expected)
   }
@@ -156,9 +156,9 @@ class AggregateTest extends TableTestBase {
             term("select", "b", "4 AS four", "a")
           ),
           term("groupBy", "b", "four"),
-          term("select", "b", "four", "SUM(a) AS TMP_0")
+          term("select", "b", "four", "SUM(a) AS EXPR$0")
         ),
-        term("select", "4 AS four", "TMP_0")
+        term("select", "4 AS four", "EXPR$0")
       )
     util.verifyTable(resultTable, expected)
   }
@@ -184,9 +184,9 @@ class AggregateTest extends TableTestBase {
             term("select", "a", "MOD(b, 3) AS d", "c")
           ),
           term("groupBy", "d"),
-          term("select", "d", "MIN(c) AS TMP_0", "AVG(a) AS TMP_1")
+          term("select", "d", "MIN(c) AS EXPR$0", "AVG(a) AS EXPR$1")
         ),
-        term("select", "TMP_0", "TMP_1")
+        term("select", "EXPR$0", "EXPR$1")
       )
     util.verifyTable(resultTable, expected)
   }
@@ -211,7 +211,7 @@ class AggregateTest extends TableTestBase {
           term("where", "=(b, 2)")
         ),
         term("groupBy", "b"),
-        term("select", "b", "SUM(a) AS TMP_0")
+        term("select", "b", "SUM(a) AS EXPR$0")
       )
     util.verifyTable(resultTable, expected)
   }
@@ -234,7 +234,7 @@ class AggregateTest extends TableTestBase {
           term("select", "b", "CAST(a) AS a0")
         ),
         term("groupBy", "b"),
-        term("select", "b", "AVG(a0) AS TMP_0")
+        term("select", "b", "AVG(a0) AS EXPR$0")
       )
 
     util.verifyTable(resultTable, expected)
@@ -258,7 +258,7 @@ class AggregateTest extends TableTestBase {
         term("select", "a", "rowtime")
       ),
       term("window", "TumblingGroupWindow('w, 'rowtime, 900000.millis)"),
-      term("select", "COUNT(DISTINCT a) AS TMP_0", "SUM(a) AS TMP_1")
+      term("select", "COUNT(DISTINCT a) AS EXPR$0", "SUM(a) AS EXPR$1")
     )
 
     util.verifyTable(result, expected)
@@ -282,8 +282,8 @@ class AggregateTest extends TableTestBase {
         term("select", "a", "rowtime")
       ),
       term("window", "SlidingGroupWindow('w, 'rowtime, 3600000.millis, 900000.millis)"),
-      term("select", "COUNT(DISTINCT a) AS TMP_0", "SUM(DISTINCT a) AS TMP_1",
-           "MAX(DISTINCT a) AS TMP_2")
+      term("select", "COUNT(DISTINCT a) AS EXPR$0", "SUM(DISTINCT a) AS EXPR$1",
+           "MAX(DISTINCT a) AS EXPR$2")
     )
 
     util.verifyTable(result, expected)
@@ -308,7 +308,7 @@ class AggregateTest extends TableTestBase {
       ),
       term("groupBy", "a"),
       term("window", "SessionGroupWindow('w, 'rowtime, 900000.millis)"),
-      term("select", "a", "COUNT(a) AS TMP_0", "COUNT(DISTINCT c) AS TMP_1")
+      term("select", "a", "COUNT(a) AS EXPR$0", "COUNT(DISTINCT c) AS EXPR$1")
     )
 
     util.verifyTable(result, expected)
diff --git a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/CalcTest.scala b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/CalcTest.scala
index 6c7487c..388b7d2 100644
--- a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/CalcTest.scala
+++ b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/CalcTest.scala
@@ -52,7 +52,7 @@ class CalcTest extends TableTestBase {
           term("select", "a", "rowtime", "UPPER(c) AS $f5")
         ),
         term("window", "TumblingGroupWindow('w, 'rowtime, 5.millis)"),
-        term("select", "COUNT($f5) AS TMP_0", "SUM(a) AS TMP_1")
+        term("select", "COUNT($f5) AS EXPR$0", "SUM(a) AS EXPR$1")
       )
 
     util.verifyTable(resultTable, expected)
@@ -79,9 +79,9 @@ class CalcTest extends TableTestBase {
           ),
           term("groupBy", "b"),
           term("window", "TumblingGroupWindow('w, 'rowtime, 5.millis)"),
-          term("select", "b", "COUNT($f5) AS TMP_0", "SUM(a) AS TMP_1")
+          term("select", "b", "COUNT($f5) AS EXPR$0", "SUM(a) AS EXPR$1")
         ),
-        term("select", "TMP_0", "TMP_1", "b")
+        term("select", "EXPR$0", "EXPR$1", "b")
     )
 
     util.verifyTable(resultTable, expected)
diff --git a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/ColumnFunctionsTest.scala b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/ColumnFunctionsTest.scala
index cc41f4a..5c61269 100644
--- a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/ColumnFunctionsTest.scala
+++ b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/ColumnFunctionsTest.scala
@@ -219,7 +219,7 @@ class ColumnFunctionsTest extends TableTestBase {
           term("select", "a", "b", "c")
         ),
         term("groupBy", "a", "b"),
-        term("select", "a", "b", "COUNT(c) AS TMP_0")
+        term("select", "a", "b", "COUNT(c) AS EXPR$0")
       )
 
     verifyAll(tab1, tab2, expected)
@@ -251,9 +251,9 @@ class ColumnFunctionsTest extends TableTestBase {
           ),
           term("groupBy", "a", "b"),
           term("window", "SlidingGroupWindow('w, 'b, 3.millis, 10.millis)"),
-          term("select", "a", "b", "COUNT(c) AS TMP_0")
+          term("select", "a", "b", "COUNT(c) AS EXPR$0")
         ),
-        term("select", "a", "b", "TMP_0 AS c")
+        term("select", "a", "b", "EXPR$0 AS c")
       )
 
     verifyAll(tab1, tab2, expected)
diff --git a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/GroupWindowTableAggregateTest.scala b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/GroupWindowTableAggregateTest.scala
index fc09465..976f1e7 100644
--- a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/GroupWindowTableAggregateTest.scala
+++ b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/GroupWindowTableAggregateTest.scala
@@ -58,14 +58,14 @@ class GroupWindowTableAggregateTest extends TableTestBase {
             ),
             term("groupBy", "c"),
             term("window", "TumblingGroupWindow('w1, 'e, 50.millis)"),
-            term("select", "c", "EmptyTableAggFunc(a, b) AS (f0, f1)", "proctime('w1) AS TMP_0")
+            term("select", "c", "EmptyTableAggFunc(a, b) AS (f0, f1)", "proctime('w1) AS EXPR$0")
           ),
-          term("select", "TMP_0 AS proctime", "f0")
+          term("select", "EXPR$0 AS proctime", "f0")
         ),
         term("window", "SlidingGroupWindow('w2, 'proctime, 20.millis, 10.millis)"),
-        term("select", "EmptyTableAggFunc(f0) AS (f0, f1)", "start('w2) AS TMP_1")
+        term("select", "EmptyTableAggFunc(f0) AS (f0, f1)", "start('w2) AS EXPR$0")
       ),
-      term("select", "TMP_1", "f1")
+      term("select", "EXPR$0", "f1")
     )
     util.verifyTable(windowedTable, expected)
   }
@@ -91,9 +91,9 @@ class GroupWindowTableAggregateTest extends TableTestBase {
           ),
           term("groupBy", "bb"),
           term("window", "TumblingGroupWindow('w1, 'e, 50.millis)"),
-          term("select", "bb", "EmptyTableAggFunc(a, b) AS (f0, f1)", "proctime('w1) AS TMP_0")
+          term("select", "bb", "EmptyTableAggFunc(a, b) AS (f0, f1)", "proctime('w1) AS EXPR$0")
         ),
-        term("select", "PROCTIME(TMP_0) AS proctime", "bb", "+(f0, 1) AS _c2", "f1 AS y")
+        term("select", "PROCTIME(EXPR$0) AS proctime", "bb", "+(f0, 1) AS _c2", "f1 AS y")
       )
     util.verifyTable(windowedTable, expected)
   }
@@ -166,9 +166,9 @@ class GroupWindowTableAggregateTest extends TableTestBase {
           ),
           term("groupBy", "c"),
           term("window", "SlidingGroupWindow('w, 'e, 50.millis, 50.millis)"),
-          term("select",  "c", "EmptyTableAggFunc(a, b) AS (f0, f1)", "proctime('w) AS TMP_0")
+          term("select",  "c", "EmptyTableAggFunc(a, b) AS (f0, f1)", "proctime('w) AS EXPR$0")
         ),
-        term("select", "PROCTIME(TMP_0) AS proctime", "c", "f0", "+(f1, 1) AS _c3")
+        term("select", "PROCTIME(EXPR$0) AS proctime", "c", "f0", "+(f1, 1) AS _c3")
       )
 
     util.verifyTable(windowedTable, expected)
@@ -452,9 +452,9 @@ class GroupWindowTableAggregateTest extends TableTestBase {
           term("groupBy", "c"),
           term("window", "TumblingGroupWindow('w, 'd, 5.millis)"),
           term("select",
-            "c", "EmptyTableAggFunc(a, b) AS (f0, f1)", "start('w) AS TMP_0", "end('w) AS TMP_1")
+            "c", "EmptyTableAggFunc(a, b) AS (f0, f1)", "start('w) AS EXPR$0", "end('w) AS EXPR$1")
         ),
-        term("select", "f0", "+(f1, 1) AS _c1", "TMP_0", "TMP_1")
+        term("select", "f0", "+(f1, 1) AS _c1", "EXPR$0", "EXPR$1")
       )
 
     util.verifyTable(windowedTable, expected)
@@ -481,9 +481,9 @@ class GroupWindowTableAggregateTest extends TableTestBase {
           term("groupBy", "c"),
           term("window", "SlidingGroupWindow('w, 'd, 10.millis, 5.millis)"),
           term("select",
-            "c", "EmptyTableAggFunc(a, b) AS (f0, f1)", "start('w) AS TMP_0", "end('w) AS TMP_1")
+            "c", "EmptyTableAggFunc(a, b) AS (f0, f1)", "start('w) AS EXPR$0", "end('w) AS EXPR$1")
         ),
-        term("select", "f0", "+(f1, 1) AS _c1", "TMP_0", "TMP_1")
+        term("select", "f0", "+(f1, 1) AS _c1", "EXPR$0", "EXPR$1")
       )
 
     util.verifyTable(windowedTable, expected)
@@ -510,9 +510,9 @@ class GroupWindowTableAggregateTest extends TableTestBase {
           term("groupBy", "c"),
           term("window", "SessionGroupWindow('w, 'd, 3.millis)"),
           term("select",
-            "c", "EmptyTableAggFunc(a, b) AS (f0, f1)", "end('w) AS TMP_0", "start('w) AS TMP_1")
+            "c", "EmptyTableAggFunc(a, b) AS (f0, f1)", "end('w) AS EXPR$0", "start('w) AS EXPR$1")
         ),
-        term("select", "TMP_0 AS we1", "f0", "+(f1, 1) AS _c2", "TMP_1", "TMP_0")
+        term("select", "EXPR$0 AS we1", "f0", "+(f1, 1) AS _c2", "EXPR$1", "EXPR$0")
       )
 
     util.verifyTable(windowedTable, expected)
diff --git a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/GroupWindowTest.scala b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/GroupWindowTest.scala
index 4cef488..4eefe2e 100644
--- a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/GroupWindowTest.scala
+++ b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/GroupWindowTest.scala
@@ -54,12 +54,12 @@ class GroupWindowTest extends TableTestBase {
           ),
           term("groupBy", "string"),
           term("window", "TumblingGroupWindow('w1, 'proctime, 50.millis)"),
-          term("select", "string", "COUNT(int) AS TMP_1", "proctime('w1) AS TMP_0")
+          term("select", "string", "COUNT(int) AS EXPR$1", "proctime('w1) AS EXPR$0")
         ),
-        term("select", "TMP_0 AS proctime", "string")
+        term("select", "EXPR$0 AS proctime", "string")
       ),
       term("window", "SlidingGroupWindow('w2, 'proctime, 20.millis, 10.millis)"),
-      term("select", "COUNT(string) AS TMP_2")
+      term("select", "COUNT(string) AS EXPR$0")
     )
     util.verifyTable(windowedTable, expected)
   }
@@ -83,7 +83,7 @@ class GroupWindowTest extends TableTestBase {
       ),
       term("groupBy", "string"),
       term("window", "TumblingGroupWindow('w, 'proctime, 50.millis)"),
-      term("select", "string", "COUNT(int) AS TMP_0")
+      term("select", "string", "COUNT(int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -108,7 +108,7 @@ class GroupWindowTest extends TableTestBase {
       ),
       term("groupBy", "string"),
       term("window", "TumblingGroupWindow('w, 'proctime, 2)"),
-      term("select", "string", "COUNT(int) AS TMP_0")
+      term("select", "string", "COUNT(int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -129,7 +129,7 @@ class GroupWindowTest extends TableTestBase {
       streamTableNode(table),
       term("groupBy", "string"),
       term("window", "TumblingGroupWindow('w, 'long, 5.millis)"),
-      term("select", "string", "COUNT(int) AS TMP_0")
+      term("select", "string", "COUNT(int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -152,7 +152,7 @@ class GroupWindowTest extends TableTestBase {
       streamTableNode(table),
       term("groupBy", "string"),
       term("window", "TumblingGroupWindow('w, 'rowtime, 5.millis)"),
-      term("select", "string", "myWeightedAvg(long, int) AS TMP_0")
+      term("select", "string", "myWeightedAvg(long, int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -177,7 +177,7 @@ class GroupWindowTest extends TableTestBase {
       ),
       term("groupBy", "string"),
       term("window", "SlidingGroupWindow('w, 'proctime, 50.millis, 50.millis)"),
-      term("select", "string", "COUNT(int) AS TMP_0")
+      term("select", "string", "COUNT(int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -202,7 +202,7 @@ class GroupWindowTest extends TableTestBase {
       ),
       term("groupBy", "string"),
       term("window", "SlidingGroupWindow('w, 'proctime, 2, 1)"),
-      term("select", "string", "COUNT(int) AS TMP_0")
+      term("select", "string", "COUNT(int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -227,7 +227,7 @@ class GroupWindowTest extends TableTestBase {
       ),
       term("groupBy", "string"),
       term("window", "SlidingGroupWindow('w, 'rowtime, 8.millis, 10.millis)"),
-      term("select", "string", "COUNT(int) AS TMP_0")
+      term("select", "string", "COUNT(int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -249,7 +249,7 @@ class GroupWindowTest extends TableTestBase {
       streamTableNode(table),
       term("groupBy", "string"),
       term("window", "SlidingGroupWindow('w, 'long, 8.millis, 10.millis)"),
-      term("select", "string", "COUNT(int) AS TMP_0")
+      term("select", "string", "COUNT(int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -272,7 +272,7 @@ class GroupWindowTest extends TableTestBase {
       streamTableNode(table),
       term("groupBy", "string"),
       term("window", "SlidingGroupWindow('w, 'rowtime, 8.millis, 10.millis)"),
-      term("select", "string", "myWeightedAvg(long, int) AS TMP_0")
+      term("select", "string", "myWeightedAvg(long, int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -293,7 +293,7 @@ class GroupWindowTest extends TableTestBase {
       streamTableNode(table),
       term("groupBy", "string"),
       term("window", "SessionGroupWindow('w, 'long, 7.millis)"),
-      term("select", "string", "COUNT(int) AS TMP_0")
+      term("select", "string", "COUNT(int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -316,7 +316,7 @@ class GroupWindowTest extends TableTestBase {
       streamTableNode(table),
       term("groupBy", "string"),
       term("window", "SessionGroupWindow('w, 'rowtime, 7.millis)"),
-      term("select", "string", "myWeightedAvg(long, int) AS TMP_0")
+      term("select", "string", "myWeightedAvg(long, int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -341,7 +341,7 @@ class GroupWindowTest extends TableTestBase {
       ),
       term("groupBy", "string"),
       term("window", "TumblingGroupWindow('w, 'proctime, 50.millis)"),
-      term("select", "string", "COUNT(int) AS TMP_0")
+      term("select", "string", "COUNT(int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -365,7 +365,7 @@ class GroupWindowTest extends TableTestBase {
         term("select", "int", "proctime")
       ),
       term("window", "TumblingGroupWindow('w, 'proctime, 2)"),
-      term("select", "COUNT(int) AS TMP_0")
+      term("select", "COUNT(int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -389,7 +389,7 @@ class GroupWindowTest extends TableTestBase {
         term("select", "int", "rowtime")
       ),
       term("window", "TumblingGroupWindow('w, 'rowtime, 5.millis)"),
-      term("select", "COUNT(int) AS TMP_0")
+      term("select", "COUNT(int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -414,7 +414,7 @@ class GroupWindowTest extends TableTestBase {
         term("select", "int", "long")
       ),
       term("window", "TumblingGroupWindow('w, 'long, 5.millis)"),
-      term("select", "COUNT(int) AS TMP_0")
+      term("select", "COUNT(int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -438,7 +438,7 @@ class GroupWindowTest extends TableTestBase {
         term("select", "int", "proctime")
       ),
       term("window", "SlidingGroupWindow('w, 'proctime, 50.millis, 50.millis)"),
-      term("select", "COUNT(int) AS TMP_0")
+      term("select", "COUNT(int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -462,7 +462,7 @@ class GroupWindowTest extends TableTestBase {
         term("select", "int", "proctime")
       ),
       term("window", "SlidingGroupWindow('w, 'proctime, 2, 1)"),
-      term("select", "COUNT(int) AS TMP_0")
+      term("select", "COUNT(int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -486,7 +486,7 @@ class GroupWindowTest extends TableTestBase {
         term("select", "int", "rowtime")
       ),
       term("window", "SlidingGroupWindow('w, 'rowtime, 8.millis, 10.millis)"),
-      term("select", "COUNT(int) AS TMP_0")
+      term("select", "COUNT(int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -511,7 +511,7 @@ class GroupWindowTest extends TableTestBase {
         term("select", "long", "int")
       ),
       term("window", "SlidingGroupWindow('w, 'long, 8.millis, 10.millis)"),
-      term("select", "COUNT(int) AS TMP_0")
+      term("select", "COUNT(int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -535,7 +535,7 @@ class GroupWindowTest extends TableTestBase {
         term("select", "long", "int")
       ),
       term("window", "SessionGroupWindow('w, 'long, 7.millis)"),
-      term("select", "COUNT(int) AS TMP_0")
+      term("select", "COUNT(int) AS EXPR$0")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -562,9 +562,9 @@ class GroupWindowTest extends TableTestBase {
       term("window", "TumblingGroupWindow('w, 'rowtime, 5.millis)"),
       term("select",
         "string",
-        "COUNT(int) AS TMP_0",
-        "start('w) AS TMP_1",
-        "end('w) AS TMP_2")
+        "COUNT(int) AS EXPR$0",
+        "start('w) AS EXPR$1",
+        "end('w) AS EXPR$2")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -601,9 +601,9 @@ class GroupWindowTest extends TableTestBase {
             "string",
             "int2",
             "int3",
-            "WeightedAvg(long, int) AS TMP_0")
+            "WeightedAvg(long, int) AS EXPR$0")
         ),
-        term("select","TMP_0")
+        term("select","EXPR$0")
       )
 
     util.verifyTable(windowedTable, expected)
@@ -630,9 +630,9 @@ class GroupWindowTest extends TableTestBase {
       term("window", "SlidingGroupWindow('w, 'rowtime, 10.millis, 5.millis)"),
       term("select",
         "string",
-        "COUNT(int) AS TMP_0",
-        "start('w) AS TMP_1",
-        "end('w) AS TMP_2")
+        "COUNT(int) AS EXPR$0",
+        "start('w) AS EXPR$1",
+        "end('w) AS EXPR$2")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -657,11 +657,11 @@ class GroupWindowTest extends TableTestBase {
         term("window", "SessionGroupWindow('w, 'long, 3.millis)"),
         term("select",
           "string",
-          "COUNT(int) AS TMP_1",
-          "end('w) AS TMP_0",
-          "start('w) AS TMP_2")
+          "COUNT(int) AS EXPR$1",
+          "end('w) AS EXPR$0",
+          "start('w) AS EXPR$2")
       ),
-      term("select", "TMP_0 AS we1", "string", "TMP_1 AS cnt", "TMP_2 AS ws", "TMP_0 AS we2")
+      term("select", "EXPR$0 AS we1", "string", "EXPR$1 AS cnt", "EXPR$2 AS ws", "EXPR$0 AS we2")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -687,18 +687,18 @@ class GroupWindowTest extends TableTestBase {
         term("window", "TumblingGroupWindow('w, 'long, 5.millis)"),
         term("select",
           "string",
-          "SUM(int) AS TMP_0",
-          "start('w) AS TMP_1",
-          "end('w) AS TMP_2")
+          "SUM(int) AS EXPR$0",
+          "start('w) AS EXPR$1",
+          "end('w) AS EXPR$2")
       ),
       term("select",
         "string",
-        "+(TMP_0, 1) AS s1",
-        "+(TMP_0, 3) AS s2",
-        "TMP_1 AS x",
-        "TMP_1 AS x2",
-        "TMP_2 AS x3",
-        "TMP_2")
+        "+(EXPR$0, 1) AS s1",
+        "+(EXPR$0, 3) AS s2",
+        "EXPR$1 AS x",
+        "EXPR$1 AS x2",
+        "EXPR$2 AS x3",
+        "EXPR$2")
     )
 
     util.verifyTable(windowedTable, expected)
@@ -729,17 +729,17 @@ class GroupWindowTest extends TableTestBase {
             "SUM($f2) AS $f0",
             "SUM(c) AS $f1",
             "COUNT(c) AS $f2",
-            "start('w) AS TMP_4",
-            "end('w) AS TMP_5")
+            "start('w) AS EXPR$4",
+            "end('w) AS EXPR$5")
         ),
         term("select",
-          "/(-($f0, /(*($f1, $f1), $f2)), $f2) AS TMP_0",
-          "/(-($f0, /(*($f1, $f1), $f2)), CASE(=($f2, 1), null, -($f2, 1))) AS TMP_1",
-          "CAST(POWER(/(-($f0, /(*($f1, $f1), $f2)), $f2), 0.5)) AS TMP_2",
+          "/(-($f0, /(*($f1, $f1), $f2)), $f2) AS EXPR$0",
+          "/(-($f0, /(*($f1, $f1), $f2)), CASE(=($f2, 1), null, -($f2, 1))) AS EXPR$1",
+          "CAST(POWER(/(-($f0, /(*($f1, $f1), $f2)), $f2), 0.5)) AS EXPR$2",
           "CAST(POWER(/(-($f0, /(*($f1, $f1), $f2)), CASE(=($f2, 1), null, -($f2, 1))), 0.5)) " +
-            "AS TMP_3",
-          "TMP_4",
-          "TMP_5")
+            "AS EXPR$3",
+          "EXPR$4",
+          "EXPR$5")
       )
 
     util.verifyTable(windowedTable, expected)
diff --git a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/SetOperatorsTest.scala b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/SetOperatorsTest.scala
index 656147e..a09e0bb 100644
--- a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/SetOperatorsTest.scala
+++ b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/SetOperatorsTest.scala
@@ -59,9 +59,9 @@ class SetOperatorsTest extends TableTestBase {
             term("union all", "a", "b", "c")
           ),
           term("groupBy", "b"),
-          term("select", "b", "SUM(a) AS TMP_0", "COUNT(c) AS TMP_1")
+          term("select", "b", "SUM(a) AS EXPR$0", "COUNT(c) AS EXPR$1")
         ),
-      term("select", "TMP_0 AS a", "b", "TMP_1 AS c")
+      term("select", "EXPR$0 AS a", "b", "EXPR$1 AS c")
     )
 
     util.verifyTable(result, expected)
@@ -158,15 +158,15 @@ class SetOperatorsTest extends TableTestBase {
                   term("where", "LIKE(y, '%Hanoi%')")
                 ),
                 term("groupBy", "y"),
-                term("select", "y, SUM(x) AS TMP_0")
+                term("select", "y, SUM(x) AS EXPR$0")
               ),
-              term("select", "TMP_0")
+              term("select", "EXPR$0")
             ),
-            term("groupBy", "TMP_0"),
-            term("select", "TMP_0")
+            term("groupBy", "EXPR$0"),
+            term("select", "EXPR$0")
           ),
-          term("where", "=(a, TMP_0)"),
-          term("join", "a", "b", "c", "TMP_0"),
+          term("where", "=(a, EXPR$0)"),
+          term("join", "a", "b", "c", "EXPR$0"),
           term("joinType", "InnerJoin")
         ),
         term("select", "a", "b", "c")
diff --git a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/TableSourceTest.scala b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/TableSourceTest.scala
index 1b84081..6c5d8f1 100644
--- a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/TableSourceTest.scala
+++ b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/TableSourceTest.scala
@@ -114,9 +114,9 @@ class TableSourceTest extends TableTestBase {
           ),
           term("groupBy", "name"),
           term("window", "TumblingGroupWindow('w, 'rowtime, 600000.millis)"),
-          term("select", "name", "AVG(val) AS TMP_1", "end('w) AS TMP_0")
+          term("select", "name", "AVG(val) AS EXPR$1", "end('w) AS EXPR$0")
         ),
-        term("select", "name", "TMP_0", "TMP_1")
+        term("select", "name", "EXPR$0", "EXPR$1")
       )
     util.verifyTable(t, expected)
   }
diff --git a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/validation/GroupWindowTableAggregateValidationTest.scala b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/validation/GroupWindowTableAggregateValidationTest.scala
index 8bfb820..21369ca 100644
--- a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/validation/GroupWindowTableAggregateValidationTest.scala
+++ b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/api/stream/table/validation/GroupWindowTableAggregateValidationTest.scala
@@ -49,7 +49,7 @@ class GroupWindowTableAggregateValidationTest extends TableTestBase {
   def testInvalidRowTimeRef(): Unit = {
     expectedException.expect(classOf[ValidationException])
     expectedException.expectMessage(
-      "Cannot resolve field [int], input field list:[string, TMP_0].")
+      "Cannot resolve field [int], input field list:[string, EXPR$0].")
 
     table
       .window(Tumble over 5.milli on 'rowtime as 'w)
diff --git a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/plan/TimeIndicatorConversionTest.scala b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/plan/TimeIndicatorConversionTest.scala
index 6b7744d..163fc5e 100644
--- a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/plan/TimeIndicatorConversionTest.scala
+++ b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/plan/TimeIndicatorConversionTest.scala
@@ -110,9 +110,9 @@ class TimeIndicatorConversionTest extends TableTestBase {
           term("select", "CAST(rowtime) AS rowtime", "long")
         ),
         term("groupBy", "rowtime"),
-        term("select", "rowtime", "COUNT(long) AS TMP_0")
+        term("select", "rowtime", "COUNT(long) AS EXPR$0")
       ),
-      term("select", "TMP_0")
+      term("select", "EXPR$0")
     )
 
     util.verifyTable(result, expected)
@@ -137,9 +137,9 @@ class TimeIndicatorConversionTest extends TableTestBase {
           term("select", "CAST(rowtime) AS rowtime", "long")
         ),
         term("groupBy", "long"),
-        term("select", "long", "MIN(rowtime) AS TMP_0")
+        term("select", "long", "MIN(rowtime) AS EXPR$0")
       ),
-      term("select", "TMP_0")
+      term("select", "EXPR$0")
     )
 
     util.verifyTable(result, expected)
@@ -189,9 +189,9 @@ class TimeIndicatorConversionTest extends TableTestBase {
         streamTableNode(t),
         term("groupBy", "long"),
         term("window", "TumblingGroupWindow('w, 'rowtime, 100.millis)"),
-        term("select", "long", "SUM(int) AS TMP_1", "end('w) AS TMP_0")
+        term("select", "long", "SUM(int) AS EXPR$1", "end('w) AS EXPR$0")
       ),
-      term("select", "TMP_0 AS rowtime", "long", "TMP_1")
+      term("select", "EXPR$0 AS rowtime", "long", "EXPR$1")
     )
 
     util.verifyTable(result, expected)
@@ -247,15 +247,15 @@ class TimeIndicatorConversionTest extends TableTestBase {
             streamTableNode(t),
             term("groupBy", "long"),
             term("window", "TumblingGroupWindow('w, 'rowtime, 100.millis)"),
-            term("select", "long", "SUM(int) AS TMP_1", "rowtime('w) AS TMP_0")
+            term("select", "long", "SUM(int) AS EXPR$1", "rowtime('w) AS EXPR$0")
           ),
-          term("select", "TMP_0 AS newrowtime", "long", "TMP_1 AS int")
+          term("select", "EXPR$0 AS newrowtime", "long", "EXPR$1 AS int")
         ),
         term("groupBy", "long"),
         term("window", "TumblingGroupWindow('w2, 'newrowtime, 1000.millis)"),
-        term("select", "long", "SUM(int) AS TMP_3", "end('w2) AS TMP_2")
+        term("select", "long", "SUM(int) AS EXPR$1", "end('w2) AS EXPR$0")
       ),
-      term("select", "TMP_2", "long", "TMP_3")
+      term("select", "EXPR$0", "long", "EXPR$1")
     )
 
     util.verifyTable(result, expected)
diff --git a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/utils/LogicalPlanFormatUtils.scala b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/utils/LogicalPlanFormatUtils.scala
index 92d8100..87bb4ca 100644
--- a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/utils/LogicalPlanFormatUtils.scala
+++ b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/utils/LogicalPlanFormatUtils.scala
@@ -19,12 +19,12 @@
 package org.apache.flink.table.utils
 
 object LogicalPlanFormatUtils {
-  private val tempPattern = """TMP_\d+""".r
+  private val tempPattern = """EXPR$\d+""".r
 
   def formatTempTableId(preStr: String): String = {
     val str = preStr.replaceAll("ArrayBuffer\\(", "List\\(")
     val minId = getMinTempTableId(str)
-    tempPattern.replaceAllIn(str, s => "TMP_" + (s.matched.substring(4).toInt - minId) )
+    tempPattern.replaceAllIn(str, s => "EXPR$" + (s.matched.substring(4).toInt - minId) )
   }
 
   private def getMinTempTableId(logicalStr: String): Long = {