mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-29 19:21:01 +00:00
The ScanFilter and QueryFilter features are only partially implemented. Most of their unimplemented features cause clear errors telling the user of the unimplemented feature, but one exception is the ConditionalOperator parameter, which can be used to "OR", instead of the default "AND", of several conditions. Before this patch, we simply ignored this parameter - causing wrong results to be returned instead of an error. In this patch, ScanFilter and QueryFilter parse, instead of ignoring, the ConditionalOperator. The common implementation, get_filtering_restrictions(), still does not implement the OR case, but returns an error if we reach this case instead of just ignoring it. There is no new test. The existing test_query_filter.py::test_query_filter_or xfailed before this patch, and continues to xfail after it, but the failure is different (you can see it by running the test with "--runxfail"): Before this patch, the failure was because of different results. After this patch, the failure is because of an "unimplemented" error message. Signed-off-by: Nadav Har'El <nyh@scylladb.com> Message-Id: <20200528214721.230587-2-nyh@scylladb.com>