1818package org .apache .shardingsphere .sharding .distsql .handler .query ;
1919
2020import lombok .Setter ;
21+ import org .apache .shardingsphere .distsql .handler .aware .DistSQLExecutorDatabaseAware ;
2122import org .apache .shardingsphere .distsql .handler .aware .DistSQLExecutorRuleAware ;
2223import org .apache .shardingsphere .distsql .handler .engine .query .DistSQLQueryExecutor ;
2324import org .apache .shardingsphere .infra .merge .result .impl .local .LocalDataQueryResultRow ;
25+ import org .apache .shardingsphere .infra .metadata .database .ShardingSphereDatabase ;
2426import org .apache .shardingsphere .mode .manager .ContextManager ;
2527import org .apache .shardingsphere .sharding .distsql .statement .ShowShardingTableNodesStatement ;
2628import org .apache .shardingsphere .sharding .rule .ShardingRule ;
3537 * Show sharding table nodes executor.
3638 */
3739@ Setter
38- public final class ShowShardingTableNodesExecutor implements DistSQLQueryExecutor <ShowShardingTableNodesStatement >, DistSQLExecutorRuleAware <ShardingRule > {
40+ public final class ShowShardingTableNodesExecutor implements DistSQLQueryExecutor <ShowShardingTableNodesStatement >, DistSQLExecutorRuleAware <ShardingRule >, DistSQLExecutorDatabaseAware {
3941
4042 private ShardingRule rule ;
4143
44+ private ShardingSphereDatabase database ;
45+
4246 @ Override
4347 public Collection <String > getColumnNames (final ShowShardingTableNodesStatement sqlStatement ) {
4448 return Arrays .asList ("name" , "nodes" );
@@ -48,12 +52,12 @@ public Collection<String> getColumnNames(final ShowShardingTableNodesStatement s
4852 public Collection <LocalDataQueryResultRow > getRows (final ShowShardingTableNodesStatement sqlStatement , final ContextManager contextManager ) {
4953 String tableName = sqlStatement .getTableName ();
5054 return null == tableName
51- ? rule .getShardingTables ().entrySet ().stream ().map (entry -> new LocalDataQueryResultRow (entry .getKey (), getTableNodes (sqlStatement , entry .getValue ()))).collect (Collectors .toList ())
52- : Collections .singleton (new LocalDataQueryResultRow (tableName , getTableNodes (sqlStatement , rule .getShardingTable (tableName ))));
55+ ? rule .getShardingTables ().entrySet ().stream ().map (entry -> new LocalDataQueryResultRow (entry .getKey (), getTableNodes (entry .getValue ()))).collect (Collectors .toList ())
56+ : Collections .singleton (new LocalDataQueryResultRow (tableName , getTableNodes (rule .getShardingTable (tableName ))));
5357 }
5458
55- private String getTableNodes (final ShowShardingTableNodesStatement sqlStatement , final ShardingTable shardingTable ) {
56- return shardingTable .getActualDataNodes ().stream ().map (each -> each .format (sqlStatement . getDatabaseType ())).collect (Collectors .joining (", " ));
59+ private String getTableNodes (final ShardingTable shardingTable ) {
60+ return shardingTable .getActualDataNodes ().stream ().map (each -> each .format (database . getProtocolType ())).collect (Collectors .joining (", " ));
5761 }
5862
5963 @ Override
0 commit comments