Я использую 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 = "", полностью = ложно, count = 100}