Clojure Cassaforte客户端/使用multi.cql编写
client/prepared宏是否仅适用于.cql命名空间而不适用于.multi.cql 我使用multi.cql来控制集群和会话的构造,执行正常的查询就可以了。但是,如果我尝试以下几点:Clojure Cassaforte客户端/使用multi.cql编写,clojure,Clojure,client/prepared宏是否仅适用于.cql命名空间而不适用于.multi.cql 我使用multi.cql来控制集群和会话的构造,执行正常的查询就可以了。但是,如果我尝试以下几点: (client/prepared (insert session :some_table {:id "some-id" :value "some-value"}))) 我得到一个错误: java.lang.ClassCastExceptio
(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语句?我看到在创建集群时有一个强制准备查询的选项,这是一种蛮力,但可能可以接受。Cassaforte的最新版本(1.1.0)修复了一个bug: