forked from ClickHouse/ClickHouse
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDataTypeNested.h
More file actions
36 lines (26 loc) · 770 Bytes
/
DataTypeNested.h
File metadata and controls
36 lines (26 loc) · 770 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#pragma once
#include <DataTypes/DataTypeCustom.h>
#include <DataTypes/IDataType.h>
namespace DB
{
class DataTypeNestedCustomName final : public IDataTypeCustomName
{
private:
DataTypes elems;
Strings names;
public:
DataTypeNestedCustomName(const DataTypes & elems_, const Strings & names_)
: elems(elems_), names(names_)
{
}
String getName() const override;
const DataTypes & getElements() const { return elems; }
const Names & getNames() const { return names; }
};
DataTypePtr createNested(const DataTypes & types, const Names & names);
template <typename DataType>
inline bool isNested(const DataType & data_type)
{
return typeid_cast<const DataTypeNestedCustomName *>(data_type->getCustomName()) != nullptr;
}
}