-
Notifications
You must be signed in to change notification settings - Fork 14
Conversation
164d7d5
to
c6c7e7a
Compare
@@ -146,8 +146,8 @@ JoinColumn ColumnFetcher::makeJoinColumn( | |||
data_provider, | |||
column_cache); | |||
if (col_buff != nullptr) { | |||
join_chunk_array[num_chunks] = JoinChunk{col_buff, elem_count, num_elems}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we force to initialize all fields with constructor?
74c47ff
to
ac76362
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The patch looks good! There are a few minors to fix though.
@@ -34,6 +34,7 @@ | |||
#include "../../DecodersImpl.h" | |||
#else | |||
#include "../../RuntimeFunctions.h" | |||
#include "HashJoinRuntimeCpu.h" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This header doesn't seem to be used in this file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
removed
namespace { | ||
|
||
template <ColumnType T> | ||
inline int64_t getElem(const int8_t* chunk_mem_ptr, size_t elem_size, size_t elem_ind) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You better get an error on compile time rather than runtime by using
template <ColumnType T>
inline int64_t getElem(const int8_t* chunk_mem_ptr, size_t elem_size, size_t elem_ind) = delete;
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thx, done
@@ -0,0 +1,261 @@ | |||
#include "HashJoinRuntimeCpu.h" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The license header is missing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
@@ -0,0 +1,71 @@ | |||
#pragma once |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The license header is missing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
|
||
#include "../../../Shared/sqltypes.h" | ||
|
||
namespace cpu_utils { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The namespace name is too common and kind of misleading. I'd say we don't use any namespace here at all.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
removed namespace
const int64_t max_elem, | ||
const void* sd_inner_proxy, | ||
const void* sd_outer_proxy) { | ||
CHECK(sd_outer_proxy); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CHECK
macro is not defined in this header, so header usage becomes dependent on headers including order.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
const auto sd_inner_dict_proxy = | ||
static_cast<const StringDictionaryProxy*>(sd_inner_proxy); | ||
const auto sd_outer_dict_proxy = | ||
static_cast<const StringDictionaryProxy*>(sd_outer_proxy); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
StringDictionaryProxy
class is not declared in this header.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
const auto elem_str = sd_inner_dict_proxy->getString(elem); | ||
const auto outer_id = sd_outer_dict_proxy->getIdOfString(elem_str); | ||
if (outer_id > max_elem || outer_id < min_elem) { | ||
return StringDictionary::INVALID_STR_ID; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Another reference to undeclared class.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
2c10582
to
aca3b31
Compare
This commit reworks `fill_hash_join_buff_bucketized_cpu` to use tbb and utilize cpu properly. Partially resolves: #574 Signed-off-by: Dmitrii Makarenko <[email protected]>
aca3b31
to
3c9ee01
Compare
This commit reworks
fill_hash_join_buff_bucketized_cpu
to use tbb and utilize cpu properly.Partially resolves: #574