• Dmitry Lenev's avatar
    This patch is prerequisite for the 2nd milestone of WL#148 "Foreign keys" · d4669dc4
    Dmitry Lenev authored
    storing and restoring information about foreign keys in the .FRM files and
    properly displaying it in SHOW CREATE TABLE output and I_S tables.
    
    The idea of this patch is to change type of Key_part_spec::field_name and
    Key::name to LEX_STRING in order to avoid extra strlen() calls during
    semantic analysis and statement execution, particularly, in code to be
    implemented on the 2nd milestone of WL#148.
    
    Note that since we are not using LEX_STRING everywhere yet (e.g. in
    Create_field and KEY) and we want to limit scope of our changes we
    have to do strlen() in places where we create Key and Key_part_spec
    instances from objects using plain (char*) for strings. These calls
    will go away during the process of further (char*) -> LEX_STRING
    refactoring.
    
    We have introduced these changes in 6.0 and backported them to 5.5
    tree to make people aware of these changes as early as possible and
    to simplify merges with mysql-fk and mysql-6.1-fk trees.
    
    No test case is needed since this patch does not introduce any
    user visible changes.
    d4669dc4
sql_class.cc 110 KB