Refactoring - Cleanup mysql_alter_table function

Registered by Lee Bieber on 2009-09-08

mysql_alter_table() currently does a crap-ton (technical term :) ) of stuff, including:

* altering the table definition
* altering the field definitions
* altering/creating indexes on a table
* renaming a table
* dropping indexes
* more...

Need to split the function (which is currently 1000+ lines long) into smaller, more manageable chunks.

Blueprint information

Status:
Started
Approver:
None
Priority:
Medium
Drafter:
None
Direction:
Approved
Assignee:
None
Definition:
Approved
Series goal:
Accepted for trunk
Implementation:
Slow progress
Milestone target:
milestone icon future
Started by
Jay Pipes on 2009-11-24

Sprints

Whiteboard

Done:

* Split Alter_info out into own files
* Take all alter table code out of sql_table.cc and into drizzled/statement/alter_table.cc
* Clean up style and naming conventions of Alter_drop, Alter_info, and Alter_column

TODO:

* Move List<> to vector<> for AlterInfo member variables
* Split mysql_prepare_alter_table() into small private member methods of AlterTable class

Deferring until the proto in parser work is done..

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.