SmartDataAnalytics / Sparqlify

Sparql -> SQL Rewriter enabling virtual RDB -> RDF mappings
http://aksw.org/Projects/Sparqlify
121 stars 13 forks source link

Backend-Config-Key-Typo: "PostgreSQL", (Expected: "PostgreSQL", got: "Postgresql") #70

Open j0nxn opened 7 years ago

j0nxn commented 7 years ago

Die Backendkonfiguration für PostgreSQL wird in der SqlBackendRegistry in der Konfigurations-Map in Zeile 34 mit dem Key "Postgresql" hinterlegt:

/* Sparqlify/sparqlify-core/src/main/java/org/aksw/sparqlify/util/SqlBackendRegistry.java: Zeilen 29ff. */
public static final String HIVE = "Apache Hive";
    public static final String POSTGRES = "Postgresql";

    public static void init(Map<String, SqlBackendConfig> map) {
        map.put(HIVE, new SqlBackendConfig(new DatatypeToStringCast(), new SqlEscaperBacktick()));
        map.put(POSTGRES, new SqlBackendConfig(new DatatypeToStringPostgres(), new SqlEscaperDoubleQuote()));        
    }
/* ... */

Der erwartete Key lautet aber "PostgreSQL", der so vom JDBC über die Datenbankmetadaten übergeben wird:


/* Sparqlify/sparqlify-cli/src/main/java/org/aksw/sparqlify/web/Main.java: Zeilen 199ff. */
        Connection conn = dataSource.getConnection();

        DatabaseMetaData dbMeta = conn.getMetaData();
        String dbProductName = dbMeta.getDatabaseProductName();
        logger.info("Database product: " + dbProductName);

        SqlBackendRegistry backendRegistry = SqlBackendRegistry.get();
        Map<String, SqlBackendConfig> map = backendRegistry.getMap();

        SqlBackendConfig backendConfig = map.get(dbProductName);
        if(backendConfig == null) {
            throw new RuntimeException("Could not find backend for " + dbProductName);
        }
/* ... */

Die Entsprechende Exception beim Starten von Sparqlify sieht so aus:

2017-05-29 22:39:48,798 INFO  org.aksw.sparqlify.web.Main: Database product: PostgreSQL
sparqlify  | Exception in thread "main" java.lang.RuntimeException: Could not find backend for PostgreSQL
sparqlify  |  at org.aksw.sparqlify.web.Main.main(Main.java:210)

Bitte Prüfen.

j0nxn commented 7 years ago

Pull-RQ: https://github.com/AKSW/Sparqlify/pull/71