OmniSciDB  c07336695a
ResultSetTest.cpp File Reference

Unit tests for the result set interface. More...

#include "ResultSetTestUtils.h"
#include "../QueryEngine/Descriptors/RowSetMemoryOwner.h"
#include "../QueryEngine/ResultSet.h"
#include "../QueryEngine/ResultSetReductionJIT.h"
#include "../QueryEngine/RuntimeFunctions.h"
#include "../StringDictionary/StringDictionary.h"
#include "TestHelpers.h"
#include <gtest/gtest.h>
#include <algorithm>
#include <queue>
#include <random>
+ Include dependency graph for ResultSetTest.cpp:

Go to the source code of this file.

Classes

class  anonymous_namespace{ResultSetTest.cpp}::ResultSetEmulator
 

Namespaces

 anonymous_namespace{ResultSetTest.cpp}
 

Typedefs

using anonymous_namespace{ResultSetTest.cpp}::OneRow = std::vector< TargetValue >
 

Functions

 TEST (Construct, Allocate)
 
bool anonymous_namespace{ResultSetTest.cpp}::approx_eq (const double v, const double target, const double eps=0.01)
 
void anonymous_namespace{ResultSetTest.cpp}::test_iterate (const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc)
 
std::vector< TargetInfoanonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos ()
 
std::vector< TargetInfoanonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos ()
 
std::vector< TargetInfoanonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos ()
 
std::vector< OneRow > anonymous_namespace{ResultSetTest.cpp}::get_rows_sorted_by_col (ResultSet &rs, const size_t col_idx)
 
void anonymous_namespace{ResultSetTest.cpp}::test_reduce (const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int step)
 
void anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups (const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
 
 TEST (Iterate, PerfectHashOneCol)
 
 TEST (Iterate, PerfectHashOneCol32)
 
 TEST (Iterate, PerfectHashOneColColumnar)
 
 TEST (Iterate, PerfectHashOneColColumnar32)
 
 TEST (Iterate, PerfectHashOneColColumnar16)
 
 TEST (Iterate, PerfectHashOneColColumnar8)
 
 TEST (Iterate, PerfectHashOneColKeyless)
 
 TEST (Iterate, PerfectHashOneColKeyless32)
 
 TEST (Iterate, PerfectHashOneColColumnarKeyless)
 
 TEST (Iterate, PerfectHashOneColColumnarKeyless32)
 
 TEST (Iterate, PerfectHashOneColColumnarKeyless16)
 
 TEST (Iterate, PerfectHashOneColColumnarKeyless8)
 
 TEST (Iterate, PerfectHashTwoCol)
 
 TEST (Iterate, PerfectHashTwoCol32)
 
 TEST (Iterate, PerfectHashTwoColColumnar)
 
 TEST (Iterate, PerfectHashTwoColColumnar32)
 
 TEST (Iterate, PerfectHashTwoColKeyless)
 
 TEST (Iterate, PerfectHashTwoColKeyless32)
 
 TEST (Iterate, PerfectHashTwoColColumnarKeyless)
 
 TEST (Iterate, PerfectHashTwoColColumnarKeyless32)
 
 TEST (Iterate, BaselineHash)
 
 TEST (Iterate, BaselineHashColumnar)
 
 TEST (Reduce, PerfectHashOneCol)
 
 TEST (Reduce, PerfectHashOneCol32)
 
 TEST (Reduce, PerfectHashOneColColumnar)
 
 TEST (Reduce, PerfectHashOneColColumnar32)
 
 TEST (Reduce, PerfectHashOneColColumnar16)
 
 TEST (Reduce, PerfectHashOneColColumnar8)
 
 TEST (Reduce, PerfectHashOneColKeyless)
 
 TEST (Reduce, PerfectHashOneColKeyless32)
 
 TEST (Reduce, PerfectHashOneColColumnarKeyless)
 
 TEST (Reduce, PerfectHashOneColColumnarKeyless32)
 
 TEST (Reduce, PerfectHashOneColColumnarKeyless16)
 
 TEST (Reduce, PerfectHashOneColColumnarKeyless8)
 
 TEST (Reduce, PerfectHashTwoCol)
 
 TEST (Reduce, PerfectHashTwoCol32)
 
 TEST (Reduce, PerfectHashTwoColColumnar)
 
 TEST (Reduce, PerfectHashTwoColColumnar32)
 
 TEST (Reduce, PerfectHashTwoColKeyless)
 
 TEST (Reduce, PerfectHashTwoColKeyless32)
 
 TEST (Reduce, PerfectHashTwoColColumnarKeyless)
 
 TEST (Reduce, PerfectHashTwoColColumnarKeyless32)
 
 TEST (Reduce, BaselineHash)
 
 TEST (Reduce, BaselineHashColumnar)
 
 TEST (MoreReduce, MissingValues)
 
 TEST (MoreReduce, MissingValuesKeyless)
 
 TEST (MoreReduce, OffsetRewrite)
 
template<typename T >
std::string anonymous_namespace{ResultSetTest.cpp}::arr_to_byte_string (const std::vector< T > &in)
 
 TEST (MoreReduce, OffsetRewriteGeo)
 
 TEST (MoreReduce, OffsetRewriteGeoKeyless)
 
 TEST (ReduceRandomGroups, PerfectHashOneCol_Small_2525)
 
 TEST (ReduceRandomGroups, PerfectHashOneCol_Small_2575)
 
 TEST (ReduceRandomGroups, PerfectHashOneCol_Small_5050)
 
 TEST (ReduceRandomGroups, PerfectHashOneCol_Small_7525)
 
 TEST (ReduceRandomGroups, PerfectHashOneCol_Small_25100)
 
 TEST (ReduceRandomGroups, PerfectHashOneCol_Small_10025)
 
 TEST (ReduceRandomGroups, PerfectHashOneCol_Small_9505)
 
 TEST (ReduceRandomGroups, PerfectHashOneCol_Small_100100)
 
 TEST (ReduceRandomGroups, PerfectHashOneCol_Small_2500)
 
 TEST (ReduceRandomGroups, PerfectHashOneCol_Small_0075)
 
 TEST (ReduceRandomGroups, BaselineHash_Large_5050)
 
 TEST (ReduceRandomGroups, BaselineHash_Large_7525)
 
 TEST (ReduceRandomGroups, BaselineHash_Large_2575)
 
 TEST (ReduceRandomGroups, BaselineHash_Large_1020)
 
 TEST (ReduceRandomGroups, BaselineHash_Large_100100)
 
 TEST (ReduceRandomGroups, BaselineHash_Large_2500)
 
 TEST (ReduceRandomGroups, BaselineHash_Large_0075)
 
 TEST (ReduceRandomGroups, PerfectHashOneColColumnar_Small_5050)
 
 TEST (ReduceRandomGroups, PerfectHashOneColColumnar_Small_25100)
 
 TEST (ReduceRandomGroups, PerfectHashOneColColumnar_Small_10025)
 
 TEST (ReduceRandomGroups, PerfectHashOneColColumnar_Small_100100)
 
 TEST (ReduceRandomGroups, PerfectHashOneColColumnar_Small_2500)
 
 TEST (ReduceRandomGroups, PerfectHashOneColColumnar_Small_0075)
 
 TEST (ReduceRandomGroups, BaselineHashColumnar_Large_5050)
 
 TEST (ReduceRandomGroups, BaselineHashColumnar_Large_25100)
 
 TEST (ReduceRandomGroups, BaselineHashColumnar_Large_10025)
 
 TEST (ReduceRandomGroups, BaselineHashColumnar_Large_100100)
 
 TEST (ReduceRandomGroups, BaselineHashColumnar_Large_2500)
 
 TEST (ReduceRandomGroups, BaselineHashColumnar_Large_0075)
 
 TEST (ReduceRandomGroups, PerfectHashOneCol_NullVal_2525)
 
 TEST (ReduceRandomGroups, PerfectHashOneCol_NullVal_2575)
 
 TEST (ReduceRandomGroups, PerfectHashOneCol_NullVal_5050)
 
 TEST (ReduceRandomGroups, PerfectHashOneCol_NullVal_7525)
 
 TEST (ReduceRandomGroups, PerfectHashOneCol_NullVal_25100)
 
 TEST (ReduceRandomGroups, PerfectHashOneCol_NullVal_10025)
 
 TEST (ReduceRandomGroups, PerfectHashOneCol_NullVal_100100)
 
 TEST (ReduceRandomGroups, PerfectHashOneCol_NullVal_2500)
 
 TEST (ReduceRandomGroups, PerfectHashOneCol_NullVal_0075)
 
 TEST (ReduceRandomGroups, PerfectHashOneColColumnar_NullVal_5050)
 
 TEST (ReduceRandomGroups, PerfectHashOneColColumnar_NullVal_25100)
 
 TEST (ReduceRandomGroups, PerfectHashOneColColumnar_NullVal_10025)
 
 TEST (ReduceRandomGroups, PerfectHashOneColColumnar_NullVal_100100)
 
 TEST (ReduceRandomGroups, PerfectHashOneColColumnar_NullVal_2500)
 
 TEST (ReduceRandomGroups, PerfectHashOneColColumnar_NullVal_0075)
 
 TEST (ReduceRandomGroups, BaselineHash_Large_NullVal_5050)
 
 TEST (ReduceRandomGroups, BaselineHash_Large_NullVal_7525)
 
 TEST (ReduceRandomGroups, BaselineHash_Large_NullVal_2575)
 
 TEST (ReduceRandomGroups, BaselineHash_Large_NullVal_1020)
 
 TEST (ReduceRandomGroups, BaselineHash_Large_NullVal_100100)
 
 TEST (ReduceRandomGroups, BaselineHash_Large_NullVal_2500)
 
 TEST (ReduceRandomGroups, BaselineHash_Large_NullVal_0075)
 
 TEST (ReduceRandomGroups, BaselineHashColumnar_Large_NullVal_5050)
 
 TEST (ReduceRandomGroups, BaselineHashColumnar_Large_NullVal_25100)
 
 TEST (ReduceRandomGroups, BaselineHashColumnar_Large_NullVal_10025)
 
 TEST (ReduceRandomGroups, BaselineHashColumnar_Large_NullVal_100100)
 
 TEST (ReduceRandomGroups, BaselineHashColumnar_Large_NullVal_2500)
 
 TEST (ReduceRandomGroups, BaselineHashColumnar_Large_NullVal_0075)
 
int main (int argc, char **argv)
 

Variables

std::shared_ptr< StringDictionaryanonymous_namespace{ResultSetTest.cpp}::g_sd
 

Detailed Description

Unit tests for the result set interface.

Author
Alex Suhan alex@.nosp@m.mapd.nosp@m..com Copyright (c) 2014 MapD Technologies, Inc. All rights reserved.

Definition in file ResultSetTest.cpp.

Function Documentation

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 2915 of file ResultSetTest.cpp.

References ResultSetReductionJIT::clearCache(), logger::ERROR, TestHelpers::init_logger_stderr_only(), and LOG.

2915  {
2917  testing::InitGoogleTest(&argc, argv);
2918 
2919  int err{0};
2920  try {
2921  err = RUN_ALL_TESTS();
2922  } catch (const std::exception& e) {
2923  LOG(ERROR) << e.what();
2924  }
2926  return err;
2927 }
#define LOG(tag)
Definition: Logger.h:182
void init_logger_stderr_only(int argc, char const *const *argv)
Definition: TestHelpers.h:194
+ Here is the call graph for this function:

◆ TEST() [1/107]

TEST ( Construct  ,
Allocate   
)

Definition at line 39 of file ResultSetTest.cpp.

References CPU.

39  {
40  std::vector<TargetInfo> target_infos;
41  QueryMemoryDescriptor query_mem_desc;
42  ResultSet result_set(target_infos,
44  query_mem_desc,
45  std::make_shared<RowSetMemoryOwner>(),
46  nullptr);
47  result_set.allocateStorage();
48 }

◆ TEST() [2/107]

TEST ( Iterate  ,
PerfectHashOneCol   
)

Definition at line 1320 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_one_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_iterate().

1320  {
1321  const auto target_infos = generate_test_target_infos();
1322  const auto query_mem_desc = perfect_hash_one_col_desc(target_infos, 8, 0, 99);
1323  test_iterate(target_infos, query_mem_desc);
1324 }
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
void test_iterate(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc)
std::vector< TargetInfo > generate_test_target_infos()
+ Here is the call graph for this function:

◆ TEST() [3/107]

TEST ( Iterate  ,
PerfectHashOneCol32   
)

Definition at line 1326 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_one_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_iterate().

1326  {
1327  const auto target_infos = generate_test_target_infos();
1328  const auto query_mem_desc = perfect_hash_one_col_desc(target_infos, 4, 0, 99);
1329  test_iterate(target_infos, query_mem_desc);
1330 }
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
void test_iterate(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc)
std::vector< TargetInfo > generate_test_target_infos()
+ Here is the call graph for this function:

◆ TEST() [4/107]

TEST ( Iterate  ,
PerfectHashOneColColumnar   
)

Definition at line 1332 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_one_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_iterate().

1332  {
1333  const auto target_infos = generate_test_target_infos();
1334  auto query_mem_desc = perfect_hash_one_col_desc(target_infos, 8, 0, 99);
1335  query_mem_desc.setOutputColumnar(true);
1336  test_iterate(target_infos, query_mem_desc);
1337 }
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
void test_iterate(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc)
std::vector< TargetInfo > generate_test_target_infos()
+ Here is the call graph for this function:

◆ TEST() [5/107]

TEST ( Iterate  ,
PerfectHashOneColColumnar32   
)

Definition at line 1339 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_one_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_iterate().

1339  {
1340  const auto target_infos = generate_test_target_infos();
1341  auto query_mem_desc = perfect_hash_one_col_desc(target_infos, 4, 0, 99);
1342  query_mem_desc.setOutputColumnar(true);
1343  test_iterate(target_infos, query_mem_desc);
1344 }
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
void test_iterate(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc)
std::vector< TargetInfo > generate_test_target_infos()
+ Here is the call graph for this function:

◆ TEST() [6/107]

TEST ( Iterate  ,
PerfectHashOneColColumnar16   
)

Definition at line 1346 of file ResultSetTest.cpp.

References generate_custom_agg_target_infos(), kAVG, kCOUNT, kDOUBLE, kINT, kMAX, kMIN, kSMALLINT, kSUM, perfect_hash_one_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_iterate().

1346  {
1347  std::vector<int8_t> group_column_widths{8};
1348  const int8_t suggested_agg_width = 2;
1349  const auto target_infos = generate_custom_agg_target_infos(
1350  group_column_widths,
1351  {kMAX, kMIN, kCOUNT, kSUM, kAVG},
1353  {kSMALLINT, kSMALLINT, kSMALLINT, kSMALLINT, kSMALLINT});
1354  auto query_mem_desc = perfect_hash_one_col_desc(
1355  target_infos, suggested_agg_width, 0, 99, group_column_widths);
1356  query_mem_desc.setOutputColumnar(true);
1357  test_iterate(target_infos, query_mem_desc);
1358 }
Definition: sqldefs.h:71
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
Definition: sqldefs.h:71
void test_iterate(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc)
Definition: sqldefs.h:71
Definition: sqltypes.h:47
Definition: sqldefs.h:71
Definition: sqldefs.h:71
std::vector< TargetInfo > generate_custom_agg_target_infos(std::vector< int8_t > group_columns, std::vector< SQLAgg > sql_aggs, std::vector< SQLTypes > agg_types, std::vector< SQLTypes > arg_types)
+ Here is the call graph for this function:

◆ TEST() [7/107]

TEST ( Iterate  ,
PerfectHashOneColColumnar8   
)

Definition at line 1360 of file ResultSetTest.cpp.

References generate_custom_agg_target_infos(), kAVG, kCOUNT, kDOUBLE, kINT, kMAX, kMIN, kSUM, kTINYINT, perfect_hash_one_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_iterate().

1360  {
1361  std::vector<int8_t> group_column_widths{8};
1362  const int8_t suggested_agg_width = 1;
1363  const auto target_infos = generate_custom_agg_target_infos(
1364  group_column_widths,
1365  {kMAX, kMIN, kCOUNT, kSUM, kAVG},
1367  {kTINYINT, kTINYINT, kTINYINT, kTINYINT, kTINYINT});
1368  auto query_mem_desc = perfect_hash_one_col_desc(
1369  target_infos, suggested_agg_width, 0, 99, group_column_widths);
1370  query_mem_desc.setOutputColumnar(true);
1371  test_iterate(target_infos, query_mem_desc);
1372 }
Definition: sqldefs.h:71
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
Definition: sqldefs.h:71
void test_iterate(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc)
Definition: sqldefs.h:71
Definition: sqltypes.h:47
Definition: sqldefs.h:71
Definition: sqldefs.h:71
std::vector< TargetInfo > generate_custom_agg_target_infos(std::vector< int8_t > group_columns, std::vector< SQLAgg > sql_aggs, std::vector< SQLTypes > agg_types, std::vector< SQLTypes > arg_types)
+ Here is the call graph for this function:

◆ TEST() [8/107]

TEST ( Iterate  ,
PerfectHashOneColKeyless   
)

Definition at line 1374 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_one_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_iterate().

1374  {
1375  const auto target_infos = generate_test_target_infos();
1376  auto query_mem_desc = perfect_hash_one_col_desc(target_infos, 8, 0, 99);
1377  query_mem_desc.setHasKeylessHash(true);
1378  query_mem_desc.setTargetIdxForKey(2);
1379  test_iterate(target_infos, query_mem_desc);
1380 }
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
void test_iterate(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc)
std::vector< TargetInfo > generate_test_target_infos()
+ Here is the call graph for this function:

◆ TEST() [9/107]

TEST ( Iterate  ,
PerfectHashOneColKeyless32   
)

Definition at line 1382 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_one_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_iterate().

1382  {
1383  const auto target_infos = generate_test_target_infos();
1384  auto query_mem_desc = perfect_hash_one_col_desc(target_infos, 4, 0, 99);
1385  query_mem_desc.setHasKeylessHash(true);
1386  query_mem_desc.setTargetIdxForKey(2);
1387  test_iterate(target_infos, query_mem_desc);
1388 }
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
void test_iterate(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc)
std::vector< TargetInfo > generate_test_target_infos()
+ Here is the call graph for this function:

◆ TEST() [10/107]

TEST ( Iterate  ,
PerfectHashOneColColumnarKeyless   
)

Definition at line 1390 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_one_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_iterate().

1390  {
1391  const auto target_infos = generate_test_target_infos();
1392  auto query_mem_desc = perfect_hash_one_col_desc(target_infos, 8, 0, 99);
1393  query_mem_desc.setOutputColumnar(true);
1394  query_mem_desc.setHasKeylessHash(true);
1395  query_mem_desc.setTargetIdxForKey(2);
1396  test_iterate(target_infos, query_mem_desc);
1397 }
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
void test_iterate(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc)
std::vector< TargetInfo > generate_test_target_infos()
+ Here is the call graph for this function:

◆ TEST() [11/107]

TEST ( Iterate  ,
PerfectHashOneColColumnarKeyless32   
)

Definition at line 1399 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_one_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_iterate().

1399  {
1400  const auto target_infos = generate_test_target_infos();
1401  auto query_mem_desc = perfect_hash_one_col_desc(target_infos, 4, 0, 99);
1402  query_mem_desc.setOutputColumnar(true);
1403  query_mem_desc.setHasKeylessHash(true);
1404  query_mem_desc.setTargetIdxForKey(2);
1405  test_iterate(target_infos, query_mem_desc);
1406 }
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
void test_iterate(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc)
std::vector< TargetInfo > generate_test_target_infos()
+ Here is the call graph for this function:

◆ TEST() [12/107]

TEST ( Iterate  ,
PerfectHashOneColColumnarKeyless16   
)

Definition at line 1408 of file ResultSetTest.cpp.

References generate_custom_agg_target_infos(), kAVG, kCOUNT, kDOUBLE, kINT, kMAX, kMIN, kSMALLINT, kSUM, perfect_hash_one_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_iterate().

1408  {
1409  std::vector<int8_t> group_column_widths{8};
1410  const int8_t suggested_agg_width = 2;
1411  const auto target_infos = generate_custom_agg_target_infos(
1412  group_column_widths,
1413  {kAVG, kSUM, kMIN, kCOUNT, kMAX},
1414  {kDOUBLE, kINT, kSMALLINT, kINT, kSMALLINT},
1415  {kSMALLINT, kSMALLINT, kSMALLINT, kSMALLINT, kSMALLINT});
1416  auto query_mem_desc =
1417  perfect_hash_one_col_desc(target_infos, suggested_agg_width, 0, 99);
1418  query_mem_desc.setOutputColumnar(true);
1419  query_mem_desc.setHasKeylessHash(true);
1420  query_mem_desc.setTargetIdxForKey(2);
1421  test_iterate(target_infos, query_mem_desc);
1422 }
Definition: sqldefs.h:71
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
Definition: sqldefs.h:71
void test_iterate(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc)
Definition: sqldefs.h:71
Definition: sqltypes.h:47
Definition: sqldefs.h:71
Definition: sqldefs.h:71
std::vector< TargetInfo > generate_custom_agg_target_infos(std::vector< int8_t > group_columns, std::vector< SQLAgg > sql_aggs, std::vector< SQLTypes > agg_types, std::vector< SQLTypes > arg_types)
+ Here is the call graph for this function:

◆ TEST() [13/107]

TEST ( Iterate  ,
PerfectHashOneColColumnarKeyless8   
)

Definition at line 1424 of file ResultSetTest.cpp.

References generate_custom_agg_target_infos(), kAVG, kCOUNT, kDOUBLE, kINT, kMAX, kMIN, kSUM, kTINYINT, perfect_hash_one_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_iterate().

1424  {
1425  std::vector<int8_t> group_column_widths{8};
1426  const int8_t suggested_agg_width = 1;
1427  const auto target_infos = generate_custom_agg_target_infos(
1428  group_column_widths,
1429  {kAVG, kSUM, kMIN, kCOUNT, kMAX},
1430  {kDOUBLE, kINT, kTINYINT, kINT, kTINYINT},
1431  {kTINYINT, kTINYINT, kTINYINT, kTINYINT, kTINYINT});
1432  auto query_mem_desc =
1433  perfect_hash_one_col_desc(target_infos, suggested_agg_width, 0, 99);
1434  query_mem_desc.setOutputColumnar(true);
1435  query_mem_desc.setHasKeylessHash(true);
1436  query_mem_desc.setTargetIdxForKey(2);
1437  test_iterate(target_infos, query_mem_desc);
1438 }
Definition: sqldefs.h:71
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
Definition: sqldefs.h:71
void test_iterate(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc)
Definition: sqldefs.h:71
Definition: sqltypes.h:47
Definition: sqldefs.h:71
Definition: sqldefs.h:71
std::vector< TargetInfo > generate_custom_agg_target_infos(std::vector< int8_t > group_columns, std::vector< SQLAgg > sql_aggs, std::vector< SQLTypes > agg_types, std::vector< SQLTypes > arg_types)
+ Here is the call graph for this function:

◆ TEST() [14/107]

TEST ( Iterate  ,
PerfectHashTwoCol   
)

Definition at line 1440 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_two_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_iterate().

1440  {
1441  const auto target_infos = generate_test_target_infos();
1442  const auto query_mem_desc = perfect_hash_two_col_desc(target_infos, 8);
1443  test_iterate(target_infos, query_mem_desc);
1444 }
void test_iterate(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc)
std::vector< TargetInfo > generate_test_target_infos()
QueryMemoryDescriptor perfect_hash_two_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
+ Here is the call graph for this function:

◆ TEST() [15/107]

TEST ( Iterate  ,
PerfectHashTwoCol32   
)

Definition at line 1446 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_two_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_iterate().

1446  {
1447  const auto target_infos = generate_test_target_infos();
1448  const auto query_mem_desc = perfect_hash_two_col_desc(target_infos, 4);
1449  test_iterate(target_infos, query_mem_desc);
1450 }
void test_iterate(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc)
std::vector< TargetInfo > generate_test_target_infos()
QueryMemoryDescriptor perfect_hash_two_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
+ Here is the call graph for this function:

◆ TEST() [16/107]

TEST ( Iterate  ,
PerfectHashTwoColColumnar   
)

Definition at line 1452 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_two_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_iterate().

1452  {
1453  const auto target_infos = generate_test_target_infos();
1454  auto query_mem_desc = perfect_hash_two_col_desc(target_infos, 8);
1455  query_mem_desc.setOutputColumnar(true);
1456  test_iterate(target_infos, query_mem_desc);
1457 }
void test_iterate(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc)
std::vector< TargetInfo > generate_test_target_infos()
QueryMemoryDescriptor perfect_hash_two_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
+ Here is the call graph for this function:

◆ TEST() [17/107]

TEST ( Iterate  ,
PerfectHashTwoColColumnar32   
)

Definition at line 1459 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_two_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_iterate().

1459  {
1460  const auto target_infos = generate_test_target_infos();
1461  auto query_mem_desc = perfect_hash_two_col_desc(target_infos, 4);
1462  query_mem_desc.setOutputColumnar(true);
1463  test_iterate(target_infos, query_mem_desc);
1464 }
void test_iterate(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc)
std::vector< TargetInfo > generate_test_target_infos()
QueryMemoryDescriptor perfect_hash_two_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
+ Here is the call graph for this function:

◆ TEST() [18/107]

TEST ( Iterate  ,
PerfectHashTwoColKeyless   
)

Definition at line 1466 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_two_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_iterate().

1466  {
1467  const auto target_infos = generate_test_target_infos();
1468  auto query_mem_desc = perfect_hash_two_col_desc(target_infos, 8);
1469  query_mem_desc.setHasKeylessHash(true);
1470  query_mem_desc.setTargetIdxForKey(2);
1471  test_iterate(target_infos, query_mem_desc);
1472 }
void test_iterate(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc)
std::vector< TargetInfo > generate_test_target_infos()
QueryMemoryDescriptor perfect_hash_two_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
+ Here is the call graph for this function:

◆ TEST() [19/107]

TEST ( Iterate  ,
PerfectHashTwoColKeyless32   
)

Definition at line 1474 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_two_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_iterate().

1474  {
1475  const auto target_infos = generate_test_target_infos();
1476  auto query_mem_desc = perfect_hash_two_col_desc(target_infos, 4);
1477  query_mem_desc.setHasKeylessHash(true);
1478  query_mem_desc.setTargetIdxForKey(2);
1479  test_iterate(target_infos, query_mem_desc);
1480 }
void test_iterate(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc)
std::vector< TargetInfo > generate_test_target_infos()
QueryMemoryDescriptor perfect_hash_two_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
+ Here is the call graph for this function:

◆ TEST() [20/107]

TEST ( Iterate  ,
PerfectHashTwoColColumnarKeyless   
)

Definition at line 1482 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_two_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_iterate().

1482  {
1483  const auto target_infos = generate_test_target_infos();
1484  auto query_mem_desc = perfect_hash_two_col_desc(target_infos, 8);
1485  query_mem_desc.setOutputColumnar(true);
1486  query_mem_desc.setHasKeylessHash(true);
1487  query_mem_desc.setTargetIdxForKey(2);
1488  test_iterate(target_infos, query_mem_desc);
1489 }
void test_iterate(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc)
std::vector< TargetInfo > generate_test_target_infos()
QueryMemoryDescriptor perfect_hash_two_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
+ Here is the call graph for this function:

◆ TEST() [21/107]

TEST ( Iterate  ,
PerfectHashTwoColColumnarKeyless32   
)

Definition at line 1491 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_two_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_iterate().

1491  {
1492  const auto target_infos = generate_test_target_infos();
1493  auto query_mem_desc = perfect_hash_two_col_desc(target_infos, 4);
1494  query_mem_desc.setOutputColumnar(true);
1495  query_mem_desc.setHasKeylessHash(true);
1496  query_mem_desc.setTargetIdxForKey(2);
1497  test_iterate(target_infos, query_mem_desc);
1498 }
void test_iterate(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc)
std::vector< TargetInfo > generate_test_target_infos()
QueryMemoryDescriptor perfect_hash_two_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
+ Here is the call graph for this function:

◆ TEST() [22/107]

TEST ( Iterate  ,
BaselineHash   
)

Definition at line 1500 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc(), anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_iterate().

1500  {
1501  const auto target_infos = generate_test_target_infos();
1502  const auto query_mem_desc = baseline_hash_two_col_desc(target_infos, 8);
1503  test_iterate(target_infos, query_mem_desc);
1504 }
void test_iterate(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc)
std::vector< TargetInfo > generate_test_target_infos()
QueryMemoryDescriptor baseline_hash_two_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
+ Here is the call graph for this function:

◆ TEST() [23/107]

TEST ( Iterate  ,
BaselineHashColumnar   
)

Definition at line 1506 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc(), anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_iterate().

1506  {
1507  const auto target_infos = generate_test_target_infos();
1508  auto query_mem_desc = baseline_hash_two_col_desc(target_infos, 8);
1509  query_mem_desc.setOutputColumnar(true);
1510  test_iterate(target_infos, query_mem_desc);
1511 }
void test_iterate(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc)
std::vector< TargetInfo > generate_test_target_infos()
QueryMemoryDescriptor baseline_hash_two_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
+ Here is the call graph for this function:

◆ TEST() [24/107]

TEST ( Reduce  ,
PerfectHashOneCol   
)

Definition at line 1513 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_one_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce().

1513  {
1514  const auto target_infos = generate_test_target_infos();
1515  const auto query_mem_desc = perfect_hash_one_col_desc(target_infos, 8, 0, 99);
1516  EvenNumberGenerator generator1;
1517  EvenNumberGenerator generator2;
1518  test_reduce(target_infos, query_mem_desc, generator1, generator2, 2);
1519 }
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
std::vector< TargetInfo > generate_test_target_infos()
void test_reduce(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int step)
+ Here is the call graph for this function:

◆ TEST() [25/107]

TEST ( Reduce  ,
PerfectHashOneCol32   
)

Definition at line 1521 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_one_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce().

1521  {
1522  const auto target_infos = generate_test_target_infos();
1523  const auto query_mem_desc = perfect_hash_one_col_desc(target_infos, 4, 0, 99);
1524  EvenNumberGenerator generator1;
1525  EvenNumberGenerator generator2;
1526  test_reduce(target_infos, query_mem_desc, generator1, generator2, 2);
1527 }
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
std::vector< TargetInfo > generate_test_target_infos()
void test_reduce(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int step)
+ Here is the call graph for this function:

◆ TEST() [26/107]

TEST ( Reduce  ,
PerfectHashOneColColumnar   
)

Definition at line 1529 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_one_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce().

1529  {
1530  const auto target_infos = generate_test_target_infos();
1531  auto query_mem_desc = perfect_hash_one_col_desc(target_infos, 8, 0, 99);
1532  query_mem_desc.setOutputColumnar(true);
1533  EvenNumberGenerator generator1;
1534  EvenNumberGenerator generator2;
1535  test_reduce(target_infos, query_mem_desc, generator1, generator2, 2);
1536 }
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
std::vector< TargetInfo > generate_test_target_infos()
void test_reduce(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int step)
+ Here is the call graph for this function:

◆ TEST() [27/107]

TEST ( Reduce  ,
PerfectHashOneColColumnar32   
)

Definition at line 1538 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_one_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce().

1538  {
1539  const auto target_infos = generate_test_target_infos();
1540  auto query_mem_desc = perfect_hash_one_col_desc(target_infos, 4, 0, 99);
1541  query_mem_desc.setOutputColumnar(true);
1542  EvenNumberGenerator generator1;
1543  EvenNumberGenerator generator2;
1544  test_reduce(target_infos, query_mem_desc, generator1, generator2, 2);
1545 }
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
std::vector< TargetInfo > generate_test_target_infos()
void test_reduce(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int step)
+ Here is the call graph for this function:

◆ TEST() [28/107]

TEST ( Reduce  ,
PerfectHashOneColColumnar16   
)

Definition at line 1547 of file ResultSetTest.cpp.

References generate_custom_agg_target_infos(), kAVG, kBIGINT, kCOUNT, kDOUBLE, kINT, kMAX, kMIN, kSMALLINT, kSUM, perfect_hash_one_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce().

1547  {
1548  std::vector<int8_t> group_column_widths{8};
1549  const int8_t suggested_agg_width = 2;
1550  const auto target_infos = generate_custom_agg_target_infos(
1551  group_column_widths,
1552  {kMAX, kMIN, kCOUNT, kSUM, kAVG},
1554  {kSMALLINT, kSMALLINT, kSMALLINT, kSMALLINT, kSMALLINT});
1555  auto query_mem_desc = perfect_hash_one_col_desc(
1556  target_infos, suggested_agg_width, 0, 99, group_column_widths);
1557  query_mem_desc.setOutputColumnar(true);
1558  EvenNumberGenerator generator1;
1559  EvenNumberGenerator generator2;
1560  test_reduce(target_infos, query_mem_desc, generator1, generator2, 2);
1561 }
Definition: sqldefs.h:71
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
Definition: sqldefs.h:71
Definition: sqldefs.h:71
Definition: sqltypes.h:47
Definition: sqldefs.h:71
Definition: sqldefs.h:71
void test_reduce(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int step)
std::vector< TargetInfo > generate_custom_agg_target_infos(std::vector< int8_t > group_columns, std::vector< SQLAgg > sql_aggs, std::vector< SQLTypes > agg_types, std::vector< SQLTypes > arg_types)
+ Here is the call graph for this function:

◆ TEST() [29/107]

TEST ( Reduce  ,
PerfectHashOneColColumnar8   
)

Definition at line 1563 of file ResultSetTest.cpp.

References generate_custom_agg_target_infos(), kAVG, kBIGINT, kCOUNT, kDOUBLE, kINT, kMAX, kMIN, kSUM, kTINYINT, perfect_hash_one_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce().

1563  {
1564  std::vector<int8_t> group_column_widths{8};
1565  const int8_t suggested_agg_width = 1;
1566  const auto target_infos = generate_custom_agg_target_infos(
1567  group_column_widths,
1568  {kMAX, kMIN, kCOUNT, kSUM, kAVG},
1570  {kTINYINT, kTINYINT, kTINYINT, kTINYINT, kTINYINT});
1571  auto query_mem_desc = perfect_hash_one_col_desc(
1572  target_infos, suggested_agg_width, 0, 99, group_column_widths);
1573  query_mem_desc.setOutputColumnar(true);
1574  EvenNumberGenerator generator1;
1575  EvenNumberGenerator generator2;
1576  test_reduce(target_infos, query_mem_desc, generator1, generator2, 2);
1577 }
Definition: sqldefs.h:71
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
Definition: sqldefs.h:71
Definition: sqldefs.h:71
Definition: sqltypes.h:47
Definition: sqldefs.h:71
Definition: sqldefs.h:71
void test_reduce(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int step)
std::vector< TargetInfo > generate_custom_agg_target_infos(std::vector< int8_t > group_columns, std::vector< SQLAgg > sql_aggs, std::vector< SQLTypes > agg_types, std::vector< SQLTypes > arg_types)
+ Here is the call graph for this function:

◆ TEST() [30/107]

TEST ( Reduce  ,
PerfectHashOneColKeyless   
)

Definition at line 1579 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_one_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce().

1579  {
1580  const auto target_infos = generate_test_target_infos();
1581  auto query_mem_desc = perfect_hash_one_col_desc(target_infos, 8, 0, 99);
1582  query_mem_desc.setHasKeylessHash(true);
1583  query_mem_desc.setTargetIdxForKey(2);
1584  EvenNumberGenerator generator1;
1585  EvenNumberGenerator generator2;
1586  test_reduce(target_infos, query_mem_desc, generator1, generator2, 2);
1587 }
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
std::vector< TargetInfo > generate_test_target_infos()
void test_reduce(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int step)
+ Here is the call graph for this function:

◆ TEST() [31/107]

TEST ( Reduce  ,
PerfectHashOneColKeyless32   
)

Definition at line 1589 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_one_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce().

1589  {
1590  const auto target_infos = generate_test_target_infos();
1591  auto query_mem_desc = perfect_hash_one_col_desc(target_infos, 4, 0, 99);
1592  query_mem_desc.setHasKeylessHash(true);
1593  query_mem_desc.setTargetIdxForKey(2);
1594  EvenNumberGenerator generator1;
1595  EvenNumberGenerator generator2;
1596  test_reduce(target_infos, query_mem_desc, generator1, generator2, 2);
1597 }
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
std::vector< TargetInfo > generate_test_target_infos()
void test_reduce(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int step)
+ Here is the call graph for this function:

◆ TEST() [32/107]

TEST ( Reduce  ,
PerfectHashOneColColumnarKeyless   
)

Definition at line 1599 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_one_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce().

1599  {
1600  const auto target_infos = generate_test_target_infos();
1601  auto query_mem_desc = perfect_hash_one_col_desc(target_infos, 8, 0, 99);
1602  query_mem_desc.setOutputColumnar(true);
1603  query_mem_desc.setHasKeylessHash(true);
1604  query_mem_desc.setTargetIdxForKey(2);
1605  EvenNumberGenerator generator1;
1606  EvenNumberGenerator generator2;
1607  test_reduce(target_infos, query_mem_desc, generator1, generator2, 2);
1608 }
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
std::vector< TargetInfo > generate_test_target_infos()
void test_reduce(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int step)
+ Here is the call graph for this function:

◆ TEST() [33/107]

TEST ( Reduce  ,
PerfectHashOneColColumnarKeyless32   
)

Definition at line 1610 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_one_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce().

1610  {
1611  const auto target_infos = generate_test_target_infos();
1612  auto query_mem_desc = perfect_hash_one_col_desc(target_infos, 4, 0, 99);
1613  query_mem_desc.setOutputColumnar(true);
1614  query_mem_desc.setHasKeylessHash(true);
1615  query_mem_desc.setTargetIdxForKey(2);
1616  EvenNumberGenerator generator1;
1617  EvenNumberGenerator generator2;
1618  test_reduce(target_infos, query_mem_desc, generator1, generator2, 2);
1619 }
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
std::vector< TargetInfo > generate_test_target_infos()
void test_reduce(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int step)
+ Here is the call graph for this function:

◆ TEST() [34/107]

TEST ( Reduce  ,
PerfectHashOneColColumnarKeyless16   
)

Definition at line 1621 of file ResultSetTest.cpp.

References generate_custom_agg_target_infos(), kAVG, kCOUNT, kDOUBLE, kINT, kMAX, kMIN, kSMALLINT, kSUM, perfect_hash_one_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce().

1621  {
1622  std::vector<int8_t> group_column_widths{8};
1623  const int8_t suggested_agg_width = 2;
1624  const auto target_infos = generate_custom_agg_target_infos(
1625  group_column_widths,
1626  {kAVG, kSUM, kMIN, kCOUNT, kMAX},
1627  {kDOUBLE, kINT, kSMALLINT, kINT, kSMALLINT},
1628  {kSMALLINT, kSMALLINT, kSMALLINT, kSMALLINT, kSMALLINT});
1629  auto query_mem_desc =
1630  perfect_hash_one_col_desc(target_infos, suggested_agg_width, 0, 99);
1631  query_mem_desc.setOutputColumnar(true);
1632  query_mem_desc.setHasKeylessHash(true);
1633  query_mem_desc.setTargetIdxForKey(2);
1634  EvenNumberGenerator generator1;
1635  EvenNumberGenerator generator2;
1636  test_reduce(target_infos, query_mem_desc, generator1, generator2, 2);
1637 }
Definition: sqldefs.h:71
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
Definition: sqldefs.h:71
Definition: sqldefs.h:71
Definition: sqltypes.h:47
Definition: sqldefs.h:71
Definition: sqldefs.h:71
void test_reduce(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int step)
std::vector< TargetInfo > generate_custom_agg_target_infos(std::vector< int8_t > group_columns, std::vector< SQLAgg > sql_aggs, std::vector< SQLTypes > agg_types, std::vector< SQLTypes > arg_types)
+ Here is the call graph for this function:

◆ TEST() [35/107]

TEST ( Reduce  ,
PerfectHashOneColColumnarKeyless8   
)

Definition at line 1639 of file ResultSetTest.cpp.

References generate_custom_agg_target_infos(), kAVG, kCOUNT, kDOUBLE, kINT, kMAX, kMIN, kSUM, kTINYINT, perfect_hash_one_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce().

1639  {
1640  std::vector<int8_t> group_column_widths{8};
1641  const int8_t suggested_agg_width = 1;
1642  const auto target_infos = generate_custom_agg_target_infos(
1643  group_column_widths,
1644  {kAVG, kSUM, kMIN, kCOUNT, kMAX},
1645  {kDOUBLE, kINT, kTINYINT, kINT, kTINYINT},
1646  {kTINYINT, kTINYINT, kTINYINT, kTINYINT, kTINYINT});
1647  auto query_mem_desc =
1648  perfect_hash_one_col_desc(target_infos, suggested_agg_width, 0, 99);
1649  query_mem_desc.setOutputColumnar(true);
1650  query_mem_desc.setHasKeylessHash(true);
1651  query_mem_desc.setTargetIdxForKey(2);
1652  EvenNumberGenerator generator1;
1653  EvenNumberGenerator generator2;
1654  test_reduce(target_infos, query_mem_desc, generator1, generator2, 2);
1655 }
Definition: sqldefs.h:71
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
Definition: sqldefs.h:71
Definition: sqldefs.h:71
Definition: sqltypes.h:47
Definition: sqldefs.h:71
Definition: sqldefs.h:71
void test_reduce(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int step)
std::vector< TargetInfo > generate_custom_agg_target_infos(std::vector< int8_t > group_columns, std::vector< SQLAgg > sql_aggs, std::vector< SQLTypes > agg_types, std::vector< SQLTypes > arg_types)
+ Here is the call graph for this function:

◆ TEST() [36/107]

TEST ( Reduce  ,
PerfectHashTwoCol   
)

Definition at line 1657 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_two_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce().

1657  {
1658  const auto target_infos = generate_test_target_infos();
1659  const auto query_mem_desc = perfect_hash_two_col_desc(target_infos, 8);
1660  EvenNumberGenerator generator1;
1661  EvenNumberGenerator generator2;
1662  test_reduce(target_infos, query_mem_desc, generator1, generator2, 2);
1663 }
std::vector< TargetInfo > generate_test_target_infos()
QueryMemoryDescriptor perfect_hash_two_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int step)
+ Here is the call graph for this function:

