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

writeChar('.', out);
    }
    if (!schema.empty())
    {
        writeQuoted(schema, out);
        writeChar('.', out);
    }
    writeQuoted(table, out);
    if (!where.empty())
    {
        writeString(" WHERE ", out);
        writeString(where, out);
    }
}
std::string ExternalQueryBuilder::composeUpdateQuery(const std::string & update_field, const std::string & time_point) const
{
    WriteBufferFromOwnString out;
    composeLoadAllQuery(out);
    if (!where.empty())
        writeString(" AND ", out);
    else
        writeString(" WHERE ", out);
    writeQuoted(update_field, out);
    writeString(" >= '", out);
    writeString(time_point, out);
    writeChar('\'', out);
    writeChar(';', out);
    return out.str();
}
std::string ExternalQueryBuilder::composeLoadIdsQuery(const std::vector<UInt64> & ids)