OmniSciDB  fe05a0c208
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
BaselineHashTableBuilder.h File Reference
+ Include dependency graph for BaselineHashTableBuilder.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  BaselineJoinHashTableBuilder
 

Functions

template<typename SIZE , class KEY_HANDLER , typename std::enable_if< sizeof(SIZE)==4, SIZE >::type * = nullptr>
int fill_baseline_hash_join_buff (int8_t *hash_buff, const size_t entry_count, const int32_t invalid_slot_val, const size_t key_component_count, const bool with_val_slot, const KEY_HANDLER *key_handler, const size_t num_elems, const int32_t cpu_thread_idx, const int32_t cpu_thread_count)
 
template<typename SIZE , class KEY_HANDLER , typename std::enable_if< sizeof(SIZE)==4, SIZE >::type * = nullptr>
void fill_baseline_hash_join_buff_on_device (int8_t *hash_buff, const size_t entry_count, const int32_t invalid_slot_val, const size_t key_component_count, const bool with_val_slot, int *dev_err_buff, const KEY_HANDLER *key_handler, const size_t num_elems)
 
template<typename SIZE , class KEY_HANDLER , typename std::enable_if< sizeof(SIZE)==4, SIZE >::type * = nullptr>
void fill_one_to_many_baseline_hash_table_on_device (int32_t *buff, const SIZE *composite_key_dict, const size_t hash_entry_count, const int32_t invalid_slot_val, const size_t key_component_count, const KEY_HANDLER *key_handler, const size_t num_elems)
 

Function Documentation

template<typename SIZE , class KEY_HANDLER , typename std::enable_if< sizeof(SIZE)==4, SIZE >::type * = nullptr>
int fill_baseline_hash_join_buff ( int8_t *  hash_buff,
const size_t  entry_count,
const int32_t  invalid_slot_val,
const size_t  key_component_count,
const bool  with_val_slot,
const KEY_HANDLER *  key_handler,
const size_t  num_elems,
const int32_t  cpu_thread_idx,
const int32_t  cpu_thread_count 
)

Definition at line 29 of file BaselineHashTableBuilder.h.

References fill_baseline_hash_join_buff_32(), and overlaps_fill_baseline_hash_join_buff_32().

Referenced by fill_baseline_hash_join_buff_wrapper().

37  {
38  if constexpr (std::is_same<KEY_HANDLER, GenericKeyHandler>::value) {
39  return fill_baseline_hash_join_buff_32(hash_buff,
40  entry_count,
41  invalid_slot_val,
42  key_component_count,
43  with_val_slot,
44  key_handler,
45  num_elems,
46  cpu_thread_idx,
47  cpu_thread_count);
48  } else {
49  static_assert(std::is_same<KEY_HANDLER, OverlapsKeyHandler>::value,
50  "Only Generic or Overlaps Key Handlers are supported.");
52  entry_count,
53  invalid_slot_val,
54  key_component_count,
55  with_val_slot,
56  key_handler,
57  num_elems,
58  cpu_thread_idx,
59  cpu_thread_count);
60  }
61 }
int overlaps_fill_baseline_hash_join_buff_32(int8_t *hash_buff, const int64_t entry_count, const int32_t invalid_slot_val, const size_t key_component_count, const bool with_val_slot, const OverlapsKeyHandler *key_handler, const int64_t num_elems, const int32_t cpu_thread_idx, const int32_t cpu_thread_count)
int fill_baseline_hash_join_buff_32(int8_t *hash_buff, const int64_t entry_count, const int32_t invalid_slot_val, const size_t key_component_count, const bool with_val_slot, const GenericKeyHandler *key_handler, const int64_t num_elems, const int32_t cpu_thread_idx, const int32_t cpu_thread_count)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename SIZE , class KEY_HANDLER , typename std::enable_if< sizeof(SIZE)==4, SIZE >::type * = nullptr>
void fill_baseline_hash_join_buff_on_device ( int8_t *  hash_buff,
const size_t  entry_count,
const int32_t  invalid_slot_val,
const size_t  key_component_count,
const bool  with_val_slot,
int *  dev_err_buff,
const KEY_HANDLER *  key_handler,
const size_t  num_elems 
)

Definition at line 103 of file BaselineHashTableBuilder.h.

References logger::FATAL, fill_baseline_hash_join_buff_on_device_32(), and LOG.

110  {
111  if constexpr (std::is_same<KEY_HANDLER, GenericKeyHandler>::value) {
113  entry_count,
114  invalid_slot_val,
115  key_component_count,
116  with_val_slot,
117  dev_err_buff,
118  key_handler,
119  num_elems);
120  } else {
121  static_assert(std::is_same<KEY_HANDLER, OverlapsKeyHandler>::value,
122  "Only Generic or Overlaps Key Handlers are supported.");
123  LOG(FATAL) << "32-bit keys not yet supported for overlaps join.";
124  }
125 }
#define LOG(tag)
Definition: Logger.h:194
void fill_baseline_hash_join_buff_on_device_32(int8_t *hash_buff, const int64_t entry_count, const int32_t invalid_slot_val, const size_t key_component_count, const bool with_val_slot, int *dev_err_buff, const GenericKeyHandler *key_handler, const int64_t num_elems)

+ Here is the call graph for this function:

template<typename SIZE , class KEY_HANDLER , typename std::enable_if< sizeof(SIZE)==4, SIZE >::type * = nullptr>
void fill_one_to_many_baseline_hash_table_on_device ( int32_t *  buff,
const SIZE *  composite_key_dict,
const size_t  hash_entry_count,
const int32_t  invalid_slot_val,
const size_t  key_component_count,
const KEY_HANDLER *  key_handler,
const size_t  num_elems 
)

Definition at line 164 of file BaselineHashTableBuilder.h.

References logger::FATAL, fill_one_to_many_baseline_hash_table_on_device_32(), and LOG.

170  {
171  if constexpr (std::is_same<KEY_HANDLER, GenericKeyHandler>::value) {
173  composite_key_dict,
174  hash_entry_count,
175  invalid_slot_val,
176  key_component_count,
177  key_handler,
178  num_elems);
179  } else {
180  static_assert(std::is_same<KEY_HANDLER, OverlapsKeyHandler>::value,
181  "Only Generic or Overlaps Key Handlers are supported.");
182  LOG(FATAL) << "32-bit keys not yet supported for overlaps join.";
183  }
184 }
void fill_one_to_many_baseline_hash_table_on_device_32(int32_t *buff, const int32_t *composite_key_dict, const int64_t hash_entry_count, const int32_t invalid_slot_val, const size_t key_component_count, const GenericKeyHandler *key_handler, const int64_t num_elems)
#define LOG(tag)
Definition: Logger.h:194

+ Here is the call graph for this function: