mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-10-22 00:10:52 +00:00
38 lines
782 B
C++
38 lines
782 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); }
|
|
|
|
const DataTypes & getElements() const { return elems; }
|
|
};
|
|
|
|
}
|
|
|