On Wed, Jun 15, 2022 at 09:22:37PM +0000, Hamid Maadani wrote: > This is good, was unaware of the multi-row result standard. > How does this work with other DBs? for example, if you have two result sets: > { "name": "hamid", "value": "test" } > { "name": "viktor", "value": "test2" }
Well, Postfix dictionaries cannot meaningfully consume structured data, you can return a single value, or a comma-separated list. If it is a list of email addresses, they should be stored in "external form" (RFC-5322 quoted) allowing robust parsing as a comma-separated list of such quoted forms). Thus "name" might be the key, and "value" the desired value column, so that a query for "hamid" would return "test", and a query for "viktor" would return "test2". But if the database also held: { "name": "devs", "value": "wietse" } { "name": "devs", "value": "viktor" } { "name": "devs", "value": "hamid" } then a query for "devs" would return: wietse,viktor,hamid > should it return as below? > hamid,test,viktor,test2 So definitely not this, it makes no sense. > Regarding the 'db_common_expand' line, I used the same function used for the > SQL dict, > to support expansions like %s , %u and such for mongodb search filter, if > that makes sense. Yes, "%s", "%u" and "%d" are reasonably expected. You should also support the "domain" attribute to limit the keys sent to the database to just email addresses with a domain part matching one of the elements of that list. -- Viktor.