OmniSciDB  471d68cefb
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
anonymous_namespace{HashJoin.cpp} Namespace Reference

Functions

template<typename T >
std::string toStringFlat (const HashJoin *hash_table, const ExecutorDeviceType device_type, const int device_id)
 
InnerOuter get_cols (const Analyzer::BinOper *qual_bin_oper, const Catalog_Namespace::Catalog &cat, const TemporaryTables *temporary_tables)
 

Function Documentation

InnerOuter anonymous_namespace{HashJoin.cpp}::get_cols ( const Analyzer::BinOper qual_bin_oper,
const Catalog_Namespace::Catalog cat,
const TemporaryTables temporary_tables 
)

Definition at line 780 of file HashJoin.cpp.

References Analyzer::BinOper::get_left_operand(), Analyzer::BinOper::get_right_operand(), and HashJoin::normalizeColumnPair().

Referenced by PerfectJoinHashTable::codegenMatchingSet(), PerfectJoinHashTable::codegenSlot(), get_shard_count(), PerfectJoinHashTable::getInstance(), and PerfectJoinHashTable::reify().

782  {
783  const auto lhs = qual_bin_oper->get_left_operand();
784  const auto rhs = qual_bin_oper->get_right_operand();
785  return HashJoin::normalizeColumnPair(lhs, rhs, cat, temporary_tables);
786 }
const Expr * get_right_operand() const
Definition: Analyzer.h:442
static InnerOuter normalizeColumnPair(const Analyzer::Expr *lhs, const Analyzer::Expr *rhs, const Catalog_Namespace::Catalog &cat, const TemporaryTables *temporary_tables, const bool is_overlaps_join=false)
Definition: HashJoin.cpp:603
const Expr * get_left_operand() const
Definition: Analyzer.h:441

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename T >
std::string anonymous_namespace{HashJoin.cpp}::toStringFlat ( const HashJoin hash_table,
const ExecutorDeviceType  device_type,
const int  device_id 
)

Definition at line 94 of file HashJoin.cpp.

References HashJoin::getJoinHashBuffer(), HashJoin::getJoinHashBufferSize(), i, omnisci.dtypes::T, and to_string().

96  {
97  auto mem =
98  reinterpret_cast<const T*>(hash_table->getJoinHashBuffer(device_type, device_id));
99  auto memsz = hash_table->getJoinHashBufferSize(device_type, device_id) / sizeof(T);
100  std::string txt;
101  for (size_t i = 0; i < memsz; ++i) {
102  if (i > 0) {
103  txt += ", ";
104  }
105  txt += std::to_string(mem[i]);
106  }
107  return txt;
108 }
std::string to_string(char const *&&v)
int8_t * getJoinHashBuffer(const ExecutorDeviceType device_type, const int device_id) const
Definition: HashJoin.h:258
size_t getJoinHashBufferSize(const ExecutorDeviceType device_type)
Definition: HashJoin.h:244

+ Here is the call graph for this function: