Re: JSONPATH documentation - Mailing list pgsql-hackers

From Steven Pousty
Subject Re: JSONPATH documentation
Date
Msg-id CAKmB1PFocVDJd3n6gW9gH6yh8s=YtitakBrPtarsExtN9EoX0Q@mail.gmail.com
Whole thread Raw
In response to Re: JSONPATH documentation  (Alexander Korotkov <a.korotkov@postgrespro.ru>)
Responses Re: JSONPATH documentation
List pgsql-hackers
Hey there:
Thanks for the education on the path spec. Too bad it is in a zip doc - do you know of a place where it is publicly available so we can link to it? Perhaps there is some document or page you think would be a good reference read for people who want to understand more?
https://standards.iso.org/ittf/PubliclyAvailableStandards/c067367_ISO_IEC_TR_19075-6_2017.zip

I am uncertain why JSONPath is considered part of the datatype any more so than string functions are considered part of the character datatype
https://www.postgresql.org/docs/11/functions-string.html


On Mon, Sep 23, 2019 at 11:07 AM Alexander Korotkov <a.korotkov@postgrespro.ru> wrote:
On Mon, Sep 23, 2019 at 7:52 PM Steven Pousty <steve.pousty@gmail.com> wrote:
> JSON Containment, JSONPath, and Transforms are means to work with JSONB but not the actual datatype itself. Doc should be split into
> 1) Data type - how do declare, indexing, considerations when using it...
> 2) Ways to work with the data type - functions, containment, JSONPath...
>
> These can be separate pages or on the same page but they need to be logically and physically separated

According to your proposal, where jsonpath functions, operators and
accessors should be described in?  On the one hand jsonpath functions
etc. are part of jsonpath datatype.  On the other hand it's functions
we apply to jsonb documents.

> There should also be a link to some of the original JSONPath spec
> https://goessner.net/articles/JsonPath/

We implement JSONPath according to SQL Standard 2016.  Your link
provides earlier attempt to implement jsonpath.  It's similar, but
some examples don't follow standard (and don't work in our
implementation).  For instance '$.store.book[(@.length-1)].title'
should be written as '$.store.book[last - 1] .title'.

> Thank you so much for putting so much work into the documentation! Please let me know if there are others way you would like to me help with the doc.

Thank you!  My main point is that we should put description of
jsonpath into single place.  But we need to reach consensus on what
this place should be.

------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

pgsql-hackers by date:

Previous
From: Alexander Korotkov
Date:
Subject: Re: Support for jsonpath .datetime() method
Next
From: Dmitry Dolgov
Date:
Subject: Re: Cache lookup errors with functions manipulation object addresses