OmniSciDB  72c90bc290
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
BaselineHashTableEntryInfo Class Reference

#include <BaselineHashTable.h>

+ Inheritance diagram for BaselineHashTableEntryInfo:
+ Collaboration diagram for BaselineHashTableEntryInfo:

Public Member Functions

 BaselineHashTableEntryInfo (size_t num_hash_entries, size_t num_keys, size_t rowid_size_in_bytes, size_t num_join_keys, size_t join_key_size_in_byte, HashType layout, bool for_window_framing=false)
 
size_t computeTotalNumSlots () const override
 
size_t computeKeySize () const
 
size_t computeNumAdditionalSlotsForOneToManyJoin () const
 
size_t computeHashTableSize () const override
 
size_t getNumJoinKeys () const
 
size_t getJoinKeysSize () const
 

Private Attributes

size_t const num_join_keys_
 
size_t const join_key_size_in_byte_
 

Additional Inherited Members

Detailed Description

Definition at line 26 of file BaselineHashTable.h.

Constructor & Destructor Documentation

BaselineHashTableEntryInfo::BaselineHashTableEntryInfo ( size_t  num_hash_entries,
size_t  num_keys,
size_t  rowid_size_in_bytes,
size_t  num_join_keys,
size_t  join_key_size_in_byte,
HashType  layout,
bool  for_window_framing = false 
)
inline

Definition at line 28 of file BaselineHashTable.h.

35  : HashTableEntryInfo(num_hash_entries,
36  num_keys,
37  rowid_size_in_bytes,
38  layout,
39  for_window_framing)
40  , num_join_keys_(num_join_keys)
41  , join_key_size_in_byte_(join_key_size_in_byte) {}
size_t const num_join_keys_
HashTableEntryInfo(size_t num_hash_entries, size_t num_keys, size_t rowid_size_in_bytes, HashType layout, bool for_window_framing=false)
Definition: HashTable.h:36
size_t const join_key_size_in_byte_

Member Function Documentation

size_t BaselineHashTableEntryInfo::computeHashTableSize ( ) const
inlineoverridevirtual

Implements HashTableEntryInfo.

Definition at line 56 of file BaselineHashTable.h.

References computeKeySize(), computeNumAdditionalSlotsForOneToManyJoin(), computeTotalNumSlots(), and HashTableEntryInfo::rowid_size_in_bytes_.

Referenced by BaselineJoinHashTableBuilder::allocateDeviceMemory(), BaselineHashTable::BaselineHashTable(), BaselineHashTable::getHashTableBufferSize(), and BaselineJoinHashTableBuilder::initHashTableOnCpu().

56  {
59  }
size_t computeKeySize() const
size_t computeNumAdditionalSlotsForOneToManyJoin() const
size_t computeTotalNumSlots() const override
size_t rowid_size_in_bytes_
Definition: HashTable.h:67

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

size_t BaselineHashTableEntryInfo::computeKeySize ( ) const
inline

Definition at line 45 of file BaselineHashTable.h.

References join_key_size_in_byte_, HashTableEntryInfo::layout_, num_join_keys_, and OneToOne.

Referenced by computeHashTableSize(), and BaselineJoinHashTableBuilder::initHashTableOnGpu().

45  {
46  auto const entry_cnt = (num_join_keys_ + (layout_ == HashType::OneToOne ? 1 : 0));
47  return entry_cnt * join_key_size_in_byte_;
48  }
size_t const num_join_keys_
size_t const join_key_size_in_byte_
HashType layout_
Definition: HashTable.h:68

+ Here is the caller graph for this function:

size_t BaselineHashTableEntryInfo::computeNumAdditionalSlotsForOneToManyJoin ( ) const
inline

Definition at line 50 of file BaselineHashTable.h.

References HashTableEntryInfo::for_window_framing_, HashTableEntryInfo::layout_, HashJoin::layoutRequiresAdditionalBuffers(), HashTableEntryInfo::num_hash_entries_, and HashTableEntryInfo::num_keys_.

Referenced by computeHashTableSize().

50  {
53  : 0;
54  }
size_t num_hash_entries_
Definition: HashTable.h:65
size_t num_keys_
Definition: HashTable.h:66
bool for_window_framing_
Definition: HashTable.h:69
HashType layout_
Definition: HashTable.h:68
static bool layoutRequiresAdditionalBuffers(HashType layout) noexcept
Definition: HashJoin.h:175

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

size_t BaselineHashTableEntryInfo::computeTotalNumSlots ( ) const
inlineoverridevirtual

Implements HashTableEntryInfo.

Definition at line 43 of file BaselineHashTable.h.

References HashTableEntryInfo::num_hash_entries_.

Referenced by computeHashTableSize().

43 { return num_hash_entries_; }
size_t num_hash_entries_
Definition: HashTable.h:65

+ Here is the caller graph for this function:

size_t BaselineHashTableEntryInfo::getJoinKeysSize ( ) const
inline

Definition at line 63 of file BaselineHashTable.h.

References join_key_size_in_byte_.

Referenced by BaselineJoinHashTableBuilder::initHashTableOnGpu().

63 { return join_key_size_in_byte_; }
size_t const join_key_size_in_byte_

+ Here is the caller graph for this function:

size_t BaselineHashTableEntryInfo::getNumJoinKeys ( ) const
inline

Definition at line 61 of file BaselineHashTable.h.

References num_join_keys_.

Referenced by BaselineJoinHashTableBuilder::initHashTableOnGpu().

61 { return num_join_keys_; }
size_t const num_join_keys_

+ Here is the caller graph for this function:

Member Data Documentation

size_t const BaselineHashTableEntryInfo::join_key_size_in_byte_
private

Definition at line 67 of file BaselineHashTable.h.

Referenced by computeKeySize(), and getJoinKeysSize().

size_t const BaselineHashTableEntryInfo::num_join_keys_
private

Definition at line 66 of file BaselineHashTable.h.

Referenced by computeKeySize(), and getNumJoinKeys().


The documentation for this class was generated from the following file: