2013-07-21 37 views
0

客户端/准备好的宏是否只适用于.cql名称空间而不适用.multi.cql?Cassaforte客户端/使用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语句?我发现在创建集群时有一个强制准备查询的选项,这有点暴躁但可能可以接受。

回答