MingxingLAI commented on a change in pull request #14197:
URL: https://github.com/apache/shardingsphere/pull/14197#discussion_r773042643



##########
File path: 
shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/ShowTablesExecutor.java
##########
@@ -78,7 +78,7 @@ private QueryResult getQueryResult(final String schemaName) {
     private Collection<String> getAllTableNames(final String schemaName) {
         Collection<String> allTableNames = 
ProxyContext.getInstance().getMetaData(schemaName).getSchema().getAllTableNames();
         if (showTablesStatement.getFilter().isPresent()) {
-            Optional<String> pattern = 
showTablesStatement.getFilter().get().getLike().map(each -> 
SQLUtil.convertLikePatternToRegex(each.getPattern()));
+            Optional<String> pattern = 
showTablesStatement.getFilter().get().getLike().map(each -> 
SQLUtil.convertLikePatternToRegex(each.getPattern().toLowerCase()));
             return pattern.isPresent() ? allTableNames.stream().filter(each -> 
each.matches(pattern.get())).collect(Collectors.toList()) : allTableNames;

Review comment:
       I think there are three ways to slove this problem:
   
   1. Treat all table names in lower case(like this pull request)
   2. Distinguish case of table name
   3. Ignore uppercase table names
   
   Which solution do you think is the most proper ?
   
   If we use the second solution, it may cause compatibility problems for many 
users who has use ShardingSphere and thread all table names in lower case. So, 
I this the first solution is proper.




-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to