77 *
88 *
99 * IDENTIFICATION
10- * $Header: /cvsroot/pgsql/src/backend/commands/Attic/rename.c,v 1.23 1999/05/10 00:44:59 momjian Exp $
10+ * $Header: /cvsroot/pgsql/src/backend/commands/Attic/rename.c,v 1.24 1999/05/17 18:24:48 momjian Exp $
1111 *
1212 *-------------------------------------------------------------------------
1313 */
@@ -201,10 +201,13 @@ renameatt(char *relname,
201201void
202202renamerel (char * oldrelname ,char * newrelname )
203203{
204+ int i ;
204205Relation relrelation ;/* for RELATION relation */
205206HeapTuple oldreltup ;
206207char oldpath [MAXPGPATH ],
207- newpath [MAXPGPATH ];
208+ newpath [MAXPGPATH ],
209+ toldpath [MAXPGPATH + 10 ],
210+ tnewpath [MAXPGPATH + 10 ];
208211Relation irelations [Num_pg_class_indices ];
209212
210213if (!allowSystemTableMods && IsSystemRelationName (oldrelname ))
@@ -230,6 +233,14 @@ renamerel(char *oldrelname, char *newrelname)
230233if (rename (oldpath ,newpath )< 0 )
231234elog (ERROR ,"renamerel: unable to rename file: %s" ,oldpath );
232235
236+ for (i = 1 ;;i ++ )
237+ {
238+ sprintf (toldpath ,"%s.%d" ,oldpath ,i );
239+ sprintf (tnewpath ,"%s.%d" ,newpath ,i );
240+ if (rename (toldpath ,tnewpath )< 0 )
241+ break ;
242+ }
243+
233244StrNCpy ((((Form_pg_class )GETSTRUCT (oldreltup ))-> relname .data ),
234245newrelname ,NAMEDATALEN );
235246