Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-34156

Move Flink Calcite rules from Scala to Java

    XMLWordPrintableJSON

Details

    • Technical Debt
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • 2.0.0
    • Table SQL / Planner
    • None

    Description

      This is an umbrella task for migration of Calcite rules from Scala to Java mentioned at https://cwiki.apache.org/confluence/display/FLINK/2.0+Release

      The reason is that since 1.28.0 ( CALCITE-4787 - Move core to use Immutables instead of ImmutableBeans ) Calcite started to use Immutables (https://immutables.github.io/) and since 1.29.0 removed ImmutableBeans ( CALCITE-4839 - Remove remnants of ImmutableBeans post 1.28 release ). All rule configuration related api which is not Immutables based is marked as deprecated. Since Immutables implies code generation while java compilation it is seems impossible to use for rules in Scala code.

      We could follow steps from javadocs of org.apache.calcite.plan.RelRule written for migration from deprecated java api to Immutables.
      It would work for scala to java migration as well.
      Please keep in mind that there is no need to migrate rules extending ConverterRule since these rules do not have such problem.

      Attachments

        Issue Links

          1.
          Migrate FlinkLimit0RemoveRule Sub-task Closed Sergey Nuyanzin
          2.
          Migrate WindowAggregateReduceFunctionsRule Sub-task Closed Sergey Nuyanzin
          3.
          Migrate ConstantRankNumberColumnRemoveRule Sub-task Closed Sergey Nuyanzin
          4.
          Migrate FlinkCalcMergeRule Sub-task Closed Sergey Nuyanzin
          5.
          Migrate RewriteMinusAllRule Sub-task Closed Sergey Nuyanzin
          6.
          Migrate LogicalUnnestRule Sub-task Closed Sergey Nuyanzin
          7.
          Migrate SimplifyJoinConditionRule Sub-task Resolved Sergey Nuyanzin
          8.
          Migrate SetOpRewriteUtil Sub-task Closed Unassigned
          9.
          fix scala style comment link when migrate scala to java Sub-task Resolved Jacky Lau
          10.
          Migrate ReplaceMinusWithAntiJoinRule Sub-task Closed Jacky Lau
          11.
          Migrate ReplaceIntersectWithSemiJoinRule Sub-task Closed Jacky Lau
          12.
          Migrate JoinDeriveNullFilterRule Sub-task Open Jacky Lau
          13.
          Migrate WindowGroupReorderRule Sub-task Open Jacky Lau
          14.
          Migrate JoinConditionTypeCoerceRule Sub-task Resolved Jacky Lau
          15.
          Migrate EnumerableToLogicalTableScan Sub-task Closed Jacky Lau
          16.
          Migrate RemoveRedundantLocalHashAggRule Sub-task Open Sergey Nuyanzin
          17.
          Migrate SimplifyFilterConditionRule Sub-task Open Sergey Nuyanzin
          18.
          Migrate RemoveRedundantLocalRankRule Sub-task Open Sergey Nuyanzin
          19.
          Migrate BatchPhysicalConstantTableFunctionScanRule Sub-task Open Sergey Nuyanzin
          20.
          Migrate PushLimitIntoLegacyTableSourceScanRule Sub-task Open Sergey Nuyanzin
          21.
          Migrate StreamPhysicalConstantTableFunctionScanRule Sub-task Resolved Sergey Nuyanzin
          22.
          Migrate StreamPhysicalWindowJoinRule Sub-task Open Sergey Nuyanzin
          23.
          Migrate BatchPhysicalBoundedStreamScanRule Sub-task Open Unassigned
          24.
          Migrate BatchPhysicalCalcRule Sub-task Open Unassigned
          25.
          Migrate BatchPhysicalDistributionRule Sub-task Open Unassigned
          26.
          Migrate BatchPhysicalExpandRule Sub-task Open Unassigned
          27.
          Migrate BatchPhysicalUnionRule Sub-task Open Unassigned
          28.
          Migrate BatchPhysicalValuesRule Sub-task Open Unassigned
          29.
          Migrate BatchPhysicalScriptTransformRule Sub-task Open Unassigned
          30.
          Migrate StreamPhysicalLimitRule Sub-task Open Unassigned
          31.
          Migrate StreamPhysicalUnionRule Sub-task Open Unassigned
          32.
          Migrate StreamPhysicalValuesRule Sub-task Open Unassigned
          33.
          Migrate SplitPythonConditionFromJoinRule Sub-task Open Unassigned
          34.
          Migrate JoinConditionEqualityTransferRule Sub-task Open Sergey Nuyanzin
          35.
          Migrate PushFilterIntoLegacyTableSourceScanRule Sub-task Closed Jacky Lau
          36.
          Migrate PushProjectIntoLegacyTableSourceScanRule Sub-task Open Unassigned
          37.
          Migrate CalcSnapshotTransposeRule Sub-task Open Sergey Nuyanzin
          38.
          Migrate AggregateReduceGroupingRule Sub-task Open Sergey Nuyanzin
          39.
          Migrate ConvertToNotInOrInRule Sub-task Open Sergey Nuyanzin
          40.
          Migrate JoinDependentConditionDerivationRule Sub-task Open Sergey Nuyanzin
          41.
          Migrate FlinkRewriteSubQueryRule Sub-task Open Sergey Nuyanzin
          42.
          Migrate CorrelateSortToRankRule Sub-task Resolved Sergey Nuyanzin
          43.
          Migrate TemporalJoinRewriteWithUniqueKeyRule Sub-task Resolved Jacky Lau
          44.
          Migrate TemporalJoinUtil Sub-task Open Unassigned
          45.
          Migrate RewriteMultiJoinConditionRule Sub-task Resolved Jacky Lau
          46.
          Migrate TwoStageOptimizedAggregateRule Sub-task Resolved Jacky Lau
          47.
          Migrate SplitPythonConditionFromCorrelateRule Sub-task Open Unassigned
          48.
          Migrate PythonUtil Sub-task Open Unassigned

          Activity

            People

              Sergey Nuyanzin Sergey Nuyanzin
              Sergey Nuyanzin Sergey Nuyanzin
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated: