OmniSciDB
94e8789169
|
#include <PerfectHashTableBuilder.h>
Public Member Functions | |
PerfectJoinHashTableBuilder (const Catalog_Namespace::Catalog *catalog) | |
void | allocateDeviceMemory (const JoinColumn &join_column, const HashType layout, HashEntryInfo &hash_entry_info, const size_t shard_count, const int device_id, const int device_count) |
void | initOneToOneHashTableOnCpu (const JoinColumn &join_column, const ExpressionRange &col_range, const bool is_bitwise_eq, const InnerOuter &cols, const HashEntryInfo hash_entry_info, const int32_t hash_join_invalid_val, const Executor *executor) |
void | initOneToManyHashTableOnCpu (const JoinColumn &join_column, const ExpressionRange &col_range, const bool is_bitwise_eq, const std::pair< const Analyzer::ColumnVar *, const Analyzer::Expr * > &cols, const HashEntryInfo hash_entry_info, const int32_t hash_join_invalid_val, const Executor *executor) |
std::unique_ptr< PerfectHashTable > | getHashTable () |
Static Public Member Functions | |
static size_t | get_entries_per_shard (const size_t total_entry_count, const size_t shard_count) |
Private Attributes | |
const Catalog_Namespace::Catalog * | catalog_ |
std::unique_ptr< PerfectHashTable > | hash_table_ |
Definition at line 23 of file PerfectHashTableBuilder.h.
|
inline |
Definition at line 25 of file PerfectHashTableBuilder.h.
|
inline |
Definition at line 28 of file PerfectHashTableBuilder.h.
References catalog_, CHECK, CHECK_GT, get_entries_per_shard(), HashEntryInfo::getNormalizedHashEntryCount(), GPU, HashEntryInfo::hash_entry_count, hash_table_, JoinColumn::num_elems, OneToOne, and UNREACHABLE.
Referenced by PerfectJoinHashTable::initHashTableForDevice().
|
inlinestatic |
Definition at line 358 of file PerfectHashTableBuilder.h.
References CHECK_NE.
Referenced by allocateDeviceMemory().
|
inline |
Definition at line 356 of file PerfectHashTableBuilder.h.
References hash_table_.
Referenced by PerfectJoinHashTable::initHashTableForDevice().
|
inline |
Definition at line 270 of file PerfectHashTableBuilder.h.
References catalog_, CHECK, CHECK_EQ, CPU, cpu_threads(), DEBUG_TIMER, fill_one_to_many_hash_table(), fill_one_to_many_hash_table_bucketized(), get_join_column_type_kind(), ExpressionRange::getIntMax(), ExpressionRange::getIntMin(), HashEntryInfo::getNormalizedHashEntryCount(), Executor::getStringDictionaryProxy(), hash_table_, init_hash_join_buff(), inline_fixed_encoding_null_val(), kDATE, kENCODING_DICT, JoinColumn::num_elems, and OneToMany.
Referenced by PerfectJoinHashTable::initHashTableForDevice().
|
inline |
Definition at line 172 of file PerfectHashTableBuilder.h.
References HashEntryInfo::bucket_normalization, catalog_, CHECK, CHECK_EQ, CPU, cpu_threads(), DEBUG_TIMER, fill_hash_join_buff_bucketized(), get_join_column_type_kind(), ExpressionRange::getIntMax(), ExpressionRange::getIntMin(), HashEntryInfo::getNormalizedHashEntryCount(), Executor::getStringDictionaryProxy(), hash_table_, init_hash_join_buff(), inline_fixed_encoding_null_val(), kENCODING_DICT, OneToOne, and generate_TableFunctionsFactory_init::t.
Referenced by PerfectJoinHashTable::initHashTableForDevice().
|
private |
Definition at line 365 of file PerfectHashTableBuilder.h.
Referenced by allocateDeviceMemory(), initOneToManyHashTableOnCpu(), and initOneToOneHashTableOnCpu().
|
private |
Definition at line 367 of file PerfectHashTableBuilder.h.
Referenced by allocateDeviceMemory(), getHashTable(), initOneToManyHashTableOnCpu(), and initOneToOneHashTableOnCpu().