Iterowanie przez szeroki wiersz Cassandry z CQL3
Jak mogę pobrać szereg kolumn złożonych z CQL3?
Rozważ następujące:
CREATE TABLE Stuff (
a int,
b text,
c text,
d text,
PRIMARY KEY (a,b,c)
);
W Cassandrze skutecznie tworzy ColumnFamily z liczbami całkowitymi (wartości a) i CompositeColumns złożonymi z wartości b i c oraz literalnym ciągiem „d”. Oczywiście wszystko to jest pokryte przez CQL3, więc będziemymyśleć że wstawiamy do poszczególnych wierszy bazy danych ... ale dygresję.
I rozważ następujący zestaw danych wejściowych:
INSERT INTO Stuff (a,b,c,d) VALUES (1,'A','P','whatever0');
INSERT INTO Stuff (a,b,c,d) VALUES (1,'A','Q','whatever1');
INSERT INTO Stuff (a,b,c,d) VALUES (1,'A','R','whatever2');
INSERT INTO Stuff (a,b,c,d) VALUES (1,'A','S','whatever3');
INSERT INTO Stuff (a,b,c,d) VALUES (1,'A','T','whatever4');
INSERT INTO Stuff (a,b,c,d) VALUES (1,'B','P','whatever5');
INSERT INTO Stuff (a,b,c,d) VALUES (1,'B','Q','whatever6');
INSERT INTO Stuff (a,b,c,d) VALUES (1,'B','R','whatever7');
INSERT INTO Stuff (a,b,c,d) VALUES (1,'B','S','whatever8');
INSERT INTO Stuff (a,b,c,d) VALUES (1,'B','T','whatever9');
W moim bieżącym przypadku chcę przeczytać wszystkie wartości rzeczy,n
wartości naraz. Jak mam to zrobic? Oto moje aktualne zastosowanien=4
:
SELECT * FROM Stuff WHERE a=1 LIMIT 4;
I zgodnie z oczekiwaniami otrzymam:
a | b | c | d
---+---+---+-----------
1 | A | P | whatever0
1 | A | Q | whatever1
1 | A | R | whatever2
1 | A | S | whatever3
Kłopot, z którym się spotykam, to jak uzyskać następne 4? Oto moja próba:
SELECT * FROM Stuff WHERE a=1 AND b='A' AND c>'S' LIMIT 4;
To nie działa, ponieważ ograniczyliśmy b do równej „A” - co jest rozsądnym rozwiązaniem! Ale nie znalazłem nic w składni CQL3, która i tak pozwala mi kontynuować iterację. Chciałbym zrobić coś takiego:
SELECT * FROM Stuff WHERE a=1 AND {b,c} > {'A','S'} LIMIT 4;
Jak osiągnąć pożądany rezultat. Mianowicie, jak przywrócić CQL3:
a | b | c | d
---+---+---+-----------
1 | A | T | whatever0
1 | B | P | whatever1
1 | B | Q | whatever2
1 | B | R | whatever3