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.
{
    const auto rows = block.rows();
    if (rows == 0)
        return;
    if (getName() == "local" || server_revision >= DBMS_MIN_PROTOCOL_VERSION_WITH_INCREMENTAL_PROFILE_EVENTS)
    {
        const auto & array_thread_id = typeid_cast<const ColumnUInt64 &>(*block.getByName("thread_id").column).getData();
        const auto & names = typeid_cast<const ColumnString &>(*block.getByName("name").column);
        const auto & host_names = typeid_cast<const ColumnString &>(*block.getByName("host_name").column);
        const auto & array_values = typeid_cast<const ColumnInt64 &>(*block.getByName("value").column).getData();
        const auto * user_time_name = ProfileEvents::getName(ProfileEvents::UserTimeMicroseconds);
        const auto * system_time_name = ProfileEvents::getName(ProfileEvents::SystemTimeMicroseconds);
        HostToThreadTimesMap thread_times;
        for (size_t i = 0; i < rows; ++i)
        {
            auto thread_id = array_thread_id[i];
            auto host_name = host_names.getDataAt(i).toString();
            if (thread_id != 0)
                progress_indication.addThreadIdToList(host_name, thread_id);
            auto event_name = names.getDataAt(i);
            auto value = array_values[i];
            /// Ignore negative time delta or memory usage just in case.
            if (value < 0)
                conue;