Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Implementing efficient handling of NOT by all types of indexes in Cassandra is out of scope. This CEP is more a framework that allows adding such support later on a case-by-case basis, and fallback to ALLOW FILTERING when such support is missing from the index implementation.
  • Enabling NOT in front of any logical expression is to be implemented later as a separate CEP, as it requires changes to the statement restrictions code needed also for supporting OR.
  • Enabling NOT in UPDATE and DELETE is not considered, because ALLOW FILTERING is currently not supported there.
  • Rethinking our approach to ALLOW FILTERING. This feauture should be consistent with the current use of ALLOW FILTERING – if an operator is allowed with ALLOW FILTERING, then its negated variant should be also allowed.

Proposed Changes

The changes can be introduced gradually in milestones. We may decide to not implement all of them.

...

To be implemented in SAI, after CEP-7 is merged. This can be implemented in SAI by introduction of "negating iterator" that would return a complement of a posting list. This way there is no need to change the implementation of the index data structure and such iterator would compose well with other SAI features, e.g. would support intersections and unions.

New or Changed Public Interfaces

...