**Use case**

ClickHouse already throws exception if the data for INSERT is empty:

```
Code: 108. DB::Exception: No data to insert
```

Let's introduce a setting, enabled by default, to control this behavior.
The user will be able to disable it to allow empty INSERTs.

This is useful in some batch scripts.
progress_indication.addThreadIdToList(host_name, thread_id
            auto event_name = names.getDataAt(i
            auto value = array_values[i];
            if (event_name == user_time_name)
            {
                thread_times[host_name][thread_id].user_ms = value;
            }
            else if (event_name == system_time_name)
            {
                thread_times[host_name][thread_id].system_ms = value;
            }
            else if (event_name == MemoryTracker::USAGE_EVENT_NAME)
            {
                thread_times[host_name][thread_id].memory_usage = value;
            }
        }
        auto elapsed_time = profile_events.watch.elapsedMicroseconds(
        progress_indication.updateThreadEventData(thread_times, elapsed_time
        if (need_render_progress)
            progress_indication.writeProgress(
        if (profile_events.print)
        {
            if (profile_events.watch.elapsedMilliseconds() >= profile_events.delay_ms)
            {
                initLogsOutputStream(
                progress_indication.clearProgressOutput(
                logs_out_stream->writeProfileEvents(block
                logs_out_stream->flush(
                profile_events.last_block = {};
            }