• unknown's avatar
    InnoDB: Fixed bugs in the padding and trimming of trailing spaces · 7b063137
    unknown authored
    that affected the UCS2 character set. (Bug #7350)
    
    
    innobase/data/data0type.c:
      Added dtype_get_charset_coll_noninline()
    innobase/include/data0type.h:
      Added dtype_get_charset_coll_noninline()
    innobase/include/row0mysql.h:
      Added charset field to mysql_row_templ_struct.
    innobase/include/row0mysql.ic:
      row_mysql_store_col_in_innobase_format():
      When removing trailing spaces, treat the UCS2 character set properly.
    innobase/rem/rem0cmp.c:
      cmp_whole_field(): Do not remove trailing 0x20 bytes, as
      innobase_mysql_cmp() implicitly pads the strings with trailing
      spaces as necessary.
    innobase/row/row0sel.c:
      row_sel_field_store_in_mysql_format(): Do not pad with 0x20 bytes.
      row_sel_store_mysql_rec(): Pad VARCHARs with trailing spaces
      (0x20, or 0x0020 in UCS2).
    sql/ha_innodb.cc:
      build_template(): Initialize templ->charset
    7b063137
row0mysql.h 22.8 KB