Infact there is no need to roll up values in where clause when deleteing by key
authorglyn <glyn@8kb.co.uk>
Mon, 19 Jan 2015 09:41:44 +0000 (09:41 +0000)
committerglyn <glyn@8kb.co.uk>
Mon, 19 Jan 2015 09:41:44 +0000 (09:41 +0000)
pg_jsonb_delete_op.sql

index 86868ff..4f559c8 100755 (executable)
@@ -12,7 +12,7 @@ $BODY$
         (
             SELECT ('{' || string_agg(to_json(key) || ':' || value, ',') || '}')
             FROM jsonb_each(a)
-            WHERE NOT ('{' || to_json(key) || ':' || value || '}')::jsonb ? b
+            WHERE NOT to_json(key)::jsonb ? b
         )
     , '{}')::jsonb;
 $BODY$
@@ -31,7 +31,7 @@ $BODY$
         (
             SELECT ('{' || string_agg(to_json(key) || ':' || value, ',') || '}')
             FROM jsonb_each(a)
-            WHERE NOT ('{' || to_json(key) || ':' || value || '}')::jsonb ?| b
+            WHERE NOT to_json(key)::jsonb ?| b
         )
     , '{}')::jsonb;
 $BODY$