Attached 47th version of the patches.
On 21.03.2020 22:38, Pavel Stehule wrote:
Attached 46th version of the patches.
On 20.03.2020 22:34, Pavel Stehule 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.