src/bin/pg_dump/pg_dump.c
static char *
format_aggregate_signature(const AggInfo *agginfo, Archive *fout, bool honor_quotes)
{
	PQExpBufferData buf;
	int			j;

	initPQExpBuffer(&buf);
	if (honor_quotes)
		appendPQExpBufferStr(&buf, fmtId(agginfo->aggfn.dobj.name));
	else
		appendPQExpBufferStr(&buf, agginfo->aggfn.dobj.name);

	if (agginfo->aggfn.nargs == 0)
		appendPQExpBufferStr(&buf, "(*)");
	else
	{
		appendPQExpBufferChar(&buf, '(');
		for (j = 0; j < agginfo->aggfn.nargs; j++)
			appendPQExpBuffer(&buf, "%s%s",
							  (j > 0) ? ", " : "",
							  getFormattedTypeName(fout,
												   agginfo->aggfn.argtypes[j],
												   zeroIsError));
		appendPQExpBufferChar(&buf, ')');
	}
	return buf.data;
}
/*
 * format_aggregate_signature: generate aggregate name and argument list
 *
 * The argument type names are qualified if needed.  The aggregate name
 * is never qualified.
 */
generate aggregate name and argument list
The argument type names are qualified if needed.  The aggregate name
is never qualified.
generate aggregate name and argument list The argument type names are qualified if needed . The aggregate name is never qualified .
static char *
format_aggregate_signature(const AggInfo *agginfo, Archive *fout, bool honor_quotes)
{
	PQExpBufferData buf;
	int			j;
	initPQExpBuffer(&buf);
	if (honor_quotes)
		appendPQExpBufferStr(&buf, fmtId(agginfo->aggfn.dobj.name));
	else
		appendPQExpBufferStr(&buf, agginfo->aggfn.dobj.name);
	if (agginfo->aggfn.nargs == 0)
		appendPQExpBufferStr(&buf, "(*)");
	else
	{
		appendPQExpBufferChar(&buf, '(');
		for (j = 0; j < agginfo->aggfn.nargs; j++)
			appendPQExpBuffer(&buf, "%s%s",
							  (j > 0) ? ", " : "",
							  getFormattedTypeName(fout,
												   agginfo->aggfn.argtypes[j],
												   zeroIsError));
		appendPQExpBufferChar(&buf, ')');
	}
	return buf.data;
}
static char * format_aggregate_signature ( const AggInfo * agginfo , Archive * fout , bool honor_quotes ) { PQExpBufferData buf ; int j ; initPQExpBuffer ( & buf ) ; if ( honor_quotes ) appendPQExpBufferStr ( & buf , fmtId ( agginfo -> aggfn . dobj . name ) ) ; else appendPQExpBufferStr ( & buf , agginfo -> aggfn . dobj . name ) ; if ( agginfo -> aggfn . nargs == 0 ) appendPQExpBufferStr ( & buf , " " ) ; else { appendPQExpBufferChar ( & buf , ' ' ) ; for ( j = 0 ; j < agginfo -> aggfn . nargs ; j ++ ) appendPQExpBuffer ( & buf , " " , ( j > 0 ) ? " " : " " , getFormattedTypeName ( fout , agginfo -> aggfn . argtypes [ j ] , zeroIsError ) ) ; appendPQExpBufferChar ( & buf , ' ' ) ; } return buf . data ; }
format_aggregate_signature: generate aggregate name and argument list
 The argument type names are qualified if needed.
format_aggregate_signature : generate aggregate name and argument list The argument type names are qualified if needed .