◆ TEST() [37/107]

TEST ( Reduce  ,
PerfectHashTwoCol32   
)

Definition at line 1665 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_two_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce().

1665  {
1666  const auto target_infos = generate_test_target_infos();
1667  const auto query_mem_desc = perfect_hash_two_col_desc(target_infos, 4);
1668  EvenNumberGenerator generator1;
1669  EvenNumberGenerator generator2;
1670  test_reduce(target_infos, query_mem_desc, generator1, generator2, 2);
1671 }
std::vector< TargetInfo > generate_test_target_infos()
QueryMemoryDescriptor perfect_hash_two_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int step)
+ Here is the call graph for this function:

◆ TEST() [38/107]

TEST ( Reduce  ,
PerfectHashTwoColColumnar   
)

Definition at line 1673 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_two_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce().

1673  {
1674  const auto target_infos = generate_test_target_infos();
1675  auto query_mem_desc = perfect_hash_two_col_desc(target_infos, 8);
1676  query_mem_desc.setOutputColumnar(true);
1677  EvenNumberGenerator generator1;
1678  EvenNumberGenerator generator2;
1679  test_reduce(target_infos, query_mem_desc, generator1, generator2, 2);
1680 }
std::vector< TargetInfo > generate_test_target_infos()
QueryMemoryDescriptor perfect_hash_two_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int step)
+ Here is the call graph for this function:

