summaryrefslogtreecommitdiffstats
path: root/tests/include/rangequery.h
diff options
context:
space:
mode:
Diffstat (limited to 'tests/include/rangequery.h')
-rw-r--r--tests/include/rangequery.h59
1 files changed, 30 insertions, 29 deletions
diff --git a/tests/include/rangequery.h b/tests/include/rangequery.h
index f90e107..5c3c1d6 100644
--- a/tests/include/rangequery.h
+++ b/tests/include/rangequery.h
@@ -17,6 +17,9 @@
*/
#pragma once
+#include "query/rangequery.h"
+#include <algorithm>
+
/*
* Uncomment these lines temporarily to remove errors in this file
* temporarily for development purposes. They should be removed prior
@@ -24,26 +27,27 @@
* should be included in the source file that includes this one, above the
* include statement.
*/
-//#include "shard/ISAMTree.h"
-//#include "query/rangequery.h"
-//#include "testing.h"
-//#include <check.h>
-//using namespace de;
-//typedef ISAMTree<R> Shard;
-
-#include "query/rangequery.h"
+// #include "shard/ISAMTree.h"
+// #include "query/rangequery.h"
+// #include "testing.h"
+// #include <check.h>
+// using namespace de;
+// typedef Rec R;
+// typedef ISAMTree<R> Shard;
+// typedef rq::Query<ISAMTree<R>> Query;
START_TEST(t_range_query)
{
auto buffer = create_sequential_mbuffer<R>(100, 1000);
auto shard = Shard(buffer->get_buffer_view());
- rq::Parms<R> parms = {300, 500};
+ rq::Query<Shard>::Parameters parms = {300, 500};
- auto state = rq::Query<R, Shard>::get_query_state(&shard, &parms);
- auto result = rq::Query<R, Shard>::query(&shard, state, &parms);
- rq::Query<R, Shard>::delete_query_state(state);
+ auto local_query = rq::Query<Shard>::local_preproc(&shard, &parms);
+
+ auto result = rq::Query<Shard>::local_query(&shard, local_query);
+ delete local_query;
ck_assert_int_eq(result.size(), parms.upper_bound - parms.lower_bound + 1);
for (size_t i=0; i<result.size(); i++) {
@@ -60,13 +64,13 @@ START_TEST(t_buffer_range_query)
{
auto buffer = create_sequential_mbuffer<R>(100, 1000);
- rq::Parms<R> parms = {300, 500};
+ rq::Query<Shard>::Parameters parms = {300, 500};
{
auto view = buffer->get_buffer_view();
- auto state = rq::Query<R, Shard>::get_buffer_query_state(&view, &parms);
- auto result = rq::Query<R, Shard>::buffer_query(state, &parms);
- rq::Query<R, Shard>::delete_buffer_query_state(state);
+ auto query = rq::Query<Shard>::local_preproc_buffer(&view, &parms);
+ auto result = rq::Query<Shard>::local_query_buffer(query);
+ delete query;
ck_assert_int_eq(result.size(), parms.upper_bound - parms.lower_bound + 1);
for (size_t i=0; i<result.size(); i++) {
@@ -88,19 +92,18 @@ START_TEST(t_range_query_merge)
auto shard1 = Shard(buffer1->get_buffer_view());
auto shard2 = Shard(buffer2->get_buffer_view());
- rq::Parms<R> parms = {150, 500};
+ rq::Query<Shard>::Parameters parms = {150, 500};
size_t result_size = parms.upper_bound - parms.lower_bound + 1 - 200;
- auto state1 = rq::Query<R, Shard>::get_query_state(&shard1, &parms);
- auto state2 = rq::Query<R, Shard>::get_query_state(&shard2, &parms);
-
- std::vector<std::vector<de::Wrapped<R>>> results(2);
- results[0] = rq::Query<R, Shard>::query(&shard1, state1, &parms);
- results[1] = rq::Query<R, Shard>::query(&shard2, state2, &parms);
+ auto query1 = rq::Query<Shard>::local_preproc(&shard1, &parms);
+ auto query2 = rq::Query<Shard>::local_preproc(&shard2, &parms);
- rq::Query<R, Shard>::delete_query_state(state1);
- rq::Query<R, Shard>::delete_query_state(state2);
+ std::vector<std::vector<rq::Query<Shard>::LocalResultType>> results(2);
+ results[0] = rq::Query<Shard>::local_query(&shard1, query1);
+ results[1] = rq::Query<Shard>::local_query(&shard2, query2);
+ delete query1;
+ delete query2;
ck_assert_int_eq(results[0].size() + results[1].size(), result_size);
@@ -113,8 +116,8 @@ START_TEST(t_range_query_merge)
}
}
- std::vector<R> result;
- rq::Query<R, Shard>::merge(proc_results, nullptr, result);
+ std::vector<rq::Query<Shard>::ResultType> result;
+ rq::Query<Shard>::combine(proc_results, nullptr, result);
std::sort(result.begin(), result.end());
ck_assert_int_eq(result.size(), result_size);
@@ -145,8 +148,6 @@ START_TEST(t_lower_bound)
auto merged = Shard(shards);
for (uint32_t i=100; i<1000; i++) {
- R r = R{i, i};
-
auto idx = merged.get_lower_bound(i);
assert(idx < merged.get_record_count());