X-Git-Url: https://git.8kb.co.uk/?p=postgresql%2Fpg_jsonb_delete_op;a=blobdiff_plain;f=pg_jsonb_delete_op.sql;h=4f559c89d7263ffa9d120a5f4595994a718aea97;hp=7a8ee287acbc3d5aef8c2ea5d50ee58e427742c1;hb=ce7fb1c8d33d767d95ee2ef255473d49241c1f30;hpb=820747d1f09e01a242e0b6906ae3161628d70734 diff --git a/pg_jsonb_delete_op.sql b/pg_jsonb_delete_op.sql index 7a8ee28..4f559c8 100755 --- a/pg_jsonb_delete_op.sql +++ b/pg_jsonb_delete_op.sql @@ -12,15 +12,15 @@ $BODY$ ( SELECT ('{' || string_agg(to_json(key) || ':' || value, ',') || '}') FROM jsonb_each(a) - WHERE NOT ('{"' || key || '":' || value || '}')::jsonb ? b + WHERE NOT to_json(key)::jsonb ? b ) , '{}')::jsonb; $BODY$ LANGUAGE sql IMMUTABLE STRICT; -COMMENT ON FUNCTION jsonb_delete_left(jsonb, text[]) IS 'delete key in second argument from first argument'; +COMMENT ON FUNCTION jsonb_delete_left(jsonb, text) IS 'delete key in second argument from first argument'; CREATE OPERATOR - ( PROCEDURE = jsonb_delete_left, LEFTARG = jsonb, RIGHTARG = text); -COMMENT ON OPERATOR - (jsonb, text[]) IS 'delete key from left operand'; +COMMENT ON OPERATOR - (jsonb, text) IS 'delete key from left operand'; -- @@ -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)::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$