• ingo@mysql.com's avatar
    Worklog#1563 - Support of on-line CREATE/DROP INDEX. · 85ec87a0
    ingo@mysql.com authored
    This is to enable table handlers to implement online create/drop index.
    It consists of some parts:
    - New default handler methods in handler.h
    - Split of mysql_alter_table. It decides if only one kind of
      alteration is to be done (e.g. only create indexes or only drop
      indexes etc.) It then calls the specialized new handler method if
      the handler implements it. Otherwise it calls real_alter_table.
    - The parser sets flags for each alter operation detected in a
      command. These are used by mysql_alter_table for the decision.
    - mysql_prepare_table is pulled out of mysql_create_table. This is
      also used by mysql_create_index to prepare the key structure array
      for the handler. It is also used by mysql_create_index and
      mysql_drop_index to prepare a call to mysql_create_frm.
    - mysql_create_frm is pulled out of rea_create_table for use by
      mysql_create_index and mysql_drop_index after the index is
      created/dropped.
    Thanks to Antony who supplied most of the changes.
    85ec87a0
sql_base.cc 68.3 KB