Hi!
On Oct 26, Ingo Struewing wrote:
> Below is the list of changes that have just been committed into a local
> 5.0 repository
No, I don't think it should go into 5.0
This is not a critical bug, more like a design limitation.
Better (and safer) to have it in 5.1
> ChangeSet@stripped, 2007-10-26 15:29:06+02:00, istruewing@stripped +3 -0
> Bug#4692 - DISABLE/ENABLE KEYS waste a space
>
> Disabling and enabling indexes on a non-empty table grows the
> index file.
>
> Disabling indexes just sets a flag per non-unique index and does not
> free the index blocks of the affected indexes. Re-enabling indexes
> creates new indexes with new blocks. The old blocks remain unused
> in the index file.
>
> Fixed by dropping and re-creating all indexes if non-empty disabled
> indexes exist when enabling indexes. Dropping all indexes resets
> the internal end-of-file marker to the end of the index file header.
> It also clears the root block pointers of every index and clears the
> deleted blocks chains. This way all blocks are declared as free.
It's a bit artificial - on repair_bys_sort pretend that all
indexes are disabled and so that caller could enable them.
But ok
ok to push in 5.1
Regards / Mit vielen Grüssen,
Sergei
--
__ ___ ___ ____ __
/ |/ /_ __/ __/ __ \/ / Sergei Golubchik <serg@stripped>
/ /|_/ / // /\ \/ /_/ / /__ Principal Software Developer
/_/ /_/\_, /___/\___\_\___/ MySQL GmbH, Dachauer Str. 37, D-80335 München
<___/ Geschäftsführer: Kaj Arnö - HRB
München 162140