This is an automated email from the ASF dual-hosted git repository.
etudenhoefner pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg.git
The following commit(s) were added to refs/heads/main by this push:
new ccc3e14df9 Spark: Improve namespace existence verification logic
(#14507)
ccc3e14df9 is described below
commit ccc3e14df9a3a76be5c7b469c8a662d2da363400
Author: roryqi <[email protected]>
AuthorDate: Wed Nov 5 23:37:35 2025 +0800
Spark: Improve namespace existence verification logic (#14507)
---
.../spark/src/main/java/org/apache/iceberg/spark/SparkCatalog.java | 6 ++++++
.../spark/src/main/java/org/apache/iceberg/spark/SparkCatalog.java | 6 ++++++
.../spark/src/main/java/org/apache/iceberg/spark/SparkCatalog.java | 6 ++++++
3 files changed, 18 insertions(+)
diff --git
a/spark/v3.4/spark/src/main/java/org/apache/iceberg/spark/SparkCatalog.java
b/spark/v3.4/spark/src/main/java/org/apache/iceberg/spark/SparkCatalog.java
index 724fb377d9..d90dd61590 100644
--- a/spark/v3.4/spark/src/main/java/org/apache/iceberg/spark/SparkCatalog.java
+++ b/spark/v3.4/spark/src/main/java/org/apache/iceberg/spark/SparkCatalog.java
@@ -455,6 +455,12 @@ public class SparkCatalog extends BaseCatalog {
throw new NoSuchNamespaceException(namespace);
}
+ @Override
+ public boolean namespaceExists(String[] namespace) {
+ return asNamespaceCatalog != null
+ && asNamespaceCatalog.namespaceExists(Namespace.of(namespace));
+ }
+
@Override
public Map<String, String> loadNamespaceMetadata(String[] namespace)
throws NoSuchNamespaceException {
diff --git
a/spark/v3.5/spark/src/main/java/org/apache/iceberg/spark/SparkCatalog.java
b/spark/v3.5/spark/src/main/java/org/apache/iceberg/spark/SparkCatalog.java
index e0af6eb35e..fea86c8a1d 100644
--- a/spark/v3.5/spark/src/main/java/org/apache/iceberg/spark/SparkCatalog.java
+++ b/spark/v3.5/spark/src/main/java/org/apache/iceberg/spark/SparkCatalog.java
@@ -455,6 +455,12 @@ public class SparkCatalog extends BaseCatalog {
throw new NoSuchNamespaceException(namespace);
}
+ @Override
+ public boolean namespaceExists(String[] namespace) {
+ return asNamespaceCatalog != null
+ && asNamespaceCatalog.namespaceExists(Namespace.of(namespace));
+ }
+
@Override
public Map<String, String> loadNamespaceMetadata(String[] namespace)
throws NoSuchNamespaceException {
diff --git
a/spark/v4.0/spark/src/main/java/org/apache/iceberg/spark/SparkCatalog.java
b/spark/v4.0/spark/src/main/java/org/apache/iceberg/spark/SparkCatalog.java
index 208ec52c8f..c746140022 100644
--- a/spark/v4.0/spark/src/main/java/org/apache/iceberg/spark/SparkCatalog.java
+++ b/spark/v4.0/spark/src/main/java/org/apache/iceberg/spark/SparkCatalog.java
@@ -456,6 +456,12 @@ public class SparkCatalog extends BaseCatalog {
throw new NoSuchNamespaceException(namespace);
}
+ @Override
+ public boolean namespaceExists(String[] namespace) {
+ return asNamespaceCatalog != null
+ && asNamespaceCatalog.namespaceExists(Namespace.of(namespace));
+ }
+
@Override
public Map<String, String> loadNamespaceMetadata(String[] namespace)
throws NoSuchNamespaceException {