• bar@mysql.com's avatar
    WL#1324 table name to file name encoding · 6ff21132
    bar@mysql.com authored
    - Encoding itself, implemented as a charset
      "filename". Originally planned to use '.'
      as an escape character, but now changed to '@'
      for two reasons: "ls" does not return
      file names starting with '.' considering them
      as a kind of hidden files; some platforms
      do not allow several dots in a file name.
    - replacing many calls of my_snprintf() and
      strnxmov() to the new build_table_filename().
    - Adding MY_APPEND_EXT mysys flag, to append
      an extention rather that replace it.
    - Replacing all numeric constants in fn_format
      flag arguments to their mysys definitions, e.g.
      MY_UNPACK_FILENAME,
    - Predictability in several function/methods:
      when a table name can appear with or withot .frm
      extension. Some functions/methods were changed
      so accept names strictly with .frm, other - strictly
      without .frm extensions. Several DBUG_ASSERTs were
      added to check whether an extension is passed.
    Many files:
      table name to file name encoding
    mysql_priv.h:
      Prototypes for new table name encoding tools.
    ctype-utf8.c:
      Implementing "filename" charset for
      table name to file name encoding.
    row0mysql.c:
      Fixing table name prefix.
    mf_format.c:
      Adding MY_APPEND_EXT processing.
    Many files:
      Fixing tests.
    my_sys.h:
      Adding new flag to append rather than replace an extension.
    m_ctype.h:
      Adding "filename" charset definition.
    6ff21132
strfunc.cc 7.71 KB