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

41 lines
765 B
C
Raw Normal View History

2011-09-19 03:34:23 +00:00
#pragma once
2010-03-01 16:59:51 +00:00
#include <Poco/SharedPtr.h>
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
{
using Poco::SharedPtr;
/** Тип данных для представления столбца вместе с его типом и именем в оперативке.
*/
struct ColumnWithNameAndType
{
2011-08-09 19:19:00 +00:00
ColumnPtr column;
DataTypePtr type;
2010-03-01 16:59:51 +00:00
String name;
ColumnWithNameAndType() {}
ColumnWithNameAndType(const ColumnPtr & column_, const DataTypePtr & type_, const String name_)
: column(column_), type(type_), name(name_) {}
2011-09-19 03:34:23 +00:00
ColumnWithNameAndType cloneEmpty() const
{
ColumnWithNameAndType res;
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
};
}