3

はじめに Python cqlライブラリライブラリを使用して、Cassandra 1.2 データベース (CQL 3.0) にアクセスしています。私のテーブルには、次のようなブール列が含まれています。

CREATE TABLE test (
     id         text,
     value      boolean,
     PRIMARY KEY (id)
);

問題 cql ライブラリを使用して次のようなクエリを実行しようとすると:

UPDATE test set value=True where id = 'someid'

そして、このコードを使用して:

import cql
...
cql_statement = "UPDATE test set value=:value where id = :id"
rename_dict = {'id':'someid', 
               'value': True}
cursor.execute(cql_statement, rename_dict)

次のエラーが表示されます。

Bad Request: Invalid STRING constant (True) for value of type boolean

cql ライブラリがこれを実行しようとしているようです:

UPDATE test set value='True' where id = 'someid'

これの代わりに:

UPDATE test set value=True where id = 'someid'

質問

これまたはより良い方法/ライブラリを使用するための回避策はありますか? (CQL 3.0 CFでCassandra 1.2を使用しているため、pycassaはオプションではありません)

前もって感謝します!

4

1 に答える 1

3

Debian パッケージはまだ更新されていませんが、この質問が出されて以来、ブール値の引用はアップストリームで修正されています。

したがって、解決策はライブラリをソースからインストールすることです。

于 2013-07-09T08:37:28.533 に答える