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

#include <HashTable.h>

+ Inheritance diagram for HashTableEntryInfo:

Public Member Functions

 HashTableEntryInfo (size_t num_hash_entries, size_t num_keys, size_t rowid_size_in_bytes, HashType layout, bool for_window_framing=false)
 
virtual size_t computeTotalNumSlots () const =0
 
virtual size_t computeHashTableSize () const =0
 
size_t getNumHashEntries () const
 
size_t getNumKeys () const
 
size_t getRowIdSizeInBytes () const
 
HashType getHashTableLayout () const
 
void setNumHashEntries (size_t num_hash_entries)
 
void setNumKeys (size_t num_keys)
 
void setRowIdSizeInBytes (size_t rowid_size_in_bytes)
 
void setHashTableLayout (HashType layout)
 
bool forWindowFraming () const
 

Protected Attributes

size_t num_hash_entries_
 
size_t num_keys_
 
size_t rowid_size_in_bytes_
 
HashType layout_
 
bool for_window_framing_
 

Detailed Description

Definition at line 34 of file HashTable.h.

Constructor & Destructor Documentation

HashTableEntryInfo::HashTableEntryInfo ( size_t  num_hash_entries,
size_t  num_keys,
size_t  rowid_size_in_bytes,
HashType  layout,
bool  for_window_framing = false 
)
inline

Definition at line 36 of file HashTable.h.

41  : num_hash_entries_(num_hash_entries)
42  , num_keys_(num_keys)
43  , rowid_size_in_bytes_(rowid_size_in_bytes)
44  , layout_(layout)
45  , for_window_framing_(for_window_framing) {}
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
size_t rowid_size_in_bytes_
Definition: HashTable.h:67

Member Function Documentation

virtual size_t HashTableEntryInfo::computeHashTableSize ( ) const
pure virtual
virtual size_t HashTableEntryInfo::computeTotalNumSlots ( ) const
pure virtual
bool HashTableEntryInfo::forWindowFraming ( ) const
inline

Definition at line 62 of file HashTable.h.

References for_window_framing_.

62 { return for_window_framing_; }
bool for_window_framing_
Definition: HashTable.h:69
HashType HashTableEntryInfo::getHashTableLayout ( ) const
inline

Definition at line 53 of file HashTable.h.

References layout_.

Referenced by BaselineHashTable::BaselineHashTable(), PerfectHashTable::getLayout(), BaselineHashTable::getLayout(), RangeJoinHashTable::initHashTableOnCpu(), BoundingBoxIntersectJoinHashTable::initHashTableOnCpu(), BaselineJoinHashTableBuilder::initHashTableOnCpu(), BaselineJoinHashTableBuilder::initHashTableOnGpu(), and PerfectHashTable::printInitLog().

53 { return layout_; }
HashType layout_
Definition: HashTable.h:68

+ Here is the caller graph for this function:

size_t HashTableEntryInfo::getNumHashEntries ( ) const
inline

Definition at line 50 of file HashTable.h.

References num_hash_entries_.

Referenced by BaselineHashTable::BaselineHashTable(), PerfectHashTable::getEntryCount(), BaselineHashTable::getEntryCount(), BaselineJoinHashTableBuilder::initHashTableOnGpu(), and PerfectHashTable::printInitLog().

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

+ Here is the caller graph for this function:

size_t HashTableEntryInfo::getNumKeys ( ) const
inline

Definition at line 51 of file HashTable.h.

References num_keys_.

Referenced by BaselineHashTable::BaselineHashTable(), PerfectHashTable::getEmittedKeysCount(), BaselineHashTable::getEmittedKeysCount(), BaselineJoinHashTableBuilder::initHashTableOnGpu(), PerfectJoinHashTableBuilder::initOneToManyHashTableOnCpu(), PerfectJoinHashTableBuilder::initOneToOneHashTableOnCpu(), and PerfectHashTable::printInitLog().

51 { return num_keys_; }
size_t num_keys_
Definition: HashTable.h:66

+ Here is the caller graph for this function:

size_t HashTableEntryInfo::getRowIdSizeInBytes ( ) const
inline

Definition at line 52 of file HashTable.h.

References rowid_size_in_bytes_.

Referenced by PerfectHashTable::allocateGpuMemory(), BaselineHashTable::BaselineHashTable(), PerfectHashTable::getRowIdSize(), and BaselineHashTable::getRowIdSize().

52 { return rowid_size_in_bytes_; }
size_t rowid_size_in_bytes_
Definition: HashTable.h:67

+ Here is the caller graph for this function:

void HashTableEntryInfo::setHashTableLayout ( HashType  layout)
inline

Definition at line 61 of file HashTable.h.

References layout_.

61 { layout_ = layout; }
HashType layout_
Definition: HashTable.h:68
void HashTableEntryInfo::setNumHashEntries ( size_t  num_hash_entries)
inline

Definition at line 54 of file HashTable.h.

References num_hash_entries_.

Referenced by PerfectJoinHashTableBuilder::allocateDeviceMemory().

54  {
55  num_hash_entries_ = num_hash_entries;
56  }
size_t num_hash_entries_
Definition: HashTable.h:65

+ Here is the caller graph for this function:

void HashTableEntryInfo::setNumKeys ( size_t  num_keys)
inline

Definition at line 57 of file HashTable.h.

References num_keys_.

57 { num_keys_ = num_keys; }
size_t num_keys_
Definition: HashTable.h:66
void HashTableEntryInfo::setRowIdSizeInBytes ( size_t  rowid_size_in_bytes)
inline

Definition at line 58 of file HashTable.h.

References rowid_size_in_bytes_.

58  {
59  rowid_size_in_bytes_ = rowid_size_in_bytes;
60  }
size_t rowid_size_in_bytes_
Definition: HashTable.h:67

Member Data Documentation

bool HashTableEntryInfo::for_window_framing_
protected
size_t HashTableEntryInfo::rowid_size_in_bytes_
protected

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