Andrew Dunstan <and...@dunslane.net> writes: > On 08/29/2015 08:47 AM, Shulgin, Oleksandr wrote: >> Given there were no loud complaints about this, the current behavior >> is appropriate for most users, the rest can still work around using >> coalesce(to_json(...), json 'null').
> I don't think it's necessarily more correct. But I do agree that it's > not a good idea to change the behaviour unless there is major > unhappiness with it. I'm not entirely convinced that JSON NULL and SQL NULL should be treated as the same concept, so I would say that the current behavior is fine --- at least when you think about it in isolation. However, haven't we already bought into that equivalence in these examples? regression=# select row_to_json(row(1,null,2)); row_to_json --------------------------- {"f1":1,"f2":null,"f3":2} (1 row) regression=# select array_to_json(array[1,null,2]); array_to_json --------------- [1,null,2] (1 row) or even in to_json itself: regression=# select to_json(array[1,null,2]); to_json ------------ [1,null,2] (1 row) The scalar case is definitely failing to be consistent with these. Is consistency a sufficient reason to change it? regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers