Description
This is because we have some very fragile code that tries to recognize the DB based on the JDBC driver class used. Thus if there are several driver classes that can be used, we'll fail to create or delete subwikis properly (these are our main 2 use cases for which we need to recognize the DB name but there can be others). We should change that. Actually, we're not even supposed to code this since JDBC offers a way to provide the DB name: http://www.enseignement.polytechnique.fr/informatique/Java/1.8/java/sql/DatabaseMetaData.html#getDatabaseProductName--
I guess there was a problem but the code doesn't explain it in HibernateStore:
/** * Retrieve the current database product name. * <p> * Note that the database product name is cached for improved performances. * </p> * * @return the database product name, see {@link DatabaseProduct} * @since 4.0M1 */ public DatabaseProduct getDatabaseProductName()
We need to explain why and better fix the code to not depend on something fragile. This needs a new issue. FTM I'm going to quickly fix the bug and add support for "com.mysql.cj.jdbc.Driver", till I understand better why we're doing what we're doing.