godfreyhe commented on a change in pull request #7903:
[FLINK-11822][table-planner-blink] Introduce Flink metadata handlers
URL: https://github.com/apache/flink/pull/7903#discussion_r278492953
##########
File path:
flink-table/flink-table-planner-blink/src/main/scala/org/apache/flink/table/plan/util/FlinkRelMdUtil.scala
##########
@@ -18,30 +18,326 @@
package org.apache.flink.table.plan.util
+import org.apache.flink.table.JDouble
import org.apache.flink.table.calcite.FlinkTypeFactory
import org.apache.flink.table.dataformat.BinaryRow
+import org.apache.flink.table.plan.nodes.calcite.{Expand, Rank}
+import
org.apache.flink.table.plan.nodes.physical.batch.BatchExecGroupAggregateBase
import org.apache.flink.table.runtime.rank.{ConstantRankRange, RankRange}
import org.apache.flink.table.runtime.sort.BinaryIndexedSortable
import org.apache.flink.table.typeutils.BinaryRowSerializer
-import org.apache.calcite.rel.RelNode
-import org.apache.calcite.rel.metadata.RelMetadataQuery
+import com.google.common.collect.ImmutableList
+import org.apache.calcite.avatica.util.TimeUnitRange._
+import org.apache.calcite.plan.RelOptUtil
+import org.apache.calcite.rel.core.{Aggregate, AggregateCall, Calc, JoinInfo,
SemiJoin}
+import org.apache.calcite.rel.metadata.{RelMdUtil, RelMetadataQuery}
+import org.apache.calcite.rel.{RelNode, SingleRel}
+import org.apache.calcite.rex.{RexBuilder, RexCall, RexInputRef, RexLiteral,
RexNode, RexUtil, RexVisitorImpl}
+import org.apache.calcite.sql.SqlKind
+import org.apache.calcite.sql.`type`.SqlTypeName.{TIME, TIMESTAMP}
+import org.apache.calcite.util.{ImmutableBitSet, NumberUtil}
-import java.lang.Double
+import java.math.BigDecimal
+import java.util
import scala.collection.JavaConversions._
+import scala.collection.mutable
/**
* FlinkRelMdUtil provides utility methods used by the metadata provider
methods.
*/
object FlinkRelMdUtil {
Review comment:
`FlinkRelMdUtil` provides utility methods(which are not defined in Calcite
`RelMdUtil`) used by the metadata provider methods. (`Md` means metadata)
`FlinkRelOptUtil` provides utility methods (which are not defined in Calcite
`RelOptUtil`) for use in optimizing RelNodes.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services