Hi!
>>>>> "Benjamin" == Benjamin Pflugmann <philemon@stripped> writes:
Benjamin> Hello again.
Benjamin> I finally made a patch of my current working version. After I upgraded
Benjamin> from 3.23.40 to 3.23.42 I had problems compiling, though. I had to
Benjamin> change sql/gen_lex_hash.cc, but since I am not really knowing what I
Benjamin> am doing here, there is probably a better fix. I did the following
Benjamin> change (applied with patch -p1 -d your-mysql-src < patch-file):
<cut>
Benjamin> The problem with ALTER TABLE still occurs and can be tested using
Benjamin> mysql-test-run.sh using the test for merge tables (which I extended
Benjamin> appropriately).
Benjamin> I had a deep look at the debug log and it seems to be that there is a
Benjamin> file descriptor which gets freed by FLUSH TABLES which shouldn't have
Benjamin> been used anymore, but I am a bit lost in the debug log still, so I am
Benjamin> not really sure.
<cut>
Here is a fix for this:
===== sql/ha_myisammrg.cc 1.22 vs edited =====
*** /tmp/ha_myisammrg.cc-1.22-26928 Sat Sep 22 05:03:22 2001
--- edited/sql/ha_myisammrg.cc Sun Sep 23 13:22:37 2001
***************
*** 187,192 ****
--- 187,197 ----
int ha_myisammrg::extra(enum ha_extra_function operation)
{
+ /* As this is just a mapping, we don't have to force the underlying
+ tables to be closed */
+ if (operation == HA_EXTRA_FORCE_REOPEN ||
+ operation == HA_EXTRA_PREPARE_FOR_DELETE)
+ return 0;
return myrg_extra(file,operation);
}
Regards,
Monty