mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-24 02:30:51 +00:00
Update MySQLOutputFormat.
This commit is contained in:
parent
b0b7ed791d
commit
bd8c9733e3
@ -64,8 +64,8 @@ public:
|
|||||||
|
|
||||||
void write(const Block & block) { consume(Chunk(block.getColumns(), block.rows())); }
|
void write(const Block & block) { consume(Chunk(block.getColumns(), block.rows())); }
|
||||||
|
|
||||||
void doWritePrefix() {}
|
virtual void doWritePrefix() {}
|
||||||
void doWriteSuffix() { finalize(); }
|
virtual void doWriteSuffix() { finalize(); }
|
||||||
|
|
||||||
void setTotals(const Block & totals) { consumeTotals(Chunk(totals.getColumns(), totals.rows())); }
|
void setTotals(const Block & totals) { consumeTotals(Chunk(totals.getColumns(), totals.rows())); }
|
||||||
void setExtremes(const Block & extremes) { consumeExtremes(Chunk(extremes.getColumns(), extremes.rows())); }
|
void setExtremes(const Block & extremes) { consumeExtremes(Chunk(extremes.getColumns(), extremes.rows())); }
|
||||||
|
@ -23,13 +23,14 @@ MySQLOutputFormat::MySQLOutputFormat(WriteBuffer & out_, const Block & header, c
|
|||||||
packet_sender.max_packet_size = context.mysql.max_packet_size;
|
packet_sender.max_packet_size = context.mysql.max_packet_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MySQLOutputFormat::consume(Chunk chunk)
|
void MySQLOutputFormat::initialize()
|
||||||
{
|
{
|
||||||
|
if (initialized)
|
||||||
|
return;
|
||||||
|
|
||||||
|
initialized = true;
|
||||||
auto & header = getPort(PortKind::Main).getHeader();
|
auto & header = getPort(PortKind::Main).getHeader();
|
||||||
|
|
||||||
if (!initialized)
|
|
||||||
{
|
|
||||||
initialized = true;
|
|
||||||
|
|
||||||
if (header.columns())
|
if (header.columns())
|
||||||
{
|
{
|
||||||
@ -48,7 +49,14 @@ void MySQLOutputFormat::consume(Chunk chunk)
|
|||||||
packet_sender.sendPacket(EOF_Packet(0, 0));
|
packet_sender.sendPacket(EOF_Packet(0, 0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void MySQLOutputFormat::consume(Chunk chunk)
|
||||||
|
{
|
||||||
|
initialize();
|
||||||
|
|
||||||
|
auto & header = getPort(PortKind::Main).getHeader();
|
||||||
|
|
||||||
size_t rows = chunk.getNumRows();
|
size_t rows = chunk.getNumRows();
|
||||||
auto & columns = chunk.getColumns();
|
auto & columns = chunk.getColumns();
|
||||||
|
@ -26,6 +26,10 @@ public:
|
|||||||
void consume(Chunk) override;
|
void consume(Chunk) override;
|
||||||
void finalize() override;
|
void finalize() override;
|
||||||
void flush() override;
|
void flush() override;
|
||||||
|
void doWritePrefix() override { initialize(); }
|
||||||
|
|
||||||
|
void initialize();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
bool initialized = false;
|
bool initialized = false;
|
||||||
|
Loading…
Reference in New Issue
Block a user