pgsql: Fix JSON aggregates to work properly when final function is re-e

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Fix JSON aggregates to work properly when final function is re-e
Дата
Msg-id E1Xvtex-0007DD-TU@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Fix JSON aggregates to work properly when final function is re-executed.

Davide S. reported that json_agg() sometimes produced multiple trailing
right brackets.  This turns out to be because json_agg_finalfn() attaches
the final right bracket, and was doing so by modifying the aggregate state
in-place.  That's verboten, though unfortunately it seems there's no way
for nodeAgg.c to check for such mistakes.

Fix that back to 9.3 where the broken code was introduced.  In 9.4 and
HEAD, likewise fix json_object_agg(), which had copied the erroneous logic.
Make some cosmetic cleanups as well.

Branch
------
REL9_3_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/8571ecb24f57a3aefc412eaf775423f9e456e47f

Modified Files
--------------
src/backend/utils/adt/json.c |   32 ++++++++++++++++++++++++++++----
1 file changed, 28 insertions(+), 4 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: pgsql: Move security_label test
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: Fix JSON aggregates to work properly when final function is re-e