You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2025/08/15 10:20:40 UTC
(shardingsphere) branch master updated: Add authority-simple and authority-database profiles (#36312)
This is an automated email from the ASF dual-hosted git repository.
zhangliang 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 d46a3fddc43 Add authority-simple and authority-database profiles (#36312)
d46a3fddc43 is described below
commit d46a3fddc43ad279a51718238b642225063cc0ab
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Fri Aug 15 18:20:34 2025 +0800
Add authority-simple and authority-database profiles (#36312)
---
distribution/jdbc/pom.xml | 58 +++++++++++++++++-----
distribution/proxy-native/pom.xml | 58 +++++++++++++++++-----
distribution/proxy/pom.xml | 58 +++++++++++++++++-----
.../sqltranslator/rule/SQLTranslatorRuleTest.java | 22 ++++----
4 files changed, 148 insertions(+), 48 deletions(-)
diff --git a/distribution/jdbc/pom.xml b/distribution/jdbc/pom.xml
index 369ea732b13..ae95e31b402 100644
--- a/distribution/jdbc/pom.xml
+++ b/distribution/jdbc/pom.xml
@@ -52,18 +52,6 @@
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-authority-simple</artifactId>
- <version>${project.version}</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-authority-database</artifactId>
- <version>${project.version}</version>
- <scope>runtime</scope>
- </dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-sql-translator-native-provider</artifactId>
@@ -160,6 +148,18 @@
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-authority-simple</artifactId>
+ <version>${project.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-authority-database</artifactId>
+ <version>${project.version}</version>
+ <scope>runtime</scope>
+ </dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-transaction-xa-atomikos</artifactId>
@@ -306,6 +306,18 @@
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-authority-simple</artifactId>
+ <version>${project.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-authority-database</artifactId>
+ <version>${project.version}</version>
+ <scope>runtime</scope>
+ </dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-transaction-xa-atomikos</artifactId>
@@ -531,6 +543,28 @@
</dependencies>
</profile>
+ <profile>
+ <id>authority-simple</id>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-authority-simple</artifactId>
+ <version>${project.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+ </dependencies>
+ </profile>
+ <profile>
+ <id>authority-database</id>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-authority-database</artifactId>
+ <version>${project.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+ </dependencies>
+ </profile>
<profile>
<id>transaction-atomikos</id>
<dependencies>
diff --git a/distribution/proxy-native/pom.xml b/distribution/proxy-native/pom.xml
index b1be8cc77fb..395cade3d78 100644
--- a/distribution/proxy-native/pom.xml
+++ b/distribution/proxy-native/pom.xml
@@ -48,18 +48,6 @@
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-authority-simple</artifactId>
- <version>${project.version}</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-authority-database</artifactId>
- <version>${project.version}</version>
- <scope>runtime</scope>
- </dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-sql-translator-native-provider</artifactId>
@@ -257,6 +245,18 @@
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-authority-simple</artifactId>
+ <version>${project.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-authority-database</artifactId>
+ <version>${project.version}</version>
+ <scope>runtime</scope>
+ </dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-transaction-xa-atomikos</artifactId>
@@ -425,6 +425,18 @@
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-authority-simple</artifactId>
+ <version>${project.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-authority-database</artifactId>
+ <version>${project.version}</version>
+ <scope>runtime</scope>
+ </dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-transaction-xa-atomikos</artifactId>
@@ -734,6 +746,28 @@
</dependencies>
</profile>
+ <profile>
+ <id>authority-simple</id>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-authority-simple</artifactId>
+ <version>${project.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+ </dependencies>
+ </profile>
+ <profile>
+ <id>authority-database</id>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-authority-database</artifactId>
+ <version>${project.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+ </dependencies>
+ </profile>
<profile>
<id>transaction-atomikos</id>
<dependencies>
diff --git a/distribution/proxy/pom.xml b/distribution/proxy/pom.xml
index dca88330189..e5957239c25 100644
--- a/distribution/proxy/pom.xml
+++ b/distribution/proxy/pom.xml
@@ -40,18 +40,6 @@
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-authority-simple</artifactId>
- <version>${project.version}</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-authority-database</artifactId>
- <version>${project.version}</version>
- <scope>runtime</scope>
- </dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-sql-translator-native-provider</artifactId>
@@ -292,6 +280,18 @@
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-authority-simple</artifactId>
+ <version>${project.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-authority-database</artifactId>
+ <version>${project.version}</version>
+ <scope>runtime</scope>
+ </dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-transaction-xa-atomikos</artifactId>
@@ -460,6 +460,18 @@
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-authority-simple</artifactId>
+ <version>${project.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-authority-database</artifactId>
+ <version>${project.version}</version>
+ <scope>runtime</scope>
+ </dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-transaction-xa-atomikos</artifactId>
@@ -769,6 +781,28 @@
</dependencies>
</profile>
+ <profile>
+ <id>authority-simple</id>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-authority-simple</artifactId>
+ <version>${project.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+ </dependencies>
+ </profile>
+ <profile>
+ <id>authority-database</id>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-authority-database</artifactId>
+ <version>${project.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+ </dependencies>
+ </profile>
<profile>
<id>transaction-atomikos</id>
<dependencies>
diff --git a/kernel/sql-translator/core/src/test/java/org/apache/shardingsphere/sqltranslator/rule/SQLTranslatorRuleTest.java b/kernel/sql-translator/core/src/test/java/org/apache/shardingsphere/sqltranslator/rule/SQLTranslatorRuleTest.java
index df95b42b472..41fb18da7d2 100644
--- a/kernel/sql-translator/core/src/test/java/org/apache/shardingsphere/sqltranslator/rule/SQLTranslatorRuleTest.java
+++ b/kernel/sql-translator/core/src/test/java/org/apache/shardingsphere/sqltranslator/rule/SQLTranslatorRuleTest.java
@@ -18,8 +18,6 @@
package org.apache.shardingsphere.sqltranslator.rule;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.session.query.QueryContext;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.sqltranslator.config.SQLTranslatorRuleConfiguration;
@@ -49,8 +47,7 @@ class SQLTranslatorRuleTest {
DatabaseType databaseType = TypedSPILoader.getService(DatabaseType.class, "PostgreSQL");
QueryContext queryContext = mock(QueryContext.class, RETURNS_DEEP_STUBS);
when(queryContext.getSqlStatementContext().getSqlStatement().getDatabaseType()).thenReturn(databaseType);
- Optional<SQLTranslatorContext> actual = new SQLTranslatorRule(new SQLTranslatorRuleConfiguration("FIXTURE", new Properties(), false)).translate(expected, Collections.emptyList(),
- queryContext, databaseType, mock(ShardingSphereDatabase.class), mock(RuleMetaData.class));
+ Optional<SQLTranslatorContext> actual = createSQLTranslatorRule(false).translate(expected, Collections.emptyList(), queryContext, databaseType, mock(), mock());
assertFalse(actual.isPresent());
}
@@ -60,8 +57,7 @@ class SQLTranslatorRuleTest {
DatabaseType sqlParserType = TypedSPILoader.getService(DatabaseType.class, "PostgreSQL");
QueryContext queryContext = mock(QueryContext.class, RETURNS_DEEP_STUBS);
when(queryContext.getSqlStatementContext().getSqlStatement().getDatabaseType()).thenReturn(sqlParserType);
- Optional<SQLTranslatorContext> actual = new SQLTranslatorRule(new SQLTranslatorRuleConfiguration("CORE:FIXTURE", new Properties(), false)).translate(expected, Collections.emptyList(),
- queryContext, null, mock(ShardingSphereDatabase.class), mock(RuleMetaData.class));
+ Optional<SQLTranslatorContext> actual = createSQLTranslatorRule(false).translate(expected, Collections.emptyList(), queryContext, null, mock(), mock());
assertFalse(actual.isPresent());
}
@@ -72,8 +68,7 @@ class SQLTranslatorRuleTest {
QueryContext queryContext = mock(QueryContext.class, RETURNS_DEEP_STUBS);
when(queryContext.getSqlStatementContext().getSqlStatement().getDatabaseType()).thenReturn(sqlParserType);
DatabaseType storageType = TypedSPILoader.getService(DatabaseType.class, "PostgreSQL");
- Optional<SQLTranslatorContext> actual = new SQLTranslatorRule(new SQLTranslatorRuleConfiguration("CORE:FIXTURE", new Properties(), false)).translate(input, Collections.emptyList(),
- queryContext, storageType, mock(ShardingSphereDatabase.class), mock(RuleMetaData.class));
+ Optional<SQLTranslatorContext> actual = createSQLTranslatorRule(false).translate(input, Collections.emptyList(), queryContext, storageType, mock(), mock());
assertTrue(actual.isPresent());
assertThat(actual.get().getSql(), is(input.toUpperCase(Locale.ROOT)));
}
@@ -85,8 +80,7 @@ class SQLTranslatorRuleTest {
QueryContext queryContext = mock(QueryContext.class, RETURNS_DEEP_STUBS);
when(queryContext.getSqlStatementContext().getSqlStatement().getDatabaseType()).thenReturn(sqlParserType);
DatabaseType storageType = TypedSPILoader.getService(DatabaseType.class, "MySQL");
- Optional<SQLTranslatorContext> actual = new SQLTranslatorRule(new SQLTranslatorRuleConfiguration("CORE:FIXTURE", new Properties(), true)).translate(
- expected, Collections.emptyList(), queryContext, storageType, mock(ShardingSphereDatabase.class), mock(RuleMetaData.class));
+ Optional<SQLTranslatorContext> actual = createSQLTranslatorRule(true).translate(expected, Collections.emptyList(), queryContext, storageType, mock(), mock());
assertFalse(actual.isPresent());
}
@@ -96,8 +90,8 @@ class SQLTranslatorRuleTest {
DatabaseType sqlParserType = TypedSPILoader.getService(DatabaseType.class, "PostgreSQL");
when(queryContext.getSqlStatementContext().getSqlStatement().getDatabaseType()).thenReturn(sqlParserType);
DatabaseType storageType = TypedSPILoader.getService(DatabaseType.class, "MySQL");
- assertThrows(UnsupportedTranslatedDatabaseException.class, () -> new SQLTranslatorRule(new SQLTranslatorRuleConfiguration("CORE:FIXTURE", new Properties(), false)).translate(
- "ERROR: select 1", Collections.emptyList(), queryContext, storageType, mock(ShardingSphereDatabase.class), mock(RuleMetaData.class)));
+ assertThrows(UnsupportedTranslatedDatabaseException.class,
+ () -> createSQLTranslatorRule(false).translate("ERROR: select 1", Collections.emptyList(), queryContext, storageType, mock(), mock()));
}
@Test
@@ -105,4 +99,8 @@ class SQLTranslatorRuleTest {
SQLTranslatorRuleConfiguration expected = new SQLTranslatorRuleConfiguration("CORE:FIXTURE", new Properties(), false);
assertThat(new SQLTranslatorRule(expected).getConfiguration(), is(expected));
}
+
+ private SQLTranslatorRule createSQLTranslatorRule(final boolean useOriginalSQLWhenTranslatingFailed) {
+ return new SQLTranslatorRule(new SQLTranslatorRuleConfiguration("CORE:FIXTURE", new Properties(), useOriginalSQLWhenTranslatingFailed));
+ }
}