diff options
author | unknown <monty@donna.mysql.com> | 2000-12-08 17:04:57 +0200 |
---|---|---|
committer | unknown <monty@donna.mysql.com> | 2000-12-08 17:04:57 +0200 |
commit | 19d406d937d9b133c07acf370a5ba3c53bbc2ed7 (patch) | |
tree | b351c53cc8d10719148a114a60853aa9347782e0 /sql/handler.cc | |
parent | 1324803d765267696b4d75b5d0a2546dc2686881 (diff) | |
download | mariadb-git-19d406d937d9b133c07acf370a5ba3c53bbc2ed7.tar.gz |
Lots of fixes for BDB tables
Change DROP TABLE to first drop the data, then the .frm file
Docs/manual.texi:
Updated TODO and Changelog
include/Makefile.am:
Portability fix
mysql-test/misc/select.res:
***MISSING WEAVE***
mysys/mf_iocache2.c:
cleanup
scripts/mysqlhotcopy.sh:
Fixed --noindices
sql-bench/Results/ATIS-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg:
Updated benchmarks
sql-bench/Results/RUN-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg:
Updated benchmarks
sql-bench/Results/alter-table-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg:
Updated benchmarks
sql-bench/Results/big-tables-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg:
Updated benchmarks
sql-bench/Results/connect-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg:
Updated benchmarks
sql-bench/Results/create-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg:
Updated benchmarks
sql-bench/Results/insert-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg:
Updated benchmarks
sql-bench/Results/select-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg:
Updated benchmarks
sql-bench/Results/wisconsin-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg:
Updated benchmarks
sql-bench/limits/pg.cfg:
Updated to new crash-me
sql-bench/server-cfg.sh:
Fixes for pg 7.0.2
sql/ha_berkeley.cc:
Lots of BDB table fixes
sql/ha_berkeley.h:
Lots of BDB table fixes
sql/handler.cc:
Change DROP TABLE to first drop the data, then the .frm file
sql/hostname.cc:
Fixes for empty hostnames
sql/log.cc:
Fixed transaction logging
sql/share/swedish/errmsg.OLD:
cleanup
sql/sql_delete.cc:
Fixes for logging
sql/sql_insert.cc:
Fixes for logging
sql/sql_select.cc:
Fixes for BDB tables
sql/sql_table.cc:
Change DROP TABLE to first drop the data, then the .frm file
sql/sql_update.cc:
Fixes for logging
BitKeeper/etc/ignore:
Added scripts/mysqld_multi to the ignore list
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Diffstat (limited to 'sql/handler.cc')
-rw-r--r-- | sql/handler.cc | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/sql/handler.cc b/sql/handler.cc index 7c6a3e32ff2..24bf16b3604 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -297,12 +297,16 @@ bool ha_flush_logs() return result; } +/* + This should return ENOENT if the file doesn't exists. + The .frm file will be deleted only if we return 0 or ENOENT +*/ int ha_delete_table(enum db_type table_type, const char *path) { handler *file=get_new_handler((TABLE*) 0, table_type); if (!file) - return -1; + return ENOENT; int error=file->delete_table(path); delete file; return error; @@ -620,12 +624,16 @@ uint handler::get_dup_key(int error) int handler::delete_table(const char *name) { + int error=0; for (const char **ext=bas_ext(); *ext ; ext++) { if (delete_file(name,*ext,2)) - return my_errno; + { + if ((error=errno) != ENOENT) + break; + } } - return 0; + return error; } |