Re: json api WIP patch - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: json api WIP patch
Date
Msg-id 50F4A868.2080303@dunslane.net
Whole thread Raw
In response to Re: json api WIP patch  (Merlin Moncure <mmoncure@gmail.com>)
Responses Re: json api WIP patch
List pgsql-hackers
On 01/14/2013 07:36 PM, Merlin Moncure wrote:
> While testing this I noticed that integer based 'get' routines are
> zero based -- was this intentional?  Virtually all other aspects of
> SQL are 1 based:
>
> postgres=# select json_get('[1,2,3]', 1);
>   json_get
> ----------
>   2
> (1 row)
>
> postgres=# select json_get('[1,2,3]', 0);
>   json_get
> ----------
>   1
> (1 row)
>


Yes. it's intentional. SQL arrays might be 1-based by default, but 
JavaScript arrays are not. JsonPath and similar gadgets treat the arrays 
as zero-based. I suspect the Json-using community would not thank us for 
being overly SQL-centric on this - and I say that as someone who has 
always thought zero based arrays were a major design mistake, 
responsible for countless off-by-one errors.

cheers

andrew



pgsql-hackers by date:

Previous
From: Merlin Moncure
Date:
Subject: Re: json api WIP patch
Next
From: Andres Freund
Date:
Subject: logical changeset generation v4