**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.
{
                    this_query_end = insert_ast->end;
                    adjustQueryEnd(th all_queries_end, global_context->getSettingsRef().max_parser_depth
                }
                // Report error.
                if 
                    processError(full_query
                // Stop processing queries if needed.
                if (have_error && !ignore_error)
                    return is_interactive;
                this_query_begin = this_query_end;
                break;
            }
        }
    }
}
bool ClientBase::processQueryText(const String & text)
{
    if (exit_strings.end() != exit_strings.find(trim(text, [](char c) { return isWhitespaceASCII(c) || c == ';'; })))
        return false;
    if (!is_multiquery)
    {
        assert(!query_fuzzer_runs
        processTextAsSingleQuery(text
        return true;
    }
    if (query_fuzzer_runs)
    {
        processWithFuzzing(text
        return true;