OmniSciDB  85c2d10cdc
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros 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 543 of file HashJoin.cpp.

References Analyzer::BinOper::get_left_operand(), Analyzer::BinOper::get_right_operand(), and normalize_column_pair().

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

545  {
546  const auto lhs = qual_bin_oper->get_left_operand();
547  const auto rhs = qual_bin_oper->get_right_operand();
548  return normalize_column_pair(lhs, rhs, cat, temporary_tables);
549 }
const Expr * get_right_operand() const
Definition: Analyzer.h:443
InnerOuter normalize_column_pair(const Analyzer::Expr *lhs, const Analyzer::Expr *rhs, const Catalog_Namespace::Catalog &cat, const TemporaryTables *temporary_tables, const bool is_overlaps_join)
Definition: HashJoin.cpp:570
const Expr * get_left_operand() const
Definition: Analyzer.h:442

+ 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 }
int64_t getJoinHashBuffer(const ExecutorDeviceType device_type, const int device_id) const
Definition: HashJoin.h:233
std::string to_string(char const *&&v)
size_t getJoinHashBufferSize(const ExecutorDeviceType device_type)
Definition: HashJoin.h:219

+ Here is the call graph for this function: