‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday, May 20, 2019 12:37 AM, John Fawcett via dovecot 
<dovecot@dovecot.org> wrote:

> So looking into this with a postgresql databse to work with: the above query 
> does not work. You have to specify either the column name or the constraint 
> name that you expect to be violated in order for the update to take place.
>
> With a map like this one you're using
>
> map {
>     pattern = shared/last-login/$user/$domain
>     table = last_login
>     value_field = last_login
>     value_type = uint
>
>     fields {
>         username = $user
>         domain = $domain
>     }
> }
>
> there's no field name that is obviously the primary key. I've reworked the 
> patch to use the postgres default primary key constraint name 
> (tablename_pkey).

So as you mention the new query you adapted which includes the primary key 
works, I tested it manually against PostgreSQL 10.5.

> The attached fix should work in that case, although I feel it's not general 
> enough.

Unfortunately my compiling skills are quite poor and I did not manage to patch 
and recompile Dovecot on OpenBSD.

Do you think your patch will make it into the Dovecot code?

Reply via email to