**How to reproduce**
```
SELECT untuple(tuple(untuple((1, untuple((untuple(tuple(untuple(tuple(untuple((untuple((1, 1, 1, 1)), 1, 1, 1)))))), 1, 1))))))
```

Most likely due to very long column name.
visit(child, data);
    
    auto tuple_name_type = getNameAndTypeFromAST(child, data);
    if (!tuple_name_type)
        return {};
    const auto * tuple_type = typeid_cast<const DataTypeTuple *>(tuple_name_type->type.get());
    if (!tuple_type)
        throw Exception(ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT,
                        "Function untuple expect tuple argument, got {}",
                        tuple_name_type->type->getName());
    ASTs columns;
    size_t tid = 0;
    auto func_alias = function->tryGetAlias();
    for (const auto & name [[maybe_unused]] : tuple_type->getElementNames())
    {
        auto tuple_ast = function->arguments->children[0];
        if (tid != 0)
            tuple_ast = tuple_ast->clone();
        auto literal = std::make_shared<ASTLiteral>(UInt64(++tid));
        visit(*literal, literal, data);
        auto func = makeASTFunction("tupleElement", tuple_ast, literal);
        if (!func_alias.empty())
            func->setAlias(func_alias + "." + toString(tid));
        auto function_builder = FunctionFactory::instance().get(func->name, data.getContext());
        data.addFunction(function_builder, {tuple_name_type->name, literal->getColumnName()}, func->getColumnName());
        columns.push_back(std::move(func));
    }
    return columns;
}
void ActionsMatcher::visit(ASTExpressionList & expression_list, const ASTPtr &, Data & data)