[CP] use OB_NOT_SUPPORTED for valid charset or collation even we not supported yet

This commit is contained in:
akaError
2024-02-07 02:07:25 +00:00
committed by ob-robot
parent 84166f23c9
commit 1ae73f30f0

View File

@ -912,14 +912,16 @@ int ObCharset::like_range(ObCollationType collation_type,
OB_ISNULL(min_str) ||
OB_ISNULL(min_str_len) ||
OB_ISNULL(max_str) ||
OB_ISNULL(max_str_len) ||
OB_ISNULL(ObCharset::charset_arr[collation_type])) {
OB_ISNULL(max_str_len)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("unexpected error. invalid argument(s)",
K(ret),
K(collation_type),
KP(max_str), K(max_str_len),
KP(min_str), K(min_str_len));
} else if (OB_ISNULL(ObCharset::charset_arr[collation_type])) {
ret = OB_NOT_SUPPORTED;
LOG_WARN("unsupported charset or collation", K(ret), K(collation_type));
} else {
ObCharsetInfo *cs = static_cast<ObCharsetInfo *>(ObCharset::charset_arr[collation_type]);
static char w_one = '_';
@ -1008,10 +1010,12 @@ int ObCharset::well_formed_len(ObCollationType collation_type, const char *str,
{
int ret = OB_SUCCESS;
if (OB_UNLIKELY(collation_type <= CS_TYPE_INVALID ||
collation_type >= CS_TYPE_MAX) ||
OB_ISNULL(ObCharset::charset_arr[collation_type])) {
collation_type >= CS_TYPE_MAX)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("unexpected error. invalid argument(s)", K(collation_type), K(lbt()));
} else if (OB_ISNULL(ObCharset::charset_arr[collation_type])) {
ret = OB_NOT_SUPPORTED;
LOG_WARN("unsupported charset or collation", K(ret), K(collation_type));
} else if (OB_UNLIKELY(NULL == str && 0 != str_len)) {
ret = OB_INVALID_ARGUMENT;
LOG_WARN("invalid argument, str is null and str_len is nonzero",
@ -1042,10 +1046,12 @@ int ObCharset::well_formed_len(ObCollationType collation_type, const char *str,
{
int ret = OB_SUCCESS;
if (OB_UNLIKELY(collation_type <= CS_TYPE_INVALID ||
collation_type >= CS_TYPE_MAX) ||
OB_ISNULL(ObCharset::charset_arr[collation_type])) {
collation_type >= CS_TYPE_MAX)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("unexpected error. invalid argument(s)", K(collation_type));
} else if (OB_ISNULL(ObCharset::charset_arr[collation_type])) {
ret = OB_NOT_SUPPORTED;
LOG_WARN("unsupported charset or collation", K(ret), K(collation_type));
} else if (OB_UNLIKELY(NULL == str && 0 != str_len)) {
ret = OB_INVALID_ARGUMENT;
LOG_WARN("invalid argument, str is null and str_len is nonzero",
@ -1148,11 +1154,13 @@ int ObCharset::mb_wc(ObCollationType collation_type,
{
int ret = OB_SUCCESS;
if (OB_UNLIKELY(collation_type <= CS_TYPE_INVALID ||
collation_type >= CS_TYPE_MAX) ||
OB_ISNULL(ObCharset::charset_arr[collation_type])) {
collation_type >= CS_TYPE_MAX)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("unexpected error. invalid argument(s)",
K(ret), K(collation_type));
} else if (OB_ISNULL(ObCharset::charset_arr[collation_type])) {
ret = OB_NOT_SUPPORTED;
LOG_WARN("unsupported charset or collation", K(ret), K(collation_type));
} else {
ObCharsetInfo *cs = static_cast<ObCharsetInfo *>(ObCharset::charset_arr[collation_type]);
ob_wc_t my_wc;
@ -1181,11 +1189,13 @@ int ObCharset::mb_wc(ObCollationType collation_type,
{
int ret = OB_SUCCESS;
if (OB_UNLIKELY(collation_type <= CS_TYPE_INVALID ||
collation_type >= CS_TYPE_MAX) ||
OB_ISNULL(ObCharset::charset_arr[collation_type])) {
collation_type >= CS_TYPE_MAX)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("unexpected error. invalid argument(s)",
K(ret), K(collation_type));
} else if (OB_ISNULL(ObCharset::charset_arr[collation_type])) {
ret = OB_NOT_SUPPORTED;
LOG_WARN("unsupported charset or collation", K(ret), K(collation_type));
} else {
ObCharsetInfo *cs = static_cast<ObCharsetInfo *>(ObCharset::charset_arr[collation_type]);
ob_wc_t my_wc;
@ -1213,11 +1223,13 @@ int ObCharset::display_len(ObCollationType collation_type,
int ret = OB_SUCCESS;
width = 0;
if (OB_UNLIKELY(collation_type <= CS_TYPE_INVALID ||
collation_type >= CS_TYPE_MAX) ||
OB_ISNULL(ObCharset::charset_arr[collation_type])) {
collation_type >= CS_TYPE_MAX)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("unexpected error. invalid argument(s)",
K(ret), K(collation_type));
} else if (OB_ISNULL(ObCharset::charset_arr[collation_type])) {
ret = OB_NOT_SUPPORTED;
LOG_WARN("unsupported charset or collation", K(ret), K(collation_type));
} else {
ObCharsetInfo *cs = static_cast<ObCharsetInfo *>(ObCharset::charset_arr[collation_type]);
if (OB_ISNULL(cs->cset)) {
@ -1264,11 +1276,13 @@ int ObCharset::max_display_width_charpos(ObCollationType collation_type, const c
{
int ret = OB_SUCCESS;
if (OB_UNLIKELY(collation_type <= CS_TYPE_INVALID ||
collation_type >= CS_TYPE_MAX) ||
OB_ISNULL(ObCharset::charset_arr[collation_type])) {
collation_type >= CS_TYPE_MAX)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("unexpected error. invalid argument(s)",
K(ret), K(collation_type));
} else if (OB_ISNULL(ObCharset::charset_arr[collation_type])) {
ret = OB_NOT_SUPPORTED;
LOG_WARN("unsupported charset or collation", K(ret), K(collation_type));
} else {
ObCharsetInfo *cs = static_cast<ObCharsetInfo *>(ObCharset::charset_arr[collation_type]);
if (OB_ISNULL(cs->cset)) {
@ -1318,10 +1332,12 @@ int ObCharset::max_display_width_charpos(ObCollationType collation_type, const c
int ObCharset::wc_mb(ObCollationType collation_type, int32_t wc, char *buff, int32_t buff_len, int32_t &length)
{
int ret = OB_SUCCESS;
if (OB_UNLIKELY(collation_type <= CS_TYPE_INVALID || collation_type >= CS_TYPE_MAX)
|| OB_ISNULL(ObCharset::charset_arr[collation_type])) {
if (OB_UNLIKELY(collation_type <= CS_TYPE_INVALID || collation_type >= CS_TYPE_MAX)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("unexpected error. invalid argument(s)", K(ret), K(collation_type));
} else if (OB_ISNULL(ObCharset::charset_arr[collation_type])) {
ret = OB_NOT_SUPPORTED;
LOG_WARN("unsupported charset or collation", K(ret), K(collation_type));
} else {
ObCharsetInfo *cs = static_cast<ObCharsetInfo *>(ObCharset::charset_arr[collation_type]);
if (OB_ISNULL(cs) || OB_ISNULL(cs->cset)) {
@ -2273,11 +2289,13 @@ int ObCharset::first_valid_char(
{
int ret = OB_SUCCESS;
if (OB_UNLIKELY(collation_type <= CS_TYPE_INVALID ||
collation_type >= CS_TYPE_MAX) ||
OB_ISNULL(ObCharset::charset_arr[collation_type])) {
collation_type >= CS_TYPE_MAX)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("unexpected error. invalid argument(s)",
K(ret), K(collation_type));
} else if (OB_ISNULL(ObCharset::charset_arr[collation_type])) {
ret = OB_NOT_SUPPORTED;
LOG_WARN("unsupported charset or collation", K(ret), K(collation_type));
} else if (OB_UNLIKELY(NULL == buf)) {
ret = OB_NOT_INIT;
LOG_WARN("Null buffer passed in", K(ret), KP(buf));
@ -2641,11 +2659,13 @@ int ObCharset::get_mbmaxlen_by_coll(const ObCollationType collation_type, int64_
{
int ret = OB_SUCCESS;
if (OB_UNLIKELY(collation_type <= CS_TYPE_INVALID ||
collation_type >= CS_TYPE_MAX) ||
OB_ISNULL(ObCharset::charset_arr[collation_type])) {
collation_type >= CS_TYPE_MAX)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("unexpected error. invalid argument(s)",
K(ret), K(collation_type));
} else if (OB_ISNULL(ObCharset::charset_arr[collation_type])) {
ret = OB_NOT_SUPPORTED;
LOG_WARN("unsupported charset or collation", K(ret), K(collation_type));
} else {
ObCharsetInfo *cs = static_cast<ObCharsetInfo *>(ObCharset::charset_arr[collation_type]);
mbmaxlen = cs->mbmaxlen;
@ -2657,11 +2677,13 @@ int ObCharset::get_mbminlen_by_coll(const ObCollationType collation_type, int64_
{
int ret = OB_SUCCESS;
if (OB_UNLIKELY(collation_type <= CS_TYPE_INVALID ||
collation_type >= CS_TYPE_MAX) ||
OB_ISNULL(ObCharset::charset_arr[collation_type])) {
collation_type >= CS_TYPE_MAX)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("unexpected error. invalid argument(s)",
K(ret), K(collation_type));
} else if (OB_ISNULL(ObCharset::charset_arr[collation_type])) {
ret = OB_NOT_SUPPORTED;
LOG_WARN("unsupported charset or collation", K(ret), K(collation_type));
} else {
ObCharsetInfo *cs = static_cast<ObCharsetInfo *>(ObCharset::charset_arr[collation_type]);
mbminlen = cs->mbminlen;
@ -2698,11 +2720,13 @@ int ObCharset::fit_string(const ObCollationType collation_type,
collation_type >= CS_TYPE_MAX) ||
len_limit_in_byte <= 0 ||
str_len <= 0 ||
OB_ISNULL(str) ||
OB_ISNULL(ObCharset::charset_arr[collation_type])) {
OB_ISNULL(str)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("unexpected error. invalid argument(s)",
K(collation_type), KP(str), K(str_len), K(len_limit_in_byte));
} else if (OB_ISNULL(ObCharset::charset_arr[collation_type])) {
ret = OB_NOT_SUPPORTED;
LOG_WARN("unsupported charset or collation", K(ret), K(collation_type));
} else {
ObCharsetInfo *cs = static_cast<ObCharsetInfo *>(ObCharset::charset_arr[collation_type]);
byte_num = 0;