Re: jsonb array-style subscripting

Andrew Dunstan <andrew@dunslane.net>

From: Andrew Dunstan <andrew@dunslane.net>
To: Pavel Stehule <pavel.stehule@gmail.com>, Jim Nasby <Jim.Nasby@bluetreble.com>
Cc: Dmitry Dolgov <9erthalion6@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2015-08-18T13:45:36Z
Lists: pgsql-hackers

On 08/18/2015 01:32 AM, Pavel Stehule wrote:
> Hi
>
> 2015-08-17 21:12 GMT+02:00 Jim Nasby <Jim.Nasby@bluetreble.com 
> <mailto:Jim.Nasby@bluetreble.com>>:
>
>     On 8/17/15 12:57 PM, Dmitry Dolgov wrote:
>
>         * is it interesting for the community?
>
>
>     We definitely need better ways to manipulate JSON.
>
>         * is that a good idea to extend the `ArrayRef` for jsonb? If it's
>         appropriate, probably we can rename it to `ArrayJsonbRef` of
>         something.
>         * what can be improved in the code at the top level (function
>         placement,
>         probably, functionality duplication, etc.)?
>         * are there any special cases, that I should take care of in this
>         implementation?
>
>
>     How would this work when you have a JSON array? Postgres array
>     syntax suddenly becoming key/value syntax for JSON seems like a
>     pretty bad idea to me. Could a different syntax (maybe {}) be used
>     instead?
>
>
> I don't understand why '{}' should be better than '[]' ?
>
> The lot of modern languages doesn't different between arrays and hash.
>
>

What is more, it would be a lot more intrusive to the parser, I suspect. 
We currently allow json path expressions to contain both object key and 
array index values, and I don't see any reason to do this differently. 
This is the syntax that was discussed at pgcon.

cheers

andrew



Commits

  1. Throw error when assigning jsonb scalar instead of a composite object

  2. Filling array gaps during jsonb subscripting

  3. Implementation of subscripting for jsonb