OrientDB JavaAPI DB выполняет сценарий с именем Параметры не работают - PullRequest
0 голосов
/ 12 января 2019

Документация OrientDB говорит мне, что именованные параметры для операторов SQL возможны для всех трех вызовов SQL:

  • дб-запрос
  • db-команда и
  • дб-казнить

В действительности эти именованные параметры работают для запроса и команды, но не для выполнения. Если я использую именованные параметры, парсер, по-видимому, интерпретирует все из них как ноль.

    try (final ODatabaseSession db = orientDB.open(DB, USERNAME, PASSWORD)) {


        Map<String, Object> params = new HashMap<>();
        params.put("sessionid", "15");
        params.put("uri", "www.stackoverflow.com");
        params.put("date", new Date());

        String script =
            "BEGIN;"+
            "LET $a = CREATE VERTEX Session SET id = :sessionid , timestamp = :date ;"+
            "LET $b = CREATE VERTEX Content SET uri = :uri , timestamp = :date  ;"+
            "LET $edge = CREATE EDGE E from $a to $b;"+
            "COMMIT;"+
            "RETURN $a;";

        OResultSet rs = db.execute("sql", script, params);
        while(rs.hasNext()){
            OResult row = rs.next();
            logger.info(row.getProperty("id"));
        }
    }

Все параметры в приведенном выше сценарии остаются пустыми. У меня нет идей, что попробовать дальше. Я работаю с OrientDB v3.0RC1

...