On 01/14/2012 03:06 PM, Andrew Dunstan wrote:
>
>
>
> OK, here's a patch that does both query_to_json and array_to_json,
> along with docs and regression tests. It include Robert's original
> patch, although I can produce a differential patch if required. It can
> also be pulled from <https://bitbucket.org/adunstan/pgdevel>
>
>
Here's an update that adds row_to_json, plus a bit more cleanup. Example:
andrew=# SELECT row_to_json(q)
FROM (SELECT $$a$$ || x AS b,
y AS c,
ARRAY[ROW(x.*,ARRAY[1,2,3]),
ROW(y.*,ARRAY[4,5,6])] AS z
FROM generate_series(1,2) x,
generate_series(4,5) y) q;
row_to_json
--------------------------------------------------------------------
{"b":"a1","c":4,"z":[{"f1":1,"f2":[1,2,3]},{"f1":4,"f2":[4,5,6]}]}
{"b":"a1","c":5,"z":[{"f1":1,"f2":[1,2,3]},{"f1":5,"f2":[4,5,6]}]}
{"b":"a2","c":4,"z":[{"f1":2,"f2":[1,2,3]},{"f1":4,"f2":[4,5,6]}]}
{"b":"a2","c":5,"z":[{"f1":2,"f2":[1,2,3]},{"f1":5,"f2":[4,5,6]}]}
(4 rows)
(This might be more to Robert's taste than query_to_json() :-) )
cheers
andrew