List of handler cleanups that needs to be done sooner or later - Clean up start/stop of transaction (The current way of doing it through external_lock() is a hack that has been in place way too long) - Clean up ha_index_init/ha_index_end() usage. (The fact that we have a function ha_index_or_rnd_end() is suspicious) - Functions for dirty key read of row (needed for foreign keys) - Functions for online backup handling - Remove InnoDB specific foreign key calls. get_foreign_key_create_info() etc - Commands for handle table spaces (create, drop, add tables, move tables etc) - Remove ::dump() and net_read_dump() commands - Remove BerkelyDB (Depricate in 5.1 and remove in 5.2 ?) - Split the setting of "records" so that handler knows when and _exact_ values should be returned (for e.g. select count(*)) and when it is enough to return an approximate value for e.g. query planning - create "shared table object". it means uint shared_table_object_size field in the handlerton, and that amount of bytes at the end of the TABLE_SHARE for storage engine to use. with a flag to know whether it's initialized or not (table is open or only table_share is) - move THR_LOCK to the TABLE_SHARE, and THR_LOCK_DATE to TABLE - create "transaction object". similar to "savepoint object" - size is specified in the handlerton, in st_transaction the space is allocated for all storage engines - remove "statement transaction", use savepoints instead.