aboutsummaryrefslogtreecommitdiff
path: root/src/include/utils/json.h
diff options
context:
space:
mode:
authorAndrew Dunstan <andrew@dunslane.net>2014-12-12 09:00:43 -0500
committerAndrew Dunstan <andrew@dunslane.net>2014-12-12 09:00:43 -0500
commit237a8824430c607fce1eafde0c625744d50a455c (patch)
treee8f0fcf9806697ef2754e83b24815a2c97af363d /src/include/utils/json.h
parentb1332e98c441b40300670f55a4303bf69cd8b226 (diff)
downloadpostgresql-237a8824430c607fce1eafde0c625744d50a455c.tar.gz
postgresql-237a8824430c607fce1eafde0c625744d50a455c.zip
Add json_strip_nulls and jsonb_strip_nulls functions.
The functions remove object fields, including in nested objects, that have null as a value. In certain cases this can lead to considerably smaller datums, with no loss of semantic information. Andrew Dunstan, reviewed by Pavel Stehule.
Diffstat (limited to 'src/include/utils/json.h')
-rw-r--r--src/include/utils/json.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/include/utils/json.h b/src/include/utils/json.h
index 82cc48b7113..cada47e96e7 100644
--- a/src/include/utils/json.h
+++ b/src/include/utils/json.h
@@ -63,6 +63,7 @@ extern Datum json_populate_record(PG_FUNCTION_ARGS);
extern Datum json_populate_recordset(PG_FUNCTION_ARGS);
extern Datum json_to_record(PG_FUNCTION_ARGS);
extern Datum json_to_recordset(PG_FUNCTION_ARGS);
+extern Datum json_strip_nulls(PG_FUNCTION_ARGS);
extern Datum jsonb_object_field(PG_FUNCTION_ARGS);
extern Datum jsonb_object_field_text(PG_FUNCTION_ARGS);
@@ -80,5 +81,6 @@ extern Datum jsonb_populate_record(PG_FUNCTION_ARGS);
extern Datum jsonb_populate_recordset(PG_FUNCTION_ARGS);
extern Datum jsonb_to_record(PG_FUNCTION_ARGS);
extern Datum jsonb_to_recordset(PG_FUNCTION_ARGS);
+extern Datum jsonb_strip_nulls(PG_FUNCTION_ARGS);
#endif /* JSON_H */