Commit f23b7914 authored by Alvaro Herrera's avatar Alvaro Herrera

Fix some string building in getObjectDescription.

parent c8e0d68a
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/catalog/dependency.c,v 1.72 2008/05/12 00:00:46 alvherre Exp $ * $PostgreSQL: pgsql/src/backend/catalog/dependency.c,v 1.73 2008/06/05 15:04:39 alvherre Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -2005,6 +2005,7 @@ getObjectDescription(const ObjectAddress *object) ...@@ -2005,6 +2005,7 @@ getObjectDescription(const ObjectAddress *object)
SysScanDesc amscan; SysScanDesc amscan;
HeapTuple tup; HeapTuple tup;
Form_pg_amop amopForm; Form_pg_amop amopForm;
StringInfoData opfam;
amopDesc = heap_open(AccessMethodOperatorRelationId, amopDesc = heap_open(AccessMethodOperatorRelationId,
AccessShareLock); AccessShareLock);
...@@ -2025,10 +2026,18 @@ getObjectDescription(const ObjectAddress *object) ...@@ -2025,10 +2026,18 @@ getObjectDescription(const ObjectAddress *object)
amopForm = (Form_pg_amop) GETSTRUCT(tup); amopForm = (Form_pg_amop) GETSTRUCT(tup);
appendStringInfo(&buffer, _("operator %d %s of "), initStringInfo(&opfam);
getOpFamilyDescription(&opfam, amopForm->amopfamily);
/*
* 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.
*/
appendStringInfo(&buffer, _("operator %d %s of %s"),
amopForm->amopstrategy, amopForm->amopstrategy,
format_operator(amopForm->amopopr)); format_operator(amopForm->amopopr),
getOpFamilyDescription(&buffer, amopForm->amopfamily); opfam.data);
pfree(opfam.data);
systable_endscan(amscan); systable_endscan(amscan);
heap_close(amopDesc, AccessShareLock); heap_close(amopDesc, AccessShareLock);
...@@ -2042,6 +2051,7 @@ getObjectDescription(const ObjectAddress *object) ...@@ -2042,6 +2051,7 @@ getObjectDescription(const ObjectAddress *object)
SysScanDesc amscan; SysScanDesc amscan;
HeapTuple tup; HeapTuple tup;
Form_pg_amproc amprocForm; Form_pg_amproc amprocForm;
StringInfoData opfam;
amprocDesc = heap_open(AccessMethodProcedureRelationId, amprocDesc = heap_open(AccessMethodProcedureRelationId,
AccessShareLock); AccessShareLock);
...@@ -2062,10 +2072,18 @@ getObjectDescription(const ObjectAddress *object) ...@@ -2062,10 +2072,18 @@ getObjectDescription(const ObjectAddress *object)
amprocForm = (Form_pg_amproc) GETSTRUCT(tup); amprocForm = (Form_pg_amproc) GETSTRUCT(tup);
appendStringInfo(&buffer, _("function %d %s of "), initStringInfo(&opfam);
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.
*/
appendStringInfo(&buffer, _("function %d %s of %s"),
amprocForm->amprocnum, amprocForm->amprocnum,
format_procedure(amprocForm->amproc)); format_procedure(amprocForm->amproc),
getOpFamilyDescription(&buffer, amprocForm->amprocfamily); opfam.data);
pfree(opfam.data);
systable_endscan(amscan); systable_endscan(amscan);
heap_close(amprocDesc, AccessShareLock); heap_close(amprocDesc, AccessShareLock);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment