Add 'ignore_nulls' option to row_to_json

Enterprise / PostgreSQL - Stephen Frost [snowman.net] - 11 September 2014 20:23 UTC

Provide an option to skip NULL values in a row when generating a JSON object from that row with row_to_json. This can reduce the size of the JSON object in cases where columns are NULL without really reducing the information in the JSON object.

This also makes row_to_json into a single function with default values, rather than having multiple functions. In passing, change array_to_json to also be a single function with default values (we don't add an 'ignore_nulls' option yet- it's not clear that there is a sensible use-case there, and it hasn't been asked for in any case).

Pavel Stehule

95d737f Add 'ignore_nulls' option to row_to_json
doc/src/sgml/func.sgml | 6 ++--
src/backend/catalog/system_views.sql | 14 ++++++++
src/backend/utils/adt/json.c | 55 +++++++++-----------------------
src/include/catalog/catversion.h | 2 +-
src/include/catalog/pg_proc.h | 8 ++---
src/include/utils/json.h | 2 --
src/test/regress/expected/json.out | 58 ++++++++++++++++++++++++++++++++++
src/test/regress/sql/json.sql | 24 ++++++++++++++
8 files changed, 118 insertions(+), 51 deletions(-)

Upstream: git.postgresql.org


  • Share