• Monty's avatar
    Change CHARSET_INFO character set and collaction names to LEX_CSTRING · a206658b
    Monty authored
    This change removed 68 explict strlen() calls from the code.
    
    The following renames was done to ensure we don't use the old names
    when merging code from earlier releases, as using the new variables
    for print function could result in crashes:
    - charset->csname renamed to charset->cs_name
    - charset->name renamed to charset->coll_name
    
    Almost everything where mechanical changes except:
    - Changed to use the new Protocol::store(LEX_CSTRING..) when possible
    - Changed to use field->store(LEX_CSTRING*, CHARSET_INFO*) when possible
    - Changed to use String->append(LEX_CSTRING&) when possible
    
    Other things:
    - There where compiler issues with ensuring that all character set names
      points to the same string: gcc doesn't allow one to use integer constants
      when defining global structures (constant char * pointers works fine).
      To get around this, I declared defines for each character set name
      length.
    a206658b
mysqld.cc 335 KB