1
0
mirror of https://github.com/MariaDB/server.git synced 2026-10-23 18:49:29 +03:00
Files
mariadb/sql
Pekka Lampio cd6f7072ed MDEV-40018: SHOW SLAVE STATUS allocates ~1.7 MB per call due to oversized VARCHAR columns
SHOW SLAVE STATUS / SHOW ALL SLAVES STATUS / INFORMATION_SCHEMA.SLAVE_STATUS
are all served from the ST_FIELD_INFO array slave_status_info[]. Thirteen of
its columns (Replicate_Do_DB, Replicate_Ignore_DB, Replicate_Do_Table,
Replicate_Ignore_Table, Replicate_Wild_Do_Table, Replicate_Wild_Ignore_Table,
Replicate_Ignore_Server_Ids, Gtid_IO_Pos, Replicate_Do_Domain_Ids,
Replicate_Ignore_Domain_Ids, Slave_SQL_Running_State, Replicate_Rewrite_DB,
and Gtid_Slave_Pos) used the no-argument Varchar() helper, which defaults to
MAX_FIELD_VARCHARLENGTH/3 characters. With utf8mb3, that reserves 65532
bytes per column in the temporary table's record buffer regardless of the
actual value size, and the record is allocated twice, accounting for the
reported ~1.7 MB allocated on every call.

Change these columns to Blob(MAX_FIELD_VARCHARLENGTH), which keeps the same
maximum capacity but stores only a pointer and length in the record. Values,
NULL-ability, and column order are unchanged; the client-visible column type
for these columns changes from VARCHAR to BLOB.

mysql-test/suite/funcs_1/r/is_columns_is.result is updated to match, since
it asserts on INFORMATION_SCHEMA.COLUMNS metadata for these columns.

