Bug in pg_describe_object (was: Re: [HACKERS] obj_unique_identifier(oid)) - Mailing list pgsql-hackers

From Andreas Karlsson
Subject Bug in pg_describe_object (was: Re: [HACKERS] obj_unique_identifier(oid))
Date
Msg-id 1294688330.27439.59.camel@jansson
Whole thread Raw
In response to Re: obj_unique_identifier(oid)  (Andreas Karlsson <andreas@proxel.se>)
Responses Re: Bug in pg_describe_object (was: Re: [HACKERS] obj_unique_identifier(oid))  (Joel Jacobson <joel@gluefinance.com>)
Re: Bug in pg_describe_object (was: Re: [HACKERS] obj_unique_identifier(oid))  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Bug in pg_describe_object, patch v2  (Andreas Karlsson <andreas@proxel.se>)
List pgsql-hackers
Here is the bug-fix patch again with a description of the context so I
can add it to the commit fest.

Joel Jacobson discovered a bug in the function pg_describe_object where
it does not produce unique identifiers for some entries in pg_amproc.

This patch fixes the bug where when two entries in pg_amproc only differ
in amproclefttype or amprocrighttype the same description will be
produced by pg_describe_object, by simply adding the two fields
(amproclefttype, amprocrighttype) to the description.

== Before patch

SELECT pg_describe_object('pg_amproc'::regclass,oid,0)
    FROM pg_amproc WHERE oid IN (10608,10612);
                                 pg_describe_object
------------------------------------------------------------------------------------
 function 1 bttextcmp(text,text) of operator family array_ops for access method gin
 function 1 bttextcmp(text,text) of operator family array_ops for access method gin
(2 rows)

== After patch

SELECT pg_describe_object('pg_amproc'::regclass,oid,0)
    FROM pg_amproc WHERE oid IN (10608,10612);
                                                        pg_describe_object
          

----------------------------------------------------------------------------------------------------------------------------------
 function 1 bttextcmp(text,text) of operator family array_ops for access method gin for (text[],text[])
 function 1 bttextcmp(text,text) of operator family array_ops for access method gin for (character varying[],character
varying[])
(2 rows)

Regards,
Andreas

Attachment

pgsql-hackers by date:

Previous
From: Josh Berkus
Date:
Subject: Re: Compatibility GUC for serializable
Next
From: Magnus Hagander
Date:
Subject: walsender parser patch