mariadb/storage/myisammrg
V Narayanan d325957f88 Bug#40675 MySQL 5.1 crash with index merge algorithm and Merge tables
A Query in the MyISAM merge table was crashing 
if the index merge algorithm was being used

Index Merge optimization requires the reading of 
multiple indexes at the same time. Reading multiple 
indexes at once with current SE API means that we 
need to have handler instance for each to-be-read 
index. This is done by creating clones of the handlers 
instances. The clone internally does a open of the handler.

The open for a MERGE engine is handled in the following 
phases

1) open parent table
2) generate list of underlying
   table
3) attach underlying tables

But the current implementation does only the first 
phase (i.e.) open parent table.

The current patch fixes this at the MERGE engine level, 
by handling the clone operation within the MERGE engine 
rather than in the storage engine API. It opens and 
attaches the MyISAM tables on the MyISAM storage engine 
interface directly within the MERGE engine. The new MyISAM 
table instances, as well as the MERGE clone itself, are not 
visible in the table cache. This is not a problem because
all locking is handled by the original MERGE table from which
this is cloned of.
2009-02-12 16:42:07 +05:30
..
.cvsignore Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
CMakeLists.txt Fixed bug#36006: Optimizer does table scan for SELECT COUNT(*) 2008-04-26 02:45:58 +05:00
ha_myisammrg.cc Bug#40675 MySQL 5.1 crash with index merge algorithm and Merge tables 2009-02-12 16:42:07 +05:30
ha_myisammrg.h Bug#40675 MySQL 5.1 crash with index merge algorithm and Merge tables 2009-02-12 16:42:07 +05:30
make-ccc Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
Makefile.am Fixed bug#36006: Optimizer does table scan for SELECT COUNT(*) 2008-04-26 02:45:58 +05:00
myrg_close.c Bug#30273 - merge tables: Can't lock file (errno: 155) 2007-12-11 15:32:10 +01:00
myrg_create.c Fixed a lot of compiler warnings and errors detected by Forte C++ on Solaris 2007-08-13 16:11:25 +03:00
myrg_def.h Merge mysql.com:/home/svoj/devel/mysql/BUG26976/mysql-5.0-engines 2007-06-07 13:53:23 +05:00
myrg_delete.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
myrg_extra.c Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE 2007-11-15 20:25:43 +01:00
myrg_info.c Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-31 01:32:21 +01:00
myrg_locking.c BUG#29806 - binlog_innodb.test creates a server log 2007-07-25 19:56:17 +05:00
myrg_open.c Bug#40675 MySQL 5.1 crash with index merge algorithm and Merge tables 2009-02-12 16:42:07 +05:30
myrg_panic.c Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-31 01:32:21 +01:00
myrg_queue.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
myrg_range.c Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-31 01:32:21 +01:00
myrg_records.c Fixed bug#36006: Optimizer does table scan for SELECT COUNT(*) 2008-04-26 02:45:58 +05:00
myrg_rfirst.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
myrg_rkey.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
myrg_rlast.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
myrg_rnext.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
myrg_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
myrg_rprev.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
myrg_rrnd.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
myrg_rsame.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
myrg_static.c Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-31 01:32:21 +01:00
myrg_update.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
myrg_write.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
plug.in bug #23369 (Embedded library can't be linked) 2006-10-18 17:03:37 +05:00