• unknown's avatar
    InnoDB: Make CREATE TABLE return error when the minimum row length · 6075463f
    unknown authored
    exceeds the maximum record size.  (Bug #5682)
    
    
    innobase/data/data0type.c:
      Remove function dtype_str_needs_mysql_cmp().
      Document dtype_get_at_most_n_mbchars().
      dtype_get_at_most_n_mbchars(): Use mbminlen and mbmaxlen.
    innobase/dict/dict0crea.c:
      dict_build_table_def_step(): Reject if minimum row size is too big.
    innobase/include/data0type.h:
      Remove dtype_str_needs_mysql_cmp().
      Document dtype_get_at_most_n_mbchars().
      Add dtype_get_min_size().
    innobase/include/data0type.ic:
      Add dtype_get_min_size().
    innobase/include/row0mysql.h:
      row_mysql_store_col_in_innobase_format(): Add parameter comp,
      as we will only truncate UTF-8 CHAR(n) columns in row_format=compact.
    innobase/include/row0mysql.ic:
      row_mysql_store_col_in_innobase_format(): Add parameter comp,
      as we will only truncate UTF-8 CHAR(n) columns in row_format=compact.
    innobase/row/row0mysql.c:
      Pass parameter comp to row_mysql_store_col_in_innobase_format().
    innobase/row/row0sel.c:
      Pass parameter comp to row_mysql_store_col_in_innobase_format().
      row_sel_field_store_in_mysql_format(): Undo the stripping of
      UTF-8 CHAR(n) columns by padding with spaces.
    6075463f
data0type.c 7.24 KB