|  |  | @ -21,6 +21,9 @@ | 
			
		
	
		
			
				
					|  |  |  | #include <my_sys.h>
 | 
			
		
	
		
			
				
					|  |  |  | #include <my_dir.h>
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | /* from sql_db.cc */ | 
			
		
	
		
			
				
					|  |  |  | extern long mysql_rm_arc_files(THD *thd, MY_DIR *dirp, const char *org_path); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | /*
 | 
			
		
	
		
			
				
					|  |  |  |   write string with escaping | 
			
		
	
	
		
			
				
					|  |  | @ -265,8 +268,9 @@ sql_create_definition_file(const LEX_STRING *dir, const LEX_STRING *file_name, | 
			
		
	
		
			
				
					|  |  |  |     DBUG_RETURN(TRUE); | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |   // archive copies management
 | 
			
		
	
		
			
				
					|  |  |  |   path[path_end]='\0'; | 
			
		
	
		
			
				
					|  |  |  | #ifdef FRM_ARCHIVE
 | 
			
		
	
		
			
				
					|  |  |  |   // archive copies management: disabled unused feature (see bug #17823).
 | 
			
		
	
		
			
				
					|  |  |  |   if (!access(path, F_OK)) | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     if (old_version != ULONGLONG_MAX && max_versions != 0) | 
			
		
	
	
		
			
				
					|  |  | @ -313,6 +317,7 @@ sql_create_definition_file(const LEX_STRING *dir, const LEX_STRING *file_name, | 
			
		
	
		
			
				
					|  |  |  |       } | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | #endif//FRM_ARCHIVE
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     // rename temporary file
 | 
			
		
	
	
		
			
				
					|  |  | @ -337,6 +342,7 @@ err_w_file: | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |   SYNOPSIS | 
			
		
	
		
			
				
					|  |  |  |     rename_in_schema_file | 
			
		
	
		
			
				
					|  |  |  |     thd               thread handler | 
			
		
	
		
			
				
					|  |  |  |     schema            name of given schema            | 
			
		
	
		
			
				
					|  |  |  |     old_name          original file name | 
			
		
	
		
			
				
					|  |  |  |     new_name          new file name | 
			
		
	
	
		
			
				
					|  |  | @ -348,7 +354,8 @@ err_w_file: | 
			
		
	
		
			
				
					|  |  |  |     1 - Error (only if renaming of frm failed) | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | */ | 
			
		
	
		
			
				
					|  |  |  | my_bool rename_in_schema_file(const char *schema, const char *old_name,  | 
			
		
	
		
			
				
					|  |  |  | my_bool rename_in_schema_file(THD *thd, | 
			
		
	
		
			
				
					|  |  |  |                               const char *schema, const char *old_name,  | 
			
		
	
		
			
				
					|  |  |  |                               const char *new_name, ulonglong revision,  | 
			
		
	
		
			
				
					|  |  |  |                               uint num_view_backups) | 
			
		
	
		
			
				
					|  |  |  | { | 
			
		
	
	
		
			
				
					|  |  | @ -365,10 +372,11 @@ my_bool rename_in_schema_file(const char *schema, const char *old_name, | 
			
		
	
		
			
				
					|  |  |  |   if (my_rename(old_path, new_path, MYF(MY_WME))) | 
			
		
	
		
			
				
					|  |  |  |     return 1; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |   /* check if arc_dir exists */ | 
			
		
	
		
			
				
					|  |  |  |   /* check if arc_dir exists: disabled unused feature (see bug #17823). */ | 
			
		
	
		
			
				
					|  |  |  |   strxnmov(arc_path, FN_REFLEN, mysql_data_home, "/", schema, "/arc", NullS); | 
			
		
	
		
			
				
					|  |  |  |   (void) unpack_filename(arc_path, arc_path); | 
			
		
	
		
			
				
					|  |  |  |    | 
			
		
	
		
			
				
					|  |  |  | #ifdef FRM_ARCHIVE
 | 
			
		
	
		
			
				
					|  |  |  |   if (revision > 0 && !access(arc_path, F_OK)) | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     ulonglong limit= ((revision > num_view_backups) ? | 
			
		
	
	
		
			
				
					|  |  | @ -384,6 +392,16 @@ my_bool rename_in_schema_file(const char *schema, const char *old_name, | 
			
		
	
		
			
				
					|  |  |  |       my_rename(old_path, new_path, MYF(0)); | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | #else//FRM_ARCHIVE
 | 
			
		
	
		
			
				
					|  |  |  |   { // remove obsolete 'arc' directory and files if any
 | 
			
		
	
		
			
				
					|  |  |  |     MY_DIR *new_dirp; | 
			
		
	
		
			
				
					|  |  |  |     if ((new_dirp = my_dir(arc_path, MYF(MY_DONT_SORT)))) | 
			
		
	
		
			
				
					|  |  |  |     { | 
			
		
	
		
			
				
					|  |  |  |       DBUG_PRINT("my",("Archive subdir found: %s", arc_path)); | 
			
		
	
		
			
				
					|  |  |  |       (void) mysql_rm_arc_files(thd, new_dirp, arc_path); | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | #endif//FRM_ARCHIVE
 | 
			
		
	
		
			
				
					|  |  |  |   return 0; | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | 
 |