On 3/3/15 9:08 AM, Greg Stark wrote:
On Mon, Jun 30, 2014 at 8:06 AM, Abhijit Menon-Sen <[email protected]> wrote:After sleeping on it, I realised that the code would return '{all}' for 'all' in pg_hba.conf, but '{"all"}' for '"all"'. So it's not exactly ambiguous, but I don't think it's especially useful for callers.Hm. Nope, it doesn't. It just says {all} regardless of whether "all" is quoted or not. This makes sense, the rules for when to quote things in pg_hba and when to quote things for arrays are separate. And we definitely don't want to start adding quotes to every token that the parser noted was quoted because then you'll start seeing things like {"\"all\""} and {"\"database with space\""} which won't make it any easier to match things. I'm not sure adding a separate column is really the solution either. You can have things like all,databasename (which is the keyword "all" not a database "all). Or more likely something like sameuser,bob or even things like replication,all.
What about a separate column that's just the text from pg_hba? Or is that what you're opposed to?
FWIW, I'd say that having the individual array elements be correct is more important than what the result of array_out is. That way you could always do array_to_string(..., ', ') and get valid pg_hba output.
-- Jim Nasby, Data Architect, Blue Treble Consulting Data in Trouble? Get it in Treble! http://BlueTreble.com -- Sent via pgsql-hackers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
