mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-27 03:45:11 +00:00
Add `prepared_filter` class which handles the preparation, construction, and caching of Vector Search filtering compatible JSON object. If no bind markers found in primary key restrictions, the JSON object will be built once at prepare time and cached for use during execution calls. Additionally, this patch moves the filter functions from `cql3::restrictions` to `vector_search` namespace and does some renaming to make the purpose of those functions clear. Follow-up: https://github.com/scylladb/scylladb/pull/28109 Fixes: [SCYLLADB-299](https://scylladb.atlassian.net/browse/SCYLLADB-299) [SCYLLADB-299]: https://scylladb.atlassian.net/browse/SCYLLADB-299?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ Closes scylladb/scylladb#28276 * github.com:scylladb/scylladb: test/vector_search: add filter tests with bind variables vector_search: cache restrictions JSON at prepare time refactor: vector_search: move filter logic to vector_search namespace