Skip to content
  • Steinar H. Gunderson's avatar
    2350c385
    Bug #25076862: BACKPORT PATCHES FOR BUG#24788778 (STRNXFRM() REGRESSIONS) TO MYSQL 5.6 · 2350c385
    Steinar H. Gunderson authored
    Backport of Ole John's proposed fix for #24788778, to 5.6,
    after it was successfully added to 5.7. (The patch we actually
    ended up with in trunk relied on C++, and ctype-utf8.c wasn't
    moved to C++ before 8.0.) His original commit message follows:
    
    SEVERE REGRESSION IN MY_STRNXFRM() FROM MYSQL-5.5 -> 5.6
    
    Enhance the unicode-pad code to encourage the compiler
    to loop-unroll. That improves the performance of
    padding of utf8 char strings by 2x - 4x
    
    This patch only takes care of utf8 space padding.
    There seems to be similar oportunities for optimizing
    other character encodings using the same technique as in this
    patch.
    
    Patch does not handle the regression caused by
    my_strnxfrm_unicode() being called instead of
    my_strnxfrm_mb_bin() as in mysql 5.5.
    
    Change-Id: Ieb1475c7f69794dc77c9b8c94d571622efb9e91a
    2350c385
    Bug #25076862: BACKPORT PATCHES FOR BUG#24788778 (STRNXFRM() REGRESSIONS) TO MYSQL 5.6
    Steinar H. Gunderson authored
    Backport of Ole John's proposed fix for #24788778, to 5.6,
    after it was successfully added to 5.7. (The patch we actually
    ended up with in trunk relied on C++, and ctype-utf8.c wasn't
    moved to C++ before 8.0.) His original commit message follows:
    
    SEVERE REGRESSION IN MY_STRNXFRM() FROM MYSQL-5.5 -> 5.6
    
    Enhance the unicode-pad code to encourage the compiler
    to loop-unroll. That improves the performance of
    padding of utf8 char strings by 2x - 4x
    
    This patch only takes care of utf8 space padding.
    There seems to be similar oportunities for optimizing
    other character encodings using the same technique as in this
    patch.
    
    Patch does not handle the regression caused by
    my_strnxfrm_unicode() being called instead of
    my_strnxfrm_mb_bin() as in mysql 5.5.
    
    Change-Id: Ieb1475c7f69794dc77c9b8c94d571622efb9e91a
Loading