OmniSciDB  72c90bc290
 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 TemporaryTables *temporary_tables)
 

Function Documentation

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

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

1076  {
1077  const auto lhs = qual_bin_oper->get_left_operand();
1078  const auto rhs = qual_bin_oper->get_right_operand();
1079  return HashJoin::normalizeColumnPair(lhs, rhs, temporary_tables).first;
1080 }
const Expr * get_right_operand() const
Definition: Analyzer.h:456
static std::pair< InnerOuter, InnerOuterStringOpInfos > normalizeColumnPair(const Analyzer::Expr *lhs, const Analyzer::Expr *rhs, const TemporaryTables *temporary_tables, const bool is_bbox_intersect=false)
Definition: HashJoin.cpp:822
const Expr * get_left_operand() const
Definition: Analyzer.h:455

+ 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 100 of file HashJoin.cpp.

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

102  {
103  auto mem =
104  reinterpret_cast<const T*>(hash_table->getJoinHashBuffer(device_type, device_id));
105  auto memsz = hash_table->getJoinHashBufferSize(device_type, device_id) / sizeof(T);
106  std::string txt;
107  for (size_t i = 0; i < memsz; ++i) {
108  if (i > 0) {
109  txt += ", ";
110  }
111  txt += std::to_string(mem[i]);
112  }
113  return txt;
114 }
std::string to_string(char const *&&v)
int8_t * getJoinHashBuffer(const ExecutorDeviceType device_type, const int device_id) const
Definition: HashJoin.h:314
size_t getJoinHashBufferSize(const ExecutorDeviceType device_type)
Definition: HashJoin.h:300

+ Here is the call graph for this function: