You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by GitBox <gi...@apache.org> on 2021/04/14 02:37:50 UTC

[GitHub] [shardingsphere] tristaZero commented on a change in pull request #10068: Check if resource name is duplicate for add resource

tristaZero commented on a change in pull request #10068:
URL: https://github.com/apache/shardingsphere/pull/10068#discussion_r612897163



##########
File path: shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AddResourceBackendHandler.java
##########
@@ -67,6 +72,21 @@ public ResponseHeader execute(final String schemaName, final AddResourceStatemen
         return new UpdateResponseHeader(sqlStatement);
     }
     
+    private void check(final String schemaName, final AddResourceStatement sqlStatement) {
+        List<String> dataSourceNames = new ArrayList<>(sqlStatement.getDataSources().size());
+        for (DataSourceSegment dataSourceSegment : sqlStatement.getDataSources()) {
+            if (dataSourceNames.contains(dataSourceSegment.getName())) {
+                throw new DuplicateResourceException(dataSourceSegment.getName());
+            }
+            dataSourceNames.add(dataSourceSegment.getName());

Review comment:
       Hi this process is different with the one of `validate dataSources`, isn't it?
   Here,  the programming will break once there is an exception. On the other hand, `validate dataSources` will return a whole list of invalid data sources. Could we keep the handling consistent?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org