Cassandra документы и blog говорит, что пакеты с операторами условного обновления работают с точностью до раздела, а раздел определяется первым ключом в первичном ключе. Итак, у меня есть следующие ключевые пространства:
CREATE TABLE SOCIAL_PROFILE (
soc_net_type text,
soc_net_user_id text,
user_prof_id text,
PRIMARY KEY (soc_net_type, soc_net_user_id));
CREATE TABLE SOCIAL_PROFILE_CONTACT (
soc_prof_soc_net_type text,
soc_prof_soc_net_user_id text,
soc_net_user_id text,
PRIMARY KEY (soc_prof_soc_net_type, soc_prof_soc_net_user_id, soc_net_user_id));
И вставьте заявление:
BEGIN BATCH
INSERT INTO social_profile (soc_net_type, soc_net_user_id, user_prof_id) VALUES ('vk', '1', '100') IF NOT EXISTS;
INSERT INTO social_profile_contact (soc_prof_soc_net_type, soc_prof_soc_net_user_id, soc_net_user_id) VALUES ('vk', '1', '2');
INSERT INTO social_profile_contact (soc_prof_soc_net_type, soc_prof_soc_net_user_id, soc_net_user_id) VALUES ('vk', '1', '3');
INSERT INTO social_profile_contact (soc_prof_soc_net_type, soc_prof_soc_net_user_id, soc_net_user_id) VALUES ('vk', '1', '4');
APPLY BATCH;
И social_profile_contact.soc_prof_soc_net_type = social_profile.soc_net_type они оба имеют одинаковые значения и должны быть в одном разделе, но Cassandra выдает: Неверный запрос: пакет с условиями не может охватывать несколько таблиц
Я не нашел ни слова о таблицах в документах, что я делаю не так?
cqlsh 4.1.1 | Кассандра 2.0.11 | Спецификация CQL 3.1.1 | Бережливый протокол 19.39.0