From dd5f0db96ba68553e3ab2c1d9d117863a5637c67 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 23 Jan 2011 14:13:46 -0500 Subject: [PATCH] Improve getObjectDescription's display of pg_amop and pg_amproc entries. Include the lefttype/righttype columns explicitly (instead of assuming the reader can deduce them from the operator or function description), and move the operator or function description to the end of the string, to make it clearer that it's a referenced object and not the amop or amproc item itself. Per extensive discussion of Andreas Karlsson's original patch. Andreas Karlsson, Tom Lane --- src/backend/catalog/dependency.c | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/src/backend/catalog/dependency.c b/src/backend/catalog/dependency.c index ec8eb74954..ba0ea178ac 100644 --- a/src/backend/catalog/dependency.c +++ b/src/backend/catalog/dependency.c @@ -2339,13 +2339,17 @@ getObjectDescription(const ObjectAddress *object) /* * translator: %d is the operator strategy (a number), the - * first %s is the textual form of the operator, and the - * second %s is the description of the operator family. + * first two %s's are data type names, the third %s is the + * description of the operator family, and the last %s is the + * textual form of the operator with arguments. */ - appendStringInfo(&buffer, _("operator %d %s of %s"), + appendStringInfo(&buffer, _("operator %d (%s, %s) of %s: %s"), amopForm->amopstrategy, - format_operator(amopForm->amopopr), - opfam.data); + format_type_be(amopForm->amoplefttype), + format_type_be(amopForm->amoprighttype), + opfam.data, + format_operator(amopForm->amopopr)); + pfree(opfam.data); systable_endscan(amscan); @@ -2385,14 +2389,18 @@ getObjectDescription(const ObjectAddress *object) getOpFamilyDescription(&opfam, amprocForm->amprocfamily); /* - * translator: %d is the function number, the first %s is the - * textual form of the function with arguments, and the second - * %s is the description of the operator family. + * translator: %d is the function number, the first two %s's + * are data type names, the third %s is the description of the + * operator family, and the last %s is the textual form of the + * function with arguments. */ - appendStringInfo(&buffer, _("function %d %s of %s"), + appendStringInfo(&buffer, _("function %d (%s, %s) of %s: %s"), amprocForm->amprocnum, - format_procedure(amprocForm->amproc), - opfam.data); + format_type_be(amprocForm->amproclefttype), + format_type_be(amprocForm->amprocrighttype), + opfam.data, + format_procedure(amprocForm->amproc)); + pfree(opfam.data); systable_endscan(amscan); -- 2.40.0