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.
{
    while (true)
    {
        Packet packet = connection->receivePacket();
        switch (packet.type)
        {
            case Protocol::Server::EndOfStream:
                onEndOfStream();
                return true;
            case Protocol::Server::Exception:
                onReceiveExceptionFromServer(std::move(packet.exception));
                return false;
            case Protocol::Server::Log:
                onLogData(packet.block);
                break;
            case Protocol::Server::Progress:
                onProgress(packet.progress);
                break;
            case Protocol::Server::ProfileEvents:
                onProfileEvents(packet.block);
                break;
            default:
                throw NetException(
                    "Unexpected packet from server (expected Exception, EndOfStream, Log, Progress or ProfileEvents. Got "
                        + String(Protocol::Server::toString(packet.type)) + ")",
                    ErrorCodes::UNEXPECTED_PACKET_FROM_SERVER);
        }
    }
}
void ClientBase::cancelQuery()