@@ -420,14 +420,14 @@ void ResultSetEmulator::rse_fill_storage_buffer_perfect_hash_rowwise(
420
420
// exersized for null_val test
421
421
rs_values[i] = -1 ;
422
422
key_buff = fill_one_entry_no_collisions (
423
- entries_buff, rs_query_mem_desc, v, rs_target_infos, false , true );
423
+ entries_buff, rs_query_mem_desc, v, rs_target_infos, 0 , false , true );
424
424
} else {
425
425
key_buff = fill_one_entry_no_collisions (
426
- entries_buff, rs_query_mem_desc, v, rs_target_infos, false , false );
426
+ entries_buff, rs_query_mem_desc, v, rs_target_infos, 0 , false , false );
427
427
}
428
428
} else {
429
429
key_buff = fill_one_entry_no_collisions (
430
- entries_buff, rs_query_mem_desc, v, rs_target_infos, false );
430
+ entries_buff, rs_query_mem_desc, v, rs_target_infos, 0 , false );
431
431
}
432
432
} else {
433
433
auto key_buff_i64 = reinterpret_cast <int64_t *>(key_buff);
@@ -441,10 +441,10 @@ void ResultSetEmulator::rse_fill_storage_buffer_perfect_hash_rowwise(
441
441
rs_values[i] = -1 ;
442
442
}
443
443
key_buff = fill_one_entry_no_collisions (
444
- entries_buff, rs_query_mem_desc, 0xdeadbeef , rs_target_infos, true , true );
444
+ entries_buff, rs_query_mem_desc, 0xdeadbeef , rs_target_infos, 0 , true , true );
445
445
} else {
446
446
key_buff = fill_one_entry_no_collisions (
447
- entries_buff, rs_query_mem_desc, 0xdeadbeef , rs_target_infos, true );
447
+ entries_buff, rs_query_mem_desc, 0xdeadbeef , rs_target_infos, 0 , true );
448
448
}
449
449
}
450
450
}
@@ -562,10 +562,10 @@ void ResultSetEmulator::rse_fill_storage_buffer_baseline_rowwise(
562
562
if ((rs_flow == 2 ) &&
563
563
(i >= rs_entry_count - 4 )) { // null_val test-cases: last four rows
564
564
rs_values[i] = -1 ;
565
- fill_one_entry_baseline (value_slots, v, rs_target_infos, false , true );
565
+ fill_one_entry_baseline (value_slots, v, rs_target_infos, 0 , false , true );
566
566
} else {
567
567
rs_values[i] = v;
568
- fill_one_entry_baseline (value_slots, v, rs_target_infos, false , false );
568
+ fill_one_entry_baseline (value_slots, v, rs_target_infos, 0 , false , false );
569
569
}
570
570
}
571
571
}
@@ -886,8 +886,12 @@ void test_iterate(const std::vector<TargetInfo>& target_infos,
886
886
}
887
887
const auto storage = result_set.allocateStorage ();
888
888
EvenNumberGenerator generator;
889
- fill_storage_buffer (
890
- storage->getUnderlyingBuffer (), target_infos, query_mem_desc, generator, 2 );
889
+ fill_storage_buffer (storage->getUnderlyingBuffer (),
890
+ target_infos,
891
+ query_mem_desc,
892
+ generator,
893
+ sdp->getBaseGeneration (),
894
+ 2 );
891
895
int64_t ref_val{0 };
892
896
while (true ) {
893
897
const auto row = result_set.getNextRow (true , false );
@@ -1010,7 +1014,7 @@ void run_reduction(const std::vector<TargetInfo>& target_infos,
1010
1014
auto executor = Executor::getExecutor (getDataMgr ());
1011
1015
const auto row_set_mem_owner = std::make_shared<RowSetMemoryOwner>(
1012
1016
g_data_provider.get (), Executor::getArenaBlockSize ());
1013
- row_set_mem_owner->addStringDict (g_sd, 1 , g_sd->storageEntryCount ());
1017
+ auto sdp = row_set_mem_owner->addStringDict (g_sd, 1 , g_sd->storageEntryCount ());
1014
1018
const auto rs1 = std::make_unique<ResultSet>(target_infos,
1015
1019
ExecutorDeviceType::CPU,
1016
1020
query_mem_desc,
@@ -1019,8 +1023,12 @@ void run_reduction(const std::vector<TargetInfo>& target_infos,
1019
1023
0 ,
1020
1024
0 );
1021
1025
storage1 = rs1->allocateStorage ();
1022
- fill_storage_buffer (
1023
- storage1->getUnderlyingBuffer (), target_infos, query_mem_desc, generator1, step);
1026
+ fill_storage_buffer (storage1->getUnderlyingBuffer (),
1027
+ target_infos,
1028
+ query_mem_desc,
1029
+ generator1,
1030
+ sdp->getBaseGeneration (),
1031
+ step);
1024
1032
const auto rs2 = std::make_unique<ResultSet>(target_infos,
1025
1033
ExecutorDeviceType::CPU,
1026
1034
query_mem_desc,
@@ -1029,8 +1037,12 @@ void run_reduction(const std::vector<TargetInfo>& target_infos,
1029
1037
0 ,
1030
1038
0 );
1031
1039
storage2 = rs2->allocateStorage ();
1032
- fill_storage_buffer (
1033
- storage2->getUnderlyingBuffer (), target_infos, query_mem_desc, generator2, step);
1040
+ fill_storage_buffer (storage2->getUnderlyingBuffer (),
1041
+ target_infos,
1042
+ query_mem_desc,
1043
+ generator2,
1044
+ sdp->getBaseGeneration (),
1045
+ step);
1034
1046
ResultSetManager rs_manager;
1035
1047
std::vector<ResultSet*> storage_set{rs1.get (), rs2.get ()};
1036
1048
rs_manager.reduce (storage_set, config (), executor.get ());
@@ -1048,7 +1060,7 @@ void test_reduce(const std::vector<TargetInfo>& target_infos,
1048
1060
auto executor = Executor::getExecutor (getDataMgr ());
1049
1061
const auto row_set_mem_owner = std::make_shared<RowSetMemoryOwner>(
1050
1062
g_data_provider.get (), Executor::getArenaBlockSize ());
1051
- row_set_mem_owner->addStringDict (g_sd, 1 , g_sd->storageEntryCount ());
1063
+ auto sdp = row_set_mem_owner->addStringDict (g_sd, 1 , g_sd->storageEntryCount ());
1052
1064
const auto rs1 = std::make_unique<ResultSet>(target_infos,
1053
1065
ExecutorDeviceType::CPU,
1054
1066
query_mem_desc,
@@ -1057,8 +1069,12 @@ void test_reduce(const std::vector<TargetInfo>& target_infos,
1057
1069
0 ,
1058
1070
0 );
1059
1071
storage1 = rs1->allocateStorage ();
1060
- fill_storage_buffer (
1061
- storage1->getUnderlyingBuffer (), target_infos, query_mem_desc, generator1, step);
1072
+ fill_storage_buffer (storage1->getUnderlyingBuffer (),
1073
+ target_infos,
1074
+ query_mem_desc,
1075
+ generator1,
1076
+ sdp->getBaseGeneration (),
1077
+ step);
1062
1078
const auto rs2 = std::make_unique<ResultSet>(target_infos,
1063
1079
ExecutorDeviceType::CPU,
1064
1080
query_mem_desc,
@@ -1067,8 +1083,12 @@ void test_reduce(const std::vector<TargetInfo>& target_infos,
1067
1083
0 ,
1068
1084
0 );
1069
1085
storage2 = rs2->allocateStorage ();
1070
- fill_storage_buffer (
1071
- storage2->getUnderlyingBuffer (), target_infos, query_mem_desc, generator2, step);
1086
+ fill_storage_buffer (storage2->getUnderlyingBuffer (),
1087
+ target_infos,
1088
+ query_mem_desc,
1089
+ generator2,
1090
+ sdp->getBaseGeneration (),
1091
+ step);
1072
1092
ResultSetManager rs_manager;
1073
1093
std::vector<ResultSet*> storage_set{rs1.get (), rs2.get ()};
1074
1094
auto result_rs = rs_manager.reduce (storage_set, config (), executor.get ());
0 commit comments