X-Git-Url: https://git.8kb.co.uk/?p=postgresql%2Fpg_jsonb_opx;a=blobdiff_plain;f=jsonb_opx.sql.in;fp=jsonb_opx.sql.in;h=b5477b3f3b3d4ddc425ed2ce5f1dd9d820eef161;hp=782beffa0c881f1d40dfc69389bea7270ab2af03;hb=eeec9a82f053ea71be517d39ddc4c25fccfa5579;hpb=d7958daa16351c072af5fbd5d8522f10292e1aa3 diff --git a/jsonb_opx.sql.in b/jsonb_opx.sql.in index 782beff..b5477b3 100755 --- a/jsonb_opx.sql.in +++ b/jsonb_opx.sql.in @@ -1,25 +1,30 @@ -CREATE OR REPLACE FUNCTION public.jsonb_delete(jsonb, text[]) -RETURNS jsonb - AS 'MODULE_PATHNAME', 'jsonb_delete_text' -LANGUAGE C IMMUTABLE STRICT; -COMMENT ON FUNCTION public.jsonb_delete(jsonb, text[]) IS 'delete keys in second argument from first argument'; - --- DROP OPERATOR - (jsonb, text[]); -CREATE OPERATOR - ( PROCEDURE = public.jsonb_delete, LEFTARG = jsonb, RIGHTARG = text[]); -COMMENT ON OPERATOR - (jsonb, text[]) IS 'delete keys from left operand'; - --- +-- CREATE OR REPLACE FUNCTION public.jsonb_delete (jsonb, text) +-- RETURNS jsonb +-- AS 'SELECT jsonb_delete($1, ARRAY[$2]);' +-- LANGUAGE SQL IMMUTABLE STRICT; +-- COMMENT ON FUNCTION public.jsonb_delete(jsonb, text) IS 'delete key in second argument from first argument'; CREATE OR REPLACE FUNCTION public.jsonb_delete (jsonb, text) RETURNS jsonb - AS 'SELECT jsonb_delete($1, ARRAY[$2]);' -LANGUAGE SQL IMMUTABLE STRICT; + AS 'MODULE_PATHNAME', 'jsonb_delete_key' +LANGUAGE C IMMUTABLE STRICT; COMMENT ON FUNCTION public.jsonb_delete(jsonb, text) IS 'delete key in second argument from first argument'; -- DROP OPERATOR - (jsonb, text); CREATE OPERATOR - ( PROCEDURE = public.jsonb_delete, LEFTARG = jsonb, RIGHTARG = text); COMMENT ON OPERATOR - (jsonb, text) IS 'delete key from left operand'; +-- +CREATE OR REPLACE FUNCTION public.jsonb_delete(jsonb, text[]) +RETURNS jsonb + AS 'MODULE_PATHNAME', 'jsonb_delete_keys' +LANGUAGE C IMMUTABLE STRICT; +COMMENT ON FUNCTION public.jsonb_delete(jsonb, text[]) IS 'delete keys in second argument from first argument'; + +-- DROP OPERATOR - (jsonb, text[]); +CREATE OPERATOR - ( PROCEDURE = public.jsonb_delete, LEFTARG = jsonb, RIGHTARG = text[]); +COMMENT ON OPERATOR - (jsonb, text[]) IS 'delete keys from left operand'; + -- CREATE OR REPLACE FUNCTION public.jsonb_delete(jsonb, jsonb)