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/05/22 16:17:09 UTC
(shardingsphere) branch master updated: Add DistSQLExecutorDatabaseAware interface to ShowShardingTableNodesExecutor (#35488)
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 c603396b625 Add DistSQLExecutorDatabaseAware interface to ShowShardingTableNodesExecutor (#35488)
c603396b625 is described below
commit c603396b625fefe9a157e12dac092c4ec94cd15c
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Fri May 23 00:17:02 2025 +0800
Add DistSQLExecutorDatabaseAware interface to ShowShardingTableNodesExecutor (#35488)
---
.../handler/query/ShowShardingTableNodesExecutor.java | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 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 b344604ca46..df54dfb7637 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
@@ -18,9 +18,11 @@
package org.apache.shardingsphere.sharding.distsql.handler.query;
import lombok.Setter;
+import org.apache.shardingsphere.distsql.handler.aware.DistSQLExecutorDatabaseAware;
import org.apache.shardingsphere.distsql.handler.aware.DistSQLExecutorRuleAware;
import org.apache.shardingsphere.distsql.handler.engine.query.DistSQLQueryExecutor;
import org.apache.shardingsphere.infra.merge.result.impl.local.LocalDataQueryResultRow;
+import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.sharding.distsql.statement.ShowShardingTableNodesStatement;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -35,10 +37,12 @@ import java.util.stream.Collectors;
* Show sharding table nodes executor.
*/
@Setter
-public final class ShowShardingTableNodesExecutor implements DistSQLQueryExecutor<ShowShardingTableNodesStatement>, DistSQLExecutorRuleAware<ShardingRule> {
+public final class ShowShardingTableNodesExecutor implements DistSQLQueryExecutor<ShowShardingTableNodesStatement>, DistSQLExecutorRuleAware<ShardingRule>, DistSQLExecutorDatabaseAware {
private ShardingRule rule;
+ private ShardingSphereDatabase database;
+
@Override
public Collection<String> getColumnNames(final ShowShardingTableNodesStatement sqlStatement) {
return Arrays.asList("name", "nodes");
@@ -48,12 +52,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(sqlStatement, entry.getValue()))).collect(Collectors.toList())
- : Collections.singleton(new LocalDataQueryResultRow(tableName, getTableNodes(sqlStatement, rule.getShardingTable(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))));
}
- private String getTableNodes(final ShowShardingTableNodesStatement sqlStatement, final ShardingTable shardingTable) {
- return shardingTable.getActualDataNodes().stream().map(each -> each.format(sqlStatement.getDatabaseType())).collect(Collectors.joining(", "));
+ private String getTableNodes(final ShardingTable shardingTable) {
+ return shardingTable.getActualDataNodes().stream().map(each -> each.format(database.getProtocolType())).collect(Collectors.joining(", "));
}
@Override