mariadb/storage/myisam
Dmitry Shulga 5ca6880def Fixed bug#54486 - assert in my_seek, concurrent
DROP/CREATE SCHEMA, CREATE TABLE, REPAIR.

The cause of assert was concurrent execution of
DROP DATABASE and REPAIR TABLE where first statement
deleted table's file .TMD at the same time as
REPAIR TABLE tried to read file details from the old file
that was just removed.

Additionally was fixed trouble when DROP TABLE try delete
all files belong to table being dropped at the same time
when REPAIR TABLE statement has just deleted .TMD file.

No regression test added because this would require adding a
sync point to mysys/my_redel.c. Since this bug is not present in
5.5+, adding test coverage was considered unnecessary.
The patch has been verified using RQG testing.


sql/sql_db.cc:
  mysql_rm_known_files() modified: ignore possible ENOENT error
  when trying delete all table's files. Such aggressive 
  algorithm permits skip already deleted (in another thread)
  files.
  
  Installation of Drop_table_error_handler as internal error handler
  moved from mysql_rm_db() to mysql_rm_knowns_files() near to place
  where source of possible errors (call to mysql_rm_table_part2) located.
storage/myisam/mi_check.c:
  mi_repair() was modified: set param->retry_repair= 0
  in order to don't call following failover procedure
  in ha_myisam::repair().
