mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-27 01:51:59 +00:00
fix - Field::safeGet() returns reference to temporary
This commit is contained in:
parent
f7ff94c332
commit
a16071d6e0
@ -1308,7 +1308,7 @@ QueryTreeNodePtr IdentifierResolver::matchArrayJoinSubcolumns(
|
|||||||
if (!second_argument || second_argument->getValue().getType() != Field::Types::String)
|
if (!second_argument || second_argument->getValue().getType() != Field::Types::String)
|
||||||
throw Exception(ErrorCodes::LOGICAL_ERROR, "Expected constant string as second argument of getSubcolumn function {}", resolved_function->dumpTree());
|
throw Exception(ErrorCodes::LOGICAL_ERROR, "Expected constant string as second argument of getSubcolumn function {}", resolved_function->dumpTree());
|
||||||
|
|
||||||
const auto & resolved_subcolumn_path = second_argument->getValue().safeGet<String &>();
|
auto resolved_subcolumn_path = second_argument->getValue().safeGet<String>();
|
||||||
if (!startsWith(resolved_subcolumn_path, array_join_subcolumn_prefix))
|
if (!startsWith(resolved_subcolumn_path, array_join_subcolumn_prefix))
|
||||||
return {};
|
return {};
|
||||||
|
|
||||||
@ -1352,8 +1352,7 @@ QueryTreeNodePtr IdentifierResolver::tryResolveExpressionFromArrayJoinExpression
|
|||||||
size_t nested_function_arguments_size = nested_function_arguments.size();
|
size_t nested_function_arguments_size = nested_function_arguments.size();
|
||||||
|
|
||||||
const auto & nested_keys_names_constant_node = nested_function_arguments[0]->as<ConstantNode & >();
|
const auto & nested_keys_names_constant_node = nested_function_arguments[0]->as<ConstantNode & >();
|
||||||
auto field = nested_keys_names_constant_node.getValue();
|
auto nested_keys_names = nested_keys_names_constant_node.getValue().safeGet<Array>();
|
||||||
const auto & nested_keys_names = field.safeGet<Array &>();
|
|
||||||
size_t nested_keys_names_size = nested_keys_names.size();
|
size_t nested_keys_names_size = nested_keys_names.size();
|
||||||
|
|
||||||
if (nested_keys_names_size == nested_function_arguments_size - 1)
|
if (nested_keys_names_size == nested_function_arguments_size - 1)
|
||||||
|
Loading…
Reference in New Issue
Block a user