Unlike MySQL, DB2 for i requires that index names be unique to
        an entire schema. In order to support MySQL indexes,
        IBMDB2I creates the DB2 for i indexes with
        modified file names. The generated name is a concatenation of
        the index name, three underscores (_), and the table name. For
        example, CREATE INDEX idx1 ON tab1 (a, b)
        would create a DB2 index named idx___tab1. If
        the ibmdb2i_create_index_option value is set to 1, an additional
        index may be created which is named with an additional
        H_ marker between the index and table names
        (for example, idx___H_tab1). These generated names are then
        mangled to create the an IBM i system name, as described above.
      
If a table is renamed, the indexes will also be renamed.
This index name generation scheme also has implications for the length of index and table names; to permit the generated name and allow for delimiting quotes, the combined length of the index and table names must be less than or equal to 121 characters.
          When creating a table, IBMDB2I may map the
          MySQL types specified on a CREATE TABLE
          statement into a corresponding or compatible DB2 for i type.
          Examples include the BIT type, which is
          stored as a BINARY field, or the
          MEDIUMINT type, which is stored as an
          INTEGER field. For most data types, this
          mapping is transparent. Data types which have restrictions
          unique to IBMDB2I are documented in
          Section 13.7.7, “Notes and Limitations”.
        


User Comments
Add your own comment.