Re: JSON for PG 9.2 - Mailing list pgsql-hackers

From Robert Haas
Subject Re: JSON for PG 9.2
Date
Msg-id CA+TgmoYOqU51_REgjq_LsSzCxwfy0uZ7BogX7gxFwm339Pf2Jw@mail.gmail.com
Whole thread Raw
In response to Re: JSON for PG 9.2  (Pavel Stehule <pavel.stehule@gmail.com>)
Responses Re: JSON for PG 9.2  (Pavel Stehule <pavel.stehule@gmail.com>)
List pgsql-hackers
On Wed, Jan 11, 2012 at 1:18 AM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
> 2012/1/11 Robert Haas <robertmhaas@gmail.com>:
>> On Tue, Dec 20, 2011 at 9:06 PM, David E. Wheeler <david@kineticode.com> wrote:
>>> On Dec 20, 2011, at 10:39 AM, Claes Jakobsson wrote:
>>>> Are people explicitly asking for a) *JSON* datatype or b) a type that lets you store arbitrary complex
semi-untypeddata structures?
 
>>>
>>> Yes.
>>>
>>>> if b) then this might get a lot more interesting
>>>
>>> JSON is the most popular/likely way to represent that, I think.
>>
>> On that note, here's an updated version of the patch I posted
>> upthread, with some regression tests and minimal documentation.
>
> I like this patch and this feature.
>
> I see only one issue - there is not functionality that helps generate
> JSON in pg.
>
> What do you think about functions: array_to_json(anyarray),
> row_to_json(any) and format_json(text, text, ...)

I think we might want all of that stuff, but I doubt there is time to
do it for 9.2.

Actually, I think the next logical step would be to define equality
(is there an official definition of that for JSON?) and build a btree
opclass.  I believe the code I've already written could be extended to
construct an abstract syntax tree for those operations that need it.
But we need to make some decisions first.  A btree opclass requires a
total ordering, so we have to arbitrarily define whether 1 < true, 1 <
[1], 1 < "1", etc.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


pgsql-hackers by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: JSON for PG 9.2
Next
From: Pavel Stehule
Date:
Subject: Re: JSON for PG 9.2