mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-21 08:29:39 +08:00
Get rid of bogus separate pg_proc entries for json_extract_path operators.
These should not have existed to begin with, but there was apparently some misunderstanding of the purpose of the opr_sanity regression test item that checks for operator implementation functions with their own comments. The idea there is to check for unintentional violations of the rule that operator implementation functions shouldn't be documented separately .... but for these functions, that is in fact what we want, since the variadic option is useful and not accessible via the operator syntax. Get rid of the extra pg_proc entries and fix the regression test and documentation to be explicit about what we're doing here.
This commit is contained in:
parent
344eed91e9
commit
f71136eeeb
@ -10524,7 +10524,8 @@ table2-mapping
|
||||
<entry><para><type>json</type></para><para><type>jsonb</type>
|
||||
</para></entry>
|
||||
<entry>
|
||||
Returns JSON value pointed to by <replaceable>path_elems</replaceable>.
|
||||
Returns JSON value pointed to by <replaceable>path_elems</replaceable>
|
||||
(equivalent to <literal>#></literal> operator).
|
||||
</entry>
|
||||
<entry><literal>json_extract_path('{"f2":{"f3":1},"f4":{"f5":99,"f6":"foo"}}','f4')</literal></entry>
|
||||
<entry><literal>{"f5":99,"f6":"foo"}</literal></entry>
|
||||
@ -10536,7 +10537,8 @@ table2-mapping
|
||||
<entry><type>text</type></entry>
|
||||
<entry>
|
||||
Returns JSON value pointed to by <replaceable>path_elems</replaceable>
|
||||
as <type>text</>.
|
||||
as <type>text</>
|
||||
(equivalent to <literal>#>></literal> operator).
|
||||
</entry>
|
||||
<entry><literal>json_extract_path_text('{"f2":{"f3":1},"f4":{"f5":99,"f6":"foo"}}','f4', 'f6')</literal></entry>
|
||||
<entry><literal>foo</literal></entry>
|
||||
|
@ -53,6 +53,6 @@
|
||||
*/
|
||||
|
||||
/* yyyymmddN */
|
||||
#define CATALOG_VERSION_NO 201406181
|
||||
#define CATALOG_VERSION_NO 201406262
|
||||
|
||||
#endif
|
||||
|
@ -1767,9 +1767,9 @@ DATA(insert OID = 3964 ( "->" PGNSP PGUID b f f 114 23 114 0 0 json_array_el
|
||||
DESCR("get json array element");
|
||||
DATA(insert OID = 3965 ( "->>" PGNSP PGUID b f f 114 23 25 0 0 json_array_element_text - - ));
|
||||
DESCR("get json array element as text");
|
||||
DATA(insert OID = 3966 ( "#>" PGNSP PGUID b f f 114 1009 114 0 0 json_extract_path_op - - ));
|
||||
DATA(insert OID = 3966 ( "#>" PGNSP PGUID b f f 114 1009 114 0 0 json_extract_path - - ));
|
||||
DESCR("get value from json with path elements");
|
||||
DATA(insert OID = 3967 ( "#>>" PGNSP PGUID b f f 114 1009 25 0 0 json_extract_path_text_op - - ));
|
||||
DATA(insert OID = 3967 ( "#>>" PGNSP PGUID b f f 114 1009 25 0 0 json_extract_path_text - - ));
|
||||
DESCR("get value from json as text with path elements");
|
||||
DATA(insert OID = 3211 ( "->" PGNSP PGUID b f f 3802 25 3802 0 0 jsonb_object_field - - ));
|
||||
DESCR("get jsonb object field");
|
||||
@ -1779,9 +1779,9 @@ DATA(insert OID = 3212 ( "->" PGNSP PGUID b f f 3802 23 3802 0 0 jsonb_array
|
||||
DESCR("get jsonb array element");
|
||||
DATA(insert OID = 3481 ( "->>" PGNSP PGUID b f f 3802 23 25 0 0 jsonb_array_element_text - - ));
|
||||
DESCR("get jsonb array element as text");
|
||||
DATA(insert OID = 3213 ( "#>" PGNSP PGUID b f f 3802 1009 3802 0 0 jsonb_extract_path_op - - ));
|
||||
DATA(insert OID = 3213 ( "#>" PGNSP PGUID b f f 3802 1009 3802 0 0 jsonb_extract_path - - ));
|
||||
DESCR("get value from jsonb with path elements");
|
||||
DATA(insert OID = 3206 ( "#>>" PGNSP PGUID b f f 3802 1009 25 0 0 jsonb_extract_path_text_op - - ));
|
||||
DATA(insert OID = 3206 ( "#>>" PGNSP PGUID b f f 3802 1009 25 0 0 jsonb_extract_path_text - - ));
|
||||
DESCR("get value from jsonb as text with path elements");
|
||||
DATA(insert OID = 3240 ( "=" PGNSP PGUID b t t 3802 3802 16 3240 3241 jsonb_eq eqsel eqjoinsel ));
|
||||
DESCR("equal");
|
||||
|
@ -4230,10 +4230,8 @@ DATA(insert OID = 3949 ( json_array_element PGNSP PGUID 12 1 0 0 0 f f f f t f
|
||||
DATA(insert OID = 3950 ( json_array_element_text PGNSP PGUID 12 1 0 0 0 f f f f t f i 2 0 25 "114 23" _null_ _null_ "{from_json, element_index}" _null_ json_array_element_text _null_ _null_ _null_ ));
|
||||
DATA(insert OID = 3951 ( json_extract_path PGNSP PGUID 12 1 0 25 0 f f f f t f i 2 0 114 "114 1009" "{114,1009}" "{i,v}" "{from_json,path_elems}" _null_ json_extract_path _null_ _null_ _null_ ));
|
||||
DESCR("get value from json with path elements");
|
||||
DATA(insert OID = 3952 ( json_extract_path_op PGNSP PGUID 12 1 0 0 0 f f f f t f i 2 0 114 "114 1009" _null_ _null_ "{from_json,path_elems}" _null_ json_extract_path _null_ _null_ _null_ ));
|
||||
DATA(insert OID = 3953 ( json_extract_path_text PGNSP PGUID 12 1 0 25 0 f f f f t f i 2 0 25 "114 1009" "{114,1009}" "{i,v}" "{from_json,path_elems}" _null_ json_extract_path_text _null_ _null_ _null_ ));
|
||||
DESCR("get value from json as text with path elements");
|
||||
DATA(insert OID = 3954 ( json_extract_path_text_op PGNSP PGUID 12 1 0 0 0 f f f f t f i 2 0 25 "114 1009" _null_ _null_ "{from_json,path_elems}" _null_ json_extract_path_text _null_ _null_ _null_ ));
|
||||
DATA(insert OID = 3955 ( json_array_elements PGNSP PGUID 12 1 100 0 0 f f f f t t i 1 0 114 "114" "{114,114}" "{i,o}" "{from_json,value}" _null_ json_array_elements _null_ _null_ _null_ ));
|
||||
DESCR("key value pairs of a json object");
|
||||
DATA(insert OID = 3969 ( json_array_elements_text PGNSP PGUID 12 1 100 0 0 f f f f t t i 1 0 25 "114" "{114,25}" "{i,o}" "{from_json,value}" _null_ json_array_elements_text _null_ _null_ _null_ ));
|
||||
@ -4593,10 +4591,8 @@ DATA(insert OID = 3215 ( jsonb_array_element PGNSP PGUID 12 1 0 0 0 f f f f t
|
||||
DATA(insert OID = 3216 ( jsonb_array_element_text PGNSP PGUID 12 1 0 0 0 f f f f t f i 2 0 25 "3802 23" _null_ _null_ "{from_json, element_index}" _null_ jsonb_array_element_text _null_ _null_ _null_ ));
|
||||
DATA(insert OID = 3217 ( jsonb_extract_path PGNSP PGUID 12 1 0 25 0 f f f f t f i 2 0 3802 "3802 1009" "{3802,1009}" "{i,v}" "{from_json,path_elems}" _null_ jsonb_extract_path _null_ _null_ _null_ ));
|
||||
DESCR("get value from jsonb with path elements");
|
||||
DATA(insert OID = 3939 ( jsonb_extract_path_op PGNSP PGUID 12 1 0 0 0 f f f f t f i 2 0 3802 "3802 1009" _null_ _null_ "{from_json,path_elems}" _null_ jsonb_extract_path _null_ _null_ _null_ ));
|
||||
DATA(insert OID = 3940 ( jsonb_extract_path_text PGNSP PGUID 12 1 0 25 0 f f f f t f i 2 0 25 "3802 1009" "{3802,1009}" "{i,v}" "{from_json,path_elems}" _null_ jsonb_extract_path_text _null_ _null_ _null_ ));
|
||||
DESCR("get value from jsonb as text with path elements");
|
||||
DATA(insert OID = 3218 ( jsonb_extract_path_text_op PGNSP PGUID 12 1 0 0 0 f f f f t f i 2 0 25 "3802 1009" _null_ _null_ "{from_json,path_elems}" _null_ jsonb_extract_path_text _null_ _null_ _null_ ));
|
||||
DATA(insert OID = 3219 ( jsonb_array_elements PGNSP PGUID 12 1 100 0 0 f f f f t t i 1 0 3802 "3802" "{3802,3802}" "{i,o}" "{from_json,value}" _null_ jsonb_array_elements _null_ _null_ _null_ ));
|
||||
DESCR("elements of a jsonb array");
|
||||
DATA(insert OID = 3465 ( jsonb_array_elements_text PGNSP PGUID 12 1 100 0 0 f f f f t t i 1 0 25 "3802" "{3802,25}" "{i,o}" "{from_json,value}" _null_ jsonb_array_elements_text _null_ _null_ _null_ ));
|
||||
|
@ -1045,14 +1045,18 @@ SELECT p_oid, proname, prodesc FROM funcdescs
|
||||
WHERE prodesc IS DISTINCT FROM expecteddesc
|
||||
AND oprdesc NOT LIKE 'deprecated%'
|
||||
ORDER BY 1;
|
||||
p_oid | proname | prodesc
|
||||
-------+---------------+-------------------------------------
|
||||
378 | array_append | append element onto end of array
|
||||
379 | array_prepend | prepend element onto front of array
|
||||
1035 | aclinsert | add/update ACL item
|
||||
1036 | aclremove | remove ACL item
|
||||
1037 | aclcontains | contains
|
||||
(5 rows)
|
||||
p_oid | proname | prodesc
|
||||
-------+-------------------------+-------------------------------------------------
|
||||
378 | array_append | append element onto end of array
|
||||
379 | array_prepend | prepend element onto front of array
|
||||
1035 | aclinsert | add/update ACL item
|
||||
1036 | aclremove | remove ACL item
|
||||
1037 | aclcontains | contains
|
||||
3217 | jsonb_extract_path | get value from jsonb with path elements
|
||||
3940 | jsonb_extract_path_text | get value from jsonb as text with path elements
|
||||
3951 | json_extract_path | get value from json with path elements
|
||||
3953 | json_extract_path_text | get value from json as text with path elements
|
||||
(9 rows)
|
||||
|
||||
-- **************** pg_aggregate ****************
|
||||
-- Look for illegal values in pg_aggregate fields.
|
||||
|
Loading…
Reference in New Issue
Block a user