Leave only ODBCDriver2.
{
    const auto & header = getPort(PortKind::Main).getHeader();
    const size_t columns = header.columns();
    
    writeVarUInt(columns, out);
    
    for (size_t i = 0; i < columns; ++i)
    {
        const ColumnWithTypeAndName & col = header.getByPosition(i);
        writeStringBinary(col.name, out);
        writeStringBinary(col.type->getName(), out);
    }
}
void ODBCDriverBlockOutputFormat::finalize()
{
    writePrefixIfNot();
}
void registerOutputFormatProcessorODBCDriver(FormatFactory & factory)
{
    factory.registerOutputFormatProcessor("ODBCDriver", [](
        WriteBuffer & buf,
        const Block & sample,
        FormatFactory::WriteCallback,
        const FormatSettings & format_settings)
    {
        return std::make_shared<ODBCDriverBlockOutputFormat>(buf, sample, format_settings);
    });
}
}