json support for composites in upcoming 9.2 - Mailing list pgsql-general

From jan zimmek
Subject json support for composites in upcoming 9.2
Date
Msg-id 3AE10649-9C99-4B01-AA94-431824DC2DB3@web.de
Whole thread Raw
Responses Re: json support for composites in upcoming 9.2  (Merlin Moncure <mmoncure@gmail.com>)
List pgsql-general
hi,

i am looking into json support of the upcoming 9.2 release and have a question about the row_to_json function. is there
away to specify the column aliases of a nested composite row without creating a custom type ? 

here is an example:

select
  row_to_json(t1)
from (
  select
    'joe' as username,
    row(1, 'prj1') project
) t1;

the output is:

{"username":"joe","project":{"f1":1,"f2":"prj1"}}

i want the output to be:

{"username":"joe","project":{"project_id":1,"project_name":"prj1"}}

i thought of something like this:

select
  row_to_json(t1)
from (
  select
    'joe' as username,
    (select * from (values(1, 'prj1')) as project(project_id, project_name)) as project
) t1;

but this fails with "ERROR: subquery must return only one column".


any help would be really appreciated.

regards
jan zimmek

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: select distinct in a subquery bug/problem
Next
From: Craig Ringer
Date:
Subject: Re: External Storage of data dir