2013-09-18 22:40:09 +00:00
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <DB/Columns/IColumnDummy.h>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace DB
|
|
|
|
|
{
|
2014-10-31 22:15:17 +00:00
|
|
|
|
|
2013-09-18 22:40:09 +00:00
|
|
|
|
/** Содержит промежуточные данные для вычисления выражений в функциях высшего порядка.
|
|
|
|
|
* Это - вложенный столбец произвольного размера.
|
|
|
|
|
* Сам ColumnReplicated притворяется, как столбец указанного в конструкторе размера.
|
|
|
|
|
*/
|
2014-06-04 01:00:09 +00:00
|
|
|
|
class ColumnReplicated final : public IColumnDummy
|
2013-09-18 22:40:09 +00:00
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
ColumnReplicated(size_t s_, ColumnPtr nested_) : IColumnDummy(s_), nested(nested_) {}
|
2014-10-31 22:15:17 +00:00
|
|
|
|
std::string getName() const override { return "ColumnReplicated"; }
|
|
|
|
|
ColumnPtr cloneDummy(size_t s_) const override { return new ColumnReplicated(s_, nested); }
|
2013-09-18 22:40:09 +00:00
|
|
|
|
|
|
|
|
|
ColumnPtr & getData() { return nested; }
|
|
|
|
|
private:
|
|
|
|
|
ColumnPtr nested;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
}
|