mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-25 03:00:49 +00:00
fix build failure
This commit is contained in:
parent
7432845f60
commit
92740212b5
@ -38,6 +38,7 @@ namespace ErrorCodes
|
|||||||
extern const int CANNOT_ASSIGN_OPTIMIZE;
|
extern const int CANNOT_ASSIGN_OPTIMIZE;
|
||||||
extern const int INCOMPATIBLE_COLUMNS;
|
extern const int INCOMPATIBLE_COLUMNS;
|
||||||
extern const int UNKNOWN_SETTING;
|
extern const int UNKNOWN_SETTING;
|
||||||
|
extern const int TOO_BIG_AST;
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace ActionLocks
|
namespace ActionLocks
|
||||||
@ -649,6 +650,10 @@ bool StorageMergeTree::tryMutatePart()
|
|||||||
{
|
{
|
||||||
auto table_lock_holder = lockStructureForShare(true, RWLockImpl::NO_QUERY);
|
auto table_lock_holder = lockStructureForShare(true, RWLockImpl::NO_QUERY);
|
||||||
|
|
||||||
|
static constexpr size_t reserve_ast_elements = 256;
|
||||||
|
size_t column_size = getColumns().getAll().size();
|
||||||
|
size_t max_ast_elements = global_context.getSettingsRef().max_ast_elements;
|
||||||
|
|
||||||
FutureMergedMutatedPart future_part;
|
FutureMergedMutatedPart future_part;
|
||||||
MutationCommands commands;
|
MutationCommands commands;
|
||||||
/// You must call destructor with unlocked `currently_merging_mutex`.
|
/// You must call destructor with unlocked `currently_merging_mutex`.
|
||||||
@ -672,9 +677,10 @@ bool StorageMergeTree::tryMutatePart()
|
|||||||
if (merger_mutator.getMaxSourcePartSizeForMutation() < part->bytes_on_disk)
|
if (merger_mutator.getMaxSourcePartSizeForMutation() < part->bytes_on_disk)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
static constexpr size_t reserve_ast_elements = 10;
|
if (max_ast_elements <= reserve_ast_elements + column_size)
|
||||||
size_t column_size = getColumns().getAll().size();
|
throw Exception("max_ast_elements must be greater than " + toString(reserve_ast_elements + column_size), ErrorCodes::TOO_BIG_AST);
|
||||||
size_t current_remain_ast_elements = global_context.getSettingsRef().max_ast_elements - column_size - reserve_ast_elements;
|
|
||||||
|
size_t current_remain_ast_elements = max_ast_elements - column_size - reserve_ast_elements;
|
||||||
|
|
||||||
for (auto it = mutations_begin_it; it != mutations_end_it; ++it)
|
for (auto it = mutations_begin_it; it != mutations_end_it; ++it)
|
||||||
{
|
{
|
||||||
@ -686,7 +692,7 @@ bool StorageMergeTree::tryMutatePart()
|
|||||||
if (current_remain_ast_elements <= ast_elements_size)
|
if (current_remain_ast_elements <= ast_elements_size)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
commands.emplace_back(commands_it);
|
commands.push_back(*commands_it);
|
||||||
current_remain_ast_elements -= ast_elements_size;
|
current_remain_ast_elements -= ast_elements_size;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user