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;
|
2011-09-19 03:34:23 +00:00
|
|
|
|
|
|
|
|
|
ColumnWithNameAndType cloneEmpty() const
|
|
|
|
|
{
|
|
|
|
|
ColumnWithNameAndType res;
|
|
|
|
|
|
|
|
|
|
res.name = name;
|
|
|
|
|
res.type = type;
|
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
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
}
|