2010-12-10 13:48:50 +06:00
..
ftbench Fixed warning message breakage. 2006-08-13 22:28:41 -07:00
.cvsignore Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
ChangeLog Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
CMakeLists.txt Backport WL#3653 to 5.1 to enable bundled innodb plugin. 2009-06-10 10:59:49 +02:00
ft_boolean_search.c BUG#50351 - ft_min_word_len=2 Causes query to hang 2010-02-02 15:08:49 +04:00
ft_eval.c Moved a lot of old bug fixes and safe cleanups from Maria 5.1 tree to 5.1 2007-10-11 18:07:40 +03:00
ft_eval.h Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-23 20:20:40 +01:00
ft_nlq_search.c Bug#58057: 5.1 libmysql/libmysql.c unused variable/compile failure 2010-11-10 19:14:47 -02:00
ft_parser.c Fix for bug #37756: enabling fulltext indexes with 2009-01-26 10:35:15 +04:00
ft_static.c BUG#33871 - Duplicate "would" in Fulltext Stopwords 2008-01-30 20:14:35 +04:00
ft_stem.c Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-31 01:32:21 +01:00
ft_stopwords.c Moved a lot of old bug fixes and safe cleanups from Maria 5.1 tree to 5.1 2007-10-11 18:07:40 +03:00
ft_test1.c Moved a lot of old bug fixes and safe cleanups from Maria 5.1 tree to 5.1 2007-10-11 18:07:40 +03:00
ft_test1.h Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-31 01:32:21 +01:00
ft_update.c Moved a lot of old bug fixes and safe cleanups from Maria 5.1 tree to 5.1 2007-10-11 18:07:40 +03:00
ftdefs.h Fix for bug #37756: enabling fulltext indexes with 2009-01-26 10:35:15 +04:00
fulltext.h Bug#42733: Type-punning warnings when compiling MySQL -- 2010-06-10 17:16:43 -03:00
ha_myisam.cc Fix for bug#48451: my_seek and my_tell ignore MY_WME flag 2010-12-09 12:59:12 +03:00
ha_myisam.h Bug#35111 - Truncate a MyISAM partitioned table does not reset 2009-07-08 17:41:34 +05:30
make-ccc Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
Makefile.am Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-31 01:32:21 +01:00
mi_cache.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
mi_changed.c Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-31 01:32:21 +01:00
mi_check.c Fixed bug#54486 - assert in my_seek, concurrent 2010-12-10 13:48:50 +06:00
mi_checksum.c Moved a lot of old bug fixes and safe cleanups from Maria 5.1 tree to 5.1 2007-10-11 18:07:40 +03:00
mi_close.c merge 5.0-bugteam to 5.1-bugteam 2009-04-06 12:31:17 +05:30
mi_create.c Bug#58057: 5.1 libmysql/libmysql.c unused variable/compile failure 2010-11-10 19:14:47 -02:00
mi_dbug.c Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-31 01:32:21 +01:00
mi_delete.c Merge from 5.0 for 43414 2009-08-28 18:21:54 +02:00
mi_delete_all.c BUG#51868 - crash with myisam_use_mmap and partitioned 2010-03-22 16:30:27 +04:00
mi_delete_table.c BUG#40980 - Drop table can remove another MyISAM table's 2010-04-01 18:49:02 +04:00
mi_dynrec.c Bug#48327: Some crashes specific to FreeBSD ("embedded") 2010-07-16 14:33:35 -03:00
mi_extra.c BUG#51868 - crash with myisam_use_mmap and partitioned 2010-03-22 16:30:27 +04:00
mi_info.c Merge mysql.com:/home/svoj/devel/mysql/BUG27516/mysql-5.0-engines 2007-04-13 12:44:02 +05:00
mi_key.c Fixed a lot of compiler warnings and errors detected by Forte C++ on Solaris 2007-08-13 16:11:25 +03:00
mi_keycache.c Fixed a lot of compiler warnings and errors detected by Forte C++ on Solaris 2007-08-13 16:11:25 +03:00
mi_locking.c Bug#45288: pb2 returns a lot of compilation warnings on linux 2010-07-20 15:07:36 -03:00
mi_log.c Fixed a lot of compiler warnings and errors detected by Forte C++ on Solaris 2007-08-13 16:11:25 +03:00
mi_open.c Bug#53445: Build with -Wall and fix warnings that it generates 2010-07-02 15:30:47 -03:00
mi_packrec.c merge mysql-5.0-bugteam to mysql-5.1-bugteam 2009-12-17 17:15:13 +05:30
mi_page.c Bug#53445: Build with -Wall and fix warnings that it generates 2010-07-02 15:30:47 -03:00
mi_panic.c Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-31 01:32:21 +01:00
mi_preload.c Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.1 2007-05-24 15:26:10 +03:00
mi_range.c Bug#45288: pb2 returns a lot of compilation warnings on linux 2010-09-24 19:13:51 -03:00
mi_rename.c Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-31 01:32:21 +01:00
mi_rfirst.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
mi_rkey.c Merge bk-internal.mysql.com:/home/bk/mysql-5.1 2007-08-14 00:22:34 +03:00
mi_rlast.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
mi_rnext.c BUG#51877 - HANDLER interface causes invalid memory read 2010-03-25 15:49:01 +04:00
mi_rnext_same.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
mi_rprev.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
mi_rrnd.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
mi_rsame.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
mi_rsamepos.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
mi_scan.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
mi_search.c Bug#45288: pb2 returns a lot of compilation warnings on linux 2010-09-24 19:13:51 -03:00
mi_static.c merge mysql-5.0-bugteam to mysql-5.1-bugteam 2009-12-24 12:04:31 +05:30
mi_statrec.c Fixed a lot of compiler warnings and errors detected by Forte C++ on Solaris 2007-08-13 16:11:25 +03:00
mi_test1.c Bug#42733: Type-punning warnings when compiling MySQL -- 2010-06-10 17:16:43 -03:00
mi_test2.c Bug#53445: Build with -Wall and fix warnings that it generates 2010-07-02 15:30:47 -03:00
mi_test3.c Fixed a lot of compiler warnings and errors detected by Forte C++ on Solaris 2007-08-13 16:11:25 +03:00
mi_test_all.res Merge chilla.local:/home/mydev/mysql-5.0-bug14400-monty 2006-09-19 14:33:29 +02:00
mi_test_all.sh Merge chilla.local:/home/mydev/mysql-5.0-bug14400-monty 2006-09-19 14:33:29 +02:00
mi_unique.c Bug#53445: Build with -Wall and fix warnings that it generates 2010-07-02 15:30:47 -03:00
mi_update.c Merge from 5.0 for 43414 2009-08-28 18:21:54 +02:00
mi_write.c BUG#47598 - MyISAM may write uninitialized data to disk 2010-03-25 15:18:14 +04:00
myisam_ftdump.c Bug#42733: Type-punning warnings when compiling MySQL -- 2010-06-10 17:16:43 -03:00
myisamchk.c Bug#45288: pb2 returns a lot of compilation warnings 2010-10-20 16:21:40 -02:00
myisamdef.h BUG#51868 - crash with myisam_use_mmap and partitioned 2010-03-22 16:30:27 +04:00
myisamlog.c Bug#42733: Type-punning warnings when compiling MySQL -- 2010-06-10 17:16:43 -03:00
myisampack.c Bug#42733: Type-punning warnings when compiling MySQL -- 2010-06-10 17:16:43 -03:00
NEWS Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
plug.in bug #23369 (Embedded library can't be linked) 2006-10-18 17:03:37 +05:00
rt_index.c Bug#45288: pb2 returns a lot of compilation warnings on linux 2010-09-24 19:13:51 -03:00
rt_index.h Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-31 01:32:21 +01:00
rt_key.c Merge chilla.local:/home/mydev/mysql-5.0-bug25673 2007-03-08 12:13:54 +01:00
rt_key.h Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-31 01:32:21 +01:00
rt_mbr.c Merge mysql.com:/home/hf/work/30286/my50-30286 2007-10-05 15:43:15 +05:00
rt_mbr.h Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-31 01:32:21 +01:00
rt_split.c Bug#45288: pb2 returns a lot of compilation warnings on linux 2010-09-24 19:13:51 -03:00
rt_test.c Fixed a lot of compiler warnings and errors detected by Forte C++ on Solaris 2007-08-13 16:11:25 +03:00
sort.c Merge fix for BUG51866 to mysql-5.1-bugteam. 2010-03-25 16:11:16 +04:00
sp_defs.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
sp_key.c porting 29070 to 5.1-opt 2007-07-11 13:09:39 +03:00
sp_test.c Moved a lot of old bug fixes and safe cleanups from Maria 5.1 tree to 5.1 2007-10-11 18:07:40 +03:00
test_pack Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
TODO Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00