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

Move Flink Calcite rules from Scala to Java

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

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Sergey Nuyanzin Sergey Nuyanzin
            Sergey Nuyanzin Sergey Nuyanzin

            Dates

              Created:
              Updated:

              Slack

                Issue deployment