Re: SQL/JSON: functions
Zhihong Yu <zyu@yugabyte.com>
For 0001-Common-SQL-JSON-clauses-v51.patch : + /* | implementation_defined_JSON_representation_option (BSON, AVRO etc) */ I don't find implementation_defined_JSON_representation_option in the patchset. Maybe rephrase the above as a comment without implementation_defined_JSON_representation_option ? For getJsonEncodingConst(), should the method error out for the default case of switch (encoding) ? 0002-SQL-JSON-constructors-v51.patch : + Assert(!OidIsValid(collation)); /* result is always an json[b] type */ an json -> a json + /* XXX TEXTOID is default by standard */ + returning->typid = JSONOID; Comment doesn't seem to match the assignment. For json_object_agg_transfn : + if (out->len > 2) + appendStringInfoString(out, ", "); Why length needs to be at least 3 (instead of 2) ? Cheers On Fri, Dec 25, 2020 at 12:26 PM Nikita Glukhov <n.gluhov@postgrespro.ru> wrote: > On 17.09.2020 08:41, Michael Paquier wrote: > > On Sat, Jul 18, 2020 at 09:24:11AM -0400, Andrew Dunstan wrote: > > I think patches 5 and 6 need to be submitted to the next commitfest, > This is far too much scope creep to be snuck in under the current CF item. > > I'll look at patches 1-4. > > Even with that, the patch set has been waiting on author for the last > six weeks, so I am marking it as RwF for now. Please feel free to > resubmit. > > Attached 51st version of the patches rebased onto current master. > > > There were some shift/reduce conflicts in SQL grammar that have appeared > after "expr AS keyword" refactoring in 06a7c3154f. I'm not sure if I resolved > them correctly. JSON TEXT pseudotype, introduced in #0006, caused a lot of > grammar conflicts, so it was replaced with simple explicit pg_catalog.json. > > Also new CoercionForm COERCE_SQL_SYNTAX was introduced, and this reminds custom > function formats that I have used in earlier version of the patches for > deparsing of SQL/JSON constructor expressions that were based on raw json[b] > function calls. These custom function formats were replaced in v43 with > dedicated executor nodes for SQL/JSON constructors. So, I'm not sure is it > worth to try to replace back nodes with new COERCE_SQL_SYNTAX. > > -- > Nikita Glukhov > Postgres Professional: http://www.postgrespro.com > The Russian Postgres Company > >
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
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
-
Improve readability of SQL/JSON documentation.
- b46bcf7a4b6f 15.0 landed
-
Documentation for SQL/JSON features
- a6baa4baddd5 15.0 landed
-
RETURNING clause for JSON() and JSON_SCALAR()
- 49082c2cc3d8 15.0 landed
-
SQL JSON functions
- 606948b058dc 15.0 landed
-
SQL/JSON query functions
- 1a36bc9dba8e 15.0 landed
-
IS JSON predicate
- 33a377608fc2 15.0 landed
-
SQL/JSON constructors
- f4fb45d15c59 15.0 landed
-
Common SQL/JSON clauses
- f79b803dcc98 15.0 landed
- 865fe4d5df56 15.0 landed
-
Doc: remove obsolete entries in table of BRIN strategy numbers.
- 0ce4cd04da55 14.0 cited
-
Doc: standardize markup a bit more.
- 47046763c3ed 13.0 cited
-
Make pg_regress.c unset PGDATABASE during make installcheck.
- 5ee96b3e2221 13.0 cited
-
Fix handling of GENERATED columns in CREATE TABLE LIKE INCLUDING DEFAULTS.
- b81a9c2fc525 13.0 cited