aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/arrayfuncs.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2014-12-02 15:02:40 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2014-12-02 15:02:40 -0500
commitf0eeba6f83ed16687d8743b34e519de45c3915ec (patch)
treef2c114440fb3efb291c584b14e5b05ebbc38b892 /src/backend/utils/adt/arrayfuncs.c
parentac0aa07e96b3ebf7b8b2bebfc56fc86fb90c14f5 (diff)
downloadpostgresql-f0eeba6f83ed16687d8743b34e519de45c3915ec.tar.gz
postgresql-f0eeba6f83ed16687d8743b34e519de45c3915ec.zip
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.
Diffstat (limited to 'src/backend/utils/adt/arrayfuncs.c')
0 files changed, 0 insertions, 0 deletions