コード例 #1
0
void CSVRowOutputStream::writePrefix()
{
	size_t columns = sample.columns();

	if (with_names)
	{
		for (size_t i = 0; i < columns; ++i)
		{
			writeCSVString(sample.safeGetByPosition(i).name, ostr);
			writeChar(i == columns - 1 ? '\n' : ',', ostr);
		}
	}

	if (with_types)
	{
		for (size_t i = 0; i < columns; ++i)
		{
			writeCSVString(sample.safeGetByPosition(i).type->getName(), ostr);
			writeChar(i == columns - 1 ? '\n' : ',', ostr);
		}
	}
}
コード例 #2
0
ファイル: DataTypeEnum.cpp プロジェクト: yurial/ClickHouse
void DataTypeEnum<Type>::serializeTextCSV(const IColumn & column, size_t row_num, WriteBuffer & ostr) const
{
    writeCSVString(getNameForValue(static_cast<const ColumnType &>(column).getData()[row_num]), ostr);
}
コード例 #3
0
void DataTypeFixedString::serializeTextCSV(const IColumn & column, size_t row_num, WriteBuffer & ostr) const
{
	const char * pos = reinterpret_cast<const char *>(&static_cast<const ColumnFixedString &>(column).getChars()[n * row_num]);
	writeCSVString(pos, pos + n, ostr);
}