Am 29.01.2010 16:58, schrieb Robert Schetterer:
> Am 29.01.2010 14:57, schrieb Brian Evans - Postfix List:
>> On 1/29/2010 4:41 AM, Robert Schetterer wrote:
>>> Hi all,
>>> i have a sasl mysql map matching existing users in mysql
>>>
>>> SELECT username FROM mailbox WHERE username='%s' AND active = 1
>>>
>>> this works nice
>>>
>>> but now i need a query or chain for allowing specific admin users in
>>> mysql to allow so i am unsure about the syntax of the or statement
>>>
>>> i need something like
>>>
>>> SELECT username FROM mailbox WHERE username='%s' AND active = 1 OR
>>> SELECT username FROM domain_admins WHERE username='%s' AND domain = '%d'
>>>
>>
>> If the expected result is in either table, but not both, replace the
>> word OR with UNION.
>> If the expected result in in both tables and you want both answers, you
>> can still do the replace.
>>
>> Test results using 'postmap -q' (see 'man postmap' for detail) to make
>> sure you get the results you expect.
>>
>
> things with union work but , the problem
> seems to be the double result of equal entries
>
> query = SELECT DISTINCT concat('@', domain,' ', username) username FROM
> domain_admins WHERE username='%s'
> AND domain = '%d' UNION SELECT username FROM mailbox WHERE username='%s'
> AND active = 1
>
> i.e
>
> postmap -q "[email protected]"
> mysql:/etc/postfix/mysql_sasl_login_maps-test.cf
> @schetterer.org [email protected],[email protected]
>
> equal doubles seems to be accepted with postfix sasl map
sorry here seems not to be accepted
>
> so i like to supress the the second result if first matched allready
> any idea, destinct dousnt seem to help
--
Best Regards
MfG Robert Schetterer
Germany/Munich/Bavaria