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.