]> granicus.if.org Git - postgresql/commitdiff
Get rid of bogus separate pg_proc entries for json_extract_path operators.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 26 Jun 2014 23:22:15 +0000 (16:22 -0700)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 26 Jun 2014 23:22:15 +0000 (16:22 -0700)
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.

doc/src/sgml/func.sgml
src/include/catalog/catversion.h
src/include/catalog/pg_operator.h
src/include/catalog/pg_proc.h
src/test/regress/expected/opr_sanity.out

index f4754588ae7594061969da7f4eb76302a33e040b..551576a08b63f785d9c8323c7e3e50c57cba1424 100644 (file)
@@ -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>#&gt;</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>#&gt;&gt;</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>
index d7a5c26febc4495676b3fd241ef666f91277e0e9..6f5847d0cec97f5605694bace7dd6ee5bc2f78e8 100644 (file)
@@ -53,6 +53,6 @@
  */
 
 /*                                                     yyyymmddN */
-#define CATALOG_VERSION_NO     201406181
+#define CATALOG_VERSION_NO     201406262
 
 #endif
index 87ee4eb85201b6298a99422f0b04c156451ab12f..f8b4a65b993532771904367712b640e169a714d7 100644 (file)
@@ -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");
index 762ce6ca09c16c32f113130fd6a47b33621ffbff..0b6105b3971ffe8d8b77ba0012225b339d88083d 100644 (file)
@@ -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_ ));
index c8d8ffd7bac72623942edb03020a2630dcb56026..c04cddc4eeca6fe8adbf76555e0df3e71bac43f9 100644 (file)
@@ -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.