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 c5dc97cdb19 Refactor DataNode.format() (#32955)
c5dc97cdb19 is described below
commit c5dc97cdb1911791d4e4a47fe847dd546a8c8808
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Sep 22 13:21:02 2024 +0800
Refactor DataNode.format() (#32955)
---
.../handler/query/ShowShardingTableNodesExecutor.java | 9 ++++-----
.../org/apache/shardingsphere/infra/datanode/DataNode.java | 9 ---------
.../UnsupportedActualDataNodeStructureException.java | 5 ++---
.../metadata/database/schema/util/SchemaMetaDataUtils.java | 3 ++-
.../apache/shardingsphere/infra/datanode/DataNodeTest.java | 14 --------------
5 files changed, 8 insertions(+), 32 deletions(-)
diff --git
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShowShardingTableNodesExecutor.java
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShowShardingTableNodesExecutor.java
index 69cdef27dbd..b344604ca46 100644
---
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShowShardingTableNodesExecutor.java
+++
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShowShardingTableNodesExecutor.java
@@ -20,7 +20,6 @@ package
org.apache.shardingsphere.sharding.distsql.handler.query;
import lombok.Setter;
import
org.apache.shardingsphere.distsql.handler.aware.DistSQLExecutorRuleAware;
import
org.apache.shardingsphere.distsql.handler.engine.query.DistSQLQueryExecutor;
-import org.apache.shardingsphere.infra.datanode.DataNode;
import
org.apache.shardingsphere.infra.merge.result.impl.local.LocalDataQueryResultRow;
import org.apache.shardingsphere.mode.manager.ContextManager;
import
org.apache.shardingsphere.sharding.distsql.statement.ShowShardingTableNodesStatement;
@@ -49,12 +48,12 @@ public final class ShowShardingTableNodesExecutor
implements DistSQLQueryExecuto
public Collection<LocalDataQueryResultRow> getRows(final
ShowShardingTableNodesStatement sqlStatement, final ContextManager
contextManager) {
String tableName = sqlStatement.getTableName();
return null == tableName
- ? rule.getShardingTables().entrySet().stream().map(entry ->
new LocalDataQueryResultRow(entry.getKey(),
getTableNodes(entry.getValue()))).collect(Collectors.toList())
- : Collections.singleton(new LocalDataQueryResultRow(tableName,
getTableNodes(rule.getShardingTable(tableName))));
+ ? rule.getShardingTables().entrySet().stream().map(entry ->
new LocalDataQueryResultRow(entry.getKey(), getTableNodes(sqlStatement,
entry.getValue()))).collect(Collectors.toList())
+ : Collections.singleton(new LocalDataQueryResultRow(tableName,
getTableNodes(sqlStatement, rule.getShardingTable(tableName))));
}
- private String getTableNodes(final ShardingTable shardingTable) {
- return
shardingTable.getActualDataNodes().stream().map(DataNode::format).collect(Collectors.joining(",
"));
+ private String getTableNodes(final ShowShardingTableNodesStatement
sqlStatement, final ShardingTable shardingTable) {
+ return shardingTable.getActualDataNodes().stream().map(each ->
each.format(sqlStatement.getDatabaseType())).collect(Collectors.joining(", "));
}
@Override
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/datanode/DataNode.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/datanode/DataNode.java
index cf4a2be276d..008f9fde040 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/datanode/DataNode.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/datanode/DataNode.java
@@ -102,15 +102,6 @@ public final class DataNode {
return isValidDataNode(actualDataNodes, 3);
}
- /**
- * Format data node as string.
- *
- * @return formatted data node
- */
- public String format() {
- return dataSourceName + DELIMITER + tableName;
- }
-
/**
* Format data node as string.
*
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/kernel/metadata/datanode/UnsupportedActualDataNodeStructureException.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/kernel/metadata/datanode/UnsupportedActualDataNodeStructureException.java
index d2bb0835550..760d0fbcd1d 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/kernel/metadata/datanode/UnsupportedActualDataNodeStructureException.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/exception/kernel/metadata/datanode/UnsupportedActualDataNodeStructureException.java
@@ -17,7 +17,6 @@
package org.apache.shardingsphere.infra.exception.kernel.metadata.datanode;
-import org.apache.shardingsphere.infra.datanode.DataNode;
import
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState;
import java.util.Collection;
@@ -29,7 +28,7 @@ public final class
UnsupportedActualDataNodeStructureException extends DataNodeD
private static final long serialVersionUID = -8921823916974492519L;
- public UnsupportedActualDataNodeStructureException(final DataNode
dataNode, final Collection<String> jdbcUrlPrefixes) {
- super(XOpenSQLState.FEATURE_NOT_SUPPORTED, 1, "Can not support 3-tier
structure for actual data node '%s' with JDBC '%s'.", dataNode.format(),
jdbcUrlPrefixes);
+ public UnsupportedActualDataNodeStructureException(final String
dataSourceName, final String tableName, final Collection<String>
jdbcUrlPrefixes) {
+ super(XOpenSQLState.FEATURE_NOT_SUPPORTED, 1, "Can not support 3-tier
structure for actual data node '%s.%s' with JDBC '%s'.", dataSourceName,
tableName, jdbcUrlPrefixes);
}
}
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/util/SchemaMetaDataUtils.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/util/SchemaMetaDataUtils.java
index c292869a1e6..63d51985a17 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/util/SchemaMetaDataUtils.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/util/SchemaMetaDataUtils.java
@@ -84,7 +84,8 @@ public final class SchemaMetaDataUtils {
final String tableName) {
for (DataNode dataNode : dataNodes.getDataNodes(tableName)) {
ShardingSpherePreconditions.checkState(notSupportThreeTierStructureStorageTypes.isEmpty()
|| !dataNode.getDataSourceName().contains("."),
- () -> new
UnsupportedActualDataNodeStructureException(dataNode,
notSupportThreeTierStructureStorageTypes.iterator().next().getJdbcUrlPrefixes()));
+ () -> new UnsupportedActualDataNodeStructureException(
+ dataNode.getDataSourceName(),
dataNode.getTableName(),
notSupportThreeTierStructureStorageTypes.iterator().next().getJdbcUrlPrefixes()));
if (dataNode.getDataSourceName().contains(".")) {
String database = dataNode.getDataSourceName().split("\\.")[1];
GlobalDataSourceRegistry.getInstance().getCachedDatabaseTables().put(dataNode.getTableName(),
database);
diff --git
a/infra/common/src/test/java/org/apache/shardingsphere/infra/datanode/DataNodeTest.java
b/infra/common/src/test/java/org/apache/shardingsphere/infra/datanode/DataNodeTest.java
index a3e03d4af95..abc6544a166 100644
---
a/infra/common/src/test/java/org/apache/shardingsphere/infra/datanode/DataNodeTest.java
+++
b/infra/common/src/test/java/org/apache/shardingsphere/infra/datanode/DataNodeTest.java
@@ -80,13 +80,6 @@ class DataNodeTest {
assertThrows(InvalidDataNodeFormatException.class, () -> new
DataNode("ds_0."));
}
- @Test
- void assertFormat() {
- String expected = "ds_0.tbl_0";
- DataNode dataNode = new DataNode(expected);
- assertThat(dataNode.format(), is(expected));
- }
-
@Test
void assertNewValidDataNodeIncludeInstance() {
DataNode dataNode = new DataNode("ds_0.db_0.tbl_0");
@@ -103,11 +96,4 @@ class DataNodeTest {
void assertToStringIncludeInstance() {
assertThat(new DataNode("ds_0.db_0.tbl_0").toString(),
is("DataNode(dataSourceName=ds_0.db_0, tableName=tbl_0, schemaName=null)"));
}
-
- @Test
- void assertFormatIncludeInstance() {
- String expected = "ds_0.db_0.tbl_0";
- DataNode dataNode = new DataNode(expected);
- assertThat(dataNode.format(), is(expected));
- }
}