diff --git a/utils/funcexp/func_rtrim.cpp b/utils/funcexp/func_rtrim.cpp index bddafefbf..77dc22424 100644 --- a/utils/funcexp/func_rtrim.cpp +++ b/utils/funcexp/func_rtrim.cpp @@ -76,12 +76,10 @@ std::string Func_rtrim::getStrVal(rowgroup::Row& row, if (strTLen == 0 || strTLen > strLen) return src; - bool binaryCmp = (cs->state & MY_CS_BINSORT) || !cs->use_mb(); - if (binTLen == 1) { const char* ptr = pos; - if (!binaryCmp) // This is a multi-byte charset + if (cs->use_mb()) // This is a multi-byte charset { const char* p = pos; uint32 l; @@ -112,7 +110,7 @@ std::string Func_rtrim::getStrVal(rowgroup::Row& row, else { // An uncommon case where the space character is > 1 byte - if (binaryCmp) // This is a multi-byte charset + if (cs->use_mb()) // This is a multi-byte charset { // The problem is that the byte pattern at the end could // match memcmp, but not be correct since the first byte compared diff --git a/utils/funcexp/func_trim.cpp b/utils/funcexp/func_trim.cpp index 13482de45..005183fcd 100644 --- a/utils/funcexp/func_trim.cpp +++ b/utils/funcexp/func_trim.cpp @@ -75,8 +75,6 @@ std::string Func_trim::getStrVal(rowgroup::Row& row, if (strTLen == 0 || strTLen > strLen) return src; - bool binaryCmp = (cs->state & MY_CS_BINSORT) || !cs->use_mb(); - if (binTLen == 1) { // If the trim string is 1 byte, don't waste cpu for memcmp @@ -88,7 +86,7 @@ std::string Func_trim::getStrVal(rowgroup::Row& row, } // Trim trailing const char* ptr = pos; - if (!binaryCmp) // This is a multi-byte charset + if (cs->use_mb()) // This is a multi-byte charset { const char* p = pos; uint32 l; @@ -126,7 +124,7 @@ std::string Func_trim::getStrVal(rowgroup::Row& row, } // Trim trailing - if (!binaryCmp) // This is a multi-byte charset + if (cs->use_mb()) // This is a multi-byte charset { // The problem is that the byte pattern at the end could // match memcmp, but not be correct since the first byte compared