Поддержка подготовленных заявлений в Apache Ignite Cache API

Поддерживается ли в IgniteCache API какое-либо средство, такое как Prepared statement, чтобы каждый раз избегать синтаксического анализа запроса? Я видел, что для этого была поднята проблема Jira, и в нем говорится, что она решена в версии 1.5.0.final, https://issues.apache.org/jira/browse/IGNITE-1856, но я не смог найти никакой документации по этому поводу на сайте Apache Ignite. Я знаю, что мы можем использовать подготовленный оператор, подключившись через соединение JDBC, но это не подходит для моего варианта использования.

Мой код выглядит так, как показано ниже, этот запрос будет вызываться снова и снова с разными параметрами,

    IgniteCache<Integer,Subscriber> subscriberCache= rocCachemanager.getCache("subscriberCache");
    SqlQuery<Integer, Subscriber> sql = new SqlQuery(Subscriber.class,
              "from Subscriber where Subscriber.MSISDNNo=? and Subscriber.status='Active'");

    sql.setArgs("SomeNumber");  
    QueryCursor<Entry<Integer,Subscriber>> cursor =ss.query(sql);

person Benak Raj    schedule 03.03.2016    source источник


Ответы (1)


Заявления кэшируются автоматически, никаких действий не требуется. Если текст вашего запроса не изменится, а изменятся только параметры, Ignite не будет анализировать запрос снова.

person Pavel Tupitsyn    schedule 03.03.2016