◆ TEST() [39/107]

TEST ( Reduce  ,
PerfectHashTwoColColumnar32   
)

Definition at line 1682 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_two_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce().

1682  {
1683  const auto target_infos = generate_test_target_infos();
1684  auto query_mem_desc = perfect_hash_two_col_desc(target_infos, 4);
1685  query_mem_desc.setOutputColumnar(true);
1686  EvenNumberGenerator generator1;
1687  EvenNumberGenerator generator2;
1688  test_reduce(target_infos, query_mem_desc, generator1, generator2, 2);
1689 }
std::vector< TargetInfo > generate_test_target_infos()
QueryMemoryDescriptor perfect_hash_two_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int step)
+ Here is the call graph for this function:

◆ TEST() [40/107]

TEST ( Reduce  ,
PerfectHashTwoColKeyless   
)

Definition at line 1691 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_two_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce().

1691  {
1692  const auto target_infos = generate_test_target_infos();
1693  auto query_mem_desc = perfect_hash_two_col_desc(target_infos, 8);
1694  query_mem_desc.setHasKeylessHash(true);
1695  query_mem_desc.setTargetIdxForKey(2);
1696  EvenNumberGenerator generator1;
1697  EvenNumberGenerator generator2;
1698  test_reduce(target_infos, query_mem_desc, generator1, generator2, 2);
1699 }
std::vector< TargetInfo > generate_test_target_infos()
QueryMemoryDescriptor perfect_hash_two_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int step)
+ Here is the call graph for this function:

◆ TEST() [41/107]

TEST ( Reduce  ,
PerfectHashTwoColKeyless32   
)

Definition at line 1701 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_two_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce().

1701  {
1702  const auto target_infos = generate_test_target_infos();
1703  auto query_mem_desc = perfect_hash_two_col_desc(target_infos, 4);
1704  query_mem_desc.setHasKeylessHash(true);
1705  query_mem_desc.setTargetIdxForKey(2);
1706  EvenNumberGenerator generator1;
1707  EvenNumberGenerator generator2;
1708  test_reduce(target_infos, query_mem_desc, generator1, generator2, 2);
1709 }
std::vector< TargetInfo > generate_test_target_infos()
QueryMemoryDescriptor perfect_hash_two_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int step)
+ Here is the call graph for this function:

◆ TEST() [42/107]

TEST ( Reduce  ,
PerfectHashTwoColColumnarKeyless   
)

Definition at line 1711 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_two_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce().

1711  {
1712  const auto target_infos = generate_test_target_infos();
1713  auto query_mem_desc = perfect_hash_two_col_desc(target_infos, 8);
1714  query_mem_desc.setOutputColumnar(true);
1715  query_mem_desc.setHasKeylessHash(true);
1716  query_mem_desc.setTargetIdxForKey(2);
1717  EvenNumberGenerator generator1;
1718  EvenNumberGenerator generator2;
1719  test_reduce(target_infos, query_mem_desc, generator1, generator2, 2);
1720 }
std::vector< TargetInfo > generate_test_target_infos()
QueryMemoryDescriptor perfect_hash_two_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int step)
+ Here is the call graph for this function:

◆ TEST() [43/107]

TEST ( Reduce  ,
PerfectHashTwoColColumnarKeyless32   
)

Definition at line 1722 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), perfect_hash_two_col_desc(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce().

1722  {
1723  const auto target_infos = generate_test_target_infos();
1724  auto query_mem_desc = perfect_hash_two_col_desc(target_infos, 4);
1725  query_mem_desc.setOutputColumnar(true);
1726  query_mem_desc.setHasKeylessHash(true);
1727  query_mem_desc.setTargetIdxForKey(2);
1728  EvenNumberGenerator generator1;
1729  EvenNumberGenerator generator2;
1730  test_reduce(target_infos, query_mem_desc, generator1, generator2, 2);
1731 }
std::vector< TargetInfo > generate_test_target_infos()
QueryMemoryDescriptor perfect_hash_two_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int step)
+ Here is the call graph for this function:

◆ TEST() [44/107]

TEST ( Reduce  ,
BaselineHash   
)

Definition at line 1733 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc(), anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce().

1733  {
1734  const auto target_infos = generate_test_target_infos();
1735  const auto query_mem_desc = baseline_hash_two_col_desc(target_infos, 8);
1736  EvenNumberGenerator generator1;
1737  ReverseOddOrEvenNumberGenerator generator2(2 * query_mem_desc.getEntryCount() - 1);
1738  test_reduce(target_infos, query_mem_desc, generator1, generator2, 1);
1739 }
std::vector< TargetInfo > generate_test_target_infos()
void test_reduce(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int step)
QueryMemoryDescriptor baseline_hash_two_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
+ Here is the call graph for this function:

◆ TEST() [45/107]

TEST ( Reduce  ,
BaselineHashColumnar   
)

Definition at line 1741 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc(), anonymous_namespace{ResultSetTest.cpp}::generate_test_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce().

1741  {
1742  const auto target_infos = generate_test_target_infos();
1743  auto query_mem_desc = baseline_hash_two_col_desc(target_infos, 8);
1744  query_mem_desc.setOutputColumnar(true);
1745  EvenNumberGenerator generator1;
1746  ReverseOddOrEvenNumberGenerator generator2(2 * query_mem_desc.getEntryCount() - 1);
1747  test_reduce(target_infos, query_mem_desc, generator1, generator2, 1);
1748 }
std::vector< TargetInfo > generate_test_target_infos()
void test_reduce(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int step)
QueryMemoryDescriptor baseline_hash_two_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
+ Here is the call graph for this function:

◆ TEST() [46/107]

TEST ( MoreReduce  ,
MissingValues   
)

Definition at line 1750 of file ResultSetTest.cpp.

References CHECK_EQ, ResultSetReductionJIT::codegen(), CPU, EMPTY_KEY_64, kBIGINT, kCOUNT, kMIN, kNULLT, and perfect_hash_one_col_desc().

1750  {
1751  std::vector<TargetInfo> target_infos;
1752  SQLTypeInfo bigint_ti(kBIGINT, false);
1753  SQLTypeInfo null_ti(kNULLT, false);
1754  target_infos.push_back(TargetInfo{false, kMIN, bigint_ti, null_ti, true, false});
1755  target_infos.push_back(TargetInfo{true, kCOUNT, bigint_ti, null_ti, true, false});
1756  auto query_mem_desc = perfect_hash_one_col_desc(target_infos, 8, 7, 9);
1757  query_mem_desc.setHasKeylessHash(false);
1758  const auto row_set_mem_owner = std::make_shared<RowSetMemoryOwner>();
1759  const auto rs1 = std::make_unique<ResultSet>(
1760  target_infos, ExecutorDeviceType::CPU, query_mem_desc, row_set_mem_owner, nullptr);
1761  const auto storage1 = rs1->allocateStorage();
1762  const auto rs2 = std::make_unique<ResultSet>(
1763  target_infos, ExecutorDeviceType::CPU, query_mem_desc, row_set_mem_owner, nullptr);
1764  const auto storage2 = rs2->allocateStorage();
1765  {
1766  auto buff1 = reinterpret_cast<int64_t*>(storage1->getUnderlyingBuffer());
1767  buff1[0 * 3] = 7;
1768  buff1[1 * 3] = EMPTY_KEY_64;
1769  buff1[2 * 3] = EMPTY_KEY_64;
1770  buff1[0 * 3 + 1] = 7;
1771  buff1[1 * 3 + 1] = 0;
1772  buff1[2 * 3 + 1] = 0;
1773  buff1[0 * 3 + 2] = 15;
1774  buff1[1 * 3 + 2] = 0;
1775  buff1[2 * 3 + 2] = 0;
1776  }
1777  {
1778  auto buff2 = reinterpret_cast<int64_t*>(storage2->getUnderlyingBuffer());
1779  buff2[0 * 3] = EMPTY_KEY_64;
1780  buff2[1 * 3] = EMPTY_KEY_64;
1781  buff2[2 * 3] = 9;
1782  buff2[0 * 3 + 1] = 0;
1783  buff2[1 * 3 + 1] = 0;
1784  buff2[2 * 3 + 1] = 9;
1785  buff2[0 * 3 + 2] = 0;
1786  buff2[1 * 3 + 2] = 0;
1787  buff2[2 * 3 + 2] = 5;
1788  }
1789 #ifdef WITH_REDUCTION_JIT
1790  ResultSetReductionJIT reduction_jit(
1791  rs1->getQueryMemDesc(), rs1->getTargetInfos(), rs1->getTargetInitVals());
1792  const auto reduction_code = reduction_jit.codegen();
1793 #else
1794  ReductionCode reduction_code{};
1795 #endif // WITH_REDUCTION_JIT
1796  storage1->reduce(*storage2, {}, reduction_code);
1797  {
1798  const auto row = rs1->getNextRow(false, false);
1799  CHECK_EQ(size_t(2), row.size());
1800  ASSERT_EQ(7, v<int64_t>(row[0]));
1801  ASSERT_EQ(15, v<int64_t>(row[1]));
1802  }
1803  {
1804  const auto row = rs1->getNextRow(false, false);
1805  CHECK_EQ(size_t(2), row.size());
1806  ASSERT_EQ(9, v<int64_t>(row[0]));
1807  ASSERT_EQ(5, v<int64_t>(row[1]));
1808  }
1809  {
1810  const auto row = rs1->getNextRow(false, false);
1811  ASSERT_EQ(size_t(0), row.size());
1812  }
1813 }
#define CHECK_EQ(x, y)
Definition: Logger.h:195
#define EMPTY_KEY_64
ReductionCode codegen() const
Definition: sqldefs.h:71
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
Definition: sqldefs.h:71
+ Here is the call graph for this function:

◆ TEST() [47/107]

TEST ( MoreReduce  ,
MissingValuesKeyless   
)

Definition at line 1815 of file ResultSetTest.cpp.

References CHECK_EQ, ResultSetReductionJIT::codegen(), CPU, kBIGINT, kCOUNT, kMIN, kNULLT, and perfect_hash_one_col_desc().

