Re: SQL/JSON features for v15
Andrew Dunstan <andrew@dunslane.net>
From: Andrew Dunstan <andrew@dunslane.net>
To: Nikita Glukhov <n.gluhov@postgrespro.ru>,
"Jonathan S. Katz" <jkatz@postgresql.org>, Tom Lane <tgl@sss.pgh.pa.us>
Cc: Robert Haas <robertmhaas@gmail.com>, Andres Freund <andres@anarazel.de>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>,
Michael Paquier <michael@paquier.xyz>,
John Naylor <john.naylor@enterprisedb.com>,
Amit Langote <amitlangote09@gmail.com>
Date: 2022-08-26T20:36:34Z
Lists: pgsql-hackers
On 2022-08-26 Fr 16:11, Nikita Glukhov wrote: > > Hi, > > On 26.08.2022 22:25, Andrew Dunstan wrote: >> On 2022-08-24 We 20:05, Nikita Glukhov wrote: >>> v8 - is a highly WIP patch, which I failed to finish today. >>> Even some test cases fail now, and they simply show unfinished >>> things like casts to bytea (they can be simply removed) and missing >>> safe input functions. >> Thanks for your work, please keep going. > I have completed in v9 all the things I previously planned: > > - Added missing safe I/O and type conversion functions for > datetime, float4, varchar, bpchar. This introduces a lot > of boilerplate code for returning errors and also maybe > adds some overhead. > > - Added JSON_QUERY coercion to UTF8 bytea using pg_convert_to(). > > - Added immutability checks that were missed with elimination > of coercion expressions. > Coercions text::datetime, datetime1::datetime2 and even > datetime::text for some datetime types are mutable. > datetime::text can be made immutable by passing ISO date > style into output functions (like in jsonpath). > > - Disabled non-Const expressions in DEFAULT ON EMPTY in non > ERROR ON ERROR case. Non-constant expressions are tried to > evaluate into Const directly inside transformExpr(). > Maybe it would be better to simply remove DEFAULT ON EMPTY. Yes, I think that's what I suggested upthread. I don't think DEFAULT ON EMPTY matters that much, and we can revisit it for release 16. If it's simpler please do it that way. > > > It is possible to easily split this patch into several subpatches, > I will do it if needed. Thanks, probably a good idea but I will start reviewing what you have now. Andres and others please chime in if you can. cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com
Commits
-
JSON_TABLE: Add support for NESTED paths and columns
- bb766cde63b4 17.0 landed
-
Add basic JSON_TABLE() functionality
- de3600452b61 17.0 landed
-
Add SQL/JSON query functions
- 6185c9737cf4 17.0 landed
-
Add soft error handling to some expression nodes
- aaaf9449ec6b 17.0 landed
-
Adjust populate_record_field() to handle errors softly
- 1edb3b491bee 17.0 landed
-
Refactor code used by jsonpath executor to fetch variables
- faa2b953ba3b 17.0 landed
-
Add more SQL/JSON constructor functions
- 03734a7fed7d 17.0 landed
-
SQL/JSON: support the IS JSON predicate
- 6ee30209a6f1 16.0 landed
-
SQL/JSON: add standard JSON constructor functions
- 7081ac46ace8 16.0 landed
-
Revert SQL/JSON features
- 96ef3237bf74 15.0 landed
- 2f2b18bd3f55 16.0 landed
-
Numeric error suppression in jsonpath
- 16d489b0fe05 12.0 cited