]> git.8kb.co.uk Git - postgresql/pg_jsonb_opx/blob - jsonb_opx--1.0.sql
Add missing files
[postgresql/pg_jsonb_opx] / jsonb_opx--1.0.sql
1 \echo Use "CREATE EXTENSION jsonb_opx" to load this file. \quit
2
3 -- CREATE OR REPLACE FUNCTION jsonb_delete (jsonb, text) 
4 -- RETURNS jsonb
5 --     AS 'SELECT jsonb_delete($1, ARRAY[$2]);'
6 -- LANGUAGE SQL IMMUTABLE STRICT; 
7 -- COMMENT ON FUNCTION jsonb_delete(jsonb, text) IS 'delete key in second argument from first argument';
8
9 CREATE OR REPLACE FUNCTION jsonb_delete (jsonb, text) 
10 RETURNS jsonb
11     AS 'MODULE_PATHNAME', 'jsonb_delete_key'
12 LANGUAGE C IMMUTABLE STRICT; 
13 COMMENT ON FUNCTION jsonb_delete(jsonb, text) IS 'delete key in second argument from first argument';
14
15 DROP OPERATOR IF EXISTS - (jsonb, text);
16 CREATE OPERATOR - ( PROCEDURE = jsonb_delete, LEFTARG = jsonb, RIGHTARG = text);
17 COMMENT ON OPERATOR - (jsonb, text) IS 'delete key from left operand';
18
19 --
20 CREATE OR REPLACE FUNCTION jsonb_delete(jsonb, text[]) 
21 RETURNS jsonb
22         AS 'MODULE_PATHNAME', 'jsonb_delete_keys'
23 LANGUAGE C IMMUTABLE STRICT;
24 COMMENT ON FUNCTION jsonb_delete(jsonb, text[]) IS 'delete keys in second argument from first argument';
25
26 DROP OPERATOR IF EXISTS - (jsonb, text[]);
27 CREATE OPERATOR - ( PROCEDURE = jsonb_delete, LEFTARG = jsonb, RIGHTARG = text[]);
28 COMMENT ON OPERATOR - (jsonb, text[]) IS 'delete keys from left operand';
29
30 --
31
32 CREATE OR REPLACE FUNCTION jsonb_delete(jsonb, jsonb) 
33 RETURNS jsonb
34         AS 'MODULE_PATHNAME', 'jsonb_delete_jsonb'
35 LANGUAGE C IMMUTABLE STRICT;
36 COMMENT ON FUNCTION jsonb_delete(jsonb, jsonb) IS 'delete matching pairs in second argument from first argument';
37
38 DROP OPERATOR IF EXISTS - (jsonb, jsonb);
39 CREATE OPERATOR - ( PROCEDURE = jsonb_delete, LEFTARG = jsonb, RIGHTARG = jsonb);
40 COMMENT ON OPERATOR - (jsonb, jsonb) IS 'delete matching pairs from left operand';
41
42 --
43
44 CREATE OR REPLACE FUNCTION jsonb_concat(jsonb, jsonb)
45 RETURNS jsonb
46     AS 'MODULE_PATHNAME', 'jsonb_concat_jsonb'
47 LANGUAGE C IMMUTABLE STRICT;
48 COMMENT ON FUNCTION jsonb_concat(jsonb, jsonb) IS 'concatenate first and second jsonb arguments';
49
50 DROP OPERATOR IF EXISTS || (jsonb, jsonb);
51 CREATE OPERATOR || ( PROCEDURE = jsonb_concat, LEFTARG = jsonb, RIGHTARG = jsonb);
52 COMMENT ON OPERATOR || (jsonb, jsonb) IS 'concatenate jsonb types';
53
54 --
55
56 CREATE OR REPLACE FUNCTION jsonb_replace(jsonb, jsonb)
57 RETURNS jsonb
58     AS 'MODULE_PATHNAME', 'jsonb_replace_jsonb'
59 LANGUAGE C IMMUTABLE STRICT;
60 COMMENT ON FUNCTION jsonb_replace(jsonb, jsonb) IS 'replace occurrences of second jsonb argument in first';
61
62 DROP OPERATOR IF EXISTS #= (jsonb, jsonb);
63 CREATE OPERATOR #= ( PROCEDURE = jsonb_replace, LEFTARG = jsonb, RIGHTARG = jsonb);
64 COMMENT ON OPERATOR #= (jsonb, jsonb) IS 'replace values for matching keys in jsonb types';