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]