This is an automated email from the ASF dual-hosted git repository.
terrymanu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 91a4e278230 Remove MCP legacy system schema fallback (#39037)
91a4e278230 is described below
commit 91a4e27823054d1050db1856c57e0dbdf5912736
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Jul 7 21:43:33 2026 +0800
Remove MCP legacy system schema fallback (#39037)
Make MCP database dialect system schema checks rely only on each database
capability option, so unknown database types no longer inherit centralized
schema assumptions.
Add focused tests for unknown database types and cross-dialect system
schema isolation.
---
.../mcp/support/database/capability/MCPDatabaseDialect.java | 5 +----
.../support/database/capability/MCPDatabaseDialectTest.java | 10 ++++++++--
2 files changed, 9 insertions(+), 6 deletions(-)
diff --git
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/database/capability/MCPDatabaseDialect.java
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/database/capability/MCPDatabaseDialect.java
index be92283c0d8..34d28c641a3 100644
---
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/database/capability/MCPDatabaseDialect.java
+++
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/database/capability/MCPDatabaseDialect.java
@@ -32,9 +32,6 @@ import java.util.Optional;
*/
public final class MCPDatabaseDialect {
- private static final Collection<String> LEGACY_SYSTEM_SCHEMAS = List.of(
- "information_schema", "mysql", "performance_schema", "pg_catalog",
"shardingsphere", "sys", "system_lobs");
-
private final String databaseType;
private final Optional<MCPDatabaseCapabilityOption> option;
@@ -126,7 +123,7 @@ public final class MCPDatabaseDialect {
return false;
}
Collection<String> systemSchemas =
option.map(MCPDatabaseCapabilityOption::getSystemSchemas).orElseGet(List::of);
- return containsSystemSchema(systemSchemas, actualSchemaName) ||
containsSystemSchema(LEGACY_SYSTEM_SCHEMAS, actualSchemaName);
+ return containsSystemSchema(systemSchemas, actualSchemaName);
}
/**
diff --git
a/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/database/capability/MCPDatabaseDialectTest.java
b/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/database/capability/MCPDatabaseDialectTest.java
index dc1a75b0923..4fa2e97136c 100644
---
a/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/database/capability/MCPDatabaseDialectTest.java
+++
b/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/database/capability/MCPDatabaseDialectTest.java
@@ -100,9 +100,15 @@ class MCPDatabaseDialectTest {
}
@Test
- void assertIsSystemSchemaWithUnknownDatabaseType() {
+ void assertIsSystemSchemaIgnoresUnknownDatabaseType() {
boolean actual =
MCPDatabaseDialect.of("FixtureDB").isSystemSchema("INFORMATION_SCHEMA");
- assertTrue(actual);
+ assertFalse(actual);
+ }
+
+ @Test
+ void assertIsSystemSchemaIgnoresOtherDatabaseType() {
+ boolean actual =
MCPDatabaseDialect.of("SQLServer").isSystemSchema("pg_catalog");
+ assertFalse(actual);
}
private static Stream<Arguments> getIdentifierQuoteCharacterArguments() {