7
7
*
8
8
*
9
9
* 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 $
11
11
*
12
12
*-------------------------------------------------------------------------
13
13
*/
@@ -201,10 +201,13 @@ renameatt(char *relname,
201
201
void
202
202
renamerel (char * oldrelname ,char * newrelname )
203
203
{
204
+ int i ;
204
205
Relation relrelation ;/* for RELATION relation */
205
206
HeapTuple oldreltup ;
206
207
char oldpath [MAXPGPATH ],
207
- newpath [MAXPGPATH ];
208
+ newpath [MAXPGPATH ],
209
+ toldpath [MAXPGPATH + 10 ],
210
+ tnewpath [MAXPGPATH + 10 ];
208
211
Relation irelations [Num_pg_class_indices ];
209
212
210
213
if (!allowSystemTableMods && IsSystemRelationName (oldrelname ))
@@ -230,6 +233,14 @@ renamerel(char *oldrelname, char *newrelname)
230
233
if (rename (oldpath ,newpath )< 0 )
231
234
elog (ERROR ,"renamerel: unable to rename file: %s" ,oldpath );
232
235
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
+
233
244
StrNCpy ((((Form_pg_class )GETSTRUCT (oldreltup ))-> relname .data ),
234
245
newrelname ,NAMEDATALEN );
235
246