Zapytanie przy użyciu kluczy kompozytowych, inne niż Klucz do wiersza w Cassandrze
Chcę zapytać o filtrowanie danych za pomocą kluczy kompozytowych innych niż Row Key w CQL3. Oto moje pytania:
CREATE TABLE grades (id int,
date timestamp,
subject text,
status text,
PRIMARY KEY (id, subject, status, date)
);
Kiedy próbuję uzyskać dostęp do danych,
SELECT * FROM grades where id = 1098; //works fine
SELECT * FROM grades where subject = 'English' ALLOW FILTERING; //works fine
SELECT * FROM grades where status = 'Active' ALLOW FILTERING; //gives an error
Złe żądanie: Status części klucza podstawowego nie może być ograniczony (poprzedzający temat części nie jest ograniczony lub nie jest powiązany z EQ)
Aby poeksperymentować, przetasowałem klucze wokół utrzymywania „id” jako mojego podstawowego klucza wiersza. Zawsze jestem w stanie TYLKO zapytać za pomocą klucza podstawowego rzędu lub drugiego klucza, biorąc pod uwagę powyższy przykład, jeśli wymienię tematy i status na liście Klucza podstawowego, będę mógł zapytać o status, ale otrzymam podobny błąd, jeśli spróbuję to zrobić temat lub czas.
czy robię coś źle? Czy nie mogę odpytywać danych przy użyciu innego klucza złożonego w CQL3? Używam Cassandra 1.2.6 i CQL3.