public static String inferDialectName(String url) {
        return match(url, name -> {
            switch (name) {
            case "h2":
                return "h2";
            case "hsqldb":
                return "hsqldb";
            case "sqlite":
                return "sqlite";
            case "mysql":
                return "mysql";
            case "postgresql":
                return "postgres";
            case "sqlserver":
                return "mssql";
            case "oracle":
                return "oracle";
            case "db2":
                return "db2";
            default:
                return null;
            }
        });
    }