Tupshin Harper created CASSANDRA-6167:
-----------------------------------------

             Summary: Add end-slice termination predicate
                 Key: CASSANDRA-6167
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6167
             Project: Cassandra
          Issue Type: Improvement
          Components: API, Core
            Reporter: Tupshin Harper
            Priority: Minor


When doing performing storage-engine slices, it would sometimes be beneficial 
to have the slice terminate for other reasons other than number of columns or 
min/max cell name.

Since we are able to look at the contents of each cell as we read it, this is 
potentially doable with very little overhead. 

Probably more challenging than the storage-engine implementation itself, is to 
come up with appropriate CQL syntax (Thrift, should we decide to support it, 
would be trivial).

Two possibilities ar
1) special where function:
SELECT pk,event from cf WHERE pk IN (1,5,10,11) AND 
partition_predicate({predicate})
or a bigger language change, but i think one I prefer. more like:
2) SELECT pk,event from cf where pk IN (1,5,10,11) UNTIL PARTITION event 
{predicate}

Neither feels perfect, but I do like the fact that the second one at least 
clearly states what it is intended to do.

By using "UNTIL PARTITION", we could re-use the UNTIL keyword to handle other 
kinds of early-termination of selects that the coordinator might be able to do, 
such as stop retrieving additional rows from shards after a particular 
criterion was met.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to