1815  {
1816  std::vector<TargetInfo> target_infos;
1817  SQLTypeInfo bigint_ti(kBIGINT, false);
1818  SQLTypeInfo null_ti(kNULLT, false);
1819  target_infos.push_back(TargetInfo{false, kMIN, bigint_ti, null_ti, true, false});
1820  target_infos.push_back(TargetInfo{true, kCOUNT, bigint_ti, null_ti, true, false});
1821  auto query_mem_desc = perfect_hash_one_col_desc(target_infos, 8, 7, 9);
1822  query_mem_desc.setHasKeylessHash(true);
1823  const auto row_set_mem_owner = std::make_shared<RowSetMemoryOwner>();
1824  const auto rs1 = std::make_unique<ResultSet>(
1825  target_infos, ExecutorDeviceType::CPU, query_mem_desc, row_set_mem_owner, nullptr);
1826  const auto storage1 = rs1->allocateStorage();
1827  const auto rs2 = std::make_unique<ResultSet>(
1828  target_infos, ExecutorDeviceType::CPU, query_mem_desc, row_set_mem_owner, nullptr);
1829  const auto storage2 = rs2->allocateStorage();
1830  {
1831  auto buff1 = reinterpret_cast<int64_t*>(storage1->getUnderlyingBuffer());
1832  buff1[0 * 2] = 7;
1833  buff1[1 * 2] = 0;
1834  buff1[2 * 2] = 0;
1835  buff1[0 * 2 + 1] = 15;
1836  buff1[1 * 2 + 1] = 0;
1837  buff1[2 * 2 + 1] = 0;
1838  }
1839  {
1840  auto buff2 = reinterpret_cast<int64_t*>(storage2->getUnderlyingBuffer());
1841  buff2[0 * 2] = 0;
1842  buff2[1 * 2] = 0;
1843  buff2[2 * 2] = 9;
1844  buff2[0 * 2 + 1] = 0;
1845  buff2[1 * 2 + 1] = 0;
1846  buff2[2 * 2 + 1] = 5;
1847  }
1848 #ifdef WITH_REDUCTION_JIT
1849  ResultSetReductionJIT reduction_jit(
1850  rs1->getQueryMemDesc(), rs1->getTargetInfos(), rs1->getTargetInitVals());
1851  const auto reduction_code = reduction_jit.codegen();
1852 #else
1853  ReductionCode reduction_code{};
1854 #endif // WITH_REDUCTION_JIT
1855  storage1->reduce(*storage2, {}, reduction_code);
1856  {
1857  const auto row = rs1->getNextRow(false, false);
1858  CHECK_EQ(size_t(2), row.size());
1859  ASSERT_EQ(7, v<int64_t>(row[0]));
1860  ASSERT_EQ(15, v<int64_t>(row[1]));
1861  }
1862  {
1863  const auto row = rs1->getNextRow(false, false);
1864  CHECK_EQ(size_t(2), row.size());
1865  ASSERT_EQ(9, v<int64_t>(row[0]));
1866  ASSERT_EQ(5, v<int64_t>(row[1]));
1867  }
1868  {
1869  const auto row = rs1->getNextRow(false, false);
1870  ASSERT_EQ(size_t(0), row.size());
1871  }
1872 }
#define CHECK_EQ(x, y)
Definition: Logger.h:195
ReductionCode codegen() const
Definition: sqldefs.h:71
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
Definition: sqldefs.h:71
+ Here is the call graph for this function:

◆ TEST() [48/107]

TEST ( MoreReduce  ,
OffsetRewrite   
)

Definition at line 1874 of file ResultSetTest.cpp.

References CHECK_EQ, ResultSetReductionJIT::codegen(), CPU, kBIGINT, kENCODING_NONE, kMIN, kNULLT, kSAMPLE, kTEXT, and perfect_hash_one_col_desc().

1874  {
1875  std::vector<TargetInfo> target_infos;
1876  SQLTypeInfo bigint_ti(kBIGINT, false);
1877  SQLTypeInfo real_str_ti(kTEXT, true, kENCODING_NONE);
1878  SQLTypeInfo null_ti(kNULLT, false);
1879 
1880  target_infos.push_back(TargetInfo{false, kMIN, bigint_ti, null_ti, true, false});
1881  target_infos.push_back(TargetInfo{true, kSAMPLE, real_str_ti, null_ti, true, false});
1882  auto query_mem_desc = perfect_hash_one_col_desc(target_infos, 8, 7, 9);
1883  query_mem_desc.setHasKeylessHash(false);
1884  const auto row_set_mem_owner = std::make_shared<RowSetMemoryOwner>();
1885  const auto rs1 = std::make_unique<ResultSet>(
1886  target_infos, ExecutorDeviceType::CPU, query_mem_desc, row_set_mem_owner, nullptr);
1887  const auto storage1 = rs1->allocateStorage();
1888  const auto rs2 = std::make_unique<ResultSet>(
1889  target_infos, ExecutorDeviceType::CPU, query_mem_desc, row_set_mem_owner, nullptr);
1890  const auto storage2 = rs2->allocateStorage();
1891  std::vector<std::string> serialized_varlen_buffer{"foo", "bar", "hello"};
1892 
1893  {
1894  auto buff1 = reinterpret_cast<int64_t*>(storage1->getUnderlyingBuffer());
1895  buff1[0 * 4] = 7;
1896  buff1[1 * 4] = 8;
1897  buff1[2 * 4] = 9;
1898  buff1[0 * 4 + 1] = 7;
1899  buff1[1 * 4 + 1] = 8;
1900  buff1[2 * 4 + 1] = 9;
1901  buff1[0 * 4 + 2] = 0;
1902  buff1[1 * 4 + 2] = 0;
1903  buff1[2 * 4 + 2] = 1;
1904  buff1[0 * 4 + 3] = 0;
1905  buff1[1 * 4 + 3] = 0;
1906  buff1[2 * 4 + 3] = 0;
1907  }
1908  {
1909  auto buff2 = reinterpret_cast<int64_t*>(storage2->getUnderlyingBuffer());
1910  buff2[0 * 4] = 7;
1911  buff2[1 * 4] = 8;
1912  buff2[2 * 4] = 9;
1913  buff2[0 * 4 + 1] = 7;
1914  buff2[1 * 4 + 1] = 8;
1915  buff2[2 * 4 + 1] = 9;
1916  buff2[0 * 4 + 2] = 0;
1917  buff2[1 * 4 + 2] = 2;
1918  buff2[2 * 4 + 2] = 1;
1919  buff2[0 * 4 + 3] = 0;
1920  buff2[1 * 4 + 3] = 0;
1921  buff2[2 * 4 + 3] = 0;
1922  }
1923 
1924  storage1->rewriteAggregateBufferOffsets(serialized_varlen_buffer);
1925 #ifdef WITH_REDUCTION_JIT
1926  ResultSetReductionJIT reduction_jit(
1927  rs1->getQueryMemDesc(), rs1->getTargetInfos(), rs1->getTargetInitVals());
1928  const auto reduction_code = reduction_jit.codegen();
1929 #else
1930  ReductionCode reduction_code{};
1931 #endif // WITH_REDUCTION_JIT
1932  storage1->reduce(*storage2, serialized_varlen_buffer, reduction_code);
1933  rs1->setSeparateVarlenStorageValid(true);
1934  {
1935  const auto row = rs1->getNextRow(false, false);
1936  CHECK_EQ(size_t(2), row.size());
1937  ASSERT_EQ(7, v<int64_t>(row[0]));
1938  ASSERT_EQ("foo", boost::get<std::string>(v<NullableString>(row[1])));
1939  }
1940  {
1941  const auto row = rs1->getNextRow(false, false);
1942  CHECK_EQ(size_t(2), row.size());
1943  ASSERT_EQ(8, v<int64_t>(row[0]));
1944  ASSERT_EQ("hello", boost::get<std::string>(v<NullableString>(row[1])));
1945  }
1946  {
1947  const auto row = rs1->getNextRow(false, false);
1948  CHECK_EQ(size_t(2), row.size());
1949  ASSERT_EQ(9, v<int64_t>(row[0]));
1950  ASSERT_EQ("bar", boost::get<std::string>(v<NullableString>(row[1])));
1951  }
1952  {
1953  const auto row = rs1->getNextRow(false, false);
1954  ASSERT_EQ(size_t(0), row.size());
1955  }
1956 }
#define CHECK_EQ(x, y)
Definition: Logger.h:195
ReductionCode codegen() const
Definition: sqldefs.h:71
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
Definition: sqltypes.h:54
+ Here is the call graph for this function:

◆ TEST() [49/107]

TEST ( MoreReduce  ,
OffsetRewriteGeo   
)

Definition at line 1968 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::arr_to_byte_string(), CHECK_EQ, ResultSetReductionJIT::codegen(), CPU, kINT, kMULTIPOLYGON, kNULLT, kSAMPLE, kSUM, perfect_hash_one_col_desc(), and ResultSet::WktString.

1968  {
1969  std::vector<TargetInfo> target_infos;
1970  SQLTypeInfo int_ti(kINT, false);
1971  SQLTypeInfo multipoly_ti(kMULTIPOLYGON, false);
1972  SQLTypeInfo null_ti(kNULLT, false);
1973 
1974  target_infos.push_back(TargetInfo{true, kSAMPLE, multipoly_ti, null_ti, true, false});
1975  target_infos.push_back(TargetInfo{true, kSUM, int_ti, int_ti, true, false});
1976 
1977  auto query_mem_desc = perfect_hash_one_col_desc(target_infos, 8, 7, 9);
1978  query_mem_desc.setHasKeylessHash(false);
1979  const auto row_set_mem_owner = std::make_shared<RowSetMemoryOwner>();
1980  const auto rs1 = std::make_unique<ResultSet>(
1981  target_infos, ExecutorDeviceType::CPU, query_mem_desc, row_set_mem_owner, nullptr);
1982  const auto storage1 = rs1->allocateStorage();
1983  const auto rs2 = std::make_unique<ResultSet>(
1984  target_infos, ExecutorDeviceType::CPU, query_mem_desc, row_set_mem_owner, nullptr);
1985  const auto storage2 = rs2->allocateStorage();
1986  std::vector<std::string> serialized_varlen_buffer{
1987  arr_to_byte_string(std::vector<double>{1, 1, 2, 2, 3, 3, 4, 4}),
1988  arr_to_byte_string(std::vector<int32_t>{4}),
1989  arr_to_byte_string(std::vector<int32_t>{1}),
1990  arr_to_byte_string(std::vector<double>{1, 1, 2, 2, 3, 3, 4, 4, 5, 5}),
1991  arr_to_byte_string(std::vector<int32_t>{5}),
1992  arr_to_byte_string(std::vector<int32_t>{1})};
1993 
1994  {
1995  auto buff1 = reinterpret_cast<int64_t*>(storage1->getUnderlyingBuffer());
1996  buff1[0 * 8] = 7; // key
1997  buff1[1 * 8] = 8;
1998  buff1[2 * 8] = 9;
1999  buff1[0 * 8 + 1] = 0; // coords
2000  buff1[1 * 8 + 1] = 3;
2001  buff1[2 * 8 + 1] = 0;
2002  buff1[0 * 8 + 3] = 1; // ring sizes
2003  buff1[1 * 8 + 3] = 4;
2004  buff1[2 * 8 + 3] = 1;
2005  buff1[0 * 8 + 5] = 2; // poly rings
2006  buff1[1 * 8 + 5] = 5;
2007  buff1[2 * 8 + 5] = 2;
2008  buff1[0 * 8 + 7] = 1; // int argument to sum
2009  buff1[1 * 8 + 7] = 2;
2010  buff1[2 * 8 + 7] = 3;
2011  }
2012  {
2013  auto buff2 = reinterpret_cast<int64_t*>(storage2->getUnderlyingBuffer());
2014  buff2[0 * 8] = 7; // key
2015  buff2[1 * 8] = 8;
2016  buff2[2 * 8] = 9;
2017  buff2[0 * 8 + 1] = 0; // coords
2018  buff2[1 * 8 + 1] = 3;
2019  buff2[2 * 8 + 1] = 0;
2020  buff2[0 * 8 + 3] = 1; // ring sizes
2021  buff2[1 * 8 + 3] = 4;
2022  buff2[2 * 8 + 3] = 1;
2023  buff2[0 * 8 + 5] = 2; // poly rings
2024  buff2[1 * 8 + 5] = 5;
2025  buff2[2 * 8 + 5] = 2;
2026  buff2[0 * 8 + 7] = 4; // int argument to sum
2027  buff2[1 * 8 + 7] = 5;
2028  buff2[2 * 8 + 7] = 6;
2029  }
2030 
2031  storage1->rewriteAggregateBufferOffsets(serialized_varlen_buffer);
2032 #ifdef WITH_REDUCTION_JIT
2033  ResultSetReductionJIT reduction_jit(
2034  rs1->getQueryMemDesc(), rs1->getTargetInfos(), rs1->getTargetInitVals());
2035  const auto reduction_code = reduction_jit.codegen();
2036 #else
2037  ReductionCode reduction_code{};
2038 #endif // WITH_REDUCTION_JIT
2039  storage1->reduce(*storage2, serialized_varlen_buffer, reduction_code);
2040  rs1->setGeoReturnType(ResultSet::GeoReturnType::WktString);
2041  rs1->setSeparateVarlenStorageValid(true);
2042  {
2043  const auto row = rs1->getNextRow(false, false);
2044  CHECK_EQ(size_t(2), row.size());
2045  ASSERT_EQ("MULTIPOLYGON (((1 1,2 2,3 3,4 4,1 1)))",
2046  boost::get<std::string>(v<NullableString>(row[0])));
2047  ASSERT_EQ(5, v<int64_t>(row[1]));
2048  }
2049  {
2050  const auto row = rs1->getNextRow(false, false);
2051  CHECK_EQ(size_t(2), row.size());
2052  ASSERT_EQ("MULTIPOLYGON (((1 1,2 2,3 3,4 4,5 5,1 1)))",
2053  boost::get<std::string>(v<NullableString>(row[0])));
2054  ASSERT_EQ(7, v<int64_t>(row[1]));
2055  }
2056  {
2057  const auto row = rs1->getNextRow(false, false);
2058  CHECK_EQ(size_t(2), row.size());
2059  ASSERT_EQ("MULTIPOLYGON (((1 1,2 2,3 3,4 4,1 1)))",
2060  boost::get<std::string>(v<NullableString>(row[0])));
2061  ASSERT_EQ(9, v<int64_t>(row[1]));
2062  }
2063  {
2064  const auto row = rs1->getNextRow(false, false);
2065  ASSERT_EQ(size_t(0), row.size());
2066  }
2067 }
#define CHECK_EQ(x, y)
Definition: Logger.h:195
ReductionCode codegen() const
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
std::string arr_to_byte_string(const std::vector< T > &in)
Definition: sqldefs.h:71
Definition: sqltypes.h:47
+ Here is the call graph for this function:

◆ TEST() [50/107]

TEST ( MoreReduce  ,
OffsetRewriteGeoKeyless   
)

