ClickHouse/dbms/include/DB/Core/ColumnWithTypeAndName.h

37 lines
711 B
C
Raw Normal View History

2011-09-19 03:34:23 +00:00
#pragma once
2010-03-01 16:59:51 +00:00
2010-03-12 18:25:35 +00:00
#include <DB/Columns/IColumn.h>
2010-03-05 17:38:01 +00:00
#include <DB/DataTypes/IDataType.h>
2010-03-01 16:59:51 +00:00
namespace DB
{
/** Тип данных для представления столбца вместе с его типом и именем в оперативке.
*/
struct ColumnWithTypeAndName
2010-03-01 16:59:51 +00:00
{
2011-08-09 19:19:00 +00:00
ColumnPtr column;
DataTypePtr type;
2010-03-01 16:59:51 +00:00
String name;
ColumnWithTypeAndName() {}
ColumnWithTypeAndName(const ColumnPtr & column_, const DataTypePtr & type_, const String name_)
: column(column_), type(type_), name(name_) {}
2011-09-19 03:34:23 +00:00
ColumnWithTypeAndName cloneEmpty() const
2011-09-19 03:34:23 +00:00
{
ColumnWithTypeAndName res;
2011-09-19 03:34:23 +00:00
res.name = name;
res.type = type->clone();
2011-10-31 06:37:12 +00:00
if (column)
res.column = column->cloneEmpty();
2011-09-19 03:34:23 +00:00
return res;
}
2010-03-01 16:59:51 +00:00
};
}