Re: Duplicate JSON Object Keys - Mailing list pgsql-hackers

From Robert Haas
Subject Re: Duplicate JSON Object Keys
Date
Msg-id CA+Tgmob8c1-Knz7JwWgsXXqf-XR4=jkME5ftVpJhPkrH5R4qCw@mail.gmail.com
Whole thread Raw
In response to Duplicate JSON Object Keys  ("David E. Wheeler" <david@justatheory.com>)
Responses Re: Duplicate JSON Object Keys  (Hannu Krosing <hannu@2ndQuadrant.com>)
List pgsql-hackers
On Thu, Mar 7, 2013 at 2:48 PM, David E. Wheeler <david@justatheory.com> wrote:
> In the spirit of being liberal about what we accept but strict about what we store, it seems to me that JSON object
keyuniqueness should be enforced either by throwing an error on duplicate keys, or by flattening so that the latest key
wins(as happens in JavaScript). I realize that tracking keys will slow parsing down, and potentially make it more
memory-intensive,but such is the price for correctness. 

I'm with Andrew.  That's a rathole I emphatically don't want to go
down.  I wrote this code originally, and I had the thought clearly in
mind that I wanted to accept JSON that was syntactically well-formed,
not JSON that met certain semantic constraints.  We could add
functions like json_is_non_stupid(json) so that people can easily add
a CHECK constraint that enforces this if they so desire.  But
enforcing it categorically seems like a bad plan, especially since at
this point it would require a compatibility break with previous
releases.

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



pgsql-hackers by date:

Previous
From: Dann Corbit
Date:
Subject: Re: Why do we still perform a check for pre-sorted input within qsort variants?
Next
From: Hannu Krosing
Date:
Subject: Re: Duplicate JSON Object Keys