diff --git a/docs/sql-ref-syntax-ddl-drop-function.md b/docs/sql-ref-syntax-ddl-drop-function.md index 9cf1f445e91f..f1b54c675cef 100644 --- a/docs/sql-ref-syntax-ddl-drop-function.md +++ b/docs/sql-ref-syntax-ddl-drop-function.md @@ -19,4 +19,87 @@ license: | limitations under the License. --- -**This page is under construction** +### Description +The `DROP FUNCTION` statement drops a temporary or user defined function (UDF). An exception will + be thrown if the function does not exist. + +### Syntax +{% highlight sql %} +DROP [TEMPORARY] FUNCTION [IF EXISTS] [db_name.]function_name; +{% endhighlight %} + + +### Parameters + +
+
function_name
+
The name of an existing function.
+
+ +
+
TEMPORARY
+
Should be used to delete the `temporary` function.
+
+ +
+
IF EXISTS
+
If specified, no exception is thrown when the function does not exist.
+
+ +### Example +{% highlight sql %} +-- Create a permanent function `test_avg` +CREATE FUNCTION test_avg as 'org.apache.hadoop.hive.ql.udf.generic.GenericUDAFAverage'; + +-- List user functions +SHOW USER FUNCTIONS; + +-------------------+ + | function | + +-------------------+ + | default.test_avg | + +-------------------+ + +-- Create Temporary function `test_avg` +CREATE TEMPORARY FUNCTION test_avg as 'org.apache.hadoop.hive.ql.udf.generic.GenericUDAFAverage'; + +-- List user functions +SHOW USER FUNCTIONS; + +-------------------+ + | function | + +-------------------+ + | default.test_avg | + | test_avg | + +-------------------+ + +-- Drop Permanent function +DROP FUNCTION test_avg; + +---------+ + | Result | + +---------+ + +---------+ + +-- Try to drop Permanent function which is not present +DROP FUNCTION test_avg; + Error: Error running query: + org.apache.spark.sql.catalyst.analysis.NoSuchPermanentFunctionException: + Function 'default.test_avg' not found in database 'default'; (state=,code=0) + +-- List the functions after dropping, it should list only temporary function +SHOW USER FUNCTIONS; + +-----------+ + | function | + +-----------+ + | test_avg | + +-----------+ + +-- Drop Temporary function +DROP TEMPORARY FUNCTION IF EXISTS test_avg; + +---------+ + | Result | + +---------+ + +---------+ +{% endhighlight %} +### Related statements +- [CREATE FUNCTION](sql-ref-syntax-ddl-create-function.html) +- [DESCRIBE FUNCTION](sql-ref-syntax-aux-describe-function.html) +- [SHOW FUNCTION](sql-ref-syntax-aux-show-functions.html) \ No newline at end of file