On Wed, Feb 15, 2017 at 02:04:55PM +0100, Marek Kozlowski wrote:

> I'm wondering if it is possible for two parameters, let's say (not
> particularly those, generally):
> 
> sender_canonical_maps = sth1, sth2, sth3
> recipient_canonical_maps = sth4, sth5, sth6
> 
> 1. For `sender_canonical_maps' processing all three tables sequentially

    http://www.postfix.org/DATABASE_README.html

         pipemap (read-only)
             A pipeline of lookup tables. Example: "pipemap:{type1:name1,
             ..., typen:namen}". Each "pipemap:" query is given to the
             first table. Each lookup result becomes the query for the
             next table in the pipeline, and the last table produces
             the final result. When any table lookup produces no result,
             the pipeline produces no result. The first and last
             characters of the "pipemap:" table name must be "{" and
             "}". Within these, individual maps are separated with
             comma or whitespace.

DO NOT fail to notice, that each of the tables MUST produce a
result, a non-match in any table causes the entire pipeline to
return nothing, rather than just the last matching result.

    There's also:

         unionmap (read-only)
             A table that sends each query to multiple lookup tables
             and that concatenates all found results, separated by
             comma. The table name syntax is the same as for pipemap
             tables.

It would not be too difficult to add a cascade table type that
returns the last matching result, but no such thing is available
at present.

> 2. For `recipient_canonical_maps' processing the tables until the first
> matching entry is found; if found in let's say `sth5' then `sth6' will
> be ignored.

This is normal processing of a list of tables.

-- 
        Viktor.

Reply via email to