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

{
        std::optional<size_t> min_id;
        auto pred = [&]
        {
            if (!min_id)
                min_id = getMinIDToFinishLoading(forced_to_reload);
            bool all_ready = true;
            for (auto & [name, info] : infos)
            {
                if (filter && !filter(name))
                    continue;
                if (info.state_id >= min_id)
                    continue;
                all_ready = false;
                if (info.loading_id < min_id)
                    startLoading(info, forced_to_reload, *min_id);
            }
            return all_ready;
        };
        if (timeout == WAIT)
            event.wait(lock, pred);
        else
            event.wait_for(lock, timeout, pred);
    }
    
    size_t getMinIDToFinishLoading(bool forced_to_reload) const