Assisted-By: Claude AI
2026-10-14 16:11:01 +03:00
..
2026-06-15 16:53:03 +02:00
2025-10-25 00:19:11 +07:00
…
2026-10-07 22:10:46 +02:00
2025-07-28 21:29:29 +02:00
2024-11-05 14:00:48 -08:00
2026-07-30 11:41:55 +02:00
2025-09-29 18:25:09 +03:00
…
2025-03-14 12:08:56 +04:00
2025-03-14 12:08:56 +04:00
…
2024-12-02 11:35:34 +02:00
2024-12-02 17:51:17 +02:00
2019-05-14 17:18:46 +03:00
2026-01-31 14:08:54 +01:00
2019-05-14 17:18:46 +03:00
2024-10-30 15:11:17 +01:00
…
2026-07-30 11:41:55 +02:00
2026-08-20 08:27:14 +02:00
2024-12-02 11:35:34 +02:00
2026-05-26 21:15:58 +02:00
2026-03-24 09:49:17 +02:00
2026-03-24 09:49:17 +02:00
…
…
2024-11-08 07:17:00 +01:00
2026-05-26 21:15:58 +02:00
2026-06-15 16:53:03 +02:00
2026-05-26 21:15:58 +02:00
2026-10-07 22:10:46 +02:00
2026-05-26 21:15:58 +02:00
2026-07-29 12:27:46 +02:00
2024-11-29 13:43:17 +02:00
2019-05-19 20:55:37 +02:00
…
2026-08-20 08:27:14 +02:00
2026-08-20 08:27:14 +02:00
2024-12-05 10:11:58 +01:00
2026-07-30 11:41:55 +02:00
2026-08-20 08:27:14 +02:00
2026-02-03 14:53:15 +01:00
2026-05-26 21:15:58 +02:00
2026-02-03 14:53:15 +01:00
2026-02-03 14:53:15 +01:00
2026-10-07 22:10:46 +02:00
2026-07-30 11:41:55 +02:00
2026-08-20 08:27:14 +02:00
2026-07-30 11:41:55 +02:00
2026-10-07 22:10:46 +02:00
2026-06-29 07:40:04 +03:00
2026-03-24 09:49:17 +02:00
2026-01-31 14:08:54 +01:00
2026-04-01 15:03:59 +03:00
2026-10-07 22:10:46 +02:00
2026-10-07 22:10:46 +02:00
2026-01-08 12:02:45 +01:00
2026-07-30 11:41:55 +02:00
2024-07-08 22:40:16 +02:00
2026-05-26 21:15:58 +02:00
2026-08-20 08:27:14 +02:00
2026-08-20 08:27:14 +02:00
2026-08-20 08:27:14 +02:00
2026-05-26 21:15:58 +02:00
…
2025-03-14 12:08:56 +04:00
2026-08-20 08:27:14 +02:00
2026-04-02 09:15:17 +03:00
…
2024-10-03 15:59:20 +10:00
…
2025-03-14 12:08:56 +04:00
2026-05-26 21:15:58 +02:00
2026-05-26 21:15:58 +02:00
2026-10-07 22:10:46 +02:00
2026-10-07 22:10:46 +02:00
2026-07-29 12:27:46 +02:00
2026-02-06 17:46:51 +01:00
2026-08-20 08:27:14 +02:00
2026-02-03 14:53:15 +01:00
2026-10-07 22:10:46 +02:00
2026-08-20 08:27:14 +02:00
2026-07-28 13:14:38 +02:00
2026-07-30 11:41:55 +02:00
2026-05-08 08:00:01 +02:00
2019-05-13 17:54:04 +03:00
2026-08-20 08:27:14 +02:00
2026-01-31 14:08:54 +01:00
2026-05-26 21:15:58 +02:00
2026-02-03 14:53:15 +01:00
2025-09-29 18:25:09 +03:00
2024-07-22 15:14:50 +02:00
2026-05-26 21:15:58 +02:00
2026-05-26 21:15:58 +02:00
2026-05-26 21:15:58 +02:00
2026-06-15 16:53:03 +02:00
2026-07-30 11:41:55 +02:00
2026-06-15 16:53:03 +02:00
2026-08-20 08:27:14 +02:00
2026-08-20 08:27:14 +02:00
2026-06-15 16:53:03 +02:00
2026-06-15 16:53:03 +02:00
2019-05-14 17:18:46 +03:00
2025-03-14 12:08:56 +04:00
2026-04-02 09:15:17 +03:00
2026-08-20 08:27:14 +02:00
2026-08-20 08:27:14 +02:00
2026-02-06 17:46:50 +01:00
2025-11-04 12:39:27 +01:00
2026-10-07 22:10:46 +02:00
2026-07-30 11:41:55 +02:00
2026-05-26 21:15:58 +02:00
2026-07-30 11:41:55 +02:00
2026-07-30 11:41:55 +02:00
2026-07-30 11:41:55 +02:00
2026-10-07 22:10:46 +02:00
2026-02-06 17:46:51 +01:00
2026-08-20 08:27:14 +02:00
2025-09-04 18:08:39 +03:00
2026-08-20 08:27:14 +02:00
2025-05-03 12:06:36 +02:00
2026-05-26 21:15:58 +02:00
2024-06-24 13:09:47 +03:00
2021-05-19 22:27:27 +02:00
2026-07-30 11:41:55 +02:00
2026-07-30 11:41:55 +02:00
2026-06-15 15:15:10 +02:00
2026-06-15 15:15:10 +02:00
2026-01-08 21:41:40 +01:00
2026-10-07 22:10:46 +02:00
2026-05-26 21:15:58 +02:00
2019-05-11 21:29:06 +03:00
2026-04-02 09:15:17 +03:00
2026-10-07 22:10:46 +02:00
2026-01-31 14:08:54 +01:00
2026-01-05 20:34:44 +01:00
2026-07-30 11:41:55 +02:00
2026-03-24 09:49:17 +02:00
2026-06-29 07:40:04 +03:00
2026-01-08 12:02:45 +01:00
2026-07-30 11:41:55 +02:00
2026-07-30 11:41:55 +02:00
2026-07-30 11:41:55 +02:00
2026-02-06 17:46:51 +01:00
2026-03-17 18:57:42 +01:00
2026-10-07 22:10:46 +02:00
2026-08-20 08:27:14 +02:00
2021-06-30 18:41:46 +03:00
…
2026-02-06 17:46:51 +01:00
2026-02-06 17:46:51 +01:00
2026-04-02 09:15:17 +03:00
2025-09-29 18:25:09 +03:00
2024-06-27 10:26:09 +03:00
2025-08-04 12:05:53 +02:00
2024-12-02 17:51:17 +02:00
2026-07-30 11:41:55 +02:00
2025-09-19 12:31:14 +03:00
2026-07-30 11:41:55 +02:00
2026-05-26 21:15:58 +02:00
2025-03-14 12:08:56 +04:00
2026-08-20 08:27:14 +02:00
2026-08-20 08:27:14 +02:00
2024-07-03 12:45:30 +02:00
2026-04-17 09:31:38 +10:00
2026-10-07 22:10:46 +02:00
2026-07-30 11:41:55 +02:00
2024-12-02 17:51:17 +02:00
2026-08-20 08:27:14 +02:00
2026-07-30 11:41:55 +02:00
2026-08-20 08:27:14 +02:00
2026-10-07 22:10:46 +02:00
2026-10-07 22:10:46 +02:00
2026-06-15 16:53:03 +02:00
2026-05-26 21:15:58 +02:00
2026-10-13 12:48:57 +03:00
2026-08-20 08:27:14 +02:00
2026-03-24 09:49:17 +02:00
2026-10-07 22:10:46 +02:00
2026-10-07 22:10:46 +02:00
2026-10-07 22:10:46 +02:00
2026-07-30 11:41:55 +02:00
2026-08-19 08:40:05 +02:00
2026-07-28 13:14:38 +02:00
2026-07-30 11:41:55 +02:00
2026-02-07 22:12:32 +01:00
2025-04-29 11:18:00 +10:00
2026-05-26 21:15:58 +02:00
…
2026-05-08 08:11:03 +02:00
2026-08-20 08:27:14 +02:00
2026-07-30 11:41:55 +02:00
2025-03-14 12:08:56 +04:00
2024-12-02 17:51:17 +02:00
2026-08-20 08:27:14 +02:00
2026-07-30 11:41:55 +02:00
2026-07-30 11:41:55 +02:00
2022-10-25 14:25:42 +03:00
2026-06-15 16:53:03 +02:00
2026-08-20 08:27:14 +02:00
2026-08-20 08:27:14 +02:00
2026-08-20 08:27:14 +02:00
2026-10-07 22:10:46 +02:00
2026-08-20 08:27:14 +02:00
2026-08-20 08:27:14 +02:00
2026-08-20 08:27:14 +02:00
2026-03-24 09:49:17 +02:00
2025-09-04 18:08:39 +03:00
2024-06-24 13:09:47 +03:00
2025-03-14 12:08:56 +04:00
2024-12-02 17:51:17 +02:00
2024-12-02 11:35:34 +02:00
2026-08-20 08:27:14 +02:00
2026-10-07 22:10:46 +02:00
2026-08-20 08:27:14 +02:00
2025-03-14 12:08:56 +04:00
2026-06-15 16:53:03 +02:00
2025-11-28 12:56:27 +02:00
2024-06-27 10:26:09 +03:00
2026-08-20 08:27:14 +02:00
2026-05-26 21:15:58 +02:00
2026-06-21 15:32:20 +02:00
2026-08-19 08:40:05 +02:00
2026-06-15 16:53:03 +02:00
2026-04-02 09:15:17 +03:00
2024-10-03 13:24:43 +03:00
2024-09-09 13:50:38 +03:00
2026-08-20 08:27:14 +02:00
2026-02-07 22:12:32 +01:00
2026-07-29 12:27:46 +02:00
2026-07-29 12:27:46 +02:00
2026-08-20 08:27:14 +02:00
2026-04-01 10:49:05 +03:00
2025-07-31 20:55:47 +02:00