I use an expression as `update_field` because this feature is not implemented yet: https://github.com/ClickHouse/ClickHouse/issues/6084

20.5 generates an incorrect query in this case:
```WHERE `date_add(updated_date, interval 15 minute)` >= '2020-07-02 16:40:06'```

The exception:
```mysqlxx::BadQuery: Unknown column 'date_add(updated_date, interval 15 minute)' in 'where clause'```

The problem is here: 
https://github.com/ClickHouse/ClickHouse/blob/b81c66a03148afc02647df3c11aec40382329912/src/Dictionaries/ExternalQueryBuilder.cpp#L172
The change was introduced in this PR: https://github.com/ClickHouse/ClickHouse/pull/11079

else if (dict_struct.key)
    {
        auto first = true;
        for (const auto & key : *dict_struct.key)
        {
            if (!first)
                writeString(", ", out);
            first = false;
            if (!key.expression.empty())
            {
                writeParenthesisedString(key.expression, out);
                writeString(" AS ", out);
            }
            writeQuoted(key.name, out);
        }
    }
    for (const auto & attr : dict_struct.attributes)
    {
        writeString(", ", out);
        if (!attr.expression.empty())
        {
            writeParenthesisedString(attr.expression, out);
            writeString(" AS ", out);
        }
        writeQuoted(attr.name, out);
    }
    writeString(" FROM ", out);
    if (!db.empty())
    {
        writeQuoted(db, out);