Rustam Aliyev created CASSANDRA-7637:
----------------------------------------

             Summary: Add CQL3 keyword for efficient lexical range queries 
(e.g. START_WITH)
                 Key: CASSANDRA-7637
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7637
             Project: Cassandra
          Issue Type: Improvement
            Reporter: Rustam Aliyev


Currently, if I want to perform range query on lexical type I need to do 
something like this:

{code}
SELECT * FROM profile WHERE profile_id = 123 AND
                  attribute > 'interests.food.' AND
                  attribute < 'interests.food.z';
{code}

This is very efficient range query. Yet, many users who are not familiar with 
Thrift and storage level implementation are unaware of this "trick".

Therefore, it would be convenient to introduce CQL keyword which will do this 
more simply:

{code}
SELECT * FROM profile WHERE profile_id = 123 AND
                  attribute START_WITH('interests.food.');
{code}

Keyword would have same restrictions as other inequality search operators plus 
some type restrictions.

Allowed types would be:
 * {{ascii}}
 * {{text}} / {{varchar}}
 * {{inet}} (?)
 * {{map<text, *>}} (same for ascii) (?)
 * {{set<text>}} (same for ascii) (?)

(?) may require more work, therefore optional



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to