• V Narayanan's avatar
    Bug#45983 ibmdb2i_create_index_option=1 not working for primary key · e3464344
    V Narayanan authored
    With ibmdb2i_create_index_option set to 1, creating an IBMDB2I table
    with a primary key should produce an additional index that uses EBCDIC
    hexadecimal sorting. However, this does not work. Adding indexes that
    are not primary keys does work. The ibmdb2i_create_index_option should
    be honoured when creating a table with a primary key.
    
    This patch adds code to the create() function to check for the value
    of the ibmdb2i_create_index_option variable and, when appropriate, to 
    generate a *HEX-based shadow index in DB2 for the primary key. Previously 
    this behavior was limited to secondary indexes.
    
    Additionally, this patch restricts the creation of shadow indexes to
    cases in which a non-*HEX sort sequence is used, as the documentation
    for ibmdb2i_create_index_option describes. Previously, the shadow index
    would in some cases be created even when the MySQL-specific index used
    *HEX sorting, leading to redundant indexes.
    
    Finally, the code used to generate the list of fields for indexes 
    and the code used to generate the SQL statement for the shadow
    indexes has been refactored into individual functions.
    e3464344
ha_ibmdb2i.cc 95.9 KB