Currently executing queries like: 

```
SELECT * FROM system.tables LIMIT 10;\G 
SELECT * FROM system.tables LIMIT 10\G;
```

Ends up with a syntax error.

From the documentation, it should not be an error:

> You can specify \G instead of or after the semicolon.


throw Exception("Output format already specified", ErrorCodes::CLIENT_OUTPUT_FORMAT_SPECIFIED
                const auto & id = query_with_output->format->as<ASTIdentifier &>(
                current_format = id.name(
            }
            else if (query_with_output->out_file)
            {
                const auto & format_name = FormatFactory::instance().getFormatFromFileName(out_file
                if (!format_name.empty())
                    current_format = format_name;
            }
        }
        if (has_vertical_output_suffix)
            current_format = "Vertical";
        /// It is not clear how to write progress intermixed with data with parallel formatting.
        /// It may increase code complexity significantly.
        if (!need_render_progress || select_into_file)
            output_format = global_context->getOutputFormatParallelIfPossible(
                current_format, out_file_buf ? *out_file_buf : *out_buf, block
        else
            output_format = global_context->getOutputFormat(
                current_format, out_file_buf ? *out_file_buf : *out_buf, block
        output_format->setAutoFlush(
    }
}
catch (...)
{
    throw LocalFormatError(getCurrentExceptionMessage(print_stack_trace), getCurrentExceptionCode()
}
void ClientBase::initLogsOutputStream()
{