]> git.8kb.co.uk Git - postgresql/jsonb_delete/blob - jsonb_delete_sql_comparison.sql
Initial commit
[postgresql/jsonb_delete] / jsonb_delete_sql_comparison.sql
1 -- The function in this script is an SQL version for comparison
2 -- of performance with C version.
3
4 --
5
6 CREATE OR REPLACE FUNCTION jsonb_delete_left(a jsonb, b jsonb)
7 RETURNS jsonb AS
8 $BODY$
9 SELECT COALESCE(
10 (
11 SELECT ('{' || string_agg(to_json(key) || ':' || value, ',') || '}')
12 FROM jsonb_each(a)
13 WHERE NOT ('{' || to_json(key) || ':' || value || '}')::jsonb <@ b
14 )
15 , '{}')::jsonb;
16 $BODY$
17 LANGUAGE sql IMMUTABLE STRICT;
18