On Wed, May 01, 2019 at 09:57:29PM +0200, John Fawcett wrote:

> >     virtual_alias_maps = {
> >         hash:/etc/postfix/virtual,
> >         { search = full, full-noext, localpart-if-local, at-domain }
> >     } {
> >         other table ...
> >     }
> >
> > Ditto for canonical_maps and transport_maps.
> >
> > This would be a compatibility break, because with the above, all
> > virtual_alias_maps searches are done on the first table before
> > trying the next table. One could argue that current behavior is
> > non-intuitive.

> If virtual_alias_maps are the only place where postfix searches for a
> pattern across multiple tables before passing on to the next pattern
> then it should not be too much of a surprise to bring it in line with
> the rest of the lookup logic.

As mentioned above, it is not just virtual aliases, but the proposed
compatibility break is likely what most users actually expect, and
then have to learn the actual non-intuitive behaviour.

> Though personally I would vote for the incompatible change.

I also would support the compatibility break.  The proposed new
behaviour is more intuitive, and I think more useful.  When the
first table has a matching "partial" key, and the second table has
a matching "full" key.  I would still expect the first table to
win, with the second table consulted only when the first table would
yield no result on its own.

-- 
        Viktor.

Reply via email to