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.glu...@postgrespro.ru <mailto:n.glu...@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.glu...@postgrespro.ru
    <mailto:n.glu...@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

Attachment: 0001-Add-common-SQL_JSON-clauses-v47.patch.gz
Description: application/gzip

Attachment: 0002-SQLJSON-constructors-v47.patch.gz
Description: application/gzip

Attachment: 0003-IS-JSON-predicate-v47.patch.gz
Description: application/gzip

Attachment: 0004-SQLJSON-query-functions-v47.patch.gz
Description: application/gzip

Reply via email to