On Mon, Sep 15, 2014 at 10:39:22AM -0400, Wietse Venema wrote: > If someone specifies multiple maps, each map is given the same > query. When only some of the maps produce a result, what should > the final result be: > > - The result is "not found". This is may be desirable in some cases. > Right now, the virtual(8) daemon queries three parallel tables > for mailbox file name, uid and gid; it can't deliver mail unless > all three are available. Maybe this will allow us to avoid > introducing more parallel lookups in the future.
That would be more like a traditional join, but we don't have a way to disambiguate the various result columns. I think that users who really want this should use SQL! So my "vote" is "no" on this one. > - The result contains empty fields for unavailable results. I have > difficulty imagining where this would be desirable. Postfix > currently has no concept of "tuples of results", and therefore > has no concept that different tuple members might have different > meanings. Again, the nearest thing is the virtual(8) daemon. Not a fan of this either. > - The result is a concatenation of the available results, without > indication of what maps produce "not found". I think this is what > the current patch does, and this is OK for current Postfix. This is why I think "union" is the right name, in an SQL union there is no distinction in the result set between rows arising from different underlying subtables. -- Viktor.