From e47410d56c667cda9f8070a929df7a955ce13115 Mon Sep 17 00:00:00 2001 From: Douglas Rumbaugh Date: Mon, 29 May 2023 16:49:52 -0400 Subject: Framework-level query testing + fixes --- include/framework/DynamicExtension.h | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'include/framework') diff --git a/include/framework/DynamicExtension.h b/include/framework/DynamicExtension.h index 91d41f8..2dcbf18 100644 --- a/include/framework/DynamicExtension.h +++ b/include/framework/DynamicExtension.h @@ -142,24 +142,27 @@ public: level->get_query_states(shards, states, parms); } - std::vector*> query_results(shards.size() + 1, nullptr); + std::vector> query_results(shards.size() + 1); // Execute the query for the buffer - query_results[0] = filter_deletes(Q::buffer_query(buffer, buffer_state, parms), {-1, -1}, buffer); + auto buffer_results = Q::buffer_query(buffer, buffer_state, parms); + query_results[0] = filter_deletes(buffer_results, {-1, -1}, buffer); // Execute the query for each shard for (size_t i=0; iappend(rec, ts); } - std::vector filter_deletes(std::vector> *records, ShardID shid, Buffer *buffer) { + std::vector filter_deletes(std::vector> &records, ShardID shid, Buffer *buffer) { std::vector processed_records; - processed_records->reserve(records->size()); + processed_records.reserve(records.size()); // For delete tagging, we just need to check the delete bit on each // record. @@ -297,7 +300,6 @@ private: processed_records.emplace_back(rec.rec); } - delete records; return processed_records; } @@ -327,7 +329,7 @@ private: processed_records.emplace_back(rec.rec); } - delete records; + return processed_records; } /* -- cgit v1.2.3