Uploaded image for project: 'Beam'
  1. Beam
  2. BEAM-10479

UDF / UDAF support for ZetaSQLQueryPlanner

Details

    • New Feature
    • Status: Resolved
    • P3
    • Resolution: Fixed
    • None
    • Missing
    • dsl-sql-zetasql
    • None

    Description

      BeamSqlDslUdfUdafTest should be refactored so each test runs against all supported Query Planners (namely Calcite and Zeta SQL).

      This could be achieved without code duplication by using Parameterized tests and having each test run with both query planners (and easily support adding more QueryPlanners in the future if necessary).

      import org.apache.beam.sdk.extensions.sql.zetasql.ZetaSQLQueryPlanner;
      import org.apache.beam.sdk.extensions.sql.impl.CalciteQueryPlanner;
      
      @RunWith(Parameterized.class)
      public class BeamSqlDslUdfUdafTest extends BeamSqlDslBase {
      
         public QueryPlanner planner;
      
        @Parameters(name = "{0}")
        public static Collection<Class<? extends QueryPlanner>> planners(){
          return Arrays.asList(
            CalciteQueryPlanner.class,
            ZetaSQLQueryPlanner.class)
        }
      
        BeamSqlDslUdfUdafTest(Class<? extends QueryPlanner> planner){
          this.planner = planner;
        }
      
        // TODO refactor each test that run SqlTransform::query to use SqlTransform::withQueryPlannerClass(this.planner)
        ...
      }
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              data-runner0 Jacob Ferriero
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: