void TabSeparatedRowOutputStream::writeExtremes() { if (extremes) { size_t rows = extremes.rows(); size_t columns = extremes.columns(); writeChar('\n', ostr); for (size_t i = 0; i < rows; ++i) { if (i != 0) writeRowBetweenDelimiter(); writeRowStartDelimiter(); for (size_t j = 0; j < columns; ++j) { if (j != 0) writeFieldDelimiter(); writeField(*extremes.getByPosition(j).column.get(), *extremes.getByPosition(j).type.get(), i); } writeRowEndDelimiter(); } } }
void IRowOutputStream::write(const Block & block, size_t row_num) { size_t columns = block.columns(); writeRowStartDelimiter(); for (size_t i = 0; i < columns; ++i) { if (i != 0) writeFieldDelimiter(); auto & col = block.getByPosition(i); writeField(*col.column, *col.type, row_num); } writeRowEndDelimiter(); }
void TabSeparatedRowOutputStream::writeTotals() { if (totals) { size_t columns = totals.columns(); writeChar('\n', ostr); writeRowStartDelimiter(); for (size_t j = 0; j < columns; ++j) { if (j != 0) writeFieldDelimiter(); writeField(*totals.getByPosition(j).column.get(), *totals.getByPosition(j).type.get(), 0); } writeRowEndDelimiter(); } }