You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Kyle Weaver (Jira)" <ji...@apache.org> on 2020/10/22 22:35:00 UTC

[jira] [Commented] (BEAM-10479) UDF / UDAF support for ZetaSQLQueryPlanner

    [ https://issues.apache.org/jira/browse/BEAM-10479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17219373#comment-17219373 ] 

Kyle Weaver commented on BEAM-10479:
------------------------------------

I am working on this.

Note that we cannot expect to share too much code between tests because of significant incompatibilities between the Calcite and ZetaSQL dialects.

> UDF / UDAF support for ZetaSQLQueryPlanner
> ------------------------------------------
>
>                 Key: BEAM-10479
>                 URL: https://issues.apache.org/jira/browse/BEAM-10479
>             Project: Beam
>          Issue Type: New Feature
>          Components: dsl-sql-zetasql
>            Reporter: Jacob Ferriero
>            Priority: P3
>
> [BeamSqlDslUdfUdafTest | https://github.com/apache/beam/blob/master/sdks/java/extensions/sql/src/test/java/org/apache/beam/sdk/extensions/sql/BeamSqlDslUdfUdafTest.java] 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).
> {code:java}
> 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)
>   ...
> }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)