[HACKERS] JSON Patch (RFC 6902) support?

2014-03-13 Thread Ryan Pedela
This is my first email to the PostgreSQL mailing lists so I hope this is
the correct place. If not, please let me know.

I was wondering if it would be possible and wise to support JSON Patch?
https://tools.ietf.org/html/rfc6902

One of the problems I have as a user is how to update a portion of a JSON
object efficiently. Right now I have to read the entire field from the
database, update it, and then write it back. I am thinking JSON Patch might
be a good way to solve this problem because it would allow partial updates
and I think it could easily fit into the existing set of JSON functions
such as:

// applies a JSON Patch
json_patch_apply(json, patch)

// diffs two JSON objects and produces a JSON Patch
json_patch_diff(json a, json b)

Thanks,
Ryan Pedela


Re: [HACKERS] JSON Patch (RFC 6902) support?

2014-03-13 Thread Josh Berkus
On 03/13/2014 09:53 AM, Ryan Pedela wrote:
 This is my first email to the PostgreSQL mailing lists so I hope this is
 the correct place. If not, please let me know.
 
 I was wondering if it would be possible and wise to support JSON Patch?
 https://tools.ietf.org/html/rfc6902
 
 One of the problems I have as a user is how to update a portion of a JSON
 object efficiently. Right now I have to read the entire field from the
 database, update it, and then write it back. I am thinking JSON Patch might
 be a good way to solve this problem because it would allow partial updates
 and I think it could easily fit into the existing set of JSON functions
 such as:
 
 // applies a JSON Patch
 json_patch_apply(json, patch)
 
 // diffs two JSON objects and produces a JSON Patch
 json_patch_diff(json a, json b)

I can't speak to the technical difficulties, but *I* would use it.

Note that on the backend Postgres is still going to re-write the entire
JSON value.  Also, we'd want both a json_patch and jsonb_patch, which
would have the same syntax but different internal plumbing.

-- 
Josh Berkus
PostgreSQL Experts Inc.
http://pgexperts.com


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] JSON Patch (RFC 6902) support?

2014-03-13 Thread Andrew Dunstan


On 03/13/2014 01:01 PM, Josh Berkus wrote:

On 03/13/2014 09:53 AM, Ryan Pedela wrote:

This is my first email to the PostgreSQL mailing lists so I hope this is
the correct place. If not, please let me know.

I was wondering if it would be possible and wise to support JSON Patch?
https://tools.ietf.org/html/rfc6902

One of the problems I have as a user is how to update a portion of a JSON
object efficiently. Right now I have to read the entire field from the
database, update it, and then write it back. I am thinking JSON Patch might
be a good way to solve this problem because it would allow partial updates
and I think it could easily fit into the existing set of JSON functions
such as:

// applies a JSON Patch
json_patch_apply(json, patch)

// diffs two JSON objects and produces a JSON Patch
json_patch_diff(json a, json b)

I can't speak to the technical difficulties, but *I* would use it.

Note that on the backend Postgres is still going to re-write the entire
JSON value.  Also, we'd want both a json_patch and jsonb_patch, which
would have the same syntax but different internal plumbing.




Some of this will be less than trivial especially for text-format json.

But without committing myself I'll be interested to see a patch.

cheers

andrew


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers