@@ -9604,7 +9604,7 @@ dumpFunc(Archive *fout, FuncInfo *finfo)
96049604 PQExpBuffer asPart ;
96059605 PGresult * res ;
96069606 char * funcsig ; /* identity signature */
9607- char * funcfullsig ; /* full signature */
9607+ char * funcfullsig = NULL ; /* full signature */
96089608 char * funcsig_tag ;
96099609 char * proretset ;
96109610 char * prosrc ;
@@ -9912,13 +9912,10 @@ dumpFunc(Archive *fout, FuncInfo *finfo)
99129912 funcsig = format_function_arguments (finfo , funciargs , false);
99139913 }
99149914 else
9915- {
99169915 /* pre-8.4, do it ourselves */
99179916 funcsig = format_function_arguments_old (fout ,
99189917 finfo , nallargs , allargtypes ,
99199918 argmodes , argnames );
9920- funcfullsig = funcsig ;
9921- }
99229919
99239920 funcsig_tag = format_function_signature (fout , finfo , false);
99249921
@@ -9929,7 +9926,8 @@ dumpFunc(Archive *fout, FuncInfo *finfo)
99299926 fmtId (finfo -> dobj .namespace -> dobj .name ),
99309927 funcsig );
99319928
9932- appendPQExpBuffer (q , "CREATE FUNCTION %s " , funcfullsig );
9929+ appendPQExpBuffer (q , "CREATE FUNCTION %s " , funcfullsig ? funcfullsig :
9930+ funcsig );
99339931 if (funcresult )
99349932 appendPQExpBuffer (q , "RETURNS %s" , funcresult );
99359933 else
@@ -10052,6 +10050,8 @@ dumpFunc(Archive *fout, FuncInfo *finfo)
1005210050 destroyPQExpBuffer (labelq );
1005310051 destroyPQExpBuffer (asPart );
1005410052 free (funcsig );
10053+ if (funcfullsig )
10054+ free (funcfullsig );
1005510055 free (funcsig_tag );
1005610056 if (allargtypes )
1005710057 free (allargtypes );
@@ -11508,7 +11508,7 @@ dumpAgg(Archive *fout, AggInfo *agginfo)
1150811508 PQExpBuffer labelq ;
1150911509 PQExpBuffer details ;
1151011510 char * aggsig ; /* identity signature */
11511- char * aggfullsig ; /* full signature */
11511+ char * aggfullsig = NULL ; /* full signature */
1151211512 char * aggsig_tag ;
1151311513 PGresult * res ;
1151411514 int i_aggtransfn ;
@@ -11656,11 +11656,8 @@ dumpAgg(Archive *fout, AggInfo *agginfo)
1165611656 aggsig = format_function_arguments (& agginfo -> aggfn , funciargs , true);
1165711657 }
1165811658 else
11659- {
1166011659 /* pre-8.4, do it ourselves */
1166111660 aggsig = format_aggregate_signature (agginfo , fout , true);
11662- aggfullsig = aggsig ;
11663- }
1166411661
1166511662 aggsig_tag = format_aggregate_signature (agginfo , fout , false);
1166611663
@@ -11730,7 +11727,7 @@ dumpAgg(Archive *fout, AggInfo *agginfo)
1173011727 aggsig );
1173111728
1173211729 appendPQExpBuffer (q , "CREATE AGGREGATE %s (\n%s\n);\n" ,
11733- aggfullsig , details -> data );
11730+ aggfullsig ? aggfullsig : aggsig , details -> data );
1173411731
1173511732 appendPQExpBuffer (labelq , "AGGREGATE %s" , aggsig );
1173611733
@@ -11773,6 +11770,8 @@ dumpAgg(Archive *fout, AggInfo *agginfo)
1177311770 agginfo -> aggfn .rolname , agginfo -> aggfn .proacl );
1177411771
1177511772 free (aggsig );
11773+ if (aggfullsig )
11774+ free (aggfullsig );
1177611775 free (aggsig_tag );
1177711776
1177811777 PQclear (res );
0 commit comments