Definition at line 2069 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::arr_to_byte_string(), CHECK_EQ, ResultSetReductionJIT::codegen(), CPU, kCOUNT, kINT, kMULTIPOLYGON, kNULLT, kSAMPLE, kSUM, perfect_hash_one_col_desc(), and ResultSet::WktString.

2069  {
2070  std::vector<TargetInfo> target_infos;
2071  SQLTypeInfo int_ti(kINT, false);
2072  SQLTypeInfo multipoly_ti(kMULTIPOLYGON, false);
2073  SQLTypeInfo null_ti(kNULLT, false);
2074 
2075  target_infos.push_back(TargetInfo{false, kCOUNT, int_ti, null_ti, true, false});
2076  target_infos.push_back(TargetInfo{true, kSAMPLE, multipoly_ti, null_ti, true, false});
2077  target_infos.push_back(TargetInfo{true, kSUM, int_ti, int_ti, true, false});
2078 
2079  auto query_mem_desc = perfect_hash_one_col_desc(target_infos, 8, 7, 9);
2080  query_mem_desc.setHasKeylessHash(true);
2081  query_mem_desc.setTargetIdxForKey(0);
2082  const auto row_set_mem_owner = std::make_shared<RowSetMemoryOwner>();
2083  const auto rs1 = std::make_unique<ResultSet>(
2084  target_infos, ExecutorDeviceType::CPU, query_mem_desc, row_set_mem_owner, nullptr);
2085  const auto storage1 = rs1->allocateStorage();
2086  const auto rs2 = std::make_unique<ResultSet>(
2087  target_infos, ExecutorDeviceType::CPU, query_mem_desc, row_set_mem_owner, nullptr);
2088  const auto storage2 = rs2->allocateStorage();
2089  std::vector<std::string> serialized_varlen_buffer{
2090  arr_to_byte_string(std::vector<double>{1, 1, 2, 2, 3, 3, 4, 4}),
2091  arr_to_byte_string(std::vector<int32_t>{4}),
2092  arr_to_byte_string(std::vector<int32_t>{1}),
2093  arr_to_byte_string(std::vector<double>{1, 1, 2, 2, 3, 3, 4, 4, 5, 5}),
2094  arr_to_byte_string(std::vector<int32_t>{5}),
2095  arr_to_byte_string(std::vector<int32_t>{1})};
2096 
2097  {
2098  auto buff1 = reinterpret_cast<int64_t*>(storage1->getUnderlyingBuffer());
2099  buff1[0 * 8] = 7; // key
2100  buff1[1 * 8] = 8;
2101  buff1[2 * 8] = 9;
2102  buff1[0 * 8 + 1] = 0; // coords
2103  buff1[1 * 8 + 1] = 3;
2104  buff1[2 * 8 + 1] = 0;
2105  buff1[0 * 8 + 3] = 1; // ring sizes
2106  buff1[1 * 8 + 3] = 4;
2107  buff1[2 * 8 + 3] = 1;
2108  buff1[0 * 8 + 5] = 2; // poly rings
2109  buff1[1 * 8 + 5] = 5;
2110  buff1[2 * 8 + 5] = 2;
2111  buff1[0 * 8 + 7] = 1; // int argument to sum
2112  buff1[1 * 8 + 7] = 2;
2113  buff1[2 * 8 + 7] = 3;
2114  }
2115  {
2116  auto buff2 = reinterpret_cast<int64_t*>(storage2->getUnderlyingBuffer());
2117  buff2[0 * 8] = 7; // key
2118  buff2[1 * 8] = 8;
2119  buff2[2 * 8] = 9;
2120  buff2[0 * 8 + 1] = 0; // coords
2121  buff2[1 * 8 + 1] = 3;
2122  buff2[2 * 8 + 1] = 0;
2123  buff2[0 * 8 + 3] = 1; // ring sizes
2124  buff2[1 * 8 + 3] = 4;
2125  buff2[2 * 8 + 3] = 1;
2126  buff2[0 * 8 + 5] = 2; // poly rings
2127  buff2[1 * 8 + 5] = 5;
2128  buff2[2 * 8 + 5] = 2;
2129  buff2[0 * 8 + 7] = 4; // int argument to sum
2130  buff2[1 * 8 + 7] = 5;
2131  buff2[2 * 8 + 7] = 6;
2132  }
2133 
2134  storage1->rewriteAggregateBufferOffsets(serialized_varlen_buffer);
2135 #ifdef WITH_REDUCTION_JIT
2136  ResultSetReductionJIT reduction_jit(
2137  rs1->getQueryMemDesc(), rs1->getTargetInfos(), rs1->getTargetInitVals());
2138  const auto reduction_code = reduction_jit.codegen();
2139 #else
2140  ReductionCode reduction_code{};
2141 #endif // WITH_REDUCTION_JIT
2142  storage1->reduce(*storage2, serialized_varlen_buffer, reduction_code);
2143  rs1->setGeoReturnType(ResultSet::GeoReturnType::WktString);
2144  rs1->setSeparateVarlenStorageValid(true);
2145  {
2146  const auto row = rs1->getNextRow(false, false);
2147  CHECK_EQ(size_t(3), row.size());
2148  ASSERT_EQ(7, v<int64_t>(row[0]));
2149  ASSERT_EQ("MULTIPOLYGON (((1 1,2 2,3 3,4 4,1 1)))",
2150  boost::get<std::string>(v<NullableString>(row[1])));
2151  ASSERT_EQ(5, v<int64_t>(row[2]));
2152  }
2153  {
2154  const auto row = rs1->getNextRow(false, false);
2155  CHECK_EQ(size_t(3), row.size());
2156  ASSERT_EQ(8, v<int64_t>(row[0]));
2157  ASSERT_EQ("MULTIPOLYGON (((1 1,2 2,3 3,4 4,5 5,1 1)))",
2158  boost::get<std::string>(v<NullableString>(row[1])));
2159  ASSERT_EQ(7, v<int64_t>(row[2]));
2160  }
2161  {
2162  const auto row = rs1->getNextRow(false, false);
2163  CHECK_EQ(size_t(3), row.size());
2164  ASSERT_EQ(9, v<int64_t>(row[0]));
2165  ASSERT_EQ("MULTIPOLYGON (((1 1,2 2,3 3,4 4,1 1)))",
2166  boost::get<std::string>(v<NullableString>(row[1])));
2167  ASSERT_EQ(9, v<int64_t>(row[2]));
2168  }
2169  {
2170  const auto row = rs1->getNextRow(false, false);
2171  ASSERT_EQ(size_t(0), row.size());
2172  }
2173 }
#define CHECK_EQ(x, y)
Definition: Logger.h:195
ReductionCode codegen() const
QueryMemoryDescriptor perfect_hash_one_col_desc(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes, const size_t min_val, const size_t max_val, std::vector< int8_t > group_column_widths)
std::string arr_to_byte_string(const std::vector< T > &in)
Definition: sqldefs.h:71
Definition: sqldefs.h:71
Definition: sqltypes.h:47
+ Here is the call graph for this function:

◆ TEST() [51/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneCol_Small_2525   
)

