From d6e08e9d8d3ac9b356ac50cee22b41f828160247 Mon Sep 17 00:00:00 2001 From: Douglas Rumbaugh Date: Thu, 27 Jul 2023 18:21:26 -0400 Subject: Expanded query interface Query interface now enables skipping of delete processing and stopping query processing when first match is found. --- include/shard/WIRS.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'include/shard/WIRS.h') diff --git a/include/shard/WIRS.h b/include/shard/WIRS.h index 1a63092..fafdef0 100644 --- a/include/shard/WIRS.h +++ b/include/shard/WIRS.h @@ -370,6 +370,10 @@ private: template class WIRSQuery { public: + + constexpr static bool EARLY_ABORT=false; + constexpr static bool SKIP_DELETE_FILTER=false; + static void *get_query_state(WIRS *wirs, void *parms) { auto res = new WIRSState(); decltype(R::key) lower_key = ((wirs_query_parms *) parms)->lower_bound; @@ -440,7 +444,7 @@ public: return state; } - static void process_query_states(void *query_parms, std::vector shard_states, void *buff_state) { + static void process_query_states(void *query_parms, std::vector &shard_states, void *buff_state) { auto p = (wirs_query_parms *) query_parms; auto bs = (WIRSBufferState *) buff_state; @@ -549,12 +553,12 @@ public: return result; } - static std::vector merge(std::vector> &results, void *parms) { + static std::vector merge(std::vector>> &results, void *parms) { std::vector output; for (size_t i=0; i