OmniSciDB  2e3a973ef4
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 210 of file BaselineJoinHashTable.h.

Member Function Documentation

◆ operator<()

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

Definition at line 229 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().

229  {
230  bool oeq;
231  if (overlaps_hashjoin_bucket_threshold && that.overlaps_hashjoin_bucket_threshold) {
232  oeq = (std::abs(*overlaps_hashjoin_bucket_threshold -
233  *that.overlaps_hashjoin_bucket_threshold) <= 0.00000001);
234  } else {
236  that.overlaps_hashjoin_bucket_threshold);
237  }
238  return num_elements < that.num_elements && chunk_keys < that.chunk_keys &&
239  optype < that.optype && !oeq &&
240  overlaps_hashjoin_bucket_threshold < that.overlaps_hashjoin_bucket_threshold;
241  }
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 216 of file BaselineJoinHashTable.h.

References chunk_keys, num_elements, optype, and overlaps_hashjoin_bucket_threshold.

216  {
217  bool oeq;
218  if (overlaps_hashjoin_bucket_threshold && that.overlaps_hashjoin_bucket_threshold) {
219  oeq = (std::abs(*overlaps_hashjoin_bucket_threshold -
220  *that.overlaps_hashjoin_bucket_threshold) <= 0.00000001);
221  } else {
223  that.overlaps_hashjoin_bucket_threshold);
224  }
225  return num_elements == that.num_elements && chunk_keys == that.chunk_keys &&
226  optype == that.optype && oeq;
227  }
const boost::optional< double > overlaps_hashjoin_bucket_threshold

Member Data Documentation

◆ chunk_keys

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

◆ num_elements

const size_t BaselineJoinHashTable::HashTableCacheKey::num_elements

Definition at line 211 of file BaselineJoinHashTable.h.

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

◆ optype

const SQLOps BaselineJoinHashTable::HashTableCacheKey::optype

Definition at line 213 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 214 of file BaselineJoinHashTable.h.

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


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