diff options
author | unknown <monty@tramp.mysql.fi> | 2000-09-26 00:33:25 +0300 |
---|---|---|
committer | unknown <monty@tramp.mysql.fi> | 2000-09-26 00:33:25 +0300 |
commit | 7fe58c4f5bea627bb38bfbcb0cc5885e3f6129c6 (patch) | |
tree | 047c90e932cb7b90a58fe795b855351027725c29 /mysys/my_redel.c | |
parent | 5f12486229fb578f2e170238ab2cdd7c9bf42a82 (diff) | |
download | mariadb-git-7fe58c4f5bea627bb38bfbcb0cc5885e3f6129c6.tar.gz |
RIGHT JOIN, part of automatic repair of MyISAM tables, backup on repair,
reading from FIFO, fixes for FULLTEXT, @@IDENTITY
Docs/manual.texi:
Update of RIGHT JOIN
client/mysql.cc:
Faster HTML generation
extra/perror.c:
Added MyISAM error messages
include/my_base.h:
Update for automatic repair of MyISAM tables
include/my_sys.h:
Backup files and FIFO
include/myisam.h:
Automatic repair and backup files
include/mysqld_error.h:
New error message
myisam/mi_check.c:
Update for automatic repair of MyISAM tables
myisam/mi_locking.c:
Fixed comment
myisam/mi_open.c:
Update for automatic repair of MyISAM tables
myisam/myisamchk.c:
Update for automatic repair of MyISAM tables
myisam/myisamdef.h:
Update for automatic repair of MyISAM tables
mysys/mf_getdate.c:
Added new parameter option for backup files
mysys/my_open.c:
Added debug information
mysys/my_redel.c:
Backup file handling
sql/ha_berkeley.cc:
Updated interface
sql/ha_berkeley.h:
Updated interface
sql/ha_heap.cc:
Updated interface
sql/ha_heap.h:
Updated interface
sql/ha_isam.cc:
Updated interface
sql/ha_isam.h:
Updated interface
sql/ha_isammrg.cc:
Updated interface
sql/ha_isammrg.h:
Updated interface
sql/ha_myisam.cc:
Update for automatic repair of MyISAM tables
sql/ha_myisam.h:
Updated interface
sql/ha_myisammrg.cc:
Updated interface
sql/ha_myisammrg.h:
Updated interface
sql/handler.h:
Updated interface
sql/item.h:
Added @@identity
sql/item_func.cc:
Added @@identity
sql/lex.h:
Added RIGHT JOIN
sql/mf_iocache.cc:
Update for reading from FIFO
sql/mysqld.cc:
Update for automatic repair of MyISAM tables
sql/share/czech/errmsg.sys:
Added @@identity
sql/share/czech/errmsg.txt:
Added @@identity
sql/share/danish/errmsg.sys:
Added @@identity
sql/share/danish/errmsg.txt:
Added @@identity
sql/share/dutch/errmsg.sys:
Added @@identity
sql/share/dutch/errmsg.txt:
Added @@identity
sql/share/english/errmsg.sys:
Added @@identity
sql/share/english/errmsg.txt:
Added @@identity
sql/share/estonian/errmsg.sys:
Added @@identity
sql/share/estonian/errmsg.txt:
Added @@identity
sql/share/french/errmsg.sys:
Added @@identity
sql/share/french/errmsg.txt:
Added @@identity
sql/share/german/errmsg.sys:
Added @@identity
sql/share/german/errmsg.txt:
Added @@identity
sql/share/greek/errmsg.sys:
Added @@identity
sql/share/greek/errmsg.txt:
Added @@identity
sql/share/hungarian/errmsg.sys:
Added @@identity
sql/share/hungarian/errmsg.txt:
Added @@identity
sql/share/italian/errmsg.sys:
Added @@identity
sql/share/italian/errmsg.txt:
Added @@identity
sql/share/japanese/errmsg.sys:
Added @@identity
sql/share/japanese/errmsg.txt:
Added @@identity
sql/share/korean/errmsg.sys:
Added @@identity
sql/share/korean/errmsg.txt:
Added @@identity
sql/share/norwegian-ny/errmsg.txt:
Added @@identity
sql/share/norwegian/errmsg.txt:
Added @@identity
sql/share/polish/errmsg.sys:
Added @@identity
sql/share/polish/errmsg.txt:
Added @@identity
sql/share/portuguese/errmsg.sys:
Added @@identity
sql/share/portuguese/errmsg.txt:
Added @@identity
sql/share/romanian/errmsg.txt:
Added @@identity
sql/share/russian/errmsg.sys:
Added @@identity
sql/share/russian/errmsg.txt:
Added @@identity
sql/share/slovak/errmsg.sys:
Added @@identity
sql/share/slovak/errmsg.txt:
Added @@identity
sql/share/spanish/errmsg.sys:
Added @@identity
sql/share/spanish/errmsg.txt:
Added @@identity
sql/share/swedish/errmsg.OLD:
Added @@identity
sql/share/swedish/errmsg.sys:
Added @@identity
sql/share/swedish/errmsg.txt:
Added @@identity
sql/sql_base.cc:
Fix for RIGHT JOIN
sql/sql_db.cc:
Update for automatic repair of MyISAM tables
sql/sql_load.cc:
Added reading from FIFO
sql/sql_parse.cc:
Fix for RIGHT JOIN
sql/sql_select.cc:
Fix for RIGHT JOIN
sql/sql_table.cc:
cleanup
sql/sql_yacc.yy:
Added RIGHT JOIN
sql/table.cc:
Fix handling of FULLTEXT index
sql/table.h:
Added RIGHT JOIN
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Diffstat (limited to 'mysys/my_redel.c')
-rw-r--r-- | mysys/my_redel.c | 41 |
1 files changed, 33 insertions, 8 deletions
diff --git a/mysys/my_redel.c b/mysys/my_redel.c index da03b026c9f..0cc17481dab 100644 --- a/mysys/my_redel.c +++ b/mysys/my_redel.c @@ -18,6 +18,7 @@ #define USES_TYPES /* sys/types is included */ #include "mysys_priv.h" #include <my_dir.h> +#include <m_string.h> #include "mysys_err.h" #if defined(HAVE_SYS_UTIME_H) #include <sys/utime.h> @@ -30,21 +31,45 @@ struct utimbuf { }; #endif - /* Rename with copy stat form old file */ - /* Copy stats from old file to new file, deletes orginal and */ - /* changes new file name to old file name */ + /* + Rename with copy stat form old file + Copy stats from old file to new file, deletes orginal and + changes new file name to old file name + + if MY_REDEL_MAKE_COPY is given, then the orginal file + is renamed to org_name-'current_time'.BAK + */ + +#define REDEL_EXT ".BAK" int my_redel(const char *org_name, const char *tmp_name, myf MyFlags) { + int error=1; DBUG_ENTER("my_redel"); DBUG_PRINT("my",("org_name: '%s' tmp_name: '%s' MyFlags: %d", org_name,tmp_name,MyFlags)); - if (my_copystat(org_name,tmp_name,MyFlags) < 0 || - my_delete(org_name,MyFlags) || - my_rename(tmp_name,org_name,MyFlags)) - DBUG_RETURN(1); - DBUG_RETURN(0); + if (my_copystat(org_name,tmp_name,MyFlags) < 0) + goto end; + if (MyFlags & MY_REDEL_MAKE_BACKUP) + { + char name_buff[FN_REFLEN+20]; + char ext[20]; + ext[0]='-'; + get_date(ext+1,2+4,(time_t) 0); + strmov(strend(ext),REDEL_EXT); + if (my_rename(org_name, fn_format(name_buff, org_name, "", ext, 2), + MyFlags)) + goto end; + } + else if (my_delete(org_name,MyFlags)) + goto end; + if (my_rename(tmp_name,org_name,MyFlags)) + goto end; + + error=0; +end: + DBUG_RETURN(error); } /* my_redel */ |