partial_merge_join_optimisations -> partial_merge_join_optimizations

This commit is contained in:
chertus 2019-09-27 15:24:07 +03:00
parent 4cb53093a0
commit baaf0a7c5b
5 changed files with 7 additions and 7 deletions

View File

@ -292,7 +292,7 @@ struct Settings : public SettingsCollection<Settings>
M(SettingOverflowMode, join_overflow_mode, OverflowMode::THROW, "What to do when the limit is exceeded.") \
M(SettingBool, join_any_take_last_row, false, "When disabled (default) ANY JOIN will take the first found row for a key. When enabled, it will take the last row seen if there are multiple rows for the same key.") \
M(SettingBool, partial_merge_join, false, "Use partial merge join instead of hash join for LEFT and INNER JOINs.") \
M(SettingBool, partial_merge_join_optimisations, false, "Enable optimisations in partial merge join") \
M(SettingBool, partial_merge_join_optimizations, false, "Enable optimisations in partial merge join") \
M(SettingUInt64, partial_merge_join_rows_in_right_blocks, 10000, "Split right-hand joining data in blocks of specified size.") \
\
M(SettingUInt64, max_rows_to_transfer, 0, "Maximum size (in rows) of the transmitted external table obtained when the GLOBAL IN/JOIN section is executed.") \

View File

@ -27,7 +27,7 @@ AnalyzedJoin::AnalyzedJoin(const Settings & settings)
: size_limits(SizeLimits{settings.max_rows_in_join, settings.max_bytes_in_join, settings.join_overflow_mode})
, join_use_nulls(settings.join_use_nulls)
, partial_merge_join(settings.partial_merge_join)
, partial_merge_join_optimisations(settings.partial_merge_join_optimisations)
, partial_merge_join_optimizations(settings.partial_merge_join_optimizations)
, partial_merge_join_rows_in_right_blocks(settings.partial_merge_join_rows_in_right_blocks)
{}

View File

@ -40,7 +40,7 @@ class AnalyzedJoin
const SizeLimits size_limits;
const bool join_use_nulls;
const bool partial_merge_join;
const bool partial_merge_join_optimisations;
const bool partial_merge_join_optimizations;
const size_t partial_merge_join_rows_in_right_blocks;
Names key_names_left;
@ -68,7 +68,7 @@ public:
: size_limits(limits)
, join_use_nulls(use_nulls)
, partial_merge_join(false)
, partial_merge_join_optimisations(false)
, partial_merge_join_optimizations(false)
, partial_merge_join_rows_in_right_blocks(0)
, key_names_right(key_names_right_)
{
@ -83,7 +83,7 @@ public:
bool forceNullableRight() const { return join_use_nulls && isLeftOrFull(table_join.kind); }
bool forceNullableLeft() const { return join_use_nulls && isRightOrFull(table_join.kind); }
size_t maxRowsInRightBlock() const { return partial_merge_join_rows_in_right_blocks; }
bool enablePartialMergeJoinOptimisations() const { return partial_merge_join_optimisations; }
bool enablePartialMergeJoinOptimizations() const { return partial_merge_join_optimizations; }
void addUsingKey(const ASTPtr & ast);
void addOnKeys(ASTPtr & left_table_ast, ASTPtr & right_table_ast);

View File

@ -330,7 +330,7 @@ MergeJoin::MergeJoin(std::shared_ptr<AnalyzedJoin> table_join_, const Block & ri
, is_all(table_join->strictness() == ASTTableJoin::Strictness::All)
, is_inner(isInner(table_join->kind()))
, is_left(isLeft(table_join->kind()))
, skip_not_intersected(table_join->enablePartialMergeJoinOptimisations())
, skip_not_intersected(table_join->enablePartialMergeJoinOptimizations())
{
if (!isLeft(table_join->kind()) && !isInner(table_join->kind()))
throw Exception("Partial merge supported for LEFT and INNER JOINs only", ErrorCodes::NOT_IMPLEMENTED);

View File

@ -7,7 +7,7 @@ CREATE TABLE t1 (x UInt32, y UInt64) engine = MergeTree ORDER BY (x,y);
CREATE TABLE t2 (x UInt32, y UInt64) engine = MergeTree ORDER BY (x,y);
SET partial_merge_join = 1;
SET partial_merge_join_optimisations = 1;
SET partial_merge_join_optimizations = 1;
SET partial_merge_join_rows_in_right_blocks = 2;
SET any_join_distinct_right_table_keys = 1;