0

客户端/准备的宏是否仅适用于 .cql 命名空间而不适用于 .multi.cql?

我使用 multi.cql 来控制我的集群和会话构建,执行正常查询就可以了。但是,如果我尝试以下方式:

(client/prepared
  (insert session :some_table {:id "some-id"
                               :value "some-value"})))

我收到一个错误:

java.lang.ClassCastException: clojure.lang.Var$Unbound cannot be cast to com.datastax.driver.core.Session
at clojurewerkz.cassaforte.client$prepare.invoke(client.clj:174) ~[classes/:na]
at clojurewerkz.cassaforte.client$execute.doInvoke(client.clj:278) ~[classes/:na]
at clojure.lang.RestFn.invoke(RestFn.java:457) ~[clojure-1.5.1.jar:na]
at clojurewerkz.cassaforte.multi.cql$execute_.invoke(cql.clj:17) ~[classes/:na]
at clojurewerkz.cassaforte.multi.cql$insert.doInvoke(cql.clj:132) ~[classes/:na]
at clojure.lang.RestFn.invoke(RestFn.java:439) ~[clojure-1.5.1.jar:na]

我的会话构造得很好,我可以用它来执行正常的查询。我对 Clojure 比较陌生,所以我可能在做一些愚蠢的事情。

如果 client/prepared 不适用于 .multi.cql - 我如何使用 multi 和prepared 语句?我看到在创建集群时有一个强制准备查询的选项,这有点蛮力但可能可以接受。

4

1 回答 1

0

这是一个已在 Cassaforte 的最新版本 (1.1.0) 中修复的错误:

https://groups.google.com/forum/#!topic/clojure-cassandra/JFUtS4k70w8

于 2013-07-21T22:19:16.727 回答