On Thu, Dec 31, 2015 at 10:47 AM, Haribabu Kommi <kommi.harib...@gmail.com> wrote: > On Wed, Dec 30, 2015 at 9:48 PM, Shulgin, Oleksandr > <oleksandr.shul...@zalando.de> wrote: >> On Wed, Dec 30, 2015 at 4:31 AM, Haribabu Kommi <kommi.harib...@gmail.com> >> wrote: >>> >>> >>> Adding quotes to pg_hba_lookup function makes it different from others. >>> The issues regarding the same is already discussed in [1]. >>> >>> select a.database[1], b.datname from >>> pg_hba_lookup('postgres','kommih','::1') >>> as a, pg_database as b where a.database[1] >>> = b.datname; >>> >>> The queries like above are not possible with quoted output. It is very >>> rare that the >>> pg_hba_lookup function used in join operations, but still it is better >>> to provide >>> data without quotes. so I reverted these changes in the attached latest >>> patch. >> >> >> That's a good point. I wonder that maybe instead of re-introducing quotes >> we could somehow make the unquoted keywords that have special meaning stand >> out, e.g: >> >> database | {$sameuser} >> user_name | {$all} >> >> That should make it obvious which of the values are placeholders and doesn't >> interfere with joining database or user catalogs (while I would call >> "sameuser" a very unlikely name for a database, "all" might be not that >> unlikely name for a user, e.g. someone called like "Albert L. Lucky" could >> use that as a login name). > > It is not only the problem with joins, the following two cases works > without quotes only. > With quotes the query doesn't match with the database name. > > select * from pg_hba_lookup('Test', 'kommih','127.0.0.1') where > database = '{"Test"}'; > select * from pg_hba_lookup('Test', 'kommih','127.0.0.1') where > database = '{Test}';
Hi, Do you have any further comments on the patch that needs to be taken care? Regards, Hari Babu Fujitsu Australia -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers