Re: SQL/JSON: functions
Nikita Glukhov <n.gluhov@postgrespro.ru>
Attachments
- 0001-Add-common-SQL_JSON-clauses-v47.patch.gz (application/gzip) patch v47-0001
- 0002-SQLJSON-constructors-v47.patch.gz (application/gzip) patch v47-0002
- 0003-IS-JSON-predicate-v47.patch.gz (application/gzip) patch v47-0003
- 0004-SQLJSON-query-functions-v47.patch.gz (application/gzip) patch v47-0004
Attached 47th version of the patches. On 21.03.2020 22:38, Pavel Stehule wrote: > > On 21. 3. 2020 v 11:07 Nikita Glukhov <n.gluhov@postgrespro.ru > <mailto:n.gluhov@postgrespro.ru>> wrote: > > Attached 46th version of the patches. > > On 20.03.2020 22:34, Pavel Stehule wrote: >> >> On 19.03.2020 23:57 Nikita Glukhov <n.gluhov@postgrespro.ru >> <mailto:n.gluhov@postgrespro.ru>> wrote: >> >> Attached 45th version of the patches. >> >> Nodes JsonFormat, JsonReturning, JsonPassing, JsonBehavior were fixed. >> >> On 17.03.2020 21:35, Pavel Stehule wrote: >>> >>> User functions json[b]_build_object_ext() and json[b]_build_array_ext() also >>> can be easily removed. But it seems harder to remove new aggregate functions >>> json[b]_objectagg() and json[b]_agg_strict(), because they can't be called >>> directly from JsonCtorExpr node. >>> >>> >>> I don't see reasons for another reduction now. Can be great >>> if you can finalize work what you plan for pg13. >>> > I have removed json[b]_build_object_ext() and json[b]_build_array_ext(). > > But json[b]_objectagg() and json[b]_agg_strict() are still present. > It seems that removing them requires majors refactoring of the execution > of Aggref and WindowFunc nodes. > I have replaced aggregate function json[b]_objectagg(key any, val any, absent_on_null boolean, unique_keys boolean) with three separate functions: json[b]_object_agg_strict(any, any) json[b]_object_agg_unique(any, any) json[b]_object_agg_unique_strict(any, any) This should be more correct than single aggregate with additional parameters. -- 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