From: glyn Date: Mon, 19 Jan 2015 09:19:58 +0000 (+0000) Subject: Use to_json rather than blindly quoting strings in where clause X-Git-Url: https://git.8kb.co.uk/?p=postgresql%2Fpg_jsonb_delete_op;a=commitdiff_plain;h=2b3fc59206fec1923abf43806541dbab2ba5c1d8 Use to_json rather than blindly quoting strings in where clause --- diff --git a/pg_jsonb_delete_op.sql b/pg_jsonb_delete_op.sql index 5d6473b..86868ff 100755 --- a/pg_jsonb_delete_op.sql +++ b/pg_jsonb_delete_op.sql @@ -12,7 +12,7 @@ $BODY$ ( SELECT ('{' || string_agg(to_json(key) || ':' || value, ',') || '}') FROM jsonb_each(a) - WHERE NOT ('{"' || key || '":' || value || '}')::jsonb ? b + WHERE NOT ('{' || to_json(key) || ':' || value || '}')::jsonb ? b ) , '{}')::jsonb; $BODY$ @@ -31,7 +31,7 @@ $BODY$ ( SELECT ('{' || string_agg(to_json(key) || ':' || value, ',') || '}') FROM jsonb_each(a) - WHERE NOT ('{"' || key || '":' || value || '}')::jsonb ?| b + WHERE NOT ('{' || to_json(key) || ':' || value || '}')::jsonb ?| b ) , '{}')::jsonb; $BODY$ @@ -50,7 +50,7 @@ $BODY$ ( SELECT ('{' || string_agg(to_json(key) || ':' || value, ',') || '}') FROM jsonb_each(a) - WHERE NOT ('{"' || key || '":' || value || '}')::jsonb <@ b + WHERE NOT ('{' || to_json(key) || ':' || value || '}')::jsonb <@ b ) , '{}')::jsonb; $BODY$