Skip to content
  • Steinar H. Gunderson's avatar
    c86821ad
    Bug #25076862: BACKPORT PATCHES FOR BUG#24788778 (STRNXFRM() REGRESSIONS) TO MYSQL 5.6 · c86821ad
    Steinar H. Gunderson authored
    Backport of Ole John's proposed fix for #24788778, 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: I17f6f2c7635851903ea7cf9b5f6e4146517c6e40
    c86821ad
    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.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: I17f6f2c7635851903ea7cf9b5f6e4146517c6e40
Loading