You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by ib...@apache.org on 2021/04/12 16:41:55 UTC

[beam] branch master updated: [BEAM-10925] Add test for Java UDF with no return type.

This is an automated email from the ASF dual-hosted git repository.

ibzib pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git


The following commit(s) were added to refs/heads/master by this push:
     new 5e87e19  [BEAM-10925] Add test for Java UDF with no return type.
     new 9973521  Merge pull request #14484 from ibzib/no-return
5e87e19 is described below

commit 5e87e194146fdcd9ded1827b328a706fe2fb5523
Author: Kyle Weaver <kc...@google.com>
AuthorDate: Thu Apr 8 15:55:02 2021 -0700

    [BEAM-10925] Add test for Java UDF with no return type.
---
 .../sdk/extensions/sql/zetasql/ZetaSqlJavaUdfTest.java    | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/sdks/java/extensions/sql/zetasql/src/test/java/org/apache/beam/sdk/extensions/sql/zetasql/ZetaSqlJavaUdfTest.java b/sdks/java/extensions/sql/zetasql/src/test/java/org/apache/beam/sdk/extensions/sql/zetasql/ZetaSqlJavaUdfTest.java
index 7c73b70..e12affe 100644
--- a/sdks/java/extensions/sql/zetasql/src/test/java/org/apache/beam/sdk/extensions/sql/zetasql/ZetaSqlJavaUdfTest.java
+++ b/sdks/java/extensions/sql/zetasql/src/test/java/org/apache/beam/sdk/extensions/sql/zetasql/ZetaSqlJavaUdfTest.java
@@ -23,6 +23,7 @@ import static org.hamcrest.Matchers.hasProperty;
 import static org.hamcrest.Matchers.isA;
 import static org.junit.Assert.fail;
 
+import com.google.zetasql.SqlException;
 import java.lang.reflect.Method;
 import org.apache.beam.sdk.Pipeline;
 import org.apache.beam.sdk.extensions.sql.BeamSqlUdf;
@@ -291,6 +292,20 @@ public class ZetaSqlJavaUdfTest extends ZetaSqlTestBase {
   }
 
   @Test
+  public void testJavaUdfWithNoReturnTypeIsRejected() {
+    String sql =
+        String.format(
+            "CREATE FUNCTION helloWorld() LANGUAGE java "
+                + "OPTIONS (path='%s'); "
+                + "SELECT helloWorld();",
+            jarPath);
+    ZetaSQLQueryPlanner zetaSQLQueryPlanner = new ZetaSQLQueryPlanner(config);
+    thrown.expect(SqlException.class);
+    thrown.expectMessage("Non-SQL functions must specify a return type");
+    BeamRelNode beamRelNode = zetaSQLQueryPlanner.convertToBeamRel(sql);
+  }
+
+  @Test
   public void testBinaryJavaUdf() {
     String sql =
         String.format(