Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions sql/core/src/test/resources/sql-tests/inputs/udf/udf-udaf.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
-- This test file was converted from udaf.sql.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: this indent seems wrong? although the indent doesn't matter here..


CREATE OR REPLACE TEMPORARY VIEW t1 AS SELECT * FROM VALUES
(1), (2), (3), (4)
as t1(int_col1);

CREATE FUNCTION myDoubleAvg AS 'test.org.apache.spark.sql.MyDoubleAvg';

SELECT default.myDoubleAvg(udf(int_col1)) as my_avg, udf(default.myDoubleAvg(udf(int_col1))) as my_avg2, udf(default.myDoubleAvg(int_col1)) as my_avg3 from t1;

SELECT default.myDoubleAvg(udf(int_col1), udf(3)) as my_avg from t1;

CREATE FUNCTION udaf1 AS 'test.non.existent.udaf';

SELECT default.udaf1(udf(int_col1)) as udaf1, udf(default.udaf1(udf(int_col1))) as udaf2, udf(default.udaf1(int_col1)) as udaf3 from t1;

DROP FUNCTION myDoubleAvg;
DROP FUNCTION udaf1;
72 changes: 72 additions & 0 deletions sql/core/src/test/resources/sql-tests/results/udf/udf-udaf.sql.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
-- Automatically generated by SQLQueryTestSuite
-- Number of queries: 8


-- !query 0
-- This test file was converted from udaf.sql.

CREATE OR REPLACE TEMPORARY VIEW t1 AS SELECT * FROM VALUES
(1), (2), (3), (4)
as t1(int_col1)
-- !query 0 schema
struct<>
-- !query 0 output



-- !query 1
CREATE FUNCTION myDoubleAvg AS 'test.org.apache.spark.sql.MyDoubleAvg'
-- !query 1 schema
struct<>
-- !query 1 output



-- !query 2
SELECT default.myDoubleAvg(udf(int_col1)) as my_avg, udf(default.myDoubleAvg(udf(int_col1))) as my_avg2, udf(default.myDoubleAvg(int_col1)) as my_avg3 from t1
-- !query 2 schema
struct<my_avg:double,my_avg2:double,my_avg3:double>
-- !query 2 output
102.5 102.5 102.5


-- !query 3
SELECT default.myDoubleAvg(udf(int_col1), udf(3)) as my_avg from t1
-- !query 3 schema
struct<>
-- !query 3 output
org.apache.spark.sql.AnalysisException
Invalid number of arguments for function default.myDoubleAvg. Expected: 1; Found: 2; line 1 pos 7


-- !query 4
CREATE FUNCTION udaf1 AS 'test.non.existent.udaf'
-- !query 4 schema
struct<>
-- !query 4 output



-- !query 5
SELECT default.udaf1(udf(int_col1)) as udaf1, udf(default.udaf1(udf(int_col1))) as udaf2, udf(default.udaf1(int_col1)) as udaf3 from t1
-- !query 5 schema
struct<>
-- !query 5 output
org.apache.spark.sql.AnalysisException
Can not load class 'test.non.existent.udaf' when registering the function 'default.udaf1', please make sure it is on the classpath; line 1 pos 94


-- !query 6
DROP FUNCTION myDoubleAvg
-- !query 6 schema
struct<>
-- !query 6 output



-- !query 7
DROP FUNCTION udaf1
-- !query 7 schema
struct<>
-- !query 7 output