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 2024/11/04 15:53:45 UTC
(shardingsphere) branch master updated: Rename ShadowHintDataSourceMappingsFinder (#33549)
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 097a48f0910 Rename ShadowHintDataSourceMappingsFinder (#33549)
097a48f0910 is described below
commit 097a48f09107282d93f9a151b2c3d628af79a496
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Mon Nov 4 23:53:38 2024 +0800
Rename ShadowHintDataSourceMappingsFinder (#33549)
* Rename ShadowHintDataSourceMappingsFinder
* Rename ShadowHintDataSourceMappingsFinder
* Rename ShadowHintDataSourceMappingsFinder
---
.../finder/ShadowDataSourceMappingsFinderFactory.java | 4 ++--
...AbstractShadowDMLStatementDataSourceMappingsFinder.java | 8 ++++----
...Finder.java => ShadowHintDataSourceMappingsFinder.java} | 14 +++++---------
...st.java => ShadowHintDataSourceMappingsFinderTest.java} | 6 +++---
4 files changed, 14 insertions(+), 18 deletions(-)
diff --git a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/finder/ShadowDataSourceMappingsFinderFactory.java b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/finder/ShadowDataSourceMappingsFinderFactory.java
index 4a8966dc4cb..54e2a246d4f 100644
--- a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/finder/ShadowDataSourceMappingsFinderFactory.java
+++ b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/finder/ShadowDataSourceMappingsFinderFactory.java
@@ -28,7 +28,7 @@ import org.apache.shardingsphere.shadow.route.finder.dml.ShadowDeleteStatementDa
import org.apache.shardingsphere.shadow.route.finder.dml.ShadowInsertStatementDataSourceMappingsFinder;
import org.apache.shardingsphere.shadow.route.finder.dml.ShadowSelectStatementDataSourceMappingsFinder;
import org.apache.shardingsphere.shadow.route.finder.dml.ShadowUpdateStatementDataSourceMappingsFinder;
-import org.apache.shardingsphere.shadow.route.finder.other.ShadowNonDMLStatementDataSourceMappingsFinder;
+import org.apache.shardingsphere.shadow.route.finder.other.ShadowHintDataSourceMappingsFinder;
/**
* Shadow data source mappings finder factory.
@@ -55,6 +55,6 @@ public final class ShadowDataSourceMappingsFinderFactory {
if (queryContext.getSqlStatementContext() instanceof SelectStatementContext) {
return new ShadowSelectStatementDataSourceMappingsFinder((SelectStatementContext) queryContext.getSqlStatementContext(), queryContext.getParameters(), queryContext.getHintValueContext());
}
- return new ShadowNonDMLStatementDataSourceMappingsFinder(queryContext.getHintValueContext());
+ return new ShadowHintDataSourceMappingsFinder(queryContext.getHintValueContext());
}
}
diff --git a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/finder/dml/AbstractShadowDMLStatementDataSourceMappingsFinder.java b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/finder/dml/AbstractShadowDMLStatementDataSourceMappingsFinder.java
index 88ce7f30ddc..8a4d3c25894 100644
--- a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/finder/dml/AbstractShadowDMLStatementDataSourceMappingsFinder.java
+++ b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/finder/dml/AbstractShadowDMLStatementDataSourceMappingsFinder.java
@@ -89,9 +89,9 @@ public abstract class AbstractShadowDMLStatementDataSourceMappingsFinder impleme
return false;
}
- private Map<String, String> findBySQLHints(final ShadowRule rule, final Collection<String> relatedShadowTables) {
+ private Map<String, String> findBySQLHints(final ShadowRule rule, final Collection<String> shadowTables) {
Map<String, String> result = new LinkedHashMap<>();
- for (String each : relatedShadowTables) {
+ for (String each : shadowTables) {
if (isContainsShadowInSQLHints(rule, each, new ShadowCondition(each, operationType))) {
result.putAll(rule.getShadowDataSourceMappings(each));
return result;
@@ -109,8 +109,8 @@ public abstract class AbstractShadowDMLStatementDataSourceMappingsFinder impleme
return false;
}
- private Map<String, String> findByShadowColumn(final ShadowRule rule, final Collection<String> relatedShadowTables) {
- for (String each : relatedShadowTables) {
+ private Map<String, String> findByShadowColumn(final ShadowRule rule, final Collection<String> shadowTables) {
+ for (String each : shadowTables) {
Collection<String> shadowColumnNames = rule.getShadowColumnNames(operationType, each);
if (!shadowColumnNames.isEmpty() && isMatchAnyColumnShadowAlgorithms(rule, each, shadowColumnNames)) {
return rule.getShadowDataSourceMappings(each);
diff --git a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/finder/other/ShadowNonDMLStatementDataSourceMappingsFinder.java b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/finder/other/ShadowHintDataSourceMappingsFinder.java
similarity index 79%
rename from features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/finder/other/ShadowNonDMLStatementDataSourceMappingsFinder.java
rename to features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/finder/other/ShadowHintDataSourceMappingsFinder.java
index 401cdbb0859..a35ca070f78 100644
--- a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/finder/other/ShadowNonDMLStatementDataSourceMappingsFinder.java
+++ b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/finder/other/ShadowHintDataSourceMappingsFinder.java
@@ -29,22 +29,18 @@ import java.util.Collections;
import java.util.Map;
/**
- * Shadow non-DML statement data source mappings finder.
+ * Shadow hint data source mappings finder.
*/
@RequiredArgsConstructor
-public final class ShadowNonDMLStatementDataSourceMappingsFinder implements ShadowDataSourceMappingsFinder {
+public final class ShadowHintDataSourceMappingsFinder implements ShadowDataSourceMappingsFinder {
private final HintValueContext hintValueContext;
@Override
public Map<String, String> find(final ShadowRule rule) {
- if (!hintValueContext.isShadow()) {
- return Collections.emptyMap();
- }
- if (isMatchAnyHintShadowAlgorithms(rule, new ShadowCondition("", ShadowOperationType.HINT_MATCH))) {
- return rule.getAllShadowDataSourceMappings();
- }
- return Collections.emptyMap();
+ return hintValueContext.isShadow() && isMatchAnyHintShadowAlgorithms(rule, new ShadowCondition("", ShadowOperationType.HINT_MATCH))
+ ? rule.getAllShadowDataSourceMappings()
+ : Collections.emptyMap();
}
private boolean isMatchAnyHintShadowAlgorithms(final ShadowRule rule, final ShadowCondition shadowCondition) {
diff --git a/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/route/finder/other/ShadowNonDMLStatementRouteEngineTest.java b/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/route/finder/other/ShadowHintDataSourceMappingsFinderTest.java
similarity index 93%
rename from features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/route/finder/other/ShadowNonDMLStatementRouteEngineTest.java
rename to features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/route/finder/other/ShadowHintDataSourceMappingsFinderTest.java
index 82760b410bc..b9b88fabbbe 100644
--- a/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/route/finder/other/ShadowNonDMLStatementRouteEngineTest.java
+++ b/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/route/finder/other/ShadowHintDataSourceMappingsFinderTest.java
@@ -34,13 +34,13 @@ import java.util.Map;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-class ShadowNonDMLStatementRouteEngineTest {
+class ShadowHintDataSourceMappingsFinderTest {
- private ShadowNonDMLStatementDataSourceMappingsFinder finder;
+ private ShadowHintDataSourceMappingsFinder finder;
@BeforeEach
void init() {
- finder = new ShadowNonDMLStatementDataSourceMappingsFinder(createHintValueContext());
+ finder = new ShadowHintDataSourceMappingsFinder(createHintValueContext());
}
private HintValueContext createHintValueContext() {