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