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

getName(),
                     key_col_with_type.type->getName());
            if (attribute_names.size() > 1)
            {
                const auto & result_tuple_type = assert_cast<const DataTypeTuple &>(*result_type);
                Columns result_columns = dictionary->getColumns(
                    attribute_names,
                    result_tuple_type.getElements(),
                    {key_column, range_col},
                    {std::make_shared<DataTypeUInt64>(), range_col_type},
                    default_cols);
                result = ColumnTuple::create(std::move(result_columns));
            }
            else
                result = dictionary->getColumn(
                    attribute_names[0],
                    result_type,
                    {key_column, range_col},
                    {std::make_shared<DataTypeUInt64>(), range_col_type},
                    default_cols.front());
        }
        else
            throw Exception{"Unknown dictionary identifier type", ErrorCodes::BAD_ARGUMENTS};
        return result;
    }
private:
    Strings getAttributeNamesFromColumn(const ColumnPtr & column, const DataTypePtr & type) const
    {
        Strings attribute_names;
        if (const auto * name_col = checkAndGetColumnConst<ColumnString>(column.get()))