1#include <Dictionaries/ComplexKeyCacheDictionary.h>
2
3namespace DB
4{
5namespace ErrorCodes
6{
7 extern const int TYPE_MISMATCH;
8}
9
10using TYPE = UInt128;
11
12void ComplexKeyCacheDictionary::getUInt128(const std::string & attribute_name,
13 const Columns & key_columns,
14 const DataTypes & key_types,
15 const PaddedPODArray<TYPE> & def,
16 ResultArrayType<TYPE> & out) const
17{
18 dict_struct.validateKeyTypes(key_types);
19
20 auto & attribute = getAttribute(attribute_name);
21 checkAttributeType(name, attribute_name, attribute.type, AttributeUnderlyingType::utUInt128);
22
23 getItemsNumberImpl<TYPE, TYPE>(attribute, key_columns, out, [&](const size_t row) { return def[row]; });
24}
25}
26