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