if (!value_cached && !cache_value())
my_decimal2double(E_DEC_FATAL_ERROR, &decimal_value, &res);
Saturday, February 20, 2010
This is in 5.1.44. It is easy to make mistakes like this in a large and rapidly changing code base. Why not compile with -Werror to catch the problem?
Monday, February 15, 2010
What is the future for MyISAM? MySQL has invested a lot in storage engines over the past few years (Falcon, Maria) and it isn't clear that anything will come from those efforts. A lot of effort has been put into InnoDB and much will come from that. There has not been a significant effort to improve MyISAM (other than hot backup). What could be done with it?
- Support undo. The manual claims that MyISAM supports atomic operations. They must use a different meaning for atomic. When a long-running insert, update, delete or replace statement is killed it remains half-done for MyISAM. This could be fixed by supporting undo for MyISAM. I will guess that MySQL can reuse some of the code they added for hot backup to implement undo.
- Reduce mutex contention. MyISAM could use multiple key caches per table as MPAB has proposed.