This is an automated email from the ASF dual-hosted git repository.
menghaoranss 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 63b0fdbec2c Refactor schema match rule to insensitive for mysql
(#38705)
63b0fdbec2c is described below
commit 63b0fdbec2cfe70d17ee457d0a8ee4d35f9990b5
Author: Haoran Meng <[email protected]>
AuthorDate: Wed May 20 10:44:40 2026 +0800
Refactor schema match rule to insensitive for mysql (#38705)
---
.../mysql/metadata/identifier/MySQLIdentifierCaseRuleProvider.java | 2 +-
.../mysql/metadata/identifier/MySQLIdentifierCaseRuleProviderTest.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git
a/database/connector/dialect/mysql/src/main/java/org/apache/shardingsphere/database/connector/mysql/metadata/identifier/MySQLIdentifierCaseRuleProvider.java
b/database/connector/dialect/mysql/src/main/java/org/apache/shardingsphere/database/connector/mysql/metadata/identifier/MySQLIdentifierCaseRuleProvider.java
index 77d7224fcb7..ff5a3a58ab3 100644
---
a/database/connector/dialect/mysql/src/main/java/org/apache/shardingsphere/database/connector/mysql/metadata/identifier/MySQLIdentifierCaseRuleProvider.java
+++
b/database/connector/dialect/mysql/src/main/java/org/apache/shardingsphere/database/connector/mysql/metadata/identifier/MySQLIdentifierCaseRuleProvider.java
@@ -66,7 +66,7 @@ public final class MySQLIdentifierCaseRuleProvider implements
IdentifierCaseRule
}
if (0 == lowerCaseTableNames) {
Map<IdentifierScope, IdentifierCaseRule> scopedRules = new
EnumMap<>(IdentifierScope.class);
- scopedRules.put(IdentifierScope.SCHEMA,
IdentifierCaseRuleSets.newSensitiveRuleSet().getRule(IdentifierScope.SCHEMA));
+ scopedRules.put(IdentifierScope.SCHEMA,
IdentifierCaseRuleSets.newMySQLInsensitiveRuleSet().getRule(IdentifierScope.SCHEMA));
scopedRules.put(IdentifierScope.TABLE,
IdentifierCaseRuleSets.newSensitiveRuleSet().getRule(IdentifierScope.TABLE));
scopedRules.put(IdentifierScope.VIEW,
IdentifierCaseRuleSets.newSensitiveRuleSet().getRule(IdentifierScope.VIEW));
return Optional.of(new
IdentifierCaseRuleSet(IdentifierCaseRuleSets.newInsensitiveRuleSet().getRule(IdentifierScope.TABLE),
scopedRules));
diff --git
a/database/connector/dialect/mysql/src/test/java/org/apache/shardingsphere/database/connector/mysql/metadata/identifier/MySQLIdentifierCaseRuleProviderTest.java
b/database/connector/dialect/mysql/src/test/java/org/apache/shardingsphere/database/connector/mysql/metadata/identifier/MySQLIdentifierCaseRuleProviderTest.java
index af2d0f9af4a..5d34ac71214 100644
---
a/database/connector/dialect/mysql/src/test/java/org/apache/shardingsphere/database/connector/mysql/metadata/identifier/MySQLIdentifierCaseRuleProviderTest.java
+++
b/database/connector/dialect/mysql/src/test/java/org/apache/shardingsphere/database/connector/mysql/metadata/identifier/MySQLIdentifierCaseRuleProviderTest.java
@@ -111,7 +111,7 @@ class MySQLIdentifierCaseRuleProviderTest {
void assertProvideWithLowerCaseTableNamesZeroUsesScopedRules() throws
SQLException {
IdentifierCaseRuleProviderContext context = new
IdentifierCaseRuleProviderContext(DATABASE_TYPE, mockDataSource(true, 0));
IdentifierCaseRuleSet actual =
provider.provide(context).orElseThrow(AssertionError::new);
-
assertThat(actual.getRule(IdentifierScope.SCHEMA).matches("foo_schema",
"FOO_SCHEMA", QuoteCharacter.NONE), is(Boolean.FALSE));
+
assertThat(actual.getRule(IdentifierScope.SCHEMA).matches("foo_schema",
"FOO_SCHEMA", QuoteCharacter.NONE), is(Boolean.TRUE));
assertThat(actual.getRule(IdentifierScope.TABLE).matches("foo_tbl",
"FOO_TBL", QuoteCharacter.NONE), is(Boolean.FALSE));
assertThat(actual.getRule(IdentifierScope.VIEW).matches("foo_view",
"FOO_VIEW", QuoteCharacter.NONE), is(Boolean.FALSE));
assertThat(actual.getRule(IdentifierScope.COLUMN).matches("foo_col",
"FOO_COL", QuoteCharacter.NONE), is(Boolean.TRUE));