public static Map<String, ShardingSphereDatabase> create(final Map<String, DatabaseConfiguration> databaseConfigMap,
final ConfigurationProperties props, final ComputeNodeInstanceContext computeNodeInstanceContext) throws SQLException {
DatabaseType protocolType = DatabaseTypeEngine.getProtocolType(databaseConfigMap, props);
SystemDatabase systemDatabase = new SystemDatabase(protocolType);
Map<String, ShardingSphereDatabase> result = new ConcurrentHashMap<>(databaseConfigMap.size() + systemDatabase.getSystemDatabaseSchemaMap().size(), 1F);
result.putAll(createGenericDatabases(databaseConfigMap, protocolType, systemDatabase, props, computeNodeInstanceContext));
result.putAll(createSystemDatabases(databaseConfigMap, protocolType, systemDatabase, props));
return result;
}
The variable “databaseConfigMap” contains multiple logical databases of different types (specifically, Kingbase and MySQL logical databases), but the method "DatabaseTypeEngine.getProtocolType()" only accommodates one database type (MySQL).
see zhe following code:
The variable “databaseConfigMap” contains multiple logical databases of different types (specifically, Kingbase and MySQL logical databases), but the method "DatabaseTypeEngine.getProtocolType()" only accommodates one database type (MySQL).