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

lzljs3620320 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-paimon.git


The following commit(s) were added to refs/heads/master by this push:
     new cc1cbc87a [spark] spark sql support get/list function (#2880)
cc1cbc87a is described below

commit cc1cbc87a0bfb2350ca7bfddbaab57e45a8e693d
Author: chao chen <[email protected]>
AuthorDate: Mon Mar 18 15:32:50 2024 +0800

    [spark] spark sql support get/list function (#2880)
---
 .../main/java/org/apache/paimon/spark/SparkGenericCatalog.java   | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git 
a/paimon-spark/paimon-spark-common/src/main/java/org/apache/paimon/spark/SparkGenericCatalog.java
 
b/paimon-spark/paimon-spark-common/src/main/java/org/apache/paimon/spark/SparkGenericCatalog.java
index 931b1f192..3bdff7376 100644
--- 
a/paimon-spark/paimon-spark-common/src/main/java/org/apache/paimon/spark/SparkGenericCatalog.java
+++ 
b/paimon-spark/paimon-spark-common/src/main/java/org/apache/paimon/spark/SparkGenericCatalog.java
@@ -39,6 +39,7 @@ import org.apache.spark.sql.catalyst.catalog.SessionCatalog;
 import org.apache.spark.sql.connector.catalog.CatalogExtension;
 import org.apache.spark.sql.connector.catalog.CatalogPlugin;
 import org.apache.spark.sql.connector.catalog.CatalogUtils;
+import org.apache.spark.sql.connector.catalog.FunctionCatalog;
 import org.apache.spark.sql.connector.catalog.Identifier;
 import org.apache.spark.sql.connector.catalog.NamespaceChange;
 import org.apache.spark.sql.connector.catalog.SupportsNamespaces;
@@ -316,18 +317,22 @@ public class SparkGenericCatalog extends SparkBaseCatalog 
implements CatalogExte
         return (SupportsNamespaces) sessionCatalog;
     }
 
+    private FunctionCatalog asFunctionCatalog() {
+        return (FunctionCatalog) sessionCatalog;
+    }
+
     @Override
     public Identifier[] listFunctions(String[] namespace) throws 
NoSuchNamespaceException {
         if (namespace.length == 0 || isSystemNamespace(namespace) || 
namespaceExists(namespace)) {
             return new Identifier[0];
         }
 
-        throw new NoSuchNamespaceException(namespace);
+        return asFunctionCatalog().listFunctions(namespace);
     }
 
     @Override
     public UnboundFunction loadFunction(Identifier ident) throws 
NoSuchFunctionException {
-        throw new NoSuchFunctionException(ident);
+        return asFunctionCatalog().loadFunction(ident);
     }
 
     private static boolean isSystemNamespace(String[] namespace) {

Reply via email to