• istruewing@chilla.local's avatar
    Bug#24985 - UTF8 ENUM primary key on MEMORY using BTREE · 8934e4f3
    istruewing@chilla.local authored
                causes incorrect duplicate entries
    
    Keys for BTREE indexes on ENUM and SET columns of MEMORY tables
    with character set UTF8 were computed incorrectly. Many
    different column values got the same key value.
    
    Apart of possible performance problems, it made unique indexes
    of this type unusable because it rejected many different
    values as duplicates.
    
    The problem was that multibyte character detection was tried
    on the internal numeric column value. Many values were not
    identified as characters. Their key value became blank filled.
    
    Thanks to Alexander Barkov and Ramil Kalimullin for the patch,
    which sets the character set of ENUM and SET key segments to
    the pseudo binary character set.
    8934e4f3
ha_heap.cc 16.8 KB