Skip to content

Commit 0910496

Browse files
author
Tor Didriksen
committed
Bug #34025412 Rename utf8_xxx functions and data structures to utf8mb3_xxx [noclose]
For better code readability/maintainability, rename functions and data structures used for handling utf8mb3 charsets and collations. This patch changes: utf8 -> utf8mb3 for plugins and components Change-Id: I10497b2c231502face1598418bbcfa025357afba
1 parent 26d9541 commit 0910496

File tree

9 files changed

+42
-37
lines changed

9 files changed

+42
-37
lines changed

components/audit_api_message_emit/audit_api_message_emit.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ static bool set_args_charset_info(UDF_ARGS *args, IError_handler &handler) {
207207
}
208208

209209
/**
210-
Sets the charset info of the return value to utf8.
210+
Sets the charset info of the return value to utf8mb4.
211211
212212
@param [in, out] initid A pointer to the UDF_INIT structure
213213
@param [out] handler Error handler that keeps the error message

components/example/test_string_service.cc

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -70,21 +70,21 @@ mysql_service_status_t test_string_service_init() {
7070
if (mysql_service_mysql_string_converter->convert_from_buffer(
7171
&out_string,
7272
nullptr, // its a input buffer
73-
strlen(test_text), "utf8")) {
73+
strlen(test_text), "utf8mb3")) {
7474
WRITE_LOG("Buffer=NULL in convert from buffer: passed.\n");
7575
};
7676
// Length is too high for buffer in convert from buffer
7777
if (mysql_service_mysql_string_converter->convert_from_buffer(
7878
&out_string,
7979
test_text, // its a input buffer
80-
strlen(test_text) + 10, "utf8")) {
80+
strlen(test_text) + 10, "utf8mb3")) {
8181
WRITE_LOG("Length too high for buffer in convert from buffer: passed.\n");
8282
}
8383
// Length is zero for buffer in convert from buffer
8484
if (mysql_service_mysql_string_converter->convert_from_buffer(
8585
&out_string,
8686
test_text, // its a input buffer
87-
0, "utf8")) {
87+
0, "utf8mb3")) {
8888
WRITE_LOG("Length is zero for buffer in convert from buffer: failed.\n");
8989
} else {
9090
WRITE_LOG("Length is zero for buffer in convert from buffer: passed.\n");
@@ -95,7 +95,7 @@ mysql_service_status_t test_string_service_init() {
9595
(mysql_service_mysql_string_converter->convert_from_buffer(&out_string,
9696
test_text, // its a input buffer
9797
-1,
98-
"utf8"))
98+
"utf8mb3"))
9999
{
100100
WRITE_LOG ("Length is negative for buffer in convert from buffer:
101101
failed.\n");
@@ -110,7 +110,7 @@ mysql_service_status_t test_string_service_init() {
110110
if (mysql_service_mysql_string_converter->convert_from_buffer(
111111
&out_string,
112112
empty_test_text, // its a input buffer
113-
strlen(empty_test_text), "utf8")) {
113+
strlen(empty_test_text), "utf8mb3")) {
114114
WRITE_LOG("Empty string as input to convert from buffer failed.\n");
115115
} else {
116116
WRITE_LOG("Empty string as input to convert from buffer passed.\n");
@@ -119,7 +119,7 @@ mysql_service_status_t test_string_service_init() {
119119
if (mysql_service_mysql_string_converter->convert_from_buffer(
120120
&out_string,
121121
test_text, // its a input buffer
122-
strlen(test_text), "utf8")) {
122+
strlen(test_text), "utf8mb3")) {
123123
WRITE_LOG("Convert from buffer failed.\n");
124124
} else {
125125
uint out_length = 0;
@@ -172,12 +172,12 @@ mysql_service_status_t test_string_service_init() {
172172
WRITE_LOG("Tolower passed:\n");
173173
// NULL as input buffer in Convert string to buffer
174174
if (mysql_service_mysql_string_converter->convert_to_buffer(
175-
nullptr, low_test_text, MAX_BUFFER_LENGTH, "utf8")) {
175+
nullptr, low_test_text, MAX_BUFFER_LENGTH, "utf8mb3")) {
176176
WRITE_LOG("NULL as input buffer in Convert to buffer passed.\n");
177177
}
178178
// Convert low string to buffer
179179
if (mysql_service_mysql_string_converter->convert_to_buffer(
180-
low_string, low_test_text, MAX_BUFFER_LENGTH, "utf8")) {
180+
low_string, low_test_text, MAX_BUFFER_LENGTH, "utf8mb3")) {
181181
WRITE_LOG("Convert to buffer failed.\n");
182182
} else {
183183
WRITE_LOG(low_test_text);
@@ -201,7 +201,8 @@ mysql_service_status_t test_string_service_init() {
201201
} else {
202202
WRITE_LOG("Toupper passed:\n");
203203
if (mysql_service_mysql_string_converter->convert_to_buffer(
204-
upper_string, upper_test_text, MAX_BUFFER_LENGTH, "utf8")) {
204+
upper_string, upper_test_text, MAX_BUFFER_LENGTH,
205+
"utf8mb3")) {
205206
WRITE_LOG("Convert to buffer failed.\n");
206207
} else {
207208
WRITE_LOG(upper_test_text);

components/example/test_string_service_charset.cc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ bool test_charset(const char *charset, const char *text, int buff_len) {
161161
*/
162162
mysql_service_status_t test_string_service_init() {
163163
const char *chs_latin1 = "latin1";
164-
const char *chs_utf8 = "utf8";
164+
const char *chs_utf8mb3 = "utf8mb3";
165165
const char *chs_gb18030 = "gb18030";
166166
// const char* charset="utf8mb4";
167167

@@ -180,9 +180,9 @@ mysql_service_status_t test_string_service_init() {
180180

181181
retcode = test_charset(chs_latin1, test_text_eng, TEST_TEXT_LIT_LENGTH);
182182
retcode = test_charset(chs_latin1, test_text_ger, TEST_TEXT_LIT_LENGTH);
183-
retcode = test_charset(chs_utf8, test_text_eng, TEST_TEXT_LIT_LENGTH);
184-
retcode = test_charset(chs_utf8, test_text_ger, TEST_TEXT_LIT_LENGTH);
185-
retcode = test_charset(chs_utf8, test_text_chinese, TEST_TEXT_LIT_LENGTH);
183+
retcode = test_charset(chs_utf8mb3, test_text_eng, TEST_TEXT_LIT_LENGTH);
184+
retcode = test_charset(chs_utf8mb3, test_text_ger, TEST_TEXT_LIT_LENGTH);
185+
retcode = test_charset(chs_utf8mb3, test_text_chinese, TEST_TEXT_LIT_LENGTH);
186186
retcode = test_charset(chs_gb18030, test_text_chinese, TEST_TEXT_LIT_LENGTH);
187187

188188
WRITE_LOG("%s\n", "End of init");

components/example/test_string_service_long.cc

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -85,15 +85,15 @@ mysql_service_status_t test_string_service_init() {
8585
if (mysql_service_mysql_string_converter->convert_from_buffer(
8686
&out_string,
8787
test_text, // its a input buffer
88-
strlen(test_text) + 10, "utf8")) {
88+
strlen(test_text) + 10, "utf8mb3")) {
8989
WRITE_LOG("%s\n",
9090
"Length too high for buffer in convert from buffer: passed.");
9191
}
9292
// Length is zero for buffer in convert from buffer
9393
if (mysql_service_mysql_string_converter->convert_from_buffer(
9494
&out_string,
9595
test_text, // its a input buffer
96-
0, "utf8")) {
96+
0, "utf8mb3")) {
9797
WRITE_LOG("%s\n",
9898
"Length is zero for buffer in convert from buffer: failed.");
9999
} else {
@@ -104,7 +104,7 @@ mysql_service_status_t test_string_service_init() {
104104
if (mysql_service_mysql_string_converter->convert_from_buffer(
105105
&out_string,
106106
test_text, // its a input buffer
107-
strlen(test_text), "utf8")) {
107+
strlen(test_text), "utf8mb3")) {
108108
WRITE_LOG("%s\n", "Convert from buffer failed.");
109109
} else {
110110
uint out_length = 0;
@@ -135,7 +135,7 @@ mysql_service_status_t test_string_service_init() {
135135
WRITE_LOG("%s\n", "Tolower passed:");
136136
// Convert low string to buffer
137137
if (mysql_service_mysql_string_converter->convert_to_buffer(
138-
low_string, low_test_text, MAX_BUFFER_LENGTH, "utf8")) {
138+
low_string, low_test_text, MAX_BUFFER_LENGTH, "utf8mb3")) {
139139
WRITE_LOG("%s\n", "Convert to buffer failed.");
140140
} else {
141141
WRITE_LOG("%s\n", low_test_text);
@@ -154,7 +154,8 @@ mysql_service_status_t test_string_service_init() {
154154
} else {
155155
WRITE_LOG("%s\n", "Toupper passed:");
156156
if (mysql_service_mysql_string_converter->convert_to_buffer(
157-
upper_string, upper_test_text, MAX_BUFFER_LENGTH, "utf8")) {
157+
upper_string, upper_test_text, MAX_BUFFER_LENGTH,
158+
"utf8mb3")) {
158159
WRITE_LOG("%s\n", "Convert to buffer failed.");
159160
} else {
160161
WRITE_LOG("%s\n", upper_test_text);

components/test/table_access/test_table_access.cc

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ const char *common_insert_customer(char * /* out */, size_t num_tables,
7474
size_t ticket;
7575
int rc;
7676

77-
CHARSET_INFO_h utf8 = charset_srv->get_utf8mb4();
77+
CHARSET_INFO_h utf8mb4_h = charset_srv->get_utf8mb4();
7878
MYSQL_THD thd;
7979
current_thd_srv->get(&thd);
8080

@@ -113,7 +113,8 @@ const char *common_insert_customer(char * /* out */, size_t num_tables,
113113
goto cleanup;
114114
}
115115

116-
string_converter_srv->convert_from_buffer(name_value, "John Doe", 8, utf8);
116+
string_converter_srv->convert_from_buffer(name_value, "John Doe", 8,
117+
utf8mb4_h);
117118

118119
if (fa_varchar_srv->set(access, table, NAME_COL, name_value)) {
119120
result = "set(name) failed";
@@ -234,7 +235,7 @@ const char *common_fetch_order(char *out, int order_num) {
234235
size_t ticket_order_line;
235236
int rc;
236237

237-
CHARSET_INFO_h utf8 = charset_srv->get_utf8mb4();
238+
CHARSET_INFO_h utf8mb4_h = charset_srv->get_utf8mb4();
238239
MYSQL_THD thd;
239240
current_thd_srv->get(&thd);
240241

@@ -310,9 +311,9 @@ const char *common_fetch_order(char *out, int order_num) {
310311
goto cleanup_index;
311312
}
312313

313-
string_converter_srv->convert_to_buffer(order_comment_value,
314-
buff_order_comment,
315-
sizeof(buff_order_comment), utf8);
314+
string_converter_srv->convert_to_buffer(
315+
order_comment_value, buff_order_comment, sizeof(buff_order_comment),
316+
utf8mb4_h);
316317
}
317318

318319
if (ta_index_srv->end(access, table_order, order_pk)) {
@@ -572,7 +573,7 @@ const char *test_index_fetch_bfas(char *out) {
572573
return common_index(out, false, 100, 1005, 5, 5, 5);
573574
}
574575

575-
const char *test_math_insert(char * /* out */, bool utf8mb4) {
576+
const char *test_math_insert(char * /* out */, bool is_utf8mb4) {
576577
static const char *schema_name =
577578
"\xE2" /* for each */
578579
"\x88"
@@ -639,7 +640,7 @@ const char *test_math_insert(char * /* out */, bool utf8mb4) {
639640
const char *table_name;
640641
size_t table_name_length;
641642

642-
CHARSET_INFO_h utf8 = charset_srv->get_utf8mb4();
643+
CHARSET_INFO_h utf8mb4_h = charset_srv->get_utf8mb4();
643644
MYSQL_THD thd;
644645
current_thd_srv->get(&thd);
645646

@@ -651,7 +652,7 @@ const char *test_math_insert(char * /* out */, bool utf8mb4) {
651652
goto cleanup;
652653
}
653654

654-
if (utf8mb4) {
655+
if (is_utf8mb4) {
655656
table_name = table_name_utf8mb4;
656657
table_name_length = table_name_utf8mb4_length;
657658
} else {
@@ -698,7 +699,7 @@ const char *test_math_insert(char * /* out */, bool utf8mb4) {
698699
ptr += column_name_length;
699700

700701
string_converter_srv->convert_from_buffer(row_value, value_buffer,
701-
value_length, utf8);
702+
value_length, utf8mb4_h);
702703

703704
if (fa_varchar_srv->set(access, table, 0, row_value)) {
704705
result = "set() failed";

components/validate_password/validate_password_imp.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ static int validate_dictionary_check(my_h_string password) {
244244
return (0);
245245

246246
if (mysql_service_mysql_string_converter->convert_to_buffer(
247-
lower_string_handle, buffer, MAX_PASSWORD_LENGTH, "utf8")) {
247+
lower_string_handle, buffer, MAX_PASSWORD_LENGTH, "utf8mb3")) {
248248
LogEvent()
249249
.type(LOG_TYPE_ERROR)
250250
.prio(ERROR_LEVEL)
@@ -374,7 +374,7 @@ static bool is_valid_password_by_user_name(void *thd, my_h_string password) {
374374
}
375375

376376
if (mysql_service_mysql_string_converter->convert_to_buffer(
377-
password, buffer, MAX_PASSWORD_LENGTH, "utf8")) {
377+
password, buffer, MAX_PASSWORD_LENGTH, "utf8mb3")) {
378378
LogEvent()
379379
.type(LOG_TYPE_ERROR)
380380
.prio(WARNING_LEVEL)

mysql-test/r/component_string_service_charset.result

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Get char with index > strlen passed.
4747
Get byte with index strlen failed.
4848
Destroy string object.
4949
-------------------------------------------------------------
50-
Charset: utf8
50+
Charset: utf8mb3
5151
Greetings from beautiful Austria at March, 9th!
5252
Destroy string object.
5353
Convert from buffer passed.
@@ -62,7 +62,7 @@ Get char with index > strlen passed.
6262
Get byte with index strlen passed.
6363
Destroy string object.
6464
-------------------------------------------------------------
65-
Charset: utf8
65+
Charset: utf8mb3
6666
Grüße aus dem schönen Österreich am 9. März!
6767
Destroy string object.
6868
Convert from buffer passed.
@@ -77,7 +77,7 @@ Get char with index > strlen passed.
7777
Get byte with index strlen failed.
7878
Destroy string object.
7979
-------------------------------------------------------------
80-
Charset: utf8
80+
Charset: utf8mb3
8181
遥想公瑾当年,小乔初嫁了,雄姿英发
8282
Destroy string object.
8383
Convert from buffer passed.

plugin/password_validation/validate_password.cc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -220,8 +220,8 @@ static int validate_dictionary_check(mysql_string_handle password) {
220220
mysql_string_handle lower_string_handle = mysql_string_to_lowercase(password);
221221
if (!(buffer = (char *)malloc(MAX_PASSWORD_LENGTH))) return (0);
222222

223-
length = mysql_string_convert_to_char_ptr(lower_string_handle, "utf8", buffer,
224-
MAX_PASSWORD_LENGTH, &error);
223+
length = mysql_string_convert_to_char_ptr(
224+
lower_string_handle, "utf8mb3", buffer, MAX_PASSWORD_LENGTH, &error);
225225
/* Free the allocated string */
226226
mysql_string_free(lower_string_handle);
227227
int substr_pos = 0;
@@ -342,7 +342,7 @@ static bool is_valid_password_by_user_name(mysql_string_handle password) {
342342
return false;
343343
}
344344

345-
length = mysql_string_convert_to_char_ptr(password, "utf8", buffer,
345+
length = mysql_string_convert_to_char_ptr(password, "utf8mb3", buffer,
346346
MAX_PASSWORD_LENGTH, &error);
347347

348348
return is_valid_user(ctx, buffer, length, "user", "login user name") &&

sql/server_component/mysql_string_service.cc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ DEFINE_BOOL_METHOD(mysql_string_imp::toupper,
134134
DEFINE_BOOL_METHOD(mysql_string_imp::convert_from_buffer,
135135
(my_h_string * out_string, const char *in_buffer,
136136
uint64 length, const char *charset_name)) {
137+
assert(0 != strcmp(charset_name, "utf8"));
137138
try {
138139
if (in_buffer == nullptr || length == 0 || length > strlen(in_buffer))
139140
return true;
@@ -154,6 +155,7 @@ DEFINE_BOOL_METHOD(mysql_string_imp::convert_from_buffer,
154155
DEFINE_BOOL_METHOD(mysql_string_imp::convert_to_buffer,
155156
(my_h_string in_string, char *out_buffer, uint64 length,
156157
const char *charset_name)) {
158+
assert(0 != strcmp(charset_name, "utf8"));
157159
try {
158160
String *str = reinterpret_cast<String *>(in_string);
159161
uint error;

0 commit comments

Comments
 (0)