**Describe what's wrong**

We have a nested field in a table.
The table is created using SET flatten_nested = 0.
When the server is restarted the field is no longer nested (only flattened arrays appear).

**Does it reproduce on recent release?**

version 22.2.3.1

**How to reproduce**

Create a table using:

` 
SET flatten_nested = 0            
` 
` 
CREATE TABLE test.test    
    (     
        id String,  
       nested_field Nested (nf1 String, nf2 String)  
    ) ENGINE = MergeTree ORDER BY id  
`

Recover the table structure using describe:
`
describe test.test
`
`
name           type
id             String
nested_field   Nested(nf1 String, nf2 String) 
`

Restart click-house server.

Recover the table structure using describe:
`
 name               type            
 id                 String                                                                                          
 nested_field.nf1   Array(String)                                                                                   
 nested_field.nf2   Array(String)                                                                                   
`

*Expected behavior**

Recover the initial structure of the table not he flatenned one.


{
    elem.query_kind = "Create";
    if (!as_table_saved.empty())
    {
        String database = backQuoteIfNeed(as_database_saved.empty() ? getContext()->getCurrentDatabase() : as_database_saved);
        elem.query_databases.insert(database);
        elem.query_tables.insert(database + "." + backQuoteIfNeed(as_table_saved));
    }
}
void InterpreterCreateQuery::addColumnsDescriptionToCreateQueryIfNecessary(ASTCreateQuery & create, const StoragePtr & storage)
{
    if (create.is_dictionary || (create.columns_list && create.columns_list->columns && !create.columns_list->columns->children.empty()))
        return;
    auto ast_storage = std::make_shared<ASTStorage>();
    auto query_from_storage = DB::getCreateQueryFromStorage(storage, ast_storage, false,
                                                            getContext()->getSettingsRef().max_parser_depth, true);
    auto & create_query_from_storage = query_from_storage->as<ASTCreateQuery &>();
    if (!create.columns_list)
    {
        ASTPtr columns_list = std::make_shared<ASTColumns>(*create_query_from_storage.columns_list);
        create.set(create.columns_list, columns_list);
    }
    else
    {
        ASTPtr columns = std::make_shared<ASTExpressionList>(*create_query_from_storage.columns_list->columns);
        create.columns_list->set(create.columns_list->columns, columns);
    }
}
}