我正在使用 Erlang 与 Cassandra 交互,但我无法让 get_slice 命令返回一行中所有列的列表。我用:
X = thrift_client:call( C,
'get_slice',
[ "Keyspace1",
K,
#columnParent{column_family="KeyValue"},
#slicePredicate{},
1
] ),
:但我回来了:
invalidRequestException,<<"predicate column_names and slice_range may not both be null">>
:但是,使用 cassandra-cli 界面可以正常工作。有任何想法吗?
更新:
我修改了 Erlang 示例以反映给定的 Java 示例:
get_props(K) -> {ok, C} = thrift_client:start_link("127.0.0.1",9160, cassandra_thrift),
S = #sliceRange{start="",finish="",reversed=false,count=100},
X = thrift_client:call( C,
'get_slice',
[ "Keyspace1",
K,
#columnParent{column_family="KeyValue"},
#slicePredicate{slice_range=S},
1
] ),
X.
: 现在可以了。注意添加的行:
S = #sliceRange{start="",finish="",reversed=false,count=100}