OmniSciDB  04ee39c94c
BaselineJoinHashTable::HashTableCacheKey Struct Reference

#include <BaselineJoinHashTable.h>

Public Member Functions

bool operator== (const struct HashTableCacheKey &that) const
 
bool operator< (const struct HashTableCacheKey &that) const
 

Public Attributes

const size_t num_elements
 
const std::vector< ChunkKeychunk_keys
 
const SQLOps optype
 
const boost::optional< double > overlaps_hashjoin_bucket_threshold
 

Detailed Description

Definition at line 180 of file BaselineJoinHashTable.h.

Member Function Documentation

◆ operator<()

bool BaselineJoinHashTable::HashTableCacheKey::operator< ( const struct HashTableCacheKey that) const
inline

Definition at line 199 of file BaselineJoinHashTable.h.

References chunk_keys, BaselineJoinHashTable::freeHashBufferCpuMemory(), BaselineJoinHashTable::freeHashBufferGpuMemory(), BaselineJoinHashTable::freeHashBufferMemory(), BaselineJoinHashTable::getApproximateTupleCountFromCache(), BaselineJoinHashTable::initHashTableOnCpuFromCache(), BaselineJoinHashTable::isBitwiseEq(), num_elements, optype, overlaps_hashjoin_bucket_threshold, and BaselineJoinHashTable::putHashTableOnCpuToCache().

199  {
200  bool oeq;
201  if (overlaps_hashjoin_bucket_threshold && that.overlaps_hashjoin_bucket_threshold) {
202  oeq = (std::abs(*overlaps_hashjoin_bucket_threshold -
203  *that.overlaps_hashjoin_bucket_threshold) <= 0.00000001);
204  } else {
206  that.overlaps_hashjoin_bucket_threshold);
207  }
208  return num_elements < that.num_elements && chunk_keys < that.chunk_keys &&
209  optype < that.optype && !oeq &&
210  overlaps_hashjoin_bucket_threshold < that.overlaps_hashjoin_bucket_threshold;
211  }
const boost::optional< double > overlaps_hashjoin_bucket_threshold
+ Here is the call graph for this function:

◆ operator==()

bool BaselineJoinHashTable::HashTableCacheKey::operator== ( const struct HashTableCacheKey that) const
inline

Definition at line 186 of file BaselineJoinHashTable.h.

References chunk_keys, num_elements, optype, and overlaps_hashjoin_bucket_threshold.

186  {
187  bool oeq;
188  if (overlaps_hashjoin_bucket_threshold && that.overlaps_hashjoin_bucket_threshold) {
189  oeq = (std::abs(*overlaps_hashjoin_bucket_threshold -
190  *that.overlaps_hashjoin_bucket_threshold) <= 0.00000001);
191  } else {
193  that.overlaps_hashjoin_bucket_threshold);
194  }
195  return num_elements == that.num_elements && chunk_keys == that.chunk_keys &&
196  optype == that.optype && oeq;
197  }
const boost::optional< double > overlaps_hashjoin_bucket_threshold

Member Data Documentation

◆ chunk_keys

const std::vector<ChunkKey> BaselineJoinHashTable::HashTableCacheKey::chunk_keys

Definition at line 182 of file BaselineJoinHashTable.h.

Referenced by operator<(), and operator==().

◆ num_elements

const size_t BaselineJoinHashTable::HashTableCacheKey::num_elements

Definition at line 181 of file BaselineJoinHashTable.h.

Referenced by operator<(), and operator==().

◆ optype

const SQLOps BaselineJoinHashTable::HashTableCacheKey::optype

Definition at line 183 of file BaselineJoinHashTable.h.

Referenced by operator<(), and operator==().

◆ overlaps_hashjoin_bucket_threshold

const boost::optional<double> BaselineJoinHashTable::HashTableCacheKey::overlaps_hashjoin_bucket_threshold

Definition at line 184 of file BaselineJoinHashTable.h.

Referenced by operator<(), and operator==().


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