OmniSciDB  ba1bac9284
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ColumnsForDevice Struct Reference

#include <HashJoin.h>

Public Member Functions

void setBucketInfo (const std::vector< double > &bucket_sizes_for_dimension, const std::vector< InnerOuter > inner_outer_pairs)
 

Public Attributes

const std::vector< JoinColumnjoin_columns
 
const std::vector
< JoinColumnTypeInfo
join_column_types
 
const std::vector
< std::shared_ptr
< Chunk_NS::Chunk > > 
chunks_owner
 
std::vector< JoinBucketInfojoin_buckets
 
const std::vector
< std::shared_ptr< void > > 
malloc_owner
 

Detailed Description

Definition at line 78 of file HashJoin.h.

Member Function Documentation

void ColumnsForDevice::setBucketInfo ( const std::vector< double > &  bucket_sizes_for_dimension,
const std::vector< InnerOuter inner_outer_pairs 
)

Definition at line 31 of file HashJoin.cpp.

References CHECK, CHECK_EQ, i, join_buckets, join_column_types, join_columns, and kDOUBLE.

33  {
34  join_buckets.clear();
35 
36  CHECK_EQ(inner_outer_pairs.size(), join_columns.size());
37  CHECK_EQ(join_columns.size(), join_column_types.size());
38  for (size_t i = 0; i < join_columns.size(); i++) {
39  const auto& inner_outer_pair = inner_outer_pairs[i];
40  const auto inner_col = inner_outer_pair.first;
41  const auto& ti = inner_col->get_type_info();
42  const auto elem_ti = ti.get_elem_type();
43  CHECK(elem_ti.is_fp());
44 
45  join_buckets.emplace_back(JoinBucketInfo{inverse_bucket_sizes_for_dimension,
46  elem_ti.get_type() == kDOUBLE});
47  }
48 }
#define CHECK_EQ(x, y)
Definition: Logger.h:214
const std::vector< JoinColumnTypeInfo > join_column_types
Definition: HashJoin.h:80
#define CHECK(condition)
Definition: Logger.h:206
std::vector< JoinBucketInfo > join_buckets
Definition: HashJoin.h:82
const std::vector< JoinColumn > join_columns
Definition: HashJoin.h:79

Member Data Documentation

const std::vector<std::shared_ptr<Chunk_NS::Chunk> > ColumnsForDevice::chunks_owner

Definition at line 81 of file HashJoin.h.

std::vector<JoinBucketInfo> ColumnsForDevice::join_buckets
const std::vector<JoinColumnTypeInfo> ColumnsForDevice::join_column_types
const std::vector<std::shared_ptr<void> > ColumnsForDevice::malloc_owner

Definition at line 83 of file HashJoin.h.


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