ClickHouse/dbms/include/DB/DataTypes/DataTypeTuple.h
2012-08-23 18:43:57 +00:00

36 lines
724 B
C++

#pragma once
#include <DB/DataTypes/IDataTypeDummy.h>
namespace DB
{
/** Тип данных - кортеж.
* Используется только как промежуточный вариант при вычислении выражений.
*/
class DataTypeTuple : public IDataTypeDummy
{
private:
DataTypes elems;
public:
DataTypeTuple(DataTypes elems_) : elems(elems_) {}
std::string getName() const
{
std::stringstream s;
s << "Tuple(";
for (DataTypes::const_iterator it = elems.begin(); it != elems.end(); ++it)
s << (it == elems.begin() ? "" : ", ") << (*it)->getName();
s << ")";
return s.str();
}
SharedPtr<IDataType> clone() const { return new DataTypeTuple(elems); }
};
}