Related to huge suggestions list

```
(gdb) thread apply all bt

Thread 2 (Thread 0x7fbefa6d8400 (LWP 298)):
#0  __pthread_clockjoin_ex (threadid=140458186086144, thread_return=0x0, clockid=<optimized out>, abstime=<optimized out>, block=<optimized out>) at pthread_join_common.c:145
#1  0x0000000007c42cb0 in DB::Suggest::~Suggest() ()
#2  0x00007fbefa874a27 in __run_exit_handlers (status=0, listp=0x7fbefaa16718 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:108
#3  0x00007fbefa874be0 in __GI_exit (status=<optimized out>) at exit.c:139
#4  0x00007fbefa8520ba in __libc_start_main (main=0x7b8e780 <main>, argc=1, argv=0x7ffc4e5be1e8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc4e5be1d8) at ../csu/libc-start.c:342
#5  0x0000000007b3f02e in _start ()

Thread 1 (Thread 0x7fbef8499700 (LWP 299)):
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007fbefa850859 in __GI_abort () at abort.c:79
#2  0x0000000010eb0edc in Poco::SignalHandler::handleSignal(int) ()
#3  <signal handler called>
#4  0x000000000d42dd4f in std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*>*> std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__unordered_map_hasher<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::find<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const ()
#5  0x000000000d793065 in DB::IFactoryWithAliases<std::__1::function<std::__1::shared_ptr<DB::IDataType const> (std::__1::shared_ptr<DB::IAST> const&)> >::getAliasToOrName(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const ()
#6  0x000000000d7927f1 in DB::DataTypeFactory::get(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::IAST> const&) const ()
#7  0x000000000d792640 in DB::DataTypeFactory::get(std::__1::shared_ptr<DB::IAST> const&) const ()
#8  0x000000000d7924b1 in DB::DataTypeFactory::get(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const ()
#9  0x000000000ddfd267 in DB::NativeBlockInputStream::readImpl() ()
#10 0x000000000d7575d5 in DB::IBlockInputStream::read() ()
#11 0x000000000e530096 in DB::Connection::receivePacket() ()
#12 0x0000000007c6e217 in DB::Suggest::fetch(DB::Connection&, DB::ConnectionTimeouts const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) ()
#13 0x0000000007c6e0a4 in DB::Suggest::loadImpl(DB::Connection&, DB::ConnectionTimeouts const&, unsigned long) ()
#14 0x0000000007c6eb14 in ?? ()
#15 0x00007fbefaa37609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#16 0x00007fbefa94d293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
```
String unesped_prompt_by_server_display_name
            ReadBufferFromString in(prompt_by_server_display_name)
            readEspedString(unesped_prompt_by_server_display_name, in)
            prompt_by_server_display_name = std::move(unesped_prompt_by_server_display_name)
        }
        /// Prompt may conin the folloing substitutions in a form of {name}.
        std::map<String, String> prompt_substitutions
        {
            {"host", n_parameters.host},
            {"port", toString(n_parameters.port)},
            {"user", n_parameters.user},
            {"display_name", server_display_name},
        }
        /// Quite suboptimal.
        for (cue]: prompt_substitutions)
            boost::replace_all(prompt_by_server_display_name, "{" + key + "}", value)
        if (is_interactive)
        {
            if (config().has("query_id"))
                thro Exception("query_id could be specified only in non-interactive mode", ErrorCodes::BAD_ARGUMENTS)
            if (print_time_to_stderr)
                thro Exception("time option could be specified only in non-interactive mode", ErrorCodes::BAD_ARGUMENTS)
            if (server_revision >= Suggest::MIN_SERVER_REVISION && !config().getBool("disable_suggestion", false))
            {
                /// Load suggestion da from the server.
                Suggest::insnce().load(n_parameters, config().getInt("suggestion_limit"))
            }
            /// Load command history if present.
            ry_file"))
                history_file = config().getString("history_file")