wgy8283335 opened a new issue #10629:
URL: https://github.com/apache/shardingsphere/issues/10629


   ## Refactor `OptimizeContextFactory.initProperties(final DatabaseType 
databaseType)`  method
   ```
           // TODO Logic could be improved.
           if (databaseType instanceof MySQLDatabaseType || databaseType == 
null) {
               properties.setProperty(LEX_CAMEL_NAME, Lex.MYSQL.name());
               properties.setProperty(CONFORMANCE_CAMEL_NAME, 
SqlConformanceEnum.MYSQL_5.name());
               return;
           }
           if (databaseType instanceof H2DatabaseType) {
               // TODO No suitable type of Lex
               properties.setProperty(LEX_CAMEL_NAME, Lex.MYSQL.name());
               properties.setProperty(CONFORMANCE_CAMEL_NAME, 
SqlConformanceEnum.DEFAULT.name());
               return;
           }
           if (databaseType instanceof MariaDBDatabaseType) {
               properties.setProperty(LEX_CAMEL_NAME, Lex.MYSQL.name());
               properties.setProperty(CONFORMANCE_CAMEL_NAME, 
SqlConformanceEnum.MYSQL_5.name());
               return;
           }
           if (databaseType instanceof OracleDatabaseType) {
               properties.setProperty(LEX_CAMEL_NAME, Lex.ORACLE.name());
               properties.setProperty(CONFORMANCE_CAMEL_NAME, 
SqlConformanceEnum.ORACLE_12.name());
               return;
           }
           if (databaseType instanceof PostgreSQLDatabaseType) {
               // TODO No suitable type of Lex and conformance
               properties.setProperty(LEX_CAMEL_NAME, Lex.MYSQL.name());
               properties.setProperty(CONFORMANCE_CAMEL_NAME, 
SqlConformanceEnum.DEFAULT.name());
               return;
           }
           if (databaseType instanceof SQL92DatabaseType) {
               // TODO No suitable type of Lex
               properties.setProperty(LEX_CAMEL_NAME, Lex.MYSQL.name());
               properties.setProperty(CONFORMANCE_CAMEL_NAME, 
SqlConformanceEnum.STRICT_92.name());
               return;
           }
           if (databaseType instanceof SQLServerDatabaseType) {
               properties.setProperty(LEX_CAMEL_NAME, Lex.SQL_SERVER.name());
               properties.setProperty(CONFORMANCE_CAMEL_NAME, 
SqlConformanceEnum.SQL_SERVER_2008.name());
               return;
           }
   ```
   What about using `switch` to replace these `if` sentences?
   
   


-- 
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:
[email protected]


Reply via email to