Can somebody explains what is going on with this example. My CF has one single row (key is a string: manju) which in turn has one single column. The column name is dynamic composite with two components: ("review","T23333"). The value is the boolean true.
Now, I want to retrieve information from this CF. The following work with a simple slicequery.
1)
key: manju
start range: ("review","T23333")
end range: ("review","T23333ZZZZZZZZZZZZZZZZ")
2)
key: manju
start range: ("review")
end range: ("reviewZZZZZZZZZZZZZZZZZZ")
3)
key: manju
start range: ("review",null)
end range: ("review","nullZZZZZZZZZZZZZZZZZZ")
The followng does not work:
1)
key: manju
start range: ("review","a")
end range: ("review","aZZZZZZZZZZZZZZZZ")
2)
key: manju
start range: ("review","")
end range: ("review","ZZZZZZZZZZZZZZZZ")
3)
key: manju
start range: ("review")
end range: ("review")
4)
key: manju
start range: ("review","null")
end range: ("review","nullZZZZZZZZZZZZZZZZZZ")
5)
key: manju
start range: ("review",null)
end range: ("review","ZZZZZZZZZZZZZZZZZZ")
For the following case, I even get an eerror:
1)
key: manju
start range: ("review","aaaa")
end range: ("review","ZZZZZZZZZZZZZZZZZZ")
Error: me.prettyprint.hector.api.exceptions.HInvalidRequestException: InvalidRequestException(why:range finish must come after start in the order of traversal)
I guess what I am trying to understand is how does Cassandra use the range values to determine matches? what would be the recommended ranges for what i am trying to do?
thanks, Pee