This is an automated email from the ASF dual-hosted git repository.
jshao pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git
The following commit(s) were added to refs/heads/main by this push:
new 82edbf8594 [8769] fix(flink): return empty views to keep compatibility
with Flink SQL gataway (#9319)
82edbf8594 is described below
commit 82edbf8594718969a416c26a87c859e25608fd41
Author: FANNG <[email protected]>
AuthorDate: Wed Dec 3 20:14:16 2025 +0900
[8769] fix(flink): return empty views to keep compatibility with Flink SQL
gataway (#9319)
### What changes were proposed in this pull request?
return empty views to keep compatibility with Flink SQL gataway
### Why are the changes needed?
Fix: #8769
### Does this PR introduce _any_ user-facing change?
no
### How was this patch tested?
add existing tests
---------
Co-authored-by: Copilot <[email protected]>
---
.../flink/connector/catalog/BaseCatalog.java | 7 +++--
.../flink/connector/catalog/TestBaseCatalog.java | 36 ++++++++++++++++++++++
2 files changed, 41 insertions(+), 2 deletions(-)
diff --git
a/flink-connector/flink/src/main/java/org/apache/gravitino/flink/connector/catalog/BaseCatalog.java
b/flink-connector/flink/src/main/java/org/apache/gravitino/flink/connector/catalog/BaseCatalog.java
index 6995096646..9e71321167 100644
---
a/flink-connector/flink/src/main/java/org/apache/gravitino/flink/connector/catalog/BaseCatalog.java
+++
b/flink-connector/flink/src/main/java/org/apache/gravitino/flink/connector/catalog/BaseCatalog.java
@@ -25,6 +25,7 @@ import com.google.common.collect.Lists;
import com.google.common.collect.MapDifference;
import com.google.common.collect.Maps;
import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -202,8 +203,10 @@ public abstract class BaseCatalog extends AbstractCatalog {
}
@Override
- public List<String> listViews(String s) throws DatabaseNotExistException,
CatalogException {
- throw new UnsupportedOperationException();
+ public List<String> listViews(String databaseName)
+ throws DatabaseNotExistException, CatalogException {
+ // Gravitino does not support views yet; return empty to keep Flink
callers happy.
+ return Collections.emptyList();
}
@Override
diff --git
a/flink-connector/flink/src/test/java/org/apache/gravitino/flink/connector/catalog/TestBaseCatalog.java
b/flink-connector/flink/src/test/java/org/apache/gravitino/flink/connector/catalog/TestBaseCatalog.java
index 89d25f8bd0..c55645b9c6 100644
---
a/flink-connector/flink/src/test/java/org/apache/gravitino/flink/connector/catalog/TestBaseCatalog.java
+++
b/flink-connector/flink/src/test/java/org/apache/gravitino/flink/connector/catalog/TestBaseCatalog.java
@@ -20,10 +20,12 @@ package org.apache.gravitino.flink.connector.catalog;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.apache.flink.table.api.DataTypes;
import org.apache.flink.table.api.Schema;
+import org.apache.flink.table.catalog.AbstractCatalog;
import org.apache.flink.table.catalog.CatalogBaseTable;
import org.apache.flink.table.catalog.CatalogDatabase;
import org.apache.flink.table.catalog.CatalogDatabaseImpl;
@@ -31,9 +33,12 @@ import org.apache.flink.table.catalog.CatalogTable;
import org.apache.flink.table.catalog.Column;
import org.apache.flink.table.catalog.TableChange;
import org.apache.gravitino.SchemaChange;
+import org.apache.gravitino.flink.connector.PartitionConverter;
+import org.apache.gravitino.flink.connector.PropertiesConverter;
import org.apache.gravitino.rel.types.Types;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
+import org.mockito.Mockito;
public class TestBaseCatalog {
@@ -116,4 +121,35 @@ public class TestBaseCatalog {
ImmutableList.of(org.apache.gravitino.rel.TableChange.updateComment("new
comment"));
Assertions.assertArrayEquals(expected.toArray(), tableChanges);
}
+
+ @Test
+ public void testListViewsReturnsEmptyWithoutDelegation() throws Exception {
+ AbstractCatalog delegate = Mockito.mock(AbstractCatalog.class);
+ BaseCatalog catalog = new TestableBaseCatalog(delegate);
+
+ List<String> views = catalog.listViews("db");
+
+ Assertions.assertTrue(views.isEmpty());
+ Mockito.verifyNoInteractions(delegate);
+ }
+
+ private static class TestableBaseCatalog extends BaseCatalog {
+
+ private final AbstractCatalog delegate;
+
+ TestableBaseCatalog(AbstractCatalog delegate) {
+ super(
+ "test",
+ Collections.emptyMap(),
+ "default",
+ Mockito.mock(PropertiesConverter.class),
+ Mockito.mock(PartitionConverter.class));
+ this.delegate = delegate;
+ }
+
+ @Override
+ protected AbstractCatalog realCatalog() {
+ return delegate;
+ }
+ }
}