[
https://issues.apache.org/jira/browse/FLINK-3503?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15197167#comment-15197167
]
ASF GitHub Bot commented on FLINK-3503:
---------------------------------------
Github user fhueske commented on a diff in the pull request:
https://github.com/apache/flink/pull/1798#discussion_r56312918
--- Diff:
flink-libraries/flink-table/src/main/scala/org/apache/flink/api/table/plan/nodes/dataset/DataSetCalc.scala
---
@@ -66,8 +67,28 @@ class DataSetCalc(
super.explainTerms(pw).item("name", opName)
}
+ override def computeSelfCost (planner: RelOptPlanner): RelOptCost = {
+
+ val child = this.getInput
+ val rowCnt = RelMetadataQuery.getRowCount(child)
+ val exprCnt = calcProgram.getExprCount
+ planner.getCostFactory.makeCost(rowCnt, rowCnt * exprCnt, 0)
--- End diff --
Calc is implemented as `MapFunction` and will never spill to disk or cause
network traffic.
> ProjectJoinTransposeRule fails to push down project.
> ----------------------------------------------------
>
> Key: FLINK-3503
> URL: https://issues.apache.org/jira/browse/FLINK-3503
> Project: Flink
> Issue Type: Improvement
> Components: Table API
> Reporter: Chengxiang Li
> Priority: Minor
>
> {noformat}
> val ds1 = CollectionDataSets.getSmall3TupleDataSet(env).as('a, 'b, 'c)
> val ds2 = CollectionDataSets.get5TupleDataSet(env).as('d, 'e, 'f, 'g, 'h)
> val joinT = ds1.join(ds2).where('b === 'e).select('c, 'g)
> {noformat}
> For this query, ProjectJoinTransposeRule should pushes a Project past a Join
> by splitting the projection into a projection on top of each child of the
> join.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)