```
create table default.test_parent
(
    id        UInt64,
    parent_id Nullable(UInt64)
) engine = MergeTree

create dictionary default.d4test_parent
    ( id UInt64,
    parent_id  Nullable(UInt64) HIERARCHICAL
    )
    PRIMARY KEY id
    SOURCE (CLICKHOUSE(DB 'default' TABLE 'test_parent'))
    LIFETIME (MIN 0 MAX 0)
    LAYOUT (HASHED)
;
insert into default.test_parent
values (1, null),
       (2, 3),
       (3, 1),
       (4, 2)
;
system reload dictionary default.d4test_parent
;
select dictGetDescendants('default.d4test_parent', toUInt64(2))
;
```

Code: 53. DB::Exception: default.d4test_parent (443f6664-e217-44ec-80e2-bbec982b4963): type mismatch: column has wrong type expected UInt64: While processing dictGetDescendants('default.d4test_parent', 2). (TYPE_MISMATCH) (version 22.3.2.1)


On old versions no errors
```
select version()
-- 21.11.6.7
;
select dictGetDescendants('default.d4test_parent', toUInt64(2))
-- [4]
```
struct GetAllDescendantsStrategy { size_t level = 0; };
    struct GetDescendantsAtSpecificLevelStrategy { size_t level = 0; };
    /** Get descendants for keys iterating the hierarchy from parent to child using parent_to_child hash map provided by client.
      * GetAllDescendantsStrategy get all descendants for key
      * GetDescendantsAtSpecificLevelStrategy get descendants only for specific hierarchy level.
      * Hierarchy result is ElementsAndOffsets structure, for each element there is descendants array,
      * with size offset[element_index] - (element_index > 0 ? offset[element_index - 1] : 0).
      *
      * @param valid_keys - number of keys that are valid in parent_to_child map
      *
      * Example:
      * id  parent_id
      * 1   0
      * 2   1
      * 3   1
      * 4   2
      *
      * Example. Strategy GetAllDescendantsStrategy.
      * Requested keys [0, 1, 2, 3, 4].
      * Result: [1, 2, 3, 4], [2, 2, 4], [4], [], []
      * Elements: [1, 2, 3, 4, 2, 3, 4, 4]
      * Offsets: [4, 7, 8, 8, 8]
      *
      * Example. Strategy GetDescendantsAtSpecificLevelStrategy with level 1.
      * Requested keys [0, 1, 2, 3, 4].
      * Result: [1], [2, 3], [4], [], [];
      * Offsets: [1, 3, 4, 4, 4];
      */
    template <typename Strategy>
    ElementsAndOffsets getDescendants(