From 63ce7b10fee26b25cd8cd119230ebbd78bfc08ec Mon Sep 17 00:00:00 2001 From: wjhh2008 Date: Tue, 19 Nov 2024 06:47:44 +0000 Subject: [PATCH] fix like range bug --- deps/oblib/src/lib/charset/ob_ctype_mb.cc | 2 +- deps/oblib/src/lib/charset/ob_ctype_uca.cc | 92 +++++++++++----------- 2 files changed, 47 insertions(+), 47 deletions(-) diff --git a/deps/oblib/src/lib/charset/ob_ctype_mb.cc b/deps/oblib/src/lib/charset/ob_ctype_mb.cc index 4fe0550b4..66a64ecec 100644 --- a/deps/oblib/src/lib/charset/ob_ctype_mb.cc +++ b/deps/oblib/src/lib/charset/ob_ctype_mb.cc @@ -67,7 +67,7 @@ bool ob_like_range_mb_help(const ObCharsetInfo *cs, char *min_end = *min_end_; char *max_end = *max_end_; char *min_org = *min_org_; - *min_length = ((cs->state & OB_CS_BINSORT) ? (size_t) (min_str - min_org) : res_length); + *min_length = ((!!(cs->state & OB_CS_BINSORT) || cs->pad_attribute == NO_PAD) ? (size_t) (min_str - min_org) : res_length); *max_length = res_length; do { *min_str++ = (char) cs->min_sort_char; diff --git a/deps/oblib/src/lib/charset/ob_ctype_uca.cc b/deps/oblib/src/lib/charset/ob_ctype_uca.cc index f5e4d64b0..ebfa62a39 100644 --- a/deps/oblib/src/lib/charset/ob_ctype_uca.cc +++ b/deps/oblib/src/lib/charset/ob_ctype_uca.cc @@ -2906,7 +2906,7 @@ ObCharsetInfo ob_charset_utf8mb4_unicode_ci= 4, 1, 9, - 0xFFFF, + 0x10FFFF, ' ', 0, 1, @@ -5388,7 +5388,7 @@ ObCharsetInfo ob_charset_utf8mb4_icelandic_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -5424,7 +5424,7 @@ ObCharsetInfo ob_charset_utf8mb4_latvian_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -5460,7 +5460,7 @@ ObCharsetInfo ob_charset_utf8mb4_romanian_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -5496,7 +5496,7 @@ ObCharsetInfo ob_charset_utf8mb4_slovenian_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -5532,7 +5532,7 @@ ObCharsetInfo ob_charset_utf8mb4_polish_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -5568,7 +5568,7 @@ ObCharsetInfo ob_charset_utf8mb4_estonian_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -5604,7 +5604,7 @@ ObCharsetInfo ob_charset_utf8mb4_spanish_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -5640,7 +5640,7 @@ ObCharsetInfo ob_charset_utf8mb4_swedish_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -5676,7 +5676,7 @@ ObCharsetInfo ob_charset_utf8mb4_turkish_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -5711,7 +5711,7 @@ ObCharsetInfo ob_charset_utf8mb4_czech_uca_ci = { 4, // mbmaxlen 1, /* mbmaxlenlen */ 9, // min_sort_char - 0xFFFF, // max_sort_char + 0x10FFFF, // max_sort_char ' ', // pad char false, // escape_with_backslash_is_dangerous 1, // levels_for_compare @@ -5747,7 +5747,7 @@ ObCharsetInfo ob_charset_utf8mb4_danish_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -5783,7 +5783,7 @@ ObCharsetInfo ob_charset_utf8mb4_lithuanian_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -5819,7 +5819,7 @@ ObCharsetInfo ob_charset_utf8mb4_slovak_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -5855,7 +5855,7 @@ ObCharsetInfo ob_charset_utf8mb4_spanish2_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -5891,7 +5891,7 @@ ObCharsetInfo ob_charset_utf8mb4_roman_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -5927,7 +5927,7 @@ ObCharsetInfo ob_charset_utf8mb4_persian_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -5963,7 +5963,7 @@ ObCharsetInfo ob_charset_utf8mb4_esperanto_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -5999,7 +5999,7 @@ ObCharsetInfo ob_charset_utf8mb4_hungarian_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -6035,7 +6035,7 @@ ObCharsetInfo ob_charset_utf8mb4_sinhala_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -6071,7 +6071,7 @@ ObCharsetInfo ob_charset_utf8mb4_german2_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -6106,7 +6106,7 @@ ObCharsetInfo ob_charset_utf8mb4_croatian_uca_ci = { 4, // mbmaxlen 1, // mbmaxlenlen 9, // min_sort_char - 0xFFFF, // max_sort_char + 0x10FFFF, // max_sort_char ' ', // pad char false, // escape_with_backslash_is_dangerous 1, // levels_for_compare @@ -6178,7 +6178,7 @@ ObCharsetInfo ob_charset_utf8mb4_vietnamese_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -6232,7 +6232,7 @@ ObCharsetInfo ob_charset_utf16_unicode_ci= 4, 1, /* mbmaxlenlen */ 9, - 0xFFFF, + 0x10FFFF, ' ', 0, 1, @@ -6268,7 +6268,7 @@ ObCharsetInfo ob_charset_utf16_icelandic_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -6304,7 +6304,7 @@ ObCharsetInfo ob_charset_utf16_latvian_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -6340,7 +6340,7 @@ ObCharsetInfo ob_charset_utf16_romanian_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -6376,7 +6376,7 @@ ObCharsetInfo ob_charset_utf16_slovenian_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -6412,7 +6412,7 @@ ObCharsetInfo ob_charset_utf16_polish_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -6448,7 +6448,7 @@ ObCharsetInfo ob_charset_utf16_estonian_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -6484,7 +6484,7 @@ ObCharsetInfo ob_charset_utf16_spanish_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -6520,7 +6520,7 @@ ObCharsetInfo ob_charset_utf16_swedish_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -6556,7 +6556,7 @@ ObCharsetInfo ob_charset_utf16_turkish_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -6592,7 +6592,7 @@ ObCharsetInfo ob_charset_utf16_czech_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -6628,7 +6628,7 @@ ObCharsetInfo ob_charset_utf16_danish_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -6664,7 +6664,7 @@ ObCharsetInfo ob_charset_utf16_lithuanian_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -6700,7 +6700,7 @@ ObCharsetInfo ob_charset_utf16_slovak_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -6736,7 +6736,7 @@ ObCharsetInfo ob_charset_utf16_spanish2_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -6772,7 +6772,7 @@ ObCharsetInfo ob_charset_utf16_roman_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -6808,7 +6808,7 @@ ObCharsetInfo ob_charset_utf16_persian_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -6844,7 +6844,7 @@ ObCharsetInfo ob_charset_utf16_esperanto_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -6880,7 +6880,7 @@ ObCharsetInfo ob_charset_utf16_hungarian_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -6916,7 +6916,7 @@ ObCharsetInfo ob_charset_utf16_sinhala_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -6952,7 +6952,7 @@ ObCharsetInfo ob_charset_utf16_german2_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -6988,7 +6988,7 @@ ObCharsetInfo ob_charset_utf16_croatian_uca_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */ @@ -7060,7 +7060,7 @@ ObCharsetInfo ob_charset_utf16_vietnamese_ci = { 4, /* mbmaxlen */ 1, /* mbmaxlenlen */ 9, /* min_sort_char */ - 0xFFFF, /* max_sort_char */ + 0x10FFFF, /* max_sort_char */ ' ', /* pad char */ false, /* escape_with_backslash_is_dangerous */ 1, /* levels_for_compare */