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

ExternalQueryBuilder::composeLoadKeysQuery(const Columns & key_columns, const std::vector<size_t> & requested_rows, LoadKeysMethod method, size_t partition_key_prefix)
{
    if (!dict_struct.key)
        throw Exception{"Composite key required for method", ErrorCodes::UNSUPPORTED_METHOD};
    WriteBufferFromOwnString out;
    writeString("SELECT ", out);
    auto first = true;
    for (const auto & key_or_attribute : boost::join(*dict_struct.key, dict_struct.attributes))
    {
        if (!first)
            writeString(", ", out);
        first = false;
        if (!key_or_attribute.expression.empty())
        {
            writeParenthesisedString(key_or_attribute.expression, out);
            writeString(" AS ", out);
        }
        writeQuoted(key_or_attribute.name, out);
    }
    writeString(" FROM ", out);
    if (!db.empty())
    {