aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/numeric.c
diff options
context:
space:
mode:
authorAndrew Dunstan <andrew@dunslane.net>2015-09-18 14:39:39 -0400
committerAndrew Dunstan <andrew@dunslane.net>2015-09-18 14:45:28 -0400
commit1e1ae6e0b0c11e6044c0dacd61cb17c8d8bc87f1 (patch)
tree4d86a33fa18510bb0368f445f7aed55fab485188 /src/backend/utils/adt/numeric.c
parenta39331fa573fc2bd6f93322ff190da26ddc477b5 (diff)
downloadpostgresql-1e1ae6e0b0c11e6044c0dacd61cb17c8d8bc87f1.tar.gz
postgresql-1e1ae6e0b0c11e6044c0dacd61cb17c8d8bc87f1.zip
Cache argument type information in json(b) aggregate functions.
These functions have been looking up type info for every row they process. Instead of doing that we only look them up the first time through and stash the information in the aggregate state object. Affects json_agg, json_object_agg, jsonb_agg and jsonb_object_agg. There is plenty more work to do in making these more efficient, especially the jsonb functions, but this is a virtually cost free improvement that can be done right away. Backpatch to 9.5 where the jsonb variants were introduced.
Diffstat (limited to 'src/backend/utils/adt/numeric.c')
0 files changed, 0 insertions, 0 deletions