dictGet('name', ...) should check for XML dictionary 'name' if XML dict=name does not exists then use SQL dictionary from the currectDatabase()

size_t total_count = 0;
            while (true)
            {
                auto all_zeroes = true;
                
                for (const auto i : ext::range(0, size))
                {
                    const auto id = (*in_array)[i];
                    if (0 == id)
                        continue;
                    auto & hierarchy = hierarchies[i];
                    
                    if (std::find(std::begin(hierarchy), std::end(hierarchy), id) != std::end(hierarchy))
                        continue;
                    all_zeroes = false;
                    
                    hierarchy.push_back(id);
                    ++total_count;
                }
                if (all_zeroes)
                    break;
                
                dict->toParent(*in_array, *out_array);
                
                std::swap(in_array, out_array);
            }
            out.reserve(total_count);
            offsets.resize(size);
            for (const auto i : ext::range(0, size))