[
https://issues.apache.org/jira/browse/CASSANDRA-19883?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ekaterina Dimitrova updated CASSANDRA-19883:
--------------------------------------------
Change Category: Operability
Complexity: Normal
Component/s: Legacy/Documentation and Website
Priority: Low (was: Normal)
Status: Open (was: Triage Needed)
> Update for NOT operator for 5.1 What's new page
> -----------------------------------------------
>
> Key: CASSANDRA-19883
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19883
> Project: Cassandra
> Issue Type: Task
> Components: Legacy/Documentation and Website
> Reporter: Ekaterina Dimitrova
> Priority: Low
> Fix For: 5.1
>
>
> Below is a short summary of CASSANDRA-18584 that can be added to a What's new
> in 5.1 page when the time for that page comes.
> {code:java}
> CQL NOT CONTAINS, NOT CONTAINS KEY, != for map entries
>
> Ability to use NOT operator in filters on lists, sets and maps.
> Requires ALLOW FILTERING.
>
> All those operators can be mixed: i.e. you can use
> multiple CONTAINS, NOT CONTAINS, CONTAINS KEY, NOT CONTAINS KEY
> in a single WHERE clause.
>
> CQL NOT IN operator
> Ability to use NOT IN restrictions in CQL WHERE clause.
> Can be used on any column with ALLOW FILTERING.
>
> Can be also used on clustering columns w/o ALLOW FILTERING.
> Multicolumn NOT IN restrictions are supported
> (e.g. (c1, c2) NOT IN ((1, 2), (3, 4))).
>
> NOT IN restrictions are implemented as slice restrictions, therefore
> they can be merged with other slice restrictions using <, >, <=, >=.
> Also multiple NOT IN restrictions can be merged together.
>
> Allow CQL equals / non-equals operators in more places
> Now that we implemented NOT IN, both equals and non-equals
> can be rewritten as slices.
>
> column != value ---> column NOT IN (value)
> column = value ---> column >= value AND column <= value
>
> And because slices can be freely merged, this opens room for
> many interesting queries that were previously
> impossible, e.g.:
>
> SELECT ... WHERE c1 != ?
> SELECT ... WHERE c1 != ? AND c1 != ? AND ...
> SELECT ... WHERE c1 = ? AND (c1, c2) != (v1, v2)
> SELECT ... WHERE c1 IN ? AND (c1, c2) != (v1, v2)
>
> We adhere to the Three Valued Logic
> {code}
> Of course the text can be tweaked but that is the TLDR, leaving it here so it
> does not get lost.
> The CQL docs were updated adding the new operators
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]