mariadb/storage/myisammrg
Konstantin Osipov dd510064f1 A fix and a test case for Bug#47648 "main.merge fails sporadically".
If a prepared statement used both a MyISAMMRG table and a stored 
function or trigger, execution could fail with "No such table"
error or crash. 
The error would come from a failure of the MyISAMMRG engine
to meet the expectations of the prelocking algorithm, 
in particular maintain lex->query_tables_own_last pointer
in sync with lex->query_tables_last pointer/the contents
of lex->query_tables. When adding merge children, the merge
engine would extend the table list. Then, when adding 
prelocked tables, the prelocking algorithm would use a pointer
to the last merge child to assign to lex->query_tables_own_last.
Then, when merge children were removed at the end of
open_tables(), lex->query_tables_own_last
was not updated, and kept pointing
to a removed merge child.

The fix ensures that query_tables_own_last is always in
sync with lex->query_tables_last.

This is a regression introduced by WL#4144 and present only
in next-4284 tree and 6.0.
2010-02-15 19:35:53 +03:00
..
CMakeLists.txt Backport http://lists.mysql.com/commits/57778 2009-09-30 15:35:01 +02:00
ha_myisammrg.cc A fix and a test case for Bug#47648 "main.merge fails sporadically". 2010-02-15 19:35:53 +03:00
ha_myisammrg.h Backport of revid 2617.69.21, 2617.69.22, 2617.29.23: 2009-12-08 16:57:25 +03:00
make-ccc
Makefile.am Ensure that all dtrace files are properly removed during make clean 2009-04-05 22:18:21 +02:00
myrg_close.c WL#2360 Performance schema 2009-12-04 18:26:15 -07:00
myrg_create.c WL#2360 Performance schema 2009-12-04 18:26:15 -07:00
myrg_def.h WL#2360 Performance schema 2009-12-04 18:26:15 -07:00
myrg_delete.c
myrg_extra.c Backport of: 2009-12-03 02:09:22 +03:00
myrg_info.c Bug#45800 crash when replacing into a merge table and there is a duplicate 2009-07-30 16:04:41 +05:30
myrg_locking.c
myrg_open.c WL#2360 Performance schema 2009-12-04 18:26:15 -07:00
myrg_panic.c
myrg_queue.c
myrg_range.c
myrg_records.c
myrg_rfirst.c
myrg_rkey.c Merge from 5.0 for 43414 2009-08-28 18:21:54 +02:00
myrg_rlast.c
myrg_rnext.c
myrg_rnext_same.c
myrg_rprev.c
myrg_rrnd.c
myrg_rsame.c
myrg_static.c WL#2360 Performance schema 2009-12-04 18:26:15 -07:00
myrg_update.c
myrg_write.c
plug.in