Definition at line 2176 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2176  {
2177  const auto target_infos = generate_random_groups_target_infos();
2178  const auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2179  // const auto query_mem_desc = perfect_hash_one_col_desc(target_infos, 8, 0, 99);
2180  EvenNumberGenerator gen1;
2181  EvenNumberGenerator gen2;
2182  const int prct1 = 25, prct2 = 25;
2183  bool silent = false; // true/false - don't/do print diagnostic messages
2184  silent = true;
2186  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2187 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [52/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneCol_Small_2575   
)

Definition at line 2189 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2189  {
2190  const auto target_infos = generate_random_groups_target_infos();
2191  const auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2192  // const auto query_mem_desc = perfect_hash_one_col_desc(target_infos, 8, 0, 99);
2193  EvenNumberGenerator gen1;
2194  EvenNumberGenerator gen2;
2195  const int prct1 = 25, prct2 = 75;
2196  bool silent = false; // true/false - don't/do print diagnostic messages
2197  silent = true;
2199  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2200 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [53/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneCol_Small_5050   
)

Definition at line 2202 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2202  {
2203  const auto target_infos = generate_random_groups_target_infos();
2204  const auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2205  // const auto query_mem_desc = perfect_hash_one_col_desc(target_infos, 8, 0, 99);
2206  EvenNumberGenerator gen1;
2207  EvenNumberGenerator gen2;
2208  const int prct1 = 50, prct2 = 50;
2209  bool silent = false; // true/false - don't/do print diagnostic messages
2210  silent = true;
2212  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2213 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [54/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneCol_Small_7525   
)

Definition at line 2215 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2215  {
2216  const auto target_infos = generate_random_groups_target_infos();
2217  const auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2218  // const auto query_mem_desc = perfect_hash_one_col_desc(target_infos, 8, 0, 99);
2219  EvenNumberGenerator gen1;
2220  EvenNumberGenerator gen2;
2221  const int prct1 = 75, prct2 = 25;
2222  bool silent = false; // true/false - don't/do print diagnostic messages
2223  silent = true;
2225  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2226 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [55/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneCol_Small_25100   
)

Definition at line 2228 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2228  {
2229  const auto target_infos = generate_random_groups_target_infos();
2230  const auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2231  // const auto query_mem_desc = perfect_hash_one_col_desc(target_infos, 8, 0, 99);
2232  EvenNumberGenerator gen1;
2233  EvenNumberGenerator gen2;
2234  const int prct1 = 25, prct2 = 100;
2235  bool silent = false; // true/false - don't/do print diagnostic messages
2236  silent = true;
2238  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2239 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [56/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneCol_Small_10025   
)

Definition at line 2241 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2241  {
2242  const auto target_infos = generate_random_groups_target_infos();
2243  const auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2244  // const auto query_mem_desc = perfect_hash_one_col_desc(target_infos, 8, 0, 99);
2245  EvenNumberGenerator gen1;
2246  EvenNumberGenerator gen2;
2247  const int prct1 = 100, prct2 = 25;
2248  bool silent = false; // true/false - don't/do print diagnostic messages
2249  silent = true;
2251  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2252 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [57/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneCol_Small_9505   
)

Definition at line 2254 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2254  {
2255  const auto target_infos = generate_random_groups_target_infos();
2256  const auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2257  EvenNumberGenerator gen1;
2258  EvenNumberGenerator gen2;
2259  const int prct1 = 95, prct2 = 5;
2260  bool silent = false; // true/false - don't/do print diagnostic messages
2261  silent = true;
2263  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2264 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [58/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneCol_Small_100100   
)

Definition at line 2266 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2266  {
2267  const auto target_infos = generate_random_groups_target_infos();
2268  const auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2269  EvenNumberGenerator gen1;
2270  EvenNumberGenerator gen2;
2271  const int prct1 = 100, prct2 = 100;
2272  bool silent = false; // true/false - don't/do print diagnostic messages
2273  silent = true;
2275  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2276 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [59/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneCol_Small_2500   
)

Definition at line 2278 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2278  {
2279  const auto target_infos = generate_random_groups_target_infos();
2280  const auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2281  EvenNumberGenerator gen1;
2282  EvenNumberGenerator gen2;
2283  const int prct1 = 25, prct2 = 0;
2284  bool silent = false; // true/false - don't/do print diagnostic messages
2285  silent = true;
2287  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2288 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [60/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneCol_Small_0075   
)

Definition at line 2290 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2290  {
2291  const auto target_infos = generate_random_groups_target_infos();
2292  const auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2293  EvenNumberGenerator gen1;
2294  EvenNumberGenerator gen2;
2295  const int prct1 = 0, prct2 = 75;
2296  bool silent = false; // true/false - don't/do print diagnostic messages
2297  silent = true;
2299  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2300 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [61/107]

TEST ( ReduceRandomGroups  ,
BaselineHash_Large_5050   
)

Definition at line 2303 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc_large(), anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2303  {
2304  const auto target_infos = generate_random_groups_target_infos();
2305  const auto query_mem_desc = baseline_hash_two_col_desc_large(target_infos, 8);
2306  EvenNumberGenerator gen1;
2307  EvenNumberGenerator gen2;
2308  const int prct1 = 50, prct2 = 50;
2309  bool silent = false; // true/false - don't/do print diagnostic messages
2310  silent = true;
2312  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2313 }
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
QueryMemoryDescriptor baseline_hash_two_col_desc_large(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [62/107]

TEST ( ReduceRandomGroups  ,
BaselineHash_Large_7525   
)

Definition at line 2315 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc_large(), anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2315  {
2316  const auto target_infos = generate_random_groups_target_infos();
2317  const auto query_mem_desc = baseline_hash_two_col_desc_large(target_infos, 8);
2318  EvenNumberGenerator gen1;
2319  EvenNumberGenerator gen2;
2320  const int prct1 = 75, prct2 = 25;
2321  bool silent = false; // true/false - don't/do print diagnostic messages
2322  silent = true;
2324  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2325 }
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
QueryMemoryDescriptor baseline_hash_two_col_desc_large(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [63/107]

TEST ( ReduceRandomGroups  ,
BaselineHash_Large_2575   
)

Definition at line 2327 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc_large(), anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2327  {
2328  const auto target_infos = generate_random_groups_target_infos();
2329  const auto query_mem_desc = baseline_hash_two_col_desc_large(target_infos, 8);
2330  EvenNumberGenerator gen1;
2331  EvenNumberGenerator gen2;
2332  const int prct1 = 25, prct2 = 75;
2333  bool silent = false; // true/false - don't/do print diagnostic messages
2334  silent = true;
2336  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2337 }
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
QueryMemoryDescriptor baseline_hash_two_col_desc_large(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [64/107]

TEST ( ReduceRandomGroups  ,
BaselineHash_Large_1020   
)

Definition at line 2339 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc_large(), anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2339  {
2340  const auto target_infos = generate_random_groups_target_infos();
2341  const auto query_mem_desc = baseline_hash_two_col_desc_large(target_infos, 8);
2342  EvenNumberGenerator gen1;
2343  EvenNumberGenerator gen2;
2344  const int prct1 = 10, prct2 = 20;
2345  bool silent = false; // true/false - don't/do print diagnostic messages
2346  silent = true;
2348  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2349 }
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
QueryMemoryDescriptor baseline_hash_two_col_desc_large(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [65/107]

TEST ( ReduceRandomGroups  ,
BaselineHash_Large_100100   
)

Definition at line 2351 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc_large(), anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2351  {
2352  const auto target_infos = generate_random_groups_target_infos();
2353  const auto query_mem_desc = baseline_hash_two_col_desc_large(target_infos, 8);
2354  EvenNumberGenerator gen1;
2355  EvenNumberGenerator gen2;
2356  const int prct1 = 100, prct2 = 100;
2357  bool silent = false; // true/false - don't/do print diagnostic messages
2358  silent = true;
2360  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2361 }
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
QueryMemoryDescriptor baseline_hash_two_col_desc_large(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [66/107]

TEST ( ReduceRandomGroups  ,
BaselineHash_Large_2500   
)

Definition at line 2363 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc_large(), anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2363  {
2364  const auto target_infos = generate_random_groups_target_infos();
2365  const auto query_mem_desc = baseline_hash_two_col_desc_large(target_infos, 8);
2366  EvenNumberGenerator gen1;
2367  EvenNumberGenerator gen2;
2368  const int prct1 = 25, prct2 = 0;
2369  bool silent = false; // true/false - don't/do print diagnostic messages
2370  silent = true;
2372  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2373 }
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
QueryMemoryDescriptor baseline_hash_two_col_desc_large(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [67/107]

TEST ( ReduceRandomGroups  ,
BaselineHash_Large_0075   
)

Definition at line 2375 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc_large(), anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2375  {
2376  const auto target_infos = generate_random_groups_target_infos();
2377  const auto query_mem_desc = baseline_hash_two_col_desc_large(target_infos, 8);
2378  EvenNumberGenerator gen1;
2379  EvenNumberGenerator gen2;
2380  const int prct1 = 0, prct2 = 75;
2381  bool silent = false; // true/false - don't/do print diagnostic messages
2382  silent = true;
2384  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2385 }
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
QueryMemoryDescriptor baseline_hash_two_col_desc_large(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [68/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneColColumnar_Small_5050   
)

Definition at line 2388 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2388  {
2389  const auto target_infos = generate_random_groups_target_infos();
2390  auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2391  query_mem_desc.setOutputColumnar(true);
2392  EvenNumberGenerator gen1;
2393  EvenNumberGenerator gen2;
2394  const int prct1 = 50, prct2 = 50;
2395  bool silent = false; // true/false - don't/do print diagnostic messages
2396  silent = true;
2398  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2399 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [69/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneColColumnar_Small_25100   
)

Definition at line 2401 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2401  {
2402  const auto target_infos = generate_random_groups_target_infos();
2403  auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2404  query_mem_desc.setOutputColumnar(true);
2405  EvenNumberGenerator gen1;
2406  EvenNumberGenerator gen2;
2407  const int prct1 = 25, prct2 = 100;
2408  bool silent = false; // true/false - don't/do print diagnostic messages
2409  silent = true;
2411  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2412 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [70/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneColColumnar_Small_10025   
)

Definition at line 2414 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2414  {
2415  const auto target_infos = generate_random_groups_target_infos();
2416  auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2417  query_mem_desc.setOutputColumnar(true);
2418  EvenNumberGenerator gen1;
2419  EvenNumberGenerator gen2;
2420  const int prct1 = 100, prct2 = 25;
2421  bool silent = false; // true/false - don't/do print diagnostic messages
2422  silent = true;
2424  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2425 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [71/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneColColumnar_Small_100100   
)

Definition at line 2427 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2427  {
2428  const auto target_infos = generate_random_groups_target_infos();
2429  auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2430  query_mem_desc.setOutputColumnar(true);
2431  EvenNumberGenerator gen1;
2432  EvenNumberGenerator gen2;
2433  const int prct1 = 100, prct2 = 100;
2434  bool silent = false; // true/false - don't/do print diagnostic messages
2435  silent = true;
2437  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2438 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [72/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneColColumnar_Small_2500   
)

Definition at line 2440 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2440  {
2441  const auto target_infos = generate_random_groups_target_infos();
2442  auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2443  query_mem_desc.setOutputColumnar(true);
2444  EvenNumberGenerator gen1;
2445  EvenNumberGenerator gen2;
2446  const int prct1 = 25, prct2 = 0;
2447  bool silent = false; // true/false - don't/do print diagnostic messages
2448  silent = true;
2450  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2451 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [73/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneColColumnar_Small_0075   
)

Definition at line 2453 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2453  {
2454  const auto target_infos = generate_random_groups_target_infos();
2455  auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2456  query_mem_desc.setOutputColumnar(true);
2457  EvenNumberGenerator gen1;
2458  EvenNumberGenerator gen2;
2459  const int prct1 = 0, prct2 = 75;
2460  bool silent = false; // true/false - don't/do print diagnostic messages
2461  silent = true;
2463  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2464 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [74/107]

TEST ( ReduceRandomGroups  ,
BaselineHashColumnar_Large_5050   
)

Definition at line 2467 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc_large(), anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2467  {
2468  const auto target_infos = generate_random_groups_target_infos();
2469  auto query_mem_desc = baseline_hash_two_col_desc_large(target_infos, 8);
2470  query_mem_desc.setOutputColumnar(true);
2471  EvenNumberGenerator gen1;
2472  EvenNumberGenerator gen2;
2473  const int prct1 = 50, prct2 = 50;
2474  bool silent = false; // true/false - don't/do print diagnostic messages
2475  silent = true;
2477  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2478 }
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
QueryMemoryDescriptor baseline_hash_two_col_desc_large(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [75/107]

TEST ( ReduceRandomGroups  ,
BaselineHashColumnar_Large_25100   
)

Definition at line 2480 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc_large(), anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2480  {
2481  const auto target_infos = generate_random_groups_target_infos();
2482  auto query_mem_desc = baseline_hash_two_col_desc_large(target_infos, 8);
2483  query_mem_desc.setOutputColumnar(true);
2484  EvenNumberGenerator gen1;
2485  EvenNumberGenerator gen2;
2486  const int prct1 = 25, prct2 = 100;
2487  bool silent = false; // true/false - don't/do print diagnostic messages
2488  silent = true;
2490  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2491 }
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
QueryMemoryDescriptor baseline_hash_two_col_desc_large(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [76/107]

TEST ( ReduceRandomGroups  ,
BaselineHashColumnar_Large_10025   
)

Definition at line 2493 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc_large(), anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2493  {
2494  const auto target_infos = generate_random_groups_target_infos();
2495  auto query_mem_desc = baseline_hash_two_col_desc_large(target_infos, 8);
2496  query_mem_desc.setOutputColumnar(true);
2497  EvenNumberGenerator gen1;
2498  EvenNumberGenerator gen2;
2499  const int prct1 = 100, prct2 = 25;
2500  bool silent = false; // true/false - don't/do print diagnostic messages
2501  silent = true;
2503  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2504 }
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
QueryMemoryDescriptor baseline_hash_two_col_desc_large(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [77/107]

TEST ( ReduceRandomGroups  ,
BaselineHashColumnar_Large_100100   
)

Definition at line 2506 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc_large(), anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2506  {
2507  const auto target_infos = generate_random_groups_target_infos();
2508  auto query_mem_desc = baseline_hash_two_col_desc_large(target_infos, 8);
2509  query_mem_desc.setOutputColumnar(true);
2510  EvenNumberGenerator gen1;
2511  EvenNumberGenerator gen2;
2512  const int prct1 = 100, prct2 = 100;
2513  bool silent = false; // true/false - don't/do print diagnostic messages
2514  silent = true;
2516  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2517 }
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
QueryMemoryDescriptor baseline_hash_two_col_desc_large(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [78/107]

TEST ( ReduceRandomGroups  ,
BaselineHashColumnar_Large_2500   
)

Definition at line 2519 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc_large(), anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2519  {
2520  const auto target_infos = generate_random_groups_target_infos();
2521  auto query_mem_desc = baseline_hash_two_col_desc_large(target_infos, 8);
2522  query_mem_desc.setOutputColumnar(true);
2523  EvenNumberGenerator gen1;
2524  EvenNumberGenerator gen2;
2525  const int prct1 = 25, prct2 = 0;
2526  bool silent = false; // true/false - don't/do print diagnostic messages
2527  silent = true;
2529  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2530 }
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
QueryMemoryDescriptor baseline_hash_two_col_desc_large(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [79/107]

TEST ( ReduceRandomGroups  ,
BaselineHashColumnar_Large_0075   
)

Definition at line 2532 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc_large(), anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2532  {
2533  const auto target_infos = generate_random_groups_target_infos();
2534  auto query_mem_desc = baseline_hash_two_col_desc_large(target_infos, 8);
2535  query_mem_desc.setOutputColumnar(true);
2536  EvenNumberGenerator gen1;
2537  EvenNumberGenerator gen2;
2538  const int prct1 = 0, prct2 = 75;
2539  bool silent = false; // true/false - don't/do print diagnostic messages
2540  silent = true;
2542  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent);
2543 }
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
QueryMemoryDescriptor baseline_hash_two_col_desc_large(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
std::vector< TargetInfo > generate_random_groups_target_infos()
+ Here is the call graph for this function:

◆ TEST() [80/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneCol_NullVal_2525   
)

Definition at line 2546 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2546  {
2547  const auto target_infos = generate_random_groups_nullable_target_infos();
2548  const auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2549  EvenNumberGenerator gen1;
2550  EvenNumberGenerator gen2;
2551  const int prct1 = 25, prct2 = 25;
2552  ASSERT_LE(prct1, 100);
2553  ASSERT_LE(prct2, 100);
2554  bool silent = false; // true/false - don't/do print diagnostic messages
2555  silent = true;
2557  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2558 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function:

◆ TEST() [81/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneCol_NullVal_2575   
)

Definition at line 2560 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2560  {
2561  const auto target_infos = generate_random_groups_nullable_target_infos();
2562  const auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2563  EvenNumberGenerator gen1;
2564  EvenNumberGenerator gen2;
2565  const int prct1 = 25, prct2 = 75;
2566  ASSERT_LE(prct1, 100);
2567  ASSERT_LE(prct2, 100);
2568  bool silent = false; // true/false - don't/do print diagnostic messages
2569  silent = true;
2571  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2572 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function:

◆ TEST() [82/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneCol_NullVal_5050   
)

Definition at line 2574 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2574  {
2575  const auto target_infos = generate_random_groups_nullable_target_infos();
2576  const auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2577  EvenNumberGenerator gen1;
2578  EvenNumberGenerator gen2;
2579  const int prct1 = 50, prct2 = 50;
2580  ASSERT_LE(prct1, 100);
2581  ASSERT_LE(prct2, 100);
2582  bool silent = false; // true/false - don't/do print diagnostic messages
2583  silent = true;
2585  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2586 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function:

◆ TEST() [83/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneCol_NullVal_7525   
)

Definition at line 2588 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2588  {
2589  const auto target_infos = generate_random_groups_nullable_target_infos();
2590  const auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2591  EvenNumberGenerator gen1;
2592  EvenNumberGenerator gen2;
2593  const int prct1 = 75, prct2 = 25;
2594  ASSERT_LE(prct1, 100);
2595  ASSERT_LE(prct2, 100);
2596  bool silent = false; // true/false - don't/do print diagnostic messages
2597  silent = true;
2599  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2600 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function:

◆ TEST() [84/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneCol_NullVal_25100   
)

Definition at line 2602 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2602  {
2603  const auto target_infos = generate_random_groups_nullable_target_infos();
2604  const auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2605  EvenNumberGenerator gen1;
2606  EvenNumberGenerator gen2;
2607  const int prct1 = 25, prct2 = 100;
2608  ASSERT_LE(prct1, 100);
2609  ASSERT_LE(prct2, 100);
2610  bool silent = false; // true/false - don't/do print diagnostic messages
2611  silent = true;
2613  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2614 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function:

◆ TEST() [85/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneCol_NullVal_10025   
)

Definition at line 2616 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2616  {
2617  const auto target_infos = generate_random_groups_nullable_target_infos();
2618  const auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2619  EvenNumberGenerator gen1;
2620  EvenNumberGenerator gen2;
2621  const int prct1 = 100, prct2 = 25;
2622  ASSERT_LE(prct1, 100);
2623  ASSERT_LE(prct2, 100);
2624  bool silent = false; // true/false - don't/do print diagnostic messages
2625  silent = true;
2627  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2628 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function:

◆ TEST() [86/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneCol_NullVal_100100   
)

Definition at line 2630 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2630  {
2631  const auto target_infos = generate_random_groups_nullable_target_infos();
2632  const auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2633  EvenNumberGenerator gen1;
2634  EvenNumberGenerator gen2;
2635  const int prct1 = 100, prct2 = 100;
2636  ASSERT_LE(prct1, 100);
2637  ASSERT_LE(prct2, 100);
2638  bool silent = false; // true/false - don't/do print diagnostic messages
2639  silent = true;
2641  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2642 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function:

◆ TEST() [87/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneCol_NullVal_2500   
)

Definition at line 2644 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2644  {
2645  const auto target_infos = generate_random_groups_nullable_target_infos();
2646  const auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2647  EvenNumberGenerator gen1;
2648  EvenNumberGenerator gen2;
2649  const int prct1 = 25, prct2 = 0;
2650  ASSERT_LE(prct1, 100);
2651  ASSERT_LE(prct2, 100);
2652  bool silent = false; // true/false - don't/do print diagnostic messages
2653  silent = true;
2655  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2656 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function:

◆ TEST() [88/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneCol_NullVal_0075   
)

Definition at line 2658 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2658  {
2659  const auto target_infos = generate_random_groups_nullable_target_infos();
2660  const auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2661  EvenNumberGenerator gen1;
2662  EvenNumberGenerator gen2;
2663  const int prct1 = 0, prct2 = 75;
2664  ASSERT_LE(prct1, 100);
2665  ASSERT_LE(prct2, 100);
2666  bool silent = false; // true/false - don't/do print diagnostic messages
2667  silent = true;
2669  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2670 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function:

◆ TEST() [89/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneColColumnar_NullVal_5050   
)

Definition at line 2673 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2673  {
2674  const auto target_infos = generate_random_groups_nullable_target_infos();
2675  auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2676  query_mem_desc.setOutputColumnar(true);
2677  EvenNumberGenerator gen1;
2678  EvenNumberGenerator gen2;
2679  const int prct1 = 50, prct2 = 50;
2680  bool silent = false; // true/false - don't/do print diagnostic messages
2681  silent = true;
2683  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2684 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function:

◆ TEST() [90/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneColColumnar_NullVal_25100   
)

Definition at line 2686 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2686  {
2687  const auto target_infos = generate_random_groups_nullable_target_infos();
2688  auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2689  query_mem_desc.setOutputColumnar(true);
2690  EvenNumberGenerator gen1;
2691  EvenNumberGenerator gen2;
2692  const int prct1 = 25, prct2 = 100;
2693  bool silent = false; // true/false - don't/do print diagnostic messages
2694  silent = true;
2696  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2697 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function:

◆ TEST() [91/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneColColumnar_NullVal_10025   
)

Definition at line 2699 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2699  {
2700  const auto target_infos = generate_random_groups_nullable_target_infos();
2701  auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2702  query_mem_desc.setOutputColumnar(true);
2703  EvenNumberGenerator gen1;
2704  EvenNumberGenerator gen2;
2705  const int prct1 = 100, prct2 = 25;
2706  bool silent = false; // true/false - don't/do print diagnostic messages
2707  silent = true;
2709  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2710 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function:

◆ TEST() [92/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneColColumnar_NullVal_100100   
)

Definition at line 2712 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2712  {
2713  const auto target_infos = generate_random_groups_nullable_target_infos();
2714  auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2715  query_mem_desc.setOutputColumnar(true);
2716  EvenNumberGenerator gen1;
2717  EvenNumberGenerator gen2;
2718  const int prct1 = 100, prct2 = 100;
2719  bool silent = false; // true/false - don't/do print diagnostic messages
2720  silent = true;
2722  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2723 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function:

◆ TEST() [93/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneColColumnar_NullVal_2500   
)

Definition at line 2725 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2725  {
2726  const auto target_infos = generate_random_groups_nullable_target_infos();
2727  auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2728  query_mem_desc.setOutputColumnar(true);
2729  EvenNumberGenerator gen1;
2730  EvenNumberGenerator gen2;
2731  const int prct1 = 25, prct2 = 0;
2732  bool silent = false; // true/false - don't/do print diagnostic messages
2733  silent = true;
2735  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2736 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function:

◆ TEST() [94/107]

TEST ( ReduceRandomGroups  ,
PerfectHashOneColColumnar_NullVal_0075   
)

Definition at line 2738 of file ResultSetTest.cpp.

References anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), perfect_hash_one_col_desc_small(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2738  {
2739  const auto target_infos = generate_random_groups_nullable_target_infos();
2740  auto query_mem_desc = perfect_hash_one_col_desc_small(target_infos, 8);
2741  query_mem_desc.setOutputColumnar(true);
2742  EvenNumberGenerator gen1;
2743  EvenNumberGenerator gen2;
2744  const int prct1 = 0, prct2 = 75;
2745  bool silent = false; // true/false - don't/do print diagnostic messages
2746  silent = true;
2748  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2749 }
QueryMemoryDescriptor perfect_hash_one_col_desc_small(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function:

◆ TEST() [95/107]

TEST ( ReduceRandomGroups  ,
BaselineHash_Large_NullVal_5050   
)

Definition at line 2752 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc_large(), anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2752  {
2753  const auto target_infos = generate_random_groups_nullable_target_infos();
2754  const auto query_mem_desc = baseline_hash_two_col_desc_large(target_infos, 8);
2755  EvenNumberGenerator gen1;
2756  EvenNumberGenerator gen2;
2757  const int prct1 = 50, prct2 = 50;
2758  bool silent = false; // true/false - don't/do print diagnostic messages
2759  silent = true;
2761  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2762 }
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
QueryMemoryDescriptor baseline_hash_two_col_desc_large(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function:

◆ TEST() [96/107]

TEST ( ReduceRandomGroups  ,
BaselineHash_Large_NullVal_7525   
)

Definition at line 2764 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc_large(), anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2764  {
2765  const auto target_infos = generate_random_groups_nullable_target_infos();
2766  const auto query_mem_desc = baseline_hash_two_col_desc_large(target_infos, 8);
2767  EvenNumberGenerator gen1;
2768  EvenNumberGenerator gen2;
2769  const int prct1 = 75, prct2 = 25;
2770  bool silent = false; // true/false - don't/do print diagnostic messages
2771  silent = true;
2773  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2774 }
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
QueryMemoryDescriptor baseline_hash_two_col_desc_large(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function:

◆ TEST() [97/107]

TEST ( ReduceRandomGroups  ,
BaselineHash_Large_NullVal_2575   
)

Definition at line 2776 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc_large(), anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2776  {
2777  const auto target_infos = generate_random_groups_nullable_target_infos();
2778  const auto query_mem_desc = baseline_hash_two_col_desc_large(target_infos, 8);
2779  EvenNumberGenerator gen1;
2780  EvenNumberGenerator gen2;
2781  const int prct1 = 25, prct2 = 75;
2782  bool silent = false; // true/false - don't/do print diagnostic messages
2783  silent = true;
2785  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2786 }
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
QueryMemoryDescriptor baseline_hash_two_col_desc_large(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function:

◆ TEST() [98/107]

TEST ( ReduceRandomGroups  ,
BaselineHash_Large_NullVal_1020   
)

Definition at line 2788 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc_large(), anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2788  {
2789  const auto target_infos = generate_random_groups_nullable_target_infos();
2790  const auto query_mem_desc = baseline_hash_two_col_desc_large(target_infos, 8);
2791  EvenNumberGenerator gen1;
2792  EvenNumberGenerator gen2;
2793  const int prct1 = 10, prct2 = 20;
2794  bool silent = false; // true/false - don't/do print diagnostic messages
2795  silent = true;
2797  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2798 }
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
QueryMemoryDescriptor baseline_hash_two_col_desc_large(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function:

◆ TEST() [99/107]

TEST ( ReduceRandomGroups  ,
BaselineHash_Large_NullVal_100100   
)

Definition at line 2800 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc_large(), anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2800  {
2801  const auto target_infos = generate_random_groups_nullable_target_infos();
2802  const auto query_mem_desc = baseline_hash_two_col_desc_large(target_infos, 8);
2803  EvenNumberGenerator gen1;
2804  EvenNumberGenerator gen2;
2805  const int prct1 = 100, prct2 = 100;
2806  bool silent = false; // true/false - don't/do print diagnostic messages
2807  silent = true;
2809  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2810 }
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
QueryMemoryDescriptor baseline_hash_two_col_desc_large(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function:

◆ TEST() [100/107]

TEST ( ReduceRandomGroups  ,
BaselineHash_Large_NullVal_2500   
)

Definition at line 2812 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc_large(), anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2812  {
2813  const auto target_infos = generate_random_groups_nullable_target_infos();
2814  const auto query_mem_desc = baseline_hash_two_col_desc_large(target_infos, 8);
2815  EvenNumberGenerator gen1;
2816  EvenNumberGenerator gen2;
2817  const int prct1 = 25, prct2 = 0;
2818  bool silent = false; // true/false - don't/do print diagnostic messages
2819  silent = true;
2821  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2822 }
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
QueryMemoryDescriptor baseline_hash_two_col_desc_large(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function:

◆ TEST() [101/107]

TEST ( ReduceRandomGroups  ,
BaselineHash_Large_NullVal_0075   
)

Definition at line 2824 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc_large(), anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2824  {
2825  const auto target_infos = generate_random_groups_nullable_target_infos();
2826  const auto query_mem_desc = baseline_hash_two_col_desc_large(target_infos, 8);
2827  EvenNumberGenerator gen1;
2828  EvenNumberGenerator gen2;
2829  const int prct1 = 0, prct2 = 75;
2830  bool silent = false; // true/false - don't/do print diagnostic messages
2831  silent = true;
2833  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2834 }
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
QueryMemoryDescriptor baseline_hash_two_col_desc_large(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function:

◆ TEST() [102/107]

TEST ( ReduceRandomGroups  ,
BaselineHashColumnar_Large_NullVal_5050   
)

Definition at line 2837 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc_large(), anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2837  {
2838  const auto target_infos = generate_random_groups_nullable_target_infos();
2839  auto query_mem_desc = baseline_hash_two_col_desc_large(target_infos, 8);
2840  query_mem_desc.setOutputColumnar(true);
2841  EvenNumberGenerator gen1;
2842  EvenNumberGenerator gen2;
2843  const int prct1 = 50, prct2 = 50;
2844  bool silent = false; // true/false - don't/do print diagnostic messages
2845  silent = true;
2847  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2848 }
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
QueryMemoryDescriptor baseline_hash_two_col_desc_large(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function:

◆ TEST() [103/107]

TEST ( ReduceRandomGroups  ,
BaselineHashColumnar_Large_NullVal_25100   
)

Definition at line 2850 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc_large(), anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2850  {
2851  const auto target_infos = generate_random_groups_nullable_target_infos();
2852  auto query_mem_desc = baseline_hash_two_col_desc_large(target_infos, 8);
2853  query_mem_desc.setOutputColumnar(true);
2854  EvenNumberGenerator gen1;
2855  EvenNumberGenerator gen2;
2856  const int prct1 = 25, prct2 = 100;
2857  bool silent = false; // true/false - don't/do print diagnostic messages
2858  silent = true;
2860  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2861 }
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
QueryMemoryDescriptor baseline_hash_two_col_desc_large(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function:

◆ TEST() [104/107]

TEST ( ReduceRandomGroups  ,
BaselineHashColumnar_Large_NullVal_10025   
)

Definition at line 2863 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc_large(), anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2863  {
2864  const auto target_infos = generate_random_groups_nullable_target_infos();
2865  auto query_mem_desc = baseline_hash_two_col_desc_large(target_infos, 8);
2866  query_mem_desc.setOutputColumnar(true);
2867  EvenNumberGenerator gen1;
2868  EvenNumberGenerator gen2;
2869  const int prct1 = 100, prct2 = 25;
2870  bool silent = false; // true/false - don't/do print diagnostic messages
2871  silent = true;
2873  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2874 }
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
QueryMemoryDescriptor baseline_hash_two_col_desc_large(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function:

◆ TEST() [105/107]

TEST ( ReduceRandomGroups  ,
BaselineHashColumnar_Large_NullVal_100100   
)

Definition at line 2876 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc_large(), anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2876  {
2877  const auto target_infos = generate_random_groups_nullable_target_infos();
2878  auto query_mem_desc = baseline_hash_two_col_desc_large(target_infos, 8);
2879  query_mem_desc.setOutputColumnar(true);
2880  EvenNumberGenerator gen1;
2881  EvenNumberGenerator gen2;
2882  const int prct1 = 100, prct2 = 100;
2883  bool silent = false; // true/false - don't/do print diagnostic messages
2884  silent = true;
2886  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2887 }
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
QueryMemoryDescriptor baseline_hash_two_col_desc_large(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function:

◆ TEST() [106/107]

TEST ( ReduceRandomGroups  ,
BaselineHashColumnar_Large_NullVal_2500   
)

Definition at line 2889 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc_large(), anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2889  {
2890  const auto target_infos = generate_random_groups_nullable_target_infos();
2891  auto query_mem_desc = baseline_hash_two_col_desc_large(target_infos, 8);
2892  query_mem_desc.setOutputColumnar(true);
2893  EvenNumberGenerator gen1;
2894  EvenNumberGenerator gen2;
2895  const int prct1 = 25, prct2 = 0;
2896  bool silent = false; // true/false - don't/do print diagnostic messages
2897  silent = true;
2899  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2900 }
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
QueryMemoryDescriptor baseline_hash_two_col_desc_large(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function:

◆ TEST() [107/107]

TEST ( ReduceRandomGroups  ,
BaselineHashColumnar_Large_NullVal_0075   
)

Definition at line 2902 of file ResultSetTest.cpp.

References baseline_hash_two_col_desc_large(), anonymous_namespace{ResultSetTest.cpp}::generate_random_groups_nullable_target_infos(), and anonymous_namespace{ResultSetTest.cpp}::test_reduce_random_groups().

2902  {
2903  const auto target_infos = generate_random_groups_nullable_target_infos();
2904  auto query_mem_desc = baseline_hash_two_col_desc_large(target_infos, 8);
2905  query_mem_desc.setOutputColumnar(true);
2906  EvenNumberGenerator gen1;
2907  EvenNumberGenerator gen2;
2908  const int prct1 = 0, prct2 = 75;
2909  bool silent = false; // true/false - don't/do print diagnostic messages
2910  silent = true;
2912  target_infos, query_mem_desc, gen1, gen2, prct1, prct2, silent, 2);
2913 }
void test_reduce_random_groups(const std::vector< TargetInfo > &target_infos, const QueryMemoryDescriptor &query_mem_desc, NumberGenerator &generator1, NumberGenerator &generator2, const int prct1, const int prct2, bool silent, const int flow=0)
QueryMemoryDescriptor baseline_hash_two_col_desc_large(const std::vector< TargetInfo > &target_infos, const int8_t num_bytes)
std::vector< TargetInfo > generate_random_groups_nullable_target_infos()
+ Here is the call graph for this function: