mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
0812d0de8d
Problem: DECIMAL columns in I_S must be explicitly set of some value. I_S columns do not have `DEFAULT 0` (after MDEV-18918), so during restore_record() their record fragments pointed by Field::ptr are initialized to zero bytes 0x00. But an array of 0x00's is not a valid binary DECIMAL value. So val_decimal() called for such Field_new_decimal generated a warning when seeing a wrong binary encoded DECIMAL value in the record. Fix: Explicitly setting INFORMATION_SCHEMA.PROCESSLIST.PROGRESS to the decimal value of 0 if no progress information is available.
62 lines
1.8 KiB
Text
62 lines
1.8 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;
|
|
connection default;
|
|
set debug_sync='reset';
|
|
End of 5.5 tests
|
|
#
|
|
# 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
|
|
#
|
|
#
|
|
# Start of 10.3 tests
|
|
#
|
|
#
|
|
# MDEV-28131 Unexpected warning while selecting from information_schema.processlist
|
|
#
|
|
connect conn1, localhost, root,,;
|
|
connection conn1;
|
|
SELECT SLEEP(1000);
|
|
connection default;
|
|
SELECT progress FROM information_schema.processlist WHERE info='SELECT SLEEP(1000)';
|
|
progress
|
|
0.000
|
|
connection conn1;
|
|
Got one of the listed errors
|
|
connection default;
|
|
disconnect conn1;
|
|
#
|
|
# End of 10.3 tests
|
|
#
|