**Describe the situation**

```
SELECT * FROM test.hits INTO OUTFILE 'dump.csv' FORMAT CSV

8873898 rows in set. Elapsed: 32.487 sec. Processed 8.87 million rows, 8.46 GB (273.15 thousand rows/s., 260.42 MB/s.)
```

is bounded by single CPU core. Too slow :(
/// If this is the case, inform the server about it and receive the remaining packets
            /// to avoid losing sync.
            
            {
                auto cancel_query = [&] {
                    connection->sendCancel(
                    if (is_interactive)
                    {
                        progress_indication.clearProgressOutput(
                        std::cout << "Cancelling query." << std::endl;
                    }
                    cancelled = true;
                };
                /// handler received sigint
                _handler.cancelled())
                {
                    cancel_query(
                }
                else
                {
                    double elapsed = receive_watch.elapsedSeconds(
                    if (break_on_timeout && elapsed > receive_timeout.totalSeconds())
                    {
                        std::cout << "Timeout exceeded while receiving data from server."
                                    << " Waited for " << static_cast<size_t>(elapsed) << " seconds,"
                                    << " timeout is " << receive_timeout.totalSeconds() << " seconds." << std::endl;
                        cancel_query(
                    }
                }
            }