mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-02 20:42:04 +00:00
31 lines
1.2 KiB
C++
31 lines
1.2 KiB
C++
|
#pragma once
|
|||
|
|
|||
|
#include <DB/DataStreams/IBlockOutputStream.h>
|
|||
|
|
|||
|
|
|||
|
namespace DB
|
|||
|
{
|
|||
|
|
|||
|
/** Формат данных, предназначенный для упрощения реализации ODBC драйвера.
|
|||
|
* ODBC драйвер предназначен для сборки под разные платформы без зависимостей от основного кода,
|
|||
|
* поэтому формат сделан так, чтобы в нём можно было как можно проще его распарсить.
|
|||
|
* Выводится заголовок с нужной информацией.
|
|||
|
* Затем данные выводятся в порядке строк. Каждое значение выводится так: длина в формате VarUInt, затем данные в текстовом виде.
|
|||
|
*/
|
|||
|
class ODBCDriverBlockOutputStream : public IBlockOutputStream
|
|||
|
{
|
|||
|
public:
|
|||
|
ODBCDriverBlockOutputStream(WriteBuffer & out_);
|
|||
|
|
|||
|
void write(const Block & block) override;
|
|||
|
|
|||
|
void flush() override { out.next(); }
|
|||
|
String getContentType() const override { return "application/octet-stream"; }
|
|||
|
|
|||
|
private:
|
|||
|
bool is_first = true;
|
|||
|
WriteBuffer & out;
|
|||
|
};
|
|||
|
|
|||
|
}
|