mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
1bbe8c5e0f
MDEV-20589: Server still crashes in Field::set_warning_truncated_wrong_value - Use dbug_tmp_use_all_columns() to mark that all fields can be used - Remove field->is_stat_field (not needed) - Remove extra arguments to Field::clone() that should not be there - Safety fix for Field::set_warning_truncated_wrong_value() to not crash if table is zero in production builds (We have got crashes several times here so better to be safe than sorry). - Threat wrong character string warnings identical to other field conversion warnings. This removes some warnings we before got from internal conversion errors. There is no good reason why a user would get an error in case of 'key_field='wrong-utf8-string' but not for 'field=wrong-utf8-string'. The old code could also easily give thousands of no-sence warnings for one single statement.
41 lines
1.3 KiB
Text
41 lines
1.3 KiB
Text
SET DEBUG_SYNC = 'dispatch_command_before_set_time WAIT_FOR do_set_time';
|
|
SELECT 1;
|
|
connect con1,localhost,root,,;
|
|
SET DEBUG_SYNC = 'fill_schema_processlist_after_unow SIGNAL do_set_time WAIT_FOR fill_schema_proceed';
|
|
SELECT ID, TIME,TIME_MS FROM INFORMATION_SCHEMA.PROCESSLIST WHERE CONCAT(":", ID, ":") = ":TID:";
|
|
connection default;
|
|
1
|
|
1
|
|
SET DEBUG_SYNC = 'now SIGNAL fill_schema_proceed';
|
|
connection con1;
|
|
ID TIME TIME_MS
|
|
TID 0 0.000
|
|
set debug_sync='reset';
|
|
connection default;
|
|
connection con1;
|
|
SET debug_dbug="+d,sleep_inject_query_done_debug_sync";
|
|
select sleep(5);
|
|
sleep(5)
|
|
0
|
|
connection default;
|
|
SET DEBUG_SYNC = 'now WAIT_FOR query_done';
|
|
select command, time < 5 from information_schema.processlist where id != connection_id();
|
|
command time < 5
|
|
Sleep 1
|
|
disconnect con1;
|
|
set debug_sync='reset';
|
|
connection default;
|
|
#
|
|
# 10.1 tests
|
|
#
|
|
#
|
|
# MDEV-7807 information_schema.processlist truncates queries with binary strings
|
|
#
|
|
SET NAMES utf8;
|
|
SELECT INFO, INFO_BINARY, 'xxx😎yyy' AS utf8mb4_string FROM INFORMATION_SCHEMA.PROCESSLIST WHERE INFO LIKE '%xxx%yyy%';
|
|
INFO SELECT INFO, INFO_BINARY, 'xxx????yyy' AS utf8mb4_string FROM INFORMATION_SCHEMA.PROCESSLIST WHERE INFO LIKE '%xxx%yyy%'
|
|
INFO_BINARY SELECT INFO, INFO_BINARY, 'xxx😎yyy' AS utf8mb4_string FROM INFORMATION_SCHEMA.PROCESSLIST WHERE INFO LIKE '%xxx%yyy%'
|
|
utf8mb4_string xxx😎yyy
|
|
#
|
|
# End of 10.1 tests
|
|
#
|