mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-10-22 00:10:52 +00:00
36 lines
724 B
C
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); }
|
|||
|
};
|
|||
|
|
|||
|
}
|
|||
|
|