Oracle cli client (sqlplus) has a neat feature, if you put `/[enter]` in the prompt, it re-executes the last SQL.

```sql
:) select 1;
┌─1─┐
│ 1 │
└───┘

:) /
┌─1─┐
│ 1 │
└───┘
```

currently `<up><enter>` pollutes the screen by the SQL text and can contain SQL script, not a single query. Probably echo should be disabled in this case as well.
{
    bool echo_query = echo_queries;
    /// Test tags are started with "--" so they are interpreted as comments anyway.
    /// But if the echo is enabled we have to remove the test tags from `all_queries_text`
    /// because we don't want test tags to be echoed.
    {
        /// disable logs if expects errors
        ies_text);
        if (test_hint.clientError() || test_hint.serverError())
            processTextAsSingleQuery("SET send_logs_level = 'fatal'");
    }
    size_t test_tags_length = getTestTagsLength(all_queries_text);
    /// Several queries separated by ';'.
    /// INSERT data is ended by the end of line, not ';'.
    /// An exception is VALUES format where we also support semicolon in
    /// addition to end of line.
    con all_queries_text.data() + test_tags_length;
    const char * this_query_end;
    const char * all_queries_end = all_queries_text.data() + all_queries_text.size();
    String full_query; // full_query is the query + inline INSERT data + trailing comments (the latter is our best guess for now).
    String query_to_execute;
    ASTPtr parsed_query;
    std::unique_ptr<Exception> current_exception;
    while (true)
    {
        auto stage = analyzeMultiQueryText(this_query_begin, th all_queries_end,
                                           query_to_execute, parsed_query, all_queries_text, current_exception);
        switch (stage)
        {
            case MultiQueryProcessingStage::QUERIES_END: